From 0ab3dba8023e1aa01d551c5aa1b2ed0f9ed04872 Mon Sep 17 00:00:00 2001 From: bold Date: Mon, 18 Mar 2019 04:19:57 +0800 Subject: [PATCH 001/373] Add shabal hash --- Cargo.toml | 1 + README.md | 1 + shabal/Cargo.toml | 26 + shabal/LICENSE-APACHE | 201 +++++++ shabal/LICENSE-MIT | 27 + shabal/README.md | 40 ++ shabal/benches/shabal.rs | 7 + shabal/examples/shabal256sum.rs | 49 ++ shabal/examples/shabal512sum.rs | 49 ++ shabal/src/consts.rs | 264 +++++++++ shabal/src/lib.rs | 54 ++ shabal/src/shabal.rs | 503 ++++++++++++++++++ shabal/tests/data/shabal192.blb | Bin 0 -> 2048 bytes shabal/tests/data/shabal192_one_million_a.bin | 1 + shabal/tests/data/shabal224.blb | Bin 0 -> 2168 bytes shabal/tests/data/shabal224_one_million_a.bin | 1 + shabal/tests/data/shabal256.blb | Bin 0 -> 2288 bytes shabal/tests/data/shabal256_one_million_a.bin | 2 + shabal/tests/data/shabal384.blb | Bin 0 -> 2768 bytes shabal/tests/data/shabal384_one_million_a.bin | 1 + shabal/tests/data/shabal512.blb | Bin 0 -> 3248 bytes shabal/tests/data/shabal512_one_million_a.bin | Bin 0 -> 64 bytes shabal/tests/lib.rs | 42 ++ 23 files changed, 1269 insertions(+) create mode 100644 shabal/Cargo.toml create mode 100644 shabal/LICENSE-APACHE create mode 100644 shabal/LICENSE-MIT create mode 100644 shabal/README.md create mode 100644 shabal/benches/shabal.rs create mode 100644 shabal/examples/shabal256sum.rs create mode 100644 shabal/examples/shabal512sum.rs create mode 100644 shabal/src/consts.rs create mode 100644 shabal/src/lib.rs create mode 100644 shabal/src/shabal.rs create mode 100644 shabal/tests/data/shabal192.blb create mode 100644 shabal/tests/data/shabal192_one_million_a.bin create mode 100644 shabal/tests/data/shabal224.blb create mode 100644 shabal/tests/data/shabal224_one_million_a.bin create mode 100644 shabal/tests/data/shabal256.blb create mode 100644 shabal/tests/data/shabal256_one_million_a.bin create mode 100644 shabal/tests/data/shabal384.blb create mode 100644 shabal/tests/data/shabal384_one_million_a.bin create mode 100644 shabal/tests/data/shabal512.blb create mode 100644 shabal/tests/data/shabal512_one_million_a.bin create mode 100644 shabal/tests/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 4c70e3dd2..f46794bd6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ members = [ "sha1", "sha2", "sha3", + "shabal", "streebog", "whirlpool", ] diff --git a/README.md b/README.md index 1999fba23..4eecbad99 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ BLAKE2, SHA-2 or SHA-3. | [SHA-1](https://en.wikipedia.org/wiki/SHA-1) [:exclamation:](#crate-names) | | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | :broken_heart: | | [SHA-2](https://en.wikipedia.org/wiki/SHA-2) | | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | :green_heart: | | [SHA-3](https://en.wikipedia.org/wiki/SHA-3) | Keccak | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | :green_heart: | +| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal.svg)](https://docs.rs/shabal) | :green_heart: | | [Streebog](https://en.wikipedia.org/wiki/Streebog) | GOST R 34.11-2012 | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | :yellow_heart: | | [Whirlpool](https://en.wikipedia.org/wiki/Whirlpool_(cryptography)) | | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | :green_heart: | diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml new file mode 100644 index 000000000..82242a883 --- /dev/null +++ b/shabal/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "shabal" +version = "0.2.0" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +description = "Shabal hash functions" +documentation = "https://docs.rs/shabal" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "shabal", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.8" +block-buffer = "0.7" +opaque-debug = "0.2" + +[dev-dependencies] +digest = { version = "0.8", features = ["dev"] } +hex-literal = "0.1" + +[features] +default = ["std"] +std = ["digest/std"] + +[badges] +travis-ci = { repository = "RustCrypto/hashes" } \ No newline at end of file diff --git a/shabal/LICENSE-APACHE b/shabal/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/shabal/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/shabal/LICENSE-MIT b/shabal/LICENSE-MIT new file mode 100644 index 000000000..66cf75563 --- /dev/null +++ b/shabal/LICENSE-MIT @@ -0,0 +1,27 @@ +Copyright (c) 2006-2009 Graydon Hoare +Copyright (c) 2009-2013 Mozilla Foundation +Copyright (c) 2016 Artyom Pavlov + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/shabal/README.md b/shabal/README.md new file mode 100644 index 000000000..820e9b74a --- /dev/null +++ b/shabal/README.md @@ -0,0 +1,40 @@ +[![Build Status](https://travis-ci.org/spebern/shabal-rs.svg?branch=master)](https://travis-ci.org/spebern/shabal-rs) [![dependency status](https://deps.rs/repo/github/spebern/shabal-rs/status.svg)](https://deps.rs/repo/github/spebern/shabal-rs) + +# shabal + +An implementation of the [Shabal][1] cryptographic hash algorithm. + +There are 5 standard algorithms specified in the Shabal standard: + +* `Shabal192`, which is the `Shabal` algorithm with the result truncated to 192 bits +* `Shabal224`, which is the `Shabal` algorithm with the result truncated to 224 bits +* `Shabal256`, which is the `Shabal` algorithm with the result truncated to 256 bits. +* `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. +* `Shabal512`, which is the `Shabal` algorithm with the result not truncated. + +There is a single Shabal algorithm. All variants have different intialisation and apart +Shabal512 truncate the result. + +## Usage + +```rust +use shabal::{Shabal256, Digest}; + +// create a Shabal256 hasher instance +let mut hasher = Shabal256::new(); + +// process input message +hasher.input(b"helloworld"); + +// acquire hash digest in the form of GenericArray, +// which in this case is equivalent to [u8; 32] +let result = hasher.result(); +assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); +``` + +Also see [RustCrypto/hashes][2] readme. + +[1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[2]: https://github.com/RustCrypto/hashes + +License: MIT OR Apache-2.0 diff --git a/shabal/benches/shabal.rs b/shabal/benches/shabal.rs new file mode 100644 index 000000000..6d04faebe --- /dev/null +++ b/shabal/benches/shabal.rs @@ -0,0 +1,7 @@ +#![no_std] +#![feature(test)] +#[macro_use] +extern crate digest; +extern crate shabal; + +bench!(shabal::Shabal256); diff --git a/shabal/examples/shabal256sum.rs b/shabal/examples/shabal256sum.rs new file mode 100644 index 000000000..88621a38a --- /dev/null +++ b/shabal/examples/shabal256sum.rs @@ -0,0 +1,49 @@ +extern crate shabal; + +use shabal::{Digest, Shabal256}; +use std::env; +use std::fs; +use std::io::{self, Read}; + +const BUFFER_SIZE: usize = 1024; + +/// Print digest result as hex string and name pair +fn print_result(sum: &[u8], name: &str) { + for byte in sum { + print!("{:02x}", byte); + } + println!("\t{}", name); +} + +/// Compute digest value for given `Reader` and print it +/// On any error simply return without doing anything +fn process(reader: &mut R, name: &str) { + let mut sh = D::default(); + let mut buffer = [0u8; BUFFER_SIZE]; + loop { + let n = match reader.read(&mut buffer) { + Ok(n) => n, + Err(_) => return, + }; + sh.input(&buffer[..n]); + if n == 0 || n < BUFFER_SIZE { + break; + } + } + print_result(&sh.result(), name); +} + +fn main() { + let args = env::args(); + // Process files listed in command line arguments one by one + // If no files provided process input from stdin + if args.len() > 1 { + for path in args.skip(1) { + if let Ok(mut file) = fs::File::open(&path) { + process::(&mut file, &path); + } + } + } else { + process::(&mut io::stdin(), "-"); + } +} diff --git a/shabal/examples/shabal512sum.rs b/shabal/examples/shabal512sum.rs new file mode 100644 index 000000000..f280652a1 --- /dev/null +++ b/shabal/examples/shabal512sum.rs @@ -0,0 +1,49 @@ +extern crate shabal; + +use shabal::{Digest, Shabal512}; +use std::env; +use std::fs; +use std::io::{self, Read}; + +const BUFFER_SIZE: usize = 1024; + +/// Print digest result as hex string and name pair +fn print_result(sum: &[u8], name: &str) { + for byte in sum { + print!("{:02x}", byte); + } + println!("\t{}", name); +} + +/// Compute digest value for given `Reader` and print it +/// On any error simply return without doing anything +fn process(reader: &mut R, name: &str) { + let mut sh = D::default(); + let mut buffer = [0u8; BUFFER_SIZE]; + loop { + let n = match reader.read(&mut buffer) { + Ok(n) => n, + Err(_) => return, + }; + sh.input(&buffer[..n]); + if n == 0 || n < BUFFER_SIZE { + break; + } + } + print_result(&sh.result(), name); +} + +fn main() { + let args = env::args(); + // Process files listed in command line arguments one by one + // If no files provided process input from stdin + if args.len() > 1 { + for path in args.skip(1) { + if let Ok(mut file) = fs::File::open(&path) { + process::(&mut file, &path); + } + } + } else { + process::(&mut io::stdin(), "-"); + } +} diff --git a/shabal/src/consts.rs b/shabal/src/consts.rs new file mode 100644 index 000000000..27fddcdbe --- /dev/null +++ b/shabal/src/consts.rs @@ -0,0 +1,264 @@ +pub const A_INIT_512: [u32; 12] = [ + 0x2072_8DFD, + 0x46C0_BD53, + 0xE782_B699, + 0x5530_4632, + 0x71B4_EF90, + 0x0EA9_E82C, + 0xDBB9_30F1, + 0xFAD0_6B8B, + 0xBE0C_AE40, + 0x8BD1_4410, + 0x76D2_ADAC, + 0x28AC_AB7F, +]; + +pub const B_INIT_512: [u32; 16] = [ + 0xC109_9CB7, + 0x07B3_85F3, + 0xE744_2C26, + 0xCC8A_D640, + 0xEB6F_56C7, + 0x1EA8_1AA9, + 0x73B9_D314, + 0x1DE8_5D08, + 0x4891_0A5A, + 0x893B_22DB, + 0xC5A0_DF44, + 0xBBC4_324E, + 0x72D2_F240, + 0x7594_1D99, + 0x6D8B_DE82, + 0xA1A7_502B, +]; + +pub const C_INIT_512: [u32; 16] = [ + 0xD9BF_68D1, + 0x58BA_D750, + 0x5602_8CB2, + 0x8134_F359, + 0xB5D4_69D8, + 0x941A_8CC2, + 0x418B_2A6E, + 0x0405_2780, + 0x7F07_D787, + 0x5194_358F, + 0x3C60_D665, + 0xBE97_D79A, + 0x950C_3434, + 0xAED9_A06D, + 0x2537_DC8D, + 0x7CDB_5969, +]; + +pub const A_INIT_384: [u32; 12] = [ + 0xC8FC_A331, + 0xE55C_504E, + 0x003E_BF26, + 0xBB6B_8D83, + 0x7B04_48C1, + 0x41B8_2789, + 0x0A7C_9601, + 0x8D65_9CFF, + 0xB6E2_673E, + 0xCA54_C77B, + 0x1460_FD7E, + 0x3FCB_8F2D, +]; + +pub const B_INIT_384: [u32; 16] = [ + 0x5272_91FC, + 0x2A16_455F, + 0x78E6_27E5, + 0x944F_169F, + 0x1CA6_F016, + 0xA854_EA25, + 0x8DB9_8ABE, + 0xF2C6_2641, + 0x3011_7DCB, + 0xCF5C_4309, + 0x9371_1A25, + 0xF9F6_71B8, + 0xB01D_2116, + 0x333F_4B89, + 0xB285_D165, + 0x8682_9B36, +]; + +pub const C_INIT_384: [u32; 16] = [ + 0xF764_B11A, + 0x7617_2146, + 0xCEF6_934D, + 0xC6D2_8399, + 0xFE09_5F61, + 0x5E60_18B4, + 0x5048_ECF5, + 0x5135_3261, + 0x6E6E_36DC, + 0x6313_0DAD, + 0xA9C6_9BD6, + 0x1E90_EA0C, + 0x7C35_073B, + 0x28D9_5E6D, + 0xAA34_0E0D, + 0xCB3D_EE70, +]; + +pub const A_INIT_256: [u32; 12] = [ + 0x52F8_4552, + 0xE54B_7999, + 0x2D8E_E3EC, + 0xB964_5191, + 0xE007_8B86, + 0xBB7C_44C9, + 0xD2B5_C1CA, + 0xB0D2_EB8C, + 0x14CE_5A45, + 0x22AF_50DC, + 0xEFFD_BC6B, + 0xEB21_B74A, +]; + +pub const B_INIT_256: [u32; 16] = [ + 0xB555_C6EE, + 0x3E71_0596, + 0xA72A_652F, + 0x9301_515F, + 0xDA28_C1FA, + 0x696F_D868, + 0x9CB6_BF72, + 0x0AFE_4002, + 0xA6E0_3615, + 0x5138_C1D4, + 0xBE21_6306, + 0xB38B_8890, + 0x3EA8_B96B, + 0x3299_ACE4, + 0x3092_4DD4, + 0x55CB_34A5, +]; + +pub const C_INIT_256: [u32; 16] = [ + 0xB405_F031, + 0xC423_3EBA, + 0xB373_3979, + 0xC0DD_9D55, + 0xC51C_28AE, + 0xA327_B8E1, + 0x56C5_6167, + 0xED61_4433, + 0x88B5_9D60, + 0x60E2_CEBA, + 0x758B_4B8B, + 0x83E8_2A7F, + 0xBC96_8828, + 0xE6E0_0BF7, + 0xBA83_9E55, + 0x9B49_1C60, +]; + +pub const A_INIT_224: [u32; 12] = [ + 0xA520_1467, + 0xA9B8_D94A, + 0xD4CE_D997, + 0x6837_9D7B, + 0xA7FC_73BA, + 0xF1A2_546B, + 0x6067_82BF, + 0xE0BC_FD0F, + 0x2F25_374E, + 0x069A_149F, + 0x5E2D_FF25, + 0xFAEC_F061, +]; + +pub const B_INIT_224: [u32; 16] = [ + 0xEC99_05D8, + 0xF218_50CF, + 0xC0A7_46C8, + 0x21DA_D498, + 0x3515_6EEB, + 0x088C_97F2, + 0x2630_3E40, + 0x8A2D_4FB5, + 0xFEEE_44B6, + 0x8A1E_9573, + 0x7B81_111A, + 0xCBC1_39F0, + 0xA351_3861, + 0x1D2C_362E, + 0x918C_580E, + 0xB58E_1B9C, +]; + +pub const C_INIT_224: [u32; 16] = [ + 0xE4B5_73A1, + 0x4C1A_0880, + 0x1E90_7C51, + 0x0480_7EFD, + 0x3AD8_CDE5, + 0x16B2_1302, + 0x0251_2C53, + 0x2204_CB18, + 0x9940_5F2D, + 0xE5B6_48A1, + 0x70AB_1D43, + 0xA10C_25C2, + 0x16F1_AC05, + 0x38BB_EB56, + 0x9B01_DC60, + 0xB109_6D83, +]; + +pub const A_INIT_192: [u32; 12] = [ + 0xFD74_9ED4, + 0xB798_E530, + 0x3390_4B6F, + 0x46BD_A85E, + 0x0769_34B4, + 0x454B_4058, + 0x77F7_4527, + 0xFB4C_F465, + 0x6293_1DA9, + 0xE778_C8DB, + 0x22B3_998E, + 0xAC15_CFB9, +]; + +pub const B_INIT_192: [u32; 16] = [ + 0x58BC_BAC4, + 0xEC47_A08E, + 0xAEE9_33B2, + 0xDFCB_C824, + 0xA794_4804, + 0xBF65_BDB0, + 0x5A9D_4502, + 0x5997_9AF7, + 0xC5CE_A54E, + 0x4B6B_8150, + 0x16E7_1909, + 0x7D63_2319, + 0x9305_73A0, + 0xF34C_63D1, + 0xCAF9_14B4, + 0xFDD6_612C, +]; + +pub const C_INIT_192: [u32; 16] = [ + 0x6155_0878, + 0x89EF_2B75, + 0xA166_0C46, + 0x7EF3_855B, + 0x7297_B58C, + 0x1BC6_7793, + 0x7FB1_C723, + 0xB66F_C640, + 0x1A48_B71C, + 0xF097_6D17, + 0x088C_E80A, + 0xA454_EDF3, + 0x1C09_6BF4, + 0xAC76_224B, + 0x5215_781C, + 0xCD5D_2669, +]; diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs new file mode 100644 index 000000000..30dfc5703 --- /dev/null +++ b/shabal/src/lib.rs @@ -0,0 +1,54 @@ +//! An implementation of the [Shabal][1] cryptographic hash algorithm. +//! +//! There are 5 standard algorithms specified in the Shabal standard: +//! +//! * `Shabal192`, which is the `Shabal` algorithm with the result truncated to 192 bits +//! * `Shabal224`, which is the `Shabal` algorithm with the result truncated to 224 bits +//! * `Shabal256`, which is the `Shabal` algorithm with the result truncated to 256 bits. +//! * `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. +//! * `Shabal512`, which is the `Shabal` algorithm with the result not truncated. +//! +//! There is a single Shabal algorithm. All variants have different intialisation and apart +//! Shabal512 truncate the result. +//! +//! # Usage +//! +//! ```rust +//! # #[macro_use] extern crate hex_literal; +//! # extern crate shabal; +//! # fn main() { +//! use shabal::{Shabal256, Digest}; +//! +//! // create a Shabal256 hasher instance +//! let mut hasher = Shabal256::new(); +//! +//! // process input message +//! hasher.input(b"helloworld"); +//! +//! // acquire hash digest in the form of GenericArray, +//! // which in this case is equivalent to [u8; 32] +//! let result = hasher.result(); +//! assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); +//! # } +//! ``` +//! +//! Also see [RustCrypto/hashes][2] readme. +//! +//! [1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +//! [2]: https://github.com/RustCrypto/hashes +#![no_std] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] + +extern crate block_buffer; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; +#[cfg(feature = "std")] +extern crate std; + +mod consts; +mod shabal; + +pub use digest::Digest; +pub use shabal::{Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs new file mode 100644 index 000000000..9f5b0da92 --- /dev/null +++ b/shabal/src/shabal.rs @@ -0,0 +1,503 @@ +use block_buffer::block_padding::Iso7816; +use block_buffer::byteorder::{ByteOrder, LE}; +use block_buffer::BlockBuffer; +use digest::generic_array::typenum::{U24, U28, U32, U48, U64}; +use digest::generic_array::GenericArray; +pub use digest::{impl_write, Digest}; +use digest::{BlockInput, FixedOutput, Input, Reset}; +use opaque_debug::impl_opaque_debug; + +use consts::{ + A_INIT_192, A_INIT_224, A_INIT_256, A_INIT_384, A_INIT_512, B_INIT_192, B_INIT_224, B_INIT_256, + B_INIT_384, B_INIT_512, C_INIT_192, C_INIT_224, C_INIT_256, C_INIT_384, C_INIT_512, +}; + +type BlockSize = U64; +type Block = GenericArray; + +/// A structure that represents that state of a digest computation for the +/// Shabal family of digest functions +#[derive(Clone)] +struct EngineState { + a: [u32; 12], + b: [u32; 16], + c: [u32; 16], + whigh: u32, + wlow: u32, +} + +impl EngineState { + fn new(a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) -> Self { + Self { + a: *a, + b: *b, + c: *c, + wlow: 1, + whigh: 0, + } + } + + fn process_block(&mut self, block: &Block) { + let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + compress(self, block); + } + + fn process_final_block(&mut self, block: &Block) { + let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + compress_final(self, block); + } + + #[inline] + fn add_m(&mut self, m: &[u32; 16]) { + for (b, m) in self.b.iter_mut().zip(m) { + *b = b.wrapping_add(*m); + } + } + + #[inline] + fn sub_m(&mut self, m: &[u32; 16]) { + for (c, m) in self.c.iter_mut().zip(m) { + *c = c.wrapping_sub(*m); + } + } + + #[inline] + fn inc_w(&mut self) { + self.wlow = self.wlow.wrapping_add(1); + if self.wlow == 0 { + self.whigh = self.whigh.wrapping_add(1); + } + } + + #[inline] + fn xor_w(&mut self) { + self.a[0] ^= self.wlow; + self.a[1] ^= self.whigh; + } + + #[inline] + unsafe fn perm(&mut self, m: &[u32; 16]) { + for b in self.b.iter_mut() { + *b = b.wrapping_shl(17) | b.wrapping_shr(15); + } + self.perm_blocks(m); + + let a = &mut self.a; + let c = &self.c; + a[0] = a[0] + .wrapping_add(c[11]) + .wrapping_add(c[15]) + .wrapping_add(c[3]); + a[1] = a[1] + .wrapping_add(c[12]) + .wrapping_add(c[0]) + .wrapping_add(c[4]); + a[2] = a[2] + .wrapping_add(c[13]) + .wrapping_add(c[1]) + .wrapping_add(c[5]); + a[3] = a[3] + .wrapping_add(c[14]) + .wrapping_add(c[2]) + .wrapping_add(c[6]); + a[4] = a[4] + .wrapping_add(c[15]) + .wrapping_add(c[3]) + .wrapping_add(c[7]); + a[5] = a[5] + .wrapping_add(c[0]) + .wrapping_add(c[4]) + .wrapping_add(c[8]); + a[6] = a[6] + .wrapping_add(c[1]) + .wrapping_add(c[5]) + .wrapping_add(c[9]); + a[7] = a[7] + .wrapping_add(c[2]) + .wrapping_add(c[6]) + .wrapping_add(c[10]); + a[8] = a[8] + .wrapping_add(c[3]) + .wrapping_add(c[7]) + .wrapping_add(c[11]); + a[9] = a[9] + .wrapping_add(c[4]) + .wrapping_add(c[8]) + .wrapping_add(c[12]); + a[10] = a[10] + .wrapping_add(c[5]) + .wrapping_add(c[9]) + .wrapping_add(c[13]); + a[11] = a[11] + .wrapping_add(c[6]) + .wrapping_add(c[10]) + .wrapping_add(c[14]); + } + + #[inline] + #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] + fn perm_elt( + &mut self, + xa0: usize, + xa1: usize, + xb0: usize, + xb1: usize, + xb2: usize, + xb3: usize, + xc0: usize, + xm: u32, + ) { + let a = &mut self.a; + let b = &mut self.b; + let xc = self.c[xc0]; + + a[xa0] = (a[xa0] + ^ ((a[xa1].wrapping_shl(15u32) | a[xa1].wrapping_shr(17u32)).wrapping_mul(5u32)) + ^ xc) + .wrapping_mul(3u32) + ^ b[xb1] + ^ (b[xb2] & !b[xb3]) + ^ xm; + b[xb0] = !((b[xb0].wrapping_shl(1) | b[xb0].wrapping_shr(31)) ^ a[xa0]); + } + + #[inline] + unsafe fn perm_blocks(&mut self, m: &[u32; 16]) { + self.perm_elt(0, 11, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(1, 0, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(2, 1, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(3, 2, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(4, 3, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(5, 4, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(6, 5, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(7, 6, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(8, 7, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(9, 8, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(10, 9, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(11, 10, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(0, 11, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(1, 0, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(2, 1, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(3, 2, 15, 12, 8, 5, 9, m[15]); + self.perm_elt(4, 3, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(5, 4, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(6, 5, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(7, 6, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(8, 7, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(9, 8, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(10, 9, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(11, 10, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(0, 11, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(1, 0, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(2, 1, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(3, 2, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(4, 3, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(5, 4, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(6, 5, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(7, 6, 15, 12, 8, 5, 9, m[15]); + self.perm_elt(8, 7, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(9, 8, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(10, 9, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(11, 10, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(0, 11, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(1, 0, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(2, 1, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(3, 2, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(4, 3, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(5, 4, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(6, 5, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(7, 6, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(8, 7, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(9, 8, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(10, 9, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(11, 10, 15, 12, 8, 5, 9, m[15]); + } + + #[inline] + fn swap_b_c(&mut self) { + core::mem::swap(&mut self.b, &mut self.c); + } +} + +/// A structure that keeps track of the state of the Shabal operation and +/// contains the logic necessary to perform the final calculations. +#[derive(Clone)] +struct Engine256 { + buffer: BlockBuffer, + state: EngineState, +} + +impl Engine256 { + fn new(a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) -> Engine256 { + Engine256 { + buffer: Default::default(), + state: EngineState::new(a, b, c), + } + } + + fn input(&mut self, input: &[u8]) { + let state = &mut self.state; + self.buffer.input(input, |input| state.process_block(input)); + } + + fn finish(&mut self) { + let state = &mut self.state; + let block = self.buffer.pad_with::().unwrap(); + state.process_final_block(block); + } + + fn reset(&mut self, a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) { + self.state = EngineState::new(a, b, c); + self.buffer.reset(); + } +} + +/// The Shabal hash algorithm with the Shabal-512 initial hash value. +#[derive(Clone)] +pub struct Shabal512 { + engine: Engine256, +} + +impl Default for Shabal512 { + fn default() -> Self { + Self { + engine: Engine256::new(&A_INIT_512, &B_INIT_512, &C_INIT_512), + } + } +} + +impl BlockInput for Shabal512 { + type BlockSize = BlockSize; +} + +impl Input for Shabal512 { + fn input>(&mut self, input: B) { + self.engine.input(input.as_ref()); + } +} + +impl FixedOutput for Shabal512 { + type OutputSize = U64; + + fn fixed_result(mut self) -> GenericArray { + self.engine.finish(); + let mut out = GenericArray::default(); + LE::write_u32_into(&self.engine.state.b[0..16], out.as_mut_slice()); + out + } +} + +impl Reset for Shabal512 { + fn reset(&mut self) { + self.engine.reset(&A_INIT_512, &B_INIT_512, &C_INIT_512); + } +} + +/// The Shabal hash algorithm with the Shabal-384 initial hash value. The result +/// is truncated to 384 bits. +#[derive(Clone)] +pub struct Shabal384 { + engine: Engine256, +} + +impl Default for Shabal384 { + fn default() -> Self { + Self { + engine: Engine256::new(&A_INIT_384, &B_INIT_384, &C_INIT_384), + } + } +} + +impl BlockInput for Shabal384 { + type BlockSize = BlockSize; +} + +impl Input for Shabal384 { + fn input>(&mut self, input: B) { + self.engine.input(input.as_ref()); + } +} + +impl FixedOutput for Shabal384 { + type OutputSize = U48; + + fn fixed_result(mut self) -> GenericArray { + self.engine.finish(); + let mut out = GenericArray::default(); + LE::write_u32_into(&self.engine.state.b[4..16], out.as_mut_slice()); + out + } +} + +impl Reset for Shabal384 { + fn reset(&mut self) { + self.engine.reset(&A_INIT_384, &B_INIT_384, &C_INIT_384); + } +} + +/// The Shabal hash algorithm with the Shabal-256 initial hash value. The result +/// is truncated to 256 bits. +#[derive(Clone)] +pub struct Shabal256 { + engine: Engine256, +} + +impl Default for Shabal256 { + fn default() -> Self { + Self { + engine: Engine256::new(&A_INIT_256, &B_INIT_256, &C_INIT_256), + } + } +} + +impl BlockInput for Shabal256 { + type BlockSize = BlockSize; +} + +impl Input for Shabal256 { + fn input>(&mut self, input: B) { + self.engine.input(input.as_ref()); + } +} + +impl FixedOutput for Shabal256 { + type OutputSize = U32; + + fn fixed_result(mut self) -> GenericArray { + self.engine.finish(); + let mut out = GenericArray::default(); + LE::write_u32_into(&self.engine.state.b[8..16], out.as_mut_slice()); + out + } +} + +impl Reset for Shabal256 { + fn reset(&mut self) { + self.engine.reset(&A_INIT_256, &B_INIT_256, &C_INIT_256); + } +} + +/// The Shabal hash algorithm with the Shabal-224 initial hash value. The result +/// is truncated to 224 bits. +#[derive(Clone)] +pub struct Shabal224 { + engine: Engine256, +} + +impl Default for Shabal224 { + fn default() -> Self { + Self { + engine: Engine256::new(&A_INIT_224, &B_INIT_224, &C_INIT_224), + } + } +} + +impl BlockInput for Shabal224 { + type BlockSize = BlockSize; +} + +impl Input for Shabal224 { + fn input>(&mut self, input: B) { + self.engine.input(input.as_ref()); + } +} + +impl FixedOutput for Shabal224 { + type OutputSize = U28; + + fn fixed_result(mut self) -> GenericArray { + self.engine.finish(); + let mut out = GenericArray::default(); + LE::write_u32_into(&self.engine.state.b[9..16], out.as_mut_slice()); + out + } +} + +impl Reset for Shabal224 { + fn reset(&mut self) { + self.engine.reset(&A_INIT_224, &B_INIT_224, &C_INIT_224); + } +} + +/// The Shabal hash algorithm with the Shabal-192 initial hash value. The result +/// is truncated to 192 bits. +#[derive(Clone)] +pub struct Shabal192 { + engine: Engine256, +} + +impl Default for Shabal192 { + fn default() -> Self { + Self { + engine: Engine256::new(&A_INIT_192, &B_INIT_192, &C_INIT_192), + } + } +} + +impl BlockInput for Shabal192 { + type BlockSize = BlockSize; +} + +impl Input for Shabal192 { + fn input>(&mut self, input: B) { + self.engine.input(input.as_ref()); + } +} + +impl FixedOutput for Shabal192 { + type OutputSize = U24; + + fn fixed_result(mut self) -> GenericArray { + self.engine.finish(); + let mut out = GenericArray::default(); + LE::write_u32_into(&self.engine.state.b[10..16], out.as_mut_slice()); + out + } +} + +impl Reset for Shabal192 { + fn reset(&mut self) { + self.engine.reset(&A_INIT_192, &B_INIT_192, &C_INIT_192); + } +} + +impl_opaque_debug!(Shabal512); +impl_opaque_debug!(Shabal384); +impl_opaque_debug!(Shabal256); +impl_opaque_debug!(Shabal224); +impl_opaque_debug!(Shabal192); + +impl_write!(Shabal512); +impl_write!(Shabal384); +impl_write!(Shabal256); +impl_write!(Shabal224); +impl_write!(Shabal192); + +#[inline] +fn read_m(input: &[u8; 64]) -> [u32; 16] { + let mut m = [0; 16]; + LE::read_u32_into(input, &mut m); + m +} + +fn compress(state: &mut EngineState, input: &[u8; 64]) { + let m = read_m(input); + state.add_m(&m); + state.xor_w(); + unsafe { state.perm(&m) }; + state.sub_m(&m); + state.swap_b_c(); + state.inc_w(); +} + +fn compress_final(state: &mut EngineState, input: &[u8; 64]) { + let m = read_m(input); + state.add_m(&m); + state.xor_w(); + unsafe { state.perm(&m) }; + for _ in 0..3 { + state.swap_b_c(); + state.xor_w(); + unsafe { state.perm(&m) }; + } +} diff --git a/shabal/tests/data/shabal192.blb b/shabal/tests/data/shabal192.blb new file mode 100644 index 0000000000000000000000000000000000000000..b205df8a2bb62fe25b9b2e135b42c1cce52a9218 GIT binary patch literal 2048 zcmX|BeRLGn6{m1a;ee|2j#`$jfAsm)#*4eQ&R)egIV~wkA1#@7X$Tx@%A#Sr z7xRCPjvv16mG8C zog9sqx0kn?_uMJal?gEhy{8}{=Qnc}kAHtx{(_bcC7jd~`f}L+DyULFxoMfsMy`#G zf9m@|jqi?rHvZ$Yo$IPL5C4BjjWVL`((&Y+;t{WZWsZIOa$)zFwcp~KhuVzPnUt&8 z){sdws#1#}li36b9a~7a3`GgHIbw$9Q|uEB-}HB;F4Ox)FYR5E7PF~#e%AS~W8B;# zf?S;;9dm>c*Rd8w5zGY&Tg>J1DuFDj5)^Wx90jRGxsD7d@F}!)ThoDr#)_Ns9_dR; znEym_`uOOxaYJI$ijm74L$gu@GO=w(kxotIQlUc!K`azxOrQueh)?PLV8o6&f4x<6 z{;O3Fz86=%zp&(N>b${^Zp|&Q2}wlWXGT5}HjQKmhGxM&89`>F+|0}jVn#$1)yP*f z9NWaGT*tLUDT!N{nRn$^xi`MdIa1ctwK_QX43DNJJ9Q&7ad%Ga$gkyH!z;XU^&cTV#xuvpogW=TB^yBfgXuJaI7*j;t0Tl zdaF?z>C7ZPG^qs0FEco?(ot4!PL49+`CWDN`nFM-pWywgt|V2iOmbiO`pK2Fq*$a# zISL9bR8VsWmS7%fD$}3^jBbI3WFvzJVnl&V9&$MRAq0KU3>E;bSgKCKO2>iK30GTN zw~gJrbnJxe{5NV^O8q=o6{B#vl;k0VeasQ?9l+ot9HOey_TjO{hJ_pRk1v?M>9J~b z>l6Qbvp)TK=gustAQRWX?!ZI9Ag09F6E^ImnV1?Dx?No9Q7&7k~0r(-*Ee_ zy5w*2uC}$Lw@>~vyLP<$7V>+x;t)5sz(5&-oC8~1L?>E^Bqk~eE!WF5rd%I?^TNWpzu zuJDHfY-5NVDam{vDsrANNK_f~((HyQ`jAL=`ond{&Qvbnj?$(C{#~E;oRnA431O8& zu6aPH%z|5mBdrgZVr0^1gac-T(-7taOad675Qqt^27yRy?45%yL85YL$d>_gQXzu@ z5D3}>u>&$HB`)QY=7Q`nj6T;fh|=9QW6|3)*8KX`);S069d~L;Q*vcl%(igs)FS3e z`ek|`*Os}2QGkXJk8C{HOht|G#(UF}VN$ literal 0 HcmV?d00001 diff --git a/shabal/tests/data/shabal192_one_million_a.bin b/shabal/tests/data/shabal192_one_million_a.bin new file mode 100644 index 000000000..f0f88ef08 --- /dev/null +++ b/shabal/tests/data/shabal192_one_million_a.bin @@ -0,0 +1 @@ +ž‘ž@I–¨´¬>F¯áëæz‡HI5@ \ No newline at end of file diff --git a/shabal/tests/data/shabal224.blb b/shabal/tests/data/shabal224.blb new file mode 100644 index 0000000000000000000000000000000000000000..29de7decf9d77fecfe3844450c1a4527227c2867 GIT binary patch literal 2168 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 literal 0 HcmV?d00001 diff --git a/shabal/tests/data/shabal512_one_million_a.bin b/shabal/tests/data/shabal512_one_million_a.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c26f7e06547e826a3066a9c1e54aafc29538d5a GIT binary patch literal 64 zcmV-G0Kfm0{Z!VMMRWVx4S*Hc82~7ryX62N-zV3_6V6vTUZU7f4@vKsJ? literal 0 HcmV?d00001 diff --git a/shabal/tests/lib.rs b/shabal/tests/lib.rs new file mode 100644 index 000000000..6de08fd39 --- /dev/null +++ b/shabal/tests/lib.rs @@ -0,0 +1,42 @@ +#![no_std] +#[macro_use] +extern crate digest; +extern crate shabal; + +use digest::dev::{digest_test, one_million_a}; + +new_test!(shabal192_main, "shabal192", shabal::Shabal192, digest_test); +new_test!(shabal224_main, "shabal224", shabal::Shabal224, digest_test); +new_test!(shabal256_main, "shabal256", shabal::Shabal256, digest_test); +new_test!(shabal384_main, "shabal384", shabal::Shabal384, digest_test); +new_test!(shabal512_main, "shabal512", shabal::Shabal512, digest_test); + +#[test] +fn sha192_1million_a() { + let output = include_bytes!("data/shabal192_one_million_a.bin"); + one_million_a::(output); +} + +#[test] +fn sha224_1million_a() { + let output = include_bytes!("data/shabal224_one_million_a.bin"); + one_million_a::(output); +} + +#[test] +fn sha256_1million_a() { + let output = include_bytes!("data/shabal256_one_million_a.bin"); + one_million_a::(output); +} + +#[test] +fn sha384_1million_a() { + let output = include_bytes!("data/shabal384_one_million_a.bin"); + one_million_a::(output); +} + +#[test] +fn sha512_1million_a() { + let output = include_bytes!("data/shabal512_one_million_a.bin"); + one_million_a::(output); +} From f4834ae5424f77d29d16595633ff0db771ee6fac Mon Sep 17 00:00:00 2001 From: bold Date: Mon, 18 Mar 2019 04:24:39 +0800 Subject: [PATCH 002/373] Remove unused unsafe --- shabal/src/shabal.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 9f5b0da92..76f82f1d1 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -76,7 +76,7 @@ impl EngineState { } #[inline] - unsafe fn perm(&mut self, m: &[u32; 16]) { + fn perm(&mut self, m: &[u32; 16]) { for b in self.b.iter_mut() { *b = b.wrapping_shl(17) | b.wrapping_shr(15); } @@ -162,7 +162,7 @@ impl EngineState { } #[inline] - unsafe fn perm_blocks(&mut self, m: &[u32; 16]) { + fn perm_blocks(&mut self, m: &[u32; 16]) { self.perm_elt(0, 11, 0, 13, 9, 6, 8, m[0]); self.perm_elt(1, 0, 1, 14, 10, 7, 7, m[1]); self.perm_elt(2, 1, 2, 15, 11, 8, 6, m[2]); @@ -484,7 +484,7 @@ fn compress(state: &mut EngineState, input: &[u8; 64]) { let m = read_m(input); state.add_m(&m); state.xor_w(); - unsafe { state.perm(&m) }; + state.perm(&m); state.sub_m(&m); state.swap_b_c(); state.inc_w(); @@ -494,10 +494,10 @@ fn compress_final(state: &mut EngineState, input: &[u8; 64]) { let m = read_m(input); state.add_m(&m); state.xor_w(); - unsafe { state.perm(&m) }; + state.perm(&m); for _ in 0..3 { state.swap_b_c(); state.xor_w(); - unsafe { state.perm(&m) }; + state.perm(&m); } } From 2ce0db9759c474afbf1844325cf921020db77a03 Mon Sep 17 00:00:00 2001 From: bold Date: Wed, 27 Mar 2019 00:42:09 +0800 Subject: [PATCH 003/373] Make it run with rust 1.21 --- shabal/src/shabal.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 76f82f1d1..602d76f5c 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -3,9 +3,8 @@ use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U24, U28, U32, U48, U64}; use digest::generic_array::GenericArray; -pub use digest::{impl_write, Digest}; +pub use digest::Digest; use digest::{BlockInput, FixedOutput, Input, Reset}; -use opaque_debug::impl_opaque_debug; use consts::{ A_INIT_192, A_INIT_224, A_INIT_256, A_INIT_384, A_INIT_512, B_INIT_192, B_INIT_224, B_INIT_256, @@ -215,7 +214,7 @@ impl EngineState { #[inline] fn swap_b_c(&mut self) { - core::mem::swap(&mut self.b, &mut self.c); + ::core::mem::swap(&mut self.b, &mut self.c); } } From 9695573914ad96f234ecabf9ecee2dbb3a6a36ed Mon Sep 17 00:00:00 2001 From: Jack Lloyd Date: Wed, 6 Nov 2019 06:46:27 -0500 Subject: [PATCH 004/373] Fix an overflow in Streebog causing panic or incorrect output (#91) --- streebog/src/streebog.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index 8660d58a5..ae02c67bc 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -61,12 +61,10 @@ impl StreebogState { } fn update_sigma(&mut self, m: &Block) { - let mut over = false; + let mut carry = 0; for (a, b) in self.sigma.iter_mut().zip(m.iter()) { - let (res, loc_over) = (*a).overflowing_add(*b); - *a = res; - if over { *a += 1; } - over = loc_over; + carry = (*a as u16) + (*b as u16) + (carry >> 8); + *a = (carry & 0xFF) as u8; } } From 18a28655d57b9e6a77c6d6b80299bfefc5f069e0 Mon Sep 17 00:00:00 2001 From: newpavlov Date: Wed, 6 Nov 2019 14:47:35 +0300 Subject: [PATCH 005/373] add test vector for streebog overflow bug --- streebog/tests/data/streebog256.blb | Bin 210 -> 340 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/streebog/tests/data/streebog256.blb b/streebog/tests/data/streebog256.blb index dba3a81eac7a2494230059f3b8f498f03f6b04db..5339e01a5f7e10821c278ced8320d56465ad7d84 100644 GIT binary patch delta 138 zcmcb_c!g=grTT>bGzJRiPL#Ji-59-zPh9+e-xQvCKNp5M$Qy>_dn_^Zy2)OV0}KEF From ab72529a170e8b84a4cd8bdd1e1f826419620afe Mon Sep 17 00:00:00 2001 From: Rodolfo Araujo Date: Sun, 17 Nov 2019 00:15:14 -0300 Subject: [PATCH 006/373] Small code improvements. --- blake2/src/consts.rs | 2 +- blake2/src/simd/mod.rs | 2 +- blake2/src/simd/simdty.rs | 2 +- sha2/src/consts.rs | 2 +- sha2/src/sha256_utils.rs | 2 +- sha2/src/sha512_utils.rs | 2 +- sha3/src/macros.rs | 3 +-- streebog/src/streebog.rs | 4 ++-- streebog/src/table.rs | 2 +- whirlpool/src/consts.rs | 2 +- whirlpool/src/lib.rs | 6 +++--- whirlpool/src/utils.rs | 4 ++-- 12 files changed, 16 insertions(+), 17 deletions(-) diff --git a/blake2/src/consts.rs b/blake2/src/consts.rs index 99f32f2c7..1562ce082 100644 --- a/blake2/src/consts.rs +++ b/blake2/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] pub static SIGMA : [[usize; 16]; 12] = [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ], diff --git a/blake2/src/simd/mod.rs b/blake2/src/simd/mod.rs index bb999c223..a913416cc 100644 --- a/blake2/src/simd/mod.rs +++ b/blake2/src/simd/mod.rs @@ -5,7 +5,7 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "cargo-clippy", allow(inline_always))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] mod simdty; mod simdint; diff --git a/blake2/src/simd/simdty.rs b/blake2/src/simd/simdty.rs index 5b6c306c4..31ed4461a 100644 --- a/blake2/src/simd/simdty.rs +++ b/blake2/src/simd/simdty.rs @@ -7,7 +7,7 @@ #![allow(dead_code)] #![allow(non_camel_case_types)] -#![cfg_attr(feature = "cargo-clippy", allow(inline_always))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] use as_bytes::Safe; diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index fc96b401a..744e7f3bb 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,5 +1,5 @@ #![allow(dead_code)] -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] use simd::u64x2; use simd::u32x4; diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs index 6931665c3..030411390 100644 --- a/sha2/src/sha256_utils.rs +++ b/sha2/src/sha256_utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] use simd::u32x4; use consts::{BLOCK_LEN, K32X4}; diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512_utils.rs index ba80e1989..977cd35af 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512_utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] use simd::u64x2; use consts::{BLOCK_LEN, K64X2}; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 00ee3334a..81b8976a2 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -82,8 +82,7 @@ macro_rules! shake_impl { fn xof_result(mut self) -> Sha3XofReader { self.apply_padding(); let r = $rate::to_usize(); - let res = Sha3XofReader::new(self.state.clone(), r); - res + Sha3XofReader::new(self.state.clone(), r) } } diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index ae02c67bc..d1a263314 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,6 +1,6 @@ -#![cfg_attr(feature = "cargo-clippy", allow(needless_range_loop, inline_always))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop, clippy::inline_always))] use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::typenum::{Unsigned, U64}; +use digest::generic_array::typenum::U64; use digest::generic_array::{GenericArray, ArrayLength}; use block_buffer::BlockBuffer; use block_buffer::block_padding::ZeroPadding; diff --git a/streebog/src/table.rs b/streebog/src/table.rs index fe3dcc28f..32412ec7c 100644 --- a/streebog/src/table.rs +++ b/streebog/src/table.rs @@ -3,7 +3,7 @@ //! //! It was created using `gen_table` function -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = [ [ diff --git a/whirlpool/src/consts.rs b/whirlpool/src/consts.rs index 52cbc8e7c..92dc4deaf 100644 --- a/whirlpool/src/consts.rs +++ b/whirlpool/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] pub static R: usize = 10; diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 72a19129c..11d5f19fd 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -99,10 +99,10 @@ fn convert(block: &GenericArray) -> &[u8; 64] { } impl Whirlpool { - #![cfg_attr(feature = "cargo-clippy", allow(identity_op, double_parens))] + #![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::double_parens))] fn update_len(&mut self, len: u64) { let len_bits = [ - ((len >> (56 + 5)) ) as u8, + (len >> (56 + 5)) as u8, ((len >> (48 + 5)) & 0xff) as u8, ((len >> (40 + 5)) & 0xff) as u8, ((len >> (32 + 5)) & 0xff) as u8, @@ -142,7 +142,7 @@ impl Whirlpool { if pos + 1 > self.bit_length.len() { compress(hash, convert(buf)); - zero(&mut buf[..pos+1]); + zero(&mut buf[..=pos]); } buf[32..].copy_from_slice(&self.bit_length); diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index dc8ad8b7e..9e81b3b86 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(identity_op, needless_range_loop, double_parens))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::needless_range_loop, clippy::double_parens))] use consts::*; use block_buffer::byteorder::{BE, ByteOrder}; @@ -16,7 +16,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { state[i] = block[i] ^ k[i]; } - for r in 1..(R + 1) { + for r in 1..=R { for i in 0..8 { l[i] = C0[((k[(0 + i) % 8] >> 56) ) as usize] ^ From 0f29b6cd8d604623f9cdfe7c7f14395190b03ac8 Mon Sep 17 00:00:00 2001 From: Rodolfo Araujo Date: Sun, 17 Nov 2019 00:32:34 -0300 Subject: [PATCH 007/373] Small code improvements. --- whirlpool/src/lib.rs | 8 ++++---- whirlpool/src/utils.rs | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 11d5f19fd..8e110cc06 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -108,8 +108,8 @@ impl Whirlpool { ((len >> (32 + 5)) & 0xff) as u8, ((len >> (24 + 5)) & 0xff) as u8, ((len >> (16 + 5)) & 0xff) as u8, - ((len >> ( 8 + 5)) & 0xff) as u8, - ((len >> ( 0 + 5)) & 0xff) as u8, + ((len >> (8 + 5)) & 0xff) as u8, + ((len >> (0 + 5)) & 0xff) as u8, ((len << 3) & 0xff) as u8, ]; @@ -128,7 +128,7 @@ impl Whirlpool { } carry = x > 0xff; - let pos = self.bit_length.len() -i - 1; + let pos = self.bit_length.len() - i - 1; self.bit_length[pos] = (x & 0xff) as u8; } } @@ -142,7 +142,7 @@ impl Whirlpool { if pos + 1 > self.bit_length.len() { compress(hash, convert(buf)); - zero(&mut buf[..=pos]); + zero(&mut buf[..(pos + 1)]); } buf[32..].copy_from_slice(&self.bit_length); diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index 9e81b3b86..bd1da5bbe 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -16,10 +16,10 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { state[i] = block[i] ^ k[i]; } - for r in 1..=R { + for r in 1..(R+1) { for i in 0..8 { l[i] = - C0[((k[(0 + i) % 8] >> 56) ) as usize] ^ + C0[(k[(0 + i) % 8] >> 56) as usize] ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] ^ @@ -32,7 +32,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { k = l; for i in 0..8 { l[i] = - C0[((state[(0 + i) % 8] >> 56) ) as usize] ^ + C0[(state[(0 + i) % 8] >> 56) as usize] ^ C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] ^ From 9edb0a53f7cfd6e89e7a14becc08855e258d2299 Mon Sep 17 00:00:00 2001 From: linkmauve Date: Mon, 6 Jan 2020 03:45:14 +0100 Subject: [PATCH 008/373] Enable sha1 and sha2 AArch64 extensions from asm-hashes (#97) --- .travis.yml | 12 ++++++++++++ sha1/Cargo.toml | 5 +++++ sha1/src/aarch64.rs | 9 +++++++++ sha1/src/consts.rs | 10 +++++----- sha1/src/lib.rs | 32 +++++++++++++++++++++++++++++--- sha2/Cargo.toml | 5 +++++ sha2/src/aarch64.rs | 9 +++++++++ sha2/src/lib.rs | 17 +++++++++++++++-- sha2/src/sha256.rs | 14 ++++++++++++++ sha2/src/sha512.rs | 4 ++-- 10 files changed, 105 insertions(+), 12 deletions(-) create mode 100644 sha1/src/aarch64.rs create mode 100644 sha2/src/aarch64.rs diff --git a/.travis.yml b/.travis.yml index 842be429c..d1538024e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,18 @@ matrix: - env: NAME=features-test rust: nightly script: ./test_features.sh + - env: NAME=test-aarch64 + arch: arm64 + rust: nightly + script: + - cd sha1 + - cargo test --verbose --release --features asm-aarch64 + - cargo bench --verbose + - cargo bench --verbose --features asm-aarch64 + - cd ../sha2 + - cargo test --verbose --release --features asm-aarch64 + - cargo bench --verbose + - cargo bench --verbose --features asm-aarch64 install: - cargo install cross || true diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 41a941ab7..381d94463 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -18,6 +18,7 @@ block-buffer = "0.7" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" +libc = { version = "0.2", optional = true } [dev-dependencies] digest = { version = "0.8", features = ["dev"] } @@ -28,5 +29,9 @@ default = ["std"] std = ["digest/std"] asm = ["sha1-asm"] +# TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. +# Only used on AArch64 Linux systems. +asm-aarch64 = ["asm", "libc"] + [badges] travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha1/src/aarch64.rs b/sha1/src/aarch64.rs new file mode 100644 index 000000000..d3cffecd7 --- /dev/null +++ b/sha1/src/aarch64.rs @@ -0,0 +1,9 @@ +// TODO: Import those from libc, see https://github.com/rust-lang/libc/pull/1638 +const AT_HWCAP: u64 = 16; +const HWCAP_SHA1: u64 = 32; + +#[inline(always)] +pub fn sha1_supported() -> bool { + let hwcaps: u64 = unsafe { ::libc::getauxval(AT_HWCAP) }; + (hwcaps & HWCAP_SHA1) != 0 +} diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs index 7a1bb3435..628d4d6e0 100644 --- a/sha1/src/consts.rs +++ b/sha1/src/consts.rs @@ -2,16 +2,16 @@ pub const STATE_LEN: usize = 5; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const BLOCK_LEN: usize = 16; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K0: u32 = 0x5A827999u32; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K1: u32 = 0x6ED9EBA1u32; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K2: u32 = 0x8F1BBCDCu32; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K3: u32 = 0xCA62C1D6u32; pub const H: [u32; STATE_LEN] = [ diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index a1a7068a0..374c234c2 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -28,24 +28,50 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] + +// Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. +#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] +compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); +#[cfg(all(feature = "asm-aarch64", target_os = "linux", not(target_arch = "aarch64")))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 Linux systems."); +#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", target_os = "linux"))] +compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm."); + extern crate block_buffer; #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; #[cfg(feature = "std")] extern crate std; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] extern crate fake_simd as simd; +#[cfg(feature = "asm-aarch64")] +extern crate libc; #[cfg(feature = "asm")] extern crate sha1_asm; -#[cfg(feature = "asm")] +#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] #[inline(always)] fn compress(state: &mut [u32; 5], block: &GenericArray) { let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; sha1_asm::compress(state, block); } +#[cfg(feature = "asm-aarch64")] +mod aarch64; +#[cfg(feature = "asm-aarch64")] +#[inline(always)] +fn compress(state: &mut [u32; 5], block: &GenericArray) { + // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once + // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented + // to let us use it on no_std. + if aarch64::sha1_supported() { + let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; + sha1_asm::compress(state, block); + } else { + utils::compress(state, block); + } +} -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod utils; #[cfg(not(feature = "asm"))] use utils::compress; diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 025a495dc..b56ce37d7 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,6 +15,7 @@ block-buffer = "0.7" fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version="0.5", optional=true } +libc = { version = "0.2", optional = true } [dev-dependencies] digest = { version = "0.8", features = ["dev"] } @@ -25,5 +26,9 @@ default = ["std"] std = ["digest/std"] asm = ["sha2-asm"] +# TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. +# Only used on AArch64 Linux systems. +asm-aarch64 = ["asm", "libc"] + [badges] travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha2/src/aarch64.rs b/sha2/src/aarch64.rs new file mode 100644 index 000000000..089a8f648 --- /dev/null +++ b/sha2/src/aarch64.rs @@ -0,0 +1,9 @@ +// TODO: Import those from libc, see https://github.com/rust-lang/libc/pull/1638 +const AT_HWCAP: u64 = 16; +const HWCAP_SHA2: u64 = 64; + +#[inline(always)] +pub fn sha2_supported() -> bool { + let hwcaps: u64 = unsafe { ::libc::getauxval(AT_HWCAP) }; + (hwcaps & HWCAP_SHA2) != 0 +} diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 9b72eb24e..2b3e93e0e 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -57,6 +57,15 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] + +// Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. +#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] +compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); +#[cfg(all(feature = "asm-aarch64", target_os = "linux", not(target_arch = "aarch64")))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 Linux systems."); +#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", target_os = "linux"))] +compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm."); + extern crate block_buffer; extern crate fake_simd as simd; #[macro_use] extern crate opaque_debug; @@ -65,12 +74,16 @@ extern crate fake_simd as simd; extern crate sha2_asm; #[cfg(feature = "std")] extern crate std; +#[cfg(feature = "asm-aarch64")] +extern crate libc; mod consts; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod sha256_utils; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod sha512_utils; +#[cfg(feature = "asm-aarch64")] +mod aarch64; mod sha256; mod sha512; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 95763dbfc..9dad44489 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -24,10 +24,24 @@ struct Engine256State { impl Engine256State { fn new(h: &[u32; STATE_LEN]) -> Engine256State { Engine256State { h: *h } } + #[cfg(not(feature = "asm-aarch64"))] pub fn process_block(&mut self, block: &Block) { let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; compress256(&mut self.h, block); } + + #[cfg(feature = "asm-aarch64")] + pub fn process_block(&mut self, block: &Block) { + let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha2") once + // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented + // to let us use it on no_std. + if ::aarch64::sha2_supported() { + compress256(&mut self.h, block); + } else { + ::sha256_utils::compress256(&mut self.h, block); + } + } } /// A structure that keeps track of the state of the Sha-256 operation and diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 6b39ae1ed..1a1c935ba 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -6,9 +6,9 @@ use block_buffer::byteorder::{BE, ByteOrder}; use consts::{STATE_LEN, H384, H512, H512_TRUNC_224, H512_TRUNC_256}; -#[cfg(not(feature = "asm"))] +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] use sha512_utils::compress512; -#[cfg(feature = "asm")] +#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] use sha2_asm::compress512; type BlockSize = U128; From 3d11a0f248f5333c10de467716c1510c5ce45658 Mon Sep 17 00:00:00 2001 From: newpavlov Date: Mon, 6 Jan 2020 05:46:48 +0300 Subject: [PATCH 009/373] remove benchmarks --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d1538024e..dfd4987a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,12 +34,8 @@ matrix: script: - cd sha1 - cargo test --verbose --release --features asm-aarch64 - - cargo bench --verbose - - cargo bench --verbose --features asm-aarch64 - cd ../sha2 - cargo test --verbose --release --features asm-aarch64 - - cargo bench --verbose - - cargo bench --verbose --features asm-aarch64 install: - cargo install cross || true From da2452e9de57e9e4ac40c8dc18b81afd3d223219 Mon Sep 17 00:00:00 2001 From: newpavlov Date: Mon, 6 Jan 2020 05:47:47 +0300 Subject: [PATCH 010/373] bump sha1 and sha2 versions --- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 381d94463..58b6436e5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.8.1" +version = "0.8.2" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" description = "SHA-1 hash function" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index b56ce37d7..668ff42ff 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.8.0" +version = "0.8.1" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" description = "SHA-2 hash functions" From 1bdada7ded792205a132f41a23cac36568f2579d Mon Sep 17 00:00:00 2001 From: Rodolfo Araujo Date: Thu, 30 Jan 2020 22:58:45 -0300 Subject: [PATCH 011/373] Fix build. --- blake2/src/simd/simd_opt/mod.rs | 2 +- blake2/src/simd/simd_opt/u32x4.rs | 2 +- blake2/src/simd/simd_opt/u64x4.rs | 2 +- blake2/src/simd/simdty.rs | 2 +- gost94/src/gost94.rs | 4 ++-- groestl/src/matrix.rs | 2 +- md2/src/lib.rs | 2 +- md4/src/lib.rs | 2 +- md5/src/consts.rs | 2 +- md5/src/utils.rs | 2 +- sha1/src/consts.rs | 2 +- sha1/src/utils.rs | 2 +- streebog/src/streebog.rs | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/blake2/src/simd/simd_opt/mod.rs b/blake2/src/simd/simd_opt/mod.rs index 144c7f506..efd508672 100644 --- a/blake2/src/simd/simd_opt/mod.rs +++ b/blake2/src/simd/simd_opt/mod.rs @@ -5,7 +5,7 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(inline_always))] +#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] #[cfg(feature = "simd")] macro_rules! transmute_shuffle { diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index 6e7b6fbfc..35b6caa04 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -5,7 +5,7 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(inline_always))] +#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] use simd::simdty::u32x4; diff --git a/blake2/src/simd/simd_opt/u64x4.rs b/blake2/src/simd/simd_opt/u64x4.rs index c55b4d390..b08534d1b 100644 --- a/blake2/src/simd/simd_opt/u64x4.rs +++ b/blake2/src/simd/simd_opt/u64x4.rs @@ -5,7 +5,7 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(inline_always))] +#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] use simd::simdty::u64x4; diff --git a/blake2/src/simd/simdty.rs b/blake2/src/simd/simdty.rs index 31ed4461a..af03a66cf 100644 --- a/blake2/src/simd/simdty.rs +++ b/blake2/src/simd/simdty.rs @@ -65,7 +65,7 @@ pub type u16x16 = Simd16; pub type u8x32 = Simd32; -#[cfg_attr(feature = "clippy", allow(inline_always))] +#[cfg_attr(feature = "clippy", allow(clippy::inline_always))] impl Simd4 { #[inline(always)] pub fn new(e0: T, e1: T, e2: T, e3: T) -> Simd4 { diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index 9aa3c4c67..3d86d8eca 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -1,5 +1,5 @@ -#![cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))] -#![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] use digest::{Input, BlockInput, FixedOutput, Reset}; use block_buffer::BlockBuffer; use block_buffer::block_padding::ZeroPadding; diff --git a/groestl/src/matrix.rs b/groestl/src/matrix.rs index 6dbe954ab..0fdf412d9 100644 --- a/groestl/src/matrix.rs +++ b/groestl/src/matrix.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] use core::ops::{Index, IndexMut}; use digest::generic_array::{ArrayLength, GenericArray}; diff --git a/md2/src/lib.rs b/md2/src/lib.rs index e501a6d31..006fdc820 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -28,7 +28,7 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; extern crate block_buffer; diff --git a/md4/src/lib.rs b/md4/src/lib.rs index f352ca0e4..2f23a78f2 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -28,7 +28,7 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; extern crate fake_simd as simd; diff --git a/md5/src/consts.rs b/md5/src/consts.rs index af2443764..fcab61f5d 100644 --- a/md5/src/consts.rs +++ b/md5/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] /// Round constants #[cfg(not(feature = "asm"))] diff --git a/md5/src/utils.rs b/md5/src/utils.rs index 9d9d1b2f9..de42e7095 100644 --- a/md5/src/utils.rs +++ b/md5/src/utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(inline_always, many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always, clippy::many_single_char_names))] use consts::RC; use block_buffer::byteorder::{LE, ByteOrder}; diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs index 628d4d6e0..f23f33188 100644 --- a/sha1/src/consts.rs +++ b/sha1/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] pub const STATE_LEN: usize = 5; diff --git a/sha1/src/utils.rs b/sha1/src/utils.rs index e8b941a6e..7d57f724f 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] +#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] use consts::{BLOCK_LEN, K0, K1, K2, K3}; use block_buffer::byteorder::{BE, ByteOrder}; diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index d1a263314..aa390bcdb 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,6 +1,6 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop, clippy::inline_always))] use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::typenum::U64; +use digest::generic_array::typenum::{Unsigned, U64}; use digest::generic_array::{GenericArray, ArrayLength}; use block_buffer::BlockBuffer; use block_buffer::block_padding::ZeroPadding; From 5416689af01c5dd0fa9ad8af57c2370db38dd9b2 Mon Sep 17 00:00:00 2001 From: Rodolfo Araujo Date: Thu, 30 Jan 2020 23:06:27 -0300 Subject: [PATCH 012/373] Matching formatter. --- whirlpool/src/lib.rs | 6 +++--- whirlpool/src/utils.rs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 8e110cc06..792c23039 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -102,14 +102,14 @@ impl Whirlpool { #![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::double_parens))] fn update_len(&mut self, len: u64) { let len_bits = [ - (len >> (56 + 5)) as u8, + ( len >> (56 + 5)) as u8, ((len >> (48 + 5)) & 0xff) as u8, ((len >> (40 + 5)) & 0xff) as u8, ((len >> (32 + 5)) & 0xff) as u8, ((len >> (24 + 5)) & 0xff) as u8, ((len >> (16 + 5)) & 0xff) as u8, - ((len >> (8 + 5)) & 0xff) as u8, - ((len >> (0 + 5)) & 0xff) as u8, + ((len >> ( 8 + 5)) & 0xff) as u8, + ((len >> ( 0 + 5)) & 0xff) as u8, ((len << 3) & 0xff) as u8, ]; diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index bd1da5bbe..a0efed120 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -19,7 +19,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { for r in 1..(R+1) { for i in 0..8 { l[i] = - C0[(k[(0 + i) % 8] >> 56) as usize] ^ + C0[ (k[(0 + i) % 8] >> 56 ) as usize] ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] ^ @@ -32,7 +32,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { k = l; for i in 0..8 { l[i] = - C0[(state[(0 + i) % 8] >> 56) as usize] ^ + C0[ (state[(0 + i) % 8] >> 56 ) as usize] ^ C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] ^ From 3f9b92663c81b9495eb61e6847406e7922575210 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Fri, 28 Feb 2020 00:25:16 +0100 Subject: [PATCH 013/373] Allow compile-time detection of crypto on AArch64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The existing way depends on the libc crate, only works on Linux, and does a getauxval() call each 64 bytes of input. This commit adds support for doing this detection at compile-time, if the target_feature crypto is enabled we can use the same code-path as amd64 and reuse the asm feature. A new compile_error!() has been added helping users figure out the best way to build this crate. --- sha1/Cargo.toml | 2 +- sha1/src/lib.rs | 10 ++++++---- sha2/Cargo.toml | 2 +- sha2/src/lib.rs | 12 +++++++----- sha2/src/sha512.rs | 4 ++-- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 58b6436e5..09b0bfc52 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -30,7 +30,7 @@ std = ["digest/std"] asm = ["sha1-asm"] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. -# Only used on AArch64 Linux systems. +# Only used on AArch64 Linux systems, when built without the crypto target_feature. asm-aarch64 = ["asm", "libc"] [badges] diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 374c234c2..1d167608d 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -32,10 +32,12 @@ // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. #[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); -#[cfg(all(feature = "asm-aarch64", target_os = "linux", not(target_arch = "aarch64")))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 Linux systems."); -#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", target_os = "linux"))] -compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm."); +#[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); +#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", target_feature = "crypto"))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); +#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", not(target_feature = "crypto"), target_os = "linux"))] +compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); extern crate block_buffer; #[macro_use] extern crate opaque_debug; diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 668ff42ff..e8694817b 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -27,7 +27,7 @@ std = ["digest/std"] asm = ["sha2-asm"] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. -# Only used on AArch64 Linux systems. +# Only used on AArch64 Linux systems, when built without the crypto target_feature. asm-aarch64 = ["asm", "libc"] [badges] diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 2b3e93e0e..04b9f5cfd 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -61,10 +61,12 @@ // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. #[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); -#[cfg(all(feature = "asm-aarch64", target_os = "linux", not(target_arch = "aarch64")))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 Linux systems."); -#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", target_os = "linux"))] -compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm."); +#[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); +#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", target_feature = "crypto"))] +compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); +#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", not(target_feature = "crypto"), target_os = "linux"))] +compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); extern crate block_buffer; extern crate fake_simd as simd; @@ -80,7 +82,7 @@ extern crate libc; mod consts; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod sha256_utils; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] +#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] mod sha512_utils; #[cfg(feature = "asm-aarch64")] mod aarch64; diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 1a1c935ba..e3e229618 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -6,9 +6,9 @@ use block_buffer::byteorder::{BE, ByteOrder}; use consts::{STATE_LEN, H384, H512, H512_TRUNC_224, H512_TRUNC_256}; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] +#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] use sha512_utils::compress512; -#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] +#[cfg(all(feature = "asm", not(target_arch = "aarch64")))] use sha2_asm::compress512; type BlockSize = U128; From f9b35c0d0152c9afea728903e847a3c6275a39e9 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Wed, 18 Mar 2020 18:56:11 -0400 Subject: [PATCH 014/373] Expose sha256_utils with the utils feature flag --- sha2/Cargo.toml | 1 + sha2/src/lib.rs | 47 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e8694817b..d3271d195 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,6 +25,7 @@ hex-literal = "0.1" default = ["std"] std = ["digest/std"] asm = ["sha2-asm"] +utils = ["utils"] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. # Only used on AArch64 Linux systems, when built without the crypto target_feature. diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 04b9f5cfd..f6cf9d25e 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -55,40 +55,57 @@ //! [1]: https://en.wikipedia.org/wiki/SHA-2 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. -#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] +#[cfg(all( + feature = "asm-aarch64", + target_arch = "aarch64", + not(target_os = "linux") +))] compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); #[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); -#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", target_feature = "crypto"))] +#[cfg(all( + feature = "asm-aarch64", + target_arch = "aarch64", + target_feature = "crypto" +))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); -#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", not(target_feature = "crypto"), target_os = "linux"))] +#[cfg(all( + not(feature = "asm-aarch64"), + feature = "asm", + target_arch = "aarch64", + not(target_feature = "crypto"), + target_os = "linux" +))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); extern crate block_buffer; extern crate fake_simd as simd; -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; +#[cfg(feature = "asm-aarch64")] +extern crate libc; #[cfg(feature = "asm")] extern crate sha2_asm; #[cfg(feature = "std")] extern crate std; -#[cfg(feature = "asm-aarch64")] -extern crate libc; +#[cfg(feature = "asm-aarch64")] +mod aarch64; mod consts; +mod sha256; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod sha256_utils; +mod sha512; #[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] mod sha512_utils; -#[cfg(feature = "asm-aarch64")] -mod aarch64; -mod sha256; -mod sha512; pub use digest::Digest; -pub use sha256::{Sha256, Sha224}; -pub use sha512::{Sha512, Sha384, Sha512Trunc224, Sha512Trunc256}; +pub use sha256::{Sha224, Sha256}; +#[cfg(feature = "utils")] +pub use sha256_utils; +pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; From 789e705e61328b8ac1c0389036f48223ed6e1710 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Wed, 18 Mar 2020 19:58:27 -0400 Subject: [PATCH 015/373] utils feature has no dependencies --- sha2/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index d3271d195..8f8d613c9 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ hex-literal = "0.1" default = ["std"] std = ["digest/std"] asm = ["sha2-asm"] -utils = ["utils"] +utils = [] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. # Only used on AArch64 Linux systems, when built without the crypto target_feature. From a968a8db2bffae75fbb31596897be9088ddbb821 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Wed, 18 Mar 2020 20:22:02 -0400 Subject: [PATCH 016/373] Coalesce sha256_util export --- sha2/src/lib.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index f6cf9d25e..4d0f3520c 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -98,14 +98,12 @@ extern crate std; mod aarch64; mod consts; mod sha256; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] -mod sha256_utils; +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64", feature = "utils"))] +pub mod sha256_utils; mod sha512; #[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] mod sha512_utils; pub use digest::Digest; pub use sha256::{Sha224, Sha256}; -#[cfg(feature = "utils")] -pub use sha256_utils; pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; From c1afa054b869f26f42a1585b7855c22c206e9642 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Tue, 24 Mar 2020 18:35:24 -0400 Subject: [PATCH 017/373] Rename flag to 'compress', export just compress* instead of whole module --- sha2/Cargo.toml | 2 +- sha2/src/lib.rs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 8f8d613c9..0c858aad8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ hex-literal = "0.1" default = ["std"] std = ["digest/std"] asm = ["sha2-asm"] -utils = [] +compress = [] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. # Only used on AArch64 Linux systems, when built without the crypto target_feature. diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 4d0f3520c..1730fedae 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -98,12 +98,16 @@ extern crate std; mod aarch64; mod consts; mod sha256; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64", feature = "utils"))] -pub mod sha256_utils; +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64", feature = "compress"))] +mod sha256_utils; mod sha512; -#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] +#[cfg(any(not(feature = "asm"), target_arch = "aarch64", feature = "compress"))] mod sha512_utils; pub use digest::Digest; pub use sha256::{Sha224, Sha256}; +#[cfg(feature = "compress")] +pub use sha256_utils::compress256; pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; +#[cfg(feature = "compress")] +pub use sha512_utils::compress512; From afe50eeb606709d444faf571e7db46a0bd4ab1cf Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Wed, 6 May 2020 01:16:54 +0000 Subject: [PATCH 018/373] Use libc for AArch64 consts too Now that https://github.com/rust-lang/libc/pull/1638 got merged and a new libc release got made, we can use them instead of hardcoding their values. This bumps the libc dependency to the earliest version with these consts. --- sha1/Cargo.toml | 2 +- sha1/src/aarch64.rs | 6 ++---- sha2/Cargo.toml | 2 +- sha2/src/aarch64.rs | 6 ++---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 09b0bfc52..a5f40e99c 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -18,7 +18,7 @@ block-buffer = "0.7" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" -libc = { version = "0.2", optional = true } +libc = { version = "0.2.68", optional = true } [dev-dependencies] digest = { version = "0.8", features = ["dev"] } diff --git a/sha1/src/aarch64.rs b/sha1/src/aarch64.rs index d3cffecd7..16907404c 100644 --- a/sha1/src/aarch64.rs +++ b/sha1/src/aarch64.rs @@ -1,9 +1,7 @@ -// TODO: Import those from libc, see https://github.com/rust-lang/libc/pull/1638 -const AT_HWCAP: u64 = 16; -const HWCAP_SHA1: u64 = 32; +use libc::{getauxval, AT_HWCAP, HWCAP_SHA1}; #[inline(always)] pub fn sha1_supported() -> bool { - let hwcaps: u64 = unsafe { ::libc::getauxval(AT_HWCAP) }; + let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; (hwcaps & HWCAP_SHA1) != 0 } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 0c858aad8..99b5f9f90 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,7 +15,7 @@ block-buffer = "0.7" fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version="0.5", optional=true } -libc = { version = "0.2", optional = true } +libc = { version = "0.2.68", optional = true } [dev-dependencies] digest = { version = "0.8", features = ["dev"] } diff --git a/sha2/src/aarch64.rs b/sha2/src/aarch64.rs index 089a8f648..7cba76519 100644 --- a/sha2/src/aarch64.rs +++ b/sha2/src/aarch64.rs @@ -1,9 +1,7 @@ -// TODO: Import those from libc, see https://github.com/rust-lang/libc/pull/1638 -const AT_HWCAP: u64 = 16; -const HWCAP_SHA2: u64 = 64; +use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; #[inline(always)] pub fn sha2_supported() -> bool { - let hwcaps: u64 = unsafe { ::libc::getauxval(AT_HWCAP) }; + let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; (hwcaps & HWCAP_SHA2) != 0 } From 627696dc38643d185f3716a08f7ec1a90a1a30c0 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 23 May 2020 16:59:09 -0700 Subject: [PATCH 019/373] sha2 v0.8.2 --- README.md | 3 +-- sha2/CHANGELOG.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++ sha2/Cargo.toml | 8 ++++++-- sha2/src/lib.rs | 1 + 4 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 sha2/CHANGELOG.md diff --git a/README.md b/README.md index 843e15665..7ebc7cc04 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -# RustCrypto: hashes -[![Build Status](https://travis-ci.org/RustCrypto/hashes.svg?branch=master)](https://travis-ci.org/RustCrypto/hashes) [![dependency status](https://deps.rs/repo/github/RustCrypto/hashes/status.svg)](https://deps.rs/repo/github/RustCrypto/hashes) +# RustCrypto: hashes [![Build Status](https://travis-ci.org/RustCrypto/hashes.svg?branch=master)](https://travis-ci.org/RustCrypto/hashes) Collection of [cryptographic hash functions][1] written in pure Rust. diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md new file mode 100644 index 000000000..b82301a03 --- /dev/null +++ b/sha2/CHANGELOG.md @@ -0,0 +1,50 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.8.2 (2020-05-23) +### Added +- Expose compression function under the `compress` feature flag ([#108]) + +### Changed +- Use `libc` crate for `aarch64` consts ([#109]) +- Minor code cleanups ([#94]) + +[#109]: https://github.com/RustCrypto/hashes/pull/109 +[#108]: https://github.com/RustCrypto/hashes/pull/108 +[#94]: https://github.com/RustCrypto/hashes/pull/94 + +## 0.8.1 (2020-01-05) + +## 0.8.0 (2018-10-02) + +## 0.7.1 (2018-04-27) + +## 0.6.0 (2017-06-12) + +## 0.5.3 (2017-06-03) + +## 0.5.2 (2017-05-08) + +## 0.5.1 (2017-05-01) + +## 0.5.0 (2017-04-06) + +## 0.4.2 (2017-01-23) + +## 0.4.1 (2017-01-20) + +## 0.4.0 (2016-12-24) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-10-26) + +## 0.1.2 (2016-05-06) + +## 0.1.1 (2016-05-06) + +## 0.1.0 (2016-05-06) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 99b5f9f90..daea382cb 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,9 +1,12 @@ [package] name = "sha2" -version = "0.8.1" +version = "0.8.2" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "SHA-2 hash functions" +description = """ +Pure Rust implementation of the SHA-2 hash function family +including SHA-224, SHA-256, SHA-384, and SHA-512. +""" documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] @@ -32,4 +35,5 @@ compress = [] asm-aarch64 = ["asm", "libc"] [badges] +maintenance = { status = "actively-developed" } travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 1730fedae..f22e1d7bb 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -54,6 +54,7 @@ //! //! [1]: https://en.wikipedia.org/wiki/SHA-2 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] From 7bf6a6e3d5c859dc62cb9713a96fb7c194a9446f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 24 May 2020 09:02:57 -0700 Subject: [PATCH 020/373] k12: import initial implementation Original implementation by @dhardy from: https://github.com/dhardy/hash-bench/blob/master/src/k12.rs --- Cargo.toml | 1 + k12/Cargo.toml | 25 ++++ k12/LICENSE-APACHE | 201 ++++++++++++++++++++++++++ k12/LICENSE-MIT | 25 ++++ k12/src/lib.rs | 346 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 598 insertions(+) create mode 100644 k12/Cargo.toml create mode 100644 k12/LICENSE-APACHE create mode 100644 k12/LICENSE-MIT create mode 100644 k12/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 4c70e3dd2..84ef16386 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ members = [ "blake2", "gost94", "groestl", + "k12", "md2", "md4", "md5", diff --git a/k12/Cargo.toml b/k12/Cargo.toml new file mode 100644 index 000000000..2f163efa3 --- /dev/null +++ b/k12/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "k12" +version = "0.0.0" +authors = ["Diggory Hardy "] +license = "Apache-2.0 OR MIT" +description = "Pure Rust implementation of the KangarooTwelve hash function" +documentation = "https://docs.rs/k12" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.8" + +[dev-dependencies] +digest = { version = "0.8", features = ["dev"] } +hex-literal = "0.1" + +[features] +default = ["std"] +std = ["digest/std"] + +[badges] +maintenance = { status = "experimental" } +travis-ci = { repository = "RustCrypto/hashes" } diff --git a/k12/LICENSE-APACHE b/k12/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/k12/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/k12/LICENSE-MIT b/k12/LICENSE-MIT new file mode 100644 index 000000000..f39f9ff82 --- /dev/null +++ b/k12/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2020 RustCrypto Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/k12/src/lib.rs b/k12/src/lib.rs new file mode 100644 index 000000000..91c0675ac --- /dev/null +++ b/k12/src/lib.rs @@ -0,0 +1,346 @@ +//! An implementation of the KangarooTwelve cryptographic hash algorithm, +//! based on the reference implementation: +//! +//! +//! +//! Some optimisations copied from: + +use std::cmp::min; + +#[macro_use] +mod macros { + /// Copied from `arrayref` crate + macro_rules! array_ref { + ($arr:expr, $offset:expr, $len:expr) => {{ + { + #[inline] + unsafe fn as_array(slice: &[T]) -> &[T; $len] { + &*(slice.as_ptr() as *const [_; $len]) + } + let offset = $offset; + let slice = & $arr[offset..offset + $len]; + unsafe { + as_array(slice) + } + } + }} + } + + macro_rules! REPEAT4 { + ($e: expr) => ( $e; $e; $e; $e; ) + } + + macro_rules! REPEAT5 { + ($e: expr) => ( $e; $e; $e; $e; $e; ) + } + + macro_rules! REPEAT6 { + ($e: expr) => ( $e; $e; $e; $e; $e; $e; ) + } + + macro_rules! REPEAT24 { + ($e: expr, $s: expr) => ( + REPEAT6!({ $e; $s; }); + REPEAT6!({ $e; $s; }); + REPEAT6!({ $e; $s; }); + REPEAT5!({ $e; $s; }); + $e; + ) + } + + macro_rules! FOR5 { + ($v: expr, $s: expr, $e: expr) => { + $v = 0; + REPEAT4!({ + $e; + $v += $s; + }); + $e; + } + } +} + +mod lanes { + pub const RC: [u64; 12] = [ + 0x000000008000808b, + 0x800000000000008b, + 0x8000000000008089, + 0x8000000000008003, + 0x8000000000008002, + 0x8000000000000080, + 0x000000000000800a, + 0x800000008000000a, + 0x8000000080008081, + 0x8000000000008080, + 0x0000000080000001, + 0x8000000080008008, + ]; + + // (0..24).map(|t| ((t+1)*(t+2)/2) % 64) + pub const RHO: [u32; 24] = [ + 1, 3, 6, 10, 15, 21,28, 36, 45, 55, 2, 14, 27, + 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44 + ]; + pub const PI: [usize; 24] = [ + 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, + 19, 13, 12, 2, 20, 14, 22, 9, 6, 1 + ]; + + pub fn keccak(lanes: &mut [u64; 25]) { + let mut c = [0u64; 5]; + let (mut x, mut y): (usize, usize); + + for round in 0..12 { + // θ + FOR5!(x, 1, { + c[x] = lanes[x] ^ lanes[x+5] ^ lanes[x+10] ^ lanes[x+15] ^ lanes[x+20]; + }); + + FOR5!(x, 1, { + FOR5!(y, 5, { + lanes[x + y] ^= c[(x+4)%5] ^ c[(x+1)%5].rotate_left(1); + }); + }); + + // Ï and Ï€ + let mut a = lanes[1]; + x = 0; + REPEAT24!({ + c[0] = lanes[PI[x]]; + lanes[PI[x]] = a.rotate_left(RHO[x]); + }, { + a = c[0]; + x += 1; + }); + + // χ + FOR5!(y, 5, { + FOR5!(x, 1, { + c[x] = lanes[x + y]; + }); + FOR5!(x, 1, { + lanes[x + y] = c[x] ^((!c[(x+1) % 5]) & c[(x+2)%5]); + }); + }); + + // ι + lanes[0] ^= RC[round]; + } + } +} + +fn read_u64(bytes: &[u8; 8]) -> u64 { + unsafe{ *(bytes as *const [u8; 8] as *const u64) }.to_le() +} +fn write_u64(val: u64) -> [u8; 8] { + unsafe{ *(&val.to_le() as *const u64 as *const [u8; 8]) } +} + +fn keccak(state: &mut [u8; 200]) { + let mut lanes = [0u64; 25]; + let mut y; + for x in 0..5 { + FOR5!(y, 5, { + lanes[x + y] = read_u64(array_ref!(state, 8*(x+y), 8)); + }); + } + lanes::keccak(&mut lanes); + for x in 0..5 { + FOR5!(y, 5, { + let i = 8*(x+y); + state[i..i+8].copy_from_slice(&write_u64(lanes[x + y])); + }); + } +} + +fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { + let mut state = [0u8; 200]; + let max_block_size = 1344 / 8; // r, also known as rate in bytes + + // === Absorb all the input blocks === + // We unroll first loop, which allows simple copy + let mut block_size = min(input.len(), max_block_size); + state[0..block_size].copy_from_slice(&input[0..block_size]); + + let mut offset = block_size; + while offset < input.len() { + keccak(&mut state); + block_size = min(input.len() - offset, max_block_size); + for i in 0..block_size { + // TODO: is this sufficiently optimisable or better to convert to u64 first? + state[i] ^= input[i+offset]; + } + offset += block_size; + } + if block_size == max_block_size { + // TODO: condition is nearly always false; tests pass without this. + // Why is it here? + keccak(&mut state); + block_size = 0; + } + + // === Do the padding and switch to the squeezing phase === + state[block_size] ^= suffix; + if ((suffix & 0x80) != 0) && (block_size == (max_block_size-1)) { + // TODO: condition is almost always false — in fact tests pass without + // this block! So why is it here? + keccak(&mut state); + } + state[max_block_size-1] ^= 0x80; + keccak(&mut state); + + // === Squeeze out all the output blocks === + let mut output = Vec::with_capacity(output_len); + while output_len > 0 { + block_size = min(output_len, max_block_size); + output.extend_from_slice(&state[0..block_size]); + output_len -= block_size; + if output_len > 0 { + keccak(&mut state); + } + } + output +} + +fn right_encode(mut x: usize) -> Vec { + let mut slice = Vec::new(); + while x > 0 { + slice.push((x % 256) as u8); + x /= 256; + } + slice.reverse(); + let len = slice.len(); + slice.push(len as u8); + slice +} + +/// Hash the `input` message, with the given `customization` string, to `output_len` bytes. +pub fn kangaroo_twelve, TB: AsRef<[u8]>>(input: TA, + customization: TB, output_len: usize) -> Vec +{ + let b = 8192; + let c = 256; + + let mut slice = Vec::new(); // S + slice.extend_from_slice(input.as_ref()); + slice.extend_from_slice(customization.as_ref()); + slice.extend_from_slice(&right_encode(customization.as_ref().len())[..]); + + // === Cut the input string into chunks of b bytes === + let n = (slice.len() + b - 1) / b; + let mut slices = Vec::with_capacity(n); // Si + for i in 0..n { + let ub = min((i+1)*b, slice.len()); + slices.push(&slice[i*b .. ub]); + } + + if n == 1 { + // === Process the tree with only a final node === + f(slices[0], 0x07, output_len) + } else { + // === Process the tree with kangaroo hopping === + // TODO: in parallel + let mut intermediate = Vec::with_capacity(n-1); // CVi + for i in 0..n-1 { + intermediate.push(f(slices[i+1], 0x0B, c/8)); + } + + let mut node_star = Vec::new(); + node_star.extend_from_slice(slices[0]); + node_star.extend_from_slice(&[3,0,0,0,0,0,0,0]); + for i in 0..n-1 { + node_star.extend_from_slice(&intermediate[i][..]); + } + node_star.extend_from_slice(&right_encode(n-1)); + node_star.extend_from_slice(b"\xFF\xFF"); + + f(&node_star[..], 0x06, output_len) + } +} + +#[cfg(test)] +mod test { + use super::*; + use std::iter; + + fn read_bytes>(s: T) -> Vec { + fn b(c: u8) -> u8 { + match c { + b'0' ... b'9' => c - b'0', + b'a' ... b'f' => c - b'a' + 10, + b'A' ... b'F' => c - b'A' + 10, + _ => unreachable!(), + } + } + let s = s.as_ref(); + let mut i = 0; + let mut v = Vec::new(); + while i < s.len() { + if s[i] == b' ' || s[i] == b'\n' { i += 1; continue; } + + let n = b(s[i]) * 16 + b(s[i+1]); + v.push(n); + i += 2; + } + v + } + + #[test] + fn empty() { + // Source: reference paper + assert_eq!(kangaroo_twelve("", "", 32), read_bytes("1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5")); + + assert_eq!(kangaroo_twelve("", "", 64), read_bytes("1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e + 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71")); + + assert_eq!(kangaroo_twelve("", "", 10032)[10000..], read_bytes("e8 dc 56 36 42 f7 22 8c 84 + 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d")[..]); + } + + #[test] + fn pat_m() { + let expected = [ + "2b da 92 45 0e 8b 14 7f 8a 7c b6 29 e7 84 a0 58 ef ca 7c f7 + d8 21 8e 02 d3 45 df aa 65 24 4a 1f", + "6b f7 5f a2 23 91 98 db 47 72 e3 64 78 f8 e1 9b 0f 37 12 05 + f6 a9 a9 3a 27 3f 51 df 37 12 28 88", + "0c 31 5e bc de db f6 14 26 de 7d cf 8f b7 25 d1 e7 46 75 d7 + f5 32 7a 50 67 f3 67 b1 08 ec b6 7c", + "cb 55 2e 2e c7 7d 99 10 70 1d 57 8b 45 7d df 77 2c 12 e3 22 + e4 ee 7f e4 17 f9 2c 75 8f 0d 59 d0", + "87 01 04 5e 22 20 53 45 ff 4d da 05 55 5c bb 5c 3a f1 a7 71 + c2 b8 9b ae f3 7d b4 3d 99 98 b9 fe", + "84 4d 61 09 33 b1 b9 96 3c bd eb 5a e3 b6 b0 5c c7 cb d6 7c + ee df 88 3e b6 78 a0 a8 e0 37 16 82", + "3c 39 07 82 a8 a4 e8 9f a6 36 7f 72 fe aa f1 32 55 c8 d9 58 + 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8"]; + for i in 0..5 /*NOTE: can be up to 7 but is slow*/ { + let len = 17usize.pow(i); + let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = kangaroo_twelve(m, "", 32); + assert_eq!(result, read_bytes(expected[i as usize])); + } + } + + #[test] + fn pat_c() { + let expected = [ + "fa b6 58 db 63 e9 4a 24 61 88 bf 7a f6 9a 13 30 45 f4 6e e9 + 84 c5 6e 3c 33 28 ca af 1a a1 a5 83", + "d8 48 c5 06 8c ed 73 6f 44 62 15 9b 98 67 fd 4c 20 b8 08 ac + c3 d5 bc 48 e0 b0 6b a0 a3 76 2e c4", + "c3 89 e5 00 9a e5 71 20 85 4c 2e 8c 64 67 0a c0 13 58 cf 4c + 1b af 89 44 7a 72 42 34 dc 7c ed 74", + "75 d2 f8 6a 2e 64 45 66 72 6b 4f bc fc 56 57 b9 db cf 07 0c + 7b 0d ca 06 45 0a b2 91 d7 44 3b cf"]; + for i in 0..4 { + let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); + let len = 41usize.pow(i); + let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = kangaroo_twelve(m, c, 32); + assert_eq!(result, read_bytes(expected[i as usize])); + } + } +} From 1b84c02ff630d69887bc44931835b52899aaacfd Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 24 May 2020 09:05:53 -0700 Subject: [PATCH 021/373] k12: rustfmt and additional cleanups Switches function signature to use impl Trait --- .travis.yml | 2 +- README.md | 5 +- k12/src/lib.rs | 183 +++++++++++++++++++++++++++++++----------------- sha2/Cargo.toml | 2 +- 4 files changed, 123 insertions(+), 69 deletions(-) diff --git a/.travis.yml b/.travis.yml index dfd4987a7..e8055bc61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ sudo: required matrix: include: - - rust: 1.21.0 + - rust: 1.31.0 script: cargo test --verbose --all --release - rust: stable script: cargo test --verbose --all --release diff --git a/README.md b/README.md index 7ebc7cc04..fd00f739a 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,9 @@ BLAKE2, SHA-2 or SHA-3. | Name | Alt name | Crates.io | Documentation | [Security Level] | | ------------- |:-------------:| :-----:| :-----:| :-----:| | [BLAKE2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) | | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | :green_heart: | -| [GOST94](https://en.wikipedia.org/wiki/GOST_(hash_function)) | GOST R 34.11-94 | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | :yellow_heart: | -| [Grøstl](https://en.wikipedia.org/wiki/Grøstl) | Groestl | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | :green_heart: | +| [GOST94](https://en.wikipedia.org/wiki/GOST_(hash_function)) | GOST R 34.11-94 | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | :yellow_heart: | +| [Grøstl](https://en.wikipedia.org/wiki/Grøstl) | Groestl | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | :green_heart: | +| [KangarooTwelve](https://keccak.team/kangarootwelve.html) | | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | :green_heart: | | [MD2](https://en.wikipedia.org/wiki/MD2_(cryptography)) | | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | :broken_heart: | | [MD4](https://en.wikipedia.org/wiki/MD4) | | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | :broken_heart: | | [MD5](https://en.wikipedia.org/wiki/MD5) [:exclamation:](#crate-names) | | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | :broken_heart: | diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 91c0675ac..b64e855a9 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -18,34 +18,62 @@ mod macros { &*(slice.as_ptr() as *const [_; $len]) } let offset = $offset; - let slice = & $arr[offset..offset + $len]; - unsafe { - as_array(slice) - } + let slice = &$arr[offset..offset + $len]; + unsafe { as_array(slice) } } - }} + }}; } macro_rules! REPEAT4 { - ($e: expr) => ( $e; $e; $e; $e; ) + ($e: expr) => { + $e; + $e; + $e; + $e; + }; } macro_rules! REPEAT5 { - ($e: expr) => ( $e; $e; $e; $e; $e; ) + ($e: expr) => { + $e; + $e; + $e; + $e; + $e; + }; } macro_rules! REPEAT6 { - ($e: expr) => ( $e; $e; $e; $e; $e; $e; ) + ($e: expr) => { + $e; + $e; + $e; + $e; + $e; + $e; + }; } macro_rules! REPEAT24 { - ($e: expr, $s: expr) => ( - REPEAT6!({ $e; $s; }); - REPEAT6!({ $e; $s; }); - REPEAT6!({ $e; $s; }); - REPEAT5!({ $e; $s; }); + ($e: expr, $s: expr) => { + REPEAT6!({ + $e; + $s; + }); + REPEAT6!({ + $e; + $s; + }); + REPEAT6!({ + $e; + $s; + }); + REPEAT5!({ + $e; + $s; + }); $e; - ) + }; } macro_rules! FOR5 { @@ -56,7 +84,7 @@ mod macros { $v += $s; }); $e; - } + }; } } @@ -78,12 +106,10 @@ mod lanes { // (0..24).map(|t| ((t+1)*(t+2)/2) % 64) pub const RHO: [u32; 24] = [ - 1, 3, 6, 10, 15, 21,28, 36, 45, 55, 2, 14, 27, - 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44 + 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44, ]; pub const PI: [usize; 24] = [ - 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, - 19, 13, 12, 2, 20, 14, 22, 9, 6, 1 + 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1, ]; pub fn keccak(lanes: &mut [u64; 25]) { @@ -93,25 +119,28 @@ mod lanes { for round in 0..12 { // θ FOR5!(x, 1, { - c[x] = lanes[x] ^ lanes[x+5] ^ lanes[x+10] ^ lanes[x+15] ^ lanes[x+20]; + c[x] = lanes[x] ^ lanes[x + 5] ^ lanes[x + 10] ^ lanes[x + 15] ^ lanes[x + 20]; }); FOR5!(x, 1, { FOR5!(y, 5, { - lanes[x + y] ^= c[(x+4)%5] ^ c[(x+1)%5].rotate_left(1); + lanes[x + y] ^= c[(x + 4) % 5] ^ c[(x + 1) % 5].rotate_left(1); }); }); // Ï and Ï€ let mut a = lanes[1]; x = 0; - REPEAT24!({ - c[0] = lanes[PI[x]]; - lanes[PI[x]] = a.rotate_left(RHO[x]); - }, { - a = c[0]; - x += 1; - }); + REPEAT24!( + { + c[0] = lanes[PI[x]]; + lanes[PI[x]] = a.rotate_left(RHO[x]); + }, + { + a = c[0]; + x += 1; + } + ); // χ FOR5!(y, 5, { @@ -119,7 +148,7 @@ mod lanes { c[x] = lanes[x + y]; }); FOR5!(x, 1, { - lanes[x + y] = c[x] ^((!c[(x+1) % 5]) & c[(x+2)%5]); + lanes[x + y] = c[x] ^ ((!c[(x + 1) % 5]) & c[(x + 2) % 5]); }); }); @@ -130,10 +159,10 @@ mod lanes { } fn read_u64(bytes: &[u8; 8]) -> u64 { - unsafe{ *(bytes as *const [u8; 8] as *const u64) }.to_le() + unsafe { *(bytes as *const [u8; 8] as *const u64) }.to_le() } fn write_u64(val: u64) -> [u8; 8] { - unsafe{ *(&val.to_le() as *const u64 as *const [u8; 8]) } + unsafe { *(&val.to_le() as *const u64 as *const [u8; 8]) } } fn keccak(state: &mut [u8; 200]) { @@ -141,21 +170,21 @@ fn keccak(state: &mut [u8; 200]) { let mut y; for x in 0..5 { FOR5!(y, 5, { - lanes[x + y] = read_u64(array_ref!(state, 8*(x+y), 8)); + lanes[x + y] = read_u64(array_ref!(state, 8 * (x + y), 8)); }); } lanes::keccak(&mut lanes); for x in 0..5 { FOR5!(y, 5, { - let i = 8*(x+y); - state[i..i+8].copy_from_slice(&write_u64(lanes[x + y])); + let i = 8 * (x + y); + state[i..i + 8].copy_from_slice(&write_u64(lanes[x + y])); }); } } fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { let mut state = [0u8; 200]; - let max_block_size = 1344 / 8; // r, also known as rate in bytes + let max_block_size = 1344 / 8; // r, also known as rate in bytes // === Absorb all the input blocks === // We unroll first loop, which allows simple copy @@ -168,7 +197,7 @@ fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { block_size = min(input.len() - offset, max_block_size); for i in 0..block_size { // TODO: is this sufficiently optimisable or better to convert to u64 first? - state[i] ^= input[i+offset]; + state[i] ^= input[i + offset]; } offset += block_size; } @@ -181,12 +210,12 @@ fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { // === Do the padding and switch to the squeezing phase === state[block_size] ^= suffix; - if ((suffix & 0x80) != 0) && (block_size == (max_block_size-1)) { + if ((suffix & 0x80) != 0) && (block_size == (max_block_size - 1)) { // TODO: condition is almost always false — in fact tests pass without // this block! So why is it here? keccak(&mut state); } - state[max_block_size-1] ^= 0x80; + state[max_block_size - 1] ^= 0x80; keccak(&mut state); // === Squeeze out all the output blocks === @@ -215,9 +244,11 @@ fn right_encode(mut x: usize) -> Vec { } /// Hash the `input` message, with the given `customization` string, to `output_len` bytes. -pub fn kangaroo_twelve, TB: AsRef<[u8]>>(input: TA, - customization: TB, output_len: usize) -> Vec -{ +pub fn kangaroo_twelve( + input: impl AsRef<[u8]>, + customization: impl AsRef<[u8]>, + output_len: usize, +) -> Vec { let b = 8192; let c = 256; @@ -230,8 +261,8 @@ pub fn kangaroo_twelve, TB: AsRef<[u8]>>(input: TA, let n = (slice.len() + b - 1) / b; let mut slices = Vec::with_capacity(n); // Si for i in 0..n { - let ub = min((i+1)*b, slice.len()); - slices.push(&slice[i*b .. ub]); + let ub = min((i + 1) * b, slice.len()); + slices.push(&slice[i * b..ub]); } if n == 1 { @@ -240,18 +271,18 @@ pub fn kangaroo_twelve, TB: AsRef<[u8]>>(input: TA, } else { // === Process the tree with kangaroo hopping === // TODO: in parallel - let mut intermediate = Vec::with_capacity(n-1); // CVi - for i in 0..n-1 { - intermediate.push(f(slices[i+1], 0x0B, c/8)); + let mut intermediate = Vec::with_capacity(n - 1); // CVi + for i in 0..n - 1 { + intermediate.push(f(slices[i + 1], 0x0B, c / 8)); } let mut node_star = Vec::new(); node_star.extend_from_slice(slices[0]); - node_star.extend_from_slice(&[3,0,0,0,0,0,0,0]); - for i in 0..n-1 { + node_star.extend_from_slice(&[3, 0, 0, 0, 0, 0, 0, 0]); + for i in 0..n - 1 { node_star.extend_from_slice(&intermediate[i][..]); } - node_star.extend_from_slice(&right_encode(n-1)); + node_star.extend_from_slice(&right_encode(n - 1)); node_star.extend_from_slice(b"\xFF\xFF"); f(&node_star[..], 0x06, output_len) @@ -266,9 +297,9 @@ mod test { fn read_bytes>(s: T) -> Vec { fn b(c: u8) -> u8 { match c { - b'0' ... b'9' => c - b'0', - b'a' ... b'f' => c - b'a' + 10, - b'A' ... b'F' => c - b'A' + 10, + b'0'..=b'9' => c - b'0', + b'a'..=b'f' => c - b'a' + 10, + b'A'..=b'F' => c - b'A' + 10, _ => unreachable!(), } } @@ -276,9 +307,12 @@ mod test { let mut i = 0; let mut v = Vec::new(); while i < s.len() { - if s[i] == b' ' || s[i] == b'\n' { i += 1; continue; } + if s[i] == b' ' || s[i] == b'\n' { + i += 1; + continue; + } - let n = b(s[i]) * 16 + b(s[i+1]); + let n = b(s[i]) * 16 + b(s[i + 1]); v.push(n); i += 2; } @@ -288,15 +322,30 @@ mod test { #[test] fn empty() { // Source: reference paper - assert_eq!(kangaroo_twelve("", "", 32), read_bytes("1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca - 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5")); - - assert_eq!(kangaroo_twelve("", "", 64), read_bytes("1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + assert_eq!( + kangaroo_twelve("", "", 32), + read_bytes( + "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" + ) + ); + + assert_eq!( + kangaroo_twelve("", "", 64), + read_bytes( + "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e - 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71")); - - assert_eq!(kangaroo_twelve("", "", 10032)[10000..], read_bytes("e8 dc 56 36 42 f7 22 8c 84 - 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d")[..]); + 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71" + ) + ); + + assert_eq!( + kangaroo_twelve("", "", 10032)[10000..], + read_bytes( + "e8 dc 56 36 42 f7 22 8c 84 + 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" + )[..] + ); } #[test] @@ -315,8 +364,11 @@ mod test { "84 4d 61 09 33 b1 b9 96 3c bd eb 5a e3 b6 b0 5c c7 cb d6 7c ee df 88 3e b6 78 a0 a8 e0 37 16 82", "3c 39 07 82 a8 a4 e8 9f a6 36 7f 72 fe aa f1 32 55 c8 d9 58 - 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8"]; - for i in 0..5 /*NOTE: can be up to 7 but is slow*/ { + 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8", + ]; + for i in 0..5 + /*NOTE: can be up to 7 but is slow*/ + { let len = 17usize.pow(i); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); let result = kangaroo_twelve(m, "", 32); @@ -334,7 +386,8 @@ mod test { "c3 89 e5 00 9a e5 71 20 85 4c 2e 8c 64 67 0a c0 13 58 cf 4c 1b af 89 44 7a 72 42 34 dc 7c ed 74", "75 d2 f8 6a 2e 64 45 66 72 6b 4f bc fc 56 57 b9 db cf 07 0c - 7b 0d ca 06 45 0a b2 91 d7 44 3b cf"]; + 7b 0d ca 06 45 0a b2 91 d7 44 3b cf", + ]; for i in 0..4 { let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); let len = 41usize.pow(i); diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index daea382cb..e01cd0cb1 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -17,7 +17,7 @@ digest = "0.8" block-buffer = "0.7" fake-simd = "0.1" opaque-debug = "0.2" -sha2-asm = { version="0.5", optional=true } +sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } [dev-dependencies] From 63764e5ae4761b60ca89c43a81cb801924efcac1 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 24 May 2020 09:21:13 -0700 Subject: [PATCH 022/373] k12: skip no_std build in CI; add basic no_std fixups The code presently makes liberal usage of `Vec`. This makes the code `no_std` + liballoc compatible, but also skips the `no_std` build in CI as it's not compatible yet. --- .travis.yml | 4 ++-- build_nostd.sh | 2 +- k12/src/lib.rs | 11 +++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index e8055bc61..6f809fe13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,8 @@ sudo: required matrix: include: - - rust: 1.31.0 - script: cargo test --verbose --all --release + - rust: 1.21.0 + script: cargo test --verbose --all --exclude k12 --release - rust: stable script: cargo test --verbose --all --release - rust: nightly diff --git a/build_nostd.sh b/build_nostd.sh index 77a77072f..f670d3b97 100755 --- a/build_nostd.sh +++ b/build_nostd.sh @@ -6,7 +6,7 @@ DIRS=`ls -d */` cargo clean for DIR in $DIRS; do - if [ $DIR = "target/" ] + if [ $DIR = "target/" ] || [ $DIR = "k12/" ] then continue fi diff --git a/k12/src/lib.rs b/k12/src/lib.rs index b64e855a9..e8d5665bc 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -5,7 +5,14 @@ //! //! Some optimisations copied from: -use std::cmp::min; +#![no_std] + +extern crate alloc; + +use core::cmp::min; + +// TODO(tarcieri): eliminate usage of `Vec` +use alloc::vec::Vec; #[macro_use] mod macros { @@ -292,7 +299,7 @@ pub fn kangaroo_twelve( #[cfg(test)] mod test { use super::*; - use std::iter; + use core::iter; fn read_bytes>(s: T) -> Vec { fn b(c: u8) -> u8 { From 5263138bff0210c58d20bfdcbc729fccb99853f3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 24 May 2020 10:19:31 -0700 Subject: [PATCH 023/373] k12 v0.0.1 --- k12/CHANGELOG.md | 9 +++++++++ k12/Cargo.toml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 k12/CHANGELOG.md diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md new file mode 100644 index 000000000..c8cb3ad00 --- /dev/null +++ b/k12/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.0.1 (2020-05-24) +- Initial release diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 2f163efa3..1c31aed0a 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.0.0" +version = "0.0.1" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" description = "Pure Rust implementation of the KangarooTwelve hash function" From 063a09d3373e2f5e0aa7399ed3eecee885fe9065 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 24 May 2020 10:53:55 -0700 Subject: [PATCH 024/373] README.md: fix SHABAL docs badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 45643d845..813caae3e 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ BLAKE2, SHA-2 or SHA-3. | [SHA-1](https://en.wikipedia.org/wiki/SHA-1) [:exclamation:](#crate-names) | | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | :broken_heart: | | [SHA-2](https://en.wikipedia.org/wiki/SHA-2) | | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | :green_heart: | | [SHA-3](https://en.wikipedia.org/wiki/SHA-3) | Keccak | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | :green_heart: | -| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal.svg)](https://docs.rs/shabal) | :green_heart: | +| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | :green_heart: | | [Streebog](https://en.wikipedia.org/wiki/Streebog) | GOST R 34.11-2012 | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | :yellow_heart: | | [Whirlpool](https://en.wikipedia.org/wiki/Whirlpool_(cryptography)) | | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | :green_heart: | From 3e940677163cfb7d1cc818d88ef927caa7d04899 Mon Sep 17 00:00:00 2001 From: George Tankersley Date: Tue, 27 Feb 2018 00:00:00 +0000 Subject: [PATCH 025/373] blake2: add plumbing for new salt and persona parameters --- blake2/src/blake2.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 8667b1941..2e1b5af10 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -80,6 +80,11 @@ macro_rules! blake2_impl { /// make sure to compare codes in constant time! It can be done /// for example by using `subtle` crate. pub fn new_keyed(key: &[u8], output_size: usize) -> Self { + Self::with_params(key, &[], &[], output_size) + } + + /// Creates a new hashing context with the full set of sequential-mode parameters. + pub fn with_params(key: &[u8], salt: &[u8], persona: &[u8], output_size: usize) -> Self { let kk = key.len(); assert!(kk <= $bytes::to_usize()); assert!(output_size <= $bytes::to_usize()); From c8a738c078c7d91fa9a97622f0b8f2745d7ce311 Mon Sep 17 00:00:00 2001 From: George Tankersley Date: Thu, 1 Mar 2018 00:00:00 +0000 Subject: [PATCH 026/373] blake2: add support for salting and personalization --- blake2/Cargo.toml | 1 + blake2/src/blake2.rs | 60 +++++++++++++++++++++++++++++++++---------- blake2/src/blake2b.rs | 2 +- blake2/src/blake2s.rs | 2 +- blake2/src/lib.rs | 1 + 5 files changed, 51 insertions(+), 15 deletions(-) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 5bcf08c11..1d67a1aa9 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,6 +12,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.8" byte-tools = "0.3" +byteorder = "1" crypto-mac = "0.7" opaque-debug = "0.2" diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 2e1b5af10..79607ba6c 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -1,6 +1,6 @@ macro_rules! blake2_impl { ( - $state:ident, $fix_state:ident, $word:ident, $vec:ident, $bytes:ident, + $state:ident, $fix_state:ident, $word:ident, $vec:ident, $pack:ident, $bytes:ident, $block_size:ident, $R1:expr, $R2:expr, $R3:expr, $R4:expr, $IV:expr, $vardoc:expr, $doc:expr, ) => { @@ -8,11 +8,13 @@ macro_rules! blake2_impl { use $crate::as_bytes::AsBytes; use $crate::simd::{Vector4, $vec}; + use byteorder::{ByteOrder, LittleEndian}; use digest::{Input, BlockInput, FixedOutput, VariableOutput, Reset}; use digest::InvalidOutputSize; use digest::generic_array::GenericArray; - use digest::generic_array::typenum::Unsigned; + use digest::generic_array::typenum::{U4, Unsigned}; use core::cmp; + use core::ops::Div; use byte_tools::{copy, zero}; use crypto_mac::{Mac, MacResult, InvalidKeyLength}; @@ -89,19 +91,43 @@ macro_rules! blake2_impl { assert!(kk <= $bytes::to_usize()); assert!(output_size <= $bytes::to_usize()); - let p0 = 0x0101_0000 ^ ((kk as $word) << 8) ^ + // The number of bytes needed to express two words. + let length = $bytes::to_usize()/4; + assert!(salt.len() <= length); + assert!(persona.len() <= length); + + // Build a parameter block + let mut p = [0 as $word; 8]; + p[0] = 0x0101_0000 ^ ((kk as $word) << 8) ^ (output_size as $word); - let h0 = [iv0() ^ $vec::new(p0, 0, 0, 0), iv1()]; - let mut state = $state { - m: [0; 16], - h: h0, - t: 0, - n: output_size, - t0: 0, - m0: [0; 16], - h0: h0, - }; + // salt is two words long + if salt.len() < length { + let mut padded_salt = GenericArray::>::Output>::default(); + for i in 0..salt.len() { + padded_salt[i] = salt[i]; + } + p[4] = LittleEndian::$pack(&padded_salt[0 .. length/2]); + p[5] = LittleEndian::$pack(&padded_salt[length/2 .. padded_salt.len()]); + } else { + p[4] = LittleEndian::$pack(&salt[0 .. salt.len()/2]); + p[5] = LittleEndian::$pack(&salt[salt.len()/2 .. salt.len()]); + } + + // persona is also two words long + if persona.len() < length { + let mut padded_persona = GenericArray::>::Output>::default(); + for i in 0..persona.len() { + padded_persona[i] = persona[i]; + } + p[6] = LittleEndian::$pack(&padded_persona[0 .. length/2]); + p[7] = LittleEndian::$pack(&padded_persona[length/2 .. padded_persona.len()]); + } else { + p[6] = LittleEndian::$pack(&persona[0 .. length/2]); + p[7] = LittleEndian::$pack(&persona[length/2 .. persona.len()]); + } + + let mut state = Self::with_parameter_block(&p); if kk > 0 { copy(key, state.m.as_mut_bytes()); @@ -288,6 +314,14 @@ macro_rules! blake2_impl { state: $state, } + impl $fix_state { + /// Creates a new hashing context with the full set of sequential-mode parameters. + pub fn with_params(key: &[u8], salt: &[u8], persona: &[u8]) -> Self { + let state = $state::with_params(key, salt, persona, $bytes::to_usize()); + Self { state } + } + } + impl Default for $fix_state { fn default() -> Self { let state = $state::new_keyed(&[], $bytes::to_usize()); diff --git a/blake2/src/blake2b.rs b/blake2/src/blake2b.rs index c687adc01..69a16e044 100644 --- a/blake2/src/blake2b.rs +++ b/blake2/src/blake2b.rs @@ -1,7 +1,7 @@ use digest::generic_array::typenum::{U64, U128}; use consts::BLAKE2B_IV; -blake2_impl!(VarBlake2b, Blake2b, u64, u64x4, U64, U128, +blake2_impl!(VarBlake2b, Blake2b, u64, u64x4, read_u64, U64, U128, 32, 24, 16, 63, BLAKE2B_IV, "Blake2b instance with a variable output.", "Blake2b instance with a fixed output.", diff --git a/blake2/src/blake2s.rs b/blake2/src/blake2s.rs index daa744691..8c74a9b8b 100644 --- a/blake2/src/blake2s.rs +++ b/blake2/src/blake2s.rs @@ -1,7 +1,7 @@ use digest::generic_array::typenum::{U32, U64}; use consts::BLAKE2S_IV; -blake2_impl!(VarBlake2s, Blake2s, u32, u32x4, U32, U64, +blake2_impl!(VarBlake2s, Blake2s, u32, u32x4, read_u32, U32, U64, 16, 12, 8, 7, BLAKE2S_IV, "Blake2s instance with a variable output.", "Blake2s instance with a fixed output.", diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 6d645d688..a7fe29c41 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -94,6 +94,7 @@ #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; extern crate byte_tools; +extern crate byteorder; pub extern crate crypto_mac; #[cfg(feature = "std")] From 12de81636a0a1ba36e5e70fb26408c711e40c4fc Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 10 Apr 2019 22:13:20 -0700 Subject: [PATCH 027/373] blake2: add basic personalization tests Co-authored-by: George Tankersley --- blake2/tests/persona.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 blake2/tests/persona.rs diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs new file mode 100644 index 000000000..ff5f72a6c --- /dev/null +++ b/blake2/tests/persona.rs @@ -0,0 +1,24 @@ +#[macro_use] +extern crate hex_literal; + +extern crate blake2; + +use blake2::{Blake2b, Blake2s, Digest}; + +#[test] +fn blake2s_persona() { + let key_bytes = hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); + let persona = "personal"; + let persona_bytes = persona.as_bytes(); + let ctx = Blake2s::with_params(&key_bytes, &[], persona_bytes); + assert_eq!(ctx.result().as_slice(), &hex!("25a4ee63b594aed3f88a971e1877ef7099534f9097291f88fb86c79b5e70d022")[..]); +} + +#[test] +fn blake2b_persona() { + let key_bytes = hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); + let persona = "personal"; + let persona_bytes = persona.as_bytes(); + let ctx = Blake2b::with_params(&key_bytes, &[], persona_bytes); + assert_eq!(ctx.result().as_slice(), &hex!("03de3b295dcfc3b25b05abb09bc95fe3e9ff3073638badc68101d1e42019d0771dd07525a3aae8318e92c5e5d967ba92e4810d0021d7bf3b49da0b4b4a8a4e1f")[..]); +} From 1a7ecbb541854cbb99aa3547396dea3ce3c11701 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 11 Apr 2019 05:47:21 -0700 Subject: [PATCH 028/373] Hook the byteorder crate's no_std support into Cargo.toml --- blake2/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 1d67a1aa9..eb1bc7309 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,7 +12,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.8" byte-tools = "0.3" -byteorder = "1" +byteorder = { version = "1", default-features = false } crypto-mac = "0.7" opaque-debug = "0.2" @@ -23,7 +23,7 @@ hex-literal = "0.1" [features] default = ["std"] -std = ["digest/std", "crypto-mac/std"] +std = ["digest/std", "byteorder/std", "crypto-mac/std"] simd = [] simd_opt = ["simd"] simd_asm = ["simd_opt"] From 79672446dd4b4649c45e8fdc6f4babce2f6d0526 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 26 May 2020 16:59:43 +0300 Subject: [PATCH 029/373] describe how to disable the `std` feature (#113) --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 813caae3e..72871b997 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,14 @@ First add `blake2` crate to your `Cargo.toml`: blake2 = "0.8" ``` +Note that crates in this repository have an enabled by default `std` feature. +So if you plan to use the crate in `no_std` enviroments, don't forget to disable it: + +```toml +[dependencies] +blake2 = { version="0.8", default-features = false } +``` + `blake2` and other crates re-export `digest` crate and `Digest` trait for convenience, so you don't have to add `digest` crate as an explicit dependency. From 963752229f643df8dcb2f6dd2d5429f1cf6b4375 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 09:03:28 -0700 Subject: [PATCH 030/373] Switch to GitHub Actions; MSRV 1.41+ The MSRV bump is necessary to check in a merge-friendly Cargo.lock (which is helpful for caching). We'll want to do this bump anyway soon for `generic-array` v0.14. See: --- .github/workflows/blake2.yml | 67 +++++++++++++++++++++++++++++++++ .github/workflows/gost94.yml | 55 +++++++++++++++++++++++++++ .github/workflows/groestl.yml | 54 ++++++++++++++++++++++++++ .github/workflows/k12.yml | 55 +++++++++++++++++++++++++++ .github/workflows/md2.yml | 55 +++++++++++++++++++++++++++ .github/workflows/md4.yml | 55 +++++++++++++++++++++++++++ .github/workflows/md5.yml | 56 +++++++++++++++++++++++++++ .github/workflows/ripemd160.yml | 55 +++++++++++++++++++++++++++ .github/workflows/ripemd320.yml | 55 +++++++++++++++++++++++++++ .github/workflows/sha1.yml | 54 ++++++++++++++++++++++++++ .github/workflows/sha2.yml | 54 ++++++++++++++++++++++++++ .github/workflows/sha3.yml | 54 ++++++++++++++++++++++++++ .github/workflows/shabal.yml | 54 ++++++++++++++++++++++++++ .github/workflows/streebog.yml | 55 +++++++++++++++++++++++++++ .github/workflows/whirlpool.yml | 56 +++++++++++++++++++++++++++ .travis.yml | 46 ---------------------- README.md | 2 +- blake2/Cargo.toml | 3 -- build_nostd.sh | 19 ---------- gost94/Cargo.toml | 3 -- groestl/Cargo.toml | 3 -- k12/Cargo.toml | 6 +-- k12/src/lib.rs | 7 +++- md2/Cargo.toml | 3 -- md4/Cargo.toml | 3 -- md5/Cargo.toml | 3 -- ripemd160/Cargo.toml | 3 -- ripemd320/Cargo.toml | 3 -- sha1/Cargo.toml | 3 -- sha2/Cargo.toml | 4 -- sha3/Cargo.toml | 3 -- shabal/Cargo.toml | 3 -- shabal/README.md | 2 - streebog/Cargo.toml | 3 -- test_features.sh | 6 --- whirlpool/Cargo.toml | 3 -- 36 files changed, 841 insertions(+), 124 deletions(-) create mode 100644 .github/workflows/blake2.yml create mode 100644 .github/workflows/gost94.yml create mode 100644 .github/workflows/groestl.yml create mode 100644 .github/workflows/k12.yml create mode 100644 .github/workflows/md2.yml create mode 100644 .github/workflows/md4.yml create mode 100644 .github/workflows/md5.yml create mode 100644 .github/workflows/ripemd160.yml create mode 100644 .github/workflows/ripemd320.yml create mode 100644 .github/workflows/sha1.yml create mode 100644 .github/workflows/sha2.yml create mode 100644 .github/workflows/sha3.yml create mode 100644 .github/workflows/shabal.yml create mode 100644 .github/workflows/streebog.yml create mode 100644 .github/workflows/whirlpool.yml delete mode 100644 .travis.yml delete mode 100755 build_nostd.sh delete mode 100755 test_features.sh diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml new file mode 100644 index 000000000..26f0ab2c3 --- /dev/null +++ b/.github/workflows/blake2.yml @@ -0,0 +1,67 @@ +name: blake2 + +on: + pull_request: + paths: + - "blake2/**" + - "Cargo.*" + push: + branches: master + paths: + - "blake2/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + working-directory: blake2 + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + working-directory: blake2 + - run: cargo test + working-directory: blake2 + simd: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly + override: true + - run: cargo test --features simd + working-directory: blake2 + - run: cargo test --features simd_opt + working-directory: blake2 + - run: cargo test --features simd_asm + working-directory: blake2 diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml new file mode 100644 index 000000000..8854be792 --- /dev/null +++ b/.github/workflows/gost94.yml @@ -0,0 +1,55 @@ +name: gost94 + +on: + pull_request: + paths: + - "gost94/**" + - "Cargo.*" + push: + branches: master + paths: + - "gost94/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: gost94 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: gost94 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml new file mode 100644 index 000000000..165b33163 --- /dev/null +++ b/.github/workflows/groestl.yml @@ -0,0 +1,54 @@ +name: groestl + +on: + pull_request: + paths: + - "groestl/**" + - "Cargo.*" + push: + branches: master + paths: + - "groestl/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: groestl + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: groestl + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml new file mode 100644 index 000000000..83f196308 --- /dev/null +++ b/.github/workflows/k12.yml @@ -0,0 +1,55 @@ +name: k12 + +on: + pull_request: + paths: + - "k12/**" + - "Cargo.*" + push: + branches: master + paths: + - "k12/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + # - thumbv7em-none-eabi # TODO: no_std w/o liballoc + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: k12 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: k12 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml new file mode 100644 index 000000000..e09b4b332 --- /dev/null +++ b/.github/workflows/md2.yml @@ -0,0 +1,55 @@ +name: md2 + +on: + pull_request: + paths: + - "md2/**" + - "Cargo.*" + push: + branches: master + paths: + - "md2/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: md2 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: md2 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml new file mode 100644 index 000000000..af9a9baf5 --- /dev/null +++ b/.github/workflows/md4.yml @@ -0,0 +1,55 @@ +name: md4 + +on: + pull_request: + paths: + - "md4/**" + - "Cargo.*" + push: + branches: master + paths: + - "md4/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: md4 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: md4 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml new file mode 100644 index 000000000..2529c510d --- /dev/null +++ b/.github/workflows/md5.yml @@ -0,0 +1,56 @@ +name: md5 + +on: + pull_request: + paths: + - "md5/**" + - "Cargo.*" + push: + branches: master + paths: + - "md5/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + working-directory: md5 + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check + working-directory: md5 + - run: cargo test --no-default-features + working-directory: md5 + - run: cargo test + working-directory: md5 + - run: cargo test --features asm + working-directory: md5 diff --git a/.github/workflows/ripemd160.yml b/.github/workflows/ripemd160.yml new file mode 100644 index 000000000..1e6cd1aca --- /dev/null +++ b/.github/workflows/ripemd160.yml @@ -0,0 +1,55 @@ +name: ripemd160 + +on: + pull_request: + paths: + - "ripemd160/**" + - "Cargo.*" + push: + branches: master + paths: + - "ripemd160/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: ripemd160 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: ripemd160 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/ripemd320.yml b/.github/workflows/ripemd320.yml new file mode 100644 index 000000000..9c0932fcd --- /dev/null +++ b/.github/workflows/ripemd320.yml @@ -0,0 +1,55 @@ +name: ripemd320 + +on: + pull_request: + paths: + - "ripemd320/**" + - "Cargo.*" + push: + branches: master + paths: + - "ripemd320/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: ripemd320 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: ripemd320 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml new file mode 100644 index 000000000..457ddcf96 --- /dev/null +++ b/.github/workflows/sha1.yml @@ -0,0 +1,54 @@ +name: sha1 + +on: + pull_request: + paths: + - "sha1/**" + - "Cargo.*" + push: + branches: master + paths: + - "sha1/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + working-directory: sha1 + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + working-directory: sha1 + - run: cargo test + working-directory: sha1 + - run: cargo test --features asm + working-directory: sha1 diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml new file mode 100644 index 000000000..b54bc429d --- /dev/null +++ b/.github/workflows/sha2.yml @@ -0,0 +1,54 @@ +name: sha2 + +on: + pull_request: + paths: + - "sha2/**" + - "Cargo.*" + push: + branches: master + paths: + - "sha2/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + working-directory: sha2 + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + working-directory: sha2 + - run: cargo test + working-directory: sha2 + - run: cargo test --features asm + working-directory: sha2 diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml new file mode 100644 index 000000000..62688f021 --- /dev/null +++ b/.github/workflows/sha3.yml @@ -0,0 +1,54 @@ +name: sha3 + +on: + pull_request: + paths: + - "sha3/**" + - "Cargo.*" + push: + branches: master + paths: + - "sha3/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: sha3 + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: sha3 + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml new file mode 100644 index 000000000..f27e77b59 --- /dev/null +++ b/.github/workflows/shabal.yml @@ -0,0 +1,54 @@ +name: shabal + +on: + pull_request: + paths: + - "shabal/**" + - "Cargo.*" + push: + branches: master + paths: + - "shabal/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: shabal + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: shabal + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml new file mode 100644 index 000000000..7fc0803ad --- /dev/null +++ b/.github/workflows/streebog.yml @@ -0,0 +1,55 @@ +name: streebog + +on: + pull_request: + paths: + - "streebog/**" + - "Cargo.*" + push: + branches: master + paths: + - "streebog/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: streebog + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: streebog + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --all-features + diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml new file mode 100644 index 000000000..ebbd65c21 --- /dev/null +++ b/.github/workflows/whirlpool.yml @@ -0,0 +1,56 @@ +name: whirlpool + +on: + pull_request: + paths: + - "whirlpool/**" + - "Cargo.*" + push: + branches: master + paths: + - "whirlpool/**" + - "Cargo.*" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - working-directory: whirlpool + run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - working-directory: whirlpool + run: | + cargo check --all-features + cargo test --no-default-features + cargo test + cargo test --features asm + cargo test --all-features + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6f809fe13..000000000 --- a/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -language: rust -services: docker -sudo: required - -matrix: - include: - - rust: 1.21.0 - script: cargo test --verbose --all --exclude k12 --release - - rust: stable - script: cargo test --verbose --all --release - - rust: nightly - script: cargo test --verbose --all --release - - - env: TARGET=i686-unknown-linux-gnu - rust: stable - - env: TARGET=powerpc-unknown-linux-gnu - rust: stable - - env: TARGET=powerpc64-unknown-linux-gnu - rust: stable - # tests if crates truly can be built without std - - env: TARGET=thumbv7em-none-eabi - rust: nightly - script: ./build_nostd.sh - install: - - cargo install xargo || true - - rustup target install armv7-unknown-linux-gnueabihf - - rustup component add rust-src - - env: NAME=features-test - rust: nightly - script: ./test_features.sh - - env: NAME=test-aarch64 - arch: arm64 - rust: nightly - script: - - cd sha1 - - cargo test --verbose --release --features asm-aarch64 - - cd ../sha2 - - cargo test --verbose --release --features asm-aarch64 - -install: - - cargo install cross || true - -script: - - cross test --verbose --all --release --target $TARGET - -cache: cargo diff --git a/README.md b/README.md index 72871b997..e7fdf234a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RustCrypto: hashes [![Build Status](https://travis-ci.org/RustCrypto/hashes.svg?branch=master)](https://travis-ci.org/RustCrypto/hashes) +# RustCrypto: hashes Collection of [cryptographic hash functions][1] written in pure Rust. diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index eb1bc7309..baeb7664e 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -27,6 +27,3 @@ std = ["digest/std", "byteorder/std", "crypto-mac/std"] simd = [] simd_opt = ["simd"] simd_asm = ["simd_opt"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/build_nostd.sh b/build_nostd.sh deleted file mode 100755 index f670d3b97..000000000 --- a/build_nostd.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Due to the fact that cargo does not disable default features when we use -# cargo build --all --no-default-features we have to explicitly iterate over -# all crates (see https://github.com/rust-lang/cargo/issues/4753 ) -DIRS=`ls -d */` -cargo clean - -for DIR in $DIRS; do - if [ $DIR = "target/" ] || [ $DIR = "k12/" ] - then - continue - fi - cd $DIR - xargo build --no-default-features --verbose --target $TARGET || { - echo $DIR failed - exit 1 - } - cd .. -done diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 5fe7efafd..c150dfa49 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 395158b7e..325c8c2b5 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 1c31aed0a..8da559c0b 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -3,7 +3,7 @@ name = "k12" version = "0.0.1" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" -description = "Pure Rust implementation of the KangarooTwelve hash function" +description = "Experimental pure Rust implementation of the KangarooTwelve hash function" documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] @@ -19,7 +19,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -maintenance = { status = "experimental" } -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/k12/src/lib.rs b/k12/src/lib.rs index e8d5665bc..1044e6292 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -1,10 +1,13 @@ -//! An implementation of the KangarooTwelve cryptographic hash algorithm, -//! based on the reference implementation: +//! Experimental pure Rust implementation of the KangarooTwelve +//! cryptographic hash algorithm, based on the reference implementation: //! //! //! //! Some optimisations copied from: +// Based off this translation originally by Diggory Hardy: +// + #![no_std] extern crate alloc; diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 9db8be33d..072177eeb 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 69c4790ff..20f3ade0c 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -22,6 +22,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 206104eb7..992841229 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -26,6 +26,3 @@ hex-literal = "0.1" default = ["std"] std = ["digest/std"] asm = ["md5-asm"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 210cf94f1..d35003a08 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index e11a75f57..e72e5e987 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index a5f40e99c..504483ce5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -32,6 +32,3 @@ asm = ["sha1-asm"] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. # Only used on AArch64 Linux systems, when built without the crypto target_feature. asm-aarch64 = ["asm", "libc"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e01cd0cb1..a4ebcb6dc 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -33,7 +33,3 @@ compress = [] # TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. # Only used on AArch64 Linux systems, when built without the crypto target_feature. asm-aarch64 = ["asm", "libc"] - -[badges] -maintenance = { status = "actively-developed" } -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index cdfb74e3e..81c2b09f8 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -23,6 +23,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 82242a883..bc9e31c44 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -21,6 +21,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } \ No newline at end of file diff --git a/shabal/README.md b/shabal/README.md index 820e9b74a..ce9478480 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -1,5 +1,3 @@ -[![Build Status](https://travis-ci.org/spebern/shabal-rs.svg?branch=master)](https://travis-ci.org/spebern/shabal-rs) [![dependency status](https://deps.rs/repo/github/spebern/shabal-rs/status.svg)](https://deps.rs/repo/github/spebern/shabal-rs) - # shabal An implementation of the [Shabal][1] cryptographic hash algorithm. diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index cc00de0c9..969ac03cc 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -22,6 +22,3 @@ hex-literal = "0.1" [features] default = ["std"] std = ["digest/std"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } diff --git a/test_features.sh b/test_features.sh deleted file mode 100755 index 03747f87b..000000000 --- a/test_features.sh +++ /dev/null @@ -1,6 +0,0 @@ -cd md5 && cargo test --features asm && cd .. && -cd sha1 && cargo test --features asm && cd .. && -cd whirlpool && cargo test --features asm && cd .. && -cd blake2 && cargo test --features simd && - cargo test --features simd_opt && - cargo test --features simd_asm diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index a45ef6a5b..64caa7d07 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -24,6 +24,3 @@ hex-literal = "0.1" default = ["std"] std = ["digest/std"] asm = ["whirlpool-asm"] - -[badges] -travis-ci = { repository = "RustCrypto/hashes" } From 723b84c52e46d10ba43c9a299de59dea7751b03d Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 10:05:03 -0700 Subject: [PATCH 031/373] k12: refactoring - Moves macros and lanes into the `lanes` module - Extracts a `KangarooTwelve`-like type with a `Digest`-like interface Doesn't actually impl any traits yet: will circle back on that after the 2018 edition upgrade. --- k12/src/lanes.rs | 145 +++++++++++++++++++++++ k12/src/lib.rs | 299 ++++++++++++++--------------------------------- 2 files changed, 231 insertions(+), 213 deletions(-) create mode 100644 k12/src/lanes.rs diff --git a/k12/src/lanes.rs b/k12/src/lanes.rs new file mode 100644 index 000000000..2dc2fb9f9 --- /dev/null +++ b/k12/src/lanes.rs @@ -0,0 +1,145 @@ +/// Copied from `arrayref` crate +macro_rules! array_ref { + ($arr:expr, $offset:expr, $len:expr) => {{ + { + #[inline] + unsafe fn as_array(slice: &[T]) -> &[T; $len] { + &*(slice.as_ptr() as *const [_; $len]) + } + let offset = $offset; + let slice = &$arr[offset..offset + $len]; + unsafe { as_array(slice) } + } + }}; +} + +macro_rules! REPEAT4 { + ($e: expr) => { + $e; + $e; + $e; + $e; + }; +} + +macro_rules! REPEAT5 { + ($e: expr) => { + $e; + $e; + $e; + $e; + $e; + }; +} + +macro_rules! REPEAT6 { + ($e: expr) => { + $e; + $e; + $e; + $e; + $e; + $e; + }; +} + +macro_rules! REPEAT24 { + ($e: expr, $s: expr) => { + REPEAT6!({ + $e; + $s; + }); + REPEAT6!({ + $e; + $s; + }); + REPEAT6!({ + $e; + $s; + }); + REPEAT5!({ + $e; + $s; + }); + $e; + }; +} + +macro_rules! FOR5 { + ($v: expr, $s: expr, $e: expr) => { + $v = 0; + REPEAT4!({ + $e; + $v += $s; + }); + $e; + }; +} + +pub const RC: [u64; 12] = [ + 0x000000008000808b, + 0x800000000000008b, + 0x8000000000008089, + 0x8000000000008003, + 0x8000000000008002, + 0x8000000000000080, + 0x000000000000800a, + 0x800000008000000a, + 0x8000000080008081, + 0x8000000000008080, + 0x0000000080000001, + 0x8000000080008008, +]; + +// (0..24).map(|t| ((t+1)*(t+2)/2) % 64) +pub const RHO: [u32; 24] = [ + 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44, +]; +pub const PI: [usize; 24] = [ + 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1, +]; + +pub fn keccak(lanes: &mut [u64; 25]) { + let mut c = [0u64; 5]; + let (mut x, mut y): (usize, usize); + + for round in 0..12 { + // θ + FOR5!(x, 1, { + c[x] = lanes[x] ^ lanes[x + 5] ^ lanes[x + 10] ^ lanes[x + 15] ^ lanes[x + 20]; + }); + + FOR5!(x, 1, { + FOR5!(y, 5, { + lanes[x + y] ^= c[(x + 4) % 5] ^ c[(x + 1) % 5].rotate_left(1); + }); + }); + + // Ï and Ï€ + let mut a = lanes[1]; + x = 0; + REPEAT24!( + { + c[0] = lanes[PI[x]]; + lanes[PI[x]] = a.rotate_left(RHO[x]); + }, + { + a = c[0]; + x += 1; + } + ); + + // χ + FOR5!(y, 5, { + FOR5!(x, 1, { + c[x] = lanes[x + y]; + }); + FOR5!(x, 1, { + lanes[x + y] = c[x] ^ ((!c[(x + 1) % 5]) & c[(x + 2) % 5]); + }); + }); + + // ι + lanes[0] ^= RC[round]; + } +} diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 1044e6292..abb451eae 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -12,186 +12,81 @@ extern crate alloc; -use core::cmp::min; +#[macro_use] +mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; +use core::cmp::min; -#[macro_use] -mod macros { - /// Copied from `arrayref` crate - macro_rules! array_ref { - ($arr:expr, $offset:expr, $len:expr) => {{ - { - #[inline] - unsafe fn as_array(slice: &[T]) -> &[T; $len] { - &*(slice.as_ptr() as *const [_; $len]) - } - let offset = $offset; - let slice = &$arr[offset..offset + $len]; - unsafe { as_array(slice) } - } - }}; - } - - macro_rules! REPEAT4 { - ($e: expr) => { - $e; - $e; - $e; - $e; - }; - } - - macro_rules! REPEAT5 { - ($e: expr) => { - $e; - $e; - $e; - $e; - $e; - }; - } +/// The KangarooTwelve extendable-output function (XOF). +#[derive(Debug, Default)] +pub struct KangarooTwelve { + /// Input to be processed + // TODO(tarcieri): don't store input in a `Vec` + buffer: Vec, +} - macro_rules! REPEAT6 { - ($e: expr) => { - $e; - $e; - $e; - $e; - $e; - $e; - }; +impl KangarooTwelve { + /// Create a new [`KangarooTwelve`] instance + pub fn new() -> Self { + Self::default() } - macro_rules! REPEAT24 { - ($e: expr, $s: expr) => { - REPEAT6!({ - $e; - $s; - }); - REPEAT6!({ - $e; - $s; - }); - REPEAT6!({ - $e; - $s; - }); - REPEAT5!({ - $e; - $s; - }); - $e; - }; + /// Input data into the hash function + pub fn input(&mut self, bytes: &[u8]) { + self.buffer.extend_from_slice(bytes); } - macro_rules! FOR5 { - ($v: expr, $s: expr, $e: expr) => { - $v = 0; - REPEAT4!({ - $e; - $v += $s; - }); - $e; - }; + /// Chained input into the hash function + pub fn chain(mut self, bytes: &[u8]) -> Self { + self.input(bytes); + self } -} - -mod lanes { - pub const RC: [u64; 12] = [ - 0x000000008000808b, - 0x800000000000008b, - 0x8000000000008089, - 0x8000000000008003, - 0x8000000000008002, - 0x8000000000000080, - 0x000000000000800a, - 0x800000008000000a, - 0x8000000080008081, - 0x8000000000008080, - 0x0000000080000001, - 0x8000000080008008, - ]; - - // (0..24).map(|t| ((t+1)*(t+2)/2) % 64) - pub const RHO: [u32; 24] = [ - 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44, - ]; - pub const PI: [usize; 24] = [ - 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1, - ]; - - pub fn keccak(lanes: &mut [u64; 25]) { - let mut c = [0u64; 5]; - let (mut x, mut y): (usize, usize); - for round in 0..12 { - // θ - FOR5!(x, 1, { - c[x] = lanes[x] ^ lanes[x + 5] ^ lanes[x + 10] ^ lanes[x + 15] ^ lanes[x + 20]; - }); - - FOR5!(x, 1, { - FOR5!(y, 5, { - lanes[x + y] ^= c[(x + 4) % 5] ^ c[(x + 1) % 5].rotate_left(1); - }); - }); + /// Get the resulting output of the function + pub fn result(self, customization: impl AsRef<[u8]>, output_len: usize) -> Vec { + let b = 8192; + let c = 256; + + let mut slice = Vec::new(); // S + slice.extend_from_slice(self.buffer.as_ref()); + slice.extend_from_slice(customization.as_ref()); + slice.extend_from_slice(&right_encode(customization.as_ref().len())[..]); + + // === Cut the input string into chunks of b bytes === + let n = (slice.len() + b - 1) / b; + let mut slices = Vec::with_capacity(n); // Si + for i in 0..n { + let ub = min((i + 1) * b, slice.len()); + slices.push(&slice[i * b..ub]); + } - // Ï and Ï€ - let mut a = lanes[1]; - x = 0; - REPEAT24!( - { - c[0] = lanes[PI[x]]; - lanes[PI[x]] = a.rotate_left(RHO[x]); - }, - { - a = c[0]; - x += 1; - } - ); + if n == 1 { + // === Process the tree with only a final node === + f(slices[0], 0x07, output_len) + } else { + // === Process the tree with kangaroo hopping === + // TODO: in parallel + let mut intermediate = Vec::with_capacity(n - 1); // CVi + for i in 0..n - 1 { + intermediate.push(f(slices[i + 1], 0x0B, c / 8)); + } - // χ - FOR5!(y, 5, { - FOR5!(x, 1, { - c[x] = lanes[x + y]; - }); - FOR5!(x, 1, { - lanes[x + y] = c[x] ^ ((!c[(x + 1) % 5]) & c[(x + 2) % 5]); - }); - }); + let mut node_star = Vec::new(); + node_star.extend_from_slice(slices[0]); + node_star.extend_from_slice(&[3, 0, 0, 0, 0, 0, 0, 0]); + for i in 0..n - 1 { + node_star.extend_from_slice(&intermediate[i][..]); + } + node_star.extend_from_slice(&right_encode(n - 1)); + node_star.extend_from_slice(b"\xFF\xFF"); - // ι - lanes[0] ^= RC[round]; + f(&node_star[..], 0x06, output_len) } } } -fn read_u64(bytes: &[u8; 8]) -> u64 { - unsafe { *(bytes as *const [u8; 8] as *const u64) }.to_le() -} -fn write_u64(val: u64) -> [u8; 8] { - unsafe { *(&val.to_le() as *const u64 as *const [u8; 8]) } -} - -fn keccak(state: &mut [u8; 200]) { - let mut lanes = [0u64; 25]; - let mut y; - for x in 0..5 { - FOR5!(y, 5, { - lanes[x + y] = read_u64(array_ref!(state, 8 * (x + y), 8)); - }); - } - lanes::keccak(&mut lanes); - for x in 0..5 { - FOR5!(y, 5, { - let i = 8 * (x + y); - state[i..i + 8].copy_from_slice(&write_u64(lanes[x + y])); - }); - } -} - fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { let mut state = [0u8; 200]; let max_block_size = 1344 / 8; // r, also known as rate in bytes @@ -241,6 +136,30 @@ fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { output } +fn read_u64(bytes: &[u8; 8]) -> u64 { + unsafe { *(bytes as *const _ as *const u64) }.to_le() +} +fn write_u64(val: u64) -> [u8; 8] { + unsafe { *(&val.to_le() as *const u64 as *const _) } +} + +fn keccak(state: &mut [u8; 200]) { + let mut lanes = [0u64; 25]; + let mut y; + for x in 0..5 { + FOR5!(y, 5, { + lanes[x + y] = read_u64(array_ref!(state, 8 * (x + y), 8)); + }); + } + lanes::keccak(&mut lanes); + for x in 0..5 { + FOR5!(y, 5, { + let i = 8 * (x + y); + state[i..i + 8].copy_from_slice(&write_u64(lanes[x + y])); + }); + } +} + fn right_encode(mut x: usize) -> Vec { let mut slice = Vec::new(); while x > 0 { @@ -253,52 +172,6 @@ fn right_encode(mut x: usize) -> Vec { slice } -/// Hash the `input` message, with the given `customization` string, to `output_len` bytes. -pub fn kangaroo_twelve( - input: impl AsRef<[u8]>, - customization: impl AsRef<[u8]>, - output_len: usize, -) -> Vec { - let b = 8192; - let c = 256; - - let mut slice = Vec::new(); // S - slice.extend_from_slice(input.as_ref()); - slice.extend_from_slice(customization.as_ref()); - slice.extend_from_slice(&right_encode(customization.as_ref().len())[..]); - - // === Cut the input string into chunks of b bytes === - let n = (slice.len() + b - 1) / b; - let mut slices = Vec::with_capacity(n); // Si - for i in 0..n { - let ub = min((i + 1) * b, slice.len()); - slices.push(&slice[i * b..ub]); - } - - if n == 1 { - // === Process the tree with only a final node === - f(slices[0], 0x07, output_len) - } else { - // === Process the tree with kangaroo hopping === - // TODO: in parallel - let mut intermediate = Vec::with_capacity(n - 1); // CVi - for i in 0..n - 1 { - intermediate.push(f(slices[i + 1], 0x0B, c / 8)); - } - - let mut node_star = Vec::new(); - node_star.extend_from_slice(slices[0]); - node_star.extend_from_slice(&[3, 0, 0, 0, 0, 0, 0, 0]); - for i in 0..n - 1 { - node_star.extend_from_slice(&intermediate[i][..]); - } - node_star.extend_from_slice(&right_encode(n - 1)); - node_star.extend_from_slice(b"\xFF\xFF"); - - f(&node_star[..], 0x06, output_len) - } -} - #[cfg(test)] mod test { use super::*; @@ -333,7 +206,7 @@ mod test { fn empty() { // Source: reference paper assert_eq!( - kangaroo_twelve("", "", 32), + KangarooTwelve::new().chain(b"").result(b"", 32), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" @@ -341,7 +214,7 @@ mod test { ); assert_eq!( - kangaroo_twelve("", "", 64), + KangarooTwelve::new().chain(b"").result(b"", 64), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e @@ -350,7 +223,7 @@ mod test { ); assert_eq!( - kangaroo_twelve("", "", 10032)[10000..], + KangarooTwelve::new().chain(b"").result("", 10032)[10000..], read_bytes( "e8 dc 56 36 42 f7 22 8c 84 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" @@ -381,7 +254,7 @@ mod test { { let len = 17usize.pow(i); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = kangaroo_twelve(m, "", 32); + let result = KangarooTwelve::new().chain(&m).result("", 32); assert_eq!(result, read_bytes(expected[i as usize])); } } @@ -402,7 +275,7 @@ mod test { let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); let len = 41usize.pow(i); let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = kangaroo_twelve(m, c, 32); + let result = KangarooTwelve::new().chain(&m).result(c, 32); assert_eq!(result, read_bytes(expected[i as usize])); } } From 0e886ff911ed7b9d5d177293d64b21f272aa428a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 10:55:22 -0700 Subject: [PATCH 032/373] Add README.md files to all crates --- blake2/Cargo.toml | 3 ++- blake2/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ gost94/Cargo.toml | 3 ++- gost94/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ groestl/Cargo.toml | 3 ++- groestl/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ k12/Cargo.toml | 3 ++- k12/README.md | 54 ++++++++++++++++++++++++++++++++++++++++++ md2/Cargo.toml | 3 ++- md2/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ md4/Cargo.toml | 3 ++- md4/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ md5/Cargo.toml | 3 ++- md5/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ ripemd160/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ ripemd320/Cargo.toml | 3 ++- ripemd320/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ sha1/Cargo.toml | 3 ++- sha1/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ sha2/Cargo.toml | 5 ++-- sha2/README.md | 54 ++++++++++++++++++++++++++++++++++++++++++ sha3/Cargo.toml | 3 ++- sha3/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ shabal/Cargo.toml | 3 ++- shabal/README.md | 56 +++++++++++++++++++++++++++++++++++++++----- streebog/Cargo.toml | 3 ++- streebog/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ whirlpool/Cargo.toml | 3 ++- whirlpool/README.md | 53 +++++++++++++++++++++++++++++++++++++++++ 29 files changed, 823 insertions(+), 21 deletions(-) create mode 100644 blake2/README.md create mode 100644 gost94/README.md create mode 100644 groestl/README.md create mode 100644 k12/README.md create mode 100644 md2/README.md create mode 100644 md4/README.md create mode 100644 md5/README.md create mode 100644 ripemd160/README.md create mode 100644 ripemd320/README.md create mode 100644 sha1/README.md create mode 100644 sha2/README.md create mode 100644 sha3/README.md create mode 100644 streebog/README.md create mode 100644 whirlpool/README.md diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index baeb7664e..d3953911d 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "blake2" version = "0.8.1" +description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "BLAKE2 hash functions" +readme = "README.md" documentation = "https://docs.rs/blake2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "blake2", "hash", "digest"] diff --git a/blake2/README.md b/blake2/README.md new file mode 100644 index 000000000..a592796c7 --- /dev/null +++ b/blake2/README.md @@ -0,0 +1,53 @@ +# RustCrypto: BLAKE2 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [BLAKE2 hash function][1] family. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/blake2.svg +[crate-link]: https://crates.io/crates/blake2 +[docs-image]: https://docs.rs/blake2/badge.svg +[docs-link]: https://docs.rs/blake2/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2 + +[//]: # (general links) + +[1]: https://blake2.net/ diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index c150dfa49..85260a2cf 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "gost94" version = "0.8.0" +description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "GOST R 34.11-94 hash function" +readme = "README.md" documentation = "https://docs.rs/gost94" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "gost94", "gost", "hash", "digest"] diff --git a/gost94/README.md b/gost94/README.md new file mode 100644 index 000000000..c3692e613 --- /dev/null +++ b/gost94/README.md @@ -0,0 +1,53 @@ +# RustCrypto: GOST94 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [GOST R 34.11-94 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/gost94.svg +[crate-link]: https://crates.io/crates/gost94 +[docs-image]: https://docs.rs/gost94/badge.svg +[docs-link]: https://docs.rs/gost94/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/gost94/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Agost94 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/GOST_(hash_function) diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 325c8c2b5..0725c69f2 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "groestl" version = "0.8.0" +description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "Grøstl hash function" +readme = "README.md" documentation = "https://docs.rs/groestl" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "groestl", "grostl", "hash", "digest"] diff --git a/groestl/README.md b/groestl/README.md new file mode 100644 index 000000000..645242618 --- /dev/null +++ b/groestl/README.md @@ -0,0 +1,53 @@ +# RustCrypto: Grøstl + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Grøstl hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/groestl.svg +[crate-link]: https://crates.io/crates/groestl +[docs-image]: https://docs.rs/groestl/badge.svg +[docs-link]: https://docs.rs/groestl/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/groestl/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Agroestl + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/Gr%C3%B8stl diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 8da559c0b..d5e86a0bf 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "k12" version = "0.0.1" +description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" -description = "Experimental pure Rust implementation of the KangarooTwelve hash function" +readme = "README.md" documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] diff --git a/k12/README.md b/k12/README.md new file mode 100644 index 000000000..c03261308 --- /dev/null +++ b/k12/README.md @@ -0,0 +1,54 @@ +# RustCrypto: KangarooTwelve + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [KangarooTwelve][1] extensible-output +function (XOF). + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/k12.svg +[crate-link]: https://crates.io/crates/k12 +[docs-image]: https://docs.rs/k12/badge.svg +[docs-link]: https://docs.rs/k12/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ak12 + +[//]: # (general links) + +[1]: https://keccak.team/kangarootwelve.html diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 072177eeb..e5e04ed52 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "md2" version = "0.8.0" -authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" +authors = ["RustCrypto Developers"] description = "MD2 hash function" +readme = "README.md" documentation = "https://docs.rs/md2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md2", "hash", "digest"] diff --git a/md2/README.md b/md2/README.md new file mode 100644 index 000000000..605c22e42 --- /dev/null +++ b/md2/README.md @@ -0,0 +1,53 @@ +# RustCrypto: MD2 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [MD2 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/md2.svg +[crate-link]: https://crates.io/crates/md2 +[docs-image]: https://docs.rs/md2/badge.svg +[docs-link]: https://docs.rs/md2/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/md2/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd2 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/MD2_(hash_function) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 20f3ade0c..2bb3e3cfa 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "md4" version = "0.8.0" +description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "MD4 hash function" +readme = "README.md" documentation = "https://docs.rs/md4" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md4", "hash", "digest"] diff --git a/md4/README.md b/md4/README.md new file mode 100644 index 000000000..63f2112f2 --- /dev/null +++ b/md4/README.md @@ -0,0 +1,53 @@ +# RustCrypto: MD4 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [MD4 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/md4.svg +[crate-link]: https://crates.io/crates/md4 +[docs-image]: https://docs.rs/md4/badge.svg +[docs-link]: https://docs.rs/md4/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/md4/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd4 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/MD4 diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 992841229..3b118ff2e 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "md-5" version = "0.8.0" +description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "MD5 hash function" +readme = "README.md" documentation = "https://docs.rs/md-5" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md5", "hash", "digest"] diff --git a/md5/README.md b/md5/README.md new file mode 100644 index 000000000..1c46bf47e --- /dev/null +++ b/md5/README.md @@ -0,0 +1,53 @@ +# RustCrypto: MD5 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [MD5 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/md-5.svg +[crate-link]: https://crates.io/crates/md-5 +[docs-image]: https://docs.rs/md-5/badge.svg +[docs-link]: https://docs.rs/md-5/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd5 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/MD5 diff --git a/ripemd160/README.md b/ripemd160/README.md new file mode 100644 index 000000000..619a68d8e --- /dev/null +++ b/ripemd160/README.md @@ -0,0 +1,53 @@ +# RustCrypto: RIPEMD160 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [RIPEMD160 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/ripemd160.svg +[crate-link]: https://crates.io/crates/ripemd160 +[docs-image]: https://docs.rs/ripemd160/badge.svg +[docs-link]: https://docs.rs/ripemd160/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd160/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd160 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index e72e5e987..8b28155f4 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "ripemd320" version = "0.8.0" +description = "RIPEMD-320 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "RIPEMD-320 hash function" +readme = "README.md" documentation = "https://docs.rs/ripemd320" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "ripemd320", "hash", "digest"] diff --git a/ripemd320/README.md b/ripemd320/README.md new file mode 100644 index 000000000..9965dca71 --- /dev/null +++ b/ripemd320/README.md @@ -0,0 +1,53 @@ +# RustCrypto: RIPEMD320 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [RIPEMD320 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/ripemd320.svg +[crate-link]: https://crates.io/crates/ripemd320 +[docs-image]: https://docs.rs/ripemd320/badge.svg +[docs-link]: https://docs.rs/ripemd320/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd320/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd320 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 504483ce5..b85c499c1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "sha-1" version = "0.8.2" +description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "SHA-1 hash function" +readme = "README.md" documentation = "https://docs.rs/sha-1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] diff --git a/sha1/README.md b/sha1/README.md new file mode 100644 index 000000000..395060511 --- /dev/null +++ b/sha1/README.md @@ -0,0 +1,53 @@ +# RustCrypto: SHA-1 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [SHA-1 hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/sha-1.svg +[crate-link]: https://crates.io/crates/sha-1 +[docs-image]: https://docs.rs/sha-1/badge.svg +[docs-link]: https://docs.rs/sha-1/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/SHA-1 diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index a4ebcb6dc..89425c1a8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,12 +1,13 @@ [package] name = "sha2" version = "0.8.2" -authors = ["RustCrypto Developers"] -license = "MIT OR Apache-2.0" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. """ +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] diff --git a/sha2/README.md b/sha2/README.md new file mode 100644 index 000000000..a7b499e1c --- /dev/null +++ b/sha2/README.md @@ -0,0 +1,54 @@ +# RustCrypto: SHA-2 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [SHA-2 hash function family][1] +including SHA-224, SHA-256, SHA-384, and SHA-512. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/sha2.svg +[crate-link]: https://crates.io/crates/sha2 +[docs-image]: https://docs.rs/sha2/badge.svg +[docs-link]: https://docs.rs/sha2/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/SHA-2 diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 81c2b09f8..24df620ab 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "sha3" version = "0.8.2" +description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "SHA-3 (Keccak) hash function" +readme = "README.md" documentation = "https://docs.rs/sha3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha3", "keccak", "hash", "digest"] diff --git a/sha3/README.md b/sha3/README.md new file mode 100644 index 000000000..e0e7bd578 --- /dev/null +++ b/sha3/README.md @@ -0,0 +1,53 @@ +# RustCrypto: SHA-3 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [SHA-3 (Keccak) hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/sha3.svg +[crate-link]: https://crates.io/crates/sha3 +[docs-image]: https://docs.rs/sha3/badge.svg +[docs-link]: https://docs.rs/sha3/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/SHA-3 diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index bc9e31c44..4d4110afa 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "shabal" version = "0.2.0" +description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "Shabal hash functions" +readme = "README.md" documentation = "https://docs.rs/shabal" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "shabal", "hash", "digest"] diff --git a/shabal/README.md b/shabal/README.md index ce9478480..e2a6d025b 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -1,7 +1,16 @@ -# shabal +# RustCrypto: Shabal -An implementation of the [Shabal][1] cryptographic hash algorithm. +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] +Pure Rust implementation of the [Shabal][1] cryptographic hash algorithm. + +[Documentation][docs-link] + +## About There are 5 standard algorithms specified in the Shabal standard: * `Shabal192`, which is the `Shabal` algorithm with the result truncated to 192 bits @@ -30,9 +39,44 @@ let result = hasher.result(); assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); ``` -Also see [RustCrypto/hashes][2] readme. +## Minimum Supported Rust Version -[1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf -[2]: https://github.com/RustCrypto/hashes +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: -License: MIT OR Apache-2.0 + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/shabal.svg +[crate-link]: https://crates.io/crates/shabal +[docs-image]: https://docs.rs/shabal/badge.svg +[docs-link]: https://docs.rs/shabal/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 + +[//]: # (general links) + +[1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 969ac03cc..b4c25e5d5 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "streebog" version = "0.8.0" +description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "Streebog (GOST R 34.11-2012) hash function" +readme = "README.md" documentation = "https://docs.rs/streebog" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "streebog", "gost", "hash", "digest"] diff --git a/streebog/README.md b/streebog/README.md new file mode 100644 index 000000000..a0e636be1 --- /dev/null +++ b/streebog/README.md @@ -0,0 +1,53 @@ +# RustCrypto: Streebog + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Streebog (GOST R 34.11-2012)][1] hash function. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/streebog.svg +[crate-link]: https://crates.io/crates/streebog +[docs-image]: https://docs.rs/streebog/badge.svg +[docs-link]: https://docs.rs/streebog/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/streebog/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Astreebog + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/Streebog diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 64caa7d07..8b1ce011d 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "whirlpool" version = "0.8.1" +description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "Whirlpool hash function" +readme = "README.md" documentation = "https://docs.rs/whirlpool" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "whirlpool", "hash", "digest"] diff --git a/whirlpool/README.md b/whirlpool/README.md new file mode 100644 index 000000000..ed6a65e56 --- /dev/null +++ b/whirlpool/README.md @@ -0,0 +1,53 @@ +# RustCrypto: Whirlpool + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Whirlpool hash function][1]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/whirlpool.svg +[crate-link]: https://crates.io/crates/whirlpool +[docs-image]: https://docs.rs/whirlpool/badge.svg +[docs-link]: https://docs.rs/whirlpool/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/whirlpool/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Awhirlpool + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/Whirlpool_(hash_function) From 86934de5589c2c8535e387a001f52531b603b9ca Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 12:24:26 -0700 Subject: [PATCH 033/373] README.md: add build badges --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index e7fdf234a..fb30b8e42 100644 --- a/README.md +++ b/README.md @@ -12,23 +12,23 @@ bare-metal or WebAssembly programming. standards is not a primary concern, we strongly recommend to use either BLAKE2, SHA-2 or SHA-3. -| Name | Alt name | Crates.io | Documentation | [Security Level] | -| ------------- |:-------------:| :-----:| :-----:| :-----:| -| [BLAKE2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) | | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | :green_heart: | -| [GOST94](https://en.wikipedia.org/wiki/GOST_(hash_function)) | GOST R 34.11-94 | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | :yellow_heart: | -| [Grøstl](https://en.wikipedia.org/wiki/Grøstl) | Groestl | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | :green_heart: | -| [KangarooTwelve](https://keccak.team/kangarootwelve.html) | | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | :green_heart: | -| [MD2](https://en.wikipedia.org/wiki/MD2_(cryptography)) | | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | :broken_heart: | -| [MD4](https://en.wikipedia.org/wiki/MD4) | | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | :broken_heart: | -| [MD5](https://en.wikipedia.org/wiki/MD5) [:exclamation:](#crate-names) | | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | :broken_heart: | -| [RIPEMD-160](https://en.wikipedia.org/wiki/RIPEMD) | | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | :green_heart: | -| [RIPEMD-320](https://en.wikipedia.org/wiki/RIPEMD) | | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | :green_heart:* | -| [SHA-1](https://en.wikipedia.org/wiki/SHA-1) [:exclamation:](#crate-names) | | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | :broken_heart: | -| [SHA-2](https://en.wikipedia.org/wiki/SHA-2) | | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | :green_heart: | -| [SHA-3](https://en.wikipedia.org/wiki/SHA-3) | Keccak | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | :green_heart: | -| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | :green_heart: | -| [Streebog](https://en.wikipedia.org/wiki/Streebog) | GOST R 34.11-2012 | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | :yellow_heart: | -| [Whirlpool](https://en.wikipedia.org/wiki/Whirlpool_(cryptography)) | | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | :green_heart: | +| Name | Crates.io | Documentation | Build Status | [Security Level] | +|------|------------|----------------|--------------|------------------| +| [BLAKE2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push) | :green_heart: | +| [GOST94](https://en.wikipedia.org/wiki/GOST_(hash_function)) (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push) | :yellow_heart: | +| [Grøstl](https://en.wikipedia.org/wiki/Grøstl) (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push) | :green_heart: | +| [KangarooTwelve](https://keccak.team/kangarootwelve.html) | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push) | :green_heart: | +| [MD2](https://en.wikipedia.org/wiki/MD2_(cryptography)) | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push) | :broken_heart: | +| [MD4](https://en.wikipedia.org/wiki/MD4) | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push) | :broken_heart: | +| [MD5](https://en.wikipedia.org/wiki/MD5) [:exclamation:](#crate-names) | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push) | :broken_heart: | +| [RIPEMD-160](https://en.wikipedia.org/wiki/RIPEMD) | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push) | :green_heart: | +| [RIPEMD-320](https://en.wikipedia.org/wiki/RIPEMD) | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push) | :green_heart:* | +| [SHA-1](https://en.wikipedia.org/wiki/SHA-1) [:exclamation:](#crate-names) | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push) | :broken_heart: | +| [SHA-2](https://en.wikipedia.org/wiki/SHA-2) | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push) | :green_heart: | +| [SHA-3](https://en.wikipedia.org/wiki/SHA-3) (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push) | :green_heart: | +| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push) | :green_heart: | +| [Streebog](https://en.wikipedia.org/wiki/Streebog) (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push) | :yellow_heart: | +| [Whirlpool](https://en.wikipedia.org/wiki/Whirlpool_(cryptography)) | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push) | :green_heart: | [Security Level]: https://en.wikipedia.org/wiki/Hash_function_security_summary \* RIPEMD-320 provides only the same security as RIPEMD-160 From 02d2104b21d8c5eddad326ba57ca391bce9a6dd5 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 12:34:00 -0700 Subject: [PATCH 034/373] md5: add security warning to README.md --- md5/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/md5/README.md b/md5/README.md index 1c46bf47e..bc9e388c4 100644 --- a/md5/README.md +++ b/md5/README.md @@ -10,6 +10,19 @@ Pure Rust implementation of the [MD5 hash function][1]. [Documentation][docs-link] +## âš ï¸ Security Warning + +This crate is provided for the purposes of legacy interoperability with +protocols and systems which mandate the use of MD5. + +However, MD5 is [cryptographically broken and unsuitable for further use][2]. + +Collision attacks against MD5 are both practical and trivial, and +[theoretical attacks against MD5's preimage resistance have been found][3]. + +[RFC6151][4] advises no new IETF protocols can be designed MD5-based constructions, +including HMAC-MD5. + ## Minimum Supported Rust Version Rust **1.41** or higher. @@ -51,3 +64,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [1]: https://en.wikipedia.org/wiki/MD5 +[2]: https://www.kb.cert.org/vuls/id/836068 +[3]: https://dl.acm.org/citation.cfm?id=1724151 +[4]: https://tools.ietf.org/html/rfc6151 From ffbf7b6a07486482e5ab5a734437f551530d9f7c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 13:06:46 -0700 Subject: [PATCH 035/373] blake2: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- blake2/Cargo.toml | 9 +++-- blake2/benches/blake2b.rs | 6 +-- blake2/benches/blake2s.rs | 6 +-- blake2/examples/blake2b_sum.rs | 4 +- blake2/examples/blake2s_sum.rs | 4 +- blake2/src/blake2.rs | 25 ++++++------ blake2/src/blake2b.rs | 2 +- blake2/src/blake2s.rs | 2 +- blake2/src/lib.rs | 39 ++++++++++--------- blake2/src/{simd/mod.rs => simd.rs} | 6 +-- .../src/simd/{simd_opt/mod.rs => simd_opt.rs} | 7 ++-- blake2/src/simd/simd_opt/u32x4.rs | 2 +- blake2/src/simd/simd_opt/u64x4.rs | 6 +-- blake2/src/simd/simdop.rs | 4 +- blake2/src/simd/simdty.rs | 2 +- blake2/tests/lib.rs | 2 +- blake2/tests/mac.rs | 5 +-- blake2/tests/persona.rs | 2 +- 18 files changed, 67 insertions(+), 66 deletions(-) rename blake2/src/{simd/mod.rs => simd.rs} (95%) rename blake2/src/simd/{simd_opt/mod.rs => simd_opt.rs} (89%) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index d3953911d..4c3602a72 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -5,21 +5,22 @@ description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/blake2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" +digest = { version = "= 0.9.0-pre", git = "https://github.com/RustCrypto/traits" } byte-tools = "0.3" byteorder = { version = "1", default-features = false } -crypto-mac = "0.7" +crypto-mac = { version = "= 0.8.0-pre", git = "https://github.com/rustcrypto/traits" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } -crypto-mac = { version = "0.7", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"], git = "https://github.com/rustcrypto/traits" } +crypto-mac = { version = "0.8.0-pre", features = ["dev"], git = "https://github.com/rustcrypto/traits" } hex-literal = "0.1" [features] diff --git a/blake2/benches/blake2b.rs b/blake2/benches/blake2b.rs index dbcfa8760..744a554ee 100644 --- a/blake2/benches/blake2b.rs +++ b/blake2/benches/blake2b.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate blake2; -bench!(blake2::Blake2b); \ No newline at end of file +use digest::bench; +bench!(blake2::Blake2b); diff --git a/blake2/benches/blake2s.rs b/blake2/benches/blake2s.rs index dc30ca6eb..664718c0e 100644 --- a/blake2/benches/blake2s.rs +++ b/blake2/benches/blake2s.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate blake2; -bench!(blake2::Blake2s); \ No newline at end of file +use digest::bench; +bench!(blake2::Blake2s); diff --git a/blake2/examples/blake2b_sum.rs b/blake2/examples/blake2b_sum.rs index 68b09dd55..7444e1370 100644 --- a/blake2/examples/blake2b_sum.rs +++ b/blake2/examples/blake2b_sum.rs @@ -1,4 +1,4 @@ -extern crate blake2; + use blake2::{Blake2b, Digest}; use std::env; @@ -25,7 +25,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/blake2/examples/blake2s_sum.rs b/blake2/examples/blake2s_sum.rs index f26503871..05fe2b6ae 100644 --- a/blake2/examples/blake2s_sum.rs +++ b/blake2/examples/blake2s_sum.rs @@ -1,4 +1,4 @@ -extern crate blake2; + use blake2::{Blake2s, Digest}; use std::env; @@ -25,7 +25,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 79607ba6c..1c0f87377 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -9,14 +9,14 @@ macro_rules! blake2_impl { use $crate::simd::{Vector4, $vec}; use byteorder::{ByteOrder, LittleEndian}; - use digest::{Input, BlockInput, FixedOutput, VariableOutput, Reset}; + use digest::{Update, BlockInput, FixedOutput, VariableOutput, Reset}; use digest::InvalidOutputSize; use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U4, Unsigned}; use core::cmp; use core::ops::Div; use byte_tools::{copy, zero}; - use crypto_mac::{Mac, MacResult, InvalidKeyLength}; + use crypto_mac::{InvalidKeyLength, Mac, NewMac}; type Output = GenericArray; @@ -271,8 +271,8 @@ macro_rules! blake2_impl { type BlockSize = $block_size; } - impl Input for $state { - fn input>(&mut self, data: B) { + impl Update for $state { + fn update(&mut self, data: impl AsRef<[u8]>) { self.update(data.as_ref()); } } @@ -333,8 +333,8 @@ macro_rules! blake2_impl { type BlockSize = $block_size; } - impl Input for $fix_state { - fn input>(&mut self, data: B) { + impl Update for $fix_state { + fn update(&mut self, data: impl AsRef<[u8]>) { self.state.update(data.as_ref()); } } @@ -353,8 +353,7 @@ macro_rules! blake2_impl { } } - impl Mac for $fix_state { - type OutputSize = $bytes; + impl NewMac for $fix_state { type KeySize = $bytes; fn new(key: &GenericArray) -> Self { @@ -370,15 +369,19 @@ macro_rules! blake2_impl { Ok(Self { state }) } } + } + + impl Mac for $fix_state { + type OutputSize = $bytes; - fn input(&mut self, data: &[u8]) { self.state.update(data); } + fn update(&mut self, data: &[u8]) { self.state.update(data); } fn reset(&mut self) { ::reset(self) } - fn result(self) -> MacResult { - MacResult::new(self.state.finalize_with_flag(0)) + fn result(self) -> crypto_mac::Output { + crypto_mac::Output::new(self.state.finalize_with_flag(0)) } } diff --git a/blake2/src/blake2b.rs b/blake2/src/blake2b.rs index 69a16e044..271fa8cef 100644 --- a/blake2/src/blake2b.rs +++ b/blake2/src/blake2b.rs @@ -1,5 +1,5 @@ use digest::generic_array::typenum::{U64, U128}; -use consts::BLAKE2B_IV; +use crate::consts::BLAKE2B_IV; blake2_impl!(VarBlake2b, Blake2b, u64, u64x4, read_u64, U64, U128, 32, 24, 16, 63, BLAKE2B_IV, diff --git a/blake2/src/blake2s.rs b/blake2/src/blake2s.rs index 8c74a9b8b..0b3515202 100644 --- a/blake2/src/blake2s.rs +++ b/blake2/src/blake2s.rs @@ -1,5 +1,5 @@ use digest::generic_array::typenum::{U32, U64}; -use consts::BLAKE2S_IV; +use crate::consts::BLAKE2S_IV; blake2_impl!(VarBlake2s, Blake2s, u32, u32x4, read_u32, U32, U64, 16, 12, 8, 7, BLAKE2S_IV, diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index a7fe29c41..bee28991e 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -14,7 +14,7 @@ //! let mut hasher = Blake2b::new(); //! //! // write input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // read hash digest and consume hasher //! let res = hasher.result(); @@ -25,7 +25,7 @@ //! //! // same example for `Blake2s`: //! let mut hasher = Blake2s::new(); -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! let res = hasher.result(); //! assert_eq!(res[..], hex!(" //! 9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b @@ -38,15 +38,15 @@ //! ## Variable output size //! //! If you need variable sized output you can use `VarBlake2b` and `VarBlake2s` -//! which support variable output sizes through `VariableOutput` trait. `Input` +//! which support variable output sizes through `VariableOutput` trait. `Update` //! trait has to be imported as well. //! //! ```rust //! use blake2::VarBlake2b; -//! use blake2::digest::{Input, VariableOutput}; +//! use blake2::digest::{Update, VariableOutput}; //! //! let mut hasher = VarBlake2b::new(10).unwrap(); -//! hasher.input(b"my_input"); +//! hasher.update(b"my_input"); //! hasher.variable_result(|res| { //! assert_eq!(res, [44, 197, 92, 132, 228, 22, 146, 78, 100, 0]) //! }) @@ -58,22 +58,22 @@ //! //! ```rust //! use blake2::Blake2b; -//! use blake2::crypto_mac::Mac; +//! use blake2::crypto_mac::{Mac, NewMac}; //! //! let mut hasher = Blake2b::new_varkey(b"my key").unwrap(); -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! -//! // `result` has type `MacResult` which is a thin wrapper around array of -//! // bytes for providing constant time equality check +//! // `result` has type `crypto_mac::Output` which is a thin wrapper around +//! // a byte array and provides a constant time equality check //! let result = hasher.result(); -//! // To get underlying array use `code` method, but be carefull, since -//! // incorrect use of the code value may permit timing attacks which defeat -//! // the security provided by the `MacResult` -//! let code_bytes = result.code(); +//! // To get underlying array use the `into_bytes` method, but be careful, +//! // since incorrect use of the code value may permit timing attacks which +//! // defeat the security provided by the `crypto_mac::Output` +//! let code_bytes = result.into_bytes(); //! //! // To verify the message it's recommended to use `verify` method //! let mut hasher = Blake2b::new_varkey(b"my key").unwrap(); -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! // `verify` return `Ok(())` if code is correct, `Err(MacError)` otherwise //! hasher.verify(&code_bytes).unwrap(); //! ``` @@ -83,6 +83,7 @@ //! //! [1]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 //! [2]: https://github.com/cesarb/blake2-rfc + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] @@ -93,9 +94,9 @@ #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; -extern crate byte_tools; -extern crate byteorder; -pub extern crate crypto_mac; + + +pub use crypto_mac; #[cfg(feature = "std")] extern crate std; @@ -113,5 +114,5 @@ mod blake2b; mod blake2s; pub use digest::Digest; -pub use blake2b::{Blake2b, VarBlake2b}; -pub use blake2s::{Blake2s, VarBlake2s}; +pub use crate::blake2b::{Blake2b, VarBlake2b}; +pub use crate::blake2s::{Blake2s, VarBlake2s}; diff --git a/blake2/src/simd/mod.rs b/blake2/src/simd.rs similarity index 95% rename from blake2/src/simd/mod.rs rename to blake2/src/simd.rs index a913416cc..a8e99ddf6 100644 --- a/blake2/src/simd/mod.rs +++ b/blake2/src/simd.rs @@ -79,7 +79,7 @@ macro_rules! impl_vector4 { #[cfg(feature = "simd")] #[inline(always)] fn shuffle_left_1(self) -> Self { - use simd::simdint::simd_shuffle4; + use crate::simd::simdint::simd_shuffle4; unsafe { simd_shuffle4(self, self, [1, 2, 3, 0]) } } @@ -92,7 +92,7 @@ macro_rules! impl_vector4 { #[cfg(feature = "simd")] #[inline(always)] fn shuffle_left_2(self) -> Self { - use simd::simdint::simd_shuffle4; + use crate::simd::simdint::simd_shuffle4; unsafe { simd_shuffle4(self, self, [2, 3, 0, 1]) } } @@ -105,7 +105,7 @@ macro_rules! impl_vector4 { #[cfg(feature = "simd")] #[inline(always)] fn shuffle_left_3(self) -> Self { - use simd::simdint::simd_shuffle4; + use crate::simd::simdint::simd_shuffle4; unsafe { simd_shuffle4(self, self, [3, 0, 1, 2]) } } diff --git a/blake2/src/simd/simd_opt/mod.rs b/blake2/src/simd/simd_opt.rs similarity index 89% rename from blake2/src/simd/simd_opt/mod.rs rename to blake2/src/simd/simd_opt.rs index efd508672..3251562d1 100644 --- a/blake2/src/simd/simd_opt/mod.rs +++ b/blake2/src/simd/simd_opt.rs @@ -7,12 +7,13 @@ #![cfg_attr(feature = "clippy", allow(clippy::inline_always))] +#[allow(unused_macros)] #[cfg(feature = "simd")] macro_rules! transmute_shuffle { ($tmp:ident, $shuffle:ident, $vec:expr, $idx:expr) => { unsafe { - use simd::simdty::$tmp; - use simd::simdint::$shuffle; + use crate::simd::simdty::$tmp; + use crate::simd::simdint::$shuffle; use core::mem::transmute; let tmp_i: $tmp = transmute($vec); @@ -29,7 +30,7 @@ macro_rules! transmute_shuffle { macro_rules! simd_opt { ($vec:ident) => { pub mod $vec { - use simd::simdty::$vec; + use crate::simd::simdty::$vec; #[inline(always)] pub fn rotate_right_const(vec: $vec, n: u32) -> $vec { diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index 35b6caa04..5bc58c115 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -7,7 +7,7 @@ #![cfg_attr(feature = "clippy", allow(clippy::inline_always))] -use simd::simdty::u32x4; +use crate::simd::simdty::u32x4; #[cfg(feature = "simd_opt")] #[inline(always)] diff --git a/blake2/src/simd/simd_opt/u64x4.rs b/blake2/src/simd/simd_opt/u64x4.rs index b08534d1b..ca1599c62 100644 --- a/blake2/src/simd/simd_opt/u64x4.rs +++ b/blake2/src/simd/simd_opt/u64x4.rs @@ -7,7 +7,7 @@ #![cfg_attr(feature = "clippy", allow(clippy::inline_always))] -use simd::simdty::u64x4; +use crate::simd::simdty::u64x4; #[cfg(feature = "simd_opt")] #[inline(always)] @@ -100,7 +100,7 @@ fn rotate_right_16(vec: u64x4) -> u64x4 { target_feature = "neon", target_arch = "arm"))] mod simd_asm_neon_arm { - use simd::simdty::{u64x2, u64x4}; + use crate::simd::simdty::{u64x2, u64x4}; #[inline(always)] fn vext_u64(vec: u64x2, b: u8) -> u64x2 { @@ -115,7 +115,7 @@ mod simd_asm_neon_arm { #[inline(always)] pub fn rotate_right_vext(vec: u64x4, b: u8) -> u64x4 { - use simd::simdint::{simd_shuffle2, simd_shuffle4}; + use crate::simd::simdint::{simd_shuffle2, simd_shuffle4}; unsafe { let tmp0 = vext_u64(simd_shuffle2(vec, vec, [0, 1]), b); diff --git a/blake2/src/simd/simdop.rs b/blake2/src/simd/simdop.rs index b0e7ff456..a1685decf 100644 --- a/blake2/src/simd/simdop.rs +++ b/blake2/src/simd/simdop.rs @@ -5,8 +5,8 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -use simd::simdty::{u32x4, u64x4}; -#[cfg(feature = "simd")] use simd::simdint; +use crate::simd::simdty::{u32x4, u64x4}; +#[cfg(feature = "simd")] use crate::simd::simdint; use core::ops::{Add, BitXor, Shl, Shr}; diff --git a/blake2/src/simd/simdty.rs b/blake2/src/simd/simdty.rs index af03a66cf..ac4ba025d 100644 --- a/blake2/src/simd/simdty.rs +++ b/blake2/src/simd/simdty.rs @@ -9,7 +9,7 @@ #![allow(non_camel_case_types)] #![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] -use as_bytes::Safe; +use crate::as_bytes::Safe; #[cfg(feature = "simd")] macro_rules! decl_simd { diff --git a/blake2/tests/lib.rs b/blake2/tests/lib.rs index 452c618f7..7088301f3 100644 --- a/blake2/tests/lib.rs +++ b/blake2/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate blake2; +use blake2; use digest::dev::{digest_test, variable_test}; diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index da28bed0f..833c563e3 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -1,7 +1,6 @@ #![no_std] -#[macro_use] -extern crate crypto_mac; -extern crate blake2; + +use crypto_mac::new_test; new_test!(blake2b_mac, "blake2b/mac", blake2::Blake2b); new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2s); diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index ff5f72a6c..ec6266345 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -1,7 +1,7 @@ #[macro_use] extern crate hex_literal; -extern crate blake2; + use blake2::{Blake2b, Blake2s, Digest}; From aa966686470edcb9bc3d95d5ea571f90aa6a81b8 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 15:00:57 -0700 Subject: [PATCH 036/373] rustfmt Applies the following version of rustfmt to the entire repo: rustfmt 1.4.12-stable (a828ffea 2020-03-11) --- .github/workflows/workspace.yml | 30 + blake2/examples/blake2b_sum.rs | 2 - blake2/examples/blake2s_sum.rs | 2 - blake2/src/as_bytes.rs | 9 +- blake2/src/blake2b.rs | 17 +- blake2/src/blake2s.rs | 17 +- blake2/src/consts.rs | 45 +- blake2/src/lib.rs | 16 +- blake2/src/simd.rs | 56 +- blake2/src/simd/simd_opt.rs | 28 +- blake2/src/simd/simd_opt/u32x4.rs | 32 +- blake2/src/simd/simd_opt/u64x4.rs | 79 +- blake2/src/simd/simdop.rs | 45 +- blake2/tests/lib.rs | 14 +- blake2/tests/persona.rs | 7 +- gost94/benches/lib.rs | 2 +- gost94/examples/gost94_cryptopro_sum.rs | 2 +- gost94/examples/gost94_test_sum.rs | 2 +- gost94/src/gost94.rs | 35 +- gost94/src/lib.rs | 13 +- gost94/src/macros.rs | 70 +- gost94/src/test_param.rs | 16 +- gost94/tests/lib.rs | 9 +- groestl/src/groestl.rs | 41 +- groestl/src/lib.rs | 17 +- groestl/src/macros.rs | 23 +- groestl/src/matrix.rs | 24 +- groestl/src/state.rs | 153 +- groestl/tests/lib.rs | 28 +- md2/examples/md2sum.rs | 2 +- md2/src/consts.rs | 29 +- md2/src/lib.rs | 28 +- md2/tests/lib.rs | 2 +- md4/examples/md4sum.rs | 2 +- md4/src/lib.rs | 43 +- md4/tests/lib.rs | 2 +- md5/examples/md5sum.rs | 2 +- md5/src/consts.rs | 24 +- md5/src/lib.rs | 23 +- md5/src/utils.rs | 122 +- md5/tests/lib.rs | 2 +- ripemd160/examples/ripemd160sum.rs | 2 +- ripemd160/src/block.rs | 10 +- ripemd160/src/lib.rs | 20 +- ripemd160/tests/lib.rs | 9 +- ripemd320/examples/ripemd320sum.rs | 2 +- ripemd320/src/lib.rs | 1 - sha1/examples/sha1sum.rs | 2 +- sha1/src/consts.rs | 4 +- sha1/src/lib.rs | 56 +- sha1/src/utils.rs | 63 +- sha1/tests/lib.rs | 2 +- sha2/examples/sha256sum.rs | 2 +- sha2/examples/sha512sum.rs | 2 +- sha2/src/consts.rs | 378 ++-- sha2/src/sha256.rs | 33 +- sha2/src/sha256_utils.rs | 71 +- sha2/src/sha512.rs | 48 +- sha2/src/sha512_utils.rs | 89 +- sha2/tests/lib.rs | 16 +- sha3/examples/sha3_256sum.rs | 2 +- sha3/examples/sha3_512sum.rs | 2 +- sha3/src/lib.rs | 116 +- sha3/src/macros.rs | 5 +- sha3/src/paddings.rs | 12 +- sha3/src/reader.rs | 12 +- sha3/src/state.rs | 16 +- sha3/tests/lib.rs | 7 +- streebog/examples/streebog256sum.rs | 2 +- streebog/examples/streebog512sum.rs | 2 +- streebog/src/consts.rs | 302 +-- streebog/src/lib.rs | 13 +- streebog/src/streebog.rs | 65 +- streebog/src/table.rs | 2589 ++++++++++++++++++----- streebog/tests/lib.rs | 14 +- whirlpool/examples/whirlpool_sum.rs | 2 +- whirlpool/src/consts.rs | 2560 +++++++++++++++++----- whirlpool/src/lib.rs | 41 +- whirlpool/src/utils.rs | 42 +- whirlpool/tests/lib.rs | 9 +- 80 files changed, 5598 insertions(+), 2140 deletions(-) create mode 100644 .github/workflows/workspace.yml diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml new file mode 100644 index 000000000..ffb7c5023 --- /dev/null +++ b/.github/workflows/workspace.yml @@ -0,0 +1,30 @@ +name: Workspace + +on: + pull_request: + paths-ignore: + - README.md + push: + branches: master + paths-ignore: + - README.md + +jobs: + rustfmt: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v1 + + - name: Install stable toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + components: rustfmt + + - name: Run cargo fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check diff --git a/blake2/examples/blake2b_sum.rs b/blake2/examples/blake2b_sum.rs index 7444e1370..b0dc38a64 100644 --- a/blake2/examples/blake2b_sum.rs +++ b/blake2/examples/blake2b_sum.rs @@ -1,5 +1,3 @@ - - use blake2::{Blake2b, Digest}; use std::env; use std::fs; diff --git a/blake2/examples/blake2s_sum.rs b/blake2/examples/blake2s_sum.rs index 05fe2b6ae..c27cd1f9b 100644 --- a/blake2/examples/blake2s_sum.rs +++ b/blake2/examples/blake2s_sum.rs @@ -1,5 +1,3 @@ - - use blake2::{Blake2s, Digest}; use std::env; use std::fs; diff --git a/blake2/src/as_bytes.rs b/blake2/src/as_bytes.rs index ae1fcfcef..02cca6bba 100644 --- a/blake2/src/as_bytes.rs +++ b/blake2/src/as_bytes.rs @@ -19,16 +19,17 @@ impl AsBytes for [T] { #[inline] fn as_bytes(&self) -> &[u8] { unsafe { - slice::from_raw_parts(self.as_ptr() as *const u8, - self.len() * mem::size_of::()) + slice::from_raw_parts(self.as_ptr() as *const u8, self.len() * mem::size_of::()) } } #[inline] fn as_mut_bytes(&mut self) -> &mut [u8] { unsafe { - slice::from_raw_parts_mut(self.as_mut_ptr() as *mut u8, - self.len() * mem::size_of::()) + slice::from_raw_parts_mut( + self.as_mut_ptr() as *mut u8, + self.len() * mem::size_of::(), + ) } } } diff --git a/blake2/src/blake2b.rs b/blake2/src/blake2b.rs index 271fa8cef..bd3aaf751 100644 --- a/blake2/src/blake2b.rs +++ b/blake2/src/blake2b.rs @@ -1,8 +1,19 @@ -use digest::generic_array::typenum::{U64, U128}; use crate::consts::BLAKE2B_IV; +use digest::generic_array::typenum::{U128, U64}; -blake2_impl!(VarBlake2b, Blake2b, u64, u64x4, read_u64, U64, U128, - 32, 24, 16, 63, BLAKE2B_IV, +blake2_impl!( + VarBlake2b, + Blake2b, + u64, + u64x4, + read_u64, + U64, + U128, + 32, + 24, + 16, + 63, + BLAKE2B_IV, "Blake2b instance with a variable output.", "Blake2b instance with a fixed output.", ); diff --git a/blake2/src/blake2s.rs b/blake2/src/blake2s.rs index 0b3515202..0fb1d2736 100644 --- a/blake2/src/blake2s.rs +++ b/blake2/src/blake2s.rs @@ -1,8 +1,19 @@ -use digest::generic_array::typenum::{U32, U64}; use crate::consts::BLAKE2S_IV; +use digest::generic_array::typenum::{U32, U64}; -blake2_impl!(VarBlake2s, Blake2s, u32, u32x4, read_u32, U32, U64, - 16, 12, 8, 7, BLAKE2S_IV, +blake2_impl!( + VarBlake2s, + Blake2s, + u32, + u32x4, + read_u32, + U32, + U64, + 16, + 12, + 8, + 7, + BLAKE2S_IV, "Blake2s instance with a variable output.", "Blake2s instance with a fixed output.", ); diff --git a/blake2/src/consts.rs b/blake2/src/consts.rs index 1562ce082..f0c47d280 100644 --- a/blake2/src/consts.rs +++ b/blake2/src/consts.rs @@ -1,25 +1,29 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] -pub static SIGMA : [[usize; 16]; 12] = [ - [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ], - [ 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 ], - [ 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 ], - [ 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 ], - [ 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 ], - [ 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 ], - [ 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 ], - [ 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 ], - [ 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 ], - [ 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 ], - [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ], - [ 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 ], +pub static SIGMA: [[usize; 16]; 12] = [ + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], + [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4], + [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8], + [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13], + [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9], + [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11], + [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10], + [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5], + [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0], + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3], ]; -pub static BLAKE2B_IV : [u64; 8] = [ - 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, - 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, - 0x510e527fade682d1, 0x9b05688c2b3e6c1f, - 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179, +pub static BLAKE2B_IV: [u64; 8] = [ + 0x6a09e667f3bcc908, + 0xbb67ae8584caa73b, + 0x3c6ef372fe94f82b, + 0xa54ff53a5f1d36f1, + 0x510e527fade682d1, + 0x9b05688c2b3e6c1f, + 0x1f83d9abfb41bd6b, + 0x5be0cd19137e2179, ]; /* @@ -30,9 +34,8 @@ pub const BLAKE2B_SALTBYTES : usize = 16; pub const BLAKE2B_PERSONALBYTES : usize = 16; */ -pub static BLAKE2S_IV : [u32; 8] = [ - 0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, - 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19, +pub static BLAKE2S_IV: [u32; 8] = [ + 0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19, ]; /* diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index bee28991e..cd77309b0 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -85,34 +85,32 @@ //! [2]: https://github.com/cesarb/blake2-rfc #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![warn(missing_docs)] - #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd_asm", feature(asm))] -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; - +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; pub use crypto_mac; #[cfg(feature = "std")] extern crate std; -mod consts; mod as_bytes; +mod consts; mod simd; - #[macro_use] mod blake2; mod blake2b; mod blake2s; -pub use digest::Digest; pub use crate::blake2b::{Blake2b, VarBlake2b}; pub use crate::blake2s::{Blake2s, VarBlake2s}; +pub use digest::Digest; diff --git a/blake2/src/simd.rs b/blake2/src/simd.rs index a8e99ddf6..5abc34627 100644 --- a/blake2/src/simd.rs +++ b/blake2/src/simd.rs @@ -7,10 +7,10 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] -mod simdty; +mod simd_opt; mod simdint; mod simdop; -mod simd_opt; +mod simdty; pub use self::simdty::{u32x4, u64x4}; @@ -28,48 +28,66 @@ pub trait Vector4: Copy { fn shuffle_left_2(self) -> Self; fn shuffle_left_3(self) -> Self; - #[inline(always)] fn shuffle_right_1(self) -> Self { self.shuffle_left_3() } - #[inline(always)] fn shuffle_right_2(self) -> Self { self.shuffle_left_2() } - #[inline(always)] fn shuffle_right_3(self) -> Self { self.shuffle_left_1() } + #[inline(always)] + fn shuffle_right_1(self) -> Self { + self.shuffle_left_3() + } + #[inline(always)] + fn shuffle_right_2(self) -> Self { + self.shuffle_left_2() + } + #[inline(always)] + fn shuffle_right_3(self) -> Self { + self.shuffle_left_1() + } } macro_rules! impl_vector4 { ($vec:ident, $word:ident) => { impl Vector4<$word> for $vec { #[inline(always)] - fn gather(src: &[$word], i0: usize, i1: usize, - i2: usize, i3: usize) -> Self { + fn gather(src: &[$word], i0: usize, i1: usize, i2: usize, i3: usize) -> Self { $vec::new(src[i0], src[i1], src[i2], src[i3]) } #[cfg(target_endian = "little")] #[inline(always)] - fn from_le(self) -> Self { self } + fn from_le(self) -> Self { + self + } #[cfg(not(target_endian = "little"))] #[inline(always)] fn from_le(self) -> Self { - $vec::new($word::from_le(self.0), - $word::from_le(self.1), - $word::from_le(self.2), - $word::from_le(self.3)) + $vec::new( + $word::from_le(self.0), + $word::from_le(self.1), + $word::from_le(self.2), + $word::from_le(self.3), + ) } #[cfg(target_endian = "little")] #[inline(always)] - fn to_le(self) -> Self { self } + fn to_le(self) -> Self { + self + } #[cfg(not(target_endian = "little"))] #[inline(always)] fn to_le(self) -> Self { - $vec::new(self.0.to_le(), - self.1.to_le(), - self.2.to_le(), - self.3.to_le()) + $vec::new( + self.0.to_le(), + self.1.to_le(), + self.2.to_le(), + self.3.to_le(), + ) } #[inline(always)] - fn wrapping_add(self, rhs: Self) -> Self { self + rhs } + fn wrapping_add(self, rhs: Self) -> Self { + self + rhs + } #[inline(always)] fn rotate_right_const(self, n: u32) -> Self { @@ -115,7 +133,7 @@ macro_rules! impl_vector4 { $vec::new(self.3, self.0, self.1, self.2) } } - } + }; } impl_vector4!(u32x4, u32); diff --git a/blake2/src/simd/simd_opt.rs b/blake2/src/simd/simd_opt.rs index 3251562d1..f9cd1624e 100644 --- a/blake2/src/simd/simd_opt.rs +++ b/blake2/src/simd/simd_opt.rs @@ -12,19 +12,21 @@ macro_rules! transmute_shuffle { ($tmp:ident, $shuffle:ident, $vec:expr, $idx:expr) => { unsafe { - use crate::simd::simdty::$tmp; use crate::simd::simdint::$shuffle; + use crate::simd::simdty::$tmp; use core::mem::transmute; let tmp_i: $tmp = transmute($vec); let tmp_o: $tmp = $shuffle(tmp_i, tmp_i, $idx); transmute(tmp_o) } - } + }; } -#[cfg(feature = "simd")] pub mod u32x4; -#[cfg(feature = "simd")] pub mod u64x4; +#[cfg(feature = "simd")] +pub mod u32x4; +#[cfg(feature = "simd")] +pub mod u64x4; #[cfg(not(feature = "simd"))] macro_rules! simd_opt { @@ -34,14 +36,18 @@ macro_rules! simd_opt { #[inline(always)] pub fn rotate_right_const(vec: $vec, n: u32) -> $vec { - $vec::new(vec.0.rotate_right(n), - vec.1.rotate_right(n), - vec.2.rotate_right(n), - vec.3.rotate_right(n)) + $vec::new( + vec.0.rotate_right(n), + vec.1.rotate_right(n), + vec.2.rotate_right(n), + vec.3.rotate_right(n), + ) } } - } + }; } -#[cfg(not(feature = "simd"))] simd_opt!(u32x4); -#[cfg(not(feature = "simd"))] simd_opt!(u64x4); +#[cfg(not(feature = "simd"))] +simd_opt!(u32x4); +#[cfg(not(feature = "simd"))] +simd_opt!(u64x4); diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index 5bc58c115..7717dfe10 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -14,8 +14,8 @@ use crate::simd::simdty::u32x4; pub fn rotate_right_const(vec: u32x4, n: u32) -> u32x4 { match n { 16 => rotate_right_16(vec), - 8 => rotate_right_8(vec), - _ => rotate_right_any(vec, n), + 8 => rotate_right_8(vec), + _ => rotate_right_any(vec, n), } } @@ -38,18 +38,15 @@ fn rotate_right_any(vec: u32x4, n: u32) -> u32x4 { fn rotate_right_16(vec: u32x4) -> u32x4 { if cfg!(target_feature = "ssse3") { // pshufb (SSSE3) / vpshufb (AVX2) - transmute_shuffle!(u8x16, simd_shuffle16, vec, - [ 2, 3, 0, 1, - 6, 7, 4, 5, - 10, 11, 8, 9, - 14, 15, 12, 13]) + transmute_shuffle!( + u8x16, + simd_shuffle16, + vec, + [2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9, 14, 15, 12, 13] + ) } else if cfg!(any(target_feature = "sse2", target_feature = "neon")) { // pshuflw+pshufhw (SSE2) / vrev (NEON) - transmute_shuffle!(u16x8, simd_shuffle8, vec, - [1, 0, - 3, 2, - 5, 4, - 7, 6]) + transmute_shuffle!(u16x8, simd_shuffle8, vec, [1, 0, 3, 2, 5, 4, 7, 6]) } else { rotate_right_any(vec, 16) } @@ -60,11 +57,12 @@ fn rotate_right_16(vec: u32x4) -> u32x4 { fn rotate_right_8(vec: u32x4) -> u32x4 { if cfg!(target_feature = "ssse3") { // pshufb (SSSE3) / vpshufb (AVX2) - transmute_shuffle!(u8x16, simd_shuffle16, vec, - [ 1, 2, 3, 0, - 5, 6, 7, 4, - 9, 10, 11, 8, - 13, 14, 15, 12]) + transmute_shuffle!( + u8x16, + simd_shuffle16, + vec, + [1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 12] + ) } else { rotate_right_any(vec, 8) } diff --git a/blake2/src/simd/simd_opt/u64x4.rs b/blake2/src/simd/simd_opt/u64x4.rs index ca1599c62..e25c7b9ad 100644 --- a/blake2/src/simd/simd_opt/u64x4.rs +++ b/blake2/src/simd/simd_opt/u64x4.rs @@ -16,7 +16,7 @@ pub fn rotate_right_const(vec: u64x4, n: u32) -> u64x4 { 32 => rotate_right_32(vec), 24 => rotate_right_24(vec), 16 => rotate_right_16(vec), - _ => rotate_right_any(vec, n), + _ => rotate_right_any(vec, n), } } @@ -39,11 +39,7 @@ fn rotate_right_any(vec: u64x4, n: u32) -> u64x4 { fn rotate_right_32(vec: u64x4) -> u64x4 { if cfg!(any(target_feature = "sse2", target_feature = "neon")) { // 2 x pshufd (SSE2) / vpshufd (AVX2) / 2 x vrev (NEON) - transmute_shuffle!(u32x8, simd_shuffle8, vec, - [1, 0, - 3, 2, - 5, 4, - 7, 6]) + transmute_shuffle!(u32x8, simd_shuffle8, vec, [1, 0, 3, 2, 5, 4, 7, 6]) } else { rotate_right_any(vec, 32) } @@ -52,18 +48,24 @@ fn rotate_right_32(vec: u64x4) -> u64x4 { #[cfg(feature = "simd_opt")] #[inline(always)] fn rotate_right_24(vec: u64x4) -> u64x4 { - if cfg!(all(feature = "simd_asm", - target_feature = "neon", - target_arch = "arm")) { + if cfg!(all( + feature = "simd_asm", + target_feature = "neon", + target_arch = "arm" + )) { // 4 x vext (NEON) rotate_right_vext(vec, 3) } else if cfg!(target_feature = "ssse3") { // 2 x pshufb (SSSE3) / vpshufb (AVX2) - transmute_shuffle!(u8x32, simd_shuffle32, vec, - [ 3, 4, 5, 6, 7, 0, 1, 2, - 11, 12, 13, 14, 15, 8, 9, 10, - 19, 20, 21, 22, 23, 16, 17, 18, - 27, 28, 29, 30, 31, 24, 25, 26]) + transmute_shuffle!( + u8x32, + simd_shuffle32, + vec, + [ + 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 19, 20, 21, 22, 23, 16, 17, + 18, 27, 28, 29, 30, 31, 24, 25, 26 + ] + ) } else { rotate_right_any(vec, 24) } @@ -72,33 +74,38 @@ fn rotate_right_24(vec: u64x4) -> u64x4 { #[cfg(feature = "simd_opt")] #[inline(always)] fn rotate_right_16(vec: u64x4) -> u64x4 { - if cfg!(all(feature = "simd_asm", - target_feature = "neon", - target_arch = "arm")) { + if cfg!(all( + feature = "simd_asm", + target_feature = "neon", + target_arch = "arm" + )) { // 4 x vext (NEON) rotate_right_vext(vec, 2) } else if cfg!(target_feature = "ssse3") { // 2 x pshufb (SSSE3) / vpshufb (AVX2) - transmute_shuffle!(u8x32, simd_shuffle32, vec, - [ 2, 3, 4, 5, 6, 7, 0, 1, - 10, 11, 12, 13, 14, 15, 8, 9, - 18, 19, 20, 21, 22, 23, 16, 17, - 26, 27, 28, 29, 30, 31, 24, 25]) + transmute_shuffle!( + u8x32, + simd_shuffle32, + vec, + [ + 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 18, 19, 20, 21, 22, 23, 16, + 17, 26, 27, 28, 29, 30, 31, 24, 25 + ] + ) } else if cfg!(target_feature = "sse2") { // 2 x pshuflw+pshufhw (SSE2) - transmute_shuffle!(u16x16, simd_shuffle16, vec, - [ 1, 2, 3, 0, - 5, 6, 7, 4, - 9, 10, 11, 8, - 13, 14, 15, 12]) + transmute_shuffle!( + u16x16, + simd_shuffle16, + vec, + [1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 12] + ) } else { rotate_right_any(vec, 16) } } -#[cfg(all(feature = "simd_asm", - target_feature = "neon", - target_arch = "arm"))] +#[cfg(all(feature = "simd_asm", target_feature = "neon", target_arch = "arm"))] mod simd_asm_neon_arm { use crate::simd::simdty::{u64x2, u64x4}; @@ -125,13 +132,11 @@ mod simd_asm_neon_arm { } } -#[cfg(all(feature = "simd_asm", - target_feature = "neon", - target_arch = "arm"))] +#[cfg(all(feature = "simd_asm", target_feature = "neon", target_arch = "arm"))] use self::simd_asm_neon_arm::rotate_right_vext; #[cfg(feature = "simd_opt")] -#[cfg(not(all(feature = "simd_asm", - target_feature = "neon", - target_arch = "arm")))] -fn rotate_right_vext(_vec: u64x4, _n: u8) -> u64x4 { unreachable!() } +#[cfg(not(all(feature = "simd_asm", target_feature = "neon", target_arch = "arm")))] +fn rotate_right_vext(_vec: u64x4, _n: u8) -> u64x4 { + unreachable!() +} diff --git a/blake2/src/simd/simdop.rs b/blake2/src/simd/simdop.rs index a1685decf..891456d9c 100644 --- a/blake2/src/simd/simdop.rs +++ b/blake2/src/simd/simdop.rs @@ -5,8 +5,9 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. +#[cfg(feature = "simd")] +use crate::simd::simdint; use crate::simd::simdty::{u32x4, u64x4}; -#[cfg(feature = "simd")] use crate::simd::simdint; use core::ops::{Add, BitXor, Shl, Shr}; @@ -24,10 +25,12 @@ macro_rules! impl_ops { #[cfg(not(feature = "simd"))] #[inline(always)] fn add(self, rhs: Self) -> Self::Output { - $vec::new(self.0.wrapping_add(rhs.0), - self.1.wrapping_add(rhs.1), - self.2.wrapping_add(rhs.2), - self.3.wrapping_add(rhs.3)) + $vec::new( + self.0.wrapping_add(rhs.0), + self.1.wrapping_add(rhs.1), + self.2.wrapping_add(rhs.2), + self.3.wrapping_add(rhs.3), + ) } } @@ -43,10 +46,12 @@ macro_rules! impl_ops { #[cfg(not(feature = "simd"))] #[inline(always)] fn bitxor(self, rhs: Self) -> Self::Output { - $vec::new(self.0 ^ rhs.0, - self.1 ^ rhs.1, - self.2 ^ rhs.2, - self.3 ^ rhs.3) + $vec::new( + self.0 ^ rhs.0, + self.1 ^ rhs.1, + self.2 ^ rhs.2, + self.3 ^ rhs.3, + ) } } @@ -62,10 +67,12 @@ macro_rules! impl_ops { #[cfg(not(feature = "simd"))] #[inline(always)] fn shl(self, rhs: Self) -> Self::Output { - $vec::new(self.0 << rhs.0, - self.1 << rhs.1, - self.2 << rhs.2, - self.3 << rhs.3) + $vec::new( + self.0 << rhs.0, + self.1 << rhs.1, + self.2 << rhs.2, + self.3 << rhs.3, + ) } } @@ -81,13 +88,15 @@ macro_rules! impl_ops { #[cfg(not(feature = "simd"))] #[inline(always)] fn shr(self, rhs: Self) -> Self::Output { - $vec::new(self.0 >> rhs.0, - self.1 >> rhs.1, - self.2 >> rhs.2, - self.3 >> rhs.3) + $vec::new( + self.0 >> rhs.0, + self.1 >> rhs.1, + self.2 >> rhs.2, + self.3 >> rhs.3, + ) } } - } + }; } impl_ops!(u32x4); diff --git a/blake2/tests/lib.rs b/blake2/tests/lib.rs index 7088301f3..601c215b8 100644 --- a/blake2/tests/lib.rs +++ b/blake2/tests/lib.rs @@ -6,5 +6,15 @@ use blake2; use digest::dev::{digest_test, variable_test}; new_test!(blake2b_fixed, "blake2b/fixed", blake2::Blake2b, digest_test); -new_test!(blake2b_variable, "blake2b/variable", blake2::VarBlake2b, variable_test); -new_test!(blake2s_variable, "blake2s/variable", blake2::VarBlake2s, variable_test); +new_test!( + blake2b_variable, + "blake2b/variable", + blake2::VarBlake2b, + variable_test +); +new_test!( + blake2s_variable, + "blake2s/variable", + blake2::VarBlake2s, + variable_test +); diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index ec6266345..33d683342 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -1,8 +1,6 @@ #[macro_use] extern crate hex_literal; - - use blake2::{Blake2b, Blake2s, Digest}; #[test] @@ -11,7 +9,10 @@ fn blake2s_persona() { let persona = "personal"; let persona_bytes = persona.as_bytes(); let ctx = Blake2s::with_params(&key_bytes, &[], persona_bytes); - assert_eq!(ctx.result().as_slice(), &hex!("25a4ee63b594aed3f88a971e1877ef7099534f9097291f88fb86c79b5e70d022")[..]); + assert_eq!( + ctx.result().as_slice(), + &hex!("25a4ee63b594aed3f88a971e1877ef7099534f9097291f88fb86c79b5e70d022")[..] + ); } #[test] diff --git a/gost94/benches/lib.rs b/gost94/benches/lib.rs index 121c64b5f..4eba36028 100644 --- a/gost94/benches/lib.rs +++ b/gost94/benches/lib.rs @@ -4,4 +4,4 @@ extern crate digest; extern crate gost94; -bench!(gost94::Gost94Test); \ No newline at end of file +bench!(gost94::Gost94Test); diff --git a/gost94/examples/gost94_cryptopro_sum.rs b/gost94/examples/gost94_cryptopro_sum.rs index 48e15414a..f88c61279 100644 --- a/gost94/examples/gost94_cryptopro_sum.rs +++ b/gost94/examples/gost94_cryptopro_sum.rs @@ -1,6 +1,6 @@ extern crate gost94; -use gost94::{Gost94CryptoPro, Digest}; +use gost94::{Digest, Gost94CryptoPro}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/gost94/examples/gost94_test_sum.rs b/gost94/examples/gost94_test_sum.rs index 5e531846c..9e6a7e0bb 100644 --- a/gost94/examples/gost94_test_sum.rs +++ b/gost94/examples/gost94_test_sum.rs @@ -1,6 +1,6 @@ extern crate gost94; -use gost94::{Gost94Test, Digest}; +use gost94::{Digest, Gost94Test}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index 3d86d8eca..90d420edc 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -1,19 +1,17 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] -use digest::{Input, BlockInput, FixedOutput, Reset}; -use block_buffer::BlockBuffer; use block_buffer::block_padding::ZeroPadding; -use digest::generic_array::GenericArray; +use block_buffer::byteorder::{ByteOrder, LE}; +use block_buffer::BlockBuffer; use digest::generic_array::typenum::U32; -use block_buffer::byteorder::{LE, ByteOrder}; +use digest::generic_array::GenericArray; +use digest::{BlockInput, FixedOutput, Input, Reset}; pub(crate) type Block = [u8; 32]; const C: Block = [ - 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, - 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, - 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, - 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, ]; pub type SBox = [[u8; 16]; 8]; @@ -21,8 +19,8 @@ pub type SBox = [[u8; 16]; 8]; fn sbox(a: u32, s: &SBox) -> u32 { let mut v = 0; for i in 0..8 { - let shft = 4*i; - let k = ((a & (0b1111u32 << shft) ) >> shft) as usize; + let shft = 4 * i; + let k = ((a & (0b1111u32 << shft)) >> shft) as usize; v += u32::from(s[i][k]) << shft; } v @@ -56,7 +54,7 @@ fn encrypt(msg: &mut [u8], key: Block, sbox: &SBox) { fn x(a: &Block, b: &Block) -> Block { let mut out = Block::default(); for i in 0..32 { - out[i] = a[i]^b[i]; + out[i] = a[i] ^ b[i]; } out } @@ -67,12 +65,11 @@ fn x_mut(a: &mut Block, b: &Block) { } } - fn a(x: Block) -> Block { let mut out = Block::default(); out[..24].clone_from_slice(&x[8..]); for i in 0..8 { - out[24+i] = x[i]^x[i+8]; + out[24 + i] = x[i] ^ x[i + 8]; } out } @@ -82,13 +79,12 @@ fn p(y: Block) -> Block { for i in 0..4 { for k in 0..8 { - out[i+4*k] = y[8*i+k]; + out[i + 4 * k] = y[8 * i + k]; } } out } - fn psi(block: &mut Block) { let mut out = Block::default(); out[..30].copy_from_slice(&block[2..]); @@ -172,7 +168,6 @@ impl Gost94State { over = a.overflowing_add(*b); *a = over.0; } - } } @@ -188,7 +183,9 @@ impl Gost94State { if over { let (res, over) = self.n[3].overflowing_add(1); self.n[3] = res; - if over { panic!("Message longer than 2^256-1")} + if over { + panic!("Message longer than 2^256-1") + } } } } @@ -242,7 +239,9 @@ impl FixedOutput for Gost94 { let self_state = &mut self.state; if self.buffer.position() != 0 { - let block = self.buffer.pad_with::() + let block = self + .buffer + .pad_with::() .expect("we never use input_lazy"); self_state.process_block(block); } diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 77d1687d5..312bfbbf8 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -28,25 +28,26 @@ //! [1]: https://en.wikipedia.org/wiki/GOST_(hash_function) //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] extern crate block_buffer; -#[macro_use] pub extern crate digest; -#[macro_use] extern crate opaque_debug; +#[macro_use] +pub extern crate digest; +#[macro_use] +extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; #[macro_use] mod macros; +mod cryptopro; mod gost94; mod s2015; -mod cryptopro; mod test_param; pub use digest::Digest; +pub use cryptopro::Gost94CryptoPro; pub use gost94::Gost94; pub use s2015::Gost94s2015; -pub use cryptopro::Gost94CryptoPro; pub use test_param::Gost94Test; diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index 30be9ddbf..b46dd81b4 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -1,47 +1,49 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { + use digest::generic_array::typenum::U32; + use digest::generic_array::GenericArray; + use digest::{BlockInput, FixedOutput, Input, Reset}; + use $crate::gost94::{Block, Gost94, SBox}; + + #[derive(Clone)] + pub struct $state { + sh: Gost94, + } - use $crate::gost94::{Gost94, SBox, Block}; - use digest::{Input, BlockInput, FixedOutput, Reset}; - use digest::generic_array::GenericArray; - use digest::generic_array::typenum::U32; - - #[derive(Clone)] - pub struct $state { - sh: Gost94 - } - - impl Default for $state { - fn default() -> Self { - $state { sh: Gost94::new($sbox, Block::default()) } + impl Default for $state { + fn default() -> Self { + $state { + sh: Gost94::new($sbox, Block::default()), + } + } } - } - impl BlockInput for $state { - type BlockSize = U32; - } + impl BlockInput for $state { + type BlockSize = U32; + } - impl Input for $state { - fn input>(&mut self, input: B) { - let input = input.as_ref(); - self.sh.input(input); + impl Input for $state { + fn input>(&mut self, input: B) { + let input = input.as_ref(); + self.sh.input(input); + } } - } - impl FixedOutput for $state { - type OutputSize = U32; + impl FixedOutput for $state { + type OutputSize = U32; - fn fixed_result(self) -> GenericArray { - self.sh.fixed_result() + fn fixed_result(self) -> GenericArray { + self.sh.fixed_result() + } } - } - impl Reset for $state { - fn reset(&mut self) { - self.sh.reset() + impl Reset for $state { + fn reset(&mut self) { + self.sh.reset() + } } - } - impl_opaque_debug!($state); - impl_write!($state); -}} + impl_opaque_debug!($state); + impl_write!($state); + }; +} diff --git a/gost94/src/test_param.rs b/gost94/src/test_param.rs index e1c664134..f1b202f6e 100644 --- a/gost94/src/test_param.rs +++ b/gost94/src/test_param.rs @@ -1,12 +1,12 @@ const S_TEST: SBox = [ - [4,10,9,2,13,8,0,14,6,11,1,12,7,15,5,3], - [14,11,4,12,6,13,15,10,2,3,8,1,0,7,5,9], - [5,8,1,13,10,3,4,2,14,15,12,7,6,0,9,11], - [7,13,10,1,0,8,9,15,14,4,6,12,11,2,5,3], - [6,12,7,1,5,15,13,8,4,10,9,14,0,3,11,2], - [4,11,10,0,7,2,1,13,3,6,8,5,9,12,15,14], - [13,11,4,1,3,15,5,9,0,10,14,7,6,8,2,12], - [1,15,13,0,5,7,10,4,9,2,3,14,6,11,8,12], + [4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3], + [14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9], + [5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11], + [7, 13, 10, 1, 0, 8, 9, 15, 14, 4, 6, 12, 11, 2, 5, 3], + [6, 12, 7, 1, 5, 15, 13, 8, 4, 10, 9, 14, 0, 3, 11, 2], + [4, 11, 10, 0, 7, 2, 1, 13, 3, 6, 8, 5, 9, 12, 15, 14], + [13, 11, 4, 1, 3, 15, 5, 9, 0, 10, 14, 7, 6, 8, 2, 12], + [1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12], ]; gost94_impl!(Gost94Test, S_TEST); diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index b333b64ff..672e572eb 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -3,10 +3,15 @@ extern crate digest; extern crate gost94; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(gost94_test_main, "test", gost94::Gost94Test, digest_test); -new_test!(gost94_cryptopro_main, "cryptopro", gost94::Gost94CryptoPro, digest_test); +new_test!( + gost94_cryptopro_main, + "cryptopro", + gost94::Gost94CryptoPro, + digest_test +); #[test] fn gost94_test_1million_a() { diff --git a/groestl/src/groestl.rs b/groestl/src/groestl.rs index 5e9689e97..89bd78316 100644 --- a/groestl/src/groestl.rs +++ b/groestl/src/groestl.rs @@ -1,18 +1,19 @@ use core::ops::Div; -use digest; -use block_buffer::BlockBuffer; use block_buffer::byteorder::BE; -use digest::generic_array::{ArrayLength, GenericArray}; +use block_buffer::BlockBuffer; +use digest; use digest::generic_array::typenum::{Quot, U8}; +use digest::generic_array::{ArrayLength, GenericArray}; -use state::{GroestlState, xor_generic_array}; +use state::{xor_generic_array, GroestlState}; #[derive(Clone)] pub struct Groestl - where BlockSize: ArrayLength + Div + Default, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, +where + BlockSize: ArrayLength + Div + Default, + BlockSize::ArrayType: Copy, + Quot: ArrayLength, { buffer: BlockBuffer, state: GroestlState, @@ -20,10 +21,11 @@ pub struct Groestl } impl Groestl - where BlockSize: ArrayLength + Div + Default, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, - Self: Clone +where + BlockSize: ArrayLength + Div + Default, + BlockSize::ArrayType: Copy, + Quot: ArrayLength, + Self: Clone, { pub fn new(output_size: usize) -> Result { match BlockSize::to_usize() { @@ -31,25 +33,28 @@ impl Groestl if output_size <= 32 || output_size > 64 { return Err(digest::InvalidOutputSize); } - }, + } 64 => { if output_size == 0 || output_size > 32 { return Err(digest::InvalidOutputSize); } - }, + } _ => unreachable!(), }; let state = GroestlState::new(output_size); - Ok(Groestl{ buffer: Default::default(), state, output_size }) + Ok(Groestl { + buffer: Default::default(), + state, + output_size, + }) } pub fn process(&mut self, input: &[u8]) { let state = &mut self.state; - self.buffer.input( - input, - |b: &GenericArray| { state.compress(b); }, - ); + self.buffer.input(input, |b: &GenericArray| { + state.compress(b); + }); } pub fn finalize(&mut self) -> GenericArray { diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 36cefeaae..acb3077ba 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -35,24 +35,25 @@ //! [1]: https://en.wikipedia.org/wiki/Grøstl //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; extern crate block_buffer; #[cfg(feature = "std")] extern crate std; +use digest::generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}; +use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, VariableOutput, Reset}; use digest::InvalidOutputSize; -use digest::generic_array::GenericArray; -use digest::generic_array::typenum::{Unsigned, U28, U32, U48, U64, U128}; +use digest::{BlockInput, FixedOutput, Input, Reset, VariableOutput}; mod consts; mod groestl; -mod state; mod matrix; +mod state; #[macro_use] mod macros; diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs index 244b729ae..2d665f0ad 100644 --- a/groestl/src/macros.rs +++ b/groestl/src/macros.rs @@ -1,5 +1,5 @@ macro_rules! impl_groestl { - ($state:ident, $output:ident, $block:ident) => ( + ($state:ident, $output:ident, $block:ident) => { #[derive(Clone)] pub struct $state { groestl: Groestl<$block>, @@ -7,7 +7,9 @@ macro_rules! impl_groestl { impl Default for $state { fn default() -> Self { - $state { groestl: Groestl::new($output::to_usize()).unwrap() } + $state { + groestl: Groestl::new($output::to_usize()).unwrap(), + } } } @@ -28,7 +30,7 @@ macro_rules! impl_groestl { fn fixed_result(mut self) -> GenericArray { let block = self.groestl.finalize(); let n = block.len() - Self::OutputSize::to_usize(); - GenericArray::clone_from_slice( &block[n..]) + GenericArray::clone_from_slice(&block[n..]) } } @@ -40,12 +42,11 @@ macro_rules! impl_groestl { impl_opaque_debug!($state); impl_write!($state); - ) + }; } - macro_rules! impl_variable_groestl { - ($state:ident, $block:ident, $min:expr, $max:expr) => ( + ($state:ident, $block:ident, $min:expr, $max:expr) => { #[derive(Clone)] pub struct $state { groestl: Groestl<$block>, @@ -62,13 +63,13 @@ macro_rules! impl_variable_groestl { } impl VariableOutput for $state { - fn new(output_size: usize) - -> Result - { + fn new(output_size: usize) -> Result { if output_size == $min || output_size > $max { return Err(InvalidOutputSize); } - Ok($state { groestl: Groestl::new(output_size).unwrap() }) + Ok($state { + groestl: Groestl::new(output_size).unwrap(), + }) } fn output_size(&self) -> usize { @@ -90,5 +91,5 @@ macro_rules! impl_variable_groestl { impl_opaque_debug!($state); impl_write!($state); - ) + }; } diff --git a/groestl/src/matrix.rs b/groestl/src/matrix.rs index 0fdf412d9..f276621e6 100644 --- a/groestl/src/matrix.rs +++ b/groestl/src/matrix.rs @@ -9,17 +9,21 @@ pub struct Matrix>, C: ArrayLength> { } impl Default for Matrix - where R: ArrayLength>, - C: ArrayLength, +where + R: ArrayLength>, + C: ArrayLength, { fn default() -> Self { - Matrix { state: GenericArray::default() } + Matrix { + state: GenericArray::default(), + } } } impl Index for Matrix - where R: ArrayLength>, - C: ArrayLength, +where + R: ArrayLength>, + C: ArrayLength, { type Output = GenericArray; @@ -29,8 +33,9 @@ impl Index for Matrix } impl IndexMut for Matrix - where R: ArrayLength>, - C: ArrayLength, +where + R: ArrayLength>, + C: ArrayLength, { fn index_mut(&mut self, index: usize) -> &mut Self::Output { &mut self.state[index] @@ -57,8 +62,9 @@ fn poly_mul(a: u8, b: usize) -> usize { } impl Matrix - where R: ArrayLength>, - C: ArrayLength, +where + R: ArrayLength>, + C: ArrayLength, { pub fn rows(&self) -> usize { R::to_usize() diff --git a/groestl/src/state.rs b/groestl/src/state.rs index 696876401..3f6005b92 100644 --- a/groestl/src/state.rs +++ b/groestl/src/state.rs @@ -1,21 +1,17 @@ use core::ops::Div; -use block_buffer::byteorder::{BE, ByteOrder}; -use digest::generic_array::{ArrayLength, GenericArray}; +use block_buffer::byteorder::{ByteOrder, BE}; +use consts::{B, C_P, C_Q, SBOX, SHIFTS_P, SHIFTS_P_WIDE, SHIFTS_Q, SHIFTS_Q_WIDE}; use digest::generic_array::typenum::{Quot, U8}; +use digest::generic_array::{ArrayLength, GenericArray}; use matrix::Matrix; -use consts::{ - B, - C_P, C_Q, - SBOX, - SHIFTS_P, SHIFTS_Q, SHIFTS_P_WIDE, SHIFTS_Q_WIDE, -}; #[derive(Copy, Clone)] pub struct GroestlState - where BlockSize: ArrayLength + Div, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, +where + BlockSize: ArrayLength + Div, + BlockSize::ArrayType: Copy, + Quot: ArrayLength, { pub state: GenericArray, rounds: u8, @@ -41,9 +37,10 @@ fn gcd(a: usize, b: usize) -> usize { } impl GroestlState - where BlockSize: ArrayLength + Div, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, +where + BlockSize: ArrayLength + Div, + BlockSize::ArrayType: Copy, + Quot: ArrayLength, { pub fn new(output_size: usize) -> Self { let block_bytes = BlockSize::to_usize(); @@ -57,7 +54,11 @@ impl GroestlState _ => unreachable!(), }; - GroestlState { state, rounds, num_blocks: 0 } + GroestlState { + state, + rounds, + num_blocks: 0, + } } fn wide(&self) -> bool { @@ -79,9 +80,10 @@ impl GroestlState self.num_blocks += 1; } - fn block_to_matrix(&self, block: &GenericArray) - -> Matrix> - { + fn block_to_matrix( + &self, + block: &GenericArray, + ) -> Matrix> { let mut matrix = Matrix::>::default(); let rows = matrix.rows(); @@ -94,9 +96,10 @@ impl GroestlState matrix } - fn matrix_to_block(&self, matrix: &Matrix>) - -> GenericArray - { + fn matrix_to_block( + &self, + matrix: &Matrix>, + ) -> GenericArray { let mut block = GenericArray::default(); let rows = matrix.rows(); @@ -109,14 +112,8 @@ impl GroestlState block } - pub fn p(&self, block: &GenericArray) - -> GenericArray - { - let shifts = if self.wide() { - SHIFTS_P_WIDE - } else { - SHIFTS_P - }; + pub fn p(&self, block: &GenericArray) -> GenericArray { + let shifts = if self.wide() { SHIFTS_P_WIDE } else { SHIFTS_P }; let mut matrix = self.block_to_matrix(block); for round in 0..self.rounds { self.add_round_constant(&mut matrix, C_P, round); @@ -127,14 +124,8 @@ impl GroestlState self.matrix_to_block(&matrix) } - fn q(&self, block: &GenericArray) - -> GenericArray - { - let shifts = if self.wide() { - SHIFTS_Q_WIDE - } else { - SHIFTS_Q - }; + fn q(&self, block: &GenericArray) -> GenericArray { + let shifts = if self.wide() { SHIFTS_Q_WIDE } else { SHIFTS_Q }; let mut matrix = self.block_to_matrix(block); for round in 0..self.rounds { self.add_round_constant(&mut matrix, C_Q, round); @@ -145,15 +136,18 @@ impl GroestlState self.matrix_to_block(&matrix) } - fn add_round_constant(&self, matrix: &mut Matrix>, - c: [u8; 128], round: u8, + fn add_round_constant( + &self, + matrix: &mut Matrix>, + c: [u8; 128], + round: u8, ) { for i in 0..matrix.rows() { for j in 0..matrix.cols() { matrix[i][j] ^= c[i * 16 + j]; if (c[0] == 0x00 && i == 0) || (c[0] == 0xff && i == 7) { - matrix[i][j] ^= round; + matrix[i][j] ^= round; } } } @@ -167,9 +161,7 @@ impl GroestlState } } - fn shift_bytes(&self, matrix: &mut Matrix>, - shifts: [u8; 8], - ) { + fn shift_bytes(&self, matrix: &mut Matrix>, shifts: [u8; 8]) { let cols = matrix.cols(); for i in 0..matrix.rows() { let shift = shifts[i] as usize; @@ -183,7 +175,7 @@ impl GroestlState loop { let pos = k.wrapping_add(shift) % cols; if pos == j { - break + break; } matrix[i][k] = matrix[i][pos]; k = pos; @@ -203,14 +195,9 @@ mod test { fn get_padding_block() -> GenericArray { let padding_block: [u8; 64] = [ - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, ]; GenericArray::clone_from_slice(&padding_block) @@ -227,14 +214,9 @@ mod test { s.shift_bytes(&mut matrix, SHIFTS_P); let block = s.matrix_to_block(&matrix); let expected = [ - 0, 9, 18, 27, 36, 45, 54, 63, - 8, 17, 26, 35, 44, 53, 62, 7, - 16, 25, 34, 43, 52, 61, 6, 15, - 24, 33, 42, 51, 60, 5, 14, 23, - 32, 41, 50, 59, 4, 13, 22, 31, - 40, 49, 58, 3, 12, 21, 30, 39, - 48, 57, 2, 11, 20, 29, 38, 47, - 56, 1, 10, 19, 28, 37, 46, 55, + 0, 9, 18, 27, 36, 45, 54, 63, 8, 17, 26, 35, 44, 53, 62, 7, 16, 25, 34, 43, 52, 61, 6, + 15, 24, 33, 42, 51, 60, 5, 14, 23, 32, 41, 50, 59, 4, 13, 22, 31, 40, 49, 58, 3, 12, + 21, 30, 39, 48, 57, 2, 11, 20, 29, 38, 47, 56, 1, 10, 19, 28, 37, 46, 55, ]; assert_eq!(&block[..], &expected[..]); } @@ -243,21 +225,14 @@ mod test { fn test_p() { let padding_chunk = get_padding_block(); let s = GroestlState::::new(32); - let block = xor_generic_array( - &s.state, - GenericArray::from_slice(&padding_chunk), - ); + let block = xor_generic_array(&s.state, GenericArray::from_slice(&padding_chunk)); let p_block = s.p(&block); let expected = [ - 247, 236, 141, 217, 73, 225, 112, 216, - 1, 155, 85, 192, 152, 168, 174, 72, - 112, 253, 159, 53, 7, 6, 8, 115, - 58, 242, 7, 115, 148, 150, 157, 25, - 18, 220, 11, 5, 178, 10, 110, 94, - 44, 56, 110, 67, 107, 234, 102, 163, - 243, 212, 49, 25, 46, 17, 170, 84, - 5, 76, 239, 51, 4, 107, 94, 20, + 247, 236, 141, 217, 73, 225, 112, 216, 1, 155, 85, 192, 152, 168, 174, 72, 112, 253, + 159, 53, 7, 6, 8, 115, 58, 242, 7, 115, 148, 150, 157, 25, 18, 220, 11, 5, 178, 10, + 110, 94, 44, 56, 110, 67, 107, 234, 102, 163, 243, 212, 49, 25, 46, 17, 170, 84, 5, 76, + 239, 51, 4, 107, 94, 20, ]; assert_eq!(&p_block[..], &expected[..]); } @@ -268,14 +243,10 @@ mod test { let s = GroestlState::::new(32); let q_block = s.q(GenericArray::from_slice(&padding_chunk)); let expected = [ - 189, 183, 105, 133, 208, 106, 34, 36, - 82, 37, 180, 250, 229, 59, 230, 223, - 215, 245, 53, 117, 167, 139, 150, 186, - 210, 17, 220, 57, 116, 134, 209, 51, - 124, 108, 84, 91, 79, 103, 148, 27, - 135, 183, 144, 226, 59, 242, 87, 81, - 109, 211, 84, 185, 192, 172, 88, 210, - 8, 121, 31, 242, 158, 227, 207, 13, + 189, 183, 105, 133, 208, 106, 34, 36, 82, 37, 180, 250, 229, 59, 230, 223, 215, 245, + 53, 117, 167, 139, 150, 186, 210, 17, 220, 57, 116, 134, 209, 51, 124, 108, 84, 91, 79, + 103, 148, 27, 135, 183, 144, 226, 59, 242, 87, 81, 109, 211, 84, 185, 192, 172, 88, + 210, 8, 121, 31, 242, 158, 227, 207, 13, ]; assert_eq!(&q_block[..], &expected[..]); } @@ -301,14 +272,9 @@ mod test { s.add_round_constant(&mut m, C_P, 0); let b = s.matrix_to_block(&m); let expected = [ - 128, 0, 0, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 0, 0, - 64, 0, 0, 0, 0, 0, 0, 0, - 80, 0, 0, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0, 0, 0, - 112, 0, 0, 0, 0, 0, 0, 1, + 128, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, + 0, 112, 0, 0, 0, 0, 0, 0, 1, ]; assert_eq!(&b[..], &expected[..]); @@ -316,13 +282,10 @@ mod test { s.add_round_constant(&mut m, C_Q, 0); let b = s.matrix_to_block(&m); let expected = [ - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, + 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8e, ]; assert_eq!(&b[..], &expected[..]); diff --git a/groestl/tests/lib.rs b/groestl/tests/lib.rs index 03438a5df..43b9755cd 100755 --- a/groestl/tests/lib.rs +++ b/groestl/tests/lib.rs @@ -5,7 +5,27 @@ extern crate groestl; use digest::dev::digest_test; -new_test!(groestl_224_main, "groestl224", groestl::Groestl224, digest_test); -new_test!(groestl_256_main, "groestl256", groestl::Groestl256, digest_test); -new_test!(groestl_384_main, "groestl384", groestl::Groestl384, digest_test); -new_test!(groestl_512_main, "groestl512", groestl::Groestl512, digest_test); +new_test!( + groestl_224_main, + "groestl224", + groestl::Groestl224, + digest_test +); +new_test!( + groestl_256_main, + "groestl256", + groestl::Groestl256, + digest_test +); +new_test!( + groestl_384_main, + "groestl384", + groestl::Groestl384, + digest_test +); +new_test!( + groestl_512_main, + "groestl512", + groestl::Groestl512, + digest_test +); diff --git a/md2/examples/md2sum.rs b/md2/examples/md2sum.rs index b0e0f5528..efc9bcebd 100644 --- a/md2/examples/md2sum.rs +++ b/md2/examples/md2sum.rs @@ -1,6 +1,6 @@ extern crate md2; -use md2::{Md2, Digest}; +use md2::{Digest, Md2}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/md2/src/consts.rs b/md2/src/consts.rs index 395718618..31b49f610 100644 --- a/md2/src/consts.rs +++ b/md2/src/consts.rs @@ -1,15 +1,16 @@ // values for the S-table -pub const S: [u8; 256] = - [41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, 19, 98, 167, 5, 243, 192, - 199, 115, 140, 152, 147, 43, 217, 188, 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, - 66, 111, 24, 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, 245, 142, 187, - 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, 148, 194, 16, 137, 11, 34, 95, 33, 128, - 127, 93, 154, 90, 144, 50, 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, - 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, 150, 164, 125, 182, 118, - 252, 107, 226, 156, 116, 4, 241, 69, 157, 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, - 45, 168, 2, 27, 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, 85, 71, - 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, 234, 38, 44, 83, 13, 110, 133, 40, - 132, 9, 211, 223, 205, 244, 65, 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, - 123, 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, 203, 213, 254, 59, 0, - 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, - 80, 180, 143, 237, 31, 26, 219, 153, 141, 51, 159, 17, 131, 20]; \ No newline at end of file +pub const S: [u8; 256] = [ + 41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, 19, 98, 167, 5, 243, 192, 199, + 115, 140, 152, 147, 43, 217, 188, 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, + 111, 24, 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, 245, 142, 187, 47, + 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, + 154, 90, 144, 50, 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, 181, 209, + 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, 150, 164, 125, 182, 118, 252, 107, 226, + 156, 116, 4, 241, 69, 157, 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, + 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, 85, 71, 163, 35, 221, 81, + 175, 58, 195, 92, 249, 206, 186, 197, 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, + 244, 65, 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, 8, 12, 189, 177, 74, + 120, 136, 149, 139, 227, 99, 232, 109, 233, 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, + 102, 88, 208, 228, 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, 31, 26, + 219, 153, 141, 51, 159, 17, 131, 20, +]; diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 006fdc820..8f5178834 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -26,21 +26,22 @@ //! [1]: https://en.wikipedia.org/wiki/MD4 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; extern crate block_buffer; #[cfg(feature = "std")] extern crate std; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, Reset}; -use block_buffer::BlockBuffer; use block_buffer::block_padding::Pkcs7; -use digest::generic_array::GenericArray; +use block_buffer::BlockBuffer; use digest::generic_array::typenum::U16; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, FixedOutput, Input, Reset}; mod consts; @@ -54,7 +55,10 @@ struct Md2State { impl Default for Md2State { fn default() -> Self { - Self { x: [0; 48], checksum: Default::default() } + Self { + x: [0; 48], + checksum: Default::default(), + } } } @@ -99,7 +103,7 @@ impl Input for Md2 { fn input>(&mut self, input: B) { let input = input.as_ref(); let self_state = &mut self.state; - self.buffer.input(input, |d| self_state.process_block(d) ); + self.buffer.input(input, |d| self_state.process_block(d)); } } @@ -107,7 +111,9 @@ impl FixedOutput for Md2 { type OutputSize = U16; fn fixed_result(mut self) -> GenericArray { - let buf = self.buffer.pad_with::() + let buf = self + .buffer + .pad_with::() .expect("we never use input_lazy"); self.state.process_block(buf); let checksum = self.state.checksum; diff --git a/md2/tests/lib.rs b/md2/tests/lib.rs index e05a5f990..18bb84520 100644 --- a/md2/tests/lib.rs +++ b/md2/tests/lib.rs @@ -3,7 +3,7 @@ extern crate digest; extern crate md2; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(md2_main, "md2", md2::Md2, digest_test); diff --git a/md4/examples/md4sum.rs b/md4/examples/md4sum.rs index 61baf87ab..c2dee8762 100644 --- a/md4/examples/md4sum.rs +++ b/md4/examples/md4sum.rs @@ -1,6 +1,6 @@ extern crate md4; -use md4::{Md4, Digest}; +use md4::{Digest, Md4}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 2f23a78f2..fca8c2d1f 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -26,23 +26,24 @@ //! [1]: https://en.wikipedia.org/wiki/MD4 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; -extern crate fake_simd as simd; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; extern crate block_buffer; +extern crate fake_simd as simd; #[cfg(feature = "std")] extern crate std; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, Reset}; +use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{LE, ByteOrder}; -use simd::u32x4; -use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U16, U64}; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, FixedOutput, Input, Reset}; +use simd::u32x4; // initial values for Md4State const S: u32x4 = u32x4(0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476); @@ -81,13 +82,17 @@ impl Md4State { } fn op2(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(g(b, c, d)).wrapping_add(k) - .wrapping_add(0x5A82_7999).rotate_left(s) + a.wrapping_add(g(b, c, d)) + .wrapping_add(k) + .wrapping_add(0x5A82_7999) + .rotate_left(s) } fn op3(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(h(b, c, d)).wrapping_add(k) - .wrapping_add(0x6ED9_EBA1).rotate_left(s) + a.wrapping_add(h(b, c, d)) + .wrapping_add(k) + .wrapping_add(0x6ED9_EBA1) + .rotate_left(s) } let mut a = self.s.0; @@ -128,14 +133,17 @@ impl Md4State { } impl Default for Md4State { - fn default() -> Self { Md4State { s: S } } + fn default() -> Self { + Md4State { s: S } + } } impl Md4 { fn finalize(&mut self) { let state = &mut self.state; let l = (self.length_bytes << 3) as u64; - self.buffer.len64_padding::(l, |d| state.process_block(d)) + self.buffer + .len64_padding::(l, |d| state.process_block(d)) } } @@ -150,7 +158,8 @@ impl Input for Md4 { // the length of the message mod 2^64 - ie: integer overflow is OK. self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); let self_state = &mut self.state; - self.buffer.input(input, |d: &Block| self_state.process_block(d)); + self.buffer + .input(input, |d: &Block| self_state.process_block(d)); } } diff --git a/md4/tests/lib.rs b/md4/tests/lib.rs index 4e98203c4..3bb925146 100644 --- a/md4/tests/lib.rs +++ b/md4/tests/lib.rs @@ -3,7 +3,7 @@ extern crate digest; extern crate md4; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(md4_main, "md4", md4::Md4, digest_test); diff --git a/md5/examples/md5sum.rs b/md5/examples/md5sum.rs index 7e20b1385..443d14f1b 100644 --- a/md5/examples/md5sum.rs +++ b/md5/examples/md5sum.rs @@ -1,6 +1,6 @@ extern crate md5; -use md5::{Md5, Digest}; +use md5::{Digest, Md5}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/md5/src/consts.rs b/md5/src/consts.rs index fcab61f5d..b6f75edcb 100644 --- a/md5/src/consts.rs +++ b/md5/src/consts.rs @@ -4,25 +4,17 @@ #[cfg(not(feature = "asm"))] pub static RC: [u32; 64] = [ // round 1 - 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, - 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, - 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, - 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, + 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, + 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, // round 2 - 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, - 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, - 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, - 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, + 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, + 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, // round 3 - 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, - 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, - 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, - 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, + 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, + 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, // round 4 - 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, - 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, - 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, - 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, + 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, + 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, ]; /// Init state diff --git a/md5/src/lib.rs b/md5/src/lib.rs index f197b6e43..d1bab31e5 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -26,11 +26,12 @@ //! [1]: https://en.wikipedia.org/wiki/MD5 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] extern crate block_buffer; -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; #[cfg(feature = "asm")] extern crate md5_asm as utils; #[cfg(feature = "std")] @@ -41,13 +42,13 @@ mod utils; use utils::compress; +use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{LE, ByteOrder}; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U16, U64}; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, FixedOutput, Input, Reset}; mod consts; @@ -79,7 +80,8 @@ impl Md5 { fn finalize(&mut self) { let state = &mut self.state; let l = (self.length_bytes << 3) as u64; - self.buffer.len64_padding::(l, |d| compress(state, convert(d))); + self.buffer + .len64_padding::(l, |d| compress(state, convert(d))); } } @@ -95,7 +97,8 @@ impl Input for Md5 { // the length of the message mod 2^64 - ie: integer overflow is OK. self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); let self_state = &mut self.state; - self.buffer.input(input, |d| compress(self_state, convert(d))); + self.buffer + .input(input, |d| compress(self_state, convert(d))); } } diff --git a/md5/src/utils.rs b/md5/src/utils.rs index de42e7095..8c9797773 100644 --- a/md5/src/utils.rs +++ b/md5/src/utils.rs @@ -1,33 +1,45 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always, clippy::many_single_char_names))] +use block_buffer::byteorder::{ByteOrder, LE}; use consts::RC; -use block_buffer::byteorder::{LE, ByteOrder}; #[inline(always)] -fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c:u32, s: u32) -> u32 { +fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { ((x & y) | (!x & z)) - .wrapping_add(w).wrapping_add(m).wrapping_add(c) - .rotate_left(s).wrapping_add(x) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) } #[inline(always)] -fn op_g(w: u32, x: u32, y: u32, z: u32, m: u32, c:u32, s: u32) -> u32 { +fn op_g(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { ((x & z) | (y & !z)) - .wrapping_add(w).wrapping_add(m).wrapping_add(c) - .rotate_left(s).wrapping_add(x) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) } #[inline(always)] -fn op_h(w: u32, x: u32, y: u32, z: u32, m: u32, c:u32, s: u32) -> u32 { +fn op_h(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { (x ^ y ^ z) - .wrapping_add(w).wrapping_add(m).wrapping_add(c) - .rotate_left(s).wrapping_add(x) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) } #[inline(always)] -fn op_i(w: u32, x: u32, y: u32, z: u32, m: u32, c:u32, s: u32) -> u32 { +fn op_i(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { (y ^ (x | !z)) - .wrapping_add(w).wrapping_add(m).wrapping_add(c) - .rotate_left(s).wrapping_add(x) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) } #[inline] @@ -41,18 +53,18 @@ pub fn compress(state: &mut [u32; 4], input: &[u8; 64]) { LE::read_u32_into(input, &mut data); // round 1 - a = op_f(a, b, c, d, data[0], RC[0], 7); - d = op_f(d, a, b, c, data[1], RC[1], 12); - c = op_f(c, d, a, b, data[2], RC[2], 17); - b = op_f(b, c, d, a, data[3], RC[3], 22); - - a = op_f(a, b, c, d, data[4], RC[4], 7); - d = op_f(d, a, b, c, data[5], RC[5], 12); - c = op_f(c, d, a, b, data[6], RC[6], 17); - b = op_f(b, c, d, a, data[7], RC[7], 22); - - a = op_f(a, b, c, d, data[8], RC[8], 7); - d = op_f(d, a, b, c, data[9], RC[9], 12); + a = op_f(a, b, c, d, data[0], RC[0], 7); + d = op_f(d, a, b, c, data[1], RC[1], 12); + c = op_f(c, d, a, b, data[2], RC[2], 17); + b = op_f(b, c, d, a, data[3], RC[3], 22); + + a = op_f(a, b, c, d, data[4], RC[4], 7); + d = op_f(d, a, b, c, data[5], RC[5], 12); + c = op_f(c, d, a, b, data[6], RC[6], 17); + b = op_f(b, c, d, a, data[7], RC[7], 22); + + a = op_f(a, b, c, d, data[8], RC[8], 7); + d = op_f(d, a, b, c, data[9], RC[9], 12); c = op_f(c, d, a, b, data[10], RC[10], 17); b = op_f(b, c, d, a, data[11], RC[11], 22); @@ -62,67 +74,67 @@ pub fn compress(state: &mut [u32; 4], input: &[u8; 64]) { b = op_f(b, c, d, a, data[15], RC[15], 22); // round 2 - a = op_g(a, b, c, d, data[1], RC[16], 5); - d = op_g(d, a, b, c, data[6], RC[17], 9); + a = op_g(a, b, c, d, data[1], RC[16], 5); + d = op_g(d, a, b, c, data[6], RC[17], 9); c = op_g(c, d, a, b, data[11], RC[18], 14); - b = op_g(b, c, d, a, data[0], RC[19], 20); + b = op_g(b, c, d, a, data[0], RC[19], 20); - a = op_g(a, b, c, d, data[5], RC[20], 5); + a = op_g(a, b, c, d, data[5], RC[20], 5); d = op_g(d, a, b, c, data[10], RC[21], 9); c = op_g(c, d, a, b, data[15], RC[22], 14); - b = op_g(b, c, d, a, data[4], RC[23], 20); + b = op_g(b, c, d, a, data[4], RC[23], 20); - a = op_g(a, b, c, d, data[9], RC[24], 5); + a = op_g(a, b, c, d, data[9], RC[24], 5); d = op_g(d, a, b, c, data[14], RC[25], 9); - c = op_g(c, d, a, b, data[3], RC[26], 14); - b = op_g(b, c, d, a, data[8], RC[27], 20); + c = op_g(c, d, a, b, data[3], RC[26], 14); + b = op_g(b, c, d, a, data[8], RC[27], 20); a = op_g(a, b, c, d, data[13], RC[28], 5); - d = op_g(d, a, b, c, data[2], RC[29], 9); - c = op_g(c, d, a, b, data[7], RC[30], 14); + d = op_g(d, a, b, c, data[2], RC[29], 9); + c = op_g(c, d, a, b, data[7], RC[30], 14); b = op_g(b, c, d, a, data[12], RC[31], 20); // round 3 - a = op_h(a, b, c, d, data[5], RC[32], 4); - d = op_h(d, a, b, c, data[8], RC[33], 11); + a = op_h(a, b, c, d, data[5], RC[32], 4); + d = op_h(d, a, b, c, data[8], RC[33], 11); c = op_h(c, d, a, b, data[11], RC[34], 16); b = op_h(b, c, d, a, data[14], RC[35], 23); - a = op_h(a, b, c, d, data[1], RC[36], 4); - d = op_h(d, a, b, c, data[4], RC[37], 11); - c = op_h(c, d, a, b, data[7], RC[38], 16); + a = op_h(a, b, c, d, data[1], RC[36], 4); + d = op_h(d, a, b, c, data[4], RC[37], 11); + c = op_h(c, d, a, b, data[7], RC[38], 16); b = op_h(b, c, d, a, data[10], RC[39], 23); a = op_h(a, b, c, d, data[13], RC[40], 4); - d = op_h(d, a, b, c, data[0], RC[41], 11); - c = op_h(c, d, a, b, data[3], RC[42], 16); - b = op_h(b, c, d, a, data[6], RC[43], 23); + d = op_h(d, a, b, c, data[0], RC[41], 11); + c = op_h(c, d, a, b, data[3], RC[42], 16); + b = op_h(b, c, d, a, data[6], RC[43], 23); - a = op_h(a, b, c, d, data[9], RC[44], 4); + a = op_h(a, b, c, d, data[9], RC[44], 4); d = op_h(d, a, b, c, data[12], RC[45], 11); c = op_h(c, d, a, b, data[15], RC[46], 16); - b = op_h(b, c, d, a, data[2], RC[47], 23); + b = op_h(b, c, d, a, data[2], RC[47], 23); // round 4 - a = op_i(a, b, c, d, data[0], RC[48], 6); - d = op_i(d, a, b, c, data[7], RC[49], 10); + a = op_i(a, b, c, d, data[0], RC[48], 6); + d = op_i(d, a, b, c, data[7], RC[49], 10); c = op_i(c, d, a, b, data[14], RC[50], 15); - b = op_i(b, c, d, a, data[5], RC[51], 21); + b = op_i(b, c, d, a, data[5], RC[51], 21); a = op_i(a, b, c, d, data[12], RC[52], 6); - d = op_i(d, a, b, c, data[3], RC[53], 10); + d = op_i(d, a, b, c, data[3], RC[53], 10); c = op_i(c, d, a, b, data[10], RC[54], 15); - b = op_i(b, c, d, a, data[1], RC[55], 21); + b = op_i(b, c, d, a, data[1], RC[55], 21); - a = op_i(a, b, c, d, data[8], RC[56], 6); + a = op_i(a, b, c, d, data[8], RC[56], 6); d = op_i(d, a, b, c, data[15], RC[57], 10); - c = op_i(c, d, a, b, data[6], RC[58], 15); + c = op_i(c, d, a, b, data[6], RC[58], 15); b = op_i(b, c, d, a, data[13], RC[59], 21); - a = op_i(a, b, c, d, data[4], RC[60], 6); + a = op_i(a, b, c, d, data[4], RC[60], 6); d = op_i(d, a, b, c, data[11], RC[61], 10); - c = op_i(c, d, a, b, data[2], RC[62], 15); - b = op_i(b, c, d, a, data[9], RC[63], 21); + c = op_i(c, d, a, b, data[2], RC[62], 15); + b = op_i(b, c, d, a, data[9], RC[63], 21); state[0] = state[0].wrapping_add(a); state[1] = state[1].wrapping_add(b); diff --git a/md5/tests/lib.rs b/md5/tests/lib.rs index 733e93c36..9050d3d3a 100644 --- a/md5/tests/lib.rs +++ b/md5/tests/lib.rs @@ -3,7 +3,7 @@ extern crate digest; extern crate md5; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(md5_main, "md5", md5::Md5, digest_test); diff --git a/ripemd160/examples/ripemd160sum.rs b/ripemd160/examples/ripemd160sum.rs index 790e157a4..fd787bb53 100644 --- a/ripemd160/examples/ripemd160sum.rs +++ b/ripemd160/examples/ripemd160sum.rs @@ -1,6 +1,6 @@ extern crate ripemd160; -use ripemd160::{Ripemd160, Digest}; +use ripemd160::{Digest, Ripemd160}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/ripemd160/src/block.rs b/ripemd160/src/block.rs index 807369000..6be3cdf4e 100644 --- a/ripemd160/src/block.rs +++ b/ripemd160/src/block.rs @@ -1,12 +1,16 @@ -use block_buffer::byteorder::{LE, ByteOrder}; -use digest::generic_array::GenericArray; +use block_buffer::byteorder::{ByteOrder, LE}; use digest::generic_array::typenum::U64; +use digest::generic_array::GenericArray; pub const DIGEST_BUF_LEN: usize = 5; pub const WORK_BUF_LEN: usize = 16; pub const H0: [u32; DIGEST_BUF_LEN] = [ - 0x6745_2301, 0xefcd_ab89, 0x98ba_dcfe, 0x1032_5476, 0xc3d2_e1f0 + 0x6745_2301, + 0xefcd_ab89, + 0x98ba_dcfe, + 0x1032_5476, + 0xc3d2_e1f0, ]; type Block = GenericArray; diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index 8a6783f24..ea756f647 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -26,20 +26,21 @@ //! [1]: https://en.wikipedia.org/wiki/RIPEMD //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] extern crate block_buffer; -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; #[cfg(feature = "std")] extern crate std; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, Reset}; +use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{LE, ByteOrder}; -use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U20, U64}; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, FixedOutput, Input, Reset}; mod block; use block::{process_msg_block, DIGEST_BUF_LEN, H0}; @@ -83,7 +84,8 @@ impl FixedOutput for Ripemd160 { { let h = &mut self.h; let l = self.len << 3; - self.buffer.len64_padding::(l, |b| process_msg_block(h, b)); + self.buffer + .len64_padding::(l, |b| process_msg_block(h, b)); } let mut out = GenericArray::default(); diff --git a/ripemd160/tests/lib.rs b/ripemd160/tests/lib.rs index a9b0c0727..0355a4afd 100644 --- a/ripemd160/tests/lib.rs +++ b/ripemd160/tests/lib.rs @@ -4,9 +4,14 @@ extern crate digest; extern crate ripemd160; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; -new_test!(ripemd160_main, "ripemd160", ripemd160::Ripemd160, digest_test); +new_test!( + ripemd160_main, + "ripemd160", + ripemd160::Ripemd160, + digest_test +); #[test] fn ripemd160_1million_a() { diff --git a/ripemd320/examples/ripemd320sum.rs b/ripemd320/examples/ripemd320sum.rs index b255ed8fb..d6c97690d 100644 --- a/ripemd320/examples/ripemd320sum.rs +++ b/ripemd320/examples/ripemd320sum.rs @@ -1,6 +1,6 @@ extern crate ripemd320; -use ripemd320::{Ripemd320, Digest}; +use ripemd320::{Digest, Ripemd320}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index 5ebb8a62f..86a00ccf3 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -36,7 +36,6 @@ pub extern crate digest; #[cfg(feature = "std")] extern crate std; - use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U40, U64}; diff --git a/sha1/examples/sha1sum.rs b/sha1/examples/sha1sum.rs index bde1ab4f6..595f0ddc3 100644 --- a/sha1/examples/sha1sum.rs +++ b/sha1/examples/sha1sum.rs @@ -1,6 +1,6 @@ extern crate sha1; -use sha1::{Sha1, Digest}; +use sha1::{Digest, Sha1}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs index f23f33188..63e537fe8 100644 --- a/sha1/src/consts.rs +++ b/sha1/src/consts.rs @@ -14,6 +14,4 @@ pub const K2: u32 = 0x8F1BBCDCu32; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K3: u32 = 0xCA62C1D6u32; -pub const H: [u32; STATE_LEN] = [ - 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0 -]; +pub const H: [u32; STATE_LEN] = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]; diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 1d167608d..5baacf56c 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -26,28 +26,43 @@ //! [1]: https://en.wikipedia.org/wiki/SHA-1 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. -#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", not(target_os = "linux")))] +#[cfg(all( + feature = "asm-aarch64", + target_arch = "aarch64", + not(target_os = "linux") +))] compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); #[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); -#[cfg(all(feature = "asm-aarch64", target_arch = "aarch64", target_feature = "crypto"))] +#[cfg(all( + feature = "asm-aarch64", + target_arch = "aarch64", + target_feature = "crypto" +))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); -#[cfg(all(not(feature = "asm-aarch64"), feature = "asm", target_arch = "aarch64", not(target_feature = "crypto"), target_os = "linux"))] +#[cfg(all( + not(feature = "asm-aarch64"), + feature = "asm", + target_arch = "aarch64", + not(target_feature = "crypto"), + target_os = "linux" +))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); extern crate block_buffer; -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; -#[cfg(feature = "std")] -extern crate std; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] extern crate fake_simd as simd; #[cfg(feature = "asm-aarch64")] extern crate libc; +#[cfg(feature = "std")] +extern crate std; #[cfg(feature = "asm")] extern crate sha1_asm; @@ -78,15 +93,15 @@ mod utils; #[cfg(not(feature = "asm"))] use utils::compress; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::GenericArray; -use digest::generic_array::typenum::{U20, U64}; +use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{BE, ByteOrder}; +use digest::generic_array::typenum::{U20, U64}; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, FixedOutput, Input, Reset}; mod consts; -use consts::{STATE_LEN, H}; +use consts::{H, STATE_LEN}; /// Structure representing the state of a SHA-1 computation #[derive(Clone)] @@ -98,7 +113,11 @@ pub struct Sha1 { impl Default for Sha1 { fn default() -> Self { - Sha1{ h: H, len: 0u64, buffer: Default::default() } + Sha1 { + h: H, + len: 0u64, + buffer: Default::default(), + } } } @@ -123,10 +142,11 @@ impl FixedOutput for Sha1 { { let state = &mut self.h; let l = self.len << 3; - self.buffer.len64_padding::(l, |d| compress(state, d)); + self.buffer + .len64_padding::(l, |d| compress(state, d)); } let mut out = GenericArray::default(); - BE::write_u32_into(&self.h,&mut out); + BE::write_u32_into(&self.h, &mut out); out } } diff --git a/sha1/src/utils.rs b/sha1/src/utils.rs index 7d57f724f..b95b9c04c 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/utils.rs @@ -1,10 +1,10 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +use block_buffer::byteorder::{ByteOrder, BE}; use consts::{BLOCK_LEN, K0, K1, K2, K3}; -use block_buffer::byteorder::{BE, ByteOrder}; -use simd::u32x4; -use digest::generic_array::GenericArray; use digest::generic_array::typenum::U64; +use digest::generic_array::GenericArray; +use simd::u32x4; type Block = GenericArray; @@ -78,25 +78,31 @@ fn sha1rnds4c(abcd: u32x4, msg: u32x4) -> u32x4 { let mut e = 0u32; macro_rules! bool3ary_202 { - ($a:expr, $b:expr, $c:expr) => ($c ^ ($a & ($b ^ $c))) + ($a:expr, $b:expr, $c:expr) => { + $c ^ ($a & ($b ^ $c)) + }; } // Choose, MD5F, SHA1C - e = e.wrapping_add(a.rotate_left(5)) + e = e + .wrapping_add(a.rotate_left(5)) .wrapping_add(bool3ary_202!(b, c, d)) .wrapping_add(t); b = b.rotate_left(30); - d = d.wrapping_add(e.rotate_left(5)) + d = d + .wrapping_add(e.rotate_left(5)) .wrapping_add(bool3ary_202!(a, b, c)) .wrapping_add(u); a = a.rotate_left(30); - c = c.wrapping_add(d.rotate_left(5)) + c = c + .wrapping_add(d.rotate_left(5)) .wrapping_add(bool3ary_202!(e, a, b)) .wrapping_add(v); e = e.rotate_left(30); - b = b.wrapping_add(c.rotate_left(5)) + b = b + .wrapping_add(c.rotate_left(5)) .wrapping_add(bool3ary_202!(d, e, a)) .wrapping_add(w); d = d.rotate_left(30); @@ -111,25 +117,31 @@ fn sha1rnds4p(abcd: u32x4, msg: u32x4) -> u32x4 { let mut e = 0u32; macro_rules! bool3ary_150 { - ($a:expr, $b:expr, $c:expr) => ($a ^ $b ^ $c) + ($a:expr, $b:expr, $c:expr) => { + $a ^ $b ^ $c + }; } // Parity, XOR, MD5H, SHA1P - e = e.wrapping_add(a.rotate_left(5)) + e = e + .wrapping_add(a.rotate_left(5)) .wrapping_add(bool3ary_150!(b, c, d)) .wrapping_add(t); b = b.rotate_left(30); - d = d.wrapping_add(e.rotate_left(5)) + d = d + .wrapping_add(e.rotate_left(5)) .wrapping_add(bool3ary_150!(a, b, c)) .wrapping_add(u); a = a.rotate_left(30); - c = c.wrapping_add(d.rotate_left(5)) + c = c + .wrapping_add(d.rotate_left(5)) .wrapping_add(bool3ary_150!(e, a, b)) .wrapping_add(v); e = e.rotate_left(30); - b = b.wrapping_add(c.rotate_left(5)) + b = b + .wrapping_add(c.rotate_left(5)) .wrapping_add(bool3ary_150!(d, e, a)) .wrapping_add(w); d = d.rotate_left(30); @@ -144,25 +156,31 @@ fn sha1rnds4m(abcd: u32x4, msg: u32x4) -> u32x4 { let mut e = 0u32; macro_rules! bool3ary_232 { - ($a:expr, $b:expr, $c:expr) => (($a & $b) ^ ($a & $c) ^ ($b & $c)) + ($a:expr, $b:expr, $c:expr) => { + ($a & $b) ^ ($a & $c) ^ ($b & $c) + }; } // Majority, SHA1M - e = e.wrapping_add(a.rotate_left(5)) + e = e + .wrapping_add(a.rotate_left(5)) .wrapping_add(bool3ary_232!(b, c, d)) .wrapping_add(t); b = b.rotate_left(30); - d = d.wrapping_add(e.rotate_left(5)) + d = d + .wrapping_add(e.rotate_left(5)) .wrapping_add(bool3ary_232!(a, b, c)) .wrapping_add(u); a = a.rotate_left(30); - c = c.wrapping_add(d.rotate_left(5)) + c = c + .wrapping_add(d.rotate_left(5)) .wrapping_add(bool3ary_232!(e, a, b)) .wrapping_add(v); e = e.rotate_left(30); - b = b.wrapping_add(c.rotate_left(5)) + b = b + .wrapping_add(c.rotate_left(5)) .wrapping_add(bool3ary_232!(d, e, a)) .wrapping_add(w); d = d.rotate_left(30); @@ -172,17 +190,16 @@ fn sha1rnds4m(abcd: u32x4, msg: u32x4) -> u32x4 { /// Process a block with the SHA-1 algorithm. fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { - macro_rules! schedule { - ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => ( + ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { sha1msg2(sha1msg1($v0, $v1) ^ $v2, $v3) - ) + }; } macro_rules! rounds4 { - ($h0:ident, $h1:ident, $wk:expr, $i:expr) => ( + ($h0:ident, $h1:ident, $wk:expr, $i:expr) => { sha1_digest_round_x4($h0, sha1_first_half($h1, $wk), $i) - ) + }; } // Rounds 0..20 diff --git a/sha1/tests/lib.rs b/sha1/tests/lib.rs index 348684b1f..542bd9ca3 100644 --- a/sha1/tests/lib.rs +++ b/sha1/tests/lib.rs @@ -3,7 +3,7 @@ extern crate digest; extern crate sha1; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(sha1_main, "sha1", sha1::Sha1, digest_test); diff --git a/sha2/examples/sha256sum.rs b/sha2/examples/sha256sum.rs index 96bf2abc2..626d6745e 100644 --- a/sha2/examples/sha256sum.rs +++ b/sha2/examples/sha256sum.rs @@ -1,6 +1,6 @@ extern crate sha2; -use sha2::{Sha256, Digest}; +use sha2::{Digest, Sha256}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/sha2/examples/sha512sum.rs b/sha2/examples/sha512sum.rs index 5b59d8aa7..8eb60d85f 100644 --- a/sha2/examples/sha512sum.rs +++ b/sha2/examples/sha512sum.rs @@ -1,6 +1,6 @@ extern crate sha2; -use sha2::{Sha512, Digest}; +use sha2::{Digest, Sha512}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index 744e7f3bb..5874967e2 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,200 +1,220 @@ #![allow(dead_code)] #![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] -use simd::u64x2; use simd::u32x4; +use simd::u64x2; pub const STATE_LEN: usize = 8; pub const BLOCK_LEN: usize = 16; /// Constants necessary for SHA-256 family of digests. -pub const K32: [u32; 64] = - [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, - 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, - 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, - 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, - 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, - 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2]; +pub const K32: [u32; 64] = [ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2, +]; /// Constants necessary for SHA-256 family of digests. -pub const K32X4: [u32x4; 16] = [u32x4(K32[3], K32[2], K32[1], K32[0]), - u32x4(K32[7], K32[6], K32[5], K32[4]), - u32x4(K32[11], K32[10], K32[9], K32[8]), - u32x4(K32[15], K32[14], K32[13], K32[12]), - u32x4(K32[19], K32[18], K32[17], K32[16]), - u32x4(K32[23], K32[22], K32[21], K32[20]), - u32x4(K32[27], K32[26], K32[25], K32[24]), - u32x4(K32[31], K32[30], K32[29], K32[28]), - u32x4(K32[35], K32[34], K32[33], K32[32]), - u32x4(K32[39], K32[38], K32[37], K32[36]), - u32x4(K32[43], K32[42], K32[41], K32[40]), - u32x4(K32[47], K32[46], K32[45], K32[44]), - u32x4(K32[51], K32[50], K32[49], K32[48]), - u32x4(K32[55], K32[54], K32[53], K32[52]), - u32x4(K32[59], K32[58], K32[57], K32[56]), - u32x4(K32[63], K32[62], K32[61], K32[60])]; +pub const K32X4: [u32x4; 16] = [ + u32x4(K32[3], K32[2], K32[1], K32[0]), + u32x4(K32[7], K32[6], K32[5], K32[4]), + u32x4(K32[11], K32[10], K32[9], K32[8]), + u32x4(K32[15], K32[14], K32[13], K32[12]), + u32x4(K32[19], K32[18], K32[17], K32[16]), + u32x4(K32[23], K32[22], K32[21], K32[20]), + u32x4(K32[27], K32[26], K32[25], K32[24]), + u32x4(K32[31], K32[30], K32[29], K32[28]), + u32x4(K32[35], K32[34], K32[33], K32[32]), + u32x4(K32[39], K32[38], K32[37], K32[36]), + u32x4(K32[43], K32[42], K32[41], K32[40]), + u32x4(K32[47], K32[46], K32[45], K32[44]), + u32x4(K32[51], K32[50], K32[49], K32[48]), + u32x4(K32[55], K32[54], K32[53], K32[52]), + u32x4(K32[59], K32[58], K32[57], K32[56]), + u32x4(K32[63], K32[62], K32[61], K32[60]), +]; /// Constants necessary for SHA-512 family of digests. -pub const K64: [u64; 80] = [0x428a2f98d728ae22, - 0x7137449123ef65cd, - 0xb5c0fbcfec4d3b2f, - 0xe9b5dba58189dbbc, - 0x3956c25bf348b538, - 0x59f111f1b605d019, - 0x923f82a4af194f9b, - 0xab1c5ed5da6d8118, - 0xd807aa98a3030242, - 0x12835b0145706fbe, - 0x243185be4ee4b28c, - 0x550c7dc3d5ffb4e2, - 0x72be5d74f27b896f, - 0x80deb1fe3b1696b1, - 0x9bdc06a725c71235, - 0xc19bf174cf692694, - 0xe49b69c19ef14ad2, - 0xefbe4786384f25e3, - 0x0fc19dc68b8cd5b5, - 0x240ca1cc77ac9c65, - 0x2de92c6f592b0275, - 0x4a7484aa6ea6e483, - 0x5cb0a9dcbd41fbd4, - 0x76f988da831153b5, - 0x983e5152ee66dfab, - 0xa831c66d2db43210, - 0xb00327c898fb213f, - 0xbf597fc7beef0ee4, - 0xc6e00bf33da88fc2, - 0xd5a79147930aa725, - 0x06ca6351e003826f, - 0x142929670a0e6e70, - 0x27b70a8546d22ffc, - 0x2e1b21385c26c926, - 0x4d2c6dfc5ac42aed, - 0x53380d139d95b3df, - 0x650a73548baf63de, - 0x766a0abb3c77b2a8, - 0x81c2c92e47edaee6, - 0x92722c851482353b, - 0xa2bfe8a14cf10364, - 0xa81a664bbc423001, - 0xc24b8b70d0f89791, - 0xc76c51a30654be30, - 0xd192e819d6ef5218, - 0xd69906245565a910, - 0xf40e35855771202a, - 0x106aa07032bbd1b8, - 0x19a4c116b8d2d0c8, - 0x1e376c085141ab53, - 0x2748774cdf8eeb99, - 0x34b0bcb5e19b48a8, - 0x391c0cb3c5c95a63, - 0x4ed8aa4ae3418acb, - 0x5b9cca4f7763e373, - 0x682e6ff3d6b2b8a3, - 0x748f82ee5defb2fc, - 0x78a5636f43172f60, - 0x84c87814a1f0ab72, - 0x8cc702081a6439ec, - 0x90befffa23631e28, - 0xa4506cebde82bde9, - 0xbef9a3f7b2c67915, - 0xc67178f2e372532b, - 0xca273eceea26619c, - 0xd186b8c721c0c207, - 0xeada7dd6cde0eb1e, - 0xf57d4f7fee6ed178, - 0x06f067aa72176fba, - 0x0a637dc5a2c898a6, - 0x113f9804bef90dae, - 0x1b710b35131c471b, - 0x28db77f523047d84, - 0x32caab7b40c72493, - 0x3c9ebe0a15c9bebc, - 0x431d67c49c100d4c, - 0x4cc5d4becb3e42b6, - 0x597f299cfc657e2a, - 0x5fcb6fab3ad6faec, - 0x6c44198c4a475817]; +pub const K64: [u64; 80] = [ + 0x428a2f98d728ae22, + 0x7137449123ef65cd, + 0xb5c0fbcfec4d3b2f, + 0xe9b5dba58189dbbc, + 0x3956c25bf348b538, + 0x59f111f1b605d019, + 0x923f82a4af194f9b, + 0xab1c5ed5da6d8118, + 0xd807aa98a3030242, + 0x12835b0145706fbe, + 0x243185be4ee4b28c, + 0x550c7dc3d5ffb4e2, + 0x72be5d74f27b896f, + 0x80deb1fe3b1696b1, + 0x9bdc06a725c71235, + 0xc19bf174cf692694, + 0xe49b69c19ef14ad2, + 0xefbe4786384f25e3, + 0x0fc19dc68b8cd5b5, + 0x240ca1cc77ac9c65, + 0x2de92c6f592b0275, + 0x4a7484aa6ea6e483, + 0x5cb0a9dcbd41fbd4, + 0x76f988da831153b5, + 0x983e5152ee66dfab, + 0xa831c66d2db43210, + 0xb00327c898fb213f, + 0xbf597fc7beef0ee4, + 0xc6e00bf33da88fc2, + 0xd5a79147930aa725, + 0x06ca6351e003826f, + 0x142929670a0e6e70, + 0x27b70a8546d22ffc, + 0x2e1b21385c26c926, + 0x4d2c6dfc5ac42aed, + 0x53380d139d95b3df, + 0x650a73548baf63de, + 0x766a0abb3c77b2a8, + 0x81c2c92e47edaee6, + 0x92722c851482353b, + 0xa2bfe8a14cf10364, + 0xa81a664bbc423001, + 0xc24b8b70d0f89791, + 0xc76c51a30654be30, + 0xd192e819d6ef5218, + 0xd69906245565a910, + 0xf40e35855771202a, + 0x106aa07032bbd1b8, + 0x19a4c116b8d2d0c8, + 0x1e376c085141ab53, + 0x2748774cdf8eeb99, + 0x34b0bcb5e19b48a8, + 0x391c0cb3c5c95a63, + 0x4ed8aa4ae3418acb, + 0x5b9cca4f7763e373, + 0x682e6ff3d6b2b8a3, + 0x748f82ee5defb2fc, + 0x78a5636f43172f60, + 0x84c87814a1f0ab72, + 0x8cc702081a6439ec, + 0x90befffa23631e28, + 0xa4506cebde82bde9, + 0xbef9a3f7b2c67915, + 0xc67178f2e372532b, + 0xca273eceea26619c, + 0xd186b8c721c0c207, + 0xeada7dd6cde0eb1e, + 0xf57d4f7fee6ed178, + 0x06f067aa72176fba, + 0x0a637dc5a2c898a6, + 0x113f9804bef90dae, + 0x1b710b35131c471b, + 0x28db77f523047d84, + 0x32caab7b40c72493, + 0x3c9ebe0a15c9bebc, + 0x431d67c49c100d4c, + 0x4cc5d4becb3e42b6, + 0x597f299cfc657e2a, + 0x5fcb6fab3ad6faec, + 0x6c44198c4a475817, +]; /// Constants necessary for SHA-512 family of digests. -pub const K64X2: [u64x2; 40] = [u64x2(K64[1], K64[0]), - u64x2(K64[3], K64[2]), - u64x2(K64[5], K64[4]), - u64x2(K64[7], K64[6]), - u64x2(K64[9], K64[8]), - u64x2(K64[11], K64[10]), - u64x2(K64[13], K64[12]), - u64x2(K64[15], K64[14]), - u64x2(K64[17], K64[16]), - u64x2(K64[19], K64[18]), - u64x2(K64[21], K64[20]), - u64x2(K64[23], K64[22]), - u64x2(K64[25], K64[24]), - u64x2(K64[27], K64[26]), - u64x2(K64[29], K64[28]), - u64x2(K64[31], K64[30]), - u64x2(K64[33], K64[32]), - u64x2(K64[35], K64[34]), - u64x2(K64[37], K64[36]), - u64x2(K64[39], K64[38]), - u64x2(K64[41], K64[40]), - u64x2(K64[43], K64[42]), - u64x2(K64[45], K64[44]), - u64x2(K64[47], K64[46]), - u64x2(K64[49], K64[48]), - u64x2(K64[51], K64[50]), - u64x2(K64[53], K64[52]), - u64x2(K64[55], K64[54]), - u64x2(K64[57], K64[56]), - u64x2(K64[59], K64[58]), - u64x2(K64[61], K64[60]), - u64x2(K64[63], K64[62]), - u64x2(K64[65], K64[64]), - u64x2(K64[67], K64[66]), - u64x2(K64[69], K64[68]), - u64x2(K64[71], K64[70]), - u64x2(K64[73], K64[72]), - u64x2(K64[75], K64[74]), - u64x2(K64[77], K64[76]), - u64x2(K64[79], K64[78])]; +pub const K64X2: [u64x2; 40] = [ + u64x2(K64[1], K64[0]), + u64x2(K64[3], K64[2]), + u64x2(K64[5], K64[4]), + u64x2(K64[7], K64[6]), + u64x2(K64[9], K64[8]), + u64x2(K64[11], K64[10]), + u64x2(K64[13], K64[12]), + u64x2(K64[15], K64[14]), + u64x2(K64[17], K64[16]), + u64x2(K64[19], K64[18]), + u64x2(K64[21], K64[20]), + u64x2(K64[23], K64[22]), + u64x2(K64[25], K64[24]), + u64x2(K64[27], K64[26]), + u64x2(K64[29], K64[28]), + u64x2(K64[31], K64[30]), + u64x2(K64[33], K64[32]), + u64x2(K64[35], K64[34]), + u64x2(K64[37], K64[36]), + u64x2(K64[39], K64[38]), + u64x2(K64[41], K64[40]), + u64x2(K64[43], K64[42]), + u64x2(K64[45], K64[44]), + u64x2(K64[47], K64[46]), + u64x2(K64[49], K64[48]), + u64x2(K64[51], K64[50]), + u64x2(K64[53], K64[52]), + u64x2(K64[55], K64[54]), + u64x2(K64[57], K64[56]), + u64x2(K64[59], K64[58]), + u64x2(K64[61], K64[60]), + u64x2(K64[63], K64[62]), + u64x2(K64[65], K64[64]), + u64x2(K64[67], K64[66]), + u64x2(K64[69], K64[68]), + u64x2(K64[71], K64[70]), + u64x2(K64[73], K64[72]), + u64x2(K64[75], K64[74]), + u64x2(K64[77], K64[76]), + u64x2(K64[79], K64[78]), +]; -pub static H224: [u32; STATE_LEN] = [0xc1059ed8, 0x367cd507, 0x3070dd17, - 0xf70e5939, 0xffc00b31, 0x68581511, - 0x64f98fa7, 0xbefa4fa4]; +pub static H224: [u32; STATE_LEN] = [ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +]; -pub static H256: [u32; STATE_LEN] = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, - 0xa54ff53a, 0x510e527f, 0x9b05688c, - 0x1f83d9ab, 0x5be0cd19]; +pub static H256: [u32; STATE_LEN] = [ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +]; -pub static H384: [u64; STATE_LEN] = [0xcbbb9d5dc1059ed8, 0x629a292a367cd507, - 0x9159015a3070dd17, 0x152fecd8f70e5939, - 0x67332667ffc00b31, 0x8eb44a8768581511, - 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4]; +pub static H384: [u64; STATE_LEN] = [ + 0xcbbb9d5dc1059ed8, + 0x629a292a367cd507, + 0x9159015a3070dd17, + 0x152fecd8f70e5939, + 0x67332667ffc00b31, + 0x8eb44a8768581511, + 0xdb0c2e0d64f98fa7, + 0x47b5481dbefa4fa4, +]; -pub static H512: [u64; STATE_LEN] = [0x6a09e667f3bcc908, 0xbb67ae8584caa73b, - 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, - 0x510e527fade682d1, 0x9b05688c2b3e6c1f, - 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179]; +pub static H512: [u64; STATE_LEN] = [ + 0x6a09e667f3bcc908, + 0xbb67ae8584caa73b, + 0x3c6ef372fe94f82b, + 0xa54ff53a5f1d36f1, + 0x510e527fade682d1, + 0x9b05688c2b3e6c1f, + 0x1f83d9abfb41bd6b, + 0x5be0cd19137e2179, +]; -pub static H512_TRUNC_224: [u64; STATE_LEN] = [0x8c3d37c819544da2, - 0x73e1996689dcd4d6, - 0x1dfab7ae32ff9c82, - 0x679dd514582f9fcf, - 0x0f6d2b697bd44da8, - 0x77e36f7304c48942, - 0x3f9d85a86a1d36c8, - 0x1112e6ad91d692a1]; +pub static H512_TRUNC_224: [u64; STATE_LEN] = [ + 0x8c3d37c819544da2, + 0x73e1996689dcd4d6, + 0x1dfab7ae32ff9c82, + 0x679dd514582f9fcf, + 0x0f6d2b697bd44da8, + 0x77e36f7304c48942, + 0x3f9d85a86a1d36c8, + 0x1112e6ad91d692a1, +]; -pub static H512_TRUNC_256: [u64; STATE_LEN] = [0x22312194fc2bf72c, - 0x9f555fa3c84c64c2, - 0x2393b86b6f53b151, - 0x963877195940eabd, - 0x96283ee2a88effe3, - 0xbe5e1e2553863992, - 0x2b0199fc2c85b8aa, - 0x0eb72ddc81c52ca2]; +pub static H512_TRUNC_256: [u64; STATE_LEN] = [ + 0x22312194fc2bf72c, + 0x9f555fa3c84c64c2, + 0x2393b86b6f53b151, + 0x963877195940eabd, + 0x96283ee2a88effe3, + 0xbe5e1e2553863992, + 0x2b0199fc2c85b8aa, + 0x0eb72ddc81c52ca2, +]; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 9dad44489..79002acfd 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,10 +1,10 @@ -use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::GenericArray; -use digest::generic_array::typenum::{U28, U32, U64}; +use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{BE, ByteOrder}; +use digest::generic_array::typenum::{U28, U32, U64}; +use digest::generic_array::GenericArray; +use digest::{BlockInput, FixedOutput, Input, Reset}; -use consts::{STATE_LEN, H224, H256}; +use consts::{H224, H256, STATE_LEN}; #[cfg(not(feature = "asm"))] use sha256_utils::compress256; @@ -22,7 +22,9 @@ struct Engine256State { } impl Engine256State { - fn new(h: &[u32; STATE_LEN]) -> Engine256State { Engine256State { h: *h } } + fn new(h: &[u32; STATE_LEN]) -> Engine256State { + Engine256State { h: *h } + } #[cfg(not(feature = "asm-aarch64"))] pub fn process_block(&mut self, block: &Block) { @@ -66,13 +68,15 @@ impl Engine256 { // Assumes that input.len() can be converted to u64 without overflow self.len += (input.len() as u64) << 3; let self_state = &mut self.state; - self.buffer.input(input, |input| self_state.process_block(input)); + self.buffer + .input(input, |input| self_state.process_block(input)); } fn finish(&mut self) { let self_state = &mut self.state; let l = self.len; - self.buffer.len64_padding::(l, |b| self_state.process_block(b)); + self.buffer + .len64_padding::(l, |b| self_state.process_block(b)); } fn reset(&mut self, h: &[u32; STATE_LEN]) { @@ -82,7 +86,6 @@ impl Engine256 { } } - /// The SHA-256 hash algorithm with the SHA-256 initial hash value. #[derive(Clone)] pub struct Sha256 { @@ -90,7 +93,11 @@ pub struct Sha256 { } impl Default for Sha256 { - fn default() -> Self { Sha256 { engine: Engine256::new(&H256) } } + fn default() -> Self { + Sha256 { + engine: Engine256::new(&H256), + } + } } impl BlockInput for Sha256 { @@ -128,7 +135,11 @@ pub struct Sha224 { } impl Default for Sha224 { - fn default() -> Self { Sha224 { engine: Engine256::new(&H224) } } + fn default() -> Self { + Sha224 { + engine: Engine256::new(&H224), + } + } } impl BlockInput for Sha224 { diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs index 030411390..4ead11cd3 100644 --- a/sha2/src/sha256_utils.rs +++ b/sha2/src/sha256_utils.rs @@ -1,8 +1,8 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] -use simd::u32x4; +use block_buffer::byteorder::{ByteOrder, BE}; use consts::{BLOCK_LEN, K32X4}; -use block_buffer::byteorder::{BE, ByteOrder}; +use simd::u32x4; /// Not an intrinsic, but works like an unaligned load. #[inline] @@ -19,13 +19,12 @@ fn sha256swap(v0: u32x4) -> u32x4 { /// Emulates `llvm.x86.sha256msg1` intrinsic. // #[inline] fn sha256msg1(v0: u32x4, v1: u32x4) -> u32x4 { - // sigma 0 on vectors #[inline] fn sigma0x4(x: u32x4) -> u32x4 { - ((x >> u32x4( 7, 7, 7, 7)) | (x << u32x4(25, 25, 25, 25))) ^ - ((x >> u32x4(18, 18, 18, 18)) | (x << u32x4(14, 14, 14, 14))) ^ - (x >> u32x4( 3, 3, 3, 3)) + ((x >> u32x4(7, 7, 7, 7)) | (x << u32x4(25, 25, 25, 25))) + ^ ((x >> u32x4(18, 18, 18, 18)) | (x << u32x4(14, 14, 14, 14))) + ^ (x >> u32x4(3, 3, 3, 3)) } v0 + sigma0x4(sha256load(v0, v1)) @@ -34,9 +33,10 @@ fn sha256msg1(v0: u32x4, v1: u32x4) -> u32x4 { /// Emulates `llvm.x86.sha256msg2` intrinsic. // #[inline] fn sha256msg2(v4: u32x4, v3: u32x4) -> u32x4 { - macro_rules! sigma1 { - ($a:expr) => ($a.rotate_right(17) ^ $a.rotate_right(19) ^ ($a >> 10)) + ($a:expr) => { + $a.rotate_right(17) ^ $a.rotate_right(19) ^ ($a >> 10) + }; } let u32x4(x3, x2, x1, x0) = v4; @@ -59,18 +59,25 @@ fn sha256_schedule_x4(v0: u32x4, v1: u32x4, v2: u32x4, v3: u32x4) -> u32x4 { /// Emulates `llvm.x86.sha256rnds2` intrinsic. // #[inline] fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { - macro_rules! big_sigma0 { - ($a:expr) => (($a.rotate_right(2) ^ $a.rotate_right(13) ^ $a.rotate_right(22))) + ($a:expr) => { + ($a.rotate_right(2) ^ $a.rotate_right(13) ^ $a.rotate_right(22)) + }; } macro_rules! big_sigma1 { - ($a:expr) => (($a.rotate_right(6) ^ $a.rotate_right(11) ^ $a.rotate_right(25))) + ($a:expr) => { + ($a.rotate_right(6) ^ $a.rotate_right(11) ^ $a.rotate_right(25)) + }; } macro_rules! bool3ary_202 { - ($a:expr, $b:expr, $c:expr) => ($c ^ ($a & ($b ^ $c))) + ($a:expr, $b:expr, $c:expr) => { + $c ^ ($a & ($b ^ $c)) + }; } // Choose, MD5F, SHA1C macro_rules! bool3ary_232 { - ($a:expr, $b:expr, $c:expr) => (($a & $b) ^ ($a & $c) ^ ($b & $c)) + ($a:expr, $b:expr, $c:expr) => { + ($a & $b) ^ ($a & $c) ^ ($b & $c) + }; } // Majority, SHA1M let u32x4(_, _, wk1, wk0) = wk; @@ -83,8 +90,16 @@ fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { .wrapping_add(wk0) .wrapping_add(h0); let y0 = big_sigma0!(a0).wrapping_add(bool3ary_232!(a0, b0, c0)); - let (a1, b1, c1, d1, e1, f1, g1, h1) = - (x0.wrapping_add(y0), a0, b0, c0, x0.wrapping_add(d0), e0, f0, g0); + let (a1, b1, c1, d1, e1, f1, g1, h1) = ( + x0.wrapping_add(y0), + a0, + b0, + c0, + x0.wrapping_add(d0), + e0, + f0, + g0, + ); // a round let x1 = big_sigma1!(e1) @@ -92,8 +107,16 @@ fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { .wrapping_add(wk1) .wrapping_add(h1); let y1 = big_sigma0!(a1).wrapping_add(bool3ary_232!(a1, b1, c1)); - let (a2, b2, _, _, e2, f2, _, _) = - (x1.wrapping_add(y1), a1, b1, c1, x1.wrapping_add(d1), e1, f1, g1); + let (a2, b2, _, _, e2, f2, _, _) = ( + x1.wrapping_add(y1), + a1, + b1, + c1, + x1.wrapping_add(d1), + e1, + f1, + g1, + ); u32x4(a2, b2, e2, f2) } @@ -103,18 +126,16 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { let k = &K32X4; macro_rules! schedule { - ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => ( + ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { sha256msg2(sha256msg1($v0, $v1) + sha256load($v2, $v3), $v3) - ) + }; } macro_rules! rounds4 { - ($abef:ident, $cdgh:ident, $rest:expr) => { - { - $cdgh = sha256_digest_round_x2($cdgh, $abef, $rest); - $abef = sha256_digest_round_x2($abef, $cdgh, sha256swap($rest)); - } - } + ($abef:ident, $cdgh:ident, $rest:expr) => {{ + $cdgh = sha256_digest_round_x2($cdgh, $abef, $rest); + $abef = sha256_digest_round_x2($abef, $cdgh, sha256swap($rest)); + }}; } let mut abef = u32x4(state[0], state[1], state[4], state[5]); diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index e3e229618..d04ff6c9a 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,15 +1,15 @@ -use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::GenericArray; -use digest::generic_array::typenum::{U28, U32, U48, U64, U128}; +use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; -use block_buffer::byteorder::{BE, ByteOrder}; +use digest::generic_array::typenum::{U128, U28, U32, U48, U64}; +use digest::generic_array::GenericArray; +use digest::{BlockInput, FixedOutput, Input, Reset}; -use consts::{STATE_LEN, H384, H512, H512_TRUNC_224, H512_TRUNC_256}; +use consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; -#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] -use sha512_utils::compress512; #[cfg(all(feature = "asm", not(target_arch = "aarch64")))] use sha2_asm::compress512; +#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] +use sha512_utils::compress512; type BlockSize = U128; type Block = GenericArray; @@ -22,10 +22,12 @@ struct Engine512State { } impl Engine512State { - fn new(h: &[u64; 8]) -> Engine512State { Engine512State { h: *h } } + fn new(h: &[u64; 8]) -> Engine512State { + Engine512State { h: *h } + } pub fn process_block(&mut self, block: &Block) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 128])}; + let block = unsafe { &*(block.as_ptr() as *const [u8; 128]) }; compress512(&mut self.h, block); } } @@ -51,7 +53,9 @@ impl Engine512 { fn input(&mut self, input: &[u8]) { let (res, over) = self.len.1.overflowing_add((input.len() as u64) << 3); self.len.1 = res; - if over { self.len.0 += 1; } + if over { + self.len.0 += 1; + } let self_state = &mut self.state; self.buffer.input(input, |d| self_state.process_block(d)); } @@ -59,7 +63,8 @@ impl Engine512 { fn finish(&mut self) { let self_state = &mut self.state; let (hi, lo) = self.len; - self.buffer.len128_padding_be(hi, lo, |d| self_state.process_block(d)); + self.buffer + .len128_padding_be(hi, lo, |d| self_state.process_block(d)); } fn reset(&mut self, h: &[u64; STATE_LEN]) { @@ -69,7 +74,6 @@ impl Engine512 { } } - /// The SHA-512 hash algorithm with the SHA-512 initial hash value. #[derive(Clone)] pub struct Sha512 { @@ -77,7 +81,11 @@ pub struct Sha512 { } impl Default for Sha512 { - fn default() -> Self { Sha512 { engine: Engine512::new(&H512) } } + fn default() -> Self { + Sha512 { + engine: Engine512::new(&H512), + } + } } impl BlockInput for Sha512 { @@ -116,7 +124,11 @@ pub struct Sha384 { } impl Default for Sha384 { - fn default() -> Self { Sha384 { engine: Engine512::new(&H384) } } + fn default() -> Self { + Sha384 { + engine: Engine512::new(&H384), + } + } } impl BlockInput for Sha384 { @@ -156,7 +168,9 @@ pub struct Sha512Trunc256 { impl Default for Sha512Trunc256 { fn default() -> Self { - Sha512Trunc256 { engine: Engine512::new(&H512_TRUNC_256) } + Sha512Trunc256 { + engine: Engine512::new(&H512_TRUNC_256), + } } } @@ -197,7 +211,9 @@ pub struct Sha512Trunc224 { impl Default for Sha512Trunc224 { fn default() -> Self { - Sha512Trunc224 { engine: Engine512::new(&H512_TRUNC_224) } + Sha512Trunc224 { + engine: Engine512::new(&H512_TRUNC_224), + } } } diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512_utils.rs index 977cd35af..50d903b60 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512_utils.rs @@ -1,8 +1,8 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] -use simd::u64x2; +use block_buffer::byteorder::{ByteOrder, BE}; use consts::{BLOCK_LEN, K64X2}; -use block_buffer::byteorder::{BE, ByteOrder}; +use simd::u64x2; /// Not an intrinsic, but works like an unaligned load. #[inline] @@ -11,9 +11,7 @@ fn sha512load(v0: u64x2, v1: u64x2) -> u64x2 { } /// Performs 2 rounds of the SHA-512 message schedule update. -pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) - -> u64x2 { - +pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) -> u64x2 { // sigma 0 fn sigma0(x: u64) -> u64 { ((x << 63) | (x >> 1)) ^ ((x << 56) | (x >> 8)) ^ (x >> 7) @@ -29,30 +27,39 @@ pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) let u64x2(w10, w9) = v4to5; let u64x2(w15, w14) = v7; - let w16 = - sigma1(w14).wrapping_add(w9).wrapping_add(sigma0(w1)).wrapping_add(w0); - let w17 = - sigma1(w15).wrapping_add(w10).wrapping_add(sigma0(w2)).wrapping_add(w1); + let w16 = sigma1(w14) + .wrapping_add(w9) + .wrapping_add(sigma0(w1)) + .wrapping_add(w0); + let w17 = sigma1(w15) + .wrapping_add(w10) + .wrapping_add(sigma0(w2)) + .wrapping_add(w1); u64x2(w17, w16) } /// Performs one round of the SHA-512 message block digest. -pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, - wk0: u64) - -> u64x2 { - +pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, wk0: u64) -> u64x2 { macro_rules! big_sigma0 { - ($a:expr) => (($a.rotate_right(28) ^ $a.rotate_right(34) ^ $a.rotate_right(39))) + ($a:expr) => { + ($a.rotate_right(28) ^ $a.rotate_right(34) ^ $a.rotate_right(39)) + }; } macro_rules! big_sigma1 { - ($a:expr) => (($a.rotate_right(14) ^ $a.rotate_right(18) ^ $a.rotate_right(41))) + ($a:expr) => { + ($a.rotate_right(14) ^ $a.rotate_right(18) ^ $a.rotate_right(41)) + }; } macro_rules! bool3ary_202 { - ($a:expr, $b:expr, $c:expr) => ($c ^ ($a & ($b ^ $c))) + ($a:expr, $b:expr, $c:expr) => { + $c ^ ($a & ($b ^ $c)) + }; } // Choose, MD5F, SHA1C macro_rules! bool3ary_232 { - ($a:expr, $b:expr, $c:expr) => (($a & $b) ^ ($a & $c) ^ ($b & $c)) + ($a:expr, $b:expr, $c:expr) => { + ($a & $b) ^ ($a & $c) ^ ($b & $c) + }; } // Majority, SHA1M let u64x2(a0, e0) = ae; @@ -66,8 +73,16 @@ pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, .wrapping_add(wk0) .wrapping_add(h0); let y0 = big_sigma0!(a0).wrapping_add(bool3ary_232!(a0, b0, c0)); - let (a1, _, _, _, e1, _, _, _) = - (x0.wrapping_add(y0), a0, b0, c0, x0.wrapping_add(d0), e0, f0, g0); + let (a1, _, _, _, e1, _, _, _) = ( + x0.wrapping_add(y0), + a0, + b0, + c0, + x0.wrapping_add(d0), + e0, + f0, + g0, + ); u64x2(a1, e1) } @@ -77,23 +92,21 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { let k = &K64X2; macro_rules! schedule { - ($v0:expr, $v1:expr, $v4:expr, $v5:expr, $v7:expr) => ( - sha512_schedule_x2($v0, $v1, sha512load($v4, $v5), $v7) - ) + ($v0:expr, $v1:expr, $v4:expr, $v5:expr, $v7:expr) => { + sha512_schedule_x2($v0, $v1, sha512load($v4, $v5), $v7) + }; } macro_rules! rounds4 { - ($ae:ident, $bf:ident, $cg:ident, $dh:ident, $wk0:expr, $wk1:expr) => { - { - let u64x2(u, t) = $wk0; - let u64x2(w, v) = $wk1; + ($ae:ident, $bf:ident, $cg:ident, $dh:ident, $wk0:expr, $wk1:expr) => {{ + let u64x2(u, t) = $wk0; + let u64x2(w, v) = $wk1; - $dh = sha512_digest_round($ae, $bf, $cg, $dh, t); - $cg = sha512_digest_round($dh, $ae, $bf, $cg, u); - $bf = sha512_digest_round($cg, $dh, $ae, $bf, v); - $ae = sha512_digest_round($bf, $cg, $dh, $ae, w); - } - } + $dh = sha512_digest_round($ae, $bf, $cg, $dh, t); + $cg = sha512_digest_round($dh, $ae, $bf, $cg, u); + $bf = sha512_digest_round($cg, $dh, $ae, $bf, v); + $ae = sha512_digest_round($bf, $cg, $dh, $ae, w); + }}; } let mut ae = u64x2(state[0], state[4]); @@ -102,17 +115,13 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { let mut dh = u64x2(state[3], state[7]); // Rounds 0..20 - let (mut w1, mut w0) = (u64x2(block[3], block[2]), - u64x2(block[1], block[0])); + let (mut w1, mut w0) = (u64x2(block[3], block[2]), u64x2(block[1], block[0])); rounds4!(ae, bf, cg, dh, k[0] + w0, k[1] + w1); - let (mut w3, mut w2) = (u64x2(block[7], block[6]), - u64x2(block[5], block[4])); + let (mut w3, mut w2) = (u64x2(block[7], block[6]), u64x2(block[5], block[4])); rounds4!(ae, bf, cg, dh, k[2] + w2, k[3] + w3); - let (mut w5, mut w4) = (u64x2(block[11], block[10]), - u64x2(block[9], block[8])); + let (mut w5, mut w4) = (u64x2(block[11], block[10]), u64x2(block[9], block[8])); rounds4!(ae, bf, cg, dh, k[4] + w4, k[5] + w5); - let (mut w7, mut w6) = (u64x2(block[15], block[14]), - u64x2(block[13], block[12])); + let (mut w7, mut w6) = (u64x2(block[15], block[14]), u64x2(block[13], block[12])); rounds4!(ae, bf, cg, dh, k[6] + w6, k[7] + w7); let mut w8 = schedule!(w0, w1, w4, w5, w7); let mut w9 = schedule!(w1, w2, w5, w6, w8); diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index 1d3c2f162..bd8938a3f 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -3,14 +3,24 @@ extern crate digest; extern crate sha2; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; new_test!(sha224_main, "sha224", sha2::Sha224, digest_test); new_test!(sha256_main, "sha256", sha2::Sha256, digest_test); new_test!(sha384_main, "sha384", sha2::Sha384, digest_test); new_test!(sha512_main, "sha512", sha2::Sha512, digest_test); -new_test!(sha512_224_main, "sha512_224", sha2::Sha512Trunc224, digest_test); -new_test!(sha512_256_main, "sha512_256", sha2::Sha512Trunc256, digest_test); +new_test!( + sha512_224_main, + "sha512_224", + sha2::Sha512Trunc224, + digest_test +); +new_test!( + sha512_256_main, + "sha512_256", + sha2::Sha512Trunc256, + digest_test +); #[test] fn sha256_1million_a() { diff --git a/sha3/examples/sha3_256sum.rs b/sha3/examples/sha3_256sum.rs index a1214ba39..b3b217947 100644 --- a/sha3/examples/sha3_256sum.rs +++ b/sha3/examples/sha3_256sum.rs @@ -1,6 +1,6 @@ extern crate sha3; -use sha3::{Sha3_256, Digest}; +use sha3::{Digest, Sha3_256}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/sha3/examples/sha3_512sum.rs b/sha3/examples/sha3_512sum.rs index 9b0802e79..6a6f71d3f 100644 --- a/sha3/examples/sha3_512sum.rs +++ b/sha3/examples/sha3_512sum.rs @@ -1,6 +1,6 @@ extern crate sha3; -use sha3::{Sha3_512, Digest}; +use sha3::{Digest, Sha3_512}; use std::env; use std::fs; use std::io::{self, Read}; diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 4c899c006..2128734ee 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -41,24 +41,25 @@ //! [1]: https://en.wikipedia.org/wiki/SHA-3 //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![deny(missing_docs, warnings)] -extern crate keccak; extern crate block_buffer; extern crate byte_tools; -#[macro_use] extern crate opaque_debug; -#[macro_use] pub extern crate digest; +extern crate keccak; +#[macro_use] +extern crate opaque_debug; +#[macro_use] +pub extern crate digest; #[cfg(feature = "std")] extern crate std; -pub use digest::Digest; -use digest::{Input, BlockInput, FixedOutput, ExtendableOutput, Reset}; use block_buffer::BlockBuffer; -use digest::generic_array::GenericArray; use digest::generic_array::typenum::{ - U28, U32, U48, U64, U72, U104, U136, U144, U168, U200, Unsigned, + Unsigned, U104, U136, U144, U168, U200, U28, U32, U48, U64, U72, }; +use digest::generic_array::GenericArray; +pub use digest::Digest; +use digest::{BlockInput, ExtendableOutput, FixedOutput, Input, Reset}; mod paddings; #[macro_use] @@ -69,28 +70,81 @@ mod state; pub use reader::Sha3XofReader; use state::Sha3State; -sha3_impl!(Keccak224, U28, U144, paddings::Keccak, - "Keccak-224 hash function."); -sha3_impl!(Keccak256, U32, U136, paddings::Keccak, - "Keccak-256 hash function."); -sha3_impl!(Keccak384, U48, U104, paddings::Keccak, - "Keccak-384 hash function."); -sha3_impl!(Keccak512, U64, U72, paddings::Keccak, - "Keccak-512 hash function."); +sha3_impl!( + Keccak224, + U28, + U144, + paddings::Keccak, + "Keccak-224 hash function." +); +sha3_impl!( + Keccak256, + U32, + U136, + paddings::Keccak, + "Keccak-256 hash function." +); +sha3_impl!( + Keccak384, + U48, + U104, + paddings::Keccak, + "Keccak-384 hash function." +); +sha3_impl!( + Keccak512, + U64, + U72, + paddings::Keccak, + "Keccak-512 hash function." +); -sha3_impl!(Keccak256Full, U200, U136, paddings::Keccak, - "SHA-3 variant used in CryptoNight."); +sha3_impl!( + Keccak256Full, + U200, + U136, + paddings::Keccak, + "SHA-3 variant used in CryptoNight." +); -sha3_impl!(Sha3_224, U28, U144, paddings::Sha3, - "SHA-3-224 hash function."); -sha3_impl!(Sha3_256, U32, U136, paddings::Sha3, - "SHA-3-256 hash function."); -sha3_impl!(Sha3_384, U48, U104, paddings::Sha3, - "SHA-3-384 hash function."); -sha3_impl!(Sha3_512, U64, U72, paddings::Sha3, - "SHA-3-512 hash function."); +sha3_impl!( + Sha3_224, + U28, + U144, + paddings::Sha3, + "SHA-3-224 hash function." +); +sha3_impl!( + Sha3_256, + U32, + U136, + paddings::Sha3, + "SHA-3-256 hash function." +); +sha3_impl!( + Sha3_384, + U48, + U104, + paddings::Sha3, + "SHA-3-384 hash function." +); +sha3_impl!( + Sha3_512, + U64, + U72, + paddings::Sha3, + "SHA-3-512 hash function." +); -shake_impl!(Shake128, U168, paddings::Shake, - "SHAKE128 extendable output (XOF) hash function"); -shake_impl!(Shake256, U136, paddings::Shake, - "SHAKE256 extendable output (XOF) hash function"); +shake_impl!( + Shake128, + U168, + paddings::Shake, + "SHAKE128 extendable output (XOF) hash function" +); +shake_impl!( + Shake256, + U136, + paddings::Shake, + "SHAKE256 extendable output (XOF) hash function" +); diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 81b8976a2..e794134a1 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -26,7 +26,6 @@ macro_rules! impl_state { macro_rules! sha3_impl { ($state:ident, $output_size:ident, $rate:ident, $padding:ty, $doc:expr) => { - impl_state!($state, $rate, $padding, $doc); impl BlockInput for $state { @@ -63,7 +62,7 @@ macro_rules! sha3_impl { impl_opaque_debug!($state); impl_write!($state); - } + }; } macro_rules! shake_impl { @@ -95,5 +94,5 @@ macro_rules! shake_impl { impl_opaque_debug!($state); impl_write!($state); - } + }; } diff --git a/sha3/src/paddings.rs b/sha3/src/paddings.rs index 76fb5e247..89ca95f56 100644 --- a/sha3/src/paddings.rs +++ b/sha3/src/paddings.rs @@ -1,4 +1,4 @@ -use block_buffer::block_padding::{Padding, PadError, UnpadError}; +use block_buffer::block_padding::{PadError, Padding, UnpadError}; use byte_tools::zero; macro_rules! impl_padding { @@ -11,11 +11,13 @@ macro_rules! impl_padding { impl Padding for $name { #[inline(always)] fn pad_block(block: &mut [u8], pos: usize) -> Result<(), PadError> { - if pos >= block.len() { Err(PadError)? } + if pos >= block.len() { + Err(PadError)? + } block[pos] = $pad; - zero(&mut block[pos+1..]); + zero(&mut block[pos + 1..]); let n = block.len(); - block[n-1] |= 0x80; + block[n - 1] |= 0x80; Ok(()) } @@ -24,7 +26,7 @@ macro_rules! impl_padding { unimplemented!(); } } - } + }; } impl_padding!(Keccak, 0x01); diff --git a/sha3/src/reader.rs b/sha3/src/reader.rs index 9cebc7eb8..ac3388ef6 100644 --- a/sha3/src/reader.rs +++ b/sha3/src/reader.rs @@ -12,7 +12,11 @@ pub struct Sha3XofReader { impl Sha3XofReader { pub(crate) fn new(state: Sha3State, rate: usize) -> Self { - Sha3XofReader{ state, rate, pos: 0 } + Sha3XofReader { + state, + rate, + pos: 0, + } } } @@ -21,7 +25,7 @@ impl XofReader for Sha3XofReader { let rem = self.rate - self.pos; let n = buffer.len(); if n >= rem { - let (l, r) = {buffer}.split_at_mut(rem); + let (l, r) = { buffer }.split_at_mut(rem); buffer = r; self.state.as_bytes(|state| { l.copy_from_slice(&state[self.pos..self.rate]); @@ -29,14 +33,14 @@ impl XofReader for Sha3XofReader { self.state.apply_f(); } else { self.state.as_bytes(|state| { - buffer.copy_from_slice(&state[self.pos..self.pos+n]); + buffer.copy_from_slice(&state[self.pos..self.pos + n]); }); self.pos += n; return; } while buffer.len() >= self.rate { - let (l, r) = {buffer}.split_at_mut(self.rate); + let (l, r) = { buffer }.split_at_mut(self.rate); buffer = r; self.state.as_bytes(|state| { diff --git a/sha3/src/state.rs b/sha3/src/state.rs index 5ae37e20e..4a5c28436 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,5 +1,5 @@ +use block_buffer::byteorder::{ByteOrder, LE}; use keccak; -use block_buffer::byteorder::{LE, ByteOrder}; const PLEN: usize = 25; @@ -14,14 +14,12 @@ impl Sha3State { debug_assert_eq!(block.len() % 8, 0); if cfg!(target_endian = "little") { - let state = unsafe { - &mut *(self.state.as_mut_ptr() as *mut [u8; 8*PLEN]) - }; + let state = unsafe { &mut *(self.state.as_mut_ptr() as *mut [u8; 8 * PLEN]) }; for (d, i) in state.iter_mut().zip(block) { *d ^= *i; } } else if cfg!(target_endian = "big") { - let n = block.len()/8; + let n = block.len() / 8; let mut buf = [0u64; 21]; let buf = &mut buf[..n]; LE::read_u64_into(block, buf); @@ -34,12 +32,12 @@ impl Sha3State { } #[inline(always)] - pub(crate) fn as_bytes(&self, f: F) { + pub(crate) fn as_bytes(&self, f: F) { let mut data_copy; - let data_ref: &[u8; 8*PLEN] = if cfg!(target_endian = "little") { - unsafe { &*(self.state.as_ptr() as *const [u8; 8*PLEN]) } + let data_ref: &[u8; 8 * PLEN] = if cfg!(target_endian = "little") { + unsafe { &*(self.state.as_ptr() as *const [u8; 8 * PLEN]) } } else { - data_copy = [0u8; 8*PLEN]; + data_copy = [0u8; 8 * PLEN]; LE::write_u64_into(&self.state, &mut data_copy); &data_copy }; diff --git a/sha3/tests/lib.rs b/sha3/tests/lib.rs index f6f2ec27c..7d4b43779 100644 --- a/sha3/tests/lib.rs +++ b/sha3/tests/lib.rs @@ -10,7 +10,12 @@ new_test!(keccak_256, "keccak_256", sha3::Keccak256, digest_test); new_test!(keccak_384, "keccak_384", sha3::Keccak384, digest_test); new_test!(keccak_512, "keccak_512", sha3::Keccak512, digest_test); // tests are from https://github.com/kazcw/yellowsun/blob/test-keccak/src/lib.rs#L171 -new_test!(keccak_256_full, "keccak_256_full", sha3::Keccak256Full, digest_test); +new_test!( + keccak_256_full, + "keccak_256_full", + sha3::Keccak256Full, + digest_test +); new_test!(sha3_224, "sha3_224", sha3::Sha3_224, digest_test); new_test!(sha3_256, "sha3_256", sha3::Sha3_256, digest_test); diff --git a/streebog/examples/streebog256sum.rs b/streebog/examples/streebog256sum.rs index 9477c63ba..f2409f0c5 100644 --- a/streebog/examples/streebog256sum.rs +++ b/streebog/examples/streebog256sum.rs @@ -1,9 +1,9 @@ extern crate streebog; -use streebog::{Streebog256, Digest}; use std::env; use std::fs; use std::io::{self, Read}; +use streebog::{Digest, Streebog256}; const BUFFER_SIZE: usize = 1024; diff --git a/streebog/examples/streebog512sum.rs b/streebog/examples/streebog512sum.rs index 07235f64d..9e5e6ac77 100644 --- a/streebog/examples/streebog512sum.rs +++ b/streebog/examples/streebog512sum.rs @@ -1,9 +1,9 @@ extern crate streebog; -use streebog::{Streebog512, Digest}; use std::env; use std::fs; use std::io::{self, Read}; +use streebog::{Digest, Streebog512}; const BUFFER_SIZE: usize = 1024; diff --git a/streebog/src/consts.rs b/streebog/src/consts.rs index 49afa309d..f6e45f3a1 100644 --- a/streebog/src/consts.rs +++ b/streebog/src/consts.rs @@ -7,155 +7,175 @@ pub const BLOCK_SIZE: usize = 64; /// Linear transformation matrix #[cfg(test)] -pub const A:[u64; BLOCK_SIZE] = [ - 0x641c314b2b8ee083, 0xc83862965601dd1b, 0x8d70c431ac02a736, 0x07e095624504536c, - 0x0edd37c48a08a6d8, 0x1ca76e95091051ad, 0x3853dc371220a247, 0x70a6a56e2440598e, - 0xa48b474f9ef5dc18, 0x550b8e9e21f7a530, 0xaa16012142f35760, 0x492c024284fbaec0, - 0x9258048415eb419d, 0x39b008152acb8227, 0x727d102a548b194e, 0xe4fa2054a80b329c, - 0xf97d86d98a327728, 0xeffa11af0964ee50, 0xc3e9224312c8c1a0, 0x9bcf4486248d9f5d, - 0x2b838811480723ba, 0x561b0d22900e4669, 0xac361a443d1c8cd2, 0x456c34887a3805b9, - 0x5b068c651810a89e, 0xb60c05ca30204d21, 0x71180a8960409a42, 0xe230140fc0802984, - 0xd960281e9d1d5215, 0xafc0503c273aa42a, 0x439da0784e745554, 0x86275df09ce8aaa8, - 0x0321658cba93c138, 0x0642ca05693b9f70, 0x0c84890ad27623e0, 0x18150f14b9ec46dd, - 0x302a1e286fc58ca7, 0x60543c50de970553, 0xc0a878a0a1330aa6, 0x9d4df05d5f661451, - 0xaccc9ca9328a8950, 0x4585254f64090fa0, 0x8a174a9ec8121e5d, 0x092e94218d243cba, - 0x125c354207487869, 0x24b86a840e90f0d2, 0x486dd4151c3dfdb9, 0x90dab52a387ae76f, - 0x46b60f011a83988e, 0x8c711e02341b2d01, 0x05e23c0468365a02, 0x0ad97808d06cb404, - 0x14aff010bdd87508, 0x2843fd2067adea10, 0x5086e740ce47c920, 0xa011d380818e8f40, - 0x83478b07b2468764, 0x1b8e0b0e798c13c8, 0x3601161cf205268d, 0x6c022c38f90a4c07, - 0xd8045870ef14980e, 0xad08b0e0c3282d1c, 0x47107ddd9b505a38, 0x8e20faa72ba0b470, +pub const A: [u64; BLOCK_SIZE] = [ + 0x641c314b2b8ee083, + 0xc83862965601dd1b, + 0x8d70c431ac02a736, + 0x07e095624504536c, + 0x0edd37c48a08a6d8, + 0x1ca76e95091051ad, + 0x3853dc371220a247, + 0x70a6a56e2440598e, + 0xa48b474f9ef5dc18, + 0x550b8e9e21f7a530, + 0xaa16012142f35760, + 0x492c024284fbaec0, + 0x9258048415eb419d, + 0x39b008152acb8227, + 0x727d102a548b194e, + 0xe4fa2054a80b329c, + 0xf97d86d98a327728, + 0xeffa11af0964ee50, + 0xc3e9224312c8c1a0, + 0x9bcf4486248d9f5d, + 0x2b838811480723ba, + 0x561b0d22900e4669, + 0xac361a443d1c8cd2, + 0x456c34887a3805b9, + 0x5b068c651810a89e, + 0xb60c05ca30204d21, + 0x71180a8960409a42, + 0xe230140fc0802984, + 0xd960281e9d1d5215, + 0xafc0503c273aa42a, + 0x439da0784e745554, + 0x86275df09ce8aaa8, + 0x0321658cba93c138, + 0x0642ca05693b9f70, + 0x0c84890ad27623e0, + 0x18150f14b9ec46dd, + 0x302a1e286fc58ca7, + 0x60543c50de970553, + 0xc0a878a0a1330aa6, + 0x9d4df05d5f661451, + 0xaccc9ca9328a8950, + 0x4585254f64090fa0, + 0x8a174a9ec8121e5d, + 0x092e94218d243cba, + 0x125c354207487869, + 0x24b86a840e90f0d2, + 0x486dd4151c3dfdb9, + 0x90dab52a387ae76f, + 0x46b60f011a83988e, + 0x8c711e02341b2d01, + 0x05e23c0468365a02, + 0x0ad97808d06cb404, + 0x14aff010bdd87508, + 0x2843fd2067adea10, + 0x5086e740ce47c920, + 0xa011d380818e8f40, + 0x83478b07b2468764, + 0x1b8e0b0e798c13c8, + 0x3601161cf205268d, + 0x6c022c38f90a4c07, + 0xd8045870ef14980e, + 0xad08b0e0c3282d1c, + 0x47107ddd9b505a38, + 0x8e20faa72ba0b470, ]; /// Substitution table #[cfg(test)] pub const P: [u8; 256] = [ - 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, - 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241, 187, 20, 205, 95, 193, - 249, 24, 101, 90, 226, 92, 239, 33, 129, 28, 60, 66, 139, 1, 142, 79, 5, - 132, 2, 174, 227, 106, 143, 160, 6, 11, 237, 152, 127, 212, 211, 31, 235, - 52, 44, 81, 234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, 181, - 112, 14, 86, 8, 12, 118, 18, 191, 114, 19, 71, 156, 183, 93, 135, 21, 161, - 150, 41, 16, 123, 154, 199, 243, 145, 120, 111, 157, 158, 178, 177, 50, 117, - 25, 61, 255, 53, 138, 126, 109, 84, 198, 128, 195, 189, 13, 87, 223, 245, 36, - 169, 62, 168, 67, 201, 215, 121, 214, 246, 124, 34, 185, 3, 224, 15, 236, - 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, 167, 151, 96, 115, - 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, 173, 69, 70, 146, 39, 94, - 85, 47, 140, 163, 165, 125, 105, 213, 149, 59, 7, 88, 179, 64, 134, 172, 29, - 247, 48, 55, 107, 228, 136, 217, 231, 137, 225, 27, 131, 73, 76, 63, 248, - 254, 141, 83, 170, 144, 202, 216, 133, 97, 32, 113, 103, 164, 45, 43, 9, - 91, 203, 155, 37, 208, 190, 229, 108, 82, 89, 166, 116, 210, 230, 244, 180, - 192, 209, 102, 175, 194, 57, 75, 99, 182 + 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, 233, 119, 240, 219, + 147, 46, 153, 186, 23, 54, 241, 187, 20, 205, 95, 193, 249, 24, 101, 90, 226, 92, 239, 33, 129, + 28, 60, 66, 139, 1, 142, 79, 5, 132, 2, 174, 227, 106, 143, 160, 6, 11, 237, 152, 127, 212, + 211, 31, 235, 52, 44, 81, 234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, 181, 112, + 14, 86, 8, 12, 118, 18, 191, 114, 19, 71, 156, 183, 93, 135, 21, 161, 150, 41, 16, 123, 154, + 199, 243, 145, 120, 111, 157, 158, 178, 177, 50, 117, 25, 61, 255, 53, 138, 126, 109, 84, 198, + 128, 195, 189, 13, 87, 223, 245, 36, 169, 62, 168, 67, 201, 215, 121, 214, 246, 124, 34, 185, + 3, 224, 15, 236, 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, 167, 151, 96, 115, + 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, 173, 69, 70, 146, 39, 94, 85, 47, 140, 163, + 165, 125, 105, 213, 149, 59, 7, 88, 179, 64, 134, 172, 29, 247, 48, 55, 107, 228, 136, 217, + 231, 137, 225, 27, 131, 73, 76, 63, 248, 254, 141, 83, 170, 144, 202, 216, 133, 97, 32, 113, + 103, 164, 45, 43, 9, 91, 203, 155, 37, 208, 190, 229, 108, 82, 89, 166, 116, 210, 230, 244, + 180, 192, 209, 102, 175, 194, 57, 75, 99, 182, ]; /// Iteration constants pub const C: [[u8; BLOCK_SIZE]; 12] = [ [ - 0x07, 0x45, 0xa6, 0xf2, 0x59, 0x65, 0x80, 0xdd, - 0x23, 0x4d, 0x74, 0xcc, 0x36, 0x74, 0x76, 0x05, - 0x15, 0xd3, 0x60, 0xa4, 0x08, 0x2a, 0x42, 0xa2, - 0x01, 0x69, 0x67, 0x92, 0x91, 0xe0, 0x7c, 0x4b, - 0xfc, 0xc4, 0x85, 0x75, 0x8d, 0xb8, 0x4e, 0x71, - 0x16, 0xd0, 0x45, 0x2e, 0x43, 0x76, 0x6a, 0x2f, - 0x1f, 0x7c, 0x65, 0xc0, 0x81, 0x2f, 0xcb, 0xeb, - 0xe9, 0xda, 0xca, 0x1e, 0xda, 0x5b, 0x08, 0xb1, - ], [ - 0xb7, 0x9b, 0xb1, 0x21, 0x70, 0x04, 0x79, 0xe6, - 0x56, 0xcd, 0xcb, 0xd7, 0x1b, 0xa2, 0xdd, 0x55, - 0xca, 0xa7, 0x0a, 0xdb, 0xc2, 0x61, 0xb5, 0x5c, - 0x58, 0x99, 0xd6, 0x12, 0x6b, 0x17, 0xb5, 0x9a, - 0x31, 0x01, 0xb5, 0x16, 0x0f, 0x5e, 0xd5, 0x61, - 0x98, 0x2b, 0x23, 0x0a, 0x72, 0xea, 0xfe, 0xf3, - 0xd7, 0xb5, 0x70, 0x0f, 0x46, 0x9d, 0xe3, 0x4f, - 0x1a, 0x2f, 0x9d, 0xa9, 0x8a, 0xb5, 0xa3, 0x6f, - ], [ - 0xb2, 0x0a, 0xba, 0x0a, 0xf5, 0x96, 0x1e, 0x99, - 0x31, 0xdb, 0x7a, 0x86, 0x43, 0xf4, 0xb6, 0xc2, - 0x09, 0xdb, 0x62, 0x60, 0x37, 0x3a, 0xc9, 0xc1, - 0xb1, 0x9e, 0x35, 0x90, 0xe4, 0x0f, 0xe2, 0xd3, - 0x7b, 0x7b, 0x29, 0xb1, 0x14, 0x75, 0xea, 0xf2, - 0x8b, 0x1f, 0x9c, 0x52, 0x5f, 0x5e, 0xf1, 0x06, - 0x35, 0x84, 0x3d, 0x6a, 0x28, 0xfc, 0x39, 0x0a, - 0xc7, 0x2f, 0xce, 0x2b, 0xac, 0xdc, 0x74, 0xf5, - ], [ - 0x2e, 0xd1, 0xe3, 0x84, 0xbc, 0xbe, 0x0c, 0x22, - 0xf1, 0x37, 0xe8, 0x93, 0xa1, 0xea, 0x53, 0x34, - 0xbe, 0x03, 0x52, 0x93, 0x33, 0x13, 0xb7, 0xd8, - 0x75, 0xd6, 0x03, 0xed, 0x82, 0x2c, 0xd7, 0xa9, - 0x3f, 0x35, 0x5e, 0x68, 0xad, 0x1c, 0x72, 0x9d, - 0x7d, 0x3c, 0x5c, 0x33, 0x7e, 0x85, 0x8e, 0x48, - 0xdd, 0xe4, 0x71, 0x5d, 0xa0, 0xe1, 0x48, 0xf9, - 0xd2, 0x66, 0x15, 0xe8, 0xb3, 0xdf, 0x1f, 0xef, - ], [ - 0x57, 0xfe, 0x6c, 0x7c, 0xfd, 0x58, 0x17, 0x60, - 0xf5, 0x63, 0xea, 0xa9, 0x7e, 0xa2, 0x56, 0x7a, - 0x16, 0x1a, 0x27, 0x23, 0xb7, 0x00, 0xff, 0xdf, - 0xa3, 0xf5, 0x3a, 0x25, 0x47, 0x17, 0xcd, 0xbf, - 0xbd, 0xff, 0x0f, 0x80, 0xd7, 0x35, 0x9e, 0x35, - 0x4a, 0x10, 0x86, 0x16, 0x1f, 0x1c, 0x15, 0x7f, - 0x63, 0x23, 0xa9, 0x6c, 0x0c, 0x41, 0x3f, 0x9a, - 0x99, 0x47, 0x47, 0xad, 0xac, 0x6b, 0xea, 0x4b, - ], [ - 0x6e, 0x7d, 0x64, 0x46, 0x7a, 0x40, 0x68, 0xfa, - 0x35, 0x4f, 0x90, 0x36, 0x72, 0xc5, 0x71, 0xbf, - 0xb6, 0xc6, 0xbe, 0xc2, 0x66, 0x1f, 0xf2, 0x0a, - 0xb4, 0xb7, 0x9a, 0x1c, 0xb7, 0xa6, 0xfa, 0xcf, - 0xc6, 0x8e, 0xf0, 0x9a, 0xb4, 0x9a, 0x7f, 0x18, - 0x6c, 0xa4, 0x42, 0x51, 0xf9, 0xc4, 0x66, 0x2d, - 0xc0, 0x39, 0x30, 0x7a, 0x3b, 0xc3, 0xa4, 0x6f, - 0xd9, 0xd3, 0x3a, 0x1d, 0xae, 0xae, 0x4f, 0xae, - ], [ - 0x93, 0xd4, 0x14, 0x3a, 0x4d, 0x56, 0x86, 0x88, - 0xf3, 0x4a, 0x3c, 0xa2, 0x4c, 0x45, 0x17, 0x35, - 0x04, 0x05, 0x4a, 0x28, 0x83, 0x69, 0x47, 0x06, - 0x37, 0x2c, 0x82, 0x2d, 0xc5, 0xab, 0x92, 0x09, - 0xc9, 0x93, 0x7a, 0x19, 0x33, 0x3e, 0x47, 0xd3, - 0xc9, 0x87, 0xbf, 0xe6, 0xc7, 0xc6, 0x9e, 0x39, - 0x54, 0x09, 0x24, 0xbf, 0xfe, 0x86, 0xac, 0x51, - 0xec, 0xc5, 0xaa, 0xee, 0x16, 0x0e, 0xc7, 0xf4, - ], [ - 0x1e, 0xe7, 0x02, 0xbf, 0xd4, 0x0d, 0x7f, 0xa4, - 0xd9, 0xa8, 0x51, 0x59, 0x35, 0xc2, 0xac, 0x36, - 0x2f, 0xc4, 0xa5, 0xd1, 0x2b, 0x8d, 0xd1, 0x69, - 0x90, 0x06, 0x9b, 0x92, 0xcb, 0x2b, 0x89, 0xf4, - 0x9a, 0xc4, 0xdb, 0x4d, 0x3b, 0x44, 0xb4, 0x89, - 0x1e, 0xde, 0x36, 0x9c, 0x71, 0xf8, 0xb7, 0x4e, - 0x41, 0x41, 0x6e, 0x0c, 0x02, 0xaa, 0xe7, 0x03, - 0xa7, 0xc9, 0x93, 0x4d, 0x42, 0x5b, 0x1f, 0x9b, - ], [ - 0xdb, 0x5a, 0x23, 0x83, 0x51, 0x44, 0x61, 0x72, - 0x60, 0x2a, 0x1f, 0xcb, 0x92, 0xdc, 0x38, 0x0e, - 0x54, 0x9c, 0x07, 0xa6, 0x9a, 0x8a, 0x2b, 0x7b, - 0xb1, 0xce, 0xb2, 0xdb, 0x0b, 0x44, 0x0a, 0x80, - 0x84, 0x09, 0x0d, 0xe0, 0xb7, 0x55, 0xd9, 0x3c, - 0x24, 0x42, 0x89, 0x25, 0x1b, 0x3a, 0x7d, 0x3a, - 0xde, 0x5f, 0x16, 0xec, 0xd8, 0x9a, 0x4c, 0x94, - 0x9b, 0x22, 0x31, 0x16, 0x54, 0x5a, 0x8f, 0x37, - ], [ - 0xed, 0x9c, 0x45, 0x98, 0xfb, 0xc7, 0xb4, 0x74, - 0xc3, 0xb6, 0x3b, 0x15, 0xd1, 0xfa, 0x98, 0x36, - 0xf4, 0x52, 0x76, 0x3b, 0x30, 0x6c, 0x1e, 0x7a, - 0x4b, 0x33, 0x69, 0xaf, 0x02, 0x67, 0xe7, 0x9f, - 0x03, 0x61, 0x33, 0x1b, 0x8a, 0xe1, 0xff, 0x1f, - 0xdb, 0x78, 0x8a, 0xff, 0x1c, 0xe7, 0x41, 0x89, - 0xf3, 0xf3, 0xe4, 0xb2, 0x48, 0xe5, 0x2a, 0x38, - 0x52, 0x6f, 0x05, 0x80, 0xa6, 0xde, 0xbe, 0xab, - ], [ - 0x1b, 0x2d, 0xf3, 0x81, 0xcd, 0xa4, 0xca, 0x6b, - 0x5d, 0xd8, 0x6f, 0xc0, 0x4a, 0x59, 0xa2, 0xde, - 0x98, 0x6e, 0x47, 0x7d, 0x1d, 0xcd, 0xba, 0xef, - 0xca, 0xb9, 0x48, 0xea, 0xef, 0x71, 0x1d, 0x8a, - 0x79, 0x66, 0x84, 0x14, 0x21, 0x80, 0x01, 0x20, - 0x61, 0x07, 0xab, 0xeb, 0xbb, 0x6b, 0xfa, 0xd8, - 0x94, 0xfe, 0x5a, 0x63, 0xcd, 0xc6, 0x02, 0x30, - 0xfb, 0x89, 0xc8, 0xef, 0xd0, 0x9e, 0xcd, 0x7b, - ], [ - 0x20, 0xd7, 0x1b, 0xf1, 0x4a, 0x92, 0xbc, 0x48, - 0x99, 0x1b, 0xb2, 0xd9, 0xd5, 0x17, 0xf4, 0xfa, - 0x52, 0x28, 0xe1, 0x88, 0xaa, 0xa4, 0x1d, 0xe7, - 0x86, 0xcc, 0x91, 0x18, 0x9d, 0xef, 0x80, 0x5d, - 0x9b, 0x9f, 0x21, 0x30, 0xd4, 0x12, 0x20, 0xf8, - 0x77, 0x1d, 0xdf, 0xbc, 0x32, 0x3c, 0xa4, 0xcd, - 0x7a, 0xb1, 0x49, 0x04, 0xb0, 0x80, 0x13, 0xd2, - 0xba, 0x31, 0x16, 0xf1, 0x67, 0xe7, 0x8e, 0x37, - ] + 0x07, 0x45, 0xa6, 0xf2, 0x59, 0x65, 0x80, 0xdd, 0x23, 0x4d, 0x74, 0xcc, 0x36, 0x74, 0x76, + 0x05, 0x15, 0xd3, 0x60, 0xa4, 0x08, 0x2a, 0x42, 0xa2, 0x01, 0x69, 0x67, 0x92, 0x91, 0xe0, + 0x7c, 0x4b, 0xfc, 0xc4, 0x85, 0x75, 0x8d, 0xb8, 0x4e, 0x71, 0x16, 0xd0, 0x45, 0x2e, 0x43, + 0x76, 0x6a, 0x2f, 0x1f, 0x7c, 0x65, 0xc0, 0x81, 0x2f, 0xcb, 0xeb, 0xe9, 0xda, 0xca, 0x1e, + 0xda, 0x5b, 0x08, 0xb1, + ], + [ + 0xb7, 0x9b, 0xb1, 0x21, 0x70, 0x04, 0x79, 0xe6, 0x56, 0xcd, 0xcb, 0xd7, 0x1b, 0xa2, 0xdd, + 0x55, 0xca, 0xa7, 0x0a, 0xdb, 0xc2, 0x61, 0xb5, 0x5c, 0x58, 0x99, 0xd6, 0x12, 0x6b, 0x17, + 0xb5, 0x9a, 0x31, 0x01, 0xb5, 0x16, 0x0f, 0x5e, 0xd5, 0x61, 0x98, 0x2b, 0x23, 0x0a, 0x72, + 0xea, 0xfe, 0xf3, 0xd7, 0xb5, 0x70, 0x0f, 0x46, 0x9d, 0xe3, 0x4f, 0x1a, 0x2f, 0x9d, 0xa9, + 0x8a, 0xb5, 0xa3, 0x6f, + ], + [ + 0xb2, 0x0a, 0xba, 0x0a, 0xf5, 0x96, 0x1e, 0x99, 0x31, 0xdb, 0x7a, 0x86, 0x43, 0xf4, 0xb6, + 0xc2, 0x09, 0xdb, 0x62, 0x60, 0x37, 0x3a, 0xc9, 0xc1, 0xb1, 0x9e, 0x35, 0x90, 0xe4, 0x0f, + 0xe2, 0xd3, 0x7b, 0x7b, 0x29, 0xb1, 0x14, 0x75, 0xea, 0xf2, 0x8b, 0x1f, 0x9c, 0x52, 0x5f, + 0x5e, 0xf1, 0x06, 0x35, 0x84, 0x3d, 0x6a, 0x28, 0xfc, 0x39, 0x0a, 0xc7, 0x2f, 0xce, 0x2b, + 0xac, 0xdc, 0x74, 0xf5, + ], + [ + 0x2e, 0xd1, 0xe3, 0x84, 0xbc, 0xbe, 0x0c, 0x22, 0xf1, 0x37, 0xe8, 0x93, 0xa1, 0xea, 0x53, + 0x34, 0xbe, 0x03, 0x52, 0x93, 0x33, 0x13, 0xb7, 0xd8, 0x75, 0xd6, 0x03, 0xed, 0x82, 0x2c, + 0xd7, 0xa9, 0x3f, 0x35, 0x5e, 0x68, 0xad, 0x1c, 0x72, 0x9d, 0x7d, 0x3c, 0x5c, 0x33, 0x7e, + 0x85, 0x8e, 0x48, 0xdd, 0xe4, 0x71, 0x5d, 0xa0, 0xe1, 0x48, 0xf9, 0xd2, 0x66, 0x15, 0xe8, + 0xb3, 0xdf, 0x1f, 0xef, + ], + [ + 0x57, 0xfe, 0x6c, 0x7c, 0xfd, 0x58, 0x17, 0x60, 0xf5, 0x63, 0xea, 0xa9, 0x7e, 0xa2, 0x56, + 0x7a, 0x16, 0x1a, 0x27, 0x23, 0xb7, 0x00, 0xff, 0xdf, 0xa3, 0xf5, 0x3a, 0x25, 0x47, 0x17, + 0xcd, 0xbf, 0xbd, 0xff, 0x0f, 0x80, 0xd7, 0x35, 0x9e, 0x35, 0x4a, 0x10, 0x86, 0x16, 0x1f, + 0x1c, 0x15, 0x7f, 0x63, 0x23, 0xa9, 0x6c, 0x0c, 0x41, 0x3f, 0x9a, 0x99, 0x47, 0x47, 0xad, + 0xac, 0x6b, 0xea, 0x4b, + ], + [ + 0x6e, 0x7d, 0x64, 0x46, 0x7a, 0x40, 0x68, 0xfa, 0x35, 0x4f, 0x90, 0x36, 0x72, 0xc5, 0x71, + 0xbf, 0xb6, 0xc6, 0xbe, 0xc2, 0x66, 0x1f, 0xf2, 0x0a, 0xb4, 0xb7, 0x9a, 0x1c, 0xb7, 0xa6, + 0xfa, 0xcf, 0xc6, 0x8e, 0xf0, 0x9a, 0xb4, 0x9a, 0x7f, 0x18, 0x6c, 0xa4, 0x42, 0x51, 0xf9, + 0xc4, 0x66, 0x2d, 0xc0, 0x39, 0x30, 0x7a, 0x3b, 0xc3, 0xa4, 0x6f, 0xd9, 0xd3, 0x3a, 0x1d, + 0xae, 0xae, 0x4f, 0xae, + ], + [ + 0x93, 0xd4, 0x14, 0x3a, 0x4d, 0x56, 0x86, 0x88, 0xf3, 0x4a, 0x3c, 0xa2, 0x4c, 0x45, 0x17, + 0x35, 0x04, 0x05, 0x4a, 0x28, 0x83, 0x69, 0x47, 0x06, 0x37, 0x2c, 0x82, 0x2d, 0xc5, 0xab, + 0x92, 0x09, 0xc9, 0x93, 0x7a, 0x19, 0x33, 0x3e, 0x47, 0xd3, 0xc9, 0x87, 0xbf, 0xe6, 0xc7, + 0xc6, 0x9e, 0x39, 0x54, 0x09, 0x24, 0xbf, 0xfe, 0x86, 0xac, 0x51, 0xec, 0xc5, 0xaa, 0xee, + 0x16, 0x0e, 0xc7, 0xf4, + ], + [ + 0x1e, 0xe7, 0x02, 0xbf, 0xd4, 0x0d, 0x7f, 0xa4, 0xd9, 0xa8, 0x51, 0x59, 0x35, 0xc2, 0xac, + 0x36, 0x2f, 0xc4, 0xa5, 0xd1, 0x2b, 0x8d, 0xd1, 0x69, 0x90, 0x06, 0x9b, 0x92, 0xcb, 0x2b, + 0x89, 0xf4, 0x9a, 0xc4, 0xdb, 0x4d, 0x3b, 0x44, 0xb4, 0x89, 0x1e, 0xde, 0x36, 0x9c, 0x71, + 0xf8, 0xb7, 0x4e, 0x41, 0x41, 0x6e, 0x0c, 0x02, 0xaa, 0xe7, 0x03, 0xa7, 0xc9, 0x93, 0x4d, + 0x42, 0x5b, 0x1f, 0x9b, + ], + [ + 0xdb, 0x5a, 0x23, 0x83, 0x51, 0x44, 0x61, 0x72, 0x60, 0x2a, 0x1f, 0xcb, 0x92, 0xdc, 0x38, + 0x0e, 0x54, 0x9c, 0x07, 0xa6, 0x9a, 0x8a, 0x2b, 0x7b, 0xb1, 0xce, 0xb2, 0xdb, 0x0b, 0x44, + 0x0a, 0x80, 0x84, 0x09, 0x0d, 0xe0, 0xb7, 0x55, 0xd9, 0x3c, 0x24, 0x42, 0x89, 0x25, 0x1b, + 0x3a, 0x7d, 0x3a, 0xde, 0x5f, 0x16, 0xec, 0xd8, 0x9a, 0x4c, 0x94, 0x9b, 0x22, 0x31, 0x16, + 0x54, 0x5a, 0x8f, 0x37, + ], + [ + 0xed, 0x9c, 0x45, 0x98, 0xfb, 0xc7, 0xb4, 0x74, 0xc3, 0xb6, 0x3b, 0x15, 0xd1, 0xfa, 0x98, + 0x36, 0xf4, 0x52, 0x76, 0x3b, 0x30, 0x6c, 0x1e, 0x7a, 0x4b, 0x33, 0x69, 0xaf, 0x02, 0x67, + 0xe7, 0x9f, 0x03, 0x61, 0x33, 0x1b, 0x8a, 0xe1, 0xff, 0x1f, 0xdb, 0x78, 0x8a, 0xff, 0x1c, + 0xe7, 0x41, 0x89, 0xf3, 0xf3, 0xe4, 0xb2, 0x48, 0xe5, 0x2a, 0x38, 0x52, 0x6f, 0x05, 0x80, + 0xa6, 0xde, 0xbe, 0xab, + ], + [ + 0x1b, 0x2d, 0xf3, 0x81, 0xcd, 0xa4, 0xca, 0x6b, 0x5d, 0xd8, 0x6f, 0xc0, 0x4a, 0x59, 0xa2, + 0xde, 0x98, 0x6e, 0x47, 0x7d, 0x1d, 0xcd, 0xba, 0xef, 0xca, 0xb9, 0x48, 0xea, 0xef, 0x71, + 0x1d, 0x8a, 0x79, 0x66, 0x84, 0x14, 0x21, 0x80, 0x01, 0x20, 0x61, 0x07, 0xab, 0xeb, 0xbb, + 0x6b, 0xfa, 0xd8, 0x94, 0xfe, 0x5a, 0x63, 0xcd, 0xc6, 0x02, 0x30, 0xfb, 0x89, 0xc8, 0xef, + 0xd0, 0x9e, 0xcd, 0x7b, + ], + [ + 0x20, 0xd7, 0x1b, 0xf1, 0x4a, 0x92, 0xbc, 0x48, 0x99, 0x1b, 0xb2, 0xd9, 0xd5, 0x17, 0xf4, + 0xfa, 0x52, 0x28, 0xe1, 0x88, 0xaa, 0xa4, 0x1d, 0xe7, 0x86, 0xcc, 0x91, 0x18, 0x9d, 0xef, + 0x80, 0x5d, 0x9b, 0x9f, 0x21, 0x30, 0xd4, 0x12, 0x20, 0xf8, 0x77, 0x1d, 0xdf, 0xbc, 0x32, + 0x3c, 0xa4, 0xcd, 0x7a, 0xb1, 0x49, 0x04, 0xb0, 0x80, 0x13, 0xd2, 0xba, 0x31, 0x16, 0xf1, + 0x67, 0xe7, 0x8e, 0x37, + ], ]; diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index a0c31c7ee..4a2f7fa8e 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -44,23 +44,24 @@ //! [1]: https://en.wikipedia.org/wiki/Streebog //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = - "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] extern crate block_buffer; extern crate byte_tools; -#[macro_use] pub extern crate digest; -#[macro_use] extern crate opaque_debug; +#[macro_use] +pub extern crate digest; +#[macro_use] +extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; -pub use digest::Digest; use digest::generic_array::typenum::{U32, U64}; +pub use digest::Digest; #[cfg(feature = "std")] use digest::Input; mod consts; -mod table; mod streebog; +mod table; pub type Streebog256 = streebog::Streebog; pub type Streebog512 = streebog::Streebog; diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index aa390bcdb..19d338b72 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,12 +1,12 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop, clippy::inline_always))] -use digest::{Input, BlockInput, FixedOutput, Reset}; -use digest::generic_array::typenum::{Unsigned, U64}; -use digest::generic_array::{GenericArray, ArrayLength}; -use block_buffer::BlockBuffer; use block_buffer::block_padding::ZeroPadding; -use block_buffer::byteorder::{LE, ByteOrder}; +use block_buffer::byteorder::{ByteOrder, LE}; +use block_buffer::BlockBuffer; use byte_tools::copy; use core::marker::PhantomData; +use digest::generic_array::typenum::{Unsigned, U64}; +use digest::generic_array::{ArrayLength, GenericArray}; +use digest::{BlockInput, FixedOutput, Input, Reset}; use consts::{BLOCK_SIZE, C}; use table::SHUFFLED_LIN_TABLE; @@ -30,10 +30,10 @@ fn lps(h: &mut Block, n: &Block) { for i in 0..4 { for j in 0..8 { - let b = h[2*i + 8*j] as usize; - buf[2*i] ^= SHUFFLED_LIN_TABLE[j][b]; - let b = h[2*i+1 + 8*j] as usize; - buf[2*i+1] ^= SHUFFLED_LIN_TABLE[j][b]; + let b = h[2 * i + 8 * j] as usize; + buf[2 * i] ^= SHUFFLED_LIN_TABLE[j][b]; + let b = h[2 * i + 1 + 8 * j] as usize; + buf[2 * i + 1] ^= SHUFFLED_LIN_TABLE[j][b]; } } @@ -56,7 +56,7 @@ impl StreebogState { } for i in 0..64 { - self.h[i] ^= block[i] ^ key[i] ^ m[i]; + self.h[i] ^= block[i] ^ key[i] ^ m[i]; } } @@ -101,42 +101,60 @@ pub struct Streebog + Copy> { digest_size: PhantomData, } -impl Default for Streebog where N: ArrayLength + Copy { +impl Default for Streebog +where + N: ArrayLength + Copy, +{ fn default() -> Self { let h = match N::to_usize() { 64 => [0u8; 64], 32 => [1u8; 64], - _ => unreachable!() + _ => unreachable!(), }; Streebog { buffer: Default::default(), - state: StreebogState { h, n: [0u8; 64], sigma: [0u8; 64] }, + state: StreebogState { + h, + n: [0u8; 64], + sigma: [0u8; 64], + }, digest_size: Default::default(), } } } - -impl BlockInput for Streebog where N: ArrayLength + Copy { +impl BlockInput for Streebog +where + N: ArrayLength + Copy, +{ type BlockSize = U64; } -impl Input for Streebog where N: ArrayLength + Copy { +impl Input for Streebog +where + N: ArrayLength + Copy, +{ fn input>(&mut self, input: B) { let self_state = &mut self.state; - self.buffer.input(input.as_ref(), - |d| self_state.process_block(d, BLOCK_SIZE as u8)); + self.buffer.input(input.as_ref(), |d| { + self_state.process_block(d, BLOCK_SIZE as u8) + }); } } -impl FixedOutput for Streebog where N: ArrayLength + Copy { +impl FixedOutput for Streebog +where + N: ArrayLength + Copy, +{ type OutputSize = N; fn fixed_result(mut self) -> GenericArray { let mut self_state = self.state; let pos = self.buffer.position(); - let block = self.buffer.pad_with::() + let block = self + .buffer + .pad_with::() .expect("we never use input_lazy"); block[pos] = 1; self_state.process_block(block, pos as u8); @@ -151,13 +169,16 @@ impl FixedOutput for Streebog where N: ArrayLength + Copy { } } -impl Reset for Streebog where N: ArrayLength + Copy { +impl Reset for Streebog +where + N: ArrayLength + Copy, +{ fn reset(&mut self) { self.buffer.reset(); self.state.h = match N::to_usize() { 64 => [0u8; 64], 32 => [1u8; 64], - _ => unreachable!() + _ => unreachable!(), }; self.state.n = [0; 64]; self.state.sigma = [0; 64]; diff --git a/streebog/src/table.rs b/streebog/src/table.rs index 32412ec7c..6a0639516 100644 --- a/streebog/src/table.rs +++ b/streebog/src/table.rs @@ -7,532 +7,2075 @@ pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = [ [ - 0xD01F715B5C7EF8E6, 0x16FA240980778325, 0xA8A42E857EE049C8, 0x6AC1068FA186465B, - 0x6E417BD7A2E9320B, 0x665C8167A437DAAB, 0x7666681AA89617F6, 0x4B959163700BDCF5, - 0xF14BE6B78DF36248, 0xC585BD689A625CFF, 0x9557D7FCA67D82CB, 0x89F0B969AF6DD366, - 0xB0833D48749F6C35, 0xA1998C23B1ECBC7C, 0x8D70C431AC02A736, 0xD6DFBC2FD0A8B69E, - 0x37AEB3E551FA198B, 0x0B7D128A40B5CF9C, 0x5A8F2008B5780CBC, 0xEDEC882284E333E5, - 0xD25FC177D3C7C2CE, 0x5E0F5D50B61778EC, 0x1D873683C0C24CB9, 0xAD040BCBB45D208C, - 0x2F89A0285B853C76, 0x5732FFF6791B8D58, 0x3E9311439EF6EC3F, 0xC9183A809FD3C00F, - 0x83ADF3F5260A01EE, 0xA6791941F4E8EF10, 0x103AE97D0CA1CD5D, 0x2CE948121DEE1B4A, - 0x39738421DBF2BF53, 0x093DA2A6CF0CF5B4, 0xCD9847D89CBCB45F, 0xF9561C078B2D8AE8, - 0x9C6A755A6971777F, 0xBC1EBAA0712EF0C5, 0x72E61542ABF963A6, 0x78BB5FDE229EB12E, - 0x14BA94250FCEB90D, 0x844D6697630E5282, 0x98EA08026A1E032F, 0xF06BBEA144217F5C, - 0xDB6263D11CCB377A, 0x641C314B2B8EE083, 0x320E96AB9B4770CF, 0x1EE7DEB986A96B85, - 0xE96CF57A878C47B5, 0xFDD6615F8842FEB8, 0xC83862965601DD1B, 0x2EA9F83E92572162, - 0xF876441142FF97FC, 0xEB2C455608357D9D, 0x5612A7E0B0C9904C, 0x6C01CBFB2D500823, - 0x4548A6A7FA037A2D, 0xABC4C6BF388B6EF4, 0xBADE77D4FDF8BEBD, 0x799B07C8EB4CAC3A, - 0x0C9D87E805B19CF0, 0xCB588AAC106AFA27, 0xEA0C1D40C1E76089, 0x2869354A1E816F1A, - 0xFF96D17307FBC490, 0x9F0A9D602F1A5043, 0x96373FC6E016A5F7, 0x5292DAB8B3A6E41C, - 0x9B8AE0382C752413, 0x4F15EC3B7364A8A5, 0x3FB349555724F12B, 0xC7C50D4415DB66D7, - 0x92B7429EE379D1A7, 0xD37F99611A15DFDA, 0x231427C05E34A086, 0xA439A96D7B51D538, - 0xB403401077F01865, 0xDDA2AEA5901D7902, 0x0A5D4A9C8967D288, 0xC265280ADF660F93, - 0x8BB0094520D4E94E, 0x2A29856691385532, 0x42A833C5BF072941, 0x73C64D54622B7EB2, - 0x07E095624504536C, 0x8A905153E906F45A, 0x6F6123C16B3B2F1F, 0xC6E55552DC097BC3, - 0x4468FEB133D16739, 0xE211E7F0C7398829, 0xA2F96419F7879B40, 0x19074BDBC3AD38E9, - 0xF4EBC3F9474E0B0C, 0x43886BD376D53455, 0xD8028BEB5AA01046, 0x51F23282F5CDC320, - 0xE7B1C2BE0D84E16D, 0x081DFAB006DEE8A0, 0x3B33340D544B857B, 0x7F5BCABC679AE242, - 0x0EDD37C48A08A6D8, 0x81ED43D9A9B33BC6, 0xB1A3655EBD4D7121, 0x69A1EEB5E7ED6167, - 0xF6AB73D5C8F73124, 0x1A67A3E185C61FD5, 0x2DC91004D43C065E, 0x0240B02C8FB93A28, - 0x90F7F2B26CC0EB8F, 0x3CD3A16F114FD617, 0xAAE49EA9F15973E0, 0x06C0CD748CD64E78, - 0xDA423BC7D5192A6E, 0xC345701C16B41287, 0x6D2193EDE4821537, 0xFCF639494190E3AC, - 0x7C3B228621F1C57E, 0xFB16AC2B0494B0C0, 0xBF7E529A3745D7F9, 0x6881B6A32E3F7C73, - 0xCA78D2BAD9B8E733, 0xBBFE2FC2342AA3A9, 0x0DBDDFFECC6381E4, 0x70A6A56E2440598E, - 0xE4D12A844BEFC651, 0x8C509C2765D0BA22, 0xEE8C6018C28814D9, 0x17DA7C1F49A59E31, - 0x609C4C1328E194D3, 0xB3E3D57232F44B09, 0x91D7AAA4A512F69B, 0x0FFD6FD243DABBCC, - 0x50D26A943C1FDE34, 0x6BE15E9968545B4F, 0x94778FEA6FAF9FDF, 0x2B09DD7058EA4826, - 0x677CD9716DE5C7BF, 0x49D5214FFFB2E6DD, 0x0360E83A466B273C, 0x1FC786AF4F7B7691, - 0xA0B9D435783EA168, 0xD49F0C035F118CB6, 0x01205816C9D21D14, 0xAC2453DD7D8F3D98, - 0x545217CC3F70AA64, 0x26B4028E9489C9C2, 0xDEC2469FD6765E3E, 0x04807D58036F7450, - 0xE5F17292823DDB45, 0xF30B569B024A5860, 0x62DCFC3FA758AEFB, 0xE84CAD6C4E5E5AA1, - 0xCCB81FCE556EA94B, 0x53B282AE7A74F908, 0x1B47FBF74C1402C1, 0x368EEBF39828049F, - 0x7AFBEFF2AD278B06, 0xBE5E0A8CFE97CAED, 0xCFD8F7F413058E77, 0xF78B2BC301252C30, - 0x4D555C17FCDD928D, 0x5F2F05467FC565F8, 0x24F4B2A21B30F3EA, 0x860DD6BBECB768AA, - 0x4C750401350F8F99, 0x0000000000000000, 0xECCCD0344D312EF1, 0xB5231806BE220571, - 0xC105C030990D28AF, 0x653C695DE25CFD97, 0x159ACC33C61CA419, 0xB89EC7F872418495, - 0xA9847693B73254DC, 0x58CF90243AC13694, 0x59EFC832F3132B80, 0x5C4FED7C39AE42C4, - 0x828DABE3EFD81CFA, 0xD13F294D95ACE5F2, 0x7D1B7A90E823D86A, 0xB643F03CF849224D, - 0x3DF3F979D89DCB03, 0x7426D836272F2DDE, 0xDFE21E891FA4432A, 0x3A136C1B9D99986F, - 0xFA36F43DCD46ADD4, 0xC025982650DF35BB, 0x856D3E81AADC4F96, 0xC4A5E57E53B041EB, - 0x4708168B75BA4005, 0xAF44BBE73BE41AA4, 0x971767D029C4B8E3, 0xB9BE9FEEBB939981, - 0x215497ECD18D9AAE, 0x316E7E91DD2C57F3, 0xCEF8AFE2DAD79363, 0x3853DC371220A247, - 0x35EE03C9DE4323A3, 0xE6919AA8C456FC79, 0xE05157DC4880B201, 0x7BDBB7E464F59612, - 0x127A59518318F775, 0x332ECEBD52956DDB, 0x8F30741D23BB9D1E, 0xD922D3FD93720D52, - 0x7746300C61440AE2, 0x25D4EAB4D2E2EEFE, 0x75068020EEFD30CA, 0x135A01474ACAEA61, - 0x304E268714FE4AE7, 0xA519F17BB283C82C, 0xDC82F6B359CF6416, 0x5BAF781E7CAA11A8, - 0xB2C38D64FB26561D, 0x34CE5BDF17913EB7, 0x5D6FB56AF07C5FD0, 0x182713CD0A7F25FD, - 0x9E2AC576E6C84D57, 0x9AAAB82EE5A73907, 0xA3D93C0F3E558654, 0x7E7B92AAAE48FF56, - 0x872D8EAD256575BE, 0x41C8DBFFF96C0E7D, 0x99CA5014A3CC1E3B, 0x40E883E930BE1369, - 0x1CA76E95091051AD, 0x4E35B42DBAB6B5B1, 0x05A0254ECABD6944, 0xE1710FCA8152AF15, - 0xF22B0E8DCB984574, 0xB763A82A319B3F59, 0x63FCA4296E8AB3EF, 0x9D4A2D4CA0A36A6B, - 0xE331BFE60EEB953D, 0xD5BF541596C391A2, 0xF5CB9BEF8E9C1618, 0x46284E9DBC685D11, - 0x2074CFFA185F87BA, 0xBD3EE2B6B8FCEDD1, 0xAE64E3F1F23607B0, 0xFEB68965CE29D984, - 0x55724FDAF6A2B770, 0x29496D5CD753720E, 0xA75941573D3AF204, 0x8E102C0BEA69800A, - 0x111AB16BC573D049, 0xD7FFE439197AAB8A, 0xEFAC380E0B5A09CD, 0x48F579593660FBC9, - 0x22347FD697E6BD92, 0x61BC1405E13389C7, 0x4AB5C975B9D9C1E1, 0x80CD1BCF606126D2, - 0x7186FD78ED92449A, 0x93971A882AABCCB3, 0x88D0E17F66BFCE72, 0x27945A985D5BD4D6, - ], [ - 0xDE553F8C05A811C8, 0x1906B59631B4F565, 0x436E70D6B1964FF7, 0x36D343CB8B1E9D85, - 0x843DFACC858AAB5A, 0xFDFC95C299BFC7F9, 0x0F634BDEA1D51FA2, 0x6D458B3B76EFB3CD, - 0x85C3F77CF8593F80, 0x3C91315FBE737CB2, 0x2148B03366ACE398, 0x18F8B8264C6761BF, - 0xC830C1C495C9FB0F, 0x981A76102086A0AA, 0xAA16012142F35760, 0x35CC54060C763CF6, - 0x42907D66CC45DB2D, 0x8203D44B965AF4BC, 0x3D6F3CEFC3A0E868, 0xBC73FF69D292BDA7, - 0x8722ED0102E20A29, 0x8F8185E8CD34DEB7, 0x9B0561DDA7EE01D9, 0x5335A0193227FAD6, - 0xC9CECC74E81A6FD5, 0x54F5832E5C2431EA, 0x99E47BA05D553470, 0xF7BEE756ACD226CE, - 0x384E05A5571816FD, 0xD1367452A47D0E6A, 0xF29FDE1C386AD85B, 0x320C77316275F7CA, - 0xD0C879E2D9AE9AB0, 0xDB7406C69110EF5D, 0x45505E51A2461011, 0xFC029872E46C5323, - 0xFA3CB6F5F7BC0CC5, 0x031F17CD8768A173, 0xBD8DF2D9AF41297D, 0x9D3B4F5AB43E5E3F, - 0x4071671B36FEEE84, 0x716207E7D3E3B83D, 0x48D20FF2F9283A1A, 0x27769EB4757CBC7E, - 0x5C56EBC793F2E574, 0xA48B474F9EF5DC18, 0x52CBADA94FF46E0C, 0x60C7DA982D8199C6, - 0x0E9D466EDC068B78, 0x4EEC2175EAF865FC, 0x550B8E9E21F7A530, 0x6B7BA5BC653FEC2B, - 0x5EB7F1BA6949D0DD, 0x57EA94E3DB4C9099, 0xF640EAE6D101B214, 0xDD4A284182C0B0BB, - 0xFF1D8FBF6304F250, 0xB8ACCB933BF9D7E8, 0xE8867C478EB68C4D, 0x3F8E2692391BDDC1, - 0xCB2FD60912A15A7C, 0xAEC935DBAB983D2F, 0xF55FFD2B56691367, 0x80E2CE366CE1C115, - 0x179BF3F8EDB27E1D, 0x01FE0DB07DD394DA, 0xDA8A0B76ECC37B87, 0x44AE53E1DF9584CB, - 0xB310B4B77347A205, 0xDFAB323C787B8512, 0x3B511268D070B78E, 0x65E6E3D2B9396753, - 0x6864B271E2574D58, 0x259784C98FC789D7, 0x02E11A7DFABB35A9, 0x8841A6DFA337158B, - 0x7ADE78C39B5DCDD0, 0xB7CF804D9A2CC84A, 0x20B6BD831B7F7742, 0x75BD331D3A88D272, - 0x418F6AAB4B2D7A5E, 0xD9951CBB6BABDAF4, 0xB6318DFDE7FF5C90, 0x1F389B112264AA83, - 0x492C024284FBAEC0, 0xE33A0363C608F9A0, 0x2688930408AF28A4, 0xC7538A1A341CE4AD, - 0x5DA8E677EE2171AE, 0x8C9E92254A5C7FC4, 0x63D8CD55AAE938B5, 0x29EBD8DAA97A3706, - 0x959827B37BE88AA1, 0x1484E4356ADADF6E, 0xA7945082199D7D6B, 0xBF6CE8A455FA1CD4, - 0x9CC542EAC9EDCAE5, 0x79C16F0E1C356CA3, 0x89BFAB6FDEE48151, 0xD4174D1830C5F0FF, - 0x9258048415EB419D, 0x6139D72850520D1C, 0x6A85A80C18EC78F1, 0xCD11F88E0171059A, - 0xCCEFF53E7CA29140, 0xD229639F2315AF19, 0x90B91EF9EF507434, 0x5977D28D074A1BE1, - 0x311360FCE51D56B9, 0xC093A92D5A1F2F91, 0x1A19A25BB6DC5416, 0xEB996B8A09DE2D3E, - 0xFEE3820F1ED7668A, 0xD7085AD5B7AD518C, 0x7FFF41890FE53345, 0xEC5948BD67DDE602, - 0x2FD5F65DBAAA68E0, 0xA5754AFFE32648C2, 0xF8DDAC880D07396C, 0x6FA491468C548664, - 0x0C7C5C1326BDBED1, 0x4A33158F03930FB3, 0x699ABFC19F84D982, 0xE4FA2054A80B329C, - 0x6707F9AF438252FA, 0x08A368E9CFD6D49E, 0x47B1442C58FD25B8, 0xBBB3DC5EBC91769B, - 0x1665FE489061EAC7, 0x33F27A811FA66310, 0x93A609346838D547, 0x30ED6D4C98CEC263, - 0x1DD9816CD8DF9F2A, 0x94662A03063B1E7B, 0x83FDD9FBEB896066, 0x7B207573E68E590A, - 0x5F49FC0A149A4407, 0x343259B671A5A82C, 0xFBC2BB458A6F981F, 0xC272B350A0A41A38, - 0x3AAF1FD8ADA32354, 0x6CBB868B0B3C2717, 0xA2B569C88D2583FE, 0xF180C9D1BF027928, - 0xAF37386BD64BA9F5, 0x12BACAB2790A8088, 0x4C0D3B0810435055, 0xB2EEB9070E9436DF, - 0xC5B29067CEA7D104, 0xDCB425F1FF132461, 0x4F122CC5972BF126, 0xAC282FA651230886, - 0xE7E537992F6393EF, 0xE61B3A2952B00735, 0x709C0A57AE302CE7, 0xE02514AE416058D3, - 0xC44C9DD7B37445DE, 0x5A68C5408022BA92, 0x1C278CDCA50C0BF0, 0x6E5A9CF6F18712BE, - 0x86DCE0B17F319EF3, 0x2D34EC2040115D49, 0x4BCD183F7E409B69, 0x2815D56AD4A9A3DC, - 0x24698979F2141D0D, 0x0000000000000000, 0x1EC696A15FB73E59, 0xD86B110B16784E2E, - 0x8E7F8858B0E74A6D, 0x063E2E8713D05FE6, 0xE2C40ED3BBDB6D7A, 0xB1F1AECA89FC97AC, - 0xE1DB191E3CB3CC09, 0x6418EE62C4EAF389, 0xC6AD87AA49CF7077, 0xD6F65765CA7EC556, - 0x9AFB6C6DDA3D9503, 0x7CE05644888D9236, 0x8D609F95378FEB1E, 0x23A9AA4E9C17D631, - 0x6226C0E5D73AAC6F, 0x56149953A69F0443, 0xEEB852C09D66D3AB, 0x2B0AC2A753C102AF, - 0x07C023376E03CB3C, 0x2CCAE1903DC2C993, 0xD3D76E2F5EC63BC3, 0x9E2458973356FF4C, - 0xA66A5D32644EE9B1, 0x0A427294356DE137, 0x783F62BE61E6F879, 0x1344C70204D91452, - 0x5B96C8F0FDF12E48, 0xA90916ECC59BF613, 0xBE92E5142829880E, 0x727D102A548B194E, - 0x1BE7AFEBCB0FC0CC, 0x3E702B2244C8491B, 0xD5E940A84D166425, 0x66F9F41F3E51C620, - 0xABE80C913F20C3BA, 0xF07EC461C2D1EDF2, 0xF361D3AC45B94C81, 0x0521394A94B8FE95, - 0xADD622162CF09C5C, 0xE97871F7F3651897, 0xF4A1F09B2BBA87BD, 0x095D6559B2054044, - 0x0BBC7F2448BE75ED, 0x2AF4CF172E129675, 0x157AE98517094BB4, 0x9FDA55274E856B96, - 0x914713499283E0EE, 0xB952C623462A4332, 0x74433EAD475B46A8, 0x8B5EB112245FB4F8, - 0xA34B6478F0F61724, 0x11A5DD7FFE6221FB, 0xC16DA49D27CCBB4B, 0x76A224D0BDE07301, - 0x8AA0BCA2598C2022, 0x4DF336B86D90C48F, 0xEA67663A740DB9E4, 0xEF465F70E0B54771, - 0x39B008152ACB8227, 0x7D1E5BF4F55E06EC, 0x105BD0CF83B1B521, 0x775C2960C033E7DB, - 0x7E014C397236A79F, 0x811CC386113255CF, 0xEDA7450D1A0E72D8, 0x5889DF3D7A998F3B, - 0x2E2BFBEDC779FC3A, 0xCE0EEF438619A4E9, 0x372D4E7BF6CD095F, 0x04DF34FAE96B6A4F, - 0xF923A13870D4ADB6, 0xA1AA7E050A4D228D, 0xA8F71B5CB84862C9, 0xB52E9A306097FDE3, - 0x0D8251A35B6E2A0B, 0x2257A7FEE1C442EB, 0x73831D9A29588D94, 0x51D4BA64C89CCF7F, - 0x502AB7D4B54F5BA5, 0x97793DCE8153BF08, 0xE5042DE4D5D8A646, 0x9687307EFC802BD2, - 0xA05473B5779EB657, 0xB4D097801D446939, 0xCFF0E2F3FBCA3033, 0xC38CBEE0DD778EE2, - 0x464F499C252EB162, 0xCAD1DBB96F72CEA6, 0xBA4DD1EEC142E241, 0xB00FA37AF42F0376, - ], [ - 0xCCE4CD3AA968B245, 0x089D5484E80B7FAF, 0x638246C1B3548304, 0xD2FE0EC8C2355492, - 0xA7FBDF7FF2374EEE, 0x4DF1600C92337A16, 0x84E503EA523B12FB, 0x0790BBFD53AB0C4A, - 0x198A780F38F6EA9D, 0x2AB30C8F55EC48CB, 0xE0F7FED6B2C49DB5, 0xB6ECF3F422CADBDC, - 0x409C9A541358DF11, 0xD3CE8A56DFDE3FE3, 0xC3E9224312C8C1A0, 0x0D6DFA58816BA507, - 0xDDF3E1B179952777, 0x04C02A42748BB1D9, 0x94C2ABFF9F2DECB8, 0x4F91752DA8F8ACF4, - 0x78682BEFB169BF7B, 0xE1C77A48AF2FF6C4, 0x0C5D7EC69C80CE76, 0x4CC1E4928FD81167, - 0xFEED3D24D9997B62, 0x518BB6DFC3A54A23, 0x6DBF2D26151F9B90, 0xB5BC624B05EA664F, - 0xE86AAA525ACFE21A, 0x4801CED0FB53A0BE, 0xC91463E6C00868ED, 0x1027A815CD16FE43, - 0xF67069A0319204CD, 0xB04CCC976C8ABCE7, 0xC0B9B3FC35E87C33, 0xF380C77C58F2DE65, - 0x50BB3241DE4E2152, 0xDF93F490435EF195, 0xF1E0D25D62390887, 0xAF668BFB1A3C3141, - 0xBC11B251F00A7291, 0x73A5EED47E427D47, 0x25BEE3F6EE4C3B2E, 0x43CC0BEB34786282, - 0xC824E778DDE3039C, 0xF97D86D98A327728, 0xF2B043E24519B514, 0xE297EBF7880F4B57, - 0x3A94A49A98FAB688, 0x868516CB68F0C419, 0xEFFA11AF0964EE50, 0xA4AB4EC0D517F37D, - 0xA9C6B498547C567A, 0x8E18424F80FBBBB6, 0x0BCDC53BCF2BC23C, 0x137739AAEA3643D0, - 0x2C1333EC1BAC2FF0, 0x8D48D3F0A7DB0625, 0x1E1AC3F26B5DE6D7, 0xF520F81F16B2B95E, - 0x9F0F6EC450062E84, 0x0130849E1DEB6B71, 0xD45E31AB8C7533A9, 0x652279A2FD14E43F, - 0x3209F01E70F1C927, 0xBE71A770CAC1A473, 0x0E3D6BE7A64B1894, 0x7EC8148CFF29D840, - 0xCB7476C7FAC3BE0F, 0x72956A4A63A91636, 0x37F95EC21991138F, 0x9E3FEA5A4DED45F5, - 0x7B38BA50964902E8, 0x222E580BBDE73764, 0x61E253E0899F55E6, 0xFC8D2805E352AD80, - 0x35994BE3235AC56D, 0x09ADD01AF5E014DE, 0x5E8659A6780539C6, 0xB17C48097161D796, - 0x026015213ACBD6E2, 0xD1AE9F77E515E901, 0xB7DC776A3F21B0AD, 0xABA6A1B96EB78098, - 0x9BCF4486248D9F5D, 0x582666C536455EFD, 0xFDBDAC9BFEB9C6F1, 0xC47999BE4163CDEA, - 0x765540081722A7EF, 0x3E548ED8EC710751, 0x3D041F67CB51BAC2, 0x7958AF71AC82D40A, - 0x36C9DA5C047A78FE, 0xED9A048E33AF38B2, 0x26EE7249C96C86BD, 0x900281BDEBA65D61, - 0x11172C8BD0FD9532, 0xEA0ABF73600434F8, 0x42FC8F75299309F3, 0x34A9CF7D3EB1AE1C, - 0x2B838811480723BA, 0x5CE64C8742CEEF24, 0x1ADAE9B01FD6570E, 0x3C349BF9D6BAD1B3, - 0x82453C891C7B75C0, 0x97923A40B80D512B, 0x4A61DBF1C198765C, 0xB48CE6D518010D3E, - 0xCFB45C858E480FD6, 0xD933CBF30D1E96AE, 0xD70EA014AB558E3A, 0xC189376228031742, - 0x9262949CD16D8B83, 0xEB3A3BED7DEF5F89, 0x49314A4EE6B8CBCF, 0xDCC3652F647E4C06, - 0xDA635A4C2A3E2B3D, 0x470C21A940F3D35B, 0x315961A157D174B4, 0x6672E81DDA3459AC, - 0x5B76F77A1165E36E, 0x445CB01667D36EC8, 0xC5491D205C88A69B, 0x456C34887A3805B9, - 0xFFDDB9BAC4721013, 0x99AF51A71E4649BF, 0xA15BE01CBC7729D5, 0x52DB2760E485F7B0, - 0x8C78576EBA306D54, 0xAE560F6507D75A30, 0x95F22F6182C687C9, 0x71C5FBF54489ABA5, - 0xCA44F259E728D57E, 0x88B87D2CCEBBDC8D, 0xBAB18D32BE4A15AA, 0x8BE8EC93E99B611E, - 0x17B713E89EBDF209, 0xB31C5D284BAA0174, 0xEECA9531148F8521, 0xB8D198138481C348, - 0x8988F9B2D350B7FC, 0xB9E11C8D996AA839, 0x5A4673E40C8E881F, 0x1687977683569978, - 0xBF4123EED72ACF02, 0x4EA1F1B3B513C785, 0xE767452BE16F91FF, 0x7505D1B730021A7C, - 0xA59BCA5EC8FC980C, 0xAD069EDA20F7E7A3, 0x38F4B1BBA231606A, 0x60D2D77E94743E97, - 0x9AFFC0183966F42C, 0x248E6768F3A7505F, 0xCDD449A4B483D934, 0x87B59255751BAF68, - 0x1BEA6D2E023D3C7F, 0x6B1F12455B5FFCAB, 0x743555292DE9710D, 0xD8034F6D10F5FDDF, - 0xC6198C9F7BA81B08, 0xBB8109ACA3A17EDB, 0xFA2D1766AD12CABB, 0xC729080166437079, - 0x9C5FFF7B77269317, 0x0000000000000000, 0x15D706C9A47624EB, 0x6FDF38072FD44D72, - 0x5FB6DD3865EE52B7, 0xA33BF53D86BCFF37, 0xE657C1B5FC84FA8E, 0xAA962527735CEBE9, - 0x39C43525BFDA0B1B, 0x204E4D2A872CE186, 0x7A083ECE8BA26999, 0x554B9C9DB72EFBFA, - 0xB22CD9B656416A05, 0x96A2BEDEA5E63A5A, 0x802529A826B0A322, 0x8115AD363B5BC853, - 0x8375B81701901EB1, 0x3069E53F4A3A1FC5, 0xBD2136CFEDE119E0, 0x18BAFC91251D81EC, - 0x1D4A524D4C7D5B44, 0x05F0AEDC6960DAA8, 0x29E39D3072CCF558, 0x70F57F6B5962C0D4, - 0x989FD53903AD22CE, 0xF84D024797D91C59, 0x547B1803AAC5908B, 0xF0D056C37FD263F6, - 0xD56EB535919E58D8, 0x1C7AD6D351963035, 0x2E7326CD2167F912, 0xAC361A443D1C8CD2, - 0x697F076461942A49, 0x4B515F6FDC731D2D, 0x8AD8680DF4700A6F, 0x41AC1ECA0EB3B460, - 0x7D988533D80965D3, 0xA8F6300649973D0B, 0x7765C4960AC9CC9E, 0x7CA801ADC5E20EA2, - 0xDEA3700E5EB59AE4, 0xA06B6482A19C42A4, 0x6A2F96DB46B497DA, 0x27DEF6D7D487EDCC, - 0x463CA5375D18B82A, 0xA6CB5BE1EFDC259F, 0x53EBA3FEF96E9CC1, 0xCE84D81B93A364A7, - 0xF4107C810B59D22F, 0x333974806D1AA256, 0x0F0DEF79BBA073E5, 0x231EDC95A00C5C15, - 0xE437D494C64F2C6C, 0x91320523F64D3610, 0x67426C83C7DF32DD, 0x6EEFBC99323F2603, - 0x9D6F7BE56ACDF866, 0x5916E25B2BAE358C, 0x7FF89012E2C2B331, 0x035091BF2720BD93, - 0x561B0D22900E4669, 0x28D319AE6F279E29, 0x2F43A2533C8C9263, 0xD09E1BE9F8FE8270, - 0xF740ED3E2C796FBC, 0xDB53DED237D5404C, 0x62B2C25FAEBFE875, 0x0AFD41A5D2C0A94D, - 0x6412FD3CE0FF8F4E, 0xE3A76F6995E42026, 0x6C8FA9B808F4F0E1, 0xC2D9A6DD0F23AAD1, - 0x8F28C6D19D10D0C7, 0x85D587744FD0798A, 0xA20B71A39B579446, 0x684F83FA7C7F4138, - 0xE507500ADBA4471D, 0x3F640A46F19A6C20, 0x1247BD34F7DD28A1, 0x2D23B77206474481, - 0x93521002CC86E0F2, 0x572B89BC8DE52D18, 0xFB1D93F8B0F9A1CA, 0xE95A2ECC4724896B, - 0x3BA420048511DDF9, 0xD63E248AB6BEE54B, 0x5DD6C8195F258455, 0x06A03F634E40673B, - 0x1F2A476C76B68DA6, 0x217EC9B49AC78AF7, 0xECAA80102E4453C3, 0x14E78257B99D4F9A, - ], [ - 0x20329B2CC87BBA05, 0x4F5EB6F86546A531, 0xD4F44775F751B6B1, 0x8266A47B850DFA8B, - 0xBB986AA15A6CA985, 0xC979EB08F9AE0F99, 0x2DA6F447A2375EA1, 0x1E74275DCD7D8576, - 0xBC20180A800BC5F8, 0xB4A2F701B2DC65BE, 0xE726946F981B6D66, 0x48E6C453BF21C94C, - 0x42CAD9930F0A4195, 0xEFA47B64AACCCD20, 0x71180A8960409A42, 0x8BB3329BF6A44E0C, - 0xD34C35DE2D36DACC, 0xA92F5B7CBC23DC96, 0xB31A85AA68BB09C3, 0x13E04836A73161D2, - 0xB24DFC4129C51D02, 0x8AE44B70B7DA5ACD, 0xE671ED84D96579A7, 0xA4BB3417D66F3832, - 0x4572AB38D56D2DE8, 0xB1B47761EA47215C, 0xE81C09CF70ABA15D, 0xFFBDB872CE7F90AC, - 0xA8782297FD5DC857, 0x0D946F6B6A4CE4A4, 0xE4DF1F4F5B995138, 0x9EBC71EDCA8C5762, - 0x0A2C1DC0B02B88D9, 0x3B503C115D9D7B91, 0xC64376A8111EC3A2, 0xCEC199A323C963E4, - 0xDC76A87EC58616F7, 0x09D596E073A9B487, 0x14583A9D7D560DAF, 0xF4C6DC593F2A0CB4, - 0xDD21D19584F80236, 0x4A4836983DDDE1D3, 0xE58866A41AE745F9, 0xF591A5B27E541875, - 0x891DC05074586693, 0x5B068C651810A89E, 0xA30346BC0C08544F, 0x3DBF3751C684032D, - 0x2A1E86EC785032DC, 0xF73F5779FCA830EA, 0xB60C05CA30204D21, 0x0CC316802B32F065, - 0x8770241BDD96BE69, 0xB861E18199EE95DB, 0xF805CAD91418FCD1, 0x29E70DCCBBD20E82, - 0xC7140F435060D763, 0x0F3A9DA0E8B0CC3B, 0xA2543F574D76408E, 0xBD7761E1C175D139, - 0x4B1F4F737CA3F512, 0x6DC2DF1F2FC137AB, 0xF1D05C3967B14856, 0xA742BF3715ED046C, - 0x654030141D1697ED, 0x07B872ABDA676C7D, 0x3CE84EBA87FA17EC, 0xC1FB0403CB79AFDF, - 0x3E46BC7105063F73, 0x278AE987121CD678, 0xA1ADB4778EF47CD0, 0x26DD906C5362C2B9, - 0x05168060589B44E2, 0xFBFC41F9D79AC08F, 0x0E6DE44BA9CED8FA, 0x9FEB08068BF243A3, - 0x7B341749D06B129B, 0x229C69E74A87929A, 0xE09EE6C4427C011B, 0x5692E30E725C4C3A, - 0xDA99A33E5E9F6E4B, 0x353DD85AF453A36B, 0x25241B4C90E0FEE7, 0x5DE987258309D022, - 0xE230140FC0802984, 0x93281E86A0C0B3C6, 0xF229D719A4337408, 0x6F6C2DD4AD3D1F34, - 0x8EA5B2FBAE3F0AEE, 0x8331DD90C473EE4A, 0x346AA1B1B52DB7AA, 0xDF8F235E06042AA9, - 0xCC6F6B68A1354B7B, 0x6C95A6F46EBF236A, 0x52D31A856BB91C19, 0x1A35DED6D498D555, - 0xF37EAEF2E54D60C9, 0x72E181A9A3C2A61C, 0x98537AAD51952FDE, 0x16F6C856FFAA2530, - 0xD960281E9D1D5215, 0x3A0745FA1CE36F50, 0x0B7B642BF1559C18, 0x59A87EAE9AEC8001, - 0x5E100C05408BEC7C, 0x0441F98B19E55023, 0xD70DCC5534D38AEF, 0x927F676DE1BEA707, - 0x9769E70DB925E3E5, 0x7A636EA29115065A, 0x468B201816EF11B6, 0xAB81A9B73EDFF409, - 0xC0AC7DE88A07BB1E, 0x1F235EB68C0391B7, 0x6056B074458DD30F, 0xBE8EEAC102F7ED67, - 0xCD381283E04B5FBA, 0x5CBEFECEC277C4E3, 0xD21B4C356C48CE0D, 0x1019C31664B35D8C, - 0x247362A7D19EEA26, 0xEBE582EFB3299D03, 0x02AEF2CB82FC289F, 0x86275DF09CE8AAA8, - 0x28B07427FAAC1A43, 0x38A9B7319E1F47CF, 0xC82E92E3B8D01B58, 0x06EF0B409B1978BC, - 0x62F842BFC771FB90, 0x9904034610EB3B1F, 0xDED85AB5477A3E68, 0x90D195A663428F98, - 0x5384636E2AC708D8, 0xCBD719C37B522706, 0xAE9729D76644B0EB, 0x7C8C65E20A0C7EE6, - 0x80C856B007F1D214, 0x8C0B40302CC32271, 0xDBCEDAD51FE17A8A, 0x740E8AE938DBDEA0, - 0xA615C6DC549310AD, 0x19CC55F6171AE90B, 0x49B1BDB8FE5FDD8D, 0xED0A89AF2830E5BF, - 0x6A7AADB4F5A65BD6, 0x7E22972988F05679, 0xF952B3325566E810, 0x39FECEDADF61530E, - 0x6101C99F04F3C7CE, 0x2E5F7F6761B562FF, 0xF08725D226CF5C97, 0x63AF3B54860FEF51, - 0x8FF2CB10EF411E2F, 0x884AB9BB35267252, 0x4DF04433E7BA8DAE, 0x9AFD8866D3690741, - 0x66B9BB34DE94ABB3, 0x9BAAF18D92171380, 0x543C11C5F0A064A5, 0x17A1B1BDBED431F1, - 0xB5F58EEAF3A2717F, 0xC355F6C849858740, 0xEC5DF044694EF17E, 0xD83751F5DC6346D4, - 0xFC4433520DFDACF2, 0x0000000000000000, 0x5A51F58E596EBC5F, 0x3285AAF12E34CF16, - 0x8D5C39DB6DBD36B0, 0x12B731DDE64F7513, 0x94906C2D7AA7DFBB, 0x302B583AACC8E789, - 0x9D45FACD090E6B3C, 0x2165E2C78905AEC4, 0x68D45F7F775A7349, 0x189B2C1D5664FDCA, - 0xE1C99F2F030215DA, 0x6983269436246788, 0x8489AF3B1E148237, 0xE94B702431D5B59C, - 0x33D2D31A6F4ADBD7, 0xBFD9932A4389F9A6, 0xB0E30E8AAB39359D, 0xD1E2C715AFCAF253, - 0x150F43763C28196E, 0xC4ED846393E2EB3D, 0x03F98B20C3823C5E, 0xFD134AB94C83B833, - 0x556B682EB1DE7064, 0x36C4537A37D19F35, 0x7559F30279A5CA61, 0x799AE58252973A04, - 0x9C12832648707FFD, 0x78CD9C6913E92EC5, 0x1D8DAC7D0EFFB928, 0x439DA0784E745554, - 0x413352B3CC887DCB, 0xBACF134A1B12BD44, 0x114EBAFD25CD494D, 0x2F08068C20CB763E, - 0x76A07822BA27F63F, 0xEAB2FB04F25789C2, 0xE3676DE481FE3D45, 0x1B62A73D95E6C194, - 0x641749FF5C68832C, 0xA5EC4DFC97112CF3, 0xF6682E92BDD6242B, 0x3F11C59A44782BB2, - 0x317C21D1EDB6F348, 0xD65AB5BE75AD9E2E, 0x6B2DD45FB4D84F17, 0xFAAB381296E4D44E, - 0xD0B5BEFEEEB4E692, 0x0882EF0B32D7A046, 0x512A91A5A83B2047, 0x963E9EE6F85BF724, - 0x4E09CF132438B1F0, 0x77F701C9FB59E2FE, 0x7DDB1C094B726A27, 0x5F4775EE01F5F8BD, - 0x9186EC4D223C9B59, 0xFEEAC1998F01846D, 0xAC39DB1CE4B89874, 0xB75B7C21715E59E0, - 0xAFC0503C273AA42A, 0x6E3B543FEC430BF5, 0x704F7362213E8E83, 0x58FF0745DB9294C0, - 0x67EEC2DF9FEABF72, 0xA0FACD9CCF8A6811, 0xB936986AD890811A, 0x95C715C63BD9CB7A, - 0xCA8060283A2C33C7, 0x507DE84EE9453486, 0x85DED6D05F6A96F6, 0x1CDAD5964F81ADE9, - 0xD5A33E9EB62FA270, 0x40642B588DF6690A, 0x7F75EEC2C98E42B8, 0x2CF18DACE3494A60, - 0x23CB100C0BF9865B, 0xEEF3028FEBB2D9E1, 0x4425D2D394133929, 0xAAD6D05C7FA1E0C8, - 0xAD6EA2F7A5C68CB5, 0xC2028F2308FB9381, 0x819F2F5B468FC6D5, 0xC5BAFD88D29CFFFC, - 0x47DC59F357910577, 0x2B49FF07392E261D, 0x57C59AE5332258FB, 0x73B6F842E2BCB2DD, - 0xCF96E04862B77725, 0x4CA73DD8A6C4996F, 0x015779EB417E14C1, 0x37932A9176AF8BF4, - ], [ - 0x190A2C9B249DF23E, 0x2F62F8B62263E1E9, 0x7A7F754740993655, 0x330B7BA4D5564D9F, - 0x4C17A16A46672582, 0xB22F08EB7D05F5B8, 0x535F47F40BC148CC, 0x3AEC5D27D4883037, - 0x10ED0A1825438F96, 0x516101F72C233D17, 0x13CC6F949FD04EAE, 0x739853C441474BFD, - 0x653793D90D3F5B1B, 0x5240647B96B0FC2F, 0x0C84890AD27623E0, 0xD7189B32703AAEA3, - 0x2685DE3523BD9C41, 0x99317C5B11BFFEFA, 0x0D9BAA854F079703, 0x70B93648FBD48AC5, - 0xA80441FCE30BC6BE, 0x7287704BDC36FF1E, 0xB65384ED33DC1F13, 0xD36417343EE34408, - 0x39CD38AB6E1BF10F, 0x5AB861770A1F3564, 0x0EBACF09F594563B, 0xD04572B884708530, - 0x3CAE9722BDB3AF47, 0x4A556B6F2F5CBAF2, 0xE1704F1F76C4BD74, 0x5EC4ED7144C6DFCF, - 0x16AFC01D4C7810E6, 0x283F113CD629CA7A, 0xAF59A8761741ED2D, 0xEED5A3991E215FAC, - 0x3BF37EA849F984D4, 0xE413E096A56CE33C, 0x2C439D3A98F020D1, 0x637559DC6404C46B, - 0x9E6C95D1E5F5D569, 0x24BB9836045FE99A, 0x44EFA466DAC8ECC9, 0xC6EAB2A5C80895D6, - 0x803B50C035220CC4, 0x0321658CBA93C138, 0x8F9EBC465DC7EE1C, 0xD15A5137190131D3, - 0x0FA5EC8668E5E2D8, 0x91C979578D1037B1, 0x0642CA05693B9F70, 0xEFCA80168350EB4F, - 0x38D21B24F36A45EC, 0xBEAB81E1AF73D658, 0x8CBFD9CAE7542F24, 0xFD19CC0D81F11102, - 0x0AC6430FBB4DBC90, 0x1D76A09D6A441895, 0x2A01573FF1CBBFA1, 0xB572E161894FDE2B, - 0x8124734FA853B827, 0x614B1FDF43E6B1B0, 0x68AC395C4238CC18, 0x21D837BFD7F7B7D2, - 0x20C714304A860331, 0x5CFAAB726324AA14, 0x74C5BA4EB50D606E, 0xF3A3030474654739, - 0x23E671BCF015C209, 0x45F087E947B9582A, 0xD8BD77B418DF4C7B, 0xE06F6C90EBB50997, - 0x0BD96080263C0873, 0x7E03F9410E40DCFE, 0xB8E94BE4C6484928, 0xFB5B0608E8CA8E72, - 0x1A2B49179E0E3306, 0x4E29E76961855059, 0x4F36C4E6FCF4E4BA, 0x49740EE395CF7BCA, - 0xC2963EA386D17F7D, 0x90D65AD810618352, 0x12D34C1B02A1FA4D, 0xFA44258775BB3A91, - 0x18150F14B9EC46DD, 0x1491861E6B9A653D, 0x9A1019D7AB2C3FC2, 0x3668D42D06FE13D7, - 0xDCC1FBB25606A6D0, 0x969490DD795A1C22, 0x3549B1A1BC6DD2EF, 0xC94F5E23A0ED770E, - 0xB9F6686B5B39FDCB, 0xC4D4F4A6EFEAE00D, 0xE732851A1FFF2204, 0x94AAD6DE5EB869F9, - 0x3F8FF2AE07206E7F, 0xFE38A9813B62D03A, 0xA7A1AD7A8BEE2466, 0x7B6056C8DDE882B6, - 0x302A1E286FC58CA7, 0x8DA0FA457A259BC7, 0xB3302B64E074415B, 0x5402AE7EFF8B635F, - 0x08F8050C9CAFC94B, 0xAE468BF98A3059CE, 0x88C355CCA98DC58F, 0xB10E6D67C7963480, - 0xBAD70DE7E1AA3CF3, 0xBFB4A26E320262BB, 0xCB711820870F02D5, 0xCE12B7A954A75C9D, - 0x563CE87DD8691684, 0x9F73B65E7884618A, 0x2B1E74B06CBA0B42, 0x47CEC1EA605B2DF1, - 0x1C698312F735AC76, 0x5FDBCEFED9B76B2C, 0x831A354C8FB1CDFC, 0x820516C312C0791F, - 0xB74CA762AEADABF0, 0xFC06EF821C80A5E1, 0x5723CBF24518A267, 0x9D4DF05D5F661451, - 0x588627742DFD40BF, 0xDA8331B73F3D39A0, 0x17B0E392D109A405, 0xF965400BCF28FBA9, - 0x7C3DBF4229A2A925, 0x023E460327E275DB, 0x6CD0B55A0CE126B3, 0xE62DA695828E96E7, - 0x42AD6E63B3F373B9, 0xE50CC319381D57DF, 0xC5CBD729729B54EE, 0x46D1E265FD2A9912, - 0x6428B056904EEFF8, 0x8BE23040131E04B7, 0x6709D5DA2ADD2EC0, 0x075DE98AF44A2B93, - 0x8447DCC67BFBE66F, 0x6616F655B7AC9A23, 0xD607B8BDED4B1A40, 0x0563AF89D3A85E48, - 0x3DB1B4AD20C21BA4, 0x11F22997B8323B75, 0x292032B34B587E99, 0x7F1CDACE9331681D, - 0x8E819FC9C0B65AFF, 0xA1E3677FE2D5BB16, 0xCD33D225EE349DA5, 0xD9A2543B85AEF898, - 0x795E10CBFA0AF76D, 0x25A4BBB9992E5D79, 0x78413344677B438E, 0xF0826688CEF68601, - 0xD27B34BBA392F0EB, 0x551D8DF162FAD7BC, 0x1E57C511D0D7D9AD, 0xDEFFBDB171E4D30B, - 0xF4FEEA8E802F6CAA, 0xA480C8F6317DE55E, 0xA0FC44F07FA40FF5, 0x95B5F551C3C9DD1A, - 0x22F952336D6476EA, 0x0000000000000000, 0xA6BE8EF5169F9085, 0xCC2CF1AA73452946, - 0x2E7DDB39BF12550A, 0xD526DD3157D8DB78, 0x486B2D6C08BECF29, 0x9B0F3A58365D8B21, - 0xAC78CDFAADD22C15, 0xBC95C7E28891A383, 0x6A927F5F65DAB9C3, 0xC3891D2C1BA0CB9E, - 0xEAA92F9F50F8B507, 0xCF0D9426C9D6E87E, 0xCA6E3BAF1A7EB636, 0xAB25247059980786, - 0x69B31AD3DF4978FB, 0xE2512A93CC577C4C, 0xFF278A0EA61364D9, 0x71A615C766A53E26, - 0x89DC764334FC716C, 0xF87A638452594F4A, 0xF2BC208BE914F3DA, 0x8766B94AC1682757, - 0xBBC82E687CDB8810, 0x626A7A53F9757088, 0xA2C202F358467A2E, 0x4D0882E5DB169161, - 0x09E7268301DE7DA8, 0xE897699C771AC0DC, 0xC8507DAC3D9CC3ED, 0xC0A878A0A1330AA6, - 0x978BB352E42BA8C1, 0xE9884A13EA6B743F, 0x279AFDBABECC28A2, 0x047C8C064ED9EAAB, - 0x507E2278B15289F4, 0x599904FBB08CF45C, 0xBD8AE46D15E01760, 0x31353DA7F2B43844, - 0x8558FF49E68A528C, 0x76FBFC4D92EF15B5, 0x3456922E211C660C, 0x86799AC55C1993B4, - 0x3E90D1219A51DA9C, 0x2D5CBEB505819432, 0x982E5FD48CCE4A19, 0xDB9C1238A24C8D43, - 0xD439FEBECAA96F9B, 0x418C0BEF0960B281, 0x158EA591F6EBD1DE, 0x1F48E69E4DA66D4E, - 0x8AFD13CF8E6FB054, 0xF5E1C9011D5ED849, 0xE34E091C5126C8AF, 0xAD67EE7530A398F6, - 0x43B24DEC2E82C75A, 0x75DA99C1287CD48D, 0x92E81CDB3783F689, 0xA3DD217CC537CECD, - 0x60543C50DE970553, 0x93F73F54AAF2426A, 0xA91B62737E7A725D, 0xF19D4507538732E2, - 0x77E4DFC20F9EA156, 0x7D229CCDB4D31DC6, 0x1B346A98037F87E5, 0xEDF4C615A4B29E94, - 0x4093286094110662, 0xB0114EE85AE78063, 0x6FF1D0D6B672E78B, 0x6DCF96D591909250, - 0xDFE09E3EEC9567E8, 0x3214582B4827F97C, 0xB46DC2EE143E6AC8, 0xF6C0AC8DA7CD1971, - 0xEBB60C10CD8901E4, 0xF7DF8F023ABCAD92, 0x9C52D3D2C217A0B2, 0x6B8D5CD0F8AB0D20, - 0x3777F7A29B8FA734, 0x011F238F9D71B4E3, 0xC1B75B2F3C42BE45, 0x5DE588FDFE551EF7, - 0x6EEEF3592B035368, 0xAA3A07FFC4E9B365, 0xECEBE59A39C32A77, 0x5BA742F8976E8187, - 0x4B4A48E0B22D0E11, 0xDDDED83DCB771233, 0xA59FEB79AC0C51BD, 0xC7F5912A55792135, - ], [ - 0x6D6AE04668A9B08A, 0x3AB3F04B0BE8C743, 0xE51E166B54B3C908, 0xBE90A9EB35C2F139, - 0xB2C7066637F2BEC1, 0xAA6945613392202C, 0x9A28C36F3B5201EB, 0xDDCE5A93AB536994, - 0x0E34133EF6382827, 0x52A02BA1EC55048B, 0xA2F88F97C4B2A177, 0x8640E513CA2251A5, - 0xCDF1D36258137622, 0xFE6CB708DEDF8DDB, 0x8A174A9EC8121E5D, 0x679896036B81560E, - 0x59ED033395795FEE, 0x1DD778AB8B74EDAF, 0xEE533EF92D9F926D, 0x2A8C79BAF8A8D8F5, - 0x6BCF398E69B119F6, 0xE20491742FAFDD95, 0x276488E0809C2AEC, 0xEA955B82D88F5CCE, - 0x7102C63A99D9E0C4, 0xF9763017A5C39946, 0x429FA2501F151B3D, 0x4659C72BEA05D59E, - 0x984B7FDCCF5A6634, 0xF742232953FBB161, 0x3041860E08C021C7, 0x747BFD9616CD9386, - 0x4BB1367192312787, 0x1B72A1638A6C44D3, 0x4A0E68A6E8359A66, 0x169A5039F258B6CA, - 0xB98A2EF44EDEE5A4, 0xD9083FE85E43A737, 0x967F6CE239624E13, 0x8874F62D3C1A7982, - 0x3C1629830AF06E3F, 0x9165EBFD427E5A8E, 0xB5DD81794CEEAA5C, 0x0DE8F15A7834F219, - 0x70BD98EDE3DD5D25, 0xACCC9CA9328A8950, 0x56664EDA1945CA28, 0x221DB34C0F8859AE, - 0x26DBD637FA98970D, 0x1ACDFFB4F068F932, 0x4585254F64090FA0, 0x72DE245E17D53AFA, - 0x1546B25D7C546CF4, 0x207E0FFFFB803E71, 0xFAAAD2732BCF4378, 0xB462DFAE36EA17BD, - 0xCF926FD1AC1B11FD, 0xE0672DC7DBA7BA4A, 0xD3FA49AD5D6B41B3, 0x8BA81449B216A3BC, - 0x14F9EC8A0650D115, 0x40FC1EE3EB1D7CE2, 0x23A2ED9B758CE44F, 0x782C521B14FDDC7E, - 0x1C68267CF170504E, 0xBCF31558C1CA96E6, 0xA781B43B4BA6D235, 0xF6FD7DFE29FF0C80, - 0xB0A4BAD5C3FAD91E, 0xD199F51EA963266C, 0x414340349119C103, 0x5405F269ED4DADF7, - 0xABD61BB649969DCD, 0x6813DBEAE7BDC3C8, 0x65FB2AB09F8931D1, 0xF1E7FAE152E3181D, - 0xC1A67CEF5A2339DA, 0x7A4FEEA8E0F5BBA1, 0x1E0B9ACF05783791, 0x5B8EBF8061713831, - 0x80E53CDBCB3AF8D9, 0x7E898BD315E57502, 0xC6BCFBF0213F2D47, 0x95A38E86B76E942D, - 0x092E94218D243CBA, 0x8339DEBF453622E7, 0xB11BE402B9FE64FF, 0x57D9100D634177C9, - 0xCC4E8DB52217CBC3, 0x3B0CAE9C71EC7AA2, 0xFB158CA451CBFE99, 0x2B33276D82AC6514, - 0x01BF5ED77A04BDE1, 0xC5601994AF33F779, 0x75C4A3416CC92E67, 0xF3844652A6EB7FC2, - 0x3487E375FDD0EF64, 0x18AE430704609EED, 0x4D14EFB993298EFB, 0x815A620CB13E4538, - 0x125C354207487869, 0x9EEEA614CE42CF48, 0xCE2D3106D61FAC1C, 0xBBE99247BAD6827B, - 0x071A871F7B1C149D, 0x2E4A1CC10DB81656, 0x77A71FF298C149B8, 0x06A5D9C80118A97C, - 0xAD73C27E488E34B1, 0x443A7B981E0DB241, 0xE3BBCFA355AB6074, 0x0AF276450328E684, - 0x73617A896DD1871B, 0x58525DE4EF7DE20F, 0xB7BE3DCAB8E6CD83, 0x19111DD07E64230C, - 0x842359A03E2A367A, 0x103F89F1F3401FB6, 0xDC710444D157D475, 0xB835702334DA5845, - 0x4320FC876511A6DC, 0xD026ABC9D3679B8D, 0x17250EEE885C0B2B, 0x90DAB52A387AE76F, - 0x31FED8D972C49C26, 0x89CBA8FA461EC463, 0x2FF5421677BCABB7, 0x396F122F85E41D7D, - 0xA09B332430BAC6A8, 0xC888E8CED7070560, 0xAEAF201AC682EE8F, 0x1180D7268944A257, - 0xF058A43628E7A5FC, 0xBD4C4B8FBBCE2B07, 0xA1246DF34ABE7B49, 0x7D5569B79BE9AF3C, - 0xA9B5A705BD9EFA12, 0xDB6B835BAA4BC0E8, 0x05793BAC8F147342, 0x21C1512881848390, - 0xFDB0556C50D357E5, 0x613D4FCB6A99FF72, 0x03DCE2648E0CDA3E, 0xE949B9E6568386F0, - 0xFC0F0BBB2AD7EA04, 0x6A70675913B5A417, 0x7F36D5046FE1C8E3, 0x0C57AF8D02304FF8, - 0x32223ABDFCC84618, 0x0891CAF6F720815B, 0xA63EEAEC31A26FD4, 0x2507345374944D33, - 0x49D28AC266394058, 0xF5219F9AA7F3D6BE, 0x2D96FEA583B4CC68, 0x5A31E1571B7585D0, - 0x8ED12FE53D02D0FE, 0xDFADE6205F5B0E4B, 0x4CABB16EE92D331A, 0x04C6657BF510CEA3, - 0xD73C2CD6A87B8F10, 0xE1D87310A1A307AB, 0x6CD5BE9112AD0D6B, 0x97C032354366F3F2, - 0xD4E0CEB22677552E, 0x0000000000000000, 0x29509BDE76A402CB, 0xC27A9E8BD42FE3E4, - 0x5EF7842CEE654B73, 0xAF107ECDBC86536E, 0x3FCACBE784FCB401, 0xD55F90655C73E8CF, - 0xE6C2F40FDABF1336, 0xE8F6E7312C873B11, 0xEB2A0555A28BE12F, 0xE4A148BC2EB774E9, - 0x9B979DB84156BC0A, 0x6EB60222E6A56AB4, 0x87FFBBC4B026EC44, 0xC703A5275B3B90A6, - 0x47E699FC9001687F, 0x9C8D1AA73A4AA897, 0x7CEA3760E1ED12DD, 0x4EC80DDD1D2554C5, - 0x13E36B957D4CC588, 0x5D2B66486069914D, 0x92B90999CC7280B0, 0x517CC9C56259DEB5, - 0xC937B619AD03B881, 0xEC30824AD997F5B2, 0xA45D565FC5AA080B, 0xD6837201D27F32F1, - 0x635EF3789E9198AD, 0x531F75769651B96A, 0x4F77530A6721E924, 0x486DD4151C3DFDB9, - 0x5F48DAFB9461F692, 0x375B011173DC355A, 0x3DA9775470F4D3DE, 0x8D0DCD81B30E0AC0, - 0x36E45FC609D888BB, 0x55BAACBE97491016, 0x8CB29356C90AB721, 0x76184125E2C5F459, - 0x99F4210BB55EDBD5, 0x6F095CF59CA1D755, 0x9F51F8C3B44672A9, 0x3538BDA287D45285, - 0x50C39712185D6354, 0xF23B1885DCEFC223, 0x79930CCC6EF9619F, 0xED8FDC9DA3934853, - 0xCB540AAA590BDF5E, 0x5C94389F1A6D2CAC, 0xE77DAAD8A0BBAED7, 0x28EFC5090CA0BF2A, - 0xBF2FF73C4FC64CD8, 0xB37858B14DF60320, 0xF8C96EC0DFC724A7, 0x828680683F329F06, - 0x941CD051CD6A29CC, 0xC3C5C05CAE2B5E05, 0xB601631DC2E27062, 0xC01922382027843B, - 0x24B86A840E90F0D2, 0xD245177A276FFC52, 0x0F8B4DE98C3C95C6, 0x3E759530FEF809E0, - 0x0B4D2892792C5B65, 0xC4DF4743D5374A98, 0xA5E20888BFAEB5EA, 0xBA56CC90C0D23F9A, - 0x38D04CF8FFE0A09C, 0x62E1ADAFE495254C, 0x0263BCB3F40867DF, 0xCAEB547D230F62BF, - 0x6082111C109D4293, 0xDAD4DD8CD04F7D09, 0xEFEC602E579B2F8C, 0x1FB4C4187F7C8A70, - 0xFFD3E9DFA4DB303A, 0x7BF0B07F9AF10640, 0xF49EC14DDDF76B5F, 0x8F6E713247066D1F, - 0x339D646A86CCFBF9, 0x64447467E58D8C30, 0x2C29A072F9B07189, 0xD8B7613F24471AD6, - 0x6627C8D41185EBEF, 0xA347D140BEB61C96, 0xDE12B8F7255FB3AA, 0x9D324470404E1576, - 0x9306574EB6763D51, 0xA80AF9D2C79A47F3, 0x859C0777442E8B9B, 0x69AC853D9DB97E29, - ], [ - 0xC3407DFC2DE6377E, 0x5B9E93EEA4256F77, 0xADB58FDD50C845E0, 0x5219FF11A75BED86, - 0x356B61CFD90B1DE9, 0xFB8F406E25ABE037, 0x7A5A0231C0F60796, 0x9D3CD216E1F5020B, - 0x0C6550FB6B48D8F3, 0xF57508C427FF1C62, 0x4AD35FFA71CB407D, 0x6290A2DA1666AA6D, - 0xE284EC2349355F9F, 0xB3C307C53D7C84EC, 0x05E23C0468365A02, 0x190BAC4D6C9EBFA8, - 0x94BBBEE9E28B80FA, 0xA34FC777529CB9B5, 0xCC7B39F095BCD978, 0x2426ADDB0CE532E3, - 0x7E79329312CE4FC7, 0xAB09A72EEBEC2917, 0xF8D15499F6B9D6C2, 0x1A55B8BABF8C895D, - 0xDB8ADD17FB769A85, 0xB57F2F368658E81B, 0x8ACD36F18F3F41F6, 0x5CE3B7BBA50F11D3, - 0x114DCC14D5EE2F0A, 0xB91A7FCDED1030E8, 0x81D5425FE55DE7A1, 0xB6213BC1554ADEEE, - 0x80144EF95F53F5F2, 0x1E7688186DB4C10C, 0x3B912965DB5FE1BC, 0xC281715A97E8252D, - 0x54A5D7E21C7F8171, 0x4B12535CCBC5522E, 0x1D289CEFBEA6F7F9, 0x6EF5F2217D2E729E, - 0xE6A7DC819B0D17CE, 0x1B94B41C05829B0E, 0x33D7493C622F711E, 0xDCF7F942FA5CE421, - 0x600FBA8B7F7A8ECB, 0x46B60F011A83988E, 0x235B898E0DCF4C47, 0x957AB24F588592A9, - 0x4354330572B5C28C, 0xA5F3EF84E9B8D542, 0x8C711E02341B2D01, 0x0B1874AE6A62A657, - 0x1213D8E306FC19FF, 0xFE6D7C6A4D9DBA35, 0x65ED868F174CD4C9, 0x88522EA0E6236550, - 0x899322065C2D7703, 0xC01E690BFEF4018B, 0x915982ED8ABDDAF8, 0xBE675B98EC3A4E4C, - 0xA996BF7F82F00DB1, 0xE1DAF8D49A27696A, 0x2EFFD5D3DC8986E7, 0xD153A51F2B1A2E81, - 0x18CAA0EBD690ADFB, 0x390E3134B243C51A, 0x2778B92CDFF70416, 0x029F1851691C24A6, - 0x5E7CAFEACC133575, 0xFA4E4CC89FA5F264, 0x5A5F9F481E2B7D24, 0x484C47AB18D764DB, - 0x400A27F2A1A7F479, 0xAEEB9B2A83DA7315, 0x721C626879869734, 0x042330A2D2384851, - 0x85F672FD3765AFF0, 0xBA446B3A3E02061D, 0x73DD6ECEC3888567, 0xFFAC70CCF793A866, - 0xDFA9EDB5294ED2D4, 0x6C6AEA7014325638, 0x834A5A0E8C41C307, 0xCDBA35562FB2CB2B, - 0x0AD97808D06CB404, 0x0F3B440CB85AEE06, 0xE5F9C876481F213B, 0x98DEEE1289C35809, - 0x59018BBFCD394BD1, 0xE01BF47220297B39, 0xDE68E1139340C087, 0x9FA3CA4788E926AD, - 0xBB85679C840C144E, 0x53D8F3B71D55FFD5, 0x0DA45C5DD146CAA0, 0x6F34FE87C72060CD, - 0x57FBC315CF6DB784, 0xCEE421A1FCA0FDDE, 0x3D2D0196607B8D4B, 0x642C8A29AD42C69A, - 0x14AFF010BDD87508, 0xAC74837BEAC657B3, 0x3216459AD821634D, 0x3FB219C70967A9ED, - 0x06BC28F3BB246CF7, 0xF2082C9126D562C6, 0x66B39278C45EE23C, 0xBD394F6F3F2878B9, - 0xFD33689D9E8F8CC0, 0x37F4799EB017394F, 0x108CC0B26FE03D59, 0xDA4BD1B1417888D6, - 0xB09D1332EE6EB219, 0x2F3ED975668794B4, 0x58C0871977375982, 0x7561463D78ACE990, - 0x09876CFF037E82F1, 0x7FB83E35A8C05D94, 0x26B9B58A65F91645, 0xEF20B07E9873953F, - 0x3148516D0B3355B8, 0x41CB2B541BA9E62A, 0x790416C613E43163, 0xA011D380818E8F40, - 0x3A5025C36151F3EF, 0xD57095BDF92266D0, 0x498D4B0DA2D97688, 0x8B0C3A57353153A5, - 0x21C491DF64D368E1, 0x8F2F0AF5E7091BF4, 0x2DA1C1240F9BB012, 0xC43D59A92CCC49DA, - 0xBFA6573E56345C1F, 0x828B56A8364FD154, 0x9A41F643E0DF7CAF, 0xBCF843C985266AEA, - 0x2B1DE9D7B4BFDCE5, 0x20059D79DEDD7AB2, 0x6DABE6D6AE3C446B, 0x45E81BF6C991AE7B, - 0x6351AE7CAC68B83E, 0xA432E32253B6C711, 0xD092A9B991143CD2, 0xCAC711032E98B58F, - 0xD8D4C9E02864AC70, 0xC5FC550F96C25B89, 0xD7EF8DEC903E4276, 0x67729EDE7E50F06F, - 0xEAC28C7AF045CF3D, 0xB15C1F945460A04A, 0x9CFDDEB05BFB1058, 0x93C69ABCE3A1FE5E, - 0xEB0380DC4A4BDD6E, 0xD20DB1E8F8081874, 0x229A8528B7C15E14, 0x44291750739FBC28, - 0xD3CCBD4E42060A27, 0xF62B1C33F4ED2A97, 0x86A8660AE4779905, 0xD62E814A2A305025, - 0x477703A7A08D8ADD, 0x7B9B0E977AF815C5, 0x78C51A60A9EA2330, 0xA6ADFB733AAAE3B7, - 0x97E5AA1E3199B60F, 0x0000000000000000, 0xF4B404629DF10E31, 0x5564DB44A6719322, - 0x9207961A59AFEC0D, 0x9624A6B88B97A45C, 0x363575380A192B1C, 0x2C60CD82B595A241, - 0x7D272664C1DC7932, 0x7142769FAA94A1C1, 0xA1D0DF263B809D13, 0x1630E841D4C451AE, - 0xC1DF65AD44FA13D8, 0x13D2D445BCF20BAC, 0xD915C546926ABE23, 0x38CF3D92084DD749, - 0xE766D0272103059D, 0xC7634D5EFFDE7F2F, 0x077D2455012A7EA4, 0xEDBFA82FF16FB199, - 0xAF2A978C39D46146, 0x42953FA3C8BBD0DF, 0xCB061DA59496A7DC, 0x25E7A17DB6EB20B0, - 0x34AA6D6963050FBA, 0xA76CF7D580A4F1E4, 0xF7EA10954EE338C4, 0xFCF2643B24819E93, - 0xCF252D0746AEEF8D, 0x4EF06F58A3F3082C, 0x563ACFB37563A5D7, 0x5086E740CE47C920, - 0x2982F186DDA3F843, 0x87696AAC5E798B56, 0x5D22BB1D1F010380, 0x035E14F7D31236F5, - 0x3CEC0D30DA759F18, 0xF3C920379CDB7095, 0xB8DB736B571E22BB, 0xDD36F5E44052F672, - 0xAAC8AB8851E23B44, 0xA857B3D938FE1FE2, 0x17F1E4E76ECA43FD, 0xEC7EA4894B61A3CA, - 0x9E62C6E132E734FE, 0xD4B1991B432C7483, 0x6AD6C283AF163ACF, 0x1CE9904904A8E5AA, - 0x5FBDA34C761D2726, 0xF910583F4CB7C491, 0xC6A241F845D06D7C, 0x4F3163FE19FD1A7F, - 0xE99C988D2357F9C8, 0x8EEE06535D0709A7, 0x0EFA48AA0254FC55, 0xB4BE23903C56FA48, - 0x763F52CAABBEDF65, 0xEEE1BCD8227D876C, 0xE345E085F33B4DCC, 0x3E731561B369BBBE, - 0x2843FD2067ADEA10, 0x2ADCE5710EB1CEB6, 0xB7E03767EF44CCBD, 0x8DB012A48E153F52, - 0x61CEB62DC5749C98, 0xE85D942B9959EB9B, 0x4C6F7709CAEF2C8A, 0x84377E5B8D6BBDA3, - 0x30895DCBB13D47EB, 0x74A04A9BC2A2FBC3, 0x6B17CE251518289C, 0xE438C4D0F2113368, - 0x1FB784BED7BAD35F, 0x9B80FAE55AD16EFC, 0x77FE5E6C11B0CD36, 0xC858095247849129, - 0x08466059B97090A2, 0x01C10CA6BA0E1253, 0x6988D6747C040C3A, 0x6849DAD2C60A1E69, - 0x5147EBE67449DB73, 0xC99905F4FD8A837A, 0x991FE2B433CD4A5A, 0xF09734C04FC94660, - 0xA28ECBD1E892ABE6, 0xF1563866F5C75433, 0x4DAE7BAF70E13ED9, 0x7CE62AC27BD26B61, - 0x70837A39109AB392, 0x90988E4B30B3C8AB, 0xB2020B63877296BF, 0x156EFCB607D6675B, - ], [ - 0xE63F55CE97C331D0, 0x25B506B0015BBA16, 0xC8706E29E6AD9BA8, 0x5B43D3775D521F6A, - 0x0BFA3D577035106E, 0xAB95FC172AFB0E66, 0xF64B63979E7A3276, 0xF58B4562649DAD4B, - 0x48F7C3DBAE0C83F1, 0xFF31916642F5C8C5, 0xCBB048DC1C4A0495, 0x66B8F83CDF622989, - 0x35C130E908E2B9B0, 0x7C761A61F0B34FA1, 0x3601161CF205268D, 0x9E54CCFE2219B7D6, - 0x8B7D90A538940837, 0x9CD403588EA35D0B, 0xBC3C6FEA9CCC5B5A, 0xE5FF733B6D24AEED, - 0xCEED22DE0F7EB8D2, 0xEC8581CAB1AB545E, 0xB96105E88FF8E71D, 0x8CA03501871A5EAD, - 0x76CCCE65D6DB2A2F, 0x5883F582A7B58057, 0x3F7BE4ED2E8ADC3E, 0x0FE7BE06355CD9C9, - 0xEE054E6C1D11BE83, 0x1074365909B903A6, 0x5DDE9F80B4813C10, 0x4A770C7D02B6692C, - 0x5379C8D5D7809039, 0xB4067448161ED409, 0x5F5E5026183BD6CD, 0xE898029BF4C29DF9, - 0x7FB63C940A54D09C, 0xC5171F897F4BA8BC, 0xA6F28DB7B31D3D72, 0x2E4F3BE7716EAA78, - 0x0D6771A099E63314, 0x82076254E41BF284, 0x2F0FD2B42733DF98, 0x5C9E76D3E2DC49F0, - 0x7AEB569619606CDB, 0x83478B07B2468764, 0xCFADCB8D5923CD32, 0x85DAC7F05B95A41E, - 0xB5469D1B4043A1E9, 0xB821ECBBD9A592FD, 0x1B8E0B0E798C13C8, 0x62A57B6D9A0BE02E, - 0xFCF1B793B81257F8, 0x9D94EA0BD8FE28EB, 0x4CEA408AEB654A56, 0x23284A47E888996C, - 0x2D8F1D128B893545, 0xF4CBAC3132C0D8AB, 0xBD7C86B9CA912EBA, 0x3A268EEF3DBE6079, - 0xF0D62F6077A9110C, 0x2735C916ADE150CB, 0x89FD5F03942EE2EA, 0x1ACEE25D2FD16628, - 0x90F39BAB41181BFF, 0x430DFE8CDE39939F, 0xF70B8AC4C8274796, 0x1C53AEAAC6024552, - 0x13B410ACF35E9C9B, 0xA532AB4249FAA24F, 0x2B1251E5625A163F, 0xD7E3E676DA4841C7, - 0xA7B264E4E5404892, 0xDA8497D643AE72D3, 0x861AE105A1723B23, 0x38A6414991048AA4, - 0x6578DEC92585B6B4, 0x0280CFA6ACBAEADD, 0x88BDB650C273970A, 0x9333BD5EBBFF84C2, - 0x4E6A8F2C47DFA08B, 0x321C954DB76CEF2A, 0x418D312A72837942, 0xB29B38BFFFCDF773, - 0x6C022C38F90A4C07, 0x5A033A240B0F6A8A, 0x1F93885F3CE5DA6F, 0xC38A537E96988BC6, - 0x39E6A81AC759FF44, 0x29929E43CEE0FCE2, 0x40CDD87924DE0CA2, 0xE9D8EBC8A29FE819, - 0x0C2798F3CFBB46F4, 0x55E484223E53B343, 0x4650948ECD0D2FD8, 0x20E86CB2126F0651, - 0x6D42C56BAF5739E7, 0xA06FC1405ACE1E08, 0x7BABBFC54F3D193B, 0x424D17DF8864E67F, - 0xD8045870EF14980E, 0xC6D7397C85AC3781, 0x21A885E1443273B1, 0x67F8116F893F5C69, - 0x24F5EFE35706CFF6, 0xD56329D076F2AB1A, 0x5E1EB9754E66A32D, 0x28D2771098BD8902, - 0x8F6013F47DFDC190, 0x17A993FDB637553C, 0xE0A219397E1012AA, 0x786B9930B5DA8606, - 0x6E82E39E55B0A6DA, 0x875A0856F72F4EC3, 0x3741FF4FA458536D, 0xAC4859B3957558FC, - 0x7EF6D5C75C09A57C, 0xC04A758B6C7F14FB, 0xF9ACDD91AB26EBBF, 0x7391A467C5EF9668, - 0x335C7C1EE1319ACA, 0xA91533B18641E4BB, 0xE4BF9A683B79DB0D, 0x8E20FAA72BA0B470, - 0x51F907737B3A7AE4, 0x2268A314BED5EC8C, 0xD944B123B949EDEE, 0x31DCB3B84D8B7017, - 0xD3FE65279F218860, 0x097AF2F1DC8FFAB3, 0x9B09A6FC312D0B91, 0xCC6DED78A3C4520F, - 0x3481D9BA5EBFCC50, 0x4F2A667F1182D56B, 0xDFD9FDD4509ACE94, 0x26752045FBBC252B, - 0xBFFC491F662BC467, 0xDD593272FC202449, 0x3CBBC218D46D4303, 0x91B372F817456E1F, - 0x681FAF69BC6385A0, 0xB686BBEEBAA43ED4, 0x1469B5084CD0CA01, 0x98C98009CBCA94AC, - 0x6438379A73D8C354, 0xC2CABA2DC0C5FE26, 0x3E3B0DBE78D7A9DE, 0x50B9EE202D670F04, - 0x4590B27B37EAB0E5, 0x6025B4CB36B10AF3, 0xFB2C1237079C0162, 0xA12F28130C936BE8, - 0x4B37E52E54EB1CCC, 0x083A1BA28AD28F53, 0xC10A9CD83A22611B, 0x9F1425AD7444C236, - 0x069D4CF7E9D3237A, 0xEDC56899E7F621BE, 0x778C273680865FCF, 0x309C5AEB1BD605F7, - 0x8DE0DC52D1472B4D, 0xF8EC34C2FD7B9E5F, 0xEA18CD3D58787724, 0xAAD515447CA67B86, - 0x9989695A9D97E14C, 0x0000000000000000, 0xF196C63321F464EC, 0x71116BC169557CB5, - 0xAF887F466F92C7C1, 0x972E3E0FFE964D65, 0x190EC4A8D536F915, 0x95AEF1A9522CA7B8, - 0xDC19DB21AA7D51A9, 0x94EE18FA0471D258, 0x8087ADF248A11859, 0xC457F6DA2916DD5C, - 0xFA6CFB6451C17482, 0xF256E0C6DB13FBD1, 0x6A9F60CF10D96F7D, 0x4DAAA9D9BD383FB6, - 0x03C026F5FAE79F3D, 0xDE99148706C7BB74, 0x2A52B8B6340763DF, 0x6FC20ACD03EDD33A, - 0xD423C08320AFDEFA, 0xBBE1CA4E23420DC0, 0x966ED75CA8CB3885, 0xEB58246E0E2502C4, - 0x055D6A021334BC47, 0xA47242111FA7D7AF, 0xE3623FCC84F78D97, 0x81C744A11EFC6DB9, - 0xAEC8961539CFB221, 0xF31609958D4E8E31, 0x63E5923ECC5695CE, 0x47107DDD9B505A38, - 0xA3AFE7B5A0298135, 0x792B7063E387F3E6, 0x0140E953565D75E0, 0x12F4F9FFA503E97B, - 0x750CE8902C3CB512, 0xDBC47E8515F30733, 0x1ED3610C6AB8AF8F, 0x5239218681DDE5D9, - 0xE222D69FD2AAF877, 0xFE71783514A8BD25, 0xCAF0A18F4A177175, 0x61655D9860EC7F13, - 0xE77FBC9DC19E4430, 0x2CCFF441DDD440A5, 0x16E97AAEE06A20DC, 0xA855DAE2D01C915B, - 0x1D1347F9905F30B2, 0xB7C652BDECF94B34, 0xD03E43D265C6175D, 0xFDB15EC0EE4F2218, - 0x57644B8492E9599E, 0x07DDA5A4BF8E569A, 0x54A46D71680EC6A3, 0x5624A2D7C4B42C7E, - 0xBEBCA04C3076B187, 0x7D36F332A6EE3A41, 0x3B6667BC6BE31599, 0x695F463AEA3EF040, - 0xAD08B0E0C3282D1C, 0xB15B1E4A052A684E, 0x44D05B2861B7C505, 0x15295C5B1A8DBFE1, - 0x744C01C37A61C0F2, 0x59C31CD1F1E8F5B7, 0xEF45A73F4B4CCB63, 0x6BDF899C46841A9D, - 0x3DFB2B4B823036E3, 0xA2EF0EE6F674F4D5, 0x184E2DFB836B8CF5, 0x1134DF0A5FE47646, - 0xBAA1231D751F7820, 0xD17EAA81339B62BD, 0xB01BF71953771DAE, 0x849A2EA30DC8D1FE, - 0x705182923F080955, 0x0EA757556301AC29, 0x041D83514569C9A7, 0x0ABAD4042668658E, - 0x49B72A88F851F611, 0x8A3D79F66EC97DD7, 0xCD2D042BF59927EF, 0xC930877AB0F0EE48, - 0x9273540DEDA2F122, 0xC797D02FD3F14261, 0xE1E2F06A284D674A, 0xD2BE8C74C97CFD80, - 0x9A494FAF67707E71, 0xB3DBD1ECA9908293, 0x72D14D3493B2E388, 0xD6A30F258C153427, - ] + 0xD01F715B5C7EF8E6, + 0x16FA240980778325, + 0xA8A42E857EE049C8, + 0x6AC1068FA186465B, + 0x6E417BD7A2E9320B, + 0x665C8167A437DAAB, + 0x7666681AA89617F6, + 0x4B959163700BDCF5, + 0xF14BE6B78DF36248, + 0xC585BD689A625CFF, + 0x9557D7FCA67D82CB, + 0x89F0B969AF6DD366, + 0xB0833D48749F6C35, + 0xA1998C23B1ECBC7C, + 0x8D70C431AC02A736, + 0xD6DFBC2FD0A8B69E, + 0x37AEB3E551FA198B, + 0x0B7D128A40B5CF9C, + 0x5A8F2008B5780CBC, + 0xEDEC882284E333E5, + 0xD25FC177D3C7C2CE, + 0x5E0F5D50B61778EC, + 0x1D873683C0C24CB9, + 0xAD040BCBB45D208C, + 0x2F89A0285B853C76, + 0x5732FFF6791B8D58, + 0x3E9311439EF6EC3F, + 0xC9183A809FD3C00F, + 0x83ADF3F5260A01EE, + 0xA6791941F4E8EF10, + 0x103AE97D0CA1CD5D, + 0x2CE948121DEE1B4A, + 0x39738421DBF2BF53, + 0x093DA2A6CF0CF5B4, + 0xCD9847D89CBCB45F, + 0xF9561C078B2D8AE8, + 0x9C6A755A6971777F, + 0xBC1EBAA0712EF0C5, + 0x72E61542ABF963A6, + 0x78BB5FDE229EB12E, + 0x14BA94250FCEB90D, + 0x844D6697630E5282, + 0x98EA08026A1E032F, + 0xF06BBEA144217F5C, + 0xDB6263D11CCB377A, + 0x641C314B2B8EE083, + 0x320E96AB9B4770CF, + 0x1EE7DEB986A96B85, + 0xE96CF57A878C47B5, + 0xFDD6615F8842FEB8, + 0xC83862965601DD1B, + 0x2EA9F83E92572162, + 0xF876441142FF97FC, + 0xEB2C455608357D9D, + 0x5612A7E0B0C9904C, + 0x6C01CBFB2D500823, + 0x4548A6A7FA037A2D, + 0xABC4C6BF388B6EF4, + 0xBADE77D4FDF8BEBD, + 0x799B07C8EB4CAC3A, + 0x0C9D87E805B19CF0, + 0xCB588AAC106AFA27, + 0xEA0C1D40C1E76089, + 0x2869354A1E816F1A, + 0xFF96D17307FBC490, + 0x9F0A9D602F1A5043, + 0x96373FC6E016A5F7, + 0x5292DAB8B3A6E41C, + 0x9B8AE0382C752413, + 0x4F15EC3B7364A8A5, + 0x3FB349555724F12B, + 0xC7C50D4415DB66D7, + 0x92B7429EE379D1A7, + 0xD37F99611A15DFDA, + 0x231427C05E34A086, + 0xA439A96D7B51D538, + 0xB403401077F01865, + 0xDDA2AEA5901D7902, + 0x0A5D4A9C8967D288, + 0xC265280ADF660F93, + 0x8BB0094520D4E94E, + 0x2A29856691385532, + 0x42A833C5BF072941, + 0x73C64D54622B7EB2, + 0x07E095624504536C, + 0x8A905153E906F45A, + 0x6F6123C16B3B2F1F, + 0xC6E55552DC097BC3, + 0x4468FEB133D16739, + 0xE211E7F0C7398829, + 0xA2F96419F7879B40, + 0x19074BDBC3AD38E9, + 0xF4EBC3F9474E0B0C, + 0x43886BD376D53455, + 0xD8028BEB5AA01046, + 0x51F23282F5CDC320, + 0xE7B1C2BE0D84E16D, + 0x081DFAB006DEE8A0, + 0x3B33340D544B857B, + 0x7F5BCABC679AE242, + 0x0EDD37C48A08A6D8, + 0x81ED43D9A9B33BC6, + 0xB1A3655EBD4D7121, + 0x69A1EEB5E7ED6167, + 0xF6AB73D5C8F73124, + 0x1A67A3E185C61FD5, + 0x2DC91004D43C065E, + 0x0240B02C8FB93A28, + 0x90F7F2B26CC0EB8F, + 0x3CD3A16F114FD617, + 0xAAE49EA9F15973E0, + 0x06C0CD748CD64E78, + 0xDA423BC7D5192A6E, + 0xC345701C16B41287, + 0x6D2193EDE4821537, + 0xFCF639494190E3AC, + 0x7C3B228621F1C57E, + 0xFB16AC2B0494B0C0, + 0xBF7E529A3745D7F9, + 0x6881B6A32E3F7C73, + 0xCA78D2BAD9B8E733, + 0xBBFE2FC2342AA3A9, + 0x0DBDDFFECC6381E4, + 0x70A6A56E2440598E, + 0xE4D12A844BEFC651, + 0x8C509C2765D0BA22, + 0xEE8C6018C28814D9, + 0x17DA7C1F49A59E31, + 0x609C4C1328E194D3, + 0xB3E3D57232F44B09, + 0x91D7AAA4A512F69B, + 0x0FFD6FD243DABBCC, + 0x50D26A943C1FDE34, + 0x6BE15E9968545B4F, + 0x94778FEA6FAF9FDF, + 0x2B09DD7058EA4826, + 0x677CD9716DE5C7BF, + 0x49D5214FFFB2E6DD, + 0x0360E83A466B273C, + 0x1FC786AF4F7B7691, + 0xA0B9D435783EA168, + 0xD49F0C035F118CB6, + 0x01205816C9D21D14, + 0xAC2453DD7D8F3D98, + 0x545217CC3F70AA64, + 0x26B4028E9489C9C2, + 0xDEC2469FD6765E3E, + 0x04807D58036F7450, + 0xE5F17292823DDB45, + 0xF30B569B024A5860, + 0x62DCFC3FA758AEFB, + 0xE84CAD6C4E5E5AA1, + 0xCCB81FCE556EA94B, + 0x53B282AE7A74F908, + 0x1B47FBF74C1402C1, + 0x368EEBF39828049F, + 0x7AFBEFF2AD278B06, + 0xBE5E0A8CFE97CAED, + 0xCFD8F7F413058E77, + 0xF78B2BC301252C30, + 0x4D555C17FCDD928D, + 0x5F2F05467FC565F8, + 0x24F4B2A21B30F3EA, + 0x860DD6BBECB768AA, + 0x4C750401350F8F99, + 0x0000000000000000, + 0xECCCD0344D312EF1, + 0xB5231806BE220571, + 0xC105C030990D28AF, + 0x653C695DE25CFD97, + 0x159ACC33C61CA419, + 0xB89EC7F872418495, + 0xA9847693B73254DC, + 0x58CF90243AC13694, + 0x59EFC832F3132B80, + 0x5C4FED7C39AE42C4, + 0x828DABE3EFD81CFA, + 0xD13F294D95ACE5F2, + 0x7D1B7A90E823D86A, + 0xB643F03CF849224D, + 0x3DF3F979D89DCB03, + 0x7426D836272F2DDE, + 0xDFE21E891FA4432A, + 0x3A136C1B9D99986F, + 0xFA36F43DCD46ADD4, + 0xC025982650DF35BB, + 0x856D3E81AADC4F96, + 0xC4A5E57E53B041EB, + 0x4708168B75BA4005, + 0xAF44BBE73BE41AA4, + 0x971767D029C4B8E3, + 0xB9BE9FEEBB939981, + 0x215497ECD18D9AAE, + 0x316E7E91DD2C57F3, + 0xCEF8AFE2DAD79363, + 0x3853DC371220A247, + 0x35EE03C9DE4323A3, + 0xE6919AA8C456FC79, + 0xE05157DC4880B201, + 0x7BDBB7E464F59612, + 0x127A59518318F775, + 0x332ECEBD52956DDB, + 0x8F30741D23BB9D1E, + 0xD922D3FD93720D52, + 0x7746300C61440AE2, + 0x25D4EAB4D2E2EEFE, + 0x75068020EEFD30CA, + 0x135A01474ACAEA61, + 0x304E268714FE4AE7, + 0xA519F17BB283C82C, + 0xDC82F6B359CF6416, + 0x5BAF781E7CAA11A8, + 0xB2C38D64FB26561D, + 0x34CE5BDF17913EB7, + 0x5D6FB56AF07C5FD0, + 0x182713CD0A7F25FD, + 0x9E2AC576E6C84D57, + 0x9AAAB82EE5A73907, + 0xA3D93C0F3E558654, + 0x7E7B92AAAE48FF56, + 0x872D8EAD256575BE, + 0x41C8DBFFF96C0E7D, + 0x99CA5014A3CC1E3B, + 0x40E883E930BE1369, + 0x1CA76E95091051AD, + 0x4E35B42DBAB6B5B1, + 0x05A0254ECABD6944, + 0xE1710FCA8152AF15, + 0xF22B0E8DCB984574, + 0xB763A82A319B3F59, + 0x63FCA4296E8AB3EF, + 0x9D4A2D4CA0A36A6B, + 0xE331BFE60EEB953D, + 0xD5BF541596C391A2, + 0xF5CB9BEF8E9C1618, + 0x46284E9DBC685D11, + 0x2074CFFA185F87BA, + 0xBD3EE2B6B8FCEDD1, + 0xAE64E3F1F23607B0, + 0xFEB68965CE29D984, + 0x55724FDAF6A2B770, + 0x29496D5CD753720E, + 0xA75941573D3AF204, + 0x8E102C0BEA69800A, + 0x111AB16BC573D049, + 0xD7FFE439197AAB8A, + 0xEFAC380E0B5A09CD, + 0x48F579593660FBC9, + 0x22347FD697E6BD92, + 0x61BC1405E13389C7, + 0x4AB5C975B9D9C1E1, + 0x80CD1BCF606126D2, + 0x7186FD78ED92449A, + 0x93971A882AABCCB3, + 0x88D0E17F66BFCE72, + 0x27945A985D5BD4D6, + ], + [ + 0xDE553F8C05A811C8, + 0x1906B59631B4F565, + 0x436E70D6B1964FF7, + 0x36D343CB8B1E9D85, + 0x843DFACC858AAB5A, + 0xFDFC95C299BFC7F9, + 0x0F634BDEA1D51FA2, + 0x6D458B3B76EFB3CD, + 0x85C3F77CF8593F80, + 0x3C91315FBE737CB2, + 0x2148B03366ACE398, + 0x18F8B8264C6761BF, + 0xC830C1C495C9FB0F, + 0x981A76102086A0AA, + 0xAA16012142F35760, + 0x35CC54060C763CF6, + 0x42907D66CC45DB2D, + 0x8203D44B965AF4BC, + 0x3D6F3CEFC3A0E868, + 0xBC73FF69D292BDA7, + 0x8722ED0102E20A29, + 0x8F8185E8CD34DEB7, + 0x9B0561DDA7EE01D9, + 0x5335A0193227FAD6, + 0xC9CECC74E81A6FD5, + 0x54F5832E5C2431EA, + 0x99E47BA05D553470, + 0xF7BEE756ACD226CE, + 0x384E05A5571816FD, + 0xD1367452A47D0E6A, + 0xF29FDE1C386AD85B, + 0x320C77316275F7CA, + 0xD0C879E2D9AE9AB0, + 0xDB7406C69110EF5D, + 0x45505E51A2461011, + 0xFC029872E46C5323, + 0xFA3CB6F5F7BC0CC5, + 0x031F17CD8768A173, + 0xBD8DF2D9AF41297D, + 0x9D3B4F5AB43E5E3F, + 0x4071671B36FEEE84, + 0x716207E7D3E3B83D, + 0x48D20FF2F9283A1A, + 0x27769EB4757CBC7E, + 0x5C56EBC793F2E574, + 0xA48B474F9EF5DC18, + 0x52CBADA94FF46E0C, + 0x60C7DA982D8199C6, + 0x0E9D466EDC068B78, + 0x4EEC2175EAF865FC, + 0x550B8E9E21F7A530, + 0x6B7BA5BC653FEC2B, + 0x5EB7F1BA6949D0DD, + 0x57EA94E3DB4C9099, + 0xF640EAE6D101B214, + 0xDD4A284182C0B0BB, + 0xFF1D8FBF6304F250, + 0xB8ACCB933BF9D7E8, + 0xE8867C478EB68C4D, + 0x3F8E2692391BDDC1, + 0xCB2FD60912A15A7C, + 0xAEC935DBAB983D2F, + 0xF55FFD2B56691367, + 0x80E2CE366CE1C115, + 0x179BF3F8EDB27E1D, + 0x01FE0DB07DD394DA, + 0xDA8A0B76ECC37B87, + 0x44AE53E1DF9584CB, + 0xB310B4B77347A205, + 0xDFAB323C787B8512, + 0x3B511268D070B78E, + 0x65E6E3D2B9396753, + 0x6864B271E2574D58, + 0x259784C98FC789D7, + 0x02E11A7DFABB35A9, + 0x8841A6DFA337158B, + 0x7ADE78C39B5DCDD0, + 0xB7CF804D9A2CC84A, + 0x20B6BD831B7F7742, + 0x75BD331D3A88D272, + 0x418F6AAB4B2D7A5E, + 0xD9951CBB6BABDAF4, + 0xB6318DFDE7FF5C90, + 0x1F389B112264AA83, + 0x492C024284FBAEC0, + 0xE33A0363C608F9A0, + 0x2688930408AF28A4, + 0xC7538A1A341CE4AD, + 0x5DA8E677EE2171AE, + 0x8C9E92254A5C7FC4, + 0x63D8CD55AAE938B5, + 0x29EBD8DAA97A3706, + 0x959827B37BE88AA1, + 0x1484E4356ADADF6E, + 0xA7945082199D7D6B, + 0xBF6CE8A455FA1CD4, + 0x9CC542EAC9EDCAE5, + 0x79C16F0E1C356CA3, + 0x89BFAB6FDEE48151, + 0xD4174D1830C5F0FF, + 0x9258048415EB419D, + 0x6139D72850520D1C, + 0x6A85A80C18EC78F1, + 0xCD11F88E0171059A, + 0xCCEFF53E7CA29140, + 0xD229639F2315AF19, + 0x90B91EF9EF507434, + 0x5977D28D074A1BE1, + 0x311360FCE51D56B9, + 0xC093A92D5A1F2F91, + 0x1A19A25BB6DC5416, + 0xEB996B8A09DE2D3E, + 0xFEE3820F1ED7668A, + 0xD7085AD5B7AD518C, + 0x7FFF41890FE53345, + 0xEC5948BD67DDE602, + 0x2FD5F65DBAAA68E0, + 0xA5754AFFE32648C2, + 0xF8DDAC880D07396C, + 0x6FA491468C548664, + 0x0C7C5C1326BDBED1, + 0x4A33158F03930FB3, + 0x699ABFC19F84D982, + 0xE4FA2054A80B329C, + 0x6707F9AF438252FA, + 0x08A368E9CFD6D49E, + 0x47B1442C58FD25B8, + 0xBBB3DC5EBC91769B, + 0x1665FE489061EAC7, + 0x33F27A811FA66310, + 0x93A609346838D547, + 0x30ED6D4C98CEC263, + 0x1DD9816CD8DF9F2A, + 0x94662A03063B1E7B, + 0x83FDD9FBEB896066, + 0x7B207573E68E590A, + 0x5F49FC0A149A4407, + 0x343259B671A5A82C, + 0xFBC2BB458A6F981F, + 0xC272B350A0A41A38, + 0x3AAF1FD8ADA32354, + 0x6CBB868B0B3C2717, + 0xA2B569C88D2583FE, + 0xF180C9D1BF027928, + 0xAF37386BD64BA9F5, + 0x12BACAB2790A8088, + 0x4C0D3B0810435055, + 0xB2EEB9070E9436DF, + 0xC5B29067CEA7D104, + 0xDCB425F1FF132461, + 0x4F122CC5972BF126, + 0xAC282FA651230886, + 0xE7E537992F6393EF, + 0xE61B3A2952B00735, + 0x709C0A57AE302CE7, + 0xE02514AE416058D3, + 0xC44C9DD7B37445DE, + 0x5A68C5408022BA92, + 0x1C278CDCA50C0BF0, + 0x6E5A9CF6F18712BE, + 0x86DCE0B17F319EF3, + 0x2D34EC2040115D49, + 0x4BCD183F7E409B69, + 0x2815D56AD4A9A3DC, + 0x24698979F2141D0D, + 0x0000000000000000, + 0x1EC696A15FB73E59, + 0xD86B110B16784E2E, + 0x8E7F8858B0E74A6D, + 0x063E2E8713D05FE6, + 0xE2C40ED3BBDB6D7A, + 0xB1F1AECA89FC97AC, + 0xE1DB191E3CB3CC09, + 0x6418EE62C4EAF389, + 0xC6AD87AA49CF7077, + 0xD6F65765CA7EC556, + 0x9AFB6C6DDA3D9503, + 0x7CE05644888D9236, + 0x8D609F95378FEB1E, + 0x23A9AA4E9C17D631, + 0x6226C0E5D73AAC6F, + 0x56149953A69F0443, + 0xEEB852C09D66D3AB, + 0x2B0AC2A753C102AF, + 0x07C023376E03CB3C, + 0x2CCAE1903DC2C993, + 0xD3D76E2F5EC63BC3, + 0x9E2458973356FF4C, + 0xA66A5D32644EE9B1, + 0x0A427294356DE137, + 0x783F62BE61E6F879, + 0x1344C70204D91452, + 0x5B96C8F0FDF12E48, + 0xA90916ECC59BF613, + 0xBE92E5142829880E, + 0x727D102A548B194E, + 0x1BE7AFEBCB0FC0CC, + 0x3E702B2244C8491B, + 0xD5E940A84D166425, + 0x66F9F41F3E51C620, + 0xABE80C913F20C3BA, + 0xF07EC461C2D1EDF2, + 0xF361D3AC45B94C81, + 0x0521394A94B8FE95, + 0xADD622162CF09C5C, + 0xE97871F7F3651897, + 0xF4A1F09B2BBA87BD, + 0x095D6559B2054044, + 0x0BBC7F2448BE75ED, + 0x2AF4CF172E129675, + 0x157AE98517094BB4, + 0x9FDA55274E856B96, + 0x914713499283E0EE, + 0xB952C623462A4332, + 0x74433EAD475B46A8, + 0x8B5EB112245FB4F8, + 0xA34B6478F0F61724, + 0x11A5DD7FFE6221FB, + 0xC16DA49D27CCBB4B, + 0x76A224D0BDE07301, + 0x8AA0BCA2598C2022, + 0x4DF336B86D90C48F, + 0xEA67663A740DB9E4, + 0xEF465F70E0B54771, + 0x39B008152ACB8227, + 0x7D1E5BF4F55E06EC, + 0x105BD0CF83B1B521, + 0x775C2960C033E7DB, + 0x7E014C397236A79F, + 0x811CC386113255CF, + 0xEDA7450D1A0E72D8, + 0x5889DF3D7A998F3B, + 0x2E2BFBEDC779FC3A, + 0xCE0EEF438619A4E9, + 0x372D4E7BF6CD095F, + 0x04DF34FAE96B6A4F, + 0xF923A13870D4ADB6, + 0xA1AA7E050A4D228D, + 0xA8F71B5CB84862C9, + 0xB52E9A306097FDE3, + 0x0D8251A35B6E2A0B, + 0x2257A7FEE1C442EB, + 0x73831D9A29588D94, + 0x51D4BA64C89CCF7F, + 0x502AB7D4B54F5BA5, + 0x97793DCE8153BF08, + 0xE5042DE4D5D8A646, + 0x9687307EFC802BD2, + 0xA05473B5779EB657, + 0xB4D097801D446939, + 0xCFF0E2F3FBCA3033, + 0xC38CBEE0DD778EE2, + 0x464F499C252EB162, + 0xCAD1DBB96F72CEA6, + 0xBA4DD1EEC142E241, + 0xB00FA37AF42F0376, + ], + [ + 0xCCE4CD3AA968B245, + 0x089D5484E80B7FAF, + 0x638246C1B3548304, + 0xD2FE0EC8C2355492, + 0xA7FBDF7FF2374EEE, + 0x4DF1600C92337A16, + 0x84E503EA523B12FB, + 0x0790BBFD53AB0C4A, + 0x198A780F38F6EA9D, + 0x2AB30C8F55EC48CB, + 0xE0F7FED6B2C49DB5, + 0xB6ECF3F422CADBDC, + 0x409C9A541358DF11, + 0xD3CE8A56DFDE3FE3, + 0xC3E9224312C8C1A0, + 0x0D6DFA58816BA507, + 0xDDF3E1B179952777, + 0x04C02A42748BB1D9, + 0x94C2ABFF9F2DECB8, + 0x4F91752DA8F8ACF4, + 0x78682BEFB169BF7B, + 0xE1C77A48AF2FF6C4, + 0x0C5D7EC69C80CE76, + 0x4CC1E4928FD81167, + 0xFEED3D24D9997B62, + 0x518BB6DFC3A54A23, + 0x6DBF2D26151F9B90, + 0xB5BC624B05EA664F, + 0xE86AAA525ACFE21A, + 0x4801CED0FB53A0BE, + 0xC91463E6C00868ED, + 0x1027A815CD16FE43, + 0xF67069A0319204CD, + 0xB04CCC976C8ABCE7, + 0xC0B9B3FC35E87C33, + 0xF380C77C58F2DE65, + 0x50BB3241DE4E2152, + 0xDF93F490435EF195, + 0xF1E0D25D62390887, + 0xAF668BFB1A3C3141, + 0xBC11B251F00A7291, + 0x73A5EED47E427D47, + 0x25BEE3F6EE4C3B2E, + 0x43CC0BEB34786282, + 0xC824E778DDE3039C, + 0xF97D86D98A327728, + 0xF2B043E24519B514, + 0xE297EBF7880F4B57, + 0x3A94A49A98FAB688, + 0x868516CB68F0C419, + 0xEFFA11AF0964EE50, + 0xA4AB4EC0D517F37D, + 0xA9C6B498547C567A, + 0x8E18424F80FBBBB6, + 0x0BCDC53BCF2BC23C, + 0x137739AAEA3643D0, + 0x2C1333EC1BAC2FF0, + 0x8D48D3F0A7DB0625, + 0x1E1AC3F26B5DE6D7, + 0xF520F81F16B2B95E, + 0x9F0F6EC450062E84, + 0x0130849E1DEB6B71, + 0xD45E31AB8C7533A9, + 0x652279A2FD14E43F, + 0x3209F01E70F1C927, + 0xBE71A770CAC1A473, + 0x0E3D6BE7A64B1894, + 0x7EC8148CFF29D840, + 0xCB7476C7FAC3BE0F, + 0x72956A4A63A91636, + 0x37F95EC21991138F, + 0x9E3FEA5A4DED45F5, + 0x7B38BA50964902E8, + 0x222E580BBDE73764, + 0x61E253E0899F55E6, + 0xFC8D2805E352AD80, + 0x35994BE3235AC56D, + 0x09ADD01AF5E014DE, + 0x5E8659A6780539C6, + 0xB17C48097161D796, + 0x026015213ACBD6E2, + 0xD1AE9F77E515E901, + 0xB7DC776A3F21B0AD, + 0xABA6A1B96EB78098, + 0x9BCF4486248D9F5D, + 0x582666C536455EFD, + 0xFDBDAC9BFEB9C6F1, + 0xC47999BE4163CDEA, + 0x765540081722A7EF, + 0x3E548ED8EC710751, + 0x3D041F67CB51BAC2, + 0x7958AF71AC82D40A, + 0x36C9DA5C047A78FE, + 0xED9A048E33AF38B2, + 0x26EE7249C96C86BD, + 0x900281BDEBA65D61, + 0x11172C8BD0FD9532, + 0xEA0ABF73600434F8, + 0x42FC8F75299309F3, + 0x34A9CF7D3EB1AE1C, + 0x2B838811480723BA, + 0x5CE64C8742CEEF24, + 0x1ADAE9B01FD6570E, + 0x3C349BF9D6BAD1B3, + 0x82453C891C7B75C0, + 0x97923A40B80D512B, + 0x4A61DBF1C198765C, + 0xB48CE6D518010D3E, + 0xCFB45C858E480FD6, + 0xD933CBF30D1E96AE, + 0xD70EA014AB558E3A, + 0xC189376228031742, + 0x9262949CD16D8B83, + 0xEB3A3BED7DEF5F89, + 0x49314A4EE6B8CBCF, + 0xDCC3652F647E4C06, + 0xDA635A4C2A3E2B3D, + 0x470C21A940F3D35B, + 0x315961A157D174B4, + 0x6672E81DDA3459AC, + 0x5B76F77A1165E36E, + 0x445CB01667D36EC8, + 0xC5491D205C88A69B, + 0x456C34887A3805B9, + 0xFFDDB9BAC4721013, + 0x99AF51A71E4649BF, + 0xA15BE01CBC7729D5, + 0x52DB2760E485F7B0, + 0x8C78576EBA306D54, + 0xAE560F6507D75A30, + 0x95F22F6182C687C9, + 0x71C5FBF54489ABA5, + 0xCA44F259E728D57E, + 0x88B87D2CCEBBDC8D, + 0xBAB18D32BE4A15AA, + 0x8BE8EC93E99B611E, + 0x17B713E89EBDF209, + 0xB31C5D284BAA0174, + 0xEECA9531148F8521, + 0xB8D198138481C348, + 0x8988F9B2D350B7FC, + 0xB9E11C8D996AA839, + 0x5A4673E40C8E881F, + 0x1687977683569978, + 0xBF4123EED72ACF02, + 0x4EA1F1B3B513C785, + 0xE767452BE16F91FF, + 0x7505D1B730021A7C, + 0xA59BCA5EC8FC980C, + 0xAD069EDA20F7E7A3, + 0x38F4B1BBA231606A, + 0x60D2D77E94743E97, + 0x9AFFC0183966F42C, + 0x248E6768F3A7505F, + 0xCDD449A4B483D934, + 0x87B59255751BAF68, + 0x1BEA6D2E023D3C7F, + 0x6B1F12455B5FFCAB, + 0x743555292DE9710D, + 0xD8034F6D10F5FDDF, + 0xC6198C9F7BA81B08, + 0xBB8109ACA3A17EDB, + 0xFA2D1766AD12CABB, + 0xC729080166437079, + 0x9C5FFF7B77269317, + 0x0000000000000000, + 0x15D706C9A47624EB, + 0x6FDF38072FD44D72, + 0x5FB6DD3865EE52B7, + 0xA33BF53D86BCFF37, + 0xE657C1B5FC84FA8E, + 0xAA962527735CEBE9, + 0x39C43525BFDA0B1B, + 0x204E4D2A872CE186, + 0x7A083ECE8BA26999, + 0x554B9C9DB72EFBFA, + 0xB22CD9B656416A05, + 0x96A2BEDEA5E63A5A, + 0x802529A826B0A322, + 0x8115AD363B5BC853, + 0x8375B81701901EB1, + 0x3069E53F4A3A1FC5, + 0xBD2136CFEDE119E0, + 0x18BAFC91251D81EC, + 0x1D4A524D4C7D5B44, + 0x05F0AEDC6960DAA8, + 0x29E39D3072CCF558, + 0x70F57F6B5962C0D4, + 0x989FD53903AD22CE, + 0xF84D024797D91C59, + 0x547B1803AAC5908B, + 0xF0D056C37FD263F6, + 0xD56EB535919E58D8, + 0x1C7AD6D351963035, + 0x2E7326CD2167F912, + 0xAC361A443D1C8CD2, + 0x697F076461942A49, + 0x4B515F6FDC731D2D, + 0x8AD8680DF4700A6F, + 0x41AC1ECA0EB3B460, + 0x7D988533D80965D3, + 0xA8F6300649973D0B, + 0x7765C4960AC9CC9E, + 0x7CA801ADC5E20EA2, + 0xDEA3700E5EB59AE4, + 0xA06B6482A19C42A4, + 0x6A2F96DB46B497DA, + 0x27DEF6D7D487EDCC, + 0x463CA5375D18B82A, + 0xA6CB5BE1EFDC259F, + 0x53EBA3FEF96E9CC1, + 0xCE84D81B93A364A7, + 0xF4107C810B59D22F, + 0x333974806D1AA256, + 0x0F0DEF79BBA073E5, + 0x231EDC95A00C5C15, + 0xE437D494C64F2C6C, + 0x91320523F64D3610, + 0x67426C83C7DF32DD, + 0x6EEFBC99323F2603, + 0x9D6F7BE56ACDF866, + 0x5916E25B2BAE358C, + 0x7FF89012E2C2B331, + 0x035091BF2720BD93, + 0x561B0D22900E4669, + 0x28D319AE6F279E29, + 0x2F43A2533C8C9263, + 0xD09E1BE9F8FE8270, + 0xF740ED3E2C796FBC, + 0xDB53DED237D5404C, + 0x62B2C25FAEBFE875, + 0x0AFD41A5D2C0A94D, + 0x6412FD3CE0FF8F4E, + 0xE3A76F6995E42026, + 0x6C8FA9B808F4F0E1, + 0xC2D9A6DD0F23AAD1, + 0x8F28C6D19D10D0C7, + 0x85D587744FD0798A, + 0xA20B71A39B579446, + 0x684F83FA7C7F4138, + 0xE507500ADBA4471D, + 0x3F640A46F19A6C20, + 0x1247BD34F7DD28A1, + 0x2D23B77206474481, + 0x93521002CC86E0F2, + 0x572B89BC8DE52D18, + 0xFB1D93F8B0F9A1CA, + 0xE95A2ECC4724896B, + 0x3BA420048511DDF9, + 0xD63E248AB6BEE54B, + 0x5DD6C8195F258455, + 0x06A03F634E40673B, + 0x1F2A476C76B68DA6, + 0x217EC9B49AC78AF7, + 0xECAA80102E4453C3, + 0x14E78257B99D4F9A, + ], + [ + 0x20329B2CC87BBA05, + 0x4F5EB6F86546A531, + 0xD4F44775F751B6B1, + 0x8266A47B850DFA8B, + 0xBB986AA15A6CA985, + 0xC979EB08F9AE0F99, + 0x2DA6F447A2375EA1, + 0x1E74275DCD7D8576, + 0xBC20180A800BC5F8, + 0xB4A2F701B2DC65BE, + 0xE726946F981B6D66, + 0x48E6C453BF21C94C, + 0x42CAD9930F0A4195, + 0xEFA47B64AACCCD20, + 0x71180A8960409A42, + 0x8BB3329BF6A44E0C, + 0xD34C35DE2D36DACC, + 0xA92F5B7CBC23DC96, + 0xB31A85AA68BB09C3, + 0x13E04836A73161D2, + 0xB24DFC4129C51D02, + 0x8AE44B70B7DA5ACD, + 0xE671ED84D96579A7, + 0xA4BB3417D66F3832, + 0x4572AB38D56D2DE8, + 0xB1B47761EA47215C, + 0xE81C09CF70ABA15D, + 0xFFBDB872CE7F90AC, + 0xA8782297FD5DC857, + 0x0D946F6B6A4CE4A4, + 0xE4DF1F4F5B995138, + 0x9EBC71EDCA8C5762, + 0x0A2C1DC0B02B88D9, + 0x3B503C115D9D7B91, + 0xC64376A8111EC3A2, + 0xCEC199A323C963E4, + 0xDC76A87EC58616F7, + 0x09D596E073A9B487, + 0x14583A9D7D560DAF, + 0xF4C6DC593F2A0CB4, + 0xDD21D19584F80236, + 0x4A4836983DDDE1D3, + 0xE58866A41AE745F9, + 0xF591A5B27E541875, + 0x891DC05074586693, + 0x5B068C651810A89E, + 0xA30346BC0C08544F, + 0x3DBF3751C684032D, + 0x2A1E86EC785032DC, + 0xF73F5779FCA830EA, + 0xB60C05CA30204D21, + 0x0CC316802B32F065, + 0x8770241BDD96BE69, + 0xB861E18199EE95DB, + 0xF805CAD91418FCD1, + 0x29E70DCCBBD20E82, + 0xC7140F435060D763, + 0x0F3A9DA0E8B0CC3B, + 0xA2543F574D76408E, + 0xBD7761E1C175D139, + 0x4B1F4F737CA3F512, + 0x6DC2DF1F2FC137AB, + 0xF1D05C3967B14856, + 0xA742BF3715ED046C, + 0x654030141D1697ED, + 0x07B872ABDA676C7D, + 0x3CE84EBA87FA17EC, + 0xC1FB0403CB79AFDF, + 0x3E46BC7105063F73, + 0x278AE987121CD678, + 0xA1ADB4778EF47CD0, + 0x26DD906C5362C2B9, + 0x05168060589B44E2, + 0xFBFC41F9D79AC08F, + 0x0E6DE44BA9CED8FA, + 0x9FEB08068BF243A3, + 0x7B341749D06B129B, + 0x229C69E74A87929A, + 0xE09EE6C4427C011B, + 0x5692E30E725C4C3A, + 0xDA99A33E5E9F6E4B, + 0x353DD85AF453A36B, + 0x25241B4C90E0FEE7, + 0x5DE987258309D022, + 0xE230140FC0802984, + 0x93281E86A0C0B3C6, + 0xF229D719A4337408, + 0x6F6C2DD4AD3D1F34, + 0x8EA5B2FBAE3F0AEE, + 0x8331DD90C473EE4A, + 0x346AA1B1B52DB7AA, + 0xDF8F235E06042AA9, + 0xCC6F6B68A1354B7B, + 0x6C95A6F46EBF236A, + 0x52D31A856BB91C19, + 0x1A35DED6D498D555, + 0xF37EAEF2E54D60C9, + 0x72E181A9A3C2A61C, + 0x98537AAD51952FDE, + 0x16F6C856FFAA2530, + 0xD960281E9D1D5215, + 0x3A0745FA1CE36F50, + 0x0B7B642BF1559C18, + 0x59A87EAE9AEC8001, + 0x5E100C05408BEC7C, + 0x0441F98B19E55023, + 0xD70DCC5534D38AEF, + 0x927F676DE1BEA707, + 0x9769E70DB925E3E5, + 0x7A636EA29115065A, + 0x468B201816EF11B6, + 0xAB81A9B73EDFF409, + 0xC0AC7DE88A07BB1E, + 0x1F235EB68C0391B7, + 0x6056B074458DD30F, + 0xBE8EEAC102F7ED67, + 0xCD381283E04B5FBA, + 0x5CBEFECEC277C4E3, + 0xD21B4C356C48CE0D, + 0x1019C31664B35D8C, + 0x247362A7D19EEA26, + 0xEBE582EFB3299D03, + 0x02AEF2CB82FC289F, + 0x86275DF09CE8AAA8, + 0x28B07427FAAC1A43, + 0x38A9B7319E1F47CF, + 0xC82E92E3B8D01B58, + 0x06EF0B409B1978BC, + 0x62F842BFC771FB90, + 0x9904034610EB3B1F, + 0xDED85AB5477A3E68, + 0x90D195A663428F98, + 0x5384636E2AC708D8, + 0xCBD719C37B522706, + 0xAE9729D76644B0EB, + 0x7C8C65E20A0C7EE6, + 0x80C856B007F1D214, + 0x8C0B40302CC32271, + 0xDBCEDAD51FE17A8A, + 0x740E8AE938DBDEA0, + 0xA615C6DC549310AD, + 0x19CC55F6171AE90B, + 0x49B1BDB8FE5FDD8D, + 0xED0A89AF2830E5BF, + 0x6A7AADB4F5A65BD6, + 0x7E22972988F05679, + 0xF952B3325566E810, + 0x39FECEDADF61530E, + 0x6101C99F04F3C7CE, + 0x2E5F7F6761B562FF, + 0xF08725D226CF5C97, + 0x63AF3B54860FEF51, + 0x8FF2CB10EF411E2F, + 0x884AB9BB35267252, + 0x4DF04433E7BA8DAE, + 0x9AFD8866D3690741, + 0x66B9BB34DE94ABB3, + 0x9BAAF18D92171380, + 0x543C11C5F0A064A5, + 0x17A1B1BDBED431F1, + 0xB5F58EEAF3A2717F, + 0xC355F6C849858740, + 0xEC5DF044694EF17E, + 0xD83751F5DC6346D4, + 0xFC4433520DFDACF2, + 0x0000000000000000, + 0x5A51F58E596EBC5F, + 0x3285AAF12E34CF16, + 0x8D5C39DB6DBD36B0, + 0x12B731DDE64F7513, + 0x94906C2D7AA7DFBB, + 0x302B583AACC8E789, + 0x9D45FACD090E6B3C, + 0x2165E2C78905AEC4, + 0x68D45F7F775A7349, + 0x189B2C1D5664FDCA, + 0xE1C99F2F030215DA, + 0x6983269436246788, + 0x8489AF3B1E148237, + 0xE94B702431D5B59C, + 0x33D2D31A6F4ADBD7, + 0xBFD9932A4389F9A6, + 0xB0E30E8AAB39359D, + 0xD1E2C715AFCAF253, + 0x150F43763C28196E, + 0xC4ED846393E2EB3D, + 0x03F98B20C3823C5E, + 0xFD134AB94C83B833, + 0x556B682EB1DE7064, + 0x36C4537A37D19F35, + 0x7559F30279A5CA61, + 0x799AE58252973A04, + 0x9C12832648707FFD, + 0x78CD9C6913E92EC5, + 0x1D8DAC7D0EFFB928, + 0x439DA0784E745554, + 0x413352B3CC887DCB, + 0xBACF134A1B12BD44, + 0x114EBAFD25CD494D, + 0x2F08068C20CB763E, + 0x76A07822BA27F63F, + 0xEAB2FB04F25789C2, + 0xE3676DE481FE3D45, + 0x1B62A73D95E6C194, + 0x641749FF5C68832C, + 0xA5EC4DFC97112CF3, + 0xF6682E92BDD6242B, + 0x3F11C59A44782BB2, + 0x317C21D1EDB6F348, + 0xD65AB5BE75AD9E2E, + 0x6B2DD45FB4D84F17, + 0xFAAB381296E4D44E, + 0xD0B5BEFEEEB4E692, + 0x0882EF0B32D7A046, + 0x512A91A5A83B2047, + 0x963E9EE6F85BF724, + 0x4E09CF132438B1F0, + 0x77F701C9FB59E2FE, + 0x7DDB1C094B726A27, + 0x5F4775EE01F5F8BD, + 0x9186EC4D223C9B59, + 0xFEEAC1998F01846D, + 0xAC39DB1CE4B89874, + 0xB75B7C21715E59E0, + 0xAFC0503C273AA42A, + 0x6E3B543FEC430BF5, + 0x704F7362213E8E83, + 0x58FF0745DB9294C0, + 0x67EEC2DF9FEABF72, + 0xA0FACD9CCF8A6811, + 0xB936986AD890811A, + 0x95C715C63BD9CB7A, + 0xCA8060283A2C33C7, + 0x507DE84EE9453486, + 0x85DED6D05F6A96F6, + 0x1CDAD5964F81ADE9, + 0xD5A33E9EB62FA270, + 0x40642B588DF6690A, + 0x7F75EEC2C98E42B8, + 0x2CF18DACE3494A60, + 0x23CB100C0BF9865B, + 0xEEF3028FEBB2D9E1, + 0x4425D2D394133929, + 0xAAD6D05C7FA1E0C8, + 0xAD6EA2F7A5C68CB5, + 0xC2028F2308FB9381, + 0x819F2F5B468FC6D5, + 0xC5BAFD88D29CFFFC, + 0x47DC59F357910577, + 0x2B49FF07392E261D, + 0x57C59AE5332258FB, + 0x73B6F842E2BCB2DD, + 0xCF96E04862B77725, + 0x4CA73DD8A6C4996F, + 0x015779EB417E14C1, + 0x37932A9176AF8BF4, + ], + [ + 0x190A2C9B249DF23E, + 0x2F62F8B62263E1E9, + 0x7A7F754740993655, + 0x330B7BA4D5564D9F, + 0x4C17A16A46672582, + 0xB22F08EB7D05F5B8, + 0x535F47F40BC148CC, + 0x3AEC5D27D4883037, + 0x10ED0A1825438F96, + 0x516101F72C233D17, + 0x13CC6F949FD04EAE, + 0x739853C441474BFD, + 0x653793D90D3F5B1B, + 0x5240647B96B0FC2F, + 0x0C84890AD27623E0, + 0xD7189B32703AAEA3, + 0x2685DE3523BD9C41, + 0x99317C5B11BFFEFA, + 0x0D9BAA854F079703, + 0x70B93648FBD48AC5, + 0xA80441FCE30BC6BE, + 0x7287704BDC36FF1E, + 0xB65384ED33DC1F13, + 0xD36417343EE34408, + 0x39CD38AB6E1BF10F, + 0x5AB861770A1F3564, + 0x0EBACF09F594563B, + 0xD04572B884708530, + 0x3CAE9722BDB3AF47, + 0x4A556B6F2F5CBAF2, + 0xE1704F1F76C4BD74, + 0x5EC4ED7144C6DFCF, + 0x16AFC01D4C7810E6, + 0x283F113CD629CA7A, + 0xAF59A8761741ED2D, + 0xEED5A3991E215FAC, + 0x3BF37EA849F984D4, + 0xE413E096A56CE33C, + 0x2C439D3A98F020D1, + 0x637559DC6404C46B, + 0x9E6C95D1E5F5D569, + 0x24BB9836045FE99A, + 0x44EFA466DAC8ECC9, + 0xC6EAB2A5C80895D6, + 0x803B50C035220CC4, + 0x0321658CBA93C138, + 0x8F9EBC465DC7EE1C, + 0xD15A5137190131D3, + 0x0FA5EC8668E5E2D8, + 0x91C979578D1037B1, + 0x0642CA05693B9F70, + 0xEFCA80168350EB4F, + 0x38D21B24F36A45EC, + 0xBEAB81E1AF73D658, + 0x8CBFD9CAE7542F24, + 0xFD19CC0D81F11102, + 0x0AC6430FBB4DBC90, + 0x1D76A09D6A441895, + 0x2A01573FF1CBBFA1, + 0xB572E161894FDE2B, + 0x8124734FA853B827, + 0x614B1FDF43E6B1B0, + 0x68AC395C4238CC18, + 0x21D837BFD7F7B7D2, + 0x20C714304A860331, + 0x5CFAAB726324AA14, + 0x74C5BA4EB50D606E, + 0xF3A3030474654739, + 0x23E671BCF015C209, + 0x45F087E947B9582A, + 0xD8BD77B418DF4C7B, + 0xE06F6C90EBB50997, + 0x0BD96080263C0873, + 0x7E03F9410E40DCFE, + 0xB8E94BE4C6484928, + 0xFB5B0608E8CA8E72, + 0x1A2B49179E0E3306, + 0x4E29E76961855059, + 0x4F36C4E6FCF4E4BA, + 0x49740EE395CF7BCA, + 0xC2963EA386D17F7D, + 0x90D65AD810618352, + 0x12D34C1B02A1FA4D, + 0xFA44258775BB3A91, + 0x18150F14B9EC46DD, + 0x1491861E6B9A653D, + 0x9A1019D7AB2C3FC2, + 0x3668D42D06FE13D7, + 0xDCC1FBB25606A6D0, + 0x969490DD795A1C22, + 0x3549B1A1BC6DD2EF, + 0xC94F5E23A0ED770E, + 0xB9F6686B5B39FDCB, + 0xC4D4F4A6EFEAE00D, + 0xE732851A1FFF2204, + 0x94AAD6DE5EB869F9, + 0x3F8FF2AE07206E7F, + 0xFE38A9813B62D03A, + 0xA7A1AD7A8BEE2466, + 0x7B6056C8DDE882B6, + 0x302A1E286FC58CA7, + 0x8DA0FA457A259BC7, + 0xB3302B64E074415B, + 0x5402AE7EFF8B635F, + 0x08F8050C9CAFC94B, + 0xAE468BF98A3059CE, + 0x88C355CCA98DC58F, + 0xB10E6D67C7963480, + 0xBAD70DE7E1AA3CF3, + 0xBFB4A26E320262BB, + 0xCB711820870F02D5, + 0xCE12B7A954A75C9D, + 0x563CE87DD8691684, + 0x9F73B65E7884618A, + 0x2B1E74B06CBA0B42, + 0x47CEC1EA605B2DF1, + 0x1C698312F735AC76, + 0x5FDBCEFED9B76B2C, + 0x831A354C8FB1CDFC, + 0x820516C312C0791F, + 0xB74CA762AEADABF0, + 0xFC06EF821C80A5E1, + 0x5723CBF24518A267, + 0x9D4DF05D5F661451, + 0x588627742DFD40BF, + 0xDA8331B73F3D39A0, + 0x17B0E392D109A405, + 0xF965400BCF28FBA9, + 0x7C3DBF4229A2A925, + 0x023E460327E275DB, + 0x6CD0B55A0CE126B3, + 0xE62DA695828E96E7, + 0x42AD6E63B3F373B9, + 0xE50CC319381D57DF, + 0xC5CBD729729B54EE, + 0x46D1E265FD2A9912, + 0x6428B056904EEFF8, + 0x8BE23040131E04B7, + 0x6709D5DA2ADD2EC0, + 0x075DE98AF44A2B93, + 0x8447DCC67BFBE66F, + 0x6616F655B7AC9A23, + 0xD607B8BDED4B1A40, + 0x0563AF89D3A85E48, + 0x3DB1B4AD20C21BA4, + 0x11F22997B8323B75, + 0x292032B34B587E99, + 0x7F1CDACE9331681D, + 0x8E819FC9C0B65AFF, + 0xA1E3677FE2D5BB16, + 0xCD33D225EE349DA5, + 0xD9A2543B85AEF898, + 0x795E10CBFA0AF76D, + 0x25A4BBB9992E5D79, + 0x78413344677B438E, + 0xF0826688CEF68601, + 0xD27B34BBA392F0EB, + 0x551D8DF162FAD7BC, + 0x1E57C511D0D7D9AD, + 0xDEFFBDB171E4D30B, + 0xF4FEEA8E802F6CAA, + 0xA480C8F6317DE55E, + 0xA0FC44F07FA40FF5, + 0x95B5F551C3C9DD1A, + 0x22F952336D6476EA, + 0x0000000000000000, + 0xA6BE8EF5169F9085, + 0xCC2CF1AA73452946, + 0x2E7DDB39BF12550A, + 0xD526DD3157D8DB78, + 0x486B2D6C08BECF29, + 0x9B0F3A58365D8B21, + 0xAC78CDFAADD22C15, + 0xBC95C7E28891A383, + 0x6A927F5F65DAB9C3, + 0xC3891D2C1BA0CB9E, + 0xEAA92F9F50F8B507, + 0xCF0D9426C9D6E87E, + 0xCA6E3BAF1A7EB636, + 0xAB25247059980786, + 0x69B31AD3DF4978FB, + 0xE2512A93CC577C4C, + 0xFF278A0EA61364D9, + 0x71A615C766A53E26, + 0x89DC764334FC716C, + 0xF87A638452594F4A, + 0xF2BC208BE914F3DA, + 0x8766B94AC1682757, + 0xBBC82E687CDB8810, + 0x626A7A53F9757088, + 0xA2C202F358467A2E, + 0x4D0882E5DB169161, + 0x09E7268301DE7DA8, + 0xE897699C771AC0DC, + 0xC8507DAC3D9CC3ED, + 0xC0A878A0A1330AA6, + 0x978BB352E42BA8C1, + 0xE9884A13EA6B743F, + 0x279AFDBABECC28A2, + 0x047C8C064ED9EAAB, + 0x507E2278B15289F4, + 0x599904FBB08CF45C, + 0xBD8AE46D15E01760, + 0x31353DA7F2B43844, + 0x8558FF49E68A528C, + 0x76FBFC4D92EF15B5, + 0x3456922E211C660C, + 0x86799AC55C1993B4, + 0x3E90D1219A51DA9C, + 0x2D5CBEB505819432, + 0x982E5FD48CCE4A19, + 0xDB9C1238A24C8D43, + 0xD439FEBECAA96F9B, + 0x418C0BEF0960B281, + 0x158EA591F6EBD1DE, + 0x1F48E69E4DA66D4E, + 0x8AFD13CF8E6FB054, + 0xF5E1C9011D5ED849, + 0xE34E091C5126C8AF, + 0xAD67EE7530A398F6, + 0x43B24DEC2E82C75A, + 0x75DA99C1287CD48D, + 0x92E81CDB3783F689, + 0xA3DD217CC537CECD, + 0x60543C50DE970553, + 0x93F73F54AAF2426A, + 0xA91B62737E7A725D, + 0xF19D4507538732E2, + 0x77E4DFC20F9EA156, + 0x7D229CCDB4D31DC6, + 0x1B346A98037F87E5, + 0xEDF4C615A4B29E94, + 0x4093286094110662, + 0xB0114EE85AE78063, + 0x6FF1D0D6B672E78B, + 0x6DCF96D591909250, + 0xDFE09E3EEC9567E8, + 0x3214582B4827F97C, + 0xB46DC2EE143E6AC8, + 0xF6C0AC8DA7CD1971, + 0xEBB60C10CD8901E4, + 0xF7DF8F023ABCAD92, + 0x9C52D3D2C217A0B2, + 0x6B8D5CD0F8AB0D20, + 0x3777F7A29B8FA734, + 0x011F238F9D71B4E3, + 0xC1B75B2F3C42BE45, + 0x5DE588FDFE551EF7, + 0x6EEEF3592B035368, + 0xAA3A07FFC4E9B365, + 0xECEBE59A39C32A77, + 0x5BA742F8976E8187, + 0x4B4A48E0B22D0E11, + 0xDDDED83DCB771233, + 0xA59FEB79AC0C51BD, + 0xC7F5912A55792135, + ], + [ + 0x6D6AE04668A9B08A, + 0x3AB3F04B0BE8C743, + 0xE51E166B54B3C908, + 0xBE90A9EB35C2F139, + 0xB2C7066637F2BEC1, + 0xAA6945613392202C, + 0x9A28C36F3B5201EB, + 0xDDCE5A93AB536994, + 0x0E34133EF6382827, + 0x52A02BA1EC55048B, + 0xA2F88F97C4B2A177, + 0x8640E513CA2251A5, + 0xCDF1D36258137622, + 0xFE6CB708DEDF8DDB, + 0x8A174A9EC8121E5D, + 0x679896036B81560E, + 0x59ED033395795FEE, + 0x1DD778AB8B74EDAF, + 0xEE533EF92D9F926D, + 0x2A8C79BAF8A8D8F5, + 0x6BCF398E69B119F6, + 0xE20491742FAFDD95, + 0x276488E0809C2AEC, + 0xEA955B82D88F5CCE, + 0x7102C63A99D9E0C4, + 0xF9763017A5C39946, + 0x429FA2501F151B3D, + 0x4659C72BEA05D59E, + 0x984B7FDCCF5A6634, + 0xF742232953FBB161, + 0x3041860E08C021C7, + 0x747BFD9616CD9386, + 0x4BB1367192312787, + 0x1B72A1638A6C44D3, + 0x4A0E68A6E8359A66, + 0x169A5039F258B6CA, + 0xB98A2EF44EDEE5A4, + 0xD9083FE85E43A737, + 0x967F6CE239624E13, + 0x8874F62D3C1A7982, + 0x3C1629830AF06E3F, + 0x9165EBFD427E5A8E, + 0xB5DD81794CEEAA5C, + 0x0DE8F15A7834F219, + 0x70BD98EDE3DD5D25, + 0xACCC9CA9328A8950, + 0x56664EDA1945CA28, + 0x221DB34C0F8859AE, + 0x26DBD637FA98970D, + 0x1ACDFFB4F068F932, + 0x4585254F64090FA0, + 0x72DE245E17D53AFA, + 0x1546B25D7C546CF4, + 0x207E0FFFFB803E71, + 0xFAAAD2732BCF4378, + 0xB462DFAE36EA17BD, + 0xCF926FD1AC1B11FD, + 0xE0672DC7DBA7BA4A, + 0xD3FA49AD5D6B41B3, + 0x8BA81449B216A3BC, + 0x14F9EC8A0650D115, + 0x40FC1EE3EB1D7CE2, + 0x23A2ED9B758CE44F, + 0x782C521B14FDDC7E, + 0x1C68267CF170504E, + 0xBCF31558C1CA96E6, + 0xA781B43B4BA6D235, + 0xF6FD7DFE29FF0C80, + 0xB0A4BAD5C3FAD91E, + 0xD199F51EA963266C, + 0x414340349119C103, + 0x5405F269ED4DADF7, + 0xABD61BB649969DCD, + 0x6813DBEAE7BDC3C8, + 0x65FB2AB09F8931D1, + 0xF1E7FAE152E3181D, + 0xC1A67CEF5A2339DA, + 0x7A4FEEA8E0F5BBA1, + 0x1E0B9ACF05783791, + 0x5B8EBF8061713831, + 0x80E53CDBCB3AF8D9, + 0x7E898BD315E57502, + 0xC6BCFBF0213F2D47, + 0x95A38E86B76E942D, + 0x092E94218D243CBA, + 0x8339DEBF453622E7, + 0xB11BE402B9FE64FF, + 0x57D9100D634177C9, + 0xCC4E8DB52217CBC3, + 0x3B0CAE9C71EC7AA2, + 0xFB158CA451CBFE99, + 0x2B33276D82AC6514, + 0x01BF5ED77A04BDE1, + 0xC5601994AF33F779, + 0x75C4A3416CC92E67, + 0xF3844652A6EB7FC2, + 0x3487E375FDD0EF64, + 0x18AE430704609EED, + 0x4D14EFB993298EFB, + 0x815A620CB13E4538, + 0x125C354207487869, + 0x9EEEA614CE42CF48, + 0xCE2D3106D61FAC1C, + 0xBBE99247BAD6827B, + 0x071A871F7B1C149D, + 0x2E4A1CC10DB81656, + 0x77A71FF298C149B8, + 0x06A5D9C80118A97C, + 0xAD73C27E488E34B1, + 0x443A7B981E0DB241, + 0xE3BBCFA355AB6074, + 0x0AF276450328E684, + 0x73617A896DD1871B, + 0x58525DE4EF7DE20F, + 0xB7BE3DCAB8E6CD83, + 0x19111DD07E64230C, + 0x842359A03E2A367A, + 0x103F89F1F3401FB6, + 0xDC710444D157D475, + 0xB835702334DA5845, + 0x4320FC876511A6DC, + 0xD026ABC9D3679B8D, + 0x17250EEE885C0B2B, + 0x90DAB52A387AE76F, + 0x31FED8D972C49C26, + 0x89CBA8FA461EC463, + 0x2FF5421677BCABB7, + 0x396F122F85E41D7D, + 0xA09B332430BAC6A8, + 0xC888E8CED7070560, + 0xAEAF201AC682EE8F, + 0x1180D7268944A257, + 0xF058A43628E7A5FC, + 0xBD4C4B8FBBCE2B07, + 0xA1246DF34ABE7B49, + 0x7D5569B79BE9AF3C, + 0xA9B5A705BD9EFA12, + 0xDB6B835BAA4BC0E8, + 0x05793BAC8F147342, + 0x21C1512881848390, + 0xFDB0556C50D357E5, + 0x613D4FCB6A99FF72, + 0x03DCE2648E0CDA3E, + 0xE949B9E6568386F0, + 0xFC0F0BBB2AD7EA04, + 0x6A70675913B5A417, + 0x7F36D5046FE1C8E3, + 0x0C57AF8D02304FF8, + 0x32223ABDFCC84618, + 0x0891CAF6F720815B, + 0xA63EEAEC31A26FD4, + 0x2507345374944D33, + 0x49D28AC266394058, + 0xF5219F9AA7F3D6BE, + 0x2D96FEA583B4CC68, + 0x5A31E1571B7585D0, + 0x8ED12FE53D02D0FE, + 0xDFADE6205F5B0E4B, + 0x4CABB16EE92D331A, + 0x04C6657BF510CEA3, + 0xD73C2CD6A87B8F10, + 0xE1D87310A1A307AB, + 0x6CD5BE9112AD0D6B, + 0x97C032354366F3F2, + 0xD4E0CEB22677552E, + 0x0000000000000000, + 0x29509BDE76A402CB, + 0xC27A9E8BD42FE3E4, + 0x5EF7842CEE654B73, + 0xAF107ECDBC86536E, + 0x3FCACBE784FCB401, + 0xD55F90655C73E8CF, + 0xE6C2F40FDABF1336, + 0xE8F6E7312C873B11, + 0xEB2A0555A28BE12F, + 0xE4A148BC2EB774E9, + 0x9B979DB84156BC0A, + 0x6EB60222E6A56AB4, + 0x87FFBBC4B026EC44, + 0xC703A5275B3B90A6, + 0x47E699FC9001687F, + 0x9C8D1AA73A4AA897, + 0x7CEA3760E1ED12DD, + 0x4EC80DDD1D2554C5, + 0x13E36B957D4CC588, + 0x5D2B66486069914D, + 0x92B90999CC7280B0, + 0x517CC9C56259DEB5, + 0xC937B619AD03B881, + 0xEC30824AD997F5B2, + 0xA45D565FC5AA080B, + 0xD6837201D27F32F1, + 0x635EF3789E9198AD, + 0x531F75769651B96A, + 0x4F77530A6721E924, + 0x486DD4151C3DFDB9, + 0x5F48DAFB9461F692, + 0x375B011173DC355A, + 0x3DA9775470F4D3DE, + 0x8D0DCD81B30E0AC0, + 0x36E45FC609D888BB, + 0x55BAACBE97491016, + 0x8CB29356C90AB721, + 0x76184125E2C5F459, + 0x99F4210BB55EDBD5, + 0x6F095CF59CA1D755, + 0x9F51F8C3B44672A9, + 0x3538BDA287D45285, + 0x50C39712185D6354, + 0xF23B1885DCEFC223, + 0x79930CCC6EF9619F, + 0xED8FDC9DA3934853, + 0xCB540AAA590BDF5E, + 0x5C94389F1A6D2CAC, + 0xE77DAAD8A0BBAED7, + 0x28EFC5090CA0BF2A, + 0xBF2FF73C4FC64CD8, + 0xB37858B14DF60320, + 0xF8C96EC0DFC724A7, + 0x828680683F329F06, + 0x941CD051CD6A29CC, + 0xC3C5C05CAE2B5E05, + 0xB601631DC2E27062, + 0xC01922382027843B, + 0x24B86A840E90F0D2, + 0xD245177A276FFC52, + 0x0F8B4DE98C3C95C6, + 0x3E759530FEF809E0, + 0x0B4D2892792C5B65, + 0xC4DF4743D5374A98, + 0xA5E20888BFAEB5EA, + 0xBA56CC90C0D23F9A, + 0x38D04CF8FFE0A09C, + 0x62E1ADAFE495254C, + 0x0263BCB3F40867DF, + 0xCAEB547D230F62BF, + 0x6082111C109D4293, + 0xDAD4DD8CD04F7D09, + 0xEFEC602E579B2F8C, + 0x1FB4C4187F7C8A70, + 0xFFD3E9DFA4DB303A, + 0x7BF0B07F9AF10640, + 0xF49EC14DDDF76B5F, + 0x8F6E713247066D1F, + 0x339D646A86CCFBF9, + 0x64447467E58D8C30, + 0x2C29A072F9B07189, + 0xD8B7613F24471AD6, + 0x6627C8D41185EBEF, + 0xA347D140BEB61C96, + 0xDE12B8F7255FB3AA, + 0x9D324470404E1576, + 0x9306574EB6763D51, + 0xA80AF9D2C79A47F3, + 0x859C0777442E8B9B, + 0x69AC853D9DB97E29, + ], + [ + 0xC3407DFC2DE6377E, + 0x5B9E93EEA4256F77, + 0xADB58FDD50C845E0, + 0x5219FF11A75BED86, + 0x356B61CFD90B1DE9, + 0xFB8F406E25ABE037, + 0x7A5A0231C0F60796, + 0x9D3CD216E1F5020B, + 0x0C6550FB6B48D8F3, + 0xF57508C427FF1C62, + 0x4AD35FFA71CB407D, + 0x6290A2DA1666AA6D, + 0xE284EC2349355F9F, + 0xB3C307C53D7C84EC, + 0x05E23C0468365A02, + 0x190BAC4D6C9EBFA8, + 0x94BBBEE9E28B80FA, + 0xA34FC777529CB9B5, + 0xCC7B39F095BCD978, + 0x2426ADDB0CE532E3, + 0x7E79329312CE4FC7, + 0xAB09A72EEBEC2917, + 0xF8D15499F6B9D6C2, + 0x1A55B8BABF8C895D, + 0xDB8ADD17FB769A85, + 0xB57F2F368658E81B, + 0x8ACD36F18F3F41F6, + 0x5CE3B7BBA50F11D3, + 0x114DCC14D5EE2F0A, + 0xB91A7FCDED1030E8, + 0x81D5425FE55DE7A1, + 0xB6213BC1554ADEEE, + 0x80144EF95F53F5F2, + 0x1E7688186DB4C10C, + 0x3B912965DB5FE1BC, + 0xC281715A97E8252D, + 0x54A5D7E21C7F8171, + 0x4B12535CCBC5522E, + 0x1D289CEFBEA6F7F9, + 0x6EF5F2217D2E729E, + 0xE6A7DC819B0D17CE, + 0x1B94B41C05829B0E, + 0x33D7493C622F711E, + 0xDCF7F942FA5CE421, + 0x600FBA8B7F7A8ECB, + 0x46B60F011A83988E, + 0x235B898E0DCF4C47, + 0x957AB24F588592A9, + 0x4354330572B5C28C, + 0xA5F3EF84E9B8D542, + 0x8C711E02341B2D01, + 0x0B1874AE6A62A657, + 0x1213D8E306FC19FF, + 0xFE6D7C6A4D9DBA35, + 0x65ED868F174CD4C9, + 0x88522EA0E6236550, + 0x899322065C2D7703, + 0xC01E690BFEF4018B, + 0x915982ED8ABDDAF8, + 0xBE675B98EC3A4E4C, + 0xA996BF7F82F00DB1, + 0xE1DAF8D49A27696A, + 0x2EFFD5D3DC8986E7, + 0xD153A51F2B1A2E81, + 0x18CAA0EBD690ADFB, + 0x390E3134B243C51A, + 0x2778B92CDFF70416, + 0x029F1851691C24A6, + 0x5E7CAFEACC133575, + 0xFA4E4CC89FA5F264, + 0x5A5F9F481E2B7D24, + 0x484C47AB18D764DB, + 0x400A27F2A1A7F479, + 0xAEEB9B2A83DA7315, + 0x721C626879869734, + 0x042330A2D2384851, + 0x85F672FD3765AFF0, + 0xBA446B3A3E02061D, + 0x73DD6ECEC3888567, + 0xFFAC70CCF793A866, + 0xDFA9EDB5294ED2D4, + 0x6C6AEA7014325638, + 0x834A5A0E8C41C307, + 0xCDBA35562FB2CB2B, + 0x0AD97808D06CB404, + 0x0F3B440CB85AEE06, + 0xE5F9C876481F213B, + 0x98DEEE1289C35809, + 0x59018BBFCD394BD1, + 0xE01BF47220297B39, + 0xDE68E1139340C087, + 0x9FA3CA4788E926AD, + 0xBB85679C840C144E, + 0x53D8F3B71D55FFD5, + 0x0DA45C5DD146CAA0, + 0x6F34FE87C72060CD, + 0x57FBC315CF6DB784, + 0xCEE421A1FCA0FDDE, + 0x3D2D0196607B8D4B, + 0x642C8A29AD42C69A, + 0x14AFF010BDD87508, + 0xAC74837BEAC657B3, + 0x3216459AD821634D, + 0x3FB219C70967A9ED, + 0x06BC28F3BB246CF7, + 0xF2082C9126D562C6, + 0x66B39278C45EE23C, + 0xBD394F6F3F2878B9, + 0xFD33689D9E8F8CC0, + 0x37F4799EB017394F, + 0x108CC0B26FE03D59, + 0xDA4BD1B1417888D6, + 0xB09D1332EE6EB219, + 0x2F3ED975668794B4, + 0x58C0871977375982, + 0x7561463D78ACE990, + 0x09876CFF037E82F1, + 0x7FB83E35A8C05D94, + 0x26B9B58A65F91645, + 0xEF20B07E9873953F, + 0x3148516D0B3355B8, + 0x41CB2B541BA9E62A, + 0x790416C613E43163, + 0xA011D380818E8F40, + 0x3A5025C36151F3EF, + 0xD57095BDF92266D0, + 0x498D4B0DA2D97688, + 0x8B0C3A57353153A5, + 0x21C491DF64D368E1, + 0x8F2F0AF5E7091BF4, + 0x2DA1C1240F9BB012, + 0xC43D59A92CCC49DA, + 0xBFA6573E56345C1F, + 0x828B56A8364FD154, + 0x9A41F643E0DF7CAF, + 0xBCF843C985266AEA, + 0x2B1DE9D7B4BFDCE5, + 0x20059D79DEDD7AB2, + 0x6DABE6D6AE3C446B, + 0x45E81BF6C991AE7B, + 0x6351AE7CAC68B83E, + 0xA432E32253B6C711, + 0xD092A9B991143CD2, + 0xCAC711032E98B58F, + 0xD8D4C9E02864AC70, + 0xC5FC550F96C25B89, + 0xD7EF8DEC903E4276, + 0x67729EDE7E50F06F, + 0xEAC28C7AF045CF3D, + 0xB15C1F945460A04A, + 0x9CFDDEB05BFB1058, + 0x93C69ABCE3A1FE5E, + 0xEB0380DC4A4BDD6E, + 0xD20DB1E8F8081874, + 0x229A8528B7C15E14, + 0x44291750739FBC28, + 0xD3CCBD4E42060A27, + 0xF62B1C33F4ED2A97, + 0x86A8660AE4779905, + 0xD62E814A2A305025, + 0x477703A7A08D8ADD, + 0x7B9B0E977AF815C5, + 0x78C51A60A9EA2330, + 0xA6ADFB733AAAE3B7, + 0x97E5AA1E3199B60F, + 0x0000000000000000, + 0xF4B404629DF10E31, + 0x5564DB44A6719322, + 0x9207961A59AFEC0D, + 0x9624A6B88B97A45C, + 0x363575380A192B1C, + 0x2C60CD82B595A241, + 0x7D272664C1DC7932, + 0x7142769FAA94A1C1, + 0xA1D0DF263B809D13, + 0x1630E841D4C451AE, + 0xC1DF65AD44FA13D8, + 0x13D2D445BCF20BAC, + 0xD915C546926ABE23, + 0x38CF3D92084DD749, + 0xE766D0272103059D, + 0xC7634D5EFFDE7F2F, + 0x077D2455012A7EA4, + 0xEDBFA82FF16FB199, + 0xAF2A978C39D46146, + 0x42953FA3C8BBD0DF, + 0xCB061DA59496A7DC, + 0x25E7A17DB6EB20B0, + 0x34AA6D6963050FBA, + 0xA76CF7D580A4F1E4, + 0xF7EA10954EE338C4, + 0xFCF2643B24819E93, + 0xCF252D0746AEEF8D, + 0x4EF06F58A3F3082C, + 0x563ACFB37563A5D7, + 0x5086E740CE47C920, + 0x2982F186DDA3F843, + 0x87696AAC5E798B56, + 0x5D22BB1D1F010380, + 0x035E14F7D31236F5, + 0x3CEC0D30DA759F18, + 0xF3C920379CDB7095, + 0xB8DB736B571E22BB, + 0xDD36F5E44052F672, + 0xAAC8AB8851E23B44, + 0xA857B3D938FE1FE2, + 0x17F1E4E76ECA43FD, + 0xEC7EA4894B61A3CA, + 0x9E62C6E132E734FE, + 0xD4B1991B432C7483, + 0x6AD6C283AF163ACF, + 0x1CE9904904A8E5AA, + 0x5FBDA34C761D2726, + 0xF910583F4CB7C491, + 0xC6A241F845D06D7C, + 0x4F3163FE19FD1A7F, + 0xE99C988D2357F9C8, + 0x8EEE06535D0709A7, + 0x0EFA48AA0254FC55, + 0xB4BE23903C56FA48, + 0x763F52CAABBEDF65, + 0xEEE1BCD8227D876C, + 0xE345E085F33B4DCC, + 0x3E731561B369BBBE, + 0x2843FD2067ADEA10, + 0x2ADCE5710EB1CEB6, + 0xB7E03767EF44CCBD, + 0x8DB012A48E153F52, + 0x61CEB62DC5749C98, + 0xE85D942B9959EB9B, + 0x4C6F7709CAEF2C8A, + 0x84377E5B8D6BBDA3, + 0x30895DCBB13D47EB, + 0x74A04A9BC2A2FBC3, + 0x6B17CE251518289C, + 0xE438C4D0F2113368, + 0x1FB784BED7BAD35F, + 0x9B80FAE55AD16EFC, + 0x77FE5E6C11B0CD36, + 0xC858095247849129, + 0x08466059B97090A2, + 0x01C10CA6BA0E1253, + 0x6988D6747C040C3A, + 0x6849DAD2C60A1E69, + 0x5147EBE67449DB73, + 0xC99905F4FD8A837A, + 0x991FE2B433CD4A5A, + 0xF09734C04FC94660, + 0xA28ECBD1E892ABE6, + 0xF1563866F5C75433, + 0x4DAE7BAF70E13ED9, + 0x7CE62AC27BD26B61, + 0x70837A39109AB392, + 0x90988E4B30B3C8AB, + 0xB2020B63877296BF, + 0x156EFCB607D6675B, + ], + [ + 0xE63F55CE97C331D0, + 0x25B506B0015BBA16, + 0xC8706E29E6AD9BA8, + 0x5B43D3775D521F6A, + 0x0BFA3D577035106E, + 0xAB95FC172AFB0E66, + 0xF64B63979E7A3276, + 0xF58B4562649DAD4B, + 0x48F7C3DBAE0C83F1, + 0xFF31916642F5C8C5, + 0xCBB048DC1C4A0495, + 0x66B8F83CDF622989, + 0x35C130E908E2B9B0, + 0x7C761A61F0B34FA1, + 0x3601161CF205268D, + 0x9E54CCFE2219B7D6, + 0x8B7D90A538940837, + 0x9CD403588EA35D0B, + 0xBC3C6FEA9CCC5B5A, + 0xE5FF733B6D24AEED, + 0xCEED22DE0F7EB8D2, + 0xEC8581CAB1AB545E, + 0xB96105E88FF8E71D, + 0x8CA03501871A5EAD, + 0x76CCCE65D6DB2A2F, + 0x5883F582A7B58057, + 0x3F7BE4ED2E8ADC3E, + 0x0FE7BE06355CD9C9, + 0xEE054E6C1D11BE83, + 0x1074365909B903A6, + 0x5DDE9F80B4813C10, + 0x4A770C7D02B6692C, + 0x5379C8D5D7809039, + 0xB4067448161ED409, + 0x5F5E5026183BD6CD, + 0xE898029BF4C29DF9, + 0x7FB63C940A54D09C, + 0xC5171F897F4BA8BC, + 0xA6F28DB7B31D3D72, + 0x2E4F3BE7716EAA78, + 0x0D6771A099E63314, + 0x82076254E41BF284, + 0x2F0FD2B42733DF98, + 0x5C9E76D3E2DC49F0, + 0x7AEB569619606CDB, + 0x83478B07B2468764, + 0xCFADCB8D5923CD32, + 0x85DAC7F05B95A41E, + 0xB5469D1B4043A1E9, + 0xB821ECBBD9A592FD, + 0x1B8E0B0E798C13C8, + 0x62A57B6D9A0BE02E, + 0xFCF1B793B81257F8, + 0x9D94EA0BD8FE28EB, + 0x4CEA408AEB654A56, + 0x23284A47E888996C, + 0x2D8F1D128B893545, + 0xF4CBAC3132C0D8AB, + 0xBD7C86B9CA912EBA, + 0x3A268EEF3DBE6079, + 0xF0D62F6077A9110C, + 0x2735C916ADE150CB, + 0x89FD5F03942EE2EA, + 0x1ACEE25D2FD16628, + 0x90F39BAB41181BFF, + 0x430DFE8CDE39939F, + 0xF70B8AC4C8274796, + 0x1C53AEAAC6024552, + 0x13B410ACF35E9C9B, + 0xA532AB4249FAA24F, + 0x2B1251E5625A163F, + 0xD7E3E676DA4841C7, + 0xA7B264E4E5404892, + 0xDA8497D643AE72D3, + 0x861AE105A1723B23, + 0x38A6414991048AA4, + 0x6578DEC92585B6B4, + 0x0280CFA6ACBAEADD, + 0x88BDB650C273970A, + 0x9333BD5EBBFF84C2, + 0x4E6A8F2C47DFA08B, + 0x321C954DB76CEF2A, + 0x418D312A72837942, + 0xB29B38BFFFCDF773, + 0x6C022C38F90A4C07, + 0x5A033A240B0F6A8A, + 0x1F93885F3CE5DA6F, + 0xC38A537E96988BC6, + 0x39E6A81AC759FF44, + 0x29929E43CEE0FCE2, + 0x40CDD87924DE0CA2, + 0xE9D8EBC8A29FE819, + 0x0C2798F3CFBB46F4, + 0x55E484223E53B343, + 0x4650948ECD0D2FD8, + 0x20E86CB2126F0651, + 0x6D42C56BAF5739E7, + 0xA06FC1405ACE1E08, + 0x7BABBFC54F3D193B, + 0x424D17DF8864E67F, + 0xD8045870EF14980E, + 0xC6D7397C85AC3781, + 0x21A885E1443273B1, + 0x67F8116F893F5C69, + 0x24F5EFE35706CFF6, + 0xD56329D076F2AB1A, + 0x5E1EB9754E66A32D, + 0x28D2771098BD8902, + 0x8F6013F47DFDC190, + 0x17A993FDB637553C, + 0xE0A219397E1012AA, + 0x786B9930B5DA8606, + 0x6E82E39E55B0A6DA, + 0x875A0856F72F4EC3, + 0x3741FF4FA458536D, + 0xAC4859B3957558FC, + 0x7EF6D5C75C09A57C, + 0xC04A758B6C7F14FB, + 0xF9ACDD91AB26EBBF, + 0x7391A467C5EF9668, + 0x335C7C1EE1319ACA, + 0xA91533B18641E4BB, + 0xE4BF9A683B79DB0D, + 0x8E20FAA72BA0B470, + 0x51F907737B3A7AE4, + 0x2268A314BED5EC8C, + 0xD944B123B949EDEE, + 0x31DCB3B84D8B7017, + 0xD3FE65279F218860, + 0x097AF2F1DC8FFAB3, + 0x9B09A6FC312D0B91, + 0xCC6DED78A3C4520F, + 0x3481D9BA5EBFCC50, + 0x4F2A667F1182D56B, + 0xDFD9FDD4509ACE94, + 0x26752045FBBC252B, + 0xBFFC491F662BC467, + 0xDD593272FC202449, + 0x3CBBC218D46D4303, + 0x91B372F817456E1F, + 0x681FAF69BC6385A0, + 0xB686BBEEBAA43ED4, + 0x1469B5084CD0CA01, + 0x98C98009CBCA94AC, + 0x6438379A73D8C354, + 0xC2CABA2DC0C5FE26, + 0x3E3B0DBE78D7A9DE, + 0x50B9EE202D670F04, + 0x4590B27B37EAB0E5, + 0x6025B4CB36B10AF3, + 0xFB2C1237079C0162, + 0xA12F28130C936BE8, + 0x4B37E52E54EB1CCC, + 0x083A1BA28AD28F53, + 0xC10A9CD83A22611B, + 0x9F1425AD7444C236, + 0x069D4CF7E9D3237A, + 0xEDC56899E7F621BE, + 0x778C273680865FCF, + 0x309C5AEB1BD605F7, + 0x8DE0DC52D1472B4D, + 0xF8EC34C2FD7B9E5F, + 0xEA18CD3D58787724, + 0xAAD515447CA67B86, + 0x9989695A9D97E14C, + 0x0000000000000000, + 0xF196C63321F464EC, + 0x71116BC169557CB5, + 0xAF887F466F92C7C1, + 0x972E3E0FFE964D65, + 0x190EC4A8D536F915, + 0x95AEF1A9522CA7B8, + 0xDC19DB21AA7D51A9, + 0x94EE18FA0471D258, + 0x8087ADF248A11859, + 0xC457F6DA2916DD5C, + 0xFA6CFB6451C17482, + 0xF256E0C6DB13FBD1, + 0x6A9F60CF10D96F7D, + 0x4DAAA9D9BD383FB6, + 0x03C026F5FAE79F3D, + 0xDE99148706C7BB74, + 0x2A52B8B6340763DF, + 0x6FC20ACD03EDD33A, + 0xD423C08320AFDEFA, + 0xBBE1CA4E23420DC0, + 0x966ED75CA8CB3885, + 0xEB58246E0E2502C4, + 0x055D6A021334BC47, + 0xA47242111FA7D7AF, + 0xE3623FCC84F78D97, + 0x81C744A11EFC6DB9, + 0xAEC8961539CFB221, + 0xF31609958D4E8E31, + 0x63E5923ECC5695CE, + 0x47107DDD9B505A38, + 0xA3AFE7B5A0298135, + 0x792B7063E387F3E6, + 0x0140E953565D75E0, + 0x12F4F9FFA503E97B, + 0x750CE8902C3CB512, + 0xDBC47E8515F30733, + 0x1ED3610C6AB8AF8F, + 0x5239218681DDE5D9, + 0xE222D69FD2AAF877, + 0xFE71783514A8BD25, + 0xCAF0A18F4A177175, + 0x61655D9860EC7F13, + 0xE77FBC9DC19E4430, + 0x2CCFF441DDD440A5, + 0x16E97AAEE06A20DC, + 0xA855DAE2D01C915B, + 0x1D1347F9905F30B2, + 0xB7C652BDECF94B34, + 0xD03E43D265C6175D, + 0xFDB15EC0EE4F2218, + 0x57644B8492E9599E, + 0x07DDA5A4BF8E569A, + 0x54A46D71680EC6A3, + 0x5624A2D7C4B42C7E, + 0xBEBCA04C3076B187, + 0x7D36F332A6EE3A41, + 0x3B6667BC6BE31599, + 0x695F463AEA3EF040, + 0xAD08B0E0C3282D1C, + 0xB15B1E4A052A684E, + 0x44D05B2861B7C505, + 0x15295C5B1A8DBFE1, + 0x744C01C37A61C0F2, + 0x59C31CD1F1E8F5B7, + 0xEF45A73F4B4CCB63, + 0x6BDF899C46841A9D, + 0x3DFB2B4B823036E3, + 0xA2EF0EE6F674F4D5, + 0x184E2DFB836B8CF5, + 0x1134DF0A5FE47646, + 0xBAA1231D751F7820, + 0xD17EAA81339B62BD, + 0xB01BF71953771DAE, + 0x849A2EA30DC8D1FE, + 0x705182923F080955, + 0x0EA757556301AC29, + 0x041D83514569C9A7, + 0x0ABAD4042668658E, + 0x49B72A88F851F611, + 0x8A3D79F66EC97DD7, + 0xCD2D042BF59927EF, + 0xC930877AB0F0EE48, + 0x9273540DEDA2F122, + 0xC797D02FD3F14261, + 0xE1E2F06A284D674A, + 0xD2BE8C74C97CFD80, + 0x9A494FAF67707E71, + 0xB3DBD1ECA9908293, + 0x72D14D3493B2E388, + 0xD6A30F258C153427, + ], ]; #[cfg(test)] mod test { - use consts::{A, P}; use super::SHUFFLED_LIN_TABLE; + use consts::{A, P}; fn gen_table() -> [[u64; 256]; 8] { let mut table: [[u64; 256]; 8] = [[0; 256]; 8]; @@ -540,8 +2083,8 @@ mod test { for j in 0..256 { let mut accum = 0u64; for k in 0..8 { - if P[j] & (1<) -> &[u8; 64] { } impl Whirlpool { - #![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::double_parens))] + #![cfg_attr( + feature = "cargo-clippy", + allow(clippy::identity_op, clippy::double_parens) + )] fn update_len(&mut self, len: u64) { let len_bits = [ - ( len >> (56 + 5)) as u8, + (len >> (56 + 5)) as u8, ((len >> (48 + 5)) & 0xff) as u8, ((len >> (40 + 5)) & 0xff) as u8, ((len >> (32 + 5)) & 0xff) as u8, ((len >> (24 + 5)) & 0xff) as u8, ((len >> (16 + 5)) & 0xff) as u8, - ((len >> ( 8 + 5)) & 0xff) as u8, - ((len >> ( 0 + 5)) & 0xff) as u8, + ((len >> (8 + 5)) & 0xff) as u8, + ((len >> (0 + 5)) & 0xff) as u8, ((len << 3) & 0xff) as u8, ]; @@ -137,7 +140,9 @@ impl Whirlpool { // padding let hash = &mut self.hash; let pos = self.buffer.position(); - let buf = self.buffer.pad_with::() + let buf = self + .buffer + .pad_with::() .expect("we never use input_lazy"); if pos + 1 > self.bit_length.len() { @@ -186,7 +191,9 @@ impl Reset for Whirlpool { fn reset(&mut self) { self.bit_length = [0u8; 32]; self.buffer.reset(); - for v in self.hash.iter_mut() { *v = 0; } + for v in self.hash.iter_mut() { + *v = 0; + } } } diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index a0efed120..69cd8966a 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -1,7 +1,7 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::needless_range_loop, clippy::double_parens))] +use block_buffer::byteorder::{ByteOrder, BE}; use consts::*; -use block_buffer::byteorder::{BE, ByteOrder}; pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { let mut k = [0u64; 8]; @@ -16,31 +16,29 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { state[i] = block[i] ^ k[i]; } - for r in 1..(R+1) { + for r in 1..(R + 1) { for i in 0..8 { - l[i] = - C0[ (k[(0 + i) % 8] >> 56 ) as usize] ^ - C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] ^ - C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] ^ - C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] ^ - C4[((k[(4 + i) % 8] >> 24) & 0xff) as usize] ^ - C5[((k[(3 + i) % 8] >> 16) & 0xff) as usize] ^ - C6[((k[(2 + i) % 8] >> 8) & 0xff) as usize] ^ - C7[((k[(1 + i) % 8] ) & 0xff) as usize] ^ - if i == 0 { RC[r] } else { 0 }; + l[i] = C0[(k[(0 + i) % 8] >> 56) as usize] + ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] + ^ C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] + ^ C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] + ^ C4[((k[(4 + i) % 8] >> 24) & 0xff) as usize] + ^ C5[((k[(3 + i) % 8] >> 16) & 0xff) as usize] + ^ C6[((k[(2 + i) % 8] >> 8) & 0xff) as usize] + ^ C7[((k[(1 + i) % 8]) & 0xff) as usize] + ^ if i == 0 { RC[r] } else { 0 }; } k = l; for i in 0..8 { - l[i] = - C0[ (state[(0 + i) % 8] >> 56 ) as usize] ^ - C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] ^ - C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] ^ - C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] ^ - C4[((state[(4 + i) % 8] >> 24) & 0xff) as usize] ^ - C5[((state[(3 + i) % 8] >> 16) & 0xff) as usize] ^ - C6[((state[(2 + i) % 8] >> 8) & 0xff) as usize] ^ - C7[((state[(1 + i) % 8] ) & 0xff) as usize] ^ - k[i]; + l[i] = C0[(state[(0 + i) % 8] >> 56) as usize] + ^ C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] + ^ C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] + ^ C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] + ^ C4[((state[(4 + i) % 8] >> 24) & 0xff) as usize] + ^ C5[((state[(3 + i) % 8] >> 16) & 0xff) as usize] + ^ C6[((state[(2 + i) % 8] >> 8) & 0xff) as usize] + ^ C7[((state[(1 + i) % 8]) & 0xff) as usize] + ^ k[i]; } state = l; } diff --git a/whirlpool/tests/lib.rs b/whirlpool/tests/lib.rs index a5b5cb0a2..0ebf5ee11 100644 --- a/whirlpool/tests/lib.rs +++ b/whirlpool/tests/lib.rs @@ -3,9 +3,14 @@ extern crate digest; extern crate whirlpool; -use digest::dev::{one_million_a, digest_test}; +use digest::dev::{digest_test, one_million_a}; -new_test!(whirlpool_main, "whirlpool", whirlpool::Whirlpool, digest_test); +new_test!( + whirlpool_main, + "whirlpool", + whirlpool::Whirlpool, + digest_test +); #[test] fn whirlpool_1million_a() { From 005ee6c942e6765f234a1b92e96cfc295643e452 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 16:19:51 -0700 Subject: [PATCH 037/373] gost94: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- gost94/Cargo.toml | 7 ++++--- gost94/benches/lib.rs | 4 +--- gost94/examples/gost94_cryptopro_sum.rs | 4 +--- gost94/examples/gost94_test_sum.rs | 4 +--- gost94/src/gost94.rs | 8 +++----- gost94/src/lib.rs | 12 ++++++------ gost94/src/macros.rs | 8 ++++---- gost94/tests/lib.rs | 2 +- 8 files changed, 21 insertions(+), 28 deletions(-) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 85260a2cf..e70fad97d 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -5,18 +5,19 @@ description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/gost94" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/gost94/benches/lib.rs b/gost94/benches/lib.rs index 4eba36028..80f19eb3b 100644 --- a/gost94/benches/lib.rs +++ b/gost94/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate gost94; +use digest::bench; bench!(gost94::Gost94Test); diff --git a/gost94/examples/gost94_cryptopro_sum.rs b/gost94/examples/gost94_cryptopro_sum.rs index f88c61279..c1508fb32 100644 --- a/gost94/examples/gost94_cryptopro_sum.rs +++ b/gost94/examples/gost94_cryptopro_sum.rs @@ -1,5 +1,3 @@ -extern crate gost94; - use gost94::{Digest, Gost94CryptoPro}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/gost94/examples/gost94_test_sum.rs b/gost94/examples/gost94_test_sum.rs index 9e6a7e0bb..c4ae8abe6 100644 --- a/gost94/examples/gost94_test_sum.rs +++ b/gost94/examples/gost94_test_sum.rs @@ -1,5 +1,3 @@ -extern crate gost94; - use gost94::{Digest, Gost94Test}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index 90d420edc..f55deee9d 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -1,11 +1,9 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] -#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] use block_buffer::block_padding::ZeroPadding; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::U32; use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; pub(crate) type Block = [u8; 32]; @@ -222,8 +220,8 @@ impl BlockInput for Gost94 { type BlockSize = U32; } -impl Input for Gost94 { - fn input>(&mut self, input: B) { +impl Update for Gost94 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); let self_state = &mut self.state; self_state.update_n(input.len()); diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 312bfbbf8..fd105b017 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Gost94Test::new(); //! //! // process input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] @@ -29,7 +29,7 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -extern crate block_buffer; + #[macro_use] pub extern crate digest; #[macro_use] @@ -47,7 +47,7 @@ mod test_param; pub use digest::Digest; -pub use cryptopro::Gost94CryptoPro; -pub use gost94::Gost94; -pub use s2015::Gost94s2015; -pub use test_param::Gost94Test; +pub use crate::cryptopro::Gost94CryptoPro; +pub use crate::gost94::Gost94; +pub use crate::s2015::Gost94s2015; +pub use crate::test_param::Gost94Test; diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index b46dd81b4..078e4d0e9 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -2,7 +2,7 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { use digest::generic_array::typenum::U32; use digest::generic_array::GenericArray; - use digest::{BlockInput, FixedOutput, Input, Reset}; + use digest::{BlockInput, FixedOutput, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; #[derive(Clone)] @@ -22,10 +22,10 @@ macro_rules! gost94_impl { type BlockSize = U32; } - impl Input for $state { - fn input>(&mut self, input: B) { + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); - self.sh.input(input); + self.sh.update(input); } } diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index 672e572eb..98aad9426 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate gost94; +use gost94; use digest::dev::{digest_test, one_million_a}; From cea557bbbbce5d2f2754aa14de302093bfc61794 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 17:48:19 -0700 Subject: [PATCH 038/373] groestl: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- groestl/Cargo.toml | 7 ++++--- groestl/benches/groestl256.rs | 4 +--- groestl/benches/groestl512.rs | 4 +--- groestl/src/groestl.rs | 2 +- groestl/src/lib.rs | 16 ++++++++++------ groestl/src/macros.rs | 8 ++++---- groestl/src/state.rs | 6 +++--- groestl/tests/lib.rs | 5 +---- 8 files changed, 25 insertions(+), 27 deletions(-) diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 0725c69f2..0aa8f4797 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -5,18 +5,19 @@ description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/groestl" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/groestl/benches/groestl256.rs b/groestl/benches/groestl256.rs index 1ccd0d562..22f9192b9 100755 --- a/groestl/benches/groestl256.rs +++ b/groestl/benches/groestl256.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate groestl; +use digest::bench; bench!(groestl::Groestl256); diff --git a/groestl/benches/groestl512.rs b/groestl/benches/groestl512.rs index 31fd96dee..145f9c1f2 100755 --- a/groestl/benches/groestl512.rs +++ b/groestl/benches/groestl512.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate groestl; +use digest::bench; bench!(groestl::Groestl512); diff --git a/groestl/src/groestl.rs b/groestl/src/groestl.rs index 89bd78316..334e6ec09 100644 --- a/groestl/src/groestl.rs +++ b/groestl/src/groestl.rs @@ -6,7 +6,7 @@ use digest; use digest::generic_array::typenum::{Quot, U8}; use digest::generic_array::{ArrayLength, GenericArray}; -use state::{xor_generic_array, GroestlState}; +use crate::state::{xor_generic_array, GroestlState}; #[derive(Clone)] pub struct Groestl diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index acb3077ba..593c5dcd3 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -19,7 +19,7 @@ //! let mut hasher = Groestl256::default(); //! //! // process input message -//! hasher.input(b"my message"); +//! hasher.update(b"my message"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] @@ -34,13 +34,17 @@ //! //! [1]: https://en.wikipedia.org/wiki/Grøstl //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#[macro_use] -extern crate opaque_debug; + +// TODO: import all digest macros via 2018 module syntax #[macro_use] pub extern crate digest; -extern crate block_buffer; + +#[macro_use] +extern crate opaque_debug; + #[cfg(feature = "std")] extern crate std; @@ -48,7 +52,7 @@ use digest::generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; use digest::InvalidOutputSize; -use digest::{BlockInput, FixedOutput, Input, Reset, VariableOutput}; +use digest::{BlockInput, FixedOutput, Reset, Update, VariableOutput}; mod consts; mod groestl; @@ -57,7 +61,7 @@ mod state; #[macro_use] mod macros; -use groestl::Groestl; +use crate::groestl::Groestl; impl_groestl!(Groestl512, U64, U128); impl_groestl!(Groestl384, U48, U128); diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs index 2d665f0ad..d6b0eab18 100644 --- a/groestl/src/macros.rs +++ b/groestl/src/macros.rs @@ -17,8 +17,8 @@ macro_rules! impl_groestl { type BlockSize = $block; } - impl Input for $state { - fn input>(&mut self, input: B) { + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); self.groestl.process(input); } @@ -56,8 +56,8 @@ macro_rules! impl_variable_groestl { type BlockSize = $block; } - impl Input for $state { - fn input>(&mut self, input: B) { + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { self.groestl.process(input.as_ref()); } } diff --git a/groestl/src/state.rs b/groestl/src/state.rs index 3f6005b92..1cfc37446 100644 --- a/groestl/src/state.rs +++ b/groestl/src/state.rs @@ -1,10 +1,10 @@ use core::ops::Div; +use crate::consts::{B, C_P, C_Q, SBOX, SHIFTS_P, SHIFTS_P_WIDE, SHIFTS_Q, SHIFTS_Q_WIDE}; +use crate::matrix::Matrix; use block_buffer::byteorder::{ByteOrder, BE}; -use consts::{B, C_P, C_Q, SBOX, SHIFTS_P, SHIFTS_P_WIDE, SHIFTS_Q, SHIFTS_Q_WIDE}; use digest::generic_array::typenum::{Quot, U8}; use digest::generic_array::{ArrayLength, GenericArray}; -use matrix::Matrix; #[derive(Copy, Clone)] pub struct GroestlState @@ -189,7 +189,7 @@ where #[cfg(test)] mod test { use super::{xor_generic_array, GroestlState}; - use consts::{C_P, C_Q, SHIFTS_P}; + use crate::consts::{C_P, C_Q, SHIFTS_P}; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; diff --git a/groestl/tests/lib.rs b/groestl/tests/lib.rs index 43b9755cd..0a88e5d3d 100755 --- a/groestl/tests/lib.rs +++ b/groestl/tests/lib.rs @@ -1,9 +1,6 @@ #![no_std] -#[macro_use] -extern crate digest; -extern crate groestl; -use digest::dev::digest_test; +use digest::{dev::digest_test, new_test}; new_test!( groestl_224_main, From cdad76c94abb415ed5f0d5ce62b0442ef774847f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 18:25:32 -0700 Subject: [PATCH 039/373] k12: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- k12/Cargo.toml | 5 +++-- k12/src/lanes.rs | 1 + k12/src/lib.rs | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/k12/Cargo.toml b/k12/Cargo.toml index d5e86a0bf..b41f67717 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -5,16 +5,17 @@ description = "Experimental pure Rust implementation of the KangarooTwelve hash authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/k12/src/lanes.rs b/k12/src/lanes.rs index 2dc2fb9f9..f33e2cfa0 100644 --- a/k12/src/lanes.rs +++ b/k12/src/lanes.rs @@ -1,6 +1,7 @@ /// Copied from `arrayref` crate macro_rules! array_ref { ($arr:expr, $offset:expr, $len:expr) => {{ + #[allow(unsafe_code)] { #[inline] unsafe fn as_array(slice: &[T]) -> &[T; $len] { diff --git a/k12/src/lib.rs b/k12/src/lib.rs index abb451eae..889cc17e3 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -9,7 +9,11 @@ // #![no_std] +#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] +// TODO(tarcieri): eliminate alloc requirement extern crate alloc; #[macro_use] @@ -136,9 +140,12 @@ fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { output } +#[allow(unsafe_code)] fn read_u64(bytes: &[u8; 8]) -> u64 { unsafe { *(bytes as *const _ as *const u64) }.to_le() } + +#[allow(unsafe_code)] fn write_u64(val: u64) -> [u8; 8] { unsafe { *(&val.to_le() as *const u64 as *const _) } } From a9ddf8f537160edcf426e65d05cf69c38586e9fb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 18:57:37 -0700 Subject: [PATCH 040/373] k12: impl digest crate traits Implements the `digest::Update` and `digest::XofReader` APIs. --- k12/src/lib.rs | 81 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 22 deletions(-) diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 889cc17e3..b5a29f5c1 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -14,6 +14,7 @@ #![warn(missing_docs, rust_2018_idioms)] // TODO(tarcieri): eliminate alloc requirement +#[macro_use] extern crate alloc; #[macro_use] @@ -22,6 +23,7 @@ mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; use core::cmp::min; +use digest::{Update, XofReader}; /// The KangarooTwelve extendable-output function (XOF). #[derive(Debug, Default)] @@ -29,34 +31,63 @@ pub struct KangarooTwelve { /// Input to be processed // TODO(tarcieri): don't store input in a `Vec` buffer: Vec, + + /// Customization string to apply + // TODO(tarcieri): don't store customization in a `Vec` + customization: Vec, + + /// Has the XOF output already been consumed? + // TODO(tarcieri): allow `XofReader::result` to be called multiple times + finished: bool, } impl KangarooTwelve { - /// Create a new [`KangarooTwelve`] instance + /// Create a new [`KangarooTwelve`] instance. pub fn new() -> Self { Self::default() } - /// Input data into the hash function - pub fn input(&mut self, bytes: &[u8]) { - self.buffer.extend_from_slice(bytes); + /// Create a new [`KangarooTwelve`] instance with the given customization. + pub fn new_with_customization(customization: impl AsRef<[u8]>) -> Self { + Self { + buffer: Vec::new(), + customization: customization.as_ref().into(), + finished: false, + } + } + + /// Get the result as a `Vec` + pub fn result_vec(mut self, length: usize) -> Vec { + let mut output = vec![0u8; length]; + self.read(&mut output); + output } +} - /// Chained input into the hash function - pub fn chain(mut self, bytes: &[u8]) -> Self { - self.input(bytes); - self +impl Update for KangarooTwelve { + /// Input data into the hash function + fn update(&mut self, bytes: impl AsRef<[u8]>) { + self.buffer.extend_from_slice(bytes.as_ref()); } +} + +impl XofReader for KangarooTwelve { + /// Get the resulting output of the function. + /// + /// Panics if called multiple times on the same instance (TODO: don't panic!) + fn read(&mut self, output: &mut [u8]) { + assert!( + !self.finished, + "K12 doesn't support multiple XofReader invocations yet" + ); - /// Get the resulting output of the function - pub fn result(self, customization: impl AsRef<[u8]>, output_len: usize) -> Vec { let b = 8192; let c = 256; let mut slice = Vec::new(); // S - slice.extend_from_slice(self.buffer.as_ref()); - slice.extend_from_slice(customization.as_ref()); - slice.extend_from_slice(&right_encode(customization.as_ref().len())[..]); + slice.extend_from_slice(&self.buffer); + slice.extend_from_slice(&self.customization); + slice.extend_from_slice(&right_encode(self.customization.len())[..]); // === Cut the input string into chunks of b bytes === let n = (slice.len() + b - 1) / b; @@ -66,9 +97,10 @@ impl KangarooTwelve { slices.push(&slice[i * b..ub]); } - if n == 1 { + // TODO(tarcieri): get rid of intermediate output buffer + let tmp_buffer = if n == 1 { // === Process the tree with only a final node === - f(slices[0], 0x07, output_len) + f(slices[0], 0x07, output.len()) } else { // === Process the tree with kangaroo hopping === // TODO: in parallel @@ -86,8 +118,11 @@ impl KangarooTwelve { node_star.extend_from_slice(&right_encode(n - 1)); node_star.extend_from_slice(b"\xFF\xFF"); - f(&node_star[..], 0x06, output_len) - } + f(&node_star[..], 0x06, output.len()) + }; + + output.copy_from_slice(&tmp_buffer); + self.finished = true; } } @@ -213,7 +248,7 @@ mod test { fn empty() { // Source: reference paper assert_eq!( - KangarooTwelve::new().chain(b"").result(b"", 32), + KangarooTwelve::new().chain(b"").result_vec(32), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" @@ -221,7 +256,7 @@ mod test { ); assert_eq!( - KangarooTwelve::new().chain(b"").result(b"", 64), + KangarooTwelve::new().chain(b"").result_vec(64), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e @@ -230,7 +265,7 @@ mod test { ); assert_eq!( - KangarooTwelve::new().chain(b"").result("", 10032)[10000..], + KangarooTwelve::new().chain(b"").result_vec(10032)[10000..], read_bytes( "e8 dc 56 36 42 f7 22 8c 84 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" @@ -261,7 +296,7 @@ mod test { { let len = 17usize.pow(i); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).result("", 32); + let result = KangarooTwelve::new().chain(&m).result_vec(32); assert_eq!(result, read_bytes(expected[i as usize])); } } @@ -282,7 +317,9 @@ mod test { let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); let len = 41usize.pow(i); let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).result(c, 32); + let result = KangarooTwelve::new_with_customization(c) + .chain(&m) + .result_vec(32); assert_eq!(result, read_bytes(expected[i as usize])); } } From de60dfd4e6cef94b7a58cbe1278294e5d09aada3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:06:32 -0700 Subject: [PATCH 041/373] md2: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- md2/Cargo.toml | 7 ++++--- md2/benches/lib.rs | 2 +- md2/examples/md2sum.rs | 4 +--- md2/src/lib.rs | 16 ++++++++++------ md2/tests/lib.rs | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index e5e04ed52..a521e4152 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -5,18 +5,19 @@ license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/md2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/md2/benches/lib.rs b/md2/benches/lib.rs index ee2668e76..a282ef35e 100644 --- a/md2/benches/lib.rs +++ b/md2/benches/lib.rs @@ -2,6 +2,6 @@ #![feature(test)] #[macro_use] extern crate digest; -extern crate md2; +use md2; bench!(md2::Md2); diff --git a/md2/examples/md2sum.rs b/md2/examples/md2sum.rs index efc9bcebd..05a2d80d7 100644 --- a/md2/examples/md2sum.rs +++ b/md2/examples/md2sum.rs @@ -1,5 +1,3 @@ -extern crate md2; - use md2::{Digest, Md2}; use std::env; use std::fs; @@ -17,7 +15,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 8f5178834..c392772b8 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Md2::new(); //! //! // process input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] @@ -25,14 +25,18 @@ //! //! [1]: https://en.wikipedia.org/wiki/MD4 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; + #[macro_use] pub extern crate digest; -extern crate block_buffer; + #[cfg(feature = "std")] extern crate std; @@ -41,7 +45,7 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::U16; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; mod consts; @@ -99,8 +103,8 @@ impl BlockInput for Md2 { type BlockSize = U16; } -impl Input for Md2 { - fn input>(&mut self, input: B) { +impl Update for Md2 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); let self_state = &mut self.state; self.buffer.input(input, |d| self_state.process_block(d)); diff --git a/md2/tests/lib.rs b/md2/tests/lib.rs index 18bb84520..6aac1af59 100644 --- a/md2/tests/lib.rs +++ b/md2/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate md2; +use md2; use digest::dev::{digest_test, one_million_a}; From 09c4350cf6a4393bdd5a64a60c4cabf369ad0d45 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:25:15 -0700 Subject: [PATCH 042/373] Add Rust 2018 attributes to converted crates --- blake2/src/lib.rs | 2 +- gost94/src/lib.rs | 2 ++ groestl/src/lib.rs | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index cd77309b0..381eb1bbd 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -86,7 +86,7 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![warn(missing_docs)] +#![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd_asm", feature(asm))] diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index fd105b017..2b545fcf3 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -27,8 +27,10 @@ //! //! [1]: https://en.wikipedia.org/wiki/GOST_(hash_function) //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![warn(missing_docs, rust_2018_idioms)] #[macro_use] pub extern crate digest; diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 593c5dcd3..d8ba438ad 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -37,6 +37,8 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(rust_2018_idioms)] // TODO: import all digest macros via 2018 module syntax #[macro_use] From 05e8de276c0478213c89cf8cc7cfef20d054f6fd Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:29:09 -0700 Subject: [PATCH 043/373] md4: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- md4/Cargo.toml | 7 ++++--- md4/benches/lib.rs | 2 +- md4/examples/md4sum.rs | 4 +--- md4/src/lib.rs | 17 ++++++++++------- md4/tests/lib.rs | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 2bb3e3cfa..bdb6944bc 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -5,19 +5,20 @@ description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/md4" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } fake-simd = "0.1" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/md4/benches/lib.rs b/md4/benches/lib.rs index c469c4a48..f308ba597 100644 --- a/md4/benches/lib.rs +++ b/md4/benches/lib.rs @@ -2,6 +2,6 @@ #![feature(test)] #[macro_use] extern crate digest; -extern crate md4; +use md4; bench!(md4::Md4); diff --git a/md4/examples/md4sum.rs b/md4/examples/md4sum.rs index c2dee8762..7645cab5b 100644 --- a/md4/examples/md4sum.rs +++ b/md4/examples/md4sum.rs @@ -1,5 +1,3 @@ -extern crate md4; - use md4::{Digest, Md4}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/md4/src/lib.rs b/md4/src/lib.rs index fca8c2d1f..332d8021b 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Md4::new(); //! //! // process input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] @@ -25,25 +25,28 @@ //! //! [1]: https://en.wikipedia.org/wiki/MD4 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +#![deny(unsafe_code)] +#![warn(rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; -extern crate block_buffer; + extern crate fake_simd as simd; #[cfg(feature = "std")] extern crate std; +use crate::simd::u32x4; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; -use simd::u32x4; +use digest::{BlockInput, FixedOutput, Reset, Update}; // initial values for Md4State const S: u32x4 = u32x4(0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476); @@ -151,8 +154,8 @@ impl BlockInput for Md4 { type BlockSize = U64; } -impl Input for Md4 { - fn input>(&mut self, input: B) { +impl Update for Md4 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); // Unlike Sha1 and Sha2, the length value in MD4 is defined as // the length of the message mod 2^64 - ie: integer overflow is OK. diff --git a/md4/tests/lib.rs b/md4/tests/lib.rs index 3bb925146..d885ddf51 100644 --- a/md4/tests/lib.rs +++ b/md4/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate md4; +use md4; use digest::dev::{digest_test, one_million_a}; From bba56fa063ad3731169e0ad8426f9190bf8baf70 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:36:35 -0700 Subject: [PATCH 044/373] md5: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- md2/benches/lib.rs | 4 +--- md4/benches/lib.rs | 4 +--- md5/Cargo.toml | 7 ++++--- md5/benches/lib.rs | 4 +--- md5/examples/md5sum.rs | 4 +--- md5/src/lib.rs | 20 +++++++++++++------- md5/src/utils.rs | 2 +- md5/tests/lib.rs | 2 +- 8 files changed, 23 insertions(+), 24 deletions(-) diff --git a/md2/benches/lib.rs b/md2/benches/lib.rs index a282ef35e..cbc803ef9 100644 --- a/md2/benches/lib.rs +++ b/md2/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -use md2; +use digest::bench; bench!(md2::Md2); diff --git a/md4/benches/lib.rs b/md4/benches/lib.rs index f308ba597..04a46123c 100644 --- a/md4/benches/lib.rs +++ b/md4/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -use md4; +use digest::bench; bench!(md4::Md4); diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 3b118ff2e..073e654a0 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -5,6 +5,7 @@ description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/md-5" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md5", "hash", "digest"] @@ -14,13 +15,13 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } md5-asm = { version = "0.4", optional=true} opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/md5/benches/lib.rs b/md5/benches/lib.rs index 981cae3e0..1c5854927 100644 --- a/md5/benches/lib.rs +++ b/md5/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate md5; +use digest::bench; bench!(md5::Md5); diff --git a/md5/examples/md5sum.rs b/md5/examples/md5sum.rs index 443d14f1b..96ffd66be 100644 --- a/md5/examples/md5sum.rs +++ b/md5/examples/md5sum.rs @@ -1,5 +1,3 @@ -extern crate md5; - use md5::{Digest, Md5}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/md5/src/lib.rs b/md5/src/lib.rs index d1bab31e5..e14dc4b6c 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Md5::new(); //! //! // process input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] @@ -25,9 +25,12 @@ //! //! [1]: https://en.wikipedia.org/wiki/MD5 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -extern crate block_buffer; +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; #[macro_use] @@ -40,7 +43,7 @@ extern crate std; #[cfg(not(feature = "asm"))] mod utils; -use utils::compress; +use crate::utils::compress; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; @@ -48,7 +51,7 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; mod consts; @@ -72,7 +75,10 @@ impl Default for Md5 { #[inline(always)] fn convert(d: &GenericArray) -> &[u8; 64] { - unsafe { &*(d.as_ptr() as *const [u8; 64]) } + #[allow(unsafe_code)] + unsafe { + &*(d.as_ptr() as *const [u8; 64]) + } } impl Md5 { @@ -89,9 +95,9 @@ impl BlockInput for Md5 { type BlockSize = U64; } -impl Input for Md5 { +impl Update for Md5 { #[inline] - fn input>(&mut self, input: B) { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); // Unlike Sha1 and Sha2, the length value in MD5 is defined as // the length of the message mod 2^64 - ie: integer overflow is OK. diff --git a/md5/src/utils.rs b/md5/src/utils.rs index 8c9797773..ab5fd6ffc 100644 --- a/md5/src/utils.rs +++ b/md5/src/utils.rs @@ -1,7 +1,7 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always, clippy::many_single_char_names))] +use crate::consts::RC; use block_buffer::byteorder::{ByteOrder, LE}; -use consts::RC; #[inline(always)] fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { diff --git a/md5/tests/lib.rs b/md5/tests/lib.rs index 9050d3d3a..0cdbc33fc 100644 --- a/md5/tests/lib.rs +++ b/md5/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate md5; +use md5; use digest::dev::{digest_test, one_million_a}; From b0ac14c847232daca5a94ca3829bd96be3060fba Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:45:23 -0700 Subject: [PATCH 045/373] ripemd160: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- ripemd160/Cargo.toml | 10 ++++++---- ripemd160/benches/lib.rs | 4 +--- ripemd160/examples/ripemd160sum.rs | 4 +--- ripemd160/src/lib.rs | 15 +++++++++------ ripemd160/tests/lib.rs | 2 +- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index d35003a08..c81e359a9 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -1,21 +1,23 @@ [package] name = "ripemd160" version = "0.8.0" +description = "RIPEMD-160 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" -description = "RIPEMD-160 hash function" +readme = "README.md" +edition = "2018" documentation = "https://docs.rs/ripemd160" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "ripemd160", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/ripemd160/benches/lib.rs b/ripemd160/benches/lib.rs index 25593b40e..0f9120086 100644 --- a/ripemd160/benches/lib.rs +++ b/ripemd160/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate ripemd160; +use digest::bench; bench!(ripemd160::Ripemd160); diff --git a/ripemd160/examples/ripemd160sum.rs b/ripemd160/examples/ripemd160sum.rs index fd787bb53..a478844ff 100644 --- a/ripemd160/examples/ripemd160sum.rs +++ b/ripemd160/examples/ripemd160sum.rs @@ -1,5 +1,3 @@ -extern crate ripemd160; - use ripemd160::{Digest, Ripemd160}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index ea756f647..b0fca6862 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Ripemd160::new(); //! //! // process input message -//! hasher.input(b"Hello world!"); +//! hasher.update(b"Hello world!"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 20] @@ -25,9 +25,12 @@ //! //! [1]: https://en.wikipedia.org/wiki/RIPEMD //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -extern crate block_buffer; +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; #[macro_use] @@ -40,10 +43,10 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U20, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; mod block; -use block::{process_msg_block, DIGEST_BUF_LEN, H0}; +use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; /// Structure representing the state of a Ripemd160 computation #[derive(Clone)] @@ -67,8 +70,8 @@ impl BlockInput for Ripemd160 { type BlockSize = U64; } -impl Input for Ripemd160 { - fn input>(&mut self, input: B) { +impl Update for Ripemd160 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); // Assumes that input.len() can be converted to u64 without overflow self.len += input.len() as u64; diff --git a/ripemd160/tests/lib.rs b/ripemd160/tests/lib.rs index 0355a4afd..34b7f0a7d 100644 --- a/ripemd160/tests/lib.rs +++ b/ripemd160/tests/lib.rs @@ -2,7 +2,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate ripemd160; +use ripemd160; use digest::dev::{digest_test, one_million_a}; From cc4f6ea8a5cef9cf45f8e2548c92350bb1679b47 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 19:54:13 -0700 Subject: [PATCH 046/373] ripemd320: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- ripemd320/Cargo.toml | 7 ++++--- ripemd320/benches/lib.rs | 4 +--- ripemd320/examples/ripemd320sum.rs | 4 +--- ripemd320/src/lib.rs | 12 ++++++------ ripemd320/tests/lib.rs | 2 +- 5 files changed, 13 insertions(+), 16 deletions(-) diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 8b28155f4..f618b5998 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -5,18 +5,19 @@ description = "RIPEMD-320 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/ripemd320" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "ripemd320", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/ripemd320/benches/lib.rs b/ripemd320/benches/lib.rs index d8f38a0c6..182244a28 100644 --- a/ripemd320/benches/lib.rs +++ b/ripemd320/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate ripemd320; +use digest::bench; bench!(ripemd320::Ripemd320); diff --git a/ripemd320/examples/ripemd320sum.rs b/ripemd320/examples/ripemd320sum.rs index d6c97690d..d360005e3 100644 --- a/ripemd320/examples/ripemd320sum.rs +++ b/ripemd320/examples/ripemd320sum.rs @@ -1,5 +1,3 @@ -extern crate ripemd320; - use ripemd320::{Digest, Ripemd320}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index 86a00ccf3..51dac669f 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Ripemd320::new(); //! //! // process input message -//! hasher.input(b"Hello world!"); +//! hasher.update(b"Hello world!"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 40] @@ -28,7 +28,7 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -extern crate block_buffer; + #[macro_use] extern crate opaque_debug; #[macro_use] @@ -41,10 +41,10 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U40, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; mod block; -use block::{process_msg_block, DIGEST_BUF_LEN, H0}; +use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; /// Structure representing the state of a ripemd320 computation #[derive(Clone)] @@ -68,8 +68,8 @@ impl BlockInput for Ripemd320 { type BlockSize = U64; } -impl Input for Ripemd320 { - fn input>(&mut self, input: B) { +impl Update for Ripemd320 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); // Assumes that input.len() can be converted to u64 without overflow self.len += input.len() as u64; diff --git a/ripemd320/tests/lib.rs b/ripemd320/tests/lib.rs index 95eb98c99..ed3cdc5ba 100644 --- a/ripemd320/tests/lib.rs +++ b/ripemd320/tests/lib.rs @@ -4,7 +4,7 @@ #[macro_use] extern crate digest; -extern crate ripemd320; +use ripemd320; use digest::dev::{digest_test, one_million_a}; From 8f28762de736e3cb853295ae81bafe9f8a438218 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 20:07:07 -0700 Subject: [PATCH 047/373] ripemd320: add 2018 edition crate attributes --- ripemd320/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index 51dac669f..cc866c6dc 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -26,8 +26,11 @@ //! //! [1]: https://en.wikipedia.org/wiki/RIPEMD //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] #[macro_use] extern crate opaque_debug; From c43d34c12755b2e380d73c8e84b018abe8bc0b15 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 20:12:05 -0700 Subject: [PATCH 048/373] sha1: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- sha1/Cargo.toml | 7 ++++--- sha1/benches/lib.rs | 4 +--- sha1/examples/sha1sum.rs | 4 +--- sha1/src/aarch64.rs | 1 + sha1/src/lib.rs | 18 +++++++++++------- sha1/src/utils.rs | 4 ++-- sha1/tests/lib.rs | 2 +- 7 files changed, 21 insertions(+), 19 deletions(-) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index b85c499c1..e27dec5a3 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -5,6 +5,7 @@ description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/sha-1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] @@ -14,15 +15,15 @@ categories = ["cryptography", "no-std"] name = "sha1" [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/sha1/benches/lib.rs b/sha1/benches/lib.rs index e204e565a..718ec6378 100644 --- a/sha1/benches/lib.rs +++ b/sha1/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate sha1; +use digest::bench; bench!(sha1::Sha1); diff --git a/sha1/examples/sha1sum.rs b/sha1/examples/sha1sum.rs index 595f0ddc3..cbd68e96d 100644 --- a/sha1/examples/sha1sum.rs +++ b/sha1/examples/sha1sum.rs @@ -1,5 +1,3 @@ -extern crate sha1; - use sha1::{Digest, Sha1}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/sha1/src/aarch64.rs b/sha1/src/aarch64.rs index 16907404c..8d1a916cc 100644 --- a/sha1/src/aarch64.rs +++ b/sha1/src/aarch64.rs @@ -2,6 +2,7 @@ use libc::{getauxval, AT_HWCAP, HWCAP_SHA1}; #[inline(always)] pub fn sha1_supported() -> bool { + #[allow(unsafe_code)] let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; (hwcaps & HWCAP_SHA1) != 0 } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 5baacf56c..2f05823e9 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -12,7 +12,7 @@ //! let mut hasher = Sha1::new(); //! //! // process input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 20] @@ -25,8 +25,11 @@ //! //! [1]: https://en.wikipedia.org/wiki/SHA-1 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. #[cfg(all( @@ -52,7 +55,6 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when build ))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); -extern crate block_buffer; #[macro_use] extern crate opaque_debug; #[macro_use] @@ -69,6 +71,7 @@ extern crate sha1_asm; #[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] #[inline(always)] fn compress(state: &mut [u32; 5], block: &GenericArray) { + #[allow(unsafe_code)] let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; sha1_asm::compress(state, block); } @@ -81,6 +84,7 @@ fn compress(state: &mut [u32; 5], block: &GenericArray) { // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented // to let us use it on no_std. if aarch64::sha1_supported() { + #[allow(unsafe_code)] let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; sha1_asm::compress(state, block); } else { @@ -91,17 +95,17 @@ fn compress(state: &mut [u32; 5], block: &GenericArray) { #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod utils; #[cfg(not(feature = "asm"))] -use utils::compress; +use crate::utils::compress; use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U20, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; mod consts; -use consts::{H, STATE_LEN}; +use crate::consts::{H, STATE_LEN}; /// Structure representing the state of a SHA-1 computation #[derive(Clone)] @@ -125,8 +129,8 @@ impl BlockInput for Sha1 { type BlockSize = U64; } -impl Input for Sha1 { - fn input>(&mut self, input: B) { +impl Update for Sha1 { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); // Assumes that `length_bits<<3` will not overflow self.len += input.len() as u64; diff --git a/sha1/src/utils.rs b/sha1/src/utils.rs index b95b9c04c..8a3588225 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/utils.rs @@ -1,10 +1,10 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +use crate::consts::{BLOCK_LEN, K0, K1, K2, K3}; +use crate::simd::u32x4; use block_buffer::byteorder::{ByteOrder, BE}; -use consts::{BLOCK_LEN, K0, K1, K2, K3}; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; -use simd::u32x4; type Block = GenericArray; diff --git a/sha1/tests/lib.rs b/sha1/tests/lib.rs index 542bd9ca3..b9b77734f 100644 --- a/sha1/tests/lib.rs +++ b/sha1/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate sha1; +use sha1; use digest::dev::{digest_test, one_million_a}; From 543def875f1a1400805120327d41e3870e6b43c6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 20:26:37 -0700 Subject: [PATCH 049/373] sha2: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- sha2/Cargo.toml | 7 ++++--- sha2/benches/sha256.rs | 4 +--- sha2/benches/sha512.rs | 4 +--- sha2/examples/sha256sum.rs | 4 +--- sha2/examples/sha512sum.rs | 4 +--- sha2/src/consts.rs | 4 ++-- sha2/src/lib.rs | 10 +++++----- sha2/src/sha256.rs | 20 ++++++++++---------- sha2/src/sha256_utils.rs | 4 ++-- sha2/src/sha512.rs | 34 +++++++++++++++++----------------- sha2/src/sha512_utils.rs | 4 ++-- sha2/tests/lib.rs | 2 +- 12 files changed, 47 insertions(+), 54 deletions(-) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 89425c1a8..5850ed008 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -8,21 +8,22 @@ including SHA-224, SHA-256, SHA-384, and SHA-512. authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/sha2/benches/sha256.rs b/sha2/benches/sha256.rs index aa604f620..4f1c5934f 100644 --- a/sha2/benches/sha256.rs +++ b/sha2/benches/sha256.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate sha2; +use digest::bench; bench!(sha2::Sha256); diff --git a/sha2/benches/sha512.rs b/sha2/benches/sha512.rs index 071dfc880..c241aab03 100644 --- a/sha2/benches/sha512.rs +++ b/sha2/benches/sha512.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate sha2; +use digest::bench; bench!(sha2::Sha512); diff --git a/sha2/examples/sha256sum.rs b/sha2/examples/sha256sum.rs index 626d6745e..2bb17a597 100644 --- a/sha2/examples/sha256sum.rs +++ b/sha2/examples/sha256sum.rs @@ -1,5 +1,3 @@ -extern crate sha2; - use sha2::{Digest, Sha256}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/sha2/examples/sha512sum.rs b/sha2/examples/sha512sum.rs index 8eb60d85f..0c76c4af3 100644 --- a/sha2/examples/sha512sum.rs +++ b/sha2/examples/sha512sum.rs @@ -1,5 +1,3 @@ -extern crate sha2; - use sha2::{Digest, Sha512}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index 5874967e2..1bb43053f 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,8 +1,8 @@ #![allow(dead_code)] #![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] -use simd::u32x4; -use simd::u64x2; +use crate::simd::u32x4; +use crate::simd::u64x2; pub const STATE_LEN: usize = 8; pub const BLOCK_LEN: usize = 16; diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index f22e1d7bb..d068f17c6 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -29,7 +29,7 @@ //! let mut hasher = Sha256::new(); //! //! // write input message -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! //! // read hash digest and consume hasher //! let result = hasher.result(); @@ -40,7 +40,7 @@ //! //! // same for Sha512 //! let mut hasher = Sha512::new(); -//! hasher.input(b"hello world"); +//! hasher.update(b"hello world"); //! let result = hasher.result(); //! //! assert_eq!(result[..], hex!(" @@ -57,6 +57,7 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![warn(missing_docs, rust_2018_idioms)] // Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. #[cfg(all( @@ -82,7 +83,6 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when build ))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); -extern crate block_buffer; extern crate fake_simd as simd; #[macro_use] extern crate opaque_debug; @@ -105,10 +105,10 @@ mod sha512; #[cfg(any(not(feature = "asm"), target_arch = "aarch64", feature = "compress"))] mod sha512_utils; +pub use crate::sha256::{Sha224, Sha256}; +pub use crate::sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; pub use digest::Digest; -pub use sha256::{Sha224, Sha256}; #[cfg(feature = "compress")] pub use sha256_utils::compress256; -pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; #[cfg(feature = "compress")] pub use sha512_utils::compress512; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 79002acfd..7e3a503bd 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -2,12 +2,12 @@ use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U28, U32, U64}; use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; -use consts::{H224, H256, STATE_LEN}; +use crate::consts::{H224, H256, STATE_LEN}; #[cfg(not(feature = "asm"))] -use sha256_utils::compress256; +use crate::sha256_utils::compress256; #[cfg(feature = "asm")] use sha2_asm::compress256; @@ -64,7 +64,7 @@ impl Engine256 { } } - fn input(&mut self, input: &[u8]) { + fn update(&mut self, input: &[u8]) { // Assumes that input.len() can be converted to u64 without overflow self.len += (input.len() as u64) << 3; let self_state = &mut self.state; @@ -104,9 +104,9 @@ impl BlockInput for Sha256 { type BlockSize = BlockSize; } -impl Input for Sha256 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha256 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } @@ -146,9 +146,9 @@ impl BlockInput for Sha224 { type BlockSize = BlockSize; } -impl Input for Sha224 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha224 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs index 4ead11cd3..bf17cf93c 100644 --- a/sha2/src/sha256_utils.rs +++ b/sha2/src/sha256_utils.rs @@ -1,8 +1,8 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +use crate::consts::{BLOCK_LEN, K32X4}; +use crate::simd::u32x4; use block_buffer::byteorder::{ByteOrder, BE}; -use consts::{BLOCK_LEN, K32X4}; -use simd::u32x4; /// Not an intrinsic, but works like an unaligned load. #[inline] diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index d04ff6c9a..5f3e18246 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -2,14 +2,14 @@ use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U128, U28, U32, U48, U64}; use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; -use consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; +use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; +#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] +use crate::sha512_utils::compress512; #[cfg(all(feature = "asm", not(target_arch = "aarch64")))] use sha2_asm::compress512; -#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] -use sha512_utils::compress512; type BlockSize = U128; type Block = GenericArray; @@ -50,7 +50,7 @@ impl Engine512 { } } - fn input(&mut self, input: &[u8]) { + fn update(&mut self, input: &[u8]) { let (res, over) = self.len.1.overflowing_add((input.len() as u64) << 3); self.len.1 = res; if over { @@ -92,9 +92,9 @@ impl BlockInput for Sha512 { type BlockSize = BlockSize; } -impl Input for Sha512 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha512 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } @@ -135,9 +135,9 @@ impl BlockInput for Sha384 { type BlockSize = BlockSize; } -impl Input for Sha384 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha384 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } @@ -178,9 +178,9 @@ impl BlockInput for Sha512Trunc256 { type BlockSize = BlockSize; } -impl Input for Sha512Trunc256 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha512Trunc256 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } @@ -221,9 +221,9 @@ impl BlockInput for Sha512Trunc224 { type BlockSize = BlockSize; } -impl Input for Sha512Trunc224 { - fn input>(&mut self, input: B) { - self.engine.input(input.as_ref()); +impl Update for Sha512Trunc224 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.engine.update(input.as_ref()); } } diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512_utils.rs index 50d903b60..a97959b6f 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512_utils.rs @@ -1,8 +1,8 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +use crate::consts::{BLOCK_LEN, K64X2}; +use crate::simd::u64x2; use block_buffer::byteorder::{ByteOrder, BE}; -use consts::{BLOCK_LEN, K64X2}; -use simd::u64x2; /// Not an intrinsic, but works like an unaligned load. #[inline] diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index bd8938a3f..b73417ddd 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate sha2; +use sha2; use digest::dev::{digest_test, one_million_a}; From 527535f76e4012e72032302055d639a343a74a14 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 20:49:31 -0700 Subject: [PATCH 050/373] sha3: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- sha3/Cargo.toml | 7 ++++--- sha3/benches/sha3_256.rs | 4 +--- sha3/benches/sha3_512.rs | 4 +--- sha3/examples/sha3_256sum.rs | 4 +--- sha3/examples/sha3_512sum.rs | 4 +--- sha3/src/lib.rs | 16 ++++++++-------- sha3/src/macros.rs | 8 ++++---- sha3/src/reader.rs | 2 +- sha3/src/state.rs | 6 +++++- sha3/tests/lib.rs | 2 +- 10 files changed, 27 insertions(+), 30 deletions(-) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 24df620ab..2cdd89e56 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -5,20 +5,21 @@ description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/sha3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } byte-tools = "0.3" opaque-debug = "0.2" keccak = "0.1" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/sha3/benches/sha3_256.rs b/sha3/benches/sha3_256.rs index f074e60fe..e6fd35a14 100644 --- a/sha3/benches/sha3_256.rs +++ b/sha3/benches/sha3_256.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate sha3; +use digest::bench; bench!(sha3::Sha3_256); diff --git a/sha3/benches/sha3_512.rs b/sha3/benches/sha3_512.rs index aca17e104..0500b76c8 100644 --- a/sha3/benches/sha3_512.rs +++ b/sha3/benches/sha3_512.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate sha3; +use digest::bench; bench!(sha3::Sha3_512); diff --git a/sha3/examples/sha3_256sum.rs b/sha3/examples/sha3_256sum.rs index b3b217947..9e45319f8 100644 --- a/sha3/examples/sha3_256sum.rs +++ b/sha3/examples/sha3_256sum.rs @@ -1,5 +1,3 @@ -extern crate sha3; - use sha3::{Digest, Sha3_256}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/sha3/examples/sha3_512sum.rs b/sha3/examples/sha3_512sum.rs index 6a6f71d3f..46f84e17d 100644 --- a/sha3/examples/sha3_512sum.rs +++ b/sha3/examples/sha3_512sum.rs @@ -1,5 +1,3 @@ -extern crate sha3; - use sha3::{Digest, Sha3_512}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 2128734ee..8b8ec8d51 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -25,7 +25,7 @@ //! let mut hasher = Sha3_256::new(); //! //! // write input message -//! hasher.input(b"abc"); +//! hasher.update(b"abc"); //! //! // read hash digest //! let result = hasher.result(); @@ -40,12 +40,12 @@ //! //! [1]: https://en.wikipedia.org/wiki/SHA-3 //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![deny(missing_docs, warnings)] -extern crate block_buffer; -extern crate byte_tools; -extern crate keccak; +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; #[macro_use] @@ -59,7 +59,7 @@ use digest::generic_array::typenum::{ }; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, ExtendableOutput, FixedOutput, Input, Reset}; +use digest::{BlockInput, ExtendableOutput, FixedOutput, Reset, Update}; mod paddings; #[macro_use] @@ -67,8 +67,8 @@ mod macros; mod reader; mod state; -pub use reader::Sha3XofReader; -use state::Sha3State; +pub use crate::reader::Sha3XofReader; +use crate::state::Sha3State; sha3_impl!( Keccak224, diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index e794134a1..16cc1f327 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -32,8 +32,8 @@ macro_rules! sha3_impl { type BlockSize = $rate; } - impl Input for $state { - fn input>(&mut self, input: B) { + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { self.absorb(input.as_ref()) } } @@ -69,8 +69,8 @@ macro_rules! shake_impl { ($state:ident, $rate:ident, $padding:ty, $doc:expr) => { impl_state!($state, $rate, $padding, $doc); - impl Input for $state { - fn input>(&mut self, input: B) { + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { self.absorb(input.as_ref()) } } diff --git a/sha3/src/reader.rs b/sha3/src/reader.rs index ac3388ef6..fbb2d716e 100644 --- a/sha3/src/reader.rs +++ b/sha3/src/reader.rs @@ -1,5 +1,5 @@ +use crate::state::Sha3State; use digest::XofReader; -use state::Sha3State; #[cfg(feature = "std")] use std::io; diff --git a/sha3/src/state.rs b/sha3/src/state.rs index 4a5c28436..f0b352dc8 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -14,6 +14,7 @@ impl Sha3State { debug_assert_eq!(block.len() % 8, 0); if cfg!(target_endian = "little") { + #[allow(unsafe_code)] let state = unsafe { &mut *(self.state.as_mut_ptr() as *mut [u8; 8 * PLEN]) }; for (d, i) in state.iter_mut().zip(block) { *d ^= *i; @@ -35,7 +36,10 @@ impl Sha3State { pub(crate) fn as_bytes(&self, f: F) { let mut data_copy; let data_ref: &[u8; 8 * PLEN] = if cfg!(target_endian = "little") { - unsafe { &*(self.state.as_ptr() as *const [u8; 8 * PLEN]) } + #[allow(unsafe_code)] + unsafe { + &*(self.state.as_ptr() as *const [u8; 8 * PLEN]) + } } else { data_copy = [0u8; 8 * PLEN]; LE::write_u64_into(&self.state, &mut data_copy); diff --git a/sha3/tests/lib.rs b/sha3/tests/lib.rs index 7d4b43779..694ce2d4c 100644 --- a/sha3/tests/lib.rs +++ b/sha3/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate sha3; +use sha3; use digest::dev::{digest_test, xof_test}; From 76dbe81dab873964f9ae57630b5ded7fa090049d Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 20:57:49 -0700 Subject: [PATCH 051/373] shabal: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- shabal/Cargo.toml | 7 ++++--- shabal/benches/shabal.rs | 4 +--- shabal/examples/shabal256sum.rs | 4 +--- shabal/examples/shabal512sum.rs | 4 +--- shabal/src/lib.rs | 8 +++++--- shabal/src/shabal.rs | 26 ++++++++++++++------------ shabal/tests/lib.rs | 4 +--- 7 files changed, 27 insertions(+), 30 deletions(-) diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 4d4110afa..f90ce0ae7 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -5,18 +5,19 @@ description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/shabal" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" -block-buffer = "0.7" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/shabal/benches/shabal.rs b/shabal/benches/shabal.rs index 6d04faebe..c12553457 100644 --- a/shabal/benches/shabal.rs +++ b/shabal/benches/shabal.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate shabal; +use digest::bench; bench!(shabal::Shabal256); diff --git a/shabal/examples/shabal256sum.rs b/shabal/examples/shabal256sum.rs index 88621a38a..a0d601e95 100644 --- a/shabal/examples/shabal256sum.rs +++ b/shabal/examples/shabal256sum.rs @@ -1,5 +1,3 @@ -extern crate shabal; - use shabal::{Digest, Shabal256}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/shabal/examples/shabal512sum.rs b/shabal/examples/shabal512sum.rs index f280652a1..8ddb5c189 100644 --- a/shabal/examples/shabal512sum.rs +++ b/shabal/examples/shabal512sum.rs @@ -1,5 +1,3 @@ -extern crate shabal; - use shabal::{Digest, Shabal512}; use std::env; use std::fs; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index 30dfc5703..8d3b54953 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -23,7 +23,7 @@ //! let mut hasher = Shabal256::new(); //! //! // process input message -//! hasher.input(b"helloworld"); +//! hasher.update(b"helloworld"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] @@ -36,10 +36,12 @@ //! //! [1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] -extern crate block_buffer; #[macro_use] extern crate opaque_debug; #[macro_use] @@ -50,5 +52,5 @@ extern crate std; mod consts; mod shabal; +pub use crate::shabal::{Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; pub use digest::Digest; -pub use shabal::{Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 602d76f5c..b4bb15fdd 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -4,9 +4,9 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U24, U28, U32, U48, U64}; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; -use consts::{ +use crate::consts::{ A_INIT_192, A_INIT_224, A_INIT_256, A_INIT_384, A_INIT_512, B_INIT_192, B_INIT_224, B_INIT_256, B_INIT_384, B_INIT_512, C_INIT_192, C_INIT_224, C_INIT_256, C_INIT_384, C_INIT_512, }; @@ -37,11 +37,13 @@ impl EngineState { } fn process_block(&mut self, block: &Block) { + #[allow(unsafe_code)] let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; compress(self, block); } fn process_final_block(&mut self, block: &Block) { + #[allow(unsafe_code)] let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; compress_final(self, block); } @@ -269,8 +271,8 @@ impl BlockInput for Shabal512 { type BlockSize = BlockSize; } -impl Input for Shabal512 { - fn input>(&mut self, input: B) { +impl Update for Shabal512 { + fn update(&mut self, input: impl AsRef<[u8]>) { self.engine.input(input.as_ref()); } } @@ -311,8 +313,8 @@ impl BlockInput for Shabal384 { type BlockSize = BlockSize; } -impl Input for Shabal384 { - fn input>(&mut self, input: B) { +impl Update for Shabal384 { + fn update(&mut self, input: impl AsRef<[u8]>) { self.engine.input(input.as_ref()); } } @@ -353,8 +355,8 @@ impl BlockInput for Shabal256 { type BlockSize = BlockSize; } -impl Input for Shabal256 { - fn input>(&mut self, input: B) { +impl Update for Shabal256 { + fn update(&mut self, input: impl AsRef<[u8]>) { self.engine.input(input.as_ref()); } } @@ -395,8 +397,8 @@ impl BlockInput for Shabal224 { type BlockSize = BlockSize; } -impl Input for Shabal224 { - fn input>(&mut self, input: B) { +impl Update for Shabal224 { + fn update(&mut self, input: impl AsRef<[u8]>) { self.engine.input(input.as_ref()); } } @@ -437,8 +439,8 @@ impl BlockInput for Shabal192 { type BlockSize = BlockSize; } -impl Input for Shabal192 { - fn input>(&mut self, input: B) { +impl Update for Shabal192 { + fn update(&mut self, input: impl AsRef<[u8]>) { self.engine.input(input.as_ref()); } } diff --git a/shabal/tests/lib.rs b/shabal/tests/lib.rs index 6de08fd39..bf0891bf5 100644 --- a/shabal/tests/lib.rs +++ b/shabal/tests/lib.rs @@ -1,9 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; -extern crate shabal; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(shabal192_main, "shabal192", shabal::Shabal192, digest_test); new_test!(shabal224_main, "shabal224", shabal::Shabal224, digest_test); From ae342485ee87a6bc69bee692278995d3563fee85 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 21:07:40 -0700 Subject: [PATCH 052/373] streebog: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- streebog/Cargo.toml | 7 ++++--- streebog/benches/streebog256.rs | 2 +- streebog/benches/streebog512.rs | 2 +- streebog/examples/streebog256sum.rs | 4 +--- streebog/examples/streebog512sum.rs | 4 +--- streebog/src/lib.rs | 15 ++++++++++----- streebog/src/streebog.rs | 15 ++++++++------- streebog/src/table.rs | 2 +- streebog/tests/lib.rs | 2 +- 9 files changed, 28 insertions(+), 25 deletions(-) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index b4c25e5d5..5901fc9e8 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -5,19 +5,20 @@ description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/streebog" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } byte-tools = "0.3" -block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/streebog/benches/streebog256.rs b/streebog/benches/streebog256.rs index 653dfc154..52756c1b6 100644 --- a/streebog/benches/streebog256.rs +++ b/streebog/benches/streebog256.rs @@ -2,6 +2,6 @@ #![feature(test)] #[macro_use] extern crate digest; -extern crate streebog; +use streebog; bench!(streebog::Streebog256); diff --git a/streebog/benches/streebog512.rs b/streebog/benches/streebog512.rs index f7e63acc6..ee66a624f 100644 --- a/streebog/benches/streebog512.rs +++ b/streebog/benches/streebog512.rs @@ -2,6 +2,6 @@ #![feature(test)] #[macro_use] extern crate digest; -extern crate streebog; +use streebog; bench!(streebog::Streebog512); diff --git a/streebog/examples/streebog256sum.rs b/streebog/examples/streebog256sum.rs index f2409f0c5..87e120430 100644 --- a/streebog/examples/streebog256sum.rs +++ b/streebog/examples/streebog256sum.rs @@ -1,5 +1,3 @@ -extern crate streebog; - use std::env; use std::fs; use std::io::{self, Read}; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/streebog/examples/streebog512sum.rs b/streebog/examples/streebog512sum.rs index 9e5e6ac77..bb3fce914 100644 --- a/streebog/examples/streebog512sum.rs +++ b/streebog/examples/streebog512sum.rs @@ -1,5 +1,3 @@ -extern crate streebog; - use std::env; use std::fs; use std::io::{self, Read}; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 4a2f7fa8e..1d9216297 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -19,7 +19,7 @@ //! // create a hasher object, to use it do not forget to import `Digest` trait //! let mut hasher = Streebog256::new(); //! // write input message -//! hasher.input(b"my message"); +//! hasher.update(b"my message"); //! // read hash digest (it will consume hasher) //! let result = hasher.result(); //! @@ -29,7 +29,7 @@ //! //! // same for Streebog512 //! let mut hasher = Streebog512::new(); -//! hasher.input(b"my message"); +//! hasher.update(b"my message"); //! let result = hasher.result(); //! //! assert_eq!(result[..], hex!(" @@ -43,10 +43,12 @@ //! //! [1]: https://en.wikipedia.org/wiki/Streebog //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -extern crate block_buffer; -extern crate byte_tools; +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] pub extern crate digest; #[macro_use] @@ -57,13 +59,16 @@ extern crate std; use digest::generic_array::typenum::{U32, U64}; pub use digest::Digest; #[cfg(feature = "std")] -use digest::Input; +use digest::Update; mod consts; mod streebog; mod table; +/// Streebog256 pub type Streebog256 = streebog::Streebog; + +/// Streebog512 pub type Streebog512 = streebog::Streebog; impl_opaque_debug!(Streebog512); diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index 19d338b72..b435a6269 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -4,12 +4,12 @@ use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use byte_tools::copy; use core::marker::PhantomData; -use digest::generic_array::typenum::{Unsigned, U64}; +use digest::generic_array::typenum::U64; use digest::generic_array::{ArrayLength, GenericArray}; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; -use consts::{BLOCK_SIZE, C}; -use table::SHUFFLED_LIN_TABLE; +use crate::consts::{BLOCK_SIZE, C}; +use crate::table::SHUFFLED_LIN_TABLE; type Block = [u8; 64]; @@ -85,8 +85,9 @@ impl StreebogState { } fn process_block(&mut self, block: &GenericArray, msg_len: u8) { - let n = self.n; + #[allow(unsafe_code)] let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + let n = self.n; self.g(&n, block); self.update_n(msg_len); self.update_sigma(block); @@ -130,11 +131,11 @@ where type BlockSize = U64; } -impl Input for Streebog +impl Update for Streebog where N: ArrayLength + Copy, { - fn input>(&mut self, input: B) { + fn update(&mut self, input: impl AsRef<[u8]>) { let self_state = &mut self.state; self.buffer.input(input.as_ref(), |d| { self_state.process_block(d, BLOCK_SIZE as u8) diff --git a/streebog/src/table.rs b/streebog/src/table.rs index 6a0639516..d8d0b4004 100644 --- a/streebog/src/table.rs +++ b/streebog/src/table.rs @@ -2075,7 +2075,7 @@ pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = [ #[cfg(test)] mod test { use super::SHUFFLED_LIN_TABLE; - use consts::{A, P}; + use crate::consts::{A, P}; fn gen_table() -> [[u64; 256]; 8] { let mut table: [[u64; 256]; 8] = [[0; 256]; 8]; diff --git a/streebog/tests/lib.rs b/streebog/tests/lib.rs index e8513e820..b663f09b4 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate streebog; +use streebog; use digest::dev::digest_test; From acd65b7cb3351c3d281ce7c2983bfcd58a6f691b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 21:18:04 -0700 Subject: [PATCH 053/373] whirlpool: 2018 edition and `digest` crate upgrade Upgrades to Rust 2018 edition and the (now 2018 edition) `digest` v0.9.0-pre crate. --- streebog/benches/streebog256.rs | 4 +--- streebog/benches/streebog512.rs | 4 +--- whirlpool/Cargo.toml | 7 ++++--- whirlpool/benches/lib.rs | 4 +--- whirlpool/examples/whirlpool_sum.rs | 4 +--- whirlpool/src/lib.rs | 22 ++++++++++++++-------- whirlpool/src/utils.rs | 2 +- whirlpool/tests/lib.rs | 2 +- 8 files changed, 24 insertions(+), 25 deletions(-) diff --git a/streebog/benches/streebog256.rs b/streebog/benches/streebog256.rs index 52756c1b6..d4781d547 100644 --- a/streebog/benches/streebog256.rs +++ b/streebog/benches/streebog256.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -use streebog; +use digst::bench; bench!(streebog::Streebog256); diff --git a/streebog/benches/streebog512.rs b/streebog/benches/streebog512.rs index ee66a624f..6fd641822 100644 --- a/streebog/benches/streebog512.rs +++ b/streebog/benches/streebog512.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -use streebog; +use digest::bench; bench!(streebog::Streebog512); diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 8b1ce011d..71419306a 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -5,20 +5,21 @@ description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" +edition = "2018" documentation = "https://docs.rs/whirlpool" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.8" +digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } byte-tools = "0.3" -block-buffer = "0.7" opaque-debug = "0.2" whirlpool-asm = { version="0.5", optional=true } [dev-dependencies] -digest = { version = "0.8", features = ["dev"] } +digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } hex-literal = "0.1" [features] diff --git a/whirlpool/benches/lib.rs b/whirlpool/benches/lib.rs index a37b80d41..d6d3a6493 100644 --- a/whirlpool/benches/lib.rs +++ b/whirlpool/benches/lib.rs @@ -1,7 +1,5 @@ #![no_std] #![feature(test)] -#[macro_use] -extern crate digest; -extern crate whirlpool; +use digest::bench; bench!(whirlpool::Whirlpool); diff --git a/whirlpool/examples/whirlpool_sum.rs b/whirlpool/examples/whirlpool_sum.rs index c2358a94b..3b0bc1288 100644 --- a/whirlpool/examples/whirlpool_sum.rs +++ b/whirlpool/examples/whirlpool_sum.rs @@ -1,5 +1,3 @@ -extern crate whirlpool; - use std::env; use std::fs; use std::io::{self, Read}; @@ -25,7 +23,7 @@ fn process(reader: &mut R, name: &str) { Ok(n) => n, Err(_) => return, }; - sh.input(&buffer[..n]); + sh.update(&buffer[..n]); if n == 0 || n < BUFFER_SIZE { break; } diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index be3d540e7..d65bf97f2 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -22,7 +22,7 @@ //! // create a hasher object, to use it do not forget to import `Digest` trait //! let mut hasher = Whirlpool::new(); //! // write input message -//! hasher.input(b"Hello Whirlpool"); +//! hasher.update(b"Hello Whirlpool"); //! // read hash digest (it will consume hasher) //! let result = hasher.result(); //! @@ -37,14 +37,17 @@ //! //! [1]: https://en.wikipedia.org/wiki/Whirlpool_(hash_function) //! [2]: https://github.com/RustCrypto/hashes + #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + #[macro_use] extern crate opaque_debug; #[macro_use] pub extern crate digest; -extern crate block_buffer; -extern crate byte_tools; + #[cfg(feature = "std")] extern crate std; #[cfg(feature = "asm")] @@ -53,7 +56,7 @@ extern crate whirlpool_asm as utils; #[cfg(not(feature = "asm"))] mod utils; -use utils::compress; +use crate::utils::compress; use block_buffer::block_padding::Iso7816; #[cfg(not(feature = "asm"))] @@ -63,7 +66,7 @@ use byte_tools::zero; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; pub use digest::Digest; -use digest::{BlockInput, FixedOutput, Input, Reset}; +use digest::{BlockInput, FixedOutput, Reset, Update}; #[cfg(not(feature = "asm"))] mod consts; @@ -95,7 +98,10 @@ impl Default for Whirlpool { } fn convert(block: &GenericArray) -> &[u8; 64] { - unsafe { &*(block.as_ptr() as *const [u8; 64]) } + #[allow(unsafe_code)] + unsafe { + &*(block.as_ptr() as *const [u8; 64]) + } } impl Whirlpool { @@ -159,8 +165,8 @@ impl BlockInput for Whirlpool { type BlockSize = BlockSize; } -impl Input for Whirlpool { - fn input>(&mut self, input: B) { +impl Update for Whirlpool { + fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); self.update_len(input.len() as u64); let hash = &mut self.hash; diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index 69cd8966a..64911f0f6 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -1,7 +1,7 @@ #![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::needless_range_loop, clippy::double_parens))] +use crate::consts::*; use block_buffer::byteorder::{ByteOrder, BE}; -use consts::*; pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { let mut k = [0u64; 8]; diff --git a/whirlpool/tests/lib.rs b/whirlpool/tests/lib.rs index 0ebf5ee11..58b71217a 100644 --- a/whirlpool/tests/lib.rs +++ b/whirlpool/tests/lib.rs @@ -1,7 +1,7 @@ #![no_std] #[macro_use] extern crate digest; -extern crate whirlpool; +use whirlpool; use digest::dev::{digest_test, one_million_a}; From 5ad0de1b6457dbc463e431a2e4988cefb5857f06 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 27 May 2020 21:36:43 -0700 Subject: [PATCH 054/373] Cargo.toml: use patch.crates-io directive for digest ...and `block-modes. Now that all the crates have been upgraded, it's possible to pull in the new version globally to the namespace. Also pulls in `block-buffer` and `crypto-mac` this way. --- Cargo.toml | 5 +++++ blake2/Cargo.toml | 8 ++++---- gost94/Cargo.toml | 6 +++--- groestl/Cargo.toml | 6 +++--- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 6 +++--- md4/Cargo.toml | 6 +++--- md5/Cargo.toml | 6 +++--- ripemd160/Cargo.toml | 6 +++--- ripemd320/Cargo.toml | 6 +++--- sha1/Cargo.toml | 6 +++--- sha3/Cargo.toml | 6 +++--- shabal/Cargo.toml | 6 +++--- streebog/Cargo.toml | 6 +++--- whirlpool/Cargo.toml | 6 +++--- 15 files changed, 47 insertions(+), 42 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 287b17e5a..379fd3d5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,3 +16,8 @@ members = [ "streebog", "whirlpool", ] + +[patch.crates-io] +digest = { git = "https://github.com/RustCrypto/traits" } +block-buffer = { git = "https://github.com/RustCrypto/utils" } +crypto-mac = { git = "https://github.com/rustcrypto/traits" } diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 4c3602a72..dfc762e5d 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,15 +12,15 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "= 0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +digest = "= 0.9.0-pre" byte-tools = "0.3" byteorder = { version = "1", default-features = false } -crypto-mac = { version = "= 0.8.0-pre", git = "https://github.com/rustcrypto/traits" } +crypto-mac = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"], git = "https://github.com/rustcrypto/traits" } -crypto-mac = { version = "0.8.0-pre", features = ["dev"], git = "https://github.com/rustcrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } +crypto-mac = { version = "0.8.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index e70fad97d..f25a02aea 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 0aa8f4797..b8c983acb 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index b41f67717..b9458740d 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } +digest = "0.9.0-pre" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index a521e4152..4231ea4cc 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index bdb6944bc..34ec1652d 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" fake-simd = "0.1" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 073e654a0..2c981a7d6 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -15,13 +15,13 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" md5-asm = { version = "0.4", optional=true} opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index c81e359a9..49ac368e8 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd160", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index f618b5998..4c2229336 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd320", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index e27dec5a3..27857c5db 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -15,15 +15,15 @@ categories = ["cryptography", "no-std"] name = "sha1" [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "= 0.9.0-pre" +block-buffer = "0.7" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 2cdd89e56..5bdbebe74 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -12,14 +12,14 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "= 0.9.0-pre" +block-buffer = "0.7" byte-tools = "0.3" opaque-debug = "0.2" keccak = "0.1" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index f90ce0ae7..e88340745 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "= 0.9.0-pre" +block-buffer = "0.7" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 5901fc9e8..5c44f8605 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "= 0.9.0-pre" +block-buffer = "0.7" byte-tools = "0.3" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 71419306a..d13e03e32 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -12,14 +12,14 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = "= 0.9.0-pre" +block-buffer = "0.7" byte-tools = "0.3" opaque-debug = "0.2" whirlpool-asm = { version="0.5", optional=true } [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] From 1348a5c7905ad936fe3f1c56f69529e4ae72facd Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 08:45:14 -0700 Subject: [PATCH 055/373] clippy fixups Allows clippy to pass on MSRV (1.41). Adds clippy to the Workspace workflow for GitHub Actions. --- .github/workflows/workspace.yml | 11 +++++++++++ blake2/src/consts.rs | 2 +- blake2/src/simd.rs | 2 -- blake2/src/simd/simd_opt.rs | 2 -- blake2/src/simd/simd_opt/u32x4.rs | 2 -- blake2/src/simd/simd_opt/u64x4.rs | 2 -- blake2/src/simd/simdty.rs | 5 +---- blake2/tests/lib.rs | 1 - gost94/src/gost94.rs | 10 +++++++++- gost94/src/macros.rs | 1 + gost94/tests/lib.rs | 1 - groestl/src/groestl.rs | 2 +- groestl/src/matrix.rs | 2 -- k12/src/lanes.rs | 17 ++--------------- k12/src/lib.rs | 20 +++++++------------- md2/tests/lib.rs | 1 - md4/src/lib.rs | 1 + md4/tests/lib.rs | 1 - md5/src/consts.rs | 2 +- md5/src/utils.rs | 2 +- md5/tests/lib.rs | 1 - ripemd160/tests/lib.rs | 1 - ripemd320/tests/lib.rs | 1 - sha1/src/consts.rs | 2 +- sha1/src/utils.rs | 2 +- sha1/tests/lib.rs | 1 - sha2/src/consts.rs | 3 +-- sha2/src/sha256_utils.rs | 2 +- sha2/src/sha512_utils.rs | 2 +- sha2/tests/lib.rs | 1 - sha3/src/state.rs | 1 - sha3/tests/lib.rs | 1 - shabal/src/shabal.rs | 2 +- streebog/benches/streebog256.rs | 2 +- streebog/src/streebog.rs | 2 +- streebog/src/table.rs | 2 +- streebog/tests/lib.rs | 1 - whirlpool/src/consts.rs | 2 +- whirlpool/src/utils.rs | 7 +++---- whirlpool/tests/lib.rs | 1 - 40 files changed, 49 insertions(+), 75 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index ffb7c5023..b28678eba 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -10,6 +10,17 @@ on: - README.md jobs: + clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 # MSRV + components: clippy + - run: cargo clippy --all --all-features -- -D warnings + rustfmt: runs-on: ubuntu-latest steps: diff --git a/blake2/src/consts.rs b/blake2/src/consts.rs index f0c47d280..ab76c0e17 100644 --- a/blake2/src/consts.rs +++ b/blake2/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(clippy::unreadable_literal)] pub static SIGMA: [[usize; 16]; 12] = [ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], diff --git a/blake2/src/simd.rs b/blake2/src/simd.rs index 5abc34627..0d3dfd346 100644 --- a/blake2/src/simd.rs +++ b/blake2/src/simd.rs @@ -5,8 +5,6 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] - mod simd_opt; mod simdint; mod simdop; diff --git a/blake2/src/simd/simd_opt.rs b/blake2/src/simd/simd_opt.rs index f9cd1624e..e143ba4ec 100644 --- a/blake2/src/simd/simd_opt.rs +++ b/blake2/src/simd/simd_opt.rs @@ -5,8 +5,6 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] - #[allow(unused_macros)] #[cfg(feature = "simd")] macro_rules! transmute_shuffle { diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index 7717dfe10..a3d8e3d6d 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -5,8 +5,6 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] - use crate::simd::simdty::u32x4; #[cfg(feature = "simd_opt")] diff --git a/blake2/src/simd/simd_opt/u64x4.rs b/blake2/src/simd/simd_opt/u64x4.rs index e25c7b9ad..0a6972a87 100644 --- a/blake2/src/simd/simd_opt/u64x4.rs +++ b/blake2/src/simd/simd_opt/u64x4.rs @@ -5,8 +5,6 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![cfg_attr(feature = "clippy", allow(clippy::inline_always))] - use crate::simd::simdty::u64x4; #[cfg(feature = "simd_opt")] diff --git a/blake2/src/simd/simdty.rs b/blake2/src/simd/simdty.rs index ac4ba025d..008b8b48c 100644 --- a/blake2/src/simd/simdty.rs +++ b/blake2/src/simd/simdty.rs @@ -5,9 +5,7 @@ // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. -#![allow(dead_code)] -#![allow(non_camel_case_types)] -#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always))] +#![allow(dead_code, non_camel_case_types)] use crate::as_bytes::Safe; @@ -65,7 +63,6 @@ pub type u16x16 = Simd16; pub type u8x32 = Simd32; -#[cfg_attr(feature = "clippy", allow(clippy::inline_always))] impl Simd4 { #[inline(always)] pub fn new(e0: T, e1: T, e2: T, e3: T) -> Simd4 { diff --git a/blake2/tests/lib.rs b/blake2/tests/lib.rs index 601c215b8..aa1ca742b 100644 --- a/blake2/tests/lib.rs +++ b/blake2/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use blake2; use digest::dev::{digest_test, variable_test}; diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index f55deee9d..ee6532316 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -1,3 +1,5 @@ +#![allow(clippy::many_single_char_names)] + use block_buffer::block_padding::ZeroPadding; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; @@ -16,11 +18,14 @@ pub type SBox = [[u8; 16]; 8]; fn sbox(a: u32, s: &SBox) -> u32 { let mut v = 0; + + #[allow(clippy::needless_range_loop)] for i in 0..8 { let shft = 4 * i; let k = ((a & (0b1111u32 << shft)) >> shft) as usize; v += u32::from(s[i][k]) << shft; } + v } @@ -28,6 +33,7 @@ fn g(a: u32, k: u32, s: &SBox) -> u32 { sbox(a.wrapping_add(k), s).rotate_left(11) } +#[allow(clippy::needless_range_loop)] fn encrypt(msg: &mut [u8], key: Block, sbox: &SBox) { let mut k = [0u32; 8]; let mut a = LE::read_u32(&msg[0..4]); @@ -46,6 +52,7 @@ fn encrypt(msg: &mut [u8], key: Block, sbox: &SBox) { b = a; a = t; } + LE::write_u32_into(&[b, a], msg); } @@ -196,6 +203,7 @@ impl Gost94State { } } +/// GOST94 #[derive(Clone)] pub struct Gost94 { buffer: BlockBuffer, @@ -204,7 +212,7 @@ pub struct Gost94 { } impl Gost94 { - // Create new GOST94 instance with given S-Box and IV + /// Create new [`Gost94`] instance with given S-Box and IV pub fn new(s: SBox, h: Block) -> Self { let n = Default::default(); let sigma = Default::default(); diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index 078e4d0e9..c6c34dba6 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -5,6 +5,7 @@ macro_rules! gost94_impl { use digest::{BlockInput, FixedOutput, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; + /// GOST94 state #[derive(Clone)] pub struct $state { sh: Gost94, diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index 98aad9426..d9617ed1d 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use gost94; use digest::dev::{digest_test, one_million_a}; diff --git a/groestl/src/groestl.rs b/groestl/src/groestl.rs index 334e6ec09..238bd9059 100644 --- a/groestl/src/groestl.rs +++ b/groestl/src/groestl.rs @@ -2,7 +2,7 @@ use core::ops::Div; use block_buffer::byteorder::BE; use block_buffer::BlockBuffer; -use digest; + use digest::generic_array::typenum::{Quot, U8}; use digest::generic_array::{ArrayLength, GenericArray}; diff --git a/groestl/src/matrix.rs b/groestl/src/matrix.rs index f276621e6..433ddb66f 100644 --- a/groestl/src/matrix.rs +++ b/groestl/src/matrix.rs @@ -1,6 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop))] use core::ops::{Index, IndexMut}; - use digest::generic_array::{ArrayLength, GenericArray}; #[derive(Debug, Eq, PartialEq)] diff --git a/k12/src/lanes.rs b/k12/src/lanes.rs index f33e2cfa0..8214fb4e0 100644 --- a/k12/src/lanes.rs +++ b/k12/src/lanes.rs @@ -1,18 +1,4 @@ -/// Copied from `arrayref` crate -macro_rules! array_ref { - ($arr:expr, $offset:expr, $len:expr) => {{ - #[allow(unsafe_code)] - { - #[inline] - unsafe fn as_array(slice: &[T]) -> &[T; $len] { - &*(slice.as_ptr() as *const [_; $len]) - } - let offset = $offset; - let slice = &$arr[offset..offset + $len]; - unsafe { as_array(slice) } - } - }}; -} +#![allow(clippy::unreadable_literal)] macro_rules! REPEAT4 { ($e: expr) => { @@ -104,6 +90,7 @@ pub fn keccak(lanes: &mut [u64; 25]) { let mut c = [0u64; 5]; let (mut x, mut y): (usize, usize); + #[allow(clippy::needless_range_loop)] for round in 0..12 { // θ FOR5!(x, 1, { diff --git a/k12/src/lib.rs b/k12/src/lib.rs index b5a29f5c1..a2b251683 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -22,7 +22,7 @@ mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; -use core::cmp::min; +use core::{cmp::min, convert::TryInto}; use digest::{Update, XofReader}; /// The KangarooTwelve extendable-output function (XOF). @@ -112,9 +112,12 @@ impl XofReader for KangarooTwelve { let mut node_star = Vec::new(); node_star.extend_from_slice(slices[0]); node_star.extend_from_slice(&[3, 0, 0, 0, 0, 0, 0, 0]); + + #[allow(clippy::needless_range_loop)] for i in 0..n - 1 { node_star.extend_from_slice(&intermediate[i][..]); } + node_star.extend_from_slice(&right_encode(n - 1)); node_star.extend_from_slice(b"\xFF\xFF"); @@ -175,29 +178,20 @@ fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { output } -#[allow(unsafe_code)] -fn read_u64(bytes: &[u8; 8]) -> u64 { - unsafe { *(bytes as *const _ as *const u64) }.to_le() -} - -#[allow(unsafe_code)] -fn write_u64(val: u64) -> [u8; 8] { - unsafe { *(&val.to_le() as *const u64 as *const _) } -} - fn keccak(state: &mut [u8; 200]) { let mut lanes = [0u64; 25]; let mut y; for x in 0..5 { FOR5!(y, 5, { - lanes[x + y] = read_u64(array_ref!(state, 8 * (x + y), 8)); + let pos = 8 * (x + y); + lanes[x + y] = u64::from_le_bytes(state[pos..(pos + 8)].try_into().unwrap()); }); } lanes::keccak(&mut lanes); for x in 0..5 { FOR5!(y, 5, { let i = 8 * (x + y); - state[i..i + 8].copy_from_slice(&write_u64(lanes[x + y])); + state[i..i + 8].copy_from_slice(&lanes[x + y].to_le_bytes()); }); } } diff --git a/md2/tests/lib.rs b/md2/tests/lib.rs index 6aac1af59..c2d1de10f 100644 --- a/md2/tests/lib.rs +++ b/md2/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use md2; use digest::dev::{digest_test, one_million_a}; diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 332d8021b..6eb54d22f 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -30,6 +30,7 @@ #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![deny(unsafe_code)] #![warn(rust_2018_idioms)] +#![allow(clippy::many_single_char_names)] #[macro_use] extern crate opaque_debug; diff --git a/md4/tests/lib.rs b/md4/tests/lib.rs index d885ddf51..135b22c91 100644 --- a/md4/tests/lib.rs +++ b/md4/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use md4; use digest::dev::{digest_test, one_million_a}; diff --git a/md5/src/consts.rs b/md5/src/consts.rs index b6f75edcb..e9b94edb7 100644 --- a/md5/src/consts.rs +++ b/md5/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(clippy::unreadable_literal)] /// Round constants #[cfg(not(feature = "asm"))] diff --git a/md5/src/utils.rs b/md5/src/utils.rs index ab5fd6ffc..8a946e70f 100644 --- a/md5/src/utils.rs +++ b/md5/src/utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::inline_always, clippy::many_single_char_names))] +#![allow(clippy::many_single_char_names)] use crate::consts::RC; use block_buffer::byteorder::{ByteOrder, LE}; diff --git a/md5/tests/lib.rs b/md5/tests/lib.rs index 0cdbc33fc..c77ec2f79 100644 --- a/md5/tests/lib.rs +++ b/md5/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use md5; use digest::dev::{digest_test, one_million_a}; diff --git a/ripemd160/tests/lib.rs b/ripemd160/tests/lib.rs index 34b7f0a7d..b31414039 100644 --- a/ripemd160/tests/lib.rs +++ b/ripemd160/tests/lib.rs @@ -2,7 +2,6 @@ #![no_std] #[macro_use] extern crate digest; -use ripemd160; use digest::dev::{digest_test, one_million_a}; diff --git a/ripemd320/tests/lib.rs b/ripemd320/tests/lib.rs index ed3cdc5ba..27c4ca001 100644 --- a/ripemd320/tests/lib.rs +++ b/ripemd320/tests/lib.rs @@ -4,7 +4,6 @@ #[macro_use] extern crate digest; -use ripemd320; use digest::dev::{digest_test, one_million_a}; diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs index 63e537fe8..277576ac9 100644 --- a/sha1/src/consts.rs +++ b/sha1/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(clippy::unreadable_literal)] pub const STATE_LEN: usize = 5; diff --git a/sha1/src/utils.rs b/sha1/src/utils.rs index 8a3588225..e9ab899ec 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +#![allow(clippy::many_single_char_names)] use crate::consts::{BLOCK_LEN, K0, K1, K2, K3}; use crate::simd::u32x4; diff --git a/sha1/tests/lib.rs b/sha1/tests/lib.rs index b9b77734f..c73e8f5eb 100644 --- a/sha1/tests/lib.rs +++ b/sha1/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use sha1; use digest::dev::{digest_test, one_million_a}; diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index 1bb43053f..ce8708839 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,5 +1,4 @@ -#![allow(dead_code)] -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(dead_code, clippy::unreadable_literal)] use crate::simd::u32x4; use crate::simd::u64x2; diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs index bf17cf93c..ec8109cdb 100644 --- a/sha2/src/sha256_utils.rs +++ b/sha2/src/sha256_utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +#![allow(clippy::many_single_char_names)] use crate::consts::{BLOCK_LEN, K32X4}; use crate::simd::u32x4; diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512_utils.rs index a97959b6f..9fb822fc5 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512_utils.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::many_single_char_names))] +#![allow(clippy::many_single_char_names)] use crate::consts::{BLOCK_LEN, K64X2}; use crate::simd::u64x2; diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index b73417ddd..4669ed50f 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use sha2; use digest::dev::{digest_test, one_million_a}; diff --git a/sha3/src/state.rs b/sha3/src/state.rs index f0b352dc8..aa24e9cd0 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,5 +1,4 @@ use block_buffer::byteorder::{ByteOrder, LE}; -use keccak; const PLEN: usize = 25; diff --git a/sha3/tests/lib.rs b/sha3/tests/lib.rs index 694ce2d4c..d9fec3355 100644 --- a/sha3/tests/lib.rs +++ b/sha3/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use sha3; use digest::dev::{digest_test, xof_test}; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index b4bb15fdd..9e8bd076d 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -136,7 +136,7 @@ impl EngineState { } #[inline] - #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] + #[allow(clippy::too_many_arguments)] fn perm_elt( &mut self, xa0: usize, diff --git a/streebog/benches/streebog256.rs b/streebog/benches/streebog256.rs index d4781d547..c742edabc 100644 --- a/streebog/benches/streebog256.rs +++ b/streebog/benches/streebog256.rs @@ -1,5 +1,5 @@ #![no_std] #![feature(test)] -use digst::bench; +use digest::bench; bench!(streebog::Streebog256); diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index b435a6269..559d40fd1 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,4 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::needless_range_loop, clippy::inline_always))] use block_buffer::block_padding::ZeroPadding; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; @@ -50,6 +49,7 @@ impl StreebogState { lps(&mut key, n); + #[allow(clippy::needless_range_loop)] for i in 0..12 { lps(&mut block, &key); lps(&mut key, &C[i]); diff --git a/streebog/src/table.rs b/streebog/src/table.rs index d8d0b4004..337578285 100644 --- a/streebog/src/table.rs +++ b/streebog/src/table.rs @@ -3,7 +3,7 @@ //! //! It was created using `gen_table` function -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(clippy::unreadable_literal)] pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = [ [ diff --git a/streebog/tests/lib.rs b/streebog/tests/lib.rs index b663f09b4..5225523d5 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use streebog; use digest::dev::digest_test; diff --git a/whirlpool/src/consts.rs b/whirlpool/src/consts.rs index ce5ddda50..aad56c63e 100644 --- a/whirlpool/src/consts.rs +++ b/whirlpool/src/consts.rs @@ -1,4 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))] +#![allow(clippy::unreadable_literal)] pub static R: usize = 10; diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index 64911f0f6..f5c0f9053 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clippy::identity_op, clippy::needless_range_loop, clippy::double_parens))] - use crate::consts::*; use block_buffer::byteorder::{ByteOrder, BE}; @@ -16,9 +14,10 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { state[i] = block[i] ^ k[i]; } + #[allow(clippy::needless_range_loop)] for r in 1..(R + 1) { for i in 0..8 { - l[i] = C0[(k[(0 + i) % 8] >> 56) as usize] + l[i] = C0[(k[(i) % 8] >> 56) as usize] ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] @@ -30,7 +29,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { } k = l; for i in 0..8 { - l[i] = C0[(state[(0 + i) % 8] >> 56) as usize] + l[i] = C0[(state[(i) % 8] >> 56) as usize] ^ C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] ^ C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] ^ C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] diff --git a/whirlpool/tests/lib.rs b/whirlpool/tests/lib.rs index 58b71217a..359d07c6b 100644 --- a/whirlpool/tests/lib.rs +++ b/whirlpool/tests/lib.rs @@ -1,7 +1,6 @@ #![no_std] #[macro_use] extern crate digest; -use whirlpool; use digest::dev::{digest_test, one_million_a}; From 3777b926ee56a7753088cb0d3b1567e077a1fbee Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 10:26:22 -0700 Subject: [PATCH 056/373] sha2: add diagram to README.md --- sha2/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sha2/README.md b/sha2/README.md index a7b499e1c..bf4fa30b7 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -11,6 +11,8 @@ including SHA-224, SHA-256, SHA-384, and SHA-512. [Documentation][docs-link] + + ## Minimum Supported Rust Version Rust **1.41** or higher. From e3f221b731fbcce24605c5a560b3e6c8f45768eb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 10:32:20 -0700 Subject: [PATCH 057/373] .github: fix clippy config --- .github/workflows/workspace.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index b28678eba..65747058d 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -11,15 +11,15 @@ on: jobs: clippy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.41.0 # MSRV - components: clippy - - run: cargo clippy --all --all-features -- -D warnings + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 # MSRV + components: clippy + - run: cargo clippy --all -- -D warnings rustfmt: runs-on: ubuntu-latest From e39a1c58fa02231b5d88eadb7a45c7d767d1bd62 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 10:47:44 -0700 Subject: [PATCH 058/373] .github: add security audit (RustSec) --- .github/workflows/security-audit.yml | 24 ++ .gitignore | 1 - Cargo.lock | 345 +++++++++++++++++++++++++++ 3 files changed, 369 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/security-audit.yml create mode 100644 Cargo.lock diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml new file mode 100644 index 000000000..0d82d54ba --- /dev/null +++ b/.github/workflows/security-audit.yml @@ -0,0 +1,24 @@ +name: Security Audit +on: + pull_request: + paths: Cargo.lock + push: + branches: master + paths: Cargo.lock + schedule: + - cron: "0 0 * * *" + +jobs: + security_audit: + name: Security Audit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Cache cargo bin + uses: actions/cache@v1 + with: + path: ~/.cargo/bin + key: ${{ runner.os }}-cargo-audit-v0.12.0 + - uses: actions-rs/audit-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 9de1de063..8c754c8f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ target/ */target/ */*/target/ -Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 000000000..0164b4d7d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,345 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "blake2" +version = "0.8.1" +dependencies = [ + "byte-tools", + "byteorder", + "crypto-mac", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "blobby" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe5f8c2940b65859ece4b3b2ba02d2b12c87cab455fd42dee2556a187bb2cf6" +dependencies = [ + "byteorder", +] + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "git+https://github.com/RustCrypto/utils#b4c5b5485ce2b3fd4184bec8aed4730dfe37c132" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" + +[[package]] +name = "cc" +version = "1.0.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" + +[[package]] +name = "crypto-mac" +version = "0.8.0-pre" +source = "git+https://github.com/rustcrypto/traits#d8c0b4d50b14f2161a47aa6014a7bdfecc10e017" +dependencies = [ + "blobby", + "generic-array", + "subtle", +] + +[[package]] +name = "digest" +version = "0.9.0-pre" +source = "git+https://github.com/rustcrypto/traits#d8c0b4d50b14f2161a47aa6014a7bdfecc10e017" +dependencies = [ + "blobby", + "generic-array", +] + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "generic-array" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2664c2cf08049036f31015b04c6ac3671379a1d86f52ed2416893f16022deb" +dependencies = [ + "typenum", +] + +[[package]] +name = "gost94" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "groestl" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "hex-literal" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc2928beef125e519d69ae1baa8c37ea2e0d3848545217f6db0179c5eb1d639" +dependencies = [ + "hex-literal-impl", + "proc-macro-hack", +] + +[[package]] +name = "hex-literal-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520870c3213943eb8d7803e80180d12a6c7ceb4ae74602544529d1643dc4ddda" +dependencies = [ + "proc-macro-hack", +] + +[[package]] +name = "k12" +version = "0.0.1" +dependencies = [ + "digest", + "hex-literal", +] + +[[package]] +name = "keccak" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" + +[[package]] +name = "libc" +version = "0.2.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" + +[[package]] +name = "md-5" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "md5-asm", + "opaque-debug", +] + +[[package]] +name = "md2" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "md4" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "fake-simd", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "md5-asm" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b47e5a1261ecd6ba951d1ad392534743310e513ef1e2609023368798829f33e" +dependencies = [ + "cc", +] + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "proc-macro-hack" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463bf29e7f11344e58c9e01f171470ab15c925c6822ad75028cc1c0e1d1eb63b" +dependencies = [ + "proc-macro-hack-impl", +] + +[[package]] +name = "proc-macro-hack-impl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c47dcb1594802de8c02f3b899e2018c78291168a22c281be21ea0fb4796842" + +[[package]] +name = "ripemd160" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "ripemd320" +version = "0.8.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "sha-1" +version = "0.8.2" +dependencies = [ + "block-buffer", + "digest", + "fake-simd", + "hex-literal", + "libc", + "opaque-debug", + "sha1-asm", +] + +[[package]] +name = "sha1-asm" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9dae2289dd5f5dc67fb0f341a5676c5c197415c51ce7345ae1bd0d36a6cbbfc" +dependencies = [ + "cc", +] + +[[package]] +name = "sha2" +version = "0.8.2" +dependencies = [ + "block-buffer", + "digest", + "fake-simd", + "hex-literal", + "libc", + "opaque-debug", + "sha2-asm", +] + +[[package]] +name = "sha2-asm" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817aaf5c624a7ccba7b46fb2caea2c3192831a5a2e5f66a288de21eac5e6784c" +dependencies = [ + "cc", +] + +[[package]] +name = "sha3" +version = "0.8.2" +dependencies = [ + "block-buffer", + "byte-tools", + "digest", + "hex-literal", + "keccak", + "opaque-debug", +] + +[[package]] +name = "shabal" +version = "0.2.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "streebog" +version = "0.8.0" +dependencies = [ + "block-buffer", + "byte-tools", + "digest", + "hex-literal", + "opaque-debug", +] + +[[package]] +name = "subtle" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" + +[[package]] +name = "typenum" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" + +[[package]] +name = "whirlpool" +version = "0.8.1" +dependencies = [ + "block-buffer", + "byte-tools", + "digest", + "hex-literal", + "opaque-debug", + "whirlpool-asm", +] + +[[package]] +name = "whirlpool-asm" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb23be8b0dec6fafef14563c42ec98bbfc33f2a97ed5bc99cd8b50ea5c68097" +dependencies = [ + "cc", +] From 3e3b1a89b8e6eab06ae064a9327d1bba7cf8637b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 11:24:01 -0700 Subject: [PATCH 059/373] README.md: add crate names in table --- README.md | 86 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index fb30b8e42..e9fb39f26 100644 --- a/README.md +++ b/README.md @@ -12,52 +12,54 @@ bare-metal or WebAssembly programming. standards is not a primary concern, we strongly recommend to use either BLAKE2, SHA-2 or SHA-3. -| Name | Crates.io | Documentation | Build Status | [Security Level] | -|------|------------|----------------|--------------|------------------| -| [BLAKE2](https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2) | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push) | :green_heart: | -| [GOST94](https://en.wikipedia.org/wiki/GOST_(hash_function)) (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push) | :yellow_heart: | -| [Grøstl](https://en.wikipedia.org/wiki/Grøstl) (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push) | :green_heart: | -| [KangarooTwelve](https://keccak.team/kangarootwelve.html) | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push) | :green_heart: | -| [MD2](https://en.wikipedia.org/wiki/MD2_(cryptography)) | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push) | :broken_heart: | -| [MD4](https://en.wikipedia.org/wiki/MD4) | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push) | :broken_heart: | -| [MD5](https://en.wikipedia.org/wiki/MD5) [:exclamation:](#crate-names) | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push) | :broken_heart: | -| [RIPEMD-160](https://en.wikipedia.org/wiki/RIPEMD) | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push) | :green_heart: | -| [RIPEMD-320](https://en.wikipedia.org/wiki/RIPEMD) | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push) | :green_heart:* | -| [SHA-1](https://en.wikipedia.org/wiki/SHA-1) [:exclamation:](#crate-names) | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push) | :broken_heart: | -| [SHA-2](https://en.wikipedia.org/wiki/SHA-2) | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push) | :green_heart: | -| [SHA-3](https://en.wikipedia.org/wiki/SHA-3) (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push) | :green_heart: | -| [SHABAL](https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf) | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push) | :green_heart: | -| [Streebog](https://en.wikipedia.org/wiki/Streebog) (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push) | :yellow_heart: | -| [Whirlpool](https://en.wikipedia.org/wiki/Whirlpool_(cryptography)) | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push) | :green_heart: | - -[Security Level]: https://en.wikipedia.org/wiki/Hash_function_security_summary +| Name | Algorithm | Crates.io | Documentation | Build Status | [Security] | +|-------------|------------|-----------|---------------|--------------|------------| +| `blake2` | [BLAKE2] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push) | :green_heart: | +| `gost94` | [GOST94] (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push) | :yellow_heart: | +| `groestl` | [Grøstl] (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push) | :green_heart: | +| `k12` | [KangarooTwelve] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push) | :green_heart: | +| `md2` | [MD2] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push) | :broken_heart: | +| `md4` | [MD4] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push) | :broken_heart: | +| `md-5` [:exclamation:] | [MD5] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push) | :broken_heart: | +| `ripemd160` | [RIPEMD-160] | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push) | :green_heart: | +| `ripemd320` | [RIPEMD-320] | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push) | :green_heart:* | +| `sha-1` [:exclamation:] | [SHA-1] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push) | :broken_heart: | +| `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push) | :green_heart: | +| `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push) | :green_heart: | +| `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push) | :green_heart: | +| `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push) | :yellow_heart: | +| `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push) | :green_heart: | + \* RIPEMD-320 provides only the same security as RIPEMD-160 -### Security Level Legend +[Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary +[:exclamation:]: #crate-names + +### Crate names +Whenever possible crates are published under the the same name as the crate +folder. Owners of `md5` and `sha1` crates declined +([1](https://github.com/stainless-steel/md5/pull/2), +[2](https://github.com/mitsuhiko/rust-sha1/issues/17)) to participate in this +project. This is why crates marked by :exclamation: are published under +`md-5` and `sha-1` names respectively. +### Security Level Legend The following describes the security level ratings associated with each hash function (i.e. algorithms, not the specific implementation): -| Heart | Description | -|-------|-------------| -| :green_heart: | No known successful attacks | +| Heart | Description | +|----------------|-------------| +| :green_heart: | No known successful attacks | | :yellow_heart: | Theoretical break: security lower than claimed | | :broken_heart: | Attack demonstrated in practice: avoid if at all possible | +See the [Security] page on Wikipedia for more information. + ### Minimum Supported Rust Version (MSRV) All crates in this repository support Rust 1.21 or higher. In future minimally supported version of Rust can be changed, but it will be done with a minor version bump. -### Crate names - -Whenever possible crates are published under the the same name as the crate -folder. Owners of `md5` and `sha1` crates declined -([1](https://github.com/stainless-steel/md5/pull/2), -[2](https://github.com/mitsuhiko/rust-sha1/issues/17)) to participate in this -project. This is why crates marked by :exclamation: are published under -`md-5` and `sha-1` names respectively. - ## Usage Let us demonstrate how to use crates in this repository using BLAKE2b as an example. @@ -183,9 +185,29 @@ Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. +[//]: # (footnotes) + [1]: https://en.wikipedia.org/wiki/Cryptographic_hash_function [2]: https://docs.rs/generic-array [3]: https://doc.rust-lang.org/std/io/trait.Read.html [4]: https://doc.rust-lang.org/std/io/trait.Write.html [5]: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code [6]: https://github.com/RustCrypto/MACs + +[//]: # (algorithms) + +[BLAKE2]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 +[GOST94]: https://en.wikipedia.org/wiki/GOST_(hash_function) +[Grøstl]: https://en.wikipedia.org/wiki/Grøstl +[KangarooTwelve]: https://keccak.team/kangarootwelve.html +[MD2]: https://en.wikipedia.org/wiki/MD2_(cryptography) +[MD4]: https://en.wikipedia.org/wiki/MD4 +[MD5]: https://en.wikipedia.org/wiki/MD5 +[RIPEMD-160]: https://en.wikipedia.org/wiki/RIPEMD +[RIPEMD-320]: https://en.wikipedia.org/wiki/RIPEMD +[SHA-1]: https://en.wikipedia.org/wiki/SHA-1 +[SHA-2]: https://en.wikipedia.org/wiki/SHA-2 +[SHA-3]: https://en.wikipedia.org/wiki/SHA-3 +[SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[Streebog]: https://en.wikipedia.org/wiki/Streebog +[Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography) From 11c78a606b6e7467e8ab44b2a99a9dafc42df94c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 28 May 2020 13:49:38 -0700 Subject: [PATCH 060/373] Bump all versions to `*-pre` ...to reflect the breaking `digest` update --- Cargo.lock | 30 +++++++++++++++--------------- blake2/Cargo.toml | 2 +- gost94/Cargo.toml | 2 +- groestl/Cargo.toml | 2 +- k12/Cargo.toml | 2 +- md2/Cargo.toml | 2 +- md4/Cargo.toml | 2 +- md5/Cargo.toml | 2 +- ripemd160/Cargo.toml | 2 +- ripemd320/Cargo.toml | 2 +- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- sha3/Cargo.toml | 2 +- shabal/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- whirlpool/Cargo.toml | 2 +- 16 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0164b4d7d..3badbaf4f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "blake2" -version = "0.8.1" +version = "0.9.0-pre" dependencies = [ "byte-tools", "byteorder", @@ -95,7 +95,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -105,7 +105,7 @@ dependencies = [ [[package]] name = "groestl" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -134,7 +134,7 @@ dependencies = [ [[package]] name = "k12" -version = "0.0.1" +version = "0.1.0-pre" dependencies = [ "digest", "hex-literal", @@ -154,7 +154,7 @@ checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "md-5" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -165,7 +165,7 @@ dependencies = [ [[package]] name = "md2" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -175,7 +175,7 @@ dependencies = [ [[package]] name = "md4" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -216,7 +216,7 @@ checksum = "38c47dcb1594802de8c02f3b899e2018c78291168a22c281be21ea0fb4796842" [[package]] name = "ripemd160" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -226,7 +226,7 @@ dependencies = [ [[package]] name = "ripemd320" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -236,7 +236,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.8.2" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -258,7 +258,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.2" +version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", @@ -280,7 +280,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.8.2" +version = "0.9.0-pre" dependencies = [ "block-buffer", "byte-tools", @@ -292,7 +292,7 @@ dependencies = [ [[package]] name = "shabal" -version = "0.2.0" +version = "0.3.0-pre" dependencies = [ "block-buffer", "digest", @@ -302,7 +302,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.8.0" +version = "0.9.0-pre" dependencies = [ "block-buffer", "byte-tools", @@ -325,7 +325,7 @@ checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] name = "whirlpool" -version = "0.8.1" +version = "0.9.0-pre" dependencies = [ "block-buffer", "byte-tools", diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index dfc762e5d..c58b9037f 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.8.1" +version = "0.9.0-pre" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index f25a02aea..fe25619a8 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.8.0" +version = "0.9.0-pre" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index b8c983acb..2e972c42b 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groestl" -version = "0.8.0" +version = "0.9.0-pre" description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/k12/Cargo.toml b/k12/Cargo.toml index b9458740d..0fe779655 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.0.1" +version = "0.1.0-pre" description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 4231ea4cc..cfde5e6dc 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.8.0" +version = "0.9.0-pre" license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 34ec1652d..8e2ea4a50 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.8.0" +version = "0.9.0-pre" description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 2c981a7d6..c3b776b8e 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.8.0" +version = "0.9.0-pre" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 49ac368e8..004746372 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd160" -version = "0.8.0" +version = "0.9.0-pre" description = "RIPEMD-160 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 4c2229336..7ec3345e3 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd320" -version = "0.8.0" +version = "0.9.0-pre" description = "RIPEMD-320 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 27857c5db..ba035eeb5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.8.2" +version = "0.9.0-pre" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 5850ed008..bf8703abe 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.8.2" +version = "0.9.0-pre" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 5bdbebe74..5f6a5a174 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.8.2" +version = "0.9.0-pre" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index e88340745..2ac1e3eb7 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shabal" -version = "0.2.0" +version = "0.3.0-pre" description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 5c44f8605..2417c4b35 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.8.0" +version = "0.9.0-pre" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index d13e03e32..5a384a8e6 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.8.1" +version = "0.9.0-pre" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 70f15dd4e4e756ca33926087100d59be117916fa Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 29 May 2020 07:16:49 -0700 Subject: [PATCH 061/373] sha2: remove git-based dependences from Cargo.toml These are leftover from the upgrade, and can all be managed by `patch.crates-io` until a real release. --- sha2/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index bf8703abe..ad966485d 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,15 +15,15 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre", git = "https://github.com/RustCrypto/traits" } -block-buffer = { version = "0.7", git = "https://github.com/RustCrypto/utils" } +digest = { version = "0.9.0-pre" } +block-buffer = { version = "0.7" } fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"], git = "https://github.com/RustCrypto/traits" } +digest = { version = "0.9.0-pre", features = ["dev"] } hex-literal = "0.1" [features] From aac4b266fd9d760e5a349af8a834d93cce81353b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 29 May 2020 20:39:49 -0700 Subject: [PATCH 062/373] Remove unnecessary `extern crate` usage and use 2018 macro imports --- Cargo.lock | 29 +++----- blake2/Cargo.toml | 2 +- blake2/benches/blake2b.rs | 3 +- blake2/benches/blake2s.rs | 3 +- blake2/src/blake2.rs | 1 + blake2/src/lib.rs | 13 ++-- blake2/tests/lib.rs | 3 +- blake2/tests/persona.rs | 4 +- gost94/Cargo.toml | 2 +- gost94/benches/lib.rs | 3 +- gost94/src/gost94.rs | 1 + gost94/src/lib.rs | 9 +-- gost94/src/macros.rs | 1 + gost94/tests/lib.rs | 3 +- groestl/Cargo.toml | 2 +- groestl/benches/groestl256.rs | 3 +- groestl/benches/groestl512.rs | 3 +- groestl/src/lib.rs | 13 ++-- k12/Cargo.toml | 6 +- k12/benches/lib.rs | 12 ++++ k12/src/lib.rs | 113 +------------------------------- k12/tests/lib.rs | 107 ++++++++++++++++++++++++++++++ md2/Cargo.toml | 2 +- md2/benches/lib.rs | 3 +- md2/src/lib.rs | 12 ++-- md2/tests/lib.rs | 4 +- md4/Cargo.toml | 2 +- md4/benches/lib.rs | 3 +- md4/src/lib.rs | 13 ++-- md4/tests/lib.rs | 3 +- md5/Cargo.toml | 2 +- md5/benches/lib.rs | 3 +- md5/src/lib.rs | 14 ++-- md5/tests/lib.rs | 3 +- ripemd160/Cargo.toml | 2 +- ripemd160/benches/lib.rs | 3 +- ripemd160/src/lib.rs | 11 ++-- ripemd160/tests/lib.rs | 3 +- ripemd320/Cargo.toml | 2 +- ripemd320/benches/lib.rs | 3 +- ripemd320/src/lib.rs | 19 +++--- ripemd320/tests/lib.rs | 4 +- sha1/Cargo.toml | 2 +- sha1/benches/lib.rs | 3 +- sha1/src/lib.rs | 71 ++++++++++---------- sha1/tests/lib.rs | 3 +- sha2/Cargo.toml | 2 +- sha2/benches/sha256.rs | 3 +- sha2/benches/sha512.rs | 3 +- sha2/src/lib.rs | 9 +-- sha2/src/sha256.rs | 1 + sha2/src/sha512.rs | 1 + sha2/tests/lib.rs | 3 +- sha3/Cargo.toml | 2 +- sha3/benches/sha3_256.rs | 3 +- sha3/benches/sha3_512.rs | 3 +- sha3/src/lib.rs | 12 ++-- sha3/tests/lib.rs | 3 +- shabal/Cargo.toml | 2 +- shabal/benches/shabal.rs | 3 +- shabal/src/lib.rs | 9 +-- shabal/src/shabal.rs | 2 +- streebog/Cargo.toml | 2 +- streebog/benches/streebog256.rs | 3 +- streebog/benches/streebog512.rs | 3 +- streebog/src/lib.rs | 20 +++--- streebog/tests/lib.rs | 3 +- whirlpool/Cargo.toml | 2 +- whirlpool/benches/lib.rs | 3 +- whirlpool/src/lib.rs | 12 ++-- whirlpool/tests/lib.rs | 3 +- 71 files changed, 283 insertions(+), 355 deletions(-) create mode 100644 k12/benches/lib.rs create mode 100644 k12/tests/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 3badbaf4f..f19982b77 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,7 +62,7 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#d8c0b4d50b14f2161a47aa6014a7bdfecc10e017" +source = "git+https://github.com/rustcrypto/traits#9ddbee690cdd461050f1609966f37f7cc20c3861" dependencies = [ "blobby", "generic-array", @@ -72,7 +72,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#d8c0b4d50b14f2161a47aa6014a7bdfecc10e017" +source = "git+https://github.com/rustcrypto/traits#9ddbee690cdd461050f1609966f37f7cc20c3861" dependencies = [ "blobby", "generic-array", @@ -115,9 +115,9 @@ dependencies = [ [[package]] name = "hex-literal" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc2928beef125e519d69ae1baa8c37ea2e0d3848545217f6db0179c5eb1d639" +checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" dependencies = [ "hex-literal-impl", "proc-macro-hack", @@ -125,9 +125,9 @@ dependencies = [ [[package]] name = "hex-literal-impl" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520870c3213943eb8d7803e80180d12a6c7ceb4ae74602544529d1643dc4ddda" +checksum = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d" dependencies = [ "proc-macro-hack", ] @@ -201,18 +201,9 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "proc-macro-hack" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463bf29e7f11344e58c9e01f171470ab15c925c6822ad75028cc1c0e1d1eb63b" -dependencies = [ - "proc-macro-hack-impl", -] - -[[package]] -name = "proc-macro-hack-impl" -version = "0.4.2" +version = "0.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c47dcb1594802de8c02f3b899e2018c78291168a22c281be21ea0fb4796842" +checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" [[package]] name = "ripemd160" @@ -313,9 +304,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941" +checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" [[package]] name = "typenum" diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index c58b9037f..433b7c73c 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -21,7 +21,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } crypto-mac = { version = "0.8.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/blake2/benches/blake2b.rs b/blake2/benches/blake2b.rs index 744a554ee..5c3f4e7e7 100644 --- a/blake2/benches/blake2b.rs +++ b/blake2/benches/blake2b.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(blake2::Blake2b); +digest::bench!(blake2::Blake2b); diff --git a/blake2/benches/blake2s.rs b/blake2/benches/blake2s.rs index 664718c0e..dba70e921 100644 --- a/blake2/benches/blake2s.rs +++ b/blake2/benches/blake2s.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(blake2::Blake2s); +digest::bench!(blake2::Blake2s); diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 1c0f87377..d5b770b34 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -13,6 +13,7 @@ macro_rules! blake2_impl { use digest::InvalidOutputSize; use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U4, Unsigned}; + use digest::impl_write; use core::cmp; use core::ops::Div; use byte_tools::{copy, zero}; diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 381eb1bbd..aa2b9b643 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -5,10 +5,8 @@ //! `Blake2b` can be used in the following way: //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate blake2; -//! # fn main() { //! use blake2::{Blake2b, Blake2s, Digest}; +//! use hex_literal::hex; //! //! // create a Blake2b object //! let mut hasher = Blake2b::new(); @@ -30,7 +28,6 @@ //! assert_eq!(res[..], hex!(" //! 9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b //! ")[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes](https://github.com/RustCrypto/hashes) readme. @@ -92,10 +89,6 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; - -pub use crypto_mac; #[cfg(feature = "std")] extern crate std; @@ -111,6 +104,8 @@ mod blake2; mod blake2b; mod blake2s; +pub use crypto_mac; +pub use digest::{self, Digest}; + pub use crate::blake2b::{Blake2b, VarBlake2b}; pub use crate::blake2s::{Blake2s, VarBlake2s}; -pub use digest::Digest; diff --git a/blake2/tests/lib.rs b/blake2/tests/lib.rs index aa1ca742b..ba42b9ffd 100644 --- a/blake2/tests/lib.rs +++ b/blake2/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, variable_test}; +use digest::new_test; new_test!(blake2b_fixed, "blake2b/fixed", blake2::Blake2b, digest_test); new_test!( diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index 33d683342..ed0dfc8c7 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -1,7 +1,5 @@ -#[macro_use] -extern crate hex_literal; - use blake2::{Blake2b, Blake2s, Digest}; +use hex_literal::hex; #[test] fn blake2s_persona() { diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index fe25619a8..fa244bc50 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/gost94/benches/lib.rs b/gost94/benches/lib.rs index 80f19eb3b..0043902bb 100644 --- a/gost94/benches/lib.rs +++ b/gost94/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(gost94::Gost94Test); +digest::bench!(gost94::Gost94Test); diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index ee6532316..c72f64083 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -5,6 +5,7 @@ use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::U32; use digest::generic_array::GenericArray; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; pub(crate) type Block = [u8; 32]; diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 2b545fcf3..c3e64dbd8 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -3,10 +3,8 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate gost94; -//! # fn main() { //! use gost94::{Gost94Test, Digest}; +//! use hex_literal::hex; //! //! // create a Gost94 hasher instance with test S-box //! let mut hasher = Gost94Test::new(); @@ -20,7 +18,6 @@ //! assert_eq!(result[..], hex!(" //! 1bb6ce69d2e895a78489c87a0712a2f40258d1fae3a4666c23f8f487bef0e22a //! ")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -32,8 +29,6 @@ #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -pub extern crate digest; #[macro_use] extern crate opaque_debug; #[cfg(feature = "std")] @@ -47,7 +42,7 @@ mod gost94; mod s2015; mod test_param; -pub use digest::Digest; +pub use digest::{self, Digest}; pub use crate::cryptopro::Gost94CryptoPro; pub use crate::gost94::Gost94; diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index c6c34dba6..ce0d9f000 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -2,6 +2,7 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { use digest::generic_array::typenum::U32; use digest::generic_array::GenericArray; + use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index d9617ed1d..09ec57aaf 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(gost94_test_main, "test", gost94::Gost94Test, digest_test); new_test!( diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 2e972c42b..6b1995cde 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/groestl/benches/groestl256.rs b/groestl/benches/groestl256.rs index 22f9192b9..eafc403b9 100755 --- a/groestl/benches/groestl256.rs +++ b/groestl/benches/groestl256.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(groestl::Groestl256); +digest::bench!(groestl::Groestl256); diff --git a/groestl/benches/groestl512.rs b/groestl/benches/groestl512.rs index 145f9c1f2..47c95d64e 100755 --- a/groestl/benches/groestl512.rs +++ b/groestl/benches/groestl512.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(groestl::Groestl512); +digest::bench!(groestl::Groestl512); diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index d8ba438ad..a3fed0252 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -10,10 +10,8 @@ //! you to specify a digest size between 33 and 64 inclusive. //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate groestl; -//! # fn main() { //! use groestl::{Digest, Groestl256}; +//! use hex_literal::hex; //! //! // create a Groestl-256 hasher instance //! let mut hasher = Groestl256::default(); @@ -27,7 +25,6 @@ //! assert_eq!(result[..], hex!(" //! dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8047a86 //! ")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -40,19 +37,17 @@ #![deny(unsafe_code)] #![warn(rust_2018_idioms)] -// TODO: import all digest macros via 2018 module syntax -#[macro_use] -pub extern crate digest; - #[macro_use] extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + use digest::generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::InvalidOutputSize; use digest::{BlockInput, FixedOutput, Reset, Update, VariableOutput}; diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 0fe779655..719126126 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -12,11 +12,11 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" +digest = "= 0.9.0-pre" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +digest = { version = "= 0.9.0-pre", features = ["dev"] } +hex-literal = "0.2" [features] default = ["std"] diff --git a/k12/benches/lib.rs b/k12/benches/lib.rs new file mode 100644 index 000000000..9ea5ab9b4 --- /dev/null +++ b/k12/benches/lib.rs @@ -0,0 +1,12 @@ +#![no_std] +#![feature(test)] + +extern crate test; + +use digest::Update; +use test::Bencher; + +digest::bench!(bench1_10, k12::KangarooTwelve, 10); +digest::bench!(bench2_100, k12::KangarooTwelve, 100); +digest::bench!(bench3_1000, k12::KangarooTwelve, 1000); +digest::bench!(bench4_10000, k12::KangarooTwelve, 10000); diff --git a/k12/src/lib.rs b/k12/src/lib.rs index a2b251683..d376fe888 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -17,6 +17,8 @@ #[macro_use] extern crate alloc; +pub use digest; + #[macro_use] mod lanes; @@ -207,114 +209,3 @@ fn right_encode(mut x: usize) -> Vec { slice.push(len as u8); slice } - -#[cfg(test)] -mod test { - use super::*; - use core::iter; - - fn read_bytes>(s: T) -> Vec { - fn b(c: u8) -> u8 { - match c { - b'0'..=b'9' => c - b'0', - b'a'..=b'f' => c - b'a' + 10, - b'A'..=b'F' => c - b'A' + 10, - _ => unreachable!(), - } - } - let s = s.as_ref(); - let mut i = 0; - let mut v = Vec::new(); - while i < s.len() { - if s[i] == b' ' || s[i] == b'\n' { - i += 1; - continue; - } - - let n = b(s[i]) * 16 + b(s[i + 1]); - v.push(n); - i += 2; - } - v - } - - #[test] - fn empty() { - // Source: reference paper - assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(32), - read_bytes( - "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca - 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" - ) - ); - - assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(64), - read_bytes( - "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca - 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e - 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71" - ) - ); - - assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(10032)[10000..], - read_bytes( - "e8 dc 56 36 42 f7 22 8c 84 - 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" - )[..] - ); - } - - #[test] - fn pat_m() { - let expected = [ - "2b da 92 45 0e 8b 14 7f 8a 7c b6 29 e7 84 a0 58 ef ca 7c f7 - d8 21 8e 02 d3 45 df aa 65 24 4a 1f", - "6b f7 5f a2 23 91 98 db 47 72 e3 64 78 f8 e1 9b 0f 37 12 05 - f6 a9 a9 3a 27 3f 51 df 37 12 28 88", - "0c 31 5e bc de db f6 14 26 de 7d cf 8f b7 25 d1 e7 46 75 d7 - f5 32 7a 50 67 f3 67 b1 08 ec b6 7c", - "cb 55 2e 2e c7 7d 99 10 70 1d 57 8b 45 7d df 77 2c 12 e3 22 - e4 ee 7f e4 17 f9 2c 75 8f 0d 59 d0", - "87 01 04 5e 22 20 53 45 ff 4d da 05 55 5c bb 5c 3a f1 a7 71 - c2 b8 9b ae f3 7d b4 3d 99 98 b9 fe", - "84 4d 61 09 33 b1 b9 96 3c bd eb 5a e3 b6 b0 5c c7 cb d6 7c - ee df 88 3e b6 78 a0 a8 e0 37 16 82", - "3c 39 07 82 a8 a4 e8 9f a6 36 7f 72 fe aa f1 32 55 c8 d9 58 - 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8", - ]; - for i in 0..5 - /*NOTE: can be up to 7 but is slow*/ - { - let len = 17usize.pow(i); - let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).result_vec(32); - assert_eq!(result, read_bytes(expected[i as usize])); - } - } - - #[test] - fn pat_c() { - let expected = [ - "fa b6 58 db 63 e9 4a 24 61 88 bf 7a f6 9a 13 30 45 f4 6e e9 - 84 c5 6e 3c 33 28 ca af 1a a1 a5 83", - "d8 48 c5 06 8c ed 73 6f 44 62 15 9b 98 67 fd 4c 20 b8 08 ac - c3 d5 bc 48 e0 b0 6b a0 a3 76 2e c4", - "c3 89 e5 00 9a e5 71 20 85 4c 2e 8c 64 67 0a c0 13 58 cf 4c - 1b af 89 44 7a 72 42 34 dc 7c ed 74", - "75 d2 f8 6a 2e 64 45 66 72 6b 4f bc fc 56 57 b9 db cf 07 0c - 7b 0d ca 06 45 0a b2 91 d7 44 3b cf", - ]; - for i in 0..4 { - let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); - let len = 41usize.pow(i); - let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new_with_customization(c) - .chain(&m) - .result_vec(32); - assert_eq!(result, read_bytes(expected[i as usize])); - } - } -} diff --git a/k12/tests/lib.rs b/k12/tests/lib.rs new file mode 100644 index 000000000..2bec107d7 --- /dev/null +++ b/k12/tests/lib.rs @@ -0,0 +1,107 @@ +use core::iter; +use k12::{digest::Update, KangarooTwelve}; + +fn read_bytes>(s: T) -> Vec { + fn b(c: u8) -> u8 { + match c { + b'0'..=b'9' => c - b'0', + b'a'..=b'f' => c - b'a' + 10, + b'A'..=b'F' => c - b'A' + 10, + _ => unreachable!(), + } + } + let s = s.as_ref(); + let mut i = 0; + let mut v = Vec::new(); + while i < s.len() { + if s[i] == b' ' || s[i] == b'\n' { + i += 1; + continue; + } + + let n = b(s[i]) * 16 + b(s[i + 1]); + v.push(n); + i += 2; + } + v +} + +#[test] +fn empty() { + // Source: reference paper + assert_eq!( + KangarooTwelve::new().chain(b"").result_vec(32), + read_bytes( + "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" + ) + ); + + assert_eq!( + KangarooTwelve::new().chain(b"").result_vec(64), + read_bytes( + "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca + 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e + 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71" + ) + ); + + assert_eq!( + KangarooTwelve::new().chain(b"").result_vec(10032)[10000..], + read_bytes( + "e8 dc 56 36 42 f7 22 8c 84 + 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" + )[..] + ); +} + +#[test] +fn pat_m() { + let expected = [ + "2b da 92 45 0e 8b 14 7f 8a 7c b6 29 e7 84 a0 58 ef ca 7c f7 + d8 21 8e 02 d3 45 df aa 65 24 4a 1f", + "6b f7 5f a2 23 91 98 db 47 72 e3 64 78 f8 e1 9b 0f 37 12 05 + f6 a9 a9 3a 27 3f 51 df 37 12 28 88", + "0c 31 5e bc de db f6 14 26 de 7d cf 8f b7 25 d1 e7 46 75 d7 + f5 32 7a 50 67 f3 67 b1 08 ec b6 7c", + "cb 55 2e 2e c7 7d 99 10 70 1d 57 8b 45 7d df 77 2c 12 e3 22 + e4 ee 7f e4 17 f9 2c 75 8f 0d 59 d0", + "87 01 04 5e 22 20 53 45 ff 4d da 05 55 5c bb 5c 3a f1 a7 71 + c2 b8 9b ae f3 7d b4 3d 99 98 b9 fe", + "84 4d 61 09 33 b1 b9 96 3c bd eb 5a e3 b6 b0 5c c7 cb d6 7c + ee df 88 3e b6 78 a0 a8 e0 37 16 82", + "3c 39 07 82 a8 a4 e8 9f a6 36 7f 72 fe aa f1 32 55 c8 d9 58 + 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8", + ]; + for i in 0..5 + /*NOTE: can be up to 7 but is slow*/ + { + let len = 17usize.pow(i); + let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = KangarooTwelve::new().chain(&m).result_vec(32); + assert_eq!(result, read_bytes(expected[i as usize])); + } +} + +#[test] +fn pat_c() { + let expected = [ + "fa b6 58 db 63 e9 4a 24 61 88 bf 7a f6 9a 13 30 45 f4 6e e9 + 84 c5 6e 3c 33 28 ca af 1a a1 a5 83", + "d8 48 c5 06 8c ed 73 6f 44 62 15 9b 98 67 fd 4c 20 b8 08 ac + c3 d5 bc 48 e0 b0 6b a0 a3 76 2e c4", + "c3 89 e5 00 9a e5 71 20 85 4c 2e 8c 64 67 0a c0 13 58 cf 4c + 1b af 89 44 7a 72 42 34 dc 7c ed 74", + "75 d2 f8 6a 2e 64 45 66 72 6b 4f bc fc 56 57 b9 db cf 07 0c + 7b 0d ca 06 45 0a b2 91 d7 44 3b cf", + ]; + for i in 0..4 { + let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); + let len = 41usize.pow(i); + let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = KangarooTwelve::new_with_customization(c) + .chain(&m) + .result_vec(32); + assert_eq!(result, read_bytes(expected[i as usize])); + } +} diff --git a/md2/Cargo.toml b/md2/Cargo.toml index cfde5e6dc..5e93ee52d 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/md2/benches/lib.rs b/md2/benches/lib.rs index cbc803ef9..b1f617601 100644 --- a/md2/benches/lib.rs +++ b/md2/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(md2::Md2); +digest::bench!(md2::Md2); diff --git a/md2/src/lib.rs b/md2/src/lib.rs index c392772b8..e02065daf 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -3,10 +3,8 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate md2; -//! # fn main() { //! use md2::{Md2, Digest}; +//! use hex_literal::hex; //! //! // create a Md2 hasher instance //! let mut hasher = Md2::new(); @@ -18,7 +16,6 @@ //! // which in this case is equivalent to [u8; 16] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("d9cce882ee690a5c1ce70beff3a78c77")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -34,17 +31,16 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; - #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + use block_buffer::block_padding::Pkcs7; use block_buffer::BlockBuffer; use digest::generic_array::typenum::U16; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; mod consts; diff --git a/md2/tests/lib.rs b/md2/tests/lib.rs index c2d1de10f..6e3eaea7b 100644 --- a/md2/tests/lib.rs +++ b/md2/tests/lib.rs @@ -1,10 +1,8 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; -new_test!(md2_main, "md2", md2::Md2, digest_test); +digest::new_test!(md2_main, "md2", md2::Md2, digest_test); #[test] fn md2_1million_a() { diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 8e2ea4a50..8a2b12885 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -19,7 +19,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/md4/benches/lib.rs b/md4/benches/lib.rs index 04a46123c..19f62705b 100644 --- a/md4/benches/lib.rs +++ b/md4/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(md4::Md4); +digest::bench!(md4::Md4); diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 6eb54d22f..6b69f1eca 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -3,10 +3,8 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate md4; -//! # fn main() { //! use md4::{Md4, Digest}; +//! use hex_literal::hex; //! //! // create a Md4 hasher instance //! let mut hasher = Md4::new(); @@ -18,7 +16,6 @@ //! // which in this case is equivalent to [u8; 16] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("aa010fbc1d14c795d86ef98c95479d17")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -34,19 +31,19 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; - extern crate fake_simd as simd; + #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + use crate::simd::u32x4; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; // initial values for Md4State diff --git a/md4/tests/lib.rs b/md4/tests/lib.rs index 135b22c91..f0fc41c8c 100644 --- a/md4/tests/lib.rs +++ b/md4/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(md4_main, "md4", md4::Md4, digest_test); diff --git a/md5/Cargo.toml b/md5/Cargo.toml index c3b776b8e..499374f7c 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -22,7 +22,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/md5/benches/lib.rs b/md5/benches/lib.rs index 1c5854927..1ebd6d9f0 100644 --- a/md5/benches/lib.rs +++ b/md5/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(md5::Md5); +digest::bench!(md5::Md5); diff --git a/md5/src/lib.rs b/md5/src/lib.rs index e14dc4b6c..848d1c57f 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -3,10 +3,8 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate md5; -//! # fn main() { //! use md5::{Md5, Digest}; +//! use hex_literal::hex; //! //! // create a Md5 hasher instance //! let mut hasher = Md5::new(); @@ -18,7 +16,6 @@ //! // which in this case is equivalent to [u8; 16] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("5eb63bbbe01eeed093cb22bb8f5acdc3")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -33,24 +30,25 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; + #[cfg(feature = "asm")] extern crate md5_asm as utils; + #[cfg(feature = "std")] extern crate std; #[cfg(not(feature = "asm"))] mod utils; +pub use digest::{self, Digest}; + use crate::utils::compress; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; - use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; mod consts; diff --git a/md5/tests/lib.rs b/md5/tests/lib.rs index c77ec2f79..9b512f19e 100644 --- a/md5/tests/lib.rs +++ b/md5/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(md5_main, "md5", md5::Md5, digest_test); diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 004746372..f1838e464 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/ripemd160/benches/lib.rs b/ripemd160/benches/lib.rs index 0f9120086..c665c0793 100644 --- a/ripemd160/benches/lib.rs +++ b/ripemd160/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(ripemd160::Ripemd160); +digest::bench!(ripemd160::Ripemd160); diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index b0fca6862..d499194d6 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -3,9 +3,7 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate ripemd160; -//! # fn main() { +//! use hex_literal::hex; //! use ripemd160::{Ripemd160, Digest}; //! //! // create a RIPEMD-160 hasher instance @@ -18,7 +16,6 @@ //! // which in this case is equivalent to [u8; 20] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -33,16 +30,16 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U20, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; mod block; diff --git a/ripemd160/tests/lib.rs b/ripemd160/tests/lib.rs index b31414039..ccb7bce78 100644 --- a/ripemd160/tests/lib.rs +++ b/ripemd160/tests/lib.rs @@ -1,9 +1,8 @@ //! Test messages from FIPS 180-1 #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!( ripemd160_main, diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 7ec3345e3..480e62dfe 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/ripemd320/benches/lib.rs b/ripemd320/benches/lib.rs index 182244a28..c8e49596b 100644 --- a/ripemd320/benches/lib.rs +++ b/ripemd320/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(ripemd320::Ripemd320); +digest::bench!(ripemd320::Ripemd320); diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index cc866c6dc..d16f29946 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -3,9 +3,7 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate ripemd320; -//! # fn main() { +//! use hex_literal::hex; //! use ripemd320::{Ripemd320, Digest}; //! //! // create a RIPEMD-320 hasher instance @@ -19,7 +17,6 @@ //! let expected = hex!("f1c1c231d301abcf2d7daae0269ff3e7bc68e623ad723aa068d316b056d26b7d1bb6f0cc0f28336d"); //! let result = hasher.result(); //! assert_eq!(&result[..], &expected[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -34,21 +31,23 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; + #[cfg(feature = "std")] extern crate std; +mod block; + +pub use digest::{self, Digest}; + +use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; + use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U40, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; -mod block; -use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; - /// Structure representing the state of a ripemd320 computation #[derive(Clone)] pub struct Ripemd320 { diff --git a/ripemd320/tests/lib.rs b/ripemd320/tests/lib.rs index 27c4ca001..727131595 100644 --- a/ripemd320/tests/lib.rs +++ b/ripemd320/tests/lib.rs @@ -2,10 +2,8 @@ //! [1] https://homes.esat.kuleuven.be/~bosselae/ripemd160.html #![no_std] -#[macro_use] -extern crate digest; - use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!( ripemd320_main, diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index ba035eeb5..f772c4cc5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -24,7 +24,7 @@ libc = { version = "0.2.68", optional = true } [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/sha1/benches/lib.rs b/sha1/benches/lib.rs index 718ec6378..130dc78b8 100644 --- a/sha1/benches/lib.rs +++ b/sha1/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(sha1::Sha1); +digest::bench!(sha1::Sha1); diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 2f05823e9..44d72e5da 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -3,9 +3,7 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate sha1; -//! # fn main() { +//! use hex_literal::hex; //! use sha1::{Sha1, Digest}; //! //! // create a Sha1 object @@ -18,7 +16,6 @@ //! // which in this case is equivalent to [u8; 20] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -38,6 +35,7 @@ not(target_os = "linux") ))] compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); + #[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); #[cfg(all( @@ -46,6 +44,7 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AAr target_feature = "crypto" ))] compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); + #[cfg(all( not(feature = "asm-aarch64"), feature = "asm", @@ -57,55 +56,34 @@ compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] extern crate fake_simd as simd; #[cfg(feature = "asm-aarch64")] extern crate libc; +#[cfg(feature = "asm")] +extern crate sha1_asm; #[cfg(feature = "std")] extern crate std; -#[cfg(feature = "asm")] -extern crate sha1_asm; -#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] -#[inline(always)] -fn compress(state: &mut [u32; 5], block: &GenericArray) { - #[allow(unsafe_code)] - let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; - sha1_asm::compress(state, block); -} #[cfg(feature = "asm-aarch64")] mod aarch64; -#[cfg(feature = "asm-aarch64")] -#[inline(always)] -fn compress(state: &mut [u32; 5], block: &GenericArray) { - // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once - // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented - // to let us use it on no_std. - if aarch64::sha1_supported() { - #[allow(unsafe_code)] - let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; - sha1_asm::compress(state, block); - } else { - utils::compress(state, block); - } -} - +mod consts; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] mod utils; -#[cfg(not(feature = "asm"))] -use crate::utils::compress; + +pub use digest::{self, Digest}; + +use crate::consts::{H, STATE_LEN}; use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U20, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; -mod consts; -use crate::consts::{H, STATE_LEN}; +#[cfg(not(feature = "asm"))] +use crate::utils::compress; /// Structure representing the state of a SHA-1 computation #[derive(Clone)] @@ -163,5 +141,28 @@ impl Reset for Sha1 { } } +#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] +#[inline(always)] +fn compress(state: &mut [u32; 5], block: &GenericArray) { + #[allow(unsafe_code)] + let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; + sha1_asm::compress(state, block); +} + +#[cfg(feature = "asm-aarch64")] +#[inline(always)] +fn compress(state: &mut [u32; 5], block: &GenericArray) { + // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once + // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented + // to let us use it on no_std. + if aarch64::sha1_supported() { + #[allow(unsafe_code)] + let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; + sha1_asm::compress(state, block); + } else { + utils::compress(state, block); + } +} + impl_opaque_debug!(Sha1); impl_write!(Sha1); diff --git a/sha1/tests/lib.rs b/sha1/tests/lib.rs index c73e8f5eb..c7452c902 100644 --- a/sha1/tests/lib.rs +++ b/sha1/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(sha1_main, "sha1", sha1::Sha1, digest_test); diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index ad966485d..2554569b6 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -24,7 +24,7 @@ libc = { version = "0.2.68", optional = true } [dev-dependencies] digest = { version = "0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/sha2/benches/sha256.rs b/sha2/benches/sha256.rs index 4f1c5934f..181a68c40 100644 --- a/sha2/benches/sha256.rs +++ b/sha2/benches/sha256.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(sha2::Sha256); +digest::bench!(sha2::Sha256); diff --git a/sha2/benches/sha512.rs b/sha2/benches/sha512.rs index c241aab03..88708b383 100644 --- a/sha2/benches/sha512.rs +++ b/sha2/benches/sha512.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(sha2::Sha512); +digest::bench!(sha2::Sha512); diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index d068f17c6..3f38fa0e1 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -20,9 +20,7 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate sha2; -//! # fn main() { +//! use hex_literal::hex; //! use sha2::{Sha256, Sha512, Digest}; //! //! // create a Sha256 object @@ -47,7 +45,6 @@ //! 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f //! 989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f //! ")[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -86,8 +83,6 @@ compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use extern crate fake_simd as simd; #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; #[cfg(feature = "asm-aarch64")] extern crate libc; #[cfg(feature = "asm")] @@ -107,7 +102,7 @@ mod sha512_utils; pub use crate::sha256::{Sha224, Sha256}; pub use crate::sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; -pub use digest::Digest; +pub use digest::{self, Digest}; #[cfg(feature = "compress")] pub use sha256_utils::compress256; #[cfg(feature = "compress")] diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 7e3a503bd..a3f051bfa 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -2,6 +2,7 @@ use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U28, U32, U64}; use digest::generic_array::GenericArray; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; use crate::consts::{H224, H256, STATE_LEN}; diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 5f3e18246..557818e5b 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -2,6 +2,7 @@ use block_buffer::byteorder::{ByteOrder, BE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U128, U28, U32, U48, U64}; use digest::generic_array::GenericArray; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index 4669ed50f..72de11686 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!(sha224_main, "sha224", sha2::Sha224, digest_test); new_test!(sha256_main, "sha256", sha2::Sha256, digest_test); diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 5f6a5a174..ef8bd3d86 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -20,7 +20,7 @@ keccak = "0.1" [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/sha3/benches/sha3_256.rs b/sha3/benches/sha3_256.rs index e6fd35a14..56edb1498 100644 --- a/sha3/benches/sha3_256.rs +++ b/sha3/benches/sha3_256.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(sha3::Sha3_256); +digest::bench!(sha3::Sha3_256); diff --git a/sha3/benches/sha3_512.rs b/sha3/benches/sha3_512.rs index 0500b76c8..dd7ad23ae 100644 --- a/sha3/benches/sha3_512.rs +++ b/sha3/benches/sha3_512.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(sha3::Sha3_512); +digest::bench!(sha3::Sha3_512); diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 8b8ec8d51..223ae771a 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -16,9 +16,7 @@ //! An example of using `SHA3-256` is: //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate sha3; -//! # fn main() { +//! use hex_literal::hex; //! use sha3::{Digest, Sha3_256}; //! //! // create a SHA3-256 object @@ -33,7 +31,6 @@ //! assert_eq!(result[..], hex!(" //! 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 //! ")[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -48,17 +45,18 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; + #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + use block_buffer::BlockBuffer; use digest::generic_array::typenum::{ Unsigned, U104, U136, U144, U168, U200, U28, U32, U48, U64, U72, }; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, ExtendableOutput, FixedOutput, Reset, Update}; mod paddings; diff --git a/sha3/tests/lib.rs b/sha3/tests/lib.rs index d9fec3355..5dc81ed88 100644 --- a/sha3/tests/lib.rs +++ b/sha3/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, xof_test}; +use digest::new_test; new_test!(keccak_224, "keccak_224", sha3::Keccak224, digest_test); new_test!(keccak_256, "keccak_256", sha3::Keccak256, digest_test); diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 2ac1e3eb7..da0b1dd77 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/shabal/benches/shabal.rs b/shabal/benches/shabal.rs index c12553457..ce4ee1202 100644 --- a/shabal/benches/shabal.rs +++ b/shabal/benches/shabal.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(shabal::Shabal256); +digest::bench!(shabal::Shabal256); diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index 8d3b54953..c49a8bb32 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -14,9 +14,7 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate shabal; -//! # fn main() { +//! use hex_literal::hex; //! use shabal::{Shabal256, Digest}; //! //! // create a Shabal256 hasher instance @@ -29,7 +27,6 @@ //! // which in this case is equivalent to [u8; 32] //! let result = hasher.result(); //! assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -44,8 +41,6 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; #[cfg(feature = "std")] extern crate std; @@ -53,4 +48,4 @@ mod consts; mod shabal; pub use crate::shabal::{Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; -pub use digest::Digest; +pub use digest::{self, Digest}; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 9e8bd076d..f6749d801 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -3,7 +3,7 @@ use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U24, U28, U32, U48, U64}; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; use crate::consts::{ diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 2417c4b35..522394216 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -19,7 +19,7 @@ opaque-debug = "0.2" [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/streebog/benches/streebog256.rs b/streebog/benches/streebog256.rs index c742edabc..b4b0df0a0 100644 --- a/streebog/benches/streebog256.rs +++ b/streebog/benches/streebog256.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(streebog::Streebog256); +digest::bench!(streebog::Streebog256); diff --git a/streebog/benches/streebog512.rs b/streebog/benches/streebog512.rs index 6fd641822..c2216675d 100644 --- a/streebog/benches/streebog512.rs +++ b/streebog/benches/streebog512.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(streebog::Streebog512); +digest::bench!(streebog::Streebog512); diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 1d9216297..f0bcedf33 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -11,10 +11,8 @@ //! An example of using `Streebog256` and `Streebog256` is: //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate streebog; -//! # fn main() { //! use streebog::{Digest, Streebog256, Streebog512}; +//! use hex_literal::hex; //! //! // create a hasher object, to use it do not forget to import `Digest` trait //! let mut hasher = Streebog256::new(); @@ -36,7 +34,6 @@ //! c40cc26c37a683c74459820d884b766d9c96697a8d168c0272db8f4ecca2935b //! 4164ede98fc9c8d2bafb1249b238676c81f5b97f98c393b99fdf2dc961391484 //! ")[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -49,22 +46,23 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -pub extern crate digest; #[macro_use] extern crate opaque_debug; -#[cfg(feature = "std")] -extern crate std; -use digest::generic_array::typenum::{U32, U64}; -pub use digest::Digest; #[cfg(feature = "std")] -use digest::Update; +extern crate std; mod consts; mod streebog; mod table; +pub use digest::{self, Digest}; + +use digest::generic_array::typenum::{U32, U64}; +use digest::impl_write; +#[cfg(feature = "std")] +use digest::Update; + /// Streebog256 pub type Streebog256 = streebog::Streebog; diff --git a/streebog/tests/lib.rs b/streebog/tests/lib.rs index 5225523d5..6fb70a3d7 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::digest_test; +use digest::new_test; new_test!( streebog256_main, diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 5a384a8e6..8ec0f61a0 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -20,7 +20,7 @@ whirlpool-asm = { version="0.5", optional=true } [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -hex-literal = "0.1" +hex-literal = "0.2" [features] default = ["std"] diff --git a/whirlpool/benches/lib.rs b/whirlpool/benches/lib.rs index d6d3a6493..561d5f457 100644 --- a/whirlpool/benches/lib.rs +++ b/whirlpool/benches/lib.rs @@ -1,5 +1,4 @@ #![no_std] #![feature(test)] -use digest::bench; -bench!(whirlpool::Whirlpool); +digest::bench!(whirlpool::Whirlpool); diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index d65bf97f2..7a1bf8624 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -14,10 +14,8 @@ //! # Usage //! //! ```rust -//! # #[macro_use] extern crate hex_literal; -//! # extern crate whirlpool; -//! # fn main() { //! use whirlpool::{Whirlpool, Digest}; +//! use hex_literal::hex; //! //! // create a hasher object, to use it do not forget to import `Digest` trait //! let mut hasher = Whirlpool::new(); @@ -30,7 +28,6 @@ //! 8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c //! a373816495e63db0fff2ff25f75aa7162f332c9f518c3036456502a8414d300a //! ")[..]); -//! # } //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -45,17 +42,18 @@ #[macro_use] extern crate opaque_debug; -#[macro_use] -pub extern crate digest; #[cfg(feature = "std")] extern crate std; + #[cfg(feature = "asm")] extern crate whirlpool_asm as utils; #[cfg(not(feature = "asm"))] mod utils; +pub use digest::Digest; + use crate::utils::compress; use block_buffer::block_padding::Iso7816; @@ -65,7 +63,7 @@ use block_buffer::BlockBuffer; use byte_tools::zero; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; -pub use digest::Digest; +use digest::impl_write; use digest::{BlockInput, FixedOutput, Reset, Update}; #[cfg(not(feature = "asm"))] diff --git a/whirlpool/tests/lib.rs b/whirlpool/tests/lib.rs index 359d07c6b..286a50e6b 100644 --- a/whirlpool/tests/lib.rs +++ b/whirlpool/tests/lib.rs @@ -1,8 +1,7 @@ #![no_std] -#[macro_use] -extern crate digest; use digest::dev::{digest_test, one_million_a}; +use digest::new_test; new_test!( whirlpool_main, From 08eb62d8890eae004e84ec56ca3f9d3f628c4e70 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 30 May 2020 12:25:04 -0700 Subject: [PATCH 063/373] .github: use workspace global env vars and working dir --- .github/workflows/blake2.yml | 18 +++++++++--------- .github/workflows/gost94.yml | 25 ++++++++++++++----------- .github/workflows/groestl.yml | 25 ++++++++++++++----------- .github/workflows/k12.yml | 25 ++++++++++++++----------- .github/workflows/md2.yml | 25 ++++++++++++++----------- .github/workflows/md4.yml | 25 ++++++++++++++----------- .github/workflows/md5.yml | 14 +++++++++----- .github/workflows/ripemd160.yml | 25 ++++++++++++++----------- .github/workflows/ripemd320.yml | 26 ++++++++++++++------------ .github/workflows/sha1.yml | 16 +++++++++------- .github/workflows/sha2.yml | 16 +++++++++------- .github/workflows/sha3.yml | 25 ++++++++++++++----------- .github/workflows/shabal.yml | 25 ++++++++++++++----------- .github/workflows/streebog.yml | 25 ++++++++++++++----------- .github/workflows/whirlpool.yml | 28 +++++++++++++++------------- Cargo.lock | 2 ++ sha2/src/lib.rs | 2 -- 17 files changed, 193 insertions(+), 154 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 26f0ab2c3..2f94239c6 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "blake2/**" - - "Cargo.*" + +defaults: + run: + working-directory: blake2 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -31,7 +36,7 @@ jobs: target: ${{ matrix.target }} override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - working-directory: blake2 + test: runs-on: ubuntu-latest strategy: @@ -47,9 +52,7 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo test --no-default-features - working-directory: blake2 - run: cargo test - working-directory: blake2 simd: runs-on: ubuntu-latest steps: @@ -60,8 +63,5 @@ jobs: toolchain: nightly override: true - run: cargo test --features simd - working-directory: blake2 - run: cargo test --features simd_opt - working-directory: blake2 - run: cargo test --features simd_asm - working-directory: blake2 diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 8854be792..10cbaee42 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "gost94/**" - - "Cargo.*" + +defaults: + run: + working-directory: gost94 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: gost94 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: gost94 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 165b33163..411d866d3 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "groestl/**" - - "Cargo.*" + +defaults: + run: + working-directory: groestl + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: groestl - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,9 +51,7 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: groestl - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 83f196308..7e993c8a5 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "k12/**" - - "Cargo.*" + +defaults: + run: + working-directory: k12 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: k12 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: k12 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index e09b4b332..f9b090009 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "md2/**" - - "Cargo.*" + +defaults: + run: + working-directory: md2 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: md2 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: md2 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index af9a9baf5..9c4bde676 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "md4/**" - - "Cargo.*" + +defaults: + run: + working-directory: md4 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: md4 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: md4 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 2529c510d..0fbfa4dff 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -11,6 +11,14 @@ on: - "md5/**" - "Cargo.*" +defaults: + run: + working-directory: md5 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + jobs: build: runs-on: ubuntu-latest @@ -31,7 +39,7 @@ jobs: target: ${{ matrix.target }} override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - working-directory: md5 + test: runs-on: ubuntu-latest strategy: @@ -47,10 +55,6 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo check - working-directory: md5 - run: cargo test --no-default-features - working-directory: md5 - run: cargo test - working-directory: md5 - run: cargo test --features asm - working-directory: md5 diff --git a/.github/workflows/ripemd160.yml b/.github/workflows/ripemd160.yml index 1e6cd1aca..7d78d12d6 100644 --- a/.github/workflows/ripemd160.yml +++ b/.github/workflows/ripemd160.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "ripemd160/**" - - "Cargo.*" + +defaults: + run: + working-directory: ripemd160 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: ripemd160 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: ripemd160 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/ripemd320.yml b/.github/workflows/ripemd320.yml index 9c0932fcd..dbd541b01 100644 --- a/.github/workflows/ripemd320.yml +++ b/.github/workflows/ripemd320.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "ripemd320/**" - - "Cargo.*" + +defaults: + run: + working-directory: ripemd320 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: ripemd320 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,7 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: ripemd320 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features - + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 457ddcf96..9baefe689 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "sha1/**" - - "Cargo.*" + +defaults: + run: + working-directory: sha1 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -31,7 +36,7 @@ jobs: target: ${{ matrix.target }} override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - working-directory: sha1 + test: runs-on: ubuntu-latest strategy: @@ -47,8 +52,5 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo test --no-default-features - working-directory: sha1 - run: cargo test - working-directory: sha1 - run: cargo test --features asm - working-directory: sha1 diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index b54bc429d..7640b8447 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "sha2/**" - - "Cargo.*" + +defaults: + run: + working-directory: sha2 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -31,7 +36,7 @@ jobs: target: ${{ matrix.target }} override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - working-directory: sha2 + test: runs-on: ubuntu-latest strategy: @@ -47,8 +52,5 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo test --no-default-features - working-directory: sha2 - run: cargo test - working-directory: sha2 - run: cargo test --features asm - working-directory: sha2 diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 62688f021..94abb4a30 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "sha3/**" - - "Cargo.*" + +defaults: + run: + working-directory: sha3 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: sha3 - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,9 +51,7 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: sha3 - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index f27e77b59..f9d198b37 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "shabal/**" - - "Cargo.*" + +defaults: + run: + working-directory: shabal + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: shabal - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,9 +51,7 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: shabal - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 7fc0803ad..b523c45ba 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "streebog/**" - - "Cargo.*" + +defaults: + run: + working-directory: streebog + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: streebog - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,10 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: streebog - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --all-features + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index ebbd65c21..42c2b4704 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -7,9 +7,14 @@ on: - "Cargo.*" push: branches: master - paths: - - "whirlpool/**" - - "Cargo.*" + +defaults: + run: + working-directory: whirlpool + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" jobs: build: @@ -30,8 +35,8 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - working-directory: whirlpool - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + test: runs-on: ubuntu-latest strategy: @@ -46,11 +51,8 @@ jobs: profile: minimal toolchain: ${{ matrix.rust }} override: true - - working-directory: whirlpool - run: | - cargo check --all-features - cargo test --no-default-features - cargo test - cargo test --features asm - cargo test --all-features - + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --features asm + - run: cargo test --all-features diff --git a/Cargo.lock b/Cargo.lock index f19982b77..47fb2f6ea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -334,3 +334,5 @@ checksum = "cbb23be8b0dec6fafef14563c42ec98bbfc33f2a97ed5bc99cd8b50ea5c68097" dependencies = [ "cc", ] + + diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 3f38fa0e1..b2f996be4 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -85,8 +85,6 @@ extern crate fake_simd as simd; extern crate opaque_debug; #[cfg(feature = "asm-aarch64")] extern crate libc; -#[cfg(feature = "asm")] -extern crate sha2_asm; #[cfg(feature = "std")] extern crate std; From 547e0c6780037f741e9a6a9375b4a8628029d0f4 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 31 May 2020 07:41:49 -0700 Subject: [PATCH 064/373] Bump `block-buffer` requirement to v0.8.0-pre --- Cargo.lock | 10 ++++------ gost94/Cargo.toml | 6 +++--- groestl/Cargo.toml | 6 +++--- md2/Cargo.toml | 6 +++--- md4/Cargo.toml | 6 +++--- md5/Cargo.toml | 8 ++++---- ripemd160/Cargo.toml | 6 +++--- ripemd320/Cargo.toml | 6 +++--- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 2 +- shabal/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- whirlpool/Cargo.toml | 4 ++-- 14 files changed, 34 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 47fb2f6ea..136389e7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,8 +23,8 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.7.3" -source = "git+https://github.com/RustCrypto/utils#b4c5b5485ce2b3fd4184bec8aed4730dfe37c132" +version = "0.8.0-pre" +source = "git+https://github.com/RustCrypto/utils#a0e48018d38545935152cd1715382bc1984b5699" dependencies = [ "block-padding", "byte-tools", @@ -62,7 +62,7 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#9ddbee690cdd461050f1609966f37f7cc20c3861" +source = "git+https://github.com/rustcrypto/traits#f1ae0b0bf1187f0c0a90bd07caa66710240daca5" dependencies = [ "blobby", "generic-array", @@ -72,7 +72,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#9ddbee690cdd461050f1609966f37f7cc20c3861" +source = "git+https://github.com/rustcrypto/traits#f1ae0b0bf1187f0c0a90bd07caa66710240daca5" dependencies = [ "blobby", "generic-array", @@ -334,5 +334,3 @@ checksum = "cbb23be8b0dec6fafef14563c42ec98bbfc33f2a97ed5bc99cd8b50ea5c68097" dependencies = [ "cc", ] - - diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index fa244bc50..0440b6ba4 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 6b1995cde..dca41ace3 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 5e93ee52d..bd4d203b5 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 8a2b12885..2624984bb 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" fake-simd = "0.1" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 499374f7c..3bfbd4141 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -15,13 +15,13 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" -md5-asm = { version = "0.4", optional=true} +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" +md5-asm = { version = "0.4", optional = true} opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index f1838e464..1d1fa4180 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd160", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 480e62dfe..05de7540c 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd320", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9.0-pre" -block-buffer = "0.7" +digest = "= 0.9.0-pre" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index f772c4cc5..fda6b58c3 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -16,7 +16,7 @@ name = "sha1" [dependencies] digest = "= 0.9.0-pre" -block-buffer = "0.7" +block-buffer = "= 0.8.0-pre" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 2554569b6..850841823 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,8 +15,8 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9.0-pre" } -block-buffer = { version = "0.7" } +digest = { version = "= 0.9.0-pre" } +block-buffer = { version = "= 0.8.0-pre" } fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version = "0.5", optional = true } diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index ef8bd3d86..8300f1275 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "0.7" +block-buffer = "= 0.8.0-pre" byte-tools = "0.3" opaque-debug = "0.2" keccak = "0.1" diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index da0b1dd77..ea367a8fc 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "0.7" +block-buffer = "= 0.8.0-pre" opaque-debug = "0.2" [dev-dependencies] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 522394216..e574c9519 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "0.7" +block-buffer = "= 0.8.0-pre" byte-tools = "0.3" opaque-debug = "0.2" diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 8ec0f61a0..a4df9b27a 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "0.7" +block-buffer = "= 0.8.0-pre" byte-tools = "0.3" opaque-debug = "0.2" -whirlpool-asm = { version="0.5", optional=true } +whirlpool-asm = { version = "0.5", optional = true } [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } From d749cb0fac719d46bd15302bba4adf4fba1d4ba6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Jun 2020 12:35:57 -0700 Subject: [PATCH 065/373] Rename `*result*` to `finalize` Implements the API changes from: https://github.com/RustCrypto/traits/pull/161 The `digest` crate now uses `update` and `finalize` nomenclature ala the Initialize-Update-Finalize (IUF) interface naming scheme. --- Cargo.lock | 10 +++++----- blake2/examples/blake2b_sum.rs | 2 +- blake2/examples/blake2s_sum.rs | 2 +- blake2/src/blake2.rs | 6 +++--- blake2/src/lib.rs | 8 ++++---- blake2/tests/persona.rs | 4 ++-- gost94/examples/gost94_cryptopro_sum.rs | 2 +- gost94/examples/gost94_test_sum.rs | 2 +- gost94/src/gost94.rs | 2 +- gost94/src/lib.rs | 2 +- gost94/src/macros.rs | 4 ++-- groestl/src/lib.rs | 2 +- groestl/src/macros.rs | 4 ++-- k12/src/lib.rs | 2 +- k12/tests/lib.rs | 10 +++++----- md2/examples/md2sum.rs | 2 +- md2/src/lib.rs | 4 ++-- md4/examples/md4sum.rs | 2 +- md4/src/lib.rs | 8 ++++---- md5/examples/md5sum.rs | 2 +- md5/src/lib.rs | 8 ++++---- ripemd160/examples/ripemd160sum.rs | 2 +- ripemd160/src/lib.rs | 4 ++-- ripemd320/examples/ripemd320sum.rs | 2 +- ripemd320/src/lib.rs | 4 ++-- sha1/examples/sha1sum.rs | 2 +- sha1/src/lib.rs | 11 +++++------ sha2/examples/sha256sum.rs | 2 +- sha2/examples/sha512sum.rs | 2 +- sha2/src/lib.rs | 10 +++++----- sha2/src/sha256.rs | 4 ++-- sha2/src/sha512.rs | 8 ++++---- sha3/examples/sha3_256sum.rs | 2 +- sha3/examples/sha3_512sum.rs | 2 +- sha3/src/lib.rs | 2 +- sha3/src/macros.rs | 4 ++-- shabal/examples/shabal256sum.rs | 2 +- shabal/examples/shabal512sum.rs | 2 +- shabal/src/lib.rs | 2 +- shabal/src/shabal.rs | 10 +++++----- streebog/examples/streebog256sum.rs | 2 +- streebog/examples/streebog512sum.rs | 2 +- streebog/src/lib.rs | 4 ++-- streebog/src/streebog.rs | 2 +- whirlpool/examples/whirlpool_sum.rs | 2 +- whirlpool/src/lib.rs | 14 +++++++------- 46 files changed, 95 insertions(+), 96 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 136389e7e..946307e1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,7 +24,7 @@ dependencies = [ [[package]] name = "block-buffer" version = "0.8.0-pre" -source = "git+https://github.com/RustCrypto/utils#a0e48018d38545935152cd1715382bc1984b5699" +source = "git+https://github.com/RustCrypto/utils#2aae8a40556e166e9ca06aebc944091dda24b769" dependencies = [ "block-padding", "byte-tools", @@ -62,7 +62,7 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#f1ae0b0bf1187f0c0a90bd07caa66710240daca5" +source = "git+https://github.com/rustcrypto/traits#88bdef68d6b8da01249391b74b265499dfd76a37" dependencies = [ "blobby", "generic-array", @@ -72,7 +72,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#f1ae0b0bf1187f0c0a90bd07caa66710240daca5" +source = "git+https://github.com/rustcrypto/traits#88bdef68d6b8da01249391b74b265499dfd76a37" dependencies = [ "blobby", "generic-array", @@ -125,9 +125,9 @@ dependencies = [ [[package]] name = "hex-literal-impl" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d" +checksum = "853f769599eb31de176303197b7ba4973299c38c7a7604a6bc88c3eef05b9b46" dependencies = [ "proc-macro-hack", ] diff --git a/blake2/examples/blake2b_sum.rs b/blake2/examples/blake2b_sum.rs index b0dc38a64..31e0ff11e 100644 --- a/blake2/examples/blake2b_sum.rs +++ b/blake2/examples/blake2b_sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/blake2/examples/blake2s_sum.rs b/blake2/examples/blake2s_sum.rs index c27cd1f9b..38be51d03 100644 --- a/blake2/examples/blake2s_sum.rs +++ b/blake2/examples/blake2s_sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index d5b770b34..0e302abd7 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -290,7 +290,7 @@ macro_rules! blake2_impl { self.n } - fn variable_result(self, f: F) { + fn finalize_variable(self, f: F) { let n = self.n; let res = self.finalize_with_flag(0); f(&res[..n]); @@ -343,7 +343,7 @@ macro_rules! blake2_impl { impl FixedOutput for $fix_state { type OutputSize = $bytes; - fn fixed_result(self) -> Output { + fn finalize_fixed(self) -> Output { self.state.finalize_with_flag(0) } } @@ -381,7 +381,7 @@ macro_rules! blake2_impl { ::reset(self) } - fn result(self) -> crypto_mac::Output { + fn finalize(self) -> crypto_mac::Output { crypto_mac::Output::new(self.state.finalize_with_flag(0)) } } diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index aa2b9b643..aabdb1352 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -15,7 +15,7 @@ //! hasher.update(b"hello world"); //! //! // read hash digest and consume hasher -//! let res = hasher.result(); +//! let res = hasher.finalize(); //! assert_eq!(res[..], hex!(" //! 021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbc //! c05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0 @@ -24,7 +24,7 @@ //! // same example for `Blake2s`: //! let mut hasher = Blake2s::new(); //! hasher.update(b"hello world"); -//! let res = hasher.result(); +//! let res = hasher.finalize(); //! assert_eq!(res[..], hex!(" //! 9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b //! ")[..]); @@ -44,7 +44,7 @@ //! //! let mut hasher = VarBlake2b::new(10).unwrap(); //! hasher.update(b"my_input"); -//! hasher.variable_result(|res| { +//! hasher.finalize_variable(|res| { //! assert_eq!(res, [44, 197, 92, 132, 228, 22, 146, 78, 100, 0]) //! }) //! ``` @@ -62,7 +62,7 @@ //! //! // `result` has type `crypto_mac::Output` which is a thin wrapper around //! // a byte array and provides a constant time equality check -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! // To get underlying array use the `into_bytes` method, but be careful, //! // since incorrect use of the code value may permit timing attacks which //! // defeat the security provided by the `crypto_mac::Output` diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index ed0dfc8c7..4defcc801 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -8,7 +8,7 @@ fn blake2s_persona() { let persona_bytes = persona.as_bytes(); let ctx = Blake2s::with_params(&key_bytes, &[], persona_bytes); assert_eq!( - ctx.result().as_slice(), + ctx.finalize().as_slice(), &hex!("25a4ee63b594aed3f88a971e1877ef7099534f9097291f88fb86c79b5e70d022")[..] ); } @@ -19,5 +19,5 @@ fn blake2b_persona() { let persona = "personal"; let persona_bytes = persona.as_bytes(); let ctx = Blake2b::with_params(&key_bytes, &[], persona_bytes); - assert_eq!(ctx.result().as_slice(), &hex!("03de3b295dcfc3b25b05abb09bc95fe3e9ff3073638badc68101d1e42019d0771dd07525a3aae8318e92c5e5d967ba92e4810d0021d7bf3b49da0b4b4a8a4e1f")[..]); + assert_eq!(ctx.finalize().as_slice(), &hex!("03de3b295dcfc3b25b05abb09bc95fe3e9ff3073638badc68101d1e42019d0771dd07525a3aae8318e92c5e5d967ba92e4810d0021d7bf3b49da0b4b4a8a4e1f")[..]); } diff --git a/gost94/examples/gost94_cryptopro_sum.rs b/gost94/examples/gost94_cryptopro_sum.rs index c1508fb32..c6bee4d74 100644 --- a/gost94/examples/gost94_cryptopro_sum.rs +++ b/gost94/examples/gost94_cryptopro_sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/gost94/examples/gost94_test_sum.rs b/gost94/examples/gost94_test_sum.rs index c4ae8abe6..8f31b1906 100644 --- a/gost94/examples/gost94_test_sum.rs +++ b/gost94/examples/gost94_test_sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index c72f64083..b732422ee 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -241,7 +241,7 @@ impl Update for Gost94 { impl FixedOutput for Gost94 { type OutputSize = U32; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { { let self_state = &mut self.state; diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index c3e64dbd8..348477eba 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" //! 1bb6ce69d2e895a78489c87a0712a2f40258d1fae3a4666c23f8f487bef0e22a //! ")); diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index ce0d9f000..e2a696611 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -34,8 +34,8 @@ macro_rules! gost94_impl { impl FixedOutput for $state { type OutputSize = U32; - fn fixed_result(self) -> GenericArray { - self.sh.fixed_result() + fn finalize_fixed(self) -> GenericArray { + self.sh.finalize_fixed() } } diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index a3fed0252..c43126233 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -21,7 +21,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" //! dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8047a86 //! ")); diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs index d6b0eab18..e2f57a528 100644 --- a/groestl/src/macros.rs +++ b/groestl/src/macros.rs @@ -27,7 +27,7 @@ macro_rules! impl_groestl { impl FixedOutput for $state { type OutputSize = $output; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { let block = self.groestl.finalize(); let n = block.len() - Self::OutputSize::to_usize(); GenericArray::clone_from_slice(&block[n..]) @@ -76,7 +76,7 @@ macro_rules! impl_variable_groestl { self.groestl.output_size } - fn variable_result(mut self, f: F) { + fn finalize_variable(mut self, f: F) { let block = self.groestl.finalize(); let n = block.len() - self.groestl.output_size; f(&block[n..]); diff --git a/k12/src/lib.rs b/k12/src/lib.rs index d376fe888..3cc12babe 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -59,7 +59,7 @@ impl KangarooTwelve { } /// Get the result as a `Vec` - pub fn result_vec(mut self, length: usize) -> Vec { + pub fn finalize_vec(mut self, length: usize) -> Vec { let mut output = vec![0u8; length]; self.read(&mut output); output diff --git a/k12/tests/lib.rs b/k12/tests/lib.rs index 2bec107d7..c9c2d126b 100644 --- a/k12/tests/lib.rs +++ b/k12/tests/lib.rs @@ -30,7 +30,7 @@ fn read_bytes>(s: T) -> Vec { fn empty() { // Source: reference paper assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(32), + KangarooTwelve::new().chain(b"").finalize_vec(32), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" @@ -38,7 +38,7 @@ fn empty() { ); assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(64), + KangarooTwelve::new().chain(b"").finalize_vec(64), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e @@ -47,7 +47,7 @@ fn empty() { ); assert_eq!( - KangarooTwelve::new().chain(b"").result_vec(10032)[10000..], + KangarooTwelve::new().chain(b"").finalize_vec(10032)[10000..], read_bytes( "e8 dc 56 36 42 f7 22 8c 84 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" @@ -78,7 +78,7 @@ fn pat_m() { { let len = 17usize.pow(i); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).result_vec(32); + let result = KangarooTwelve::new().chain(&m).finalize_vec(32); assert_eq!(result, read_bytes(expected[i as usize])); } } @@ -101,7 +101,7 @@ fn pat_c() { let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); let result = KangarooTwelve::new_with_customization(c) .chain(&m) - .result_vec(32); + .finalize_vec(32); assert_eq!(result, read_bytes(expected[i as usize])); } } diff --git a/md2/examples/md2sum.rs b/md2/examples/md2sum.rs index 05a2d80d7..14a94ff78 100644 --- a/md2/examples/md2sum.rs +++ b/md2/examples/md2sum.rs @@ -20,7 +20,7 @@ fn process(reader: &mut R, name: &str) { break; } } - println!("{:x}\t{}", &sh.result(), name); + println!("{:x}\t{}", &sh.finalize(), name); } fn main() { diff --git a/md2/src/lib.rs b/md2/src/lib.rs index e02065daf..a772989f0 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("d9cce882ee690a5c1ce70beff3a78c77")); //! ``` //! @@ -110,7 +110,7 @@ impl Update for Md2 { impl FixedOutput for Md2 { type OutputSize = U16; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { let buf = self .buffer .pad_with::() diff --git a/md4/examples/md4sum.rs b/md4/examples/md4sum.rs index 7645cab5b..4f4e67073 100644 --- a/md4/examples/md4sum.rs +++ b/md4/examples/md4sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 6b69f1eca..f7c75614c 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("aa010fbc1d14c795d86ef98c95479d17")); //! ``` //! @@ -140,7 +140,7 @@ impl Default for Md4State { } impl Md4 { - fn finalize(&mut self) { + fn finalize_inner(&mut self) { let state = &mut self.state; let l = (self.length_bytes << 3) as u64; self.buffer @@ -167,8 +167,8 @@ impl Update for Md4 { impl FixedOutput for Md4 { type OutputSize = U16; - fn fixed_result(mut self) -> GenericArray { - self.finalize(); + fn finalize_fixed(mut self) -> GenericArray { + self.finalize_inner(); let mut out = GenericArray::default(); LE::write_u32(&mut out[0..4], self.state.s.0); diff --git a/md5/examples/md5sum.rs b/md5/examples/md5sum.rs index 96ffd66be..baa91fcd3 100644 --- a/md5/examples/md5sum.rs +++ b/md5/examples/md5sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 848d1c57f..9bf8c22c0 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 16] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("5eb63bbbe01eeed093cb22bb8f5acdc3")); //! ``` //! @@ -81,7 +81,7 @@ fn convert(d: &GenericArray) -> &[u8; 64] { impl Md5 { #[inline] - fn finalize(&mut self) { + fn finalize_inner(&mut self) { let state = &mut self.state; let l = (self.length_bytes << 3) as u64; self.buffer @@ -110,9 +110,9 @@ impl FixedOutput for Md5 { type OutputSize = U16; #[inline] - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { let mut out = GenericArray::default(); - self.finalize(); + self.finalize_inner(); LE::write_u32_into(&self.state, &mut out); out } diff --git a/ripemd160/examples/ripemd160sum.rs b/ripemd160/examples/ripemd160sum.rs index a478844ff..4f71a12af 100644 --- a/ripemd160/examples/ripemd160sum.rs +++ b/ripemd160/examples/ripemd160sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index d499194d6..76379a5e8 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 20] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); //! ``` //! @@ -80,7 +80,7 @@ impl Update for Ripemd160 { impl FixedOutput for Ripemd160 { type OutputSize = U20; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { { let h = &mut self.h; let l = self.len << 3; diff --git a/ripemd320/examples/ripemd320sum.rs b/ripemd320/examples/ripemd320sum.rs index d360005e3..0b1f49fa3 100644 --- a/ripemd320/examples/ripemd320sum.rs +++ b/ripemd320/examples/ripemd320sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index d16f29946..099096ce1 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -15,7 +15,7 @@ //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 40] //! let expected = hex!("f1c1c231d301abcf2d7daae0269ff3e7bc68e623ad723aa068d316b056d26b7d1bb6f0cc0f28336d"); -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(&result[..], &expected[..]); //! ``` //! @@ -83,7 +83,7 @@ impl Update for Ripemd320 { impl FixedOutput for Ripemd320 { type OutputSize = U40; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { { let h = &mut self.h; let l = self.len << 3; diff --git a/sha1/examples/sha1sum.rs b/sha1/examples/sha1sum.rs index cbd68e96d..78d0cbf90 100644 --- a/sha1/examples/sha1sum.rs +++ b/sha1/examples/sha1sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 44d72e5da..3814fed5c 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -14,7 +14,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 20] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); //! ``` //! @@ -56,10 +56,6 @@ compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use #[macro_use] extern crate opaque_debug; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] -extern crate fake_simd as simd; -#[cfg(feature = "asm-aarch64")] -extern crate libc; #[cfg(feature = "asm")] extern crate sha1_asm; #[cfg(feature = "std")] @@ -85,6 +81,9 @@ use digest::{BlockInput, FixedOutput, Reset, Update}; #[cfg(not(feature = "asm"))] use crate::utils::compress; +#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] +use fake_simd as simd; + /// Structure representing the state of a SHA-1 computation #[derive(Clone)] pub struct Sha1 { @@ -120,7 +119,7 @@ impl Update for Sha1 { impl FixedOutput for Sha1 { type OutputSize = U20; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { { let state = &mut self.h; let l = self.len << 3; diff --git a/sha2/examples/sha256sum.rs b/sha2/examples/sha256sum.rs index 2bb17a597..31ee97929 100644 --- a/sha2/examples/sha256sum.rs +++ b/sha2/examples/sha256sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/sha2/examples/sha512sum.rs b/sha2/examples/sha512sum.rs index 0c76c4af3..9d4785acd 100644 --- a/sha2/examples/sha512sum.rs +++ b/sha2/examples/sha512sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index b2f996be4..814ba607c 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -30,7 +30,7 @@ //! hasher.update(b"hello world"); //! //! // read hash digest and consume hasher -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 @@ -39,7 +39,7 @@ //! // same for Sha512 //! let mut hasher = Sha512::new(); //! hasher.update(b"hello world"); -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f @@ -80,11 +80,9 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when build ))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); -extern crate fake_simd as simd; #[macro_use] extern crate opaque_debug; -#[cfg(feature = "asm-aarch64")] -extern crate libc; + #[cfg(feature = "std")] extern crate std; @@ -105,3 +103,5 @@ pub use digest::{self, Digest}; pub use sha256_utils::compress256; #[cfg(feature = "compress")] pub use sha512_utils::compress512; + +use fake_simd as simd; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index a3f051bfa..9e9c297b8 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -114,7 +114,7 @@ impl Update for Sha256 { impl FixedOutput for Sha256 { type OutputSize = U32; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); BE::write_u32_into(&self.engine.state.h, out.as_mut_slice()); @@ -156,7 +156,7 @@ impl Update for Sha224 { impl FixedOutput for Sha224 { type OutputSize = U28; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); BE::write_u32_into(&self.engine.state.h[..7], out.as_mut_slice()); diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 557818e5b..5941ed932 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -102,7 +102,7 @@ impl Update for Sha512 { impl FixedOutput for Sha512 { type OutputSize = U64; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); @@ -145,7 +145,7 @@ impl Update for Sha384 { impl FixedOutput for Sha384 { type OutputSize = U48; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); @@ -188,7 +188,7 @@ impl Update for Sha512Trunc256 { impl FixedOutput for Sha512Trunc256 { type OutputSize = U32; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); @@ -231,7 +231,7 @@ impl Update for Sha512Trunc224 { impl FixedOutput for Sha512Trunc224 { type OutputSize = U28; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); diff --git a/sha3/examples/sha3_256sum.rs b/sha3/examples/sha3_256sum.rs index 9e45319f8..bc9da2e08 100644 --- a/sha3/examples/sha3_256sum.rs +++ b/sha3/examples/sha3_256sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/sha3/examples/sha3_512sum.rs b/sha3/examples/sha3_512sum.rs index 46f84e17d..1bfbe3b89 100644 --- a/sha3/examples/sha3_512sum.rs +++ b/sha3/examples/sha3_512sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 223ae771a..c57be3d1e 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -26,7 +26,7 @@ //! hasher.update(b"abc"); //! //! // read hash digest -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 16cc1f327..1f9b08c1d 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -41,7 +41,7 @@ macro_rules! sha3_impl { impl FixedOutput for $state { type OutputSize = $output_size; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.apply_padding(); let mut out = GenericArray::default(); @@ -78,7 +78,7 @@ macro_rules! shake_impl { impl ExtendableOutput for $state { type Reader = Sha3XofReader; - fn xof_result(mut self) -> Sha3XofReader { + fn finalize_xof(mut self) -> Sha3XofReader { self.apply_padding(); let r = $rate::to_usize(); Sha3XofReader::new(self.state.clone(), r) diff --git a/shabal/examples/shabal256sum.rs b/shabal/examples/shabal256sum.rs index a0d601e95..5a5186183 100644 --- a/shabal/examples/shabal256sum.rs +++ b/shabal/examples/shabal256sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/shabal/examples/shabal512sum.rs b/shabal/examples/shabal512sum.rs index 8ddb5c189..b045f6581 100644 --- a/shabal/examples/shabal512sum.rs +++ b/shabal/examples/shabal512sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index c49a8bb32..fe7f75de3 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -25,7 +25,7 @@ //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); //! ``` //! diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index f6749d801..fbf34ec67 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -280,7 +280,7 @@ impl Update for Shabal512 { impl FixedOutput for Shabal512 { type OutputSize = U64; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[0..16], out.as_mut_slice()); @@ -322,7 +322,7 @@ impl Update for Shabal384 { impl FixedOutput for Shabal384 { type OutputSize = U48; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[4..16], out.as_mut_slice()); @@ -364,7 +364,7 @@ impl Update for Shabal256 { impl FixedOutput for Shabal256 { type OutputSize = U32; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[8..16], out.as_mut_slice()); @@ -406,7 +406,7 @@ impl Update for Shabal224 { impl FixedOutput for Shabal224 { type OutputSize = U28; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[9..16], out.as_mut_slice()); @@ -448,7 +448,7 @@ impl Update for Shabal192 { impl FixedOutput for Shabal192 { type OutputSize = U24; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { self.engine.finish(); let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[10..16], out.as_mut_slice()); diff --git a/streebog/examples/streebog256sum.rs b/streebog/examples/streebog256sum.rs index 87e120430..4973d262a 100644 --- a/streebog/examples/streebog256sum.rs +++ b/streebog/examples/streebog256sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/streebog/examples/streebog512sum.rs b/streebog/examples/streebog512sum.rs index bb3fce914..e2130ff63 100644 --- a/streebog/examples/streebog512sum.rs +++ b/streebog/examples/streebog512sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index f0bcedf33..2d6c3336b 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -19,7 +19,7 @@ //! // write input message //! hasher.update(b"my message"); //! // read hash digest (it will consume hasher) -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! a47752ba9491bd1d52dd5dcea6d8c08e9b1ee70c42a2fc3e0d1a2852468c1329 @@ -28,7 +28,7 @@ //! // same for Streebog512 //! let mut hasher = Streebog512::new(); //! hasher.update(b"my message"); -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! c40cc26c37a683c74459820d884b766d9c96697a8d168c0272db8f4ecca2935b diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index 559d40fd1..5c6aabab4 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -149,7 +149,7 @@ where { type OutputSize = N; - fn fixed_result(mut self) -> GenericArray { + fn finalize_fixed(mut self) -> GenericArray { let mut self_state = self.state; let pos = self.buffer.position(); diff --git a/whirlpool/examples/whirlpool_sum.rs b/whirlpool/examples/whirlpool_sum.rs index 3b0bc1288..fe2416b8f 100644 --- a/whirlpool/examples/whirlpool_sum.rs +++ b/whirlpool/examples/whirlpool_sum.rs @@ -28,7 +28,7 @@ fn process(reader: &mut R, name: &str) { break; } } - print_result(&sh.result(), name); + print_result(&sh.finalize(), name); } fn main() { diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 7a1bf8624..34862fa34 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -22,7 +22,7 @@ //! // write input message //! hasher.update(b"Hello Whirlpool"); //! // read hash digest (it will consume hasher) -//! let result = hasher.result(); +//! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! 8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c @@ -47,7 +47,7 @@ extern crate opaque_debug; extern crate std; #[cfg(feature = "asm")] -extern crate whirlpool_asm as utils; +use whirlpool_asm as utils; #[cfg(not(feature = "asm"))] mod utils; @@ -140,7 +140,7 @@ impl Whirlpool { } } - fn finalize(&mut self) { + fn finalize_inner(&mut self) { // padding let hash = &mut self.hash; let pos = self.buffer.position(); @@ -176,8 +176,8 @@ impl FixedOutput for Whirlpool { type OutputSize = U64; #[cfg(not(feature = "asm"))] - fn fixed_result(mut self) -> GenericArray { - self.finalize(); + fn finalize_fixed(mut self) -> GenericArray { + self.finalize_inner(); let mut out = GenericArray::default(); BE::write_u64_into(&self.hash[..], &mut out); @@ -185,8 +185,8 @@ impl FixedOutput for Whirlpool { } #[cfg(feature = "asm")] - fn fixed_result(mut self) -> GenericArray { - self.finalize(); + fn finalize_fixed(mut self) -> GenericArray { + self.finalize_inner(); GenericArray::clone_from_slice(&self.hash) } } From f310cf3c90b66ad7906b0956f5abdf277b3bf4ee Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Jun 2020 13:12:22 -0700 Subject: [PATCH 066/373] k12: impl the ExtendableOutput trait Splits the `KangarooTwelve` type from a `Reader` type, with the former impl'ing the `ExtendableOutput` trait and the latter impl'ing the `XofReader` trait. This still doesn't fully implement the `XofReader` contract and only allows for one invocation, but at least the basic type structure is now in place. --- .github/workflows/k12.yml | 1 - k12/src/lib.rs | 51 +++++++++++++++++++++++++++------------ k12/tests/lib.rs | 5 +++- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 7e993c8a5..1d73d16cc 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -52,7 +52,6 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo check --all-features - - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 3cc12babe..2fd53651d 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -14,7 +14,6 @@ #![warn(missing_docs, rust_2018_idioms)] // TODO(tarcieri): eliminate alloc requirement -#[macro_use] extern crate alloc; pub use digest; @@ -25,7 +24,7 @@ mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; use core::{cmp::min, convert::TryInto}; -use digest::{Update, XofReader}; +use digest::{ExtendableOutput, Update, XofReader}; /// The KangarooTwelve extendable-output function (XOF). #[derive(Debug, Default)] @@ -37,10 +36,6 @@ pub struct KangarooTwelve { /// Customization string to apply // TODO(tarcieri): don't store customization in a `Vec` customization: Vec, - - /// Has the XOF output already been consumed? - // TODO(tarcieri): allow `XofReader::result` to be called multiple times - finished: bool, } impl KangarooTwelve { @@ -54,16 +49,8 @@ impl KangarooTwelve { Self { buffer: Vec::new(), customization: customization.as_ref().into(), - finished: false, } } - - /// Get the result as a `Vec` - pub fn finalize_vec(mut self, length: usize) -> Vec { - let mut output = vec![0u8; length]; - self.read(&mut output); - output - } } impl Update for KangarooTwelve { @@ -73,14 +60,46 @@ impl Update for KangarooTwelve { } } -impl XofReader for KangarooTwelve { +impl ExtendableOutput for KangarooTwelve { + type Reader = Reader; + + fn finalize_xof(self) -> Self::Reader { + Reader { + buffer: self.buffer, + customization: self.customization, + finished: false, + } + } +} + +/// Extensible output reader. +/// +/// NOTE: this presently only supports one invocation and will *panic* if +/// [`XofReader::read`] is invoked on it multiple times. +#[derive(Debug, Default)] +pub struct Reader { + /// Input to be processed + // TODO(tarcieri): don't store input in a `Vec` + buffer: Vec, + + /// Customization string to apply + // TODO(tarcieri): don't store customization in a `Vec` + customization: Vec, + + /// Has the XOF output already been consumed? + // TODO(tarcieri): allow `XofReader::result` to be called multiple times + finished: bool, +} + +// TODO(tarcieri): factor more of this logic into the `KangarooTwelve` type +impl XofReader for Reader { /// Get the resulting output of the function. /// /// Panics if called multiple times on the same instance (TODO: don't panic!) fn read(&mut self, output: &mut [u8]) { assert!( !self.finished, - "K12 doesn't support multiple XofReader invocations yet" + "not yet implemented: multiple XofReader::read invocations unsupported" ); let b = 8192; diff --git a/k12/tests/lib.rs b/k12/tests/lib.rs index c9c2d126b..85b89795b 100644 --- a/k12/tests/lib.rs +++ b/k12/tests/lib.rs @@ -1,5 +1,8 @@ use core::iter; -use k12::{digest::Update, KangarooTwelve}; +use k12::{ + digest::{ExtendableOutput, Update}, + KangarooTwelve, +}; fn read_bytes>(s: T) -> Vec { fn b(c: u8) -> u8 { From a49e1e1fee0883ea8144e3022465927f2b32969b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 2 Jun 2020 13:34:45 -0700 Subject: [PATCH 067/373] k12: use `digest` crate's `alloc` feature --- .github/workflows/k12.yml | 1 + Cargo.lock | 4 ++-- k12/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 1d73d16cc..7e993c8a5 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -52,6 +52,7 @@ jobs: toolchain: ${{ matrix.rust }} override: true - run: cargo check --all-features + - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features diff --git a/Cargo.lock b/Cargo.lock index 946307e1b..ea7592cac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,7 +62,7 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#88bdef68d6b8da01249391b74b265499dfd76a37" +source = "git+https://github.com/rustcrypto/traits#a853a6fedf7210ed0303651afa29cb56eb64852e" dependencies = [ "blobby", "generic-array", @@ -72,7 +72,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#88bdef68d6b8da01249391b74b265499dfd76a37" +source = "git+https://github.com/rustcrypto/traits#a853a6fedf7210ed0303651afa29cb56eb64852e" dependencies = [ "blobby", "generic-array", diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 719126126..fe2d14c55 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -12,7 +12,7 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = { version = "= 0.9.0-pre", features = ["alloc"] } [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } From e2a554f1d9a9f143616426db31a62081619c1fff Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 4 Jun 2020 11:59:23 -0700 Subject: [PATCH 068/373] Bump `block-buffer` to v0.8 release --- Cargo.lock | 9 +++++---- Cargo.toml | 1 - gost94/Cargo.toml | 2 +- groestl/Cargo.toml | 2 +- md2/Cargo.toml | 2 +- md4/Cargo.toml | 2 +- md5/Cargo.toml | 2 +- ripemd160/Cargo.toml | 2 +- ripemd320/Cargo.toml | 2 +- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 2 +- shabal/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- whirlpool/Cargo.toml | 2 +- 15 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ea7592cac..813c901ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,8 +23,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.8.0-pre" -source = "git+https://github.com/RustCrypto/utils#2aae8a40556e166e9ca06aebc944091dda24b769" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbcf92448676f82bb7a334c58bbce8b0d43580fb5362a9d608b18879d12a3d31" dependencies = [ "block-padding", "byte-tools", @@ -62,7 +63,7 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#a853a6fedf7210ed0303651afa29cb56eb64852e" +source = "git+https://github.com/rustcrypto/traits#7f2b98d31f704b55c502a685632bd2ea4bd5dd6c" dependencies = [ "blobby", "generic-array", @@ -72,7 +73,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#a853a6fedf7210ed0303651afa29cb56eb64852e" +source = "git+https://github.com/rustcrypto/traits#7f2b98d31f704b55c502a685632bd2ea4bd5dd6c" dependencies = [ "blobby", "generic-array", diff --git a/Cargo.toml b/Cargo.toml index 379fd3d5f..650693594 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,5 +19,4 @@ members = [ [patch.crates-io] digest = { git = "https://github.com/RustCrypto/traits" } -block-buffer = { git = "https://github.com/RustCrypto/utils" } crypto-mac = { git = "https://github.com/rustcrypto/traits" } diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 0440b6ba4..e68a0ebc6 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index dca41ace3..df95277c5 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index bd4d203b5..149636cd7 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 2624984bb..5112e071d 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" fake-simd = "0.1" opaque-debug = "0.2" diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 3bfbd4141..8294c6aaf 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,7 +16,7 @@ name = "md5" [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" md5-asm = { version = "0.4", optional = true} opaque-debug = "0.2" diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 1d1fa4180..96946ddf0 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 05de7540c..36c1d7e83 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index fda6b58c3..e29c7110c 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -16,7 +16,7 @@ name = "sha1" [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } opaque-debug = "0.2" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 850841823..e5cd8df77 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,8 +15,8 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "= 0.9.0-pre" } -block-buffer = { version = "= 0.8.0-pre" } +digest = "= 0.9.0-pre" +block-buffer = "0.8" fake-simd = "0.1" opaque-debug = "0.2" sha2-asm = { version = "0.5", optional = true } diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 8300f1275..1e1088434 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" keccak = "0.1" diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index ea367a8fc..ef9ecd6b7 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index e574c9519..6863d14ea 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index a4df9b27a..99694f9a7 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "= 0.9.0-pre" -block-buffer = "= 0.8.0-pre" +block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" whirlpool-asm = { version = "0.5", optional = true } From f51af68f8201052823aecd1c2563493f530b781b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 4 Jun 2020 17:24:22 -0700 Subject: [PATCH 069/373] blake2: bump `crypto-mac` to v0.8 release --- Cargo.lock | 5 +++-- Cargo.toml | 1 - blake2/Cargo.toml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 813c901ef..419890947 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,8 +62,9 @@ checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" [[package]] name = "crypto-mac" -version = "0.8.0-pre" -source = "git+https://github.com/rustcrypto/traits#7f2b98d31f704b55c502a685632bd2ea4bd5dd6c" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "blobby", "generic-array", diff --git a/Cargo.toml b/Cargo.toml index 650693594..b48af641d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,4 +19,3 @@ members = [ [patch.crates-io] digest = { git = "https://github.com/RustCrypto/traits" } -crypto-mac = { git = "https://github.com/rustcrypto/traits" } diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 433b7c73c..185ce1d52 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -15,12 +15,12 @@ categories = ["cryptography", "no-std"] digest = "= 0.9.0-pre" byte-tools = "0.3" byteorder = { version = "1", default-features = false } -crypto-mac = "= 0.8.0-pre" +crypto-mac = "0.8" opaque-debug = "0.2" [dev-dependencies] digest = { version = "= 0.9.0-pre", features = ["dev"] } -crypto-mac = { version = "0.8.0-pre", features = ["dev"] } +crypto-mac = { version = "0.8", features = ["dev"] } hex-literal = "0.2" [features] From 26bea13186632a16e6cc2a1d096c01b2b9500beb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 16:22:33 -0700 Subject: [PATCH 070/373] Use new `*Dirty` traits from the `digest` crate (#153) Updates all of the hash implementations in this repo to use the new `*Dirty` traits which support blanket impls of the original traits, which either consume the hasher instance or can be reset. This will also provide a marginal efficiency boost, at least until placement return lands (which, as it were, may be soon). --- Cargo.lock | 2 +- blake2/src/blake2.rs | 22 +++++++++---------- gost94/src/gost94.rs | 40 +++++++++++++++++----------------- gost94/src/macros.rs | 11 +++++----- groestl/src/lib.rs | 10 ++++----- groestl/src/macros.rs | 10 ++++----- k12/Cargo.toml | 2 +- k12/src/lib.rs | 27 +++++++++++++++++------ k12/tests/lib.rs | 17 +++++++++------ md2/src/lib.rs | 17 ++++++++------- md4/src/lib.rs | 17 +++++++-------- md5/src/lib.rs | 10 ++++----- ripemd160/src/lib.rs | 34 ++++++++++++++--------------- ripemd320/src/lib.rs | 27 +++++++++++------------ sha1/src/lib.rs | 35 +++++++++++++++--------------- sha2/src/sha256.rs | 30 ++++++++++++++------------ sha2/src/sha512.rs | 46 +++++++++++++++++----------------------- sha3/src/lib.rs | 8 +++---- sha3/src/macros.rs | 10 ++++----- shabal/src/shabal.rs | 46 +++++++++++++++++----------------------- streebog/src/lib.rs | 3 ++- streebog/src/streebog.rs | 20 ++++++++++------- whirlpool/src/lib.rs | 28 +++++++++++------------- 23 files changed, 232 insertions(+), 240 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 419890947..e2384780b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ [[package]] name = "digest" version = "0.9.0-pre" -source = "git+https://github.com/rustcrypto/traits#7f2b98d31f704b55c502a685632bd2ea4bd5dd6c" +source = "git+https://github.com/RustCrypto/traits#b6c5fad59c4079b915a1df20c47bf3154b3612b1" dependencies = [ "blobby", "generic-array", diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 0e302abd7..f6eec5564 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -9,7 +9,7 @@ macro_rules! blake2_impl { use $crate::simd::{Vector4, $vec}; use byteorder::{ByteOrder, LittleEndian}; - use digest::{Update, BlockInput, FixedOutput, VariableOutput, Reset}; + use digest::{Update, BlockInput, FixedOutputDirty, VariableOutputDirty, Reset}; use digest::InvalidOutputSize; use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U4, Unsigned}; @@ -204,12 +204,12 @@ macro_rules! blake2_impl { } #[doc(hidden)] - pub fn finalize_last_node(self) -> Output { + pub fn finalize_last_node(mut self) -> Output { self.finalize_with_flag(!0) } - fn finalize_with_flag(mut self, f1: $word) -> Output { + fn finalize_with_flag(&mut self, f1: $word) -> Output { let off = self.t as usize % (2 * $bytes::to_usize()); if off != 0 { zero(&mut self.m.as_mut_bytes()[off..]); @@ -278,7 +278,7 @@ macro_rules! blake2_impl { } } - impl VariableOutput for $state { + impl VariableOutputDirty for $state { fn new(output_size: usize) -> Result { if output_size == 0 || output_size > $bytes::to_usize() { return Err(InvalidOutputSize); @@ -290,14 +290,14 @@ macro_rules! blake2_impl { self.n } - fn finalize_variable(self, f: F) { + fn finalize_variable_dirty(&mut self, f: impl FnOnce(&[u8])) { let n = self.n; let res = self.finalize_with_flag(0); f(&res[..n]); } } - impl Reset for $state { + impl Reset for $state { fn reset(&mut self) { self.t = self.t0; self.m = self.m0; @@ -340,15 +340,15 @@ macro_rules! blake2_impl { } } - impl FixedOutput for $fix_state { + impl FixedOutputDirty for $fix_state { type OutputSize = $bytes; - fn finalize_fixed(self) -> Output { - self.state.finalize_with_flag(0) + fn finalize_into_dirty(&mut self, out: &mut Output) { + out.copy_from_slice(&self.state.finalize_with_flag(0)); } } - impl Reset for $fix_state { + impl Reset for $fix_state { fn reset(&mut self) { self.state.reset() } @@ -381,7 +381,7 @@ macro_rules! blake2_impl { ::reset(self) } - fn finalize(self) -> crypto_mac::Output { + fn finalize(mut self) -> crypto_mac::Output { crypto_mac::Output::new(self.state.finalize_with_flag(0)) } } diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index b732422ee..b905ba05c 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -3,10 +3,9 @@ use block_buffer::block_padding::ZeroPadding; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use digest::generic_array::typenum::U32; -use digest::generic_array::GenericArray; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{consts::U32, generic_array::GenericArray}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; pub(crate) type Block = [u8; 32]; @@ -238,31 +237,30 @@ impl Update for Gost94 { } } -impl FixedOutput for Gost94 { +impl FixedOutputDirty for Gost94 { type OutputSize = U32; - fn finalize_fixed(mut self) -> GenericArray { - { - let self_state = &mut self.state; + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { + let self_state = &mut self.state; - if self.buffer.position() != 0 { - let block = self - .buffer - .pad_with::() - .expect("we never use input_lazy"); - self_state.process_block(block); - } + if self.buffer.position() != 0 { + let block = self + .buffer + .pad_with::() + .expect("we never use input_lazy"); - let mut buf = Block::default(); + self_state.process_block(block); + } - LE::write_u64_into(&self_state.n, &mut buf); - self_state.f(&buf); + let mut buf = Block::default(); - LE::write_u64_into(&self_state.sigma, &mut buf); - self_state.f(&buf); - } + LE::write_u64_into(&self_state.n, &mut buf); + self_state.f(&buf); + + LE::write_u64_into(&self_state.sigma, &mut buf); + self_state.f(&buf); - GenericArray::clone_from_slice(&self.state.h) + out.copy_from_slice(&self.state.h); } } diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index e2a696611..09ba786b4 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -1,9 +1,8 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { - use digest::generic_array::typenum::U32; - use digest::generic_array::GenericArray; use digest::impl_write; - use digest::{BlockInput, FixedOutput, Reset, Update}; + use digest::{consts::U32, generic_array::GenericArray}; + use digest::{BlockInput, FixedOutputDirty, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; /// GOST94 state @@ -31,11 +30,11 @@ macro_rules! gost94_impl { } } - impl FixedOutput for $state { + impl FixedOutputDirty for $state { type OutputSize = U32; - fn finalize_fixed(self) -> GenericArray { - self.sh.finalize_fixed() + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { + self.sh.finalize_into_dirty(out) } } diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index c43126233..896c16736 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -45,12 +45,6 @@ extern crate std; pub use digest::{self, Digest}; -use digest::generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}; -use digest::generic_array::GenericArray; -use digest::impl_write; -use digest::InvalidOutputSize; -use digest::{BlockInput, FixedOutput, Reset, Update, VariableOutput}; - mod consts; mod groestl; mod matrix; @@ -59,6 +53,10 @@ mod state; mod macros; use crate::groestl::Groestl; +use digest::consts::{U128, U28, U32, U48, U64}; +use digest::generic_array::typenum::Unsigned; +use digest::impl_write; +use digest::{BlockInput, FixedOutputDirty, InvalidOutputSize, Reset, Update, VariableOutputDirty}; impl_groestl!(Groestl512, U64, U128); impl_groestl!(Groestl384, U48, U128); diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs index e2f57a528..53e0d8e9d 100644 --- a/groestl/src/macros.rs +++ b/groestl/src/macros.rs @@ -24,13 +24,13 @@ macro_rules! impl_groestl { } } - impl FixedOutput for $state { + impl FixedOutputDirty for $state { type OutputSize = $output; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { let block = self.groestl.finalize(); let n = block.len() - Self::OutputSize::to_usize(); - GenericArray::clone_from_slice(&block[n..]) + out.copy_from_slice(&block[n..]) } } @@ -62,7 +62,7 @@ macro_rules! impl_variable_groestl { } } - impl VariableOutput for $state { + impl VariableOutputDirty for $state { fn new(output_size: usize) -> Result { if output_size == $min || output_size > $max { return Err(InvalidOutputSize); @@ -76,7 +76,7 @@ macro_rules! impl_variable_groestl { self.groestl.output_size } - fn finalize_variable(mut self, f: F) { + fn finalize_variable_dirty(&mut self, f: impl FnOnce(&[u8])) { let block = self.groestl.finalize(); let n = block.len() - self.groestl.output_size; f(&block[n..]); diff --git a/k12/Cargo.toml b/k12/Cargo.toml index fe2d14c55..9cd5f4d9f 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -15,7 +15,7 @@ categories = ["cryptography", "no-std"] digest = { version = "= 0.9.0-pre", features = ["alloc"] } [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "= 0.9.0-pre", features = ["alloc", "dev"] } hex-literal = "0.2" [features] diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 2fd53651d..df2194cb8 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -10,10 +10,11 @@ #![no_std] #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] // TODO(tarcieri): eliminate alloc requirement +#[macro_use] extern crate alloc; pub use digest; @@ -23,8 +24,8 @@ mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; -use core::{cmp::min, convert::TryInto}; -use digest::{ExtendableOutput, Update, XofReader}; +use core::{cmp::min, convert::TryInto, mem}; +use digest::{ExtendableOutputDirty, Reset, Update, XofReader}; /// The KangarooTwelve extendable-output function (XOF). #[derive(Debug, Default)] @@ -60,18 +61,30 @@ impl Update for KangarooTwelve { } } -impl ExtendableOutput for KangarooTwelve { +impl ExtendableOutputDirty for KangarooTwelve { type Reader = Reader; - fn finalize_xof(self) -> Self::Reader { + fn finalize_xof_dirty(&mut self) -> Self::Reader { + let mut buffer = vec![]; + let mut customization = vec![]; + + mem::swap(&mut self.buffer, &mut buffer); + mem::swap(&mut self.customization, &mut customization); + Reader { - buffer: self.buffer, - customization: self.customization, + buffer, + customization, finished: false, } } } +impl Reset for KangarooTwelve { + fn reset(&mut self) { + self.buffer.clear(); + } +} + /// Extensible output reader. /// /// NOTE: this presently only supports one invocation and will *panic* if diff --git a/k12/tests/lib.rs b/k12/tests/lib.rs index 85b89795b..a71c0a2cd 100644 --- a/k12/tests/lib.rs +++ b/k12/tests/lib.rs @@ -4,7 +4,7 @@ use k12::{ KangarooTwelve, }; -fn read_bytes>(s: T) -> Vec { +fn read_bytes>(s: T) -> Box<[u8]> { fn b(c: u8) -> u8 { match c { b'0'..=b'9' => c - b'0', @@ -13,9 +13,11 @@ fn read_bytes>(s: T) -> Vec { _ => unreachable!(), } } + let s = s.as_ref(); let mut i = 0; let mut v = Vec::new(); + while i < s.len() { if s[i] == b' ' || s[i] == b'\n' { i += 1; @@ -26,14 +28,15 @@ fn read_bytes>(s: T) -> Vec { v.push(n); i += 2; } - v + + v.into_boxed_slice() } #[test] fn empty() { // Source: reference paper assert_eq!( - KangarooTwelve::new().chain(b"").finalize_vec(32), + KangarooTwelve::new().chain(b"").finalize_boxed(32), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" @@ -41,7 +44,7 @@ fn empty() { ); assert_eq!( - KangarooTwelve::new().chain(b"").finalize_vec(64), + KangarooTwelve::new().chain(b"").finalize_boxed(64), read_bytes( "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e @@ -50,7 +53,7 @@ fn empty() { ); assert_eq!( - KangarooTwelve::new().chain(b"").finalize_vec(10032)[10000..], + KangarooTwelve::new().chain(b"").finalize_boxed(10032)[10000..], read_bytes( "e8 dc 56 36 42 f7 22 8c 84 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" @@ -81,7 +84,7 @@ fn pat_m() { { let len = 17usize.pow(i); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).finalize_vec(32); + let result = KangarooTwelve::new().chain(&m).finalize_boxed(32); assert_eq!(result, read_bytes(expected[i as usize])); } } @@ -104,7 +107,7 @@ fn pat_c() { let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); let result = KangarooTwelve::new_with_customization(c) .chain(&m) - .finalize_vec(32); + .finalize_boxed(32); assert_eq!(result, read_bytes(expected[i as usize])); } } diff --git a/md2/src/lib.rs b/md2/src/lib.rs index a772989f0..8d0e8ba27 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -36,12 +36,10 @@ extern crate std; pub use digest::{self, Digest}; -use block_buffer::block_padding::Pkcs7; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::U16; -use digest::generic_array::GenericArray; +use block_buffer::{block_padding::Pkcs7, BlockBuffer}; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{consts::U16, generic_array::GenericArray}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; mod consts; @@ -107,18 +105,21 @@ impl Update for Md2 { } } -impl FixedOutput for Md2 { +impl FixedOutputDirty for Md2 { type OutputSize = U16; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { let buf = self .buffer .pad_with::() .expect("we never use input_lazy"); + self.state.process_block(buf); + let checksum = self.state.checksum; self.state.process_block(&checksum); - GenericArray::clone_from_slice(&self.state.x[0..16]) + + out.copy_from_slice(&self.state.x[0..16]); } } diff --git a/md4/src/lib.rs b/md4/src/lib.rs index f7c75614c..0938f6ba7 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -31,7 +31,6 @@ #[macro_use] extern crate opaque_debug; -extern crate fake_simd as simd; #[cfg(feature = "std")] extern crate std; @@ -41,10 +40,13 @@ pub use digest::{self, Digest}; use crate::simd::u32x4; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U16, U64}; -use digest::generic_array::GenericArray; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{ + consts::{U16, U64}, + generic_array::GenericArray, +}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +use fake_simd as simd; // initial values for Md4State const S: u32x4 = u32x4(0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476); @@ -164,19 +166,16 @@ impl Update for Md4 { } } -impl FixedOutput for Md4 { +impl FixedOutputDirty for Md4 { type OutputSize = U16; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.finalize_inner(); - let mut out = GenericArray::default(); LE::write_u32(&mut out[0..4], self.state.s.0); LE::write_u32(&mut out[4..8], self.state.s.1); LE::write_u32(&mut out[8..12], self.state.s.2); LE::write_u32(&mut out[12..16], self.state.s.3); - - out } } diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 9bf8c22c0..fce208169 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -49,7 +49,7 @@ use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; mod consts; @@ -106,15 +106,13 @@ impl Update for Md5 { } } -impl FixedOutput for Md5 { +impl FixedOutputDirty for Md5 { type OutputSize = U16; #[inline] - fn finalize_fixed(mut self) -> GenericArray { - let mut out = GenericArray::default(); + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { self.finalize_inner(); - LE::write_u32_into(&self.state, &mut out); - out + LE::write_u32_into(&self.state, out); } } diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index 76379a5e8..046eb7490 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -30,20 +30,22 @@ #[macro_use] extern crate opaque_debug; + #[cfg(feature = "std")] extern crate std; -pub use digest::{self, Digest}; +mod block; -use block_buffer::byteorder::{ByteOrder, LE}; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U20, U64}; -use digest::generic_array::GenericArray; -use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +pub use digest::{self, Digest}; -mod block; use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; +use block_buffer::{ + byteorder::{ByteOrder, LE}, + BlockBuffer, +}; +use digest::consts::{U20, U64}; +use digest::impl_write; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; /// Structure representing the state of a Ripemd160 computation #[derive(Clone)] @@ -77,20 +79,16 @@ impl Update for Ripemd160 { } } -impl FixedOutput for Ripemd160 { +impl FixedOutputDirty for Ripemd160 { type OutputSize = U20; - fn finalize_fixed(mut self) -> GenericArray { - { - let h = &mut self.h; - let l = self.len << 3; - self.buffer - .len64_padding::(l, |b| process_msg_block(h, b)); - } + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { + let h = &mut self.h; + let l = self.len << 3; + self.buffer + .len64_padding::(l, |b| process_msg_block(h, b)); - let mut out = GenericArray::default(); LE::write_u32_into(&self.h, &mut out[..]); - out } } diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index 099096ce1..a88e44bbe 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -41,12 +41,13 @@ pub use digest::{self, Digest}; use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; -use block_buffer::byteorder::{ByteOrder, LE}; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U40, U64}; -use digest::generic_array::GenericArray; +use block_buffer::{ + byteorder::{ByteOrder, LE}, + BlockBuffer, +}; +use digest::consts::{U40, U64}; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; /// Structure representing the state of a ripemd320 computation #[derive(Clone)] @@ -80,20 +81,16 @@ impl Update for Ripemd320 { } } -impl FixedOutput for Ripemd320 { +impl FixedOutputDirty for Ripemd320 { type OutputSize = U40; - fn finalize_fixed(mut self) -> GenericArray { - { - let h = &mut self.h; - let l = self.len << 3; - self.buffer - .len64_padding::(l, |b| process_msg_block(h, b)); - } + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { + let h = &mut self.h; + let l = self.len << 3; + self.buffer + .len64_padding::(l, |b| process_msg_block(h, b)); - let mut out = GenericArray::default(); LE::write_u32_into(&self.h, &mut out[..]); - out } } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 3814fed5c..8a537c204 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -70,13 +70,13 @@ mod utils; pub use digest::{self, Digest}; use crate::consts::{H, STATE_LEN}; - -use block_buffer::byteorder::{ByteOrder, BE}; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U20, U64}; -use digest::generic_array::GenericArray; +use block_buffer::{ + byteorder::{ByteOrder, BE}, + BlockBuffer, +}; +use digest::consts::{U20, U64}; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(not(feature = "asm"))] use crate::utils::compress; @@ -84,6 +84,9 @@ use crate::utils::compress; #[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] use fake_simd as simd; +#[cfg(feature = "asm")] +use digest::generic_array::GenericArray; + /// Structure representing the state of a SHA-1 computation #[derive(Clone)] pub struct Sha1 { @@ -116,19 +119,17 @@ impl Update for Sha1 { } } -impl FixedOutput for Sha1 { +impl FixedOutputDirty for Sha1 { type OutputSize = U20; - fn finalize_fixed(mut self) -> GenericArray { - { - let state = &mut self.h; - let l = self.len << 3; - self.buffer - .len64_padding::(l, |d| compress(state, d)); - } - let mut out = GenericArray::default(); - BE::write_u32_into(&self.h, &mut out); - out + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { + let state = &mut self.h; + let l = self.len << 3; + + self.buffer + .len64_padding::(l, |d| compress(state, d)); + + BE::write_u32_into(&self.h, out); } } diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 9e9c297b8..ddc74333b 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,14 +1,20 @@ -use block_buffer::byteorder::{ByteOrder, BE}; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U28, U32, U64}; -use digest::generic_array::GenericArray; -use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +//! SHA-256 use crate::consts::{H224, H256, STATE_LEN}; +use block_buffer::{ + byteorder::{ByteOrder, BE}, + BlockBuffer, +}; +use digest::impl_write; +use digest::{ + consts::{U28, U32, U64}, + generic_array::GenericArray, +}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(not(feature = "asm"))] use crate::sha256_utils::compress256; + #[cfg(feature = "asm")] use sha2_asm::compress256; @@ -111,14 +117,12 @@ impl Update for Sha256 { } } -impl FixedOutput for Sha256 { +impl FixedOutputDirty for Sha256 { type OutputSize = U32; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); BE::write_u32_into(&self.engine.state.h, out.as_mut_slice()); - out } } @@ -153,14 +157,12 @@ impl Update for Sha224 { } } -impl FixedOutput for Sha224 { +impl FixedOutputDirty for Sha224 { type OutputSize = U28; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); BE::write_u32_into(&self.engine.state.h[..7], out.as_mut_slice()); - out } } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 5941ed932..0a4a76080 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,14 +1,20 @@ -use block_buffer::byteorder::{ByteOrder, BE}; -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U128, U28, U32, U48, U64}; -use digest::generic_array::GenericArray; -use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +//! SHA-512 use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; +use block_buffer::{ + byteorder::{ByteOrder, BE}, + BlockBuffer, +}; +use digest::impl_write; +use digest::{ + consts::{U128, U28, U32, U48, U64}, + generic_array::GenericArray, +}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] use crate::sha512_utils::compress512; + #[cfg(all(feature = "asm", not(target_arch = "aarch64")))] use sha2_asm::compress512; @@ -99,15 +105,12 @@ impl Update for Sha512 { } } -impl FixedOutput for Sha512 { +impl FixedOutputDirty for Sha512 { type OutputSize = U64; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - - let mut out = GenericArray::default(); BE::write_u64_into(&self.engine.state.h[..], out.as_mut_slice()); - out } } @@ -142,15 +145,12 @@ impl Update for Sha384 { } } -impl FixedOutput for Sha384 { +impl FixedOutputDirty for Sha384 { type OutputSize = U48; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - - let mut out = GenericArray::default(); BE::write_u64_into(&self.engine.state.h[..6], out.as_mut_slice()); - out } } @@ -185,15 +185,12 @@ impl Update for Sha512Trunc256 { } } -impl FixedOutput for Sha512Trunc256 { +impl FixedOutputDirty for Sha512Trunc256 { type OutputSize = U32; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - - let mut out = GenericArray::default(); BE::write_u64_into(&self.engine.state.h[..4], out.as_mut_slice()); - out } } @@ -228,16 +225,13 @@ impl Update for Sha512Trunc224 { } } -impl FixedOutput for Sha512Trunc224 { +impl FixedOutputDirty for Sha512Trunc224 { type OutputSize = U28; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - - let mut out = GenericArray::default(); BE::write_u64_into(&self.engine.state.h[..3], &mut out[..24]); BE::write_u32(&mut out[24..28], (self.engine.state.h[3] >> 32) as u32); - out } } diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index c57be3d1e..6e0eff24e 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -52,12 +52,10 @@ extern crate std; pub use digest::{self, Digest}; use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{ - Unsigned, U104, U136, U144, U168, U200, U28, U32, U48, U64, U72, -}; -use digest::generic_array::GenericArray; +use digest::consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}; +use digest::generic_array::typenum::Unsigned; use digest::impl_write; -use digest::{BlockInput, ExtendableOutput, FixedOutput, Reset, Update}; +use digest::{BlockInput, ExtendableOutputDirty, FixedOutputDirty, Reset, Update}; mod paddings; #[macro_use] diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 1f9b08c1d..d24764f9a 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -38,18 +38,16 @@ macro_rules! sha3_impl { } } - impl FixedOutput for $state { + impl FixedOutputDirty for $state { type OutputSize = $output_size; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.apply_padding(); - let mut out = GenericArray::default(); let n = out.len(); self.state.as_bytes(|state| { out.copy_from_slice(&state[..n]); }); - out } } @@ -75,10 +73,10 @@ macro_rules! shake_impl { } } - impl ExtendableOutput for $state { + impl ExtendableOutputDirty for $state { type Reader = Sha3XofReader; - fn finalize_xof(mut self) -> Sha3XofReader { + fn finalize_xof_dirty(&mut self) -> Sha3XofReader { self.apply_padding(); let r = $rate::to_usize(); Sha3XofReader::new(self.state.clone(), r) diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index fbf34ec67..37b45cc2f 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -1,10 +1,14 @@ +//! Shabal + use block_buffer::block_padding::Iso7816; use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U24, U28, U32, U48, U64}; -use digest::generic_array::GenericArray; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{ + consts::{U24, U28, U32, U48, U64}, + generic_array::GenericArray, +}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; use crate::consts::{ A_INIT_192, A_INIT_224, A_INIT_256, A_INIT_384, A_INIT_512, B_INIT_192, B_INIT_224, B_INIT_256, @@ -277,14 +281,12 @@ impl Update for Shabal512 { } } -impl FixedOutput for Shabal512 { +impl FixedOutputDirty for Shabal512 { type OutputSize = U64; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[0..16], out.as_mut_slice()); - out } } @@ -319,14 +321,12 @@ impl Update for Shabal384 { } } -impl FixedOutput for Shabal384 { +impl FixedOutputDirty for Shabal384 { type OutputSize = U48; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); LE::write_u32_into(&self.engine.state.b[4..16], out.as_mut_slice()); - out } } @@ -361,14 +361,12 @@ impl Update for Shabal256 { } } -impl FixedOutput for Shabal256 { +impl FixedOutputDirty for Shabal256 { type OutputSize = U32; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); - LE::write_u32_into(&self.engine.state.b[8..16], out.as_mut_slice()); - out + LE::write_u32_into(&self.engine.state.b[8..16], out); } } @@ -403,14 +401,12 @@ impl Update for Shabal224 { } } -impl FixedOutput for Shabal224 { +impl FixedOutputDirty for Shabal224 { type OutputSize = U28; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); - LE::write_u32_into(&self.engine.state.b[9..16], out.as_mut_slice()); - out + LE::write_u32_into(&self.engine.state.b[9..16], out); } } @@ -445,14 +441,12 @@ impl Update for Shabal192 { } } -impl FixedOutput for Shabal192 { +impl FixedOutputDirty for Shabal192 { type OutputSize = U24; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let mut out = GenericArray::default(); - LE::write_u32_into(&self.engine.state.b[10..16], out.as_mut_slice()); - out + LE::write_u32_into(&self.engine.state.b[10..16], out); } } diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 2d6c3336b..b88f14875 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -58,8 +58,9 @@ mod table; pub use digest::{self, Digest}; -use digest::generic_array::typenum::{U32, U64}; +use digest::consts::{U32, U64}; use digest::impl_write; + #[cfg(feature = "std")] use digest::Update; diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index 5c6aabab4..6a9261262 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,11 +1,15 @@ -use block_buffer::block_padding::ZeroPadding; -use block_buffer::byteorder::{ByteOrder, LE}; -use block_buffer::BlockBuffer; +//! Streebog (GOST R 34.11-2012) + +use block_buffer::{ + block_padding::ZeroPadding, + byteorder::{ByteOrder, LE}, + BlockBuffer, +}; use byte_tools::copy; use core::marker::PhantomData; -use digest::generic_array::typenum::U64; +use digest::consts::U64; use digest::generic_array::{ArrayLength, GenericArray}; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; use crate::consts::{BLOCK_SIZE, C}; use crate::table::SHUFFLED_LIN_TABLE; @@ -143,13 +147,13 @@ where } } -impl FixedOutput for Streebog +impl FixedOutputDirty for Streebog where N: ArrayLength + Copy, { type OutputSize = N; - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { let mut self_state = self.state; let pos = self.buffer.position(); @@ -166,7 +170,7 @@ where self_state.g(&[0u8; 64], &sigma); let n = BLOCK_SIZE - Self::OutputSize::to_usize(); - GenericArray::clone_from_slice(&self_state.h[n..]) + out.copy_from_slice(&self_state.h[n..]) } } diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 34862fa34..4caf545cb 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -52,22 +52,21 @@ use whirlpool_asm as utils; #[cfg(not(feature = "asm"))] mod utils; +#[cfg(not(feature = "asm"))] +mod consts; + pub use digest::Digest; use crate::utils::compress; -use block_buffer::block_padding::Iso7816; -#[cfg(not(feature = "asm"))] -use block_buffer::byteorder::{ByteOrder, BE}; -use block_buffer::BlockBuffer; +use block_buffer::{block_padding::Iso7816, BlockBuffer}; use byte_tools::zero; -use digest::generic_array::typenum::U64; -use digest::generic_array::GenericArray; use digest::impl_write; -use digest::{BlockInput, FixedOutput, Reset, Update}; +use digest::{consts::U64, generic_array::GenericArray}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(not(feature = "asm"))] -mod consts; +use block_buffer::byteorder::{ByteOrder, BE}; type BlockSize = U64; @@ -172,22 +171,19 @@ impl Update for Whirlpool { } } -impl FixedOutput for Whirlpool { +impl FixedOutputDirty for Whirlpool { type OutputSize = U64; #[cfg(not(feature = "asm"))] - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { self.finalize_inner(); - - let mut out = GenericArray::default(); - BE::write_u64_into(&self.hash[..], &mut out); - out + BE::write_u64_into(&self.hash[..], out); } #[cfg(feature = "asm")] - fn finalize_fixed(mut self) -> GenericArray { + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { self.finalize_inner(); - GenericArray::clone_from_slice(&self.hash) + out.copy_from_slice(&self.hash) } } From f56b6910b5628a7fc2696d38d4b9278c63ff7dca Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 17:13:41 -0700 Subject: [PATCH 071/373] gost94: use digest::Output in macros (#154) For consistency, per #153 --- gost94/src/macros.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index 09ba786b4..bd00cdc08 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -1,8 +1,6 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { - use digest::impl_write; - use digest::{consts::U32, generic_array::GenericArray}; - use digest::{BlockInput, FixedOutputDirty, Reset, Update}; + use digest::{consts::U32, impl_write, BlockInput, FixedOutputDirty, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; /// GOST94 state @@ -33,7 +31,7 @@ macro_rules! gost94_impl { impl FixedOutputDirty for $state { type OutputSize = U32; - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.sh.finalize_into_dirty(out) } } From 02daf436426457f4287e7daecafdb043a6b7ac36 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 18:51:48 -0700 Subject: [PATCH 072/373] Update to `digest` v0.9 release (#155) Release info: https://github.com/RustCrypto/traits/pull/186 --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- blake2/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- groestl/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd160/Cargo.toml | 4 ++-- ripemd320/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 17 files changed, 33 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e2384780b..961251917 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -73,8 +73,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.9.0-pre" -source = "git+https://github.com/RustCrypto/traits#b6c5fad59c4079b915a1df20c47bf3154b3612b1" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ "blobby", "generic-array", diff --git a/Cargo.toml b/Cargo.toml index b48af641d..287b17e5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,3 @@ members = [ "streebog", "whirlpool", ] - -[patch.crates-io] -digest = { git = "https://github.com/RustCrypto/traits" } diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 185ce1d52..2482fe9f0 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,14 +12,14 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" byte-tools = "0.3" byteorder = { version = "1", default-features = false } crypto-mac = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } crypto-mac = { version = "0.8", features = ["dev"] } hex-literal = "0.2" diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index e68a0ebc6..13f96e835 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index df95277c5..dd575f3a0 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 9cd5f4d9f..b87c085ba 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "= 0.9.0-pre", features = ["alloc"] } +digest = { version = "0.9", features = ["alloc"] } [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["alloc", "dev"] } +digest = { version = "0.9", features = ["alloc", "dev"] } hex-literal = "0.2" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 149636cd7..b70afa933 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 5112e071d..ddac551a0 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" fake-simd = "0.1" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 8294c6aaf..59cbbca47 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -15,13 +15,13 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" md5-asm = { version = "0.4", optional = true} opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 96946ddf0..bb3047f51 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd160", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 36c1d7e83..acaa2098c 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "ripemd320", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index e29c7110c..ee0e6a4db 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -15,7 +15,7 @@ categories = ["cryptography", "no-std"] name = "sha1" [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" fake-simd = "0.1" sha1-asm = { version = "0.4", optional = true } @@ -23,7 +23,7 @@ opaque-debug = "0.2" libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e5cd8df77..f3a73cdfe 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,7 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" fake-simd = "0.1" opaque-debug = "0.2" @@ -23,7 +23,7 @@ sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } [dev-dependencies] -digest = { version = "0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 1e1088434..a4220d147 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -12,14 +12,14 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" keccak = "0.1" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index ef9ecd6b7..50a47c35f 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -12,12 +12,12 @@ keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 6863d14ea..f8457ed5c 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 99694f9a7..89b983fa1 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -12,14 +12,14 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "= 0.9.0-pre" +digest = "0.9" block-buffer = "0.8" byte-tools = "0.3" opaque-debug = "0.2" whirlpool-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "= 0.9.0-pre", features = ["dev"] } +digest = { version = "0.9", features = ["dev"] } hex-literal = "0.2" [features] From 6d4cbd805b5f79420dde82c13dc12c589736cfe5 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 19:13:50 -0700 Subject: [PATCH 073/373] md5 v0.9.0 (#156) --- Cargo.lock | 2 +- md5/CHANGELOG.md | 40 ++++++++++++++++++++++++++++++++++++++++ md5/Cargo.toml | 2 +- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 md5/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 961251917..930e97109 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -157,7 +157,7 @@ checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "md-5" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md new file mode 100644 index 000000000..bf48c6b5a --- /dev/null +++ b/md5/CHANGELOG.md @@ -0,0 +1,40 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-09) +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Update to Rust 2018 edition ([#128]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#128]: https://github.com/RustCrypto/hashes/pull/128 + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.5.2 (2017-06-13) + +## 0.5.1 (2017-06-13) + +## 0.5.0 (2017-06-12) + +## 0.4.4 (2017-06-02) + +## 0.4.3 (2017-05-09) + +## 0.4.2 (2017-05-02) + +## 0.4.1 (2017-04-18) + +## 0.4.0 (2017-04-06) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 59cbbca47..4fe651356 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.9.0-pre" +version = "0.9.0" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From bb9f91314f009257c26ae35a64b46bfc90bedc76 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 19:38:13 -0700 Subject: [PATCH 074/373] sha2 v0.9.0 (#157) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 14 ++++++++++++++ sha2/Cargo.toml | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 930e97109..18185a624 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -252,7 +252,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index b82301a03..7ae614dd7 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.0 (2020-06-09) +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#133]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#133]: https://github.com/RustCrypto/hashes/pull/133 + ## 0.8.2 (2020-05-23) ### Added - Expose compression function under the `compress` feature flag ([#108]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index f3a73cdfe..2dc0bcbe9 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.0-pre" +version = "0.9.0" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From 71e4a95ebf9723dc9843e1759809845b6cd0a9a9 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 20:16:46 -0700 Subject: [PATCH 075/373] sha1 v0.9.0 (#158) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ sha1/Cargo.toml | 2 +- 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 sha1/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 18185a624..5d750228c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -230,7 +230,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md new file mode 100644 index 000000000..bca4ea7e0 --- /dev/null +++ b/sha1/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-09) +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#132]) +- Use `libc` for `aarch64` consts ([#94]) +- Allow compile-time detection of crypto on `aarch64` ([#94]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#132]: https://github.com/RustCrypto/hashes/pull/132 +[#94]: https://github.com/RustCrypto/hashes/pull/94 + +## 0.8.2 (2020-01-06) + +## 0.8.1 (2018-11-14) + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.4.1 (2017-06-13) + +## 0.4.0 (2017-06-12) + +## 0.3.4 (2017-06-04) + +## 0.3.3 (2017-05-09) + +## 0.3.2 (2017-05-02) + +## 0.3.1 (2017-04-18) + +## 0.3.0 (2017-04-06) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index ee0e6a4db..5e16db77f 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.0-pre" +version = "0.9.0" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 5712ed09ad237e21072e9474dcd4aad6691b2ffa Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jun 2020 21:28:59 -0700 Subject: [PATCH 076/373] k12 v0.1.0 (#159) --- Cargo.lock | 2 +- k12/CHANGELOG.md | 14 ++++++++++++++ k12/Cargo.toml | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5d750228c..d1c9fec6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -137,7 +137,7 @@ dependencies = [ [[package]] name = "k12" -version = "0.1.0-pre" +version = "0.1.0" dependencies = [ "digest", "hex-literal", diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md index c8cb3ad00..da46bb91a 100644 --- a/k12/CHANGELOG.md +++ b/k12/CHANGELOG.md @@ -5,5 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.0 (2020-06-09) +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use `digest` crate's `alloc` feature ([#150]) +- Impl the `ExtendableOutput` trait ([#149]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#123]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#150]: https://github.com/RustCrypto/hashes/pull/150 +[#149]: https://github.com/RustCrypto/hashes/pull/149 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#123]: https://github.com/RustCrypto/hashes/pull/123 + ## 0.0.1 (2020-05-24) - Initial release diff --git a/k12/Cargo.toml b/k12/Cargo.toml index b87c085ba..7b227d4dd 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.1.0-pre" +version = "0.1.0" description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" From 8ed68332af9ef899bbdd311e9139a3f504a1db57 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 10 Jun 2020 15:02:58 +0300 Subject: [PATCH 077/373] Additional streebog tests (#160) --- streebog/tests/data/streebog256.blb | Bin 340 -> 828 bytes streebog/tests/data/streebog512.blb | Bin 274 -> 1052 bytes streebog/tests/lib.rs | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/streebog/tests/data/streebog256.blb b/streebog/tests/data/streebog256.blb index 5339e01a5f7e10821c278ced8320d56465ad7d84..af1df789ef59daac497304333fefd5c1b6483778 100644 GIT binary patch literal 828 zcmYew$xlkEG_*G`G%_|ZH8Z!cB#WgmS5)r(jY#g!Tg!IkZ1?)99(y5>DSM;mlAymW zPoGwYGI(5ks_^LPrw=c56fOeEhwq-fP(bIpQekpuZc=PVVe}#{qK0JN> z;LQt#w+|G)et7Wk!|(qJ?_d9V^;_Y@<98pPKKiXN_tHPV2@dmOSJVej&n;oyaNyK2 zjX!C#N@N4rY(ne$0~i$SgJ&t)O+UeOMrp3QPu60srYJLRt;tqX=HFCR=$-R$w*v!( zK;gdptvN3YCt9+an>HBU);qOqRmfSsTPm^#*#+W+le4Ef;15j&E<*AOAC`uHTi`We zwS?foZ7(-eJQ1@lVXn#fIzPz8%lu29;Ee->Oc?C)3i|%3@-O;dxxL9(QZDN4{coAk zX&UjKVX?p=yIM)*T|5o%Cq?%8jfzw%m1>pWMN K+MuhtYc~KTza_N* delta 138 zcmdnPc7bGzJRiPL#Ji-59-zPh9+e-xQvCKNp5M$Qy>_dn_^Zy22n@5Mw=qL*JCxMVzbJ=Cg!OYSrAc&aLugyVZ8~t-+#Sb6(Hb_hGr2eqpGF zY2FK)Tk%?Je6lX>vMP*`KHGS@Z~lb+J~C2W4h$3kH;`V34SzM)Nb`PiESvxN?~XfR zzTe6fudQMGt#R)E_T8&0J&qj^Su=Bz>DHc2`P=w63N3WKzGdypbz#|`5=EGf23_La z?l93%Y@$2|lL8ln;iAChU}o(y?}XG7ZYzgsp%`l!?XvCw&+OCjncST(8LHWya5y%- zb-lu_mHzMKWhdFyjJAtb?U7B@c=5b+-SN$?RmVyXpqU9b91o)&Xm5Mt{S&gf+m^^m zgnw4%w*RMnE8MC0m884GtW_Zy?z|t5Y%bZjXlq{NMOj7rSK*HXU7a_aySa%k)aqG^ z>YE93{x-ZLAJl`jiV0E##2mWWzQ{#RsGVl^V$!LvQ}oaNF8pOEHY={+!`mIjX}(`% nbk60m-ANC<7?pVT^`yNCHAhyRN;leXnz4x8N|E=f!e2)K-!<~s delta 7 OcmbQkF^Oq|5F-Eyk^%ex diff --git a/streebog/tests/lib.rs b/streebog/tests/lib.rs index 6fb70a3d7..5f3b7019e 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/lib.rs @@ -1,8 +1,8 @@ -#![no_std] - use digest::dev::digest_test; use digest::new_test; +// Test vectors from: https://github.com/gost-engine/engine + new_test!( streebog256_main, "streebog256", From 12b7525537a7f5ba04a3de5d3d9a2a4f98b6464f Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 10 Jun 2020 16:21:00 +0300 Subject: [PATCH 078/373] Additional streebog and gost94 tests (#161) --- Cargo.toml | 3 ++ gost94/tests/lib.rs | 49 +++++++++++++++++++++- streebog/tests/lib.rs | 94 ++++++++++++++++++++++++++++++++++++------- 3 files changed, 130 insertions(+), 16 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 287b17e5a..786752665 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,3 +16,6 @@ members = [ "streebog", "whirlpool", ] + +[profile.dev] +opt-level = 2 diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index 09ec57aaf..fc1d1e5cd 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -1,5 +1,3 @@ -#![no_std] - use digest::dev::{digest_test, one_million_a}; use digest::new_test; @@ -22,3 +20,50 @@ fn gost94_cryptopro_1million_a() { let output = include_bytes!("data/cryptopro_one_million_a.bin"); one_million_a::(output); } + +/// Test vectors from: +/// https://github.com/gost-engine/engine/blob/master/test/01-digest.t +#[test] +fn gost_engine_tests() { + use digest::Digest; + use hex_literal::hex; + + let mut h = gost94::Gost94CryptoPro::new(); + for _ in 0..128 { + h.update(b"12345670"); + } + assert_eq!( + h.finalize_reset().as_slice(), + hex!("f7fc6d16a6a5c12ac4f7d320e0fd0d8354908699125e09727a4ef929122b1cae"), + ); + + for _ in 0..128 { + h.update(b"\x00\x01\x02\x15\x84\x67\x45\x31"); + } + assert_eq!( + h.finalize_reset().as_slice(), + hex!("69f529aa82d9344ab0fa550cdf4a70ecfd92a38b5520b1906329763e09105196"), + ); + + let mut buf = Vec::new(); + for _ in 0..128 { + buf.extend_from_slice(b"12345670"); + } + h.update(&buf[0..539]); + assert_eq!( + h.finalize_reset().as_slice(), + hex!("bd5f1e4b539c7b00f0866afdbc8ed452503a18436061747a343f43efe888aac9"), + ); + + for _ in 0..4096 { + for _ in 0..7 { + h.update(b"121345678"); + } + h.update(b"1234567\n"); + } + h.update("12345\n"); + assert_eq!( + h.finalize().as_slice(), + hex!("e5d3ac4ea3f67896c51ff919cedb9405ad771e39f0f2eab103624f9a758e506f"), + ); +} diff --git a/streebog/tests/lib.rs b/streebog/tests/lib.rs index 5f3b7019e..017fb32e5 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/lib.rs @@ -1,17 +1,83 @@ use digest::dev::digest_test; use digest::new_test; +use streebog::{Streebog256, Streebog512}; -// Test vectors from: https://github.com/gost-engine/engine - -new_test!( - streebog256_main, - "streebog256", - streebog::Streebog256, - digest_test -); -new_test!( - streebog512_main, - "streebog512", - streebog::Streebog512, - digest_test -); +// Test vectors from: +// https://github.com/gost-engine/engine/tree/master/etalon +new_test!(streebog256_main, "streebog256", Streebog256, digest_test); +new_test!(streebog512_main, "streebog512", Streebog512, digest_test); + +/// Test vectors from: +/// https://github.com/gost-engine/engine/blob/master/test/01-digest.t +#[test] +#[rustfmt::skip] +fn gost_engine_tests() { + use digest::Digest; + use hex_literal::hex; + + let h256 = &mut streebog::Streebog256::new(); + let h512 = &mut streebog::Streebog512::new(); + + fn update(h256: &mut Streebog256, h512: &mut Streebog512, m: &[u8]) { + h256.update(m); + h512.update(m); + } + fn check(h256: &mut Streebog256, h512: &mut Streebog512, r256: [u8; 32], r512: [u8; 64]) { + assert_eq!(h256.finalize_reset().as_slice(), &r256[..]); + assert_eq!(h512.finalize_reset().as_slice(), &r512[..]); + } + + for _ in 0..128 { + update(h256, h512, b"12345670"); + } + check( + h256, h512, + hex!("1906512b86a1283c68cec8419e57113efc562a1d0e95d8f4809542900c416fe4"), + hex!(" + 283587e434864d0d4bea97c0fb10e2dd421572fc859304bdf6a94673d652c590 + 49212bad7802b4fcf5eecc1f8fab569d60f2c20dbd789a7fe4efbd79d8137ee7 + "), + ); + + for _ in 0..128 { + update(h256, h512, b"\x00\x01\x02\x15\x84\x67\x45\x31"); + } + check( + h256, h512, + hex!("2eb1306be3e490f18ff0e2571a077b3831c815c46c7d4fdf9e0e26de4032b3f3"), + hex!(" + 55656e5bcf795b499031a7833cd7dc18fe10d4a47e15be545c6ab3f304a4fe41 + 1c4c39de5b1fc6844880111441e0b92bf1ec2fb7840453fe39a2b70ced461968 + "), + ); + + let mut buf = Vec::new(); + for _ in 0..128 { + buf.extend_from_slice(b"12345670"); + } + update(h256, h512, &buf[0..539]); + check( + h256, h512, + hex!("c98a17f9fadff78d08521e4179a7b2e6275f3b1da88339a3cb961a3514e5332e"), + hex!(" + d5ad93fbc9ed7abc1cf28d00827a052b40bea74b04c4fd753102c1bcf9f9dad5 + 142887f8a4cceaa0d64a0a8291592413d6adb956b99138a0023e127ff37bdf08 + "), + ); + + for _ in 0..4096 { + for _ in 0..7 { + update(h256, h512, b"121345678"); + } + update(h256, h512, b"1234567\n"); + } + update(h256, h512, b"12345\n"); + check( + h256, h512, + hex!("50e935d725d9359e5991b6b7eba8b3539fca03584d26adf4c827c982ffd49367"), + hex!(" + 1d93645ebfbb477660f98b7d1598e37fbf3bfc8234ead26e2246e1b979e590ac + 46138158a692f9a0c9ac2550758b4d0d4c9fb8af5e595a16d3760c6516443f82 + "), + ); +} From fe7ff0dea5df2cb89bd4420c412e87bc7ca69145 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jun 2020 07:49:33 -0700 Subject: [PATCH 079/373] ripemd160 v0.9.0 (#162) --- Cargo.lock | 2 +- ripemd160/CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++++++++++++ ripemd160/Cargo.toml | 2 +- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 ripemd160/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index d1c9fec6d..5d03e052d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -210,7 +210,7 @@ checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" [[package]] name = "ripemd160" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/ripemd160/CHANGELOG.md b/ripemd160/CHANGELOG.md new file mode 100644 index 000000000..65ec0e162 --- /dev/null +++ b/ripemd160/CHANGELOG.md @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-10) +### Changed +- Update to `digest` v0.9 release ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#129]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#129]: https://github.com/RustCrypto/hashes/pull/129 + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.6.0 (2017-06-12) + +## 0.5.2 (2017-06-04) + +## 0.5.1 (2017-05-02) + +## 0.5.0 (2017-04-06) + +## 0.4.1 (2017-01-20) + +## 0.4.0 (2016-12-25) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-10-14) + +## 0.1.0 (2016-10-06) diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index bb3047f51..97ba68af4 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd160" -version = "0.9.0-pre" +version = "0.9.0" description = "RIPEMD-160 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 9a08d500853a569f0e0c9e9b39046154cff411f6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jun 2020 08:16:57 -0700 Subject: [PATCH 080/373] sha3 v0.9.0 (#163) --- Cargo.lock | 2 +- sha3/CHANGELOG.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++ sha3/Cargo.toml | 2 +- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 sha3/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 5d03e052d..f1becafd7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -274,7 +274,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "byte-tools", diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md new file mode 100644 index 000000000..280606a28 --- /dev/null +++ b/sha3/CHANGELOG.md @@ -0,0 +1,54 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-10) +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#134]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#134]: https://github.com/RustCrypto/hashes/pull/133 + +## 0.8.2 (2019-04-24) + +## 0.8.1 (2018-11-14) + +## 0.8.0 (2018-10-02) + +## 0.7.3 (2018-03-27) + +## 0.7.2 (2017-11-18) + +## 0.7.1 (2017-11-17) + +## 0.7.0 (2017-11-15) + +## 0.6.0 (2017-06-12) + +## 0.5.3 (2017-05-31) + +## 0.5.2 (2017-05-30) + +## 0.5.1 (2017-05-02) + +## 0.5.0 (2017-04-06) + +## 0.4.1 (2017-01-20) + +## 0.4.0 (2016-12-25) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-10-14) + +## 0.1.0 (2016-10-13) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index a4220d147..7e014be12 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.9.0-pre" +version = "0.9.0" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 4305277a5d14b018d2448cd4fd84473331166c32 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jun 2020 08:23:21 -0700 Subject: [PATCH 081/373] README.md: add note about BLAKE3 Closes #103 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e9fb39f26..7facf9a91 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ BLAKE2, SHA-2 or SHA-3. | `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push) | :yellow_heart: | | `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push) | :green_heart: | +NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` (and `crypto-mac`) traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. + \* RIPEMD-320 provides only the same security as RIPEMD-160 [Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary From 0634b54fb11501e61eceddddc1632f09c4f4200e Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jun 2020 08:51:53 -0700 Subject: [PATCH 082/373] blake2 v0.9.0 (#165) --- Cargo.lock | 2 +- blake2/CHANGELOG.md | 54 +++++++++++++++++++++++++++++++++++++++++++++ blake2/Cargo.toml | 2 +- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 blake2/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index f1becafd7..e11167735 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "blake2" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "byte-tools", "byteorder", diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md new file mode 100644 index 000000000..58ede72ee --- /dev/null +++ b/blake2/CHANGELOG.md @@ -0,0 +1,54 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-10) +### Added +- Support for Persona and Salt ([#78]) + +### Changed +- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `crypto-mac` to v0.8 release ([#152]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#119]) + +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#152]: https://github.com/RustCrypto/hashes/pull/152 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#119]: https://github.com/RustCrypto/hashes/pull/133 +[#78]: https://github.com/RustCrypto/hashes/pull/78 + +## 0.8.1 (2019-08-25) + +## 0.8.0 (2018-10-11) + +## 0.7.1 (2018-04-30) + +## 0.7.0 (2017-11-15) + +## 0.6.1 (2017-07-24) + +## 0.6.0 (2017-06-12) + +## 0.5.2 (2017-05-17) + +## 0.5.1 (2017-05-02) + +## 0.5.0 (2017-04-06) + +## 0.4.0 (2017-03-06) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-10-14) + +## 0.1.1 (2016-10-11) + +## 0.1.0 (2016-10-09) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 2482fe9f0..ff726e907 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.9.0-pre" +version = "0.9.0" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From d24f26b1650156b1da4fced389559cee17805910 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 10 Jun 2020 20:11:36 +0300 Subject: [PATCH 083/373] Update block-buffer to v0.9 (#164) --- Cargo.lock | 33 +------- blake2/Cargo.toml | 4 +- blake2/src/blake2.rs | 32 ++++---- blake2/src/blake2b.rs | 1 - blake2/src/blake2s.rs | 1 - gost94/Cargo.toml | 2 +- gost94/src/gost94.rs | 33 ++++---- groestl/Cargo.toml | 2 +- groestl/src/groestl.rs | 13 +--- groestl/src/state.rs | 4 +- md2/Cargo.toml | 2 +- md2/src/lib.rs | 4 +- md4/Cargo.toml | 3 +- md4/src/lib.rs | 40 +++++----- md5/Cargo.toml | 2 +- md5/src/lib.rs | 15 ++-- md5/src/utils.rs | 7 +- ripemd160/Cargo.toml | 2 +- ripemd160/src/block.rs | 6 +- ripemd160/src/lib.rs | 14 ++-- ripemd320/Cargo.toml | 2 +- ripemd320/src/block.rs | 8 +- ripemd320/src/lib.rs | 15 ++-- sha1/Cargo.toml | 5 +- sha1/src/lib.rs | 21 ++---- sha1/src/utils.rs | 111 +++++++++++++++------------ sha2/Cargo.toml | 3 +- sha2/src/consts.rs | 119 +++++++++++++++-------------- sha2/src/lib.rs | 2 - sha2/src/sha256.rs | 25 ++++--- sha2/src/sha256_utils.rs | 155 ++++++++++++++++++++++---------------- sha2/src/sha512.rs | 48 ++++++------ sha2/src/sha512_utils.rs | 157 +++++++++++++++++++++------------------ sha3/Cargo.toml | 3 +- sha3/src/macros.rs | 4 +- sha3/src/paddings.rs | 3 +- sha3/src/state.rs | 11 ++- shabal/Cargo.toml | 2 +- shabal/src/shabal.rs | 38 +++++++--- streebog/Cargo.toml | 3 +- streebog/src/streebog.rs | 22 +++--- whirlpool/Cargo.toml | 3 +- whirlpool/src/lib.rs | 13 ++-- whirlpool/src/utils.rs | 6 +- 44 files changed, 518 insertions(+), 481 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e11167735..8bdfe0138 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,8 +4,6 @@ name = "blake2" version = "0.9.0" dependencies = [ - "byte-tools", - "byteorder", "crypto-mac", "digest", "hex-literal", @@ -23,30 +21,19 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbcf92448676f82bb7a334c58bbce8b0d43580fb5362a9d608b18879d12a3d31" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ "block-padding", - "byte-tools", - "byteorder", "generic-array", ] [[package]] name = "block-padding" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" +checksum = "c98bfd7c112b6399fef97cc0614af1cd375b27a112e552ce60f94c1b5f13cb74" [[package]] name = "byteorder" @@ -81,12 +68,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "generic-array" version = "0.14.1" @@ -182,7 +163,6 @@ version = "0.9.0-pre" dependencies = [ "block-buffer", "digest", - "fake-simd", "hex-literal", "opaque-debug", ] @@ -234,7 +214,6 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "fake-simd", "hex-literal", "libc", "opaque-debug", @@ -256,7 +235,6 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "fake-simd", "hex-literal", "libc", "opaque-debug", @@ -277,7 +255,6 @@ name = "sha3" version = "0.9.0" dependencies = [ "block-buffer", - "byte-tools", "digest", "hex-literal", "keccak", @@ -299,7 +276,6 @@ name = "streebog" version = "0.9.0-pre" dependencies = [ "block-buffer", - "byte-tools", "digest", "hex-literal", "opaque-debug", @@ -322,7 +298,6 @@ name = "whirlpool" version = "0.9.0-pre" dependencies = [ "block-buffer", - "byte-tools", "digest", "hex-literal", "opaque-debug", diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index ff726e907..5df5190a9 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -13,8 +13,6 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -byte-tools = "0.3" -byteorder = { version = "1", default-features = false } crypto-mac = "0.8" opaque-debug = "0.2" @@ -25,7 +23,7 @@ hex-literal = "0.2" [features] default = ["std"] -std = ["digest/std", "byteorder/std", "crypto-mac/std"] +std = ["digest/std", "crypto-mac/std"] simd = [] simd_opt = ["simd"] simd_asm = ["simd_opt"] diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index f6eec5564..6c8c20916 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -1,6 +1,6 @@ macro_rules! blake2_impl { ( - $state:ident, $fix_state:ident, $word:ident, $vec:ident, $pack:ident, $bytes:ident, + $state:ident, $fix_state:ident, $word:ident, $vec:ident, $bytes:ident, $block_size:ident, $R1:expr, $R2:expr, $R3:expr, $R4:expr, $IV:expr, $vardoc:expr, $doc:expr, ) => { @@ -8,15 +8,12 @@ macro_rules! blake2_impl { use $crate::as_bytes::AsBytes; use $crate::simd::{Vector4, $vec}; - use byteorder::{ByteOrder, LittleEndian}; use digest::{Update, BlockInput, FixedOutputDirty, VariableOutputDirty, Reset}; use digest::InvalidOutputSize; use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U4, Unsigned}; use digest::impl_write; - use core::cmp; - use core::ops::Div; - use byte_tools::{copy, zero}; + use core::{cmp, convert::TryInto, ops::Div}; use crypto_mac::{InvalidKeyLength, Mac, NewMac}; type Output = GenericArray; @@ -108,11 +105,11 @@ macro_rules! blake2_impl { for i in 0..salt.len() { padded_salt[i] = salt[i]; } - p[4] = LittleEndian::$pack(&padded_salt[0 .. length/2]); - p[5] = LittleEndian::$pack(&padded_salt[length/2 .. padded_salt.len()]); + p[4] = $word::from_le_bytes(padded_salt[0 .. length/2].try_into().unwrap()); + p[5] = $word::from_le_bytes(padded_salt[length/2 .. padded_salt.len()].try_into().unwrap()); } else { - p[4] = LittleEndian::$pack(&salt[0 .. salt.len()/2]); - p[5] = LittleEndian::$pack(&salt[salt.len()/2 .. salt.len()]); + p[4] = $word::from_le_bytes(salt[0 .. salt.len()/2].try_into().unwrap()); + p[5] = $word::from_le_bytes(salt[salt.len()/2 .. salt.len()].try_into().unwrap()); } // persona is also two words long @@ -121,11 +118,11 @@ macro_rules! blake2_impl { for i in 0..persona.len() { padded_persona[i] = persona[i]; } - p[6] = LittleEndian::$pack(&padded_persona[0 .. length/2]); - p[7] = LittleEndian::$pack(&padded_persona[length/2 .. padded_persona.len()]); + p[6] = $word::from_le_bytes(padded_persona[0 .. length/2].try_into().unwrap()); + p[7] = $word::from_le_bytes(padded_persona[length/2 .. padded_persona.len()].try_into().unwrap()); } else { - p[6] = LittleEndian::$pack(&persona[0 .. length/2]); - p[7] = LittleEndian::$pack(&persona[length/2 .. persona.len()]); + p[6] = $word::from_le_bytes(persona[0 .. length/2].try_into().unwrap()); + p[7] = $word::from_le_bytes(persona[length/2 .. persona.len()].try_into().unwrap()); } let mut state = Self::with_parameter_block(&p); @@ -212,7 +209,7 @@ macro_rules! blake2_impl { fn finalize_with_flag(&mut self, f1: $word) -> Output { let off = self.t as usize % (2 * $bytes::to_usize()); if off != 0 { - zero(&mut self.m.as_mut_bytes()[off..]); + self.m.as_mut_bytes()[off..].iter_mut().for_each(|b| *b = 0); } self.compress(!0, f1); @@ -388,5 +385,12 @@ macro_rules! blake2_impl { impl_opaque_debug!($fix_state); impl_write!($fix_state); + + fn copy(src: &[u8], dst: &mut [u8]) { + assert!(dst.len() >= src.len()); + unsafe { + core::ptr::copy_nonoverlapping(src.as_ptr(), dst.as_mut_ptr(), src.len()); + } + } } } diff --git a/blake2/src/blake2b.rs b/blake2/src/blake2b.rs index bd3aaf751..3afc18d84 100644 --- a/blake2/src/blake2b.rs +++ b/blake2/src/blake2b.rs @@ -6,7 +6,6 @@ blake2_impl!( Blake2b, u64, u64x4, - read_u64, U64, U128, 32, diff --git a/blake2/src/blake2s.rs b/blake2/src/blake2s.rs index 0fb1d2736..5306ed992 100644 --- a/blake2/src/blake2s.rs +++ b/blake2/src/blake2s.rs @@ -6,7 +6,6 @@ blake2_impl!( Blake2s, u32, u32x4, - read_u32, U32, U64, 16, diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 13f96e835..f30361ca3 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" [dev-dependencies] diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index b905ba05c..6e9e44f51 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -1,8 +1,7 @@ #![allow(clippy::many_single_char_names)] - use block_buffer::block_padding::ZeroPadding; -use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; +use core::convert::TryInto; use digest::impl_write; use digest::{consts::U32, generic_array::GenericArray}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -36,9 +35,11 @@ fn g(a: u32, k: u32, s: &SBox) -> u32 { #[allow(clippy::needless_range_loop)] fn encrypt(msg: &mut [u8], key: Block, sbox: &SBox) { let mut k = [0u32; 8]; - let mut a = LE::read_u32(&msg[0..4]); - let mut b = LE::read_u32(&msg[4..8]); - LE::read_u32_into(&key, &mut k); + let mut a = u32::from_le_bytes(msg[0..4].try_into().unwrap()); + let mut b = u32::from_le_bytes(msg[4..8].try_into().unwrap()); + for (o, chunk) in k.iter_mut().zip(key.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } for _ in 0..3 { for i in 0..8 { @@ -53,7 +54,8 @@ fn encrypt(msg: &mut [u8], key: Block, sbox: &SBox) { a = t; } - LE::write_u32_into(&[b, a], msg); + msg[0..4].copy_from_slice(&b.to_le_bytes()); + msg[4..8].copy_from_slice(&a.to_le_bytes()); } fn x(a: &Block, b: &Block) -> Block { @@ -163,7 +165,9 @@ impl Gost94State { fn update_sigma(&mut self, m: &Block) { let mut buf = [0u64; 4]; - LE::read_u64_into(m, &mut buf); + for (o, chunk) in buf.iter_mut().zip(m.chunks_exact(8)) { + *o = u64::from_le_bytes(chunk.try_into().unwrap()); + } let mut over = (0u64, false); for (a, b) in self.sigma.iter_mut().zip(buf.iter()) { if over.1 { @@ -231,9 +235,9 @@ impl BlockInput for Gost94 { impl Update for Gost94 { fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); - let self_state = &mut self.state; - self_state.update_n(input.len()); - self.buffer.input(input, |d| self_state.process_block(d)); + let s = &mut self.state; + s.update_n(input.len()); + self.buffer.input_block(input, |d| s.process_block(d)); } } @@ -253,11 +257,14 @@ impl FixedOutputDirty for Gost94 { } let mut buf = Block::default(); - - LE::write_u64_into(&self_state.n, &mut buf); + for (o, v) in buf.chunks_exact_mut(8).zip(self_state.n.iter()) { + o.copy_from_slice(&v.to_le_bytes()); + } self_state.f(&buf); - LE::write_u64_into(&self_state.sigma, &mut buf); + for (o, v) in buf.chunks_exact_mut(8).zip(self_state.sigma.iter()) { + o.copy_from_slice(&v.to_le_bytes()); + } self_state.f(&buf); out.copy_from_slice(&self.state.h); diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index dd575f3a0..b509ae45f 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = "0.9" opaque-debug = "0.2" [dev-dependencies] diff --git a/groestl/src/groestl.rs b/groestl/src/groestl.rs index 238bd9059..1690de283 100644 --- a/groestl/src/groestl.rs +++ b/groestl/src/groestl.rs @@ -1,8 +1,5 @@ -use core::ops::Div; - -use block_buffer::byteorder::BE; use block_buffer::BlockBuffer; - +use core::ops::Div; use digest::generic_array::typenum::{Quot, U8}; use digest::generic_array::{ArrayLength, GenericArray}; @@ -51,10 +48,8 @@ where } pub fn process(&mut self, input: &[u8]) { - let state = &mut self.state; - self.buffer.input(input, |b: &GenericArray| { - state.compress(b); - }); + let s = &mut self.state; + self.buffer.input_block(input, |b| s.compress(b)); } pub fn finalize(&mut self) -> GenericArray { @@ -65,7 +60,7 @@ where } else { state.num_blocks + 1 }; - self.buffer.len64_padding::(l, |b| state.compress(b)); + self.buffer.len64_padding_be(l, |b| state.compress(b)); xor_generic_array(&state.p(&state.state), &state.state) }; diff --git a/groestl/src/state.rs b/groestl/src/state.rs index 1cfc37446..f1e4dd424 100644 --- a/groestl/src/state.rs +++ b/groestl/src/state.rs @@ -2,7 +2,6 @@ use core::ops::Div; use crate::consts::{B, C_P, C_Q, SBOX, SHIFTS_P, SHIFTS_P_WIDE, SHIFTS_Q, SHIFTS_Q_WIDE}; use crate::matrix::Matrix; -use block_buffer::byteorder::{ByteOrder, BE}; use digest::generic_array::typenum::{Quot, U8}; use digest::generic_array::{ArrayLength, GenericArray}; @@ -47,7 +46,8 @@ where let output_bits = output_size * 8; let mut state = GenericArray::default(); - BE::write_u64(&mut state[block_bytes - 8..], output_bits as u64); + let n = output_bits as u64; + state[block_bytes - 8..].copy_from_slice(&n.to_be_bytes()); let rounds = match block_bytes { 128 => 14, 64 => 10, diff --git a/md2/Cargo.toml b/md2/Cargo.toml index b70afa933..88f2201cf 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" [dev-dependencies] diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 8d0e8ba27..b78881c88 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -100,8 +100,8 @@ impl BlockInput for Md2 { impl Update for Md2 { fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); - let self_state = &mut self.state; - self.buffer.input(input, |d| self_state.process_block(d)); + let s = &mut self.state; + self.buffer.input_block(input, |d| s.process_block(d)); } } diff --git a/md4/Cargo.toml b/md4/Cargo.toml index ddac551a0..f58ef6a4c 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,8 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" -fake-simd = "0.1" +block-buffer = "0.9" opaque-debug = "0.2" [dev-dependencies] diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 0938f6ba7..8e98e2814 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -35,10 +35,9 @@ extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; +use core::convert::TryInto; pub use digest::{self, Digest}; -use crate::simd::u32x4; -use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::impl_write; use digest::{ @@ -46,16 +45,15 @@ use digest::{ generic_array::GenericArray, }; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -use fake_simd as simd; // initial values for Md4State -const S: u32x4 = u32x4(0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476); +const S: [u32; 4] = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; type Block = GenericArray; #[derive(Copy, Clone)] struct Md4State { - s: u32x4, + s: [u32; 4], } /// The MD4 hasher @@ -98,14 +96,16 @@ impl Md4State { .rotate_left(s) } - let mut a = self.s.0; - let mut b = self.s.1; - let mut c = self.s.2; - let mut d = self.s.3; + let mut a = self.s[0]; + let mut b = self.s[1]; + let mut c = self.s[2]; + let mut d = self.s[3]; // load block to data let mut data = [0u32; 16]; - LE::read_u32_into(input, &mut data); + for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } // round 1 for &i in &[0, 4, 8, 12] { @@ -131,7 +131,10 @@ impl Md4State { b = op3(b, c, d, a, data[i + 12], 15); } - self.s = self.s + u32x4(a, b, c, d); + self.s[0] = self.s[0].wrapping_add(a); + self.s[1] = self.s[1].wrapping_add(b); + self.s[2] = self.s[2].wrapping_add(c); + self.s[3] = self.s[3].wrapping_add(d); } } @@ -145,8 +148,7 @@ impl Md4 { fn finalize_inner(&mut self) { let state = &mut self.state; let l = (self.length_bytes << 3) as u64; - self.buffer - .len64_padding::(l, |d| state.process_block(d)) + self.buffer.len64_padding_le(l, |d| state.process_block(d)) } } @@ -160,9 +162,8 @@ impl Update for Md4 { // Unlike Sha1 and Sha2, the length value in MD4 is defined as // the length of the message mod 2^64 - ie: integer overflow is OK. self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); - let self_state = &mut self.state; - self.buffer - .input(input, |d: &Block| self_state.process_block(d)); + let s = &mut self.state; + self.buffer.input_block(input, |d| s.process_block(d)); } } @@ -172,10 +173,9 @@ impl FixedOutputDirty for Md4 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.finalize_inner(); - LE::write_u32(&mut out[0..4], self.state.s.0); - LE::write_u32(&mut out[4..8], self.state.s.1); - LE::write_u32(&mut out[8..12], self.state.s.2); - LE::write_u32(&mut out[12..16], self.state.s.3); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.s.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 4fe651356..0a5f4878f 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,7 +16,7 @@ name = "md5" [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = "0.9" md5-asm = { version = "0.4", optional = true} opaque-debug = "0.2" diff --git a/md5/src/lib.rs b/md5/src/lib.rs index fce208169..3a02898aa 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -44,7 +44,6 @@ pub use digest::{self, Digest}; use crate::utils::compress; -use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; @@ -82,10 +81,9 @@ fn convert(d: &GenericArray) -> &[u8; 64] { impl Md5 { #[inline] fn finalize_inner(&mut self) { - let state = &mut self.state; + let s = &mut self.state; let l = (self.length_bytes << 3) as u64; - self.buffer - .len64_padding::(l, |d| compress(state, convert(d))); + self.buffer.len64_padding_le(l, |d| compress(s, convert(d))); } } @@ -100,9 +98,8 @@ impl Update for Md5 { // Unlike Sha1 and Sha2, the length value in MD5 is defined as // the length of the message mod 2^64 - ie: integer overflow is OK. self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); - let self_state = &mut self.state; - self.buffer - .input(input, |d| compress(self_state, convert(d))); + let s = &mut self.state; + self.buffer.input_block(input, |d| compress(s, convert(d))); } } @@ -112,7 +109,9 @@ impl FixedOutputDirty for Md5 { #[inline] fn finalize_into_dirty(&mut self, out: &mut GenericArray) { self.finalize_inner(); - LE::write_u32_into(&self.state, out); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } diff --git a/md5/src/utils.rs b/md5/src/utils.rs index 8a946e70f..9cd0259bc 100644 --- a/md5/src/utils.rs +++ b/md5/src/utils.rs @@ -1,7 +1,6 @@ #![allow(clippy::many_single_char_names)] - use crate::consts::RC; -use block_buffer::byteorder::{ByteOrder, LE}; +use core::convert::TryInto; #[inline(always)] fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { @@ -50,7 +49,9 @@ pub fn compress(state: &mut [u32; 4], input: &[u8; 64]) { let mut d = state[3]; let mut data = [0u32; 16]; - LE::read_u32_into(input, &mut data); + for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } // round 1 a = op_f(a, b, c, d, data[0], RC[0], 7); diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index 97ba68af4..ce4234bbb 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = "0.9" opaque-debug = "0.2" [dev-dependencies] diff --git a/ripemd160/src/block.rs b/ripemd160/src/block.rs index 6be3cdf4e..fccf1ab60 100644 --- a/ripemd160/src/block.rs +++ b/ripemd160/src/block.rs @@ -1,4 +1,4 @@ -use block_buffer::byteorder::{ByteOrder, LE}; +use core::convert::TryInto; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; @@ -117,7 +117,9 @@ macro_rules! process_block( pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { let mut w = [0u32; WORK_BUF_LEN]; - LE::read_u32_into(data, &mut w[0..16]); + for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } process_block!(h, w[..], // Round 1 round1: h_ordering 0, 1, 2, 3, 4; data_index 0; roll_shift 11 diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index 046eb7490..132cc4ff3 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -39,10 +39,7 @@ mod block; pub use digest::{self, Digest}; use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; -use block_buffer::{ - byteorder::{ByteOrder, LE}, - BlockBuffer, -}; +use block_buffer::BlockBuffer; use digest::consts::{U20, U64}; use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -75,7 +72,7 @@ impl Update for Ripemd160 { // Assumes that input.len() can be converted to u64 without overflow self.len += input.len() as u64; let h = &mut self.h; - self.buffer.input(input, |b| process_msg_block(h, b)); + self.buffer.input_block(input, |b| process_msg_block(h, b)); } } @@ -85,10 +82,11 @@ impl FixedOutputDirty for Ripemd160 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { let h = &mut self.h; let l = self.len << 3; - self.buffer - .len64_padding::(l, |b| process_msg_block(h, b)); + self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); - LE::write_u32_into(&self.h, &mut out[..]); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index acaa2098c..e7431b29d 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = "0.9" opaque-debug = "0.2" [dev-dependencies] diff --git a/ripemd320/src/block.rs b/ripemd320/src/block.rs index a1e3f12f2..fc79ca817 100644 --- a/ripemd320/src/block.rs +++ b/ripemd320/src/block.rs @@ -1,5 +1,4 @@ -use block_buffer::byteorder::{ByteOrder, LE}; -use core::mem::swap; +use core::{convert::TryInto, mem::swap}; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; @@ -148,7 +147,10 @@ macro_rules! process_block( pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { let mut w = [0u32; WORK_BUF_LEN]; - LE::read_u32_into(data, &mut w[0..16]); + for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } + process_block!(h, w[..], // Round 1 round1: h_ordering 0, 1, 2, 3, 4; data_index 0; roll_shift 11 diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index a88e44bbe..e3e38d846 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -41,10 +41,7 @@ pub use digest::{self, Digest}; use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; -use block_buffer::{ - byteorder::{ByteOrder, LE}, - BlockBuffer, -}; +use block_buffer::BlockBuffer; use digest::consts::{U40, U64}; use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -77,7 +74,7 @@ impl Update for Ripemd320 { // Assumes that input.len() can be converted to u64 without overflow self.len += input.len() as u64; let h = &mut self.h; - self.buffer.input(input, |b| process_msg_block(h, b)); + self.buffer.input_block(input, |b| process_msg_block(h, b)); } } @@ -87,10 +84,10 @@ impl FixedOutputDirty for Ripemd320 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { let h = &mut self.h; let l = self.len << 3; - self.buffer - .len64_padding::(l, |b| process_msg_block(h, b)); - - LE::write_u32_into(&self.h, &mut out[..]); + self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 5e16db77f..aba0700d6 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -16,10 +16,9 @@ name = "sha1" [dependencies] digest = "0.9" -block-buffer = "0.8" -fake-simd = "0.1" -sha1-asm = { version = "0.4", optional = true } +block-buffer = "0.9" opaque-debug = "0.2" +sha1-asm = { version = "0.4", optional = true } libc = { version = "0.2.68", optional = true } [dev-dependencies] diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 8a537c204..abe0bb492 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -70,10 +70,7 @@ mod utils; pub use digest::{self, Digest}; use crate::consts::{H, STATE_LEN}; -use block_buffer::{ - byteorder::{ByteOrder, BE}, - BlockBuffer, -}; +use block_buffer::BlockBuffer; use digest::consts::{U20, U64}; use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -81,9 +78,6 @@ use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(not(feature = "asm"))] use crate::utils::compress; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] -use fake_simd as simd; - #[cfg(feature = "asm")] use digest::generic_array::GenericArray; @@ -115,7 +109,7 @@ impl Update for Sha1 { // Assumes that `length_bits<<3` will not overflow self.len += input.len() as u64; let state = &mut self.h; - self.buffer.input(input, |d| compress(state, d)); + self.buffer.input_block(input, |d| compress(state, d)); } } @@ -123,13 +117,12 @@ impl FixedOutputDirty for Sha1 { type OutputSize = U20; fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let state = &mut self.h; + let s = &mut self.h; let l = self.len << 3; - - self.buffer - .len64_padding::(l, |d| compress(state, d)); - - BE::write_u32_into(&self.h, out); + self.buffer.len64_padding_be(l, |d| compress(s, d)); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } diff --git a/sha1/src/utils.rs b/sha1/src/utils.rs index e9ab899ec..1d746fb9f 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/utils.rs @@ -1,80 +1,93 @@ #![allow(clippy::many_single_char_names)] - use crate::consts::{BLOCK_LEN, K0, K1, K2, K3}; -use crate::simd::u32x4; -use block_buffer::byteorder::{ByteOrder, BE}; +use core::convert::TryInto; use digest::generic_array::typenum::U64; use digest::generic_array::GenericArray; type Block = GenericArray; +#[inline(always)] +fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [ + a[0].wrapping_add(b[0]), + a[1].wrapping_add(b[1]), + a[2].wrapping_add(b[2]), + a[3].wrapping_add(b[3]), + ] +} + +#[inline(always)] +fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] +} + /// Not an intrinsic, but gets the first element of a vector. #[inline] -pub fn sha1_first(w0: u32x4) -> u32 { - w0.0 +pub fn sha1_first(w0: [u32; 4]) -> u32 { + w0[0] } /// Not an intrinsic, but adds a word to the first element of a vector. #[inline] -pub fn sha1_first_add(e: u32, w0: u32x4) -> u32x4 { - let u32x4(a, b, c, d) = w0; - u32x4(e.wrapping_add(a), b, c, d) +pub fn sha1_first_add(e: u32, w0: [u32; 4]) -> [u32; 4] { + let [a, b, c, d] = w0; + [e.wrapping_add(a), b, c, d] } /// Emulates `llvm.x86.sha1msg1` intrinsic. -fn sha1msg1(a: u32x4, b: u32x4) -> u32x4 { - let u32x4(_, _, w2, w3) = a; - let u32x4(w4, w5, _, _) = b; - a ^ u32x4(w2, w3, w4, w5) +fn sha1msg1(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + let [_, _, w2, w3] = a; + let [w4, w5, _, _] = b; + [a[0] ^ w2, a[1] ^ w3, a[2] ^ w4, a[3] ^ w5] } /// Emulates `llvm.x86.sha1msg2` intrinsic. -fn sha1msg2(a: u32x4, b: u32x4) -> u32x4 { - let u32x4(x0, x1, x2, x3) = a; - let u32x4(_, w13, w14, w15) = b; +fn sha1msg2(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + let [x0, x1, x2, x3] = a; + let [_, w13, w14, w15] = b; let w16 = (x0 ^ w13).rotate_left(1); let w17 = (x1 ^ w14).rotate_left(1); let w18 = (x2 ^ w15).rotate_left(1); let w19 = (x3 ^ w16).rotate_left(1); - u32x4(w16, w17, w18, w19) + [w16, w17, w18, w19] } /// Performs 4 rounds of the message schedule update. /* -pub fn sha1_schedule_x4(v0: u32x4, v1: u32x4, v2: u32x4, v3: u32x4) -> u32x4 { +pub fn sha1_schedule_x4(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { sha1msg2(sha1msg1(v0, v1) ^ v2, v3) } */ /// Emulates `llvm.x86.sha1nexte` intrinsic. #[inline] -fn sha1_first_half(abcd: u32x4, msg: u32x4) -> u32x4 { +fn sha1_first_half(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { sha1_first_add(sha1_first(abcd).rotate_left(30), msg) } /// Emulates `llvm.x86.sha1rnds4` intrinsic. /// Performs 4 rounds of the message block digest. -fn sha1_digest_round_x4(abcd: u32x4, work: u32x4, i: i8) -> u32x4 { - const K0V: u32x4 = u32x4(K0, K0, K0, K0); - const K1V: u32x4 = u32x4(K1, K1, K1, K1); - const K2V: u32x4 = u32x4(K2, K2, K2, K2); - const K3V: u32x4 = u32x4(K3, K3, K3, K3); +fn sha1_digest_round_x4(abcd: [u32; 4], work: [u32; 4], i: i8) -> [u32; 4] { + const K0V: [u32; 4] = [K0, K0, K0, K0]; + const K1V: [u32; 4] = [K1, K1, K1, K1]; + const K2V: [u32; 4] = [K2, K2, K2, K2]; + const K3V: [u32; 4] = [K3, K3, K3, K3]; match i { - 0 => sha1rnds4c(abcd, work + K0V), - 1 => sha1rnds4p(abcd, work + K1V), - 2 => sha1rnds4m(abcd, work + K2V), - 3 => sha1rnds4p(abcd, work + K3V), + 0 => sha1rnds4c(abcd, add(work, K0V)), + 1 => sha1rnds4p(abcd, add(work, K1V)), + 2 => sha1rnds4m(abcd, add(work, K2V)), + 3 => sha1rnds4p(abcd, add(work, K3V)), _ => unreachable!("unknown icosaround index"), } } /// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. -fn sha1rnds4c(abcd: u32x4, msg: u32x4) -> u32x4 { - let u32x4(mut a, mut b, mut c, mut d) = abcd; - let u32x4(t, u, v, w) = msg; +fn sha1rnds4c(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { + let [mut a, mut b, mut c, mut d] = abcd; + let [t, u, v, w] = msg; let mut e = 0u32; macro_rules! bool3ary_202 { @@ -107,13 +120,13 @@ fn sha1rnds4c(abcd: u32x4, msg: u32x4) -> u32x4 { .wrapping_add(w); d = d.rotate_left(30); - u32x4(b, c, d, e) + [b, c, d, e] } /// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. -fn sha1rnds4p(abcd: u32x4, msg: u32x4) -> u32x4 { - let u32x4(mut a, mut b, mut c, mut d) = abcd; - let u32x4(t, u, v, w) = msg; +fn sha1rnds4p(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { + let [mut a, mut b, mut c, mut d] = abcd; + let [t, u, v, w] = msg; let mut e = 0u32; macro_rules! bool3ary_150 { @@ -146,13 +159,13 @@ fn sha1rnds4p(abcd: u32x4, msg: u32x4) -> u32x4 { .wrapping_add(w); d = d.rotate_left(30); - u32x4(b, c, d, e) + [b, c, d, e] } /// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. -fn sha1rnds4m(abcd: u32x4, msg: u32x4) -> u32x4 { - let u32x4(mut a, mut b, mut c, mut d) = abcd; - let u32x4(t, u, v, w) = msg; +fn sha1rnds4m(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { + let [mut a, mut b, mut c, mut d] = abcd; + let [t, u, v, w] = msg; let mut e = 0u32; macro_rules! bool3ary_232 { @@ -185,14 +198,14 @@ fn sha1rnds4m(abcd: u32x4, msg: u32x4) -> u32x4 { .wrapping_add(w); d = d.rotate_left(30); - u32x4(b, c, d, e) + [b, c, d, e] } /// Process a block with the SHA-1 algorithm. fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { macro_rules! schedule { ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { - sha1msg2(sha1msg1($v0, $v1) ^ $v2, $v3) + sha1msg2(xor(sha1msg1($v0, $v1), $v2), $v3) }; } @@ -203,15 +216,15 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { } // Rounds 0..20 - // TODO: replace with `u32x4::load` - let mut h0 = u32x4(state[0], state[1], state[2], state[3]); - let mut w0 = u32x4(block[0], block[1], block[2], block[3]); + // TODO: replace with `[u32; 4]::load` + let mut h0 = [state[0], state[1], state[2], state[3]]; + let mut w0 = [block[0], block[1], block[2], block[3]]; let mut h1 = sha1_digest_round_x4(h0, sha1_first_add(state[4], w0), 0); - let mut w1 = u32x4(block[4], block[5], block[6], block[7]); + let mut w1 = [block[4], block[5], block[6], block[7]]; h0 = rounds4!(h1, h0, w1, 0); - let mut w2 = u32x4(block[8], block[9], block[10], block[11]); + let mut w2 = [block[8], block[9], block[10], block[11]]; h1 = rounds4!(h0, h1, w2, 0); - let mut w3 = u32x4(block[12], block[13], block[14], block[15]); + let mut w3 = [block[12], block[13], block[14], block[15]]; h0 = rounds4!(h1, h0, w3, 0); let mut w4 = schedule!(w0, w1, w2, w3); h1 = rounds4!(h0, h1, w4, 0); @@ -253,7 +266,7 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { h0 = rounds4!(h1, h0, w4, 3); let e = sha1_first(h1).rotate_left(30); - let u32x4(a, b, c, d) = h0; + let [a, b, c, d] = h0; state[0] = state[0].wrapping_add(a); state[1] = state[1].wrapping_add(b); @@ -312,6 +325,8 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { /// pub fn compress(state: &mut [u32; 5], block: &Block) { let mut block_u32 = [0u32; BLOCK_LEN]; - BE::read_u32_into(block, &mut block_u32[..]); + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } sha1_digest_block_u32(state, &block_u32); } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 2dc0bcbe9..7f7b79d8b 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -16,8 +16,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" -fake-simd = "0.1" +block-buffer = "0.9" opaque-debug = "0.2" sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index ce8708839..f126dc616 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,8 +1,5 @@ #![allow(dead_code, clippy::unreadable_literal)] -use crate::simd::u32x4; -use crate::simd::u64x2; - pub const STATE_LEN: usize = 8; pub const BLOCK_LEN: usize = 16; @@ -19,23 +16,23 @@ pub const K32: [u32; 64] = [ ]; /// Constants necessary for SHA-256 family of digests. -pub const K32X4: [u32x4; 16] = [ - u32x4(K32[3], K32[2], K32[1], K32[0]), - u32x4(K32[7], K32[6], K32[5], K32[4]), - u32x4(K32[11], K32[10], K32[9], K32[8]), - u32x4(K32[15], K32[14], K32[13], K32[12]), - u32x4(K32[19], K32[18], K32[17], K32[16]), - u32x4(K32[23], K32[22], K32[21], K32[20]), - u32x4(K32[27], K32[26], K32[25], K32[24]), - u32x4(K32[31], K32[30], K32[29], K32[28]), - u32x4(K32[35], K32[34], K32[33], K32[32]), - u32x4(K32[39], K32[38], K32[37], K32[36]), - u32x4(K32[43], K32[42], K32[41], K32[40]), - u32x4(K32[47], K32[46], K32[45], K32[44]), - u32x4(K32[51], K32[50], K32[49], K32[48]), - u32x4(K32[55], K32[54], K32[53], K32[52]), - u32x4(K32[59], K32[58], K32[57], K32[56]), - u32x4(K32[63], K32[62], K32[61], K32[60]), +pub const K32X4: [[u32; 4]; 16] = [ + [K32[3], K32[2], K32[1], K32[0]], + [K32[7], K32[6], K32[5], K32[4]], + [K32[11], K32[10], K32[9], K32[8]], + [K32[15], K32[14], K32[13], K32[12]], + [K32[19], K32[18], K32[17], K32[16]], + [K32[23], K32[22], K32[21], K32[20]], + [K32[27], K32[26], K32[25], K32[24]], + [K32[31], K32[30], K32[29], K32[28]], + [K32[35], K32[34], K32[33], K32[32]], + [K32[39], K32[38], K32[37], K32[36]], + [K32[43], K32[42], K32[41], K32[40]], + [K32[47], K32[46], K32[45], K32[44]], + [K32[51], K32[50], K32[49], K32[48]], + [K32[55], K32[54], K32[53], K32[52]], + [K32[59], K32[58], K32[57], K32[56]], + [K32[63], K32[62], K32[61], K32[60]], ]; /// Constants necessary for SHA-512 family of digests. @@ -123,47 +120,47 @@ pub const K64: [u64; 80] = [ ]; /// Constants necessary for SHA-512 family of digests. -pub const K64X2: [u64x2; 40] = [ - u64x2(K64[1], K64[0]), - u64x2(K64[3], K64[2]), - u64x2(K64[5], K64[4]), - u64x2(K64[7], K64[6]), - u64x2(K64[9], K64[8]), - u64x2(K64[11], K64[10]), - u64x2(K64[13], K64[12]), - u64x2(K64[15], K64[14]), - u64x2(K64[17], K64[16]), - u64x2(K64[19], K64[18]), - u64x2(K64[21], K64[20]), - u64x2(K64[23], K64[22]), - u64x2(K64[25], K64[24]), - u64x2(K64[27], K64[26]), - u64x2(K64[29], K64[28]), - u64x2(K64[31], K64[30]), - u64x2(K64[33], K64[32]), - u64x2(K64[35], K64[34]), - u64x2(K64[37], K64[36]), - u64x2(K64[39], K64[38]), - u64x2(K64[41], K64[40]), - u64x2(K64[43], K64[42]), - u64x2(K64[45], K64[44]), - u64x2(K64[47], K64[46]), - u64x2(K64[49], K64[48]), - u64x2(K64[51], K64[50]), - u64x2(K64[53], K64[52]), - u64x2(K64[55], K64[54]), - u64x2(K64[57], K64[56]), - u64x2(K64[59], K64[58]), - u64x2(K64[61], K64[60]), - u64x2(K64[63], K64[62]), - u64x2(K64[65], K64[64]), - u64x2(K64[67], K64[66]), - u64x2(K64[69], K64[68]), - u64x2(K64[71], K64[70]), - u64x2(K64[73], K64[72]), - u64x2(K64[75], K64[74]), - u64x2(K64[77], K64[76]), - u64x2(K64[79], K64[78]), +pub const K64X2: [[u64; 2]; 40] = [ + [K64[1], K64[0]], + [K64[3], K64[2]], + [K64[5], K64[4]], + [K64[7], K64[6]], + [K64[9], K64[8]], + [K64[11], K64[10]], + [K64[13], K64[12]], + [K64[15], K64[14]], + [K64[17], K64[16]], + [K64[19], K64[18]], + [K64[21], K64[20]], + [K64[23], K64[22]], + [K64[25], K64[24]], + [K64[27], K64[26]], + [K64[29], K64[28]], + [K64[31], K64[30]], + [K64[33], K64[32]], + [K64[35], K64[34]], + [K64[37], K64[36]], + [K64[39], K64[38]], + [K64[41], K64[40]], + [K64[43], K64[42]], + [K64[45], K64[44]], + [K64[47], K64[46]], + [K64[49], K64[48]], + [K64[51], K64[50]], + [K64[53], K64[52]], + [K64[55], K64[54]], + [K64[57], K64[56]], + [K64[59], K64[58]], + [K64[61], K64[60]], + [K64[63], K64[62]], + [K64[65], K64[64]], + [K64[67], K64[66]], + [K64[69], K64[68]], + [K64[71], K64[70]], + [K64[73], K64[72]], + [K64[75], K64[74]], + [K64[77], K64[76]], + [K64[79], K64[78]], ]; pub static H224: [u32; STATE_LEN] = [ diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 814ba607c..c87c064b4 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -103,5 +103,3 @@ pub use digest::{self, Digest}; pub use sha256_utils::compress256; #[cfg(feature = "compress")] pub use sha512_utils::compress512; - -use fake_simd as simd; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index ddc74333b..c30671b86 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,10 +1,7 @@ //! SHA-256 use crate::consts::{H224, H256, STATE_LEN}; -use block_buffer::{ - byteorder::{ByteOrder, BE}, - BlockBuffer, -}; +use block_buffer::BlockBuffer; use digest::impl_write; use digest::{ consts::{U28, U32, U64}, @@ -74,16 +71,14 @@ impl Engine256 { fn update(&mut self, input: &[u8]) { // Assumes that input.len() can be converted to u64 without overflow self.len += (input.len() as u64) << 3; - let self_state = &mut self.state; - self.buffer - .input(input, |input| self_state.process_block(input)); + let s = &mut self.state; + self.buffer.input_block(input, |b| s.process_block(b)); } fn finish(&mut self) { - let self_state = &mut self.state; + let s = &mut self.state; let l = self.len; - self.buffer - .len64_padding::(l, |b| self_state.process_block(b)); + self.buffer.len64_padding_be(l, |b| s.process_block(b)); } fn reset(&mut self, h: &[u32; STATE_LEN]) { @@ -122,7 +117,10 @@ impl FixedOutputDirty for Sha256 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u32_into(&self.engine.state.h, out.as_mut_slice()); + let h = self.engine.state.h; + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } @@ -162,7 +160,10 @@ impl FixedOutputDirty for Sha224 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u32_into(&self.engine.state.h[..7], out.as_mut_slice()); + let h = &self.engine.state.h[..7]; + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs index ec8109cdb..7d2ec9f63 100644 --- a/sha2/src/sha256_utils.rs +++ b/sha2/src/sha256_utils.rs @@ -1,64 +1,93 @@ #![allow(clippy::many_single_char_names)] - use crate::consts::{BLOCK_LEN, K32X4}; -use crate::simd::u32x4; -use block_buffer::byteorder::{ByteOrder, BE}; +use core::convert::TryInto; + +#[inline(always)] +fn shl(v: [u32; 4], o: u32) -> [u32; 4] { + [v[0] >> o, v[1] >> o, v[2] >> o, v[3] >> o] +} + +#[inline(always)] +fn shr(v: [u32; 4], o: u32) -> [u32; 4] { + [v[0] << o, v[1] << o, v[2] << o, v[3] << o] +} + +#[inline(always)] +fn or(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [a[0] | b[0], a[1] | b[1], a[2] | b[2], a[3] | b[3]] +} + +#[inline(always)] +fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] +} + +#[inline(always)] +fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [ + a[0].wrapping_add(b[0]), + a[1].wrapping_add(b[1]), + a[2].wrapping_add(b[2]), + a[3].wrapping_add(b[3]), + ] +} /// Not an intrinsic, but works like an unaligned load. #[inline] -fn sha256load(v2: u32x4, v3: u32x4) -> u32x4 { - u32x4(v3.3, v2.0, v2.1, v2.2) +fn sha256load(v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { + [v3[3], v2[0], v2[1], v2[2]] } /// Not an intrinsic, but useful for swapping vectors. #[inline] -fn sha256swap(v0: u32x4) -> u32x4 { - u32x4(v0.2, v0.3, v0.0, v0.1) +fn sha256swap(v0: [u32; 4]) -> [u32; 4] { + [v0[2], v0[3], v0[0], v0[1]] } /// Emulates `llvm.x86.sha256msg1` intrinsic. // #[inline] -fn sha256msg1(v0: u32x4, v1: u32x4) -> u32x4 { +fn sha256msg1(v0: [u32; 4], v1: [u32; 4]) -> [u32; 4] { // sigma 0 on vectors #[inline] - fn sigma0x4(x: u32x4) -> u32x4 { - ((x >> u32x4(7, 7, 7, 7)) | (x << u32x4(25, 25, 25, 25))) - ^ ((x >> u32x4(18, 18, 18, 18)) | (x << u32x4(14, 14, 14, 14))) - ^ (x >> u32x4(3, 3, 3, 3)) + fn sigma0x4(x: [u32; 4]) -> [u32; 4] { + let t1 = or(shl(x, 7), shr(x, 25)); + let t2 = or(shl(x, 18), shr(x, 14)); + let t3 = shl(x, 3); + xor(xor(t1, t2), t3) } - v0 + sigma0x4(sha256load(v0, v1)) + add(v0, sigma0x4(sha256load(v0, v1))) } /// Emulates `llvm.x86.sha256msg2` intrinsic. // #[inline] -fn sha256msg2(v4: u32x4, v3: u32x4) -> u32x4 { +fn sha256msg2(v4: [u32; 4], v3: [u32; 4]) -> [u32; 4] { macro_rules! sigma1 { ($a:expr) => { $a.rotate_right(17) ^ $a.rotate_right(19) ^ ($a >> 10) }; } - let u32x4(x3, x2, x1, x0) = v4; - let u32x4(w15, w14, _, _) = v3; + let [x3, x2, x1, x0] = v4; + let [w15, w14, _, _] = v3; let w16 = x0.wrapping_add(sigma1!(w14)); let w17 = x1.wrapping_add(sigma1!(w15)); let w18 = x2.wrapping_add(sigma1!(w16)); let w19 = x3.wrapping_add(sigma1!(w17)); - u32x4(w19, w18, w17, w16) + [w19, w18, w17, w16] } /* /// Performs 4 rounds of the SHA-256 message schedule update. -fn sha256_schedule_x4(v0: u32x4, v1: u32x4, v2: u32x4, v3: u32x4) -> u32x4 { +fn sha256_schedule_x4(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { sha256msg2(sha256msg1(v0, v1) + sha256load(v2, v3), v3) }*/ /// Emulates `llvm.x86.sha256rnds2` intrinsic. // #[inline] -fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { +fn sha256_digest_round_x2(cdgh: [u32; 4], abef: [u32; 4], wk: [u32; 4]) -> [u32; 4] { macro_rules! big_sigma0 { ($a:expr) => { ($a.rotate_right(2) ^ $a.rotate_right(13) ^ $a.rotate_right(22)) @@ -80,9 +109,9 @@ fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { }; } // Majority, SHA1M - let u32x4(_, _, wk1, wk0) = wk; - let u32x4(a0, b0, e0, f0) = abef; - let u32x4(c0, d0, g0, h0) = cdgh; + let [_, _, wk1, wk0] = wk; + let [a0, b0, e0, f0] = abef; + let [c0, d0, g0, h0] = cdgh; // a round let x0 = big_sigma1!(e0) @@ -118,7 +147,7 @@ fn sha256_digest_round_x2(cdgh: u32x4, abef: u32x4, wk: u32x4) -> u32x4 { g1, ); - u32x4(a2, b2, e2, f2) + [a2, b2, e2, f2] } /// Process a block with the SHA-256 algorithm. @@ -127,7 +156,7 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { macro_rules! schedule { ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { - sha256msg2(sha256msg1($v0, $v1) + sha256load($v2, $v3), $v3) + sha256msg2(add(sha256msg1($v0, $v1), sha256load($v2, $v3)), $v3) }; } @@ -138,45 +167,45 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { }}; } - let mut abef = u32x4(state[0], state[1], state[4], state[5]); - let mut cdgh = u32x4(state[2], state[3], state[6], state[7]); + let mut abef = [state[0], state[1], state[4], state[5]]; + let mut cdgh = [state[2], state[3], state[6], state[7]]; // Rounds 0..64 - let mut w0 = u32x4(block[3], block[2], block[1], block[0]); - rounds4!(abef, cdgh, k[0] + w0); - let mut w1 = u32x4(block[7], block[6], block[5], block[4]); - rounds4!(abef, cdgh, k[1] + w1); - let mut w2 = u32x4(block[11], block[10], block[9], block[8]); - rounds4!(abef, cdgh, k[2] + w2); - let mut w3 = u32x4(block[15], block[14], block[13], block[12]); - rounds4!(abef, cdgh, k[3] + w3); + let mut w0 = [block[3], block[2], block[1], block[0]]; + rounds4!(abef, cdgh, add(k[0], w0)); + let mut w1 = [block[7], block[6], block[5], block[4]]; + rounds4!(abef, cdgh, add(k[1], w1)); + let mut w2 = [block[11], block[10], block[9], block[8]]; + rounds4!(abef, cdgh, add(k[2], w2)); + let mut w3 = [block[15], block[14], block[13], block[12]]; + rounds4!(abef, cdgh, add(k[3], w3)); let mut w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, k[4] + w4); + rounds4!(abef, cdgh, add(k[4], w4)); w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, k[5] + w0); + rounds4!(abef, cdgh, add(k[5], w0)); w1 = schedule!(w2, w3, w4, w0); - rounds4!(abef, cdgh, k[6] + w1); + rounds4!(abef, cdgh, add(k[6], w1)); w2 = schedule!(w3, w4, w0, w1); - rounds4!(abef, cdgh, k[7] + w2); + rounds4!(abef, cdgh, add(k[7], w2)); w3 = schedule!(w4, w0, w1, w2); - rounds4!(abef, cdgh, k[8] + w3); + rounds4!(abef, cdgh, add(k[8], w3)); w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, k[9] + w4); + rounds4!(abef, cdgh, add(k[9], w4)); w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, k[10] + w0); + rounds4!(abef, cdgh, add(k[10], w0)); w1 = schedule!(w2, w3, w4, w0); - rounds4!(abef, cdgh, k[11] + w1); + rounds4!(abef, cdgh, add(k[11], w1)); w2 = schedule!(w3, w4, w0, w1); - rounds4!(abef, cdgh, k[12] + w2); + rounds4!(abef, cdgh, add(k[12], w2)); w3 = schedule!(w4, w0, w1, w2); - rounds4!(abef, cdgh, k[13] + w3); + rounds4!(abef, cdgh, add(k[13], w3)); w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, k[14] + w4); + rounds4!(abef, cdgh, add(k[14], w4)); w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, k[15] + w0); + rounds4!(abef, cdgh, add(k[15], w0)); - let u32x4(a, b, e, f) = abef; - let u32x4(c, d, g, h) = cdgh; + let [a, b, e, f] = abef; + let [c, d, g, h] = cdgh; state[0] = state[0].wrapping_add(a); state[1] = state[1].wrapping_add(b); @@ -204,23 +233,23 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { /// calculated as: /// /// ```ignore -/// use std::simd::u32x4; +/// use std::simd::[u32; 4]; /// use self::crypto::sha2::{ /// sha256msg1, /// sha256msg2, /// sha256load /// }; /// -/// fn schedule4_data(work: &mut [u32x4], w: &[u32]) { +/// fn schedule4_data(work: &mut [[u32; 4]], w: &[u32]) { /// /// // this is to illustrate the data order -/// work[0] = u32x4(w[3], w[2], w[1], w[0]); -/// work[1] = u32x4(w[7], w[6], w[5], w[4]); -/// work[2] = u32x4(w[11], w[10], w[9], w[8]); -/// work[3] = u32x4(w[15], w[14], w[13], w[12]); +/// work[0] = [w[3], w[2], w[1], w[0]); +/// work[1] = [w[7], w[6], w[5], w[4]); +/// work[2] = [w[11], w[10], w[9], w[8]); +/// work[3] = [w[15], w[14], w[13], w[12]); /// } /// -/// fn schedule4_work(work: &mut [u32x4], t: usize) { +/// fn schedule4_work(work: &mut [[u32; 4]], t: usize) { /// /// // this is the core expression /// work[t] = sha256msg2(sha256msg1(work[t - 4], work[t - 3]) + @@ -240,26 +269,26 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { /// and the digest-related instructions allow 4 rounds to be calculated as: /// /// ```ignore -/// use std::simd::u32x4; +/// use std::simd::[u32; 4]; /// use self::crypto::sha2::{K32X4, /// sha256rnds2, /// sha256swap /// }; /// -/// fn rounds4(state: &mut [u32; 8], work: &mut [u32x4], t: usize) { +/// fn rounds4(state: &mut [u32; 8], work: &mut [[u32; 4]], t: usize) { /// let [a, b, c, d, e, f, g, h]: [u32; 8] = *state; /// /// // this is to illustrate the data order -/// let mut abef = u32x4(a, b, e, f); -/// let mut cdgh = u32x4(c, d, g, h); +/// let mut abef = [a, b, e, f); +/// let mut cdgh = [c, d, g, h); /// let temp = K32X4[t] + work[t]; /// /// // this is the core expression /// cdgh = sha256rnds2(cdgh, abef, temp); /// abef = sha256rnds2(abef, cdgh, sha256swap(temp)); /// -/// *state = [abef.0, abef.1, cdgh.0, cdgh.1, -/// abef.2, abef.3, cdgh.2, cdgh.3]; +/// *state = [abef[0], abef[1], cdgh[0], cdgh[1], +/// abef[2], abef[3], cdgh[2], cdgh[3]]; /// } /// ``` /// @@ -282,6 +311,8 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { /// support in LLVM (and GCC, etc.). pub fn compress256(state: &mut [u32; 8], block: &[u8; 64]) { let mut block_u32 = [0u32; BLOCK_LEN]; - BE::read_u32_into(block, &mut block_u32[..]); + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } sha256_digest_block_u32(state, &block_u32); } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 0a4a76080..ed3a1cccf 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,10 +1,7 @@ //! SHA-512 use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; -use block_buffer::{ - byteorder::{ByteOrder, BE}, - BlockBuffer, -}; +use block_buffer::BlockBuffer; use digest::impl_write; use digest::{ consts::{U128, U28, U32, U48, U64}, @@ -43,7 +40,7 @@ impl Engine512State { /// contains the logic necessary to perform the final calculations. #[derive(Clone)] struct Engine512 { - len: (u64, u64), // TODO: replace with u128 on MSRV bump + len: u128, buffer: BlockBuffer, state: Engine512State, } @@ -51,31 +48,26 @@ struct Engine512 { impl Engine512 { fn new(h: &[u64; STATE_LEN]) -> Engine512 { Engine512 { - len: (0, 0), + len: 0, buffer: Default::default(), state: Engine512State::new(h), } } fn update(&mut self, input: &[u8]) { - let (res, over) = self.len.1.overflowing_add((input.len() as u64) << 3); - self.len.1 = res; - if over { - self.len.0 += 1; - } - let self_state = &mut self.state; - self.buffer.input(input, |d| self_state.process_block(d)); + self.len += (input.len() as u128) << 3; + let s = &mut self.state; + self.buffer.input_block(input, |d| s.process_block(d)); } fn finish(&mut self) { - let self_state = &mut self.state; - let (hi, lo) = self.len; + let s = &mut self.state; self.buffer - .len128_padding_be(hi, lo, |d| self_state.process_block(d)); + .len128_padding_be(self.len, |d| s.process_block(d)); } fn reset(&mut self, h: &[u64; STATE_LEN]) { - self.len = (0, 0); + self.len = 0; self.buffer.reset(); self.state = Engine512State::new(h); } @@ -110,7 +102,10 @@ impl FixedOutputDirty for Sha512 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u64_into(&self.engine.state.h[..], out.as_mut_slice()); + let h = self.engine.state.h; + for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } @@ -150,7 +145,10 @@ impl FixedOutputDirty for Sha384 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u64_into(&self.engine.state.h[..6], out.as_mut_slice()); + let h = &self.engine.state.h[..6]; + for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } @@ -190,7 +188,10 @@ impl FixedOutputDirty for Sha512Trunc256 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u64_into(&self.engine.state.h[..4], out.as_mut_slice()); + let h = &self.engine.state.h[..4]; + for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } } @@ -230,8 +231,11 @@ impl FixedOutputDirty for Sha512Trunc224 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - BE::write_u64_into(&self.engine.state.h[..3], &mut out[..24]); - BE::write_u32(&mut out[24..28], (self.engine.state.h[3] >> 32) as u32); + let h = &self.engine.state.h; + for (chunk, v) in out.chunks_exact_mut(8).zip(h[..3].iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + out[24..28].copy_from_slice(&h[3].to_be_bytes()[..4]); } } diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512_utils.rs index 9fb822fc5..eaa9d51fc 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512_utils.rs @@ -1,17 +1,20 @@ #![allow(clippy::many_single_char_names)] - use crate::consts::{BLOCK_LEN, K64X2}; -use crate::simd::u64x2; -use block_buffer::byteorder::{ByteOrder, BE}; +use core::convert::TryInto; + +#[inline(always)] +fn add(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { + [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])] +} /// Not an intrinsic, but works like an unaligned load. #[inline] -fn sha512load(v0: u64x2, v1: u64x2) -> u64x2 { - u64x2(v1.1, v0.0) +fn sha512load(v0: [u64; 2], v1: [u64; 2]) -> [u64; 2] { + [v1[1], v0[0]] } /// Performs 2 rounds of the SHA-512 message schedule update. -pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) -> u64x2 { +pub fn sha512_schedule_x2(v0: [u64; 2], v1: [u64; 2], v4to5: [u64; 2], v7: [u64; 2]) -> [u64; 2] { // sigma 0 fn sigma0(x: u64) -> u64 { ((x << 63) | (x >> 1)) ^ ((x << 56) | (x >> 8)) ^ (x >> 7) @@ -22,10 +25,10 @@ pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) -> u64x ((x << 45) | (x >> 19)) ^ ((x << 3) | (x >> 61)) ^ (x >> 6) } - let u64x2(w1, w0) = v0; - let u64x2(_, w2) = v1; - let u64x2(w10, w9) = v4to5; - let u64x2(w15, w14) = v7; + let [w1, w0] = v0; + let [_, w2] = v1; + let [w10, w9] = v4to5; + let [w15, w14] = v7; let w16 = sigma1(w14) .wrapping_add(w9) @@ -36,11 +39,17 @@ pub fn sha512_schedule_x2(v0: u64x2, v1: u64x2, v4to5: u64x2, v7: u64x2) -> u64x .wrapping_add(sigma0(w2)) .wrapping_add(w1); - u64x2(w17, w16) + [w17, w16] } /// Performs one round of the SHA-512 message block digest. -pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, wk0: u64) -> u64x2 { +pub fn sha512_digest_round( + ae: [u64; 2], + bf: [u64; 2], + cg: [u64; 2], + dh: [u64; 2], + wk0: u64, +) -> [u64; 2] { macro_rules! big_sigma0 { ($a:expr) => { ($a.rotate_right(28) ^ $a.rotate_right(34) ^ $a.rotate_right(39)) @@ -62,10 +71,10 @@ pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, wk0: u64) }; } // Majority, SHA1M - let u64x2(a0, e0) = ae; - let u64x2(b0, f0) = bf; - let u64x2(c0, g0) = cg; - let u64x2(d0, h0) = dh; + let [a0, e0] = ae; + let [b0, f0] = bf; + let [c0, g0] = cg; + let [d0, h0] = dh; // a round let x0 = big_sigma1!(e0) @@ -84,7 +93,7 @@ pub fn sha512_digest_round(ae: u64x2, bf: u64x2, cg: u64x2, dh: u64x2, wk0: u64) g0, ); - u64x2(a1, e1) + [a1, e1] } /// Process a block with the SHA-512 algorithm. @@ -99,8 +108,8 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { macro_rules! rounds4 { ($ae:ident, $bf:ident, $cg:ident, $dh:ident, $wk0:expr, $wk1:expr) => {{ - let u64x2(u, t) = $wk0; - let u64x2(w, v) = $wk1; + let [u, t] = $wk0; + let [w, v] = $wk1; $dh = sha512_digest_round($ae, $bf, $cg, $dh, t); $cg = sha512_digest_round($dh, $ae, $bf, $cg, u); @@ -109,79 +118,79 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { }}; } - let mut ae = u64x2(state[0], state[4]); - let mut bf = u64x2(state[1], state[5]); - let mut cg = u64x2(state[2], state[6]); - let mut dh = u64x2(state[3], state[7]); + let mut ae = [state[0], state[4]]; + let mut bf = [state[1], state[5]]; + let mut cg = [state[2], state[6]]; + let mut dh = [state[3], state[7]]; // Rounds 0..20 - let (mut w1, mut w0) = (u64x2(block[3], block[2]), u64x2(block[1], block[0])); - rounds4!(ae, bf, cg, dh, k[0] + w0, k[1] + w1); - let (mut w3, mut w2) = (u64x2(block[7], block[6]), u64x2(block[5], block[4])); - rounds4!(ae, bf, cg, dh, k[2] + w2, k[3] + w3); - let (mut w5, mut w4) = (u64x2(block[11], block[10]), u64x2(block[9], block[8])); - rounds4!(ae, bf, cg, dh, k[4] + w4, k[5] + w5); - let (mut w7, mut w6) = (u64x2(block[15], block[14]), u64x2(block[13], block[12])); - rounds4!(ae, bf, cg, dh, k[6] + w6, k[7] + w7); + let (mut w1, mut w0) = ([block[3], block[2]], [block[1], block[0]]); + rounds4!(ae, bf, cg, dh, add(k[0], w0), add(k[1], w1)); + let (mut w3, mut w2) = ([block[7], block[6]], [block[5], block[4]]); + rounds4!(ae, bf, cg, dh, add(k[2], w2), add(k[3], w3)); + let (mut w5, mut w4) = ([block[11], block[10]], [block[9], block[8]]); + rounds4!(ae, bf, cg, dh, add(k[4], w4), add(k[5], w5)); + let (mut w7, mut w6) = ([block[15], block[14]], [block[13], block[12]]); + rounds4!(ae, bf, cg, dh, add(k[6], w6), add(k[7], w7)); let mut w8 = schedule!(w0, w1, w4, w5, w7); let mut w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, k[8] + w8, k[9] + w9); + rounds4!(ae, bf, cg, dh, add(k[8], w8), add(k[9], w9)); // Rounds 20..40 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, k[10] + w0, k[11] + w1); + rounds4!(ae, bf, cg, dh, add(k[10], w0), add(k[11], w1)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, k[12] + w2, k[13] + w3); + rounds4!(ae, bf, cg, dh, add(k[12], w2), add(k[13], w3)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, k[14] + w4, k[15] + w5); + rounds4!(ae, bf, cg, dh, add(k[14], w4), add(k[15], w5)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, k[16] + w6, k[17] + w7); + rounds4!(ae, bf, cg, dh, add(k[16], w6), add(k[17], w7)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, k[18] + w8, k[19] + w9); + rounds4!(ae, bf, cg, dh, add(k[18], w8), add(k[19], w9)); // Rounds 40..60 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, k[20] + w0, k[21] + w1); + rounds4!(ae, bf, cg, dh, add(k[20], w0), add(k[21], w1)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, k[22] + w2, k[23] + w3); + rounds4!(ae, bf, cg, dh, add(k[22], w2), add(k[23], w3)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, k[24] + w4, k[25] + w5); + rounds4!(ae, bf, cg, dh, add(k[24], w4), add(k[25], w5)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, k[26] + w6, k[27] + w7); + rounds4!(ae, bf, cg, dh, add(k[26], w6), add(k[27], w7)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, k[28] + w8, k[29] + w9); + rounds4!(ae, bf, cg, dh, add(k[28], w8), add(k[29], w9)); // Rounds 60..80 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, k[30] + w0, k[31] + w1); + rounds4!(ae, bf, cg, dh, add(k[30], w0), add(k[31], w1)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, k[32] + w2, k[33] + w3); + rounds4!(ae, bf, cg, dh, add(k[32], w2), add(k[33], w3)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, k[34] + w4, k[35] + w5); + rounds4!(ae, bf, cg, dh, add(k[34], w4), add(k[35], w5)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, k[36] + w6, k[37] + w7); + rounds4!(ae, bf, cg, dh, add(k[36], w6), add(k[37], w7)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, k[38] + w8, k[39] + w9); + rounds4!(ae, bf, cg, dh, add(k[38], w8), add(k[39], w9)); - let u64x2(a, e) = ae; - let u64x2(b, f) = bf; - let u64x2(c, g) = cg; - let u64x2(d, h) = dh; + let [a, e] = ae; + let [b, f] = bf; + let [c, g] = cg; + let [d, h] = dh; state[0] = state[0].wrapping_add(a); state[1] = state[1].wrapping_add(b); @@ -210,26 +219,26 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { /// functions allow 4 rounds to be calculated as: /// /// ```ignore -/// use std::simd::u64x2; +/// use std::simd::[u64; 2]; /// use self::crypto::sha2::{ /// sha512msg, /// sha512load /// }; /// -/// fn schedule4_data(work: &mut [u64x2], w: &[u64]) { +/// fn schedule4_data(work: &mut [[u64; 2]], w: &[u64]) { /// /// // this is to illustrate the data order -/// work[0] = u64x2(w[1], w[0]); -/// work[1] = u64x2(w[3], w[2]); -/// work[2] = u64x2(w[5], w[4]); -/// work[3] = u64x2(w[7], w[6]); -/// work[4] = u64x2(w[9], w[8]); -/// work[5] = u64x2(w[11], w[10]); -/// work[6] = u64x2(w[13], w[12]); -/// work[7] = u64x2(w[15], w[14]); +/// work[0] = [w[1], w[0]); +/// work[1] = [w[3], w[2]); +/// work[2] = [w[5], w[4]); +/// work[3] = [w[7], w[6]); +/// work[4] = [w[9], w[8]); +/// work[5] = [w[11], w[10]); +/// work[6] = [w[13], w[12]); +/// work[7] = [w[15], w[14]); /// } /// -/// fn schedule4_work(work: &mut [u64x2], t: usize) { +/// fn schedule4_work(work: &mut [[u64; 2]], t: usize) { /// /// // this is the core expression /// work[t] = sha512msg(work[t - 8], @@ -250,19 +259,19 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { /// and the digest-related functions allow 4 rounds to be calculated as: /// /// ```ignore -/// use std::simd::u64x2; +/// use std::simd::[u64; 2]; /// use self::crypto::sha2::{K64X2, sha512rnd}; /// -/// fn rounds4(state: &mut [u64; 8], work: &mut [u64x2], t: usize) { +/// fn rounds4(state: &mut [u64; 8], work: &mut [[u64; 2]], t: usize) { /// let [a, b, c, d, e, f, g, h]: [u64; 8] = *state; /// /// // this is to illustrate the data order -/// let mut ae = u64x2(a, e); -/// let mut bf = u64x2(b, f); -/// let mut cg = u64x2(c, g); -/// let mut dh = u64x2(d, h); -/// let u64x2(w1, w0) = K64X2[2*t] + work[2*t]; -/// let u64x2(w3, w2) = K64X2[2*t + 1] + work[2*t + 1]; +/// let mut ae = [a, e); +/// let mut bf = [b, f); +/// let mut cg = [c, g); +/// let mut dh = [d, h); +/// let [w1, w0) = K64X2[2*t] + work[2*t]; +/// let [w3, w2) = K64X2[2*t + 1] + work[2*t + 1]; /// /// // this is the core expression /// dh = sha512rnd(ae, bf, cg, dh, w0); @@ -270,8 +279,8 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { /// bf = sha512rnd(cg, dh, ae, bf, w2); /// ae = sha512rnd(bf, cg, dh, ae, w3); /// -/// *state = [ae.0, bf.0, cg.0, dh.0, -/// ae.1, bf.1, cg.1, dh.1]; +/// *state = [ae[0], bf[0], cg[0], dh[0], +/// ae[1], bf[1], cg[1], dh[1]]; /// } /// ``` /// @@ -290,6 +299,8 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { /// pub fn compress512(state: &mut [u64; 8], block: &[u8; 128]) { let mut block_u64 = [0u64; BLOCK_LEN]; - BE::read_u64_into(block, &mut block_u64[..]); + for (o, chunk) in block_u64.iter_mut().zip(block.chunks_exact(8)) { + *o = u64::from_be_bytes(chunk.try_into().unwrap()); + } sha512_digest_block_u64(state, &block_u64); } diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 7e014be12..2eea6be76 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -13,8 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" -byte-tools = "0.3" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" keccak = "0.1" diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index d24764f9a..73cc6a59f 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -11,8 +11,8 @@ macro_rules! impl_state { impl $state { fn absorb(&mut self, input: &[u8]) { - let self_state = &mut self.state; - self.buffer.input(input, |b| self_state.absorb_block(b)); + let s = &mut self.state; + self.buffer.input_block(input, |b| s.absorb_block(b)); } fn apply_padding(&mut self) { diff --git a/sha3/src/paddings.rs b/sha3/src/paddings.rs index 89ca95f56..b9ae53210 100644 --- a/sha3/src/paddings.rs +++ b/sha3/src/paddings.rs @@ -1,5 +1,4 @@ use block_buffer::block_padding::{PadError, Padding, UnpadError}; -use byte_tools::zero; macro_rules! impl_padding { ($name:ident, $pad:expr) => { @@ -15,7 +14,7 @@ macro_rules! impl_padding { Err(PadError)? } block[pos] = $pad; - zero(&mut block[pos + 1..]); + block[pos + 1..].iter_mut().for_each(|b| *b = 0); let n = block.len(); block[n - 1] |= 0x80; Ok(()) diff --git a/sha3/src/state.rs b/sha3/src/state.rs index aa24e9cd0..a2494e76a 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,4 +1,4 @@ -use block_buffer::byteorder::{ByteOrder, LE}; +use core::convert::TryInto; const PLEN: usize = 25; @@ -22,7 +22,9 @@ impl Sha3State { let n = block.len() / 8; let mut buf = [0u64; 21]; let buf = &mut buf[..n]; - LE::read_u64_into(block, buf); + for (o, chunk) in buf.iter_mut().zip(block.chunks_exact(8)) { + *o = u64::from_le_bytes(chunk.try_into().unwrap()); + } for (d, i) in self.state[..n].iter_mut().zip(buf) { *d ^= *i; } @@ -41,7 +43,10 @@ impl Sha3State { } } else { data_copy = [0u8; 8 * PLEN]; - LE::write_u64_into(&self.state, &mut data_copy); + + for (chunk, v) in data_copy.chunks_exact_mut(8).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } &data_copy }; f(data_ref); diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 50a47c35f..376bde0df 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" [dev-dependencies] diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 37b45cc2f..8d415f118 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -1,8 +1,7 @@ //! Shabal - use block_buffer::block_padding::Iso7816; -use block_buffer::byteorder::{ByteOrder, LE}; use block_buffer::BlockBuffer; +use core::convert::TryInto; use digest::impl_write; use digest::{ consts::{U24, U28, U32, U48, U64}, @@ -241,8 +240,8 @@ impl Engine256 { } fn input(&mut self, input: &[u8]) { - let state = &mut self.state; - self.buffer.input(input, |input| state.process_block(input)); + let s = &mut self.state; + self.buffer.input_block(input, |b| s.process_block(b)); } fn finish(&mut self) { @@ -286,7 +285,10 @@ impl FixedOutputDirty for Shabal512 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - LE::write_u32_into(&self.engine.state.b[0..16], out.as_mut_slice()); + let b = &self.engine.state.b[0..16]; + for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } @@ -326,7 +328,10 @@ impl FixedOutputDirty for Shabal384 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - LE::write_u32_into(&self.engine.state.b[4..16], out.as_mut_slice()); + let b = &self.engine.state.b[4..16]; + for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } @@ -366,7 +371,10 @@ impl FixedOutputDirty for Shabal256 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - LE::write_u32_into(&self.engine.state.b[8..16], out); + let b = &self.engine.state.b[8..16]; + for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } @@ -406,7 +414,10 @@ impl FixedOutputDirty for Shabal224 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - LE::write_u32_into(&self.engine.state.b[9..16], out); + let b = &self.engine.state.b[9..16]; + for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } @@ -446,7 +457,10 @@ impl FixedOutputDirty for Shabal192 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - LE::write_u32_into(&self.engine.state.b[10..16], out); + let b = &self.engine.state.b[10..16]; + for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } @@ -470,8 +484,10 @@ impl_write!(Shabal192); #[inline] fn read_m(input: &[u8; 64]) -> [u32; 16] { - let mut m = [0; 16]; - LE::read_u32_into(input, &mut m); + let mut m = [0u32; 16]; + for (o, chunk) in m.iter_mut().zip(input.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } m } diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index f8457ed5c..b6059f673 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,8 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" -byte-tools = "0.3" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" [dev-dependencies] diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index 6a9261262..e0324c917 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,11 +1,6 @@ //! Streebog (GOST R 34.11-2012) -use block_buffer::{ - block_padding::ZeroPadding, - byteorder::{ByteOrder, LE}, - BlockBuffer, -}; -use byte_tools::copy; +use block_buffer::{block_padding::ZeroPadding, BlockBuffer}; use core::marker::PhantomData; use digest::consts::U64; use digest::generic_array::{ArrayLength, GenericArray}; @@ -40,7 +35,9 @@ fn lps(h: &mut Block, n: &Block) { } } - LE::write_u64_into(&buf, h); + for (chunk, v) in h.chunks_exact_mut(8).zip(buf.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } impl StreebogState { @@ -48,8 +45,8 @@ impl StreebogState { let mut key = [0u8; 64]; let mut block = [0u8; 64]; - copy(&self.h, &mut key); - copy(m, &mut block); + key.copy_from_slice(&self.h); + block.copy_from_slice(m); lps(&mut key, n); @@ -140,10 +137,9 @@ where N: ArrayLength + Copy, { fn update(&mut self, input: impl AsRef<[u8]>) { - let self_state = &mut self.state; - self.buffer.input(input.as_ref(), |d| { - self_state.process_block(d, BLOCK_SIZE as u8) - }); + let s = &mut self.state; + self.buffer + .input_block(input.as_ref(), |d| s.process_block(d, BLOCK_SIZE as u8)); } } diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 89b983fa1..866cd5246 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,8 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" -block-buffer = "0.8" -byte-tools = "0.3" +block-buffer = { version = "0.9", features = ["block-padding"] } opaque-debug = "0.2" whirlpool-asm = { version = "0.5", optional = true } diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 4caf545cb..72bc9a881 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -60,14 +60,10 @@ pub use digest::Digest; use crate::utils::compress; use block_buffer::{block_padding::Iso7816, BlockBuffer}; -use byte_tools::zero; use digest::impl_write; use digest::{consts::U64, generic_array::GenericArray}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -#[cfg(not(feature = "asm"))] -use block_buffer::byteorder::{ByteOrder, BE}; - type BlockSize = U64; /// Structure representing the state of a Whirlpool computation @@ -150,7 +146,7 @@ impl Whirlpool { if pos + 1 > self.bit_length.len() { compress(hash, convert(buf)); - zero(&mut buf[..(pos + 1)]); + buf[..(pos + 1)].iter_mut().for_each(|b| *b = 0); } buf[32..].copy_from_slice(&self.bit_length); @@ -167,7 +163,8 @@ impl Update for Whirlpool { let input = input.as_ref(); self.update_len(input.len() as u64); let hash = &mut self.hash; - self.buffer.input(input, |b| compress(hash, convert(b))); + self.buffer + .input_block(input, |b| compress(hash, convert(b))); } } @@ -177,7 +174,9 @@ impl FixedOutputDirty for Whirlpool { #[cfg(not(feature = "asm"))] fn finalize_into_dirty(&mut self, out: &mut GenericArray) { self.finalize_inner(); - BE::write_u64_into(&self.hash[..], out); + for (chunk, v) in out.chunks_exact_mut(8).zip(self.hash.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } } #[cfg(feature = "asm")] diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index f5c0f9053..af6540d96 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -1,5 +1,5 @@ use crate::consts::*; -use block_buffer::byteorder::{ByteOrder, BE}; +use core::convert::TryInto; pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { let mut k = [0u64; 8]; @@ -7,7 +7,9 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { let mut state = [0u64; 8]; let mut l = [0u64; 8]; - BE::read_u64_into(&buffer[..], &mut block); + for (o, chunk) in block.iter_mut().zip(buffer.chunks_exact(8)) { + *o = u64::from_be_bytes(chunk.try_into().unwrap()); + } k.copy_from_slice(hash); for i in 0..8 { From 15c30606298e40a76d1a125723ce819aba3760e9 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jun 2020 17:55:10 +0300 Subject: [PATCH 084/373] Bump opaque-debug to v0.3.0 (#168) --- Cargo.lock | 4 ++-- blake2/Cargo.toml | 2 +- blake2/src/blake2.rs | 9 ++++----- blake2/src/lib.rs | 3 --- gost94/Cargo.toml | 2 +- gost94/src/gost94.rs | 5 ++--- gost94/src/lib.rs | 2 -- gost94/src/macros.rs | 6 +++--- groestl/Cargo.toml | 2 +- groestl/src/lib.rs | 4 ---- groestl/src/macros.rs | 8 ++++---- md2/Cargo.toml | 2 +- md2/src/lib.rs | 8 ++------ md4/Cargo.toml | 2 +- md4/src/lib.rs | 8 ++------ md5/Cargo.toml | 2 +- md5/src/lib.rs | 8 ++------ ripemd160/Cargo.toml | 2 +- ripemd160/src/lib.rs | 8 ++------ ripemd320/Cargo.toml | 2 +- ripemd320/src/lib.rs | 8 ++------ sha1/Cargo.toml | 2 +- sha1/src/lib.rs | 7 ++----- sha2/Cargo.toml | 2 +- sha2/src/lib.rs | 3 --- sha2/src/sha256.rs | 9 ++++----- sha2/src/sha512.rs | 17 ++++++++--------- sha3/Cargo.toml | 2 +- sha3/src/lib.rs | 4 ---- sha3/src/macros.rs | 8 ++++---- shabal/Cargo.toml | 2 +- shabal/src/lib.rs | 2 -- shabal/src/shabal.rs | 21 ++++++++++----------- streebog/Cargo.toml | 2 +- streebog/src/lib.rs | 15 +++++---------- whirlpool/Cargo.toml | 2 +- whirlpool/src/lib.rs | 8 ++------ 37 files changed, 74 insertions(+), 129 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8bdfe0138..4325b59de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -178,9 +178,9 @@ dependencies = [ [[package]] name = "opaque-debug" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "proc-macro-hack" diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 5df5190a9..6e2d7cb70 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" crypto-mac = "0.8" -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 6c8c20916..6469448aa 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -12,7 +12,6 @@ macro_rules! blake2_impl { use digest::InvalidOutputSize; use digest::generic_array::GenericArray; use digest::generic_array::typenum::{U4, Unsigned}; - use digest::impl_write; use core::{cmp, convert::TryInto, ops::Div}; use crypto_mac::{InvalidKeyLength, Mac, NewMac}; @@ -302,8 +301,8 @@ macro_rules! blake2_impl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); #[derive(Clone)] @@ -383,8 +382,8 @@ macro_rules! blake2_impl { } } - impl_opaque_debug!($fix_state); - impl_write!($fix_state); + opaque_debug::implement!($fix_state); + digest::impl_write!($fix_state); fn copy(src: &[u8], dst: &mut [u8]) { assert!(dst.len() >= src.len()); diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index aabdb1352..a58d6ec2f 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -87,9 +87,6 @@ #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd_asm", feature(asm))] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index f30361ca3..3da535d30 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index 6e9e44f51..c97cdd75b 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -2,7 +2,6 @@ use block_buffer::block_padding::ZeroPadding; use block_buffer::BlockBuffer; use core::convert::TryInto; -use digest::impl_write; use digest::{consts::U32, generic_array::GenericArray}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -280,5 +279,5 @@ impl Reset for Gost94 { } } -impl_opaque_debug!(Gost94); -impl_write!(Gost94); +opaque_debug::implement!(Gost94); +digest::impl_write!(Gost94); diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 348477eba..ea4b5c246 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -29,8 +29,6 @@ #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs index bd00cdc08..cd78628e7 100644 --- a/gost94/src/macros.rs +++ b/gost94/src/macros.rs @@ -1,6 +1,6 @@ macro_rules! gost94_impl { ($state:ident, $sbox:expr) => { - use digest::{consts::U32, impl_write, BlockInput, FixedOutputDirty, Reset, Update}; + use digest::{consts::U32, BlockInput, FixedOutputDirty, Reset, Update}; use $crate::gost94::{Block, Gost94, SBox}; /// GOST94 state @@ -42,7 +42,7 @@ macro_rules! gost94_impl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); }; } diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index b509ae45f..02bc892a9 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 896c16736..de2047a08 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -37,9 +37,6 @@ #![deny(unsafe_code)] #![warn(rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -55,7 +52,6 @@ mod macros; use crate::groestl::Groestl; use digest::consts::{U128, U28, U32, U48, U64}; use digest::generic_array::typenum::Unsigned; -use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, InvalidOutputSize, Reset, Update, VariableOutputDirty}; impl_groestl!(Groestl512, U64, U128); diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs index 53e0d8e9d..00a54e338 100644 --- a/groestl/src/macros.rs +++ b/groestl/src/macros.rs @@ -40,8 +40,8 @@ macro_rules! impl_groestl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); }; } @@ -89,7 +89,7 @@ macro_rules! impl_variable_groestl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); }; } diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 88f2201cf..6f71a1706 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/md2/src/lib.rs b/md2/src/lib.rs index b78881c88..7a26a0225 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -28,16 +28,12 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; pub use digest::{self, Digest}; use block_buffer::{block_padding::Pkcs7, BlockBuffer}; -use digest::impl_write; use digest::{consts::U16, generic_array::GenericArray}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -130,5 +126,5 @@ impl Reset for Md2 { } } -impl_opaque_debug!(Md2); -impl_write!(Md2); +opaque_debug::implement!(Md2); +digest::impl_write!(Md2); diff --git a/md4/Cargo.toml b/md4/Cargo.toml index f58ef6a4c..61844f9c2 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 8e98e2814..8fcf148ea 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -29,9 +29,6 @@ #![warn(rust_2018_idioms)] #![allow(clippy::many_single_char_names)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -39,7 +36,6 @@ use core::convert::TryInto; pub use digest::{self, Digest}; use block_buffer::BlockBuffer; -use digest::impl_write; use digest::{ consts::{U16, U64}, generic_array::GenericArray, @@ -187,5 +183,5 @@ impl Reset for Md4 { } } -impl_opaque_debug!(Md4); -impl_write!(Md4); +opaque_debug::implement!(Md4); +digest::impl_write!(Md4); diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 0a5f4878f..a95a3e8f8 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -18,7 +18,7 @@ name = "md5" digest = "0.9" block-buffer = "0.9" md5-asm = { version = "0.4", optional = true} -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 3a02898aa..1b6a88408 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -28,9 +28,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "asm")] extern crate md5_asm as utils; @@ -47,7 +44,6 @@ use crate::utils::compress; use block_buffer::BlockBuffer; use digest::generic_array::typenum::{U16, U64}; use digest::generic_array::GenericArray; -use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; mod consts; @@ -123,5 +119,5 @@ impl Reset for Md5 { } } -impl_opaque_debug!(Md5); -impl_write!(Md5); +opaque_debug::implement!(Md5); +digest::impl_write!(Md5); diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index ce4234bbb..b36a30e00 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index 132cc4ff3..c685a1a57 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -28,9 +28,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -41,7 +38,6 @@ pub use digest::{self, Digest}; use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; use block_buffer::BlockBuffer; use digest::consts::{U20, U64}; -use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; /// Structure representing the state of a Ripemd160 computation @@ -98,5 +94,5 @@ impl Reset for Ripemd160 { } } -impl_opaque_debug!(Ripemd160); -impl_write!(Ripemd160); +opaque_debug::implement!(Ripemd160); +digest::impl_write!(Ripemd160); diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index e7431b29d..45e7ea879 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index e3e38d846..12f4af229 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -29,9 +29,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -43,7 +40,6 @@ use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; use block_buffer::BlockBuffer; use digest::consts::{U40, U64}; -use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; /// Structure representing the state of a ripemd320 computation @@ -99,5 +95,5 @@ impl Reset for Ripemd320 { } } -impl_opaque_debug!(Ripemd320); -impl_write!(Ripemd320); +opaque_debug::implement!(Ripemd320); +digest::impl_write!(Ripemd320); diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index aba0700d6..2505534af 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -17,7 +17,7 @@ name = "sha1" [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" sha1-asm = { version = "0.4", optional = true } libc = { version = "0.2.68", optional = true } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index abe0bb492..cd40adf00 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -54,8 +54,6 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when build ))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); -#[macro_use] -extern crate opaque_debug; #[cfg(feature = "asm")] extern crate sha1_asm; #[cfg(feature = "std")] @@ -72,7 +70,6 @@ pub use digest::{self, Digest}; use crate::consts::{H, STATE_LEN}; use block_buffer::BlockBuffer; use digest::consts::{U20, U64}; -use digest::impl_write; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; #[cfg(not(feature = "asm"))] @@ -157,5 +154,5 @@ fn compress(state: &mut [u32; 5], block: &GenericArray) { } } -impl_opaque_debug!(Sha1); -impl_write!(Sha1); +opaque_debug::implement!(Sha1); +digest::impl_write!(Sha1); diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 7f7b79d8b..3bd217d17 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -17,7 +17,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = "0.9" -opaque-debug = "0.2" +opaque-debug = "0.3" sha2-asm = { version = "0.5", optional = true } libc = { version = "0.2.68", optional = true } diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index c87c064b4..d0729ca25 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -80,9 +80,6 @@ compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when build ))] compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index c30671b86..df4d43f3c 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -2,7 +2,6 @@ use crate::consts::{H224, H256, STATE_LEN}; use block_buffer::BlockBuffer; -use digest::impl_write; use digest::{ consts::{U28, U32, U64}, generic_array::GenericArray, @@ -173,8 +172,8 @@ impl Reset for Sha224 { } } -impl_opaque_debug!(Sha224); -impl_opaque_debug!(Sha256); +opaque_debug::implement!(Sha224); +opaque_debug::implement!(Sha256); -impl_write!(Sha224); -impl_write!(Sha256); +digest::impl_write!(Sha224); +digest::impl_write!(Sha256); diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index ed3a1cccf..468a61a7d 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -2,7 +2,6 @@ use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; use block_buffer::BlockBuffer; -use digest::impl_write; use digest::{ consts::{U128, U28, U32, U48, U64}, generic_array::GenericArray, @@ -245,12 +244,12 @@ impl Reset for Sha512Trunc224 { } } -impl_opaque_debug!(Sha384); -impl_opaque_debug!(Sha512); -impl_opaque_debug!(Sha512Trunc224); -impl_opaque_debug!(Sha512Trunc256); +opaque_debug::implement!(Sha384); +opaque_debug::implement!(Sha512); +opaque_debug::implement!(Sha512Trunc224); +opaque_debug::implement!(Sha512Trunc256); -impl_write!(Sha384); -impl_write!(Sha512); -impl_write!(Sha512Trunc224); -impl_write!(Sha512Trunc256); +digest::impl_write!(Sha384); +digest::impl_write!(Sha512); +digest::impl_write!(Sha512Trunc224); +digest::impl_write!(Sha512Trunc256); diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 2eea6be76..0728d6a31 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" keccak = "0.1" [dev-dependencies] diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 6e0eff24e..186e0633b 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -43,9 +43,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -54,7 +51,6 @@ pub use digest::{self, Digest}; use block_buffer::BlockBuffer; use digest::consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}; use digest::generic_array::typenum::Unsigned; -use digest::impl_write; use digest::{BlockInput, ExtendableOutputDirty, FixedOutputDirty, Reset, Update}; mod paddings; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 73cc6a59f..311bfa6ba 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -58,8 +58,8 @@ macro_rules! sha3_impl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); }; } @@ -90,7 +90,7 @@ macro_rules! shake_impl { } } - impl_opaque_debug!($state); - impl_write!($state); + opaque_debug::implement!($state); + digest::impl_write!($state); }; } diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 376bde0df..08e7d6237 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index fe7f75de3..e15c70c5a 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -39,8 +39,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; #[cfg(feature = "std")] extern crate std; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs index 8d415f118..09d3879be 100644 --- a/shabal/src/shabal.rs +++ b/shabal/src/shabal.rs @@ -2,7 +2,6 @@ use block_buffer::block_padding::Iso7816; use block_buffer::BlockBuffer; use core::convert::TryInto; -use digest::impl_write; use digest::{ consts::{U24, U28, U32, U48, U64}, generic_array::GenericArray, @@ -470,17 +469,17 @@ impl Reset for Shabal192 { } } -impl_opaque_debug!(Shabal512); -impl_opaque_debug!(Shabal384); -impl_opaque_debug!(Shabal256); -impl_opaque_debug!(Shabal224); -impl_opaque_debug!(Shabal192); +opaque_debug::implement!(Shabal512); +opaque_debug::implement!(Shabal384); +opaque_debug::implement!(Shabal256); +opaque_debug::implement!(Shabal224); +opaque_debug::implement!(Shabal192); -impl_write!(Shabal512); -impl_write!(Shabal384); -impl_write!(Shabal256); -impl_write!(Shabal224); -impl_write!(Shabal192); +digest::impl_write!(Shabal512); +digest::impl_write!(Shabal384); +digest::impl_write!(Shabal256); +digest::impl_write!(Shabal224); +digest::impl_write!(Shabal192); #[inline] fn read_m(input: &[u8; 64]) -> [u32; 16] { diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index b6059f673..8e853ef64 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index b88f14875..9631f4f44 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -46,9 +46,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -56,10 +53,8 @@ mod consts; mod streebog; mod table; -pub use digest::{self, Digest}; - use digest::consts::{U32, U64}; -use digest::impl_write; +pub use digest::{self, Digest}; #[cfg(feature = "std")] use digest::Update; @@ -70,8 +65,8 @@ pub type Streebog256 = streebog::Streebog; /// Streebog512 pub type Streebog512 = streebog::Streebog; -impl_opaque_debug!(Streebog512); -impl_opaque_debug!(Streebog256); +opaque_debug::implement!(Streebog512); +opaque_debug::implement!(Streebog256); -impl_write!(Streebog512); -impl_write!(Streebog256); +digest::impl_write!(Streebog512); +digest::impl_write!(Streebog256); diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 866cd5246..109c14566 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -14,7 +14,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.9" block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.2" +opaque-debug = "0.3" whirlpool-asm = { version = "0.5", optional = true } [dev-dependencies] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 72bc9a881..4f86aff57 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -40,9 +40,6 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[macro_use] -extern crate opaque_debug; - #[cfg(feature = "std")] extern crate std; @@ -60,7 +57,6 @@ pub use digest::Digest; use crate::utils::compress; use block_buffer::{block_padding::Iso7816, BlockBuffer}; -use digest::impl_write; use digest::{consts::U64, generic_array::GenericArray}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; @@ -196,5 +192,5 @@ impl Reset for Whirlpool { } } -impl_opaque_debug!(Whirlpool); -impl_write!(Whirlpool); +opaque_debug::implement!(Whirlpool); +digest::impl_write!(Whirlpool); From f427563094d8fb5e4d9beb435e9c72101816d684 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 12 Jun 2020 08:22:10 -0700 Subject: [PATCH 085/373] Release `groestl`, `md2`, `md4`, `ripemd320`, `whirlpool` v0.9.0 (#169) Releases the following new versions after the `digest` v0.9 (MSRV 1.41+) and 2018 edition upgrade: - `groestl` v0.9.0 - `md2` v0.9.0 - `md4` v0.9.0 - `ripemd320` v0.9.0 - `whirlpool` v0.9.0 --- Cargo.lock | 10 ++++----- groestl/CHANGELOG.md | 36 ++++++++++++++++++++++++++++++ groestl/Cargo.toml | 2 +- md2/CHANGELOG.md | 38 ++++++++++++++++++++++++++++++++ md2/Cargo.toml | 2 +- md4/CHANGELOG.md | 42 +++++++++++++++++++++++++++++++++++ md4/Cargo.toml | 2 +- ripemd320/CHANGELOG.md | 25 +++++++++++++++++++++ ripemd320/Cargo.toml | 2 +- whirlpool/CHANGELOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++ whirlpool/Cargo.toml | 2 +- 11 files changed, 201 insertions(+), 10 deletions(-) create mode 100644 groestl/CHANGELOG.md create mode 100644 md2/CHANGELOG.md create mode 100644 md4/CHANGELOG.md create mode 100644 ripemd320/CHANGELOG.md create mode 100644 whirlpool/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 4325b59de..840ee0024 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -89,7 +89,7 @@ dependencies = [ [[package]] name = "groestl" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", @@ -149,7 +149,7 @@ dependencies = [ [[package]] name = "md2" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", @@ -159,7 +159,7 @@ dependencies = [ [[package]] name = "md4" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", @@ -200,7 +200,7 @@ dependencies = [ [[package]] name = "ripemd320" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", @@ -295,7 +295,7 @@ checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] name = "whirlpool" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/groestl/CHANGELOG.md b/groestl/CHANGELOG.md new file mode 100644 index 000000000..08c48c032 --- /dev/null +++ b/groestl/CHANGELOG.md @@ -0,0 +1,36 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#122]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#122]: https://github.com/RustCrypto/hashes/pull/148 + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.3.0 (2017-06-12) + +## 0.2.2 (2017-06-04) + +## 0.2.1 (2017-05-02) + +## 0.2.0 (2017-04-06) + +## 0.1.0 (2017-01-23) diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 02bc892a9..1408b7f66 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groestl" -version = "0.9.0-pre" +version = "0.9.0" description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md new file mode 100644 index 000000000..2319dae63 --- /dev/null +++ b/md2/CHANGELOG.md @@ -0,0 +1,38 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#125]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#125]: https://github.com/RustCrypto/hashes/pull/125 + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.3.0 (2017-06-12) + +## 0.2.1 (2017-05-02) + +## 0.2.0 (2017-04-06) + +## 0.1.2 (2017-01-20) + +## 0.1.1 (2017-01-12) + +## 0.1.0 (2017-01-09) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 6f71a1706..a025061d8 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.9.0-pre" +version = "0.9.0" license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md new file mode 100644 index 000000000..b4728c816 --- /dev/null +++ b/md4/CHANGELOG.md @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#127]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#127]: https://github.com/RustCrypto/hashes/pull/127 + +## 0.8.0 (2018-10-02) + +## 0.7.0 (2017-11-15) + +## 0.6.0 (2017-06-12) + +## 0.5.0 (2017-04-06) + +## 0.4.1 (2017-01-20) + +## 0.4.0 (2016-12-25) + +## 0.3.1 (2016-11-17) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-11-03) + +## 0.1.0 (2016-10-13) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 61844f9c2..c2a53b5c0 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.9.0-pre" +version = "0.9.0" description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd320/CHANGELOG.md b/ripemd320/CHANGELOG.md new file mode 100644 index 000000000..58dfc426a --- /dev/null +++ b/ripemd320/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#130]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#130]: https://github.com/RustCrypto/hashes/pull/130 + +## 0.8.0 (2019-02-11) +- Initial release diff --git a/ripemd320/Cargo.toml b/ripemd320/Cargo.toml index 45e7ea879..6083fe0ef 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd320/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd320" -version = "0.9.0-pre" +version = "0.9.0" description = "RIPEMD-320 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md new file mode 100644 index 000000000..2d3c97dfd --- /dev/null +++ b/whirlpool/CHANGELOG.md @@ -0,0 +1,50 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Bump `block-buffer` to v0.8 release ([#151]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#137]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#151]: https://github.com/RustCrypto/hashes/pull/151 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#137]: https://github.com/RustCrypto/hashes/pull/148 + +## 0.8.1 (2018-11-14) + +## 0.8.0 (2018-10-02) + +## 0.7.1 (2018-04-27) + +## 0.7.0 (2017-11-15) + +## 0.6.0 (2017-06-12) + +## 0.5.3 (2017-06-04) + +## 0.5.2 (2017-05-09) + +## 0.5.1 (2017-05-02) + +## 0.5.0 (2017-04-06) + +## 0.4.1 (2017-01-20) + +## 0.4.0 (2016-12-25) + +## 0.3.0 (2016-11-17) + +## 0.2.0 (2016-10-14) + +## 0.1.0 (2016-10-06 diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 109c14566..395ed8a3c 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.9.0-pre" +version = "0.9.0" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 5fdcd03d5f03fdccd53ea240909cdf2458423e93 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 12 Jun 2020 09:16:23 -0700 Subject: [PATCH 086/373] shabal v0.3.0 (#171) --- Cargo.lock | 2 +- shabal/CHANGELOG.md | 26 ++++++++++++++++++++++++++ shabal/Cargo.toml | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 shabal/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 840ee0024..a4e0aeb7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -263,7 +263,7 @@ dependencies = [ [[package]] name = "shabal" -version = "0.3.0-pre" +version = "0.3.0" dependencies = [ "block-buffer", "digest", diff --git a/shabal/CHANGELOG.md b/shabal/CHANGELOG.md new file mode 100644 index 000000000..d44eb49f9 --- /dev/null +++ b/shabal/CHANGELOG.md @@ -0,0 +1,26 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.3.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `block-buffer` to v0.9 release ([#164]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#135]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#164]: https://github.com/RustCrypto/hashes/pull/151 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#135]: https://github.com/RustCrypto/hashes/pull/135 + +## 0.2.0 (2019-02-26) + +## 0.1.0 (2019-02-25) diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 08e7d6237..a83f02704 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shabal" -version = "0.3.0-pre" +version = "0.3.0" description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From fcb751619236ded785e9363ec06127dfc24a58ae Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 12 Jun 2020 11:23:08 -0700 Subject: [PATCH 087/373] Release `gost94` and `streebog` (#172) Releases the following versions: - `gost94` v0.8.0 - `streebog` v0.9.0 --- Cargo.lock | 4 ++-- gost94/CHANGELOG.md | 41 ++++++++++++++++++++++++++++++++++++++ gost94/Cargo.toml | 2 +- streebog/CHANGELOG.md | 46 +++++++++++++++++++++++++++++++++++++++++++ streebog/Cargo.toml | 2 +- 5 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 gost94/CHANGELOG.md create mode 100644 streebog/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index a4e0aeb7a..d95171a9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.9.0-pre" +version = "0.8.0" dependencies = [ "block-buffer", "digest", @@ -273,7 +273,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.9.0-pre" +version = "0.9.0" dependencies = [ "block-buffer", "digest", diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md new file mode 100644 index 000000000..3d4be01ff --- /dev/null +++ b/gost94/CHANGELOG.md @@ -0,0 +1,41 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `block-buffer` to v0.8 release ([#164]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#121]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#164]: https://github.com/RustCrypto/hashes/pull/164 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#121]: https://github.com/RustCrypto/hashes/pull/148 + +## 0.8.0 (skipped) +- Skipped to sync versions with `digest` + +## 0.7.0 (2017-11-15) + +## 0.4.0 (2017-06-12) + +## 0.3.1 (2017-05-02) + +## 0.3.0 (2017-04-06) + +## 0.2.1 (2017-01-20) + +## 0.2.0 (2016-12-25) + +## 0.1.1 (2016-11-24) + +## 0.1.0 (2016-11-17) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 3da535d30..1eb60083f 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.9.0-pre" +version = "0.9.0" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md new file mode 100644 index 000000000..9faeeedd1 --- /dev/null +++ b/streebog/CHANGELOG.md @@ -0,0 +1,46 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.0 (2020-06-12) +### Changed +- Bump `opaque-debug` to v0.3.0 ([#168]) +- Bump `block-buffer` to v0.8 release ([#164]) +- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) +- Use new `*Dirty` traits from the `digest` crate ([#153]) +- Rename `*result*` to `finalize` ([#148]) +- Upgrade to Rust 2018 edition ([#136]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#164]: https://github.com/RustCrypto/hashes/pull/164 +[#155]: https://github.com/RustCrypto/hashes/pull/155 +[#153]: https://github.com/RustCrypto/hashes/pull/153 +[#148]: https://github.com/RustCrypto/hashes/pull/148 +[#136]: https://github.com/RustCrypto/hashes/pull/148 + +## 0.8.0 (2019-11-06) + +## 0.7.0 (2017-11-15) + +## 0.5.0 (2017-06-12) + +## 0.4.1 (2017-05-02) + +## 0.4.0 (2017-04-06) + +## 0.3.1 (2017-01-20) + +## 0.3.0 (2016-12-25) + +## 0.2.2 (2016-11-21) + +## 0.2.1 (2016-11-21) + +## 0.2.0 (2016-11-17) + +## 0.1.1 (2016-11-12) + +## 0.1.0 (2016-11-12) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 8e853ef64..6566986b5 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.9.0-pre" +version = "0.9.0" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From feea49ec7e5a3efb0ea846c192d2920fa8356e49 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 12 Jun 2020 21:28:48 +0300 Subject: [PATCH 088/373] update README examples (#173) --- README.md | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7facf9a91..761d1fd81 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ First add `blake2` crate to your `Cargo.toml`: ```toml [dependencies] -blake2 = "0.8" +blake2 = "0.9" ``` Note that crates in this repository have an enabled by default `std` feature. @@ -78,7 +78,7 @@ So if you plan to use the crate in `no_std` enviroments, don't forget to disable ```toml [dependencies] -blake2 = { version="0.8", default-features = false } +blake2 = { version="0.9", default-features = false } ``` `blake2` and other crates re-export `digest` crate and `Digest` trait for @@ -91,11 +91,11 @@ use blake2::{Blake2b, Digest}; let mut hasher = Blake2b::new(); let data = b"Hello world!"; -hasher.input(data); -// `input` can be called repeatedly and is generic over `AsRef<[u8]>` -hasher.input("String data"); +hasher.update(data); +// `update` can be called repeatedly and is generic over `AsRef<[u8]>` +hasher.update("String data"); // Note that calling `result()` consumes hasher -let hash = hasher.result(); +let hash = hasher.finalize(); println!("Result: {:x}", hash); ``` @@ -106,16 +106,20 @@ Alternatively you can use chained approach, which is equivalent to the previous example: ```Rust +use blake2::{Blake2b, Digest}; + let hash = Blake2b::new() .chain(b"Hello world!") .chain("String data") - .result(); + .finalize(); println!("Result: {:x}", hash); ``` If the whole message is available you also can use convinience `digest` method: ```Rust +use blake2::{Blake2b, Digest}; + let hash = Blake2b::digest(b"my message"); println!("Result: {:x}", hash); ``` @@ -123,7 +127,7 @@ println!("Result: {:x}", hash); ### Hashing `Read`able objects If you want to hash data from [`Read`][3] trait (e.g. from file) you can rely on -implementation of [`Write`][4] trait (requires enabled-by-default `std` feature): +implementation of [`Write`][4] trait (requires an enabled-by-default `std` feature): ```Rust use blake2::{Blake2b, Digest}; @@ -132,7 +136,7 @@ use std::{fs, io}; let mut file = fs::File::open(&path)?; let mut hasher = Blake2b::new(); let n = io::copy(&mut file, &mut hasher)?; -let hash = hasher.result(); +let hash = hasher.finalize(); println!("Path: {}", path); println!("Bytes processed: {}", n); println!("Hash value: {:x}", hash); @@ -151,22 +155,24 @@ trait which will work over different hash functions: ```Rust use digest::Digest; +use blake2::Blake2b; +use sha2::Sha256; // Toy example, do not use it in practice! // Instead use crates from: https://github.com/RustCrypto/password-hashing fn hash_password(password: &str, salt: &str, output: &mut [u8]) { let mut hasher = D::new(); - hasher.input(password.as_bytes()); - hasher.input(b"$"); - hasher.input(salt.as_bytes()); - output.copy_from_slice(hasher.result().as_slice()) + hasher.update(password.as_bytes()); + hasher.update(b"$"); + hasher.update(salt.as_bytes()); + output.copy_from_slice(&hasher.finalize()) } -use blake2::Blake2b; -use sha2::Sha256; +let mut buf1 = [0u8; 64]; +hash_password::("my_password", "abcd", &mut buf1); -hash_password::("my_password", "abcd", &mut buf); -hash_password::("my_password", "abcd", &mut buf); +let mut buf2 = [0u8; 32]; +hash_password::("my_password", "abcd", &mut buf2); ``` If you want to use hash functions with trait objects, use `digest::DynDigest` From 570a20016016639e3cf0d6259ce1e291ebc14304 Mon Sep 17 00:00:00 2001 From: James Mills Date: Mon, 15 Jun 2020 20:09:17 +0100 Subject: [PATCH 089/373] Fix build links (#174) --- sha2/README.md | 4 ++-- sha3/README.md | 4 ++-- shabal/README.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sha2/README.md b/sha2/README.md index bf4fa30b7..cbcde5eaa 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -48,8 +48,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/sha2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg -[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master -[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha2 [//]: # (general links) diff --git a/sha3/README.md b/sha3/README.md index e0e7bd578..88d997c79 100644 --- a/sha3/README.md +++ b/sha3/README.md @@ -45,8 +45,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/sha3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg -[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master -[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha3/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha3 [//]: # (general links) diff --git a/shabal/README.md b/shabal/README.md index e2a6d025b..585b9b3ae 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -74,8 +74,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/shabal/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg -[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master -[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 +[build-image]: https://github.com/RustCrypto/hashes/workflows/shabal/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ashabal [//]: # (general links) From a380194a694d7b1bf7fa20e88c46830e488048cb Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 16 Jun 2020 01:48:35 +0300 Subject: [PATCH 090/373] Add x86 intrinsics support for sha1 and sha2 (#167) --- Cargo.lock | 16 + sha1/Cargo.toml | 13 +- sha1/src/aarch64.rs | 8 - sha1/src/compress.rs | 32 ++ sha1/src/compress/aarch64.rs | 21 ++ sha1/src/{utils.rs => compress/soft.rs} | 192 ++++------- sha1/src/compress/x86.rs | 108 +++++++ sha1/src/lib.rs | 71 +---- sha2/Cargo.toml | 13 +- sha2/src/aarch64.rs | 7 - sha2/src/lib.rs | 38 +-- sha2/src/sha256.rs | 98 +++--- sha2/src/sha256/aarch64.rs | 20 ++ sha2/src/sha256/soft.rs | 219 +++++++++++++ sha2/src/sha256/x86.rs | 108 +++++++ sha2/src/sha256_utils.rs | 318 ------------------- sha2/src/sha512.rs | 85 +++-- sha2/src/{sha512_utils.rs => sha512/soft.rs} | 114 +------ sha2/tests/lib.rs | 2 - 19 files changed, 709 insertions(+), 774 deletions(-) delete mode 100644 sha1/src/aarch64.rs create mode 100644 sha1/src/compress.rs create mode 100644 sha1/src/compress/aarch64.rs rename sha1/src/{utils.rs => compress/soft.rs} (51%) create mode 100644 sha1/src/compress/x86.rs delete mode 100644 sha2/src/aarch64.rs create mode 100644 sha2/src/sha256/aarch64.rs create mode 100644 sha2/src/sha256/soft.rs create mode 100644 sha2/src/sha256/x86.rs delete mode 100644 sha2/src/sha256_utils.rs rename sha2/src/{sha512_utils.rs => sha512/soft.rs} (66%) diff --git a/Cargo.lock b/Cargo.lock index d95171a9b..7ab26debf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -47,6 +47,18 @@ version = "1.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cpuid-bool" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d375c433320f6c5057ae04a04376eef4d04ce2801448cf8863a78da99107be4" + [[package]] name = "crypto-mac" version = "0.8.0" @@ -213,6 +225,8 @@ name = "sha-1" version = "0.9.0" dependencies = [ "block-buffer", + "cfg-if", + "cpuid-bool", "digest", "hex-literal", "libc", @@ -234,6 +248,8 @@ name = "sha2" version = "0.9.0" dependencies = [ "block-buffer", + "cfg-if", + "cpuid-bool", "digest", "hex-literal", "libc", diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 2505534af..eebb7cb4c 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -18,7 +18,13 @@ name = "sha1" digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" +cfg-if = "0.1" sha1-asm = { version = "0.4", optional = true } + +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] +cpuid-bool = "0.1" + +[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.68", optional = true } [dev-dependencies] @@ -28,8 +34,7 @@ hex-literal = "0.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha1-asm"] +asm = ["sha1-asm", "libc"] -# TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. -# Only used on AArch64 Linux systems, when built without the crypto target_feature. -asm-aarch64 = ["asm", "libc"] +# DEPRECATED: use `asm` instead +asm-aarch64 = ["asm"] diff --git a/sha1/src/aarch64.rs b/sha1/src/aarch64.rs deleted file mode 100644 index 8d1a916cc..000000000 --- a/sha1/src/aarch64.rs +++ /dev/null @@ -1,8 +0,0 @@ -use libc::{getauxval, AT_HWCAP, HWCAP_SHA1}; - -#[inline(always)] -pub fn sha1_supported() -> bool { - #[allow(unsafe_code)] - let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; - (hwcaps & HWCAP_SHA1) != 0 -} diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs new file mode 100644 index 000000000..d00dbd1a0 --- /dev/null +++ b/sha1/src/compress.rs @@ -0,0 +1,32 @@ +use digest::consts::U64; +use digest::generic_array::GenericArray; + +cfg_if::cfg_if! { + if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + mod soft; + mod aarch64; + use aarch64::compress as compress_inner; + } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { + // TODO: replace after sha1-asm rework + fn compress_inner(state: &mut [u32; 5], blocks: &[[u8; 64]]) { + for block in blocks { + sha1_asm::compress(state, block); + } + } + } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + mod soft; + mod x86; + use x86::compress as compress_inner; + } else { + mod soft; + use soft::compress as compress_inner; + } +} + +pub fn compress(state: &mut [u32; 5], blocks: &[GenericArray]) { + // SAFETY: GenericArray and [u8; 64] have + // exactly the same memory layout + #[allow(unsafe_code)] + let blocks: &[[u8; 64]] = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; + compress_inner(state, blocks); +} diff --git a/sha1/src/compress/aarch64.rs b/sha1/src/compress/aarch64.rs new file mode 100644 index 000000000..85295f052 --- /dev/null +++ b/sha1/src/compress/aarch64.rs @@ -0,0 +1,21 @@ +#![cfg(feature = "asm-aarch64")] +use libc::{getauxval, AT_HWCAP, HWCAP_SHA1}; + +fn sha1_supported() -> bool { + #[allow(unsafe_code)] + let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; + (hwcaps & HWCAP_SHA1) != 0 +} + +pub fn compress(state: &mut [u32; 5], blocks: &[u8; 64]) { + // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once + // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented + // to let us use it on no_std. + if sha1_supported() { + for block in blocks { + sha1_asm::compress(state, block); + } + } else { + super::soft::compress(state, blocks); + } +} diff --git a/sha1/src/utils.rs b/sha1/src/compress/soft.rs similarity index 51% rename from sha1/src/utils.rs rename to sha1/src/compress/soft.rs index 1d746fb9f..19366fb13 100644 --- a/sha1/src/utils.rs +++ b/sha1/src/compress/soft.rs @@ -1,10 +1,6 @@ #![allow(clippy::many_single_char_names)] use crate::consts::{BLOCK_LEN, K0, K1, K2, K3}; use core::convert::TryInto; -use digest::generic_array::typenum::U64; -use digest::generic_array::GenericArray; - -type Block = GenericArray; #[inline(always)] fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { @@ -21,27 +17,18 @@ fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] } -/// Not an intrinsic, but gets the first element of a vector. -#[inline] -pub fn sha1_first(w0: [u32; 4]) -> u32 { - w0[0] -} - -/// Not an intrinsic, but adds a word to the first element of a vector. #[inline] pub fn sha1_first_add(e: u32, w0: [u32; 4]) -> [u32; 4] { let [a, b, c, d] = w0; [e.wrapping_add(a), b, c, d] } -/// Emulates `llvm.x86.sha1msg1` intrinsic. fn sha1msg1(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { let [_, _, w2, w3] = a; let [w4, w5, _, _] = b; [a[0] ^ w2, a[1] ^ w3, a[2] ^ w4, a[3] ^ w5] } -/// Emulates `llvm.x86.sha1msg2` intrinsic. fn sha1msg2(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { let [x0, x1, x2, x3] = a; let [_, w13, w14, w15] = b; @@ -54,21 +41,11 @@ fn sha1msg2(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { [w16, w17, w18, w19] } -/// Performs 4 rounds of the message schedule update. -/* -pub fn sha1_schedule_x4(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { - sha1msg2(sha1msg1(v0, v1) ^ v2, v3) -} -*/ - -/// Emulates `llvm.x86.sha1nexte` intrinsic. #[inline] fn sha1_first_half(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { - sha1_first_add(sha1_first(abcd).rotate_left(30), msg) + sha1_first_add(abcd[0].rotate_left(30), msg) } -/// Emulates `llvm.x86.sha1rnds4` intrinsic. -/// Performs 4 rounds of the message block digest. fn sha1_digest_round_x4(abcd: [u32; 4], work: [u32; 4], i: i8) -> [u32; 4] { const K0V: [u32; 4] = [K0, K0, K0, K0]; const K1V: [u32; 4] = [K1, K1, K1, K1]; @@ -84,7 +61,6 @@ fn sha1_digest_round_x4(abcd: [u32; 4], work: [u32; 4], i: i8) -> [u32; 4] { } } -/// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. fn sha1rnds4c(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { let [mut a, mut b, mut c, mut d] = abcd; let [t, u, v, w] = msg; @@ -123,7 +99,6 @@ fn sha1rnds4c(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { [b, c, d, e] } -/// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. fn sha1rnds4p(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { let [mut a, mut b, mut c, mut d] = abcd; let [t, u, v, w] = msg; @@ -162,7 +137,6 @@ fn sha1rnds4p(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { [b, c, d, e] } -/// Not an intrinsic, but helps emulate `llvm.x86.sha1rnds4` intrinsic. fn sha1rnds4m(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { let [mut a, mut b, mut c, mut d] = abcd; let [t, u, v, w] = msg; @@ -201,71 +175,69 @@ fn sha1rnds4m(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { [b, c, d, e] } -/// Process a block with the SHA-1 algorithm. -fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { - macro_rules! schedule { - ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { - sha1msg2(xor(sha1msg1($v0, $v1), $v2), $v3) - }; - } +macro_rules! rounds4 { + ($h0:ident, $h1:ident, $wk:expr, $i:expr) => { + sha1_digest_round_x4($h0, sha1_first_half($h1, $wk), $i) + }; +} - macro_rules! rounds4 { - ($h0:ident, $h1:ident, $wk:expr, $i:expr) => { - sha1_digest_round_x4($h0, sha1_first_half($h1, $wk), $i) - }; - } +macro_rules! schedule { + ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { + sha1msg2(xor(sha1msg1($v0, $v1), $v2), $v3) + }; +} - // Rounds 0..20 - // TODO: replace with `[u32; 4]::load` - let mut h0 = [state[0], state[1], state[2], state[3]]; +macro_rules! schedule_rounds4 { + ( + $h0:ident, $h1:ident, + $w0:expr, $w1:expr, $w2:expr, $w3:expr, $w4:expr, + $i:expr + ) => { + $w4 = schedule!($w0, $w1, $w2, $w3); + $h1 = rounds4!($h0, $h1, $w4, $i); + }; +} + +#[inline(always)] +fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { let mut w0 = [block[0], block[1], block[2], block[3]]; - let mut h1 = sha1_digest_round_x4(h0, sha1_first_add(state[4], w0), 0); let mut w1 = [block[4], block[5], block[6], block[7]]; - h0 = rounds4!(h1, h0, w1, 0); let mut w2 = [block[8], block[9], block[10], block[11]]; - h1 = rounds4!(h0, h1, w2, 0); let mut w3 = [block[12], block[13], block[14], block[15]]; + let mut w4; + + let mut h0 = [state[0], state[1], state[2], state[3]]; + let mut h1 = sha1_first_add(state[4], w0); + + // Rounds 0..20 + h1 = sha1_digest_round_x4(h0, h1, 0); + h0 = rounds4!(h1, h0, w1, 0); + h1 = rounds4!(h0, h1, w2, 0); h0 = rounds4!(h1, h0, w3, 0); - let mut w4 = schedule!(w0, w1, w2, w3); - h1 = rounds4!(h0, h1, w4, 0); + schedule_rounds4!(h0, h1, w0, w1, w2, w3, w4, 0); // Rounds 20..40 - w0 = schedule!(w1, w2, w3, w4); - h0 = rounds4!(h1, h0, w0, 1); - w1 = schedule!(w2, w3, w4, w0); - h1 = rounds4!(h0, h1, w1, 1); - w2 = schedule!(w3, w4, w0, w1); - h0 = rounds4!(h1, h0, w2, 1); - w3 = schedule!(w4, w0, w1, w2); - h1 = rounds4!(h0, h1, w3, 1); - w4 = schedule!(w0, w1, w2, w3); - h0 = rounds4!(h1, h0, w4, 1); + schedule_rounds4!(h1, h0, w1, w2, w3, w4, w0, 1); + schedule_rounds4!(h0, h1, w2, w3, w4, w0, w1, 1); + schedule_rounds4!(h1, h0, w3, w4, w0, w1, w2, 1); + schedule_rounds4!(h0, h1, w4, w0, w1, w2, w3, 1); + schedule_rounds4!(h1, h0, w0, w1, w2, w3, w4, 1); // Rounds 40..60 - w0 = schedule!(w1, w2, w3, w4); - h1 = rounds4!(h0, h1, w0, 2); - w1 = schedule!(w2, w3, w4, w0); - h0 = rounds4!(h1, h0, w1, 2); - w2 = schedule!(w3, w4, w0, w1); - h1 = rounds4!(h0, h1, w2, 2); - w3 = schedule!(w4, w0, w1, w2); - h0 = rounds4!(h1, h0, w3, 2); - w4 = schedule!(w0, w1, w2, w3); - h1 = rounds4!(h0, h1, w4, 2); + schedule_rounds4!(h0, h1, w1, w2, w3, w4, w0, 2); + schedule_rounds4!(h1, h0, w2, w3, w4, w0, w1, 2); + schedule_rounds4!(h0, h1, w3, w4, w0, w1, w2, 2); + schedule_rounds4!(h1, h0, w4, w0, w1, w2, w3, 2); + schedule_rounds4!(h0, h1, w0, w1, w2, w3, w4, 2); // Rounds 60..80 - w0 = schedule!(w1, w2, w3, w4); - h0 = rounds4!(h1, h0, w0, 3); - w1 = schedule!(w2, w3, w4, w0); - h1 = rounds4!(h0, h1, w1, 3); - w2 = schedule!(w3, w4, w0, w1); - h0 = rounds4!(h1, h0, w2, 3); - w3 = schedule!(w4, w0, w1, w2); - h1 = rounds4!(h0, h1, w3, 3); - w4 = schedule!(w0, w1, w2, w3); - h0 = rounds4!(h1, h0, w4, 3); - - let e = sha1_first(h1).rotate_left(30); + schedule_rounds4!(h1, h0, w1, w2, w3, w4, w0, 3); + schedule_rounds4!(h0, h1, w2, w3, w4, w0, w1, 3); + schedule_rounds4!(h1, h0, w3, w4, w0, w1, w2, 3); + schedule_rounds4!(h0, h1, w4, w0, w1, w2, w3, 3); + schedule_rounds4!(h1, h0, w0, w1, w2, w3, w4, 3); + + let e = h1[0].rotate_left(30); let [a, b, c, d] = h0; state[0] = state[0].wrapping_add(a); @@ -275,58 +247,16 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { state[4] = state[4].wrapping_add(e); } -/// Process a block with the SHA-1 algorithm. (See more...) -/// -/// SHA-1 is a cryptographic hash function, and as such, it operates -/// on an arbitrary number of bytes. This function operates on a fixed -/// number of bytes. If you call this function with anything other than -/// 64 bytes, then it will panic! This function takes two arguments: -/// -/// * `state` is reference to an **array** of 5 words. -/// * `block` is reference to a **slice** of 64 bytes. -/// -/// If you want the function that performs a message digest on an arbitrary -/// number of bytes, then see also the `Sha1` struct above. -/// -/// # Implementation -/// -/// First, some background. Both ARM and Intel are releasing documentation -/// that they plan to include instruction set extensions for SHA1 and SHA256 -/// sometime in the near future. Second, LLVM won't lower these intrinsics yet, -/// so these functions were written emulate these instructions. Finally, -/// the block function implemented with these emulated intrinsics turned out -/// to be quite fast! What follows is a discussion of this CPU-level view -/// of the SHA-1 algorithm and how it relates to the mathematical definition. -/// -/// The SHA instruction set extensions can be divided up into two categories: -/// -/// * message work schedule update calculation ("schedule" v., "work" n.) -/// * message block 80-round digest calculation ("digest" v., "block" n.) -/// -/// The schedule-related functions can be used to easily perform 4 rounds -/// of the message work schedule update calculation, as shown below: -/// -/// ```ignore -/// macro_rules! schedule_x4 { -/// ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => ( -/// sha1msg2(sha1msg1($v0, $v1) ^ $v2, $v3) -/// ) -/// } -/// -/// macro_rules! round_x4 { -/// ($h0:ident, $h1:ident, $wk:expr, $i:expr) => ( -/// sha1rnds4($h0, sha1_first_half($h1, $wk), $i) -/// ) -/// } -/// ``` -/// -/// and also shown above is how the digest-related functions can be used to -/// perform 4 rounds of the message block digest calculation. -/// -pub fn compress(state: &mut [u32; 5], block: &Block) { +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { let mut block_u32 = [0u32; BLOCK_LEN]; - for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { - *o = u32::from_be_bytes(chunk.try_into().unwrap()); + // since LLVM can't properly use aliasing yet it will make + // unnecessary state stores without this copy + let mut state_cpy = *state; + for block in blocks.iter() { + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } + sha1_digest_block_u32(&mut state_cpy, &block_u32); } - sha1_digest_block_u32(state, &block_u32); + *state = state_cpy; } diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs new file mode 100644 index 000000000..05d90cc98 --- /dev/null +++ b/sha1/src/compress/x86.rs @@ -0,0 +1,108 @@ +#![cfg(any(target_arch = "x86", target_arch = "x86_64"))] +#![allow(unsafe_code)] + +#[cfg(target_arch = "x86")] +use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; + +macro_rules! rounds4 { + ($h0:ident, $h1:ident, $wk:expr, $i:expr) => { + _mm_sha1rnds4_epu32($h0, _mm_sha1nexte_epu32($h1, $wk), $i) + }; +} + +macro_rules! schedule { + ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { + _mm_sha1msg2_epu32(_mm_xor_si128(_mm_sha1msg1_epu32($v0, $v1), $v2), $v3) + }; +} + +macro_rules! schedule_rounds4 { + ( + $h0:ident, $h1:ident, + $w0:expr, $w1:expr, $w2:expr, $w3:expr, $w4:expr, + $i:expr + ) => { + $w4 = schedule!($w0, $w1, $w2, $w3); + $h1 = rounds4!($h0, $h1, $w4, $i); + }; +} + +#[target_feature(enable = "sha,sse2,ssse3,sse4.1")] +unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { + #[allow(non_snake_case)] + let MASK: __m128i = _mm_set_epi64x(0x0001_0203_0405_0607, 0x0809_0A0B_0C0D_0E0F); + + let mut state_abcd = _mm_set_epi32( + state[0] as i32, + state[1] as i32, + state[2] as i32, + state[3] as i32, + ); + let mut state_e = _mm_set_epi32(state[4] as i32, 0, 0, 0); + + for block in blocks { + // SAFETY: we use only unaligned loads with this pointer + #[allow(clippy::cast_ptr_alignment)] + let block_ptr = block.as_ptr() as *const __m128i; + + let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(0)), MASK); + let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(1)), MASK); + let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(2)), MASK); + let mut w3 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(3)), MASK); + let mut w4; + + let mut h0 = state_abcd; + let mut h1 = _mm_add_epi32(state_e, w0); + + // Rounds 0..20 + h1 = _mm_sha1rnds4_epu32(h0, h1, 0); + h0 = rounds4!(h1, h0, w1, 0); + h1 = rounds4!(h0, h1, w2, 0); + h0 = rounds4!(h1, h0, w3, 0); + schedule_rounds4!(h0, h1, w0, w1, w2, w3, w4, 0); + + // Rounds 20..40 + schedule_rounds4!(h1, h0, w1, w2, w3, w4, w0, 1); + schedule_rounds4!(h0, h1, w2, w3, w4, w0, w1, 1); + schedule_rounds4!(h1, h0, w3, w4, w0, w1, w2, 1); + schedule_rounds4!(h0, h1, w4, w0, w1, w2, w3, 1); + schedule_rounds4!(h1, h0, w0, w1, w2, w3, w4, 1); + + // Rounds 40..60 + schedule_rounds4!(h0, h1, w1, w2, w3, w4, w0, 2); + schedule_rounds4!(h1, h0, w2, w3, w4, w0, w1, 2); + schedule_rounds4!(h0, h1, w3, w4, w0, w1, w2, 2); + schedule_rounds4!(h1, h0, w4, w0, w1, w2, w3, 2); + schedule_rounds4!(h0, h1, w0, w1, w2, w3, w4, 2); + + // Rounds 60..80 + schedule_rounds4!(h1, h0, w1, w2, w3, w4, w0, 3); + schedule_rounds4!(h0, h1, w2, w3, w4, w0, w1, 3); + schedule_rounds4!(h1, h0, w3, w4, w0, w1, w2, 3); + schedule_rounds4!(h0, h1, w4, w0, w1, w2, w3, 3); + schedule_rounds4!(h1, h0, w0, w1, w2, w3, w4, 3); + + state_abcd = _mm_add_epi32(state_abcd, h0); + state_e = _mm_sha1nexte_epu32(h1, state_e); + } + + state[0] = _mm_extract_epi32(state_abcd, 3) as u32; + state[1] = _mm_extract_epi32(state_abcd, 2) as u32; + state[2] = _mm_extract_epi32(state_abcd, 1) as u32; + state[3] = _mm_extract_epi32(state_abcd, 0) as u32; + state[4] = _mm_extract_epi32(state_e, 3) as u32; +} + +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if cpuid_bool::cpuid_bool!("sha", "sse2", "ssse3", "sse4.1") { + unsafe { + digest_blocks(state, blocks); + } + } else { + super::soft::compress(state, blocks); + } +} diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index cd40adf00..59d51e5d2 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -28,56 +28,19 @@ #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -// Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. -#[cfg(all( - feature = "asm-aarch64", - target_arch = "aarch64", - not(target_os = "linux") -))] -compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); - -#[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); -#[cfg(all( - feature = "asm-aarch64", - target_arch = "aarch64", - target_feature = "crypto" -))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); - -#[cfg(all( - not(feature = "asm-aarch64"), - feature = "asm", - target_arch = "aarch64", - not(target_feature = "crypto"), - target_os = "linux" -))] -compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); - -#[cfg(feature = "asm")] -extern crate sha1_asm; #[cfg(feature = "std")] extern crate std; -#[cfg(feature = "asm-aarch64")] -mod aarch64; +mod compress; mod consts; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] -mod utils; - -pub use digest::{self, Digest}; +use crate::compress::compress; use crate::consts::{H, STATE_LEN}; use block_buffer::BlockBuffer; use digest::consts::{U20, U64}; +pub use digest::{self, Digest}; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -#[cfg(not(feature = "asm"))] -use crate::utils::compress; - -#[cfg(feature = "asm")] -use digest::generic_array::GenericArray; - /// Structure representing the state of a SHA-1 computation #[derive(Clone)] pub struct Sha1 { @@ -106,7 +69,7 @@ impl Update for Sha1 { // Assumes that `length_bits<<3` will not overflow self.len += input.len() as u64; let state = &mut self.h; - self.buffer.input_block(input, |d| compress(state, d)); + self.buffer.input_blocks(input, |d| compress(state, d)); } } @@ -116,7 +79,8 @@ impl FixedOutputDirty for Sha1 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { let s = &mut self.h; let l = self.len << 3; - self.buffer.len64_padding_be(l, |d| compress(s, d)); + self.buffer + .len64_padding_be(l, |d| compress(s, core::slice::from_ref(d))); for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } @@ -131,28 +95,5 @@ impl Reset for Sha1 { } } -#[cfg(all(feature = "asm", not(feature = "asm-aarch64")))] -#[inline(always)] -fn compress(state: &mut [u32; 5], block: &GenericArray) { - #[allow(unsafe_code)] - let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; - sha1_asm::compress(state, block); -} - -#[cfg(feature = "asm-aarch64")] -#[inline(always)] -fn compress(state: &mut [u32; 5], block: &GenericArray) { - // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once - // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented - // to let us use it on no_std. - if aarch64::sha1_supported() { - #[allow(unsafe_code)] - let block: &[u8; 64] = unsafe { core::mem::transmute(block) }; - sha1_asm::compress(state, block); - } else { - utils::compress(state, block); - } -} - opaque_debug::implement!(Sha1); digest::impl_write!(Sha1); diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 3bd217d17..ac3893458 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -18,7 +18,13 @@ categories = ["cryptography", "no-std"] digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" +cfg-if = "0.1" sha2-asm = { version = "0.5", optional = true } + +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] +cpuid-bool = "0.1" + +[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.68", optional = true } [dev-dependencies] @@ -28,9 +34,8 @@ hex-literal = "0.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha2-asm"] +asm = ["sha2-asm", "libc"] compress = [] -# TODO: Remove this feature once is_aarch64_feature_detected!() is stabilised. -# Only used on AArch64 Linux systems, when built without the crypto target_feature. -asm-aarch64 = ["asm", "libc"] +# DEPRECATED: use `asm` instead +asm-aarch64 = ["asm"] diff --git a/sha2/src/aarch64.rs b/sha2/src/aarch64.rs deleted file mode 100644 index 7cba76519..000000000 --- a/sha2/src/aarch64.rs +++ /dev/null @@ -1,7 +0,0 @@ -use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; - -#[inline(always)] -pub fn sha2_supported() -> bool { - let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; - (hwcaps & HWCAP_SHA2) != 0 -} diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index d0729ca25..08829eab2 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -56,47 +56,17 @@ #![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] #![warn(missing_docs, rust_2018_idioms)] -// Give relevant error messages if the user tries to enable AArch64 asm on unsupported platforms. -#[cfg(all( - feature = "asm-aarch64", - target_arch = "aarch64", - not(target_os = "linux") -))] -compile_error!("Your OS isn’t yet supported for runtime-checking of AArch64 features."); -#[cfg(all(feature = "asm-aarch64", not(target_arch = "aarch64")))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" on non-AArch64 systems."); -#[cfg(all( - feature = "asm-aarch64", - target_arch = "aarch64", - target_feature = "crypto" -))] -compile_error!("Enable the \"asm\" feature instead of \"asm-aarch64\" when building for AArch64 systems with crypto extensions."); -#[cfg(all( - not(feature = "asm-aarch64"), - feature = "asm", - target_arch = "aarch64", - not(target_feature = "crypto"), - target_os = "linux" -))] -compile_error!("Enable the \"asm-aarch64\" feature on AArch64 if you want to use asm detected at runtime, or build with the crypto extensions support, for instance with RUSTFLAGS='-C target-cpu=native' on a compatible CPU."); - #[cfg(feature = "std")] extern crate std; -#[cfg(feature = "asm-aarch64")] -mod aarch64; mod consts; mod sha256; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64", feature = "compress"))] -mod sha256_utils; mod sha512; -#[cfg(any(not(feature = "asm"), target_arch = "aarch64", feature = "compress"))] -mod sha512_utils; -pub use crate::sha256::{Sha224, Sha256}; -pub use crate::sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; pub use digest::{self, Digest}; #[cfg(feature = "compress")] -pub use sha256_utils::compress256; +pub use sha256::compress256; +pub use sha256::{Sha224, Sha256}; #[cfg(feature = "compress")] -pub use sha512_utils::compress512; +pub use sha512::compress512; +pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index df4d43f3c..8ee97bedd 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,61 +1,20 @@ //! SHA-256 - use crate::consts::{H224, H256, STATE_LEN}; use block_buffer::BlockBuffer; -use digest::{ - consts::{U28, U32, U64}, - generic_array::GenericArray, -}; +use core::slice::from_ref; +use digest::consts::{U28, U32, U64}; +use digest::generic_array::GenericArray; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -#[cfg(not(feature = "asm"))] -use crate::sha256_utils::compress256; - -#[cfg(feature = "asm")] -use sha2_asm::compress256; - type BlockSize = U64; -type Block = GenericArray; - -/// A structure that represents that state of a digest computation for the -/// SHA-2 512 family of digest functions -#[derive(Clone)] -struct Engine256State { - h: [u32; 8], -} - -impl Engine256State { - fn new(h: &[u32; STATE_LEN]) -> Engine256State { - Engine256State { h: *h } - } - - #[cfg(not(feature = "asm-aarch64"))] - pub fn process_block(&mut self, block: &Block) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; - compress256(&mut self.h, block); - } - #[cfg(feature = "asm-aarch64")] - pub fn process_block(&mut self, block: &Block) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; - // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha2") once - // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented - // to let us use it on no_std. - if ::aarch64::sha2_supported() { - compress256(&mut self.h, block); - } else { - ::sha256_utils::compress256(&mut self.h, block); - } - } -} - -/// A structure that keeps track of the state of the Sha-256 operation and +/// Structure that keeps state of the Sha-256 operation and /// contains the logic necessary to perform the final calculations. #[derive(Clone)] struct Engine256 { len: u64, buffer: BlockBuffer, - state: Engine256State, + state: [u32; 8], } impl Engine256 { @@ -63,7 +22,7 @@ impl Engine256 { Engine256 { len: 0, buffer: Default::default(), - state: Engine256State::new(h), + state: *h, } } @@ -71,19 +30,20 @@ impl Engine256 { // Assumes that input.len() can be converted to u64 without overflow self.len += (input.len() as u64) << 3; let s = &mut self.state; - self.buffer.input_block(input, |b| s.process_block(b)); + self.buffer.input_blocks(input, |b| compress256(s, b)); } fn finish(&mut self) { let s = &mut self.state; let l = self.len; - self.buffer.len64_padding_be(l, |b| s.process_block(b)); + self.buffer + .len64_padding_be(l, |b| compress256(s, from_ref(b))); } fn reset(&mut self, h: &[u32; STATE_LEN]) { self.len = 0; self.buffer.reset(); - self.state = Engine256State::new(h); + self.state = *h; } } @@ -116,8 +76,8 @@ impl FixedOutputDirty for Sha256 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = self.engine.state.h; - for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + let s = self.engine.state; + for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } @@ -159,8 +119,8 @@ impl FixedOutputDirty for Sha224 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = &self.engine.state.h[..7]; - for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + let s = &self.engine.state[..7]; + for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } @@ -177,3 +137,33 @@ opaque_debug::implement!(Sha256); digest::impl_write!(Sha224); digest::impl_write!(Sha256); + +cfg_if::cfg_if! { + if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + mod soft; + mod aarch64; + use aarch64::compress; + } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { + // TODO: replace after sha2-asm rework + fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + for block in blocks { + sha2_asm::compress256(state, block); + } + } + } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + mod soft; + mod x86; + use x86::compress; + } else { + mod soft; + use soft::compress; + } +} + +pub fn compress256(state: &mut [u32; 8], blocks: &[GenericArray]) { + // SAFETY: GenericArray and [u8; 64] have + // exactly the same memory layout + #[allow(unsafe_code)] + let blocks: &[[u8; 64]] = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; + compress(state, blocks) +} diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs new file mode 100644 index 000000000..a5967ca0c --- /dev/null +++ b/sha2/src/sha256/aarch64.rs @@ -0,0 +1,20 @@ +use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; + +#[inline(always)] +pub fn sha2_supported() -> bool { + let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; + (hwcaps & HWCAP_SHA2) != 0 +} + +pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if sha2_supported() { + // TODO: replace after sha2-asm rework + for block in blocks { + sha2_asm::compress256(&mut self.h, block); + } + } else { + super::soft::compress(&mut self.h, block); + } +} diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs new file mode 100644 index 000000000..d7be01dc6 --- /dev/null +++ b/sha2/src/sha256/soft.rs @@ -0,0 +1,219 @@ +#![allow(clippy::many_single_char_names)] +use crate::consts::BLOCK_LEN; +use core::convert::TryInto; + +#[inline(always)] +fn shl(v: [u32; 4], o: u32) -> [u32; 4] { + [v[0] >> o, v[1] >> o, v[2] >> o, v[3] >> o] +} + +#[inline(always)] +fn shr(v: [u32; 4], o: u32) -> [u32; 4] { + [v[0] << o, v[1] << o, v[2] << o, v[3] << o] +} + +#[inline(always)] +fn or(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [a[0] | b[0], a[1] | b[1], a[2] | b[2], a[3] | b[3]] +} + +#[inline(always)] +fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] +} + +#[inline(always)] +fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + [ + a[0].wrapping_add(b[0]), + a[1].wrapping_add(b[1]), + a[2].wrapping_add(b[2]), + a[3].wrapping_add(b[3]), + ] +} + +fn sha256load(v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { + [v3[3], v2[0], v2[1], v2[2]] +} + +fn sha256swap(v0: [u32; 4]) -> [u32; 4] { + [v0[2], v0[3], v0[0], v0[1]] +} + +fn sha256msg1(v0: [u32; 4], v1: [u32; 4]) -> [u32; 4] { + // sigma 0 on vectors + #[inline] + fn sigma0x4(x: [u32; 4]) -> [u32; 4] { + let t1 = or(shl(x, 7), shr(x, 25)); + let t2 = or(shl(x, 18), shr(x, 14)); + let t3 = shl(x, 3); + xor(xor(t1, t2), t3) + } + + add(v0, sigma0x4(sha256load(v0, v1))) +} + +fn sha256msg2(v4: [u32; 4], v3: [u32; 4]) -> [u32; 4] { + macro_rules! sigma1 { + ($a:expr) => { + $a.rotate_right(17) ^ $a.rotate_right(19) ^ ($a >> 10) + }; + } + + let [x3, x2, x1, x0] = v4; + let [w15, w14, _, _] = v3; + + let w16 = x0.wrapping_add(sigma1!(w14)); + let w17 = x1.wrapping_add(sigma1!(w15)); + let w18 = x2.wrapping_add(sigma1!(w16)); + let w19 = x3.wrapping_add(sigma1!(w17)); + + [w19, w18, w17, w16] +} + +fn sha256_digest_round_x2(cdgh: [u32; 4], abef: [u32; 4], wk: [u32; 4]) -> [u32; 4] { + macro_rules! big_sigma0 { + ($a:expr) => { + ($a.rotate_right(2) ^ $a.rotate_right(13) ^ $a.rotate_right(22)) + }; + } + macro_rules! big_sigma1 { + ($a:expr) => { + ($a.rotate_right(6) ^ $a.rotate_right(11) ^ $a.rotate_right(25)) + }; + } + macro_rules! bool3ary_202 { + ($a:expr, $b:expr, $c:expr) => { + $c ^ ($a & ($b ^ $c)) + }; + } // Choose, MD5F, SHA1C + macro_rules! bool3ary_232 { + ($a:expr, $b:expr, $c:expr) => { + ($a & $b) ^ ($a & $c) ^ ($b & $c) + }; + } // Majority, SHA1M + + let [_, _, wk1, wk0] = wk; + let [a0, b0, e0, f0] = abef; + let [c0, d0, g0, h0] = cdgh; + + // a round + let x0 = big_sigma1!(e0) + .wrapping_add(bool3ary_202!(e0, f0, g0)) + .wrapping_add(wk0) + .wrapping_add(h0); + let y0 = big_sigma0!(a0).wrapping_add(bool3ary_232!(a0, b0, c0)); + let (a1, b1, c1, d1, e1, f1, g1, h1) = ( + x0.wrapping_add(y0), + a0, + b0, + c0, + x0.wrapping_add(d0), + e0, + f0, + g0, + ); + + // a round + let x1 = big_sigma1!(e1) + .wrapping_add(bool3ary_202!(e1, f1, g1)) + .wrapping_add(wk1) + .wrapping_add(h1); + let y1 = big_sigma0!(a1).wrapping_add(bool3ary_232!(a1, b1, c1)); + let (a2, b2, _, _, e2, f2, _, _) = ( + x1.wrapping_add(y1), + a1, + b1, + c1, + x1.wrapping_add(d1), + e1, + f1, + g1, + ); + + [a2, b2, e2, f2] +} + +fn schedule(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { + let t1 = sha256msg1(v0, v1); + let t2 = sha256load(v2, v3); + let t3 = add(t1, t2); + sha256msg2(t3, v3) +} + +macro_rules! rounds4 { + ($abef:ident, $cdgh:ident, $rest:expr, $i:expr) => {{ + let t1 = add($rest, crate::consts::K32X4[$i]); + $cdgh = sha256_digest_round_x2($cdgh, $abef, t1); + let t2 = sha256swap(t1); + $abef = sha256_digest_round_x2($abef, $cdgh, t2); + }}; +} + +macro_rules! schedule_rounds4 { + ( + $abef:ident, $cdgh:ident, + $w0:expr, $w1:expr, $w2:expr, $w3:expr, $w4:expr, + $i: expr + ) => {{ + $w4 = schedule($w0, $w1, $w2, $w3); + rounds4!($abef, $cdgh, $w4, $i); + }}; +} + +/// Process a block with the SHA-256 algorithm. +fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { + let mut abef = [state[0], state[1], state[4], state[5]]; + let mut cdgh = [state[2], state[3], state[6], state[7]]; + + + // Rounds 0..64 + let mut w0 = [block[3], block[2], block[1], block[0]]; + let mut w1 = [block[7], block[6], block[5], block[4]]; + let mut w2 = [block[11], block[10], block[9], block[8]]; + let mut w3 = [block[15], block[14], block[13], block[12]]; + let mut w4; + + rounds4!(abef, cdgh, w0, 0); + rounds4!(abef, cdgh, w1, 1); + rounds4!(abef, cdgh, w2, 2); + rounds4!(abef, cdgh, w3, 3); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 4); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 5); + schedule_rounds4!(abef, cdgh, w2, w3, w4, w0, w1, 6); + schedule_rounds4!(abef, cdgh, w3, w4, w0, w1, w2, 7); + schedule_rounds4!(abef, cdgh, w4, w0, w1, w2, w3, 8); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 9); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 10); + schedule_rounds4!(abef, cdgh, w2, w3, w4, w0, w1, 11); + schedule_rounds4!(abef, cdgh, w3, w4, w0, w1, w2, 12); + schedule_rounds4!(abef, cdgh, w4, w0, w1, w2, w3, 13); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 14); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 15); + + let [a, b, e, f] = abef; + let [c, d, g, h] = cdgh; + + state[0] = state[0].wrapping_add(a); + state[1] = state[1].wrapping_add(b); + state[2] = state[2].wrapping_add(c); + state[3] = state[3].wrapping_add(d); + state[4] = state[4].wrapping_add(e); + state[5] = state[5].wrapping_add(f); + state[6] = state[6].wrapping_add(g); + state[7] = state[7].wrapping_add(h); +} + +pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + let mut block_u32 = [0u32; BLOCK_LEN]; + // since LLVM can't properly use aliasing yet it will make + // unnecessary state stores without this copy + let mut state_cpy = *state; + for block in blocks { + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } + sha256_digest_block_u32(&mut state_cpy, &block_u32); + } + *state = state_cpy; +} diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs new file mode 100644 index 000000000..04a7d26d0 --- /dev/null +++ b/sha2/src/sha256/x86.rs @@ -0,0 +1,108 @@ +#![allow(clippy::many_single_char_names)] + +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; +#[cfg(target_arch = "x86")] +use core::arch::x86::*; + +unsafe fn schedule(v0: __m128i, v1: __m128i, v2: __m128i, v3: __m128i) -> __m128i { + let t1 = _mm_sha256msg1_epu32(v0, v1); + let t2 = _mm_alignr_epi8(v3, v2, 4); + let t3 = _mm_add_epi32(t1, t2); + _mm_sha256msg2_epu32(t3, v3) +} + +macro_rules! rounds4 { + ($abef:ident, $cdgh:ident, $rest:expr, $i:expr) => {{ + let k = crate::consts::K32X4[$i]; + let kv = _mm_set_epi32(k[0] as i32, k[1] as i32, k[2] as i32, k[3] as i32); + let t1 = _mm_add_epi32($rest, kv); + $cdgh = _mm_sha256rnds2_epu32($cdgh, $abef, t1); + let t2 = _mm_shuffle_epi32(t1, 0x0E); + $abef = _mm_sha256rnds2_epu32($abef, $cdgh, t2); + }}; +} + +macro_rules! schedule_rounds4 { + ( + $abef:ident, $cdgh:ident, + $w0:expr, $w1:expr, $w2:expr, $w3:expr, $w4:expr, + $i: expr + ) => {{ + $w4 = schedule($w0, $w1, $w2, $w3); + rounds4!($abef, $cdgh, $w4, $i); + }}; +} + +// we use unaligned loads with `__m128i` pointers +#[allow(clippy::cast_ptr_alignment)] +#[target_feature(enable = "sha,sse2,ssse3,sse4.1")] +unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + #[allow(non_snake_case)] + let MASK: __m128i = _mm_set_epi64x( + 0x0C0D_0E0F_0809_0A0Bu64 as i64, + 0x0405_0607_0001_0203u64 as i64, + ); + + let state_ptr = state.as_ptr() as *const __m128i; + let dcba = _mm_loadu_si128(state_ptr.add(0)); + let efgh = _mm_loadu_si128(state_ptr.add(1)); + + let cdab = _mm_shuffle_epi32(dcba, 0xB1); + let efgh = _mm_shuffle_epi32(efgh, 0x1B); + let mut abef = _mm_alignr_epi8(cdab, efgh, 8); + let mut cdgh = _mm_blend_epi16(efgh, cdab, 0xF0); + + for block in blocks { + let abef_save = abef; + let cdgh_save = cdgh; + + let data_ptr = block.as_ptr() as *const __m128i; + let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(0)), MASK); + let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(1)), MASK); + let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(2)), MASK); + let mut w3 = _mm_shuffle_epi8( _mm_loadu_si128(data_ptr.add(3)), MASK); + let mut w4; + + rounds4!(abef, cdgh, w0, 0); + rounds4!(abef, cdgh, w1, 1); + rounds4!(abef, cdgh, w2, 2); + rounds4!(abef, cdgh, w3, 3); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 4); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 5); + schedule_rounds4!(abef, cdgh, w2, w3, w4, w0, w1, 6); + schedule_rounds4!(abef, cdgh, w3, w4, w0, w1, w2, 7); + schedule_rounds4!(abef, cdgh, w4, w0, w1, w2, w3, 8); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 9); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 10); + schedule_rounds4!(abef, cdgh, w2, w3, w4, w0, w1, 11); + schedule_rounds4!(abef, cdgh, w3, w4, w0, w1, w2, 12); + schedule_rounds4!(abef, cdgh, w4, w0, w1, w2, w3, 13); + schedule_rounds4!(abef, cdgh, w0, w1, w2, w3, w4, 14); + schedule_rounds4!(abef, cdgh, w1, w2, w3, w4, w0, 15); + + abef = _mm_add_epi32(abef, abef_save); + cdgh = _mm_add_epi32(cdgh, cdgh_save); + } + + let feba = _mm_shuffle_epi32(abef, 0x1B); + let dchg = _mm_shuffle_epi32(cdgh, 0xB1); + let dcba = _mm_blend_epi16(feba, dchg, 0xF0); + let hgef = _mm_alignr_epi8(dchg, feba, 8); + + let state_ptr_mut = state.as_mut_ptr() as *mut __m128i; + _mm_storeu_si128(state_ptr_mut.add(0), dcba); + _mm_storeu_si128(state_ptr_mut.add(1), hgef); +} + +pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if cpuid_bool::cpuid_bool!("sha", "sse2", "ssse3", "sse4.1") { + unsafe { + digest_blocks(state, blocks); + } + } else { + super::soft::compress(state, blocks); + } +} diff --git a/sha2/src/sha256_utils.rs b/sha2/src/sha256_utils.rs deleted file mode 100644 index 7d2ec9f63..000000000 --- a/sha2/src/sha256_utils.rs +++ /dev/null @@ -1,318 +0,0 @@ -#![allow(clippy::many_single_char_names)] -use crate::consts::{BLOCK_LEN, K32X4}; -use core::convert::TryInto; - -#[inline(always)] -fn shl(v: [u32; 4], o: u32) -> [u32; 4] { - [v[0] >> o, v[1] >> o, v[2] >> o, v[3] >> o] -} - -#[inline(always)] -fn shr(v: [u32; 4], o: u32) -> [u32; 4] { - [v[0] << o, v[1] << o, v[2] << o, v[3] << o] -} - -#[inline(always)] -fn or(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { - [a[0] | b[0], a[1] | b[1], a[2] | b[2], a[3] | b[3]] -} - -#[inline(always)] -fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { - [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] -} - -#[inline(always)] -fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { - [ - a[0].wrapping_add(b[0]), - a[1].wrapping_add(b[1]), - a[2].wrapping_add(b[2]), - a[3].wrapping_add(b[3]), - ] -} - -/// Not an intrinsic, but works like an unaligned load. -#[inline] -fn sha256load(v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { - [v3[3], v2[0], v2[1], v2[2]] -} - -/// Not an intrinsic, but useful for swapping vectors. -#[inline] -fn sha256swap(v0: [u32; 4]) -> [u32; 4] { - [v0[2], v0[3], v0[0], v0[1]] -} - -/// Emulates `llvm.x86.sha256msg1` intrinsic. -// #[inline] -fn sha256msg1(v0: [u32; 4], v1: [u32; 4]) -> [u32; 4] { - // sigma 0 on vectors - #[inline] - fn sigma0x4(x: [u32; 4]) -> [u32; 4] { - let t1 = or(shl(x, 7), shr(x, 25)); - let t2 = or(shl(x, 18), shr(x, 14)); - let t3 = shl(x, 3); - xor(xor(t1, t2), t3) - } - - add(v0, sigma0x4(sha256load(v0, v1))) -} - -/// Emulates `llvm.x86.sha256msg2` intrinsic. -// #[inline] -fn sha256msg2(v4: [u32; 4], v3: [u32; 4]) -> [u32; 4] { - macro_rules! sigma1 { - ($a:expr) => { - $a.rotate_right(17) ^ $a.rotate_right(19) ^ ($a >> 10) - }; - } - - let [x3, x2, x1, x0] = v4; - let [w15, w14, _, _] = v3; - - let w16 = x0.wrapping_add(sigma1!(w14)); - let w17 = x1.wrapping_add(sigma1!(w15)); - let w18 = x2.wrapping_add(sigma1!(w16)); - let w19 = x3.wrapping_add(sigma1!(w17)); - - [w19, w18, w17, w16] -} - -/* -/// Performs 4 rounds of the SHA-256 message schedule update. -fn sha256_schedule_x4(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { - sha256msg2(sha256msg1(v0, v1) + sha256load(v2, v3), v3) -}*/ - -/// Emulates `llvm.x86.sha256rnds2` intrinsic. -// #[inline] -fn sha256_digest_round_x2(cdgh: [u32; 4], abef: [u32; 4], wk: [u32; 4]) -> [u32; 4] { - macro_rules! big_sigma0 { - ($a:expr) => { - ($a.rotate_right(2) ^ $a.rotate_right(13) ^ $a.rotate_right(22)) - }; - } - macro_rules! big_sigma1 { - ($a:expr) => { - ($a.rotate_right(6) ^ $a.rotate_right(11) ^ $a.rotate_right(25)) - }; - } - macro_rules! bool3ary_202 { - ($a:expr, $b:expr, $c:expr) => { - $c ^ ($a & ($b ^ $c)) - }; - } // Choose, MD5F, SHA1C - macro_rules! bool3ary_232 { - ($a:expr, $b:expr, $c:expr) => { - ($a & $b) ^ ($a & $c) ^ ($b & $c) - }; - } // Majority, SHA1M - - let [_, _, wk1, wk0] = wk; - let [a0, b0, e0, f0] = abef; - let [c0, d0, g0, h0] = cdgh; - - // a round - let x0 = big_sigma1!(e0) - .wrapping_add(bool3ary_202!(e0, f0, g0)) - .wrapping_add(wk0) - .wrapping_add(h0); - let y0 = big_sigma0!(a0).wrapping_add(bool3ary_232!(a0, b0, c0)); - let (a1, b1, c1, d1, e1, f1, g1, h1) = ( - x0.wrapping_add(y0), - a0, - b0, - c0, - x0.wrapping_add(d0), - e0, - f0, - g0, - ); - - // a round - let x1 = big_sigma1!(e1) - .wrapping_add(bool3ary_202!(e1, f1, g1)) - .wrapping_add(wk1) - .wrapping_add(h1); - let y1 = big_sigma0!(a1).wrapping_add(bool3ary_232!(a1, b1, c1)); - let (a2, b2, _, _, e2, f2, _, _) = ( - x1.wrapping_add(y1), - a1, - b1, - c1, - x1.wrapping_add(d1), - e1, - f1, - g1, - ); - - [a2, b2, e2, f2] -} - -/// Process a block with the SHA-256 algorithm. -fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { - let k = &K32X4; - - macro_rules! schedule { - ($v0:expr, $v1:expr, $v2:expr, $v3:expr) => { - sha256msg2(add(sha256msg1($v0, $v1), sha256load($v2, $v3)), $v3) - }; - } - - macro_rules! rounds4 { - ($abef:ident, $cdgh:ident, $rest:expr) => {{ - $cdgh = sha256_digest_round_x2($cdgh, $abef, $rest); - $abef = sha256_digest_round_x2($abef, $cdgh, sha256swap($rest)); - }}; - } - - let mut abef = [state[0], state[1], state[4], state[5]]; - let mut cdgh = [state[2], state[3], state[6], state[7]]; - - // Rounds 0..64 - let mut w0 = [block[3], block[2], block[1], block[0]]; - rounds4!(abef, cdgh, add(k[0], w0)); - let mut w1 = [block[7], block[6], block[5], block[4]]; - rounds4!(abef, cdgh, add(k[1], w1)); - let mut w2 = [block[11], block[10], block[9], block[8]]; - rounds4!(abef, cdgh, add(k[2], w2)); - let mut w3 = [block[15], block[14], block[13], block[12]]; - rounds4!(abef, cdgh, add(k[3], w3)); - let mut w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, add(k[4], w4)); - w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, add(k[5], w0)); - w1 = schedule!(w2, w3, w4, w0); - rounds4!(abef, cdgh, add(k[6], w1)); - w2 = schedule!(w3, w4, w0, w1); - rounds4!(abef, cdgh, add(k[7], w2)); - w3 = schedule!(w4, w0, w1, w2); - rounds4!(abef, cdgh, add(k[8], w3)); - w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, add(k[9], w4)); - w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, add(k[10], w0)); - w1 = schedule!(w2, w3, w4, w0); - rounds4!(abef, cdgh, add(k[11], w1)); - w2 = schedule!(w3, w4, w0, w1); - rounds4!(abef, cdgh, add(k[12], w2)); - w3 = schedule!(w4, w0, w1, w2); - rounds4!(abef, cdgh, add(k[13], w3)); - w4 = schedule!(w0, w1, w2, w3); - rounds4!(abef, cdgh, add(k[14], w4)); - w0 = schedule!(w1, w2, w3, w4); - rounds4!(abef, cdgh, add(k[15], w0)); - - let [a, b, e, f] = abef; - let [c, d, g, h] = cdgh; - - state[0] = state[0].wrapping_add(a); - state[1] = state[1].wrapping_add(b); - state[2] = state[2].wrapping_add(c); - state[3] = state[3].wrapping_add(d); - state[4] = state[4].wrapping_add(e); - state[5] = state[5].wrapping_add(f); - state[6] = state[6].wrapping_add(g); - state[7] = state[7].wrapping_add(h); -} - -/// Process a block with the SHA-256 algorithm. (See more...) -/// -/// Internally, this uses functions which resemble the new Intel SHA instruction -/// sets, and so it's data locality properties may improve performance. However, -/// to benefit the most from this implementation, replace these functions with -/// x86 intrinsics to get a possible speed boost. -/// -/// # Implementation -/// -/// The `Sha256` algorithm is implemented with functions that resemble the new -/// Intel SHA instruction set extensions. These intructions fall into two -/// categories: message schedule calculation, and the message block 64-round -/// digest calculation. The schedule-related instructions allow 4 rounds to be -/// calculated as: -/// -/// ```ignore -/// use std::simd::[u32; 4]; -/// use self::crypto::sha2::{ -/// sha256msg1, -/// sha256msg2, -/// sha256load -/// }; -/// -/// fn schedule4_data(work: &mut [[u32; 4]], w: &[u32]) { -/// -/// // this is to illustrate the data order -/// work[0] = [w[3], w[2], w[1], w[0]); -/// work[1] = [w[7], w[6], w[5], w[4]); -/// work[2] = [w[11], w[10], w[9], w[8]); -/// work[3] = [w[15], w[14], w[13], w[12]); -/// } -/// -/// fn schedule4_work(work: &mut [[u32; 4]], t: usize) { -/// -/// // this is the core expression -/// work[t] = sha256msg2(sha256msg1(work[t - 4], work[t - 3]) + -/// sha256load(work[t - 2], work[t - 1]), -/// work[t - 1]) -/// } -/// ``` -/// -/// instead of 4 rounds of: -/// -/// ```ignore -/// fn schedule_work(w: &mut [u32], t: usize) { -/// w[t] = sigma1!(w[t - 2]) + w[t - 7] + sigma0!(w[t - 15]) + w[t - 16]; -/// } -/// ``` -/// -/// and the digest-related instructions allow 4 rounds to be calculated as: -/// -/// ```ignore -/// use std::simd::[u32; 4]; -/// use self::crypto::sha2::{K32X4, -/// sha256rnds2, -/// sha256swap -/// }; -/// -/// fn rounds4(state: &mut [u32; 8], work: &mut [[u32; 4]], t: usize) { -/// let [a, b, c, d, e, f, g, h]: [u32; 8] = *state; -/// -/// // this is to illustrate the data order -/// let mut abef = [a, b, e, f); -/// let mut cdgh = [c, d, g, h); -/// let temp = K32X4[t] + work[t]; -/// -/// // this is the core expression -/// cdgh = sha256rnds2(cdgh, abef, temp); -/// abef = sha256rnds2(abef, cdgh, sha256swap(temp)); -/// -/// *state = [abef[0], abef[1], cdgh[0], cdgh[1], -/// abef[2], abef[3], cdgh[2], cdgh[3]]; -/// } -/// ``` -/// -/// instead of 4 rounds of: -/// -/// ```ignore -/// fn round(state: &mut [u32; 8], w: &mut [u32], t: usize) { -/// let [a, b, c, mut d, e, f, g, mut h]: [u32; 8] = *state; -/// -/// h += big_sigma1!(e) + choose!(e, f, g) + K32[t] + w[t]; d += h; -/// h += big_sigma0!(a) + majority!(a, b, c); -/// -/// *state = [h, a, b, c, d, e, f, g]; -/// } -/// ``` -/// -/// **NOTE**: It is important to note, however, that these instructions are not -/// implemented by any CPU (at the time of this writing), and so they are -/// emulated in this library until the instructions become more common, and gain -/// support in LLVM (and GCC, etc.). -pub fn compress256(state: &mut [u32; 8], block: &[u8; 64]) { - let mut block_u32 = [0u32; BLOCK_LEN]; - for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { - *o = u32::from_be_bytes(chunk.try_into().unwrap()); - } - sha256_digest_block_u32(state, &block_u32); -} diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 468a61a7d..de115d442 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,47 +1,20 @@ //! SHA-512 - use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; use block_buffer::BlockBuffer; -use digest::{ - consts::{U128, U28, U32, U48, U64}, - generic_array::GenericArray, -}; +use core::slice::from_ref; +use digest::consts::{U128, U28, U32, U48, U64}; +use digest::generic_array::GenericArray; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -#[cfg(any(not(feature = "asm"), target_arch = "aarch64"))] -use crate::sha512_utils::compress512; - -#[cfg(all(feature = "asm", not(target_arch = "aarch64")))] -use sha2_asm::compress512; - type BlockSize = U128; -type Block = GenericArray; -/// A structure that represents that state of a digest computation for the -/// SHA-2 512 family of digest functions -#[derive(Clone)] -struct Engine512State { - h: [u64; 8], -} - -impl Engine512State { - fn new(h: &[u64; 8]) -> Engine512State { - Engine512State { h: *h } - } - - pub fn process_block(&mut self, block: &Block) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 128]) }; - compress512(&mut self.h, block); - } -} - -/// A structure that keeps track of the state of the Sha-512 operation and +/// Structure that keeps state of the Sha-512 operation and /// contains the logic necessary to perform the final calculations. #[derive(Clone)] struct Engine512 { len: u128, buffer: BlockBuffer, - state: Engine512State, + state: [u64; 8], } impl Engine512 { @@ -49,26 +22,26 @@ impl Engine512 { Engine512 { len: 0, buffer: Default::default(), - state: Engine512State::new(h), + state: *h, } } fn update(&mut self, input: &[u8]) { self.len += (input.len() as u128) << 3; let s = &mut self.state; - self.buffer.input_block(input, |d| s.process_block(d)); + self.buffer.input_blocks(input, |b| compress512(s, b)); } fn finish(&mut self) { let s = &mut self.state; self.buffer - .len128_padding_be(self.len, |d| s.process_block(d)); + .len128_padding_be(self.len, |d| compress512(s, from_ref(d))); } fn reset(&mut self, h: &[u64; STATE_LEN]) { self.len = 0; self.buffer.reset(); - self.state = Engine512State::new(h); + self.state = *h; } } @@ -101,8 +74,8 @@ impl FixedOutputDirty for Sha512 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = self.engine.state.h; - for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + let s = self.engine.state; + for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } @@ -144,8 +117,8 @@ impl FixedOutputDirty for Sha384 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = &self.engine.state.h[..6]; - for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + let s = &self.engine.state[..6]; + for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } @@ -187,8 +160,8 @@ impl FixedOutputDirty for Sha512Trunc256 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = &self.engine.state.h[..4]; - for (chunk, v) in out.chunks_exact_mut(8).zip(h.iter()) { + let s = &self.engine.state[..4]; + for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } @@ -230,11 +203,11 @@ impl FixedOutputDirty for Sha512Trunc224 { fn finalize_into_dirty(&mut self, out: &mut digest::Output) { self.engine.finish(); - let h = &self.engine.state.h; - for (chunk, v) in out.chunks_exact_mut(8).zip(h[..3].iter()) { + let s = &self.engine.state; + for (chunk, v) in out.chunks_exact_mut(8).zip(s[..3].iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } - out[24..28].copy_from_slice(&h[3].to_be_bytes()[..4]); + out[24..28].copy_from_slice(&s[3].to_be_bytes()[..4]); } } @@ -253,3 +226,25 @@ digest::impl_write!(Sha384); digest::impl_write!(Sha512); digest::impl_write!(Sha512Trunc224); digest::impl_write!(Sha512Trunc256); + +cfg_if::cfg_if! { + if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { + // TODO: replace after sha2-asm rework + fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + for block in blocks { + sha2_asm::compress512(state, block); + } + } + } else { + mod soft; + use soft::compress; + } +} + +pub fn compress512(state: &mut [u64; 8], blocks: &[GenericArray]) { + // SAFETY: GenericArray and [u8; 128] have + // exactly the same memory layout + #[allow(unsafe_code)] + let blocks: &[[u8; 128]] = unsafe { &*(blocks as *const _ as *const [[u8; 128]]) }; + compress(state, blocks) +} diff --git a/sha2/src/sha512_utils.rs b/sha2/src/sha512/soft.rs similarity index 66% rename from sha2/src/sha512_utils.rs rename to sha2/src/sha512/soft.rs index eaa9d51fc..f307f0e54 100644 --- a/sha2/src/sha512_utils.rs +++ b/sha2/src/sha512/soft.rs @@ -2,13 +2,11 @@ use crate::consts::{BLOCK_LEN, K64X2}; use core::convert::TryInto; -#[inline(always)] fn add(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])] } /// Not an intrinsic, but works like an unaligned load. -#[inline] fn sha512load(v0: [u64; 2], v1: [u64; 2]) -> [u64; 2] { [v1[1], v0[0]] } @@ -202,105 +200,17 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { state[7] = state[7].wrapping_add(h); } -/// Process a block with the SHA-512 algorithm. (See more...) -/// -/// Internally, this uses functions that resemble the new Intel SHA -/// instruction set extensions, but since no architecture seems to -/// have any designs, these may not be the final designs if and/or when -/// there are instruction set extensions with SHA-512. So to summarize: -/// SHA-1 and SHA-256 are being implemented in hardware soon (at the time -/// of this writing), but it doesn't look like SHA-512 will be hardware -/// accelerated any time soon. -/// -/// # Implementation -/// -/// These functions fall into two categories: message schedule calculation, and -/// the message block 64-round digest calculation. The schedule-related -/// functions allow 4 rounds to be calculated as: -/// -/// ```ignore -/// use std::simd::[u64; 2]; -/// use self::crypto::sha2::{ -/// sha512msg, -/// sha512load -/// }; -/// -/// fn schedule4_data(work: &mut [[u64; 2]], w: &[u64]) { -/// -/// // this is to illustrate the data order -/// work[0] = [w[1], w[0]); -/// work[1] = [w[3], w[2]); -/// work[2] = [w[5], w[4]); -/// work[3] = [w[7], w[6]); -/// work[4] = [w[9], w[8]); -/// work[5] = [w[11], w[10]); -/// work[6] = [w[13], w[12]); -/// work[7] = [w[15], w[14]); -/// } -/// -/// fn schedule4_work(work: &mut [[u64; 2]], t: usize) { -/// -/// // this is the core expression -/// work[t] = sha512msg(work[t - 8], -/// work[t - 7], -/// sha512load(work[t - 4], work[t - 3]), -/// work[t - 1]); -/// } -/// ``` -/// -/// instead of 4 rounds of: -/// -/// ```ignore -/// fn schedule_work(w: &mut [u64], t: usize) { -/// w[t] = sigma1!(w[t - 2]) + w[t - 7] + sigma0!(w[t - 15]) + w[t - 16]; -/// } -/// ``` -/// -/// and the digest-related functions allow 4 rounds to be calculated as: -/// -/// ```ignore -/// use std::simd::[u64; 2]; -/// use self::crypto::sha2::{K64X2, sha512rnd}; -/// -/// fn rounds4(state: &mut [u64; 8], work: &mut [[u64; 2]], t: usize) { -/// let [a, b, c, d, e, f, g, h]: [u64; 8] = *state; -/// -/// // this is to illustrate the data order -/// let mut ae = [a, e); -/// let mut bf = [b, f); -/// let mut cg = [c, g); -/// let mut dh = [d, h); -/// let [w1, w0) = K64X2[2*t] + work[2*t]; -/// let [w3, w2) = K64X2[2*t + 1] + work[2*t + 1]; -/// -/// // this is the core expression -/// dh = sha512rnd(ae, bf, cg, dh, w0); -/// cg = sha512rnd(dh, ae, bf, cg, w1); -/// bf = sha512rnd(cg, dh, ae, bf, w2); -/// ae = sha512rnd(bf, cg, dh, ae, w3); -/// -/// *state = [ae[0], bf[0], cg[0], dh[0], -/// ae[1], bf[1], cg[1], dh[1]]; -/// } -/// ``` -/// -/// instead of 4 rounds of: -/// -/// ```ignore -/// fn round(state: &mut [u64; 8], w: &mut [u64], t: usize) { -/// let [a, b, c, mut d, e, f, g, mut h]: [u64; 8] = *state; -/// -/// h += big_sigma1!(e) + choose!(e, f, g) + K64[t] + w[t]; d += h; -/// h += big_sigma0!(a) + majority!(a, b, c); -/// -/// *state = [h, a, b, c, d, e, f, g]; -/// } -/// ``` -/// -pub fn compress512(state: &mut [u64; 8], block: &[u8; 128]) { - let mut block_u64 = [0u64; BLOCK_LEN]; - for (o, chunk) in block_u64.iter_mut().zip(block.chunks_exact(8)) { - *o = u64::from_be_bytes(chunk.try_into().unwrap()); + +pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + let mut block_u32 = [0u64; BLOCK_LEN]; + // since LLVM can't properly use aliasing yet it will make + // unnecessary state stores without this copy + let mut state_cpy = *state; + for block in blocks { + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(8)) { + *o = u64::from_be_bytes(chunk.try_into().unwrap()); + } + sha512_digest_block_u64(&mut state_cpy, &block_u32); } - sha512_digest_block_u64(state, &block_u64); + *state = state_cpy; } diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index 72de11686..b9cb8628a 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -1,5 +1,3 @@ -#![no_std] - use digest::dev::{digest_test, one_million_a}; use digest::new_test; From f4f6ed5304f34cafab36fa48e8725ce2573dd054 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 24 Jun 2020 17:20:15 +0300 Subject: [PATCH 091/373] Add build status links (#176) --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 761d1fd81..c28bc0d54 100644 --- a/README.md +++ b/README.md @@ -14,21 +14,21 @@ BLAKE2, SHA-2 or SHA-3. | Name | Algorithm | Crates.io | Documentation | Build Status | [Security] | |-------------|------------|-----------|---------------|--------------|------------| -| `blake2` | [BLAKE2] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push) | :green_heart: | -| `gost94` | [GOST94] (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push) | :yellow_heart: | -| `groestl` | [Grøstl] (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push) | :green_heart: | -| `k12` | [KangarooTwelve] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push) | :green_heart: | -| `md2` | [MD2] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push) | :broken_heart: | -| `md4` | [MD4] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push) | :broken_heart: | -| `md-5` [:exclamation:] | [MD5] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push) | :broken_heart: | -| `ripemd160` | [RIPEMD-160] | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push) | :green_heart: | -| `ripemd320` | [RIPEMD-320] | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | ![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push) | :green_heart:* | -| `sha-1` [:exclamation:] | [SHA-1] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push) | :broken_heart: | -| `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push) | :green_heart: | -| `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push) | :green_heart: | -| `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push) | :green_heart: | -| `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push) | :yellow_heart: | -| `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push) | :green_heart: | +| `blake2` | [BLAKE2] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | [![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:blake2+branch:master) | :green_heart: | +| `gost94` | [GOST94] (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | [![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:gost94+branch:master) | :yellow_heart: | +| `groestl` | [Grøstl] (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | [![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:groestl+branch:master) | :green_heart: | +| `k12` | [KangarooTwelve] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | [![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:k12+branch:master) | :green_heart: | +| `md2` | [MD2] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | [![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md2+branch:master) | :broken_heart: | +| `md4` | [MD4] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | [![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md4+branch:master) | :broken_heart: | +| `md-5` [:exclamation:] | [MD5] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | [![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md5+branch:master) | :broken_heart: | +| `ripemd160` | [RIPEMD-160] | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd160+branch:master) | :green_heart: | +| `ripemd320` | [RIPEMD-320] | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd320+branch:master) | :green_heart:* | +| `sha-1` [:exclamation:] | [SHA-1] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | [![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha1+branch:master) | :broken_heart: | +| `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | [![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha2+branch:master) | :green_heart: | +| `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | [![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha3+branch:master) | :green_heart: | +| `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | [![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:shabal+branch:master) | :green_heart: | +| `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | [![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:streebog+branch:master) | :yellow_heart: | +| `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | [![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:whirlpool+branch:master) | :green_heart: | NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` (and `crypto-mac`) traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. From fb7186fb8381a649fe6427ae990e3fdc6b38fe5d Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 24 Jun 2020 17:52:44 +0300 Subject: [PATCH 092/373] Release sha-1 v0.9.1 and sha2 v0.9.1 (#177) --- Cargo.lock | 6 +++--- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7ab26debf..6381d6aac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -91,7 +91,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.8.0" +version = "0.9.0" dependencies = [ "block-buffer", "digest", @@ -222,7 +222,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "cfg-if", @@ -245,7 +245,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index bca4ea7e0..9fb07c94b 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-06-24) +### Added +- x86 hardware acceleration via SHA extension instrinsics. ([#167]) + +[#167]: https://github.com/RustCrypto/hashes/pull/167 + ## 0.9.0 (2020-06-09) ### Changed - Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index eebb7cb4c..7eccadda8 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.0" +version = "0.9.1" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 7ae614dd7..9c6d5895e 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-06-24) +### Added +- x86 hardware acceleration of SHA-256 via SHA extension instrinsics. ([#167]) + +[#167]: https://github.com/RustCrypto/hashes/pull/167 + ## 0.9.0 (2020-06-09) ### Changed - Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index ac3893458..61449938c 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.0" +version = "0.9.1" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From 4b9939e232143fde68d1ed761f5c962d4fa8527c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Wed, 24 Jun 2020 17:55:55 +0300 Subject: [PATCH 093/373] fix clippy warning --- blake2/src/blake2.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 6469448aa..4091365f1 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -156,7 +156,7 @@ macro_rules! blake2_impl { t0: 0, m0: [0; 16], - h0: h0, + h0, } } From 22f903a754ff4b846101869bc151d3879d7e77d3 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Sun, 28 Jun 2020 13:51:39 +0300 Subject: [PATCH 094/373] bump md5, ripemd160 and sha3 to v0.9.1 (#179) --- Cargo.lock | 6 +++--- md5/CHANGELOG.md | 8 ++++++++ md5/Cargo.toml | 2 +- ripemd160/CHANGELOG.md | 8 ++++++++ ripemd160/Cargo.toml | 2 +- sha3/CHANGELOG.md | 9 +++++++++ sha3/Cargo.toml | 2 +- 7 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6381d6aac..e459b4852 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,7 +150,7 @@ checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "md-5" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "digest", @@ -202,7 +202,7 @@ checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" [[package]] name = "ripemd160" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "digest", @@ -268,7 +268,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "digest", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index bf48c6b5a..5b573e207 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-06-28) +### Changed +- Update to `block-buffer` v0.9 ([#164]) +- Update to `opaque-debug` v0.3 ([#168]) + +[#164]: https://github.com/RustCrypto/hashes/pull/164 +[#168]: https://github.com/RustCrypto/hashes/pull/168 + ## 0.9.0 (2020-06-09) ### Changed - Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index a95a3e8f8..bf3292926 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.9.0" +version = "0.9.1" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd160/CHANGELOG.md b/ripemd160/CHANGELOG.md index 65ec0e162..22305f2b8 100644 --- a/ripemd160/CHANGELOG.md +++ b/ripemd160/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-06-28) +### Changed +- Update to `block-buffer` v0.9 ([#164]) +- Update to `opaque-debug` v0.3 ([#168]) + +[#164]: https://github.com/RustCrypto/hashes/pull/164 +[#168]: https://github.com/RustCrypto/hashes/pull/168 + ## 0.9.0 (2020-06-10) ### Changed - Update to `digest` v0.9 release ([#155]) diff --git a/ripemd160/Cargo.toml b/ripemd160/Cargo.toml index b36a30e00..9f1861621 100644 --- a/ripemd160/Cargo.toml +++ b/ripemd160/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd160" -version = "0.9.0" +version = "0.9.1" description = "RIPEMD-160 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 280606a28..6d2b6b7bc 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.9.1 (2020-06-28) +### Changed +- Update to `block-buffer` v0.9 ([#164]) +- Update to `opaque-debug` v0.3 ([#168]) + +[#164]: https://github.com/RustCrypto/hashes/pull/164 +[#168]: https://github.com/RustCrypto/hashes/pull/168 + ## 0.9.0 (2020-06-10) ### Changed - Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 0728d6a31..57824552d 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.9.0" +version = "0.9.1" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From afc167ff573208b49f8a03851625c771aad9b09d Mon Sep 17 00:00:00 2001 From: Lucas Kent Date: Sun, 5 Jul 2020 21:21:14 +1000 Subject: [PATCH 095/373] result -> finalize in readme (#180) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c28bc0d54..bd34d76ea 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ let data = b"Hello world!"; hasher.update(data); // `update` can be called repeatedly and is generic over `AsRef<[u8]>` hasher.update("String data"); -// Note that calling `result()` consumes hasher +// Note that calling `finalize()` consumes hasher let hash = hasher.finalize(); println!("Result: {:x}", hash); ``` From c5fbbc5481c5ba8ec6c3aca8a334d9d8168acaa8 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 10 Aug 2020 20:15:02 +0300 Subject: [PATCH 096/373] Use SVG logo (#186) --- blake2/src/lib.rs | 5 ++++- gost94/src/lib.rs | 5 ++++- groestl/src/lib.rs | 5 ++++- k12/src/lib.rs | 5 ++++- md2/src/lib.rs | 5 ++++- md4/src/lib.rs | 5 ++++- md5/src/lib.rs | 5 ++++- ripemd160/src/lib.rs | 5 ++++- ripemd320/src/lib.rs | 5 ++++- sha1/src/lib.rs | 5 ++++- sha2/src/lib.rs | 5 ++++- sha3/src/lib.rs | 5 ++++- shabal/src/lib.rs | 5 ++++- streebog/src/lib.rs | 5 ++++- whirlpool/src/lib.rs | 5 ++++- 15 files changed, 60 insertions(+), 15 deletions(-) diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index a58d6ec2f..28cb1d9df 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -82,7 +82,10 @@ //! [2]: https://github.com/cesarb/blake2-rfc #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd_asm", feature(asm))] diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index ea4b5c246..7754c3c49 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -26,7 +26,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index de2047a08..d4c8155ec 100755 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -33,7 +33,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(rust_2018_idioms)] diff --git a/k12/src/lib.rs b/k12/src/lib.rs index df2194cb8..8c467d869 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -9,7 +9,10 @@ // #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 7a26a0225..07ca1e68c 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -24,7 +24,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 8fcf148ea..f2360fbf8 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -24,7 +24,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(rust_2018_idioms)] #![allow(clippy::many_single_char_names)] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 1b6a88408..2bb9913d5 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -24,7 +24,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs index c685a1a57..544d4ae2e 100644 --- a/ripemd160/src/lib.rs +++ b/ripemd160/src/lib.rs @@ -24,7 +24,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs index 12f4af229..ba6f32ce0 100644 --- a/ripemd320/src/lib.rs +++ b/ripemd320/src/lib.rs @@ -25,7 +25,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 59d51e5d2..3ad62ce86 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -24,7 +24,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 08829eab2..326211e14 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -53,7 +53,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 186e0633b..18737e774 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -39,7 +39,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index e15c70c5a..f89415b06 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -35,7 +35,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 9631f4f44..c8792146b 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -42,7 +42,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 4f86aff57..830064167 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -36,7 +36,10 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] -#![doc(html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo_small.png")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] From 45cffec64b66cce8ab4ce06ee80863caaff6e52c Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 10 Aug 2020 20:44:51 +0300 Subject: [PATCH 097/373] Update streebog documentation (#184) --- Cargo.lock | 33 ++++++++++++++++++++------------- streebog/CHANGELOG.md | 6 ++++++ streebog/Cargo.toml | 2 +- streebog/src/lib.rs | 23 ++++++++--------------- streebog/src/streebog.rs | 2 -- 5 files changed, 35 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e459b4852..9c68ff02d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] name = "cc" -version = "1.0.54" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" +checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518" [[package]] name = "cfg-if" @@ -55,9 +55,9 @@ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] name = "cpuid-bool" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d375c433320f6c5057ae04a04376eef4d04ce2801448cf8863a78da99107be4" +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" [[package]] name = "crypto-mac" @@ -82,11 +82,12 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2664c2cf08049036f31015b04c6ac3671379a1d86f52ed2416893f16022deb" +checksum = "60fb4bb6bba52f78a471264d9a3b7d026cc0af47b22cd2cffbc0b787ca003e63" dependencies = [ "typenum", + "version_check", ] [[package]] @@ -144,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.71" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" +checksum = "a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10" [[package]] name = "md-5" @@ -196,9 +197,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "proc-macro-hack" -version = "0.5.16" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" +checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" [[package]] name = "ripemd160" @@ -259,9 +260,9 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "817aaf5c624a7ccba7b46fb2caea2c3192831a5a2e5f66a288de21eac5e6784c" +checksum = "92cfa120723b595090343400d71e4921ba4fbc7d0d48718d72c20b3348469678" dependencies = [ "cc", ] @@ -289,7 +290,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "digest", @@ -309,6 +310,12 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +[[package]] +name = "version_check" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" + [[package]] name = "whirlpool" version = "0.9.0" diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index 9faeeedd1..5db8d1d86 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-08-10) +### Changed +- Documentation update (#[184]) + +[#184]: https://github.com/RustCrypto/hashes/pull/184 + ## 0.9.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 6566986b5..daee6ffe2 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.9.0" +version = "0.9.1" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index c8792146b..7b20ada64 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -1,14 +1,7 @@ -//! An implementation of the [Streebog][1] cryptographic hash function. It's -//! officially known as GOST R 34.11-2012. +//! An implementation of the [Streebog] cryptographic hash function defined +//! in GOST R 34.11-2012. //! -//! This implementation returns digest result using little-endian encoding -//! in the form of array with least significant octets first, thus compared to -//! specifications which uses big-endian result will have "reversed" order of -//! octets. -//! -//! # Usage -//! -//! An example of using `Streebog256` and `Streebog256` is: +//! # Example //! //! ```rust //! use streebog::{Digest, Streebog256, Streebog512}; @@ -36,10 +29,10 @@ //! ")[..]); //! ``` //! -//! Also see [RustCrypto/hashes][2] readme. +//! Also see [RustCrypto/hashes][1] readme. //! -//! [1]: https://en.wikipedia.org/wiki/Streebog -//! [2]: https://github.com/RustCrypto/hashes +//! [Streebog]: https://en.wikipedia.org/wiki/Streebog +//! [1]: https://github.com/RustCrypto/hashes #![no_std] #![doc( @@ -62,10 +55,10 @@ pub use digest::{self, Digest}; #[cfg(feature = "std")] use digest::Update; -/// Streebog256 +/// Streebog-256 cryptographic hash function pub type Streebog256 = streebog::Streebog; -/// Streebog512 +/// Streebog-256 cryptographic hash function pub type Streebog512 = streebog::Streebog; opaque_debug::implement!(Streebog512); diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs index e0324c917..9856d6621 100644 --- a/streebog/src/streebog.rs +++ b/streebog/src/streebog.rs @@ -1,5 +1,3 @@ -//! Streebog (GOST R 34.11-2012) - use block_buffer::{block_padding::ZeroPadding, BlockBuffer}; use core::marker::PhantomData; use digest::consts::U64; From 9756943fd4a3a57197f8a834da2723a544a9a6bb Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 13 Aug 2020 13:29:26 +0300 Subject: [PATCH 098/373] streebog: fix Streebog512 doc typo, minor lib-level doc tweak (#187) --- Cargo.lock | 6 +++--- streebog/CHANGELOG.md | 6 ++++++ streebog/Cargo.toml | 2 +- streebog/src/lib.rs | 14 +++++++++----- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9c68ff02d..4f9a4a24b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60fb4bb6bba52f78a471264d9a3b7d026cc0af47b22cd2cffbc0b787ca003e63" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" dependencies = [ "typenum", "version_check", @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.9.1" +version = "0.9.2" dependencies = [ "block-buffer", "digest", diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index 5db8d1d86..a00b1abc7 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.2 (2020-08-13) +### Changed +- Documentation update (#[185]) + +[#185]: https://github.com/RustCrypto/hashes/pull/185 + ## 0.9.1 (2020-08-10) ### Changed - Documentation update (#[184]) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index daee6ffe2..7d8436b82 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.9.1" +version = "0.9.2" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 7b20ada64..53fc7eb94 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -1,7 +1,9 @@ //! An implementation of the [Streebog] cryptographic hash function defined //! in GOST R 34.11-2012. //! -//! # Example +//! # Usage +//! Hasher functionality is expressed via traits defined in the [`digest`] +//! crate. //! //! ```rust //! use streebog::{Digest, Streebog256, Streebog512}; @@ -10,7 +12,9 @@ //! // create a hasher object, to use it do not forget to import `Digest` trait //! let mut hasher = Streebog256::new(); //! // write input message -//! hasher.update(b"my message"); +//! hasher.update(b"my"); +//! hasher.update(b" "); +//! hasher.update(b"message"); //! // read hash digest (it will consume hasher) //! let result = hasher.finalize(); //! @@ -29,10 +33,10 @@ //! ")[..]); //! ``` //! -//! Also see [RustCrypto/hashes][1] readme. +//! See [RustCrypto/hashes][1] readme for additional examples. //! //! [Streebog]: https://en.wikipedia.org/wiki/Streebog -//! [1]: https://github.com/RustCrypto/hashes +//! [1]: https://github.com/RustCrypto/hashes/blob/master/README.md#usage #![no_std] #![doc( @@ -58,7 +62,7 @@ use digest::Update; /// Streebog-256 cryptographic hash function pub type Streebog256 = streebog::Streebog; -/// Streebog-256 cryptographic hash function +/// Streebog-512 cryptographic hash function pub type Streebog512 = streebog::Streebog; opaque_debug::implement!(Streebog512); From a263f6841b164774b4cea54e201d096ea8747a3a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 13 Aug 2020 12:54:48 +0000 Subject: [PATCH 099/373] fix changelog links --- streebog/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index a00b1abc7..da35bcac0 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -7,13 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## 0.9.2 (2020-08-13) ### Changed -- Documentation update (#[185]) +- Documentation update ([#185]) [#185]: https://github.com/RustCrypto/hashes/pull/185 ## 0.9.1 (2020-08-10) ### Changed -- Documentation update (#[184]) +- Documentation update ([#184]) [#184]: https://github.com/RustCrypto/hashes/pull/184 From 40d06ba1355a49d6cb71ba635a4de075eda1ff5a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 18 Aug 2020 20:14:10 +0000 Subject: [PATCH 100/373] Add Dependabot --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..5cde1657c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: +- package-ecosystem: cargo + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 From 4b43545d06799c52f02344476b253ebc0ed2f49f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2020 14:30:25 +0000 Subject: [PATCH 101/373] build(deps): bump libc from 0.2.74 to 0.2.75 (#190) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4f9a4a24b..353ab4471 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.74" +version = "0.2.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f02823cf78b754822df5f7f268fb59822e7296276d3e069d8e8cb26a14bd10" +checksum = "55821a41348652c211bf26f6453cb9397af531fc358a33752c864a4f5bccc20e" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 7eccadda8..af36d7940 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.68", optional = true } +libc = { version = "0.2.75", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 61449938c..bc5fd6df3 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.68", optional = true } +libc = { version = "0.2.75", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From d8e4f18e2512b2e96bc0a5efc83befd9e114d000 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 06:38:35 +0000 Subject: [PATCH 102/373] build(deps): bump libc from 0.2.75 to 0.2.76 (#191) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 353ab4471..c0416e1d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.75" +version = "0.2.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55821a41348652c211bf26f6453cb9397af531fc358a33752c864a4f5bccc20e" +checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index af36d7940..7d7fb8e69 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.75", optional = true } +libc = { version = "0.2.76", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index bc5fd6df3..74abe0752 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.75", optional = true } +libc = { version = "0.2.76", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 0b9b8f5aee168f8eb9ac59a8932c3adf947cb406 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2020 14:57:12 +0000 Subject: [PATCH 103/373] build(deps): bump libc from 0.2.76 to 0.2.77 (#192) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0416e1d3..0064048db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.76" +version = "0.2.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" +checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 7d7fb8e69..e6bc13bbb 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.76", optional = true } +libc = { version = "0.2.77", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 74abe0752..f83f70bf7 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.76", optional = true } +libc = { version = "0.2.77", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 329c06d189efe23f30bd664707039c287cb4213c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2020 09:19:19 +0300 Subject: [PATCH 104/373] build(deps): bump libc from 0.2.77 to 0.2.78 (#194) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0064048db..ac24f42ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.77" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" +checksum = "aa7087f49d294270db4e1928fc110c976cd4b9e5a16348e0a1df09afa99e6c98" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index e6bc13bbb..20582b1f5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.77", optional = true } +libc = { version = "0.2.78", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index f83f70bf7..0070ec1d8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.77", optional = true } +libc = { version = "0.2.78", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From dd63f5402784462090f5cdfdcfb183f3af69abd6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2020 12:57:38 +0000 Subject: [PATCH 105/373] build(deps): bump libc from 0.2.78 to 0.2.79 (#195) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac24f42ae..eb53a5729 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa7087f49d294270db4e1928fc110c976cd4b9e5a16348e0a1df09afa99e6c98" +checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 20582b1f5..a4376f012 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.78", optional = true } +libc = { version = "0.2.79", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 0070ec1d8..2502177fb 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.78", optional = true } +libc = { version = "0.2.79", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 5bf409234caf361f7c86617f54219668caa0169f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 6 Oct 2020 16:51:51 -0700 Subject: [PATCH 106/373] README.md(s): add Zulip badges (#196) --- README.md | 7 ++++++- blake2/README.md | 3 +++ gost94/README.md | 3 +++ groestl/README.md | 3 +++ k12/README.md | 2 ++ md2/README.md | 3 +++ md4/README.md | 3 +++ md5/README.md | 3 +++ ripemd160/README.md | 3 +++ ripemd320/README.md | 3 +++ sha1/README.md | 3 +++ sha2/README.md | 3 +++ sha3/README.md | 3 +++ shabal/README.md | 3 +++ streebog/README.md | 3 +++ whirlpool/README.md | 3 +++ 16 files changed, 50 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bd34d76ea..864d79b1d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RustCrypto: hashes +# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] Collection of [cryptographic hash functions][1] written in pure Rust. @@ -193,6 +193,11 @@ Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. +[//]: # (badges) + +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes + [//]: # (footnotes) [1]: https://en.wikipedia.org/wiki/Cryptographic_hash_function diff --git a/blake2/README.md b/blake2/README.md index a592796c7..913b729e9 100644 --- a/blake2/README.md +++ b/blake2/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [BLAKE2 hash function][1] family. @@ -44,6 +45,8 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/blake2/badge.svg [docs-link]: https://docs.rs/blake2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2 diff --git a/gost94/README.md b/gost94/README.md index c3692e613..a1bd9fd98 100644 --- a/gost94/README.md +++ b/gost94/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [GOST R 34.11-94 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/gost94/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/gost94/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Agost94 diff --git a/groestl/README.md b/groestl/README.md index 645242618..b22a23313 100644 --- a/groestl/README.md +++ b/groestl/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [Grøstl hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/groestl/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/groestl/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Agroestl diff --git a/k12/README.md b/k12/README.md index c03261308..844711ff4 100644 --- a/k12/README.md +++ b/k12/README.md @@ -46,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/k12/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ak12 diff --git a/md2/README.md b/md2/README.md index 605c22e42..877765562 100644 --- a/md2/README.md +++ b/md2/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [MD2 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/md2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd2 diff --git a/md4/README.md b/md4/README.md index 63f2112f2..867b69e5e 100644 --- a/md4/README.md +++ b/md4/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [MD4 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/md4/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md4/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd4 diff --git a/md5/README.md b/md5/README.md index bc9e388c4..56af1749b 100644 --- a/md5/README.md +++ b/md5/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [MD5 hash function][1]. @@ -58,6 +59,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/md-5/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Amd5 diff --git a/ripemd160/README.md b/ripemd160/README.md index 619a68d8e..29a18e4a0 100644 --- a/ripemd160/README.md +++ b/ripemd160/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [RIPEMD160 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/ripemd160/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd160/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd160 diff --git a/ripemd320/README.md b/ripemd320/README.md index 9965dca71..ba34c4c46 100644 --- a/ripemd320/README.md +++ b/ripemd320/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [RIPEMD320 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/ripemd320/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd320/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd320 diff --git a/sha1/README.md b/sha1/README.md index 395060511..dea669895 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [SHA-1 hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/sha-1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1 diff --git a/sha2/README.md b/sha2/README.md index cbcde5eaa..594e95324 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [SHA-2 hash function family][1] @@ -48,6 +49,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/sha2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha2 diff --git a/sha3/README.md b/sha3/README.md index 88d997c79..caef5d594 100644 --- a/sha3/README.md +++ b/sha3/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [SHA-3 (Keccak) hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/sha3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha3/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha3 diff --git a/shabal/README.md b/shabal/README.md index 585b9b3ae..92b926f55 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [Shabal][1] cryptographic hash algorithm. @@ -74,6 +75,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/shabal/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/shabal/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ashabal diff --git a/streebog/README.md b/streebog/README.md index a0e636be1..b8b4c7acc 100644 --- a/streebog/README.md +++ b/streebog/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [Streebog (GOST R 34.11-2012)][1] hash function. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/streebog/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/streebog/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Astreebog diff --git a/whirlpool/README.md b/whirlpool/README.md index ed6a65e56..e4dfc28f9 100644 --- a/whirlpool/README.md +++ b/whirlpool/README.md @@ -4,6 +4,7 @@ [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] Pure Rust implementation of the [Whirlpool hash function][1]. @@ -45,6 +46,8 @@ dual licensed as above, without any additional terms or conditions. [docs-link]: https://docs.rs/whirlpool/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/whirlpool/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Awhirlpool From 1e47fbc48b2172bd5542aaa1c3cb42aeafc84f5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Oct 2020 17:06:09 +0000 Subject: [PATCH 107/373] build(deps): bump cfg-if from 0.1.10 to 1.0.0 (#197) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eb53a5729..76e0126bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,9 +49,9 @@ checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518" [[package]] name = "cfg-if" -version = "0.1.10" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpuid-bool" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index a4376f012..23af8429c 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -18,7 +18,7 @@ name = "sha1" digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" -cfg-if = "0.1" +cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 2502177fb..2301a43b7 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -18,7 +18,7 @@ categories = ["cryptography", "no-std"] digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" -cfg-if = "0.1" +cfg-if = "1.0" sha2-asm = { version = "0.5", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] From bb71874240a8e9f381aa84116168795cedd33357 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 26 Oct 2020 11:34:18 -0700 Subject: [PATCH 108/373] blake2 v0.9.1 (#201) --- Cargo.lock | 2 +- blake2/CHANGELOG.md | 8 ++++++++ blake2/Cargo.toml | 2 +- sha3/src/paddings.rs | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76e0126bd..ac916cb76 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "blake2" -version = "0.9.0" +version = "0.9.1" dependencies = [ "crypto-mac", "digest", diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 58ede72ee..22ee2af94 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.1 (2020-10-26) +### Changed +- Bump `opaque-debug` to v0.3 ([#168]) +- Bump `block-buffer` to v0.9 ([#164]) + +[#168]: https://github.com/RustCrypto/hashes/pull/168 +[#164]: https://github.com/RustCrypto/hashes/pull/164 + ## 0.9.0 (2020-06-10) ### Added - Support for Persona and Salt ([#78]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 6e2d7cb70..57d276bbc 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.9.0" +version = "0.9.1" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha3/src/paddings.rs b/sha3/src/paddings.rs index b9ae53210..d11c87f89 100644 --- a/sha3/src/paddings.rs +++ b/sha3/src/paddings.rs @@ -11,7 +11,7 @@ macro_rules! impl_padding { #[inline(always)] fn pad_block(block: &mut [u8], pos: usize) -> Result<(), PadError> { if pos >= block.len() { - Err(PadError)? + return Err(PadError); } block[pos] = $pad; block[pos + 1..].iter_mut().for_each(|b| *b = 0); From 154d90d186f08a1f2e2665262002f5185acc06ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2020 07:42:42 +0000 Subject: [PATCH 109/373] build(deps): bump libc from 0.2.79 to 0.2.80 (#199) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac916cb76..e11fbbdce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743" +checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 23af8429c..cc11543b8 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.79", optional = true } +libc = { version = "0.2.80", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 2301a43b7..6ed3822c8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.79", optional = true } +libc = { version = "0.2.80", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 07cc0d43382e402b8b4e5da1b098fe72253cfb39 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 3 Nov 2020 06:33:58 -0600 Subject: [PATCH 110/373] Fix panic on arithmetic overflow (#193) --- Cargo.lock | 2 +- gost94/CHANGELOG.md | 8 +++- gost94/Cargo.toml | 2 +- gost94/src/gost94.rs | 46 ++++++++--------------- gost94/tests/data/arithmetic_overflow.bin | 1 + gost94/tests/lib.rs | 9 +++++ 6 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 gost94/tests/data/arithmetic_overflow.bin diff --git a/Cargo.lock b/Cargo.lock index e11fbbdce..55e82e88d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,7 +92,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.9.0" +version = "0.9.1" dependencies = [ "block-buffer", "digest", diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index 3d4be01ff..120bd45e7 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,7 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.9.0 (2020-06-12) +## 0.9.1 (2020-11-03) +### Fixed +- Arithmetic overflow bug. ([#193]) + +[#193]: https://github.com/RustCrypto/hashes/pull/193 + +## 0.9.0 (2020-06-12) [YANKED] ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) - Bump `block-buffer` to v0.8 release ([#164]) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 1eb60083f..9de6ffbfb 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.9.0" +version = "0.9.1" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/gost94/src/gost94.rs b/gost94/src/gost94.rs index c97cdd75b..8bbb0fe5a 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94.rs @@ -163,40 +163,19 @@ impl Gost94State { } fn update_sigma(&mut self, m: &Block) { - let mut buf = [0u64; 4]; - for (o, chunk) in buf.iter_mut().zip(m.chunks_exact(8)) { - *o = u64::from_le_bytes(chunk.try_into().unwrap()); - } - let mut over = (0u64, false); - for (a, b) in self.sigma.iter_mut().zip(buf.iter()) { - if over.1 { - over = a.overflowing_add(*b); - *a = over.0 + 1; - } else { - over = a.overflowing_add(*b); - *a = over.0; - } + let mut carry = 0; + for (a, chunk) in self.sigma.iter_mut().zip(m.chunks_exact(8)) { + let b = u64::from_le_bytes(chunk.try_into().unwrap()); + adc(a, b, &mut carry); } } fn update_n(&mut self, len: usize) { - let (res, over) = self.n[0].overflowing_add((len as u64) << 3); - self.n[0] = res; - if over { - let (res, over) = self.n[1].overflowing_add(1 + ((len as u64) >> 61)); - self.n[1] = res; - if over { - let (res, over) = self.n[2].overflowing_add(1); - self.n[2] = res; - if over { - let (res, over) = self.n[3].overflowing_add(1); - self.n[3] = res; - if over { - panic!("Message longer than 2^256-1") - } - } - } - } + let mut carry = 0; + adc(&mut self.n[0], (len as u64) << 3, &mut carry); + adc(&mut self.n[1], (len as u64) >> 61, &mut carry); + adc(&mut self.n[2], 0, &mut carry); + adc(&mut self.n[3], 0, &mut carry); } fn process_block(&mut self, block: &GenericArray) { @@ -279,5 +258,12 @@ impl Reset for Gost94 { } } +#[inline(always)] +fn adc(a: &mut u64, b: u64, carry: &mut u64) { + let ret = (*a as u128) + (b as u128) + (*carry as u128); + *a = ret as u64; + *carry = (ret >> 64) as u64; +} + opaque_debug::implement!(Gost94); digest::impl_write!(Gost94); diff --git a/gost94/tests/data/arithmetic_overflow.bin b/gost94/tests/data/arithmetic_overflow.bin new file mode 100644 index 000000000..0227deecd --- /dev/null +++ b/gost94/tests/data/arithmetic_overflow.bin @@ -0,0 +1 @@ +00ZZZZZZZZZZZZZZ00000000000000000¥ZZZZZZZZZZZZZZ00000000000000000ZZZZZZZZZZZZZZZ0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/gost94/tests/lib.rs b/gost94/tests/lib.rs index fc1d1e5cd..8ff2c04db 100644 --- a/gost94/tests/lib.rs +++ b/gost94/tests/lib.rs @@ -67,3 +67,12 @@ fn gost_engine_tests() { hex!("e5d3ac4ea3f67896c51ff919cedb9405ad771e39f0f2eab103624f9a758e506f"), ); } + +#[test] +fn arithmetic_overflow_regression() { + use digest::Digest; + + let mut h = gost94::Gost94Test::default(); + h.update(&include_bytes!("data/arithmetic_overflow.bin")[..]); + h.finalize().as_slice(); +} From 13e226a83a66f6cc330e453d58954c1c267a7f99 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 3 Nov 2020 15:00:15 +0000 Subject: [PATCH 111/373] Add enforce-soft feature to sha1 and sha2 (#203) --- Cargo.lock | 4 ++-- sha1/CHANGELOG.md | 10 ++++++++++ sha1/Cargo.toml | 4 +++- sha1/src/compress.rs | 5 ++++- sha2/CHANGELOG.md | 10 ++++++++++ sha2/Cargo.toml | 5 ++++- sha2/src/sha256.rs | 5 ++++- sha2/src/sha512.rs | 5 ++++- 8 files changed, 41 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 55e82e88d..1706b4524 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -223,7 +223,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.1" +version = "0.9.2" dependencies = [ "block-buffer", "cfg-if", @@ -246,7 +246,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.1" +version = "0.9.2" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 9fb07c94b..5a76f1cf6 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.2 (2020-11-04) +### Added +- `force-soft` feature to enforce use of software implementation. ([#203]) + +### Changed +- `cfg-if` dependency updated to v1.0. ([#197]) + +[#197]: https://github.com/RustCrypto/hashes/pull/197 +[#203]: https://github.com/RustCrypto/hashes/pull/203 + ## 0.9.1 (2020-06-24) ### Added - x86 hardware acceleration via SHA extension instrinsics. ([#167]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index cc11543b8..1aac6d1e5 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.1" +version = "0.9.2" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -35,6 +35,8 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha1-asm", "libc"] +# Force software implementation +force-soft = [] # DEPRECATED: use `asm` instead asm-aarch64 = ["asm"] diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index d00dbd1a0..af35679be 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -2,7 +2,10 @@ use digest::consts::U64; use digest::generic_array::GenericArray; cfg_if::cfg_if! { - if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + if #[cfg(feature = "force-soft")] { + mod soft; + use soft::compress as compress_inner; + } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { mod soft; mod aarch64; use aarch64::compress as compress_inner; diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 9c6d5895e..922f32d25 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.2 (2020-11-04) +### Added +- `force-soft` feature to enforce use of software implementation. ([#203]) + +### Changed +- `cfg-if` dependency updated to v1.0. ([#197]) + +[#197]: https://github.com/RustCrypto/hashes/pull/197 +[#203]: https://github.com/RustCrypto/hashes/pull/203 + ## 0.9.1 (2020-06-24) ### Added - x86 hardware acceleration of SHA-256 via SHA extension instrinsics. ([#167]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 6ed3822c8..5b63154a4 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.1" +version = "0.9.2" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -35,7 +35,10 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha2-asm", "libc"] +# Expose compress function compress = [] +# Force software implementation +force-soft = [] # DEPRECATED: use `asm` instead asm-aarch64 = ["asm"] diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 8ee97bedd..8dade9f89 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -139,7 +139,10 @@ digest::impl_write!(Sha224); digest::impl_write!(Sha256); cfg_if::cfg_if! { - if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + if #[cfg(feature = "force-soft")] { + mod soft; + use soft::compress; + } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { mod soft; mod aarch64; use aarch64::compress; diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index de115d442..3280c6d21 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -228,7 +228,10 @@ digest::impl_write!(Sha512Trunc224); digest::impl_write!(Sha512Trunc256); cfg_if::cfg_if! { - if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { + if #[cfg(feature = "force-soft")] { + mod soft; + use soft::compress; + } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { // TODO: replace after sha2-asm rework fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { for block in blocks { From e617b1fdea3cae49ee94765c66cc8a9cef839203 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 6 Nov 2020 13:05:33 +0000 Subject: [PATCH 112/373] Add SHAKE example to sha3 (#206) --- sha3/src/lib.rs | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 18737e774..831762955 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -11,11 +11,12 @@ //! * `Keccak224`, `Keccak256`, `Keccak384`, `Keccak512` (NIST submission //! without padding changes) //! -//! # Usage +//! # Examples //! -//! An example of using `SHA3-256` is: +//! Output size of SHA3-256 is fixed, so its functionality is usually +//! accessed via the `Digest` trait: //! -//! ```rust +//! ``` //! use hex_literal::hex; //! use sha3::{Digest, Sha3_256}; //! @@ -33,6 +34,23 @@ //! ")[..]); //! ``` //! +//! SHAKE functions have an extendable output, so finalization method returns +//! XOF reader from which results of arbitrary length can be read. Note that +//! these functions do not implement `Digest`, so lower-level traits have to +//! be imported: +//! +//! ``` +//! use sha3::{Shake128, digest::{Update, ExtendableOutput, XofReader}}; +//! use hex_literal::hex; +//! +//! let mut hasher = Shake128::default(); +//! hasher.update(b"abc"); +//! let mut reader = hasher.finalize_xof(); +//! let mut res1 = [0u8; 10]; +//! reader.read(&mut res1); +//! assert_eq!(res1, hex!("5881092dd818bf5cf8a3")); +//! ``` +//! //! Also see [RustCrypto/hashes][2] readme. //! //! [1]: https://en.wikipedia.org/wiki/SHA-3 From 78f00c5f6d218ffd996c090e1b3ec858870cb816 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Mon, 23 Nov 2020 13:12:32 -0800 Subject: [PATCH 113/373] Fix using sha2_asm on aarch64. (#207) The code doesn't compile before. Can use `cargo test --features asm` to verify. Tested on AWS Graviton2 server. --- sha2/src/sha256/aarch64.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index a5967ca0c..1b8b0c8b5 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -12,9 +12,9 @@ pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { if sha2_supported() { // TODO: replace after sha2-asm rework for block in blocks { - sha2_asm::compress256(&mut self.h, block); + sha2_asm::compress256(state, block); } } else { - super::soft::compress(&mut self.h, block); + super::soft::compress(state, blocks); } } From 58b1362fdb54af838e89b7e21ed8f38c661ea30a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Nov 2020 10:18:59 -0800 Subject: [PATCH 114/373] sha2: test builds on 32-bit Linux and macOS/x86-64 (#208) Per #207 it seems we aren't doing enough testing, particularly for the `asm` feature on various platforms. This commit adds much more extensive testing for the `sha2` crate in particular, since it's one of the most important. --- .github/workflows/sha2.yml | 49 +++++++++++++++++++++++++++++++++----- sha2/Cargo.toml | 10 +++----- 2 files changed, 46 insertions(+), 13 deletions(-) diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 7640b8447..ccdab96d6 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -17,6 +17,7 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + # Builds for no_std platforms build: runs-on: ubuntu-latest strategy: @@ -37,20 +38,56 @@ jobs: override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - test: + # Linux tests + linux: + strategy: + matrix: + include: + # 32-bit Linux/x86 + - target: i686-unknown-linux-gnu + rust: 1.41.0 # MSRV + deps: sudo apt install gcc-multilib + - target: i686-unknown-linux-gnu + rust: stable + deps: sudo apt install gcc-multilib + + # 64-bit Linux/x86_64 + - target: x86_64-unknown-linux-gnu + rust: 1.41.0 # MSRV + - target: x86_64-unknown-linux-gnu + rust: stable + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: ${{ matrix.deps }} + - run: cargo test --target ${{ matrix.target }} --release --no-default-features + - run: cargo test --target ${{ matrix.target }} --release + - run: cargo test --target ${{ matrix.target }} --release --features asm + + # macOS tests + macos: strategy: matrix: - rust: + toolchain: - 1.41.0 # MSRV - stable + + runs-on: macos-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.rust }} + toolchain: ${{ matrix.toolchain }} + target: x86_64-apple-darwin override: true - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --features asm + - run: cargo test --release --no-default-features + - run: cargo test --release + - run: cargo test --release --features asm diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 5b63154a4..916fc0c87 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -35,10 +35,6 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha2-asm", "libc"] -# Expose compress function -compress = [] -# Force software implementation -force-soft = [] - -# DEPRECATED: use `asm` instead -asm-aarch64 = ["asm"] +compress = [] # Expose compress function +force-soft = [] # Force software implementation +asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead From 716d87097adb51e796ec03aee4bb077ae6b56e42 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Nov 2020 11:34:10 -0800 Subject: [PATCH 115/373] sha2: Windows tests (#209) Adds initial tests for MinGW environments --- .github/workflows/sha2.yml | 24 ++++++++++++++++++++++++ sha2/Cargo.toml | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index ccdab96d6..24699a007 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -91,3 +91,27 @@ jobs: - run: cargo test --release --no-default-features - run: cargo test --release - run: cargo test --release --features asm + + # Windows tests + windows: + strategy: + matrix: + include: + # 64-bit Windows (GNU) + # TODO(tarcieri): try re-enabling this when we bump MSRV + #- target: x86_64-pc-windows-gnu + # toolchain: 1.41.0 # MSRV + - target: x86_64-pc-windows-gnu + toolchain: stable + + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.toolchain }} + target: ${{ matrix.target }} + override: true + - uses: msys2/setup-msys2@v2 + - run: cargo test --target ${{ matrix.target }} --release diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 916fc0c87..37f3715d5 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -35,6 +35,6 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha2-asm", "libc"] -compress = [] # Expose compress function +compress = [] # Expose compress function force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead From 39a55cf35a4282648298586193d6f8384f30869e Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Nov 2020 12:14:37 -0800 Subject: [PATCH 116/373] sha2: cross-compiled tests (#210) Adds initial testing on `aarch64` (64-bit ARM) --- .github/workflows/sha2.yml | 24 ++++++++++++++++++++++++ sha2/Cargo.toml | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 24699a007..0474741bb 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -115,3 +115,27 @@ jobs: override: true - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} --release + + # Cross-compiled tests + cross: + strategy: + matrix: + include: + # ARM64 + #- target: aarch64-unknown-linux-gnu + # rust: 1.41.0 # MSRV + - target: aarch64-unknown-linux-gnu + rust: stable + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo install cross + - run: cross test --target ${{ matrix.target }} --release + - run: cross test --target ${{ matrix.target }} --release --features asm diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 37f3715d5..916fc0c87 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -35,6 +35,6 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha2-asm", "libc"] -compress = [] # Expose compress function +compress = [] # Expose compress function force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead From 04d971b2f6ec9ac8ea6896865b9cfdbed0d2c04b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Jan 2021 08:52:30 +0300 Subject: [PATCH 117/373] build(deps): bump libc from 0.2.80 to 0.2.82 (#214) --- .github/workflows/sha2.yml | 4 ++-- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 0474741bb..bff236159 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -46,10 +46,10 @@ jobs: # 32-bit Linux/x86 - target: i686-unknown-linux-gnu rust: 1.41.0 # MSRV - deps: sudo apt install gcc-multilib + deps: sudo apt update && sudo apt install gcc-multilib - target: i686-unknown-linux-gnu rust: stable - deps: sudo apt install gcc-multilib + deps: sudo apt update && sudo apt install gcc-multilib # 64-bit Linux/x86_64 - target: x86_64-unknown-linux-gnu diff --git a/Cargo.lock b/Cargo.lock index 1706b4524..296397289 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.80" +version = "0.2.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" +checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 1aac6d1e5..fbdd0e86e 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.80", optional = true } +libc = { version = "0.2.82", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 916fc0c87..98bd62623 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.80", optional = true } +libc = { version = "0.2.82", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From ff2c144b81f7c799f0e1779007c4b7d322868224 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 13 Jan 2021 23:21:55 +0300 Subject: [PATCH 118/373] Add deps.rs badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 864d79b1d..98a6baac5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] +# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status](https://deps.rs/repo/github/RustCrypto/hashes/status.svg)](https://deps.rs/repo/github/RustCrypto/hashes) Collection of [cryptographic hash functions][1] written in pure Rust. From 0215edce5ea67125d5ae0f4e743620e777866894 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 13 Jan 2021 23:42:15 +0300 Subject: [PATCH 119/373] Remove asm-related TODO comments (#215) Closes #213 The comments are removed in favor of RustCrypto/asm-hashes#26. --- sha1/src/compress.rs | 1 - sha2/src/sha256.rs | 1 - sha2/src/sha256/aarch64.rs | 1 - sha2/src/sha512.rs | 1 - 4 files changed, 4 deletions(-) diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index af35679be..c849c89e0 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -10,7 +10,6 @@ cfg_if::cfg_if! { mod aarch64; use aarch64::compress as compress_inner; } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - // TODO: replace after sha1-asm rework fn compress_inner(state: &mut [u32; 5], blocks: &[[u8; 64]]) { for block in blocks { sha1_asm::compress(state, block); diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 8dade9f89..3eef74584 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -147,7 +147,6 @@ cfg_if::cfg_if! { mod aarch64; use aarch64::compress; } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - // TODO: replace after sha2-asm rework fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { for block in blocks { sha2_asm::compress256(state, block); diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index 1b8b0c8b5..47796cf88 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -10,7 +10,6 @@ pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization if sha2_supported() { - // TODO: replace after sha2-asm rework for block in blocks { sha2_asm::compress256(state, block); } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 3280c6d21..55ca80daf 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -232,7 +232,6 @@ cfg_if::cfg_if! { mod soft; use soft::compress; } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - // TODO: replace after sha2-asm rework fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { for block in blocks { sha2_asm::compress512(state, block); From 979b5de8733959c1ccc54151d1d469181aa73447 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 13 Jan 2021 23:49:07 +0300 Subject: [PATCH 120/373] ripemd320: fix clippy warning (#216) --- ripemd320/src/block.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ripemd320/src/block.rs b/ripemd320/src/block.rs index fc79ca817..4834ead90 100644 --- a/ripemd320/src/block.rs +++ b/ripemd320/src/block.rs @@ -14,7 +14,7 @@ pub const H0: [u32; DIGEST_BUF_LEN] = [ 0xc3d2_e1f0, 0x7654_3210, 0xfedc_ba98, - 0x89a_bcdef, + 0x89ab_cdef, 0x0123_4567, 0x3c2d_1e0f, ]; From a18e0bdaac45ad97419292b24fb1e3d470336d11 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 13 Jan 2021 23:54:38 +0300 Subject: [PATCH 121/373] Compactify deps.rs badge --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 98a6baac5..dec1b5ec8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status](https://deps.rs/repo/github/RustCrypto/hashes/status.svg)](https://deps.rs/repo/github/RustCrypto/hashes) +# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps] Collection of [cryptographic hash functions][1] written in pure Rust. @@ -197,6 +197,8 @@ dual licensed as above, without any additional terms or conditions. [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg +[deps]: https://deps.rs/repo/github/RustCrypto/hashes [//]: # (footnotes) From 537a9ba14686ec2b117515c640b741f0a5421b7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Jan 2021 07:02:06 +0000 Subject: [PATCH 122/373] build(deps): bump sha2-asm from 0.5.4 to 0.5.5 (#219) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 296397289..5609fbdbd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -260,9 +260,9 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92cfa120723b595090343400d71e4921ba4fbc7d0d48718d72c20b3348469678" +checksum = "a7c2f225be6502f2134e6bbb35bb5e2957e41ffa0495ed08bce2e2b4ca885da4" dependencies = [ "cc", ] From 75862b70a7c1217570d08b365b9b2d57e58eef0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Jan 2021 14:53:01 +0000 Subject: [PATCH 123/373] build(deps): bump libc from 0.2.82 to 0.2.83 (#221) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5609fbdbd..ec8e85d7e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929" +checksum = "7eb0c4e9c72ee9d69b767adebc5f4788462a3b45624acd919475c92597bcaf4f" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index fbdd0e86e..443a3141a 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.82", optional = true } +libc = { version = "0.2.83", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 98bd62623..87db32e46 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.82", optional = true } +libc = { version = "0.2.83", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From a76d561c82abc6b212e9986ec93e076abebff14f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Jan 2021 10:10:32 +0000 Subject: [PATCH 124/373] build(deps): bump libc from 0.2.83 to 0.2.84 (#222) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ec8e85d7e..a252695fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0c4e9c72ee9d69b767adebc5f4788462a3b45624acd919475c92597bcaf4f" +checksum = "1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 443a3141a..65fdacbbc 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.83", optional = true } +libc = { version = "0.2.84", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 87db32e46..85217e159 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.83", optional = true } +libc = { version = "0.2.84", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From f6a0efda9d45bd081e6f300c0161a6ffa87e7a8d Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Sat, 30 Jan 2021 19:09:46 +0000 Subject: [PATCH 125/373] Use the SHA extension backend with enabled asm feature (#224) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- sha2/src/sha256.rs | 21 ++++++++++++--------- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a252695fa..35bf56e75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -246,7 +246,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.2" +version = "0.9.3" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 922f32d25..c7e3e7f48 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.3 (2021-01-30) +### Changed +- Use the SHA extension backend with enabled `asm` feature. ([#224]) + +[#224]: https://github.com/RustCrypto/hashes/pull/224 + ## 0.9.2 (2020-11-04) ### Added - `force-soft` feature to enforce use of software implementation. ([#203]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 85217e159..93465bff6 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.2" +version = "0.9.3" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 3eef74584..45042b94c 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -142,20 +142,23 @@ cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; use soft::compress; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + #[cfg(not(feature = "asm"))] mod soft; - mod aarch64; - use aarch64::compress; - } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { - for block in blocks { - sha2_asm::compress256(state, block); + #[cfg(feature = "asm")] + mod soft { + pub(crate) fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + for block in blocks { + sha2_asm::compress256(state, block); + } } } - } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { - mod soft; mod x86; use x86::compress; + } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + mod soft; + mod aarch64; + use aarch64::compress; } else { mod soft; use soft::compress; From 864b6e3bded26b38d03f72a9fdabef9d71206801 Mon Sep 17 00:00:00 2001 From: Teddy Katz Date: Mon, 1 Feb 2021 07:12:19 -0500 Subject: [PATCH 126/373] Use SHA1 intrinsics when `asm` feature is enabled (#225) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- sha1/src/compress.rs | 15 +++++++++------ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 35bf56e75..76f77b6e6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -223,7 +223,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.2" +version = "0.9.3" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 5a76f1cf6..335ad2d89 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.3 (2021-02-01) +### Changed +- Use SHA1 intrinsics when `asm` feature is enabled. ([#225]) + +[#225]: https://github.com/RustCrypto/hashes/pull/225 + ## 0.9.2 (2020-11-04) ### Added - `force-soft` feature to enforce use of software implementation. ([#203]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 65fdacbbc..c07ba3658 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.2" +version = "0.9.3" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index c849c89e0..1370bf84e 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -9,14 +9,17 @@ cfg_if::cfg_if! { mod soft; mod aarch64; use aarch64::compress as compress_inner; - } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - fn compress_inner(state: &mut [u32; 5], blocks: &[[u8; 64]]) { - for block in blocks { - sha1_asm::compress(state, block); - } - } } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + #[cfg(not(feature = "asm"))] mod soft; + #[cfg(feature = "asm")] + mod soft { + pub(crate) fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { + for block in blocks { + sha1_asm::compress(state, block); + } + } + } mod x86; use x86::compress as compress_inner; } else { From e529139089da5a127ffafd293e1f103e4ab3062d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Feb 2021 08:34:06 -0800 Subject: [PATCH 127/373] build(deps): bump libc from 0.2.84 to 0.2.85 (#226) Bumps [libc](https://github.com/rust-lang/libc) from 0.2.84 to 0.2.85. - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](https://github.com/rust-lang/libc/compare/0.2.84...0.2.85) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76f77b6e6..cdd242e64 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.84" +version = "0.2.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff" +checksum = "7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index c07ba3658..0e0e6b460 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.84", optional = true } +libc = { version = "0.2.85", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 93465bff6..ec046f594 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.84", optional = true } +libc = { version = "0.2.85", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 1d7f23cf67c93c69c6ab0102940b06406241c1c6 Mon Sep 17 00:00:00 2001 From: Myers Carpenter Date: Fri, 5 Feb 2021 10:47:09 -0500 Subject: [PATCH 128/373] add tiger hash from https://gitlab.com/rawler/tiger (#229) Originally from https://gitlab.com/rawler/tiger Relicensed as MIT+Apache2.0 with permission: From: Ulrik Mikaelsson Date: Fri, 5 Feb 2021 07:35:53 +0100 Subject: Re: Relicense rust tiger under MIT? Fun to hear you're using it! I'm ok with licensing it under MIT --- .github/workflows/tiger.yml | 59 ++ Cargo.lock | 14 +- Cargo.toml | 1 + README.md | 2 + tiger/Cargo.toml | 25 + tiger/LICENSE-APACHE | 201 ++++++ tiger/LICENSE-MIT | 25 + tiger/README.md | 55 ++ tiger/benches/lib.rs | 4 + tiger/src/lib.rs | 1263 +++++++++++++++++++++++++++++++++++ 10 files changed, 1647 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/tiger.yml create mode 100644 tiger/Cargo.toml create mode 100644 tiger/LICENSE-APACHE create mode 100644 tiger/LICENSE-MIT create mode 100644 tiger/README.md create mode 100644 tiger/benches/lib.rs create mode 100644 tiger/src/lib.rs diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml new file mode 100644 index 000000000..8e1e6ff59 --- /dev/null +++ b/.github/workflows/tiger.yml @@ -0,0 +1,59 @@ +name: tiger + +on: + pull_request: + paths: + - "tiger/**" + - "Cargo.*" + push: + branches: master + paths: + - "tiger/**" + - "Cargo.*" + +defaults: + run: + working-directory: tiger + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check + - run: cargo test --no-default-features + - run: cargo test diff --git a/Cargo.lock b/Cargo.lock index cdd242e64..da05d99a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,9 +37,9 @@ checksum = "c98bfd7c112b6399fef97cc0614af1cd375b27a112e552ce60f94c1b5f13cb74" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" [[package]] name = "cc" @@ -304,6 +304,16 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" +[[package]] +name = "tiger" +version = "0.0.0" +dependencies = [ + "block-buffer", + "byteorder", + "digest", + "hex-literal", +] + [[package]] name = "typenum" version = "1.12.0" diff --git a/Cargo.toml b/Cargo.toml index 786752665..801712cb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ members = [ "sha3", "shabal", "streebog", + "tiger", "whirlpool", ] diff --git a/README.md b/README.md index dec1b5ec8..44916275d 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ BLAKE2, SHA-2 or SHA-3. | `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | [![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha3+branch:master) | :green_heart: | | `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | [![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:shabal+branch:master) | :green_heart: | | `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | [![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:streebog+branch:master) | :yellow_heart: | +| `tiger` | [Tiger] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | [![build](https://github.com/rustcrypto/hashes/workflows/tiger/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:tiger+branch:master) | :green_heart: | | `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | [![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:whirlpool+branch:master) | :green_heart: | NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` (and `crypto-mac`) traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. @@ -226,3 +227,4 @@ dual licensed as above, without any additional terms or conditions. [SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf [Streebog]: https://en.wikipedia.org/wiki/Streebog [Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography) +[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html \ No newline at end of file diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml new file mode 100644 index 000000000..6eb07f4ad --- /dev/null +++ b/tiger/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "tiger" +version = "0.0.0" +description = "Tiger hash function" +authors = ["Ulrik Mikaelsson ", "RustCrypto Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +edition = "2018" +documentation = "https://docs.rs/tiger" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "hash", "tiger", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.9" +block-buffer = { version = "0.9", features = ["block-padding"] } +byteorder = { version = "1", default-features = false } + +[dev-dependencies] +digest = { version = "0.9", features = ["dev"] } +hex-literal = "0.2" + +[features] +default = ["std"] +std = ["digest/std"] diff --git a/tiger/LICENSE-APACHE b/tiger/LICENSE-APACHE new file mode 100644 index 000000000..de60474be --- /dev/null +++ b/tiger/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2020 Ulrik Mikaelsson + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/tiger/LICENSE-MIT b/tiger/LICENSE-MIT new file mode 100644 index 000000000..d967eab37 --- /dev/null +++ b/tiger/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2020 Ulrik Mikaelsson + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/tiger/README.md b/tiger/README.md new file mode 100644 index 000000000..74ea514e0 --- /dev/null +++ b/tiger/README.md @@ -0,0 +1,55 @@ +# RustCrypto: Tiger + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Tiger] hash function. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/tiger.svg +[crate-link]: https://crates.io/crates/tiger +[docs-image]: https://docs.rs/tiger/badge.svg +[docs-link]: https://docs.rs/tiger/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/tiger/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Atiger + +[//]: # (general links) + +[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html \ No newline at end of file diff --git a/tiger/benches/lib.rs b/tiger/benches/lib.rs new file mode 100644 index 000000000..ee01c2a4b --- /dev/null +++ b/tiger/benches/lib.rs @@ -0,0 +1,4 @@ +#![no_std] +#![feature(test)] + +digest::bench!(tiger::Tiger); diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs new file mode 100644 index 000000000..3f9bb96df --- /dev/null +++ b/tiger/src/lib.rs @@ -0,0 +1,1263 @@ +//! The [Tiger][1] hash function, implemented through [Digest][2] +//! +//! [1]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html +//! [2]: https://crates.io/crates/digest + +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + +pub use digest; + +use block_buffer::{ + generic_array::typenum::consts::U64 as BB_U64, generic_array::GenericArray as BB_GenericArray, + BlockBuffer, +}; +use byteorder::{ByteOrder, LE}; +use digest::generic_array::typenum::{U24, U64}; +use digest::generic_array::GenericArray; + +type BlockBuffer512 = BlockBuffer; + +const PADDING_BLOCK: [u8; 64] = [ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +]; + +const H0: [u64; 3] = [ + 0x0123_4567_89AB_CDEF, + 0xFEDC_BA98_7654_3210, + 0xF096_A5B4_C3B2_E187, +]; + +/// The Tiger hasher +#[derive(Clone)] +pub struct Tiger { + length_bytes: u64, + buffer: BlockBuffer512, + state: [u64; 3], +} + +impl Default for Tiger { + fn default() -> Self { + Tiger { + length_bytes: 0, + buffer: Default::default(), + state: H0, + } + } +} + +impl Tiger { + #[inline] + fn fill_up_to(from: usize, to: usize, modulo: usize) -> usize { + let _from = from + 1; + let _to = to + modulo; + 1 + ((_to - _from) % modulo) + } + + #[inline] + fn finalize(&mut self) -> [u64; 3] { + { + let self_state = &mut self.state; + let pad_size = Self::fill_up_to(self.buffer.position(), 64 - 8, 64); + self.buffer.input_block(&PADDING_BLOCK[..pad_size], |d| { + Self::compress(self_state, d) + }); + + let mut length: [u8; 8] = [0, 0, 0, 0, 0, 0, 0, 0]; + LE::write_u64(&mut length, (self.length_bytes << 3) as u64); + self.buffer + .input_block(&length, |d| Self::compress(self_state, d)); + + assert_eq!(self.buffer.position(), 0); + } + self.state + } + + fn consume(&mut self, input: &[u8]) { + // Unlike Sha1 and Sha2, the length value in Tiger is defined as + // the length of the message mod 2^64 - ie: integer overflow is OK. + self.length_bytes += input.len() as u64; + let self_state = &mut self.state; + self.buffer + .input_block(input, |d| Self::compress(self_state, d)); + } + + #[inline] + fn compress(state: &mut [u64; 3], input: &BB_GenericArray) { + let mut inputs: [u64; 8] = Default::default(); + LE::read_u64_into(input, &mut inputs); + let mut a = state[0]; + let mut b = state[1]; + let mut c = state[2]; + + Self::pass(&mut a, &mut b, &mut c, &inputs, 5); + Self::key_schedule(&mut inputs); + Self::pass(&mut c, &mut a, &mut b, &inputs, 7); + Self::key_schedule(&mut inputs); + Self::pass(&mut b, &mut c, &mut a, &inputs, 9); + + state[0] ^= a; + state[1] = b.wrapping_sub(state[1]); + state[2] = c.wrapping_add(state[2]); + } + + #[inline] + fn pass(a: &mut u64, b: &mut u64, c: &mut u64, x: &[u64; 8], mul: u8) { + Self::round(a, b, c, &x[0], mul); + Self::round(b, c, a, &x[1], mul); + Self::round(c, a, b, &x[2], mul); + Self::round(a, b, c, &x[3], mul); + Self::round(b, c, a, &x[4], mul); + Self::round(c, a, b, &x[5], mul); + Self::round(a, b, c, &x[6], mul); + Self::round(b, c, a, &x[7], mul); + } + + #[inline] + fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { + *c ^= *x; + let mut c_: [u8; 8] = Default::default(); + LE::write_u64(&mut c_, *c); + *a = a.wrapping_sub( + T1[c_[0] as usize] ^ T2[c_[2] as usize] ^ T3[c_[4] as usize] ^ T4[c_[6] as usize], + ); + *b = b.wrapping_add( + T4[c_[1] as usize] ^ T3[c_[3] as usize] ^ T2[c_[5] as usize] ^ T1[c_[7] as usize], + ); + *b = b.wrapping_mul(u64::from(mul)); + } + + #[inline] + fn key_schedule(x: &mut [u64; 8]) { + x[0] = x[0].wrapping_sub(x[7] ^ 0xA5A5_A5A5_A5A5_A5A5); + x[1] ^= x[0]; + x[2] = x[2].wrapping_add(x[1]); + x[3] = x[3].wrapping_sub(x[2] ^ ((!x[1]) << 19)); + x[4] ^= x[3]; + x[5] = x[5].wrapping_add(x[4]); + x[6] = x[6].wrapping_sub(x[5] ^ ((!x[4]) >> 23)); + x[7] ^= x[6]; + x[0] = x[0].wrapping_add(x[7]); + x[1] = x[1].wrapping_sub(x[0] ^ ((!x[7]) << 19)); + x[2] ^= x[1]; + x[3] = x[3].wrapping_add(x[2]); + x[4] = x[4].wrapping_sub(x[3] ^ ((!x[2]) >> 23)); + x[5] ^= x[4]; + x[6] = x[6].wrapping_add(x[5]); + x[7] = x[7].wrapping_sub(x[6] ^ 0x0123_4567_89AB_CDEF); + } +} + +impl digest::BlockInput for Tiger { + type BlockSize = U64; +} + +impl digest::Reset for Tiger { + fn reset(&mut self) { + self.buffer.reset(); + self.length_bytes = 0; + self.state = H0; + } +} + +impl digest::Update for Tiger { + #[inline] + + fn update(&mut self, data: impl AsRef<[u8]>) { + self.consume(data.as_ref()); + } +} + +impl digest::FixedOutputDirty for Tiger { + type OutputSize = U24; + + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { + LE::write_u64_into(&self.finalize(), &mut out.as_mut_slice()); + } +} + +// Conditionally compile the module `test` only when the test-suite is run. +#[cfg(test)] +mod test { + use super::Tiger; + use digest::Digest; + use hex_literal::hex; + + #[test] + fn test_vectors() { + let examples = [ + ("", hex!("3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3")), + ("abc", hex!("2aab1484e8c158f2bfb8c5ff41b57a525129131c957b5f93")), + ("Tiger", hex!("dd00230799f5009fec6debc838bb6a27df2b9d6f110c7937")), + ( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", + hex!("f71c8583902afb879edfe610f82c0d4786a3a534504486b5"), + ), + ( + "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", + hex!("48ceeb6308b87d46e95d656112cdf18d97915f9765658957"), + ), + ( + "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham", + hex!("8a866829040a410c729ad23f5ada711603b3cdd357e4c15e"), + ), + ( + "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham, proceedings of Fast Software Encryption 3, Cambridge.", + hex!("ce55a6afd591f5ebac547ff84f89227f9331dab0b611c889"), + ), + ( + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + hex!("0f7bf9a19b9c58f2b7610df7e84f0ac3a71c631e7b53f78e"), + ), + ( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + hex!("08c8dcb467e4c7f910966c399fdc9b164be15b792d432224"), + ), + ]; + + for &(input, answer) in examples.iter() { + let result = Tiger::digest(input.as_bytes()); + + assert_eq!(*result, answer); + } + } +} + +static T1: [u64; 256] = [ + 0x02AA_B17C_F7E9_0C5E, /* 0 */ + 0xAC42_4B03_E243_A8EC, /* 1 */ + 0x72CD_5BE3_0DD5_FCD3, /* 2 */ + 0x6D01_9B93_F6F9_7F3A, /* 3 */ + 0xCD99_78FF_D21F_9193, /* 4 */ + 0x7573_A1C9_7080_29E2, /* 5 */ + 0xB164_326B_922A_83C3, /* 6 */ + 0x4688_3EEE_0491_5870, /* 7 */ + 0xEAAC_E305_7103_ECE6, /* 8 */ + 0xC541_69B8_08A3_535C, /* 9 */ + 0x4CE7_5491_8DDE_C47C, /* 10 */ + 0x0AA2_F4DF_DC0D_F40C, /* 11 */ + 0x10B7_6F18_A74D_BEFA, /* 12 */ + 0xC6CC_B623_5AD1_AB6A, /* 13 */ + 0x1372_6121_572F_E2FF, /* 14 */ + 0x1A48_8C6F_199D_921E, /* 15 */ + 0x4BC9_F9F4_DA00_07CA, /* 16 */ + 0x26F5_E6F6_E852_41C7, /* 17 */ + 0x8590_79DB_EA59_47B6, /* 18 */ + 0x4F18_85C5_C99E_8C92, /* 19 */ + 0xD78E_761E_A96F_864B, /* 20 */ + 0x8E36_428C_52B5_C17D, /* 21 */ + 0x69CF_6827_3730_63C1, /* 22 */ + 0xB607_C93D_9BB4_C56E, /* 23 */ + 0x7D82_0E76_0E76_B5EA, /* 24 */ + 0x645C_9CC6_F07F_DC42, /* 25 */ + 0xBF38_A078_2433_42E0, /* 26 */ + 0x5F6B_343C_9D2E_7D04, /* 27 */ + 0xF2C2_8AEB_600B_0EC6, /* 28 */ + 0x6C0E_D85F_7254_BCAC, /* 29 */ + 0x7159_2281_A4DB_4FE5, /* 30 */ + 0x1967_FA69_CE0F_ED9F, /* 31 */ + 0xFD52_93F8_B965_45DB, /* 32 */ + 0xC879_E9D7_F2A7_600B, /* 33 */ + 0x8602_4892_0193_194E, /* 34 */ + 0xA4F9_533B_2D9C_C0B3, /* 35 */ + 0x9053_836C_1595_7613, /* 36 */ + 0xDB6D_CF8A_FC35_7BF1, /* 37 */ + 0x18BE_EA7A_7A37_0F57, /* 38 */ + 0x0371_17CA_50B9_9066, /* 39 */ + 0x6AB3_0A97_7442_4A35, /* 40 */ + 0xF4E9_2F02_E325_249B, /* 41 */ + 0x7739_DB07_061C_CAE1, /* 42 */ + 0xD8F3_B49C_ECA4_2A05, /* 43 */ + 0xBD56_BE3F_5138_2F73, /* 44 */ + 0x45FA_ED58_43B0_BB28, /* 45 */ + 0x1C81_3D5C_11BF_1F83, /* 46 */ + 0x8AF0_E4B6_D75F_A169, /* 47 */ + 0x33EE_18A4_87AD_9999, /* 48 */ + 0x3C26_E8EA_B1C9_4410, /* 49 */ + 0xB510_102B_C0A8_22F9, /* 50 */ + 0x141E_EF31_0CE6_123B, /* 51 */ + 0xFC65_B900_59DD_B154, /* 52 */ + 0xE015_8640_C5E0_E607, /* 53 */ + 0x884E_0798_26C3_A3CF, /* 54 */ + 0x930D_0D95_23C5_35FD, /* 55 */ + 0x3563_8D75_4E9A_2B00, /* 56 */ + 0x4085_FCCF_4046_9DD5, /* 57 */ + 0xC4B1_7AD2_8BE2_3A4C, /* 58 */ + 0xCAB2_F0FC_6A3E_6A2E, /* 59 */ + 0x2860_971A_6B94_3FCD, /* 60 */ + 0x3DDE_6EE2_12E3_0446, /* 61 */ + 0x6222_F32A_E017_65AE, /* 62 */ + 0x5D55_0BB5_4783_08FE, /* 63 */ + 0xA9EF_A98D_A0ED_A22A, /* 64 */ + 0xC351_A716_86C4_0DA7, /* 65 */ + 0x1105_586D_9C86_7C84, /* 66 */ + 0xDCFF_EE85_FDA2_2853, /* 67 */ + 0xCCFB_D026_2C5E_EF76, /* 68 */ + 0xBAF2_94CB_8990_D201, /* 69 */ + 0xE694_64F5_2AFA_D975, /* 70 */ + 0x94B0_13AF_DF13_3E14, /* 71 */ + 0x06A7_D1A3_2823_C958, /* 72 */ + 0x6F95_FE51_30F6_1119, /* 73 */ + 0xD92A_B34E_462C_06C0, /* 74 */ + 0xED7B_DE33_887C_71D2, /* 75 */ + 0x7974_6D6E_6518_393E, /* 76 */ + 0x5BA4_1938_5D71_3329, /* 77 */ + 0x7C1B_A6B9_48A9_7564, /* 78 */ + 0x3198_7C19_7BFD_AC67, /* 79 */ + 0xDE6C_23C4_4B05_3D02, /* 80 */ + 0x581C_49FE_D002_D64D, /* 81 */ + 0xDD47_4D63_3826_1571, /* 82 */ + 0xAA45_46C3_E473_D062, /* 83 */ + 0x928F_CE34_9455_F860, /* 84 */ + 0x4816_1BBA_CAAB_94D9, /* 85 */ + 0x6391_2430_770E_6F68, /* 86 */ + 0x6EC8_A5E6_02C6_641C, /* 87 */ + 0x8728_2515_337D_DD2B, /* 88 */ + 0x2CDA_6B42_034B_701B, /* 89 */ + 0xB03D_37C1_81CB_096D, /* 90 */ + 0xE108_4382_66C7_1C6F, /* 91 */ + 0x2B31_80C7_EB51_B255, /* 92 */ + 0xDF92_B82F_96C0_8BBC, /* 93 */ + 0x5C68_C8C0_A632_F3BA, /* 94 */ + 0x5504_CC86_1C3D_0556, /* 95 */ + 0xABBF_A4E5_5FB2_6B8F, /* 96 */ + 0x4184_8B0A_B3BA_CEB4, /* 97 */ + 0xB334_A273_AA44_5D32, /* 98 */ + 0xBCA6_96F0_A85A_D881, /* 99 */ + 0x24F6_EC65_B528_D56C, /* 100 */ + 0x0CE1_512E_90F4_524A, /* 101 */ + 0x4E9D_D79D_5506_D35A, /* 102 */ + 0x2589_05FA_C6CE_9779, /* 103 */ + 0x2019_295B_3E10_9B33, /* 104 */ + 0xF8A9_478B_73A0_54CC, /* 105 */ + 0x2924_F2F9_3441_7EB0, /* 106 */ + 0x3993_357D_536D_1BC4, /* 107 */ + 0x38A8_1AC2_1DB6_FF8B, /* 108 */ + 0x47C4_FBF1_7D60_16BF, /* 109 */ + 0x1E0F_AADD_7667_E3F5, /* 110 */ + 0x7ABC_FF62_938B_EB96, /* 111 */ + 0xA78D_AD94_8FC1_79C9, /* 112 */ + 0x8F1F_98B7_2911_E50D, /* 113 */ + 0x61E4_8EAE_2712_1A91, /* 114 */ + 0x4D62_F7AD_3185_9808, /* 115 */ + 0xECEB_A345_EF5C_EAEB, /* 116 */ + 0xF5CE_B25E_BC96_84CE, /* 117 */ + 0xF633_E20C_B7F7_6221, /* 118 */ + 0xA32C_DF06_AB82_93E4, /* 119 */ + 0x985A_202C_A5EE_2CA4, /* 120 */ + 0xCF0B_8447_CC8A_8FB1, /* 121 */ + 0x9F76_5244_9798_59A3, /* 122 */ + 0xA8D5_16B1_A124_0017, /* 123 */ + 0x0BD7_BA3E_BB5D_C726, /* 124 */ + 0xE54B_CA55_B86A_DB39, /* 125 */ + 0x1D7A_3AFD_6C47_8063, /* 126 */ + 0x519E_C608_E766_9EDD, /* 127 */ + 0x0E57_15A2_D149_AA23, /* 128 */ + 0x177D_4571_848F_F194, /* 129 */ + 0xEEB5_5F32_4101_4C22, /* 130 */ + 0x0F5E_5CA1_3A6E_2EC2, /* 131 */ + 0x8029_927B_75F5_C361, /* 132 */ + 0xAD13_9FAB_C3D6_E436, /* 133 */ + 0x0D5D_F1A9_4CCF_402F, /* 134 */ + 0x3E8B_D948_BEA5_DFC8, /* 135 */ + 0xA5A0_D357_BD3F_F77E, /* 136 */ + 0xA2D1_2E25_1F74_F645, /* 137 */ + 0x66FD_9E52_5E81_A082, /* 138 */ + 0x2E0C_90CE_7F68_7A49, /* 139 */ + 0xC2E8_BCBE_BA97_3BC5, /* 140 */ + 0x0000_01BC_E509_745F, /* 141 */ + 0x4237_77BB_E6DA_B3D6, /* 142 */ + 0xD166_1C7E_AEF0_6EB5, /* 143 */ + 0xA178_1F35_4DAA_CFD8, /* 144 */ + 0x2D11_284A_2B16_AFFC, /* 145 */ + 0xF1FC_4F67_FA89_1D1F, /* 146 */ + 0x73EC_C25D_CB92_0ADA, /* 147 */ + 0xAE61_0C22_C2A1_2651, /* 148 */ + 0x96E0_A810_D356_B78A, /* 149 */ + 0x5A9A_381F_2FE7_870F, /* 150 */ + 0xD5AD_62ED_E94E_5530, /* 151 */ + 0xD225_E5E8_368D_1427, /* 152 */ + 0x6597_7B70_C7AF_4631, /* 153 */ + 0x99F8_89B2_DE39_D74F, /* 154 */ + 0x233F_30BF_54E1_D143, /* 155 */ + 0x9A96_75D3_D9A6_3C97, /* 156 */ + 0x5470_554F_F334_F9A8, /* 157 */ + 0x166A_CB74_4A4F_5688, /* 158 */ + 0x70C7_4CAA_B2E4_AEAD, /* 159 */ + 0xF0D0_9164_6F29_4D12, /* 160 */ + 0x57B8_2A89_6840_31D1, /* 161 */ + 0xEFD9_5A5A_61BE_0B6B, /* 162 */ + 0x2FBD_12E9_69F2_F29A, /* 163 */ + 0x9BD3_7013_FEFF_9FE8, /* 164 */ + 0x3F9B_0404_D608_5A06, /* 165 */ + 0x4940_C1F3_166C_FE15, /* 166 */ + 0x0954_2C4D_CDF3_DEFB, /* 167 */ + 0xB4C5_2183_85CD_5CE3, /* 168 */ + 0xC935_B7DC_4462_A641, /* 169 */ + 0x3417_F8A6_8ED3_B63F, /* 170 */ + 0xB809_5929_5B21_5B40, /* 171 */ + 0xF99C_DAEF_3B8C_8572, /* 172 */ + 0x018C_0614_F8FC_B95D, /* 173 */ + 0x1B14_ACCD_1A3A_CDF3, /* 174 */ + 0x84D4_71F2_00BB_732D, /* 175 */ + 0xC1A3_110E_95E8_DA16, /* 176 */ + 0x430A_7220_BF1A_82B8, /* 177 */ + 0xB77E_090D_39DF_210E, /* 178 */ + 0x5EF4_BD9F_3CD0_5E9D, /* 179 */ + 0x9D4F_F6DA_7E57_A444, /* 180 */ + 0xDA1D_60E1_83D4_A5F8, /* 181 */ + 0xB287_C384_1799_8E47, /* 182 */ + 0xFE3E_DC12_1BB3_1886, /* 183 */ + 0xC7FE_3CCC_980C_CBEF, /* 184 */ + 0xE46F_B590_189B_FD03, /* 185 */ + 0x3732_FD46_9A4C_57DC, /* 186 */ + 0x7EF7_00A0_7CF1_AD65, /* 187 */ + 0x59C6_4468_A31D_8859, /* 188 */ + 0x762F_B0B4_D45B_61F6, /* 189 */ + 0x155B_AED0_9904_7718, /* 190 */ + 0x6875_5E4C_3D50_BAA6, /* 191 */ + 0xE921_4E7F_22D8_B4DF, /* 192 */ + 0x2ADD_BF53_2EAC_95F4, /* 193 */ + 0x32AE_3909_B4BD_0109, /* 194 */ + 0x834D_F537_B08E_3450, /* 195 */ + 0xFA20_9DA8_4220_728D, /* 196 */ + 0x9E69_1D9B_9EFE_23F7, /* 197 */ + 0x0446_D288_C4AE_8D7F, /* 198 */ + 0x7B4C_C524_E169_785B, /* 199 */ + 0x21D8_7F01_35CA_1385, /* 200 */ + 0xCEBB_400F_137B_8AA5, /* 201 */ + 0x272E_2B66_5807_96BE, /* 202 */ + 0x3612_2641_25C2_B0DE, /* 203 */ + 0x0577_02BD_AD1E_FBB2, /* 204 */ + 0xD4BA_BB8E_ACF8_4BE9, /* 205 */ + 0x9158_3139_641B_C67B, /* 206 */ + 0x8BDC_2DE0_8036_E024, /* 207 */ + 0x603C_8156_F49F_68ED, /* 208 */ + 0xF7D2_36F7_DBEF_5111, /* 209 */ + 0x9727_C459_8AD2_1E80, /* 210 */ + 0xA08A_0896_670A_5FD7, /* 211 */ + 0xCB4A_8F43_09EB_A9CB, /* 212 */ + 0x81AF_564B_0F70_36A1, /* 213 */ + 0xC0B9_9AA7_7819_9ABD, /* 214 */ + 0x959F_1EC8_3FC8_E952, /* 215 */ + 0x8C50_5077_794A_81B9, /* 216 */ + 0x3ACA_AF8F_0563_38F0, /* 217 */ + 0x07B4_3F50_627A_6778, /* 218 */ + 0x4A44_AB49_F5EC_CC77, /* 219 */ + 0x3BC3_D6E4_B679_EE98, /* 220 */ + 0x9CC0_D4D1_CF14_108C, /* 221 */ + 0x4406_C00B_206B_C8A0, /* 222 */ + 0x82A1_8854_C8D7_2D89, /* 223 */ + 0x67E3_66B3_5C3C_432C, /* 224 */ + 0xB923_DD61_102B_37F2, /* 225 */ + 0x56AB_2779_D884_271D, /* 226 */ + 0xBE83_E1B0_FF15_25AF, /* 227 */ + 0xFB7C_65D4_217E_49A9, /* 228 */ + 0x6BDB_E0E7_6D48_E7D4, /* 229 */ + 0x08DF_8287_45D9_179E, /* 230 */ + 0x22EA_6A9A_DD53_BD34, /* 231 */ + 0xE36E_141C_5622_200A, /* 232 */ + 0x7F80_5D1B_8CB7_50EE, /* 233 */ + 0xAFE5_C7A5_9F58_E837, /* 234 */ + 0xE27F_996A_4FB1_C23C, /* 235 */ + 0xD386_7DFB_0775_F0D0, /* 236 */ + 0xD0E6_73DE_6E88_891A, /* 237 */ + 0x123A_EB9E_AFB8_6C25, /* 238 */ + 0x30F1_D5D5_C145_B895, /* 239 */ + 0xBB43_4A2D_EE72_69E7, /* 240 */ + 0x78CB_67EC_F931_FA38, /* 241 */ + 0xF33B_0372_323B_BF9C, /* 242 */ + 0x52D6_6336_FB27_9C74, /* 243 */ + 0x505F_33AC_0AFB_4EAA, /* 244 */ + 0xE8A5_CD99_A2CC_E187, /* 245 */ + 0x5349_7480_1E2D_30BB, /* 246 */ + 0x8D2D_5711_D587_6D90, /* 247 */ + 0x1F1A_4128_91BC_038E, /* 248 */ + 0xD6E2_E71D_82E5_6648, /* 249 */ + 0x7403_6C3A_4977_32B7, /* 250 */ + 0x89B6_7ED9_6361_F5AB, /* 251 */ + 0xFFED_95D8_F1EA_02A2, /* 252 */ + 0xE72B_3BD6_1464_D43D, /* 253 */ + 0xA630_0F17_0BDC_4820, /* 254 */ + 0xEBC1_8760_ED78_A77A, /* 255 */ +]; +static T2: [u64; 256] = [ + 0xE6A6_BE5A_05A1_2138, /* 256 */ + 0xB5A1_22A5_B4F8_7C98, /* 257 */ + 0x563C_6089_140B_6990, /* 258 */ + 0x4C46_CB2E_391F_5DD5, /* 259 */ + 0xD932_ADDB_C9B7_9434, /* 260 */ + 0x08EA_70E4_2015_AFF5, /* 261 */ + 0xD765_A667_3E47_8CF1, /* 262 */ + 0xC4FB_757E_AB27_8D99, /* 263 */ + 0xDF11_C686_2D6E_0692, /* 264 */ + 0xDDEB_84F1_0D7F_3B16, /* 265 */ + 0x6F2E_F604_A665_EA04, /* 266 */ + 0x4A8E_0F0F_F0E0_DFB3, /* 267 */ + 0xA5ED_EEF8_3DBC_BA51, /* 268 */ + 0xFC4F_0A2A_0EA4_371E, /* 269 */ + 0xE83E_1DA8_5CB3_8429, /* 270 */ + 0xDC8F_F882_BA1B_1CE2, /* 271 */ + 0xCD45_505E_8353_E80D, /* 272 */ + 0x18D1_9A00_D4DB_0717, /* 273 */ + 0x34A0_CFED_A5F3_8101, /* 274 */ + 0x0BE7_7E51_8887_CAF2, /* 275 */ + 0x1E34_1438_B3C4_5136, /* 276 */ + 0xE057_97F4_9089_CCF9, /* 277 */ + 0xFFD2_3F9D_F259_1D14, /* 278 */ + 0x543D_DA22_8595_C5CD, /* 279 */ + 0x661F_81FD_9905_2A33, /* 280 */ + 0x8736_E641_DB0F_7B76, /* 281 */ + 0x1522_7725_418E_5307, /* 282 */ + 0xE25F_7F46_162E_B2FA, /* 283 */ + 0x48A8_B212_6C13_D9FE, /* 284 */ + 0xAFDC_5417_92E7_6EEA, /* 285 */ + 0x03D9_12BF_C6D1_898F, /* 286 */ + 0x31B1_AAFA_1B83_F51B, /* 287 */ + 0xF1AC_2796_E42A_B7D9, /* 288 */ + 0x40A3_A7D7_FCD2_EBAC, /* 289 */ + 0x1056_136D_0AFB_BCC5, /* 290 */ + 0x7889_E1DD_9A6D_0C85, /* 291 */ + 0xD335_2578_2A79_74AA, /* 292 */ + 0xA7E2_5D09_078A_C09B, /* 293 */ + 0xBD41_38B3_EAC6_EDD0, /* 294 */ + 0x920A_BFBE_71EB_9E70, /* 295 */ + 0xA2A5_D0F5_4FC2_625C, /* 296 */ + 0xC054_E36B_0B12_90A3, /* 297 */ + 0xF6DD_59FF_62FE_932B, /* 298 */ + 0x3537_3545_11A8_AC7D, /* 299 */ + 0xCA84_5E91_72FA_DCD4, /* 300 */ + 0x84F8_2B60_329D_20DC, /* 301 */ + 0x79C6_2CE1_CD67_2F18, /* 302 */ + 0x8B09_A2AD_D124_642C, /* 303 */ + 0xD0C1_E96A_19D9_E726, /* 304 */ + 0x5A78_6A9B_4BA9_500C, /* 305 */ + 0x0E02_0336_634C_43F3, /* 306 */ + 0xC17B_474A_EB66_D822, /* 307 */ + 0x6A73_1AE3_EC9B_AAC2, /* 308 */ + 0x8226_667A_E084_0258, /* 309 */ + 0x67D4_5676_91CA_ECA5, /* 310 */ + 0x1D94_155C_4875_ADB5, /* 311 */ + 0x6D00_FD98_5B81_3FDF, /* 312 */ + 0x5128_6EFC_B774_CD06, /* 313 */ + 0x5E88_3447_1FA7_44AF, /* 314 */ + 0xF72C_A0AE_E761_AE2E, /* 315 */ + 0xBE40_E4CD_AEE8_E09A, /* 316 */ + 0xE997_0BBB_5118_F665, /* 317 */ + 0x726E_4BEB_33DF_1964, /* 318 */ + 0x703B_0007_2919_9762, /* 319 */ + 0x4631_D816_F5EF_30A7, /* 320 */ + 0xB880_B5B5_1504_A6BE, /* 321 */ + 0x6417_93C3_7ED8_4B6C, /* 322 */ + 0x7B21_ED77_F6E9_7D96, /* 323 */ + 0x7763_0631_2EF9_6B73, /* 324 */ + 0xAE52_8948_E86F_F3F4, /* 325 */ + 0x53DB_D7F2_86A3_F8F8, /* 326 */ + 0x16CA_DCE7_4CFC_1063, /* 327 */ + 0x005C_19BD_FA52_C6DD, /* 328 */ + 0x6886_8F5D_64D4_6AD3, /* 329 */ + 0x3A9D_512C_CF1E_186A, /* 330 */ + 0x367E_62C2_3856_60AE, /* 331 */ + 0xE359_E7EA_77DC_B1D7, /* 332 */ + 0x526C_0773_749A_BE6E, /* 333 */ + 0x735A_E5F9_D09F_734B, /* 334 */ + 0x493F_C7CC_8A55_8BA8, /* 335 */ + 0xB0B9_C153_3041_AB45, /* 336 */ + 0x3219_58BA_470A_59BD, /* 337 */ + 0x852D_B00B_5F46_C393, /* 338 */ + 0x9120_9B2B_D336_B0E5, /* 339 */ + 0x6E60_4F7D_659E_F19F, /* 340 */ + 0xB99A_8AE2_782C_CB24, /* 341 */ + 0xCCF5_2AB6_C814_C4C7, /* 342 */ + 0x4727_D9AF_BE11_727B, /* 343 */ + 0x7E95_0D0C_0121_B34D, /* 344 */ + 0x756F_4356_70AD_471F, /* 345 */ + 0xF5AD_D442_615A_6849, /* 346 */ + 0x4E87_E099_80B9_957A, /* 347 */ + 0x2ACF_A1DF_50AE_E355, /* 348 */ + 0xD898_263A_FD2F_D556, /* 349 */ + 0xC8F4_924D_D80C_8FD6, /* 350 */ + 0xCF99_CA3D_754A_173A, /* 351 */ + 0xFE47_7BAC_AF91_BF3C, /* 352 */ + 0xED53_71F6_D690_C12D, /* 353 */ + 0x831A_5C28_5E68_7094, /* 354 */ + 0xC5D3_C90A_3708_A0A4, /* 355 */ + 0x0F7F_9037_17D0_6580, /* 356 */ + 0x19F9_BB13_B8FD_F27F, /* 357 */ + 0xB1BD_6F1B_4D50_2843, /* 358 */ + 0x1C76_1BA3_8FFF_4012, /* 359 */ + 0x0D15_30C4_E2E2_1F3B, /* 360 */ + 0x8943_CE69_A737_2C8A, /* 361 */ + 0xE518_4E11_FEB5_CE66, /* 362 */ + 0x618B_DB80_BD73_6621, /* 363 */ + 0x7D29_BAD6_8B57_4D0B, /* 364 */ + 0x81BB_613E_25E6_FE5B, /* 365 */ + 0x071C_9C10_BC07_913F, /* 366 */ + 0xC7BE_EB79_09AC_2D97, /* 367 */ + 0xC3E5_8D35_3BC5_D757, /* 368 */ + 0xEB01_7892_F38F_61E8, /* 369 */ + 0xD4EF_FB9C_9B1C_C21A, /* 370 */ + 0x9972_7D26_F494_F7AB, /* 371 */ + 0xA3E0_63A2_956B_3E03, /* 372 */ + 0x9D4A_8B9A_4AA0_9C30, /* 373 */ + 0x3F6A_B7D5_0009_0FB4, /* 374 */ + 0x9CC0_F2A0_5726_8AC0, /* 375 */ + 0x3DEE_9D2D_EDBF_42D1, /* 376 */ + 0x330F_49C8_7960_A972, /* 377 */ + 0xC6B2_7202_8742_1B41, /* 378 */ + 0x0AC5_9EC0_7C00_369C, /* 379 */ + 0xEF4E_AC49_CB35_3425, /* 380 */ + 0xF450_244E_EF01_29D8, /* 381 */ + 0x8ACC_46E5_CAF4_DEB6, /* 382 */ + 0x2FFE_AB63_9892_63F7, /* 383 */ + 0x8F7C_B9FE_5D7A_4578, /* 384 */ + 0x5BD8_F764_4E63_4635, /* 385 */ + 0x427A_7315_BF2D_C900, /* 386 */ + 0x17D0_C4AA_2125_261C, /* 387 */ + 0x3992_486C_9351_8E50, /* 388 */ + 0xB4CB_FEE0_A2D7_D4C3, /* 389 */ + 0x7C75_D620_2C5D_DD8D, /* 390 */ + 0xDBC2_95D8_E35B_6C61, /* 391 */ + 0x60B3_69D3_0203_2B19, /* 392 */ + 0xCE42_685F_DCE4_4132, /* 393 */ + 0x06F3_DDB9_DDF6_5610, /* 394 */ + 0x8EA4_D21D_B5E1_48F0, /* 395 */ + 0x20B0_FCE6_2FCD_496F, /* 396 */ + 0x2C1B_9123_58B0_EE31, /* 397 */ + 0xB283_17B8_18F5_A308, /* 398 */ + 0xA89C_1E18_9CA6_D2CF, /* 399 */ + 0x0C6B_1857_6AAA_DBC8, /* 400 */ + 0xB65D_EAA9_1299_FAE3, /* 401 */ + 0xFB2B_794B_7F10_27E7, /* 402 */ + 0x04E4_317F_443B_5BEB, /* 403 */ + 0x4B85_2D32_5939_D0A6, /* 404 */ + 0xD5AE_6BEE_FB20_7FFC, /* 405 */ + 0x3096_82B2_81C7_D374, /* 406 */ + 0xBAE3_09A1_94C3_B475, /* 407 */ + 0x8CC3_F97B_13B4_9F05, /* 408 */ + 0x98A9_422F_F829_3967, /* 409 */ + 0x244B_16B0_1076_FF7C, /* 410 */ + 0xF8BF_571C_663D_67EE, /* 411 */ + 0x1F0D_6758_EEE3_0DA1, /* 412 */ + 0xC9B6_11D9_7ADE_B9B7, /* 413 */ + 0xB7AF_D588_7B6C_57A2, /* 414 */ + 0x6290_AE84_6B98_4FE1, /* 415 */ + 0x94DF_4CDE_ACC1_A5FD, /* 416 */ + 0x058A_5BD1_C548_3AFF, /* 417 */ + 0x6316_6CC1_42BA_3C37, /* 418 */ + 0x8DB8_526E_B2F7_6F40, /* 419 */ + 0xE108_8003_6F0D_6D4E, /* 420 */ + 0x9E05_23C9_971D_311D, /* 421 */ + 0x45EC_2824_CC7C_D691, /* 422 */ + 0x575B_8359_E623_82C9, /* 423 */ + 0xFA9E_400D_C488_9995, /* 424 */ + 0xD182_3ECB_4572_1568, /* 425 */ + 0xDAFD_983B_8206_082F, /* 426 */ + 0xAA7D_2908_2386_A8CB, /* 427 */ + 0x269F_CD44_03B8_7588, /* 428 */ + 0x1B91_F5F7_28BD_D1E0, /* 429 */ + 0xE466_9F39_0402_01F6, /* 430 */ + 0x7A1D_7C21_8CF0_4ADE, /* 431 */ + 0x6562_3C29_D79C_E5CE, /* 432 */ + 0x2368_4490_96C0_0BB1, /* 433 */ + 0xAB9B_F187_9DA5_03BA, /* 434 */ + 0xBC23_ECB1_A458_058E, /* 435 */ + 0x9A58_DF01_BB40_1ECC, /* 436 */ + 0xA070_E868_A85F_143D, /* 437 */ + 0x4FF1_8830_7DF2_239E, /* 438 */ + 0x14D5_65B4_1A64_1183, /* 439 */ + 0xEE13_3374_5270_1602, /* 440 */ + 0x950E_3DCF_3F28_5E09, /* 441 */ + 0x5993_0254_B9C8_0953, /* 442 */ + 0x3BF2_9940_8930_DA6D, /* 443 */ + 0xA955_943F_5369_1387, /* 444 */ + 0xA15E_DECA_A9CB_8784, /* 445 */ + 0x2914_2127_352B_E9A0, /* 446 */ + 0x76F0_371F_FF4E_7AFB, /* 447 */ + 0x0239_F450_274F_2228, /* 448 */ + 0xBB07_3AF0_1D5E_868B, /* 449 */ + 0xBFC8_0571_C10E_96C1, /* 450 */ + 0xD267_0885_6822_2E23, /* 451 */ + 0x9671_A3D4_8E80_B5B0, /* 452 */ + 0x55B5_D38A_E193_BB81, /* 453 */ + 0x693A_E2D0_A18B_04B8, /* 454 */ + 0x5C48_B4EC_ADD5_335F, /* 455 */ + 0xFD74_3B19_4916_A1CA, /* 456 */ + 0x2577_0181_34BE_98C4, /* 457 */ + 0xE779_87E8_3C54_A4AD, /* 458 */ + 0x28E1_1014_DA33_E1B9, /* 459 */ + 0x270C_C59E_226A_A213, /* 460 */ + 0x7149_5F75_6D1A_5F60, /* 461 */ + 0x9BE8_53FB_60AF_EF77, /* 462 */ + 0xADC7_86A7_F744_3DBF, /* 463 */ + 0x0904_4561_73B2_9A82, /* 464 */ + 0x58BC_7A66_C232_BD5E, /* 465 */ + 0xF306_558C_673A_C8B2, /* 466 */ + 0x41F6_39C6_B6C9_772A, /* 467 */ + 0x216D_EFE9_9FDA_35DA, /* 468 */ + 0x1164_0CC7_1C7B_E615, /* 469 */ + 0x93C4_3694_565C_5527, /* 470 */ + 0xEA03_8E62_4677_7839, /* 471 */ + 0xF9AB_F3CE_5A3E_2469, /* 472 */ + 0x741E_768D_0FD3_12D2, /* 473 */ + 0x0144_B883_CED6_52C6, /* 474 */ + 0xC20B_5A5B_A33F_8552, /* 475 */ + 0x1AE6_9633_C343_5A9D, /* 476 */ + 0x97A2_8CA4_088C_FDEC, /* 477 */ + 0x8824_A43C_1E96_F420, /* 478 */ + 0x3761_2FA6_6EEE_A746, /* 479 */ + 0x6B4C_B165_F9CF_0E5A, /* 480 */ + 0x43AA_1C06_A0AB_FB4A, /* 481 */ + 0x7F4D_C26F_F162_796B, /* 482 */ + 0x6CBA_CC8E_54ED_9B0F, /* 483 */ + 0xA6B7_FFEF_D2BB_253E, /* 484 */ + 0x2E25_BC95_B0A2_9D4F, /* 485 */ + 0x86D6_A58B_DEF1_388C, /* 486 */ + 0xDED7_4AC5_76B6_F054, /* 487 */ + 0x8030_BDBC_2B45_805D, /* 488 */ + 0x3C81_AF70_E94D_9289, /* 489 */ + 0x3EFF_6DDA_9E31_00DB, /* 490 */ + 0xB38D_C39F_DFCC_8847, /* 491 */ + 0x1238_8552_8D17_B87E, /* 492 */ + 0xF2DA_0ED2_40B1_B642, /* 493 */ + 0x44CE_FADC_D54B_F9A9, /* 494 */ + 0x1312_200E_433C_7EE6, /* 495 */ + 0x9FFC_C84F_3A78_C748, /* 496 */ + 0xF0CD_1F72_2485_76BB, /* 497 */ + 0xEC69_7405_3638_CFE4, /* 498 */ + 0x2BA7_B67C_0CEC_4E4C, /* 499 */ + 0xAC2F_4DF3_E5CE_32ED, /* 500 */ + 0xCB33_D143_26EA_4C11, /* 501 */ + 0xA4E9_044C_C77E_58BC, /* 502 */ + 0x5F51_3293_D934_FCEF, /* 503 */ + 0x5DC9_6455_06E5_5444, /* 504 */ + 0x50DE_418F_317D_E40A, /* 505 */ + 0x388C_B31A_69DD_E259, /* 506 */ + 0x2DB4_A834_5582_0A86, /* 507 */ + 0x9010_A91E_8471_1AE9, /* 508 */ + 0x4DF7_F0B7_B149_8371, /* 509 */ + 0xD62A_2EAB_C097_7179, /* 510 */ + 0x22FA_C097_AA8D_5C0E, /* 511 */ +]; +static T3: [u64; 256] = [ + 0xF49F_CC2F_F1DA_F39B, /* 512 */ + 0x487F_D5C6_6FF2_9281, /* 513 */ + 0xE8A3_0667_FCDC_A83F, /* 514 */ + 0x2C9B_4BE3_D2FC_CE63, /* 515 */ + 0xDA3F_F74B_93FB_BBC2, /* 516 */ + 0x2FA1_65D2_FE70_BA66, /* 517 */ + 0xA103_E279_970E_93D4, /* 518 */ + 0xBECD_EC77_B0E4_5E71, /* 519 */ + 0xCFB4_1E72_3985_E497, /* 520 */ + 0xB70A_AA02_5EF7_5017, /* 521 */ + 0xD423_09F0_3840_B8E0, /* 522 */ + 0x8EFC_1AD0_3589_8579, /* 523 */ + 0x96C6_920B_E2B2_ABC5, /* 524 */ + 0x66AF_4163_375A_9172, /* 525 */ + 0x2174_ABDC_CA71_27FB, /* 526 */ + 0xB33C_CEA6_4A72_FF41, /* 527 */ + 0xF04A_4933_0830_66A5, /* 528 */ + 0x8D97_0ACD_D728_9AF5, /* 529 */ + 0x8F96_E8E0_31C8_C25E, /* 530 */ + 0xF3FE_C022_7687_5D47, /* 531 */ + 0xEC7B_F310_0561_90DD, /* 532 */ + 0xF5AD_B0AE_BB0F_1491, /* 533 */ + 0x9B50_F885_0FD5_8892, /* 534 */ + 0x4975_4883_58B7_4DE8, /* 535 */ + 0xA335_4FF6_9153_1C61, /* 536 */ + 0x0702_BBE4_81D2_C6EE, /* 537 */ + 0x89FB_2405_7DED_ED98, /* 538 */ + 0xAC30_7513_8596_E902, /* 539 */ + 0x1D2D_3580_1727_72ED, /* 540 */ + 0xEB73_8FC2_8E6B_C30D, /* 541 */ + 0x5854_EF8F_6304_4326, /* 542 */ + 0x9E5C_5232_5ADD_3BBE, /* 543 */ + 0x90AA_53CF_325C_4623, /* 544 */ + 0xC1D2_4D51_349D_D067, /* 545 */ + 0x2051_CFEE_A69E_A624, /* 546 */ + 0x1322_0F0A_862E_7E4F, /* 547 */ + 0xCE39_3994_04E0_4864, /* 548 */ + 0xD9C4_2CA4_7086_FCB7, /* 549 */ + 0x685A_D223_8A03_E7CC, /* 550 */ + 0x0664_84B2_AB2F_F1DB, /* 551 */ + 0xFE9D_5D70_EFBF_79EC, /* 552 */ + 0x5B13_B9DD_9C48_1854, /* 553 */ + 0x15F0_D475_ED15_09AD, /* 554 */ + 0x0BEB_CD06_0EC7_9851, /* 555 */ + 0xD58C_6791_183A_B7F8, /* 556 */ + 0xD118_7C50_52F3_EEE4, /* 557 */ + 0xC95D_1192_E54E_82FF, /* 558 */ + 0x86EE_A14C_B9AC_6CA2, /* 559 */ + 0x3485_BEB1_5367_7D5D, /* 560 */ + 0xDD19_1D78_1F8C_492A, /* 561 */ + 0xF608_66BA_A784_EBF9, /* 562 */ + 0x518F_643B_A2D0_8C74, /* 563 */ + 0x8852_E956_E108_7C22, /* 564 */ + 0xA768_CB8D_C410_AE8D, /* 565 */ + 0x3804_7726_BFEC_8E1A, /* 566 */ + 0xA677_38B4_CD3B_45AA, /* 567 */ + 0xAD16_691C_EC0D_DE19, /* 568 */ + 0xC6D4_3193_8046_2E07, /* 569 */ + 0xC5A5_876D_0BA6_1938, /* 570 */ + 0x16B9_FA1F_A58F_D840, /* 571 */ + 0x188A_B117_3CA7_4F18, /* 572 */ + 0xABDA_2F98_C99C_021F, /* 573 */ + 0x3E05_80AB_134A_E816, /* 574 */ + 0x5F3B_05B7_7364_5ABB, /* 575 */ + 0x2501_A2BE_5575_F2F6, /* 576 */ + 0x1B2F_7400_4E7E_8BA9, /* 577 */ + 0x1CD7_5803_71E8_D953, /* 578 */ + 0x7F6E_D895_6276_4E30, /* 579 */ + 0xB159_26FF_596F_003D, /* 580 */ + 0x9F65_293D_A8C5_D6B9, /* 581 */ + 0x6ECE_F04D_D690_F84C, /* 582 */ + 0x4782_275F_FF33_AF88, /* 583 */ + 0xE414_3308_3F82_0801, /* 584 */ + 0xFD0D_FE40_9A1A_F9B5, /* 585 */ + 0x4325_A334_2CDB_396B, /* 586 */ + 0x8AE7_7E62_B301_B252, /* 587 */ + 0xC36F_9E9F_6655_615A, /* 588 */ + 0x8545_5A2D_92D3_2C09, /* 589 */ + 0xF2C7_DEA9_4947_7485, /* 590 */ + 0x63CF_B4C1_33A3_9EBA, /* 591 */ + 0x83B0_40CC_6EBC_5462, /* 592 */ + 0x3B94_54C8_FDB3_26B0, /* 593 */ + 0x56F5_6A9E_87FF_D78C, /* 594 */ + 0x2DC2_940D_99F4_2BC6, /* 595 */ + 0x98F7_DF09_6B09_6E2D, /* 596 */ + 0x19A6_E01E_3AD8_52BF, /* 597 */ + 0x42A9_9CCB_DBD4_B40B, /* 598 */ + 0xA599_98AF_45E9_C559, /* 599 */ + 0x3662_95E8_07D9_3186, /* 600 */ + 0x6B48_181B_FAA1_F773, /* 601 */ + 0x1FEC_57E2_157A_0A1D, /* 602 */ + 0x4667_446A_F620_1AD5, /* 603 */ + 0xE615_EBCA_CFB0_F075, /* 604 */ + 0xB8F3_1F4F_6829_0778, /* 605 */ + 0x2271_3ED6_CE22_D11E, /* 606 */ + 0x3057_C1A7_2EC3_C93B, /* 607 */ + 0xCB46_ACC3_7C3F_1F2F, /* 608 */ + 0xDBB8_93FD_02AA_F50E, /* 609 */ + 0x331F_D92E_600B_9FCF, /* 610 */ + 0xA498_F961_48EA_3AD6, /* 611 */ + 0xA8D8_426E_8B6A_83EA, /* 612 */ + 0xA089_B274_B773_5CDC, /* 613 */ + 0x87F6_B373_1E52_4A11, /* 614 */ + 0x1188_08E5_CBC9_6749, /* 615 */ + 0x9906_E4C7_B19B_D394, /* 616 */ + 0xAFED_7F7E_9B24_A20C, /* 617 */ + 0x6509_EADE_EB36_44A7, /* 618 */ + 0x6C1E_F1D3_E8EF_0EDE, /* 619 */ + 0xB9C9_7D43_E979_8FB4, /* 620 */ + 0xA2F2_D784_740C_28A3, /* 621 */ + 0x7B84_9647_6197_566F, /* 622 */ + 0x7A5B_E3E6_B65F_069D, /* 623 */ + 0xF963_30ED_78BE_6F10, /* 624 */ + 0xEEE6_0DE7_7A07_6A15, /* 625 */ + 0x2B4B_EE4A_A08B_9BD0, /* 626 */ + 0x6A56_A63E_C7B8_894E, /* 627 */ + 0x0212_1359_BA34_FEF4, /* 628 */ + 0x4CBF_99F8_2837_03FC, /* 629 */ + 0x3980_7135_0CAF_30C8, /* 630 */ + 0xD0A7_7A89_F017_687A, /* 631 */ + 0xF1C1_A9EB_9E42_3569, /* 632 */ + 0x8C79_7628_2DEE_8199, /* 633 */ + 0x5D17_37A5_DD1F_7ABD, /* 634 */ + 0x4F53_433C_09A9_FA80, /* 635 */ + 0xFA8B_0C53_DF7C_A1D9, /* 636 */ + 0x3FD9_DCBC_886C_CB77, /* 637 */ + 0xC040_917C_A91B_4720, /* 638 */ + 0x7DD0_0142_F9D1_DCDF, /* 639 */ + 0x8476_FC1D_4F38_7B58, /* 640 */ + 0x23F8_E7C5_F331_6503, /* 641 */ + 0x032A_2244_E7E3_7339, /* 642 */ + 0x5C87_A5D7_50F5_A74B, /* 643 */ + 0x082B_4CC4_3698_992E, /* 644 */ + 0xDF91_7BEC_B858_F63C, /* 645 */ + 0x3270_B8FC_5BF8_6DDA, /* 646 */ + 0x10AE_72BB_29B5_DD76, /* 647 */ + 0x576A_C94E_7700_362B, /* 648 */ + 0x1AD1_12DA_C61E_FB8F, /* 649 */ + 0x691B_C30E_C5FA_A427, /* 650 */ + 0xFF24_6311_CC32_7143, /* 651 */ + 0x3142_368E_30E5_3206, /* 652 */ + 0x7138_0E31_E02C_A396, /* 653 */ + 0x958D_5C96_0AAD_76F1, /* 654 */ + 0xF8D6_F430_C16D_A536, /* 655 */ + 0xC8FF_D13F_1BE7_E1D2, /* 656 */ + 0x7578_AE66_004D_DBE1, /* 657 */ + 0x0583_3F01_067B_E646, /* 658 */ + 0xBB34_B5AD_3BFE_586D, /* 659 */ + 0x095F_34C9_A12B_97F0, /* 660 */ + 0x247A_B645_25D6_0CA8, /* 661 */ + 0xDCDB_C6F3_0174_77D1, /* 662 */ + 0x4A2E_14D4_DECA_D24D, /* 663 */ + 0xBDB5_E6D9_BE0A_1EEB, /* 664 */ + 0x2A7E_70F7_7943_01AB, /* 665 */ + 0xDEF4_2D8A_2705_40FD, /* 666 */ + 0x0107_8EC0_A34C_22C1, /* 667 */ + 0xE5DE_511A_F4C1_6387, /* 668 */ + 0x7EBB_3A52_BD9A_330A, /* 669 */ + 0x7769_7857_AA7D_6435, /* 670 */ + 0x004E_8316_03AE_4C32, /* 671 */ + 0xE7A2_1020_AD78_E312, /* 672 */ + 0x9D41_A70C_6AB4_20F2, /* 673 */ + 0x28E0_6C18_EA11_41E6, /* 674 */ + 0xD2B2_8CBD_984F_6B28, /* 675 */ + 0x26B7_5F6C_446E_9D83, /* 676 */ + 0xBA47_568C_4D41_8D7F, /* 677 */ + 0xD80B_ADBF_E618_3D8E, /* 678 */ + 0x0E20_6D7F_5F16_6044, /* 679 */ + 0xE258_A439_11CB_CA3E, /* 680 */ + 0x723A_1746_B21D_C0BC, /* 681 */ + 0xC7CA_A854_F5D7_CDD3, /* 682 */ + 0x7CAC_3288_3D26_1D9C, /* 683 */ + 0x7690_C264_23BA_942C, /* 684 */ + 0x17E5_5524_4780_42B8, /* 685 */ + 0xE0BE_4776_56A2_389F, /* 686 */ + 0x4D28_9B5E_67AB_2DA0, /* 687 */ + 0x4486_2B9C_8FBB_FD31, /* 688 */ + 0xB47C_C804_9D14_1365, /* 689 */ + 0x822C_1B36_2B91_C793, /* 690 */ + 0x4EB1_4655_FB13_DFD8, /* 691 */ + 0x1ECB_BA07_14E2_A97B, /* 692 */ + 0x6143_459D_5CDE_5F14, /* 693 */ + 0x53A8_FBF1_D5F0_AC89, /* 694 */ + 0x97EA_04D8_1C5E_5B00, /* 695 */ + 0x6221_81A8_D4FD_B3F3, /* 696 */ + 0xE9BC_D341_572A_1208, /* 697 */ + 0x1411_2586_43CC_E58A, /* 698 */ + 0x9144_C5FE_A4C6_E0A4, /* 699 */ + 0x0D33_D065_65CF_620F, /* 700 */ + 0x54A4_8D48_9F21_9CA1, /* 701 */ + 0xC43E_5EAC_6D63_C821, /* 702 */ + 0xA972_8B3A_7277_0DAF, /* 703 */ + 0xD793_4E7B_20DF_87EF, /* 704 */ + 0xE355_03B6_1A3E_86E5, /* 705 */ + 0xCAE3_21FB_C819_D504, /* 706 */ + 0x129A_50B3_AC60_BFA6, /* 707 */ + 0xCD5E_68EA_7E9F_B6C3, /* 708 */ + 0xB01C_9019_9483_B1C7, /* 709 */ + 0x3DE9_3CD5_C295_376C, /* 710 */ + 0xAED5_2EDF_2AB9_AD13, /* 711 */ + 0x2E60_F512_C0A0_7884, /* 712 */ + 0xBC3D_86A3_E362_10C9, /* 713 */ + 0x3526_9D9B_1639_51CE, /* 714 */ + 0x0C7D_6E2A_D0CD_B5FA, /* 715 */ + 0x59E8_6297_D87F_5733, /* 716 */ + 0x298E_F221_898D_B0E7, /* 717 */ + 0x5500_0029_D1A5_AA7E, /* 718 */ + 0x8BC0_8AE1_B506_1B45, /* 719 */ + 0xC2C3_1C2B_6C92_703A, /* 720 */ + 0x94CC_596B_AF25_EF42, /* 721 */ + 0x0A1D_73DB_2254_0456, /* 722 */ + 0x04B6_A0F9_D9C4_179A, /* 723 */ + 0xEFFD_AFA2_AE3D_3C60, /* 724 */ + 0xF7C8_075B_B494_96C4, /* 725 */ + 0x9CC5_C714_1D1C_D4E3, /* 726 */ + 0x78BD_1638_218E_5534, /* 727 */ + 0xB2F1_1568_F850_246A, /* 728 */ + 0xEDFA_BCFA_9502_BC29, /* 729 */ + 0x796C_E5F2_DA23_051B, /* 730 */ + 0xAAE1_28B0_DC93_537C, /* 731 */ + 0x3A49_3DA0_EE4B_29AE, /* 732 */ + 0xB5DF_6B2C_4168_95D7, /* 733 */ + 0xFCAB_BD25_122D_7F37, /* 734 */ + 0x7081_0B58_105D_C4B1, /* 735 */ + 0xE10F_DD37_F788_2A90, /* 736 */ + 0x524D_CAB5_518A_3F5C, /* 737 */ + 0x3C9E_8587_8451_255B, /* 738 */ + 0x4029_8281_19BD_34E2, /* 739 */ + 0x74A0_5B6F_5D3C_ECCB, /* 740 */ + 0xB610_0215_42E1_3ECA, /* 741 */ + 0x0FF9_79D1_2F59_E2AC, /* 742 */ + 0x6037_DA27_E4F9_CC50, /* 743 */ + 0x5E92_975A_0DF1_847D, /* 744 */ + 0xD66D_E190_D3E6_23FE, /* 745 */ + 0x5032_D6B8_7B56_8048, /* 746 */ + 0x9A36_B7CE_8235_216E, /* 747 */ + 0x8027_2A7A_24F6_4B4A, /* 748 */ + 0x93EF_ED8B_8C69_16F7, /* 749 */ + 0x37DD_BFF4_4CCE_1555, /* 750 */ + 0x4B95_DB5D_4B99_BD25, /* 751 */ + 0x92D3_FDA1_6981_2FC0, /* 752 */ + 0xFB1A_4A9A_9066_0BB6, /* 753 */ + 0x730C_1969_46A4_B9B2, /* 754 */ + 0x81E2_89AA_7F49_DA68, /* 755 */ + 0x6466_9A0F_83B1_A05F, /* 756 */ + 0x27B3_FF7D_9644_F48B, /* 757 */ + 0xCC6B_615C_8DB6_75B3, /* 758 */ + 0x674F_20B9_BCEB_BE95, /* 759 */ + 0x6F31_2382_7565_5982, /* 760 */ + 0x5AE4_8871_3E45_CF05, /* 761 */ + 0xBF61_9F99_54C2_1157, /* 762 */ + 0xEABA_C460_40A8_EAE9, /* 763 */ + 0x454C_6FE9_F2C0_C1CD, /* 764 */ + 0x419C_F649_6412_691C, /* 765 */ + 0xD3DC_3BEF_265B_0F70, /* 766 */ + 0x6D0E_60F5_C357_8A9E, /* 767 */ +]; +static T4: [u64; 256] = [ + 0x5B0E_6085_2632_3C55, /* 768 */ + 0x1A46_C1A9_FA1B_59F5, /* 769 */ + 0xA9E2_45A1_7C4C_8FFA, /* 770 */ + 0x65CA_5159_DB29_55D7, /* 771 */ + 0x05DB_0A76_CE35_AFC2, /* 772 */ + 0x81EA_C77E_A911_3D45, /* 773 */ + 0x528E_F88A_B6AC_0A0D, /* 774 */ + 0xA09E_A253_597B_E3FF, /* 775 */ + 0x430D_DFB3_AC48_CD56, /* 776 */ + 0xC4B3_A67A_F45C_E46F, /* 777 */ + 0x4ECE_CFD8_FBE2_D05E, /* 778 */ + 0x3EF5_6F10_B399_35F0, /* 779 */ + 0x0B22_D682_9CD6_19C6, /* 780 */ + 0x17FD_460A_74DF_2069, /* 781 */ + 0x6CF8_CC8E_8510_ED40, /* 782 */ + 0xD6C8_24BF_3A6E_CAA7, /* 783 */ + 0x6124_3D58_1A81_7049, /* 784 */ + 0x048B_ACB6_BBC1_63A2, /* 785 */ + 0xD9A3_8AC2_7D44_CC32, /* 786 */ + 0x7FDD_FF5B_AAF4_10AB, /* 787 */ + 0xAD6D_495A_A804_824B, /* 788 */ + 0xE1A6_A74F_2D8C_9F94, /* 789 */ + 0xD4F7_8512_35DE_E8E3, /* 790 */ + 0xFD4B_7F88_6540_D893, /* 791 */ + 0x247C_2004_2AA4_BFDA, /* 792 */ + 0x096E_A1C5_17D1_327C, /* 793 */ + 0xD569_66B4_361A_6685, /* 794 */ + 0x277D_A5C3_1221_057D, /* 795 */ + 0x94D5_9893_A43A_CFF7, /* 796 */ + 0x64F0_C51C_CDC0_2281, /* 797 */ + 0x3D33_BCC4_FF61_89DB, /* 798 */ + 0xE005_CB18_4CE6_6AF1, /* 799 */ + 0xFF5C_CD1D_1DB9_9BEA, /* 800 */ + 0xB0B8_54A7_FE42_980F, /* 801 */ + 0x7BD4_6A6A_718D_4B9F, /* 802 */ + 0xD10F_A8CC_22A5_FD8C, /* 803 */ + 0xD314_8495_2BE4_BD31, /* 804 */ + 0xC7FA_975F_CB24_3847, /* 805 */ + 0x4886_ED1E_5846_C407, /* 806 */ + 0x28CD_DB79_1EB7_0B04, /* 807 */ + 0xC2B0_0BE2_F573_417F, /* 808 */ + 0x5C95_9045_2180_F877, /* 809 */ + 0x7A6B_DDFF_F370_EB00, /* 810 */ + 0xCE50_9E38_D6D9_D6A4, /* 811 */ + 0xEBEB_0F00_647F_A702, /* 812 */ + 0x1DCC_06CF_7660_6F06, /* 813 */ + 0xE4D9_F28B_A286_FF0A, /* 814 */ + 0xD85A_305D_C918_C262, /* 815 */ + 0x475B_1D87_3222_5F54, /* 816 */ + 0x2D4F_B516_68CC_B5FE, /* 817 */ + 0xA679_B9D9_D72B_BA20, /* 818 */ + 0x5384_1C0D_912D_43A5, /* 819 */ + 0x3B7E_AA48_BF12_A4E8, /* 820 */ + 0x781E_0E47_F22F_1DDF, /* 821 */ + 0xEFF2_0CE6_0AB5_0973, /* 822 */ + 0x20D2_61D1_9DFF_B742, /* 823 */ + 0x16A1_2B03_062A_2E39, /* 824 */ + 0x1960_EB22_3965_0495, /* 825 */ + 0x251C_16FE_D50E_B8B8, /* 826 */ + 0x9AC0_C330_F826_016E, /* 827 */ + 0xED15_2665_953E_7671, /* 828 */ + 0x02D6_3194_A636_9570, /* 829 */ + 0x5074_F083_94B1_C987, /* 830 */ + 0x70BA_598C_90B2_5CE1, /* 831 */ + 0x794A_1581_0B97_42F6, /* 832 */ + 0x0D59_25E9_FCAF_8C6C, /* 833 */ + 0x3067_716C_D868_744E, /* 834 */ + 0x910A_B077_E8D7_731B, /* 835 */ + 0x6A61_BBDB_5AC4_2F61, /* 836 */ + 0x9351_3EFB_F085_1567, /* 837 */ + 0xF494_724B_9E83_E9D5, /* 838 */ + 0xE887_E198_5C09_648D, /* 839 */ + 0x34B1_D3C6_7537_0CFD, /* 840 */ + 0xDC35_E433_BC0D_255D, /* 841 */ + 0xD0AA_B842_3413_1BE0, /* 842 */ + 0x0804_2A50_B48B_7EAF, /* 843 */ + 0x9997_C4EE_44A3_AB35, /* 844 */ + 0x829A_7B49_2017_99D0, /* 845 */ + 0x263B_8307_B7C5_4441, /* 846 */ + 0x752F_95F4_FD6A_6CA6, /* 847 */ + 0x9272_1740_2C08_C6E5, /* 848 */ + 0x2A8A_B754_A795_D9EE, /* 849 */ + 0xA442_F755_2F72_943D, /* 850 */ + 0x2C31_334E_1978_1208, /* 851 */ + 0x4FA9_8D7C_EAEE_6291, /* 852 */ + 0x55C3_862F_665D_B309, /* 853 */ + 0xBD06_1017_5D53_B1F3, /* 854 */ + 0x46FE_6CB8_4041_3F27, /* 855 */ + 0x3FE0_3792_DF0C_FA59, /* 856 */ + 0xCFE7_0037_2EB8_5E8F, /* 857 */ + 0xA7BE_29E7_ADBC_E118, /* 858 */ + 0xE544_EE5C_DE84_31DD, /* 859 */ + 0x8A78_1B1B_41F1_873E, /* 860 */ + 0xA5C9_4C78_A0D2_F0E7, /* 861 */ + 0x3941_2E28_77B6_0728, /* 862 */ + 0xA126_5EF3_AFC9_A62C, /* 863 */ + 0xBCC2_770C_6A25_06C5, /* 864 */ + 0x3AB6_6DD5_DCE1_CE12, /* 865 */ + 0xE654_99D0_4A67_5B37, /* 866 */ + 0x7D8F_5234_81BF_D216, /* 867 */ + 0x0F6F_64FC_EC15_F389, /* 868 */ + 0x74EF_BE61_8B5B_13C8, /* 869 */ + 0xACDC_82B7_1427_3E1D, /* 870 */ + 0xDD40_BFE0_0319_9D17, /* 871 */ + 0x37E9_9257_E7E0_61F8, /* 872 */ + 0xFA52_6269_0477_5AAA, /* 873 */ + 0x8BBB_F63A_463D_56F9, /* 874 */ + 0xF001_3F15_43A2_6E64, /* 875 */ + 0xA830_7E9F_879E_C898, /* 876 */ + 0xCC4C_27A4_1501_77CC, /* 877 */ + 0x1B43_2F2C_CA1D_3348, /* 878 */ + 0xDE1D_1F8F_9F6F_A013, /* 879 */ + 0x6066_02A0_47A7_DDD6, /* 880 */ + 0xD237_AB64_CC1C_B2C7, /* 881 */ + 0x9B93_8E72_25FC_D1D3, /* 882 */ + 0xEC4E_0370_8E0F_F476, /* 883 */ + 0xFEB2_FBDA_3D03_C12D, /* 884 */ + 0xAE0B_CED2_EE43_889A, /* 885 */ + 0x22CB_8923_EBFB_4F43, /* 886 */ + 0x6936_0D01_3CF7_396D, /* 887 */ + 0x855E_3602_D2D4_E022, /* 888 */ + 0x0738_05BA_D01F_784C, /* 889 */ + 0x33E1_7A13_3852_F546, /* 890 */ + 0xDF48_7405_8AC7_B638, /* 891 */ + 0xBA92_B29C_678A_A14A, /* 892 */ + 0x0CE8_9FC7_6CFA_ADCD, /* 893 */ + 0x5F9D_4E09_0833_9E34, /* 894 */ + 0xF1AF_E929_1F59_23B9, /* 895 */ + 0x6E34_80F6_0F4A_265F, /* 896 */ + 0xEEBF_3A2A_B29B_841C, /* 897 */ + 0xE219_38A8_8F91_B4AD, /* 898 */ + 0x57DF_EFF8_45C6_D3C3, /* 899 */ + 0x2F00_6B0B_F62C_AAF2, /* 900 */ + 0x62F4_79EF_6F75_EE78, /* 901 */ + 0x11A5_5AD4_1C89_16A9, /* 902 */ + 0xF229_D290_84FE_D453, /* 903 */ + 0x42F1_C27B_16B0_00E6, /* 904 */ + 0x2B1F_7674_9823_C074, /* 905 */ + 0x4B76_ECA3_C274_5360, /* 906 */ + 0x8C98_F463_B916_91BD, /* 907 */ + 0x14BC_C93C_F1AD_E66A, /* 908 */ + 0x8885_213E_6D45_8397, /* 909 */ + 0x8E17_7DF0_274D_4711, /* 910 */ + 0xB49B_73B5_503F_2951, /* 911 */ + 0x1016_8168_C3F9_6B6B, /* 912 */ + 0x0E3D_963B_63CA_B0AE, /* 913 */ + 0x8DFC_4B56_55A1_DB14, /* 914 */ + 0xF789_F135_6E14_DE5C, /* 915 */ + 0x683E_68AF_4E51_DAC1, /* 916 */ + 0xC9A8_4F9D_8D4B_0FD9, /* 917 */ + 0x3691_E03F_52A0_F9D1, /* 918 */ + 0x5ED8_6E46_E187_8E80, /* 919 */ + 0x3C71_1A0E_99D0_7150, /* 920 */ + 0x5A08_65B2_0C4E_9310, /* 921 */ + 0x56FB_FC1F_E4F0_682E, /* 922 */ + 0xEA8D_5DE3_105E_DF9B, /* 923 */ + 0x71AB_FDB1_2379_187A, /* 924 */ + 0x2EB9_9DE1_BEE7_7B9C, /* 925 */ + 0x21EC_C0EA_33CF_4523, /* 926 */ + 0x59A4_D752_1805_C7A1, /* 927 */ + 0x3896_F5EB_56AE_7C72, /* 928 */ + 0xAA63_8F3D_B18F_75DC, /* 929 */ + 0x9F39_358D_ABE9_808E, /* 930 */ + 0xB7DE_FA91_C00B_72AC, /* 931 */ + 0x6B55_41FD_6249_2D92, /* 932 */ + 0x6DC6_DEE8_F92E_4D5B, /* 933 */ + 0x353F_57AB_C4BE_EA7E, /* 934 */ + 0x7357_69D6_DA56_90CE, /* 935 */ + 0x0A23_4AA6_4239_1484, /* 936 */ + 0xF6F9_5080_28F8_0D9D, /* 937 */ + 0xB8E3_19A2_7AB3_F215, /* 938 */ + 0x31AD_9C11_5134_1A4D, /* 939 */ + 0x773C_22A5_7BEF_5805, /* 940 */ + 0x45C7_561A_0796_8633, /* 941 */ + 0xF913_DA9E_249D_BE36, /* 942 */ + 0xDA65_2D9B_78A6_4C68, /* 943 */ + 0x4C27_A97F_3BC3_34EF, /* 944 */ + 0x7662_1220_E66B_17F4, /* 945 */ + 0x9677_4389_9ACD_7D0B, /* 946 */ + 0xF3EE_5BCA_E0ED_6782, /* 947 */ + 0x409F_7536_00C8_79FC, /* 948 */ + 0x06D0_9A39_B592_6DB6, /* 949 */ + 0x6F83_AEB0_317A_C588, /* 950 */ + 0x01E6_CA4A_8638_1F21, /* 951 */ + 0x66FF_3462_D19F_3025, /* 952 */ + 0x7220_7C24_DDFD_3BFB, /* 953 */ + 0x4AF6_B6D3_E2EC_E2EB, /* 954 */ + 0x9C99_4DBE_C7EA_08DE, /* 955 */ + 0x49AC_E597_B09A_8BC4, /* 956 */ + 0xB38C_4766_CF07_97BA, /* 957 */ + 0x131B_9373_C57C_2A75, /* 958 */ + 0xB182_2CCE_6193_1E58, /* 959 */ + 0x9D75_55B9_09BA_1C0C, /* 960 */ + 0x127F_AFDD_937D_11D2, /* 961 */ + 0x29DA_3BAD_C66D_92E4, /* 962 */ + 0xA2C1_D571_54C2_ECBC, /* 963 */ + 0x58C5_134D_82F6_FE24, /* 964 */ + 0x1C3A_E351_5B62_274F, /* 965 */ + 0xE907_C82E_01CB_8126, /* 966 */ + 0xF8ED_0919_13E3_7FCB, /* 967 */ + 0x3249_D8F9_C800_46C9, /* 968 */ + 0x80CF_9BED_E388_FB63, /* 969 */ + 0x1881_539A_116C_F19E, /* 970 */ + 0x5103_F3F7_6BD5_2457, /* 971 */ + 0x15B7_E6F5_AE47_F7A8, /* 972 */ + 0xDBD7_C6DE_D47E_9CCF, /* 973 */ + 0x44E5_5C41_0228_BB1A, /* 974 */ + 0xB647_D425_5EDB_4E99, /* 975 */ + 0x5D11_882B_B8AA_FC30, /* 976 */ + 0xF509_8BBB_29D3_212A, /* 977 */ + 0x8FB5_EA14_E902_96B3, /* 978 */ + 0x677B_9421_57DD_025A, /* 979 */ + 0xFB58_E7C0_A390_ACB5, /* 980 */ + 0x89D3_674C_83BD_4A01, /* 981 */ + 0x9E2D_A4DF_4BF3_B93B, /* 982 */ + 0xFCC4_1E32_8CAB_4829, /* 983 */ + 0x03F3_8C96_BA58_2C52, /* 984 */ + 0xCAD1_BDBD_7FD8_5DB2, /* 985 */ + 0xBBB4_42C1_6082_AE83, /* 986 */ + 0xB95F_E86B_A5DA_9AB0, /* 987 */ + 0xB22E_0467_3771_A93F, /* 988 */ + 0x8453_58C9_4931_52D8, /* 989 */ + 0xBE2A_4886_97B4_541E, /* 990 */ + 0x95A2_DC2D_D38E_6966, /* 991 */ + 0xC02C_11AC_923C_852B, /* 992 */ + 0x2388_B199_0DF2_A87B, /* 993 */ + 0x7C80_08FA_1B4F_37BE, /* 994 */ + 0x1F70_D0C8_4D54_E503, /* 995 */ + 0x5490_ADEC_7ECE_57D4, /* 996 */ + 0x002B_3C27_D906_3A3A, /* 997 */ + 0x7EAE_A384_8030_A2BF, /* 998 */ + 0xC602_326D_ED20_03C0, /* 999 */ + 0x83A7_287D_69A9_4086, /* 1000 */ + 0xC57A_5FCB_30F5_7A8A, /* 1001 */ + 0xB568_44E4_79EB_E779, /* 1002 */ + 0xA373_B40F_05DC_BCE9, /* 1003 */ + 0xD71A_786E_8857_0EE2, /* 1004 */ + 0x879C_BACD_BDE8_F6A0, /* 1005 */ + 0x976A_D1BC_C164_A32F, /* 1006 */ + 0xAB21_E25E_9666_D78B, /* 1007 */ + 0x9010_63AA_E5E5_C33C, /* 1008 */ + 0x9818_B344_4869_8D90, /* 1009 */ + 0xE364_87AE_3E1E_8ABB, /* 1010 */ + 0xAFBD_F931_893B_DCB4, /* 1011 */ + 0x6345_A0DC_5FBB_D519, /* 1012 */ + 0x8628_FE26_9B94_65CA, /* 1013 */ + 0x1E5D_0160_3F9C_51EC, /* 1014 */ + 0x4DE4_4006_A150_49B7, /* 1015 */ + 0xBF6C_70E5_F776_CBB1, /* 1016 */ + 0x4112_18F2_EF55_2BED, /* 1017 */ + 0xCB0C_0708_705A_36A3, /* 1018 */ + 0xE74D_1475_4F98_6044, /* 1019 */ + 0xCD56_D943_0EA8_280E, /* 1020 */ + 0xC125_91D7_535F_5065, /* 1021 */ + 0xC832_23F1_720A_EF96, /* 1022 */ + 0xC3A0_396F_7363_A51F, /* 1023 */ +]; From 04b74740f11e3cf1fa8b934aaac0c103a45e0dbe Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 5 Feb 2021 07:56:19 -0800 Subject: [PATCH 129/373] tiger v0.1.0 (#230) --- Cargo.lock | 2 +- tiger/CHANGELOG.md | 9 +++++++++ tiger/Cargo.toml | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 tiger/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index da05d99a3..a0c2b0c3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -306,7 +306,7 @@ checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" [[package]] name = "tiger" -version = "0.0.0" +version = "0.1.0" dependencies = [ "block-buffer", "byteorder", diff --git a/tiger/CHANGELOG.md b/tiger/CHANGELOG.md new file mode 100644 index 000000000..ed74940b2 --- /dev/null +++ b/tiger/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2021-02-05) +- Initial release diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 6eb07f4ad..144833559 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tiger" -version = "0.0.0" +version = "0.1.0" description = "Tiger hash function" authors = ["Ulrik Mikaelsson ", "RustCrypto Developers"] license = "MIT OR Apache-2.0" From 27c0b8b90ad3c51fe3dc93ce7df38b7458efcc6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Feb 2021 08:36:47 +0000 Subject: [PATCH 130/373] build(deps): bump libc from 0.2.85 to 0.2.86 (#231) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a0c2b0c3c..48a3e882d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.85" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3" +checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 0e0e6b460..aa9a90bbd 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.85", optional = true } +libc = { version = "0.2.86", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index ec046f594..980d1a2aa 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.85", optional = true } +libc = { version = "0.2.86", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 4afe8c79588725882611c44beb4b3edb0456c796 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 12 Feb 2021 21:54:15 +0000 Subject: [PATCH 131/373] Rename deps to deps-link --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 44916275d..af26e26fa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps] +# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] Collection of [cryptographic hash functions][1] written in pure Rust. @@ -199,7 +199,7 @@ dual licensed as above, without any additional terms or conditions. [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg -[deps]: https://deps.rs/repo/github/RustCrypto/hashes +[deps-link]: https://deps.rs/repo/github/RustCrypto/hashes [//]: # (footnotes) @@ -227,4 +227,4 @@ dual licensed as above, without any additional terms or conditions. [SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf [Streebog]: https://en.wikipedia.org/wiki/Streebog [Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography) -[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html \ No newline at end of file +[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html From c389db3fe527ebccb285be01f9cac9f7dba9268c Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 16 Feb 2021 15:26:05 +0000 Subject: [PATCH 132/373] sha1: expose compression function (#238) --- .github/workflows/sha1.yml | 1 + Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 10 +++++++--- sha1/src/compress.rs | 2 ++ sha1/src/lib.rs | 4 ++++ 6 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 9baefe689..2eeadd6b4 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -54,3 +54,4 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --features asm + - run: cargo test --all-features diff --git a/Cargo.lock b/Cargo.lock index 48a3e882d..f136f496e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -223,7 +223,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.3" +version = "0.9.4" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 335ad2d89..44c7c1a92 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.4 (2021-02-16) +### Added +- Expose compression function under the `compress` feature flag. ([#238]) + +[#238]: https://github.com/RustCrypto/hashes/pull/238 + ## 0.9.3 (2021-02-01) ### Changed - Use SHA1 intrinsics when `asm` feature is enabled. ([#225]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index aa9a90bbd..8b4141895 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.3" +version = "0.9.4" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -35,8 +35,12 @@ hex-literal = "0.2" default = ["std"] std = ["digest/std"] asm = ["sha1-asm", "libc"] -# Force software implementation -force-soft = [] +compress = [] # Expose compress function +force-soft = [] # Force software implementation # DEPRECATED: use `asm` instead asm-aarch64 = ["asm"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index 1370bf84e..6817ab589 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -28,6 +28,8 @@ cfg_if::cfg_if! { } } +/// SHA-1 compression function +#[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress(state: &mut [u32; 5], blocks: &[GenericArray]) { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 3ad62ce86..52efb11bf 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -24,6 +24,7 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] +#![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" @@ -37,6 +38,9 @@ extern crate std; mod compress; mod consts; +#[cfg(feature = "compress")] +pub use crate::compress::compress; +#[cfg(not(feature = "compress"))] use crate::compress::compress; use crate::consts::{H, STATE_LEN}; use block_buffer::BlockBuffer; From 68ad45c50ee5d5a455ba154679a8a919233f7f9c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 24 Feb 2021 09:55:29 -0800 Subject: [PATCH 133/373] .github: fix missing `override: true` on clippy check (#241) Wasn't respecting the pinned MSRV, causing an error on #240 since a new lint was introduced. --- .github/workflows/workspace.yml | 6 ++++-- tiger/src/lib.rs | 1 + whirlpool/src/lib.rs | 2 +- whirlpool/src/utils.rs | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 65747058d..653d193b4 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -16,9 +16,10 @@ jobs: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: - profile: minimal toolchain: 1.41.0 # MSRV components: clippy + profile: minimal + override: true - run: cargo clippy --all -- -D warnings rustfmt: @@ -30,9 +31,10 @@ jobs: - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: - profile: minimal toolchain: stable components: rustfmt + profile: minimal + override: true - name: Run cargo fmt uses: actions-rs/cargo@v1 diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 3f9bb96df..9996735a2 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -120,6 +120,7 @@ impl Tiger { } #[inline] + #[allow(clippy::trivially_copy_pass_by_ref)] fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { *c ^= *x; let mut c_: [u8; 8] = Default::default(); diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 830064167..1a2b6d62d 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -145,7 +145,7 @@ impl Whirlpool { if pos + 1 > self.bit_length.len() { compress(hash, convert(buf)); - buf[..(pos + 1)].iter_mut().for_each(|b| *b = 0); + buf[..=pos].iter_mut().for_each(|b| *b = 0); } buf[32..].copy_from_slice(&self.bit_length); diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs index af6540d96..53312ce7f 100644 --- a/whirlpool/src/utils.rs +++ b/whirlpool/src/utils.rs @@ -17,7 +17,7 @@ pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { } #[allow(clippy::needless_range_loop)] - for r in 1..(R + 1) { + for r in 1..=R { for i in 0..8 { l[i] = C0[(k[(i) % 8] >> 56) as usize] ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] From ca0b4ba07d1c5e9b0cb503dd1c6c467d7b3e0359 Mon Sep 17 00:00:00 2001 From: Jack Lloyd Date: Wed, 24 Feb 2021 12:55:47 -0500 Subject: [PATCH 134/373] Update cpuid-bool dependency to 0.2 (#240) --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha1/src/compress/x86.rs | 4 +++- sha2/Cargo.toml | 2 +- sha2/src/sha256/x86.rs | 4 +++- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f136f496e..99b68c8eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpuid-bool" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" [[package]] name = "crypto-mac" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 8b4141895..f7daf31ee 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpuid-bool = "0.1" +cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.86", optional = true } diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index 05d90cc98..0c99da5ac 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -95,10 +95,12 @@ unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { state[4] = _mm_extract_epi32(state_e, 3) as u32; } +cpuid_bool::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); + pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization - if cpuid_bool::cpuid_bool!("sha", "sse2", "ssse3", "sse4.1") { + if shani_cpuid::get() { unsafe { digest_blocks(state, blocks); } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 980d1a2aa..fd57eecf0 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha2-asm = { version = "0.5", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpuid-bool = "0.1" +cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.86", optional = true } diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs index 04a7d26d0..af45b8c25 100644 --- a/sha2/src/sha256/x86.rs +++ b/sha2/src/sha256/x86.rs @@ -95,10 +95,12 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { _mm_storeu_si128(state_ptr_mut.add(1), hgef); } +cpuid_bool::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); + pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization - if cpuid_bool::cpuid_bool!("sha", "sse2", "ssse3", "sse4.1") { + if shani_cpuid::get() { unsafe { digest_blocks(state, blocks); } From ad19dffcbed1e629b57e51f8f2d85e805bd6efee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Mar 2021 05:26:45 -0800 Subject: [PATCH 135/373] build(deps): bump libc from 0.2.86 to 0.2.88 (#244) Bumps [libc](https://github.com/rust-lang/libc) from 0.2.86 to 0.2.88. - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](https://github.com/rust-lang/libc/compare/0.2.86...0.2.88) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99b68c8eb..7b7079c00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c" +checksum = "03b07a082330a35e43f63177cc01689da34fbffa0105e1246cf0311472cac73a" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index f7daf31ee..f059540db 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.86", optional = true } +libc = { version = "0.2.88", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index fd57eecf0..b9e47af15 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.86", optional = true } +libc = { version = "0.2.88", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 1c1182c8b8e9aee5f3e082b77b9a6cb1d273350f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 5 Apr 2021 10:26:05 -0700 Subject: [PATCH 136/373] rustfmt (#253) Formats all crates using Rust 1.51's rustfmt: rustfmt 1.4.36-stable (7de6968e 2021-02-07) --- blake2/src/blake2.rs | 111 +++++++++++++++++++++++----------------- sha2/src/sha256/soft.rs | 1 - sha2/src/sha256/x86.rs | 6 +-- sha2/src/sha512/soft.rs | 1 - sha3/src/macros.rs | 7 +-- 5 files changed, 72 insertions(+), 54 deletions(-) diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs index 4091365f1..3255a30e9 100644 --- a/blake2/src/blake2.rs +++ b/blake2/src/blake2.rs @@ -4,16 +4,15 @@ macro_rules! blake2_impl { $block_size:ident, $R1:expr, $R2:expr, $R3:expr, $R4:expr, $IV:expr, $vardoc:expr, $doc:expr, ) => { - use $crate::as_bytes::AsBytes; - use $crate::simd::{Vector4, $vec}; + use $crate::simd::{$vec, Vector4}; - use digest::{Update, BlockInput, FixedOutputDirty, VariableOutputDirty, Reset}; - use digest::InvalidOutputSize; - use digest::generic_array::GenericArray; - use digest::generic_array::typenum::{U4, Unsigned}; use core::{cmp, convert::TryInto, ops::Div}; use crypto_mac::{InvalidKeyLength, Mac, NewMac}; + use digest::generic_array::typenum::{Unsigned, U4}; + use digest::generic_array::GenericArray; + use digest::InvalidOutputSize; + use digest::{BlockInput, FixedOutputDirty, Reset, Update, VariableOutputDirty}; type Output = GenericArray; @@ -31,9 +30,13 @@ macro_rules! blake2_impl { } #[inline(always)] - fn iv0() -> $vec { $vec::new($IV[0], $IV[1], $IV[2], $IV[3]) } + fn iv0() -> $vec { + $vec::new($IV[0], $IV[1], $IV[2], $IV[3]) + } #[inline(always)] - fn iv1() -> $vec { $vec::new($IV[4], $IV[5], $IV[6], $IV[7]) } + fn iv1() -> $vec { + $vec::new($IV[4], $IV[5], $IV[6], $IV[7]) + } #[inline(always)] fn quarter_round(v: &mut [$vec; 4], rd: u32, rb: u32, m: $vec) { @@ -59,16 +62,12 @@ macro_rules! blake2_impl { #[inline(always)] fn round(v: &mut [$vec; 4], m: &[$word; 16], s: &[usize; 16]) { - quarter_round(v, $R1, $R2, $vec::gather(m, - s[ 0], s[ 2], s[ 4], s[ 6])); - quarter_round(v, $R3, $R4, $vec::gather(m, - s[ 1], s[ 3], s[ 5], s[ 7])); + quarter_round(v, $R1, $R2, $vec::gather(m, s[0], s[2], s[4], s[6])); + quarter_round(v, $R3, $R4, $vec::gather(m, s[1], s[3], s[5], s[7])); shuffle(v); - quarter_round(v, $R1, $R2, $vec::gather(m, - s[ 8], s[10], s[12], s[14])); - quarter_round(v, $R3, $R4, $vec::gather(m, - s[ 9], s[11], s[13], s[15])); + quarter_round(v, $R1, $R2, $vec::gather(m, s[8], s[10], s[12], s[14])); + quarter_round(v, $R3, $R4, $vec::gather(m, s[9], s[11], s[13], s[15])); unshuffle(v); } @@ -83,45 +82,62 @@ macro_rules! blake2_impl { } /// Creates a new hashing context with the full set of sequential-mode parameters. - pub fn with_params(key: &[u8], salt: &[u8], persona: &[u8], output_size: usize) -> Self { + pub fn with_params( + key: &[u8], + salt: &[u8], + persona: &[u8], + output_size: usize, + ) -> Self { let kk = key.len(); assert!(kk <= $bytes::to_usize()); assert!(output_size <= $bytes::to_usize()); // The number of bytes needed to express two words. - let length = $bytes::to_usize()/4; + let length = $bytes::to_usize() / 4; assert!(salt.len() <= length); assert!(persona.len() <= length); // Build a parameter block let mut p = [0 as $word; 8]; - p[0] = 0x0101_0000 ^ ((kk as $word) << 8) ^ - (output_size as $word); + p[0] = 0x0101_0000 ^ ((kk as $word) << 8) ^ (output_size as $word); // salt is two words long if salt.len() < length { - let mut padded_salt = GenericArray::>::Output>::default(); + let mut padded_salt = + GenericArray::>::Output>::default(); for i in 0..salt.len() { padded_salt[i] = salt[i]; } - p[4] = $word::from_le_bytes(padded_salt[0 .. length/2].try_into().unwrap()); - p[5] = $word::from_le_bytes(padded_salt[length/2 .. padded_salt.len()].try_into().unwrap()); + p[4] = $word::from_le_bytes(padded_salt[0..length / 2].try_into().unwrap()); + p[5] = $word::from_le_bytes( + padded_salt[length / 2..padded_salt.len()] + .try_into() + .unwrap(), + ); } else { - p[4] = $word::from_le_bytes(salt[0 .. salt.len()/2].try_into().unwrap()); - p[5] = $word::from_le_bytes(salt[salt.len()/2 .. salt.len()].try_into().unwrap()); + p[4] = $word::from_le_bytes(salt[0..salt.len() / 2].try_into().unwrap()); + p[5] = + $word::from_le_bytes(salt[salt.len() / 2..salt.len()].try_into().unwrap()); } // persona is also two words long if persona.len() < length { - let mut padded_persona = GenericArray::>::Output>::default(); + let mut padded_persona = + GenericArray::>::Output>::default(); for i in 0..persona.len() { padded_persona[i] = persona[i]; } - p[6] = $word::from_le_bytes(padded_persona[0 .. length/2].try_into().unwrap()); - p[7] = $word::from_le_bytes(padded_persona[length/2 .. padded_persona.len()].try_into().unwrap()); + p[6] = $word::from_le_bytes(padded_persona[0..length / 2].try_into().unwrap()); + p[7] = $word::from_le_bytes( + padded_persona[length / 2..padded_persona.len()] + .try_into() + .unwrap(), + ); } else { - p[6] = $word::from_le_bytes(persona[0 .. length/2].try_into().unwrap()); - p[7] = $word::from_le_bytes(persona[length/2 .. persona.len()].try_into().unwrap()); + p[6] = $word::from_le_bytes(persona[0..length / 2].try_into().unwrap()); + p[7] = $word::from_le_bytes( + persona[length / 2..persona.len()].try_into().unwrap(), + ); } let mut state = Self::with_parameter_block(&p); @@ -174,7 +190,9 @@ macro_rules! blake2_impl { rest = &rest[part.len()..]; copy(part, &mut self.m.as_mut_bytes()[off..]); - self.t = self.t.checked_add(part.len() as u64) + self.t = self + .t + .checked_add(part.len() as u64) .expect("hash data length overflow"); } @@ -185,7 +203,9 @@ macro_rules! blake2_impl { rest = &rest[part.len()..]; copy(part, &mut self.m.as_mut_bytes()); - self.t = self.t.checked_add(part.len() as u64) + self.t = self + .t + .checked_add(part.len() as u64) .expect("hash data length overflow"); } @@ -194,7 +214,9 @@ macro_rules! blake2_impl { self.compress(0, 0); copy(rest, &mut self.m.as_mut_bytes()); - self.t = self.t.checked_add(rest.len() as u64) + self.t = self + .t + .checked_add(rest.len() as u64) .expect("hash data length overflow"); } } @@ -204,7 +226,6 @@ macro_rules! blake2_impl { self.finalize_with_flag(!0) } - fn finalize_with_flag(&mut self, f1: $word) -> Output { let off = self.t as usize % (2 * $bytes::to_usize()); if off != 0 { @@ -230,15 +251,10 @@ macro_rules! blake2_impl { let t1 = match $bytes::to_u8() { 64 => 0, 32 => (self.t >> 32) as $word, - _ => unreachable!(), + _ => unreachable!(), }; - let mut v = [ - h[0], - h[1], - iv0(), - iv1() ^ $vec::new(t0, t1, f0, f1), - ]; + let mut v = [h[0], h[1], iv0(), iv1() ^ $vec::new(t0, t1, f0, f1)]; round(&mut v, m, &SIGMA[0]); round(&mut v, m, &SIGMA[1]); @@ -261,7 +277,9 @@ macro_rules! blake2_impl { } impl Default for $state { - fn default() -> Self { Self::new_keyed(&[], $bytes::to_usize()) } + fn default() -> Self { + Self::new_keyed(&[], $bytes::to_usize()) + } } impl BlockInput for $state { @@ -304,7 +322,6 @@ macro_rules! blake2_impl { opaque_debug::implement!($state); digest::impl_write!($state); - #[derive(Clone)] #[doc=$doc] pub struct $fix_state { @@ -339,7 +356,7 @@ macro_rules! blake2_impl { impl FixedOutputDirty for $fix_state { type OutputSize = $bytes; - fn finalize_into_dirty(&mut self, out: &mut Output) { + fn finalize_into_dirty(&mut self, out: &mut Output) { out.copy_from_slice(&self.state.finalize_with_flag(0)); } } @@ -371,7 +388,9 @@ macro_rules! blake2_impl { impl Mac for $fix_state { type OutputSize = $bytes; - fn update(&mut self, data: &[u8]) { self.state.update(data); } + fn update(&mut self, data: &[u8]) { + self.state.update(data); + } fn reset(&mut self) { ::reset(self) @@ -391,5 +410,5 @@ macro_rules! blake2_impl { core::ptr::copy_nonoverlapping(src.as_ptr(), dst.as_mut_ptr(), src.len()); } } - } + }; } diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs index d7be01dc6..34826a7e8 100644 --- a/sha2/src/sha256/soft.rs +++ b/sha2/src/sha256/soft.rs @@ -166,7 +166,6 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { let mut abef = [state[0], state[1], state[4], state[5]]; let mut cdgh = [state[2], state[3], state[6], state[7]]; - // Rounds 0..64 let mut w0 = [block[3], block[2], block[1], block[0]]; let mut w1 = [block[7], block[6], block[5], block[4]]; diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs index af45b8c25..39cc5329d 100644 --- a/sha2/src/sha256/x86.rs +++ b/sha2/src/sha256/x86.rs @@ -1,9 +1,9 @@ #![allow(clippy::many_single_char_names)] -#[cfg(target_arch = "x86_64")] -use core::arch::x86_64::*; #[cfg(target_arch = "x86")] use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; unsafe fn schedule(v0: __m128i, v1: __m128i, v2: __m128i, v3: __m128i) -> __m128i { let t1 = _mm_sha256msg1_epu32(v0, v1); @@ -61,7 +61,7 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(0)), MASK); let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(1)), MASK); let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(2)), MASK); - let mut w3 = _mm_shuffle_epi8( _mm_loadu_si128(data_ptr.add(3)), MASK); + let mut w3 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(3)), MASK); let mut w4; rounds4!(abef, cdgh, w0, 0); diff --git a/sha2/src/sha512/soft.rs b/sha2/src/sha512/soft.rs index f307f0e54..ab6d56831 100644 --- a/sha2/src/sha512/soft.rs +++ b/sha2/src/sha512/soft.rs @@ -200,7 +200,6 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { state[7] = state[7].wrapping_add(h); } - pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { let mut block_u32 = [0u64; BLOCK_LEN]; // since LLVM can't properly use aliasing yet it will make diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 311bfa6ba..b690124c8 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -1,6 +1,5 @@ macro_rules! impl_state { ($state:ident, $rate:ident, $padding:ty, $doc:expr) => { - #[allow(non_camel_case_types)] #[derive(Clone, Default)] #[doc=$doc] @@ -16,12 +15,14 @@ macro_rules! impl_state { } fn apply_padding(&mut self) { - let buf = self.buffer.pad_with::<$padding>() + let buf = self + .buffer + .pad_with::<$padding>() .expect("we never use input_lazy"); self.state.absorb_block(buf); } } - } + }; } macro_rules! sha3_impl { From dd9086ad8cc50f8792a6eb1bd6d182bf768bc1b2 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 5 Apr 2021 10:58:12 -0700 Subject: [PATCH 137/373] sha1: add multiplatform tests (#252) Expands the test suite to be similar to the one used by the `sha2` crate which tests the following platforms: - Linux: i686/x86_64/aarch64 (latter w\ cross) - Windows: x86_64 - macOS: x86_64 Additionally tests the `asm` feature on all Linux platforms as well as on macOS. Tests on i686 and cross-based tests for aarch64 are currently disabled because the `asm` feature is failing. See RustCrypto/hashes#251 --- .github/workflows/sha1.yml | 105 ++++++++++++++++++++++++++++++++++--- Cargo.lock | 1 + 2 files changed, 99 insertions(+), 7 deletions(-) diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 2eeadd6b4..803cc99bf 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -17,6 +17,7 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + # Builds for no_std platforms build: runs-on: ubuntu-latest strategy: @@ -37,21 +38,111 @@ jobs: override: true - run: cargo build --no-default-features --release --target ${{ matrix.target }} - test: + # Linux tests + linux: + strategy: + matrix: + include: + # 32-bit Linux/x86 + # *** NOTE: Currently broken with `asm` feature enabled! See: + # https://github.com/RustCrypto/hashes/issues/251 + #- target: i686-unknown-linux-gnu + # rust: 1.41.0 # MSRV + # deps: sudo apt update && sudo apt install gcc-multilib + #- target: i686-unknown-linux-gnu + # rust: stable + # deps: sudo apt update && sudo apt install gcc-multilib + + # 64-bit Linux/x86_64 + - target: x86_64-unknown-linux-gnu + rust: 1.41.0 # MSRV + - target: x86_64-unknown-linux-gnu + rust: stable + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: ${{ matrix.deps }} + - run: cargo test --target ${{ matrix.target }} --release --no-default-features + - run: cargo test --target ${{ matrix.target }} --release + - run: cargo test --target ${{ matrix.target }} --release --features asm + - run: cargo test --target ${{ matrix.target }} --release --all-features + + # macOS tests + macos: strategy: matrix: - rust: + toolchain: - 1.41.0 # MSRV - stable + + runs-on: macos-latest steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.rust }} + toolchain: ${{ matrix.toolchain }} + target: x86_64-apple-darwin + override: true + - run: cargo test --release --no-default-features + - run: cargo test --release + - run: cargo test --release --features asm + - run: cargo test --release --all-features + + # Windows tests + windows: + strategy: + matrix: + include: + # 64-bit Windows (GNU) + # TODO(tarcieri): try re-enabling this when we bump MSRV + #- target: x86_64-pc-windows-gnu + # toolchain: 1.41.0 # MSRV + - target: x86_64-pc-windows-gnu + toolchain: stable + + runs-on: windows-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.toolchain }} + target: ${{ matrix.target }} override: true - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --features asm - - run: cargo test --all-features + - uses: msys2/setup-msys2@v2 + - run: cargo test --target ${{ matrix.target }} --release + + # Cross-compiled tests + # *** NOTE: Currently broken with `asm` feature enabled! See: + # https://github.com/RustCrypto/hashes/issues/251 + # + # cross: + # strategy: + # matrix: + # include: + # # ARM64 + # - target: aarch64-unknown-linux-gnu + # rust: 1.41.0 # MSRV + # - target: aarch64-unknown-linux-gnu + # rust: stable + # + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v1 + # - uses: actions-rs/toolchain@v1 + # with: + # profile: minimal + # toolchain: ${{ matrix.rust }} + # target: ${{ matrix.target }} + # override: true + # - run: cargo install cross + # - run: cross test --target ${{ matrix.target }} --release + # - run: cross test --target ${{ matrix.target }} --release --features asm diff --git a/Cargo.lock b/Cargo.lock index 7b7079c00..99829dea7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +# [[package]] name = "blake2" version = "0.9.1" From 0bf77b52b167cfd56bb7b9996c625c1a7e5085a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Apr 2021 06:33:46 -0700 Subject: [PATCH 138/373] build(deps): bump byteorder from 1.4.2 to 1.4.3 (#245) Bumps [byteorder](https://github.com/BurntSushi/byteorder) from 1.4.2 to 1.4.3. - [Release notes](https://github.com/BurntSushi/byteorder/releases) - [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md) - [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.2...1.4.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99829dea7..7d7d7b568 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -38,9 +38,9 @@ checksum = "c98bfd7c112b6399fef97cc0614af1cd375b27a112e552ce60f94c1b5f13cb74" [[package]] name = "byteorder" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" From ee361ed25fab88ac1102963deaad2a990e70e3c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Apr 2021 06:33:57 -0700 Subject: [PATCH 139/373] build(deps): bump libc from 0.2.88 to 0.2.93 (#254) Bumps [libc](https://github.com/rust-lang/libc) from 0.2.88 to 0.2.93. - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](https://github.com/rust-lang/libc/compare/0.2.88...0.2.93) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7d7d7b568..19d3adce0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -146,9 +146,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.88" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b07a082330a35e43f63177cc01689da34fbffa0105e1246cf0311472cac73a" +checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index f059540db..25754199d 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,7 +25,7 @@ sha1-asm = { version = "0.4", optional = true } cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.88", optional = true } +libc = { version = "0.2.93", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index b9e47af15..3be6bb1cc 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -25,7 +25,7 @@ sha2-asm = { version = "0.5", optional = true } cpuid-bool = "0.2" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.88", optional = true } +libc = { version = "0.2.93", optional = true } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From e8b3abe4427d48842da6ca83d9c3621214ef9d78 Mon Sep 17 00:00:00 2001 From: Friedel Ziegelmayer Date: Wed, 5 May 2021 16:22:25 +0200 Subject: [PATCH 140/373] feat(sha2): use latest sha2-asm and enable M1 (#261) --- Cargo.lock | 33 ++++++++++++++++----------------- Cargo.toml | 3 +++ sha2/Cargo.toml | 3 ++- sha2/src/sha256.rs | 6 ++---- sha2/src/sha256/aarch64.rs | 16 +++++++++++----- sha2/src/sha512.rs | 4 +--- 6 files changed, 35 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 19d3adce0..3a997a330 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -32,9 +32,9 @@ dependencies = [ [[package]] name = "block-padding" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98bfd7c112b6399fef97cc0614af1cd375b27a112e552ce60f94c1b5f13cb74" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "byteorder" @@ -44,9 +44,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.58" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518" +checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" [[package]] name = "cfg-if" @@ -146,9 +146,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.93" +version = "0.2.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" +checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" [[package]] name = "md-5" @@ -198,9 +198,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "proc-macro-hack" -version = "0.5.18" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "ripemd160" @@ -261,9 +261,8 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c2f225be6502f2134e6bbb35bb5e2957e41ffa0495ed08bce2e2b4ca885da4" +version = "0.6.0" +source = "git+https://github.com/dignifiedquire/asm-hashes?branch=arm-m1#8f5a9eb13e01220ce861225fa4e5c803d4749098" dependencies = [ "cc", ] @@ -301,9 +300,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.2.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" +checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" [[package]] name = "tiger" @@ -317,15 +316,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" [[package]] name = "version_check" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" [[package]] name = "whirlpool" diff --git a/Cargo.toml b/Cargo.toml index 801712cb0..aa33e90ea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,3 +20,6 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +sha2-asm = { git = "https://github.com/RustCrypto/asm-hashes" } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 3be6bb1cc..e7bad6ec6 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -19,7 +19,7 @@ digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" cfg-if = "1.0" -sha2-asm = { version = "0.5", optional = true } +sha2-asm = { version = "0.6", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpuid-bool = "0.2" @@ -38,3 +38,4 @@ asm = ["sha2-asm", "libc"] compress = [] # Expose compress function force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead + diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 45042b94c..fcb959d95 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -148,14 +148,12 @@ cfg_if::cfg_if! { #[cfg(feature = "asm")] mod soft { pub(crate) fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { - for block in blocks { - sha2_asm::compress256(state, block); - } + sha2_asm::compress256(state, blocks); } } mod x86; use x86::compress; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + } else if #[cfg(all(feature = "asm", target_arch = "aarch64", any(target_os = "macos", target_os = "linux")))] { mod soft; mod aarch64; use aarch64::compress; diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index 47796cf88..4fbf026e4 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -1,18 +1,24 @@ -use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; - +#[cfg(target_os = "linux")] #[inline(always)] pub fn sha2_supported() -> bool { + use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; + let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; (hwcaps & HWCAP_SHA2) != 0 } +#[cfg(target_os = "macos")] +#[inline(always)] +pub fn sha2_supported() -> bool { + // TODO: Use cpufeatures once support lands + true +} + pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization if sha2_supported() { - for block in blocks { - sha2_asm::compress256(state, block); - } + sha2_asm::compress256(state, blocks); } else { super::soft::compress(state, blocks); } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 55ca80daf..27c429f2a 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -233,9 +233,7 @@ cfg_if::cfg_if! { use soft::compress; } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { - for block in blocks { - sha2_asm::compress512(state, block); - } + sha2_asm::compress512(state, blocks); } } else { mod soft; From 1e775edda289729d2896e74b88a255c4f62702cd Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 May 2021 08:27:39 -0700 Subject: [PATCH 141/373] sha2: bump `sha2-asm` to v0.6.1 release (#262) This release includes support for Apple M1 CPUs: https://github.com/RustCrypto/asm-hashes/pull/35 --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- sha2/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3a997a330..aad4c1ea2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -261,8 +261,9 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.6.0" -source = "git+https://github.com/dignifiedquire/asm-hashes?branch=arm-m1#8f5a9eb13e01220ce861225fa4e5c803d4749098" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c397a68de3079fa40e34eba871bea7f10de663f27f4c8b865c89ab47f103723" dependencies = [ "cc", ] diff --git a/Cargo.toml b/Cargo.toml index aa33e90ea..801712cb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -sha2-asm = { git = "https://github.com/RustCrypto/asm-hashes" } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e7bad6ec6..5c9cf92e7 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -19,7 +19,7 @@ digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" cfg-if = "1.0" -sha2-asm = { version = "0.6", optional = true } +sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpuid-bool = "0.2" From bf761edb53ba080e6e74f1c429556fa1db5bb047 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 May 2021 08:50:48 -0700 Subject: [PATCH 142/373] sha1+sha2: switch from `cpuid-bool` to `cpufeatures` (#263) Renamed in this PR: https://github.com/RustCrypto/utils/pull/381 --- Cargo.lock | 10 +++++----- sha1/Cargo.toml | 2 +- sha1/src/compress/x86.rs | 2 +- sha2/Cargo.toml | 2 +- sha2/src/sha256/x86.rs | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aad4c1ea2..a0365b0d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,10 +55,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "cpuid-bool" -version = "0.2.0" +name = "cpufeatures" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" +checksum = "5cd5a7748210e7ec1a9696610b1015e6e31fbf58f77a160801f124bd1c36592a" [[package]] name = "crypto-mac" @@ -228,7 +228,7 @@ version = "0.9.4" dependencies = [ "block-buffer", "cfg-if", - "cpuid-bool", + "cpufeatures", "digest", "hex-literal", "libc", @@ -251,7 +251,7 @@ version = "0.9.3" dependencies = [ "block-buffer", "cfg-if", - "cpuid-bool", + "cpufeatures", "digest", "hex-literal", "libc", diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 25754199d..fc3050765 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpuid-bool = "0.2" +cpufeatures = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.93", optional = true } diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index 0c99da5ac..f43a9336a 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -95,7 +95,7 @@ unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { state[4] = _mm_extract_epi32(state_e, 3) as u32; } -cpuid_bool::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); +cpufeatures::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 5c9cf92e7..b03343abe 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpuid-bool = "0.2" +cpufeatures = "0.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] libc = { version = "0.2.93", optional = true } diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs index 39cc5329d..65ebff780 100644 --- a/sha2/src/sha256/x86.rs +++ b/sha2/src/sha256/x86.rs @@ -95,7 +95,7 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { _mm_storeu_si128(state_ptr_mut.add(1), hgef); } -cpuid_bool::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); +cpufeatures::new!(shani_cpuid, "sha", "sse2", "ssse3", "sse4.1"); pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 From 1bf768865d42b6d7dacf3d89b3cb769ad4138838 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 May 2021 09:17:17 -0700 Subject: [PATCH 143/373] sha-1 v0.9.5 (#264) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a0365b0d0..60621a3c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -224,7 +224,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.4" +version = "0.9.5" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 44c7c1a92..17a532557 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.5 (2021-05-05) +### Changed +- Switch from `cpuid-bool` to `cpufeatures` ([#263]) + +[#263]: https://github.com/RustCrypto/hashes/pull/263 + ## 0.9.4 (2021-02-16) ### Added - Expose compression function under the `compress` feature flag. ([#238]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index fc3050765..9832ce8f1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.4" +version = "0.9.5" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From c1ed4b1cbc5c720596aead8f3a24428e6da0680f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 5 May 2021 09:35:07 -0700 Subject: [PATCH 144/373] sha2 v0.9.4 (#265) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 13 ++++++++++++- sha2/Cargo.toml | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 60621a3c5..60e5b3c69 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -247,7 +247,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.3" +version = "0.9.4" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index c7e3e7f48..d596a0dd9 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,9 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.4 (2021-05-05) +### Added +- Hardware accelerated SHA-256 for Apple M1 CPUs with `asm` feature ([#262]) + +### Changed +- Bump `sha2-asm` to v0.6.1 release ([#262]) +- Switch from `cpuid-bool` to `cpufeatures` ([#263]) + +[#262]: https://github.com/RustCrypto/hashes/pull/262 +[#263]: https://github.com/RustCrypto/hashes/pull/263 + ## 0.9.3 (2021-01-30) ### Changed -- Use the SHA extension backend with enabled `asm` feature. ([#224]) +- Use the SHA-NI extension backend with enabled `asm` feature. ([#224]) [#224]: https://github.com/RustCrypto/hashes/pull/224 diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index b03343abe..46bddad2e 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.3" +version = "0.9.4" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From 15a0468e98b63ec3dcc458c6f654a70427e10dfc Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 6 May 2021 11:36:50 -0700 Subject: [PATCH 145/373] sha2: fix missing documentation on compression functions (#266) Adds docs, tests all features in CI, and adds doc_cfg setup for docs.rs. --- .github/workflows/sha2.yml | 1 + sha2/Cargo.toml | 3 +++ sha2/src/lib.rs | 1 + sha2/src/sha256.rs | 5 +++++ sha2/src/sha512.rs | 5 +++++ 5 files changed, 15 insertions(+) diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index bff236159..75ae8d9a6 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -70,6 +70,7 @@ jobs: - run: cargo test --target ${{ matrix.target }} --release --no-default-features - run: cargo test --target ${{ matrix.target }} --release - run: cargo test --target ${{ matrix.target }} --release --features asm + - run: cargo test --target ${{ matrix.target }} --release --all-features # macOS tests macos: diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 46bddad2e..42cf40b18 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -39,3 +39,6 @@ compress = [] # Expose compress function force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 326211e14..2b5b86eda 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -53,6 +53,7 @@ //! [2]: https://github.com/RustCrypto/hashes #![no_std] +#![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index fcb959d95..1f089a894 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -163,6 +163,11 @@ cfg_if::cfg_if! { } } +/// Raw SHA-256 compression function. +/// +/// This is a low-level "hazmat" API which provides direct access to the core +/// functionality of SHA-256. +#[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress256(state: &mut [u32; 8], blocks: &[GenericArray]) { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 27c429f2a..02439fd63 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -241,6 +241,11 @@ cfg_if::cfg_if! { } } +/// Raw SHA-512 compression function. +/// +/// This is a low-level "hazmat" API which provides direct access to the core +/// functionality of SHA-512. +#[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress512(state: &mut [u64; 8], blocks: &[GenericArray]) { // SAFETY: GenericArray and [u8; 128] have // exactly the same memory layout From d13936a82a9cf0f9cf5013e3afbd525b5e1979c1 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 6 May 2021 13:39:29 -0700 Subject: [PATCH 146/373] sha2: use `cpufeatures` to detect `sha2` on `aarch64` (#267) Uses the newly added `aarch64` support in the `cpufeatures` crate for `sha2` CPU feature detection on Linux and macOS/M1. --- Cargo.lock | 13 ++++++++++--- sha2/Cargo.toml | 11 ++++++----- sha2/src/sha256/aarch64.rs | 18 ++++-------------- sha2/src/sha256/x86.rs | 2 ++ 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 60e5b3c69..3a9f21118 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -60,6 +60,14 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cd5a7748210e7ec1a9696610b1015e6e31fbf58f77a160801f124bd1c36592a" +[[package]] +name = "cpufeatures" +version = "0.1.0" +source = "git+https://github.com/rustcrypto/utils.git#fd95867b114152b75ef12271199976902698e3bd" +dependencies = [ + "libc", +] + [[package]] name = "crypto-mac" version = "0.8.0" @@ -228,7 +236,7 @@ version = "0.9.5" dependencies = [ "block-buffer", "cfg-if", - "cpufeatures", + "cpufeatures 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "digest", "hex-literal", "libc", @@ -251,10 +259,9 @@ version = "0.9.4" dependencies = [ "block-buffer", "cfg-if", - "cpufeatures", + "cpufeatures 0.1.0 (git+https://github.com/rustcrypto/utils.git)", "digest", "hex-literal", - "libc", "opaque-debug", "sha2-asm", ] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 42cf40b18..eea1aaa90 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -21,11 +21,12 @@ opaque-debug = "0.3" cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1" - +[target.aarch64-apple-darwin.dependencies] +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.93", optional = true } +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } @@ -34,7 +35,7 @@ hex-literal = "0.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha2-asm", "libc"] +asm = ["sha2-asm"] compress = [] # Expose compress function force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index 4fbf026e4..7eaa2de73 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -1,23 +1,13 @@ -#[cfg(target_os = "linux")] -#[inline(always)] -pub fn sha2_supported() -> bool { - use libc::{getauxval, AT_HWCAP, HWCAP_SHA2}; +//! SHA-256 `aarch64` backend. - let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; - (hwcaps & HWCAP_SHA2) != 0 -} +// TODO: stdarch intrinsics: RustCrypto/hashes#257 -#[cfg(target_os = "macos")] -#[inline(always)] -pub fn sha2_supported() -> bool { - // TODO: Use cpufeatures once support lands - true -} +cpufeatures::new!(sha2_hwcap, "sha2"); pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization - if sha2_supported() { + if sha2_hwcap::get() { sha2_asm::compress256(state, blocks); } else { super::soft::compress(state, blocks); diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs index 65ebff780..46019388d 100644 --- a/sha2/src/sha256/x86.rs +++ b/sha2/src/sha256/x86.rs @@ -1,3 +1,5 @@ +//! SHA-256 `x86`/`x86_64` backend + #![allow(clippy::many_single_char_names)] #[cfg(target_arch = "x86")] From 12493fc7af31941ccaf228e273b7551212da1339 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 6 May 2021 14:12:15 -0700 Subject: [PATCH 147/373] sha1: use `cpufeatures` to detect SHA-1 on `aarch64` (#268) Uses the newly added `aarch64` support in the `cpufeatures` crate for `sha1` CPU feature detection on Linux and macOS/M1. --- Cargo.lock | 11 ++--------- sha1/Cargo.toml | 11 ++++++----- sha1/src/compress/aarch64.rs | 21 ++++++++++----------- sha1/src/compress/x86.rs | 2 ++ 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3a9f21118..6b45ecff5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -54,12 +54,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cpufeatures" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd5a7748210e7ec1a9696610b1015e6e31fbf58f77a160801f124bd1c36592a" - [[package]] name = "cpufeatures" version = "0.1.0" @@ -236,10 +230,9 @@ version = "0.9.5" dependencies = [ "block-buffer", "cfg-if", - "cpufeatures 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cpufeatures", "digest", "hex-literal", - "libc", "opaque-debug", "sha1-asm", ] @@ -259,7 +252,7 @@ version = "0.9.4" dependencies = [ "block-buffer", "cfg-if", - "cpufeatures 0.1.0 (git+https://github.com/rustcrypto/utils.git)", + "cpufeatures", "digest", "hex-literal", "opaque-debug", diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 9832ce8f1..5fcc140f1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -21,11 +21,12 @@ opaque-debug = "0.3" cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1" - +[target.aarch64-apple-darwin.dependencies] +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -libc = { version = "0.2.93", optional = true } +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] +cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } [dev-dependencies] digest = { version = "0.9", features = ["dev"] } @@ -34,7 +35,7 @@ hex-literal = "0.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha1-asm", "libc"] +asm = ["sha1-asm"] compress = [] # Expose compress function force-soft = [] # Force software implementation diff --git a/sha1/src/compress/aarch64.rs b/sha1/src/compress/aarch64.rs index 85295f052..4edd588ef 100644 --- a/sha1/src/compress/aarch64.rs +++ b/sha1/src/compress/aarch64.rs @@ -1,17 +1,16 @@ -#![cfg(feature = "asm-aarch64")] -use libc::{getauxval, AT_HWCAP, HWCAP_SHA1}; +//! SHA-1 `aarch64` backend. -fn sha1_supported() -> bool { - #[allow(unsafe_code)] - let hwcaps: u64 = unsafe { getauxval(AT_HWCAP) }; - (hwcaps & HWCAP_SHA1) != 0 -} +/// Per rustc target feature docs for `aarch64-unknown-linux-gnu` and +/// `aarch64-apple-darwin` platforms, the `sha2` target feature enables +/// SHA-1 as well: +/// +/// > Enable SHA1 and SHA256 support. +cpufeatures::new!(sha2_hwcap, "sha2"); pub fn compress(state: &mut [u32; 5], blocks: &[u8; 64]) { - // TODO: Replace this platform-specific call with is_aarch64_feature_detected!("sha1") once - // that macro is stabilised and https://github.com/rust-lang/rfcs/pull/2725 is implemented - // to let us use it on no_std. - if sha1_supported() { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if sha2_hwcap::get() { for block in blocks { sha1_asm::compress(state, block); } diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index f43a9336a..dc4ca4769 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -1,3 +1,5 @@ +//! SHA-1 `x86`/`x86_64` backend + #![cfg(any(target_arch = "x86", target_arch = "x86_64"))] #![allow(unsafe_code)] From ca27667a7507a96b34013a8cbee2eee7ea7e29d7 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 6 May 2021 16:20:56 -0700 Subject: [PATCH 148/373] sha1+sha2: use cpufeatures v0.1.1 crate release (#269) --- Cargo.lock | 5 +++-- sha1/Cargo.toml | 6 +++--- sha2/Cargo.toml | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6b45ecff5..15eb39ea9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,8 +56,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.1.0" -source = "git+https://github.com/rustcrypto/utils.git#fd95867b114152b75ef12271199976902698e3bd" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec1028182c380cc45a2e2c5ec841134f2dfd0f8f5f0a5bcd68004f81b5efdf4" dependencies = [ "libc", ] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 5fcc140f1..c3f52e156 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,11 +22,11 @@ cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.aarch64-apple-darwin.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index eea1aaa90..bdb2da9cc 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,11 +22,11 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.aarch64-apple-darwin.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = { version = "0.1", git = "https://github.com/rustcrypto/utils.git" } +cpufeatures = "0.1.1" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 06586d8ee84bb9a96783c4b39c43cbf4de62e69c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 11 May 2021 09:09:27 -0700 Subject: [PATCH 149/373] sha-1 v0.9.6 (#271) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 15eb39ea9..9b4431e7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -227,7 +227,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.5" +version = "0.9.6" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 17a532557..261cec4cc 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.6 (2021-05-11) +### Changed +- Use `cpufeatures` to detect intrinsics support on `aarch64` targets ([#268]) + +[#268]: https://github.com/RustCrypto/hashes/pull/268 + ## 0.9.5 (2021-05-05) ### Changed - Switch from `cpuid-bool` to `cpufeatures` ([#263]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index c3f52e156..4b11496f7 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.5" +version = "0.9.6" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 884ac45bb5121e3d71e2039e829d7c3404a3d81f Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 11 May 2021 09:29:32 -0700 Subject: [PATCH 150/373] sha2 v0.9.5 (#272) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9b4431e7a..e974b992d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -249,7 +249,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.4" +version = "0.9.5" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index d596a0dd9..ca565639b 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.5 (2021-05-11) +### Changed +- Use `cpufeatures` to detect intrinsics support on `aarch64` targets ([#267]) + +[#267]: https://github.com/RustCrypto/hashes/pull/267 + ## 0.9.4 (2021-05-05) ### Added - Hardware accelerated SHA-256 for Apple M1 CPUs with `asm` feature ([#262]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index bdb2da9cc..be3745ab8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.4" +version = "0.9.5" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From dbb8d16750d7f2146e20eada06d36acf63d72d47 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 14 May 2021 08:32:07 -0700 Subject: [PATCH 151/373] blake2: pin `nightly` used for SIMD CI (#275) The latest nightly seems to be broken: https://github.com/RustCrypto/hashes/pull/274/checks?check_run_id=2581387409 --- .github/workflows/blake2.yml | 2 +- Cargo.lock | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 2f94239c6..6aed43dc6 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -60,7 +60,7 @@ jobs: - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: nightly + toolchain: nightly-2021-05-01 override: true - run: cargo test --features simd - run: cargo test --features simd_opt diff --git a/Cargo.lock b/Cargo.lock index e974b992d..bfca7bff5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,5 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -# [[package]] name = "blake2" version = "0.9.1" From b9093ec93a762b8c0736bddaa62b7cc2aa5d4d93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 May 2021 08:57:17 -0700 Subject: [PATCH 152/373] build(deps): bump cpufeatures from 0.1.1 to 0.1.3 (#274) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.1 to 0.1.3. - [Release notes](https://github.com/RustCrypto/utils/releases) - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.1.1...cpufeatures-v0.1.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 6 +++--- sha2/Cargo.toml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bfca7bff5..1a081a753 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec1028182c380cc45a2e2c5ec841134f2dfd0f8f5f0a5bcd68004f81b5efdf4" +checksum = "281f563b2c3a0e535ab12d81d3c5859045795256ad269afa7c19542585b68f93" dependencies = [ "libc", ] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 4b11496f7..3937398a0 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,11 +22,11 @@ cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.aarch64-apple-darwin.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index be3745ab8..e8b60c892 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,11 +22,11 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.aarch64-apple-darwin.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1.1" +cpufeatures = "0.1.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 1de4114adb78210fe9704f5e39fe9c29e3c7994a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 15 May 2021 12:29:22 -0700 Subject: [PATCH 153/373] sha1+sha2: make aarch64 CPU feature detection OS-independent (#276) `cpufeatures` v0.1.4 can build on any `aarch64` target, not just Linux/macOS ones: https://github.com/RustCrypto/utils/pull/40 This PR bumps the minimum `cpufeatures` requirement to v0.1.4 and removes the OS-specifisms on `aarch64` targets. --- Cargo.lock | 4 ++-- sha1/Cargo.toml | 8 ++------ sha1/src/compress.rs | 2 +- sha2/Cargo.toml | 8 ++------ sha2/src/sha256.rs | 2 +- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a081a753..86b8e5447 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "281f563b2c3a0e535ab12d81d3c5859045795256ad269afa7c19542585b68f93" +checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" dependencies = [ "libc", ] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 3937398a0..a79a0d863 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -21,12 +21,8 @@ opaque-debug = "0.3" cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } -[target.aarch64-apple-darwin.dependencies] -cpufeatures = "0.1.3" -[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = "0.1.3" -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1.3" +[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] +cpufeatures = "0.1.4" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index 6817ab589..09f24f1f0 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -5,7 +5,7 @@ cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; use soft::compress as compress_inner; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64", target_os = "linux"))] { + } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { mod soft; mod aarch64; use aarch64::compress as compress_inner; diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e8b60c892..da888ce2a 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -21,12 +21,8 @@ opaque-debug = "0.3" cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } -[target.aarch64-apple-darwin.dependencies] -cpufeatures = "0.1.3" -[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies] -cpufeatures = "0.1.3" -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1.3" +[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] +cpufeatures = "0.1.4" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 1f089a894..5e5909657 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -153,7 +153,7 @@ cfg_if::cfg_if! { } mod x86; use x86::compress; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64", any(target_os = "macos", target_os = "linux")))] { + } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { mod soft; mod aarch64; use aarch64::compress; From 6fcda550abf3468a5bfa09d22f03ca5773ffc7ae Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Sat, 15 May 2021 22:12:27 +0200 Subject: [PATCH 154/373] Make documentation more precise (#277) According to https://en.wikipedia.org/wiki/SHA-2#Comparison_of_SHA_functions, it's 8 x 32 bits for sha256 and 8 x 64 bits for sha512. Reading just `the 32-bit 'Sha256'` is confusing to me. But YMMV... --- sha2/src/lib.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 2b5b86eda..1927067e1 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -2,15 +2,15 @@ //! //! There are 6 standard algorithms specified in the SHA-2 standard: //! -//! * `Sha224`, which is the 32-bit `Sha256` algorithm with the result truncated +//! * `Sha224`, which is the 8 x 32-bit `Sha256` algorithm with the result truncated //! to 224 bits. -//! * `Sha256`, which is the 32-bit `Sha256` algorithm. -//! * `Sha384`, which is the 64-bit `Sha512` algorithm with the result truncated +//! * `Sha256`, which is the 8 x 32-bit `Sha256` algorithm. +//! * `Sha384`, which is the 8 x 64-bit `Sha512` algorithm with the result truncated //! to 384 bits. -//! * `Sha512`, which is the 64-bit `Sha512` algorithm. -//! * `Sha512Trunc224`, which is the 64-bit `Sha512` algorithm with the result +//! * `Sha512`, which is the 8 x 64-bit `Sha512` algorithm. +//! * `Sha512Trunc224`, which is the 8 x 64-bit `Sha512` algorithm with the result //! truncated to 224 bits. -//! * `Sha512Trunc256`, which is the 64-bit `Sha512` algorithm with the result +//! * `Sha512Trunc256`, which is the 8 x 64-bit `Sha512` algorithm with the result //! truncated to 256 bits. //! //! Algorithmically, there are only 2 core algorithms: `Sha256` and `Sha512`. From b8c3f4fbd7480f1c4e9cc0aceee4f8bb001ec42e Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Thu, 20 May 2021 04:42:48 +0200 Subject: [PATCH 155/373] fix some typos (#279) --- README.md | 4 ++-- shabal/README.md | 4 ++-- shabal/src/lib.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index af26e26fa..4959c664d 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ blake2 = "0.9" ``` Note that crates in this repository have an enabled by default `std` feature. -So if you plan to use the crate in `no_std` enviroments, don't forget to disable it: +So if you plan to use the crate in `no_std` environments, don't forget to disable it: ```toml [dependencies] @@ -116,7 +116,7 @@ let hash = Blake2b::new() println!("Result: {:x}", hash); ``` -If the whole message is available you also can use convinience `digest` method: +If the whole message is available you also can use convenience `digest` method: ```Rust use blake2::{Blake2b, Digest}; diff --git a/shabal/README.md b/shabal/README.md index 92b926f55..e48a1cd26 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -20,8 +20,8 @@ There are 5 standard algorithms specified in the Shabal standard: * `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. * `Shabal512`, which is the `Shabal` algorithm with the result not truncated. -There is a single Shabal algorithm. All variants have different intialisation and apart -Shabal512 truncate the result. +There is a single Shabal algorithm. All variants have different initialisation and apart +from Shabal512 all truncate the result. ## Usage diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index f89415b06..ecb5e96e1 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -8,8 +8,8 @@ //! * `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. //! * `Shabal512`, which is the `Shabal` algorithm with the result not truncated. //! -//! There is a single Shabal algorithm. All variants have different intialisation and apart -//! Shabal512 truncate the result. +//! There is a single Shabal algorithm. All variants have different initialisation and apart +//! from Shabal512 all truncate the result. //! //! # Usage //! From 5f1cf4f3cc819a7e1bd49674e926cfa651a5ffe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Thu, 3 Jun 2021 17:01:16 +0200 Subject: [PATCH 156/373] Use archive.org link to Whirlpool description (#282) --- whirlpool/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 1a2b6d62d..e2e313f66 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -9,7 +9,7 @@ //! (pre 2003)) were not used much anyway (both have never been recommended //! by NESSIE). //! -//! For details see . +//! For details see [http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html](https://web.archive.org/web/20171129084214/http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html). //! //! # Usage //! From 5f9d064c0995047d06bc4e7e56422e6eaf31ac3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Jun 2021 23:15:10 -0700 Subject: [PATCH 157/373] build(deps): bump cpufeatures from 0.1.4 to 0.1.5 (#284) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.1.4 to 0.1.5. - [Release notes](https://github.com/RustCrypto/utils/releases) - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.1.4...cpufeatures-v0.1.5) --- updated-dependencies: - dependency-name: cpufeatures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 86b8e5447..733d92a45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" +checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" dependencies = [ "libc", ] @@ -148,9 +148,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.94" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index a79a0d863..fc4d2f51f 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha1-asm = { version = "0.4", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] -cpufeatures = "0.1.4" +cpufeatures = "0.1.5" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index da888ce2a..09abc3ab9 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] -cpufeatures = "0.1.4" +cpufeatures = "0.1.5" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 1b4a55c7c4c338f8a486122933c79d1082781f96 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 13:10:49 -0700 Subject: [PATCH 158/373] sha1: bump sha1-asm to v0.5 (#289) --- Cargo.lock | 6 ++++-- sha1/Cargo.toml | 4 ++-- sha1/src/compress.rs | 4 +--- sha1/src/compress/aarch64.rs | 20 +++++++++----------- sha1/src/consts.rs | 7 +------ 5 files changed, 17 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 733d92a45..a1b45678d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "blake2" version = "0.9.1" @@ -239,9 +241,9 @@ dependencies = [ [[package]] name = "sha1-asm" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9dae2289dd5f5dc67fb0f341a5676c5c197415c51ce7345ae1bd0d36a6cbbfc" +checksum = "563d4f7100bc3fce234e5f37bbf63dc2752558964505ba6ac3f7204bdc59eaac" dependencies = [ "cc", ] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index fc4d2f51f..fd34ee35b 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -19,9 +19,9 @@ digest = "0.9" block-buffer = "0.9" opaque-debug = "0.3" cfg-if = "1.0" -sha1-asm = { version = "0.4", optional = true } +sha1-asm = { version = "0.5", optional = true } -[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] +[target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.1.5" [dev-dependencies] diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index 09f24f1f0..b45f87bc2 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -15,9 +15,7 @@ cfg_if::cfg_if! { #[cfg(feature = "asm")] mod soft { pub(crate) fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { - for block in blocks { - sha1_asm::compress(state, block); - } + sha1_asm::compress(state, blocks) } } mod x86; diff --git a/sha1/src/compress/aarch64.rs b/sha1/src/compress/aarch64.rs index 4edd588ef..5952d1f62 100644 --- a/sha1/src/compress/aarch64.rs +++ b/sha1/src/compress/aarch64.rs @@ -1,19 +1,17 @@ //! SHA-1 `aarch64` backend. -/// Per rustc target feature docs for `aarch64-unknown-linux-gnu` and -/// `aarch64-apple-darwin` platforms, the `sha2` target feature enables -/// SHA-1 as well: -/// -/// > Enable SHA1 and SHA256 support. -cpufeatures::new!(sha2_hwcap, "sha2"); +// Per rustc target feature docs for `aarch64-unknown-linux-gnu` and +// `aarch64-apple-darwin` platforms, the `sha2` target feature enables +// SHA-1 as well: +// +// > Enable SHA1 and SHA256 support. +cpufeatures::new!(sha1_hwcap, "sha2"); -pub fn compress(state: &mut [u32; 5], blocks: &[u8; 64]) { +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization - if sha2_hwcap::get() { - for block in blocks { - sha1_asm::compress(state, block); - } + if sha1_hwcap::get() { + sha1_asm::compress(state, blocks); } else { super::soft::compress(state, blocks); } diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs index 277576ac9..c227df3a9 100644 --- a/sha1/src/consts.rs +++ b/sha1/src/consts.rs @@ -1,17 +1,12 @@ -#![allow(clippy::unreadable_literal)] +#![allow(clippy::unreadable_literal, dead_code)] pub const STATE_LEN: usize = 5; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const BLOCK_LEN: usize = 16; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K0: u32 = 0x5A827999u32; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K1: u32 = 0x6ED9EBA1u32; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K2: u32 = 0x8F1BBCDCu32; -#[cfg(any(not(feature = "asm"), feature = "asm-aarch64"))] pub const K3: u32 = 0xCA62C1D6u32; pub const H: [u32; STATE_LEN] = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]; From 59269ed1fe6f9c04568511893ce49555e7451213 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 13:33:56 -0700 Subject: [PATCH 159/373] sha-1 v0.9.7 (#290) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 8 ++++++++ sha1/Cargo.toml | 2 +- sha1/README.md | 9 +++++++++ sha1/src/lib.rs | 16 +++++++++++++--- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a1b45678d..7506b73e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -228,7 +228,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.6" +version = "0.9.7" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 261cec4cc..ad019d22c 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.7 (2021-07-18) +### Changed +- Make `aarch64` CPU feature detection OS-independent ([#276]) +- Bump `sha1-asm` to v0.5; support ARMv8 Crypto Extensions on Apple targets ([#289]) + +[#276]: https://github.com/RustCrypto/hashes/pull/276 +[#289]: https://github.com/RustCrypto/hashes/pull/289 + ## 0.9.6 (2021-05-11) ### Changed - Use `cpufeatures` to detect intrinsics support on `aarch64` targets ([#268]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index fd34ee35b..c2fda9a94 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.6" +version = "0.9.7" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/README.md b/sha1/README.md index dea669895..dc6102eb9 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -11,6 +11,14 @@ Pure Rust implementation of the [SHA-1 hash function][1]. [Documentation][docs-link] +## 🚨 Warning: Cryptographically Broken 🚨 + +The SHA-1 hash function should be considered cryptographically broken and +unsuitable for further use in any security critical capacity, as it is +[practically vulnerable to chosen-prefix collisions][2]. + +We provide this crate for legacy interoperability purposes only. + ## Minimum Supported Rust Version Rust **1.41** or higher. @@ -54,3 +62,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [1]: https://en.wikipedia.org/wiki/SHA-1 +[2]: https://sha-mbles.github.io/ diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 52efb11bf..e1c8ac4a0 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -1,4 +1,13 @@ -//! An implementation of the [SHA-1][1] cryptographic hash algorithm. +//! Pure Rust implementation of the [SHA-1][1] cryptographic hash algorithm +//! with optional hardware-specific optimizations. +//! +//! # 🚨 Warning: Cryptographically Broken! 🚨 +//! +//! The SHA-1 hash function should be considered cryptographically broken and +//! unsuitable for further use in any security critical capacity, as it is +//! [practically vulnerable to chosen-prefix collisions][2]. +//! +//! We provide this crate for legacy interoperability purposes only. //! //! # Usage //! @@ -18,10 +27,11 @@ //! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); //! ``` //! -//! Also see [RustCrypto/hashes][2] readme. +//! Also see [RustCrypto/hashes][3] readme. //! //! [1]: https://en.wikipedia.org/wiki/SHA-1 -//! [2]: https://github.com/RustCrypto/hashes +//! [2]: https://sha-mbles.github.io/ +//! [3]: https://github.com/RustCrypto/hashes #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] From a1e8900fa629f11f81028dbb58ac8ab08dd2a561 Mon Sep 17 00:00:00 2001 From: iquerejeta <31273774+iquerejeta@users.noreply.github.com> Date: Sun, 18 Jul 2021 23:07:06 +0100 Subject: [PATCH 160/373] FSB hash function (#256) --- .github/workflows/workspace.yml | 2 +- Cargo.lock | 11 + Cargo.toml | 1 + fsb/.gitignore | 3 + fsb/Cargo.toml | 20 + fsb/README.md | 56 + fsb/src/lib.rs | 75 + fsb/src/macros.rs | 337 + fsb/src/pi.rs | 17027 ++++++++++++++++++++++++++++++ fsb/tests/lib.rs | 86 + 10 files changed, 17617 insertions(+), 1 deletion(-) create mode 100644 fsb/.gitignore create mode 100644 fsb/Cargo.toml create mode 100644 fsb/README.md create mode 100644 fsb/src/lib.rs create mode 100644 fsb/src/macros.rs create mode 100644 fsb/src/pi.rs create mode 100644 fsb/tests/lib.rs diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 653d193b4..f6e8305a3 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.41.0 # MSRV + toolchain: 1.47.0 components: clippy profile: minimal override: true diff --git a/Cargo.lock b/Cargo.lock index 7506b73e4..364a72d98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -85,6 +85,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "fsb" +version = "0.1.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", + "whirlpool", +] + [[package]] name = "generic-array" version = "0.14.4" diff --git a/Cargo.toml b/Cargo.toml index 801712cb0..604f794cc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = [ + "fsb", "blake2", "gost94", "groestl", diff --git a/fsb/.gitignore b/fsb/.gitignore new file mode 100644 index 000000000..8ff0eb369 --- /dev/null +++ b/fsb/.gitignore @@ -0,0 +1,3 @@ +/target +.idea +Cargo.lock diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml new file mode 100644 index 000000000..1a137262a --- /dev/null +++ b/fsb/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "fsb" +version = "0.1.0" +description = "FSB hash function" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +edition = "2018" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "fsb", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +whirlpool = { version = "0.9", path = "../whirlpool", default-features = false } +digest = "0.9" +block-buffer = { version = "0.9", features = ["block-padding"] } +opaque-debug = "0.3" + +[dev-dependencies] +hex-literal = "0.2" diff --git a/fsb/README.md b/fsb/README.md new file mode 100644 index 000000000..74495e726 --- /dev/null +++ b/fsb/README.md @@ -0,0 +1,56 @@ +# RustCrypto: FSB + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] + +Pure Rust implementation of the [FSB hash function][1] family. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/fsb.svg +[crate-link]: https://crates.io/crates/fsb +[docs-image]: https://docs.rs/fsb/badge.svg +[docs-link]: https://docs.rs/fsb/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb + +[//]: # (general links) + +[1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb \ No newline at end of file diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs new file mode 100644 index 000000000..2c510f388 --- /dev/null +++ b/fsb/src/lib.rs @@ -0,0 +1,75 @@ +//! An implementation of the [FSB][1] cryptographic hash algorithms. +//! The FSB hash function was one of the submissions to SHA-3, +//! the cryptographic hash algorithm competition organized by the NIST. +//! +//! There are 5 standard versions of the FSB hash function: +//! +//! * `FSB-160` +//! * `FSB-224` +//! * `FSB-256` +//! * `FSB-384` +//! * `FSB-512` +//! +//! # Examples +//! +//! Output size of FSB-256 is fixed, so its functionality is usually +//! accessed via the `Digest` trait: +//! +//! ``` +//! use hex_literal::hex; +//! use fsb::{Digest, Fsb256}; +//! +//! // create a FSB-256 object +//! let mut hasher = Fsb256::new(); +//! +//! // write input message +//! hasher.update(b"hello"); +//! +//! // read hash digest +//! let result = hasher.finalize(); +//! +//! assert_eq!(result[..], hex!(" +//! 0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f28edbc +//! ")[..]); +//! ``` +//! Also see [RustCrypto/hashes][2] readme. +//! +//! [1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb +//! [2]: https://github.com/RustCrypto/hashes + +// #![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + +#![allow(non_snake_case)] + +#[cfg(feature = "std")] +extern crate std; + +#[cfg(not(feature = "std"))] +extern crate alloc; +use alloc::vec; + +#[macro_use] +mod macros; +mod pi; + +pub use digest::{self, Digest}; +use whirlpool::Whirlpool; + +use core::convert::TryInto; + +use block_buffer::BlockBuffer; +use digest::{generic_array::GenericArray}; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +use crate::pi::PI; + +fsb_impl!(Fsb160, 160, U60, U20, 5 << 18, 80, 640, 653, 1120, "FSB-160 hash function."); +fsb_impl!(Fsb224, 224, U84, U28, 7 << 18, 112, 896, 907, 1568, "FSB-224 hash function."); +fsb_impl!(Fsb256, 256, U96, U32, 1 << 21, 128, 1024, 1061, 1792, "FSB-256 hash function."); +fsb_impl!(Fsb384, 384, U115, U48, 23 << 16, 184, 1472, 1483, 2392, "FSB-384 hash function."); +fsb_impl!(Fsb512, 512, U155, U64, 31 << 16, 248, 1984, 1987, 3224, "FSB-512 hash function."); diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs new file mode 100644 index 000000000..1a8ebff0d --- /dev/null +++ b/fsb/src/macros.rs @@ -0,0 +1,337 @@ +macro_rules! fsb_impl { + ( + $state:ident, $state_num:expr, $blocksize:ident, $outputsize:ident, $n:expr, $w:expr, + $r:expr, $p:expr, $s:expr, $doc:expr + ) => { + use digest::consts::{$blocksize, $outputsize}; + + #[derive(Clone)] + #[doc=$doc] + pub struct $state { + /// bit size of the message till the current moment (the bit size is represented by a 64 bit + /// number) + bit_length: u64, + /// size of the message being processed + buffer: BlockBuffer<$blocksize>, + /// value of the input vector + hash: [u8; $r / 8], + } + + impl $state { + // constants + const SIZE_OUTPUT_COMPRESS: usize = $r / 8; + const SIZE_INPUT_COMPRESS: usize = $s / 8; + const HASH_OUTPUT_SIZE: usize = $state_num / 8; + const SIZE_MSG_CHUNKS: usize = Self::SIZE_INPUT_COMPRESS - Self::SIZE_OUTPUT_COMPRESS; + const SIZE_VECTORS: usize = $p / 8 + 1; + const SHIFT: u8 = 8 - ($p % 8) as u8; + + fn update_len(&mut self, len: u64) { + self.bit_length += len * 8; + } + + fn finalize_inner(&mut self) { + let hash = &mut self.hash; + let pos = self.buffer.position(); + if pos < Self::SIZE_MSG_CHUNKS - 8 { + let mut padding = vec![0; Self::SIZE_MSG_CHUNKS - pos - 8]; + padding[0] = 128u8; + padding.extend_from_slice(&Self::helper_transform_usize(self.bit_length)); + self.buffer + .input_block(&padding, |b| Self::compress(hash, Self::convert(b))); + } else { + let mut padding = vec![0; Self::SIZE_MSG_CHUNKS - pos]; + padding[0] = 128u8; + self.buffer + .input_block(&padding, |b| Self::compress(hash, Self::convert(b))); + let mut second_padding = vec![0; Self::SIZE_MSG_CHUNKS - 8]; + second_padding + .extend_from_slice(&Self::helper_transform_usize(self.bit_length)); + self.buffer + .input_block(&second_padding, |b| Self::compress(hash, Self::convert(b))); + } + } + + fn define_iv(index: usize) -> [u8; Self::SIZE_VECTORS] { + let mut subset_pi: [u8; Self::SIZE_VECTORS] = [0u8; Self::SIZE_VECTORS]; + subset_pi.copy_from_slice( + &PI[index * Self::SIZE_VECTORS..(index + 1) * Self::SIZE_VECTORS], + ); + + // Now we change the last byte of the vector. We shift right and left, basically to + // replace the last `shift` bits by zero. + if let Some(last) = subset_pi.last_mut() { + *last >>= Self::SHIFT; + *last <<= Self::SHIFT; + } + + subset_pi + } + + /// Vector XORing. Given the s input bits of the function, we derive a set of w indexes + /// $(W_i)_{i\in[0;w-1]}$ between $0$ and $n - 1$. The value of each $W_i$ is computed + /// from the inputs bits like this: + /// $W_i = i \times (n / w) + IV_i + M_i \times 2^{r / w}. + fn computing_W_indices( + input_vector: &[u8; Self::SIZE_OUTPUT_COMPRESS], + message: &[u8; Self::SIZE_MSG_CHUNKS], + ) -> [u32; $w] { + let mut W_indices: [u32; $w] = [0; $w]; + let divided_message: [u8; $w] = Self::dividing_bits(message, ($s - $r) / $w); + for i in 0..($w) { + let message_i = divided_message[i] as u32; + + W_indices[i] = (i * $n / $w) as u32 + + input_vector[i] as u32 + + (message_i << ($r / $w) as u8); + } + + W_indices + } + + /// This function servers the purpose presented in table 3, of breaking a bit array into + /// batches of size not multiple of 8. Note that the IV will be broken always in size 8, which + /// is quite convenient. Also, the only numbers we'll have to worry for are 5 and 6. + fn dividing_bits( + input_bits: &[u8; Self::SIZE_MSG_CHUNKS], + size_batches: usize, + ) -> [u8; $w] { + if size_batches != 5usize && size_batches != 6usize { + panic!( + "Expecting batches of size 5 or 6. Other values do not follow \ + the standard specification" + ) + } + + let mut new_bits = [0u8; $w]; + let shifting_factor = (8 - size_batches) as u8; + for (i, new_bit) in new_bits.iter_mut().enumerate().take($w - 1) { + let position = i * size_batches; + let initial_byte = position / 8; + let initial_bit = position % 8; + let switch = (initial_bit + size_batches - 1) / 8; // check if we use the next byte + + if switch == 1 { + *new_bit = (input_bits[initial_byte] << initial_bit as u8 + | input_bits[initial_byte + 1] >> (8 - initial_bit as u8)) + >> shifting_factor; + } else { + *new_bit = + (input_bits[initial_byte] << initial_bit as u8) >> shifting_factor; + } + } + new_bits[$w - 1] = + (input_bits[Self::SIZE_MSG_CHUNKS - 1] << shifting_factor) >> shifting_factor; + + new_bits + } + + /// This function outputs r bits, which are used to chain to the next iteration. + fn compress( + hash: &mut [u8; Self::SIZE_OUTPUT_COMPRESS], + message_block: &[u8; Self::SIZE_MSG_CHUNKS], + ) { + let mut initial_vector = [0u8; Self::SIZE_OUTPUT_COMPRESS]; + + let w_indices = Self::computing_W_indices(hash, message_block); + for w_index in w_indices.iter() { + let chosen_vec = w_index / $r as u32; + let shift_value = w_index % $r as u32; + let mut vector = Self::define_iv(chosen_vec as usize); + let truncated = Self::shift_and_truncate(&mut vector, shift_value); + + initial_vector + .iter_mut() + .zip(truncated.iter()) + .for_each(|(x1, x2)| *x1 ^= *x2); + } + + *hash = initial_vector; + } + + fn final_compression( + initial_vector: [u8; Self::SIZE_OUTPUT_COMPRESS], + ) -> [u8; Self::HASH_OUTPUT_SIZE] { + // Now we use Whirpool + let mut result = [0u8; Self::HASH_OUTPUT_SIZE]; + let mut hasher = Whirlpool::new(); + + Update::update(&mut hasher, &initial_vector); + result.copy_from_slice(&hasher.finalize()[..Self::HASH_OUTPUT_SIZE]); + result + } + + fn shift_and_truncate( + array: &mut [u8; Self::SIZE_VECTORS], + shift_value: u32, + ) -> [u8; Self::SIZE_OUTPUT_COMPRESS] { + let array_len = array.len(); + let bits_in_cue = ($p % 8) as u8; + let mut truncated = [0u8; Self::SIZE_OUTPUT_COMPRESS]; + + if shift_value == 0 { + array[..Self::SIZE_OUTPUT_COMPRESS] + .try_into() + .expect("SIZE_VECTORS is always bigger than SIZE_OUTPUT_COMPRESS") + } else if shift_value <= (bits_in_cue as u32) { + let bytes_to_shift = 1; + let starting_byte = (array_len - bytes_to_shift) as usize; + + truncated[0] = array[starting_byte] << (bits_in_cue - shift_value as u8); + truncated[0] ^= array[0] >> shift_value; + for position in 1..Self::SIZE_OUTPUT_COMPRESS { + truncated[position] ^= array[position - 1] >> (8 - shift_value); + truncated[position] ^= array[position] << shift_value; + } + + truncated + } else { + // First we need to decide which is the last byte and bit that will go to the first position. + // Then, we build our truncated array from there. Recall that the last byte is not complete, + // and we have a total of P % 8 hanging bits (this will always happen). + let bytes_to_shift = + (((shift_value - bits_in_cue as u32 - 1) / 8) + 2) as usize; + // So then, the starting byte will be: + let starting_byte = (array_len - bytes_to_shift) as usize; + + // And the starting bit: + let remaining_bits = ((shift_value - bits_in_cue as u32) % 8) as u8; + + if remaining_bits != 0 { + for position in 0..(bytes_to_shift - 1) { + truncated[position] = array[starting_byte + position] + << (8 - remaining_bits) + | array[starting_byte + position + 1] >> remaining_bits; + } + + // The last case is different, as we don't know if there are sufficient bits in the cue to fill + // up a full byte. We have three cases: 1. where P % 8 (bits_in_cue) is larger than + // starting_bit, 2. where it is equal, and 3. where it is smaller. But we can fill the bits, and + // then decide how to proceed depending on the difference. + let difference = bits_in_cue.checked_sub(8 - remaining_bits); + + match difference { + Some(x) => { + if x > 0 { + // the next position takes starting_bits from the byte with the remaining zeros, and + // `difference` from the first byte. Then we iterate by shifting 8 - difference bits. + truncated[bytes_to_shift - 1] ^= array + [starting_byte + bytes_to_shift - 1] + << (bits_in_cue - x); + truncated[bytes_to_shift - 1] ^= array[0] >> x; + for (index, position) in + (bytes_to_shift..Self::SIZE_OUTPUT_COMPRESS).enumerate() + { + truncated[position] ^= array[index] << (8 - x); + truncated[position] ^= array[index + 1] >> x; + } + } else { + for (index, position) in ((bytes_to_shift - 1) + ..Self::SIZE_OUTPUT_COMPRESS) + .enumerate() + { + truncated[position] = array[index]; + } + } + } + None => { + let positive_diff = (8 - remaining_bits) - bits_in_cue; + // we need to fill the remainder with bits of the next byte. + truncated[bytes_to_shift - 2] ^= array[0] >> (8 - positive_diff); + for (index, position) in + ((bytes_to_shift - 1)..Self::SIZE_OUTPUT_COMPRESS).enumerate() + { + truncated[position] ^= array[index] << positive_diff; + truncated[position] ^= array[index + 1] >> (8 - positive_diff); + } + } + } + + truncated + } else { + truncated[..bytes_to_shift].clone_from_slice( + &array[starting_byte..(starting_byte + bytes_to_shift)], + ); + + // we need to fill the remainder with bits of the next byte. + truncated[bytes_to_shift - 1] ^= array[0] >> bits_in_cue; + for (index, position) in + (bytes_to_shift..Self::SIZE_OUTPUT_COMPRESS).enumerate() + { + truncated[position] ^= array[index] << (8 - bits_in_cue); + truncated[position] ^= array[index + 1] >> bits_in_cue; + } + truncated + } + } + } + + // I'm trying to avoid use unsafe code for this transformation. We are certain that the bit + // size of the buffer can be represented in 8 bytes. + fn helper_transform_usize(x: u64) -> [u8; 8] { + let b1: u8 = ((x >> 56) & 0xff) as u8; + let b2: u8 = ((x >> 48) & 0xff) as u8; + let b3: u8 = ((x >> 40) & 0xff) as u8; + let b4: u8 = ((x >> 32) & 0xff) as u8; + let b5: u8 = ((x >> 24) & 0xff) as u8; + let b6: u8 = ((x >> 16) & 0xff) as u8; + let b7: u8 = ((x >> 8) & 0xff) as u8; + let b8: u8 = (x & 0xff) as u8; + [b1, b2, b3, b4, b5, b6, b7, b8] + } + + fn convert(block: &GenericArray) -> &[u8; Self::SIZE_MSG_CHUNKS] { + #[allow(unsafe_code)] + unsafe { + &*(block.as_ptr() as *const [u8; Self::SIZE_MSG_CHUNKS]) + } + } + } + + impl Default for $state { + fn default() -> Self { + Self { + bit_length: 0u64, + buffer: BlockBuffer::default(), + hash: [0u8; $r / 8], + } + } + } + + impl BlockInput for $state { + type BlockSize = $blocksize; + } + + impl Update for $state { + fn update(&mut self, input: impl AsRef<[u8]>) { + let input = input.as_ref(); + self.update_len(input.len() as u64); + + let hash = &mut self.hash; + self.buffer + .input_block(input, |b| $state::compress(hash, $state::convert(b))); + } + } + + impl FixedOutputDirty for $state { + type OutputSize = $outputsize; + + fn finalize_into_dirty(&mut self, out: &mut GenericArray) { + self.finalize_inner(); + let final_whirpool = $state::final_compression(self.hash); + out.copy_from_slice(&final_whirpool) + } + } + + impl Reset for $state { + fn reset(&mut self) { + self.buffer.reset(); + for v in self.hash.iter_mut() { + *v = 0; + } + } + } + opaque_debug::implement!($state); + digest::impl_write!($state); + }; +} diff --git a/fsb/src/pi.rs b/fsb/src/pi.rs new file mode 100644 index 000000000..79b6c54b7 --- /dev/null +++ b/fsb/src/pi.rs @@ -0,0 +1,17027 @@ +// Double check this contains all values in the reference implementation +pub const PI: [u8; 272384] = [ + 0xb9, 0xde, 0x81, 0xae, 0x0f, 0x7f, 0xa3, 0x4d, 0x50, 0x03, 0x04, 0x67, 0x32, 0x0e, 0x21, 0x60, + 0xe8, 0xef, 0x10, 0xf4, 0x25, 0xd6, 0xf0, 0x26, 0xd6, 0x05, 0xcf, 0x11, 0x87, 0x2d, 0x66, 0xd1, + 0x28, 0x89, 0x40, 0xf9, 0x06, 0xb9, 0x40, 0xf3, 0x19, 0x21, 0x4f, 0xca, 0xb4, 0x7b, 0x40, 0x2c, + 0x9e, 0xf2, 0xda, 0xbf, 0xf5, 0x3d, 0xcf, 0xdd, 0x10, 0xf2, 0xde, 0x74, 0x67, 0x57, 0x6b, 0x70, + 0x22, 0x0e, 0x9c, 0x7d, 0x38, 0xb3, 0x77, 0x9e, 0xd1, 0x22, 0x4e, 0x12, 0xd3, 0x0d, 0xf3, 0xd3, + 0xde, 0xa0, 0x51, 0xd4, 0xb7, 0xac, 0xca, 0xb1, 0xed, 0x4c, 0x09, 0x76, 0x77, 0xb3, 0x57, 0x7e, + 0xd8, 0xf7, 0xf2, 0x5b, 0x86, 0xe4, 0x82, 0x47, 0x0b, 0x3e, 0x74, 0x7a, 0xc2, 0xf1, 0x43, 0xe6, + 0xdc, 0xd0, 0xe3, 0xf8, 0x47, 0xbf, 0xfa, 0xe6, 0xe0, 0x33, 0x53, 0xf5, 0x0d, 0x9b, 0x24, 0x94, + 0x77, 0xa6, 0x2b, 0x9d, 0x53, 0xf1, 0xdb, 0x37, 0x97, 0xfe, 0x61, 0x67, 0x8f, 0xc6, 0xb2, 0xd5, + 0xcc, 0x7e, 0xc0, 0xb5, 0xf2, 0x02, 0x54, 0xda, 0x26, 0xb3, 0xed, 0x2b, 0x21, 0xfd, 0x0c, 0x38, + 0x00, 0x19, 0x6f, 0xb1, 0x74, 0xd1, 0x40, 0x96, 0xfd, 0xc4, 0xe8, 0x29, 0x9d, 0xd0, 0x33, 0x4d, + 0x51, 0xb4, 0xb9, 0x3a, 0x13, 0x79, 0x55, 0x52, 0x4e, 0xaa, 0xf6, 0x7b, 0x65, 0x1e, 0x20, 0x5f, + 0x2b, 0xf9, 0x48, 0x94, 0x74, 0xf2, 0x5f, 0x70, 0x48, 0x54, 0xee, 0xd6, 0xd4, 0xf9, 0x2d, 0xfb, + 0x77, 0x48, 0x56, 0xdd, 0x75, 0x88, 0x6b, 0x4c, 0x6c, 0x45, 0x92, 0x2f, 0x22, 0xc0, 0x85, 0x78, + 0x65, 0x37, 0x15, 0x39, 0x93, 0x00, 0x69, 0xfa, 0x21, 0x00, 0xa0, 0xd2, 0x11, 0x92, 0x20, 0xf5, + 0x37, 0xc9, 0xa7, 0xe4, 0xc7, 0xe3, 0x45, 0x1e, 0xf2, 0x39, 0x98, 0xb9, 0x1b, 0x7a, 0x40, 0x84, + 0xce, 0x80, 0x2b, 0x41, 0xb3, 0x74, 0x14, 0x9d, 0xed, 0x93, 0x9a, 0xe5, 0x1f, 0x55, 0x5c, 0xfd, + 0xd6, 0xbe, 0x0c, 0x08, 0x9b, 0xf7, 0x4f, 0xec, 0xe8, 0x0d, 0x61, 0x86, 0xb0, 0x0e, 0x06, 0x46, + 0x63, 0x59, 0x3f, 0x6f, 0xca, 0x89, 0x43, 0x81, 0xc2, 0x20, 0x0c, 0x84, 0x43, 0xa2, 0x53, 0x5a, + 0x5c, 0x29, 0x8b, 0x6c, 0x17, 0x49, 0xf5, 0x34, 0xdd, 0x16, 0xd6, 0x44, 0x3c, 0xe9, 0xc4, 0x49, + 0x2d, 0x8e, 0x08, 0xa7, 0x1a, 0x9d, 0x5d, 0x36, 0xd7, 0x61, 0x1a, 0x44, 0x1c, 0x49, 0xfd, 0xcb, + 0xb1, 0x48, 0x87, 0x24, 0xbb, 0xbf, 0xbc, 0xc9, 0xee, 0x63, 0x0f, 0x75, 0xa7, 0x3c, 0x61, 0xdb, + 0x8d, 0x48, 0x44, 0xd3, 0xc7, 0xb1, 0x27, 0xc1, 0x39, 0x05, 0xd7, 0xff, 0x16, 0x46, 0x06, 0xdd, + 0xbe, 0xef, 0xd4, 0xe3, 0x72, 0x58, 0x9d, 0xb4, 0x39, 0x8b, 0x27, 0x47, 0x3b, 0xcb, 0xd2, 0xce, + 0x72, 0x49, 0xcd, 0x34, 0x23, 0xa8, 0x28, 0xd2, 0xc2, 0xd8, 0x0c, 0x86, 0xc3, 0xe2, 0xdd, 0xc2, + 0x99, 0x16, 0xd7, 0x68, 0xbb, 0x8c, 0x4d, 0xc0, 0x6f, 0xf7, 0xe0, 0xe7, 0x15, 0xae, 0xe5, 0xdb, + 0x34, 0xe2, 0x53, 0x7e, 0x40, 0xc4, 0x7a, 0x71, 0xee, 0x9a, 0xae, 0x3c, 0xd2, 0x86, 0xcf, 0xb6, + 0x9f, 0xe8, 0x61, 0x1d, 0x9d, 0xa7, 0xd8, 0xb6, 0xee, 0xbe, 0x7b, 0x6b, 0xe8, 0x5a, 0xe5, 0xb3, + 0xba, 0x77, 0x62, 0x95, 0xb9, 0x60, 0x36, 0xb9, 0x55, 0x97, 0x15, 0xd6, 0x0f, 0xc2, 0xd6, 0x37, + 0x83, 0xe4, 0xcf, 0xdc, 0x9a, 0x88, 0xca, 0x45, 0xd4, 0xcc, 0xea, 0x9f, 0x0a, 0x96, 0x78, 0xd3, + 0x9b, 0x0b, 0x70, 0x06, 0xca, 0xc0, 0xb7, 0x27, 0x39, 0x86, 0x5b, 0x00, 0xae, 0x30, 0x77, 0x34, + 0x0a, 0xc5, 0x25, 0xc6, 0x3d, 0x5d, 0xdd, 0x01, 0xd5, 0x30, 0x97, 0x69, 0x85, 0xa5, 0x8d, 0x0f, + 0x9c, 0x53, 0xb1, 0xc9, 0x0c, 0x7b, 0xb0, 0xd5, 0x11, 0x94, 0x69, 0x7a, 0x40, 0x8d, 0xbc, 0x75, + 0x42, 0x2d, 0xae, 0x74, 0x15, 0xcf, 0x28, 0x11, 0xd0, 0x25, 0x2a, 0xab, 0x1c, 0xf1, 0xdd, 0xe8, + 0x6f, 0x68, 0x50, 0x6c, 0x9e, 0xed, 0x6d, 0x75, 0xeb, 0xfe, 0x42, 0xfa, 0xda, 0x51, 0xdd, 0x2c, + 0x7b, 0xf5, 0x5d, 0xff, 0x18, 0x9a, 0x73, 0xc2, 0x1c, 0x2a, 0xa7, 0xd3, 0x82, 0x4a, 0x6f, 0x64, + 0x1e, 0x93, 0x79, 0xc1, 0xef, 0x39, 0x53, 0x45, 0x56, 0x40, 0xcf, 0x9d, 0x2a, 0x59, 0x97, 0x32, + 0xac, 0x48, 0x09, 0x44, 0x14, 0x76, 0x03, 0x02, 0x7d, 0xef, 0xfb, 0xd8, 0x58, 0xa5, 0x8a, 0x75, + 0xf3, 0x9a, 0x65, 0x12, 0xf0, 0x3d, 0xce, 0x83, 0xd4, 0x4b, 0x7e, 0x5d, 0x3c, 0x86, 0x83, 0x05, + 0x85, 0xb9, 0xa3, 0x97, 0xbf, 0xbd, 0x6b, 0x52, 0x11, 0x41, 0x14, 0x40, 0xc0, 0x33, 0x56, 0xae, + 0x4b, 0x54, 0xf1, 0x21, 0x1e, 0xe2, 0x7e, 0x6c, 0x78, 0xcb, 0xe7, 0xb0, 0x1c, 0x4e, 0xcf, 0xf4, + 0xf1, 0xab, 0xdc, 0xed, 0xac, 0x8d, 0x6c, 0x77, 0xd1, 0x7d, 0x2e, 0xf3, 0x56, 0x3a, 0x9b, 0x10, + 0x52, 0x7c, 0x2e, 0xc5, 0x1c, 0x18, 0x75, 0x66, 0x19, 0x77, 0x6b, 0x93, 0x2c, 0x2f, 0x01, 0x1a, + 0xbd, 0x96, 0xc9, 0x59, 0xe3, 0x2f, 0xbf, 0x0b, 0x99, 0xbd, 0x5f, 0x75, 0x0f, 0xc4, 0x0c, 0x9a, + 0x54, 0xd3, 0x78, 0xf6, 0xde, 0xc6, 0x33, 0xa5, 0xf6, 0x76, 0x06, 0xd7, 0x8b, 0xc7, 0x59, 0x4c, + 0xd5, 0x29, 0xae, 0xd3, 0x6b, 0xc9, 0x3b, 0x25, 0x29, 0xa8, 0x07, 0x92, 0xd7, 0xe0, 0x40, 0x07, + 0x1f, 0x71, 0x04, 0xa6, 0x65, 0x66, 0xc4, 0x29, 0x01, 0x13, 0x8a, 0xef, 0xf2, 0x30, 0x55, 0x38, + 0x52, 0x7e, 0x67, 0xc7, 0xf9, 0xc4, 0xc0, 0xbd, 0xbb, 0x83, 0xb4, 0xdb, 0xfe, 0xaf, 0xef, 0x40, + 0x85, 0xb9, 0xa3, 0x76, 0xeb, 0x2d, 0xbf, 0x48, 0x80, 0x9e, 0x06, 0xe4, 0xcb, 0x35, 0xe5, 0xcd, + 0xc6, 0x85, 0x70, 0x5c, 0xa3, 0xf3, 0xbc, 0x02, 0xa1, 0x81, 0x96, 0x61, 0x6a, 0xb4, 0x80, 0xb6, + 0x1a, 0x40, 0x5c, 0xef, 0xe4, 0xd9, 0x02, 0xcf, 0x6f, 0xf9, 0xf8, 0x7a, 0x93, 0xcd, 0x70, 0x9c, + 0x4a, 0xc2, 0x74, 0x55, 0x71, 0x26, 0xd5, 0xcd, 0x4a, 0x58, 0x1a, 0xf3, 0x75, 0xc3, 0x96, 0xa4, + 0x1f, 0xbb, 0x37, 0x99, 0x50, 0xdd, 0x8b, 0xfe, 0x89, 0x63, 0xe0, 0xfb, 0x1d, 0x77, 0x4b, 0xcf, + 0xbc, 0xcb, 0x7d, 0x2d, 0xa2, 0xa0, 0x30, 0x06, 0x8a, 0x57, 0x4b, 0x56, 0xd6, 0x5b, 0x66, 0xf8, + 0x1f, 0xef, 0x32, 0x47, 0x75, 0xef, 0xbd, 0xb3, 0x18, 0xa1, 0x21, 0x06, 0x3f, 0x5e, 0x45, 0x2e, + 0xc7, 0xa6, 0x82, 0x8d, 0xae, 0xa7, 0x60, 0xaa, 0x7d, 0x1a, 0xab, 0xcb, 0x19, 0xa7, 0xdc, 0x4a, + 0xf1, 0x3d, 0xf0, 0x94, 0x4a, 0xc1, 0x7a, 0x7c, 0xc2, 0xfe, 0xb6, 0x6c, 0x13, 0x6f, 0x40, 0x35, + 0x96, 0xcd, 0x0f, 0x6d, 0x7c, 0x32, 0xe6, 0x84, 0xce, 0x13, 0x7f, 0x2f, 0x74, 0x2c, 0x2e, 0xac, + 0xb5, 0x71, 0x3c, 0xc7, 0xe2, 0xae, 0x4a, 0x40, 0x30, 0x8e, 0x94, 0xf3, 0x12, 0xc4, 0x2a, 0xc7, + 0x78, 0xa7, 0x6b, 0x6e, 0x78, 0x78, 0xc7, 0xd5, 0x20, 0x3e, 0x4e, 0x0c, 0xfa, 0xb3, 0xc5, 0xc4, + 0xe7, 0x5b, 0x68, 0x41, 0x68, 0xd2, 0xc1, 0x8d, 0x28, 0xdb, 0xb5, 0x46, 0x52, 0xb2, 0x00, 0xc9, + 0x83, 0x43, 0x52, 0x18, 0x81, 0x71, 0xea, 0xd7, 0x16, 0x0d, 0x26, 0xfe, 0x58, 0x18, 0x2d, 0x26, + 0xa8, 0x39, 0x06, 0x20, 0xf4, 0x26, 0xb0, 0x5d, 0xf0, 0x38, 0x52, 0x20, 0x29, 0x6a, 0x05, 0xc5, + 0xa6, 0x4d, 0xe5, 0x5b, 0xee, 0x22, 0x1d, 0x6a, 0xae, 0xdf, 0x1b, 0x55, 0x53, 0x09, 0xec, 0x3e, + 0xb3, 0x58, 0xce, 0xc7, 0x76, 0x1f, 0xb9, 0x6b, 0x9f, 0x5d, 0xfd, 0x0f, 0x86, 0x89, 0xb8, 0xca, + 0xc9, 0x89, 0xff, 0xe9, 0x3c, 0x7f, 0xef, 0x60, 0x8b, 0x90, 0x03, 0xee, 0xe9, 0xb2, 0x43, 0x1f, + 0xf4, 0x14, 0x5f, 0xc8, 0xe9, 0xe7, 0x48, 0x3e, 0x7b, 0xa7, 0x8c, 0x47, 0x4a, 0x31, 0xce, 0x62, + 0xf1, 0xba, 0x4a, 0x1b, 0xc1, 0xa4, 0x3e, 0xd6, 0xa4, 0x70, 0x41, 0xe6, 0xb5, 0x2d, 0x6e, 0xa9, + 0xb5, 0xad, 0x37, 0xa5, 0xc6, 0xda, 0x54, 0x2d, 0xd4, 0x77, 0x36, 0x1c, 0x9d, 0x26, 0x71, 0x7e, + 0xc2, 0xbf, 0xcd, 0x02, 0x11, 0x70, 0x00, 0x90, 0x39, 0x27, 0x6b, 0xce, 0x54, 0x48, 0x14, 0x59, + 0x3e, 0x2a, 0x65, 0x25, 0x2d, 0xcc, 0xed, 0x08, 0x93, 0xd1, 0x41, 0x56, 0x20, 0x3d, 0xbc, 0x8d, + 0x3e, 0x95, 0x77, 0x67, 0xc3, 0x49, 0xbc, 0xca, 0xe7, 0xb5, 0x2d, 0xe2, 0x55, 0x40, 0x45, 0x45, + 0x28, 0x14, 0xb5, 0xc4, 0x2c, 0x26, 0x74, 0xe1, 0x14, 0x00, 0x10, 0x3e, 0xaa, 0x6d, 0x68, 0x0b, + 0xf8, 0xdb, 0x0d, 0x85, 0x4a, 0x29, 0xb3, 0x5a, 0x7d, 0x39, 0x4e, 0xe1, 0x11, 0x5b, 0xf9, 0x23, + 0x24, 0x85, 0x54, 0xee, 0x86, 0x33, 0x2a, 0x93, 0xaf, 0x69, 0xc3, 0xbd, 0x32, 0xa6, 0x2f, 0x56, + 0xee, 0xac, 0x76, 0xa6, 0xe3, 0x44, 0xb1, 0xbf, 0x29, 0xaa, 0x53, 0x0a, 0x08, 0x5a, 0xd7, 0x24, + 0x12, 0x56, 0x36, 0x50, 0x57, 0xd6, 0x61, 0xd9, 0x07, 0x8a, 0x16, 0x84, 0x94, 0xeb, 0x8c, 0x90, + 0x73, 0xdf, 0xb4, 0x46, 0x66, 0x91, 0x13, 0x02, 0xa7, 0xce, 0x72, 0x58, 0xa1, 0x74, 0xb8, 0xe4, + 0x56, 0xba, 0x93, 0x33, 0x30, 0x6b, 0xe9, 0x75, 0x48, 0xc1, 0xe6, 0x18, 0x68, 0x97, 0x1a, 0x96, + 0xb7, 0xfb, 0x1d, 0x1c, 0xe6, 0xb0, 0xc4, 0xad, 0x9b, 0x6d, 0xb5, 0x72, 0x39, 0x1f, 0x20, 0x5f, + 0x6d, 0x4a, 0x87, 0x6d, 0x64, 0x98, 0xdb, 0xbc, 0xbf, 0x36, 0xfc, 0x28, 0x49, 0x31, 0xc0, 0xa6, + 0xec, 0x25, 0x3d, 0xc4, 0xd3, 0xd8, 0xce, 0xc2, 0x14, 0xb0, 0x38, 0x74, 0x66, 0xdf, 0x3c, 0xff, + 0x33, 0x96, 0xed, 0x38, 0x20, 0xe5, 0x39, 0xcd, 0xc1, 0xfe, 0x75, 0xe8, 0x7d, 0x21, 0x87, 0x66, + 0x82, 0x59, 0x7c, 0x8b, 0x28, 0x64, 0x31, 0x97, 0x5d, 0x83, 0xf5, 0x48, 0x2a, 0xa0, 0x51, 0x44, + 0x4c, 0xf2, 0x02, 0xec, 0xc9, 0x49, 0x3c, 0x3b, 0x58, 0x96, 0x09, 0x0e, 0x0f, 0x22, 0x8f, 0xbc, + 0x0f, 0xac, 0xa2, 0xcf, 0xe0, 0x1a, 0x31, 0xab, 0xec, 0x4a, 0x7b, 0xb4, 0xe6, 0xa2, 0x2b, 0xbe, + 0x95, 0xe2, 0x7c, 0xcb, 0x4b, 0xa8, 0xf0, 0xde, 0x6b, 0xc2, 0xcd, 0x42, 0x36, 0x0a, 0x4d, 0xe4, + 0x53, 0x09, 0xab, 0x8b, 0xf6, 0x8d, 0x76, 0x9e, 0x6e, 0x3f, 0x51, 0x02, 0x47, 0xb8, 0x87, 0x46, + 0xaf, 0x07, 0x80, 0x44, 0x77, 0x6f, 0x13, 0x98, 0x4b, 0xa6, 0x53, 0x5f, 0x23, 0xe7, 0x6f, 0xcb, + 0x61, 0xbd, 0x74, 0x4c, 0x46, 0xf6, 0x06, 0x67, 0xde, 0x66, 0x54, 0x52, 0x09, 0x21, 0xda, 0xaf, + 0x53, 0x7f, 0xce, 0xf0, 0x64, 0xdf, 0x36, 0x0e, 0x51, 0x8f, 0x82, 0x4e, 0x18, 0x52, 0x03, 0x93, + 0x00, 0xe2, 0x99, 0x4f, 0x9a, 0xcc, 0xe2, 0x33, 0xe5, 0x21, 0xff, 0x69, 0x9b, 0x98, 0x8a, 0x0b, + 0x51, 0x63, 0x46, 0x68, 0x95, 0xe1, 0x69, 0xff, 0x30, 0xfe, 0x06, 0xd2, 0xda, 0x90, 0xa6, 0x85, + 0x64, 0x6e, 0xd8, 0x62, 0xbb, 0x68, 0x42, 0x84, 0xc1, 0xc2, 0xd2, 0x5c, 0x37, 0x44, 0xc2, 0x78, + 0xe0, 0x8a, 0xc8, 0x8a, 0x87, 0x6a, 0xbc, 0x44, 0xac, 0xed, 0x5c, 0x62, 0x96, 0x91, 0x16, 0xb9, + 0xe2, 0x48, 0x97, 0x63, 0x77, 0x60, 0xc5, 0xe6, 0x8a, 0x2f, 0x00, 0xef, 0x26, 0x8c, 0x1e, 0x67, + 0xa7, 0x66, 0xe2, 0xcd, 0x11, 0x6a, 0x81, 0x0c, 0x65, 0x66, 0x4a, 0x11, 0xd7, 0x7d, 0x06, 0x82, + 0x7e, 0x73, 0x49, 0x42, 0x0e, 0x27, 0xf1, 0xa4, 0xf0, 0x6b, 0x9f, 0x6f, 0xd9, 0xd7, 0xdd, 0x74, + 0xd7, 0xf2, 0x64, 0x66, 0xd7, 0x5c, 0x26, 0x49, 0x3e, 0x11, 0x58, 0x95, 0xec, 0xf3, 0xef, 0x46, + 0xb9, 0x9d, 0x58, 0x9e, 0x6f, 0x75, 0x93, 0x72, 0x01, 0x04, 0x65, 0x0d, 0x9a, 0x30, 0x3a, 0x9d, + 0xa5, 0xa6, 0x60, 0xfe, 0xcc, 0x71, 0x25, 0x04, 0x20, 0xc0, 0xaa, 0x52, 0x02, 0x0a, 0xb8, 0x89, + 0xbe, 0x58, 0xf9, 0xd7, 0xb5, 0x1b, 0x1e, 0xef, 0x13, 0x55, 0xa7, 0xf8, 0x05, 0x1c, 0x35, 0xb8, + 0x8b, 0xfa, 0x6d, 0x00, 0x37, 0x6c, 0x12, 0x30, 0x8b, 0xe4, 0xb8, 0xe3, 0xa1, 0x86, 0xf3, 0xed, + 0x4b, 0x48, 0x8b, 0x36, 0x9b, 0x3c, 0xbd, 0x0e, 0x9b, 0xef, 0x4e, 0x32, 0x42, 0x2d, 0x7b, 0x74, + 0x3a, 0x08, 0x44, 0xd0, 0x60, 0x78, 0x60, 0xca, 0x2a, 0xd8, 0x5e, 0x91, 0x63, 0xc9, 0xa6, 0x7c, + 0x1c, 0x4e, 0x98, 0x10, 0xf7, 0x91, 0x01, 0xc8, 0xf4, 0x41, 0x35, 0x33, 0xf0, 0x7b, 0xce, 0x81, + 0x0d, 0x83, 0xde, 0x8f, 0xce, 0x42, 0xad, 0x7f, 0xc3, 0xfe, 0x97, 0xb8, 0x46, 0x6d, 0x01, 0xcf, + 0xe8, 0xbe, 0x0f, 0x40, 0xf7, 0x17, 0xb7, 0x3f, 0xb9, 0xd1, 0xff, 0x1d, 0xb4, 0x6a, 0xbe, 0x0a, + 0x94, 0x46, 0xff, 0xde, 0xb7, 0xe9, 0x25, 0x7d, 0xac, 0xbd, 0x78, 0x30, 0xc5, 0x4c, 0x88, 0x33, + 0xb1, 0x9f, 0xd0, 0xd5, 0x82, 0x51, 0x79, 0xb7, 0x66, 0xdf, 0x88, 0x91, 0xab, 0x84, 0xb3, 0x33, + 0x10, 0x8e, 0x86, 0xdb, 0x65, 0x53, 0x37, 0x03, 0x94, 0xd4, 0xbc, 0x73, 0xc3, 0x03, 0x76, 0x88, + 0xb4, 0x33, 0x6d, 0xff, 0xc5, 0x99, 0xc7, 0x67, 0x6e, 0x26, 0xbc, 0x86, 0xf4, 0x95, 0x9c, 0xac, + 0x31, 0x27, 0x62, 0x98, 0x8b, 0x95, 0x92, 0x52, 0x57, 0x98, 0x80, 0xa6, 0xa1, 0xfb, 0x43, 0xa0, + 0x58, 0x4b, 0xa4, 0x2d, 0x49, 0x1e, 0x5b, 0x16, 0x56, 0x52, 0x3c, 0x70, 0x95, 0x94, 0x7a, 0x40, + 0x64, 0xbd, 0xe2, 0xca, 0xfb, 0xc0, 0x98, 0xc5, 0x44, 0x63, 0xbc, 0x57, 0xd1, 0x51, 0x31, 0xd6, + 0x53, 0xfc, 0x96, 0x0e, 0xb6, 0xb6, 0x1e, 0x42, 0xe1, 0x32, 0xd1, 0x15, 0xa7, 0xa9, 0x98, 0x9b, + 0xf0, 0x50, 0xc7, 0x43, 0x7f, 0xe8, 0x2c, 0x37, 0x7d, 0x4c, 0x1c, 0xa1, 0x2b, 0xde, 0xe8, 0x08, + 0x5e, 0xf2, 0x3b, 0x06, 0xf7, 0xf7, 0x67, 0xff, 0x28, 0xd3, 0x8a, 0x7b, 0xc1, 0xc7, 0x8c, 0x03, + 0xbd, 0x0f, 0xa4, 0xec, 0x0c, 0x2a, 0x6b, 0xc9, 0xc5, 0xb3, 0x17, 0x87, 0x23, 0xde, 0x76, 0x26, + 0x58, 0xfe, 0x66, 0x0a, 0x4f, 0xe6, 0x99, 0x28, 0x0b, 0x15, 0x13, 0xf5, 0xa9, 0xaa, 0xdf, 0x41, + 0xa9, 0xcb, 0x17, 0x59, 0xfc, 0x6a, 0xdf, 0x52, 0xb5, 0xce, 0x79, 0x64, 0x55, 0x3a, 0xa6, 0x5f, + 0x47, 0x1e, 0xc6, 0x19, 0x94, 0x1c, 0xf6, 0x96, 0xca, 0x35, 0x4b, 0xbe, 0x26, 0xf9, 0xd9, 0xc0, + 0x96, 0xa7, 0xa7, 0x8a, 0xb5, 0xfb, 0x5c, 0xcd, 0xf4, 0x30, 0x99, 0x72, 0x86, 0x4f, 0x59, 0x53, + 0xca, 0xaf, 0x95, 0x24, 0x52, 0x8a, 0x96, 0x91, 0x1b, 0x4d, 0xe4, 0xde, 0xe2, 0x39, 0xa5, 0x29, + 0x21, 0x8e, 0x1d, 0xd3, 0xd6, 0xd5, 0x72, 0x22, 0x82, 0x9a, 0x76, 0xd1, 0xd4, 0x80, 0xef, 0xb0, + 0x89, 0xce, 0x7c, 0x47, 0xb1, 0x66, 0xfa, 0x76, 0xd8, 0xfb, 0x04, 0xd5, 0x74, 0x81, 0xeb, 0xa7, + 0x18, 0x3f, 0xae, 0xda, 0xff, 0x3e, 0x1e, 0x64, 0x3e, 0xea, 0x55, 0x1a, 0x69, 0xf7, 0x55, 0xde, + 0x8f, 0x96, 0x73, 0x67, 0x65, 0x87, 0xcb, 0x1f, 0x3e, 0x95, 0x84, 0x66, 0x76, 0x1c, 0x73, 0xd6, + 0xbc, 0x48, 0x47, 0x91, 0x66, 0x92, 0x6d, 0xc3, 0xe1, 0x2a, 0x34, 0xa5, 0x4b, 0xa6, 0xd1, 0x24, + 0x93, 0xc5, 0xd2, 0x4c, 0x71, 0x53, 0xf6, 0xaa, 0xd8, 0xc1, 0x3b, 0xa7, 0x6e, 0x5a, 0xae, 0x63, + 0x2d, 0x97, 0x0e, 0x48, 0x6c, 0x73, 0x9b, 0x9c, 0x02, 0x4b, 0xb2, 0xdf, 0x36, 0xf7, 0xb3, 0x44, + 0xc4, 0x5e, 0xf1, 0x8c, 0x80, 0x54, 0x84, 0x2b, 0x23, 0x68, 0x72, 0x4d, 0xcf, 0x73, 0x9c, 0xd3, + 0x89, 0x98, 0x52, 0x81, 0x3d, 0x96, 0xd0, 0x8f, 0xd1, 0xfe, 0x82, 0x0d, 0x2d, 0x00, 0xcc, 0xea, + 0x09, 0xcf, 0x23, 0x1f, 0x86, 0xae, 0x92, 0x5b, 0xb9, 0xdc, 0x62, 0xdb, 0x8d, 0x54, 0x75, 0x25, + 0xd9, 0xe0, 0x2c, 0x3d, 0xf5, 0xf7, 0x27, 0x79, 0x92, 0xbf, 0x76, 0x96, 0x80, 0xe0, 0x22, 0x17, + 0xf3, 0x7d, 0xae, 0x76, 0x1e, 0xd2, 0xb7, 0x46, 0x08, 0xdd, 0x57, 0xd8, 0xcd, 0xeb, 0x0b, 0xcb, + 0xbd, 0xcf, 0x0f, 0xed, 0x8d, 0x37, 0x66, 0x94, 0xd2, 0x77, 0x89, 0x57, 0x42, 0x3a, 0x93, 0x20, + 0x24, 0x16, 0xce, 0xf3, 0x55, 0x33, 0x4d, 0x38, 0xb5, 0xc7, 0xc3, 0xc1, 0x9f, 0x84, 0x2f, 0x32, + 0xec, 0xe0, 0x58, 0x53, 0xd6, 0x71, 0x7d, 0xf1, 0xee, 0x61, 0x58, 0xe0, 0x59, 0x3c, 0xbc, 0xcd, + 0x4c, 0x3e, 0xca, 0xde, 0xab, 0x62, 0xb0, 0x49, 0x98, 0xd4, 0xe6, 0x8b, 0x57, 0x88, 0x2b, 0x23, + 0x54, 0x92, 0xf6, 0x64, 0x1c, 0x54, 0x68, 0xce, 0xff, 0x9c, 0x07, 0xa3, 0x18, 0xa2, 0x91, 0xba, + 0xd8, 0x69, 0x71, 0x72, 0x2d, 0xdd, 0x15, 0x09, 0xb9, 0xc4, 0x88, 0x5d, 0x8d, 0x9b, 0x81, 0x99, + 0xb8, 0x33, 0xe0, 0x5e, 0x9d, 0xbe, 0xc0, 0x27, 0x52, 0x4c, 0xc9, 0xef, 0x4c, 0xed, 0xe7, 0x5a, + 0x82, 0xdf, 0x58, 0x65, 0x62, 0xdf, 0xfc, 0xec, 0x48, 0xc8, 0x85, 0xf2, 0x0b, 0x28, 0x79, 0x53, + 0x42, 0x94, 0x6c, 0xc5, 0x2f, 0x51, 0xc3, 0x94, 0x18, 0x01, 0x9f, 0xb5, 0x50, 0xa4, 0x09, 0x57, + 0xa9, 0x84, 0xc2, 0xc0, 0x3d, 0x1b, 0x3f, 0xbd, 0xd6, 0x70, 0x68, 0x10, 0xff, 0xe4, 0x81, 0xe9, + 0xb2, 0x91, 0x19, 0x8e, 0xec, 0xa8, 0x11, 0xa5, 0x45, 0xd3, 0xed, 0x8e, 0x3a, 0xfd, 0xca, 0x55, + 0x81, 0xcb, 0xa6, 0x8a, 0xb0, 0x5b, 0xde, 0x56, 0x76, 0x45, 0xc9, 0x5a, 0x28, 0x50, 0xc5, 0xf6, + 0x54, 0x1d, 0x35, 0xf1, 0x4c, 0x50, 0x8a, 0xcc, 0x56, 0x53, 0x43, 0xb9, 0x96, 0x02, 0xaf, 0x01, + 0x20, 0xbd, 0xab, 0x82, 0xf6, 0xa8, 0x6a, 0xea, 0x57, 0x89, 0x77, 0x21, 0xd9, 0x86, 0x5e, 0xe1, + 0xfe, 0x62, 0x47, 0xb6, 0x45, 0xaf, 0x0f, 0x50, 0x50, 0x3f, 0x68, 0x72, 0x91, 0x8a, 0xbd, 0x79, + 0xcd, 0xad, 0xf3, 0xc9, 0x9b, 0x77, 0x49, 0xaa, 0xac, 0x19, 0x3a, 0xdd, 0x6c, 0xcf, 0x4f, 0xfa, + 0x2d, 0xe1, 0x60, 0x24, 0xc5, 0x54, 0x52, 0x4c, 0x6d, 0x52, 0xbd, 0x9c, 0xaa, 0x22, 0xf6, 0xad, + 0x74, 0x4b, 0x6d, 0xd2, 0x40, 0x3c, 0x13, 0x98, 0x87, 0x49, 0xd9, 0x42, 0x3a, 0xbb, 0xd9, 0x17, + 0x31, 0x2d, 0x2e, 0x4a, 0xbe, 0x16, 0xa6, 0x02, 0xf2, 0x93, 0xc6, 0xe8, 0xbe, 0x49, 0x59, 0xde, + 0x27, 0x35, 0xd5, 0x58, 0x9d, 0x05, 0x0c, 0x73, 0x89, 0x29, 0xd2, 0x47, 0xf8, 0xc1, 0x21, 0xd9, + 0xcb, 0x52, 0x28, 0xbe, 0x2b, 0xb9, 0xeb, 0x68, 0x0a, 0x8f, 0x50, 0x8c, 0x4e, 0x70, 0x83, 0xa3, + 0xc9, 0x7e, 0x1f, 0x72, 0xd1, 0x0d, 0x6f, 0x11, 0x8e, 0xfe, 0x76, 0x6f, 0x19, 0x2c, 0x48, 0x42, + 0x68, 0x07, 0x42, 0x71, 0xba, 0x88, 0xad, 0xdd, 0x1b, 0xfa, 0x9d, 0x88, 0x4f, 0x5e, 0x1f, 0x98, + 0x21, 0x4e, 0xd1, 0x4e, 0x2f, 0xeb, 0x1d, 0x21, 0xcb, 0x7d, 0x82, 0x4f, 0xe3, 0x51, 0x66, 0x8b, + 0x00, 0x4b, 0xf9, 0x4c, 0x46, 0x52, 0x1b, 0xe4, 0x99, 0x9a, 0x4c, 0xad, 0xec, 0xe7, 0x44, 0x46, + 0xae, 0xae, 0xd0, 0x44, 0x34, 0xc0, 0x6c, 0x0b, 0xa3, 0x65, 0x62, 0x2b, 0xda, 0xa3, 0x9b, 0xf2, + 0x0d, 0x6d, 0x55, 0x3f, 0xee, 0x05, 0x38, 0xa1, 0x24, 0x7c, 0xd1, 0xf1, 0xd9, 0xbd, 0x60, 0xac, + 0xed, 0x15, 0x9b, 0xf2, 0x9b, 0x5b, 0xdb, 0x42, 0xc5, 0xda, 0xdb, 0xf0, 0x93, 0x67, 0xb7, 0x23, + 0xb6, 0x12, 0x3a, 0xff, 0x79, 0xc7, 0xcf, 0xe3, 0x46, 0x7c, 0x03, 0x10, 0xd6, 0xb2, 0x10, 0x21, + 0x7e, 0xfd, 0xcf, 0x6d, 0x82, 0x5e, 0xb5, 0x1b, 0x33, 0xfd, 0xad, 0x22, 0x1d, 0x13, 0xe3, 0x8b, + 0x27, 0x8c, 0x4f, 0x05, 0x1d, 0xfd, 0x49, 0xa4, 0x14, 0x15, 0xcb, 0xc0, 0x03, 0x7b, 0x81, 0x95, + 0x89, 0x4b, 0x3d, 0x4a, 0x04, 0xbf, 0xa6, 0x42, 0x21, 0x77, 0xa8, 0x4b, 0x37, 0x52, 0x31, 0x17, + 0xe9, 0xdf, 0xc5, 0x1d, 0xce, 0x51, 0x20, 0x4e, 0xfe, 0x3b, 0x40, 0xbf, 0xde, 0x5d, 0xf2, 0x32, + 0x91, 0xa1, 0x1b, 0x1b, 0x39, 0xdb, 0x34, 0xb8, 0xc7, 0xc8, 0xc8, 0x13, 0x07, 0x53, 0x1e, 0xc0, + 0x26, 0x7e, 0x50, 0x8e, 0xc1, 0xe5, 0x11, 0x6d, 0x3f, 0x39, 0x16, 0x53, 0x41, 0x1b, 0x52, 0x16, + 0x91, 0x55, 0x33, 0x67, 0xf2, 0x1f, 0xbf, 0x92, 0x94, 0xa0, 0x7e, 0xea, 0x91, 0x59, 0x42, 0xbb, + 0x05, 0xca, 0x1d, 0xa3, 0xa6, 0x3f, 0xe1, 0xfd, 0x04, 0xf3, 0xb2, 0xd2, 0x9d, 0x46, 0x9c, 0xfc, + 0xb3, 0x65, 0xc7, 0x31, 0x91, 0xee, 0x22, 0x92, 0x92, 0x3c, 0x65, 0x58, 0xc0, 0xbd, 0x8d, 0x37, + 0x2a, 0xbd, 0x63, 0x66, 0x8f, 0x49, 0x12, 0xe8, 0xf7, 0x30, 0x31, 0x67, 0x35, 0x09, 0x57, 0x64, + 0x64, 0xde, 0x59, 0x9e, 0xbb, 0x56, 0x99, 0xe3, 0x6c, 0xc3, 0xee, 0x8b, 0x55, 0x8f, 0x54, 0xe8, + 0x6b, 0x79, 0x11, 0xfa, 0x91, 0x62, 0xdd, 0xf3, 0x3b, 0xc3, 0xdc, 0x68, 0x8e, 0xc2, 0x50, 0x41, + 0x19, 0x10, 0x10, 0x95, 0x8f, 0x05, 0xd1, 0x38, 0x16, 0xb5, 0x02, 0xde, 0xf0, 0x0d, 0x8f, 0xbd, + 0xf3, 0x3e, 0x3d, 0xcf, 0x15, 0xda, 0x27, 0x04, 0x21, 0x55, 0xf1, 0xab, 0xca, 0x60, 0xef, 0x11, + 0xdb, 0xb5, 0xf5, 0xf3, 0x53, 0xb0, 0x81, 0x69, 0x81, 0x62, 0xcd, 0xdb, 0xf6, 0xb1, 0xb6, 0x31, + 0xd0, 0x8a, 0x1f, 0x33, 0x14, 0x23, 0xf8, 0xdf, 0xc1, 0x78, 0xee, 0xdf, 0xe5, 0x87, 0x91, 0xea, + 0x00, 0x18, 0x55, 0x43, 0x51, 0xc9, 0x64, 0x7f, 0x97, 0x9c, 0x54, 0x51, 0x48, 0x79, 0x33, 0x9a, + 0x0d, 0x57, 0x70, 0xa4, 0x26, 0xbf, 0xd5, 0x35, 0xd6, 0xb6, 0x49, 0xdc, 0x94, 0xbb, 0x71, 0xae, + 0xa5, 0xdf, 0x70, 0xd3, 0x3c, 0x83, 0xbf, 0x02, 0x23, 0xa9, 0x14, 0x1a, 0x13, 0xd7, 0x76, 0x56, + 0x85, 0xe9, 0x0c, 0x9e, 0xbf, 0xda, 0x8e, 0x80, 0xd4, 0xec, 0x45, 0x6d, 0xf0, 0x5d, 0xc2, 0xec, + 0xad, 0x9f, 0xbb, 0xce, 0xbe, 0x6b, 0x3d, 0xc1, 0x5e, 0x7f, 0xbe, 0xe5, 0x58, 0xaa, 0xa5, 0x76, + 0x01, 0x61, 0x3f, 0xda, 0xcd, 0xed, 0x9a, 0xdb, 0xb2, 0x93, 0x37, 0xfc, 0x6c, 0xca, 0x9d, 0x50, + 0x41, 0xa5, 0xca, 0xe8, 0x53, 0x98, 0x0e, 0x89, 0x48, 0xea, 0x47, 0xf8, 0xe5, 0xfd, 0x2a, 0x6b, + 0xb6, 0x66, 0x94, 0x42, 0x62, 0xfc, 0xdf, 0x9f, 0x42, 0xbf, 0x84, 0x70, 0xf4, 0xe3, 0xce, 0xb0, + 0x18, 0x90, 0x5d, 0xa4, 0xf4, 0x48, 0x76, 0x53, 0xc8, 0xf4, 0x68, 0x18, 0x33, 0x04, 0xd3, 0xa9, + 0xef, 0x6d, 0xe9, 0xb5, 0x4e, 0x2e, 0xcf, 0x29, 0x87, 0x98, 0xda, 0x62, 0x44, 0x9a, 0xa8, 0x58, + 0xca, 0x46, 0x7e, 0x5d, 0xa5, 0xd1, 0x65, 0xeb, 0x74, 0x89, 0x4a, 0x3d, 0x8c, 0xc4, 0x40, 0xde, + 0xef, 0xbc, 0x76, 0x42, 0xe0, 0x7a, 0xf9, 0xa5, 0xf2, 0x38, 0x90, 0x33, 0x1b, 0x28, 0x9b, 0x70, + 0x02, 0xf8, 0x22, 0x0d, 0x52, 0x65, 0xeb, 0xe3, 0x5c, 0x86, 0x87, 0xe4, 0x1d, 0xf9, 0x9f, 0xa7, + 0xa0, 0x53, 0x9b, 0x89, 0xf8, 0xd8, 0x91, 0x88, 0x1c, 0xa0, 0x83, 0x24, 0x7a, 0xcf, 0x59, 0xdb, + 0x37, 0x04, 0xdf, 0xf1, 0x63, 0x21, 0x14, 0x30, 0x24, 0x9a, 0x78, 0x1f, 0x68, 0x3c, 0x5e, 0x18, + 0xa7, 0x47, 0x14, 0x34, 0xe3, 0xab, 0x70, 0x6b, 0xd0, 0x57, 0x23, 0x7f, 0xcc, 0x22, 0x5e, 0xbc, + 0xe7, 0x5f, 0xc3, 0x20, 0x74, 0x75, 0xad, 0x96, 0x1b, 0x57, 0x2f, 0x3a, 0x85, 0x2e, 0x27, 0x23, + 0x55, 0x98, 0x63, 0xcb, 0x34, 0xd9, 0x24, 0xde, 0x0f, 0x5d, 0x65, 0xdf, 0x33, 0xc7, 0xaa, 0x51, + 0x29, 0x94, 0x7c, 0xd7, 0x9d, 0x05, 0x52, 0x56, 0xf2, 0xab, 0xcc, 0x71, 0xeb, 0xa7, 0xc9, 0xd1, + 0xfa, 0x88, 0xc1, 0xc2, 0x2e, 0x47, 0xdc, 0xaf, 0xf8, 0x1a, 0xf9, 0xf0, 0x41, 0x92, 0x1a, 0xa1, + 0x04, 0x99, 0x47, 0xd6, 0xe3, 0xa9, 0x06, 0x9e, 0x21, 0xc3, 0xe0, 0x1f, 0x41, 0x63, 0x23, 0x5d, + 0xfe, 0x78, 0x81, 0xea, 0xb2, 0x5c, 0x91, 0x06, 0x93, 0x27, 0x10, 0xe0, 0x84, 0xf1, 0x63, 0xcc, + 0x5a, 0xa6, 0x89, 0xa3, 0xe0, 0x33, 0xc1, 0xd3, 0x5b, 0x50, 0x6e, 0x1e, 0xa6, 0xd0, 0x01, 0xd0, + 0xd5, 0xa8, 0x7c, 0x5c, 0xa3, 0x1c, 0x10, 0x4e, 0x44, 0x2e, 0x49, 0x93, 0x23, 0xcc, 0x5b, 0x27, + 0x43, 0x35, 0x34, 0x0b, 0x97, 0x42, 0xaf, 0xed, 0x3e, 0x44, 0xf7, 0x0f, 0x7a, 0xe5, 0x7c, 0xbe, + 0xfa, 0x72, 0x10, 0x0b, 0xc2, 0x47, 0x4f, 0x0d, 0xc4, 0xbc, 0x2c, 0x98, 0x17, 0xb2, 0x91, 0xf2, + 0x70, 0x1d, 0x35, 0x99, 0xc3, 0x4e, 0xe2, 0xd3, 0x05, 0xc2, 0x3e, 0x76, 0x97, 0x3b, 0xfa, 0x69, + 0x8a, 0xd1, 0x42, 0xd0, 0xcb, 0x05, 0x42, 0x98, 0xe7, 0xef, 0xeb, 0xcd, 0x88, 0xd3, 0xe9, 0xd5, + 0xfb, 0x6e, 0x56, 0x33, 0x28, 0x7d, 0x0c, 0x09, 0xb0, 0xea, 0x97, 0x85, 0x92, 0x98, 0x0c, 0x6d, + 0xc8, 0xb9, 0xe3, 0x6b, 0xa5, 0xcb, 0xe4, 0xe5, 0x43, 0xe0, 0x41, 0x08, 0xdc, 0xed, 0x8f, 0x53, + 0x25, 0x0d, 0x8a, 0x54, 0xb1, 0xef, 0x11, 0x49, 0xb1, 0x92, 0x57, 0x66, 0xb7, 0x21, 0x94, 0x42, + 0xd5, 0x9d, 0xaa, 0x0b, 0x72, 0x51, 0xfd, 0xdf, 0xea, 0xf9, 0xe4, 0xb6, 0x3b, 0x86, 0xb8, 0x7e, + 0x37, 0xcd, 0x07, 0xdd, 0x29, 0x63, 0x1c, 0x79, 0x5e, 0xc0, 0x6c, 0x13, 0x97, 0xa5, 0x01, 0xce, + 0xd9, 0xb2, 0x25, 0x67, 0xca, 0x17, 0xcc, 0x4a, 0xce, 0xc3, 0x35, 0xc8, 0xc5, 0xe9, 0x40, 0x29, + 0x6b, 0x27, 0xea, 0xa4, 0x51, 0x5c, 0x55, 0xc3, 0xc5, 0x8f, 0x77, 0x1b, 0xf2, 0x58, 0x91, 0xed, + 0x1c, 0x2b, 0xeb, 0xcb, 0x6c, 0xf6, 0x94, 0x62, 0xfd, 0x39, 0x8e, 0xf4, 0xe8, 0xb0, 0xa0, 0xb4, + 0xa9, 0x66, 0xc9, 0x0b, 0x4b, 0x98, 0x28, 0x8a, 0x1a, 0xaf, 0x3e, 0x53, 0x27, 0xd8, 0x4f, 0x21, + 0x10, 0x29, 0xca, 0x5a, 0xa4, 0x3a, 0x06, 0xec, 0x08, 0x24, 0x96, 0x5d, 0xf1, 0xea, 0xa6, 0xcd, + 0x57, 0x92, 0x11, 0xdf, 0xaa, 0x9a, 0x0d, 0x52, 0x97, 0x70, 0x1b, 0xf0, 0x56, 0x31, 0xec, 0xe6, + 0xe7, 0xc9, 0x82, 0x1d, 0x69, 0xbb, 0xb7, 0xc2, 0xbb, 0x4e, 0x31, 0x86, 0xf2, 0x8e, 0x14, 0x57, + 0x0a, 0x76, 0x43, 0x7d, 0xdc, 0x6f, 0x9d, 0xd8, 0x76, 0xbe, 0x2e, 0x4d, 0x91, 0xf7, 0x82, 0x47, + 0x28, 0x72, 0x1c, 0x6c, 0x6d, 0xad, 0xbe, 0x59, 0xb5, 0x10, 0xae, 0x9a, 0xc2, 0x5a, 0x65, 0x9d, + 0x3d, 0x29, 0xd3, 0x1b, 0x53, 0xde, 0x1c, 0x6d, 0xc4, 0x63, 0x17, 0xb1, 0xad, 0xe6, 0x38, 0x23, + 0x82, 0x03, 0xdb, 0xd3, 0xce, 0x96, 0xd1, 0xeb, 0x9a, 0xe3, 0xbe, 0x73, 0x6a, 0x23, 0x2c, 0xca, + 0x44, 0x1b, 0xde, 0xe9, 0x12, 0xf0, 0x4f, 0xd2, 0xb2, 0x2b, 0x49, 0x74, 0x72, 0x44, 0x6f, 0xdf, + 0x10, 0xac, 0x22, 0x48, 0x71, 0x5c, 0xfe, 0x08, 0xdb, 0x36, 0xe8, 0x6c, 0x36, 0x5f, 0x68, 0x35, + 0x63, 0x5d, 0x36, 0x92, 0xa2, 0xea, 0xa4, 0x1f, 0xf6, 0x9b, 0x78, 0x8c, 0xdf, 0x22, 0x37, 0xba, + 0x44, 0x94, 0x8a, 0x9a, 0xc9, 0xee, 0x32, 0x37, 0x51, 0x98, 0x74, 0x8d, 0x33, 0x17, 0x9f, 0x7d, + 0x4c, 0x36, 0xaf, 0x8c, 0xd1, 0x38, 0x67, 0xf1, 0x32, 0xe9, 0x39, 0xb9, 0x79, 0x7c, 0x45, 0xd5, + 0xe0, 0x06, 0x2c, 0x55, 0x7a, 0x1c, 0xde, 0x6d, 0xf7, 0x33, 0x7a, 0xe2, 0xa6, 0x31, 0x74, 0x1b, + 0x43, 0x97, 0x8c, 0x22, 0xf6, 0xf5, 0x40, 0xd3, 0xb8, 0x1d, 0xee, 0x38, 0x0b, 0x1f, 0x0b, 0xd2, + 0x18, 0xbc, 0x77, 0x85, 0x58, 0xa0, 0x8e, 0x95, 0xa0, 0xb5, 0xef, 0xe1, 0x7d, 0x48, 0xfd, 0x29, + 0x09, 0xc4, 0x83, 0xd7, 0xb5, 0xe0, 0xcb, 0x6d, 0xda, 0x0b, 0xce, 0xf1, 0x25, 0xc8, 0x8b, 0x6c, + 0xe1, 0x02, 0x34, 0xb0, 0xa6, 0xc2, 0xea, 0xe7, 0x21, 0x83, 0xc8, 0x17, 0x53, 0x28, 0x25, 0x9f, + 0x58, 0xaa, 0xbd, 0xb0, 0xf8, 0xab, 0x98, 0xa7, 0xaa, 0x47, 0x13, 0xbc, 0x26, 0xfb, 0xf7, 0x50, + 0xae, 0x14, 0x15, 0x3a, 0x45, 0x1e, 0x88, 0x6b, 0x37, 0xc6, 0x47, 0x7b, 0xa7, 0x0a, 0x62, 0x1b, + 0x30, 0x6a, 0x96, 0x86, 0xda, 0x9d, 0xe9, 0x29, 0x53, 0x0f, 0x9a, 0xce, 0x6d, 0xb4, 0x80, 0x5e, + 0x7b, 0x29, 0x83, 0x74, 0x90, 0x30, 0x89, 0x54, 0x04, 0x73, 0x30, 0x8d, 0xde, 0x4c, 0xc7, 0xb2, + 0xc1, 0x53, 0xeb, 0xc6, 0x0a, 0x1e, 0xd2, 0x75, 0x87, 0x7f, 0xda, 0x10, 0x66, 0x43, 0x7a, 0xaf, + 0x89, 0x51, 0xc6, 0x5c, 0x44, 0x5b, 0x4d, 0xa7, 0x3b, 0x81, 0xa8, 0x55, 0x21, 0xd7, 0x70, 0x67, + 0x89, 0xdb, 0xb1, 0xf6, 0x0e, 0x5a, 0x5b, 0x18, 0x24, 0x88, 0x01, 0xa5, 0x69, 0x8d, 0x1f, 0xc1, + 0xe2, 0x7e, 0xe6, 0xc2, 0x86, 0x11, 0x6d, 0xbe, 0x15, 0x93, 0x18, 0x94, 0x9f, 0xe3, 0x56, 0x49, + 0x83, 0xa4, 0xf0, 0xdc, 0xb4, 0x41, 0x56, 0x18, 0x44, 0xbf, 0x4e, 0xd7, 0x37, 0xda, 0x20, 0xd7, + 0xbf, 0x3a, 0xac, 0xdb, 0x56, 0x55, 0xe5, 0xa5, 0xfb, 0x89, 0x39, 0x55, 0x9f, 0xe6, 0x6e, 0x23, + 0xd8, 0x3b, 0xc8, 0xfb, 0x76, 0x49, 0xc7, 0xbb, 0xaf, 0x39, 0x9c, 0x41, 0x0f, 0x41, 0xf9, 0xb3, + 0xff, 0xff, 0x92, 0x7e, 0x3c, 0xd1, 0x35, 0x03, 0xe6, 0xc4, 0x48, 0x6f, 0x1b, 0xdd, 0x02, 0x90, + 0x62, 0xd6, 0x8a, 0x73, 0xe4, 0x9f, 0x85, 0x3c, 0x88, 0xcf, 0xe6, 0xa9, 0x88, 0x73, 0x38, 0xfa, + 0x65, 0x21, 0x0b, 0x08, 0x4d, 0xc9, 0xd0, 0x17, 0xe9, 0x76, 0xc8, 0x96, 0x8c, 0xf7, 0xa6, 0xd3, + 0xab, 0x3b, 0x4a, 0xbe, 0x3f, 0x9c, 0x44, 0x5b, 0x7a, 0xc8, 0xb3, 0x96, 0x73, 0x03, 0xcb, 0xc1, + 0xca, 0x7a, 0x6d, 0xbe, 0x19, 0x14, 0x60, 0xf3, 0x05, 0x2f, 0xcc, 0x0a, 0x8d, 0x3e, 0x3c, 0xdf, + 0xd5, 0x14, 0x91, 0x3a, 0xe5, 0x41, 0x47, 0x08, 0x46, 0x6e, 0x83, 0x5d, 0xa7, 0x93, 0x76, 0x84, + 0xe1, 0x8c, 0xf8, 0xa7, 0xe4, 0x1a, 0x68, 0x00, 0x5a, 0xe8, 0xca, 0x4c, 0x1f, 0x12, 0x38, 0x1d, + 0x4a, 0xdb, 0x3a, 0x8a, 0xf3, 0x42, 0x34, 0x9e, 0x97, 0xdc, 0x98, 0x77, 0xd4, 0x2d, 0xfe, 0x02, + 0xba, 0xbd, 0xe5, 0x19, 0x9b, 0x11, 0xd4, 0x12, 0x9e, 0xf5, 0x3f, 0x70, 0x62, 0x3b, 0x97, 0xc7, + 0x94, 0xd2, 0x9c, 0xde, 0x66, 0x95, 0x22, 0x09, 0x67, 0x46, 0x5b, 0x8e, 0x5f, 0xdd, 0x9c, 0xd5, + 0x40, 0xb0, 0x9f, 0xf6, 0xbd, 0x52, 0xe6, 0xf9, 0x2f, 0xb4, 0xaf, 0x71, 0x4e, 0x24, 0xae, 0x17, + 0x3f, 0x04, 0xc4, 0x9d, 0x61, 0xce, 0x29, 0xca, 0x59, 0x9f, 0x92, 0xb6, 0x2e, 0xee, 0x47, 0x26, + 0xab, 0xfd, 0x34, 0x32, 0x2d, 0x48, 0x92, 0xaa, 0xb7, 0xc7, 0x7d, 0x8c, 0x8c, 0xa2, 0xbb, 0x35, + 0x0f, 0x96, 0x7e, 0x0c, 0xfe, 0x04, 0x81, 0x44, 0xf6, 0xe8, 0x42, 0x90, 0x3a, 0x32, 0xc4, 0xf4, + 0x9f, 0xa0, 0x8a, 0x78, 0x04, 0xc7, 0x3d, 0x6a, 0xba, 0xef, 0x43, 0x36, 0x68, 0xa3, 0x49, 0x6d, + 0x56, 0xb4, 0x5c, 0x1d, 0xdc, 0x1d, 0x38, 0x4a, 0xa1, 0xd3, 0x1b, 0xaf, 0x2f, 0x80, 0xaf, 0xb4, + 0x20, 0x15, 0x91, 0x99, 0xe7, 0x1e, 0xc2, 0x56, 0x07, 0xfe, 0x82, 0xd6, 0x58, 0x08, 0x14, 0x8e, + 0xd2, 0x33, 0x3d, 0x4d, 0x1c, 0x5d, 0xb4, 0xe2, 0x9a, 0x8d, 0xca, 0x82, 0xeb, 0x82, 0x9d, 0x16, + 0x2a, 0x54, 0x44, 0x5f, 0xff, 0xdb, 0xc5, 0x08, 0x5a, 0x3c, 0x0a, 0x52, 0x09, 0xa2, 0x96, 0x4a, + 0xe2, 0x65, 0xd6, 0x55, 0x18, 0xaf, 0x70, 0x34, 0x86, 0x90, 0x37, 0xdb, 0xec, 0x0a, 0xd5, 0x17, + 0x8b, 0x08, 0x5b, 0x52, 0x93, 0x35, 0x6a, 0x4e, 0x73, 0x0f, 0x56, 0x88, 0x54, 0xfc, 0x0b, 0x40, + 0xf4, 0x2a, 0x5f, 0x11, 0x09, 0x05, 0x98, 0x4e, 0xb9, 0xde, 0x37, 0x98, 0x37, 0x99, 0x16, 0xcf, + 0xe7, 0x2d, 0xf9, 0x3c, 0xb1, 0x0a, 0xec, 0xaf, 0x31, 0xb9, 0xa1, 0xe2, 0xc3, 0xb8, 0x30, 0xee, + 0x92, 0x77, 0x6d, 0xa9, 0xa1, 0x10, 0x6d, 0xf2, 0x43, 0x79, 0xf6, 0x12, 0x2c, 0x2c, 0xc4, 0x56, + 0xa5, 0xaf, 0x72, 0x44, 0x9c, 0x96, 0xa6, 0xa6, 0x0d, 0xf8, 0x3e, 0xc7, 0xc7, 0x27, 0x56, 0x09, + 0xce, 0x73, 0x22, 0x0a, 0x27, 0xa5, 0x83, 0x2e, 0x0c, 0x6b, 0xbd, 0xac, 0xff, 0xcb, 0x7f, 0xc4, + 0x48, 0x4e, 0x38, 0xb9, 0x6a, 0x9d, 0xbf, 0xf6, 0x16, 0x56, 0xcf, 0x0f, 0x3c, 0xce, 0x16, 0x55, + 0x23, 0xfc, 0x9f, 0xe9, 0x90, 0xb7, 0x5a, 0xba, 0xcd, 0x3f, 0xb2, 0xc6, 0xe1, 0x38, 0xc6, 0x85, + 0xc3, 0x0a, 0xd9, 0xaa, 0xe4, 0x0d, 0xd2, 0x50, 0x3a, 0xb0, 0x2b, 0xe5, 0x89, 0xa9, 0x8b, 0x1a, + 0x8a, 0x7a, 0x65, 0x5e, 0x27, 0x4b, 0xa2, 0xa5, 0x00, 0x75, 0x36, 0x8d, 0x8c, 0xec, 0x27, 0xca, + 0x9e, 0xdc, 0xbd, 0x80, 0x7d, 0xc7, 0x4c, 0xc1, 0x39, 0x94, 0x4a, 0xd4, 0xf9, 0x8d, 0x0e, 0xa9, + 0xf3, 0x92, 0xe0, 0x5a, 0x2a, 0x3d, 0x10, 0x2d, 0xf1, 0xac, 0x2c, 0x5a, 0x95, 0xaa, 0x6c, 0xb5, + 0xe9, 0x66, 0x0c, 0xd4, 0x8b, 0x51, 0xe4, 0x75, 0xaf, 0x3d, 0x38, 0xf3, 0x1e, 0x0a, 0x71, 0x7d, + 0x37, 0xe1, 0x6d, 0xb8, 0xa8, 0x5b, 0x74, 0xf1, 0x3e, 0x71, 0xe8, 0x32, 0x2e, 0xa3, 0x22, 0x17, + 0xc8, 0xa4, 0xe4, 0x54, 0x6d, 0xd9, 0x19, 0xf5, 0x63, 0x9b, 0xc5, 0xc2, 0x6e, 0xab, 0xdf, 0xfe, + 0xf2, 0x9e, 0x31, 0x9c, 0xaa, 0xb7, 0xa7, 0x89, 0xfd, 0x96, 0x60, 0xce, 0x16, 0x51, 0x70, 0xe2, + 0x55, 0x56, 0x77, 0x53, 0xd3, 0xef, 0xe8, 0x98, 0x51, 0x38, 0xd2, 0xeb, 0x54, 0x23, 0x29, 0xe4, + 0xb3, 0xb8, 0xaf, 0x5d, 0xb6, 0x84, 0x8f, 0xf7, 0xd2, 0x14, 0x82, 0xe2, 0xad, 0x22, 0x44, 0x28, + 0x10, 0xee, 0x06, 0x89, 0x34, 0x3f, 0xae, 0x5f, 0xa1, 0xdc, 0xf7, 0xcc, 0x53, 0xd1, 0x0e, 0x51, + 0x2b, 0x14, 0x86, 0x1a, 0x0a, 0x1b, 0x28, 0xa2, 0x9b, 0xeb, 0x74, 0xe2, 0xbc, 0x9c, 0xf9, 0xcf, + 0x54, 0x90, 0x17, 0x29, 0xdd, 0x0d, 0xac, 0xa9, 0x4f, 0x41, 0xcd, 0xf9, 0xda, 0xda, 0xfb, 0x91, + 0xfd, 0xda, 0xc8, 0xb2, 0xa2, 0x66, 0x47, 0xef, 0x0e, 0xf9, 0x0f, 0xaf, 0xaa, 0x48, 0xeb, 0xa8, + 0x88, 0x98, 0xe0, 0x8f, 0x5b, 0x32, 0xbe, 0x8a, 0x9f, 0xf9, 0x12, 0xad, 0x0d, 0x03, 0x84, 0x6d, + 0x1d, 0x2c, 0x69, 0x1f, 0x6d, 0xae, 0x09, 0x0b, 0xc6, 0x40, 0x0a, 0x83, 0x79, 0xad, 0x74, 0xa1, + 0x31, 0x56, 0xd1, 0xa9, 0xf2, 0x50, 0xa3, 0x41, 0x85, 0xa2, 0xb4, 0x7c, 0x3a, 0x47, 0x83, 0x33, + 0x88, 0x9c, 0x32, 0x02, 0xdc, 0xec, 0x74, 0x8a, 0xa2, 0x01, 0x37, 0x68, 0x25, 0xa4, 0x76, 0x65, + 0x9e, 0x3b, 0xa1, 0xbf, 0x90, 0xb9, 0xde, 0x4f, 0xbd, 0xf7, 0xfd, 0x2d, 0xbc, 0x90, 0x1e, 0xb9, + 0xbe, 0x1b, 0x92, 0x24, 0x3d, 0xdc, 0x25, 0x7a, 0x5a, 0xe5, 0x29, 0xfa, 0x89, 0xe0, 0xe8, 0x15, + 0xfd, 0x6d, 0x81, 0x7b, 0x62, 0xd9, 0x07, 0x49, 0x57, 0x1a, 0x92, 0xe9, 0x26, 0x63, 0x7c, 0xa0, + 0xc7, 0x14, 0xd4, 0xa4, 0x52, 0xa8, 0xe6, 0xe5, 0x2c, 0x7c, 0x47, 0x08, 0x8f, 0xbf, 0xc0, 0xc8, + 0xd6, 0x80, 0x04, 0xd2, 0xbd, 0x7b, 0xe2, 0x23, 0xb4, 0x06, 0xaf, 0x86, 0xa0, 0x73, 0xc2, 0x0a, + 0x66, 0xca, 0xa6, 0x8a, 0x60, 0x51, 0x81, 0xd6, 0x50, 0x36, 0x27, 0xfe, 0x74, 0x04, 0xc3, 0xd3, + 0x9f, 0x3e, 0x2b, 0xd4, 0x75, 0xea, 0x72, 0x01, 0x6e, 0xf6, 0x8f, 0x40, 0x25, 0xd8, 0x9d, 0xb4, + 0x1a, 0x4c, 0x55, 0xc4, 0xf7, 0x0d, 0x57, 0x2d, 0xf6, 0xf3, 0x80, 0x36, 0xe1, 0xe5, 0xdc, 0xd5, + 0x92, 0x41, 0x11, 0x06, 0x66, 0xb7, 0xa8, 0x1f, 0x82, 0xa8, 0x11, 0xb9, 0x90, 0xa2, 0xbf, 0x1d, + 0xfc, 0xb3, 0x95, 0x59, 0x44, 0x09, 0x2f, 0x00, 0x4f, 0x42, 0xc5, 0x9a, 0x65, 0xef, 0xad, 0x69, + 0x7d, 0x56, 0x5a, 0x0d, 0xde, 0x3a, 0x9b, 0x39, 0xd7, 0xd8, 0xd0, 0x11, 0x29, 0xff, 0xd9, 0xd4, + 0x22, 0x66, 0x09, 0xbd, 0xdf, 0xd3, 0xb6, 0x00, 0x12, 0x2d, 0xcc, 0xe3, 0xb6, 0x6f, 0x36, 0x96, + 0xb4, 0x58, 0x67, 0xd8, 0xe9, 0xe4, 0x90, 0x1a, 0x01, 0x98, 0x86, 0x01, 0xee, 0xb5, 0xef, 0x76, + 0x13, 0x98, 0xf0, 0x65, 0xb9, 0x9c, 0x29, 0x68, 0x95, 0x45, 0x80, 0x89, 0x1b, 0x7a, 0xb1, 0x9d, + 0x3d, 0x30, 0x45, 0x12, 0x35, 0x2e, 0x72, 0x4b, 0x6c, 0x23, 0x6c, 0x0d, 0x33, 0x4e, 0x1d, 0xef, + 0x2c, 0x52, 0x14, 0x86, 0x09, 0x92, 0xdd, 0x1c, 0xf0, 0x12, 0x73, 0x03, 0x33, 0x45, 0x69, 0x3c, + 0xba, 0x80, 0x5c, 0x5d, 0xc5, 0x82, 0x62, 0x1a, 0x73, 0x0f, 0x76, 0x25, 0x6b, 0x0a, 0xd7, 0x99, + 0x2a, 0x55, 0xbc, 0x17, 0xa9, 0x45, 0xfb, 0xc1, 0x5a, 0x4b, 0x99, 0x30, 0x2e, 0xc4, 0x02, 0x3c, + 0xd2, 0x23, 0xed, 0xc9, 0xd6, 0xca, 0xe9, 0xf0, 0xa1, 0x36, 0x8b, 0xcc, 0x4c, 0xb1, 0x99, 0xb8, + 0xb8, 0xdf, 0x0d, 0xfb, 0xa9, 0xaf, 0x9f, 0x8e, 0x35, 0xe2, 0xbc, 0xf7, 0x77, 0xc6, 0x7e, 0x96, + 0x23, 0x46, 0xf1, 0xa6, 0xcd, 0x44, 0x74, 0xdb, 0xdb, 0x5b, 0xe0, 0xbf, 0x12, 0x82, 0xb3, 0xaa, + 0x01, 0xda, 0x21, 0x3e, 0x5c, 0xb1, 0x2a, 0x07, 0xa3, 0x1d, 0x17, 0x13, 0xce, 0xc6, 0x6e, 0xd7, + 0x38, 0x68, 0xc8, 0x55, 0xa8, 0x0c, 0xb9, 0xfb, 0xcd, 0x7e, 0x9f, 0xe9, 0xba, 0xde, 0x09, 0x17, + 0xb4, 0xe3, 0x2c, 0x28, 0xa3, 0x42, 0x00, 0x94, 0x2e, 0x97, 0x71, 0xfa, 0x9d, 0xda, 0x3c, 0x12, + 0xa0, 0xf6, 0xb0, 0x7c, 0x30, 0x5f, 0x1d, 0x5f, 0x1f, 0xce, 0x11, 0x2e, 0xfb, 0x0a, 0x59, 0x11, + 0x05, 0x61, 0xb1, 0xd4, 0xcf, 0xe5, 0x5b, 0x4e, 0x78, 0x8c, 0x1a, 0x3f, 0x55, 0x57, 0xfe, 0x9d, + 0x0d, 0x4c, 0x4d, 0xf9, 0xc1, 0x3c, 0xce, 0x5a, 0x0b, 0xda, 0x3d, 0xed, 0x77, 0x9c, 0xfe, 0x00, + 0x6a, 0xa3, 0xc2, 0xe0, 0x13, 0x4f, 0xb0, 0x2b, 0xb2, 0xa0, 0x96, 0x2d, 0xaf, 0x52, 0xd2, 0x9a, + 0xde, 0xfe, 0xef, 0x8d, 0xb1, 0xd1, 0x1f, 0x84, 0x9e, 0x99, 0x1c, 0xd6, 0x9b, 0xee, 0x76, 0x33, + 0x27, 0x4d, 0x6d, 0x00, 0xb9, 0x39, 0x73, 0xc4, 0x8f, 0x9c, 0x06, 0xb2, 0xdf, 0x13, 0x8c, 0xa4, + 0xc1, 0xc1, 0x09, 0x33, 0x1c, 0x65, 0x7e, 0x31, 0xef, 0xd3, 0x26, 0x76, 0x4b, 0x21, 0xdc, 0x65, + 0x34, 0xd8, 0x51, 0x0b, 0x1a, 0x57, 0xd3, 0x26, 0x4b, 0x1b, 0xbb, 0xad, 0xbb, 0xd2, 0x06, 0xe1, + 0x5d, 0x03, 0xcb, 0xcd, 0xb1, 0x42, 0x92, 0xd0, 0x39, 0x4c, 0x68, 0xb3, 0xee, 0xdf, 0x1d, 0x19, + 0xe3, 0x21, 0x99, 0xca, 0x4b, 0x7e, 0x9e, 0x02, 0xee, 0xbe, 0x8d, 0xd2, 0x7d, 0xb6, 0x46, 0xcd, + 0xa7, 0x23, 0x1d, 0x42, 0x41, 0x0f, 0x24, 0x59, 0xf8, 0x7b, 0x93, 0xd1, 0xd0, 0x99, 0x08, 0x3a, + 0x9e, 0xa2, 0x79, 0xf6, 0x95, 0x1e, 0x8d, 0x7b, 0x28, 0x0c, 0x7b, 0x45, 0x68, 0x20, 0x3b, 0x1e, + 0x39, 0xe9, 0xd8, 0x45, 0xde, 0x89, 0x7f, 0x41, 0xec, 0x7c, 0x65, 0x70, 0x3c, 0xaf, 0xe2, 0x31, + 0xac, 0x8d, 0x15, 0xb8, 0x6a, 0xda, 0x2c, 0xba, 0x27, 0x87, 0x9b, 0x55, 0x51, 0x83, 0x7f, 0xd8, + 0x0a, 0xef, 0xce, 0x5c, 0xec, 0x0a, 0x6a, 0xd2, 0x7d, 0x09, 0x16, 0xb8, 0xc1, 0x4b, 0x76, 0x4b, + 0xbe, 0x28, 0xfa, 0xfd, 0xcb, 0xc3, 0x2e, 0x3e, 0x07, 0xdc, 0x07, 0xc6, 0x94, 0x64, 0x4b, 0x45, + 0x02, 0x13, 0xb2, 0x90, 0xcd, 0x3d, 0xb2, 0x27, 0xe6, 0x86, 0x9c, 0x7a, 0x5e, 0x67, 0xee, 0x80, + 0xd2, 0x48, 0xde, 0xa0, 0x5b, 0xef, 0x79, 0x13, 0xfa, 0x7a, 0x2a, 0xe5, 0x4f, 0xc7, 0x58, 0xf0, + 0xa6, 0xf2, 0xcb, 0x0f, 0x6d, 0xe5, 0xdb, 0x9c, 0x31, 0xcf, 0xd8, 0x50, 0x36, 0xca, 0xf3, 0x1c, + 0xc6, 0xe2, 0xe0, 0x15, 0xb7, 0x30, 0xa9, 0x79, 0xfb, 0x21, 0xd6, 0x8f, 0x4c, 0x22, 0x65, 0x1a, + 0xc4, 0x6b, 0x74, 0x0d, 0x36, 0x77, 0xb3, 0x94, 0xcf, 0x53, 0x83, 0x6f, 0xb4, 0xa4, 0xf8, 0x93, + 0x03, 0xb4, 0x7e, 0x1f, 0x91, 0x3a, 0xcf, 0xfa, 0x72, 0xd3, 0xbe, 0xf3, 0x13, 0x46, 0x77, 0x97, + 0xa6, 0xeb, 0xcf, 0x00, 0x23, 0x3c, 0x53, 0x60, 0xd3, 0x38, 0x38, 0x69, 0x07, 0xd9, 0x3a, 0x76, + 0x65, 0x60, 0x28, 0x31, 0x3c, 0xd7, 0x05, 0x7d, 0x3d, 0x2c, 0xae, 0x58, 0x07, 0xdd, 0xef, 0x80, + 0x42, 0x2a, 0xab, 0xe3, 0x08, 0xc6, 0xec, 0xaa, 0x39, 0x58, 0x72, 0x8b, 0xb1, 0xe6, 0x62, 0x2c, + 0xa1, 0x89, 0x9a, 0xff, 0x45, 0x7b, 0x5d, 0x87, 0xd0, 0x57, 0xf7, 0x49, 0xf5, 0xc4, 0xc9, 0x0d, + 0xa0, 0x94, 0x0f, 0x16, 0xe4, 0x06, 0x84, 0x3f, 0xef, 0xdc, 0xdc, 0x35, 0x44, 0x24, 0x42, 0xdb, + 0x28, 0x77, 0x76, 0x2b, 0x7b, 0x02, 0xfa, 0x42, 0x67, 0xfa, 0x7b, 0x23, 0x8e, 0xcb, 0x88, 0xff, + 0xdd, 0x93, 0x04, 0xcf, 0x8f, 0x47, 0xa4, 0xcf, 0xd1, 0x7d, 0x38, 0xce, 0x4d, 0x78, 0xac, 0x05, + 0xec, 0x1e, 0xc0, 0xbd, 0x39, 0x41, 0xed, 0x89, 0x4c, 0x0f, 0xc3, 0xa3, 0x62, 0x99, 0x0d, 0xcc, + 0xa0, 0x80, 0x8b, 0x31, 0xbd, 0xd7, 0x6b, 0x49, 0xc8, 0xf3, 0x56, 0x1d, 0x94, 0xb7, 0xff, 0xf2, + 0x98, 0x92, 0x45, 0xf2, 0xa3, 0x2a, 0x46, 0x3a, 0x40, 0x6c, 0x24, 0xb0, 0x0c, 0x3b, 0xb9, 0x32, + 0x51, 0x8c, 0x20, 0xb4, 0x84, 0xac, 0x82, 0x20, 0x50, 0x17, 0x64, 0xca, 0x29, 0xbc, 0x54, 0xe1, + 0x8b, 0x41, 0xaf, 0x9b, 0xf9, 0x0d, 0x48, 0x22, 0xcf, 0x15, 0x2a, 0x18, 0x38, 0x15, 0xff, 0xe7, + 0x55, 0x0a, 0xdd, 0x88, 0x0d, 0x17, 0x38, 0xc3, 0xd8, 0x44, 0x0d, 0x36, 0x46, 0x33, 0xf5, 0x55, + 0x62, 0x70, 0x9e, 0x06, 0x7b, 0xff, 0xe1, 0xfe, 0x95, 0xad, 0x85, 0xc6, 0x44, 0x85, 0x05, 0xe5, + 0x51, 0x95, 0x02, 0x08, 0x36, 0xbd, 0x9e, 0x34, 0xa5, 0xf0, 0x18, 0x7f, 0xa2, 0xf9, 0xc6, 0x59, + 0x66, 0xf4, 0xe6, 0x36, 0xf2, 0xa5, 0xdf, 0xe9, 0x8f, 0x68, 0x22, 0x15, 0x7c, 0x6f, 0x83, 0x73, + 0x8b, 0xa1, 0x5a, 0xec, 0xfd, 0x1e, 0x0f, 0x0f, 0xe4, 0x0c, 0x71, 0xc5, 0x4a, 0xbf, 0x73, 0x65, + 0x55, 0x64, 0x30, 0x65, 0xd9, 0x1f, 0x33, 0x82, 0xd4, 0x2b, 0xed, 0xbf, 0x1c, 0xd8, 0xcb, 0x11, + 0xea, 0xd9, 0xed, 0x44, 0x6c, 0x75, 0x22, 0x61, 0x2f, 0x13, 0x50, 0x40, 0x17, 0x74, 0x13, 0x1d, + 0xa4, 0xde, 0xdb, 0x5b, 0x40, 0xed, 0xe4, 0x5d, 0x69, 0x49, 0x77, 0x1b, 0x83, 0xc4, 0x49, 0xfc, + 0xb5, 0x9e, 0x57, 0x81, 0x8c, 0xb8, 0xde, 0xcf, 0x43, 0xfe, 0x85, 0x97, 0xc2, 0x7c, 0xd8, 0x52, + 0xcf, 0x82, 0x84, 0xe6, 0x2a, 0xcc, 0xd7, 0x3b, 0x05, 0x74, 0x97, 0x7c, 0x34, 0xc7, 0xc7, 0x2b, + 0xaf, 0xf4, 0xf7, 0x03, 0xdc, 0x73, 0x5f, 0xc5, 0x34, 0x10, 0x61, 0x5e, 0xa4, 0x12, 0x33, 0x4d, + 0x58, 0x1f, 0xbc, 0x10, 0x97, 0x82, 0xd1, 0x48, 0x26, 0x2b, 0x12, 0xc1, 0xd8, 0xec, 0x63, 0x1a, + 0x7e, 0xa6, 0x52, 0xec, 0x51, 0x97, 0x33, 0xd6, 0x2a, 0xe8, 0xba, 0xd3, 0x94, 0x47, 0x61, 0xc4, + 0x83, 0x36, 0xd9, 0xb4, 0x22, 0x53, 0xf9, 0x17, 0x09, 0x39, 0xf4, 0xfd, 0xe4, 0x33, 0x28, 0x62, + 0x24, 0x5d, 0xb0, 0x9a, 0xfa, 0xc4, 0x12, 0x84, 0xf0, 0xef, 0x8e, 0x3b, 0x7e, 0x49, 0x74, 0x00, + 0x51, 0x9e, 0xa3, 0x17, 0xd8, 0xf6, 0x13, 0x13, 0xf9, 0x9b, 0x31, 0x8e, 0xe7, 0x4e, 0xf6, 0x01, + 0x8c, 0x73, 0x88, 0x05, 0x4a, 0x97, 0x7a, 0x0d, 0x18, 0x10, 0x8b, 0x27, 0x1e, 0xdf, 0x0e, 0x97, + 0xf9, 0x4c, 0xbf, 0xb8, 0x4d, 0x50, 0x08, 0xcd, 0xb1, 0x2d, 0xb5, 0x7a, 0x18, 0xb4, 0x4b, 0x84, + 0x73, 0x70, 0xbf, 0x09, 0x3d, 0x7b, 0x98, 0x60, 0xbd, 0x9c, 0x12, 0xd0, 0xc4, 0x9e, 0x0d, 0xaf, + 0x78, 0xc4, 0x53, 0xb4, 0xe0, 0xc4, 0x14, 0x2c, 0x6e, 0xc7, 0x65, 0xd1, 0x0a, 0x3e, 0x78, 0x0b, + 0xc7, 0x40, 0x7a, 0x2f, 0xaf, 0x3e, 0x8c, 0x65, 0x22, 0x83, 0x22, 0xde, 0x2b, 0x92, 0x57, 0xcd, + 0x92, 0x4b, 0xc1, 0x82, 0x98, 0x7f, 0x89, 0x75, 0x47, 0xe1, 0xc7, 0x3f, 0x08, 0x2f, 0x76, 0x80, + 0x01, 0xce, 0xf0, 0x97, 0xa9, 0x43, 0x8e, 0xe0, 0xad, 0x12, 0x80, 0xb4, 0x52, 0x8a, 0x80, 0xee, + 0xb4, 0xe1, 0x6c, 0x11, 0xfb, 0x36, 0xbc, 0xed, 0xea, 0xc5, 0x95, 0xb6, 0x04, 0x55, 0xe4, 0x06, + 0x20, 0x32, 0x0a, 0x74, 0xbd, 0x2f, 0xef, 0x57, 0xb9, 0x4a, 0xaa, 0x54, 0x06, 0xe8, 0x72, 0x7d, + 0xd0, 0xd1, 0x81, 0xbd, 0xea, 0xba, 0x65, 0x20, 0x2a, 0x9f, 0x83, 0x38, 0xb7, 0xcc, 0xd2, 0x97, + 0xe4, 0x36, 0x41, 0x39, 0xd8, 0xfc, 0x44, 0x37, 0x36, 0xbf, 0xb2, 0x4e, 0x80, 0xa4, 0x96, 0x6c, + 0xb0, 0xa8, 0xd1, 0x8e, 0xf2, 0xf8, 0x4a, 0x8a, 0x48, 0xcd, 0x13, 0x15, 0xbc, 0xfd, 0xf0, 0x54, + 0xea, 0xc3, 0xed, 0x71, 0xd7, 0xbe, 0xf8, 0x01, 0x7e, 0x62, 0x0e, 0xef, 0x3f, 0x11, 0x18, 0x48, + 0x45, 0x03, 0x89, 0x96, 0x67, 0x47, 0xf5, 0x70, 0xdb, 0x99, 0x16, 0xac, 0x07, 0x45, 0x1a, 0xff, + 0x28, 0x04, 0x54, 0xf1, 0x16, 0xf5, 0xab, 0x28, 0x90, 0x97, 0x94, 0xb0, 0x42, 0x0b, 0xae, 0x9a, + 0x5d, 0xf5, 0x94, 0x91, 0xa9, 0x0f, 0x2e, 0x5c, 0x92, 0x4e, 0x53, 0xbc, 0x16, 0x33, 0x93, 0x3b, + 0xf0, 0xb3, 0xd8, 0x11, 0xec, 0x50, 0xe3, 0xc3, 0x12, 0x1b, 0xd7, 0x8c, 0x82, 0x7e, 0x15, 0x4b, + 0x49, 0x66, 0xfd, 0x04, 0x1d, 0xcf, 0x77, 0xec, 0xac, 0x85, 0x83, 0x62, 0x42, 0xdb, 0xc2, 0xe7, + 0x3c, 0xe4, 0xf7, 0x2f, 0xe7, 0xfa, 0x3a, 0xd9, 0xd3, 0x89, 0x65, 0x94, 0xdd, 0x29, 0x0a, 0x69, + 0xa7, 0x8f, 0x0b, 0xd3, 0xb3, 0xf9, 0xef, 0xac, 0x6b, 0xad, 0x5d, 0xc8, 0x1c, 0x85, 0xc1, 0x49, + 0xbb, 0x54, 0x3a, 0x6d, 0x79, 0x21, 0x19, 0x64, 0x6f, 0x4b, 0xf9, 0x90, 0x23, 0x0f, 0x40, 0x18, + 0x7f, 0x73, 0x7f, 0xa8, 0x9b, 0x5c, 0xa8, 0x00, 0x8e, 0x32, 0xed, 0x53, 0x2b, 0x15, 0x5d, 0xe1, + 0x64, 0x27, 0xfc, 0x7a, 0x85, 0x47, 0x0f, 0x00, 0xbc, 0x35, 0x1b, 0x4b, 0xec, 0xf3, 0x32, 0xd6, + 0xc7, 0x6e, 0xbc, 0x62, 0xcb, 0x7a, 0xc4, 0x89, 0xa3, 0xa4, 0x69, 0x64, 0x70, 0x8c, 0x4e, 0xef, + 0x1c, 0x98, 0x0e, 0xec, 0x89, 0xee, 0x76, 0x9a, 0x41, 0x91, 0x9b, 0x2c, 0xc0, 0x5b, 0xc8, 0xa2, + 0xd1, 0x89, 0x21, 0x7c, 0x20, 0x16, 0x53, 0xbc, 0x20, 0x76, 0xe7, 0xc6, 0x4a, 0xbc, 0x3c, 0x04, + 0xaf, 0xeb, 0x4c, 0x51, 0x5a, 0x8a, 0x54, 0x97, 0x48, 0x48, 0x5d, 0x84, 0x16, 0x01, 0x78, 0xd0, + 0x3b, 0x52, 0xf9, 0x70, 0x4d, 0x0f, 0xdc, 0xdc, 0x92, 0xf1, 0x1c, 0x73, 0xf3, 0x6d, 0xcb, 0x35, + 0x3b, 0x5f, 0x92, 0x52, 0xb0, 0x93, 0xd7, 0xc3, 0xba, 0xe4, 0x60, 0xe4, 0x23, 0x2f, 0xbf, 0x47, + 0x52, 0x35, 0x4a, 0x8b, 0xca, 0xd1, 0xef, 0xda, 0x9e, 0x5a, 0x8b, 0x56, 0x48, 0xa7, 0xd4, 0xcf, + 0x49, 0xf5, 0xb2, 0x6f, 0xc0, 0x67, 0xc8, 0xf7, 0xdb, 0xce, 0x64, 0x7b, 0x55, 0x3e, 0x51, 0x64, + 0x77, 0xf2, 0x1f, 0xb9, 0x43, 0x3b, 0x4a, 0x2e, 0x2b, 0xf2, 0x32, 0x97, 0x51, 0x0e, 0x7d, 0xe3, + 0x25, 0xe3, 0xc4, 0xc3, 0x84, 0x47, 0xd9, 0xaf, 0x35, 0x74, 0x1a, 0x1c, 0x54, 0xfc, 0xcb, 0x68, + 0x22, 0xaa, 0x09, 0xb8, 0x3c, 0xfa, 0x0f, 0x8a, 0xa8, 0xf3, 0x78, 0x98, 0x17, 0xe1, 0x2d, 0x44, + 0xee, 0x2c, 0x05, 0xb2, 0x2b, 0xfa, 0x18, 0xd1, 0x93, 0xb6, 0x2b, 0xf5, 0x76, 0xc4, 0x09, 0xd5, + 0xc2, 0x4e, 0xe8, 0x66, 0x85, 0xf7, 0xe7, 0xfe, 0x78, 0xc7, 0xc9, 0xc8, 0xfe, 0xc7, 0xf3, 0xe9, + 0xbb, 0xec, 0x12, 0xcf, 0xad, 0x73, 0x67, 0xa1, 0xf2, 0x33, 0xbc, 0x12, 0xd2, 0xdf, 0xb8, 0x75, + 0x03, 0xf4, 0x07, 0x42, 0x30, 0xb0, 0xb1, 0x3e, 0xae, 0xc5, 0xc1, 0x95, 0xaa, 0xe3, 0x40, 0xef, + 0x64, 0x1c, 0x40, 0x6f, 0xfb, 0x63, 0x45, 0x98, 0xf7, 0x3e, 0x89, 0xe0, 0xeb, 0x19, 0xfb, 0xae, + 0xf9, 0x2f, 0xdc, 0x53, 0x3a, 0x2b, 0x1d, 0x90, 0x4f, 0x7f, 0xd9, 0xdb, 0xa2, 0x72, 0x1e, 0x15, + 0x88, 0x4c, 0x84, 0x0f, 0x17, 0x5c, 0xd8, 0xd7, 0x46, 0x71, 0x31, 0x23, 0x43, 0x0a, 0xcd, 0x5f, + 0xc5, 0xd4, 0xf3, 0xb7, 0x25, 0x2c, 0x74, 0xee, 0x38, 0x23, 0x15, 0x1c, 0x74, 0x0b, 0x5d, 0x97, + 0x0c, 0x1e, 0xc5, 0x64, 0xa7, 0xdb, 0x5a, 0x30, 0xd5, 0x0e, 0x25, 0xf5, 0xf6, 0xfb, 0x54, 0x9d, + 0xee, 0x15, 0x4b, 0x8d, 0xea, 0x35, 0x08, 0xf7, 0xca, 0x0a, 0xe2, 0x91, 0xeb, 0x23, 0x6c, 0x7f, + 0x78, 0x88, 0x5d, 0x37, 0x62, 0x98, 0xdb, 0x5a, 0xf7, 0x59, 0x8d, 0xb0, 0x78, 0x55, 0xaa, 0x92, + 0x14, 0x59, 0x51, 0x15, 0x3b, 0xdd, 0xc7, 0x5c, 0xf0, 0x81, 0xb6, 0x7d, 0x40, 0x78, 0x7b, 0xe1, + 0x37, 0xae, 0x62, 0xf9, 0xd3, 0x74, 0xe9, 0xfe, 0x79, 0x82, 0xca, 0x59, 0x09, 0x71, 0xb8, 0xb3, + 0x3b, 0xd4, 0xbd, 0x63, 0xf5, 0x7c, 0x29, 0x5c, 0x77, 0xdf, 0xef, 0x87, 0x3b, 0x55, 0xf2, 0xf7, + 0xc5, 0xc5, 0xa1, 0xa2, 0xd9, 0x86, 0x9f, 0xcd, 0x36, 0x4d, 0x2a, 0xe5, 0xe4, 0x3f, 0x63, 0x1d, + 0x5b, 0xbc, 0x7a, 0xf1, 0x0e, 0xe6, 0x71, 0xf3, 0xce, 0xcd, 0x9c, 0xc2, 0x94, 0xcd, 0xff, 0x97, + 0x54, 0x7a, 0xb5, 0xba, 0x11, 0x45, 0xd7, 0xb7, 0x87, 0xd0, 0x2b, 0x97, 0xf1, 0x62, 0x12, 0xfc, + 0xa5, 0x00, 0x50, 0x4d, 0xbd, 0x90, 0x72, 0x92, 0xa8, 0x62, 0x0d, 0x9c, 0xde, 0x1e, 0x67, 0x7f, + 0x4b, 0x59, 0xee, 0x4e, 0x57, 0xde, 0xf4, 0xa1, 0x64, 0xe6, 0xd3, 0xcd, 0x14, 0x25, 0xe2, 0x25, + 0x15, 0xe3, 0x91, 0xcd, 0xb2, 0xeb, 0x3c, 0x9f, 0xd0, 0x02, 0x8c, 0xf9, 0x4f, 0x9e, 0x26, 0xc2, + 0xa8, 0x8f, 0x9b, 0x11, 0x0e, 0xae, 0xb8, 0x57, 0xac, 0xd0, 0xf0, 0x31, 0xb3, 0x53, 0x76, 0xbe, + 0x67, 0x86, 0xb2, 0xea, 0x45, 0x41, 0x1f, 0x5c, 0x44, 0x4d, 0x9b, 0x6a, 0xc8, 0xfc, 0x41, 0xa4, + 0xae, 0xec, 0x51, 0x2f, 0xbf, 0xe4, 0x2d, 0x4f, 0xee, 0x03, 0xaa, 0xf6, 0x81, 0xf3, 0x72, 0x8d, + 0x6e, 0xe0, 0x65, 0x7a, 0x57, 0x52, 0xc4, 0x35, 0xec, 0x87, 0x70, 0x62, 0xda, 0xa0, 0x6d, 0x68, + 0xec, 0xf8, 0x17, 0x90, 0x82, 0x3f, 0x5d, 0xc2, 0x7a, 0xb7, 0xc4, 0x7a, 0x1c, 0x54, 0x3e, 0x43, + 0x3f, 0x10, 0x95, 0x89, 0x2f, 0x95, 0xd4, 0xec, 0x72, 0x05, 0xdc, 0xca, 0xc8, 0x5b, 0xf5, 0xf0, + 0x10, 0x69, 0x33, 0x5f, 0x08, 0xf0, 0xc5, 0x51, 0x57, 0x9e, 0x62, 0x99, 0x23, 0xc3, 0xe1, 0xdd, + 0xf2, 0xca, 0xe9, 0x3b, 0x74, 0xa4, 0x55, 0xf9, 0xd5, 0x23, 0x5b, 0xa6, 0xc8, 0xe4, 0xe0, 0xfa, + 0xb0, 0x0e, 0xb0, 0x05, 0xe1, 0x75, 0xbd, 0x5d, 0xf6, 0xca, 0x43, 0x7c, 0x8f, 0xbf, 0x97, 0xd2, + 0x7d, 0xb1, 0x2a, 0x06, 0x91, 0xa6, 0xae, 0x46, 0x4b, 0x88, 0x6b, 0x5b, 0x15, 0x77, 0x3f, 0x72, + 0xa2, 0x77, 0xce, 0x9f, 0x65, 0x3b, 0x37, 0xd8, 0x4c, 0xe1, 0x79, 0x21, 0x3b, 0x7c, 0xa5, 0x12, + 0x33, 0x53, 0x82, 0xa2, 0xea, 0x59, 0xea, 0x45, 0x27, 0x26, 0xd9, 0x58, 0x99, 0x6a, 0xd1, 0x3f, + 0x86, 0x6d, 0x3b, 0xdd, 0xc9, 0x64, 0x7f, 0xc6, 0x02, 0x59, 0x23, 0x1d, 0xfc, 0x1f, 0x36, 0x31, + 0xf9, 0x25, 0xd3, 0xb1, 0xf6, 0xed, 0x85, 0x44, 0x21, 0x62, 0x12, 0x1c, 0xdb, 0xe2, 0x55, 0xdb, + 0x94, 0x0e, 0xb9, 0xcb, 0x32, 0xe8, 0x5a, 0x29, 0xde, 0xd7, 0x41, 0xfb, 0x67, 0xd7, 0xc0, 0xcc, + 0x80, 0xe4, 0xef, 0x49, 0x9f, 0xd4, 0x76, 0x1a, 0x8a, 0x34, 0xed, 0x0e, 0x17, 0xad, 0xea, 0x4f, + 0x83, 0xa5, 0x44, 0x06, 0x6b, 0x77, 0xe8, 0x5a, 0xd8, 0xdf, 0x6b, 0xfe, 0x2c, 0x34, 0x22, 0x0f, + 0x76, 0xf9, 0x10, 0x15, 0x4b, 0x98, 0x8e, 0xec, 0x46, 0x31, 0xf5, 0x6c, 0x0a, 0x82, 0x8e, 0xfb, + 0x39, 0x67, 0x32, 0xe8, 0x0e, 0x87, 0x33, 0x70, 0xd1, 0x36, 0x35, 0x8e, 0xd0, 0x57, 0x13, 0x91, + 0x6d, 0x8a, 0x72, 0x29, 0x46, 0x50, 0x38, 0x71, 0xa6, 0xcb, 0xef, 0xa5, 0x47, 0xb9, 0x20, 0x94, + 0x45, 0xab, 0xd4, 0x3b, 0x60, 0xae, 0x2f, 0x65, 0x97, 0x36, 0xa3, 0xce, 0x02, 0x60, 0x3d, 0x78, + 0xdb, 0xd3, 0x41, 0x20, 0xa3, 0x32, 0xb3, 0xc4, 0x46, 0x98, 0xa9, 0x57, 0x29, 0x76, 0xd5, 0x4e, + 0xd6, 0xea, 0xa2, 0x0f, 0x8f, 0x33, 0xdb, 0x15, 0x4b, 0x38, 0xbd, 0x69, 0x5d, 0x63, 0xf5, 0x29, + 0xbe, 0x3b, 0x9a, 0x1d, 0x72, 0x78, 0x3d, 0xcc, 0x90, 0x7f, 0x97, 0x32, 0xa0, 0xf3, 0x9f, 0xae, + 0xc6, 0x66, 0x19, 0x84, 0x9c, 0x38, 0x13, 0x12, 0xa6, 0x43, 0x83, 0x23, 0x0a, 0x1f, 0xac, 0x07, + 0xa0, 0xb4, 0x04, 0xbf, 0x46, 0x82, 0xb4, 0x12, 0x97, 0x1d, 0x15, 0xc8, 0x7e, 0xc5, 0xdd, 0x68, + 0x07, 0x7f, 0xb2, 0xe6, 0xa6, 0xd6, 0xa1, 0x65, 0x30, 0x43, 0x61, 0x09, 0x54, 0xb5, 0x07, 0x5c, + 0xd1, 0x88, 0x25, 0x44, 0x45, 0x70, 0x40, 0x70, 0x52, 0x6a, 0xf2, 0x9d, 0xc0, 0x10, 0x23, 0x91, + 0x3d, 0x20, 0xac, 0xe9, 0xab, 0x0a, 0x8d, 0x5e, 0x23, 0xe5, 0x1d, 0x51, 0x63, 0x44, 0x0e, 0x1a, + 0xe6, 0xae, 0xdd, 0xb3, 0x19, 0xe0, 0x83, 0x10, 0xf7, 0x45, 0x0f, 0x6d, 0x95, 0x73, 0x2b, 0x94, + 0x59, 0x0c, 0x2c, 0x40, 0x54, 0x3c, 0xa5, 0xc6, 0x2e, 0x56, 0x6a, 0x4e, 0x0e, 0x76, 0x49, 0xe8, + 0x7c, 0x72, 0xd1, 0x56, 0x55, 0xc5, 0x6c, 0x67, 0x6d, 0xaf, 0x8b, 0x4f, 0x92, 0x4b, 0x2f, 0xdc, + 0xd3, 0xaf, 0x0f, 0x70, 0x75, 0x56, 0x01, 0x4e, 0x01, 0x37, 0xbe, 0xd3, 0xde, 0x2f, 0x7a, 0x13, + 0x08, 0x4f, 0x37, 0x8c, 0x8b, 0xd3, 0x70, 0xda, 0x06, 0x26, 0xe2, 0xe1, 0x5f, 0x61, 0x75, 0xb4, + 0x9c, 0x4a, 0xbe, 0xe8, 0x08, 0xc3, 0x22, 0x2b, 0xf1, 0x4e, 0xe9, 0x26, 0xb0, 0xf2, 0xf8, 0x8e, + 0xe7, 0xb2, 0x36, 0x25, 0x94, 0xb9, 0x7f, 0x2c, 0x0e, 0x68, 0xcf, 0x77, 0x70, 0x54, 0x19, 0xcb, + 0xf3, 0x2d, 0x26, 0x88, 0x65, 0x0c, 0xe7, 0xd0, 0x8f, 0x3a, 0xfe, 0x24, 0x57, 0xaf, 0x45, 0x33, + 0xa2, 0xad, 0xdd, 0xc8, 0xa6, 0xdf, 0x65, 0xed, 0x2b, 0xab, 0x47, 0xc1, 0x41, 0xd2, 0xcd, 0x67, + 0x95, 0x6c, 0x5b, 0x7a, 0x09, 0xb8, 0x93, 0x63, 0xfe, 0x87, 0xb5, 0x48, 0x4c, 0x4e, 0x07, 0xdf, + 0x8e, 0x05, 0xc3, 0x63, 0xc5, 0xd8, 0xab, 0xb0, 0xaa, 0x1d, 0x77, 0x47, 0xab, 0xe2, 0x7e, 0x7f, + 0xc4, 0x3b, 0xdf, 0xc7, 0xcc, 0xbc, 0xe5, 0x19, 0xf4, 0xfc, 0xa8, 0x54, 0xd7, 0xf0, 0x33, 0x93, + 0x8c, 0x70, 0x4f, 0x02, 0xb4, 0x87, 0x59, 0xf1, 0x43, 0x4b, 0xe9, 0x65, 0x47, 0x7c, 0x90, 0x46, + 0x39, 0x7b, 0x4e, 0x7a, 0x78, 0xcc, 0xe9, 0xed, 0x10, 0x32, 0x54, 0x86, 0xf0, 0xb2, 0xfc, 0x96, + 0x88, 0xfe, 0xb5, 0x77, 0xf0, 0x6f, 0x8c, 0x31, 0xf6, 0x0c, 0xca, 0xe7, 0x09, 0x9d, 0x18, 0x49, + 0xd8, 0x0a, 0x8f, 0x0d, 0x60, 0xf9, 0xf5, 0x6d, 0x01, 0x07, 0xea, 0x51, 0xca, 0xc6, 0x65, 0xfd, + 0x6f, 0x4a, 0x36, 0xb0, 0x51, 0xad, 0x1e, 0x6e, 0x5f, 0xef, 0xb4, 0x72, 0x8a, 0xd4, 0x48, 0x49, + 0xe3, 0x00, 0x44, 0x83, 0xf5, 0x58, 0xf1, 0x01, 0xfa, 0x4a, 0xb7, 0x56, 0x03, 0xad, 0xbd, 0x97, + 0x03, 0x85, 0x08, 0x73, 0x60, 0xd6, 0x46, 0x05, 0x41, 0xa0, 0xff, 0xeb, 0x32, 0xf3, 0x06, 0x6a, + 0x79, 0xcd, 0x02, 0xd2, 0x1b, 0x22, 0xc9, 0xc0, 0xec, 0x0c, 0x0b, 0x76, 0x7c, 0x9e, 0xc4, 0xa1, + 0xea, 0xaa, 0x30, 0x0e, 0x08, 0xaf, 0x94, 0xfe, 0x6a, 0x6e, 0xca, 0xa5, 0x31, 0x6c, 0x79, 0xa1, + 0xac, 0x08, 0x60, 0x1d, 0x03, 0x8f, 0x33, 0x78, 0xfb, 0xee, 0x4b, 0x45, 0x9a, 0x06, 0x1c, 0x71, + 0x88, 0x3e, 0x76, 0x77, 0x91, 0x8c, 0x74, 0x78, 0xbb, 0x13, 0x69, 0x66, 0xc6, 0x8a, 0x45, 0x13, + 0x58, 0x2a, 0x19, 0x4c, 0x1c, 0xf8, 0x67, 0x56, 0x2a, 0x6e, 0xb1, 0x9e, 0xff, 0x41, 0x73, 0x03, + 0x52, 0xaf, 0x94, 0x60, 0x3d, 0xe7, 0x33, 0x76, 0xa6, 0x3c, 0x04, 0x99, 0x16, 0x96, 0x6a, 0x75, + 0x25, 0x28, 0xa4, 0x59, 0xac, 0xe2, 0x0e, 0xbe, 0xf5, 0xe8, 0x53, 0x23, 0x7a, 0x13, 0x38, 0x29, + 0xa9, 0xe9, 0x28, 0x2f, 0x2e, 0xeb, 0xe3, 0xf9, 0xb5, 0x3e, 0xe7, 0xe4, 0x08, 0xf3, 0x31, 0xd7, + 0xac, 0xc7, 0xe1, 0x68, 0x3f, 0x34, 0x36, 0x02, 0x1a, 0x35, 0xa4, 0xa0, 0xb0, 0x26, 0x43, 0x88, + 0x30, 0xcf, 0xc0, 0xd0, 0x11, 0xb1, 0xa9, 0x6f, 0xab, 0xd0, 0x4d, 0xe0, 0xfa, 0xfd, 0x3d, 0x14, + 0x25, 0x36, 0xb9, 0x57, 0x01, 0xe6, 0x25, 0x74, 0xa7, 0xc0, 0x2a, 0x66, 0x0c, 0xa5, 0x00, 0x87, + 0x79, 0x4e, 0x96, 0xca, 0xff, 0x03, 0x41, 0x2c, 0x17, 0xb4, 0x47, 0xb1, 0x09, 0x37, 0x81, 0x36, + 0xca, 0xf6, 0x2f, 0xba, 0x31, 0xd7, 0x0f, 0x15, 0xc2, 0xdc, 0x48, 0x29, 0xed, 0x27, 0xb3, 0x1c, + 0x69, 0x54, 0xf8, 0xc4, 0x7f, 0x4a, 0x69, 0x63, 0x58, 0x24, 0xa2, 0x46, 0x7f, 0xfe, 0x97, 0xa1, + 0xe9, 0xb2, 0x70, 0x95, 0x89, 0xbc, 0x43, 0x8a, 0x40, 0x8f, 0xce, 0x58, 0xec, 0xeb, 0xa4, 0xa0, + 0x6a, 0x29, 0xad, 0x93, 0x97, 0xaf, 0x60, 0xcd, 0x74, 0x9c, 0x40, 0x26, 0x85, 0x28, 0x81, 0x8d, + 0x0f, 0x27, 0xc2, 0x9a, 0x39, 0xf0, 0x33, 0x17, 0xe2, 0x3f, 0x94, 0x96, 0x87, 0xe2, 0xda, 0x39, + 0x97, 0xfe, 0xf5, 0x29, 0x96, 0xe6, 0xce, 0x4f, 0x61, 0x48, 0x1c, 0xc6, 0xa1, 0xf0, 0x16, 0xcb, + 0x23, 0x71, 0x98, 0x02, 0xa7, 0x7b, 0x05, 0x8b, 0xab, 0x60, 0x5c, 0xd8, 0x61, 0xbb, 0x5a, 0x9d, + 0xd0, 0x01, 0xe7, 0xe8, 0x35, 0xa4, 0x05, 0x9a, 0x59, 0xba, 0x6a, 0x0c, 0x21, 0x51, 0xf8, 0xc4, + 0x9a, 0x16, 0x41, 0x77, 0x6b, 0x90, 0xf7, 0x36, 0xf7, 0x37, 0xdf, 0x3e, 0x17, 0xdd, 0xff, 0xee, + 0x09, 0xe8, 0xaf, 0x2a, 0x17, 0x32, 0xee, 0xfd, 0x29, 0xbf, 0xd8, 0x32, 0xd6, 0xf3, 0xa7, 0x51, + 0xb3, 0xad, 0xcc, 0xff, 0x8d, 0xdb, 0xe2, 0xd9, 0x7a, 0xf2, 0xda, 0xa0, 0xfd, 0x6e, 0x28, 0x11, + 0x79, 0x6b, 0x7d, 0x51, 0xca, 0x11, 0x49, 0xb6, 0xe8, 0x1b, 0xb4, 0x4b, 0x77, 0xcf, 0xe9, 0xd8, + 0xbd, 0xf1, 0x84, 0x08, 0x8c, 0xa2, 0xe7, 0xcf, 0xb6, 0x48, 0x32, 0x21, 0x1b, 0xa8, 0xaf, 0x46, + 0x35, 0x3b, 0x0a, 0x67, 0x44, 0x7c, 0x5c, 0x78, 0x28, 0xce, 0x77, 0x49, 0xe5, 0xc5, 0x71, 0x80, + 0x94, 0xeb, 0x3b, 0xe8, 0x0c, 0xb6, 0xa9, 0x54, 0x6c, 0xab, 0x57, 0x2f, 0xe3, 0xf1, 0xf8, 0xef, + 0xab, 0x0a, 0xfb, 0x6a, 0x76, 0xe9, 0x9d, 0xe8, 0xed, 0xe7, 0x17, 0xa6, 0x05, 0x78, 0xf6, 0x24, + 0x49, 0x06, 0xd9, 0x26, 0xc1, 0x0d, 0x96, 0x2b, 0x0a, 0x0e, 0x74, 0x66, 0x8f, 0xc2, 0x5b, 0x09, + 0x09, 0x9c, 0x2e, 0x8d, 0x50, 0x68, 0x1f, 0x05, 0x90, 0xb7, 0xe8, 0x9d, 0x26, 0x67, 0x41, 0xcd, + 0x96, 0xda, 0x7d, 0x86, 0xce, 0x1b, 0x6f, 0xd6, 0x67, 0x39, 0xcc, 0x7d, 0x4a, 0xc5, 0x04, 0xf8, + 0x21, 0x33, 0x6a, 0x7f, 0xcc, 0xda, 0x43, 0x4c, 0x92, 0x53, 0xe2, 0x13, 0xd2, 0x20, 0x65, 0x5e, + 0x75, 0x00, 0x7a, 0x11, 0x81, 0x71, 0xea, 0x21, 0xfe, 0x35, 0xd8, 0x49, 0xf5, 0x7f, 0xc1, 0x4b, + 0xd7, 0x42, 0x89, 0x65, 0x59, 0x01, 0xdd, 0x29, 0x1f, 0x75, 0xec, 0x6f, 0x5f, 0xde, 0xd0, 0xd1, + 0x3c, 0xa8, 0xef, 0x75, 0xdb, 0x82, 0xfd, 0xae, 0x3f, 0x7e, 0xf8, 0xe1, 0x43, 0x0c, 0xb2, 0x21, + 0x1d, 0x93, 0x0a, 0xe6, 0xee, 0x18, 0xe9, 0xeb, 0x59, 0xfe, 0x03, 0x0b, 0x67, 0xfa, 0x00, 0x90, + 0x87, 0x3e, 0xcd, 0xf4, 0xbe, 0xd4, 0x17, 0xe0, 0x50, 0xe4, 0x2c, 0x33, 0xc9, 0x62, 0x5f, 0xc9, + 0x4f, 0x19, 0x1a, 0xb2, 0x3f, 0xbe, 0x4a, 0x12, 0x6e, 0x9f, 0x5e, 0x2e, 0xa1, 0x06, 0x2b, 0x1a, + 0x75, 0x29, 0xf6, 0xdf, 0x68, 0x8b, 0x31, 0xcf, 0xcc, 0x76, 0x1a, 0xc5, 0x80, 0x44, 0x45, 0xf2, + 0xd2, 0x11, 0x71, 0xce, 0x91, 0xc0, 0xb9, 0x37, 0x46, 0x4e, 0xd0, 0x9e, 0x75, 0xff, 0x54, 0x42, + 0x99, 0x1d, 0x51, 0xb4, 0x51, 0xf3, 0xf8, 0x55, 0xf8, 0xd9, 0x30, 0xdd, 0xdd, 0x7a, 0x4f, 0x74, + 0xe2, 0xce, 0xe8, 0x7d, 0x7a, 0x23, 0xa1, 0xf6, 0xe7, 0x0b, 0x56, 0xd0, 0x8f, 0xa0, 0x09, 0xea, + 0x7b, 0x15, 0x95, 0xb3, 0xcb, 0xe6, 0xb9, 0xbd, 0xd3, 0x7b, 0x66, 0xc7, 0xca, 0xe9, 0xc4, 0xbe, + 0x2b, 0xac, 0xef, 0xed, 0x28, 0x3d, 0xb3, 0x7e, 0xe2, 0x2c, 0x32, 0x45, 0x4a, 0x1a, 0x2a, 0xab, + 0x5b, 0xed, 0xce, 0x43, 0xbc, 0x01, 0x27, 0x9e, 0x92, 0xfe, 0x1b, 0x2b, 0x9a, 0x5b, 0x0d, 0x13, + 0x64, 0xd4, 0x7d, 0x1c, 0x6e, 0x4c, 0x20, 0x10, 0xb1, 0x62, 0xf1, 0xa9, 0xb3, 0x49, 0xd7, 0x72, + 0xfc, 0x30, 0x9d, 0x1b, 0xe5, 0x2e, 0xf3, 0xb4, 0x2d, 0x5a, 0xbe, 0x2d, 0x84, 0x13, 0x39, 0x1d, + 0x43, 0xa2, 0xe2, 0x80, 0xa2, 0x9b, 0xe2, 0x6a, 0xea, 0x40, 0xf2, 0x67, 0xb9, 0x7f, 0x65, 0x75, + 0xdc, 0x32, 0x1b, 0xe7, 0x2f, 0x03, 0x59, 0xc3, 0xd8, 0xb8, 0xfe, 0x6e, 0xae, 0x08, 0xfb, 0x14, + 0x27, 0x45, 0x8a, 0xc1, 0xad, 0xba, 0x09, 0x39, 0x90, 0x85, 0xa3, 0x7e, 0x13, 0x69, 0x0b, 0x20, + 0x91, 0xb0, 0x30, 0xb2, 0x02, 0xf5, 0x6b, 0xcf, 0x54, 0x4f, 0x3e, 0xaf, 0xab, 0xf0, 0x38, 0x7a, + 0xd3, 0xf2, 0xa3, 0x09, 0x7e, 0x70, 0x83, 0x2d, 0xce, 0x7f, 0x43, 0x7b, 0x04, 0x52, 0x07, 0x9e, + 0x3a, 0xd5, 0xd9, 0xa5, 0xe9, 0xfe, 0x97, 0x27, 0x81, 0x67, 0x97, 0xb5, 0x22, 0x9d, 0xbd, 0xf4, + 0x66, 0x0c, 0x7f, 0xfd, 0x41, 0x11, 0x1c, 0x54, 0xf6, 0x60, 0x29, 0x17, 0xc9, 0x4c, 0x41, 0x28, + 0xda, 0x81, 0x6c, 0xcf, 0xb4, 0x89, 0x15, 0xad, 0x86, 0x0a, 0x2d, 0xd1, 0xe5, 0x00, 0xc1, 0x06, + 0xd0, 0xb5, 0x6b, 0x0f, 0xe3, 0xd2, 0x61, 0xd8, 0x02, 0xff, 0x3e, 0xbe, 0xc5, 0xa9, 0xd9, 0xb6, + 0x28, 0xd2, 0xf6, 0xf3, 0xe1, 0xf3, 0xd8, 0x26, 0xb9, 0x7f, 0xdc, 0x8b, 0x14, 0x4e, 0x66, 0xcb, + 0xed, 0xd2, 0x99, 0x1c, 0x97, 0x62, 0xa7, 0x98, 0xd1, 0x68, 0xd0, 0x43, 0x87, 0x11, 0x47, 0xf5, + 0xd9, 0x73, 0xbe, 0x19, 0x56, 0x3b, 0x35, 0xf9, 0xa6, 0x5b, 0x2f, 0x91, 0xb7, 0xf6, 0x67, 0xeb, + 0xb4, 0x81, 0x9a, 0xba, 0x5d, 0x3d, 0xe6, 0xa3, 0xd1, 0xd7, 0x3f, 0x93, 0x6f, 0xaa, 0x72, 0x99, + 0x3a, 0x82, 0xad, 0x12, 0x55, 0xb9, 0x47, 0x1b, 0x06, 0x45, 0xff, 0x05, 0xdb, 0x0e, 0x15, 0x71, + 0x6d, 0xa5, 0xec, 0x66, 0xcd, 0x9b, 0x8a, 0x13, 0x94, 0x19, 0xec, 0x8b, 0x81, 0x23, 0x18, 0x05, + 0xe0, 0xc0, 0xca, 0x6e, 0x23, 0xc2, 0xda, 0x5b, 0x3e, 0x7b, 0x05, 0x13, 0xc4, 0x7c, 0x1d, 0x91, + 0x4c, 0x85, 0xc2, 0x5a, 0x56, 0x22, 0xdd, 0x80, 0x6d, 0xbe, 0xfc, 0xa9, 0x98, 0xf2, 0xac, 0x06, + 0x96, 0xdd, 0xdf, 0xeb, 0xf9, 0xc6, 0x7d, 0xf8, 0xc1, 0xa5, 0xa6, 0xee, 0xb7, 0xa0, 0xd0, 0x02, + 0x3f, 0x7a, 0x31, 0x75, 0x56, 0xcb, 0x99, 0x81, 0x77, 0xe8, 0x00, 0x7e, 0x65, 0x9b, 0xe3, 0xc8, + 0x95, 0xf4, 0x83, 0xc2, 0x7e, 0x08, 0x68, 0x8d, 0x9d, 0x75, 0x5a, 0x71, 0x75, 0x2b, 0x4e, 0x4c, + 0x68, 0x57, 0x02, 0xb3, 0xc4, 0xee, 0xc1, 0xbf, 0x61, 0x7c, 0xe7, 0xb5, 0xee, 0x92, 0xa2, 0x4b, + 0x2f, 0xef, 0x77, 0x72, 0xfa, 0xc1, 0xa9, 0xe4, 0x2f, 0x79, 0x2f, 0x11, 0x58, 0x73, 0x17, 0x19, + 0xf4, 0xba, 0x55, 0xfd, 0x80, 0x30, 0xff, 0x90, 0x24, 0x68, 0x0e, 0x82, 0xad, 0xdc, 0xbf, 0x8e, + 0x6f, 0x3a, 0xf6, 0x62, 0x1c, 0xe4, 0xa6, 0xd7, 0xa4, 0x86, 0x55, 0x9a, 0xe7, 0xb0, 0x0c, 0xb3, + 0xd0, 0x5f, 0x27, 0x59, 0xaa, 0x7e, 0xa4, 0xe3, 0x77, 0x44, 0xac, 0x7b, 0x63, 0xc8, 0x6d, 0x15, + 0x34, 0x1d, 0x8a, 0xfa, 0x8f, 0x83, 0x56, 0x6a, 0x3a, 0x97, 0x86, 0x06, 0x14, 0x11, 0xe0, 0x9f, + 0xc6, 0xf4, 0x49, 0x75, 0xb9, 0x54, 0x69, 0xa0, 0xdc, 0x91, 0xf2, 0x69, 0x3c, 0x9a, 0x02, 0x46, + 0x5d, 0xbf, 0xc1, 0xc3, 0x89, 0xab, 0x59, 0x59, 0x4a, 0x93, 0x6d, 0x6a, 0x00, 0xad, 0x93, 0x26, + 0x9b, 0x3f, 0xfe, 0x24, 0x74, 0x19, 0x35, 0x9b, 0xdb, 0x41, 0x1b, 0x7d, 0x31, 0x8e, 0xcc, 0x53, + 0x80, 0x8a, 0x69, 0xae, 0xec, 0xe0, 0x0e, 0xa1, 0xad, 0xf5, 0xc3, 0x33, 0x6f, 0xc8, 0x4f, 0x18, + 0x6b, 0x83, 0x21, 0x3b, 0x7d, 0xdb, 0xb7, 0xf2, 0x0b, 0xf1, 0xf0, 0x63, 0xec, 0x38, 0x9c, 0x1d, + 0x5d, 0xe3, 0x99, 0xa7, 0x7b, 0x18, 0x7d, 0x1d, 0xc1, 0x87, 0x61, 0x6c, 0xb8, 0x27, 0xe9, 0x59, + 0xc2, 0xe0, 0x2b, 0x25, 0x32, 0x9a, 0xaa, 0xda, 0x86, 0xc8, 0x03, 0x59, 0xdf, 0xcb, 0x82, 0x9e, + 0x21, 0x6e, 0xaa, 0x38, 0xc3, 0xb5, 0x15, 0x0c, 0x11, 0x94, 0xfa, 0xed, 0x27, 0x57, 0x1d, 0xc3, + 0x1f, 0xfe, 0x11, 0x37, 0xca, 0x4a, 0x86, 0x92, 0xa5, 0xc9, 0x67, 0x61, 0xfa, 0x90, 0xd7, 0x87, + 0x26, 0xdc, 0xc3, 0x25, 0x02, 0x3e, 0x02, 0x84, 0x99, 0xec, 0x02, 0xff, 0x03, 0xd4, 0xc5, 0x05, + 0xbb, 0xcc, 0x1b, 0x16, 0xe4, 0x13, 0xcc, 0xfd, 0xd6, 0xfa, 0x6f, 0x7d, 0xad, 0xae, 0x45, 0x7a, + 0x60, 0x33, 0xdf, 0xa3, 0x4c, 0x08, 0xed, 0x8b, 0x0a, 0xb2, 0x24, 0x14, 0x74, 0xa5, 0x73, 0x7c, + 0x3f, 0xf2, 0x22, 0xfb, 0x1b, 0xb8, 0xc9, 0xba, 0xff, 0xa4, 0xf1, 0x00, 0x7d, 0x15, 0xba, 0x26, + 0xc2, 0x85, 0xc8, 0xa1, 0x8d, 0x91, 0x38, 0x9e, 0x34, 0x7e, 0xc9, 0xa0, 0xf3, 0xa1, 0xca, 0x4f, + 0x54, 0xfc, 0x1c, 0xb1, 0x00, 0x5b, 0x53, 0x73, 0x59, 0xd1, 0x9d, 0x17, 0xdc, 0x67, 0x00, 0x23, + 0xa7, 0xc2, 0x42, 0x07, 0xdb, 0x4d, 0x77, 0x36, 0x5a, 0xfa, 0x1a, 0x19, 0x58, 0x94, 0xde, 0xf8, + 0xd6, 0x17, 0x83, 0x14, 0xef, 0x24, 0xc2, 0x1c, 0xb2, 0x16, 0x7d, 0xc0, 0xd2, 0xbb, 0x3c, 0x95, + 0x33, 0x33, 0x38, 0x1e, 0x9e, 0x64, 0x2c, 0x1e, 0xea, 0x12, 0xbd, 0x3c, 0xeb, 0x7b, 0x6d, 0x35, + 0xc6, 0xe7, 0x7c, 0xe1, 0x4a, 0x30, 0xd8, 0x29, 0x1a, 0xc8, 0xf4, 0x90, 0xc2, 0x50, 0x9b, 0xfe, + 0x10, 0x96, 0xfc, 0x5e, 0x9f, 0x1b, 0xfa, 0xd9, 0x20, 0x9d, 0x69, 0xdc, 0x80, 0x89, 0x3e, 0x0d, + 0xfb, 0x6b, 0xac, 0xd7, 0xdd, 0x39, 0xba, 0xbd, 0xdc, 0x78, 0x53, 0xda, 0xa4, 0xd8, 0xc0, 0x0a, + 0xac, 0x0d, 0xb6, 0x53, 0x94, 0x34, 0x32, 0xae, 0xa2, 0x4d, 0x68, 0x00, 0x9e, 0x9e, 0x9e, 0x33, + 0x81, 0xb1, 0xa5, 0x86, 0xac, 0xa9, 0x41, 0xcf, 0xae, 0xae, 0x51, 0x80, 0x21, 0x38, 0xd7, 0x79, + 0x91, 0xf6, 0xab, 0xb3, 0x6a, 0x7d, 0x97, 0x1f, 0xb7, 0x79, 0x22, 0xb7, 0x4b, 0x19, 0xad, 0xed, + 0x35, 0x83, 0xae, 0x79, 0x4b, 0xf6, 0x82, 0xf8, 0xb0, 0x0a, 0x4a, 0x6e, 0x01, 0x89, 0x73, 0xb7, + 0x01, 0x65, 0x1c, 0xe8, 0x23, 0x8e, 0xb7, 0x54, 0x43, 0xe0, 0x4d, 0x9a, 0x34, 0x3f, 0xb4, 0x9d, + 0x6e, 0x85, 0x29, 0xb3, 0x04, 0x10, 0xf7, 0xbd, 0x21, 0x2d, 0x5a, 0x3d, 0x7e, 0x43, 0xfa, 0xda, + 0x69, 0x81, 0xe4, 0x35, 0x61, 0x3b, 0x34, 0x11, 0xdd, 0xf2, 0xb1, 0x0e, 0x79, 0xf6, 0x14, 0x89, + 0x27, 0x2a, 0xda, 0x8f, 0x21, 0xe9, 0x29, 0x36, 0xc9, 0x87, 0xd5, 0x73, 0x0e, 0x57, 0x16, 0xcc, + 0x29, 0xc3, 0x3b, 0xe8, 0x75, 0x4d, 0x07, 0x57, 0x50, 0x4c, 0x54, 0x11, 0x15, 0x12, 0x3c, 0x8b, + 0xd7, 0x55, 0x6b, 0x8d, 0xdd, 0x72, 0xa8, 0x74, 0x57, 0x51, 0x00, 0x7c, 0x3c, 0x97, 0xa9, 0x21, + 0x01, 0x95, 0xe9, 0x65, 0x57, 0xf1, 0xbc, 0x23, 0x10, 0xe9, 0x23, 0xd0, 0xd9, 0x55, 0x83, 0x48, + 0x42, 0xe9, 0x54, 0x2e, 0x34, 0x5a, 0x35, 0xca, 0x0e, 0xd2, 0x82, 0x86, 0x81, 0x29, 0x9b, 0xd2, + 0x9b, 0x5e, 0x26, 0x77, 0x13, 0x6b, 0xfe, 0xce, 0x5e, 0xcc, 0x75, 0x17, 0xad, 0x84, 0x87, 0x25, + 0x23, 0x9a, 0x62, 0x40, 0x12, 0xf6, 0x2b, 0xc9, 0xe5, 0x53, 0xd9, 0x35, 0xd5, 0x0a, 0xce, 0x7f, + 0x98, 0xd5, 0x44, 0x64, 0xfd, 0x3b, 0x3a, 0x1b, 0xbd, 0x5c, 0xce, 0x7a, 0xa3, 0xa7, 0x16, 0xcf, + 0x5f, 0xe4, 0x99, 0xb5, 0x10, 0x9e, 0x60, 0x1e, 0xab, 0xf5, 0x56, 0x34, 0x4c, 0x3b, 0x3b, 0xc3, + 0xc6, 0x6b, 0x2d, 0xb4, 0x76, 0x06, 0x2a, 0xd7, 0x57, 0x9b, 0x92, 0x7e, 0x65, 0x6e, 0x52, 0x19, + 0x3f, 0xb0, 0x3e, 0x7c, 0xa9, 0x14, 0x13, 0x2b, 0x03, 0x3d, 0xb1, 0xb3, 0x51, 0xf8, 0x27, 0xc9, + 0x12, 0x7c, 0xf8, 0x2c, 0x6f, 0xd4, 0x33, 0x97, 0xfb, 0x98, 0xe1, 0x65, 0x81, 0x27, 0xd4, 0xc8, + 0x23, 0x8b, 0xba, 0x12, 0xc9, 0x86, 0xe8, 0xd7, 0x77, 0xca, 0x2c, 0x0d, 0x4a, 0xc9, 0x07, 0x26, + 0xe8, 0x19, 0x5a, 0x4d, 0xb5, 0xfc, 0x04, 0x4d, 0xa3, 0x4a, 0x9b, 0xfd, 0x95, 0x31, 0xd9, 0x7b, + 0xa1, 0x15, 0x0f, 0x08, 0x27, 0xbd, 0xeb, 0x95, 0xe9, 0x12, 0xff, 0xc4, 0x58, 0x24, 0x13, 0x00, + 0xcd, 0x57, 0xc0, 0x2e, 0x4d, 0x48, 0xc0, 0x1b, 0x3b, 0xe0, 0xae, 0x42, 0xd2, 0x9c, 0x7e, 0xb8, + 0xae, 0x42, 0xb6, 0x07, 0x44, 0x80, 0xdc, 0xaf, 0x93, 0xbf, 0xf4, 0xd2, 0xe7, 0x82, 0x65, 0x6f, + 0x3b, 0xa3, 0x4a, 0xf1, 0x67, 0xd8, 0x74, 0x85, 0xa8, 0x94, 0x70, 0xd6, 0xfd, 0xea, 0xc9, 0xe0, + 0x1d, 0x60, 0xe5, 0x50, 0x17, 0x9c, 0x32, 0x59, 0xc2, 0xbf, 0xec, 0xbc, 0x23, 0xc8, 0x93, 0x00, + 0x06, 0x79, 0xb7, 0xd7, 0x28, 0x9c, 0xc7, 0x4c, 0xb9, 0xf6, 0x7d, 0x41, 0x9e, 0x08, 0xb7, 0xa7, + 0x1e, 0xb0, 0x04, 0xc5, 0x82, 0xd3, 0x51, 0x69, 0x34, 0xa3, 0xfd, 0x12, 0x8b, 0x8b, 0xe0, 0x8a, + 0x9d, 0x8f, 0x33, 0x35, 0x18, 0x58, 0x6f, 0xd0, 0x23, 0x44, 0x1e, 0x86, 0x54, 0x5b, 0x62, 0xe8, + 0x95, 0x1b, 0x73, 0xd0, 0xde, 0x6c, 0x11, 0x98, 0xff, 0xaa, 0x78, 0x45, 0x93, 0x8c, 0x0c, 0x9a, + 0x63, 0x0e, 0xc4, 0xef, 0xa4, 0x5e, 0x08, 0x4e, 0x61, 0xc5, 0x9c, 0x11, 0x31, 0x00, 0x5e, 0x62, + 0xbd, 0x90, 0x1b, 0xa7, 0x97, 0x0a, 0x1f, 0xf3, 0xb6, 0x04, 0x99, 0xd0, 0x53, 0x71, 0xdc, 0x07, + 0xc7, 0x8f, 0xbc, 0xfb, 0x99, 0x5e, 0xe9, 0x6a, 0x01, 0x8c, 0x21, 0x53, 0xac, 0x0e, 0xc8, 0x6b, + 0x3d, 0x79, 0xc5, 0xca, 0x7e, 0xbf, 0xa9, 0x42, 0x92, 0x72, 0x9e, 0x3a, 0xd5, 0x5f, 0x5c, 0x5d, + 0x96, 0x19, 0x2b, 0x08, 0xc4, 0xc4, 0x95, 0x5f, 0x34, 0x18, 0xa6, 0xd8, 0x55, 0x46, 0x0f, 0x94, + 0x6a, 0xb5, 0x39, 0x32, 0x45, 0x08, 0x71, 0xb0, 0xc3, 0x40, 0x9d, 0x1d, 0xf4, 0xf5, 0x35, 0x03, + 0x21, 0xc3, 0x93, 0x55, 0x8c, 0x6f, 0x30, 0x56, 0x85, 0x2d, 0xd4, 0xc0, 0x9d, 0xfb, 0xd2, 0x87, + 0xec, 0x79, 0x38, 0xb1, 0xaf, 0xa7, 0xfe, 0x20, 0xdd, 0x8c, 0xca, 0x90, 0x72, 0x16, 0xdc, 0x75, + 0x04, 0x6d, 0x18, 0x7c, 0x85, 0x7e, 0x56, 0x3c, 0x21, 0x44, 0xa3, 0x53, 0xa1, 0xd8, 0xab, 0xe1, + 0xad, 0x76, 0x78, 0x1c, 0xdb, 0xf0, 0xd1, 0x32, 0x9d, 0xa6, 0x04, 0x55, 0x58, 0x79, 0xd2, 0x57, + 0xb0, 0xe5, 0xe4, 0xc9, 0xae, 0xfa, 0x7c, 0x1e, 0xee, 0xed, 0x05, 0xec, 0x91, 0x70, 0x36, 0xc4, + 0x1b, 0xa5, 0xce, 0x3b, 0x87, 0x37, 0x8f, 0xc2, 0x4f, 0x04, 0xd6, 0x4c, 0x65, 0x29, 0xa4, 0x87, + 0xfb, 0xaf, 0x38, 0x2f, 0x85, 0x7d, 0xf8, 0x12, 0x3c, 0x26, 0xe7, 0x15, 0x4e, 0xc3, 0x68, 0xf2, + 0x93, 0xd6, 0x45, 0x07, 0x7d, 0x85, 0xbc, 0xa3, 0xa5, 0x60, 0x3a, 0x44, 0x50, 0xc7, 0xd2, 0xff, + 0xa1, 0xf2, 0xbc, 0x20, 0xfd, 0x0a, 0xad, 0xf7, 0xc5, 0xca, 0xce, 0x5d, 0x95, 0x7a, 0x92, 0x24, + 0x35, 0x54, 0xc8, 0xd2, 0x7e, 0xca, 0xaf, 0xf1, 0x0c, 0x63, 0xd1, 0x0e, 0x47, 0xff, 0x1e, 0x07, + 0x48, 0xd7, 0xe9, 0x26, 0x18, 0x50, 0x43, 0x78, 0x49, 0xa3, 0x2f, 0x22, 0x7a, 0xa8, 0x59, 0x1c, + 0x8c, 0x1c, 0xbd, 0x4b, 0xcc, 0xe2, 0xf4, 0x5f, 0x41, 0x52, 0x7d, 0x3f, 0x61, 0x13, 0x05, 0x5f, + 0xa8, 0x21, 0x2a, 0x5a, 0x2f, 0x14, 0x54, 0x39, 0xee, 0x32, 0x7f, 0xec, 0xf0, 0x1a, 0x43, 0x1d, + 0x8c, 0x8b, 0xb2, 0x02, 0xd5, 0x68, 0x6c, 0xc5, 0x15, 0x2c, 0x50, 0xc2, 0xb3, 0xa5, 0x69, 0x79, + 0x38, 0x92, 0xec, 0xf7, 0xbb, 0x9c, 0xbe, 0xd8, 0x18, 0x30, 0x96, 0xbc, 0x6d, 0x14, 0xcc, 0x86, + 0x14, 0x71, 0x82, 0x1a, 0x29, 0x08, 0xdb, 0x60, 0x7b, 0x2b, 0x14, 0x83, 0x9c, 0xcd, 0xeb, 0xac, + 0x5d, 0x81, 0xb3, 0xad, 0x1c, 0xe3, 0x35, 0x3a, 0xdd, 0xcf, 0x7f, 0xa8, 0x72, 0x8a, 0x17, 0x9e, + 0x49, 0x9e, 0x6b, 0x4d, 0x3d, 0x82, 0x7b, 0x76, 0xcf, 0xc9, 0xf5, 0xeb, 0xa2, 0x14, 0xcc, 0xee, + 0xd9, 0x15, 0x56, 0x6c, 0x80, 0x3c, 0xbc, 0x4b, 0x73, 0x04, 0xe4, 0x4a, 0xd2, 0xce, 0x90, 0xb7, + 0xf9, 0x7e, 0xba, 0xc2, 0x84, 0x9a, 0xcf, 0x17, 0xc6, 0xe1, 0xc4, 0x8e, 0x80, 0xfe, 0x80, 0xd6, + 0x41, 0x5d, 0x84, 0x6d, 0xd2, 0x32, 0xab, 0xed, 0x4f, 0x9c, 0xf1, 0x5e, 0xbf, 0xac, 0xe7, 0x04, + 0xda, 0x07, 0x9d, 0x6c, 0xa1, 0xaa, 0x66, 0x62, 0x50, 0xd6, 0x8e, 0xd9, 0xe6, 0xb3, 0x2f, 0xac, + 0xee, 0x5d, 0x91, 0x52, 0x05, 0xa3, 0x73, 0x80, 0xfe, 0xc3, 0x64, 0x6f, 0xca, 0x8a, 0x5d, 0xf7, + 0xd5, 0x55, 0x55, 0x66, 0x9a, 0x63, 0x50, 0xf7, 0x89, 0xa1, 0x1c, 0x6e, 0x47, 0x36, 0xee, 0x58, + 0x5b, 0xe5, 0x6e, 0x1f, 0x9b, 0x46, 0x39, 0xb6, 0x5e, 0xd4, 0x19, 0x46, 0xec, 0x48, 0xd3, 0x39, + 0x76, 0xc4, 0xff, 0x2f, 0xaa, 0x8b, 0x27, 0x38, 0x37, 0x09, 0x3b, 0xfc, 0x49, 0xd1, 0xcb, 0x75, + 0x1a, 0x5a, 0x96, 0x52, 0x36, 0x66, 0xa7, 0xe3, 0x6c, 0x49, 0x06, 0x6f, 0xc5, 0xfe, 0xd6, 0x44, + 0x82, 0x31, 0xaa, 0x75, 0x26, 0x63, 0x50, 0x05, 0xdc, 0x0e, 0xc8, 0xcb, 0x3e, 0x5f, 0xbe, 0x0c, + 0x11, 0xbf, 0x13, 0x9a, 0xec, 0x84, 0xf2, 0xad, 0x74, 0x80, 0x88, 0x2e, 0xfb, 0xbf, 0xb8, 0x3b, + 0x1f, 0xda, 0xfe, 0xaf, 0xa9, 0xcb, 0x7f, 0xdd, 0x1e, 0x1d, 0x79, 0xbf, 0x14, 0xc0, 0xe6, 0x8a, + 0x70, 0x44, 0x51, 0xcc, 0x99, 0xac, 0x99, 0xdc, 0xa0, 0x33, 0x79, 0x23, 0x9b, 0x9e, 0x9a, 0x2a, + 0x9a, 0xc4, 0x6c, 0x61, 0x69, 0xfb, 0x83, 0xe7, 0x94, 0xec, 0x31, 0xda, 0x4e, 0xc0, 0xb8, 0xb3, + 0x22, 0xdc, 0x3b, 0x93, 0x3e, 0x42, 0x32, 0x30, 0x69, 0x67, 0x73, 0x3e, 0x36, 0x80, 0xff, 0xe1, + 0x54, 0x85, 0x12, 0x8d, 0xb8, 0xba, 0x6e, 0x05, 0x32, 0x71, 0x56, 0xe0, 0xfa, 0xe0, 0xbc, 0xc8, + 0xb4, 0x98, 0x8b, 0xdd, 0x97, 0x9b, 0x01, 0xc3, 0x30, 0x9e, 0x1a, 0x80, 0x69, 0xa4, 0xf6, 0xeb, + 0x7f, 0x03, 0x56, 0xe0, 0x4d, 0xd0, 0xed, 0x78, 0xcf, 0x14, 0xff, 0x47, 0x73, 0xb1, 0x70, 0x9d, + 0xfe, 0x4e, 0xbc, 0x98, 0xbb, 0xe7, 0x98, 0x2e, 0x64, 0x3e, 0xf4, 0xf0, 0xbb, 0xd7, 0xde, 0xed, + 0xd5, 0x9f, 0xe1, 0x6c, 0xf5, 0x3f, 0x01, 0x17, 0x5d, 0x9e, 0xfd, 0x5e, 0x3a, 0x2f, 0xd0, 0x2a, + 0xf3, 0xf1, 0xe8, 0xea, 0x6f, 0x49, 0x7e, 0x6a, 0x88, 0xa2, 0x4d, 0x8f, 0xb2, 0x23, 0x98, 0xa4, + 0x79, 0x1c, 0x8d, 0x99, 0x91, 0xb1, 0x06, 0x28, 0x50, 0xb0, 0x10, 0xf1, 0x2b, 0x9d, 0x2a, 0xd6, + 0x38, 0xf0, 0xf4, 0xc3, 0x70, 0x49, 0xcf, 0x01, 0xf6, 0x5c, 0xd7, 0x20, 0x97, 0xb7, 0xbc, 0xfc, + 0x6f, 0x8f, 0x49, 0x51, 0xf3, 0x5e, 0xda, 0x5c, 0xb0, 0x85, 0x5c, 0xb8, 0x41, 0xf6, 0x4d, 0xfd, + 0xf8, 0x16, 0x0f, 0x54, 0x05, 0xaa, 0x41, 0x87, 0xec, 0x22, 0x0f, 0x3c, 0x0d, 0x80, 0x9f, 0xfa, + 0xee, 0x15, 0xff, 0xec, 0xf7, 0xca, 0xfd, 0x64, 0x53, 0xa3, 0xed, 0xb7, 0x6b, 0x22, 0x5b, 0x51, + 0xe7, 0x21, 0x95, 0x6e, 0xbf, 0x2d, 0xf9, 0x29, 0xbc, 0xa2, 0xe2, 0x95, 0xc6, 0xd5, 0x85, 0x16, + 0x65, 0x40, 0xee, 0xb9, 0x13, 0x09, 0xa3, 0xba, 0x22, 0xa8, 0x4a, 0xfc, 0x30, 0xb4, 0x51, 0xc6, + 0x34, 0x1a, 0x11, 0x92, 0x42, 0x55, 0x2b, 0xbd, 0x48, 0xaa, 0x14, 0xf8, 0x46, 0x2c, 0x47, 0x73, + 0x06, 0xb3, 0x64, 0x51, 0x59, 0x52, 0xa5, 0x75, 0xc2, 0xb3, 0x8e, 0x65, 0x11, 0x7b, 0xec, 0x77, + 0x85, 0x57, 0x52, 0xc1, 0x71, 0x59, 0xd6, 0xd3, 0x8b, 0xad, 0x2b, 0x5d, 0xb0, 0xf8, 0x87, 0x3f, + 0x96, 0x76, 0xbe, 0x3e, 0x89, 0x9b, 0xb0, 0x2f, 0x7a, 0xe3, 0xdb, 0x50, 0xb3, 0x08, 0x38, 0xe9, + 0xef, 0x72, 0xe7, 0x5e, 0x8e, 0x60, 0xdd, 0x52, 0xf5, 0x40, 0x76, 0xb3, 0x91, 0xef, 0x1f, 0x9d, + 0x81, 0x23, 0x19, 0x8f, 0x1f, 0x1d, 0xb4, 0x4f, 0xad, 0x92, 0x66, 0x0e, 0x8f, 0x99, 0x44, 0x34, + 0x3d, 0x7e, 0x52, 0x83, 0x9a, 0xe2, 0x5c, 0xc1, 0xdc, 0x47, 0x86, 0xd6, 0x9d, 0x02, 0x10, 0x6e, + 0x66, 0xfb, 0x45, 0x9f, 0x29, 0x21, 0xd0, 0x7c, 0x53, 0xd2, 0x6d, 0xde, 0xd2, 0xce, 0x99, 0x14, + 0xe7, 0x64, 0x14, 0x69, 0xd5, 0x6a, 0x76, 0xb0, 0x03, 0x9e, 0x58, 0x56, 0x0d, 0xd8, 0x6b, 0xc4, + 0x29, 0x46, 0xb5, 0x47, 0xe4, 0x7c, 0x89, 0x95, 0xa7, 0x83, 0xe7, 0x9d, 0x07, 0xda, 0x6f, 0x8a, + 0x76, 0x21, 0x77, 0xe1, 0x42, 0x07, 0xf3, 0xfa, 0xed, 0x47, 0x11, 0xf9, 0x0b, 0x11, 0x7c, 0x97, + 0x96, 0x0a, 0xff, 0x74, 0xc4, 0x49, 0x84, 0x69, 0x55, 0x78, 0x1f, 0x1a, 0xc5, 0x38, 0xfa, 0x94, + 0x45, 0x8f, 0x23, 0xa3, 0x9c, 0x95, 0xd7, 0x2d, 0x37, 0x6d, 0xb1, 0x76, 0x32, 0xd0, 0x75, 0x3e, + 0x9c, 0x52, 0xe4, 0xa2, 0x8f, 0xe3, 0x0d, 0x4c, 0xef, 0xc1, 0xd5, 0x86, 0x26, 0xa8, 0x82, 0x82, + 0xd0, 0xaf, 0x41, 0x6d, 0xe7, 0xd2, 0x38, 0x00, 0x84, 0x14, 0x3e, 0x14, 0x89, 0xf4, 0x41, 0x87, + 0x11, 0x7f, 0x42, 0x5f, 0x75, 0xf4, 0x67, 0x37, 0xcc, 0xdf, 0x5d, 0x23, 0x25, 0x26, 0x56, 0x61, + 0x21, 0xeb, 0xb1, 0x68, 0xea, 0xf5, 0xc2, 0x07, 0xc9, 0xc9, 0xf1, 0xe5, 0x33, 0x8f, 0xca, 0x12, + 0xde, 0x1e, 0xff, 0x53, 0xd0, 0x48, 0x34, 0x14, 0x88, 0x44, 0x09, 0xed, 0xdb, 0xf9, 0x56, 0x3f, + 0xe9, 0x16, 0x0c, 0x77, 0xa3, 0x1d, 0x1d, 0x6a, 0x7b, 0x38, 0x78, 0xdc, 0x09, 0x0c, 0x83, 0xa8, + 0x0f, 0x32, 0xab, 0x60, 0xa9, 0x48, 0x60, 0x0f, 0x1b, 0x94, 0x16, 0x48, 0xaf, 0x7a, 0x2a, 0x77, + 0x5b, 0xb7, 0xaa, 0x74, 0x82, 0x51, 0x2e, 0xdb, 0x53, 0xc1, 0x02, 0x8e, 0x67, 0x57, 0x37, 0x36, + 0x5e, 0xe4, 0x4c, 0x35, 0x2e, 0x19, 0xcf, 0x5f, 0xf9, 0x7d, 0x5d, 0x40, 0xa1, 0x7d, 0x5d, 0x06, + 0x54, 0x95, 0xdb, 0x0d, 0xef, 0xbf, 0xa7, 0xe8, 0x39, 0x8e, 0xdf, 0x00, 0xd5, 0x12, 0x96, 0x0b, + 0x83, 0x13, 0x95, 0x96, 0xfb, 0x90, 0xe8, 0x10, 0x2c, 0x72, 0x87, 0x61, 0xc3, 0x6a, 0xe4, 0x3a, + 0x53, 0x6e, 0x61, 0xc9, 0xb2, 0xf9, 0x0b, 0xf6, 0x6e, 0xae, 0x82, 0x35, 0x28, 0x52, 0x1b, 0xef, + 0x0a, 0x43, 0x0f, 0x21, 0x4c, 0x4d, 0x8e, 0xe3, 0x6d, 0x7a, 0xed, 0xfe, 0xa5, 0xdd, 0xc1, 0x5f, + 0xa6, 0xe2, 0xf8, 0x45, 0xd4, 0x38, 0xea, 0x70, 0xb2, 0xda, 0x78, 0x3d, 0xc7, 0x4e, 0xb3, 0x62, + 0x36, 0x98, 0x12, 0xf8, 0xcb, 0xae, 0x7d, 0xa6, 0xb6, 0x29, 0x0f, 0x0f, 0x57, 0x53, 0x07, 0xa3, + 0x46, 0xba, 0x46, 0x10, 0xdc, 0xf6, 0x40, 0xb5, 0x0e, 0x12, 0xb5, 0x12, 0x58, 0x5b, 0x49, 0xa8, + 0x33, 0x0b, 0x20, 0x57, 0xb6, 0xf5, 0x3c, 0x22, 0x02, 0x14, 0xc3, 0xcd, 0xd4, 0xcd, 0x1a, 0xa7, + 0xc5, 0xe9, 0xac, 0xa2, 0x9d, 0xaa, 0x64, 0xc8, 0xda, 0xd8, 0x21, 0x03, 0x5c, 0xe6, 0x69, 0xde, + 0xfc, 0x70, 0x1b, 0xdc, 0xbf, 0xe0, 0x78, 0x48, 0xae, 0x40, 0xfe, 0x64, 0x66, 0xa1, 0x35, 0x9f, + 0x7a, 0x01, 0x24, 0xa2, 0x28, 0x6e, 0x8b, 0x91, 0x6d, 0xaf, 0xf9, 0x4e, 0xdb, 0x44, 0x1a, 0xc1, + 0x76, 0xc1, 0xbf, 0x6f, 0xce, 0x4e, 0x9a, 0x8a, 0x58, 0x27, 0xa8, 0x09, 0x56, 0xdc, 0xc4, 0xf8, + 0xea, 0xfd, 0x57, 0x8a, 0x59, 0xad, 0x9c, 0x6a, 0xac, 0x20, 0xd1, 0xda, 0xf8, 0xaf, 0xa6, 0x8a, + 0x14, 0x86, 0x5b, 0xe4, 0xf9, 0xf4, 0x63, 0x1a, 0x3a, 0x4e, 0x4d, 0x4b, 0x5a, 0x28, 0x25, 0x3c, + 0x61, 0x94, 0x15, 0xba, 0x31, 0xd4, 0x21, 0xfc, 0x67, 0x1e, 0x0b, 0x40, 0x68, 0xc7, 0xea, 0xd8, + 0xed, 0x3b, 0x3d, 0x52, 0x3e, 0x95, 0x36, 0xca, 0x17, 0x70, 0x9e, 0xf6, 0xff, 0xa8, 0x0f, 0xeb, + 0xf5, 0xfb, 0x25, 0x7e, 0x33, 0x94, 0xa4, 0x8f, 0x0f, 0x41, 0x34, 0x4c, 0xfe, 0xe3, 0x8d, 0x8c, + 0x63, 0x2c, 0x5e, 0x23, 0xe0, 0x65, 0xee, 0x64, 0x5e, 0xf1, 0xb0, 0xa7, 0x97, 0x8d, 0x0d, 0xc4, + 0x93, 0x53, 0x70, 0xa9, 0xa4, 0x07, 0x27, 0xa3, 0xd9, 0x17, 0x83, 0xf9, 0x33, 0xaa, 0x94, 0xfd, + 0x15, 0x52, 0xae, 0xc1, 0x8e, 0x12, 0x6d, 0x5b, 0xc5, 0xcb, 0x95, 0x80, 0x77, 0xfe, 0xae, 0x89, + 0x15, 0x71, 0x6b, 0xc5, 0x12, 0xe2, 0x54, 0x3a, 0xec, 0xa1, 0xa0, 0x64, 0xd2, 0xc7, 0xe6, 0xa9, + 0xc5, 0xd4, 0xd9, 0xf3, 0xf1, 0x8c, 0xfc, 0xdf, 0x23, 0xbb, 0x23, 0xe5, 0x40, 0x47, 0xd9, 0x45, + 0x68, 0x52, 0xc6, 0xcd, 0x78, 0xff, 0x52, 0xe8, 0x00, 0xad, 0xb7, 0x79, 0xcd, 0xe9, 0xdd, 0x89, + 0xed, 0xc8, 0xd1, 0x99, 0x4a, 0xa9, 0x09, 0xfc, 0x6d, 0x1f, 0x52, 0x04, 0x69, 0xb6, 0xba, 0x39, + 0xf6, 0xc2, 0x29, 0x40, 0x25, 0xb5, 0x98, 0xa8, 0x20, 0xcd, 0xec, 0x97, 0x2d, 0xf7, 0x8f, 0xf7, + 0xec, 0x25, 0x80, 0x38, 0x0e, 0xd0, 0x21, 0x33, 0x7a, 0xd8, 0x99, 0x28, 0xca, 0x4a, 0x55, 0xd2, + 0xf7, 0x90, 0x7c, 0x33, 0xd4, 0xac, 0x3d, 0x0f, 0xe6, 0xfe, 0xcc, 0x88, 0xe5, 0x6e, 0xed, 0x1d, + 0x30, 0x1d, 0xf4, 0x33, 0xf3, 0x22, 0xf7, 0x31, 0x80, 0xa1, 0xdd, 0x86, 0xe7, 0x96, 0xa2, 0x28, + 0xe0, 0x72, 0x5f, 0x90, 0xf3, 0x36, 0xe3, 0x95, 0x06, 0x69, 0x18, 0x5d, 0xd8, 0x8b, 0xb7, 0xa6, + 0x9d, 0xb7, 0x70, 0xa0, 0xa4, 0x8d, 0x17, 0xdf, 0xbd, 0x6a, 0x21, 0x11, 0x5b, 0x1e, 0x07, 0xff, + 0xb8, 0x5c, 0x5f, 0xc1, 0xbf, 0xab, 0xfc, 0x24, 0x1c, 0xcc, 0x80, 0x18, 0x03, 0x08, 0xdb, 0x7c, + 0x89, 0x30, 0x97, 0x71, 0xae, 0xee, 0x0a, 0x25, 0x65, 0x2c, 0x86, 0x81, 0x28, 0xa4, 0xb3, 0xee, + 0x27, 0x8f, 0xae, 0x90, 0xf9, 0xca, 0x11, 0x23, 0x59, 0xb1, 0x0b, 0x90, 0xec, 0x11, 0x8f, 0x63, + 0xe8, 0x17, 0xc7, 0xb6, 0x4c, 0x2d, 0x11, 0xd8, 0xc7, 0xa9, 0xa3, 0xfd, 0xa0, 0x12, 0xb4, 0xe9, + 0x71, 0xf0, 0x12, 0x6f, 0x05, 0x2b, 0xb1, 0x7f, 0x50, 0xda, 0xb0, 0x88, 0xc3, 0x33, 0xb2, 0xbe, + 0xb6, 0x54, 0xe4, 0xda, 0x10, 0xff, 0x67, 0x1a, 0xb6, 0x6b, 0x06, 0x27, 0xb5, 0x17, 0xe2, 0x1d, + 0x56, 0xa6, 0x43, 0xf4, 0x28, 0x3b, 0x1b, 0x70, 0x8d, 0x2f, 0x79, 0x16, 0x33, 0x2e, 0xb1, 0xcc, + 0x75, 0x9e, 0xd8, 0x30, 0x51, 0xb3, 0xa6, 0x3e, 0x62, 0x42, 0x62, 0xd6, 0x72, 0xc6, 0xee, 0xbd, + 0x89, 0x71, 0xc3, 0x70, 0xd9, 0xfa, 0xf2, 0xc5, 0x6c, 0x45, 0x43, 0x93, 0x68, 0x99, 0xe1, 0xe9, + 0x75, 0x73, 0xe0, 0xe1, 0xac, 0xd0, 0x61, 0xfa, 0x84, 0x61, 0x55, 0xc6, 0x0e, 0xfd, 0x8d, 0x04, + 0x85, 0x59, 0x2f, 0x27, 0x07, 0xda, 0x4f, 0xb0, 0x93, 0x74, 0x33, 0xe5, 0x13, 0x21, 0x2e, 0x94, + 0x8e, 0x61, 0xa8, 0xf4, 0x93, 0x11, 0x2e, 0x11, 0xb0, 0x22, 0x27, 0x29, 0xe6, 0xb5, 0x7c, 0x66, + 0xb5, 0xe5, 0x87, 0xd4, 0x26, 0xdd, 0x7a, 0x86, 0xac, 0x77, 0x17, 0xb8, 0x62, 0xc9, 0x19, 0x22, + 0xd9, 0x83, 0xa6, 0xa4, 0xdd, 0xac, 0x5e, 0xf8, 0x7b, 0x4d, 0x9d, 0x28, 0x4e, 0xe4, 0x8c, 0x12, + 0xe5, 0x4c, 0x15, 0xb9, 0xcb, 0x74, 0x89, 0xed, 0x62, 0xe6, 0x8f, 0x78, 0xa2, 0x66, 0xe8, 0x6c, + 0xbe, 0xc2, 0xcf, 0x4a, 0x3e, 0xa8, 0x69, 0x9e, 0x1d, 0x5f, 0xa8, 0x3a, 0x5a, 0xb0, 0x55, 0x92, + 0xc2, 0xd2, 0x37, 0xaf, 0x4b, 0x29, 0x04, 0xfc, 0x42, 0x66, 0xc7, 0x16, 0x33, 0xeb, 0x12, 0xda, + 0x23, 0xcd, 0xb1, 0x08, 0x8d, 0x82, 0x28, 0x71, 0xd0, 0x3c, 0xa0, 0x6a, 0x39, 0x92, 0x33, 0xc4, + 0xc7, 0xa3, 0x74, 0x24, 0xdd, 0x41, 0x04, 0xf4, 0x2a, 0x9d, 0x1f, 0x4c, 0x48, 0x31, 0xbb, 0xa6, + 0xb0, 0xa4, 0x68, 0x98, 0x98, 0x2b, 0x55, 0x06, 0x63, 0xc1, 0x72, 0x88, 0xfb, 0xd1, 0x1a, 0xf8, + 0xe4, 0x21, 0x04, 0xa3, 0x6d, 0x07, 0x26, 0x02, 0x44, 0xf6, 0x7b, 0xb1, 0xf1, 0x2e, 0x7e, 0x16, + 0x80, 0x34, 0x8b, 0xd7, 0xb9, 0x23, 0x7b, 0x4a, 0xc5, 0xdd, 0x2e, 0x38, 0xff, 0x79, 0xab, 0x73, + 0xc9, 0xb6, 0xb3, 0x2f, 0x4f, 0x81, 0x7c, 0x19, 0x5e, 0xe7, 0x16, 0x57, 0x11, 0xfd, 0x24, 0x14, + 0x4f, 0xda, 0xbf, 0x13, 0xcc, 0x95, 0x26, 0x30, 0x50, 0xcc, 0xe4, 0x8b, 0x8b, 0xda, 0x38, 0x3b, + 0x58, 0x7f, 0x9a, 0x71, 0x03, 0x7e, 0xa0, 0x07, 0xc4, 0x8b, 0x87, 0x26, 0x32, 0xa1, 0x5d, 0x6b, + 0x7c, 0xdd, 0xe7, 0x01, 0x83, 0xe1, 0xd0, 0x3c, 0xdd, 0x60, 0x6a, 0x01, 0xfc, 0x5a, 0x2a, 0x7b, + 0xb7, 0xe6, 0x1a, 0x5d, 0x07, 0x85, 0xb0, 0xc5, 0xad, 0x24, 0x75, 0x5b, 0xd7, 0xa6, 0x04, 0x2b, + 0x13, 0x06, 0xd3, 0xd9, 0x09, 0x6d, 0x73, 0x16, 0xa2, 0x76, 0x64, 0x68, 0xcb, 0xb4, 0xa6, 0x28, + 0x78, 0x44, 0x8f, 0x92, 0x7b, 0x18, 0x18, 0x98, 0x8c, 0xc4, 0xa8, 0x66, 0x6a, 0xee, 0x82, 0xa1, + 0xa6, 0x36, 0x65, 0x4c, 0xb7, 0x47, 0xd8, 0x80, 0x68, 0x8e, 0x42, 0xd4, 0x4a, 0xde, 0x6c, 0xa2, + 0x95, 0xb3, 0x7d, 0x62, 0x74, 0x19, 0x1b, 0xcf, 0xcf, 0x01, 0x06, 0x37, 0x54, 0x56, 0x0d, 0x25, + 0x30, 0xd1, 0xac, 0xec, 0xb3, 0x09, 0x62, 0x22, 0x14, 0xf5, 0x54, 0xcd, 0x0f, 0xf1, 0x34, 0xfd, + 0x33, 0x92, 0x98, 0x77, 0xef, 0x76, 0xa7, 0xda, 0x15, 0xae, 0x8e, 0xe5, 0x6d, 0xf4, 0xda, 0x83, + 0x34, 0x66, 0x4c, 0x91, 0x83, 0x95, 0x4b, 0x26, 0xa4, 0xda, 0xbb, 0xd0, 0x3e, 0x32, 0x5a, 0x41, + 0x81, 0x56, 0x62, 0x72, 0x2d, 0xf4, 0x08, 0xfa, 0x8d, 0x95, 0x3b, 0x87, 0xd2, 0x1b, 0x9a, 0x91, + 0xff, 0x70, 0xd7, 0xfb, 0x26, 0x41, 0xcd, 0xa9, 0x67, 0xb2, 0xa8, 0xa3, 0x84, 0x74, 0x16, 0x0e, + 0x70, 0x45, 0x61, 0xa9, 0xa9, 0x77, 0x38, 0xa6, 0x20, 0xbb, 0xad, 0x9d, 0x4e, 0x09, 0x69, 0x8d, + 0x68, 0x12, 0xe9, 0x16, 0xfa, 0x47, 0xe0, 0x69, 0xdf, 0x0d, 0xc2, 0x11, 0x49, 0x1d, 0xab, 0x2b, + 0x80, 0x2d, 0x58, 0xfe, 0xe6, 0x4a, 0xa4, 0xd5, 0x03, 0x19, 0x90, 0xec, 0xd6, 0x8e, 0xf7, 0xc1, + 0xd6, 0xcc, 0x77, 0xd6, 0x7f, 0xb0, 0x06, 0x03, 0x55, 0x4a, 0xe1, 0xb5, 0x66, 0x09, 0x82, 0xf2, + 0x9a, 0x9f, 0x99, 0x15, 0xe0, 0x16, 0x6b, 0x41, 0xed, 0x04, 0xdd, 0x17, 0x90, 0x50, 0xec, 0x2f, + 0x6b, 0x94, 0xef, 0x04, 0xc4, 0x0c, 0x69, 0x79, 0x88, 0xbd, 0xe7, 0x3a, 0xb8, 0x2d, 0xf0, 0xc8, + 0x12, 0x6f, 0x05, 0x0b, 0x3e, 0xe0, 0x85, 0x06, 0xb1, 0x1a, 0xdc, 0x0d, 0x33, 0xd3, 0xb5, 0x3f, + 0x44, 0xed, 0xdc, 0x3e, 0x56, 0x31, 0x0e, 0x36, 0xfe, 0x47, 0xef, 0x8e, 0x10, 0xae, 0x92, 0x47, + 0x9e, 0xa1, 0x20, 0xb7, 0x58, 0x64, 0x82, 0xfc, 0x94, 0x4d, 0xb8, 0x3c, 0x8d, 0xdd, 0x91, 0x9d, + 0xe4, 0xcf, 0x3e, 0x19, 0xf1, 0xdc, 0x38, 0x68, 0x36, 0xb9, 0x00, 0x8e, 0xd9, 0xac, 0x7c, 0xe6, + 0x42, 0x7c, 0x51, 0x87, 0x56, 0xb9, 0x69, 0x0c, 0xef, 0xbc, 0x25, 0xc4, 0x99, 0x2e, 0x44, 0x9f, + 0x9b, 0xa1, 0x63, 0xe0, 0x3f, 0x8a, 0x71, 0xcd, 0x13, 0xb8, 0xf7, 0xe8, 0x95, 0x9c, 0x39, 0xdc, + 0xb6, 0x9b, 0x12, 0xe4, 0x6a, 0x3d, 0xfd, 0x3c, 0x98, 0x5b, 0x4b, 0xe8, 0x48, 0x67, 0xb7, 0xcc, + 0x68, 0xbf, 0xe7, 0xdd, 0x9a, 0xd1, 0xef, 0xb9, 0xfe, 0x82, 0x91, 0x41, 0xe9, 0x7f, 0x95, 0x1d, + 0x94, 0x03, 0x75, 0x83, 0xcd, 0x25, 0x64, 0xd3, 0x6e, 0x00, 0xa2, 0x96, 0xec, 0xe5, 0x33, 0xf2, + 0x8c, 0x7b, 0x2b, 0x6a, 0xfa, 0x8f, 0xc6, 0x2a, 0x86, 0x45, 0x67, 0x3a, 0x1f, 0xd0, 0x7f, 0xf7, + 0x56, 0x01, 0x5a, 0x24, 0x70, 0xf5, 0xb2, 0xe7, 0x27, 0x70, 0x81, 0x59, 0x0f, 0xa9, 0xf2, 0xa3, + 0x3b, 0x39, 0xf3, 0xab, 0xb4, 0x67, 0xb9, 0x6d, 0x49, 0x06, 0x67, 0xc8, 0x72, 0x10, 0xb2, 0x0f, + 0xaf, 0x6e, 0x61, 0xd2, 0x1d, 0x22, 0xcd, 0xbc, 0xbe, 0x42, 0x72, 0x71, 0xc9, 0x53, 0xea, 0x40, + 0x9a, 0xaf, 0x1d, 0xb6, 0x02, 0x00, 0x98, 0x5a, 0xa0, 0xca, 0xfe, 0x32, 0x24, 0x18, 0x10, 0x29, + 0x80, 0x0e, 0x40, 0xcd, 0xf6, 0xc7, 0x8c, 0x72, 0x4b, 0xe9, 0x82, 0x24, 0x7f, 0x9e, 0xf3, 0x9c, + 0x64, 0xfc, 0xb4, 0x43, 0x35, 0x5d, 0xe0, 0xf6, 0x4c, 0x19, 0x14, 0x12, 0x9f, 0x3a, 0x14, 0xf0, + 0x63, 0x57, 0x94, 0x64, 0x3d, 0x53, 0xad, 0xbd, 0x22, 0x85, 0x7c, 0xc4, 0x57, 0x3b, 0x97, 0x49, + 0xb9, 0x39, 0xa4, 0xba, 0xc1, 0x81, 0x1c, 0x9a, 0xc4, 0x94, 0xf3, 0x1a, 0xc7, 0x3c, 0xd8, 0xda, + 0x94, 0x28, 0x6e, 0xcd, 0x37, 0xa6, 0x64, 0x9d, 0x06, 0x28, 0x6d, 0x2b, 0x05, 0xc5, 0x67, 0xc5, + 0x20, 0x21, 0x38, 0x73, 0x83, 0x99, 0xf3, 0x89, 0x21, 0x3c, 0x33, 0xe6, 0x11, 0x72, 0x93, 0x63, + 0x43, 0x0c, 0x8d, 0xb5, 0x3e, 0xe3, 0xef, 0x99, 0x0a, 0x38, 0x14, 0x8a, 0x6f, 0x88, 0x6e, 0xb5, + 0x1b, 0x01, 0x82, 0x2a, 0x6c, 0x1d, 0x73, 0x7c, 0x0a, 0x3d, 0x66, 0xeb, 0xdb, 0xd0, 0xc5, 0x6e, + 0x8f, 0x43, 0x19, 0x43, 0x09, 0x96, 0x15, 0x71, 0xfe, 0xef, 0xee, 0x7a, 0x10, 0x0b, 0xf6, 0x2f, + 0xf0, 0xf8, 0xa5, 0xac, 0x90, 0x93, 0xb8, 0x6e, 0xcf, 0x4f, 0x50, 0xb1, 0xdf, 0xca, 0xdb, 0x3f, + 0x3a, 0x03, 0x7f, 0xf7, 0x6e, 0x6f, 0x81, 0x08, 0x19, 0x70, 0xa8, 0x00, 0xee, 0x52, 0xa4, 0x7b, + 0x4b, 0x70, 0x7b, 0x71, 0x49, 0x45, 0x51, 0x44, 0xe9, 0xd2, 0x49, 0x2a, 0x36, 0xec, 0xc6, 0x20, + 0x64, 0xcb, 0x1d, 0x3e, 0x6e, 0x33, 0xb1, 0xb8, 0x8f, 0x92, 0x6f, 0x4d, 0x27, 0xff, 0xcf, 0x3e, + 0x8e, 0xc6, 0xa0, 0x80, 0x78, 0x6f, 0x76, 0x94, 0x22, 0xe7, 0x53, 0xc0, 0x19, 0xc3, 0xca, 0x2a, + 0xa5, 0x06, 0xf1, 0xb1, 0xff, 0xa9, 0x0d, 0x70, 0xcf, 0xb2, 0x18, 0x21, 0x15, 0x19, 0xc8, 0x6b, + 0x10, 0x52, 0x36, 0x4d, 0x91, 0x1a, 0x8e, 0xfc, 0xe5, 0x49, 0x48, 0x33, 0x8b, 0xae, 0x8a, 0x86, + 0x4b, 0x0b, 0xb5, 0x4b, 0x58, 0x18, 0x51, 0x61, 0xb8, 0x92, 0xd7, 0x11, 0x9d, 0xcc, 0xd4, 0x35, + 0x84, 0x42, 0x84, 0xd0, 0xaa, 0x08, 0xe9, 0xa1, 0x10, 0xd5, 0x3d, 0xa5, 0xf3, 0xf9, 0xe8, 0x74, + 0x1c, 0xd1, 0x78, 0x8b, 0x8a, 0x9d, 0xb7, 0x81, 0xc7, 0x2f, 0x1a, 0xb2, 0x71, 0xad, 0xb9, 0xa7, + 0xa4, 0x69, 0x1d, 0x24, 0x01, 0xc1, 0x04, 0xcd, 0xb1, 0x78, 0x67, 0x6d, 0xc5, 0xce, 0xa0, 0x1c, + 0x2e, 0x35, 0x4f, 0x08, 0x54, 0x82, 0xb3, 0x51, 0x8a, 0x4e, 0xdd, 0x7c, 0x4e, 0xbd, 0x54, 0x08, + 0x40, 0x00, 0x8e, 0x57, 0xcd, 0xf4, 0xe2, 0x5b, 0xdc, 0xfd, 0x2d, 0xc2, 0x85, 0x27, 0xa9, 0x6d, + 0x29, 0xc9, 0x56, 0x15, 0x76, 0x68, 0x51, 0x1a, 0x8d, 0x30, 0xe3, 0x36, 0x7c, 0xae, 0x08, 0xe5, + 0x70, 0xd3, 0xd9, 0xbd, 0xef, 0xf9, 0x18, 0x39, 0x25, 0x00, 0x4f, 0xad, 0xfa, 0x54, 0xf4, 0x87, + 0xfa, 0x09, 0x81, 0x8c, 0x9c, 0x6a, 0xdf, 0xae, 0xd8, 0xcc, 0xd8, 0x9b, 0x0e, 0xab, 0x79, 0x46, + 0xb5, 0x72, 0x86, 0x47, 0xdd, 0x9a, 0xb3, 0x37, 0xc9, 0x0a, 0x62, 0xa9, 0x63, 0x38, 0x37, 0x94, + 0xc1, 0x21, 0x3e, 0x5d, 0x1d, 0xfa, 0x2b, 0x34, 0x44, 0x0b, 0xb0, 0xb3, 0x5f, 0x47, 0xb6, 0x00, + 0xe8, 0xa3, 0xa7, 0x07, 0x09, 0x00, 0xa9, 0x1e, 0x8b, 0x0d, 0xd7, 0x22, 0xdd, 0x8f, 0x9c, 0x62, + 0x63, 0x21, 0x3a, 0xdf, 0x98, 0x1a, 0x2e, 0xd7, 0x55, 0xe3, 0x9b, 0xe0, 0x8b, 0x9e, 0xd7, 0xc4, + 0xf6, 0xf4, 0x16, 0xc0, 0x40, 0xe2, 0xfe, 0x16, 0x6a, 0x21, 0x9c, 0x36, 0x33, 0x9d, 0x79, 0x75, + 0xd0, 0xd2, 0xc2, 0x60, 0xab, 0x5d, 0x01, 0x2d, 0x9b, 0x9b, 0xea, 0x0b, 0x11, 0x84, 0xe2, 0xc5, + 0x47, 0xbf, 0x12, 0x3a, 0x86, 0xc4, 0x6e, 0x4b, 0x22, 0xf1, 0x96, 0x6e, 0x5e, 0x39, 0x51, 0xf7, + 0x4c, 0x5b, 0x49, 0x7d, 0x1d, 0xc1, 0x29, 0x9f, 0xd5, 0x99, 0xd7, 0x14, 0x8c, 0xb3, 0x00, 0xdf, + 0xbd, 0x66, 0xe8, 0x53, 0xce, 0x6e, 0xdd, 0x0a, 0x6d, 0x04, 0x6f, 0xef, 0x5c, 0xb8, 0xc8, 0x56, + 0xe3, 0x9d, 0x2e, 0x72, 0x91, 0xbb, 0x73, 0x30, 0x01, 0xf3, 0x74, 0x68, 0x0d, 0x6b, 0x4f, 0x66, + 0x42, 0xdc, 0xcf, 0x3b, 0xe5, 0x95, 0xe4, 0x65, 0xe3, 0xeb, 0xdd, 0xb5, 0xf6, 0xd0, 0x35, 0xd3, + 0x81, 0x3b, 0x4a, 0x2f, 0x71, 0x44, 0x1f, 0x3f, 0x8b, 0x3e, 0x03, 0x50, 0x9f, 0xb1, 0xaf, 0x00, + 0x18, 0x15, 0x34, 0x56, 0xcf, 0xd9, 0x69, 0x55, 0xc7, 0xbe, 0x9e, 0x25, 0x68, 0xb9, 0xcb, 0x1e, + 0x0d, 0x80, 0x36, 0xd4, 0xe0, 0x8c, 0xcb, 0xd2, 0x12, 0xcc, 0x63, 0x1a, 0x22, 0xdc, 0xee, 0x32, + 0xe6, 0xc4, 0xf4, 0xfb, 0x1c, 0x1c, 0x90, 0xb5, 0xae, 0xdd, 0x0e, 0x16, 0x2b, 0x6c, 0x8e, 0x83, + 0x2e, 0xfe, 0x7d, 0x99, 0x40, 0x7b, 0x1b, 0x31, 0xce, 0xad, 0x67, 0xa4, 0xe0, 0x31, 0xc2, 0xdc, + 0xd5, 0x11, 0x0d, 0xe3, 0xb2, 0x30, 0xe0, 0x21, 0x47, 0x56, 0x0e, 0x9c, 0x48, 0x4c, 0x0d, 0x82, + 0xda, 0x02, 0xa5, 0x94, 0xc5, 0x39, 0x21, 0xe1, 0x2c, 0x35, 0x0f, 0x9e, 0xaf, 0x19, 0x75, 0xa5, + 0x7e, 0x2d, 0xa9, 0xf6, 0xf3, 0xbf, 0x37, 0x3e, 0x1a, 0xfa, 0x0b, 0xf4, 0xa8, 0xcc, 0x89, 0x10, + 0x05, 0xd7, 0xd6, 0x92, 0x89, 0xd0, 0x34, 0x9a, 0x45, 0x82, 0x84, 0xd0, 0xe2, 0x7b, 0x70, 0x8a, + 0xb8, 0xc4, 0x81, 0x37, 0x83, 0xc7, 0x11, 0xb6, 0xa0, 0x0d, 0xb8, 0x6a, 0xe1, 0x27, 0xcb, 0x48, + 0x12, 0x61, 0x91, 0xe5, 0xc2, 0x37, 0x37, 0x1a, 0x71, 0x7e, 0xb4, 0x28, 0xea, 0x2c, 0xab, 0x8b, + 0xac, 0x56, 0xc8, 0x14, 0xd5, 0x0f, 0x65, 0x80, 0xc8, 0xf3, 0x7b, 0x94, 0xd5, 0x5b, 0x41, 0xd3, + 0x58, 0xaf, 0x26, 0x52, 0x3e, 0x86, 0xf2, 0x32, 0x36, 0x02, 0xd4, 0xae, 0x13, 0x99, 0xb5, 0xcc, + 0x29, 0xfb, 0x36, 0x63, 0x9b, 0xb6, 0x2e, 0x5a, 0xee, 0xb5, 0xd3, 0x4d, 0xaa, 0xdc, 0x8b, 0x6a, + 0x3c, 0x19, 0x4a, 0x76, 0x57, 0x61, 0xc5, 0x56, 0xb8, 0xe7, 0x25, 0x07, 0x99, 0xb1, 0xc7, 0x6d, + 0x0d, 0x7a, 0xac, 0x1b, 0x73, 0xbe, 0x02, 0x93, 0xe2, 0xd7, 0x19, 0x2b, 0x3d, 0x81, 0x6a, 0x41, + 0x37, 0xb5, 0xd6, 0x55, 0xac, 0x7e, 0xcf, 0xf1, 0x5a, 0x67, 0xc5, 0xfa, 0x34, 0x10, 0x0c, 0x2c, + 0x73, 0x91, 0x26, 0xb4, 0xc4, 0xaf, 0x21, 0xb0, 0x87, 0x4f, 0xf5, 0x83, 0x38, 0xb5, 0x3d, 0x05, + 0x3a, 0xea, 0xb4, 0x6f, 0x8e, 0x10, 0x82, 0x08, 0xb0, 0x6b, 0xe6, 0x1d, 0xd3, 0xe4, 0xb3, 0x8f, + 0x8d, 0x32, 0x64, 0x7d, 0xa8, 0x5d, 0x23, 0x2d, 0x53, 0x2a, 0x9f, 0x43, 0xae, 0xca, 0x7b, 0xfe, + 0x88, 0xdf, 0xe0, 0x92, 0x44, 0x78, 0x27, 0xca, 0xc7, 0x9e, 0xff, 0x25, 0x86, 0x99, 0x5d, 0x59, + 0x01, 0xb8, 0x20, 0x79, 0x2b, 0xc2, 0xd3, 0x5b, 0x9e, 0x92, 0x6f, 0x07, 0x1d, 0xdf, 0xda, 0x4a, + 0x1f, 0x97, 0x0b, 0xb1, 0xab, 0x6b, 0x00, 0x30, 0x62, 0xcc, 0xfd, 0x7e, 0x10, 0x3f, 0x18, 0x95, + 0x58, 0xf1, 0xef, 0x54, 0x23, 0x5e, 0x64, 0x09, 0x51, 0x20, 0x77, 0x10, 0x52, 0x58, 0x67, 0xe7, + 0x6e, 0xf3, 0xc5, 0x3e, 0x13, 0xbf, 0xad, 0x89, 0xe1, 0xad, 0xd2, 0x85, 0xb3, 0x44, 0x37, 0xa2, + 0xad, 0x00, 0xbe, 0x3a, 0x01, 0x4f, 0x4f, 0x05, 0xfc, 0xc9, 0xca, 0x92, 0x1c, 0xcb, 0x14, 0xc0, + 0xe3, 0x48, 0x11, 0x79, 0x79, 0x56, 0x53, 0x9b, 0xea, 0x7f, 0xa6, 0xc3, 0x21, 0x74, 0x44, 0x87, + 0x22, 0x88, 0x2e, 0xe7, 0x53, 0x22, 0x74, 0x59, 0x22, 0x0a, 0x36, 0xf3, 0xb6, 0x9a, 0xc7, 0x20, + 0x6e, 0x29, 0x32, 0x4d, 0x2b, 0x39, 0x4d, 0xa9, 0x06, 0xa5, 0xb9, 0x95, 0x4b, 0xf8, 0xce, 0x87, + 0x42, 0xef, 0x55, 0x04, 0x0d, 0x92, 0x07, 0xe0, 0xbd, 0xb6, 0x16, 0x2a, 0x4d, 0xbf, 0x8b, 0x41, + 0x70, 0xd1, 0xcf, 0x40, 0x25, 0x45, 0xdd, 0xe8, 0xc2, 0x4a, 0x4b, 0xc1, 0x67, 0x9c, 0x27, 0x1e, + 0x6b, 0xea, 0x4e, 0x7e, 0x73, 0xbb, 0x98, 0x21, 0xe4, 0x39, 0xbb, 0x71, 0x95, 0x3a, 0x44, 0xa8, + 0x49, 0x70, 0xd2, 0xb2, 0xad, 0xbb, 0x9d, 0x37, 0x4f, 0xbe, 0x8a, 0xfc, 0xcd, 0x87, 0x10, 0x24, + 0x7a, 0x43, 0x02, 0x74, 0x50, 0x87, 0x48, 0x9c, 0xc0, 0x55, 0x4c, 0x61, 0x8d, 0x1c, 0x8b, 0x5f, + 0x39, 0x8c, 0x39, 0x81, 0xdd, 0x4f, 0x83, 0x79, 0xce, 0x81, 0x7b, 0x63, 0x3f, 0x1e, 0x7f, 0xf6, + 0xba, 0x7b, 0x57, 0x37, 0x2a, 0x71, 0x0b, 0x1a, 0x55, 0x78, 0xe6, 0xfd, 0x7e, 0x58, 0xfd, 0x6c, + 0x28, 0xf8, 0xbc, 0x05, 0x81, 0xe5, 0x23, 0x38, 0xae, 0xb1, 0x2e, 0xb4, 0x5a, 0xc9, 0xfc, 0xe5, + 0x70, 0x85, 0x54, 0x25, 0x68, 0x2f, 0xe1, 0xe1, 0x7e, 0x36, 0x41, 0x96, 0xa2, 0xc4, 0xc1, 0x6b, + 0xaf, 0xf0, 0x24, 0x11, 0xd5, 0xde, 0x61, 0x85, 0x5d, 0x1c, 0xb9, 0xbc, 0xd5, 0x07, 0x90, 0x2d, + 0xa6, 0x16, 0x85, 0xee, 0x01, 0x21, 0x20, 0x20, 0xc9, 0x0c, 0x3d, 0xbc, 0xd5, 0x16, 0x70, 0x1d, + 0x89, 0x22, 0x15, 0x8a, 0x6a, 0x08, 0xbb, 0xba, 0xdd, 0x1d, 0x2f, 0x51, 0xd1, 0x3a, 0xa2, 0x33, + 0x17, 0xce, 0xa6, 0x8f, 0xf9, 0xf3, 0x16, 0x69, 0x80, 0xf6, 0x95, 0xc5, 0x74, 0xbe, 0x8b, 0xdb, + 0x75, 0xcf, 0xbc, 0x1c, 0xd1, 0xc9, 0x2a, 0xee, 0xeb, 0x66, 0xba, 0x48, 0x1b, 0x7d, 0xb6, 0x07, + 0x91, 0x1e, 0x6a, 0x24, 0x76, 0x2a, 0xbd, 0xfb, 0xcb, 0xf1, 0xda, 0x12, 0x05, 0x9c, 0xc2, 0xca, + 0xa9, 0x54, 0xb4, 0x90, 0x5b, 0x29, 0xb5, 0x3b, 0xf0, 0x78, 0x0e, 0xb6, 0xe5, 0x8f, 0x22, 0xdf, + 0xf8, 0xd2, 0x41, 0x9c, 0xc6, 0xeb, 0x5e, 0x8e, 0x8d, 0x2b, 0x97, 0x36, 0x4f, 0x59, 0x17, 0x63, + 0x21, 0x5c, 0x11, 0x30, 0x87, 0x34, 0x66, 0x88, 0x44, 0x2a, 0x14, 0x76, 0xaa, 0x4f, 0x92, 0x65, + 0xa8, 0x45, 0xcb, 0xff, 0xfc, 0xe4, 0x2a, 0xaa, 0x8f, 0xa1, 0xd5, 0x28, 0x85, 0x97, 0x6b, 0xde, + 0x9c, 0x45, 0x49, 0xd7, 0xc9, 0x7a, 0x95, 0x2c, 0xe8, 0x0d, 0x4b, 0x75, 0xcc, 0xae, 0xe8, 0xfc, + 0x98, 0xb8, 0x6b, 0x97, 0x78, 0x6e, 0xd6, 0x02, 0x7a, 0xb5, 0x3d, 0x0d, 0x23, 0x40, 0x74, 0x9e, + 0xcb, 0x58, 0x3b, 0x81, 0x03, 0x2f, 0x9a, 0xe8, 0x5d, 0x7e, 0x2e, 0x3c, 0x5c, 0x4b, 0xca, 0xe2, + 0xf4, 0xed, 0x3e, 0x44, 0xc9, 0xbe, 0xb8, 0x26, 0xb2, 0x2e, 0x31, 0x94, 0x3d, 0xa8, 0x7c, 0x8b, + 0xd2, 0xa6, 0x0d, 0xd8, 0x56, 0x1d, 0xd8, 0xa4, 0x83, 0x55, 0xf0, 0x0b, 0x09, 0xcd, 0x57, 0xa6, + 0x72, 0x12, 0x09, 0x1e, 0xb8, 0xea, 0x32, 0xee, 0x69, 0xb5, 0xfa, 0xf6, 0x68, 0x7a, 0xe7, 0x0b, + 0x4a, 0x22, 0x0b, 0xf6, 0xd2, 0x7b, 0x21, 0xed, 0x5d, 0x19, 0x23, 0x83, 0x9c, 0x95, 0x01, 0x87, + 0x49, 0x82, 0xca, 0x63, 0x6e, 0x67, 0xd0, 0x1e, 0x06, 0x93, 0x98, 0x86, 0xef, 0xd4, 0xfa, 0x05, + 0xe2, 0x0c, 0x41, 0x5d, 0x6c, 0x9b, 0x97, 0x84, 0xb4, 0xbb, 0x2c, 0xf5, 0xa0, 0x96, 0x11, 0x86, + 0xec, 0xba, 0x87, 0x45, 0x52, 0xf1, 0x5b, 0xc9, 0x25, 0x44, 0xa1, 0x30, 0xd9, 0x71, 0xa2, 0x82, + 0x5e, 0x1f, 0xae, 0x4b, 0x7f, 0x8c, 0xa3, 0x6f, 0x58, 0x5d, 0x26, 0xab, 0xf1, 0x9b, 0xf3, 0x1b, + 0x4c, 0x12, 0x03, 0xa6, 0x7a, 0x03, 0x4d, 0x20, 0x97, 0x02, 0x1f, 0xf1, 0xfb, 0xc0, 0x26, 0x07, + 0xf4, 0xf4, 0x94, 0xe8, 0xb3, 0x9c, 0x4e, 0xe1, 0x3d, 0xd5, 0xdc, 0xf7, 0xa2, 0xd5, 0xeb, 0x20, + 0xa1, 0x02, 0x6a, 0xba, 0xe1, 0x57, 0x95, 0x1c, 0x6e, 0x6a, 0x08, 0x47, 0xa5, 0x5e, 0x9e, 0x23, + 0xd6, 0xaf, 0xd1, 0xf2, 0xbb, 0x5c, 0x02, 0x60, 0xb7, 0xc6, 0xef, 0xa4, 0xc2, 0x47, 0x8d, 0xcf, + 0x4a, 0xc3, 0x28, 0xb5, 0x22, 0x49, 0xe3, 0x0a, 0x7b, 0xb9, 0x93, 0xc1, 0x7c, 0x34, 0x2f, 0x89, + 0x1c, 0x10, 0x41, 0x21, 0x7a, 0xe8, 0x48, 0x3e, 0x2c, 0xf8, 0x28, 0xd6, 0x41, 0xf2, 0xaa, 0xa4, + 0x36, 0x39, 0x07, 0x02, 0xb1, 0x7b, 0xaf, 0xa3, 0x5b, 0xaa, 0x9e, 0xf9, 0x7f, 0xb4, 0xec, 0x90, + 0xf9, 0x4d, 0xec, 0x22, 0xb7, 0x92, 0xb7, 0xe8, 0x9a, 0xb4, 0x8c, 0xb4, 0x70, 0x68, 0xa3, 0x29, + 0x37, 0x9d, 0x55, 0xa0, 0x97, 0x0f, 0x99, 0xf1, 0x3c, 0xdb, 0x63, 0xb7, 0x81, 0x3e, 0xbc, 0x9e, + 0xbf, 0xf0, 0x1d, 0x4d, 0x44, 0xe9, 0x00, 0x4b, 0x92, 0xe7, 0xa5, 0x34, 0x67, 0x5f, 0xb4, 0x39, + 0x14, 0x3b, 0x89, 0x4a, 0xa2, 0x5e, 0xa5, 0xbc, 0xb1, 0xeb, 0xda, 0x44, 0xb0, 0x07, 0x37, 0x57, + 0x75, 0x1d, 0x5c, 0xeb, 0xff, 0x2b, 0xa0, 0x9f, 0x4e, 0x61, 0x24, 0x24, 0x7e, 0x0d, 0x92, 0xe2, + 0x41, 0x7c, 0xf4, 0x58, 0xec, 0x8f, 0xd7, 0x68, 0x80, 0x3f, 0xdf, 0x19, 0x81, 0x75, 0x39, 0xec, + 0x3d, 0xf7, 0x8f, 0xbb, 0x52, 0x6d, 0xdd, 0xfb, 0x0f, 0xbb, 0x48, 0xda, 0x85, 0xe4, 0x9d, 0x6a, + 0x6e, 0xa9, 0x0f, 0x4e, 0xca, 0xb3, 0x78, 0x0a, 0x74, 0x88, 0xcb, 0x26, 0xb3, 0xe9, 0xfe, 0x72, + 0x79, 0xa5, 0x26, 0xfb, 0x27, 0x82, 0xa2, 0x8f, 0x5a, 0x67, 0x0c, 0x5a, 0x2a, 0x33, 0x89, 0x7b, + 0x54, 0x33, 0xc2, 0xc5, 0x91, 0xb8, 0x2e, 0xe7, 0xde, 0xef, 0xb1, 0x91, 0x55, 0x7d, 0x72, 0x25, + 0xc0, 0x81, 0xa0, 0x5a, 0x32, 0xfb, 0x31, 0x09, 0xb1, 0x52, 0x56, 0xef, 0x2a, 0x70, 0x4f, 0x50, + 0xcd, 0x61, 0xaa, 0x35, 0xd3, 0xb9, 0x39, 0x21, 0xea, 0x8b, 0xef, 0xc0, 0xf9, 0xa4, 0x49, 0x2c, + 0x50, 0xd7, 0x9e, 0x2d, 0x76, 0x53, 0x32, 0x3e, 0xe2, 0x8f, 0xc7, 0xc6, 0x56, 0x41, 0xeb, 0x66, + 0xdd, 0x00, 0x79, 0x27, 0x9a, 0xf7, 0x94, 0x43, 0x05, 0xf9, 0xd4, 0x5d, 0x97, 0x94, 0xb0, 0x6f, + 0xee, 0x2e, 0xfe, 0x84, 0x1c, 0x87, 0x90, 0xde, 0xe5, 0x40, 0x64, 0x0d, 0x3c, 0x2e, 0x63, 0x8a, + 0xe8, 0x20, 0xd1, 0x61, 0x5a, 0xaa, 0x85, 0x20, 0x3d, 0xb6, 0x7d, 0xde, 0xdc, 0x28, 0x72, 0x87, + 0x23, 0x4e, 0x64, 0x15, 0x85, 0xd1, 0x41, 0xfb, 0xb7, 0x5a, 0xc3, 0x66, 0x57, 0x21, 0x46, 0x53, + 0x03, 0xc8, 0x34, 0x7b, 0xef, 0xdd, 0xd8, 0x7b, 0xd1, 0xd1, 0xe9, 0xe0, 0xcf, 0x97, 0xb7, 0x67, + 0x27, 0x41, 0x7a, 0x4b, 0x22, 0x68, 0x6b, 0xdd, 0x32, 0x90, 0xe9, 0xb4, 0x22, 0xb2, 0xed, 0xab, + 0xb2, 0x56, 0xd4, 0xfc, 0xb8, 0xa5, 0xa1, 0xfd, 0xad, 0x7b, 0x80, 0xf6, 0xf0, 0xd8, 0x21, 0xec, + 0x4a, 0xf9, 0xd9, 0x0a, 0x50, 0xe8, 0xeb, 0x70, 0x4b, 0xb0, 0x69, 0xf0, 0x5a, 0xce, 0x2c, 0x2a, + 0x6d, 0x5d, 0x0b, 0x7e, 0xa0, 0x59, 0x17, 0x3c, 0x62, 0x35, 0x76, 0xf4, 0xc7, 0x5c, 0xff, 0x61, + 0x5b, 0xf1, 0xfb, 0xb2, 0x3f, 0x15, 0xf5, 0x94, 0x4b, 0x68, 0xdf, 0x08, 0xf5, 0xfb, 0xb5, 0xe5, + 0x1c, 0x07, 0xc3, 0xdb, 0x23, 0xaa, 0x9d, 0xfa, 0x7e, 0xb0, 0x75, 0x30, 0xd8, 0x06, 0x0e, 0x4a, + 0xb3, 0xb1, 0xdf, 0x04, 0xf3, 0xa3, 0xaf, 0xd1, 0x90, 0xe4, 0x76, 0x8d, 0x4a, 0xb8, 0x1c, 0xd7, + 0x28, 0xd2, 0xef, 0x6b, 0x2e, 0xfe, 0x90, 0x11, 0xde, 0x8d, 0xd7, 0x9a, 0x70, 0x0c, 0x07, 0x69, + 0x4a, 0xa7, 0x16, 0x37, 0x41, 0x9d, 0x87, 0xff, 0x60, 0xa8, 0x71, 0x2c, 0xdc, 0x4d, 0x81, 0x33, + 0x20, 0x05, 0xd0, 0xa1, 0x6d, 0x65, 0xbb, 0xcf, 0xb8, 0xe3, 0x6a, 0x8f, 0x62, 0xc8, 0x4d, 0x55, + 0x28, 0x98, 0x6c, 0x07, 0xb5, 0xf0, 0x74, 0xb6, 0x84, 0x80, 0x66, 0xad, 0xc3, 0x17, 0xe8, 0xce, + 0xa6, 0xca, 0x20, 0xcc, 0xd2, 0xe2, 0xbe, 0x42, 0x36, 0xf4, 0xf8, 0xda, 0xad, 0x80, 0x09, 0x54, + 0xf8, 0x84, 0x75, 0xf0, 0x2d, 0x04, 0x6b, 0x7e, 0x3d, 0x81, 0x0e, 0x7f, 0xa5, 0x44, 0x97, 0x5d, + 0x53, 0xde, 0x9e, 0xc9, 0x3b, 0xc9, 0x48, 0x0d, 0x8b, 0xb1, 0x32, 0xa3, 0x48, 0x7e, 0xe0, 0x7c, + 0x09, 0xf6, 0x5e, 0xd9, 0x8a, 0x0d, 0xcb, 0xc2, 0xba, 0xba, 0xf5, 0x5c, 0x12, 0xdc, 0xa6, 0xfd, + 0x57, 0xeb, 0x15, 0x79, 0xbc, 0x2a, 0x91, 0xd6, 0xa1, 0x9f, 0x3a, 0x61, 0xdf, 0x63, 0x7b, 0x20, + 0xbb, 0x9c, 0xa7, 0xcf, 0x82, 0x08, 0x8f, 0x85, 0x34, 0xa6, 0xeb, 0x25, 0x80, 0xb7, 0xad, 0x42, + 0x11, 0x4c, 0xb6, 0xc4, 0xf8, 0xf1, 0xf5, 0x54, 0x8e, 0x71, 0x99, 0x64, 0xa3, 0x9f, 0xd0, 0xc6, + 0xbd, 0x5a, 0x65, 0x07, 0x2a, 0x6e, 0x06, 0xd8, 0xd3, 0xe6, 0x0b, 0xad, 0xe0, 0xee, 0x3b, 0x63, + 0xae, 0x57, 0xae, 0x11, 0xd1, 0x92, 0xaf, 0x64, 0x4a, 0x9d, 0xf9, 0xd3, 0x22, 0x81, 0xc2, 0xef, + 0x67, 0x03, 0x9c, 0x61, 0x44, 0x5d, 0x3a, 0x93, 0xb6, 0xf6, 0x3b, 0x01, 0xfb, 0x44, 0x16, 0x66, + 0xa8, 0xb2, 0xf2, 0x64, 0x32, 0x01, 0xdb, 0xe7, 0xde, 0xb0, 0x8b, 0xc4, 0xca, 0xb5, 0xad, 0x0a, + 0x29, 0x8f, 0xed, 0x06, 0xcc, 0x96, 0x7e, 0x98, 0x2a, 0x4f, 0x5e, 0x17, 0x20, 0x87, 0x00, 0x36, + 0x2a, 0x21, 0xfd, 0x75, 0x78, 0xaa, 0xf0, 0xcb, 0x44, 0x96, 0xf8, 0x53, 0xbc, 0x4b, 0x18, 0x67, + 0x64, 0x4d, 0x49, 0xa0, 0x79, 0x59, 0x4a, 0x1d, 0x45, 0x68, 0x2c, 0x45, 0x73, 0xdd, 0x05, 0x83, + 0x34, 0xbd, 0x36, 0xb4, 0xeb, 0x38, 0xdb, 0x4b, 0xc7, 0x2d, 0x7a, 0x6b, 0xde, 0x4b, 0xc1, 0xf7, + 0x31, 0x39, 0xde, 0x13, 0x5d, 0xe0, 0x40, 0x51, 0xa5, 0xb5, 0x76, 0x15, 0x78, 0x99, 0x87, 0xe0, + 0x0d, 0xda, 0x43, 0x69, 0xdd, 0x20, 0xdb, 0x8f, 0x9e, 0xf1, 0xea, 0xeb, 0xa9, 0x35, 0x87, 0x87, + 0x03, 0xfe, 0x25, 0x9a, 0x44, 0xfa, 0xdc, 0x38, 0x1c, 0xfb, 0x36, 0xdf, 0xdd, 0x17, 0x9d, 0x69, + 0xaf, 0x4d, 0xd5, 0x40, 0xcd, 0x3d, 0x9c, 0x7f, 0xa6, 0x12, 0xdd, 0x7a, 0x8f, 0x85, 0x48, 0x96, + 0x59, 0x4e, 0x90, 0x91, 0xda, 0xdc, 0x98, 0x03, 0x1d, 0xb0, 0xbb, 0x11, 0xd3, 0xa2, 0xc6, 0xbe, + 0xec, 0x0e, 0xc8, 0x8b, 0xcd, 0x59, 0xde, 0x0a, 0x0b, 0x67, 0x5e, 0xa7, 0x5c, 0x7b, 0x15, 0xa1, + 0x7d, 0x40, 0x3b, 0x33, 0x11, 0xd9, 0xa9, 0x53, 0x61, 0x80, 0x0e, 0xd6, 0xa4, 0x65, 0xdb, 0x2b, + 0xbb, 0x8f, 0x3c, 0xb9, 0x4b, 0x6d, 0x57, 0xbf, 0x7f, 0x5e, 0x97, 0x96, 0xc5, 0xf1, 0xde, 0x21, + 0x16, 0x9f, 0x5c, 0x75, 0xd7, 0x0e, 0x4f, 0x0c, 0x57, 0xae, 0x24, 0xfd, 0x04, 0x3b, 0xbe, 0xe6, + 0x37, 0x44, 0x71, 0xef, 0x76, 0xcc, 0xc9, 0x6e, 0x6e, 0x05, 0xf9, 0xe4, 0x2f, 0xdf, 0x40, 0xb2, + 0x04, 0x05, 0x14, 0xcb, 0x6e, 0x30, 0xf3, 0x59, 0xa3, 0x0a, 0x71, 0x04, 0x7c, 0x4b, 0x95, 0x2b, + 0x59, 0xa0, 0x46, 0xb3, 0x1a, 0xb1, 0x2f, 0x3d, 0xe2, 0xb2, 0xc6, 0x79, 0xbd, 0xe3, 0x96, 0xa7, + 0x23, 0x48, 0x1b, 0x71, 0x8a, 0xbf, 0x1f, 0xcf, 0x93, 0x71, 0x6a, 0xdd, 0x9a, 0xbe, 0xcf, 0xe8, + 0xf4, 0xeb, 0x84, 0x56, 0xe9, 0x49, 0x90, 0xfa, 0x62, 0x39, 0xe3, 0xe7, 0x47, 0xfe, 0xeb, 0xcd, + 0xbe, 0x04, 0x79, 0x69, 0x35, 0x94, 0xc3, 0x7f, 0x33, 0x2c, 0x26, 0x54, 0x90, 0x82, 0x29, 0x51, + 0x11, 0x40, 0xe0, 0x37, 0xb7, 0x84, 0x17, 0x5c, 0xbe, 0x86, 0xed, 0x05, 0xb7, 0x20, 0x80, 0x85, + 0x4d, 0x2f, 0x31, 0xf8, 0x21, 0xd7, 0xee, 0xbe, 0x0c, 0x50, 0x60, 0xfc, 0x19, 0xfa, 0x2a, 0x12, + 0xaf, 0x3e, 0x58, 0xeb, 0x3b, 0xd3, 0xa2, 0xda, 0xe0, 0x36, 0x1f, 0xe5, 0x31, 0x5b, 0x00, 0x54, + 0xa9, 0xbe, 0x53, 0x1d, 0x6e, 0x26, 0xe5, 0xfc, 0x3c, 0x5b, 0x1b, 0x35, 0x15, 0x87, 0xe4, 0x4b, + 0x4a, 0x06, 0xb2, 0x6a, 0x73, 0x9f, 0x54, 0xba, 0x56, 0xdb, 0x72, 0x09, 0x98, 0x6c, 0xc9, 0xbf, + 0x2d, 0x15, 0xc6, 0x1f, 0xd0, 0xf2, 0xe3, 0x62, 0xb5, 0x11, 0x0c, 0x1c, 0xef, 0xf2, 0x94, 0x90, + 0x28, 0xeb, 0xd2, 0x47, 0xda, 0xe5, 0xa0, 0xc2, 0x06, 0x18, 0xe0, 0x65, 0xda, 0x3f, 0x54, 0xfd, + 0xe1, 0xcd, 0xc4, 0x26, 0xf0, 0x13, 0x17, 0x74, 0x55, 0x60, 0x6b, 0xba, 0x9b, 0x69, 0x7d, 0xdd, + 0xaf, 0x19, 0x90, 0x0d, 0x21, 0xf2, 0x14, 0x03, 0xe5, 0xec, 0x94, 0x11, 0xa4, 0x01, 0xb0, 0x67, + 0xe0, 0x16, 0x14, 0xa8, 0x71, 0xa6, 0x5e, 0x51, 0xd6, 0xf2, 0x11, 0xb8, 0x9f, 0xd8, 0x5f, 0xa8, + 0xb9, 0xaa, 0xd5, 0x7e, 0x18, 0xb7, 0x66, 0xc9, 0x1f, 0x55, 0xe6, 0x20, 0x05, 0x95, 0x0a, 0x6f, + 0xd2, 0x79, 0x19, 0x6d, 0x74, 0x25, 0xe6, 0x2a, 0x29, 0x0b, 0x41, 0x1d, 0x78, 0xc3, 0xb3, 0xb5, + 0x58, 0x03, 0x96, 0xb6, 0x00, 0x94, 0x92, 0xce, 0x6c, 0x03, 0x61, 0xe5, 0x2c, 0x2e, 0x75, 0xb2, + 0x29, 0x25, 0x8a, 0x11, 0xd5, 0x80, 0x69, 0x2c, 0x4c, 0x77, 0x87, 0xa5, 0x97, 0xd1, 0x52, 0x63, + 0x12, 0xba, 0x21, 0xdf, 0xc6, 0xaa, 0x47, 0x08, 0x6d, 0x25, 0xa4, 0x47, 0xa4, 0x2e, 0x2c, 0x83, + 0x83, 0xe8, 0x43, 0xc7, 0x06, 0x22, 0x49, 0xd0, 0x3d, 0xca, 0x09, 0xff, 0x43, 0x13, 0xe6, 0xee, + 0x9b, 0xec, 0x9b, 0xb4, 0x5d, 0x1d, 0x14, 0x1f, 0x57, 0x98, 0xcd, 0x13, 0xdb, 0x68, 0xc2, 0x60, + 0x70, 0xb4, 0x16, 0x8d, 0x13, 0xdb, 0x6b, 0xfb, 0x6a, 0x75, 0x48, 0x59, 0x45, 0x9e, 0xc2, 0x12, + 0x54, 0xd1, 0x8c, 0xcd, 0x41, 0x2c, 0x75, 0x58, 0xfb, 0xa4, 0x11, 0xbf, 0x90, 0x73, 0x82, 0x15, + 0xb0, 0x1d, 0xc2, 0x95, 0x55, 0x51, 0xd1, 0xc7, 0x93, 0x9a, 0xf2, 0xea, 0xdc, 0x34, 0x73, 0x09, + 0x80, 0xab, 0xed, 0x33, 0x3f, 0x30, 0x34, 0xd9, 0x75, 0x69, 0xf7, 0x26, 0x57, 0xc2, 0x23, 0x0e, + 0xf6, 0x65, 0x06, 0x58, 0x28, 0x38, 0xac, 0x17, 0xb7, 0xd0, 0x0f, 0xf7, 0x86, 0x7b, 0xb1, 0xcf, + 0xf5, 0xcf, 0xd9, 0x39, 0xdb, 0xe2, 0xb2, 0x3e, 0x50, 0xc4, 0xbf, 0x30, 0x66, 0x29, 0x8f, 0xe5, + 0x51, 0x2a, 0xba, 0x08, 0x80, 0x1f, 0x02, 0xee, 0x9b, 0xf7, 0xe8, 0xad, 0xe9, 0xdc, 0xfe, 0xf3, + 0x67, 0x2d, 0xb9, 0xd8, 0x41, 0x9a, 0xdf, 0x39, 0x36, 0x1b, 0xd0, 0x7a, 0x96, 0x4b, 0x7c, 0x83, + 0x62, 0x10, 0x5d, 0x1c, 0xa7, 0x89, 0xaa, 0x14, 0xf5, 0xdc, 0x1c, 0x8a, 0xb4, 0xd2, 0xa9, 0x81, + 0xa3, 0x9f, 0xc6, 0xbb, 0xae, 0xac, 0xe3, 0xba, 0xa8, 0x6d, 0x51, 0x69, 0xae, 0x00, 0x71, 0xdd, + 0x1b, 0xfb, 0xce, 0xcb, 0x06, 0x6a, 0x61, 0x87, 0x4b, 0xcc, 0xd3, 0xbc, 0x12, 0xe5, 0xe5, 0xb1, + 0x4c, 0x7f, 0xa0, 0x2e, 0x63, 0x3f, 0x30, 0xe1, 0xd7, 0x13, 0x44, 0xf0, 0x6a, 0x23, 0x9f, 0xca, + 0x2b, 0x39, 0x50, 0x37, 0xfc, 0xc4, 0x69, 0x40, 0xb3, 0xe0, 0xfe, 0x19, 0xe7, 0x8b, 0xa5, 0x45, + 0xfc, 0x82, 0xd6, 0xa4, 0x36, 0xf8, 0x86, 0x40, 0x5d, 0x44, 0xb6, 0x51, 0xfa, 0x8c, 0x5f, 0xa9, + 0xa2, 0x73, 0x67, 0xa0, 0xeb, 0xcc, 0x24, 0x43, 0x96, 0x2d, 0xfc, 0xb4, 0x37, 0x6a, 0x68, 0xea, + 0xc7, 0x6d, 0x40, 0x7d, 0xb7, 0xe9, 0x9a, 0x15, 0x00, 0xe5, 0x6c, 0x31, 0x0a, 0xcb, 0xb1, 0x3f, + 0xd3, 0x89, 0x94, 0x4a, 0x39, 0x58, 0xb3, 0x64, 0xfb, 0xa2, 0xd1, 0x6e, 0x7c, 0x9e, 0x35, 0xcc, + 0xc1, 0x6c, 0x2b, 0xaf, 0xdf, 0x07, 0x40, 0xa9, 0x32, 0x14, 0x40, 0x3f, 0x9a, 0x02, 0x02, 0xb6, + 0x21, 0x73, 0xe8, 0x86, 0x34, 0xf9, 0xcc, 0x05, 0xa2, 0xe4, 0x03, 0x15, 0x3e, 0x26, 0x75, 0x11, + 0x26, 0x55, 0xa7, 0x49, 0x0f, 0xe2, 0xa6, 0x02, 0x04, 0x50, 0xf4, 0x41, 0xcd, 0xb9, 0x0c, 0x8d, + 0x16, 0x30, 0x86, 0xa2, 0x09, 0xfb, 0xf2, 0x0c, 0x5d, 0xcb, 0x23, 0x78, 0xb6, 0x34, 0x8e, 0xbf, + 0x83, 0xd0, 0x4c, 0xe1, 0x1c, 0xea, 0x0c, 0x37, 0x99, 0xb1, 0xf6, 0xa3, 0xee, 0x9a, 0xd2, 0x83, + 0xcf, 0x17, 0x5b, 0xe3, 0xca, 0x57, 0x57, 0x2f, 0xf8, 0x82, 0x1f, 0x45, 0xdf, 0x22, 0x83, 0xe1, + 0x17, 0x3a, 0x2d, 0x0f, 0x30, 0x25, 0x73, 0x00, 0xd9, 0x23, 0xc7, 0x14, 0x62, 0x16, 0x40, 0xb4, + 0x9d, 0x96, 0x7e, 0xec, 0x73, 0x8b, 0x3e, 0x9b, 0xef, 0xd0, 0xaa, 0x25, 0xbd, 0x53, 0x2c, 0x62, + 0xe0, 0x80, 0x7d, 0x9f, 0xd0, 0x1c, 0x2d, 0x50, 0x9e, 0xd6, 0xaf, 0x26, 0xa7, 0x18, 0x0c, 0xd4, + 0x88, 0xca, 0x7a, 0x4d, 0x83, 0x3b, 0xb8, 0x94, 0x55, 0xad, 0xda, 0x77, 0xb9, 0x80, 0x6f, 0x1d, + 0xe3, 0xfb, 0x39, 0x9a, 0x6a, 0x38, 0x38, 0xda, 0xc0, 0xe7, 0xe6, 0x20, 0xf2, 0xb6, 0x1e, 0x09, + 0x75, 0x2f, 0x4b, 0x96, 0xf6, 0x3a, 0x77, 0x0c, 0x6e, 0x53, 0xec, 0x3c, 0x5e, 0x27, 0x00, 0x56, + 0x74, 0x1c, 0x63, 0xff, 0x35, 0x53, 0x80, 0x24, 0x77, 0xa9, 0x01, 0x52, 0x84, 0x58, 0x02, 0xe2, + 0x39, 0x62, 0x95, 0x79, 0xc9, 0x90, 0xf9, 0xca, 0x2b, 0xbb, 0x1a, 0xc0, 0x81, 0x14, 0x62, 0x7a, + 0x57, 0xee, 0x51, 0x5f, 0x98, 0xef, 0x9e, 0x93, 0x2c, 0x09, 0x78, 0x4a, 0x53, 0xf7, 0xe6, 0x13, + 0xd2, 0xe9, 0x2f, 0x94, 0x8a, 0x6a, 0xd6, 0xd6, 0x5e, 0xc4, 0xa8, 0x78, 0x28, 0x28, 0x07, 0x4a, + 0xa8, 0x43, 0xd5, 0xab, 0xe8, 0x72, 0x3f, 0x9d, 0x72, 0xad, 0x9e, 0x14, 0x2e, 0x51, 0x04, 0xd1, + 0xf3, 0x8a, 0x35, 0xd6, 0x29, 0x97, 0x76, 0x80, 0xe8, 0x45, 0x7f, 0xe8, 0x60, 0xc5, 0xcc, 0xeb, + 0x04, 0xf9, 0xb8, 0x15, 0xfa, 0x0c, 0x69, 0x8c, 0xe1, 0xde, 0xbc, 0xde, 0x06, 0xce, 0x01, 0x4b, + 0x74, 0x6c, 0xed, 0xb0, 0xf4, 0x97, 0x9b, 0x95, 0x44, 0x48, 0x65, 0x38, 0x13, 0x1d, 0xd9, 0xb7, + 0xa7, 0x57, 0x60, 0xd0, 0x6d, 0xc1, 0xbe, 0xe2, 0x2f, 0x3c, 0xe5, 0x11, 0x02, 0x12, 0xff, 0x58, + 0x19, 0xf7, 0x7f, 0xe8, 0x6f, 0x80, 0x7f, 0xda, 0x1a, 0x28, 0x8a, 0xe9, 0x60, 0x3d, 0x30, 0x24, + 0x80, 0x0a, 0x52, 0x4c, 0x73, 0x8f, 0x07, 0x56, 0xa7, 0xd6, 0x68, 0x83, 0x9d, 0xf8, 0xa4, 0x22, + 0x5f, 0x75, 0x57, 0x7a, 0x24, 0xed, 0x30, 0xe9, 0x07, 0x73, 0xee, 0xdb, 0x23, 0x9c, 0x6d, 0xcc, + 0xb2, 0x90, 0xa2, 0xfd, 0xc1, 0x1e, 0x41, 0xcb, 0x7d, 0x9d, 0xc5, 0xfc, 0x0d, 0xef, 0x5c, 0x49, + 0xfc, 0xc3, 0xad, 0x78, 0x0a, 0xe2, 0x79, 0x71, 0xa5, 0xb0, 0x5f, 0xe2, 0x1a, 0x69, 0xb0, 0x8d, + 0xb1, 0x08, 0x72, 0x81, 0x78, 0xe8, 0x9b, 0xd1, 0x48, 0xa8, 0x77, 0x39, 0xb6, 0xe9, 0xd9, 0x3e, + 0x0b, 0xb9, 0x62, 0x2c, 0xef, 0x3f, 0x4b, 0xf9, 0x46, 0x5f, 0xf1, 0x80, 0x2d, 0x1f, 0xa1, 0x33, + 0xed, 0x3c, 0x85, 0x15, 0xce, 0x04, 0x3c, 0xc3, 0x5a, 0x72, 0x59, 0x12, 0x87, 0x02, 0x56, 0x5f, + 0x60, 0xf1, 0x06, 0x3b, 0xfe, 0xfb, 0xcd, 0xf2, 0x53, 0xa5, 0xd3, 0xc0, 0xf0, 0x82, 0xe6, 0x60, + 0xc1, 0xa7, 0x29, 0xd1, 0x14, 0xce, 0x45, 0x68, 0x98, 0xfd, 0xbd, 0x4b, 0x40, 0x7f, 0x80, 0x1c, + 0xbd, 0x0e, 0xdf, 0x11, 0xc8, 0xe5, 0xbd, 0xe4, 0xef, 0xe2, 0x8c, 0x04, 0xf2, 0xc7, 0x6f, 0xb9, + 0x59, 0xd4, 0xca, 0xbc, 0x3b, 0x71, 0xf3, 0x6d, 0x5d, 0xfe, 0x2d, 0x6f, 0xcc, 0x14, 0x55, 0x96, + 0x25, 0xc4, 0xe0, 0x32, 0xa6, 0x40, 0xfb, 0x79, 0xa4, 0x93, 0x73, 0xf3, 0x83, 0x8e, 0x70, 0x3d, + 0x1d, 0xdf, 0x23, 0xc7, 0xbc, 0x91, 0xd6, 0x76, 0x17, 0xc1, 0xbc, 0x18, 0x5c, 0x70, 0xb3, 0x6e, + 0x50, 0xf9, 0xca, 0x75, 0x8a, 0x13, 0xcb, 0x2c, 0x21, 0x01, 0x1b, 0x53, 0x89, 0x2c, 0xb0, 0x61, + 0x3d, 0xd8, 0x74, 0x19, 0x71, 0xa8, 0x23, 0xe4, 0x94, 0xd6, 0x44, 0x8e, 0x5b, 0x0f, 0x09, 0x56, + 0x9d, 0x48, 0xaf, 0x39, 0x01, 0xaa, 0x3e, 0x8b, 0x57, 0x48, 0x89, 0x88, 0x94, 0xaf, 0xd8, 0x87, + 0xf9, 0x35, 0x8e, 0x9b, 0xe7, 0x69, 0x8f, 0x67, 0xe6, 0x45, 0xab, 0xb5, 0x38, 0x56, 0x5b, 0x2c, + 0xc9, 0x91, 0x55, 0x0f, 0xb1, 0x41, 0x20, 0xcf, 0x1e, 0x9e, 0x82, 0x80, 0xe6, 0x68, 0x7b, 0xa1, + 0xcc, 0x4d, 0x2a, 0xb4, 0xa9, 0x71, 0x1f, 0xec, 0x79, 0x25, 0x6a, 0xa7, 0x58, 0x15, 0x7f, 0x7d, + 0xab, 0x0c, 0xf8, 0x52, 0xda, 0x7c, 0xf6, 0x2e, 0xa3, 0x44, 0x1c, 0x91, 0xeb, 0xf5, 0x75, 0x9d, + 0x66, 0x15, 0xa9, 0xa1, 0xc4, 0x69, 0x31, 0xb7, 0x92, 0xf1, 0xb5, 0xe6, 0xda, 0xd1, 0xb6, 0xd1, + 0x0e, 0x5c, 0x2a, 0xf4, 0xb5, 0x1c, 0x12, 0x1b, 0xed, 0xe7, 0xe0, 0xa1, 0xe7, 0x8d, 0xe6, 0xcf, + 0xfb, 0x10, 0xae, 0x98, 0x32, 0x67, 0x63, 0x07, 0x11, 0xd2, 0xb4, 0x1c, 0x31, 0x2b, 0x1b, 0xf0, + 0x1c, 0x96, 0x4c, 0xd0, 0x99, 0x88, 0x7c, 0x5c, 0x45, 0xcc, 0x6f, 0xe4, 0xef, 0x0d, 0xb1, 0xc1, + 0x60, 0x21, 0x4b, 0x5f, 0xf5, 0xf8, 0x0b, 0x2d, 0x8d, 0xde, 0xa7, 0xbe, 0xe9, 0xe2, 0xbb, 0x47, + 0x90, 0x32, 0xa5, 0x06, 0xd7, 0x76, 0xf8, 0xc2, 0xf5, 0xcb, 0xe1, 0x96, 0xba, 0x77, 0xc1, 0x29, + 0xda, 0x2b, 0x3e, 0x6e, 0x2a, 0x5c, 0x46, 0x03, 0xb3, 0xeb, 0xe3, 0xab, 0x7c, 0x3e, 0xd6, 0xc9, + 0xbf, 0xeb, 0x75, 0x99, 0xf5, 0x61, 0x1a, 0xec, 0x96, 0x03, 0xa6, 0x24, 0x91, 0x3a, 0xda, 0x57, + 0x63, 0xe1, 0x74, 0xa2, 0xf8, 0x46, 0xf8, 0x76, 0x1b, 0x74, 0xda, 0x2a, 0xd6, 0x4d, 0x47, 0x6b, + 0x84, 0x9e, 0xdc, 0xe6, 0x06, 0x57, 0xe9, 0xdb, 0x3c, 0x89, 0xa3, 0x2a, 0xe5, 0xb0, 0x84, 0x6d, + 0xad, 0xd8, 0x17, 0x3b, 0xfc, 0x89, 0x67, 0xf3, 0x00, 0x78, 0x9c, 0x72, 0xc1, 0x1d, 0x39, 0x45, + 0x6f, 0x5e, 0x0c, 0x1d, 0xfe, 0xb0, 0x7a, 0xeb, 0x27, 0xc5, 0xe3, 0x5c, 0xed, 0xcb, 0x5e, 0x23, + 0x7f, 0x67, 0x5c, 0x73, 0x68, 0xa6, 0x52, 0xd9, 0xe3, 0x1f, 0x2e, 0xda, 0x1b, 0xa9, 0x8a, 0x4e, + 0x3a, 0xc8, 0x7d, 0xa3, 0xe6, 0x57, 0x85, 0x7e, 0xe1, 0x96, 0xf8, 0x87, 0x2a, 0x16, 0xd6, 0x2c, + 0xd3, 0x7a, 0xa4, 0x2c, 0x94, 0xd2, 0x52, 0xb6, 0x00, 0xd0, 0xbb, 0x97, 0x8e, 0x80, 0x21, 0xac, + 0xc6, 0x5d, 0xbf, 0x42, 0xb5, 0xd1, 0xc4, 0xd9, 0x6b, 0x4c, 0x26, 0x60, 0xd7, 0x90, 0x70, 0x29, + 0xa8, 0x1d, 0x78, 0xad, 0x8f, 0x83, 0xee, 0x3c, 0x20, 0xc7, 0x3b, 0x56, 0x4c, 0xb3, 0xb3, 0xbb, + 0x62, 0x76, 0x89, 0x05, 0x26, 0x38, 0x9b, 0x37, 0xe6, 0x48, 0xae, 0xf4, 0xc2, 0xa9, 0xbf, 0x5a, + 0x8f, 0xff, 0x39, 0xf6, 0xa6, 0x4d, 0xea, 0xda, 0x63, 0x94, 0x18, 0x20, 0xc4, 0x26, 0x72, 0x0b, + 0xb5, 0x71, 0xfb, 0x6a, 0x87, 0xd7, 0xa3, 0x26, 0xeb, 0x7f, 0x4f, 0x17, 0x37, 0x1b, 0x2f, 0x8f, + 0x76, 0x3f, 0xc1, 0x60, 0xb3, 0x00, 0xa0, 0xb6, 0x8d, 0x52, 0x4d, 0x98, 0xd0, 0xad, 0x53, 0x67, + 0x3c, 0x80, 0x6b, 0xf9, 0x82, 0x86, 0x15, 0xac, 0x36, 0x57, 0x9a, 0x6a, 0x23, 0x40, 0xdf, 0xc9, + 0xef, 0x2e, 0x48, 0xf0, 0x9a, 0x29, 0x4e, 0x07, 0x3b, 0x33, 0x82, 0x6e, 0xeb, 0xf2, 0x07, 0x60, + 0x18, 0x84, 0xbc, 0x5c, 0x96, 0xb5, 0xa4, 0xe4, 0x33, 0x64, 0x67, 0x18, 0x6e, 0xa7, 0x2c, 0x39, + 0x70, 0x61, 0xca, 0x99, 0x10, 0x6b, 0x5e, 0xf2, 0x40, 0x38, 0xe9, 0x59, 0x6d, 0xbf, 0xe1, 0x16, + 0xa1, 0x40, 0x21, 0x86, 0xfe, 0x1d, 0x98, 0xd1, 0x8e, 0x40, 0xa2, 0xb5, 0x13, 0x9e, 0x89, 0x2e, + 0xe8, 0xc1, 0xda, 0x0d, 0x86, 0x31, 0x25, 0x31, 0x15, 0xda, 0x7c, 0x08, 0x5d, 0xe0, 0xc8, 0x3c, + 0x21, 0xd7, 0xea, 0x2e, 0x7f, 0x52, 0xae, 0x15, 0x9e, 0xd7, 0x2e, 0xd6, 0xe9, 0xfc, 0xf1, 0xba, + 0x58, 0x14, 0x27, 0xfb, 0xb7, 0x54, 0xd6, 0xe6, 0x73, 0x3d, 0xd9, 0x87, 0x92, 0x16, 0xa9, 0xea, + 0x10, 0xce, 0xf3, 0xf4, 0x69, 0x5a, 0xd7, 0x7c, 0x77, 0x9f, 0x01, 0x5d, 0xae, 0x02, 0x9e, 0x40, + 0x3d, 0x4a, 0xdf, 0x65, 0x18, 0xd4, 0x1e, 0xb1, 0x80, 0xe2, 0xca, 0x14, 0xb3, 0x30, 0x52, 0xd8, + 0x9e, 0x00, 0x47, 0x6c, 0x08, 0x34, 0x35, 0x07, 0x4e, 0x62, 0x81, 0x9f, 0x15, 0xe7, 0xd3, 0x7f, + 0xe1, 0x97, 0x04, 0xe5, 0x26, 0x33, 0x74, 0xe1, 0x0b, 0xb9, 0x56, 0x02, 0xd8, 0xf8, 0xc9, 0x13, + 0x29, 0xdf, 0x17, 0x2b, 0x44, 0x98, 0x42, 0x2d, 0xc6, 0x4a, 0x0d, 0x3f, 0x3d, 0x79, 0xaa, 0xa1, + 0x32, 0x2c, 0xf1, 0xee, 0x07, 0x9a, 0x66, 0xe2, 0xd0, 0xa8, 0x21, 0x4c, 0x97, 0x37, 0x6d, 0x15, + 0x78, 0x47, 0x97, 0x87, 0x3c, 0xcb, 0x1c, 0x60, 0x32, 0x59, 0xb1, 0x63, 0x04, 0x8f, 0xf4, 0xe5, + 0x0c, 0x88, 0x19, 0x40, 0x69, 0x2c, 0x32, 0x81, 0x3b, 0xce, 0x30, 0x47, 0x61, 0x5a, 0xfb, 0x36, + 0x48, 0xc2, 0x8f, 0xdf, 0x58, 0xfd, 0xdb, 0x14, 0x83, 0xbf, 0x42, 0xff, 0xf3, 0xd6, 0x13, 0x0c, + 0xfd, 0x6c, 0xc4, 0x91, 0x7a, 0x4b, 0x8f, 0x04, 0x00, 0x58, 0x05, 0xcb, 0x99, 0xa1, 0xae, 0xbe, + 0x00, 0x2a, 0x47, 0x16, 0xbf, 0xc8, 0xbd, 0xf6, 0x28, 0x97, 0xe1, 0xdc, 0x00, 0x4c, 0xed, 0xca, + 0xbd, 0x64, 0x4e, 0x42, 0xab, 0x8a, 0x4b, 0xca, 0x74, 0xc8, 0xe2, 0xb5, 0x4f, 0x29, 0x00, 0xa4, + 0x3e, 0xe6, 0xfd, 0xae, 0xd8, 0x11, 0x01, 0x12, 0xd7, 0x4f, 0x2f, 0x9f, 0x8f, 0xab, 0xdd, 0xc8, + 0x58, 0x22, 0x10, 0x3a, 0xd1, 0x20, 0x76, 0x4d, 0x12, 0x48, 0xaa, 0x6d, 0x83, 0x7a, 0x31, 0x3f, + 0x15, 0x53, 0x6c, 0x45, 0x6a, 0x90, 0x15, 0x95, 0xb5, 0x5b, 0xcb, 0xe6, 0xc6, 0x8c, 0x93, 0xeb, + 0xbb, 0xa8, 0x9d, 0xa3, 0x5f, 0x7c, 0x72, 0x80, 0x1f, 0x88, 0x3e, 0xf5, 0x50, 0x81, 0x88, 0xfc, + 0xf8, 0x83, 0x3e, 0x62, 0x0c, 0x33, 0x0a, 0x0b, 0x4e, 0xd5, 0xe0, 0x7e, 0x86, 0xf2, 0xf7, 0x6c, + 0xa0, 0x05, 0x84, 0x98, 0xa5, 0xc2, 0xba, 0x63, 0xf3, 0x81, 0xcd, 0xac, 0xaa, 0x0e, 0x43, 0x57, + 0x5f, 0x06, 0x4f, 0xe7, 0xe0, 0x6a, 0x61, 0xfd, 0x21, 0xcc, 0xac, 0x12, 0x9c, 0x5d, 0xf3, 0x2a, + 0xc4, 0xff, 0x4b, 0xff, 0xa2, 0xd3, 0xc3, 0xa1, 0xe7, 0xe8, 0xce, 0xe8, 0x78, 0x08, 0x9d, 0xb3, + 0xad, 0x90, 0x85, 0xb2, 0xf8, 0xa8, 0x97, 0x58, 0x94, 0x53, 0xcb, 0xd4, 0x53, 0xb6, 0xd5, 0x8b, + 0xea, 0x09, 0xb8, 0xd3, 0x3e, 0x3f, 0xcc, 0xea, 0xbd, 0x99, 0x9e, 0x40, 0x20, 0xb3, 0x8d, 0x68, + 0x23, 0xc7, 0xae, 0x03, 0x27, 0xdf, 0xd0, 0x22, 0xab, 0x71, 0x2c, 0x07, 0x0c, 0x7d, 0x76, 0xb4, + 0x7b, 0xb7, 0x71, 0x2a, 0xa6, 0x9c, 0xa5, 0xe4, 0x88, 0x18, 0x7d, 0x9b, 0x1f, 0xaf, 0x2d, 0x8a, + 0x23, 0xfd, 0x7d, 0xf3, 0x19, 0x78, 0xe9, 0x60, 0xef, 0xdf, 0xe2, 0xf7, 0x0e, 0x59, 0x1d, 0x5a, + 0xdf, 0x27, 0xeb, 0x92, 0x58, 0x59, 0x02, 0xfc, 0xa3, 0x4c, 0x6f, 0xcf, 0x7a, 0x9b, 0x15, 0x5a, + 0x2e, 0xf5, 0xb2, 0xc2, 0xbf, 0x5f, 0x41, 0x0c, 0x73, 0x8e, 0x76, 0x0e, 0xfa, 0xf4, 0xab, 0xe3, + 0x56, 0x7b, 0x27, 0x44, 0x27, 0x08, 0x96, 0x55, 0xb1, 0xb1, 0x34, 0xb7, 0xe3, 0x92, 0xc6, 0xc3, + 0xbf, 0xb2, 0x58, 0x6e, 0x22, 0x5a, 0xd3, 0x72, 0x12, 0x21, 0xae, 0x91, 0xf8, 0x49, 0x38, 0x03, + 0xa6, 0x1c, 0x40, 0x79, 0x10, 0xa4, 0x1b, 0x87, 0x4a, 0x16, 0x56, 0x77, 0x66, 0x60, 0x26, 0x88, + 0x96, 0xa8, 0xc6, 0x39, 0x55, 0xf3, 0xd2, 0x49, 0xa0, 0xe4, 0x2d, 0x29, 0x43, 0x9c, 0x26, 0x54, + 0xb2, 0xc9, 0xd2, 0xae, 0xf7, 0xaf, 0x61, 0x5c, 0x2d, 0xd3, 0x8e, 0xa3, 0x79, 0x9f, 0x78, 0xf5, + 0x42, 0x48, 0x50, 0xf5, 0xc9, 0xd9, 0xfe, 0xfc, 0x2c, 0xbb, 0x67, 0x54, 0x9f, 0x89, 0x77, 0x53, + 0x97, 0x1b, 0xbb, 0xa6, 0x66, 0x41, 0x8b, 0x8a, 0x0b, 0x5a, 0xce, 0xb5, 0x46, 0x4f, 0xba, 0x1d, + 0xf2, 0xd2, 0xfb, 0xc9, 0xd7, 0xdb, 0x57, 0xbf, 0xe7, 0xa6, 0xf1, 0x39, 0x18, 0x21, 0x2a, 0xca, + 0xbc, 0x64, 0x93, 0x1f, 0xa5, 0x46, 0xb2, 0x23, 0xc4, 0x78, 0xe7, 0x3b, 0x93, 0xeb, 0x40, 0x7b, + 0xed, 0xc3, 0x65, 0x5b, 0xc9, 0x31, 0xfe, 0x48, 0x84, 0xc9, 0x28, 0xae, 0x42, 0x99, 0x6b, 0xc6, + 0xc5, 0x69, 0x4e, 0x1e, 0x51, 0x7d, 0x47, 0x8c, 0xac, 0xaf, 0x77, 0x3a, 0x79, 0x7f, 0x20, 0xc0, + 0xf5, 0x98, 0x5e, 0x52, 0x09, 0x76, 0x50, 0x35, 0x14, 0x25, 0xaa, 0xd7, 0x5c, 0x89, 0x3a, 0xbd, + 0x2c, 0x6c, 0x52, 0x48, 0x1c, 0x01, 0x84, 0x1c, 0x4e, 0x97, 0x35, 0x9d, 0xbf, 0xb9, 0x64, 0xb6, + 0x85, 0x73, 0xf5, 0x4d, 0x70, 0x4c, 0xe2, 0x5c, 0xca, 0xb2, 0x5b, 0x5b, 0x5b, 0xca, 0x39, 0x99, + 0x88, 0x66, 0xf9, 0xec, 0x6e, 0xe3, 0x6f, 0xe7, 0xb4, 0x7c, 0x4e, 0xd5, 0x7e, 0xee, 0x2f, 0xca, + 0xb8, 0xe1, 0xb6, 0x29, 0xe7, 0x40, 0xbb, 0x94, 0x04, 0x51, 0x32, 0xb8, 0x6f, 0xb8, 0x6b, 0x20, + 0xbb, 0x13, 0x24, 0x90, 0x6b, 0xef, 0x20, 0x31, 0x44, 0x90, 0x27, 0x5b, 0xe3, 0x73, 0x3a, 0xff, + 0x14, 0x54, 0x1f, 0x7d, 0xdc, 0x0d, 0x7e, 0x40, 0x0f, 0xc8, 0x8e, 0x24, 0x69, 0xa8, 0x1b, 0x69, + 0xf9, 0xef, 0x9f, 0x6c, 0xcc, 0x40, 0xf3, 0x85, 0xa2, 0x9b, 0xb8, 0x02, 0x11, 0x9e, 0x8d, 0x6d, + 0x7c, 0x67, 0xa2, 0xde, 0xe4, 0xd4, 0x78, 0x2e, 0x32, 0x09, 0x23, 0x5b, 0x52, 0x0a, 0xdb, 0xa4, + 0x34, 0x93, 0x84, 0x9e, 0xbc, 0x3d, 0x3a, 0x23, 0x88, 0xf7, 0xf1, 0x7a, 0xcb, 0x81, 0x64, 0x49, + 0x00, 0xf2, 0xae, 0x55, 0x58, 0xb8, 0x04, 0xb6, 0xf3, 0x8b, 0x12, 0x59, 0xd2, 0xd3, 0x28, 0x44, + 0x28, 0x63, 0xc9, 0xd8, 0xb6, 0x05, 0x26, 0x3e, 0x23, 0xb0, 0xb5, 0xc7, 0x89, 0x19, 0x7f, 0x19, + 0xd8, 0xb9, 0xba, 0xd5, 0x35, 0x5d, 0xed, 0x78, 0x1c, 0xb0, 0x40, 0xc9, 0x7a, 0xf4, 0x2b, 0xe1, + 0x76, 0xf5, 0x13, 0x3a, 0xb8, 0x20, 0xcd, 0x17, 0x00, 0xe5, 0x02, 0xb7, 0x21, 0x2b, 0x8b, 0xd7, + 0x8d, 0xa2, 0xbf, 0x04, 0xef, 0x30, 0xe7, 0x77, 0xf7, 0xd5, 0x34, 0x2d, 0x0b, 0x49, 0x70, 0x82, + 0x9e, 0x02, 0x79, 0xae, 0x84, 0xc3, 0xd7, 0x12, 0xc5, 0x7f, 0xc2, 0xc7, 0x43, 0x5d, 0x73, 0xf6, + 0x4a, 0x3e, 0x46, 0x6b, 0x43, 0x64, 0x21, 0x1f, 0x29, 0xb9, 0x59, 0xb3, 0xb2, 0xe2, 0x9e, 0xb2, + 0x53, 0x42, 0x52, 0xa3, 0x7f, 0xf3, 0x6e, 0x70, 0x92, 0x1f, 0x24, 0xb0, 0x01, 0x0c, 0xaf, 0x4b, + 0xe8, 0x05, 0x3f, 0xd3, 0x28, 0x64, 0x3a, 0x1e, 0x89, 0x5f, 0x25, 0xf3, 0x70, 0xf2, 0x55, 0x41, + 0x0f, 0x46, 0xf7, 0x45, 0x9e, 0x9f, 0x50, 0xa4, 0xe9, 0x88, 0xb8, 0x7d, 0xed, 0x91, 0x7e, 0x2a, + 0x55, 0x44, 0xe2, 0x94, 0x2c, 0x83, 0xdb, 0x05, 0x77, 0xd4, 0x65, 0x60, 0xbf, 0xda, 0x61, 0xff, + 0x16, 0xef, 0x41, 0xc3, 0xd4, 0x8a, 0xb3, 0x20, 0x7c, 0x75, 0x58, 0x69, 0x08, 0x44, 0x76, 0x8b, + 0xcb, 0x16, 0x83, 0x6e, 0xa5, 0xe6, 0x01, 0x40, 0xc3, 0xfa, 0xaf, 0x86, 0xc6, 0xf5, 0x5b, 0x7e, + 0x3e, 0xde, 0x02, 0x0c, 0xc9, 0xce, 0x63, 0xd1, 0xfb, 0x87, 0xa4, 0x5f, 0x0d, 0x33, 0xeb, 0x87, + 0xf8, 0x46, 0x09, 0xc8, 0xf6, 0x5e, 0x8b, 0x9f, 0x82, 0x15, 0xa0, 0xaa, 0x5d, 0x02, 0x12, 0x66, + 0xd7, 0xa0, 0x0b, 0x08, 0xee, 0x90, 0xee, 0x89, 0x0a, 0x6d, 0x0b, 0xb1, 0x61, 0x1e, 0xb2, 0x90, + 0xf7, 0x89, 0x96, 0x60, 0x3f, 0x41, 0x78, 0xec, 0x0a, 0xc8, 0xaf, 0x75, 0x6a, 0x1c, 0x52, 0xe3, + 0x6b, 0xaa, 0x8e, 0xb0, 0x36, 0x12, 0x84, 0x06, 0x15, 0x1d, 0xef, 0x27, 0x3d, 0x8d, 0x24, 0xc9, + 0x0b, 0xaa, 0x0b, 0x26, 0x90, 0x84, 0xbf, 0x91, 0x49, 0x7b, 0x91, 0x4a, 0xbc, 0x38, 0xbb, 0x71, + 0x94, 0xfd, 0x2c, 0x36, 0x55, 0x17, 0x74, 0x26, 0xcb, 0x37, 0x87, 0x9a, 0xa0, 0xb9, 0x10, 0x5f, + 0xbc, 0x50, 0x4e, 0x2c, 0x70, 0x0a, 0xe5, 0xbd, 0x86, 0xaf, 0xc8, 0xc4, 0x5c, 0xef, 0x69, 0x23, + 0x98, 0x80, 0x6e, 0x1e, 0xe7, 0xa9, 0x90, 0x43, 0xf5, 0x95, 0xc7, 0xd1, 0x7d, 0x72, 0x28, 0x12, + 0xc0, 0x26, 0xaa, 0xb1, 0xb5, 0xe0, 0x78, 0x97, 0xd7, 0x35, 0xd7, 0x28, 0x07, 0xba, 0x34, 0x1a, + 0x41, 0x74, 0xf5, 0x21, 0x90, 0x50, 0xe9, 0x48, 0xaa, 0x06, 0x68, 0x6d, 0x9e, 0xd8, 0x58, 0x49, + 0x9e, 0x95, 0xa8, 0x49, 0x9a, 0x39, 0x23, 0xe0, 0x74, 0xf4, 0x04, 0x9b, 0x23, 0x08, 0x31, 0x40, + 0x84, 0x8a, 0xba, 0x06, 0x7f, 0xed, 0xdd, 0xfa, 0x94, 0x42, 0xae, 0x5e, 0xae, 0x59, 0x42, 0x61, + 0x31, 0x6d, 0xa8, 0x7b, 0x69, 0x8b, 0xe2, 0x13, 0x1e, 0xde, 0x27, 0x1a, 0xf3, 0xb1, 0xc5, 0x43, + 0x73, 0x5e, 0xbd, 0x0e, 0x39, 0x57, 0x88, 0x7a, 0x49, 0xd9, 0x57, 0xcc, 0x0c, 0x84, 0x63, 0xf8, + 0xb9, 0xd2, 0x0c, 0x0c, 0x7e, 0x80, 0x39, 0x7d, 0x0d, 0x47, 0x02, 0xad, 0x56, 0x41, 0xf7, 0xc3, + 0xf6, 0xf8, 0x3b, 0x13, 0x73, 0x46, 0xdc, 0x89, 0xe9, 0xcf, 0xa2, 0x89, 0xb3, 0x0a, 0xb3, 0x79, + 0xa7, 0x85, 0x3b, 0xb6, 0xa0, 0x69, 0x67, 0x33, 0x0b, 0x2f, 0x77, 0xfd, 0xea, 0xc9, 0x2b, 0xaa, + 0xea, 0xd0, 0x63, 0xa8, 0xfd, 0xac, 0x94, 0x7c, 0xf7, 0xdd, 0xf0, 0x83, 0x51, 0x57, 0x36, 0x4f, + 0x62, 0xa4, 0xf2, 0x06, 0x5d, 0x8a, 0xc0, 0xd6, 0x74, 0x18, 0x35, 0x39, 0x4f, 0xc0, 0x8b, 0xfe, + 0xa4, 0x30, 0x9c, 0x55, 0xfc, 0x77, 0x70, 0xd4, 0xa0, 0x05, 0xa2, 0x28, 0xd5, 0xde, 0x5d, 0xae, + 0x45, 0x94, 0x66, 0x75, 0xc3, 0xde, 0xcc, 0xa4, 0xb0, 0x34, 0xac, 0x4f, 0x5a, 0x83, 0xdb, 0xe6, + 0xb3, 0x96, 0x21, 0xf1, 0xf4, 0x7c, 0x80, 0xc5, 0x41, 0xd5, 0x42, 0x97, 0xe0, 0x20, 0xa6, 0xb4, + 0x8a, 0x41, 0x43, 0x3a, 0x1b, 0xbd, 0x81, 0x32, 0xc0, 0x7e, 0x96, 0x79, 0xb1, 0x2d, 0xfc, 0xdd, + 0xbf, 0x35, 0xf9, 0x54, 0xed, 0x10, 0xcc, 0x1d, 0xba, 0xea, 0xf8, 0xa2, 0xab, 0xe2, 0x32, 0x11, + 0x35, 0x5e, 0x48, 0x43, 0xcf, 0x4c, 0x5d, 0x99, 0x24, 0x5b, 0x24, 0x24, 0xce, 0x25, 0x3d, 0x4e, + 0xa6, 0xb0, 0xdb, 0x88, 0x04, 0xbf, 0x16, 0xd1, 0x8d, 0x09, 0x1a, 0xd8, 0x1e, 0x01, 0x30, 0x87, + 0x8a, 0x23, 0xe5, 0x87, 0xed, 0xb6, 0x28, 0x86, 0x76, 0x34, 0x52, 0x33, 0x63, 0xfe, 0xc7, 0x71, + 0xfa, 0x8b, 0xa8, 0x73, 0x18, 0x4d, 0x62, 0xc5, 0x46, 0x68, 0xc7, 0xf6, 0xcc, 0x58, 0xc2, 0x7c, + 0xa0, 0x61, 0x1a, 0x5e, 0x0f, 0x7a, 0x3c, 0x9b, 0xe7, 0xbe, 0xa3, 0x40, 0x2a, 0xea, 0xe9, 0x7a, + 0x34, 0x8d, 0x4b, 0x34, 0xd1, 0x50, 0xa1, 0x05, 0xe0, 0xc8, 0x57, 0x19, 0xf8, 0xb4, 0xa9, 0xa1, + 0x6b, 0xfe, 0xa1, 0x1c, 0xbe, 0x9c, 0xe5, 0x52, 0x90, 0x19, 0x65, 0x52, 0x5d, 0xf3, 0x67, 0x0d, + 0x62, 0xb3, 0x3e, 0xb5, 0xc7, 0x41, 0x09, 0xde, 0xdc, 0xd2, 0xda, 0xe5, 0xb4, 0x62, 0x9d, 0xfd, + 0x52, 0x46, 0x63, 0x1e, 0x3a, 0x2a, 0x77, 0x7e, 0xb6, 0x0e, 0x8a, 0xc5, 0xf0, 0xef, 0xa1, 0x4a, + 0xbf, 0x3b, 0x37, 0x69, 0x44, 0x2b, 0xc8, 0x68, 0x2f, 0xe7, 0x9e, 0x2c, 0xe3, 0xc8, 0x7a, 0x10, + 0x8f, 0xea, 0x50, 0x27, 0xb3, 0xdc, 0x1f, 0x48, 0x0a, 0xd3, 0x5c, 0x33, 0x2b, 0xf4, 0x12, 0x62, + 0x11, 0x8d, 0x19, 0xad, 0x6a, 0xee, 0x3b, 0x36, 0xcc, 0x1b, 0x68, 0xb1, 0x92, 0x9a, 0x89, 0xa9, + 0x49, 0x11, 0x50, 0xb4, 0x8c, 0x18, 0xa2, 0x93, 0x06, 0x9b, 0x5e, 0x32, 0x0a, 0x2d, 0xa1, 0x3e, + 0x59, 0x2e, 0x51, 0x0a, 0x88, 0xd3, 0x9e, 0x9b, 0x07, 0xda, 0xac, 0x25, 0x3d, 0xf6, 0x1f, 0x17, + 0xc8, 0x4c, 0x71, 0x96, 0x7b, 0x4d, 0x54, 0xa2, 0x96, 0x51, 0x3d, 0x20, 0x67, 0xae, 0x23, 0x01, + 0x02, 0x24, 0x3b, 0xf8, 0x51, 0x49, 0x4b, 0xf2, 0x31, 0x36, 0xc2, 0xc4, 0x4b, 0x73, 0x1c, 0x06, + 0xdb, 0xe9, 0xa8, 0xbb, 0xb1, 0x6a, 0x42, 0x00, 0x5f, 0xcb, 0x65, 0x39, 0x2b, 0x2a, 0xe1, 0x87, + 0x5e, 0xcc, 0x5c, 0x72, 0x60, 0xbd, 0xb5, 0x60, 0x59, 0xce, 0xaa, 0x32, 0x50, 0xd5, 0x35, 0x24, + 0x1b, 0x54, 0xa4, 0x7c, 0xc7, 0x72, 0xcb, 0xf1, 0xb6, 0x88, 0x02, 0xee, 0xf7, 0x4e, 0xa9, 0x04, + 0xef, 0x7d, 0xde, 0xe0, 0x6d, 0xcb, 0x91, 0x70, 0xa9, 0xb6, 0x02, 0x0d, 0x8e, 0x0c, 0x35, 0x4a, + 0x70, 0xb0, 0x54, 0xd7, 0xff, 0x40, 0x42, 0x42, 0x5a, 0x16, 0x7a, 0x38, 0x0e, 0xc1, 0x5b, 0x1e, + 0xed, 0x50, 0x14, 0xe9, 0x64, 0x15, 0x89, 0x98, 0x4a, 0x24, 0x4d, 0x1b, 0x4e, 0x3a, 0x33, 0x00, + 0x9e, 0x1d, 0x99, 0x10, 0xfc, 0xce, 0x1a, 0x03, 0x70, 0xd0, 0x9d, 0x8c, 0xe0, 0x34, 0x0f, 0x57, + 0x48, 0x0f, 0x38, 0x84, 0x4e, 0x9f, 0x8d, 0xae, 0xbe, 0x3c, 0xb0, 0x1f, 0x47, 0x32, 0xc0, 0x63, + 0xe9, 0xda, 0xa0, 0x1f, 0x85, 0x28, 0x53, 0xc3, 0x95, 0x51, 0x7b, 0xa1, 0xa3, 0xd2, 0xee, 0x83, + 0x14, 0xa4, 0x45, 0x48, 0xf8, 0x59, 0x4d, 0x33, 0x5c, 0xaf, 0xa6, 0x71, 0x3c, 0xfb, 0xcd, 0xe0, + 0xb4, 0x5c, 0x96, 0x5b, 0xee, 0x87, 0x42, 0xb5, 0x8c, 0xb6, 0xd4, 0xe8, 0x7b, 0x23, 0x70, 0x4b, + 0xb8, 0xa2, 0xa4, 0x45, 0xbd, 0x15, 0x1d, 0xb0, 0x20, 0x29, 0x3b, 0x5b, 0xba, 0x86, 0xb8, 0x2b, + 0x47, 0x18, 0xf5, 0x50, 0xaa, 0xf8, 0xc5, 0x62, 0xa5, 0x35, 0xe9, 0x73, 0x32, 0x9a, 0x4f, 0x49, + 0x23, 0x29, 0x7c, 0x43, 0xb4, 0x90, 0x17, 0x11, 0xc0, 0xf1, 0xe7, 0xe6, 0xcd, 0x94, 0xd7, 0xff, + 0x7e, 0x71, 0xf4, 0x90, 0x1f, 0x91, 0xf3, 0xa2, 0xa0, 0xae, 0x5f, 0x73, 0x0b, 0x2f, 0x84, 0x2a, + 0x52, 0xfd, 0xa3, 0x20, 0x0b, 0x54, 0xda, 0xcc, 0x2b, 0xea, 0x36, 0xfc, 0xcf, 0xa1, 0x51, 0x3b, + 0x61, 0x02, 0x70, 0x6f, 0xb5, 0x28, 0xfe, 0xc6, 0xa5, 0x6f, 0x35, 0x3c, 0x6c, 0xda, 0xe7, 0x3d, + 0x2d, 0x4b, 0x44, 0xad, 0x01, 0xab, 0x24, 0xa8, 0xe0, 0xfa, 0x59, 0xea, 0xa0, 0x86, 0x3b, 0x89, + 0xc8, 0x86, 0x00, 0x7d, 0xa5, 0x86, 0x20, 0xbf, 0x40, 0xea, 0x5b, 0x1a, 0x77, 0xe1, 0xa6, 0xa5, + 0xa1, 0xe7, 0x7c, 0x71, 0xf6, 0x3d, 0xf9, 0x87, 0xda, 0xea, 0xab, 0xd8, 0xc1, 0x5d, 0x45, 0xb5, + 0xf1, 0x49, 0xb2, 0x0a, 0x8c, 0x2e, 0x73, 0x19, 0xb7, 0x45, 0x62, 0xe6, 0x55, 0xde, 0xf8, 0x3e, + 0xcf, 0xe2, 0xe3, 0x63, 0x30, 0x8a, 0xd3, 0x0a, 0xe6, 0x32, 0x62, 0x62, 0xba, 0x46, 0x61, 0xee, + 0x9c, 0xe0, 0xab, 0x8a, 0x34, 0xd8, 0xe0, 0x49, 0x19, 0x60, 0x6f, 0x57, 0x4b, 0x2a, 0x1a, 0xf2, + 0x77, 0x51, 0x64, 0x4a, 0x3a, 0x9e, 0xe0, 0x1c, 0xbb, 0xea, 0xbd, 0xfb, 0x56, 0xe1, 0xaf, 0x5d, + 0x7e, 0x35, 0x8a, 0x57, 0x78, 0x23, 0xa7, 0xaf, 0xe4, 0x87, 0x4f, 0x7b, 0x82, 0x13, 0xb1, 0xe5, + 0x11, 0x0d, 0x37, 0xef, 0x56, 0xa9, 0x1b, 0xc2, 0x43, 0x9b, 0xf6, 0xbb, 0xdb, 0xfb, 0x7f, 0x6f, + 0xe2, 0x9a, 0x03, 0xe7, 0xac, 0x03, 0xda, 0x29, 0x36, 0x7a, 0x5c, 0xde, 0xc3, 0x24, 0xf5, 0x97, + 0x40, 0x36, 0x11, 0x00, 0x7d, 0x29, 0x1e, 0x72, 0x3b, 0x94, 0x54, 0x77, 0x59, 0xf2, 0x6f, 0x30, + 0xa9, 0xc9, 0x35, 0xe0, 0x78, 0x38, 0x81, 0xcb, 0x2b, 0x96, 0x96, 0xbd, 0xad, 0xff, 0x03, 0x11, + 0xca, 0x48, 0x78, 0x82, 0x10, 0x87, 0x3b, 0xcd, 0x75, 0xb0, 0x66, 0xe9, 0x63, 0xca, 0xef, 0x01, + 0xbc, 0x15, 0x84, 0x76, 0x61, 0x65, 0x20, 0x51, 0x19, 0xb8, 0x7e, 0xf3, 0x33, 0xee, 0x05, 0xd8, + 0xcd, 0xc4, 0x18, 0xc1, 0x78, 0x2c, 0x6f, 0xc9, 0x4c, 0x4c, 0xe5, 0x93, 0xe4, 0xaa, 0x8f, 0xa2, + 0xcc, 0xaf, 0x07, 0x08, 0x77, 0x79, 0x14, 0x97, 0x45, 0x89, 0x5b, 0x2b, 0xa4, 0xb3, 0x66, 0xef, + 0x5e, 0x62, 0xf4, 0x8d, 0x0a, 0xf2, 0x5b, 0x92, 0x2d, 0x00, 0xb2, 0xa6, 0x12, 0x28, 0x3c, 0xf1, + 0xf8, 0x91, 0xf6, 0x8d, 0xf0, 0x10, 0xa9, 0x3d, 0x76, 0x9f, 0x91, 0x15, 0x73, 0x0b, 0xda, 0x79, + 0xbb, 0x85, 0xee, 0xe8, 0x4b, 0x4f, 0x2c, 0x08, 0xd9, 0xae, 0x9b, 0x8c, 0xcf, 0xf4, 0x7b, 0x41, + 0xeb, 0xeb, 0x53, 0x86, 0x99, 0x10, 0xc1, 0xea, 0x32, 0xb7, 0x14, 0x2c, 0x22, 0x8d, 0x30, 0x86, + 0x9a, 0x06, 0xb3, 0xce, 0xfe, 0xfc, 0xff, 0xdb, 0xc6, 0xa7, 0xba, 0x15, 0xfd, 0x1a, 0x64, 0x4a, + 0xa6, 0xde, 0xf8, 0xe2, 0xdc, 0x52, 0xe9, 0x86, 0x8a, 0x4b, 0xce, 0xbb, 0xc4, 0x29, 0x34, 0x4d, + 0xd0, 0xda, 0x04, 0x44, 0x77, 0xa4, 0x30, 0x5c, 0x44, 0x24, 0xdc, 0xa9, 0x27, 0xc3, 0x28, 0x4c, + 0xa6, 0x80, 0x01, 0x74, 0xad, 0xeb, 0xe5, 0xc6, 0xde, 0x2b, 0x09, 0x53, 0x41, 0x49, 0x0f, 0x28, + 0x91, 0x25, 0x6a, 0x25, 0x91, 0x0c, 0xab, 0xdd, 0x2a, 0xbe, 0xf8, 0xd2, 0x06, 0x95, 0x3b, 0x03, + 0x56, 0xfc, 0xa8, 0x85, 0xca, 0x74, 0xe6, 0x9b, 0x4e, 0x04, 0x0f, 0x60, 0xac, 0x1c, 0x09, 0xf2, + 0xf6, 0xd9, 0x5b, 0x45, 0x9f, 0xf4, 0x92, 0x98, 0x28, 0x99, 0x94, 0x1b, 0xe4, 0x67, 0xc1, 0xa4, + 0x94, 0x6d, 0x4f, 0x81, 0xda, 0x8d, 0xff, 0x28, 0x83, 0xf1, 0x0d, 0xfb, 0xac, 0x29, 0x5a, 0x31, + 0x5d, 0x02, 0x9e, 0xa6, 0x11, 0x5e, 0x4b, 0x59, 0x29, 0x78, 0x3f, 0xc6, 0x29, 0x69, 0xa8, 0xea, + 0x37, 0x30, 0x6c, 0x89, 0x4f, 0x04, 0x48, 0xb1, 0x9c, 0xb7, 0x9a, 0x1c, 0xa2, 0xcc, 0x4a, 0xeb, + 0x47, 0xba, 0x9c, 0xa3, 0xf8, 0x23, 0x9d, 0x84, 0xa1, 0x12, 0x72, 0xdf, 0x98, 0xd6, 0x9b, 0x0f, + 0xf8, 0x9a, 0x88, 0x88, 0xd8, 0x4a, 0x15, 0x31, 0x53, 0x34, 0xde, 0x3c, 0xe4, 0x23, 0x16, 0x1f, + 0xdc, 0x0a, 0x03, 0xc3, 0x13, 0x70, 0x0f, 0xd2, 0x66, 0xb8, 0x81, 0xfc, 0x2e, 0xf4, 0xf8, 0x14, + 0x76, 0x8d, 0x70, 0x6b, 0x42, 0xc6, 0x1c, 0xe0, 0xe0, 0xa3, 0x1b, 0x95, 0x5f, 0x5f, 0x2d, 0xc3, + 0x3d, 0x62, 0xa2, 0x6b, 0x3f, 0xc0, 0x6c, 0x81, 0x23, 0x5f, 0xba, 0xe7, 0xb0, 0x44, 0xb4, 0xc0, + 0x73, 0x73, 0xd7, 0x7f, 0xf2, 0x75, 0x4e, 0x3b, 0xa0, 0xa5, 0x32, 0x61, 0x40, 0x72, 0x03, 0xc2, + 0xd1, 0x22, 0x4b, 0xc4, 0x52, 0x66, 0xaa, 0x5e, 0x0a, 0x15, 0xb7, 0x67, 0x05, 0x5b, 0xf8, 0xea, + 0x89, 0xef, 0x17, 0x83, 0x3b, 0xfd, 0xd7, 0x40, 0x89, 0x0f, 0xc4, 0xd7, 0xae, 0x98, 0xd8, 0xd2, + 0x8a, 0x78, 0xe5, 0x72, 0x43, 0x01, 0x64, 0x1d, 0xde, 0xda, 0x61, 0x5c, 0xc6, 0xcd, 0xc3, 0x56, + 0xff, 0xad, 0xc8, 0xcb, 0xa0, 0x4f, 0x32, 0x56, 0x9f, 0xcf, 0x9c, 0x58, 0xae, 0x77, 0x47, 0x20, + 0xc2, 0x5b, 0x46, 0x79, 0x19, 0x6a, 0x7f, 0x97, 0x5b, 0x4c, 0xb6, 0xdc, 0x9d, 0x6b, 0x4d, 0xef, + 0x2d, 0x4b, 0xbc, 0x7b, 0xcf, 0xe3, 0x64, 0xee, 0x94, 0x1d, 0x1f, 0xc3, 0x19, 0x47, 0x42, 0x3a, + 0xe3, 0x75, 0x81, 0x83, 0xc0, 0x1e, 0x1f, 0xcd, 0xd8, 0x34, 0x1d, 0x81, 0x82, 0xb2, 0x9b, 0x1a, + 0xd7, 0x06, 0x59, 0x85, 0x34, 0x45, 0xcb, 0x75, 0x4b, 0xb8, 0xa4, 0x14, 0x9a, 0x42, 0xf1, 0xa4, + 0xf6, 0x4e, 0xc1, 0x06, 0x5e, 0x7c, 0x72, 0x88, 0x1a, 0xe9, 0x0c, 0xd9, 0x0c, 0x8e, 0xed, 0x19, + 0xa8, 0x6a, 0x68, 0x5a, 0x4e, 0x99, 0x7c, 0xca, 0x4b, 0x53, 0x43, 0xa8, 0xd0, 0xed, 0xd1, 0x9e, + 0xed, 0x2c, 0xc1, 0x31, 0xcf, 0xed, 0x46, 0x51, 0x07, 0xfe, 0xd5, 0xd0, 0x2d, 0x4a, 0x23, 0x60, + 0x9e, 0xcf, 0x5e, 0x5c, 0xdd, 0x85, 0x18, 0xcb, 0x98, 0x8c, 0x0a, 0xa7, 0xc7, 0x0b, 0x4c, 0x24, + 0x11, 0x06, 0x51, 0xfe, 0x7e, 0x3b, 0x0e, 0x1d, 0x73, 0xe5, 0x28, 0x61, 0x39, 0x85, 0xe6, 0x95, + 0x13, 0x32, 0xb4, 0x73, 0x7f, 0xc2, 0x94, 0x66, 0xa2, 0x54, 0x9c, 0x97, 0xae, 0x49, 0xc4, 0x83, + 0x2f, 0x63, 0x78, 0xef, 0xf0, 0x08, 0x85, 0x94, 0x4b, 0xe1, 0x11, 0x96, 0x4b, 0xfd, 0xf6, 0xb2, + 0x05, 0xeb, 0xb2, 0x95, 0x38, 0xdc, 0x7c, 0x8f, 0xd5, 0xd4, 0xd8, 0x60, 0x49, 0xb6, 0x22, 0x2f, + 0x00, 0xda, 0xd6, 0x63, 0x49, 0x71, 0x28, 0x70, 0x32, 0xb4, 0x6d, 0xbd, 0xe7, 0x50, 0x25, 0x3a, + 0x6b, 0x94, 0xab, 0xaf, 0x4d, 0x27, 0xf0, 0xc6, 0x72, 0x51, 0x73, 0x73, 0xd2, 0x5e, 0xf2, 0x59, + 0x93, 0xbc, 0x79, 0x19, 0xda, 0x66, 0x95, 0xf5, 0x8b, 0x4e, 0x2c, 0xf2, 0xd6, 0xf2, 0x40, 0x79, + 0x32, 0x7f, 0xc7, 0xfd, 0x33, 0xb3, 0x78, 0xe8, 0x4b, 0x0a, 0x62, 0x7c, 0x52, 0x3d, 0x43, 0xc7, + 0xdc, 0x23, 0xb6, 0x00, 0xc7, 0x1e, 0x51, 0x9b, 0xa9, 0x0f, 0x9a, 0x1f, 0xd2, 0xf1, 0xd3, 0x22, + 0xf8, 0xbc, 0x76, 0x26, 0x16, 0x39, 0x7f, 0x3e, 0x33, 0x84, 0x4f, 0xf0, 0x96, 0x68, 0xf1, 0xe9, + 0xe3, 0x94, 0x6e, 0xd5, 0xfa, 0x9f, 0x51, 0x9e, 0xbd, 0x4c, 0x4a, 0x4a, 0xcd, 0x77, 0x36, 0xc8, + 0xc8, 0x38, 0x37, 0x19, 0x4c, 0x5b, 0x6f, 0xfd, 0x82, 0x14, 0xde, 0xaa, 0x11, 0xb5, 0xb7, 0x62, + 0x2e, 0xc4, 0xf7, 0x2f, 0xd0, 0x85, 0x1b, 0xfd, 0x42, 0x5e, 0x08, 0xb8, 0x62, 0x10, 0xf1, 0x0b, + 0x6c, 0x1d, 0x32, 0x10, 0x89, 0x33, 0xc2, 0xc3, 0x83, 0x48, 0x6c, 0xd8, 0xa0, 0xf0, 0xd9, 0x55, + 0x05, 0xb3, 0x3e, 0x62, 0xba, 0xed, 0x73, 0x83, 0xf7, 0x38, 0x5a, 0xb7, 0x10, 0xaf, 0x37, 0x52, + 0xdb, 0x25, 0x6b, 0xf6, 0x86, 0xf5, 0xb6, 0x42, 0x14, 0xfb, 0xf0, 0x6e, 0x49, 0x32, 0x4f, 0x4f, + 0x59, 0x96, 0xa0, 0x4c, 0xe0, 0xbc, 0xa0, 0x94, 0x6a, 0x7b, 0x96, 0x22, 0x9c, 0x19, 0xa4, 0xfa, + 0x4b, 0xc8, 0x21, 0x25, 0x8b, 0x73, 0xd8, 0x54, 0x1b, 0x86, 0xdd, 0xcd, 0x55, 0x06, 0x38, 0xbc, + 0xde, 0x84, 0x97, 0x00, 0xb6, 0x8e, 0x17, 0xeb, 0x85, 0x42, 0xe5, 0x24, 0x3b, 0x97, 0xc7, 0xd7, + 0x26, 0xa2, 0x92, 0xc5, 0x13, 0x95, 0xa4, 0x8a, 0x8e, 0xbc, 0xd5, 0x8b, 0xed, 0xbd, 0x30, 0x74, + 0x49, 0x86, 0xfb, 0x42, 0x8f, 0x73, 0x2f, 0xcf, 0xb6, 0xcd, 0x9e, 0x46, 0xcf, 0x67, 0xf4, 0xe9, + 0xe0, 0xfb, 0x5b, 0xab, 0x0d, 0x62, 0x0c, 0xf6, 0x65, 0x1d, 0x72, 0x33, 0x8f, 0xbc, 0xd5, 0xb4, + 0xf3, 0x62, 0x01, 0x6e, 0x6a, 0x88, 0x2c, 0xd6, 0x21, 0x6d, 0xf5, 0x1f, 0x23, 0x44, 0x0c, 0x22, + 0x55, 0x7c, 0x9b, 0x4d, 0x36, 0xba, 0xb1, 0xb2, 0xf1, 0xca, 0xaf, 0x95, 0x89, 0x0e, 0xb9, 0xa8, + 0xf0, 0x55, 0x2d, 0x8b, 0x6f, 0x57, 0xac, 0x40, 0x5c, 0x10, 0xec, 0xfd, 0x7f, 0xdf, 0x1c, 0xf5, + 0xc4, 0x76, 0x50, 0x8f, 0x59, 0x5c, 0x7b, 0xd1, 0x13, 0x66, 0xfa, 0x9c, 0x61, 0x4a, 0x4d, 0x4b, + 0xd5, 0xc1, 0x28, 0x4f, 0x40, 0xd4, 0x16, 0xee, 0xc9, 0x2e, 0x72, 0xf2, 0x52, 0xa3, 0xf4, 0xe1, + 0x3a, 0x76, 0x79, 0x15, 0xbf, 0xdd, 0x2b, 0x98, 0xdc, 0x68, 0xbf, 0x6f, 0x0f, 0x08, 0x43, 0x99, + 0x2a, 0x1a, 0x2e, 0xac, 0x19, 0x87, 0x03, 0x20, 0xfd, 0x3d, 0xa3, 0xf1, 0x03, 0xdf, 0xeb, 0x6e, + 0xd4, 0xe5, 0xfd, 0x65, 0x24, 0x94, 0xc2, 0xc4, 0x83, 0x7d, 0x9f, 0xdc, 0x6e, 0x14, 0x09, 0xcb, + 0xbc, 0x2d, 0xb3, 0xae, 0x8e, 0x2a, 0x1e, 0xac, 0xd3, 0x3a, 0x0f, 0xcb, 0xb9, 0x8a, 0x64, 0x17, + 0xda, 0xb9, 0x4f, 0xbb, 0xbf, 0xd5, 0x01, 0xd1, 0xdc, 0xf3, 0x2b, 0x5e, 0xe9, 0xf2, 0x92, 0x0a, + 0x62, 0xc2, 0xe4, 0x43, 0xc6, 0xf7, 0x2f, 0xeb, 0x78, 0x4f, 0xff, 0x44, 0x16, 0x13, 0xce, 0x5c, + 0xce, 0x77, 0xd6, 0x04, 0x51, 0x4c, 0xd3, 0x67, 0x8d, 0x00, 0x2d, 0x1f, 0xec, 0x10, 0x9b, 0x50, + 0x62, 0xaf, 0xd2, 0xb8, 0x35, 0x1a, 0xd8, 0x1f, 0xad, 0x63, 0x3a, 0xac, 0x6e, 0x7c, 0x5a, 0xab, + 0x0a, 0x89, 0x0d, 0x94, 0xe7, 0x95, 0x70, 0xc2, 0x13, 0x68, 0x06, 0xc2, 0x63, 0x0b, 0xac, 0x22, + 0xff, 0xc6, 0xfa, 0x50, 0xdc, 0x81, 0x58, 0x08, 0xf6, 0x90, 0x8c, 0xb1, 0x60, 0xd4, 0x86, 0xcf, + 0x58, 0x71, 0x2c, 0x9a, 0xbc, 0x95, 0x11, 0x8f, 0xf5, 0x17, 0x31, 0x7f, 0x64, 0xfb, 0x46, 0x10, + 0xa2, 0x10, 0xc7, 0x28, 0x0f, 0x77, 0xfb, 0xba, 0x7c, 0x26, 0x47, 0x0f, 0x69, 0xf8, 0x47, 0xfc, + 0x9c, 0x69, 0x44, 0xee, 0x95, 0xd2, 0xba, 0x17, 0x26, 0x81, 0x31, 0x8d, 0xc8, 0xe6, 0xe5, 0x43, + 0x71, 0x70, 0x30, 0x28, 0xd5, 0xea, 0xcf, 0xde, 0x76, 0x07, 0x12, 0x56, 0x84, 0x6b, 0xb5, 0x50, + 0xeb, 0x3c, 0x41, 0x83, 0xd2, 0xcf, 0xd6, 0x6e, 0x8f, 0x6e, 0x6a, 0x3b, 0x60, 0x7d, 0x50, 0x0e, + 0xfb, 0x33, 0x5a, 0xaf, 0x31, 0x2a, 0xbc, 0x95, 0x12, 0x72, 0x2d, 0x06, 0x8c, 0x01, 0xeb, 0x80, + 0xae, 0x8e, 0x90, 0xf8, 0x97, 0x86, 0xc2, 0x74, 0xaf, 0x43, 0xa6, 0xd9, 0xbd, 0x16, 0x82, 0x74, + 0xd0, 0xe5, 0x58, 0xd2, 0xfb, 0x95, 0x86, 0x1d, 0x6e, 0x9e, 0x24, 0x80, 0xa0, 0x1b, 0x3e, 0x1a, + 0x69, 0x3e, 0xf3, 0xd3, 0xe6, 0x0a, 0x53, 0x65, 0x03, 0x9a, 0x96, 0x09, 0xee, 0xf5, 0x97, 0xe1, + 0x74, 0xa0, 0x9b, 0x68, 0x4f, 0x46, 0xb9, 0xef, 0xa9, 0xc3, 0xc6, 0x51, 0x96, 0x75, 0xa0, 0x9e, + 0x7e, 0x40, 0xe8, 0xdf, 0x2d, 0x19, 0x40, 0x66, 0x96, 0xfb, 0x1a, 0x7e, 0x56, 0xdd, 0xd8, 0xe4, + 0x6c, 0x85, 0x83, 0xf8, 0x47, 0x8b, 0x98, 0x14, 0xba, 0x2f, 0x7e, 0xbf, 0x43, 0x52, 0xdb, 0x67, + 0x76, 0xce, 0xf9, 0x9e, 0xa1, 0x3a, 0x4a, 0xce, 0xaa, 0x82, 0x5b, 0xa4, 0x20, 0xb9, 0x6b, 0x23, + 0xbb, 0x9e, 0xd3, 0x1b, 0x8c, 0x3b, 0xde, 0x61, 0x3f, 0xc9, 0x30, 0x9e, 0x71, 0x42, 0x77, 0x50, + 0x5f, 0x13, 0xdd, 0x94, 0xde, 0xf1, 0xe0, 0x01, 0x72, 0x01, 0xe9, 0xb8, 0xad, 0x5e, 0x88, 0x13, + 0xf6, 0x4a, 0xab, 0xaa, 0x8b, 0xcd, 0x83, 0x2b, 0xbd, 0xb9, 0xc2, 0xad, 0x5f, 0x59, 0x82, 0x63, + 0x7c, 0x2f, 0xab, 0xab, 0x9d, 0x9b, 0x7e, 0x71, 0x64, 0x6f, 0x4f, 0x50, 0x8c, 0x41, 0x53, 0x63, + 0xca, 0x4a, 0x18, 0x5f, 0x1a, 0xc6, 0xdd, 0x4a, 0xc0, 0xcc, 0x8c, 0xe1, 0x94, 0xa7, 0x9e, 0x7d, + 0xee, 0x9c, 0xb1, 0x9a, 0x61, 0x50, 0xfe, 0x8e, 0x92, 0xf6, 0x92, 0xe8, 0xc1, 0x95, 0x3f, 0xc6, + 0x0c, 0x7e, 0xcb, 0xe1, 0x9a, 0x91, 0x00, 0xd2, 0x10, 0x38, 0xa1, 0x82, 0x7d, 0x03, 0xb9, 0x50, + 0xe3, 0xa4, 0x3a, 0x82, 0xc8, 0xfc, 0xf7, 0xc0, 0x20, 0xac, 0xe3, 0x29, 0x1f, 0x8a, 0x73, 0xad, + 0x8c, 0xef, 0xcc, 0xb8, 0xb4, 0xf2, 0x20, 0xc3, 0x8c, 0xff, 0xfc, 0x32, 0x56, 0x03, 0x75, 0xc6, + 0x5a, 0xd7, 0x60, 0xc9, 0x5c, 0xa2, 0x92, 0x03, 0x2a, 0x66, 0x62, 0x4c, 0xfc, 0xbf, 0x06, 0x0e, + 0xe0, 0x1f, 0x39, 0x83, 0x09, 0x82, 0xe3, 0xbe, 0x78, 0x9e, 0x9c, 0x00, 0x47, 0x67, 0xf6, 0xff, + 0x36, 0x78, 0x6f, 0xdc, 0xdd, 0x40, 0x98, 0xba, 0x1e, 0x28, 0x5f, 0x35, 0x7c, 0xce, 0x44, 0x52, + 0xfd, 0x92, 0xb5, 0x2f, 0xce, 0x5f, 0xa7, 0xc9, 0x49, 0xd0, 0x5c, 0xb4, 0x85, 0x6c, 0xaa, 0x90, + 0xc5, 0xaf, 0xb8, 0x6d, 0xb0, 0x1d, 0x58, 0x64, 0xb5, 0x5e, 0x35, 0x3d, 0x09, 0x4f, 0x52, 0x92, + 0x81, 0x1f, 0xdc, 0x18, 0x7b, 0x1f, 0xbc, 0x80, 0xec, 0x70, 0x42, 0x96, 0x32, 0x94, 0xc8, 0xf7, + 0xd2, 0xd5, 0xb8, 0xc0, 0xb6, 0xee, 0xbc, 0xf0, 0xfd, 0x8d, 0x09, 0x15, 0xd7, 0xf9, 0x6f, 0xb9, + 0x50, 0xfb, 0x73, 0x9f, 0x6a, 0x03, 0x9a, 0xa0, 0x22, 0xc9, 0x47, 0x1b, 0x0e, 0x0d, 0x99, 0x95, + 0x05, 0x90, 0x88, 0xd1, 0x2f, 0x9b, 0xce, 0x1a, 0x4e, 0x82, 0x6a, 0x0c, 0x94, 0xb2, 0xd7, 0x7e, + 0x01, 0xbc, 0x21, 0xe8, 0x8e, 0x2c, 0x82, 0xdf, 0x80, 0xad, 0x13, 0x77, 0xa0, 0xa5, 0x30, 0xc2, + 0x8e, 0x72, 0x33, 0x4a, 0x56, 0x41, 0x69, 0x66, 0x44, 0xee, 0xed, 0x9b, 0x28, 0xf7, 0x8e, 0x15, + 0x18, 0x8f, 0x65, 0xfe, 0xab, 0xa8, 0xa3, 0x5b, 0x73, 0xc4, 0xc9, 0xb8, 0x0e, 0xe3, 0x07, 0xa1, + 0x2c, 0x4b, 0xbd, 0xdf, 0x09, 0x4e, 0x3e, 0xa0, 0x7e, 0x99, 0xf3, 0xb7, 0xdd, 0x0a, 0x1c, 0x5d, + 0x2b, 0xf1, 0x75, 0xd6, 0x24, 0xcb, 0xb9, 0xb2, 0x8e, 0x90, 0x5e, 0x86, 0xb2, 0x73, 0x32, 0x0d, + 0x23, 0xe9, 0xfc, 0x7f, 0x98, 0xda, 0x90, 0x63, 0x1b, 0xaf, 0xad, 0x9a, 0x15, 0x14, 0x7d, 0xaa, + 0x80, 0x42, 0x19, 0xfb, 0x9f, 0x86, 0xf3, 0xab, 0xc4, 0xd4, 0x73, 0xc4, 0x8c, 0xe8, 0xd5, 0xce, + 0x4a, 0xab, 0xc8, 0x4c, 0x5f, 0xec, 0x09, 0xe8, 0x17, 0xc4, 0x2d, 0xf1, 0xa6, 0x4e, 0xbc, 0x78, + 0x3f, 0x91, 0x3b, 0x98, 0xb3, 0x98, 0xae, 0x61, 0xc1, 0xaf, 0x45, 0xf6, 0x53, 0x2c, 0x0a, 0x51, + 0x3d, 0xc4, 0x75, 0xb7, 0x0a, 0xc1, 0xfd, 0x62, 0x8f, 0x69, 0x8c, 0x3c, 0x74, 0x73, 0xa8, 0xc2, + 0x51, 0x6e, 0xb9, 0x38, 0xba, 0xdf, 0xeb, 0xae, 0x16, 0xf9, 0x34, 0x8b, 0xed, 0xb1, 0xd5, 0x97, + 0xd6, 0x5f, 0xba, 0xcf, 0x24, 0x9a, 0x89, 0x9d, 0x3f, 0xf5, 0x06, 0x65, 0xc1, 0x8e, 0x71, 0xb9, + 0x92, 0xed, 0xe4, 0xe5, 0xd9, 0xf8, 0x23, 0x33, 0xeb, 0x58, 0x46, 0x30, 0x47, 0x86, 0x1e, 0x0b, + 0xb3, 0xab, 0x67, 0x94, 0xfc, 0x48, 0x64, 0x62, 0x49, 0xe5, 0x80, 0x8d, 0x97, 0x44, 0x69, 0x9b, + 0x08, 0x44, 0x23, 0xd4, 0x81, 0x0e, 0x61, 0xf5, 0x9f, 0xf9, 0x97, 0x01, 0xda, 0xf6, 0x95, 0x72, + 0x07, 0x80, 0x62, 0x88, 0x4d, 0x55, 0xdd, 0xf5, 0xfb, 0x3e, 0x96, 0x2b, 0x50, 0xf5, 0xf2, 0x0a, + 0x5c, 0x29, 0x7d, 0x98, 0x0d, 0xd4, 0xc7, 0x30, 0x0b, 0x48, 0x6f, 0xd3, 0x1e, 0x3b, 0xfe, 0x38, + 0x04, 0xce, 0xe7, 0xc1, 0x56, 0x9a, 0x66, 0x6d, 0xa4, 0xc5, 0x5d, 0x46, 0x7b, 0xce, 0x9d, 0x6f, + 0x63, 0x79, 0xb7, 0x4a, 0x9b, 0x0d, 0x62, 0x2c, 0x78, 0x1a, 0x02, 0x92, 0x33, 0xc1, 0xe0, 0x9e, + 0xd0, 0x7a, 0x41, 0xbe, 0x0d, 0x6d, 0xd8, 0x90, 0x48, 0x2e, 0x8b, 0xa2, 0x8a, 0x2f, 0xb4, 0x8b, + 0x5f, 0x65, 0xd4, 0x08, 0x01, 0x6e, 0xaf, 0x01, 0x5a, 0x7e, 0x6e, 0x80, 0xd4, 0x06, 0xf4, 0xfc, + 0x75, 0x8b, 0xef, 0x3a, 0x14, 0x6a, 0x1b, 0xab, 0x60, 0x82, 0xe8, 0xf0, 0xf2, 0x04, 0xa8, 0xb8, + 0x7d, 0xcc, 0xa5, 0x07, 0xbd, 0xb3, 0xaf, 0x1b, 0x88, 0xc6, 0xb8, 0xba, 0x0a, 0x50, 0xb6, 0xf6, + 0xde, 0x14, 0x35, 0x35, 0x6d, 0x96, 0x87, 0x6d, 0xea, 0x1e, 0x5e, 0x19, 0x11, 0x06, 0x53, 0xcb, + 0x17, 0x6b, 0x8d, 0x90, 0x6b, 0xc3, 0x7f, 0x78, 0x55, 0x43, 0xf1, 0x8f, 0xab, 0x20, 0x69, 0x53, + 0xc3, 0x71, 0x73, 0x14, 0xad, 0x6a, 0xb8, 0xf6, 0x96, 0x05, 0x51, 0x2e, 0x11, 0x0b, 0xfc, 0x25, + 0x68, 0x71, 0xc8, 0x70, 0x2e, 0x34, 0xe9, 0x51, 0x78, 0x30, 0x96, 0x8f, 0xbb, 0x5c, 0x5b, 0xed, + 0x99, 0xc5, 0xbf, 0xd9, 0x44, 0x80, 0x2b, 0x9f, 0x02, 0x86, 0x03, 0xe3, 0x43, 0x99, 0xd4, 0xdf, + 0xf7, 0xc1, 0x02, 0xd6, 0xfe, 0x1b, 0x4d, 0xca, 0x71, 0xeb, 0xa2, 0xb0, 0x4b, 0x6f, 0x5a, 0x11, + 0x2e, 0xbf, 0x23, 0xe1, 0x7d, 0x92, 0xe5, 0xb9, 0x50, 0x3b, 0x6f, 0x9f, 0x25, 0x60, 0xa5, 0x18, + 0x73, 0x1d, 0x86, 0xd0, 0xbb, 0xfa, 0x54, 0x34, 0x4d, 0x9d, 0xdc, 0xb5, 0x73, 0x17, 0x42, 0x06, + 0x90, 0x06, 0x29, 0xd5, 0x4a, 0xc6, 0xdf, 0x9c, 0xfb, 0x76, 0xea, 0xf8, 0xed, 0x1a, 0x9f, 0xff, + 0xc4, 0x09, 0x0a, 0xfc, 0x9c, 0x9d, 0x1a, 0xfd, 0x09, 0x40, 0xd8, 0xb1, 0xce, 0x68, 0x72, 0xf9, + 0xc1, 0xc7, 0x4f, 0xc2, 0xe4, 0x42, 0xab, 0xb1, 0x99, 0x0f, 0x49, 0x8c, 0xbd, 0x9a, 0xfb, 0x83, + 0x9f, 0x07, 0x62, 0x57, 0xdf, 0xd0, 0xfa, 0xf2, 0x1a, 0xf0, 0x43, 0x60, 0x13, 0xc3, 0x97, 0xb4, + 0xeb, 0xc7, 0xbd, 0xf9, 0x40, 0xf6, 0x40, 0x64, 0xc8, 0xee, 0x6b, 0x0d, 0x52, 0xb8, 0x5b, 0xdd, + 0xbc, 0x2c, 0x2b, 0x64, 0xe1, 0x1d, 0xa2, 0x40, 0x62, 0x7b, 0x16, 0x91, 0x2f, 0x2c, 0x0d, 0x87, + 0xbc, 0x0f, 0x8f, 0x21, 0xfd, 0x90, 0x6a, 0x4e, 0x71, 0x63, 0x94, 0x61, 0x7a, 0x7c, 0x78, 0x3b, + 0xa4, 0x8c, 0xb8, 0x43, 0xeb, 0xbc, 0x34, 0xc3, 0xb7, 0xd6, 0x17, 0x7b, 0x78, 0x8e, 0x4d, 0xdb, + 0x29, 0x70, 0xdb, 0x95, 0x2e, 0xdf, 0x64, 0xa0, 0xdd, 0xa6, 0x83, 0x15, 0x8e, 0x08, 0x2c, 0x89, + 0xf9, 0x52, 0xd8, 0xc0, 0x98, 0x76, 0x7a, 0xdd, 0xc5, 0x0b, 0x86, 0xf4, 0x74, 0xe1, 0xde, 0x00, + 0x92, 0xc2, 0x08, 0x91, 0x52, 0xa8, 0xf5, 0xf8, 0xf4, 0x93, 0xb2, 0x03, 0x1f, 0xd0, 0x7b, 0x9c, + 0xe7, 0xee, 0x58, 0xd4, 0x53, 0xe8, 0x8c, 0xde, 0xd7, 0x26, 0xcb, 0xbb, 0xa1, 0xcc, 0x60, 0xbd, + 0x4a, 0xf2, 0x50, 0x72, 0x3a, 0x26, 0x14, 0x83, 0xc3, 0xe4, 0xd6, 0x1c, 0xc1, 0x10, 0xc4, 0xce, + 0x24, 0x97, 0x5b, 0xb2, 0xef, 0x0f, 0x27, 0x80, 0x91, 0x68, 0xcd, 0xc3, 0x5e, 0xd9, 0x56, 0xdf, + 0x83, 0x02, 0xd2, 0xb1, 0x36, 0x96, 0xd5, 0x59, 0xc8, 0xa3, 0x6d, 0x53, 0x20, 0x9a, 0x30, 0xe7, + 0x0b, 0x65, 0xfc, 0x12, 0xa4, 0x54, 0xea, 0xaa, 0x4a, 0x98, 0xdb, 0x19, 0x85, 0x0b, 0x65, 0x5c, + 0x9d, 0x22, 0xcc, 0x80, 0x1c, 0xbd, 0x5b, 0x50, 0xf1, 0xed, 0xea, 0xb1, 0x83, 0x81, 0x82, 0x3d, + 0x95, 0x81, 0xc1, 0x75, 0x10, 0xe1, 0xc5, 0xaf, 0x87, 0x25, 0x8e, 0x8f, 0xaf, 0x13, 0x70, 0xd5, + 0xc8, 0xd8, 0x88, 0x5e, 0xc3, 0x62, 0x69, 0xb1, 0xce, 0x8e, 0x77, 0xd5, 0x59, 0x55, 0xff, 0x90, + 0x23, 0xee, 0x98, 0x89, 0x74, 0x28, 0xc1, 0xcb, 0xb0, 0xb7, 0xd7, 0xa7, 0xdc, 0x53, 0xf8, 0xbb, + 0xf2, 0xbd, 0x8f, 0x8b, 0x52, 0xd0, 0xee, 0xa8, 0x08, 0xd2, 0x90, 0xe3, 0x87, 0x6a, 0x26, 0x27, + 0xcd, 0x5d, 0xca, 0xb7, 0x4b, 0x9a, 0x9b, 0xfd, 0xbc, 0x1b, 0xd2, 0x2c, 0xa4, 0x3f, 0xed, 0xe3, + 0x83, 0xbf, 0xea, 0xce, 0x46, 0xe3, 0xe8, 0x20, 0x25, 0x42, 0x3d, 0x3d, 0x16, 0xee, 0xd9, 0x73, + 0xec, 0xc7, 0x90, 0xcf, 0x5d, 0x2b, 0xdb, 0x17, 0x18, 0xa9, 0x85, 0x32, 0x8b, 0xf4, 0x10, 0xaf, + 0x72, 0x62, 0xb1, 0xc8, 0x9e, 0x89, 0xe7, 0x15, 0x92, 0x94, 0x47, 0x8a, 0xd8, 0x96, 0x01, 0xe9, + 0x43, 0x5f, 0x32, 0x86, 0x21, 0x78, 0xff, 0xa2, 0xb2, 0x0b, 0xa4, 0xaa, 0xb8, 0x12, 0x1e, 0x37, + 0x3a, 0xbb, 0xb6, 0x11, 0x6b, 0x6f, 0x26, 0x8b, 0x42, 0x17, 0x5f, 0x32, 0x77, 0x71, 0x02, 0xcb, + 0x5c, 0x7b, 0x16, 0xef, 0x6d, 0x4d, 0xe3, 0x7e, 0xda, 0xe3, 0xe6, 0xc6, 0x76, 0xcd, 0x55, 0xbf, + 0xfd, 0x42, 0x38, 0x60, 0x6d, 0x1d, 0x83, 0x78, 0x76, 0xdd, 0xd8, 0xe9, 0xb6, 0x38, 0xef, 0x7f, + 0xf4, 0xf2, 0xe4, 0x66, 0x5b, 0x6f, 0xc3, 0x7b, 0xe4, 0xc3, 0x4e, 0xf6, 0x27, 0x66, 0x5d, 0x0e, + 0xf9, 0xf4, 0x5a, 0x18, 0xb3, 0x55, 0x63, 0x4c, 0x25, 0x91, 0x9f, 0x85, 0x35, 0xdb, 0x4d, 0xc0, + 0x50, 0xf3, 0xb9, 0x21, 0xf3, 0xa4, 0x8d, 0x58, 0xa8, 0x82, 0x57, 0x16, 0xff, 0x67, 0xd9, 0x0c, + 0xba, 0x29, 0x5a, 0x8d, 0x5c, 0x00, 0x6d, 0x98, 0xb8, 0xa4, 0x6a, 0xd9, 0x5a, 0xcd, 0x93, 0x44, + 0xf8, 0xd1, 0x24, 0xbb, 0x6e, 0x53, 0x88, 0x01, 0xdb, 0xf0, 0xc9, 0x85, 0x0e, 0x0f, 0xc9, 0x6c, + 0xe1, 0x42, 0x12, 0x24, 0x39, 0x51, 0xa1, 0xc0, 0x75, 0x68, 0x87, 0x18, 0x74, 0x17, 0xfa, 0x6d, + 0xdc, 0xaa, 0x7c, 0x31, 0x48, 0x65, 0xe2, 0x39, 0x65, 0x65, 0x68, 0x5a, 0x38, 0x0e, 0x78, 0xee, + 0xaf, 0x78, 0x78, 0x47, 0x5f, 0x6d, 0xd4, 0x76, 0x85, 0x72, 0xc7, 0xad, 0x83, 0xf6, 0x22, 0xa5, + 0xa2, 0xdd, 0x8e, 0x05, 0x3f, 0x99, 0x1d, 0xd8, 0xff, 0xf0, 0x46, 0x7d, 0x3e, 0x22, 0xf4, 0xe6, + 0xc1, 0xfd, 0x7e, 0xb9, 0x9c, 0xbd, 0xdb, 0x2e, 0x20, 0xcf, 0xfc, 0xa2, 0xc2, 0xc9, 0xcd, 0xba, + 0xee, 0x21, 0xd9, 0xe1, 0x20, 0x06, 0x4e, 0x75, 0x30, 0x5e, 0xd4, 0x95, 0x64, 0xd4, 0x23, 0xbc, + 0x5c, 0xc6, 0xd0, 0xd4, 0x8b, 0x67, 0x2c, 0x0a, 0x0c, 0x8f, 0x73, 0xae, 0x7d, 0xb3, 0x31, 0x33, + 0x5b, 0xb0, 0x2d, 0x64, 0x4a, 0x4b, 0x56, 0xe7, 0xa5, 0x6e, 0x6d, 0xc4, 0xf1, 0x19, 0xdb, 0xaf, + 0x28, 0xa3, 0xbc, 0x3a, 0xcb, 0x62, 0x99, 0xcd, 0x9b, 0x82, 0x8b, 0x16, 0xad, 0x9a, 0x48, 0xd5, + 0x85, 0x2f, 0xd8, 0x68, 0x76, 0x5a, 0x4e, 0x7c, 0x00, 0xe1, 0x7a, 0x2a, 0xb9, 0xe1, 0xf8, 0xa1, + 0xd6, 0x61, 0xd4, 0xc0, 0xfb, 0x9d, 0x79, 0x3f, 0xab, 0x4f, 0x23, 0xea, 0x11, 0x38, 0x03, 0x32, + 0x5d, 0xa8, 0xef, 0xac, 0x12, 0xb2, 0xd8, 0xfe, 0x3d, 0xf7, 0x27, 0x34, 0xe3, 0x11, 0xe7, 0xac, + 0xca, 0xce, 0xa2, 0xac, 0x44, 0x68, 0x68, 0x49, 0xaa, 0xb6, 0xd2, 0xbd, 0x36, 0xd4, 0x33, 0x60, + 0x4a, 0x67, 0x03, 0xa2, 0x71, 0x25, 0x59, 0x32, 0xa9, 0xec, 0xf2, 0xc0, 0xd1, 0x48, 0x33, 0xd9, + 0x4a, 0x8a, 0x88, 0x26, 0x43, 0x64, 0xc7, 0x6f, 0x18, 0xd6, 0x09, 0x55, 0xca, 0x91, 0x47, 0x1d, + 0x56, 0x89, 0xba, 0x8a, 0x19, 0x57, 0x90, 0xda, 0xd2, 0x0b, 0x25, 0x1d, 0xdb, 0x91, 0x2d, 0x27, + 0x78, 0xd8, 0x15, 0xcf, 0xf7, 0x8b, 0xc4, 0x2e, 0xf5, 0x37, 0x40, 0x96, 0xcd, 0x2d, 0x2a, 0xbb, + 0x5b, 0xa2, 0xd7, 0xb0, 0x80, 0xbe, 0x79, 0x7f, 0xe9, 0x0c, 0x61, 0x0d, 0x43, 0xef, 0x7d, 0x61, + 0xbe, 0x58, 0x6b, 0xf6, 0xc3, 0xc1, 0xf2, 0xe8, 0x0a, 0x2b, 0x5e, 0x88, 0xdd, 0x54, 0x81, 0xae, + 0xf1, 0x0b, 0x1e, 0xf0, 0xa3, 0x6f, 0x78, 0x5f, 0x4b, 0xd7, 0xda, 0xaa, 0xcb, 0x93, 0x53, 0x45, + 0x94, 0x79, 0x6e, 0x86, 0x03, 0x48, 0xbe, 0x49, 0x1c, 0xdc, 0x52, 0x57, 0x8a, 0xf0, 0x2e, 0xef, + 0xf9, 0x3f, 0xa2, 0x3c, 0x4a, 0x36, 0x48, 0xed, 0x94, 0x02, 0xdf, 0xe9, 0x48, 0xd4, 0x31, 0x3b, + 0x17, 0x63, 0x57, 0x17, 0xb3, 0xe5, 0x62, 0xd1, 0xa4, 0xa4, 0x09, 0x4c, 0xee, 0xdf, 0x48, 0x6c, + 0x7b, 0xb1, 0x13, 0xe4, 0xfa, 0x06, 0x9a, 0x1e, 0xf6, 0xd6, 0xf0, 0x47, 0xc9, 0xbb, 0xd0, 0xde, + 0x47, 0x47, 0x76, 0x14, 0x5b, 0xd6, 0x6b, 0x3c, 0x58, 0xe8, 0x85, 0x8e, 0x7c, 0x46, 0x63, 0x78, + 0xad, 0xdd, 0x56, 0x1c, 0xa3, 0x7e, 0x19, 0x24, 0xf8, 0x29, 0x79, 0x39, 0x8c, 0x76, 0x6d, 0xbe, + 0xac, 0x68, 0xff, 0x24, 0x51, 0x0f, 0xe3, 0xb9, 0x54, 0x05, 0x3a, 0xf1, 0x4c, 0xb9, 0x67, 0xc0, + 0x4a, 0x30, 0xd0, 0xc0, 0x3c, 0x33, 0x34, 0x8e, 0xb5, 0xdb, 0xa8, 0x42, 0x9a, 0xcb, 0xee, 0x81, + 0x69, 0xd4, 0xfa, 0xf0, 0xeb, 0x95, 0xdf, 0xbd, 0x10, 0x37, 0xf1, 0x2c, 0x76, 0x26, 0xfc, 0x72, + 0xe7, 0x47, 0x5a, 0x10, 0xed, 0x11, 0xf2, 0x4f, 0x52, 0xea, 0xac, 0x10, 0x72, 0x32, 0x8d, 0x39, + 0x95, 0x1a, 0x89, 0xf0, 0x9a, 0x5e, 0xc6, 0x28, 0xaa, 0xf6, 0x41, 0xfc, 0xb8, 0x3c, 0x5e, 0xd9, + 0x55, 0xca, 0x1b, 0xb9, 0x51, 0xb6, 0xe5, 0x7e, 0xda, 0x79, 0x01, 0xaf, 0xa2, 0x3e, 0xbc, 0x5c, + 0xdc, 0xa8, 0x7f, 0x4f, 0x04, 0xd9, 0x9c, 0x34, 0x55, 0x63, 0x83, 0x4e, 0x82, 0x00, 0x25, 0x3b, + 0x8f, 0x44, 0xbf, 0xc2, 0xea, 0x88, 0xa3, 0xc3, 0x23, 0x47, 0x33, 0x20, 0x97, 0xf9, 0x25, 0xfc, + 0xbe, 0xcd, 0x9b, 0xa4, 0x02, 0x67, 0x8b, 0x27, 0xda, 0x50, 0x8f, 0x03, 0x79, 0xe4, 0xa1, 0x85, + 0x76, 0xa7, 0xb2, 0xfc, 0x90, 0xa3, 0x4f, 0xdc, 0x10, 0x05, 0x1d, 0xb6, 0x3c, 0x76, 0x25, 0x94, + 0xa5, 0xd2, 0x01, 0x01, 0x8d, 0x24, 0xf4, 0xd4, 0x13, 0xfe, 0x01, 0xc2, 0xdd, 0x75, 0xa6, 0xef, + 0xe9, 0xc4, 0x7f, 0xb3, 0x47, 0xf3, 0x09, 0xb4, 0xc6, 0x31, 0x34, 0xdc, 0x8a, 0xf3, 0x93, 0xd6, + 0x8a, 0xc0, 0x00, 0x60, 0xf1, 0xac, 0x67, 0x62, 0x8d, 0xff, 0x12, 0xb4, 0xeb, 0x93, 0x95, 0x48, + 0x83, 0xbb, 0x33, 0x87, 0x1f, 0xc3, 0xa6, 0x42, 0xf6, 0x9b, 0x98, 0x04, 0xff, 0x0b, 0x50, 0x29, + 0xae, 0x57, 0x61, 0xe0, 0xeb, 0x79, 0xbd, 0x33, 0x59, 0xb3, 0x9a, 0x20, 0x69, 0x98, 0xb0, 0xbd, + 0x40, 0xdf, 0xcc, 0xab, 0x9f, 0x94, 0xbe, 0x20, 0xe2, 0xa7, 0x20, 0x85, 0xd2, 0x18, 0xf4, 0x08, + 0xd9, 0x0c, 0x28, 0xe8, 0xfc, 0xe1, 0x63, 0xef, 0x5f, 0xd2, 0x24, 0xa3, 0x2d, 0xff, 0xcf, 0xdb, + 0xaf, 0x76, 0xea, 0x5a, 0x84, 0xf3, 0xc0, 0x31, 0x48, 0xe1, 0x32, 0x03, 0x00, 0x2f, 0xe8, 0xd7, + 0xf1, 0x02, 0xa8, 0x52, 0x37, 0x3b, 0x3b, 0x19, 0x37, 0xaf, 0x99, 0xbd, 0xb5, 0x3e, 0x93, 0x61, + 0x5a, 0xbc, 0xc1, 0x56, 0x52, 0x1f, 0x0c, 0x60, 0xbe, 0xc8, 0xaf, 0x44, 0xef, 0x5e, 0x0a, 0x91, + 0x90, 0x85, 0x77, 0x90, 0x59, 0x8c, 0xce, 0xa7, 0xc8, 0x1e, 0xb9, 0x31, 0x87, 0x9f, 0xec, 0x6a, + 0x91, 0xd1, 0x09, 0x8a, 0x08, 0xda, 0x13, 0xd5, 0xa1, 0xa7, 0xd4, 0xc4, 0x36, 0x44, 0xf8, 0xdd, + 0xf8, 0xd3, 0xf6, 0x34, 0xa4, 0xca, 0x68, 0xd0, 0xc0, 0x26, 0x08, 0xd9, 0x40, 0xd7, 0x21, 0x80, + 0x95, 0xdc, 0x18, 0xcf, 0x9a, 0x7b, 0x15, 0xdf, 0xde, 0x72, 0x62, 0x7f, 0x34, 0xfb, 0x86, 0x58, + 0x81, 0x28, 0x37, 0x25, 0x84, 0xfe, 0xc3, 0xd6, 0x5e, 0xee, 0xe1, 0xc2, 0x10, 0x59, 0xb0, 0x8e, + 0xa4, 0xc9, 0xc7, 0x40, 0x93, 0x9a, 0x22, 0x4a, 0x94, 0x05, 0xe7, 0x60, 0xb6, 0x5e, 0x98, 0x07, + 0xe8, 0x50, 0x5d, 0xfb, 0xf1, 0x9e, 0xb8, 0x50, 0x2a, 0x21, 0x13, 0x99, 0x11, 0xb0, 0x10, 0x8d, + 0xd2, 0xda, 0x3f, 0x31, 0xd7, 0x04, 0x31, 0x6e, 0x85, 0xe5, 0x2e, 0x4d, 0x64, 0xfd, 0x66, 0x2d, + 0x73, 0x46, 0xb1, 0x34, 0x2a, 0x8b, 0x48, 0x07, 0x7f, 0x8d, 0x7d, 0x35, 0x91, 0x5a, 0x06, 0xf1, + 0x5e, 0xc4, 0x11, 0x42, 0x24, 0x85, 0xab, 0xfc, 0x55, 0x27, 0x4f, 0x9d, 0x6e, 0x71, 0x97, 0x91, + 0xbb, 0xf6, 0x83, 0x6f, 0x52, 0x90, 0xf2, 0xb0, 0xcb, 0x01, 0xfd, 0xc3, 0xf8, 0x4b, 0x7f, 0xdf, + 0x04, 0x92, 0xc0, 0xc1, 0x0c, 0x84, 0x07, 0xee, 0x66, 0x7b, 0xee, 0xe4, 0x3f, 0xaf, 0x76, 0xc1, + 0x32, 0x2c, 0x33, 0xe7, 0xa1, 0x6b, 0x20, 0x92, 0x5e, 0xdc, 0xfe, 0x54, 0xa6, 0x79, 0x83, 0x01, + 0x01, 0xbc, 0x3e, 0xfe, 0x28, 0xd9, 0xc7, 0xf5, 0x90, 0x77, 0xaf, 0xe5, 0xf5, 0x70, 0x2d, 0xcb, + 0xf8, 0x50, 0x6a, 0x8b, 0x09, 0x23, 0xbd, 0x09, 0xf7, 0xab, 0xe2, 0xa3, 0xd8, 0xce, 0x28, 0x86, + 0x04, 0x69, 0x76, 0xcd, 0xf3, 0x8e, 0x02, 0x12, 0x01, 0x2c, 0xfe, 0x0c, 0xfe, 0x3f, 0xe2, 0x08, + 0x8e, 0x6d, 0x74, 0x7b, 0x3a, 0x2a, 0x03, 0x1b, 0x84, 0x40, 0x25, 0xaf, 0x71, 0x75, 0xc3, 0xca, + 0xa4, 0x38, 0x9d, 0x0d, 0xfa, 0x3c, 0x2b, 0x93, 0x39, 0x80, 0x11, 0x82, 0xca, 0x89, 0x5a, 0xd8, + 0xa5, 0xd9, 0x37, 0x5f, 0x61, 0x6a, 0xa5, 0x11, 0x13, 0x00, 0xc0, 0x07, 0xc2, 0x9b, 0x15, 0x75, + 0x46, 0x1b, 0x56, 0xef, 0x9a, 0xdf, 0xa4, 0x65, 0xbc, 0x97, 0xf4, 0xbb, 0xf8, 0xe5, 0xab, 0x33, + 0x9f, 0xab, 0x6f, 0x78, 0xf1, 0x93, 0x55, 0xb9, 0x56, 0x8e, 0xfa, 0x2e, 0x1e, 0x18, 0x06, 0x47, + 0xb0, 0x0d, 0x0c, 0x22, 0xd0, 0x07, 0xf8, 0xd2, 0xbc, 0xf8, 0xe8, 0x57, 0x3d, 0xb7, 0xee, 0xea, + 0x43, 0x95, 0xed, 0x40, 0x7b, 0xda, 0x3d, 0xa9, 0x05, 0x76, 0x77, 0x9c, 0xe2, 0xd4, 0xde, 0xa0, + 0xeb, 0xc6, 0x5e, 0x40, 0xd2, 0x50, 0x8e, 0xeb, 0x75, 0xf2, 0x41, 0xb5, 0x18, 0x9c, 0x38, 0x4b, + 0xe2, 0x84, 0x32, 0x21, 0xd5, 0xcb, 0x2c, 0xc0, 0xd7, 0xb2, 0x4c, 0xcc, 0xc5, 0x1b, 0x56, 0x5a, + 0xaf, 0xe5, 0xab, 0x79, 0x2b, 0xf7, 0xa5, 0x03, 0xaf, 0xd8, 0xfc, 0x55, 0x28, 0x68, 0x28, 0x7a, + 0x71, 0xc2, 0xc0, 0xac, 0xd9, 0x5f, 0x13, 0x84, 0xf7, 0xd7, 0xe3, 0x0c, 0x23, 0xc2, 0xc0, 0xb1, + 0xcc, 0x9d, 0xbd, 0x3f, 0x77, 0x2d, 0x4a, 0x84, 0x32, 0xec, 0xea, 0x33, 0x80, 0xc0, 0x51, 0x52, + 0x14, 0x33, 0x82, 0xb2, 0x05, 0x3a, 0xa8, 0x68, 0xba, 0xa4, 0xd0, 0x8f, 0x2a, 0x4e, 0x95, 0x1b, + 0xb7, 0x77, 0x3e, 0xd7, 0x80, 0x78, 0xba, 0xcc, 0x3b, 0x94, 0xfc, 0x5f, 0x60, 0x1b, 0x60, 0x08, + 0x33, 0x88, 0x28, 0xde, 0xbb, 0x5b, 0xba, 0xff, 0xdf, 0x45, 0x71, 0x2b, 0x1f, 0x7c, 0xe5, 0x89, + 0xd9, 0xea, 0xd3, 0xd3, 0x12, 0xcb, 0x20, 0xe8, 0xd5, 0x7b, 0x9b, 0x7c, 0x73, 0x3a, 0xef, 0x24, + 0xea, 0xd3, 0xe1, 0xbb, 0xc3, 0xff, 0x7c, 0xa4, 0x44, 0x28, 0x1b, 0x10, 0x67, 0x56, 0x8b, 0x98, + 0xec, 0x68, 0x82, 0x7e, 0xbb, 0x4d, 0x1e, 0xb8, 0x52, 0xfc, 0x5c, 0x55, 0x38, 0x80, 0x95, 0x54, + 0xd3, 0xb5, 0xb2, 0x5a, 0xaf, 0x9f, 0x14, 0x2f, 0xf2, 0x8d, 0x39, 0x32, 0xb2, 0x3d, 0x10, 0x00, + 0x12, 0xef, 0xc6, 0xf1, 0xff, 0xde, 0x24, 0xb9, 0x1d, 0x68, 0xef, 0x6c, 0x07, 0x4c, 0xee, 0x18, + 0x9c, 0x49, 0x92, 0xcf, 0x83, 0xdb, 0xae, 0xaf, 0xc3, 0xf5, 0x08, 0xa1, 0xbb, 0x4f, 0x1e, 0xdd, + 0x2b, 0xae, 0x8e, 0x46, 0x29, 0xfc, 0xd7, 0x2a, 0x41, 0xe1, 0x03, 0x81, 0x73, 0xca, 0xdb, 0xd8, + 0x86, 0x62, 0x78, 0x8a, 0x93, 0x19, 0xe0, 0x24, 0x88, 0xe4, 0x8c, 0xf4, 0x74, 0xb9, 0x8d, 0x6b, + 0xf0, 0x64, 0x8d, 0x26, 0xff, 0x49, 0x8d, 0xe4, 0xf2, 0x56, 0xef, 0x5e, 0xd8, 0x87, 0xce, 0xfc, + 0xe1, 0x70, 0xda, 0x38, 0x84, 0x9d, 0xa6, 0x09, 0xe3, 0xb9, 0xb8, 0x85, 0x83, 0xaf, 0x4d, 0x71, + 0x5b, 0xa7, 0x03, 0xae, 0x04, 0x8c, 0x8d, 0x16, 0xb3, 0xcd, 0xe5, 0x52, 0x13, 0x3d, 0x83, 0x1f, + 0x2e, 0xa4, 0x21, 0x7d, 0xa7, 0x8e, 0xa9, 0xc9, 0x94, 0x26, 0xb4, 0xe1, 0x94, 0x00, 0x26, 0xf7, + 0xfd, 0x29, 0x6d, 0x2a, 0x2e, 0xe8, 0x7d, 0x16, 0x20, 0xc8, 0x08, 0x77, 0x0a, 0x69, 0xa2, 0x55, + 0x5f, 0xef, 0x02, 0x57, 0xfb, 0x0d, 0xcc, 0x02, 0x7a, 0x85, 0xf8, 0x45, 0x1f, 0x7e, 0x3f, 0xcf, + 0xc1, 0x47, 0x5d, 0x56, 0x80, 0x97, 0x7e, 0xce, 0x29, 0xf6, 0x08, 0xec, 0xf3, 0xaa, 0x48, 0x1b, + 0xdd, 0x73, 0x1d, 0x18, 0x51, 0x75, 0x51, 0x2a, 0x3d, 0x29, 0x71, 0x04, 0x10, 0x69, 0xe1, 0xf5, + 0xb7, 0x92, 0x21, 0x35, 0xc1, 0x9e, 0xa5, 0x30, 0xa3, 0xa4, 0x68, 0xf2, 0xda, 0x8b, 0x86, 0xc6, + 0x0b, 0x40, 0xbe, 0x0d, 0x21, 0x4f, 0x17, 0x04, 0x55, 0x15, 0xd9, 0x73, 0x69, 0x4d, 0x74, 0x5d, + 0x73, 0x69, 0x67, 0x99, 0xef, 0x99, 0xed, 0xcd, 0x7e, 0x84, 0xb2, 0xca, 0xfa, 0xd2, 0xaa, 0x9b, + 0xf6, 0x31, 0x72, 0xc4, 0x11, 0xaa, 0x4a, 0x7d, 0x12, 0x75, 0x27, 0x7c, 0x4e, 0x8f, 0xd5, 0xb4, + 0xf8, 0x98, 0x6c, 0x24, 0x1b, 0x7e, 0x9e, 0xeb, 0x89, 0x74, 0x4b, 0x8c, 0xb9, 0x41, 0x86, 0x0a, + 0x0a, 0x8e, 0x82, 0x9d, 0xf0, 0xca, 0x05, 0xda, 0x20, 0x90, 0x22, 0x32, 0xf9, 0x4b, 0x6f, 0xf3, + 0x3a, 0xa1, 0x58, 0x27, 0x13, 0x83, 0x21, 0xe3, 0xa6, 0x48, 0x8b, 0xbe, 0x5d, 0x64, 0xd0, 0xe0, + 0xec, 0xef, 0xc9, 0x75, 0x47, 0x49, 0x76, 0x6d, 0x85, 0x1c, 0x80, 0xbe, 0x57, 0x22, 0xf6, 0x9c, + 0xf6, 0x1f, 0x18, 0x01, 0x5f, 0xb5, 0xa4, 0x42, 0xbf, 0xa7, 0x85, 0xf3, 0xef, 0xd6, 0x32, 0x5e, + 0x47, 0x15, 0x29, 0x08, 0x35, 0x87, 0xeb, 0xbc, 0x27, 0xa4, 0xed, 0x02, 0x34, 0x10, 0x8e, 0xfa, + 0xf3, 0xc3, 0xa2, 0xad, 0x61, 0x42, 0xcd, 0xa9, 0xcc, 0x3b, 0x22, 0x06, 0x6e, 0x0a, 0x66, 0x3b, + 0xb7, 0x91, 0xae, 0xba, 0x0e, 0x8c, 0xc1, 0x4c, 0x78, 0x82, 0xa9, 0x68, 0x30, 0xf5, 0xc1, 0x3f, + 0xe2, 0x41, 0x58, 0xfc, 0x7e, 0x66, 0xca, 0x6c, 0x70, 0x56, 0xdf, 0x8b, 0x02, 0x3c, 0x46, 0x29, + 0xe7, 0xb2, 0x74, 0xfd, 0x6a, 0xc5, 0xd6, 0x7d, 0xcd, 0x6c, 0x56, 0xee, 0x10, 0x75, 0x82, 0x60, + 0x53, 0xc6, 0xa3, 0x7b, 0x24, 0x4f, 0x65, 0x68, 0x0f, 0x4f, 0x27, 0x09, 0x7d, 0xcb, 0x00, 0x0d, + 0xa3, 0x31, 0x80, 0x7d, 0x69, 0xcb, 0x83, 0x96, 0xae, 0xfe, 0x95, 0xf0, 0x54, 0x12, 0x0d, 0xfa, + 0xdc, 0xb0, 0xa2, 0xb6, 0x6e, 0x51, 0x4c, 0x20, 0xca, 0xc5, 0xb1, 0xdc, 0xcd, 0xa3, 0x97, 0x13, + 0x14, 0x44, 0x7f, 0xaf, 0x03, 0x89, 0x3f, 0xab, 0x5a, 0x7c, 0x9f, 0x3f, 0x1e, 0x57, 0x0f, 0xbe, + 0x86, 0xf6, 0xbf, 0x0b, 0x20, 0xa2, 0xc4, 0x07, 0xfd, 0x15, 0xc9, 0xcc, 0x1f, 0xf6, 0x39, 0x4d, + 0x1e, 0x98, 0xc9, 0xed, 0x60, 0x82, 0x67, 0x94, 0xc9, 0xaa, 0xa2, 0x48, 0x43, 0x58, 0x0c, 0x7a, + 0xe4, 0xd0, 0xa2, 0x28, 0x75, 0x53, 0x15, 0x86, 0x10, 0x2f, 0x27, 0xc1, 0x7c, 0xbf, 0x3c, 0xad, + 0xcf, 0x18, 0xa1, 0xd4, 0x6e, 0xff, 0x59, 0x96, 0x29, 0xe4, 0x8f, 0xa4, 0xc8, 0xbd, 0xbe, 0xe4, + 0x9c, 0x76, 0x20, 0x1e, 0xfc, 0xeb, 0x34, 0x07, 0xe5, 0xc4, 0x50, 0xbb, 0xac, 0x1c, 0x23, 0xaa, + 0xd4, 0xe5, 0x3b, 0xd6, 0x2b, 0xe4, 0xd1, 0x80, 0xfd, 0x5e, 0x5e, 0x80, 0xc7, 0xe2, 0xcf, 0xde, + 0xb0, 0xfd, 0x7d, 0x00, 0x64, 0x42, 0x7b, 0x3f, 0x96, 0x27, 0x3c, 0xa4, 0xc3, 0x1a, 0x00, 0xee, + 0xaa, 0x87, 0x42, 0x32, 0x52, 0xf4, 0x39, 0x04, 0xf6, 0xfa, 0xe6, 0x8f, 0x37, 0x7a, 0x61, 0x2b, + 0x19, 0xff, 0xd5, 0x3a, 0x6e, 0xbe, 0x1c, 0x75, 0x32, 0x99, 0x45, 0x52, 0xa5, 0x5f, 0x45, 0xf1, + 0x0c, 0x40, 0x94, 0xc6, 0x92, 0x0a, 0x6c, 0x62, 0x37, 0xd6, 0x00, 0x85, 0x74, 0xd9, 0xef, 0x46, + 0x1b, 0x0a, 0x5f, 0x93, 0x71, 0xdd, 0x6f, 0x5a, 0x30, 0xb8, 0xcd, 0x6d, 0xa0, 0x23, 0xe4, 0x36, + 0x04, 0x24, 0x85, 0xf7, 0x10, 0xc6, 0xac, 0xed, 0x57, 0xc7, 0x18, 0x34, 0xd0, 0x5a, 0x6f, 0x28, + 0x30, 0xaa, 0x84, 0x5d, 0x6e, 0x98, 0x16, 0x7e, 0x2f, 0xe5, 0xe9, 0x93, 0x02, 0x83, 0xc1, 0xbe, + 0xe7, 0x22, 0xf8, 0x1a, 0xfd, 0x48, 0x1f, 0xbc, 0xe2, 0x3a, 0x92, 0xb9, 0xb4, 0xf2, 0xb1, 0x39, + 0x61, 0x09, 0x6a, 0x7a, 0xb8, 0x2a, 0x01, 0x55, 0x9f, 0x6d, 0x71, 0x64, 0xd1, 0x9c, 0x16, 0x3a, + 0xab, 0x02, 0xdc, 0x48, 0x09, 0x23, 0x98, 0x3c, 0x21, 0xb6, 0x35, 0xa4, 0x28, 0xa5, 0x3d, 0xe8, + 0xab, 0x7b, 0xb4, 0x34, 0x86, 0xc7, 0xa7, 0xdf, 0x4c, 0xa3, 0x2f, 0x66, 0x84, 0x8e, 0xd9, 0xbb, + 0x81, 0x07, 0xa2, 0xc1, 0xa3, 0x2c, 0xe3, 0x1e, 0x69, 0x2c, 0xba, 0x0b, 0x36, 0x87, 0x24, 0x85, + 0xf2, 0x02, 0x94, 0xf1, 0xac, 0x13, 0xe7, 0x07, 0xe9, 0x86, 0x1f, 0x0a, 0x7e, 0x6f, 0x37, 0xe9, + 0x59, 0xdf, 0xbd, 0x1c, 0x79, 0x7b, 0x3a, 0xfb, 0xc5, 0x2c, 0xc1, 0x3a, 0xcd, 0xe1, 0xd0, 0xe3, + 0xa6, 0xc8, 0x9e, 0xe4, 0x0b, 0xe5, 0x8e, 0x22, 0x2a, 0x3f, 0x50, 0x37, 0x1d, 0x00, 0x30, 0xaa, + 0x77, 0x26, 0x4b, 0xa9, 0xd3, 0xc8, 0x8f, 0xbe, 0x4a, 0xbe, 0xae, 0x7b, 0xb3, 0x4e, 0xb6, 0xc8, + 0x32, 0x60, 0xe8, 0x80, 0x3a, 0x20, 0xff, 0xfb, 0x51, 0x72, 0x36, 0x42, 0xb8, 0xb0, 0x5b, 0x6f, + 0xcd, 0xb8, 0x8d, 0x88, 0x5f, 0x9a, 0x9e, 0x26, 0xac, 0x2b, 0xaf, 0xb4, 0xbc, 0x0e, 0x99, 0x8d, + 0x84, 0xb7, 0x2f, 0x06, 0xc0, 0xd1, 0xfd, 0x03, 0xdf, 0x0c, 0xa6, 0xa0, 0x3a, 0xf8, 0x60, 0xf2, + 0x71, 0x5a, 0x34, 0x38, 0x6b, 0x82, 0xb1, 0xd6, 0x32, 0x1a, 0x79, 0x57, 0xc1, 0xe8, 0x85, 0x5a, + 0xcf, 0x89, 0x68, 0x57, 0x33, 0x6e, 0x3c, 0x0f, 0xcc, 0x7c, 0xcf, 0x1d, 0x9e, 0x69, 0x50, 0xfa, + 0x03, 0x02, 0x22, 0x15, 0x70, 0xa7, 0xe1, 0x10, 0xc5, 0x0f, 0xcc, 0x9f, 0x9a, 0xd5, 0x1a, 0xaa, + 0x5e, 0xd9, 0x50, 0x48, 0x52, 0xb5, 0x6d, 0x0b, 0xa6, 0x0e, 0xa5, 0x84, 0x34, 0x2f, 0x1d, 0x41, + 0x22, 0xb1, 0x80, 0xef, 0x43, 0x28, 0x33, 0x7d, 0x8e, 0x07, 0x52, 0x82, 0xd4, 0x13, 0xa9, 0x1d, + 0x9a, 0xda, 0x57, 0xd9, 0xda, 0x66, 0x2c, 0xe6, 0x56, 0xf3, 0xa8, 0x5f, 0x37, 0xcc, 0x47, 0x5b, + 0x3e, 0x67, 0x8a, 0x64, 0x8e, 0x65, 0xa6, 0xa7, 0x7b, 0x28, 0x40, 0xd3, 0x19, 0xba, 0x7e, 0xc0, + 0x5d, 0x67, 0xd0, 0xa9, 0x69, 0x7e, 0xec, 0x81, 0x1a, 0x92, 0xb4, 0x6a, 0x92, 0xcc, 0x9c, 0xc9, + 0x6e, 0x6e, 0xc3, 0xc5, 0x95, 0x48, 0xcf, 0x3f, 0xf7, 0x23, 0xb1, 0x40, 0xba, 0x7b, 0x3b, 0xf2, + 0xf2, 0x64, 0x77, 0x28, 0xcf, 0x15, 0xc2, 0x57, 0x87, 0x45, 0xd2, 0x4f, 0x11, 0xc2, 0x35, 0xad, + 0x00, 0x5d, 0x85, 0x4a, 0xd2, 0x78, 0x97, 0xfd, 0x16, 0xf3, 0x70, 0x5e, 0x18, 0xf8, 0x58, 0x8f, + 0x72, 0x7a, 0xf0, 0x18, 0xe9, 0xc3, 0xac, 0x59, 0x55, 0x75, 0x70, 0x84, 0x5f, 0x96, 0xff, 0xac, + 0x42, 0x64, 0xfb, 0x5d, 0x75, 0x96, 0x6a, 0x52, 0x8c, 0x13, 0xe8, 0x66, 0xab, 0x3a, 0x36, 0x3b, + 0x5a, 0x87, 0x42, 0xfc, 0x41, 0xd6, 0x57, 0x47, 0x50, 0x35, 0x5e, 0xae, 0x1f, 0xc8, 0x5a, 0xa5, + 0x93, 0xac, 0x4a, 0x18, 0xbe, 0x79, 0xc3, 0x00, 0x4d, 0xfe, 0xc9, 0xb1, 0x4d, 0x8b, 0xe0, 0x80, + 0xd6, 0x29, 0x02, 0xb4, 0x53, 0xcf, 0xa6, 0xd6, 0x8e, 0xe2, 0xd7, 0x9a, 0x6f, 0x58, 0x34, 0xcf, + 0x5f, 0x9d, 0x7d, 0xf0, 0xb1, 0xfb, 0xb5, 0xc8, 0x5f, 0xbd, 0xb5, 0x67, 0xf8, 0xcb, 0x01, 0x58, + 0xaf, 0xfc, 0xfa, 0xd6, 0x35, 0x75, 0x3f, 0x7d, 0x3a, 0x28, 0xfa, 0xeb, 0xfe, 0x3d, 0xe0, 0x49, + 0x60, 0x64, 0x12, 0xec, 0x28, 0x4e, 0x3b, 0xd9, 0xdc, 0x8f, 0x54, 0xc4, 0xef, 0xa8, 0x41, 0x1c, + 0x34, 0xd7, 0xe4, 0xae, 0x02, 0xec, 0x1b, 0x57, 0xcf, 0x9c, 0xd0, 0xcf, 0x9b, 0x21, 0x5a, 0x83, + 0x2e, 0xa0, 0x71, 0x9f, 0x3e, 0x9d, 0xb1, 0xbe, 0x0e, 0x82, 0x2f, 0xa0, 0x9f, 0x72, 0xb5, 0x0b, + 0xa9, 0xb9, 0xb2, 0xf1, 0xd7, 0xa7, 0xe2, 0x0d, 0x37, 0xf3, 0xde, 0x44, 0xb9, 0x11, 0x9b, 0x0c, + 0xdb, 0x5a, 0x1c, 0x68, 0xc1, 0x29, 0x07, 0xa4, 0x64, 0xb7, 0xe3, 0x1b, 0xb7, 0x42, 0xac, 0x7a, + 0xa1, 0xaf, 0x19, 0x0a, 0x80, 0x98, 0x1d, 0xd3, 0x9f, 0x50, 0xeb, 0x69, 0xd4, 0x25, 0xe7, 0x17, + 0xb6, 0xd6, 0x6f, 0x91, 0xa5, 0x70, 0x56, 0x8d, 0x2e, 0xb8, 0xec, 0x2d, 0x8d, 0x59, 0x8a, 0x95, + 0x1b, 0x53, 0x6f, 0xe0, 0x10, 0x55, 0x5b, 0xae, 0x36, 0x58, 0xcf, 0xc1, 0xfa, 0xd6, 0x36, 0x83, + 0xcc, 0x46, 0x7c, 0xbb, 0x13, 0xea, 0x93, 0xb6, 0xe7, 0xc9, 0x8b, 0x5a, 0x01, 0xa0, 0xb9, 0xac, + 0x01, 0xbc, 0x2e, 0xf9, 0x71, 0x34, 0x62, 0x68, 0xe1, 0x50, 0x40, 0x1a, 0x8b, 0x78, 0x9a, 0xaf, + 0xd7, 0xde, 0x51, 0x53, 0x7c, 0xf0, 0x10, 0xd0, 0x41, 0xaa, 0x3d, 0xd8, 0xc8, 0x61, 0x5e, 0x03, + 0xff, 0xd9, 0x32, 0x72, 0xf6, 0x4f, 0xfa, 0xff, 0x77, 0x07, 0x99, 0xa4, 0x17, 0x9d, 0x08, 0xda, + 0xa8, 0x84, 0x6b, 0x77, 0x92, 0x57, 0xa3, 0xbf, 0xf5, 0xbd, 0xff, 0xde, 0x87, 0x4f, 0xed, 0x7f, + 0x8d, 0x8e, 0xf1, 0x7b, 0xc1, 0x5f, 0xaf, 0x67, 0x5d, 0xae, 0x5e, 0x82, 0xd0, 0xa8, 0xd0, 0xbf, + 0xb5, 0xe0, 0xd8, 0xbc, 0xfe, 0x07, 0x67, 0x25, 0xaa, 0xf9, 0x37, 0x7f, 0x38, 0x98, 0xed, 0xfa, + 0x65, 0xaf, 0x88, 0x50, 0xd7, 0x43, 0x75, 0x08, 0xf5, 0x30, 0x68, 0xc4, 0xbf, 0x97, 0x41, 0x64, + 0x51, 0x88, 0xab, 0x30, 0xf9, 0x70, 0x87, 0x3e, 0xc2, 0x86, 0xa5, 0x46, 0xec, 0xfa, 0xba, 0xad, + 0x21, 0xa2, 0xd6, 0x27, 0x7d, 0x99, 0x45, 0xa2, 0x65, 0xcb, 0xe5, 0x85, 0x1e, 0x05, 0xa6, 0xfd, + 0x29, 0xd2, 0xe7, 0x49, 0xf1, 0xf8, 0x6f, 0x83, 0x95, 0xbb, 0xed, 0x9f, 0x55, 0xb1, 0x93, 0x41, + 0x56, 0xbd, 0x10, 0x69, 0x99, 0x33, 0x99, 0x0d, 0xbf, 0x47, 0x07, 0xa3, 0xf2, 0x47, 0x26, 0xb5, + 0xfe, 0x85, 0xf7, 0xb2, 0xa4, 0x1b, 0x82, 0xdd, 0xb4, 0xd9, 0x49, 0x6b, 0x15, 0x8b, 0x42, 0x6f, + 0xec, 0x62, 0x2c, 0xff, 0xc5, 0x30, 0xae, 0x03, 0x9e, 0x2e, 0xdc, 0x73, 0x89, 0xdf, 0x32, 0x05, + 0xbc, 0x9d, 0x78, 0x59, 0x23, 0xd1, 0x25, 0x28, 0x2c, 0xe0, 0xa0, 0x28, 0x38, 0xae, 0x6a, 0x84, + 0xdb, 0x89, 0xf5, 0x8c, 0xf5, 0x98, 0x92, 0x9b, 0x25, 0x81, 0xf2, 0x2f, 0xa1, 0xec, 0x77, 0x9d, + 0x4e, 0x17, 0xe0, 0xf3, 0xbc, 0x79, 0x51, 0xf3, 0xbc, 0xfa, 0xcd, 0xd2, 0x33, 0xe0, 0xb7, 0x25, + 0xe8, 0x0f, 0x61, 0xb4, 0x44, 0x2d, 0xf9, 0x61, 0xd3, 0x67, 0xcd, 0xca, 0xa8, 0xed, 0x14, 0x65, + 0xd4, 0xba, 0xc7, 0x64, 0xb8, 0xbf, 0xcb, 0xff, 0x1d, 0x2c, 0x8c, 0xaf, 0x59, 0x58, 0xd1, 0xb3, + 0x3a, 0x32, 0x12, 0xfa, 0x6f, 0xe0, 0x25, 0xe6, 0xdb, 0x87, 0xe2, 0x48, 0x72, 0x3b, 0x17, 0xcd, + 0xfe, 0xaa, 0x37, 0x5b, 0xc4, 0xb9, 0xfc, 0x42, 0x51, 0x1c, 0x65, 0x78, 0xff, 0x8f, 0xb1, 0x61, + 0xf7, 0xba, 0x0b, 0x35, 0x8a, 0x33, 0x2d, 0xff, 0xab, 0x48, 0x71, 0x02, 0x09, 0x5a, 0x7e, 0x58, + 0x27, 0x41, 0x81, 0xef, 0xbf, 0x4a, 0xca, 0xf2, 0xef, 0xb2, 0x74, 0x27, 0x70, 0xf1, 0x23, 0x36, + 0xde, 0x91, 0x58, 0xbe, 0xb7, 0x06, 0x37, 0x55, 0x92, 0x6b, 0x7b, 0xbc, 0xee, 0x7d, 0x3a, 0x74, + 0x83, 0xc4, 0x7b, 0xe9, 0x98, 0x2c, 0x9f, 0xc3, 0x5c, 0xe9, 0x5a, 0x0c, 0x3c, 0xfc, 0x2b, 0x98, + 0xc6, 0x2a, 0xc9, 0x78, 0x03, 0x24, 0x39, 0xf2, 0x7c, 0x40, 0x12, 0xdc, 0x98, 0x0d, 0xed, 0xdb, + 0xe6, 0x8c, 0x63, 0x71, 0x14, 0x12, 0xad, 0xd8, 0xa7, 0x1c, 0x21, 0x6b, 0xd0, 0x3a, 0x79, 0x5e, + 0x72, 0xb4, 0x88, 0x03, 0xd4, 0xc5, 0x16, 0xb2, 0xa2, 0xd8, 0x2c, 0x96, 0x8e, 0xf8, 0x31, 0x98, + 0x84, 0xfe, 0x7e, 0x59, 0xe7, 0xde, 0xee, 0x59, 0x12, 0x7c, 0xed, 0x0a, 0x73, 0x7b, 0xa1, 0x16, + 0x51, 0xae, 0x1f, 0xe9, 0xb0, 0xb1, 0x42, 0x7b, 0xee, 0x61, 0xf7, 0x17, 0xce, 0xce, 0x21, 0xf9, + 0xb0, 0x92, 0x4b, 0xc6, 0xaa, 0x3b, 0x05, 0x50, 0x61, 0xac, 0x79, 0x7c, 0xee, 0xe2, 0xca, 0xf6, + 0xff, 0x0e, 0x19, 0xb1, 0x48, 0x74, 0xdc, 0xf9, 0xa1, 0x8e, 0xf9, 0x6a, 0x04, 0xfb, 0x5e, 0xfc, + 0x2c, 0x0f, 0x2c, 0xec, 0x03, 0x4e, 0x0a, 0x0d, 0x1c, 0x7c, 0x60, 0xfe, 0xdc, 0x2f, 0xae, 0x7c, + 0x73, 0x62, 0x39, 0x0b, 0xc0, 0x47, 0x27, 0x33, 0x1b, 0xcc, 0xd2, 0x99, 0x38, 0xc9, 0x61, 0x22, + 0xe3, 0x54, 0x1e, 0x31, 0xf4, 0x58, 0x6f, 0x28, 0x47, 0x26, 0x18, 0x4b, 0x72, 0x26, 0xc8, 0x7e, + 0xa2, 0xb5, 0xd7, 0xad, 0xb0, 0xbf, 0xb3, 0x52, 0xbe, 0xf5, 0xaa, 0xc6, 0x0d, 0x7f, 0x0a, 0xc5, + 0xaa, 0xb6, 0x56, 0x98, 0x01, 0xf8, 0x50, 0xbb, 0x39, 0xca, 0x83, 0xb4, 0xed, 0x3a, 0x50, 0x7a, + 0x93, 0x26, 0x16, 0x49, 0x36, 0x4b, 0x01, 0x7a, 0x1f, 0x06, 0x1e, 0x2f, 0x3f, 0x0e, 0xd5, 0x37, + 0xa6, 0x7d, 0x1c, 0x0f, 0x6b, 0x98, 0x2b, 0x42, 0x34, 0x0e, 0x97, 0x06, 0xa6, 0x61, 0xa6, 0x1b, + 0xf0, 0xf6, 0xf8, 0xe4, 0x1c, 0x67, 0x0a, 0xe7, 0x99, 0x6d, 0xa9, 0x68, 0x94, 0x9e, 0xe1, 0xfe, + 0x13, 0xf6, 0x2d, 0x8f, 0x92, 0x5b, 0x97, 0xe8, 0xb4, 0xfb, 0x27, 0xd3, 0x6a, 0x99, 0xc6, 0x32, + 0x51, 0xbf, 0x6c, 0x84, 0xb4, 0x29, 0x2e, 0x1d, 0x03, 0xdf, 0x5e, 0x22, 0x3d, 0x9c, 0xb6, 0x9e, + 0x44, 0x0d, 0xad, 0x42, 0x51, 0x12, 0x16, 0x0e, 0xf2, 0xa7, 0xf8, 0x4f, 0xce, 0xd3, 0xc4, 0x0f, + 0x6f, 0x0a, 0x5e, 0x78, 0xaa, 0x02, 0xa8, 0xd3, 0xc4, 0x6d, 0x27, 0xb1, 0xa5, 0x51, 0x1e, 0x4a, + 0xcf, 0x00, 0x97, 0x3e, 0xde, 0x76, 0x1b, 0x05, 0xcf, 0xd9, 0xf4, 0xff, 0xcb, 0xd1, 0x3a, 0x8a, + 0xf8, 0xc5, 0x1d, 0xa0, 0x67, 0x29, 0xa3, 0x4a, 0xb8, 0xde, 0xe1, 0x70, 0x4a, 0x61, 0x7c, 0xa6, + 0xfd, 0x3e, 0x6d, 0xaf, 0x6f, 0x3a, 0xc9, 0x27, 0xb7, 0xab, 0x05, 0x61, 0x8f, 0x58, 0x86, 0x9f, + 0x7d, 0xf4, 0x7e, 0xeb, 0x04, 0x4e, 0x28, 0x08, 0x52, 0xcf, 0x71, 0xce, 0xb2, 0x7a, 0xb0, 0x4f, + 0xbb, 0xe2, 0x4d, 0xf9, 0x0d, 0xf7, 0x26, 0x13, 0x38, 0xc5, 0x99, 0x32, 0xcb, 0x96, 0x69, 0xc3, + 0xa3, 0xba, 0x5f, 0xf8, 0x19, 0x8e, 0xdc, 0xa2, 0x1f, 0xc3, 0xb7, 0x33, 0x3c, 0x86, 0xb9, 0x10, + 0xf4, 0xe7, 0x11, 0xc8, 0x24, 0x29, 0xf2, 0x18, 0xfe, 0x6e, 0x8b, 0xf4, 0x7e, 0xa1, 0x53, 0xe7, + 0xa6, 0x71, 0x0b, 0x80, 0x3c, 0x30, 0x02, 0xa7, 0x93, 0x62, 0xad, 0xe9, 0x12, 0x0b, 0x15, 0x81, + 0xa4, 0xd4, 0xf5, 0x7e, 0xb0, 0x2d, 0xed, 0xa2, 0x26, 0xf0, 0xdb, 0xfb, 0x76, 0x63, 0xce, 0x50, + 0x09, 0x9d, 0x64, 0x56, 0x48, 0x8e, 0x38, 0xe4, 0xe7, 0xfe, 0x97, 0x9e, 0x79, 0x53, 0xce, 0xac, + 0xab, 0x9f, 0xdd, 0xb4, 0x23, 0x30, 0x89, 0x5d, 0x2e, 0xe4, 0x1c, 0xb1, 0x4d, 0xd3, 0xae, 0x38, + 0x0e, 0x67, 0xce, 0x32, 0x18, 0xf8, 0x12, 0x7e, 0xd4, 0xd4, 0xe9, 0xad, 0x6c, 0xbc, 0xc7, 0x88, + 0x8f, 0x34, 0xa1, 0x6f, 0x92, 0x69, 0x4b, 0x28, 0x25, 0xe5, 0x54, 0x03, 0xdb, 0xf4, 0x7d, 0xc1, + 0x1e, 0x0d, 0x04, 0x22, 0x8c, 0x25, 0x9d, 0x6e, 0x96, 0x6d, 0x85, 0x8a, 0x3d, 0x6b, 0xf1, 0x9a, + 0x8a, 0x26, 0x3f, 0x0e, 0xd2, 0xf7, 0x67, 0xd2, 0x0b, 0xf8, 0x32, 0xea, 0xab, 0x3d, 0x13, 0x83, + 0x6e, 0xdf, 0x7f, 0xf9, 0x86, 0x67, 0x7d, 0x43, 0x4f, 0xef, 0x36, 0xfe, 0xfd, 0xe0, 0x63, 0xa7, + 0x5c, 0x64, 0xe0, 0x29, 0x29, 0xa3, 0x99, 0x31, 0x65, 0x7b, 0x3a, 0xea, 0xba, 0x22, 0x40, 0x99, + 0x12, 0x57, 0x95, 0x49, 0x3e, 0x07, 0xdb, 0x49, 0xda, 0xb8, 0xe3, 0xf0, 0x9d, 0xb1, 0x91, 0x4b, + 0x03, 0xa4, 0x70, 0xcb, 0xc4, 0x5b, 0xa4, 0x79, 0xa6, 0xda, 0xc7, 0x1d, 0xba, 0x57, 0x0a, 0x70, + 0x52, 0x0a, 0x13, 0x42, 0x0c, 0x17, 0x44, 0xfd, 0xd3, 0x7b, 0x9b, 0xf4, 0xe7, 0x98, 0x43, 0x34, + 0xe2, 0xba, 0x3c, 0xe0, 0xcc, 0x30, 0xcd, 0x5c, 0x3f, 0x40, 0xaf, 0x8c, 0xee, 0xcb, 0xb4, 0xd1, + 0xdb, 0xa0, 0xcd, 0x80, 0x31, 0xe2, 0x94, 0xe2, 0xcc, 0x72, 0x99, 0x05, 0x2b, 0x9a, 0x1c, 0xc7, + 0xfd, 0xb4, 0x42, 0xee, 0xdf, 0x34, 0xd5, 0xab, 0xbd, 0xd4, 0x92, 0x57, 0x3e, 0x66, 0x15, 0x83, + 0x13, 0x8f, 0x94, 0x49, 0x61, 0xe8, 0xfe, 0xca, 0x31, 0x80, 0x15, 0x13, 0x34, 0x7f, 0xad, 0xbe, + 0xe5, 0xde, 0x30, 0x45, 0x7a, 0xe5, 0x77, 0x2b, 0xc3, 0x0b, 0xe4, 0x86, 0x59, 0x18, 0x67, 0x1b, + 0x12, 0xfd, 0xd1, 0x51, 0xa6, 0x0e, 0xf7, 0x64, 0x38, 0xdc, 0x4b, 0x49, 0x92, 0x30, 0x66, 0xfd, + 0xba, 0x5a, 0xe3, 0xc8, 0xce, 0x4d, 0xa5, 0x6f, 0xf3, 0xbe, 0xba, 0x3a, 0x6b, 0x84, 0xdd, 0x69, + 0xd2, 0xf2, 0x8c, 0xaf, 0x26, 0x38, 0x07, 0x23, 0x7a, 0x2e, 0xed, 0xea, 0x70, 0x5e, 0x56, 0x30, + 0x38, 0x94, 0x7f, 0x56, 0x59, 0x34, 0xb0, 0xda, 0x9c, 0x23, 0x76, 0x61, 0x8f, 0x39, 0x0e, 0xbf, + 0xa0, 0xc3, 0xfb, 0xa6, 0x47, 0x1d, 0x61, 0xfa, 0x34, 0x5a, 0xde, 0x5d, 0x2e, 0x75, 0x9c, 0xf6, + 0xf3, 0x2a, 0x0d, 0x4b, 0xfe, 0x8f, 0x75, 0x8c, 0x7c, 0x0a, 0xf4, 0xea, 0xab, 0xa9, 0x1a, 0x4f, + 0xad, 0x52, 0x5b, 0xc4, 0x72, 0xb7, 0x1b, 0x6a, 0x66, 0x3e, 0x1d, 0x3b, 0x51, 0x20, 0xb5, 0x27, + 0x99, 0x57, 0xf7, 0x3f, 0x61, 0x5e, 0x95, 0x77, 0x24, 0x5f, 0xd2, 0x2a, 0x53, 0x35, 0x80, 0xad, + 0x0a, 0xcf, 0xf7, 0x93, 0x96, 0x16, 0x93, 0xf6, 0xf3, 0x46, 0x56, 0x5f, 0x18, 0xa1, 0x74, 0x92, + 0x05, 0x78, 0x61, 0xaf, 0x74, 0x1f, 0x36, 0x15, 0x8f, 0xf6, 0x70, 0xc7, 0xcd, 0xca, 0x42, 0x56, + 0x9d, 0xc8, 0xe8, 0x5a, 0x2d, 0xf3, 0xff, 0xa3, 0xe2, 0xc8, 0x4c, 0xec, 0xbb, 0xf4, 0x24, 0x44, + 0x15, 0xc3, 0x8f, 0xba, 0x14, 0x3f, 0x33, 0x2d, 0x02, 0x37, 0x36, 0xc1, 0x9f, 0x9f, 0x10, 0x20, + 0xbb, 0x6e, 0x9c, 0x01, 0xc8, 0x1f, 0x68, 0x99, 0xf6, 0xb0, 0xa8, 0x84, 0x25, 0xd9, 0x0d, 0xd4, + 0x6b, 0xbc, 0x27, 0xec, 0x84, 0xd9, 0xe2, 0x3c, 0x85, 0x00, 0x50, 0xae, 0x99, 0x40, 0xe1, 0x43, + 0x3d, 0xdb, 0x5c, 0xd6, 0x98, 0x46, 0x5b, 0xa5, 0x2a, 0xa2, 0x20, 0x5e, 0xeb, 0xdb, 0x22, 0xb3, + 0xfc, 0x9f, 0x0b, 0xca, 0xbe, 0xb6, 0xe5, 0x13, 0xc6, 0x67, 0xc7, 0xaa, 0xbc, 0x3b, 0x99, 0x98, + 0xfe, 0x61, 0x6b, 0xc5, 0xf2, 0xeb, 0x97, 0xc3, 0x1e, 0x56, 0x46, 0x61, 0x9a, 0xd8, 0x8a, 0x98, + 0xc3, 0xb8, 0x20, 0xb2, 0x24, 0x97, 0xca, 0x3f, 0xa6, 0x05, 0x43, 0x73, 0xa7, 0xeb, 0x13, 0xbd, + 0x83, 0xf9, 0x52, 0x51, 0x21, 0xb9, 0x05, 0x76, 0x79, 0x91, 0x04, 0x35, 0x25, 0x98, 0x72, 0x62, + 0xa2, 0x2c, 0x39, 0x5b, 0xfb, 0x98, 0x89, 0x6a, 0xbf, 0xf9, 0x4f, 0x09, 0x5e, 0xfd, 0xcd, 0x4d, + 0x20, 0xf3, 0xd4, 0x53, 0xb0, 0x4b, 0x8c, 0x7c, 0x75, 0x47, 0x4e, 0xa8, 0xe1, 0xfa, 0x7b, 0xac, + 0x7f, 0xbd, 0xa0, 0xab, 0x95, 0xbf, 0x51, 0xb5, 0xa7, 0xc8, 0x31, 0x13, 0xd9, 0x73, 0x93, 0xb0, + 0x5f, 0xe9, 0x43, 0xc3, 0xc4, 0x94, 0x5a, 0xb2, 0x25, 0x52, 0xe7, 0xe1, 0x1e, 0x6b, 0xef, 0x27, + 0xf7, 0x48, 0xd5, 0xfa, 0xee, 0xdf, 0x27, 0x89, 0xa6, 0xf1, 0xe6, 0x9a, 0xe7, 0xd9, 0x88, 0x43, + 0xcc, 0xba, 0x2f, 0x4c, 0x38, 0x04, 0x40, 0xbf, 0x56, 0xd9, 0xe9, 0xfd, 0x37, 0xb9, 0x9b, 0x49, + 0x66, 0x45, 0xc1, 0xc5, 0xaf, 0xa8, 0x3b, 0x55, 0xa0, 0x6b, 0x4e, 0x94, 0x0a, 0x55, 0x83, 0x25, + 0xd9, 0xfe, 0xad, 0x5d, 0xab, 0x0e, 0x3e, 0x1a, 0xb4, 0x03, 0xe7, 0x88, 0x3b, 0x64, 0xda, 0x94, + 0xd8, 0x84, 0x5a, 0x45, 0x1d, 0x45, 0xe4, 0x22, 0x0a, 0x74, 0x53, 0x70, 0x55, 0x1d, 0x80, 0x2e, + 0x84, 0x25, 0x03, 0x67, 0x29, 0x60, 0x61, 0x6d, 0x71, 0xf8, 0xd6, 0xc5, 0x2f, 0x3b, 0x5b, 0x14, + 0xdf, 0xd2, 0x7f, 0xf4, 0x68, 0x2a, 0x55, 0x9a, 0x4a, 0xfd, 0x81, 0xb7, 0x4c, 0x0f, 0xa4, 0xcc, + 0xad, 0x61, 0xb7, 0xdc, 0x4b, 0x40, 0x3f, 0x72, 0xc6, 0x6e, 0x47, 0xdd, 0x90, 0xa2, 0x90, 0xe8, + 0x9b, 0x5f, 0x52, 0xe1, 0x15, 0x5e, 0xa1, 0x5c, 0xa9, 0x9a, 0x7a, 0x0e, 0x6b, 0xfd, 0x68, 0xd6, + 0x00, 0x0a, 0x0c, 0xe5, 0x01, 0x57, 0x2c, 0x90, 0x1b, 0x73, 0xae, 0x0a, 0x9c, 0x33, 0x5d, 0xa7, + 0x5c, 0x24, 0xb2, 0x66, 0x5d, 0x6d, 0x1e, 0x4a, 0xb7, 0x4c, 0x11, 0x79, 0x73, 0x2b, 0x01, 0x61, + 0x5a, 0x2d, 0x4f, 0x1e, 0x16, 0x12, 0xc5, 0xfa, 0x27, 0x50, 0x0a, 0xa8, 0x39, 0xdb, 0x70, 0xc6, + 0xd0, 0xff, 0x27, 0x50, 0xea, 0x3f, 0x5b, 0xe2, 0x84, 0xfa, 0xc7, 0x6a, 0xdc, 0x05, 0x35, 0x6c, + 0x3b, 0x54, 0x66, 0x12, 0x67, 0xf1, 0xe7, 0x9f, 0x30, 0x27, 0x26, 0x5b, 0x86, 0xb8, 0xf8, 0x5e, + 0xab, 0x35, 0xcb, 0x55, 0xcf, 0x16, 0xfd, 0x6f, 0x05, 0xc6, 0x69, 0xde, 0x03, 0x3d, 0xad, 0x0d, + 0x7b, 0x11, 0x50, 0xc7, 0x1a, 0xdb, 0xe8, 0x02, 0x0d, 0xc2, 0xcc, 0x4b, 0x62, 0x88, 0xc8, 0x3d, + 0x5b, 0xc4, 0xa2, 0xf2, 0x18, 0xfa, 0x3e, 0x57, 0x30, 0xc8, 0xeb, 0x30, 0x93, 0x5f, 0x48, 0x4b, + 0xf4, 0x4a, 0xad, 0x6d, 0x01, 0xda, 0x47, 0xb4, 0x95, 0x4d, 0x30, 0x74, 0x22, 0xce, 0x01, 0x7f, + 0x45, 0x69, 0x09, 0xad, 0x1f, 0x28, 0x9e, 0xe0, 0x33, 0xa5, 0x9a, 0x39, 0x3c, 0x3b, 0x45, 0x97, + 0x22, 0x8e, 0xe9, 0xd6, 0x2a, 0xee, 0xae, 0xd3, 0x87, 0x2c, 0xf5, 0x63, 0xe3, 0xe4, 0xbd, 0xd9, + 0x96, 0xcf, 0xe8, 0x8a, 0xa3, 0x08, 0x04, 0xec, 0x18, 0x27, 0x59, 0xc5, 0x5d, 0x49, 0x76, 0x04, + 0xaf, 0x7a, 0x13, 0xf8, 0x62, 0x7a, 0x34, 0xe7, 0xc8, 0xf4, 0x48, 0xcb, 0x4a, 0x3b, 0x56, 0xa6, + 0xc0, 0x3a, 0xcb, 0x4f, 0x82, 0x5d, 0x4e, 0x55, 0x81, 0x5f, 0xdb, 0x1d, 0x14, 0xf7, 0xd1, 0x33, + 0xbe, 0x2d, 0x9c, 0x36, 0xb7, 0xd6, 0x7a, 0xa4, 0x05, 0x98, 0x40, 0x29, 0x69, 0xd6, 0x82, 0x44, + 0x08, 0x40, 0xa1, 0x4a, 0x25, 0xb4, 0x0e, 0x35, 0x4f, 0xf6, 0x0a, 0xad, 0x90, 0xc7, 0x31, 0xed, + 0x68, 0x5e, 0x34, 0xc9, 0x35, 0x02, 0x92, 0x8c, 0x67, 0x63, 0xbe, 0x04, 0x90, 0x87, 0x1c, 0x9b, + 0x9c, 0x53, 0x0b, 0xaf, 0xf1, 0x59, 0xd7, 0x0e, 0x69, 0x92, 0x9b, 0xfa, 0xd5, 0x82, 0x3c, 0x43, + 0x69, 0x11, 0x37, 0x9e, 0x6e, 0x41, 0xf2, 0xfe, 0x86, 0x25, 0x22, 0x57, 0x2e, 0xf1, 0xfa, 0x65, + 0x98, 0xb9, 0x11, 0x3c, 0x01, 0xb8, 0x84, 0x98, 0x3c, 0xe5, 0x58, 0xf1, 0x72, 0x43, 0xa8, 0x78, + 0xbe, 0x89, 0x2e, 0x78, 0xc4, 0x0d, 0xce, 0x24, 0xe5, 0x7f, 0x84, 0x0c, 0x0b, 0x7d, 0x5a, 0xf6, + 0x60, 0xc6, 0x23, 0xd6, 0xce, 0x2f, 0xd1, 0xd9, 0x18, 0xcf, 0xae, 0xd2, 0x7f, 0x41, 0xaf, 0x20, + 0x23, 0xfb, 0x84, 0x58, 0xa1, 0x18, 0x63, 0x4b, 0xeb, 0xe4, 0x23, 0x90, 0xbc, 0x4d, 0x74, 0x83, + 0x10, 0x71, 0x34, 0x94, 0x5a, 0x64, 0x35, 0x8f, 0xab, 0x85, 0x16, 0xf3, 0x5c, 0x69, 0xde, 0xad, + 0xff, 0x11, 0x04, 0x64, 0x48, 0xfc, 0xe1, 0xd7, 0xae, 0x56, 0x35, 0xf8, 0x51, 0x68, 0xb2, 0x5f, + 0xdc, 0x67, 0x8b, 0xda, 0x6d, 0x18, 0xd7, 0x1e, 0xa2, 0x09, 0xe6, 0x0d, 0x8c, 0x42, 0xdc, 0xb9, + 0x49, 0x5f, 0xb2, 0xff, 0x32, 0xe9, 0x18, 0x66, 0x7b, 0x53, 0x79, 0x7c, 0x32, 0x59, 0x3f, 0x89, + 0x3b, 0x80, 0x4e, 0x6b, 0x05, 0xa7, 0x35, 0xae, 0xc5, 0x33, 0xbe, 0x02, 0xd2, 0x73, 0xa5, 0x49, + 0xe6, 0x80, 0x06, 0xe6, 0x82, 0x0c, 0xc0, 0x87, 0x5e, 0x80, 0xde, 0x50, 0x7d, 0x06, 0x19, 0x89, + 0xfd, 0x99, 0x15, 0x1a, 0x16, 0x84, 0xb0, 0x67, 0xee, 0x90, 0xbd, 0x45, 0x35, 0x80, 0xbd, 0x5d, + 0xca, 0xdd, 0xc8, 0x82, 0x48, 0x3a, 0x4c, 0x04, 0x99, 0x45, 0x8a, 0x80, 0x12, 0xa7, 0x32, 0xdf, + 0xdd, 0x12, 0x97, 0x17, 0xf7, 0x9a, 0x76, 0xc9, 0x2e, 0x88, 0xb5, 0x7c, 0xc3, 0x46, 0x27, 0x83, + 0x27, 0xd1, 0xeb, 0x49, 0xb8, 0x14, 0x17, 0x53, 0x0a, 0x22, 0x60, 0xab, 0x91, 0x8f, 0x18, 0x36, + 0x80, 0x4b, 0x11, 0x05, 0x69, 0x2d, 0x2d, 0xa5, 0xb3, 0x29, 0xac, 0xcb, 0x95, 0xe4, 0x21, 0x9a, + 0x96, 0x44, 0x2e, 0xa0, 0xb1, 0x64, 0x4e, 0x06, 0x09, 0xd9, 0xe3, 0x0b, 0x31, 0xe5, 0x7a, 0xf6, + 0x88, 0xc4, 0xc4, 0x26, 0x42, 0x22, 0xb2, 0xaf, 0x51, 0x72, 0x1e, 0xaa, 0x14, 0xb1, 0xa8, 0x4b, + 0x09, 0x8e, 0xbf, 0xaf, 0xdd, 0x12, 0x5f, 0x66, 0xd8, 0x0a, 0xa1, 0xbb, 0x0e, 0x13, 0x80, 0xe0, + 0x82, 0xe6, 0x22, 0x13, 0xcb, 0x0c, 0xed, 0x6d, 0xd9, 0x27, 0xbb, 0x7e, 0x5c, 0xde, 0xb3, 0xc0, + 0xa7, 0x9c, 0x2e, 0x84, 0x80, 0xf9, 0xd0, 0x85, 0x64, 0xee, 0xe6, 0x54, 0x77, 0xd3, 0x9b, 0xd7, + 0x6a, 0x83, 0x73, 0x44, 0x64, 0x4e, 0xa4, 0x33, 0x1b, 0xc6, 0x8f, 0x54, 0x33, 0xc2, 0x6c, 0xcd, + 0xa6, 0x20, 0x57, 0xf3, 0x1f, 0xeb, 0x9e, 0x4a, 0xdb, 0x9f, 0xe3, 0x37, 0xf9, 0x83, 0xab, 0x4d, + 0x81, 0x21, 0x25, 0x07, 0x7a, 0xc4, 0x5e, 0x8d, 0x8d, 0x1b, 0x88, 0xce, 0x7c, 0xb1, 0x58, 0xff, + 0xb1, 0x92, 0xc9, 0xf3, 0x53, 0x46, 0xf4, 0x9a, 0xef, 0x82, 0x65, 0x2e, 0x63, 0xee, 0x32, 0xc4, + 0x63, 0x7b, 0xbe, 0x6b, 0xd3, 0x01, 0x8e, 0x59, 0x77, 0x82, 0x3c, 0x78, 0xfa, 0x33, 0x57, 0x87, + 0x77, 0x49, 0x51, 0x38, 0xdb, 0x0b, 0xc6, 0xdf, 0xcf, 0x84, 0x2c, 0xd2, 0x1f, 0x36, 0x60, 0x8d, + 0xad, 0x00, 0x79, 0x65, 0x42, 0x11, 0x4f, 0x61, 0x9d, 0xd5, 0x34, 0x1b, 0x6e, 0xc3, 0x9c, 0x85, + 0xb0, 0xdc, 0x8a, 0x1e, 0xa0, 0x96, 0xe8, 0x30, 0x95, 0x5d, 0xc3, 0x95, 0xb7, 0xfb, 0x02, 0x53, + 0x93, 0x7d, 0x22, 0x2b, 0xeb, 0x0b, 0x82, 0x4b, 0xa5, 0x54, 0xb3, 0x45, 0xab, 0x8a, 0x63, 0xc1, + 0xbc, 0xc9, 0xa2, 0x15, 0x51, 0x89, 0x65, 0xf7, 0xf1, 0x61, 0x95, 0xb3, 0xf0, 0x76, 0x93, 0x0c, + 0xca, 0xa3, 0xb5, 0x7e, 0x19, 0x33, 0x0a, 0xec, 0x4b, 0x41, 0x99, 0xbc, 0xd3, 0xad, 0xfd, 0xb9, + 0x4c, 0xd2, 0x75, 0x4f, 0xf0, 0xda, 0x74, 0xed, 0x3c, 0xa3, 0x6e, 0x6d, 0xe5, 0x65, 0x4a, 0x06, + 0x52, 0x9d, 0xc0, 0x89, 0xf2, 0xb3, 0x6c, 0xee, 0xb2, 0x8d, 0xaf, 0x62, 0x3f, 0xbd, 0x93, 0xcb, + 0x55, 0x30, 0x2d, 0xe7, 0x00, 0xed, 0x76, 0xbc, 0x69, 0x8b, 0xc7, 0xa7, 0xc0, 0xf5, 0x5f, 0x90, + 0x52, 0xa1, 0xa3, 0x96, 0xeb, 0x4d, 0x48, 0x89, 0xae, 0x5f, 0xf1, 0xad, 0x4b, 0x33, 0xcf, 0xe0, + 0xfe, 0xa2, 0x58, 0x23, 0xaa, 0xb5, 0x8d, 0xb5, 0x47, 0x74, 0xff, 0x41, 0x4f, 0x85, 0xca, 0xdf, + 0x7b, 0x48, 0x9d, 0x34, 0x83, 0x2d, 0xbe, 0xab, 0x31, 0x9e, 0x98, 0x86, 0x14, 0xc0, 0xd0, 0xcd, + 0x13, 0x75, 0xe7, 0x83, 0x34, 0x96, 0x1e, 0x39, 0x0f, 0xa1, 0x57, 0x92, 0xdf, 0xb0, 0xc7, 0x96, + 0x09, 0x00, 0xf7, 0xa1, 0xfe, 0xbc, 0x4c, 0xe8, 0x70, 0x95, 0x6d, 0xb3, 0x65, 0xfd, 0x0a, 0xf3, + 0x46, 0xc2, 0x80, 0x13, 0x3f, 0x55, 0xb8, 0x26, 0xff, 0x47, 0x6c, 0xdd, 0x69, 0x47, 0x2e, 0xc4, + 0xf1, 0x88, 0x2e, 0x96, 0x00, 0x94, 0x8c, 0x88, 0x42, 0xb2, 0x32, 0x86, 0xe6, 0x16, 0x12, 0xbd, + 0xf6, 0xfe, 0xfc, 0xcf, 0x93, 0x7b, 0xc4, 0xee, 0x3e, 0x7a, 0x2c, 0x3e, 0x71, 0xc0, 0x80, 0x63, + 0xa8, 0x47, 0xce, 0xbe, 0x38, 0xfe, 0xa0, 0x6f, 0x30, 0xb0, 0x3f, 0x6a, 0x71, 0x6b, 0xd2, 0xa8, + 0xae, 0x34, 0xa4, 0xbf, 0xcd, 0x2a, 0x9f, 0x4a, 0x30, 0xbc, 0x52, 0x69, 0x64, 0x23, 0x33, 0xc9, + 0x6c, 0xba, 0x9a, 0xe7, 0x95, 0xb2, 0x53, 0x30, 0x3c, 0x29, 0xc1, 0x96, 0x09, 0xf7, 0xc7, 0x7e, + 0x34, 0x9e, 0x23, 0xaa, 0x8b, 0xfa, 0xeb, 0xe7, 0x15, 0x42, 0x68, 0x48, 0xe1, 0x64, 0x6b, 0x8a, + 0xba, 0xca, 0xea, 0x14, 0x08, 0xc1, 0x87, 0xaf, 0xc5, 0x65, 0x10, 0x02, 0x28, 0x95, 0x48, 0x90, + 0x07, 0x3a, 0x16, 0x13, 0x6e, 0xd0, 0x0b, 0x20, 0xbd, 0x24, 0x10, 0x20, 0xc2, 0x3d, 0x29, 0xdb, + 0x10, 0x5e, 0x13, 0xf7, 0x27, 0x53, 0x35, 0x11, 0xd3, 0x22, 0x71, 0xa2, 0x86, 0x05, 0x83, 0x3d, + 0x11, 0x64, 0xfb, 0x9d, 0x53, 0x1a, 0xc2, 0x2f, 0x82, 0x4e, 0x59, 0x02, 0xfe, 0x89, 0x1b, 0xea, + 0x27, 0xed, 0xe7, 0x06, 0x76, 0xf8, 0x7d, 0x4c, 0x06, 0x34, 0xd8, 0xcf, 0xfb, 0x4a, 0x1a, 0x4d, + 0x03, 0x5c, 0xa6, 0xf6, 0x73, 0x73, 0x8c, 0x77, 0x7c, 0x78, 0x80, 0xaa, 0x1e, 0x1d, 0x3a, 0xcd, + 0xeb, 0x2c, 0x54, 0xfd, 0xa5, 0xae, 0x2c, 0xd5, 0xb3, 0x0e, 0x18, 0x2b, 0x1a, 0x85, 0x2c, 0xba, + 0x7e, 0x83, 0x49, 0x0e, 0x5f, 0xce, 0x08, 0xf8, 0x46, 0xce, 0x5c, 0xc5, 0x53, 0xa4, 0xd2, 0x2a, + 0x9e, 0xaf, 0x02, 0x0d, 0x43, 0x30, 0xc8, 0x00, 0xd6, 0x06, 0x7e, 0x63, 0x85, 0xa7, 0xfe, 0x3d, + 0x18, 0x13, 0xa5, 0xa0, 0xe0, 0x55, 0x7c, 0x26, 0xa2, 0xd0, 0x20, 0xd1, 0x9e, 0x15, 0x67, 0xb0, + 0x61, 0x2d, 0xd4, 0x5c, 0x78, 0xb1, 0xc6, 0xd3, 0x79, 0x11, 0x86, 0x4e, 0xb5, 0x17, 0x4a, 0x48, + 0xc1, 0xac, 0xda, 0x81, 0x0d, 0xbd, 0x36, 0x22, 0xde, 0x02, 0x48, 0xd4, 0x9e, 0x6b, 0xed, 0x0e, + 0xbe, 0x05, 0x63, 0xbe, 0xbe, 0xb7, 0xbf, 0x53, 0x04, 0x7c, 0x6c, 0x0b, 0xa6, 0xd6, 0x96, 0xa1, + 0x09, 0x79, 0xd6, 0x41, 0xf9, 0x45, 0xbb, 0x6e, 0xac, 0x00, 0xda, 0x03, 0xf2, 0xf3, 0xfa, 0x64, + 0x53, 0x70, 0x70, 0x0b, 0xf6, 0xc8, 0x58, 0xc7, 0x6b, 0xb6, 0x84, 0xbd, 0x0e, 0x2a, 0xda, 0x4e, + 0x9a, 0xcb, 0xf1, 0xe9, 0xda, 0xa7, 0x2d, 0x15, 0x41, 0x57, 0xf8, 0x0b, 0xcf, 0x28, 0xf6, 0xed, + 0x47, 0xde, 0x75, 0x5e, 0xa4, 0xa3, 0xd5, 0x15, 0x34, 0x20, 0x45, 0x6a, 0xfb, 0x4a, 0x34, 0xaa, + 0xb8, 0xf1, 0x1c, 0xfc, 0x01, 0xfd, 0x5f, 0x08, 0x5e, 0x77, 0x64, 0x13, 0x4f, 0x5e, 0xfe, 0xd9, + 0x1e, 0xd0, 0x7f, 0x95, 0xb5, 0x47, 0xd1, 0xc2, 0xb8, 0x55, 0x25, 0x4f, 0x1e, 0xa2, 0x51, 0x48, + 0x09, 0x01, 0x42, 0xcf, 0x22, 0xbb, 0x1e, 0x72, 0x48, 0xe6, 0xab, 0x63, 0x7e, 0x94, 0x22, 0xd0, + 0x3e, 0x61, 0x1e, 0xfc, 0x7f, 0xa8, 0x21, 0x66, 0x6c, 0x7c, 0x37, 0x7e, 0xc7, 0x98, 0x5e, 0xea, + 0x1e, 0x9f, 0x38, 0x8a, 0xd8, 0xca, 0x35, 0x4e, 0x60, 0x55, 0x14, 0x42, 0x97, 0xb0, 0xcf, 0x88, + 0xcf, 0x1d, 0xc5, 0x47, 0x40, 0x39, 0xfc, 0xca, 0xf7, 0x47, 0x00, 0xe0, 0xff, 0x60, 0x33, 0x9d, + 0x3d, 0x02, 0x4a, 0x82, 0x25, 0xf8, 0xa0, 0xf2, 0x83, 0x72, 0xb9, 0x87, 0xe8, 0x40, 0xdb, 0x6a, + 0x2b, 0x09, 0x51, 0x8f, 0x70, 0x2a, 0x5b, 0x2d, 0xa4, 0x14, 0x77, 0x35, 0xd8, 0x7a, 0xd2, 0x46, + 0xc6, 0xa6, 0xca, 0xe1, 0x27, 0x66, 0xc8, 0x80, 0x75, 0xa8, 0x1f, 0x56, 0xf8, 0x23, 0x2e, 0x67, + 0x97, 0xbb, 0x01, 0xc5, 0xfc, 0x8b, 0x0c, 0x6e, 0x49, 0x1e, 0xbf, 0x6e, 0xd8, 0x61, 0x00, 0xdb, + 0x7a, 0xb5, 0x62, 0x18, 0xf5, 0x6b, 0x26, 0x84, 0x8e, 0x66, 0xa0, 0x40, 0x97, 0xbe, 0xe6, 0xbe, + 0xa6, 0xfe, 0x93, 0x43, 0xce, 0x25, 0x28, 0xf2, 0x73, 0xbb, 0x90, 0xaf, 0xb7, 0x9c, 0x37, 0x87, + 0x6c, 0xa6, 0xf3, 0x23, 0xec, 0x6a, 0xbe, 0x90, 0x87, 0x6b, 0xbb, 0xd3, 0x64, 0x67, 0x90, 0x4f, + 0xc3, 0x53, 0x68, 0x9e, 0x72, 0xe5, 0x0d, 0xf4, 0x70, 0x54, 0xb5, 0x43, 0x11, 0x76, 0xe5, 0xfb, + 0x91, 0x62, 0x67, 0xed, 0x40, 0x84, 0x8d, 0xda, 0x2e, 0x7d, 0xfc, 0x7f, 0x48, 0xb4, 0x29, 0x20, + 0x48, 0xb6, 0x4a, 0xd1, 0xd4, 0xa5, 0x5a, 0xa3, 0x15, 0x3f, 0xb1, 0x60, 0x05, 0x94, 0x9b, 0x3f, + 0x26, 0x1b, 0x8c, 0xa1, 0x20, 0xbe, 0x9e, 0x33, 0xcb, 0x61, 0x2e, 0x43, 0xae, 0x8f, 0x61, 0xba, + 0x2e, 0x61, 0x5a, 0xea, 0x6a, 0x09, 0x98, 0x7e, 0x8a, 0xfc, 0xe8, 0xf9, 0x70, 0x3f, 0xc5, 0x2f, + 0xb3, 0x29, 0xdc, 0x4e, 0x26, 0xfc, 0x2d, 0xa9, 0xc8, 0xb8, 0xa6, 0xd9, 0xfa, 0x4b, 0x6c, 0x04, + 0x22, 0xd6, 0x09, 0x0a, 0x56, 0x88, 0xc1, 0xd5, 0x8f, 0x25, 0xfe, 0x3e, 0xd8, 0x82, 0xd1, 0x67, + 0x7d, 0x98, 0xff, 0x0a, 0x89, 0x77, 0xd5, 0xe0, 0x6b, 0x20, 0x59, 0x90, 0x91, 0x9f, 0xee, 0xe0, + 0xf0, 0xb8, 0x54, 0x3c, 0x16, 0x98, 0x7f, 0x26, 0x4d, 0x83, 0x75, 0x95, 0x3c, 0xa7, 0xb9, 0x99, + 0xfd, 0x42, 0x8a, 0x25, 0x94, 0xe4, 0x7e, 0x42, 0x96, 0xd9, 0x6c, 0x0a, 0xf6, 0x9e, 0x35, 0x9e, + 0x5a, 0xf0, 0x46, 0xd5, 0x08, 0x2e, 0x31, 0xc4, 0x8e, 0xcd, 0xb6, 0x54, 0x08, 0x4f, 0x37, 0x8e, + 0x1e, 0x40, 0xa4, 0x72, 0x47, 0x6a, 0xd9, 0x86, 0x5b, 0x0e, 0xb9, 0xa8, 0xfa, 0x27, 0xc2, 0x3e, + 0xbf, 0x0c, 0xfd, 0x51, 0xbf, 0x61, 0xda, 0xd2, 0x36, 0xa0, 0x06, 0xbb, 0x13, 0xb8, 0x56, 0x94, + 0x1b, 0xea, 0x23, 0xba, 0x17, 0x65, 0x98, 0x9d, 0x84, 0xdf, 0x7c, 0xc6, 0x20, 0x57, 0xa9, 0xf5, + 0x58, 0xf4, 0x4c, 0xae, 0x3e, 0xbe, 0x1f, 0xc7, 0x3d, 0x54, 0x6f, 0x45, 0x6d, 0xfa, 0x15, 0x52, + 0xdf, 0x77, 0x26, 0x81, 0x52, 0x3b, 0xbe, 0x2e, 0xc6, 0x91, 0xe5, 0x0a, 0x46, 0xb9, 0xc7, 0x82, + 0x66, 0xbc, 0x3b, 0xac, 0x0f, 0x58, 0xe7, 0x76, 0x30, 0x02, 0x40, 0x5b, 0xcb, 0x9a, 0x8a, 0x90, + 0x21, 0x6f, 0x56, 0x6c, 0x33, 0x96, 0xdf, 0x67, 0xa9, 0xcb, 0x2b, 0xb5, 0x50, 0x64, 0x1e, 0xcd, + 0xd4, 0x2f, 0x60, 0xb3, 0xd0, 0xcc, 0x93, 0x65, 0x42, 0xa2, 0xf5, 0x91, 0xcd, 0xa8, 0x5a, 0x6d, + 0x3b, 0x15, 0x7e, 0xc2, 0x85, 0x3f, 0x65, 0x6b, 0x3b, 0x33, 0x72, 0x06, 0x3f, 0x62, 0x35, 0x9b, + 0x86, 0x63, 0xc2, 0xce, 0x33, 0xe4, 0xa5, 0x88, 0x99, 0xf2, 0xe5, 0xfd, 0x2c, 0x86, 0x9b, 0x41, + 0xe3, 0xc3, 0x9e, 0xce, 0xf8, 0xd7, 0xfa, 0x8c, 0x49, 0x6e, 0xe6, 0x4d, 0xcf, 0x40, 0xb5, 0x9d, + 0x66, 0x5e, 0x73, 0xd7, 0x31, 0x03, 0xa8, 0xb7, 0x33, 0xc4, 0xcb, 0x51, 0x43, 0x3f, 0xb9, 0xc2, + 0xf2, 0xb3, 0x4e, 0xfa, 0xf9, 0x56, 0x45, 0x4e, 0x0c, 0x36, 0x3f, 0x99, 0x16, 0xdf, 0x41, 0xe3, + 0xa0, 0x30, 0x83, 0xef, 0x99, 0xbf, 0x88, 0x3a, 0xaf, 0x98, 0x21, 0x20, 0x01, 0x1b, 0xcb, 0x8b, + 0x0d, 0xa7, 0xc3, 0xb1, 0xea, 0xf8, 0x61, 0xf7, 0x5b, 0x0e, 0x55, 0x69, 0x95, 0x28, 0xb8, 0x9e, + 0xdb, 0xd4, 0x40, 0x4a, 0x46, 0xd1, 0xd5, 0x89, 0xc5, 0x36, 0x43, 0xa0, 0x91, 0xe3, 0xa4, 0x46, + 0x71, 0xe7, 0xe2, 0x2c, 0xce, 0x35, 0xde, 0x73, 0x7d, 0x59, 0x82, 0x38, 0xa2, 0xc3, 0x07, 0x12, + 0xc9, 0x73, 0xe9, 0x39, 0x1b, 0x0f, 0x14, 0x62, 0x47, 0x91, 0xc5, 0xd8, 0xcc, 0x67, 0x09, 0xed, + 0xec, 0x73, 0x9d, 0xdd, 0x79, 0x68, 0x78, 0xd3, 0xd7, 0x4a, 0x90, 0x17, 0x57, 0x6f, 0x62, 0xc4, + 0x5e, 0x79, 0xf5, 0x62, 0x97, 0xa8, 0xef, 0x46, 0x62, 0x0d, 0x19, 0x0e, 0x15, 0x22, 0x37, 0xd6, + 0xe9, 0xc2, 0xb5, 0xb1, 0xb4, 0x69, 0x42, 0xd7, 0x62, 0x41, 0x33, 0xaa, 0xae, 0xc6, 0x51, 0x2a, + 0xa7, 0x03, 0xf0, 0x06, 0xfc, 0x29, 0xcb, 0x59, 0x2a, 0x62, 0x55, 0x7e, 0x08, 0xc7, 0xf8, 0x7b, + 0x22, 0x83, 0xc8, 0xcf, 0x5f, 0x2e, 0x82, 0x41, 0x39, 0xa8, 0x3e, 0x3f, 0x6a, 0xf6, 0x46, 0x3a, + 0x7e, 0xb7, 0x84, 0x13, 0x38, 0xd2, 0x80, 0x93, 0xd3, 0x6b, 0xcd, 0x75, 0x4c, 0x03, 0xae, 0x7b, + 0x50, 0x07, 0x6d, 0x76, 0x82, 0xb9, 0xf1, 0xeb, 0x99, 0x9a, 0x7e, 0x94, 0xbf, 0x3b, 0xf7, 0xef, + 0x9f, 0xd4, 0xe0, 0x8b, 0xd8, 0xc4, 0x5e, 0x9e, 0xce, 0x4b, 0x6a, 0x9e, 0x02, 0x45, 0xc2, 0x45, + 0xa0, 0x88, 0x61, 0xdd, 0x8f, 0xb8, 0xed, 0xcc, 0x7c, 0xa8, 0x85, 0x39, 0x28, 0x73, 0x26, 0x46, + 0x4d, 0x1a, 0x83, 0xaf, 0x8d, 0x79, 0x7f, 0x3f, 0xbd, 0xaf, 0xd9, 0x61, 0xe0, 0x8d, 0xd5, 0xb8, + 0x5d, 0xf7, 0xe3, 0xba, 0xac, 0x33, 0xab, 0x8e, 0xd4, 0x5a, 0xb7, 0x08, 0x3a, 0xd3, 0x8b, 0xff, + 0x80, 0x8e, 0x1a, 0xc7, 0x60, 0x13, 0xdf, 0xbf, 0x7f, 0xd2, 0xed, 0x6d, 0xc3, 0x30, 0xb9, 0xc3, + 0xf5, 0x7e, 0x9f, 0x38, 0x39, 0x9c, 0x65, 0xf8, 0xa8, 0x81, 0x81, 0xcd, 0x26, 0x60, 0x6f, 0xae, + 0xe3, 0xf9, 0xf8, 0x86, 0x44, 0x2c, 0x84, 0xf8, 0x6e, 0x77, 0xdd, 0x4c, 0x12, 0x1a, 0x83, 0x0e, + 0x59, 0x4b, 0x23, 0x59, 0x20, 0xc8, 0x7f, 0x7a, 0xa8, 0xb9, 0x5e, 0x45, 0xd7, 0x04, 0x4c, 0x46, + 0xee, 0xf0, 0x2c, 0x6e, 0x02, 0xff, 0xf7, 0xae, 0x0d, 0xba, 0x07, 0x33, 0x82, 0x7a, 0xc3, 0x7b, + 0xc4, 0xdc, 0xb1, 0xa6, 0xe3, 0x7e, 0xf4, 0x5d, 0x7b, 0x6c, 0x67, 0x82, 0x3c, 0x3e, 0xfc, 0xf5, + 0xbd, 0x0c, 0x22, 0x38, 0x6d, 0xa0, 0x40, 0xa9, 0xcf, 0x13, 0x4a, 0xfc, 0x84, 0x42, 0x91, 0xb6, + 0xdb, 0x71, 0xb3, 0xf3, 0xe1, 0x1f, 0x9d, 0x39, 0x3b, 0xd0, 0x8d, 0x1f, 0x84, 0xa6, 0xe7, 0xc9, + 0x78, 0x1f, 0x25, 0x89, 0xa5, 0xa0, 0x5a, 0x11, 0x0e, 0xe3, 0x6a, 0xb4, 0x94, 0x82, 0x52, 0xc9, + 0xed, 0x9d, 0x62, 0x3a, 0x2c, 0xd5, 0x19, 0xe9, 0x0f, 0xb0, 0xb1, 0x92, 0x79, 0x85, 0x5b, 0x7a, + 0x0f, 0xa8, 0x29, 0x9e, 0xa6, 0xf3, 0x96, 0xce, 0xef, 0x08, 0x82, 0x1c, 0x3e, 0xda, 0xd7, 0x8f, + 0x0e, 0x48, 0xe2, 0x7e, 0x08, 0xe3, 0xc7, 0xbf, 0xbd, 0xdc, 0x10, 0x68, 0xb6, 0x60, 0xf6, 0x68, + 0xc8, 0xc0, 0xac, 0xe3, 0x85, 0xc6, 0x2d, 0x8e, 0xc1, 0xcc, 0x60, 0xa4, 0xcf, 0x89, 0x1f, 0x66, + 0x83, 0x87, 0xca, 0xec, 0x7e, 0xe2, 0x26, 0x21, 0x45, 0xb6, 0xfb, 0xf4, 0x6c, 0x95, 0xa8, 0xfd, + 0x4e, 0xf1, 0x39, 0x90, 0xff, 0x15, 0xed, 0xc7, 0x8c, 0x65, 0x9c, 0x84, 0x6d, 0xb4, 0x08, 0x5c, + 0x88, 0xb2, 0xf4, 0x80, 0xad, 0xe9, 0xab, 0x7d, 0xcc, 0x58, 0x99, 0x69, 0xbf, 0x49, 0xa9, 0xca, + 0xe6, 0xc2, 0xf5, 0xea, 0x7c, 0xd2, 0xd7, 0x1e, 0x68, 0xa1, 0xeb, 0x19, 0x05, 0x37, 0x92, 0xa7, + 0x83, 0xa5, 0x1c, 0xe2, 0x31, 0x44, 0x8a, 0x7c, 0x63, 0xa7, 0x97, 0x5d, 0x51, 0x5d, 0xc4, 0x34, + 0x14, 0x29, 0x09, 0x44, 0x18, 0xc6, 0xa1, 0x9d, 0xec, 0xf8, 0x4d, 0xc8, 0xdf, 0xb1, 0x78, 0xe9, + 0xdb, 0x7a, 0x08, 0xa1, 0x96, 0x23, 0xf5, 0xb6, 0x58, 0xc1, 0x12, 0x44, 0x5f, 0x14, 0x27, 0xed, + 0xee, 0xbf, 0xd7, 0x8c, 0x7a, 0x60, 0xd0, 0x50, 0x70, 0xb4, 0xdd, 0x40, 0xd1, 0x8b, 0xc1, 0x37, + 0x6b, 0xb2, 0x98, 0xa1, 0x53, 0xd3, 0x97, 0x73, 0x6b, 0x15, 0xdb, 0x1b, 0xd2, 0xa4, 0xa0, 0x2f, + 0x9e, 0xeb, 0xc4, 0x43, 0xf7, 0xa8, 0xb4, 0xe4, 0x60, 0x4d, 0xd4, 0x2d, 0x41, 0xa9, 0xc8, 0x0d, + 0x04, 0x9f, 0x7b, 0x94, 0x83, 0xa7, 0xfd, 0x8e, 0x4e, 0xa6, 0xeb, 0xfb, 0xca, 0x3e, 0xc3, 0x0c, + 0xdc, 0xc7, 0xdc, 0xf7, 0x5f, 0x0c, 0xc1, 0x60, 0xd8, 0x01, 0xc4, 0xe6, 0x34, 0x7b, 0x0a, 0x9e, + 0x37, 0x12, 0xa6, 0x9a, 0x88, 0x2a, 0x63, 0x0c, 0xe9, 0x6b, 0xc8, 0x46, 0x41, 0xd0, 0x9a, 0x3c, + 0x8d, 0xfa, 0xcd, 0x85, 0xe1, 0xe1, 0x82, 0x8e, 0x47, 0x3e, 0x74, 0x6c, 0x43, 0x66, 0xa4, 0x65, + 0x48, 0x51, 0x24, 0x82, 0x8d, 0x72, 0x94, 0x3e, 0x54, 0xac, 0xc2, 0x15, 0x24, 0x32, 0x89, 0xf0, + 0x5c, 0x11, 0x2c, 0xf8, 0x84, 0xba, 0xda, 0xd4, 0x0a, 0xcd, 0x0a, 0x9d, 0x4f, 0x96, 0x70, 0xa0, + 0xbd, 0x5a, 0x5f, 0x49, 0xe8, 0x71, 0xf9, 0x9b, 0x4b, 0xa1, 0x2c, 0x39, 0x4c, 0xd4, 0x23, 0x80, + 0x44, 0x67, 0x87, 0x26, 0x81, 0x1b, 0x1a, 0x4b, 0xa8, 0xb2, 0x9d, 0x68, 0x95, 0xed, 0x0e, 0x70, + 0xb3, 0x58, 0x62, 0x3c, 0xa6, 0x37, 0xb8, 0x62, 0x53, 0x46, 0xee, 0xdd, 0xc9, 0xa1, 0x89, 0xb4, + 0x9f, 0x46, 0x50, 0x1e, 0x6e, 0x9c, 0xbf, 0x20, 0x49, 0x5b, 0x7b, 0xe9, 0x18, 0xc5, 0xc9, 0xe0, + 0xd9, 0x4f, 0xa8, 0xba, 0xd4, 0x1f, 0x06, 0x97, 0x25, 0xe7, 0xe1, 0x70, 0x99, 0xdf, 0x6c, 0xfe, + 0x52, 0x79, 0x45, 0xb8, 0xa5, 0x79, 0x1a, 0xe4, 0x13, 0x90, 0x4e, 0x74, 0x52, 0x54, 0xc1, 0x7f, + 0x64, 0x5b, 0x1d, 0xf7, 0x76, 0x2b, 0x0a, 0xc5, 0xcb, 0xb4, 0x6d, 0xc3, 0x99, 0x90, 0x9d, 0xce, + 0xeb, 0x5a, 0xc5, 0xf9, 0xbc, 0xa4, 0x5c, 0x0f, 0x4e, 0x29, 0x51, 0xc0, 0xef, 0x17, 0x68, 0x4a, + 0xc3, 0xe2, 0x34, 0xca, 0x07, 0xe2, 0x07, 0x59, 0xb3, 0xbd, 0x7b, 0x89, 0x24, 0x5a, 0xa5, 0x0e, + 0x44, 0x2c, 0xfc, 0x12, 0x5e, 0x0a, 0xb3, 0x0d, 0xb2, 0x3f, 0xa6, 0xe9, 0xb2, 0x56, 0xa1, 0xa3, + 0xed, 0x42, 0x41, 0xe1, 0x62, 0x6c, 0xf9, 0x8a, 0x01, 0x0f, 0x6f, 0x3b, 0xee, 0xbc, 0xa1, 0x4b, + 0xd5, 0xe0, 0x4b, 0xbb, 0x25, 0xa7, 0x5c, 0x82, 0xc0, 0xfc, 0x35, 0xce, 0x90, 0x30, 0x56, 0xd9, + 0xb1, 0x4b, 0x7b, 0xe8, 0xe2, 0x4a, 0xf7, 0x2e, 0x5f, 0x00, 0x61, 0x21, 0x0c, 0x0f, 0x14, 0x55, + 0xdf, 0x5b, 0xde, 0xff, 0x1b, 0x14, 0xfc, 0x04, 0x29, 0x05, 0x22, 0xc5, 0xea, 0x48, 0x6f, 0x07, + 0xc1, 0x4a, 0x49, 0xc6, 0xad, 0xe6, 0xf5, 0x36, 0xd8, 0xad, 0xa4, 0x65, 0x9f, 0x20, 0xda, 0x88, + 0x3f, 0x29, 0xe0, 0xb0, 0x25, 0x75, 0xce, 0x5e, 0x0d, 0xc2, 0x82, 0xa6, 0x40, 0xd3, 0xc0, 0xc3, + 0x44, 0x19, 0xc8, 0x98, 0x31, 0xb6, 0xce, 0xb2, 0x56, 0xf5, 0x8b, 0x15, 0xdd, 0xe9, 0x94, 0xd2, + 0x32, 0x1e, 0x7d, 0x79, 0xdf, 0x76, 0xdc, 0x0b, 0xf4, 0xab, 0xd4, 0x25, 0x2f, 0x96, 0x6b, 0x78, + 0x34, 0x0a, 0x6a, 0xc5, 0x2e, 0x48, 0x67, 0xfe, 0x58, 0xbf, 0xaf, 0x31, 0xc9, 0x58, 0x9b, 0x2b, + 0xfc, 0x86, 0x02, 0x03, 0x5a, 0xc4, 0x0e, 0x17, 0xcc, 0x6c, 0xf6, 0xae, 0x81, 0xe3, 0x50, 0xeb, + 0x90, 0xdb, 0x05, 0xa8, 0xc7, 0x2a, 0xc8, 0x4b, 0xdc, 0x24, 0xd2, 0x9e, 0x59, 0xa2, 0x5a, 0xbe, + 0x69, 0xc3, 0xe6, 0xa1, 0xf2, 0x77, 0x78, 0x4e, 0x1f, 0x3f, 0x6c, 0x19, 0xd3, 0xa2, 0xb5, 0xb5, + 0x4f, 0x33, 0x48, 0xfb, 0x1d, 0x2c, 0xfa, 0x37, 0x94, 0x52, 0xa8, 0xdf, 0xd6, 0xaa, 0x09, 0x86, + 0x97, 0x95, 0x24, 0x7f, 0xf3, 0xbc, 0xef, 0xe6, 0x33, 0x4b, 0x62, 0x22, 0xb6, 0x6b, 0x66, 0xdf, + 0x70, 0x2a, 0xb2, 0x41, 0xbb, 0xeb, 0x70, 0xdf, 0x47, 0x91, 0xdf, 0xc7, 0x13, 0x83, 0x5d, 0xff, + 0xda, 0x32, 0x17, 0x78, 0x44, 0xcf, 0x2b, 0xaa, 0x84, 0xb3, 0xc6, 0x27, 0x69, 0x51, 0xa5, 0x10, + 0x45, 0xa2, 0x01, 0x37, 0x47, 0x09, 0x5b, 0x6f, 0x66, 0x0e, 0x73, 0x23, 0xec, 0xaf, 0xd1, 0x4e, + 0x4a, 0x6c, 0xf2, 0xae, 0xc8, 0x88, 0x58, 0x82, 0x74, 0x8b, 0xff, 0x2a, 0x87, 0x5e, 0x6a, 0x53, + 0x8f, 0x17, 0x54, 0xe2, 0x63, 0x30, 0xe2, 0x5c, 0x9f, 0x81, 0x2a, 0x5f, 0x7d, 0x1a, 0x6f, 0xe1, + 0xa2, 0xf0, 0x6b, 0xdc, 0xb6, 0x6d, 0x9b, 0xf5, 0x8a, 0xb8, 0x54, 0x6b, 0x74, 0x85, 0xb2, 0x8a, + 0xdf, 0x88, 0xef, 0x65, 0x19, 0x39, 0x75, 0x45, 0xcb, 0x9b, 0xfe, 0x18, 0xa8, 0xff, 0x61, 0x0e, + 0x8b, 0x8a, 0x92, 0x82, 0x46, 0x37, 0x8c, 0xff, 0xa3, 0x44, 0x83, 0x90, 0xb1, 0x25, 0xbf, 0x1a, + 0x78, 0x26, 0xac, 0x9f, 0xbb, 0x86, 0xd4, 0xe4, 0x60, 0x0d, 0x9d, 0xe9, 0x36, 0x73, 0x46, 0xe9, + 0xcf, 0x37, 0xfa, 0x4a, 0xe2, 0x9a, 0xce, 0xb1, 0x0f, 0xba, 0x0c, 0x32, 0xe7, 0x66, 0x94, 0x55, + 0x38, 0x50, 0xe7, 0xd9, 0x32, 0xe7, 0xb5, 0xac, 0x97, 0x74, 0x14, 0xee, 0x2e, 0xa3, 0xa1, 0x5f, + 0x78, 0x28, 0x67, 0xf8, 0x84, 0xb8, 0x3b, 0x13, 0x0f, 0x79, 0xc5, 0xb6, 0x9e, 0x6e, 0x29, 0xf8, + 0x44, 0x39, 0x3d, 0x71, 0x39, 0xfe, 0x5e, 0x0f, 0xb3, 0x36, 0x90, 0xc5, 0x15, 0x53, 0x7f, 0xe5, + 0x98, 0x17, 0x12, 0x44, 0xb7, 0xdb, 0x02, 0x84, 0x2b, 0x19, 0xc0, 0x3d, 0x41, 0x7d, 0xc5, 0x1b, + 0x17, 0x2d, 0x18, 0x79, 0xeb, 0x89, 0x0c, 0x0a, 0xf0, 0x99, 0x09, 0xeb, 0xe6, 0x06, 0x06, 0x02, + 0x73, 0x75, 0xe5, 0x63, 0x37, 0x1e, 0xde, 0xc0, 0xcd, 0xd2, 0xfb, 0x40, 0xcd, 0x61, 0x80, 0xde, + 0xa2, 0x58, 0x4a, 0x0d, 0x6c, 0x15, 0xd2, 0x5b, 0xfe, 0x46, 0xba, 0x35, 0xf7, 0xf2, 0x01, 0x91, + 0x2f, 0xf0, 0x21, 0xd0, 0x79, 0xfa, 0xf6, 0xc7, 0x45, 0xb3, 0xcd, 0x74, 0x16, 0xda, 0x53, 0x66, + 0x68, 0x89, 0x0d, 0xfa, 0x2f, 0x31, 0x57, 0x33, 0x58, 0x89, 0x35, 0x6c, 0xd1, 0xbc, 0xa0, 0x97, + 0xb3, 0xa5, 0x25, 0xb6, 0x59, 0xf1, 0x64, 0x56, 0x8e, 0x56, 0xce, 0x05, 0x43, 0x18, 0xaf, 0xf5, + 0x23, 0x22, 0xec, 0xe3, 0xcf, 0x70, 0xe3, 0xaa, 0xdb, 0x44, 0x92, 0x61, 0xf7, 0xf0, 0x55, 0xce, + 0x85, 0x3f, 0x52, 0xce, 0xb2, 0x04, 0x19, 0x91, 0xb3, 0x50, 0x00, 0x2f, 0x3d, 0x4b, 0x4e, 0x8e, + 0x89, 0xfe, 0xbb, 0x88, 0xe5, 0xf1, 0xcf, 0xd1, 0x96, 0x96, 0xd9, 0x0a, 0x0e, 0x8d, 0xd5, 0xff, + 0x67, 0x75, 0x63, 0x24, 0xf9, 0x2f, 0xf5, 0xc1, 0x6a, 0x39, 0x2a, 0xb6, 0x14, 0x20, 0xb3, 0xa8, + 0x69, 0x2a, 0x32, 0xbd, 0x3e, 0x0f, 0xe7, 0x8d, 0x98, 0x0d, 0xc5, 0xb5, 0x9c, 0x24, 0xa1, 0x92, + 0xd0, 0x87, 0x3e, 0x84, 0xed, 0xa0, 0x27, 0xfd, 0xe1, 0x75, 0x96, 0x30, 0x1e, 0x94, 0x99, 0x8b, + 0x4c, 0x59, 0x05, 0x57, 0xfa, 0x78, 0x8d, 0xc4, 0xe6, 0x4b, 0xfb, 0x9d, 0x11, 0x24, 0xcb, 0xbf, + 0xab, 0xc6, 0xfb, 0x41, 0xf7, 0x11, 0xde, 0x05, 0x32, 0xe0, 0xac, 0xce, 0x64, 0xbd, 0xf1, 0xba, + 0xbc, 0xe4, 0xdd, 0x94, 0x0d, 0xaa, 0x22, 0xbc, 0x1f, 0x9a, 0x12, 0xcb, 0xb8, 0x5b, 0xd2, 0xba, + 0x88, 0xd4, 0xff, 0xb3, 0xbb, 0xb1, 0x85, 0x4b, 0x8f, 0x0c, 0xd5, 0xbb, 0x34, 0x9b, 0x3a, 0x2c, + 0x6c, 0x3f, 0x8f, 0xb7, 0x43, 0x54, 0x06, 0x5b, 0x3e, 0x5f, 0x5a, 0x56, 0x6a, 0x74, 0xa5, 0x96, + 0xfc, 0x91, 0x0f, 0xca, 0x73, 0x0e, 0x62, 0x89, 0x95, 0xeb, 0xca, 0x8a, 0x81, 0x08, 0x95, 0x20, + 0x97, 0x2c, 0x23, 0x46, 0x5b, 0x9f, 0xa9, 0x6b, 0xde, 0x78, 0x74, 0x27, 0xc5, 0x6f, 0x2d, 0x45, + 0xe2, 0x5f, 0xce, 0xfb, 0xc8, 0xce, 0xc0, 0x6b, 0x69, 0xe1, 0xe9, 0x1a, 0xe5, 0x26, 0xd3, 0x53, + 0x8a, 0xd7, 0xf9, 0x71, 0x29, 0x03, 0x11, 0xde, 0x87, 0xdd, 0xef, 0x45, 0x40, 0xe8, 0x7e, 0xcf, + 0x2b, 0x9f, 0x18, 0xf1, 0xdd, 0x11, 0x1e, 0x4d, 0x76, 0xdd, 0x53, 0x0b, 0x32, 0x77, 0xfe, 0xb3, + 0x5c, 0xed, 0x12, 0x04, 0xca, 0x23, 0xba, 0x55, 0x24, 0x8b, 0x69, 0x5a, 0x5d, 0xc2, 0x67, 0xfd, + 0x1a, 0x62, 0xb7, 0x6d, 0x3f, 0x35, 0x75, 0xf7, 0x3b, 0x05, 0xdd, 0x49, 0x13, 0xaf, 0xb9, 0x4c, + 0x0b, 0x66, 0x2b, 0xdc, 0x04, 0xa4, 0x06, 0x34, 0xc4, 0x2c, 0x50, 0x2b, 0xf3, 0x6e, 0x0d, 0x12, + 0x3e, 0xa5, 0xab, 0xc5, 0x8f, 0x38, 0x92, 0xc3, 0xf2, 0x66, 0x29, 0x9a, 0x38, 0xd7, 0x50, 0x12, + 0x17, 0x81, 0x9b, 0x9f, 0x64, 0x74, 0x5d, 0xdb, 0xf9, 0xbe, 0x81, 0x20, 0xe1, 0xac, 0xd4, 0x39, + 0xa5, 0x22, 0x1f, 0xbb, 0xe7, 0xa0, 0xbd, 0xf9, 0xe0, 0x6c, 0x70, 0x5f, 0x9d, 0xc0, 0xc0, 0xf8, + 0x12, 0x5e, 0x05, 0x3b, 0x20, 0x0e, 0xb2, 0xf4, 0x04, 0x03, 0xdb, 0xb5, 0x26, 0x3c, 0x7b, 0xab, + 0x67, 0x94, 0x81, 0xb1, 0xb4, 0x4e, 0x1e, 0x44, 0x8b, 0x53, 0x3e, 0x5a, 0x3a, 0x72, 0x0a, 0x49, + 0x0b, 0x9d, 0x75, 0xc6, 0xd2, 0xfb, 0x17, 0x20, 0x8b, 0xdd, 0x32, 0x46, 0x03, 0x27, 0xb6, 0x49, + 0x38, 0xfa, 0x66, 0xcf, 0xc5, 0xf2, 0xc6, 0xac, 0x8b, 0x7e, 0xb5, 0xcf, 0x36, 0x31, 0xca, 0xf4, + 0xa2, 0x43, 0xcd, 0x84, 0x62, 0x96, 0x38, 0x4e, 0xdd, 0xfd, 0x65, 0x4e, 0x6a, 0xe9, 0x8d, 0x61, + 0x32, 0xd4, 0xbe, 0x0b, 0x9f, 0x6b, 0xfc, 0xd6, 0x08, 0xd7, 0x18, 0xc1, 0x3d, 0xf0, 0xd0, 0x5d, + 0x45, 0xaf, 0xb0, 0xbd, 0xcf, 0xf8, 0x71, 0x2a, 0x02, 0xc9, 0x8d, 0x7e, 0x17, 0x0e, 0xe9, 0xd2, + 0x8f, 0xc4, 0xe4, 0x41, 0xa3, 0xef, 0x3f, 0x02, 0x7f, 0xcb, 0xf4, 0x0e, 0x1c, 0xb8, 0x2e, 0xf4, + 0x82, 0x6c, 0x2f, 0x6f, 0x39, 0xac, 0xf5, 0x39, 0x45, 0xed, 0x7c, 0x13, 0x4a, 0x7a, 0x63, 0xd7, + 0x92, 0xe8, 0x56, 0xf5, 0x4e, 0xcb, 0xeb, 0x01, 0x09, 0x83, 0x3c, 0xa0, 0xc7, 0x0d, 0x44, 0xa3, + 0x7a, 0xf1, 0x64, 0x12, 0x09, 0xd9, 0x7d, 0xfd, 0x39, 0x01, 0xc6, 0xcb, 0x63, 0x92, 0x65, 0x30, + 0x97, 0x56, 0x43, 0xe7, 0x64, 0xa0, 0xa2, 0xe3, 0xd2, 0x36, 0xad, 0x7e, 0x66, 0x6e, 0x63, 0x40, + 0xd7, 0xfb, 0xe0, 0x61, 0x59, 0x6b, 0xcc, 0x72, 0xe6, 0xa6, 0xac, 0xfe, 0xe1, 0x0a, 0xdb, 0xde, + 0x2f, 0x46, 0xe1, 0x9a, 0x71, 0xf8, 0x1c, 0x8e, 0xe1, 0x4e, 0x15, 0x75, 0x9e, 0x21, 0xec, 0xa9, + 0x00, 0x7c, 0x91, 0x6a, 0x16, 0xdf, 0x5e, 0x59, 0x0b, 0xe1, 0x30, 0x36, 0x91, 0xb5, 0x14, 0xbc, + 0x2e, 0xe1, 0xd3, 0x6e, 0x9c, 0xcd, 0x3a, 0xa7, 0xe8, 0x0b, 0x9f, 0x3d, 0x66, 0xcd, 0x83, 0x86, + 0xf4, 0xe3, 0xf1, 0x0a, 0x1f, 0xeb, 0xec, 0xb8, 0xe2, 0x6d, 0x68, 0x81, 0x58, 0xf3, 0x43, 0x68, + 0x44, 0xc7, 0x10, 0x26, 0x05, 0x22, 0x63, 0x11, 0xdf, 0xdc, 0x48, 0xc3, 0xc2, 0x98, 0x52, 0x15, + 0x20, 0x2c, 0xf2, 0x93, 0x37, 0x99, 0x55, 0x09, 0x3c, 0xf0, 0xde, 0xd0, 0xf5, 0x2d, 0x54, 0xda, + 0x06, 0x8f, 0x96, 0xa1, 0x24, 0x8a, 0x79, 0x03, 0x2b, 0x0f, 0xd0, 0x3e, 0xe9, 0xcb, 0xf6, 0x1b, + 0x21, 0xe9, 0x56, 0xab, 0x24, 0x90, 0xb7, 0x1e, 0x2a, 0x09, 0x53, 0x61, 0x50, 0x38, 0x78, 0x90, + 0x2a, 0x68, 0x0b, 0xbd, 0xbf, 0x10, 0x51, 0xd9, 0x51, 0xf9, 0x45, 0x6a, 0xc6, 0xaa, 0xf3, 0x67, + 0x3e, 0x95, 0x04, 0x9f, 0x75, 0x6f, 0x75, 0x50, 0xad, 0x78, 0x12, 0x5e, 0x4c, 0x79, 0x1a, 0xae, + 0x8c, 0x32, 0x11, 0xf6, 0x68, 0x52, 0x5e, 0x61, 0xe8, 0xc0, 0xa0, 0x0e, 0x57, 0x7a, 0x63, 0xdf, + 0xb6, 0xec, 0x10, 0x7a, 0xe3, 0x9e, 0x9c, 0x04, 0xeb, 0x29, 0x40, 0x7c, 0xc7, 0x7c, 0xa6, 0x66, + 0x85, 0xb2, 0x49, 0x42, 0xd3, 0x26, 0xa9, 0x77, 0x10, 0x79, 0x50, 0xf7, 0x50, 0x5d, 0xe0, 0x9d, + 0x02, 0x9b, 0xb7, 0x54, 0x97, 0xc1, 0xb9, 0xf2, 0x6e, 0x65, 0x86, 0x15, 0xed, 0xa5, 0xbe, 0x1e, + 0x7d, 0x9f, 0xfd, 0x86, 0x79, 0x53, 0x1d, 0x2c, 0x85, 0xe1, 0xcd, 0xb6, 0x05, 0x5b, 0xb9, 0x05, + 0x5e, 0xa7, 0x8e, 0xe3, 0xfe, 0xeb, 0xd3, 0xed, 0x36, 0x83, 0xf9, 0x1b, 0x89, 0xdc, 0x82, 0x18, + 0xf2, 0x5c, 0x8f, 0xc9, 0x0a, 0xd5, 0x9a, 0x7b, 0x2c, 0x27, 0x84, 0xd7, 0x14, 0x84, 0x43, 0x6a, + 0x7d, 0xbd, 0xef, 0x8f, 0xc2, 0x16, 0xe9, 0xa9, 0xb3, 0x8b, 0x27, 0xc8, 0x68, 0xbd, 0x81, 0x0f, + 0xdb, 0xad, 0x2b, 0xcb, 0x29, 0x13, 0xd8, 0xf4, 0x30, 0x7d, 0x65, 0x7b, 0x37, 0x70, 0xfb, 0x21, + 0x28, 0xab, 0xd3, 0xcc, 0x49, 0xc8, 0xac, 0x2a, 0x64, 0xb4, 0x5e, 0xee, 0xbe, 0xba, 0x89, 0xcb, + 0x18, 0x33, 0x09, 0x2c, 0x19, 0xf8, 0xdb, 0x86, 0x53, 0xfe, 0xfb, 0x7e, 0x81, 0xc0, 0xbf, 0x79, + 0xf3, 0x9d, 0x87, 0x16, 0xf7, 0x8b, 0x09, 0xa8, 0xdb, 0xd5, 0x39, 0xf0, 0x05, 0xa5, 0x26, 0x3e, + 0x2b, 0x62, 0x25, 0xae, 0xa9, 0xb6, 0xc9, 0x79, 0x8f, 0xdd, 0x4f, 0xfc, 0x78, 0x8c, 0xef, 0xf7, + 0xcb, 0xb5, 0x66, 0x3f, 0xb6, 0xd3, 0x82, 0x1b, 0x7b, 0x3d, 0x5a, 0x14, 0x71, 0x5b, 0x16, 0x92, + 0xd6, 0xe0, 0xbc, 0x13, 0x63, 0xb6, 0x7a, 0x62, 0xcf, 0x33, 0x35, 0x36, 0xdd, 0xca, 0x5e, 0xa7, + 0x19, 0xd4, 0x7e, 0x3f, 0x40, 0xc1, 0x28, 0xd0, 0x78, 0x3f, 0x84, 0x19, 0x76, 0x3c, 0x42, 0xdc, + 0x5a, 0xd2, 0xe2, 0x31, 0x5f, 0x6c, 0x9e, 0x76, 0xa5, 0xe0, 0xf7, 0x49, 0x64, 0x28, 0xef, 0xb1, + 0xde, 0xf5, 0x00, 0xd5, 0x70, 0x95, 0xa1, 0xb6, 0x52, 0xa8, 0xdf, 0xf9, 0x75, 0xbd, 0x05, 0x2a, + 0x12, 0x9d, 0x05, 0x6c, 0x61, 0x47, 0x2a, 0xdf, 0x73, 0x0e, 0xed, 0x2f, 0x37, 0x10, 0x67, 0xeb, + 0x0d, 0xbc, 0x66, 0xb4, 0xc0, 0x56, 0xd6, 0xc4, 0x45, 0x11, 0x27, 0x1e, 0xcb, 0xb1, 0xc8, 0x63, + 0x20, 0xfa, 0xdb, 0xbd, 0x09, 0xb5, 0x88, 0xfa, 0xfa, 0xcd, 0x73, 0xf7, 0xf5, 0x02, 0xda, 0xce, + 0xa6, 0x55, 0xc0, 0x28, 0x21, 0x52, 0x67, 0x07, 0x21, 0xc1, 0xb4, 0xc7, 0x86, 0x6e, 0x4b, 0xb7, + 0xde, 0x81, 0x59, 0xc0, 0x89, 0xe6, 0xe1, 0x27, 0x45, 0xf6, 0x95, 0x5b, 0xbf, 0xa1, 0x90, 0x42, + 0xbd, 0xaf, 0x88, 0xa9, 0x63, 0x2b, 0x0a, 0x07, 0x47, 0xff, 0x03, 0xa8, 0x2a, 0x68, 0xd9, 0x7c, + 0x97, 0xfb, 0x5c, 0xd4, 0x82, 0x31, 0xa7, 0xc9, 0xf8, 0xe7, 0x21, 0x47, 0x77, 0x3b, 0x83, 0xf5, + 0xb1, 0xe1, 0x25, 0xe0, 0x76, 0x20, 0x5f, 0xba, 0x10, 0x3c, 0x09, 0x2c, 0xba, 0xc5, 0x6e, 0x35, + 0xb3, 0xa9, 0x78, 0x58, 0x9c, 0x27, 0x6a, 0x02, 0xf5, 0x42, 0x86, 0x5a, 0x1d, 0xaf, 0x0d, 0x5e, + 0xbc, 0x5e, 0x3e, 0x45, 0x0b, 0x65, 0xdf, 0x67, 0x05, 0xe5, 0xd9, 0xdf, 0x51, 0x3e, 0xf7, 0xfc, + 0xc7, 0x87, 0x2d, 0xaa, 0x08, 0xee, 0x4c, 0x16, 0xd3, 0x41, 0xd7, 0xcb, 0x62, 0xfd, 0x06, 0xab, + 0xf2, 0x7d, 0x6c, 0x08, 0x7d, 0x80, 0xe9, 0xd3, 0x65, 0x45, 0x23, 0x94, 0xbc, 0x20, 0x05, 0x4e, + 0x92, 0xd9, 0x0d, 0x57, 0xfa, 0x0e, 0x71, 0x1c, 0xca, 0xc1, 0x1c, 0x4e, 0x21, 0x6a, 0xe6, 0x72, + 0xa9, 0xae, 0x89, 0x13, 0x7e, 0xf9, 0x64, 0xaf, 0xc9, 0x02, 0xc3, 0x26, 0x26, 0x63, 0x1b, 0x5f, + 0x20, 0x6f, 0x32, 0x09, 0xd8, 0x6c, 0xf8, 0x1e, 0x4b, 0x68, 0x97, 0xcd, 0x90, 0xeb, 0x3f, 0x96, + 0xb8, 0x8a, 0x83, 0x9f, 0x4e, 0x10, 0xe7, 0xab, 0x90, 0x94, 0x0a, 0x24, 0xca, 0x14, 0xa6, 0xe2, + 0x8d, 0x6d, 0xf8, 0xc3, 0xcc, 0xcd, 0xa0, 0x5c, 0xb5, 0x59, 0xb3, 0xbe, 0x01, 0x9d, 0x16, 0x83, + 0x86, 0x1f, 0xdb, 0x47, 0xca, 0x22, 0xe6, 0x8e, 0x66, 0xe2, 0x3e, 0x6f, 0x56, 0x78, 0xba, 0x44, + 0xe3, 0xd3, 0xd9, 0xc5, 0x66, 0xa1, 0xfe, 0x16, 0xf9, 0xcc, 0x8c, 0x09, 0x96, 0xd4, 0xd7, 0x05, + 0xc0, 0x5d, 0x66, 0xae, 0x54, 0xce, 0xfd, 0xfa, 0x6a, 0xfd, 0x85, 0xc5, 0x8b, 0x9c, 0x4d, 0x65, + 0x96, 0xd3, 0x75, 0xc8, 0xec, 0x0b, 0xb2, 0x4f, 0xca, 0xbe, 0x53, 0x8b, 0x17, 0x94, 0x84, 0x1a, + 0xbc, 0x05, 0x1d, 0x2f, 0x7f, 0x9f, 0x7b, 0x54, 0x08, 0x15, 0x92, 0x3d, 0x94, 0x88, 0x23, 0x1d, + 0xa7, 0xe2, 0x5e, 0xf4, 0xd5, 0xce, 0xd5, 0x31, 0x70, 0xa3, 0x58, 0x46, 0x68, 0x6e, 0x4f, 0x13, + 0x8f, 0x04, 0x79, 0x68, 0xff, 0x18, 0x14, 0x4b, 0xa9, 0xc6, 0xda, 0x68, 0x9c, 0xa0, 0x2a, 0xb0, + 0xcc, 0xc5, 0x07, 0xc3, 0xe1, 0x50, 0x29, 0x21, 0xf9, 0x53, 0x6b, 0x83, 0x0c, 0xbe, 0x16, 0x6f, + 0x91, 0x2f, 0xdc, 0x4e, 0xe0, 0xfa, 0x7c, 0x39, 0x89, 0xa8, 0xc8, 0x94, 0x0e, 0xe4, 0xca, 0xec, + 0xd5, 0x9e, 0xb5, 0x76, 0x6b, 0x10, 0x4e, 0x4d, 0x25, 0x4a, 0xd2, 0x4d, 0xa0, 0xb8, 0x3b, 0x25, + 0xc3, 0xda, 0xff, 0xcd, 0x4e, 0x1f, 0x72, 0xd6, 0x6e, 0xe5, 0x56, 0xa1, 0x6d, 0x2c, 0x6a, 0xcb, + 0x88, 0xa6, 0xec, 0xe9, 0x5d, 0x18, 0xd6, 0x6a, 0x35, 0x6e, 0x55, 0xb1, 0x68, 0xc9, 0x35, 0x4f, + 0x9e, 0x8c, 0x8a, 0x24, 0xd6, 0x56, 0x5c, 0x58, 0xa9, 0x45, 0x5b, 0xd3, 0x5c, 0xd7, 0x5b, 0xc9, + 0x76, 0xff, 0xec, 0xbd, 0x8e, 0x95, 0x6c, 0xe0, 0xb9, 0xe1, 0x93, 0x81, 0x61, 0xbb, 0x99, 0xae, + 0x30, 0x06, 0x5c, 0x7c, 0x85, 0x26, 0xf9, 0xf9, 0xad, 0x3c, 0x93, 0x1c, 0x7a, 0x11, 0x63, 0xd3, + 0x83, 0xac, 0xe3, 0x75, 0x73, 0xfa, 0x4b, 0xb4, 0x57, 0x21, 0x12, 0xe3, 0x06, 0xb6, 0x6a, 0x0d, + 0xaf, 0x64, 0x23, 0x15, 0xfc, 0x91, 0xcf, 0x27, 0x29, 0x19, 0x8a, 0xcf, 0x45, 0x46, 0x28, 0xb8, + 0x36, 0xe8, 0xd2, 0x24, 0x58, 0x45, 0x79, 0xaf, 0x7f, 0xcc, 0xf2, 0xd5, 0xc1, 0xe0, 0x5a, 0x36, + 0xaf, 0x7f, 0x09, 0x38, 0xcb, 0x5e, 0xcf, 0x25, 0x14, 0x73, 0x98, 0x41, 0xac, 0x21, 0x2a, 0x81, + 0xaf, 0xd8, 0x75, 0xca, 0x95, 0xd5, 0xbf, 0x71, 0x50, 0xec, 0x4c, 0x65, 0x46, 0xcc, 0xfa, 0x53, + 0x1b, 0xd7, 0x6e, 0x09, 0x2e, 0xef, 0x13, 0x47, 0x8e, 0xe0, 0x9e, 0xbd, 0xb9, 0x11, 0x4e, 0x59, + 0x61, 0x97, 0xd7, 0x66, 0x4e, 0x8c, 0xf6, 0x17, 0x6a, 0x72, 0xa6, 0x17, 0xb7, 0x3d, 0xb6, 0xc5, + 0x5f, 0x5e, 0x31, 0xd5, 0xe4, 0xe9, 0xbe, 0xdf, 0x86, 0xbd, 0x4b, 0x8d, 0xb9, 0x11, 0x00, 0xcc, + 0x54, 0x1b, 0x15, 0xe2, 0x8a, 0x67, 0x28, 0xbc, 0x95, 0x40, 0xe0, 0x61, 0xfb, 0xf2, 0x2f, 0xfc, + 0x55, 0xc5, 0x11, 0x03, 0xf1, 0x30, 0xdb, 0x0d, 0x91, 0x12, 0x2b, 0x93, 0xa9, 0x74, 0xb0, 0x02, + 0xd8, 0x51, 0x91, 0x7f, 0x17, 0x1a, 0x69, 0xb3, 0x21, 0xaf, 0x84, 0x11, 0x2a, 0xb2, 0x9c, 0xdb, + 0xb7, 0x96, 0x52, 0x4a, 0xe6, 0x00, 0x28, 0x52, 0x06, 0xb1, 0x8b, 0x41, 0x66, 0x73, 0x07, 0x94, + 0xcb, 0xa4, 0xca, 0xba, 0xd2, 0x68, 0xae, 0xbd, 0xa5, 0x08, 0x7b, 0x65, 0x6c, 0x8d, 0x72, 0xdd, + 0x94, 0x12, 0x10, 0xa1, 0x1f, 0xd8, 0xcc, 0x2f, 0xc6, 0xcb, 0x38, 0x5a, 0xc4, 0x51, 0xce, 0xff, + 0xf5, 0x60, 0x43, 0x61, 0x91, 0x08, 0x2a, 0x95, 0x88, 0x64, 0xda, 0x99, 0xfc, 0x6f, 0xb5, 0xdf, + 0x58, 0xa7, 0x09, 0x52, 0x44, 0x04, 0x4a, 0xea, 0x24, 0xca, 0x0b, 0x58, 0x58, 0xad, 0x59, 0x8f, + 0xbe, 0x5d, 0x96, 0x24, 0xe7, 0xda, 0x34, 0xd9, 0x15, 0x69, 0x71, 0x2a, 0x79, 0x82, 0x40, 0x0e, + 0xf3, 0x1d, 0xa0, 0xab, 0x5c, 0xf7, 0xe1, 0x94, 0xc8, 0xef, 0xc0, 0xf2, 0x5e, 0x12, 0xad, 0x5c, + 0x4c, 0x65, 0x3e, 0x17, 0x42, 0x0f, 0x30, 0xa2, 0x2d, 0x6d, 0x42, 0xb0, 0x9d, 0x77, 0xdc, 0xa1, + 0xe2, 0x0d, 0x61, 0xf4, 0x99, 0x63, 0x37, 0x5f, 0x53, 0xc2, 0x47, 0x04, 0x4e, 0xf3, 0x16, 0x51, + 0xd8, 0xb3, 0x48, 0xeb, 0x71, 0x32, 0x21, 0x8d, 0xfe, 0xeb, 0x9c, 0x94, 0x6f, 0x40, 0x63, 0xdd, + 0x6f, 0x42, 0x21, 0x37, 0x05, 0xc8, 0x77, 0x25, 0x40, 0xb0, 0xd3, 0xfc, 0x2a, 0x31, 0x7e, 0xe3, + 0xd5, 0x02, 0xea, 0x79, 0xca, 0x48, 0x35, 0x09, 0x29, 0xb1, 0xc7, 0xa1, 0xf6, 0x60, 0xcf, 0xa5, + 0x1d, 0xa3, 0xc0, 0x24, 0xcf, 0x4d, 0x19, 0x83, 0xc5, 0xd4, 0xbd, 0x89, 0x00, 0x24, 0xc0, 0xad, + 0xdc, 0x31, 0x05, 0x68, 0xaf, 0xe3, 0x53, 0x85, 0xc0, 0x97, 0x12, 0xb8, 0x7a, 0xa0, 0xb3, 0x51, + 0x33, 0xb7, 0xb1, 0x65, 0x5e, 0xef, 0x11, 0xd7, 0xa6, 0xef, 0x94, 0x9b, 0xbf, 0xdb, 0xf5, 0x5b, + 0x70, 0xbd, 0x53, 0x8a, 0xe5, 0xa0, 0x5c, 0x5a, 0xf4, 0x65, 0x28, 0xd8, 0xea, 0x6e, 0x5d, 0x9b, + 0x49, 0xa1, 0xec, 0x92, 0x34, 0x49, 0x0f, 0x98, 0xef, 0xf5, 0x19, 0xa9, 0x3d, 0x1f, 0xa5, 0x70, + 0xe4, 0xcb, 0x73, 0xae, 0x70, 0x5f, 0xbb, 0x3b, 0x04, 0x7f, 0xd2, 0x23, 0xac, 0x7b, 0x09, 0x51, + 0x11, 0xe8, 0x0b, 0xfe, 0x98, 0x9c, 0x6c, 0xfa, 0xce, 0xe7, 0xd7, 0xf0, 0x2b, 0x7b, 0x35, 0xe6, + 0x53, 0xe7, 0xfc, 0x30, 0xfb, 0x17, 0xe0, 0x87, 0x87, 0x7f, 0x9c, 0x6a, 0xab, 0x3d, 0x1c, 0x62, + 0x52, 0x62, 0xb0, 0x66, 0xf4, 0x3c, 0x51, 0x15, 0xec, 0xea, 0xad, 0x80, 0xee, 0xc9, 0xd4, 0x18, + 0xbb, 0x7f, 0xd2, 0x78, 0x3c, 0xba, 0xcb, 0x26, 0x04, 0x06, 0x96, 0x8d, 0x50, 0xcf, 0x17, 0xfd, + 0x08, 0xcf, 0x7b, 0x77, 0x5b, 0x37, 0xe3, 0xc4, 0x3c, 0xd1, 0xbe, 0xb9, 0x0d, 0xf5, 0x18, 0xd8, + 0x2b, 0x8e, 0x7f, 0x0d, 0x09, 0x6d, 0x1b, 0x12, 0x80, 0xec, 0x53, 0x4a, 0xd9, 0x87, 0xb8, 0x4b, + 0x8c, 0x6e, 0xcf, 0xff, 0xa4, 0xad, 0xd9, 0x91, 0x6b, 0x6d, 0x8e, 0xe4, 0x73, 0x25, 0x7a, 0x76, + 0x8d, 0x8e, 0x97, 0x6c, 0x75, 0xa6, 0x7d, 0xb8, 0x68, 0x93, 0x47, 0x71, 0x5a, 0xb6, 0x51, 0xa9, + 0xbb, 0x85, 0x4f, 0xc5, 0x02, 0x77, 0x80, 0x4f, 0x4b, 0xf4, 0x9d, 0x02, 0xc1, 0xfe, 0xc2, 0xa8, + 0x1e, 0xec, 0x6f, 0xe0, 0x81, 0x51, 0xd3, 0xa4, 0xc4, 0x60, 0xe1, 0xdb, 0x7b, 0xf1, 0xea, 0xc9, + 0x2d, 0xb9, 0x17, 0xa9, 0xc0, 0x5d, 0x9a, 0xff, 0x34, 0x47, 0x2b, 0xc1, 0x74, 0x87, 0xde, 0xd1, + 0x09, 0x83, 0x03, 0x6c, 0x8b, 0x15, 0xa0, 0x57, 0xa6, 0x06, 0x21, 0x49, 0x1d, 0xd0, 0x03, 0x4a, + 0xe3, 0x69, 0x04, 0xb0, 0xa6, 0xd7, 0xc2, 0x5b, 0x94, 0x1f, 0x3f, 0x47, 0x23, 0xb6, 0x61, 0x0c, + 0x17, 0x41, 0x8c, 0x5e, 0x33, 0x8c, 0xd9, 0x9d, 0x7c, 0xb5, 0x64, 0xcd, 0x01, 0x97, 0xe7, 0x09, + 0x74, 0xc1, 0x68, 0x9d, 0xe5, 0xff, 0x4b, 0x2d, 0x82, 0x1a, 0x68, 0x27, 0x9c, 0x68, 0xe8, 0x3e, + 0x31, 0xc9, 0x46, 0x18, 0x30, 0xe4, 0x35, 0xed, 0x5a, 0xd0, 0xa3, 0x48, 0xb6, 0x34, 0x87, 0xe7, + 0xa9, 0xbf, 0x37, 0x53, 0x0b, 0x81, 0xae, 0x4f, 0x60, 0xb2, 0x71, 0x62, 0x63, 0x1c, 0x98, 0x48, + 0x11, 0xa2, 0x5e, 0x90, 0xde, 0x6d, 0x4e, 0x59, 0x44, 0x70, 0xcf, 0xa6, 0x37, 0xb0, 0x61, 0x1a, + 0x59, 0x61, 0x25, 0x48, 0x7b, 0x69, 0xe0, 0xd0, 0xcd, 0x9f, 0x37, 0x31, 0xce, 0xc7, 0x23, 0xba, + 0xe1, 0xdd, 0xd2, 0x07, 0x3d, 0x95, 0xa0, 0x56, 0x91, 0xd0, 0xf0, 0x90, 0x5d, 0xe3, 0xbd, 0x8e, + 0x77, 0xe2, 0x8a, 0xf2, 0xd9, 0x68, 0x80, 0x10, 0x77, 0xe8, 0x01, 0x4e, 0x5a, 0x22, 0x32, 0x94, + 0x2f, 0x0c, 0x33, 0xea, 0x30, 0xe7, 0x96, 0x55, 0x7f, 0x97, 0x8d, 0x09, 0x97, 0xc6, 0x2d, 0x94, + 0x9d, 0x5a, 0x6a, 0x17, 0x0f, 0xbd, 0x67, 0x9b, 0xb6, 0x16, 0xca, 0x84, 0x3e, 0x70, 0x5d, 0x96, + 0x58, 0x64, 0x20, 0xa6, 0xf7, 0xc9, 0xd7, 0x9d, 0x98, 0xd0, 0x52, 0x25, 0xf8, 0x5b, 0x8c, 0xbf, + 0xb7, 0xa5, 0x3c, 0x09, 0xc0, 0x67, 0xca, 0x8b, 0xf1, 0x48, 0xe8, 0xe8, 0x27, 0x45, 0x21, 0x2e, + 0xbb, 0xa6, 0xb6, 0xe7, 0xf9, 0xe1, 0x57, 0x5b, 0x55, 0xf2, 0xa2, 0xff, 0x61, 0x2c, 0xad, 0x3c, + 0x78, 0x35, 0xdc, 0x50, 0x24, 0x6a, 0x7c, 0x56, 0x02, 0xc7, 0xce, 0x2b, 0xe9, 0x8e, 0x57, 0x9a, + 0x31, 0xc4, 0x35, 0x8e, 0x5f, 0x64, 0xd0, 0xef, 0x23, 0x98, 0x27, 0xe2, 0x02, 0x6b, 0x0a, 0x7c, + 0x15, 0x32, 0x08, 0x06, 0x96, 0xee, 0x56, 0x0c, 0x03, 0xc7, 0x62, 0xfc, 0xae, 0x00, 0xd9, 0x6f, + 0xc0, 0x76, 0x17, 0x1f, 0xfa, 0x46, 0x00, 0x01, 0x07, 0x7e, 0x65, 0x20, 0xd1, 0x1b, 0x2d, 0x64, + 0x1d, 0x4a, 0xef, 0x94, 0x9a, 0xa2, 0x24, 0x78, 0xc6, 0x9d, 0x56, 0x1b, 0x11, 0x19, 0x68, 0x40, + 0x33, 0x3a, 0x7e, 0x56, 0x9a, 0x3b, 0x41, 0x61, 0x1a, 0xfd, 0xaf, 0xf9, 0xff, 0x00, 0xbd, 0xc5, + 0x8d, 0x04, 0x63, 0x5a, 0xf2, 0x31, 0xd2, 0x6f, 0xf6, 0x0b, 0x58, 0x92, 0x02, 0x52, 0x31, 0x31, + 0x2d, 0x80, 0x09, 0x19, 0xdb, 0x4f, 0xfb, 0xf6, 0x52, 0x94, 0xbd, 0x51, 0xa3, 0x19, 0x3e, 0xa6, + 0xb6, 0x00, 0x7b, 0xea, 0x65, 0x26, 0x1c, 0x96, 0xbc, 0x1d, 0x8a, 0xc5, 0x88, 0xc1, 0xb0, 0x16, + 0xa0, 0xf7, 0x2c, 0x76, 0x2c, 0x10, 0x86, 0xca, 0x69, 0x39, 0xfc, 0x37, 0x26, 0xb7, 0xa0, 0x02, + 0xec, 0xd9, 0xf4, 0x97, 0x24, 0xfb, 0x34, 0x62, 0x9b, 0x31, 0x88, 0xc3, 0xb4, 0x85, 0x5b, 0xa5, + 0x47, 0xdc, 0xe5, 0x1d, 0xa9, 0x17, 0x40, 0xff, 0x52, 0x00, 0xe7, 0x91, 0x16, 0xba, 0xd7, 0x49, + 0x4b, 0xdb, 0xf1, 0x93, 0xb9, 0xc9, 0x80, 0x1e, 0xb4, 0x0b, 0x2a, 0xf2, 0x7d, 0x78, 0xae, 0xe7, + 0x5c, 0xb9, 0x73, 0xf6, 0xc0, 0x9e, 0x1f, 0x95, 0x83, 0xca, 0x52, 0xff, 0x13, 0xe0, 0xe2, 0x3a, + 0x38, 0x1a, 0x8c, 0x67, 0x41, 0x95, 0x05, 0x36, 0x77, 0x37, 0x6e, 0xbf, 0xf7, 0x57, 0x8c, 0xf7, + 0x94, 0xd4, 0x07, 0x59, 0xf4, 0xba, 0x00, 0xdb, 0xef, 0xa7, 0x47, 0x8a, 0x4b, 0x9c, 0xd4, 0xbc, + 0x85, 0xfe, 0x6d, 0xe5, 0x90, 0x9e, 0x65, 0xb0, 0x97, 0xe8, 0x89, 0xb9, 0xec, 0xe8, 0xb1, 0xb9, + 0x48, 0x92, 0x52, 0x4f, 0x97, 0x33, 0xd0, 0x32, 0x4a, 0x04, 0x7d, 0x45, 0x24, 0x2c, 0xb1, 0x6b, + 0x1c, 0xbf, 0x32, 0x59, 0xc4, 0xd5, 0x32, 0xd6, 0x37, 0xe3, 0x1e, 0xac, 0x9c, 0xd2, 0xca, 0x72, + 0x4c, 0x41, 0x4b, 0x8e, 0xb0, 0xf6, 0xf1, 0xd1, 0x8f, 0x36, 0x54, 0x26, 0xdd, 0xf6, 0xb5, 0x66, + 0x54, 0x99, 0xc7, 0xaf, 0x6d, 0x08, 0xcf, 0x80, 0x56, 0xfc, 0xad, 0x33, 0x01, 0x1e, 0x82, 0x43, + 0x04, 0x08, 0x49, 0xfd, 0x22, 0x22, 0xef, 0x1f, 0x63, 0x68, 0xc6, 0x7b, 0xe9, 0xd4, 0xdc, 0xf2, + 0x38, 0x5c, 0xf9, 0xd8, 0x80, 0x30, 0x28, 0x34, 0xea, 0xb7, 0x7e, 0x53, 0xad, 0xbe, 0x60, 0xec, + 0x0b, 0xc3, 0x9f, 0x52, 0x07, 0x68, 0xc6, 0x40, 0x9e, 0xaf, 0xe0, 0xd2, 0x69, 0x69, 0xd7, 0xcb, + 0xd2, 0x3d, 0x78, 0xc7, 0x29, 0x8b, 0x4f, 0x9a, 0xc7, 0xbd, 0x01, 0x6a, 0x7d, 0x53, 0x0a, 0x18, + 0x5e, 0x2c, 0x07, 0xae, 0x4f, 0xbf, 0xd9, 0x6e, 0x29, 0x4b, 0xef, 0xf9, 0x57, 0x21, 0x58, 0x7b, + 0x92, 0xde, 0x2b, 0x94, 0x9e, 0x07, 0x8d, 0x67, 0x3e, 0xc6, 0xf0, 0xf3, 0x6a, 0x82, 0xd2, 0x0d, + 0x13, 0x0b, 0xeb, 0xf6, 0x9c, 0xa6, 0xfd, 0x17, 0xd6, 0x3d, 0x9a, 0x1a, 0xad, 0x17, 0x71, 0x6d, + 0xb0, 0xd2, 0x56, 0xc2, 0x42, 0x73, 0x76, 0xef, 0xbd, 0x2f, 0x26, 0xd5, 0x66, 0x1f, 0x72, 0x8e, + 0x9f, 0x6b, 0xf6, 0x8d, 0x34, 0x24, 0x46, 0x2d, 0x55, 0x73, 0x51, 0x98, 0xb6, 0x16, 0xbd, 0xa6, + 0x8f, 0xb1, 0x85, 0x7c, 0xf1, 0x99, 0x85, 0xeb, 0x60, 0xd1, 0xaf, 0xca, 0x08, 0x23, 0xfa, 0x14, + 0x89, 0x28, 0x0f, 0x57, 0xb4, 0x4b, 0x20, 0x92, 0x2f, 0x6a, 0x6c, 0xa7, 0xdc, 0xe1, 0x31, 0x8d, + 0x70, 0x7a, 0xa9, 0x14, 0x8f, 0xac, 0xe0, 0x7a, 0x46, 0x76, 0x3c, 0xa5, 0xb6, 0x61, 0xc8, 0xd6, + 0xbe, 0x27, 0x2d, 0x17, 0x09, 0x19, 0x4d, 0x99, 0x6c, 0x3d, 0x80, 0x3b, 0x3a, 0x52, 0xba, 0x9d, + 0x6d, 0xeb, 0x05, 0x97, 0x37, 0x8e, 0x85, 0xb7, 0xd5, 0x9e, 0xb0, 0x55, 0x73, 0x4e, 0x7c, 0x19, + 0x30, 0x3f, 0xcf, 0xf1, 0xa6, 0x22, 0x4a, 0x60, 0x08, 0x8c, 0xfc, 0x6d, 0xc2, 0x86, 0xac, 0x88, + 0xbc, 0xae, 0x81, 0x34, 0x3b, 0x8f, 0x3a, 0x37, 0xf2, 0x6b, 0x91, 0x9c, 0x33, 0x53, 0xd8, 0x2b, + 0x64, 0x00, 0x6f, 0x02, 0x35, 0x59, 0x3f, 0x99, 0x0e, 0x9e, 0x85, 0x8c, 0x83, 0x6c, 0x2b, 0x53, + 0xde, 0xbb, 0x80, 0xa3, 0x32, 0xcb, 0xd7, 0x1a, 0xb4, 0x08, 0x07, 0x8a, 0x0b, 0x09, 0xa0, 0x93, + 0xd5, 0xe0, 0x07, 0xff, 0x25, 0x86, 0x04, 0x8d, 0xe2, 0x16, 0x3b, 0x24, 0x0a, 0x16, 0xbe, 0x4c, + 0xd6, 0x24, 0xc0, 0x20, 0x32, 0xe5, 0x6d, 0x95, 0xce, 0x05, 0x72, 0x5b, 0x8b, 0x53, 0x51, 0x98, + 0xd8, 0x2f, 0x1d, 0x1c, 0x02, 0xea, 0x03, 0xc2, 0x14, 0x11, 0xbe, 0xd0, 0x47, 0x07, 0x9e, 0x53, + 0xfd, 0xd1, 0xb7, 0xd9, 0xd8, 0xf3, 0x09, 0xe2, 0xec, 0xfb, 0x82, 0xf1, 0x31, 0xfa, 0xad, 0xed, + 0x46, 0xbd, 0xcc, 0x90, 0x90, 0x50, 0xe2, 0x25, 0xea, 0xe4, 0x39, 0x76, 0x08, 0x7f, 0x1d, 0xf7, + 0x36, 0x66, 0x97, 0x6c, 0xb5, 0x47, 0xb6, 0x02, 0xd9, 0x0d, 0x95, 0x07, 0x2a, 0x76, 0x55, 0x51, + 0x1b, 0x6e, 0xa0, 0x0f, 0xa7, 0x31, 0x6d, 0x38, 0x72, 0xc8, 0x78, 0x67, 0xd6, 0x53, 0x4e, 0x56, + 0xad, 0x4d, 0xed, 0xa5, 0x30, 0x31, 0xed, 0xe0, 0xf7, 0x4a, 0x3f, 0xf2, 0x28, 0xb6, 0x09, 0x61, + 0xbb, 0xd2, 0xc1, 0x17, 0x88, 0xdd, 0x39, 0xe9, 0x1d, 0x80, 0x37, 0x72, 0x8b, 0x36, 0xa6, 0xc5, + 0x05, 0xdc, 0x60, 0xc8, 0x47, 0x17, 0xb1, 0x0c, 0xfe, 0x0b, 0x0e, 0x66, 0x23, 0xd9, 0x2e, 0x68, + 0xdb, 0xbb, 0x91, 0x99, 0xe1, 0x4d, 0x41, 0x41, 0x16, 0x9d, 0x2a, 0xb0, 0x0c, 0xe1, 0xef, 0x1b, + 0xbf, 0xa7, 0x04, 0x71, 0x2e, 0x5b, 0xec, 0xfa, 0xb5, 0x49, 0x2d, 0x34, 0xa2, 0x1e, 0xe3, 0xc2, + 0x78, 0x93, 0xed, 0x37, 0xd0, 0x48, 0x9f, 0xfb, 0xbc, 0x9e, 0xcf, 0x2d, 0xeb, 0x7c, 0xc8, 0x9a, + 0x95, 0x66, 0x5c, 0xb1, 0x49, 0x31, 0x66, 0x6a, 0x8f, 0xbe, 0x95, 0x08, 0x47, 0x66, 0x8b, 0x27, + 0xfd, 0x0d, 0x25, 0x1b, 0x4b, 0xa0, 0x98, 0x3b, 0xd2, 0xa2, 0xcb, 0x8e, 0x1d, 0x92, 0x4e, 0xdf, + 0x6a, 0x7b, 0x4d, 0x17, 0x8c, 0x2e, 0x5e, 0xc0, 0xe8, 0xc2, 0x65, 0x44, 0x8f, 0x73, 0x72, 0xff, + 0x03, 0x88, 0x0a, 0x24, 0xe2, 0xeb, 0x78, 0x40, 0xb6, 0xcd, 0xf7, 0xd4, 0x47, 0x2e, 0x0b, 0x00, + 0x96, 0xb4, 0x3f, 0x7f, 0xe0, 0x93, 0x15, 0xeb, 0xa3, 0xa0, 0x28, 0xcd, 0x63, 0x42, 0x60, 0x93, + 0xad, 0x5f, 0x70, 0xcc, 0xea, 0x51, 0xae, 0x2c, 0x9c, 0x63, 0xc3, 0x86, 0x8c, 0xc7, 0x7d, 0x92, + 0x36, 0xbb, 0x8a, 0xb7, 0x1f, 0xb7, 0x78, 0x44, 0xc4, 0x1b, 0xf6, 0xcc, 0xfc, 0x4f, 0x3c, 0x5b, + 0xae, 0x0e, 0x8b, 0xf8, 0xd9, 0x4c, 0x73, 0xb7, 0x65, 0xc9, 0xd4, 0x7d, 0x5e, 0x81, 0x77, 0xf0, + 0x8e, 0x1b, 0x0b, 0x0b, 0x4d, 0x6b, 0x3d, 0x9f, 0xc3, 0xff, 0x60, 0xc0, 0x76, 0x3e, 0x79, 0x5d, + 0x23, 0xf1, 0x2b, 0xae, 0x3b, 0x58, 0xa0, 0xba, 0x5d, 0x82, 0xb2, 0x14, 0x04, 0x00, 0x9e, 0x21, + 0xbe, 0x45, 0x66, 0xb0, 0x80, 0xfd, 0x1b, 0x59, 0xa7, 0xe4, 0x2e, 0x9a, 0xde, 0x96, 0xa7, 0xef, + 0x16, 0x33, 0xaa, 0xce, 0x1c, 0x92, 0x34, 0x35, 0x6a, 0xae, 0xba, 0x5c, 0xad, 0x14, 0x0e, 0x90, + 0xcc, 0x4d, 0xb1, 0x47, 0x9e, 0x12, 0x4f, 0x19, 0xbd, 0x11, 0x80, 0xdf, 0x30, 0x89, 0x68, 0x59, + 0x47, 0x08, 0x52, 0x4c, 0x55, 0x8f, 0x50, 0x78, 0xa5, 0x7e, 0x2f, 0x87, 0x4b, 0xe8, 0x4c, 0xb4, + 0xa5, 0x9d, 0x70, 0x2a, 0xc0, 0x62, 0x01, 0x4f, 0x3d, 0x7f, 0x37, 0x52, 0xea, 0x2e, 0x44, 0xad, + 0x04, 0x27, 0xc0, 0x76, 0xf7, 0xdb, 0x16, 0xee, 0xcb, 0xd5, 0xf7, 0x3d, 0x12, 0xe0, 0x01, 0x61, + 0xbf, 0xff, 0x0f, 0xf2, 0xce, 0xd8, 0x09, 0x68, 0x9a, 0x46, 0x1f, 0xc1, 0xbf, 0xf4, 0xdc, 0xda, + 0xd0, 0xe0, 0xc6, 0x91, 0xee, 0xc1, 0xee, 0x6a, 0x2d, 0x0a, 0xca, 0x29, 0xcd, 0xa0, 0x1a, 0x24, + 0x5d, 0xe8, 0x92, 0xc2, 0x1c, 0x01, 0x32, 0xec, 0xde, 0x08, 0x83, 0xd3, 0xa8, 0x11, 0xa2, 0x67, + 0xd5, 0x9c, 0x00, 0x13, 0x23, 0x32, 0xf2, 0x09, 0xa7, 0x11, 0xfd, 0x34, 0x4f, 0xcf, 0xb5, 0x28, + 0x1a, 0x9b, 0xfd, 0x85, 0x5f, 0xdf, 0x5d, 0x71, 0xac, 0xed, 0xa9, 0x6d, 0x94, 0x41, 0x4f, 0x79, + 0x92, 0x98, 0xa7, 0xbb, 0xc1, 0x42, 0xcf, 0x6f, 0xc4, 0xc4, 0x80, 0xc2, 0xcd, 0x83, 0x07, 0x5b, + 0x33, 0x77, 0x9b, 0xee, 0xc6, 0xb3, 0x59, 0x73, 0x51, 0x8d, 0xe4, 0x6a, 0x13, 0x5b, 0x49, 0xa4, + 0x30, 0x8e, 0x16, 0x3e, 0xff, 0x77, 0xfd, 0xee, 0x1f, 0x08, 0xb6, 0x16, 0x41, 0xc2, 0x75, 0x0d, + 0xcb, 0xe7, 0x77, 0xad, 0x49, 0xa9, 0x8a, 0xc9, 0x40, 0xf0, 0x32, 0x86, 0x60, 0xc8, 0xb8, 0x53, + 0x10, 0x40, 0x7d, 0x19, 0xf5, 0xc8, 0x7c, 0x52, 0x4c, 0x3a, 0x03, 0x0e, 0xe5, 0x16, 0x09, 0x8d, + 0xac, 0x83, 0x25, 0x68, 0x4d, 0xdf, 0x4f, 0xf5, 0x8d, 0x25, 0xd0, 0x2e, 0x98, 0xb9, 0xe9, 0xec, + 0x26, 0xda, 0x79, 0xb8, 0xd1, 0xae, 0xec, 0x8f, 0xa9, 0xec, 0xf3, 0x83, 0x30, 0xfa, 0x30, 0x97, + 0xb3, 0x39, 0x5a, 0x50, 0x31, 0x73, 0xfd, 0x90, 0x2e, 0xfd, 0x0f, 0x43, 0x5d, 0x7a, 0xbf, 0xf7, + 0xaa, 0xcf, 0x7e, 0x85, 0x31, 0xed, 0x3f, 0x74, 0x9a, 0x81, 0x87, 0x18, 0x1c, 0x82, 0x9d, 0x47, + 0xfd, 0xbf, 0xc0, 0x12, 0x1e, 0xf1, 0xd9, 0x09, 0x20, 0xad, 0xf9, 0xca, 0x40, 0x16, 0xea, 0xa0, + 0x31, 0x1c, 0x7c, 0x70, 0xa5, 0x7e, 0x05, 0x8b, 0xec, 0x62, 0x4b, 0x3d, 0xc3, 0xc3, 0xf0, 0x8c, + 0xbc, 0x71, 0x11, 0xf0, 0xfe, 0x5c, 0x1c, 0x5b, 0xef, 0xae, 0xb8, 0x22, 0x84, 0xd1, 0x1a, 0x84, + 0x7b, 0x69, 0xa2, 0xc0, 0x1e, 0x01, 0xce, 0x32, 0xc2, 0xcf, 0x4d, 0x77, 0x2c, 0xc2, 0x97, 0xae, + 0x79, 0x5d, 0xdd, 0xcc, 0x39, 0x4a, 0xb3, 0x4d, 0x33, 0xc1, 0xdd, 0xe2, 0xb0, 0xb6, 0xed, 0x56, + 0x58, 0x86, 0x45, 0xe4, 0xf7, 0xd7, 0x77, 0x29, 0xa8, 0x14, 0xbb, 0xf8, 0x5e, 0x5b, 0x0b, 0xe8, + 0x8b, 0x26, 0x72, 0x79, 0x44, 0x16, 0xcf, 0x67, 0xb7, 0x94, 0x81, 0x36, 0xdc, 0x37, 0xb1, 0xfe, + 0x29, 0xb9, 0x02, 0xb5, 0xbf, 0x10, 0x9b, 0x03, 0x5e, 0x75, 0x53, 0xfd, 0xb1, 0xd9, 0x8f, 0x04, + 0xbe, 0x1f, 0x44, 0xca, 0xbd, 0x63, 0xd9, 0x10, 0x10, 0xc4, 0x83, 0xa1, 0x49, 0xe8, 0xf6, 0x73, + 0xec, 0x01, 0x4a, 0x4a, 0x94, 0xc1, 0x38, 0x53, 0xfa, 0xa9, 0xa4, 0x9f, 0x95, 0xe3, 0x8c, 0x5b, + 0x11, 0x51, 0xdf, 0x38, 0xb7, 0xc3, 0x55, 0xf5, 0xd6, 0xfe, 0xc5, 0x4b, 0xfb, 0x0f, 0x3f, 0x50, + 0x58, 0xae, 0xd6, 0xd8, 0x39, 0x70, 0x9d, 0xa0, 0xdd, 0x4d, 0x51, 0xb9, 0x95, 0x1b, 0xfd, 0x76, + 0xb6, 0x17, 0xf6, 0x0c, 0xef, 0xe6, 0x6d, 0xa4, 0xd7, 0xd1, 0x84, 0x43, 0xc8, 0x32, 0x74, 0xe0, + 0x04, 0x87, 0xae, 0x49, 0x37, 0xd0, 0xb7, 0x81, 0x33, 0x68, 0x20, 0x12, 0x62, 0xb6, 0x17, 0xe9, + 0xe1, 0xd8, 0xc3, 0x46, 0xaf, 0x7e, 0xd5, 0xfa, 0x83, 0x9c, 0x4e, 0xe7, 0xd4, 0xe2, 0x84, 0x97, + 0xdf, 0x10, 0xbe, 0x30, 0x80, 0x9c, 0xad, 0xc9, 0x95, 0x8c, 0xa9, 0xee, 0x13, 0x33, 0xa9, 0x53, + 0x34, 0x3f, 0x27, 0xa0, 0xdf, 0x83, 0xc1, 0x87, 0x78, 0x8a, 0x7d, 0x2a, 0x4d, 0x46, 0x37, 0x30, + 0xd0, 0x24, 0x45, 0xab, 0x74, 0xe4, 0x52, 0xbd, 0xb9, 0xf5, 0x6c, 0x44, 0x3d, 0x96, 0xcb, 0xab, + 0x2c, 0xa8, 0xe2, 0x19, 0xea, 0x55, 0x26, 0x6f, 0x85, 0x85, 0x4d, 0x0f, 0xa2, 0x9e, 0x72, 0xd4, + 0x52, 0xe3, 0x05, 0x93, 0x4b, 0x7e, 0x7d, 0x36, 0x6e, 0xb6, 0x98, 0xf5, 0x41, 0x45, 0x37, 0x63, + 0xf1, 0xfe, 0x7e, 0x01, 0x88, 0xda, 0xc8, 0x7e, 0xce, 0x91, 0x9f, 0x12, 0xba, 0x7f, 0xa4, 0x95, + 0xe6, 0x83, 0xc4, 0xcb, 0x02, 0x2c, 0x43, 0xf4, 0x9f, 0xa5, 0x10, 0xc2, 0x42, 0x95, 0xff, 0x3e, + 0x7d, 0x5e, 0xa2, 0x13, 0x1e, 0xb0, 0x50, 0xf9, 0x2d, 0xcd, 0x3e, 0xca, 0x1d, 0xfa, 0xf3, 0xc3, + 0xb7, 0x48, 0xe6, 0x5b, 0x87, 0x71, 0x17, 0x02, 0x45, 0xc3, 0xd4, 0xbd, 0x08, 0x51, 0xde, 0xfa, + 0x74, 0xc6, 0xeb, 0x96, 0xb5, 0x83, 0x6c, 0x3b, 0x61, 0xc7, 0x7f, 0xa0, 0x07, 0x2c, 0x2a, 0x3d, + 0xad, 0x36, 0x05, 0x7c, 0x37, 0xe7, 0x21, 0xa5, 0xf6, 0x02, 0x67, 0x85, 0x9c, 0x7a, 0x19, 0x22, + 0xe7, 0x12, 0xf9, 0xa2, 0x60, 0xbe, 0xf4, 0xba, 0xde, 0xc6, 0x53, 0xfa, 0xaf, 0x98, 0xc8, 0x59, + 0x0e, 0x3b, 0x28, 0x55, 0x85, 0xd3, 0xae, 0x9d, 0xdb, 0x00, 0x12, 0x4f, 0xfd, 0xd1, 0x3a, 0xad, + 0xe1, 0x0e, 0x80, 0xdc, 0xa4, 0x7c, 0xe4, 0xdd, 0x00, 0x08, 0x67, 0x3b, 0x62, 0x03, 0x7c, 0x2f, + 0xdf, 0x2a, 0x79, 0x1e, 0xed, 0xa0, 0x95, 0xbc, 0xaf, 0x1c, 0x92, 0xd9, 0x77, 0xd4, 0x6c, 0x47, + 0xa0, 0x58, 0x1c, 0x89, 0xab, 0x7f, 0x57, 0x48, 0x1d, 0x3a, 0xcb, 0x4c, 0x3d, 0x4d, 0x51, 0x91, + 0xa1, 0xa9, 0x0f, 0x22, 0x1d, 0xcd, 0x4c, 0x74, 0x6b, 0xac, 0xe6, 0x45, 0x89, 0x42, 0x96, 0x02, + 0xd5, 0xe6, 0x9a, 0xd3, 0x4d, 0xc1, 0x7b, 0x79, 0x2d, 0xb4, 0x50, 0x83, 0xd5, 0xba, 0x78, 0x9e, + 0x6e, 0x54, 0xab, 0x0a, 0x28, 0xe1, 0x5c, 0x7c, 0x88, 0xac, 0x72, 0x5c, 0x06, 0x61, 0x72, 0x59, + 0x18, 0x36, 0x23, 0x7a, 0x25, 0x73, 0x0c, 0x3b, 0x2e, 0x77, 0x6c, 0xcf, 0xd8, 0x37, 0xd8, 0x25, + 0xf8, 0xac, 0xf3, 0xc4, 0xf2, 0x3f, 0x6b, 0x1c, 0xc6, 0x8d, 0x82, 0x05, 0x1c, 0xfb, 0xbb, 0x9d, + 0x45, 0xcc, 0xbf, 0xd2, 0xed, 0x81, 0xec, 0xe5, 0x83, 0xd7, 0xb0, 0x94, 0xc6, 0xc7, 0xe5, 0x2e, + 0x42, 0x59, 0x33, 0x15, 0x73, 0x40, 0x45, 0xa5, 0x6d, 0xab, 0x2f, 0x7a, 0xd8, 0x76, 0x8a, 0x6f, + 0xa6, 0xdf, 0xfc, 0xee, 0xbf, 0x8a, 0xf4, 0xe5, 0xc9, 0xb0, 0xa8, 0x5f, 0xcd, 0x49, 0x54, 0x34, + 0xde, 0x4b, 0x06, 0x8f, 0xdc, 0x31, 0xa5, 0x99, 0xfd, 0x32, 0xc6, 0xc2, 0xb7, 0xb5, 0x45, 0xbe, + 0xc4, 0xb3, 0xc9, 0xa1, 0x51, 0x69, 0x55, 0x49, 0x00, 0x3f, 0x50, 0x52, 0xb2, 0xca, 0x29, 0xb7, + 0xd7, 0xc7, 0x3e, 0x55, 0x7b, 0x03, 0xb7, 0xc9, 0x70, 0x66, 0xf0, 0x6f, 0xdb, 0x54, 0x95, 0x25, + 0x0d, 0x4c, 0x6a, 0x68, 0xe7, 0xa7, 0x16, 0x23, 0x3c, 0xaf, 0xc0, 0x78, 0xaa, 0x19, 0x6b, 0x85, + 0xf0, 0x5a, 0x29, 0xe1, 0xdb, 0x11, 0xc1, 0x0d, 0xe7, 0xe4, 0x1e, 0xc1, 0xa7, 0x24, 0xb9, 0xa0, + 0x95, 0x18, 0x8d, 0xfb, 0x1c, 0xf3, 0x6b, 0x41, 0x9f, 0x4c, 0x59, 0x91, 0x2e, 0x59, 0x92, 0x03, + 0x14, 0x66, 0xdf, 0xb9, 0x52, 0x4c, 0x4a, 0xfd, 0x61, 0x57, 0x4e, 0x9f, 0xeb, 0x93, 0x6f, 0xaa, + 0x64, 0x39, 0x8e, 0x64, 0x63, 0x4b, 0xef, 0xce, 0x16, 0x74, 0xc7, 0xb7, 0x66, 0xfc, 0x31, 0xdb, + 0x20, 0x8f, 0x8d, 0x9f, 0x24, 0x5a, 0xd4, 0xac, 0x8f, 0xde, 0x92, 0xa4, 0x8f, 0xa4, 0xdd, 0x77, + 0xab, 0x25, 0x07, 0xe8, 0xdd, 0x6d, 0x6a, 0x8e, 0x9c, 0x86, 0x74, 0xa6, 0x4e, 0x2f, 0xd8, 0xb5, + 0x90, 0x3b, 0xc1, 0xaa, 0xd7, 0xee, 0x2f, 0xcd, 0x8b, 0xcc, 0x34, 0x7f, 0x70, 0x4f, 0x3b, 0x1c, + 0x41, 0xd5, 0xc6, 0xbc, 0x69, 0xf4, 0x09, 0x65, 0x10, 0x67, 0x4e, 0xf2, 0xc3, 0x7b, 0x8a, 0x64, + 0x71, 0xf6, 0x55, 0xe8, 0xe1, 0x55, 0x66, 0x7e, 0xd0, 0x55, 0xdd, 0x32, 0x17, 0x67, 0xf7, 0x9d, + 0xea, 0x98, 0x07, 0xed, 0x56, 0x8b, 0xff, 0x61, 0x6d, 0x1e, 0xc3, 0x7b, 0x74, 0x8e, 0x94, 0x00, + 0x05, 0x7b, 0x1c, 0xad, 0xd3, 0x57, 0x03, 0x55, 0x1d, 0x49, 0x1f, 0xb1, 0xec, 0xb5, 0x29, 0x7b, + 0xe2, 0x3f, 0xa8, 0x65, 0x9e, 0x3d, 0x91, 0xd4, 0xeb, 0x43, 0x35, 0x18, 0x4a, 0xb2, 0x15, 0x36, + 0x59, 0xdf, 0x39, 0xd3, 0xf7, 0x77, 0xdb, 0x1e, 0x75, 0xa4, 0x6b, 0x61, 0x83, 0x9c, 0x8c, 0x5d, + 0x39, 0x74, 0x7f, 0xef, 0xb3, 0x1a, 0x3f, 0x70, 0xbd, 0x82, 0xfe, 0x6d, 0x0b, 0x33, 0x3b, 0x8b, + 0x15, 0xcd, 0x41, 0x18, 0x88, 0x35, 0x44, 0x16, 0xfa, 0x91, 0x71, 0x6a, 0xe1, 0xf6, 0x06, 0x04, + 0x6a, 0x17, 0x0c, 0xc5, 0x63, 0xc3, 0x53, 0x0d, 0x95, 0x59, 0x09, 0x69, 0x35, 0xbd, 0x0b, 0xd8, + 0x71, 0xb8, 0x70, 0x34, 0x9f, 0xfe, 0xd5, 0x8c, 0x6a, 0x18, 0xf0, 0xcc, 0x61, 0x92, 0x88, 0xce, + 0xba, 0xb0, 0x8e, 0x32, 0xf5, 0x91, 0xfa, 0x36, 0x7f, 0xb5, 0xb3, 0x44, 0x96, 0x66, 0x41, 0x81, + 0x38, 0x4c, 0xcc, 0xeb, 0xb2, 0xce, 0x9f, 0xf8, 0x4a, 0x46, 0x69, 0xb5, 0x9d, 0x76, 0x9b, 0x41, + 0xcb, 0x3b, 0x54, 0x1f, 0x9e, 0x51, 0x4f, 0x50, 0x0f, 0x2c, 0x74, 0x90, 0x7b, 0x86, 0xd6, 0x45, + 0xd7, 0xc9, 0x84, 0x98, 0x6b, 0x90, 0xc2, 0x0d, 0xb3, 0x9e, 0x4f, 0xd6, 0xd6, 0xc5, 0x46, 0x48, + 0xa4, 0x3f, 0xc4, 0x18, 0xaf, 0xab, 0x12, 0x91, 0x75, 0x6d, 0xda, 0xe1, 0x97, 0x54, 0x01, 0x45, + 0x52, 0xb3, 0xea, 0xb8, 0x6a, 0x55, 0xa5, 0x5d, 0xba, 0xa5, 0x53, 0x9b, 0x91, 0xfb, 0x8c, 0xbd, + 0xc3, 0x25, 0x38, 0x64, 0x42, 0x31, 0x58, 0x5f, 0x90, 0xea, 0x56, 0x9e, 0xb3, 0x3a, 0xb8, 0x87, + 0xb2, 0xb9, 0x93, 0x58, 0x02, 0x16, 0xe7, 0x23, 0x53, 0x4a, 0xf2, 0xb8, 0xd8, 0x51, 0xa3, 0x1f, + 0xbc, 0x51, 0xd5, 0xd7, 0x10, 0x10, 0xdc, 0x50, 0x83, 0xc1, 0xc6, 0x50, 0x14, 0x38, 0x58, 0xf2, + 0x91, 0x23, 0x57, 0x2a, 0xd7, 0x93, 0xcc, 0x3f, 0xd4, 0xf9, 0x1d, 0xf1, 0xa2, 0x5e, 0x26, 0xd0, + 0x29, 0x0f, 0xec, 0xe2, 0x1b, 0x26, 0x54, 0xec, 0xea, 0xc7, 0x61, 0xb6, 0xb8, 0x1d, 0x35, 0x17, + 0xba, 0x43, 0x8b, 0x9c, 0x95, 0x9f, 0xbc, 0x54, 0x61, 0x8d, 0xb5, 0x41, 0x77, 0x39, 0x66, 0xe6, + 0x92, 0xe1, 0xb8, 0x89, 0xb8, 0x05, 0x6b, 0x20, 0x57, 0x0b, 0x13, 0x1a, 0x43, 0xca, 0x44, 0x90, + 0x60, 0xc5, 0xbd, 0xb4, 0xfd, 0xa6, 0xc6, 0xac, 0x67, 0x7b, 0xac, 0x1f, 0x7f, 0x6b, 0x0b, 0xdd, + 0x07, 0xb7, 0x76, 0xe6, 0x5e, 0x03, 0x62, 0x1b, 0x3e, 0xf8, 0xba, 0x0f, 0xe4, 0x87, 0x6c, 0x13, + 0xf1, 0x0a, 0x5e, 0xfa, 0x93, 0xe2, 0xba, 0xbd, 0x84, 0x41, 0xeb, 0xfb, 0x3d, 0xae, 0x35, 0xa8, + 0x39, 0x5d, 0x25, 0xa5, 0x57, 0x36, 0x50, 0xc8, 0x8b, 0x5c, 0x7a, 0x5c, 0xd1, 0x4d, 0x92, 0x51, + 0xee, 0xe7, 0x56, 0x96, 0x44, 0x61, 0xe7, 0xbe, 0xee, 0x6d, 0x32, 0xf8, 0x8c, 0x9b, 0xb6, 0xb3, + 0x5e, 0x30, 0xf0, 0xf2, 0x69, 0x8a, 0xc9, 0x46, 0x62, 0xf0, 0xbb, 0xa9, 0x68, 0x97, 0x82, 0xb5, + 0x54, 0xd1, 0x94, 0x07, 0xfa, 0x99, 0x4b, 0x97, 0x7f, 0x9f, 0x5f, 0x98, 0x03, 0xc4, 0xc9, 0x47, + 0xc5, 0xde, 0xe8, 0xa4, 0x46, 0x11, 0x81, 0x4f, 0x76, 0x14, 0x32, 0x1c, 0x51, 0x73, 0xb8, 0x7f, + 0x3a, 0x0c, 0xe7, 0xd3, 0x1e, 0x3f, 0x4b, 0xbf, 0xc1, 0x41, 0x44, 0x2e, 0x86, 0xb7, 0x6c, 0x11, + 0x9b, 0xed, 0x19, 0x1b, 0x61, 0xc8, 0x5a, 0x41, 0x2b, 0x9b, 0x15, 0xf1, 0x6a, 0xe9, 0x5c, 0x50, + 0x18, 0x44, 0x0e, 0x00, 0x37, 0x23, 0xae, 0xfd, 0xb6, 0xf6, 0xaf, 0xec, 0x4b, 0xd1, 0x22, 0x6d, + 0x1b, 0xb7, 0x59, 0x8c, 0xa0, 0xcb, 0x7e, 0x5b, 0x5d, 0x27, 0xa0, 0x2d, 0xb2, 0x84, 0x4f, 0x66, + 0x3f, 0x98, 0xd8, 0x2c, 0x26, 0x15, 0xec, 0x46, 0x75, 0x69, 0x3b, 0xea, 0x67, 0x5e, 0xeb, 0x5c, + 0x2b, 0x9c, 0xf5, 0xba, 0xdd, 0xf6, 0x52, 0x31, 0xc7, 0x2b, 0xb0, 0x60, 0x86, 0xb2, 0x55, 0xeb, + 0xc9, 0x2e, 0x40, 0x3d, 0xfb, 0x07, 0x91, 0xf2, 0xa5, 0x75, 0xa6, 0x1d, 0x4a, 0x8d, 0x42, 0xc5, + 0x3e, 0x66, 0x3e, 0xbc, 0xf6, 0x11, 0x31, 0x03, 0xa4, 0xa6, 0xad, 0x5f, 0x75, 0x74, 0xb5, 0x10, + 0xfc, 0xd1, 0x05, 0x04, 0x6d, 0x7a, 0xed, 0x33, 0x64, 0x38, 0x77, 0x49, 0x3d, 0xe1, 0xad, 0xc8, + 0x33, 0x71, 0x96, 0x61, 0x9c, 0x10, 0xa5, 0x07, 0xcd, 0xf5, 0xd6, 0x8b, 0x36, 0x14, 0x19, 0x99, + 0xd6, 0x3b, 0xb5, 0x7c, 0xe0, 0x14, 0xd9, 0xff, 0x3e, 0xfb, 0x9b, 0xcf, 0x7c, 0x6f, 0x35, 0xb5, + 0x58, 0x49, 0x65, 0xfd, 0xf1, 0x17, 0xf7, 0x69, 0x5f, 0xe4, 0x33, 0x74, 0xb8, 0xda, 0x53, 0x59, + 0x91, 0x8b, 0xd0, 0x48, 0xd4, 0xa6, 0x63, 0x16, 0x2e, 0x26, 0x9e, 0xa0, 0x12, 0xbf, 0x37, 0x90, + 0xa3, 0x06, 0x22, 0xc9, 0xa7, 0x7e, 0xfc, 0xb3, 0x3a, 0xd8, 0x10, 0x51, 0xb7, 0xda, 0x95, 0xdc, + 0x97, 0x94, 0x0b, 0x55, 0x62, 0x08, 0x60, 0x69, 0x55, 0xd0, 0x5b, 0x3c, 0xf8, 0x60, 0x2b, 0x77, + 0xc5, 0x4b, 0xfc, 0x2d, 0xe7, 0xc2, 0x11, 0x80, 0x35, 0xf3, 0xb6, 0x66, 0x87, 0xee, 0xff, 0xc3, + 0xf4, 0xab, 0x05, 0x01, 0x8b, 0xd7, 0xc3, 0x9e, 0x65, 0x13, 0x87, 0x09, 0x8f, 0xbd, 0xc2, 0x71, + 0x13, 0x32, 0xf9, 0x87, 0x4d, 0x23, 0xfc, 0x4b, 0xf4, 0x4f, 0x36, 0x1d, 0x85, 0xa8, 0xf9, 0xb6, + 0x4c, 0xac, 0x89, 0x08, 0x7f, 0xbe, 0x1c, 0x77, 0x6f, 0xba, 0x75, 0xcd, 0xfe, 0x8d, 0xc7, 0x06, + 0xa5, 0x70, 0x66, 0x02, 0x9b, 0xff, 0x00, 0xf2, 0x63, 0x20, 0xc7, 0x85, 0x12, 0x52, 0x97, 0xfe, + 0x07, 0xfa, 0x6b, 0xc4, 0xab, 0x4a, 0x8e, 0x9d, 0x08, 0x82, 0x18, 0xc3, 0xa5, 0x21, 0x68, 0xce, + 0x4a, 0xe1, 0xf0, 0xe6, 0x6b, 0x25, 0x72, 0x50, 0xc0, 0x9a, 0x08, 0x78, 0x70, 0x51, 0xb0, 0x8c, + 0xf8, 0x71, 0x07, 0xbe, 0xd0, 0x1c, 0xfa, 0x60, 0x37, 0x8a, 0x8a, 0x7c, 0xad, 0x49, 0x7b, 0x62, + 0x1a, 0x89, 0x61, 0x01, 0x90, 0xdf, 0x8a, 0xb8, 0x93, 0x13, 0x6f, 0x7c, 0x27, 0x66, 0x73, 0xb9, + 0xea, 0xcb, 0x7d, 0xb7, 0x96, 0xde, 0xda, 0x17, 0x90, 0xd0, 0xe0, 0xd4, 0x87, 0xa9, 0xc8, 0x9d, + 0xd7, 0x78, 0x4a, 0xa0, 0x77, 0x0c, 0x9c, 0x1d, 0xf2, 0x80, 0x93, 0x6a, 0x71, 0x46, 0x2f, 0xd3, + 0x96, 0x3e, 0x0f, 0xd2, 0xe9, 0x1a, 0x17, 0xde, 0x93, 0xd1, 0x92, 0x28, 0x47, 0x3b, 0x9a, 0x9d, + 0x29, 0x4f, 0x4d, 0x0c, 0x58, 0x4e, 0x49, 0xd9, 0x38, 0xcd, 0xee, 0x28, 0x26, 0xb1, 0x50, 0xcd, + 0x08, 0x29, 0x53, 0xe2, 0xca, 0xeb, 0x36, 0x07, 0xed, 0x67, 0x8d, 0xbe, 0x51, 0x35, 0xa4, 0xef, + 0x32, 0xa2, 0x70, 0x6f, 0xfa, 0x09, 0xab, 0xdb, 0x8b, 0x64, 0xa0, 0x9d, 0xfb, 0xc8, 0x90, 0xc7, + 0x55, 0xbf, 0x4f, 0x2f, 0x69, 0x9d, 0x56, 0x86, 0x8a, 0xbc, 0xd8, 0x00, 0x11, 0xba, 0x48, 0x31, + 0x88, 0x19, 0x51, 0x0e, 0x24, 0x1d, 0xdd, 0xc6, 0x4e, 0xcc, 0xd5, 0x27, 0x11, 0xcf, 0x0b, 0x7d, + 0x45, 0xd0, 0xd1, 0x23, 0x8c, 0xa5, 0x73, 0xab, 0x17, 0x06, 0x1b, 0xb7, 0x07, 0x81, 0x18, 0x11, + 0x0c, 0x00, 0xfa, 0x1b, 0xce, 0xe6, 0x28, 0x29, 0x00, 0x18, 0xf6, 0x3f, 0x9a, 0xe0, 0x68, 0x41, + 0xf1, 0x51, 0xc8, 0x4e, 0x19, 0xe4, 0x10, 0x2c, 0x90, 0xf9, 0x0b, 0x79, 0x78, 0x03, 0x82, 0x50, + 0xf8, 0xe6, 0x9e, 0x54, 0x85, 0x08, 0xa5, 0x1f, 0xf2, 0x70, 0x87, 0xf4, 0x48, 0xf9, 0x2b, 0x7a, + 0x6f, 0xec, 0xfc, 0xc8, 0x93, 0xcb, 0x4b, 0xb8, 0x14, 0x42, 0x81, 0xc6, 0x13, 0xbb, 0x8f, 0x90, + 0xbb, 0x88, 0x29, 0x66, 0x36, 0xb4, 0xbf, 0x51, 0x6b, 0xc7, 0x20, 0x3c, 0x29, 0x32, 0xf2, 0x14, + 0x9e, 0xb2, 0x92, 0xe7, 0x33, 0x84, 0x04, 0xa2, 0x67, 0x3d, 0x84, 0x83, 0xf4, 0x4d, 0x83, 0x3a, + 0xe1, 0xd4, 0xb3, 0xfa, 0x84, 0xaa, 0x72, 0x4e, 0xe5, 0x38, 0x37, 0x01, 0x0e, 0xdc, 0xc3, 0x8a, + 0x9e, 0x57, 0xef, 0x2c, 0x1b, 0x95, 0x58, 0x31, 0x14, 0xac, 0x31, 0x41, 0x97, 0x58, 0xd5, 0xbd, + 0xa1, 0x19, 0x73, 0xaa, 0xe9, 0x57, 0x75, 0x13, 0xc0, 0x0d, 0xd1, 0x25, 0x65, 0xfe, 0xdd, 0x5d, + 0xa9, 0x4d, 0xe0, 0x16, 0x8e, 0x46, 0x32, 0x23, 0x3e, 0x4d, 0xd4, 0xe6, 0xb4, 0xbd, 0xc8, 0xea, + 0x2d, 0x72, 0x29, 0xb3, 0x54, 0x3a, 0x80, 0x0f, 0x0e, 0xae, 0xb0, 0x47, 0xf8, 0xd3, 0xd0, 0xb6, + 0x9f, 0x56, 0x86, 0x6f, 0x49, 0x71, 0x47, 0x76, 0x9b, 0xae, 0xf2, 0x3c, 0xb3, 0x2b, 0xc0, 0xb6, + 0x73, 0xd4, 0x52, 0xb7, 0x4e, 0x69, 0xf7, 0xed, 0xad, 0xa1, 0x92, 0x30, 0x65, 0xd9, 0x55, 0x0f, + 0xbe, 0x51, 0xac, 0x54, 0xb8, 0x36, 0x65, 0x7d, 0x23, 0xc6, 0x26, 0x17, 0x58, 0x99, 0x85, 0x02, + 0xe9, 0x9f, 0x2f, 0x1f, 0x37, 0xe7, 0xfa, 0x19, 0xd0, 0xfd, 0xf5, 0xdc, 0xf4, 0x39, 0x3b, 0x87, + 0x8a, 0xfa, 0xe5, 0x36, 0x78, 0x13, 0x19, 0xce, 0x5c, 0x77, 0x44, 0x7a, 0x58, 0x61, 0xdf, 0xca, + 0x41, 0x74, 0x84, 0x7a, 0x64, 0xe0, 0x52, 0xaa, 0x8a, 0xd1, 0x1d, 0x57, 0x7c, 0x10, 0x38, 0x3a, + 0xd9, 0x2b, 0x8c, 0x34, 0x00, 0xf9, 0x28, 0xb2, 0xff, 0x6f, 0x7c, 0x78, 0xd4, 0x42, 0xe7, 0x84, + 0x08, 0x00, 0x1b, 0xaf, 0x2a, 0x43, 0xa7, 0xd0, 0xf5, 0x20, 0xbd, 0x98, 0x9e, 0x09, 0x1f, 0x12, + 0x27, 0xa4, 0xba, 0x1a, 0x92, 0xf4, 0x1f, 0x4c, 0xd2, 0xf9, 0x5d, 0x9a, 0xee, 0x73, 0x57, 0x64, + 0x28, 0x28, 0x47, 0xd9, 0xa7, 0x7d, 0x09, 0xf6, 0x02, 0x9b, 0xde, 0xea, 0x5a, 0xa5, 0xf6, 0x20, + 0x63, 0xbd, 0x43, 0xb0, 0x68, 0x2a, 0x15, 0xd8, 0x55, 0xda, 0x15, 0x4f, 0x88, 0x80, 0xb3, 0x84, + 0x94, 0xf6, 0x49, 0xf3, 0xb2, 0xce, 0xce, 0x50, 0xad, 0x2f, 0xc1, 0x70, 0x0d, 0xc2, 0x7b, 0xb2, + 0x29, 0x55, 0x01, 0x71, 0x36, 0xcb, 0x90, 0xa7, 0x5e, 0xa8, 0x9e, 0x48, 0x9f, 0x5e, 0x10, 0xc0, + 0x37, 0x85, 0x66, 0x2f, 0x8b, 0x0b, 0xc5, 0xa3, 0x3c, 0x28, 0xd0, 0x03, 0xe8, 0x87, 0x6e, 0xf2, + 0xa5, 0x52, 0x57, 0x77, 0xf9, 0xa1, 0xa9, 0x9d, 0x5e, 0x2a, 0x2e, 0x84, 0x15, 0xb8, 0x22, 0xbe, + 0xf4, 0xc7, 0x70, 0x58, 0xed, 0x79, 0xa2, 0x6d, 0xa3, 0x4a, 0x57, 0x2e, 0x2b, 0x3d, 0xbf, 0x59, + 0x8a, 0xc9, 0x02, 0xf9, 0x7e, 0x01, 0x62, 0x76, 0x3a, 0x20, 0x4d, 0xc2, 0x64, 0x7f, 0x70, 0x72, + 0x84, 0xf6, 0xcf, 0xab, 0x81, 0x53, 0x0c, 0x60, 0xe1, 0xe4, 0x35, 0x23, 0x97, 0xb5, 0xed, 0x93, + 0x0d, 0x72, 0x0e, 0x3f, 0x34, 0xaf, 0xee, 0xa9, 0xd6, 0xd4, 0xb6, 0x63, 0xb3, 0xa7, 0xcb, 0x64, + 0x7b, 0x1f, 0x80, 0x97, 0xe1, 0x90, 0x82, 0x28, 0x11, 0xe4, 0xc9, 0x9e, 0x28, 0x10, 0x58, 0x2f, + 0x5d, 0x16, 0xfb, 0xe0, 0x40, 0xff, 0xd5, 0xcd, 0xfc, 0xf1, 0x79, 0xa9, 0x86, 0xa7, 0x7c, 0x83, + 0xe4, 0xbf, 0xc0, 0x53, 0xa5, 0x0b, 0xb8, 0x70, 0x96, 0x20, 0x63, 0x26, 0x57, 0x5f, 0x29, 0xf8, + 0xaf, 0x07, 0xb7, 0x61, 0xdd, 0xd3, 0x4a, 0xe9, 0x60, 0x27, 0x31, 0xb8, 0x88, 0xb7, 0x64, 0x09, + 0x0e, 0x39, 0xb8, 0x23, 0xe9, 0x50, 0xd4, 0x9c, 0x32, 0x9a, 0xfd, 0x0b, 0x24, 0x27, 0xa6, 0x39, + 0x14, 0xd5, 0x8d, 0xcf, 0x20, 0x39, 0xf0, 0x27, 0xdc, 0xe0, 0x28, 0xa5, 0x59, 0x67, 0xa4, 0x49, + 0x5f, 0x77, 0x73, 0xb1, 0xc8, 0xef, 0xca, 0xbc, 0x35, 0xc4, 0x6e, 0xf5, 0x3e, 0xfa, 0x2e, 0x93, + 0xe0, 0x0f, 0xf1, 0x76, 0xc0, 0x95, 0x5f, 0x67, 0x0f, 0x38, 0x3a, 0xee, 0x8f, 0xe2, 0x03, 0x87, + 0xe3, 0xac, 0x37, 0x06, 0xd2, 0x48, 0xb0, 0x38, 0x6c, 0x15, 0x3b, 0xcf, 0xf8, 0x69, 0x7a, 0x19, + 0xe3, 0x58, 0xf6, 0x15, 0xb8, 0x49, 0x7a, 0x27, 0xc1, 0x2a, 0xcf, 0xfd, 0xb8, 0x85, 0x6c, 0x48, + 0x37, 0x51, 0x40, 0x86, 0x86, 0x63, 0x41, 0xc1, 0x54, 0xcd, 0xd5, 0xeb, 0x4f, 0x29, 0x25, 0x16, + 0x1a, 0x6d, 0x10, 0xbe, 0x85, 0xcc, 0x12, 0xf1, 0x44, 0x3c, 0xb7, 0x2d, 0xf4, 0xb1, 0x4b, 0x42, + 0x28, 0xfd, 0x90, 0xa9, 0x77, 0x50, 0xaa, 0x1a, 0x14, 0x0a, 0x9b, 0xa4, 0x2f, 0x0c, 0x13, 0x87, + 0x41, 0x73, 0x3c, 0x1f, 0x23, 0xc8, 0xdf, 0x2f, 0xb3, 0xb1, 0x66, 0x4b, 0xc3, 0x0b, 0xa1, 0xf2, + 0x5b, 0x62, 0x7a, 0x41, 0x18, 0x93, 0xa4, 0xd4, 0x12, 0xd7, 0x5b, 0xcb, 0xea, 0x03, 0xf3, 0x7b, + 0xc5, 0xad, 0x31, 0x80, 0x62, 0x7a, 0x74, 0x38, 0xdb, 0xba, 0xde, 0x8c, 0x21, 0x44, 0xb2, 0xfc, + 0x65, 0x58, 0x87, 0xa2, 0xa9, 0x68, 0x67, 0xf9, 0xd6, 0x49, 0x67, 0xc2, 0x1e, 0x3c, 0xdf, 0x46, + 0xc5, 0xbf, 0x9c, 0xcb, 0x11, 0x99, 0xdd, 0x18, 0x93, 0xa2, 0xac, 0xf2, 0xbc, 0xd6, 0x5a, 0xc9, + 0xde, 0xc2, 0xe8, 0xb5, 0x8e, 0xb4, 0xb9, 0x13, 0x09, 0x3d, 0xdc, 0xab, 0xec, 0xbe, 0x1f, 0x49, + 0xee, 0xdf, 0x31, 0x72, 0x69, 0x01, 0x03, 0xae, 0xa4, 0x56, 0xd8, 0x98, 0x20, 0xd1, 0x5b, 0x11, + 0x39, 0x63, 0xb7, 0xd3, 0xd1, 0x50, 0xfc, 0x6e, 0x45, 0x5b, 0x50, 0x1b, 0xf1, 0xb9, 0x17, 0x1a, + 0x5d, 0xdb, 0x03, 0xc4, 0xf9, 0x7f, 0x27, 0x55, 0x79, 0x42, 0x27, 0x08, 0xb3, 0xf1, 0xa6, 0x88, + 0x9f, 0x32, 0x3e, 0xef, 0xdb, 0xdb, 0x5e, 0x67, 0x01, 0x30, 0x1f, 0x18, 0x8b, 0x38, 0x5b, 0xb4, + 0xa4, 0x75, 0xc6, 0x97, 0x9e, 0xde, 0x87, 0xc0, 0xee, 0x2b, 0x98, 0x6c, 0xe8, 0xa8, 0xcd, 0x68, + 0x22, 0x13, 0x40, 0xa8, 0x4e, 0xf9, 0x88, 0x0b, 0x4f, 0x97, 0x82, 0xc3, 0x35, 0x81, 0x4e, 0x01, + 0x3e, 0x7f, 0x12, 0xb0, 0x03, 0x7a, 0x21, 0x40, 0x41, 0x14, 0x05, 0x70, 0x6f, 0xed, 0x76, 0x78, + 0xc8, 0x33, 0xf0, 0xa8, 0x4d, 0x64, 0x19, 0xf7, 0xdc, 0x8b, 0x8f, 0x24, 0xfd, 0x50, 0x3a, 0xad, + 0x8f, 0x2d, 0xd1, 0x2e, 0x6e, 0xd0, 0xde, 0x91, 0x59, 0x7a, 0xe9, 0x1a, 0x43, 0xc6, 0x62, 0x3d, + 0xc8, 0xb2, 0x94, 0xfb, 0x45, 0x29, 0x3d, 0xa9, 0x12, 0x03, 0xaf, 0xa1, 0x3c, 0xe2, 0x3d, 0xd5, + 0x7d, 0x06, 0x58, 0x4a, 0x64, 0xe1, 0xa5, 0x9e, 0x4d, 0x66, 0x43, 0xef, 0x64, 0xaf, 0xaa, 0xf1, + 0xdc, 0x8e, 0xd0, 0xf8, 0x28, 0x73, 0x70, 0xfc, 0x68, 0xf8, 0x8a, 0xdd, 0xc5, 0x9b, 0xca, 0xe6, + 0xd4, 0x81, 0xde, 0x45, 0x54, 0xcb, 0xeb, 0x37, 0x0a, 0x85, 0xe8, 0x66, 0x55, 0x8f, 0x51, 0xaf, + 0x5b, 0x2e, 0xde, 0x40, 0x90, 0x1b, 0xce, 0xb1, 0xf3, 0x64, 0x9e, 0x40, 0xb7, 0x64, 0x2f, 0xae, + 0xf2, 0xc5, 0x00, 0xb2, 0xef, 0xc7, 0x83, 0x96, 0x59, 0x83, 0x29, 0xc0, 0x45, 0x41, 0x3b, 0x55, + 0x67, 0x78, 0x90, 0x80, 0xeb, 0xd0, 0x4b, 0xbe, 0xfb, 0x21, 0x28, 0x8e, 0x0b, 0xdb, 0x65, 0x4a, + 0x7f, 0xb0, 0x3e, 0xed, 0x2d, 0x80, 0x86, 0x85, 0xeb, 0xfc, 0x95, 0x45, 0x08, 0x3f, 0x92, 0x50, + 0x36, 0x72, 0x5e, 0x28, 0x29, 0x9b, 0x41, 0xfb, 0xa4, 0x80, 0xa2, 0xa3, 0x77, 0x87, 0x49, 0x04, + 0x64, 0x30, 0x4d, 0xd4, 0x67, 0x0a, 0x90, 0x41, 0x3e, 0x16, 0x5b, 0x29, 0x3b, 0x2b, 0xac, 0xd0, + 0xf5, 0x09, 0xd2, 0x0c, 0x42, 0x16, 0x7b, 0x48, 0xc6, 0xdf, 0x0e, 0x7f, 0x0a, 0xa7, 0x12, 0x56, + 0xcb, 0xe4, 0xab, 0xc2, 0xe3, 0xc7, 0xb6, 0xc4, 0xfa, 0xf3, 0x50, 0x59, 0x7c, 0xce, 0x55, 0xfe, + 0x82, 0xed, 0x74, 0x1b, 0xe2, 0xcf, 0xd7, 0x32, 0x2b, 0x1e, 0x0c, 0x72, 0x90, 0x03, 0x80, 0x8b, + 0x13, 0x34, 0x5b, 0x52, 0xf4, 0x9e, 0xbc, 0xca, 0x9d, 0x2d, 0x4f, 0x8a, 0x59, 0x08, 0x18, 0x66, + 0x1d, 0x74, 0x24, 0xb8, 0x58, 0x5a, 0x3c, 0xa1, 0x5a, 0x73, 0x71, 0x58, 0x07, 0x5a, 0x55, 0x70, + 0x83, 0xea, 0x8e, 0x95, 0x7a, 0x5d, 0x7b, 0x4d, 0x01, 0xff, 0x97, 0x9e, 0x43, 0x11, 0x0f, 0xcb, + 0x7e, 0x9a, 0x7d, 0x2b, 0xdb, 0x59, 0x1d, 0x9c, 0x0f, 0x9c, 0xf7, 0x5a, 0x1d, 0xf5, 0x1e, 0x62, + 0x02, 0x6d, 0x1f, 0xac, 0x17, 0x46, 0xad, 0xe4, 0xb2, 0x07, 0xbf, 0xf0, 0xae, 0xe4, 0xb9, 0xab, + 0xee, 0x43, 0xf6, 0xac, 0xa4, 0x43, 0xae, 0x53, 0xeb, 0x05, 0x93, 0x83, 0x90, 0xcf, 0x00, 0xf6, + 0xc7, 0x1c, 0xd5, 0x94, 0x93, 0x3d, 0xcb, 0x93, 0xa2, 0x5b, 0x3f, 0x9e, 0x11, 0xd6, 0x3a, 0x4e, + 0x94, 0x72, 0x69, 0xad, 0x4d, 0x27, 0xa2, 0xa5, 0x21, 0x2a, 0x0b, 0x9a, 0xfc, 0x92, 0xc3, 0x09, + 0xe2, 0x60, 0x46, 0x47, 0xce, 0x29, 0x44, 0xa8, 0x45, 0xeb, 0x55, 0x7c, 0xd5, 0xde, 0x4c, 0x0f, + 0x0a, 0x0c, 0x95, 0xb9, 0x15, 0xce, 0x1a, 0x23, 0xf3, 0xa7, 0xa8, 0xac, 0x6b, 0xea, 0x31, 0x14, + 0x68, 0xb0, 0xc7, 0xdb, 0x8c, 0x1f, 0xf4, 0x5c, 0xf6, 0xfe, 0x83, 0x52, 0x3e, 0x42, 0x68, 0x23, + 0x72, 0xfd, 0x6e, 0xd2, 0x50, 0x8e, 0x57, 0x91, 0x8c, 0x54, 0x74, 0xbc, 0xe2, 0x9a, 0xa2, 0x2e, + 0xc0, 0x18, 0x3b, 0xf0, 0x39, 0x52, 0x99, 0x73, 0x7b, 0xed, 0x3e, 0x5b, 0x80, 0x40, 0x28, 0x3e, + 0xab, 0xcb, 0xfe, 0x56, 0xe4, 0xe2, 0x1b, 0x6b, 0x79, 0xcc, 0x56, 0x39, 0x35, 0x70, 0x21, 0x97, + 0xea, 0x69, 0xb0, 0xc7, 0x97, 0x71, 0xdd, 0xe5, 0x17, 0x25, 0xc7, 0xbd, 0xbc, 0x60, 0x95, 0xcf, + 0xb7, 0xa8, 0x78, 0xbb, 0x23, 0x00, 0x60, 0x9c, 0xd0, 0x53, 0xad, 0x8f, 0xc6, 0x53, 0xa1, 0x1a, + 0x00, 0x0a, 0x79, 0x7a, 0xb5, 0x1e, 0x37, 0x9d, 0x5f, 0x2c, 0xe5, 0xb8, 0x8e, 0x59, 0xd9, 0xd0, + 0xf4, 0xcf, 0x71, 0xe3, 0xff, 0xcc, 0x25, 0x55, 0xbf, 0x42, 0xf3, 0x9d, 0x11, 0x04, 0x5c, 0xcf, + 0x7d, 0x85, 0xc4, 0xbb, 0x90, 0xae, 0x78, 0x84, 0x69, 0x7d, 0xf5, 0x20, 0xd3, 0x38, 0x95, 0xc7, + 0x5b, 0xb0, 0xf5, 0xf3, 0xce, 0x3c, 0x75, 0xb1, 0xed, 0xf2, 0x1c, 0x23, 0xc3, 0x9d, 0x42, 0x3d, + 0x84, 0x6c, 0xe4, 0x9a, 0x8f, 0x96, 0x00, 0x06, 0xca, 0xe0, 0x8a, 0x18, 0xe6, 0xe7, 0x07, 0x99, + 0xc0, 0x2c, 0x39, 0xe5, 0xf6, 0x5c, 0xe7, 0x05, 0xf9, 0x87, 0x4e, 0x23, 0x78, 0xa7, 0x69, 0xb6, + 0xce, 0x68, 0x42, 0x40, 0x51, 0x33, 0x54, 0x57, 0x22, 0x7c, 0x94, 0xf1, 0xec, 0xaa, 0x5d, 0x1b, + 0xb5, 0x1b, 0x4b, 0x71, 0xd8, 0xcb, 0x0a, 0xef, 0xfe, 0x6a, 0x7b, 0x74, 0xba, 0xa7, 0x87, 0x8e, + 0x34, 0xdf, 0x87, 0x96, 0xa2, 0xc4, 0x20, 0x4c, 0x80, 0xc9, 0x74, 0xaa, 0x80, 0x0c, 0x0f, 0xe9, + 0x82, 0x86, 0x8d, 0xad, 0xde, 0xff, 0xcc, 0xe2, 0x87, 0x3e, 0x35, 0x1d, 0xb7, 0x84, 0xe7, 0xd0, + 0x14, 0x26, 0x0a, 0x70, 0x9b, 0x6e, 0x25, 0x00, 0xcd, 0x07, 0x13, 0x3c, 0x7f, 0x9f, 0x29, 0x72, + 0x3b, 0xda, 0x4c, 0x4c, 0xe7, 0xcd, 0xf2, 0x27, 0x3d, 0x20, 0xac, 0x79, 0xa5, 0xd3, 0x48, 0xd1, + 0xab, 0x50, 0x9c, 0x0f, 0xf4, 0x0f, 0xfe, 0x25, 0x9e, 0xa3, 0xc9, 0x8d, 0xa4, 0xa6, 0xe7, 0x20, + 0x77, 0x07, 0x17, 0xf1, 0x56, 0x69, 0x19, 0x43, 0x92, 0x28, 0x1b, 0xe1, 0xae, 0x74, 0xae, 0xff, + 0x0d, 0x70, 0xf5, 0x55, 0x59, 0x78, 0x2b, 0x90, 0x8f, 0x7d, 0xe9, 0x46, 0xc8, 0xd9, 0xb1, 0xa9, + 0x57, 0x82, 0xd0, 0xc1, 0x59, 0x52, 0x17, 0xb7, 0xe1, 0x30, 0x8a, 0x7c, 0xf2, 0x46, 0x4b, 0xa5, + 0x1a, 0x92, 0x58, 0xf3, 0x8b, 0x4c, 0x2b, 0x9c, 0x68, 0x71, 0xb9, 0x10, 0xe2, 0x56, 0x67, 0x97, + 0xb5, 0x45, 0x56, 0xa8, 0xa0, 0xd8, 0xe0, 0xb1, 0xe9, 0xae, 0xba, 0x7a, 0xdd, 0x2e, 0xfe, 0x37, + 0xe5, 0xb6, 0xd7, 0x11, 0x7e, 0x1d, 0x88, 0x23, 0xf0, 0x86, 0xa4, 0x7d, 0xbf, 0xc9, 0x47, 0x98, + 0xd9, 0x23, 0x24, 0x8c, 0xb2, 0x98, 0xb3, 0x2f, 0x53, 0x87, 0xa2, 0xb7, 0x4d, 0x94, 0x41, 0x38, + 0xe7, 0xa4, 0x70, 0xde, 0xe2, 0x22, 0x2b, 0xba, 0x35, 0xab, 0x76, 0x73, 0xff, 0xeb, 0x09, 0x44, + 0x5c, 0x3c, 0xc6, 0xcf, 0x99, 0x81, 0xb0, 0x91, 0x04, 0xe2, 0xb2, 0x57, 0x9b, 0x74, 0x0d, 0x25, + 0xa0, 0x63, 0x88, 0xb4, 0x4a, 0xcb, 0x0d, 0x23, 0x73, 0x2e, 0x7d, 0x8a, 0xcb, 0xe7, 0xa8, 0x9c, + 0x54, 0x40, 0xd1, 0x99, 0xc9, 0x78, 0xaf, 0x5a, 0xae, 0xb2, 0x98, 0x58, 0x83, 0x19, 0xa1, 0x3e, + 0x3f, 0x12, 0x9b, 0xc4, 0x75, 0xf8, 0x99, 0xce, 0xb2, 0xe0, 0x4a, 0x6b, 0x57, 0x9e, 0x5f, 0x75, + 0x0e, 0x16, 0x52, 0xc9, 0x62, 0x75, 0xd4, 0x23, 0xf8, 0x9a, 0xfa, 0x8c, 0x3d, 0xaa, 0xf2, 0x62, + 0x38, 0xed, 0xbc, 0x22, 0x93, 0x61, 0x8c, 0x80, 0x3b, 0xf8, 0xa6, 0x03, 0xe7, 0x42, 0xf2, 0x90, + 0x0f, 0xfd, 0xb8, 0xb5, 0xd6, 0x2d, 0xa4, 0x07, 0x28, 0x42, 0x6f, 0x34, 0x3f, 0x09, 0xa9, 0x06, + 0x85, 0x01, 0xfb, 0x42, 0x1a, 0xd3, 0x56, 0x16, 0xbe, 0x49, 0xf2, 0xae, 0xe8, 0x6e, 0x29, 0xbc, + 0xad, 0xe3, 0xb8, 0xae, 0x50, 0xcf, 0xb1, 0xac, 0xb6, 0x0c, 0xea, 0x0e, 0x62, 0x29, 0x24, 0x9f, + 0xa4, 0xa9, 0x95, 0x87, 0x58, 0xab, 0xad, 0x53, 0x4c, 0x55, 0xe7, 0x16, 0xc7, 0xb4, 0x67, 0xcb, + 0xd1, 0xb9, 0x8e, 0x37, 0xc3, 0x0e, 0x83, 0xdc, 0x9a, 0xf3, 0x46, 0x72, 0x1a, 0x5c, 0xac, 0x6a, + 0x70, 0x15, 0x2f, 0x0c, 0xd5, 0x43, 0xcc, 0x26, 0x06, 0x79, 0xfc, 0x96, 0xa0, 0x97, 0x8f, 0x4a, + 0x25, 0xe5, 0x19, 0x0c, 0x29, 0xa6, 0x07, 0x84, 0xa9, 0x5a, 0x39, 0x83, 0x60, 0x77, 0x62, 0x61, + 0xbb, 0xfb, 0xd8, 0xc2, 0xb5, 0x56, 0x85, 0x5f, 0xe4, 0x04, 0x93, 0xfc, 0x13, 0xef, 0xef, 0x8b, + 0xb9, 0xe2, 0x5c, 0x1d, 0x76, 0x64, 0x99, 0x99, 0x52, 0x44, 0x19, 0x5c, 0x2c, 0x15, 0x7a, 0x7b, + 0x32, 0x91, 0x28, 0xc0, 0xc8, 0x80, 0x23, 0x5f, 0x7c, 0x99, 0x8c, 0x99, 0x42, 0xaa, 0xa5, 0x2d, + 0xba, 0xe8, 0xd8, 0xde, 0x67, 0xd3, 0x2f, 0x0f, 0x52, 0xff, 0xfc, 0x07, 0x63, 0xd4, 0x18, 0xaf, + 0xa3, 0xbd, 0x23, 0x8f, 0xf7, 0xf6, 0x2c, 0xbd, 0x1b, 0x20, 0x33, 0x7a, 0x86, 0x1b, 0x26, 0x39, + 0xaa, 0x62, 0xcc, 0x0e, 0x28, 0x25, 0xaa, 0xf5, 0x74, 0x5e, 0xbc, 0xd6, 0xfc, 0xfd, 0x36, 0x4d, + 0xdf, 0xf7, 0x1f, 0x09, 0x3f, 0x3e, 0x7a, 0xf2, 0x59, 0x6c, 0x53, 0xe9, 0x60, 0xd6, 0xc5, 0xf3, + 0x26, 0xaf, 0x62, 0x6c, 0x54, 0xfb, 0x10, 0x6b, 0xcc, 0x1c, 0x1f, 0x23, 0x9e, 0x35, 0x40, 0x79, + 0xa6, 0x4d, 0x07, 0x82, 0x36, 0x60, 0xb6, 0xea, 0xbd, 0x83, 0x4a, 0x0c, 0xd7, 0xae, 0x48, 0xe6, + 0x0c, 0xf8, 0x8d, 0xa1, 0x8c, 0xc9, 0x45, 0x7d, 0x60, 0x4e, 0x2e, 0xf0, 0x05, 0x0c, 0xbe, 0x35, + 0x8b, 0x41, 0x7d, 0x80, 0x32, 0x3f, 0x78, 0x63, 0x8e, 0xe5, 0x35, 0x15, 0xba, 0xe7, 0xb4, 0x3a, + 0x14, 0x98, 0x9f, 0x06, 0x0c, 0x67, 0x72, 0xd3, 0x9f, 0xa6, 0x3f, 0x2d, 0x3c, 0xae, 0xbf, 0x29, + 0xba, 0x6c, 0x49, 0x7b, 0x75, 0x4b, 0x84, 0xa9, 0x26, 0x29, 0x31, 0x27, 0x53, 0x6a, 0xaf, 0x26, + 0x5d, 0xd2, 0x2a, 0x88, 0x35, 0x7f, 0x83, 0xbf, 0x81, 0x2d, 0x21, 0x91, 0x7c, 0x85, 0x8a, 0x9d, + 0x77, 0xad, 0xff, 0xc9, 0x83, 0x5b, 0xab, 0x6e, 0x4e, 0x52, 0x34, 0x0e, 0x46, 0xfd, 0x80, 0x08, + 0xd8, 0xb4, 0xfe, 0x5a, 0x93, 0xe8, 0xb4, 0xfb, 0xf5, 0x8b, 0x61, 0xd6, 0x99, 0x52, 0x45, 0x51, + 0xae, 0xa1, 0xe2, 0xad, 0x34, 0xd9, 0x0e, 0x3d, 0x27, 0xc9, 0x79, 0x69, 0x77, 0x9b, 0x5a, 0x57, + 0x24, 0xf7, 0x99, 0xe8, 0xfe, 0x64, 0x42, 0x3c, 0xda, 0xd0, 0xa7, 0xf2, 0xe0, 0xa4, 0x91, 0xb9, + 0xaa, 0x6b, 0xc6, 0xd5, 0xf3, 0xad, 0xdd, 0x84, 0x4f, 0x3a, 0xcd, 0x56, 0x65, 0xe4, 0x31, 0x5d, + 0x9a, 0x7d, 0xb7, 0x6b, 0x10, 0xb6, 0x57, 0x84, 0x39, 0xdb, 0x9a, 0xec, 0xf8, 0xf5, 0x1f, 0x33, + 0x1f, 0xc5, 0x10, 0x4b, 0x90, 0x2f, 0xc1, 0x32, 0x17, 0x16, 0x15, 0x7a, 0x33, 0x7a, 0x46, 0xfd, + 0x7a, 0x88, 0xa4, 0x14, 0xaa, 0x6c, 0x2c, 0x49, 0xc0, 0xb5, 0xb2, 0xbd, 0xc2, 0xe1, 0x76, 0x0a, + 0xdb, 0xfd, 0x72, 0x06, 0xb9, 0xd5, 0x06, 0x6f, 0x06, 0x6c, 0x66, 0x70, 0x83, 0x83, 0x54, 0x61, + 0x6f, 0xbc, 0xa0, 0x59, 0x79, 0x8e, 0x87, 0x91, 0x4e, 0xb3, 0x27, 0x07, 0x4f, 0x89, 0x2f, 0x43, + 0x6a, 0xd1, 0x18, 0xa0, 0xaa, 0x88, 0x53, 0x9e, 0x9c, 0xc8, 0x8f, 0xb7, 0x17, 0xc1, 0x98, 0x54, + 0xb6, 0x9a, 0x7e, 0x38, 0x3d, 0xd1, 0x00, 0x0e, 0xa4, 0xed, 0x03, 0x47, 0x57, 0x89, 0x35, 0x5b, + 0x49, 0xde, 0xa5, 0xc0, 0xf6, 0xde, 0x9e, 0x60, 0xe6, 0x70, 0x99, 0xed, 0x61, 0x99, 0x5c, 0xdc, + 0x87, 0xad, 0x36, 0x28, 0x52, 0xed, 0x5e, 0xc0, 0x35, 0x8c, 0xbb, 0x14, 0x7b, 0xe3, 0x87, 0x01, + 0x22, 0x73, 0xf8, 0xe4, 0x23, 0x88, 0x17, 0x46, 0xf1, 0x7d, 0xf1, 0xbb, 0xf6, 0x2f, 0x7d, 0xd1, + 0x10, 0x95, 0xe1, 0x3f, 0xb9, 0xd9, 0x3e, 0xb5, 0xca, 0xf4, 0x73, 0x7e, 0x1a, 0x4e, 0x78, 0x2f, + 0x2b, 0x37, 0x66, 0xa4, 0xfc, 0x8b, 0xb4, 0x7f, 0x6f, 0x49, 0x4f, 0x70, 0xa3, 0xf6, 0x7f, 0x2b, + 0xc9, 0x8b, 0xf2, 0x68, 0x80, 0x58, 0x2b, 0x70, 0xd9, 0xe2, 0xb6, 0x7a, 0x85, 0x6c, 0xfe, 0xd4, + 0xf9, 0xfe, 0xe5, 0x9c, 0xff, 0x60, 0xa2, 0x86, 0xb8, 0xc3, 0x6a, 0x31, 0xb2, 0xda, 0xa5, 0x4c, + 0xc3, 0xa6, 0xed, 0x9f, 0x1a, 0x0b, 0x4a, 0x47, 0xe7, 0x1d, 0x1c, 0x21, 0x66, 0xd6, 0x21, 0x7d, + 0x0d, 0x75, 0x48, 0x4f, 0xbf, 0x10, 0x71, 0x14, 0x44, 0x81, 0xba, 0xfe, 0xe6, 0xf1, 0x16, 0x6c, + 0x8e, 0xc3, 0x0e, 0xa4, 0x6b, 0xf6, 0xcb, 0x80, 0xb4, 0xb1, 0xea, 0xe6, 0x6a, 0x54, 0xbe, 0xf7, + 0xc9, 0x6c, 0x9e, 0x90, 0xa2, 0x98, 0x27, 0x6a, 0xbe, 0xb5, 0xbe, 0xc5, 0xa6, 0x35, 0xd1, 0x3b, + 0x21, 0x8a, 0x76, 0xe2, 0xa3, 0x34, 0xf5, 0xf5, 0x78, 0x68, 0x49, 0x6c, 0x77, 0x34, 0x98, 0x14, + 0xa6, 0xa4, 0xa0, 0x0e, 0x0f, 0x27, 0xec, 0x09, 0x87, 0x79, 0x71, 0x77, 0x0a, 0xc5, 0x4e, 0x76, + 0x61, 0x85, 0x7a, 0x55, 0x40, 0x0e, 0xc7, 0xda, 0xf4, 0x73, 0xad, 0xcd, 0x11, 0xeb, 0x53, 0x49, + 0x45, 0xc7, 0x91, 0xd0, 0xb3, 0x5b, 0x7d, 0xd9, 0x1e, 0xc1, 0x60, 0x80, 0xdb, 0x68, 0x12, 0x41, + 0x68, 0xce, 0xe8, 0x34, 0xa6, 0x1c, 0xd1, 0x27, 0xf9, 0x81, 0x82, 0x40, 0x93, 0x81, 0x9c, 0x19, + 0xbd, 0x20, 0x62, 0x46, 0xaf, 0xf8, 0x5d, 0x1c, 0x33, 0x26, 0x6a, 0xff, 0xdf, 0x2f, 0x89, 0x97, + 0xba, 0x30, 0xf7, 0xeb, 0x47, 0xbd, 0xa2, 0x12, 0x81, 0xcd, 0x06, 0xe1, 0xe3, 0x56, 0x0c, 0x74, + 0x23, 0x8f, 0xfe, 0x94, 0xed, 0x93, 0xbe, 0x29, 0x13, 0x98, 0x59, 0xca, 0x33, 0xc2, 0x47, 0x5a, + 0x42, 0x27, 0x30, 0xed, 0xf9, 0x3c, 0xc2, 0x16, 0x7b, 0x5f, 0x7e, 0xf6, 0xd5, 0x8c, 0x2d, 0x2c, + 0xd3, 0x5f, 0x10, 0x72, 0xb9, 0x73, 0x27, 0x25, 0xa0, 0x8d, 0xab, 0x72, 0x5c, 0xc2, 0x11, 0x42, + 0x87, 0x50, 0x50, 0x23, 0x94, 0xca, 0xcd, 0xfd, 0xb3, 0xfe, 0x42, 0x59, 0xf2, 0x33, 0x8a, 0x67, + 0xf1, 0x8d, 0x41, 0x04, 0xa4, 0x13, 0x3b, 0x87, 0xb3, 0xf8, 0xe1, 0xcb, 0x27, 0xe1, 0xbd, 0x99, + 0x26, 0x01, 0x23, 0xd8, 0x9b, 0xf5, 0x1c, 0xfe, 0x07, 0x29, 0x6d, 0x03, 0x97, 0xeb, 0x1c, 0x97, + 0x0d, 0xf9, 0x72, 0x07, 0x41, 0x97, 0xe6, 0x55, 0x7f, 0xa1, 0x29, 0xa1, 0x21, 0x60, 0x1e, 0x91, + 0xd0, 0xef, 0x64, 0x6a, 0xe6, 0x2e, 0xb0, 0x97, 0x9a, 0xf7, 0x7b, 0x22, 0x1a, 0xea, 0xc3, 0x1a, + 0xac, 0x51, 0xd4, 0xb1, 0x0b, 0xa9, 0xb7, 0x84, 0xdc, 0xa3, 0x03, 0x3d, 0xc6, 0xe8, 0xe4, 0x08, + 0x9b, 0x0f, 0x94, 0x45, 0x7a, 0x42, 0x77, 0xf3, 0x65, 0xbf, 0xf8, 0xad, 0xe5, 0xf5, 0x5a, 0xad, + 0x11, 0xcb, 0x9f, 0x17, 0x43, 0x11, 0xe9, 0x5e, 0x20, 0xcc, 0xd3, 0xd1, 0x33, 0xc6, 0xb0, 0x69, + 0x2f, 0xe0, 0xae, 0xd7, 0xcf, 0x27, 0x88, 0x32, 0x5d, 0x0f, 0xf9, 0xce, 0x76, 0x95, 0x02, 0x26, + 0x89, 0xd8, 0x4e, 0x40, 0xf2, 0x71, 0x06, 0x4e, 0x55, 0xfb, 0x1a, 0x0a, 0x30, 0xfe, 0xa1, 0xe5, + 0x1e, 0x15, 0x78, 0x9d, 0x84, 0x5c, 0xfb, 0xee, 0x19, 0x4b, 0x11, 0xe2, 0xd7, 0x36, 0xe1, 0x76, + 0x00, 0x5a, 0x8f, 0x99, 0x0e, 0xf0, 0x16, 0xe7, 0x67, 0x48, 0x4e, 0xe8, 0xef, 0x05, 0x40, 0x2b, + 0x61, 0x5e, 0x5f, 0x7d, 0xda, 0x3d, 0xb3, 0x76, 0x37, 0xe9, 0x36, 0xfd, 0x0f, 0x9e, 0xb7, 0x53, + 0xdd, 0x6b, 0xb8, 0x78, 0x8a, 0x95, 0xb9, 0x6e, 0x6c, 0xd2, 0x0d, 0xab, 0x27, 0x2c, 0xfc, 0x17, + 0xa3, 0xb5, 0xc0, 0x4c, 0xe1, 0xcb, 0xde, 0x67, 0x68, 0xce, 0x8f, 0x59, 0x01, 0x31, 0x3f, 0xe5, + 0x5e, 0xab, 0x5d, 0x36, 0x52, 0x64, 0x39, 0xe9, 0x4b, 0x6b, 0xe4, 0x2e, 0x74, 0x26, 0xba, 0xf6, + 0xe2, 0x07, 0xbe, 0x34, 0xa5, 0xe2, 0x89, 0x07, 0xda, 0xab, 0x8f, 0xf8, 0x1a, 0x4a, 0xa9, 0x12, + 0x2f, 0x76, 0x89, 0xf8, 0xca, 0xad, 0xcb, 0x25, 0x5a, 0xfb, 0x2d, 0xd7, 0x79, 0xf3, 0xdf, 0x85, + 0x40, 0x85, 0xab, 0x1a, 0xb7, 0x1c, 0xc2, 0xbd, 0x35, 0xc6, 0x83, 0x3e, 0xb9, 0x31, 0xe9, 0x37, + 0x7d, 0xba, 0xf7, 0xf5, 0x15, 0x20, 0x64, 0xff, 0x91, 0xaf, 0xe1, 0x8c, 0xec, 0xb0, 0xf1, 0x7d, + 0xd0, 0x80, 0x5e, 0x99, 0x65, 0x94, 0x86, 0x2b, 0xaf, 0x7f, 0xd5, 0xb4, 0xdc, 0x4f, 0xf4, 0x87, + 0x8f, 0x84, 0x5f, 0x5a, 0x9a, 0xd3, 0xa2, 0x46, 0x13, 0xf6, 0x4d, 0x66, 0xfe, 0xe7, 0xf2, 0x08, + 0x3c, 0x77, 0x31, 0x5d, 0xef, 0x8b, 0xdc, 0x0a, 0x99, 0xde, 0x19, 0xd7, 0x2f, 0x4f, 0x61, 0x4c, + 0x3c, 0x35, 0x4e, 0x02, 0xe7, 0xbf, 0x5a, 0x90, 0x64, 0x6f, 0x8a, 0x5b, 0xae, 0x09, 0x75, 0x47, + 0x7f, 0x59, 0x50, 0x1d, 0xe1, 0xd5, 0xa0, 0x44, 0x5f, 0x63, 0x70, 0xd9, 0x83, 0xab, 0x44, 0x92, + 0x53, 0xac, 0xa3, 0x5e, 0x2f, 0x38, 0x3d, 0xa4, 0xfb, 0x85, 0x86, 0x53, 0xa0, 0xe9, 0x98, 0xef, + 0x60, 0x1d, 0xc5, 0xed, 0xb4, 0xb6, 0xa8, 0x7c, 0x3e, 0xf5, 0x8d, 0x41, 0xc6, 0x68, 0xa2, 0x8f, + 0x3e, 0xbb, 0x4c, 0x69, 0x1f, 0x5d, 0x36, 0x70, 0xeb, 0xf8, 0xdc, 0xf2, 0x91, 0x3e, 0x19, 0xab, + 0x6f, 0xa3, 0x3c, 0x5c, 0xf8, 0x90, 0x31, 0x90, 0x99, 0x22, 0x3f, 0x95, 0x68, 0xfd, 0x30, 0xcb, + 0x64, 0x8d, 0x90, 0xe9, 0xf7, 0x98, 0x64, 0x7d, 0xcc, 0xa3, 0x7d, 0x83, 0xce, 0x30, 0xec, 0x1f, + 0xb0, 0x82, 0xc3, 0x06, 0x48, 0xf8, 0x34, 0x57, 0xdb, 0xd9, 0x0b, 0xb6, 0x70, 0x69, 0x9e, 0x92, + 0x15, 0xd5, 0x5a, 0xa8, 0x85, 0x2a, 0x9b, 0xbb, 0xee, 0xe6, 0xa8, 0xa6, 0x57, 0x13, 0x70, 0x1a, + 0x69, 0xe1, 0x85, 0xb2, 0xa3, 0xe5, 0xf5, 0xa1, 0xeb, 0x7c, 0x46, 0xcc, 0xba, 0x0e, 0xa0, 0x98, + 0x16, 0x29, 0x1f, 0xb5, 0x08, 0x09, 0x0e, 0x92, 0x50, 0x0b, 0xa9, 0xe8, 0xeb, 0x9d, 0xac, 0x70, + 0x91, 0x8f, 0x97, 0x5a, 0x35, 0x64, 0xb1, 0x50, 0xde, 0x7f, 0x0d, 0xad, 0x29, 0x51, 0x90, 0x43, + 0x92, 0xdf, 0x6a, 0xd6, 0xcf, 0xf3, 0xc4, 0xef, 0x10, 0xf6, 0xbc, 0x61, 0x0e, 0xb9, 0xce, 0x11, + 0x19, 0x80, 0x64, 0x37, 0x84, 0x37, 0xbf, 0x9f, 0x29, 0xab, 0x08, 0xbf, 0xf9, 0x58, 0xa0, 0x07, + 0x3c, 0x81, 0x04, 0x45, 0x79, 0x36, 0x6c, 0x7c, 0x43, 0x06, 0xfd, 0xab, 0x26, 0x04, 0xaf, 0xdd, + 0x99, 0x4e, 0x42, 0x87, 0xf9, 0x9c, 0x59, 0x09, 0x03, 0x90, 0x96, 0x1d, 0x44, 0xf1, 0xaa, 0x10, + 0x3e, 0x72, 0x25, 0x02, 0x4d, 0x18, 0xc0, 0x17, 0xd1, 0x04, 0x6a, 0x10, 0x36, 0x69, 0xfa, 0x71, + 0x65, 0x91, 0x28, 0xf8, 0x84, 0x8c, 0xe7, 0x0e, 0xea, 0x55, 0x69, 0xb3, 0xe9, 0x34, 0x3a, 0xbf, + 0xbd, 0x85, 0x5c, 0x1c, 0x62, 0x96, 0xac, 0xf5, 0xc4, 0x00, 0xe8, 0xda, 0x86, 0xad, 0x41, 0x20, + 0x40, 0x80, 0x08, 0x55, 0x45, 0x11, 0x07, 0x3a, 0xb3, 0xbf, 0x73, 0x71, 0xfa, 0x12, 0x4a, 0x61, + 0x92, 0xf0, 0x8e, 0xf6, 0x4c, 0xd3, 0x8b, 0xb4, 0x30, 0x26, 0x9c, 0x62, 0x97, 0x08, 0xb5, 0x2c, + 0xf0, 0x69, 0x27, 0xac, 0x9d, 0x3c, 0xa9, 0xb9, 0x56, 0xa5, 0x6f, 0x23, 0x01, 0xeb, 0xac, 0xac, + 0xf5, 0xd6, 0x9e, 0x65, 0x58, 0xfb, 0x2e, 0x65, 0x0a, 0xb9, 0x65, 0x11, 0xdf, 0xdf, 0x61, 0xff, + 0x1f, 0xca, 0x96, 0xf0, 0xe9, 0xbf, 0x41, 0xa9, 0x73, 0x38, 0x3b, 0x28, 0xdc, 0xb1, 0x92, 0xea, + 0x4b, 0x21, 0x33, 0xf1, 0x06, 0x61, 0x05, 0xd8, 0xa2, 0xab, 0x6f, 0xcc, 0x4f, 0x6c, 0x0c, 0x97, + 0x53, 0x87, 0x81, 0xf5, 0x10, 0x39, 0x6a, 0xea, 0x63, 0xe8, 0x27, 0x4d, 0xdc, 0x2a, 0xbc, 0x57, + 0x1a, 0xe3, 0xed, 0xd3, 0x1f, 0x52, 0xa6, 0x4a, 0x81, 0x53, 0x68, 0x54, 0x67, 0x24, 0x61, 0x42, + 0xed, 0xdd, 0x61, 0xa0, 0x3c, 0xf8, 0xbf, 0xc3, 0xe0, 0xeb, 0x88, 0x9c, 0xeb, 0xdd, 0xf6, 0x92, + 0xaf, 0xf1, 0x45, 0xae, 0x3d, 0x70, 0xe2, 0x24, 0x9b, 0xf8, 0x52, 0x52, 0x7b, 0x0a, 0x7f, 0x76, + 0xca, 0x02, 0xd3, 0xb5, 0x3a, 0xf4, 0x07, 0x7b, 0x5a, 0x8e, 0x8b, 0x35, 0xe8, 0x85, 0x29, 0x43, + 0x7f, 0xd4, 0xb9, 0xd4, 0xfc, 0x85, 0x74, 0xed, 0xc7, 0xe5, 0xaa, 0x1d, 0x3e, 0xf6, 0x1b, 0x25, + 0x09, 0x2b, 0xdb, 0x42, 0x43, 0xce, 0xb7, 0xf3, 0x7a, 0x1b, 0x55, 0x2e, 0xe6, 0x37, 0x34, 0x6a, + 0xc9, 0x7e, 0x35, 0x9d, 0xd8, 0xc7, 0x76, 0x33, 0x92, 0xb6, 0x16, 0x07, 0x9c, 0xe2, 0xfd, 0x0a, + 0xaf, 0xc6, 0x24, 0xea, 0x34, 0x42, 0xc7, 0xdc, 0x13, 0x6f, 0x85, 0xa2, 0x73, 0xb9, 0x34, 0x3f, + 0x40, 0xec, 0x81, 0x08, 0x67, 0xe1, 0x50, 0x74, 0xf5, 0x7a, 0x34, 0x02, 0xe9, 0xa8, 0x53, 0xa4, + 0xe5, 0xf8, 0x07, 0xec, 0xfd, 0xf0, 0x88, 0x7e, 0xee, 0xc8, 0xdc, 0xb8, 0xde, 0x21, 0xc8, 0xbb, + 0x2d, 0x65, 0x66, 0x84, 0x9b, 0xc8, 0x3c, 0xe5, 0x5a, 0xff, 0x51, 0x23, 0xd9, 0xcf, 0x08, 0xca, + 0x6a, 0xf9, 0x2d, 0x12, 0x5c, 0x5b, 0x77, 0xaf, 0x53, 0xf9, 0x14, 0x81, 0xdd, 0x66, 0xd0, 0x56, + 0xff, 0x23, 0xc8, 0xfb, 0x5f, 0x48, 0x01, 0xba, 0x96, 0xe4, 0x81, 0xd3, 0x4e, 0x7d, 0xbf, 0xc9, + 0xdb, 0x25, 0x4a, 0x43, 0x22, 0x3a, 0xdc, 0xcf, 0xc9, 0xc1, 0x14, 0x53, 0xaa, 0x58, 0x2f, 0x06, + 0x3c, 0xb4, 0xce, 0x5e, 0xc8, 0xce, 0xaa, 0x70, 0xbc, 0xb5, 0xa1, 0xc8, 0x8e, 0xd7, 0xf4, 0x11, + 0xf9, 0xb3, 0x8f, 0x8d, 0x6b, 0x22, 0xbb, 0x4f, 0x6d, 0x96, 0x18, 0x82, 0xe0, 0x82, 0x45, 0xf5, + 0x63, 0x93, 0xfe, 0x13, 0x1d, 0x39, 0x60, 0x86, 0x89, 0x1f, 0xd9, 0x18, 0xac, 0xd5, 0x01, 0x7d, + 0xaf, 0x64, 0x07, 0x91, 0x53, 0x09, 0x59, 0xdf, 0x98, 0x48, 0x0b, 0x05, 0xa9, 0xb2, 0xed, 0x6a, + 0xcc, 0x53, 0x84, 0xb6, 0x98, 0xce, 0x94, 0x90, 0xec, 0x13, 0xfa, 0x47, 0xf4, 0xec, 0xdb, 0x03, + 0x14, 0x59, 0xaa, 0x28, 0xba, 0x20, 0x62, 0xf2, 0x7a, 0xef, 0x3b, 0xfd, 0x9b, 0x73, 0x55, 0x69, + 0x0a, 0x48, 0x94, 0x69, 0x8a, 0x8d, 0xe7, 0x0e, 0xd1, 0x8a, 0xf5, 0xda, 0x05, 0xd6, 0x31, 0x37, + 0x5f, 0xbc, 0x95, 0x3b, 0xa1, 0xee, 0xd4, 0x00, 0x67, 0xad, 0xc6, 0x21, 0x22, 0x66, 0xc2, 0x1f, + 0xb6, 0x85, 0xa8, 0x3d, 0x35, 0xde, 0x82, 0x41, 0xbe, 0x0a, 0x7f, 0xb4, 0x6a, 0xee, 0x67, 0x87, + 0x1d, 0xc2, 0x19, 0xc1, 0xdc, 0x8c, 0x37, 0xe3, 0x75, 0x77, 0x16, 0xf4, 0x94, 0x2d, 0x87, 0x41, + 0x04, 0xa4, 0x7b, 0xe1, 0xa8, 0x2e, 0x0b, 0x7a, 0x4f, 0xd3, 0x7b, 0x9d, 0x6a, 0xb3, 0x59, 0x8e, + 0xfe, 0x06, 0xa8, 0xd9, 0xa4, 0x9f, 0x73, 0xf8, 0x30, 0xa8, 0xd9, 0x79, 0x46, 0x01, 0x40, 0xe4, + 0xb6, 0x6c, 0xfb, 0x64, 0x91, 0x29, 0xf6, 0x78, 0x31, 0x15, 0x6c, 0x94, 0x3b, 0x9d, 0x5f, 0x31, + 0xfa, 0xfd, 0xe4, 0xcd, 0xac, 0x74, 0x46, 0x50, 0x7c, 0xde, 0xb3, 0x01, 0xeb, 0xdb, 0x5b, 0xc0, + 0xf4, 0x74, 0xd0, 0xdf, 0x7c, 0xad, 0xac, 0x2a, 0x57, 0x5d, 0x85, 0x34, 0x35, 0x09, 0x9a, 0x9e, + 0x74, 0x65, 0x6e, 0xc5, 0x95, 0x97, 0xb9, 0x6d, 0xa1, 0xf5, 0x77, 0xe2, 0x47, 0xe4, 0xe6, 0x99, + 0x9e, 0x37, 0x4c, 0x46, 0x59, 0x97, 0x50, 0x8b, 0x69, 0x51, 0xe2, 0x10, 0x04, 0xea, 0x0e, 0x3b, + 0xb4, 0xf2, 0x28, 0xa3, 0x3a, 0x09, 0xbc, 0xd5, 0x3d, 0x8d, 0xf3, 0x79, 0xd4, 0xef, 0x54, 0x6f, + 0x9a, 0xa2, 0x22, 0xb3, 0x30, 0x0f, 0xf9, 0x85, 0x49, 0xa8, 0x3c, 0xf1, 0xde, 0x99, 0x29, 0xc1, + 0x1f, 0xf1, 0x9d, 0xe6, 0x2d, 0x85, 0x2e, 0x02, 0x1b, 0xb7, 0x42, 0x3d, 0x3d, 0xca, 0x91, 0x30, + 0xa8, 0x47, 0xb2, 0x6e, 0x9a, 0x7b, 0x57, 0xe3, 0x37, 0x39, 0xcc, 0x2d, 0x26, 0x1b, 0xe3, 0x58, + 0xdd, 0xf2, 0x23, 0xbd, 0x02, 0xab, 0x76, 0x6c, 0xb9, 0x0d, 0x1d, 0x01, 0xd7, 0x9c, 0x9a, 0x53, + 0xb5, 0xe1, 0x7f, 0x1f, 0xbf, 0xa4, 0x88, 0xb7, 0xb3, 0x0c, 0x6f, 0x4f, 0xa0, 0x84, 0x14, 0xb7, + 0xaa, 0x19, 0x80, 0x45, 0x38, 0xe7, 0x68, 0x00, 0x08, 0x18, 0x91, 0x30, 0x21, 0xc4, 0xd0, 0x98, + 0xc9, 0xca, 0x14, 0xac, 0x9a, 0x24, 0x6f, 0x08, 0x89, 0x35, 0x7f, 0x24, 0xe0, 0xca, 0x79, 0x9f, + 0x2d, 0x95, 0x9c, 0xdb, 0x51, 0xf6, 0x94, 0xce, 0xd1, 0x6a, 0x0f, 0xd8, 0x92, 0x4e, 0x77, 0xfe, + 0xe1, 0x14, 0xd9, 0xc1, 0xf5, 0xe7, 0xb0, 0xed, 0x2c, 0x27, 0xc2, 0x72, 0x25, 0x7c, 0x56, 0x43, + 0x15, 0xc9, 0xa6, 0x91, 0x19, 0xce, 0x88, 0x13, 0xed, 0x67, 0xdb, 0x48, 0xe0, 0x8b, 0x90, 0x2e, + 0xcd, 0xc8, 0xb2, 0xfd, 0xf8, 0xff, 0x1f, 0xf7, 0xf2, 0x10, 0x5e, 0xb7, 0x1d, 0x6a, 0x11, 0xa6, + 0x93, 0x45, 0xf5, 0x7d, 0x44, 0x9c, 0x1f, 0x37, 0x80, 0x84, 0xe4, 0x8b, 0x6f, 0xe3, 0xd6, 0x64, + 0x3f, 0xaf, 0x98, 0x5b, 0xf1, 0x16, 0x1e, 0xfa, 0x21, 0x83, 0xea, 0x97, 0x2b, 0x2b, 0x82, 0x39, + 0x1c, 0xb0, 0x1e, 0xcb, 0x0d, 0x73, 0x09, 0x64, 0xc3, 0x97, 0xf6, 0x56, 0xfd, 0x14, 0xee, 0xa4, + 0xfa, 0xeb, 0x36, 0xda, 0xcf, 0xc5, 0x34, 0x9b, 0xb5, 0x14, 0x5d, 0xf4, 0xcd, 0x3f, 0x68, 0x4e, + 0xcf, 0x9b, 0xd9, 0x4a, 0x65, 0x87, 0x86, 0x33, 0x3f, 0x39, 0x1c, 0x0a, 0x4d, 0xb3, 0x96, 0x96, + 0x8b, 0x1b, 0x39, 0xf1, 0xee, 0x6d, 0x1d, 0xea, 0x0e, 0x68, 0xc8, 0xcb, 0x62, 0x20, 0xd9, 0xc8, + 0x76, 0x40, 0x14, 0xe1, 0x7b, 0xc0, 0xfd, 0xfb, 0x65, 0x99, 0x3d, 0x7b, 0x0f, 0x53, 0x01, 0x67, + 0x48, 0x7c, 0x8e, 0xee, 0x7c, 0xb5, 0x56, 0x9a, 0xb9, 0x43, 0xff, 0x42, 0x5c, 0x71, 0xb9, 0x21, + 0x29, 0x16, 0xa7, 0xbc, 0x38, 0x07, 0x18, 0x37, 0xd9, 0x90, 0x6e, 0x0d, 0x5c, 0xe4, 0x79, 0x81, + 0xb7, 0x5e, 0xe7, 0x56, 0x4d, 0x60, 0x4e, 0x39, 0xbb, 0xb3, 0x6d, 0x95, 0x4c, 0x69, 0x46, 0xcb, + 0x35, 0x51, 0x26, 0x6d, 0x33, 0x81, 0x9f, 0x84, 0x8c, 0xd0, 0x31, 0xe0, 0x6b, 0x63, 0xfe, 0x1b, + 0x35, 0x69, 0x68, 0x4e, 0x9c, 0x7c, 0xe0, 0x41, 0x48, 0x6a, 0x6d, 0x30, 0x71, 0x43, 0x3e, 0x04, + 0x63, 0x27, 0x7f, 0x4c, 0xa8, 0xfe, 0xf5, 0xf9, 0xc3, 0x21, 0xf5, 0x18, 0x8b, 0x62, 0x82, 0xba, + 0xbd, 0xe3, 0x46, 0xde, 0xc5, 0x8b, 0x1a, 0x84, 0x68, 0xed, 0xf1, 0x6b, 0x73, 0x8c, 0xb6, 0x20, + 0xc7, 0x19, 0x9c, 0x54, 0x76, 0x86, 0x15, 0x70, 0x11, 0x43, 0x8b, 0x0b, 0x8d, 0xf1, 0x91, 0x4d, + 0x1c, 0xae, 0xa4, 0x36, 0x11, 0x8c, 0x92, 0x5d, 0x53, 0xab, 0x41, 0x39, 0xf3, 0x0c, 0x9e, 0x9f, + 0x56, 0x5b, 0x90, 0x6c, 0x81, 0xde, 0x46, 0xb6, 0xb9, 0x2d, 0xf1, 0x85, 0xe4, 0xb0, 0x57, 0x98, + 0x65, 0x08, 0xc0, 0x25, 0x2e, 0x18, 0x04, 0x50, 0x21, 0x7d, 0x65, 0x7e, 0x24, 0xa7, 0xe9, 0x64, + 0x1c, 0xe3, 0xa1, 0x88, 0x68, 0x3c, 0x58, 0x55, 0x29, 0xca, 0x2a, 0xfb, 0x4e, 0xf4, 0x22, 0xd2, + 0xf2, 0xdc, 0x2a, 0x6d, 0x95, 0x37, 0x2c, 0x79, 0x70, 0xd9, 0x90, 0x86, 0x61, 0x35, 0x80, 0x08, + 0xc7, 0x45, 0x03, 0x0c, 0x54, 0xda, 0xe4, 0xbb, 0x2b, 0x00, 0x43, 0xa1, 0xb7, 0xd0, 0x66, 0x4a, + 0x59, 0xd1, 0x59, 0x3d, 0xef, 0x9b, 0x74, 0x31, 0x68, 0xf6, 0x53, 0xd7, 0x36, 0x77, 0x81, 0xcc, + 0x41, 0xf6, 0xb4, 0xfe, 0x51, 0xc6, 0xb4, 0x0a, 0x90, 0x53, 0x29, 0x64, 0xba, 0x11, 0x00, 0x07, + 0xca, 0x68, 0x67, 0xa5, 0x6e, 0x3c, 0xfe, 0x04, 0x4d, 0x6b, 0x38, 0x27, 0x41, 0xca, 0x38, 0xa4, + 0xcf, 0xc3, 0x8c, 0xab, 0x22, 0x0b, 0x39, 0x53, 0x18, 0x0b, 0xf6, 0xdc, 0x5d, 0x7c, 0xdb, 0x5e, + 0x25, 0x53, 0xad, 0x28, 0xcf, 0xe9, 0xbe, 0xb1, 0xc3, 0x5a, 0x7a, 0x6f, 0x1f, 0xaf, 0x6a, 0xb7, + 0x8b, 0x5b, 0x17, 0x38, 0x69, 0xb6, 0xbd, 0x31, 0xa9, 0xf4, 0x6e, 0xfa, 0xca, 0xbc, 0x37, 0xef, + 0x1d, 0x3b, 0x87, 0x9f, 0x73, 0xb5, 0xc8, 0x11, 0xf3, 0x01, 0x16, 0x1d, 0x69, 0x4c, 0x3b, 0x44, + 0x0a, 0x35, 0x67, 0xf0, 0x0d, 0xc7, 0x6a, 0xaa, 0x1a, 0x09, 0x94, 0x6b, 0x34, 0x1c, 0x8c, 0x6b, + 0x97, 0x77, 0x56, 0xd4, 0x9d, 0xb4, 0x3e, 0x14, 0x57, 0xbf, 0xe4, 0x9f, 0x60, 0x5c, 0xc6, 0xbe, + 0x6b, 0x2a, 0x53, 0x3b, 0x3d, 0xcd, 0x63, 0xfc, 0x13, 0xf8, 0x84, 0x0e, 0x2c, 0x0a, 0xf5, 0x11, + 0xc9, 0x58, 0xae, 0x43, 0x85, 0x4c, 0xe1, 0x6f, 0x8a, 0xd6, 0x00, 0x89, 0x65, 0xd0, 0x25, 0xda, + 0x81, 0x1f, 0x27, 0x3d, 0xbf, 0x6b, 0xa6, 0x26, 0x37, 0xbc, 0xa9, 0xb4, 0x43, 0x94, 0xd2, 0x15, + 0x19, 0x8a, 0xbf, 0x0b, 0x1b, 0xdb, 0x6a, 0x4c, 0x97, 0x1b, 0xd0, 0xb3, 0xf1, 0x2c, 0xef, 0x56, + 0xd9, 0xa3, 0xda, 0x2e, 0xaf, 0xf4, 0xed, 0x4d, 0x28, 0x0a, 0x2e, 0xdb, 0x52, 0x97, 0x1d, 0x15, + 0xb3, 0x9e, 0x86, 0x01, 0x6d, 0x17, 0x57, 0xce, 0x0d, 0x70, 0x85, 0xb8, 0x3c, 0xc8, 0xaa, 0xa3, + 0xfa, 0x4e, 0x26, 0x30, 0x7f, 0xfe, 0xd9, 0x34, 0xb3, 0x52, 0x70, 0x53, 0xd0, 0x02, 0xec, 0x48, + 0x6c, 0x72, 0xaa, 0x82, 0x2d, 0x95, 0x1d, 0xbc, 0x12, 0x50, 0xfc, 0xa8, 0x3a, 0x0a, 0x33, 0x78, + 0x49, 0x3e, 0x3d, 0x89, 0xc4, 0x07, 0x40, 0x09, 0x55, 0xfa, 0x9e, 0xdc, 0x23, 0x64, 0x2d, 0xb0, + 0x55, 0xd5, 0x32, 0x21, 0xe5, 0xe5, 0xf3, 0x17, 0x79, 0x83, 0x46, 0x37, 0x95, 0x94, 0x22, 0x44, + 0x2f, 0x81, 0x04, 0xb0, 0x6e, 0x64, 0x8c, 0x34, 0xac, 0x36, 0xb3, 0x5f, 0x15, 0x1f, 0x7e, 0x38, + 0xa2, 0xe3, 0xc9, 0x49, 0x4c, 0xaa, 0x9e, 0x76, 0x44, 0x2d, 0xb6, 0xe2, 0x67, 0x13, 0x47, 0xb1, + 0x1e, 0x6b, 0x7b, 0x9c, 0xf3, 0xc5, 0x7a, 0xb8, 0x7a, 0x30, 0xce, 0xaa, 0xf4, 0xc4, 0x04, 0xa3, + 0x5d, 0x23, 0x2f, 0x7e, 0x9f, 0x55, 0xb4, 0x1a, 0x26, 0x07, 0xa0, 0xb6, 0x41, 0x46, 0x32, 0x26, + 0x22, 0xc4, 0x2d, 0x2c, 0xb7, 0x04, 0x23, 0xcf, 0x1f, 0xc9, 0x7e, 0x9d, 0xf3, 0xc1, 0x7b, 0x09, + 0x25, 0x6f, 0xb6, 0x14, 0xc7, 0x30, 0xf1, 0x9f, 0x5b, 0xba, 0x23, 0xde, 0x76, 0x52, 0x20, 0x60, + 0x6c, 0x83, 0xde, 0x25, 0x48, 0xa3, 0x93, 0xc8, 0x16, 0x87, 0x6d, 0xb1, 0x66, 0xa1, 0x1b, 0x7e, + 0x2f, 0x67, 0x7f, 0xc7, 0x9c, 0xff, 0x92, 0x67, 0xd4, 0x06, 0xa0, 0x0b, 0x58, 0xae, 0xf1, 0x6c, + 0x3a, 0x8e, 0x17, 0xb9, 0x2d, 0x96, 0xa2, 0xe3, 0xaa, 0x95, 0xff, 0x5e, 0x62, 0x7f, 0xd3, 0x8d, + 0x51, 0x2e, 0x2f, 0x85, 0x3f, 0x83, 0x76, 0xde, 0x8f, 0x39, 0x12, 0x32, 0x01, 0x52, 0xc3, 0x43, + 0x11, 0xad, 0x9a, 0xe3, 0x99, 0x09, 0x22, 0xcb, 0xa4, 0x6a, 0x4a, 0xb8, 0x0c, 0xef, 0xa5, 0xe5, + 0xe2, 0xd9, 0x09, 0xab, 0xdb, 0x51, 0xad, 0x67, 0x42, 0xa4, 0x6c, 0x7c, 0xa6, 0xbf, 0xe0, 0x01, + 0xdf, 0x68, 0x02, 0xe8, 0xf8, 0x07, 0x31, 0xd4, 0x7e, 0x11, 0xe5, 0x1e, 0xae, 0x5b, 0x3e, 0x69, + 0xbf, 0x62, 0x72, 0x41, 0xd8, 0x01, 0xc9, 0xcd, 0x21, 0x1f, 0xbe, 0x3d, 0xa9, 0x03, 0x11, 0x16, + 0x1b, 0x3c, 0xf8, 0xe1, 0x25, 0xbe, 0x8b, 0xf8, 0xb9, 0xef, 0xd6, 0xdc, 0x22, 0x5b, 0x62, 0x2b, + 0x55, 0xb0, 0x30, 0x08, 0x4e, 0x1f, 0x3c, 0xb9, 0xaa, 0x2d, 0xcf, 0x65, 0x0b, 0x8e, 0x1b, 0x16, + 0x5a, 0x54, 0xb9, 0x23, 0xb7, 0xba, 0x63, 0x6c, 0xc0, 0x43, 0x52, 0x9e, 0x76, 0x6f, 0xbc, 0x64, + 0x2c, 0x1c, 0xea, 0x86, 0xb3, 0x39, 0x46, 0x0a, 0x11, 0x4c, 0x58, 0x2b, 0xe3, 0x2f, 0x3d, 0x01, + 0xba, 0x5b, 0xef, 0xc7, 0xdf, 0x5c, 0x1a, 0xfa, 0xb1, 0xca, 0x13, 0xe0, 0x58, 0x18, 0x04, 0x36, + 0x75, 0x68, 0xab, 0xe7, 0x83, 0xdf, 0x84, 0xbd, 0x54, 0xb2, 0x63, 0xc3, 0xfc, 0xb3, 0xf1, 0xea, + 0xd0, 0x58, 0xd3, 0x16, 0xbc, 0xc4, 0x17, 0x5c, 0xc1, 0x64, 0x03, 0xaf, 0x3d, 0xdb, 0x25, 0x1f, + 0xbf, 0x39, 0xc8, 0x54, 0x0a, 0x79, 0x52, 0x24, 0x6f, 0x62, 0x44, 0x44, 0xda, 0xd0, 0x1d, 0xc8, + 0x7a, 0x8d, 0x9f, 0xe3, 0x9a, 0x6f, 0x64, 0x90, 0x7c, 0xfb, 0x6d, 0x25, 0x04, 0xbd, 0x1f, 0xee, + 0x8d, 0x73, 0x0c, 0x19, 0xcc, 0xa2, 0x75, 0x51, 0x8b, 0x5d, 0x59, 0x5e, 0x8b, 0xcb, 0x45, 0xda, + 0x46, 0x81, 0x59, 0x71, 0x83, 0x93, 0xd8, 0x58, 0x40, 0xfe, 0x52, 0x1b, 0x7a, 0xf0, 0xc3, 0xf2, + 0xe8, 0x7b, 0x8c, 0xb9, 0x29, 0x2e, 0xef, 0x76, 0x73, 0x4d, 0x08, 0x37, 0xa2, 0x82, 0x73, 0xfa, + 0x56, 0x90, 0xc4, 0x87, 0x74, 0xb2, 0x3f, 0xf1, 0x6d, 0x4b, 0x49, 0xa7, 0x11, 0x14, 0xbb, 0x56, + 0x87, 0x6d, 0x5a, 0xeb, 0x0b, 0x5a, 0x0a, 0x68, 0x12, 0xd9, 0x49, 0xa4, 0xa9, 0x6a, 0x00, 0x9f, + 0x30, 0x15, 0x99, 0x12, 0x0e, 0x55, 0x50, 0xc7, 0xdd, 0x3f, 0xeb, 0x0d, 0x9f, 0xfc, 0x12, 0xe8, + 0xab, 0xe1, 0x08, 0xe6, 0xf2, 0x8d, 0x6d, 0x32, 0x99, 0x22, 0xfe, 0x33, 0xb0, 0x04, 0x18, 0x33, + 0xa2, 0xdc, 0x39, 0xd6, 0xf8, 0x18, 0xc4, 0x6b, 0x3b, 0x1d, 0xd1, 0x10, 0x55, 0xb1, 0x25, 0xca, + 0x05, 0x07, 0x2e, 0x5f, 0x6e, 0x6f, 0xf5, 0x70, 0x1b, 0xf0, 0x4e, 0xc3, 0x9f, 0x61, 0x45, 0x0a, + 0xe7, 0x16, 0xe9, 0xf7, 0xc5, 0x5b, 0x8c, 0xd6, 0xc5, 0xc9, 0xb6, 0x54, 0x6b, 0x9c, 0xc5, 0x9e, + 0x45, 0x2b, 0x2a, 0x36, 0x06, 0x80, 0xaa, 0x0d, 0x6e, 0xa4, 0x98, 0x33, 0xd2, 0x6f, 0x37, 0xc5, + 0x69, 0x74, 0xec, 0xb4, 0xa1, 0xd1, 0xd6, 0xb5, 0x16, 0xa7, 0x96, 0xab, 0x8c, 0xf6, 0xd0, 0x36, + 0xb8, 0x1c, 0xb4, 0xbb, 0xaa, 0x71, 0x30, 0xcc, 0x98, 0xb1, 0x12, 0x64, 0xbe, 0x95, 0xf8, 0x20, + 0x3e, 0xd7, 0xb9, 0x0a, 0x92, 0x1e, 0x76, 0x03, 0xf5, 0xa6, 0x20, 0x4b, 0x96, 0x68, 0x23, 0x76, + 0xf7, 0xdb, 0xb6, 0x21, 0xe4, 0x32, 0x5a, 0xeb, 0xc0, 0xff, 0xaa, 0xdd, 0x34, 0xe5, 0x42, 0x0b, + 0x79, 0x8a, 0xdb, 0x23, 0x70, 0x4a, 0x15, 0xf2, 0xe0, 0xd5, 0x32, 0x81, 0x1b, 0x12, 0x12, 0x33, + 0xdf, 0x25, 0x05, 0x1a, 0xba, 0x52, 0xc8, 0x22, 0xa9, 0xe3, 0x90, 0xed, 0x59, 0x26, 0x6b, 0x51, + 0x61, 0x42, 0xe0, 0xc6, 0xad, 0xb8, 0x79, 0x3c, 0xeb, 0x75, 0xb0, 0x56, 0x4a, 0x2e, 0x43, 0x68, + 0xfa, 0xe2, 0x31, 0xb4, 0xab, 0x55, 0xaa, 0x79, 0x9a, 0x47, 0x89, 0x06, 0x2f, 0xb2, 0x81, 0xae, + 0x5b, 0xb5, 0xee, 0x68, 0xe2, 0xd1, 0xbc, 0x9b, 0xee, 0xed, 0xe5, 0x37, 0xff, 0x63, 0xc8, 0x51, + 0x1f, 0x1e, 0xfd, 0xc3, 0x43, 0x5d, 0x8d, 0x3d, 0xdf, 0x2f, 0x66, 0xda, 0x5d, 0x77, 0x7b, 0xc2, + 0x72, 0xea, 0xa5, 0x74, 0xb7, 0x06, 0xf2, 0xbb, 0xb7, 0x6c, 0x0b, 0x65, 0x33, 0x08, 0x07, 0x85, + 0x37, 0x4d, 0xe8, 0x79, 0x06, 0xde, 0x6e, 0x48, 0xbb, 0x48, 0x5f, 0x68, 0x14, 0x97, 0x16, 0xac, + 0x82, 0x33, 0xc0, 0x07, 0x49, 0x7f, 0xe5, 0x99, 0x85, 0x39, 0xe1, 0x43, 0x2f, 0x4d, 0x91, 0xae, + 0xd9, 0xcd, 0x51, 0x50, 0xd2, 0x0e, 0x7d, 0x08, 0x1b, 0xd3, 0x92, 0xe9, 0x60, 0xdb, 0x9f, 0x79, + 0xf1, 0xff, 0xe3, 0x05, 0xd7, 0x6d, 0x91, 0xee, 0x02, 0xd3, 0xeb, 0xd3, 0x95, 0xe5, 0x4f, 0xed, + 0x78, 0x53, 0x72, 0x1b, 0x59, 0xba, 0xd2, 0x0e, 0x25, 0x58, 0x4a, 0x63, 0x47, 0x5a, 0x9a, 0xda, + 0x42, 0x97, 0xe2, 0x5f, 0x3f, 0xf7, 0x9c, 0xb7, 0xc3, 0x6f, 0x2f, 0xad, 0x5a, 0x1d, 0xa6, 0xfe, + 0x1c, 0x8f, 0x6a, 0x4d, 0xe7, 0x22, 0x91, 0xfa, 0xa4, 0x99, 0x4e, 0x75, 0xb3, 0x98, 0x50, 0xc5, + 0x30, 0x0f, 0xeb, 0x51, 0x8f, 0xb3, 0xbf, 0x66, 0x22, 0x77, 0x83, 0x0b, 0x21, 0xe1, 0x92, 0xbf, + 0xd2, 0xa4, 0x73, 0x9f, 0x78, 0xf0, 0xef, 0x83, 0x41, 0x3a, 0xe4, 0xfc, 0x75, 0xc5, 0x1a, 0x06, + 0xce, 0x5a, 0x40, 0xe9, 0x92, 0x28, 0x1a, 0x75, 0xbc, 0x26, 0x2f, 0x9f, 0xf9, 0x0e, 0xbe, 0x7f, + 0x15, 0xc7, 0xc7, 0xa4, 0xa6, 0x4b, 0x0b, 0x74, 0x07, 0x27, 0x26, 0x66, 0x0e, 0xc5, 0xd0, 0x4a, + 0xb6, 0x69, 0x70, 0x21, 0x80, 0xdb, 0xa6, 0x18, 0x23, 0x01, 0xd9, 0x95, 0x13, 0x3a, 0xa8, 0xb3, + 0xc4, 0x89, 0x41, 0xe5, 0x6a, 0x5d, 0x82, 0x70, 0x13, 0xb1, 0x2d, 0xe1, 0xa8, 0x38, 0xec, 0xa9, + 0xcc, 0x94, 0xad, 0xcc, 0x03, 0xd9, 0x81, 0x99, 0xe3, 0xd7, 0xd7, 0x8d, 0xdf, 0x28, 0x6a, 0xc9, + 0x94, 0xd3, 0x6a, 0xa9, 0xe3, 0xc1, 0x2d, 0x6d, 0x94, 0xe7, 0x14, 0x70, 0xbf, 0xad, 0xc4, 0xc3, + 0x9c, 0xfa, 0x5d, 0x6b, 0x70, 0xb9, 0xc2, 0x38, 0xea, 0xb2, 0xb2, 0xa7, 0x0e, 0x52, 0xb2, 0x32, + 0xc7, 0x53, 0xda, 0x7a, 0x4a, 0x08, 0x29, 0xc0, 0x71, 0x5e, 0x99, 0x74, 0xca, 0xed, 0x95, 0xc2, + 0xc2, 0x02, 0x15, 0x05, 0x60, 0x6c, 0x2f, 0x40, 0xa5, 0x16, 0xac, 0xd5, 0x20, 0x83, 0x81, 0x2e, + 0x24, 0x7d, 0xea, 0xc8, 0x06, 0x13, 0x06, 0xee, 0x06, 0xf1, 0x07, 0x46, 0x01, 0xd9, 0xba, 0xdf, + 0xe8, 0xf7, 0xe5, 0xa3, 0xbf, 0x8f, 0xf7, 0x5c, 0xd0, 0x0d, 0x39, 0x24, 0x65, 0xf7, 0xb0, 0x44, + 0x76, 0xfa, 0x7b, 0xd4, 0x61, 0x96, 0x19, 0x9d, 0x11, 0xf8, 0xe2, 0xd3, 0x79, 0x2c, 0xc1, 0x7a, + 0xf0, 0xa3, 0x56, 0x29, 0xdd, 0x37, 0xf1, 0x89, 0x73, 0x06, 0xe1, 0x4d, 0xbd, 0xa1, 0xe4, 0xda, + 0xc0, 0xf1, 0x49, 0x54, 0xac, 0x7a, 0x65, 0x5f, 0x3a, 0xe7, 0xf3, 0xc0, 0xae, 0xc3, 0x10, 0xfc, + 0x0d, 0xde, 0xac, 0x55, 0xac, 0xf7, 0xa8, 0x29, 0x54, 0xb5, 0xf8, 0x7a, 0x46, 0xff, 0xb1, 0x0e, + 0x2e, 0xde, 0x2f, 0x3e, 0xa5, 0xdf, 0x85, 0x9d, 0x45, 0x73, 0xaf, 0x97, 0xfd, 0x3d, 0x0e, 0xf9, + 0x84, 0x05, 0x5c, 0x5f, 0x3d, 0x14, 0x6b, 0x93, 0xe5, 0x89, 0x71, 0x22, 0x7d, 0x3c, 0xa6, 0x47, + 0xe7, 0x71, 0xdc, 0xf3, 0x22, 0x16, 0xb4, 0x7b, 0xaa, 0xbe, 0x4b, 0x12, 0x92, 0xfe, 0x08, 0x7a, + 0x3e, 0x5b, 0x5d, 0x86, 0x73, 0x36, 0x29, 0xc5, 0xb8, 0xdf, 0xd5, 0x74, 0x1a, 0x3a, 0xac, 0x8d, + 0x2f, 0x58, 0x96, 0x1b, 0xd0, 0x08, 0x8c, 0x51, 0x35, 0xfb, 0x8b, 0x42, 0xa0, 0xa1, 0x62, 0x46, + 0x08, 0x5d, 0x2a, 0x27, 0x6f, 0xf5, 0x80, 0xa7, 0xd6, 0x8e, 0x07, 0xbb, 0xae, 0x85, 0xeb, 0x8c, + 0x4d, 0x6b, 0xd9, 0x4e, 0x88, 0xbe, 0x0d, 0xe6, 0xab, 0xbe, 0x05, 0xa5, 0xda, 0xd1, 0xa9, 0x39, + 0x29, 0xe8, 0x9a, 0x34, 0xe9, 0x7a, 0xd0, 0xd2, 0x4b, 0x8a, 0xb6, 0x02, 0x84, 0xea, 0x53, 0x57, + 0x5d, 0xa9, 0x0d, 0xa5, 0x37, 0x0b, 0xd9, 0xf4, 0x2b, 0xc4, 0xc4, 0xf1, 0xd7, 0xfe, 0x3b, 0xe7, + 0x38, 0xde, 0x4e, 0xa9, 0x50, 0x0a, 0x7d, 0xc4, 0xf9, 0x4f, 0x3b, 0x9f, 0x5f, 0x38, 0x86, 0x00, + 0xca, 0x84, 0x5a, 0x82, 0xa7, 0x11, 0x90, 0x94, 0xcf, 0xfc, 0x1f, 0xf6, 0x38, 0x11, 0xac, 0x5b, + 0xc2, 0x66, 0x9f, 0x00, 0x9d, 0x23, 0x49, 0x00, 0x76, 0xf4, 0xc5, 0xe6, 0x44, 0xbb, 0x4e, 0x4d, + 0xed, 0x66, 0x48, 0x9e, 0x5a, 0x80, 0x2e, 0xfa, 0xa1, 0xbd, 0x5b, 0xb3, 0xef, 0x42, 0x57, 0x3f, + 0x3b, 0x87, 0x20, 0xbb, 0x1b, 0x51, 0x25, 0x22, 0x2c, 0x7b, 0xdb, 0x6a, 0xeb, 0x1b, 0x52, 0x4d, + 0x4d, 0xa0, 0x19, 0x34, 0x65, 0xff, 0x4c, 0x1a, 0x2a, 0x6e, 0xb4, 0x55, 0x48, 0xae, 0xae, 0xde, + 0x21, 0x47, 0x23, 0xac, 0x7b, 0x8a, 0x02, 0xfb, 0xef, 0xb6, 0x76, 0xe2, 0xcb, 0x89, 0x28, 0xaf, + 0x79, 0x16, 0x00, 0x45, 0xdd, 0x88, 0x91, 0x00, 0x7f, 0x3d, 0x1e, 0xcc, 0x49, 0xf6, 0x6f, 0xc3, + 0x2e, 0x26, 0xfc, 0xb4, 0x36, 0xd4, 0xd0, 0x23, 0x67, 0xbf, 0x1a, 0xd2, 0x3f, 0xd1, 0x01, 0x7f, + 0x5b, 0x1b, 0xeb, 0x05, 0xa5, 0x6f, 0x3d, 0x5a, 0xbf, 0x73, 0x5a, 0xbe, 0x33, 0xee, 0xd3, 0xe2, + 0x28, 0x7a, 0xe8, 0xfe, 0xfd, 0xf0, 0x1b, 0x44, 0x9e, 0x4b, 0x5a, 0x07, 0xd4, 0xc7, 0x5b, 0x4b, + 0xb2, 0x87, 0xa5, 0xfb, 0xd2, 0xc1, 0x55, 0x43, 0xf2, 0x13, 0x7b, 0x6c, 0x3d, 0x7d, 0x80, 0x65, + 0x66, 0x87, 0x18, 0x5c, 0xbd, 0x8b, 0xee, 0x4f, 0xc9, 0xee, 0xfa, 0x5c, 0x5d, 0xf5, 0x90, 0xe7, + 0x34, 0x8d, 0xeb, 0xf8, 0x5c, 0xe2, 0xa3, 0xe5, 0x60, 0xa3, 0x53, 0x27, 0x25, 0x2c, 0xf9, 0x14, + 0x03, 0x9f, 0x5e, 0x57, 0x43, 0xb9, 0x44, 0x88, 0x63, 0x9c, 0x1d, 0xb5, 0x12, 0xa6, 0x61, 0x3c, + 0x0d, 0xc1, 0x59, 0x9d, 0x76, 0x50, 0x7f, 0xcb, 0x8e, 0x1f, 0xbf, 0xee, 0xbf, 0x57, 0x5e, 0x8e, + 0xe7, 0xe7, 0x27, 0x73, 0xe4, 0x53, 0xac, 0x0c, 0xf2, 0x95, 0x0e, 0xf1, 0x50, 0x91, 0x82, 0xd6, + 0x52, 0xcc, 0x59, 0xcb, 0xc3, 0xd3, 0x04, 0x71, 0x9e, 0xc9, 0x50, 0xa2, 0x43, 0x60, 0xf4, 0x65, + 0x22, 0x97, 0x45, 0xc8, 0x49, 0xba, 0x51, 0x82, 0x73, 0x96, 0x4a, 0x0c, 0xe2, 0x36, 0xdf, 0x27, + 0xd6, 0x7d, 0xdd, 0x3b, 0xa3, 0xc1, 0xe3, 0x4e, 0x24, 0x01, 0xfa, 0x12, 0x69, 0xb1, 0xfb, 0x23, + 0xe3, 0x61, 0x8b, 0xf8, 0x0f, 0x43, 0x46, 0xa4, 0xe9, 0xd0, 0xa9, 0x0e, 0x74, 0x0b, 0x35, 0xbe, + 0x78, 0xec, 0xa8, 0x84, 0x26, 0x62, 0x69, 0x07, 0x14, 0xd2, 0x11, 0x16, 0x3d, 0x56, 0xc8, 0x77, + 0xfd, 0xb2, 0xac, 0xc8, 0x70, 0x36, 0xe4, 0x4e, 0x7e, 0x44, 0x17, 0x79, 0xe8, 0x3e, 0xdb, 0x2d, + 0xfb, 0x5f, 0x02, 0x06, 0x16, 0xb5, 0x2c, 0xa9, 0xac, 0x70, 0x63, 0x85, 0x36, 0x87, 0x7f, 0xc8, + 0x51, 0xb5, 0x01, 0xea, 0x3d, 0x6c, 0xc8, 0xc3, 0x13, 0x19, 0xa7, 0x70, 0xae, 0xf7, 0xcb, 0x4c, + 0x3f, 0xd4, 0x29, 0x27, 0xae, 0x64, 0x61, 0x58, 0x5f, 0xcc, 0x33, 0x7d, 0xbe, 0x94, 0x77, 0xd0, + 0x64, 0xa9, 0xb5, 0x38, 0x80, 0xc0, 0xf1, 0xfa, 0xc3, 0x34, 0x2a, 0xbb, 0xe1, 0x93, 0x2a, 0xab, + 0x1e, 0x75, 0xf6, 0x4c, 0xdd, 0x68, 0xcc, 0x38, 0x86, 0x7c, 0x47, 0x0c, 0x70, 0xb5, 0xfb, 0x64, + 0x6f, 0xba, 0xbc, 0xd2, 0x8b, 0xdc, 0xd1, 0xec, 0x99, 0xee, 0x6f, 0x42, 0xd9, 0x13, 0xed, 0x7a, + 0xb5, 0xc0, 0x37, 0x02, 0xa5, 0x88, 0x11, 0xb7, 0xc6, 0x3a, 0xa2, 0x17, 0x63, 0x29, 0x51, 0xbb, + 0xc9, 0x65, 0x54, 0x27, 0xe2, 0x4c, 0x44, 0x51, 0xab, 0xa2, 0x7b, 0x25, 0x11, 0x1b, 0x40, 0x4a, + 0x13, 0xaa, 0x14, 0xb7, 0xcf, 0xc9, 0xc5, 0xfa, 0x0c, 0x30, 0x92, 0xd4, 0x6c, 0xd6, 0xcf, 0xb5, + 0xa9, 0xa5, 0x90, 0x6c, 0x74, 0xd2, 0x5d, 0x70, 0x9d, 0x34, 0x78, 0x04, 0xb3, 0x4b, 0xb1, 0x54, + 0xaf, 0xb1, 0x5e, 0xd1, 0x29, 0xcf, 0x41, 0x89, 0x28, 0x61, 0x31, 0xe9, 0xbe, 0x4c, 0xc5, 0x27, + 0x8f, 0xa0, 0x80, 0x0d, 0xd3, 0xbe, 0xcb, 0x49, 0xfc, 0xca, 0xb9, 0x11, 0x21, 0xef, 0x2e, 0xb0, + 0xb9, 0xb7, 0xb8, 0x93, 0x67, 0xfd, 0xde, 0x40, 0x85, 0x60, 0x0c, 0x14, 0x18, 0xaf, 0x20, 0x1d, + 0x47, 0xfe, 0xee, 0x86, 0xbc, 0xe6, 0x9e, 0x5d, 0x43, 0x9f, 0xe5, 0x96, 0x4c, 0x03, 0xfe, 0x6c, + 0x8e, 0xfb, 0x40, 0x54, 0x27, 0x2e, 0x8f, 0xb1, 0x46, 0xe2, 0xe4, 0x49, 0x3c, 0x36, 0x5c, 0xb4, + 0x41, 0xbe, 0x44, 0x78, 0x71, 0xe3, 0xf9, 0xed, 0x25, 0x28, 0x6e, 0xb5, 0xbb, 0x66, 0xf9, 0xbf, + 0xbd, 0x7f, 0x35, 0xf3, 0xc2, 0x67, 0xc6, 0x32, 0x55, 0x6e, 0x1b, 0xfb, 0x16, 0x6d, 0x19, 0xe7, + 0x53, 0x69, 0xc5, 0xeb, 0xa3, 0xf3, 0x1c, 0x70, 0x84, 0x11, 0x06, 0x28, 0x24, 0x40, 0x68, 0xc1, + 0x03, 0x81, 0x49, 0x5b, 0x2b, 0x48, 0xfe, 0x0e, 0x9e, 0xe9, 0x17, 0x3b, 0x1a, 0x6f, 0x19, 0x53, + 0x02, 0x0c, 0xc5, 0x7d, 0x81, 0xd1, 0xd7, 0xec, 0x17, 0x48, 0xa3, 0x71, 0xef, 0x9f, 0x8c, 0x4d, + 0xe0, 0x33, 0xba, 0x83, 0xcc, 0xd0, 0x5e, 0xa5, 0xec, 0x2a, 0x32, 0x30, 0x68, 0x1a, 0x5c, 0xb0, + 0x6e, 0x22, 0x76, 0x45, 0x6a, 0x01, 0x41, 0x9f, 0x39, 0xb1, 0x2b, 0x59, 0xf7, 0xc9, 0x17, 0xa5, + 0xc0, 0x4b, 0x1d, 0x19, 0x9e, 0x0c, 0x61, 0x7d, 0x4a, 0x77, 0x46, 0x97, 0x55, 0xf5, 0x5d, 0x32, + 0xc6, 0xd4, 0x4e, 0xd5, 0xd5, 0x37, 0x88, 0xa8, 0xec, 0xd3, 0x31, 0x91, 0xd1, 0x57, 0x18, 0xa9, + 0x23, 0xc9, 0x34, 0x28, 0x7c, 0xd1, 0x3d, 0xf2, 0x31, 0x0e, 0xff, 0x0a, 0x54, 0x30, 0x54, 0x2b, + 0x14, 0x17, 0xbf, 0x6b, 0x20, 0x67, 0xe9, 0xc3, 0x39, 0x5f, 0x13, 0xcc, 0x54, 0xa5, 0x4c, 0xa2, + 0xbc, 0xe4, 0x49, 0xa4, 0x0d, 0x46, 0xae, 0xde, 0x56, 0x16, 0x7e, 0x99, 0xba, 0xbc, 0xf6, 0x80, + 0xda, 0x0c, 0x5a, 0x8b, 0x7e, 0x0d, 0x93, 0x2c, 0xf0, 0x26, 0x29, 0x08, 0xbf, 0x3b, 0xe1, 0xed, + 0x39, 0x63, 0x9d, 0xc1, 0x6a, 0x36, 0x44, 0x2f, 0x3e, 0x2f, 0x39, 0x11, 0x83, 0x33, 0xae, 0x56, + 0x8d, 0xe4, 0x6b, 0xfe, 0xb3, 0x03, 0xd6, 0x4b, 0xc5, 0xcd, 0xac, 0x5f, 0xf4, 0x1c, 0x60, 0xba, + 0xdc, 0x84, 0x81, 0x9a, 0x6f, 0xa8, 0x08, 0xe8, 0x1f, 0xed, 0x8d, 0xbf, 0x62, 0xaf, 0x41, 0x1c, + 0xdd, 0x5a, 0x0a, 0xcd, 0x14, 0x95, 0x15, 0xd4, 0x74, 0x47, 0x87, 0xd1, 0x12, 0x88, 0x34, 0x20, + 0xbe, 0x12, 0x4b, 0xf9, 0x40, 0xd6, 0xfd, 0xe9, 0x6b, 0x98, 0x17, 0x80, 0xc5, 0xc6, 0x98, 0x23, + 0x40, 0xe6, 0x1d, 0x02, 0xc3, 0x9f, 0xfc, 0x8e, 0x11, 0xaa, 0xa3, 0x51, 0x4c, 0xdc, 0x3c, 0x1a, + 0x22, 0xfc, 0xd8, 0xb3, 0x2a, 0xab, 0x33, 0x5c, 0x49, 0xaf, 0x16, 0xc9, 0x46, 0x9c, 0x19, 0x9b, + 0xfe, 0x3a, 0x5c, 0xb1, 0x97, 0x89, 0x42, 0x82, 0x2b, 0x70, 0x4a, 0x4e, 0x20, 0x92, 0x05, 0x55, + 0xe1, 0x7e, 0xc0, 0xf7, 0x7b, 0x0b, 0x44, 0x6e, 0x4e, 0xcd, 0x40, 0xbc, 0x70, 0x42, 0xda, 0xfb, + 0xf1, 0x56, 0x2f, 0x15, 0xdc, 0xff, 0x04, 0xdf, 0x3c, 0xa5, 0x68, 0xee, 0x52, 0xe1, 0xd0, 0x31, + 0x24, 0xfe, 0x30, 0x59, 0x95, 0x4c, 0x51, 0x3a, 0xf3, 0xa3, 0x75, 0x0a, 0x41, 0xea, 0xcf, 0xf4, + 0x04, 0x3a, 0x96, 0x17, 0x86, 0x8b, 0x7f, 0x28, 0xdc, 0x1d, 0xce, 0x07, 0xf2, 0x34, 0xb1, 0x45, + 0xd4, 0xbb, 0xf1, 0xcb, 0xdf, 0x97, 0xc0, 0xdd, 0x20, 0xf9, 0x6e, 0xcf, 0x1e, 0xaa, 0xc9, 0xde, + 0xe7, 0x11, 0x68, 0x30, 0xc6, 0x35, 0x45, 0xdb, 0xe4, 0x93, 0x00, 0x16, 0x18, 0x6b, 0x1c, 0xb7, + 0x62, 0x65, 0xc6, 0x36, 0x0e, 0xed, 0x44, 0x64, 0xaa, 0x3e, 0x09, 0xdb, 0xfa, 0x19, 0xea, 0x65, + 0x2b, 0x68, 0x09, 0xc8, 0x79, 0x4c, 0x9b, 0xfa, 0xd2, 0x1d, 0x1f, 0x50, 0x89, 0x4a, 0x7f, 0xbf, + 0x4b, 0x75, 0xf5, 0xbd, 0x99, 0x23, 0x50, 0x07, 0x54, 0x62, 0x29, 0xb1, 0xb8, 0x5f, 0xb6, 0xaa, + 0xed, 0x0c, 0x9d, 0x52, 0x72, 0x13, 0x2e, 0xd8, 0xd6, 0xe6, 0x8f, 0x56, 0xda, 0x5d, 0xb9, 0x2c, + 0x0d, 0x88, 0xfd, 0x65, 0xd3, 0xf1, 0x72, 0x2d, 0xc8, 0x36, 0xd7, 0xc7, 0xf9, 0xd7, 0x3e, 0xeb, + 0xa5, 0x64, 0x5d, 0x57, 0x5c, 0x01, 0xfa, 0x01, 0x09, 0x97, 0xdc, 0x7b, 0x5b, 0x23, 0xde, 0x47, + 0x01, 0xdd, 0x2b, 0xc7, 0x46, 0x0a, 0x57, 0x27, 0xe2, 0xe9, 0xb5, 0x1c, 0x0d, 0xc3, 0x8e, 0x7c, + 0xe6, 0x38, 0x2e, 0x98, 0x15, 0xe9, 0x39, 0x65, 0xb2, 0x24, 0x3c, 0xba, 0x58, 0xc4, 0x01, 0xd0, + 0x5d, 0x8b, 0xc4, 0x09, 0x53, 0xce, 0x45, 0x1e, 0x0b, 0x23, 0x27, 0xdc, 0xb6, 0xe6, 0xca, 0xf1, + 0x1f, 0x26, 0x6e, 0x58, 0xc2, 0x42, 0x4c, 0x39, 0x63, 0x3d, 0xae, 0xdb, 0x0b, 0x16, 0x5f, 0x56, + 0x78, 0x08, 0x44, 0xca, 0x7f, 0x18, 0x27, 0x04, 0x82, 0x07, 0x67, 0xf9, 0xd1, 0x6a, 0x0f, 0x01, + 0x7b, 0xd4, 0x85, 0x1f, 0xef, 0xfa, 0x0f, 0x6d, 0xf8, 0xeb, 0x65, 0xee, 0x63, 0x75, 0x0a, 0x39, + 0xc9, 0x9d, 0x34, 0x10, 0x5d, 0x69, 0x8a, 0x8a, 0x9b, 0x81, 0x51, 0x81, 0x0a, 0xac, 0x24, 0xf5, + 0x81, 0xe4, 0xc4, 0x3e, 0xeb, 0x9c, 0xd8, 0xec, 0xb3, 0xec, 0xa0, 0xf9, 0x73, 0x10, 0xee, 0x09, + 0x86, 0x24, 0x19, 0x38, 0x59, 0x28, 0x62, 0xa4, 0xf6, 0x8e, 0x7d, 0xc7, 0xa1, 0x64, 0xdb, 0xa6, + 0x05, 0x76, 0x85, 0x62, 0x21, 0x1f, 0x4a, 0xfc, 0xc9, 0xb8, 0xdc, 0x7f, 0x64, 0x61, 0x3e, 0x19, + 0x2b, 0x7b, 0x51, 0xfb, 0x0e, 0xf3, 0x79, 0x3d, 0x45, 0x2e, 0x48, 0x54, 0x98, 0xf9, 0x4d, 0x5a, + 0xd1, 0xbc, 0x25, 0x6a, 0x3c, 0x35, 0xb7, 0x39, 0xff, 0x68, 0x85, 0xb5, 0x37, 0xa3, 0xe6, 0x06, + 0xb6, 0x8d, 0x1c, 0x60, 0x05, 0x8d, 0xfe, 0x4b, 0xbc, 0xaa, 0x9e, 0xc7, 0x69, 0x70, 0x85, 0x02, + 0x02, 0x5f, 0x3a, 0x6f, 0x23, 0x8b, 0x84, 0x9b, 0xda, 0x19, 0xe4, 0xa4, 0x37, 0xf8, 0xe0, 0x65, + 0xb6, 0x66, 0xb4, 0x12, 0xef, 0x8b, 0x72, 0xa8, 0xfa, 0x92, 0x5e, 0xc3, 0xc4, 0xf0, 0xbb, 0xf5, + 0x89, 0x66, 0xaa, 0x9f, 0x9c, 0x7c, 0x07, 0x64, 0xc8, 0xe4, 0x88, 0xd0, 0x93, 0x4b, 0x5a, 0xd2, + 0xf0, 0xbf, 0xd1, 0x64, 0x0e, 0xfe, 0x39, 0x37, 0xfb, 0xe2, 0x4a, 0xd3, 0xc3, 0x7d, 0x8d, 0xb0, + 0x9a, 0x2a, 0x34, 0xc3, 0x49, 0xed, 0x4e, 0x4b, 0x20, 0x67, 0x60, 0xfc, 0xd3, 0xef, 0x86, 0x43, + 0x30, 0x5b, 0xca, 0x23, 0x4d, 0xdf, 0xfa, 0x8a, 0x5c, 0x70, 0xa1, 0xb0, 0x50, 0x29, 0x7e, 0x7e, + 0x91, 0xea, 0xc4, 0xba, 0x8b, 0x0d, 0x63, 0x49, 0xc8, 0x94, 0x7e, 0x2f, 0xd6, 0x4a, 0xfa, 0x7f, + 0x2a, 0x7e, 0x41, 0xe8, 0xf4, 0xdd, 0x9a, 0x97, 0x82, 0xd7, 0xcc, 0xdf, 0x83, 0xaa, 0x41, 0x88, + 0xff, 0x60, 0x50, 0xa7, 0x8d, 0x5c, 0xf1, 0x2d, 0x54, 0x59, 0x4a, 0xfd, 0x7a, 0x63, 0x12, 0x2f, + 0x5b, 0xa7, 0xe1, 0xa1, 0x0f, 0xe3, 0xb1, 0xc5, 0xd9, 0x9b, 0x96, 0x6d, 0xec, 0x1c, 0xbf, 0x84, + 0xfe, 0x37, 0xf3, 0x9c, 0xd4, 0x64, 0x3f, 0x6e, 0x2d, 0x60, 0xdc, 0xd7, 0xa0, 0x1c, 0xeb, 0x77, + 0xf3, 0xf0, 0x6c, 0x1a, 0xe1, 0xe7, 0x1f, 0xd2, 0x6e, 0xee, 0x4e, 0x6d, 0x6b, 0x6b, 0x33, 0x48, + 0xfb, 0x70, 0x4a, 0xc5, 0xa9, 0xce, 0x00, 0x66, 0x49, 0x66, 0xeb, 0xa0, 0x20, 0x14, 0x7e, 0xc3, + 0x0c, 0x0e, 0x47, 0xb0, 0x29, 0xea, 0x62, 0xed, 0x38, 0x9d, 0x7e, 0x2b, 0x74, 0x0a, 0xc4, 0x51, + 0x09, 0xc7, 0xc6, 0x30, 0x3f, 0x69, 0xb6, 0xdc, 0x31, 0x94, 0x93, 0x1e, 0xeb, 0x22, 0x28, 0x22, + 0x7b, 0x7a, 0xed, 0xcf, 0x2d, 0xcd, 0x3c, 0xa6, 0xef, 0x94, 0xc7, 0xcb, 0x73, 0x98, 0x8d, 0xb6, + 0x7b, 0x0a, 0x03, 0x39, 0xa9, 0x7b, 0xa7, 0xc8, 0xf8, 0xaa, 0xa1, 0xd8, 0xbc, 0x86, 0x89, 0xcb, + 0x27, 0xbb, 0x29, 0xba, 0x2b, 0xb6, 0x51, 0xb8, 0xc4, 0x69, 0x4c, 0x7f, 0x5f, 0xda, 0x4a, 0x94, + 0x6c, 0x96, 0x31, 0x10, 0x88, 0x98, 0x5e, 0x8f, 0x99, 0x68, 0x81, 0xdb, 0xae, 0xf5, 0x2a, 0x04, + 0xfa, 0xad, 0x46, 0xd1, 0x3a, 0xfc, 0x30, 0x0e, 0x33, 0xa1, 0xc7, 0xe3, 0x65, 0xbd, 0x04, 0x4e, + 0x2c, 0x15, 0x10, 0xa2, 0xb9, 0x1e, 0x59, 0x88, 0xe2, 0xd4, 0x38, 0xd0, 0x92, 0x9b, 0x0c, 0x26, + 0x07, 0x37, 0x90, 0x21, 0x62, 0x0a, 0x73, 0x9d, 0xe8, 0xa3, 0xe5, 0x4e, 0xbb, 0x01, 0xc5, 0x86, + 0x80, 0x50, 0xf4, 0x4d, 0x63, 0xf3, 0x53, 0xca, 0xf4, 0x6e, 0x64, 0x92, 0xf0, 0xac, 0x39, 0x48, + 0x8c, 0x1f, 0xe2, 0x8a, 0xc3, 0xdd, 0x9d, 0x6a, 0xa6, 0x9f, 0x7a, 0x79, 0xd7, 0x1f, 0x31, 0xb4, + 0x23, 0xa0, 0xf2, 0x64, 0xca, 0x77, 0xcb, 0x8e, 0xf9, 0x33, 0x64, 0x2a, 0xff, 0x1c, 0x15, 0x4f, + 0x01, 0x3d, 0xd4, 0xfc, 0x73, 0x79, 0x11, 0xed, 0x3d, 0x63, 0xa7, 0x4f, 0x0e, 0x32, 0xef, 0xf9, + 0x3e, 0x93, 0x4c, 0x1a, 0xfd, 0x5f, 0xf4, 0xa1, 0x9d, 0xee, 0x2f, 0x42, 0x13, 0xd4, 0x3e, 0xa7, + 0xf1, 0x17, 0x53, 0x81, 0xa3, 0x9e, 0x71, 0x70, 0xa8, 0xc5, 0x47, 0x08, 0x81, 0xf7, 0x75, 0x94, + 0x93, 0x59, 0xd8, 0xd9, 0x16, 0x68, 0xf5, 0x8d, 0x99, 0x16, 0xc5, 0x1c, 0x82, 0xb0, 0x5e, 0x4e, + 0x93, 0xd6, 0xd9, 0x95, 0x99, 0x88, 0xfd, 0x50, 0x52, 0x97, 0x8a, 0x88, 0xe8, 0x89, 0xb6, 0x15, + 0xf0, 0xee, 0x8e, 0x23, 0xb0, 0xd3, 0x94, 0x78, 0x73, 0xc3, 0xb1, 0xe4, 0xf2, 0xa7, 0xf0, 0x38, + 0x55, 0x42, 0x3f, 0xff, 0xef, 0x2b, 0x98, 0x5d, 0xb1, 0x59, 0x3c, 0x9d, 0xa6, 0xe8, 0x12, 0xac, + 0x71, 0xb0, 0x2a, 0x09, 0x81, 0xe6, 0xfe, 0x85, 0xfd, 0x3c, 0x3f, 0xbe, 0xac, 0x32, 0xc5, 0x3c, + 0x37, 0xf3, 0x15, 0x57, 0xf2, 0x05, 0x56, 0x11, 0xd9, 0xd2, 0xf5, 0xb6, 0xfd, 0x29, 0x88, 0xfb, + 0x66, 0x6d, 0x2f, 0x88, 0xc8, 0xe5, 0x84, 0x57, 0x7c, 0xf8, 0xd7, 0x4b, 0x1a, 0xb7, 0x3f, 0xa5, + 0xca, 0x53, 0xc2, 0x1b, 0x77, 0x19, 0x90, 0x98, 0xd0, 0x52, 0x84, 0x33, 0xd1, 0xbb, 0x5f, 0x92, + 0xf8, 0xb8, 0xab, 0xf7, 0xac, 0x33, 0xc1, 0x98, 0xfc, 0x2f, 0x74, 0x71, 0xd8, 0xfa, 0x75, 0xe1, + 0xc8, 0x01, 0xbb, 0xed, 0x77, 0x0d, 0xa9, 0xce, 0x57, 0xd8, 0x20, 0x93, 0x8a, 0xfe, 0x1d, 0x0d, + 0x57, 0xc2, 0xaa, 0x83, 0xb8, 0x3b, 0xd1, 0x1e, 0x5f, 0x51, 0x91, 0x3d, 0x79, 0x6f, 0x6a, 0x01, + 0x9a, 0x7f, 0x7e, 0x2a, 0x9d, 0xe1, 0xb8, 0xb5, 0xd4, 0xb7, 0x53, 0x27, 0x1b, 0x35, 0xbc, 0x10, + 0xc7, 0x76, 0x3b, 0x51, 0x83, 0x4c, 0xb2, 0x5e, 0x6e, 0xc4, 0x50, 0x9f, 0xf6, 0xe2, 0xbe, 0xe5, + 0x0e, 0x64, 0x0d, 0xfb, 0x43, 0xfc, 0xb9, 0x61, 0x76, 0x07, 0xf6, 0x43, 0xda, 0x51, 0x5d, 0x98, + 0x7a, 0xc6, 0x81, 0x79, 0x7f, 0xb3, 0x8b, 0x9c, 0x9c, 0xd1, 0x44, 0x98, 0xf7, 0xa4, 0xec, 0xe2, + 0xfd, 0xb6, 0xf8, 0x3f, 0x9a, 0x83, 0x42, 0xdb, 0x97, 0xdd, 0x03, 0x9c, 0x0e, 0xbe, 0x38, 0x73, + 0xfd, 0xea, 0xd3, 0xa4, 0x38, 0x41, 0x2b, 0x9e, 0x24, 0xdf, 0xd1, 0x16, 0x24, 0x54, 0x67, 0xc1, + 0x84, 0xa2, 0x2a, 0xf7, 0xd6, 0xb7, 0x30, 0x44, 0x53, 0x40, 0x45, 0xd9, 0xce, 0x53, 0xcd, 0xa1, + 0x15, 0x95, 0x7f, 0x3d, 0xc0, 0xf3, 0xf2, 0xc3, 0x27, 0x98, 0x05, 0x9d, 0xc5, 0x39, 0x07, 0x7c, + 0x55, 0xe7, 0xdb, 0xc1, 0x36, 0x70, 0x88, 0x82, 0x8f, 0x65, 0xd9, 0xf1, 0x05, 0xdc, 0x1b, 0x19, + 0x99, 0xd8, 0xa9, 0x04, 0x15, 0x60, 0x80, 0xef, 0x64, 0x53, 0x57, 0xb9, 0x08, 0xba, 0x78, 0xf5, + 0x36, 0x37, 0xfe, 0x17, 0xe3, 0xd1, 0x13, 0xd1, 0x8f, 0xf5, 0x1e, 0xf4, 0xd3, 0x56, 0x53, 0xba, + 0x4f, 0xda, 0x7f, 0xc5, 0x1d, 0xa1, 0x42, 0x3e, 0x26, 0xc1, 0x71, 0x75, 0x19, 0x90, 0x52, 0x48, + 0xde, 0x03, 0xca, 0x68, 0xf3, 0x1c, 0x6d, 0xe7, 0xcf, 0x9e, 0x1a, 0x2a, 0xa0, 0x25, 0xc3, 0xb6, + 0x71, 0x08, 0x40, 0x4c, 0x29, 0xc6, 0xc7, 0x3d, 0xa4, 0x99, 0x65, 0xeb, 0xcc, 0x51, 0x33, 0xac, + 0x8d, 0x03, 0x81, 0x4d, 0x88, 0xe2, 0x31, 0xb8, 0x4c, 0x67, 0x14, 0x7f, 0xc9, 0xc1, 0xda, 0xf3, + 0x31, 0x78, 0x95, 0x93, 0xb4, 0x30, 0x66, 0x1e, 0xfd, 0x7a, 0xcf, 0xf9, 0x11, 0x06, 0x05, 0x36, + 0xf9, 0xe3, 0x3f, 0x0c, 0x33, 0xda, 0x88, 0x81, 0x91, 0x30, 0x29, 0x0e, 0x9a, 0x0c, 0x96, 0x45, + 0x9f, 0x0e, 0xe4, 0x76, 0x11, 0x2d, 0x4f, 0x66, 0x1b, 0x8e, 0x59, 0xd6, 0xe3, 0x44, 0xcd, 0xa0, + 0xad, 0xfa, 0x20, 0xce, 0x37, 0xf4, 0x0b, 0x29, 0x83, 0x81, 0xdb, 0x65, 0xa6, 0x17, 0xb8, 0x7a, + 0xb9, 0xe2, 0x46, 0xfa, 0x78, 0xf7, 0x98, 0x68, 0x52, 0xf6, 0xbe, 0x5d, 0x88, 0x61, 0x0b, 0x10, + 0xae, 0x93, 0x35, 0x8b, 0xad, 0xa8, 0x98, 0xf4, 0x71, 0x90, 0xde, 0x27, 0x7a, 0xaf, 0x19, 0x77, + 0x0c, 0xd6, 0x52, 0xa8, 0x9a, 0xf9, 0x2e, 0x70, 0xf2, 0xe5, 0xd8, 0xdf, 0x97, 0x61, 0xb0, 0x7f, + 0xf6, 0x37, 0x92, 0x39, 0x87, 0x24, 0xb4, 0xdf, 0x41, 0x90, 0xc4, 0x45, 0x05, 0xc7, 0x4d, 0x1f, + 0xc5, 0xc4, 0x84, 0x2e, 0x81, 0x90, 0xa9, 0x14, 0x5a, 0x6d, 0xad, 0x5e, 0x90, 0x01, 0x3d, 0xbc, + 0x6a, 0xb8, 0xeb, 0xed, 0x76, 0xfe, 0x70, 0x99, 0x19, 0xbf, 0xd8, 0x31, 0x81, 0x94, 0x56, 0x4d, + 0x5a, 0x72, 0x90, 0xa8, 0xba, 0x2c, 0xd7, 0x90, 0x3d, 0x5e, 0x4f, 0x28, 0x0c, 0x89, 0x67, 0x66, + 0x34, 0x62, 0xb2, 0x65, 0x7a, 0xa2, 0x62, 0x96, 0x61, 0xcd, 0xeb, 0xc6, 0x03, 0xe6, 0x94, 0x5d, + 0x99, 0x48, 0x0f, 0xa1, 0x52, 0xc0, 0x05, 0xc6, 0x94, 0xaa, 0x91, 0x82, 0x88, 0x8d, 0x15, 0x9d, + 0x9a, 0xb3, 0xa9, 0x44, 0x86, 0xbb, 0xfb, 0x4e, 0x5a, 0x83, 0x86, 0xef, 0xcb, 0xe6, 0xfd, 0x24, + 0x94, 0xc5, 0x9d, 0xa9, 0x27, 0x13, 0xec, 0x32, 0xec, 0x71, 0x4e, 0xd7, 0xa0, 0xba, 0x02, 0x0a, + 0xa2, 0x5c, 0xd3, 0x15, 0xbd, 0x98, 0xeb, 0x51, 0xce, 0x73, 0xe9, 0xf9, 0x13, 0xf6, 0xc0, 0xf3, + 0x0b, 0x1b, 0x78, 0x87, 0xd6, 0xee, 0xce, 0x14, 0x3a, 0x8c, 0xa0, 0xe4, 0x22, 0x0e, 0xdb, 0xe3, + 0x36, 0x4d, 0x09, 0x91, 0xc8, 0x90, 0x2d, 0x81, 0xd2, 0x4d, 0x37, 0x7f, 0x25, 0xab, 0xb1, 0xc4, + 0xba, 0xea, 0x43, 0xab, 0x37, 0x39, 0x28, 0x06, 0xee, 0x7a, 0xc2, 0x5c, 0x89, 0x8e, 0xab, 0x00, + 0x5a, 0x8a, 0x4d, 0x99, 0xe4, 0xf9, 0x42, 0x63, 0x5c, 0xd4, 0xa7, 0x17, 0x1e, 0xea, 0xdb, 0x9d, + 0xe4, 0xf6, 0x2b, 0xa2, 0xa7, 0x1e, 0x30, 0xaa, 0x6a, 0x5d, 0xcc, 0xab, 0xf6, 0x1b, 0xde, 0x95, + 0x69, 0xa9, 0x69, 0xe9, 0x7b, 0x25, 0x10, 0xd4, 0xbc, 0xcb, 0xc7, 0x82, 0x78, 0x28, 0xab, 0x29, + 0x70, 0x81, 0x00, 0x90, 0xc9, 0x60, 0x7c, 0x21, 0xee, 0xd7, 0x20, 0x46, 0x79, 0x72, 0xf0, 0xb9, + 0x4d, 0xee, 0x5d, 0x37, 0x2e, 0xf8, 0xb4, 0x2e, 0xf4, 0xc6, 0x24, 0x05, 0x0d, 0xd3, 0x36, 0x90, + 0x04, 0x17, 0x67, 0x06, 0x14, 0x6a, 0x3e, 0x04, 0x1b, 0xfb, 0xdd, 0x4c, 0xa9, 0xbc, 0x93, 0x06, + 0xa4, 0xa7, 0xfc, 0x4d, 0xc7, 0x34, 0x55, 0xfb, 0xbd, 0x9f, 0x15, 0xcf, 0x67, 0x5d, 0x13, 0x3a, + 0x81, 0x8d, 0xc6, 0x6c, 0x75, 0x89, 0x45, 0x14, 0x57, 0xf0, 0x40, 0x16, 0x7a, 0xa8, 0x7f, 0x55, + 0x53, 0xd9, 0xbc, 0xb6, 0x7d, 0x40, 0x61, 0xf1, 0x33, 0x11, 0xf9, 0x51, 0x3c, 0xed, 0xb6, 0xe4, + 0x1e, 0xa9, 0x9c, 0xf2, 0x4b, 0xc9, 0xa5, 0xc9, 0x67, 0x7e, 0xfd, 0x4d, 0x72, 0x49, 0xc6, 0x41, + 0x36, 0x51, 0x6d, 0x47, 0x63, 0xbf, 0x51, 0x17, 0x4d, 0xd9, 0x8a, 0x75, 0x92, 0x0d, 0x55, 0x86, + 0x88, 0x5d, 0x54, 0x36, 0x8b, 0x4f, 0xc1, 0x9f, 0x26, 0x04, 0x96, 0x6a, 0x8c, 0x0c, 0x7d, 0xec, + 0x37, 0x44, 0x92, 0x7a, 0xc7, 0xeb, 0x78, 0x52, 0x18, 0x11, 0xa2, 0x18, 0x14, 0x16, 0x29, 0x39, + 0x68, 0xcc, 0x8c, 0xd8, 0xb8, 0xc3, 0x48, 0xa9, 0x4c, 0xd0, 0xea, 0xc1, 0xb3, 0xd5, 0xbe, 0x36, + 0x2d, 0x46, 0x88, 0x1f, 0x1b, 0x81, 0xe5, 0x32, 0xc9, 0xaa, 0xfd, 0x19, 0x52, 0xd7, 0x9c, 0xa3, + 0x8b, 0xce, 0x9d, 0x9c, 0x86, 0x87, 0xa6, 0xbc, 0x57, 0x2f, 0xf8, 0x06, 0xd6, 0x47, 0xf1, 0x61, + 0xca, 0x37, 0x61, 0x88, 0xab, 0x27, 0x0f, 0xa0, 0x84, 0x99, 0x2b, 0x98, 0x42, 0x4e, 0x96, 0x42, + 0x00, 0xf8, 0xf4, 0x0d, 0x0e, 0x7c, 0x25, 0x0d, 0xb9, 0x77, 0x75, 0x53, 0xb6, 0xfc, 0x67, 0xaa, + 0xde, 0x33, 0xe3, 0x92, 0x83, 0xf6, 0x19, 0x02, 0xab, 0x57, 0x9d, 0x84, 0xa8, 0x5f, 0xa4, 0x87, + 0xb5, 0x37, 0x66, 0x81, 0xc9, 0x38, 0x40, 0x62, 0xed, 0xab, 0xba, 0x9e, 0x68, 0x10, 0x1f, 0xca, + 0x24, 0x98, 0xc0, 0x71, 0xb6, 0x25, 0xa3, 0xcb, 0x58, 0x9e, 0x40, 0x41, 0x8e, 0x15, 0x7a, 0x33, + 0xdd, 0xc9, 0xdf, 0x6a, 0x5f, 0xba, 0x26, 0x71, 0xcc, 0x5e, 0x60, 0x33, 0x51, 0x3a, 0x70, 0x4b, + 0x83, 0xb1, 0x58, 0xd6, 0x6e, 0xd0, 0xf6, 0x28, 0xb9, 0xdb, 0xb2, 0x24, 0x0b, 0x3e, 0xc2, 0x99, + 0x83, 0xca, 0x3b, 0xfa, 0xf1, 0x63, 0x8a, 0x71, 0xf6, 0xaa, 0x71, 0x07, 0x96, 0x32, 0x3d, 0x55, + 0x12, 0x6a, 0xc6, 0x4b, 0x5d, 0x3a, 0xf4, 0xce, 0xd5, 0x11, 0xfd, 0x72, 0xf6, 0x32, 0xce, 0x7b, + 0x20, 0x53, 0x39, 0x3b, 0x6d, 0x62, 0xdb, 0x3c, 0x87, 0xc5, 0x12, 0xa7, 0xa8, 0xf3, 0x70, 0x36, + 0xca, 0x5a, 0xf8, 0xa0, 0xb0, 0xcb, 0x2c, 0xd8, 0x79, 0xa9, 0x71, 0x21, 0x3c, 0xe0, 0xad, 0x7e, + 0xca, 0x5b, 0xa6, 0x52, 0x00, 0x85, 0x4b, 0xf1, 0xad, 0x4e, 0x08, 0xc5, 0xc9, 0x8e, 0xf6, 0xc6, + 0x8c, 0x88, 0x75, 0x0e, 0xaf, 0xdc, 0xde, 0x2a, 0xa9, 0x9b, 0x27, 0xab, 0x38, 0xaa, 0xd1, 0x72, + 0xaa, 0x59, 0xc6, 0x16, 0x6f, 0x40, 0xa3, 0x19, 0x90, 0xf7, 0x06, 0xfd, 0x7a, 0xa7, 0x0b, 0x56, + 0xe1, 0x52, 0x0f, 0xeb, 0x62, 0x6d, 0x3d, 0xd7, 0x8b, 0xb4, 0x39, 0x71, 0xba, 0xa4, 0x1f, 0x2d, + 0xaf, 0xb6, 0xbd, 0xd9, 0x93, 0xb7, 0x2a, 0x19, 0x99, 0x0d, 0xb8, 0xe3, 0xcf, 0x82, 0x08, 0xbf, + 0x7f, 0xe6, 0x36, 0x62, 0xb4, 0x7a, 0x3d, 0x23, 0xbc, 0xcb, 0xb2, 0x0d, 0xc7, 0xed, 0xfd, 0x7a, + 0x61, 0x4a, 0x30, 0xa3, 0xdc, 0xa2, 0x52, 0xe2, 0xe0, 0xb9, 0x58, 0xcc, 0x5b, 0x0d, 0x6b, 0x73, + 0xe8, 0x7f, 0x8c, 0x30, 0x98, 0x0a, 0x03, 0x66, 0x34, 0x03, 0x2c, 0x82, 0x91, 0xbd, 0x67, 0xbc, + 0x7e, 0x0f, 0x1b, 0xdf, 0xa9, 0x1a, 0x35, 0x86, 0x78, 0x09, 0xd5, 0x51, 0x98, 0xc4, 0x9d, 0x69, + 0x42, 0x1b, 0x66, 0x80, 0xf2, 0x69, 0xb0, 0xb2, 0xd1, 0x11, 0xa5, 0xf9, 0x9b, 0x8e, 0x88, 0x5a, + 0xbd, 0x1a, 0x07, 0x4e, 0x1a, 0x30, 0xbf, 0xa0, 0x2d, 0xa6, 0x3c, 0x0d, 0x2d, 0x36, 0x36, 0x09, + 0xa4, 0xb9, 0x1b, 0x88, 0x2e, 0x88, 0xa4, 0x6e, 0x73, 0x8f, 0xc8, 0xce, 0x6d, 0x68, 0xbe, 0xcb, + 0x02, 0xfa, 0xb6, 0x3e, 0xca, 0x60, 0xf7, 0xbe, 0x30, 0xf2, 0x26, 0x50, 0xb9, 0x5e, 0xc8, 0x74, + 0xff, 0xf7, 0xaa, 0x41, 0xa3, 0xac, 0xbe, 0x73, 0x3c, 0xd1, 0xaa, 0x4d, 0xaa, 0xff, 0xd1, 0x99, + 0x34, 0xf5, 0xeb, 0x4e, 0x14, 0x15, 0xd5, 0xb9, 0x7d, 0xe3, 0x50, 0xa7, 0x5b, 0x95, 0x9f, 0x48, + 0x3f, 0x5a, 0x7c, 0xf9, 0xde, 0x11, 0xf8, 0xdf, 0x29, 0x6b, 0xce, 0x80, 0x7c, 0x0c, 0x9a, 0x0f, + 0x6d, 0x91, 0x15, 0x63, 0xd4, 0x11, 0x1c, 0x8a, 0x37, 0xaf, 0x70, 0xda, 0x29, 0x7d, 0x28, 0x46, + 0x7e, 0x06, 0xbb, 0xb7, 0xc5, 0x83, 0x69, 0xaf, 0xa5, 0x1e, 0x22, 0x4c, 0x2d, 0x37, 0x2e, 0x69, + 0x5d, 0xa3, 0x9a, 0x0a, 0x01, 0xc4, 0x24, 0xd8, 0x89, 0xa5, 0xb8, 0x5d, 0x55, 0xac, 0xe3, 0x54, + 0x03, 0xa1, 0xa3, 0x47, 0x1b, 0x52, 0x74, 0x48, 0x6a, 0x20, 0x38, 0x89, 0x53, 0xfd, 0x5c, 0x25, + 0x92, 0xbe, 0x6c, 0xa8, 0xb9, 0xd4, 0xff, 0x9e, 0x7f, 0xe6, 0x22, 0x1d, 0xef, 0xd2, 0x74, 0xb3, + 0xff, 0x9c, 0x8f, 0xac, 0x39, 0x1d, 0xd2, 0xea, 0x32, 0xf7, 0x2e, 0x59, 0x41, 0xd8, 0x6e, 0x24, + 0x99, 0xd2, 0xcb, 0x03, 0x52, 0x0e, 0xa3, 0xae, 0x1f, 0xb7, 0x86, 0x75, 0xc3, 0x18, 0x18, 0x76, + 0xb6, 0xe3, 0xff, 0xcf, 0x3d, 0xd3, 0x30, 0x9f, 0xb4, 0xa9, 0xb8, 0x8e, 0xc6, 0xf8, 0x53, 0x67, + 0x18, 0x11, 0xa8, 0x92, 0x04, 0x9a, 0xd1, 0x9e, 0xb6, 0x50, 0xae, 0x91, 0xca, 0xb1, 0xb2, 0xc4, + 0x3a, 0xd0, 0x78, 0xa0, 0xbc, 0x48, 0xf8, 0x41, 0xee, 0x21, 0x09, 0x48, 0xa4, 0x5b, 0x3d, 0xaf, + 0x7c, 0xda, 0x43, 0x47, 0x2b, 0x64, 0x48, 0x9b, 0xda, 0xfc, 0x9b, 0xba, 0x4d, 0x6c, 0x21, 0xde, + 0x52, 0xe3, 0xd1, 0x0e, 0xb5, 0xff, 0x06, 0xd7, 0x06, 0xc6, 0xa3, 0xc7, 0xc6, 0xd1, 0x1e, 0x0b, + 0x5a, 0xc3, 0x1c, 0x1b, 0x52, 0xfa, 0x2d, 0xb0, 0xb8, 0x15, 0xa7, 0x79, 0xc7, 0x31, 0x31, 0x40, + 0x7c, 0x4c, 0x1c, 0xcc, 0x11, 0xf3, 0x0d, 0x51, 0x29, 0xd4, 0x72, 0xab, 0x56, 0x73, 0xc4, 0x28, + 0x76, 0x07, 0x79, 0x8f, 0x22, 0x19, 0x18, 0x64, 0xbc, 0x4d, 0xad, 0x38, 0x0e, 0x8a, 0x52, 0x4b, + 0x54, 0xe9, 0x95, 0x36, 0xf8, 0x02, 0x94, 0x1f, 0x88, 0x31, 0xc9, 0xd1, 0x21, 0x34, 0x72, 0xc1, + 0x4d, 0x0b, 0xa2, 0xd7, 0xfd, 0xab, 0x39, 0x23, 0xca, 0x3f, 0xf6, 0xb9, 0xd4, 0x4c, 0x5c, 0x13, + 0x69, 0xa5, 0x39, 0xe4, 0x81, 0x28, 0x52, 0xa4, 0xa9, 0x04, 0x12, 0x77, 0x75, 0xf3, 0xa5, 0x12, + 0xae, 0x5d, 0xca, 0x23, 0x7c, 0xa2, 0x78, 0xc9, 0x9f, 0x22, 0xe3, 0x76, 0xb5, 0xf3, 0x4c, 0x83, + 0x56, 0xef, 0x9f, 0xb5, 0x3d, 0x63, 0xea, 0xc0, 0x48, 0xf4, 0x6a, 0x86, 0x38, 0xa6, 0x57, 0xbc, + 0x8b, 0xab, 0x99, 0xe6, 0x6f, 0xc3, 0x3a, 0x9f, 0xa3, 0xfc, 0x1b, 0x6f, 0x3c, 0x55, 0x0b, 0x61, + 0x18, 0x1e, 0xd6, 0x7a, 0x2f, 0x9f, 0x71, 0x98, 0x7d, 0x1b, 0xe0, 0x58, 0xf1, 0x48, 0x54, 0xe1, + 0x43, 0x05, 0x16, 0x3e, 0x1e, 0x14, 0x51, 0x72, 0xb9, 0x9b, 0x73, 0x6c, 0x68, 0xa8, 0xfc, 0x4c, + 0x8d, 0x74, 0xdd, 0x7e, 0xad, 0xb1, 0x3d, 0x8c, 0x38, 0xda, 0x1e, 0x35, 0xe9, 0xc5, 0x92, 0xcd, + 0xee, 0x88, 0xbe, 0xc4, 0xc9, 0xd7, 0xf6, 0xaf, 0x11, 0xbf, 0x56, 0xec, 0x01, 0xbc, 0xea, 0xea, + 0x09, 0xb5, 0x7b, 0xb1, 0x61, 0x6d, 0x59, 0x6c, 0x81, 0x7b, 0x29, 0x36, 0x8a, 0x8f, 0x2a, 0xae, + 0x44, 0x5c, 0xbc, 0x90, 0x24, 0xc5, 0x0a, 0xeb, 0x74, 0xc0, 0x9f, 0x96, 0x5d, 0x40, 0x00, 0xdd, + 0xf3, 0x75, 0x4d, 0xc8, 0xc3, 0x69, 0x2f, 0x5d, 0xc8, 0x1f, 0xc7, 0x23, 0xf8, 0xa6, 0x2c, 0x12, + 0xf2, 0xae, 0x31, 0x32, 0xdb, 0xff, 0xcc, 0x5e, 0x78, 0xfd, 0xf6, 0xa2, 0x3e, 0x91, 0xc7, 0x40, + 0x33, 0x23, 0x70, 0x34, 0xb4, 0xd7, 0x42, 0x67, 0x76, 0x1f, 0xc9, 0xe4, 0xce, 0x64, 0xb4, 0x05, + 0x33, 0x5e, 0x01, 0x1c, 0xe8, 0x20, 0xd9, 0x95, 0xed, 0xd4, 0x21, 0x4e, 0x24, 0x0b, 0xeb, 0x17, + 0x59, 0xb5, 0x13, 0x9c, 0xf1, 0xaf, 0x09, 0xb0, 0xf9, 0x65, 0x54, 0x17, 0xfd, 0x3c, 0x2d, 0x4a, + 0x96, 0xe5, 0x26, 0x18, 0x1f, 0x4b, 0x8c, 0x86, 0xd6, 0x42, 0xcf, 0x70, 0x65, 0x2b, 0x8f, 0x5c, + 0x57, 0xa5, 0x16, 0xd7, 0x71, 0x6f, 0xfc, 0x0d, 0x57, 0x22, 0x78, 0x99, 0x1c, 0x6e, 0xb2, 0xe8, + 0xe6, 0xc2, 0xb6, 0xc6, 0xe1, 0x91, 0x9a, 0xee, 0x1a, 0xd9, 0x20, 0x8e, 0xfb, 0x43, 0xfb, 0x36, + 0x6f, 0xc1, 0x2a, 0x02, 0x62, 0x51, 0x5c, 0x8b, 0x89, 0xff, 0x67, 0x6f, 0x51, 0xca, 0x0f, 0xba, + 0x6f, 0x5a, 0x4b, 0x89, 0x6e, 0x62, 0x87, 0x56, 0x71, 0x1c, 0xe3, 0xd2, 0xb6, 0x41, 0x59, 0x6b, + 0xff, 0xad, 0xee, 0x84, 0x15, 0xbc, 0x74, 0x07, 0xf6, 0x51, 0x35, 0x44, 0x46, 0x8d, 0x2c, 0x20, + 0x43, 0x7d, 0x88, 0x58, 0xd0, 0x66, 0xba, 0x4c, 0x36, 0xbe, 0x73, 0x4c, 0xda, 0x64, 0x0e, 0xd8, + 0xc0, 0x86, 0x66, 0x0e, 0x20, 0x53, 0x6a, 0xbc, 0xa0, 0xb2, 0x2d, 0xd4, 0xd9, 0xb8, 0x85, 0xb8, + 0x0c, 0x1c, 0x42, 0xc6, 0xc5, 0xe5, 0xdb, 0x81, 0x15, 0xdc, 0x4e, 0xc7, 0x79, 0x91, 0x18, 0x56, + 0xc9, 0x0f, 0x07, 0xc5, 0xaa, 0xe3, 0x4e, 0x17, 0x6b, 0x90, 0xed, 0x56, 0x86, 0x8a, 0x89, 0x28, + 0xdb, 0x5e, 0x63, 0x46, 0x5f, 0x09, 0x33, 0xb0, 0x28, 0xae, 0x00, 0x9c, 0xfd, 0x94, 0x8e, 0x53, + 0xee, 0xe6, 0x99, 0x34, 0xe8, 0xeb, 0xec, 0xc2, 0xfa, 0x9c, 0xdc, 0x78, 0x30, 0xfa, 0xf5, 0x26, + 0x0b, 0x0a, 0xa4, 0x13, 0xe8, 0x83, 0x55, 0xae, 0xdc, 0x59, 0x8d, 0x69, 0x58, 0x40, 0xb6, 0xf7, + 0xed, 0xb4, 0x1b, 0x7d, 0xa8, 0x40, 0xd9, 0x89, 0x29, 0x0d, 0x84, 0x1f, 0x64, 0x70, 0xe5, 0xd3, + 0x3d, 0x4f, 0x36, 0x3c, 0x78, 0xf5, 0x82, 0x37, 0x21, 0x4a, 0x93, 0x54, 0xdb, 0x12, 0x5f, 0xb9, + 0xd1, 0x0e, 0xaa, 0x5a, 0x1a, 0x9b, 0xcf, 0x47, 0x1c, 0x41, 0x30, 0x67, 0x6c, 0x5f, 0xae, 0x76, + 0x88, 0xc7, 0x9d, 0xa2, 0x84, 0xbb, 0x27, 0xd4, 0xe9, 0xf1, 0x18, 0x55, 0x68, 0xb9, 0xaf, 0x6e, + 0x5b, 0x21, 0x22, 0x78, 0xca, 0x55, 0x67, 0xa9, 0x73, 0xa7, 0xd3, 0x96, 0x10, 0x62, 0xc7, 0xdc, + 0x24, 0xdc, 0xe1, 0x9f, 0x28, 0xdf, 0x37, 0x94, 0x73, 0x73, 0x25, 0xeb, 0x6e, 0xe4, 0x1c, 0x02, + 0xe7, 0x0a, 0xbb, 0xe9, 0xf1, 0xb8, 0x72, 0xb1, 0x33, 0x85, 0xbb, 0xd9, 0x28, 0xc7, 0x72, 0xa7, + 0x73, 0xb9, 0x6a, 0xe9, 0xec, 0xa6, 0x95, 0x77, 0xbf, 0x04, 0x18, 0x02, 0xc0, 0xb6, 0x6e, 0x48, + 0xd5, 0x5d, 0xce, 0x0b, 0x9f, 0xa4, 0x3e, 0x5c, 0xe1, 0x4c, 0x92, 0x14, 0x3c, 0xf2, 0xb1, 0xc4, + 0x40, 0xb4, 0x83, 0x2f, 0x70, 0xa3, 0x04, 0xaf, 0xeb, 0x8a, 0xcb, 0xf4, 0xff, 0x7d, 0xba, 0xd5, + 0x9c, 0x0d, 0xa5, 0x09, 0xeb, 0x69, 0x8a, 0xef, 0x6b, 0x8d, 0x80, 0xaf, 0xbd, 0x8a, 0xaf, 0xa4, + 0x73, 0x60, 0xdd, 0x90, 0x2b, 0x4c, 0x5e, 0xd6, 0xf0, 0x48, 0x28, 0x48, 0x76, 0xbd, 0x2c, 0x24, + 0x96, 0x9c, 0xb4, 0xde, 0x40, 0x33, 0x3c, 0xcb, 0xa8, 0xaa, 0x48, 0x16, 0xe5, 0xe9, 0x17, 0xb0, + 0x30, 0x83, 0x9d, 0xc9, 0xf5, 0x36, 0xb7, 0xa2, 0xfd, 0x69, 0x02, 0x59, 0x57, 0x10, 0x21, 0xb9, + 0x75, 0x69, 0x9e, 0xe4, 0x5f, 0xdb, 0x15, 0x39, 0x82, 0x30, 0x57, 0x10, 0x0c, 0xb0, 0x4b, 0x2e, + 0x67, 0x35, 0xbb, 0x8e, 0x83, 0x56, 0x49, 0xd2, 0x09, 0x1b, 0x9f, 0xd5, 0x66, 0x47, 0x88, 0xda, + 0xfb, 0x27, 0xe0, 0xc4, 0x98, 0x38, 0xc5, 0x6f, 0x4f, 0x20, 0x8b, 0x7d, 0xc3, 0x43, 0x8e, 0xe5, + 0xe4, 0xb7, 0xa5, 0x37, 0x2d, 0xb8, 0xed, 0x72, 0x7b, 0x64, 0x12, 0xe2, 0xae, 0x7f, 0x42, 0xf2, + 0xea, 0x85, 0x45, 0x19, 0x0f, 0xfa, 0xae, 0x29, 0xe2, 0x22, 0xa7, 0x10, 0x67, 0xf2, 0x6f, 0xf7, + 0x71, 0xe0, 0xbd, 0x2a, 0x20, 0x33, 0x6d, 0xa0, 0x3c, 0x36, 0x70, 0x22, 0x82, 0xc0, 0xa1, 0x4a, + 0x44, 0x22, 0xd5, 0xe3, 0x19, 0x9a, 0xcc, 0xcf, 0xf6, 0xf2, 0x4b, 0x3f, 0xc6, 0xfe, 0x2b, 0x78, + 0xc4, 0x67, 0x1b, 0x03, 0x5b, 0x62, 0xe4, 0x13, 0xef, 0x53, 0xf0, 0x82, 0x6b, 0xa5, 0x23, 0x33, + 0x77, 0x33, 0x37, 0xf6, 0x92, 0x44, 0xbf, 0x11, 0xeb, 0xe4, 0x40, 0xaf, 0x2d, 0x2d, 0x4a, 0x87, + 0xf7, 0x87, 0x11, 0x28, 0xd9, 0x4a, 0x2d, 0x8a, 0xb4, 0x2f, 0xcf, 0x9d, 0x63, 0xea, 0x47, 0x04, + 0xef, 0xea, 0x38, 0xd7, 0xb2, 0xd4, 0x5d, 0xef, 0xc1, 0x92, 0x4c, 0xc6, 0xbd, 0xf8, 0xda, 0x95, + 0xfe, 0x2b, 0x99, 0xaa, 0xb1, 0xee, 0x81, 0xd2, 0xa6, 0x1a, 0x23, 0xb7, 0xf2, 0x62, 0x7a, 0x58, + 0xf8, 0xb7, 0x2a, 0x0d, 0x3b, 0xbd, 0xf2, 0x83, 0x1f, 0x48, 0x4e, 0x63, 0xa7, 0xae, 0x7a, 0x56, + 0x61, 0x82, 0xdb, 0x30, 0xb0, 0x81, 0x9f, 0xa5, 0xb8, 0x41, 0xed, 0xb1, 0xb2, 0x1e, 0x2d, 0x73, + 0xb7, 0x48, 0xc5, 0x7f, 0x5f, 0x3e, 0x33, 0x05, 0x06, 0x6a, 0x29, 0x67, 0x4f, 0x66, 0x7e, 0x0b, + 0xe9, 0x0f, 0x68, 0xb8, 0x6c, 0x89, 0x33, 0x66, 0x74, 0xc6, 0x67, 0x65, 0xca, 0xfe, 0x01, 0x2b, + 0x78, 0x26, 0x1e, 0x79, 0x73, 0x63, 0x0a, 0xda, 0xcb, 0x71, 0x2f, 0x39, 0xc3, 0xf6, 0x15, 0x7e, + 0x80, 0xe1, 0x9b, 0x0e, 0xa1, 0x9d, 0xd7, 0x7c, 0xc3, 0xf9, 0x45, 0x17, 0x24, 0x01, 0xdb, 0xcb, + 0x45, 0x16, 0xc5, 0x4d, 0x9c, 0xda, 0xe8, 0xcc, 0xc6, 0x39, 0x1d, 0xa9, 0x72, 0x56, 0x30, 0x48, + 0x11, 0x56, 0xe7, 0x9e, 0x94, 0x9a, 0x07, 0x94, 0xef, 0x9c, 0x51, 0x71, 0x71, 0xca, 0xd8, 0x4e, + 0xbd, 0xcd, 0xa1, 0xa4, 0x44, 0x76, 0xaf, 0x59, 0x5b, 0xcc, 0x38, 0xd1, 0x03, 0x5e, 0x96, 0xfb, + 0x61, 0xac, 0x67, 0x29, 0x23, 0xa8, 0x48, 0xe9, 0x2d, 0xd1, 0xc2, 0xdd, 0xa3, 0x39, 0x80, 0x1b, + 0x66, 0x8f, 0x8a, 0x8b, 0xfb, 0x30, 0xf2, 0xfe, 0x90, 0xf3, 0x53, 0x66, 0x40, 0xdf, 0xda, 0xef, + 0xf1, 0x19, 0xc2, 0x5d, 0x4d, 0x74, 0x49, 0x51, 0xaf, 0xcb, 0xff, 0x13, 0xc4, 0x54, 0x4c, 0x64, + 0xc5, 0x88, 0x6d, 0x46, 0x8c, 0xe9, 0x96, 0x0a, 0xe2, 0x70, 0xa2, 0x77, 0x6c, 0xe6, 0x89, 0x50, + 0x90, 0xba, 0x62, 0xbe, 0x04, 0xc2, 0x6c, 0x60, 0x59, 0xea, 0xfc, 0x0a, 0xaf, 0x20, 0xbb, 0x8c, + 0xd1, 0x82, 0x6c, 0x75, 0x58, 0x35, 0xa7, 0x88, 0x65, 0x36, 0xe1, 0x6d, 0xb4, 0x10, 0xba, 0xec, + 0x16, 0xc9, 0xf5, 0x23, 0xd4, 0xdb, 0xea, 0x06, 0xb1, 0xc2, 0x6b, 0xfb, 0x56, 0xdf, 0xcf, 0xe3, + 0x15, 0x21, 0x9c, 0x6d, 0x39, 0xb1, 0xe1, 0x2f, 0x9b, 0x60, 0xc1, 0x8d, 0xb7, 0x8f, 0x2c, 0xd2, + 0x8b, 0x12, 0xd1, 0x86, 0xa3, 0xd9, 0xf8, 0x19, 0xcc, 0xd2, 0x1c, 0xc0, 0x04, 0x13, 0x5d, 0xc6, + 0x3c, 0x2c, 0x75, 0x5e, 0x21, 0xd9, 0x45, 0x79, 0x71, 0x3c, 0x17, 0x1e, 0xfd, 0x2d, 0xf1, 0x53, + 0xb9, 0xae, 0xd1, 0x47, 0xa2, 0x0a, 0xe3, 0x6d, 0x53, 0xfc, 0x5c, 0x18, 0xc1, 0xfc, 0x30, 0x1e, + 0x7f, 0x37, 0x42, 0xe8, 0xf6, 0x5a, 0x59, 0xba, 0x27, 0xd2, 0x10, 0x2c, 0x29, 0xc7, 0xc4, 0x84, + 0x5e, 0xf6, 0xb4, 0x0a, 0xdb, 0xab, 0x26, 0x96, 0x18, 0x6a, 0x62, 0xc3, 0xd2, 0x56, 0x90, 0x19, + 0xcd, 0x59, 0x8f, 0x33, 0x36, 0x05, 0x7c, 0xa2, 0xb7, 0xd8, 0x9b, 0x44, 0xe2, 0x7d, 0xf2, 0xd3, + 0x4f, 0x7c, 0x2c, 0xd6, 0x7c, 0xd0, 0x33, 0x5d, 0x7f, 0x41, 0x6d, 0xf4, 0xcb, 0xfc, 0x26, 0x7e, + 0x30, 0x11, 0xc1, 0xeb, 0x03, 0xac, 0xee, 0xd5, 0x59, 0x2e, 0x84, 0xa1, 0x36, 0x70, 0x6b, 0x2f, + 0xc4, 0x0e, 0x67, 0x3c, 0xde, 0xce, 0x38, 0x7b, 0x37, 0x87, 0xa6, 0x39, 0x41, 0x9a, 0xab, 0x16, + 0x54, 0x00, 0x0a, 0xc0, 0x61, 0x99, 0x46, 0x86, 0x11, 0x9a, 0x1e, 0x0e, 0xd2, 0x3d, 0x20, 0xac, + 0x45, 0x04, 0x1f, 0x2d, 0xff, 0xa4, 0xca, 0x06, 0x32, 0x12, 0x8a, 0x10, 0x6e, 0xf1, 0x98, 0x0c, + 0x1a, 0x8a, 0xf0, 0x6c, 0x1d, 0x82, 0x4d, 0x7c, 0x7e, 0x0a, 0xbc, 0x75, 0x7b, 0xb9, 0x42, 0x8b, + 0xc2, 0xad, 0x4c, 0x4d, 0x39, 0x5e, 0xa0, 0xef, 0xef, 0x65, 0xf2, 0x60, 0xc2, 0xc6, 0xde, 0x5a, + 0x40, 0xe3, 0x6c, 0xea, 0x31, 0x0b, 0x82, 0x7c, 0x27, 0x61, 0xfa, 0xa1, 0x23, 0x5a, 0xa2, 0xe3, + 0x12, 0xd7, 0x4c, 0x5b, 0x3d, 0x81, 0xcd, 0x14, 0xb6, 0x8e, 0x71, 0x67, 0x9c, 0x01, 0xd7, 0xf9, + 0x46, 0x27, 0xd0, 0x0c, 0xe8, 0x95, 0xbe, 0x59, 0x18, 0x83, 0x8f, 0xa0, 0x79, 0x67, 0x02, 0x88, + 0x11, 0xc0, 0x8a, 0x39, 0xf6, 0xde, 0x38, 0xbf, 0x65, 0xe9, 0xfb, 0x19, 0x82, 0x69, 0x1f, 0x9b, + 0xc1, 0xf0, 0x92, 0x08, 0xb7, 0xd6, 0x58, 0x3d, 0xa8, 0x3e, 0x4f, 0xd2, 0x11, 0x65, 0xbb, 0x2f, + 0xb6, 0x64, 0x28, 0xdb, 0xff, 0x64, 0x31, 0xa6, 0x24, 0xf0, 0xd2, 0xd0, 0xc7, 0x13, 0x08, 0x09, + 0x2a, 0x3e, 0xb0, 0xc7, 0xe0, 0x58, 0x18, 0x35, 0x2e, 0x69, 0xd1, 0x94, 0x93, 0x0f, 0xac, 0xcd, + 0x5f, 0x65, 0x99, 0xc5, 0x41, 0x00, 0xd1, 0x7d, 0x27, 0x3b, 0x9a, 0x94, 0x0f, 0x38, 0x06, 0x76, + 0xa1, 0x9b, 0x58, 0x22, 0x83, 0x6b, 0xae, 0xa8, 0x12, 0xf4, 0xab, 0x26, 0x4a, 0xcc, 0xc3, 0x2f, + 0x8a, 0x4c, 0x1b, 0x99, 0x89, 0x1a, 0xa0, 0xb0, 0x4e, 0x58, 0xd8, 0xba, 0x49, 0x8e, 0x28, 0xd7, + 0xd8, 0x74, 0xcc, 0x53, 0xe6, 0x5a, 0xc9, 0x86, 0x21, 0x1f, 0x54, 0x88, 0x3c, 0x30, 0x65, 0xc3, + 0x4f, 0x24, 0x0d, 0x5d, 0xb0, 0x57, 0x8f, 0x10, 0xf1, 0x38, 0xbf, 0xad, 0x0b, 0xae, 0x31, 0x85, + 0x03, 0xce, 0xd1, 0x11, 0xea, 0x69, 0x19, 0x11, 0x68, 0x05, 0xa8, 0x30, 0xed, 0xa8, 0x1b, 0x26, + 0x88, 0x27, 0xe0, 0xa9, 0x4f, 0x81, 0xd1, 0xd8, 0x64, 0xb8, 0xbb, 0x83, 0x63, 0x85, 0x30, 0xf9, + 0xcf, 0x2d, 0x92, 0xa7, 0xdc, 0x29, 0x14, 0x09, 0x1f, 0xee, 0xc3, 0xde, 0xee, 0x41, 0x88, 0x9c, + 0x74, 0x1c, 0x52, 0xaf, 0x51, 0xed, 0x5a, 0x92, 0x4b, 0x8e, 0xd2, 0x46, 0x32, 0x7b, 0x99, 0x85, + 0xd5, 0x42, 0x37, 0x70, 0xa3, 0xde, 0xd8, 0x10, 0xd4, 0xff, 0x9d, 0x07, 0xc4, 0xad, 0xc8, 0xeb, + 0xbf, 0x43, 0xe8, 0x3d, 0x88, 0xb0, 0xca, 0xf3, 0xae, 0x2f, 0x86, 0x5d, 0xc8, 0x8d, 0xa7, 0x8f, + 0xb7, 0xd6, 0x70, 0x12, 0xe6, 0x3a, 0xf1, 0xe6, 0x4b, 0xf7, 0x71, 0x36, 0xf5, 0xc4, 0xf0, 0x03, + 0x33, 0x6a, 0x4f, 0xa6, 0x01, 0x2a, 0x69, 0xb5, 0x6d, 0x0c, 0xcc, 0x38, 0x56, 0xa8, 0x6f, 0x44, + 0xf9, 0xa3, 0x72, 0x20, 0xc1, 0x4c, 0xc0, 0x8a, 0x82, 0x68, 0xe5, 0x74, 0x08, 0x5d, 0x86, 0x58, + 0x19, 0x15, 0xa6, 0xcc, 0xd3, 0x79, 0x38, 0x8f, 0x65, 0x96, 0x71, 0x86, 0xf6, 0xfa, 0x6d, 0xbb, + 0xa2, 0x6e, 0xa5, 0x27, 0x4a, 0xdd, 0x50, 0x9f, 0xcc, 0x74, 0x4f, 0x08, 0x28, 0x77, 0x8b, 0xa5, + 0x4b, 0x65, 0x21, 0xc5, 0x4c, 0xac, 0xc6, 0x5b, 0x8f, 0x94, 0xd7, 0x05, 0x92, 0x5e, 0x36, 0xed, + 0x7f, 0xe6, 0x6a, 0x11, 0x88, 0x68, 0xe6, 0xab, 0x22, 0x27, 0x34, 0x5a, 0xeb, 0x97, 0x33, 0x32, + 0x46, 0x9c, 0x45, 0x7e, 0x53, 0x7f, 0x6c, 0x54, 0x0f, 0x70, 0xab, 0x00, 0xfc, 0x7c, 0x96, 0xcc, + 0x56, 0xd8, 0xcc, 0x6e, 0x96, 0x59, 0x46, 0x44, 0xe0, 0x3d, 0xab, 0xc1, 0x48, 0xb0, 0xea, 0x97, + 0x55, 0x1c, 0x5d, 0xff, 0xa4, 0x70, 0x6b, 0xab, 0x0c, 0x46, 0xc4, 0x9f, 0x74, 0x63, 0x6a, 0xbf, + 0x8f, 0x53, 0x17, 0xa1, 0xa3, 0x9d, 0x61, 0x9d, 0xf5, 0xfd, 0x38, 0xc0, 0x0f, 0x32, 0x7a, 0xfb, + 0x34, 0xdb, 0x97, 0x90, 0xc1, 0x12, 0xec, 0x87, 0xd6, 0x07, 0xdb, 0x40, 0x4d, 0xc8, 0x07, 0x03, + 0x66, 0x4d, 0xaf, 0x6b, 0x59, 0xa5, 0x57, 0xf7, 0xaa, 0x1d, 0x79, 0xac, 0xa2, 0x29, 0xad, 0xc0, + 0x46, 0x52, 0x82, 0xbb, 0xe7, 0x0f, 0x29, 0x7d, 0xda, 0x21, 0x29, 0xff, 0xd9, 0x38, 0xf3, 0x17, + 0x7f, 0x44, 0xd4, 0x54, 0x62, 0x06, 0x05, 0x1d, 0x19, 0xc4, 0x17, 0x87, 0x65, 0x95, 0x04, 0x20, + 0x58, 0x47, 0x20, 0x4a, 0x8a, 0x1d, 0x09, 0x9e, 0xb9, 0xcb, 0xb1, 0xec, 0xb7, 0xad, 0xd5, 0x57, + 0xd0, 0xb4, 0x33, 0xa1, 0x6f, 0x2a, 0x5f, 0xf3, 0xa8, 0x08, 0x62, 0xdd, 0xa6, 0xa9, 0xf7, 0x1d, + 0xfa, 0x2e, 0x6d, 0x5c, 0x23, 0x5d, 0x82, 0xa6, 0x9a, 0x3b, 0xba, 0x5a, 0x90, 0x81, 0xea, 0x61, + 0x79, 0x36, 0xaa, 0x38, 0x3b, 0x16, 0x03, 0x18, 0x9d, 0x6d, 0x2c, 0x25, 0xfe, 0x3a, 0x95, 0xa1, + 0x9c, 0x9e, 0x82, 0x83, 0xaa, 0x7b, 0xfa, 0xaa, 0x17, 0xe2, 0x2c, 0xe5, 0x08, 0xe0, 0x63, 0x3e, + 0x7e, 0x2a, 0x64, 0x2e, 0x82, 0xea, 0x04, 0x74, 0x67, 0xbf, 0xd7, 0x22, 0x4b, 0x94, 0xc6, 0xa9, + 0xff, 0x7b, 0xbd, 0xda, 0x93, 0x5e, 0x55, 0xe4, 0xae, 0xc5, 0x3b, 0xb3, 0xf9, 0x31, 0x63, 0x28, + 0x9c, 0x44, 0x49, 0x5f, 0xe2, 0x23, 0xc6, 0x2d, 0x49, 0x2f, 0x9b, 0xd5, 0xca, 0x02, 0x16, 0xfc, + 0x5b, 0x98, 0xa6, 0x40, 0x11, 0x65, 0xf3, 0x42, 0x28, 0x59, 0x3f, 0x36, 0x47, 0xf5, 0x0f, 0xdc, + 0x00, 0x2e, 0x8a, 0x23, 0xb7, 0xf2, 0xd4, 0xa7, 0x62, 0xbb, 0x72, 0x2b, 0x48, 0xce, 0xf7, 0xa0, + 0x2d, 0x90, 0xd9, 0xa4, 0xc2, 0x88, 0x2b, 0x6d, 0x9f, 0x9b, 0x23, 0xfd, 0x49, 0x4d, 0x45, 0x17, + 0xd7, 0xeb, 0x66, 0x48, 0x12, 0xbc, 0xe4, 0x56, 0x4e, 0x58, 0x95, 0x06, 0x7e, 0x93, 0x32, 0xd2, + 0x0b, 0x67, 0x80, 0x9c, 0x05, 0xaf, 0x7f, 0x9d, 0xbb, 0x9b, 0x49, 0x21, 0xcc, 0x33, 0x2a, 0x70, + 0x62, 0x06, 0x21, 0x8f, 0x59, 0x98, 0x28, 0xdc, 0x88, 0x25, 0xf5, 0xba, 0x43, 0x9d, 0x30, 0x9a, + 0x3f, 0x8d, 0xef, 0xd9, 0x9f, 0xf5, 0x89, 0xce, 0x40, 0xe0, 0x6a, 0x4c, 0x87, 0xf6, 0xd1, 0x32, + 0xc5, 0x9a, 0xbf, 0xd1, 0x58, 0xae, 0xc3, 0x82, 0xd7, 0xce, 0x68, 0x0e, 0xd1, 0x9a, 0xc6, 0x8e, + 0xa4, 0xd9, 0xb1, 0x90, 0x95, 0x6f, 0x23, 0x54, 0x55, 0xaa, 0x38, 0xad, 0x3f, 0x2e, 0x55, 0x01, + 0x1d, 0xfe, 0xd6, 0x94, 0xf7, 0xf3, 0xf2, 0x99, 0xa8, 0x8d, 0x7d, 0x0e, 0x11, 0x6a, 0xe3, 0xd6, + 0x15, 0xec, 0xff, 0x7c, 0x7e, 0xa7, 0x7b, 0x0a, 0x26, 0x8c, 0x28, 0x89, 0xd4, 0x52, 0x28, 0x84, + 0x42, 0x1b, 0xe7, 0x4d, 0xac, 0x20, 0x75, 0x84, 0x6c, 0xf6, 0xa2, 0x90, 0x5e, 0xa8, 0xd9, 0x4c, + 0xf5, 0x48, 0x94, 0x78, 0xdf, 0x83, 0xe0, 0x55, 0xb9, 0xb4, 0x9b, 0x7b, 0xc9, 0x69, 0x24, 0xec, + 0x41, 0x2e, 0x2d, 0xab, 0x1d, 0x22, 0x24, 0xfd, 0x80, 0x42, 0x1a, 0x0c, 0xab, 0xa4, 0x05, 0xf8, + 0x81, 0xba, 0x6a, 0x9c, 0xd0, 0xdc, 0x3f, 0x7b, 0x9a, 0x3e, 0x79, 0xb0, 0x0e, 0x5c, 0x66, 0x28, + 0x6a, 0x1f, 0xab, 0x40, 0x59, 0x1c, 0x00, 0xae, 0xbb, 0xe0, 0x7d, 0x7d, 0xb1, 0xd9, 0x89, 0xe0, + 0x07, 0xd3, 0xf7, 0x10, 0x17, 0x2a, 0xac, 0xe3, 0x95, 0x82, 0x6a, 0xf7, 0xaa, 0x5d, 0x28, 0xaa, + 0xb1, 0xc5, 0x98, 0xf7, 0x14, 0x7e, 0x06, 0xae, 0x94, 0xd5, 0x01, 0x3d, 0x65, 0x00, 0x76, 0xf3, + 0x03, 0xaf, 0x83, 0x87, 0x76, 0xec, 0xec, 0xc3, 0xed, 0x1f, 0xd1, 0x76, 0xbb, 0x82, 0x85, 0x15, + 0xf9, 0xbf, 0xcb, 0x40, 0x55, 0x37, 0x6e, 0xdf, 0xf0, 0xad, 0x06, 0x9b, 0x3a, 0x2d, 0x59, 0x36, + 0x41, 0x99, 0xa2, 0x63, 0x96, 0x51, 0xb9, 0x2b, 0x17, 0x04, 0x7d, 0x37, 0x51, 0x14, 0x14, 0x46, + 0xaa, 0x55, 0x94, 0x44, 0x94, 0x1d, 0xde, 0xd3, 0xa0, 0xb4, 0x91, 0x7b, 0x2e, 0xa1, 0x91, 0xa3, + 0xb0, 0x19, 0xc7, 0xe9, 0xa8, 0x35, 0x2a, 0xf6, 0xbe, 0x23, 0xf7, 0xb9, 0xa7, 0x70, 0x0e, 0x8d, + 0xc4, 0x6e, 0x50, 0x61, 0x78, 0xf5, 0x96, 0x5f, 0x63, 0xe7, 0x75, 0x8c, 0xda, 0x59, 0x4a, 0x73, + 0x1a, 0xd1, 0x21, 0x35, 0xe0, 0x26, 0x04, 0x78, 0x5a, 0x0f, 0x02, 0x07, 0xd2, 0xe2, 0x33, 0x8a, + 0xc8, 0xb8, 0x77, 0x1c, 0xa4, 0x30, 0x04, 0x98, 0x80, 0xd6, 0x13, 0x02, 0xc2, 0x82, 0x6c, 0x8f, + 0x94, 0x00, 0xad, 0x4f, 0x43, 0x0c, 0xf0, 0x55, 0x60, 0x8e, 0xd1, 0xd8, 0x25, 0x70, 0x07, 0x5d, + 0x79, 0x45, 0x65, 0xb7, 0xa0, 0x33, 0xa7, 0x53, 0x40, 0x2e, 0x02, 0x6c, 0x60, 0x66, 0xc1, 0x78, + 0xc3, 0x1b, 0x56, 0x6e, 0xe8, 0x65, 0x53, 0x57, 0x6f, 0xe8, 0xad, 0x61, 0xe6, 0xf6, 0x78, 0x5a, + 0x8a, 0x28, 0x9d, 0x5b, 0x32, 0x4b, 0x5c, 0xbd, 0xcb, 0xb8, 0x7a, 0x42, 0x2f, 0xb2, 0x7a, 0xec, + 0xc1, 0x86, 0x3f, 0x71, 0x7c, 0x1d, 0xce, 0x53, 0xf3, 0x2e, 0x72, 0x65, 0x56, 0xab, 0xff, 0x2f, + 0xec, 0x43, 0x0b, 0xee, 0x00, 0x5e, 0xd2, 0x8c, 0xbc, 0x58, 0x90, 0xc2, 0xbb, 0x0a, 0xb0, 0x5f, + 0x42, 0xf1, 0xc0, 0x9b, 0xac, 0xa7, 0xce, 0x0c, 0x22, 0x29, 0x12, 0x05, 0xdb, 0x58, 0xb4, 0xe1, + 0x81, 0xc8, 0xca, 0x13, 0xf5, 0xf5, 0xdc, 0x15, 0xc4, 0x69, 0x6e, 0x1b, 0xe8, 0xb4, 0x0d, 0x6a, + 0x14, 0x9f, 0x14, 0x52, 0xa5, 0xbc, 0xa8, 0x74, 0x85, 0x7d, 0xcc, 0x8f, 0x12, 0xc7, 0x3d, 0x47, + 0x8d, 0xf5, 0x5f, 0x78, 0x7b, 0x9b, 0x4a, 0x4e, 0x88, 0xf8, 0x02, 0xb1, 0xaa, 0x9e, 0x24, 0xf9, + 0xcc, 0x2d, 0x83, 0x56, 0xd4, 0x44, 0x8b, 0x2c, 0x1c, 0x03, 0x00, 0xb8, 0x6e, 0x79, 0xd0, 0x22, + 0xc7, 0xa4, 0x7f, 0xb2, 0xce, 0xf4, 0x86, 0x69, 0x17, 0x6c, 0xe7, 0x9e, 0xd6, 0xf3, 0xe7, 0x7d, + 0x6a, 0x7b, 0x3b, 0xb1, 0xee, 0x2f, 0x61, 0x2f, 0x1c, 0x7f, 0x06, 0x6c, 0xa6, 0xbd, 0xb4, 0xa1, + 0xab, 0x45, 0x48, 0x53, 0x7d, 0xb0, 0x6b, 0xdd, 0xe1, 0x17, 0x79, 0x49, 0x0f, 0x3b, 0x60, 0x86, + 0xad, 0x1f, 0x4c, 0x6f, 0xd5, 0x9f, 0x1c, 0x29, 0xf4, 0x52, 0xc0, 0x66, 0x30, 0x00, 0x7b, 0x86, + 0x3e, 0x82, 0x6f, 0x87, 0xd1, 0x61, 0x44, 0x89, 0x36, 0x55, 0x1c, 0x1d, 0x2a, 0xb3, 0xf0, 0xa2, + 0x63, 0x7a, 0xc7, 0xd6, 0x77, 0xed, 0xf0, 0x32, 0x99, 0x17, 0x67, 0xd9, 0x5e, 0x58, 0xd4, 0x6d, + 0xb0, 0x89, 0xd1, 0x2b, 0x44, 0x97, 0x09, 0xd4, 0x0c, 0x51, 0x18, 0x9c, 0x1f, 0x91, 0xa8, 0x83, + 0xf6, 0x80, 0xed, 0xe1, 0x0d, 0x68, 0xca, 0xaf, 0x00, 0x89, 0x74, 0x5f, 0x94, 0xd3, 0x8e, 0xce, + 0x1f, 0xb3, 0x90, 0x85, 0xb5, 0x49, 0x58, 0xda, 0xd2, 0x16, 0x29, 0x19, 0xdc, 0x6a, 0xe6, 0x1b, + 0x2f, 0xa3, 0x15, 0x36, 0xb1, 0x68, 0x65, 0x56, 0x2c, 0x74, 0x55, 0x73, 0x57, 0x47, 0xa0, 0x90, + 0x65, 0x50, 0x49, 0xa7, 0xab, 0x5c, 0xd7, 0xc1, 0x10, 0xd7, 0x17, 0x04, 0x76, 0xfb, 0xbe, 0x38, + 0x16, 0xcb, 0x0e, 0x50, 0xb3, 0x61, 0x4f, 0x38, 0x42, 0x0c, 0x65, 0x71, 0xb2, 0x24, 0x1b, 0xd9, + 0xa5, 0x24, 0x38, 0x8b, 0x4c, 0xe2, 0x32, 0xe3, 0xbe, 0x37, 0x42, 0x04, 0xc0, 0x47, 0x10, 0xf9, + 0xd7, 0x75, 0x3a, 0x39, 0x96, 0xb0, 0x83, 0xc9, 0x25, 0xbe, 0xbe, 0xb6, 0xd7, 0xdc, 0xcb, 0xd6, + 0x29, 0x54, 0x77, 0x87, 0xfe, 0x60, 0x78, 0xdf, 0x31, 0x91, 0x2c, 0x40, 0xc6, 0x67, 0xfb, 0x59, + 0x4c, 0x33, 0x37, 0xb5, 0x60, 0xef, 0xfc, 0x15, 0x98, 0xa6, 0xc7, 0x82, 0xda, 0xa7, 0x01, 0xd9, + 0xe9, 0x43, 0xea, 0x59, 0xa9, 0xdb, 0x74, 0x71, 0xd7, 0x71, 0xfe, 0x2a, 0x30, 0x64, 0xf8, 0xcf, + 0x0a, 0xb9, 0x05, 0x5b, 0xf9, 0xdc, 0x65, 0x2a, 0xe2, 0x3a, 0xa8, 0xa1, 0x3e, 0xe5, 0xa0, 0x02, + 0xf5, 0xb5, 0x19, 0x85, 0xf8, 0x4d, 0x3d, 0xb2, 0x7c, 0x88, 0x39, 0xe3, 0xc4, 0x8b, 0xa9, 0x66, + 0xff, 0x04, 0x5a, 0xca, 0x1e, 0xd1, 0xb2, 0xb1, 0x87, 0x65, 0xfc, 0x96, 0x99, 0xb4, 0x3e, 0x81, + 0x7d, 0x48, 0x35, 0x6d, 0xbc, 0x9e, 0x75, 0xbb, 0x44, 0x93, 0x03, 0x6f, 0xfb, 0x44, 0x5a, 0x70, + 0x31, 0x0a, 0x83, 0x12, 0xd7, 0xd6, 0xe8, 0x60, 0x23, 0x7c, 0x67, 0x93, 0x08, 0x58, 0xfb, 0xf4, + 0xa7, 0x0d, 0xe3, 0xf9, 0x16, 0xc8, 0x40, 0xb5, 0xad, 0x03, 0x1a, 0x03, 0x15, 0xee, 0x62, 0xc2, + 0xf4, 0x3a, 0x9a, 0x74, 0x5b, 0xf0, 0x2e, 0x85, 0xcc, 0x02, 0x5e, 0x8a, 0x73, 0xc4, 0x13, 0x5b, + 0xef, 0x40, 0x6e, 0x70, 0x98, 0x5c, 0xc2, 0xda, 0xa0, 0xd6, 0x71, 0xc7, 0xf8, 0x66, 0x35, 0x14, + 0xc7, 0x77, 0x3d, 0x36, 0x23, 0x51, 0x11, 0x11, 0xad, 0x89, 0xfb, 0x0a, 0x83, 0xbc, 0x9c, 0xaa, + 0x7e, 0xd5, 0x2d, 0x9b, 0x39, 0x54, 0xbe, 0x9b, 0xed, 0x63, 0x36, 0x5f, 0xab, 0xb9, 0x8a, 0x44, + 0x2b, 0x53, 0x4f, 0x52, 0x8e, 0xb7, 0xbd, 0x3c, 0x9a, 0xb4, 0xf9, 0xa3, 0x22, 0x0e, 0xa2, 0x5b, + 0xb8, 0xfa, 0x43, 0xe5, 0x86, 0x90, 0xc8, 0x72, 0x9f, 0x98, 0xac, 0xc3, 0xaf, 0x34, 0xd9, 0xb8, + 0xa0, 0x53, 0x45, 0x41, 0x3a, 0x46, 0x5d, 0x9b, 0x4e, 0x3a, 0xa3, 0x23, 0xf4, 0x8a, 0x90, 0xa1, + 0xed, 0x19, 0x75, 0x29, 0xad, 0xd0, 0x0b, 0x8d, 0x4e, 0xa0, 0x5f, 0x5e, 0x75, 0x0e, 0xf2, 0xc5, + 0x28, 0x9d, 0xf0, 0xdd, 0xab, 0x84, 0xa0, 0x58, 0xaf, 0x64, 0xc3, 0xc1, 0xd0, 0x5d, 0x6d, 0xdf, + 0xd0, 0xdb, 0x4f, 0x1f, 0x18, 0x6e, 0x8f, 0x9c, 0xdf, 0x7b, 0x8d, 0x31, 0x51, 0xd6, 0x40, 0x17, + 0x0f, 0xff, 0x24, 0xd6, 0xec, 0xcf, 0x18, 0xfc, 0xa2, 0x3c, 0x73, 0x68, 0x85, 0xdd, 0x3c, 0xcc, + 0xf9, 0xae, 0x48, 0xf6, 0x27, 0x01, 0x7e, 0x44, 0xaa, 0x4b, 0xfc, 0x92, 0x48, 0xc1, 0x6b, 0x79, + 0xc9, 0xfb, 0x32, 0x52, 0x91, 0x4a, 0x31, 0xd8, 0x3c, 0xe2, 0x1e, 0x5d, 0x08, 0xf5, 0xb6, 0x2b, + 0xe5, 0x45, 0x14, 0xbf, 0x07, 0x93, 0x92, 0xf4, 0xb6, 0x3b, 0x20, 0x0d, 0x99, 0x01, 0xd0, 0xa4, + 0xec, 0xe3, 0x32, 0x9d, 0x18, 0xef, 0xd4, 0xaf, 0xea, 0x33, 0x1e, 0x9b, 0x1c, 0x85, 0x78, 0x46, + 0x6b, 0x26, 0x63, 0x0d, 0x6f, 0xad, 0x56, 0xcb, 0x9a, 0x18, 0xff, 0xdf, 0x3f, 0x24, 0xa4, 0x56, + 0xbe, 0xc4, 0x6a, 0xd6, 0xfc, 0x68, 0x93, 0x60, 0xf5, 0x50, 0xf2, 0xd1, 0x67, 0xf7, 0x20, 0x5b, + 0x43, 0xe5, 0x81, 0x41, 0xd4, 0x80, 0xa0, 0xca, 0x83, 0x50, 0x00, 0xd4, 0x6e, 0xc0, 0xb2, 0x72, + 0xa0, 0x85, 0x0a, 0x34, 0x58, 0xbc, 0x78, 0x90, 0x88, 0x6e, 0x10, 0xf3, 0x22, 0xd4, 0x3a, 0xda, + 0x8e, 0xce, 0x26, 0x77, 0x1b, 0x9d, 0x06, 0x82, 0x90, 0x17, 0xc4, 0x6c, 0x1a, 0x9a, 0xdf, 0x5a, + 0x53, 0xba, 0x41, 0x50, 0x3c, 0x77, 0x97, 0x4b, 0xb9, 0x1f, 0x70, 0x57, 0x0e, 0xda, 0x0d, 0x1a, + 0xcc, 0x57, 0x23, 0x08, 0x6b, 0x1e, 0x47, 0xca, 0x2b, 0x25, 0xa3, 0xd9, 0x67, 0xee, 0x26, 0xa2, + 0x52, 0x7c, 0xba, 0x73, 0xd4, 0xf9, 0xcd, 0x9a, 0x0f, 0x5d, 0xc2, 0xb3, 0xc3, 0x06, 0x5b, 0x1f, + 0x95, 0x8e, 0x12, 0x0e, 0x7f, 0x01, 0x6f, 0x43, 0xec, 0xde, 0x03, 0xe6, 0xfc, 0xe6, 0x7f, 0xcb, + 0xa2, 0xf7, 0x67, 0xc8, 0x04, 0xce, 0xec, 0xfb, 0x3d, 0xc3, 0x27, 0x41, 0xed, 0x9f, 0x8a, 0x6c, + 0xe1, 0x69, 0x23, 0xea, 0x0f, 0xa2, 0x4a, 0xf3, 0x6f, 0x6c, 0x23, 0x96, 0x6e, 0x55, 0xaa, 0x18, + 0x89, 0xfa, 0x86, 0x13, 0x06, 0x82, 0x32, 0x3e, 0x9f, 0x7b, 0x79, 0x94, 0xe7, 0xe4, 0x95, 0xf6, + 0x84, 0xb8, 0xe4, 0xd2, 0x2b, 0x5f, 0x5b, 0xf1, 0x9f, 0x3e, 0xe2, 0x66, 0x33, 0xa3, 0x50, 0x53, + 0x04, 0x98, 0x53, 0x3c, 0xd8, 0x67, 0x98, 0xbc, 0xda, 0xbd, 0xe5, 0x6f, 0xbd, 0x60, 0x00, 0xca, + 0x10, 0xef, 0x51, 0x62, 0xd3, 0xba, 0x60, 0xac, 0xb5, 0x99, 0x29, 0x12, 0xc8, 0x27, 0xf6, 0x2b, + 0x3f, 0x35, 0xc6, 0xab, 0xce, 0xb8, 0x19, 0xd3, 0x12, 0xbd, 0xf6, 0x38, 0xf5, 0x11, 0xd8, 0xd4, + 0x08, 0xf2, 0x0f, 0x89, 0xe3, 0x35, 0xa7, 0x1d, 0x3d, 0xdf, 0x2d, 0x35, 0x68, 0x28, 0x4b, 0xd9, + 0x0d, 0xf6, 0xfe, 0xd0, 0x18, 0xc2, 0x5f, 0xa3, 0x58, 0x6a, 0x2d, 0x16, 0xf7, 0x43, 0x34, 0xde, + 0x50, 0x22, 0x2e, 0xd3, 0xf6, 0x1f, 0x2c, 0x8d, 0xfd, 0x76, 0xf1, 0xb8, 0xaf, 0x51, 0x6b, 0xea, + 0x31, 0xcf, 0x11, 0xbf, 0x98, 0xf2, 0xc7, 0x39, 0xf1, 0x41, 0x53, 0x64, 0xd7, 0x68, 0x9e, 0x04, + 0x5e, 0x25, 0x55, 0x3e, 0x65, 0x81, 0x73, 0x73, 0xde, 0x7d, 0x18, 0x15, 0x9f, 0xab, 0xdd, 0xf2, + 0xa3, 0x28, 0x4b, 0x54, 0x99, 0xb9, 0x97, 0x4d, 0xf5, 0xc7, 0xa7, 0xae, 0xa7, 0x10, 0xe4, 0x63, + 0x29, 0x90, 0x3c, 0xe0, 0x74, 0xc8, 0xc0, 0x95, 0x7a, 0x4d, 0x86, 0x98, 0x8c, 0xe3, 0x14, 0x0e, + 0x0c, 0xc0, 0x8c, 0x04, 0x39, 0xf9, 0xa8, 0x14, 0x3f, 0x58, 0x07, 0x6f, 0x68, 0xd8, 0x14, 0xba, + 0xfe, 0x2d, 0x0e, 0x13, 0xb8, 0xec, 0xdd, 0xc8, 0xdb, 0xff, 0xe3, 0x0b, 0x61, 0x9a, 0x01, 0x2c, + 0x9a, 0xe5, 0x0c, 0x23, 0x4e, 0x46, 0xb9, 0x8f, 0xaf, 0xbb, 0xea, 0x60, 0xc7, 0x7a, 0x5d, 0xc2, + 0x52, 0x04, 0x5c, 0xc6, 0x27, 0xcb, 0xd8, 0x8f, 0xe4, 0xed, 0xf7, 0x39, 0xac, 0xd8, 0x28, 0xd6, + 0xed, 0x9c, 0xe0, 0x15, 0xbb, 0x2d, 0xce, 0x42, 0x63, 0x85, 0xda, 0x75, 0xd9, 0x86, 0x1c, 0x57, + 0x24, 0x7d, 0x90, 0x99, 0x56, 0x6a, 0xe6, 0x83, 0x3b, 0xf8, 0x84, 0x74, 0xf6, 0x06, 0xb7, 0x01, + 0x9b, 0x48, 0x6b, 0x38, 0x36, 0x2b, 0xe8, 0x16, 0xa8, 0x88, 0x8b, 0x67, 0x38, 0x39, 0x12, 0xab, + 0x91, 0x4e, 0x53, 0xa0, 0x05, 0x35, 0xe4, 0x9a, 0x59, 0x69, 0xe0, 0xb9, 0x1c, 0x88, 0x5f, 0x1c, + 0xad, 0x6b, 0xb6, 0xe2, 0x1a, 0x60, 0x33, 0xf5, 0x49, 0x7d, 0xfe, 0xd4, 0x0f, 0xe5, 0x09, 0xcd, + 0xb7, 0x6b, 0x8d, 0xea, 0x5e, 0x08, 0x71, 0x43, 0xe1, 0x4a, 0x66, 0x8c, 0x75, 0xc2, 0x59, 0xfe, + 0xee, 0x92, 0xc1, 0xce, 0x2c, 0x7b, 0x59, 0x5f, 0xce, 0x5f, 0xb5, 0xca, 0x4d, 0x7d, 0x41, 0xc4, + 0x8e, 0xd6, 0x71, 0xd6, 0x6d, 0x58, 0x14, 0xad, 0x4d, 0x9e, 0xb0, 0x0f, 0x79, 0x14, 0xef, 0x7b, + 0x8f, 0x8b, 0xeb, 0xab, 0x8d, 0x5a, 0x3d, 0xc8, 0xd0, 0xd8, 0x36, 0xb2, 0xb4, 0xbd, 0x5d, 0x42, + 0x44, 0x5c, 0x3a, 0x32, 0x32, 0xbf, 0xe7, 0xb2, 0x23, 0x02, 0xf4, 0xeb, 0xf5, 0xd7, 0x76, 0x4e, + 0xaa, 0x09, 0xbe, 0x2c, 0x90, 0xbf, 0x34, 0x81, 0x82, 0x89, 0x70, 0x9e, 0x19, 0xf7, 0x25, 0xbf, + 0xdb, 0x39, 0x62, 0x45, 0x47, 0x75, 0x83, 0x0a, 0xa5, 0xd0, 0x66, 0x7c, 0x66, 0x9e, 0x40, 0x50, + 0x84, 0x4c, 0xf2, 0x1e, 0x40, 0xab, 0x49, 0x4e, 0x0c, 0x87, 0x40, 0x87, 0x42, 0x10, 0xd2, 0x7c, + 0x63, 0xfc, 0x30, 0x3d, 0xfc, 0xc0, 0x7f, 0x0c, 0x10, 0x1b, 0x1b, 0xdb, 0xf2, 0xeb, 0xd8, 0x18, + 0xbb, 0xd0, 0xca, 0xb0, 0x78, 0x7f, 0x29, 0x91, 0xe6, 0x52, 0x85, 0xe2, 0xf3, 0xbc, 0xdc, 0x45, + 0x23, 0x28, 0x49, 0xbb, 0x3d, 0xd8, 0x03, 0x07, 0xb3, 0x0f, 0xee, 0x8b, 0x81, 0x07, 0xe1, 0xd4, + 0x84, 0x88, 0x6e, 0x46, 0xf3, 0x19, 0x2c, 0x9f, 0xde, 0x28, 0x54, 0xb3, 0xe3, 0xe5, 0x13, 0xca, + 0xb5, 0x7f, 0xb9, 0xa3, 0x4d, 0xb1, 0xb3, 0x1d, 0xe9, 0xd4, 0x19, 0x9c, 0x48, 0xa9, 0xd0, 0xc6, + 0x1a, 0x42, 0x63, 0xa5, 0x0c, 0xb7, 0xca, 0x3d, 0xdd, 0xb8, 0xe9, 0x7d, 0x65, 0xb1, 0x4f, 0xe9, + 0x5b, 0x44, 0x36, 0x1c, 0xe3, 0xcb, 0xb4, 0x1d, 0x37, 0x8f, 0xa0, 0xda, 0x4e, 0x7e, 0x7b, 0xc7, + 0x0f, 0x35, 0xc9, 0xf5, 0x46, 0x86, 0x83, 0xfd, 0x4a, 0x59, 0x73, 0x94, 0x68, 0xdd, 0x53, 0x29, + 0xb9, 0xdb, 0xbb, 0xd0, 0x83, 0x53, 0xb5, 0x14, 0x43, 0x94, 0xe4, 0x2e, 0x40, 0xca, 0x83, 0xf2, + 0x48, 0x5e, 0x35, 0xa4, 0xfe, 0x90, 0xc3, 0xd6, 0x7d, 0x28, 0x7e, 0xe0, 0x26, 0x02, 0x05, 0x77, + 0x8a, 0x1f, 0xf5, 0x07, 0xb7, 0xf0, 0x35, 0x00, 0x2c, 0x19, 0x36, 0x78, 0x42, 0x1f, 0xa7, 0xad, + 0x3d, 0x47, 0x19, 0xbc, 0x4e, 0xf7, 0x3f, 0xb2, 0x19, 0xf0, 0xa6, 0xf5, 0x64, 0x89, 0x1d, 0xf0, + 0x5f, 0x5e, 0x8b, 0xba, 0x19, 0xb4, 0x8f, 0xe1, 0xb5, 0x98, 0x2c, 0x19, 0xd6, 0xf8, 0xe7, 0xad, + 0x01, 0xcc, 0xc0, 0xd8, 0x60, 0x68, 0xb3, 0x74, 0xa9, 0xc6, 0xd7, 0x62, 0xbc, 0xe7, 0x93, 0x9d, + 0x2f, 0x22, 0xe6, 0x65, 0x8f, 0x9f, 0x38, 0xcd, 0x19, 0x7b, 0x5a, 0x24, 0xc1, 0xf1, 0x74, 0xcc, + 0x33, 0x25, 0x67, 0x96, 0x49, 0xd7, 0x5f, 0xd4, 0x11, 0x2c, 0x48, 0x01, 0x6a, 0x97, 0x6d, 0xb2, + 0xeb, 0x79, 0xd7, 0x64, 0x2e, 0x20, 0x5f, 0x04, 0x47, 0xaa, 0x20, 0xb3, 0xd7, 0xbd, 0x30, 0x9f, + 0x3d, 0x66, 0x1a, 0x34, 0xcf, 0x4a, 0x53, 0x65, 0x58, 0xbc, 0x59, 0xcb, 0x77, 0x2b, 0x1f, 0xdc, + 0xb8, 0xfb, 0xf3, 0xc6, 0x54, 0xb6, 0x24, 0xb4, 0x2a, 0xc0, 0xe3, 0x44, 0x50, 0xd4, 0x0b, 0xe0, + 0x12, 0x19, 0xc1, 0x58, 0x2f, 0x8e, 0xe9, 0xac, 0x83, 0x0d, 0x26, 0xc9, 0x98, 0x33, 0x13, 0x2c, + 0xfa, 0xa8, 0x7e, 0xeb, 0x5e, 0xc5, 0x9f, 0xe8, 0x2b, 0x0b, 0xb3, 0x9a, 0x2b, 0x6c, 0xdf, 0xbb, + 0x6d, 0x66, 0x6c, 0x75, 0x06, 0x32, 0xe2, 0x19, 0x36, 0xdb, 0xa1, 0x18, 0x28, 0x55, 0xbb, 0x10, + 0xf8, 0x9b, 0xab, 0xe1, 0x05, 0x05, 0x53, 0x52, 0x26, 0x15, 0xa6, 0x52, 0x4c, 0x8e, 0x38, 0x26, + 0x58, 0x45, 0x8a, 0x5f, 0x9c, 0x90, 0x57, 0xba, 0x47, 0x3f, 0x91, 0x00, 0xea, 0x82, 0x8a, 0x07, + 0x45, 0x7e, 0x30, 0x59, 0x99, 0xc6, 0xeb, 0x11, 0x90, 0xa9, 0x20, 0x3c, 0xc3, 0x43, 0x78, 0x51, + 0x6c, 0xfd, 0xd8, 0xf2, 0xc7, 0x01, 0xfd, 0x9f, 0xaa, 0xef, 0x38, 0x81, 0x56, 0x92, 0x8a, 0xf8, + 0x88, 0x28, 0x98, 0xf3, 0x2d, 0x1a, 0x9a, 0xcb, 0xe8, 0x5d, 0x58, 0x21, 0x57, 0xd1, 0x23, 0x80, + 0x77, 0x63, 0xb4, 0xe6, 0x18, 0x7a, 0x26, 0xa8, 0x89, 0xbb, 0xed, 0xab, 0x53, 0x8b, 0xaa, 0x40, + 0x5f, 0xc8, 0x2a, 0x54, 0x9d, 0xf5, 0xba, 0xd7, 0x7d, 0x93, 0xb0, 0x11, 0xd5, 0x4a, 0x99, 0x42, + 0xe2, 0x5b, 0xfa, 0x8b, 0xbc, 0x1b, 0xb0, 0xf3, 0x79, 0xbc, 0xed, 0x22, 0xd7, 0x06, 0xd6, 0xc9, + 0x9a, 0x84, 0xa1, 0x5e, 0x2f, 0x34, 0x8d, 0xeb, 0xf4, 0xa8, 0x94, 0x0e, 0x2f, 0x70, 0x64, 0x74, + 0x75, 0x8c, 0x7e, 0x80, 0x45, 0x36, 0xe4, 0x0e, 0x0e, 0x20, 0x2f, 0xbd, 0xf0, 0xc1, 0xf6, 0x47, + 0x0a, 0xbe, 0xe0, 0x84, 0x42, 0x87, 0x14, 0x83, 0x09, 0xd1, 0x8e, 0xbb, 0xaf, 0x58, 0x3f, 0x01, + 0x9b, 0x79, 0x6a, 0xa9, 0x1e, 0x4e, 0x29, 0xda, 0xb4, 0x86, 0xb8, 0x87, 0x14, 0x9a, 0x9f, 0x48, + 0x19, 0xc8, 0x1d, 0x7c, 0x27, 0xd9, 0x97, 0xd0, 0xe7, 0x9d, 0x88, 0xd8, 0x92, 0x6f, 0x8a, 0x59, + 0x62, 0x45, 0xfd, 0xf4, 0xd5, 0x6e, 0xfd, 0xc1, 0x3a, 0x04, 0xdb, 0x97, 0xf4, 0xf3, 0x5b, 0xec, + 0x9e, 0xd6, 0x54, 0x8c, 0xf3, 0x21, 0xe8, 0x62, 0x56, 0xef, 0xbf, 0xe3, 0xb8, 0xc3, 0x54, 0x8a, + 0x2f, 0x55, 0x70, 0xbc, 0x29, 0x4e, 0x42, 0xf0, 0x5d, 0x07, 0x95, 0xb9, 0x8e, 0x55, 0xfd, 0x78, + 0x02, 0xec, 0x78, 0x31, 0x4f, 0x38, 0xe1, 0x7c, 0xe0, 0x6b, 0x01, 0x67, 0x35, 0x94, 0x18, 0x95, + 0x94, 0x91, 0x14, 0x25, 0x62, 0xf8, 0x38, 0xf2, 0x26, 0x72, 0x64, 0x26, 0xef, 0xa3, 0x61, 0x3c, + 0xdd, 0x86, 0xc9, 0xd3, 0x79, 0xd0, 0xb9, 0x16, 0xe6, 0x09, 0xfc, 0x09, 0x0c, 0x03, 0xcd, 0x83, + 0xf7, 0x2f, 0x3c, 0xbb, 0x70, 0xea, 0x70, 0x30, 0x8c, 0x4f, 0x5e, 0x78, 0x2a, 0xfc, 0xe6, 0x2d, + 0xb0, 0x95, 0xa7, 0x78, 0x8c, 0xd0, 0xd7, 0xf7, 0x5f, 0x93, 0xee, 0xb6, 0x6b, 0x1c, 0x14, 0x12, + 0x55, 0x05, 0x2b, 0xa0, 0x46, 0x11, 0xd0, 0x3b, 0x80, 0x88, 0xe2, 0xa2, 0x74, 0x43, 0x5a, 0x8c, + 0xf1, 0x6e, 0x1d, 0x12, 0xd8, 0x38, 0x73, 0x72, 0x2b, 0x96, 0xb1, 0xa6, 0x00, 0xff, 0x06, 0x36, + 0xe8, 0x79, 0xb1, 0xf1, 0x69, 0xc7, 0xfc, 0xd9, 0x76, 0x92, 0xf0, 0xe8, 0x5b, 0x6c, 0x69, 0x8d, + 0x09, 0x5e, 0xb5, 0xbb, 0xae, 0x0a, 0x61, 0xb4, 0x75, 0x8c, 0xac, 0x5f, 0x28, 0x01, 0xb4, 0x58, + 0xb5, 0x6c, 0x3e, 0x92, 0x9e, 0x03, 0x84, 0x85, 0xdd, 0x91, 0xa9, 0x55, 0x60, 0xc8, 0xcd, 0x38, + 0xd4, 0xa0, 0x88, 0x8c, 0x8d, 0xdd, 0x0a, 0x0f, 0x4d, 0x30, 0x94, 0x51, 0xfe, 0x71, 0x07, 0x05, + 0x97, 0xc6, 0x98, 0xe0, 0x81, 0x41, 0xb4, 0xa0, 0xe5, 0x3a, 0xe9, 0x4b, 0xa4, 0xea, 0x27, 0x51, + 0x4c, 0xef, 0x51, 0x06, 0xcd, 0xbd, 0x88, 0x76, 0xc0, 0x57, 0x67, 0x42, 0x88, 0x8e, 0xbd, 0x11, + 0xc0, 0x8d, 0x38, 0x60, 0xfe, 0x08, 0xbe, 0xdf, 0x29, 0x16, 0x86, 0xa1, 0xf6, 0x6e, 0x34, 0xe6, + 0x9e, 0x17, 0x0c, 0x6f, 0x98, 0x1a, 0xdd, 0xd0, 0x0e, 0x07, 0x74, 0x7e, 0x85, 0xca, 0x32, 0x54, + 0xb9, 0x94, 0xb4, 0x00, 0xf5, 0x35, 0x64, 0xe9, 0x21, 0x3a, 0x41, 0x56, 0x42, 0xe2, 0x72, 0x8d, + 0xb6, 0x94, 0xe7, 0xe5, 0xe0, 0xf1, 0x47, 0x7f, 0xe8, 0xc6, 0x77, 0x09, 0x49, 0x8a, 0x53, 0xfb, + 0xb2, 0x44, 0xfa, 0xdf, 0x43, 0xe9, 0x49, 0x46, 0xbf, 0x6c, 0x66, 0x5b, 0x5c, 0xef, 0x7a, 0xf5, + 0xd2, 0xca, 0xdc, 0xe2, 0x0b, 0x81, 0xd7, 0xe1, 0xf3, 0xbc, 0xb3, 0xba, 0x91, 0xc4, 0xa9, 0xdd, + 0x1b, 0x69, 0xb0, 0x18, 0x82, 0xd7, 0x3e, 0xc2, 0x52, 0x20, 0xf4, 0x41, 0xf4, 0x5b, 0x72, 0x0f, + 0x31, 0x72, 0x60, 0x6d, 0x3d, 0x40, 0x46, 0x87, 0x66, 0xf9, 0x2a, 0x26, 0x58, 0x93, 0xaf, 0x92, + 0x3e, 0x76, 0xdc, 0xee, 0x38, 0x3d, 0x06, 0x1a, 0x45, 0x56, 0x07, 0x66, 0xe6, 0x29, 0xb8, 0x3d, + 0x63, 0x3f, 0xe8, 0x74, 0xcc, 0x28, 0xae, 0xf2, 0x66, 0xb1, 0xf0, 0x72, 0x5c, 0xfb, 0xa2, 0x8b, + 0xf3, 0xc5, 0xb2, 0x9f, 0x0a, 0x26, 0x89, 0xba, 0xe1, 0x81, 0x5b, 0x40, 0x7e, 0x9d, 0x2f, 0x5e, + 0x4d, 0x8a, 0x26, 0x7e, 0x40, 0x30, 0x21, 0x28, 0x40, 0xc0, 0x43, 0x46, 0x09, 0x5c, 0xc8, 0xb0, + 0xc5, 0xdf, 0xc6, 0xe4, 0xb3, 0xa3, 0xb1, 0xf2, 0xf5, 0x35, 0x9b, 0x9f, 0xcf, 0xee, 0x17, 0x88, + 0xf5, 0xb7, 0xe9, 0xd1, 0x5d, 0xcb, 0xea, 0x27, 0xbd, 0x8b, 0xd6, 0x02, 0xe6, 0xc7, 0x40, 0x47, + 0x58, 0x2e, 0xd5, 0x55, 0x0b, 0x22, 0x0e, 0x6d, 0x31, 0x9b, 0x78, 0x4a, 0x16, 0x05, 0x31, 0xfb, + 0xc5, 0xe4, 0x09, 0x3b, 0x3f, 0x63, 0x38, 0x8f, 0x0d, 0x0f, 0xbf, 0x00, 0xb6, 0x0f, 0xa7, 0x69, + 0xbd, 0x55, 0xa7, 0x57, 0xea, 0xa6, 0xd7, 0x47, 0xe6, 0x8a, 0x54, 0x23, 0xef, 0xd0, 0xa8, 0x5e, + 0x36, 0xbb, 0x5a, 0x66, 0xb6, 0xfd, 0xd9, 0x22, 0x8f, 0x7f, 0x11, 0xb5, 0xc5, 0xec, 0x6e, 0x81, + 0xf4, 0xb6, 0x5c, 0xcc, 0x9c, 0x9c, 0xac, 0x94, 0x5c, 0x56, 0xd1, 0xf5, 0xfe, 0x00, 0xbc, 0xed, + 0x9f, 0xe2, 0x42, 0xac, 0x38, 0xb0, 0x12, 0x7b, 0xc1, 0xe8, 0x4d, 0x92, 0x55, 0x7b, 0x5e, 0x3e, + 0x5d, 0xd5, 0xf6, 0xfb, 0x90, 0x68, 0xd5, 0xa1, 0x06, 0x82, 0xc9, 0x24, 0x2b, 0x68, 0xc5, 0x40, + 0x9a, 0xd4, 0xca, 0xf0, 0x72, 0xe6, 0x6f, 0xe1, 0xd3, 0x18, 0xbe, 0xac, 0x3e, 0x4c, 0x87, 0x42, + 0xcf, 0x82, 0x30, 0x3f, 0xbc, 0xf6, 0x58, 0x34, 0xcb, 0x4c, 0x77, 0xb1, 0xc0, 0x33, 0x4a, 0xbe, + 0x33, 0x5a, 0xb4, 0xc9, 0x10, 0x51, 0xca, 0x35, 0xa7, 0x49, 0x7a, 0xd3, 0x81, 0x80, 0x5d, 0x72, + 0x1d, 0x12, 0x70, 0xc9, 0x4a, 0xa5, 0x5e, 0xeb, 0x55, 0x5b, 0xaa, 0x38, 0xf4, 0xad, 0x9f, 0x8e, + 0xf6, 0xa7, 0xd6, 0x15, 0xb1, 0x16, 0x52, 0x85, 0x90, 0x71, 0x81, 0x23, 0xeb, 0x5a, 0xaf, 0xd5, + 0x52, 0xf3, 0xff, 0x73, 0x97, 0x41, 0xc2, 0x67, 0x94, 0x03, 0x3d, 0x2e, 0x3d, 0xac, 0xfd, 0x90, + 0x4e, 0xcf, 0xc5, 0x1e, 0xde, 0x1c, 0x54, 0x76, 0x02, 0xbf, 0xb2, 0x83, 0x13, 0x88, 0x00, 0x9d, + 0xe0, 0xb2, 0x80, 0x4b, 0x77, 0x55, 0x49, 0xca, 0x32, 0x43, 0x01, 0x8f, 0xae, 0x03, 0x85, 0x6e, + 0x24, 0xe5, 0x21, 0xa4, 0xca, 0xe0, 0x2c, 0xe8, 0x1c, 0xfb, 0x0f, 0x95, 0x9f, 0xd4, 0xdb, 0xc7, + 0x58, 0xd6, 0x72, 0xa7, 0xf5, 0x79, 0xbc, 0x56, 0x78, 0xc1, 0xce, 0x33, 0x0d, 0x80, 0xcb, 0xdc, + 0x93, 0x40, 0x6d, 0x0e, 0xf8, 0xe2, 0x3d, 0x6e, 0x5d, 0x2d, 0xa1, 0x5c, 0x38, 0x6e, 0x29, 0x7d, + 0x8d, 0xb2, 0x49, 0x1f, 0x08, 0xa2, 0x6d, 0xcc, 0x09, 0xaf, 0x29, 0x64, 0x56, 0xc6, 0x5d, 0xbf, + 0x47, 0x09, 0x65, 0xf7, 0x04, 0x8d, 0x04, 0xd7, 0x0d, 0x07, 0xd4, 0x53, 0x34, 0x49, 0xe4, 0xe9, + 0x2b, 0xfe, 0x15, 0x72, 0xca, 0x06, 0x75, 0x96, 0x3d, 0x83, 0xce, 0xbc, 0x14, 0x80, 0x2e, 0x35, + 0x9a, 0xee, 0x6d, 0x62, 0x1f, 0x03, 0xa8, 0x1e, 0x2e, 0xbe, 0x11, 0x40, 0xd2, 0xbe, 0xb9, 0xbb, + 0x9d, 0xd4, 0x98, 0xfa, 0x4b, 0x2c, 0x4e, 0xdc, 0x5b, 0x6d, 0xa1, 0xea, 0xfe, 0xbd, 0x13, 0x6c, + 0xcc, 0xf0, 0x4f, 0x99, 0x29, 0xc6, 0x71, 0x4f, 0x91, 0x07, 0xb6, 0xed, 0x87, 0x30, 0xe4, 0x57, + 0xb7, 0xd5, 0x9c, 0x0b, 0x0e, 0xb1, 0x42, 0xcf, 0x6d, 0xed, 0xd8, 0xbb, 0x04, 0x05, 0x44, 0xd0, + 0x4c, 0x43, 0x1c, 0xc9, 0x11, 0xa4, 0x44, 0xb4, 0x17, 0x22, 0xbe, 0x7f, 0x56, 0xe9, 0x1c, 0x4c, + 0xd1, 0xad, 0xb7, 0x0b, 0x86, 0x14, 0x49, 0x54, 0x5e, 0xc6, 0x3e, 0x1c, 0xc7, 0xfe, 0x50, 0x60, + 0x7a, 0xa7, 0x3a, 0x52, 0x19, 0x93, 0xa7, 0xe4, 0x7c, 0xbc, 0x0b, 0xa7, 0x9f, 0x06, 0x27, 0x1a, + 0x1d, 0xa3, 0x59, 0x6c, 0x6a, 0x9d, 0x5e, 0xb3, 0xa5, 0xe5, 0x3c, 0x30, 0x03, 0x51, 0xc6, 0xfc, + 0xde, 0x86, 0xde, 0xd9, 0x01, 0x54, 0x4c, 0x51, 0x50, 0x52, 0x38, 0xf3, 0x00, 0x0d, 0x4e, 0x18, + 0xf3, 0xaa, 0xbf, 0x01, 0xc2, 0x12, 0x87, 0xd7, 0x54, 0x0a, 0x14, 0xdb, 0x4f, 0x27, 0xc9, 0x90, + 0x70, 0x5b, 0x4d, 0x4d, 0xcb, 0x24, 0x44, 0xe3, 0x78, 0x09, 0x24, 0x3b, 0x72, 0x79, 0x36, 0x49, + 0x10, 0xad, 0xd3, 0x45, 0x5b, 0x76, 0x6c, 0xdc, 0xb2, 0xbb, 0x6e, 0x24, 0xbc, 0xc8, 0x75, 0x4b, + 0xbd, 0x6d, 0x4a, 0x8a, 0x67, 0x19, 0xb1, 0x82, 0x98, 0xca, 0xef, 0x4f, 0x97, 0x33, 0x52, 0x63, + 0x92, 0xc4, 0x92, 0xb7, 0xa7, 0xaa, 0x10, 0x05, 0x70, 0x8a, 0xee, 0xa4, 0x25, 0xb3, 0x5a, 0xab, + 0xef, 0x4e, 0x45, 0x6a, 0x6f, 0x5d, 0xfa, 0x6f, 0xa5, 0x5c, 0xc1, 0x56, 0xf0, 0x9f, 0x5b, 0x57, + 0x04, 0x81, 0x42, 0xfb, 0x3b, 0x35, 0x3c, 0x16, 0x46, 0x70, 0xf0, 0x16, 0x4a, 0x31, 0x16, 0x5e, + 0xae, 0xe5, 0x32, 0x51, 0x11, 0xae, 0x54, 0x3a, 0x91, 0x15, 0x13, 0x8a, 0xcd, 0x1f, 0xfb, 0x78, + 0xe2, 0xa4, 0x65, 0xe1, 0x6c, 0x12, 0x65, 0x6d, 0x42, 0x35, 0x09, 0xb1, 0xea, 0x87, 0xe9, 0xd2, + 0xb7, 0x7c, 0x82, 0x46, 0x42, 0xc9, 0xbf, 0x4f, 0xb1, 0x05, 0xb6, 0x93, 0x75, 0xb1, 0x10, 0xe2, + 0x49, 0xd5, 0x25, 0xe4, 0xa6, 0x19, 0xde, 0xb2, 0xc5, 0x07, 0x21, 0x33, 0xe9, 0xac, 0x47, 0x2a, + 0xcf, 0x04, 0xb6, 0x35, 0x4d, 0x90, 0xdf, 0x88, 0x69, 0x80, 0x94, 0xb7, 0xcb, 0x81, 0x5a, 0x99, + 0xb7, 0xd9, 0xa0, 0x65, 0x56, 0xf4, 0xfc, 0xe1, 0x17, 0x35, 0x4e, 0x0c, 0x1e, 0xbc, 0x47, 0xfd, + 0xc9, 0xbb, 0x06, 0x21, 0xa7, 0x21, 0x90, 0x65, 0xbb, 0x7d, 0x86, 0xe1, 0xa9, 0xfe, 0xdb, 0x0c, + 0xc2, 0x17, 0x44, 0x9f, 0x6c, 0x63, 0x82, 0x9f, 0x10, 0x16, 0x18, 0x19, 0x09, 0x02, 0x2d, 0x01, + 0x20, 0xe6, 0x32, 0xd5, 0xdd, 0x7e, 0x27, 0x66, 0xd0, 0x62, 0x45, 0x29, 0x63, 0x87, 0xc6, 0x0e, + 0xe5, 0x1b, 0x28, 0xe8, 0xbf, 0x04, 0x80, 0x4f, 0x77, 0xc0, 0xb0, 0x81, 0x01, 0xce, 0x82, 0x9f, + 0x8f, 0x51, 0xf7, 0x0d, 0xb7, 0x50, 0x9b, 0x42, 0x16, 0x0c, 0x28, 0x00, 0x7e, 0x2b, 0x78, 0xea, + 0xac, 0x33, 0xf1, 0xd4, 0x7c, 0xb1, 0x22, 0xe7, 0x39, 0x66, 0xac, 0xcf, 0x41, 0xeb, 0x86, 0x29, + 0xc0, 0x6a, 0x04, 0x92, 0xf2, 0xe4, 0x3c, 0x5d, 0x3f, 0x06, 0xbe, 0xfc, 0x1d, 0xc3, 0x8a, 0x84, + 0x9d, 0x2e, 0xe7, 0x69, 0x22, 0x85, 0x75, 0x83, 0xad, 0x94, 0xa9, 0x8a, 0x94, 0x86, 0xad, 0xcb, + 0x49, 0xcb, 0x8c, 0xdc, 0xce, 0x20, 0xe0, 0x1b, 0xe2, 0xb1, 0x16, 0x85, 0x6c, 0xdf, 0x31, 0xee, + 0x24, 0xf1, 0xcd, 0xb9, 0xc7, 0x9c, 0x14, 0xb6, 0xe8, 0x8c, 0x56, 0x7e, 0x6b, 0x6e, 0xe1, 0xae, + 0xc1, 0x3c, 0x0b, 0x80, 0x5a, 0xd6, 0xca, 0xba, 0x74, 0x9b, 0x62, 0x55, 0xec, 0x04, 0x31, 0xf2, + 0x73, 0x22, 0x73, 0x2b, 0x59, 0x45, 0xc0, 0xe3, 0x37, 0x68, 0x75, 0xa6, 0x7b, 0x18, 0x68, 0xc4, + 0x5f, 0x8a, 0xa3, 0x96, 0xc8, 0x5e, 0x98, 0xca, 0x72, 0x42, 0x50, 0x30, 0x49, 0xbc, 0xbb, 0x2e, + 0xe1, 0xa3, 0xe1, 0x3a, 0x76, 0x1a, 0x9b, 0xb5, 0xa9, 0x7f, 0xc7, 0x48, 0xcf, 0xbb, 0x24, 0xd4, + 0xd6, 0xb9, 0x22, 0x57, 0x84, 0x20, 0x0d, 0xff, 0x62, 0x16, 0xab, 0xad, 0xed, 0x74, 0x9d, 0x64, + 0x45, 0x6a, 0x42, 0x88, 0x5b, 0xd9, 0x46, 0x8d, 0x73, 0x40, 0x89, 0xdd, 0x49, 0xf1, 0x34, 0x80, + 0x91, 0x5a, 0x1d, 0x6e, 0x79, 0xdf, 0xc8, 0x5c, 0xbc, 0x53, 0x20, 0x15, 0xf0, 0x6b, 0x40, 0x0d, + 0x6e, 0xe4, 0x90, 0xc9, 0x2d, 0xc7, 0x1e, 0x89, 0x3a, 0xfc, 0x12, 0xea, 0x35, 0x50, 0x4a, 0xc7, + 0x24, 0x53, 0x93, 0xc5, 0x78, 0x9d, 0x4b, 0x74, 0x2b, 0x3e, 0x89, 0x4b, 0xa2, 0x5f, 0xc4, 0xbe, + 0xb3, 0xa5, 0x50, 0x60, 0x47, 0xc3, 0x9f, 0xa2, 0xf0, 0x20, 0xc8, 0xbb, 0x52, 0x8a, 0x04, 0x52, + 0xe3, 0xe3, 0xb9, 0x4b, 0x07, 0x85, 0xad, 0x41, 0x8e, 0xfd, 0x12, 0x1f, 0x7c, 0x26, 0x78, 0xdc, + 0x8d, 0xcd, 0xce, 0x3e, 0x18, 0xce, 0x11, 0x9a, 0x1a, 0xe7, 0x7d, 0xbb, 0x14, 0xc0, 0x90, 0xfb, + 0x8e, 0x52, 0xd2, 0xa1, 0xcb, 0x9f, 0x24, 0x08, 0x78, 0xba, 0x4a, 0x15, 0x2f, 0xe0, 0x2c, 0x3b, + 0x86, 0xc0, 0x38, 0x1c, 0xb2, 0x92, 0x5d, 0x58, 0x2e, 0x76, 0x2a, 0x73, 0xb9, 0xb6, 0x2e, 0x90, + 0x9d, 0x83, 0xf1, 0xc7, 0xa1, 0xbf, 0x68, 0x97, 0xb4, 0x30, 0xbd, 0x3f, 0x79, 0x5a, 0x61, 0x24, + 0xb9, 0xaf, 0xa7, 0x18, 0x18, 0x4b, 0x16, 0x56, 0x47, 0x65, 0x1b, 0xf9, 0x17, 0xd2, 0x24, 0xf2, + 0xf4, 0xf5, 0x71, 0x7a, 0xab, 0xbb, 0x8b, 0x74, 0xb4, 0xd2, 0xc6, 0xdc, 0x5d, 0x44, 0xc3, 0x2a, + 0x60, 0x8c, 0x2e, 0xb6, 0x2f, 0xc6, 0x33, 0xb9, 0x36, 0xa7, 0x40, 0xc1, 0x3d, 0xc0, 0x95, 0x0d, + 0xb3, 0x45, 0xda, 0xc0, 0x3a, 0x7d, 0x82, 0x89, 0xe5, 0xa1, 0x42, 0x12, 0x4c, 0x97, 0xad, 0xeb, + 0xcc, 0x34, 0x61, 0x7f, 0xa7, 0x01, 0x2a, 0x4c, 0x56, 0x1a, 0x9a, 0x13, 0xe3, 0x8a, 0x4a, 0x9c, + 0x05, 0x0b, 0xd2, 0x85, 0x87, 0x1d, 0x41, 0xba, 0xd9, 0xf1, 0x19, 0xad, 0xee, 0xb5, 0x47, 0xd3, + 0x56, 0x57, 0x68, 0xfb, 0x6b, 0x16, 0xee, 0xf9, 0xc9, 0xae, 0x4e, 0xad, 0xf6, 0x1e, 0x8a, 0xa5, + 0x10, 0x72, 0x2b, 0xb0, 0x7e, 0xa4, 0xff, 0x5e, 0x10, 0x46, 0xf8, 0x4f, 0xfc, 0xfc, 0x37, 0xfb, + 0x5f, 0x40, 0xc0, 0xd1, 0x07, 0xe7, 0xe3, 0xe9, 0xec, 0x13, 0xc1, 0xba, 0x24, 0x56, 0xd9, 0xc8, + 0xc8, 0xd4, 0x84, 0xe5, 0xa5, 0x2e, 0x8c, 0xec, 0x02, 0xbd, 0x1e, 0xef, 0x4a, 0xd9, 0x04, 0x7b, + 0xff, 0xa0, 0x9e, 0xc3, 0xf1, 0x65, 0x75, 0x0f, 0xa8, 0xd5, 0xdf, 0xe5, 0x0e, 0x26, 0xef, 0xfa, + 0xdc, 0x68, 0x2b, 0xb8, 0x37, 0x4b, 0x09, 0x4f, 0x53, 0x00, 0x82, 0x2a, 0xd2, 0xd7, 0x1d, 0x25, + 0x96, 0xda, 0x29, 0xad, 0x5c, 0x05, 0x30, 0xd9, 0x8a, 0x15, 0x21, 0xcf, 0xa7, 0xfa, 0xda, 0x2b, + 0x73, 0xd7, 0xee, 0xba, 0x1f, 0xa7, 0x2e, 0x1c, 0x0b, 0x99, 0x5e, 0x25, 0xdb, 0xec, 0xef, 0x26, + 0xa3, 0x89, 0xf6, 0xde, 0xe5, 0x9f, 0x10, 0x76, 0x67, 0x3a, 0x68, 0x65, 0xcd, 0x1c, 0x8c, 0x82, + 0x38, 0xa8, 0xd4, 0xd8, 0xdc, 0xdf, 0xab, 0xc8, 0xf6, 0x77, 0x3d, 0x46, 0xb3, 0x1c, 0x19, 0x1d, + 0xaf, 0x49, 0xa6, 0x02, 0xa1, 0x3e, 0xb1, 0xb4, 0xc7, 0xce, 0xbd, 0x00, 0x91, 0xc1, 0x00, 0x85, + 0x34, 0x73, 0x68, 0x11, 0x52, 0x5d, 0xd7, 0x8e, 0xc7, 0xf8, 0x2e, 0x24, 0xe4, 0xfd, 0x5c, 0x4c, + 0x26, 0x46, 0x18, 0x46, 0x30, 0xe8, 0xf9, 0xa0, 0x76, 0x20, 0x14, 0xbf, 0xa3, 0xd9, 0x26, 0xd4, + 0x04, 0xac, 0xe7, 0x8c, 0x50, 0x98, 0x46, 0x07, 0x2d, 0x79, 0xcc, 0x68, 0xc8, 0x1b, 0xa7, 0x12, + 0x0b, 0x3b, 0x66, 0x3d, 0x6e, 0xf6, 0x18, 0x1a, 0x6f, 0xc2, 0x25, 0x95, 0x85, 0xd9, 0x5e, 0xd1, + 0x67, 0xf4, 0xa2, 0xd7, 0xe1, 0xe9, 0xd1, 0xbe, 0x72, 0xb1, 0x98, 0x2b, 0x2d, 0x44, 0x50, 0x6c, + 0x3c, 0x40, 0xaa, 0x89, 0xbf, 0xab, 0x8a, 0x3f, 0x9f, 0xf7, 0x59, 0x01, 0xa2, 0x99, 0x4e, 0x67, + 0x08, 0x22, 0x70, 0xc3, 0x24, 0x9e, 0x02, 0x30, 0x97, 0x10, 0xb8, 0x48, 0xcb, 0xd8, 0x54, 0x84, + 0x60, 0x01, 0xee, 0x31, 0x90, 0xde, 0x60, 0x25, 0xa9, 0x2e, 0x25, 0xf8, 0x26, 0xcf, 0x4b, 0x59, + 0x90, 0x35, 0xb1, 0x04, 0x34, 0x1a, 0x5d, 0xae, 0xa7, 0x72, 0x6c, 0xe9, 0xb8, 0x49, 0xfc, 0x93, + 0xc6, 0xcd, 0x40, 0xf3, 0x42, 0x14, 0xc2, 0x38, 0xd7, 0xcc, 0xb0, 0x92, 0x90, 0xce, 0x47, 0x46, + 0x26, 0x65, 0x53, 0xfc, 0xf5, 0xc3, 0x26, 0x21, 0x22, 0x51, 0x30, 0x5e, 0x46, 0xac, 0x08, 0xa0, + 0xdf, 0x95, 0xde, 0xbb, 0x10, 0x73, 0xbe, 0xc9, 0xc0, 0x00, 0xbf, 0x14, 0xd1, 0x26, 0xe7, 0x0f, + 0xd7, 0x2f, 0x7b, 0x2c, 0x17, 0xbf, 0x64, 0xbb, 0x03, 0xb3, 0x8a, 0xc4, 0x98, 0x83, 0x18, 0xb9, + 0xfb, 0xa5, 0x47, 0x80, 0xea, 0x96, 0xb8, 0xf2, 0xe6, 0x77, 0x1d, 0x5d, 0xc5, 0x46, 0x5f, 0x67, + 0x24, 0x40, 0x05, 0x9a, 0xd7, 0x1f, 0x99, 0x63, 0x97, 0x28, 0x3d, 0x98, 0xfa, 0xd7, 0x4e, 0x95, + 0x70, 0xde, 0x1a, 0xd6, 0x3a, 0x0d, 0xaf, 0x26, 0x4b, 0xb3, 0x5d, 0xae, 0xb7, 0x97, 0x0e, 0x9c, + 0xc4, 0xf9, 0x7f, 0x57, 0x8b, 0xfd, 0x28, 0x6c, 0x50, 0x5e, 0x7e, 0xc8, 0x82, 0x10, 0x5c, 0xf0, + 0x2c, 0x10, 0xd0, 0xa0, 0xac, 0xdf, 0x9d, 0xb0, 0xef, 0x95, 0x60, 0x57, 0x8a, 0x29, 0xa5, 0x52, + 0xfc, 0xc8, 0x41, 0x68, 0x4b, 0xbc, 0x66, 0x7b, 0xe9, 0x5f, 0xb8, 0x56, 0x99, 0x0d, 0x23, 0x59, + 0x94, 0x5e, 0x20, 0xbf, 0x89, 0x6f, 0x8f, 0x4e, 0xda, 0xfe, 0xf1, 0x81, 0x43, 0x25, 0x89, 0x53, + 0xda, 0x85, 0xe4, 0x67, 0x95, 0xfd, 0x0b, 0x4c, 0x86, 0x11, 0xc9, 0xc7, 0xd7, 0xdc, 0xea, 0x59, + 0xb4, 0xfe, 0x1a, 0x0c, 0xf9, 0x4a, 0xea, 0xc6, 0x23, 0xf4, 0x50, 0xe4, 0xab, 0xcb, 0x53, 0x38, + 0x62, 0x31, 0x7b, 0x29, 0x40, 0x34, 0xf6, 0xd8, 0x98, 0x43, 0x69, 0x12, 0x3c, 0x4f, 0x0e, 0xee, + 0x19, 0x33, 0xe8, 0x4f, 0x2b, 0xb9, 0x04, 0x19, 0x2d, 0x15, 0x61, 0xe9, 0x89, 0xc5, 0xaa, 0x57, + 0x17, 0xa3, 0xab, 0x9a, 0x86, 0x9c, 0xc3, 0x03, 0xbf, 0x92, 0xcb, 0x96, 0x26, 0x10, 0x93, 0x96, + 0x4f, 0xf1, 0xe6, 0x15, 0xf9, 0x04, 0x26, 0x23, 0xc3, 0xb2, 0xb2, 0x89, 0xa2, 0x0e, 0x8d, 0xee, + 0xae, 0x6a, 0x1c, 0x5a, 0x56, 0xe1, 0x4a, 0x20, 0xff, 0x76, 0xfb, 0x95, 0x20, 0x5e, 0x83, 0x54, + 0x48, 0x88, 0xaa, 0x40, 0xae, 0xc7, 0x01, 0x8a, 0x1c, 0x04, 0x3e, 0xf8, 0xde, 0x93, 0xf7, 0xc8, + 0xf0, 0x11, 0xa9, 0xeb, 0x73, 0x43, 0xc1, 0xd6, 0x6d, 0xf4, 0x3a, 0x71, 0x6b, 0xa3, 0x70, 0x03, + 0x2b, 0x97, 0xe2, 0x79, 0x58, 0xd2, 0xb5, 0x3a, 0x6a, 0x0f, 0x20, 0x8c, 0xab, 0xf5, 0xd0, 0x2d, + 0x3b, 0xd3, 0x90, 0x7e, 0x38, 0x98, 0xd3, 0x63, 0xa1, 0x22, 0x6e, 0xbb, 0x5b, 0x0c, 0x94, 0xdc, + 0x0f, 0xb0, 0x3e, 0x4b, 0x4a, 0x5e, 0x4c, 0x32, 0x5e, 0xc9, 0x42, 0x84, 0x9f, 0x5b, 0xbc, 0x98, + 0xcc, 0xbb, 0x01, 0xac, 0x24, 0xe1, 0x2d, 0x0d, 0xbc, 0xb1, 0x51, 0xdf, 0xfc, 0x65, 0x9c, 0xe1, + 0x22, 0x06, 0x35, 0xc8, 0xcb, 0xee, 0xef, 0x6a, 0xd1, 0x38, 0x1c, 0x37, 0x68, 0xe7, 0x28, 0xba, + 0x2a, 0x50, 0xa3, 0x72, 0xd2, 0xfa, 0x81, 0xa9, 0x0d, 0x2b, 0x51, 0x45, 0xbc, 0xc1, 0x37, 0x5f, + 0x46, 0x55, 0xf3, 0x22, 0x9b, 0xcc, 0xee, 0xdd, 0x10, 0x65, 0x0d, 0x54, 0x75, 0x5d, 0x59, 0xa8, + 0xba, 0xce, 0x1d, 0x5e, 0x30, 0x18, 0x46, 0xae, 0x3d, 0x1c, 0xa5, 0xd7, 0x0b, 0xeb, 0x3e, 0xf4, + 0xfa, 0x5d, 0x18, 0x40, 0x57, 0x0f, 0x6e, 0x3d, 0x55, 0xee, 0xfd, 0x81, 0x95, 0x5f, 0xff, 0x13, + 0xa8, 0xd8, 0x9f, 0x3e, 0x1e, 0xa6, 0x61, 0x05, 0xca, 0xc6, 0x81, 0xb4, 0x2f, 0x31, 0x03, 0xfe, + 0x5b, 0xae, 0x73, 0xec, 0xc5, 0x38, 0xe4, 0x08, 0x80, 0x33, 0x2d, 0x82, 0x5b, 0xba, 0x40, 0x88, + 0xfd, 0xb6, 0x78, 0xd2, 0x63, 0x56, 0xa0, 0x30, 0xdf, 0x40, 0x2f, 0x16, 0xd7, 0x2b, 0x03, 0x14, + 0x69, 0x96, 0x5e, 0x89, 0x9d, 0xa5, 0x58, 0xe4, 0x87, 0xea, 0x8e, 0xf5, 0x9a, 0xa4, 0xe3, 0x4b, + 0x73, 0xf0, 0x1e, 0x5a, 0x4a, 0xd1, 0x9d, 0x85, 0x15, 0x1f, 0x03, 0x62, 0x02, 0x13, 0xfe, 0x3a, + 0xba, 0x3b, 0xd3, 0xec, 0x92, 0xff, 0x6f, 0xa4, 0x55, 0x49, 0x58, 0x33, 0xf0, 0x75, 0x1c, 0x45, + 0xda, 0x83, 0xe7, 0xc9, 0xe7, 0x91, 0xb1, 0x27, 0x1c, 0x2d, 0xa0, 0xc9, 0x8e, 0xa4, 0x6d, 0xa1, + 0xab, 0xbe, 0x10, 0xd9, 0x15, 0x08, 0xaa, 0x8d, 0x33, 0x3d, 0xc2, 0xff, 0xed, 0xcd, 0xd5, 0xf4, + 0x8b, 0xb7, 0xe9, 0x7a, 0x75, 0xd3, 0x29, 0xa1, 0x67, 0xef, 0xe0, 0x59, 0x8b, 0x81, 0xde, 0x0b, + 0xe1, 0xda, 0x7c, 0x81, 0x81, 0x7c, 0xb0, 0x57, 0xe2, 0x24, 0x9f, 0x75, 0xcc, 0xa7, 0x7d, 0x98, + 0x60, 0x4a, 0x68, 0xee, 0x63, 0xe1, 0x55, 0xad, 0x52, 0x28, 0x51, 0x06, 0x20, 0x7d, 0x29, 0x48, + 0x67, 0x92, 0x98, 0x21, 0x2f, 0x66, 0x98, 0xae, 0x13, 0xd5, 0xbf, 0x0c, 0xa9, 0x02, 0xc2, 0x83, + 0x67, 0x30, 0x85, 0xed, 0x52, 0x67, 0xb8, 0x1e, 0x40, 0x0e, 0x02, 0xcc, 0xa9, 0x29, 0x82, 0x1b, + 0xa9, 0x8b, 0xdb, 0x05, 0x5f, 0xb0, 0xd5, 0x4b, 0xa0, 0x5f, 0xcf, 0xdb, 0xb8, 0x4a, 0xdb, 0x28, + 0xec, 0x6d, 0x06, 0xda, 0xee, 0x6b, 0xaa, 0x57, 0xc5, 0x74, 0xdb, 0x9c, 0xd7, 0xa0, 0xf9, 0x13, + 0x46, 0xa5, 0x09, 0xe7, 0x51, 0xcd, 0xe1, 0x5f, 0xd3, 0xfc, 0x14, 0x57, 0x10, 0x2b, 0xd8, 0x41, + 0xe0, 0x0e, 0x6a, 0xfe, 0x97, 0x19, 0xfc, 0xf9, 0xef, 0xb8, 0xfc, 0x43, 0xee, 0x34, 0x8f, 0xe1, + 0x05, 0x43, 0x97, 0x91, 0xa1, 0xb9, 0x1d, 0x0f, 0x51, 0xba, 0x77, 0x0a, 0x20, 0x35, 0xad, 0x3c, + 0x4b, 0x23, 0x57, 0x16, 0x7f, 0x8c, 0x52, 0xfd, 0x87, 0x0f, 0x65, 0x29, 0x0b, 0x0d, 0x82, 0x7b, + 0x58, 0xe1, 0xf6, 0x64, 0xf4, 0x31, 0x23, 0x6b, 0x80, 0x79, 0xe0, 0x49, 0xf5, 0xfd, 0x19, 0x3c, + 0x3c, 0x89, 0x05, 0xe5, 0x4c, 0x2c, 0x86, 0x16, 0xeb, 0x9a, 0x22, 0xa2, 0x88, 0xbc, 0x35, 0x86, + 0x46, 0x5c, 0xe8, 0x63, 0xa4, 0xfd, 0x31, 0x0c, 0x0b, 0x88, 0xba, 0xac, 0x74, 0x55, 0x79, 0xce, + 0xaf, 0x58, 0x10, 0x3b, 0xf5, 0xc8, 0xce, 0xb3, 0x79, 0x8a, 0x5b, 0x01, 0x0b, 0xa4, 0x66, 0x6d, + 0x29, 0xec, 0xf9, 0xe0, 0x4d, 0x22, 0x26, 0x70, 0xcb, 0x03, 0xdd, 0x81, 0x71, 0x94, 0x93, 0x11, + 0x04, 0xb4, 0x48, 0xc7, 0xc5, 0x9d, 0x6e, 0xaf, 0xad, 0xe8, 0x28, 0xf6, 0xc8, 0xa2, 0xbe, 0x1e, + 0xdc, 0xcd, 0xaa, 0x12, 0xb9, 0x83, 0xec, 0x1a, 0xe2, 0xdf, 0xf7, 0x63, 0xf4, 0x1f, 0x66, 0x06, + 0x0b, 0xd1, 0x8e, 0x20, 0xf5, 0x3e, 0xd4, 0xf0, 0x0d, 0x0f, 0x73, 0x62, 0x2d, 0xd9, 0x6b, 0x4b, + 0xd1, 0x95, 0x04, 0x9b, 0x35, 0xa3, 0x86, 0xd1, 0xb7, 0x28, 0xe8, 0xfd, 0x3f, 0x1f, 0x0d, 0x86, + 0x73, 0x91, 0xf1, 0xd1, 0x39, 0x5a, 0xd2, 0x30, 0xf5, 0x45, 0x6e, 0x87, 0xc7, 0x20, 0x5f, 0x43, + 0xd2, 0x67, 0x38, 0x9b, 0x79, 0x4b, 0x8d, 0x41, 0x50, 0x31, 0x10, 0xbf, 0x49, 0x9a, 0x7e, 0xed, + 0x01, 0xe5, 0x1b, 0x49, 0x54, 0x4b, 0x4a, 0x1e, 0x5b, 0xc8, 0x59, 0x64, 0x4a, 0xfe, 0x5b, 0x81, + 0xdb, 0x61, 0x47, 0x94, 0x6b, 0xbd, 0x8f, 0x1e, 0xfc, 0x15, 0xc5, 0x30, 0xc0, 0xd5, 0x58, 0xff, + 0x16, 0xbd, 0xed, 0x52, 0x4e, 0x80, 0x02, 0xbd, 0x40, 0xfa, 0x40, 0xee, 0xf3, 0xdd, 0x1d, 0xb2, + 0x4e, 0x34, 0x4f, 0x2a, 0xef, 0xed, 0xb6, 0xd3, 0x08, 0xbd, 0x6f, 0x67, 0xb2, 0x82, 0xe0, 0x46, + 0x7d, 0xc4, 0x16, 0xbc, 0x14, 0x65, 0x13, 0x86, 0x34, 0xa5, 0x27, 0x8a, 0xc8, 0x05, 0xd7, 0xef, + 0x18, 0xce, 0x5f, 0xb9, 0x09, 0xec, 0x93, 0x14, 0xf8, 0xfa, 0x7d, 0x02, 0xf8, 0x14, 0xec, 0xb6, + 0x42, 0xee, 0x6e, 0x7e, 0x14, 0xea, 0xd4, 0x0b, 0x34, 0xf8, 0xd0, 0xf0, 0xee, 0x34, 0x08, 0x45, + 0xc2, 0xe2, 0x21, 0xd5, 0xa1, 0xa2, 0x20, 0xf1, 0x3e, 0x59, 0x86, 0x71, 0x78, 0xf8, 0xb8, 0x55, + 0xa0, 0xeb, 0xbb, 0x60, 0x95, 0xe6, 0xb6, 0xcd, 0x02, 0x67, 0x52, 0xf8, 0xe5, 0x30, 0xf6, 0x1c, + 0xae, 0xd2, 0xd8, 0x4c, 0x57, 0x7e, 0xce, 0x39, 0x76, 0xc6, 0x95, 0x30, 0x0b, 0x9c, 0x7d, 0x1e, + 0xf8, 0x1d, 0x38, 0x83, 0x82, 0x10, 0x4b, 0xc3, 0x83, 0x6f, 0x31, 0xa8, 0xf9, 0xd7, 0x1d, 0x31, + 0x72, 0xae, 0x39, 0x51, 0x6e, 0x26, 0x2b, 0x84, 0x69, 0x93, 0xcb, 0xd0, 0x75, 0xb6, 0x3c, 0xbb, + 0x7b, 0x46, 0x9d, 0x2e, 0xcb, 0xbe, 0xed, 0x88, 0xb5, 0xa7, 0x39, 0xe0, 0x33, 0x15, 0xf5, 0xc3, + 0x9f, 0xb9, 0x1e, 0x23, 0x6f, 0xb2, 0x61, 0x79, 0x5a, 0xaf, 0x6c, 0x86, 0x1d, 0x69, 0xed, 0x1b, + 0xed, 0xdd, 0xb2, 0x11, 0x82, 0xfb, 0xeb, 0x38, 0xc9, 0xb0, 0xde, 0xe6, 0x67, 0xc1, 0x94, 0x0a, + 0x86, 0xfd, 0x9f, 0xab, 0x72, 0xa1, 0x2b, 0x36, 0xfa, 0x64, 0x9f, 0x47, 0x70, 0x41, 0x38, 0x86, + 0xfd, 0xfb, 0xb4, 0xa2, 0xca, 0x0c, 0x17, 0x59, 0x2b, 0x4e, 0x95, 0x56, 0x29, 0x00, 0x07, 0xeb, + 0x26, 0x78, 0xf8, 0xca, 0x94, 0x83, 0xd7, 0x5a, 0xc0, 0x2a, 0x36, 0x02, 0x7a, 0x5d, 0x78, 0x3f, + 0x2d, 0xfa, 0x90, 0xb1, 0xfe, 0x61, 0x55, 0x69, 0xee, 0x37, 0xd7, 0xdb, 0x47, 0x6c, 0xae, 0x66, + 0xc4, 0x26, 0xc1, 0xcc, 0x66, 0x95, 0x1e, 0x40, 0x3a, 0xea, 0xa3, 0xa1, 0x83, 0x8a, 0x58, 0xa3, + 0xa1, 0x3c, 0x9d, 0xd5, 0xf6, 0x10, 0xf5, 0x7e, 0xba, 0xf7, 0x50, 0xb3, 0x86, 0x47, 0x96, 0x0c, + 0x92, 0x16, 0x94, 0x92, 0x57, 0x9b, 0x01, 0x27, 0x82, 0x08, 0x7b, 0xca, 0xd2, 0x7a, 0xf3, 0xdf, + 0x03, 0x9c, 0x83, 0xc0, 0x5a, 0xf8, 0x10, 0x2d, 0x28, 0xa9, 0x37, 0x9d, 0x41, 0xc2, 0x94, 0x38, + 0x9b, 0xdc, 0x50, 0x27, 0xc7, 0x4c, 0x06, 0x41, 0xcd, 0xfa, 0xd1, 0x02, 0x85, 0xc5, 0x22, 0x25, + 0x56, 0xfe, 0x46, 0x74, 0xa5, 0xbb, 0xdc, 0x9a, 0x83, 0x52, 0x44, 0x4e, 0xc1, 0x6d, 0xcd, 0x6b, + 0x1e, 0xee, 0x0a, 0x17, 0xd9, 0xf2, 0x85, 0xf1, 0xca, 0x60, 0x4f, 0x75, 0x85, 0x8d, 0x32, 0x72, + 0x94, 0xff, 0xfa, 0x4d, 0x8f, 0xcb, 0x83, 0xfe, 0x8f, 0x53, 0x28, 0x36, 0xf0, 0x4b, 0x1d, 0x72, + 0xda, 0x57, 0x48, 0x2d, 0x73, 0xce, 0x9e, 0x7d, 0xde, 0xb3, 0xa2, 0xf5, 0x97, 0x74, 0x1a, 0x12, + 0xe7, 0x4b, 0x8e, 0xaf, 0xa9, 0xfc, 0x8c, 0x2c, 0xb8, 0x65, 0x6b, 0x05, 0xca, 0x29, 0x3a, 0x13, + 0xa3, 0xd3, 0xd4, 0x5d, 0xc3, 0xb8, 0x8a, 0x33, 0x9f, 0xaf, 0x4b, 0x88, 0x0a, 0x31, 0xfa, 0x56, + 0xf7, 0x97, 0x78, 0x71, 0xd6, 0xf3, 0x87, 0x27, 0x2c, 0x30, 0xdb, 0x59, 0xd5, 0x62, 0x97, 0x72, + 0x19, 0xf8, 0xa8, 0x9c, 0xaf, 0x16, 0x7e, 0x76, 0x32, 0xb2, 0x32, 0x9f, 0x94, 0xdf, 0x67, 0x8b, + 0xdd, 0xe4, 0xfb, 0xcb, 0xcd, 0x77, 0xd1, 0x34, 0x1a, 0x83, 0xce, 0x56, 0xbf, 0xea, 0xb4, 0x92, + 0xa8, 0xa0, 0x9b, 0x95, 0xc5, 0x21, 0x8f, 0x71, 0xe0, 0x2c, 0xe6, 0x79, 0x86, 0x47, 0x66, 0x1d, + 0xdc, 0x12, 0xc0, 0x80, 0xf3, 0xd7, 0xb2, 0xd2, 0xdf, 0x12, 0x82, 0xcf, 0x2f, 0x6f, 0x15, 0x66, + 0x6f, 0x4a, 0x77, 0xe9, 0xc0, 0x8b, 0x6c, 0x21, 0xa6, 0x62, 0xfc, 0xaf, 0x5e, 0x79, 0xfc, 0x74, + 0x85, 0x58, 0x76, 0x86, 0x3d, 0xd1, 0xe8, 0x6c, 0x69, 0x73, 0x77, 0xf7, 0x56, 0x72, 0xaa, 0x4a, + 0xc9, 0xbe, 0x12, 0x47, 0x21, 0x3d, 0x54, 0xba, 0xca, 0x71, 0xcc, 0x7a, 0x0c, 0xd5, 0x68, 0x29, + 0x3c, 0xcb, 0x45, 0x88, 0x28, 0x11, 0x73, 0x40, 0xd1, 0x1a, 0xc6, 0xbe, 0xce, 0xaf, 0x88, 0xc9, + 0xbd, 0x4d, 0x72, 0xf5, 0xbd, 0xcc, 0x27, 0x6d, 0x8e, 0x8b, 0xcb, 0xed, 0xe2, 0x7b, 0x09, 0x7d, + 0x0d, 0x2c, 0xc5, 0xe5, 0x15, 0x61, 0x50, 0x84, 0x8c, 0xe5, 0x23, 0xb3, 0x7c, 0x54, 0x81, 0xea, + 0x63, 0x60, 0x1b, 0x68, 0x47, 0x62, 0x94, 0x9e, 0xd8, 0xce, 0x5d, 0x73, 0xa6, 0xb2, 0xd1, 0xe2, + 0xaf, 0x14, 0x89, 0xa4, 0xbf, 0x78, 0xb7, 0x05, 0x15, 0x8f, 0xd2, 0xc1, 0x81, 0xbc, 0x74, 0x6c, + 0xc6, 0x7c, 0x2c, 0xc6, 0x61, 0x8e, 0x39, 0xee, 0x36, 0x69, 0xeb, 0x28, 0x9c, 0x84, 0xa1, 0x2b, + 0xe6, 0xed, 0xb5, 0x00, 0xd3, 0x0b, 0x3b, 0xdf, 0x2f, 0x84, 0x87, 0xab, 0xc4, 0x1d, 0x21, 0x7c, + 0x5a, 0xb0, 0x98, 0x1b, 0xfe, 0x01, 0xdc, 0xbb, 0xf7, 0xa1, 0x45, 0xa3, 0xf7, 0x3d, 0x0b, 0x27, + 0xd0, 0x51, 0x24, 0x6b, 0x56, 0x90, 0x4e, 0x94, 0x89, 0x37, 0xa7, 0x3e, 0xfd, 0x1a, 0xa8, 0x7a, + 0x0f, 0x74, 0xde, 0x67, 0x64, 0x71, 0x69, 0xc8, 0x13, 0x8c, 0xac, 0x80, 0x2d, 0xf4, 0x43, 0x45, + 0x63, 0xc8, 0x14, 0x35, 0x5d, 0x48, 0x1c, 0xbf, 0x8f, 0x18, 0x9f, 0x2e, 0xe3, 0x9b, 0xa0, 0x30, + 0x2d, 0xfb, 0x67, 0x10, 0xfa, 0x5a, 0xbb, 0x21, 0x22, 0x7b, 0xef, 0xb9, 0x94, 0xa2, 0x75, 0x77, + 0xd5, 0x62, 0xa6, 0x99, 0x81, 0xe5, 0x4a, 0xe3, 0x68, 0x4e, 0x57, 0x87, 0xdd, 0x50, 0xb3, 0x57, + 0x61, 0xbc, 0x5e, 0xd1, 0x2a, 0x19, 0xcf, 0xec, 0xc3, 0x2b, 0xb8, 0xb1, 0x95, 0xf6, 0xa9, 0xd9, + 0x92, 0x44, 0x40, 0x49, 0xcc, 0x9c, 0xe3, 0x96, 0xf8, 0x1e, 0x56, 0xb0, 0xdf, 0xed, 0x0d, 0xbd, + 0xfe, 0x78, 0xf3, 0x1f, 0xf8, 0x34, 0x2d, 0x0f, 0xbd, 0xd1, 0x44, 0x74, 0x75, 0xee, 0x9f, 0x18, + 0x1b, 0xe1, 0x61, 0x59, 0x99, 0x93, 0x7d, 0x88, 0xb0, 0xa5, 0xb7, 0x9f, 0x75, 0xec, 0xd2, 0x80, + 0x08, 0x3c, 0xd1, 0x38, 0x16, 0xee, 0xc3, 0x31, 0x9f, 0x37, 0x25, 0xf2, 0xcb, 0xb2, 0xdc, 0xf9, + 0x62, 0x17, 0x8b, 0x48, 0xa5, 0xcc, 0xce, 0xc8, 0xce, 0x20, 0x80, 0x56, 0xff, 0xd2, 0x7c, 0x24, + 0x6b, 0xb6, 0x65, 0x98, 0x22, 0x26, 0xdc, 0xb5, 0x9a, 0x95, 0xa3, 0x63, 0x76, 0x93, 0xfa, 0x89, + 0x35, 0x19, 0x1b, 0xf3, 0x2e, 0xe2, 0x89, 0xab, 0xe6, 0x00, 0x73, 0x81, 0xce, 0x48, 0xcb, 0x77, + 0x59, 0xad, 0x46, 0x26, 0xcb, 0x04, 0x2a, 0xa2, 0x2c, 0x40, 0xf0, 0x04, 0x19, 0x3a, 0x41, 0x88, + 0x88, 0xfc, 0x57, 0x65, 0xed, 0x41, 0x09, 0x9a, 0xe7, 0x13, 0xb4, 0xfe, 0x5c, 0x17, 0xb8, 0x6c, + 0x41, 0x08, 0x2f, 0x0e, 0xb7, 0xcc, 0x26, 0x12, 0x00, 0x88, 0x42, 0xf0, 0x75, 0xdb, 0xc7, 0xbb, + 0x37, 0x7c, 0x6c, 0x04, 0xf9, 0xfb, 0x88, 0x95, 0x5a, 0x22, 0x90, 0xb6, 0xeb, 0xd6, 0x3c, 0xbb, + 0x20, 0x8d, 0xc7, 0x5d, 0xe6, 0xb7, 0x02, 0xbf, 0x57, 0x64, 0xda, 0xeb, 0x2a, 0xe3, 0x23, 0xa6, + 0x91, 0x06, 0x9f, 0x70, 0xfc, 0x99, 0x00, 0xf9, 0xf9, 0x41, 0xf8, 0x15, 0x50, 0xa0, 0x7f, 0xe4, + 0xde, 0x19, 0x21, 0x58, 0x1e, 0xeb, 0x02, 0xf7, 0x5f, 0xe7, 0x52, 0xb3, 0xbc, 0xd4, 0x5e, 0x57, + 0x68, 0xab, 0x4b, 0x7a, 0xd0, 0xe7, 0x71, 0x0a, 0x4c, 0x35, 0xcb, 0xae, 0xb7, 0x31, 0x90, 0x75, + 0xba, 0x4b, 0x77, 0x8b, 0xbf, 0x25, 0xe2, 0x7d, 0x31, 0xfc, 0xc1, 0x16, 0x4f, 0xc8, 0xa6, 0x4d, + 0x62, 0xee, 0xda, 0x8c, 0xc3, 0xcb, 0x3c, 0xbb, 0x93, 0x08, 0x9c, 0x8b, 0x02, 0x71, 0x3b, 0x7e, + 0x97, 0x31, 0x21, 0x40, 0x24, 0xc3, 0x69, 0x89, 0xec, 0xc2, 0xf1, 0x8a, 0xe3, 0x24, 0x90, 0xf4, + 0x4b, 0x46, 0xcb, 0x2e, 0xc3, 0x4b, 0xe5, 0x6e, 0xc2, 0x34, 0x94, 0x64, 0x11, 0x7c, 0xea, 0x44, + 0xae, 0x28, 0xe2, 0xe1, 0x65, 0x7c, 0x76, 0xfa, 0x4f, 0x17, 0x71, 0xb6, 0x74, 0x83, 0xb9, 0x24, + 0x08, 0x5f, 0x4f, 0xe2, 0xa5, 0xcc, 0x3b, 0x29, 0x67, 0x73, 0x11, 0x10, 0x30, 0x83, 0x98, 0x4b, + 0x49, 0x29, 0xe1, 0x89, 0x88, 0x89, 0xa5, 0xdc, 0x56, 0x6e, 0xcd, 0x0d, 0x5a, 0x8d, 0x1d, 0xe7, + 0x06, 0xc3, 0x65, 0x79, 0xda, 0xa9, 0x27, 0x5c, 0xd2, 0x60, 0x65, 0xb1, 0x14, 0xce, 0x97, 0xe3, + 0x9d, 0x9d, 0xa0, 0x11, 0x81, 0xea, 0x15, 0x06, 0xea, 0x1c, 0x8c, 0x8b, 0x51, 0x59, 0x51, 0x2e, + 0x1e, 0x3b, 0xc2, 0x58, 0x6b, 0x1f, 0x3f, 0xd1, 0xee, 0x8c, 0x8a, 0xb5, 0xd9, 0xef, 0x44, 0x4e, + 0x97, 0x50, 0xf5, 0xf6, 0x31, 0xf2, 0x86, 0x12, 0xa6, 0x93, 0xbf, 0xb2, 0xfa, 0xc5, 0xbd, 0xfd, + 0xb0, 0xe4, 0x0f, 0x84, 0xd7, 0x5d, 0x8d, 0xd0, 0xfd, 0x25, 0xdc, 0xc2, 0x1e, 0x1e, 0xf8, 0x11, + 0x6c, 0x56, 0xe4, 0x6b, 0x39, 0xd6, 0xc4, 0xc8, 0x3d, 0x0e, 0x18, 0x7d, 0xfa, 0xdd, 0xe4, 0x5c, + 0x7c, 0x40, 0x3a, 0xed, 0x8c, 0xba, 0x0c, 0xa0, 0x50, 0x2f, 0xf5, 0x77, 0x4b, 0x30, 0xf2, 0x6b, + 0x84, 0xa4, 0x1d, 0xad, 0xbb, 0xdc, 0x7b, 0x7b, 0xf8, 0x2c, 0x03, 0x5c, 0x6d, 0x9d, 0x38, 0x83, + 0x73, 0x12, 0xd0, 0xb4, 0x2c, 0x1e, 0xfb, 0xc5, 0xe1, 0x66, 0x05, 0x83, 0x84, 0xb4, 0xa3, 0xf3, + 0x2a, 0xa4, 0x0c, 0x8e, 0xea, 0xa6, 0x07, 0x88, 0x94, 0xf2, 0x65, 0x72, 0xd4, 0xcf, 0xf8, 0x94, + 0x6f, 0xe3, 0x0d, 0xb0, 0x5a, 0xec, 0x3c, 0xff, 0xd0, 0x79, 0x23, 0x3a, 0x49, 0xbc, 0x31, 0x92, + 0xec, 0x5d, 0xe9, 0x1e, 0xea, 0x8f, 0xf7, 0xde, 0xe1, 0x29, 0x3e, 0x35, 0x4b, 0x8a, 0xda, 0x65, + 0x61, 0x76, 0x52, 0xe2, 0x6c, 0xfe, 0x81, 0x9a, 0x0d, 0xb6, 0xa8, 0xca, 0x12, 0x4c, 0x09, 0xc1, + 0x1a, 0x5b, 0x76, 0x4d, 0x82, 0x8a, 0xdb, 0x34, 0xe4, 0x9d, 0x7c, 0x43, 0xc1, 0xe3, 0x8e, 0xdc, + 0x5b, 0xc9, 0xfe, 0x51, 0x91, 0xf5, 0xaf, 0x63, 0x58, 0x8b, 0xfc, 0x5b, 0x35, 0xfd, 0x31, 0xf4, + 0xa2, 0x9a, 0x3f, 0x9e, 0x58, 0x2c, 0x84, 0xb5, 0x11, 0x5f, 0x0d, 0x55, 0xd4, 0x3f, 0xef, 0x38, + 0x59, 0xca, 0x10, 0x8b, 0x80, 0x35, 0x09, 0xb9, 0x09, 0x09, 0xa7, 0xa6, 0x36, 0xf2, 0x2b, 0xa7, + 0x07, 0xe3, 0xf5, 0xc4, 0x5f, 0x67, 0xb1, 0xde, 0xfc, 0xe0, 0x93, 0xae, 0x6a, 0xcb, 0xe8, 0x99, + 0xf3, 0xbc, 0x15, 0x72, 0xdb, 0xa1, 0xa9, 0x18, 0x18, 0x88, 0x4b, 0x06, 0xe2, 0xc8, 0xaf, 0x4a, + 0x5a, 0x57, 0xdf, 0x1f, 0xfb, 0x61, 0x60, 0x97, 0x06, 0x2e, 0xed, 0x0a, 0x49, 0x51, 0x81, 0xec, + 0xba, 0x2f, 0x20, 0x7a, 0x54, 0x97, 0xac, 0xdf, 0x6e, 0xd1, 0xfc, 0x8d, 0x00, 0x74, 0xdd, 0x96, + 0x5e, 0x9b, 0xa9, 0x80, 0x57, 0x6c, 0x3e, 0xb8, 0xdb, 0x4b, 0x88, 0x9e, 0x3f, 0xd1, 0x88, 0x9e, + 0x52, 0x9d, 0xcb, 0x13, 0xa3, 0x55, 0xe6, 0x16, 0xa9, 0x55, 0x24, 0x4b, 0x3a, 0x6a, 0x84, 0xd9, + 0x1e, 0x7d, 0x47, 0x2d, 0x9d, 0x79, 0x7a, 0xd3, 0x87, 0x1a, 0xfb, 0x22, 0xee, 0x70, 0x31, 0xa9, + 0xda, 0x45, 0x78, 0x3e, 0x42, 0x8c, 0x3d, 0x24, 0xaa, 0xd3, 0x9b, 0x84, 0x69, 0x96, 0xc8, 0x7b, + 0x1f, 0x23, 0xc4, 0x24, 0x86, 0xb4, 0xd9, 0x8f, 0xb4, 0xdd, 0x1e, 0x27, 0x82, 0x13, 0xc3, 0xc9, + 0x74, 0x4f, 0x1b, 0x12, 0x45, 0x49, 0xec, 0x16, 0x80, 0x4b, 0xe0, 0xe2, 0x2b, 0x5f, 0xf8, 0x69, + 0xb6, 0x07, 0x48, 0x5e, 0xad, 0x06, 0xf8, 0x47, 0x6d, 0x2d, 0x1a, 0x2d, 0x7b, 0xdc, 0x31, 0x71, + 0x2d, 0x78, 0x9e, 0xec, 0x27, 0xaa, 0x89, 0xd9, 0x71, 0xa6, 0x1f, 0xcf, 0xe1, 0xa7, 0xb5, 0x89, + 0xb4, 0x94, 0xf8, 0xa9, 0x66, 0xf4, 0xf6, 0xb6, 0x13, 0xa2, 0x81, 0x9e, 0xc4, 0x84, 0x4f, 0xbc, + 0x01, 0xd7, 0x3f, 0xa3, 0x14, 0xc8, 0x7d, 0xc7, 0x17, 0x79, 0x3f, 0x75, 0x32, 0xe9, 0xe0, 0xc4, + 0x71, 0xad, 0xa7, 0xff, 0xfe, 0xe7, 0x97, 0xfe, 0xd4, 0xcf, 0xa9, 0x90, 0x38, 0x2f, 0x96, 0xc1, + 0x48, 0xa9, 0x3d, 0x3d, 0xf0, 0xd1, 0x5b, 0xe6, 0x3b, 0xa4, 0x1b, 0x49, 0x7c, 0xfe, 0x35, 0x54, + 0xee, 0x7f, 0x56, 0xfe, 0xd7, 0xc4, 0xb3, 0xf0, 0x2b, 0x74, 0xb7, 0x14, 0xc4, 0x07, 0xb2, 0x21, + 0x04, 0xbe, 0x72, 0xd5, 0xd0, 0x58, 0xb0, 0x48, 0x34, 0x20, 0xab, 0x76, 0x1e, 0x04, 0xb2, 0x8c, + 0x25, 0x13, 0xc6, 0x9f, 0x64, 0x18, 0xf4, 0xf5, 0x80, 0x44, 0xf4, 0x8b, 0xc1, 0x36, 0x19, 0x61, + 0xea, 0x25, 0x02, 0x91, 0xfc, 0x19, 0x5d, 0x95, 0x7a, 0x67, 0xed, 0x65, 0x05, 0xa5, 0xf2, 0x67, + 0x16, 0xfb, 0x6e, 0x22, 0xd0, 0xd2, 0x4e, 0x4d, 0xdd, 0x2a, 0x60, 0x1a, 0x7c, 0x95, 0xda, 0xf2, + 0x93, 0xe4, 0x65, 0xe9, 0xa8, 0xa4, 0xc1, 0xdb, 0x47, 0xfc, 0x86, 0x7e, 0xd1, 0x0d, 0xac, 0xce, + 0x86, 0xe8, 0x2a, 0xb6, 0x31, 0xad, 0x1b, 0xb5, 0x85, 0x91, 0xdf, 0x20, 0x26, 0x9c, 0xbd, 0x0f, + 0x65, 0xd4, 0xde, 0xec, 0xce, 0x79, 0x31, 0x44, 0xfc, 0xd1, 0x56, 0xb8, 0x88, 0x10, 0x30, 0x19, + 0x8b, 0x72, 0x83, 0xbe, 0x98, 0xf5, 0x0e, 0xfe, 0x82, 0x6a, 0x23, 0xfc, 0xcc, 0x81, 0x6b, 0x11, + 0x45, 0x71, 0x32, 0xbb, 0x2b, 0xc9, 0xab, 0x8c, 0xdf, 0xc9, 0x88, 0x03, 0xb3, 0x18, 0xf1, 0x03, + 0xf4, 0x37, 0x7e, 0x3b, 0xaa, 0x4b, 0x1f, 0x16, 0x40, 0x7f, 0xe1, 0x58, 0xa8, 0xed, 0x90, 0xf3, + 0x51, 0x17, 0x80, 0x01, 0x1e, 0xca, 0x71, 0xc4, 0x0c, 0x19, 0x07, 0x11, 0x9f, 0x51, 0xca, 0x6f, + 0x68, 0x80, 0x2e, 0x7a, 0x42, 0x42, 0xbe, 0x37, 0x7e, 0xcd, 0xb8, 0xb8, 0x87, 0xc0, 0x74, 0x35, + 0x2e, 0xd6, 0x80, 0xc0, 0xbb, 0x16, 0x32, 0x4a, 0x65, 0x11, 0xa7, 0xd8, 0x30, 0xac, 0x4a, 0x04, + 0x19, 0xf2, 0x66, 0x65, 0xc0, 0x6c, 0xc7, 0x45, 0xa6, 0x33, 0x24, 0x22, 0x86, 0xe8, 0xb2, 0x6a, + 0x7f, 0x1a, 0x83, 0x4b, 0xa1, 0x97, 0x74, 0xc0, 0xcb, 0xb1, 0x32, 0xc1, 0x6d, 0x79, 0xc8, 0x7d, + 0x0e, 0xb8, 0x2a, 0xa0, 0xd9, 0x09, 0x12, 0x0d, 0x84, 0x2f, 0x7a, 0x88, 0x3f, 0xa6, 0x31, 0x38, + 0x6d, 0xe3, 0x3e, 0x40, 0x55, 0x24, 0x16, 0x3e, 0xbb, 0xf6, 0xba, 0x16, 0x0f, 0x22, 0xc2, 0x8a, + 0x89, 0x3f, 0xf0, 0x7b, 0xf5, 0xc0, 0xed, 0xed, 0x46, 0x2d, 0x6e, 0x79, 0x5c, 0x80, 0xad, 0x39, + 0x07, 0x02, 0x03, 0xbd, 0x25, 0xad, 0x7f, 0x77, 0xb2, 0x90, 0xcc, 0x58, 0xdb, 0x78, 0xcd, 0x91, + 0xde, 0xa2, 0x38, 0x87, 0xcb, 0x01, 0xac, 0xc6, 0x99, 0xd3, 0xfe, 0x29, 0x61, 0xb6, 0xab, 0xe2, + 0x42, 0x00, 0xfc, 0xc3, 0xc0, 0xe6, 0x15, 0xee, 0x8e, 0x72, 0xf1, 0x0a, 0xc0, 0x5c, 0xe0, 0xf9, + 0xee, 0x4a, 0x34, 0x91, 0xea, 0x38, 0x65, 0x0f, 0xd6, 0x0d, 0x89, 0xd5, 0xb6, 0x22, 0x18, 0x8b, + 0x40, 0x00, 0xc6, 0x35, 0x1f, 0xa0, 0xb1, 0x81, 0x2e, 0x59, 0x3d, 0xdd, 0x92, 0x9a, 0xab, 0x35, + 0x81, 0x99, 0x8e, 0x68, 0x7b, 0x0c, 0xa3, 0x0d, 0x26, 0xd8, 0x68, 0x1b, 0x64, 0xe7, 0xd4, 0x81, + 0x57, 0xe6, 0xd7, 0x11, 0x41, 0xa7, 0x9c, 0xa6, 0x8b, 0xd9, 0x57, 0xa1, 0x4a, 0x10, 0x35, 0x37, + 0x9b, 0xaa, 0x74, 0x12, 0x62, 0xb4, 0xd0, 0x10, 0xcc, 0x76, 0x93, 0x4d, 0x57, 0x25, 0x1d, 0x93, + 0x32, 0xf4, 0x41, 0xb7, 0x63, 0x4e, 0xe5, 0x50, 0x1d, 0xbf, 0x17, 0x96, 0x5c, 0x17, 0x6c, 0x99, + 0x83, 0xe7, 0xf0, 0x3c, 0x17, 0xd9, 0x42, 0x8f, 0x0c, 0xbc, 0x54, 0xdd, 0xdb, 0xe8, 0x51, 0xab, + 0xb7, 0x8c, 0xe3, 0x3b, 0x76, 0xca, 0x53, 0x4a, 0x5c, 0x77, 0x6c, 0xfd, 0xba, 0x2f, 0xf3, 0x8e, + 0xe8, 0xa4, 0xcd, 0x07, 0xd2, 0x10, 0xbd, 0x8f, 0x17, 0xd8, 0x1e, 0x3a, 0x6b, 0x20, 0x05, 0xf5, + 0xab, 0x82, 0xbe, 0xb9, 0x1a, 0xc2, 0x65, 0xa1, 0xb4, 0x6a, 0xb1, 0xb4, 0x8d, 0xb7, 0x70, 0xfb, + 0x8c, 0xbe, 0xfd, 0x3c, 0x5b, 0x51, 0x33, 0x6d, 0x0d, 0xdc, 0x1b, 0xba, 0xb6, 0x60, 0xdb, 0xe2, + 0xed, 0xda, 0x29, 0x70, 0xb4, 0xdd, 0x08, 0xd6, 0xab, 0x07, 0xc6, 0x31, 0xef, 0x6a, 0x37, 0xb8, + 0x24, 0x28, 0x24, 0x92, 0x54, 0xf1, 0x92, 0x48, 0x3c, 0xa2, 0x89, 0x9f, 0xcf, 0xd2, 0xbb, 0x87, + 0x40, 0x21, 0x00, 0x91, 0xd8, 0xb1, 0xf0, 0x41, 0x3e, 0x2a, 0x23, 0xe2, 0x42, 0xa3, 0x3b, 0x2f, + 0xf6, 0xe3, 0x2e, 0x24, 0x71, 0x9c, 0x1c, 0x09, 0xe6, 0xf0, 0xca, 0x35, 0x66, 0x81, 0x63, 0xf9, + 0x33, 0xb8, 0xcf, 0x04, 0xdb, 0x5d, 0x12, 0xe0, 0x31, 0x9b, 0xa3, 0x6e, 0x4e, 0x0f, 0xf6, 0x82, + 0xeb, 0xeb, 0xe3, 0xa5, 0xd1, 0xac, 0x7b, 0xca, 0x24, 0x83, 0x29, 0x34, 0x09, 0x4e, 0x54, 0x89, + 0x8d, 0x59, 0x9c, 0xde, 0xd7, 0xfa, 0xbc, 0x66, 0x16, 0xbd, 0xde, 0xc8, 0xc4, 0x28, 0xf6, 0xaf, + 0xff, 0x27, 0xa8, 0xa3, 0x6e, 0xe8, 0xfe, 0xa9, 0x65, 0x85, 0x95, 0xc6, 0x52, 0x6d, 0xa0, 0x47, + 0xcd, 0x7f, 0x3d, 0xab, 0x4b, 0xc8, 0x0d, 0x89, 0x19, 0x06, 0xdc, 0x94, 0xcd, 0x11, 0x8e, 0x00, + 0x66, 0x51, 0x40, 0x59, 0xfb, 0x1e, 0xc0, 0xac, 0x71, 0x25, 0xda, 0xfb, 0xee, 0xc5, 0xc5, 0x84, + 0x97, 0x6e, 0xda, 0x01, 0x2c, 0x05, 0x08, 0x34, 0x9e, 0xea, 0x8b, 0x00, 0xfe, 0xc0, 0xa6, 0x38, + 0x3d, 0x54, 0xc2, 0x1c, 0xc5, 0xa8, 0x93, 0x9e, 0x72, 0xbd, 0x4a, 0xde, 0x2a, 0x08, 0x08, 0x64, + 0x7d, 0xe9, 0xee, 0x79, 0x09, 0x2d, 0x0e, 0x9b, 0x50, 0x12, 0xf1, 0x29, 0x95, 0xcc, 0xe3, 0x67, + 0x1a, 0x26, 0x6f, 0x98, 0xcc, 0x03, 0xe7, 0xa7, 0xe1, 0xac, 0x68, 0x63, 0x76, 0x1a, 0x8b, 0x0f, + 0xf2, 0x39, 0xba, 0xe1, 0x43, 0xdc, 0x9c, 0xbd, 0x50, 0x9b, 0x0f, 0xa8, 0x98, 0x1f, 0x6e, 0x9e, + 0x5a, 0x47, 0x2d, 0x2d, 0xef, 0x01, 0xde, 0xc1, 0xba, 0x72, 0x35, 0x63, 0x6b, 0x77, 0x97, 0xfa, + 0x05, 0x6a, 0xd7, 0xc7, 0x09, 0x24, 0xea, 0x4c, 0x05, 0x4b, 0xeb, 0x53, 0xa1, 0xbf, 0x83, 0xb0, + 0x06, 0x87, 0xac, 0x5f, 0xfc, 0x78, 0xd0, 0x94, 0x42, 0x3d, 0x97, 0x4a, 0x0c, 0x8f, 0x6b, 0xca, + 0xcc, 0xe4, 0x29, 0x2a, 0x31, 0xce, 0xe1, 0x3e, 0xb0, 0xe7, 0x5b, 0x52, 0xa0, 0x87, 0xe1, 0xe3, + 0x79, 0xd7, 0xda, 0x64, 0xdb, 0x34, 0x5f, 0x42, 0xbe, 0x7c, 0x51, 0x80, 0x99, 0xbf, 0xc2, 0x33, + 0xdf, 0x0a, 0x73, 0xba, 0x83, 0xb3, 0x1c, 0xad, 0x18, 0x11, 0x3a, 0x58, 0xec, 0xaa, 0x46, 0xb3, + 0xea, 0x09, 0xec, 0x6c, 0xe7, 0xdf, 0x83, 0xe4, 0x83, 0x66, 0xa1, 0x29, 0xdd, 0xb2, 0x43, 0x33, + 0x01, 0x2a, 0x75, 0x41, 0x9a, 0xab, 0x01, 0x56, 0x28, 0xa3, 0xfb, 0xc0, 0x18, 0xe4, 0x64, 0x36, + 0x91, 0x8d, 0x9c, 0x63, 0x3b, 0x3d, 0xf4, 0x23, 0xfd, 0xc6, 0x35, 0x2d, 0xbd, 0x6f, 0x32, 0xe3, + 0xac, 0x96, 0xde, 0xd9, 0xc6, 0xdd, 0x59, 0x8b, 0xcb, 0x62, 0x4c, 0x12, 0xf6, 0x3e, 0x8e, 0xcf, + 0x6d, 0x50, 0x7d, 0xf8, 0x86, 0xe6, 0x4a, 0x52, 0x38, 0xe6, 0x30, 0xac, 0x89, 0x9c, 0xfb, 0x6a, + 0x3c, 0xb9, 0x0e, 0x76, 0x5c, 0xa0, 0xe8, 0xf2, 0x60, 0x0b, 0x7d, 0xdc, 0xf9, 0xc9, 0xb5, 0x0d, + 0xb7, 0x15, 0x99, 0xa1, 0xf4, 0x55, 0x00, 0xed, 0x5a, 0xb4, 0x60, 0x2c, 0x8e, 0xb9, 0x83, 0x59, + 0x64, 0xba, 0xcf, 0xee, 0x2f, 0x67, 0xdb, 0x00, 0xf7, 0xae, 0xcd, 0xe6, 0x72, 0xf2, 0xb4, 0xda, + 0x14, 0x55, 0x2f, 0xb0, 0x4a, 0x3a, 0x1c, 0x11, 0x71, 0xc7, 0xb2, 0x5d, 0x4e, 0x93, 0x9b, 0x32, + 0x3a, 0xa0, 0x03, 0x4e, 0x67, 0xf7, 0x10, 0x12, 0x18, 0x6b, 0x17, 0x34, 0xf9, 0x68, 0x19, 0x57, + 0x29, 0xdb, 0xf6, 0x00, 0x52, 0x06, 0x4b, 0x2c, 0x9c, 0x32, 0x0a, 0x27, 0x5f, 0x8b, 0x9f, 0xbb, + 0xd0, 0x46, 0x07, 0x7f, 0x98, 0xfb, 0x27, 0x61, 0xff, 0xe1, 0x4d, 0xcb, 0xad, 0xa0, 0x06, 0x08, + 0x64, 0x51, 0x28, 0x93, 0x72, 0x46, 0x1b, 0xfe, 0x44, 0xd7, 0x68, 0x6d, 0x63, 0x0a, 0x10, 0xbf, + 0x35, 0x2b, 0xb1, 0x07, 0x53, 0x2d, 0x3c, 0x66, 0x3a, 0x84, 0xee, 0xc0, 0x7e, 0x65, 0xaf, 0xa7, + 0xde, 0xcd, 0xd0, 0xbe, 0x29, 0x28, 0x53, 0x01, 0xf2, 0x8b, 0x76, 0x07, 0xb3, 0xdd, 0x57, 0xc0, + 0x0f, 0x6c, 0xa1, 0x70, 0x13, 0xde, 0x12, 0x18, 0xa9, 0xc6, 0x4f, 0xe3, 0x08, 0xaa, 0x82, 0x72, + 0x36, 0x3e, 0xc3, 0xa8, 0x19, 0x1d, 0x32, 0x96, 0x5a, 0xef, 0x10, 0x51, 0xc1, 0xc2, 0x61, 0x8d, + 0x9f, 0xf1, 0x97, 0xac, 0xdd, 0x6f, 0xad, 0x4a, 0xa7, 0x48, 0xd4, 0xaf, 0x37, 0x14, 0x47, 0x6b, + 0x6a, 0xbb, 0x67, 0x66, 0xc8, 0x3d, 0xf9, 0xff, 0x49, 0x35, 0xea, 0xdd, 0x55, 0x56, 0xbc, 0xe6, + 0x95, 0xae, 0xe6, 0x13, 0x82, 0xe7, 0x52, 0x68, 0x1a, 0xa5, 0x27, 0x79, 0xe6, 0xd3, 0x71, 0x89, + 0xf5, 0xc9, 0xec, 0x54, 0x93, 0x27, 0x68, 0x9b, 0x81, 0xf8, 0x31, 0x9a, 0x5f, 0xd3, 0xd6, 0xec, + 0x88, 0xb3, 0x58, 0x43, 0xf3, 0x04, 0xf1, 0xba, 0x88, 0x07, 0xe1, 0xe4, 0x1d, 0x67, 0xcc, 0xf4, + 0x74, 0xe4, 0xda, 0xfb, 0x8f, 0x6b, 0xe6, 0x66, 0x16, 0xcb, 0x15, 0xa9, 0x17, 0xef, 0xb2, 0xac, + 0xa0, 0x44, 0xe4, 0xe0, 0x68, 0x9e, 0xa5, 0x01, 0x2d, 0x59, 0x86, 0xf2, 0x54, 0xff, 0xe7, 0x54, + 0x20, 0x4e, 0x3a, 0x48, 0xfa, 0xa2, 0x61, 0xe2, 0x29, 0x07, 0x3d, 0xca, 0x9e, 0x17, 0x86, 0xf5, + 0xb0, 0x78, 0x47, 0x9f, 0x77, 0x8e, 0x8f, 0x5c, 0xe0, 0x8e, 0x32, 0x70, 0x45, 0x7f, 0x4b, 0x5e, + 0xa0, 0xe5, 0x23, 0x6d, 0x94, 0x10, 0x98, 0x64, 0xe5, 0xd2, 0x59, 0x6b, 0x20, 0xf6, 0x4c, 0xa0, + 0xce, 0xe6, 0x7f, 0x0c, 0x9f, 0xd2, 0x8e, 0x2c, 0xcd, 0xe5, 0xcd, 0x49, 0xd9, 0xe3, 0x94, 0x35, + 0x04, 0x0c, 0x44, 0x8f, 0x5d, 0x48, 0x96, 0x87, 0x55, 0x53, 0x22, 0x89, 0xf5, 0x1f, 0xe2, 0x35, + 0x4f, 0xdb, 0xc6, 0xa1, 0xb8, 0xdb, 0x50, 0xf3, 0x25, 0x1e, 0x69, 0x87, 0xd8, 0x05, 0xa1, 0x8f, + 0x06, 0x54, 0xc4, 0x8b, 0x1f, 0x61, 0xd3, 0x7e, 0x43, 0x79, 0x3f, 0x0d, 0x8f, 0x1a, 0x34, 0xb9, + 0x51, 0x20, 0xf4, 0x9b, 0x68, 0x40, 0x29, 0x80, 0xcb, 0xa0, 0xfe, 0xf3, 0xe4, 0x7c, 0x83, 0x58, + 0x72, 0x01, 0x15, 0x93, 0xe5, 0x13, 0x8b, 0x87, 0xf4, 0x11, 0xd4, 0x61, 0xc9, 0x5b, 0x90, 0xc7, + 0x4c, 0x94, 0x9f, 0xc5, 0x64, 0xe9, 0x11, 0xd4, 0xda, 0x3b, 0xb4, 0x27, 0xe9, 0x3d, 0x27, 0x88, + 0x51, 0xe8, 0xfd, 0xb3, 0xbd, 0xab, 0xde, 0xf0, 0x8f, 0xba, 0xa8, 0xa6, 0x99, 0x35, 0x0e, 0x33, + 0x51, 0x10, 0x2e, 0x70, 0x75, 0xd8, 0x45, 0xb7, 0x21, 0x1d, 0xe4, 0x90, 0xe7, 0xe2, 0xbf, 0x50, + 0x8d, 0x6b, 0x91, 0x2f, 0x46, 0x9e, 0xff, 0x02, 0x06, 0xec, 0xbc, 0xb7, 0xe4, 0x13, 0xdc, 0x0d, + 0x01, 0x63, 0x1f, 0x2c, 0xe3, 0x02, 0xfc, 0x64, 0x1a, 0xfa, 0x15, 0x47, 0xbd, 0x97, 0x9f, 0x9b, + 0xdd, 0xaf, 0x3b, 0x30, 0x25, 0xc1, 0xc1, 0xef, 0x19, 0xb4, 0x7a, 0xc5, 0xfe, 0xcd, 0x08, 0xcc, + 0xc1, 0x3a, 0x06, 0xb1, 0xb2, 0x47, 0x76, 0x6b, 0xf3, 0x09, 0x83, 0x5e, 0x80, 0x93, 0x58, 0x8b, + 0x38, 0x97, 0x73, 0x86, 0xc3, 0x1f, 0x94, 0x0f, 0x46, 0x72, 0xb1, 0x93, 0x70, 0x0f, 0x69, 0xc7, + 0x55, 0x7b, 0x47, 0xa5, 0x97, 0xd0, 0xde, 0x62, 0x58, 0xf8, 0x57, 0x50, 0xd8, 0x92, 0x31, 0xbd, + 0xdf, 0x6f, 0x84, 0xd7, 0x71, 0x2a, 0x72, 0xf5, 0x06, 0x6a, 0xda, 0x03, 0xed, 0xbf, 0x84, 0x0e, + 0xd2, 0x35, 0xa0, 0x72, 0x0f, 0x43, 0x0e, 0x5d, 0x35, 0xcc, 0xcb, 0x4f, 0xc3, 0xb6, 0x41, 0x10, + 0xa2, 0x6a, 0xbe, 0x7c, 0xbf, 0xfb, 0xbf, 0x86, 0xc2, 0x99, 0xc4, 0xae, 0xa7, 0x40, 0xb3, 0x0d, + 0x9b, 0x8f, 0x42, 0x30, 0x18, 0xe9, 0x28, 0x28, 0x0b, 0x87, 0x4b, 0x3e, 0xbe, 0x6c, 0x83, 0x8f, + 0x24, 0xce, 0x88, 0xf3, 0x6c, 0xe5, 0xad, 0xb4, 0x88, 0x6e, 0x49, 0x60, 0x31, 0xa8, 0x95, 0x9a, + 0x1b, 0x12, 0x7f, 0x7e, 0x73, 0x85, 0xa7, 0xe9, 0x3c, 0x55, 0xcf, 0x29, 0x31, 0x65, 0x96, 0xe3, + 0x89, 0x9a, 0xd8, 0x6d, 0xc3, 0x10, 0x0b, 0xaa, 0xca, 0xd9, 0x7e, 0x0c, 0x9f, 0xc9, 0x62, 0x05, + 0x65, 0x6c, 0x77, 0x5e, 0x7a, 0x1d, 0xcb, 0x39, 0xec, 0x21, 0xe6, 0xd2, 0xe3, 0x18, 0x6e, 0xb3, + 0x33, 0xaa, 0x8f, 0xa9, 0xa8, 0x0e, 0x8a, 0x8c, 0x95, 0x5e, 0xd2, 0x0d, 0xd5, 0x48, 0x9c, 0xc8, + 0x43, 0x2f, 0x47, 0x06, 0x9d, 0x52, 0x67, 0xc2, 0xf5, 0x7a, 0x86, 0x75, 0x7a, 0xc5, 0x29, 0xfa, + 0xbc, 0xa3, 0x3f, 0x74, 0xcc, 0x9a, 0x8b, 0xa3, 0x9b, 0xea, 0xac, 0x53, 0x72, 0x99, 0x60, 0x91, + 0x0a, 0x7c, 0x11, 0x0e, 0x0c, 0x44, 0xe2, 0x82, 0x9c, 0x8c, 0x06, 0xad, 0x9c, 0xd5, 0xba, 0x6a, + 0x8e, 0x7d, 0xe7, 0x68, 0x3f, 0xbd, 0xb3, 0x1f, 0x59, 0x73, 0x25, 0x5f, 0x05, 0x24, 0xf6, 0x28, + 0x98, 0x58, 0x28, 0xad, 0x91, 0xbd, 0x3c, 0xda, 0xbb, 0xc5, 0x7f, 0xc4, 0x69, 0x7f, 0xdc, 0xd9, + 0xb4, 0x1e, 0xb0, 0x86, 0x63, 0xe9, 0x49, 0x0a, 0xac, 0xc9, 0xce, 0x8f, 0x17, 0x39, 0xe5, 0xa2, + 0x98, 0x2e, 0xe5, 0x89, 0xb9, 0x3d, 0xcb, 0xfa, 0x6e, 0xcb, 0x29, 0x72, 0x5c, 0x25, 0xdb, 0xec, + 0xc0, 0x60, 0xa6, 0x60, 0x14, 0x82, 0x6e, 0x15, 0x91, 0xef, 0x11, 0x1c, 0xdd, 0x25, 0xff, 0xc1, + 0x27, 0x5e, 0xb4, 0xe7, 0xd4, 0x78, 0xa0, 0x71, 0x86, 0x44, 0xe0, 0xc2, 0xf6, 0x54, 0xed, 0xc8, + 0x74, 0x3e, 0xa7, 0x98, 0x6d, 0x4c, 0x86, 0xdf, 0xc1, 0x79, 0x67, 0x98, 0x3d, 0x5c, 0x0c, 0x17, + 0xdf, 0x64, 0x32, 0x34, 0xf9, 0x60, 0xb9, 0x0e, 0x09, 0x96, 0x82, 0x74, 0xa6, 0x10, 0x44, 0x70, + 0xd1, 0x19, 0xe1, 0x96, 0xda, 0x66, 0x95, 0x55, 0xbb, 0xb3, 0xd0, 0xc9, 0xa5, 0xea, 0x40, 0x17, + 0xdf, 0x97, 0x79, 0x16, 0x97, 0x5c, 0x24, 0x1e, 0x76, 0xf2, 0xf3, 0xb0, 0xf1, 0x50, 0x0f, 0xf6, + 0xf2, 0x4c, 0x30, 0xfa, 0xaa, 0xc1, 0x4b, 0xb9, 0x93, 0x04, 0x22, 0x6e, 0x44, 0x9e, 0xb1, 0xde, + 0xfd, 0xfc, 0x88, 0xae, 0xa9, 0xa5, 0xc2, 0x10, 0xf8, 0xec, 0x2a, 0x67, 0x18, 0x56, 0x25, 0x6d, + 0x39, 0x18, 0xa8, 0x63, 0x04, 0x2b, 0x73, 0xbf, 0xbc, 0x53, 0x87, 0x1f, 0x8d, 0x91, 0xef, 0x45, + 0x10, 0x4f, 0x27, 0x21, 0x97, 0x97, 0x0f, 0x2e, 0xac, 0xc2, 0xd9, 0xdf, 0xee, 0x3f, 0x7f, 0x7d, + 0x04, 0x1d, 0xde, 0xe8, 0x3b, 0x90, 0x9f, 0xb6, 0xaa, 0x0c, 0xa1, 0x07, 0x29, 0x95, 0xb4, 0x7b, + 0xa9, 0x2b, 0xbb, 0x91, 0x81, 0xcf, 0xa4, 0xa9, 0x5f, 0xb0, 0xd4, 0xcc, 0xf3, 0xf5, 0x47, 0x83, + 0x5f, 0x37, 0x11, 0x0a, 0x62, 0x28, 0xdb, 0x16, 0xfe, 0xb5, 0x8a, 0x62, 0xe9, 0xcb, 0x66, 0x33, + 0xc8, 0x32, 0x27, 0x95, 0x55, 0xe3, 0x41, 0xb1, 0x34, 0x80, 0x45, 0x23, 0x2d, 0x84, 0x26, 0x37, + 0xf8, 0x77, 0x85, 0x1e, 0xae, 0xba, 0xfd, 0x85, 0x59, 0x0f, 0xf1, 0xb7, 0x97, 0xa9, 0xf3, 0xf5, + 0x1b, 0xaa, 0x01, 0x8e, 0x20, 0x66, 0x38, 0x1f, 0xff, 0xb0, 0x63, 0xb6, 0xbc, 0xe2, 0x75, 0x99, + 0x30, 0xe2, 0xa3, 0x3a, 0x1e, 0xa3, 0xa9, 0xb4, 0xf2, 0x2f, 0x61, 0xf7, 0xc8, 0x43, 0x26, 0xae, + 0x9b, 0x58, 0x1f, 0x18, 0x23, 0xe9, 0x60, 0x51, 0x64, 0x2c, 0x51, 0x93, 0x38, 0x79, 0x47, 0xf5, + 0x5f, 0x4c, 0x84, 0xe4, 0xc8, 0x07, 0xd0, 0x37, 0x8a, 0xcd, 0x61, 0x58, 0xad, 0x08, 0xbe, 0xd0, + 0xa3, 0xa8, 0x73, 0x9c, 0x3a, 0xa7, 0xa5, 0xeb, 0x5b, 0x1e, 0x88, 0xae, 0x38, 0x9f, 0x78, 0x49, + 0x07, 0x24, 0xf7, 0xf3, 0xdc, 0x17, 0x11, 0x73, 0x69, 0xd0, 0xfa, 0xd8, 0x18, 0x31, 0x4d, 0x94, + 0x7b, 0xc2, 0xe2, 0x06, 0x33, 0x2a, 0xce, 0xc3, 0xea, 0x7c, 0x93, 0x58, 0x96, 0x36, 0xe1, 0x09, + 0x4f, 0x08, 0x17, 0xf5, 0x4a, 0xb8, 0xc7, 0x8e, 0xb0, 0xad, 0x5f, 0xb6, 0xcc, 0x6a, 0xe7, 0xc5, + 0x14, 0x0e, 0xca, 0xb4, 0x9a, 0x5a, 0x58, 0x95, 0x24, 0x25, 0xaf, 0xee, 0x24, 0xcb, 0xe2, 0x6e, + 0x2d, 0x94, 0xc3, 0x94, 0xad, 0x8d, 0xae, 0x53, 0xe1, 0x00, 0xe9, 0xc0, 0x0e, 0x8c, 0xf5, 0x67, + 0xf3, 0x2f, 0xa5, 0x24, 0xea, 0xc7, 0xfb, 0x30, 0x92, 0xb6, 0x12, 0xb4, 0x36, 0xa5, 0x64, 0x3a, + 0x5f, 0x1e, 0x0b, 0xf8, 0xad, 0xd6, 0x86, 0x93, 0x33, 0xdf, 0x77, 0x8a, 0x36, 0x39, 0xae, 0x4c, + 0x13, 0x54, 0x07, 0xbf, 0xc1, 0x3d, 0x46, 0x1a, 0x27, 0x5d, 0xb0, 0x8f, 0x93, 0xe6, 0xae, 0x59, + 0x0f, 0x7a, 0x06, 0x9b, 0xa6, 0x11, 0x55, 0x01, 0x3c, 0x5e, 0x68, 0x88, 0x09, 0x2b, 0x28, 0xff, + 0x2c, 0x97, 0x85, 0x39, 0x83, 0x14, 0x0a, 0xeb, 0x19, 0xc4, 0x1d, 0xfd, 0x5f, 0xc2, 0xf3, 0x80, + 0x3e, 0x25, 0xa4, 0xb1, 0x3a, 0x23, 0x6e, 0xd5, 0x8a, 0x98, 0xf7, 0x73, 0xcb, 0xdd, 0x03, 0x4e, + 0xd0, 0xc6, 0x7b, 0x40, 0xf1, 0xe0, 0x58, 0xe8, 0xe4, 0x9b, 0x28, 0x32, 0x77, 0x2b, 0x82, 0xa7, + 0x8b, 0xb8, 0x5d, 0x0e, 0x83, 0xa2, 0x7e, 0x65, 0x10, 0x9d, 0x9d, 0xe2, 0xe3, 0xbc, 0xe1, 0xae, + 0x2a, 0xa8, 0x1e, 0x72, 0x4d, 0x23, 0xbf, 0x73, 0xbb, 0xcb, 0x67, 0x45, 0xee, 0xf2, 0x31, 0x00, + 0xe4, 0x69, 0xc0, 0x11, 0xf8, 0xc4, 0xe8, 0x46, 0x57, 0xaf, 0x6f, 0x57, 0xdb, 0x56, 0x15, 0x5a, + 0x0a, 0x9f, 0x6b, 0x54, 0x44, 0xed, 0xbc, 0xff, 0x12, 0x00, 0xd4, 0xa0, 0x48, 0x68, 0x6a, 0x3a, + 0x4b, 0x01, 0x6d, 0x23, 0x08, 0xeb, 0x8d, 0x53, 0xc8, 0xc0, 0x41, 0xf4, 0x12, 0x65, 0xf2, 0x7a, + 0x62, 0xd3, 0xd7, 0xa7, 0xbf, 0x25, 0xf4, 0xf3, 0x17, 0x8c, 0x38, 0xfc, 0x65, 0xae, 0xd6, 0x9d, + 0x38, 0x1c, 0xf0, 0x6a, 0xb7, 0x93, 0x00, 0x30, 0xa2, 0xda, 0xf8, 0xf3, 0xda, 0xb3, 0x51, 0xf6, + 0xd8, 0x41, 0x81, 0xa7, 0x56, 0x30, 0x9a, 0x10, 0xd9, 0x54, 0xe9, 0x25, 0xa7, 0xe8, 0xfe, 0xdd, + 0x1b, 0x5b, 0xbb, 0x04, 0xa0, 0x4a, 0x39, 0x35, 0xeb, 0x5a, 0xa3, 0xe0, 0xae, 0x80, 0x02, 0x97, + 0xae, 0xfa, 0x3c, 0x70, 0x8b, 0xbd, 0xf5, 0xe5, 0xba, 0x14, 0x99, 0xd6, 0x98, 0x42, 0x33, 0x54, + 0xb4, 0x5f, 0x90, 0xd5, 0x7b, 0x81, 0x8c, 0x01, 0xdb, 0xbc, 0x68, 0x85, 0x7d, 0x86, 0xd0, 0x93, + 0x22, 0x70, 0xf6, 0x91, 0xac, 0xb9, 0xb9, 0xd1, 0xc7, 0x22, 0x03, 0x41, 0x02, 0x64, 0x47, 0x76, + 0x01, 0x18, 0xa7, 0xc6, 0x69, 0x90, 0x36, 0x62, 0xf2, 0xd1, 0x9f, 0xb4, 0xc9, 0x0f, 0x91, 0xe9, + 0xdb, 0x80, 0xa8, 0xb7, 0x78, 0xb1, 0x8b, 0x26, 0x72, 0x1d, 0x28, 0x1e, 0x14, 0x4b, 0x55, 0xea, + 0x65, 0x41, 0x74, 0x1e, 0x09, 0x1c, 0x2b, 0xa1, 0x56, 0x44, 0x3a, 0x2b, 0x2b, 0x3f, 0xb4, 0x9e, + 0x43, 0x09, 0x4f, 0x5f, 0xf9, 0x64, 0x80, 0xbd, 0xfa, 0xeb, 0x13, 0x01, 0xb1, 0x09, 0x8f, 0x45, + 0x4a, 0x48, 0xd6, 0x5e, 0xf6, 0x6a, 0x0a, 0x90, 0x38, 0x60, 0x3a, 0xdb, 0x32, 0x75, 0x47, 0x17, + 0x0e, 0x86, 0x25, 0x0a, 0xdc, 0x35, 0x83, 0x4c, 0x78, 0x32, 0xd6, 0xa6, 0xee, 0xba, 0x14, 0x5d, + 0x91, 0x8f, 0xa2, 0xba, 0x26, 0xdb, 0xba, 0xa4, 0xbc, 0x38, 0xe8, 0xf2, 0x58, 0xe9, 0x71, 0x13, + 0x40, 0x58, 0xba, 0xc0, 0x0a, 0x08, 0x82, 0x5d, 0xb0, 0x31, 0xe7, 0x56, 0x50, 0x24, 0x28, 0x5b, + 0xf1, 0x48, 0x54, 0x7e, 0xb9, 0x22, 0x15, 0x87, 0x91, 0xb3, 0x22, 0xbf, 0x58, 0x32, 0x0a, 0x61, + 0x56, 0xc0, 0x30, 0xe5, 0xeb, 0x52, 0xff, 0x27, 0x60, 0xa5, 0xb9, 0x20, 0x60, 0xde, 0x84, 0x83, + 0x9c, 0x99, 0x1c, 0x44, 0x22, 0xa3, 0xdf, 0x54, 0xa0, 0xda, 0x25, 0x3e, 0xf3, 0x0f, 0x43, 0xc6, + 0x51, 0x99, 0x12, 0x05, 0xa0, 0x8a, 0x47, 0x12, 0xe7, 0x86, 0x31, 0x35, 0xb2, 0x4c, 0xe5, 0xe1, + 0xdb, 0x94, 0xa3, 0x85, 0xa8, 0xda, 0x10, 0x49, 0x8b, 0xe5, 0xa2, 0xf9, 0x3b, 0xf0, 0x13, 0xd2, + 0xc1, 0x5a, 0x58, 0x31, 0x7b, 0x2f, 0x0e, 0x59, 0xc7, 0xd4, 0x71, 0x9b, 0x45, 0xa8, 0xb7, 0x87, + 0xbf, 0x95, 0xf9, 0x6c, 0x02, 0x09, 0x1b, 0x44, 0xfe, 0x35, 0x63, 0xdb, 0x5b, 0x15, 0x04, 0xe0, + 0xaf, 0xc8, 0xd3, 0xa9, 0x34, 0x49, 0x17, 0x73, 0x73, 0x15, 0x2a, 0xe2, 0xe4, 0x14, 0x51, 0x5c, + 0x02, 0x8e, 0xc4, 0xb9, 0xbc, 0x10, 0xdd, 0x1e, 0xa4, 0x09, 0xab, 0x0a, 0x83, 0x07, 0xa8, 0x96, + 0x2e, 0x7b, 0x08, 0x4e, 0x04, 0x8f, 0xa7, 0x2d, 0x99, 0x00, 0xcd, 0xcd, 0x0b, 0x64, 0x73, 0x1e, + 0x74, 0x63, 0x04, 0x66, 0x07, 0x32, 0xd6, 0xbd, 0x31, 0xa0, 0x61, 0x4a, 0xdc, 0x64, 0xe4, 0x7f, + 0x80, 0x7c, 0xd4, 0xd4, 0xc8, 0xed, 0x74, 0xc0, 0x9c, 0x58, 0x0b, 0xea, 0x2b, 0xb8, 0xe8, 0xf6, + 0xe2, 0x67, 0x9a, 0xa2, 0x75, 0x91, 0x96, 0x76, 0xf5, 0x2d, 0xd4, 0x93, 0x5a, 0xf0, 0x24, 0xe1, + 0xc1, 0x78, 0x26, 0xb6, 0x84, 0x38, 0xf7, 0x36, 0xf7, 0xe3, 0x12, 0x35, 0xb4, 0xe4, 0xa5, 0xaa, + 0x48, 0xa2, 0xc2, 0xbc, 0xcf, 0xd3, 0x62, 0x8c, 0x1b, 0x4f, 0x56, 0xaf, 0xfe, 0x04, 0x73, 0x7f, + 0x8c, 0x19, 0x53, 0xd5, 0xc9, 0xb2, 0x7c, 0xa1, 0x4a, 0x1e, 0x41, 0xb4, 0x83, 0xf2, 0xd0, 0xb1, + 0xea, 0x5c, 0xc8, 0xac, 0xbf, 0x69, 0xe6, 0xcd, 0xac, 0xee, 0x9e, 0x5e, 0x9b, 0xb6, 0x3d, 0x7f, + 0x38, 0x4f, 0xe7, 0xee, 0x60, 0x36, 0xb9, 0xf3, 0xbe, 0x3e, 0xe8, 0x90, 0xa1, 0xdb, 0xf6, 0xc5, + 0x28, 0xaa, 0x13, 0x24, 0x01, 0x24, 0x33, 0x88, 0x1a, 0x62, 0x00, 0x24, 0x7b, 0x87, 0x76, 0x7f, + 0x12, 0x86, 0x6a, 0xbc, 0x4e, 0xe4, 0x34, 0x32, 0xf7, 0xc4, 0x91, 0xfc, 0x72, 0x30, 0xb6, 0x1f, + 0xf2, 0x81, 0x1b, 0xfa, 0x8f, 0x80, 0xc0, 0x90, 0xfb, 0xcf, 0x99, 0x57, 0x7f, 0xfd, 0xcd, 0x14, + 0x3d, 0xb5, 0xb4, 0xb6, 0xdb, 0xc0, 0x4a, 0x58, 0x24, 0x51, 0xc9, 0xbb, 0x5f, 0xca, 0x90, 0x2c, + 0xdb, 0x33, 0xbc, 0x73, 0x81, 0x63, 0x62, 0xd0, 0x6d, 0xf1, 0xf0, 0xf6, 0x35, 0x9a, 0x01, 0xe0, + 0xa9, 0x7e, 0xfa, 0xfc, 0x10, 0x4c, 0x32, 0xf9, 0x92, 0xad, 0xf5, 0xcb, 0x0c, 0xf5, 0x34, 0xf1, + 0x08, 0x5d, 0x81, 0xd7, 0xfc, 0x51, 0x32, 0x9d, 0xf4, 0x33, 0x0f, 0xd3, 0x2e, 0x69, 0x02, 0x2a, + 0x0e, 0x1f, 0xdd, 0xa1, 0xef, 0x9f, 0xac, 0xb7, 0xd2, 0xa1, 0x4f, 0xb5, 0x45, 0x19, 0x5b, 0x05, + 0xa3, 0x72, 0x3f, 0xf7, 0x8b, 0x67, 0xdd, 0x74, 0x73, 0xe3, 0x31, 0x25, 0xb1, 0x1a, 0x98, 0x28, + 0x6c, 0x2a, 0x01, 0x4a, 0x31, 0xc2, 0x25, 0x36, 0xa3, 0xc0, 0x6b, 0xf1, 0xf5, 0xdb, 0xde, 0x1e, + 0x07, 0xd6, 0xc1, 0x0b, 0xa2, 0xcf, 0xa3, 0xb9, 0x86, 0x51, 0x0e, 0xfe, 0x58, 0x42, 0x21, 0x3c, + 0x0d, 0x86, 0x09, 0x7e, 0x8e, 0xb1, 0x1a, 0xa5, 0x3d, 0x98, 0xee, 0x23, 0x7d, 0x40, 0x34, 0x32, + 0x6a, 0xcc, 0x5c, 0x75, 0x3e, 0x2d, 0x36, 0x44, 0xa6, 0x4c, 0x9a, 0xd3, 0x89, 0x20, 0x2c, 0x1b, + 0xc4, 0xed, 0xf0, 0x34, 0x36, 0x15, 0x13, 0x68, 0xa9, 0x47, 0xcb, 0x93, 0xfe, 0x9b, 0x67, 0x40, + 0x9e, 0x97, 0x5f, 0xdb, 0xd4, 0x33, 0x51, 0xb6, 0x5c, 0x74, 0x9b, 0x5c, 0x64, 0x2e, 0xaf, 0x67, + 0x0e, 0x79, 0xdf, 0xd4, 0x28, 0x96, 0x6f, 0x2f, 0xfa, 0xdb, 0xba, 0xf1, 0x49, 0x65, 0xc3, 0xf4, + 0x8c, 0x0e, 0x33, 0x1e, 0xde, 0x93, 0x47, 0xb4, 0xf5, 0x39, 0x16, 0xc1, 0x75, 0x6a, 0x56, 0x71, + 0x48, 0x81, 0x66, 0xfe, 0xdd, 0x81, 0x70, 0x18, 0xa8, 0xf1, 0x5e, 0x60, 0x2a, 0x0a, 0xbb, 0xed, + 0x76, 0xb1, 0xbd, 0x51, 0x97, 0x13, 0x2c, 0x20, 0xcb, 0xf3, 0x59, 0xf1, 0x05, 0xff, 0x01, 0xbc, + 0x48, 0x78, 0x27, 0x17, 0x3b, 0x29, 0x81, 0xf5, 0x5c, 0xca, 0x1e, 0xf6, 0x91, 0x30, 0x1a, 0x5f, + 0x1e, 0x8a, 0x45, 0x02, 0x88, 0x13, 0xfa, 0xdb, 0x1f, 0x6b, 0x99, 0x3d, 0xad, 0x5b, 0xea, 0x78, + 0xbd, 0x35, 0x02, 0x89, 0xc9, 0x6e, 0xf0, 0xcf, 0xfb, 0x9b, 0xd4, 0x14, 0xe5, 0x79, 0x58, 0x13, + 0x76, 0x5d, 0x48, 0x5a, 0x8c, 0xf7, 0x19, 0x55, 0x1c, 0x1e, 0xbd, 0xe1, 0x68, 0xf7, 0xed, 0x07, + 0x87, 0xb7, 0x40, 0x46, 0xd2, 0xb1, 0xc2, 0x42, 0x84, 0x37, 0xbb, 0xea, 0x97, 0xef, 0x23, 0xc6, + 0xc0, 0xff, 0xbe, 0xe8, 0x16, 0xd0, 0x1f, 0x77, 0xb0, 0x7f, 0x79, 0x1c, 0xe1, 0x4b, 0x07, 0x43, + 0x2f, 0x2a, 0xc4, 0x4b, 0x92, 0xde, 0x7a, 0x6d, 0x49, 0x8d, 0x65, 0x1d, 0x3e, 0x92, 0xa0, 0xdf, + 0x42, 0x95, 0x8e, 0x53, 0xbc, 0xeb, 0x93, 0x1b, 0xe7, 0xba, 0x3e, 0x80, 0x5b, 0x47, 0x98, 0xb4, + 0x4b, 0x63, 0x46, 0x28, 0xc7, 0x29, 0xd7, 0xaf, 0x95, 0xa2, 0xf0, 0x3c, 0xde, 0xcd, 0x54, 0xba, + 0x9b, 0x8b, 0xb9, 0x88, 0x3d, 0xde, 0x08, 0xb4, 0x82, 0x24, 0x66, 0xec, 0xb6, 0x98, 0x2c, 0xa9, + 0xb7, 0x3b, 0x72, 0xf5, 0xdb, 0x09, 0x5f, 0x2b, 0x9e, 0x3f, 0x9c, 0xb8, 0xe5, 0x90, 0xfb, 0xb2, + 0x73, 0x8c, 0x49, 0x63, 0xc7, 0xc0, 0x47, 0xa4, 0xf2, 0x00, 0x8b, 0xdd, 0x72, 0x53, 0xc4, 0x18, + 0x69, 0x98, 0xbb, 0x93, 0xc0, 0xf0, 0x9c, 0x00, 0x46, 0x74, 0x7b, 0x29, 0xc5, 0x4f, 0xe6, 0x89, + 0x88, 0xcd, 0x0f, 0x69, 0xa1, 0xe3, 0x7c, 0x8a, 0x9a, 0xb1, 0x28, 0xae, 0x0f, 0x9f, 0x44, 0x7b, + 0x2f, 0xd1, 0x92, 0xb9, 0xcf, 0xcb, 0xfb, 0xe2, 0x34, 0x4e, 0xa3, 0x48, 0xc7, 0x12, 0xa6, 0xdc, + 0x11, 0x43, 0xbb, 0x65, 0xb8, 0x3c, 0x8b, 0x92, 0x47, 0x5f, 0xbc, 0x39, 0xb5, 0xd6, 0x7b, 0x3e, + 0xb9, 0x27, 0x19, 0x20, 0x13, 0xef, 0xa2, 0x16, 0x86, 0x03, 0xa5, 0x8b, 0x1b, 0xe1, 0x4c, 0xb8, + 0x0d, 0x5a, 0xaf, 0x84, 0x34, 0x3e, 0x73, 0x25, 0x35, 0xb4, 0x14, 0x5d, 0xd6, 0xb5, 0xb7, 0x2e, + 0xb8, 0xce, 0xee, 0xff, 0xaa, 0x38, 0x43, 0xc5, 0x40, 0x8d, 0xe2, 0x47, 0x4c, 0x2a, 0x42, 0x76, + 0xf0, 0xef, 0x6b, 0xb0, 0x75, 0x18, 0x08, 0x49, 0x08, 0x30, 0x61, 0xb1, 0x3c, 0x04, 0x7f, 0x69, + 0x3a, 0x59, 0xb5, 0x6a, 0x98, 0xf1, 0x3f, 0x85, 0xd4, 0xe1, 0x04, 0xeb, 0x2c, 0x56, 0x4c, 0xbf, + 0x78, 0x05, 0x28, 0x34, 0xf3, 0x59, 0xf7, 0x09, 0x0c, 0x54, 0x5a, 0xbc, 0x6a, 0xbd, 0x92, 0xa7, + 0xa6, 0x01, 0x2e, 0xdf, 0xd3, 0x41, 0x46, 0xc7, 0xc6, 0x55, 0x4f, 0x48, 0x27, 0x6c, 0x73, 0xff, + 0x29, 0x29, 0x94, 0x28, 0x87, 0x5d, 0x44, 0xfe, 0xd9, 0x1b, 0xd4, 0xad, 0xcf, 0xfa, 0x94, 0x14, + 0x3c, 0xdb, 0xcf, 0xe7, 0xe8, 0x83, 0x1f, 0x37, 0xac, 0x42, 0xfc, 0x0b, 0xac, 0xbc, 0x26, 0x50, + 0x70, 0x87, 0x47, 0xd1, 0x0a, 0x4f, 0x0a, 0x9c, 0x50, 0x03, 0x39, 0xa3, 0x41, 0x5d, 0x32, 0xa6, + 0x00, 0x8b, 0xb7, 0x4c, 0x40, 0xf0, 0xe2, 0xc8, 0xce, 0xe6, 0x71, 0x29, 0x07, 0xf0, 0x78, 0xb9, + 0x91, 0xd2, 0x7a, 0xa0, 0xc3, 0xfd, 0x9e, 0x0e, 0x21, 0xeb, 0x1a, 0x08, 0xea, 0x5a, 0x57, 0x52, + 0xae, 0xe3, 0xfc, 0x98, 0xc1, 0x0f, 0x80, 0x2a, 0xdc, 0xc5, 0xe4, 0x2b, 0xbb, 0x63, 0x86, 0xcb, + 0x40, 0x53, 0xc4, 0x75, 0xb5, 0x6c, 0x79, 0xe7, 0xfd, 0xdd, 0xf2, 0xba, 0xed, 0x8e, 0xb3, 0xe5, + 0xcf, 0xd2, 0x13, 0x5b, 0x24, 0xdb, 0x58, 0x0d, 0x73, 0x81, 0xa6, 0x2a, 0x0e, 0x70, 0x26, 0xe3, + 0x59, 0x1a, 0x38, 0x36, 0x03, 0x07, 0xe8, 0x36, 0x1d, 0x2d, 0xa0, 0xe7, 0x3d, 0x7e, 0xfc, 0x5f, + 0x7f, 0x3c, 0xd4, 0xd0, 0x52, 0xde, 0xa9, 0x62, 0x92, 0x30, 0x74, 0xca, 0xbe, 0x09, 0x0c, 0xdc, + 0x94, 0x8c, 0xd2, 0xca, 0x5d, 0x89, 0x50, 0xca, 0xea, 0x74, 0x9c, 0x21, 0x0a, 0xac, 0x83, 0xc9, + 0x5f, 0xc9, 0x5d, 0x89, 0x19, 0xd7, 0x3d, 0x89, 0xb3, 0x90, 0x11, 0x5e, 0x2c, 0x64, 0x18, 0xfa, + 0xc1, 0xa7, 0x12, 0x4d, 0xec, 0x50, 0x10, 0x53, 0xeb, 0x8d, 0x82, 0x89, 0x53, 0xf8, 0xcc, 0x03, + 0x53, 0xc0, 0x49, 0x12, 0x72, 0x17, 0x03, 0xd3, 0x01, 0x5f, 0x59, 0xe3, 0x12, 0xe3, 0x27, 0xec, + 0xb9, 0x5e, 0xe7, 0xce, 0x84, 0xb0, 0x14, 0xb6, 0xbf, 0x85, 0xdc, 0xa1, 0xde, 0xe5, 0x81, 0x3b, + 0xed, 0x74, 0x9e, 0xb6, 0x9f, 0x1b, 0xc3, 0x85, 0xe9, 0x16, 0xdd, 0x10, 0x0a, 0x64, 0x08, 0x17, + 0xf2, 0xc1, 0x6e, 0xfe, 0x51, 0xfd, 0xe0, 0x1d, 0xde, 0xe0, 0x64, 0xc0, 0x91, 0x0c, 0xf9, 0x9f, + 0xb5, 0x35, 0xaa, 0x0a, 0xe3, 0xd1, 0x2d, 0xa2, 0x6f, 0x49, 0xf2, 0xcf, 0xbc, 0x1c, 0x6f, 0x29, + 0xc5, 0xa9, 0xf6, 0xbb, 0xf5, 0xe5, 0x4b, 0x14, 0x67, 0xd6, 0x24, 0x11, 0x40, 0xe0, 0x51, 0x77, + 0x00, 0xe9, 0xa9, 0x36, 0xe3, 0xcc, 0x79, 0xaf, 0x97, 0xec, 0x46, 0x03, 0x17, 0xe2, 0x5a, 0x48, + 0x19, 0x90, 0x1f, 0x3c, 0xf8, 0x0d, 0xf4, 0xf1, 0xb2, 0x60, 0x65, 0x99, 0x9e, 0x04, 0xfe, 0x41, + 0xb2, 0x5e, 0xdd, 0xd4, 0x42, 0x92, 0xb8, 0x27, 0xc5, 0xf1, 0x92, 0x02, 0xcf, 0x7c, 0x6d, 0x22, + 0xb5, 0xd4, 0x86, 0xfc, 0x80, 0x7c, 0x67, 0x0d, 0x38, 0x1b, 0xce, 0xa9, 0x38, 0x7b, 0xe1, 0x1f, + 0x89, 0x1d, 0xfe, 0x84, 0x14, 0x89, 0x64, 0x2b, 0xef, 0xfd, 0xfa, 0xd4, 0x5b, 0xc6, 0x54, 0x28, + 0x1e, 0x36, 0x77, 0xff, 0x5f, 0x12, 0x18, 0x64, 0xb4, 0x02, 0xdc, 0x14, 0x22, 0x03, 0x7a, 0xfa, + 0xdd, 0x7d, 0x4f, 0xd1, 0x70, 0x4d, 0x94, 0x81, 0x8d, 0x3b, 0xf4, 0xe6, 0xfb, 0x73, 0xb0, 0x24, + 0xc1, 0xb4, 0xcd, 0x1e, 0x17, 0x89, 0x8d, 0xa0, 0x27, 0xfd, 0xc1, 0x24, 0x9b, 0x5b, 0x2e, 0x4c, + 0x91, 0x7d, 0xa8, 0xaa, 0x32, 0x28, 0x1e, 0xfe, 0x5e, 0xd1, 0xf4, 0x20, 0x26, 0xd8, 0x6b, 0xcd, + 0x71, 0x86, 0xe9, 0x37, 0xb9, 0xad, 0x5d, 0x19, 0x7c, 0x80, 0xda, 0xb8, 0x87, 0xff, 0xbd, 0x4c, + 0x29, 0xf8, 0x88, 0x57, 0xd7, 0xe0, 0xa5, 0x99, 0x0e, 0x58, 0xb3, 0xb5, 0x0f, 0xf9, 0x43, 0xb7, + 0x84, 0x8c, 0x12, 0xd7, 0x94, 0xc2, 0xc7, 0x54, 0x01, 0x4c, 0xbe, 0xa4, 0x1a, 0xc7, 0xbe, 0xfd, + 0xaf, 0x83, 0xe9, 0xc5, 0x82, 0xd0, 0xd0, 0x06, 0x79, 0x17, 0xbe, 0x57, 0x50, 0x0b, 0x9c, 0x7a, + 0x73, 0xe4, 0x38, 0x92, 0xce, 0x93, 0x50, 0x01, 0x06, 0xd9, 0x5b, 0x74, 0xe9, 0x4f, 0x19, 0x9e, + 0xc0, 0x8b, 0xf1, 0xbf, 0xf7, 0x78, 0x53, 0x88, 0xcc, 0xdc, 0xe3, 0xda, 0xdf, 0xec, 0x58, 0x86, + 0xc9, 0xdc, 0xb3, 0x54, 0xaf, 0xcc, 0x03, 0xcf, 0x34, 0x05, 0x95, 0x8a, 0xa4, 0xd0, 0x68, 0xa4, + 0x6e, 0xe7, 0x2d, 0x2c, 0x51, 0x78, 0x19, 0x42, 0x5f, 0xb2, 0xf1, 0xe6, 0x46, 0x32, 0x1f, 0x4c, + 0x13, 0xda, 0x82, 0x69, 0x16, 0x8e, 0xad, 0x44, 0xc7, 0x84, 0x1c, 0xfb, 0x2f, 0x6b, 0x3b, 0x28, + 0x2a, 0x5b, 0xa4, 0x8f, 0xbc, 0xe8, 0x71, 0x8e, 0x87, 0x68, 0x0d, 0x84, 0x5d, 0x1a, 0x33, 0xc1, + 0x3a, 0xef, 0xa5, 0x31, 0xd1, 0x11, 0x19, 0xca, 0x1b, 0xd7, 0xbc, 0x20, 0x28, 0x32, 0x8d, 0xd6, + 0xcb, 0x83, 0x46, 0x77, 0xa0, 0x4e, 0x9a, 0xe0, 0xbf, 0x60, 0xda, 0x69, 0xcd, 0xc0, 0xbb, 0x40, + 0xe8, 0x70, 0x44, 0x70, 0x8a, 0xf1, 0x64, 0x99, 0x9e, 0xd1, 0xfb, 0x37, 0x5d, 0x87, 0x0f, 0x30, + 0x10, 0x5f, 0xd8, 0x37, 0x97, 0x4f, 0xc1, 0x44, 0x7e, 0xc1, 0x6d, 0xae, 0x1a, 0xe9, 0x50, 0x38, + 0xfb, 0xde, 0xa9, 0xd6, 0x26, 0x48, 0xd8, 0x01, 0x78, 0xf3, 0x77, 0xae, 0x2c, 0x22, 0x53, 0x49, + 0xb7, 0x07, 0x09, 0xe7, 0x60, 0x89, 0x21, 0xe5, 0x2f, 0xd8, 0x4e, 0x42, 0x07, 0x75, 0xad, 0xbb, + 0x91, 0xee, 0xe9, 0xd5, 0xe4, 0xd5, 0x3e, 0xbb, 0x02, 0xea, 0xb6, 0x9d, 0x19, 0x5d, 0xe3, 0xff, + 0xa5, 0x7d, 0xfe, 0x08, 0x2a, 0x03, 0xda, 0x2e, 0x8e, 0xb9, 0x38, 0x52, 0x68, 0x7a, 0xc0, 0x5b, + 0xdd, 0xbe, 0xce, 0x32, 0x9d, 0x2d, 0x9f, 0xbd, 0xd1, 0x32, 0x83, 0x9d, 0x20, 0x86, 0x4d, 0x85, + 0x56, 0x06, 0x65, 0x11, 0x7f, 0xdd, 0x11, 0xad, 0xc2, 0x42, 0x2a, 0x31, 0x86, 0x53, 0xb7, 0xb0, + 0x28, 0xfe, 0x63, 0xa9, 0xc7, 0xd9, 0x58, 0x4c, 0xa1, 0xdb, 0x3b, 0x12, 0x1d, 0xaa, 0xf5, 0x06, + 0x8c, 0x34, 0x2b, 0xd2, 0x68, 0x47, 0xa5, 0xe5, 0xd7, 0xe0, 0x4c, 0x41, 0x62, 0xe7, 0x2d, 0xbb, + 0x85, 0xdf, 0x61, 0x7f, 0xe3, 0x27, 0x96, 0x55, 0xe6, 0x09, 0x5c, 0xbe, 0x09, 0xe5, 0x94, 0xe0, + 0x87, 0x95, 0x97, 0x6f, 0xb4, 0x9d, 0x3d, 0x67, 0x83, 0xf3, 0x2f, 0xcc, 0x6c, 0x3c, 0x6b, 0x5b, + 0xb8, 0x9a, 0x11, 0x8a, 0x44, 0x12, 0xa5, 0xaa, 0x3f, 0x7f, 0x9c, 0xfb, 0xe7, 0x49, 0x8a, 0x31, + 0x61, 0x34, 0x97, 0x03, 0x21, 0xa1, 0x35, 0xe4, 0x8b, 0x65, 0xa8, 0x6c, 0xd4, 0x34, 0xd8, 0x85, + 0x7b, 0x7d, 0xd8, 0x7b, 0x65, 0xbe, 0x8e, 0x7c, 0x3d, 0xad, 0xc9, 0x88, 0xd2, 0x95, 0x42, 0x82, + 0xff, 0x4b, 0x5c, 0x18, 0x41, 0x58, 0xdc, 0x05, 0x2e, 0x15, 0x04, 0x57, 0x41, 0x31, 0x34, 0xac, + 0x59, 0xd1, 0xc0, 0x4f, 0xc7, 0xb4, 0x7f, 0x5d, 0x74, 0x31, 0x5f, 0x60, 0x1f, 0xb0, 0xf2, 0x03, + 0x77, 0x8e, 0x09, 0xcb, 0x59, 0xbf, 0xd8, 0xe7, 0x6a, 0x46, 0xc3, 0xa4, 0xbb, 0xd0, 0x91, 0xcd, + 0x9b, 0xb1, 0xdb, 0xa8, 0xc3, 0xd0, 0x4c, 0xc4, 0xd5, 0x37, 0xf1, 0xc6, 0x82, 0x36, 0x18, 0x33, + 0x26, 0xcf, 0xe4, 0x6b, 0x58, 0x59, 0xd1, 0x3a, 0x22, 0x84, 0x51, 0x16, 0x54, 0x40, 0xe9, 0x2e, + 0x1a, 0x21, 0x7e, 0x91, 0x7a, 0x08, 0x95, 0x48, 0x3f, 0xc8, 0xe2, 0xb1, 0xd3, 0xed, 0x55, 0x24, + 0xf9, 0xe2, 0xbb, 0x6c, 0x2d, 0x42, 0xf1, 0x06, 0x95, 0xdf, 0x5c, 0x66, 0x8f, 0x37, 0xb0, 0x46, + 0x94, 0x21, 0x3f, 0xe1, 0x84, 0x66, 0xe2, 0x93, 0xd5, 0xd9, 0x06, 0xf9, 0x87, 0xa0, 0x5b, 0x9d, + 0x5d, 0x51, 0x8e, 0x90, 0x99, 0x8a, 0x70, 0x96, 0xee, 0x0b, 0x0f, 0x0d, 0xf1, 0xf0, 0x85, 0x65, + 0xfb, 0xbf, 0x03, 0x68, 0xec, 0xdf, 0xc4, 0x14, 0x04, 0x46, 0x90, 0x7f, 0xcd, 0x97, 0x89, 0xa8, + 0x91, 0x55, 0xb2, 0x67, 0x17, 0xf5, 0xa8, 0xa4, 0xa2, 0x00, 0x4b, 0x51, 0x17, 0x45, 0xfb, 0x1e, + 0x43, 0x38, 0x9f, 0x0f, 0xe8, 0xfd, 0xef, 0xe2, 0xd6, 0xff, 0xcf, 0x3f, 0x98, 0x25, 0x89, 0xca, + 0x43, 0x49, 0x86, 0x84, 0xb6, 0x16, 0xaf, 0x02, 0x9b, 0x19, 0x0c, 0xc2, 0x2e, 0xdb, 0x49, 0x82, + 0xf5, 0x32, 0x75, 0x5d, 0x22, 0xbd, 0x97, 0x46, 0xf8, 0x66, 0xf6, 0xbb, 0x26, 0x31, 0xa4, 0x49, + 0x82, 0x55, 0x21, 0x31, 0xe4, 0x15, 0x75, 0xfd, 0x52, 0x7d, 0x41, 0x9b, 0xc9, 0x90, 0x8b, 0x18, + 0xd5, 0x14, 0x15, 0xcc, 0xbf, 0x6c, 0x6e, 0xaf, 0x9c, 0x51, 0x93, 0x5e, 0x57, 0xbc, 0x44, 0x89, + 0x9c, 0x31, 0xdc, 0x4e, 0x82, 0x43, 0x62, 0xee, 0x1a, 0x2e, 0x1b, 0x1d, 0xcf, 0xff, 0x97, 0x86, + 0x9e, 0x7b, 0x20, 0xd6, 0x20, 0x76, 0x2c, 0x9e, 0x5a, 0x1f, 0x1c, 0xcf, 0x78, 0xe1, 0x73, 0x3e, + 0xf6, 0x0e, 0x41, 0x78, 0xfd, 0xfd, 0xfb, 0xd5, 0x4f, 0xdf, 0x7c, 0xf1, 0xa7, 0xe5, 0xaa, 0xa2, + 0x36, 0x8b, 0x38, 0x6b, 0xba, 0xe7, 0x38, 0x32, 0x93, 0x22, 0xe4, 0xd3, 0x4b, 0x6a, 0xa7, 0x2e, + 0xf7, 0xbb, 0x51, 0xc9, 0x3d, 0xab, 0x66, 0xb3, 0xa2, 0xd7, 0x83, 0x52, 0x0c, 0xf6, 0x6a, 0x71, + 0x89, 0x29, 0xd3, 0x43, 0xb7, 0x86, 0xee, 0x8a, 0xe6, 0x41, 0xd9, 0x05, 0x2f, 0x6e, 0xc7, 0x78, + 0x7a, 0xa9, 0x25, 0x5f, 0x02, 0xde, 0xd2, 0xea, 0xbd, 0x8e, 0x02, 0x9d, 0x4a, 0x8d, 0x8c, 0xc8, + 0x35, 0x6f, 0x8b, 0xc0, 0xf6, 0x70, 0xa3, 0x47, 0x1b, 0x8b, 0xe1, 0x49, 0xce, 0x40, 0x78, 0x62, + 0x13, 0x40, 0xc0, 0x11, 0x93, 0x70, 0x49, 0x59, 0x79, 0x56, 0x09, 0x0c, 0xb2, 0xd6, 0xde, 0x4b, + 0x04, 0xfb, 0x94, 0x29, 0x6c, 0x96, 0xaf, 0xbf, 0x80, 0xc7, 0xef, 0xd7, 0x05, 0x2e, 0x3d, 0x13, + 0x72, 0x3d, 0xe3, 0xea, 0xce, 0x40, 0xcb, 0xd5, 0x63, 0x24, 0x30, 0xc2, 0xca, 0x6a, 0xf4, 0x4d, + 0x68, 0x04, 0xe2, 0x93, 0xd7, 0x23, 0x96, 0x58, 0x46, 0x7c, 0x4d, 0xdb, 0x5d, 0x18, 0x94, 0x1d, + 0x43, 0xae, 0xff, 0x11, 0x77, 0x82, 0x47, 0x7c, 0xa3, 0xe5, 0xa6, 0x07, 0xe5, 0x91, 0xaf, 0x12, + 0x9f, 0xe6, 0x4d, 0x83, 0x41, 0xab, 0x4e, 0xc8, 0x37, 0x00, 0xfd, 0xd0, 0x64, 0x6e, 0x14, 0x19, + 0xf0, 0xdb, 0x8c, 0xbc, 0x59, 0xeb, 0x24, 0xfd, 0x14, 0x88, 0x21, 0xc3, 0x29, 0xe1, 0x6e, 0xad, + 0xc3, 0x42, 0xeb, 0x95, 0x0f, 0xed, 0x43, 0xd9, 0x0d, 0xdb, 0xf4, 0x76, 0x04, 0x6e, 0x12, 0xed, + 0xea, 0xa2, 0x41, 0x0e, 0xed, 0x72, 0x1e, 0xd0, 0x0c, 0x07, 0xa5, 0x4e, 0x63, 0x58, 0xf3, 0x19, + 0xfb, 0xb2, 0x67, 0x0a, 0xf5, 0x2d, 0xbb, 0xd0, 0x7e, 0xf8, 0xb9, 0x85, 0x51, 0x84, 0x81, 0xfc, + 0x35, 0xe5, 0xc1, 0x5d, 0xb4, 0x3b, 0xc5, 0x8b, 0xe5, 0x06, 0xce, 0xe8, 0x53, 0x89, 0x34, 0xe8, + 0xc0, 0xc8, 0x97, 0xd7, 0xc2, 0x5e, 0x38, 0x45, 0xe0, 0x5d, 0xb4, 0xfb, 0x66, 0x47, 0xe2, 0xd7, + 0xb3, 0x91, 0x4c, 0x57, 0x1b, 0x0a, 0xb9, 0x64, 0x7f, 0x04, 0xcd, 0xce, 0x07, 0x80, 0x04, 0xf5, + 0x69, 0x31, 0xbb, 0xb2, 0x39, 0x2e, 0x64, 0x60, 0xf6, 0x24, 0x41, 0x3f, 0x2e, 0xbc, 0x19, 0x87, + 0x7a, 0xbf, 0xf2, 0xa7, 0x90, 0xf5, 0x69, 0x85, 0xfd, 0xaa, 0xef, 0xa4, 0x57, 0xc8, 0x00, 0xd8, + 0x71, 0x81, 0xad, 0x8c, 0xaa, 0xac, 0x67, 0x68, 0x9a, 0x2c, 0x15, 0x64, 0x97, 0xc7, 0x5a, 0x8c, + 0xa8, 0x7c, 0x86, 0xf0, 0xc1, 0xa8, 0xcc, 0x24, 0xf5, 0xa7, 0x22, 0xf9, 0x31, 0x79, 0x1f, 0xa0, + 0x30, 0x27, 0xdf, 0x7a, 0xec, 0x1a, 0x67, 0x3a, 0xb3, 0x17, 0x4d, 0xf3, 0x04, 0xa6, 0xa7, 0xb8, + 0x36, 0x81, 0xe9, 0xbf, 0x4f, 0xfd, 0x9f, 0x1c, 0x1c, 0xbe, 0xe1, 0x9a, 0xe0, 0x04, 0xfc, 0xc2, + 0x8c, 0xb3, 0xc3, 0x25, 0xc4, 0xa6, 0x6c, 0xe7, 0x02, 0x18, 0xf0, 0x3e, 0x91, 0x09, 0x66, 0x05, + 0x86, 0x37, 0xb0, 0x80, 0x24, 0x16, 0x09, 0x9c, 0x64, 0x70, 0x4f, 0x76, 0xb8, 0x6d, 0x4e, 0x86, + 0x60, 0xd0, 0x09, 0x54, 0x6b, 0xa3, 0x44, 0x5f, 0x1a, 0x3c, 0x06, 0xee, 0xef, 0xbf, 0x42, 0x46, + 0xa9, 0xf3, 0x40, 0x1a, 0x6b, 0x03, 0x18, 0xe8, 0xfa, 0xd4, 0x49, 0xe9, 0x00, 0x85, 0x09, 0xbf, + 0x63, 0xcf, 0x0b, 0x69, 0xb4, 0xef, 0xb6, 0x4a, 0x02, 0xd2, 0xee, 0xef, 0x6d, 0x7d, 0x7d, 0xd5, + 0x03, 0xf8, 0x59, 0xf2, 0x96, 0xef, 0xc4, 0x44, 0xac, 0x4a, 0x73, 0xaa, 0xda, 0xce, 0xeb, 0x04, + 0xaa, 0x96, 0xde, 0x7f, 0x59, 0x89, 0x14, 0xa6, 0x9b, 0x9f, 0x15, 0x38, 0xca, 0x30, 0x8f, 0x79, + 0x8d, 0x0d, 0x26, 0x58, 0x50, 0xe2, 0x6d, 0x2b, 0x96, 0xf9, 0x04, 0x89, 0x18, 0x8f, 0x59, 0xe9, + 0x49, 0x3a, 0x70, 0xf3, 0xa8, 0x05, 0x4f, 0xb9, 0x12, 0x3e, 0x65, 0x3f, 0x0d, 0xa0, 0x1c, 0xd6, + 0x42, 0x22, 0xe9, 0x8f, 0xbf, 0x6a, 0x90, 0xa3, 0xe4, 0xe1, 0x50, 0x16, 0x6c, 0x4f, 0xb8, 0x81, + 0x7e, 0xd7, 0x14, 0x3e, 0x8a, 0xa8, 0x09, 0xcd, 0x50, 0x5c, 0xde, 0x9f, 0xbb, 0x64, 0x74, 0x3e, + 0xa0, 0x96, 0xd4, 0x4c, 0xd2, 0x9c, 0xd5, 0x35, 0xc6, 0xd9, 0x7d, 0x8e, 0x78, 0xfb, 0xe4, 0x5d, + 0x75, 0xc5, 0xaa, 0x40, 0xc7, 0x92, 0x58, 0xa2, 0x22, 0xf0, 0xb8, 0xb7, 0xaa, 0x11, 0xa3, 0x74, + 0x28, 0x74, 0xf4, 0x11, 0x8d, 0x21, 0x9b, 0x3c, 0x2b, 0xdc, 0x76, 0xe7, 0x9b, 0xad, 0xa9, 0xdc, + 0xb2, 0x46, 0x64, 0x1f, 0x14, 0x25, 0xba, 0xee, 0x1e, 0x2c, 0x08, 0xa4, 0x7a, 0x0c, 0x8e, 0xcb, + 0xd6, 0x1b, 0xef, 0x8c, 0x2f, 0xd1, 0xa1, 0x07, 0xd6, 0x0c, 0xc6, 0xea, 0xb4, 0xef, 0xa6, 0x1b, + 0xaa, 0x3d, 0xa7, 0xea, 0x1a, 0x54, 0xf1, 0x7f, 0x52, 0xb3, 0xfe, 0x2f, 0xed, 0x52, 0x32, 0xe9, + 0x77, 0xf7, 0x0f, 0x15, 0x15, 0x23, 0x09, 0x2d, 0x62, 0x9c, 0x16, 0x73, 0x0b, 0xb2, 0x84, 0xf6, + 0x35, 0xf3, 0xee, 0xc6, 0xa9, 0xca, 0xe8, 0x4c, 0xfe, 0x20, 0xa1, 0x20, 0x24, 0xe2, 0x58, 0x86, + 0xfe, 0x80, 0x42, 0xc0, 0x4c, 0xd3, 0x69, 0xbc, 0x73, 0xae, 0x53, 0xd2, 0x05, 0x3e, 0x7b, 0xdc, + 0x05, 0x0c, 0x6c, 0x03, 0xac, 0xf0, 0x13, 0x8f, 0xc6, 0x32, 0x56, 0x4d, 0x6e, 0x6d, 0x67, 0x8b, + 0x41, 0xd5, 0xb4, 0xe0, 0xd3, 0x0e, 0xcc, 0x02, 0xa8, 0xdf, 0xe1, 0xd2, 0x0c, 0x10, 0x4a, 0xdf, + 0x93, 0xe8, 0xa1, 0x6a, 0xd3, 0x57, 0x60, 0xe9, 0xd9, 0x93, 0xc1, 0x57, 0x00, 0xfe, 0x63, 0x9a, + 0x3f, 0x28, 0xea, 0x37, 0xe9, 0x94, 0x6c, 0x6b, 0x7d, 0xf2, 0x8f, 0xa3, 0xa5, 0x45, 0x04, 0x0f, + 0xb8, 0x4a, 0x53, 0x28, 0x37, 0x36, 0xd4, 0xf2, 0x40, 0x86, 0x6b, 0xe0, 0x17, 0x01, 0x9a, 0xfa, + 0xcc, 0x74, 0x0e, 0xa3, 0xdb, 0xc8, 0x5c, 0xb9, 0x5e, 0x1f, 0x87, 0xff, 0xdb, 0x52, 0xfb, 0x0a, + 0x7e, 0x7c, 0x0e, 0xda, 0xd8, 0xf5, 0xd3, 0x4d, 0x80, 0x23, 0xeb, 0x13, 0x42, 0xce, 0x3c, 0x1a, + 0xc4, 0x54, 0xd6, 0xb2, 0xad, 0xa4, 0xa6, 0x76, 0xfa, 0x19, 0x82, 0x1b, 0x71, 0x8a, 0xda, 0x0f, + 0xc4, 0xb5, 0x39, 0xef, 0x77, 0x1d, 0x9c, 0x97, 0xee, 0xe0, 0xa9, 0xc6, 0x7b, 0x7a, 0x01, 0x5f, + 0x08, 0xe8, 0x56, 0x5d, 0x0f, 0xb2, 0xcc, 0xc0, 0xf2, 0x1a, 0x72, 0xa8, 0x52, 0x97, 0xb6, 0x1e, + 0x19, 0x32, 0x68, 0xdc, 0x7e, 0x36, 0x07, 0x1a, 0x32, 0x4c, 0x8c, 0x08, 0xe3, 0xb8, 0xfb, 0x3c, + 0xa6, 0x54, 0xdd, 0xa6, 0xdd, 0xab, 0x44, 0x77, 0x72, 0xe1, 0x90, 0xa4, 0xe0, 0x05, 0x21, 0x79, + 0x0f, 0xb0, 0x6c, 0x72, 0xfc, 0x85, 0xb6, 0xeb, 0x30, 0x82, 0xc5, 0x0d, 0x63, 0x87, 0x39, 0xe8, + 0x06, 0x61, 0xa6, 0x9b, 0x56, 0x6d, 0xe6, 0x05, 0xf2, 0x57, 0x40, 0x5d, 0x02, 0x9e, 0x20, 0x7d, + 0x84, 0x7d, 0xa4, 0x5f, 0xff, 0xe0, 0x8c, 0x01, 0xa7, 0x90, 0x03, 0xc9, 0xb6, 0x82, 0x3f, 0x60, + 0x49, 0x35, 0xd7, 0x36, 0xca, 0x84, 0x15, 0x91, 0x3a, 0xa7, 0xe6, 0xab, 0xdb, 0x40, 0xce, 0x81, + 0x8c, 0x1a, 0x45, 0x5d, 0x1c, 0x1d, 0xd6, 0x69, 0x62, 0xb2, 0xb9, 0xde, 0x3d, 0x18, 0x28, 0xc0, + 0x60, 0x0b, 0xa1, 0x06, 0x7e, 0xb4, 0x79, 0xa3, 0x16, 0x9d, 0xff, 0xb3, 0xe2, 0x71, 0x62, 0xf0, + 0x28, 0xe9, 0x58, 0xda, 0x97, 0x57, 0xf4, 0x7f, 0x73, 0x2c, 0x8a, 0xa1, 0x9f, 0x3a, 0x48, 0x73, + 0xec, 0xf5, 0xf1, 0xc0, 0x8c, 0xbf, 0x7e, 0x58, 0x4e, 0xd5, 0x9c, 0x87, 0xbe, 0x0f, 0x43, 0xce, + 0xd8, 0x72, 0xb4, 0xd5, 0x6f, 0x1e, 0xa1, 0xad, 0x78, 0xcc, 0xe7, 0x8f, 0x88, 0xba, 0xd1, 0x6a, + 0xc5, 0xe2, 0xa8, 0x03, 0xf4, 0x0b, 0x64, 0xbc, 0xef, 0x7b, 0xc7, 0xed, 0xd7, 0x32, 0x77, 0x0d, + 0xa3, 0x57, 0x4d, 0xc8, 0x19, 0x02, 0xa0, 0xbd, 0x16, 0xb0, 0xbd, 0x3a, 0x80, 0xce, 0xb8, 0x91, + 0x84, 0xda, 0x92, 0xda, 0x15, 0xeb, 0x70, 0x38, 0x4e, 0xf9, 0x29, 0x18, 0xd1, 0xe7, 0x30, 0xe0, + 0x89, 0xf5, 0x1b, 0x2d, 0x4e, 0x85, 0x8e, 0x64, 0x7b, 0x9a, 0xde, 0x7c, 0xc0, 0x8c, 0x2e, 0xf1, + 0x79, 0x6a, 0xc9, 0x25, 0x36, 0x6c, 0x0f, 0x7c, 0x87, 0x94, 0x0b, 0xce, 0xbb, 0xf1, 0xbd, 0x4a, + 0xa5, 0xf2, 0x5a, 0x77, 0x8e, 0x6c, 0x5e, 0xe2, 0xeb, 0xef, 0xa1, 0x68, 0xc7, 0xfa, 0x11, 0x53, + 0x66, 0x86, 0x03, 0xbe, 0x42, 0x95, 0xc7, 0x43, 0x17, 0x38, 0xce, 0xe1, 0x82, 0x08, 0x73, 0x9e, + 0x4b, 0x33, 0x28, 0x8e, 0xee, 0xda, 0x1c, 0x2e, 0x61, 0x85, 0xc6, 0xd5, 0x03, 0x26, 0x66, 0xdc, + 0x19, 0x83, 0x6a, 0x68, 0xeb, 0x23, 0x45, 0x92, 0x74, 0x4c, 0x81, 0xb2, 0x45, 0x3b, 0x6d, 0x23, + 0xd6, 0x77, 0xa8, 0x3c, 0xee, 0x8d, 0x9f, 0xec, 0xa7, 0x1b, 0x37, 0xd6, 0x88, 0x42, 0x8f, 0xd9, + 0xdd, 0xc2, 0xd3, 0x43, 0x9e, 0x99, 0x45, 0x4c, 0xbf, 0xa3, 0x1b, 0x31, 0x26, 0xab, 0x07, 0x77, + 0xc2, 0xb9, 0xc6, 0x03, 0xc4, 0x52, 0xd9, 0x55, 0x8f, 0x4f, 0xba, 0x74, 0xca, 0x9a, 0x19, 0x9e, + 0x29, 0xd1, 0x52, 0x6f, 0x69, 0x4d, 0x57, 0x95, 0xef, 0x40, 0xb0, 0x7f, 0xa9, 0xdd, 0xf4, 0xea, + 0x1e, 0xe7, 0xbb, 0xc3, 0x8a, 0xd5, 0x63, 0xc1, 0xa6, 0xd9, 0xd5, 0xc6, 0xc8, 0xde, 0x79, 0xe0, + 0x18, 0x94, 0xf6, 0x46, 0xb7, 0xbc, 0xfc, 0x6f, 0x69, 0x67, 0xee, 0x2c, 0x19, 0x22, 0xbe, 0xcd, + 0xa8, 0xc1, 0xe3, 0x95, 0x12, 0xa5, 0xa5, 0x87, 0x72, 0xd8, 0x8b, 0xf9, 0x77, 0xd3, 0x08, 0x07, + 0xee, 0xf7, 0x12, 0x43, 0x12, 0x36, 0xb9, 0x1a, 0x3c, 0xff, 0x01, 0x5b, 0x7f, 0x85, 0x3d, 0x93, + 0x51, 0x01, 0xd1, 0x0b, 0x17, 0x6c, 0x50, 0xd0, 0x3f, 0xd8, 0x99, 0xb4, 0xc5, 0x9a, 0x0d, 0xcb, + 0x49, 0x7a, 0x3c, 0x07, 0x5b, 0x6e, 0x7c, 0x21, 0x17, 0xde, 0x42, 0x7e, 0xed, 0xc0, 0x94, 0xa4, + 0xa4, 0x12, 0x63, 0x1f, 0x80, 0x40, 0x71, 0xa5, 0xaa, 0x26, 0xd4, 0xaf, 0x82, 0x1d, 0x25, 0x10, + 0x7d, 0x3c, 0xe5, 0x3a, 0xdd, 0x67, 0x2d, 0x40, 0xff, 0xcf, 0x9c, 0xe8, 0x17, 0x5c, 0x1a, 0x91, + 0x87, 0x31, 0xa6, 0xce, 0xcb, 0x75, 0x9a, 0x92, 0x3c, 0xac, 0x66, 0xcd, 0xd4, 0x0e, 0xf1, 0xef, + 0xf0, 0x47, 0xd5, 0x66, 0x6a, 0x35, 0x40, 0xc4, 0x4e, 0x05, 0xc3, 0x6c, 0x54, 0x88, 0xb6, 0x7c, + 0x65, 0x54, 0x85, 0x6e, 0x29, 0xbe, 0x1f, 0x99, 0x68, 0xba, 0xc9, 0x3f, 0x50, 0x3e, 0x68, 0x02, + 0x52, 0x83, 0xe1, 0x26, 0x72, 0x4c, 0x1c, 0x38, 0xcb, 0x21, 0x48, 0xe6, 0x5d, 0x7f, 0x89, 0x51, + 0xa1, 0xbc, 0x7f, 0xb0, 0x92, 0x75, 0x61, 0x42, 0x9b, 0x9f, 0x36, 0x73, 0xba, 0x8d, 0x16, 0x87, + 0xbc, 0xbf, 0xe5, 0xab, 0x91, 0x24, 0xe8, 0x46, 0xa5, 0xe4, 0xc8, 0xce, 0x14, 0xb7, 0x79, 0xae, + 0x0d, 0xe3, 0x78, 0x1a, 0xd5, 0x08, 0xa6, 0x18, 0x17, 0xf2, 0x63, 0x5f, 0x87, 0xde, 0x88, 0xcc, + 0x64, 0xd7, 0x1b, 0x69, 0x34, 0xff, 0xc6, 0x00, 0x65, 0x74, 0x55, 0x33, 0x85, 0x53, 0x6e, 0x40, + 0xf2, 0x41, 0x1f, 0xd5, 0xa6, 0xf6, 0xda, 0xa5, 0x16, 0x4f, 0xdd, 0xc8, 0xef, 0xda, 0x3e, 0xc2, + 0x21, 0x02, 0x30, 0x12, 0xe4, 0x56, 0x16, 0xcc, 0x58, 0xe4, 0x96, 0xba, 0xe2, 0x7f, 0x22, 0x8e, + 0xef, 0x39, 0xc1, 0x90, 0xa6, 0x80, 0xec, 0xf1, 0x08, 0x1c, 0x09, 0x75, 0x3f, 0x1f, 0x15, 0x44, + 0x40, 0xd7, 0x52, 0x29, 0x01, 0xd9, 0xc1, 0xfa, 0x7b, 0x8d, 0x55, 0x05, 0x3c, 0x5b, 0x80, 0x72, + 0x90, 0xa6, 0x8c, 0x33, 0x11, 0xa3, 0x33, 0xa7, 0xc6, 0x2c, 0xba, 0x6e, 0xe7, 0x60, 0x54, 0xc5, + 0x5a, 0xbc, 0xb3, 0xbf, 0x0a, 0xe9, 0xeb, 0xea, 0x8a, 0x97, 0x77, 0x32, 0xc4, 0xc5, 0x24, 0x1e, + 0x8f, 0x5f, 0x3c, 0x10, 0xbf, 0x25, 0x46, 0xf1, 0xec, 0xdb, 0xf6, 0x7f, 0x8e, 0x5e, 0x28, 0x42, + 0x5f, 0x95, 0xbf, 0x5d, 0xc8, 0xdd, 0xb5, 0xef, 0x18, 0xf8, 0xf2, 0xe7, 0xba, 0x75, 0x18, 0xe9, + 0xd5, 0x3b, 0xc6, 0x3f, 0x9a, 0xdd, 0x81, 0xa1, 0x53, 0x4c, 0xe4, 0xe8, 0x7d, 0x63, 0xf6, 0x1f, + 0x42, 0x7c, 0x4a, 0x2a, 0x23, 0x32, 0xa0, 0x97, 0xb2, 0xe3, 0x3c, 0xcc, 0x3a, 0x0e, 0x65, 0x68, + 0xab, 0x03, 0x50, 0x61, 0x7b, 0x08, 0x92, 0xcb, 0xa9, 0x52, 0x85, 0xc8, 0xd2, 0x10, 0x1a, 0xd5, + 0x44, 0x72, 0x55, 0xa1, 0x47, 0xad, 0xf1, 0x88, 0x16, 0x64, 0xac, 0x50, 0xcf, 0xbe, 0x49, 0x87, + 0x4f, 0x03, 0xb2, 0xb1, 0xfb, 0x34, 0x0a, 0x6b, 0x90, 0xd7, 0xc8, 0x4e, 0x8e, 0x64, 0x6e, 0xc5, + 0x58, 0xf6, 0x1d, 0x20, 0xb4, 0xb1, 0xcd, 0x26, 0xbf, 0x22, 0xa7, 0x3d, 0x77, 0x73, 0x68, 0x58, + 0x93, 0x80, 0x0b, 0x96, 0x98, 0x7a, 0x14, 0xc2, 0xb0, 0x78, 0xe6, 0x42, 0xa9, 0xca, 0x83, 0x5c, + 0xab, 0x4d, 0x39, 0x6f, 0x47, 0x3c, 0xdf, 0xde, 0xbc, 0x5b, 0x17, 0xb5, 0xe7, 0x36, 0x7a, 0x4a, + 0x0f, 0xc8, 0xc4, 0xff, 0x24, 0xb2, 0x97, 0x12, 0x53, 0xa4, 0x59, 0x64, 0x81, 0xe4, 0x09, 0x79, + 0x90, 0x66, 0xce, 0xb4, 0x33, 0x6c, 0x4d, 0x06, 0xeb, 0x95, 0x7f, 0x9a, 0x10, 0x30, 0x5e, 0x65, + 0xc7, 0x0c, 0xe8, 0xd5, 0x1c, 0x63, 0xd9, 0x2a, 0x23, 0xf3, 0x3d, 0xc5, 0x33, 0x3b, 0x1f, 0xc3, + 0xe3, 0x8a, 0x4e, 0xef, 0x0c, 0xb1, 0x30, 0x71, 0x42, 0x92, 0xc8, 0xa3, 0x3c, 0x75, 0x1b, 0x99, + 0x91, 0xb1, 0x09, 0x38, 0xe2, 0xd0, 0x5f, 0x9f, 0x71, 0x5d, 0xfc, 0xd1, 0xb2, 0x94, 0xc7, 0xe5, + 0x6d, 0xc5, 0x76, 0xc5, 0xfd, 0xfd, 0x06, 0x16, 0x26, 0x14, 0x44, 0x3b, 0x05, 0x82, 0x91, 0x3d, + 0x1c, 0x69, 0x36, 0x6a, 0xf8, 0xad, 0xfb, 0x3a, 0xa7, 0xc8, 0x2b, 0x2f, 0x86, 0xde, 0xe0, 0xe4, + 0x18, 0x47, 0x4f, 0x7f, 0xf0, 0x96, 0x78, 0x21, 0x32, 0x1c, 0x32, 0x38, 0xe6, 0x8a, 0x3e, 0x90, + 0x19, 0xa3, 0x1e, 0xee, 0x69, 0xb0, 0xc8, 0xfe, 0x06, 0xa8, 0x20, 0xa7, 0x76, 0x3a, 0xa3, 0x10, + 0x2f, 0x25, 0x9a, 0xee, 0x55, 0x38, 0x29, 0x99, 0x79, 0x22, 0x7c, 0xf8, 0xe4, 0x5f, 0x68, 0x07, + 0xf8, 0x1d, 0x78, 0x35, 0x22, 0xfe, 0xb3, 0x83, 0x9d, 0xc7, 0x4f, 0xf4, 0x0c, 0x0f, 0xf0, 0x56, + 0x3c, 0x0b, 0x17, 0x86, 0x5f, 0xf0, 0x38, 0x5f, 0xa9, 0x00, 0x89, 0x40, 0xe7, 0xad, 0xc9, 0x29, + 0x6d, 0xd5, 0xe5, 0x7f, 0x7d, 0x63, 0x33, 0x18, 0xf6, 0x08, 0x8d, 0x53, 0xe7, 0xa0, 0x55, 0x1f, + 0x6b, 0x66, 0xc0, 0xf0, 0x06, 0x6c, 0xd3, 0x7d, 0x24, 0xb5, 0xf1, 0x1c, 0x91, 0x8e, 0xe0, 0xb8, + 0x63, 0x9f, 0x9a, 0x8c, 0x31, 0xd8, 0xf7, 0xb9, 0x0e, 0x22, 0x93, 0xb7, 0xef, 0xe6, 0x43, 0xdf, + 0x3f, 0x2b, 0xc3, 0xab, 0x08, 0x7d, 0xa0, 0xe2, 0x11, 0x16, 0xad, 0x08, 0xee, 0x99, 0xce, 0x09, + 0x7d, 0xdb, 0xe3, 0xaf, 0xc5, 0x4f, 0xcf, 0xee, 0x01, 0xdc, 0x3d, 0x8c, 0x41, 0xf1, 0x75, 0x23, + 0x53, 0xf1, 0x50, 0xa9, 0xd4, 0xa8, 0x9f, 0x3d, 0x2f, 0x9f, 0x88, 0xd7, 0xae, 0x94, 0xc5, 0x16, + 0x7d, 0x4b, 0xb9, 0x10, 0xc3, 0x76, 0x93, 0x59, 0x61, 0xfd, 0xf0, 0x6f, 0x60, 0x70, 0x55, 0x6a, + 0x2b, 0x86, 0x9a, 0xb6, 0x1a, 0x02, 0xeb, 0x34, 0x82, 0x6e, 0x4a, 0x56, 0x69, 0x63, 0xd8, 0x31, + 0x3e, 0x7c, 0x27, 0x49, 0xde, 0xbe, 0x23, 0xfa, 0x6a, 0x0b, 0xa6, 0xb4, 0x85, 0xa4, 0xfa, 0x6d, + 0xe6, 0x34, 0x4c, 0xf3, 0x4b, 0xd9, 0x15, 0x75, 0x1d, 0xab, 0xce, 0x7f, 0x7a, 0x7d, 0x9b, 0x28, + 0x1b, 0x1d, 0xec, 0xe4, 0x06, 0x90, 0x42, 0x45, 0x54, 0x83, 0x95, 0x4b, 0x1a, 0x16, 0x8f, 0x48, + 0x2a, 0x26, 0x9c, 0x88, 0x90, 0x52, 0x17, 0xb3, 0x25, 0x48, 0x31, 0x08, 0xfe, 0x4c, 0xbe, 0xa9, + 0x04, 0xd8, 0xaf, 0xbd, 0xde, 0x93, 0xb4, 0xa5, 0x20, 0x17, 0x6e, 0x0e, 0x99, 0xdf, 0xf1, 0x78, + 0x9e, 0xa2, 0x93, 0xc1, 0x3f, 0xbc, 0x07, 0x89, 0x9c, 0x1d, 0x54, 0x90, 0x50, 0x0a, 0xc3, 0x7b, + 0x5e, 0xdb, 0x7e, 0xb6, 0xcb, 0x2e, 0xf3, 0x46, 0x92, 0x75, 0xc2, 0x6d, 0x92, 0x2a, 0x96, 0x73, + 0x0e, 0x05, 0xd0, 0x77, 0x0e, 0x45, 0x78, 0xdd, 0x2c, 0x51, 0xbf, 0x64, 0xe2, 0x81, 0xa0, 0xbd, + 0x7e, 0x9c, 0x61, 0x9f, 0x9a, 0x9d, 0xcd, 0x15, 0x46, 0x31, 0xcd, 0x08, 0xbf, 0x00, 0x5d, 0xdd, + 0xa3, 0xfc, 0xa6, 0x8e, 0x71, 0xe6, 0xea, 0xa9, 0xac, 0xb5, 0x4b, 0x06, 0xd6, 0x4e, 0x0e, 0xad, + 0xaa, 0xbe, 0x29, 0x19, 0xbd, 0x95, 0xc5, 0x84, 0xbd, 0xd4, 0x0f, 0x75, 0x68, 0x5a, 0x3f, 0x28, + 0x43, 0xfe, 0xa0, 0xf5, 0x5a, 0x81, 0x73, 0xbd, 0x6b, 0xe0, 0x14, 0xf8, 0x5d, 0x61, 0x6d, 0x93, + 0x2a, 0x4a, 0x84, 0x76, 0x56, 0x6c, 0x90, 0x69, 0x7c, 0x12, 0x8e, 0x8f, 0xdd, 0x9c, 0xc3, 0x62, + 0x03, 0xeb, 0x24, 0x44, 0xc0, 0xe2, 0x4d, 0xac, 0xd6, 0xf6, 0x5c, 0x4d, 0xe4, 0x7c, 0x85, 0x90, + 0xc2, 0x07, 0xd2, 0x6b, 0xcb, 0xdc, 0x04, 0x19, 0xbc, 0xbc, 0x9b, 0x11, 0x6d, 0xf6, 0x4a, 0xc5, + 0x8f, 0x44, 0x38, 0xf5, 0x17, 0x28, 0x0a, 0x89, 0xdf, 0xc3, 0x75, 0x29, 0x8a, 0x74, 0xf0, 0x28, + 0x7f, 0x23, 0xd1, 0x5f, 0x6d, 0x3a, 0x9a, 0x42, 0x67, 0x6a, 0x85, 0xfb, 0xac, 0x17, 0x30, 0x02, + 0xe1, 0xf7, 0x6f, 0xc8, 0x13, 0x28, 0xc2, 0x8e, 0x08, 0x2e, 0x98, 0x75, 0xe3, 0x37, 0x82, 0x8b, + 0x63, 0x71, 0xfe, 0x40, 0x1a, 0x5c, 0xcd, 0x83, 0x6e, 0xe3, 0xae, 0x32, 0xef, 0x62, 0x06, 0x2c, + 0xa0, 0x55, 0xd4, 0x17, 0x25, 0xcf, 0xa5, 0x40, 0xc4, 0x5d, 0xc7, 0x9b, 0x1a, 0xa7, 0x23, 0x13, + 0xa5, 0x84, 0x36, 0x38, 0xe4, 0x5d, 0xa7, 0x71, 0x30, 0x37, 0xfb, 0xc1, 0x03, 0x57, 0x84, 0x30, + 0xfe, 0x84, 0x22, 0x06, 0x7c, 0x51, 0x62, 0xee, 0xe2, 0x1d, 0x8e, 0xf8, 0x89, 0xff, 0x2b, 0x8e, + 0x8e, 0xd0, 0xc5, 0x43, 0xbe, 0xde, 0xbe, 0x6b, 0x31, 0xf8, 0xde, 0x0a, 0x0f, 0xd6, 0x9d, 0x3b, + 0xb1, 0xe2, 0x29, 0x69, 0xbd, 0x9e, 0xef, 0xf6, 0x42, 0xb8, 0x7a, 0x89, 0xe4, 0x01, 0xcc, 0xd7, + 0x6e, 0x37, 0x9f, 0x2c, 0xfd, 0x08, 0xd3, 0xeb, 0x52, 0xd6, 0x01, 0xf2, 0x6c, 0x08, 0x00, 0xbd, + 0x31, 0xe4, 0xbb, 0x1d, 0xf0, 0xd7, 0x4a, 0x6a, 0xa3, 0xb5, 0x53, 0xd0, 0x8c, 0xef, 0x26, 0x30, + 0x2d, 0xf9, 0xd0, 0x81, 0x91, 0xb9, 0x66, 0xa8, 0x53, 0x19, 0x1f, 0x7a, 0xb7, 0xf3, 0xe0, 0xc7, + 0xf6, 0x3f, 0x5b, 0x88, 0x6a, 0x4f, 0x38, 0x80, 0xb8, 0xcd, 0x8e, 0x6d, 0x00, 0xea, 0xde, 0xd7, + 0x44, 0x1b, 0xfb, 0x4c, 0x74, 0xd3, 0xbd, 0xa1, 0xfd, 0xd7, 0x16, 0x4d, 0xc5, 0xf4, 0x6a, 0x3f, + 0xe1, 0x40, 0x1c, 0xdc, 0x63, 0xbd, 0xf5, 0x43, 0xe5, 0xfd, 0xe1, 0x0b, 0x9b, 0xc6, 0x50, 0x86, + 0x24, 0xd1, 0xa1, 0xdf, 0xbe, 0x01, 0x7c, 0x04, 0x8b, 0xc1, 0x23, 0x24, 0x27, 0x45, 0xfd, 0x26, + 0xc6, 0x7d, 0xd2, 0x1f, 0x4e, 0xa4, 0x72, 0x5c, 0x4c, 0x48, 0x06, 0x22, 0xf5, 0xc9, 0x59, 0xc7, + 0x0e, 0x18, 0xe1, 0x66, 0xe9, 0x8b, 0x13, 0x1c, 0x08, 0xa2, 0xf3, 0x82, 0x9a, 0xd9, 0xc2, 0xaf, + 0x02, 0x5f, 0x97, 0x41, 0xe6, 0x54, 0xe6, 0x63, 0x6f, 0x01, 0xb7, 0x7d, 0x77, 0xf8, 0xab, 0xfd, + 0xf8, 0xae, 0x73, 0xab, 0xcf, 0x42, 0x44, 0x34, 0xaf, 0xea, 0xa3, 0xe6, 0x4e, 0xa7, 0xa0, 0xa9, + 0x65, 0x3b, 0xfc, 0x5d, 0x6c, 0x1c, 0xf2, 0x86, 0xf0, 0x47, 0x7c, 0xdf, 0x20, 0xa5, 0xd8, 0x21, + 0x93, 0xe9, 0x4a, 0xa2, 0x8a, 0x9d, 0x8d, 0x59, 0x77, 0x40, 0x82, 0xf8, 0x85, 0xff, 0x49, 0xf7, + 0x7e, 0xcb, 0x66, 0x66, 0xee, 0x12, 0x18, 0xbb, 0xbf, 0xc7, 0x52, 0xa9, 0xbf, 0xaa, 0x90, 0x1a, + 0x6e, 0xf0, 0xcf, 0xa1, 0x6b, 0xd0, 0xdc, 0x0a, 0xf7, 0x1c, 0xff, 0x69, 0x4a, 0x97, 0x63, 0x91, + 0x88, 0xe4, 0x40, 0xd8, 0x00, 0xa4, 0xd9, 0x47, 0x07, 0xf9, 0xe7, 0xde, 0x58, 0xa4, 0x0b, 0xd0, + 0x05, 0x84, 0xd3, 0x1a, 0x45, 0x31, 0x34, 0x79, 0x93, 0x67, 0x58, 0x1f, 0x1f, 0xdb, 0x5f, 0x66, + 0x5c, 0x36, 0xd3, 0xe4, 0xd7, 0x67, 0xa6, 0xe6, 0x8a, 0x10, 0xdc, 0xdd, 0x89, 0x90, 0x5f, 0x53, + 0x20, 0x04, 0x6c, 0xa1, 0x2b, 0xf4, 0x0c, 0x50, 0x57, 0xf4, 0x8a, 0xbf, 0x14, 0x46, 0x5e, 0x93, + 0xbf, 0x40, 0x1a, 0xe3, 0xfc, 0x62, 0x49, 0x68, 0x4d, 0x9e, 0xc4, 0x08, 0x45, 0x1b, 0x04, 0x8e, + 0x73, 0x16, 0x8f, 0xd0, 0x13, 0xba, 0xc1, 0xd2, 0xb8, 0xb5, 0x19, 0xf7, 0xf5, 0xf1, 0xbe, 0x9f, + 0xf2, 0x88, 0x4a, 0xa9, 0xd7, 0x78, 0xd2, 0xd6, 0x5a, 0x06, 0x40, 0x68, 0x3f, 0xf8, 0xc8, 0xf0, + 0xfd, 0x97, 0x27, 0x8c, 0xc0, 0x90, 0x54, 0x42, 0x4a, 0x8c, 0x55, 0xca, 0x5b, 0x24, 0xa2, 0xe5, + 0xa9, 0x61, 0x5b, 0xef, 0x26, 0x15, 0x73, 0x07, 0x6f, 0x3d, 0x20, 0x07, 0xdd, 0x06, 0x38, 0x85, + 0xf2, 0xc7, 0xd7, 0x62, 0x90, 0xc1, 0x78, 0xa4, 0x23, 0x1e, 0x7e, 0x8f, 0xa9, 0x8f, 0x85, 0xbc, + 0xa9, 0x09, 0x52, 0x05, 0x8d, 0x07, 0x25, 0xb3, 0x46, 0xfc, 0xd2, 0x74, 0x98, 0x97, 0x5d, 0x15, + 0x41, 0x17, 0x7a, 0x5a, 0x36, 0x4a, 0x77, 0x43, 0x9a, 0xb3, 0xea, 0xb8, 0x8a, 0x76, 0x58, 0x65, + 0x28, 0x93, 0x62, 0xe3, 0x36, 0x05, 0xa0, 0x26, 0xb9, 0x3d, 0xf5, 0xa0, 0x04, 0x5c, 0xee, 0x2c, + 0x81, 0x66, 0x41, 0xe4, 0xd3, 0xbf, 0x03, 0xf7, 0xf8, 0x61, 0xdb, 0xaa, 0x65, 0x3c, 0xae, 0xf3, + 0xa0, 0xc8, 0xbf, 0x7b, 0xe4, 0x9a, 0xb0, 0x77, 0xbe, 0x1f, 0xd1, 0x95, 0xa1, 0xf8, 0xbc, 0x77, + 0xff, 0x64, 0x0e, 0x7e, 0x37, 0x71, 0x76, 0x89, 0xf1, 0xad, 0x65, 0x71, 0x42, 0x30, 0x1b, 0xbf, + 0xef, 0xa1, 0x54, 0x5a, 0xb6, 0x54, 0x3b, 0x61, 0xa2, 0xf8, 0x1b, 0x91, 0x77, 0xc9, 0x82, 0xf2, + 0xc8, 0x3f, 0xf0, 0x5a, 0x11, 0xdc, 0xff, 0x37, 0xe2, 0x80, 0x9d, 0xd3, 0xe6, 0x3f, 0x1b, 0xaf, + 0x24, 0x6f, 0xb1, 0x84, 0xec, 0xb7, 0x18, 0xc9, 0xc8, 0x71, 0x04, 0xcf, 0x86, 0x13, 0x71, 0x1b, + 0x62, 0x10, 0x56, 0xa8, 0x56, 0x41, 0xc8, 0x9a, 0xe3, 0xaf, 0x6a, 0xaa, 0x45, 0xbd, 0xab, 0xe0, + 0xb9, 0x08, 0xa8, 0xce, 0x00, 0xcb, 0x23, 0x03, 0x56, 0xd3, 0x13, 0x20, 0x6d, 0xd9, 0x92, 0xad, + 0xdc, 0x75, 0x6c, 0xae, 0x18, 0xd3, 0x2a, 0xee, 0x1e, 0x1a, 0x42, 0x27, 0x8a, 0xf2, 0x85, 0x05, + 0xea, 0x26, 0xe5, 0xd0, 0x28, 0x60, 0x22, 0x9b, 0x5d, 0x49, 0x1c, 0xa4, 0x71, 0x71, 0xc7, 0xeb, + 0x50, 0xf9, 0x6e, 0xc4, 0xa9, 0x64, 0xb0, 0x65, 0x86, 0x6b, 0xb9, 0xd7, 0x9a, 0xfa, 0x19, 0xb4, + 0x11, 0xa2, 0xbd, 0x62, 0xa6, 0x0a, 0x21, 0x3d, 0x33, 0xd5, 0x3d, 0x4e, 0x49, 0xcc, 0xea, 0xb8, + 0x78, 0x0f, 0xad, 0x6e, 0xc9, 0xf7, 0x41, 0x58, 0x1b, 0x20, 0xae, 0x30, 0x01, 0xa9, 0xd4, 0x64, + 0xf7, 0x9f, 0x00, 0xdb, 0x2b, 0xd4, 0x70, 0x37, 0x6c, 0x1c, 0xb8, 0xfc, 0xe3, 0x00, 0x8e, 0x6a, + 0xc4, 0xfb, 0xa5, 0x9a, 0xa4, 0x72, 0x7b, 0x52, 0x4d, 0x53, 0x11, 0x31, 0x66, 0x6b, 0x0f, 0x92, + 0xe8, 0x88, 0x30, 0x00, 0xde, 0x0e, 0x4b, 0x86, 0x33, 0xa1, 0x4c, 0x5c, 0x3e, 0x9b, 0x3c, 0xa8, + 0xf2, 0xed, 0xf9, 0x8a, 0x3a, 0x84, 0x75, 0x8d, 0xb5, 0x95, 0xc1, 0x56, 0xc1, 0xc1, 0x15, 0x9f, + 0x34, 0xaf, 0x0f, 0xfd, 0x9d, 0xa4, 0x36, 0x4f, 0x07, 0xd5, 0x42, 0xd4, 0xcc, 0xb3, 0x13, 0x2b, + 0x7b, 0x42, 0x78, 0xeb, 0xc6, 0x81, 0xdf, 0x04, 0xc2, 0xc5, 0x80, 0xd9, 0x48, 0x4b, 0xaf, 0x88, + 0x4f, 0xc5, 0x81, 0x02, 0x99, 0x2e, 0xc4, 0x06, 0x7e, 0x2c, 0x81, 0xe0, 0x86, 0x2b, 0x94, 0x62, + 0x35, 0x20, 0x89, 0xe5, 0x30, 0x84, 0x93, 0x6b, 0x5d, 0x97, 0x32, 0xa1, 0x6d, 0x53, 0x85, 0x1f, + 0x52, 0x4e, 0x2c, 0xe3, 0x3c, 0xe5, 0x16, 0x9c, 0x46, 0x8e, 0x06, 0xb5, 0xf8, 0x68, 0xe1, 0xb1, + 0x2d, 0x2c, 0x06, 0x4e, 0xfc, 0x3a, 0xa5, 0xad, 0x2a, 0x7d, 0x21, 0xd9, 0x01, 0x22, 0x7c, 0xb8, + 0x91, 0x1f, 0x83, 0x93, 0x0d, 0xcc, 0xb5, 0x58, 0xab, 0x2f, 0xb4, 0x8b, 0xd4, 0x81, 0x2f, 0x88, + 0xdb, 0x05, 0x19, 0xc1, 0x86, 0x49, 0x18, 0x47, 0x59, 0x88, 0x81, 0x33, 0x1b, 0xfd, 0x8e, 0xe3, + 0xe0, 0x89, 0xc7, 0xdf, 0x1e, 0x3c, 0x0f, 0xa0, 0x71, 0x63, 0xa1, 0x6b, 0xda, 0x7b, 0x89, 0x9b, + 0xf7, 0xf3, 0x8b, 0xc1, 0x7c, 0xbf, 0x03, 0x0c, 0x79, 0x34, 0x41, 0x05, 0xfb, 0xbc, 0x27, 0xe4, + 0x8b, 0x67, 0x46, 0xed, 0x64, 0x24, 0x28, 0x52, 0xa0, 0xaa, 0xec, 0x9c, 0x6d, 0x1f, 0x56, 0x0c, + 0x33, 0xb1, 0x35, 0x27, 0x43, 0x92, 0xd4, 0xf9, 0x44, 0x13, 0xe9, 0x84, 0x43, 0xe7, 0xf4, 0x74, + 0x65, 0x83, 0x31, 0x1f, 0x17, 0x3a, 0x90, 0xfa, 0x7b, 0x1c, 0x6a, 0x97, 0x5d, 0x27, 0xd1, 0xa7, + 0x9c, 0x31, 0xfc, 0x71, 0xd2, 0xa6, 0xcd, 0xcf, 0x9c, 0xb4, 0xbe, 0xa1, 0x31, 0x41, 0xfe, 0x6b, + 0x30, 0x42, 0x77, 0xd4, 0x5a, 0xc0, 0xe7, 0xe7, 0x69, 0x23, 0x79, 0xa1, 0x17, 0xaa, 0x47, 0xf1, + 0x88, 0x6e, 0x12, 0x2c, 0x64, 0x49, 0xd0, 0x58, 0x9e, 0xeb, 0xee, 0xc9, 0xa9, 0x39, 0xf5, 0x40, + 0xfc, 0x1d, 0xd3, 0xbf, 0x53, 0xc1, 0x62, 0xf4, 0xd1, 0x39, 0x15, 0xdf, 0x51, 0x20, 0xf7, 0xb6, + 0x09, 0xc7, 0x4b, 0xd8, 0x81, 0xce, 0xed, 0xca, 0x68, 0x74, 0xe8, 0x82, 0xfe, 0xe2, 0xd0, 0xc6, + 0xe6, 0x98, 0x66, 0xf3, 0xfe, 0xf2, 0x89, 0x3b, 0x63, 0x1d, 0x48, 0x27, 0x47, 0x11, 0xa5, 0xe5, + 0x0a, 0xe7, 0xa1, 0x95, 0x46, 0xc7, 0x03, 0x88, 0x25, 0xb2, 0x9a, 0xaa, 0xb5, 0xa6, 0x8a, 0xe7, + 0xc0, 0x45, 0xe3, 0x31, 0x38, 0x3b, 0x97, 0xdd, 0x59, 0x1d, 0xeb, 0xa9, 0x18, 0x38, 0x86, 0x51, + 0xa9, 0x5f, 0x97, 0x08, 0xac, 0x86, 0xbd, 0x85, 0xeb, 0xcc, 0x2e, 0x27, 0x1e, 0x13, 0xd6, 0x64, + 0xc3, 0x2b, 0x50, 0x04, 0xa4, 0xbf, 0xc2, 0xf9, 0x7e, 0x2b, 0x1c, 0x04, 0xef, 0xaa, 0x2d, 0x46, + 0xde, 0xca, 0x36, 0x56, 0xb5, 0x4b, 0xca, 0x46, 0x24, 0x42, 0xf3, 0x27, 0xed, 0x2f, 0xd2, 0x2f, + 0x32, 0xf4, 0x66, 0x41, 0x66, 0x12, 0x2d, 0xea, 0x97, 0xe3, 0xb4, 0x64, 0xd4, 0x99, 0xcf, 0xfd, + 0xd2, 0x8d, 0xb9, 0xb3, 0x4e, 0x0d, 0xf7, 0x3b, 0xb7, 0x6c, 0xa1, 0x14, 0x15, 0x03, 0x7b, 0xa9, + 0x85, 0x9f, 0xe3, 0x26, 0x3f, 0xff, 0x78, 0x6a, 0x7c, 0x46, 0x86, 0x0c, 0x40, 0xa9, 0x02, 0x4d, + 0x15, 0x09, 0x95, 0x1c, 0x8d, 0x60, 0x24, 0x91, 0x77, 0x9d, 0x29, 0xa5, 0x5f, 0xa7, 0x5c, 0x7d, + 0x6a, 0xbe, 0x00, 0x35, 0xca, 0x0c, 0xf7, 0xef, 0x24, 0xec, 0xdc, 0x79, 0x85, 0x94, 0xc1, 0x3d, + 0x08, 0x6d, 0xd8, 0x28, 0x9a, 0x92, 0xba, 0x28, 0xcd, 0x02, 0xc1, 0x08, 0x14, 0x5c, 0x3c, 0xca, + 0xf9, 0x08, 0xf1, 0x2e, 0x25, 0x55, 0x68, 0xea, 0x96, 0x1b, 0x2c, 0xc3, 0x32, 0xfd, 0xdf, 0x06, + 0x56, 0xb6, 0x86, 0x8a, 0x5f, 0x48, 0x45, 0x62, 0xcf, 0xc8, 0xdf, 0x8c, 0xbb, 0xf7, 0x5a, 0x80, + 0x7d, 0x0b, 0x2c, 0xe8, 0x80, 0x24, 0xa3, 0xb8, 0x00, 0xea, 0x20, 0x8a, 0x6a, 0x1d, 0xb0, 0x30, + 0x91, 0x15, 0x95, 0x6b, 0x5a, 0x0e, 0x27, 0x94, 0x1b, 0x7c, 0x1d, 0x52, 0x5c, 0xe3, 0xd5, 0x16, + 0x1e, 0x16, 0x66, 0x2f, 0x3d, 0x8d, 0x6b, 0x59, 0xf3, 0x47, 0xc9, 0x4b, 0x0c, 0x62, 0xf5, 0x9c, + 0x84, 0x63, 0xca, 0x66, 0x40, 0x61, 0x1a, 0x3d, 0xa0, 0x8c, 0xe9, 0xe7, 0x70, 0x58, 0xb2, 0x99, + 0x1e, 0x08, 0x69, 0xf7, 0x77, 0x91, 0x58, 0x7a, 0xc2, 0xbf, 0x7d, 0x5a, 0x99, 0xcb, 0xfc, 0xdb, + 0xaa, 0xf8, 0x9f, 0xf0, 0xe2, 0x68, 0x1a, 0x1a, 0xc0, 0xd6, 0x27, 0x2f, 0xea, 0x73, 0x29, 0x12, + 0x4a, 0x63, 0xdb, 0x18, 0xc4, 0x09, 0x72, 0x2f, 0x60, 0xeb, 0x50, 0xbf, 0xb8, 0x48, 0x6c, 0x5d, + 0x0c, 0x4c, 0x7f, 0xcf, 0xfc, 0x21, 0x76, 0xc4, 0x70, 0x41, 0x7d, 0x84, 0x67, 0x8a, 0x29, 0xdf, + 0x92, 0x43, 0x04, 0x29, 0x4c, 0x9b, 0xbb, 0x45, 0xf2, 0xe2, 0x27, 0xc0, 0x7f, 0x57, 0x58, 0x19, + 0xde, 0xf5, 0x30, 0xc1, 0xa2, 0xf8, 0x3e, 0x1b, 0x33, 0xc2, 0x3f, 0x00, 0x72, 0x21, 0xae, 0xbd, + 0xf1, 0xcb, 0x7a, 0x94, 0x6e, 0xca, 0x7f, 0x87, 0x47, 0x7a, 0x35, 0xf8, 0x53, 0x8f, 0x82, 0xc1, + 0xc3, 0xfa, 0xa5, 0x6f, 0x5a, 0x97, 0x3f, 0x1f, 0x1e, 0x1e, 0x1a, 0x62, 0x98, 0xa7, 0xc5, 0xf5, + 0x80, 0x47, 0xa8, 0xfd, 0x4e, 0x7e, 0xce, 0x7e, 0x69, 0x38, 0xb6, 0x17, 0xac, 0x4e, 0x21, 0xa5, + 0xfb, 0x1a, 0x27, 0xd9, 0xea, 0x5e, 0xa2, 0x3e, 0x82, 0xe1, 0x14, 0xe7, 0x7c, 0xcc, 0x01, 0x50, + 0xc0, 0x28, 0xaf, 0xdb, 0xd9, 0x69, 0x15, 0xbe, 0x42, 0x55, 0x43, 0x06, 0x3f, 0x78, 0xd5, 0xaa, + 0x34, 0xbb, 0xb1, 0xec, 0x70, 0x7e, 0x76, 0x5e, 0x6c, 0x7d, 0x4c, 0x45, 0xab, 0x80, 0xb4, 0x24, + 0x90, 0xdd, 0xd9, 0x0b, 0xf1, 0xa3, 0xe9, 0x1c, 0xf7, 0x11, 0x6a, 0xa4, 0x66, 0x6f, 0xc5, 0x5e, + 0xf2, 0x68, 0xa4, 0xc2, 0xdc, 0x87, 0x6b, 0x18, 0x99, 0x83, 0x8d, 0xcb, 0x56, 0x66, 0x09, 0x14, + 0xc7, 0xd1, 0x99, 0xe2, 0x88, 0x0c, 0xa8, 0x59, 0x78, 0xbc, 0x0b, 0x17, 0x12, 0xa8, 0xcc, 0x74, + 0x7a, 0x0f, 0x35, 0x41, 0xda, 0x96, 0x80, 0x87, 0xd2, 0xc3, 0x26, 0x25, 0xf1, 0x99, 0x59, 0x5b, + 0x0b, 0x8e, 0x5a, 0xf8, 0x56, 0xcd, 0xce, 0x2b, 0xde, 0x95, 0x01, 0x77, 0x8c, 0x77, 0x15, 0xf9, + 0x27, 0x40, 0x87, 0x84, 0xe4, 0xa5, 0x85, 0x1c, 0x73, 0xc1, 0xb7, 0x9b, 0x5c, 0xcc, 0x6f, 0x00, + 0x3a, 0x16, 0xcf, 0xf0, 0x1d, 0x47, 0x31, 0x07, 0x43, 0x49, 0xc2, 0x3d, 0x4a, 0x4b, 0x09, 0x16, + 0xe9, 0x04, 0x12, 0x89, 0x41, 0x09, 0x53, 0xc1, 0x5e, 0x4f, 0x97, 0x00, 0xec, 0x3c, 0x90, 0x62, + 0x60, 0xdd, 0x83, 0xea, 0xd7, 0x21, 0xd5, 0xa7, 0x38, 0x07, 0x78, 0xf3, 0xc1, 0xd4, 0xf1, 0xca, + 0x13, 0xaf, 0xb1, 0x53, 0xb3, 0x5f, 0x5f, 0xa8, 0xda, 0x23, 0x25, 0x65, 0xa3, 0x35, 0xf5, 0xfc, + 0x97, 0xdc, 0xdc, 0xbf, 0x24, 0xaa, 0x4d, 0xfd, 0xf7, 0xc8, 0x2e, 0x52, 0x52, 0x9c, 0x6a, 0x95, + 0xd3, 0x06, 0x87, 0x4e, 0x3c, 0x86, 0x8d, 0x7f, 0x12, 0xe9, 0xfd, 0x29, 0x0e, 0xb7, 0x5f, 0xe1, + 0xb6, 0x7b, 0x4e, 0x5e, 0x8d, 0x32, 0x24, 0x79, 0x36, 0xe0, 0x60, 0xb6, 0xbb, 0x74, 0xfe, 0xd3, + 0xd9, 0x85, 0x27, 0x5e, 0x91, 0xa6, 0xb3, 0xa3, 0xf6, 0x5f, 0xb4, 0x07, 0x4e, 0x1a, 0x3b, 0x54, + 0x4c, 0x61, 0x54, 0xd4, 0xc6, 0xf4, 0x76, 0x1d, 0x3d, 0x64, 0x25, 0x81, 0x63, 0x72, 0xf3, 0xa5, + 0x2d, 0x27, 0x97, 0x2c, 0x64, 0xbf, 0xc5, 0x94, 0x9a, 0x4c, 0xbe, 0x98, 0xa6, 0xb2, 0x22, 0xe8, + 0x0c, 0x2a, 0x2b, 0xd0, 0x1f, 0xda, 0xca, 0x25, 0xa1, 0x18, 0x05, 0xf9, 0x94, 0xfe, 0x1a, 0xe3, + 0x70, 0x7e, 0x0d, 0x1d, 0x8c, 0x54, 0xf1, 0xff, 0xb0, 0x01, 0x11, 0xe3, 0x04, 0xc4, 0x63, 0x16, + 0x33, 0x3c, 0xd0, 0xc1, 0xb1, 0x8c, 0x21, 0x37, 0x9b, 0x0c, 0x6d, 0x96, 0x1d, 0x27, 0x49, 0x9c, + 0x7c, 0x0f, 0xd5, 0x01, 0x54, 0x95, 0x48, 0x8c, 0x14, 0xf9, 0x22, 0xa8, 0x38, 0xde, 0xd1, 0x16, + 0x2b, 0x3e, 0x1a, 0x25, 0xc2, 0xae, 0xff, 0xbe, 0xfb, 0xeb, 0x34, 0x0a, 0xbb, 0x19, 0x26, 0x3f, + 0x8a, 0x17, 0x88, 0xa2, 0x3a, 0x95, 0x8f, 0x22, 0x91, 0x66, 0xf4, 0x1a, 0x35, 0x24, 0x9c, 0x89, + 0x7e, 0x4f, 0xe3, 0x54, 0x88, 0xb3, 0x60, 0x76, 0x9a, 0x7d, 0x26, 0x33, 0xfa, 0x7d, 0x7e, 0x8b, + 0x8c, 0x74, 0x9f, 0x3d, 0x69, 0x00, 0x2c, 0x06, 0x6a, 0xa6, 0xaa, 0xab, 0x5b, 0x00, 0xd7, 0x56, + 0x3d, 0x39, 0x32, 0x1b, 0x51, 0x53, 0xdc, 0xbc, 0xd6, 0x23, 0xa7, 0xf2, 0x58, 0xf0, 0x5f, 0x96, + 0xf4, 0x1e, 0xd7, 0xa6, 0xe9, 0x0a, 0x69, 0x2a, 0x2f, 0xea, 0xda, 0x00, 0x3f, 0x06, 0xd0, 0x4a, + 0x30, 0x55, 0x1a, 0x3b, 0x4b, 0x76, 0x7e, 0x31, 0xb3, 0xe9, 0xb2, 0x26, 0x11, 0x89, 0x82, 0x7c, + 0x5d, 0x39, 0x14, 0x9f, 0x38, 0x1b, 0xe3, 0x45, 0x0d, 0xc2, 0x8c, 0x62, 0x66, 0xbb, 0x82, 0x9e, + 0xea, 0x67, 0x2f, 0x6b, 0xbc, 0xe4, 0x16, 0x60, 0x6f, 0x0b, 0x54, 0xf2, 0x58, 0xd6, 0xf0, 0xe0, + 0xd1, 0x0a, 0x18, 0x56, 0xfa, 0x5d, 0x2f, 0x19, 0x1b, 0xc3, 0xce, 0x42, 0x3f, 0x74, 0xcf, 0x1f, + 0x56, 0x2c, 0xeb, 0x32, 0xa5, 0x72, 0x97, 0xd8, 0x85, 0x1c, 0x30, 0xd5, 0xf6, 0x13, 0xc3, 0xe5, + 0x5f, 0x51, 0xa6, 0xfa, 0xec, 0x56, 0x8d, 0xc8, 0x03, 0x61, 0x7c, 0x2a, 0x62, 0xae, 0xa3, 0x6c, + 0x16, 0x80, 0xea, 0xb0, 0xae, 0xe2, 0x71, 0xb1, 0x11, 0x13, 0xf7, 0xde, 0xa0, 0x4c, 0x4a, 0x82, + 0x7a, 0xea, 0xc5, 0x9b, 0xf8, 0xfa, 0x07, 0x8d, 0xc3, 0x8d, 0x33, 0x4d, 0x9b, 0xd6, 0x76, 0x1b, + 0xb4, 0x14, 0x74, 0x96, 0x45, 0xba, 0xc5, 0x8a, 0x04, 0x7c, 0xca, 0xe7, 0xba, 0x2e, 0x2b, 0x19, + 0x6b, 0xf8, 0x31, 0x7f, 0x89, 0x61, 0xaf, 0x19, 0xa1, 0xcb, 0x3a, 0xf0, 0x90, 0xed, 0x4a, 0x5d, + 0xaf, 0xed, 0xd0, 0x55, 0x16, 0x32, 0x37, 0x8a, 0xfa, 0x80, 0x14, 0xe8, 0xbe, 0x7d, 0xfe, 0x38, + 0x99, 0x84, 0x82, 0x4c, 0xba, 0xdf, 0x53, 0x12, 0xf4, 0x6b, 0xf7, 0x21, 0x0a, 0x3f, 0xc4, 0xdd, + 0x00, 0x67, 0x0a, 0xb5, 0x7f, 0x8b, 0xf2, 0x93, 0x7b, 0xf5, 0xc0, 0xd4, 0xec, 0x22, 0x91, 0x32, + 0xe7, 0x19, 0x19, 0x7c, 0x00, 0x4a, 0x25, 0xba, 0x2b, 0x7e, 0x14, 0xa2, 0x1d, 0xaa, 0x36, 0x43, + 0x9d, 0x8a, 0x8f, 0x4f, 0x05, 0x00, 0x5d, 0x78, 0x43, 0xe7, 0x8a, 0x0a, 0x1b, 0x71, 0x89, 0x58, + 0x0c, 0xc0, 0x37, 0x06, 0xd4, 0xaa, 0x93, 0x1e, 0xc7, 0xd5, 0x8d, 0xbf, 0x08, 0xba, 0x76, 0xdd, + 0x93, 0x29, 0x59, 0x7e, 0xd7, 0xa1, 0xbf, 0x45, 0xb5, 0xfc, 0x11, 0x07, 0x17, 0xd0, 0x66, 0xf4, + 0x0c, 0x32, 0xff, 0xb7, 0x18, 0x55, 0x4d, 0x06, 0xdd, 0xc6, 0x60, 0x64, 0x29, 0xf7, 0xae, 0x99, + 0xfa, 0x23, 0x9a, 0x5d, 0xa4, 0xe2, 0x59, 0xd0, 0x97, 0xf2, 0x61, 0x46, 0x23, 0x4c, 0x24, 0x73, + 0x37, 0x52, 0x8d, 0x3c, 0xb3, 0x11, 0xe5, 0x21, 0x86, 0x9c, 0x63, 0x01, 0xc6, 0x5b, 0xf8, 0xd1, + 0x76, 0xbd, 0x2b, 0x07, 0x28, 0xf6, 0x85, 0xf2, 0x84, 0x76, 0x36, 0xb9, 0x98, 0x6f, 0x39, 0xdd, + 0xf0, 0xc6, 0xca, 0xee, 0x15, 0xb9, 0xf1, 0x60, 0x60, 0xbc, 0x5c, 0x51, 0x66, 0xb4, 0xe9, 0x2b, + 0x05, 0x65, 0xdf, 0x4e, 0x02, 0xa0, 0x4a, 0x96, 0xa3, 0x82, 0x09, 0x30, 0x7c, 0x1f, 0xac, 0x22, + 0xcc, 0x91, 0xbb, 0x5b, 0x0f, 0xd1, 0xf2, 0xc4, 0x46, 0x9d, 0x08, 0x6f, 0x00, 0x26, 0xe6, 0x63, + 0x65, 0xee, 0x06, 0x33, 0xd9, 0x1e, 0xb8, 0xcf, 0x55, 0xef, 0x9d, 0xd7, 0x75, 0x81, 0xa6, 0x6a, + 0x2a, 0x90, 0xf6, 0xe0, 0x07, 0xf5, 0x5b, 0x4d, 0x92, 0x21, 0x90, 0x88, 0x86, 0xd4, 0xc1, 0x6c, + 0xec, 0xb0, 0xae, 0x8a, 0xb1, 0x3a, 0xc0, 0xef, 0xc9, 0x8f, 0x8c, 0xc7, 0xcb, 0x35, 0x87, 0x8c, + 0x11, 0xd4, 0xc8, 0xc9, 0xff, 0xee, 0x90, 0x66, 0x69, 0x40, 0xa1, 0x67, 0x64, 0x7f, 0x4b, 0xbc, + 0x97, 0xb8, 0xe7, 0x37, 0x71, 0xd5, 0x73, 0xcc, 0x10, 0x04, 0x82, 0xb8, 0xb0, 0x00, 0x79, 0xad, + 0x1d, 0x0b, 0xd7, 0x1f, 0x28, 0xe8, 0x81, 0x04, 0x42, 0xfc, 0xa7, 0x08, 0x1c, 0xa0, 0x40, 0x4c, + 0x99, 0x76, 0x2c, 0x71, 0x8b, 0xd3, 0xcb, 0x62, 0x8a, 0xb4, 0x17, 0x6b, 0xe6, 0xda, 0xf1, 0x6e, + 0x88, 0x4c, 0xd9, 0x92, 0xa5, 0x51, 0x21, 0x23, 0xf7, 0x6c, 0xbb, 0x51, 0xce, 0xea, 0x18, 0xb5, + 0x90, 0xf9, 0xb7, 0xf2, 0x67, 0x1e, 0x3a, 0x4f, 0xdf, 0xe6, 0xe2, 0x3a, 0x73, 0xcb, 0x31, 0xb2, + 0x8b, 0xd4, 0xa1, 0x2a, 0x0e, 0xfd, 0xdb, 0xd7, 0xc4, 0x17, 0x59, 0xd7, 0x37, 0x94, 0xc8, 0xfe, + 0xf0, 0xcc, 0xa3, 0xb5, 0x74, 0x0c, 0x4d, 0xff, 0x1e, 0x51, 0x26, 0x1e, 0x6c, 0xfe, 0xe8, 0xea, + 0x26, 0xf3, 0x14, 0x6f, 0x06, 0x03, 0xc3, 0xb6, 0xfb, 0x59, 0x46, 0x26, 0x7e, 0x73, 0x1d, 0x8d, + 0xa4, 0xd8, 0x1a, 0x8a, 0x52, 0x57, 0xb3, 0xf8, 0xa5, 0xa7, 0x37, 0xec, 0xf3, 0xad, 0x66, 0xb6, + 0x6d, 0x6e, 0x09, 0x55, 0xa4, 0x00, 0x55, 0xff, 0xd1, 0x74, 0x57, 0x31, 0x03, 0xd6, 0x86, 0x3f, + 0x01, 0xd4, 0xd1, 0x56, 0xa6, 0x60, 0x48, 0x50, 0x72, 0x4d, 0xc7, 0xb1, 0x6b, 0x06, 0x34, 0xd9, + 0x68, 0xfa, 0xda, 0x20, 0x10, 0x5f, 0x0b, 0xcd, 0x5b, 0x69, 0x47, 0x6f, 0x97, 0xfd, 0xc4, 0x39, + 0xbd, 0x50, 0x23, 0xb8, 0x7d, 0xdf, 0xd0, 0xd9, 0x3f, 0xcc, 0x9e, 0xa5, 0xe7, 0x72, 0x9a, 0x4b, + 0x90, 0xe8, 0x34, 0xd6, 0x15, 0x26, 0x17, 0xe2, 0x6e, 0x8d, 0xa2, 0x9a, 0x66, 0x8d, 0xd2, 0x3c, + 0x0c, 0xb9, 0xdc, 0xd3, 0x85, 0x60, 0x03, 0x31, 0xba, 0x5d, 0x65, 0x30, 0xc9, 0x2d, 0x3f, 0x06, + 0xec, 0x2d, 0x50, 0x51, 0xba, 0x2b, 0x91, 0xda, 0xf0, 0xdc, 0xad, 0x2b, 0xbd, 0x4a, 0x41, 0x5f, + 0x27, 0x8a, 0x56, 0x84, 0xcb, 0xd5, 0x55, 0x55, 0x80, 0x9d, 0xfd, 0x97, 0x81, 0x3c, 0x64, 0xb5, + 0x6d, 0x19, 0x13, 0x41, 0xf2, 0x06, 0x3a, 0xcc, 0xd5, 0x12, 0x20, 0xed, 0xf9, 0x57, 0x85, 0x59, + 0x43, 0x9b, 0x1c, 0x06, 0x2e, 0xe2, 0xf5, 0x70, 0x6d, 0xca, 0xb4, 0x97, 0x5c, 0x40, 0x10, 0x3b, + 0xe8, 0xac, 0x1d, 0xfd, 0xbe, 0x6c, 0x72, 0x51, 0xab, 0x37, 0x93, 0x11, 0x89, 0x24, 0xc7, 0x2a, + 0xf4, 0x36, 0x9d, 0x74, 0xdb, 0xb5, 0xde, 0xda, 0x72, 0xdd, 0x4e, 0xa0, 0xc8, 0x2c, 0xde, 0xe8, + 0xf7, 0xbc, 0xa3, 0x5b, 0x38, 0xbd, 0x7d, 0xf4, 0xf0, 0xbf, 0x2c, 0x71, 0x4a, 0x07, 0xeb, 0x4d, + 0x1e, 0x47, 0xe6, 0xed, 0x04, 0x1a, 0x6d, 0x01, 0xf6, 0xd0, 0x39, 0x86, 0x8d, 0x8e, 0xa6, 0x28, + 0x99, 0x5b, 0x84, 0xb3, 0x0b, 0x7b, 0x5e, 0x99, 0x1f, 0x8e, 0x94, 0x98, 0xed, 0x39, 0x66, 0x14, + 0x0e, 0x16, 0x2b, 0x32, 0x48, 0x43, 0xbb, 0x16, 0x1d, 0x25, 0x16, 0x02, 0xa7, 0x32, 0x5b, 0x4b, + 0xb1, 0x99, 0xe9, 0x35, 0x51, 0x13, 0xb8, 0xe9, 0x91, 0x49, 0x2a, 0xeb, 0x0f, 0xba, 0x4e, 0xdf, + 0xa2, 0x0a, 0x14, 0x9d, 0x75, 0x43, 0xc6, 0x75, 0x27, 0x1f, 0x52, 0x91, 0x79, 0x77, 0x45, 0xb1, + 0xd1, 0x3b, 0x20, 0x88, 0x2d, 0x5a, 0x59, 0x58, 0xab, 0x84, 0x6c, 0xb7, 0x43, 0x35, 0x51, 0x70, + 0xb1, 0x4d, 0xc8, 0x95, 0xb8, 0x58, 0x1d, 0xca, 0x03, 0x2a, 0xc9, 0x33, 0xfc, 0xaa, 0xd1, 0xd6, + 0x27, 0xf9, 0xd5, 0x86, 0x0b, 0x1c, 0x2f, 0x0a, 0x94, 0x58, 0xc2, 0xee, 0x3f, 0x32, 0x0f, 0x49, + 0xd5, 0xca, 0x44, 0x56, 0xab, 0x08, 0x7f, 0x1c, 0x40, 0xa2, 0x52, 0x9c, 0x57, 0xc6, 0x61, 0xdf, + 0x33, 0x8e, 0xde, 0x0b, 0x56, 0xe8, 0x89, 0x0e, 0xe0, 0x19, 0x49, 0xd5, 0x0c, 0xef, 0x22, 0x97, + 0x07, 0x75, 0x4a, 0xcd, 0x6e, 0x62, 0xc7, 0xf8, 0x6f, 0x73, 0x7a, 0x4c, 0x8c, 0xbc, 0x98, 0x09, + 0xe0, 0x42, 0xfa, 0x61, 0x29, 0x41, 0x38, 0x98, 0x9f, 0x8f, 0x02, 0x0b, 0xb3, 0x54, 0xef, 0xa4, + 0x1d, 0xce, 0x45, 0xfe, 0xe9, 0x68, 0x3b, 0x5f, 0x38, 0xb8, 0x5e, 0x1a, 0xa9, 0xa6, 0x40, 0x49, + 0x68, 0x97, 0xad, 0x29, 0x42, 0x61, 0x4a, 0xc0, 0xc0, 0x1e, 0xc1, 0xb8, 0x14, 0xfe, 0xf4, 0x70, + 0x8c, 0x56, 0x35, 0x9f, 0xea, 0x90, 0x24, 0x5f, 0xb8, 0x62, 0x96, 0x50, 0x69, 0x5a, 0xc8, 0x82, + 0xa5, 0x89, 0xbe, 0x19, 0xa6, 0x2d, 0x09, 0x92, 0x1c, 0xc1, 0x63, 0x90, 0x88, 0x53, 0x4d, 0x7b, + 0x89, 0xae, 0xc2, 0x32, 0xa1, 0x52, 0x91, 0xac, 0x08, 0xd3, 0x19, 0x00, 0xe7, 0x04, 0x8d, 0x60, + 0x24, 0xa5, 0x6f, 0x19, 0x36, 0x4c, 0x7d, 0x2b, 0xdb, 0x79, 0xf1, 0x05, 0x29, 0xed, 0x7d, 0x5e, + 0x32, 0xe8, 0xb5, 0x89, 0x35, 0x8a, 0xaa, 0xcd, 0xaf, 0x0a, 0x88, 0xb5, 0x99, 0x67, 0x3c, 0xbb, + 0xf2, 0x0e, 0x79, 0xfb, 0xbf, 0xbb, 0xe4, 0xaf, 0x58, 0x78, 0xdb, 0xb2, 0x6e, 0xbf, 0xe1, 0x77, + 0x5e, 0x50, 0x23, 0xc6, 0x7d, 0x8b, 0x99, 0x59, 0x00, 0x01, 0x39, 0x56, 0x52, 0xc4, 0xa1, 0x37, + 0x0c, 0xb3, 0xa4, 0x13, 0x1b, 0x7d, 0x3c, 0xef, 0x30, 0xce, 0xcb, 0x5f, 0x7b, 0x69, 0xec, 0x57, + 0xc8, 0xa7, 0x87, 0xf1, 0x0e, 0x22, 0x0a, 0x02, 0x57, 0xc0, 0xe3, 0xf0, 0x79, 0x75, 0x8c, 0x12, + 0x3a, 0xd4, 0x34, 0x18, 0x9f, 0x55, 0x0d, 0x37, 0x7d, 0x87, 0x3c, 0x16, 0xd2, 0xfd, 0xa2, 0x4e, + 0x02, 0x6c, 0xad, 0x0d, 0x54, 0xd1, 0xb0, 0xaa, 0xd9, 0x64, 0x58, 0xdd, 0xf9, 0x0b, 0x24, 0x68, + 0xc4, 0x28, 0x69, 0xdd, 0x11, 0x00, 0x92, 0x72, 0x49, 0xd7, 0xda, 0x85, 0x16, 0xd9, 0xba, 0x43, + 0x09, 0x8a, 0x0b, 0x21, 0x46, 0x67, 0xb1, 0x77, 0x99, 0x73, 0xe2, 0x48, 0x5d, 0x5f, 0xba, 0x95, + 0x79, 0x55, 0xc7, 0xd9, 0x65, 0x86, 0xe5, 0x25, 0x92, 0x40, 0x07, 0xc4, 0x63, 0x67, 0xa1, 0x0e, + 0x96, 0xd8, 0x62, 0xfb, 0xe4, 0xe8, 0x3a, 0xa7, 0x5d, 0xca, 0x0b, 0xf7, 0x13, 0xc3, 0x30, 0xe0, + 0xa5, 0x4b, 0xc8, 0x74, 0x2c, 0x73, 0xac, 0xc2, 0x1f, 0x8c, 0xee, 0x59, 0x63, 0xee, 0xac, 0xc2, + 0x38, 0x6b, 0xe0, 0x96, 0x01, 0xc2, 0xf2, 0x21, 0x56, 0xf6, 0x0a, 0xe6, 0x7b, 0x60, 0xbe, 0x99, + 0x4d, 0xc8, 0xdd, 0x07, 0xf4, 0xa5, 0x48, 0x6b, 0x68, 0xf4, 0x52, 0x35, 0xa6, 0xe8, 0xeb, 0x14, + 0x80, 0xab, 0x02, 0xb6, 0x17, 0xf1, 0x99, 0x8e, 0x56, 0xe2, 0xf4, 0x7a, 0xfa, 0xb6, 0x5d, 0x8a, + 0x91, 0x4f, 0x93, 0xe4, 0x88, 0x5e, 0xf8, 0xed, 0xfc, 0x2c, 0xda, 0xe1, 0x67, 0x6f, 0x27, 0x8e, + 0x65, 0xf8, 0xdb, 0x72, 0xa9, 0x14, 0xc4, 0xf9, 0x62, 0x0c, 0x8c, 0x9f, 0xb1, 0x46, 0x9c, 0x60, + 0x94, 0xf2, 0x18, 0x7e, 0x8d, 0xd2, 0x46, 0x89, 0x8f, 0x68, 0xc1, 0xfa, 0xa0, 0x4e, 0x1f, 0x32, + 0xce, 0xb2, 0xc1, 0x84, 0xa4, 0x04, 0x82, 0x61, 0xe4, 0x28, 0xbc, 0x4c, 0x8e, 0x4f, 0x9b, 0x17, + 0xea, 0xe8, 0x11, 0xa8, 0x5e, 0x64, 0x9d, 0x69, 0x56, 0x31, 0x04, 0x92, 0x33, 0xc1, 0xc8, 0x53, + 0xc9, 0xbb, 0x57, 0x97, 0x40, 0x01, 0x57, 0x44, 0xd6, 0x0d, 0x16, 0xa8, 0xc6, 0x7d, 0x65, 0x6c, + 0x0c, 0xf1, 0xd7, 0xff, 0xab, 0xce, 0x56, 0xf3, 0xaf, 0xac, 0x6a, 0x94, 0x1d, 0x44, 0x80, 0x89, + 0x89, 0x9d, 0x0a, 0x2f, 0xc4, 0xfe, 0x27, 0x55, 0xdd, 0xaf, 0xf3, 0x5f, 0x84, 0x4c, 0x9e, 0x04, + 0x8e, 0x51, 0x94, 0x30, 0xc5, 0x83, 0xa7, 0xfe, 0x35, 0x5c, 0x55, 0xf8, 0x45, 0x01, 0xab, 0xbd, + 0x36, 0x0b, 0xaa, 0x49, 0xf0, 0xcb, 0xf5, 0xf0, 0x59, 0x60, 0x08, 0x7c, 0x41, 0xd5, 0x58, 0xde, + 0xfc, 0xc7, 0xf1, 0x30, 0xa1, 0xee, 0xd1, 0x93, 0xbd, 0xb0, 0xe4, 0x9d, 0xbc, 0x12, 0x9d, 0xa6, + 0x5a, 0x7a, 0xb7, 0xb9, 0x4c, 0x7b, 0x0e, 0xf4, 0xa4, 0xa6, 0x9d, 0x71, 0xec, 0xf0, 0x34, 0x26, + 0x4d, 0xd9, 0x6e, 0xca, 0x0f, 0x93, 0x26, 0xa3, 0x50, 0xd8, 0x52, 0x8b, 0x3e, 0x9a, 0x81, 0x3e, + 0xcf, 0xda, 0x74, 0xd1, 0x2d, 0xb5, 0xf5, 0x4c, 0xbc, 0xbf, 0x85, 0xc7, 0xba, 0x65, 0xe4, 0xf7, + 0x0f, 0x45, 0x00, 0x8a, 0x3f, 0x72, 0xf2, 0xd8, 0x8e, 0x10, 0xbc, 0x0b, 0x8c, 0x40, 0x03, 0xe1, + 0x96, 0x4d, 0x9d, 0xdd, 0xf6, 0x15, 0xaa, 0x5a, 0xce, 0x95, 0x0e, 0x90, 0x74, 0x18, 0x33, 0x73, + 0xd3, 0xcf, 0x2d, 0xa8, 0x38, 0xad, 0x5a, 0x7c, 0xd7, 0x31, 0xe9, 0xb9, 0x58, 0xde, 0xa8, 0x8f, + 0x1f, 0x18, 0x7b, 0xde, 0xd0, 0xf1, 0x4a, 0x6a, 0xd1, 0x86, 0xbc, 0xbb, 0x30, 0x74, 0xfe, 0x3d, + 0xb0, 0x44, 0x4a, 0xc5, 0xd4, 0xa2, 0xd5, 0xce, 0x02, 0x50, 0xfe, 0x13, 0x5e, 0x9e, 0x82, 0x2a, + 0xd8, 0x42, 0x08, 0x93, 0x77, 0x6e, 0x3b, 0xd8, 0xdc, 0x6c, 0xcf, 0xf9, 0x2e, 0x8f, 0x9f, 0x8d, + 0x7f, 0x8a, 0x7d, 0x4f, 0x83, 0x32, 0xa5, 0xee, 0x7e, 0xc8, 0xf9, 0x80, 0xef, 0xa8, 0xd4, 0xa4, + 0x60, 0x9a, 0x2b, 0x04, 0x6f, 0xb9, 0x4a, 0x03, 0xcd, 0x21, 0xa3, 0xa6, 0xb6, 0xe0, 0x92, 0x89, + 0xfc, 0x13, 0xf6, 0x2c, 0x69, 0x46, 0x9d, 0xd1, 0x1a, 0xdf, 0xa2, 0x95, 0x42, 0xe9, 0x4e, 0xfb, + 0xff, 0xd5, 0xbe, 0x2d, 0x39, 0x66, 0x4b, 0x87, 0x08, 0x05, 0x8b, 0x91, 0x10, 0x36, 0x41, 0x7e, + 0x1e, 0x08, 0x52, 0xeb, 0xe5, 0xdd, 0xd5, 0x1d, 0x30, 0x42, 0xbe, 0x06, 0x90, 0x17, 0x50, 0xdd, + 0x76, 0x31, 0x4d, 0xd9, 0xd9, 0x74, 0x00, 0xe9, 0x99, 0xc1, 0x1b, 0xaf, 0xb2, 0x4b, 0x67, 0x06, + 0xf3, 0x6c, 0xe7, 0x0d, 0xbb, 0xee, 0x3b, 0xd0, 0x05, 0xeb, 0xc5, 0xcd, 0x6b, 0xe9, 0xab, 0xe2, + 0x4f, 0xb0, 0x58, 0x33, 0x86, 0x76, 0xc6, 0x75, 0xc2, 0x9f, 0x42, 0xe6, 0xad, 0x95, 0x6c, 0x8f, + 0x65, 0x46, 0x7e, 0x68, 0x09, 0xb9, 0x2c, 0x2b, 0x66, 0xca, 0xce, 0x84, 0x80, 0x6a, 0xe5, 0x8a, + 0x40, 0x7c, 0xfd, 0xc2, 0xf9, 0x93, 0xf6, 0xa6, 0xa3, 0x9d, 0xa7, 0xa7, 0x15, 0xfc, 0xa0, 0xa6, + 0xe9, 0xc4, 0x32, 0x8f, 0x2b, 0xaa, 0x80, 0x88, 0xad, 0x8e, 0x0f, 0x63, 0xc9, 0x5b, 0x6e, 0x41, + 0xce, 0x59, 0x10, 0x14, 0x92, 0x4a, 0x42, 0x73, 0x33, 0xfe, 0x4f, 0xc3, 0xa4, 0xe3, 0x73, 0xaf, + 0x80, 0x65, 0xef, 0x3f, 0x89, 0x34, 0x16, 0x75, 0x48, 0x60, 0x6d, 0xc2, 0x36, 0x53, 0xba, 0x51, + 0x19, 0x13, 0x8a, 0xac, 0x86, 0xc5, 0x45, 0x75, 0x7c, 0x7f, 0x49, 0xd3, 0x1e, 0xad, 0x69, 0x8a, + 0xed, 0x2b, 0x8f, 0xcd, 0x48, 0xe8, 0x49, 0x97, 0x59, 0x48, 0xe7, 0xb4, 0xc8, 0xa7, 0x70, 0xe8, + 0xa4, 0x62, 0x47, 0x71, 0x6d, 0xa4, 0x60, 0x42, 0x0e, 0x91, 0x18, 0x6c, 0x7c, 0xdb, 0x19, 0xde, + 0x5f, 0xe2, 0xc2, 0xf3, 0x50, 0x96, 0x0d, 0x4a, 0x5e, 0xe9, 0xa9, 0x8c, 0x65, 0x13, 0x64, 0xa4, + 0x02, 0x82, 0x73, 0x04, 0xd0, 0x8a, 0x2e, 0x68, 0xe0, 0x34, 0x42, 0x5a, 0x69, 0x85, 0xa2, 0x87, + 0xde, 0xda, 0x6d, 0xc5, 0xa6, 0x92, 0x86, 0x12, 0x42, 0x27, 0x7f, 0x09, 0xfa, 0x8d, 0xc8, 0xf1, + 0x1a, 0xfc, 0x88, 0x8a, 0xe6, 0x66, 0x91, 0x30, 0xd1, 0x7a, 0xb8, 0xc5, 0x09, 0xc8, 0x56, 0x36, + 0x8f, 0x0a, 0x31, 0xa7, 0x0f, 0xaa, 0xb9, 0xf5, 0xa9, 0xbf, 0xbc, 0x1d, 0x1d, 0xe1, 0x15, 0xef, + 0x73, 0x98, 0x0f, 0x2b, 0xb1, 0x5d, 0xb5, 0x1a, 0xfd, 0xe5, 0xcb, 0xa2, 0xe3, 0x9d, 0x39, 0x27, + 0x99, 0x40, 0x7c, 0x9b, 0x96, 0xc4, 0xce, 0xbb, 0xa4, 0x4b, 0xe9, 0xfb, 0xf0, 0xe1, 0xe5, 0xb0, + 0xa0, 0x15, 0x3f, 0x69, 0x1b, 0xe2, 0xcf, 0xec, 0x65, 0xbe, 0x2b, 0xd7, 0xd5, 0x01, 0xed, 0x6d, + 0x96, 0xd9, 0xeb, 0xc4, 0xb0, 0x72, 0x6c, 0x15, 0xaa, 0xf3, 0xb7, 0xdf, 0xa7, 0xde, 0xb8, 0x2e, + 0xc8, 0x7d, 0xb0, 0xb7, 0x6e, 0x32, 0x46, 0xf9, 0xda, 0x0d, 0x85, 0x14, 0xdb, 0x3b, 0xa2, 0x87, + 0x64, 0xee, 0x4e, 0xeb, 0x8f, 0xf2, 0x38, 0xe9, 0x7f, 0x01, 0x58, 0x9a, 0xbd, 0xd5, 0x67, 0x29, + 0x4b, 0x9a, 0x27, 0x19, 0xea, 0x88, 0x89, 0x3a, 0x91, 0x9c, 0xa4, 0x75, 0xc2, 0xf3, 0xec, 0x3a, + 0x4c, 0xbb, 0x2b, 0xa5, 0x4f, 0x20, 0x82, 0xe1, 0xef, 0x1e, 0x7f, 0x6b, 0xbb, 0x8e, 0x9a, 0xe0, + 0xea, 0x31, 0x88, 0xdc, 0x7c, 0x32, 0xd9, 0xae, 0x01, 0xc2, 0xf2, 0x43, 0xe4, 0x7c, 0x0d, 0x4a, + 0xec, 0x1a, 0xbb, 0x97, 0x61, 0x01, 0x9b, 0x54, 0x2e, 0x2f, 0x70, 0xf1, 0xb6, 0x78, 0x7b, 0x89, + 0x9c, 0xa2, 0x39, 0xa4, 0x69, 0x9b, 0x9c, 0x91, 0x4f, 0x26, 0x67, 0x70, 0x5d, 0x3d, 0x79, 0x0a, + 0x75, 0x91, 0x55, 0x03, 0x27, 0xa0, 0x6c, 0x2e, 0xee, 0x1a, 0xa2, 0x62, 0x11, 0x3a, 0xc0, 0x26, + 0x8b, 0x31, 0xae, 0x15, 0x00, 0x26, 0x89, 0x21, 0x2d, 0xa7, 0xa4, 0x6c, 0x24, 0x58, 0x75, 0x5a, + 0x91, 0x54, 0x0c, 0x5e, 0x84, 0xec, 0x19, 0x02, 0x9e, 0x31, 0x56, 0xc6, 0x29, 0xdf, 0x43, 0xcb, + 0x7e, 0xf3, 0xc6, 0x2d, 0xeb, 0xef, 0xb4, 0x67, 0xce, 0x63, 0x50, 0x1c, 0xd6, 0x17, 0xf1, 0x7d, + 0xb1, 0x83, 0x55, 0x8f, 0x37, 0xd1, 0x34, 0xdb, 0x6e, 0x7c, 0x4c, 0x51, 0x9a, 0x48, 0x8c, 0x5c, + 0xa6, 0xd7, 0xfa, 0xbc, 0xd1, 0x9d, 0x4d, 0x05, 0xa6, 0x42, 0x3d, 0x3c, 0x96, 0x59, 0x65, 0x6c, + 0x5d, 0x50, 0x06, 0x35, 0xc2, 0x83, 0x7a, 0x85, 0xd5, 0x80, 0xf7, 0xdb, 0xd9, 0x15, 0x43, 0x4b, + 0x37, 0x1a, 0x16, 0xff, 0x0f, 0x25, 0x68, 0x96, 0xdc, 0x18, 0x34, 0x6c, 0x34, 0xd3, 0x23, 0x80, + 0xec, 0xb2, 0xa1, 0x67, 0x37, 0xdb, 0x7b, 0x55, 0xe8, 0xf9, 0xfc, 0xc9, 0xc7, 0xd5, 0x98, 0xe0, + 0xbd, 0x85, 0x72, 0x65, 0x27, 0xd4, 0x63, 0x50, 0x80, 0x0f, 0x8a, 0x95, 0x21, 0x4e, 0xaf, 0x5c, + 0xcd, 0x7c, 0x8f, 0xea, 0xf9, 0x4f, 0xd0, 0xc8, 0x28, 0x96, 0x02, 0xbf, 0x9c, 0xcf, 0x1f, 0xdd, + 0x93, 0xc8, 0xfa, 0x40, 0x7c, 0x90, 0x34, 0x8e, 0x48, 0x6d, 0x67, 0x84, 0x45, 0xde, 0xb4, 0xa4, + 0xe3, 0x43, 0xaf, 0xd8, 0x14, 0xe6, 0x2a, 0x6e, 0x73, 0xb1, 0xe5, 0xc1, 0x11, 0x52, 0xd8, 0x8b, + 0xfc, 0x72, 0x45, 0xb5, 0xb8, 0x1b, 0x61, 0x60, 0xa5, 0x01, 0x86, 0x35, 0x77, 0xe4, 0xf9, 0x9e, + 0xf4, 0x47, 0xa4, 0x15, 0x7d, 0x4d, 0x98, 0x72, 0xab, 0x9b, 0x17, 0xde, 0x76, 0xfc, 0x2e, 0x71, + 0x20, 0x60, 0xec, 0x94, 0x16, 0x0a, 0x41, 0x6f, 0x8a, 0x60, 0xba, 0xb4, 0x75, 0xb1, 0x0a, 0x9e, + 0xd7, 0x86, 0x41, 0x39, 0xe4, 0xb2, 0x6a, 0xd2, 0x48, 0x45, 0x4e, 0xb3, 0x9a, 0x67, 0x3d, 0x6d, + 0x20, 0xe7, 0x78, 0x3b, 0xd1, 0x59, 0x6c, 0x15, 0x63, 0x3f, 0x72, 0x44, 0x13, 0xa4, 0x39, 0x19, + 0x1e, 0x51, 0x4a, 0x6f, 0x5a, 0xbd, 0xbe, 0x1d, 0x93, 0x37, 0xde, 0x7f, 0x2b, 0x9e, 0x82, 0x46, + 0xe7, 0x9a, 0x3e, 0xac, 0x10, 0xbb, 0xd4, 0xce, 0x85, 0x06, 0xf0, 0xeb, 0x12, 0xa0, 0x39, 0x9f, + 0xe3, 0x09, 0xdf, 0x44, 0xd0, 0x46, 0xb0, 0xb8, 0x23, 0xc2, 0x1b, 0xb0, 0x3a, 0xe5, 0x40, 0xfb, + 0x04, 0xdb, 0x77, 0xad, 0xdd, 0xcf, 0x08, 0x30, 0x67, 0xf0, 0xd0, 0x0a, 0x84, 0x99, 0x35, 0xed, + 0xa2, 0xae, 0x3d, 0x94, 0x7e, 0xca, 0xac, 0x6f, 0xde, 0xe9, 0xb2, 0x71, 0x02, 0xbc, 0xfa, 0x0c, + 0xa5, 0x7f, 0xcb, 0x45, 0x31, 0x27, 0x47, 0xa9, 0x00, 0xf3, 0x7e, 0x25, 0x61, 0x60, 0xb2, 0xba, + 0x92, 0xf6, 0xb6, 0xdc, 0xfa, 0x20, 0xe8, 0xbe, 0x25, 0x8f, 0xf2, 0x42, 0x06, 0x95, 0xf0, 0x6f, + 0x09, 0x11, 0x04, 0x09, 0x9d, 0x51, 0xba, 0xeb, 0xa0, 0x71, 0xf5, 0x78, 0xe5, 0x4e, 0x0c, 0x86, + 0xfe, 0x81, 0x12, 0x86, 0xbe, 0x72, 0x0b, 0x5f, 0x82, 0x57, 0x8c, 0x55, 0x09, 0xe2, 0xaa, 0xde, + 0x37, 0x36, 0x1e, 0x4c, 0x0c, 0x9a, 0xfb, 0x2b, 0x00, 0x0e, 0x62, 0xe8, 0x28, 0xa1, 0x79, 0xa3, + 0x5b, 0x41, 0xf0, 0xa1, 0x70, 0xce, 0x66, 0x11, 0x33, 0x1e, 0x64, 0xf5, 0xe9, 0xa0, 0x24, 0x6b, + 0x0d, 0x14, 0x70, 0xdb, 0x9b, 0x18, 0x16, 0x27, 0x48, 0x6f, 0x0e, 0xe4, 0xf1, 0xab, 0x64, 0xeb, + 0x5c, 0xe6, 0x5e, 0xcf, 0x42, 0x63, 0xad, 0xe9, 0xa6, 0xb3, 0x5b, 0xab, 0x40, 0x07, 0x36, 0xca, + 0x93, 0xac, 0x4c, 0x33, 0x1e, 0x9c, 0x1f, 0x4a, 0x18, 0xc8, 0xed, 0x58, 0x1f, 0x00, 0xf2, 0x1c, + 0x4f, 0x4c, 0xc1, 0x27, 0x1e, 0x16, 0xb1, 0xa3, 0xba, 0xa7, 0x3a, 0x4a, 0x00, 0xd1, 0xc0, 0x78, + 0x8e, 0x8f, 0x9e, 0xce, 0xb7, 0x62, 0xbc, 0xc4, 0xb9, 0x70, 0x08, 0xcd, 0x1a, 0x99, 0x3b, 0xeb, + 0x12, 0xb2, 0x73, 0x08, 0x40, 0xe3, 0x16, 0x23, 0xa6, 0xfa, 0xfa, 0x76, 0xb2, 0xa0, 0x41, 0x52, + 0x0e, 0xdd, 0x0e, 0xbe, 0xb1, 0x34, 0xd6, 0x57, 0xe6, 0x27, 0xff, 0x60, 0x1c, 0x0c, 0x72, 0x77, + 0xb5, 0xf4, 0xe2, 0x6d, 0xf0, 0xf3, 0xa9, 0x27, 0x9e, 0xea, 0x58, 0xfc, 0x8d, 0xe2, 0x57, 0x14, + 0x26, 0x74, 0xa0, 0x6c, 0x49, 0x2a, 0xd3, 0x3b, 0xfe, 0xaa, 0x11, 0x58, 0x30, 0x6e, 0x0b, 0xb9, + 0xd8, 0x79, 0x13, 0xd2, 0x23, 0xac, 0x19, 0x30, 0xaa, 0xff, 0xa1, 0xda, 0x06, 0x78, 0x82, 0xf2, + 0x1b, 0xd4, 0xc2, 0x3c, 0xad, 0xc2, 0x2a, 0xba, 0x26, 0x06, 0x40, 0x61, 0xe4, 0x77, 0x9f, 0x83, + 0x37, 0x1b, 0xf3, 0x1b, 0x6f, 0x88, 0x62, 0xc5, 0xf7, 0x05, 0x41, 0x4c, 0xb2, 0x5c, 0x10, 0x14, + 0x54, 0x7c, 0x77, 0x36, 0xcf, 0x89, 0x58, 0x72, 0xe7, 0x3a, 0xf8, 0x88, 0xe1, 0x61, 0x89, 0x42, + 0xc7, 0x6c, 0x5d, 0xbd, 0x7f, 0xe3, 0x45, 0xc2, 0x34, 0x1b, 0xe7, 0x0b, 0x4e, 0xb1, 0x9c, 0x07, + 0xe0, 0x29, 0xe1, 0x95, 0x3c, 0x7b, 0x8a, 0x59, 0x06, 0xa7, 0x3f, 0x18, 0x44, 0x47, 0x83, 0xbe, + 0x30, 0x73, 0xa5, 0x93, 0xcf, 0xfa, 0xea, 0xc4, 0xf7, 0x7c, 0x98, 0xbf, 0x04, 0x53, 0x9e, 0x47, + 0x55, 0xc6, 0x1d, 0xa5, 0xaf, 0x8f, 0x0c, 0xd8, 0x7f, 0xcc, 0x6f, 0x71, 0x00, 0x5c, 0x9b, 0x0f, + 0x68, 0x51, 0xf5, 0x47, 0x5c, 0x90, 0x0b, 0x10, 0xb8, 0x4c, 0x08, 0x17, 0x0b, 0xc0, 0xcb, 0x97, + 0xcc, 0xb6, 0xba, 0xd9, 0xe7, 0x9d, 0xf6, 0x95, 0xbd, 0x07, 0xe3, 0xd7, 0x36, 0xd3, 0x47, 0x0c, + 0xb6, 0x87, 0x2a, 0xa6, 0x3c, 0x1f, 0x80, 0x3d, 0x4e, 0xcd, 0xee, 0xc8, 0xe1, 0x36, 0xde, 0x36, + 0x3d, 0xdb, 0x24, 0x77, 0x96, 0xf1, 0x7c, 0x9a, 0x52, 0xc6, 0xfc, 0x6e, 0x4c, 0x2b, 0x1f, 0x76, + 0x82, 0xcc, 0xd2, 0x3e, 0xf2, 0xd6, 0xe5, 0xb1, 0x1f, 0x3f, 0x9e, 0xb5, 0xcc, 0x51, 0xea, 0x80, + 0x8e, 0xe7, 0x27, 0xc4, 0x65, 0xe5, 0x2c, 0x62, 0xd1, 0x23, 0xd5, 0x9b, 0x97, 0x0f, 0xb3, 0xe4, + 0x15, 0xbf, 0xa6, 0xdc, 0x25, 0x89, 0x04, 0xef, 0xe2, 0xeb, 0x03, 0xe3, 0x70, 0xf7, 0x97, 0x02, + 0xe3, 0x43, 0x5c, 0x8e, 0xfb, 0xa0, 0x1c, 0x1c, 0x34, 0x0c, 0x68, 0x49, 0x8b, 0x69, 0x3e, 0xcb, + 0x0e, 0xee, 0xad, 0x98, 0x0c, 0xfd, 0xee, 0x31, 0x56, 0x8b, 0x86, 0x4d, 0x27, 0x14, 0x50, 0x5d, + 0x1c, 0x39, 0xf3, 0xf9, 0xc9, 0x88, 0x7d, 0x01, 0x14, 0x7b, 0xbb, 0x8c, 0xa2, 0xd2, 0xab, 0x53, + 0xfb, 0x5d, 0xe4, 0xd2, 0x2a, 0x0a, 0x31, 0xce, 0xd7, 0xb5, 0xab, 0x59, 0x95, 0x18, 0x64, 0x83, + 0xe2, 0x42, 0x3c, 0x49, 0x7e, 0x1d, 0x73, 0x96, 0xd4, 0xa4, 0x63, 0x9c, 0x3c, 0xe5, 0x43, 0xef, + 0x8f, 0x92, 0xc9, 0xc6, 0xc4, 0xc2, 0x3e, 0xf4, 0xcd, 0xe9, 0x4b, 0x3a, 0xc4, 0x75, 0xa3, 0x2f, + 0x50, 0x27, 0xc1, 0x99, 0xfe, 0x3f, 0x58, 0xa6, 0x7b, 0xf0, 0xac, 0x50, 0xed, 0x0a, 0xb3, 0xcd, + 0x43, 0x96, 0x85, 0x16, 0x6c, 0x64, 0xaf, 0x94, 0xb2, 0xa3, 0x1f, 0xbe, 0x48, 0x8d, 0x77, 0xa6, + 0x8d, 0x0a, 0x28, 0x87, 0x27, 0x29, 0x7d, 0x1c, 0x32, 0xd7, 0x3d, 0x2e, 0x3f, 0x68, 0x07, 0x55, + 0x33, 0xcc, 0x09, 0x40, 0xfb, 0xc8, 0x76, 0xd9, 0x1e, 0x7f, 0x63, 0xec, 0x05, 0xfe, 0x92, 0xd5, + 0x50, 0x5e, 0x5c, 0xc4, 0xd3, 0xb7, 0x0e, 0xb2, 0xc5, 0x91, 0x34, 0x80, 0xc9, 0x4d, 0x1b, 0x12, + 0xde, 0xdf, 0x00, 0x30, 0x10, 0x92, 0xff, 0xc8, 0x67, 0xd6, 0xe2, 0x36, 0x86, 0x0b, 0x3e, 0xab, + 0xd6, 0x1a, 0x60, 0x94, 0x64, 0x55, 0xaa, 0x7c, 0xca, 0x85, 0x59, 0x2b, 0x3a, 0x10, 0x5a, 0xcc, + 0x60, 0x34, 0xfd, 0x61, 0xa9, 0x11, 0xd2, 0xc3, 0x2f, 0x7f, 0x60, 0xe3, 0x64, 0x74, 0x5b, 0x02, + 0x65, 0x81, 0x64, 0xff, 0xe4, 0x9d, 0xec, 0x07, 0x18, 0xc1, 0x76, 0x76, 0xea, 0x86, 0x87, 0x15, + 0xba, 0x45, 0xe6, 0xa5, 0x50, 0x0f, 0x49, 0x51, 0x1b, 0x61, 0x3c, 0x62, 0xa4, 0xe5, 0x1c, 0xd2, + 0xf8, 0xd9, 0x78, 0x75, 0xe2, 0xbd, 0xf5, 0xa0, 0x3a, 0xff, 0x03, 0xde, 0x38, 0xc9, 0xc6, 0x69, + 0xc1, 0x5c, 0x8b, 0x1e, 0x89, 0x65, 0x4c, 0xc8, 0x9b, 0x49, 0x29, 0xad, 0x85, 0x1b, 0xa5, 0xf5, + 0x70, 0xed, 0x8f, 0x53, 0x3b, 0x58, 0xdf, 0x31, 0x75, 0x19, 0x4b, 0x29, 0xba, 0xa2, 0xb6, 0xda, + 0xdc, 0xcf, 0x38, 0x87, 0x8a, 0xb9, 0x34, 0x95, 0x99, 0x54, 0x1c, 0x73, 0x73, 0x87, 0xca, 0x64, + 0xcc, 0xaa, 0x8d, 0x79, 0x34, 0x37, 0x84, 0x90, 0xe3, 0x30, 0x6b, 0xcb, 0x95, 0xe9, 0x52, 0x13, + 0x3d, 0x4e, 0x12, 0xab, 0xb2, 0x5f, 0x50, 0x32, 0x38, 0x23, 0xb2, 0xfe, 0xb4, 0x93, 0xa8, 0x24, + 0xce, 0x96, 0x23, 0x44, 0x78, 0x74, 0x28, 0xea, 0x5a, 0x89, 0x81, 0x12, 0x2a, 0x4e, 0x4a, 0x40, + 0xf9, 0xcf, 0x79, 0x33, 0xdc, 0xe4, 0x22, 0x5b, 0x3a, 0xd9, 0x0f, 0xab, 0xe8, 0xa2, 0x81, 0xfb, + 0x7b, 0x69, 0xc2, 0x64, 0xb0, 0x92, 0x9a, 0xa8, 0x7b, 0x12, 0x8c, 0xf8, 0x16, 0xd2, 0x97, 0x8c, + 0xca, 0xf2, 0x8b, 0xdf, 0x0c, 0x19, 0xac, 0x40, 0xfb, 0x9c, 0x24, 0xa4, 0x9f, 0x5c, 0xda, 0xf5, + 0x18, 0x92, 0xcb, 0x72, 0xac, 0x3b, 0xad, 0x21, 0x15, 0xe2, 0x6c, 0x74, 0xc2, 0xda, 0x61, 0x54, + 0x98, 0xb8, 0x90, 0x52, 0x5d, 0x6f, 0x7c, 0x2f, 0xdd, 0x1a, 0x0e, 0xd5, 0x7b, 0x5f, 0xa6, 0xe1, + 0x2a, 0x27, 0x85, 0x23, 0x24, 0x6e, 0x6b, 0xf0, 0x1c, 0xac, 0x53, 0x8f, 0x02, 0xe4, 0x62, 0x80, + 0xc1, 0x20, 0x04, 0xb5, 0xa1, 0x9e, 0xac, 0x25, 0x0b, 0x9f, 0x75, 0x88, 0x3d, 0x23, 0x49, 0x8d, + 0x2b, 0x68, 0xde, 0x02, 0xb5, 0x5a, 0x36, 0x04, 0xa9, 0x15, 0x05, 0x42, 0x34, 0x2a, 0x92, 0xa1, + 0x6e, 0xab, 0x22, 0x7f, 0x1d, 0xd6, 0xea, 0xd8, 0x1e, 0x6d, 0x22, 0xeb, 0xac, 0xae, 0x5a, 0xcf, + 0x7c, 0xd0, 0xd6, 0x51, 0x6f, 0x83, 0xc0, 0xd7, 0xbd, 0xb4, 0x39, 0x08, 0xc8, 0x4f, 0xdd, 0x85, + 0xa8, 0x86, 0xed, 0x9e, 0x33, 0x64, 0xa9, 0xa7, 0x76, 0x43, 0x1a, 0x3f, 0x9f, 0x86, 0x0e, 0x45, + 0x82, 0xfa, 0xa7, 0x61, 0xb1, 0xef, 0x9e, 0x7f, 0xc6, 0x31, 0xa8, 0x25, 0x77, 0x71, 0x85, 0x88, + 0xd1, 0x57, 0xbf, 0xb7, 0xed, 0xef, 0x77, 0xfc, 0x36, 0xb0, 0x3a, 0xc8, 0x9a, 0xdc, 0x0c, 0x5e, + 0x12, 0x44, 0x12, 0x9e, 0x2b, 0x77, 0xaf, 0xf0, 0x60, 0xd5, 0xdd, 0x04, 0x78, 0xb2, 0x43, 0x4e, + 0xdb, 0xb8, 0x5c, 0xa0, 0x9a, 0x1c, 0x91, 0xa8, 0x57, 0xa8, 0xed, 0xf7, 0x07, 0x87, 0xcc, 0x2e, + 0xd8, 0x3a, 0x3f, 0xec, 0x03, 0xe8, 0x4d, 0xd8, 0x21, 0xd6, 0xb5, 0xf6, 0x35, 0x76, 0x6e, 0x27, + 0xed, 0x0f, 0x4c, 0x14, 0x6a, 0xd3, 0xee, 0x29, 0x8a, 0x2a, 0x36, 0x2f, 0x90, 0xf6, 0x4e, 0xa4, + 0x30, 0xda, 0x93, 0x89, 0x8d, 0x0d, 0xb0, 0xff, 0x39, 0x4a, 0x9d, 0x62, 0x07, 0xa1, 0x78, 0xdd, + 0x4a, 0x80, 0x0b, 0x8d, 0x47, 0xf0, 0x64, 0x03, 0x01, 0x04, 0x82, 0x19, 0x13, 0x55, 0x07, 0xeb, + 0xe5, 0xee, 0xaf, 0xf5, 0xf9, 0x0c, 0x43, 0x85, 0x52, 0xf4, 0x2f, 0xcc, 0x13, 0xc3, 0x42, 0x8b, + 0x86, 0x24, 0x2d, 0x67, 0x59, 0x58, 0x3a, 0x39, 0xca, 0xa4, 0x4d, 0x75, 0xd9, 0xbf, 0x94, 0x73, + 0x41, 0xa4, 0xdf, 0x78, 0x4c, 0x10, 0xd9, 0x26, 0x26, 0x02, 0xef, 0x44, 0xe5, 0xc8, 0xb6, 0xb9, + 0xd0, 0x68, 0x6f, 0x8d, 0xd5, 0xb2, 0x7e, 0x93, 0x6e, 0x70, 0xf7, 0x65, 0x15, 0x66, 0xfe, 0xf9, + 0x08, 0xb7, 0xed, 0xde, 0x1f, 0x0d, 0x8b, 0x8c, 0x15, 0xc0, 0x99, 0xfe, 0xfb, 0xd8, 0xb4, 0xe3, + 0x42, 0xde, 0x4a, 0x32, 0x46, 0x45, 0xf1, 0x6c, 0x43, 0xe7, 0xb1, 0x26, 0x76, 0xf2, 0x96, 0xcf, + 0x0a, 0x95, 0x22, 0x0e, 0x6e, 0xc9, 0xa3, 0xba, 0x40, 0x9c, 0x33, 0xd7, 0x97, 0xd7, 0xe5, 0xea, + 0xe7, 0x87, 0xbd, 0x16, 0x72, 0xa5, 0x4a, 0x0c, 0x21, 0x18, 0x3c, 0xc5, 0x9d, 0xc3, 0x83, 0xdf, + 0xb4, 0x48, 0xcb, 0xa7, 0xdc, 0xa0, 0x31, 0x12, 0x1f, 0xde, 0xbc, 0x89, 0xc5, 0x02, 0x72, 0xce, + 0x5f, 0x25, 0x3a, 0x47, 0x11, 0xec, 0xc6, 0x78, 0x13, 0x33, 0x89, 0x62, 0x53, 0xd9, 0x15, 0xf8, + 0x00, 0x34, 0x6c, 0x52, 0xa8, 0x4b, 0xb1, 0x4d, 0x25, 0x99, 0xb5, 0x9c, 0xdc, 0x0c, 0xe2, 0x7e, + 0x2e, 0x49, 0x3c, 0xae, 0x61, 0xd4, 0xef, 0x7c, 0x46, 0xc5, 0xf7, 0x79, 0x62, 0x5d, 0x0c, 0x20, + 0x13, 0x12, 0x12, 0xe7, 0xee, 0x1e, 0x19, 0x8b, 0x8c, 0x44, 0x1d, 0x8c, 0xa6, 0x21, 0x4a, 0x53, + 0x20, 0xd4, 0xc3, 0xc9, 0x04, 0xeb, 0xc3, 0x74, 0x1b, 0xfa, 0x83, 0xf2, 0x2d, 0x89, 0x64, 0xfb, + 0x94, 0x6a, 0xc8, 0x4d, 0x5b, 0xd4, 0xa7, 0x35, 0xf8, 0x82, 0xa4, 0x66, 0xfc, 0xae, 0x53, 0xce, + 0x55, 0x8e, 0xca, 0xb7, 0x90, 0xd4, 0xd5, 0x75, 0x4f, 0xf2, 0xb9, 0x49, 0xb5, 0x0b, 0x66, 0x79, + 0x48, 0x5b, 0xb2, 0xf8, 0x96, 0x95, 0x96, 0x3f, 0x43, 0xfc, 0xdc, 0x1e, 0xc1, 0xb4, 0x83, 0xb3, + 0x60, 0x5a, 0x0b, 0x09, 0x49, 0x50, 0x45, 0x54, 0x5f, 0x7b, 0xc5, 0xe3, 0x48, 0xfd, 0xc1, 0x99, + 0xef, 0xd9, 0x5a, 0x50, 0xb5, 0xe3, 0x7a, 0x2c, 0x98, 0xce, 0x43, 0x95, 0x62, 0x33, 0x7e, 0x0e, + 0x81, 0x73, 0xc9, 0x75, 0xc5, 0xcf, 0x5c, 0xf4, 0xd7, 0x04, 0x91, 0x69, 0x7f, 0x1c, 0x6e, 0x6d, + 0x1e, 0xcd, 0xcd, 0x55, 0x3c, 0x15, 0xd4, 0xfe, 0x30, 0xa1, 0x0c, 0x62, 0xbe, 0xde, 0xf8, 0x28, + 0x94, 0x9f, 0x23, 0xba, 0x3d, 0xaa, 0x64, 0x02, 0x92, 0xcf, 0xc9, 0x01, 0xf5, 0xa3, 0x93, 0xdc, + 0xed, 0x05, 0x3c, 0x05, 0x57, 0x77, 0x79, 0xb3, 0xc9, 0x39, 0x10, 0x25, 0x66, 0xe3, 0xdd, 0x7a, + 0xf0, 0x3f, 0x20, 0xf7, 0x65, 0x8d, 0x02, 0x42, 0x81, 0xdf, 0x68, 0x53, 0x5b, 0x94, 0x4c, 0xc4, + 0x86, 0x99, 0x75, 0x4e, 0xd0, 0xa3, 0x13, 0x75, 0xe7, 0x6a, 0xe3, 0xdb, 0x83, 0x87, 0xe1, 0xd2, + 0x73, 0x8e, 0x65, 0xb3, 0x34, 0xfe, 0x58, 0x84, 0x47, 0x78, 0x78, 0xd2, 0x22, 0x99, 0xba, 0x03, + 0x05, 0xac, 0xa2, 0xd2, 0xd1, 0x0f, 0xd5, 0x6e, 0x58, 0x07, 0x34, 0x03, 0x17, 0xb2, 0x56, 0x2d, + 0xf4, 0x85, 0xa1, 0xd2, 0xad, 0x1a, 0x89, 0x35, 0x03, 0xa8, 0x1f, 0x5c, 0x8c, 0x79, 0x35, 0x72, + 0x7f, 0xca, 0x2d, 0xc9, 0xc8, 0xd7, 0xcd, 0x05, 0x9b, 0xae, 0xc6, 0xa0, 0x37, 0x3d, 0x40, 0x67, + 0x8a, 0x4b, 0xd8, 0x1e, 0xce, 0xea, 0x35, 0x3e, 0x08, 0x3f, 0xd6, 0xb7, 0x26, 0x43, 0x61, 0xf9, + 0x38, 0xf5, 0x18, 0x44, 0xd1, 0x5a, 0x4e, 0xf0, 0xe9, 0xfa, 0x26, 0xdb, 0xce, 0x00, 0xa4, 0x6a, + 0xc0, 0xe6, 0x43, 0x97, 0x68, 0x18, 0x1b, 0x5d, 0xa1, 0xce, 0x4a, 0xf3, 0x7e, 0x47, 0xf8, 0x84, + 0x47, 0xfb, 0x89, 0x8f, 0x4c, 0x7b, 0x07, 0x6b, 0x56, 0x07, 0xab, 0x38, 0x79, 0x88, 0x91, 0xdb, + 0x5c, 0x95, 0x37, 0xf5, 0x4f, 0xc5, 0x75, 0x95, 0x93, 0x4d, 0x52, 0x68, 0x56, 0x33, 0x1e, 0x86, + 0x18, 0x4f, 0xbd, 0xda, 0x05, 0x69, 0x0f, 0x32, 0x54, 0xc1, 0x24, 0x9c, 0x74, 0x92, 0x85, 0xb6, + 0x13, 0xd5, 0x9f, 0xff, 0xaa, 0xda, 0x22, 0xea, 0x42, 0x42, 0x6e, 0xce, 0xf9, 0xed, 0x61, 0x89, + 0xd1, 0xa2, 0xe6, 0x85, 0x9b, 0x48, 0x8c, 0x12, 0xb6, 0xbd, 0x1d, 0xcd, 0xa4, 0x63, 0x55, 0xf7, + 0x8c, 0x63, 0x1f, 0x87, 0x77, 0xfc, 0xbd, 0x22, 0xe4, 0x41, 0x6d, 0x78, 0x96, 0x29, 0x29, 0xa3, + 0x07, 0x22, 0x14, 0x32, 0x28, 0xd7, 0x61, 0x55, 0xcb, 0x84, 0x3d, 0xc5, 0x20, 0x79, 0x25, 0x6e, + 0x92, 0x3d, 0x53, 0x43, 0x31, 0x23, 0x2c, 0x0f, 0x17, 0x01, 0x1b, 0xf7, 0xfd, 0xb5, 0x0b, 0xdf, + 0xa7, 0x3a, 0x74, 0xd9, 0xab, 0x49, 0x08, 0x16, 0x5c, 0x01, 0x86, 0xe8, 0xf9, 0x78, 0x70, 0xdd, + 0x02, 0x75, 0xb2, 0x32, 0xe4, 0xb7, 0xac, 0x16, 0xbe, 0x63, 0xa2, 0xdb, 0x79, 0x2f, 0x67, 0x30, + 0x74, 0x0f, 0xc2, 0xf5, 0x73, 0xe8, 0x65, 0xe0, 0xac, 0x78, 0x54, 0xac, 0xe9, 0xf7, 0xd1, 0x74, + 0x9c, 0xd6, 0xc6, 0xb2, 0x28, 0xc8, 0xfd, 0x75, 0x17, 0xdf, 0xfe, 0x36, 0x74, 0x1f, 0x69, 0xe3, + 0x69, 0x62, 0xa6, 0xe5, 0x62, 0x68, 0x6d, 0x36, 0xb5, 0xa6, 0x66, 0xc7, 0xdf, 0x8c, 0xe9, 0xb1, + 0xbe, 0x4c, 0x56, 0xb7, 0x3e, 0xae, 0x26, 0x93, 0xa6, 0xfc, 0x0c, 0x6d, 0x6e, 0xcf, 0x53, 0x06, + 0x9c, 0x9c, 0x1c, 0x1a, 0x53, 0xdb, 0xe4, 0x72, 0x3d, 0xd0, 0xb2, 0x92, 0xe5, 0x2d, 0x02, 0x3a, + 0x4d, 0x64, 0x6b, 0x2c, 0x6b, 0x28, 0x39, 0x95, 0xcd, 0xce, 0x34, 0x96, 0xf1, 0xfb, 0x11, 0x42, + 0x5e, 0x51, 0x76, 0x6c, 0xf4, 0xbf, 0xe0, 0xcf, 0x7c, 0x13, 0x43, 0x57, 0x88, 0x47, 0x9c, 0x03, + 0xbd, 0xfa, 0x0b, 0x5e, 0x85, 0xab, 0x39, 0xe2, 0xae, 0x7a, 0xa5, 0xd1, 0xa1, 0x88, 0xdf, 0xb8, + 0x03, 0x12, 0xb9, 0xfa, 0x6b, 0x8f, 0xd3, 0xd3, 0x31, 0x06, 0x4a, 0xa8, 0x61, 0x69, 0x1a, 0x6c, + 0x9a, 0x7b, 0x03, 0xea, 0x0d, 0x8f, 0x21, 0x45, 0x0f, 0x5c, 0x83, 0x40, 0xa8, 0x92, 0xbc, 0x51, + 0x31, 0xf3, 0x70, 0xaa, 0x46, 0xc6, 0x4c, 0xa7, 0x8b, 0xf3, 0xcc, 0x7d, 0x53, 0xeb, 0xd1, 0x33, + 0x83, 0x59, 0x5f, 0xe3, 0xed, 0xc6, 0x46, 0x21, 0x30, 0x3d, 0x74, 0x42, 0xef, 0x18, 0xdc, 0x55, + 0x4b, 0xe0, 0x37, 0x3a, 0x83, 0xe0, 0x94, 0x0a, 0xa2, 0x96, 0xfe, 0x06, 0x09, 0x41, 0x4a, 0xff, + 0x04, 0xc8, 0x3e, 0xd6, 0x1a, 0x02, 0x50, 0xbe, 0x43, 0xf2, 0xff, 0x36, 0xcc, 0x97, 0x0f, 0xbc, + 0x35, 0xee, 0x8c, 0x9d, 0xa6, 0xba, 0x53, 0xee, 0x5f, 0x53, 0xad, 0x82, 0xf3, 0x1d, 0x9a, 0x3a, + 0x1f, 0x71, 0x3d, 0x84, 0xc6, 0x39, 0x53, 0xee, 0xa7, 0x98, 0xbc, 0xd7, 0x20, 0xbb, 0x68, 0xd2, + 0x97, 0x66, 0x87, 0x53, 0xbc, 0x96, 0xb5, 0xbe, 0xfb, 0x51, 0x80, 0xf2, 0x82, 0x4a, 0x33, 0x8e, + 0xa7, 0x94, 0x92, 0x56, 0x2b, 0x20, 0xc1, 0xb6, 0x89, 0x0d, 0x3f, 0x29, 0xd9, 0x43, 0x31, 0x86, + 0xb0, 0x05, 0xa3, 0x6b, 0x1e, 0x2c, 0xe6, 0x71, 0xab, 0xc9, 0x41, 0x05, 0xd8, 0x77, 0x9f, 0x1d, + 0x28, 0x51, 0x33, 0xeb, 0x85, 0xcf, 0x7b, 0xf2, 0xc4, 0x83, 0xaa, 0x70, 0xb6, 0x84, 0x63, 0x4b, + 0x60, 0x79, 0xab, 0x09, 0x44, 0x1e, 0x9c, 0x82, 0x2d, 0x75, 0x09, 0x90, 0xec, 0xc6, 0x5b, 0x4b, + 0x95, 0x7f, 0x51, 0xec, 0xdd, 0xac, 0x30, 0xc8, 0x81, 0x42, 0x15, 0x2c, 0x47, 0x1d, 0xae, 0x23, + 0xb3, 0xbd, 0x7b, 0xef, 0x22, 0xee, 0xd5, 0x06, 0xad, 0x76, 0x2d, 0xf8, 0xfc, 0x26, 0xf4, 0xdb, + 0xb2, 0x3f, 0x59, 0x90, 0x32, 0x6f, 0xed, 0x94, 0x66, 0x7c, 0x51, 0x0f, 0xb6, 0x53, 0xca, 0x23, + 0xe3, 0xa4, 0x67, 0x20, 0xf0, 0x25, 0xad, 0xc4, 0x14, 0x63, 0x3b, 0x70, 0xff, 0xda, 0xd4, 0x5e, + 0xd6, 0x13, 0xaa, 0xfa, 0xed, 0xb2, 0xc0, 0x66, 0xa9, 0xb5, 0x1e, 0x0e, 0x05, 0x6f, 0x39, 0x89, + 0x1d, 0xce, 0x71, 0x71, 0x9a, 0xee, 0x0e, 0x59, 0x8c, 0x48, 0x9b, 0x81, 0x4b, 0x51, 0x21, 0xf3, + 0x07, 0x71, 0x6c, 0x90, 0xf7, 0x4c, 0xd7, 0xff, 0x22, 0xd9, 0x88, 0xaf, 0x12, 0xa7, 0xe2, 0x46, + 0xcc, 0x97, 0xbb, 0x2b, 0x0a, 0x70, 0x10, 0xc3, 0x7d, 0xeb, 0xf4, 0xe6, 0xcb, 0xa6, 0xee, 0xc4, + 0x88, 0x84, 0x49, 0xfd, 0xf8, 0x4f, 0x00, 0x9c, 0x78, 0x84, 0xc2, 0x3c, 0xfc, 0x80, 0xac, 0x87, + 0x52, 0x5c, 0xcc, 0x1f, 0x96, 0x8b, 0x86, 0x8c, 0xb2, 0x7a, 0xd6, 0xd7, 0x29, 0x1f, 0xe7, 0xb7, + 0x73, 0xef, 0xdf, 0xe3, 0xea, 0xdb, 0x8f, 0xbf, 0xe3, 0xc8, 0x58, 0xf6, 0x0e, 0xbd, 0x96, 0x1a, + 0xfb, 0xfe, 0x45, 0x8d, 0xe8, 0xf4, 0xc2, 0x80, 0xe3, 0x9c, 0x7a, 0x7e, 0x84, 0xc1, 0xac, 0x5b, + 0xf7, 0x25, 0x7e, 0x6d, 0xad, 0xac, 0x0e, 0x5e, 0x3d, 0x58, 0x75, 0x05, 0x22, 0x46, 0x8f, 0x1b, + 0x92, 0x46, 0xf6, 0xb2, 0xa9, 0x38, 0x94, 0x24, 0x5c, 0xfd, 0xbf, 0xe6, 0xf5, 0x4e, 0x6f, 0x13, + 0xe8, 0x4e, 0x75, 0x6d, 0x24, 0xa5, 0x4c, 0x89, 0x68, 0x8a, 0x38, 0xf5, 0x83, 0xff, 0x71, 0x35, + 0xa6, 0x36, 0xfb, 0xbe, 0xcb, 0x40, 0x6b, 0x96, 0xe2, 0x75, 0x7b, 0xcd, 0x11, 0x21, 0xdc, 0x6c, + 0x17, 0xae, 0x06, 0x13, 0x21, 0x1f, 0x9d, 0xdf, 0xbd, 0xde, 0x5d, 0x8f, 0xba, 0x9d, 0x0d, 0x5f, + 0x81, 0xb2, 0xcd, 0x09, 0xea, 0x0b, 0x70, 0x40, 0xbd, 0x22, 0x0d, 0xa6, 0x18, 0x04, 0x85, 0x8c, + 0xef, 0x42, 0xa2, 0xfe, 0xa3, 0x13, 0x95, 0x35, 0xa7, 0xff, 0xd6, 0x88, 0xa7, 0xcb, 0x2f, 0x07, + 0x93, 0x81, 0xbd, 0xf7, 0xaf, 0xcc, 0x78, 0xbc, 0x32, 0xfd, 0xe0, 0x48, 0xca, 0x19, 0x68, 0xdb, + 0xd8, 0xd8, 0x22, 0xe5, 0x34, 0xce, 0xcd, 0x72, 0x1b, 0x87, 0x6c, 0xc1, 0xc5, 0x46, 0xee, 0x15, + 0x85, 0xb1, 0x7b, 0xf9, 0x58, 0x2c, 0xa2, 0xcb, 0x42, 0xb5, 0x3a, 0xff, 0xeb, 0x20, 0x87, 0x66, + 0x8b, 0x55, 0x93, 0x26, 0x9a, 0x54, 0x0e, 0xc2, 0x18, 0x9f, 0xec, 0x0c, 0x5c, 0xaa, 0x13, 0x0e, + 0xfd, 0x35, 0xbc, 0xc8, 0x27, 0x90, 0x2f, 0x9d, 0x90, 0x15, 0x24, 0x5d, 0xd1, 0x04, 0x2d, 0xdb, + 0x07, 0x72, 0x1a, 0xd5, 0xc5, 0x4b, 0x62, 0xf7, 0x5e, 0x41, 0xdf, 0x2b, 0x86, 0xbf, 0xbe, 0xb8, + 0x8e, 0x75, 0x9b, 0x96, 0xbe, 0xa7, 0x49, 0xb7, 0x41, 0x69, 0xcf, 0x9e, 0x7a, 0xbd, 0xa6, 0xe9, + 0x2f, 0x80, 0x99, 0x14, 0x18, 0xff, 0xdf, 0x03, 0x65, 0x2f, 0xfd, 0xe5, 0xa1, 0x25, 0x61, 0x6c, + 0x3a, 0x8e, 0x2c, 0xdb, 0xc1, 0xd9, 0xe7, 0xa2, 0x70, 0x36, 0xd3, 0x3e, 0x18, 0x31, 0xaf, 0x84, + 0x4d, 0x37, 0x60, 0xd1, 0xd2, 0x31, 0x19, 0x63, 0x90, 0xcf, 0x4e, 0x24, 0xac, 0x86, 0x39, 0xf9, + 0xd4, 0x02, 0x1a, 0xd4, 0x0e, 0x7e, 0x11, 0x98, 0xf6, 0xc9, 0xeb, 0x86, 0x73, 0x83, 0xf7, 0x0c, + 0xc6, 0x08, 0xf8, 0x4a, 0xf4, 0x68, 0xd7, 0xbd, 0xd7, 0xe1, 0xf9, 0xe9, 0x0e, 0xfc, 0xba, 0xd4, + 0xa4, 0x14, 0x63, 0x55, 0x2a, 0xb8, 0x52, 0x93, 0x6e, 0x5e, 0x9c, 0x8f, 0x9d, 0x0d, 0x11, 0x8b, + 0x76, 0x8c, 0x06, 0x7a, 0xa5, 0x5d, 0x4f, 0xcb, 0x33, 0x5f, 0x77, 0xbb, 0x15, 0x63, 0x3a, 0x1a, + 0x11, 0xad, 0xce, 0x06, 0xc3, 0x7e, 0xbf, 0xe9, 0xa2, 0xba, 0x4d, 0x41, 0xe1, 0xc6, 0x1e, 0x10, + 0x60, 0x40, 0x91, 0x71, 0xbf, 0x8a, 0xb3, 0x1a, 0xaf, 0x7a, 0xea, 0x65, 0x7e, 0xca, 0x2b, 0x75, + 0xa6, 0x9c, 0x5a, 0x9a, 0x5d, 0x8c, 0x0e, 0x03, 0xae, 0x65, 0x6a, 0x33, 0xe8, 0x3d, 0x34, 0x8d, + 0x21, 0x51, 0x86, 0xfc, 0x57, 0x4f, 0xda, 0xc1, 0xb4, 0x68, 0x99, 0xc1, 0x0a, 0xfe, 0x82, 0x86, + 0x94, 0x90, 0x8e, 0xc7, 0x56, 0x49, 0xf3, 0xf2, 0x53, 0x4a, 0x45, 0x6a, 0x7d, 0x61, 0x5c, 0x1c, + 0xe0, 0xb7, 0xb0, 0x56, 0x63, 0x28, 0xac, 0x5a, 0x26, 0x6e, 0x91, 0x1e, 0x6e, 0x2b, 0x0a, 0x1b, + 0xe9, 0x77, 0xf8, 0x23, 0x4d, 0xd0, 0xb9, 0x1c, 0x69, 0xdc, 0xc5, 0x7f, 0x61, 0x08, 0xf1, 0x90, + 0xaf, 0xab, 0xb0, 0xd9, 0x46, 0xad, 0x06, 0x36, 0xc5, 0x39, 0x8c, 0x65, 0x2d, 0xe1, 0x0f, 0x2a, + 0x43, 0x9d, 0x6b, 0x0c, 0x40, 0xb9, 0x28, 0xfb, 0xd1, 0x1c, 0x8d, 0x32, 0xe5, 0x8a, 0xb9, 0x9c, + 0x0c, 0x35, 0x53, 0x8f, 0x16, 0xc1, 0x9f, 0xbc, 0x1d, 0x15, 0x05, 0xec, 0x63, 0x64, 0x1a, 0xeb, + 0xed, 0xbb, 0xd6, 0xf6, 0x2f, 0x3b, 0xf2, 0x77, 0x85, 0x3b, 0x44, 0x6e, 0x2a, 0x88, 0xff, 0xe1, + 0x81, 0xc6, 0xc1, 0x93, 0xe2, 0x69, 0x8b, 0xe9, 0x02, 0x2b, 0xb9, 0x6e, 0xa8, 0xe5, 0x30, 0x73, + 0x80, 0xb0, 0x4e, 0x92, 0x6e, 0x1f, 0x05, 0x55, 0x76, 0xa5, 0xba, 0x51, 0xf8, 0x6f, 0xd9, 0x3e, + 0xba, 0xd7, 0x2a, 0x67, 0x0f, 0x82, 0x52, 0x89, 0x25, 0x55, 0xfc, 0xab, 0x2c, 0x0c, 0x87, 0x00, + 0xc9, 0xbd, 0x1e, 0x46, 0xf3, 0xad, 0x0b, 0x44, 0x76, 0x23, 0x1f, 0x6f, 0x98, 0x73, 0x11, 0x50, + 0x1d, 0x50, 0x47, 0x9e, 0xca, 0x85, 0x1d, 0x16, 0x1e, 0x80, 0x0d, 0xc5, 0x2e, 0x0f, 0x2d, 0x94, + 0xb7, 0x76, 0x55, 0x62, 0x53, 0xcb, 0xb7, 0xe4, 0x9f, 0xb2, 0x5b, 0xed, 0x4d, 0x51, 0xf6, 0xeb, + 0x27, 0xe0, 0xaa, 0x2f, 0x8a, 0x3d, 0x23, 0x7f, 0x06, 0xa1, 0xf0, 0x21, 0x49, 0xa2, 0xf3, 0x2e, + 0x31, 0x1c, 0x93, 0xf6, 0x38, 0x86, 0x0e, 0x1c, 0x6f, 0x12, 0xb6, 0x6e, 0x1c, 0xc1, 0xbe, 0x9b, + 0x48, 0x11, 0x8b, 0x6a, 0x71, 0x14, 0x38, 0x74, 0xcd, 0x0f, 0xed, 0x5b, 0xa7, 0xae, 0x6d, 0xb1, + 0x34, 0xa6, 0xdd, 0x48, 0x01, 0x9d, 0x28, 0xa6, 0x9c, 0xde, 0xd6, 0x95, 0x27, 0x45, 0xcd, 0xdf, + 0xd8, 0x27, 0xad, 0x44, 0x48, 0x6b, 0x44, 0xe6, 0x87, 0x64, 0x60, 0xb1, 0x07, 0xd7, 0x71, 0x22, + 0x46, 0xed, 0x3a, 0x45, 0xf1, 0xd1, 0xa7, 0x82, 0xee, 0x53, 0x48, 0xd0, 0x99, 0x18, 0x56, 0x31, + 0x2b, 0x30, 0x7b, 0xbc, 0x46, 0x3e, 0xef, 0x0f, 0xff, 0xfe, 0xb7, 0xe7, 0x03, 0xa0, 0x10, 0x2e, + 0x6b, 0xbd, 0x70, 0xc5, 0x7f, 0x17, 0x46, 0x04, 0xf4, 0xc3, 0xa7, 0xad, 0x00, 0x2e, 0xb2, 0x1e, + 0x86, 0x27, 0x2c, 0x5e, 0xe1, 0x59, 0xde, 0xcf, 0x68, 0x24, 0xfb, 0xd6, 0xb6, 0x9b, 0x28, 0x01, + 0xbe, 0xf2, 0x3b, 0x5d, 0x7c, 0x9f, 0x2d, 0x3a, 0xc0, 0x42, 0xb5, 0xcf, 0x60, 0x64, 0x4d, 0x2d, + 0x3f, 0x84, 0x77, 0xa8, 0xd6, 0x61, 0xe4, 0xa0, 0x90, 0x31, 0x03, 0x3c, 0x07, 0xc7, 0xbd, 0xa7, + 0xc1, 0x76, 0x39, 0x54, 0x5c, 0xf9, 0x65, 0x69, 0xf3, 0x5e, 0xa3, 0xcc, 0xad, 0x59, 0x6d, 0x08, + 0x51, 0xdc, 0x12, 0xf8, 0x1d, 0x51, 0xf5, 0xaf, 0x0a, 0xb7, 0x52, 0x72, 0x1b, 0x1a, 0x41, 0x02, + 0x2f, 0x3a, 0x0c, 0x08, 0xf4, 0x8b, 0x32, 0x58, 0x88, 0xc6, 0x37, 0xa4, 0xca, 0x48, 0xf0, 0x69, + 0x63, 0x72, 0x9c, 0xfd, 0xac, 0x47, 0x11, 0xd0, 0x43, 0xd1, 0x66, 0x49, 0x05, 0x86, 0x8a, 0x37, + 0x58, 0xef, 0x41, 0x64, 0xfc, 0x02, 0xcd, 0xaa, 0xbb, 0x88, 0x16, 0x09, 0xac, 0x3b, 0x78, 0x71, + 0x7a, 0x49, 0x22, 0x6a, 0xd5, 0xe8, 0x39, 0xbe, 0x05, 0x00, 0x38, 0x3d, 0x5a, 0xf6, 0xcb, 0x73, + 0x6d, 0xdd, 0x15, 0xec, 0x83, 0x94, 0xe7, 0x3b, 0xc3, 0xaf, 0xd9, 0xef, 0xc7, 0xe0, 0x45, 0xbb, + 0x11, 0xf2, 0x21, 0x26, 0xef, 0xc8, 0x39, 0xe8, 0xc1, 0xcc, 0x38, 0x16, 0x83, 0x0f, 0x94, 0x75, + 0xbb, 0x7e, 0x20, 0x13, 0x07, 0x4d, 0xa4, 0x49, 0x68, 0xec, 0xd8, 0x1c, 0xd0, 0xf4, 0xa5, 0x5f, + 0xcd, 0xe6, 0x47, 0x38, 0xc4, 0x16, 0xd0, 0xb5, 0xd2, 0x9c, 0x91, 0xa3, 0xd6, 0x83, 0x9b, 0x3f, + 0x85, 0x7e, 0x70, 0x8e, 0x52, 0x94, 0x19, 0xe2, 0xa3, 0xf0, 0x9b, 0xec, 0x62, 0x7d, 0x34, 0x9f, + 0x9d, 0x12, 0xa9, 0xc6, 0x74, 0x0a, 0xc0, 0xda, 0xfd, 0x80, 0x01, 0x2f, 0x9e, 0x25, 0x03, 0x52, + 0xf7, 0x06, 0x2e, 0x59, 0x44, 0x25, 0xd7, 0x93, 0x12, 0xc4, 0x7a, 0xe7, 0xe6, 0x22, 0x78, 0xa3, + 0x31, 0x46, 0xb0, 0xcc, 0xe1, 0x28, 0xd2, 0x6e, 0x0b, 0x69, 0xc3, 0x4e, 0x66, 0x48, 0x43, 0xf5, + 0x1d, 0xc6, 0x4b, 0x2a, 0x7a, 0xd0, 0x28, 0x77, 0x4e, 0x86, 0xc5, 0x91, 0x48, 0x20, 0x87, 0xd4, + 0x28, 0x06, 0xba, 0xdd, 0xa8, 0xb7, 0x99, 0x02, 0x18, 0x7e, 0x6e, 0x42, 0x25, 0x2b, 0x08, 0xc6, + 0x35, 0x75, 0x66, 0xc6, 0xa3, 0xb6, 0x96, 0x75, 0x7d, 0x97, 0xb7, 0x44, 0x87, 0x6c, 0x74, 0x83, + 0xc8, 0x2d, 0x10, 0x4d, 0x00, 0x2d, 0xfb, 0xe9, 0x03, 0x8e, 0x1b, 0x3d, 0xba, 0x68, 0xfc, 0xdf, + 0xee, 0x80, 0x44, 0x96, 0xc9, 0x6a, 0x28, 0x30, 0xa7, 0x42, 0x76, 0x4d, 0xe6, 0xd9, 0xd1, 0xc8, + 0xea, 0x40, 0xe6, 0x44, 0xb2, 0x57, 0x7f, 0x49, 0xc9, 0x6c, 0x63, 0x2b, 0x5d, 0x90, 0x6c, 0x10, + 0xf0, 0x3a, 0x0f, 0x94, 0xe9, 0x6d, 0x3b, 0x58, 0x0c, 0x91, 0x97, 0x6a, 0x2c, 0x81, 0xa2, 0x21, + 0xef, 0xeb, 0x52, 0x3a, 0x6d, 0xd4, 0xf7, 0x0e, 0x20, 0x33, 0x90, 0xcc, 0xaf, 0x0c, 0x3f, 0x8e, + 0xf0, 0x32, 0x8f, 0x83, 0xbd, 0xbe, 0x11, 0x17, 0x24, 0xf2, 0x89, 0x7a, 0xb2, 0x06, 0xa8, 0x29, + 0x4e, 0x9e, 0x10, 0x00, 0xc7, 0x76, 0x50, 0x0b, 0xe6, 0xa3, 0xfe, 0x41, 0x8f, 0x27, 0x22, 0x71, + 0x86, 0x08, 0x36, 0x26, 0xc1, 0xeb, 0x38, 0xa7, 0x97, 0x2b, 0xd2, 0xc4, 0xf7, 0x80, 0xe2, 0xe8, + 0x4e, 0x12, 0x96, 0x86, 0x85, 0xf6, 0xa8, 0xb4, 0xb5, 0x7a, 0x68, 0x0f, 0xd1, 0x98, 0xae, 0x9c, + 0x57, 0x91, 0x6e, 0x11, 0x13, 0x8b, 0x82, 0x49, 0x61, 0xed, 0xc6, 0x87, 0x30, 0xf8, 0xf9, 0xbb, + 0x0d, 0x6a, 0x77, 0xa2, 0x40, 0x99, 0x4b, 0x0e, 0x8d, 0xdf, 0x27, 0x91, 0xee, 0x62, 0x1a, 0x41, + 0xc2, 0x31, 0x5a, 0x3b, 0x72, 0xfe, 0x3c, 0xae, 0xd1, 0x02, 0x83, 0xfe, 0x6a, 0xcf, 0x20, 0x73, + 0x95, 0xd8, 0xb6, 0x8f, 0x5c, 0xba, 0x8f, 0x7b, 0x61, 0x16, 0xb0, 0xb4, 0x03, 0x37, 0xc0, 0x1a, + 0xcf, 0x5f, 0xc2, 0x81, 0x5b, 0x4d, 0xf2, 0xfa, 0x67, 0x11, 0xa3, 0x11, 0x0c, 0x2b, 0xc3, 0x23, + 0xd5, 0x0f, 0x4c, 0xa3, 0xce, 0xc7, 0xc5, 0xb3, 0xb4, 0xf6, 0xbc, 0x77, 0xf6, 0x8a, 0xb6, 0x2d, + 0x32, 0x91, 0x45, 0x54, 0x3e, 0x20, 0x1f, 0x23, 0xfa, 0x1b, 0x8b, 0xcd, 0x42, 0x31, 0x2b, 0x33, + 0x00, 0x44, 0x54, 0x37, 0x53, 0x6e, 0xf5, 0xfd, 0x30, 0xba, 0x12, 0xa5, 0x71, 0x66, 0x8d, 0x19, + 0x09, 0xaa, 0xf2, 0x93, 0x96, 0xcb, 0x77, 0xc9, 0x60, 0x6d, 0x08, 0xc3, 0xf1, 0xcb, 0x4b, 0xb6, + 0xe5, 0xd5, 0x06, 0x1b, 0xab, 0x40, 0x70, 0x66, 0x6b, 0x9c, 0xc0, 0x35, 0x47, 0x22, 0xf2, 0x9e, + 0x93, 0x25, 0x7d, 0x93, 0x21, 0x83, 0xb9, 0xf6, 0x3b, 0x77, 0xc5, 0x75, 0x55, 0x23, 0xf4, 0x33, + 0x47, 0xfb, 0xb4, 0x3a, 0x02, 0xec, 0x5d, 0xe0, 0x52, 0xe4, 0x40, 0x6d, 0x17, 0x6c, 0x56, 0xf0, + 0x1b, 0xb8, 0xd7, 0xaf, 0xc6, 0x4c, 0xd3, 0x9b, 0x8a, 0x2a, 0x64, 0x6d, 0x63, 0xa8, 0x57, 0xaa, + 0xe4, 0x08, 0x5e, 0x6a, 0xdf, 0x77, 0x53, 0x17, 0x0f, 0x2c, 0x21, 0x51, 0x84, 0x9f, 0xe1, 0x36, + 0x17, 0x1a, 0xd7, 0xfa, 0xd1, 0x62, 0x26, 0x33, 0x89, 0xc6, 0x5f, 0x37, 0x3b, 0x6f, 0xd5, 0xfc, + 0x43, 0x09, 0xb4, 0x38, 0xf9, 0x2b, 0xd4, 0xda, 0xb3, 0x94, 0x2f, 0xe7, 0x44, 0x6a, 0xda, 0xe2, + 0xb7, 0x84, 0x2e, 0xa1, 0xa3, 0x51, 0x07, 0x85, 0x28, 0xd0, 0xff, 0x4c, 0x39, 0x05, 0x29, 0xe5, + 0xf7, 0x25, 0xb5, 0x35, 0xbc, 0x87, 0xb8, 0x15, 0x57, 0x33, 0x50, 0xe8, 0xa7, 0xb1, 0x8f, 0xff, + 0xcb, 0x15, 0x65, 0xcd, 0x38, 0x6c, 0x84, 0xa3, 0xe1, 0x9b, 0x49, 0x50, 0x41, 0x3e, 0xcc, 0xd8, + 0xdd, 0x06, 0x31, 0x2b, 0xc4, 0xa0, 0x85, 0xc9, 0x80, 0xd9, 0x0f, 0xed, 0x4e, 0x40, 0xf0, 0x5c, + 0x38, 0x12, 0x83, 0xfe, 0x41, 0x34, 0xe8, 0x9e, 0xdc, 0x21, 0x9c, 0x41, 0xbe, 0xc8, 0x7d, 0x40, + 0x91, 0x44, 0x4f, 0x0e, 0x63, 0xb7, 0x3a, 0xe3, 0xad, 0xc2, 0x6f, 0x7d, 0x85, 0xd6, 0xe3, 0x49, + 0x1a, 0x12, 0x4e, 0xac, 0x25, 0x6d, 0x1c, 0xde, 0x18, 0xdf, 0x4b, 0xaa, 0xef, 0x3a, 0xb7, 0x62, + 0x6a, 0x06, 0xb1, 0x7e, 0xb3, 0x09, 0xc5, 0x7f, 0xec, 0x9a, 0x4b, 0xe8, 0xae, 0x2a, 0xa8, 0x58, + 0x0a, 0x2e, 0xbf, 0x9d, 0x61, 0xaf, 0xa2, 0x65, 0x1c, 0xe0, 0x44, 0x8f, 0xe5, 0xad, 0x11, 0xd8, + 0xc3, 0xba, 0x66, 0x63, 0xee, 0x34, 0xbe, 0xe8, 0x31, 0xca, 0x02, 0x07, 0x98, 0x29, 0x4b, 0x1d, + 0x2d, 0xc6, 0x33, 0xd8, 0x95, 0x2c, 0x3a, 0x31, 0xb6, 0xbc, 0x2d, 0x7c, 0xbc, 0xbb, 0x86, 0xee, + 0x3e, 0xe3, 0x22, 0x34, 0x77, 0x63, 0x13, 0x76, 0x13, 0x3f, 0x2f, 0x78, 0xfa, 0x8f, 0x9e, 0x5e, + 0xa4, 0xa7, 0x91, 0x64, 0xfd, 0x4e, 0xed, 0xb2, 0x4e, 0xbd, 0x0f, 0x91, 0xa1, 0xbc, 0xf4, 0x0a, + 0xf0, 0x1e, 0xed, 0x27, 0x6e, 0x96, 0x3b, 0x64, 0x28, 0x1e, 0xac, 0x7d, 0x32, 0x8f, 0x05, 0x1b, + 0x57, 0x7c, 0xe1, 0x57, 0xea, 0x8f, 0x7b, 0x4a, 0xef, 0xb5, 0x87, 0x7e, 0x15, 0x00, 0xa1, 0x07, + 0x20, 0x95, 0xd4, 0xe7, 0x4a, 0x3d, 0x20, 0xad, 0x22, 0x1c, 0x79, 0xe7, 0xbd, 0x12, 0x73, 0xee, + 0x55, 0x61, 0x43, 0x43, 0x63, 0x84, 0x86, 0x22, 0x67, 0x84, 0x1e, 0x0e, 0x09, 0x9a, 0x78, 0x00, + 0xbb, 0xb2, 0x93, 0xb8, 0x96, 0xca, 0x75, 0xdf, 0x22, 0xdf, 0x80, 0x7d, 0xd4, 0xac, 0x18, 0x3e, + 0x9e, 0x27, 0x6d, 0xd3, 0x20, 0x45, 0x06, 0xf8, 0x42, 0xa6, 0x74, 0x95, 0x15, 0xc2, 0xf8, 0xc6, + 0x9f, 0x53, 0x89, 0xdb, 0x71, 0x0c, 0xa3, 0xbc, 0x16, 0xb1, 0x4f, 0xb8, 0x4b, 0xe4, 0x4f, 0x62, + 0xf6, 0x34, 0xef, 0x60, 0x6c, 0x3e, 0xbd, 0xeb, 0xd7, 0x65, 0x17, 0x41, 0x1d, 0x7c, 0x91, 0xb3, + 0xa1, 0x7d, 0xff, 0x41, 0xf6, 0x86, 0xfb, 0x88, 0xec, 0xa3, 0x1c, 0x32, 0x88, 0xa3, 0xef, 0xa8, + 0x1c, 0x68, 0x17, 0x92, 0x91, 0x25, 0xb3, 0x32, 0x7a, 0x91, 0xc1, 0x74, 0x43, 0xb9, 0xf8, 0x3d, + 0x07, 0xbd, 0xb9, 0xc8, 0xeb, 0x57, 0xe9, 0x05, 0x20, 0x5a, 0x0e, 0x67, 0x8e, 0xbf, 0x70, 0x7c, + 0x50, 0x0f, 0xbd, 0x47, 0x72, 0x78, 0xac, 0xc7, 0xf8, 0xea, 0xce, 0x63, 0xa9, 0x95, 0xf6, 0xcd, + 0x83, 0x96, 0xcb, 0x7a, 0xa5, 0xa8, 0xa8, 0x07, 0x43, 0x71, 0xe9, 0x34, 0x5c, 0x6d, 0xd8, 0xec, + 0x25, 0x1e, 0x95, 0x9a, 0xc6, 0x2d, 0x27, 0x48, 0x5c, 0x46, 0x8c, 0xf6, 0x9f, 0x2f, 0x4d, 0x0b, + 0xa3, 0xe9, 0x84, 0x9a, 0x43, 0xb7, 0x2b, 0xd8, 0xd2, 0x6b, 0x50, 0x67, 0x9d, 0xab, 0x61, 0xe1, + 0x08, 0xca, 0x2a, 0x0b, 0xd4, 0x9a, 0x1c, 0x03, 0xd0, 0x5e, 0xf5, 0xaf, 0xb2, 0xf8, 0x34, 0xd8, + 0x0c, 0xfc, 0xf7, 0x3a, 0x73, 0x38, 0x91, 0xe7, 0x8c, 0x67, 0x56, 0xa4, 0xa8, 0x44, 0xd6, 0xee, + 0x89, 0x06, 0x95, 0xa6, 0xf9, 0x05, 0x58, 0xd5, 0x13, 0xc6, 0x27, 0x28, 0x39, 0xa3, 0x32, 0x7b, + 0xc6, 0x61, 0xe2, 0x1e, 0x6e, 0x68, 0xd6, 0xf5, 0xd1, 0x1a, 0x68, 0x91, 0x5b, 0xa7, 0x62, 0x0a, + 0x8b, 0xe0, 0xa1, 0xa5, 0x44, 0x8c, 0x12, 0x80, 0xfa, 0x85, 0x7e, 0xd1, 0xfc, 0x21, 0x48, 0x60, + 0x59, 0xfb, 0xc5, 0x79, 0x49, 0x8f, 0xb9, 0xca, 0xc5, 0x76, 0x8d, 0xc3, 0x9e, 0xdf, 0x5e, 0x91, + 0x0a, 0x4a, 0x7a, 0x2c, 0xcd, 0x24, 0xbf, 0xcc, 0xe4, 0x6e, 0x4e, 0xd3, 0xb9, 0x5e, 0x1a, 0xc5, + 0x92, 0xf9, 0xde, 0x3a, 0xae, 0xb1, 0xb6, 0x48, 0xba, 0x46, 0xa7, 0x38, 0xa0, 0xf0, 0xe4, 0xe5, + 0x5f, 0xbc, 0xae, 0x3d, 0xda, 0xbe, 0xce, 0x70, 0xfb, 0x12, 0x67, 0x87, 0x6d, 0x55, 0xb7, 0xd5, + 0x31, 0x2a, 0xf2, 0xa8, 0x92, 0x6d, 0xd4, 0xb8, 0x54, 0x51, 0xba, 0xaf, 0x22, 0x11, 0x50, 0xe2, + 0xca, 0x48, 0x4f, 0xf4, 0x04, 0x4d, 0x47, 0x8a, 0x2c, 0xad, 0x48, 0x35, 0x5c, 0xaf, 0x44, 0x35, + 0xe6, 0xa8, 0x8c, 0x6c, 0x29, 0x04, 0x0a, 0x58, 0x3e, 0xce, 0x8c, 0x06, 0xb8, 0x21, 0x9f, 0x0c, + 0x55, 0x9c, 0x74, 0xab, 0x3a, 0x86, 0x6a, 0x37, 0x9d, 0xd5, 0xe5, 0x2e, 0x4f, 0xd0, 0xb3, 0x4b, + 0x60, 0x54, 0xcc, 0x53, 0x0b, 0xf3, 0x7f, 0xcd, 0x8c, 0xde, 0x0c, 0x7c, 0x79, 0x12, 0x95, 0x1b, + 0xdb, 0x7c, 0x65, 0x76, 0x77, 0x28, 0xb6, 0x24, 0xe9, 0x41, 0x29, 0x6e, 0xb8, 0xc4, 0x8e, 0x3b, + 0xb3, 0xaa, 0x3d, 0xc7, 0x5c, 0xb9, 0xe7, 0x2c, 0x05, 0xc2, 0x09, 0x8f, 0xc7, 0xc6, 0x65, 0x99, + 0x18, 0xd9, 0x30, 0xd9, 0x4b, 0x5f, 0x4e, 0xd5, 0xab, 0x24, 0xbf, 0x2a, 0x55, 0xbc, 0xae, 0x78, + 0x90, 0xd3, 0x3c, 0x46, 0xd6, 0xbd, 0xf3, 0x1c, 0x7b, 0xd7, 0x85, 0xf2, 0x14, 0xa4, 0xb0, 0x3b, + 0xa8, 0xc6, 0x2f, 0x02, 0x3f, 0x50, 0x6e, 0x31, 0x9c, 0x2f, 0x87, 0x3b, 0xe3, 0xcf, 0xf9, 0x9d, + 0x6c, 0xfc, 0xdb, 0x2a, 0xb5, 0x97, 0x96, 0xf3, 0x63, 0x5c, 0x02, 0x96, 0xdc, 0xd7, 0xdb, 0x56, + 0x4d, 0xee, 0x11, 0x8a, 0x22, 0x18, 0x2f, 0x8b, 0x8a, 0x71, 0xb1, 0xbf, 0x81, 0xbd, 0x64, 0x63, + 0xc4, 0x74, 0xdc, 0xa6, 0x11, 0xc8, 0x33, 0xd5, 0x74, 0xc2, 0x93, 0x2f, 0x9a, 0xdd, 0xc0, 0x6f, + 0x8f, 0xcf, 0xa6, 0x8a, 0xf4, 0x22, 0xd3, 0xa5, 0xd1, 0xbf, 0x17, 0x83, 0x53, 0x05, 0xff, 0x72, + 0x5a, 0xe2, 0x00, 0x11, 0x6b, 0x4e, 0x84, 0x1b, 0x46, 0x8b, 0x26, 0x96, 0xd5, 0x3e, 0xcf, 0x8c, + 0x76, 0x6d, 0xf3, 0x8c, 0x5f, 0x34, 0x79, 0xc0, 0x3c, 0xc8, 0xf4, 0xfc, 0xc6, 0x6a, 0xda, 0xc1, + 0x9d, 0x75, 0xd1, 0x74, 0xfa, 0x80, 0x22, 0xf9, 0x0a, 0x12, 0x20, 0x06, 0xbe, 0x5a, 0x7e, 0x96, + 0x1c, 0xe9, 0x22, 0xcc, 0xfd, 0x56, 0xf9, 0x2a, 0xf5, 0x97, 0xa8, 0x5f, 0x2e, 0xdb, 0x96, 0x8d, + 0x30, 0xbd, 0x60, 0x5b, 0x8e, 0x95, 0xea, 0xab, 0x4b, 0x45, 0xc1, 0x9d, 0xf0, 0xb2, 0x80, 0x85, + 0xbb, 0xc7, 0x64, 0xc3, 0x16, 0xcb, 0xb0, 0xc9, 0x03, 0x8b, 0x51, 0xa5, 0x6c, 0x15, 0x7d, 0x7a, + 0x5f, 0xf7, 0xb5, 0x1e, 0x4a, 0x01, 0x36, 0xf2, 0x19, 0x1f, 0x33, 0x63, 0xfe, 0x4f, 0x6d, 0xc4, + 0xd0, 0xdd, 0x19, 0xe0, 0xcf, 0xa7, 0x8c, 0xa2, 0xc1, 0x18, 0xeb, 0x88, 0x04, 0x59, 0x0b, 0x68, + 0x09, 0x84, 0x05, 0x4b, 0x85, 0x97, 0x85, 0x54, 0x89, 0x2f, 0x8c, 0xe0, 0xfc, 0x07, 0x24, 0xd3, + 0xd7, 0xb1, 0xf0, 0x90, 0x21, 0xb2, 0x4d, 0x38, 0x72, 0x59, 0x6f, 0x27, 0x25, 0x89, 0xd8, 0x86, + 0x27, 0x16, 0xab, 0x3a, 0xa1, 0x18, 0x0a, 0x54, 0xcd, 0x00, 0xbb, 0xb1, 0x9d, 0x07, 0xa1, 0x17, + 0xdb, 0xac, 0xa3, 0x51, 0x5f, 0xa8, 0x4b, 0x8a, 0xda, 0xcc, 0x8c, 0xd6, 0x7c, 0x3f, 0xe3, 0x9a, + 0xbf, 0x33, 0x94, 0xa4, 0x19, 0x52, 0xa9, 0x23, 0xc2, 0x85, 0x90, 0x44, 0x9c, 0xf3, 0x05, 0x3f, + 0xc9, 0xaf, 0xd1, 0xd6, 0x58, 0x7b, 0x2c, 0xd4, 0xac, 0x67, 0x56, 0x65, 0xe4, 0xa2, 0xb9, 0x56, + 0x7b, 0xb5, 0x66, 0xed, 0x9d, 0x1a, 0x42, 0xd0, 0x9f, 0x7b, 0x02, 0xbb, 0x22, 0xf0, 0x98, 0x20, + 0x5e, 0x2b, 0x9f, 0x5b, 0xe7, 0x99, 0xa1, 0xe8, 0x4e, 0x0b, 0xeb, 0x80, 0xde, 0xe8, 0xb6, 0xe6, + 0xdb, 0xba, 0xc2, 0xd2, 0x99, 0xb2, 0x6d, 0xdc, 0x17, 0x05, 0x63, 0x7e, 0xd4, 0x54, 0xba, 0xa6, + 0xd0, 0x0d, 0xac, 0xba, 0x64, 0x44, 0x23, 0x17, 0x2b, 0x68, 0x41, 0x2d, 0xb5, 0x2e, 0x00, 0x70, + 0xbf, 0x32, 0xfb, 0xf1, 0xb9, 0xfe, 0xd4, 0x51, 0x3e, 0xe8, 0x82, 0x61, 0x2b, 0xfc, 0x88, 0x90, + 0x1e, 0xb6, 0x1c, 0xd8, 0x2b, 0x9e, 0xfe, 0x7a, 0x08, 0xc4, 0xe2, 0x05, 0x58, 0x2f, 0x08, 0x5f, + 0x8f, 0xc1, 0x24, 0x2c, 0xb8, 0x77, 0x42, 0x63, 0xef, 0x51, 0x66, 0x51, 0x49, 0x5e, 0x5e, 0xae, + 0xd1, 0xfd, 0xc4, 0xd8, 0x3d, 0x4c, 0x37, 0x69, 0x68, 0xb1, 0x11, 0x47, 0x63, 0xef, 0x17, 0x73, + 0x61, 0x57, 0xb2, 0x81, 0xc8, 0x49, 0x8f, 0x2b, 0x0c, 0x3a, 0xf9, 0x94, 0x0c, 0x14, 0x59, 0x9e, + 0xa3, 0x6a, 0x94, 0x72, 0x0e, 0x2a, 0xea, 0xc8, 0xb9, 0x3a, 0xd0, 0x6d, 0x26, 0x7d, 0xad, 0x64, + 0x26, 0x8f, 0xd4, 0xe0, 0xed, 0x3d, 0x67, 0xc9, 0x8c, 0x6f, 0x8f, 0xd0, 0xe7, 0x4f, 0xdd, 0x56, + 0x11, 0x6b, 0x23, 0x58, 0xcf, 0xa7, 0x7f, 0xb4, 0x1e, 0x85, 0x28, 0x44, 0x50, 0xf6, 0x37, 0x72, + 0x68, 0x95, 0xf2, 0xb5, 0x3c, 0xe3, 0x07, 0xb8, 0x45, 0x85, 0x34, 0x0d, 0x6c, 0xcd, 0xa2, 0x16, + 0x20, 0x8f, 0x3f, 0x21, 0x35, 0xfa, 0xfb, 0xea, 0xb5, 0x78, 0xfb, 0x28, 0xc6, 0x2d, 0x58, 0x1a, + 0x01, 0x05, 0x57, 0x0b, 0xbc, 0xd0, 0x4e, 0xc5, 0x87, 0x70, 0x9b, 0x64, 0x3e, 0x9f, 0xdc, 0x5b, + 0xaa, 0x4e, 0x42, 0x60, 0x72, 0x56, 0x6e, 0x50, 0x43, 0x26, 0x7d, 0x89, 0xb5, 0x0e, 0xbd, 0x43, + 0x93, 0x6b, 0x9f, 0xcc, 0x24, 0xa2, 0x77, 0x95, 0x36, 0xe4, 0xdf, 0x67, 0xe6, 0x5b, 0x1f, 0xed, + 0xc6, 0x27, 0x70, 0x58, 0x0a, 0x7f, 0x23, 0xb4, 0xd0, 0x28, 0x52, 0xb4, 0x55, 0x2d, 0x4b, 0xeb, + 0x1a, 0xc6, 0xdf, 0xdb, 0xf7, 0x2a, 0xa8, 0xb2, 0xfa, 0x27, 0xa8, 0x76, 0xe3, 0x5f, 0xa9, 0x3b, + 0xf0, 0x0a, 0xb0, 0xde, 0x87, 0x08, 0xbb, 0x8b, 0x3e, 0xd2, 0xf3, 0x72, 0xac, 0xf9, 0x15, 0x6d, + 0x94, 0xbe, 0xe4, 0xd4, 0x65, 0xb2, 0x9e, 0xe1, 0xf9, 0x1c, 0x92, 0xf8, 0x15, 0xa5, 0x4b, 0x58, + 0x84, 0x8b, 0xfd, 0xbb, 0x25, 0x42, 0xc3, 0xc0, 0xb3, 0xaa, 0x30, 0x54, 0x09, 0x7d, 0x41, 0x26, + 0xdb, 0x04, 0xc4, 0xaa, 0xa2, 0x85, 0x09, 0xa9, 0x8a, 0x84, 0x8e, 0x8c, 0x01, 0x7d, 0xd7, 0x7b, + 0xdb, 0xf7, 0x59, 0x92, 0x3e, 0x73, 0xd1, 0x4d, 0x99, 0xf3, 0xea, 0xe4, 0xbc, 0x51, 0xb3, 0x8e, + 0xa5, 0x4b, 0x00, 0xe2, 0x24, 0x41, 0x65, 0x61, 0x8b, 0xab, 0x24, 0x5f, 0x91, 0xf2, 0x83, 0xf2, + 0xfd, 0x5d, 0x88, 0xb1, 0x31, 0x1a, 0x4d, 0x62, 0x50, 0xac, 0x93, 0x00, 0x6c, 0x9a, 0x8d, 0xc8, + 0xe8, 0x83, 0xff, 0x56, 0x3f, 0x08, 0xe0, 0x73, 0xb9, 0x36, 0xfc, 0xd8, 0x4e, 0x2f, 0x69, 0x59, + 0xd2, 0x47, 0x84, 0x1c, 0x84, 0xe7, 0xbc, 0x46, 0xce, 0x01, 0x9b, 0xdf, 0xd2, 0x32, 0xf2, 0x96, + 0x1b, 0x90, 0xc7, 0x3a, 0x49, 0x2f, 0x90, 0x7d, 0x74, 0x33, 0x5f, 0x50, 0x50, 0xfa, 0x70, 0xb6, + 0x70, 0x01, 0xc5, 0x09, 0x21, 0xf3, 0x36, 0x3d, 0xe8, 0x8a, 0x07, 0x1a, 0x8e, 0x47, 0x92, 0x4f, + 0x96, 0x61, 0x2d, 0xf6, 0x86, 0x8f, 0xe3, 0x1c, 0x88, 0x0a, 0xc4, 0xd7, 0xd0, 0xe5, 0xb1, 0x3d, + 0x1a, 0x5f, 0xb1, 0x80, 0x0f, 0x22, 0x64, 0xd8, 0x55, 0xec, 0x7f, 0xe1, 0xc8, 0x36, 0x53, 0x5d, + 0x01, 0xef, 0x50, 0xea, 0xe5, 0xaf, 0x58, 0x56, 0x26, 0x1d, 0xdc, 0xb6, 0xac, 0xbc, 0xba, 0x7d, + 0x62, 0x09, 0xb9, 0x36, 0x52, 0x09, 0x99, 0xd9, 0x5b, 0x7e, 0x57, 0x10, 0x2d, 0x6e, 0x10, 0x0a, + 0xd7, 0x16, 0x34, 0xd3, 0x83, 0xe9, 0xb9, 0x76, 0xac, 0x5f, 0xef, 0x7a, 0x78, 0xb8, 0x2d, 0x07, + 0xa1, 0x82, 0x9f, 0x2c, 0x50, 0xba, 0xb7, 0x87, 0xbe, 0x94, 0x4f, 0xf8, 0x3b, 0x21, 0xbf, 0xee, + 0x41, 0x85, 0xb8, 0x48, 0xc0, 0xb9, 0x7a, 0x2f, 0x8c, 0xfc, 0x1c, 0xfc, 0x7d, 0x19, 0xee, 0x94, + 0xb1, 0x16, 0xd6, 0xf0, 0xae, 0x67, 0x56, 0x2c, 0x55, 0x7c, 0xce, 0x08, 0xf4, 0xe3, 0xd2, 0x21, + 0xa0, 0x5d, 0xc7, 0x11, 0x3c, 0x26, 0xd3, 0x2b, 0xae, 0xc3, 0x98, 0xe6, 0x02, 0x5e, 0x7f, 0x69, + 0x80, 0x8f, 0xbb, 0xf6, 0x0d, 0x0a, 0x80, 0x26, 0x19, 0x76, 0x82, 0xae, 0xcd, 0xfa, 0xe3, 0x67, + 0x68, 0x3c, 0x2c, 0x1b, 0x94, 0x85, 0x32, 0xb3, 0xc2, 0xf3, 0xd7, 0xbd, 0xbd, 0xb5, 0x88, 0xd1, + 0xf5, 0x9f, 0xa2, 0x42, 0x69, 0x6f, 0xf7, 0xd8, 0x84, 0xc3, 0x60, 0x76, 0xce, 0x1c, 0x8c, 0x73, + 0xf4, 0x7e, 0x37, 0xe2, 0x5e, 0xd5, 0x47, 0x09, 0x13, 0x0d, 0x3e, 0xb1, 0xb4, 0x1f, 0x9d, 0x58, + 0xc1, 0x12, 0xb7, 0x94, 0xd5, 0xf1, 0x89, 0x62, 0x86, 0x79, 0x28, 0x7e, 0x2a, 0xd2, 0xfc, 0xee, + 0x6f, 0xc4, 0xd8, 0xe4, 0xa1, 0xfa, 0x82, 0xc0, 0x6a, 0x49, 0x88, 0xdd, 0xd1, 0xdb, 0x9c, 0xdd, + 0x09, 0x22, 0x57, 0x4f, 0x05, 0x48, 0x51, 0x0c, 0xb9, 0x23, 0xbe, 0xbe, 0x43, 0x6e, 0xe2, 0x7c, + 0x03, 0xfc, 0x05, 0xe6, 0x60, 0x79, 0x05, 0x73, 0xca, 0xcb, 0x30, 0xe8, 0x51, 0x41, 0xf2, 0x5b, + 0x39, 0x64, 0xef, 0x8a, 0x0b, 0x3a, 0x1f, 0xfa, 0x55, 0x01, 0xa0, 0x94, 0xf7, 0xc3, 0x7d, 0x83, + 0x65, 0x84, 0x23, 0xb8, 0x6a, 0x22, 0x75, 0x94, 0x3f, 0x01, 0x06, 0x3b, 0x12, 0x59, 0x07, 0xe5, + 0x18, 0x75, 0xe7, 0x8f, 0x33, 0xff, 0xbd, 0x3a, 0x1a, 0x52, 0xb3, 0x4b, 0x7f, 0x15, 0xcf, 0x6b, + 0x66, 0xa7, 0x2b, 0x1d, 0xae, 0x8b, 0x24, 0xa2, 0x8f, 0xfa, 0x16, 0xb6, 0x04, 0xb1, 0x4e, 0x50, + 0xab, 0xc6, 0x0f, 0xa1, 0xaf, 0xee, 0x4d, 0x5c, 0xe2, 0x88, 0xbb, 0xb7, 0x77, 0xf4, 0x7a, 0xe0, + 0x2b, 0x32, 0x56, 0x63, 0xe9, 0x24, 0xeb, 0x6a, 0xa8, 0x81, 0xb9, 0x93, 0x1f, 0x31, 0xd1, 0x59, + 0x55, 0xf3, 0xdb, 0xb4, 0x5a, 0xf1, 0x80, 0x77, 0xaf, 0x4f, 0xdb, 0x77, 0x3c, 0xbf, 0xd5, 0x54, + 0xb2, 0x25, 0xfa, 0xb1, 0xf3, 0x5f, 0x21, 0x7d, 0xd6, 0x22, 0x68, 0x76, 0x78, 0xd1, 0xce, 0xc4, + 0x6d, 0xdf, 0x79, 0x1a, 0x9d, 0x40, 0x4d, 0x5c, 0xba, 0xd1, 0x04, 0x32, 0xee, 0x52, 0x6b, 0x1f, + 0x4f, 0x01, 0xcf, 0x8f, 0xd3, 0x3b, 0x22, 0xc1, 0x9f, 0xdc, 0x21, 0xbd, 0xba, 0xc8, 0x03, 0x0c, + 0x65, 0xee, 0x63, 0xaa, 0x80, 0xba, 0x43, 0xf6, 0xd1, 0x90, 0xc4, 0xfa, 0xe1, 0x72, 0xc8, 0x55, + 0xb3, 0x08, 0xd2, 0x7d, 0xeb, 0x78, 0x14, 0x1f, 0x76, 0xbd, 0xe9, 0xcf, 0xb7, 0x6a, 0xc7, 0xea, + 0xe9, 0x3a, 0xb7, 0xa8, 0x13, 0x75, 0x64, 0x7a, 0x98, 0xad, 0xc0, 0xe2, 0xd5, 0x50, 0xe2, 0xce, + 0x22, 0xfe, 0x7a, 0xc7, 0xc1, 0xf9, 0xef, 0xeb, 0x82, 0xd2, 0x47, 0xc5, 0x21, 0x2a, 0xba, 0x91, + 0xa3, 0x73, 0x3e, 0x4f, 0x22, 0x64, 0x81, 0x7a, 0xc9, 0xde, 0x00, 0x43, 0xe8, 0x13, 0x5c, 0x3a, + 0xd7, 0x2a, 0x90, 0x6f, 0x88, 0x05, 0x37, 0x5b, 0x8f, 0x41, 0x7c, 0xb5, 0xa4, 0x66, 0x5b, 0x13, + 0xb0, 0x66, 0x01, 0x38, 0xc9, 0x10, 0x42, 0x54, 0x65, 0x4d, 0x16, 0x8f, 0xa9, 0xc6, 0xfa, 0x57, + 0xc0, 0x18, 0x26, 0x12, 0x7e, 0x78, 0xa6, 0xa1, 0x81, 0xc9, 0x28, 0xf4, 0x5e, 0xdb, 0x7f, 0xc2, + 0x6e, 0xa9, 0x29, 0x36, 0xf9, 0xee, 0x8f, 0xc5, 0x26, 0x3e, 0xd1, 0x3b, 0xd9, 0x0f, 0x48, 0x88, + 0x28, 0x48, 0xdf, 0xca, 0x85, 0x8a, 0x0a, 0x91, 0x17, 0x7e, 0xac, 0xa5, 0x63, 0x85, 0x8a, 0x31, + 0x2c, 0x47, 0x84, 0x30, 0x7e, 0xcc, 0x3c, 0xde, 0xd0, 0x8a, 0xe3, 0xc5, 0x26, 0x41, 0x52, 0x6e, + 0x9b, 0x5f, 0xb6, 0x87, 0x72, 0x10, 0x8c, 0x48, 0x9f, 0x99, 0x66, 0x6f, 0xd8, 0x3f, 0xd1, 0x09, + 0x60, 0xcb, 0x98, 0x01, 0x6c, 0x82, 0xdd, 0xaf, 0x1d, 0x48, 0x8c, 0xaa, 0x6f, 0x55, 0x89, 0x63, + 0x73, 0x88, 0x92, 0x26, 0x40, 0x86, 0x0d, 0x5c, 0xfc, 0x5b, 0x91, 0xa3, 0x74, 0xff, 0xa8, 0xd7, + 0x6e, 0x3b, 0xc0, 0xcf, 0x6b, 0x57, 0x02, 0x24, 0x49, 0x7f, 0xf0, 0x87, 0x43, 0x01, 0xd3, 0x31, + 0x2b, 0x2a, 0x24, 0x59, 0x7e, 0xd7, 0xdd, 0xb0, 0xe1, 0xd4, 0x9d, 0x51, 0x15, 0x3a, 0x9a, 0xab, + 0xbf, 0x56, 0xc6, 0x56, 0xf9, 0x46, 0x9a, 0xb0, 0x54, 0x8a, 0xad, 0x7d, 0x55, 0xc9, 0x0f, 0x5a, + 0x66, 0x6c, 0x87, 0xf0, 0xd5, 0x8f, 0x45, 0xc3, 0xa9, 0x2e, 0x38, 0x37, 0x12, 0x38, 0x89, 0xbb, + 0x95, 0x33, 0x3a, 0x32, 0xce, 0xcf, 0x8d, 0xcd, 0xc4, 0xbe, 0x85, 0xfe, 0xf5, 0xf9, 0x61, 0xaa, + 0x09, 0xde, 0x9e, 0x82, 0x4e, 0x3a, 0xc2, 0x84, 0x1c, 0x1d, 0x5d, 0x16, 0xb8, 0x3e, 0x69, 0xfe, + 0xfe, 0x51, 0x8d, 0xde, 0x04, 0xb4, 0x21, 0x58, 0xaf, 0x14, 0xb1, 0x26, 0x34, 0x53, 0x2c, 0x48, + 0xf9, 0xd4, 0x6e, 0x2a, 0x02, 0xef, 0x67, 0xf2, 0xc9, 0x54, 0x3b, 0x74, 0x11, 0x9a, 0xdb, 0xb1, + 0x3b, 0x74, 0x94, 0x59, 0x06, 0x0b, 0x78, 0xa3, 0x3c, 0x16, 0x16, 0x3f, 0x96, 0x96, 0xfc, 0xd3, + 0x60, 0x33, 0x8e, 0x36, 0x3d, 0x09, 0x6e, 0x3d, 0xc0, 0x2d, 0x1d, 0xbf, 0x72, 0x92, 0x2b, 0x32, + 0x1e, 0x75, 0x26, 0xf5, 0x59, 0x4d, 0xd6, 0x34, 0xaf, 0x9d, 0x50, 0xc0, 0x55, 0x1c, 0xa3, 0x8b, + 0x9f, 0x14, 0x23, 0xef, 0x57, 0x40, 0x1d, 0xbd, 0x61, 0x64, 0xf8, 0xcd, 0x8f, 0x9f, 0x75, 0x15, + 0xb1, 0x15, 0x4c, 0x65, 0x34, 0x87, 0xb1, 0x31, 0x91, 0x29, 0xe3, 0x12, 0x2d, 0x56, 0xec, 0xc4, + 0xa1, 0x73, 0x76, 0x6c, 0xd2, 0x5b, 0xc1, 0xc3, 0x9c, 0x7c, 0xdf, 0x8f, 0x85, 0xf3, 0x31, 0x01, + 0x8d, 0x02, 0x66, 0x13, 0x3d, 0xed, 0xee, 0x40, 0x3e, 0x24, 0xcb, 0x77, 0x88, 0xe8, 0x85, 0x58, + 0xeb, 0x55, 0xa8, 0xf8, 0x36, 0x07, 0xd4, 0x71, 0xe6, 0x4a, 0xc7, 0xd6, 0xc7, 0xfe, 0xcb, 0xe4, + 0x49, 0x04, 0xe0, 0xf7, 0xef, 0x2c, 0xa6, 0x86, 0x3a, 0xe2, 0xd2, 0xee, 0xf3, 0x5d, 0x75, 0x21, + 0x81, 0x65, 0x8f, 0xad, 0x89, 0x64, 0x59, 0x00, 0x90, 0xd3, 0x5d, 0xc0, 0xc9, 0xb1, 0xba, 0x02, + 0xa2, 0x68, 0xfb, 0xe8, 0x83, 0x0c, 0x05, 0x5b, 0xbb, 0xd9, 0x48, 0xbd, 0x13, 0xb5, 0x99, 0xfe, + 0x4d, 0xb0, 0xd7, 0x5d, 0xe0, 0x54, 0xd4, 0x6c, 0xb3, 0x7b, 0xf9, 0xa7, 0x64, 0xe2, 0xc6, 0x37, + 0xf2, 0x6a, 0x2f, 0x4a, 0x7f, 0x67, 0x35, 0x85, 0x1d, 0xea, 0xaf, 0x10, 0x9d, 0x0e, 0xb9, 0x57, + 0xd6, 0xcf, 0xdf, 0x61, 0xf0, 0xa3, 0xec, 0xea, 0x07, 0x56, 0xf9, 0x94, 0xa0, 0xb7, 0xe1, 0xd6, + 0x83, 0xe9, 0xff, 0x99, 0xa1, 0xb0, 0x7f, 0x2f, 0x07, 0xb2, 0xc6, 0x8e, 0x2d, 0x68, 0x9b, 0xf4, + 0x96, 0x63, 0x14, 0x97, 0xb3, 0x20, 0x27, 0x21, 0xad, 0x45, 0xd8, 0x62, 0xb9, 0x61, 0xff, 0xc2, + 0x88, 0xb1, 0xa8, 0x63, 0xe3, 0x05, 0x6f, 0x42, 0xb6, 0x3b, 0x85, 0xc7, 0x1a, 0xb1, 0x7a, 0xca, + 0xc0, 0xb5, 0x31, 0xfd, 0x9b, 0x44, 0x23, 0x25, 0x1a, 0x22, 0xab, 0x04, 0x10, 0x57, 0x99, 0xbb, + 0xb9, 0xdb, 0x37, 0x8b, 0x03, 0x4d, 0x1d, 0x81, 0xa8, 0x99, 0x98, 0xf7, 0x79, 0x1f, 0xdb, 0x39, + 0xde, 0x13, 0x9b, 0xac, 0x9f, 0xc7, 0x80, 0x17, 0x2b, 0x75, 0x56, 0x77, 0xa2, 0x98, 0x36, 0xf7, + 0x70, 0x05, 0x9d, 0x17, 0x3f, 0x4f, 0x0f, 0x74, 0x9f, 0xd5, 0x44, 0x11, 0xc8, 0xa6, 0x06, 0xb9, + 0x5e, 0x80, 0xe1, 0x03, 0x5d, 0x7e, 0x0e, 0x7f, 0x14, 0xc1, 0x66, 0x2b, 0x47, 0xeb, 0x04, 0x49, + 0x4a, 0x6c, 0x57, 0xcc, 0xe5, 0x11, 0x82, 0x3e, 0xb1, 0x97, 0x9d, 0xcf, 0x7c, 0xa5, 0xff, 0xb0, + 0x19, 0xbe, 0xb4, 0xcd, 0x90, 0x69, 0xc7, 0x7f, 0xd8, 0x11, 0xe8, 0x4b, 0x75, 0x9f, 0x05, 0xce, + 0x71, 0xe6, 0xc7, 0x53, 0x8d, 0x9d, 0x99, 0x84, 0xa4, 0xe9, 0x2b, 0xc6, 0xde, 0xca, 0x52, 0xb9, + 0x2d, 0x9f, 0x5f, 0xf3, 0xa4, 0x05, 0x39, 0xed, 0xe4, 0xe5, 0x0e, 0x34, 0x7d, 0x5f, 0x40, 0x37, + 0x03, 0x0f, 0xd1, 0x67, 0x91, 0x26, 0x6d, 0x7c, 0xad, 0xde, 0xda, 0x87, 0x90, 0x26, 0xd3, 0x15, + 0x67, 0xd3, 0xdc, 0x50, 0x3c, 0xec, 0x0c, 0x80, 0xc6, 0x82, 0x1e, 0x0c, 0xfe, 0x7c, 0xcd, 0x39, + 0x59, 0x36, 0xc0, 0xe1, 0xec, 0x82, 0xae, 0xf5, 0x47, 0x42, 0xf2, 0x89, 0xc0, 0x25, 0x1d, 0x1d, + 0x0f, 0x0e, 0x01, 0x2e, 0x31, 0x91, 0xc7, 0x08, 0x2c, 0x01, 0xeb, 0xa5, 0xda, 0x09, 0x0c, 0x7b, + 0x99, 0xcc, 0xa2, 0x1b, 0x9f, 0x67, 0x18, 0x7e, 0x2e, 0x1c, 0xf6, 0xa3, 0xd8, 0x48, 0x27, 0x27, + 0x8b, 0xc4, 0x5d, 0x15, 0x48, 0x32, 0xef, 0x88, 0xf6, 0x4b, 0x7d, 0x55, 0x9a, 0xf9, 0x5f, 0x76, + 0xa2, 0x5a, 0xce, 0xc5, 0xb3, 0x39, 0x74, 0x2e, 0x5b, 0x6c, 0xe7, 0xdd, 0xf5, 0x9c, 0xd1, 0x85, + 0xe9, 0x85, 0x41, 0x77, 0xd6, 0x5a, 0xc2, 0x69, 0x69, 0x23, 0xa1, 0xbb, 0xfe, 0xa5, 0x24, 0xad, + 0x93, 0x5b, 0x15, 0x8a, 0xd8, 0xfa, 0x9c, 0x53, 0x39, 0x09, 0xd6, 0x0b, 0xed, 0x15, 0x92, 0xb3, + 0x87, 0xac, 0x00, 0x59, 0xb7, 0x3c, 0xd7, 0xee, 0xa0, 0x24, 0xf4, 0x80, 0x4c, 0xf6, 0x03, 0x39, + 0x39, 0xa1, 0x2c, 0xe7, 0x3e, 0xbe, 0x44, 0xf1, 0x2a, 0x1d, 0x66, 0xc9, 0x74, 0x9b, 0x90, 0xbe, + 0x30, 0xfa, 0xd5, 0x44, 0x99, 0xb1, 0x2f, 0xd7, 0x5e, 0xe8, 0x49, 0xb9, 0x7f, 0x84, 0xc4, 0xa2, + 0xeb, 0xc9, 0xb8, 0x97, 0x4c, 0x49, 0x32, 0xa9, 0xb0, 0x07, 0xa2, 0x09, 0xff, 0x2a, 0x0a, 0x54, + 0x79, 0xa4, 0xf3, 0x97, 0x3a, 0x19, 0x17, 0x04, 0xfe, 0xa2, 0xdc, 0x8b, 0x06, 0x21, 0xdf, 0x23, + 0xd2, 0xad, 0x90, 0x3b, 0xc6, 0xa0, 0x36, 0x22, 0x7c, 0x03, 0x40, 0x11, 0x41, 0x6e, 0xc3, 0x16, + 0xd5, 0x97, 0x92, 0x51, 0x81, 0xca, 0xf6, 0x9b, 0x04, 0xc1, 0x25, 0xe7, 0x1c, 0x62, 0x06, 0xaa, + 0x14, 0x2a, 0x06, 0x0c, 0xb5, 0x9a, 0x08, 0x26, 0xae, 0x93, 0x79, 0xb4, 0xed, 0x7e, 0x99, 0x6a, + 0x9c, 0xf1, 0xe7, 0xbe, 0x38, 0xa5, 0xde, 0x81, 0x0b, 0xa8, 0xa7, 0x76, 0xc9, 0x0a, 0xef, 0xff, + 0x5c, 0x1f, 0x73, 0xd5, 0x1c, 0xe7, 0xfe, 0x4b, 0xc7, 0x17, 0x8b, 0x49, 0x7d, 0x9a, 0xb7, 0x7e, + 0x29, 0xfa, 0x26, 0x44, 0xb2, 0x49, 0xf6, 0x90, 0xd6, 0x10, 0xc4, 0x96, 0xad, 0x46, 0x93, 0x8a, + 0x82, 0xc0, 0x3d, 0x9f, 0x28, 0xfa, 0x4c, 0x54, 0xe6, 0xd4, 0x09, 0xc4, 0xd3, 0x1d, 0x83, 0xba, + 0x97, 0x76, 0x9b, 0x02, 0x11, 0x87, 0x12, 0xcc, 0x5c, 0x1a, 0x2c, 0x55, 0x6e, 0xcc, 0xdc, 0x4e, + 0x6d, 0x25, 0x7b, 0xac, 0x9e, 0xa7, 0x32, 0x0c, 0x60, 0x78, 0x49, 0xa4, 0x51, 0xfa, 0x7e, 0xa0, + 0x5b, 0x4e, 0x70, 0xa5, 0x41, 0xf2, 0x40, 0x09, 0x23, 0xa9, 0xbe, 0x7c, 0xd4, 0x93, 0x2f, 0x4e, + 0xbd, 0x6e, 0x37, 0xf7, 0x3a, 0xfd, 0x86, 0x3e, 0x45, 0x84, 0x4b, 0x22, 0xc6, 0xc3, 0x32, 0x21, + 0x1e, 0x80, 0x15, 0x09, 0x36, 0x17, 0xeb, 0x40, 0x74, 0xfe, 0xb6, 0xef, 0xfb, 0x05, 0xf7, 0xf1, + 0x30, 0x9b, 0x7d, 0xbf, 0x61, 0xf1, 0x39, 0x17, 0xee, 0x8d, 0xb7, 0xba, 0x2d, 0x65, 0xe7, 0x5d, + 0x1e, 0xbc, 0x19, 0x2f, 0x48, 0x9b, 0xa2, 0xc6, 0x2d, 0x2d, 0x34, 0x8c, 0xde, 0xc6, 0x62, 0x78, + 0x7d, 0x32, 0xcb, 0xa2, 0x7f, 0xe3, 0x6e, 0x81, 0xb7, 0xde, 0x4c, 0x21, 0xde, 0xd0, 0x13, 0xba, + 0xc4, 0x6f, 0xaa, 0xb3, 0xee, 0xcf, 0xcc, 0x26, 0x69, 0x18, 0xe9, 0x7c, 0x8f, 0xa6, 0xd6, 0x81, + 0xbb, 0xb3, 0xd4, 0x32, 0xa4, 0x87, 0x7c, 0x17, 0x11, 0x03, 0xd7, 0xe5, 0x72, 0xdd, 0x0c, 0x17, + 0x37, 0xb5, 0xac, 0x5f, 0xd4, 0xbb, 0x88, 0x4c, 0xd0, 0x21, 0xc7, 0x0a, 0xb3, 0xf8, 0x8e, 0x2e, + 0xbe, 0x58, 0xe9, 0x1e, 0xb4, 0xb9, 0x1f, 0x03, 0x46, 0x77, 0x7e, 0xf0, 0x41, 0xec, 0xad, 0x04, + 0x68, 0x67, 0x4f, 0x64, 0x34, 0xc7, 0xd4, 0xa7, 0x80, 0xd1, 0x9a, 0xc0, 0x47, 0x53, 0xb0, 0x05, + 0x06, 0x19, 0x1c, 0xcf, 0xc0, 0xc9, 0x4d, 0xfb, 0x71, 0xb8, 0xe3, 0xfb, 0x1d, 0x3d, 0x4c, 0xdb, + 0x46, 0xdf, 0xb2, 0xa6, 0xdf, 0x80, 0x24, 0x91, 0x75, 0x77, 0x92, 0x90, 0xff, 0xc0, 0x5f, 0xa5, + 0xd1, 0x34, 0x84, 0xda, 0xd7, 0xfb, 0x55, 0x6f, 0x5d, 0xa0, 0xd9, 0xfa, 0x6a, 0x36, 0x54, 0xeb, + 0x56, 0x88, 0x04, 0x49, 0x6c, 0x1e, 0x58, 0x42, 0x1f, 0xa1, 0x4e, 0xaf, 0x12, 0x6f, 0x8d, 0x4b, + 0x19, 0x73, 0x09, 0xee, 0xde, 0xbf, 0xa7, 0xef, 0x1b, 0x3a, 0xfd, 0x83, 0xe1, 0x15, 0x1f, 0xa1, + 0x67, 0x51, 0x38, 0xd8, 0x46, 0x3a, 0xb1, 0xce, 0xc1, 0xc8, 0x70, 0x24, 0x2f, 0x3e, 0x89, 0x81, + 0xb0, 0x5a, 0xc0, 0x94, 0x15, 0xc6, 0xe4, 0x84, 0x2f, 0x2d, 0x36, 0x55, 0x1d, 0xf5, 0x2e, 0x14, + 0xb7, 0xfd, 0x9c, 0x78, 0xbc, 0x45, 0x68, 0x71, 0x41, 0xb4, 0x50, 0x37, 0xf2, 0x45, 0xf1, 0xb3, + 0xcb, 0xe8, 0x46, 0x85, 0xfa, 0xdd, 0x49, 0xc4, 0x3a, 0x41, 0x7b, 0xd3, 0x91, 0x65, 0x3a, 0x55, + 0x25, 0xe1, 0x06, 0x69, 0x27, 0x8f, 0xed, 0x74, 0xb0, 0x10, 0xa0, 0xbb, 0x90, 0x5a, 0xca, 0x12, + 0x3f, 0xd3, 0xba, 0x80, 0xeb, 0x31, 0x6f, 0x77, 0x8d, 0x36, 0x3a, 0x7a, 0x31, 0x8a, 0xf8, 0x46, + 0x66, 0xdc, 0xeb, 0x43, 0xba, 0x28, 0x8b, 0x74, 0x6d, 0x00, 0x97, 0x6d, 0xe6, 0x7c, 0xdc, 0x25, + 0x4b, 0xcf, 0xc6, 0xec, 0x86, 0x59, 0xb0, 0x75, 0x51, 0x32, 0x54, 0x19, 0xb4, 0xd4, 0x65, 0x6c, + 0xb6, 0x72, 0x0e, 0xae, 0x84, 0x27, 0xb8, 0x5d, 0xf1, 0x58, 0x25, 0xce, 0xab, 0x52, 0xaf, 0x89, + 0x89, 0xb7, 0xf6, 0xc2, 0xb0, 0x0c, 0x4d, 0xba, 0xc3, 0x24, 0x32, 0xae, 0xd2, 0x40, 0xe0, 0x55, + 0x03, 0x20, 0x47, 0x0c, 0xca, 0x15, 0x65, 0xfc, 0xaa, 0x9b, 0xc5, 0xc1, 0x7f, 0x5b, 0x9b, 0x45, + 0xbd, 0x25, 0x97, 0x40, 0x07, 0xdc, 0xc8, 0xb6, 0x79, 0xf1, 0x45, 0x8f, 0xc6, 0x75, 0xff, 0xc0, + 0xdb, 0xc3, 0x78, 0xce, 0xfc, 0x2b, 0xf0, 0xdd, 0x90, 0x27, 0x4c, 0xc7, 0xfb, 0x2b, 0xd0, 0xa9, + 0x65, 0x8b, 0x1f, 0x9f, 0x7b, 0x65, 0x4e, 0x1d, 0x70, 0x48, 0x6e, 0x09, 0xc5, 0xb6, 0xf8, 0x65, + 0x3e, 0x0c, 0xe3, 0x4a, 0xb1, 0x17, 0x19, 0xcb, 0xc3, 0x67, 0xa7, 0xc9, 0xa2, 0x6d, 0xef, 0x1d, + 0xc9, 0xa7, 0x92, 0x6b, 0xbe, 0x28, 0x46, 0x99, 0x2a, 0xd6, 0x2e, 0x0c, 0xd6, 0xba, 0x79, 0x56, + 0x85, 0xef, 0xef, 0xc5, 0xd5, 0x70, 0xba, 0xdf, 0xfc, 0x96, 0x95, 0xf1, 0x80, 0x28, 0xf4, 0x70, + 0x2b, 0x3b, 0x96, 0x8b, 0x13, 0x0b, 0xd4, 0x09, 0x28, 0x85, 0x4a, 0x5d, 0x90, 0xd2, 0xaf, 0xe4, + 0xe2, 0xdc, 0xeb, 0x84, 0x8e, 0x60, 0x6a, 0xe6, 0x25, 0x61, 0x98, 0x0c, 0x89, 0xb5, 0xe3, 0x59, + 0xd3, 0x6d, 0xc2, 0x87, 0xcc, 0x39, 0xcf, 0xa3, 0x6c, 0x84, 0xb7, 0x01, 0x55, 0xd8, 0x6a, 0x8e, + 0x94, 0x41, 0x8a, 0xc7, 0x24, 0x79, 0xd2, 0xbe, 0x0a, 0x1e, 0x7d, 0xc9, 0xb7, 0x14, 0x13, 0x9c, + 0xd3, 0xc2, 0x65, 0xa4, 0x6b, 0xf4, 0x83, 0x71, 0x05, 0x86, 0xe3, 0x0a, 0x5b, 0xa5, 0xa7, 0x77, + 0x16, 0xc5, 0x3d, 0xec, 0xa8, 0x5d, 0x59, 0x7c, 0xc4, 0x64, 0xaf, 0xa2, 0x84, 0x14, 0xa9, 0x12, + 0xf0, 0x02, 0x2a, 0x62, 0x1a, 0x44, 0x49, 0xbf, 0x9a, 0xf4, 0xfe, 0xb3, 0x27, 0xc5, 0x4e, 0x17, + 0x65, 0xe5, 0x42, 0x71, 0x9c, 0x29, 0x98, 0x63, 0x3e, 0xb3, 0x42, 0x7a, 0x7e, 0xf3, 0xd5, 0x18, + 0x0e, 0x96, 0x57, 0x5d, 0x39, 0x4f, 0x68, 0xe7, 0xe2, 0xfe, 0x19, 0xb3, 0x79, 0x3b, 0xd3, 0x57, + 0xf1, 0xa6, 0x6b, 0xbd, 0x7a, 0xe4, 0xde, 0xc7, 0x95, 0x13, 0xac, 0xa3, 0x4f, 0x29, 0x32, 0x48, + 0xbe, 0x0f, 0x23, 0x68, 0x53, 0xdf, 0x00, 0x3d, 0x4c, 0x88, 0x1a, 0xf1, 0x8b, 0xec, 0x6c, 0xc2, + 0x7a, 0xb5, 0xda, 0x33, 0xfd, 0x32, 0x45, 0x70, 0xfd, 0xc2, 0x10, 0x20, 0x1e, 0x1e, 0x8f, 0x8c, + 0x9a, 0x50, 0x33, 0xdc, 0x7e, 0x39, 0x60, 0x21, 0x4a, 0x75, 0x3d, 0x57, 0xb7, 0x58, 0x96, 0xb4, + 0xba, 0x01, 0x83, 0xb2, 0xa5, 0xa6, 0xb7, 0x95, 0xb7, 0xbb, 0xbe, 0xa6, 0x4a, 0x48, 0x1a, 0xc7, + 0x4c, 0x56, 0x95, 0x13, 0x22, 0x5a, 0xa9, 0x15, 0x9a, 0xd2, 0xad, 0x57, 0x46, 0xd6, 0x6a, 0x5d, + 0x44, 0x77, 0x58, 0xa1, 0x20, 0xf5, 0x5b, 0x3d, 0x05, 0xa6, 0xef, 0x58, 0xb5, 0x4d, 0x9c, 0x5e, + 0x00, 0x52, 0x8e, 0x95, 0xea, 0xf6, 0xb7, 0x52, 0xce, 0xfc, 0xca, 0xfc, 0x14, 0x26, 0x30, 0xcf, + 0x2d, 0x37, 0x23, 0x7a, 0x10, 0x06, 0x98, 0x4e, 0x24, 0x1c, 0xa0, 0x53, 0xfb, 0xd2, 0x87, 0x85, + 0x00, 0xe7, 0x10, 0x61, 0x85, 0x7b, 0x8e, 0x05, 0xfb, 0x11, 0xf0, 0xb5, 0xb3, 0xb5, 0xa0, 0x98, + 0x07, 0x90, 0xc0, 0xe8, 0x70, 0x2d, 0xa0, 0xe8, 0xf4, 0x50, 0x3a, 0xb7, 0x9d, 0x1d, 0x29, 0xed, + 0x4e, 0x13, 0xe1, 0x0b, 0xd5, 0xcc, 0x9c, 0x84, 0x46, 0xb4, 0x30, 0x5b, 0xd4, 0x8f, 0x6c, 0x5c, + 0x36, 0xaa, 0x86, 0x69, 0xc6, 0x77, 0x07, 0x6e, 0x24, 0xe5, 0xa4, 0x40, 0x5e, 0x14, 0x5c, 0xab, + 0xd2, 0xb7, 0x83, 0xce, 0x71, 0x32, 0xbb, 0xa7, 0x6f, 0x6f, 0x53, 0xd4, 0x15, 0x34, 0xb8, 0x79, + 0xa3, 0xeb, 0xf1, 0x69, 0x56, 0x4a, 0xd1, 0x88, 0x98, 0x8f, 0x9c, 0x7a, 0x89, 0xc6, 0x5d, 0xb9, + 0xad, 0xd6, 0x3c, 0x01, 0xa5, 0xc9, 0xf6, 0x80, 0xd7, 0xfc, 0x90, 0xfb, 0x3d, 0x88, 0x5f, 0x51, + 0xa8, 0x5f, 0x4c, 0x79, 0x7f, 0x60, 0x52, 0xbd, 0x94, 0xaf, 0xd0, 0xc9, 0xb5, 0x4a, 0x45, 0x23, + 0xe6, 0x5b, 0x97, 0x4f, 0x50, 0x42, 0xc6, 0xe0, 0x4c, 0x28, 0x19, 0x0d, 0x7c, 0x6d, 0xa9, 0x8c, + 0xa4, 0x96, 0x0f, 0x8d, 0x60, 0xdb, 0x0d, 0x83, 0x99, 0x5c, 0xff, 0x53, 0xcd, 0xb8, 0x0f, 0x78, + 0x1b, 0x40, 0x1a, 0xf9, 0x1d, 0xdc, 0x75, 0x9c, 0x4d, 0x54, 0x6e, 0xb4, 0xb9, 0xf6, 0x24, 0xab, + 0xdb, 0xcf, 0xbd, 0x08, 0x2c, 0x6e, 0x4a, 0x9a, 0x67, 0x2d, 0xba, 0x91, 0x12, 0xb8, 0x89, 0x59, + 0x60, 0xdc, 0x59, 0x64, 0x52, 0x40, 0xf4, 0x6e, 0xb3, 0x98, 0xc5, 0x31, 0x38, 0x66, 0x72, 0x06, + 0x52, 0xab, 0x24, 0xf6, 0x71, 0xe4, 0x44, 0x7a, 0x87, 0x0b, 0x74, 0xdf, 0xbc, 0xbe, 0x0f, 0x86, + 0x9f, 0x5f, 0xc8, 0x01, 0x70, 0x6d, 0xb3, 0xa3, 0xbe, 0xf1, 0xa1, 0xc7, 0x9c, 0x9d, 0x0e, 0x0c, + 0x05, 0xa8, 0x51, 0x86, 0xd5, 0x00, 0x75, 0xe0, 0x93, 0x92, 0xe9, 0x07, 0xf7, 0x15, 0x08, 0xb0, + 0x0f, 0xc3, 0x52, 0xc3, 0x3c, 0xa4, 0xa3, 0xe7, 0xe1, 0x4d, 0xc8, 0x46, 0xc8, 0x9b, 0x06, 0xe8, + 0x06, 0x72, 0xf7, 0x2f, 0x08, 0x65, 0xa8, 0x86, 0xb7, 0x3e, 0x48, 0xe9, 0x6a, 0x71, 0x77, 0x59, + 0xb9, 0xc2, 0xdf, 0x7f, 0x97, 0xc9, 0x62, 0x7f, 0x16, 0x6d, 0x2a, 0xee, 0xeb, 0xf7, 0x50, 0x01, + 0xbf, 0xd0, 0xa9, 0x94, 0x7a, 0x7f, 0x8e, 0x37, 0xee, 0xdf, 0xda, 0x46, 0x3c, 0x5a, 0x2c, 0x59, + 0x36, 0xee, 0xe3, 0x63, 0xb9, 0x1b, 0xd9, 0x85, 0x2b, 0x3e, 0x72, 0x55, 0xaf, 0x6b, 0xc4, 0x9c, + 0xf3, 0xab, 0x7e, 0xfd, 0xe8, 0x1c, 0xa6, 0xee, 0x2e, 0x42, 0xe6, 0x00, 0xf5, 0xd5, 0xfe, 0x51, + 0xc1, 0x5c, 0x41, 0xae, 0x1c, 0x88, 0xa6, 0x6b, 0xef, 0x37, 0xc4, 0xd2, 0xc7, 0x52, 0x28, 0x0f, + 0x0f, 0x1e, 0xe4, 0x64, 0x46, 0xd7, 0x04, 0x04, 0xd6, 0xcc, 0xee, 0x97, 0x38, 0xf0, 0x60, 0x98, + 0x3e, 0x5f, 0x83, 0x66, 0xb9, 0x5a, 0x4a, 0xad, 0x6b, 0x24, 0x58, 0x22, 0xdb, 0x7c, 0xb4, 0x10, + 0x7d, 0x41, 0x6a, 0x5c, 0x95, 0xba, 0x27, 0x93, 0xbb, 0x83, 0x44, 0xfe, 0xac, 0xa9, 0x09, 0x71, + 0x6b, 0xb3, 0x3b, 0xca, 0x08, 0x62, 0x75, 0x19, 0xdf, 0x7a, 0x32, 0xf8, 0x1c, 0x54, 0xb4, 0x1d, + 0x64, 0xb0, 0x4a, 0x2d, 0x18, 0xd0, 0x3c, 0xa5, 0xfe, 0xaa, 0xe4, 0x0a, 0x42, 0x2a, 0x3c, 0x5e, + 0xc8, 0x04, 0x83, 0x70, 0x63, 0x0d, 0xbe, 0x43, 0x50, 0xd9, 0x3d, 0xc8, 0x0f, 0x91, 0x23, 0x5f, + 0xfc, 0x24, 0x37, 0x84, 0x3c, 0x0c, 0x23, 0x11, 0x43, 0x0b, 0x2e, 0x2b, 0xe6, 0xfb, 0xb2, 0x40, + 0xd8, 0x33, 0x6d, 0x8d, 0xbb, 0x6c, 0x0e, 0x02, 0xc1, 0x5d, 0x85, 0xca, 0x4c, 0x25, 0xbb, 0x30, + 0x03, 0x26, 0xd1, 0x99, 0x29, 0xa2, 0x14, 0xf4, 0xa3, 0x26, 0xf7, 0xa3, 0x04, 0x98, 0xea, 0xb0, + 0xdd, 0x3a, 0x14, 0xa7, 0x88, 0x43, 0xc6, 0x24, 0xf6, 0x2a, 0x46, 0x3b, 0x35, 0x1d, 0x55, 0x4c, + 0xac, 0x5a, 0x87, 0x31, 0xb4, 0x89, 0x95, 0x1a, 0xb7, 0x33, 0xb6, 0x53, 0xfe, 0x54, 0x06, 0x6d, + 0xf7, 0xc9, 0xba, 0x0a, 0x10, 0xf3, 0xb1, 0x7b, 0x71, 0x3d, 0xe2, 0xaf, 0x52, 0x25, 0x23, 0xd2, + 0xb1, 0x0b, 0x13, 0xfb, 0x6a, 0x9c, 0x8c, 0x0c, 0x58, 0x92, 0xed, 0x02, 0xa2, 0x9a, 0x80, 0x75, + 0xd2, 0x65, 0xb4, 0xc4, 0x12, 0x4a, 0x76, 0x92, 0xf3, 0xd4, 0xaf, 0xcf, 0x20, 0x99, 0xd2, 0xcc, + 0xab, 0x70, 0x49, 0xfe, 0x79, 0x7e, 0x7d, 0xa8, 0xce, 0x6f, 0x47, 0x48, 0x5e, 0xef, 0x3a, 0xff, + 0xe1, 0x6a, 0xc4, 0xa6, 0x25, 0x39, 0x61, 0x75, 0xf4, 0xac, 0x7a, 0x57, 0x1d, 0x07, 0x2c, 0xd0, + 0xdb, 0x70, 0xb9, 0x5b, 0xbe, 0x70, 0xca, 0x71, 0x73, 0x2d, 0x05, 0x07, 0xa9, 0x0d, 0x81, 0x49, + 0x73, 0x4b, 0xbb, 0xc4, 0x2a, 0x73, 0x9b, 0xd9, 0x18, 0xaf, 0x31, 0x87, 0x98, 0xfa, 0x57, 0xa7, + 0x28, 0x16, 0x25, 0xfa, 0x68, 0xf8, 0xaa, 0xc9, 0x3b, 0xe9, 0x36, 0xb3, 0xb5, 0xa5, 0x72, 0x43, + 0x01, 0xd7, 0x4b, 0x66, 0x07, 0x36, 0x30, 0xd3, 0x01, 0xec, 0x89, 0xc0, 0x0c, 0x24, 0x93, 0xe4, + 0xf9, 0xe7, 0xcd, 0xc4, 0x22, 0x29, 0xb9, 0x5b, 0xed, 0x67, 0xd8, 0xbe, 0x69, 0xa9, 0x1c, 0xba, + 0xcd, 0xf9, 0x4f, 0xf7, 0xc6, 0xbd, 0xb1, 0xf3, 0xd7, 0xcc, 0x2e, 0xbd, 0x04, 0xbb, 0x67, 0xaa, + 0xd0, 0x64, 0xd7, 0x0f, 0x81, 0x1d, 0x4c, 0xe5, 0x9d, 0xd3, 0x54, 0x0f, 0xc3, 0x53, 0x15, 0xaf, + 0x18, 0xeb, 0x5a, 0xbd, 0x07, 0x54, 0x1c, 0x89, 0xd7, 0x3a, 0x36, 0xb4, 0x88, 0x37, 0xb2, 0x31, + 0x8e, 0xd1, 0xd0, 0x42, 0xa1, 0x46, 0xed, 0x38, 0x63, 0x93, 0xed, 0xe8, 0x5d, 0x80, 0x1c, 0x64, + 0x39, 0x2d, 0x95, 0xce, 0xfc, 0x74, 0xd9, 0x5c, 0xc2, 0x6d, 0xfd, 0x69, 0x58, 0xca, 0x09, 0x27, + 0xea, 0x1d, 0x2c, 0x5f, 0xa9, 0x03, 0xb2, 0x4b, 0xb3, 0xea, 0x06, 0x75, 0xa5, 0x78, 0x01, 0x24, + 0x35, 0xa1, 0x7c, 0xb2, 0x4b, 0x09, 0x02, 0x36, 0xfc, 0x92, 0x2e, 0x17, 0x10, 0x38, 0x49, 0xe6, + 0xa5, 0x08, 0x67, 0x06, 0xa3, 0x89, 0x85, 0xcf, 0x01, 0x8b, 0x7b, 0x92, 0x18, 0xe5, 0xab, 0x6d, + 0x46, 0xdd, 0x74, 0x3a, 0xae, 0xb0, 0x26, 0x78, 0x4e, 0xd9, 0x59, 0x32, 0x00, 0xb5, 0x7e, 0xc0, + 0x79, 0xb2, 0xc1, 0x25, 0xd8, 0x24, 0x8a, 0x48, 0x45, 0xc4, 0x97, 0xff, 0xad, 0x99, 0x45, 0x65, + 0xb9, 0xed, 0x5d, 0x38, 0x97, 0xe1, 0x46, 0x6d, 0x3f, 0x95, 0x42, 0x59, 0x12, 0x45, 0x1e, 0x2b, + 0xd3, 0x61, 0xc4, 0x34, 0x5b, 0x16, 0xa3, 0x66, 0x13, 0x53, 0x2a, 0x2e, 0xac, 0xc6, 0xbc, 0x41, + 0xeb, 0xaa, 0xb1, 0xfd, 0xba, 0x5d, 0xde, 0x05, 0x5c, 0xf4, 0x09, 0x51, 0x96, 0x1d, 0x57, 0x11, + 0x49, 0x93, 0x30, 0xdb, 0x85, 0x62, 0xd2, 0x55, 0x95, 0xe5, 0x1b, 0x07, 0x80, 0x28, 0xf7, 0x21, + 0x3b, 0x09, 0xdb, 0xaf, 0x23, 0x55, 0xb8, 0x20, 0x7b, 0x27, 0x05, 0x7c, 0xd2, 0x38, 0x4d, 0x29, + 0x7d, 0xb2, 0xa4, 0xe0, 0x7e, 0xf9, 0xfb, 0x26, 0x7c, 0x26, 0x4b, 0xc8, 0x9a, 0x41, 0x35, 0xdc, + 0x9c, 0x23, 0x93, 0xe6, 0x8d, 0xb1, 0x8a, 0x4f, 0xf6, 0x2e, 0x84, 0x73, 0x88, 0xcb, 0xc8, 0xa9, + 0x66, 0xe6, 0x0d, 0xe9, 0x8b, 0x4e, 0xa1, 0x26, 0xe8, 0x59, 0x26, 0x92, 0x7b, 0x67, 0xa2, 0x64, + 0x47, 0xf6, 0xf8, 0xce, 0xb5, 0x3f, 0xe0, 0xbb, 0xfc, 0xc2, 0xe6, 0xb4, 0xa9, 0x10, 0x47, 0x49, + 0x0f, 0xac, 0x04, 0x66, 0xff, 0x79, 0x45, 0xcb, 0x1a, 0xd6, 0x45, 0xd1, 0x7f, 0xaf, 0xd1, 0xa7, + 0x1e, 0x17, 0xa0, 0x90, 0x68, 0x17, 0x88, 0x9c, 0x9f, 0x6a, 0xd5, 0xd3, 0xb6, 0x7c, 0xff, 0x3e, + 0xdd, 0x9c, 0xb2, 0xa2, 0x38, 0x10, 0xe8, 0xf9, 0xe7, 0xcc, 0x70, 0x97, 0xe4, 0xa2, 0xc9, 0x7f, + 0x60, 0xf6, 0xcb, 0x17, 0x4d, 0x0b, 0x79, 0x44, 0x0e, 0x21, 0x8e, 0xba, 0x21, 0xaa, 0x74, 0x03, + 0xaa, 0x48, 0xad, 0x0c, 0x0c, 0xb6, 0x26, 0xe3, 0xa8, 0xe7, 0x1d, 0xe7, 0x26, 0xe1, 0x29, 0x85, + 0x1e, 0x4c, 0x00, 0xe7, 0xcd, 0x74, 0x28, 0x73, 0x01, 0xe4, 0x6a, 0xb0, 0x8d, 0x9c, 0x88, 0x61, + 0x2f, 0xa4, 0xe4, 0xb9, 0xbb, 0xd3, 0x08, 0x58, 0x07, 0x6f, 0xe6, 0xc5, 0x37, 0xe5, 0xcf, 0xa9, + 0xbe, 0x00, 0x47, 0xc7, 0x59, 0x80, 0x84, 0x55, 0xf6, 0x66, 0x57, 0x85, 0x63, 0xb9, 0xc0, 0x12, + 0x51, 0x45, 0xc1, 0x21, 0xba, 0x06, 0x87, 0x06, 0x07, 0x50, 0x22, 0xcd, 0xa5, 0x54, 0x16, 0x6b, + 0xd4, 0xe2, 0x19, 0x58, 0x6f, 0xb5, 0x89, 0x35, 0x81, 0xbb, 0x34, 0xbc, 0xd9, 0xfd, 0x90, 0x5c, + 0x38, 0xf3, 0xd9, 0xf6, 0xaa, 0x88, 0x6e, 0x7a, 0x93, 0x2a, 0x9e, 0x86, 0x08, 0x30, 0x45, 0x88, + 0xce, 0xed, 0x6d, 0x05, 0x66, 0xe9, 0xd5, 0x23, 0x05, 0x1f, 0x24, 0xc2, 0xd1, 0x40, 0x80, 0xe4, + 0xf4, 0xef, 0x77, 0xf1, 0xa2, 0xf6, 0x01, 0x5a, 0x76, 0x34, 0x15, 0x43, 0x82, 0x52, 0xd4, 0x03, + 0x1e, 0xd8, 0x3c, 0x01, 0xc6, 0x5c, 0xda, 0xc6, 0x99, 0xa1, 0x4c, 0x7d, 0xbc, 0x5f, 0x8a, 0xb9, + 0xf4, 0xec, 0x50, 0x11, 0x21, 0xb1, 0x26, 0xca, 0xa8, 0x14, 0x81, 0x45, 0xcd, 0x43, 0x4a, 0xb7, + 0x76, 0x8d, 0x75, 0x93, 0x6e, 0x7e, 0x2c, 0x2c, 0x8a, 0x23, 0xb3, 0x95, 0xa3, 0xd2, 0x7b, 0xa8, + 0x6e, 0xa0, 0xb4, 0x90, 0x74, 0xed, 0x01, 0x3f, 0xbc, 0x24, 0x22, 0x0b, 0x15, 0x32, 0x69, 0xbf, + 0xf9, 0xfc, 0xfa, 0xc7, 0xe0, 0x80, 0x61, 0x06, 0x8a, 0x61, 0xb6, 0xb6, 0xa3, 0x44, 0x87, 0x0d, + 0xf7, 0x31, 0xf8, 0x7c, 0xba, 0x0b, 0xa7, 0xd8, 0x5c, 0xb5, 0x5b, 0x8e, 0x39, 0x1f, 0xfa, 0xe3, + 0x16, 0x91, 0x95, 0x88, 0x5f, 0x4f, 0xfc, 0x91, 0x2d, 0x86, 0xf3, 0xc9, 0xe7, 0xc0, 0xd6, 0xf1, + 0x8e, 0x31, 0xf1, 0x81, 0xbf, 0xd7, 0xc2, 0x73, 0xd1, 0x0e, 0x39, 0xe3, 0x54, 0x3b, 0x9e, 0xe9, + 0x26, 0xec, 0x26, 0xf9, 0x6f, 0xcc, 0xcd, 0x84, 0x11, 0x3b, 0x0f, 0x4d, 0xc7, 0x0d, 0xb2, 0x42, + 0xbb, 0x89, 0x9a, 0xaa, 0xec, 0x81, 0x81, 0x81, 0x58, 0xba, 0x46, 0x29, 0x52, 0xe1, 0x2e, 0x54, + 0xfb, 0x78, 0x2e, 0xf7, 0x02, 0x85, 0x80, 0x0c, 0x0d, 0x9a, 0x8a, 0xce, 0x17, 0x17, 0x86, 0x55, + 0x92, 0x54, 0x44, 0xba, 0x43, 0xa4, 0x14, 0x27, 0x1d, 0xb6, 0x6e, 0xcf, 0xbc, 0x65, 0x78, 0x3e, + 0x7a, 0xbc, 0xbe, 0xbb, 0x2c, 0x58, 0x9c, 0x25, 0x28, 0x02, 0xc8, 0x09, 0xe3, 0x24, 0x06, 0x52, + 0x28, 0x32, 0x52, 0xd8, 0x0b, 0xb0, 0x4e, 0xf0, 0x7c, 0xcb, 0xcc, 0xab, 0xcd, 0xed, 0x40, 0xa6, + 0xcb, 0x01, 0xb8, 0xc8, 0xdb, 0x29, 0xf3, 0x5d, 0xe9, 0x96, 0x15, 0x9f, 0xb0, 0xb6, 0x1e, 0x30, + 0x4b, 0xb8, 0xb3, 0x76, 0xc8, 0xd8, 0x40, 0xb8, 0xc2, 0x38, 0xc1, 0x22, 0x72, 0xa2, 0xc2, 0xdf, + 0xcb, 0xca, 0xef, 0xab, 0x04, 0xaf, 0x11, 0x46, 0xa3, 0x92, 0x0b, 0xa9, 0x58, 0x2d, 0x03, 0x17, + 0xed, 0x19, 0x84, 0xea, 0xd1, 0x0b, 0x49, 0x9f, 0x06, 0x3f, 0x8d, 0x04, 0x0d, 0x2e, 0xf6, 0x0d, + 0xf1, 0x67, 0xd5, 0x23, 0x0f, 0xf5, 0x51, 0xcb, 0x53, 0xc8, 0x77, 0xc9, 0x83, 0xd3, 0x68, 0x9b, + 0x72, 0x97, 0x28, 0xfe, 0x75, 0x15, 0x48, 0x06, 0xad, 0xe8, 0x5c, 0xd9, 0x31, 0x5a, 0x52, 0x0a, + 0x3e, 0x95, 0xa8, 0xeb, 0x50, 0x20, 0xa7, 0x28, 0x1e, 0xaa, 0xd0, 0xb9, 0x71, 0x32, 0xbc, 0xeb, + 0xb0, 0x25, 0x1f, 0x96, 0x19, 0xfc, 0xc2, 0x3a, 0x73, 0x83, 0x82, 0x6f, 0xff, 0xd7, 0x3d, 0xa5, + 0xbb, 0x2e, 0x6d, 0x1f, 0x6e, 0xf2, 0xbb, 0xd3, 0xa3, 0x42, 0x7c, 0x24, 0xb1, 0x8b, 0x5b, 0x8d, + 0xf6, 0x35, 0x95, 0x00, 0x08, 0xb2, 0x51, 0x05, 0x65, 0x23, 0xd6, 0xeb, 0x69, 0xba, 0x66, 0x13, + 0x9c, 0x05, 0xdc, 0xa1, 0xca, 0xce, 0x04, 0x96, 0x5e, 0xa8, 0xb2, 0x45, 0x35, 0x9b, 0xfb, 0x44, + 0xe0, 0x8c, 0xcc, 0x4b, 0x69, 0xe7, 0x26, 0x8b, 0xcb, 0x11, 0x17, 0x1f, 0x2a, 0x25, 0xaa, 0xcd, + 0x33, 0x24, 0xb0, 0xa6, 0x35, 0x3a, 0x69, 0x75, 0x09, 0xf1, 0xcd, 0x03, 0x2b, 0x2f, 0x60, 0x59, + 0xe3, 0x78, 0x20, 0xb1, 0xcb, 0x4a, 0x67, 0x9a, 0x47, 0xd9, 0x97, 0x7d, 0xc9, 0xac, 0x61, 0x07, + 0x70, 0xfd, 0x8e, 0xc0, 0x42, 0x95, 0x07, 0xe4, 0xef, 0x8b, 0xb4, 0xc0, 0x15, 0x55, 0x17, 0x5a, + 0x11, 0x39, 0x60, 0x2d, 0x2e, 0x91, 0xfe, 0x86, 0xdf, 0xa5, 0xb9, 0x55, 0x27, 0x2d, 0x3e, 0x62, + 0xb5, 0x86, 0xfd, 0x95, 0xbe, 0x6d, 0xe5, 0x9a, 0x55, 0x13, 0xbb, 0x9a, 0xf6, 0xc3, 0x65, 0x00, + 0xbb, 0x2e, 0x39, 0x3c, 0x35, 0x22, 0xc9, 0x9e, 0xf3, 0x4e, 0x9e, 0x96, 0x5b, 0x81, 0xb1, 0x94, + 0xfc, 0x29, 0x34, 0x7f, 0xf5, 0xdf, 0x0a, 0xc9, 0x7f, 0x01, 0x69, 0x72, 0x27, 0xf9, 0xef, 0x84, + 0xd5, 0x5a, 0x10, 0x83, 0x72, 0x6d, 0x1e, 0xc9, 0x96, 0x66, 0x62, 0x9e, 0x2c, 0xec, 0xd9, 0xa2, + 0x13, 0x9a, 0xdc, 0xab, 0xea, 0x4f, 0x50, 0x2e, 0xd9, 0x62, 0x89, 0x27, 0x98, 0xc8, 0xa7, 0x30, + 0x98, 0x58, 0x89, 0x82, 0x3c, 0x78, 0x79, 0xd4, 0xbb, 0x02, 0x0c, 0xc4, 0x0f, 0xcf, 0xc7, 0xb4, + 0x79, 0x18, 0x32, 0xda, 0xb0, 0x4c, 0xb4, 0x29, 0xf8, 0x32, 0xb1, 0xe8, 0x5d, 0x9a, 0x78, 0xaf, + 0xfa, 0xf3, 0x89, 0x97, 0x33, 0x93, 0xec, 0xae, 0x58, 0x65, 0xe9, 0xe9, 0xc1, 0x29, 0xfe, 0xff, + 0xec, 0xb0, 0xca, 0x54, 0x9a, 0xc5, 0x66, 0xad, 0x8a, 0xf1, 0x26, 0x18, 0x87, 0x42, 0x49, 0xbe, + 0x45, 0x3e, 0x3a, 0x2d, 0x08, 0x35, 0xb0, 0x19, 0x15, 0x59, 0x52, 0x23, 0xfb, 0x9f, 0x0b, 0x8a, + 0x61, 0x3c, 0x6e, 0x49, 0xe3, 0x19, 0x05, 0x2e, 0xbe, 0x15, 0x4f, 0xf9, 0xea, 0x79, 0x5c, 0x85, + 0x72, 0x12, 0x3f, 0xc7, 0xe5, 0x70, 0x10, 0x53, 0xef, 0xe3, 0xf1, 0x85, 0xa3, 0x55, 0x1c, 0x0b, + 0xb0, 0x4a, 0x72, 0x0c, 0x6c, 0x65, 0x85, 0x99, 0x9e, 0x75, 0x7f, 0xca, 0x85, 0x1d, 0x32, 0xad, + 0x95, 0xee, 0x7b, 0x5d, 0x23, 0x2e, 0x71, 0x4e, 0x5d, 0xf6, 0xb0, 0x7e, 0x70, 0xf0, 0x1e, 0xee, + 0x27, 0x94, 0xe9, 0x85, 0x85, 0xcd, 0x33, 0x55, 0xca, 0x31, 0xc5, 0x06, 0xcf, 0xf1, 0x97, 0x94, + 0xe5, 0x87, 0xbd, 0x22, 0x02, 0xce, 0xc2, 0xdf, 0x2e, 0xb4, 0x2d, 0x60, 0x78, 0xfe, 0xd9, 0x7d, + 0x43, 0xfd, 0x9d, 0xe9, 0x2f, 0x62, 0xa9, 0x4a, 0xf2, 0xc6, 0x62, 0xe8, 0x1e, 0x9c, 0x70, 0xc2, + 0xb4, 0xad, 0x4c, 0xb2, 0xf0, 0x51, 0x71, 0x79, 0xf7, 0xaf, 0x94, 0x6d, 0xfd, 0xb3, 0xd0, 0x4c, + 0x1a, 0x22, 0x35, 0x4e, 0x02, 0xf0, 0xb8, 0x21, 0x9b, 0x6d, 0xee, 0xff, 0x80, 0x50, 0xa4, 0xd5, + 0x9b, 0xfa, 0x82, 0x5b, 0x7c, 0x64, 0x16, 0x62, 0x42, 0x81, 0xc4, 0x82, 0x52, 0x5d, 0x78, 0x5b, + 0x0f, 0x34, 0x03, 0x8b, 0x0a, 0xc6, 0xfd, 0x7b, 0xeb, 0xf3, 0x25, 0xd2, 0xf1, 0xa4, 0x95, 0xba, + 0x5c, 0xbc, 0x6c, 0x93, 0xd5, 0x59, 0xf7, 0xd8, 0xa6, 0x3b, 0x69, 0x85, 0x5f, 0xfc, 0x77, 0x87, + 0x01, 0x1f, 0x95, 0xa1, 0x47, 0x1a, 0xb5, 0x1d, 0x17, 0x99, 0xd0, 0x05, 0x3f, 0x70, 0x64, 0x13, + 0x62, 0xa3, 0x67, 0x95, 0x37, 0x0d, 0xa8, 0xa7, 0x55, 0x75, 0x2c, 0x72, 0x2b, 0x08, 0x71, 0x24, + 0x88, 0x39, 0x80, 0xca, 0x4a, 0xfc, 0xf1, 0x15, 0xfb, 0x77, 0x22, 0x54, 0xfb, 0x23, 0x4c, 0x62, + 0x4d, 0x10, 0xd5, 0x48, 0xd5, 0x5f, 0x03, 0xb0, 0x79, 0x69, 0x25, 0xe5, 0x98, 0x1d, 0x14, 0x3d, + 0xb8, 0x66, 0xd4, 0xd8, 0xdc, 0x85, 0xde, 0x8a, 0x8d, 0xc0, 0x79, 0x74, 0x2e, 0xcc, 0xca, 0x70, + 0x46, 0xff, 0xa2, 0x35, 0x0b, 0x22, 0x9c, 0x87, 0xd0, 0x4a, 0x10, 0xa8, 0x44, 0x2b, 0xb6, 0x99, + 0x5e, 0xa5, 0xa3, 0x9d, 0xb7, 0x7b, 0x33, 0x46, 0x3d, 0xd8, 0xe5, 0xa2, 0x8f, 0x65, 0x73, 0x53, + 0x8a, 0x5e, 0x00, 0xb8, 0x80, 0x49, 0x02, 0x88, 0xc0, 0x71, 0x66, 0xef, 0x3d, 0xdd, 0x70, 0x95, + 0x98, 0xa8, 0x7b, 0x4c, 0xdf, 0xaa, 0xfd, 0x87, 0xf8, 0xf6, 0x5d, 0x92, 0xaa, 0xb4, 0x8b, 0xe0, + 0x84, 0x76, 0x01, 0x92, 0x92, 0x14, 0x92, 0x7f, 0x6d, 0x62, 0x5a, 0xed, 0xc9, 0x52, 0x57, 0xdb, + 0xab, 0x19, 0x01, 0x9a, 0x04, 0xc6, 0x94, 0x21, 0x1b, 0x70, 0x98, 0xdd, 0x46, 0x02, 0xd7, 0xf9, + 0x36, 0x09, 0x81, 0x00, 0x73, 0x12, 0x8e, 0x1a, 0xc8, 0x95, 0x8c, 0x25, 0x1b, 0x62, 0x5b, 0x89, + 0x8d, 0x1b, 0x3b, 0x6e, 0xc5, 0x1a, 0xee, 0x29, 0x43, 0xf5, 0xdf, 0x1c, 0xc7, 0xf1, 0xc7, 0x34, + 0x1d, 0xe2, 0x86, 0x38, 0x63, 0x09, 0x2d, 0x16, 0x08, 0x02, 0x00, 0x9f, 0x21, 0x5e, 0x4a, 0x5c, + 0x7d, 0x04, 0x79, 0xfe, 0xa2, 0x79, 0xce, 0x66, 0x4b, 0x99, 0x5e, 0x91, 0x77, 0xa3, 0x02, 0x6e, + 0x6b, 0x62, 0x74, 0x4c, 0xcd, 0xb5, 0x6f, 0x9f, 0x06, 0xeb, 0xee, 0x77, 0x72, 0xec, 0x96, 0x7f, + 0x09, 0x4b, 0x3d, 0xbb, 0x2c, 0x65, 0xaf, 0x35, 0x71, 0x65, 0x04, 0x57, 0x02, 0xd0, 0xe1, 0x19, + 0x25, 0xfb, 0x5d, 0xd6, 0x23, 0x38, 0x42, 0x9c, 0xe8, 0x3f, 0x94, 0x26, 0x6b, 0x92, 0x09, 0x30, + 0xb1, 0xa5, 0xfe, 0x43, 0x57, 0x7a, 0x01, 0xc7, 0x3f, 0x65, 0xe4, 0x7a, 0xc0, 0x4b, 0xdb, 0xf4, + 0x2b, 0x78, 0xb6, 0x5a, 0xd9, 0x9e, 0x5c, 0x14, 0x33, 0x43, 0x69, 0x2d, 0x17, 0x87, 0xbc, 0xa8, + 0xd7, 0x99, 0x13, 0xaf, 0x23, 0xa0, 0x1e, 0x0f, 0x2b, 0xec, 0x8a, 0x35, 0x9a, 0xd0, 0x22, 0x30, + 0xd1, 0x36, 0xd3, 0x26, 0xb7, 0x04, 0x29, 0x0c, 0x4e, 0xb4, 0x9c, 0x47, 0xa7, 0x12, 0x74, 0x28, + 0xb4, 0x22, 0x5e, 0xad, 0x21, 0x2c, 0xbb, 0x62, 0x69, 0xf4, 0x20, 0xf9, 0x22, 0x27, 0x8f, 0xb9, + 0x61, 0x9c, 0x59, 0x85, 0xbd, 0x24, 0xab, 0xba, 0x91, 0x1c, 0xa6, 0x4d, 0xb7, 0x01, 0x8c, 0x60, + 0x65, 0xd0, 0xba, 0xcc, 0x8a, 0x99, 0xeb, 0xfa, 0x3b, 0xfa, 0x2e, 0x1d, 0x8c, 0x38, 0x55, 0xe0, + 0x6c, 0x68, 0xc9, 0x51, 0x07, 0xff, 0x11, 0xb4, 0xf9, 0x92, 0xb0, 0xa0, 0x46, 0x4a, 0xf7, 0x58, + 0x79, 0x76, 0x29, 0x53, 0x82, 0x11, 0xc5, 0xb5, 0x18, 0x56, 0x6c, 0xaa, 0x4e, 0x68, 0xdf, 0x69, + 0x81, 0x67, 0xdf, 0x4e, 0x28, 0x78, 0x82, 0x0c, 0xfc, 0xbd, 0xeb, 0x61, 0xb6, 0x18, 0x6f, 0x84, + 0x37, 0x88, 0x77, 0x39, 0xdc, 0x3a, 0xf8, 0xdb, 0xa9, 0x93, 0xc4, 0x4b, 0xce, 0xd6, 0xbd, 0x6b, + 0xf7, 0x9f, 0x01, 0x60, 0x5b, 0xf4, 0x9f, 0x4f, 0xd1, 0xdd, 0x0b, 0xbe, 0x63, 0x8d, 0x09, 0x44, + 0xa6, 0xc8, 0xbf, 0x9e, 0x80, 0x8c, 0xf5, 0xdb, 0xc0, 0x81, 0x51, 0x98, 0x18, 0x6e, 0x23, 0xa2, + 0xce, 0x02, 0x7a, 0xc0, 0xa4, 0xdf, 0xac, 0xa0, 0x9f, 0x71, 0x33, 0xbe, 0x39, 0x9c, 0xc4, 0x0a, + 0xb8, 0xb6, 0xf2, 0x68, 0x28, 0x5b, 0x21, 0xcb, 0x95, 0x66, 0x2b, 0xa5, 0x51, 0xd9, 0x4f, 0xdc, + 0xd2, 0xf5, 0x12, 0x84, 0x89, 0x30, 0x2b, 0x06, 0x95, 0x93, 0x25, 0x80, 0x84, 0x4e, 0x5c, 0x77, + 0x97, 0x6a, 0x8f, 0x88, 0x76, 0x0a, 0xdc, 0x11, 0xff, 0x43, 0xf6, 0x2b, 0x61, 0xa1, 0x00, 0xfd, + 0xc2, 0x17, 0x96, 0xe6, 0xd1, 0x34, 0x1f, 0x01, 0x33, 0x79, 0x88, 0x72, 0x1c, 0xff, 0x35, 0x8d, + 0x7f, 0x46, 0x51, 0x4c, 0x13, 0xe7, 0xe3, 0x37, 0xd5, 0xf5, 0xd6, 0xa7, 0x43, 0xeb, 0x37, 0x2d, + 0xc1, 0xeb, 0xfd, 0x61, 0x38, 0xa5, 0xb5, 0x1b, 0x1c, 0x12, 0xba, 0xfb, 0xcf, 0xb6, 0x8d, 0xe2, + 0x31, 0xd7, 0x1e, 0xe8, 0x02, 0x5d, 0x80, 0x5c, 0x0b, 0x47, 0x97, 0x4d, 0xca, 0x43, 0x39, 0xd8, + 0xf0, 0x99, 0x51, 0x13, 0xdd, 0x9e, 0x44, 0x14, 0x6d, 0x06, 0x8a, 0x45, 0xbb, 0x99, 0x55, 0x6a, + 0x5b, 0x7d, 0x7d, 0x43, 0x6b, 0x31, 0x70, 0xcb, 0x15, 0x1a, 0x86, 0x8e, 0xf8, 0x94, 0xa1, 0xd6, + 0x83, 0x77, 0xe8, 0xe8, 0x08, 0x5e, 0xb3, 0x9a, 0x9a, 0x57, 0x0a, 0xb4, 0x40, 0x5a, 0x09, 0xc1, + 0x7c, 0x37, 0x8d, 0xae, 0xcb, 0xce, 0x78, 0x5f, 0x32, 0x39, 0xe8, 0xba, 0x9d, 0xcb, 0xad, 0xc7, + 0xcb, 0xb5, 0xd2, 0xd0, 0x46, 0xcc, 0x49, 0x2b, 0xf5, 0x65, 0x18, 0x6b, 0x1a, 0x9c, 0x45, 0xf5, + 0x7a, 0x77, 0x8e, 0x88, 0x87, 0xdb, 0xc3, 0xae, 0x7c, 0xa2, 0xde, 0x77, 0xf2, 0xf8, 0x2a, 0x19, + 0x3d, 0x50, 0xe4, 0x04, 0x84, 0xc0, 0xf3, 0xb2, 0xde, 0xf1, 0xc0, 0x22, 0x53, 0xd0, 0xda, 0x51, + 0x39, 0x6a, 0x93, 0x3a, 0x24, 0xe3, 0x95, 0xc0, 0x2a, 0xba, 0xee, 0x87, 0xf9, 0x6e, 0x51, 0x03, + 0x96, 0xb6, 0x2a, 0xcc, 0xe0, 0x2f, 0x07, 0x4d, 0xc6, 0x7d, 0x0c, 0x76, 0x9c, 0x2a, 0x63, 0x49, + 0x56, 0x93, 0x10, 0x09, 0xeb, 0x81, 0x0e, 0x10, 0xcd, 0x2a, 0x3f, 0xf1, 0xb8, 0xe8, 0xed, 0xf6, + 0x24, 0x42, 0x85, 0x95, 0x89, 0x6d, 0x8d, 0x82, 0xaf, 0x5f, 0x53, 0x86, 0x61, 0x62, 0x16, 0xfe, + 0x2e, 0x94, 0xe2, 0x00, 0x63, 0x7e, 0xe9, 0x75, 0xd5, 0x12, 0x65, 0x73, 0xa9, 0x35, 0xb8, 0x93, + 0xf3, 0xbd, 0x60, 0xe0, 0xd3, 0xac, 0x90, 0xbf, 0x54, 0x4f, 0x78, 0xa0, 0xaa, 0xd2, 0xab, 0x18, + 0xcf, 0xda, 0x83, 0xf3, 0xaa, 0x32, 0x1a, 0x29, 0x18, 0xfd, 0xf2, 0xbe, 0xaa, 0x33, 0xfd, 0xd3, + 0x1c, 0x48, 0x88, 0x89, 0x7a, 0xb4, 0x37, 0xb9, 0x96, 0xee, 0x76, 0x79, 0x84, 0x06, 0xa8, 0x0b, + 0x03, 0xef, 0x43, 0xa3, 0x63, 0xcf, 0x20, 0xe9, 0xd5, 0x88, 0x96, 0xcd, 0x30, 0x50, 0x79, 0x64, + 0x79, 0x4a, 0x69, 0xe8, 0x8f, 0x6b, 0x35, 0x8d, 0xbf, 0x6e, 0x00, 0xe9, 0xe7, 0x48, 0x62, 0xdc, + 0x1c, 0x08, 0x0a, 0x14, 0x25, 0xf4, 0x06, 0x25, 0x6d, 0x8f, 0x22, 0xda, 0x59, 0xb7, 0x38, 0xa4, + 0x80, 0xc0, 0x72, 0xae, 0x1b, 0x0d, 0xf2, 0x66, 0x30, 0x28, 0x35, 0x00, 0xd1, 0xc9, 0xde, 0x3a, + 0x9c, 0xb4, 0x3e, 0x50, 0x83, 0xfa, 0x7a, 0xdf, 0xf3, 0x76, 0xe6, 0x44, 0x11, 0x7d, 0xde, 0x58, + 0x37, 0x9a, 0x45, 0xa0, 0x2e, 0x87, 0xd9, 0xb3, 0xa6, 0x8e, 0x01, 0x00, 0x58, 0x87, 0x61, 0x34, + 0xfb, 0x4f, 0xbb, 0xef, 0x47, 0xbe, 0x24, 0x6b, 0x1e, 0x57, 0xc7, 0x7a, 0x9e, 0x0b, 0x61, 0xc4, + 0x2d, 0x93, 0x24, 0x75, 0x2a, 0x17, 0xbc, 0x79, 0x62, 0x15, 0x7f, 0x74, 0x17, 0x68, 0x41, 0xda, + 0x57, 0x63, 0x7e, 0x53, 0xf5, 0xe2, 0x81, 0xbb, 0x33, 0x54, 0x1e, 0xb8, 0x02, 0xee, 0x08, 0xd7, + 0x8f, 0xc0, 0xd0, 0xb7, 0xb5, 0xdd, 0xa6, 0x7d, 0x8c, 0x1f, 0x23, 0xe9, 0x7f, 0x65, 0x79, 0x13, + 0x01, 0x52, 0x1e, 0x93, 0x09, 0xc1, 0x44, 0xb6, 0x93, 0x3d, 0x58, 0xa9, 0xa6, 0x60, 0xcf, 0xaa, + 0x68, 0x1c, 0x34, 0x68, 0x30, 0x7e, 0xfa, 0xdd, 0x9e, 0xcf, 0xbc, 0x02, 0x91, 0x18, 0x33, 0x80, + 0xa3, 0xf9, 0x62, 0xac, 0x10, 0x1b, 0x7f, 0x83, 0x92, 0xa3, 0x15, 0xcd, 0x59, 0x33, 0xfc, 0x36, + 0x3b, 0xcc, 0x47, 0xff, 0xfb, 0x89, 0x7c, 0xbc, 0xc5, 0xd7, 0x49, 0x08, 0x47, 0xf9, 0x79, 0xe6, + 0x26, 0xad, 0x0b, 0x50, 0xb3, 0x19, 0xa5, 0x9a, 0x4b, 0x30, 0x34, 0xdf, 0xef, 0x72, 0xb6, 0x10, + 0xcc, 0xd7, 0xa0, 0x5b, 0xb9, 0x1a, 0xda, 0xb6, 0x31, 0x0a, 0x96, 0xfc, 0xe9, 0xba, 0xfe, 0x26, + 0xc8, 0x06, 0x55, 0xb4, 0xab, 0x9f, 0x0d, 0x0a, 0xdb, 0x74, 0xfa, 0xd6, 0x6f, 0x89, 0xf9, 0x44, + 0x6f, 0x68, 0xcf, 0xc4, 0xac, 0x70, 0xbe, 0x7a, 0x8f, 0x9e, 0x79, 0xd7, 0xeb, 0xcb, 0xa1, 0x6d, + 0x52, 0xad, 0x37, 0x5e, 0xdd, 0x30, 0x0e, 0x90, 0xf9, 0x29, 0x98, 0x3f, 0x62, 0x73, 0x94, 0xea, + 0x22, 0xcd, 0x3d, 0x91, 0x3a, 0xc6, 0x31, 0xfb, 0x5c, 0x1d, 0xa7, 0x34, 0x28, 0xfe, 0x0f, 0xc5, + 0x8e, 0x50, 0xbe, 0xc4, 0xd0, 0xf5, 0x31, 0x16, 0x2d, 0x2a, 0x90, 0x78, 0xf0, 0xaa, 0x25, 0xb7, + 0x1f, 0x3f, 0xf5, 0x83, 0x44, 0x45, 0x55, 0xc8, 0x5f, 0xe6, 0xad, 0x60, 0xb3, 0x0f, 0x0c, 0x0f, + 0xad, 0x04, 0xd0, 0xca, 0x1e, 0x38, 0xf8, 0xa2, 0xf2, 0xd4, 0x0a, 0x7d, 0x2e, 0x72, 0x7f, 0x18, + 0xda, 0xde, 0x88, 0xb2, 0xe3, 0xcc, 0x84, 0x25, 0x47, 0xac, 0xb0, 0x18, 0xb0, 0x9c, 0x6a, 0x1e, + 0xba, 0xae, 0x1d, 0xf1, 0xa2, 0xd7, 0x92, 0xb7, 0x5f, 0xb6, 0xf7, 0x9e, 0xc1, 0xe1, 0x92, 0xa5, + 0xc3, 0x00, 0x5e, 0x3d, 0x6d, 0x69, 0x29, 0x16, 0xfe, 0x30, 0x4e, 0x6c, 0xb6, 0xaf, 0xb1, 0x09, + 0xe6, 0xeb, 0x62, 0xcd, 0x8a, 0xa8, 0x9a, 0x5e, 0xca, 0x65, 0x7d, 0x6a, 0x36, 0x93, 0x40, 0xf9, + 0x2f, 0xad, 0x1b, 0x57, 0xb1, 0x58, 0x44, 0x55, 0x93, 0x15, 0xcb, 0x9c, 0xb2, 0xf1, 0x8d, 0x8a, + 0x7d, 0x5e, 0xd8, 0xc1, 0xbc, 0x0f, 0xb7, 0x24, 0x81, 0xd2, 0xd3, 0x4a, 0xf1, 0x95, 0xc1, 0xdc, + 0x84, 0xe6, 0x37, 0xa2, 0x10, 0xc5, 0xb2, 0xfc, 0xf9, 0xd3, 0x5b, 0x7b, 0x81, 0x1a, 0xa7, 0xac, + 0xd4, 0xf5, 0x5e, 0xd0, 0x05, 0x18, 0x57, 0x53, 0x88, 0xf9, 0xeb, 0x54, 0xbf, 0x3b, 0x29, 0xc5, + 0x5e, 0xb4, 0xc0, 0x07, 0xd8, 0x53, 0x98, 0x32, 0x04, 0xc6, 0x19, 0x0c, 0x96, 0xc3, 0x61, 0x7d, + 0xdc, 0x08, 0xdd, 0xe3, 0x2d, 0x7d, 0x9b, 0x42, 0x9c, 0xc3, 0x94, 0x9e, 0x6e, 0x7b, 0xcd, 0xe1, + 0x68, 0xdd, 0x67, 0x2d, 0xf5, 0x6c, 0xec, 0xd4, 0xc8, 0xd8, 0xe8, 0xcd, 0xa7, 0xdc, 0xe0, 0x23, + 0x72, 0xb5, 0x77, 0x53, 0x61, 0x10, 0xa1, 0xbd, 0x73, 0x8e, 0x06, 0xc2, 0x30, 0x33, 0xba, 0xca, + 0xd4, 0x12, 0xf9, 0x55, 0xba, 0x52, 0x13, 0x4c, 0xfb, 0xb2, 0xd8, 0x26, 0x4e, 0x99, 0xa8, 0x22, + 0x6f, 0xc4, 0x18, 0xfb, 0x44, 0xe0, 0xb1, 0xd5, 0xa2, 0xfb, 0x6d, 0xa7, 0x9d, 0x8d, 0x0b, 0x9d, + 0x5c, 0xb5, 0x76, 0xcb, 0x89, 0x37, 0x12, 0x4e, 0xba, 0x00, 0x42, 0x54, 0x16, 0x97, 0x8e, 0xb1, + 0x71, 0x9f, 0xb2, 0x25, 0x58, 0xda, 0x67, 0xaf, 0x9f, 0xa5, 0xaf, 0x42, 0x8c, 0x00, 0xab, 0x5e, + 0x24, 0x27, 0x7a, 0xb2, 0x44, 0xe8, 0x61, 0x03, 0xa3, 0x03, 0x8e, 0x8a, 0x85, 0xb7, 0xba, 0xe1, + 0x04, 0x1b, 0x8a, 0x01, 0xa5, 0x06, 0x2f, 0xf7, 0xbb, 0x8a, 0x9f, 0x3b, 0xe9, 0x36, 0xcd, 0xc4, + 0x46, 0x2a, 0x01, 0x48, 0x37, 0x04, 0x41, 0x28, 0xd7, 0xe2, 0x1e, 0x85, 0x26, 0x38, 0x51, 0xdc, + 0x3b, 0xd5, 0x88, 0x31, 0xe4, 0x41, 0xfb, 0x46, 0xed, 0x83, 0x5e, 0x29, 0x80, 0xe7, 0x1b, 0x19, + 0xed, 0xa3, 0xf6, 0x76, 0x39, 0x55, 0x63, 0xfc, 0x7e, 0xea, 0x0b, 0x3d, 0x7d, 0x64, 0x3e, 0xe6, + 0xb1, 0xde, 0x06, 0x6a, 0xce, 0x3b, 0x70, 0x7a, 0x5a, 0x2c, 0x59, 0x30, 0x6f, 0x30, 0xe3, 0x2f, + 0x4b, 0x65, 0x1c, 0xef, 0xec, 0x5d, 0x3e, 0xea, 0x2f, 0xf4, 0x6e, 0xb9, 0x42, 0xef, 0xfb, 0x18, + 0xfd, 0x7c, 0x31, 0xda, 0xd3, 0x40, 0x80, 0xb3, 0x05, 0x4b, 0x7a, 0xb4, 0x33, 0x3d, 0xf0, 0xb5, + 0x4a, 0x96, 0x9a, 0xc3, 0x6d, 0x9e, 0x36, 0x1d, 0x66, 0xfa, 0xb0, 0x66, 0xb8, 0xe7, 0x95, 0x9b, + 0xca, 0x18, 0x11, 0x87, 0xd7, 0xd3, 0xee, 0xa0, 0x19, 0xc2, 0x0c, 0x8b, 0xf7, 0x66, 0x67, 0xc3, + 0x9a, 0x70, 0x35, 0xd7, 0x44, 0xda, 0xaa, 0x34, 0x9a, 0x59, 0x15, 0xf9, 0x2c, 0xa5, 0x92, 0x94, + 0x38, 0x74, 0xaf, 0x3b, 0x7b, 0x66, 0xb7, 0x66, 0xc3, 0x0d, 0x1e, 0xbc, 0xc2, 0x0a, 0xfa, 0xb3, + 0xbc, 0xb2, 0x1d, 0x8b, 0xa4, 0x91, 0x46, 0x54, 0x2a, 0xf6, 0x62, 0xf9, 0xe1, 0x70, 0x55, 0x20, + 0x78, 0xb5, 0x6b, 0x72, 0xa1, 0xa3, 0x5b, 0x47, 0xf0, 0x5c, 0x40, 0x60, 0x03, 0xe0, 0xf0, 0xb4, + 0xd8, 0x8d, 0xe8, 0xb5, 0xd0, 0x59, 0x58, 0x4d, 0xea, 0x14, 0x5b, 0x7b, 0x97, 0x41, 0xc7, 0xe9, + 0x1f, 0x13, 0x68, 0x1f, 0x49, 0x13, 0xad, 0x3d, 0x27, 0x2a, 0xda, 0x3e, 0xa6, 0x08, 0xc8, 0x2d, + 0x73, 0xb8, 0xa9, 0x5f, 0x21, 0x85, 0x66, 0x58, 0x5d, 0x86, 0x55, 0xb9, 0x38, 0x7e, 0x98, 0xb6, + 0x9a, 0x1d, 0x2c, 0xe7, 0x9e, 0x37, 0x2b, 0x7b, 0x87, 0xbb, 0x43, 0x74, 0x08, 0xea, 0x3a, 0xe4, + 0x60, 0x26, 0x04, 0x32, 0xf6, 0x09, 0x62, 0xec, 0xf9, 0x3f, 0x71, 0x33, 0x6b, 0xe2, 0xfe, 0xff, + 0xa8, 0x82, 0x6c, 0x4c, 0x04, 0xbe, 0xd1, 0xb2, 0x13, 0xfe, 0x6d, 0x77, 0x32, 0xdb, 0xe5, 0x77, + 0x42, 0xed, 0x21, 0x68, 0xe8, 0x0f, 0xa7, 0xa7, 0x98, 0x75, 0x2d, 0x0e, 0x13, 0xfd, 0xdc, 0xdf, + 0x26, 0x95, 0x5f, 0xad, 0xa7, 0x6a, 0x51, 0x16, 0x49, 0xde, 0xd5, 0x67, 0xab, 0xd0, 0x40, 0x61, + 0xdd, 0xfc, 0x30, 0xd2, 0x64, 0x9c, 0x5d, 0xd9, 0xe2, 0x64, 0x3c, 0x23, 0x9b, 0x10, 0x78, 0x0b, + 0xc2, 0x0d, 0x67, 0x4c, 0xc2, 0x75, 0x88, 0x68, 0xcf, 0x61, 0x1a, 0x96, 0xe8, 0x80, 0xe6, 0xd0, + 0x02, 0x3a, 0x4c, 0x00, 0xe2, 0xb8, 0x8d, 0xd0, 0x32, 0x26, 0x00, 0xe9, 0x07, 0xff, 0xaf, 0x5e, + 0xc0, 0xfc, 0xf6, 0xb0, 0x1c, 0x02, 0xae, 0x3c, 0xe5, 0x9e, 0x12, 0x9c, 0x00, 0xc4, 0xd4, 0xe6, + 0x1a, 0x37, 0x72, 0xd2, 0x79, 0x1e, 0x9f, 0x7e, 0x76, 0x04, 0x1e, 0xfd, 0x8b, 0x27, 0x88, 0x9d, + 0x12, 0xa1, 0x33, 0xd1, 0xfa, 0x2a, 0x52, 0x9e, 0x6c, 0x33, 0x07, 0xed, 0xb8, 0x07, 0xc6, 0xec, + 0x07, 0x4f, 0xb6, 0xe1, 0x08, 0xcd, 0x58, 0xa8, 0x25, 0xdd, 0x8a, 0x57, 0xe4, 0xfe, 0x61, 0x2c, + 0xc7, 0x47, 0xfc, 0xd6, 0xa1, 0xc1, 0xf0, 0xbb, 0xea, 0xbb, 0x28, 0x6d, 0x55, 0xf9, 0x3a, 0xa8, + 0xb2, 0x07, 0x20, 0x2e, 0x7d, 0x37, 0x85, 0x2f, 0x10, 0x3f, 0x05, 0xbd, 0x38, 0xb3, 0xa0, 0xe4, + 0x75, 0x22, 0x8b, 0xd1, 0xab, 0x14, 0xc6, 0x67, 0x34, 0x02, 0x8e, 0xbf, 0x4f, 0xd1, 0x58, 0x9f, + 0x5e, 0xce, 0x60, 0xff, 0xb3, 0x8b, 0xc4, 0x1d, 0x9a, 0x1a, 0x6b, 0x4a, 0x60, 0xe6, 0x3f, 0xb5, + 0x72, 0x19, 0xcf, 0xf6, 0xdf, 0x89, 0x39, 0x68, 0xdf, 0x75, 0xfc, 0xb9, 0x79, 0xc2, 0xcd, 0xe6, + 0x89, 0xe2, 0x00, 0x14, 0xf1, 0xa1, 0x70, 0x26, 0xea, 0x7b, 0xa9, 0x95, 0xcf, 0xf8, 0x67, 0xd3, + 0x33, 0xd9, 0x3f, 0xc9, 0x1e, 0xa7, 0xeb, 0xa9, 0xe8, 0x82, 0xf2, 0xb8, 0xca, 0x42, 0x3a, 0x50, + 0xb8, 0x67, 0x32, 0x76, 0x29, 0x96, 0xc7, 0xd0, 0x7c, 0xd5, 0x55, 0xd9, 0xfa, 0xa4, 0x9a, 0xb4, + 0x06, 0x95, 0x28, 0xf2, 0x46, 0xb7, 0xba, 0x1b, 0x47, 0x1f, 0xdc, 0x0e, 0x9b, 0xc4, 0x91, 0xe2, + 0x67, 0x1c, 0xd9, 0x78, 0xd0, 0x10, 0x89, 0x6a, 0x5a, 0xa3, 0x4c, 0x84, 0xa7, 0x3e, 0x6b, 0xd1, + 0x71, 0xec, 0xeb, 0x11, 0xa6, 0x76, 0x80, 0x33, 0x7f, 0x30, 0x74, 0xde, 0x69, 0x56, 0x1d, 0x96, + 0x6f, 0x75, 0xef, 0x81, 0x95, 0xc2, 0xc6, 0x72, 0xd6, 0xe8, 0x90, 0xe7, 0x3c, 0x9d, 0x81, 0x46, + 0x72, 0x88, 0x66, 0xdc, 0xb0, 0x6e, 0x44, 0xb0, 0x9b, 0xcd, 0x65, 0xf0, 0x51, 0xb2, 0xa3, 0xcf, + 0x95, 0x4c, 0x82, 0x0e, 0xa7, 0x5d, 0x18, 0x8b, 0x48, 0xea, 0x2d, 0x44, 0x25, 0xb6, 0x9a, 0xf9, + 0x65, 0x07, 0x82, 0xfe, 0x65, 0xa3, 0x8a, 0xbf, 0xe2, 0x51, 0xb4, 0xc9, 0xb6, 0x81, 0x46, 0x3d, + 0x56, 0x21, 0xe9, 0x53, 0x31, 0xda, 0x67, 0xb4, 0x20, 0x6b, 0x4e, 0xb7, 0xec, 0x32, 0xc4, 0x0c, + 0x02, 0x9c, 0xe7, 0xe1, 0xbc, 0x16, 0x8d, 0xe7, 0x9e, 0x4e, 0x09, 0x22, 0xae, 0x6e, 0x63, 0xfa, + 0x24, 0xb2, 0x1c, 0xfa, 0xab, 0x90, 0xa0, 0x72, 0xc1, 0xb4, 0x9a, 0xa3, 0x6a, 0xbe, 0xab, 0x00, + 0x9b, 0x6a, 0xc0, 0x3a, 0x93, 0x64, 0x6e, 0xa5, 0x2c, 0x2c, 0x1f, 0x02, 0x7f, 0x6f, 0xc0, 0x06, + 0x26, 0x69, 0x2f, 0x0b, 0x99, 0xfe, 0x56, 0xf3, 0x3e, 0x59, 0xd0, 0x3b, 0x85, 0xff, 0xa0, 0xf7, + 0xb4, 0x92, 0xd8, 0x2b, 0x86, 0xf2, 0x17, 0x7d, 0xa0, 0xe0, 0xc9, 0xd7, 0xa9, 0xef, 0xa6, 0x7e, + 0xec, 0xff, 0x69, 0xe0, 0x6e, 0x8a, 0xb5, 0xd5, 0x32, 0x34, 0x51, 0x40, 0xd7, 0x29, 0x78, 0xa6, + 0x5e, 0xf3, 0xe7, 0x10, 0x97, 0xbb, 0x9c, 0x12, 0x63, 0x46, 0xff, 0xad, 0x56, 0x5e, 0x5e, 0x22, + 0x77, 0xd2, 0xff, 0x66, 0x4d, 0x56, 0xce, 0x84, 0xe3, 0x81, 0xb2, 0x6a, 0x20, 0x72, 0x84, 0x99, + 0x3c, 0xc4, 0xad, 0x5c, 0x35, 0xe1, 0x6e, 0x26, 0x47, 0xca, 0xe9, 0x71, 0x08, 0x6c, 0x04, 0xce, + 0x34, 0x8e, 0x61, 0x81, 0xd9, 0xa4, 0xf1, 0x8a, 0xbf, 0x20, 0x86, 0x90, 0x01, 0x58, 0xf2, 0x32, + 0x62, 0xe6, 0xc6, 0x93, 0x23, 0x2d, 0xb4, 0x86, 0x54, 0x08, 0x81, 0x74, 0x6c, 0xd5, 0x98, 0x66, + 0x96, 0xa7, 0x25, 0x98, 0xe5, 0xfa, 0x20, 0xff, 0x12, 0xc1, 0xad, 0xb8, 0xfc, 0x95, 0xfb, 0xe5, + 0xcc, 0x61, 0x46, 0xc5, 0xd1, 0x46, 0x04, 0x45, 0xd7, 0x44, 0x79, 0x7b, 0x60, 0xa0, 0xc8, 0x46, + 0xb5, 0x02, 0x78, 0x95, 0xa9, 0x41, 0x38, 0x3a, 0xdb, 0xb8, 0x2c, 0xbd, 0x53, 0x21, 0x4c, 0xaa, + 0x87, 0x40, 0x98, 0xb5, 0x56, 0xb4, 0xc3, 0xd1, 0x16, 0xcb, 0x56, 0x17, 0xcb, 0x89, 0xee, 0xf2, + 0xa9, 0x77, 0xc4, 0x0a, 0xe8, 0xb9, 0x3e, 0x52, 0x5c, 0x3d, 0x23, 0xaa, 0x27, 0x33, 0xa5, 0x1d, + 0x26, 0xa5, 0xe6, 0x87, 0x54, 0xbf, 0xe2, 0xcb, 0xcf, 0x07, 0xb4, 0xcd, 0x80, 0x87, 0xdc, 0x6f, + 0x8c, 0x7b, 0xbb, 0x67, 0x3e, 0x94, 0x12, 0xa5, 0xf9, 0x22, 0x56, 0x6c, 0x04, 0x96, 0x7c, 0x6c, + 0x8c, 0xf9, 0x15, 0x20, 0xd4, 0x61, 0xb0, 0x2d, 0x2f, 0xab, 0xd7, 0xec, 0x16, 0x06, 0x7a, 0xfe, + 0x2a, 0x1d, 0x09, 0x53, 0x38, 0xcb, 0xe2, 0x3c, 0x23, 0x4f, 0x44, 0x91, 0x37, 0x56, 0x19, 0x59, + 0x4f, 0x19, 0x53, 0x07, 0x82, 0x68, 0x85, 0x48, 0x47, 0x06, 0x37, 0x6c, 0xa4, 0x13, 0x57, 0x9f, + 0xb2, 0x66, 0x5f, 0xf3, 0x9c, 0x6c, 0x1f, 0x18, 0x56, 0x6c, 0xd9, 0x3d, 0x08, 0x06, 0xea, 0xd3, + 0x80, 0x62, 0xea, 0x0c, 0x52, 0x16, 0xe5, 0x53, 0xff, 0x68, 0x68, 0x7c, 0x82, 0xa4, 0x32, 0x60, + 0xbb, 0xd6, 0xef, 0x98, 0xd7, 0xe2, 0x8f, 0xce, 0xd8, 0x16, 0x56, 0xc7, 0x8d, 0xce, 0xc6, 0x6a, + 0x21, 0xd4, 0x92, 0xae, 0x12, 0x50, 0x34, 0x42, 0x76, 0x10, 0x72, 0xe1, 0xed, 0x16, 0x97, 0xbf, + 0x08, 0xc3, 0xcb, 0x60, 0x80, 0x1e, 0x80, 0xea, 0xec, 0x96, 0x5f, 0xdc, 0xfc, 0xf8, 0xea, 0x3f, + 0x76, 0x41, 0x00, 0x3d, 0xe3, 0x49, 0x84, 0x1e, 0x30, 0xae, 0x01, 0xaf, 0xbf, 0x18, 0x0d, 0x53, + 0xdd, 0xde, 0xb5, 0x63, 0xb1, 0xa9, 0x86, 0x7d, 0xb3, 0xa2, 0x2b, 0x2d, 0x4a, 0x60, 0x7d, 0x9b, + 0xc3, 0x4a, 0xe5, 0xb4, 0x84, 0xd7, 0xdc, 0x78, 0xfb, 0xdf, 0xf8, 0x58, 0x3a, 0x17, 0xa6, 0xd3, + 0xd7, 0x16, 0xaf, 0xab, 0x62, 0x8d, 0xad, 0xf5, 0xf6, 0xdb, 0xc9, 0x5e, 0x88, 0xab, 0x79, 0xaa, + 0x80, 0xdf, 0xcb, 0xf1, 0x46, 0x22, 0x99, 0xa0, 0x9a, 0x36, 0xdc, 0x0f, 0xa1, 0x35, 0x5b, 0xa2, + 0x84, 0x03, 0xfc, 0xe3, 0xd2, 0xbe, 0xe7, 0xae, 0x17, 0xbf, 0x24, 0x85, 0x07, 0x9e, 0xed, 0x49, + 0x7f, 0x20, 0x42, 0xa1, 0x1a, 0x49, 0x4b, 0x2c, 0xbc, 0x8b, 0x04, 0xe2, 0x68, 0x1e, 0xcb, 0xfa, + 0x8b, 0x75, 0xf8, 0x4f, 0x54, 0x2a, 0x26, 0xe6, 0x86, 0xe3, 0x4d, 0xf4, 0xb8, 0xe0, 0xb7, 0x0c, + 0xa8, 0x36, 0x32, 0x62, 0x21, 0xfd, 0x8b, 0xaa, 0x8d, 0x15, 0x77, 0x78, 0x77, 0xa2, 0xec, 0xf5, + 0x08, 0x73, 0x9e, 0xd7, 0xc4, 0xa3, 0xb5, 0x62, 0x19, 0x7f, 0xb3, 0x51, 0xf4, 0x23, 0x92, 0x26, + 0xdb, 0x7e, 0x05, 0x9a, 0x33, 0x1e, 0xd5, 0xb4, 0xbc, 0xa6, 0xb9, 0x48, 0x9b, 0xce, 0x0c, 0x52, + 0x9a, 0xca, 0xd8, 0x44, 0x9d, 0xfa, 0x7e, 0x86, 0xc2, 0x75, 0x2c, 0xee, 0x16, 0x61, 0x5f, 0x08, + 0x4a, 0xce, 0x3e, 0x19, 0x3f, 0x57, 0x69, 0x82, 0x9c, 0x8d, 0xdb, 0x4d, 0xce, 0x2c, 0x02, 0x24, + 0xf9, 0xb4, 0xb7, 0xd9, 0x5b, 0x44, 0x19, 0x07, 0x90, 0x79, 0x9d, 0xd9, 0xd0, 0x38, 0x4e, 0xd4, + 0x85, 0xbb, 0x3b, 0x89, 0xa7, 0xb5, 0x22, 0xae, 0xba, 0x99, 0x99, 0xa3, 0xa3, 0x80, 0x50, 0x70, + 0xc2, 0x26, 0xe6, 0xdc, 0x32, 0x96, 0x5c, 0x5b, 0xe9, 0x05, 0x0a, 0xd5, 0xcf, 0xa1, 0x46, 0xae, + 0x21, 0x41, 0xc0, 0xb6, 0x85, 0x51, 0xdc, 0x79, 0xd3, 0x0f, 0xf8, 0xb7, 0xb2, 0x04, 0x2e, 0x52, + 0x66, 0xfe, 0xdd, 0x14, 0xbe, 0x73, 0xc3, 0xf1, 0xc6, 0x79, 0x9a, 0x5f, 0x7f, 0x22, 0x67, 0xe3, + 0xeb, 0xf4, 0xf6, 0x07, 0xb5, 0x7c, 0x0e, 0x20, 0x2a, 0x47, 0x91, 0x4d, 0xec, 0xd1, 0x50, 0xf1, + 0xd0, 0x9d, 0xe1, 0x39, 0x76, 0x39, 0xaa, 0xea, 0x4c, 0x98, 0x89, 0xfa, 0x3e, 0xad, 0xcf, 0x79, + 0xd5, 0x09, 0xcd, 0x47, 0x92, 0x86, 0x8f, 0xdf, 0x31, 0x79, 0x90, 0x57, 0x7c, 0x07, 0x1f, 0x24, + 0xe0, 0x97, 0x51, 0xe4, 0xd6, 0x51, 0x3f, 0x7c, 0x83, 0x77, 0xa7, 0xb1, 0x9d, 0x70, 0x1f, 0xef, + 0x82, 0xdb, 0xe9, 0x8f, 0x41, 0xca, 0xae, 0x7a, 0x49, 0x8d, 0x91, 0xd9, 0x1e, 0x29, 0x17, 0x46, + 0x4c, 0xdb, 0xde, 0xef, 0xe1, 0xce, 0xba, 0xdf, 0xbf, 0xec, 0x06, 0x7e, 0xb0, 0xe2, 0x95, 0x4c, + 0x57, 0x52, 0xde, 0x53, 0xf4, 0x8d, 0xb7, 0x5f, 0x65, 0xec, 0x5b, 0xc9, 0xb8, 0xc0, 0x46, 0xf9, + 0x76, 0x03, 0x74, 0xe6, 0x81, 0x15, 0x65, 0x19, 0x54, 0x00, 0xcd, 0x46, 0xa2, 0x6e, 0x59, 0xa0, + 0x70, 0x70, 0x98, 0xef, 0xcb, 0xe0, 0xd6, 0xda, 0x97, 0xcc, 0x5a, 0xbe, 0x94, 0x80, 0x38, 0x51, + 0xde, 0x16, 0x47, 0x76, 0xa6, 0x6e, 0x1b, 0x83, 0xe8, 0xe5, 0x66, 0x0c, 0xca, 0x90, 0x9e, 0x9e, + 0x61, 0x1b, 0xd8, 0x2b, 0x4f, 0xb3, 0x49, 0x46, 0x2b, 0x7a, 0xdf, 0x3f, 0xa0, 0xa1, 0xff, 0xc5, + 0xdc, 0x26, 0xef, 0xd0, 0x0f, 0x0d, 0xe8, 0x70, 0xaa, 0xe1, 0xe0, 0x7b, 0x2b, 0x01, 0xf3, 0x1e, + 0xd3, 0xc0, 0x62, 0x4e, 0x18, 0x7d, 0x28, 0xcf, 0x4d, 0x9e, 0x2e, 0x1b, 0x56, 0xba, 0xdc, 0x42, + 0x8e, 0x66, 0x35, 0xbe, 0xdf, 0xf6, 0xc0, 0x8c, 0x90, 0x1f, 0x0a, 0x96, 0xc3, 0xc9, 0x40, 0x9e, + 0xed, 0xb8, 0x61, 0x06, 0x02, 0xb3, 0xc1, 0x5c, 0xfd, 0xa0, 0xc5, 0x6b, 0x29, 0x4a, 0xbf, 0x83, + 0x80, 0xf4, 0x01, 0xad, 0x36, 0x6c, 0xdb, 0x21, 0x8d, 0xcc, 0x71, 0xb4, 0xac, 0x12, 0x72, 0x61, + 0x27, 0x06, 0xbe, 0x4f, 0xb0, 0x7f, 0x50, 0x44, 0xe7, 0xfa, 0x6c, 0x9a, 0xb8, 0x6f, 0x3e, 0x9c, + 0x97, 0xb4, 0x51, 0x91, 0xb0, 0x76, 0x47, 0x08, 0x61, 0xda, 0xa9, 0x3d, 0x89, 0x2b, 0xe4, 0xf8, + 0xcd, 0x9e, 0x16, 0x6d, 0x77, 0x80, 0x15, 0x16, 0xca, 0xac, 0x60, 0x76, 0x81, 0x83, 0xdb, 0x7e, + 0xfc, 0xad, 0x27, 0x8d, 0x0e, 0x33, 0xc4, 0x22, 0x1d, 0x34, 0x8a, 0xf9, 0xc1, 0xc9, 0x87, 0xcd, + 0x11, 0xa7, 0x14, 0xb8, 0x44, 0xe4, 0x78, 0x59, 0xba, 0x35, 0x25, 0x61, 0xcb, 0xce, 0x41, 0xb0, + 0x5a, 0x04, 0xe2, 0x8d, 0x30, 0x45, 0xe1, 0x16, 0xd2, 0xca, 0x25, 0x77, 0x25, 0xc3, 0x67, 0x2e, + 0xf5, 0x98, 0x10, 0xf9, 0x1d, 0x56, 0x07, 0xe7, 0x1c, 0xd9, 0x8e, 0xe2, 0x88, 0x31, 0x4b, 0xd8, + 0xf8, 0x3f, 0x5c, 0x84, 0x66, 0x29, 0x4a, 0x9a, 0x82, 0x0a, 0x4d, 0xd8, 0xa7, 0x81, 0x63, 0xee, + 0x52, 0x1c, 0xd6, 0x18, 0x95, 0xba, 0x6b, 0x26, 0x26, 0x66, 0x9d, 0x28, 0x7c, 0x90, 0x0f, 0xe5, + 0x32, 0x0b, 0x56, 0x1f, 0x8d, 0x1e, 0x32, 0x49, 0xfa, 0x75, 0x07, 0xdd, 0xd1, 0x3c, 0x7f, 0xff, + 0xd7, 0x24, 0x02, 0xbd, 0x1f, 0x52, 0xed, 0xc2, 0xd2, 0x3b, 0x37, 0x0e, 0xa4, 0x69, 0x40, 0x72, + 0x64, 0xc9, 0xb7, 0x82, 0xf8, 0x92, 0x74, 0xe7, 0xfb, 0x45, 0x16, 0x90, 0xef, 0x5b, 0x11, 0xf9, + 0x67, 0xe3, 0xe5, 0x0e, 0x67, 0x77, 0x8d, 0xe5, 0x3c, 0xa8, 0xa5, 0x27, 0x27, 0x3d, 0xc0, 0x50, + 0xc7, 0xb4, 0x27, 0x36, 0x9b, 0x06, 0x08, 0x7c, 0x4a, 0xfb, 0x8b, 0xa2, 0x95, 0x3e, 0x7b, 0xa1, + 0x62, 0x80, 0x23, 0xb4, 0x48, 0xa6, 0x0c, 0xee, 0xe0, 0xd6, 0xf0, 0xbf, 0xfa, 0x76, 0x03, 0xf3, + 0xdf, 0xd3, 0xd3, 0x75, 0x72, 0x6d, 0x9d, 0x01, 0x2a, 0x33, 0x49, 0x17, 0x0b, 0x11, 0x6a, 0xdb, + 0x68, 0x89, 0x5e, 0x88, 0xf2, 0x8d, 0x00, 0x4c, 0x75, 0xdc, 0x4f, 0xf2, 0x69, 0x03, 0xab, 0x93, + 0x8b, 0x8d, 0xdc, 0x8c, 0x81, 0x6d, 0x9a, 0x0d, 0x00, 0x08, 0x63, 0xee, 0xf2, 0x81, 0x81, 0x53, + 0x7a, 0xf3, 0xe9, 0x16, 0x40, 0x4a, 0xea, 0x40, 0xb8, 0x90, 0x2c, 0x1a, 0x11, 0xb8, 0x4f, 0xe6, + 0x12, 0x0d, 0x3e, 0x02, 0x5a, 0xbb, 0x7e, 0x38, 0x1a, 0xba, 0xe8, 0x26, 0x02, 0xdc, 0x0e, 0xfc, + 0x0e, 0x62, 0x47, 0xd8, 0xa3, 0x91, 0xba, 0xda, 0x83, 0x3e, 0xb5, 0x0c, 0xe8, 0x38, 0xde, 0x56, + 0x5e, 0xbe, 0xeb, 0xda, 0x76, 0x3f, 0x12, 0x6c, 0x8f, 0xe1, 0x44, 0x78, 0xa2, 0xc3, 0x66, 0xc2, + 0x74, 0xe6, 0x10, 0xa4, 0xdb, 0x4a, 0x05, 0xa5, 0x5f, 0x5f, 0x14, 0x60, 0xad, 0x3d, 0xf7, 0x94, + 0x2f, 0x93, 0x92, 0xa0, 0xb9, 0x9e, 0x8f, 0xb3, 0x05, 0xfd, 0x14, 0x0b, 0x2d, 0x23, 0x8c, 0xce, + 0x18, 0x2d, 0xd4, 0x05, 0xa5, 0x37, 0xcd, 0x06, 0x37, 0xc5, 0xdd, 0x88, 0x33, 0x4e, 0x06, 0x7d, + 0xfe, 0x4c, 0x19, 0x86, 0xf0, 0xdd, 0x22, 0xa5, 0xe8, 0xb5, 0x4f, 0x2d, 0x17, 0x99, 0xdd, 0x8b, + 0x89, 0x1a, 0x6c, 0x8a, 0x9f, 0x38, 0xc4, 0x6b, 0xa7, 0x33, 0xbb, 0x2e, 0x2a, 0x67, 0x73, 0xd5, + 0x5b, 0xdf, 0xe9, 0xe6, 0x6f, 0xca, 0x04, 0xf0, 0x29, 0x60, 0x21, 0xa9, 0xa0, 0xc1, 0x6c, 0x47, + 0xd6, 0xe5, 0x2b, 0x4b, 0xe1, 0xdc, 0x03, 0xb7, 0x0f, 0x8e, 0x9a, 0xa9, 0xfb, 0x0c, 0x37, 0xd7, + 0x75, 0x5c, 0x93, 0x07, 0x5c, 0x28, 0x1d, 0x42, 0xd2, 0x42, 0xfa, 0x61, 0x87, 0x21, 0x30, 0xc4, + 0xf3, 0x1e, 0x44, 0xa0, 0x08, 0x43, 0xca, 0xab, 0x27, 0x12, 0x3d, 0xb0, 0x4b, 0x20, 0xbf, 0x51, + 0x3f, 0xf8, 0xa9, 0x29, 0x1e, 0xd7, 0x2b, 0x99, 0x81, 0xab, 0xd3, 0x89, 0xca, 0xe5, 0x71, 0xfb, + 0x54, 0xf8, 0xbe, 0x7f, 0xe9, 0x51, 0xbe, 0x9a, 0x9d, 0x42, 0x8b, 0x95, 0xb7, 0x91, 0x4e, 0x26, + 0x45, 0x95, 0xaf, 0x3f, 0x9a, 0x3a, 0xd7, 0x9a, 0xeb, 0x75, 0x7f, 0xcd, 0x30, 0xe6, 0xc2, 0x56, + 0x38, 0xb7, 0xcb, 0x3c, 0x71, 0x92, 0x25, 0x13, 0x82, 0x8c, 0x32, 0x8b, 0x99, 0x17, 0x25, 0x90, + 0xd0, 0xc8, 0x6c, 0x71, 0x0c, 0x1b, 0x04, 0xf0, 0xbb, 0xaa, 0x87, 0xcb, 0xce, 0xc3, 0xf1, 0x7f, + 0x6d, 0x10, 0x60, 0x28, 0x3c, 0xe3, 0xe4, 0xee, 0x03, 0x6b, 0x3b, 0x43, 0x91, 0x1d, 0x51, 0x15, + 0x78, 0x84, 0x3e, 0xbc, 0x8f, 0xec, 0x1a, 0xe0, 0xf9, 0x0e, 0x98, 0x4d, 0x88, 0x07, 0x06, 0xfc, + 0xef, 0x87, 0xa6, 0x7b, 0xea, 0xe5, 0x44, 0x85, 0xcc, 0x48, 0xe5, 0x4f, 0x42, 0x16, 0xed, 0xa0, + 0x31, 0x9b, 0x06, 0xdf, 0x84, 0x97, 0x8c, 0x58, 0x16, 0x19, 0xe9, 0x26, 0x35, 0xf3, 0xdc, 0x3b, + 0xc1, 0x92, 0x3d, 0x28, 0x6b, 0x4e, 0xf1, 0xac, 0x24, 0x34, 0x2e, 0x37, 0xe8, 0xea, 0xdb, 0xe5, + 0x05, 0xac, 0xf1, 0xd0, 0xa6, 0x16, 0x1b, 0x04, 0xc8, 0x1c, 0xaf, 0x8f, 0x35, 0xae, 0xf7, 0xa1, + 0xde, 0x82, 0x58, 0xaf, 0x03, 0x91, 0x32, 0x1f, 0xed, 0x88, 0x8d, 0x8c, 0x87, 0xf5, 0xb2, 0xc8, + 0x83, 0x88, 0x0f, 0x90, 0x03, 0xf3, 0xe2, 0xa1, 0x12, 0xb4, 0x1c, 0x55, 0xaa, 0xf5, 0xe4, 0xd2, + 0x02, 0x4c, 0x45, 0xde, 0xea, 0x54, 0x49, 0xc1, 0xb8, 0xc1, 0x07, 0x46, 0x82, 0xc2, 0x58, 0xb1, + 0x40, 0x00, 0x48, 0x45, 0xc8, 0xee, 0x88, 0xdb, 0x24, 0x67, 0x15, 0xeb, 0x79, 0xc8, 0xdd, 0xfd, + 0x12, 0xf9, 0x92, 0x61, 0x68, 0x3d, 0xc8, 0x32, 0xad, 0xde, 0x4f, 0x05, 0xee, 0x68, 0x1b, 0x8b, + 0x78, 0xfc, 0x69, 0x1e, 0x7c, 0xae, 0xb7, 0x68, 0x11, 0xa0, 0xc9, 0xd9, 0x5a, 0xa9, 0xd3, 0xe4, + 0x78, 0xfd, 0x0a, 0xda, 0xdd, 0x3e, 0x60, 0x2c, 0x29, 0xa8, 0x78, 0xf1, 0xaf, 0x88, 0x0d, 0x19, + 0x6c, 0x38, 0x67, 0x6f, 0x79, 0x8e, 0x1d, 0x54, 0x4f, 0x2c, 0xcc, 0x15, 0x9c, 0x38, 0xbf, 0x38, + 0x21, 0xab, 0x52, 0xf3, 0x83, 0xf1, 0x65, 0x48, 0x4d, 0xf4, 0xa8, 0xe0, 0x69, 0x1e, 0x82, 0xc8, + 0xc3, 0x3e, 0x79, 0xf0, 0xff, 0xba, 0xcc, 0x59, 0x70, 0x10, 0x32, 0x33, 0x77, 0x12, 0x1b, 0xf4, + 0xea, 0xdb, 0xf5, 0xdd, 0x46, 0x04, 0x1a, 0xfc, 0x2a, 0xb2, 0xf1, 0xd4, 0xbd, 0x15, 0xbb, 0x87, + 0x72, 0x36, 0x84, 0xef, 0x49, 0x9f, 0x93, 0xbf, 0x48, 0xfb, 0xf7, 0x6b, 0x5d, 0x4a, 0x27, 0x2d, + 0x8c, 0x3f, 0x81, 0x58, 0x66, 0xd9, 0xf7, 0x6a, 0xb0, 0x22, 0xb3, 0xb9, 0x7b, 0x5e, 0x32, 0x59, + 0x10, 0xc8, 0xc9, 0x07, 0xa4, 0x89, 0xe0, 0xdc, 0x84, 0xb0, 0x6f, 0xdd, 0x1b, 0xe7, 0x2d, 0x1e, + 0x57, 0x17, 0xe0, 0x40, 0xbe, 0xa9, 0x91, 0x31, 0x8b, 0x58, 0x8e, 0xa1, 0xd9, 0xdc, 0x70, 0xa6, + 0x95, 0x72, 0xf4, 0x4f, 0x93, 0x56, 0xf1, 0x36, 0x5b, 0x7a, 0x7b, 0xc7, 0xbb, 0xc5, 0x95, 0x7b, + 0x48, 0x26, 0xe5, 0x1c, 0xd7, 0xe1, 0xae, 0x77, 0xe6, 0xf2, 0xca, 0x31, 0x3a, 0x60, 0xc3, 0xbb, + 0x56, 0x2e, 0xc5, 0x6d, 0x20, 0xe4, 0xcc, 0x0a, 0x3c, 0x28, 0xcc, 0xbb, 0x5e, 0xae, 0xc8, 0xee, + 0x51, 0xd5, 0xf4, 0x70, 0xea, 0x1c, 0x47, 0xdf, 0x26, 0x5e, 0xde, 0xe9, 0x09, 0x92, 0x58, 0xfc, + 0xda, 0xc1, 0xd7, 0x38, 0x59, 0xb2, 0x7d, 0xae, 0x94, 0xf6, 0xf6, 0xd5, 0x36, 0xb0, 0xe2, 0x1f, + 0xba, 0xdc, 0xca, 0x2c, 0xf7, 0x5d, 0x00, 0x2f, 0xb6, 0x40, 0xa6, 0x90, 0xe5, 0xca, 0x52, 0x06, + 0x25, 0x52, 0xd8, 0x68, 0x0a, 0x40, 0x79, 0xd7, 0xd2, 0xea, 0x88, 0x3a, 0x51, 0x18, 0x33, 0xd7, + 0xa9, 0x17, 0x90, 0xa1, 0xa7, 0xcf, 0xad, 0x19, 0x8f, 0xa7, 0xcd, 0x94, 0xee, 0xd1, 0x6a, 0xa2, + 0x72, 0xcb, 0xdc, 0x5b, 0xaf, 0x44, 0x12, 0x91, 0x19, 0x34, 0x7f, 0x18, 0x07, 0xe8, 0x97, 0x4a, + 0x9b, 0x51, 0x2b, 0x55, 0x12, 0x01, 0x2a, 0xe2, 0x9e, 0xc5, 0xcb, 0x0c, 0xc7, 0x37, 0xc9, 0xd0, + 0x8c, 0xd7, 0x1d, 0xd3, 0x8a, 0x1f, 0x19, 0xa9, 0x25, 0xd1, 0x2e, 0x99, 0xf8, 0xab, 0x3d, 0xa5, + 0x72, 0x04, 0xcb, 0x61, 0xc8, 0xff, 0xd2, 0x39, 0x71, 0xcc, 0xbc, 0x57, 0x61, 0x5b, 0xa1, 0xa9, + 0x82, 0x60, 0xd6, 0xc9, 0x44, 0x31, 0x87, 0x1f, 0x2a, 0xb2, 0xda, 0xab, 0x00, 0x41, 0x86, 0x5e, + 0x73, 0x3b, 0x75, 0x12, 0x9a, 0x74, 0xb1, 0x80, 0xf7, 0x8a, 0x83, 0xe6, 0x03, 0x20, 0xa2, 0x69, + 0xe8, 0xac, 0xab, 0xc5, 0xc0, 0x67, 0x76, 0x9d, 0x0e, 0xb9, 0xe8, 0xc8, 0x0f, 0xcf, 0x60, 0xa2, + 0x80, 0x5e, 0xde, 0x58, 0x72, 0x5c, 0x7f, 0xf6, 0x9d, 0x21, 0xa2, 0x02, 0xdf, 0xea, 0xf8, 0x27, + 0xee, 0xde, 0x16, 0x66, 0xc4, 0x1f, 0xe8, 0x61, 0x69, 0x67, 0x8c, 0xd7, 0x8b, 0x83, 0xe7, 0x7e, + 0x0f, 0x3f, 0xa2, 0x7d, 0xc7, 0xd5, 0xfe, 0x04, 0x13, 0xfb, 0x3b, 0xa9, 0x30, 0x63, 0xc9, 0x42, + 0x54, 0x08, 0xb4, 0x51, 0xca, 0x2e, 0x1c, 0x42, 0xa7, 0xec, 0xb2, 0x7e, 0xd3, 0xdb, 0x5d, 0x54, + 0x17, 0x14, 0x99, 0x3f, 0xe5, 0xa9, 0xd7, 0x62, 0x49, 0x8e, 0xb7, 0x2f, 0xe2, 0x56, 0x5f, 0x44, + 0x67, 0xcd, 0x89, 0xb2, 0x57, 0xcb, 0x69, 0x4a, 0x11, 0x64, 0x37, 0xd0, 0x93, 0x48, 0x8a, 0x9a, + 0x4e, 0x44, 0xbd, 0x5e, 0x19, 0xce, 0x6d, 0x66, 0xea, 0x67, 0xbb, 0xe3, 0x0a, 0xc0, 0xab, 0xe8, + 0x93, 0x1e, 0x77, 0xe7, 0x08, 0x17, 0x63, 0x81, 0x41, 0xc4, 0xec, 0xf7, 0xa4, 0x69, 0xee, 0x5c, + 0x6c, 0x0f, 0xc2, 0x54, 0x50, 0x73, 0xd6, 0x31, 0x57, 0xef, 0xb1, 0x59, 0xb6, 0xb3, 0x9f, 0x6c, + 0xe1, 0x3a, 0x62, 0x67, 0xa7, 0x6e, 0xc7, 0xfa, 0x96, 0x8a, 0xec, 0x4f, 0x54, 0xce, 0x70, 0xc3, + 0xbb, 0xc8, 0xb5, 0xa6, 0x6a, 0xc1, 0x62, 0x9a, 0x42, 0x7a, 0x8d, 0xf4, 0xc5, 0xfa, 0x40, 0xc3, + 0xa0, 0x10, 0x80, 0xf6, 0x9c, 0x47, 0x99, 0xcf, 0xbb, 0xd1, 0x2b, 0xf6, 0xe7, 0xd7, 0xdd, 0x4e, + 0xbb, 0x00, 0x16, 0x2f, 0x0e, 0xd1, 0xcc, 0x29, 0x93, 0x80, 0xfa, 0xbc, 0x55, 0x31, 0x86, 0x9a, + 0xd5, 0x69, 0x62, 0x53, 0x9d, 0x33, 0x16, 0x9d, 0x10, 0xb2, 0x24, 0x0b, 0x45, 0x18, 0x93, 0x4a, + 0x15, 0x9c, 0x10, 0xb8, 0x97, 0xb3, 0xb7, 0xe1, 0x0c, 0x08, 0xac, 0x9e, 0x96, 0x23, 0x42, 0x0c, + 0x1a, 0xd8, 0xa5, 0xb7, 0x51, 0x29, 0x23, 0x37, 0x82, 0x2a, 0x0b, 0xb1, 0x92, 0xb2, 0x56, 0x4c, + 0x33, 0xf9, 0x8f, 0x75, 0x9f, 0xa9, 0x05, 0xcc, 0x87, 0xa0, 0x99, 0x0d, 0x2a, 0x39, 0x8d, 0x85, + 0x57, 0x13, 0xba, 0x1f, 0x78, 0x66, 0x62, 0x20, 0xdb, 0x62, 0xf4, 0x15, 0xd2, 0x43, 0x1e, 0xc0, + 0xd1, 0x1b, 0x10, 0x56, 0xff, 0x75, 0x3d, 0x00, 0xb4, 0x40, 0xc0, 0xf9, 0x65, 0x6b, 0x0e, 0xea, + 0x9a, 0xb8, 0xd0, 0xcc, 0x3a, 0xae, 0x11, 0x1c, 0x58, 0xba, 0x03, 0xbb, 0x6f, 0x32, 0xce, 0x50, + 0xb2, 0xd5, 0x5e, 0x26, 0x4a, 0x83, 0x13, 0x54, 0xb8, 0xe9, 0x4e, 0xa7, 0x3a, 0x3c, 0x26, 0xde, + 0x1b, 0xee, 0xe7, 0x49, 0x96, 0x64, 0xe3, 0x9e, 0x3b, 0x99, 0x99, 0xe0, 0xa4, 0x8f, 0x2f, 0x27, + 0x4a, 0x4c, 0x04, 0xd3, 0x58, 0xc7, 0x5b, 0x9c, 0x12, 0x07, 0xa2, 0x7f, 0x90, 0x29, 0xeb, 0xe4, + 0x37, 0x9f, 0xcd, 0x8f, 0xb4, 0xbf, 0xf5, 0x46, 0x66, 0xdb, 0x9e, 0x19, 0x1d, 0x34, 0x2d, 0x6b, + 0xf0, 0x10, 0xe7, 0x13, 0x2f, 0x1e, 0x38, 0x38, 0xc2, 0xce, 0xe8, 0x1b, 0x64, 0x08, 0x48, 0xd1, + 0xd4, 0xe9, 0xd5, 0xd4, 0xca, 0xe7, 0xc3, 0x40, 0x2e, 0xf2, 0x60, 0x87, 0xaf, 0xf5, 0x93, 0x17, + 0x35, 0x37, 0x1f, 0x95, 0x1f, 0x79, 0xc3, 0x9e, 0x6d, 0xb3, 0xc4, 0xb0, 0x8c, 0xd0, 0x4b, 0x26, + 0x8b, 0x02, 0xd2, 0x20, 0x38, 0xfd, 0x3f, 0xef, 0x27, 0x88, 0x69, 0xfe, 0x01, 0x31, 0x03, 0xfc, + 0x45, 0xe0, 0xa0, 0xe7, 0x30, 0x83, 0x4e, 0x2f, 0x76, 0x86, 0x96, 0x14, 0x3a, 0xc1, 0x56, 0x93, + 0x4a, 0xee, 0xdd, 0x28, 0xa0, 0x77, 0x48, 0x19, 0x7c, 0x9c, 0x47, 0xad, 0x9f, 0x47, 0xec, 0xeb, + 0x12, 0x5b, 0x1c, 0xf3, 0x49, 0xa8, 0x73, 0xc3, 0x64, 0xdf, 0x36, 0xc1, 0x2b, 0x08, 0x24, 0x90, + 0x63, 0x4d, 0x66, 0x33, 0xbd, 0x3c, 0x28, 0x0f, 0x3c, 0x0f, 0x87, 0xfd, 0x84, 0x8f, 0x09, 0xb9, + 0x3f, 0xfb, 0x2c, 0xab, 0x5d, 0x9c, 0xd0, 0xbf, 0x3f, 0x51, 0xba, 0x95, 0x33, 0xef, 0x67, 0xd0, + 0x5f, 0x08, 0x8e, 0xa5, 0x5e, 0xa4, 0x0f, 0x09, 0xd7, 0x67, 0xaf, 0xaf, 0x59, 0xf1, 0xef, 0x88, + 0x92, 0xdb, 0x66, 0x3d, 0x8a, 0x73, 0x88, 0x62, 0x7d, 0x0e, 0x18, 0xa4, 0x1c, 0x77, 0x26, 0xf8, + 0xe9, 0x9d, 0x9b, 0xec, 0xdf, 0xfc, 0x0c, 0xf7, 0x96, 0xcd, 0xc0, 0xd8, 0x44, 0x94, 0xfb, 0xca, + 0xad, 0x33, 0x4d, 0x93, 0xd3, 0xd2, 0x8f, 0xe7, 0xf3, 0x68, 0x04, 0x69, 0x26, 0xd0, 0x53, 0x55, + 0x04, 0x15, 0x33, 0x84, 0xc5, 0x34, 0x18, 0x08, 0x47, 0xf0, 0x8f, 0x06, 0x42, 0xe9, 0x73, 0xca, + 0x86, 0x81, 0x0c, 0x7e, 0x6c, 0xc5, 0x7b, 0x45, 0x09, 0x7a, 0xcc, 0xd9, 0x3c, 0xd9, 0x5f, 0xb1, + 0x6f, 0x05, 0xd7, 0xdf, 0x00, 0x61, 0x12, 0x41, 0x48, 0xbe, 0xca, 0xaa, 0xc3, 0xd6, 0xdf, 0xef, + 0x72, 0x26, 0x8c, 0xe3, 0x62, 0xc4, 0xc9, 0xa5, 0xb0, 0x51, 0x3e, 0xd5, 0x16, 0x91, 0xd3, 0xcf, + 0x36, 0x73, 0x63, 0x30, 0xcf, 0xf9, 0xf1, 0xe1, 0x1a, 0xce, 0xc2, 0x98, 0xae, 0x7b, 0x5f, 0xdc, + 0x07, 0xcc, 0x4d, 0xeb, 0x19, 0x9c, 0x78, 0x37, 0x1c, 0xbb, 0x69, 0x36, 0xc8, 0xb5, 0xcc, 0xdb, + 0x35, 0x8d, 0x97, 0xca, 0x40, 0x5d, 0xfc, 0x6a, 0xd9, 0x69, 0x28, 0xe3, 0x9d, 0x88, 0xba, 0x55, + 0x76, 0xca, 0x57, 0x22, 0x45, 0x47, 0xfe, 0x5f, 0x20, 0x9a, 0x34, 0x48, 0xde, 0x3d, 0x92, 0x42, + 0x36, 0x23, 0xd1, 0x50, 0x7d, 0x07, 0x67, 0x8d, 0x52, 0x2b, 0x1c, 0xea, 0xe0, 0x0c, 0xec, 0x71, + 0x4f, 0xac, 0x01, 0x31, 0xcd, 0x07, 0xcf, 0x14, 0x40, 0x3e, 0x58, 0xac, 0x7a, 0xec, 0x96, 0xa1, + 0x62, 0x71, 0xf5, 0x10, 0x90, 0x31, 0xb2, 0x6b, 0x5c, 0xcf, 0xbe, 0xc6, 0x9c, 0x87, 0x9e, 0xf4, + 0x45, 0x89, 0xb8, 0x52, 0x3e, 0x37, 0x08, 0xd3, 0xb8, 0x98, 0x6e, 0x64, 0x97, 0xcb, 0xc5, 0xc7, + 0x8a, 0xa6, 0x78, 0xb7, 0x0b, 0x59, 0x10, 0x0e, 0x7d, 0xcb, 0x44, 0xd9, 0x43, 0xf8, 0x30, 0xeb, + 0xa2, 0xe7, 0x76, 0x08, 0x96, 0x12, 0x22, 0xeb, 0x4a, 0x0a, 0xad, 0xfa, 0xd5, 0x88, 0x96, 0x68, + 0x55, 0x13, 0x20, 0x0a, 0xa3, 0x5a, 0xf7, 0x2d, 0x45, 0x20, 0x49, 0x99, 0xbf, 0xe1, 0x58, 0x01, + 0xb7, 0x25, 0x2a, 0xb9, 0x1f, 0x3e, 0x57, 0x13, 0x78, 0x61, 0xf4, 0x0d, 0xe2, 0xde, 0x8b, 0xeb, + 0x87, 0x49, 0xc1, 0x15, 0xa3, 0x43, 0xc4, 0x3f, 0xc0, 0x8d, 0x14, 0xaf, 0xa2, 0xfc, 0x32, 0x17, + 0x1f, 0xa5, 0x59, 0x4c, 0x57, 0x10, 0xc2, 0x9d, 0xa8, 0xe2, 0xd0, 0x95, 0x9b, 0x50, 0x1f, 0x4e, + 0xe7, 0xc1, 0xf6, 0x7c, 0xb3, 0xa0, 0xbe, 0x11, 0xf8, 0x26, 0x36, 0x84, 0x93, 0x13, 0xc3, 0xa9, + 0xa2, 0x95, 0xb8, 0xe1, 0x08, 0x23, 0x33, 0x5f, 0x5e, 0x3c, 0xa8, 0x7f, 0xcc, 0x6e, 0x19, 0x2c, + 0x05, 0xf6, 0x99, 0x12, 0x63, 0xa5, 0xe3, 0x47, 0xeb, 0x96, 0x4d, 0x5f, 0x57, 0xe0, 0x63, 0x59, + 0x68, 0x06, 0x5f, 0x6d, 0xaa, 0xfa, 0xba, 0x7b, 0x9a, 0xbf, 0x57, 0x99, 0xa3, 0xa2, 0xfd, 0x3d, + 0x6c, 0xda, 0xed, 0x61, 0xf7, 0x8b, 0xae, 0x5a, 0x08, 0x81, 0xf3, 0x8e, 0xf6, 0x28, 0xda, 0x24, + 0x69, 0x2d, 0xac, 0x03, 0x54, 0x6b, 0x47, 0x74, 0xd7, 0x7e, 0x70, 0x3e, 0xb3, 0xbc, 0x88, 0xbf, + 0x0a, 0x79, 0x8a, 0xec, 0x1f, 0xb7, 0xbd, 0x62, 0x0b, 0x33, 0x9f, 0xe4, 0xc6, 0xc4, 0x91, 0xc0, + 0x59, 0x49, 0x90, 0x5a, 0xa0, 0x51, 0x7b, 0xa9, 0x07, 0x4a, 0x19, 0x9e, 0x2a, 0x69, 0xb8, 0x0a, + 0x70, 0x75, 0xa2, 0x08, 0xe9, 0x6d, 0xfa, 0x22, 0x7c, 0x61, 0x89, 0xd0, 0x73, 0x05, 0x6f, 0xe5, + 0x82, 0x98, 0x72, 0xa4, 0xac, 0x41, 0x78, 0x41, 0xe8, 0x6d, 0xd6, 0x56, 0x3b, 0xfa, 0xc5, 0x9d, + 0x3e, 0x89, 0x16, 0x75, 0x59, 0x10, 0xe2, 0x39, 0x02, 0x04, 0xc0, 0x66, 0xaa, 0x59, 0xff, 0x21, + 0x0b, 0xca, 0x20, 0x82, 0x2b, 0x7d, 0xd3, 0x61, 0xb8, 0x73, 0x89, 0xc0, 0x41, 0xc2, 0x4b, 0xe2, + 0x29, 0xcd, 0xd8, 0xe6, 0xde, 0x40, 0x01, 0x12, 0x18, 0xe5, 0x7a, 0xfd, 0x90, 0x89, 0x15, 0x0a, + 0x5b, 0x65, 0xe1, 0x38, 0x93, 0x79, 0x93, 0x24, 0xa5, 0x75, 0x13, 0xdc, 0x4f, 0x26, 0xbf, 0xc0, + 0x5c, 0xc7, 0xea, 0x72, 0xb1, 0x3e, 0x30, 0x30, 0x24, 0xc1, 0x19, 0x1f, 0xf4, 0xf1, 0x77, 0x1a, + 0x95, 0x26, 0x57, 0xca, 0x51, 0x36, 0x70, 0x23, 0x41, 0x67, 0x51, 0x9d, 0xca, 0xd9, 0xd3, 0xce, + 0x52, 0xa8, 0x72, 0xba, 0x00, 0xb8, 0x11, 0x52, 0x64, 0xa2, 0x03, 0x7f, 0x6a, 0x45, 0xea, 0x6c, + 0x00, 0x40, 0x86, 0x40, 0x21, 0x4b, 0x61, 0x77, 0x40, 0x10, 0x95, 0xd0, 0x6d, 0x9e, 0xb7, 0xa1, + 0xbd, 0xfb, 0xee, 0x42, 0xf1, 0xe4, 0x4e, 0x40, 0xaa, 0x1e, 0x70, 0x40, 0x65, 0x9c, 0x9b, 0x87, + 0xf0, 0x83, 0x32, 0x7d, 0xef, 0x04, 0x41, 0x1a, 0xfb, 0x95, 0x39, 0x3f, 0x90, 0x7c, 0xc2, 0xb5, + 0x48, 0x5c, 0x21, 0xe1, 0x5d, 0x10, 0x8d, 0x26, 0x89, 0x3c, 0xc0, 0xe6, 0x9e, 0x27, 0x30, 0x4b, + 0x61, 0x08, 0x23, 0x31, 0x1c, 0xa0, 0x90, 0x70, 0xc1, 0x5a, 0x6a, 0x7d, 0x65, 0x78, 0xe9, 0x52, + 0xe0, 0x6a, 0x83, 0xbf, 0x93, 0x15, 0x5a, 0x0a, 0x7b, 0xbf, 0x6f, 0xe0, 0xf3, 0x11, 0xd5, 0x6e, + 0xd6, 0xd7, 0x28, 0xd0, 0x9f, 0x7f, 0xe7, 0x49, 0x7b, 0xdb, 0x47, 0x20, 0xae, 0x8f, 0xe8, 0x2b, + 0x74, 0x26, 0x77, 0xc5, 0x23, 0xe2, 0x53, 0x63, 0xc7, 0xe4, 0x5a, 0xd3, 0xab, 0x96, 0xb7, 0xf0, + 0xd3, 0x8a, 0x9e, 0x90, 0x3d, 0x7c, 0x22, 0xb0, 0x03, 0x55, 0x8f, 0x27, 0xf1, 0x6b, 0x09, 0x98, + 0xb2, 0x75, 0xe2, 0x8a, 0x2e, 0x1e, 0xb4, 0x67, 0x8b, 0xc8, 0xe6, 0xce, 0x95, 0x91, 0x14, 0xf6, + 0xd2, 0x67, 0x3a, 0xc7, 0x55, 0x2f, 0x20, 0x82, 0x75, 0x8c, 0xb6, 0x86, 0xa2, 0xcf, 0x3a, 0x8f, + 0x89, 0x36, 0x8b, 0x7b, 0x55, 0x56, 0x05, 0x27, 0x41, 0x82, 0xa7, 0x22, 0x74, 0xab, 0xd6, 0x4a, + 0x76, 0x80, 0x22, 0x44, 0x7c, 0xed, 0x02, 0x11, 0xd8, 0x21, 0x85, 0x58, 0x6c, 0xfa, 0xdd, 0xe4, + 0x86, 0xdb, 0x32, 0xd7, 0xeb, 0x49, 0x17, 0x87, 0x11, 0x50, 0x0c, 0x66, 0x57, 0x0e, 0x3a, 0xc6, + 0x31, 0x94, 0xbb, 0x1a, 0x3d, 0x26, 0x11, 0xae, 0x6e, 0xd9, 0x8b, 0x61, 0x43, 0xf4, 0x76, 0x13, + 0x89, 0x26, 0xe9, 0x53, 0x7e, 0xd2, 0xde, 0x2d, 0x17, 0x6b, 0xb4, 0x09, 0xbb, 0xad, 0x40, 0xbb, + 0x68, 0x46, 0xf7, 0x6e, 0x4d, 0xc9, 0x14, 0x76, 0xba, 0xb8, 0x22, 0x9b, 0x3b, 0x64, 0xc4, 0xfb, + 0x6a, 0x76, 0xb7, 0x35, 0xb6, 0x0f, 0xe7, 0x57, 0x39, 0xec, 0x2c, 0x07, 0x8b, 0x66, 0x72, 0x1b, + 0x49, 0x1c, 0x0b, 0x4f, 0xb1, 0x9b, 0x6f, 0x04, 0x44, 0xc6, 0x45, 0x88, 0x8d, 0xc4, 0xd1, 0x33, + 0xbd, 0x47, 0x12, 0xf6, 0x35, 0x42, 0xac, 0x67, 0x20, 0x8a, 0x7e, 0x0a, 0x43, 0x7a, 0x8b, 0x25, + 0xca, 0x18, 0x52, 0x96, 0xe4, 0x3c, 0x8c, 0xab, 0xeb, 0x72, 0x08, 0x03, 0x15, 0xc0, 0x98, 0x3a, + 0x1d, 0x00, 0x09, 0xc5, 0xc8, 0xdb, 0xf3, 0x3a, 0xe7, 0x41, 0x1b, 0x80, 0xbd, 0x89, 0x52, 0x88, + 0x2d, 0x38, 0xb4, 0x84, 0x56, 0x26, 0xed, 0x6f, 0x84, 0x5c, 0xc7, 0xbb, 0x5c, 0x37, 0xb3, 0xe2, + 0x55, 0xd2, 0xdc, 0xf5, 0xfc, 0xc9, 0xed, 0x5d, 0x63, 0xfc, 0xbb, 0x28, 0xa1, 0xe4, 0x37, 0x85, + 0x70, 0xa4, 0x60, 0x69, 0xaa, 0x35, 0xe2, 0xd4, 0xe1, 0xb7, 0x3a, 0xac, 0x01, 0xc0, 0x1f, 0xa2, + 0x57, 0x5a, 0x4b, 0xa2, 0xf0, 0x51, 0xd5, 0xee, 0xd8, 0x9f, 0x35, 0xb0, 0xfe, 0xe0, 0x8b, 0x0e, + 0x93, 0xa9, 0xd1, 0xe5, 0x4f, 0xef, 0xc3, 0xb9, 0x6e, 0x5a, 0x0c, 0x0f, 0xf0, 0x88, 0x42, 0x19, + 0x1e, 0x9e, 0x24, 0x38, 0x95, 0x30, 0x23, 0xe3, 0x7d, 0xd6, 0xdf, 0x1b, 0x5d, 0x85, 0x75, 0x76, + 0x7d, 0x77, 0x51, 0xc8, 0xae, 0x15, 0xb9, 0x91, 0x78, 0xfa, 0xd9, 0xe7, 0x54, 0x7c, 0x9c, 0x1b, + 0xc0, 0x15, 0x51, 0x61, 0x8e, 0x30, 0x2c, 0x2e, 0x3f, 0x28, 0x6b, 0xbf, 0xc6, 0x73, 0x91, 0x90, + 0xcf, 0xe7, 0x9a, 0xb7, 0x6d, 0xb7, 0x46, 0x39, 0x1d, 0x2f, 0x91, 0xd3, 0x7b, 0xc9, 0xd8, 0x46, + 0x13, 0x3a, 0x5b, 0x36, 0x0b, 0x1c, 0x11, 0x8e, 0x3d, 0xa1, 0xf0, 0xf5, 0xed, 0x73, 0x82, 0x44, + 0xaa, 0xa5, 0x43, 0x69, 0x00, 0x26, 0x93, 0x40, 0xa4, 0x34, 0x11, 0x97, 0xb6, 0xe1, 0x39, 0xc7, + 0x28, 0xfb, 0xad, 0x0a, 0x0a, 0x3b, 0xe0, 0x55, 0x30, 0x70, 0x9c, 0x41, 0xa1, 0x54, 0x40, 0x3b, + 0xcd, 0x1e, 0x53, 0x40, 0x5a, 0x8b, 0x63, 0xd0, 0x14, 0xb9, 0x63, 0xdb, 0x70, 0xd9, 0x2c, 0xbc, + 0x15, 0xa5, 0x91, 0xe6, 0xb5, 0xba, 0x1e, 0xb4, 0xf8, 0xf3, 0x79, 0x9b, 0xb4, 0xa7, 0xf3, 0x65, + 0x91, 0x1d, 0x10, 0x72, 0x72, 0x96, 0x06, 0x47, 0xef, 0xea, 0x60, 0x17, 0xe6, 0x5e, 0x9d, 0xbe, + 0x75, 0xb2, 0x30, 0xc6, 0x3b, 0x80, 0x0e, 0x96, 0xd5, 0xa0, 0x41, 0x07, 0xc8, 0xd8, 0x33, 0x54, + 0xd3, 0xb0, 0xe8, 0x23, 0xcd, 0x40, 0x58, 0xf8, 0x98, 0x62, 0xdd, 0x8f, 0x33, 0x3d, 0x08, 0x40, + 0x66, 0x5d, 0x91, 0x85, 0x8b, 0x2d, 0x4c, 0x8d, 0xb5, 0x93, 0xbc, 0x8a, 0x69, 0x37, 0x89, 0x16, + 0xdf, 0xe5, 0xe2, 0x01, 0xe6, 0xe1, 0x6c, 0x30, 0x42, 0x97, 0x8d, 0xd4, 0xcf, 0x44, 0xb5, 0x4d, + 0x11, 0xd0, 0x33, 0xd5, 0x58, 0xd0, 0x70, 0x66, 0x6a, 0x5d, 0x05, 0x32, 0x88, 0xc7, 0x97, 0x1a, + 0x1f, 0x6b, 0xcd, 0xd8, 0x01, 0x9a, 0xb4, 0x93, 0xf8, 0x39, 0x29, 0x39, 0x14, 0xb0, 0x1a, 0x3d, + 0x31, 0xe3, 0x82, 0xa3, 0x42, 0x0d, 0x0c, 0x67, 0xa7, 0x52, 0x7b, 0x3d, 0x02, 0xe3, 0x2f, 0x6e, + 0x52, 0x99, 0x07, 0x89, 0x37, 0x79, 0xa6, 0x77, 0xab, 0x03, 0xf0, 0xdb, 0x86, 0xff, 0x55, 0xab, + 0x6c, 0xa2, 0x82, 0xbe, 0xa0, 0x11, 0xa0, 0x8b, 0xbd, 0xe9, 0x08, 0x54, 0xe2, 0xef, 0x5a, 0x3b, + 0x7e, 0xd6, 0xa9, 0xeb, 0x81, 0x05, 0x44, 0x4c, 0x22, 0x45, 0xcd, 0xe3, 0x19, 0x11, 0x86, 0x67, + 0xab, 0xe8, 0x2e, 0x8f, 0x78, 0xd8, 0xa6, 0x02, 0xe4, 0x53, 0x21, 0x1e, 0x6e, 0x28, 0x60, 0xaf, + 0x2f, 0x85, 0x0a, 0xc5, 0x86, 0xf6, 0xa7, 0xe5, 0xb3, 0x1e, 0x7b, 0x3d, 0xf9, 0x34, 0x5e, 0x33, + 0x37, 0x90, 0x57, 0xd1, 0xb3, 0x73, 0xbc, 0x79, 0x7f, 0xc8, 0x2d, 0x07, 0x99, 0xad, 0x61, 0x32, + 0x61, 0x0d, 0x0a, 0xb9, 0xb0, 0x08, 0x97, 0xef, 0x55, 0x7b, 0xfb, 0x60, 0x15, 0xdf, 0x7a, 0x02, + 0xd2, 0x4d, 0x8d, 0xfd, 0x7d, 0xce, 0x51, 0xd9, 0x50, 0x85, 0x2c, 0xfb, 0x8e, 0xeb, 0x5e, 0x72, + 0x16, 0x3e, 0x7e, 0xbc, 0xde, 0x4e, 0x7a, 0xcb, 0xfb, 0x59, 0x83, 0x1f, 0x8e, 0x8a, 0x26, 0x3c, + 0x70, 0x5a, 0x3d, 0xbe, 0xed, 0x27, 0x70, 0xab, 0x13, 0x55, 0xd9, 0x08, 0x00, 0xc5, 0xde, 0x75, + 0xd5, 0x50, 0x09, 0x45, 0x23, 0x17, 0x0a, 0x1f, 0x55, 0x2e, 0x97, 0x94, 0xce, 0x78, 0xe9, 0x16, + 0x02, 0x5b, 0x08, 0xa8, 0xc2, 0xc0, 0x22, 0x08, 0x66, 0x0b, 0x7f, 0x8b, 0x79, 0xc8, 0xb1, 0x84, + 0xb4, 0x0a, 0x28, 0xf6, 0x21, 0x8d, 0x0f, 0xc9, 0xda, 0xfc, 0x2e, 0xcf, 0xc9, 0x2f, 0x27, 0x85, + 0x1a, 0xec, 0x1d, 0xa1, 0x74, 0x93, 0x07, 0x9c, 0x18, 0xb0, 0x24, 0xee, 0x0a, 0xbc, 0x06, 0x14, + 0x2f, 0xc4, 0x2c, 0x4a, 0xaf, 0x12, 0x7a, 0x39, 0x80, 0x1b, 0xa4, 0x56, 0x64, 0xc7, 0x34, 0x61, + 0xb8, 0xdd, 0x45, 0xa3, 0x1c, 0x9d, 0xe2, 0x70, 0xbc, 0x4f, 0x19, 0x1c, 0x03, 0xcd, 0x08, 0x3b, + 0x35, 0x0c, 0xdd, 0x5e, 0x84, 0x0a, 0xba, 0xc5, 0xe6, 0xd8, 0x39, 0x97, 0xcf, 0x40, 0x95, 0xf5, + 0xc9, 0x8c, 0x90, 0xa6, 0x3e, 0xb7, 0xd0, 0x7a, 0x17, 0x38, 0xa7, 0x8a, 0x81, 0x01, 0xce, 0x27, + 0xb2, 0x18, 0x99, 0xef, 0xd5, 0x27, 0xad, 0x4c, 0x13, 0xf6, 0x7e, 0x1b, 0x92, 0xcd, 0xef, 0x0d, + 0x90, 0x84, 0x39, 0xfe, 0x62, 0x40, 0xa5, 0x30, 0x84, 0xf3, 0x3c, 0xa1, 0xaa, 0x27, 0xfd, 0xfd, + 0x63, 0xb5, 0x5d, 0xa3, 0x49, 0x86, 0xc7, 0xd3, 0xa1, 0xd6, 0x30, 0xbb, 0x55, 0xe8, 0x50, 0xbb, + 0xba, 0x94, 0x35, 0xcd, 0x9c, 0x92, 0xf7, 0x64, 0x65, 0x2f, 0xfd, 0x66, 0xa5, 0xb1, 0x14, 0x4a, + 0x84, 0xaf, 0x55, 0x5a, 0x65, 0x30, 0x7d, 0xca, 0x22, 0x95, 0x9d, 0x45, 0x39, 0x78, 0x04, 0xb4, + 0xcf, 0x8c, 0xe6, 0xf2, 0x8c, 0xfa, 0x37, 0x46, 0x11, 0x71, 0x22, 0x46, 0xea, 0x93, 0xc3, 0x80, + 0x31, 0x79, 0x76, 0xc8, 0x93, 0x84, 0x17, 0xc5, 0x69, 0x89, 0x14, 0x2e, 0x8b, 0x0e, 0x88, 0xde, + 0x2b, 0x5c, 0xa7, 0x53, 0x69, 0x5f, 0x35, 0x5e, 0x06, 0x11, 0x57, 0xc7, 0x67, 0x04, 0x7e, 0x69, + 0xd0, 0x0a, 0x28, 0x89, 0x2f, 0x3d, 0x1f, 0xc8, 0x3d, 0x88, 0x74, 0x87, 0x09, 0x2d, 0x9d, 0x26, + 0x13, 0x89, 0x90, 0xce, 0xe2, 0x79, 0x63, 0x1a, 0xfc, 0x9e, 0x96, 0x45, 0x6f, 0x56, 0x72, 0xbb, + 0x62, 0xab, 0x8e, 0x49, 0x75, 0x1b, 0xeb, 0x2f, 0xfe, 0xbe, 0x2b, 0xa9, 0x15, 0xdd, 0x3a, 0xf4, + 0xa6, 0x43, 0xbe, 0x56, 0xcb, 0xbf, 0x61, 0x6b, 0x8b, 0xd7, 0x89, 0x8d, 0x3d, 0xe0, 0xfb, 0x91, + 0x59, 0x65, 0x02, 0x97, 0xb9, 0x3c, 0x10, 0xa1, 0x01, 0x32, 0xa5, 0xe4, 0x96, 0x8c, 0x13, 0x39, + 0xa7, 0x76, 0x69, 0x5f, 0x03, 0xa8, 0x44, 0x5d, 0xab, 0x6e, 0xfb, 0x72, 0x62, 0x21, 0xbc, 0x9c, + 0x5c, 0x80, 0x89, 0x84, 0xb8, 0x48, 0xa9, 0x47, 0xe6, 0xf7, 0x57, 0x7b, 0xa7, 0xef, 0x99, 0x06, + 0x2c, 0xcc, 0x38, 0x06, 0x32, 0xd0, 0xef, 0x4a, 0xe2, 0x98, 0xcd, 0x94, 0x39, 0xed, 0xdc, 0x99, + 0x77, 0x27, 0x78, 0x2c, 0xa4, 0xf0, 0x45, 0x1b, 0x75, 0x7d, 0x80, 0x42, 0x61, 0xba, 0x33, 0xa8, + 0xcf, 0xb2, 0x58, 0xc8, 0x21, 0x97, 0xd3, 0xb1, 0x35, 0xb9, 0x80, 0x6e, 0xb4, 0x77, 0x3a, 0x24, + 0xe5, 0xfc, 0x5d, 0x3d, 0x87, 0x49, 0x6a, 0x9d, 0x42, 0xa2, 0x73, 0x6d, 0xa1, 0x56, 0x80, 0xcf, + 0xa3, 0x92, 0x18, 0x24, 0x2f, 0x93, 0x9d, 0x14, 0x42, 0xc4, 0x3d, 0x5c, 0x62, 0xa6, 0xb1, 0x5d, + 0x1d, 0x02, 0xf9, 0x2e, 0x6e, 0x3a, 0x80, 0x55, 0xc3, 0x63, 0xa0, 0x4f, 0x23, 0xdf, 0x44, 0x1c, + 0xc4, 0xe2, 0xad, 0x7c, 0xd6, 0xbd, 0x4d, 0x91, 0x9e, 0x8f, 0x79, 0x1f, 0xc3, 0xd0, 0xfa, 0xd2, + 0x2d, 0xcf, 0x81, 0x6c, 0x48, 0xf3, 0x23, 0x0e, 0x06, 0xfe, 0x3a, 0xcb, 0x25, 0x60, 0xc1, 0x67, + 0xdd, 0xbe, 0xe3, 0xf4, 0x6d, 0x05, 0x2a, 0x2e, 0x3b, 0xe5, 0x15, 0x70, 0xbc, 0xb6, 0x60, 0x6f, + 0x38, 0x93, 0x8a, 0xfe, 0xac, 0x26, 0x01, 0x00, 0xb8, 0xf6, 0xe5, 0xb5, 0x02, 0xcd, 0x82, 0xb5, + 0xf8, 0xa5, 0x50, 0xc6, 0x02, 0x5b, 0x8f, 0x9a, 0xb1, 0xa4, 0x02, 0x08, 0xa0, 0xbd, 0xbc, 0xb1, + 0x74, 0xc1, 0xfd, 0xcd, 0xa9, 0x68, 0x70, 0x5a, 0xd4, 0xd3, 0xc1, 0x94, 0x6e, 0x08, 0xa0, 0xbc, + 0xd4, 0xff, 0xf5, 0xd4, 0xe1, 0x2a, 0xe1, 0x60, 0x5d, 0x41, 0x04, 0x98, 0x7c, 0xf8, 0x26, 0x6d, + 0x2f, 0xae, 0x3a, 0x26, 0xbe, 0x4e, 0x28, 0x0c, 0xb3, 0x94, 0xd5, 0x8b, 0xef, 0x0d, 0xcb, 0xaf, + 0xf8, 0x3c, 0xce, 0xa3, 0xbb, 0x90, 0x57, 0x6a, 0x3c, 0xc1, 0xfe, 0x84, 0x68, 0xfe, 0x35, 0xb1, + 0x02, 0xf0, 0xc5, 0xd1, 0xe5, 0xf9, 0xa5, 0x22, 0x37, 0x26, 0xfc, 0x97, 0xe0, 0xd7, 0x03, 0x04, + 0xb5, 0xd8, 0xc2, 0x7e, 0x0e, 0x04, 0x90, 0x1b, 0xbe, 0xc8, 0x06, 0x0e, 0x88, 0xef, 0x88, 0xdf, + 0xfa, 0x94, 0x21, 0xa9, 0x63, 0x29, 0x16, 0xac, 0x3c, 0x61, 0x7f, 0xbe, 0x29, 0xdc, 0x4e, 0x0f, + 0x57, 0x19, 0x68, 0x78, 0xa2, 0x92, 0x00, 0x92, 0xe3, 0xf6, 0xfa, 0x7b, 0xaa, 0xaa, 0xe9, 0x10, + 0x0d, 0xc3, 0xca, 0x18, 0xfd, 0xcc, 0x6d, 0x2e, 0xc6, 0xd7, 0xab, 0x37, 0x25, 0x3c, 0x80, 0x76, + 0xa0, 0xd6, 0x6a, 0x76, 0xf2, 0x00, 0xc4, 0x17, 0x43, 0x7a, 0x44, 0x3b, 0xaf, 0xfa, 0x9d, 0x08, + 0xcb, 0x92, 0x95, 0x0f, 0xda, 0xa2, 0x81, 0x96, 0xd4, 0x85, 0xfa, 0xfe, 0xe8, 0xba, 0x0a, 0xde, + 0x18, 0xe8, 0x3a, 0x1f, 0xa5, 0x33, 0x45, 0xb5, 0x5b, 0xd6, 0xeb, 0x55, 0xe6, 0xfd, 0x71, 0xc5, + 0x9e, 0x5a, 0x0f, 0xae, 0xfe, 0x06, 0x2e, 0x37, 0xaf, 0xd3, 0xac, 0x38, 0x1b, 0xba, 0x76, 0xd1, + 0xef, 0xaf, 0x62, 0xf2, 0xfb, 0xcf, 0xdc, 0x8e, 0x4b, 0x75, 0x81, 0xad, 0xa8, 0x9b, 0x94, 0x6a, + 0x06, 0x0d, 0x97, 0x48, 0xde, 0xab, 0xe7, 0x4c, 0x2f, 0xce, 0xaf, 0x8c, 0x72, 0x5f, 0x12, 0xb6, + 0x49, 0x10, 0xf3, 0x07, 0xb2, 0x48, 0x52, 0xff, 0x65, 0xc9, 0x04, 0xb0, 0x41, 0x05, 0xf6, 0x98, + 0xb9, 0xd9, 0x5c, 0x53, 0x55, 0x8b, 0xec, 0xb7, 0x6d, 0x82, 0xae, 0x74, 0xf2, 0xde, 0x56, 0x1e, + 0xb3, 0xc6, 0x41, 0x17, 0x23, 0xb5, 0x12, 0x25, 0x61, 0x34, 0xd2, 0x3c, 0x67, 0xfa, 0x19, 0xc1, + 0x24, 0x8b, 0xe5, 0xa3, 0x5c, 0x12, 0xc0, 0x0a, 0x36, 0xdd, 0xb2, 0x8b, 0xda, 0xfa, 0xd1, 0xa1, + 0xec, 0x28, 0x8a, 0x0d, 0x32, 0x37, 0x08, 0x0e, 0xb5, 0x97, 0x5b, 0xfd, 0x64, 0xe2, 0xd1, 0x9a, + 0xa7, 0xab, 0xdc, 0xfe, 0x95, 0x50, 0x4c, 0x87, 0x7b, 0xc5, 0x6c, 0x9d, 0x5d, 0x53, 0x46, 0x34, + 0xc0, 0x2e, 0xae, 0x73, 0xe8, 0x9f, 0xe1, 0x7b, 0x18, 0x7e, 0xc4, 0x2b, 0x20, 0x5e, 0x37, 0x2d, + 0xf5, 0x22, 0x8e, 0xf1, 0x9c, 0x76, 0x72, 0xf4, 0x4d, 0xc7, 0xb7, 0xce, 0x1c, 0x15, 0x30, 0x00, + 0xfc, 0xa0, 0x61, 0x74, 0x96, 0x50, 0x91, 0x9c, 0x7d, 0x9a, 0xb9, 0xe1, 0x5c, 0xe0, 0x30, 0x9b, + 0x12, 0x10, 0xdc, 0x33, 0xd9, 0x78, 0x5e, 0x80, 0x87, 0x85, 0xc1, 0x58, 0x89, 0xef, 0x37, 0x9f, + 0x41, 0x6c, 0x55, 0xa9, 0x22, 0x2f, 0xe9, 0x53, 0xdf, 0x98, 0x9f, 0x5d, 0x6c, 0xc6, 0x4e, 0x07, + 0x13, 0x66, 0x4e, 0x84, 0x9d, 0x10, 0x61, 0x45, 0x5e, 0x46, 0x34, 0xa3, 0x6a, 0x65, 0xa0, 0x59, + 0xfc, 0x4a, 0x88, 0x2e, 0x07, 0x06, 0x53, 0x69, 0xd3, 0x81, 0x6e, 0xf6, 0x20, 0x98, 0x21, 0x10, + 0xec, 0x5f, 0x05, 0xcc, 0x58, 0x62, 0x37, 0x3e, 0xb4, 0x38, 0xad, 0x6f, 0xa2, 0x49, 0x79, 0x4d, + 0xe0, 0x2f, 0xc0, 0x43, 0x97, 0x33, 0xad, 0x9a, 0x1a, 0xf5, 0xe5, 0xa3, 0xa4, 0x1c, 0xfe, 0x73, + 0xb8, 0x49, 0x18, 0xdb, 0x1c, 0x2c, 0x1a, 0xbe, 0x72, 0x66, 0x00, 0x00, 0xa6, 0xb3, 0x73, 0xf1, + 0xe6, 0x29, 0xe4, 0xd2, 0x6b, 0x8e, 0xc7, 0x0b, 0x98, 0x17, 0x3d, 0x1a, 0xda, 0xfa, 0xb1, 0x28, + 0x26, 0x32, 0xd2, 0x5a, 0xbe, 0x2f, 0x15, 0xcc, 0x07, 0x25, 0xad, 0xc0, 0xdf, 0x5c, 0x01, 0x75, + 0x63, 0x54, 0xb4, 0x83, 0x15, 0x57, 0x1d, 0x78, 0x8d, 0xc0, 0xfe, 0xf2, 0xda, 0x2d, 0xf1, 0x13, + 0x8c, 0xab, 0x28, 0xca, 0x08, 0xcc, 0xff, 0x23, 0x0f, 0x07, 0xbd, 0xc9, 0x4e, 0xd3, 0x4d, 0xd8, + 0xc3, 0x0f, 0x8b, 0xff, 0xea, 0x74, 0x1d, 0x0e, 0xb0, 0x28, 0xfd, 0xea, 0xb7, 0x60, 0x22, 0x58, + 0x00, 0xd8, 0xeb, 0xa1, 0x68, 0x15, 0xcd, 0x64, 0xdc, 0xd8, 0xc9, 0xd6, 0xe3, 0x6e, 0x88, 0x1b, + 0x04, 0x2f, 0x53, 0xf5, 0xb3, 0x24, 0x79, 0x29, 0xaa, 0x71, 0xa3, 0xae, 0xf3, 0xcd, 0x95, 0x79, + 0xfb, 0xe5, 0x5e, 0xe8, 0x65, 0xf6, 0xe6, 0xd7, 0xfe, 0x5c, 0xa3, 0xfb, 0xdd, 0xbf, 0x5e, 0x50, + 0xa9, 0xa3, 0x20, 0xb5, 0x4e, 0xe9, 0x60, 0x62, 0x16, 0xca, 0x63, 0x33, 0x31, 0xda, 0x0d, 0x4b, + 0x19, 0x97, 0xd7, 0xe8, 0xa8, 0x38, 0x14, 0x85, 0x17, 0xca, 0x7d, 0x26, 0x03, 0x0d, 0xa8, 0x79, + 0x88, 0x6a, 0x20, 0x59, 0xd9, 0x39, 0x33, 0x8f, 0x86, 0x58, 0xe5, 0xf2, 0x1d, 0x90, 0x88, 0x80, + 0xd4, 0xf3, 0x62, 0x6b, 0xf1, 0xc8, 0xff, 0x49, 0x1b, 0xa1, 0x48, 0xd1, 0xff, 0x30, 0x03, 0x68, + 0xa1, 0xbb, 0x04, 0x88, 0x46, 0x68, 0x62, 0xbc, 0xd4, 0x84, 0x7b, 0xd1, 0xe2, 0x5f, 0xbb, 0x44, + 0xd6, 0xbd, 0x50, 0xe4, 0xaa, 0x45, 0xd6, 0x8b, 0x51, 0xc6, 0x91, 0x43, 0x2c, 0x1c, 0x1e, 0x13, + 0xe5, 0x90, 0x03, 0xa3, 0xce, 0x09, 0xf1, 0x63, 0x85, 0xa9, 0x8a, 0x38, 0x55, 0x3f, 0xc1, 0xf9, + 0xad, 0xa9, 0xb2, 0x34, 0xbd, 0x49, 0x91, 0x58, 0xba, 0x65, 0x43, 0x0b, 0xb2, 0x7c, 0xe5, 0xc1, + 0x86, 0x18, 0xd6, 0xc1, 0x89, 0x16, 0x7b, 0x0b, 0xec, 0xbe, 0xa3, 0x51, 0xfb, 0xb3, 0x6e, 0x67, + 0xda, 0xa8, 0xc5, 0x24, 0x96, 0x5d, 0xb3, 0x50, 0xd8, 0x85, 0x09, 0x5f, 0xec, 0x12, 0xc4, 0x2b, + 0x71, 0xa7, 0xe6, 0xaa, 0x83, 0x7a, 0x2f, 0x08, 0xf1, 0x93, 0x0e, 0x3f, 0x99, 0xa1, 0xd4, 0xbc, + 0x8a, 0x69, 0xec, 0x1b, 0x0b, 0xb4, 0x21, 0xca, 0xa4, 0x71, 0x21, 0x23, 0x09, 0x10, 0xf3, 0xd0, + 0xb3, 0x7a, 0xac, 0x53, 0xbd, 0x88, 0xf7, 0x75, 0x7f, 0x99, 0x41, 0x45, 0xd2, 0xb3, 0xee, 0xfb, + 0x0c, 0x45, 0xc8, 0xa9, 0x95, 0x34, 0x19, 0xc5, 0x3b, 0xd5, 0x74, 0x2e, 0x8a, 0x5f, 0xcd, 0x21, + 0xb1, 0xb8, 0xb1, 0xfb, 0xaf, 0x13, 0xa3, 0x05, 0xda, 0x60, 0x7a, 0x31, 0x79, 0x52, 0x81, 0xd6, + 0xd4, 0x4b, 0x20, 0x2a, 0x52, 0x15, 0xc0, 0x2c, 0x9b, 0x3a, 0x24, 0x37, 0x0d, 0xcc, 0xfb, 0xa5, + 0x89, 0x0c, 0x68, 0x2c, 0xd1, 0x95, 0x9d, 0x12, 0x8b, 0x2b, 0x42, 0xcf, 0xc5, 0x5b, 0x68, 0xcb, + 0x34, 0x4d, 0x67, 0xf0, 0x49, 0x9f, 0xb5, 0xcf, 0x86, 0xde, 0x52, 0x71, 0xf2, 0xf2, 0x46, 0x20, + 0xc2, 0xb5, 0x30, 0x11, 0x2c, 0x5d, 0x2f, 0x2f, 0x5c, 0x7b, 0x9f, 0x1a, 0xe2, 0x63, 0x7e, 0x01, + 0x85, 0xd5, 0x84, 0x57, 0x6e, 0x51, 0xa5, 0xff, 0xb9, 0x6c, 0xc1, 0xdc, 0x63, 0xaf, 0x59, 0xb2, + 0x08, 0x15, 0xa8, 0xbd, 0x2d, 0x8a, 0x93, 0x07, 0x99, 0x3c, 0x33, 0x50, 0x86, 0x47, 0x11, 0xa2, + 0x3c, 0xe2, 0x15, 0x09, 0xf8, 0xb7, 0x29, 0x2a, 0x74, 0x1a, 0xea, 0xce, 0x90, 0x3f, 0xcc, 0x62, + 0xcb, 0x08, 0x13, 0xd1, 0x87, 0x8f, 0x24, 0x14, 0x72, 0xa9, 0xa0, 0x74, 0x6d, 0x9b, 0x62, 0x7b, + 0x3b, 0xad, 0xac, 0xfe, 0x2f, 0xa9, 0xda, 0x21, 0x31, 0xd6, 0x1a, 0x9c, 0x01, 0x0c, 0x73, 0x18, + 0xca, 0xf1, 0xe6, 0xbe, 0xfe, 0x17, 0xe4, 0x95, 0x09, 0xa9, 0x79, 0xfa, 0x81, 0x97, 0x1a, 0x73, + 0x9e, 0x72, 0x52, 0xc4, 0xa4, 0x7a, 0x2a, 0xad, 0x34, 0x46, 0x9e, 0xb1, 0xac, 0x63, 0x31, 0xe3, + 0xaf, 0xfc, 0xb9, 0x4d, 0x34, 0x4d, 0x7b, 0x5e, 0xfa, 0x75, 0xc6, 0x00, 0xe7, 0xe6, 0x2a, 0xa7, + 0xa4, 0xb4, 0xa9, 0x89, 0xbb, 0x7c, 0x63, 0xeb, 0x7e, 0x75, 0x6c, 0xc5, 0x58, 0x43, 0xe0, 0xb4, + 0xd4, 0x4c, 0xa6, 0x60, 0xd6, 0x08, 0x48, 0xdd, 0xe1, 0x4c, 0x26, 0x2a, 0x37, 0x8f, 0xbb, 0xaa, + 0x5d, 0x60, 0x39, 0x02, 0x53, 0x6a, 0x0b, 0xe9, 0x92, 0x35, 0x0b, 0xad, 0x9d, 0xc3, 0x4d, 0xd7, + 0x1e, 0x73, 0x41, 0x12, 0xaa, 0x24, 0x88, 0x74, 0x17, 0x30, 0x03, 0x88, 0xbb, 0xba, 0xe1, 0xfa, + 0xfe, 0x46, 0x29, 0x54, 0xf9, 0xd8, 0xbf, 0x04, 0xd7, 0x2f, 0x5d, 0x0e, 0x9f, 0x5e, 0xcd, 0x07, + 0x07, 0xbf, 0x23, 0xee, 0xbf, 0x2d, 0x83, 0x62, 0x80, 0x99, 0x74, 0x58, 0x58, 0xf8, 0xb3, 0x4d, + 0x90, 0xbb, 0xf6, 0xa0, 0x76, 0x9e, 0x8d, 0xd8, 0xb4, 0xdd, 0xa0, 0x1c, 0x68, 0x7b, 0xec, 0xe9, + 0xee, 0x46, 0x1b, 0x53, 0xce, 0x73, 0x31, 0x33, 0xe5, 0x85, 0xd2, 0xf0, 0xc4, 0xf2, 0x34, 0x60, + 0xbc, 0x0b, 0x8b, 0x2a, 0x7c, 0x81, 0x7e, 0x82, 0x82, 0x66, 0x33, 0x8c, 0x31, 0xd3, 0xfa, 0x43, + 0xab, 0xe3, 0x3a, 0xd5, 0x8b, 0x84, 0x5d, 0xc4, 0x95, 0x89, 0x61, 0x0b, 0x41, 0x22, 0xf2, 0x5f, + 0x98, 0xcc, 0x6e, 0xa0, 0x75, 0x17, 0x39, 0x7b, 0xec, 0x56, 0x57, 0x94, 0x31, 0xd7, 0xc0, 0x14, + 0x0b, 0x9c, 0x2f, 0x1b, 0x5f, 0x5c, 0xb4, 0xcd, 0xd9, 0x2a, 0x73, 0xdc, 0x4a, 0xf2, 0x54, 0xe4, + 0xb0, 0x31, 0x63, 0x8c, 0x79, 0x8a, 0xf4, 0x44, 0x6a, 0x6f, 0x66, 0xab, 0x65, 0xa7, 0xf5, 0x9e, + 0xc7, 0xef, 0x44, 0xe2, 0x78, 0x5c, 0xac, 0x20, 0xa3, 0xaa, 0x12, 0xcb, 0xed, 0xc0, 0x5f, 0x85, + 0x2a, 0xdb, 0xaa, 0x9b, 0xf9, 0xf4, 0x94, 0xb9, 0x53, 0xb3, 0x77, 0x7a, 0xa2, 0x99, 0xc5, 0x81, + 0x6f, 0xb7, 0x40, 0x9e, 0xbe, 0xa0, 0x18, 0xdb, 0x32, 0xd0, 0x2d, 0xf9, 0xd0, 0xe0, 0x32, 0x5e, + 0x27, 0xe6, 0x74, 0xbc, 0xe4, 0xd7, 0x5c, 0xb6, 0x03, 0x33, 0x51, 0xb7, 0xfc, 0x94, 0x3f, 0xec, + 0xdd, 0x0a, 0x09, 0x8a, 0x05, 0x6f, 0xda, 0x7a, 0xff, 0x02, 0x72, 0xb0, 0x0a, 0xdb, 0x65, 0x65, + 0x24, 0x96, 0xcc, 0xbb, 0xfb, 0x77, 0xf1, 0x6a, 0x4c, 0xc8, 0xd5, 0xc0, 0xa7, 0xe3, 0x4b, 0x80, + 0xd5, 0x31, 0x3c, 0x8a, 0x29, 0x32, 0x96, 0xa3, 0x61, 0x57, 0xaa, 0xaf, 0x96, 0x00, 0x67, 0x99, + 0x31, 0x58, 0x7f, 0xee, 0xe1, 0x5c, 0x57, 0x05, 0xd2, 0x76, 0x55, 0xeb, 0x5d, 0xa9, 0xa4, 0x1f, + 0x7e, 0x47, 0xf4, 0xf8, 0xa4, 0xdb, 0x3d, 0xa8, 0xbf, 0xfb, 0xf6, 0x02, 0x52, 0x1c, 0x42, 0x04, + 0xb8, 0xce, 0xc2, 0x6a, 0x2f, 0x43, 0xff, 0x6e, 0x4b, 0x18, 0x1f, 0x6a, 0x71, 0x5e, 0x1a, 0x18, + 0x91, 0x32, 0x35, 0x8c, 0x56, 0xbb, 0x5d, 0xc8, 0x3a, 0x95, 0x27, 0x07, 0x9d, 0xcf, 0x15, 0x71, + 0x54, 0xad, 0x7a, 0x84, 0x12, 0x42, 0x95, 0xf8, 0xdc, 0x8e, 0x89, 0x9b, 0x32, 0xa2, 0x1b, 0xd5, + 0xfb, 0x23, 0x32, 0x1a, 0xd5, 0x99, 0x73, 0x59, 0x5b, 0x67, 0xc8, 0x16, 0xcc, 0x9d, 0x1d, 0xc7, + 0x69, 0xf9, 0x68, 0xd6, 0xc2, 0x14, 0x4f, 0x6b, 0x1a, 0x40, 0x1a, 0x87, 0x44, 0xb4, 0x54, 0xb4, + 0x8e, 0x24, 0x67, 0x08, 0x8a, 0xc1, 0x43, 0x31, 0xc9, 0x2f, 0xc8, 0x34, 0x37, 0x39, 0xb4, 0x0e, + 0xdb, 0x25, 0x1a, 0xd3, 0x05, 0xe7, 0x6c, 0x1e, 0x16, 0x5a, 0x51, 0xb3, 0x44, 0x7f, 0x31, 0xfd, + 0xf6, 0xdf, 0x21, 0x8d, 0x65, 0xbe, 0x16, 0xc8, 0xc9, 0x91, 0x3d, 0x9f, 0x05, 0x3d, 0x4f, 0xe0, + 0x6b, 0x30, 0x32, 0xca, 0xdd, 0x21, 0x1f, 0x86, 0xec, 0xa1, 0xc0, 0x28, 0x38, 0xb2, 0x4a, 0x1a, + 0xbd, 0x0a, 0xf6, 0x3f, 0x92, 0x54, 0x56, 0x78, 0xe4, 0x2a, 0x40, 0x18, 0x0b, 0xe0, 0x17, 0x2e, + 0xf0, 0xec, 0x47, 0xe6, 0x1b, 0x10, 0x6f, 0xbe, 0x1c, 0x0b, 0x0a, 0xfd, 0x48, 0xed, 0xcd, 0x4a, + 0x79, 0x3b, 0x86, 0x8f, 0xca, 0x26, 0xdc, 0xa6, 0x1b, 0x65, 0x75, 0x6b, 0x93, 0x58, 0x8b, 0x76, + 0x7b, 0x36, 0x78, 0x92, 0xfc, 0x47, 0x7b, 0xc9, 0x22, 0xba, 0x99, 0x37, 0xec, 0xf1, 0x4f, 0x46, + 0xc9, 0xff, 0x31, 0x0e, 0xad, 0x38, 0x4a, 0x0a, 0xc1, 0xed, 0xcd, 0xf1, 0xb3, 0x22, 0x7f, 0x24, + 0xc8, 0x75, 0x6e, 0xcd, 0x6a, 0x1b, 0x7d, 0x22, 0x0c, 0x9e, 0xf7, 0xa6, 0x81, 0xcc, 0xe5, 0x8b, + 0xa1, 0x92, 0x97, 0xef, 0x9c, 0x40, 0x52, 0x1b, 0xa7, 0x4c, 0x02, 0xe7, 0xab, 0xe5, 0xc4, 0xaa, + 0xab, 0x93, 0x53, 0x1b, 0xdd, 0xe2, 0x33, 0xe8, 0x09, 0xeb, 0xb3, 0x8a, 0xf4, 0x68, 0xa9, 0xbc, + 0xf6, 0x77, 0x03, 0xf2, 0xd1, 0x58, 0x96, 0x0d, 0xb5, 0x77, 0x95, 0xa6, 0xce, 0xf8, 0x21, 0x09, + 0x96, 0xa6, 0x62, 0x01, 0x49, 0x68, 0x61, 0x7e, 0xe4, 0x96, 0xd0, 0xdb, 0x29, 0x30, 0x78, 0xeb, + 0x7e, 0x56, 0x5d, 0xa1, 0xc1, 0xcb, 0xde, 0x00, 0xda, 0x73, 0x61, 0x7c, 0xd9, 0x98, 0x62, 0x94, + 0xc7, 0x95, 0xd2, 0x3d, 0x2b, 0x5c, 0xa8, 0x5d, 0xe9, 0x3e, 0xf3, 0x92, 0x62, 0xe2, 0xb2, 0x76, + 0xbd, 0xff, 0xc3, 0x0f, 0x06, 0xd7, 0x8d, 0x66, 0xc5, 0xe0, 0x10, 0x02, 0x57, 0xca, 0xba, 0x0d, + 0x01, 0x60, 0x65, 0x2a, 0xa8, 0x26, 0x9e, 0xd5, 0x08, 0x2b, 0xb9, 0x1e, 0xe9, 0x01, 0x86, 0xf0, + 0x1d, 0xee, 0x59, 0x5e, 0xf6, 0x92, 0x3d, 0x1d, 0x42, 0x25, 0x88, 0x49, 0x65, 0x19, 0x12, 0x8d, + 0x25, 0xc8, 0xbe, 0xe9, 0x80, 0x62, 0xa4, 0x32, 0xff, 0xfd, 0x5c, 0x04, 0xeb, 0xb9, 0x43, 0x40, + 0x56, 0x83, 0x96, 0x30, 0x82, 0xa3, 0x6d, 0xc5, 0xae, 0x80, 0x58, 0x2f, 0xe2, 0x62, 0x23, 0x5a, + 0x83, 0x26, 0xe7, 0xee, 0x31, 0x73, 0x9d, 0xca, 0x35, 0xb3, 0xce, 0x77, 0x87, 0xea, 0x8b, 0x3f, + 0x87, 0xe5, 0xb8, 0x3a, 0x63, 0x4b, 0x3d, 0xbd, 0xd7, 0x5e, 0x1b, 0x73, 0x3d, 0xde, 0x17, 0x9e, + 0xe5, 0xa9, 0xa0, 0x5f, 0x7c, 0x74, 0xb8, 0xeb, 0xef, 0x79, 0x15, 0x12, 0x02, 0x77, 0xce, 0xdd, + 0x0a, 0xcd, 0x00, 0x6c, 0xac, 0x6a, 0x32, 0x0f, 0xb5, 0x25, 0x92, 0xde, 0x5d, 0x7a, 0x5b, 0x83, + 0x78, 0xd7, 0xbb, 0x08, 0xd2, 0xcf, 0xcd, 0x86, 0x36, 0x1c, 0x93, 0xb7, 0x64, 0x70, 0x86, 0x3d, + 0x4f, 0xf8, 0xf7, 0x54, 0xd3, 0x51, 0x97, 0xd2, 0x23, 0x24, 0xdc, 0xcd, 0xd4, 0xd3, 0x8b, 0x15, + 0x9e, 0x7d, 0xd0, 0xca, 0x09, 0x67, 0xe6, 0x67, 0x46, 0xc6, 0x55, 0xc0, 0x85, 0xab, 0x3c, 0x46, + 0x56, 0xb0, 0xd0, 0x26, 0x25, 0x57, 0x80, 0x42, 0x7a, 0x31, 0x9a, 0x2e, 0x0d, 0x39, 0x5d, 0x2c, + 0x52, 0x95, 0x89, 0xcf, 0x3b, 0xd1, 0xb2, 0x49, 0xda, 0xb4, 0xb2, 0x00, 0xa4, 0x04, 0x56, 0x8d, + 0x06, 0xb5, 0x5b, 0xa6, 0x4b, 0x7f, 0xb7, 0x71, 0x04, 0x8a, 0xd7, 0xed, 0xb1, 0xd3, 0x9b, 0x06, + 0xa9, 0xa1, 0x83, 0xe2, 0x0e, 0x6e, 0x37, 0x2c, 0xb5, 0x21, 0xdc, 0x24, 0x0a, 0x47, 0x9e, 0xe2, + 0x4c, 0xd4, 0x3e, 0x08, 0xe2, 0xff, 0xf9, 0xd8, 0x8d, 0x3a, 0x2a, 0x3b, 0xa6, 0x6c, 0x7d, 0x27, + 0xab, 0x23, 0xd4, 0x4b, 0xd7, 0xb4, 0x08, 0x04, 0xcd, 0xe7, 0xcf, 0x94, 0xd4, 0x87, 0x99, 0xac, + 0x4c, 0x01, 0xe3, 0xd4, 0x93, 0x9e, 0xaa, 0xef, 0xb4, 0x64, 0xcb, 0x5f, 0x85, 0xda, 0x97, 0x5a, + 0xb7, 0xba, 0x69, 0x2c, 0xe0, 0x4b, 0xa1, 0xe8, 0x9f, 0xa8, 0x54, 0xdd, 0x76, 0x1f, 0xef, 0x37, + 0xcc, 0x5c, 0x2f, 0x2a, 0xad, 0x8e, 0x3c, 0x73, 0x71, 0x00, 0x80, 0x01, 0x14, 0x1c, 0xc2, 0xd6, + 0x77, 0x4f, 0xd2, 0x3e, 0x86, 0x55, 0x00, 0xa8, 0x43, 0x7e, 0x8a, 0x37, 0xb3, 0xc9, 0x2d, 0xa9, + 0xa4, 0xff, 0xee, 0xc1, 0xbd, 0xf4, 0xbe, 0xd5, 0xa5, 0xc1, 0xe0, 0x3b, 0xd7, 0x4f, 0xe0, 0xf5, + 0x2e, 0x59, 0x97, 0xff, 0x1f, 0xe2, 0x7a, 0xbc, 0xf6, 0x3f, 0x52, 0xd7, 0xf1, 0x57, 0x0a, 0x31, + 0x36, 0x0b, 0xf9, 0xfc, 0x02, 0xa6, 0x32, 0xac, 0x2c, 0xc6, 0x4e, 0x73, 0x50, 0x41, 0xbe, 0x65, + 0xfb, 0x01, 0x5b, 0x76, 0x0f, 0x31, 0x9a, 0x81, 0x89, 0xe9, 0x9c, 0x07, 0x43, 0x35, 0x7b, 0x98, + 0xd4, 0x3a, 0x9d, 0x95, 0x70, 0x12, 0xd1, 0xee, 0x09, 0xf6, 0xc1, 0x7c, 0x0b, 0x4c, 0xd5, 0xc9, + 0x2b, 0x15, 0xa6, 0x51, 0x4d, 0x41, 0x34, 0x26, 0xc1, 0x3e, 0x17, 0x9d, 0x01, 0x98, 0x0a, 0xb2, + 0x1e, 0x61, 0xf3, 0xe8, 0x3d, 0x5a, 0x89, 0x6d, 0x41, 0x46, 0x93, 0xdd, 0x57, 0x0b, 0x87, 0x20, + 0xb3, 0x6b, 0xd0, 0x4d, 0xb9, 0x62, 0x64, 0x15, 0x8e, 0x0f, 0x8d, 0xe3, 0x18, 0xcb, 0x8a, 0x54, + 0x48, 0x34, 0x79, 0xa9, 0x65, 0x77, 0xee, 0x3f, 0x1a, 0x84, 0x5a, 0x18, 0xe9, 0x5b, 0x95, 0x84, + 0xf6, 0x80, 0xea, 0x18, 0x17, 0xab, 0x73, 0x5b, 0x4d, 0xbb, 0x28, 0xc5, 0xf8, 0x1c, 0x28, 0xeb, + 0x16, 0x5b, 0x3b, 0xde, 0x18, 0xa0, 0xee, 0x44, 0xd8, 0x3f, 0x6b, 0xe1, 0xe3, 0x54, 0x53, 0xab, + 0x8d, 0xde, 0xb6, 0x49, 0xc0, 0x57, 0x07, 0xb8, 0xcc, 0x8b, 0xb8, 0x0b, 0x0b, 0x92, 0x64, 0xa9, + 0x75, 0x02, 0x59, 0xd8, 0xc8, 0x04, 0x7e, 0xd1, 0xb0, 0x61, 0xeb, 0x1d, 0x7c, 0x67, 0x1c, 0xb8, + 0x72, 0x83, 0xf1, 0xeb, 0x8c, 0x6e, 0xe1, 0xb7, 0xe5, 0xda, 0xb5, 0xa5, 0xbf, 0x31, 0xb6, 0x33, + 0xfa, 0x4e, 0x3f, 0xba, 0x03, 0xe0, 0xb3, 0xbf, 0x11, 0x16, 0x9f, 0x43, 0x5c, 0xfb, 0x8d, 0xda, + 0x34, 0xbe, 0xb5, 0xce, 0x28, 0x6e, 0x36, 0x1d, 0x8c, 0x01, 0xef, 0xb5, 0xa0, 0xaa, 0x0b, 0xd1, + 0x72, 0x9c, 0xb2, 0x60, 0xe4, 0xfe, 0xf6, 0xd0, 0xd8, 0xd9, 0xea, 0x5c, 0x4b, 0x6e, 0x6b, 0xae, + 0xab, 0x46, 0xad, 0x87, 0x0a, 0x28, 0x2b, 0x8e, 0x3f, 0x43, 0x56, 0xad, 0x82, 0x7e, 0x14, 0xf8, + 0x2a, 0x53, 0x19, 0xd9, 0x8e, 0xdf, 0x37, 0xd9, 0x6c, 0x7f, 0xfa, 0x9f, 0x78, 0x0e, 0xa1, 0xa5, + 0xc3, 0x37, 0xb4, 0xd6, 0x60, 0x90, 0x8b, 0x24, 0x41, 0x52, 0x24, 0x82, 0x79, 0x5e, 0xcc, 0xc2, + 0x23, 0xca, 0x36, 0xd5, 0x79, 0x9f, 0x55, 0xea, 0xa1, 0xd9, 0xcc, 0x66, 0xcb, 0x46, 0xa7, 0x38, + 0x64, 0xe1, 0xa1, 0xb9, 0xd5, 0x99, 0x96, 0x07, 0xf0, 0x65, 0xa6, 0xd2, 0xa1, 0x72, 0xe2, 0x6c, + 0xc3, 0x61, 0x8c, 0xff, 0x75, 0x2a, 0xeb, 0x3c, 0x19, 0x68, 0xd6, 0xaf, 0x3f, 0x03, 0x1d, 0x0c, + 0x78, 0xdf, 0x8d, 0xd7, 0x71, 0x24, 0xf8, 0x84, 0x95, 0xad, 0x76, 0x1e, 0x63, 0xe4, 0xd6, 0xcf, + 0x4a, 0xcd, 0x36, 0x31, 0xb3, 0x06, 0x9f, 0xab, 0xb5, 0xb2, 0x3d, 0x8d, 0x64, 0x4c, 0x90, 0xaa, + 0x09, 0xdc, 0x28, 0xab, 0xcd, 0x09, 0x17, 0x75, 0xf1, 0x03, 0xc1, 0x5d, 0x0b, 0xbd, 0x91, 0x31, + 0x5e, 0x7c, 0x88, 0x82, 0xa8, 0xd7, 0x3c, 0xb0, 0x97, 0x95, 0x14, 0x12, 0x30, 0x4a, 0x17, 0xfc, + 0xbd, 0xc7, 0x6f, 0x8f, 0x3b, 0xb6, 0x34, 0x1a, 0xb3, 0xb8, 0xe0, 0xfe, 0xdf, 0x48, 0x1d, 0xd0, + 0xaa, 0x6d, 0xe4, 0x6e, 0x99, 0x5f, 0x77, 0x8a, 0x97, 0x73, 0xd0, 0xd9, 0xed, 0x0f, 0x7b, 0xa0, + 0xf2, 0xb0, 0x7e, 0xb5, 0x75, 0xae, 0x76, 0xaf, 0xf5, 0xce, 0x71, 0xdd, 0xf2, 0x43, 0x77, 0x95, + 0x1c, 0x56, 0xb3, 0x96, 0x72, 0x34, 0x11, 0x26, 0x21, 0xdb, 0x38, 0x91, 0x1e, 0xf8, 0x97, 0x59, + 0x35, 0x51, 0x67, 0x26, 0x60, 0x70, 0xa6, 0x21, 0x10, 0x8e, 0x36, 0xbf, 0xb0, 0xfe, 0x33, 0xff, + 0xf9, 0xe5, 0x1f, 0x61, 0xc7, 0x94, 0x56, 0xe2, 0x12, 0x91, 0x86, 0xa6, 0x8f, 0x38, 0x6c, 0x18, + 0x5f, 0x8f, 0x11, 0x0a, 0x9e, 0x1d, 0x45, 0x25, 0x8e, 0x2c, 0x60, 0x2d, 0x09, 0xfa, 0x0c, 0xdc, + 0x50, 0x4b, 0x7a, 0x52, 0x29, 0xbb, 0x13, 0x2f, 0x9b, 0x03, 0xbe, 0xdc, 0x0e, 0x42, 0x82, 0xec, + 0xe8, 0x7e, 0xdf, 0xe0, 0x50, 0x32, 0xdb, 0xf2, 0xcc, 0xf4, 0xef, 0x3d, 0x35, 0x0a, 0xe7, 0x88, + 0x65, 0x5a, 0x8c, 0x4f, 0x73, 0xb5, 0xa5, 0xf1, 0xb1, 0x57, 0xf8, 0xd8, 0xc1, 0x41, 0xfa, 0x10, + 0xe1, 0x50, 0x28, 0x17, 0xf3, 0x6c, 0x98, 0xb4, 0x12, 0x69, 0xaf, 0xad, 0xe4, 0xf8, 0xc4, 0x63, + 0x84, 0xba, 0x67, 0xc4, 0x41, 0x25, 0xfe, 0xa8, 0x73, 0xf4, 0xf9, 0xd9, 0x89, 0x8a, 0x74, 0xc9, + 0x2e, 0x57, 0x3f, 0x4c, 0x3c, 0xef, 0xca, 0xcb, 0x91, 0x98, 0xb7, 0x0b, 0x63, 0x79, 0xb5, 0x38, + 0xfe, 0xed, 0x7f, 0xcf, 0x9d, 0x3d, 0x55, 0x91, 0xea, 0x03, 0xe2, 0xec, 0x80, 0xe7, 0x5b, 0x7e, + 0x81, 0x94, 0x3f, 0xff, 0x8f, 0xde, 0x2c, 0x0c, 0xf9, 0x2b, 0xe9, 0x98, 0x93, 0xf5, 0x65, 0xc4, + 0x5c, 0x13, 0xa9, 0x8c, 0x52, 0x44, 0x62, 0xc5, 0x92, 0xa3, 0x6e, 0x5a, 0xdc, 0xde, 0xc8, 0xdf, + 0xa2, 0x8e, 0xba, 0xd8, 0x7d, 0xfa, 0x50, 0x84, 0x87, 0xc5, 0xfb, 0x2f, 0x9a, 0x81, 0x1e, 0xbb, + 0x0d, 0xed, 0x64, 0x62, 0x08, 0xc9, 0x40, 0x01, 0x96, 0xcb, 0x92, 0x82, 0x04, 0x55, 0x04, 0x6b, + 0xb2, 0x08, 0x3a, 0x52, 0x4e, 0x61, 0x4c, 0x85, 0xd7, 0xe0, 0x03, 0xfd, 0x04, 0x23, 0xbc, 0x99, + 0x1b, 0x9d, 0x0d, 0xac, 0xba, 0xdc, 0x22, 0xdc, 0x90, 0x65, 0xa0, 0x86, 0x6e, 0xa8, 0xb6, 0x29, + 0xbc, 0x79, 0xb9, 0xfe, 0x54, 0xfb, 0xdb, 0xa7, 0xec, 0x67, 0xa8, 0xbf, 0x6e, 0x36, 0xea, 0xdd, + 0xee, 0xce, 0x23, 0x13, 0xfd, 0x0d, 0xe9, 0x2e, 0xcb, 0x8a, 0x10, 0xdc, 0xd3, 0x06, 0xf6, 0x8c, + 0xd9, 0x60, 0xca, 0xc4, 0x85, 0x86, 0x1f, 0x85, 0x2a, 0x1c, 0x0c, 0x19, 0xce, 0x4a, 0x96, 0x65, + 0x5f, 0x65, 0x0b, 0xf2, 0xbc, 0x25, 0xef, 0x07, 0xad, 0x11, 0x46, 0xef, 0x34, 0x8d, 0x3f, 0x8f, + 0xc3, 0xe3, 0x85, 0xfc, 0x0b, 0x16, 0xb6, 0xcc, 0x6e, 0x58, 0x7c, 0xb5, 0x19, 0x7c, 0x0e, 0xef, + 0x38, 0x81, 0xd8, 0x58, 0xd0, 0xb9, 0x5b, 0x00, 0x65, 0x21, 0xca, 0xc0, 0x83, 0xa9, 0xe5, 0xf0, + 0x2b, 0x96, 0x84, 0x26, 0x28, 0xfd, 0xf1, 0x9a, 0x55, 0xf3, 0x15, 0x97, 0xda, 0xc3, 0x70, 0xac, + 0x18, 0x71, 0x1c, 0x6c, 0xf4, 0xad, 0x04, 0x81, 0xe6, 0x7d, 0x86, 0xad, 0x3c, 0x82, 0xe5, 0x6b, + 0x2f, 0xbd, 0x5a, 0x13, 0xf3, 0xb1, 0x7c, 0x8e, 0x83, 0x77, 0x18, 0x71, 0xb0, 0xd4, 0x0a, 0x2f, + 0xee, 0x27, 0xb3, 0x11, 0x49, 0x83, 0x07, 0xda, 0x29, 0xc7, 0x48, 0xc0, 0x4f, 0xce, 0x4c, 0x7d, + 0x6e, 0x33, 0x1d, 0x48, 0x24, 0x5f, 0x3f, 0x87, 0x14, 0x81, 0xbd, 0x68, 0xb6, 0xcb, 0xf0, 0xa8, + 0x42, 0xba, 0xf4, 0xaa, 0xbf, 0x25, 0x31, 0xc7, 0x6f, 0xea, 0x36, 0x32, 0xf3, 0xb4, 0xa3, 0xdf, + 0x7a, 0x54, 0x97, 0x5f, 0x78, 0x20, 0x88, 0x80, 0x26, 0x90, 0xfd, 0xbd, 0xd6, 0x7f, 0x74, 0x7a, + 0xf0, 0x3f, 0xc6, 0x30, 0x08, 0x0f, 0xd8, 0xd8, 0x98, 0x0e, 0x8d, 0x0a, 0xe2, 0xa9, 0xfa, 0x46, + 0x14, 0x49, 0x01, 0xc2, 0xab, 0xcf, 0xe0, 0x2f, 0xd7, 0xa9, 0x99, 0xb0, 0xed, 0x14, 0x9a, 0x2d, + 0xb8, 0xac, 0xa2, 0x72, 0x7b, 0xd4, 0x86, 0x79, 0x44, 0x52, 0xd5, 0x46, 0x34, 0xfe, 0x7b, 0xb8, + 0xb3, 0x1c, 0x17, 0x71, 0x53, 0xea, 0x00, 0x68, 0xd1, 0x09, 0x7d, 0xbd, 0xa5, 0xa0, 0x36, 0xa8, + 0x9e, 0xce, 0xc3, 0xad, 0x84, 0xbd, 0xe7, 0x6f, 0xbf, 0xe4, 0x17, 0x11, 0xb1, 0x4d, 0x5a, 0x22, + 0x10, 0xfa, 0xa0, 0xb5, 0x45, 0xbc, 0xed, 0x7a, 0xdd, 0x4a, 0xbb, 0x83, 0x38, 0x4f, 0x76, 0x4a, + 0xc4, 0xe3, 0x8e, 0x84, 0xa8, 0x11, 0xd9, 0x45, 0xcd, 0x43, 0x5e, 0xe6, 0x39, 0xe5, 0xcd, 0x73, + 0xe2, 0x15, 0x6a, 0xcb, 0x8a, 0x5a, 0x35, 0xf5, 0x57, 0xbc, 0x2f, 0x1b, 0xae, 0x38, 0x53, 0x91, + 0xad, 0x0a, 0x42, 0xb7, 0x0a, 0x5b, 0xe6, 0xc2, 0xe5, 0x3c, 0x07, 0xb1, 0xd3, 0x2f, 0x58, 0x44, + 0x2f, 0x21, 0x79, 0x8b, 0xc3, 0x18, 0x78, 0x19, 0x6a, 0x65, 0x0e, 0x83, 0xd4, 0x00, 0x6e, 0xe1, + 0xd0, 0x15, 0x76, 0x42, 0x3e, 0x98, 0xec, 0xda, 0xdc, 0x6b, 0x7f, 0x0c, 0x5e, 0x4b, 0x89, 0x81, + 0x5a, 0x67, 0xc0, 0x34, 0xc6, 0x58, 0x7f, 0x2b, 0xc8, 0x48, 0x6b, 0xb9, 0x25, 0x87, 0x9c, 0x04, + 0x78, 0x26, 0x3f, 0x2e, 0x20, 0x2d, 0x87, 0x0f, 0xf0, 0x80, 0xdf, 0x86, 0x0e, 0xe3, 0xba, 0xb0, + 0x45, 0xde, 0x1e, 0x5e, 0xe7, 0x6c, 0x6e, 0xa8, 0x84, 0xe3, 0xb0, 0x1e, 0xdf, 0xd8, 0x27, 0x8f, + 0x36, 0xf3, 0x2f, 0xc5, 0x09, 0x21, 0xfa, 0x47, 0xe8, 0x97, 0xa6, 0xb0, 0x7f, 0xe6, 0x9a, 0x4b, + 0x52, 0xbf, 0x88, 0xdc, 0x15, 0x47, 0xbc, 0xa6, 0x85, 0xb4, 0x28, 0x94, 0xe3, 0x20, 0x4b, 0x11, + 0xb2, 0xcb, 0x4c, 0x2f, 0x10, 0xb4, 0xf7, 0x94, 0x60, 0xf0, 0x7b, 0x25, 0xda, 0x16, 0x73, 0x40, + 0x78, 0x81, 0x37, 0xb5, 0x3a, 0xad, 0xfe, 0xfb, 0xa2, 0x4b, 0x90, 0x13, 0x5b, 0x59, 0xe5, 0xd5, + 0xcb, 0xc7, 0x72, 0xf4, 0x0b, 0x4f, 0x3c, 0x31, 0xee, 0x0e, 0xda, 0xe9, 0x58, 0x55, 0x04, 0x68, + 0xf7, 0x52, 0x4e, 0xc3, 0xe3, 0x64, 0x30, 0x1b, 0xd8, 0xda, 0x2f, 0x5f, 0xee, 0xa3, 0x50, 0x00, + 0xd1, 0x65, 0x12, 0x50, 0xf7, 0x89, 0xa4, 0x1e, 0x24, 0x7d, 0xb1, 0x28, 0x6a, 0x4b, 0x8d, 0x59, + 0x85, 0xb8, 0x21, 0x90, 0x17, 0x1d, 0xa3, 0xd1, 0xc6, 0xdf, 0xad, 0xad, 0x9d, 0x3f, 0x79, 0xa2, + 0x49, 0x0d, 0x5f, 0xe4, 0x3d, 0x8f, 0xfc, 0x81, 0x43, 0xa1, 0x53, 0x7d, 0xb6, 0x4f, 0xc5, 0xd2, + 0x71, 0xe9, 0x54, 0x31, 0x28, 0x73, 0x49, 0xd8, 0xd2, 0x1b, 0xf8, 0x4c, 0xf5, 0x04, 0x81, 0xb8, + 0xb4, 0x58, 0xcd, 0xc8, 0xde, 0x83, 0x58, 0xac, 0x21, 0x80, 0xd7, 0x1b, 0x30, 0x1e, 0x82, 0xbc, + 0xee, 0xf7, 0x4f, 0x25, 0xfd, 0xad, 0xe1, 0xb8, 0xa3, 0x65, 0x4a, 0x58, 0x28, 0x07, 0xa5, 0x1a, + 0xe8, 0x9b, 0x0b, 0xe6, 0x48, 0x54, 0x0e, 0x69, 0xfc, 0xb7, 0x57, 0xad, 0x97, 0xbb, 0xc8, 0xad, + 0xe0, 0x95, 0x5e, 0x34, 0xd5, 0xb5, 0x23, 0x0d, 0xe6, 0x7d, 0x2e, 0x80, 0xe5, 0xd1, 0xc4, 0x98, + 0x18, 0xf9, 0x37, 0x1f, 0x4a, 0x04, 0x9e, 0xb9, 0xc0, 0x17, 0xd3, 0x12, 0xd8, 0x7a, 0x61, 0xf7, + 0x61, 0x15, 0xb9, 0x76, 0x25, 0xca, 0x2a, 0x2d, 0xf0, 0x1c, 0x65, 0x81, 0xc4, 0x38, 0xd0, 0x2b, + 0x5f, 0xec, 0xbe, 0x37, 0x73, 0x07, 0xa2, 0x66, 0xe4, 0x0f, 0x4b, 0x86, 0x71, 0xd3, 0xa5, 0x2a, + 0x11, 0x16, 0x2b, 0x81, 0xc6, 0x72, 0xd4, 0xcb, 0x65, 0xe2, 0xa2, 0x94, 0x20, 0x06, 0xd0, 0xf8, + 0x1d, 0xef, 0x4c, 0x80, 0x52, 0x2f, 0x7e, 0x34, 0xcc, 0x67, 0x89, 0x74, 0x66, 0x20, 0x92, 0x55, + 0xc2, 0xd3, 0xaa, 0x6d, 0x49, 0xaf, 0xdc, 0x0c, 0x0f, 0x3f, 0xfd, 0xef, 0x98, 0x56, 0x14, 0x40, + 0xec, 0x10, 0xbb, 0xa6, 0x98, 0x38, 0x90, 0x50, 0x6a, 0x41, 0x33, 0x11, 0x5c, 0x9f, 0x16, 0xfb, + 0xf1, 0x90, 0xe5, 0x7f, 0x7d, 0x07, 0x16, 0xd4, 0x7e, 0xde, 0x26, 0xf9, 0x1d, 0x04, 0x37, 0xbf, + 0xa6, 0x50, 0xa7, 0x6a, 0xa2, 0x8a, 0xf1, 0xbb, 0x7f, 0x62, 0xe3, 0x71, 0x73, 0x27, 0xaf, 0x4b, + 0xe8, 0xc5, 0xdf, 0xe3, 0xbe, 0x37, 0xb8, 0x6f, 0xc3, 0x1f, 0xad, 0xc3, 0x53, 0xcd, 0xfe, 0x44, + 0xa4, 0x98, 0x85, 0x79, 0x79, 0x6b, 0xaf, 0x75, 0x84, 0x83, 0x54, 0xe3, 0xd3, 0xbf, 0x37, 0xbe, + 0x30, 0x53, 0x81, 0x4d, 0x01, 0xbb, 0x83, 0xe3, 0xb6, 0x7d, 0x1e, 0x4a, 0xd9, 0x90, 0x75, 0x39, + 0xcb, 0x93, 0x27, 0x83, 0xdf, 0x7c, 0x5c, 0x29, 0xfc, 0x2b, 0x71, 0xe1, 0xd5, 0x18, 0xd9, 0xcf, + 0x11, 0x6a, 0x18, 0xcd, 0xb9, 0xf7, 0xf9, 0x23, 0x94, 0x8d, 0x12, 0xaa, 0x12, 0xe1, 0x6d, 0xe9, + 0x02, 0xe7, 0x34, 0x3b, 0x16, 0x03, 0xd0, 0xd7, 0x87, 0x8a, 0xca, 0x2e, 0x75, 0x2e, 0x80, 0xd3, + 0xe3, 0x0d, 0xd9, 0xe6, 0xd2, 0x1b, 0x5b, 0x45, 0xb8, 0x19, 0xb0, 0x83, 0xca, 0xd8, 0xa9, 0xa4, + 0x65, 0xfc, 0x00, 0x00, 0xf3, 0x0a, 0x92, 0x4a, 0xcf, 0x2f, 0x0d, 0xf2, 0x8e, 0x12, 0xeb, 0x08, + 0x6e, 0x56, 0xb6, 0x97, 0xa2, 0x93, 0xb9, 0x66, 0x43, 0x04, 0xc9, 0x12, 0x3d, 0xb3, 0xd7, 0x6f, + 0xc1, 0x1e, 0x61, 0x60, 0xfd, 0xd8, 0x2f, 0x32, 0x5c, 0x9b, 0x10, 0x36, 0x13, 0x1b, 0x83, 0x58, + 0xd4, 0x2e, 0x36, 0x77, 0x52, 0xb0, 0x8e, 0x8e, 0xbd, 0x13, 0x29, 0x7f, 0x04, 0xc6, 0x1d, 0x8f, + 0x7e, 0x92, 0x54, 0x94, 0xa2, 0x41, 0x2f, 0x93, 0xcd, 0x1e, 0xe2, 0xb0, 0x3f, 0x94, 0x03, 0xbf, + 0x6a, 0x34, 0x97, 0xc2, 0xcc, 0xb9, 0x02, 0x34, 0xcd, 0x61, 0xd0, 0x79, 0xd5, 0x56, 0x60, 0x50, + 0x2d, 0x48, 0xf3, 0x42, 0x3c, 0x7b, 0x09, 0x0f, 0x82, 0x39, 0x0f, 0xbb, 0xa0, 0xc1, 0xc5, 0x65, + 0xc1, 0x03, 0x22, 0xa2, 0x4a, 0xc5, 0xd7, 0xfb, 0x4b, 0x56, 0xe0, 0xa0, 0xdf, 0xbb, 0x76, 0x9f, + 0x8f, 0x0b, 0x95, 0x74, 0x3e, 0xf3, 0x04, 0xcb, 0xa9, 0x42, 0xad, 0x5b, 0x0b, 0xc2, 0xf3, 0xe6, + 0x96, 0x6f, 0x1a, 0xd5, 0xf5, 0xbc, 0x2c, 0x6f, 0x39, 0x22, 0x6a, 0x11, 0xed, 0x37, 0x22, 0x36, + 0xde, 0xc6, 0xa0, 0x83, 0x41, 0x82, 0xf7, 0xa4, 0xd4, 0xc6, 0x7f, 0xe4, 0x96, 0xfd, 0x0c, 0xb9, + 0x26, 0xff, 0x14, 0x50, 0x3a, 0x14, 0x3f, 0x82, 0x41, 0xd7, 0x78, 0xa3, 0xf3, 0xc6, 0xab, 0x12, + 0xd4, 0x42, 0xb8, 0x15, 0x47, 0x4d, 0x2d, 0xb2, 0xc9, 0x50, 0xa8, 0x36, 0x72, 0xa7, 0xfd, 0x91, + 0x6a, 0x0c, 0xd2, 0x08, 0xe8, 0xfd, 0x69, 0x8c, 0xf8, 0xdd, 0x5b, 0x6e, 0xeb, 0x52, 0x6b, 0xed, + 0xee, 0x08, 0x79, 0x36, 0x2b, 0xa8, 0xdd, 0x2c, 0x53, 0xb6, 0xa8, 0xd7, 0xab, 0x65, 0x48, 0xfc, + 0x02, 0x16, 0x6e, 0x5b, 0xf0, 0x72, 0xbd, 0xcb, 0x2a, 0x00, 0xbb, 0xfd, 0xbc, 0x99, 0x57, 0xbb, + 0x3f, 0x8a, 0xa2, 0x6c, 0x4c, 0xb9, 0x0a, 0x38, 0x9b, 0xed, 0xef, 0x42, 0xe8, 0xe3, 0x33, 0xd0, + 0x09, 0x75, 0x01, 0x30, 0x5f, 0x1d, 0xac, 0x96, 0xd8, 0x94, 0x9d, 0x96, 0x18, 0x5b, 0x69, 0x39, + 0x88, 0xaa, 0x54, 0x0a, 0x92, 0x11, 0x21, 0xbb, 0x4a, 0xf0, 0xf6, 0x56, 0x8a, 0x6a, 0x97, 0xe3, + 0x55, 0x67, 0x2d, 0x9d, 0xfe, 0xd4, 0xa4, 0x3e, 0xa9, 0xa6, 0xa6, 0xe7, 0x15, 0x5a, 0xc7, 0xf9, + 0x49, 0xa0, 0x3b, 0xcd, 0x94, 0x3b, 0x74, 0xc6, 0x60, 0xfa, 0xc0, 0xc9, 0x28, 0xbf, 0x06, 0x57, + 0xd4, 0x44, 0x1c, 0x97, 0xf7, 0xfc, 0x22, 0x16, 0xf6, 0x3a, 0x84, 0x66, 0xb1, 0x73, 0xa8, 0x31, + 0x5f, 0x1e, 0x72, 0x78, 0xf1, 0xc7, 0xdd, 0x20, 0x5f, 0x75, 0xc6, 0x81, 0x20, 0xbf, 0xf2, 0x14, + 0x6e, 0x27, 0x36, 0x7b, 0x45, 0x63, 0x5e, 0x51, 0xd5, 0xd2, 0x1d, 0xb2, 0x0e, 0xd7, 0x8a, 0x21, + 0x11, 0xe3, 0xad, 0xd0, 0x00, 0x21, 0x73, 0x38, 0xfd, 0x0a, 0x58, 0x5a, 0x91, 0xd4, 0x2c, 0x24, + 0xf9, 0x3e, 0xe5, 0x84, 0xb6, 0xac, 0x6e, 0xfe, 0xa6, 0x45, 0xd9, 0x47, 0xe6, 0x65, 0xfa, 0x43, + 0x94, 0x63, 0xa5, 0x4b, 0x55, 0x63, 0x6f, 0xc7, 0x1d, 0x20, 0xfc, 0x7b, 0xfe, 0x78, 0x75, 0x01, + 0x30, 0x40, 0xf3, 0xa5, 0x3b, 0x88, 0x66, 0xcb, 0x6a, 0x48, 0xef, 0xed, 0x41, 0x1f, 0x19, 0x2d, + 0x6f, 0x6d, 0xde, 0x21, 0x37, 0xe0, 0x71, 0x88, 0xea, 0x00, 0x14, 0x65, 0x96, 0xd6, 0xb5, 0x63, + 0x79, 0x53, 0x99, 0xb7, 0xcd, 0x2a, 0x97, 0xe6, 0x61, 0x04, 0x28, 0xf6, 0x72, 0xeb, 0x33, 0xe1, + 0x49, 0xf2, 0x5f, 0xa4, 0x0f, 0xca, 0xcf, 0xf3, 0xa3, 0x59, 0x12, 0x66, 0x17, 0xed, 0x43, 0x78, + 0xa8, 0xe4, 0xfd, 0x2c, 0xaf, 0xe1, 0xf2, 0x68, 0xc4, 0x60, 0x31, 0x6a, 0x9a, 0x3e, 0x91, 0x05, + 0x0b, 0x42, 0xc9, 0xdc, 0xa4, 0x28, 0x63, 0xc7, 0x5b, 0x14, 0xe4, 0x2f, 0xaf, 0x4c, 0xc4, 0x90, + 0xdc, 0xa5, 0x57, 0xf5, 0x74, 0x82, 0x01, 0x24, 0x3f, 0x9e, 0xbd, 0x8a, 0x8c, 0x78, 0x95, 0x35, + 0xbb, 0x86, 0x30, 0x59, 0x35, 0x6e, 0xb2, 0xce, 0x44, 0xb3, 0x33, 0xb3, 0xb5, 0x88, 0x7c, 0x25, + 0xe3, 0x9d, 0x15, 0x6d, 0xff, 0xcc, 0x30, 0x4c, 0x3c, 0x48, 0xcf, 0x0f, 0x44, 0x23, 0x5d, 0x6b, + 0x22, 0x76, 0x37, 0x92, 0xcb, 0xd2, 0x95, 0x35, 0xe5, 0x1f, 0xe5, 0xc1, 0x7b, 0x08, 0x86, 0x37, + 0xf0, 0x0f, 0x43, 0x12, 0x88, 0xcb, 0x5e, 0x74, 0xa1, 0x64, 0xff, 0x14, 0x2c, 0xc9, 0x91, 0x85, + 0x1a, 0x08, 0xde, 0xe2, 0xea, 0xbb, 0xd9, 0xb2, 0x1d, 0x98, 0xd9, 0x83, 0x8c, 0x21, 0xfc, 0xda, + 0x68, 0x3e, 0x89, 0xac, 0x7a, 0x61, 0x65, 0x3e, 0xf3, 0xf6, 0x53, 0x26, 0x03, 0x0b, 0xe3, 0xf6, + 0xb7, 0x32, 0x48, 0x00, 0xb3, 0xcf, 0xaa, 0x93, 0x3a, 0x19, 0x69, 0x23, 0x50, 0x1d, 0xbd, 0xba, + 0x8e, 0x28, 0x45, 0x71, 0xe1, 0x99, 0x10, 0x88, 0xfd, 0x4e, 0x6f, 0x64, 0xf4, 0x6b, 0xd7, 0xd4, + 0x36, 0x65, 0xe7, 0x6b, 0x7c, 0xe2, 0x0c, 0x65, 0x28, 0x93, 0xcf, 0xbc, 0xa7, 0x12, 0x63, 0xdb, + 0x59, 0x99, 0x28, 0xad, 0x18, 0x66, 0xf9, 0x56, 0x67, 0x33, 0xa4, 0x77, 0x04, 0x0a, 0x78, 0x82, + 0xb1, 0xc1, 0xa6, 0xdc, 0xa9, 0x25, 0xc8, 0x4e, 0x62, 0xf8, 0x16, 0xc1, 0x70, 0x5e, 0x75, 0x39, + 0x7c, 0x4d, 0xfb, 0x71, 0x8f, 0xe0, 0x7e, 0x3b, 0x17, 0xdb, 0xe9, 0x10, 0xc3, 0x81, 0x42, 0x97, + 0x2f, 0xb6, 0xac, 0x78, 0x46, 0x86, 0xc5, 0x6f, 0x66, 0x0b, 0x42, 0x19, 0x78, 0x9d, 0xff, 0xc0, + 0x7b, 0x7c, 0x1c, 0xef, 0x39, 0x73, 0x82, 0xaa, 0xcd, 0xa0, 0xb7, 0xc4, 0x28, 0xd6, 0xdc, 0xbb, + 0x7c, 0x8d, 0x1b, 0x94, 0xd5, 0xc2, 0x54, 0x8b, 0x9c, 0x84, 0x87, 0x3a, 0xa8, 0x20, 0x55, 0x2f, + 0x5a, 0xd3, 0xec, 0x9b, 0x28, 0xd1, 0xf4, 0xa3, 0x74, 0xb4, 0x15, 0x90, 0x3d, 0xec, 0x46, 0xe7, + 0x0a, 0x15, 0xbf, 0xa2, 0xd4, 0x6d, 0x02, 0xae, 0x39, 0x3a, 0x33, 0xbf, 0x17, 0xd1, 0x60, 0x65, + 0x85, 0x7f, 0x10, 0x4e, 0xf3, 0x89, 0x9d, 0xfd, 0x2a, 0xdc, 0xfe, 0x46, 0xac, 0x4f, 0x5a, 0xea, + 0x92, 0x89, 0xfe, 0xc6, 0xce, 0x5d, 0x6e, 0x9b, 0x73, 0xc0, 0x8f, 0xfd, 0x38, 0x1c, 0x07, 0x31, + 0x99, 0x04, 0xe0, 0x7f, 0x4b, 0xc7, 0xba, 0xc7, 0xd4, 0x87, 0x88, 0x28, 0xdf, 0x17, 0x88, 0xd8, + 0xd2, 0x40, 0x50, 0xab, 0x2c, 0x77, 0x8b, 0x97, 0xf8, 0x18, 0xfb, 0xa8, 0x4e, 0x34, 0xdb, 0x47, + 0x01, 0x96, 0xde, 0xd8, 0x38, 0x9a, 0xa8, 0x6f, 0xc0, 0x4c, 0xf8, 0x55, 0x20, 0x9c, 0xb9, 0x2f, + 0xb4, 0x85, 0x92, 0x62, 0x7c, 0x20, 0xa7, 0xd1, 0x08, 0xca, 0x97, 0xa7, 0xd5, 0x01, 0xd3, 0x35, + 0x2c, 0xc2, 0xdb, 0x82, 0x90, 0x0b, 0xab, 0xa4, 0x54, 0xa8, 0x0e, 0x1e, 0xfa, 0xef, 0xe8, 0x49, + 0x79, 0x61, 0x3e, 0x17, 0xf1, 0x8b, 0x63, 0x16, 0x36, 0xa3, 0x99, 0xc0, 0x3a, 0x38, 0x37, 0xc7, + 0x1d, 0x48, 0x5f, 0xf0, 0xab, 0x90, 0x04, 0x57, 0x5f, 0x58, 0xdc, 0x54, 0x79, 0xc3, 0xf6, 0xe6, + 0x53, 0x6c, 0x1c, 0x60, 0x16, 0xd6, 0x37, 0xe7, 0x01, 0x55, 0x59, 0x25, 0x80, 0x52, 0x3e, 0x3c, + 0x53, 0x74, 0x63, 0x69, 0x1c, 0x0f, 0x57, 0x2b, 0x6a, 0xb4, 0xb1, 0xe6, 0x61, 0xcc, 0x15, 0x43, + 0x64, 0xe2, 0x23, 0x98, 0x21, 0x7b, 0x6e, 0x23, 0x69, 0x48, 0xef, 0x25, 0x14, 0xfa, 0x69, 0x79, + 0x93, 0x23, 0xca, 0x64, 0xff, 0xe3, 0x26, 0x75, 0x65, 0xd5, 0x29, 0xce, 0x68, 0xf2, 0xcb, 0x30, + 0xa8, 0x07, 0x12, 0x24, 0x35, 0x97, 0x2b, 0x8d, 0x5c, 0x43, 0x86, 0x9d, 0xa9, 0x64, 0x74, 0x5d, + 0x08, 0x7c, 0x5f, 0xc0, 0xc0, 0x02, 0x8b, 0xd9, 0xe2, 0x21, 0x2c, 0x32, 0x13, 0x55, 0xdc, 0x4c, + 0x8d, 0x02, 0xe9, 0xac, 0x61, 0x2d, 0xf0, 0x77, 0x2c, 0x46, 0x88, 0x7d, 0x42, 0x5b, 0xae, 0xb5, + 0xe7, 0xde, 0x9f, 0x2a, 0xeb, 0xd0, 0xff, 0x9b, 0x34, 0xbb, 0xf5, 0x07, 0x60, 0x47, 0x24, 0xa4, + 0xf0, 0xab, 0xce, 0xfb, 0xa3, 0xca, 0xf5, 0x2c, 0x19, 0x97, 0x6e, 0x50, 0x84, 0x63, 0xee, 0x4d, + 0x53, 0xa1, 0x9f, 0x79, 0x0f, 0xc9, 0x21, 0xf9, 0x46, 0xbe, 0x8c, 0xe0, 0x4a, 0x19, 0xcb, 0xdb, + 0xd1, 0x03, 0xb3, 0x5a, 0xf5, 0x0d, 0xaf, 0x67, 0x30, 0x5e, 0x30, 0x21, 0x08, 0x0d, 0xee, 0x01, + 0xe2, 0x0b, 0xe2, 0xe6, 0x80, 0x5b, 0xc0, 0xcc, 0xaf, 0xbb, 0x6d, 0xcf, 0x6e, 0xbf, 0x61, 0xd5, + 0xac, 0xe3, 0x71, 0x91, 0xea, 0x59, 0x84, 0xb2, 0x50, 0xad, 0xb1, 0xcc, 0x3a, 0x6f, 0x60, 0x04, + 0xfa, 0x64, 0x20, 0x9f, 0x6c, 0xaa, 0x53, 0x52, 0x6d, 0x91, 0xcc, 0x1a, 0x4f, 0xe5, 0x00, 0xd1, + 0xe2, 0x3a, 0x30, 0x6b, 0x49, 0xdb, 0x65, 0xa0, 0x25, 0x77, 0xb9, 0x47, 0x8b, 0x12, 0x6c, 0x42, + 0xca, 0x58, 0xcc, 0x94, 0x44, 0x4b, 0xaa, 0x00, 0xbb, 0x33, 0x1f, 0xa8, 0x10, 0x8b, 0xc2, 0xc8, + 0xd5, 0xb0, 0xd2, 0x2e, 0xf9, 0x83, 0x36, 0x07, 0x36, 0xae, 0x37, 0xba, 0x3f, 0x3d, 0xe6, 0xb1, + 0xb9, 0x88, 0xb4, 0xbc, 0x11, 0x6d, 0x3d, 0xc9, 0x1a, 0xca, 0x09, 0xdd, 0x20, 0x0f, 0xed, 0x00, + 0xe3, 0xea, 0xdb, 0x58, 0xc8, 0x4f, 0xf9, 0xa4, 0x3d, 0x1c, 0x2f, 0x65, 0xfa, 0x5f, 0x40, 0xf0, + 0x04, 0xfd, 0x0b, 0xd6, 0x78, 0xe8, 0x51, 0xc6, 0xfd, 0xea, 0x9d, 0xe7, 0xdd, 0xf3, 0xce, 0x87, + 0xa3, 0x7b, 0x04, 0x45, 0xc2, 0xce, 0x29, 0x59, 0x2b, 0x91, 0x71, 0x43, 0x87, 0x8e, 0x28, 0xdb, + 0x59, 0x16, 0x5b, 0xb0, 0x51, 0xa7, 0x63, 0x5b, 0x51, 0x51, 0x5f, 0x7b, 0xc0, 0x86, 0x89, 0x81, + 0x05, 0xf1, 0x35, 0x67, 0x26, 0x00, 0x81, 0xe9, 0x01, 0x0a, 0xea, 0x25, 0x92, 0x4d, 0x56, 0x03, + 0xef, 0xbf, 0x15, 0x57, 0x4c, 0x9d, 0x4a, 0x9e, 0x74, 0x20, 0x5f, 0xa5, 0x3e, 0xa3, 0xbd, 0xb2, + 0x6c, 0x58, 0x5e, 0x85, 0xc6, 0x1e, 0xd4, 0xa4, 0x22, 0xb7, 0x50, 0xe3, 0x0b, 0xa4, 0x64, 0x78, + 0x03, 0x7e, 0xf3, 0xb2, 0x0e, 0x25, 0x7f, 0xbb, 0x0f, 0xea, 0x62, 0x66, 0xf4, 0x5a, 0x30, 0x90, + 0x94, 0x3e, 0x16, 0x9b, 0x88, 0x32, 0xd1, 0xe1, 0x80, 0x4f, 0x5f, 0xba, 0x12, 0x10, 0x1f, 0x72, + 0xbb, 0x5d, 0x76, 0xf4, 0x42, 0x10, 0x1d, 0x87, 0xa6, 0xd0, 0xc9, 0x35, 0x71, 0x0b, 0x9c, 0xe6, + 0x08, 0x18, 0xd8, 0xa2, 0x69, 0x48, 0x69, 0xef, 0x3c, 0x2d, 0x59, 0x38, 0xd7, 0x7f, 0xf6, 0x0b, + 0xc0, 0x56, 0x27, 0xc1, 0x11, 0x0e, 0x27, 0xfa, 0x7c, 0x07, 0xec, 0x75, 0xdd, 0x31, 0x36, 0xac, + 0x3d, 0x02, 0x35, 0x80, 0xa2, 0xc3, 0x84, 0x56, 0x4b, 0x98, 0x04, 0xb3, 0x4b, 0xd0, 0xf9, 0x17, + 0x3c, 0x13, 0x30, 0x6d, 0x82, 0xc2, 0x6d, 0x36, 0x06, 0x14, 0xb0, 0xac, 0xef, 0xb4, 0xfb, 0x04, + 0x04, 0xf8, 0xa1, 0x93, 0xe0, 0xeb, 0x2f, 0x3f, 0xbd, 0x11, 0xe6, 0xa6, 0xe6, 0xd9, 0xd6, 0x64, + 0x92, 0x15, 0x4a, 0xc7, 0x2b, 0xf8, 0x29, 0x5c, 0xfe, 0x14, 0xf2, 0x67, 0xdc, 0x80, 0x04, 0xd0, + 0x7c, 0x3f, 0x72, 0x75, 0x4f, 0x09, 0x66, 0xc1, 0x95, 0xa6, 0xbb, 0x4e, 0x6a, 0x9d, 0xa4, 0x01, + 0x08, 0x26, 0x2b, 0x3f, 0x94, 0xa1, 0xc4, 0x6d, 0x64, 0xd5, 0x14, 0x31, 0x3a, 0x70, 0x3d, 0x7e, + 0x43, 0x8e, 0x25, 0xa9, 0x06, 0x64, 0xaa, 0x0e, 0xb5, 0x3a, 0x36, 0x16, 0xcd, 0x7d, 0xfa, 0xd1, + 0xee, 0xac, 0x23, 0xa6, 0x27, 0x4a, 0x6d, 0x4c, 0x7e, 0x3e, 0xe4, 0x7f, 0xa5, 0x8b, 0x2a, 0xd4, + 0x5a, 0xcf, 0x8a, 0x57, 0x5a, 0x29, 0xd0, 0x54, 0x72, 0xc1, 0x66, 0xbb, 0x5d, 0x85, 0xa8, 0x49, + 0x75, 0xd4, 0xd3, 0x78, 0x3a, 0x87, 0x48, 0x9d, 0x02, 0x03, 0x5a, 0xde, 0x30, 0x11, 0x3a, 0xc2, + 0x86, 0xad, 0xb1, 0x88, 0xc4, 0x37, 0x87, 0x83, 0xef, 0x74, 0xfc, 0x8b, 0xc2, 0x09, 0x14, 0x5a, + 0xb7, 0xa4, 0xf5, 0x75, 0xb1, 0x3b, 0xbd, 0x8a, 0xea, 0xd3, 0x76, 0x1c, 0xb9, 0x8d, 0x5b, 0x1a, + 0x77, 0x47, 0x42, 0x6f, 0x48, 0x9f, 0x11, 0x22, 0xa1, 0x58, 0x54, 0x7f, 0x97, 0xc1, 0x7f, 0xc4, + 0x38, 0x51, 0x9c, 0x00, 0x0d, 0xfa, 0x9d, 0x2a, 0xfe, 0xd0, 0x1e, 0x68, 0x81, 0xb9, 0x31, 0x95, + 0x17, 0x09, 0x0e, 0xfc, 0x61, 0xdb, 0x4b, 0xdc, 0x7b, 0x7c, 0x72, 0xb4, 0xe2, 0xef, 0xcb, 0x57, + 0x7f, 0x14, 0x4b, 0xa1, 0x76, 0xbb, 0x68, 0xf1, 0x9f, 0x24, 0xec, 0x50, 0xc7, 0x05, 0xb3, 0xec, + 0x85, 0xd5, 0xf1, 0xc9, 0xb7, 0x42, 0xfe, 0xc3, 0x8a, 0x42, 0xb2, 0x86, 0xde, 0xde, 0x2e, 0x8a, + 0xd5, 0x6b, 0x2e, 0xeb, 0xd3, 0x3c, 0x81, 0x9f, 0x72, 0x5c, 0x47, 0xba, 0x6c, 0xca, 0x14, 0x60, + 0xd8, 0xa1, 0xbb, 0x1e, 0x05, 0x0e, 0x5e, 0x5e, 0xf6, 0xf7, 0x90, 0xc8, 0xc8, 0x40, 0x3c, 0xa4, + 0xb8, 0xdd, 0xab, 0x13, 0xb6, 0x33, 0x7f, 0x2a, 0xf5, 0x98, 0xc8, 0xab, 0x5e, 0xc8, 0x9e, 0xfb, + 0x69, 0x81, 0xb8, 0x59, 0xa0, 0x94, 0x26, 0x78, 0x6a, 0x5e, 0x27, 0xc3, 0xab, 0x1b, 0x29, 0x3b, + 0xa0, 0x15, 0x58, 0x2a, 0x40, 0x73, 0x75, 0x50, 0xbd, 0x3e, 0x6c, 0x4a, 0x73, 0x1b, 0xcc, 0x44, + 0x03, 0xc8, 0x64, 0xbb, 0xa2, 0x90, 0xa5, 0x04, 0xc4, 0x49, 0x99, 0xd3, 0x68, 0x24, 0xdb, 0x37, + 0x65, 0x34, 0x65, 0x4f, 0x60, 0xad, 0x0a, 0x9b, 0x89, 0x23, 0xf9, 0xb3, 0x30, 0xd0, 0xab, 0x8f, + 0x33, 0x8f, 0x6a, 0x02, 0xa5, 0xd7, 0x18, 0x34, 0xab, 0x87, 0x6c, 0x82, 0xbe, 0xb5, 0x32, 0xfa, + 0xe7, 0xeb, 0x42, 0x37, 0x94, 0x60, 0xe6, 0xf2, 0x47, 0xf2, 0x31, 0x04, 0x92, 0x86, 0x1f, 0xc0, + 0x20, 0xcc, 0x9d, 0x1c, 0x24, 0x0a, 0xa8, 0x7b, 0x25, 0x4e, 0x2d, 0x4e, 0x3a, 0x95, 0x4e, 0xc3, + 0x12, 0x3b, 0xdd, 0x9e, 0x15, 0x17, 0xdf, 0xed, 0x50, 0xb4, 0xd9, 0x21, 0x89, 0xd2, 0x02, 0xdf, + 0x28, 0xb0, 0xc6, 0xbe, 0x87, 0x29, 0x56, 0x52, 0xd3, 0x38, 0xb1, 0xbe, 0xab, 0xd4, 0xbf, 0xaa, + 0x6c, 0x08, 0x78, 0x84, 0x8f, 0xfa, 0xa8, 0xe6, 0x98, 0x07, 0x53, 0x48, 0xc4, 0xc8, 0xd5, 0xdb, + 0xcf, 0x17, 0x83, 0x10, 0x58, 0x57, 0x35, 0x9b, 0xf2, 0x8b, 0xed, 0xee, 0xe2, 0x5e, 0x38, 0xeb, + 0x3b, 0x9d, 0xa1, 0x0a, 0xd6, 0x91, 0x0a, 0x21, 0x28, 0x33, 0x6c, 0xf2, 0x09, 0xa3, 0x67, 0xa5, + 0x4f, 0x8b, 0x18, 0x0f, 0xa7, 0xf9, 0x2b, 0x32, 0x3f, 0x88, 0x37, 0x61, 0x28, 0xce, 0xba, 0x31, + 0x67, 0xc9, 0xbb, 0x6a, 0xb2, 0x7d, 0x53, 0xad, 0x6d, 0x0f, 0xa2, 0xf1, 0x64, 0x8a, 0x4b, 0xac, + 0x11, 0x96, 0x53, 0xb3, 0x4c, 0x39, 0xb4, 0xa9, 0x14, 0xa9, 0xe8, 0xa8, 0x94, 0x0b, 0x32, 0xc4, + 0xa5, 0x70, 0x39, 0x5f, 0x73, 0x3a, 0x5b, 0x14, 0x53, 0x62, 0x1e, 0xcd, 0x7a, 0x27, 0x8b, 0x0d, + 0x72, 0xdc, 0xe6, 0x70, 0x77, 0xf2, 0x70, 0x4a, 0x83, 0x44, 0x6b, 0xeb, 0x20, 0x57, 0x10, 0xbd, + 0xe3, 0x16, 0x2e, 0xbd, 0x88, 0x36, 0xf1, 0xc5, 0x06, 0xd5, 0xd7, 0x47, 0xe3, 0xb0, 0x50, 0xb2, + 0x17, 0x38, 0x65, 0xc1, 0x5a, 0x43, 0x1d, 0x2c, 0x37, 0xf2, 0xcc, 0x08, 0x40, 0xf2, 0x88, 0x6f, + 0xf2, 0x4e, 0xe0, 0x4d, 0xd8, 0x51, 0x7e, 0x4d, 0x2b, 0xe7, 0x91, 0x5e, 0xdc, 0xc2, 0x5e, 0x58, + 0x20, 0xd8, 0xb9, 0x30, 0xf9, 0x4f, 0x0d, 0x2a, 0xcd, 0xc4, 0xcd, 0x4e, 0xda, 0x8f, 0xb3, 0x52, + 0x24, 0xaf, 0x4e, 0x65, 0x5e, 0xd2, 0x00, 0xca, 0xdf, 0x69, 0xa3, 0x82, 0x65, 0xf8, 0xce, 0x6a, + 0xe2, 0x51, 0x44, 0xec, 0x46, 0x77, 0xb8, 0x00, 0xee, 0x72, 0x8b, 0x13, 0x0d, 0xf7, 0x9f, 0x84, + 0x91, 0xb7, 0xc1, 0xed, 0xce, 0x68, 0xc4, 0x76, 0xc5, 0x91, 0x9b, 0xb5, 0xac, 0x6b, 0x00, 0xc9, + 0xaf, 0x17, 0x8b, 0x87, 0xa3, 0x01, 0x22, 0xaa, 0xc7, 0xda, 0xde, 0x12, 0xb4, 0x7c, 0xf6, 0x6f, + 0x74, 0xdc, 0x63, 0x60, 0xb6, 0x7b, 0x34, 0x8e, 0x3b, 0x4e, 0x36, 0x63, 0x9b, 0xb8, 0x1b, 0x98, + 0xc4, 0x28, 0x52, 0x81, 0xd7, 0x2d, 0x1a, 0x6e, 0x20, 0x0a, 0xa1, 0xb8, 0x89, 0x28, 0xd5, 0x57, + 0xeb, 0x1f, 0xba, 0x13, 0x1c, 0x5b, 0x25, 0x97, 0x2a, 0x2c, 0xf2, 0xae, 0x73, 0x63, 0x2f, 0x3a, + 0x59, 0xcd, 0x30, 0x36, 0x40, 0xb2, 0xb0, 0x5a, 0x17, 0xfd, 0x26, 0xb8, 0x83, 0x34, 0x23, 0xa6, + 0xea, 0x8e, 0x93, 0x07, 0x90, 0x6f, 0x65, 0x80, 0xf2, 0x9b, 0x60, 0xdb, 0xb7, 0x50, 0x19, 0x46, + 0x8c, 0xdd, 0x79, 0x67, 0x9a, 0xe2, 0x23, 0xde, 0x63, 0x44, 0xc5, 0x76, 0x38, 0x13, 0x55, 0x8a, + 0x58, 0xed, 0xd4, 0xb5, 0x83, 0x2c, 0x28, 0x73, 0xe2, 0x4e, 0xe0, 0x39, 0xf8, 0x4c, 0x89, 0x0c, + 0xae, 0xc8, 0x70, 0x14, 0xe5, 0x4a, 0xb1, 0xda, 0xff, 0x01, 0x06, 0xcf, 0xa0, 0x02, 0xfa, 0xae, + 0xa3, 0x95, 0x45, 0xe1, 0x62, 0x1c, 0x95, 0xea, 0xb7, 0xf3, 0x0a, 0x31, 0xb6, 0x02, 0x3d, 0xe0, + 0x30, 0xa8, 0xaa, 0xf4, 0xc8, 0x91, 0x2e, 0x88, 0xdf, 0xaf, 0xb0, 0x78, 0x93, 0x2f, 0x08, 0x95, + 0x42, 0x53, 0xc2, 0x92, 0xd4, 0x60, 0x9d, 0x96, 0x89, 0xd6, 0x8e, 0xdd, 0x26, 0xe2, 0xb0, 0x8d, + 0x6c, 0x5f, 0x6d, 0xd9, 0x33, 0x22, 0xbc, 0x45, 0x22, 0x35, 0x7e, 0x77, 0xf3, 0x1f, 0x7b, 0x1d, + 0x4f, 0x7d, 0x37, 0x27, 0xa4, 0x7e, 0xda, 0x4f, 0xf3, 0xc6, 0x3b, 0xfb, 0x4b, 0x1e, 0x5a, 0x5f, + 0xf3, 0xd1, 0xd5, 0x93, 0x6e, 0x30, 0x01, 0x2d, 0x4e, 0x90, 0xe1, 0x5b, 0xe4, 0x6c, 0xbe, 0xd2, + 0xa1, 0x80, 0x2d, 0x04, 0xc8, 0xfb, 0x0d, 0x67, 0xca, 0xe0, 0xe0, 0xeb, 0x67, 0xff, 0x89, 0x1a, + 0xf0, 0x77, 0xf8, 0xde, 0xd8, 0x43, 0xea, 0x8e, 0x9c, 0x46, 0x5b, 0x0f, 0x60, 0xea, 0x98, 0x1e, + 0x34, 0x69, 0x04, 0x52, 0x5e, 0xd4, 0x5d, 0x7f, 0x76, 0xdb, 0x87, 0xb5, 0xa6, 0x89, 0xee, 0xc0, + 0x2d, 0x30, 0xc7, 0x6f, 0xcc, 0x07, 0x8a, 0xc5, 0x8d, 0x8b, 0x1a, 0xca, 0xee, 0x84, 0xd3, 0xed, + 0xd3, 0xf3, 0xf4, 0x1f, 0x38, 0xdb, 0x87, 0x80, 0xea, 0x7f, 0x8a, 0xb3, 0xc5, 0x20, 0xe7, 0x0f, + 0x1e, 0xc3, 0x3a, 0x12, 0x61, 0x24, 0xf0, 0x53, 0x50, 0x0e, 0x8c, 0x5e, 0x92, 0x3c, 0xc9, 0xa2, + 0xc6, 0x93, 0xa3, 0xd3, 0xb1, 0x6a, 0xc7, 0x83, 0x81, 0x19, 0x8f, 0x18, 0x49, 0x8d, 0xb7, 0x8c, + 0x30, 0x1f, 0xc9, 0xa0, 0x6e, 0x59, 0x30, 0xdd, 0xc4, 0x01, 0x84, 0xee, 0x36, 0x0b, 0xf4, 0x08, + 0x3d, 0x8b, 0x12, 0x00, 0x89, 0x59, 0xcd, 0x5e, 0x16, 0x06, 0xc0, 0x26, 0xd7, 0xdf, 0x4a, 0xc2, + 0x7a, 0xc2, 0x70, 0xce, 0x38, 0xf6, 0x12, 0x29, 0xc9, 0x9d, 0x99, 0xc0, 0x80, 0x35, 0x23, 0x0d, + 0xaa, 0x0b, 0x58, 0xaa, 0x00, 0x91, 0x3a, 0x70, 0xbf, 0xa0, 0xf1, 0xb4, 0x20, 0xf7, 0x49, 0x06, + 0xed, 0xaf, 0x7a, 0x23, 0x77, 0x0e, 0x75, 0x9c, 0x08, 0x63, 0xc6, 0xf8, 0x58, 0x33, 0x72, 0x0a, + 0x68, 0x8c, 0xcd, 0x01, 0x3e, 0x2c, 0x00, 0x7b, 0xa0, 0x92, 0x1a, 0xd8, 0x34, 0x1d, 0x19, 0x81, + 0xf4, 0x4f, 0x0b, 0x58, 0x89, 0x43, 0x72, 0x6f, 0x90, 0x4f, 0x98, 0xbe, 0xe1, 0x40, 0x07, 0xd0, + 0x68, 0xa9, 0xe5, 0x65, 0x1e, 0x52, 0x97, 0xd4, 0x10, 0x41, 0x8d, 0x85, 0x9e, 0x46, 0xec, 0xb6, + 0x84, 0x25, 0xfd, 0x5e, 0x89, 0x4a, 0xf9, 0x95, 0x40, 0x03, 0x16, 0x23, 0xf3, 0xc4, 0xa6, 0x8e, + 0x5a, 0xb9, 0x89, 0xe6, 0x2f, 0xae, 0x00, 0x8e, 0xc6, 0xa5, 0xed, 0x79, 0xf6, 0x15, 0x25, 0x6e, + 0x32, 0x8a, 0x38, 0xb0, 0x9b, 0x5e, 0x75, 0xe8, 0x3d, 0x96, 0xbe, 0xff, 0xe2, 0x21, 0x95, 0xfe, + 0x02, 0x7d, 0x50, 0xe9, 0x10, 0x24, 0xf8, 0xd7, 0x6b, 0xa1, 0x48, 0x6b, 0xec, 0xf0, 0xd7, 0x25, + 0xfb, 0x1b, 0xe7, 0x92, 0x0c, 0x1a, 0x7d, 0x17, 0x39, 0xe6, 0x7f, 0xcf, 0xc7, 0x69, 0x0e, 0x18, + 0x86, 0x67, 0xd4, 0x53, 0x63, 0x89, 0x7a, 0x7a, 0xee, 0xff, 0xf6, 0xfd, 0x92, 0xd5, 0x4f, 0xd0, + 0x66, 0xe6, 0xeb, 0x26, 0xa7, 0x3b, 0x00, 0x81, 0x63, 0x7d, 0x51, 0x4c, 0x66, 0xf8, 0x01, 0x53, + 0xfd, 0x56, 0x22, 0xb1, 0x0b, 0x53, 0x65, 0xa6, 0x8f, 0x74, 0xcf, 0x9d, 0x37, 0x70, 0x28, 0xdc, + 0x00, 0xc5, 0x7c, 0xb0, 0x9c, 0x27, 0x81, 0xe8, 0x05, 0x3b, 0x80, 0xff, 0x58, 0xc1, 0x54, 0xc2, + 0x41, 0x6a, 0x13, 0x2e, 0x96, 0x29, 0x4f, 0xfd, 0x17, 0xe7, 0xee, 0x5f, 0xc6, 0x09, 0x38, 0x86, + 0x73, 0x7a, 0x56, 0xb5, 0x87, 0xcd, 0x80, 0x02, 0xb1, 0xa6, 0x1e, 0xa5, 0x19, 0xb3, 0xf2, 0xef, + 0xee, 0xc7, 0xa4, 0x7f, 0xf4, 0xf6, 0xc2, 0x4f, 0x51, 0x7f, 0x54, 0x65, 0xd4, 0x6d, 0xcf, 0xe4, + 0x78, 0xdd, 0x97, 0x4e, 0x18, 0xe4, 0x88, 0x6e, 0x51, 0x23, 0xf8, 0x4f, 0x65, 0x62, 0x6a, 0xbe, + 0x6b, 0x90, 0x24, 0x15, 0xf6, 0x6e, 0x4f, 0xfb, 0x15, 0x4b, 0xf3, 0xd6, 0x04, 0xc4, 0xe2, 0xaf, + 0x18, 0x93, 0x1d, 0x74, 0x12, 0x37, 0x33, 0xc2, 0x5d, 0x7a, 0xcd, 0x84, 0x1b, 0xab, 0xa4, 0x04, + 0xa6, 0xba, 0x01, 0x45, 0x2d, 0x89, 0x5b, 0x40, 0x00, 0xb6, 0xc3, 0x6f, 0x23, 0x53, 0xbd, 0x3a, + 0x0f, 0x81, 0x1f, 0x2c, 0x74, 0x72, 0x1a, 0x70, 0xe5, 0xf7, 0xcb, 0x81, 0xbe, 0x8e, 0xfb, 0x24, + 0xe1, 0xd1, 0xf9, 0xf1, 0xdf, 0xb9, 0x66, 0x16, 0xf0, 0x02, 0x03, 0xf0, 0x86, 0xcf, 0x8c, 0xb6, + 0x4a, 0x28, 0xa0, 0xe7, 0x6b, 0x26, 0x6c, 0xe5, 0x79, 0x69, 0x40, 0xe4, 0xfe, 0x10, 0xe7, 0x1d, + 0x66, 0xec, 0x9c, 0x4a, 0x69, 0xc7, 0xb2, 0x68, 0x74, 0xab, 0xf7, 0x10, 0x3e, 0x1e, 0xbf, 0x48, + 0xe4, 0x9a, 0x1f, 0xe2, 0xa7, 0x3e, 0x0c, 0x2a, 0x52, 0x12, 0xf2, 0xf7, 0xea, 0x46, 0x77, 0xcd, + 0x5a, 0x8d, 0x3d, 0x6b, 0x11, 0x73, 0xe2, 0x7e, 0x70, 0x2e, 0xb8, 0x61, 0x95, 0x71, 0x40, 0x6d, + 0x28, 0x03, 0x71, 0x2c, 0x79, 0xfa, 0x7c, 0xb6, 0xab, 0x5c, 0x80, 0x46, 0x85, 0x74, 0x1e, 0x6c, + 0x82, 0x7b, 0x1a, 0x46, 0xcb, 0x30, 0xfb, 0x55, 0x07, 0xf9, 0xd2, 0x8f, 0xed, 0x24, 0x4c, 0x31, + 0x84, 0xec, 0xb4, 0x9e, 0x30, 0xd4, 0x19, 0x79, 0x2f, 0xfe, 0x74, 0x37, 0x55, 0xdd, 0x01, 0x4a, + 0xfa, 0xdc, 0xd7, 0x56, 0x24, 0x84, 0x64, 0x82, 0x23, 0x32, 0xc8, 0x70, 0x1a, 0x93, 0xcd, 0xa1, + 0xd4, 0x43, 0x36, 0xef, 0xc0, 0xc0, 0x72, 0x6c, 0xe5, 0x70, 0x98, 0xbc, 0x7d, 0x1b, 0xfe, 0x77, + 0xaa, 0xd5, 0x5b, 0xa8, 0x0c, 0x58, 0x58, 0x62, 0xa6, 0x07, 0xba, 0x3b, 0x96, 0x92, 0x15, 0xb5, + 0x19, 0xaf, 0x87, 0x7c, 0x94, 0xe4, 0xd0, 0x58, 0x91, 0x13, 0x1e, 0x95, 0xa7, 0x1f, 0xce, 0x12, + 0x20, 0xb2, 0x37, 0x03, 0x46, 0x38, 0x04, 0x72, 0x21, 0xd0, 0x75, 0x4e, 0xbe, 0xe8, 0x06, 0x03, + 0xd7, 0x0d, 0x3d, 0xbc, 0x7c, 0xf2, 0x1a, 0xa0, 0x3e, 0xa3, 0xc7, 0x7f, 0x70, 0x77, 0x64, 0xc9, + 0xd7, 0xed, 0x69, 0xb3, 0x4f, 0x44, 0x60, 0x05, 0x15, 0x89, 0xb5, 0x39, 0x6b, 0x37, 0xf1, 0x2f, + 0xee, 0x2c, 0x45, 0x02, 0x48, 0xab, 0x01, 0x76, 0x7c, 0x69, 0x1a, 0x9e, 0xa3, 0xa4, 0x87, 0xb5, + 0x2d, 0xaa, 0x59, 0x52, 0x03, 0x86, 0xa0, 0x2a, 0xbe, 0xfa, 0x24, 0x86, 0xf0, 0x8d, 0x4f, 0x10, + 0xb8, 0x1a, 0x6d, 0x89, 0xbd, 0xfd, 0x58, 0x22, 0xce, 0x6f, 0xd2, 0xd9, 0x19, 0x9c, 0xfc, 0x79, + 0xae, 0x9b, 0x02, 0xe1, 0x57, 0xc8, 0x00, 0x63, 0xbe, 0xb8, 0x17, 0xef, 0x91, 0x1a, 0xd3, 0xcb, + 0xcd, 0x91, 0x0f, 0x94, 0xd3, 0x42, 0x3b, 0x76, 0x11, 0x53, 0x5e, 0xa2, 0x95, 0xe8, 0x11, 0x14, + 0x9c, 0x08, 0x46, 0x28, 0x64, 0x89, 0x23, 0x56, 0x24, 0xb7, 0x40, 0xd4, 0xd7, 0x1d, 0xa0, 0xb7, + 0x65, 0xd8, 0xb4, 0x1e, 0xb3, 0x8d, 0xf5, 0xb1, 0x34, 0xd1, 0x1b, 0xa5, 0x98, 0xfe, 0x86, 0x9f, + 0xee, 0xe0, 0xba, 0xf7, 0x29, 0x1e, 0x55, 0xdd, 0xe3, 0xcb, 0xb9, 0xd8, 0xe7, 0xe5, 0x75, 0xca, + 0xcf, 0xed, 0xb4, 0x27, 0x69, 0x59, 0x10, 0x3d, 0x45, 0x46, 0x44, 0x4d, 0x0a, 0x63, 0x70, 0x4b, + 0x5b, 0xb7, 0x80, 0x69, 0xe7, 0x38, 0x6a, 0xf5, 0xcd, 0x7f, 0xcd, 0x1a, 0xa4, 0xdd, 0x30, 0x9f, + 0xa2, 0x50, 0x88, 0x6a, 0x59, 0x2b, 0x36, 0x3c, 0x9d, 0x0e, 0x18, 0x1b, 0x9b, 0x67, 0xb1, 0x2a, + 0x9d, 0xc3, 0xe5, 0xc5, 0x82, 0x25, 0xf0, 0xca, 0x75, 0xb8, 0x81, 0x9a, 0x44, 0xcd, 0xe4, 0x45, + 0x1d, 0xab, 0x4b, 0x3b, 0x8e, 0xcb, 0x0e, 0x6e, 0x4f, 0x08, 0x56, 0xec, 0xeb, 0x56, 0x63, 0x3d, + 0x44, 0x16, 0x60, 0xe2, 0x1d, 0xac, 0xd4, 0xf4, 0x7e, 0x81, 0xd3, 0xa4, 0x19, 0x83, 0x5a, 0xb7, + 0x69, 0x03, 0x0a, 0x36, 0xbd, 0x98, 0x37, 0x94, 0x90, 0x7e, 0xcd, 0xb9, 0xdc, 0x1c, 0x40, 0x66, + 0xf4, 0x68, 0x10, 0x51, 0xcc, 0xb1, 0xcd, 0xe1, 0xe2, 0x9f, 0x34, 0x60, 0x4e, 0xc0, 0xd3, 0x4c, + 0x4e, 0x7e, 0xac, 0x64, 0xbb, 0xd8, 0x1d, 0x77, 0x0c, 0xde, 0x92, 0xf4, 0xe2, 0xd2, 0xed, 0x23, + 0xc8, 0xc5, 0x2c, 0xd5, 0xc9, 0x28, 0x90, 0xd5, 0x00, 0x29, 0x90, 0xd2, 0x16, 0x8a, 0xd9, 0xc9, + 0x76, 0x58, 0xe4, 0xc0, 0x1b, 0x5a, 0xda, 0x6c, 0x7f, 0xb6, 0xae, 0xcd, 0xa0, 0x62, 0x33, 0xde, + 0x12, 0x13, 0x8d, 0xa2, 0xc5, 0xbd, 0x7f, 0x66, 0x14, 0xdc, 0x21, 0xe6, 0x43, 0x19, 0xe5, 0x33, + 0x42, 0x08, 0xfb, 0x83, 0xea, 0xe9, 0xf9, 0x43, 0xff, 0xb3, 0xc9, 0x05, 0xca, 0xd9, 0x47, 0x80, + 0x0c, 0x1c, 0x25, 0x3a, 0x59, 0x8d, 0x2c, 0x05, 0x7b, 0x75, 0xdf, 0x1c, 0x2a, 0x10, 0xb7, 0x80, + 0x45, 0xaf, 0x6f, 0x11, 0x9b, 0xd6, 0x00, 0x29, 0xc3, 0xa4, 0x73, 0x4d, 0x9c, 0x06, 0xf2, 0xa3, + 0xbf, 0xd6, 0x2a, 0xfb, 0x8a, 0x67, 0xe9, 0xbe, 0x83, 0x7b, 0x57, 0xc1, 0x4c, 0x76, 0x8d, 0xe1, + 0x48, 0xef, 0xd3, 0x4d, 0x57, 0xc3, 0xce, 0x4b, 0xf3, 0x01, 0xb0, 0xcf, 0xf5, 0x84, 0x4b, 0xfa, + 0xca, 0x23, 0x7f, 0x67, 0xa2, 0xb7, 0xaf, 0x5c, 0x5f, 0xaa, 0xfa, 0x12, 0x19, 0xea, 0xcf, 0x04, + 0xc1, 0x79, 0x9f, 0x2d, 0x83, 0x81, 0x10, 0x7e, 0x36, 0x1c, 0x24, 0x2b, 0x6f, 0xc4, 0x1c, 0x11, + 0xe4, 0xf1, 0xc1, 0xc4, 0xec, 0xdf, 0x70, 0x62, 0x0a, 0xe4, 0x2d, 0xdb, 0xf1, 0xa2, 0x53, 0x22, + 0xd8, 0xeb, 0xbc, 0x62, 0x0b, 0xdf, 0x5d, 0xb9, 0xa8, 0x90, 0xa8, 0xbf, 0xda, 0x78, 0x21, 0xb5, + 0x46, 0x4f, 0x27, 0x91, 0x4e, 0x85, 0xaf, 0x62, 0x61, 0x64, 0x0e, 0x0d, 0xb6, 0x4b, 0x03, 0x2f, + 0x30, 0x60, 0x67, 0x84, 0x28, 0xa0, 0xe2, 0x88, 0xb2, 0x37, 0xf1, 0xfe, 0x6d, 0x94, 0x4c, 0x88, + 0x5d, 0x11, 0xe7, 0xfd, 0x55, 0x31, 0x02, 0x46, 0xf3, 0x9b, 0x62, 0xa6, 0x19, 0xb1, 0x20, 0x48, + 0x3f, 0xc1, 0xf2, 0xdc, 0x0a, 0x59, 0x0f, 0x8a, 0xc1, 0x57, 0xba, 0x4a, 0x91, 0x32, 0xaa, 0xf7, + 0xd2, 0x48, 0x79, 0xfd, 0x54, 0x46, 0x15, 0x83, 0x1c, 0x60, 0x0f, 0x52, 0x9b, 0x01, 0x17, 0x46, + 0x63, 0xa7, 0x10, 0x6a, 0x77, 0xcf, 0x35, 0xc7, 0x05, 0xf7, 0xf6, 0x53, 0x00, 0xf0, 0xe3, 0x86, + 0x05, 0x5c, 0x3a, 0x6e, 0xb5, 0x9e, 0xe8, 0x5d, 0x8b, 0xa0, 0x36, 0xca, 0x90, 0x28, 0x0d, 0x5a, + 0x71, 0xae, 0x03, 0xb8, 0x84, 0xfa, 0xe3, 0xe4, 0x7d, 0xc6, 0xdd, 0x5e, 0x91, 0x9a, 0xc2, 0x60, + 0x94, 0xf6, 0x01, 0x9e, 0xac, 0x95, 0x10, 0x2d, 0x57, 0x19, 0x67, 0x0d, 0xd7, 0x88, 0x55, 0x18, + 0x76, 0x13, 0xa9, 0xfd, 0xef, 0x04, 0x18, 0xc3, 0x42, 0xeb, 0x99, 0xfd, 0xe9, 0x91, 0x1a, 0x5d, + 0x05, 0xf0, 0x67, 0x1a, 0xf0, 0xb5, 0x6e, 0x9e, 0x8c, 0xca, 0xd3, 0x7c, 0x1f, 0x23, 0xcf, 0x06, + 0x7e, 0xd0, 0x1f, 0xb3, 0x88, 0x5b, 0x3e, 0xdf, 0x1c, 0x2b, 0x83, 0x46, 0x7c, 0x5d, 0xf5, 0xa7, + 0xb0, 0x88, 0xfd, 0xcc, 0xe2, 0x86, 0xab, 0xfc, 0x47, 0xe8, 0xff, 0x7e, 0xac, 0xf5, 0x70, 0xb0, + 0xd9, 0x95, 0x15, 0xe5, 0x63, 0x75, 0x02, 0x87, 0x46, 0xa0, 0x70, 0x3b, 0xd2, 0xb0, 0x8d, 0x9e, + 0x4c, 0xeb, 0x28, 0xa1, 0x9d, 0x8a, 0x8c, 0x11, 0xd8, 0xf7, 0xb7, 0x2f, 0x31, 0x8a, 0xc5, 0xea, + 0xbb, 0x02, 0x83, 0x66, 0x63, 0xe1, 0xcb, 0x80, 0xd1, 0x86, 0xf1, 0xda, 0xc0, 0x0a, 0x7e, 0x54, + 0x0d, 0xd5, 0xc9, 0x10, 0x94, 0x25, 0x07, 0x55, 0x5e, 0x40, 0x24, 0xa3, 0x98, 0x61, 0xaf, 0x72, + 0xb5, 0x35, 0x79, 0xe7, 0x96, 0x43, 0xff, 0x74, 0xe7, 0x15, 0x51, 0xcf, 0xd5, 0x62, 0xdf, 0x0d, + 0x76, 0x00, 0x5c, 0xc0, 0xc9, 0xfa, 0xd7, 0x33, 0xdf, 0x30, 0xfc, 0xbb, 0xa9, 0x45, 0x78, 0x85, + 0x94, 0x8c, 0x71, 0x85, 0x91, 0x68, 0x5b, 0x1d, 0x2e, 0x75, 0xbc, 0x41, 0x83, 0x66, 0xf5, 0x76, + 0x68, 0xcb, 0xe9, 0xfe, 0xe3, 0x88, 0x7b, 0x8b, 0x03, 0x7a, 0xad, 0x83, 0x6e, 0x70, 0x37, 0xe7, + 0xde, 0xf8, 0x4d, 0x46, 0x1d, 0xbf, 0x96, 0x5b, 0x57, 0x3c, 0x9f, 0x82, 0x5f, 0x71, 0x92, 0xea, + 0xa5, 0xe4, 0x36, 0x1a, 0x73, 0x34, 0xc8, 0xcf, 0x5d, 0x01, 0x1f, 0x33, 0xee, 0x75, 0x17, 0xf5, + 0x55, 0x01, 0xe6, 0x4b, 0x9a, 0xcd, 0xc1, 0x0f, 0x53, 0x83, 0xff, 0xcb, 0x83, 0x2f, 0x9c, 0xa0, + 0x05, 0x35, 0xa5, 0x63, 0x48, 0xf8, 0x43, 0x9b, 0x03, 0xc6, 0x46, 0x1c, 0xe2, 0xa1, 0xaa, 0xaa, + 0x4b, 0xd6, 0xad, 0xa3, 0x71, 0x82, 0x95, 0x95, 0xd2, 0x52, 0x6e, 0x7f, 0x8b, 0xfa, 0x6d, 0x02, + 0x0d, 0xef, 0x11, 0xaf, 0x88, 0x42, 0xcc, 0x12, 0xcf, 0x2c, 0xc2, 0x7f, 0x15, 0x8a, 0x71, 0x4e, + 0x24, 0xcf, 0xe2, 0x5a, 0x7b, 0x04, 0x44, 0x40, 0xf7, 0xbe, 0x36, 0x9f, 0xd7, 0xe4, 0xd0, 0x93, + 0x02, 0x25, 0x70, 0xed, 0x1a, 0xdf, 0xa1, 0xf8, 0xc8, 0x85, 0x63, 0x02, 0x62, 0xb6, 0xb5, 0xb9, + 0xc2, 0xfc, 0xdb, 0x91, 0xbd, 0x07, 0x5c, 0x30, 0x86, 0x8e, 0x84, 0x05, 0xed, 0x6a, 0x1b, 0x60, + 0x4d, 0xcd, 0xc3, 0x37, 0x91, 0x47, 0xf5, 0x72, 0xbf, 0xaa, 0xa9, 0x10, 0x27, 0xac, 0x19, 0xe0, + 0xe0, 0xea, 0x91, 0xfd, 0x8b, 0x9b, 0x24, 0x5b, 0x31, 0xae, 0x45, 0x80, 0x17, 0xbb, 0x81, 0x42, + 0xf5, 0x3a, 0xa2, 0xc6, 0x31, 0xa4, 0x6a, 0xdf, 0x6d, 0x8f, 0x3a, 0x6c, 0x55, 0x84, 0xf9, 0xdd, + 0x02, 0x61, 0xeb, 0x43, 0xdc, 0x16, 0xbf, 0x15, 0x05, 0x25, 0xff, 0xec, 0xa5, 0xb7, 0x82, 0x08, + 0x4c, 0xdc, 0xa8, 0xe5, 0xde, 0x72, 0x9c, 0x59, 0x03, 0x1b, 0x42, 0xcc, 0x11, 0x7c, 0xac, 0xbf, + 0xf4, 0xb2, 0xcb, 0x60, 0x5f, 0x6b, 0x32, 0xfb, 0xf2, 0x9c, 0x1b, 0x6a, 0x99, 0xc6, 0x86, 0x7e, + 0x6e, 0xf6, 0x79, 0xef, 0x73, 0xe9, 0x6b, 0x56, 0xa0, 0x8e, 0x49, 0xe4, 0xb2, 0x56, 0x4c, 0x1d, + 0xae, 0x5a, 0x2d, 0xc9, 0xc9, 0x86, 0xd0, 0x21, 0xa2, 0x5d, 0x50, 0xa9, 0x53, 0x5b, 0x97, 0x19, + 0x23, 0xbb, 0x54, 0x3f, 0xa6, 0xc5, 0xac, 0x5b, 0xf6, 0x83, 0x80, 0x4a, 0x3d, 0x02, 0xc6, 0xd5, + 0xc1, 0xa3, 0xa3, 0x3d, 0x3a, 0x1d, 0x32, 0x72, 0xbd, 0x1d, 0xde, 0xd8, 0x4c, 0x20, 0x78, 0x1c, + 0x2c, 0xbb, 0x64, 0x0c, 0x1d, 0x8b, 0x02, 0x60, 0xae, 0x52, 0x63, 0x4a, 0x9d, 0x68, 0x19, 0x6c, + 0x08, 0xab, 0x9c, 0x4e, 0x65, 0x0b, 0x98, 0x75, 0xea, 0x14, 0xf2, 0x1c, 0xdd, 0x61, 0xe8, 0xe3, + 0xc9, 0x9e, 0x9d, 0x65, 0x98, 0x28, 0x7c, 0x22, 0xd1, 0xd9, 0x62, 0x67, 0xb1, 0xf2, 0x85, 0x3c, + 0x6b, 0x57, 0x80, 0x28, 0x8a, 0x97, 0x4b, 0xd0, 0x57, 0x5e, 0x5e, 0xf8, 0xa9, 0xd1, 0x9c, 0x25, + 0x35, 0xb7, 0x56, 0x51, 0x98, 0x96, 0xc2, 0x27, 0x9e, 0xa9, 0xf0, 0x66, 0xc0, 0x82, 0x10, 0x07, + 0xe0, 0xfa, 0x6e, 0xef, 0x9a, 0xbc, 0x49, 0xe2, 0xd9, 0x22, 0x5e, 0xcd, 0x3f, 0xcf, 0xcd, 0x66, + 0xdd, 0x92, 0x2c, 0xca, 0xa3, 0x66, 0x2f, 0x55, 0xb5, 0x9a, 0xcb, 0x7d, 0x27, 0xac, 0x4f, 0xc7, + 0xd8, 0xf5, 0x72, 0x0f, 0x77, 0xd0, 0x83, 0xf4, 0x17, 0xac, 0x52, 0x7a, 0x2e, 0x84, 0xf5, 0xa6, + 0x57, 0x2f, 0x35, 0x78, 0xdb, 0x78, 0x42, 0x39, 0x2b, 0x90, 0x08, 0x02, 0xac, 0xb8, 0x0d, 0x79, + 0x2c, 0x2c, 0xa7, 0x40, 0xc9, 0x6c, 0x7f, 0xd5, 0xa9, 0x5a, 0x49, 0x4a, 0x2f, 0x0e, 0x07, 0xa4, + 0xb9, 0x22, 0x74, 0xda, 0x45, 0x78, 0xa4, 0xaf, 0x9e, 0xc4, 0x5a, 0xb7, 0x2b, 0x75, 0x40, 0xeb, + 0x71, 0x99, 0x4c, 0xbe, 0xdf, 0x82, 0x16, 0x54, 0x1f, 0x71, 0x5a, 0xc2, 0xbc, 0xab, 0x03, 0x48, + 0xb6, 0xf9, 0x65, 0x0b, 0x19, 0x06, 0xf9, 0xf5, 0xd5, 0x7b, 0xd6, 0xa6, 0x04, 0x2b, 0xf5, 0x80, + 0x7d, 0x3c, 0x4a, 0xb6, 0x98, 0x17, 0xb6, 0xd3, 0xe2, 0xd7, 0x0b, 0x5c, 0xba, 0x2d, 0x72, 0x51, + 0xff, 0x67, 0xc0, 0xa1, 0x72, 0xc3, 0xb9, 0xd7, 0xb8, 0xe5, 0x45, 0x0d, 0x67, 0x17, 0x2e, 0x79, + 0x20, 0x63, 0x94, 0x0b, 0x81, 0x6f, 0xe3, 0x3a, 0x2d, 0x6d, 0x4e, 0xcb, 0x1a, 0x7f, 0x58, 0xbe, + 0xac, 0x74, 0x38, 0x43, 0x23, 0x3e, 0xc4, 0xda, 0x1a, 0x84, 0x1d, 0xba, 0x81, 0x5e, 0x92, 0xd3, + 0xbc, 0xb2, 0x21, 0xd6, 0xb0, 0xd1, 0x40, 0xf6, 0xfc, 0x1e, 0x1b, 0x76, 0xc1, 0xd1, 0x7e, 0x39, + 0x10, 0xe0, 0x76, 0x80, 0x85, 0xfa, 0x37, 0x01, 0x1b, 0x2c, 0xba, 0xed, 0xba, 0xc8, 0x00, 0x2a, + 0x88, 0x41, 0x4b, 0x3a, 0x95, 0x16, 0x81, 0xf7, 0xbc, 0xdd, 0x99, 0x66, 0x3f, 0x31, 0xc7, 0xc9, + 0x05, 0xef, 0x7f, 0x78, 0x11, 0x7b, 0xa3, 0x6b, 0xad, 0x85, 0xb7, 0x3e, 0x11, 0x4b, 0x77, 0x99, + 0x7c, 0xb7, 0x34, 0x24, 0x15, 0x6b, 0x6f, 0x4f, 0xdb, 0x52, 0x01, 0x6f, 0x61, 0x46, 0x41, 0x9c, + 0x15, 0x8a, 0xd2, 0x45, 0xc6, 0x66, 0x98, 0x61, 0x94, 0xdd, 0xf2, 0x63, 0x61, 0xf8, 0xdc, 0x92, + 0x20, 0xe9, 0x82, 0x39, 0xd0, 0x58, 0x87, 0xdd, 0x10, 0x34, 0x80, 0xdf, 0x95, 0x43, 0xb5, 0x26, + 0xd3, 0x88, 0xd9, 0x86, 0xcd, 0xde, 0x36, 0xc6, 0x82, 0x16, 0x3d, 0x10, 0x54, 0x98, 0x23, 0xea, + 0xb4, 0xbe, 0x74, 0x67, 0x4f, 0x25, 0x76, 0x99, 0xa1, 0x4a, 0xd7, 0xda, 0xfd, 0x24, 0x31, 0x62, + 0xb2, 0xbc, 0xd2, 0xb0, 0x3d, 0x00, 0x97, 0x2a, 0x47, 0x85, 0x68, 0xf3, 0x9b, 0xaf, 0x22, 0xa7, + 0xf1, 0x6b, 0x04, 0xdb, 0x87, 0x82, 0x75, 0xc2, 0x0d, 0x1f, 0x07, 0xd2, 0x26, 0xee, 0x08, 0x6b, + 0x58, 0x1a, 0x6e, 0x89, 0xa8, 0x56, 0xf5, 0xa6, 0xb4, 0x3c, 0x19, 0x1f, 0x85, 0x4a, 0x2d, 0x24, + 0x10, 0xcb, 0x32, 0x27, 0x84, 0x0f, 0x58, 0x7c, 0xee, 0xdb, 0xc8, 0x72, 0x8e, 0x68, 0x65, 0x6a, + 0x1b, 0x65, 0x64, 0xc1, 0xda, 0xfd, 0xb9, 0x6e, 0x9a, 0x7b, 0x93, 0x7f, 0x89, 0x7f, 0x0a, 0xe9, + 0xd3, 0x5c, 0xfd, 0x3b, 0x91, 0xb1, 0x79, 0x6e, 0x6e, 0x8b, 0x28, 0x4a, 0x90, 0x04, 0x97, 0xf2, + 0x25, 0xd7, 0x36, 0xfe, 0x9f, 0x2a, 0x88, 0x21, 0x0e, 0xb4, 0x14, 0x4f, 0x14, 0x12, 0x45, 0x43, + 0x4d, 0x2e, 0xf0, 0x60, 0xff, 0xb3, 0x73, 0xd3, 0x18, 0x0f, 0xb3, 0x95, 0xdb, 0x71, 0xfe, 0x34, + 0xb8, 0x9d, 0x7e, 0x28, 0xb9, 0x1b, 0x66, 0x7c, 0x9f, 0x62, 0xea, 0x35, 0x95, 0xfb, 0x33, 0xca, + 0xab, 0x2b, 0xf3, 0xde, 0x8f, 0x0b, 0x1f, 0x75, 0x7a, 0x30, 0xd4, 0x63, 0xe6, 0xcf, 0x17, 0x14, + 0x3d, 0xb4, 0x7b, 0x89, 0xb0, 0x46, 0x4c, 0x4c, 0x97, 0x02, 0xf2, 0xdb, 0x88, 0x2b, 0x8b, 0xe9, + 0x78, 0xbd, 0x09, 0x68, 0x8c, 0x8e, 0x4f, 0x17, 0xe8, 0x01, 0x04, 0x36, 0xeb, 0xeb, 0x54, 0x26, + 0xdb, 0x77, 0xd3, 0x36, 0x24, 0x83, 0xbe, 0x8c, 0x52, 0xe7, 0x4a, 0x43, 0x87, 0x6b, 0x41, 0x0c, + 0x21, 0x85, 0xd4, 0x1c, 0xeb, 0x67, 0x28, 0xbd, 0x7b, 0x58, 0x14, 0xfa, 0xfc, 0x8e, 0x4f, 0x61, + 0x78, 0x2f, 0xd1, 0xcd, 0x66, 0xbc, 0xba, 0x64, 0x99, 0xc0, 0x1c, 0x6b, 0xae, 0x8c, 0xea, 0xe8, + 0x7b, 0xcc, 0xfc, 0x19, 0x7d, 0xe7, 0xb2, 0x58, 0x08, 0x52, 0xe0, 0x04, 0xfa, 0xa4, 0x37, 0x6c, + 0xeb, 0xf4, 0xb6, 0x74, 0xba, 0xcc, 0x38, 0x0c, 0xfb, 0x63, 0xf0, 0xfa, 0x7d, 0x00, 0x7c, 0x99, + 0x64, 0x28, 0x5f, 0x12, 0xe3, 0x91, 0xb2, 0x2d, 0xa4, 0x38, 0xec, 0x0e, 0x1b, 0xe2, 0x18, 0xb8, + 0xeb, 0xe2, 0x52, 0x3e, 0xea, 0x04, 0x8c, 0xa0, 0x80, 0x36, 0x82, 0x1c, 0x11, 0x74, 0x87, 0xcc, + 0x09, 0xb6, 0x8a, 0x90, 0x6d, 0xae, 0x1e, 0xbc, 0x42, 0x2e, 0x03, 0x2c, 0x93, 0x18, 0xd0, 0xab, + 0x75, 0x84, 0x2b, 0xc7, 0x3f, 0x16, 0xc0, 0xe9, 0x6b, 0x68, 0x27, 0x57, 0x0a, 0x43, 0x88, 0x61, + 0xa6, 0x3e, 0xcc, 0xe9, 0x8e, 0x3a, 0x3c, 0x1b, 0x73, 0xb7, 0xfd, 0xd2, 0xcd, 0xea, 0x45, 0xd5, + 0x59, 0xa0, 0x6f, 0x45, 0x42, 0x3a, 0x2d, 0x0e, 0x84, 0xdc, 0xde, 0x98, 0x65, 0x16, 0x2d, 0x61, + 0x77, 0x75, 0x84, 0x15, 0x6e, 0x0e, 0x67, 0xc6, 0xba, 0xe0, 0xb1, 0xc1, 0x6c, 0x68, 0xae, 0x6f, + 0x93, 0xc5, 0xa7, 0x1e, 0x45, 0x71, 0xd6, 0x30, 0xbd, 0x85, 0x10, 0x35, 0xa0, 0xc4, 0xbc, 0xf3, + 0x84, 0x11, 0x99, 0x8c, 0xa0, 0xfa, 0xc3, 0x5d, 0x50, 0x50, 0x41, 0xd6, 0x43, 0xdb, 0xa8, 0xb5, + 0x1e, 0x5b, 0x13, 0x79, 0x17, 0xb6, 0x13, 0x22, 0x0f, 0x90, 0xca, 0x0a, 0xbe, 0xac, 0x5d, 0xc5, + 0x52, 0xb9, 0x0e, 0x4b, 0x53, 0x66, 0x70, 0x6c, 0x93, 0x3b, 0xfa, 0x8d, 0x78, 0x92, 0x2e, 0xa5, + 0xd4, 0xd5, 0x9d, 0x2f, 0x9e, 0x74, 0x46, 0x68, 0x17, 0x4f, 0xd4, 0xd5, 0x0e, 0x0e, 0x1c, 0x5c, + 0x35, 0xcd, 0x4d, 0xf9, 0x4d, 0xdc, 0xde, 0xc2, 0xe0, 0x59, 0xcb, 0x2b, 0x51, 0x6b, 0x8a, 0xca, + 0x45, 0xe0, 0x41, 0x5b, 0xd1, 0x47, 0xe9, 0x04, 0x3c, 0x8c, 0x36, 0xcc, 0x8e, 0x22, 0x46, 0xc0, + 0x3d, 0xda, 0xc4, 0xde, 0x94, 0xdb, 0xcc, 0xfe, 0x13, 0x37, 0x3a, 0x92, 0x07, 0x34, 0xd3, 0xc6, + 0x3d, 0x6f, 0x45, 0x97, 0xb9, 0x06, 0xfc, 0x32, 0x58, 0x13, 0x32, 0x75, 0x60, 0x5e, 0x42, 0x9b, + 0x8b, 0x15, 0x97, 0x4c, 0x06, 0xd5, 0xb3, 0x7e, 0xb2, 0xbf, 0x0e, 0x95, 0x41, 0xdf, 0xdc, 0x9e, + 0xec, 0xbb, 0x48, 0x82, 0x05, 0x9b, 0x32, 0x17, 0xbf, 0xbb, 0xf2, 0xef, 0xb4, 0xed, 0x39, 0xe8, + 0xd9, 0x1f, 0x5f, 0x7b, 0x4e, 0xfe, 0xe6, 0xca, 0x59, 0x95, 0xe9, 0xf1, 0xc6, 0xa6, 0x35, 0xc0, + 0x49, 0xb3, 0x77, 0x84, 0x48, 0xac, 0x39, 0x2b, 0x42, 0x52, 0x63, 0xd8, 0x43, 0xbb, 0x76, 0x3a, + 0x19, 0x16, 0xf0, 0x50, 0x52, 0x82, 0xc1, 0x31, 0xfa, 0x46, 0x3f, 0xfe, 0x18, 0xdc, 0x3b, 0x0d, + 0x48, 0x9d, 0xf0, 0xcb, 0x23, 0x2e, 0x6d, 0x23, 0xa8, 0xbb, 0x2c, 0x0e, 0x68, 0x82, 0xd9, 0xa0, + 0x14, 0xe5, 0xc8, 0x1d, 0xd6, 0xc6, 0x48, 0xb6, 0xd9, 0x81, 0x9b, 0x61, 0x44, 0x16, 0x3d, 0x88, + 0x4e, 0xb4, 0xa7, 0xdb, 0xb0, 0xcf, 0x35, 0x53, 0x69, 0xf0, 0xbb, 0xc3, 0x89, 0xb4, 0xc6, 0xd8, + 0xea, 0xea, 0xfd, 0x95, 0x63, 0xaa, 0xad, 0x16, 0x0a, 0x9d, 0x4e, 0x6a, 0x43, 0x4e, 0x32, 0xd9, + 0x66, 0x4c, 0x3a, 0x5f, 0xb9, 0x0d, 0x32, 0x42, 0x70, 0x33, 0x88, 0x44, 0x48, 0x48, 0x75, 0x4d, + 0x24, 0x22, 0x71, 0xc1, 0xfa, 0x88, 0x82, 0xfd, 0x95, 0xff, 0xff, 0x4a, 0x91, 0x31, 0xac, 0xdc, + 0x19, 0x73, 0xe0, 0x25, 0x89, 0x7a, 0xfd, 0xdc, 0xf6, 0x64, 0x82, 0x47, 0x8b, 0xfa, 0x6b, 0x33, + 0x66, 0x55, 0x1c, 0x44, 0x76, 0xf4, 0x63, 0x73, 0x3e, 0x52, 0xf8, 0xe8, 0x10, 0xb0, 0xbd, 0xe2, + 0xae, 0xb1, 0xb0, 0x5f, 0x92, 0xa7, 0xe8, 0xda, 0x09, 0x3b, 0xe1, 0x0d, 0xf8, 0x9b, 0x35, 0x1d, + 0x91, 0xd4, 0xe3, 0xfc, 0x0d, 0xa7, 0xf5, 0xcf, 0x40, 0x3a, 0xf7, 0xdb, 0x2b, 0xb1, 0xcd, 0x14, + 0x47, 0x82, 0xaf, 0x04, 0x26, 0x75, 0x84, 0x64, 0xcc, 0x27, 0x1c, 0xfc, 0x51, 0xf1, 0xc8, 0xd0, + 0x7e, 0x43, 0xdc, 0x30, 0x49, 0x6d, 0x30, 0x33, 0xe1, 0xf9, 0xe7, 0x35, 0x5e, 0x60, 0xda, 0xcc, + 0x91, 0xa5, 0x84, 0x74, 0x89, 0x2a, 0xec, 0x6d, 0x00, 0xd4, 0xc0, 0x8c, 0x09, 0xa9, 0xa0, 0xf9, + 0x0b, 0x5b, 0xc3, 0x19, 0x69, 0xd6, 0xae, 0x1f, 0xd7, 0xcd, 0x87, 0x30, 0x97, 0xdc, 0x6a, 0x5f, + 0xaa, 0x69, 0x9f, 0x7e, 0x59, 0x22, 0xd4, 0x6f, 0x20, 0xd5, 0xb6, 0x22, 0x40, 0xd7, 0x10, 0x4b, + 0x08, 0x32, 0xdc, 0x1c, 0xa6, 0x41, 0x65, 0x1f, 0x57, 0x82, 0xd8, 0x2b, 0x4e, 0x34, 0x04, 0x66, + 0xaf, 0x55, 0x44, 0x31, 0xcb, 0xf6, 0xa2, 0xd8, 0x78, 0x49, 0x71, 0x1c, 0x8b, 0xc6, 0x72, 0xcf, + 0xc0, 0xbf, 0x7e, 0x3a, 0x85, 0x01, 0x77, 0x78, 0xb3, 0x98, 0x9f, 0x0d, 0x40, 0xed, 0x6c, 0x1f, + 0xbb, 0x85, 0xef, 0xf8, 0x92, 0x09, 0x9a, 0xa3, 0xf2, 0x2a, 0x98, 0xf3, 0x04, 0xd7, 0xad, 0x61, + 0xea, 0x86, 0x43, 0x87, 0x7d, 0x94, 0x1d, 0xe6, 0xc2, 0xfe, 0x9d, 0xfc, 0xfc, 0x32, 0x05, 0x1b, + 0x7d, 0x17, 0x3a, 0xd2, 0x84, 0xa2, 0x9a, 0x4e, 0x03, 0x09, 0x7f, 0x7f, 0x50, 0xe4, 0x70, 0x1e, + 0x3b, 0xa3, 0xf0, 0xca, 0x98, 0x1b, 0x27, 0x4e, 0x62, 0x40, 0x0d, 0x5b, 0x3d, 0x90, 0xcf, 0x4a, + 0x47, 0x07, 0xaf, 0x7d, 0xa8, 0xd5, 0x17, 0xf4, 0xa7, 0x36, 0x3f, 0xac, 0xfb, 0x83, 0xe1, 0x52, + 0x0a, 0xfb, 0x18, 0x63, 0x2a, 0xfd, 0xb0, 0x85, 0x85, 0x80, 0x01, 0x4e, 0xf9, 0x52, 0x78, 0xfc, + 0x95, 0xd3, 0xa0, 0x4e, 0x85, 0xa1, 0x7a, 0x9d, 0x4f, 0x84, 0xb8, 0x0b, 0x24, 0xdd, 0xd1, 0x24, + 0x9c, 0x44, 0x71, 0x30, 0x50, 0xd5, 0xb1, 0xe4, 0x9d, 0xdc, 0x22, 0x86, 0xed, 0x39, 0x82, 0xbe, + 0xc0, 0x73, 0xf3, 0x8d, 0x6e, 0x4f, 0xe2, 0x21, 0x0e, 0x82, 0xbf, 0x9f, 0x22, 0x17, 0x9b, 0x47, + 0xc7, 0x5a, 0x74, 0x18, 0x97, 0xfc, 0x65, 0xd9, 0x5e, 0x8e, 0xdd, 0xbd, 0xec, 0x8b, 0xa3, 0x3e, + 0xfe, 0x28, 0x1a, 0xb0, 0x7f, 0x08, 0x5e, 0xdb, 0x46, 0x6f, 0x9f, 0x8d, 0x93, 0x88, 0xc5, 0x3c, + 0x54, 0x85, 0xde, 0x8b, 0x53, 0x29, 0xc2, 0xa2, 0xee, 0x85, 0x42, 0xb8, 0xf1, 0x29, 0xdb, 0xa6, + 0x48, 0xce, 0xc3, 0xbb, 0x9a, 0xbd, 0x05, 0x89, 0xc9, 0xbd, 0x8c, 0xa1, 0x98, 0xc0, 0x76, 0xa3, + 0x7f, 0xcd, 0x4a, 0x14, 0xd6, 0x23, 0xad, 0x7f, 0x31, 0xb1, 0xf2, 0x74, 0xa1, 0x27, 0x3c, 0x5a, + 0x9b, 0xe6, 0x65, 0x20, 0x51, 0xfe, 0x9a, 0xf8, 0xcb, 0x6d, 0x72, 0x57, 0xe9, 0xab, 0x52, 0xc4, + 0x2b, 0x07, 0xfe, 0xe0, 0x78, 0x83, 0x26, 0x2d, 0xcd, 0xc1, 0xd8, 0x04, 0x37, 0x6a, 0x14, 0xe6, + 0xdf, 0x01, 0xe9, 0xad, 0xdc, 0xbf, 0x7c, 0x7d, 0x2e, 0xfe, 0xa2, 0xa3, 0x9e, 0xf5, 0x46, 0xbe, + 0xeb, 0x64, 0x27, 0x74, 0xa3, 0x12, 0xd2, 0x0c, 0x23, 0xb2, 0x11, 0x5e, 0x94, 0x5c, 0x12, 0x27, + 0xae, 0x8c, 0xbe, 0x03, 0xc7, 0xe1, 0x06, 0xae, 0x48, 0xfe, 0xe1, 0x0a, 0xa1, 0x20, 0xc6, 0xbe, + 0xc3, 0x3f, 0x28, 0x95, 0xbf, 0xd9, 0xd3, 0xe9, 0xd8, 0xe9, 0x62, 0xd5, 0xad, 0x66, 0xf0, 0xe7, + 0x34, 0xd7, 0x2c, 0x3d, 0x63, 0x08, 0x70, 0x9d, 0xd7, 0x84, 0xf3, 0x3c, 0x25, 0x10, 0x2b, 0xf1, + 0xaf, 0xe8, 0x4b, 0xe2, 0x82, 0x81, 0x24, 0xfb, 0x22, 0xb0, 0x24, 0x7a, 0xd3, 0x5d, 0x14, 0x0f, + 0x4b, 0x85, 0x01, 0xed, 0x0a, 0x11, 0xd7, 0x38, 0x01, 0x27, 0xa8, 0x8f, 0x2b, 0x0a, 0x1c, 0x87, + 0x5c, 0xab, 0xce, 0xc0, 0x41, 0x0a, 0x14, 0xe1, 0x22, 0x46, 0xa4, 0x85, 0x63, 0x9b, 0x14, 0x5d, + 0x91, 0x29, 0x1e, 0x10, 0x0d, 0xdf, 0x74, 0xfd, 0x06, 0xd1, 0x4a, 0x0e, 0x59, 0xcd, 0xd9, 0xe8, + 0xd4, 0x93, 0xc9, 0xbf, 0xac, 0x2f, 0x69, 0xbc, 0x8a, 0x8d, 0x2a, 0xa7, 0x93, 0x2b, 0x98, 0x87, + 0xb7, 0xcd, 0x0c, 0x9d, 0xdb, 0xb6, 0xe5, 0xa8, 0x52, 0x9f, 0x16, 0xd4, 0xe7, 0xf1, 0xd6, 0xbc, + 0x7b, 0x42, 0x34, 0x79, 0xa5, 0xf1, 0x6e, 0x1d, 0x1f, 0x6e, 0x99, 0xc7, 0xce, 0x0d, 0x72, 0xc7, + 0x4f, 0xf5, 0xd3, 0x1f, 0x48, 0x41, 0x1b, 0x6c, 0x5f, 0x1f, 0x31, 0x95, 0xc1, 0xce, 0xb0, 0x20, + 0x6e, 0xe1, 0xf5, 0xb8, 0xa6, 0x04, 0xfc, 0xad, 0x9c, 0xea, 0xd5, 0xbc, 0x4b, 0xb9, 0xb0, 0x03, + 0x4a, 0x9e, 0x0f, 0x6a, 0xcf, 0x4c, 0x69, 0x19, 0x32, 0xee, 0xb5, 0xff, 0x03, 0x76, 0x10, 0x88, + 0xc3, 0x46, 0xb1, 0x93, 0x62, 0x5b, 0x54, 0xca, 0x32, 0x59, 0x5b, 0x3f, 0x85, 0x5a, 0xcf, 0x17, + 0xa5, 0xf3, 0x44, 0xb6, 0x0f, 0x3b, 0x67, 0x14, 0x1f, 0xc1, 0x0a, 0x83, 0xbe, 0x96, 0x83, 0x4c, + 0xc5, 0x56, 0xbd, 0x0e, 0xa3, 0x2b, 0x9f, 0x0e, 0xe7, 0xa6, 0x01, 0x9c, 0x5d, 0x02, 0x4a, 0x86, + 0x92, 0xd3, 0x38, 0x6f, 0xfb, 0xce, 0x79, 0xf7, 0xc4, 0xc7, 0xaa, 0xac, 0x4c, 0x20, 0xea, 0x45, + 0x01, 0x84, 0x63, 0x2f, 0x28, 0x4a, 0x66, 0x13, 0x0f, 0xdc, 0x25, 0x15, 0x0d, 0xb2, 0x71, 0x2c, + 0x33, 0x92, 0x19, 0x64, 0xa8, 0xe2, 0xa4, 0xdc, 0xdd, 0xb3, 0x45, 0x43, 0xc6, 0x1f, 0x7a, 0xb7, + 0x88, 0x36, 0xa1, 0x39, 0x90, 0x44, 0x50, 0x17, 0x9a, 0x0e, 0x61, 0xea, 0xfb, 0x08, 0x9f, 0x39, + 0xae, 0xa0, 0x97, 0x18, 0xf9, 0xa8, 0x75, 0x7d, 0x43, 0x87, 0xd4, 0xc4, 0x3b, 0x82, 0xcb, 0x0d, + 0xb6, 0x2d, 0x14, 0xe5, 0xa4, 0xfc, 0xa4, 0x6c, 0x6e, 0xd5, 0xf0, 0x56, 0x46, 0x05, 0xfb, 0x4a, + 0x50, 0x24, 0xbc, 0xd4, 0xb2, 0xa2, 0x7e, 0xdd, 0xbd, 0x6a, 0x71, 0xe8, 0xea, 0x09, 0x26, 0xa0, + 0x8d, 0x01, 0x60, 0x69, 0xef, 0xcd, 0x4b, 0xda, 0xb4, 0xd1, 0x58, 0x44, 0x3c, 0x6e, 0x9e, 0x02, + 0x63, 0x56, 0x03, 0x69, 0x50, 0xa9, 0xfe, 0x72, 0x97, 0x2e, 0x1d, 0xc4, 0x70, 0x7b, 0x92, 0xa5, + 0xdf, 0x2b, 0x2b, 0x9a, 0x01, 0x20, 0x8b, 0xc7, 0x5b, 0x7a, 0x73, 0x49, 0xa6, 0x55, 0x86, 0xa8, + 0xe4, 0xe8, 0x35, 0x11, 0x49, 0x2a, 0x0f, 0xd9, 0x3a, 0x7c, 0x39, 0x86, 0x6a, 0x79, 0xc1, 0x3c, + 0x22, 0xbd, 0xbb, 0x7c, 0x99, 0x44, 0xaa, 0x1d, 0x22, 0x1c, 0x4f, 0xc9, 0x18, 0xaa, 0x13, 0xdf, + 0x98, 0x59, 0x57, 0x88, 0xac, 0x54, 0xf5, 0xe4, 0x3a, 0x27, 0x7a, 0x8a, 0xeb, 0x60, 0x59, 0x02, + 0x19, 0xe9, 0x37, 0xe4, 0x72, 0x68, 0x48, 0xdf, 0x13, 0x97, 0x71, 0x19, 0xa2, 0xf1, 0x63, 0xa7, + 0x9a, 0x19, 0x33, 0x96, 0x8d, 0xdc, 0xc0, 0xb1, 0xc5, 0x21, 0xe7, 0x58, 0x0d, 0xd3, 0x5a, 0x98, + 0xb2, 0xaa, 0xbf, 0x2c, 0x65, 0xb1, 0xbd, 0x00, 0x73, 0x9d, 0x8a, 0xca, 0xf0, 0x7c, 0xf8, 0xde, + 0xeb, 0x7d, 0x25, 0x67, 0x7e, 0xb0, 0x92, 0x18, 0xce, 0x5c, 0x8f, 0xb4, 0xdc, 0x85, 0xde, 0x4b, + 0x0e, 0xba, 0xc8, 0x88, 0xdf, 0xfc, 0xd8, 0xcf, 0x77, 0x48, 0x27, 0xce, 0xad, 0x59, 0xb8, 0x9d, + 0x49, 0x25, 0x11, 0x37, 0xa7, 0x04, 0x9d, 0xf9, 0x9f, 0x5b, 0x9b, 0x80, 0xf8, 0xea, 0x38, 0xed, + 0xce, 0x87, 0x9a, 0x12, 0xe5, 0xbe, 0x8f, 0xa0, 0xf1, 0xe7, 0xed, 0xa5, 0xa8, 0x56, 0xa8, 0xba, + 0x9b, 0x74, 0x56, 0x25, 0xc6, 0x78, 0x30, 0x57, 0x70, 0x72, 0x87, 0xef, 0x26, 0xc7, 0xd4, 0x92, + 0x99, 0xee, 0x0d, 0xc9, 0x9c, 0x3d, 0xbf, 0x58, 0x7a, 0x7a, 0x19, 0x46, 0x8a, 0xfb, 0xf3, 0xbc, + 0x44, 0x20, 0x52, 0x35, 0x8f, 0xef, 0x4e, 0xe6, 0xe2, 0x9b, 0xc7, 0x37, 0x3e, 0x99, 0xc8, 0x0a, + 0xde, 0xc5, 0x7f, 0x85, 0xe8, 0xc0, 0x19, 0xfb, 0x2a, 0xbf, 0xcc, 0xcb, 0x12, 0xa4, 0xd2, 0x4e, + 0x7f, 0x1f, 0x3d, 0x04, 0xed, 0xa3, 0x94, 0x61, 0x4d, 0x27, 0xae, 0x06, 0x56, 0xd6, 0xfa, 0x8b, + 0x80, 0x8d, 0x46, 0x33, 0x5c, 0x7c, 0xa6, 0xb8, 0x4b, 0x02, 0xd5, 0x34, 0x92, 0xff, 0x6c, 0x9b, + 0x3a, 0x04, 0x0a, 0x84, 0xd4, 0xb9, 0x8d, 0xe7, 0xf5, 0x69, 0xb5, 0x0b, 0xde, 0x8d, 0xe1, 0xeb, + 0x66, 0xc8, 0xd5, 0x25, 0xc3, 0xab, 0x4f, 0xe3, 0x29, 0x59, 0x06, 0x38, 0x58, 0x02, 0x6e, 0xd5, + 0x2c, 0xf1, 0x77, 0x65, 0x11, 0x76, 0x2a, 0x8a, 0x1b, 0x7f, 0xc0, 0xff, 0x23, 0x8c, 0x0a, 0x83, + 0x41, 0x67, 0x65, 0x94, 0x22, 0x68, 0x36, 0xe5, 0xf3, 0xf2, 0x07, 0xc5, 0xb8, 0x76, 0x25, 0xc5, + 0xf0, 0x83, 0x96, 0x00, 0xd8, 0x03, 0xc8, 0x9f, 0x3a, 0x80, 0x46, 0xf6, 0xec, 0xc8, 0xfc, 0x6c, + 0x56, 0xc4, 0x61, 0x8a, 0x46, 0xdf, 0x93, 0xdb, 0x3d, 0x1d, 0xb8, 0x73, 0xbb, 0xb3, 0x0b, 0xa6, + 0x26, 0xd3, 0xcc, 0x45, 0xaa, 0x56, 0x28, 0xf0, 0xe6, 0xb0, 0x03, 0xa7, 0x16, 0xb3, 0x3b, 0x4d, + 0x14, 0xe5, 0x10, 0x5d, 0x36, 0x52, 0x7c, 0xe0, 0xa8, 0x88, 0xa4, 0x4f, 0x8a, 0x21, 0x8f, 0x69, + 0x07, 0x85, 0xdb, 0x36, 0x2e, 0x5c, 0x5e, 0xce, 0x13, 0x25, 0x2e, 0x4d, 0xe7, 0xb0, 0x80, 0xfa, + 0xf9, 0xad, 0x63, 0xdc, 0x3b, 0x91, 0x28, 0x7c, 0x49, 0x0a, 0xa1, 0x2b, 0xd8, 0x3a, 0x34, 0x6a, + 0xd6, 0xe0, 0xaf, 0xfb, 0x41, 0x20, 0xdb, 0x91, 0x01, 0x36, 0x8b, 0x3b, 0x2f, 0x97, 0xbe, 0x33, + 0x4d, 0x93, 0x4c, 0x89, 0xeb, 0x24, 0xb4, 0x62, 0x6f, 0x38, 0xac, 0x7f, 0xa9, 0xb7, 0x60, 0x15, + 0x38, 0x17, 0xaa, 0x33, 0x94, 0x5f, 0x3f, 0x3c, 0x33, 0x3e, 0x41, 0xb8, 0x5f, 0x6d, 0x1d, 0xea, + 0x37, 0xad, 0x7b, 0xa7, 0x01, 0x41, 0x3b, 0xca, 0x1a, 0xe8, 0xf6, 0xb9, 0x8d, 0x4b, 0x4f, 0xda, + 0xa8, 0x44, 0x96, 0x30, 0x15, 0x8e, 0xf8, 0xf2, 0xc2, 0x96, 0x24, 0x70, 0x7f, 0xdf, 0xd5, 0x19, + 0x26, 0x53, 0x24, 0xca, 0x49, 0xa6, 0xf0, 0xde, 0x2c, 0x36, 0x45, 0x10, 0xde, 0xd2, 0x50, 0xbe, + 0x6d, 0xa8, 0x36, 0x49, 0x29, 0xf2, 0x85, 0x04, 0x27, 0x6a, 0x07, 0xc4, 0x63, 0x4f, 0x42, 0xf8, + 0xdf, 0xa3, 0xd3, 0x19, 0xbe, 0x53, 0x5d, 0xa8, 0xb8, 0x3c, 0x0b, 0x16, 0x46, 0x11, 0x70, 0xb9, + 0xef, 0xac, 0x1e, 0x1a, 0x17, 0x6a, 0x91, 0xa8, 0x55, 0xf1, 0xa6, 0xb1, 0x9a, 0x92, 0x89, 0x4f, + 0xf9, 0x65, 0x03, 0x75, 0x30, 0xf5, 0x81, 0xc3, 0x70, 0x22, 0x66, 0x80, 0x86, 0x8e, 0xb2, 0x20, + 0xad, 0x8f, 0x59, 0x94, 0x7a, 0xd9, 0x6c, 0xf9, 0xa4, 0x5e, 0x82, 0xb8, 0xe9, 0xf8, 0x9f, 0x9c, + 0xac, 0x2f, 0xaf, 0xea, 0x14, 0x80, 0x29, 0xe4, 0x31, 0xf4, 0x76, 0x45, 0x15, 0xd3, 0x45, 0x8c, + 0x17, 0xfb, 0x5c, 0x36, 0x1a, 0xf2, 0x2d, 0x4b, 0x35, 0xf7, 0x69, 0xee, 0xaa, 0x3e, 0xaf, 0xf6, + 0x73, 0x2a, 0xdd, 0x5c, 0xf0, 0x2a, 0xa3, 0x4f, 0x17, 0x9e, 0xb9, 0x5f, 0x9f, 0x1a, 0xc9, 0xd3, + 0xa9, 0xf9, 0x35, 0x58, 0x62, 0x4f, 0x28, 0x36, 0x2d, 0xce, 0x6e, 0x65, 0x64, 0x74, 0x72, 0x7f, + 0x3f, 0xf0, 0xb0, 0xef, 0xbc, 0xb1, 0x14, 0x0d, 0x0a, 0x87, 0x25, 0x2a, 0x91, 0x26, 0x14, 0x28, + 0x67, 0x1e, 0xe5, 0xcf, 0x85, 0x4f, 0x84, 0x50, 0x0f, 0x42, 0xf7, 0x1b, 0x65, 0x43, 0x48, 0x5f, + 0xf1, 0x76, 0xbe, 0x05, 0xc2, 0x46, 0x02, 0x5e, 0xa1, 0x53, 0xc8, 0x50, 0x10, 0x2e, 0x77, 0xb0, + 0x29, 0xd2, 0x2c, 0xdc, 0xb2, 0x5d, 0x91, 0xa2, 0x61, 0x0d, 0xa4, 0xac, 0x21, 0xf7, 0xe4, 0xe6, + 0x1d, 0x2b, 0xa6, 0xb1, 0x8e, 0xcb, 0xa2, 0x8d, 0x99, 0xd8, 0xf4, 0xfd, 0x26, 0x07, 0x21, 0x05, + 0x3d, 0x09, 0x65, 0x4b, 0x02, 0x56, 0xf8, 0xae, 0xeb, 0x72, 0x31, 0xb6, 0x11, 0x23, 0x83, 0x55, + 0xe4, 0x99, 0x5c, 0x21, 0x82, 0x28, 0xc2, 0xe5, 0xc7, 0xd2, 0x69, 0xc4, 0xac, 0xab, 0x51, 0x7e, + 0x78, 0x74, 0x38, 0x4c, 0x36, 0x27, 0xda, 0x67, 0x0e, 0x26, 0xa3, 0x41, 0xc9, 0xf3, 0xf5, 0x94, + 0xdd, 0x3a, 0x13, 0x12, 0x4a, 0xde, 0xea, 0xa1, 0x82, 0xda, 0xa7, 0xa3, 0xde, 0x73, 0x72, 0x5b, + 0x77, 0x94, 0xe3, 0x78, 0xba, 0xeb, 0xc3, 0xc0, 0xc1, 0xbe, 0xf9, 0xea, 0x1a, 0x98, 0x1f, 0xd4, + 0xeb, 0x3d, 0x18, 0x5b, 0x6e, 0x56, 0x2d, 0x6c, 0x1b, 0xc4, 0x5f, 0x84, 0xd0, 0x19, 0x52, 0xe4, + 0x5c, 0x01, 0xea, 0x75, 0x0d, 0x7d, 0xfb, 0xd8, 0x7b, 0xdc, 0x24, 0x0d, 0xed, 0x77, 0x78, 0x4c, + 0xf7, 0x89, 0x00, 0x60, 0x2a, 0xe1, 0x1b, 0xbc, 0x45, 0x0e, 0xde, 0x79, 0xe9, 0xc6, 0x57, 0xc0, + 0xdd, 0xa4, 0x6f, 0xf3, 0x49, 0x91, 0x90, 0x10, 0xe6, 0x74, 0x21, 0x72, 0x78, 0xd9, 0x34, 0x2e, + 0xd2, 0xee, 0x96, 0xc3, 0x3b, 0xd4, 0x79, 0xaf, 0x75, 0x3f, 0x34, 0x29, 0xd6, 0xc8, 0x29, 0x5e, + 0x15, 0xcf, 0xcf, 0x70, 0xfe, 0xc5, 0x41, 0x37, 0xe2, 0xf6, 0xca, 0xe0, 0x2e, 0x94, 0xed, 0x17, + 0xef, 0x35, 0x46, 0x25, 0xeb, 0x68, 0x1f, 0xea, 0xf0, 0x0d, 0x42, 0xea, 0x22, 0x8f, 0x14, 0x66, + 0x4c, 0x15, 0x71, 0x9d, 0xe1, 0xaa, 0x57, 0x48, 0xdf, 0xac, 0xc4, 0x66, 0x72, 0xf8, 0x61, 0xb0, + 0x2c, 0x6f, 0x7c, 0x1c, 0xda, 0xc3, 0xfd, 0xc3, 0x3b, 0x3e, 0x06, 0x49, 0x98, 0x86, 0xad, 0x90, + 0x5e, 0x07, 0x41, 0x25, 0x94, 0x98, 0xdb, 0xe6, 0xbb, 0x70, 0xaa, 0x29, 0x77, 0x7c, 0x05, 0xd6, + 0x57, 0xb6, 0x24, 0x67, 0xe8, 0xbe, 0x8d, 0x09, 0x8f, 0x58, 0xdc, 0x78, 0xc0, 0xdf, 0xbc, 0x7b, + 0xdb, 0x46, 0x4a, 0x7f, 0xef, 0x19, 0x64, 0x71, 0x65, 0x0f, 0xde, 0xe7, 0xfb, 0xd1, 0x87, 0xa8, + 0x1e, 0x51, 0x6c, 0x88, 0x57, 0x8f, 0x9e, 0x12, 0xda, 0xd9, 0x00, 0x10, 0x3c, 0x29, 0x4a, 0x85, + 0x7b, 0x0c, 0x45, 0x74, 0x06, 0xcb, 0xb9, 0x17, 0x64, 0x71, 0x91, 0x5c, 0x36, 0xb0, 0x73, 0x85, + 0x99, 0x34, 0xe9, 0x8a, 0x67, 0x68, 0xcf, 0x5a, 0x28, 0x5a, 0x9c, 0xf9, 0x54, 0x92, 0xa4, 0xf1, + 0x67, 0x7c, 0x0d, 0xde, 0x21, 0x88, 0x8d, 0xab, 0xe2, 0x90, 0x50, 0x09, 0xbc, 0xe0, 0xbd, 0x76, + 0xff, 0x1c, 0xed, 0xd2, 0x07, 0x5b, 0x50, 0xf4, 0xd9, 0xcd, 0x81, 0x78, 0x7b, 0x6e, 0x3e, 0xb2, + 0x98, 0x2e, 0x08, 0x98, 0x2c, 0xc1, 0x60, 0x00, 0x3e, 0x93, 0x0a, 0xe1, 0x3a, 0x87, 0x1b, 0x51, + 0xdd, 0x15, 0x2e, 0xf1, 0x99, 0x68, 0xa8, 0x4d, 0xc2, 0xa6, 0x19, 0x37, 0x28, 0x6f, 0x41, 0x9c, + 0x17, 0x67, 0x08, 0x11, 0x78, 0x97, 0x9b, 0x8d, 0xb6, 0x7e, 0x6c, 0x79, 0x26, 0x6e, 0x00, 0x38, + 0x19, 0x33, 0x39, 0x26, 0x46, 0x9e, 0xf6, 0x87, 0x68, 0x6b, 0x77, 0x97, 0x14, 0xcb, 0x23, 0xce, + 0x7a, 0x66, 0x3b, 0xb1, 0x29, 0x4a, 0x2f, 0x2c, 0xdf, 0xc0, 0x3e, 0xb9, 0xd4, 0x75, 0x0b, 0xe9, + 0x06, 0xc4, 0x9d, 0xf2, 0xdb, 0x86, 0x32, 0xca, 0x77, 0x18, 0xc0, 0xd1, 0x8a, 0xde, 0xd2, 0x92, + 0xce, 0x81, 0xf0, 0xcb, 0xdc, 0xc4, 0xcc, 0x78, 0x4f, 0x77, 0xd4, 0x37, 0xc7, 0x54, 0x2b, 0xea, + 0x36, 0x75, 0xa9, 0x19, 0xc9, 0xbf, 0x61, 0xa6, 0xe2, 0x6d, 0xf2, 0x39, 0x34, 0xd2, 0xd2, 0xa8, + 0x4f, 0x75, 0xe8, 0xc3, 0x6e, 0x18, 0x5c, 0x26, 0xaa, 0x84, 0xc0, 0x4f, 0x68, 0x17, 0x5b, 0xa5, + 0x85, 0x6a, 0x32, 0xc9, 0xed, 0xcc, 0x76, 0x5b, 0xa3, 0x34, 0x7d, 0x69, 0xa0, 0x08, 0x52, 0xf6, + 0xd7, 0x08, 0x23, 0x7f, 0xc3, 0x3c, 0xbb, 0xba, 0x4d, 0x48, 0xd7, 0xd1, 0xef, 0xa1, 0x4f, 0x31, + 0x60, 0x71, 0xd3, 0x33, 0x63, 0x78, 0x73, 0x9a, 0x98, 0x9b, 0x68, 0x72, 0x23, 0xef, 0x1a, 0x33, + 0xb7, 0xc9, 0x65, 0xfa, 0x54, 0x39, 0x2d, 0xda, 0x47, 0xe4, 0xa2, 0xa0, 0xb1, 0xd7, 0xbd, 0x01, + 0x3f, 0xbc, 0xfa, 0xd4, 0x35, 0x40, 0x07, 0x0c, 0xc7, 0x5b, 0x22, 0xf8, 0x1e, 0x50, 0x34, 0x08, + 0x1f, 0xe3, 0x7f, 0x48, 0x4d, 0x99, 0x90, 0xde, 0x06, 0x73, 0xe3, 0xd9, 0xb6, 0x8e, 0xf9, 0xb4, + 0x2c, 0x77, 0x12, 0x0f, 0x27, 0xf2, 0x69, 0x0e, 0xa6, 0xe3, 0xab, 0x57, 0xab, 0x1d, 0x46, 0x1c, + 0x9c, 0xb5, 0x6a, 0xd5, 0xb8, 0xfb, 0x53, 0xcc, 0x5c, 0x81, 0xf4, 0x33, 0x95, 0x6a, 0x82, 0x43, + 0xe0, 0x4b, 0xfd, 0x69, 0xe1, 0x83, 0xb8, 0x05, 0xeb, 0x7b, 0xdd, 0xff, 0x0c, 0x05, 0x11, 0xe7, + 0xef, 0xc0, 0x49, 0x03, 0xab, 0xab, 0x0e, 0xe3, 0xd3, 0xa8, 0x35, 0xfa, 0x58, 0x24, 0x10, 0x3d, + 0x9f, 0x1c, 0x4c, 0x50, 0xb7, 0xfe, 0x54, 0x61, 0x3a, 0x9a, 0x8f, 0xa5, 0xb1, 0xe9, 0x25, 0x45, + 0xcf, 0xf5, 0x5a, 0x9f, 0xf3, 0xba, 0x89, 0xd4, 0x6c, 0xff, 0x2b, 0x74, 0xa8, 0xb4, 0x35, 0x2a, + 0x2e, 0xfa, 0x54, 0xf6, 0xd3, 0xf1, 0xfb, 0x3f, 0xda, 0x2d, 0xf7, 0x03, 0xc2, 0x39, 0xec, 0xb5, + 0x62, 0x0a, 0xe5, 0xec, 0xd4, 0xb8, 0x27, 0xc0, 0xed, 0x8f, 0x13, 0xa9, 0xd9, 0x83, 0xb0, 0xdf, + 0x5a, 0x51, 0xc0, 0xe8, 0xa7, 0x5e, 0x41, 0xae, 0x81, 0x74, 0x35, 0xde, 0x04, 0x23, 0xe5, 0x8f, + 0x22, 0x2d, 0x5a, 0x66, 0x14, 0x34, 0x7d, 0xfc, 0xe4, 0xfa, 0x2d, 0xf1, 0x06, 0x1e, 0xc2, 0x82, + 0xeb, 0x29, 0xc5, 0x98, 0x62, 0xcb, 0x3c, 0x2e, 0xed, 0x44, 0x59, 0x0a, 0x7d, 0x16, 0x24, 0xe9, + 0x6b, 0xbc, 0xae, 0xc6, 0xe1, 0x30, 0xff, 0x53, 0x60, 0x50, 0x6a, 0x61, 0x67, 0xe5, 0x58, 0x1a, + 0x1f, 0xdc, 0xe6, 0xbb, 0xeb, 0x86, 0xcc, 0x81, 0x4f, 0x28, 0xef, 0xcf, 0x71, 0x06, 0x42, 0x06, + 0xef, 0xbf, 0x51, 0x6f, 0x84, 0x20, 0xd1, 0x80, 0x22, 0xed, 0x76, 0xbb, 0x00, 0xe2, 0x7d, 0x8f, + 0x03, 0xdd, 0x64, 0x19, 0x18, 0x01, 0x7a, 0x6c, 0x5a, 0x3e, 0xc3, 0x99, 0x12, 0x94, 0x2e, 0x03, + 0xac, 0xc7, 0x15, 0x0e, 0xb7, 0xee, 0x1e, 0x88, 0x26, 0xba, 0xf2, 0x5f, 0xf5, 0x23, 0xb6, 0x0f, + 0xd0, 0xe9, 0x8f, 0xb8, 0xf5, 0x4c, 0x69, 0x69, 0x32, 0x6a, 0x4c, 0x8f, 0x55, 0x7d, 0x6a, 0x4a, + 0xc0, 0xd3, 0xf1, 0x88, 0x71, 0xe7, 0xb4, 0xa2, 0x5b, 0xea, 0xff, 0x78, 0x3d, 0x1f, 0x52, 0x84, + 0x21, 0xb8, 0xf0, 0xe3, 0xc8, 0x74, 0x2b, 0x71, 0xf3, 0x7e, 0xb1, 0x17, 0x32, 0xac, 0x5e, 0x5b, + 0x7d, 0xcf, 0xd6, 0x06, 0xcd, 0xb9, 0xe4, 0x90, 0xd8, 0x76, 0x65, 0xce, 0x9d, 0x04, 0xa6, 0x9c, + 0xf0, 0xc8, 0xd5, 0x09, 0xc3, 0x27, 0x4b, 0x23, 0xbd, 0xf5, 0x14, 0xcc, 0x22, 0x86, 0xe2, 0xc1, + 0x2c, 0xee, 0x07, 0x1d, 0xbd, 0xed, 0xd6, 0x7a, 0xfb, 0x2a, 0x0d, 0x75, 0x4e, 0x17, 0x81, 0x0e, + 0xb8, 0x68, 0xf0, 0x17, 0x38, 0x86, 0x2a, 0x6c, 0xce, 0x26, 0x4b, 0xb8, 0x7f, 0xe4, 0xfb, 0x0e, + 0x2c, 0x24, 0xbe, 0xd8, 0x4c, 0x6a, 0x0e, 0x94, 0x3f, 0xcc, 0x69, 0xf8, 0x32, 0x09, 0xfa, 0x8f, + 0xc4, 0xe0, 0x36, 0xfb, 0xfc, 0x6f, 0x15, 0xb0, 0xdd, 0xba, 0x9b, 0xa2, 0x7c, 0x61, 0x83, 0x93, + 0x0f, 0x9a, 0x85, 0x8e, 0x88, 0x7c, 0xee, 0x7e, 0xc1, 0x1c, 0xe0, 0x05, 0x91, 0xaa, 0xf8, 0x3d, + 0xf9, 0x5d, 0x57, 0x73, 0x43, 0xe5, 0xf8, 0xed, 0x31, 0x65, 0x5f, 0x28, 0xc5, 0x45, 0x42, 0xca, + 0xc1, 0xb4, 0x9b, 0x5f, 0x1c, 0xad, 0x95, 0x8f, 0x07, 0xa8, 0xf5, 0xd5, 0xf3, 0x73, 0xef, 0x10, + 0x8d, 0x86, 0xd3, 0x51, 0x72, 0x67, 0xd1, 0x66, 0x0b, 0x68, 0x6a, 0xdd, 0x27, 0xf4, 0xeb, 0xe8, + 0xd8, 0x89, 0xd7, 0x32, 0xbc, 0x5c, 0x7a, 0xc7, 0xa4, 0x8d, 0x5a, 0xf0, 0x58, 0xda, 0x54, 0x47, + 0x6e, 0xb0, 0x0a, 0xb8, 0x4b, 0x26, 0xe1, 0x6b, 0x80, 0x0c, 0xaa, 0x7f, 0xf3, 0x8c, 0x82, 0x3b, + 0x2b, 0x18, 0xa3, 0x71, 0x7c, 0x86, 0x5c, 0xbe, 0x90, 0xba, 0x9d, 0x5c, 0x94, 0xfe, 0x35, 0xa3, + 0xab, 0x9e, 0xeb, 0xd5, 0x29, 0x5a, 0x52, 0x1a, 0xd3, 0x1f, 0xf9, 0x2d, 0x99, 0x94, 0x4f, 0x9c, + 0xcb, 0x75, 0x3f, 0xf3, 0xe7, 0xe5, 0x77, 0xbe, 0x5a, 0x49, 0xfc, 0x95, 0xc6, 0x97, 0x17, 0x07, + 0x16, 0xf6, 0xad, 0x52, 0x78, 0xd5, 0x41, 0xd1, 0xf0, 0x2d, 0x28, 0x3d, 0x5f, 0xbf, 0x00, 0xa4, + 0x01, 0xe6, 0x45, 0x81, 0xdf, 0xfb, 0x3c, 0x94, 0x92, 0x9f, 0x4e, 0xf5, 0x38, 0x22, 0x88, 0x2c, + 0x0b, 0xcb, 0x21, 0xd2, 0x40, 0xc2, 0xac, 0x77, 0xe6, 0x45, 0x67, 0xfc, 0xf8, 0xdd, 0x5e, 0x34, + 0xd1, 0x48, 0x0f, 0x91, 0x51, 0x1a, 0x5a, 0xfc, 0x6c, 0x87, 0x65, 0x94, 0x8c, 0xa5, 0xc2, 0x06, + 0xd3, 0xc3, 0x52, 0xc6, 0x9e, 0x45, 0xdc, 0x5f, 0x07, 0x8b, 0x6a, 0x55, 0x90, 0x73, 0x7a, 0xa4, + 0x59, 0x3d, 0xe3, 0x18, 0x6a, 0x97, 0xe2, 0x02, 0x49, 0xae, 0xea, 0x7a, 0x80, 0x60, 0x46, 0xda, + 0x64, 0xf1, 0x4a, 0x90, 0xd0, 0x27, 0x6c, 0x68, 0x92, 0x23, 0x4c, 0xdb, 0x03, 0x97, 0x15, 0x64, + 0x10, 0x62, 0xa5, 0xeb, 0xac, 0x05, 0x39, 0x69, 0xc0, 0xd5, 0x6d, 0x22, 0x30, 0x91, 0x00, 0x7f, + 0xe9, 0x90, 0x79, 0xfa, 0x7f, 0xa1, 0x60, 0x4a, 0x59, 0x8f, 0x3a, 0x65, 0xdd, 0xe7, 0x2d, 0xc3, + 0xab, 0xf7, 0x4d, 0x45, 0x00, 0xf3, 0x9b, 0xb4, 0x78, 0x2b, 0x7a, 0x0c, 0x9f, 0x18, 0xf2, 0x93, + 0x2a, 0x42, 0x79, 0xeb, 0x5e, 0x80, 0x11, 0x1d, 0x7f, 0x6b, 0xe7, 0x32, 0x87, 0x52, 0x52, 0xaa, + 0x99, 0xc5, 0x11, 0x5c, 0xd9, 0xf3, 0x57, 0x7a, 0x19, 0x5a, 0x68, 0x0f, 0x5d, 0xfb, 0x9d, 0x0d, + 0x57, 0x0c, 0x1a, 0x92, 0x70, 0x9a, 0x87, 0xed, 0xa9, 0x52, 0xc7, 0xdd, 0x36, 0x00, 0xa2, 0x1f, + 0xd1, 0x1a, 0xd1, 0x21, 0xb0, 0xa3, 0xb2, 0x18, 0x48, 0x2a, 0x3a, 0xeb, 0x6a, 0x3b, 0x5e, 0xf8, + 0x58, 0x65, 0xaf, 0x9f, 0xa6, 0x63, 0x3e, 0x0d, 0xf3, 0x9c, 0x20, 0x2c, 0x2b, 0x6c, 0x1e, 0xbe, + 0xb4, 0x8c, 0xa9, 0x9c, 0x77, 0x25, 0x26, 0x69, 0xc6, 0xb4, 0x2e, 0x36, 0xa5, 0xee, 0xc0, 0x0b, + 0x0a, 0xcc, 0x6c, 0x1a, 0x3a, 0xaa, 0x0f, 0xa8, 0x8e, 0xfd, 0x25, 0xa2, 0x00, 0x74, 0xfa, 0x0a, + 0x02, 0x54, 0x26, 0x5a, 0xe1, 0x7f, 0x70, 0x52, 0x67, 0x54, 0xdb, 0xa7, 0x03, 0xca, 0x69, 0x3d, + 0x93, 0xb3, 0x48, 0x9f, 0xd4, 0xc7, 0x6a, 0x9c, 0x55, 0x56, 0x29, 0xf3, 0xa0, 0xe9, 0x7a, 0x5f, + 0xc5, 0xb2, 0x44, 0xbf, 0x72, 0x75, 0xb3, 0x14, 0xbb, 0x66, 0xcc, 0x04, 0x5a, 0xaa, 0x1c, 0x28, + 0x38, 0x09, 0x6a, 0xb3, 0xfe, 0x22, 0x27, 0x0a, 0x39, 0xf3, 0x3d, 0xfb, 0x9b, 0x3e, 0x02, 0x17, + 0xae, 0xdc, 0xed, 0x88, 0x76, 0x19, 0x40, 0x05, 0x2c, 0xcf, 0xd4, 0x22, 0x41, 0x1d, 0xbd, 0x41, + 0xe6, 0x0e, 0xed, 0xfd, 0x2c, 0x67, 0x37, 0x50, 0x27, 0x0e, 0x3f, 0x31, 0x3d, 0x9a, 0x5e, 0xe7, + 0xac, 0x18, 0xb4, 0x55, 0xaa, 0x63, 0xa5, 0x58, 0xf2, 0x3d, 0x89, 0x93, 0xf5, 0xee, 0x0f, 0xf7, + 0x93, 0x24, 0x5e, 0x69, 0xf8, 0xe1, 0x40, 0xb1, 0x7e, 0xbb, 0xb5, 0x4f, 0xc9, 0x79, 0xe8, 0xf3, + 0xe0, 0xd0, 0x36, 0xd4, 0x7a, 0x4d, 0xe5, 0x0c, 0x71, 0x03, 0x5b, 0x29, 0xca, 0x89, 0x7a, 0xa4, + 0xe6, 0xd2, 0x9d, 0x58, 0x43, 0x13, 0xfb, 0x2a, 0xe0, 0x41, 0x97, 0xd7, 0x0b, 0x5a, 0x34, 0x07, + 0xed, 0x7c, 0x0c, 0xa5, 0x60, 0xea, 0x66, 0x31, 0x32, 0x6e, 0x91, 0x26, 0x1d, 0xa4, 0x9b, 0x32, + 0x44, 0x25, 0xbc, 0xbc, 0x25, 0x28, 0xa1, 0x33, 0x6c, 0x95, 0x59, 0xa3, 0x03, 0xfc, 0xbb, 0x63, + 0x99, 0x59, 0x28, 0x27, 0x8b, 0x47, 0x53, 0x59, 0x79, 0xe3, 0x42, 0x3c, 0xfd, 0x3c, 0x84, 0x65, + 0xd5, 0x43, 0x59, 0xb4, 0x9d, 0xbd, 0x18, 0xd7, 0x3f, 0x9f, 0x45, 0x4b, 0x47, 0x0c, 0x34, 0x3e, + 0xaf, 0xdd, 0x29, 0x37, 0x45, 0x67, 0xc6, 0xdc, 0x0c, 0xb9, 0xdb, 0x63, 0xe5, 0x6b, 0xcd, 0xf6, + 0x84, 0x3f, 0xf0, 0x6f, 0xcc, 0xfa, 0x71, 0x5f, 0x04, 0xbb, 0xaf, 0x9e, 0x01, 0x91, 0x19, 0x45, + 0xbf, 0x8c, 0xb9, 0x48, 0x28, 0x17, 0x3c, 0xa0, 0x3d, 0x90, 0x47, 0x38, 0xcd, 0xc4, 0xec, 0x3f, + 0xd6, 0xc7, 0xba, 0x8a, 0xbc, 0x33, 0xa9, 0x36, 0xc2, 0x58, 0x0a, 0x07, 0x4e, 0x20, 0x0d, 0x4e, + 0x0f, 0x8b, 0x84, 0x5b, 0x18, 0x54, 0xe8, 0x9e, 0x3e, 0xc4, 0xfe, 0xb4, 0xc4, 0xe4, 0x9a, 0x96, + 0x4d, 0x9a, 0x13, 0xff, 0xa2, 0x13, 0x53, 0xc8, 0xde, 0x7a, 0x58, 0x44, 0x2f, 0x2b, 0x31, 0xa2, + 0xf7, 0xd2, 0x51, 0x77, 0x2a, 0x7c, 0x88, 0xb2, 0xef, 0x35, 0x62, 0xce, 0x13, 0x5c, 0x1c, 0x08, + 0x44, 0x27, 0x79, 0xe7, 0x33, 0x24, 0x61, 0xb6, 0x59, 0x7e, 0x25, 0xda, 0x26, 0x78, 0x8b, 0x63, + 0x4e, 0x04, 0x9a, 0x15, 0xe1, 0x76, 0x71, 0x77, 0xde, 0x4d, 0x54, 0xfc, 0xdf, 0x59, 0xde, 0x4b, + 0x3f, 0x96, 0xcb, 0xba, 0x83, 0x4d, 0xc1, 0xc2, 0x58, 0x1f, 0x79, 0x0b, 0xad, 0x1d, 0xac, 0x0c, + 0xa4, 0xb9, 0x32, 0xb1, 0xcc, 0xc4, 0xee, 0x12, 0x09, 0x49, 0x3e, 0x04, 0xe2, 0xba, 0x20, 0x0c, + 0x19, 0x51, 0x80, 0xfc, 0xa6, 0x89, 0xb9, 0xb1, 0x9c, 0x66, 0x08, 0x8f, 0x45, 0x72, 0x9f, 0x44, + 0x1f, 0x3f, 0xa1, 0x32, 0x9b, 0xe0, 0x5a, 0xa4, 0x3d, 0xa1, 0xa7, 0x6e, 0x8d, 0xa5, 0xa1, 0x7e, + 0x8a, 0x35, 0x0a, 0xc8, 0x96, 0x5b, 0x4e, 0xd7, 0x0b, 0xe5, 0x6b, 0x05, 0xa2, 0xc1, 0x78, 0x97, + 0x90, 0x7a, 0xe7, 0x97, 0xb8, 0xb5, 0x2c, 0x0d, 0x01, 0x04, 0x9e, 0x29, 0x73, 0xee, 0xc8, 0x38, + 0xef, 0xf5, 0xbd, 0x0a, 0x27, 0xd9, 0x8b, 0x8e, 0xcb, 0xc0, 0x06, 0x42, 0x39, 0x17, 0x96, 0x19, + 0x5d, 0x48, 0x3b, 0x0b, 0xcb, 0x4f, 0xb5, 0x54, 0x6a, 0xf6, 0x9c, 0xbc, 0xd1, 0x2d, 0x74, 0x42, + 0x0d, 0x6f, 0x52, 0x24, 0xb8, 0xfc, 0xee, 0x3e, 0x05, 0x36, 0x24, 0xd5, 0xf2, 0xd4, 0x49, 0x27, + 0xa3, 0xae, 0x44, 0x84, 0x27, 0xb1, 0x85, 0x3c, 0xe6, 0xbd, 0x6f, 0xd9, 0x6f, 0x22, 0x59, 0xc5, + 0xca, 0x34, 0x70, 0x14, 0x1c, 0x3f, 0x0a, 0x38, 0x7e, 0xb2, 0xda, 0xb4, 0xaa, 0x36, 0x50, 0x36, + 0x99, 0x19, 0xb3, 0x3c, 0xae, 0xfd, 0x3f, 0x2e, 0x2e, 0xae, 0xc0, 0x95, 0x4f, 0xcf, 0x1c, 0x81, + 0x53, 0xf8, 0xce, 0xe5, 0xce, 0x42, 0xd4, 0x2c, 0x40, 0x61, 0xa5, 0x6d, 0x7d, 0x16, 0x90, 0x65, + 0x8c, 0x2e, 0x96, 0x3f, 0x1f, 0x65, 0xcc, 0x82, 0xf1, 0x65, 0xf0, 0x56, 0x95, 0xf0, 0xc7, 0xbe, + 0xd3, 0xb8, 0x89, 0x39, 0x5a, 0xb4, 0x3c, 0xb4, 0xca, 0x6b, 0xc2, 0x9c, 0x7a, 0x73, 0x2b, 0xf9, + 0x7c, 0xf7, 0x6b, 0x58, 0x10, 0xaf, 0x44, 0x6d, 0x88, 0x45, 0x6d, 0xc9, 0xd1, 0x11, 0x6e, 0x08, + 0x3f, 0x7d, 0x72, 0x5d, 0xf4, 0x83, 0xbf, 0xfa, 0x66, 0x85, 0x9c, 0xc4, 0xcc, 0xd3, 0xf2, 0xe1, + 0x6a, 0x36, 0x2e, 0xd7, 0xb9, 0xec, 0x3e, 0x94, 0x31, 0x6a, 0x15, 0x19, 0xd0, 0xea, 0xce, 0xc9, + 0x33, 0x70, 0xe5, 0xf2, 0xd9, 0x3f, 0x63, 0x1d, 0xed, 0x65, 0x04, 0xcc, 0xb9, 0xf0, 0x29, 0x90, + 0xc5, 0x57, 0x23, 0x8a, 0x3b, 0xd7, 0x9c, 0x95, 0x23, 0x6d, 0x64, 0x28, 0x7b, 0xc7, 0x08, 0xd3, + 0x98, 0x13, 0x27, 0xc6, 0xf7, 0x78, 0xd9, 0xa2, 0xc8, 0x97, 0x7d, 0x4e, 0x2e, 0x83, 0xaf, 0xdb, + 0xd3, 0x2d, 0xe6, 0x61, 0xbc, 0x8e, 0xc0, 0x9d, 0xf6, 0x4c, 0x1e, 0xb4, 0xfe, 0xc3, 0xa0, 0x11, + 0x46, 0x1b, 0xa7, 0xc8, 0xb9, 0xb1, 0xe9, 0xe9, 0xb7, 0x44, 0x86, 0xfe, 0x41, 0x7d, 0x26, 0x75, + 0x08, 0x0d, 0x96, 0xe3, 0x64, 0xb4, 0x7e, 0xe1, 0x01, 0x5b, 0x66, 0x29, 0x30, 0xa6, 0xa3, 0x22, + 0xd8, 0xc5, 0x3c, 0x5a, 0xe7, 0xfe, 0x2a, 0xdd, 0xfa, 0x95, 0xcc, 0x1e, 0xaa, 0xa0, 0x2a, 0x2a, + 0x0a, 0x93, 0x79, 0x5a, 0x49, 0xeb, 0x78, 0x84, 0x66, 0x29, 0x56, 0xca, 0x45, 0xab, 0x12, 0x68, + 0x9e, 0x0e, 0x64, 0xc3, 0x6d, 0x1a, 0x9e, 0xcb, 0xad, 0x9d, 0x28, 0x2b, 0xf2, 0x97, 0x92, 0x24, + 0xd7, 0x8e, 0x00, 0x6d, 0x89, 0xc6, 0xec, 0xf7, 0x7a, 0x48, 0x15, 0xaf, 0xa5, 0x3e, 0x78, 0x0e, + 0x37, 0xc4, 0xa7, 0x35, 0xdd, 0x44, 0x55, 0xc2, 0x35, 0xdd, 0x3c, 0x9a, 0x28, 0x36, 0x62, 0x0d, + 0x97, 0xd4, 0xf5, 0x2f, 0x6b, 0x49, 0xc5, 0xce, 0x30, 0xf7, 0xf2, 0x60, 0x83, 0x91, 0xf4, 0xdd, + 0xac, 0xf5, 0xe2, 0x20, 0x22, 0xa2, 0x97, 0x68, 0xb0, 0x1f, 0x17, 0x36, 0x50, 0xdb, 0x6c, 0x78, + 0x3a, 0x7a, 0x8c, 0x91, 0xd8, 0xb3, 0x23, 0x5d, 0x91, 0xdd, 0xac, 0xe5, 0xc3, 0x4a, 0x96, 0xdb, + 0x56, 0x0d, 0x29, 0xcb, 0xe7, 0x89, 0x8e, 0x11, 0x08, 0x26, 0xab, 0xc3, 0x0a, 0xdd, 0x50, 0xe2, + 0xb2, 0x20, 0x42, 0xce, 0xdc, 0xd3, 0x3d, 0x13, 0xb5, 0x12, 0xfb, 0x5d, 0xb7, 0xdd, 0x62, 0xc1, + 0xe5, 0x41, 0x1c, 0x57, 0x15, 0x5b, 0x9e, 0xdb, 0xc9, 0x9d, 0x99, 0x0e, 0xb5, 0x24, 0x49, 0x1b, + 0x76, 0x54, 0x43, 0xc4, 0xf0, 0x4a, 0x57, 0x43, 0x6a, 0x45, 0xf1, 0xc7, 0x61, 0x00, 0x4d, 0x2b, + 0x09, 0x54, 0x3c, 0x2e, 0x84, 0x91, 0x0f, 0xf7, 0x78, 0xeb, 0x4a, 0xea, 0x04, 0xf8, 0x89, 0x91, + 0x70, 0x01, 0x03, 0x1e, 0x6e, 0xd2, 0xa9, 0xad, 0x26, 0x8b, 0x75, 0x18, 0x97, 0x30, 0xb2, 0xdc, + 0x65, 0x5d, 0x82, 0xa9, 0xe4, 0x6f, 0x20, 0x09, 0x58, 0xa5, 0xcb, 0xe4, 0xfa, 0xf6, 0x02, 0x8b, + 0x92, 0x97, 0x93, 0x86, 0x18, 0xd8, 0x38, 0xcc, 0x76, 0x2f, 0xfa, 0xa1, 0xec, 0xaf, 0x4c, 0x3a, + 0xc7, 0x6a, 0xc7, 0x0e, 0xda, 0xf6, 0x69, 0x0b, 0x4c, 0x89, 0x68, 0x04, 0xbe, 0x24, 0x86, 0x09, + 0x61, 0x63, 0x5f, 0x66, 0x9f, 0x9f, 0xdd, 0xda, 0x10, 0x39, 0xa2, 0xdb, 0xbd, 0x38, 0xc9, 0x68, + 0x98, 0x7d, 0xc9, 0x6e, 0x1c, 0x4d, 0xf4, 0xb8, 0x40, 0x2e, 0xa5, 0x46, 0x44, 0xcd, 0x55, 0x55, + 0x87, 0x93, 0x80, 0xa5, 0x27, 0x76, 0x9e, 0x28, 0x56, 0xba, 0x0e, 0x0f, 0x87, 0x43, 0x0f, 0x79, + 0xa1, 0x4e, 0xb7, 0xb5, 0x36, 0x33, 0xe7, 0xbe, 0xe4, 0x9b, 0x52, 0x52, 0xb5, 0x7d, 0x46, 0xa2, + 0x32, 0xeb, 0x6f, 0x62, 0xe0, 0xcd, 0x83, 0xc4, 0x75, 0xe3, 0x61, 0x4f, 0x97, 0xc9, 0x3a, 0xa2, + 0xcd, 0x3d, 0x62, 0xe8, 0xcd, 0x3b, 0x82, 0xd7, 0x2f, 0x35, 0x1c, 0x83, 0x05, 0x39, 0x6e, 0x97, + 0xb0, 0x1d, 0x09, 0x97, 0x48, 0xfd, 0x5d, 0x39, 0x68, 0x8c, 0xc2, 0x94, 0xa4, 0xe9, 0xfd, 0x81, + 0xc0, 0x3d, 0xda, 0x13, 0xe0, 0xf8, 0xb7, 0xb0, 0xff, 0xfb, 0x2b, 0x3b, 0x70, 0x5c, 0xf3, 0xe6, + 0xaf, 0xac, 0x47, 0x17, 0xf2, 0xe9, 0xab, 0x37, 0x50, 0x3e, 0x03, 0xb5, 0xb4, 0x6c, 0x52, 0x67, + 0xdc, 0xf3, 0xab, 0x01, 0x3c, 0x8d, 0x36, 0xee, 0xe9, 0x0a, 0xc5, 0x04, 0x82, 0x8a, 0x2c, 0x65, + 0xa8, 0xc8, 0x72, 0xd4, 0xdc, 0x98, 0x47, 0x9e, 0xae, 0x33, 0x5d, 0xff, 0xe9, 0xad, 0x37, 0x4b, + 0xfb, 0x03, 0x9d, 0xb8, 0x7a, 0xb7, 0x96, 0x1d, 0x7d, 0xa4, 0x1a, 0xbd, 0x56, 0x99, 0xb5, 0x57, + 0x60, 0x0a, 0x7e, 0x35, 0x8e, 0x71, 0x54, 0x36, 0x62, 0x2d, 0x8c, 0x0a, 0x81, 0x76, 0xde, 0xf7, + 0x1a, 0xd9, 0x6b, 0xbd, 0xed, 0x29, 0xad, 0x5d, 0x61, 0x64, 0xa6, 0xcb, 0xf3, 0x6e, 0x52, 0xe0, + 0x4b, 0x02, 0xda, 0xd2, 0x06, 0x03, 0xae, 0x10, 0x9c, 0x2c, 0xbf, 0x2c, 0x7e, 0xd2, 0x6a, 0xec, + 0x8b, 0x62, 0xac, 0x1f, 0x26, 0x3e, 0xde, 0x77, 0x92, 0x09, 0x3c, 0x83, 0x49, 0x1e, 0xb8, 0x55, + 0x38, 0xfb, 0xfd, 0xfb, 0xa1, 0xd5, 0x6d, 0x23, 0x9d, 0xfc, 0x9a, 0x6b, 0xa0, 0x04, 0x0d, 0x22, + 0x8c, 0x03, 0x36, 0xc3, 0x1b, 0x52, 0x4b, 0xf3, 0x0e, 0x65, 0xc5, 0x50, 0xf9, 0xf7, 0x8b, 0x59, + 0xe1, 0x54, 0xbf, 0x2a, 0x0a, 0x0d, 0xef, 0x2d, 0x9e, 0x69, 0x41, 0xf9, 0x26, 0x2c, 0x4b, 0x74, + 0xcf, 0xc9, 0xed, 0x39, 0x8e, 0x7d, 0xdb, 0xc3, 0xa7, 0x3a, 0xca, 0x59, 0xd3, 0x11, 0x59, 0xaf, + 0x81, 0xc1, 0x6d, 0x44, 0xd1, 0x2a, 0x3a, 0xb5, 0x6e, 0x1b, 0x8f, 0x59, 0x55, 0x39, 0xf9, 0xc9, + 0x33, 0x3a, 0xde, 0xf1, 0x52, 0x82, 0x72, 0x28, 0xbe, 0x8d, 0x85, 0xfd, 0xed, 0x03, 0x60, 0x1e, + 0x38, 0x00, 0xd9, 0xb7, 0x1f, 0x75, 0xd3, 0x8e, 0x8c, 0x3f, 0x17, 0x55, 0x33, 0xc2, 0xfe, 0xcc, + 0xa9, 0x64, 0xb3, 0x6f, 0xbf, 0xe7, 0x58, 0x2d, 0xb0, 0xda, 0x66, 0x37, 0x30, 0x81, 0x00, 0x42, + 0x26, 0x1e, 0x17, 0xcc, 0x00, 0x6b, 0x7c, 0x2c, 0xf9, 0xa9, 0x25, 0xa2, 0x56, 0x0b, 0xeb, 0x1e, + 0x25, 0x3c, 0x4a, 0x41, 0x69, 0xab, 0x3c, 0xe1, 0x32, 0x40, 0xbb, 0xd5, 0x26, 0x43, 0x03, 0x70, + 0xa2, 0x2a, 0x9c, 0x81, 0xa8, 0x68, 0x9e, 0xb6, 0x61, 0xa2, 0x0e, 0x2b, 0xef, 0x0e, 0xe0, 0x08, + 0x66, 0x6c, 0x56, 0xbe, 0xc5, 0x68, 0xc4, 0xe2, 0x7a, 0x0f, 0x47, 0xff, 0xc9, 0x8e, 0xe0, 0xa6, + 0xa5, 0xd0, 0x2e, 0xee, 0xe2, 0x24, 0x39, 0xbf, 0x31, 0x3d, 0xea, 0xba, 0xe4, 0xc7, 0x00, 0x1d, + 0x9b, 0x36, 0x7f, 0x81, 0xc6, 0x07, 0x44, 0x0a, 0x7d, 0xd4, 0xe6, 0xbe, 0x2a, 0x91, 0x17, 0x3f, + 0x41, 0x92, 0xdf, 0xe5, 0x5a, 0x05, 0xec, 0x4c, 0x38, 0x56, 0x5c, 0x9b, 0xc7, 0xf1, 0xda, 0x6d, + 0x9b, 0x1f, 0xe4, 0x14, 0x73, 0xbe, 0xff, 0x1a, 0x83, 0xd6, 0x1c, 0x23, 0xbb, 0x6a, 0x0d, 0xac, + 0xfc, 0x73, 0xa4, 0x36, 0xc1, 0x3b, 0x14, 0x0a, 0xf0, 0x6a, 0x47, 0x91, 0x85, 0xc5, 0xbb, 0xff, + 0x41, 0xbe, 0xb8, 0x09, 0x72, 0xbf, 0x31, 0xb4, 0xf5, 0x27, 0x80, 0x81, 0x59, 0xec, 0xa8, 0x4b, + 0x8d, 0x32, 0xec, 0xb6, 0xd1, 0xbb, 0x52, 0x12, 0x99, 0x69, 0x8c, 0x6f, 0xc4, 0x2e, 0xe5, 0x47, + 0x01, 0xbe, 0xd9, 0x32, 0x0b, 0x5f, 0x90, 0xe1, 0xac, 0x8b, 0x80, 0x98, 0x85, 0xa4, 0xb9, 0xe2, + 0x3a, 0xc4, 0x42, 0x2e, 0xd9, 0x93, 0xbe, 0x97, 0x77, 0x44, 0xa7, 0x14, 0xcb, 0x24, 0xcf, 0xca, + 0x37, 0x06, 0x5a, 0x63, 0x71, 0xcb, 0x63, 0x7f, 0x19, 0xd8, 0x9c, 0x9c, 0x24, 0x13, 0x7f, 0xfe, + 0x04, 0x00, 0xb3, 0xa7, 0x90, 0x35, 0xbc, 0x78, 0x6a, 0xef, 0xf9, 0xbd, 0xd4, 0x1e, 0x0a, 0xd9, + 0x62, 0xe1, 0xa2, 0xa8, 0xec, 0xfd, 0x00, 0x80, 0xf2, 0x22, 0xa5, 0xd2, 0x86, 0x14, 0xb9, 0x1e, + 0x10, 0x0a, 0x2d, 0x4e, 0x09, 0xdf, 0x0b, 0x5b, 0xfa, 0xbe, 0x58, 0x73, 0xdc, 0x6c, 0x73, 0x93, + 0x39, 0x43, 0x44, 0xf0, 0x73, 0xeb, 0xc8, 0x14, 0xd3, 0xe8, 0xc8, 0x2e, 0xf6, 0x6e, 0xbe, 0x51, + 0x22, 0x71, 0x92, 0x5e, 0x07, 0x5f, 0xf5, 0x25, 0xf5, 0x3a, 0xc6, 0x05, 0xb5, 0x6a, 0xa6, 0x72, + 0xe9, 0x3f, 0x01, 0xcb, 0xb2, 0x35, 0x6b, 0x19, 0x06, 0x71, 0xa4, 0xbc, 0x01, 0x89, 0x2d, 0x28, + 0xe9, 0x96, 0xf7, 0xcc, 0x17, 0x9e, 0x9e, 0x5c, 0x93, 0x94, 0x79, 0xaa, 0xa9, 0xc4, 0x17, 0x19, + 0x30, 0xa9, 0xcf, 0xae, 0x4a, 0x54, 0x67, 0x57, 0x41, 0x4a, 0xc0, 0x90, 0xe8, 0xea, 0x11, 0x99, + 0x60, 0x25, 0xef, 0x20, 0x0b, 0x2a, 0x5c, 0x07, 0xc6, 0x1e, 0x29, 0x63, 0xbb, 0xa8, 0xfe, 0xde, + 0x19, 0xa7, 0xff, 0xd5, 0x21, 0x9a, 0xa3, 0x1e, 0x92, 0x3f, 0x68, 0xf0, 0xe2, 0xe8, 0x8a, 0x9d, + 0x62, 0xa7, 0xbf, 0x1b, 0x35, 0xb1, 0x38, 0x7d, 0xf3, 0xa6, 0x68, 0xb3, 0x31, 0x45, 0xb5, 0xc8, + 0x56, 0x07, 0xce, 0x43, 0x52, 0x21, 0x6a, 0xe3, 0xc4, 0x4d, 0xb6, 0xe5, 0xcd, 0xc8, 0xb1, 0xe5, + 0xa1, 0xc3, 0xd0, 0xf1, 0x2c, 0x52, 0x13, 0x1c, 0xed, 0xe9, 0xf8, 0xbf, 0x45, 0x6a, 0x9d, 0xb7, + 0x69, 0xa2, 0x62, 0x8c, 0xe2, 0x34, 0xa5, 0x62, 0x2a, 0x8b, 0x75, 0xf1, 0x4f, 0xaf, 0xfc, 0x86, + 0x43, 0x48, 0xb1, 0xe2, 0xc3, 0xd0, 0x85, 0xaf, 0xd1, 0x6b, 0x00, 0x8c, 0x97, 0xd1, 0x68, 0x32, + 0x4e, 0x6e, 0x2c, 0xcf, 0x65, 0x89, 0x36, 0xc3, 0xcd, 0x5f, 0x1d, 0x20, 0x7f, 0x5e, 0xca, 0x9e, + 0xa2, 0x5d, 0xa4, 0x5c, 0xf6, 0x32, 0x90, 0x13, 0xca, 0x7e, 0xa9, 0x2f, 0x4a, 0x16, 0xa9, 0x19, + 0x4f, 0x91, 0x60, 0xc1, 0x3d, 0xca, 0x85, 0x19, 0x5c, 0x15, 0x55, 0xa8, 0x05, 0xec, 0x40, 0x04, + 0x10, 0x28, 0xb1, 0x74, 0x3d, 0xc7, 0xc9, 0xfe, 0xef, 0xcc, 0xbc, 0x97, 0x2c, 0x21, 0xf2, 0x97, + 0xdc, 0xb7, 0x9e, 0x33, 0x09, 0x43, 0x9b, 0xf3, 0xb8, 0x77, 0x17, 0xbf, 0x55, 0xd1, 0x07, 0x72, + 0x6b, 0xd7, 0x6c, 0xc9, 0xbe, 0x80, 0xc8, 0xeb, 0x3c, 0x80, 0x47, 0x0d, 0x9c, 0xd6, 0x2a, 0x18, + 0x3b, 0x49, 0x79, 0xeb, 0xb1, 0x40, 0x46, 0xf8, 0x8c, 0x47, 0x4a, 0x95, 0xfc, 0x4d, 0x9a, 0x84, + 0xa6, 0x64, 0x6f, 0x85, 0x42, 0x2d, 0x85, 0x8e, 0x5f, 0x7c, 0x4b, 0xdd, 0x77, 0x40, 0x09, 0x6c, + 0xd9, 0x61, 0x75, 0xd7, 0xa4, 0xeb, 0xc7, 0xf5, 0xe3, 0xd0, 0x45, 0x7b, 0xef, 0xc1, 0x5f, 0xd5, + 0xb4, 0x0a, 0xc0, 0x27, 0xc5, 0x45, 0xec, 0xfe, 0xdf, 0x8e, 0x5e, 0x0c, 0x1e, 0x6a, 0xf5, 0x9a, + 0x49, 0x66, 0xf9, 0x31, 0x7a, 0xa2, 0x01, 0xbb, 0xea, 0x34, 0x53, 0x6d, 0x29, 0x80, 0x90, 0xa3, + 0x3e, 0x09, 0x8e, 0x72, 0xe1, 0x85, 0xf8, 0x9d, 0x01, 0x50, 0xd4, 0x39, 0x3c, 0xba, 0x28, 0x16, + 0x12, 0x89, 0x88, 0xd8, 0x6c, 0xb1, 0x31, 0x97, 0x2f, 0xdb, 0xe3, 0x28, 0x62, 0xbe, 0xbf, 0xfa, + 0x51, 0xf0, 0x5d, 0xba, 0xa5, 0x7b, 0xbf, 0xdf, 0xa3, 0x1f, 0x18, 0xf7, 0xce, 0x54, 0x2d, 0x87, + 0x5c, 0xf7, 0xeb, 0xaa, 0xcb, 0x86, 0x87, 0xd4, 0x62, 0x6e, 0x0c, 0x17, 0x39, 0x17, 0xf8, 0x5c, + 0x69, 0x9e, 0x80, 0xa9, 0x76, 0xe1, 0xd6, 0xc1, 0xab, 0xb2, 0xa9, 0x1c, 0x44, 0xe0, 0x3f, 0x3e, + 0xcb, 0x0c, 0x48, 0xa8, 0x11, 0x63, 0x1e, 0x83, 0xe4, 0x47, 0x1f, 0x5e, 0x2c, 0x9a, 0xb3, 0x43, + 0xf1, 0xe5, 0x78, 0x20, 0xff, 0x9b, 0xb2, 0xc4, 0x2a, 0x8b, 0x25, 0x6b, 0x12, 0x96, 0xb0, 0xd2, + 0xa7, 0x16, 0xe8, 0xda, 0x9b, 0xac, 0x46, 0xb4, 0x2d, 0xff, 0x97, 0xc0, 0x97, 0x97, 0xaf, 0x97, + 0x98, 0xbf, 0x71, 0x2a, 0x2e, 0xfd, 0x37, 0xda, 0x9e, 0x10, 0x36, 0xde, 0x8a, 0x89, 0x0d, 0xc3, + 0xa8, 0xa4, 0x1a, 0x03, 0x82, 0x16, 0x9d, 0xea, 0xfa, 0xd7, 0x5d, 0xc9, 0x6f, 0xb3, 0xc2, 0x69, + 0x66, 0x66, 0x67, 0xc9, 0x98, 0xf2, 0xb0, 0x71, 0x24, 0x21, 0x2a, 0x4d, 0x26, 0x7d, 0x7e, 0x9b, + 0x28, 0x72, 0xb8, 0xdd, 0x7c, 0xdf, 0xbd, 0x01, 0xb0, 0x3e, 0x06, 0x87, 0xdd, 0x3d, 0xcd, 0xaa, + 0xcb, 0xe3, 0x43, 0x06, 0x51, 0x20, 0xf4, 0x7e, 0x81, 0xdb, 0xe0, 0x6a, 0xc8, 0x74, 0x38, 0x9f, + 0xfd, 0x21, 0x86, 0x19, 0x15, 0x3b, 0xba, 0x71, 0x9a, 0x4a, 0xf3, 0xc3, 0x51, 0x33, 0x0d, 0x52, + 0x5b, 0xdd, 0xdf, 0xb8, 0x08, 0xa3, 0x38, 0xad, 0x96, 0xec, 0xb0, 0xbc, 0xd4, 0xe0, 0xef, 0xc1, + 0xa7, 0xfb, 0x63, 0xbd, 0x5c, 0x4f, 0x5b, 0x58, 0x48, 0x8c, 0x78, 0xcd, 0x64, 0x76, 0xbc, 0x40, + 0x27, 0xcf, 0xfe, 0xe1, 0xb7, 0xa0, 0xc2, 0xfe, 0x81, 0x8e, 0xd3, 0x83, 0x30, 0x6a, 0x41, 0x38, + 0x62, 0xbe, 0x2a, 0xc8, 0x45, 0xdc, 0x44, 0x03, 0x27, 0x12, 0x88, 0x45, 0x81, 0x1d, 0x2f, 0x07, + 0xfa, 0x9e, 0x46, 0x02, 0x62, 0xa7, 0xa1, 0x8d, 0xf1, 0x28, 0xaa, 0x32, 0x70, 0x42, 0xad, 0xc8, + 0x7f, 0x93, 0xb6, 0x24, 0x9a, 0xc6, 0x7d, 0x79, 0x45, 0x93, 0x98, 0xad, 0x4e, 0x31, 0xcb, 0x36, + 0xf7, 0xc4, 0x48, 0xce, 0x4b, 0x7e, 0x03, 0xf7, 0x53, 0x43, 0xa2, 0xb4, 0xb0, 0xc5, 0x9c, 0x6c, + 0xd8, 0x57, 0xde, 0xa2, 0x23, 0x5d, 0x3e, 0xfa, 0x2a, 0x96, 0x76, 0x9d, 0xb8, 0x48, 0x61, 0x44, + 0xbc, 0xe4, 0x46, 0xac, 0x17, 0x04, 0x03, 0x6b, 0xc8, 0x68, 0x65, 0x29, 0x2d, 0xa9, 0x8f, 0x07, + 0xd0, 0x38, 0x05, 0xf1, 0xfa, 0xca, 0x15, 0xca, 0xdb, 0xae, 0x2b, 0x1d, 0x6f, 0xb3, 0x4d, 0x7c, + 0x6a, 0x2c, 0x7c, 0x71, 0x0e, 0x5b, 0x0e, 0x76, 0xbf, 0xd7, 0x1f, 0xdf, 0xdf, 0x50, 0xcb, 0x95, + 0xe7, 0x06, 0xad, 0xbe, 0x47, 0x77, 0xae, 0x8e, 0x2c, 0x5b, 0x9f, 0x8e, 0x74, 0x09, 0x5b, 0xd2, + 0xf6, 0xde, 0x2d, 0x51, 0xda, 0x9d, 0x03, 0x17, 0x36, 0x43, 0x5f, 0xf6, 0xad, 0xcd, 0xe1, 0xdb, + 0x23, 0x3c, 0x56, 0x87, 0xe9, 0x17, 0xe6, 0xe5, 0xc7, 0x32, 0xab, 0x96, 0xb0, 0xe4, 0x94, 0x25, + 0xaf, 0xa7, 0x95, 0x6d, 0x53, 0x96, 0xff, 0x02, 0x8b, 0xdd, 0x58, 0xbb, 0x8c, 0xf4, 0xf8, 0xba, + 0x4a, 0xd7, 0x9e, 0xa7, 0x5d, 0x35, 0xd6, 0x84, 0x6c, 0x52, 0xa6, 0xa9, 0xbe, 0xb7, 0xa8, 0xec, + 0xd1, 0x41, 0x7a, 0x67, 0x13, 0x57, 0xe5, 0xf0, 0xc8, 0xc4, 0xc0, 0x4c, 0x17, 0x42, 0x57, 0x0a, + 0x8e, 0x71, 0xf3, 0x19, 0xb0, 0xae, 0xf1, 0xdd, 0x2f, 0xa5, 0x48, 0xee, 0x3b, 0x1e, 0x09, 0x08, + 0xe8, 0x6f, 0xa9, 0x06, 0x07, 0x09, 0xc3, 0x77, 0x31, 0x23, 0x44, 0x90, 0xf6, 0xd4, 0x4e, 0x81, + 0xd1, 0xb2, 0x7f, 0x3e, 0xfd, 0x69, 0x53, 0xa2, 0x1f, 0x96, 0x26, 0x1b, 0x9f, 0x68, 0x8b, 0x21, + 0x4d, 0x53, 0x03, 0x11, 0xbb, 0xcc, 0xad, 0xa1, 0x15, 0xb5, 0x6a, 0xf6, 0x53, 0x94, 0xec, 0xd3, + 0xbb, 0x09, 0x1d, 0x05, 0xf1, 0xa0, 0xbe, 0x67, 0xc6, 0xb1, 0x16, 0xcb, 0x1a, 0x78, 0x01, 0xf0, + 0x24, 0xc9, 0x2a, 0xc0, 0x8d, 0x0f, 0x10, 0x92, 0x87, 0x27, 0x12, 0x9c, 0x89, 0x33, 0xa6, 0xc8, + 0xd6, 0x06, 0x58, 0xe6, 0x61, 0x95, 0x89, 0xb5, 0xdc, 0x6e, 0xc1, 0x80, 0xc3, 0x76, 0x2d, 0x97, + 0xef, 0x3f, 0xd8, 0x4f, 0x77, 0xce, 0x85, 0xc9, 0xfb, 0x76, 0xce, 0x0f, 0xb3, 0xfa, 0x8c, 0x58, + 0xe6, 0x44, 0xbf, 0x11, 0x64, 0x4a, 0xc0, 0xfd, 0x4a, 0xeb, 0x08, 0xcb, 0x62, 0x4b, 0xcb, 0xc1, + 0x22, 0x21, 0x74, 0xa1, 0x28, 0x64, 0x7d, 0x5b, 0xa1, 0xd1, 0x14, 0xf7, 0x75, 0x9b, 0x25, 0x53, + 0x22, 0xb6, 0x31, 0x1b, 0xa1, 0xa3, 0x5a, 0xa1, 0x01, 0x17, 0x03, 0x1b, 0x79, 0x59, 0xf4, 0xeb, + 0x1b, 0xf7, 0xe0, 0x1b, 0xac, 0x71, 0x4d, 0xaf, 0xf2, 0x6a, 0xf2, 0xfe, 0x7d, 0x37, 0x6e, 0x61, + 0x19, 0x7f, 0x72, 0x11, 0xdc, 0xca, 0x5d, 0xd0, 0x30, 0x7d, 0x5c, 0xf3, 0x74, 0x60, 0x10, 0xb9, + 0xdc, 0x8d, 0x0c, 0x33, 0x61, 0x80, 0x38, 0x1a, 0x7f, 0xab, 0xa9, 0xc4, 0x6f, 0x09, 0x58, 0xf8, + 0xe4, 0xda, 0xa0, 0x0e, 0xb5, 0xb5, 0xeb, 0xb5, 0xb6, 0x87, 0xac, 0x71, 0x59, 0xe7, 0x22, 0xb3, + 0xc6, 0xe2, 0x70, 0x95, 0x7a, 0x5c, 0xe4, 0xd1, 0x3c, 0xe4, 0x84, 0x17, 0xbc, 0x1d, 0xb2, 0xca, + 0x4e, 0x77, 0xfc, 0x53, 0x76, 0xfc, 0x78, 0x38, 0xee, 0x12, 0xc3, 0x8d, 0xe4, 0x4a, 0x3b, 0x00, + 0x28, 0xf4, 0xb4, 0xc2, 0xdb, 0x25, 0xb6, 0xd5, 0x1c, 0x36, 0x97, 0x33, 0xb1, 0x2c, 0x6c, 0x8e, + 0x99, 0x2d, 0x7b, 0xcb, 0x51, 0x50, 0x92, 0xeb, 0xcc, 0x87, 0xbf, 0x80, 0x1d, 0xa8, 0x00, 0x4f, + 0x4d, 0xe5, 0xeb, 0x7a, 0x81, 0x1f, 0x4f, 0x61, 0x5d, 0x89, 0xc6, 0x41, 0x1c, 0xd0, 0xb9, 0xa2, + 0x1d, 0x09, 0x08, 0xa2, 0x70, 0x27, 0x38, 0x89, 0x69, 0xad, 0xf6, 0x49, 0x84, 0xd6, 0x72, 0x24, + 0x7f, 0xb6, 0x70, 0x5e, 0x33, 0xd7, 0x72, 0x57, 0xff, 0x3d, 0x46, 0x44, 0xcb, 0x39, 0x0c, 0x14, + 0x3f, 0x2b, 0x77, 0xe9, 0x1a, 0xba, 0x35, 0xd1, 0x56, 0x9c, 0x2d, 0x4e, 0x24, 0x8c, 0xae, 0x81, + 0x8c, 0xb8, 0x1c, 0x5d, 0x23, 0x9d, 0x41, 0x59, 0x7b, 0x72, 0x61, 0xcf, 0x8c, 0x3a, 0xf3, 0x1b, + 0x12, 0x6a, 0xa1, 0x6f, 0xc7, 0xc6, 0x92, 0x85, 0x3b, 0x44, 0x74, 0x23, 0x17, 0x1f, 0x9d, 0xa8, + 0x76, 0x2d, 0xd7, 0x80, 0xd7, 0x66, 0xcf, 0x6f, 0x4d, 0x13, 0x22, 0xfe, 0x39, 0x47, 0xc4, 0x56, + 0x17, 0xea, 0xf3, 0xcf, 0x42, 0x22, 0xa5, 0x99, 0x9a, 0xde, 0x5c, 0xa2, 0x65, 0x44, 0xad, 0x90, + 0x18, 0xc8, 0x5c, 0xb5, 0x7e, 0x18, 0xa7, 0x2c, 0xde, 0xb0, 0x70, 0xb7, 0xa2, 0x47, 0x55, 0x14, + 0xcf, 0x4f, 0xc9, 0x6e, 0x5b, 0x6b, 0x01, 0xac, 0x86, 0xd0, 0x88, 0xc1, 0x5e, 0x68, 0xbd, 0x75, + 0x78, 0x1e, 0xde, 0xfb, 0xcc, 0x73, 0xb4, 0x53, 0x6a, 0xed, 0x90, 0x1d, 0x5a, 0x45, 0x59, 0x4f, + 0x29, 0x96, 0x2b, 0xb7, 0x67, 0x63, 0xa1, 0x9c, 0xcb, 0x3e, 0x8b, 0xd6, 0xb2, 0x7d, 0xc5, 0xeb, + 0x45, 0x20, 0x28, 0x44, 0xb4, 0xfd, 0xd3, 0x0e, 0xd1, 0xcf, 0x36, 0x42, 0xa7, 0xa2, 0xc6, 0x3f, + 0x32, 0x50, 0x56, 0xcc, 0x16, 0xd6, 0x06, 0x5f, 0xbe, 0x3c, 0x56, 0x71, 0xca, 0xb9, 0x47, 0x30, + 0xd5, 0x8e, 0x50, 0x5e, 0xc4, 0x0d, 0x15, 0x15, 0x95, 0x89, 0x27, 0x44, 0x72, 0x06, 0xc2, 0x09, + 0x63, 0x74, 0x43, 0x13, 0x04, 0x18, 0x8a, 0xbd, 0x78, 0x1e, 0x49, 0x8c, 0x8b, 0x7a, 0x8a, 0x83, + 0xd9, 0x45, 0x1f, 0x2f, 0xaa, 0x84, 0xe6, 0x11, 0xd4, 0x14, 0x3e, 0x64, 0x1a, 0x19, 0x83, 0x85, + 0xc8, 0x1f, 0xbe, 0xd0, 0x51, 0xca, 0x79, 0xd4, 0x6a, 0x21, 0x07, 0x54, 0x75, 0xac, 0x5d, 0x21, + 0x08, 0xe4, 0x2d, 0x54, 0x8b, 0x49, 0xfc, 0xfb, 0xd7, 0xdb, 0x95, 0xaa, 0x20, 0x36, 0x78, 0x16, + 0x97, 0xae, 0xd9, 0x55, 0x70, 0x6e, 0x54, 0xd3, 0xbb, 0x44, 0x00, 0x2a, 0x95, 0x6d, 0x75, 0x2b, + 0x81, 0x87, 0x16, 0x06, 0x9e, 0x5b, 0x83, 0x3e, 0xce, 0x26, 0x33, 0x77, 0x04, 0x61, 0x2e, 0x39, + 0x3e, 0x9c, 0x25, 0xa0, 0xc3, 0x4c, 0x0e, 0x3c, 0xbe, 0x79, 0x81, 0xe4, 0xad, 0x10, 0x86, 0xae, + 0x87, 0xeb, 0x81, 0x3e, 0xbe, 0xef, 0x62, 0x80, 0x5e, 0x78, 0x21, 0x4a, 0x48, 0x9c, 0xe5, 0x17, + 0x72, 0x2e, 0x6d, 0x99, 0xf0, 0x05, 0x11, 0xeb, 0x14, 0x0f, 0xf0, 0xf6, 0xa0, 0x49, 0xde, 0x5b, + 0x8e, 0x0a, 0xcd, 0x79, 0x4e, 0x89, 0x02, 0x92, 0x97, 0xb1, 0xde, 0xde, 0x37, 0xd1, 0xa3, 0x6c, + 0x50, 0xf6, 0xa2, 0x93, 0x04, 0x0c, 0xaa, 0x4b, 0xc0, 0x90, 0x34, 0x29, 0x0b, 0x0d, 0xb1, 0xb7, + 0xb6, 0x6c, 0x19, 0xab, 0x4c, 0xdb, 0xf1, 0xbf, 0xe3, 0xe4, 0x4e, 0xcb, 0x0e, 0xcc, 0xca, 0x66, + 0x11, 0x7e, 0x4c, 0x3a, 0x11, 0x1b, 0xd0, 0x7d, 0x2b, 0x5f, 0x3a, 0x02, 0x9b, 0x56, 0x52, 0x1e, + 0xa3, 0x1f, 0x1e, 0x74, 0xe0, 0x2a, 0xfd, 0xc5, 0x92, 0xdf, 0xca, 0xc2, 0x87, 0xcc, 0x43, 0x3f, + 0x5f, 0x19, 0xbd, 0xd1, 0x63, 0xb9, 0x3a, 0x06, 0xe3, 0xb8, 0xae, 0x2c, 0x79, 0x86, 0x1e, 0x0b, + 0xb8, 0xaf, 0x2c, 0xdd, 0xd7, 0xb5, 0x9e, 0x2e, 0xd0, 0x94, 0xb6, 0xaa, 0xa8, 0x0c, 0x94, 0x2e, + 0x4e, 0xac, 0x31, 0x93, 0xac, 0x29, 0xa7, 0xcb, 0xa9, 0xe9, 0x95, 0xed, 0xf5, 0xa8, 0xaa, 0x19, + 0xf8, 0x8f, 0xd8, 0x63, 0xaa, 0x1d, 0x80, 0x5b, 0x16, 0x1e, 0x12, 0x35, 0x27, 0x6d, 0x49, 0x88, + 0x47, 0x2a, 0x4a, 0x7a, 0xe4, 0x42, 0x45, 0x7d, 0x50, 0xf5, 0x99, 0x5d, 0x04, 0x89, 0x20, 0x3c, + 0x76, 0x47, 0xbd, 0xdf, 0x98, 0xea, 0x90, 0x24, 0xe9, 0x26, 0xd2, 0x45, 0x99, 0xa0, 0x00, 0x36, + 0x76, 0x92, 0x9d, 0xeb, 0x34, 0x3f, 0x4c, 0x5d, 0x3d, 0xe6, 0xc7, 0x7b, 0x5e, 0xff, 0x47, 0xcf, + 0xe6, 0xd9, 0x86, 0x6e, 0x45, 0x22, 0x49, 0xe5, 0xf0, 0xcf, 0x88, 0xea, 0x8f, 0x8d, 0x4e, 0xda, + 0xdf, 0x58, 0x96, 0x7a, 0x03, 0x5e, 0x43, 0x71, 0x29, 0x26, 0xcf, 0xae, 0x13, 0x54, 0xa2, 0x71, + 0xdc, 0x33, 0x6e, 0xd0, 0x0c, 0x14, 0xdc, 0x32, 0x36, 0x03, 0xca, 0x06, 0x74, 0x2f, 0x76, 0xd9, + 0x0f, 0x4e, 0xfd, 0x81, 0x32, 0x96, 0x6d, 0xbb, 0x80, 0xb8, 0x9c, 0x18, 0xf1, 0xf7, 0xb9, 0xab, + 0x7a, 0xce, 0x60, 0x16, 0x94, 0x4a, 0x5b, 0xc1, 0xf2, 0x58, 0xcd, 0x31, 0xdb, 0xed, 0x2f, 0x90, + 0x6b, 0x4b, 0xbd, 0xf3, 0x20, 0xea, 0x38, 0x3a, 0xe5, 0x27, 0xd2, 0x3d, 0xa9, 0xa7, 0xdd, 0x99, + 0xea, 0xf3, 0x44, 0xc5, 0x09, 0xc2, 0x4d, 0xb7, 0xa5, 0x48, 0x77, 0xd4, 0xf6, 0xb2, 0x6f, 0x5a, + 0x49, 0x75, 0x74, 0x44, 0x2a, 0xba, 0x0d, 0xbf, 0x46, 0x5b, 0x9c, 0x1d, 0x32, 0x20, 0x23, 0x12, + 0x15, 0x14, 0x56, 0xab, 0x83, 0xfd, 0x60, 0x90, 0x1a, 0xa8, 0x6e, 0x27, 0x08, 0x20, 0x41, 0x4e, + 0xe8, 0xad, 0x2e, 0x14, 0x06, 0x87, 0x1c, 0x8d, 0x39, 0x58, 0x72, 0xc1, 0x0b, 0x97, 0x21, 0x5f, + 0xbd, 0x2a, 0x01, 0x98, 0xf6, 0xa4, 0xc0, 0x9e, 0x07, 0x5c, 0x7e, 0xa7, 0x4c, 0xa8, 0x27, 0xdd, + 0x82, 0x5f, 0x92, 0x92, 0x43, 0x6a, 0x99, 0x1b, 0xe5, 0x08, 0xe9, 0x1a, 0xbc, 0x30, 0x01, 0x37, + 0x80, 0x96, 0xb7, 0x5b, 0x92, 0x03, 0xa8, 0x65, 0x57, 0x1d, 0xfd, 0xf5, 0x70, 0x54, 0x19, 0xa7, + 0x39, 0xb1, 0xd0, 0x1c, 0xea, 0x74, 0x5d, 0xe4, 0xa1, 0x28, 0xb2, 0xb3, 0xd3, 0x74, 0xce, 0x0f, + 0xcb, 0xc6, 0x60, 0xf3, 0x56, 0xa6, 0x8f, 0xe6, 0x28, 0x87, 0xd5, 0xf6, 0xdb, 0x1e, 0xf1, 0x16, + 0x71, 0x50, 0xdc, 0xb2, 0x60, 0x9c, 0x46, 0xba, 0x35, 0xc4, 0x0a, 0xe9, 0xe8, 0xdf, 0x2a, 0x3e, + 0xfc, 0x58, 0x25, 0xb0, 0x33, 0x0d, 0x50, 0x9f, 0xb7, 0xf9, 0x9d, 0xbe, 0xd1, 0xcd, 0xcc, 0x70, + 0x55, 0x38, 0xf6, 0x02, 0x68, 0x52, 0x01, 0x66, 0x2c, 0xdf, 0x03, 0x60, 0x28, 0x45, 0x3b, 0x36, + 0x4b, 0xf8, 0xbd, 0x95, 0x66, 0x8a, 0xda, 0xdf, 0xab, 0x4d, 0x52, 0xa9, 0xb6, 0x76, 0x99, 0x83, + 0x85, 0x1a, 0xd1, 0xb1, 0x98, 0xc7, 0x40, 0xb1, 0xcc, 0x04, 0x3f, 0x60, 0x79, 0xa6, 0x29, 0x26, + 0x23, 0x7b, 0x63, 0x4a, 0x89, 0x7d, 0x9b, 0x5e, 0xe5, 0xd6, 0x8c, 0xcc, 0x9a, 0xc5, 0x47, 0x9d, + 0xcf, 0xae, 0xe0, 0x8f, 0x66, 0x0b, 0x74, 0x40, 0xa1, 0xa5, 0xdf, 0xe2, 0x40, 0x52, 0xb5, 0xda, + 0xb6, 0xa4, 0x36, 0xbb, 0x0b, 0xfc, 0x6c, 0x05, 0x37, 0xe1, 0x2f, 0x41, 0x26, 0x28, 0xdf, 0x9b, + 0x4b, 0x6a, 0x55, 0xe5, 0x4b, 0xc1, 0xec, 0x81, 0x47, 0x9f, 0x71, 0x3f, 0xd0, 0x94, 0x21, 0x57, + 0x4b, 0x8c, 0x5f, 0x74, 0x3b, 0xf8, 0x74, 0xef, 0x3f, 0x92, 0xd3, 0x8c, 0x44, 0xc1, 0xdf, 0x6a, + 0xe7, 0x08, 0xd1, 0x56, 0xf6, 0x7e, 0x4f, 0xed, 0x37, 0x45, 0x56, 0xe3, 0xb8, 0xa2, 0x69, 0xe7, + 0x15, 0x7e, 0x28, 0xe3, 0xf8, 0xdf, 0xdd, 0x28, 0xf1, 0x1d, 0x16, 0xc6, 0xae, 0x60, 0x38, 0x98, + 0xd0, 0x00, 0xc4, 0x02, 0xcb, 0xc5, 0x1b, 0x6c, 0xe7, 0xc9, 0xda, 0x28, 0xd4, 0x2c, 0xea, 0x9d, + 0xae, 0xb9, 0x76, 0xe1, 0xfb, 0x66, 0x88, 0xf4, 0xb8, 0xf4, 0xf3, 0x63, 0x69, 0x8f, 0x28, 0xc0, + 0x59, 0x86, 0xff, 0x2b, 0xeb, 0x4a, 0x00, 0xba, 0x9e, 0xd8, 0x8e, 0x02, 0x9f, 0xdb, 0xe3, 0x43, + 0xe7, 0x91, 0xe7, 0x4a, 0x89, 0x9a, 0xb0, 0x53, 0xd1, 0x37, 0xfa, 0xd9, 0xcb, 0x0c, 0xca, 0x41, + 0xc1, 0xc8, 0xca, 0x04, 0x14, 0xa9, 0x95, 0x61, 0x9c, 0x3d, 0xde, 0xb9, 0xcf, 0xc6, 0x71, 0xfa, + 0x9c, 0xcc, 0xe6, 0x9f, 0x1c, 0x7f, 0xbd, 0xb5, 0x57, 0xee, 0xfa, 0xe8, 0x99, 0xb6, 0x10, 0xf9, + 0x9d, 0xbc, 0x38, 0x54, 0x51, 0xca, 0xab, 0x10, 0xa0, 0x57, 0xdf, 0xcc, 0x84, 0xd8, 0xd1, 0x97, + 0x81, 0xf7, 0x38, 0x55, 0xcc, 0x8e, 0x61, 0x35, 0xcf, 0xc0, 0x74, 0x52, 0x8e, 0xde, 0x3a, 0x6c, + 0x59, 0x90, 0x52, 0x6a, 0x43, 0x03, 0x40, 0x15, 0xd4, 0xc8, 0x96, 0x77, 0xcc, 0x59, 0x62, 0x3c, + 0xdb, 0x67, 0xd7, 0x20, 0xa8, 0x1c, 0x5e, 0xc4, 0x9d, 0x6e, 0x29, 0xf5, 0xc6, 0x7e, 0x1e, 0x3e, + 0x65, 0x1d, 0xe1, 0x86, 0x6b, 0xd1, 0xaf, 0xab, 0xaa, 0x76, 0x22, 0x0a, 0xe3, 0xd0, 0xa0, 0xeb, + 0xe4, 0x17, 0xb6, 0x61, 0x9f, 0xf5, 0x42, 0xde, 0xe2, 0x0b, 0xbe, 0x38, 0x59, 0xb6, 0xb9, 0x0d, + 0xe2, 0x48, 0x47, 0x4e, 0xee, 0x19, 0x98, 0x38, 0x91, 0x6e, 0x24, 0x32, 0x35, 0x9e, 0xe0, 0x02, + 0x70, 0xb7, 0xef, 0x7d, 0xe1, 0x9d, 0x04, 0x39, 0xad, 0x07, 0x40, 0x32, 0xc2, 0xca, 0xed, 0xb1, + 0xa3, 0x89, 0x8c, 0xa8, 0x01, 0x4c, 0x4a, 0x16, 0xec, 0xbb, 0xd1, 0x13, 0x3a, 0xed, 0x71, 0x89, + 0x07, 0x8d, 0xa0, 0x8d, 0x3d, 0xa4, 0x2b, 0x66, 0x00, 0xec, 0xda, 0x32, 0xf4, 0xba, 0xe8, 0x3e, + 0x4d, 0x30, 0x28, 0x05, 0xd7, 0xe9, 0x94, 0xae, 0x87, 0x63, 0x44, 0xfc, 0x6c, 0x0b, 0x78, 0x31, + 0x97, 0xab, 0xe4, 0x1f, 0x59, 0x75, 0xa2, 0x59, 0x08, 0x53, 0x79, 0x24, 0x07, 0x9d, 0x9d, 0xbf, + 0x50, 0xe5, 0x74, 0x2b, 0x12, 0x0d, 0x33, 0x4f, 0x6c, 0x66, 0x56, 0x8e, 0xdf, 0x3c, 0xf5, 0x76, + 0xbc, 0xb0, 0x70, 0x08, 0xa0, 0x8c, 0xb0, 0xf8, 0x44, 0x61, 0x0f, 0xe2, 0x76, 0xaf, 0xcb, 0xec, + 0x04, 0xc2, 0x67, 0x48, 0x9d, 0x4e, 0xe8, 0xa0, 0xcd, 0xc0, 0x7d, 0x82, 0x68, 0x49, 0xfd, 0x9f, + 0x09, 0x1c, 0xc2, 0xcd, 0x52, 0x07, 0x2d, 0x2b, 0x97, 0xe9, 0x3b, 0xe4, 0x12, 0x0f, 0x12, 0xaf, + 0x8f, 0x66, 0x70, 0x34, 0x19, 0x9c, 0xfe, 0x5d, 0xd9, 0xf1, 0xdd, 0x6e, 0x70, 0x16, 0x98, 0x12, + 0x02, 0xff, 0x7a, 0xf6, 0x01, 0xc2, 0x49, 0x90, 0xaa, 0xd2, 0xcd, 0xc0, 0xe1, 0xe5, 0x83, 0xe5, + 0xe0, 0x5d, 0xa9, 0x73, 0xfa, 0x6f, 0x20, 0x91, 0x9e, 0xf3, 0xc4, 0x03, 0xe7, 0xe0, 0x38, 0x78, + 0x19, 0x3e, 0x34, 0x21, 0x97, 0x93, 0xf9, 0x39, 0x66, 0xcc, 0x55, 0xf4, 0xd0, 0xd0, 0x17, 0x1a, + 0xa4, 0x5b, 0x8c, 0x01, 0x97, 0xac, 0xce, 0xd3, 0x5e, 0x53, 0xc2, 0x02, 0xb0, 0x4a, 0xfc, 0x62, + 0x35, 0xbf, 0xfe, 0xf1, 0x2c, 0xfd, 0x9e, 0x64, 0xec, 0x22, 0xdf, 0x83, 0x02, 0xc2, 0xc4, 0x22, + 0xbc, 0x1b, 0x17, 0x5a, 0xda, 0x42, 0x4f, 0x2f, 0xc5, 0x53, 0x1f, 0x1a, 0xf7, 0x5e, 0x91, 0x8d, + 0x88, 0xd0, 0xef, 0x10, 0x60, 0xa4, 0xdd, 0x77, 0x3d, 0x13, 0xd6, 0x24, 0xc1, 0x23, 0x0d, 0x7f, + 0x7b, 0xe1, 0x0e, 0x16, 0x29, 0x12, 0x7e, 0x9a, 0x2f, 0x71, 0xc5, 0x37, 0xa5, 0xa2, 0xa7, 0xd5, + 0xe9, 0x41, 0x9b, 0xaf, 0xe8, 0xf4, 0xea, 0xc2, 0xb4, 0xe9, 0x5f, 0x66, 0x41, 0xf8, 0x9b, 0x3f, + 0x43, 0x32, 0x70, 0x9f, 0xa0, 0x14, 0x67, 0x4e, 0xa4, 0x28, 0xb6, 0x85, 0x32, 0x03, 0x2c, 0x29, + 0xc7, 0x4f, 0xa6, 0x74, 0x94, 0x5b, 0xa8, 0x5c, 0x95, 0x1f, 0x1c, 0x5b, 0x69, 0xfc, 0x30, 0xc5, + 0x8d, 0x34, 0x7c, 0xf6, 0xd8, 0xad, 0x60, 0x14, 0x9c, 0x18, 0x2d, 0x50, 0x50, 0x4f, 0xf8, 0x0c, + 0xe6, 0xc5, 0x92, 0x7c, 0x9c, 0x38, 0xd8, 0xac, 0x44, 0x2f, 0x9f, 0x8f, 0x5a, 0x9c, 0x54, 0x66, + 0x77, 0x75, 0xb4, 0xbf, 0xf9, 0x8a, 0xda, 0x8e, 0x2a, 0xee, 0xfe, 0x8c, 0x5b, 0xef, 0x57, 0xc9, + 0x24, 0xe7, 0x19, 0x65, 0x6a, 0x02, 0x83, 0x5a, 0x76, 0x1a, 0xae, 0xbb, 0xfe, 0x90, 0xb0, 0x35, + 0x57, 0xc1, 0x28, 0x5b, 0x62, 0x7c, 0x89, 0x47, 0x2c, 0xe3, 0xa3, 0x34, 0x0b, 0x54, 0x10, 0x11, + 0x5c, 0x46, 0x26, 0x8b, 0x3b, 0xe6, 0xe0, 0x95, 0x06, 0x38, 0xea, 0x82, 0x35, 0xa2, 0x9d, 0x03, + 0x30, 0x7d, 0x95, 0x3c, 0xc4, 0xc0, 0xf5, 0x23, 0x8d, 0x92, 0x6b, 0x09, 0xa7, 0x5c, 0xc3, 0x06, + 0x6c, 0x43, 0xd8, 0x7c, 0xd7, 0x65, 0x9a, 0x7c, 0xbe, 0x8c, 0xd2, 0xec, 0x45, 0x7c, 0x25, 0xe4, + 0x0e, 0x5a, 0x07, 0xff, 0x51, 0xab, 0x5a, 0x8d, 0xa9, 0x27, 0xa5, 0x58, 0x8e, 0xd7, 0x6f, 0xed, + 0xfe, 0x9b, 0x54, 0x86, 0x37, 0xd2, 0xd8, 0xb2, 0x29, 0x6c, 0x2b, 0x4e, 0x99, 0x2c, 0x59, 0xd7, + 0x17, 0xf5, 0x23, 0x30, 0x0b, 0x9a, 0xc3, 0x67, 0xf4, 0x63, 0xfc, 0xf0, 0x35, 0x14, 0x67, 0xa4, + 0xd5, 0xa7, 0xd7, 0x9d, 0xef, 0x25, 0x2b, 0xc8, 0x1e, 0x7e, 0x44, 0x83, 0x0a, 0x7b, 0x64, 0x16, + 0xaf, 0x7e, 0x99, 0x9c, 0xc9, 0x33, 0xbc, 0x09, 0xc8, 0x5f, 0x22, 0x41, 0xfb, 0xe1, 0x0c, 0xea, + 0xfa, 0x16, 0x74, 0x6c, 0x2c, 0xb5, 0xa8, 0xa2, 0xb1, 0x41, 0x12, 0xf6, 0xe6, 0xb5, 0x68, 0x94, + 0xa6, 0x9a, 0x36, 0x30, 0x8d, 0x2f, 0x6c, 0xa1, 0x4a, 0x16, 0x4b, 0xfc, 0xa0, 0xb0, 0x94, 0x1f, + 0xfd, 0xf3, 0x18, 0xf6, 0xcf, 0xba, 0xb7, 0x4f, 0x75, 0xa0, 0x41, 0xad, 0x49, 0x3a, 0xae, 0xc1, + 0x0a, 0x52, 0x7b, 0xde, 0x8e, 0xe9, 0x10, 0xd1, 0xa9, 0xa6, 0x0e, 0x62, 0x96, 0xd1, 0x33, 0x2d, + 0xad, 0x09, 0xb2, 0x3f, 0xa3, 0x1d, 0x56, 0x9c, 0x1a, 0x6b, 0xfc, 0xd7, 0xcb, 0xbd, 0x8c, 0xe6, + 0x74, 0x72, 0x6d, 0x90, 0xda, 0x29, 0x94, 0x09, 0x0c, 0x57, 0x3d, 0xa7, 0x79, 0x4e, 0x7c, 0xfd, + 0x1a, 0x0b, 0x72, 0xce, 0x15, 0x06, 0x85, 0xbb, 0xa5, 0xc6, 0x50, 0xa7, 0x8a, 0x7e, 0x5e, 0x20, + 0xa5, 0x17, 0xcb, 0x58, 0xe4, 0x23, 0x27, 0xbb, 0x24, 0xac, 0xef, 0x04, 0x30, 0xcb, 0x8c, 0xd4, + 0x67, 0x41, 0x1a, 0xaa, 0x0e, 0x40, 0x43, 0x6f, 0x06, 0x9d, 0xb7, 0x02, 0x17, 0x6b, 0xd8, 0xd3, + 0x9c, 0x6c, 0x4b, 0xf0, 0x79, 0x14, 0x88, 0x6a, 0xc5, 0x63, 0xc9, 0x4d, 0x5a, 0x5a, 0x73, 0xd2, + 0xc4, 0x24, 0xdf, 0xe2, 0x01, 0x4e, 0x15, 0x4f, 0x75, 0x47, 0x7c, 0x94, 0x2d, 0xa5, 0x7b, 0xfc, + 0x14, 0x12, 0x93, 0xe1, 0x99, 0x56, 0x7a, 0x91, 0xfe, 0xb1, 0xe3, 0x27, 0x40, 0xd4, 0x23, 0xdf, + 0x8f, 0x1f, 0x84, 0x75, 0x0f, 0x0d, 0x58, 0x09, 0x2e, 0x5a, 0xca, 0xcc, 0x16, 0xff, 0x53, 0x51, + 0xb3, 0x0f, 0x1f, 0x52, 0x54, 0x82, 0xf0, 0xb7, 0x64, 0x40, 0x65, 0xf4, 0xea, 0xb0, 0x3e, 0x05, + 0x24, 0x82, 0xae, 0x48, 0x78, 0xc6, 0xc7, 0x4c, 0xd3, 0xbd, 0xb6, 0x67, 0x8b, 0xec, 0xc7, 0x31, + 0x04, 0xa5, 0x2b, 0xe6, 0xa3, 0xd2, 0x72, 0xe7, 0x01, 0xa2, 0x06, 0x19, 0x1b, 0xe5, 0x55, 0x4a, + 0xc4, 0xb7, 0x2e, 0x0c, 0xbf, 0xc5, 0x68, 0xe6, 0xb0, 0x27, 0x94, 0x78, 0xa0, 0xf9, 0x22, 0xd1, + 0x13, 0x91, 0x6b, 0x30, 0xbb, 0x5f, 0x15, 0x3f, 0xfb, 0xef, 0x4d, 0x0c, 0x8f, 0x9b, 0xd3, 0xea, + 0x3c, 0xca, 0xf2, 0xde, 0xe9, 0xfb, 0x86, 0xfb, 0xb5, 0x1c, 0x3b, 0x9d, 0x1b, 0x42, 0x00, 0xe5, + 0xd5, 0x00, 0xe2, 0x1a, 0x72, 0xad, 0x6f, 0x6c, 0x2d, 0x6a, 0x42, 0x9e, 0xa8, 0xae, 0x73, 0x2b, + 0x71, 0x3d, 0xb9, 0x73, 0xae, 0x41, 0x73, 0xee, 0x44, 0x97, 0xcf, 0x7d, 0xc7, 0x1c, 0x79, 0x76, + 0xa7, 0x23, 0xec, 0x2d, 0xa9, 0xfb, 0x1f, 0xfb, 0x9a, 0x98, 0x7b, 0xb6, 0x2e, 0xb0, 0x70, 0xa5, + 0x9c, 0x42, 0xd3, 0x2c, 0xe9, 0xa0, 0xe6, 0x00, 0x1d, 0x2e, 0x4d, 0x12, 0x1e, 0x3e, 0xad, 0x00, + 0x91, 0xcf, 0xc3, 0x45, 0x9a, 0x0f, 0x8f, 0xc9, 0x22, 0xc6, 0x5e, 0xa2, 0x3b, 0x89, 0xa3, 0x9c, + 0xe1, 0x3b, 0x36, 0x2b, 0x33, 0x20, 0x6b, 0x31, 0x2b, 0x91, 0x5a, 0x38, 0x95, 0xf8, 0xf6, 0x7d, + 0x51, 0xb3, 0x1a, 0xf6, 0xe8, 0x47, 0xa3, 0x10, 0xec, 0xb6, 0x71, 0xbe, 0xf4, 0x4f, 0x25, 0x67, + 0xf2, 0x88, 0xa1, 0xed, 0x72, 0x4b, 0x7a, 0xea, 0xe9, 0x8a, 0xb1, 0xdb, 0xd2, 0x6c, 0x09, 0xd3, + 0x03, 0x06, 0x00, 0xec, 0xeb, 0x9b, 0x0c, 0x7a, 0x5a, 0x3d, 0xe8, 0x88, 0x33, 0x9a, 0x1f, 0x4e, + 0x50, 0x7d, 0x5a, 0x1c, 0x2b, 0xf5, 0x1d, 0x24, 0x7b, 0x92, 0x60, 0xd3, 0xe6, 0x88, 0xcd, 0x0c, + 0x99, 0x6b, 0x51, 0xa8, 0x58, 0xd8, 0x9f, 0x0e, 0x1d, 0xa0, 0xc4, 0xd5, 0x9b, 0x8a, 0xa8, 0xe4, + 0x97, 0x11, 0xde, 0xa7, 0x03, 0x52, 0x9a, 0xcf, 0xdd, 0x86, 0x92, 0x78, 0x4b, 0x52, 0xd0, 0x7d, + 0xcf, 0x11, 0x89, 0x70, 0x1e, 0x16, 0x1c, 0x3c, 0x3d, 0x1e, 0x81, 0x97, 0x7c, 0xb2, 0x7a, 0xf1, + 0x2e, 0x07, 0xfa, 0x6d, 0x4e, 0x27, 0xa9, 0x45, 0xbc, 0xfc, 0x02, 0x68, 0x72, 0x23, 0xe0, 0xff, + 0x23, 0xd8, 0x13, 0x83, 0x6a, 0xfd, 0xf4, 0x8a, 0x25, 0x23, 0x31, 0x97, 0xee, 0x46, 0x60, 0x3a, + 0xc5, 0xb4, 0x29, 0xb0, 0x80, 0x76, 0x92, 0x60, 0xde, 0x04, 0x62, 0x18, 0x52, 0x28, 0xcb, 0x90, + 0x3c, 0x85, 0x5f, 0xea, 0xea, 0xb6, 0xc5, 0x4a, 0xc3, 0x89, 0x17, 0x22, 0x69, 0x64, 0xa0, 0xa6, + 0x2c, 0x2e, 0x5d, 0xb9, 0xd6, 0x33, 0xa9, 0x10, 0x35, 0xe4, 0x3e, 0x7e, 0xa7, 0x4a, 0x14, 0x8b, + 0x67, 0x38, 0xe2, 0x0f, 0xc0, 0x71, 0xd3, 0x40, 0x58, 0x19, 0x06, 0x92, 0xa3, 0x79, 0x0d, 0xd6, + 0xd1, 0x4d, 0xd8, 0x4c, 0x99, 0x47, 0x72, 0x78, 0xff, 0x6a, 0x71, 0xce, 0xbf, 0xf5, 0x06, 0x85, + 0xef, 0x8b, 0x15, 0x78, 0xa9, 0xba, 0x20, 0x49, 0x9f, 0xae, 0x6f, 0xbd, 0x1f, 0xd0, 0x22, 0x59, + 0x03, 0x63, 0x84, 0xa8, 0x6f, 0x1d, 0x17, 0x7b, 0xb5, 0x54, 0x69, 0x11, 0x14, 0x63, 0xe7, 0x0d, + 0xb2, 0x32, 0xe4, 0x82, 0xfd, 0xf6, 0xb0, 0x77, 0x1a, 0xb1, 0xdd, 0xd6, 0xa2, 0x0a, 0xe1, 0x8f, + 0x56, 0xb0, 0x81, 0x33, 0x3a, 0x37, 0xee, 0x6b, 0x5f, 0x19, 0x70, 0xa5, 0xc2, 0x98, 0xd6, 0x8f, + 0xf9, 0x3e, 0x56, 0x5f, 0x0b, 0x43, 0x1d, 0x75, 0x21, 0xcd, 0x9a, 0xbc, 0xbc, 0xfa, 0xff, 0x4c, + 0xe6, 0x1c, 0xe6, 0x78, 0xc3, 0xb5, 0x9b, 0x8f, 0x13, 0x0d, 0x3a, 0x5c, 0x65, 0x2b, 0xf2, 0x37, + 0x32, 0x7f, 0xe1, 0xae, 0xcb, 0xb4, 0x28, 0x30, 0xd8, 0x03, 0xbd, 0x6a, 0xb7, 0x13, 0x9a, 0xd2, + 0xfb, 0xfb, 0xa3, 0xe9, 0xa6, 0xe3, 0x96, 0x40, 0xb6, 0x6d, 0xb9, 0x6e, 0x79, 0x5d, 0xf6, 0xc5, + 0xe5, 0x30, 0xf5, 0x07, 0x5f, 0xf9, 0x1b, 0x0e, 0xe0, 0xbd, 0x11, 0x85, 0x0d, 0x0d, 0xea, 0x53, + 0x58, 0xad, 0x01, 0x83, 0x87, 0xba, 0x7a, 0x62, 0x10, 0x07, 0x56, 0x59, 0x5f, 0x91, 0x67, 0x40, + 0x52, 0x46, 0x6e, 0x3f, 0xa0, 0xcd, 0xe8, 0xf9, 0x1d, 0xbe, 0x59, 0x40, 0x98, 0xd4, 0x9b, 0xd2, + 0x11, 0x58, 0xd0, 0xfe, 0x13, 0xec, 0xe0, 0x64, 0x71, 0x0c, 0xeb, 0x54, 0xfe, 0x95, 0xe6, 0x87, + 0x82, 0x19, 0x08, 0xdb, 0x96, 0x72, 0xdd, 0xac, 0x3c, 0xd3, 0xb5, 0x0c, 0x2d, 0xb6, 0x05, 0x01, + 0x1f, 0x5b, 0xa3, 0xe9, 0xf6, 0x2e, 0x08, 0x70, 0x8a, 0xa6, 0xe1, 0xce, 0x90, 0xfc, 0x45, 0xd0, + 0xb0, 0x5e, 0xe6, 0x67, 0x23, 0x8d, 0x38, 0x1a, 0xfe, 0xfe, 0x8e, 0xa3, 0x14, 0xca, 0x9c, 0xaf, + 0xac, 0x89, 0xa8, 0x4a, 0x57, 0x1e, 0xc3, 0x59, 0x89, 0xd0, 0x2e, 0x6f, 0x9c, 0xc7, 0xf0, 0x40, + 0xea, 0x74, 0x4c, 0xbc, 0xab, 0xb0, 0x7c, 0x95, 0xdf, 0x6b, 0xba, 0x7a, 0x08, 0x8b, 0x88, 0x34, + 0x4e, 0x82, 0x88, 0x86, 0xba, 0xff, 0x4f, 0x47, 0xe3, 0x39, 0x66, 0x72, 0x29, 0xf9, 0x74, 0xef, + 0x2f, 0x8e, 0x85, 0x70, 0x8a, 0xe9, 0x56, 0x40, 0xf3, 0x8a, 0x95, 0x4d, 0x0e, 0x29, 0xe1, 0xbd, + 0x78, 0x73, 0x35, 0xfd, 0x7b, 0x93, 0x46, 0xd2, 0x37, 0xce, 0x8a, 0x72, 0x9c, 0x7f, 0x81, 0x57, + 0xe9, 0x42, 0x35, 0x05, 0xae, 0x67, 0x01, 0x3e, 0x6d, 0x47, 0x40, 0x54, 0xb8, 0x9c, 0xae, 0xfc, + 0x20, 0x4a, 0x3d, 0xfc, 0xc6, 0x01, 0x2f, 0x87, 0xfb, 0x6e, 0x4e, 0x94, 0x83, 0x2c, 0x23, 0x03, + 0xf2, 0xa6, 0xd3, 0x09, 0x3d, 0x3c, 0x96, 0x59, 0xc3, 0xf5, 0x54, 0x75, 0xf9, 0x71, 0xab, 0x3a, + 0xc7, 0x7e, 0x0e, 0x41, 0x04, 0xfd, 0x17, 0x32, 0xc7, 0xde, 0x80, 0x54, 0xbc, 0x60, 0xf3, 0x97, + 0xc2, 0x23, 0x14, 0x6b, 0x7c, 0x57, 0x05, 0xb9, 0x01, 0x7b, 0x05, 0x08, 0xa1, 0x41, 0xf1, 0xb3, + 0xee, 0xa6, 0x4d, 0x4a, 0xec, 0x17, 0x55, 0x87, 0xdb, 0x0e, 0xc1, 0xd9, 0xbe, 0x31, 0xf7, 0x1c, + 0x08, 0x2e, 0x25, 0xc2, 0x32, 0xe7, 0x4c, 0x64, 0x38, 0xed, 0x2c, 0xd1, 0xe8, 0x03, 0x4c, 0xde, + 0xda, 0x97, 0x2d, 0x3b, 0xd0, 0x16, 0xbf, 0xb0, 0xfd, 0x2c, 0x44, 0x1b, 0x08, 0x61, 0x72, 0xbd, + 0x3a, 0x00, 0x66, 0x72, 0x68, 0x28, 0x8b, 0xc7, 0xd2, 0xf2, 0x4a, 0x5f, 0xf1, 0xbe, 0x4d, 0x39, + 0xb2, 0xbc, 0x22, 0xdb, 0x20, 0x4c, 0xfe, 0x14, 0xb8, 0x35, 0xb6, 0x41, 0xea, 0x43, 0x56, 0x09, + 0x4f, 0x3f, 0x04, 0x85, 0x09, 0x20, 0xe3, 0xfa, 0x0d, 0xa8, 0xeb, 0x89, 0x6e, 0x8d, 0x26, 0x41, + 0xf1, 0x6f, 0x7e, 0xf2, 0x73, 0xcd, 0xef, 0x43, 0xeb, 0x0a, 0xd5, 0x4b, 0xcb, 0x18, 0xb1, 0x90, + 0xd4, 0xe9, 0x6d, 0xcb, 0xe0, 0x4e, 0x78, 0x72, 0xd5, 0x2c, 0x80, 0x5c, 0xd7, 0x06, 0xf4, 0xed, + 0xa6, 0xe5, 0x33, 0x94, 0xca, 0x6c, 0xe2, 0x61, 0x31, 0x2e, 0x5a, 0xfe, 0xb3, 0x2d, 0x0a, 0x16, + 0xd7, 0xd8, 0xde, 0x25, 0x5e, 0x1b, 0xef, 0x12, 0x6b, 0x4b, 0x16, 0x7d, 0xe7, 0x11, 0x0f, 0xfb, + 0x82, 0xc9, 0x49, 0x62, 0x18, 0x48, 0xf0, 0x25, 0xac, 0x71, 0x57, 0xab, 0xb3, 0xf2, 0xe9, 0x5c, + 0x92, 0xac, 0xbc, 0x89, 0x37, 0xc9, 0x80, 0xfa, 0xc0, 0xc8, 0xeb, 0x9b, 0xb9, 0x4c, 0x91, 0x97, + 0x3d, 0xe9, 0xbe, 0x14, 0x84, 0x8c, 0x9e, 0xa8, 0x16, 0x0c, 0xdb, 0xf1, 0x56, 0x6b, 0x85, 0xbd, + 0x3f, 0xb4, 0xa4, 0xc7, 0x37, 0x7c, 0xc2, 0x69, 0x1b, 0x6d, 0xde, 0x78, 0x62, 0x4d, 0xbf, 0xe9, + 0xd2, 0x43, 0xb5, 0x01, 0xcf, 0x90, 0x78, 0xe7, 0xb4, 0x13, 0x8d, 0x4c, 0x5d, 0x43, 0x6d, 0x4a, + 0x3d, 0x24, 0xa7, 0x23, 0x73, 0x0b, 0xc7, 0xdd, 0x66, 0x20, 0xcd, 0x63, 0x74, 0xd4, 0xde, 0x6a, + 0xb1, 0xfe, 0x43, 0x30, 0xd3, 0x39, 0xcf, 0x2f, 0x21, 0xaa, 0xe8, 0xe8, 0xf0, 0x13, 0xf6, 0x13, + 0x21, 0x37, 0x36, 0x6e, 0x4f, 0x4f, 0xc0, 0xb0, 0x52, 0xdc, 0xdd, 0xf0, 0xb0, 0xfd, 0xac, 0x41, + 0xf9, 0xa1, 0x17, 0xc6, 0x0b, 0x58, 0x50, 0x2b, 0x71, 0x1e, 0xe0, 0xec, 0x6e, 0x67, 0xfa, 0xca, + 0x1a, 0x3d, 0xb5, 0x07, 0x93, 0x8e, 0x6c, 0xbc, 0x43, 0xbb, 0x19, 0x19, 0x42, 0x98, 0xd5, 0x5f, + 0xc2, 0xca, 0x47, 0xad, 0x60, 0xb3, 0x1f, 0x84, 0x9e, 0xb1, 0x8f, 0x07, 0xd7, 0x3a, 0x6e, 0x73, + 0x7c, 0xfe, 0x85, 0x47, 0xbf, 0x4a, 0x2f, 0xdd, 0xb9, 0xe6, 0x40, 0xed, 0xfd, 0x52, 0x98, 0x4e, + 0x93, 0xf0, 0xdf, 0x10, 0xb7, 0xd3, 0x49, 0x85, 0x9a, 0x1b, 0xc2, 0x8a, 0x69, 0xb1, 0x85, 0xf2, + 0x7c, 0xc6, 0x80, 0xbf, 0x53, 0x32, 0x14, 0xaa, 0xde, 0x04, 0x1a, 0x80, 0xf3, 0x7c, 0xbe, 0xf3, + 0x47, 0x89, 0x16, 0xea, 0xce, 0x98, 0x92, 0xf7, 0xb8, 0xec, 0xf4, 0xe4, 0x59, 0xbe, 0x3b, 0x59, + 0x83, 0x92, 0x47, 0x10, 0x53, 0x63, 0xee, 0xc3, 0x35, 0x58, 0x6e, 0x64, 0x1f, 0x88, 0xa5, 0x3a, + 0x26, 0xac, 0xda, 0x3a, 0xc7, 0xe1, 0xe9, 0x06, 0x4c, 0x90, 0xee, 0x43, 0xf7, 0xcf, 0x31, 0xe7, + 0x6d, 0x0f, 0xcc, 0x31, 0x70, 0x3e, 0x35, 0x91, 0xbd, 0xf7, 0xd7, 0x0d, 0xca, 0xf1, 0xe3, 0x3b, + 0x1f, 0x5c, 0x83, 0xc8, 0x5d, 0x8b, 0x0c, 0x62, 0xe5, 0x26, 0x0b, 0x71, 0xce, 0x3b, 0xd1, 0x5f, + 0x5f, 0x3e, 0xde, 0x9e, 0xa3, 0x8d, 0x52, 0xd0, 0x19, 0x99, 0x36, 0x1a, 0x4d, 0xe7, 0xb4, 0xe0, + 0x8f, 0xbd, 0xe6, 0x81, 0x36, 0xad, 0x6f, 0x6f, 0xbc, 0x2a, 0x1d, 0x8e, 0xd9, 0x7d, 0x66, 0xa4, + 0xcb, 0x42, 0x19, 0x8f, 0x22, 0x0c, 0x57, 0x4f, 0xb4, 0xde, 0x99, 0xed, 0xf2, 0x3c, 0xa9, 0x5e, + 0x14, 0x04, 0x82, 0x13, 0xfe, 0xc3, 0xe2, 0x33, 0x95, 0xeb, 0xa2, 0x27, 0xbe, 0x58, 0xf4, 0x81, + 0x83, 0x40, 0x8e, 0xb7, 0x2c, 0x21, 0x83, 0xb8, 0x82, 0xe1, 0x6e, 0xd2, 0xf3, 0xba, 0xd8, 0x43, + 0xc6, 0x38, 0xc2, 0xc1, 0x2d, 0x3e, 0xa6, 0x4b, 0x4d, 0x3d, 0xb0, 0xd6, 0x7f, 0x78, 0xc6, 0xc9, + 0xc9, 0x0a, 0xf9, 0xe3, 0x4c, 0x89, 0x63, 0x96, 0xce, 0xb3, 0xee, 0x34, 0x39, 0xca, 0x15, 0x09, + 0x96, 0xfb, 0x0e, 0x50, 0xd7, 0xd6, 0xf4, 0xef, 0xd2, 0x43, 0x53, 0xf1, 0x5a, 0x2f, 0x21, 0x95, + 0x92, 0xc6, 0x98, 0x67, 0xb5, 0x26, 0xe5, 0x24, 0xfb, 0x8a, 0x7a, 0x9e, 0x8b, 0xbf, 0x05, 0x0c, + 0xb6, 0x59, 0x2f, 0x8c, 0x0c, 0x50, 0xf1, 0xe0, 0x05, 0xdc, 0xe2, 0x4a, 0x8c, 0x3a, 0x29, 0x5d, + 0x4c, 0x4b, 0x1b, 0x63, 0x44, 0xdb, 0x1b, 0x81, 0x4d, 0x92, 0x8a, 0xce, 0x8a, 0x01, 0x35, 0xf8, + 0x57, 0x59, 0x78, 0xde, 0xd1, 0x20, 0x31, 0x41, 0x40, 0x4d, 0x98, 0x02, 0xb6, 0x61, 0x62, 0xca, + 0x06, 0x4b, 0xa5, 0x6d, 0x05, 0xdf, 0x58, 0x53, 0x88, 0xee, 0xe5, 0xec, 0x0f, 0x72, 0x83, 0x3b, + 0x72, 0x79, 0x1a, 0x89, 0x71, 0x35, 0x0e, 0xbd, 0x91, 0x67, 0x2f, 0x61, 0x10, 0xfb, 0x5f, 0x24, + 0x97, 0xf9, 0xb3, 0x91, 0xb7, 0xb7, 0x84, 0xd6, 0x65, 0x09, 0x11, 0xf9, 0xa4, 0x53, 0x76, 0x61, + 0x9e, 0x38, 0x7d, 0xf9, 0xdf, 0xa0, 0x4a, 0x8f, 0x76, 0x98, 0xf9, 0xd3, 0xc8, 0x48, 0x02, 0xe2, + 0x86, 0x68, 0x8e, 0xec, 0xea, 0x24, 0xe2, 0x05, 0xf0, 0xe8, 0xd6, 0xf2, 0x47, 0x40, 0x44, 0xa9, + 0x4a, 0xe6, 0xdd, 0x7e, 0xcd, 0x1a, 0x07, 0x62, 0xee, 0xfc, 0x9c, 0xf4, 0xdd, 0xb5, 0xf5, 0x99, + 0x09, 0xac, 0xf7, 0xc2, 0xa4, 0xff, 0x91, 0xac, 0x87, 0xf0, 0x60, 0x92, 0x10, 0xf8, 0x27, 0xb7, + 0x36, 0x6c, 0x0f, 0x21, 0x9e, 0xf5, 0x3b, 0xfb, 0xa9, 0x48, 0xb8, 0xd7, 0x92, 0x4f, 0x6d, 0xf4, + 0xe8, 0x27, 0x4b, 0xc1, 0x6d, 0x86, 0x43, 0x54, 0x31, 0x53, 0xef, 0xbc, 0x3a, 0xd8, 0xfb, 0xbb, + 0x1b, 0xed, 0x09, 0x34, 0x7d, 0xc9, 0x70, 0x72, 0xa7, 0x66, 0xe1, 0x34, 0x25, 0xd6, 0x7f, 0x41, + 0xcf, 0xb9, 0x58, 0xfe, 0x0f, 0x09, 0x41, 0x30, 0xbb, 0x0a, 0xac, 0x1d, 0x2c, 0xdf, 0xf4, 0x41, + 0xf2, 0xbc, 0x92, 0x68, 0xcd, 0x57, 0x6c, 0x12, 0x90, 0x1f, 0x3d, 0xdd, 0x93, 0xf4, 0xd4, 0x58, + 0x9e, 0x07, 0x1a, 0x87, 0x02, 0x2b, 0x36, 0xed, 0x4d, 0x9d, 0xc8, 0x9a, 0xbe, 0x9b, 0xc4, 0x6a, + 0x71, 0xa2, 0xbb, 0x3a, 0x7a, 0x8b, 0x7f, 0xd6, 0x6c, 0x53, 0xef, 0xec, 0xb1, 0x9e, 0xdd, 0x6a, + 0x13, 0x7e, 0xf1, 0xf6, 0xbb, 0x33, 0xe1, 0x75, 0x4a, 0x5a, 0x2a, 0xf4, 0xff, 0x40, 0xca, 0x9a, + 0x6d, 0xed, 0xb7, 0x57, 0xe4, 0x78, 0x6b, 0xfa, 0xda, 0x07, 0xde, 0x97, 0xac, 0x2f, 0xcf, 0x34, + 0x89, 0x58, 0xd2, 0x95, 0x29, 0x77, 0x52, 0x2f, 0x6d, 0x83, 0x9f, 0xd4, 0xfd, 0x0f, 0x2a, 0x8a, + 0x89, 0x71, 0x51, 0x41, 0xa9, 0xf6, 0x1c, 0x08, 0xd3, 0x84, 0x04, 0x71, 0xfa, 0xff, 0x20, 0x86, + 0x50, 0x5a, 0x39, 0xbc, 0xe0, 0x03, 0xe2, 0x9e, 0x75, 0xca, 0x2d, 0xa3, 0xec, 0x54, 0xbe, 0x51, + 0x0a, 0xc0, 0xa5, 0xb2, 0xb5, 0x18, 0xd7, 0x06, 0xda, 0x05, 0x12, 0x2a, 0xf6, 0x6d, 0x1e, 0x0d, + 0x57, 0xed, 0x37, 0x9a, 0xed, 0x2a, 0xb3, 0xa6, 0xcd, 0x9f, 0x8b, 0x68, 0x02, 0x3b, 0x93, 0x86, + 0xf1, 0xc2, 0x7f, 0xfa, 0x5e, 0x1e, 0x7f, 0xda, 0xc5, 0xa9, 0x30, 0xda, 0x15, 0x07, 0x34, 0xe2, + 0x2b, 0xff, 0x16, 0x42, 0x6b, 0xee, 0x57, 0x67, 0x0b, 0xc2, 0xc7, 0xe9, 0x1d, 0x4d, 0x21, 0x13, + 0xf0, 0x49, 0x5b, 0xf8, 0xd4, 0xff, 0x8d, 0x0c, 0xc4, 0x99, 0x21, 0xc0, 0xb0, 0x16, 0x87, 0x94, + 0xef, 0xc4, 0x44, 0xdc, 0x70, 0x9b, 0x24, 0x88, 0xaf, 0x33, 0xa0, 0x8d, 0x3e, 0x9a, 0xeb, 0xbe, + 0x8d, 0x2b, 0x24, 0xe6, 0x62, 0xf7, 0x86, 0x87, 0x89, 0x8d, 0x98, 0x71, 0x35, 0x41, 0x61, 0x10, + 0xda, 0xe3, 0x1d, 0x55, 0x05, 0x7c, 0xef, 0xc1, 0x80, 0xeb, 0x1f, 0x4d, 0x2c, 0xc6, 0xb6, 0x9c, + 0x56, 0xc4, 0xb0, 0x4f, 0xe1, 0x0c, 0x71, 0x45, 0xa9, 0x04, 0x5c, 0x8e, 0x8e, 0x91, 0xe8, 0xd5, + 0x5c, 0xef, 0x44, 0x68, 0x37, 0x1a, 0x09, 0xcc, 0x4b, 0xe2, 0x2b, 0xaf, 0xab, 0xe6, 0xce, 0x5b, + 0xdd, 0x82, 0x9f, 0x55, 0x3a, 0xe5, 0xbe, 0x7f, 0x6f, 0x9c, 0x73, 0xd9, 0x35, 0xe3, 0x98, 0xd3, + 0x27, 0xb4, 0x28, 0xb0, 0xe7, 0xb9, 0xaf, 0xe5, 0x33, 0x27, 0x27, 0x37, 0xa2, 0x4e, 0xd9, 0x9c, + 0x19, 0x97, 0xb7, 0x94, 0xb7, 0xd3, 0x6f, 0x6c, 0x3a, 0xfe, 0x27, 0x0c, 0x78, 0x54, 0x35, 0x1e, + 0xdc, 0x39, 0x26, 0x26, 0x43, 0x32, 0x0b, 0xf1, 0x68, 0x1a, 0x4a, 0x13, 0x3b, 0xed, 0x66, 0xcd, + 0xfe, 0xc6, 0x84, 0x12, 0xa2, 0x98, 0xe1, 0x43, 0x93, 0x73, 0x8a, 0xa3, 0x2c, 0x8f, 0x7a, 0x5f, + 0x37, 0xe9, 0x4d, 0x60, 0x1c, 0x46, 0xf0, 0x94, 0x41, 0xc0, 0xed, 0xbf, 0xf3, 0x07, 0x9b, 0x11, + 0x32, 0x0e, 0x9f, 0x43, 0xe1, 0xc3, 0x44, 0x5c, 0xbf, 0x32, 0xe7, 0x14, 0x8e, 0xf3, 0x69, 0x1d, + 0x57, 0xa1, 0x8e, 0x6a, 0x7b, 0xd8, 0xf6, 0x7c, 0x61, 0x80, 0x44, 0x6d, 0x29, 0xdf, 0xa9, 0x81, + 0xa2, 0x1a, 0x25, 0xba, 0x16, 0x3b, 0x92, 0xc2, 0x62, 0xde, 0x93, 0x1b, 0xc3, 0xa8, 0xc1, 0x4e, + 0x26, 0xbf, 0x89, 0x63, 0x50, 0xeb, 0xc0, 0x11, 0xd0, 0x75, 0xeb, 0xb7, 0xd1, 0xff, 0xa7, 0xbe, + 0xab, 0x54, 0x5a, 0xc7, 0x39, 0x7b, 0xe2, 0xed, 0x48, 0xcd, 0xb0, 0x54, 0xd0, 0xce, 0x68, 0xdf, + 0x37, 0xb8, 0x21, 0x1b, 0xda, 0x7a, 0x07, 0xb5, 0x95, 0x25, 0xff, 0xd5, 0x78, 0xf1, 0x98, 0x6e, + 0x37, 0x5f, 0x56, 0xf4, 0x49, 0xe7, 0x42, 0x82, 0xd4, 0xf4, 0xcb, 0x8e, 0x41, 0x90, 0xca, 0x71, + 0x9c, 0x08, 0x86, 0x63, 0x69, 0xba, 0xf9, 0xba, 0xb5, 0x68, 0xb6, 0xf0, 0xfa, 0x77, 0x41, 0xd6, + 0x23, 0x01, 0xfd, 0x8e, 0x3f, 0x36, 0x2d, 0x35, 0xe8, 0xa0, 0xc9, 0xf8, 0x8a, 0xe1, 0x15, 0xcb, + 0xee, 0x87, 0x25, 0x61, 0x0d, 0xb1, 0xda, 0x2d, 0x9f, 0xe2, 0x20, 0xd3, 0xa9, 0xb6, 0x97, 0x29, + 0xd4, 0x06, 0x09, 0x7f, 0x9a, 0x63, 0xb1, 0x09, 0x08, 0x12, 0x9b, 0x67, 0x40, 0x6c, 0x6c, 0xe9, + 0x54, 0x1b, 0x89, 0x5e, 0x7c, 0xfa, 0x1a, 0x32, 0xd1, 0x15, 0x4f, 0xf4, 0x96, 0xdf, 0xe2, 0xc7, + 0x3e, 0xb5, 0x68, 0x06, 0xe0, 0x0e, 0xeb, 0xae, 0x51, 0x6a, 0x96, 0x47, 0x2f, 0xb0, 0xac, 0x2a, + 0x63, 0x42, 0xb4, 0xd9, 0xb2, 0xc4, 0x58, 0xa0, 0xab, 0x6b, 0xa5, 0x6b, 0xd7, 0xaa, 0xfd, 0xed, + 0x21, 0x28, 0x36, 0xd7, 0xbb, 0x34, 0x0e, 0xbe, 0x5a, 0x2e, 0x59, 0x92, 0xd6, 0xde, 0x48, 0xed, + 0xec, 0x53, 0x62, 0xb8, 0x94, 0xfa, 0x7d, 0xe8, 0xe0, 0xeb, 0x94, 0xef, 0x65, 0x9a, 0x1e, 0x58, + 0xb8, 0xaf, 0x02, 0x81, 0x40, 0x34, 0x27, 0xc3, 0xe9, 0xcf, 0x13, 0xa1, 0x45, 0x85, 0x19, 0xa7, + 0x72, 0x52, 0xd6, 0x38, 0xc1, 0xa4, 0xdc, 0x35, 0x53, 0xd3, 0x00, 0x21, 0xea, 0x5e, 0xa0, 0x51, + 0x08, 0x23, 0x16, 0xd5, 0xc9, 0xad, 0x8a, 0xab, 0x07, 0xa1, 0x9c, 0xab, 0x47, 0x98, 0x54, 0x2c, + 0xde, 0x3c, 0x13, 0x8b, 0xda, 0x31, 0x76, 0xe7, 0x7d, 0xe1, 0x4d, 0x03, 0xb4, 0xc5, 0x3a, 0x04, + 0x95, 0x6d, 0x3e, 0xe9, 0xa3, 0x5a, 0x67, 0x05, 0x7d, 0xa2, 0x5e, 0x23, 0xd2, 0x14, 0x1b, 0x8d, + 0x90, 0x86, 0x24, 0x76, 0xfd, 0x0e, 0xc3, 0xca, 0xe5, 0x5d, 0xd3, 0xac, 0x01, 0xa6, 0xe4, 0x93, + 0x15, 0xda, 0x47, 0xde, 0x62, 0xdc, 0xed, 0xa7, 0x55, 0x3a, 0xf5, 0x80, 0x35, 0x93, 0x99, 0xee, + 0x6a, 0x87, 0x9e, 0x6c, 0xa0, 0x79, 0x9f, 0xcd, 0x1b, 0xff, 0x02, 0xe3, 0x58, 0x60, 0x6d, 0x19, + 0x95, 0xd4, 0xbb, 0xa1, 0xd1, 0xff, 0x89, 0xce, 0xe5, 0x3d, 0x61, 0x79, 0x73, 0xbd, 0x4a, 0x7a, + 0x15, 0x11, 0x83, 0x72, 0xec, 0x4d, 0xb2, 0xfa, 0xa8, 0xdd, 0x86, 0x78, 0xb7, 0x61, 0x01, 0x68, + 0xff, 0xe2, 0x4c, 0xa9, 0x62, 0x1b, 0x7e, 0x7e, 0xc9, 0x5e, 0xad, 0xc5, 0x38, 0x01, 0x98, 0x5c, + 0x9e, 0x2d, 0x30, 0x72, 0xca, 0x35, 0xc4, 0xdc, 0xe1, 0xff, 0x2c, 0x24, 0x52, 0xdd, 0xd7, 0x8a, + 0xb0, 0x6c, 0x14, 0x1d, 0x84, 0x97, 0x54, 0xa4, 0xe4, 0x6a, 0x0a, 0xc9, 0xf2, 0x49, 0xa8, 0xf4, + 0xff, 0xe0, 0xb5, 0x4e, 0xcb, 0xec, 0x6f, 0x51, 0xca, 0x13, 0x24, 0x94, 0x59, 0xaf, 0x2c, 0xba, + 0xd6, 0xb8, 0xe1, 0xea, 0x45, 0xcd, 0x75, 0xae, 0x6c, 0x2f, 0xd2, 0x4d, 0x21, 0x66, 0x59, 0x51, + 0x8c, 0xe9, 0xef, 0x5a, 0x8b, 0x56, 0x32, 0x18, 0xfd, 0xe0, 0xc3, 0xde, 0x33, 0x5c, 0x2e, 0xaa, + 0xe9, 0x59, 0x2d, 0xa1, 0x5e, 0x1d, 0x52, 0xe1, 0x71, 0x75, 0x8c, 0xe2, 0x04, 0xce, 0x3e, 0xd2, + 0x6a, 0x0d, 0x35, 0x56, 0x66, 0xc1, 0x60, 0x40, 0x1e, 0x22, 0x0c, 0x00, 0x5b, 0xed, 0xa3, 0x77, + 0x86, 0xe3, 0xd8, 0xb0, 0x84, 0xc7, 0xc4, 0x35, 0x61, 0xe0, 0x2d, 0x72, 0xd7, 0x10, 0xe3, 0xa7, + 0x27, 0x3e, 0xbe, 0x75, 0x3c, 0x21, 0x80, 0xcd, 0xf4, 0xff, 0xf6, 0x7d, 0x08, 0x08, 0x20, 0xf6, + 0xa4, 0x41, 0xe5, 0x55, 0x27, 0xab, 0xbd, 0x4a, 0xbe, 0x30, 0xde, 0x7b, 0x5f, 0xca, 0xba, 0x22, + 0xc0, 0x29, 0xfb, 0xfc, 0x94, 0xd1, 0xb9, 0x8c, 0xce, 0xff, 0xc6, 0x60, 0xe4, 0x4b, 0x8d, 0xec, + 0x11, 0xef, 0x19, 0xef, 0xff, 0xb7, 0x5e, 0x3c, 0x33, 0x28, 0x0a, 0x32, 0x3d, 0x15, 0x36, 0x47, + 0xd3, 0x50, 0xff, 0xcb, 0x7f, 0x6b, 0x28, 0xf9, 0x4f, 0x44, 0x8a, 0xb2, 0x24, 0x38, 0xf7, 0x8b, + 0x67, 0x91, 0x9d, 0x49, 0xd9, 0xfa, 0x4d, 0x96, 0xc6, 0xc8, 0x94, 0xcf, 0xb4, 0x72, 0x3f, 0x89, + 0xbd, 0xc0, 0x1d, 0xff, 0x06, 0xed, 0x86, 0x3b, 0xcb, 0x7e, 0x62, 0x02, 0xee, 0x7f, 0x40, 0x57, + 0x02, 0xc6, 0x03, 0x5f, 0x34, 0x68, 0xef, 0x83, 0x1d, 0x2a, 0xbd, 0x17, 0xfc, 0x2f, 0xb2, 0x63, + 0x4f, 0x37, 0x99, 0x40, 0x2e, 0x6d, 0x6b, 0x67, 0x77, 0x58, 0x35, 0x84, 0x0e, 0x9a, 0xd1, 0x15, + 0xbf, 0xdf, 0xa5, 0x35, 0x2f, 0x24, 0xcd, 0x8b, 0x4b, 0xb7, 0x5d, 0x7e, 0x97, 0xd8, 0xbc, 0x35, + 0x27, 0xd2, 0xc8, 0x89, 0x2d, 0x81, 0x8a, 0x26, 0x26, 0x28, 0x83, 0x21, 0x40, 0x26, 0x4f, 0x50, + 0x9f, 0xe0, 0xa3, 0x22, 0x2c, 0x2a, 0x16, 0x25, 0xfe, 0x84, 0xbd, 0x42, 0x1c, 0xc0, 0x3e, 0xd6, + 0xe9, 0xbe, 0x71, 0x76, 0xe0, 0x86, 0x84, 0x01, 0x3b, 0xfd, 0xf9, 0xb6, 0x22, 0x84, 0x12, 0x11, + 0x6b, 0x11, 0x29, 0x13, 0xc4, 0x37, 0x4a, 0x98, 0x9a, 0xe7, 0x67, 0x7d, 0x31, 0x0a, 0x49, 0x2d, + 0x62, 0x6d, 0xa9, 0x32, 0xc2, 0x69, 0x50, 0xef, 0xe3, 0x0f, 0x87, 0x61, 0x2a, 0x65, 0xcf, 0x38, + 0xbc, 0x73, 0x59, 0xf2, 0x82, 0xe8, 0x00, 0xd4, 0x62, 0xbe, 0x65, 0xaf, 0x52, 0x81, 0xfd, 0xc7, + 0xd2, 0xe0, 0x74, 0x1c, 0xc9, 0x6f, 0x54, 0x96, 0xfc, 0x15, 0x31, 0x14, 0x3e, 0x68, 0xd1, 0x31, + 0x46, 0xdf, 0xda, 0xc5, 0x53, 0xb6, 0x5f, 0x44, 0x55, 0x69, 0x96, 0x0b, 0xe5, 0xf0, 0x05, 0xbb, + 0xd7, 0x71, 0x7a, 0xd2, 0x56, 0x5e, 0x25, 0xed, 0x8b, 0xa9, 0x52, 0x9a, 0x9e, 0xe9, 0xd0, 0x2d, + 0x14, 0x5b, 0x07, 0x7c, 0xaa, 0x48, 0xac, 0xf9, 0x7c, 0x2d, 0x25, 0x4e, 0xe1, 0x1d, 0xb0, 0x6d, + 0xd6, 0x29, 0x40, 0x8e, 0x3d, 0xe5, 0x4e, 0x38, 0x6e, 0xac, 0xfe, 0x2f, 0xee, 0x53, 0xab, 0x90, + 0xf6, 0x3b, 0x55, 0x51, 0x5d, 0x4a, 0x6e, 0x63, 0xa9, 0xaf, 0x28, 0xc2, 0x08, 0x24, 0xed, 0x68, + 0x49, 0xed, 0x45, 0x12, 0x5d, 0x0c, 0x6f, 0xff, 0x3a, 0xe4, 0xf6, 0x1a, 0x81, 0x97, 0xcf, 0xf9, + 0xdf, 0x57, 0x5d, 0xef, 0xc1, 0x20, 0xff, 0xfe, 0x13, 0xa5, 0xe3, 0xf2, 0xc3, 0x4e, 0x52, 0xb2, + 0xdf, 0x40, 0xa4, 0x78, 0x81, 0x72, 0xa7, 0x06, 0x92, 0xe7, 0xa3, 0x00, 0xe2, 0x2e, 0xca, 0x86, + 0xa1, 0x72, 0x5c, 0x1b, 0x5a, 0xc4, 0xf5, 0x2c, 0x7a, 0xd6, 0x35, 0xbf, 0x4d, 0x67, 0xba, 0x23, + 0xc5, 0x29, 0x63, 0xae, 0x5d, 0x5b, 0x82, 0x4c, 0xb1, 0x02, 0x81, 0x0f, 0x16, 0x0e, 0x1d, 0x2a, + 0x47, 0xb7, 0xa3, 0x9c, 0x64, 0xe1, 0xf3, 0x68, 0x73, 0xa8, 0x56, 0xb8, 0x41, 0x39, 0x40, 0xd8, + 0x01, 0x9b, 0xe1, 0x10, 0xbf, 0x0f, 0x1e, 0x44, 0x5c, 0xc4, 0x64, 0x31, 0x92, 0x9b, 0x49, 0x13, + 0xbe, 0xc8, 0xe7, 0x8c, 0x22, 0x43, 0x45, 0x67, 0x72, 0x73, 0xfd, 0x36, 0x29, 0x8a, 0x28, 0xec, + 0xe4, 0xc6, 0x7f, 0x7c, 0x7b, 0x11, 0x61, 0x0f, 0xf0, 0x83, 0xbe, 0xd0, 0x5b, 0x48, 0xfe, 0xae, + 0x36, 0xc3, 0xe8, 0x43, 0xb5, 0xe8, 0xae, 0x8e, 0x53, 0x5e, 0x69, 0x94, 0x22, 0xad, 0xa6, 0xf9, + 0x8f, 0x16, 0x04, 0x58, 0x81, 0x85, 0x1d, 0x64, 0xa2, 0x3a, 0x52, 0x93, 0x09, 0x2f, 0x30, 0x1a, + 0xf2, 0x5c, 0x7b, 0xea, 0x1f, 0x42, 0x18, 0xf0, 0xb1, 0xcc, 0x49, 0x51, 0x24, 0x0b, 0x8d, 0x31, + 0x96, 0x10, 0x7e, 0xc5, 0x1c, 0xbb, 0x85, 0x44, 0xec, 0x21, 0x66, 0x9e, 0x37, 0xbf, 0x1f, 0x45, + 0x79, 0xf4, 0x10, 0x5a, 0x91, 0x2c, 0x66, 0x78, 0x55, 0x56, 0x52, 0xd1, 0x20, 0x35, 0xf0, 0xfd, + 0x28, 0x63, 0x0a, 0xe0, 0x72, 0x25, 0x36, 0x0e, 0x15, 0xf0, 0x31, 0x62, 0x26, 0x0b, 0xc4, 0x40, + 0x7f, 0xac, 0x84, 0xaa, 0xc0, 0x9c, 0xf8, 0xdd, 0x4b, 0xdd, 0xf0, 0x7a, 0xc7, 0x7b, 0x07, 0x86, + 0x60, 0xbc, 0x42, 0x3a, 0xab, 0xe9, 0x32, 0xe7, 0xf4, 0x8b, 0x8f, 0xa5, 0xa6, 0x26, 0x4e, 0x03, + 0xaf, 0x6b, 0x05, 0x35, 0x29, 0x28, 0x40, 0x74, 0x93, 0xdc, 0x30, 0x15, 0x53, 0x00, 0x7d, 0x28, + 0x9e, 0x3b, 0xb5, 0x24, 0x70, 0x9f, 0xff, 0xe3, 0xdc, 0xff, 0x41, 0xe5, 0x94, 0xcf, 0xd1, 0x08, + 0x65, 0xe5, 0x64, 0x28, 0xcb, 0xc3, 0x2d, 0x9a, 0x80, 0xdd, 0x15, 0x9f, 0x79, 0x01, 0xb5, 0x43, + 0x82, 0x8c, 0x57, 0x46, 0x04, 0x84, 0xd6, 0xce, 0xc4, 0x63, 0x14, 0xed, 0x2c, 0x86, 0x6b, 0x47, + 0x04, 0xcd, 0x77, 0x4e, 0xc3, 0x1f, 0x3f, 0x15, 0x31, 0x71, 0x6a, 0xb0, 0xb4, 0x48, 0x24, 0xff, + 0xb9, 0x51, 0xec, 0xd5, 0x2a, 0xa6, 0xf4, 0x14, 0x52, 0x34, 0x77, 0x1e, 0x0d, 0x11, 0xf2, 0xf9, + 0x48, 0x87, 0x36, 0xcb, 0x7e, 0x90, 0xee, 0xab, 0xf2, 0x50, 0xfc, 0x35, 0x2a, 0xe4, 0x57, 0xc1, + 0x95, 0x67, 0xac, 0xa4, 0xb6, 0x00, 0x56, 0xf7, 0x79, 0xd1, 0xce, 0x22, 0x4a, 0x1f, 0x34, 0x11, + 0x00, 0xbd, 0x9b, 0x51, 0xe9, 0x7d, 0x28, 0xc4, 0x0a, 0x30, 0x9b, 0x05, 0x9c, 0xd3, 0x27, 0xc7, + 0x84, 0xc4, 0x9c, 0x47, 0x8e, 0xf1, 0x59, 0xdd, 0x69, 0x42, 0x64, 0x1c, 0xee, 0xb0, 0x3e, 0x84, + 0xda, 0x7a, 0x15, 0x8d, 0xc8, 0x2a, 0x29, 0x4b, 0x27, 0x0b, 0x6f, 0x5a, 0xd9, 0x81, 0x0c, 0x71, + 0x31, 0xf4, 0xec, 0xfd, 0x39, 0x4f, 0xe2, 0x89, 0x0d, 0xb0, 0x0b, 0x05, 0x5f, 0xca, 0x99, 0xe3, + 0x1b, 0x2e, 0xab, 0xc1, 0xd0, 0x5b, 0x6a, 0x11, 0x49, 0xa5, 0xdd, 0x9f, 0xb5, 0x8d, 0xd6, 0x9a, + 0x8b, 0x0f, 0xf3, 0xb7, 0xfd, 0x9b, 0x1c, 0x20, 0xbc, 0xb5, 0x7e, 0xf8, 0xd7, 0x86, 0xac, 0x55, + 0xbb, 0x4c, 0x3b, 0x9b, 0x54, 0xf3, 0xd9, 0xfa, 0xfd, 0x61, 0x24, 0x26, 0xd7, 0x69, 0xaa, 0x61, + 0x6a, 0xac, 0xdd, 0x7b, 0xbf, 0x42, 0x51, 0x25, 0x6b, 0xc4, 0x9a, 0xd3, 0x07, 0xd3, 0x50, 0x91, + 0x9e, 0x11, 0xb2, 0x17, 0x35, 0xc6, 0x1c, 0xd4, 0xed, 0xa0, 0xaa, 0xe8, 0xec, 0xc6, 0x5c, 0xa7, + 0x9f, 0x82, 0x83, 0x6c, 0x51, 0x23, 0x9d, 0x5b, 0x9f, 0x4d, 0x01, 0x72, 0xf4, 0x73, 0x57, 0xbb, + 0x24, 0xa5, 0x97, 0x0c, 0x38, 0x17, 0x71, 0x07, 0x74, 0xb6, 0x59, 0xfc, 0xda, 0xe1, 0x9b, 0x1b, + 0x0d, 0x18, 0x57, 0x9c, 0x4d, 0x11, 0xf8, 0x4d, 0x93, 0x06, 0xf2, 0xbe, 0x2c, 0x33, 0x6b, 0x07, + 0x1e, 0x1e, 0xdc, 0x54, 0x5e, 0xa8, 0x95, 0x97, 0x70, 0x77, 0xea, 0x52, 0xc4, 0xef, 0x0f, 0x79, + 0x3b, 0x92, 0x78, 0x98, 0x7d, 0x14, 0x77, 0x86, 0xe1, 0x9e, 0x80, 0x55, 0x29, 0xdc, 0xfc, 0xbe, + 0x77, 0xb9, 0x1b, 0xb1, 0xb9, 0x10, 0x08, 0x6d, 0xcd, 0xea, 0x3b, 0xb8, 0x1b, 0xbc, 0x41, 0xf2, + 0x72, 0xff, 0x3e, 0xb8, 0x95, 0x32, 0x35, 0x49, 0x2a, 0xfb, 0xbc, 0xf1, 0x42, 0x4b, 0x9b, 0xab, + 0x2a, 0x9e, 0x91, 0xd6, 0x22, 0xdc, 0xe1, 0xdf, 0x97, 0xe0, 0x4b, 0x23, 0x74, 0x0d, 0xaa, 0xf3, + 0x24, 0x42, 0xb3, 0xd9, 0x4e, 0xdd, 0xbd, 0xfd, 0xfc, 0x06, 0x4d, 0xa4, 0x22, 0xf2, 0xa5, 0xa1, + 0x8e, 0x5b, 0x14, 0xb6, 0x64, 0x4e, 0x4e, 0x59, 0xfd, 0xd7, 0x44, 0xec, 0xbf, 0xaf, 0xc9, 0x89, + 0x4d, 0xd5, 0x5e, 0xc2, 0x0e, 0xbf, 0x8c, 0x87, 0x35, 0xc9, 0x95, 0x85, 0x1f, 0xd1, 0xff, 0x37, + 0xca, 0x38, 0xe7, 0xd1, 0x30, 0x5d, 0xe9, 0x29, 0x17, 0xb7, 0x22, 0xcd, 0x47, 0x62, 0x08, 0xdd, + 0x9f, 0xa0, 0x80, 0xab, 0x72, 0x64, 0x9a, 0x39, 0xda, 0x6f, 0xfb, 0xc4, 0x7d, 0x50, 0xc6, 0x68, + 0x4e, 0x2a, 0x9e, 0x8c, 0xf9, 0x00, 0x21, 0xa7, 0x51, 0xf5, 0xd6, 0x72, 0x65, 0xc7, 0x63, 0x71, + 0xdc, 0x14, 0x89, 0x22, 0xda, 0x1c, 0x85, 0x8e, 0xb0, 0xc8, 0xb2, 0x0d, 0x0c, 0xdd, 0x89, 0x30, + 0x5d, 0x52, 0x5e, 0xd8, 0x0a, 0xa2, 0x29, 0x91, 0x68, 0x92, 0xf1, 0xcb, 0x71, 0x69, 0xfe, 0x2c, + 0xb1, 0xe1, 0x3a, 0x92, 0x9b, 0x9e, 0xa0, 0x36, 0x66, 0x9b, 0xbe, 0xe2, 0xde, 0xe9, 0xc9, 0xed, + 0x22, 0x7e, 0xed, 0x53, 0x76, 0x6d, 0xb5, 0x36, 0x5e, 0x5b, 0xf9, 0xfb, 0x8f, 0x33, 0x99, 0xe3, + 0xca, 0xc8, 0x14, 0x1b, 0xcd, 0x58, 0x14, 0xfa, 0x27, 0x7d, 0x47, 0x3a, 0x2c, 0x09, 0x11, 0xef, + 0xfa, 0xcd, 0x7a, 0xa6, 0xa8, 0x3c, 0x8a, 0x86, 0xf0, 0xd3, 0x08, 0xbd, 0x79, 0xed, 0xa0, 0x7d, + 0xf6, 0x41, 0x5d, 0x5c, 0xb8, 0xe8, 0xd9, 0x11, 0x15, 0xf6, 0xf6, 0xfe, 0xf8, 0xeb, 0xaf, 0xf4, + 0x43, 0xc8, 0x4a, 0xe3, 0x5e, 0xc7, 0x9b, 0x5b, 0x89, 0xdc, 0x49, 0xaa, 0x75, 0x73, 0x1d, 0x14, + 0x3a, 0x12, 0x8d, 0x00, 0x7b, 0x36, 0x50, 0x31, 0x68, 0x8a, 0xdc, 0x13, 0xfe, 0xf2, 0xab, 0x40, + 0x61, 0xd7, 0x9e, 0xe9, 0x6e, 0x23, 0x0f, 0x17, 0xd7, 0x6a, 0x15, 0xc7, 0x0f, 0xea, 0x4a, 0x96, + 0xef, 0x36, 0xaa, 0x30, 0x4f, 0x94, 0xb8, 0x3a, 0xa1, 0x23, 0xec, 0xae, 0x05, 0xc2, 0x06, 0x25, + 0xd9, 0x7f, 0xec, 0xb9, 0x06, 0x2e, 0x57, 0x84, 0xe5, 0xca, 0xc1, 0xaa, 0xcc, 0x9d, 0x45, 0xcf, + 0x8b, 0x5c, 0x92, 0x64, 0xa5, 0x95, 0x8b, 0x3a, 0xca, 0xe5, 0x91, 0xf8, 0x07, 0x37, 0xb2, 0x81, + 0xcd, 0xd6, 0xfc, 0xd3, 0x86, 0xbf, 0xdd, 0xa3, 0x84, 0xe7, 0xa5, 0x36, 0xcb, 0xc4, 0x87, 0xb7, + 0x61, 0x97, 0x8e, 0x1f, 0x54, 0x4e, 0x47, 0xe3, 0x38, 0x8e, 0x31, 0x27, 0x5e, 0x33, 0x3d, 0xf2, + 0x65, 0xf7, 0x32, 0x9a, 0x1e, 0x2c, 0x79, 0xc2, 0x0c, 0xea, 0x1d, 0x8d, 0x58, 0x2d, 0x40, 0x12, + 0xbd, 0x6a, 0x70, 0xd6, 0x6a, 0x78, 0x7e, 0x50, 0x76, 0xc2, 0x46, 0x59, 0x5c, 0x6d, 0x47, 0x37, + 0xce, 0xfd, 0x69, 0xfd, 0x38, 0x00, 0x1c, 0x67, 0xef, 0xb2, 0x6c, 0x3c, 0x8a, 0x4e, 0xe0, 0x5a, + 0xae, 0xbf, 0xa1, 0x07, 0x3c, 0x63, 0x81, 0x97, 0xdf, 0x91, 0x64, 0xde, 0xa3, 0x27, 0x0a, 0x0d, + 0x8a, 0x4e, 0x25, 0x5b, 0x2f, 0x08, 0x96, 0x77, 0xf0, 0x91, 0xe4, 0xb2, 0x06, 0xf8, 0xa4, 0x56, + 0x1a, 0xe7, 0xce, 0x96, 0xd0, 0xcc, 0x66, 0xbb, 0x78, 0xc1, 0x5c, 0x8a, 0xd2, 0x3c, 0xbc, 0x81, + 0x3d, 0xf4, 0xa6, 0x4e, 0xda, 0x76, 0xf0, 0x39, 0xf4, 0x31, 0x05, 0x9c, 0x9b, 0x1f, 0x81, 0xa7, + 0xe7, 0xf2, 0x41, 0xc5, 0x51, 0xe1, 0xa7, 0x54, 0xea, 0x76, 0xf8, 0xfc, 0xe2, 0x11, 0x6a, 0x98, + 0xb5, 0x1f, 0x6a, 0x1c, 0x7a, 0xa6, 0x4e, 0x1d, 0x99, 0x67, 0xb3, 0x1c, 0xfb, 0x14, 0x13, 0x0c, + 0x3f, 0xf4, 0xa7, 0x63, 0x1e, 0x5c, 0x0d, 0xb8, 0xe1, 0xda, 0x18, 0xc4, 0x86, 0x56, 0x82, 0xaa, + 0x5b, 0x91, 0x79, 0xe4, 0xef, 0xba, 0xb5, 0xcd, 0x0f, 0x41, 0x09, 0xb5, 0x7f, 0x73, 0x01, 0xcb, + 0x9e, 0x4f, 0xdc, 0x6a, 0xac, 0x21, 0x17, 0xf3, 0x39, 0x5e, 0x8f, 0x29, 0xe4, 0x95, 0x9f, 0x09, + 0x26, 0xe9, 0x33, 0x44, 0xec, 0x3f, 0x59, 0x2d, 0xb2, 0x09, 0xde, 0xa1, 0x01, 0xea, 0xe5, 0x6c, + 0xbc, 0x48, 0x13, 0xad, 0x1e, 0xc8, 0x9d, 0xba, 0x3d, 0xde, 0x56, 0x5b, 0xb4, 0xc0, 0xcb, 0x9b, + 0x44, 0xe6, 0x13, 0x59, 0x63, 0x1f, 0xad, 0x32, 0x0d, 0x59, 0x9e, 0x04, 0xee, 0xdf, 0xa1, 0x92, + 0x99, 0x76, 0x0f, 0x44, 0xdc, 0xda, 0xcb, 0xc3, 0x46, 0xbb, 0x2d, 0xca, 0x24, 0x49, 0x6b, 0x92, + 0x7c, 0xa4, 0xe3, 0x6e, 0xf8, 0xc0, 0x82, 0x5a, 0x44, 0x15, 0x4c, 0x38, 0xfe, 0x33, 0xe1, 0x5d, + 0x8e, 0x0c, 0xaa, 0x66, 0x71, 0x78, 0x49, 0x0f, 0xdd, 0x2c, 0x1b, 0x7b, 0xe1, 0xf4, 0xea, 0xc4, + 0x74, 0xc8, 0x04, 0x06, 0x97, 0x44, 0x7d, 0x10, 0x5c, 0x13, 0x05, 0xc9, 0x01, 0x08, 0x60, 0xb7, + 0x3a, 0x4c, 0xea, 0xb5, 0x2e, 0xc8, 0x68, 0xcc, 0x99, 0x83, 0xd6, 0x83, 0xe4, 0xab, 0x03, 0x8a, + 0x97, 0xb1, 0xac, 0xc7, 0xc9, 0xf4, 0xdb, 0x9b, 0xa4, 0x68, 0x78, 0xbd, 0x20, 0x0e, 0xa5, 0x86, + 0xa2, 0x21, 0xb9, 0xee, 0x78, 0x88, 0xc2, 0xc3, 0x0d, 0x89, 0x5e, 0x55, 0x7f, 0x93, 0xc8, 0xce, + 0xb3, 0xb8, 0x89, 0xa6, 0xb2, 0x0a, 0x2f, 0xbe, 0xfd, 0x75, 0xe5, 0x3c, 0xa4, 0xab, 0xf1, 0xaa, + 0x2e, 0xf8, 0xe1, 0x85, 0x61, 0x58, 0xed, 0x51, 0x85, 0xaf, 0x5f, 0x0e, 0x79, 0x8b, 0xd9, 0xf1, + 0x7a, 0xd5, 0x0c, 0x77, 0x07, 0x83, 0xe6, 0x09, 0x7b, 0x9f, 0xa7, 0x87, 0x66, 0x2f, 0x6a, 0xa7, + 0xbc, 0x84, 0x30, 0x9e, 0xaa, 0x71, 0x21, 0xdf, 0x56, 0xda, 0x82, 0xa0, 0xf6, 0xf3, 0xcf, 0xcd, + 0x89, 0x0e, 0x42, 0xab, 0xcf, 0x69, 0xfe, 0x45, 0xb7, 0x63, 0xcf, 0x33, 0x8a, 0xa1, 0x93, 0x5e, + 0x19, 0x57, 0x18, 0x1d, 0xdd, 0xef, 0x7a, 0x82, 0xd4, 0xe2, 0xbe, 0x62, 0x0c, 0xb9, 0x49, 0x3d, + 0x87, 0xe0, 0x00, 0xa9, 0x97, 0xc0, 0xc6, 0xa4, 0xbe, 0xa9, 0x63, 0x82, 0x2a, 0x23, 0xb8, 0x76, + 0x00, 0x03, 0x8f, 0x17, 0x17, 0x4d, 0xe4, 0xc6, 0xb3, 0xf7, 0x4f, 0x52, 0x1e, 0x38, 0x9c, 0x9c, + 0xd6, 0x97, 0x7d, 0x74, 0x64, 0x3c, 0xc1, 0x5e, 0x9f, 0xd4, 0xfe, 0xc4, 0x1b, 0x9c, 0x8e, 0x62, + 0x51, 0x31, 0x78, 0x16, 0xdb, 0x55, 0x3b, 0x81, 0x8e, 0xbc, 0x2f, 0xc7, 0x0c, 0xe5, 0x3f, 0x93, + 0xd0, 0xde, 0xe9, 0x6d, 0xb4, 0xdc, 0x75, 0xbb, 0xb9, 0x01, 0x60, 0xb4, 0x16, 0xbe, 0x66, 0xba, + 0xf1, 0xca, 0x29, 0x22, 0xd2, 0x7b, 0x35, 0x03, 0x27, 0xc2, 0xfb, 0x0f, 0x9f, 0xdd, 0xeb, 0x5a, + 0x0f, 0xdb, 0xf1, 0xec, 0x64, 0x2d, 0x72, 0x2d, 0xca, 0x4f, 0x96, 0x84, 0x76, 0xe7, 0x50, 0x47, + 0x34, 0x31, 0x4a, 0xba, 0x47, 0x25, 0x43, 0x2c, 0xfe, 0xab, 0x1a, 0x95, 0xbf, 0xbb, 0xe7, 0x6d, + 0x0f, 0x7f, 0x4f, 0xcb, 0x7e, 0xe4, 0xa0, 0x14, 0x00, 0x1b, 0xa4, 0x3b, 0x8d, 0x9a, 0xc2, 0xbb, + 0x01, 0xfe, 0x79, 0xd2, 0xbd, 0x86, 0x94, 0x2e, 0x97, 0x33, 0xe4, 0xf1, 0x23, 0x26, 0x42, 0x9f, + 0x22, 0xdf, 0x2b, 0x72, 0x09, 0x9b, 0xbf, 0x8e, 0xc4, 0xbb, 0xec, 0x86, 0x29, 0xdb, 0xed, 0xc2, + 0x86, 0x06, 0x32, 0x68, 0x10, 0x2a, 0x5e, 0x4a, 0x0b, 0x2b, 0xab, 0xfb, 0x5e, 0x64, 0x60, 0xfe, + 0x5b, 0xdd, 0x44, 0x56, 0xff, 0x71, 0xae, 0xc6, 0x2b, 0x72, 0x06, 0xae, 0x5e, 0x2f, 0x81, 0x68, + 0xa4, 0x59, 0x23, 0xc9, 0x4a, 0x2f, 0x74, 0x95, 0x26, 0xb4, 0x7a, 0x12, 0xac, 0xe8, 0x6e, 0x6d, + 0x6d, 0xd6, 0x44, 0xd1, 0x9c, 0xa6, 0x3a, 0xf0, 0x9a, 0x74, 0x77, 0x39, 0x77, 0x64, 0x52, 0x66, + 0x01, 0x07, 0x59, 0xb3, 0xc6, 0xf8, 0x65, 0x4b, 0x46, 0xe4, 0x9c, 0xfd, 0x4f, 0x76, 0xea, 0xe0, + 0xbb, 0xd3, 0xb8, 0x94, 0x0c, 0xc2, 0x39, 0x5a, 0x1d, 0xbf, 0xd9, 0x33, 0x3f, 0x23, 0xd8, 0x43, + 0xe4, 0x84, 0x3a, 0x0a, 0xe6, 0x47, 0x0f, 0xf6, 0x2a, 0xcc, 0xb9, 0xf8, 0xc4, 0xb4, 0xb7, 0x3f, + 0xdd, 0x5d, 0x4e, 0x09, 0x3d, 0xf1, 0x35, 0x49, 0xe8, 0x3d, 0xcf, 0xab, 0x56, 0xe0, 0x96, 0x06, + 0xb0, 0xf4, 0xfd, 0xd4, 0x3d, 0x4f, 0xc6, 0x64, 0x1a, 0x95, 0xff, 0x68, 0x79, 0xe6, 0x9e, 0x3e, + 0x82, 0xda, 0xec, 0xbf, 0x2f, 0x90, 0xe8, 0x08, 0x71, 0x43, 0x10, 0x9b, 0x52, 0x84, 0x3f, 0x87, + 0xaf, 0xc6, 0xbe, 0x3b, 0x41, 0x22, 0x7d, 0xce, 0x9d, 0xbc, 0x17, 0x07, 0xd4, 0xc1, 0x40, 0xab, + 0x3a, 0x7a, 0x34, 0xfc, 0xb0, 0x79, 0x03, 0xb7, 0x62, 0xdb, 0x8f, 0xaa, 0xd6, 0x79, 0xae, 0xaa, + 0x05, 0xf8, 0x8e, 0x49, 0xd1, 0x18, 0x75, 0x09, 0xbc, 0x0b, 0xf1, 0x6c, 0xeb, 0x32, 0xd8, 0x36, + 0x2d, 0xe1, 0x03, 0x50, 0x44, 0x39, 0xff, 0xe5, 0x63, 0xfd, 0x64, 0x98, 0x29, 0x84, 0x73, 0x5f, + 0x31, 0x0a, 0xf4, 0xd2, 0x56, 0xb8, 0xae, 0x1a, 0xcf, 0x6a, 0xc2, 0xa3, 0x90, 0x78, 0xe5, 0x45, + 0xcd, 0x6e, 0xbc, 0x79, 0x58, 0x41, 0x9d, 0x68, 0x4e, 0x60, 0x80, 0x5c, 0x8d, 0xe7, 0x58, 0x0d, + 0x05, 0x91, 0x84, 0x5c, 0x9a, 0x34, 0x9d, 0x6f, 0x73, 0xf9, 0xf6, 0x38, 0x03, 0xd0, 0xb5, 0x91, + 0x47, 0x8f, 0x1b, 0xd1, 0xd9, 0x80, 0x75, 0x1d, 0x4f, 0x1e, 0x05, 0x68, 0xc4, 0x5d, 0x43, 0xdf, + 0x03, 0x5f, 0x7b, 0xc2, 0x90, 0x83, 0x1a, 0x0a, 0xd1, 0x2a, 0x16, 0x78, 0x9b, 0xc1, 0x0c, 0xb3, + 0x22, 0x68, 0x8f, 0x00, 0x5c, 0x0a, 0x25, 0xbe, 0x8d, 0x3e, 0xe0, 0xb1, 0x1b, 0xe7, 0x87, 0xd0, + 0x09, 0xd2, 0xa3, 0xbe, 0xa4, 0x2d, 0xd0, 0xc2, 0x8c, 0x88, 0xa9, 0x1f, 0x3d, 0xc7, 0x2c, 0x26, + 0x03, 0xfe, 0xbd, 0xa2, 0xfa, 0x07, 0x1a, 0x71, 0x79, 0xc7, 0x93, 0x58, 0xf7, 0xce, 0xf5, 0x96, + 0x8e, 0xc7, 0x19, 0x37, 0x93, 0x90, 0xa2, 0x61, 0xdf, 0x46, 0x00, 0x4c, 0xee, 0x72, 0x9e, 0xa4, + 0xa3, 0xf0, 0x67, 0xdf, 0xe5, 0x77, 0x56, 0xe2, 0xe0, 0xbd, 0xa3, 0x8b, 0xaf, 0xad, 0x7d, 0xae, + 0x8b, 0x5b, 0xe7, 0xea, 0x88, 0x8c, 0x9b, 0x4e, 0xba, 0xa7, 0x36, 0xa0, 0x48, 0x3e, 0x42, 0xd7, + 0xe2, 0xf3, 0xa1, 0xcd, 0x2b, 0xa4, 0x2d, 0x40, 0x1b, 0xb8, 0xa5, 0xce, 0x95, 0xa2, 0x36, 0x76, + 0x4e, 0x86, 0xcd, 0xfb, 0xfc, 0x1a, 0x2e, 0xc4, 0xe1, 0x46, 0x75, 0x27, 0xe4, 0x27, 0x44, 0x3a, + 0x23, 0x17, 0xd3, 0xc4, 0xec, 0x63, 0xa0, 0x89, 0xb4, 0x62, 0x4d, 0x8b, 0x5c, 0xfc, 0x6c, 0x53, + 0xda, 0x31, 0x4e, 0x5c, 0x31, 0x30, 0x9e, 0xb2, 0x6c, 0xac, 0x8c, 0xd9, 0x4a, 0x55, 0xeb, 0x4c, + 0x70, 0x8d, 0xa6, 0x6a, 0xed, 0xe5, 0xc6, 0xcc, 0xbd, 0xef, 0x76, 0x0e, 0xa6, 0x39, 0x92, 0xff, + 0x40, 0x94, 0x3a, 0xb9, 0xe0, 0xe7, 0xe8, 0xcb, 0xb6, 0x55, 0x52, 0x5d, 0xa5, 0x64, 0xb8, 0x7b, + 0xc4, 0x93, 0xb5, 0x71, 0x6f, 0xff, 0xc3, 0xa0, 0x91, 0x51, 0x12, 0xa1, 0x4d, 0x97, 0x89, 0x37, + 0xdb, 0xb4, 0x83, 0x71, 0xed, 0xdb, 0xa3, 0x5f, 0x0d, 0x15, 0x0a, 0x99, 0x21, 0x9f, 0x7f, 0x82, + 0x96, 0x63, 0xb3, 0xa7, 0x63, 0x94, 0xc2, 0xd1, 0xa5, 0x0c, 0x5a, 0xd6, 0x55, 0xed, 0x3b, 0xb8, + 0x6d, 0xb7, 0x95, 0x1b, 0x6b, 0xbd, 0x43, 0xe0, 0x95, 0xca, 0x9b, 0x73, 0x14, 0x20, 0x1b, 0xce, + 0xc2, 0x1b, 0xcd, 0x2e, 0xcf, 0x7e, 0x5d, 0x8e, 0x26, 0x44, 0xc5, 0xfb, 0xd4, 0x92, 0xa2, 0xf8, + 0x31, 0x86, 0xef, 0x5e, 0xad, 0xe6, 0xca, 0xc5, 0x3b, 0xb5, 0x06, 0xf6, 0xe5, 0x26, 0xf0, 0xcb, + 0x52, 0xc3, 0xbf, 0xce, 0xce, 0xf0, 0x08, 0xe6, 0xf7, 0x1c, 0x7b, 0xe8, 0xbd, 0xd6, 0xa0, 0xbd, + 0x73, 0xce, 0x6d, 0xd1, 0x0f, 0x7d, 0x96, 0xf5, 0xe6, 0xda, 0x7a, 0x8d, 0xc4, 0x9d, 0xa0, 0xaa, + 0xdd, 0xc8, 0xa2, 0x46, 0x94, 0xbf, 0x31, 0xdc, 0x2c, 0xeb, 0xe1, 0xba, 0x5d, 0x42, 0x10, 0xab, + 0x8f, 0x5d, 0xd1, 0x1b, 0x71, 0x87, 0xff, 0x7b, 0x73, 0xeb, 0xbb, 0xce, 0xe8, 0x82, 0x3e, 0xc5, + 0x51, 0xbf, 0x61, 0x0b, 0x67, 0x42, 0xdd, 0x87, 0x09, 0x43, 0xd0, 0x5a, 0xee, 0x7c, 0x4e, 0xfd, + 0xf8, 0x8e, 0xf4, 0xda, 0x6a, 0xf9, 0xa4, 0x59, 0xec, 0x69, 0xa9, 0x85, 0x04, 0x06, 0xf4, 0x4e, + 0x3f, 0xcc, 0xf2, 0x55, 0x71, 0x03, 0x11, 0x39, 0x3d, 0xcb, 0xb6, 0x74, 0x1c, 0x3b, 0x75, 0xf8, + 0x44, 0x55, 0x00, 0x12, 0x7f, 0x2a, 0xfd, 0x9c, 0xf8, 0x5d, 0xa4, 0x84, 0xa2, 0xe4, 0x9f, 0x03, + 0xf9, 0x19, 0xf5, 0x85, 0x2c, 0x09, 0x80, 0x98, 0x6d, 0xc1, 0x21, 0x8f, 0x92, 0xf0, 0x58, 0xb6, + 0x4f, 0xf5, 0x78, 0xf5, 0xd1, 0xc7, 0x22, 0xe9, 0x0d, 0xab, 0x23, 0xe6, 0xcf, 0x14, 0xcd, 0xe8, + 0xb4, 0x4c, 0xde, 0x1c, 0x77, 0x74, 0x81, 0x9a, 0x60, 0x00, 0x9f, 0x99, 0x4b, 0x30, 0xec, 0x06, + 0xee, 0xe3, 0xd8, 0x41, 0x3d, 0xae, 0xce, 0xdd, 0x62, 0xdf, 0xa8, 0xc4, 0x87, 0x96, 0x17, 0xd0, + 0x80, 0x14, 0x3c, 0xe0, 0x55, 0x49, 0xe0, 0xae, 0x9c, 0x49, 0xea, 0xec, 0x24, 0x16, 0xcf, 0x9f, + 0xeb, 0x55, 0x4c, 0xc7, 0x91, 0xd0, 0x9d, 0x10, 0x14, 0x91, 0x93, 0xf3, 0xd9, 0x95, 0x6e, 0xea, + 0x90, 0x99, 0xe0, 0xb3, 0xe2, 0x78, 0x34, 0x8e, 0x32, 0x04, 0xfc, 0x9d, 0x10, 0xee, 0x8a, 0xa5, + 0x80, 0xe1, 0xfb, 0x1c, 0xd2, 0x31, 0xcf, 0x04, 0x2c, 0x4d, 0xa6, 0xc2, 0x1d, 0x16, 0xd3, 0x4f, + 0x98, 0x21, 0xe4, 0x25, 0xf4, 0x79, 0xca, 0xb6, 0x99, 0xe7, 0x64, 0x08, 0x67, 0x85, 0x9c, 0x46, + 0xa8, 0x70, 0xb1, 0x87, 0x0d, 0xae, 0x6f, 0x3c, 0x1e, 0x73, 0xf9, 0xe8, 0x9a, 0xcb, 0x40, 0x49, + 0x7c, 0x28, 0x8c, 0x5e, 0x11, 0xa4, 0xc8, 0x34, 0x6b, 0xff, 0x97, 0x1d, 0x06, 0x81, 0x54, 0x56, + 0xca, 0x40, 0xed, 0xf2, 0x34, 0x0d, 0xa8, 0x09, 0xef, 0xa9, 0x1d, 0xaa, 0xb9, 0xe3, 0x5f, 0x06, + 0x4f, 0xf8, 0x80, 0xf0, 0x32, 0xda, 0x9a, 0xc4, 0xf4, 0x83, 0x6d, 0x1a, 0x36, 0x5b, 0x46, 0x15, + 0x90, 0x4f, 0x23, 0x42, 0xda, 0xc4, 0xbf, 0x8d, 0x0a, 0x96, 0x25, 0x11, 0x55, 0x06, 0xa6, 0x0d, + 0x12, 0x41, 0x90, 0x90, 0x30, 0x8e, 0x97, 0x9d, 0x5d, 0xf2, 0x16, 0x1f, 0x1c, 0xd7, 0x91, 0xe6, + 0x6b, 0x0a, 0x7d, 0x24, 0xa6, 0xcd, 0x12, 0x50, 0x66, 0x74, 0xe2, 0xb7, 0x37, 0xdc, 0x78, 0x66, + 0xd1, 0x76, 0x34, 0x3c, 0xd3, 0xb9, 0xd6, 0x8a, 0xab, 0x90, 0x00, 0x25, 0xb2, 0xa8, 0x88, 0xf2, + 0x15, 0x26, 0x74, 0x04, 0xe1, 0xc4, 0x4a, 0x0b, 0xa6, 0x41, 0x92, 0x6a, 0x49, 0x98, 0x26, 0x8e, + 0xe3, 0x5f, 0x0f, 0x20, 0x73, 0x4e, 0x8c, 0xda, 0x96, 0xfe, 0x44, 0xcb, 0x5c, 0x4d, 0x5b, 0xbc, + 0x0a, 0x2c, 0x9a, 0x96, 0x06, 0xc6, 0x9f, 0x4d, 0xe5, 0x31, 0xcd, 0xd8, 0x77, 0x88, 0x8b, 0x2a, + 0x02, 0x90, 0x34, 0x46, 0x80, 0x79, 0xfb, 0x7d, 0x7d, 0xad, 0xa7, 0xbb, 0x43, 0x4e, 0xff, 0x39, + 0x70, 0x0d, 0x0a, 0x3b, 0xbd, 0xcd, 0x3a, 0xcf, 0xc5, 0xbb, 0xcd, 0xb4, 0x84, 0xba, 0x25, 0x83, + 0xe6, 0xf6, 0xb7, 0xe4, 0x30, 0x0e, 0xd5, 0x32, 0x93, 0x1a, 0xd6, 0xd1, 0x9b, 0x0a, 0x1a, 0xaa, + 0xb0, 0x01, 0xff, 0x02, 0x24, 0x76, 0x2b, 0x53, 0x8a, 0x30, 0x8b, 0x35, 0x2a, 0x83, 0x93, 0x22, + 0xc7, 0x13, 0x29, 0xd3, 0x78, 0x96, 0x0f, 0x90, 0x8b, 0xed, 0xa8, 0x1a, 0xa9, 0x42, 0x7b, 0xff, + 0xe8, 0x5f, 0xc8, 0x24, 0xdd, 0x4d, 0x37, 0xc7, 0xaf, 0x8d, 0xe3, 0x21, 0x2f, 0xeb, 0xd6, 0x78, + 0xf4, 0xab, 0x07, 0xad, 0xf7, 0x54, 0x93, 0x07, 0x0a, 0x04, 0xbd, 0xde, 0xc4, 0x67, 0xc4, 0x63, + 0xc5, 0x9f, 0xdf, 0xf6, 0x6d, 0xad, 0x2a, 0x18, 0xd5, 0xde, 0x6d, 0xf0, 0x59, 0x9a, 0x34, 0xfa, + 0xbe, 0x4a, 0x3a, 0x01, 0xde, 0xfc, 0x16, 0xcc, 0x52, 0xf7, 0x85, 0x55, 0xff, 0xb1, 0x40, 0xfa, + 0xce, 0x7a, 0xc9, 0x71, 0xdd, 0xc4, 0x52, 0x9a, 0xa0, 0xec, 0x3b, 0x04, 0x1e, 0x05, 0xb3, 0x6b, + 0x32, 0xf2, 0x05, 0xd3, 0xd4, 0xe7, 0xb2, 0x58, 0x34, 0x72, 0x73, 0x85, 0xf4, 0x04, 0x3b, 0x9e, + 0xe8, 0x2f, 0xda, 0x7a, 0x00, 0x3d, 0xcd, 0x2c, 0xe6, 0x96, 0x42, 0xf4, 0x0e, 0x81, 0x37, 0x68, + 0x2d, 0xc8, 0x87, 0x4d, 0x13, 0xf2, 0xeb, 0xa1, 0x8c, 0x81, 0xb1, 0x2d, 0xa4, 0xbe, 0xd5, 0xd4, + 0x2d, 0x33, 0x52, 0xad, 0x5e, 0x5d, 0xd4, 0x8e, 0x09, 0x47, 0x0b, 0xf0, 0x86, 0xa2, 0xdb, 0x2c, + 0x7a, 0xe9, 0xda, 0xc2, 0xee, 0xe0, 0x70, 0x02, 0x9d, 0xd3, 0x05, 0xd0, 0xee, 0x77, 0x16, 0x44, + 0x90, 0x5e, 0x08, 0xdf, 0x27, 0x4f, 0xf9, 0xbd, 0x45, 0x88, 0x2e, 0xff, 0x6e, 0xc9, 0x1a, 0x98, + 0x3c, 0x76, 0x37, 0x17, 0xae, 0x41, 0x3a, 0x0e, 0xf8, 0x96, 0x38, 0xe7, 0x43, 0x8f, 0x01, 0x31, + 0xab, 0xb9, 0x67, 0xe5, 0x79, 0x4f, 0x7c, 0xaa, 0x18, 0xeb, 0xa9, 0x40, 0xce, 0x94, 0x52, 0x5d, + 0x21, 0x89, 0x92, 0x50, 0xfd, 0x6d, 0x4c, 0x97, 0xdd, 0xca, 0x1b, 0x59, 0xc8, 0xa8, 0x65, 0xb7, + 0xff, 0x34, 0xf2, 0x65, 0x8d, 0x0c, 0x33, 0x65, 0x96, 0x6f, 0x6d, 0x2a, 0xc4, 0xea, 0x70, 0x0a, + 0x93, 0x7d, 0xd5, 0x19, 0x7e, 0xd7, 0xab, 0xdb, 0xad, 0x6f, 0x93, 0x4d, 0x96, 0xb6, 0xc0, 0xd4, + 0x4a, 0x40, 0x3f, 0x75, 0xdf, 0x43, 0x48, 0x34, 0x70, 0x88, 0xc2, 0x61, 0xf0, 0x48, 0xe2, 0x1a, + 0xe2, 0x31, 0x7b, 0xa5, 0x2c, 0x6d, 0xdb, 0x88, 0x95, 0x16, 0x63, 0xe5, 0x96, 0x34, 0xbe, 0x0b, + 0x45, 0xcb, 0x39, 0x72, 0x5c, 0x0e, 0xe5, 0x82, 0x1e, 0x8e, 0xa5, 0x30, 0x9b, 0xf2, 0xdb, 0x9c, + 0x58, 0xd2, 0xfa, 0x8e, 0x52, 0x0f, 0xe2, 0x9e, 0x9d, 0x21, 0x52, 0xe8, 0x6b, 0xe5, 0x20, 0x84, + 0x37, 0x4d, 0x29, 0xe4, 0x42, 0x42, 0xb3, 0xe7, 0x7c, 0xc0, 0x50, 0x6b, 0x71, 0x60, 0x53, 0x4f, + 0x68, 0xce, 0x5c, 0x16, 0xbc, 0x11, 0xe2, 0x46, 0x7d, 0x9e, 0xee, 0x93, 0x1c, 0x34, 0x4a, 0xc6, + 0xd3, 0xd9, 0x68, 0xe0, 0x71, 0x17, 0xf7, 0xb9, 0x15, 0x89, 0x84, 0x8b, 0x57, 0xe3, 0x91, 0x0d, + 0x67, 0x3d, 0xc9, 0x92, 0xff, 0x31, 0x77, 0x6b, 0x99, 0xd0, 0x12, 0xdc, 0xa8, 0x23, 0x6b, 0xaa, + 0x46, 0xf4, 0x29, 0x47, 0x08, 0xd8, 0x5b, 0x56, 0x22, 0x85, 0xf4, 0xeb, 0x9a, 0xa7, 0x18, 0xb3, + 0x4d, 0x82, 0xd2, 0x66, 0xab, 0x74, 0xb4, 0x4b, 0x3e, 0x0f, 0x94, 0x50, 0x6e, 0xe0, 0xd7, 0xcf, + 0xc9, 0x2e, 0x4b, 0x4b, 0x20, 0xf5, 0x0c, 0xd6, 0x5a, 0x84, 0xe3, 0xe5, 0xc6, 0x75, 0xe7, 0xd9, + 0x1d, 0x47, 0xf0, 0x80, 0xb0, 0x79, 0x0a, 0x1f, 0x8f, 0xa7, 0xdc, 0x0b, 0x90, 0x6b, 0x6e, 0xf1, + 0x14, 0xa2, 0xd2, 0x22, 0xbe, 0xda, 0xdd, 0x76, 0x01, 0xab, 0xb5, 0xb9, 0x83, 0x9b, 0xf8, 0xd3, + 0xeb, 0x7a, 0x2d, 0xb2, 0x67, 0xe9, 0x03, 0x05, 0x74, 0x76, 0xd8, 0xa6, 0xa4, 0xec, 0x3a, 0x0d, + 0x73, 0xc1, 0x5b, 0x2b, 0x39, 0x43, 0xe6, 0x51, 0xc7, 0xf8, 0x06, 0x73, 0x1f, 0x68, 0x6f, 0xe2, + 0x7f, 0x0e, 0x9f, 0x7b, 0xec, 0x47, 0xfa, 0x3a, 0x9a, 0x77, 0xdb, 0xb4, 0xff, 0x4c, 0x72, 0xf6, + 0x75, 0x8d, 0xb6, 0x4e, 0x60, 0x76, 0x96, 0x49, 0xac, 0x8a, 0x87, 0x93, 0x28, 0xb6, 0xbd, 0x8d, + 0x0a, 0xdf, 0xa3, 0x6a, 0x6b, 0x53, 0xaf, 0x59, 0xdf, 0x62, 0x56, 0x21, 0x67, 0x68, 0x2a, 0xf4, + 0x67, 0xe9, 0x91, 0x29, 0xc5, 0x24, 0x45, 0x2a, 0x5c, 0xad, 0x79, 0xee, 0x24, 0x56, 0x9a, 0x02, + 0x5d, 0x71, 0xad, 0x2e, 0xbb, 0x89, 0x93, 0x90, 0x34, 0x8a, 0x21, 0x3f, 0x87, 0xcc, 0xb8, 0xef, + 0x67, 0x59, 0x15, 0x4a, 0xda, 0x2f, 0xb9, 0x76, 0x55, 0x94, 0x01, 0xdb, 0xe8, 0xde, 0xfe, 0x92, + 0x44, 0x79, 0x02, 0x90, 0x52, 0x6b, 0xe1, 0x5c, 0x08, 0x15, 0x6b, 0x10, 0x79, 0x35, 0x51, 0xae, + 0xbd, 0xf4, 0x79, 0xb1, 0x4e, 0xec, 0x89, 0x35, 0x0e, 0xe3, 0xa1, 0xb4, 0x36, 0x7b, 0xa7, 0xe5, + 0x9d, 0x8d, 0x92, 0x64, 0x18, 0xb3, 0xe6, 0x51, 0x4d, 0x59, 0xd5, 0x1d, 0x91, 0xdf, 0x14, 0xfe, + 0xb2, 0x69, 0xcb, 0xd5, 0xb1, 0x28, 0x21, 0x4b, 0x51, 0xa9, 0x73, 0x5b, 0x3f, 0x64, 0x90, 0xf7, + 0x0e, 0x47, 0xa1, 0x12, 0x6f, 0x84, 0x5f, 0xe0, 0x10, 0x91, 0xaf, 0x85, 0x14, 0xed, 0x93, 0x76, + 0x47, 0xa9, 0x2f, 0xf7, 0x62, 0xb7, 0xf7, 0xc4, 0x8a, 0x26, 0xbf, 0x83, 0x7d, 0xfe, 0x35, 0x5b, + 0x65, 0x47, 0xe7, 0x2a, 0xe7, 0x2c, 0x43, 0x98, 0xe0, 0x3f, 0xaa, 0x82, 0xe0, 0x2d, 0x23, 0x9c, + 0x78, 0xe8, 0xb4, 0x26, 0x20, 0x6d, 0x66, 0x63, 0x62, 0xfa, 0xfa, 0xd0, 0x95, 0x6d, 0x12, 0xac, + 0x25, 0x71, 0x39, 0xc9, 0x7c, 0x76, 0x5f, 0xb8, 0xa6, 0xfd, 0xcf, 0x2f, 0x7e, 0xd3, 0x00, 0x84, + 0xef, 0xfc, 0x03, 0xd0, 0x61, 0x3b, 0x8e, 0x30, 0xdb, 0x75, 0x2a, 0xba, 0xa2, 0xaa, 0xc1, 0x15, + 0x6a, 0xcc, 0x41, 0xcb, 0xc3, 0x3e, 0x3f, 0xd3, 0x6d, 0x14, 0x06, 0x04, 0xf8, 0xc5, 0x47, 0x66, + 0xa4, 0xcd, 0x99, 0x50, 0x67, 0xe6, 0x60, 0xfd, 0x37, 0x1d, 0x1f, 0xb0, 0x24, 0xa8, 0x71, 0x46, + 0x61, 0x3b, 0x2b, 0xdf, 0x99, 0xd4, 0x1c, 0xf5, 0x2f, 0x31, 0x17, 0xad, 0xa7, 0x51, 0x70, 0xcf, + 0xde, 0x52, 0x6b, 0x86, 0x9e, 0x8d, 0x99, 0x64, 0xe1, 0x3a, 0xcf, 0x16, 0xa5, 0x7a, 0x83, 0xd2, + 0x81, 0x14, 0x22, 0x43, 0x62, 0xd8, 0x7f, 0xbc, 0x05, 0xee, 0x97, 0x5a, 0xf6, 0x91, 0x9a, 0x95, + 0xcd, 0x1c, 0x70, 0x9a, 0xec, 0x34, 0xbe, 0x70, 0xe3, 0xb4, 0xcf, 0x04, 0x72, 0x3b, 0xf7, 0x38, + 0x49, 0xa8, 0xcb, 0x49, 0x9a, 0x16, 0x3f, 0x16, 0x0b, 0xe9, 0x85, 0x26, 0xf7, 0xb2, 0xc8, 0x63, + 0x1c, 0x59, 0x58, 0xdb, 0xb3, 0x30, 0x14, 0x60, 0x08, 0x5a, 0xc5, 0xb1, 0x65, 0xd8, 0x74, 0x61, + 0xda, 0xfb, 0xa4, 0xd6, 0xac, 0x4e, 0x7f, 0x4b, 0x47, 0xfd, 0x8e, 0x76, 0xfa, 0x1f, 0xb8, 0xa4, + 0x8b, 0x25, 0xb0, 0xfb, 0xf3, 0xd6, 0x7e, 0xe1, 0x37, 0xf1, 0x37, 0xbe, 0x64, 0x70, 0xab, 0x17, + 0xcc, 0xa6, 0x08, 0x91, 0x70, 0xf2, 0xb8, 0x04, 0x6f, 0x39, 0xb7, 0x33, 0x17, 0xde, 0xd1, 0x57, + 0xc2, 0xe2, 0x65, 0xba, 0xb0, 0xe5, 0x70, 0xe8, 0xd8, 0xcb, 0xdb, 0x7b, 0x83, 0x6c, 0x4d, 0x14, + 0x1a, 0x58, 0x93, 0x8c, 0x92, 0xbf, 0xfa, 0x0d, 0xb4, 0x66, 0xcd, 0x3e, 0xf2, 0x9c, 0x5f, 0x6a, + 0xea, 0x6a, 0xd9, 0x9d, 0xb1, 0x50, 0xfe, 0x76, 0x53, 0xf2, 0x56, 0xcf, 0xea, 0x64, 0x41, 0xbf, + 0xe1, 0x6f, 0xa0, 0xd5, 0x95, 0xdf, 0x67, 0xdc, 0x01, 0x40, 0xd4, 0x34, 0x59, 0x9f, 0xfd, 0xce, + 0x0d, 0x1e, 0xbe, 0x73, 0x48, 0x99, 0xd8, 0x3e, 0xe4, 0xbb, 0x30, 0x49, 0x87, 0xb2, 0x6d, 0x04, + 0x2b, 0x8b, 0xf2, 0x8c, 0x00, 0xfc, 0x8a, 0x89, 0x8f, 0x93, 0x84, 0x8f, 0x97, 0x08, 0x65, 0x7f, + 0x90, 0x28, 0x80, 0x32, 0x36, 0x2c, 0x01, 0x61, 0xf8, 0x50, 0x12, 0xc7, 0xeb, 0x9f, 0x66, 0x05, + 0x4d, 0x16, 0xfe, 0xd9, 0x50, 0x42, 0xbf, 0x8a, 0xcd, 0xe5, 0x60, 0xc6, 0x20, 0xa4, 0x9e, 0xd1, + 0x2f, 0xc2, 0x5c, 0x67, 0x0e, 0x09, 0x02, 0xbe, 0xa6, 0x02, 0x17, 0xee, 0x94, 0xe9, 0xfa, 0x3a, + 0xf2, 0xdf, 0xbb, 0x66, 0x44, 0x34, 0xb8, 0x0e, 0x86, 0xfe, 0x20, 0x92, 0x0b, 0x58, 0x8d, 0xcb, + 0x5c, 0x4d, 0x69, 0x79, 0x87, 0x19, 0x41, 0x61, 0x6e, 0xb8, 0x31, 0xc5, 0x43, 0x22, 0xe5, 0xd1, + 0xed, 0xe1, 0x11, 0x71, 0x6b, 0x99, 0x50, 0xea, 0x90, 0x9c, 0x46, 0x33, 0xf8, 0xfe, 0x90, 0x82, + 0x35, 0xd3, 0xed, 0xf4, 0x80, 0x8d, 0x10, 0x4b, 0x28, 0x27, 0xdb, 0xcd, 0xf0, 0x11, 0x67, 0xf1, + 0xf6, 0xa1, 0x81, 0xea, 0x42, 0x1b, 0xda, 0x10, 0xf9, 0xd6, 0xca, 0x08, 0x17, 0x42, 0x85, 0x6b, + 0x7d, 0x0b, 0x4c, 0x21, 0x26, 0xd0, 0xdc, 0x66, 0x5b, 0xef, 0x1f, 0x36, 0x69, 0x92, 0x7f, 0x81, + 0xcf, 0xfc, 0x92, 0x5f, 0xd2, 0x89, 0x63, 0x41, 0x04, 0x29, 0xd4, 0x33, 0xe7, 0x79, 0x77, 0xba, + 0x8b, 0xcc, 0x9c, 0x0d, 0x28, 0x34, 0x5e, 0xf6, 0x0e, 0x23, 0xc8, 0xf0, 0xa5, 0x4f, 0xd5, 0x57, + 0xee, 0x31, 0x63, 0x6f, 0x95, 0xa0, 0xd5, 0x46, 0x94, 0xe2, 0x08, 0xa8, 0x98, 0xca, 0x58, 0xf4, + 0x5b, 0x43, 0x1a, 0xf5, 0x6f, 0x2b, 0xb7, 0xaa, 0xe2, 0x8e, 0x8c, 0x93, 0x32, 0xaa, 0x0a, 0x6c, + 0xc0, 0x65, 0xaa, 0xd3, 0x0a, 0x86, 0xb4, 0x9e, 0xb3, 0x4f, 0x5e, 0x41, 0x61, 0x61, 0xe4, 0xba, + 0xa8, 0x92, 0x7c, 0x71, 0xfc, 0x30, 0x89, 0x63, 0xea, 0xe9, 0x05, 0x05, 0xd3, 0xc2, 0xfe, 0x9f, + 0x8d, 0x9b, 0x30, 0x54, 0xb4, 0x4f, 0x07, 0xef, 0xad, 0x92, 0x33, 0x92, 0x1c, 0xdd, 0x45, 0xdf, + 0xe7, 0xfd, 0xc3, 0xc4, 0x1a, 0xa8, 0x9d, 0xc8, 0xd8, 0x51, 0x44, 0xd3, 0x2a, 0x02, 0x46, 0x0d, + 0x5e, 0x3a, 0x74, 0xee, 0xd1, 0xbc, 0x88, 0x75, 0x7f, 0x07, 0xd1, 0x8e, 0x92, 0xd6, 0xe6, 0xba, + 0x5c, 0x88, 0xb3, 0xbe, 0xd7, 0x0b, 0xdd, 0xe7, 0xf9, 0x52, 0x88, 0xa8, 0x4b, 0x91, 0x21, 0x58, + 0x50, 0xf7, 0xb6, 0xaf, 0x73, 0x94, 0x3d, 0xbc, 0x19, 0xb4, 0x99, 0xdd, 0xcc, 0x4b, 0x77, 0x43, + 0x53, 0x6d, 0xc2, 0x9d, 0xdd, 0x90, 0x1a, 0xaa, 0xa2, 0x23, 0xf2, 0xe2, 0xfc, 0x02, 0x4a, 0x56, + 0x9b, 0x11, 0x05, 0xd1, 0x78, 0x7d, 0x82, 0x8d, 0x8f, 0xf4, 0xe3, 0x48, 0xd4, 0x8a, 0xd6, 0x97, + 0x32, 0x33, 0xb5, 0x8a, 0xab, 0xce, 0x6b, 0x6a, 0x34, 0x7e, 0x77, 0x00, 0xe3, 0x7e, 0x42, 0x42, + 0xe3, 0x5b, 0xe1, 0xb5, 0xfe, 0x29, 0xf0, 0x34, 0xa6, 0xc9, 0xf7, 0xeb, 0x88, 0xd6, 0x5e, 0x20, + 0x5e, 0xb6, 0xac, 0xc0, 0x6d, 0xca, 0xdb, 0x6c, 0xf0, 0x26, 0xa5, 0x6e, 0x85, 0xaf, 0x75, 0x98, + 0x71, 0x66, 0x5b, 0xb5, 0xeb, 0x10, 0x78, 0x25, 0xa9, 0x6d, 0x5e, 0x65, 0xaf, 0x72, 0x47, 0x13, + 0x04, 0x06, 0x55, 0xe1, 0x27, 0xa0, 0x83, 0x23, 0x13, 0x51, 0xd6, 0xe5, 0x67, 0x40, 0x4b, 0xcb, + 0x1d, 0xe4, 0x2a, 0x0c, 0x52, 0xc7, 0x24, 0x07, 0x0b, 0x9f, 0xb1, 0x90, 0x1e, 0xff, 0xe8, 0x23, + 0x39, 0xdb, 0xd3, 0xb8, 0xf1, 0xd3, 0xf3, 0xd5, 0xf2, 0xf8, 0xee, 0xa9, 0x43, 0x31, 0xf6, 0x18, + 0x04, 0xb8, 0xf6, 0x3e, 0xd0, 0x1b, 0xba, 0x66, 0xfa, 0x69, 0xe8, 0xcc, 0x5d, 0xd4, 0x94, 0xb4, + 0xd2, 0x02, 0x7c, 0x6b, 0xb0, 0xee, 0x56, 0x0e, 0x0f, 0xe5, 0x62, 0x80, 0xca, 0x40, 0xe6, 0xf1, + 0x14, 0x74, 0x9d, 0xbf, 0x15, 0x2b, 0xa4, 0x15, 0x2e, 0x51, 0xb5, 0xb3, 0xf8, 0x7c, 0xa3, 0x7d, + 0x86, 0xaa, 0x81, 0x8e, 0xa9, 0xcb, 0x5d, 0x0b, 0x8b, 0x37, 0x01, 0x3c, 0xe0, 0x01, 0xbd, 0x67, + 0x16, 0xc5, 0x1a, 0x6d, 0x67, 0x3a, 0x3e, 0x35, 0x02, 0xcb, 0xec, 0x8a, 0x3c, 0xef, 0x8c, 0xf4, + 0xdd, 0x20, 0x2e, 0xb2, 0x5e, 0x59, 0x24, 0x62, 0xdc, 0x34, 0x29, 0xf4, 0x63, 0x8f, 0x96, 0xe2, + 0x07, 0xb2, 0x19, 0xfc, 0x83, 0x38, 0xe7, 0x79, 0x42, 0x1d, 0x51, 0xd4, 0xeb, 0xf4, 0xe9, 0x5f, + 0xe2, 0x1a, 0xf3, 0x8f, 0xcb, 0x28, 0xdb, 0x29, 0x51, 0xcb, 0x9a, 0x7d, 0x13, 0x4b, 0x79, 0xba, + 0xee, 0x34, 0x8a, 0x20, 0x7c, 0xd7, 0x9c, 0xf2, 0x06, 0x3e, 0x62, 0xd3, 0x94, 0xba, 0x02, 0x63, + 0x8c, 0x70, 0x30, 0x62, 0x9c, 0xdc, 0xcb, 0x75, 0x72, 0xb6, 0xd5, 0x19, 0x25, 0xd5, 0x99, 0x46, + 0x25, 0x50, 0xb3, 0x9c, 0xbb, 0x4e, 0x60, 0xd7, 0x04, 0x93, 0x2e, 0xbb, 0xed, 0x14, 0x36, 0xb8, + 0x19, 0xe6, 0xa7, 0xf1, 0x5b, 0xa7, 0xec, 0xbe, 0x1a, 0xe1, 0x2e, 0xe7, 0xca, 0x53, 0xc1, 0x80, + 0x29, 0xc0, 0xa0, 0xf4, 0x16, 0x65, 0x65, 0x75, 0x39, 0x81, 0x7a, 0x8b, 0x1e, 0x68, 0xb8, 0xd1, + 0xc7, 0xe6, 0xd0, 0xa2, 0x3d, 0xd2, 0x08, 0x59, 0xf9, 0x94, 0x7c, 0x8a, 0xc8, 0x9f, 0xa7, 0x42, + 0x3d, 0xe3, 0xf1, 0xc3, 0x1c, 0x13, 0x02, 0x52, 0x2e, 0xfb, 0x9b, 0x14, 0x3b, 0x72, 0x6a, 0x45, + 0xae, 0x4e, 0xd9, 0xe5, 0x5d, 0x38, 0x7d, 0x98, 0x2b, 0x2a, 0x3e, 0xf0, 0x53, 0x26, 0xd1, 0xb9, + 0x31, 0xff, 0xa4, 0x35, 0xdf, 0x5f, 0x5a, 0x12, 0x8f, 0xe8, 0x46, 0xe5, 0x09, 0xef, 0x76, 0x7b, + 0x2b, 0x1b, 0x4c, 0x53, 0xe0, 0x71, 0x37, 0x5c, 0xde, 0x3d, 0x08, 0x77, 0x66, 0x6d, 0xba, 0x12, + 0x9a, 0x35, 0x4d, 0xd8, 0x36, 0xe1, 0x8a, 0x2c, 0x31, 0x80, 0x66, 0xf2, 0x63, 0x27, 0xbd, 0x1e, + 0x3d, 0x83, 0xec, 0x1c, 0x18, 0x70, 0xa6, 0xb1, 0x16, 0x33, 0xab, 0x1d, 0x03, 0x12, 0x74, 0x6c, + 0x43, 0x87, 0xe8, 0x89, 0x84, 0xfc, 0xbd, 0xaf, 0x48, 0x77, 0x13, 0x6a, 0x41, 0xa6, 0x51, 0x6b, + 0x89, 0xe2, 0x77, 0x3d, 0x81, 0x87, 0xdd, 0x8a, 0x3e, 0xd3, 0x1d, 0xf1, 0xff, 0x8f, 0xbc, 0x4f, + 0x92, 0xb3, 0x3c, 0x2d, 0xa0, 0x0c, 0x83, 0x10, 0x44, 0xd3, 0x31, 0xd3, 0xaf, 0x1c, 0xcc, 0x41, + 0x4a, 0xa1, 0x7d, 0xf2, 0x0b, 0xfd, 0xb7, 0x0c, 0xba, 0x26, 0x4d, 0x28, 0xc1, 0x3e, 0x4f, 0x5f, + 0x37, 0x72, 0x91, 0x60, 0x59, 0x57, 0x4c, 0x5f, 0x14, 0x50, 0xfe, 0xba, 0x5d, 0xca, 0xcf, 0x7f, + 0x92, 0x76, 0xd1, 0x84, 0x47, 0xd2, 0x4f, 0x71, 0xb5, 0xe8, 0x2c, 0xe8, 0x6c, 0x81, 0x35, 0x1a, + 0x8a, 0x3c, 0x86, 0xe0, 0xaa, 0xb7, 0x0b, 0x6f, 0xdd, 0x4b, 0xc9, 0xd2, 0x0d, 0x7b, 0x6d, 0x17, + 0x93, 0x3f, 0x59, 0xd6, 0xa5, 0x53, 0x98, 0x9e, 0x37, 0xd2, 0x10, 0x55, 0x7f, 0x88, 0x97, 0xc3, + 0x91, 0x1c, 0xc3, 0x03, 0xeb, 0x27, 0x50, 0x2c, 0x9c, 0xff, 0xaa, 0x8c, 0x6d, 0x8f, 0x7d, 0xd4, + 0x90, 0xe1, 0x68, 0xcf, 0x11, 0x18, 0xc7, 0x26, 0xcb, 0xd0, 0x00, 0xf2, 0xef, 0x1f, 0x3b, 0xe4, + 0x2c, 0xcf, 0x12, 0xdf, 0xee, 0x5c, 0x5e, 0x6a, 0xf1, 0x2b, 0x40, 0xc4, 0x8a, 0xa4, 0xd8, 0xb8, + 0x2d, 0x55, 0x57, 0x41, 0x99, 0xda, 0xf6, 0x3e, 0xfa, 0x0a, 0xb9, 0x8d, 0x04, 0x60, 0x78, 0x48, + 0xf3, 0x1f, 0xae, 0x03, 0xf6, 0x03, 0xed, 0xcc, 0x6c, 0x06, 0xe6, 0xad, 0xf9, 0x20, 0xd9, 0xad, + 0xe5, 0x16, 0xbd, 0xda, 0x7a, 0xcd, 0xd8, 0x73, 0x9e, 0x13, 0x46, 0x89, 0xbb, 0x1e, 0xcc, 0xad, + 0x12, 0xfb, 0xda, 0x2d, 0x19, 0x8c, 0x03, 0x92, 0x32, 0x99, 0x47, 0x65, 0x93, 0x68, 0x63, 0x27, + 0x21, 0xc8, 0x6f, 0x99, 0x78, 0xa0, 0xea, 0xc6, 0x7d, 0xe8, 0x78, 0xfa, 0x32, 0x7c, 0x74, 0x2d, + 0x78, 0xf0, 0x6c, 0xf4, 0xc4, 0x24, 0x2c, 0x05, 0x18, 0xdc, 0x8a, 0x26, 0x33, 0x24, 0xbc, 0xb5, + 0x6c, 0x1d, 0xc6, 0x84, 0x80, 0xb6, 0x8d, 0x4d, 0x11, 0xa5, 0x2e, 0xdc, 0x52, 0xa1, 0xb1, 0x31, + 0x8f, 0x15, 0x3f, 0xc6, 0xae, 0xd5, 0x5a, 0x00, 0x93, 0x9f, 0x08, 0x17, 0x2f, 0xba, 0x4d, 0x45, + 0xcd, 0xbe, 0xf3, 0x75, 0x95, 0x1a, 0x7e, 0x4d, 0xa6, 0xd5, 0x58, 0x2c, 0xff, 0x97, 0xbc, 0xe6, + 0x39, 0xe5, 0x96, 0x6c, 0x76, 0xe6, 0x2a, 0x19, 0x6d, 0x5a, 0x41, 0x0c, 0x36, 0x4b, 0x77, 0x38, + 0x9a, 0xf4, 0x0a, 0x00, 0x56, 0x1d, 0xc0, 0x07, 0x85, 0xdb, 0x03, 0x01, 0x35, 0x71, 0x0f, 0x57, + 0xed, 0x33, 0x85, 0x25, 0x70, 0x9a, 0x27, 0xc8, 0x3c, 0x90, 0x7e, 0x06, 0x49, 0x4f, 0x4d, 0x51, + 0x61, 0xee, 0x33, 0x4c, 0x74, 0x91, 0x89, 0xa5, 0x81, 0x77, 0x51, 0x04, 0x74, 0xfb, 0xc6, 0xa7, + 0xa5, 0x98, 0x6d, 0x2a, 0x32, 0xd2, 0x6d, 0xa3, 0x11, 0x16, 0xc9, 0x7b, 0x3f, 0xc4, 0xf0, 0x29, + 0x88, 0x56, 0x4a, 0x03, 0x00, 0xd7, 0x24, 0x4f, 0x00, 0x98, 0xd1, 0xec, 0x25, 0x55, 0x07, 0x13, + 0xa3, 0xa9, 0x39, 0x4b, 0xb3, 0xde, 0x90, 0x19, 0x68, 0x52, 0x9c, 0x6f, 0x99, 0x4e, 0x30, 0x65, + 0xff, 0x6b, 0x8d, 0x43, 0x58, 0x97, 0x00, 0x35, 0x7e, 0x8d, 0xa1, 0xa6, 0x16, 0x02, 0x33, 0xcb, + 0xd3, 0xb0, 0x99, 0xe7, 0xc8, 0x12, 0x02, 0xa4, 0x06, 0xd7, 0xeb, 0xc6, 0x79, 0xa8, 0x97, 0x0e, + 0xd4, 0x4b, 0x58, 0xd4, 0xae, 0x6a, 0x4a, 0x32, 0x06, 0xea, 0x29, 0x87, 0xfa, 0xbe, 0xf7, 0x36, + 0x4c, 0xe5, 0x74, 0x1c, 0xa0, 0x63, 0x80, 0x69, 0x73, 0x43, 0x3a, 0xa2, 0xf2, 0x00, 0x54, 0x19, + 0x49, 0x3c, 0x81, 0x3c, 0xa5, 0x56, 0xed, 0x79, 0x97, 0x1d, 0x0d, 0x4b, 0x9c, 0x29, 0x4e, 0x50, + 0x9b, 0x47, 0x2d, 0xfb, 0xff, 0xc2, 0x55, 0x3b, 0x99, 0xa0, 0x13, 0x9f, 0xc2, 0xf1, 0xf0, 0xa3, + 0xbc, 0x9f, 0xfa, 0x69, 0x0e, 0x43, 0x53, 0xb5, 0xc9, 0x8a, 0xf0, 0xf5, 0x22, 0x91, 0xa7, 0x6b, + 0xa6, 0x2d, 0x76, 0xbd, 0xfd, 0xb4, 0x8a, 0x65, 0x1a, 0x0d, 0x63, 0x7a, 0x99, 0x92, 0xfa, 0x61, + 0xce, 0xda, 0x2b, 0x5d, 0x71, 0x1c, 0xc6, 0x0d, 0x88, 0x1a, 0x76, 0x3d, 0xc4, 0xa6, 0xba, 0x40, + 0x30, 0xc0, 0x0e, 0xa5, 0x1b, 0x54, 0x46, 0xf0, 0x81, 0x84, 0x7d, 0x6e, 0xbf, 0xe2, 0x17, 0x5f, + 0xdb, 0xad, 0xeb, 0xb4, 0xa6, 0xa8, 0x84, 0x00, 0xfd, 0xe6, 0x5e, 0x3a, 0x36, 0x40, 0x0b, 0x8b, + 0x44, 0x0b, 0x49, 0xf6, 0x8e, 0xd6, 0xca, 0x18, 0x1d, 0xe6, 0x57, 0x60, 0xd4, 0x72, 0x12, 0x64, + 0x4a, 0x25, 0x64, 0x0b, 0x1b, 0xa6, 0x4f, 0xe5, 0x1f, 0x79, 0xb9, 0xcd, 0xc9, 0x71, 0x9a, 0x20, + 0xd1, 0xbf, 0xd5, 0xf9, 0x21, 0xe6, 0x80, 0xf8, 0xa0, 0x01, 0xfb, 0xca, 0x21, 0xc3, 0x56, 0xf6, + 0xb8, 0x5d, 0xa4, 0xfd, 0x7c, 0xb1, 0xdb, 0x35, 0xd3, 0x41, 0x2e, 0xd6, 0xb5, 0x97, 0xd1, 0x5b, + 0x8c, 0x48, 0x8b, 0x02, 0x23, 0x7d, 0xbe, 0x31, 0x0e, 0x95, 0xf8, 0x6e, 0x16, 0x8d, 0xb1, 0xcd, + 0x3a, 0x52, 0xa3, 0x15, 0xa5, 0xd4, 0x48, 0x45, 0xa3, 0xaa, 0xa0, 0x17, 0x58, 0xd2, 0x1d, 0xe4, + 0x6b, 0x6b, 0xb5, 0x22, 0xc1, 0x75, 0xa0, 0xb0, 0x7d, 0xc4, 0x86, 0x6e, 0xa4, 0xe8, 0xdb, 0xc5, + 0x49, 0x83, 0xf4, 0x50, 0x9c, 0x14, 0x29, 0xde, 0x7b, 0xbe, 0xd7, 0xe2, 0x36, 0xfc, 0x6f, 0x22, + 0x2f, 0xa8, 0x31, 0x64, 0xd6, 0x98, 0xa6, 0xa8, 0x55, 0x07, 0xc6, 0x60, 0x1a, 0xd8, 0xba, 0x8c, + 0xe1, 0xf8, 0xa4, 0xa6, 0xed, 0xa3, 0xec, 0xeb, 0x2f, 0x1c, 0x44, 0x83, 0xcf, 0xb1, 0x15, 0x37, + 0xae, 0x56, 0x40, 0xa9, 0xf2, 0xcc, 0xc3, 0xee, 0xf8, 0x1f, 0x97, 0xff, 0x49, 0x05, 0x84, 0xd9, + 0xe9, 0xd4, 0x3e, 0x0e, 0xf4, 0xbe, 0xa3, 0x32, 0x40, 0x3b, 0x6e, 0x30, 0xa2, 0x0f, 0x71, 0x63, + 0x41, 0x19, 0x81, 0xef, 0x67, 0x4b, 0x68, 0x27, 0x83, 0xe3, 0x50, 0x9b, 0x13, 0x73, 0x45, 0x3b, + 0x72, 0x0b, 0x6c, 0x28, 0xb9, 0x3a, 0x8e, 0x44, 0x47, 0xbe, 0x6a, 0x90, 0xb7, 0xdf, 0xf3, 0x42, + 0xc6, 0xee, 0x0b, 0xf4, 0xc8, 0x21, 0x10, 0xfb, 0x1b, 0xe3, 0x54, 0x79, 0x9b, 0xce, 0xf9, 0x3b, + 0xbb, 0x03, 0x2d, 0x4a, 0xe6, 0x65, 0xf1, 0x07, 0x7e, 0x40, 0xcf, 0x76, 0xd8, 0x6a, 0xb6, 0xeb, + 0xb0, 0xba, 0xef, 0xfc, 0x8f, 0x96, 0xa2, 0x45, 0xbe, 0x8f, 0x35, 0x7e, 0xd2, 0xba, 0x32, 0x34, + 0xe1, 0x1f, 0x50, 0xbb, 0xe6, 0x40, 0x6a, 0x16, 0x6e, 0xa7, 0x74, 0xf8, 0x71, 0x1f, 0x8b, 0x3b, + 0x95, 0xf6, 0xad, 0x02, 0x6e, 0xaa, 0xb2, 0x20, 0x4d, 0x5e, 0x2c, 0xd4, 0x8a, 0xbd, 0x7e, 0x26, + 0x07, 0xc7, 0xb5, 0x87, 0xfa, 0x1a, 0x2e, 0x10, 0xc6, 0x1a, 0x9a, 0x61, 0x8b, 0x14, 0x61, 0x1e, + 0x80, 0xaa, 0x70, 0x79, 0xe8, 0xe4, 0x82, 0xf5, 0x18, 0xbe, 0x2a, 0xf1, 0xbf, 0xc1, 0x95, 0x93, + 0xd8, 0x56, 0x9e, 0xe2, 0x3c, 0x2e, 0xe3, 0x8f, 0x35, 0x34, 0x56, 0xfa, 0x8c, 0x63, 0xaa, 0xe8, + 0x13, 0x35, 0x68, 0xe2, 0xf7, 0xce, 0x28, 0xb1, 0x97, 0xaa, 0x6b, 0xb1, 0x06, 0xda, 0x80, 0x88, + 0x81, 0x68, 0x69, 0x9e, 0xa6, 0x86, 0x1e, 0xdb, 0xd4, 0xc5, 0x33, 0x7f, 0x63, 0x91, 0xcd, 0xc2, + 0xbe, 0xeb, 0xdd, 0x27, 0xe4, 0xa1, 0x6b, 0x55, 0x34, 0x66, 0x8b, 0xed, 0xba, 0xe0, 0x71, 0xf6, + 0x3b, 0xaa, 0xe7, 0xa8, 0xf7, 0x3f, 0x98, 0x40, 0xbe, 0x68, 0x68, 0xcc, 0xff, 0xa3, 0x41, 0xb3, + 0xa5, 0x58, 0xb6, 0xea, 0x5d, 0xb4, 0xa2, 0xba, 0x19, 0x28, 0xf2, 0xe9, 0xe5, 0x59, 0xdb, 0xc7, + 0x84, 0x78, 0xdd, 0xb0, 0x87, 0x69, 0xcf, 0xf4, 0x2b, 0x65, 0xd0, 0xe4, 0x16, 0x76, 0x32, 0xe0, + 0x9b, 0xdd, 0x63, 0x41, 0x3e, 0xa6, 0xc8, 0xcf, 0x7b, 0xe5, 0x7e, 0x65, 0x74, 0xcf, 0xcc, 0xac, + 0x9f, 0xd0, 0x6c, 0x16, 0x38, 0x16, 0xb2, 0x81, 0x01, 0xc1, 0x1e, 0x7d, 0x5c, 0x72, 0x2d, 0x76, + 0x02, 0xfe, 0xb1, 0x87, 0xce, 0x6d, 0xb1, 0x80, 0x17, 0x29, 0xe1, 0xa1, 0xa3, 0x9a, 0xd1, 0x7a, + 0x1a, 0xbf, 0xfd, 0xd3, 0xee, 0x3b, 0xd8, 0xce, 0xea, 0x8c, 0x2c, 0x4f, 0x51, 0x21, 0x50, 0x09, + 0x3f, 0xf0, 0x33, 0xf1, 0x9c, 0xaa, 0xce, 0x6e, 0xe7, 0xae, 0x08, 0xd5, 0x7b, 0x27, 0x63, 0x31, + 0x6f, 0xfa, 0xfa, 0x59, 0xf6, 0xc5, 0xaa, 0x91, 0xb0, 0xe1, 0xf5, 0x4d, 0x18, 0x87, 0x4e, 0xd7, + 0x8c, 0xf3, 0x8e, 0x4b, 0x78, 0x0a, 0x34, 0x1c, 0xa3, 0x53, 0xe8, 0xc9, 0xac, 0xba, 0x4b, 0x8d, + 0x8e, 0xfc, 0x9a, 0x42, 0x61, 0xfe, 0xef, 0xdf, 0xbb, 0x54, 0x2b, 0xa0, 0x1d, 0x00, 0x9f, 0xad, + 0x79, 0x4b, 0x38, 0x30, 0xc0, 0x0e, 0xcf, 0xbc, 0xe8, 0xb8, 0xe8, 0x0e, 0x84, 0x24, 0x11, 0x76, + 0xb3, 0x0a, 0x79, 0xfb, 0x69, 0x5c, 0xef, 0x9b, 0x2f, 0x6a, 0x5f, 0x52, 0x70, 0xb0, 0x40, 0x37, + 0x6a, 0x54, 0x7a, 0x72, 0x14, 0x0f, 0xed, 0xeb, 0xaa, 0xfc, 0x1a, 0x5c, 0xb1, 0x75, 0x3e, 0x09, + 0xe3, 0xec, 0x03, 0x5b, 0x4d, 0xf1, 0x7b, 0x29, 0x63, 0xef, 0xa6, 0x9f, 0x30, 0x57, 0x44, 0xbd, + 0xe0, 0x5c, 0x2c, 0x71, 0x8a, 0xf9, 0x80, 0x6b, 0x02, 0x8e, 0xd1, 0x43, 0xbb, 0xfb, 0xa2, 0xbf, + 0x97, 0x2c, 0xeb, 0xf8, 0xc6, 0x92, 0x21, 0x2d, 0x09, 0xa3, 0x51, 0x32, 0x66, 0x42, 0x29, 0xf9, + 0xd9, 0xc8, 0x60, 0x04, 0xc0, 0x5b, 0x9d, 0xa2, 0x72, 0x81, 0x34, 0x16, 0x02, 0xbe, 0x5e, 0xcf, + 0x1a, 0xdf, 0xdc, 0x7c, 0x31, 0x33, 0xb5, 0xe1, 0xb1, 0x06, 0xd9, 0xec, 0x72, 0x19, 0x2b, 0x69, + 0x31, 0x8a, 0x79, 0xc3, 0x31, 0x90, 0x2c, 0x65, 0x37, 0xe4, 0x03, 0x6a, 0xff, 0x20, 0x46, 0x7e, + 0xc2, 0x30, 0xda, 0x63, 0x6c, 0xc1, 0xb2, 0xec, 0x70, 0x57, 0x48, 0xaa, 0xf1, 0x2b, 0x26, 0x63, + 0x99, 0x18, 0xa6, 0xc6, 0xe9, 0x69, 0x59, 0x5b, 0xe5, 0x04, 0x09, 0x1c, 0x8e, 0x7c, 0xd1, 0x9f, + 0x86, 0x75, 0x86, 0xb7, 0x34, 0x47, 0x22, 0x37, 0x24, 0xc4, 0x91, 0x47, 0x8a, 0x25, 0xd4, 0x50, + 0xde, 0xb4, 0x54, 0x90, 0x4e, 0xea, 0x87, 0xe0, 0xe7, 0x57, 0x50, 0xae, 0x2e, 0xb9, 0x2f, 0x31, + 0x17, 0xf0, 0x84, 0xff, 0xc4, 0x60, 0xc9, 0xf1, 0xab, 0xe1, 0x50, 0x92, 0x0c, 0x13, 0x51, 0x04, + 0xcf, 0x4e, 0x3c, 0x9b, 0x16, 0xbf, 0xf2, 0xa4, 0x41, 0x5c, 0xc6, 0x2c, 0x6a, 0x2c, 0xc7, 0xaf, + 0x5d, 0x7b, 0xec, 0xf7, 0x67, 0x3d, 0xc0, 0xa4, 0xc2, 0xe9, 0x48, 0x0e, 0x0d, 0x36, 0x49, 0x95, + 0xc6, 0x89, 0xd9, 0x59, 0x73, 0x12, 0xe2, 0x1f, 0xd1, 0x57, 0xfc, 0x8f, 0xc2, 0xcb, 0x53, 0x7b, + 0x4a, 0x0c, 0xc0, 0x73, 0x7f, 0x82, 0x95, 0xf5, 0xcb, 0x11, 0xa8, 0x60, 0x9e, 0xb3, 0x95, 0xbc, + 0x65, 0x78, 0x20, 0x19, 0xd2, 0x11, 0xb4, 0x43, 0x67, 0xa7, 0xca, 0xc2, 0x14, 0xdb, 0x76, 0x18, + 0xb9, 0xd3, 0x33, 0xa2, 0x19, 0x5b, 0x7e, 0xe7, 0xe1, 0xe6, 0x05, 0x9e, 0xca, 0x1c, 0x7d, 0xfb, + 0x7e, 0x57, 0x65, 0x4c, 0xf7, 0xbf, 0x11, 0x64, 0xf6, 0x4d, 0x09, 0x5f, 0xbd, 0x4d, 0x85, 0xcd, + 0x75, 0x30, 0x99, 0x32, 0x2c, 0xb2, 0x96, 0xd0, 0xbd, 0x47, 0x13, 0xb9, 0xb9, 0x24, 0x74, 0xe8, + 0x80, 0x2f, 0x43, 0x6c, 0xee, 0x98, 0x66, 0x48, 0xbb, 0x1d, 0x20, 0x90, 0x78, 0x51, 0x8f, 0xcb, + 0x86, 0xad, 0x5d, 0x8b, 0xaf, 0x6e, 0xf7, 0x8e, 0xa4, 0x3f, 0xa0, 0xf7, 0x3b, 0x02, 0xf8, 0x81, + 0x00, 0x73, 0xc3, 0xd0, 0x49, 0x5d, 0x6f, 0x05, 0xe8, 0x87, 0x93, 0xea, 0xdf, 0x6e, 0x3b, 0x5f, + 0xa9, 0x6d, 0xd6, 0xfe, 0xaa, 0x08, 0x50, 0x55, 0x28, 0x1e, 0x90, 0xac, 0x04, 0xda, 0x86, 0xbe, + 0xfe, 0x9a, 0x74, 0x61, 0x9e, 0x8e, 0xac, 0x14, 0x9e, 0x05, 0x6b, 0x4d, 0xa4, 0x1b, 0x1f, 0x1d, + 0xe3, 0x35, 0xee, 0x45, 0xa5, 0x40, 0xa9, 0x7e, 0x44, 0xf1, 0x23, 0xc2, 0x9b, 0xcd, 0xf4, 0x18, + 0x70, 0xb5, 0x7a, 0xb2, 0xd0, 0x76, 0x5b, 0xce, 0x2c, 0x8c, 0x59, 0x59, 0x6c, 0x9c, 0x02, 0x69, + 0xb6, 0xb2, 0x46, 0x2c, 0x0f, 0x54, 0xa8, 0x48, 0x78, 0x60, 0x7a, 0x3a, 0x35, 0x11, 0x41, 0x12, + 0x14, 0x01, 0xaf, 0xe0, 0x65, 0x47, 0x39, 0x2a, 0x9a, 0xf9, 0x6e, 0x6e, 0x72, 0x6c, 0x14, 0x4b, + 0xdc, 0x7a, 0x05, 0x69, 0x5d, 0xed, 0x75, 0x8a, 0xbc, 0xc4, 0x35, 0xb1, 0x18, 0xc1, 0xc2, 0xb0, + 0x6c, 0x77, 0x5a, 0x01, 0xbf, 0xd3, 0x93, 0xc4, 0xf5, 0x2f, 0x5c, 0x1e, 0x3a, 0xca, 0x2c, 0x35, + 0x62, 0x49, 0xa7, 0x09, 0x27, 0x87, 0x91, 0x07, 0x57, 0xe3, 0xa6, 0xdf, 0x9e, 0xe4, 0x6d, 0x0a, + 0xd4, 0xca, 0xb7, 0xb4, 0xae, 0xf3, 0x21, 0xa5, 0xda, 0x2b, 0x65, 0xf6, 0x9d, 0xea, 0x62, 0xfe, + 0xd8, 0xce, 0x70, 0x50, 0xa3, 0x98, 0x40, 0xfa, 0xdf, 0x0d, 0xc7, 0xdd, 0xe4, 0x73, 0x51, 0xae, + 0x9b, 0x87, 0xb4, 0xdf, 0x2d, 0x77, 0xe3, 0xb8, 0xce, 0x23, 0xaf, 0xe1, 0xc3, 0x77, 0x3b, 0x9a, + 0xcd, 0x23, 0xe0, 0x6d, 0x0d, 0x37, 0x62, 0xe1, 0xaf, 0x8a, 0x7e, 0x8d, 0xbb, 0x4a, 0xeb, 0x9d, + 0x74, 0x81, 0x20, 0x42, 0x1b, 0x32, 0x68, 0x56, 0x56, 0xee, 0xae, 0x3f, 0xf7, 0xe7, 0xf4, 0x97, + 0x4d, 0x15, 0x0c, 0xb4, 0x2e, 0xd0, 0x65, 0x15, 0x11, 0xab, 0x24, 0x7e, 0xa3, 0xe9, 0x02, 0x52, + 0xe9, 0x77, 0x0f, 0x6e, 0x0a, 0xd2, 0x0f, 0x35, 0xe4, 0xd5, 0xba, 0x19, 0x47, 0x92, 0xfc, 0x9d, + 0x81, 0x76, 0x9e, 0x6a, 0x36, 0x7b, 0x05, 0xaf, 0x4b, 0x2e, 0x0d, 0xa8, 0x0c, 0x88, 0x97, 0x65, + 0x31, 0xa1, 0xb9, 0x40, 0x73, 0x4c, 0xe5, 0xf0, 0xdd, 0x22, 0x1f, 0x0b, 0x9e, 0x0a, 0xa4, 0x31, + 0x7a, 0xe2, 0x9e, 0x5d, 0x25, 0x83, 0x0f, 0x81, 0x22, 0x7f, 0x30, 0x93, 0x8b, 0x75, 0xde, 0x19, + 0x04, 0xd7, 0xe5, 0x00, 0xff, 0x34, 0x92, 0x89, 0xf1, 0x39, 0xb4, 0x32, 0x71, 0xaa, 0xce, 0xa3, + 0x89, 0x6c, 0x85, 0xe4, 0x2d, 0xa7, 0xc4, 0x10, 0x49, 0x03, 0xe4, 0xfc, 0xcd, 0x87, 0xd7, 0x03, + 0xde, 0x28, 0x34, 0x96, 0x03, 0x6f, 0xdf, 0x76, 0x6d, 0x68, 0x87, 0x0f, 0xe9, 0x8d, 0x1e, 0x13, + 0x0c, 0xe0, 0x27, 0xb0, 0x84, 0x6d, 0x62, 0xff, 0x3e, 0x89, 0x02, 0xc3, 0x1c, 0x32, 0x28, 0x73, + 0x9c, 0x56, 0x22, 0x07, 0x12, 0x18, 0x3e, 0x56, 0xb1, 0x20, 0x9e, 0x18, 0xd5, 0xb6, 0x50, 0x63, + 0x86, 0x16, 0x6c, 0xdf, 0x11, 0xd3, 0xe0, 0xe1, 0x43, 0xcf, 0xdb, 0x45, 0x80, 0xed, 0x2b, 0xc4, + 0x99, 0xbb, 0x23, 0x9a, 0xfa, 0x0f, 0xba, 0x38, 0x51, 0xd8, 0x0b, 0xf7, 0x43, 0xf6, 0xc4, 0x15, + 0xd0, 0x59, 0x0c, 0xcd, 0x45, 0xa1, 0x96, 0x8d, 0x97, 0xee, 0x8c, 0xa5, 0x3e, 0xb6, 0xcb, 0x7e, + 0x4f, 0x2b, 0xb7, 0x78, 0xba, 0x0b, 0x67, 0xa4, 0x51, 0xde, 0xf8, 0x9c, 0xc2, 0x73, 0xb1, 0x7f, + 0xff, 0x94, 0x45, 0x28, 0x3a, 0xaa, 0xb6, 0xc5, 0x16, 0xa3, 0xe4, 0xc0, 0x54, 0xf7, 0x04, 0x73, + 0x8d, 0xa2, 0x61, 0x18, 0x66, 0x80, 0x28, 0x35, 0xc0, 0x72, 0x02, 0xcf, 0x61, 0x70, 0x59, 0x75, + 0x20, 0x44, 0x7b, 0x62, 0xe7, 0x46, 0x23, 0x73, 0x88, 0x63, 0xc5, 0x4a, 0x0e, 0x38, 0xa9, 0x57, + 0xa8, 0x7f, 0x2f, 0xac, 0x2e, 0xae, 0x71, 0x70, 0xf2, 0xb6, 0x35, 0x2c, 0x14, 0x82, 0x59, 0xf3, + 0xf5, 0x6b, 0xa1, 0xa8, 0x63, 0xcd, 0x14, 0x18, 0x06, 0xd6, 0xd8, 0x1e, 0x64, 0x83, 0xe0, 0x24, + 0xc7, 0xb3, 0x28, 0x13, 0x7a, 0x3f, 0x37, 0xd5, 0x85, 0x6b, 0x29, 0x9e, 0xa5, 0x66, 0xb6, 0x8d, + 0xd2, 0x9c, 0x16, 0xd0, 0x1b, 0x2b, 0x51, 0xc0, 0xf9, 0xfc, 0xf2, 0xdd, 0x73, 0xbc, 0x25, 0x6b, + 0x57, 0x42, 0xee, 0xa9, 0x4b, 0x3b, 0xda, 0x04, 0xa8, 0xe1, 0x13, 0x4f, 0xb8, 0x5c, 0x52, 0x3e, + 0xb9, 0xd1, 0x43, 0x40, 0xe7, 0x41, 0x2d, 0x82, 0x99, 0x22, 0x13, 0xf4, 0xee, 0x02, 0x43, 0xba, + 0x7e, 0x4c, 0x35, 0xfe, 0xaa, 0x38, 0xb1, 0xf9, 0xf5, 0x84, 0xf4, 0x13, 0x34, 0xe7, 0x3a, 0x53, + 0x05, 0x72, 0xcd, 0x84, 0x37, 0xca, 0x6b, 0x1f, 0x33, 0x84, 0xa2, 0xfe, 0x6a, 0xe0, 0x80, 0x37, + 0xb5, 0x4f, 0xba, 0xc0, 0x0e, 0x79, 0xcf, 0x3c, 0x9c, 0x9a, 0xc2, 0x65, 0x5e, 0x5d, 0xd2, 0xfb, + 0xc5, 0x8c, 0x59, 0xa1, 0x07, 0x34, 0x03, 0x6b, 0xac, 0x0e, 0xf1, 0xc6, 0x6d, 0x17, 0xe7, 0xe6, + 0x27, 0xec, 0xcd, 0xf3, 0xa3, 0xce, 0x08, 0x8c, 0x80, 0x83, 0x60, 0xc0, 0x5f, 0xee, 0x9d, 0x47, + 0xbd, 0x71, 0xae, 0x6c, 0xec, 0x1c, 0x30, 0x93, 0x8c, 0x83, 0x3d, 0x6a, 0xb8, 0x5b, 0x95, 0x07, + 0x07, 0x3a, 0x64, 0x68, 0xbb, 0x11, 0xea, 0x62, 0x43, 0x81, 0x80, 0x9c, 0x89, 0x56, 0x52, 0xf9, + 0x67, 0xa0, 0x52, 0xdf, 0x19, 0x60, 0x6b, 0x35, 0xae, 0x1d, 0x88, 0xcb, 0xfc, 0x08, 0x86, 0xa0, + 0xea, 0x6b, 0xed, 0x98, 0xb1, 0xc2, 0x75, 0x53, 0x57, 0x29, 0xe3, 0x33, 0x3d, 0x32, 0x14, 0xd4, + 0x45, 0x55, 0x96, 0x7c, 0xd6, 0x3a, 0x44, 0xb8, 0xb9, 0xe2, 0xff, 0xa1, 0x74, 0x27, 0x9f, 0xc3, + 0x90, 0xb9, 0xa2, 0xb9, 0x06, 0xf7, 0x27, 0x99, 0xf0, 0x6a, 0x74, 0x7d, 0x2a, 0x0e, 0xc9, 0x08, + 0x85, 0x58, 0x3a, 0x7b, 0x23, 0x38, 0x04, 0xf5, 0xcb, 0xd6, 0x66, 0x68, 0xcc, 0xd7, 0x23, 0xbd, + 0x4d, 0x63, 0x8c, 0x69, 0xdc, 0x04, 0xa7, 0x37, 0xcf, 0xb5, 0x2e, 0x0b, 0x81, 0x88, 0x23, 0x59, + 0x22, 0xb5, 0x36, 0xf9, 0xd5, 0xae, 0x9c, 0x9c, 0x02, 0xbe, 0x10, 0x24, 0x2b, 0x98, 0x32, 0xaa, + 0x62, 0x98, 0x1e, 0xb8, 0x59, 0x5c, 0x3f, 0x51, 0x21, 0xdf, 0x2e, 0x75, 0x98, 0xf7, 0x96, 0x82, + 0xd9, 0xb2, 0xc0, 0x47, 0xd7, 0xdc, 0xc8, 0xfa, 0xfd, 0x19, 0xf5, 0xe5, 0x3d, 0x4f, 0x4d, 0x91, + 0x06, 0x25, 0x11, 0x0c, 0xd0, 0xac, 0x2e, 0xb2, 0x79, 0xb3, 0x2b, 0x70, 0xe7, 0x93, 0x66, 0x81, + 0xc6, 0x0b, 0x14, 0xf0, 0x59, 0x17, 0xa2, 0x88, 0xef, 0xbc, 0x53, 0x6f, 0xf9, 0x04, 0xf6, 0x3a, + 0xea, 0x09, 0x6d, 0xd7, 0x0b, 0xc6, 0x1e, 0xeb, 0x22, 0x83, 0x10, 0x84, 0xa5, 0x31, 0x22, 0xd5, + 0x81, 0x8f, 0x37, 0x13, 0x8a, 0xcc, 0xf4, 0x42, 0x64, 0x82, 0x00, 0x2b, 0xd8, 0x88, 0xa9, 0x0d, + 0xb5, 0x99, 0xba, 0x38, 0x2e, 0x8f, 0xbb, 0x33, 0x90, 0xc9, 0x4f, 0xcb, 0x2e, 0xb3, 0x87, 0x7b, + 0xde, 0x40, 0xe5, 0xec, 0x51, 0xb6, 0x19, 0x82, 0x35, 0xc2, 0x33, 0xea, 0xdd, 0x6c, 0x06, 0x00, + 0x13, 0x21, 0x9c, 0x5b, 0xc9, 0x17, 0x41, 0x4e, 0xdc, 0x5a, 0xdf, 0x19, 0x50, 0x60, 0x05, 0x4b, + 0xa4, 0x23, 0x1b, 0x76, 0x2a, 0x47, 0x24, 0xbe, 0x92, 0x36, 0xaf, 0x3e, 0x3b, 0x64, 0x0a, 0x60, + 0x63, 0xd6, 0x4c, 0xf9, 0x4d, 0x68, 0x1b, 0x6f, 0xeb, 0xf2, 0x1f, 0x28, 0x3b, 0xaf, 0x32, 0x03, + 0xba, 0x00, 0x4e, 0xf1, 0x83, 0x80, 0xea, 0x6d, 0xdf, 0x1f, 0xe3, 0x76, 0x91, 0x97, 0x5a, 0x90, + 0x30, 0x59, 0x3c, 0x61, 0x5f, 0x3b, 0xa7, 0x07, 0xc8, 0x03, 0x36, 0x1f, 0xe2, 0xe1, 0x08, 0x4f, + 0xb7, 0xa7, 0xda, 0x13, 0x93, 0xb3, 0xee, 0x0f, 0x84, 0xff, 0x92, 0xc0, 0x7d, 0x45, 0x9d, 0x82, + 0xb9, 0x71, 0x66, 0x66, 0xaf, 0xb9, 0x9e, 0x94, 0x1d, 0xef, 0x6b, 0x04, 0xb8, 0x33, 0x05, 0xc5, + 0xaa, 0xe8, 0xdd, 0xd5, 0x1f, 0xd1, 0x7f, 0xa2, 0xe3, 0xe4, 0xcb, 0xf7, 0x71, 0xef, 0x18, 0x5d, + 0xc0, 0x56, 0x59, 0xb8, 0x17, 0xcf, 0x81, 0x44, 0xd5, 0x43, 0x21, 0x63, 0x30, 0x43, 0xc9, 0xdb, + 0xaf, 0x90, 0x47, 0x2b, 0x8a, 0x3f, 0x2b, 0xa2, 0x06, 0x4b, 0x21, 0xd2, 0x44, 0x97, 0xde, 0x9c, + 0xaa, 0x04, 0x75, 0xe9, 0xff, 0x61, 0x71, 0x18, 0x84, 0x2d, 0xff, 0x80, 0x5c, 0x11, 0x28, 0xd0, + 0x43, 0x65, 0x1d, 0x47, 0x1c, 0xd1, 0x2e, 0xbe, 0xe8, 0x27, 0xb9, 0x8a, 0xbd, 0xda, 0x5c, 0xd5, + 0x23, 0x5a, 0x80, 0xbc, 0x56, 0x03, 0xc4, 0xe6, 0xac, 0x3b, 0x87, 0x60, 0x05, 0x42, 0xc6, 0x57, + 0x4d, 0xc7, 0x61, 0x88, 0x6d, 0xdf, 0x59, 0xd7, 0xdd, 0x59, 0xf2, 0x08, 0xbe, 0x3d, 0x8e, 0x4f, + 0xc5, 0x5d, 0x9f, 0x99, 0x08, 0xce, 0xd7, 0x79, 0xd2, 0xff, 0x07, 0x36, 0x36, 0xed, 0x88, 0x51, + 0xfd, 0x79, 0x07, 0x48, 0x3e, 0xca, 0xd0, 0x04, 0x10, 0x19, 0x78, 0x3b, 0x8f, 0x94, 0xbd, 0x12, + 0x95, 0x6b, 0x5c, 0xfc, 0x1f, 0x94, 0xa3, 0x2b, 0xdc, 0xd4, 0xdc, 0xdb, 0x5c, 0xaa, 0x9e, 0x9e, + 0x3e, 0xeb, 0xf3, 0x63, 0x5f, 0xe5, 0x47, 0x06, 0x73, 0xbb, 0xa4, 0x09, 0x9f, 0x7a, 0xf9, 0x36, + 0x50, 0x77, 0x75, 0x60, 0x26, 0xe3, 0xf0, 0xb2, 0x54, 0x1b, 0x99, 0x4a, 0x81, 0x5a, 0x3a, 0x8b, + 0xe9, 0x89, 0x36, 0xd5, 0x8e, 0x14, 0x1e, 0x7b, 0x73, 0xf7, 0x89, 0xbd, 0x3a, 0xb2, 0xaf, 0x53, + 0x10, 0x67, 0xfc, 0x52, 0x93, 0x28, 0x12, 0x59, 0x63, 0xcb, 0xaf, 0x66, 0x9d, 0xc1, 0x16, 0xba, + 0x05, 0xf6, 0x09, 0x11, 0x3d, 0x71, 0x62, 0xab, 0x14, 0x9f, 0xe1, 0xe7, 0x8d, 0xb6, 0x6a, 0x18, + 0xbb, 0x95, 0xe0, 0xfd, 0x55, 0x89, 0xfc, 0xe0, 0x8c, 0xd2, 0x6c, 0x7d, 0x46, 0x69, 0x40, 0x81, + 0xc1, 0x4f, 0xd9, 0x54, 0xe8, 0xf7, 0x80, 0x3d, 0xf2, 0x84, 0xd3, 0xff, 0x44, 0xfa, 0x72, 0x90, + 0xd1, 0xfa, 0xd6, 0x66, 0x58, 0xfe, 0x3d, 0x00, 0xef, 0xc4, 0x64, 0x15, 0xfb, 0x5f, 0xff, 0xa9, + 0x30, 0xdc, 0x31, 0xf3, 0xff, 0xb6, 0xe3, 0xef, 0xdf, 0x57, 0x7e, 0x51, 0x15, 0x2c, 0xe7, 0x74, + 0xfb, 0xe0, 0xc3, 0x81, 0x2b, 0x3d, 0x6f, 0xbc, 0x2c, 0x74, 0x2b, 0xf5, 0x3a, 0x10, 0x0c, 0x94, + 0xec, 0x44, 0x76, 0x18, 0x30, 0x92, 0x1a, 0xb8, 0x3e, 0xfb, 0xf7, 0xb7, 0xb2, 0xfe, 0x91, 0x10, + 0xa8, 0x41, 0x36, 0xe1, 0x9f, 0xfc, 0x72, 0xf3, 0xaf, 0x45, 0x65, 0xb8, 0x99, 0x9d, 0x20, 0x7f, + 0xe2, 0x80, 0x9b, 0x74, 0x74, 0xfe, 0x41, 0x5d, 0xd4, 0x9a, 0x97, 0x71, 0xe4, 0xea, 0xf6, 0x56, + 0xec, 0x06, 0xb7, 0x68, 0x6e, 0x60, 0xc6, 0xe4, 0x90, 0x23, 0x21, 0xbd, 0x5e, 0x9a, 0xb5, 0xba, + 0x1a, 0xda, 0xaf, 0x11, 0x4c, 0xa4, 0xc5, 0x0a, 0x01, 0x7c, 0xb6, 0x12, 0xeb, 0x88, 0xf1, 0x91, + 0x61, 0x47, 0xc4, 0xd7, 0xd5, 0xc4, 0x4d, 0xb2, 0x7d, 0xe3, 0x04, 0xde, 0x27, 0xea, 0x36, 0xa2, + 0x0c, 0xd3, 0x2e, 0x50, 0x26, 0x20, 0xe9, 0x54, 0x37, 0xb8, 0x98, 0x84, 0x4f, 0x21, 0xd7, 0x62, + 0x83, 0xe1, 0xf7, 0x01, 0x59, 0xf1, 0xbf, 0xe3, 0x44, 0xb7, 0x93, 0x3d, 0xf1, 0x86, 0x46, 0xff, + 0xbc, 0x7b, 0x92, 0x47, 0xf0, 0x5a, 0x39, 0xd8, 0xc0, 0x5f, 0x48, 0x8b, 0x0f, 0xb0, 0xcb, 0x03, + 0xce, 0x26, 0x5c, 0x5e, 0xb5, 0x88, 0x39, 0xb3, 0xb1, 0x18, 0x3a, 0x0d, 0xa5, 0x2f, 0xa2, 0x6b, + 0x3f, 0x10, 0x43, 0xb8, 0x95, 0x54, 0x5a, 0x49, 0xc7, 0x20, 0x2b, 0x28, 0x5b, 0x8a, 0xa7, 0x68, + 0xa8, 0x5d, 0x09, 0xfe, 0xe0, 0xb2, 0xd8, 0x36, 0xdd, 0x6d, 0xae, 0xd4, 0xcc, 0xd7, 0x7d, 0x44, + 0x7f, 0x34, 0x12, 0x8d, 0x70, 0xbd, 0x6f, 0x8f, 0xda, 0x66, 0xb3, 0x19, 0x9b, 0x1b, 0x98, 0xc1, + 0xca, 0xc1, 0x5b, 0xce, 0x37, 0x6a, 0x6d, 0xf6, 0x0b, 0x6e, 0x07, 0xe1, 0x69, 0x7a, 0x1a, 0xa3, + 0x25, 0xad, 0xa2, 0x00, 0x47, 0xd6, 0x3a, 0x15, 0x0b, 0xe0, 0x52, 0x75, 0xe9, 0x21, 0x56, 0xf6, + 0xde, 0x4a, 0x12, 0x68, 0x61, 0x7b, 0x84, 0xb0, 0x90, 0xd1, 0xb9, 0xa6, 0xf7, 0x40, 0xa0, 0xa2, + 0x87, 0xd1, 0x39, 0xdb, 0x3a, 0x6a, 0x76, 0xd3, 0x10, 0xe2, 0x7f, 0x06, 0xf6, 0xc0, 0x0e, 0x0f, + 0x85, 0x7e, 0x90, 0xf2, 0x18, 0x17, 0x9e, 0x44, 0x0b, 0x96, 0x87, 0x8f, 0x84, 0xf9, 0x8e, 0xdd, + 0x19, 0xea, 0x43, 0x21, 0x28, 0xfb, 0x97, 0x8d, 0xa1, 0xd4, 0xb6, 0x48, 0x75, 0xad, 0xd3, 0x80, + 0xc6, 0xf9, 0xe2, 0x5b, 0x38, 0x14, 0x16, 0xd1, 0x5c, 0x3b, 0xe6, 0x77, 0x82, 0x53, 0xf5, 0x23, + 0x1a, 0xca, 0x58, 0x93, 0x09, 0xeb, 0xb4, 0x69, 0x5d, 0x5a, 0x28, 0x8d, 0xfb, 0xef, 0x23, 0x24, + 0x3b, 0x31, 0x02, 0xca, 0x1a, 0xc1, 0x01, 0x06, 0x2f, 0x1a, 0x4b, 0xc1, 0x16, 0xfb, 0x9d, 0x20, + 0x05, 0xc4, 0x7e, 0xe8, 0xa3, 0x8d, 0xd3, 0x97, 0x72, 0xbf, 0x09, 0x03, 0x70, 0xa3, 0x98, 0xfc, + 0xd4, 0xfe, 0x60, 0xbf, 0x07, 0x51, 0xb7, 0xd5, 0x44, 0x31, 0x4b, 0xa5, 0x64, 0x19, 0xd6, 0xd8, + 0xfc, 0x26, 0x33, 0xab, 0x00, 0xb6, 0x51, 0x5a, 0x83, 0x70, 0xc9, 0x57, 0x34, 0xdb, 0x37, 0xb6, + 0x45, 0xcc, 0xe0, 0x38, 0x11, 0x53, 0x6f, 0x11, 0xf6, 0xf3, 0x04, 0x48, 0x82, 0x69, 0x39, 0x6c, + 0x86, 0x64, 0x51, 0x63, 0xac, 0x84, 0x63, 0xc1, 0x65, 0x50, 0xaf, 0x9e, 0xb6, 0x3c, 0x6b, 0xfe, + 0x29, 0x11, 0xed, 0x5d, 0xa9, 0x02, 0x9d, 0x14, 0x7f, 0xce, 0x40, 0xbe, 0x95, 0x7e, 0x9c, 0xb3, + 0xe0, 0xa5, 0x59, 0x4c, 0x79, 0x37, 0xa5, 0x61, 0xcf, 0x09, 0x30, 0x57, 0x09, 0x58, 0xd1, 0x4e, + 0x51, 0xd6, 0x08, 0x7c, 0xf5, 0x1e, 0x21, 0xe2, 0xa6, 0x68, 0x16, 0x8f, 0xfc, 0xdf, 0x87, 0xdf, + 0xda, 0xd1, 0xbb, 0x8e, 0xd4, 0x46, 0xb6, 0xd2, 0x56, 0xf3, 0x0e, 0x06, 0xf5, 0x0e, 0x0c, 0x31, + 0x0c, 0xf6, 0x35, 0x68, 0xa3, 0xdc, 0x8b, 0x45, 0xa6, 0x50, 0xf6, 0xe5, 0x85, 0xf4, 0x98, 0x32, + 0x5c, 0x08, 0x9b, 0xcb, 0x50, 0x23, 0x5e, 0xc5, 0xe5, 0x78, 0x6b, 0x7a, 0xbf, 0x1c, 0x71, 0xe4, + 0xb2, 0x06, 0x3e, 0x79, 0xf4, 0xe7, 0xfa, 0x5f, 0x13, 0x1b, 0x61, 0x50, 0xae, 0x98, 0xc1, 0x83, + 0x43, 0x90, 0x9c, 0xbd, 0x62, 0xf2, 0xc1, 0x55, 0x05, 0x27, 0xd9, 0x5d, 0x0f, 0xc4, 0x43, 0x9b, + 0xaa, 0x11, 0x4c, 0x11, 0x41, 0xec, 0x9a, 0xe6, 0x13, 0x62, 0x9b, 0x29, 0xce, 0x38, 0x2a, 0xf9, + 0x89, 0x7a, 0x30, 0x3c, 0xc1, 0xef, 0x05, 0x7c, 0xdf, 0xc8, 0x0e, 0x7d, 0x59, 0xb0, 0x86, 0xfd, + 0xf0, 0xc6, 0x01, 0x2f, 0x8d, 0xe2, 0xa8, 0xf4, 0x96, 0x21, 0x90, 0x2b, 0xa4, 0x45, 0x6e, 0x9c, + 0xd1, 0xaa, 0x34, 0x00, 0x7f, 0x7c, 0x75, 0x7c, 0xdb, 0xa4, 0x3c, 0xce, 0xac, 0xc0, 0x1a, 0xde, + 0x91, 0xb6, 0xec, 0x93, 0x61, 0x67, 0x5d, 0x1d, 0x9e, 0x8a, 0xe6, 0x21, 0xce, 0x91, 0x17, 0xf2, + 0x03, 0xa2, 0xf5, 0xac, 0x67, 0xa4, 0xa8, 0xdd, 0xc2, 0xc8, 0x30, 0x1d, 0xe1, 0xb7, 0x00, 0x2c, + 0x97, 0x94, 0x4d, 0x67, 0x0b, 0x53, 0x17, 0x4d, 0x2b, 0x79, 0x71, 0xee, 0x99, 0x77, 0xc6, 0x8a, + 0x6d, 0x5d, 0x61, 0x06, 0xc3, 0x14, 0xfd, 0x95, 0xa0, 0x62, 0x25, 0xc0, 0x75, 0x37, 0x99, 0xab, + 0x8f, 0x0f, 0x8f, 0x9f, 0xb2, 0xa5, 0xd6, 0x4e, 0xd1, 0x6f, 0x1f, 0x43, 0xfd, 0x77, 0x81, 0x1c, + 0x77, 0x06, 0x0f, 0xda, 0x63, 0x4d, 0xfb, 0x5e, 0xf7, 0xd5, 0x04, 0x35, 0x92, 0x9c, 0x93, 0x0c, + 0x98, 0x9d, 0xb6, 0x2a, 0x90, 0xb8, 0x6c, 0x66, 0x3f, 0x13, 0xc2, 0x85, 0x2a, 0x95, 0xe4, 0xfb, + 0x99, 0xec, 0x6f, 0x69, 0x6d, 0x49, 0x45, 0xdf, 0xb8, 0x7a, 0x32, 0xb6, 0xb9, 0xdc, 0x43, 0x4e, + 0x49, 0xe6, 0x55, 0x71, 0xf0, 0xf9, 0xa9, 0x56, 0x85, 0xc1, 0xc2, 0xa1, 0x0c, 0x88, 0xc8, 0x9f, + 0x2f, 0x86, 0x9e, 0xb1, 0x05, 0xb8, 0x65, 0xdf, 0x59, 0xee, 0x29, 0x27, 0xb9, 0xd5, 0xb9, 0x13, + 0xb3, 0xea, 0xcc, 0x40, 0x73, 0x7c, 0x2e, 0xc8, 0xe2, 0x81, 0x79, 0xc6, 0x83, 0x99, 0x1f, 0xec, + 0x3d, 0xdb, 0x18, 0x04, 0xf8, 0x78, 0x23, 0x74, 0xf3, 0x45, 0x3f, 0xf7, 0x32, 0xd7, 0x6c, 0xa1, + 0x72, 0x31, 0xdc, 0x67, 0x21, 0xb0, 0xe7, 0x95, 0xb7, 0xb9, 0xee, 0x7a, 0xa4, 0x62, 0x9f, 0x0b, + 0x28, 0x88, 0x7a, 0xcc, 0xa0, 0x21, 0x46, 0x1b, 0x46, 0x36, 0xb3, 0x8b, 0x75, 0x5a, 0x45, 0xde, + 0x10, 0x90, 0x98, 0xba, 0xf1, 0x80, 0x97, 0xfc, 0xf1, 0x33, 0x83, 0x6f, 0x17, 0xf5, 0xdb, 0x12, + 0x9d, 0x71, 0xee, 0xde, 0xc1, 0x86, 0x8c, 0x89, 0x56, 0x03, 0x53, 0x00, 0x69, 0x8a, 0x0e, 0xf6, + 0x2a, 0x26, 0x0e, 0x61, 0xd0, 0xd5, 0xf5, 0xcf, 0x29, 0x47, 0x10, 0xe7, 0x10, 0x48, 0x7b, 0xd1, + 0x72, 0x54, 0x24, 0xb4, 0xec, 0x43, 0xa5, 0x65, 0xba, 0x65, 0xb2, 0x5c, 0x0e, 0x80, 0xbb, 0x7d, + 0x65, 0x7b, 0x2c, 0x4f, 0xe1, 0x2b, 0x50, 0x88, 0xfb, 0x9b, 0x1d, 0xf4, 0xfa, 0x73, 0xea, 0x91, + 0x98, 0xdd, 0x9e, 0xe9, 0xd4, 0xb9, 0xfe, 0x7f, 0x7f, 0xa9, 0x69, 0x97, 0x48, 0x35, 0xcf, 0x22, + 0xbd, 0x40, 0xbd, 0x5b, 0x4b, 0x28, 0xfe, 0xa9, 0x81, 0x00, 0x70, 0x2d, 0x74, 0x22, 0x88, 0x42, + 0x5c, 0xe0, 0x72, 0xfe, 0x78, 0x46, 0x59, 0x82, 0xad, 0x53, 0x95, 0x8c, 0xbb, 0x1d, 0xc3, 0xd4, + 0x8d, 0xee, 0x29, 0xa5, 0x07, 0x22, 0x51, 0x68, 0x70, 0xaf, 0x67, 0x72, 0x38, 0x27, 0x1d, 0xc9, + 0xbb, 0x2d, 0xb9, 0x2d, 0xb4, 0xcc, 0x40, 0x4e, 0x70, 0x3a, 0x85, 0xdd, 0xf2, 0xd1, 0x27, 0xe8, + 0xdb, 0x36, 0x5a, 0xc3, 0xcf, 0x92, 0xb2, 0xfe, 0xd0, 0xac, 0xa6, 0x26, 0x68, 0xdb, 0x08, 0xda, + 0xa5, 0xb9, 0x06, 0xbf, 0x33, 0x4a, 0x3e, 0x67, 0xcf, 0x7a, 0x26, 0x61, 0x83, 0xca, 0x01, 0x04, + 0x72, 0x18, 0x88, 0xd5, 0xf6, 0xa8, 0x14, 0xc2, 0xd3, 0x58, 0xd2, 0x51, 0x27, 0xb5, 0x58, 0x4d, + 0x67, 0x49, 0x78, 0x00, 0xa2, 0x64, 0xbf, 0xd2, 0xd4, 0x71, 0x40, 0x81, 0xc8, 0xac, 0xd5, 0x2f, + 0xad, 0x93, 0x08, 0x58, 0x0f, 0xbc, 0x29, 0xe1, 0x6a, 0x56, 0x84, 0xe8, 0x28, 0xc2, 0x78, 0x6c, + 0x50, 0x64, 0x5d, 0x48, 0xf4, 0x5f, 0xd9, 0xa3, 0x38, 0xfb, 0x5b, 0x31, 0x62, 0x47, 0x0e, 0x56, + 0x9e, 0x77, 0xfc, 0xc0, 0x66, 0x02, 0x20, 0x01, 0x34, 0x0a, 0x74, 0xb4, 0xc7, 0xc1, 0xc0, 0x1e, + 0x7a, 0xd4, 0xe2, 0xcc, 0x0e, 0xf3, 0x66, 0x5b, 0x19, 0xfe, 0xb3, 0x77, 0x7e, 0x05, 0x18, 0xfd, + 0x20, 0x06, 0x1b, 0xbb, 0x90, 0xeb, 0x5a, 0x5e, 0xc8, 0xf6, 0x3e, 0x44, 0x33, 0xe4, 0x28, 0xf3, + 0x89, 0xc9, 0xd0, 0xfc, 0xac, 0x4f, 0xcb, 0x53, 0xbf, 0x5f, 0xca, 0xfe, 0x14, 0x44, 0xf6, 0x77, + 0x04, 0x83, 0x8a, 0x84, 0x72, 0xaa, 0x45, 0xa2, 0xd1, 0x32, 0xea, 0xdd, 0x35, 0xbe, 0x57, 0xa5, + 0x65, 0xc0, 0x67, 0xe6, 0x73, 0x8b, 0xdf, 0x69, 0x66, 0xf5, 0x7b, 0x16, 0x98, 0x63, 0x6d, 0xb9, + 0x8c, 0x99, 0x17, 0x13, 0xba, 0xd1, 0xbf, 0x61, 0xcc, 0x4a, 0xe8, 0x96, 0xdb, 0x78, 0x35, 0x60, + 0xfd, 0x1f, 0xc9, 0xf4, 0x54, 0xbc, 0xc2, 0x1e, 0x89, 0xd6, 0x6e, 0xd9, 0xb5, 0xf3, 0xc4, 0xcb, + 0x24, 0x5b, 0x72, 0xf8, 0x77, 0xd5, 0xc0, 0xa9, 0x54, 0xdb, 0x27, 0xc3, 0x04, 0xf2, 0x09, 0xcc, + 0x23, 0x1b, 0xf2, 0x0d, 0x15, 0xdf, 0x58, 0x27, 0x09, 0x85, 0xfe, 0x10, 0x81, 0xbd, 0xe7, 0x92, + 0xb3, 0xde, 0x49, 0xe7, 0x23, 0x8e, 0xee, 0xf6, 0x52, 0x4a, 0x66, 0x23, 0x3f, 0xf9, 0xca, 0x13, + 0x48, 0xd8, 0x0f, 0x2a, 0xc5, 0x82, 0xe7, 0x5a, 0xb3, 0x88, 0xf5, 0x73, 0xdf, 0x64, 0x6a, 0xdc, + 0xe4, 0x58, 0xc7, 0x70, 0x23, 0xce, 0xb5, 0x24, 0x04, 0xa6, 0xa0, 0x88, 0x93, 0xa8, 0x6b, 0x33, + 0x5d, 0x6a, 0x80, 0x46, 0x3d, 0xc8, 0x34, 0x4e, 0xf1, 0xa5, 0x73, 0x45, 0x56, 0x7c, 0x64, 0xc9, + 0x5f, 0xf0, 0x04, 0x47, 0x7b, 0xb4, 0x0a, 0xda, 0x7e, 0x20, 0x06, 0x54, 0xd1, 0x62, 0x0b, 0x6d, + 0x1f, 0x62, 0x7b, 0xf6, 0xf8, 0x76, 0x3f, 0x15, 0xb6, 0xb8, 0xdd, 0xd5, 0x50, 0xab, 0x50, 0xf3, + 0x56, 0x6c, 0x25, 0x54, 0x9f, 0xd8, 0x5c, 0xd9, 0xf5, 0x05, 0x37, 0x0f, 0x83, 0x87, 0x6c, 0x5c, + 0xdd, 0xf1, 0xd3, 0x0a, 0xa6, 0x44, 0x93, 0x1e, 0x26, 0xab, 0x17, 0xd5, 0x8d, 0x2d, 0x0d, 0xfd, + 0x41, 0x0c, 0xe3, 0x98, 0x91, 0x50, 0xcb, 0xdb, 0x0e, 0x85, 0x51, 0xbb, 0xee, 0x86, 0x7f, 0x3a, + 0x49, 0x4c, 0x2b, 0x0c, 0x6f, 0x78, 0x91, 0xd5, 0x68, 0x12, 0x38, 0x3f, 0x3e, 0x47, 0x10, 0xb4, + 0xac, 0xc1, 0xb8, 0xd0, 0xb8, 0xcd, 0x5e, 0x8b, 0x4f, 0x1c, 0x8c, 0x69, 0x8c, 0x78, 0xb1, 0x89, + 0x74, 0x86, 0x8f, 0x93, 0xd3, 0x2a, 0x8b, 0x83, 0x3e, 0x4e, 0xca, 0xfd, 0x83, 0x58, 0x95, 0x43, + 0xd1, 0xbe, 0x53, 0x58, 0x78, 0xb3, 0x95, 0x10, 0x06, 0x92, 0x50, 0x89, 0xee, 0x25, 0x09, 0x5c, + 0x75, 0x4c, 0xb3, 0x1d, 0x6b, 0x41, 0x14, 0xf5, 0x66, 0xd8, 0xd2, 0xce, 0xe1, 0xef, 0xe8, 0x3d, + 0x59, 0xec, 0xb6, 0xd8, 0xea, 0x8e, 0x82, 0x55, 0x09, 0xd3, 0x43, 0x09, 0x30, 0x2a, 0xc4, 0x8a, + 0x2c, 0x11, 0xb1, 0x72, 0xdf, 0x94, 0xd8, 0xd6, 0x41, 0x48, 0x49, 0x5d, 0x35, 0x66, 0xe1, 0xf0, + 0x8d, 0x95, 0xc5, 0x8d, 0xce, 0xc6, 0xc1, 0x82, 0x35, 0x9a, 0xce, 0xe2, 0x95, 0xe6, 0xd3, 0x2b, + 0x7a, 0xae, 0xb6, 0x33, 0x35, 0xcb, 0x0d, 0xc6, 0x2a, 0xe9, 0x6c, 0xa0, 0x68, 0xf3, 0x6b, 0x94, + 0x32, 0x51, 0x63, 0x60, 0x70, 0xfe, 0x53, 0xd7, 0x0c, 0x98, 0x07, 0xb7, 0xbe, 0x25, 0x53, 0x21, + 0x5c, 0x2f, 0xe0, 0xf4, 0x21, 0x9c, 0x81, 0x0b, 0x8a, 0xae, 0x3b, 0x23, 0x8a, 0x68, 0x2f, 0x23, + 0x79, 0x73, 0x9e, 0xb7, 0x52, 0x41, 0xd1, 0x9f, 0x1a, 0xdc, 0x9e, 0x3d, 0x98, 0xce, 0x32, 0x10, + 0x99, 0xb7, 0x44, 0xad, 0x49, 0xe6, 0x1b, 0x31, 0x82, 0x0f, 0x46, 0x5b, 0x6b, 0xf4, 0xd7, 0x74, + 0x0d, 0x7b, 0x3b, 0xea, 0x5c, 0x22, 0x84, 0x7b, 0x96, 0xc2, 0xab, 0xe3, 0x9f, 0x1a, 0xa3, 0x4f, + 0xd5, 0x2a, 0xc2, 0x12, 0x4a, 0xf8, 0x95, 0x78, 0x0f, 0x0c, 0xd4, 0x5d, 0x61, 0x40, 0xa1, 0x83, + 0xea, 0xfa, 0xf9, 0x2e, 0xe7, 0x70, 0xc2, 0xa4, 0xd5, 0x66, 0xdf, 0x32, 0x0c, 0xb5, 0x73, 0xae, + 0x61, 0xdc, 0x46, 0x58, 0xed, 0x01, 0x75, 0xc4, 0x78, 0xd6, 0x1c, 0x46, 0x33, 0x9b, 0xf3, 0x85, + 0xfd, 0xd3, 0x1b, 0x14, 0xcb, 0x4a, 0x43, 0xa1, 0x26, 0x18, 0x41, 0x42, 0x2a, 0xac, 0x7f, 0x73, + 0xdd, 0x90, 0x7f, 0xda, 0xf8, 0xe4, 0x4d, 0x08, 0x42, 0xdf, 0x05, 0x77, 0x78, 0xa6, 0x3f, 0xcc, + 0x47, 0x67, 0xc8, 0xd6, 0x10, 0xaf, 0x36, 0x76, 0x00, 0xaa, 0x4a, 0x22, 0xb7, 0xae, 0xf2, 0xe9, + 0xee, 0xee, 0x30, 0xf0, 0x95, 0xca, 0xb0, 0xf8, 0xbc, 0xc5, 0x83, 0x97, 0x49, 0xbc, 0x40, 0x30, + 0xaf, 0x71, 0xfb, 0x36, 0x3b, 0x83, 0xe6, 0xff, 0xaf, 0xf1, 0xda, 0xd3, 0x80, 0x1b, 0x2d, 0x08, + 0xf3, 0xc2, 0xaf, 0xab, 0x5c, 0xa8, 0xc1, 0x00, 0x2d, 0xb7, 0x5d, 0xba, 0x5a, 0x3f, 0xf3, 0x0f, + 0xdd, 0x51, 0x9e, 0x93, 0x04, 0xa4, 0xcf, 0x02, 0xd5, 0x16, 0x55, 0xd3, 0xc9, 0x59, 0xc4, 0x11, + 0x8f, 0xe8, 0xdd, 0x4f, 0x37, 0xa9, 0xb2, 0xec, 0xe7, 0x88, 0x85, 0x12, 0x04, 0x7e, 0x06, 0x13, + 0x96, 0x30, 0x1c, 0x3e, 0x5c, 0x70, 0x0c, 0x98, 0xb2, 0x06, 0x1c, 0xe1, 0xe2, 0x61, 0xf3, 0xef, + 0x44, 0x7b, 0xc8, 0xb2, 0x98, 0x16, 0x25, 0x6a, 0xcf, 0x4a, 0xff, 0x1d, 0x12, 0x1f, 0x2f, 0xcf, + 0x3d, 0x7b, 0xfd, 0x46, 0xa5, 0x1b, 0x5d, 0x81, 0xb4, 0x92, 0x8b, 0x32, 0x2c, 0xc9, 0x77, 0x13, + 0x6f, 0x37, 0x7a, 0xfb, 0x1f, 0x77, 0xa0, 0x54, 0xd9, 0xe4, 0x28, 0x97, 0xcf, 0x79, 0x01, 0xf2, + 0x7f, 0x37, 0xb5, 0xfa, 0x2a, 0x81, 0x08, 0x01, 0xec, 0xf1, 0x73, 0x3e, 0x9e, 0xc9, 0xa5, 0xc6, + 0xd5, 0x2c, 0x0a, 0x07, 0x6b, 0x25, 0x2e, 0x3f, 0x87, 0x1d, 0xd0, 0xd0, 0x61, 0xfc, 0xd5, 0xaf, + 0xb6, 0x44, 0x14, 0x81, 0x54, 0x4b, 0xba, 0x3e, 0x86, 0xef, 0xc5, 0x45, 0x97, 0xd1, 0x94, 0x3a, + 0x13, 0x5c, 0x7c, 0x66, 0x12, 0x6d, 0xea, 0x94, 0xcb, 0xa0, 0x15, 0x6b, 0x02, 0x59, 0xc8, 0x61, + 0x8c, 0x9e, 0xb6, 0xdb, 0x31, 0x8b, 0x29, 0xe1, 0x15, 0x84, 0x7e, 0xc5, 0xd9, 0xfc, 0x72, 0x62, + 0x4a, 0x0f, 0xe8, 0x2e, 0x1a, 0x1d, 0x08, 0xf5, 0x1d, 0x4e, 0x34, 0x15, 0x07, 0xd9, 0x48, 0xad, + 0x65, 0x5e, 0x2d, 0xc4, 0x47, 0x9e, 0x31, 0xc2, 0x7d, 0x56, 0x61, 0xda, 0x6f, 0x68, 0x29, 0xa8, + 0x32, 0x41, 0x74, 0xd6, 0x6a, 0xb1, 0x2d, 0x25, 0x52, 0xf6, 0xd5, 0xd9, 0x9d, 0x53, 0x67, 0x5d, + 0x87, 0x3d, 0xb3, 0xb1, 0x1b, 0xab, 0x3b, 0x8c, 0x9f, 0xfc, 0x6e, 0x3f, 0x5d, 0xe7, 0x99, 0x8f, + 0x70, 0x19, 0x0c, 0x1c, 0x1e, 0x9f, 0x3d, 0xfa, 0xc9, 0x28, 0x05, 0x2e, 0x8e, 0x05, 0x89, 0xd9, + 0x7a, 0xae, 0x46, 0xdd, 0xe3, 0x0f, 0xb4, 0xa6, 0x25, 0x94, 0x0e, 0x94, 0xd5, 0xf4, 0xb2, 0x2f, + 0x57, 0x27, 0x72, 0x1a, 0x50, 0xea, 0xd4, 0xce, 0xac, 0xa4, 0xaa, 0x28, 0x13, 0x75, 0x0a, 0xdf, + 0xf2, 0x0d, 0x06, 0x75, 0x98, 0x69, 0x09, 0xf4, 0xc1, 0x7a, 0xaa, 0xc2, 0x15, 0x6a, 0x76, 0xa3, + 0x45, 0xb9, 0x7b, 0xf6, 0x0c, 0xa5, 0xde, 0x43, 0x79, 0x72, 0x18, 0xe8, 0x9d, 0xb4, 0x91, 0xf5, + 0x34, 0x65, 0xcf, 0x2c, 0x43, 0x0a, 0x2f, 0xcc, 0x25, 0x4f, 0xfe, 0xbd, 0x3a, 0x95, 0xf9, 0xa6, + 0x9a, 0x54, 0x43, 0x31, 0xec, 0x79, 0xa2, 0xb3, 0x9f, 0x74, 0xaa, 0xde, 0xb7, 0x10, 0x67, 0x6c, + 0xa1, 0x94, 0x26, 0xb4, 0xee, 0x79, 0x5f, 0x41, 0x86, 0xfd, 0x45, 0xaa, 0xac, 0xe9, 0x95, 0xfa, + 0xd8, 0x82, 0x1c, 0x13, 0xca, 0x1a, 0x49, 0x05, 0x16, 0x57, 0x62, 0xbc, 0x65, 0xca, 0x2b, 0xc0, + 0x36, 0x78, 0x8d, 0x3f, 0x0e, 0x31, 0x0c, 0x93, 0x22, 0x69, 0xb6, 0xe3, 0x8c, 0xfb, 0xeb, 0xd7, + 0xac, 0xb3, 0x40, 0x78, 0x3b, 0xbb, 0xc0, 0x4a, 0xb5, 0x2e, 0xd5, 0xdd, 0x63, 0x13, 0x1a, 0xd8, + 0x92, 0xe8, 0x22, 0xa4, 0xd6, 0xea, 0xec, 0x00, 0x25, 0xfe, 0xe2, 0xcd, 0xc4, 0xeb, 0x13, 0x92, + 0x2b, 0x08, 0x02, 0x40, 0xf7, 0x85, 0xc2, 0x4f, 0x86, 0xea, 0xcc, 0xd9, 0xdd, 0x59, 0x8b, 0x3b, + 0x2b, 0x04, 0xfa, 0x34, 0x1d, 0x3e, 0xef, 0x65, 0xff, 0xcf, 0x54, 0x12, 0x4e, 0xa1, 0xb6, 0x80, + 0x9f, 0x5c, 0xf9, 0x72, 0xc8, 0xd5, 0x65, 0x00, 0xb8, 0x55, 0xf6, 0xaa, 0x7c, 0x92, 0x42, 0x3d, + 0x33, 0xfb, 0x85, 0x55, 0x19, 0x06, 0x0c, 0xd5, 0x85, 0x9e, 0xbb, 0xd1, 0xc4, 0xa9, 0x20, 0x6a, + 0xc7, 0xb2, 0x66, 0xa6, 0x02, 0xc8, 0x81, 0x82, 0x13, 0xfc, 0x44, 0xb0, 0xc0, 0x92, 0x61, 0x9b, + 0xf6, 0x6d, 0xe8, 0xeb, 0xd9, 0x6b, 0x58, 0xc0, 0x21, 0xe0, 0x5e, 0x9e, 0xc0, 0x20, 0xa9, 0x9f, + 0xcb, 0x24, 0x49, 0xa1, 0x69, 0x0a, 0x07, 0x19, 0x5b, 0x1c, 0x7a, 0x8d, 0x34, 0x64, 0x8d, 0xf5, + 0xa5, 0x14, 0x94, 0xe9, 0x91, 0x96, 0xd4, 0x3f, 0x45, 0xc8, 0x7a, 0x5b, 0xae, 0x0f, 0x2f, 0xdf, + 0x29, 0x88, 0x93, 0xba, 0x04, 0xdd, 0xcf, 0x74, 0x24, 0xab, 0xbc, 0xb3, 0x14, 0xbd, 0x70, 0xe2, + 0xa1, 0x64, 0x28, 0x4c, 0x33, 0x0a, 0xac, 0x57, 0xa3, 0x84, 0x98, 0x3c, 0x8f, 0x47, 0x77, 0x58, + 0xcc, 0xfc, 0x41, 0xf6, 0xaa, 0x2f, 0xb7, 0x4c, 0x36, 0x43, 0x7b, 0x37, 0x92, 0xa8, 0x08, 0xd9, + 0x49, 0x43, 0xd8, 0x38, 0x14, 0x25, 0xb2, 0x78, 0xe6, 0xa3, 0xf8, 0x47, 0x04, 0x8e, 0xb4, 0xb3, + 0x99, 0x07, 0x47, 0x91, 0xdc, 0x37, 0xb1, 0x4e, 0x0b, 0x98, 0x22, 0xbe, 0x80, 0xc6, 0x80, 0xb6, + 0x7a, 0x5d, 0xea, 0x89, 0x65, 0x0b, 0x58, 0x56, 0x04, 0x0b, 0xcf, 0xa6, 0xb7, 0xab, 0x2d, 0x7e, + 0x08, 0x72, 0x88, 0x32, 0x9b, 0xcd, 0xf5, 0xda, 0x82, 0xb4, 0x09, 0x79, 0xb4, 0x30, 0x82, 0x52, + 0x06, 0x45, 0x31, 0x5b, 0xac, 0x5b, 0xb2, 0x9c, 0x0d, 0xe1, 0xc7, 0xaf, 0x52, 0xf8, 0x16, 0x08, + 0xa7, 0xe4, 0x53, 0x4e, 0x3c, 0x95, 0x6c, 0xd3, 0xc7, 0x77, 0xab, 0xae, 0xe9, 0x72, 0x9a, 0xee, + 0x80, 0xb6, 0x53, 0x19, 0x2e, 0xab, 0xe3, 0xbf, 0x77, 0x36, 0xc1, 0xd5, 0xda, 0x6a, 0xd0, 0xaf, + 0xc7, 0xc7, 0x6f, 0x6c, 0x0b, 0x5e, 0xea, 0x9e, 0x2b, 0x82, 0xbc, 0x88, 0x7b, 0x5c, 0xd2, 0x57, + 0xb1, 0xde, 0x36, 0x11, 0x83, 0xf0, 0xa9, 0xff, 0xed, 0x22, 0x48, 0x3e, 0xee, 0xe7, 0x5c, 0x2d, + 0x20, 0x5f, 0x88, 0x5f, 0xd6, 0x8d, 0xa8, 0x3d, 0xa3, 0x04, 0x0d, 0xeb, 0x82, 0x86, 0xc4, 0x3f, + 0xff, 0x69, 0x60, 0xd0, 0x4d, 0x93, 0xb7, 0x52, 0xeb, 0xe9, 0xa0, 0x85, 0x5c, 0x19, 0x3a, 0x9d, + 0x60, 0xd2, 0xa5, 0x6f, 0xcc, 0xd9, 0x51, 0x37, 0x19, 0xcb, 0xa7, 0x28, 0xf1, 0xd5, 0xa7, 0xc0, + 0x92, 0x96, 0x10, 0x67, 0xe8, 0x99, 0xf7, 0xd7, 0xe4, 0xfd, 0xdd, 0x6c, 0x99, 0x57, 0x71, 0x0a, + 0x1a, 0x57, 0x58, 0x0f, 0xca, 0x3c, 0x94, 0x62, 0xbd, 0x69, 0x4c, 0x65, 0x59, 0xa7, 0x18, 0x69, + 0x74, 0xaa, 0x42, 0x60, 0x1a, 0x2a, 0x23, 0x11, 0xa7, 0x69, 0xf7, 0x67, 0x6e, 0xb3, 0xbc, 0x98, + 0xb3, 0x04, 0x9e, 0xb3, 0xc7, 0xe3, 0x5d, 0x54, 0xcb, 0x16, 0xb5, 0x75, 0x42, 0xc1, 0xb2, 0xe5, + 0xb3, 0x04, 0x41, 0x32, 0xba, 0xd9, 0x06, 0x3e, 0xb7, 0x9c, 0x14, 0x95, 0xdc, 0x86, 0x36, 0x8e, + 0x2e, 0x18, 0x7c, 0xaf, 0x44, 0x1d, 0x5c, 0x2c, 0x9a, 0x72, 0x9d, 0xf2, 0x37, 0x07, 0x9a, 0xbe, + 0x3b, 0xac, 0xb6, 0x5e, 0xba, 0x3a, 0x75, 0x35, 0x1a, 0x2c, 0x5e, 0xe9, 0xd5, 0x98, 0x7d, 0x93, + 0x75, 0x9f, 0x7a, 0x82, 0x9d, 0xfe, 0xd9, 0xde, 0x1c, 0x1e, 0x56, 0x9e, 0x19, 0x25, 0xd4, 0xbb, + 0x3b, 0x68, 0x31, 0x4f, 0x02, 0xd4, 0x33, 0x48, 0x12, 0x37, 0xa6, 0x70, 0x50, 0x85, 0x4a, 0x87, + 0xc8, 0x7c, 0x64, 0x27, 0x43, 0x53, 0x0e, 0x5a, 0xcf, 0x7a, 0x17, 0x29, 0xcf, 0xa0, 0xba, 0xb2, + 0xb4, 0x60, 0x39, 0xa6, 0x2b, 0x7b, 0xfd, 0xe8, 0xee, 0x22, 0x1e, 0x79, 0xaf, 0x6e, 0xbb, 0x5c, + 0x35, 0x1a, 0x69, 0xc5, 0x84, 0x48, 0x01, 0x8f, 0x82, 0xc0, 0x0f, 0x00, 0x20, 0x5f, 0xdd, 0x1e, + 0x31, 0xd5, 0x77, 0x85, 0x3e, 0x9b, 0x45, 0xd9, 0x1d, 0xaa, 0x64, 0x27, 0x55, 0xf9, 0x1c, 0x29, + 0xdc, 0xd5, 0xfc, 0x55, 0xdf, 0x30, 0x42, 0x0a, 0x85, 0xfe, 0x7c, 0xf3, 0xab, 0x0e, 0xbb, 0x61, + 0xa2, 0x1d, 0x4d, 0xc8, 0xaf, 0x40, 0x85, 0xf9, 0x73, 0xc3, 0x70, 0xba, 0xe9, 0xa9, 0x36, 0xd7, + 0xef, 0x3f, 0x28, 0x84, 0x07, 0x3c, 0x9c, 0x60, 0x4a, 0x89, 0x4d, 0x42, 0x67, 0xde, 0xb6, 0x30, + 0x5f, 0x19, 0x5f, 0x13, 0x0a, 0x94, 0x0b, 0x7c, 0x89, 0x54, 0x91, 0xd1, 0xeb, 0x3f, 0x1b, 0x1c, + 0xce, 0xbc, 0x16, 0xad, 0x17, 0x83, 0xaf, 0x47, 0xfe, 0xe9, 0xdd, 0x01, 0x28, 0x31, 0xab, 0x21, + 0x1a, 0x91, 0x48, 0xfb, 0xd1, 0x58, 0x42, 0xb3, 0x4b, 0xe1, 0x8a, 0x89, 0x41, 0xfc, 0x10, 0xc7, + 0xf0, 0x2a, 0xb9, 0x36, 0x3e, 0xa5, 0xc1, 0xed, 0xf8, 0x11, 0xb2, 0x9f, 0x0f, 0x64, 0x9b, 0x84, + 0x49, 0xea, 0xd5, 0x6a, 0xa3, 0x90, 0x0d, 0x12, 0xc2, 0xbf, 0xc9, 0xbc, 0x62, 0xd8, 0xfd, 0x17, + 0x39, 0xb9, 0xba, 0xbe, 0x78, 0xf3, 0x3c, 0x41, 0xdc, 0x37, 0x0a, 0xe5, 0x8e, 0x99, 0x13, 0xbe, + 0xf5, 0x9e, 0x2b, 0xc0, 0xe3, 0x5e, 0x08, 0xcc, 0x66, 0x8a, 0xf9, 0xf1, 0x47, 0x78, 0x78, 0x42, + 0xb1, 0x91, 0xb0, 0x2f, 0x8f, 0x88, 0xf3, 0xb6, 0x3e, 0xad, 0xf0, 0xea, 0x2e, 0x48, 0x76, 0x33, + 0xd0, 0x1e, 0xc0, 0xc0, 0xb1, 0x07, 0xfd, 0xd3, 0x2d, 0x2b, 0x8d, 0x26, 0xd1, 0x3c, 0xc7, 0x34, + 0xc9, 0xec, 0xea, 0x95, 0xa3, 0xd8, 0xc2, 0x2a, 0xfd, 0x57, 0xec, 0x18, 0x44, 0x6a, 0x3a, 0x40, + 0x21, 0x58, 0xf2, 0x06, 0xb3, 0xf2, 0xf4, 0xb0, 0xf8, 0x2d, 0x0b, 0x31, 0x71, 0x5f, 0xe1, 0x37, + 0xcf, 0x7b, 0x0d, 0xb2, 0xe7, 0x74, 0x45, 0x8c, 0x95, 0xbc, 0x90, 0x50, 0x66, 0xec, 0xaf, 0x78, + 0x78, 0xde, 0x0d, 0x31, 0x03, 0x59, 0x1f, 0x15, 0x7e, 0x35, 0xf4, 0xcb, 0x4f, 0x12, 0xbe, 0xa8, + 0xfb, 0xdc, 0x9d, 0xa0, 0x91, 0x80, 0x9a, 0xd4, 0x79, 0xda, 0xac, 0xcd, 0x61, 0x41, 0x0f, 0x61, + 0x3f, 0xdf, 0xe5, 0x7c, 0xf5, 0xf2, 0xcd, 0x28, 0x87, 0x36, 0x55, 0x15, 0x76, 0x61, 0x1b, 0xcc, + 0x71, 0xe2, 0x49, 0x0f, 0xd5, 0x24, 0x60, 0x4d, 0x39, 0x20, 0xe3, 0x99, 0x10, 0xfe, 0x4a, 0x8e, + 0xc1, 0x93, 0x19, 0x64, 0x35, 0x10, 0x30, 0x7b, 0x7d, 0xae, 0x2d, 0x31, 0x49, 0xa2, 0x84, 0xb9, + 0x4c, 0x8f, 0x70, 0xf0, 0x66, 0x85, 0x3f, 0x71, 0x63, 0x51, 0xdc, 0x1b, 0x12, 0x3a, 0xf3, 0xd5, + 0xa1, 0x5e, 0xa6, 0x40, 0x29, 0x08, 0x39, 0x20, 0xed, 0xec, 0x58, 0xb4, 0xbb, 0xac, 0x67, 0x94, + 0x54, 0x6a, 0x93, 0xf5, 0xfa, 0x41, 0xd6, 0x9a, 0x7a, 0xa2, 0xad, 0x8c, 0x85, 0xa6, 0xf9, 0x44, + 0x7b, 0xe8, 0x1d, 0xed, 0x64, 0xca, 0xda, 0x53, 0x1e, 0x1b, 0xb2, 0x84, 0xa4, 0x46, 0xd3, 0xb9, + 0x99, 0xab, 0xaa, 0x81, 0x80, 0x27, 0xcc, 0x52, 0x7f, 0x95, 0x90, 0x84, 0x34, 0x4f, 0x29, 0x44, + 0x08, 0xba, 0xb3, 0xcb, 0x44, 0x54, 0xfc, 0x02, 0x20, 0xde, 0x09, 0xe0, 0x79, 0x39, 0x4c, 0x83, + 0x67, 0x81, 0xc2, 0xbc, 0xd3, 0x62, 0x2b, 0x85, 0xd2, 0x46, 0x5e, 0x92, 0x30, 0x87, 0x5a, 0xd1, + 0xd1, 0xa5, 0x25, 0x96, 0x55, 0x89, 0x79, 0x0e, 0xbb, 0x05, 0xf1, 0x87, 0x03, 0xa6, 0x4d, 0xf9, + 0x15, 0xb3, 0x07, 0xf5, 0xa5, 0x5d, 0x2d, 0xb9, 0x28, 0xc9, 0x0f, 0xe8, 0x41, 0xda, 0xaa, 0xc7, + 0xed, 0x33, 0xb2, 0xcf, 0xd4, 0x8b, 0x5f, 0x99, 0x59, 0x86, 0x9e, 0xa8, 0xc6, 0xd8, 0xc8, 0xe7, + 0x20, 0xcd, 0xfd, 0xbf, 0x10, 0xe2, 0xa9, 0x25, 0x9b, 0xa4, 0x7a, 0xa7, 0xab, 0xac, 0x7b, 0x30, + 0x08, 0xd0, 0xb6, 0x2d, 0x18, 0xf0, 0x66, 0x31, 0xb6, 0x58, 0x22, 0x77, 0xa1, 0x84, 0x8f, 0xdf, + 0x3e, 0x5a, 0x32, 0x3d, 0xa8, 0xa0, 0xe1, 0xd2, 0xee, 0x0b, 0xf1, 0xc0, 0x47, 0x18, 0x62, 0x43, + 0x95, 0x7b, 0x6f, 0x17, 0x96, 0xb5, 0xc2, 0x93, 0xe5, 0x2d, 0x67, 0xfc, 0x12, 0x52, 0x31, 0xc8, + 0x15, 0x0f, 0x82, 0xf0, 0x97, 0xa8, 0xa1, 0xdb, 0x1f, 0x8a, 0xd5, 0xa9, 0xb3, 0xa3, 0x08, 0x37, + 0x14, 0xb1, 0x16, 0xa7, 0x1c, 0x4e, 0x95, 0x8c, 0x7d, 0xe2, 0xe2, 0x9c, 0x92, 0x27, 0xac, 0x4f, + 0xcf, 0xf2, 0x71, 0xd2, 0x0d, 0xa3, 0x0b, 0x10, 0xe3, 0x89, 0xa3, 0xc7, 0x19, 0xa3, 0x38, 0x58, + 0xa4, 0xb5, 0x65, 0x9f, 0xd0, 0xd4, 0x8f, 0x79, 0x5e, 0xdc, 0xda, 0xb8, 0x68, 0xd1, 0x31, 0x20, + 0x0e, 0x10, 0x9c, 0x13, 0xc5, 0x06, 0xea, 0x72, 0xf1, 0x54, 0x2a, 0x66, 0x12, 0xea, 0x49, 0x3e, + 0x95, 0x2b, 0xce, 0x80, 0xe1, 0x20, 0xc4, 0xd2, 0xe5, 0x2d, 0xae, 0x39, 0x84, 0x71, 0x4c, 0xf6, + 0xad, 0x5d, 0x76, 0xa0, 0xd9, 0xd1, 0x70, 0x41, 0x98, 0xa4, 0x13, 0xa7, 0xff, 0xca, 0xee, 0x80, + 0x22, 0x16, 0xd9, 0x16, 0xc4, 0xcf, 0x39, 0xad, 0xb4, 0xa0, 0x31, 0x04, 0x35, 0xf9, 0x94, 0x08, + 0xfc, 0x42, 0x97, 0x04, 0xad, 0x48, 0x8f, 0x1f, 0x9c, 0xe6, 0x17, 0x34, 0x7d, 0x84, 0x28, 0x03, + 0x88, 0x1f, 0x0f, 0xe9, 0x23, 0x9f, 0xf7, 0x97, 0x3a, 0xdd, 0xbd, 0x4b, 0x27, 0x79, 0xa7, 0xeb, + 0xcb, 0x62, 0x1d, 0x8e, 0xf4, 0xac, 0x57, 0x1e, 0x9a, 0x88, 0x65, 0x02, 0x7e, 0xaa, 0x21, 0x4d, + 0x32, 0x47, 0x38, 0xa4, 0x1d, 0x1f, 0x11, 0x98, 0x65, 0xa4, 0x77, 0x83, 0xde, 0x17, 0x55, 0xb2, + 0x21, 0x7e, 0xad, 0xe8, 0x3e, 0x63, 0x11, 0xc0, 0xe6, 0x5c, 0xd2, 0x66, 0x92, 0x1d, 0x22, 0x9d, + 0x26, 0x30, 0x05, 0xb5, 0xae, 0xa3, 0x38, 0x40, 0x74, 0xd9, 0x43, 0x97, 0x58, 0x13, 0x54, 0x9a, + 0x86, 0xfd, 0xc2, 0x70, 0x5f, 0x27, 0x4e, 0x5c, 0x74, 0xb1, 0xb2, 0x1f, 0xaa, 0x27, 0x35, 0xd5, + 0x80, 0xfd, 0x03, 0x1f, 0x92, 0x2a, 0x6d, 0x54, 0x76, 0xa8, 0xb2, 0x82, 0x72, 0x83, 0xc7, 0x43, + 0x0c, 0xe0, 0x08, 0xa1, 0x01, 0x3b, 0x53, 0x80, 0x4a, 0xf1, 0xd8, 0x90, 0x78, 0xb3, 0xcc, 0x05, + 0xff, 0x77, 0xa3, 0x48, 0x54, 0x64, 0xe6, 0xb3, 0x15, 0xf5, 0xa4, 0xc0, 0x1d, 0xf8, 0x12, 0xd4, + 0x7f, 0xfa, 0x88, 0x4b, 0x1a, 0x20, 0x2e, 0x03, 0x9d, 0xe9, 0x76, 0xb3, 0xa4, 0x33, 0xfc, 0xe0, + 0x97, 0x18, 0x46, 0xc8, 0x05, 0xb2, 0xbf, 0x40, 0x11, 0x4f, 0xb2, 0x8e, 0xbe, 0x22, 0xb2, 0xe8, + 0x97, 0x9c, 0xac, 0x67, 0xfb, 0x0a, 0x8e, 0x3b, 0x54, 0xf1, 0x4b, 0xce, 0xda, 0x5d, 0xac, 0xc6, + 0x37, 0x1b, 0xcc, 0x91, 0x23, 0x0f, 0x54, 0x56, 0xf5, 0x17, 0x81, 0x60, 0xde, 0xa3, 0x79, 0x59, + 0x21, 0xf2, 0xbc, 0x77, 0x43, 0xc3, 0xea, 0x35, 0x8b, 0x5a, 0xe0, 0x6b, 0xf2, 0xac, 0x12, 0xf0, + 0xf3, 0x4b, 0xbf, 0x6b, 0x6f, 0x20, 0x47, 0xa7, 0x47, 0xb4, 0x74, 0xbc, 0x75, 0xd8, 0x61, 0x2d, + 0xe0, 0x80, 0xd7, 0xb0, 0xa4, 0x3b, 0x3a, 0x24, 0x92, 0xb5, 0x29, 0x42, 0x45, 0xbc, 0xa4, 0xb0, + 0xd2, 0xed, 0x04, 0xf4, 0x13, 0xf9, 0x99, 0x7e, 0x87, 0x86, 0x37, 0x24, 0xb2, 0x9a, 0x4c, 0x78, + 0x4f, 0x8e, 0x6b, 0x66, 0x19, 0x26, 0xa8, 0x75, 0x28, 0x7d, 0x03, 0x40, 0xd7, 0x18, 0xda, 0xfd, + 0x74, 0xc6, 0x77, 0x20, 0xbd, 0x57, 0x77, 0xa0, 0x27, 0x35, 0x3e, 0xf5, 0xf2, 0x52, 0xf4, 0xca, + 0xcd, 0x5f, 0xc0, 0x3a, 0x58, 0xfa, 0xac, 0x1f, 0x2f, 0x9b, 0xf6, 0x90, 0xbc, 0xcb, 0xa8, 0xf5, + 0x65, 0x97, 0xa8, 0x5e, 0x45, 0x72, 0x5e, 0xe0, 0x11, 0x56, 0x4d, 0xb1, 0xb1, 0x9e, 0xe8, 0x42, + 0xfb, 0x01, 0x00, 0x94, 0x15, 0x65, 0xa7, 0x8f, 0x40, 0xfd, 0x80, 0xe4, 0x61, 0x98, 0x8f, 0x6b, + 0xea, 0x59, 0x45, 0xa6, 0x45, 0x25, 0xc6, 0x64, 0xfc, 0xde, 0x2d, 0x12, 0x7e, 0x47, 0xb0, 0x1d, + 0x7e, 0x2e, 0xa9, 0x44, 0x6e, 0xd9, 0x9e, 0xf3, 0x53, 0x76, 0x6a, 0xa6, 0x41, 0x8a, 0xfd, 0xe0, + 0xf4, 0x69, 0xff, 0xe4, 0x67, 0x5f, 0xa8, 0x0e, 0xf7, 0xc3, 0xfc, 0x26, 0x2c, 0x91, 0xa0, 0x1b, + 0x8b, 0xe5, 0xf6, 0x06, 0xb2, 0xb6, 0x7f, 0x6f, 0xb0, 0xa7, 0x70, 0xc2, 0x22, 0xc0, 0x23, 0x0d, + 0xa7, 0x75, 0x7b, 0x7e, 0x2c, 0x28, 0xe8, 0x4d, 0xe0, 0x95, 0x6a, 0x28, 0x2f, 0xa4, 0xd5, 0xa2, + 0x18, 0xbb, 0xe1, 0x97, 0xa8, 0x12, 0x7d, 0xd0, 0xb8, 0xe0, 0xd6, 0xed, 0x9a, 0x4c, 0xc9, 0xdb, + 0xd3, 0xf5, 0x91, 0xcd, 0xa4, 0x69, 0xde, 0x40, 0xa7, 0xe9, 0x08, 0xb5, 0xbc, 0x60, 0x07, 0x07, + 0xc0, 0xc2, 0x78, 0xd3, 0x00, 0x8d, 0xc6, 0x43, 0x90, 0x0e, 0xdf, 0x77, 0x6a, 0x15, 0x1a, 0x02, + 0xc5, 0xf6, 0x88, 0x7b, 0x31, 0xf4, 0x15, 0x63, 0x58, 0x71, 0x20, 0x9b, 0xcd, 0xed, 0xa0, 0x99, + 0xec, 0xfb, 0x33, 0x38, 0xf3, 0xdd, 0xab, 0x86, 0xfa, 0x0c, 0x3d, 0xe8, 0x08, 0x5f, 0xe7, 0xbc, + 0x80, 0x8e, 0x1f, 0x06, 0xe7, 0x45, 0x41, 0xe7, 0xcf, 0xd9, 0x57, 0x1e, 0xed, 0xf0, 0x94, 0xbc, + 0xbb, 0x41, 0xdb, 0x44, 0x4f, 0xc2, 0xab, 0xd9, 0xb6, 0x4e, 0xea, 0xe4, 0xf6, 0x5c, 0x3c, 0x06, + 0xb7, 0xe7, 0xb9, 0x09, 0x6b, 0x43, 0x12, 0x18, 0x86, 0x90, 0xda, 0x03, 0x72, 0x1a, 0xcb, 0x8b, + 0x15, 0x72, 0x5b, 0x33, 0xbb, 0x1a, 0x33, 0xf3, 0x1c, 0xbb, 0x88, 0x32, 0x11, 0x88, 0x04, 0x0f, + 0xbe, 0x91, 0x19, 0x0d, 0xf2, 0xa8, 0x04, 0xea, 0xe6, 0x4f, 0xc2, 0xa0, 0xb2, 0xf7, 0x2b, 0x6e, + 0x16, 0x9a, 0x30, 0x1a, 0xe7, 0x6b, 0xd5, 0x28, 0xa5, 0xda, 0x83, 0xc1, 0x3d, 0x69, 0xda, 0x7a, + 0xbe, 0xcf, 0x52, 0x9e, 0x5b, 0x35, 0x75, 0x63, 0x16, 0x5c, 0x9f, 0x7a, 0xbe, 0x62, 0xf6, 0xcf, + 0xa3, 0x17, 0x5d, 0x27, 0xdf, 0xac, 0x12, 0xb0, 0xd6, 0x19, 0x6b, 0xe2, 0x96, 0xfd, 0x73, 0xba, + 0xaf, 0x4c, 0xb9, 0xa3, 0xd3, 0x75, 0xfa, 0xcc, 0x25, 0xef, 0xf6, 0x7d, 0xf9, 0x3f, 0xd1, 0x91, + 0xd5, 0x6b, 0xa6, 0x5c, 0x09, 0x04, 0x1a, 0x42, 0x40, 0x0b, 0xd7, 0xc8, 0x03, 0x0e, 0x4a, 0x96, + 0xaa, 0xab, 0x0c, 0xae, 0x92, 0x3d, 0x8d, 0xf7, 0xde, 0xb6, 0x7d, 0x21, 0x01, 0xda, 0xfd, 0xee, + 0x3a, 0x1f, 0x33, 0xcb, 0xa8, 0x83, 0x67, 0xa9, 0x2f, 0x46, 0xe7, 0xb2, 0x77, 0x9c, 0x1a, 0xbb, + 0x54, 0x9c, 0xb3, 0xce, 0x8e, 0x21, 0xb9, 0xd7, 0xff, 0x84, 0x04, 0x29, 0xd4, 0xaf, 0x28, 0x26, + 0xd8, 0x9b, 0x63, 0x77, 0x57, 0x90, 0xa5, 0x11, 0xef, 0xbb, 0x15, 0x88, 0xeb, 0x90, 0x4f, 0x4a, + 0x93, 0x62, 0x38, 0x06, 0x27, 0x24, 0x5a, 0xc9, 0xce, 0x0d, 0xc7, 0xd7, 0xf8, 0xa2, 0x3a, 0x95, + 0x9b, 0xe4, 0x9a, 0x78, 0x02, 0x3a, 0xad, 0xbd, 0x2e, 0x62, 0x58, 0x15, 0x24, 0xda, 0x2d, 0x29, + 0x98, 0x4a, 0x99, 0x85, 0x20, 0xfd, 0xc3, 0xe1, 0xdb, 0x71, 0x56, 0xc5, 0xf6, 0x0d, 0xb0, 0x11, + 0x1a, 0x1b, 0x02, 0x74, 0x72, 0xf6, 0xdd, 0x6c, 0xe7, 0x00, 0xe3, 0x6d, 0x2f, 0x64, 0x0b, 0xdc, + 0x0f, 0x16, 0x0f, 0x2c, 0x85, 0x6c, 0x1c, 0xea, 0x2e, 0xc7, 0x83, 0xa3, 0xe8, 0xd3, 0xb3, 0x45, + 0x7b, 0x70, 0x3a, 0x0a, 0x9d, 0x00, 0xf1, 0x7d, 0xbb, 0xbd, 0x54, 0x18, 0x48, 0x17, 0x0f, 0xd4, + 0x17, 0x77, 0x6a, 0xc5, 0x2b, 0x88, 0xe0, 0x7b, 0x84, 0xb7, 0xad, 0xa3, 0xaf, 0x5a, 0x59, 0x93, + 0x92, 0xda, 0xd0, 0xe5, 0x2b, 0xca, 0xb9, 0x0b, 0x88, 0x8d, 0x74, 0xdb, 0xcb, 0x32, 0x32, 0x0b, + 0x54, 0x98, 0xe9, 0x92, 0x27, 0x73, 0xdb, 0x1f, 0xe0, 0x60, 0x11, 0xb1, 0x70, 0x76, 0x38, 0xbb, + 0xdf, 0x32, 0x6b, 0x37, 0xba, 0x78, 0x07, 0x10, 0x4f, 0xc6, 0xa8, 0xb7, 0x4c, 0x31, 0xa8, 0x5a, + 0x33, 0xfe, 0x5f, 0xc6, 0x34, 0x23, 0xbe, 0x65, 0x8a, 0xfb, 0x44, 0x61, 0xf7, 0x8a, 0x17, 0x4a, + 0xe3, 0xcc, 0x0f, 0xf9, 0x32, 0x91, 0xe0, 0x93, 0xca, 0xf3, 0x21, 0x22, 0x5f, 0x30, 0x59, 0x07, + 0x40, 0xe6, 0x80, 0x85, 0xd3, 0x74, 0x50, 0x8b, 0x2d, 0x12, 0xc7, 0x7a, 0xd3, 0x16, 0x42, 0xfe, + 0xe1, 0xcb, 0xf4, 0xe8, 0x27, 0x98, 0xb6, 0x89, 0x77, 0x39, 0x37, 0x34, 0xe7, 0x3d, 0xc7, 0xcf, + 0xbd, 0xf2, 0xe6, 0x6d, 0x0a, 0xb9, 0x34, 0x6a, 0xfe, 0xd0, 0xdf, 0x9d, 0x34, 0x97, 0xad, 0xc7, + 0xb1, 0x42, 0x3a, 0xb3, 0x08, 0xfa, 0xb7, 0x2d, 0x88, 0xed, 0xff, 0x82, 0xdf, 0x12, 0x13, 0x90, + 0x01, 0x40, 0xcb, 0x59, 0xa6, 0x80, 0x9c, 0x36, 0x5f, 0xfd, 0x21, 0xe5, 0x34, 0x08, 0x85, 0x71, + 0xf7, 0xd8, 0x6d, 0xd6, 0xbf, 0x76, 0x49, 0x52, 0xa9, 0xf1, 0x21, 0x26, 0xb4, 0xa7, 0x74, 0xed, + 0x9f, 0x96, 0x80, 0x8f, 0x4b, 0x9b, 0x64, 0xd7, 0x42, 0x9e, 0xe4, 0xc3, 0x5a, 0xdd, 0xfd, 0x43, + 0x32, 0xf6, 0x6a, 0x88, 0x71, 0x96, 0xc4, 0xe4, 0x5c, 0xf3, 0xa3, 0x0d, 0x76, 0xb3, 0x42, 0x98, + 0x93, 0x84, 0xbf, 0xc2, 0x16, 0x59, 0x84, 0x68, 0x2b, 0x9c, 0xd7, 0x32, 0x60, 0x9c, 0x9d, 0x9f, + 0x47, 0xcf, 0x8a, 0xa4, 0x80, 0x3d, 0xd1, 0x25, 0xcc, 0xc7, 0x90, 0xdf, 0xa5, 0x14, 0x51, 0x3c, + 0x1b, 0x12, 0x4a, 0x89, 0x7f, 0x0b, 0x61, 0x49, 0x30, 0x86, 0xc5, 0x58, 0x3a, 0xe4, 0x4f, 0xc5, + 0xf6, 0xb5, 0xc9, 0x56, 0x94, 0xa8, 0xfa, 0xed, 0xeb, 0x0e, 0xdc, 0x37, 0x52, 0xa5, 0x01, 0xda, + 0x38, 0xae, 0xc9, 0x96, 0x7c, 0x75, 0xa6, 0xb8, 0x59, 0x7c, 0x4c, 0x08, 0xbb, 0xe1, 0x9f, 0x73, + 0xa8, 0x65, 0xf5, 0x12, 0xbe, 0x6a, 0xb5, 0x64, 0x36, 0x68, 0x89, 0xa2, 0x3d, 0xcc, 0x6e, 0x5d, + 0x14, 0x41, 0xd6, 0x74, 0x09, 0x09, 0x4e, 0x24, 0x57, 0x60, 0xfe, 0x28, 0xb3, 0xc5, 0xa4, 0xe4, + 0xd4, 0xeb, 0x85, 0x34, 0xfc, 0xd0, 0xed, 0x3e, 0xa5, 0xec, 0x1b, 0x42, 0x6e, 0x06, 0x72, 0xc5, + 0x55, 0xba, 0xc1, 0xf2, 0x7b, 0xb3, 0xf8, 0x3a, 0x10, 0x08, 0x20, 0xa8, 0xb3, 0xb9, 0x03, 0x53, + 0xfc, 0x20, 0xe1, 0x32, 0xab, 0xb0, 0x04, 0xc6, 0x76, 0x0f, 0x73, 0xf5, 0xe0, 0x9c, 0xac, 0x2c, + 0xb9, 0x06, 0x75, 0x5e, 0xe9, 0x2f, 0x5f, 0x35, 0x3d, 0x3d, 0x3c, 0x98, 0xda, 0x84, 0x71, 0xb6, + 0x95, 0x90, 0x97, 0x25, 0x67, 0xde, 0x57, 0xd9, 0x63, 0x65, 0xe4, 0x66, 0x19, 0x3d, 0xc9, 0xd1, + 0x13, 0x4c, 0xb2, 0x86, 0xd4, 0xbf, 0x68, 0x5f, 0x1d, 0x07, 0x24, 0x5b, 0xd7, 0x7d, 0x04, 0xd3, + 0xd1, 0x86, 0xf1, 0xce, 0xc8, 0xdb, 0x52, 0x81, 0x7b, 0xa8, 0x78, 0x40, 0xf6, 0xf7, 0xa1, 0x28, + 0x39, 0xfc, 0xac, 0x2b, 0xbf, 0x8f, 0x3d, 0x4d, 0x1d, 0x9f, 0x71, 0x17, 0x88, 0x5c, 0xfb, 0x76, + 0x44, 0xd4, 0xe6, 0xb4, 0x42, 0x56, 0x92, 0xd5, 0x47, 0xc9, 0xbe, 0xf7, 0xed, 0x9e, 0xc1, 0xcc, + 0xcb, 0x83, 0x67, 0x65, 0x5f, 0xa5, 0x06, 0x65, 0x32, 0x8b, 0x2b, 0x27, 0x94, 0x76, 0x65, 0xcd, + 0xd8, 0xbd, 0xfe, 0xef, 0xed, 0x83, 0x82, 0xf4, 0xd3, 0xc0, 0x03, 0xdf, 0xa9, 0x0d, 0xb9, 0x23, + 0x32, 0x3f, 0x27, 0xd4, 0x72, 0xa6, 0xa1, 0xd4, 0xea, 0xfe, 0xef, 0x08, 0x7e, 0xe2, 0x05, 0x8e, + 0x92, 0xd8, 0x71, 0x9b, 0x3c, 0x06, 0x6b, 0xed, 0x70, 0xd4, 0xec, 0x37, 0xba, 0x8f, 0x33, 0xd2, + 0x79, 0x90, 0xc7, 0xff, 0x14, 0xd9, 0x18, 0x8f, 0x34, 0xa2, 0x63, 0xd8, 0x1b, 0x75, 0xe3, 0x69, + 0x39, 0xac, 0xbc, 0x66, 0xcf, 0x88, 0xde, 0x1c, 0xe7, 0xd0, 0xc9, 0x43, 0x2d, 0x7b, 0x1c, 0x7f, + 0x10, 0xac, 0xf8, 0x05, 0xdc, 0xa3, 0x2a, 0x8f, 0x5f, 0x7b, 0xc5, 0x0b, 0xfc, 0x9e, 0x91, 0xcf, + 0x84, 0xc7, 0x99, 0x83, 0x78, 0xea, 0x3a, 0xe3, 0x90, 0x9d, 0x76, 0x85, 0xfe, 0xf6, 0x17, 0xcf, + 0xfa, 0xe9, 0x58, 0x51, 0x38, 0xb2, 0x9d, 0xdd, 0xe8, 0x06, 0xc2, 0x75, 0x0c, 0x31, 0x45, 0x64, + 0xfc, 0xd3, 0xf9, 0x04, 0xda, 0x02, 0x28, 0xcf, 0x10, 0xfc, 0x7a, 0xf2, 0x1f, 0x56, 0x00, 0x4f, + 0x01, 0x99, 0x85, 0xd6, 0xe0, 0x38, 0x88, 0x38, 0x0f, 0xc2, 0x7b, 0x45, 0x3b, 0x21, 0xee, 0x21, + 0xe3, 0xf4, 0x57, 0x42, 0x01, 0xc5, 0xa3, 0xa7, 0xb8, 0xfd, 0x1e, 0x79, 0xb3, 0x91, 0x2a, 0x33, + 0x47, 0x8a, 0x3a, 0x72, 0xce, 0x45, 0xaa, 0x31, 0x2b, 0x3e, 0x83, 0x7b, 0x3f, 0x64, 0xdb, 0x4a, + 0xad, 0x18, 0x0c, 0x4a, 0x12, 0x91, 0xe1, 0x80, 0x6b, 0x7e, 0xcf, 0xad, 0xce, 0x02, 0xc1, 0x6d, + 0x58, 0x5d, 0x10, 0x28, 0x75, 0xc2, 0x06, 0xb3, 0x1d, 0x38, 0xde, 0xa1, 0xc7, 0x5e, 0x63, 0x11, + 0xa9, 0x2a, 0x7e, 0x4d, 0xa5, 0x28, 0x3e, 0xd1, 0xdc, 0xe1, 0xe5, 0x7f, 0x32, 0xe6, 0x80, 0x19, + 0xa4, 0x02, 0xf9, 0x91, 0xf8, 0x23, 0x8e, 0xd6, 0x4c, 0x61, 0xc1, 0xd8, 0xc6, 0xee, 0x03, 0x3f, + 0x98, 0x0e, 0xea, 0xdd, 0x4d, 0xdc, 0x55, 0x7c, 0x4f, 0x38, 0x48, 0x0a, 0x79, 0x9e, 0x14, 0x72, + 0xd2, 0x8e, 0x93, 0xcc, 0xd2, 0xc5, 0x8d, 0x20, 0xbe, 0xef, 0xd9, 0x76, 0x66, 0xf7, 0x06, 0x1f, + 0xdf, 0x5f, 0xf7, 0x3d, 0x07, 0x1b, 0x1b, 0x04, 0xd7, 0x8c, 0x81, 0x8b, 0x4e, 0xe2, 0x58, 0xeb, + 0x9a, 0x71, 0x68, 0x9e, 0xff, 0xb1, 0xf8, 0xe5, 0x0b, 0xf7, 0x49, 0x8c, 0x07, 0xed, 0x31, 0xa6, + 0x09, 0xc8, 0x95, 0x00, 0xaf, 0xef, 0xa1, 0xb0, 0x2b, 0x04, 0x39, 0xbe, 0x0c, 0x9b, 0x7c, 0x91, + 0x63, 0xb3, 0xc7, 0x2b, 0xfc, 0x5b, 0xb1, 0xfc, 0xad, 0xe8, 0x5f, 0x1f, 0xf5, 0xe3, 0xae, 0x31, + 0x97, 0xf0, 0x87, 0xb6, 0x64, 0xcb, 0x98, 0x11, 0xd3, 0x4d, 0x10, 0x36, 0xec, 0x28, 0xef, 0x1a, + 0x30, 0xbc, 0x72, 0xd5, 0xd4, 0x48, 0x1a, 0xcd, 0x69, 0x46, 0xcb, 0xf9, 0x37, 0xd7, 0xae, 0xc6, + 0x8e, 0x1a, 0x19, 0xa5, 0x88, 0xf6, 0x1d, 0xc3, 0x81, 0x95, 0x2f, 0x85, 0x7f, 0xc2, 0xa5, 0x7c, + 0x83, 0x65, 0x73, 0x33, 0x9f, 0xab, 0x97, 0x2b, 0x36, 0xee, 0x97, 0x11, 0xe5, 0x1e, 0x0c, 0x15, + 0x90, 0x37, 0x4d, 0xea, 0x3c, 0xea, 0x0e, 0xca, 0x2d, 0x34, 0xd2, 0x90, 0xf3, 0x5e, 0x33, 0xac, + 0xb0, 0x73, 0xd9, 0x7f, 0x69, 0xb6, 0xa4, 0x35, 0x62, 0x73, 0xcd, 0x10, 0x5b, 0xbf, 0xb1, 0x13, + 0xdd, 0x2f, 0x85, 0xa8, 0x1a, 0x60, 0x7c, 0xcc, 0xab, 0x58, 0x47, 0x4d, 0x37, 0x54, 0x31, 0xce, + 0x8a, 0xe4, 0xf5, 0x29, 0x62, 0xd8, 0x7b, 0x58, 0x64, 0x9e, 0x5a, 0x65, 0x37, 0x14, 0xbd, 0x9e, + 0xef, 0xc5, 0xe1, 0x62, 0xf5, 0x32, 0xf0, 0x9f, 0x6a, 0xbd, 0xe2, 0xd8, 0x3a, 0x8f, 0xee, 0xb6, + 0xc5, 0x1b, 0xb3, 0xf7, 0x2f, 0x26, 0x67, 0x3e, 0x22, 0xe3, 0x8b, 0xde, 0xbe, 0xc7, 0xaf, 0x7c, + 0x49, 0x10, 0x12, 0xc7, 0x94, 0x52, 0x6d, 0x55, 0x62, 0x1f, 0xf5, 0xd0, 0xab, 0x8b, 0xc9, 0x25, + 0x45, 0x6f, 0xeb, 0x04, 0x88, 0x46, 0xa5, 0x5c, 0x76, 0x97, 0xa1, 0x11, 0x43, 0x62, 0x82, 0xe9, + 0x32, 0xd9, 0x07, 0x61, 0xdb, 0xe1, 0x11, 0x98, 0x10, 0xcc, 0x69, 0x39, 0x9e, 0xcf, 0x04, 0x28, + 0x18, 0x03, 0x1f, 0x43, 0xcc, 0x6d, 0x22, 0x77, 0xf2, 0xc9, 0x82, 0x61, 0xd3, 0x10, 0x66, 0xf3, + 0x83, 0xf0, 0xe2, 0x36, 0xff, 0xa7, 0xaf, 0x9e, 0xa3, 0xf9, 0x55, 0x38, 0xa0, 0xa9, 0x91, 0x1f, + 0x86, 0xd8, 0x7c, 0x29, 0x8c, 0xcd, 0x1c, 0x2e, 0x44, 0xbc, 0xa1, 0x8e, 0x5d, 0xe7, 0xea, 0x7b, + 0xf3, 0x04, 0xb5, 0x98, 0xd0, 0xc9, 0xe4, 0x4e, 0xa8, 0xa8, 0xf9, 0xd1, 0x49, 0xa2, 0x8d, 0xd8, + 0x00, 0x77, 0xb5, 0x29, 0xdd, 0x83, 0x2f, 0xba, 0x63, 0xf3, 0xf5, 0x45, 0x97, 0x95, 0x85, 0xe9, + 0x2d, 0xb2, 0x4f, 0x84, 0x67, 0xf8, 0x0f, 0x7f, 0x54, 0xa0, 0xa7, 0x8f, 0x3b, 0xf5, 0x2b, 0xb1, + 0x89, 0xb8, 0x94, 0x05, 0x63, 0x77, 0xe9, 0x67, 0x98, 0x29, 0x5d, 0xa7, 0x66, 0x4e, 0xc0, 0xf3, + 0xe7, 0x33, 0xf8, 0x33, 0xad, 0x78, 0x9f, 0x7b, 0x7c, 0x98, 0xd4, 0xec, 0x6b, 0x66, 0xbd, 0xbd, + 0xa9, 0xcd, 0x6d, 0xa3, 0xfe, 0xec, 0xcf, 0x7d, 0x83, 0x73, 0x3b, 0xa0, 0x12, 0xfe, 0xbe, 0xe0, + 0xe0, 0x33, 0x4c, 0x4e, 0xff, 0x01, 0x40, 0x3c, 0x1a, 0xf9, 0x37, 0x77, 0x08, 0x81, 0xd5, 0xb3, + 0xeb, 0x16, 0x2f, 0xb5, 0xe0, 0x91, 0x8a, 0x6f, 0xa7, 0xa1, 0x34, 0x63, 0xd7, 0xa1, 0x7b, 0x52, + 0x56, 0x10, 0x20, 0x52, 0x10, 0xc0, 0x75, 0x25, 0xde, 0xf1, 0x50, 0x55, 0x96, 0x0a, 0xb7, 0x69, + 0xff, 0xdd, 0xe6, 0x42, 0xc0, 0xc7, 0x43, 0x20, 0x03, 0xb4, 0x63, 0xf8, 0x7f, 0xc9, 0x5d, 0x1c, + 0x8b, 0x7a, 0x28, 0x05, 0x55, 0xda, 0x1d, 0x46, 0x55, 0x04, 0xd7, 0xde, 0x56, 0x4e, 0xee, 0x4b, + 0x88, 0x18, 0x1b, 0x21, 0xbf, 0xdb, 0xe5, 0xee, 0xf7, 0xb6, 0x1c, 0x21, 0x27, 0x82, 0xaf, 0x76, + 0xc9, 0xcb, 0x7b, 0xdd, 0x35, 0x8f, 0x63, 0x2c, 0xd1, 0x6d, 0xf9, 0xf8, 0x5d, 0xab, 0x5d, 0xc8, + 0x59, 0x8b, 0xa9, 0x99, 0x1c, 0x88, 0xe5, 0x2b, 0x66, 0x71, 0x5f, 0xe8, 0x4e, 0x7d, 0xe1, 0x2c, + 0xc2, 0x4a, 0xc6, 0xfe, 0xbc, 0xfb, 0x0c, 0x8d, 0xe7, 0x48, 0xa4, 0x00, 0x3f, 0xc4, 0xae, 0x6d, + 0x02, 0x10, 0x43, 0x0b, 0x7a, 0x1a, 0x28, 0xb7, 0xfa, 0x3f, 0xe0, 0xbf, 0x79, 0xad, 0x8f, 0xa6, + 0xa0, 0xa7, 0x3a, 0x9c, 0xbd, 0x64, 0x1f, 0xf4, 0x4f, 0x2b, 0x18, 0x08, 0xc7, 0x4f, 0xb8, 0x86, + 0x44, 0xfe, 0x2d, 0x73, 0x15, 0xa3, 0xef, 0x58, 0xc3, 0x94, 0xc2, 0x0e, 0x3e, 0x0f, 0xcf, 0xef, + 0xb8, 0x56, 0x73, 0x7d, 0x68, 0x7e, 0xaf, 0x97, 0x25, 0x49, 0x9c, 0xec, 0xe1, 0xfb, 0x18, 0xd4, + 0x46, 0xbc, 0xd0, 0xae, 0xca, 0x82, 0x82, 0xe9, 0xfe, 0x6f, 0xbf, 0x09, 0x8d, 0x25, 0x19, 0x93, + 0xe8, 0x1a, 0x8b, 0x9e, 0x35, 0x8e, 0xe1, 0x48, 0x43, 0xa0, 0x09, 0xc2, 0x6d, 0x1e, 0xaa, 0x8c, + 0x7c, 0xe1, 0x57, 0x4b, 0x6b, 0xc4, 0x5d, 0x75, 0xf1, 0x40, 0xaf, 0xc7, 0x2e, 0xc0, 0x2e, 0xd4, + 0x08, 0x68, 0x63, 0x15, 0x9d, 0xeb, 0x9e, 0xad, 0x8a, 0x1f, 0xd7, 0x2a, 0x2b, 0xd2, 0x57, 0x1d, + 0xa8, 0x3d, 0x2d, 0x7d, 0xbe, 0xb8, 0x4b, 0x08, 0x22, 0x37, 0xd7, 0xa9, 0xb4, 0x4b, 0x1c, 0xdf, + 0xa5, 0x99, 0xf3, 0x67, 0x7b, 0x64, 0xff, 0x27, 0xac, 0x75, 0x59, 0x8e, 0x0e, 0x1e, 0xc4, 0x75, + 0xf1, 0xdf, 0xf8, 0x91, 0x49, 0xcf, 0x6b, 0xf7, 0x87, 0x2f, 0xac, 0x37, 0x6d, 0x59, 0x16, 0x1f, + 0x3d, 0xcf, 0xcc, 0xce, 0x23, 0xe4, 0xe0, 0x60, 0xf9, 0xf1, 0xd3, 0x9f, 0x05, 0x72, 0x51, 0x51, + 0xdb, 0x30, 0xa3, 0x62, 0xf3, 0xed, 0x18, 0x03, 0x8a, 0xfe, 0xf1, 0x10, 0xc3, 0x4f, 0x14, 0xe7, + 0x37, 0x09, 0x01, 0xb1, 0xea, 0xec, 0x35, 0xbe, 0xbf, 0x6c, 0xff, 0x91, 0x05, 0x79, 0x40, 0x7f, + 0x5b, 0xea, 0x16, 0xa2, 0xaf, 0xcd, 0x9b, 0xfd, 0xc7, 0xa0, 0x20, 0xc6, 0x09, 0x34, 0x6f, 0x5d, + 0xc3, 0x10, 0xc2, 0xc5, 0x3d, 0xf4, 0xdb, 0xab, 0xf3, 0x8b, 0x2a, 0xc7, 0x37, 0x43, 0x77, 0xe2, + 0x95, 0xcc, 0x1c, 0x71, 0xce, 0x23, 0x74, 0xeb, 0x61, 0x39, 0x67, 0xcf, 0xb9, 0x46, 0x70, 0xda, + 0x15, 0x89, 0x07, 0xf0, 0x49, 0x40, 0xa4, 0xc5, 0x85, 0xb9, 0xdd, 0x88, 0x52, 0x1b, 0x63, 0x9d, + 0x9f, 0x7d, 0x5b, 0x37, 0x5d, 0xfb, 0x74, 0x33, 0x71, 0xb5, 0x44, 0xb6, 0x99, 0x6f, 0x0f, 0x9f, + 0xba, 0x2f, 0x13, 0xfa, 0xff, 0x27, 0xa6, 0x23, 0x8b, 0xd8, 0xb2, 0xae, 0xaf, 0xf7, 0x1f, 0x55, + 0x99, 0x5d, 0x5b, 0x9d, 0x13, 0x92, 0xb9, 0x5e, 0x2d, 0xc9, 0x40, 0xb2, 0x51, 0x8e, 0xd9, 0x41, + 0x7e, 0x83, 0x43, 0x65, 0x1f, 0x81, 0x6f, 0x64, 0x94, 0x15, 0x2f, 0xe5, 0x84, 0xf6, 0xf5, 0x8a, + 0x68, 0x85, 0xde, 0x90, 0x9c, 0x9d, 0xfd, 0x66, 0xfc, 0x9f, 0x83, 0x76, 0x5b, 0x2a, 0xdf, 0x05, + 0x21, 0xd1, 0xef, 0xa8, 0xc7, 0xaa, 0x36, 0x31, 0x66, 0xdf, 0x82, 0xc9, 0x53, 0x0c, 0x4e, 0x44, + 0x9b, 0xef, 0x81, 0xaf, 0xd3, 0x47, 0x02, 0x23, 0xe5, 0x2a, 0x06, 0xd7, 0x59, 0xc2, 0xac, 0xf2, + 0x58, 0x9e, 0x64, 0x06, 0x33, 0x5f, 0x43, 0x9f, 0x9a, 0xb2, 0x38, 0x71, 0x28, 0xb6, 0xd2, 0xe5, + 0xac, 0xaa, 0x7a, 0xe0, 0xf9, 0xbd, 0xfa, 0x07, 0xed, 0x2c, 0x29, 0x7b, 0x3c, 0xd8, 0xcb, 0x3f, + 0x40, 0xcc, 0xe8, 0x03, 0xf0, 0x9d, 0x80, 0x88, 0x62, 0x45, 0x69, 0xa8, 0x02, 0x3e, 0xb3, 0x75, + 0x5f, 0xa7, 0x77, 0xb3, 0x47, 0xbc, 0xfd, 0x38, 0x28, 0xd6, 0xf5, 0xbc, 0xf9, 0x61, 0x6e, 0xaa, + 0xbc, 0x21, 0x7f, 0x94, 0x27, 0xd0, 0x49, 0x41, 0x63, 0x44, 0x50, 0xa6, 0xd3, 0x01, 0xb2, 0x11, + 0xc5, 0xd6, 0x12, 0x61, 0x3d, 0xdb, 0x9d, 0x74, 0x49, 0xf8, 0xb4, 0xc2, 0x1b, 0x04, 0x7a, 0x9a, + 0xf5, 0x19, 0x8b, 0x62, 0x0b, 0xc7, 0x39, 0x1b, 0x82, 0xab, 0x71, 0x01, 0x18, 0xc4, 0x3b, 0x19, + 0xed, 0xb1, 0x68, 0x3c, 0x53, 0xf5, 0xff, 0x5b, 0x0c, 0x7a, 0xae, 0xdd, 0x84, 0x40, 0x84, 0x6f, + 0x84, 0x7f, 0x44, 0xc2, 0xad, 0xe9, 0x98, 0x92, 0x03, 0xda, 0x5a, 0xbd, 0x0f, 0x0c, 0x69, 0xef, + 0xb6, 0xab, 0x61, 0xa6, 0xe7, 0xbb, 0x0b, 0x9d, 0xae, 0xa3, 0x40, 0x6e, 0x55, 0xcb, 0x89, 0x80, + 0xcd, 0xc1, 0xbc, 0x04, 0x2e, 0xac, 0xc8, 0xe3, 0x17, 0x59, 0xd8, 0x0e, 0xf7, 0x1d, 0x0c, 0x18, + 0xd2, 0x61, 0x78, 0x7f, 0x96, 0xab, 0xdb, 0xd2, 0x60, 0xa9, 0xbf, 0xec, 0x24, 0x0b, 0xf4, 0x11, + 0x5f, 0x7a, 0x61, 0x3f, 0x8e, 0x08, 0xd0, 0xaa, 0xe4, 0x7e, 0xf3, 0x1b, 0xe2, 0x6b, 0x47, 0x0d, + 0x7c, 0x72, 0xec, 0x73, 0xf2, 0x85, 0xf2, 0xfa, 0x5c, 0x84, 0xaf, 0x05, 0x76, 0xec, 0x18, 0xce, + 0x08, 0x43, 0xe9, 0x3a, 0x9a, 0xd0, 0x35, 0x5c, 0xb6, 0x69, 0xef, 0x50, 0xbc, 0x54, 0x82, 0xc1, + 0xc9, 0xd8, 0x7b, 0xf9, 0x18, 0x67, 0x07, 0x72, 0x50, 0x35, 0x5b, 0x00, 0x0a, 0xa2, 0xe5, 0x99, + 0x8d, 0x9f, 0x5a, 0xe1, 0x6d, 0x73, 0x80, 0x41, 0x5b, 0xff, 0xd8, 0xa1, 0x35, 0x4c, 0x26, 0x76, + 0x21, 0x80, 0xc1, 0x2d, 0x1e, 0xc6, 0x96, 0x28, 0xf0, 0x59, 0xd7, 0x25, 0x44, 0xac, 0x8d, 0xf4, + 0x4b, 0x0b, 0x4c, 0x11, 0xed, 0x6a, 0xcb, 0x09, 0xf8, 0x59, 0xd0, 0x9c, 0xc2, 0x16, 0x28, 0xff, + 0xe6, 0x89, 0x2f, 0x67, 0x31, 0xe3, 0x6b, 0x16, 0x14, 0xef, 0xf1, 0x98, 0x22, 0xf7, 0x58, 0xe3, + 0x93, 0x91, 0xdd, 0x4b, 0xa2, 0x96, 0xd6, 0x81, 0xa8, 0x5b, 0x7b, 0x54, 0x55, 0x08, 0xc6, 0x96, + 0xee, 0x67, 0x44, 0x3c, 0xe4, 0x50, 0xbc, 0x14, 0x5b, 0x7a, 0x93, 0x24, 0x72, 0x2e, 0xdb, 0x26, + 0x17, 0x56, 0x7b, 0x27, 0x16, 0x74, 0x04, 0xc9, 0xf1, 0xfb, 0x46, 0x54, 0xd1, 0xc3, 0x51, 0xeb, + 0xeb, 0x6a, 0xfb, 0xc5, 0x7d, 0xc3, 0x17, 0x25, 0x12, 0x72, 0x51, 0x82, 0x85, 0xfa, 0x3a, 0xdd, + 0x13, 0xe4, 0xdf, 0x42, 0x02, 0x4c, 0x44, 0x96, 0xfa, 0xe4, 0x80, 0xcf, 0x48, 0x34, 0x81, 0xda, + 0x3e, 0x31, 0x13, 0xc7, 0x3d, 0x34, 0xd7, 0x11, 0x33, 0xa1, 0x1b, 0xd6, 0xdb, 0x57, 0xdb, 0x26, + 0xb0, 0x3e, 0xde, 0xab, 0x6a, 0x63, 0xbf, 0xf5, 0x09, 0x17, 0xa5, 0x38, 0x9b, 0x5d, 0x7f, 0x88, + 0xe4, 0x52, 0xa6, 0x50, 0x4b, 0xca, 0xdf, 0x13, 0xa9, 0xcc, 0x78, 0x0e, 0x2b, 0x95, 0x20, 0xb4, + 0x30, 0xfb, 0x10, 0x1e, 0xe8, 0x63, 0x8a, 0x69, 0xaa, 0x19, 0x57, 0x14, 0x5d, 0x70, 0x72, 0xd8, + 0xb8, 0x6a, 0x03, 0x80, 0xc0, 0xd7, 0x7c, 0xa0, 0xbd, 0x9d, 0x12, 0x01, 0xf9, 0x1f, 0x1c, 0xca, + 0x49, 0x74, 0xc0, 0x91, 0x2b, 0xf9, 0xfa, 0x02, 0x3b, 0xeb, 0x3b, 0xb1, 0x05, 0x49, 0x60, 0x90, + 0xea, 0xda, 0xae, 0x97, 0x2b, 0xe9, 0xe0, 0x46, 0xc3, 0xc3, 0xa9, 0x9e, 0x47, 0x46, 0x4d, 0xc2, + 0xfd, 0xc9, 0xa2, 0xf4, 0xfd, 0xa2, 0x21, 0xb6, 0x6f, 0xcb, 0xe7, 0xa8, 0x0c, 0x1f, 0xfe, 0xc6, + 0x05, 0xcc, 0x04, 0xda, 0xc6, 0xf3, 0xcb, 0x87, 0xfe, 0x12, 0x57, 0x93, 0x4a, 0xf5, 0xaf, 0x39, + 0x5a, 0x7d, 0x4a, 0x2d, 0x23, 0xe3, 0x90, 0xc1, 0x54, 0x8c, 0x83, 0x4f, 0x90, 0x86, 0xa4, 0xa4, + 0xe5, 0x7c, 0x6c, 0x6c, 0x34, 0x0a, 0xd2, 0x05, 0xc4, 0xd5, 0x39, 0x0f, 0x80, 0x10, 0x33, 0x10, + 0xfc, 0xea, 0x5f, 0xf4, 0x29, 0x48, 0xb3, 0x80, 0x6a, 0xd5, 0xea, 0x5e, 0xe8, 0xd3, 0x95, 0x59, + 0xd2, 0x6f, 0x88, 0x97, 0x02, 0xcb, 0xe3, 0x74, 0xb2, 0xb9, 0x1a, 0xeb, 0x7d, 0x95, 0xca, 0x58, + 0x70, 0x61, 0x95, 0xd4, 0x1b, 0x32, 0x5f, 0x3f, 0x43, 0x57, 0xed, 0x0b, 0xa1, 0x6f, 0x95, 0x89, + 0x05, 0xb4, 0xe3, 0x19, 0x29, 0x87, 0x3a, 0x11, 0x3b, 0x67, 0x14, 0xcc, 0x5c, 0x89, 0x59, 0xc5, + 0x66, 0x1d, 0x74, 0x0d, 0xd3, 0x80, 0xee, 0xf0, 0xcb, 0x98, 0x15, 0x95, 0xdd, 0x5c, 0x3d, 0xc2, + 0xef, 0x6c, 0x8d, 0xc9, 0xb2, 0xd8, 0xc6, 0x37, 0x31, 0x10, 0xb0, 0xe2, 0xd6, 0x30, 0x3a, 0xc7, + 0x40, 0x3b, 0x7a, 0x79, 0x15, 0x3e, 0x2c, 0x81, 0xce, 0xb5, 0xd2, 0x29, 0xe5, 0x5e, 0x7e, 0xec, + 0xc3, 0x63, 0xb6, 0xc6, 0x8d, 0x0a, 0xa4, 0xbd, 0x97, 0x92, 0xd9, 0x71, 0xae, 0x3e, 0x74, 0x83, + 0x82, 0xaa, 0xd9, 0x9b, 0x3f, 0x9f, 0xd8, 0x4d, 0x32, 0xce, 0xa6, 0x05, 0x85, 0x47, 0x19, 0x57, + 0x9f, 0xee, 0xe7, 0x7d, 0xcf, 0x90, 0xc7, 0x28, 0x90, 0x69, 0x86, 0xf5, 0xd4, 0xba, 0x1c, 0x0a, + 0xe0, 0xff, 0x98, 0x92, 0x94, 0x96, 0x75, 0x09, 0xc7, 0x8f, 0x70, 0xfd, 0x1f, 0x73, 0x7c, 0x59, + 0x3a, 0xdc, 0x7c, 0x54, 0xc1, 0x5e, 0xa6, 0x1a, 0x7b, 0xfb, 0xe4, 0x78, 0xe3, 0xae, 0x8a, 0xdd, + 0x03, 0x66, 0x96, 0x77, 0xa4, 0x7b, 0xb9, 0xc8, 0x47, 0x3a, 0xa8, 0xa7, 0x7c, 0x83, 0x81, 0xc6, + 0x43, 0x83, 0x12, 0x27, 0x24, 0xc1, 0xe8, 0x82, 0xad, 0xce, 0x76, 0x7e, 0xf6, 0x50, 0x63, 0xc0, + 0xb1, 0x7c, 0x1e, 0x48, 0x45, 0x06, 0x75, 0x1c, 0xd2, 0xbe, 0xb9, 0x82, 0xe4, 0x07, 0x6d, 0x7c, + 0x22, 0x91, 0xb9, 0xfc, 0x58, 0xfc, 0xcb, 0xfc, 0x76, 0x19, 0xc3, 0xdf, 0x92, 0xff, 0x1a, 0x99, + 0xc1, 0xad, 0x52, 0x0f, 0xee, 0x4b, 0xfb, 0x93, 0x47, 0x3e, 0xa3, 0xa0, 0x47, 0x1e, 0x74, 0xba, + 0x43, 0xe2, 0x38, 0xe3, 0x9a, 0xb2, 0x7f, 0xed, 0x12, 0x96, 0x7a, 0xdf, 0xaf, 0x7e, 0xf6, 0x7f, + 0x07, 0xae, 0x6e, 0x61, 0x50, 0xd6, 0x2b, 0x08, 0x84, 0x53, 0x32, 0x30, 0xd9, 0xd2, 0x13, 0x46, + 0x6c, 0x40, 0xed, 0x1d, 0xb5, 0xb4, 0x49, 0x66, 0x34, 0xf6, 0xa0, 0xc1, 0x13, 0x06, 0xa9, 0x0d, + 0xeb, 0xf0, 0xb4, 0x37, 0xf9, 0x31, 0x0f, 0x35, 0x9d, 0x00, 0xc9, 0xf1, 0x78, 0xf9, 0x43, 0x4c, + 0x98, 0x9b, 0x53, 0x64, 0xc6, 0xe2, 0x97, 0x59, 0xe6, 0x44, 0x9f, 0x0b, 0xdc, 0xa2, 0x71, 0xe3, + 0xcf, 0xd8, 0xb8, 0xea, 0x6e, 0x06, 0x74, 0x75, 0x5e, 0x0f, 0x18, 0x65, 0x2a, 0x9a, 0x4f, 0x6e, + 0x14, 0x84, 0xaa, 0x7f, 0x97, 0x07, 0x52, 0xa2, 0x09, 0x96, 0x65, 0xe2, 0xd9, 0x01, 0x55, 0xce, + 0xd5, 0x0e, 0x1a, 0x22, 0x52, 0xe0, 0x4a, 0x54, 0x99, 0x99, 0x81, 0x12, 0xe1, 0x68, 0x78, 0x57, + 0x24, 0x20, 0xee, 0xe5, 0x33, 0x10, 0xac, 0x86, 0x36, 0xdb, 0x72, 0xd4, 0xc0, 0x19, 0x37, 0x74, + 0x74, 0xa8, 0x0e, 0xa7, 0x58, 0x93, 0x7f, 0xeb, 0x73, 0xe4, 0x16, 0x92, 0xed, 0xc4, 0x3b, 0xd1, + 0xd5, 0xf7, 0x7e, 0xbf, 0xcd, 0x8e, 0x7c, 0xe8, 0x41, 0xfa, 0x1a, 0x2e, 0x47, 0xb5, 0x93, 0x8d, + 0xd8, 0x48, 0x41, 0x38, 0x82, 0x38, 0xaf, 0xc8, 0xd6, 0x45, 0xef, 0xed, 0xf7, 0x7a, 0x37, 0x8d, + 0x30, 0xa3, 0x6c, 0xb7, 0xc8, 0xdd, 0x17, 0x45, 0x66, 0x47, 0x5e, 0xf0, 0x81, 0x5a, 0x85, 0x83, + 0x37, 0x7b, 0xa6, 0xc8, 0x5e, 0x92, 0x83, 0x7d, 0xb3, 0xb8, 0x07, 0x00, 0x4e, 0x53, 0xdb, 0x81, + 0xe8, 0xe6, 0x83, 0x58, 0x70, 0x92, 0xb1, 0x86, 0xb1, 0x3f, 0xa1, 0x80, 0xa6, 0x82, 0x16, 0x0b, + 0xa7, 0xc0, 0xeb, 0x9e, 0x8d, 0x26, 0xa5, 0x8d, 0x17, 0x1b, 0x30, 0xa9, 0x6a, 0xd7, 0x74, 0xbc, + 0x99, 0xdf, 0x38, 0xaf, 0x5e, 0xfa, 0x0c, 0x66, 0x99, 0x5f, 0xb4, 0xb7, 0x0f, 0x26, 0xf8, 0x88, + 0x1e, 0x4f, 0x2e, 0x60, 0xe2, 0x1a, 0x60, 0x9a, 0x24, 0xc3, 0x5c, 0x64, 0xe8, 0xa9, 0x78, 0x96, + 0x03, 0x34, 0x27, 0x93, 0xea, 0x35, 0x39, 0x1c, 0x66, 0xac, 0x57, 0xfb, 0x94, 0x17, 0xe3, 0x4e, + 0xe4, 0xc6, 0x4d, 0x49, 0x5d, 0xbf, 0x09, 0xba, 0xb8, 0x3c, 0xce, 0xc2, 0xc5, 0x6b, 0xb4, 0xfd, + 0xbd, 0x91, 0xdd, 0x46, 0xd2, 0x04, 0x5d, 0xb8, 0x5b, 0xa0, 0x6e, 0x8e, 0xd4, 0x2b, 0x79, 0x9d, + 0x63, 0x97, 0x08, 0xcb, 0x47, 0x21, 0x03, 0x06, 0x4a, 0x03, 0x0a, 0xa5, 0x01, 0x3a, 0xba, 0x5a, + 0x11, 0x58, 0x39, 0x41, 0x60, 0xbd, 0x4c, 0xb0, 0xb6, 0x9d, 0xe4, 0x9a, 0x53, 0x13, 0x69, 0xa5, + 0x0f, 0x6c, 0x9f, 0xaf, 0x13, 0x16, 0x45, 0x5f, 0xf6, 0x71, 0x35, 0xe9, 0xc8, 0xd3, 0x43, 0xfc, + 0x6c, 0x12, 0x37, 0x7b, 0x81, 0xcf, 0x67, 0xca, 0x84, 0x2e, 0x90, 0x1c, 0x50, 0xb6, 0xdb, 0x90, + 0xb5, 0x71, 0xa1, 0xc8, 0x52, 0x6e, 0x93, 0xec, 0x87, 0x0c, 0x20, 0x72, 0xf4, 0x9d, 0xb7, 0x72, + 0xdf, 0x90, 0x92, 0x10, 0x9a, 0x1b, 0xde, 0x4e, 0xb7, 0xb6, 0x7a, 0x00, 0x3e, 0xf4, 0x90, 0xbf, + 0xff, 0x4e, 0xe2, 0xff, 0x8c, 0x3e, 0x7a, 0x35, 0x0f, 0x10, 0xb9, 0xce, 0x73, 0xc7, 0xd3, 0xd4, + 0x1c, 0x18, 0xec, 0xa9, 0xb9, 0x38, 0xff, 0x28, 0x3f, 0xd3, 0xa5, 0x53, 0x42, 0xd2, 0xdf, 0x12, + 0xe8, 0xbc, 0x10, 0x20, 0x93, 0xac, 0x80, 0x58, 0x00, 0x7b, 0x4f, 0xaa, 0x4c, 0xc7, 0xe0, 0xa6, + 0x3d, 0x4e, 0x0f, 0xb4, 0xff, 0x2d, 0x89, 0xe3, 0x9f, 0xb4, 0x92, 0xa9, 0xd8, 0x3f, 0x07, 0x4f, + 0xb9, 0x67, 0xfd, 0xdf, 0x14, 0x60, 0xaa, 0x8f, 0xf4, 0x1a, 0x00, 0xcd, 0x48, 0xef, 0xdc, 0x3e, + 0x91, 0xa7, 0x1b, 0x05, 0x3b, 0x57, 0xe8, 0x7d, 0x13, 0x5e, 0x53, 0xd5, 0xf5, 0xf9, 0x13, 0xab, + 0xd3, 0x53, 0xa9, 0xf6, 0xc2, 0x66, 0x83, 0xfa, 0x02, 0x47, 0x3f, 0x62, 0xfe, 0x36, 0x0f, 0x00, + 0x0e, 0x20, 0x23, 0x3e, 0xce, 0xe3, 0x03, 0xc2, 0xab, 0x2d, 0x7c, 0x9e, 0x60, 0x87, 0xd5, 0x5f, + 0x1d, 0x22, 0x14, 0xca, 0x74, 0xe5, 0x2d, 0xbb, 0x9c, 0xc0, 0x23, 0x87, 0x7d, 0xc3, 0xb3, 0x8a, + 0x73, 0x18, 0x33, 0x5d, 0x25, 0x08, 0x3d, 0x7a, 0xaf, 0x82, 0xae, 0xc4, 0xde, 0x79, 0x53, 0x66, + 0x02, 0x87, 0x7c, 0xa8, 0xa7, 0x0b, 0x38, 0x0e, 0xed, 0x2c, 0xee, 0x2c, 0x5b, 0x37, 0x56, 0x4b, + 0xfc, 0x8c, 0x1a, 0x8b, 0x06, 0x57, 0xc8, 0xc4, 0x95, 0x96, 0x41, 0xd5, 0x9a, 0x8d, 0x58, 0xbb, + 0x7e, 0x50, 0x4e, 0xe3, 0x2c, 0xb6, 0x66, 0xe9, 0x1d, 0x0a, 0xe2, 0xab, 0x1a, 0x25, 0x41, 0xc1, + 0xe3, 0xdd, 0x88, 0xfb, 0xd1, 0x42, 0x70, 0x75, 0xaf, 0x95, 0x94, 0xf7, 0xde, 0xc5, 0x93, 0x8a, + 0xda, 0x1b, 0x95, 0x75, 0x30, 0x84, 0x79, 0x82, 0xd6, 0x52, 0x10, 0x79, 0xf4, 0x9a, 0x85, 0xb3, + 0xd5, 0x00, 0x98, 0x4f, 0x09, 0x93, 0xe2, 0xb7, 0x53, 0x30, 0xa8, 0x58, 0xfa, 0xbe, 0xdd, 0x14, + 0x3e, 0x31, 0xad, 0xc2, 0x54, 0x26, 0x7b, 0x05, 0x89, 0x74, 0xaa, 0xe6, 0x0d, 0x73, 0xae, 0x5d, + 0x74, 0x8e, 0x1a, 0x7e, 0xb4, 0xd8, 0x0c, 0xd5, 0xb1, 0xca, 0x04, 0xf8, 0x8c, 0x5f, 0x72, 0x0a, + 0x2c, 0x66, 0x95, 0x5b, 0x20, 0x2e, 0x85, 0xed, 0xb8, 0x68, 0x37, 0x72, 0x8d, 0x28, 0xdf, 0xab, + 0x44, 0x80, 0xa2, 0xb5, 0x86, 0x11, 0xc1, 0xb7, 0x6a, 0x52, 0xf5, 0x00, 0x76, 0x91, 0x04, 0xc9, + 0xfa, 0xff, 0x9d, 0x5e, 0xf6, 0x59, 0x46, 0xc2, 0x46, 0x2b, 0xb2, 0xda, 0x15, 0x74, 0x06, 0x9c, + 0x19, 0x79, 0x45, 0xe4, 0x3b, 0xa6, 0x36, 0x42, 0x20, 0xa2, 0xaa, 0x11, 0xc9, 0x96, 0x88, 0xcc, + 0xeb, 0xdf, 0xd2, 0x8a, 0x3f, 0x4c, 0xa4, 0x83, 0x03, 0x7a, 0xde, 0x7d, 0x72, 0xef, 0x93, 0x9c, + 0x48, 0xea, 0xfd, 0xcd, 0x7f, 0xe4, 0xe7, 0x30, 0xf1, 0x79, 0x79, 0x37, 0xd7, 0xc2, 0x70, 0x78, + 0xa8, 0x86, 0x52, 0xff, 0x99, 0xbd, 0xab, 0x74, 0xcf, 0xa4, 0x35, 0x14, 0xd4, 0xef, 0xf4, 0xdb, + 0xd5, 0x1b, 0x6b, 0xa0, 0x38, 0x55, 0x53, 0x44, 0xff, 0x33, 0x7c, 0xcc, 0x1b, 0x13, 0xf0, 0xdc, + 0x16, 0xfb, 0x66, 0x9e, 0xc4, 0x85, 0xeb, 0x9c, 0xfc, 0x9d, 0xb8, 0xa6, 0x06, 0xab, 0xd2, 0x4b, + 0xe9, 0x3e, 0xbe, 0x2e, 0x04, 0xc7, 0x33, 0x67, 0x03, 0xdb, 0x8b, 0x1c, 0x77, 0x4b, 0x72, 0xee, + 0xaf, 0x73, 0x16, 0x32, 0x1a, 0x83, 0x4a, 0x37, 0x6b, 0x9b, 0x98, 0xf3, 0xc8, 0x1a, 0xb9, 0x01, + 0x91, 0x2d, 0xee, 0x2b, 0x83, 0x0c, 0x91, 0xd8, 0xd9, 0x63, 0x8f, 0xc7, 0x71, 0xe9, 0x74, 0xe1, + 0x07, 0xfb, 0xe1, 0xf6, 0x27, 0xf4, 0x58, 0xcc, 0x1e, 0x5b, 0x94, 0x21, 0x2c, 0x69, 0x72, 0x1f, + 0x69, 0xc5, 0x09, 0x98, 0xed, 0x74, 0xee, 0x14, 0x5e, 0x0f, 0x17, 0xe8, 0xef, 0x43, 0x9d, 0x7b, + 0x89, 0x67, 0x31, 0x57, 0xe0, 0x90, 0x60, 0xf0, 0xd2, 0xdb, 0xdc, 0x5b, 0x49, 0x84, 0x4c, 0x2b, + 0xf0, 0xd7, 0x86, 0x3f, 0x09, 0x8f, 0xa4, 0x9a, 0x08, 0xe0, 0x9e, 0x6a, 0x50, 0x4d, 0x1b, 0x41, + 0xe3, 0xdc, 0x41, 0x53, 0x96, 0x77, 0x86, 0x48, 0xa7, 0xa8, 0x9f, 0xf4, 0x62, 0x5b, 0x52, 0xef, + 0x7e, 0x34, 0xa3, 0xbb, 0xf2, 0x3a, 0xaa, 0xe7, 0x3a, 0x48, 0xe8, 0x33, 0x33, 0xa2, 0xb3, 0xc5, + 0xe0, 0xc0, 0x40, 0x15, 0x59, 0xa0, 0x9e, 0xcb, 0x17, 0x77, 0x51, 0x60, 0x84, 0x4a, 0x93, 0x9d, + 0xe7, 0xad, 0x02, 0x0c, 0xfa, 0x37, 0xe4, 0x45, 0x78, 0x9f, 0x4b, 0x0a, 0xce, 0x2a, 0x9f, 0xe2, + 0xc0, 0x61, 0xe8, 0xc3, 0xfd, 0x8d, 0x92, 0x49, 0xf9, 0x56, 0x6c, 0x2f, 0x68, 0x0a, 0x19, 0xc2, + 0x25, 0x7f, 0x1b, 0xc1, 0x35, 0x72, 0x55, 0xca, 0xf0, 0x1b, 0x9b, 0x36, 0x87, 0x53, 0xf7, 0x9f, + 0x5c, 0xd2, 0x0b, 0x93, 0x38, 0x04, 0x6b, 0x99, 0x19, 0xe3, 0x7e, 0x43, 0xfb, 0xb1, 0xaa, 0x49, + 0xa3, 0x51, 0x90, 0x87, 0x71, 0x85, 0xce, 0xbe, 0xfc, 0xe3, 0x7c, 0x66, 0x79, 0xe9, 0x4e, 0xac, + 0xd8, 0x4e, 0x2b, 0xdf, 0x9f, 0x41, 0x7e, 0x15, 0x52, 0x4d, 0x20, 0xb3, 0xde, 0x9a, 0x0d, 0x43, + 0x57, 0x27, 0xd9, 0x32, 0x8b, 0x2d, 0x8f, 0x67, 0x14, 0x7c, 0x0c, 0xed, 0x08, 0x7e, 0x11, 0x0a, + 0xad, 0x0c, 0x77, 0x67, 0xcc, 0x6c, 0x76, 0x34, 0x7a, 0x2f, 0xa6, 0x13, 0xda, 0xab, 0xab, 0x6f, + 0xc8, 0x5d, 0xfd, 0xf4, 0x53, 0x25, 0x04, 0xc0, 0xe6, 0x82, 0x9e, 0x5c, 0x13, 0xf8, 0x43, 0x67, + 0x69, 0x0f, 0x5f, 0x2d, 0x34, 0xe8, 0x59, 0xa5, 0xce, 0x5e, 0xe9, 0xe7, 0xa6, 0x6a, 0x05, 0xb3, + 0x61, 0x5d, 0xd5, 0xb2, 0x42, 0xd9, 0x91, 0x82, 0xdc, 0x8d, 0x05, 0x99, 0xd9, 0xf0, 0xb2, 0x8f, + 0xb8, 0x74, 0xa0, 0xe7, 0xee, 0x27, 0x92, 0x8e, 0x01, 0x12, 0x07, 0xd4, 0x56, 0x81, 0xd1, 0x88, + 0xd4, 0x48, 0x0f, 0x9d, 0xeb, 0xe6, 0x8e, 0x1e, 0x21, 0x35, 0xcb, 0x67, 0x6a, 0xb5, 0xa5, 0xdc, + 0xab, 0x31, 0xc5, 0xb1, 0x23, 0x4b, 0x10, 0x4f, 0x67, 0x69, 0x44, 0x60, 0xe2, 0xde, 0xe8, 0x46, + 0x25, 0x84, 0x0b, 0x55, 0x6c, 0x4e, 0x70, 0x83, 0x55, 0xa0, 0x41, 0x93, 0xa1, 0x48, 0x5e, 0x60, + 0x91, 0xe2, 0xd8, 0x07, 0x78, 0xd7, 0x7f, 0xd0, 0x87, 0x32, 0x19, 0x64, 0xed, 0x17, 0x09, 0xaf, + 0x3c, 0x93, 0x8b, 0xaa, 0xc4, 0x6e, 0xa2, 0x50, 0x85, 0x7b, 0xf8, 0xa1, 0x6c, 0x93, 0x34, 0x07, + 0x8f, 0x93, 0x50, 0xf3, 0x43, 0xe8, 0x3c, 0x8c, 0x33, 0x10, 0x8d, 0xf3, 0x41, 0xf5, 0x07, 0xb8, + 0xa8, 0xea, 0x10, 0x27, 0x31, 0x6c, 0xe8, 0xfc, 0x1d, 0x40, 0x43, 0x96, 0xf8, 0x3a, 0x64, 0x20, + 0x64, 0x65, 0xaa, 0x5c, 0x63, 0xbd, 0x85, 0x72, 0x2a, 0x70, 0x69, 0x08, 0x0f, 0xf4, 0xfc, 0xe0, + 0x7a, 0xf6, 0x9b, 0x33, 0x2b, 0xc4, 0x42, 0xf4, 0x74, 0xe4, 0x10, 0x5f, 0x88, 0xa3, 0x7b, 0x12, + 0x03, 0x5b, 0xb4, 0x55, 0xaf, 0x6d, 0xdf, 0xdd, 0xd0, 0x8d, 0xf0, 0xd9, 0xa3, 0xbf, 0xe3, 0x14, + 0xe0, 0x6e, 0x4b, 0x56, 0xc2, 0xf9, 0x0f, 0x46, 0x32, 0xd8, 0x24, 0xf7, 0xca, 0xce, 0xbd, 0xb9, + 0x18, 0xa3, 0x10, 0x2e, 0x8a, 0xb0, 0xe9, 0x6e, 0xc4, 0x14, 0xf3, 0xb1, 0x49, 0x40, 0xac, 0x70, + 0xb4, 0x3d, 0x31, 0x9a, 0x04, 0x97, 0xff, 0x02, 0x91, 0x6e, 0x08, 0x53, 0x59, 0xeb, 0x9f, 0x1e, + 0xb5, 0x52, 0x21, 0x69, 0xaa, 0x03, 0x11, 0xc6, 0xf4, 0x40, 0x7c, 0x96, 0xda, 0x58, 0x41, 0xec, + 0xf4, 0xa9, 0x04, 0x11, 0x0e, 0x87, 0x0d, 0xcc, 0x6d, 0xe1, 0x9d, 0xcd, 0x79, 0x40, 0xaf, 0x8a, + 0xf4, 0x4c, 0x04, 0xda, 0x84, 0x9a, 0x09, 0x20, 0x8e, 0xe0, 0x8e, 0x9a, 0x72, 0x22, 0x53, 0xb7, + 0x92, 0x44, 0x23, 0xaf, 0x81, 0xa2, 0xad, 0x3a, 0xad, 0x5a, 0x95, 0xc3, 0xcb, 0xfc, 0x23, 0x12, + 0x55, 0xbf, 0x56, 0x62, 0xdf, 0x01, 0xa6, 0xe4, 0xd4, 0x0f, 0x3a, 0x80, 0xb6, 0xe7, 0x40, 0xdf, + 0xc0, 0x06, 0x24, 0xe4, 0x47, 0xbb, 0xaf, 0x28, 0x33, 0xe4, 0x5f, 0x4c, 0x3c, 0x1a, 0x21, 0x7d, + 0x4a, 0x41, 0xcf, 0x28, 0xff, 0x2d, 0xc5, 0x74, 0x74, 0xeb, 0x32, 0xc2, 0x75, 0xe9, 0x36, 0x6b, + 0xd6, 0xca, 0x45, 0x70, 0x07, 0x7d, 0xe7, 0x21, 0x49, 0xd8, 0xc2, 0x5a, 0x17, 0x18, 0x0b, 0xb3, + 0x95, 0x90, 0x64, 0x15, 0x2a, 0xf4, 0x23, 0xd4, 0x56, 0x80, 0x57, 0xe2, 0xb8, 0xdf, 0xd2, 0x27, + 0x71, 0x3f, 0x26, 0x8a, 0x5a, 0x97, 0x67, 0xda, 0x9d, 0x99, 0x65, 0x75, 0x81, 0x32, 0xd1, 0x59, + 0x20, 0x81, 0x94, 0x90, 0x8b, 0x12, 0x84, 0x1f, 0xfa, 0x57, 0x24, 0x2f, 0x8a, 0xc2, 0x56, 0x9f, + 0xd6, 0x3d, 0x6f, 0xdf, 0xe5, 0xee, 0x44, 0x92, 0x76, 0xe1, 0x67, 0x3d, 0x0e, 0x1b, 0x8e, 0x99, + 0x6d, 0x67, 0xb3, 0x0f, 0xc6, 0xb2, 0x7a, 0x8b, 0x5f, 0x40, 0x7d, 0xd7, 0x78, 0xfe, 0x80, 0x1c, + 0xbc, 0x57, 0x50, 0x24, 0xa3, 0x2a, 0xd3, 0x95, 0x73, 0xfc, 0xdb, 0x80, 0xd6, 0xfc, 0x38, 0xd8, + 0xfb, 0x45, 0x62, 0xdc, 0xf2, 0x38, 0x0d, 0x42, 0xa3, 0x64, 0x7b, 0x13, 0x45, 0xd5, 0x7a, 0xfd, + 0x61, 0x43, 0x64, 0xfc, 0xa6, 0xdc, 0x8f, 0xcc, 0x37, 0x68, 0xac, 0x88, 0x22, 0x8f, 0x05, 0x51, + 0xc2, 0x6f, 0xc4, 0x44, 0x44, 0x3e, 0xcb, 0xaa, 0x03, 0x4b, 0xd7, 0xbd, 0xda, 0xb8, 0x44, 0x31, + 0x0b, 0x45, 0x56, 0x9b, 0x01, 0x8e, 0x1d, 0x07, 0xb5, 0xa5, 0x1c, 0xb9, 0x98, 0x18, 0x70, 0xc8, + 0x0a, 0xab, 0x79, 0xaa, 0x78, 0xff, 0xd3, 0xf1, 0x90, 0xb6, 0x36, 0x6f, 0x15, 0x9b, 0x6b, 0x23, + 0x1d, 0x2f, 0xe6, 0xea, 0x70, 0xab, 0xa3, 0xf6, 0x58, 0xf0, 0xf0, 0xdb, 0x47, 0x42, 0x5e, 0x9e, + 0x82, 0xae, 0xec, 0x88, 0x16, 0x5c, 0xcc, 0x1c, 0xcd, 0xae, 0x94, 0x5b, 0xa3, 0xc5, 0xda, 0xf8, + 0x01, 0x19, 0x7f, 0x81, 0x96, 0xb8, 0x8b, 0x6a, 0xf8, 0x5f, 0x94, 0xe4, 0x8f, 0xdc, 0xc5, 0xfd, + 0x74, 0x47, 0x44, 0xfd, 0xe7, 0x7f, 0x6f, 0x88, 0x13, 0xca, 0x2f, 0xcc, 0x03, 0x1c, 0xfd, 0xcb, + 0x84, 0x80, 0x29, 0xd2, 0x37, 0x89, 0x71, 0x7b, 0x50, 0xcb, 0xee, 0x26, 0x65, 0xac, 0x51, 0xf0, + 0x34, 0x09, 0x9f, 0xe8, 0xd4, 0x63, 0x9d, 0xe2, 0x62, 0xda, 0x01, 0x40, 0x6f, 0xec, 0xac, 0xc2, + 0x9d, 0x8e, 0xd3, 0xa6, 0x2d, 0x1d, 0x7a, 0x7a, 0x43, 0xb9, 0xfb, 0xda, 0x3d, 0x0f, 0xdb, 0xec, + 0xcb, 0xa8, 0xac, 0xac, 0x8d, 0xb7, 0x0a, 0x3f, 0xf9, 0xba, 0x4c, 0x77, 0x0d, 0xb0, 0x8b, 0x9a, + 0x5e, 0x91, 0x85, 0x47, 0x88, 0x10, 0x3c, 0xed, 0x3a, 0x0b, 0x2d, 0x06, 0xc9, 0xdc, 0x04, 0xc3, + 0x67, 0x87, 0x9e, 0xda, 0x7e, 0x04, 0xe6, 0x1b, 0xae, 0xa7, 0x80, 0x30, 0xe6, 0x38, 0x72, 0x2a, + 0x44, 0x0d, 0x16, 0xee, 0xee, 0xf6, 0xd6, 0xb7, 0x83, 0x10, 0x58, 0xea, 0x7f, 0x29, 0xf6, 0xba, + 0x60, 0x88, 0xf3, 0x2a, 0x54, 0xae, 0x3a, 0xcf, 0x35, 0x48, 0x66, 0xf8, 0xc6, 0x07, 0x87, 0xf0, + 0xb8, 0x28, 0x34, 0xa7, 0x4f, 0x8c, 0x94, 0xdc, 0x64, 0x02, 0xdf, 0xff, 0xb9, 0xa1, 0x56, 0x70, + 0x55, 0x8b, 0x0b, 0xc3, 0x92, 0x0a, 0xe9, 0x44, 0x49, 0x96, 0xa8, 0x68, 0x86, 0x40, 0xb4, 0x60, + 0x13, 0xe0, 0x67, 0x72, 0xd3, 0xa1, 0xab, 0xc0, 0x90, 0x0f, 0xaf, 0x0a, 0xd6, 0x1e, 0x35, 0xa8, + 0x90, 0x81, 0x49, 0x8a, 0xcc, 0x92, 0x2c, 0xef, 0xf1, 0xfa, 0x45, 0x1b, 0x51, 0xa5, 0x51, 0xc3, + 0x80, 0x4c, 0x38, 0x17, 0xae, 0x0d, 0xb8, 0xdb, 0x5c, 0x9f, 0xdc, 0x35, 0x85, 0x0e, 0x27, 0x3c, + 0x03, 0xeb, 0x7a, 0x9e, 0xf0, 0xc3, 0xd6, 0xcc, 0x67, 0x7f, 0x35, 0xbd, 0x9a, 0x9b, 0x93, 0xe9, + 0xad, 0xcd, 0xb9, 0xde, 0xe5, 0x38, 0x6d, 0x8c, 0x24, 0x2e, 0x89, 0x0e, 0xd7, 0xea, 0xd8, 0x60, + 0x1e, 0x2f, 0x85, 0xf8, 0xd1, 0x4c, 0x2f, 0x01, 0x81, 0xc1, 0x7f, 0x12, 0xa6, 0x19, 0x41, 0x78, + 0x14, 0x48, 0x88, 0x05, 0xd7, 0x9c, 0x38, 0xc9, 0x0c, 0x9f, 0xd9, 0x20, 0xf9, 0x19, 0xa7, 0x0a, + 0x77, 0x67, 0x50, 0xdc, 0xc6, 0xa0, 0xae, 0xe7, 0xa3, 0xc3, 0x4b, 0x0a, 0x99, 0xa5, 0x09, 0x15, + 0x3b, 0x55, 0x4d, 0x14, 0x7c, 0xc9, 0xcc, 0xe7, 0x7c, 0x36, 0xf9, 0xf5, 0x95, 0x48, 0x15, 0x06, + 0xef, 0x11, 0xb9, 0xfb, 0x9c, 0x05, 0x36, 0xca, 0xae, 0x33, 0x97, 0x95, 0xe6, 0xd9, 0x27, 0x22, + 0x3f, 0x11, 0x9d, 0xc4, 0xac, 0x69, 0xfd, 0x7a, 0xc7, 0x8e, 0xcf, 0x10, 0x07, 0x0f, 0x72, 0xe4, + 0x02, 0x8f, 0x1c, 0xad, 0xf6, 0x1b, 0xf2, 0x4b, 0x14, 0xe4, 0x4c, 0x10, 0xea, 0x68, 0x99, 0xb6, + 0x41, 0x28, 0x73, 0x49, 0x75, 0x15, 0x2d, 0xb6, 0x8e, 0x6b, 0x23, 0xba, 0x55, 0x1c, 0x7e, 0x0d, + 0x85, 0xda, 0x26, 0xe5, 0x54, 0x6e, 0x1a, 0x0c, 0x16, 0x57, 0x43, 0xbe, 0x38, 0xee, 0xa4, 0xde, + 0x9c, 0xc6, 0xee, 0x40, 0x9c, 0x50, 0xdf, 0x3e, 0x02, 0x27, 0xe6, 0xcf, 0xa3, 0x3b, 0xbd, 0xef, + 0xdb, 0xd6, 0xca, 0x99, 0x9f, 0x92, 0x1a, 0x29, 0xa3, 0x2b, 0x77, 0x4f, 0x41, 0xf1, 0x9f, 0xcd, + 0xf4, 0x6f, 0x9f, 0x31, 0x78, 0x01, 0xc9, 0x01, 0x02, 0xa7, 0x6a, 0xcf, 0x8a, 0xa5, 0x93, 0x98, + 0xfa, 0x67, 0xac, 0xd7, 0xe8, 0x9a, 0x9f, 0x98, 0xf9, 0x27, 0xcc, 0x4b, 0xa9, 0x00, 0x2c, 0x7a, + 0x16, 0xaf, 0xc1, 0xcd, 0xee, 0xde, 0xeb, 0x31, 0x9b, 0x82, 0x96, 0xd7, 0xac, 0xc3, 0xcb, 0xd3, + 0x26, 0x58, 0x01, 0x89, 0x29, 0xef, 0x0c, 0xd5, 0xf3, 0x2c, 0x88, 0xf5, 0x40, 0x66, 0x71, 0x4a, + 0xa3, 0xc0, 0xfd, 0x42, 0x19, 0xf3, 0x0a, 0xa7, 0x71, 0xe8, 0x56, 0x12, 0x44, 0x3e, 0x49, 0xd4, + 0xf3, 0xa0, 0x24, 0x6a, 0x36, 0xac, 0x37, 0x04, 0xc2, 0xfc, 0x9d, 0xe9, 0xc7, 0x4d, 0x1a, 0x4e, + 0xcb, 0xc1, 0xa5, 0xe2, 0xb9, 0x69, 0x79, 0xfb, 0x16, 0x0a, 0x04, 0x23, 0x4a, 0xb2, 0x33, 0x44, + 0x04, 0xe9, 0xf3, 0xa4, 0xc8, 0xac, 0x0b, 0xc8, 0xe7, 0x52, 0x06, 0x6b, 0x61, 0x6a, 0x52, 0xb4, + 0xeb, 0x31, 0x02, 0xe0, 0xcd, 0xd7, 0x7a, 0x93, 0x8b, 0x1c, 0x93, 0xc5, 0xe3, 0xe9, 0x6d, 0x6c, + 0x00, 0xad, 0x31, 0x07, 0x1c, 0x67, 0x1f, 0x6d, 0xa8, 0xa9, 0x0f, 0x93, 0x93, 0xf2, 0xd0, 0xe7, + 0x20, 0xc9, 0xa8, 0xde, 0x16, 0xea, 0xa7, 0xed, 0xd5, 0x72, 0x28, 0x96, 0x96, 0x13, 0x61, 0x78, + 0x38, 0xc7, 0x71, 0xfa, 0xa2, 0x7e, 0x7e, 0x7f, 0x1c, 0x0d, 0x36, 0x33, 0x81, 0xbd, 0xf9, 0xf5, + 0xe6, 0x69, 0xeb, 0x39, 0xeb, 0x06, 0xa3, 0x8b, 0xa4, 0x8e, 0x58, 0x53, 0x08, 0xf5, 0x79, 0x51, + 0xfe, 0xed, 0x34, 0xb1, 0x76, 0xf6, 0x48, 0x2c, 0x9a, 0x0e, 0x00, 0x1b, 0x7b, 0x58, 0x62, 0xdb, + 0x48, 0x6b, 0x24, 0xfe, 0xfa, 0x08, 0xa2, 0xc7, 0xab, 0xe7, 0xf5, 0x8e, 0xef, 0xf4, 0xf2, 0xb6, + 0xad, 0xcc, 0x2f, 0x1f, 0x2c, 0x45, 0x3d, 0x36, 0x81, 0xb6, 0x7a, 0x4c, 0xc1, 0x71, 0xf6, 0x0e, + 0xe9, 0xd8, 0x75, 0x0b, 0xf6, 0xf5, 0xb7, 0xf5, 0x06, 0xcd, 0x75, 0x38, 0x7a, 0x41, 0x51, 0xe9, + 0x4a, 0x9f, 0x4e, 0x3c, 0x8e, 0x47, 0x6f, 0x80, 0x46, 0xb0, 0x4a, 0xc2, 0x1b, 0x0c, 0xf7, 0x43, + 0x47, 0xd1, 0x4e, 0x34, 0x5c, 0xf6, 0x2a, 0xff, 0xda, 0x2e, 0xd0, 0x47, 0xaf, 0x94, 0x90, 0x6a, + 0x49, 0xfc, 0x53, 0x44, 0x62, 0x68, 0xf1, 0xdc, 0x46, 0xb7, 0x5e, 0x29, 0xe6, 0x95, 0xa8, 0xc2, + 0x3d, 0x5b, 0xa7, 0x68, 0x5c, 0x88, 0x65, 0x53, 0xe3, 0x4b, 0x73, 0xbb, 0x40, 0x25, 0x70, 0x6d, + 0x60, 0x02, 0x42, 0x12, 0x54, 0xff, 0xea, 0xd4, 0xa5, 0x0b, 0xa5, 0x68, 0x7c, 0x13, 0x7f, 0xea, + 0xb7, 0x74, 0xc6, 0x61, 0xbb, 0x03, 0x68, 0x45, 0x57, 0xd2, 0xf1, 0x59, 0xea, 0xcb, 0xd2, 0xbc, + 0xb5, 0x5e, 0xfd, 0x8e, 0x0b, 0xa7, 0x9f, 0xa9, 0x09, 0xc5, 0x00, 0x2b, 0xd9, 0x37, 0xf3, 0x68, + 0xd2, 0x86, 0xf3, 0x3e, 0x27, 0x28, 0xd2, 0xe3, 0x30, 0x50, 0xea, 0xde, 0x7f, 0xe7, 0x63, 0x38, + 0xcd, 0xa0, 0xe9, 0x05, 0x12, 0x3b, 0xa3, 0x54, 0xbb, 0xa5, 0xa6, 0x36, 0x8f, 0x80, 0x9d, 0x90, + 0x83, 0x99, 0x11, 0x39, 0xe6, 0x8e, 0xd2, 0xe8, 0xb5, 0xf1, 0x02, 0x72, 0x97, 0x8c, 0x1c, 0x60, + 0x43, 0x86, 0x7a, 0xb5, 0x98, 0x26, 0xf0, 0xd4, 0xae, 0x44, 0x96, 0x05, 0x62, 0x91, 0xac, 0x71, + 0xdd, 0x75, 0x06, 0xb7, 0x49, 0xad, 0x74, 0xad, 0x28, 0x40, 0x85, 0x34, 0x3a, 0xe8, 0xea, 0x34, + 0x43, 0xa3, 0xe6, 0x38, 0x5c, 0xfb, 0x08, 0xed, 0x82, 0xcc, 0x28, 0x90, 0xcc, 0x75, 0xbd, 0xe1, + 0x7b, 0xdd, 0xff, 0xa9, 0x5e, 0x18, 0x4a, 0x16, 0x60, 0x2e, 0xc7, 0x97, 0x38, 0x73, 0xb2, 0x2b, + 0xef, 0xa1, 0x5d, 0x93, 0x7c, 0xee, 0x28, 0x3b, 0xa4, 0x01, 0xec, 0xb3, 0x1e, 0x45, 0x51, 0x1d, + 0xe9, 0xaf, 0xbb, 0xa4, 0x1f, 0x4c, 0xe1, 0xa2, 0xa7, 0x9e, 0x6e, 0xe4, 0xcf, 0xbc, 0xa6, 0x1b, + 0x95, 0x58, 0x2c, 0x1c, 0x68, 0x41, 0xa7, 0x94, 0xe6, 0x36, 0x37, 0x00, 0x18, 0x81, 0x95, 0xa6, + 0x54, 0x83, 0xa5, 0x5a, 0x7f, 0xa5, 0x11, 0x05, 0xef, 0x0d, 0xfe, 0x2d, 0x5e, 0xd3, 0xc3, 0xd5, + 0x17, 0x0f, 0xcd, 0x32, 0xd2, 0xa9, 0x94, 0x7e, 0xb6, 0x8f, 0x69, 0x30, 0xbf, 0x75, 0x39, 0xe4, + 0xfa, 0xf6, 0xd3, 0x83, 0xb3, 0x23, 0xcc, 0xbd, 0xbf, 0x97, 0x78, 0x12, 0x7f, 0x1c, 0x94, 0x75, + 0x3a, 0x44, 0xce, 0xdd, 0x51, 0x9e, 0x31, 0xe5, 0xed, 0x8b, 0x6e, 0xb7, 0x34, 0xa3, 0x10, 0x4e, + 0x7e, 0x92, 0x46, 0xae, 0x4d, 0x11, 0x9a, 0xb3, 0x15, 0x93, 0xe7, 0xe6, 0x4d, 0x35, 0x4c, 0x57, + 0xaa, 0x0f, 0x0e, 0xb4, 0x33, 0xba, 0xa4, 0x73, 0xf3, 0xf3, 0x3c, 0xbf, 0xd4, 0x39, 0x75, 0x2e, + 0x0b, 0x0b, 0x89, 0x9e, 0x27, 0xbb, 0xce, 0xc5, 0xab, 0x07, 0xab, 0x6f, 0x73, 0xc9, 0x18, 0x29, + 0x96, 0xaf, 0x9b, 0xf9, 0xd3, 0x48, 0x6d, 0xe3, 0xb6, 0x76, 0x2d, 0x4b, 0x13, 0xd3, 0xdb, 0xc3, + 0x75, 0x2d, 0xec, 0x65, 0xb7, 0xb8, 0x0d, 0x43, 0x22, 0xc7, 0xd8, 0x3a, 0x5a, 0x01, 0xf7, 0x9e, + 0xaa, 0x3a, 0xc8, 0xbf, 0xc1, 0x86, 0x62, 0x6a, 0x20, 0xc4, 0xdf, 0x17, 0x44, 0x2d, 0x65, 0x8b, + 0xba, 0x44, 0xbb, 0x75, 0xc7, 0x40, 0x7b, 0x1d, 0xc0, 0xad, 0x24, 0xb9, 0x11, 0x97, 0xb6, 0xa4, + 0x80, 0xaf, 0x48, 0x19, 0xc4, 0x6f, 0x4e, 0xe7, 0x23, 0x51, 0xc2, 0x3e, 0x00, 0x46, 0xd7, 0x56, + 0xdb, 0x81, 0xac, 0x43, 0x5c, 0x7c, 0x73, 0x1b, 0x03, 0xd1, 0xe2, 0x1f, 0xe0, 0x75, 0x60, 0xf2, + 0x6d, 0x86, 0x27, 0x90, 0xde, 0x8a, 0x48, 0xe1, 0x04, 0x3f, 0x2b, 0x2a, 0xba, 0x4d, 0x4e, 0x03, + 0x20, 0xc2, 0xf4, 0xfc, 0x58, 0x6e, 0x4e, 0x89, 0x06, 0xa6, 0x08, 0x6f, 0xfd, 0x1d, 0xfe, 0xd0, + 0xd0, 0x8d, 0xfd, 0x66, 0xe8, 0x98, 0x98, 0x7f, 0x9e, 0xae, 0x11, 0x04, 0xa1, 0x96, 0x49, 0x6c, + 0x60, 0x91, 0x4b, 0x49, 0xca, 0x63, 0x03, 0xf9, 0xf2, 0x83, 0x37, 0x20, 0x79, 0x59, 0x15, 0x17, + 0x28, 0x71, 0x2e, 0x0b, 0xc9, 0xbb, 0x55, 0x25, 0x8d, 0x46, 0xf8, 0x54, 0x4d, 0xb4, 0x1f, 0xf5, + 0x8c, 0x7a, 0x77, 0xea, 0x66, 0x4d, 0x99, 0x55, 0xee, 0x4b, 0x68, 0xc7, 0x04, 0x7f, 0xc4, 0xe6, + 0x80, 0xba, 0x47, 0xc9, 0x38, 0x33, 0x02, 0x51, 0xf7, 0x3d, 0x52, 0x10, 0xef, 0xac, 0xb3, 0xba, + 0x68, 0x7b, 0x98, 0x88, 0xdf, 0xf5, 0xd9, 0xf5, 0xda, 0xd0, 0xc3, 0x15, 0x68, 0x16, 0x3b, 0xb9, + 0xb6, 0x1a, 0x75, 0x81, 0x85, 0xbe, 0x60, 0xe9, 0x18, 0xcd, 0x60, 0xd3, 0x50, 0xc8, 0x6d, 0x5d, + 0xfd, 0x9b, 0x54, 0xf7, 0x65, 0x52, 0x70, 0x84, 0x5b, 0xe5, 0x11, 0x7c, 0x4d, 0x9d, 0x3d, 0x03, + 0x47, 0x8f, 0x27, 0xf1, 0x0d, 0xd4, 0xc2, 0x7b, 0xe9, 0xd7, 0x14, 0x22, 0xf6, 0xe4, 0xd2, 0x8c, + 0x81, 0x77, 0xe2, 0xc5, 0xac, 0x7c, 0xd4, 0xb6, 0xe5, 0xcd, 0xb2, 0x01, 0x71, 0x5e, 0xee, 0xd8, + 0x2e, 0x51, 0x89, 0xe3, 0xa0, 0xf4, 0x3d, 0x02, 0x1e, 0x0f, 0x7b, 0x17, 0x36, 0x2d, 0x8a, 0xd9, + 0x56, 0xed, 0x21, 0xf3, 0xfc, 0xd6, 0x79, 0x5e, 0x8e, 0x6b, 0x14, 0xe7, 0x14, 0xf5, 0xff, 0x77, + 0xc2, 0x2f, 0xbc, 0x91, 0xd2, 0x65, 0xd4, 0x19, 0x7b, 0x44, 0x56, 0xe3, 0xb9, 0x09, 0xef, 0xb8, + 0x7d, 0x9f, 0x72, 0xf8, 0xe8, 0xb2, 0x6c, 0x43, 0xaa, 0x90, 0x5e, 0xfc, 0x95, 0x91, 0x3f, 0x4a, + 0x00, 0x44, 0xee, 0xe1, 0x71, 0x4a, 0x11, 0x1f, 0x37, 0x50, 0xe6, 0x0d, 0xce, 0xea, 0x21, 0xde, + 0x6b, 0x3c, 0x28, 0x43, 0xb3, 0x6a, 0x1d, 0xc2, 0xbc, 0xa8, 0x13, 0x3a, 0x4d, 0x57, 0x0d, 0xf1, + 0xc4, 0x7c, 0x0c, 0x82, 0x98, 0x14, 0x6b, 0xd0, 0xf0, 0x22, 0xae, 0xa6, 0xf7, 0xc8, 0x3b, 0x30, + 0xd9, 0xfc, 0x5e, 0x90, 0x35, 0x81, 0xe4, 0x84, 0x19, 0xe9, 0xa2, 0x7c, 0xaa, 0xfa, 0x44, 0x09, + 0xfd, 0x5e, 0x5a, 0x73, 0x87, 0xd1, 0x2f, 0x73, 0xf6, 0x60, 0xb7, 0x58, 0x8b, 0x67, 0x31, 0x47, + 0x26, 0xdc, 0xc4, 0xcf, 0xef, 0xf8, 0x9d, 0xce, 0xdf, 0x7e, 0x83, 0xdc, 0x76, 0x71, 0x3a, 0x21, + 0x88, 0x0f, 0x47, 0x38, 0xf5, 0x0f, 0x5a, 0x65, 0xfe, 0x71, 0xf0, 0xf9, 0x59, 0xd8, 0x06, 0x38, + 0x6b, 0x93, 0xcb, 0x9b, 0x48, 0x33, 0xf4, 0xe9, 0x1b, 0x4a, 0x95, 0x5a, 0xb4, 0x73, 0x9f, 0x2a, + 0x44, 0x19, 0xda, 0xc2, 0x29, 0xf0, 0x26, 0x48, 0xa7, 0x1b, 0xa3, 0x57, 0xda, 0x47, 0x1e, 0xcb, + 0x0e, 0x88, 0x80, 0x1b, 0xaa, 0x61, 0x55, 0x12, 0x5c, 0xb7, 0x38, 0xc2, 0x57, 0x14, 0x0b, 0x29, + 0x96, 0x59, 0x0d, 0x57, 0xac, 0xf9, 0x09, 0xea, 0x85, 0x5b, 0xb1, 0x91, 0x3f, 0x90, 0x99, 0x99, + 0x3c, 0x79, 0xdc, 0x27, 0xfb, 0x5d, 0xa0, 0x6d, 0x87, 0x5b, 0xd0, 0x1e, 0x4c, 0x9a, 0x68, 0x6b, + 0x5f, 0x64, 0x7d, 0x19, 0x93, 0x34, 0x33, 0xf6, 0xe0, 0xc4, 0x41, 0x5b, 0x46, 0x06, 0x51, 0xd2, + 0x0a, 0xcb, 0x33, 0xbe, 0x2d, 0x03, 0xbb, 0x7c, 0xdb, 0xfc, 0x3b, 0x7d, 0xf8, 0xfc, 0x3b, 0xc2, + 0x53, 0xca, 0xb6, 0x10, 0xb3, 0x46, 0xc8, 0x78, 0x26, 0xa8, 0x74, 0x49, 0x40, 0x5f, 0x6b, 0x8b, + 0x41, 0xee, 0xa7, 0x9f, 0xab, 0x0e, 0x58, 0x8c, 0x56, 0x45, 0x03, 0xbb, 0xe8, 0x51, 0x15, 0xe3, + 0x7d, 0x92, 0x2a, 0xc0, 0x4b, 0xc6, 0xd1, 0xf8, 0xf4, 0xf1, 0xc4, 0xd1, 0x0b, 0xa0, 0xf8, 0x16, + 0x4d, 0x0b, 0xf8, 0x6a, 0x15, 0x36, 0x05, 0xac, 0xfb, 0x38, 0xf8, 0x51, 0x11, 0x31, 0x77, 0x48, + 0x5c, 0xec, 0xfe, 0xed, 0x6f, 0x4f, 0xb0, 0x80, 0x36, 0x89, 0xb4, 0xdd, 0xce, 0x8c, 0x83, 0x95, + 0x60, 0x7e, 0x09, 0x1c, 0x69, 0xae, 0xe8, 0x62, 0x95, 0x93, 0x0f, 0xe4, 0x84, 0x32, 0x9a, 0xee, + 0x72, 0xc2, 0x1b, 0x85, 0x18, 0x8d, 0xfa, 0x95, 0xb2, 0xc6, 0xf5, 0x4c, 0x5b, 0x81, 0x60, 0x3a, + 0x52, 0x16, 0xde, 0x00, 0x0e, 0x26, 0x40, 0xcd, 0xee, 0x5a, 0x4c, 0xcd, 0x30, 0x16, 0x28, 0xf7, + 0xf8, 0x42, 0x33, 0xc2, 0xe5, 0xbf, 0xd3, 0xe0, 0x1c, 0xaa, 0xbb, 0x01, 0x98, 0x65, 0xf9, 0x8b, + 0xa8, 0xb3, 0x12, 0x39, 0x01, 0xb5, 0x98, 0x74, 0x43, 0xe8, 0x0f, 0xa6, 0xba, 0x71, 0xac, 0xff, + 0xda, 0x02, 0x0a, 0x7a, 0x0e, 0xc7, 0xcb, 0x3b, 0x54, 0xb7, 0xc6, 0x89, 0x95, 0x99, 0xec, 0xf6, + 0xb6, 0xaa, 0xc2, 0x6c, 0xc7, 0x24, 0x24, 0xfc, 0x8b, 0xe2, 0x05, 0xbd, 0x7b, 0x8e, 0xd6, 0x98, + 0x70, 0xfb, 0x19, 0x9f, 0xb1, 0x4e, 0x24, 0x42, 0x15, 0x01, 0x49, 0x30, 0x03, 0x61, 0x20, 0x40, + 0x5a, 0x84, 0x1d, 0x10, 0xf6, 0x6b, 0x12, 0x16, 0x7e, 0x79, 0x45, 0x3a, 0x89, 0x29, 0x2e, 0xc9, + 0x86, 0xd7, 0x8a, 0x38, 0x1b, 0x2b, 0x3a, 0x09, 0x84, 0x3a, 0x37, 0x9d, 0x8f, 0xbf, 0x56, 0x5a, + 0xec, 0xe5, 0x7c, 0xff, 0xca, 0xa0, 0xd2, 0x10, 0x88, 0xc4, 0xc3, 0xb2, 0x49, 0x87, 0x11, 0xb5, + 0x22, 0xc3, 0x47, 0xe3, 0xbc, 0x16, 0xb1, 0x48, 0x63, 0x2f, 0x80, 0xb4, 0x1e, 0x5c, 0x94, 0x85, + 0xaa, 0xf8, 0xf6, 0x81, 0x18, 0xde, 0x4d, 0x3f, 0x94, 0x6c, 0xcc, 0x05, 0x0a, 0xcb, 0xa6, 0x2a, + 0xfa, 0x46, 0x04, 0x92, 0xfd, 0xde, 0xda, 0xed, 0xc5, 0x6c, 0x76, 0x8f, 0xfc, 0xc0, 0x76, 0x1d, + 0x3a, 0xd9, 0xc1, 0x65, 0x91, 0x0d, 0xfe, 0x6e, 0x9b, 0x6f, 0x60, 0x40, 0xaf, 0xc7, 0x49, 0x0a, + 0x7f, 0x6d, 0xaa, 0xb9, 0xe0, 0x40, 0xae, 0xce, 0x01, 0x0a, 0x6b, 0x80, 0x8d, 0x76, 0x28, 0x6e, + 0x22, 0xd1, 0x01, 0x46, 0x86, 0x50, 0x4c, 0xdb, 0x1b, 0xda, 0x49, 0xbc, 0xaf, 0x2e, 0x74, 0xcf, + 0x35, 0xfa, 0x40, 0x08, 0x12, 0x93, 0x20, 0x1d, 0xe8, 0x7f, 0xf6, 0x53, 0x0f, 0x83, 0x8f, 0x9e, + 0x93, 0x35, 0x54, 0xbb, 0x3c, 0x90, 0x27, 0x88, 0xb8, 0xae, 0x85, 0xb9, 0xe2, 0x90, 0x85, 0x4d, + 0xea, 0xbf, 0xba, 0x08, 0xa4, 0x9c, 0xf8, 0x4c, 0x67, 0xfb, 0xbf, 0xa4, 0x72, 0x42, 0xc6, 0x13, + 0xda, 0xc2, 0x70, 0x23, 0xa4, 0xae, 0xf4, 0xf2, 0x76, 0x77, 0x5a, 0xc2, 0xcc, 0x09, 0xb7, 0xd3, + 0x41, 0xa9, 0x6f, 0x22, 0xe4, 0x2f, 0x17, 0xd8, 0x61, 0xd2, 0xf9, 0x03, 0x60, 0x53, 0x9b, 0x11, + 0x16, 0x1c, 0x05, 0x3d, 0x5c, 0xa2, 0x03, 0x2e, 0x0f, 0x8b, 0x85, 0x0a, 0xbe, 0xf1, 0xfb, 0x62, + 0xf0, 0xb0, 0x5d, 0x14, 0xf0, 0x3d, 0x02, 0x07, 0x75, 0x20, 0x85, 0x94, 0x01, 0xb5, 0x06, 0x80, + 0x63, 0xf5, 0xb4, 0x6e, 0xa0, 0x47, 0x55, 0x29, 0xc2, 0x4b, 0x5b, 0x72, 0xb5, 0x24, 0x4b, 0x54, + 0x52, 0x63, 0xe7, 0xc1, 0xaf, 0xca, 0x2d, 0xcc, 0x05, 0x44, 0x2b, 0xf5, 0xfb, 0x2a, 0x61, 0x8e, + 0x3f, 0xae, 0x25, 0xa3, 0x10, 0xec, 0x0a, 0x7e, 0x22, 0xfc, 0xb6, 0x27, 0xe9, 0x5e, 0x56, 0x70, + 0x4b, 0xbe, 0x21, 0x4d, 0x12, 0x97, 0x32, 0x29, 0x86, 0x69, 0x20, 0x02, 0xa4, 0x82, 0x04, 0x54, + 0x8a, 0xb2, 0x57, 0xa6, 0x96, 0xb2, 0x6d, 0xd6, 0xbb, 0x64, 0x86, 0xad, 0xf4, 0x0e, 0xc3, 0xc7, + 0xa5, 0xcb, 0xaa, 0x22, 0xc6, 0x1b, 0xca, 0x3c, 0x1e, 0xec, 0xca, 0xa4, 0xe8, 0x79, 0xea, 0xd9, + 0xad, 0x62, 0xf4, 0xed, 0x3b, 0xb6, 0x2a, 0xcc, 0x1f, 0xb1, 0x4a, 0x06, 0x66, 0x3b, 0xa7, 0x83, + 0x65, 0x93, 0x21, 0x84, 0xa9, 0x74, 0x88, 0xd3, 0x2e, 0xca, 0xfa, 0xbc, 0x92, 0xf1, 0xa5, 0xc6, + 0x53, 0xa5, 0xd2, 0xf4, 0xc3, 0x60, 0x0f, 0x02, 0xb0, 0x7a, 0x60, 0x43, 0xc0, 0x94, 0x79, 0xa2, + 0x57, 0x21, 0x7e, 0xdb, 0x72, 0x7a, 0xf6, 0x52, 0xa8, 0xe0, 0x15, 0x4f, 0x8b, 0xd2, 0x8c, 0x79, + 0xc5, 0x0b, 0xc9, 0xe0, 0x45, 0x48, 0xe2, 0x8f, 0x25, 0xda, 0xba, 0xd7, 0x79, 0xbf, 0xa3, 0x20, + 0xb5, 0xf3, 0xd2, 0x1c, 0xf7, 0xe0, 0x03, 0xa6, 0x40, 0xc1, 0xac, 0xfa, 0x30, 0x2a, 0xae, 0xed, + 0xa5, 0xaa, 0x2c, 0x67, 0xda, 0x98, 0x57, 0x00, 0x0d, 0x5a, 0x64, 0x70, 0xf0, 0x8a, 0x98, 0x31, + 0x6c, 0xdb, 0x5b, 0xe2, 0x8f, 0xc9, 0xe2, 0xa7, 0xda, 0xb3, 0xfd, 0x98, 0xd1, 0x97, 0x94, 0xca, + 0x0c, 0xa3, 0x47, 0x7e, 0x21, 0xc8, 0x1f, 0xaa, 0x66, 0xe2, 0xc2, 0x03, 0xcd, 0xf1, 0x6e, 0x54, + 0x81, 0x97, 0xd0, 0xfa, 0xc8, 0xb0, 0x01, 0xab, 0x67, 0xf5, 0x7f, 0x3e, 0xfe, 0x5d, 0x5b, 0x8a, + 0x37, 0x4f, 0x10, 0x21, 0x0e, 0x89, 0xce, 0x22, 0x59, 0xa0, 0x03, 0xa4, 0x7a, 0xef, 0xe9, 0x88, + 0x9f, 0x07, 0x16, 0x5d, 0x6a, 0x35, 0xc9, 0xf6, 0xcd, 0x17, 0x28, 0x57, 0xb6, 0x18, 0x77, 0xb5, + 0x26, 0x3f, 0x63, 0xbd, 0xe7, 0xc3, 0x5b, 0xcf, 0x8e, 0xe8, 0xd7, 0x07, 0xf3, 0x8b, 0xcd, 0x8a, + 0xea, 0x93, 0xa0, 0x7a, 0x69, 0x98, 0x06, 0xe8, 0xaf, 0xfc, 0xa9, 0x73, 0xe9, 0xea, 0x5d, 0x4a, + 0x7d, 0xc3, 0xc6, 0x72, 0x11, 0xec, 0xd2, 0x70, 0x1a, 0x6e, 0x31, 0xcb, 0x01, 0xdc, 0x4e, 0x75, + 0x88, 0x32, 0xf6, 0xb7, 0x4b, 0xb9, 0xb9, 0x92, 0xa5, 0x44, 0x80, 0x0f, 0xad, 0x3e, 0x21, 0x5f, + 0x6f, 0xc3, 0xdc, 0x82, 0xdd, 0x82, 0x04, 0x7d, 0x5d, 0xdc, 0xa3, 0xf6, 0xf2, 0xc9, 0x2b, 0x6a, + 0x5c, 0xd7, 0x7c, 0x9e, 0x9a, 0x55, 0xd3, 0x46, 0x93, 0x2b, 0xb3, 0x8d, 0x14, 0xda, 0x7a, 0x61, + 0x42, 0xea, 0xe0, 0x63, 0x0d, 0xd6, 0x24, 0x9b, 0xae, 0xec, 0x63, 0x48, 0xf9, 0xc7, 0xf8, 0x88, + 0x7a, 0xa6, 0xb8, 0x93, 0xe2, 0x84, 0x5a, 0xfc, 0x15, 0x98, 0xdf, 0x59, 0xfe, 0x46, 0x16, 0x58, + 0x39, 0xfb, 0xff, 0x17, 0x8f, 0xd5, 0x3d, 0x5b, 0x71, 0xce, 0x90, 0xaa, 0x3c, 0xd4, 0x9e, 0x9d, + 0x1c, 0xb9, 0x3a, 0xcb, 0xac, 0xff, 0xea, 0xbd, 0x96, 0x2e, 0x01, 0x60, 0xd0, 0x6a, 0xc1, 0x12, + 0xb8, 0xfb, 0xde, 0x09, 0x8b, 0x39, 0x41, 0x43, 0x34, 0x5e, 0x41, 0xed, 0x13, 0xfa, 0x88, 0xaa, + 0x0e, 0x9f, 0xff, 0xf4, 0xa2, 0x73, 0x51, 0x69, 0x34, 0x44, 0x6a, 0x01, 0x5e, 0x56, 0x28, 0x07, + 0xfb, 0xa3, 0xfb, 0x1b, 0x69, 0xe8, 0x45, 0x19, 0xf5, 0x56, 0x41, 0x74, 0x66, 0x45, 0x75, 0x2b, + 0xa7, 0x9a, 0xcb, 0xf4, 0xfa, 0xd8, 0xb5, 0xec, 0xb0, 0xe2, 0x84, 0xd4, 0x9e, 0x28, 0xa7, 0x7f, + 0x53, 0xbc, 0x14, 0x1a, 0xc8, 0x20, 0x65, 0x41, 0x3a, 0xdf, 0x18, 0xcb, 0xf3, 0x76, 0x1d, 0x93, + 0x8a, 0x6d, 0xd2, 0x2b, 0xae, 0x36, 0xa8, 0x29, 0x09, 0xbe, 0xaa, 0xa7, 0xa4, 0x07, 0x72, 0xc6, + 0xcb, 0x94, 0x75, 0x71, 0xe7, 0x1b, 0xe9, 0x6a, 0x0a, 0x13, 0x4f, 0xfa, 0xd3, 0xe5, 0x95, 0x83, + 0x1e, 0x2f, 0x92, 0x9b, 0xdd, 0x16, 0x5c, 0x07, 0xcf, 0xb8, 0x1a, 0x03, 0xec, 0xb8, 0xe8, 0x30, + 0x58, 0x76, 0xd9, 0x3a, 0x74, 0x91, 0x4a, 0xdc, 0x26, 0x3e, 0xb9, 0xeb, 0x64, 0xe2, 0xe7, 0xc0, + 0x9c, 0x0e, 0xbe, 0x6a, 0xc9, 0xad, 0x3b, 0x47, 0xf9, 0x6e, 0x74, 0x1d, 0x33, 0xe4, 0xb0, 0x59, + 0x08, 0x92, 0x8f, 0xe7, 0x9f, 0x88, 0xd3, 0x78, 0xd2, 0x86, 0xa0, 0xd9, 0xe1, 0x68, 0x75, 0x14, + 0x10, 0x6d, 0x11, 0x0f, 0x07, 0xc7, 0x52, 0x4a, 0xbf, 0x27, 0x6c, 0x3e, 0x0f, 0x27, 0x16, 0x63, + 0xb2, 0x9b, 0x2c, 0xcd, 0x83, 0x03, 0xae, 0x0d, 0xc1, 0x88, 0x60, 0x8c, 0x75, 0xaa, 0xb2, 0x73, + 0xaf, 0x83, 0x2c, 0xc7, 0x4f, 0x20, 0x31, 0xa5, 0x9e, 0x36, 0xa2, 0xd9, 0x11, 0x5b, 0x4f, 0x22, + 0x36, 0x95, 0xc7, 0x9b, 0xd5, 0xf0, 0x6c, 0xb0, 0x86, 0x2f, 0x4a, 0xdf, 0xa4, 0x9b, 0xaa, 0x00, + 0x13, 0x3c, 0x5d, 0xb2, 0x7d, 0x49, 0x3c, 0x8e, 0xe9, 0xd4, 0xe3, 0xb1, 0xe7, 0x2c, 0xe7, 0x41, + 0xc3, 0x82, 0x6e, 0xbc, 0xbf, 0x6c, 0x74, 0xf2, 0x84, 0x04, 0xa7, 0x70, 0xc3, 0x8a, 0x64, 0x1a, + 0xd3, 0xe6, 0xb7, 0x05, 0xc1, 0xed, 0xfe, 0xf5, 0x62, 0x67, 0xe7, 0x10, 0xbb, 0xa4, 0xb5, 0xb3, + 0xd1, 0x69, 0x47, 0xe4, 0x27, 0x95, 0xea, 0x9a, 0xb1, 0x63, 0x7b, 0x41, 0xff, 0xee, 0x0f, 0x38, + 0x59, 0xe2, 0x20, 0xa1, 0x88, 0xa6, 0x35, 0x6d, 0x2f, 0x43, 0x74, 0x82, 0x72, 0xc4, 0x71, 0xf0, + 0x27, 0x08, 0xcc, 0xad, 0x64, 0x29, 0x3c, 0x54, 0xa6, 0x38, 0x1e, 0x4b, 0xa2, 0x34, 0x72, 0x1d, + 0xdd, 0x8d, 0xa9, 0x91, 0x98, 0x5d, 0x2e, 0x43, 0xa5, 0xe9, 0xb1, 0xc3, 0x92, 0xd5, 0x1b, 0xec, + 0x66, 0x9f, 0xc2, 0x54, 0xa3, 0x57, 0x71, 0xe1, 0xcf, 0x0b, 0xaf, 0x57, 0x54, 0x48, 0xc9, 0xeb, + 0xa7, 0x33, 0xa4, 0xf4, 0x90, 0xeb, 0xab, 0xd6, 0x40, 0xd6, 0x04, 0x6e, 0x9c, 0xde, 0x7e, 0x6c, + 0x11, 0x24, 0x8c, 0xa4, 0x6e, 0x6b, 0x29, 0x15, 0x19, 0xf2, 0x67, 0x06, 0x7c, 0xfc, 0xc0, 0x7d, + 0x5d, 0x83, 0x56, 0xe6, 0x69, 0x26, 0xcb, 0xda, 0x0c, 0x72, 0x85, 0x1f, 0x64, 0xb8, 0x65, 0x63, + 0xab, 0x17, 0x60, 0x7f, 0xa8, 0x1d, 0x1d, 0x47, 0x22, 0x01, 0x26, 0x69, 0xce, 0xf0, 0xbe, 0xc7, + 0xc3, 0x07, 0x81, 0x92, 0x30, 0x9f, 0x4b, 0x73, 0xad, 0x28, 0xe2, 0x57, 0x10, 0x3b, 0x75, 0x4d, + 0xbc, 0x67, 0x82, 0x64, 0x0e, 0xa1, 0xfd, 0xb6, 0xed, 0xcf, 0x82, 0xf0, 0x70, 0xd7, 0x1f, 0xcc, + 0xf0, 0xb2, 0x59, 0x86, 0x55, 0xd4, 0xb2, 0xe5, 0x29, 0xff, 0xcb, 0xfb, 0x11, 0x57, 0x5a, 0x15, + 0x55, 0xdb, 0x64, 0x0c, 0xa1, 0xbd, 0xd5, 0xf8, 0xa0, 0x71, 0x46, 0xdd, 0x72, 0xc5, 0x1d, 0x1c, + 0x97, 0x68, 0x8c, 0xc8, 0x47, 0xb0, 0xa9, 0x71, 0x3c, 0x21, 0xdb, 0xdc, 0x9e, 0x99, 0xf2, 0xb3, + 0x82, 0x2b, 0xd5, 0x3c, 0xec, 0xde, 0xc8, 0x94, 0xfa, 0x20, 0xd5, 0xcc, 0x67, 0x38, 0xa9, 0x40, + 0xe0, 0x31, 0x51, 0x22, 0x55, 0x96, 0xfc, 0x23, 0x45, 0x0e, 0x1c, 0xd9, 0x44, 0xe2, 0x3c, 0xef, + 0x5a, 0xa4, 0xb3, 0xf4, 0xce, 0x68, 0xa0, 0xfa, 0x9c, 0xaf, 0xf4, 0x21, 0x9e, 0xb4, 0xbe, 0x84, + 0x4e, 0x95, 0x7b, 0xb2, 0x72, 0x7d, 0x89, 0xaa, 0x9f, 0x7c, 0x11, 0x6a, 0x58, 0xfd, 0x06, 0x83, + 0x65, 0xe5, 0x54, 0x0f, 0x13, 0xeb, 0x0b, 0x54, 0x9b, 0x08, 0xa3, 0x15, 0xcd, 0x22, 0xf5, 0xfe, + 0xde, 0xf9, 0x86, 0x30, 0x10, 0xa1, 0xc4, 0x76, 0xeb, 0xd7, 0x81, 0x6b, 0x54, 0xd0, 0x7f, 0x8c, + 0x8f, 0x4e, 0xb1, 0x5c, 0x2c, 0xc9, 0x72, 0xf9, 0x94, 0xd3, 0xc2, 0xa2, 0x4d, 0x76, 0xd4, 0x17, + 0xfc, 0x3a, 0x43, 0x7c, 0xa8, 0x66, 0x9b, 0x6e, 0x65, 0x00, 0xf3, 0x4b, 0x17, 0x3f, 0x49, 0x39, + 0x9d, 0x3e, 0x43, 0x56, 0x73, 0x55, 0xbe, 0xd5, 0x9c, 0x13, 0x71, 0x85, 0x21, 0x02, 0x17, 0x96, + 0x97, 0xb4, 0xa1, 0x96, 0xc0, 0xbf, 0x99, 0xb5, 0x75, 0xd6, 0x02, 0x36, 0x57, 0x22, 0xac, 0x87, + 0xb3, 0x85, 0x48, 0xad, 0xa4, 0x5a, 0x44, 0x11, 0xc6, 0xf5, 0xc2, 0xff, 0x3e, 0xbc, 0x11, 0x73, + 0xf6, 0xa2, 0xac, 0x94, 0x17, 0x8f, 0xda, 0xf5, 0x98, 0x8a, 0xc7, 0x43, 0xcb, 0x0e, 0xec, 0xfc, + 0xc6, 0x21, 0xd9, 0xbb, 0xbd, 0x09, 0x79, 0x9c, 0xde, 0x02, 0x6f, 0xfe, 0x86, 0xf0, 0xfe, 0x1c, + 0xcf, 0x40, 0x28, 0x4d, 0x20, 0x6b, 0xef, 0x8a, 0x64, 0x58, 0x2c, 0xd6, 0x47, 0x86, 0x3f, 0x62, + 0x11, 0x0f, 0xda, 0x55, 0x7d, 0xd6, 0x31, 0x00, 0x60, 0xeb, 0x57, 0xd3, 0x44, 0xc4, 0x21, 0x26, + 0xc3, 0x1c, 0xdf, 0x44, 0xfd, 0x51, 0xea, 0xc9, 0xd7, 0xff, 0xf8, 0xcc, 0x3e, 0x67, 0x31, 0xc3, + 0x89, 0x68, 0x26, 0x46, 0x26, 0x90, 0x67, 0x57, 0x11, 0x1a, 0x2a, 0xde, 0x44, 0x58, 0xde, 0x18, + 0xdd, 0x95, 0x4c, 0x05, 0x59, 0xd7, 0xee, 0x56, 0x51, 0xf6, 0xf8, 0x22, 0x24, 0x29, 0x94, 0x88, + 0xa3, 0x42, 0xed, 0xa2, 0xfc, 0x68, 0x1c, 0x83, 0xc9, 0xaa, 0xa3, 0x05, 0x12, 0x05, 0xb4, 0x02, + 0xe3, 0x38, 0x27, 0x19, 0x20, 0x69, 0x52, 0x47, 0x07, 0x71, 0x2f, 0xd6, 0xb7, 0x1b, 0x29, 0x86, + 0xdd, 0x77, 0xbd, 0x4e, 0x4e, 0xe1, 0x7c, 0x5b, 0xce, 0xed, 0xfc, 0x49, 0x0e, 0x6c, 0x16, 0xc2, + 0x6c, 0x4b, 0x73, 0x01, 0xf7, 0xbe, 0xee, 0x49, 0x7a, 0xd7, 0xb7, 0x83, 0xd8, 0x5c, 0x43, 0x00, + 0xa0, 0x0c, 0xb0, 0xb2, 0xdc, 0x92, 0xd6, 0x1a, 0x3f, 0x33, 0x6d, 0x40, 0x0c, 0x56, 0x6b, 0xd1, + 0x7f, 0x0d, 0x9d, 0xcb, 0x96, 0x98, 0x33, 0xdb, 0xf7, 0xc7, 0x44, 0xe3, 0x07, 0x33, 0xc9, 0xba, + 0x03, 0x4e, 0xff, 0x1a, 0x10, 0x62, 0x0a, 0x9c, 0x8d, 0xed, 0x9e, 0x39, 0xcc, 0x09, 0xa7, 0x91, + 0x29, 0x05, 0x89, 0x9d, 0x45, 0xe6, 0x14, 0xd8, 0x67, 0x3c, 0x1a, 0xbe, 0x47, 0x02, 0xdf, 0x69, + 0x4c, 0xf0, 0x21, 0x11, 0xe7, 0xd6, 0x93, 0x8f, 0x14, 0xac, 0xee, 0x7e, 0x1d, 0x8a, 0x16, 0x98, + 0x82, 0x64, 0xa7, 0xcd, 0xeb, 0x9d, 0x06, 0x00, 0xac, 0x5f, 0x46, 0xe8, 0xd8, 0x96, 0x55, 0x3f, + 0x66, 0x43, 0x4d, 0xba, 0xcd, 0xf4, 0xd3, 0xff, 0x9d, 0x31, 0x30, 0x09, 0xb4, 0x52, 0x08, 0xbe, + 0xab, 0xc6, 0x85, 0x7f, 0x77, 0x30, 0xd9, 0xbb, 0x04, 0x96, 0x3b, 0x38, 0xfe, 0x80, 0x33, 0x7a, + 0xd9, 0xfd, 0xd8, 0x65, 0x49, 0x0f, 0x98, 0x12, 0x41, 0x1e, 0xc2, 0xba, 0x2d, 0xd0, 0x9e, 0xd6, + 0xcb, 0xe4, 0xcf, 0xa6, 0xcc, 0xb5, 0x2d, 0x7d, 0x2b, 0xdb, 0xce, 0x8a, 0x42, 0xa4, 0xe6, 0xa6, + 0xf3, 0x51, 0x8f, 0xd8, 0x6f, 0xea, 0xfb, 0x8b, 0x92, 0xa1, 0x68, 0x0f, 0xe1, 0xec, 0x27, 0xb8, + 0xaf, 0x00, 0x90, 0x59, 0x3c, 0x40, 0x14, 0x78, 0x08, 0xbc, 0x26, 0x2e, 0x58, 0xad, 0xd7, 0x13, + 0xe8, 0x94, 0x4a, 0xc0, 0xa5, 0x84, 0xf2, 0x30, 0x7b, 0x20, 0x44, 0xed, 0xe6, 0xc3, 0x24, 0xa7, + 0x75, 0xf3, 0x9b, 0x6e, 0xbd, 0x55, 0xf4, 0xab, 0x5c, 0x2b, 0xc9, 0xb9, 0xe0, 0xb4, 0xce, 0x97, + 0xc0, 0xda, 0x99, 0xfb, 0xd1, 0x11, 0x4c, 0x5a, 0x49, 0x3d, 0x3f, 0xea, 0xa9, 0x5f, 0x91, 0xac, + 0xd7, 0x8d, 0x98, 0x6a, 0x0c, 0x2c, 0xcc, 0xdb, 0x1c, 0x9a, 0x94, 0x7f, 0x0a, 0x59, 0x13, 0x2e, + 0x64, 0x73, 0xbf, 0xb5, 0xa9, 0xd5, 0xb5, 0x05, 0xe8, 0x4d, 0x2d, 0x57, 0x18, 0x25, 0x1b, 0xc7, + 0x9b, 0x81, 0x08, 0xce, 0x3c, 0x30, 0xe3, 0xd0, 0xae, 0x26, 0x55, 0xb6, 0x09, 0xef, 0xc6, 0x33, + 0x5e, 0x07, 0xcc, 0x42, 0xfe, 0x2c, 0x23, 0x35, 0xa0, 0x1e, 0x70, 0xb5, 0x57, 0xc8, 0x4a, 0x04, + 0x87, 0xa7, 0x88, 0xba, 0x9c, 0x0c, 0x85, 0xee, 0xd5, 0x19, 0x88, 0x32, 0x7e, 0x7f, 0x66, 0x8c, + 0x42, 0x15, 0x94, 0x34, 0xec, 0x7a, 0x2c, 0x99, 0x4a, 0xa3, 0x36, 0x3a, 0x91, 0x13, 0xac, 0xeb, + 0x91, 0xec, 0x51, 0x5b, 0x27, 0x31, 0x48, 0x02, 0x34, 0x98, 0xd9, 0x42, 0x6a, 0x0f, 0x1f, 0x30, + 0x9b, 0x53, 0x2c, 0xf9, 0x26, 0xe7, 0x76, 0xb7, 0x27, 0x89, 0x85, 0x60, 0x7d, 0xe5, 0x9d, 0xd3, + 0x86, 0xbb, 0x63, 0x49, 0x7f, 0xbd, 0x35, 0xfa, 0x5c, 0x07, 0x52, 0xf2, 0x93, 0x36, 0x77, 0xe3, + 0xb8, 0xc1, 0xfa, 0x93, 0x5b, 0x5e, 0xb6, 0x9e, 0x7a, 0x26, 0x66, 0x50, 0x89, 0x10, 0xe8, 0x6e, + 0x7b, 0x23, 0x98, 0x53, 0x3b, 0x91, 0x65, 0x63, 0xcc, 0xcb, 0x8a, 0xf5, 0xf5, 0x7c, 0x4b, 0x82, + 0xe9, 0x32, 0xe3, 0x19, 0x56, 0x53, 0x81, 0x95, 0x51, 0x41, 0x78, 0x32, 0x4c, 0x97, 0x14, 0xe6, + 0x20, 0x45, 0x9d, 0xd2, 0xde, 0xd5, 0xd8, 0x0f, 0x6e, 0xf4, 0xd2, 0x37, 0xb7, 0xfa, 0x30, 0x34, + 0x31, 0x65, 0xa2, 0xba, 0x13, 0x54, 0xa4, 0x15, 0x58, 0x76, 0x68, 0xa6, 0x30, 0x2f, 0xbf, 0xd8, + 0x8a, 0xca, 0x4b, 0x3a, 0x9a, 0x13, 0xf7, 0xfc, 0x21, 0x7d, 0x66, 0x77, 0xd8, 0x59, 0x4a, 0xa2, + 0x5e, 0xaa, 0x98, 0xfe, 0xa1, 0x57, 0x82, 0x69, 0x3c, 0xa1, 0x4a, 0x0f, 0x24, 0xd5, 0x38, 0xfe, + 0x85, 0xd4, 0x5f, 0x7d, 0xb7, 0x73, 0x02, 0x50, 0x0e, 0x73, 0xeb, 0xb7, 0x61, 0x65, 0xab, 0x74, + 0x78, 0x21, 0xe6, 0xe4, 0x4f, 0x82, 0x0f, 0x6b, 0xef, 0x2a, 0xb5, 0x11, 0xca, 0xa2, 0x6f, 0xf9, + 0xe8, 0xd0, 0x8b, 0x28, 0x4c, 0xa5, 0x34, 0xcd, 0xe1, 0x11, 0x5b, 0x10, 0xf0, 0x20, 0x56, 0xfe, + 0x65, 0xb4, 0x47, 0xed, 0xe3, 0xd7, 0x82, 0x9c, 0x73, 0xff, 0xe3, 0x28, 0xd5, 0xbe, 0x2e, 0x41, + 0x79, 0x23, 0x57, 0xe6, 0xf6, 0xc1, 0x1b, 0x19, 0x5c, 0xb5, 0xaa, 0xb5, 0xd2, 0xf7, 0xc0, 0xe8, + 0xe9, 0x6b, 0x83, 0x2d, 0x51, 0xfd, 0x79, 0x81, 0xbf, 0x92, 0x2d, 0x2d, 0x99, 0x3f, 0xbd, 0xa3, + 0x77, 0xe8, 0x59, 0x9c, 0xe8, 0xa3, 0xec, 0x60, 0x36, 0x82, 0x7f, 0xf5, 0x6e, 0x6d, 0x68, 0xbc, + 0x76, 0xd6, 0x6b, 0xc6, 0x5d, 0xf2, 0xb7, 0x48, 0x42, 0x2c, 0xa8, 0x59, 0x7b, 0xf3, 0xf1, 0x5c, + 0xea, 0x70, 0x2e, 0x0b, 0xaa, 0xe3, 0x97, 0x4a, 0x56, 0xb7, 0x44, 0x8f, 0x7a, 0x28, 0xe3, 0xa5, + 0x4b, 0x97, 0xfe, 0x81, 0xde, 0xf2, 0xbf, 0xf5, 0xbf, 0xc9, 0xc8, 0x3e, 0xf7, 0x12, 0x7d, 0x5d, + 0x59, 0x8d, 0x74, 0xf4, 0x3b, 0x71, 0xad, 0x84, 0xde, 0x24, 0x96, 0x94, 0x15, 0x57, 0x8b, 0x8f, + 0x8c, 0x6f, 0x20, 0x46, 0xfd, 0x97, 0xe8, 0x8b, 0x69, 0x2b, 0x69, 0x1e, 0x9d, 0xcd, 0xe7, 0xeb, + 0x12, 0x37, 0x11, 0x56, 0x38, 0x55, 0x43, 0x8d, 0xde, 0x49, 0xcc, 0x24, 0xc6, 0xd3, 0x2d, 0xca, + 0x22, 0x26, 0xd5, 0x6e, 0xd6, 0xca, 0x5c, 0xcd, 0x0c, 0x15, 0xcb, 0x97, 0xa9, 0x58, 0x20, 0xdd, + 0xaf, 0xcc, 0x92, 0xa6, 0xf8, 0xf6, 0x0f, 0x65, 0xf0, 0x32, 0xf1, 0xbb, 0x55, 0x3b, 0x8d, 0xdd, + 0x6d, 0xd7, 0x5d, 0x34, 0x04, 0x0d, 0x4d, 0xb1, 0xbf, 0x4b, 0x63, 0x69, 0xb5, 0x93, 0x04, 0x24, + 0x62, 0x47, 0xea, 0x63, 0xe3, 0x78, 0xd3, 0x61, 0xd1, 0x01, 0x3d, 0x6b, 0x72, 0xe3, 0x26, 0xd3, + 0x65, 0xd4, 0xcd, 0x64, 0x4e, 0x2f, 0x71, 0xaa, 0xe0, 0x23, 0x9f, 0x28, 0xec, 0xa6, 0x55, 0x93, + 0x36, 0xb6, 0x94, 0x4b, 0x0d, 0xe3, 0x36, 0xf5, 0xbd, 0x3e, 0xb3, 0xe2, 0xf5, 0xf3, 0x22, 0xcd, + 0x7d, 0xd2, 0x76, 0x42, 0xe9, 0x80, 0x58, 0xcc, 0x57, 0xc8, 0x79, 0xa2, 0xfb, 0x5b, 0x23, 0x39, + 0xe8, 0xce, 0x18, 0x76, 0xa1, 0x0b, 0x48, 0x89, 0x61, 0xdf, 0x95, 0xc6, 0x0d, 0x04, 0x0d, 0x25, + 0x60, 0xfd, 0x90, 0x22, 0x69, 0xc4, 0xae, 0x02, 0xd5, 0x1c, 0x64, 0xcf, 0xe4, 0x32, 0xd7, 0x5e, + 0xb1, 0x93, 0x02, 0xc4, 0x5d, 0xe8, 0x61, 0x38, 0xbf, 0xe5, 0xa3, 0x47, 0x01, 0xb2, 0x3a, 0xe7, + 0xf0, 0x28, 0x32, 0x36, 0x49, 0x20, 0xa1, 0x05, 0x61, 0x15, 0xd5, 0xa6, 0xcf, 0x43, 0x49, 0x40, + 0xac, 0x06, 0xc6, 0xe7, 0x70, 0xe2, 0xd8, 0x76, 0xee, 0xd0, 0xb9, 0xbf, 0xa9, 0xf9, 0xe2, 0x91, + 0x23, 0xcd, 0x9c, 0x16, 0xa1, 0x17, 0x4b, 0xc9, 0xab, 0xa0, 0x5d, 0x10, 0xfb, 0xa3, 0x75, 0x0d, + 0x9e, 0xd7, 0x68, 0x3e, 0x48, 0x54, 0x40, 0x5f, 0xa7, 0xcb, 0xd6, 0xce, 0xbd, 0x13, 0x99, 0x02, + 0x11, 0xec, 0xe4, 0xa0, 0x89, 0x03, 0x67, 0xb0, 0xe5, 0x37, 0x99, 0x41, 0xd3, 0x08, 0xec, 0xeb, + 0x5c, 0xf7, 0xd2, 0x7f, 0xcf, 0x7e, 0xbe, 0x3e, 0xc1, 0xfe, 0xfd, 0x2f, 0xc8, 0xda, 0x9c, 0x3b, + 0x31, 0x3c, 0x03, 0xe9, 0x76, 0x1e, 0x72, 0x3f, 0xfd, 0xf3, 0x1b, 0x2c, 0xac, 0x00, 0xa9, 0xc1, + 0xe6, 0xe4, 0xfb, 0x1d, 0x74, 0x84, 0x41, 0x48, 0x8f, 0x5f, 0x33, 0x5f, 0xaf, 0x20, 0xa8, 0x9b, + 0x51, 0xa2, 0x66, 0xa4, 0xf2, 0x9e, 0x72, 0x13, 0xd5, 0xda, 0xd9, 0xf4, 0x64, 0xa9, 0x2d, 0x7f, + 0xb2, 0xe5, 0x81, 0x4c, 0x9a, 0x5c, 0x47, 0x14, 0x5f, 0x74, 0x26, 0xc2, 0xa7, 0xc0, 0x90, 0x08, + 0xb7, 0x7a, 0x8f, 0xca, 0x01, 0xf4, 0xa9, 0xce, 0x2b, 0x6c, 0x60, 0x0b, 0x18, 0x6c, 0x15, 0x09, + 0x47, 0xdb, 0x54, 0xdd, 0xf1, 0xdf, 0xd8, 0x43, 0x51, 0x53, 0xe8, 0x08, 0x0e, 0x56, 0xba, 0xd7, + 0x94, 0xbf, 0x6b, 0x50, 0x8b, 0x24, 0xff, 0xe0, 0x2e, 0xbf, 0x73, 0xc4, 0xb8, 0xe3, 0xeb, 0xcc, + 0x9b, 0x0a, 0xfa, 0x7d, 0xf7, 0x59, 0xed, 0xd8, 0x7e, 0x0a, 0x4e, 0x8b, 0x26, 0xad, 0x16, 0xf9, + 0x5e, 0xb8, 0xff, 0x75, 0x28, 0xb8, 0xe3, 0xdc, 0xff, 0x8e, 0x2b, 0xa7, 0x37, 0xbf, 0x4e, 0x38, + 0xb5, 0x2a, 0x71, 0x89, 0xaf, 0x47, 0x9e, 0x76, 0x72, 0x40, 0x0f, 0xec, 0xe2, 0x0a, 0xeb, 0x5e, + 0xc5, 0xc2, 0x8d, 0x49, 0x3a, 0xcc, 0x8e, 0xa1, 0xef, 0x16, 0x98, 0x02, 0xe7, 0xde, 0x06, 0xb0, + 0x4d, 0x58, 0x91, 0x99, 0x9e, 0xf9, 0x73, 0x35, 0xae, 0xbf, 0x77, 0x5c, 0x08, 0x0e, 0x58, 0x1d, + 0x47, 0xdf, 0xf1, 0xc6, 0x6f, 0x5d, 0xd4, 0x44, 0x0e, 0x17, 0x1a, 0xdd, 0x17, 0x40, 0x54, 0xa7, + 0xdb, 0x7c, 0x8d, 0x0f, 0xfd, 0xec, 0x33, 0x32, 0xfa, 0x95, 0x0b, 0xef, 0x25, 0x2f, 0x38, 0x5c, + 0xdc, 0x9f, 0x60, 0xab, 0x91, 0xb7, 0x5a, 0xe8, 0x24, 0xd0, 0x0a, 0xf3, 0x03, 0x75, 0x5b, 0x61, + 0x45, 0xa5, 0x78, 0x36, 0x2c, 0x82, 0x63, 0x7c, 0x7d, 0xc9, 0x29, 0x4e, 0xad, 0x1d, 0x59, 0xd7, + 0x7e, 0xcb, 0x77, 0x35, 0x20, 0x36, 0x3b, 0x69, 0x15, 0x54, 0x9d, 0xc7, 0x28, 0x23, 0x2b, 0x8b, + 0x10, 0xc5, 0x47, 0xbe, 0x60, 0x70, 0x47, 0x6c, 0xba, 0x61, 0xcc, 0x50, 0xde, 0x21, 0xea, 0x09, + 0x30, 0xd9, 0x77, 0x6b, 0xa0, 0x89, 0x29, 0xc6, 0xbc, 0xdb, 0x3f, 0x20, 0x83, 0x00, 0x08, 0x55, + 0x3a, 0x33, 0x63, 0xeb, 0xe5, 0xf6, 0xb0, 0x5e, 0xef, 0xcd, 0x16, 0x99, 0x2e, 0xd0, 0xdd, 0x21, + 0x02, 0x83, 0xcf, 0xc3, 0xb3, 0x82, 0x96, 0x90, 0x9c, 0xc7, 0x63, 0x78, 0xed, 0x2a, 0xf1, 0x34, + 0x96, 0x28, 0xad, 0x31, 0xdc, 0x28, 0xbe, 0xcd, 0x5f, 0xdc, 0x52, 0xd2, 0xbe, 0x2b, 0xf5, 0xbd, + 0x25, 0x2d, 0x00, 0x6d, 0x0c, 0xc7, 0xfd, 0x17, 0x5e, 0x93, 0xf7, 0xa1, 0xe4, 0x6c, 0x43, 0x78, + 0xe7, 0x06, 0x95, 0xf1, 0x65, 0x0f, 0xf9, 0xb3, 0x20, 0x15, 0x34, 0x02, 0xc1, 0xe0, 0x10, 0xe1, + 0x6a, 0xec, 0x58, 0x68, 0xa8, 0x2b, 0xfe, 0xef, 0x6d, 0xe7, 0xf7, 0xcf, 0xf7, 0x69, 0x98, 0x80, + 0xf5, 0x37, 0x92, 0x90, 0x8c, 0x5b, 0xba, 0x58, 0x98, 0x00, 0x71, 0x75, 0x84, 0xd3, 0x23, 0x35, + 0xb4, 0x08, 0x44, 0x17, 0xd9, 0x44, 0xda, 0xff, 0x34, 0x55, 0xb2, 0x89, 0x93, 0xf0, 0xf8, 0xaf, + 0x24, 0x92, 0x43, 0x7b, 0xe1, 0xf2, 0x79, 0xe4, 0xef, 0x8e, 0xc0, 0x86, 0x7c, 0xbf, 0x77, 0xd6, + 0x77, 0x3e, 0x9d, 0x8d, 0xd1, 0xab, 0x2d, 0xb5, 0xb2, 0x82, 0xec, 0xa1, 0x9a, 0x8e, 0x90, 0xb7, + 0x19, 0x19, 0xe4, 0xf8, 0xd5, 0x13, 0xff, 0x64, 0x18, 0x09, 0x98, 0x64, 0x66, 0xac, 0xde, 0x81, + 0xaa, 0x5e, 0xea, 0x60, 0x5c, 0xf0, 0xb2, 0x81, 0x67, 0x39, 0x52, 0xeb, 0x49, 0x5f, 0x15, 0x17, + 0xc0, 0x8d, 0xcc, 0x5f, 0x71, 0x61, 0x15, 0x61, 0x98, 0x78, 0x1c, 0x76, 0x47, 0x11, 0x95, 0x7c, + 0xb9, 0x67, 0x92, 0x91, 0x8a, 0x51, 0x65, 0x8e, 0x58, 0xd2, 0xae, 0xbc, 0x8f, 0x83, 0x5c, 0x13, + 0x00, 0x6e, 0xe0, 0xc5, 0x31, 0xcf, 0x25, 0xb3, 0xbc, 0x7d, 0xe5, 0xec, 0xd6, 0xef, 0x65, 0x7f, + 0x9a, 0x70, 0x38, 0xcc, 0x08, 0x4e, 0x92, 0xee, 0x78, 0x88, 0xb7, 0x8c, 0xaf, 0x6c, 0x2f, 0xb7, + 0xce, 0xad, 0x20, 0x97, 0x1d, 0x0a, 0xf9, 0xe4, 0x0f, 0x13, 0x02, 0xde, 0x8b, 0x69, 0x0f, 0xb6, + 0x78, 0x4e, 0x2a, 0x91, 0xd0, 0x6b, 0x6b, 0x0b, 0x69, 0xc7, 0xee, 0x92, 0x30, 0x6e, 0x84, 0x01, + 0xb3, 0xd8, 0x8a, 0x85, 0xe5, 0x31, 0xed, 0xa4, 0xbf, 0x26, 0xa0, 0x60, 0x66, 0x22, 0xd9, 0x6d, + 0x8c, 0x90, 0x4c, 0xc2, 0xc0, 0x9c, 0x34, 0xb0, 0xe6, 0x00, 0x8c, 0x20, 0x4f, 0xa2, 0x04, 0xd4, + 0xb3, 0xc3, 0xb1, 0x4c, 0x80, 0xae, 0xf8, 0x06, 0x24, 0x0a, 0x94, 0xd3, 0xb8, 0x2e, 0x2c, 0x97, + 0x49, 0x95, 0x6e, 0x6e, 0xd7, 0xe1, 0x23, 0x92, 0x4c, 0x67, 0xeb, 0x6e, 0x6a, 0xfa, 0x19, 0x07, + 0xa1, 0xe7, 0xce, 0xb6, 0x4f, 0xda, 0x73, 0x70, 0xb0, 0xbf, 0x2f, 0x03, 0x68, 0x96, 0xa5, 0x08, + 0x13, 0xc4, 0xc3, 0xa1, 0x0d, 0xb4, 0x87, 0x2e, 0x67, 0x86, 0xcd, 0x23, 0x05, 0x0b, 0xc2, 0x32, + 0xae, 0xb2, 0xc3, 0x28, 0x6b, 0x52, 0x04, 0xfe, 0xa3, 0x2d, 0x88, 0xd6, 0x2a, 0xcd, 0x3e, 0x4a, + 0x85, 0x33, 0xfa, 0x62, 0xd7, 0x4c, 0x68, 0x23, 0xfc, 0x62, 0xde, 0x2b, 0xa2, 0x9a, 0x96, 0xdd, + 0xc7, 0x5a, 0x03, 0xe6, 0x48, 0x56, 0x72, 0xc4, 0x16, 0x51, 0x5c, 0x5f, 0xa4, 0xa8, 0x40, 0x1f, + 0xeb, 0xb0, 0xf8, 0xa7, 0x4e, 0x88, 0x28, 0xa9, 0xc5, 0x29, 0x99, 0xce, 0x8d, 0x0e, 0xbe, 0xd5, + 0xdb, 0x2e, 0xe4, 0xf9, 0x31, 0xe9, 0x94, 0x1e, 0x14, 0xb9, 0xd3, 0x28, 0xa3, 0xc4, 0x75, 0x80, + 0x43, 0x9a, 0xbf, 0xdc, 0xb4, 0x55, 0x74, 0xcf, 0xee, 0xd9, 0x24, 0xa2, 0x24, 0xb4, 0x6d, 0xec, + 0xf4, 0xc7, 0xc9, 0x81, 0xf1, 0x0c, 0x8c, 0xfb, 0xe0, 0xb7, 0x9f, 0xd8, 0x24, 0xb1, 0xd6, 0xb1, + 0xbb, 0x85, 0xb3, 0xd8, 0x07, 0x5b, 0x0a, 0x08, 0x3f, 0xe8, 0x19, 0xba, 0xcd, 0xcd, 0xfc, 0x78, + 0x4a, 0x39, 0x31, 0x77, 0xef, 0xea, 0x26, 0x26, 0xa1, 0x8c, 0xb9, 0x66, 0xac, 0x39, 0x39, 0x41, + 0x7e, 0xb3, 0x46, 0x22, 0x47, 0x4c, 0xb5, 0xa2, 0x69, 0x6e, 0x44, 0x06, 0x1d, 0x66, 0xfb, 0xd7, + 0xe0, 0xeb, 0x1e, 0x2b, 0xcd, 0xf6, 0xf8, 0xa7, 0xf1, 0x86, 0x27, 0xbd, 0x83, 0x37, 0xfd, 0x1c, + 0x23, 0x70, 0xec, 0xda, 0x07, 0x34, 0x30, 0xce, 0x91, 0x4a, 0x42, 0x97, 0x0b, 0x1d, 0x57, 0x2b, + 0x8f, 0x37, 0x92, 0xcf, 0x4b, 0x9e, 0xbb, 0xaa, 0x1a, 0x0b, 0x19, 0xc4, 0x7d, 0xc4, 0xf1, 0x25, + 0x0d, 0x6a, 0xc5, 0xa7, 0x35, 0x59, 0x4a, 0xc1, 0xa9, 0x67, 0x86, 0x38, 0x6a, 0x5a, 0x1d, 0xdb, + 0x89, 0x47, 0x85, 0xca, 0x38, 0x10, 0xa4, 0xf9, 0xa8, 0xf0, 0xf6, 0x5c, 0x18, 0x07, 0xc8, 0x94, + 0x66, 0x4a, 0x4e, 0x21, 0x59, 0x2d, 0x9b, 0xb1, 0xa6, 0xdb, 0x7b, 0x1a, 0xe3, 0xf7, 0xe6, 0xbd, + 0x0e, 0xe0, 0x12, 0x35, 0xd9, 0x31, 0x7f, 0xf4, 0xb5, 0x69, 0xd9, 0x01, 0x44, 0x2d, 0x8c, 0x47, + 0xa9, 0xec, 0xe0, 0x04, 0x4c, 0xa1, 0x4c, 0x34, 0xd1, 0x2b, 0x41, 0x1b, 0xa2, 0x6b, 0x2b, 0x28, + 0x77, 0x6f, 0x9a, 0xee, 0x4e, 0x35, 0x19, 0x82, 0xb2, 0x7c, 0x39, 0x05, 0x11, 0x9e, 0xb2, 0xf2, + 0xb2, 0xb1, 0x0a, 0x61, 0xc7, 0x7c, 0xa2, 0xd0, 0xa2, 0xf2, 0xdc, 0xba, 0x20, 0x0e, 0x45, 0x3b, + 0xb3, 0xae, 0x7c, 0x28, 0x93, 0x89, 0x04, 0xc9, 0xf3, 0x9e, 0x90, 0x51, 0xb4, 0x27, 0xce, 0x8d, + 0x1c, 0xa9, 0x3b, 0xc3, 0xb7, 0x9c, 0x6e, 0xa4, 0x8f, 0x76, 0x69, 0xfc, 0x27, 0x95, 0x67, 0x81, + 0x9e, 0x7f, 0xc8, 0x54, 0x69, 0x61, 0xc9, 0xbe, 0x21, 0x0b, 0x0b, 0xcc, 0x05, 0x3d, 0xff, 0x0c, + 0x7a, 0x65, 0x51, 0x19, 0x25, 0xe4, 0x3b, 0x63, 0xa3, 0x35, 0x2e, 0x83, 0x94, 0x06, 0x63, 0xf2, + 0x8e, 0xd3, 0x04, 0x72, 0x2d, 0xe7, 0x68, 0x9e, 0xa2, 0x15, 0xc4, 0x16, 0xb2, 0x99, 0x1e, 0xfd, + 0xfd, 0xfa, 0x6a, 0xe9, 0xd9, 0xe6, 0x50, 0x2a, 0xdc, 0x4c, 0x01, 0xa8, 0xf6, 0xac, 0xb4, 0x26, + 0x32, 0xb8, 0x68, 0xf9, 0x1b, 0x00, 0x0a, 0xed, 0x7a, 0x95, 0x5d, 0x37, 0x62, 0xc2, 0x5a, 0x73, + 0x64, 0x1a, 0x3c, 0x9e, 0xc8, 0x6e, 0xf7, 0x61, 0xc9, 0x42, 0xf5, 0x86, 0xf6, 0xc8, 0x29, 0x21, + 0xc0, 0x2e, 0x8b, 0x9b, 0x99, 0x40, 0xfe, 0xc0, 0x41, 0x18, 0xab, 0x9f, 0x74, 0x49, 0xc6, 0x39, + 0x28, 0xb7, 0x4e, 0xad, 0xd0, 0xb5, 0xa4, 0xbb, 0x5b, 0x1b, 0x13, 0x3f, 0x0e, 0x09, 0x16, 0xe5, + 0x4a, 0x9b, 0xb7, 0x96, 0x36, 0xbb, 0x8a, 0x69, 0xef, 0x8a, 0xca, 0x7c, 0x2e, 0x24, 0x74, 0xcb, + 0x91, 0xa8, 0x05, 0xc5, 0x1f, 0x6e, 0x17, 0x03, 0xde, 0xa9, 0xce, 0x07, 0xef, 0x7a, 0x74, 0x46, + 0xe3, 0x18, 0xab, 0x29, 0x10, 0x17, 0x0b, 0x73, 0x23, 0x4e, 0x4c, 0x50, 0x7d, 0x5d, 0x37, 0x10, + 0x1b, 0x2b, 0x1b, 0xa7, 0x4d, 0x2b, 0x26, 0x08, 0x9e, 0xbe, 0xf7, 0x9f, 0x0e, 0x47, 0x4c, 0xe8, + 0x10, 0x7f, 0x24, 0xf8, 0x18, 0x08, 0xd4, 0xf6, 0x4d, 0x3d, 0xe7, 0xce, 0xed, 0x31, 0xfc, 0x55, + 0xef, 0x25, 0xe2, 0x54, 0xc8, 0x8c, 0x16, 0x4c, 0x95, 0xb2, 0x97, 0x98, 0x3a, 0x53, 0x7c, 0xa5, + 0xee, 0x2e, 0xc7, 0xe1, 0x17, 0xe2, 0xf0, 0xc8, 0xfc, 0xa3, 0x67, 0xdc, 0xbc, 0x94, 0xd8, 0x71, + 0xe5, 0xee, 0x18, 0xc3, 0x1d, 0x74, 0x7c, 0x75, 0xab, 0x1b, 0x08, 0xa1, 0x8a, 0xcb, 0x14, 0xdb, + 0x94, 0x60, 0x07, 0x72, 0xc6, 0xa2, 0xfb, 0xf0, 0xf5, 0x55, 0xc6, 0x67, 0x40, 0x3d, 0xd5, 0xb8, + 0x30, 0x50, 0x42, 0x81, 0xbb, 0xc5, 0x99, 0x95, 0x3d, 0x5f, 0x2a, 0xf0, 0xdc, 0x58, 0xd4, 0x37, + 0x31, 0xed, 0x1c, 0x34, 0x01, 0x3a, 0xf8, 0x60, 0xb3, 0x46, 0x32, 0x99, 0xe3, 0xd5, 0x7c, 0x08, + 0x90, 0xcf, 0xf0, 0xca, 0x3b, 0x9d, 0x9d, 0x18, 0x58, 0x88, 0x73, 0x3f, 0x1e, 0x44, 0x2c, 0x28, + 0x7f, 0x74, 0xb6, 0xef, 0x8b, 0x39, 0x67, 0x31, 0x38, 0x66, 0x36, 0x26, 0x93, 0xd7, 0x76, 0x18, + 0x80, 0x0c, 0xa0, 0x3f, 0x94, 0x6a, 0x9e, 0x3a, 0xec, 0x1d, 0x1a, 0x1a, 0x61, 0x49, 0x30, 0xe3, + 0x9d, 0x73, 0x7b, 0x05, 0x2a, 0xd5, 0xfa, 0x6f, 0xa9, 0x93, 0x7e, 0xb5, 0x7a, 0x69, 0xe8, 0x8d, + 0xad, 0xc4, 0x0a, 0x7f, 0x90, 0x06, 0xa9, 0x0c, 0xac, 0x58, 0x43, 0x75, 0x86, 0x8b, 0x4d, 0x79, + 0x60, 0x4f, 0xed, 0xc0, 0x0b, 0x93, 0xdb, 0x23, 0xd8, 0x15, 0x00, 0xf3, 0x25, 0xaf, 0x7f, 0x02, + 0xde, 0xb7, 0x4c, 0x17, 0xaa, 0x0d, 0xd1, 0x1b, 0x9b, 0x4c, 0x4f, 0xe9, 0x11, 0x94, 0x4d, 0xfa, + 0xaf, 0xc7, 0x38, 0x1c, 0xc8, 0xe5, 0x31, 0xea, 0xae, 0x36, 0xe7, 0x81, 0x6a, 0xc3, 0x98, 0xe3, + 0x17, 0x4c, 0x95, 0xa2, 0x3c, 0x8c, 0x8a, 0x42, 0xa8, 0x09, 0x61, 0xf2, 0xd3, 0x5f, 0xa9, 0xbe, + 0x68, 0x0a, 0x87, 0xb6, 0x74, 0x20, 0xad, 0xe1, 0x2f, 0x51, 0x53, 0x1d, 0x92, 0x26, 0xac, 0x92, + 0x40, 0xea, 0x06, 0x0b, 0x57, 0xf2, 0x36, 0x35, 0xbe, 0xc0, 0xbd, 0x1b, 0xf7, 0x00, 0xf6, 0x14, + 0x61, 0x57, 0xa3, 0xc1, 0xaa, 0xcb, 0x58, 0x71, 0xe9, 0x65, 0x90, 0x0e, 0x8b, 0x25, 0x9b, 0xd0, + 0xe6, 0xdb, 0xe8, 0xff, 0x05, 0xd6, 0x24, 0x7a, 0x34, 0xc8, 0xda, 0xde, 0x5b, 0x65, 0x98, 0xb7, + 0xbe, 0x22, 0x3b, 0x67, 0xb0, 0xb9, 0x3c, 0xd2, 0x28, 0xea, 0x47, 0x94, 0xf1, 0x9f, 0x50, 0xa3, + 0x4a, 0x37, 0xab, 0x51, 0x09, 0x3d, 0xf3, 0x55, 0x14, 0xea, 0xde, 0x3a, 0xaa, 0xa0, 0x1a, 0xb2, + 0x1d, 0x32, 0x2d, 0x7a, 0x1c, 0xbf, 0x69, 0xff, 0x21, 0x55, 0x75, 0xdc, 0x1f, 0xf4, 0x1d, 0x3d, + 0x54, 0x74, 0x1a, 0x05, 0x37, 0xc4, 0x1a, 0x65, 0x9a, 0x76, 0x49, 0x72, 0x7d, 0xa1, 0xb0, 0xbe, + 0xf9, 0x95, 0x3c, 0xb7, 0xf5, 0xa9, 0x24, 0xc6, 0x6d, 0xb4, 0xee, 0xb9, 0xd6, 0x5b, 0x04, 0xc5, + 0x26, 0xf3, 0x44, 0xe8, 0x68, 0x97, 0x8b, 0x16, 0x76, 0x32, 0x26, 0xa6, 0xb3, 0x33, 0x82, 0xb6, + 0x62, 0x6e, 0xb3, 0x5e, 0x8a, 0xc9, 0xfd, 0x76, 0x3c, 0x99, 0xe6, 0x5a, 0xd1, 0x60, 0x8b, 0x7d, + 0x84, 0xb4, 0xc5, 0x07, 0xd6, 0xb3, 0x94, 0x7e, 0xfd, 0x62, 0x8c, 0xd9, 0xac, 0x22, 0x49, 0x9c, + 0x9e, 0x09, 0x6e, 0xc2, 0x1f, 0x17, 0x50, 0xeb, 0x03, 0x2b, 0x4e, 0xb8, 0x7b, 0x89, 0x35, 0x46, + 0xb6, 0xb9, 0x20, 0xa9, 0xe5, 0x27, 0xa2, 0x61, 0x77, 0xf4, 0x4f, 0xb2, 0xeb, 0x71, 0xea, 0x47, + 0xe2, 0xc1, 0x33, 0x94, 0x7b, 0x2c, 0xc5, 0xf7, 0xa1, 0x02, 0xe6, 0x7e, 0xb6, 0x36, 0x96, 0xd8, + 0x28, 0x41, 0x29, 0xed, 0x19, 0x4c, 0x14, 0x50, 0x21, 0x22, 0x5a, 0x72, 0xa2, 0xec, 0x21, 0xb4, + 0x76, 0xf3, 0xee, 0x8b, 0xd9, 0x34, 0x8b, 0xb8, 0x70, 0x30, 0x59, 0x97, 0x60, 0x1a, 0x12, 0xed, + 0xd6, 0xaa, 0xa0, 0x28, 0xc5, 0xf4, 0xf7, 0x98, 0x7d, 0x3a, 0xec, 0xae, 0x71, 0xa8, 0x44, 0x5a, + 0xb8, 0x15, 0x64, 0xf7, 0x67, 0xf2, 0x5c, 0xf3, 0xd8, 0x5a, 0xde, 0x45, 0x56, 0xc0, 0x75, 0xc3, + 0xfb, 0x7e, 0xcc, 0x43, 0xf5, 0xc2, 0x47, 0x60, 0xa4, 0x64, 0x39, 0x2e, 0x5d, 0x71, 0x0b, 0xb3, + 0xda, 0x5e, 0xf2, 0xc0, 0x53, 0x18, 0xd1, 0xa3, 0xdb, 0x51, 0xb8, 0xcd, 0x40, 0xbb, 0x55, 0x88, + 0x44, 0x69, 0x49, 0xf9, 0x72, 0x0b, 0xcd, 0xdf, 0x52, 0xdc, 0xce, 0x14, 0x6a, 0x1f, 0x09, 0x6c, + 0x35, 0xd9, 0xc8, 0x84, 0xb9, 0xd9, 0x95, 0xdc, 0xcc, 0x62, 0x0b, 0xe2, 0x89, 0xd6, 0xc2, 0x23, + 0x3d, 0x2b, 0x1a, 0xf4, 0x6b, 0x6d, 0x03, 0x2c, 0xa7, 0xfa, 0x14, 0x2b, 0xc1, 0xe7, 0xdb, 0x85, + 0xe8, 0xda, 0xd9, 0xeb, 0xd6, 0x90, 0x9e, 0xd3, 0x5a, 0x69, 0x77, 0x72, 0x70, 0x12, 0x9b, 0xe8, + 0x02, 0xbe, 0x95, 0x60, 0xee, 0x22, 0x4c, 0x88, 0x93, 0x45, 0x42, 0xff, 0x62, 0x48, 0x9c, 0x4f, + 0xbb, 0x15, 0x06, 0xc5, 0x0e, 0x16, 0x9f, 0x3c, 0x04, 0x30, 0xa2, 0x8b, 0x36, 0x4d, 0x6c, 0x3c, + 0x6d, 0x81, 0xe3, 0x8c, 0xc5, 0x0e, 0xfd, 0x4a, 0x99, 0xf6, 0x0d, 0x81, 0x2c, 0x80, 0x3e, 0xd7, + 0x77, 0x91, 0x29, 0x15, 0x38, 0x33, 0xf6, 0x03, 0xaa, 0x6e, 0x6d, 0x7e, 0x89, 0xe2, 0xbe, 0xfb, + 0xdb, 0xf3, 0x98, 0xad, 0xb3, 0x25, 0xb9, 0x38, 0x6a, 0xfe, 0x2d, 0x11, 0x6f, 0x34, 0x9c, 0x6c, + 0x7d, 0xe3, 0x8f, 0xf1, 0x1d, 0xf0, 0xc9, 0xef, 0xe8, 0xe6, 0x2f, 0xa3, 0x2b, 0xea, 0x9e, 0xf1, + 0xf4, 0x53, 0xd6, 0x11, 0xf1, 0xcf, 0x84, 0xce, 0xd6, 0xb0, 0x3f, 0xd5, 0x72, 0x78, 0x8c, 0x81, + 0x88, 0x03, 0x7b, 0x7c, 0xa0, 0xe0, 0x4b, 0x75, 0x58, 0xd5, 0x45, 0x21, 0xdd, 0x4c, 0xa1, 0x99, + 0xb5, 0x3f, 0xa0, 0xe3, 0x1a, 0x57, 0xaa, 0xec, 0x11, 0x56, 0x28, 0x8c, 0xe8, 0x35, 0x4b, 0x4b, + 0xd3, 0x5c, 0xe1, 0x1d, 0x33, 0xd6, 0x9f, 0x9b, 0x7d, 0x01, 0x17, 0xd3, 0x25, 0xd4, 0x76, 0xb2, + 0x7c, 0xd3, 0x7a, 0xff, 0xd8, 0x29, 0xfd, 0x5e, 0x76, 0xe2, 0x45, 0xe1, 0xae, 0x9b, 0x36, 0xe4, + 0x0b, 0xec, 0xed, 0xd2, 0x2b, 0x96, 0x88, 0x2a, 0x90, 0x27, 0xc8, 0xf1, 0xff, 0x95, 0x34, 0x8d, + 0xd9, 0x7a, 0x05, 0x4a, 0x07, 0x81, 0x34, 0xd2, 0x47, 0xd5, 0x93, 0xc1, 0xb0, 0x85, 0x1c, 0xa5, + 0x08, 0x88, 0xeb, 0xc8, 0x85, 0x2c, 0xe2, 0x28, 0x3b, 0xf2, 0xba, 0x70, 0xe6, 0x0b, 0xd2, 0xc7, + 0xce, 0x04, 0x00, 0xa0, 0xba, 0x7c, 0xee, 0xab, 0xab, 0x00, 0x00, 0x9b, 0x11, 0x6e, 0x11, 0x9a, + 0x77, 0x7b, 0x5a, 0x3a, 0xa3, 0x9b, 0xa8, 0xd9, 0x49, 0x09, 0xd0, 0x6e, 0x23, 0x65, 0x92, 0x4c, + 0x41, 0xd2, 0x08, 0xca, 0x8b, 0x76, 0x81, 0x03, 0x7a, 0x67, 0xa1, 0x77, 0xff, 0x7c, 0xad, 0x7b, + 0x49, 0xeb, 0xe5, 0x59, 0xef, 0x63, 0x39, 0xe0, 0x54, 0x22, 0x26, 0x5e, 0xe7, 0x02, 0xd3, 0x9a, + 0x7b, 0x34, 0xe6, 0xaf, 0x3a, 0x48, 0x14, 0xae, 0x89, 0xfe, 0xbf, 0x08, 0x2b, 0xe7, 0x6f, 0x88, + 0x07, 0xa8, 0xf9, 0xc5, 0x0e, 0xc7, 0x72, 0xed, 0xd8, 0xef, 0x4b, 0x85, 0x64, 0xdb, 0xe6, 0x24, + 0xc4, 0x74, 0x5e, 0xad, 0xdf, 0xed, 0x41, 0xc2, 0xc1, 0x1d, 0x48, 0xbe, 0x5b, 0x62, 0xa0, 0x09, + 0xca, 0x6a, 0xe1, 0x66, 0x46, 0x07, 0xd1, 0xb7, 0xdc, 0x7d, 0x6e, 0xc1, 0x13, 0x14, 0x95, 0xfc, + 0x7d, 0x8d, 0xfc, 0xa7, 0xb3, 0x0e, 0x61, 0x51, 0x33, 0x05, 0xa0, 0x44, 0x64, 0x7a, 0x07, 0xd1, + 0x14, 0x09, 0x9d, 0xbd, 0x1d, 0xdf, 0x45, 0xef, 0xe7, 0xa0, 0xcc, 0x2a, 0xf5, 0x36, 0xa0, 0x82, + 0x34, 0xdf, 0xb5, 0x08, 0x4c, 0x45, 0xd5, 0x23, 0xd6, 0x61, 0x66, 0x52, 0xa6, 0x1a, 0x9d, 0x64, + 0xfe, 0xcf, 0x21, 0x00, 0x0b, 0xac, 0xcc, 0x4a, 0x4a, 0x25, 0x13, 0xbc, 0x90, 0x9b, 0xd5, 0x40, + 0x75, 0x1e, 0x9e, 0x5e, 0x11, 0x63, 0x82, 0x19, 0x45, 0xfd, 0x1b, 0xd7, 0x2e, 0x86, 0x2d, 0x96, + 0xae, 0xc5, 0x3b, 0x5b, 0xea, 0x83, 0x5b, 0x95, 0xb6, 0xde, 0x7e, 0xfb, 0xa7, 0x67, 0x44, 0xd5, + 0xaf, 0x20, 0x3c, 0xc5, 0x20, 0x33, 0xd7, 0x08, 0x1b, 0x4d, 0xb3, 0xaf, 0x45, 0xd5, 0x80, 0xda, + 0x8a, 0xdf, 0x6f, 0x4e, 0xb1, 0x4e, 0xbf, 0xd0, 0x01, 0x1c, 0x36, 0xd4, 0x01, 0x4e, 0x9b, 0xb8, + 0xe7, 0x96, 0x28, 0x66, 0x9a, 0x9a, 0xe9, 0x27, 0x73, 0x5d, 0x98, 0x6f, 0x81, 0x1d, 0xdb, 0x1b, + 0x1b, 0xf5, 0x18, 0xac, 0x90, 0x9c, 0x02, 0x23, 0x97, 0x4a, 0xf8, 0x01, 0x5c, 0x60, 0xe5, 0xe7, + 0xe0, 0xfb, 0x56, 0x44, 0xcd, 0xac, 0x1e, 0x50, 0xcb, 0xf9, 0x72, 0xfb, 0xf4, 0xd6, 0xbf, 0x0f, + 0xde, 0x95, 0x0a, 0x1e, 0x6f, 0x71, 0x0f, 0x7d, 0x9a, 0x0b, 0xef, 0x52, 0xdf, 0x90, 0x6b, 0xf4, + 0x3c, 0xdc, 0x99, 0x20, 0xaa, 0x4b, 0x53, 0x41, 0x59, 0x26, 0x07, 0xbd, 0x09, 0xf5, 0x2b, 0xfa, + 0xe7, 0x93, 0xda, 0xe7, 0x00, 0x57, 0xde, 0xf8, 0x86, 0x74, 0x29, 0xdb, 0x86, 0x30, 0xbc, 0xb0, + 0x5a, 0xd7, 0x50, 0x22, 0xe1, 0xfc, 0x17, 0x02, 0x2f, 0x86, 0x24, 0x1b, 0xbf, 0xc5, 0xf2, 0xeb, + 0x23, 0x7c, 0xf0, 0x65, 0x65, 0x51, 0x75, 0xdf, 0xe2, 0x77, 0x8b, 0x02, 0xdb, 0xba, 0x64, 0xde, + 0x94, 0xa1, 0xdf, 0x08, 0x37, 0x98, 0xeb, 0xc9, 0xbd, 0x94, 0xaf, 0xec, 0x5e, 0xe3, 0xd6, 0x64, + 0x2c, 0x30, 0x66, 0x1a, 0x07, 0x28, 0x98, 0x83, 0xd5, 0x60, 0x5b, 0xff, 0x66, 0xc3, 0xf1, 0x7c, + 0x59, 0x36, 0x02, 0x58, 0x0d, 0xd4, 0x48, 0x01, 0xbc, 0x92, 0xff, 0x4b, 0x65, 0xaf, 0x52, 0xb5, + 0x5e, 0xa2, 0x7a, 0xdd, 0xfb, 0x46, 0x84, 0x50, 0xaf, 0xcd, 0x5d, 0x2d, 0x26, 0xe1, 0x18, 0x0a, + 0x1e, 0xb1, 0x25, 0x6e, 0xdb, 0x83, 0x72, 0x7d, 0xce, 0xf6, 0xae, 0xf7, 0x72, 0x38, 0xf0, 0xd5, + 0xf6, 0x55, 0x6c, 0x2c, 0xc3, 0xcd, 0xdc, 0x08, 0x41, 0x01, 0xb6, 0xe6, 0x1b, 0x3f, 0x45, 0x9f, + 0x7a, 0xd3, 0xfc, 0xdf, 0x6d, 0x9c, 0x3a, 0xec, 0x3e, 0xed, 0xe9, 0x59, 0x19, 0x8e, 0x6d, 0x77, + 0x1d, 0x0e, 0x4d, 0x16, 0x1d, 0x28, 0xe1, 0xd2, 0x4b, 0xa8, 0x5e, 0xbd, 0xff, 0x18, 0x0d, 0xe5, + 0x11, 0xc9, 0x38, 0x7d, 0xd8, 0xd7, 0xa3, 0xb8, 0xa5, 0x5c, 0xdc, 0x8c, 0xbd, 0xb2, 0xb6, 0x5a, + 0x15, 0x6b, 0x5b, 0xa9, 0xa5, 0x34, 0xd5, 0x76, 0xb2, 0x57, 0x75, 0x86, 0xbe, 0x8b, 0x19, 0x17, + 0xd8, 0x99, 0xfc, 0x18, 0x40, 0xe8, 0x43, 0x47, 0x1a, 0x47, 0x89, 0x17, 0x72, 0x5b, 0x0d, 0x06, + 0x28, 0xd3, 0xf5, 0x37, 0xa7, 0x2f, 0x99, 0xa5, 0x67, 0xda, 0x1b, 0x66, 0x57, 0xc0, 0x45, 0x05, + 0x24, 0xbc, 0xab, 0x83, 0x4e, 0xc5, 0x8b, 0x5d, 0xfc, 0xd4, 0x77, 0x53, 0x32, 0x68, 0x50, 0x80, + 0x18, 0x86, 0x57, 0x67, 0x3f, 0x4a, 0x76, 0xba, 0x5a, 0x19, 0xd3, 0x31, 0xdf, 0xbc, 0x7a, 0x18, + 0x5b, 0x1f, 0x00, 0xb8, 0xa6, 0x26, 0x8a, 0x4d, 0xa1, 0x6c, 0x5f, 0xe3, 0x23, 0x85, 0x1c, 0xc6, + 0xb7, 0xf1, 0xe1, 0xc4, 0xaf, 0x07, 0x37, 0x89, 0xda, 0x7b, 0x80, 0x2f, 0x01, 0xff, 0xed, 0xb8, + 0x5a, 0x72, 0x7b, 0x8c, 0x20, 0xfd, 0x6b, 0xa9, 0xcf, 0xed, 0x88, 0x6e, 0xbc, 0xa6, 0x38, 0x74, + 0x09, 0xba, 0x1d, 0xe8, 0x9b, 0x81, 0x72, 0x59, 0x28, 0x94, 0xe4, 0x7a, 0x95, 0xb5, 0x72, 0x2c, + 0x97, 0xa8, 0x8e, 0xf2, 0x07, 0x8b, 0x6a, 0xff, 0x39, 0x27, 0x8c, 0xd7, 0x24, 0xdd, 0x56, 0x8b, + 0x11, 0x67, 0x20, 0x91, 0x81, 0x2c, 0x9c, 0xb1, 0xd0, 0x4a, 0x28, 0x20, 0xd3, 0x2e, 0x85, 0xbf, + 0xd1, 0xc9, 0x5c, 0x48, 0x71, 0x06, 0xf7, 0x8a, 0x0b, 0x3d, 0xa5, 0x57, 0xb8, 0xf1, 0x3c, 0x02, + 0x20, 0xbc, 0xe9, 0x07, 0x0f, 0xe3, 0x9d, 0x03, 0xfd, 0xdc, 0x5e, 0xcf, 0x17, 0x2c, 0x15, 0xa7, + 0x3f, 0x73, 0xb2, 0xc3, 0x9f, 0x53, 0x92, 0xfc, 0x7a, 0x02, 0x41, 0x09, 0x64, 0x64, 0x02, 0xf1, + 0x08, 0xd9, 0xf4, 0x27, 0x9f, 0xfd, 0x2f, 0x90, 0x45, 0x0c, 0x36, 0x19, 0x17, 0x16, 0x98, 0xae, + 0x78, 0x77, 0x0a, 0xde, 0x95, 0x59, 0x0c, 0x97, 0xec, 0xc7, 0xdb, 0xd0, 0xd1, 0xc7, 0x6b, 0xd1, + 0x51, 0x33, 0x08, 0x52, 0x99, 0x2e, 0xe0, 0xe4, 0xbb, 0xa7, 0x79, 0x4c, 0x6e, 0x55, 0x23, 0x0c, + 0x42, 0x8d, 0x92, 0xa9, 0x07, 0x79, 0x82, 0x54, 0x8b, 0x86, 0x52, 0x58, 0x05, 0xcf, 0x93, 0x49, + 0x2d, 0x42, 0xe4, 0xa4, 0x68, 0x84, 0xa2, 0x6e, 0xa0, 0x52, 0x66, 0xce, 0xa8, 0x63, 0xb6, 0xd9, + 0x76, 0xe3, 0x36, 0xe3, 0xbc, 0x3c, 0x45, 0x86, 0xc7, 0x97, 0x9b, 0x67, 0x99, 0x8a, 0x8b, 0x26, + 0x13, 0x7d, 0xd4, 0x52, 0xaa, 0x16, 0x0a, 0x0c, 0x41, 0x42, 0x42, 0x3c, 0xfb, 0x12, 0x96, 0x04, + 0xa1, 0x23, 0xe0, 0x2c, 0xcb, 0x38, 0x9d, 0x7c, 0x5c, 0x10, 0xa7, 0x52, 0x7d, 0xfd, 0xc4, 0x54, + 0x9d, 0x87, 0x8a, 0x3b, 0x7c, 0xe5, 0x88, 0xda, 0x80, 0x5b, 0x13, 0xfa, 0xeb, 0xcb, 0x7f, 0xd6, + 0x54, 0x67, 0x6c, 0x19, 0x4f, 0x96, 0x21, 0x3e, 0x97, 0xd3, 0xf6, 0xff, 0x84, 0x9f, 0x5c, 0x5e, + 0x41, 0x34, 0x99, 0x30, 0x7c, 0x0d, 0x81, 0x66, 0x9b, 0x2c, 0xef, 0x43, 0x15, 0x6a, 0x60, 0x7f, + 0x20, 0xe5, 0x17, 0xcf, 0x82, 0x9b, 0x8c, 0x39, 0x84, 0x5a, 0x0b, 0x26, 0x69, 0xe4, 0xbc, 0x4c, + 0xb6, 0x63, 0x5d, 0x85, 0x9a, 0xe9, 0x3b, 0x23, 0x8c, 0x7b, 0xb6, 0x4a, 0x2b, 0x0d, 0x88, 0x70, + 0x96, 0x6b, 0xc4, 0x25, 0x37, 0x3a, 0x99, 0xf5, 0x06, 0x04, 0x49, 0xcc, 0xe2, 0x3d, 0xa5, 0x55, + 0x6c, 0xbf, 0xac, 0x3c, 0x50, 0xc6, 0x1b, 0x25, 0x63, 0x1f, 0xec, 0x0d, 0x7a, 0x8d, 0x0c, 0x6a, + 0x5d, 0xa7, 0xc2, 0xef, 0x18, 0xe4, 0x5b, 0x7a, 0x4e, 0xa1, 0xde, 0x6e, 0x6d, 0x4d, 0x6b, 0x14, + 0x97, 0xe2, 0xaf, 0x52, 0xf3, 0x28, 0x79, 0xd5, 0x8d, 0xcb, 0x91, 0xb4, 0xbd, 0xdc, 0x85, 0x05, + 0xa4, 0xb2, 0x90, 0x62, 0x2d, 0xb7, 0x23, 0xad, 0xdb, 0x4e, 0xd5, 0xcf, 0x3a, 0x48, 0x68, 0xc6, + 0x40, 0x91, 0xe0, 0xd9, 0xe7, 0xb7, 0xfe, 0xc8, 0x8a, 0x91, 0x27, 0xb8, 0x85, 0x47, 0x7a, 0x67, + 0x9f, 0x00, 0x34, 0xa1, 0x4e, 0x99, 0x15, 0x06, 0x30, 0xff, 0x72, 0x36, 0x29, 0x43, 0xbc, 0xa4, + 0x69, 0x0b, 0x61, 0x12, 0x6d, 0x2b, 0x6a, 0x9a, 0xe4, 0xff, 0x28, 0x8b, 0xe7, 0xbe, 0xc7, 0x4c, + 0x70, 0x70, 0xd6, 0x79, 0xde, 0x23, 0xb8, 0x69, 0xc6, 0xf0, 0x86, 0xe6, 0x69, 0x8d, 0x59, 0xbb, + 0xb3, 0xdd, 0x08, 0x17, 0x08, 0x87, 0xa6, 0x81, 0x6c, 0x35, 0xab, 0x69, 0xa5, 0x52, 0x78, 0xe1, + 0xb0, 0xd2, 0x52, 0xa5, 0xbd, 0x50, 0xbc, 0x25, 0xcc, 0xd2, 0x3a, 0xf2, 0x29, 0x89, 0xac, 0xdc, + 0x9e, 0x36, 0x66, 0xdb, 0x0d, 0x21, 0x85, 0xd1, 0x6d, 0x3d, 0xd2, 0xa8, 0xc8, 0x39, 0xc7, 0xe1, + 0xab, 0xa9, 0xa9, 0x9a, 0x7b, 0x5c, 0x49, 0x65, 0x4d, 0x2a, 0x26, 0x41, 0xeb, 0x30, 0x31, 0x61, + 0xc7, 0x43, 0xd6, 0xf1, 0x27, 0xe6, 0xe2, 0xec, 0xd6, 0x83, 0x6a, 0xd9, 0x4a, 0xfc, 0xca, 0xd0, + 0x5f, 0xab, 0x9d, 0xa0, 0xc3, 0xbd, 0x67, 0x6a, 0x73, 0xe2, 0x78, 0xd7, 0x4d, 0x87, 0x89, 0x59, + 0x75, 0x91, 0x69, 0xfe, 0x71, 0x8e, 0x8d, 0x5b, 0x96, 0x2f, 0x06, 0x62, 0x25, 0x44, 0x5e, 0x25, + 0xd2, 0x20, 0x6d, 0xf3, 0xca, 0xce, 0xdf, 0xc0, 0x88, 0x01, 0x21, 0xa5, 0x52, 0xc1, 0xa4, 0xd6, + 0xfe, 0xdb, 0xf7, 0x29, 0x41, 0x7f, 0xe1, 0x79, 0x58, 0x77, 0xdc, 0xf3, 0xfb, 0x6d, 0x45, 0xcd, + 0x8c, 0xfb, 0x0d, 0x1f, 0x20, 0x70, 0x2c, 0x7f, 0x56, 0xb0, 0x2e, 0xff, 0x98, 0x5c, 0x24, 0x6b, + 0xe3, 0xd2, 0xda, 0x78, 0x7f, 0xdf, 0x15, 0x44, 0x99, 0x28, 0x13, 0x41, 0xce, 0xb5, 0x99, 0xa0, + 0x7b, 0xdb, 0x7f, 0xb0, 0x80, 0xca, 0xb4, 0x31, 0xfe, 0xc5, 0x49, 0xaf, 0xf8, 0x8f, 0x36, 0xf8, + 0x6a, 0xba, 0x56, 0x4b, 0x9b, 0xc0, 0x0d, 0x2c, 0xc3, 0x55, 0x6b, 0x4e, 0x8b, 0xcb, 0xf8, 0x3f, + 0xff, 0x53, 0x5c, 0x59, 0xe5, 0xff, 0x05, 0x3f, 0x25, 0xaa, 0xca, 0x3e, 0xcd, 0x7c, 0xb3, 0x16, + 0xea, 0xad, 0xe4, 0x8a, 0x78, 0xff, 0xd2, 0x1d, 0xe5, 0xb7, 0xd7, 0xc7, 0x4e, 0xa3, 0x93, 0xcb, + 0x18, 0xb6, 0xb6, 0xf0, 0x74, 0x01, 0x4b, 0xd7, 0xac, 0x43, 0xc4, 0x4f, 0x6a, 0xa2, 0x73, 0x26, + 0x57, 0x4d, 0xfc, 0x1a, 0xcb, 0x2b, 0x73, 0x8d, 0x36, 0xda, 0xf3, 0x4e, 0x69, 0x31, 0x39, 0x89, + 0xaa, 0xcb, 0xb7, 0xa9, 0xa3, 0x0d, 0xcc, 0xfe, 0x16, 0xb3, 0xf5, 0x6c, 0xc7, 0xc4, 0xbc, 0x99, + 0xa1, 0xad, 0x96, 0x3c, 0xb5, 0x9b, 0x60, 0xb8, 0x4f, 0x43, 0xac, 0x76, 0x2f, 0x1d, 0xce, 0xe9, + 0xda, 0x79, 0x21, 0x4d, 0x79, 0x97, 0x42, 0x77, 0xde, 0xce, 0x94, 0xda, 0xa7, 0x69, 0x27, 0xcf, + 0x88, 0x7f, 0x73, 0x5d, 0x93, 0x0a, 0x64, 0x78, 0x89, 0xc0, 0xbf, 0x39, 0x81, 0x53, 0x59, 0x03, + 0xee, 0x3e, 0x9f, 0x3d, 0x37, 0xb4, 0xd9, 0xab, 0xce, 0x7c, 0x74, 0x95, 0x62, 0xc8, 0xc2, 0x86, + 0x28, 0x40, 0x2c, 0x6d, 0xa6, 0x40, 0x59, 0x9a, 0xf5, 0x3a, 0x9d, 0x18, 0xf8, 0x7b, 0xa8, 0x75, + 0x22, 0x02, 0x02, 0xb3, 0xd3, 0xb7, 0xad, 0x0c, 0x44, 0xc1, 0xee, 0x4c, 0x28, 0x4b, 0xf3, 0x0c, + 0x8d, 0x39, 0x7b, 0xe3, 0x50, 0x3d, 0x3d, 0x50, 0x1f, 0x1c, 0xdc, 0xd5, 0xb4, 0xa9, 0x4a, 0xf1, + 0x6c, 0x5c, 0xe2, 0x71, 0x0b, 0x0f, 0xee, 0x1e, 0x6e, 0x66, 0x49, 0xee, 0x26, 0x96, 0x20, 0x9b, + 0x2e, 0xd6, 0xb8, 0x0d, 0x15, 0xaa, 0x86, 0xdd, 0x64, 0x4b, 0xf8, 0x8e, 0x8f, 0xa7, 0x80, 0xf3, + 0x5c, 0xc1, 0x74, 0x34, 0xe7, 0x55, 0x04, 0xbb, 0xbc, 0x3f, 0x98, 0x17, 0x83, 0xa1, 0x6a, 0x56, + 0xfb, 0x1e, 0xe5, 0xf8, 0x95, 0x2a, 0xa7, 0xdf, 0x6c, 0x17, 0x59, 0x53, 0x06, 0x84, 0x28, 0x80, + 0x78, 0x55, 0x6a, 0x80, 0x10, 0x18, 0xad, 0x04, 0xa7, 0x43, 0xe8, 0x03, 0x42, 0x88, 0x2f, 0x95, + 0x4e, 0x4a, 0x63, 0x02, 0x2b, 0xcb, 0x3a, 0x96, 0x39, 0x4f, 0xbe, 0x46, 0xcd, 0x07, 0x22, 0xe4, + 0xcf, 0x2f, 0x15, 0x0e, 0x67, 0x18, 0x55, 0x9f, 0x04, 0x96, 0xe4, 0x39, 0x1b, 0x9f, 0x14, 0x5c, + 0xc5, 0xbd, 0x5d, 0x58, 0x58, 0xfe, 0x22, 0xbd, 0xe0, 0x46, 0x85, 0x37, 0x04, 0x54, 0xa2, 0xaf, + 0x74, 0xff, 0xa9, 0xb6, 0x95, 0x6f, 0xe6, 0xe0, 0x4a, 0x6b, 0x03, 0x18, 0x3b, 0xec, 0x23, 0xc3, + 0x1d, 0xbf, 0x5a, 0x02, 0x2a, 0x01, 0x62, 0xd4, 0x08, 0xd4, 0xc3, 0xd0, 0xc8, 0x24, 0xa4, 0x56, + 0x18, 0x4e, 0x0a, 0x41, 0x4c, 0x77, 0xd6, 0x90, 0x1d, 0x7c, 0x0e, 0x77, 0x50, 0xa8, 0x43, 0xfb, + 0x47, 0x62, 0x07, 0xf7, 0xc5, 0xf7, 0xb8, 0x2b, 0xd7, 0x20, 0x44, 0x23, 0x6c, 0x1b, 0xa1, 0xac, + 0x7c, 0x68, 0x0f, 0x9a, 0xda, 0xfc, 0x2c, 0x0a, 0x99, 0xbb, 0xd1, 0x05, 0xce, 0x13, 0xe5, 0xc1, + 0xcf, 0x26, 0x90, 0x01, 0x90, 0x55, 0x80, 0xb7, 0x6c, 0x22, 0x50, 0xce, 0x57, 0xf3, 0xba, 0xfe, + 0x98, 0x0b, 0x6e, 0x00, 0x02, 0x7f, 0x4c, 0xa9, 0xea, 0xe6, 0x67, 0x94, 0x08, 0x41, 0x73, 0x11, + 0x47, 0x2b, 0x94, 0x9d, 0xea, 0x57, 0xc0, 0xbd, 0xe9, 0xbb, 0xa7, 0x6a, 0x2c, 0xa5, 0x53, 0xf4, + 0x77, 0x88, 0x59, 0x94, 0x76, 0x9b, 0x7f, 0xec, 0xf9, 0x41, 0x6b, 0xb6, 0x4b, 0xa0, 0xd5, 0xf2, + 0x29, 0xe4, 0x57, 0x43, 0x17, 0xbe, 0xa8, 0x54, 0x6e, 0xa1, 0x99, 0x8c, 0x4d, 0x75, 0x9d, 0x94, + 0x53, 0x58, 0x17, 0x19, 0x4f, 0x24, 0xbf, 0xde, 0xc0, 0x30, 0xcc, 0x7f, 0x74, 0xb4, 0x5d, 0x39, + 0x1a, 0xd6, 0xfc, 0x4a, 0x58, 0xa2, 0xdd, 0x1b, 0xe4, 0x54, 0xfe, 0x25, 0xd6, 0xb2, 0x90, 0xb8, + 0x26, 0x7c, 0xd6, 0xdb, 0x88, 0x5b, 0x97, 0x00, 0x29, 0x26, 0x89, 0xdf, 0x23, 0xe2, 0x8e, 0x58, + 0xaf, 0xed, 0x55, 0x4a, 0x08, 0xdc, 0x98, 0x56, 0x85, 0x1e, 0xfa, 0x9f, 0x95, 0x97, 0xde, 0x94, + 0x75, 0xd5, 0xb4, 0xdb, 0x6d, 0x6e, 0xf6, 0xc7, 0xe8, 0x14, 0x3e, 0x09, 0x33, 0xdb, 0x2f, 0x05, + 0x7f, 0xac, 0xd3, 0x37, 0x65, 0xf7, 0x24, 0x36, 0x4c, 0x93, 0xc5, 0xd6, 0x22, 0xf4, 0x78, 0x72, + 0x83, 0x69, 0x87, 0x38, 0x46, 0x3d, 0xdf, 0x9b, 0x5a, 0x42, 0x1e, 0xda, 0x39, 0xa2, 0x8a, 0x8b, + 0x4d, 0x97, 0xde, 0x2a, 0xd0, 0x9e, 0x31, 0xa3, 0x07, 0x06, 0xb3, 0xe3, 0x60, 0x3b, 0x79, 0xbf, + 0x7a, 0x70, 0x42, 0x97, 0xa8, 0x68, 0xe5, 0x7b, 0xac, 0x44, 0x27, 0xa0, 0x24, 0x78, 0x5a, 0x50, + 0x17, 0xc6, 0xea, 0x74, 0x42, 0x9e, 0x57, 0xcc, 0x3d, 0x14, 0x8b, 0x8f, 0x49, 0x87, 0xef, 0x55, + 0x90, 0xc9, 0xd8, 0x8b, 0x32, 0x60, 0xc5, 0x11, 0x1b, 0xf8, 0x15, 0x6a, 0xca, 0xcb, 0xf6, 0x57, + 0x77, 0xf4, 0x5a, 0x09, 0xdb, 0xb9, 0xbe, 0x82, 0xcb, 0xde, 0xc2, 0xf4, 0xcc, 0x13, 0xb0, 0xfe, + 0xf3, 0x9f, 0xe2, 0x03, 0x35, 0xb0, 0x05, 0x48, 0x6e, 0xf1, 0xb8, 0x08, 0xec, 0x21, 0xf9, 0x45, + 0xf7, 0x46, 0x49, 0x80, 0xdd, 0x5d, 0x0e, 0xa0, 0xd7, 0xed, 0xf2, 0x3a, 0x49, 0x7c, 0x17, 0x8a, + 0x2f, 0x40, 0x4c, 0x9a, 0x16, 0x9f, 0xb6, 0xd9, 0x97, 0x6d, 0x3f, 0x80, 0xf1, 0x1d, 0x48, 0x37, + 0xbc, 0x95, 0x3c, 0x37, 0xc7, 0x40, 0x55, 0xa0, 0xf6, 0x36, 0x15, 0x2c, 0x11, 0x38, 0xa6, 0x54, + 0x9c, 0x3c, 0xbd, 0x04, 0x25, 0xce, 0x28, 0xd1, 0xf5, 0xf9, 0x38, 0x20, 0x78, 0x7c, 0xf7, 0xa1, + 0x60, 0x6f, 0xad, 0x8f, 0x3b, 0xdc, 0x01, 0x93, 0x29, 0xb4, 0xca, 0xf6, 0x5b, 0xee, 0x37, 0x90, + 0x08, 0xfb, 0x3f, 0xe5, 0x6d, 0xb8, 0xfd, 0x4a, 0xe3, 0xca, 0xb8, 0x25, 0x61, 0x5e, 0x52, 0x39, + 0x78, 0x90, 0x2a, 0xf2, 0xfb, 0x0b, 0x8b, 0xf2, 0x68, 0x86, 0x62, 0x2b, 0x58, 0x9d, 0x49, 0x18, + 0x39, 0x05, 0x42, 0xbd, 0xdf, 0x0c, 0xdf, 0x92, 0x4d, 0xde, 0xf7, 0x4b, 0xd9, 0x01, 0xfc, 0xd4, + 0x36, 0x9b, 0x80, 0x48, 0x09, 0xbd, 0x17, 0x0d, 0x52, 0xde, 0xc4, 0x3a, 0x00, 0x94, 0x3a, 0x33, + 0xd5, 0xa1, 0xe1, 0x9b, 0x2e, 0x57, 0x1d, 0xef, 0xcd, 0x7c, 0x5b, 0xf3, 0xec, 0xd8, 0x9e, 0x66, + 0xc9, 0x63, 0xe8, 0xc4, 0xc1, 0xaa, 0x67, 0x7e, 0x67, 0xf1, 0xde, 0x32, 0x05, 0x12, 0x5e, 0xad, + 0x7f, 0xcf, 0xac, 0x1f, 0x18, 0x52, 0xa0, 0xe4, 0x98, 0xa9, 0x15, 0x8a, 0xee, 0x71, 0xc2, 0xa1, + 0xd2, 0xeb, 0xd6, 0x26, 0x53, 0x38, 0x21, 0x91, 0x73, 0x1c, 0x62, 0x8f, 0xab, 0x3b, 0xd8, 0xc9, + 0x88, 0x35, 0x07, 0xaf, 0xfe, 0xf8, 0xc0, 0x72, 0xa8, 0x7b, 0xf3, 0x78, 0xaf, 0x86, 0x06, 0xe9, + 0x7f, 0x39, 0x7f, 0x90, 0x76, 0x69, 0xb6, 0x8e, 0x3b, 0x7e, 0x5e, 0x9b, 0x9f, 0xf8, 0x11, 0xa1, + 0x8e, 0x34, 0x30, 0xde, 0x17, 0x17, 0xd8, 0xea, 0xf2, 0x05, 0x62, 0x7a, 0x1f, 0xbd, 0x6c, 0x13, + 0x9c, 0xe4, 0x96, 0x09, 0xdd, 0x9b, 0xc0, 0x87, 0x5a, 0x6f, 0xc4, 0x99, 0xc6, 0x33, 0xaa, 0x19, + 0x89, 0x79, 0x56, 0x30, 0x11, 0x54, 0xf9, 0x66, 0x20, 0x86, 0x3e, 0x78, 0x24, 0xdf, 0xc3, 0x44, + 0x8c, 0xde, 0xee, 0x52, 0x8c, 0x28, 0x99, 0xac, 0x14, 0x88, 0x25, 0x65, 0x6f, 0x77, 0xba, 0xf9, + 0x92, 0xc6, 0xd6, 0x76, 0xc7, 0xd6, 0xfe, 0x44, 0x5e, 0x1c, 0x73, 0x1b, 0x5b, 0x67, 0x16, 0x7a, + 0x3b, 0x87, 0x0e, 0xaf, 0x11, 0xd4, 0xc0, 0x2f, 0x28, 0x82, 0xe2, 0xeb, 0x81, 0x42, 0x17, 0x67, + 0xec, 0xa6, 0xa7, 0x0a, 0xd6, 0xb5, 0xcb, 0x84, 0xc8, 0xe3, 0xd0, 0x1d, 0xd8, 0x08, 0x05, 0x78, + 0xed, 0xa2, 0x4d, 0xb0, 0x66, 0x54, 0x4a, 0xc3, 0x81, 0x0e, 0xf8, 0x36, 0xc7, 0x89, 0x9b, 0x51, + 0x98, 0x26, 0xd7, 0xd1, 0xdb, 0xca, 0xd3, 0x45, 0xac, 0x8e, 0x01, 0x3c, 0x0c, 0x96, 0x2a, 0x7e, + 0xbb, 0x0e, 0xf0, 0xf4, 0xf6, 0x67, 0x0d, 0xc1, 0x07, 0xd0, 0xd9, 0xc1, 0x60, 0xd5, 0xa8, 0x3e, + 0x11, 0x36, 0xa4, 0x6a, 0x5d, 0x96, 0x37, 0x56, 0xbd, 0x5a, 0x71, 0x01, 0x0a, 0xde, 0xc4, 0xa7, + 0x25, 0x18, 0x6d, 0x5e, 0x06, 0xfc, 0xd5, 0xb5, 0xbe, 0xfb, 0xe6, 0x2e, 0x95, 0xa7, 0x4f, 0x54, + 0xb1, 0xc1, 0xb6, 0xaa, 0xfb, 0xb1, 0x26, 0x74, 0x35, 0x78, 0x42, 0x8d, 0x32, 0xf5, 0x5c, 0x6f, + 0x7c, 0xb8, 0x36, 0xa3, 0x07, 0x11, 0x46, 0x13, 0x97, 0x16, 0x87, 0xd1, 0x60, 0x97, 0xba, 0xca, + 0x5a, 0x92, 0xf2, 0x27, 0x7d, 0xd1, 0xcd, 0x32, 0xaa, 0xfc, 0x1f, 0xcb, 0x9a, 0xc5, 0x8e, 0x65, + 0xe0, 0xae, 0x7c, 0x81, 0xc5, 0x3d, 0xfe, 0x6d, 0xe5, 0xa8, 0x87, 0x04, 0xff, 0xe4, 0x50, 0xa3, + 0x3d, 0x20, 0x0a, 0xc3, 0xd7, 0x4e, 0xb0, 0xf7, 0x0a, 0x03, 0x7a, 0x68, 0xae, 0x71, 0x4a, 0x0f, + 0xee, 0x35, 0x5c, 0x3a, 0x92, 0x21, 0xb0, 0x30, 0xfb, 0x92, 0xad, 0x80, 0xc5, 0x4c, 0x3a, 0x71, + 0x1f, 0x3a, 0xe8, 0x42, 0x3a, 0xa8, 0xe6, 0x04, 0xd6, 0xd3, 0x75, 0x6d, 0x29, 0xa9, 0xb3, 0x15, + 0x7d, 0x0e, 0x88, 0x82, 0xc6, 0x4b, 0x3c, 0xf0, 0x3a, 0x8c, 0x68, 0x96, 0xbf, 0xdd, 0x80, 0xae, + 0x68, 0x4b, 0xe8, 0x05, 0x85, 0xe0, 0x05, 0x8c, 0x42, 0x21, 0xfd, 0xea, 0x3f, 0x9f, 0x79, 0xf8, + 0x03, 0xfc, 0x05, 0x01, 0xf5, 0xd7, 0xdd, 0x55, 0x8b, 0x54, 0xb6, 0xec, 0x72, 0xb1, 0xc4, 0xc9, + 0xe6, 0x68, 0x24, 0xd7, 0x8e, 0xa1, 0x7c, 0x5b, 0xe7, 0x19, 0x5c, 0xfb, 0xf1, 0x39, 0xd4, 0x28, + 0x6d, 0x69, 0xb4, 0x2d, 0xb4, 0xab, 0x98, 0x30, 0x62, 0x20, 0xfc, 0x58, 0xd0, 0x8e, 0x2f, 0x8b, + 0x84, 0xc6, 0x8b, 0xf7, 0xa6, 0x18, 0xae, 0x0c, 0xa5, 0x78, 0x76, 0xb2, 0x83, 0xa3, 0x0b, 0xb3, + 0x9c, 0x71, 0x58, 0x14, 0x71, 0xb1, 0xf3, 0x45, 0xdc, 0x89, 0x46, 0x8c, 0x1f, 0x41, 0x76, 0x0c, + 0x27, 0x0f, 0x3f, 0x52, 0xf4, 0x38, 0xca, 0xa2, 0x1a, 0xfe, 0x49, 0x93, 0x66, 0x94, 0x33, 0xe5, + 0x48, 0x75, 0xeb, 0xfb, 0x0c, 0xfa, 0x25, 0xa1, 0xdb, 0x5b, 0x66, 0x69, 0x17, 0x3e, 0x78, 0xa7, + 0x7b, 0x25, 0xc2, 0xda, 0xe4, 0x60, 0xd2, 0x8a, 0xb6, 0xed, 0xd0, 0xd6, 0xc3, 0x2c, 0x85, 0xa6, + 0x9f, 0xf6, 0x60, 0xf2, 0x74, 0x02, 0xb6, 0x02, 0x3b, 0xbd, 0x62, 0x17, 0x97, 0x13, 0x1b, 0x12, + 0x0b, 0x09, 0xb4, 0x95, 0x43, 0x72, 0xcc, 0xcd, 0xa4, 0x73, 0xdb, 0xbd, 0xfd, 0xc7, 0x7c, 0xd5, + 0x1c, 0x30, 0xe8, 0x85, 0x96, 0x2b, 0x80, 0x2a, 0xb1, 0x19, 0x19, 0xe7, 0x41, 0x18, 0x50, 0xce, + 0x5b, 0x9e, 0x8e, 0xdb, 0x11, 0x9d, 0x28, 0x60, 0x8e, 0x48, 0xe4, 0x54, 0xdc, 0xc9, 0xed, 0x5d, + 0x48, 0x0b, 0x4f, 0x28, 0xef, 0xeb, 0x0d, 0x61, 0x0b, 0xc0, 0x9e, 0x61, 0xce, 0xbf, 0xb9, 0xa3, + 0x27, 0x36, 0xe5, 0xb7, 0x98, 0x06, 0xce, 0x98, 0x9e, 0xca, 0x72, 0xf6, 0xc3, 0xc6, 0x6f, 0x8c, + 0xe0, 0x2b, 0x07, 0xeb, 0x63, 0x3f, 0xca, 0x53, 0x63, 0xd0, 0x5c, 0x4b, 0x9a, 0x98, 0x8f, 0xd8, + 0x8a, 0x4f, 0x49, 0x9b, 0xd5, 0x86, 0x7c, 0x48, 0xe1, 0x4f, 0xa6, 0x30, 0xfb, 0xc8, 0xe9, 0x0f, + 0x10, 0x47, 0xfd, 0x80, 0x25, 0x5b, 0xbe, 0x6a, 0x7b, 0x52, 0x0c, 0x33, 0x75, 0xc0, 0xaf, 0xfe, + 0x0b, 0x17, 0x5d, 0x41, 0x8e, 0x73, 0xb7, 0x4b, 0x5a, 0x5b, 0x45, 0x48, 0x63, 0x4d, 0x2a, 0xce, + 0x81, 0xfe, 0x61, 0xac, 0x80, 0xeb, 0x96, 0x9b, 0xf8, 0xfa, 0x1f, 0x0f, 0x61, 0x12, 0x35, 0xe2, + 0x3b, 0x0d, 0xa6, 0x6d, 0x51, 0x6a, 0xa2, 0xa0, 0xbb, 0x6d, 0xe0, 0x56, 0x91, 0x8f, 0xdb, 0xa6, + 0x48, 0xfd, 0xc6, 0x84, 0xa4, 0xdc, 0x23, 0x95, 0x85, 0x97, 0x6e, 0x26, 0x5a, 0xb4, 0x1a, 0xed, + 0xf8, 0x76, 0xa0, 0x0a, 0xdd, 0xc7, 0xf9, 0x8e, 0x5e, 0x83, 0xef, 0x11, 0xc8, 0xcb, 0x94, 0x0c, + 0xce, 0x19, 0x78, 0xae, 0x8a, 0x6e, 0x4a, 0x80, 0x86, 0xca, 0x82, 0x64, 0x68, 0x13, 0x0a, 0xb3, + 0x2e, 0x95, 0x65, 0xd8, 0x78, 0x79, 0xb5, 0x29, 0xe7, 0x7d, 0x9a, 0x60, 0x46, 0x34, 0xbc, 0x75, + 0xbb, 0x1f, 0x89, 0xdb, 0x84, 0x3f, 0x51, 0x15, 0x0c, 0xa8, 0x5e, 0x2e, 0xac, 0xb6, 0xf2, 0xa6, + 0xa2, 0xa8, 0xed, 0xc2, 0x7d, 0x26, 0xa0, 0x6f, 0x09, 0x45, 0x7c, 0x09, 0xa1, 0x6b, 0x5c, 0xd8, + 0x78, 0x50, 0x33, 0x72, 0xc6, 0xd4, 0x1e, 0xd0, 0x21, 0x27, 0x76, 0x60, 0x1c, 0xfe, 0x7c, 0x19, + 0x32, 0x11, 0x85, 0xac, 0x2c, 0xa8, 0x50, 0x9f, 0xdd, 0x79, 0x29, 0x0c, 0x03, 0x2c, 0x93, 0x82, + 0x34, 0x7c, 0x95, 0xc2, 0xa2, 0xf6, 0x34, 0x64, 0x97, 0x97, 0x55, 0x4a, 0xda, 0xd3, 0xa6, 0x4d, + 0xf7, 0x7d, 0x67, 0x2d, 0x83, 0x5b, 0xf3, 0x6b, 0x25, 0x39, 0xf6, 0xf5, 0xf8, 0x4b, 0x1e, 0xeb, + 0xd3, 0x2f, 0xb1, 0xdb, 0xab, 0x94, 0x86, 0xb0, 0xa2, 0x23, 0xc0, 0xe6, 0xf0, 0xa7, 0xf2, 0x4a, + 0x45, 0xa6, 0x55, 0x67, 0x6d, 0x6a, 0x48, 0x8a, 0x7a, 0x27, 0x6d, 0xa0, 0xd7, 0xc4, 0x0f, 0x3d, + 0x29, 0xd3, 0x9b, 0x7a, 0xf3, 0x72, 0xe6, 0xa9, 0x1f, 0x08, 0x1b, 0x9b, 0x77, 0x39, 0x44, 0x72, + 0xd1, 0x37, 0x58, 0xe9, 0x60, 0xcc, 0xfc, 0xc8, 0xad, 0x07, 0x32, 0x9b, 0x19, 0x1d, 0x3d, 0x42, + 0xab, 0xbb, 0x77, 0xea, 0x6b, 0x07, 0x60, 0xae, 0x6e, 0x6e, 0x4a, 0x3d, 0x77, 0xf1, 0x8b, 0x18, + 0xe3, 0x11, 0x41, 0x90, 0x48, 0x74, 0x66, 0x6f, 0xcd, 0x14, 0xea, 0xd8, 0xa5, 0xa9, 0x5b, 0xe2, + 0xd9, 0xe6, 0xcd, 0x2a, 0xb5, 0x02, 0xd7, 0x14, 0x78, 0xfc, 0x8e, 0xe1, 0xa3, 0xc0, 0x01, 0xfa, + 0x12, 0x5b, 0x6b, 0x81, 0x80, 0x1d, 0xa7, 0x4f, 0xfc, 0xb4, 0x0f, 0xf3, 0xc4, 0x8b, 0xac, 0x63, + 0x1e, 0xc1, 0xc4, 0x92, 0x43, 0xff, 0xef, 0x96, 0xc0, 0xe7, 0xaf, 0x5e, 0x3c, 0xb3, 0x7e, 0x9f, + 0xe5, 0x8d, 0xdb, 0x4d, 0x09, 0xfd, 0x32, 0xed, 0x6d, 0xf9, 0xf8, 0x4e, 0x25, 0x88, 0x52, 0x94, + 0x55, 0xf5, 0x5f, 0xb7, 0xa7, 0x70, 0xaa, 0x1f, 0x5d, 0xd1, 0xbf, 0x12, 0xf1, 0x00, 0x73, 0x30, + 0x94, 0x6c, 0x2e, 0x15, 0x8b, 0xcf, 0x75, 0x21, 0x16, 0x95, 0xbc, 0x96, 0x89, 0xb5, 0x8d, 0x78, + 0xe2, 0xba, 0xcd, 0xae, 0x2d, 0x90, 0x03, 0x95, 0x7d, 0x5f, 0x75, 0xbd, 0xc4, 0xb9, 0xbf, 0x28, + 0x5f, 0xf2, 0x3e, 0x05, 0x7e, 0xf7, 0x33, 0xa7, 0x8f, 0xdf, 0x45, 0x71, 0x8f, 0x64, 0x66, 0x81, + 0x63, 0x16, 0x8d, 0x08, 0x53, 0x2c, 0xc8, 0x2f, 0x88, 0xdc, 0xa0, 0xc8, 0x21, 0xfe, 0x15, 0x81, + 0x29, 0xaf, 0xce, 0xa4, 0x1e, 0x59, 0xa9, 0x67, 0x48, 0x5d, 0x19, 0xf3, 0xf1, 0x12, 0xbf, 0x00, + 0xd0, 0xdf, 0x42, 0x87, 0xf7, 0x5a, 0xab, 0x75, 0x5a, 0x4f, 0x46, 0x2a, 0x84, 0xfa, 0x2e, 0xf1, + 0x43, 0xbb, 0x66, 0xe4, 0x77, 0x68, 0x96, 0xed, 0x8c, 0x6e, 0x6b, 0x72, 0xd8, 0xc3, 0xbb, 0x51, + 0x76, 0x1a, 0x49, 0xba, 0xc7, 0xb6, 0xf4, 0x83, 0xc4, 0x9b, 0xbb, 0x35, 0x97, 0x44, 0xff, 0xa0, + 0x31, 0xd6, 0xbf, 0x80, 0x44, 0x2e, 0xd6, 0x52, 0x6c, 0xbd, 0x5d, 0xca, 0xe5, 0x8c, 0xba, 0x65, + 0x5f, 0x7f, 0x29, 0x06, 0x26, 0x53, 0xd2, 0xca, 0xe6, 0xba, 0x48, 0xb4, 0x9d, 0x5f, 0x52, 0x4e, + 0xa5, 0x76, 0xb5, 0xdb, 0xf9, 0xe1, 0xa0, 0xf6, 0x18, 0x6e, 0x18, 0x6c, 0x5d, 0x21, 0xff, 0x46, + 0xea, 0xcb, 0xc8, 0x9a, 0x11, 0x28, 0xe4, 0x90, 0x99, 0x26, 0x1e, 0xb7, 0xf4, 0x77, 0x74, 0xda, + 0xad, 0x34, 0xb4, 0xbc, 0x36, 0x40, 0x39, 0x5f, 0xae, 0xe9, 0x75, 0x2f, 0x97, 0x8d, 0x23, 0xda, + 0xf9, 0xe6, 0x4d, 0xf6, 0x8d, 0x40, 0xf7, 0x0d, 0x27, 0xb1, 0x76, 0x58, 0x3c, 0xd4, 0xb4, 0x01, + 0xf6, 0xd4, 0x63, 0x63, 0x02, 0xcf, 0x38, 0x29, 0xbc, 0x0b, 0xd3, 0x14, 0x02, 0xa0, 0xc5, 0x03, + 0xaf, 0x1a, 0x7f, 0x89, 0xfc, 0xe1, 0x74, 0xdf, 0xb5, 0x51, 0x13, 0x41, 0x3f, 0x18, 0x3b, 0xfb, + 0x0f, 0x30, 0xa8, 0x1c, 0x3f, 0x26, 0x8c, 0xd7, 0xf8, 0x2b, 0x01, 0xed, 0xdb, 0xfb, 0xb0, 0xde, + 0xa5, 0x7f, 0xe2, 0x01, 0x8b, 0xdb, 0x03, 0x76, 0x15, 0xde, 0xca, 0xdc, 0xf0, 0x47, 0x25, 0xbb, + 0x1b, 0x66, 0xcb, 0x57, 0x8d, 0x18, 0x5b, 0x34, 0xbd, 0xb4, 0xa5, 0xc1, 0xc6, 0xf2, 0x3a, 0xf2, + 0xe3, 0x99, 0x54, 0x3b, 0xea, 0xb3, 0x34, 0xdd, 0xb8, 0x90, 0xdb, 0xb1, 0x1f, 0x1a, 0x08, 0xc4, + 0xdb, 0x90, 0xc9, 0xb5, 0xa9, 0x4c, 0x6b, 0x69, 0x32, 0xab, 0x82, 0x13, 0xaf, 0x13, 0x3f, 0x47, + 0x15, 0xcf, 0xd5, 0x0b, 0x2c, 0xd2, 0x13, 0x54, 0x72, 0xa2, 0xfd, 0x9b, 0x0b, 0x92, 0xd0, 0xaa, + 0x28, 0xcf, 0x32, 0xe4, 0x12, 0x79, 0x23, 0x01, 0x79, 0xf6, 0x3a, 0x32, 0x93, 0xe7, 0xdf, 0xfe, + 0x10, 0x4e, 0xe5, 0xb1, 0x12, 0xb4, 0xff, 0x1f, 0xa8, 0x38, 0x84, 0x83, 0xa6, 0xec, 0x28, 0x39, + 0x7f, 0x25, 0xfd, 0x81, 0x42, 0xdb, 0xca, 0x81, 0x19, 0xca, 0xbc, 0x66, 0x3f, 0xde, 0xe6, 0x89, + 0x17, 0x90, 0x61, 0x1b, 0xc9, 0xcd, 0xa9, 0x7e, 0x59, 0x9f, 0xde, 0x06, 0xa4, 0xa6, 0x1f, 0xc4, + 0x60, 0x41, 0x2f, 0x66, 0xd0, 0x63, 0xea, 0x12, 0x39, 0x7b, 0x1d, 0x68, 0x97, 0x2d, 0x69, 0x92, + 0xef, 0x30, 0x1e, 0x85, 0x99, 0x29, 0xfb, 0xe5, 0xc6, 0x4b, 0x27, 0x9a, 0xfa, 0x40, 0x69, 0x81, + 0xf4, 0x06, 0x2d, 0x4c, 0x86, 0xb1, 0xf1, 0x25, 0x90, 0x88, 0x9e, 0xdf, 0xec, 0x69, 0xd5, 0x2c, + 0x09, 0x18, 0x23, 0xc6, 0x97, 0xbb, 0xb2, 0x58, 0x86, 0x4c, 0xac, 0xd8, 0x58, 0x4e, 0xdd, 0x45, + 0x7d, 0x0a, 0x11, 0x06, 0xe8, 0x0d, 0xf5, 0x09, 0x36, 0x3f, 0x80, 0x49, 0xd9, 0xa9, 0x77, 0xc3, + 0xb3, 0x79, 0xce, 0x14, 0x3f, 0x84, 0x20, 0x55, 0xd0, 0x24, 0xfd, 0x6c, 0x1b, 0xd9, 0x80, 0x48, + 0x01, 0x7f, 0xb0, 0x3a, 0xc6, 0x8c, 0x53, 0x74, 0x55, 0xee, 0x22, 0x85, 0x4f, 0x0b, 0x57, 0xfe, + 0x90, 0x92, 0xe3, 0xdb, 0xcc, 0xcc, 0xce, 0x3d, 0x03, 0x31, 0xf5, 0xba, 0x80, 0xfb, 0xae, 0x45, + 0xb2, 0xe0, 0xbe, 0x03, 0x14, 0x1f, 0x55, 0x47, 0x3d, 0x7e, 0xed, 0xac, 0x66, 0x46, 0x05, 0x9b, + 0xab, 0xa4, 0x7f, 0xbd, 0x80, 0x8c, 0xbd, 0x96, 0x5b, 0x2c, 0x99, 0xfd, 0x63, 0xae, 0xd7, 0xf1, + 0x24, 0xdc, 0x93, 0x16, 0xd6, 0x4c, 0xec, 0x46, 0x4a, 0x2e, 0x6e, 0x34, 0x5f, 0x5a, 0x29, 0x55, + 0x4b, 0x81, 0x51, 0xcb, 0x6a, 0xe8, 0x28, 0xbf, 0x9c, 0x36, 0x23, 0x15, 0xbd, 0x4b, 0xf2, 0xe0, + 0x13, 0x48, 0xf0, 0xa7, 0x37, 0x40, 0xd2, 0xf0, 0x9e, 0x69, 0x34, 0x27, 0x55, 0xa0, 0xa3, 0x60, + 0x5e, 0xc1, 0xa3, 0x56, 0x3a, 0x36, 0x66, 0xef, 0x1a, 0xf2, 0x72, 0x55, 0xf5, 0x38, 0x75, 0xec, + 0x83, 0xdc, 0x38, 0x82, 0x47, 0x60, 0x3c, 0xe5, 0xce, 0xe0, 0xe5, 0x62, 0xdf, 0xa8, 0x02, 0xff, + 0xa3, 0x53, 0x2e, 0x74, 0xd2, 0x25, 0x9e, 0x98, 0x09, 0xc0, 0x82, 0x12, 0x90, 0xf0, 0xdf, 0x77, + 0xae, 0x3d, 0x5b, 0x43, 0x81, 0x56, 0x16, 0x6b, 0xda, 0x88, 0x41, 0x13, 0x78, 0x89, 0xda, 0x93, + 0xbb, 0x72, 0x97, 0x5d, 0xed, 0xfb, 0x1b, 0xbf, 0x98, 0xa7, 0x12, 0x42, 0xb3, 0x83, 0x39, 0x13, + 0x6b, 0xca, 0xc3, 0x6d, 0x49, 0x88, 0x01, 0xab, 0x00, 0xef, 0x88, 0xbb, 0x73, 0x98, 0x46, 0x3a, + 0x3f, 0x60, 0x11, 0xbd, 0x42, 0xec, 0xea, 0x34, 0xc7, 0xfe, 0xee, 0xa5, 0x1b, 0x90, 0x14, 0x98, + 0xff, 0x1d, 0x00, 0x83, 0xeb, 0x03, 0xbb, 0xc9, 0x47, 0x44, 0x7c, 0x2a, 0xb2, 0x44, 0x49, 0xde, + 0x77, 0xc0, 0x34, 0x51, 0xf4, 0x3d, 0x5d, 0x6d, 0x3e, 0x6c, 0xd7, 0x04, 0x18, 0x33, 0x9b, 0x93, + 0x54, 0xbd, 0x68, 0x65, 0xb6, 0x55, 0xcc, 0x36, 0x69, 0x8e, 0x7a, 0x8e, 0xca, 0x02, 0x81, 0x2e, + 0x70, 0x75, 0x6b, 0x77, 0x1a, 0x16, 0x81, 0xdc, 0x37, 0xa8, 0xe9, 0xe9, 0x96, 0x8e, 0xf9, 0x68, + 0x11, 0x02, 0x8e, 0x74, 0x11, 0xae, 0x59, 0x4b, 0x0b, 0xde, 0x39, 0x2c, 0xe4, 0x47, 0x41, 0x5f, + 0x14, 0x09, 0x4a, 0x3c, 0x77, 0xf7, 0x2d, 0xd2, 0x3b, 0xc7, 0x96, 0x2f, 0xf2, 0x90, 0x5b, 0x5c, + 0x48, 0x0b, 0x8e, 0x67, 0x2d, 0xdd, 0xa2, 0xc2, 0x8b, 0x8d, 0xb4, 0xb1, 0x26, 0xa2, 0x7a, 0x2c, + 0x27, 0x8e, 0xff, 0x63, 0x38, 0x3e, 0xdf, 0x6d, 0x81, 0xad, 0x07, 0x7b, 0x5e, 0x9e, 0xf9, 0x03, + 0x23, 0x06, 0x78, 0x3a, 0x28, 0xc7, 0x46, 0x37, 0x87, 0x34, 0xcb, 0x69, 0x31, 0xff, 0xb5, 0x50, + 0x99, 0xed, 0xfd, 0xac, 0xb3, 0xf6, 0x99, 0xf1, 0x6a, 0xff, 0x16, 0x4d, 0x17, 0xd0, 0xac, 0x01, + 0x45, 0x54, 0x44, 0x64, 0x0b, 0x3f, 0x21, 0xec, 0x6c, 0x30, 0xca, 0x31, 0xec, 0xc6, 0x47, 0xa1, + 0x30, 0x25, 0x86, 0x9e, 0x27, 0xce, 0x6b, 0xa1, 0x77, 0x29, 0x7a, 0xf7, 0xe6, 0x3b, 0xe8, 0x94, + 0xbf, 0x99, 0xcf, 0x6b, 0x1c, 0x83, 0x33, 0xda, 0xdc, 0x61, 0xd2, 0x85, 0x2d, 0x88, 0xdb, 0x98, + 0x0d, 0x57, 0xb7, 0x19, 0xa5, 0x49, 0x84, 0xd6, 0xca, 0xbb, 0xba, 0xea, 0x0d, 0x15, 0xb7, 0x0d, + 0xb2, 0x6e, 0xb6, 0xb6, 0xdd, 0xd8, 0xc7, 0x3c, 0x8e, 0x00, 0x36, 0x5d, 0x4e, 0x9d, 0x9c, 0xdc, + 0xd6, 0x7b, 0x51, 0x7a, 0x1c, 0x82, 0x2d, 0x1d, 0x86, 0x8a, 0x5a, 0xcd, 0x52, 0x84, 0x74, 0x60, + 0xe5, 0x8f, 0x4e, 0x12, 0x51, 0x65, 0x10, 0x70, 0x20, 0x99, 0x20, 0xb6, 0x65, 0x4a, 0x4b, 0xb1, + 0xb5, 0x9c, 0x27, 0xdb, 0x06, 0xa9, 0xbd, 0x49, 0x90, 0x7f, 0x1d, 0x42, 0x51, 0x79, 0x97, 0x98, + 0x21, 0xbd, 0xa2, 0x22, 0xcb, 0xe6, 0x82, 0xe9, 0x47, 0x87, 0x55, 0x5a, 0x62, 0x8f, 0x61, 0x00, + 0x8f, 0x5c, 0xd1, 0x20, 0x0f, 0x1b, 0xb4, 0xe7, 0x2e, 0xbc, 0x38, 0x11, 0x98, 0x33, 0xca, 0x46, + 0xa4, 0x37, 0x81, 0xbc, 0xc0, 0xa7, 0xae, 0xbf, 0xe1, 0x02, 0x8e, 0x9c, 0x15, 0x31, 0xc3, 0x19, + 0x1f, 0x77, 0xed, 0x62, 0x8f, 0x89, 0xb5, 0x21, 0x09, 0xcd, 0xbc, 0x4b, 0xb3, 0x8b, 0xe1, 0x3a, + 0x3b, 0xf3, 0x07, 0x0f, 0xed, 0x1f, 0xd2, 0xf4, 0x5b, 0x1e, 0xe0, 0xd1, 0xdd, 0x58, 0x5e, 0x86, + 0xda, 0x7e, 0x0b, 0xf8, 0x5c, 0x15, 0xf4, 0x39, 0x35, 0x25, 0x41, 0x5e, 0x21, 0x03, 0x02, 0x55, + 0x0a, 0x39, 0x1e, 0x53, 0xb3, 0x30, 0xc5, 0xa6, 0xc0, 0xde, 0xbf, 0x83, 0x77, 0x51, 0x84, 0x02, + 0x1f, 0x0a, 0x18, 0x84, 0xfe, 0x43, 0x83, 0x02, 0xea, 0x5a, 0xed, 0xeb, 0x30, 0x73, 0x09, 0x8c, + 0xbf, 0xf7, 0x17, 0xf9, 0x5d, 0xfa, 0x09, 0x3e, 0xdc, 0xd6, 0x8d, 0x02, 0x59, 0xe4, 0x3b, 0x7d, + 0x7c, 0xad, 0xea, 0x42, 0xae, 0xd7, 0xec, 0x11, 0x78, 0xad, 0x94, 0xc6, 0x21, 0xd4, 0x8c, 0x91, + 0x5b, 0x81, 0xd9, 0xaf, 0x13, 0x12, 0xd6, 0x2c, 0xc9, 0x31, 0xb8, 0x12, 0xe9, 0xc9, 0x4a, 0xaf, + 0xdf, 0xed, 0x3a, 0xb4, 0x3e, 0x66, 0x88, 0x59, 0xbb, 0xbe, 0x15, 0x8c, 0xcf, 0x7e, 0xe5, 0x03, + 0xfa, 0x4a, 0x61, 0x03, 0xee, 0xeb, 0x7a, 0x54, 0xaf, 0xfd, 0x54, 0xb5, 0xf0, 0x10, 0xea, 0x8a, + 0x80, 0xd9, 0xbf, 0x1d, 0x60, 0xf6, 0xd5, 0xc1, 0x7d, 0x4d, 0x67, 0x28, 0xce, 0xfb, 0x81, 0x14, + 0x47, 0x82, 0x85, 0x43, 0x2e, 0xc4, 0x3f, 0xb6, 0xdd, 0x62, 0xda, 0x65, 0xe8, 0x02, 0xb2, 0x2d, + 0xb9, 0xd1, 0x54, 0x5b, 0xa2, 0xc6, 0xc6, 0xf0, 0xef, 0xb7, 0x1d, 0xb0, 0xec, 0x5e, 0x2c, 0x73, + 0x9b, 0x01, 0x56, 0xec, 0x82, 0x37, 0xd3, 0x1e, 0x29, 0x67, 0x13, 0xf1, 0x69, 0xe6, 0xe9, 0xe2, + 0xcc, 0xab, 0xb2, 0x2c, 0x02, 0x3a, 0xf4, 0x80, 0x4a, 0x61, 0xfa, 0xef, 0xef, 0x49, 0xe3, 0xc1, + 0x24, 0x6b, 0x91, 0x3f, 0xa1, 0x5e, 0x7a, 0xb7, 0x2d, 0xa1, 0x85, 0xae, 0xe3, 0x80, 0x3e, 0x7c, + 0x19, 0x93, 0x76, 0x33, 0x8c, 0x42, 0x64, 0xef, 0x3f, 0x32, 0x6e, 0xab, 0x0e, 0x6c, 0xe3, 0x3a, + 0x53, 0x4e, 0xca, 0x4d, 0xb6, 0xfb, 0x14, 0x3c, 0x59, 0xfb, 0x17, 0x21, 0x00, 0xbf, 0xc4, 0x42, + 0x4c, 0x69, 0x04, 0x5f, 0x01, 0x41, 0xa6, 0x93, 0xc5, 0xa6, 0x3a, 0xeb, 0x72, 0x1b, 0x20, 0x9f, + 0x42, 0xfe, 0x9e, 0x60, 0xaa, 0xbf, 0x7c, 0x36, 0x19, 0xa2, 0xe7, 0x8f, 0x86, 0x9a, 0x5d, 0x67, + 0x55, 0x12, 0xdd, 0x29, 0x3d, 0x8e, 0x0a, 0xc1, 0xf1, 0x11, 0x5a, 0x6d, 0x05, 0x95, 0x49, 0xf0, + 0xb5, 0x07, 0xc0, 0xff, 0x14, 0xf5, 0xf0, 0x97, 0x93, 0xe0, 0x45, 0x01, 0x30, 0xf6, 0xc2, 0x27, + 0x7a, 0xd1, 0x2b, 0x77, 0x7c, 0xed, 0xa6, 0x77, 0xad, 0x86, 0x4c, 0x7d, 0x6c, 0xa8, 0xd2, 0x04, + 0x7a, 0x93, 0xac, 0x04, 0xff, 0x20, 0x4e, 0xd9, 0x79, 0x98, 0xa5, 0x75, 0xa2, 0xa1, 0xd8, 0x37, + 0xce, 0x2b, 0xc3, 0xb2, 0xf6, 0xe0, 0x2c, 0x2e, 0x2f, 0x3c, 0x9b, 0x19, 0x6a, 0xb2, 0xfc, 0x6e, + 0xc2, 0x40, 0x90, 0xa5, 0x53, 0x3b, 0x59, 0xde, 0x0e, 0xee, 0xd0, 0x70, 0xef, 0x43, 0x73, 0x45, + 0x9e, 0xaf, 0xfd, 0xbf, 0x64, 0xcc, 0x57, 0xa5, 0xcb, 0xb5, 0x3c, 0x54, 0x24, 0xc8, 0x32, 0xea, + 0xe8, 0x4d, 0x3d, 0x3f, 0x74, 0x61, 0xef, 0x0d, 0x52, 0xae, 0x08, 0xf6, 0x44, 0x8f, 0x17, 0x7b, + 0xa3, 0xcf, 0x0b, 0x33, 0xa1, 0x13, 0xb0, 0x68, 0x1a, 0x39, 0xf1, 0xfb, 0x6a, 0x12, 0xbc, 0x41, + 0x8d, 0xc5, 0x2a, 0x7e, 0xba, 0x81, 0xb2, 0x8d, 0x23, 0x5e, 0xd0, 0xd3, 0x26, 0x3a, 0x90, 0x9c, + 0x2b, 0x63, 0xd4, 0xf1, 0xba, 0x28, 0x47, 0x3b, 0x0e, 0xb3, 0xfc, 0xda, 0x98, 0x10, 0x3f, 0x72, + 0xcb, 0x31, 0x05, 0x57, 0x19, 0x35, 0x61, 0xac, 0x58, 0x02, 0xb7, 0x50, 0x9f, 0xdc, 0xfe, 0x8f, + 0x7b, 0x7a, 0xbf, 0xe3, 0xb2, 0x2c, 0x6c, 0xde, 0x49, 0x29, 0xc1, 0x27, 0xc2, 0xd5, 0xef, 0x6b, + 0x0a, 0x5a, 0x80, 0x38, 0xd4, 0x46, 0xc7, 0x9e, 0x32, 0xfd, 0xc9, 0x51, 0xde, 0xde, 0xb8, 0x4e, + 0x89, 0xee, 0x97, 0x7c, 0xda, 0x7d, 0xde, 0x0b, 0x42, 0xf7, 0x18, 0x52, 0xb8, 0x9e, 0x92, 0x55, + 0x0d, 0xf9, 0x50, 0x76, 0x70, 0xec, 0x49, 0xf8, 0x89, 0xae, 0xf1, 0x63, 0x77, 0x35, 0x8a, 0x7c, + 0xbf, 0x35, 0x50, 0xb8, 0x90, 0x40, 0x69, 0x40, 0x63, 0x4e, 0x32, 0x19, 0xa3, 0xa5, 0xc0, 0x67, + 0x59, 0x54, 0x15, 0x9b, 0x43, 0x29, 0x38, 0x7e, 0xcc, 0xa2, 0x3f, 0x0f, 0xe8, 0xee, 0x14, 0x99, + 0xef, 0x09, 0x7e, 0xf4, 0xc9, 0xb4, 0x84, 0x36, 0xa4, 0x51, 0x46, 0x63, 0xdc, 0x46, 0xbc, 0x0e, + 0xc6, 0x49, 0xff, 0xec, 0x94, 0x0a, 0x2c, 0x14, 0x43, 0xcc, 0x24, 0x35, 0xb0, 0x76, 0x4b, 0xf6, + 0xa0, 0x15, 0x32, 0x0c, 0x47, 0xfd, 0x8e, 0xcb, 0x03, 0xc4, 0xd4, 0x76, 0xa9, 0x0e, 0xb3, 0x55, + 0xf6, 0xd4, 0x16, 0xc1, 0x6f, 0xf7, 0x8d, 0xc9, 0xc2, 0x0d, 0xac, 0xa6, 0xfc, 0x6c, 0xf4, 0xb6, + 0x5c, 0x70, 0xf4, 0x37, 0xe5, 0x55, 0x8d, 0xfc, 0xd3, 0xc7, 0xb2, 0xae, 0xaa, 0xd5, 0x1f, 0xbc, + 0x9e, 0xba, 0x8e, 0xb1, 0x24, 0x2e, 0xf9, 0x5b, 0x01, 0xf5, 0x52, 0xca, 0x2e, 0xec, 0x03, 0xa7, + 0xb9, 0xf4, 0xf6, 0x62, 0x4e, 0x56, 0x28, 0x61, 0x73, 0x41, 0x51, 0x65, 0xe1, 0xa2, 0xce, 0x10, + 0x4c, 0x0d, 0x60, 0xf4, 0x74, 0xed, 0x92, 0x2b, 0x96, 0xa6, 0x13, 0x77, 0x6f, 0x74, 0x24, 0x6e, + 0x26, 0x29, 0x91, 0x3f, 0x28, 0xda, 0xc0, 0xd4, 0x92, 0x36, 0x01, 0x8c, 0x6f, 0xb7, 0x9f, 0x20, + 0x28, 0x30, 0x12, 0xd4, 0x6e, 0x4a, 0x65, 0xa2, 0x73, 0x0d, 0xf3, 0x4e, 0x91, 0x21, 0xfe, 0xb0, + 0x75, 0x0f, 0x44, 0x37, 0xdc, 0x96, 0x93, 0xe2, 0x5c, 0x03, 0xd7, 0xb9, 0x45, 0x22, 0x17, 0x8d, + 0xdc, 0xcf, 0x4f, 0x0b, 0x72, 0x2d, 0x72, 0xda, 0x22, 0xf3, 0x1a, 0xba, 0x7a, 0xf1, 0x4c, 0xae, + 0xd4, 0xe6, 0x1b, 0x7d, 0x40, 0x64, 0xcf, 0xf3, 0x9f, 0xc0, 0x02, 0x26, 0x84, 0x86, 0x33, 0x50, + 0xda, 0x2a, 0x7c, 0x7c, 0xad, 0xc4, 0x3a, 0x10, 0x42, 0xfd, 0xae, 0x7f, 0x82, 0xf7, 0xfc, 0x90, + 0x17, 0xc1, 0xe8, 0x0d, 0x7c, 0x8e, 0x38, 0x43, 0xb5, 0xfa, 0x82, 0x66, 0x2e, 0xe3, 0x20, 0xc9, + 0x17, 0x6e, 0x3d, 0xc8, 0xb7, 0x3b, 0x72, 0xaa, 0x4c, 0x0d, 0x64, 0xb9, 0x6e, 0xa6, 0xa9, 0x03, + 0x7c, 0xdb, 0x03, 0x4c, 0x8a, 0xe8, 0x59, 0xe6, 0x8b, 0x88, 0x89, 0x26, 0x2f, 0x08, 0xb2, 0xa1, + 0x93, 0xdd, 0x04, 0x2f, 0xd1, 0xf3, 0xbc, 0x82, 0x62, 0xd0, 0xec, 0x63, 0xd4, 0xb8, 0x30, 0xc7, + 0xfd, 0xd5, 0xc8, 0x72, 0x39, 0x2e, 0xae, 0x8c, 0xb2, 0xd0, 0x2b, 0x4b, 0xb2, 0x06, 0xee, 0xc3, + 0xcc, 0xd4, 0xc4, 0x98, 0x98, 0x5c, 0xd2, 0x64, 0x73, 0x5a, 0x31, 0x12, 0x61, 0x3a, 0x97, 0x10, + 0xbd, 0xd1, 0xbd, 0xed, 0x9c, 0xa2, 0x0e, 0x8e, 0x72, 0x2b, 0x30, 0x5f, 0xdf, 0xd4, 0x85, 0x08, + 0x70, 0xf7, 0x7c, 0xf1, 0x28, 0xf8, 0xcf, 0x74, 0x40, 0x39, 0xf3, 0xa5, 0x08, 0xc1, 0xdf, 0x12, + 0x7f, 0xa9, 0x5d, 0xfd, 0x3c, 0x39, 0x82, 0xe8, 0xcc, 0x73, 0xa7, 0xe1, 0x6b, 0x68, 0x06, 0xb4, + 0x72, 0x25, 0xa6, 0x9d, 0x53, 0xca, 0x91, 0x51, 0x8b, 0xa0, 0x35, 0x5d, 0xfb, 0x17, 0xfd, 0x4d, + 0x52, 0xd5, 0x49, 0x9b, 0x88, 0xe2, 0xa2, 0xaf, 0xb0, 0xee, 0x45, 0xca, 0x10, 0xda, 0x39, 0xb7, + 0x68, 0x8c, 0x8b, 0x04, 0x1f, 0x55, 0x63, 0x7a, 0x09, 0xde, 0x23, 0x6e, 0xd4, 0xe7, 0x3f, 0x8b, + 0x88, 0x9b, 0xd2, 0x44, 0xc1, 0x6f, 0xda, 0x7b, 0xba, 0x0a, 0xd9, 0x37, 0xe1, 0x9b, 0x7c, 0x99, + 0xcf, 0x51, 0x2b, 0x3d, 0x69, 0xbe, 0x6c, 0xf9, 0x52, 0xfe, 0x2c, 0xd3, 0x74, 0xdc, 0x6f, 0xc9, + 0x23, 0x76, 0x66, 0xca, 0x0f, 0xe0, 0x56, 0xc5, 0xf0, 0xfc, 0xe3, 0x7b, 0x29, 0xb1, 0x92, 0x73, + 0xfe, 0xe4, 0x87, 0x48, 0x12, 0x7d, 0xdb, 0x22, 0x33, 0x62, 0x50, 0xd8, 0xaa, 0xd3, 0x55, 0x53, + 0x5c, 0x39, 0x25, 0xbb, 0x9d, 0x11, 0x9a, 0xb2, 0x39, 0x7f, 0x10, 0xb7, 0x17, 0xf1, 0x04, 0x4c, + 0x77, 0x9e, 0xc0, 0x0c, 0x62, 0x2f, 0xbb, 0xc6, 0xb6, 0x5f, 0xe3, 0xa9, 0xd1, 0x5d, 0xb6, 0xe8, + 0x16, 0xee, 0x9a, 0x79, 0x8c, 0x2b, 0xb0, 0xce, 0xc5, 0x8d, 0xce, 0x3e, 0xfb, 0xb8, 0x5c, 0xdb, + 0x6b, 0xf5, 0x38, 0x39, 0xbb, 0xf7, 0x05, 0xa4, 0x60, 0xa5, 0x5d, 0xee, 0x4d, 0x85, 0x1b, 0xf7, + 0x6d, 0xb1, 0x8e, 0x84, 0x45, 0x7a, 0x78, 0x91, 0x77, 0x64, 0x80, 0x2b, 0x4d, 0xcc, 0xb5, 0xb9, + 0xe1, 0xbd, 0x1a, 0x73, 0x35, 0xd3, 0x01, 0xf9, 0x78, 0xf1, 0x4e, 0x19, 0xed, 0x10, 0x14, 0x16, + 0x60, 0xb4, 0x15, 0xf6, 0x1c, 0x4b, 0x57, 0xd7, 0x72, 0x47, 0x19, 0x6a, 0x58, 0xdc, 0x93, 0x47, + 0x74, 0xba, 0x99, 0xe2, 0x1b, 0xe1, 0x27, 0xfd, 0xcd, 0xbc, 0xa5, 0xdc, 0x99, 0x7d, 0x4a, 0x33, + 0x25, 0x27, 0x61, 0x31, 0xee, 0x2c, 0x96, 0xee, 0x6c, 0x43, 0xee, 0x3a, 0x0f, 0x0a, 0x37, 0xd2, + 0xcb, 0xc9, 0xb3, 0x5d, 0x70, 0xf2, 0x0f, 0x0a, 0xed, 0xeb, 0xf6, 0x81, 0xc0, 0xbf, 0x40, 0xfa, + 0xad, 0xdb, 0x84, 0x84, 0x21, 0xdc, 0x0d, 0x29, 0x70, 0x78, 0xfa, 0x15, 0xb8, 0xff, 0x13, 0x43, + 0x49, 0x2a, 0x29, 0xdc, 0xf4, 0x87, 0x33, 0x3e, 0x7b, 0xfc, 0xa4, 0x6f, 0x64, 0x1d, 0xfe, 0x94, + 0x52, 0xf6, 0x2d, 0x2e, 0x5e, 0xc5, 0x82, 0x24, 0x48, 0x3a, 0x40, 0x74, 0xc6, 0xee, 0xe6, 0xb2, + 0xba, 0x4a, 0x83, 0xd6, 0x27, 0x5d, 0x8f, 0x43, 0x92, 0x4b, 0x2f, 0xab, 0x62, 0x3e, 0xd6, 0x44, + 0x32, 0x82, 0x9b, 0x11, 0xcd, 0xe0, 0xba, 0x61, 0x19, 0x90, 0x2a, 0xaf, 0x1d, 0xcd, 0x99, 0xa0, + 0x0a, 0x2f, 0xf0, 0x21, 0x73, 0x2c, 0xc7, 0xc2, 0xcf, 0x45, 0xcf, 0x6e, 0x24, 0xb2, 0xbe, 0xfe, + 0x32, 0x36, 0xf1, 0x47, 0xe3, 0x79, 0x4b, 0xe1, 0xcd, 0xef, 0x9f, 0xfb, 0xd2, 0xc0, 0xc1, 0x41, + 0xc9, 0xb0, 0xf8, 0x1b, 0xc6, 0x30, 0x41, 0xb6, 0xc1, 0x83, 0x16, 0xb0, 0x81, 0xb3, 0xc0, 0xc0, + 0xc4, 0x84, 0x4a, 0xb8, 0x1f, 0x1e, 0x8f, 0x95, 0x70, 0x7a, 0xdb, 0xe8, 0xb2, 0x71, 0xf3, 0xf7, + 0xb4, 0xcb, 0x5e, 0x8b, 0x55, 0xf0, 0x6f, 0x5a, 0x61, 0xe7, 0xd0, 0x6f, 0x08, 0x31, 0xa3, 0xb4, + 0xbb, 0x14, 0xdb, 0xdd, 0xc2, 0x6a, 0x74, 0x0e, 0xd3, 0x59, 0x07, 0x28, 0x10, 0xa8, 0x2d, 0x4d, + 0x46, 0xcc, 0xfd, 0xcf, 0xd8, 0x65, 0x8e, 0xa3, 0x00, 0x8b, 0xd9, 0xf0, 0x5d, 0x21, 0x1e, 0xcc, + 0xbb, 0x2c, 0x4f, 0x8c, 0x7c, 0xd8, 0xe2, 0x91, 0x70, 0x01, 0x1f, 0x2d, 0xeb, 0xa1, 0x17, 0x36, + 0xa5, 0x75, 0x68, 0x9d, 0xe3, 0x2e, 0xd7, 0x4f, 0xe8, 0x6e, 0xe1, 0xeb, 0x3e, 0x42, 0x7f, 0xb1, + 0x29, 0x3f, 0x9c, 0xb5, 0x86, 0x6d, 0xc7, 0x23, 0xcf, 0x23, 0x41, 0x2d, 0x92, 0xdd, 0x34, 0x73, + 0x7f, 0x3f, 0x8f, 0x3a, 0x86, 0x32, 0x91, 0x7d, 0xae, 0xde, 0x11, 0x68, 0x1c, 0x9f, 0x13, 0x71, + 0x17, 0x8f, 0x8e, 0xac, 0xdb, 0x71, 0x15, 0x18, 0x11, 0x96, 0x1e, 0x0b, 0x76, 0x14, 0x4b, 0xce, + 0x7a, 0x6a, 0x92, 0x11, 0xe5, 0x51, 0xc0, 0x5f, 0x54, 0xd0, 0x94, 0x7f, 0x89, 0xb2, 0x0c, 0x60, + 0xe2, 0x9d, 0xf1, 0x87, 0xa8, 0x1c, 0xf4, 0xb0, 0xbe, 0xa4, 0x92, 0x98, 0x73, 0xf9, 0xfe, 0x56, + 0x6d, 0xb9, 0x55, 0x04, 0xad, 0x62, 0x48, 0x0e, 0xd4, 0x8d, 0x83, 0x5f, 0xe3, 0x73, 0x7c, 0xd3, + 0xa8, 0x4a, 0xe3, 0x23, 0x4d, 0x58, 0x62, 0x52, 0x76, 0x4f, 0xf7, 0x6b, 0xb9, 0xc1, 0x63, 0x54, + 0xb8, 0xb1, 0x6f, 0xcd, 0xbb, 0x1f, 0x9a, 0x85, 0x17, 0x32, 0xac, 0xe1, 0x1a, 0xf6, 0x5e, 0x67, + 0x82, 0x19, 0x0d, 0x87, 0x90, 0x80, 0xce, 0xfe, 0x4f, 0x8c, 0xdd, 0xd7, 0x4c, 0x8a, 0xfd, 0x0b, + 0xf9, 0xff, 0x4a, 0x14, 0x01, 0xd2, 0x9d, 0x2a, 0x5b, 0x8f, 0x74, 0x83, 0x00, 0xf9, 0x81, 0x40, + 0x2a, 0x97, 0xfb, 0x9b, 0xf4, 0x31, 0xe6, 0xc3, 0xb3, 0x02, 0x86, 0x83, 0x33, 0x88, 0x5a, 0x31, + 0x45, 0x55, 0xd3, 0x0c, 0xca, 0xe3, 0x94, 0x5d, 0xd7, 0xa1, 0x2b, 0xf8, 0x96, 0xc4, 0xfb, 0x56, + 0xf1, 0x64, 0x00, 0xea, 0xb0, 0x9b, 0x96, 0xbd, 0xf6, 0x3f, 0x68, 0xfa, 0x1a, 0xc3, 0x2f, 0x7a, + 0xe5, 0x27, 0xda, 0x7c, 0x21, 0x16, 0xea, 0x61, 0xb1, 0x20, 0xc7, 0xd8, 0x6b, 0x97, 0xcf, 0x40, + 0x9a, 0x66, 0x98, 0x3d, 0x6a, 0x9e, 0xd1, 0xb3, 0xd4, 0xc8, 0x0d, 0x6c, 0x87, 0x6b, 0xfd, 0x62, + 0x6b, 0x1a, 0xbd, 0xeb, 0x7f, 0x86, 0xea, 0x4c, 0x65, 0x96, 0xba, 0x77, 0x8f, 0x67, 0x36, 0x76, + 0x70, 0x7d, 0xee, 0x79, 0xbd, 0xe3, 0x5b, 0x02, 0x62, 0x15, 0x21, 0xf9, 0x23, 0xeb, 0x89, 0x49, + 0x0e, 0x42, 0xca, 0x2c, 0x23, 0xea, 0xca, 0x72, 0x12, 0x4c, 0x45, 0x4c, 0x43, 0xb4, 0x22, 0xa9, + 0xb4, 0x51, 0xea, 0x17, 0xed, 0x5c, 0x18, 0x68, 0x07, 0x71, 0x4e, 0xe5, 0x0a, 0x6e, 0x30, 0xd2, + 0x46, 0x3a, 0xa0, 0x93, 0xee, 0x13, 0x43, 0xed, 0x72, 0xf8, 0xc8, 0x45, 0xba, 0x04, 0x7f, 0x37, + 0xa4, 0x17, 0x24, 0x33, 0x32, 0x7c, 0x72, 0xf0, 0x2a, 0x09, 0x4d, 0x28, 0xa5, 0x53, 0x7b, 0x04, + 0xe0, 0xc6, 0x97, 0xb2, 0xc7, 0x4f, 0xce, 0x9b, 0xbc, 0x93, 0xcb, 0x49, 0x91, 0xb3, 0xd1, 0xf9, + 0xb9, 0x84, 0x37, 0x63, 0xab, 0xb5, 0xbf, 0x43, 0x3f, 0x2f, 0x32, 0x9c, 0x0b, 0x65, 0xd5, 0x9b, + 0x29, 0x07, 0x7b, 0x44, 0x1a, 0xeb, 0xb4, 0xad, 0xfc, 0xc4, 0xc1, 0x36, 0xd8, 0xe9, 0x05, 0x96, + 0xbb, 0xcc, 0xd5, 0x6d, 0x5b, 0xb6, 0xe1, 0x40, 0xb8, 0x92, 0x5c, 0xc4, 0xc0, 0x09, 0xa1, 0xcd, + 0x67, 0x09, 0xe6, 0x3a, 0xf4, 0x64, 0x6d, 0xf0, 0x85, 0x55, 0xb6, 0xb0, 0xbe, 0xe7, 0xa4, 0xbf, + 0xd2, 0x86, 0xfd, 0x5c, 0xb9, 0xa1, 0x4a, 0x92, 0x39, 0x6e, 0xb2, 0xb7, 0x8f, 0xae, 0xb6, 0xf6, + 0x17, 0xe1, 0x7e, 0xc0, 0xb5, 0x90, 0x80, 0xde, 0xca, 0xc9, 0x75, 0x28, 0xa3, 0x1a, 0x23, 0x61, + 0x0d, 0x08, 0x23, 0x62, 0x9e, 0x8e, 0xb5, 0x25, 0x52, 0x69, 0xda, 0x5f, 0x57, 0xba, 0xdb, 0x85, + 0x29, 0xae, 0x09, 0x59, 0xd8, 0x7d, 0xd0, 0x21, 0xad, 0x21, 0x58, 0x47, 0x46, 0xea, 0x92, 0x81, + 0x75, 0x8b, 0xc5, 0xe9, 0xee, 0x98, 0xd0, 0xb7, 0xfe, 0x01, 0x54, 0x77, 0x80, 0xa2, 0x4a, 0xdd, + 0x48, 0x53, 0x78, 0x82, 0xf2, 0x73, 0xfd, 0x97, 0x47, 0xa7, 0xd9, 0x46, 0xcf, 0x6a, 0xb2, 0x99, + 0x22, 0x8f, 0x74, 0xac, 0x7e, 0xdb, 0xdf, 0xe2, 0x79, 0x19, 0xa7, 0xe0, 0x94, 0xe2, 0x2c, 0x43, + 0x45, 0x79, 0xf1, 0x00, 0x08, 0x98, 0x73, 0x46, 0x21, 0x94, 0x47, 0xb9, 0xa7, 0xc7, 0x66, 0xa7, + 0x4e, 0x5c, 0x97, 0x16, 0x90, 0xed, 0xf3, 0x0a, 0x6c, 0xe3, 0x1b, 0xe5, 0xfd, 0x67, 0xd6, 0xec, + 0x06, 0x7a, 0x60, 0x8e, 0xd9, 0xfc, 0x65, 0xa8, 0x82, 0x74, 0xb5, 0x42, 0xe4, 0xc0, 0x73, 0x31, + 0x3f, 0xb3, 0xe6, 0xf3, 0x7f, 0x32, 0x38, 0xeb, 0xde, 0xfb, 0x88, 0x05, 0xdc, 0xd3, 0xe3, 0x02, + 0x3b, 0x4f, 0xfa, 0x3c, 0xc1, 0x63, 0x86, 0xe8, 0x4b, 0x30, 0x2e, 0xcf, 0x2d, 0x25, 0xb2, 0xde, + 0x1a, 0x21, 0x93, 0xb1, 0xcd, 0x09, 0xb7, 0xd2, 0x25, 0x57, 0xdf, 0x49, 0x0b, 0xf2, 0x84, 0xf1, + 0x2b, 0xa7, 0xa5, 0x00, 0x8e, 0xcd, 0x63, 0xfd, 0x9e, 0xf6, 0x83, 0x8f, 0x37, 0x42, 0x45, 0x1b, + 0x01, 0x4a, 0xbc, 0xe8, 0x5a, 0x60, 0xb4, 0xd3, 0x1a, 0x94, 0x3c, 0x93, 0x1f, 0xa2, 0xc3, 0xe2, + 0x1c, 0xda, 0x0f, 0xd9, 0x95, 0x14, 0xea, 0x27, 0xce, 0x52, 0x47, 0x3e, 0xdc, 0x96, 0x8b, 0x22, + 0xea, 0xd0, 0xa5, 0x7d, 0x73, 0x5f, 0xff, 0xd3, 0x69, 0x26, 0x6d, 0x1b, 0xce, 0xd3, 0xe8, 0x39, + 0x98, 0xcf, 0x45, 0x9a, 0x1b, 0x10, 0x04, 0x06, 0x5d, 0x13, 0x58, 0x2b, 0x9a, 0xbb, 0xcf, 0x3a, + 0x8b, 0xda, 0x05, 0x18, 0x9a, 0x79, 0xac, 0xa0, 0xe1, 0x7e, 0xbc, 0x98, 0x06, 0x4b, 0x8e, 0xf5, + 0x71, 0x62, 0x77, 0xad, 0xc6, 0x85, 0x3d, 0x87, 0xd8, 0x00, 0x9e, 0xb4, 0x39, 0x0e, 0x9f, 0x56, + 0x03, 0xee, 0x0d, 0xf6, 0xcd, 0xe0, 0xdc, 0xf4, 0xeb, 0xc9, 0x0b, 0xba, 0xb7, 0xb2, 0xd4, 0x0c, + 0x6e, 0x1b, 0x1d, 0xbc, 0x74, 0x09, 0x59, 0xe1, 0x54, 0x3c, 0xbc, 0x03, 0x4a, 0x15, 0xe5, 0x54, + 0x89, 0x8d, 0xb6, 0x01, 0x60, 0x26, 0xa8, 0xd9, 0xef, 0x50, 0x38, 0x91, 0x6b, 0xa3, 0xc5, 0x51, + 0x1e, 0x0b, 0x18, 0x4b, 0x63, 0x91, 0x11, 0xcb, 0x16, 0x0c, 0xfc, 0x23, 0xc8, 0x01, 0xb9, 0x25, + 0xed, 0xa7, 0xce, 0x0a, 0x3f, 0x39, 0x95, 0x0d, 0x45, 0x9c, 0x6a, 0x9e, 0xaf, 0x19, 0x5f, 0x2b, + 0x6b, 0x7a, 0xa2, 0xd6, 0x6a, 0x94, 0x49, 0x13, 0x1f, 0x79, 0x2e, 0x24, 0x7a, 0x69, 0xe6, 0x96, + 0xf6, 0x58, 0x59, 0xa1, 0x62, 0xcf, 0x20, 0x21, 0x79, 0x4a, 0x62, 0x71, 0xd3, 0x85, 0x2c, 0x21, + 0xd0, 0x79, 0x55, 0xb9, 0x3e, 0x84, 0x27, 0x56, 0xd9, 0x92, 0x4d, 0x1b, 0xf1, 0xa5, 0xd8, 0xc4, + 0xe8, 0x2b, 0x2f, 0x15, 0x27, 0xee, 0x73, 0x00, 0xc6, 0x11, 0x9f, 0xfb, 0xa5, 0x2f, 0x00, 0x9d, + 0xd4, 0x24, 0xf8, 0x56, 0x26, 0x48, 0x65, 0x01, 0xe6, 0x63, 0xc0, 0xc8, 0x8f, 0xcd, 0xd6, 0xef, + 0x5d, 0xef, 0xfb, 0x2a, 0xc5, 0x58, 0x35, 0x37, 0xfa, 0xf1, 0xdd, 0x7d, 0x35, 0x19, 0xc6, 0x2e, + 0xd2, 0x5f, 0x34, 0x53, 0xa2, 0xf9, 0x37, 0x2d, 0x8a, 0x6b, 0x33, 0xc0, 0x29, 0xd4, 0x36, 0x45, + 0xb7, 0x3d, 0xc5, 0xa6, 0x74, 0xee, 0x9f, 0x66, 0xcf, 0x7d, 0xbd, 0xfb, 0x96, 0xbf, 0xc9, 0xbc, + 0x52, 0x95, 0xc7, 0xc1, 0x56, 0x76, 0x74, 0x11, 0xc2, 0x84, 0x7c, 0xa4, 0x43, 0xb2, 0x7c, 0xf7, + 0x0a, 0xc9, 0x92, 0x83, 0x4c, 0xe0, 0xd6, 0x29, 0x6d, 0x42, 0x4d, 0x81, 0x18, 0x9f, 0x82, 0xdc, + 0x6e, 0x79, 0x5a, 0x03, 0x87, 0x8c, 0xcd, 0xe8, 0xe1, 0xc8, 0x1c, 0xc6, 0x13, 0x53, 0x3f, 0xf6, + 0x03, 0x12, 0x62, 0x7f, 0x62, 0xcf, 0x19, 0x82, 0xa5, 0xbb, 0x8d, 0x8a, 0xff, 0x2a, 0x6b, 0xfe, + 0x48, 0x0f, 0x1e, 0x6f, 0x63, 0xbb, 0x5d, 0x70, 0xa7, 0x8b, 0x12, 0x0a, 0x96, 0x00, 0x30, 0x46, + 0xc1, 0xf9, 0x76, 0x59, 0x4d, 0xd8, 0xe4, 0x66, 0x9e, 0x7e, 0xb8, 0x5c, 0x2f, 0x64, 0x78, 0xab, + 0x53, 0x8e, 0x7b, 0x09, 0x05, 0x35, 0x75, 0x9d, 0x9b, 0xa7, 0xcc, 0x8b, 0x18, 0x3d, 0x43, 0xfc, + 0x56, 0xe8, 0x1e, 0xe7, 0x81, 0x14, 0x2d, 0xcb, 0x2b, 0xd8, 0x86, 0xf6, 0x83, 0xb9, 0x0f, 0x19, + 0x63, 0xe9, 0x17, 0x19, 0xfa, 0x66, 0xa2, 0x3d, 0xa8, 0xdf, 0x82, 0xb6, 0x7a, 0x88, 0x46, 0xa0, + 0xff, 0x3e, 0x33, 0xe1, 0xb7, 0x8a, 0x75, 0xe8, 0x9d, 0xa9, 0x14, 0xe9, 0x12, 0x79, 0x9a, 0x05, + 0x97, 0x31, 0xef, 0x7c, 0xb3, 0x20, 0xf8, 0xd1, 0xf4, 0x85, 0xf9, 0x04, 0x66, 0x29, 0x21, 0xb6, + 0xce, 0x51, 0x4e, 0xb2, 0xd7, 0xf8, 0xad, 0x6e, 0x83, 0x63, 0x92, 0xb6, 0x9e, 0x3c, 0x81, 0x4d, + 0x8d, 0x2e, 0x35, 0x6e, 0x33, 0x3e, 0xf4, 0xb3, 0xa3, 0xa8, 0x1a, 0x9a, 0x92, 0x63, 0xcf, 0xe6, + 0xfd, 0xad, 0x9e, 0x96, 0x83, 0x69, 0xf9, 0xb3, 0x20, 0x41, 0x18, 0x43, 0xbf, 0xe6, 0xe5, 0xcc, + 0x74, 0xab, 0x73, 0xd2, 0x89, 0x12, 0x65, 0x65, 0x5c, 0xc2, 0xe0, 0xea, 0xb7, 0x7d, 0xd8, 0xc6, + 0x39, 0x87, 0x99, 0xbc, 0x44, 0xf1, 0x46, 0xa2, 0x90, 0xb4, 0x5d, 0xd8, 0x7d, 0xa3, 0xae, 0xd8, + 0xfc, 0x6c, 0x12, 0xa4, 0x53, 0xc3, 0xb0, 0x71, 0xfc, 0x70, 0x39, 0x00, 0x85, 0x83, 0xa1, 0x5f, + 0xe8, 0x17, 0x59, 0xe2, 0xaa, 0xc0, 0xad, 0x92, 0x2c, 0x54, 0x12, 0xf0, 0x9f, 0x75, 0x64, 0xd6, + 0x3f, 0x5d, 0xb2, 0xd5, 0x95, 0x27, 0x73, 0x8a, 0x0f, 0xc5, 0xab, 0x42, 0xac, 0x4b, 0x13, 0x75, + 0x49, 0xa3, 0x90, 0xa4, 0xc2, 0x7b, 0xbc, 0x1d, 0x61, 0xce, 0x5a, 0x6e, 0x76, 0x95, 0xb4, 0x13, + 0x41, 0x6e, 0x30, 0x4a, 0x06, 0x0e, 0x50, 0xc7, 0x24, 0xfb, 0xe9, 0x0e, 0xcc, 0x6e, 0x53, 0xf6, + 0x33, 0x22, 0x70, 0x26, 0x6d, 0xa0, 0x04, 0x3f, 0xf0, 0xba, 0x90, 0x59, 0xa6, 0x43, 0x97, 0x33, + 0xba, 0x81, 0xde, 0x53, 0x91, 0x60, 0x6e, 0x53, 0x95, 0x24, 0xdb, 0x2f, 0xe6, 0xf0, 0x75, 0xfe, + 0xc7, 0xa4, 0x92, 0x7f, 0xb7, 0x20, 0xc5, 0xda, 0x9b, 0x9d, 0x98, 0xd4, 0xa1, 0x52, 0x7b, 0x75, + 0x16, 0xb1, 0xaa, 0x6e, 0x29, 0x5a, 0xd2, 0xdc, 0xc1, 0x11, 0x78, 0xaa, 0x6e, 0x1a, 0x9c, 0x06, + 0x2e, 0xe1, 0xcd, 0x54, 0x85, 0x95, 0x8f, 0x2c, 0x4f, 0x33, 0xee, 0x93, 0x44, 0xcb, 0x08, 0xa1, + 0x67, 0x36, 0x31, 0xa1, 0x8f, 0xb3, 0xe4, 0xec, 0x6f, 0x5c, 0x17, 0xfd, 0xba, 0x33, 0xe4, 0x09, + 0xb2, 0x5c, 0x24, 0x6c, 0x02, 0x02, 0x47, 0x7a, 0xc6, 0x45, 0x32, 0xbd, 0x8c, 0x25, 0xed, 0x9e, + 0x21, 0x9b, 0xae, 0x74, 0xfc, 0x52, 0x6b, 0x63, 0xcb, 0x36, 0x24, 0x30, 0x37, 0x81, 0x2d, 0x3e, + 0xd9, 0xae, 0x0d, 0xec, 0x92, 0x79, 0x16, 0x3b, 0x16, 0x75, 0x6d, 0x18, 0x4b, 0x91, 0xf2, 0x02, + 0x9d, 0xd5, 0xc1, 0x69, 0xe0, 0x19, 0xb4, 0x3c, 0x56, 0xcc, 0xc5, 0xe2, 0x37, 0xbb, 0x11, 0xf5, + 0x73, 0x07, 0xca, 0x7c, 0x2c, 0x55, 0xca, 0xae, 0xe0, 0x54, 0x84, 0x7d, 0xa1, 0xe0, 0x02, 0x3b, + 0xe9, 0xaa, 0x81, 0xd3, 0xf9, 0xa5, 0xee, 0xde, 0xa0, 0x98, 0xda, 0xfb, 0x07, 0xf3, 0x99, 0xf2, + 0xd5, 0x71, 0x04, 0x46, 0x6b, 0x9e, 0x31, 0x16, 0x63, 0x14, 0x79, 0x1c, 0xe3, 0x32, 0xf7, 0xa0, + 0xf5, 0xc9, 0x70, 0x74, 0x46, 0xf2, 0x56, 0x2b, 0xb2, 0xbc, 0x7d, 0x04, 0x40, 0xeb, 0x24, 0x48, + 0x0c, 0xaa, 0x67, 0x84, 0x96, 0x83, 0xdd, 0xd0, 0x38, 0xff, 0x0c, 0xf3, 0xd1, 0x14, 0xac, 0xb9, + 0x88, 0x0d, 0xda, 0x89, 0x34, 0xd2, 0x3a, 0x93, 0x39, 0x33, 0x0f, 0x36, 0x8d, 0x9b, 0x04, 0xde, + 0x11, 0xe4, 0xcb, 0xdf, 0x13, 0x62, 0x7f, 0xe5, 0x3d, 0x5f, 0x4f, 0x96, 0x89, 0x44, 0xc8, 0xba, + 0x58, 0xeb, 0xb2, 0x80, 0x36, 0xe1, 0x01, 0xaa, 0xca, 0x43, 0xbf, 0x8c, 0x37, 0xc1, 0x39, 0xb9, + 0x0c, 0x8d, 0xad, 0xf2, 0x88, 0xcc, 0x4b, 0x1f, 0xc9, 0x08, 0xdf, 0x1c, 0xf2, 0x09, 0xb0, 0xaa, + 0xb8, 0xb5, 0x13, 0x21, 0x0b, 0x83, 0x67, 0xae, 0xe1, 0xa4, 0xfa, 0x95, 0x24, 0xf2, 0x38, 0xa3, + 0x63, 0x20, 0x20, 0x50, 0x19, 0xf4, 0xb5, 0xa2, 0xa1, 0xac, 0xf4, 0x52, 0x8f, 0xa1, 0xf8, 0xb4, + 0x2a, 0x29, 0x6e, 0x8a, 0x85, 0x0f, 0x2e, 0x18, 0x32, 0xbe, 0x26, 0x14, 0xe2, 0xd3, 0xcc, 0xd4, + 0x6c, 0xde, 0xc4, 0xf0, 0x5c, 0xc9, 0x34, 0xf5, 0xc6, 0xb9, 0xe5, 0xc1, 0x45, 0x7f, 0x6e, 0xc8, + 0xd0, 0x7f, 0xe8, 0x97, 0x83, 0xd3, 0x89, 0xcd, 0xb5, 0xbc, 0x9e, 0x66, 0xfb, 0xd9, 0x13, 0x7a, + 0xba, 0x90, 0xa0, 0x2e, 0xc1, 0x4f, 0xd1, 0x2f, 0xb5, 0x67, 0x47, 0x14, 0xca, 0xe0, 0x4f, 0x2e, + 0x18, 0x61, 0xc6, 0x80, 0xe2, 0xe9, 0x7e, 0x39, 0xa0, 0x8b, 0x7e, 0x90, 0x87, 0xad, 0x24, 0x7a, + 0x2f, 0xce, 0xea, 0xa9, 0x57, 0x37, 0x85, 0x83, 0x55, 0x1e, 0xd1, 0x1b, 0xbf, 0xcb, 0xcb, 0x13, + 0x7c, 0x12, 0xc5, 0x51, 0x33, 0x41, 0x67, 0xb0, 0xd2, 0xbe, 0x5d, 0xe8, 0x62, 0x2a, 0xb4, 0x3f, + 0xb0, 0x47, 0x0d, 0x32, 0x27, 0x10, 0x4a, 0x87, 0xac, 0xc1, 0xa8, 0xed, 0x4a, 0xa5, 0x1f, 0x9a, + 0x49, 0x39, 0x3f, 0xfb, 0x06, 0x3f, 0x14, 0x7f, 0xc6, 0x90, 0xfe, 0x1f, 0xd6, 0x8d, 0xba, 0x6c, + 0x04, 0x34, 0x5e, 0x70, 0xbe, 0xe9, 0x6c, 0x1e, 0xcf, 0xfa, 0xa2, 0x1d, 0xab, 0xe1, 0xe3, 0x9e, + 0x2e, 0xd8, 0x94, 0xb1, 0xd5, 0x95, 0x75, 0x32, 0x3a, 0xc5, 0xae, 0xfb, 0xf8, 0xc7, 0xaa, 0xb0, + 0xb6, 0x16, 0xdc, 0x96, 0x7c, 0xe4, 0x2f, 0x91, 0x63, 0x93, 0x0a, 0xa9, 0x39, 0x71, 0xac, 0x39, + 0x82, 0x40, 0x16, 0x5c, 0x6a, 0xfd, 0x67, 0xd8, 0x85, 0xaf, 0xeb, 0x5e, 0x5b, 0x1d, 0x1f, 0x56, + 0x38, 0x26, 0x86, 0x04, 0x08, 0xda, 0x04, 0x6b, 0x7f, 0x82, 0x46, 0x42, 0x4d, 0xb6, 0x53, 0xf8, + 0xbe, 0x78, 0x09, 0xaa, 0xbc, 0xf0, 0xd3, 0xab, 0x60, 0x03, 0x8e, 0x28, 0x0f, 0x9f, 0x7e, 0x9f, + 0xc3, 0xcc, 0x1a, 0x47, 0x6e, 0x3e, 0xe0, 0x0c, 0x99, 0x54, 0x5a, 0xa2, 0xc8, 0x04, 0x97, 0x0a, + 0xad, 0xcf, 0xbd, 0xbc, 0x8a, 0xb6, 0xb1, 0x92, 0x91, 0x0e, 0xb8, 0xa2, 0x47, 0x63, 0x1e, 0x7b, + 0x15, 0x1d, 0xa3, 0x20, 0xb8, 0xe3, 0xbe, 0x31, 0x97, 0xf0, 0x38, 0x44, 0x5f, 0xab, 0xf9, 0xee, + 0xbd, 0x91, 0x40, 0x1c, 0x46, 0x89, 0xe0, 0xe2, 0x7a, 0xd0, 0x6e, 0x45, 0xf5, 0xd4, 0x1f, 0x97, + 0x85, 0x3e, 0x51, 0x38, 0x43, 0x5d, 0x05, 0x5d, 0xb6, 0x54, 0x83, 0xe7, 0xee, 0x6b, 0x57, 0xf9, + 0x45, 0xc0, 0xff, 0xaf, 0x5c, 0xbe, 0x49, 0xe4, 0xd6, 0xdb, 0xd5, 0xab, 0xc9, 0x75, 0xf1, 0x39, + 0x21, 0x5d, 0x0f, 0xe0, 0x8d, 0x39, 0x7d, 0xb1, 0x23, 0xeb, 0x99, 0xe5, 0xc1, 0x40, 0x2f, 0x74, + 0xb9, 0xb8, 0x1e, 0xe7, 0xa8, 0xb0, 0x58, 0x83, 0x1a, 0xe5, 0x71, 0x5c, 0xfb, 0x54, 0xdc, 0x8b, + 0x76, 0x5d, 0xe7, 0xa3, 0x78, 0x1b, 0xc5, 0x9e, 0xb1, 0xcf, 0xb4, 0xd7, 0xc8, 0xbe, 0xa0, 0xc7, + 0x98, 0xcd, 0x41, 0x98, 0x23, 0x6c, 0x83, 0xb6, 0x6c, 0x37, 0x9c, 0x08, 0x2d, 0xd3, 0x5d, 0xa3, + 0x84, 0xfc, 0x5b, 0x26, 0xdd, 0x5f, 0x1a, 0x92, 0x10, 0x91, 0xf5, 0xa0, 0x2a, 0x78, 0xa1, 0x0f, + 0x21, 0xa8, 0x66, 0xdb, 0xec, 0x37, 0x07, 0x77, 0xaf, 0x9a, 0x17, 0xaa, 0xb7, 0x3f, 0xe2, 0xd8, + 0xcc, 0x80, 0x7e, 0x74, 0x72, 0x63, 0x70, 0xac, 0x12, 0x2e, 0x82, 0x5c, 0xd5, 0xf7, 0x33, 0x0b, + 0xfe, 0xab, 0x35, 0x64, 0x4a, 0x69, 0xa8, 0x87, 0x63, 0xbe, 0x5b, 0x4b, 0x15, 0x4e, 0x28, 0x87, + 0xb5, 0x51, 0xbc, 0x9b, 0x7a, 0xeb, 0xb8, 0xe4, 0x86, 0x27, 0xb9, 0xaf, 0xad, 0xe9, 0x30, 0xae, + 0xde, 0x46, 0x29, 0x8b, 0xb7, 0x29, 0x84, 0xd7, 0x8c, 0xf6, 0xdd, 0x6f, 0x12, 0xba, 0x58, 0x0d, + 0xe2, 0x15, 0x73, 0x5d, 0xb4, 0x3d, 0x2e, 0x93, 0x1e, 0x8e, 0xfb, 0xad, 0xaa, 0xb0, 0xac, 0x63, + 0x37, 0xb1, 0x6d, 0x83, 0x26, 0xa2, 0x73, 0x2e, 0x93, 0xef, 0xee, 0x53, 0x74, 0xae, 0x7b, 0x01, + 0x63, 0xe2, 0x2b, 0xbe, 0xda, 0xa5, 0xe5, 0x1c, 0x2d, 0x6e, 0xc5, 0x3f, 0x42, 0x5f, 0xb3, 0xce, + 0xfd, 0xcf, 0x6f, 0x55, 0xe3, 0x7a, 0x79, 0x18, 0xc1, 0xff, 0x61, 0x2f, 0x05, 0x69, 0xf7, 0x3f, + 0x44, 0x59, 0x1d, 0x91, 0x6b, 0x84, 0xb3, 0x80, 0x33, 0xb2, 0x82, 0x23, 0x32, 0xc5, 0x18, 0x1e, + 0x7e, 0x64, 0x38, 0xba, 0x2e, 0x8a, 0xa0, 0x77, 0x22, 0x89, 0x05, 0xcf, 0x5f, 0xd4, 0x2c, 0x45, + 0x65, 0xa5, 0xb4, 0x10, 0x37, 0xaa, 0x95, 0x3e, 0x49, 0x62, 0xa1, 0x82, 0x37, 0x8f, 0x9e, 0x10, + 0x4e, 0x6e, 0x9d, 0x40, 0xc7, 0x95, 0x05, 0xca, 0xfd, 0xe9, 0xf1, 0x73, 0x5d, 0x04, 0x84, 0x81, + 0x79, 0x0e, 0x80, 0x54, 0x2b, 0x86, 0x91, 0x4b, 0x7b, 0xe9, 0x70, 0xad, 0x22, 0x95, 0x01, 0x17, + 0x1b, 0xf0, 0x8c, 0x85, 0x3b, 0x8b, 0x50, 0xc5, 0x5f, 0x56, 0x86, 0x3a, 0xaa, 0x96, 0x2f, 0xec, + 0x1f, 0xaa, 0xa7, 0x0e, 0x91, 0x50, 0x72, 0x5a, 0xec, 0x9c, 0x80, 0x92, 0x84, 0x4e, 0xff, 0xa7, + 0x91, 0x07, 0xe8, 0x59, 0xc6, 0x84, 0x11, 0x2c, 0x6e, 0xc5, 0xdf, 0x2c, 0x96, 0xd0, 0x68, 0x87, + 0x6b, 0x07, 0xae, 0x7c, 0x9e, 0x41, 0x8c, 0xbd, 0x99, 0x0d, 0xc3, 0x1f, 0x7d, 0xcf, 0xe7, 0x54, + 0xce, 0x3f, 0xad, 0xc1, 0x63, 0x44, 0x5d, 0x2c, 0x3a, 0x9b, 0x9e, 0xbd, 0x17, 0x90, 0x87, 0xe1, + 0x71, 0xb6, 0xe6, 0xe7, 0xc0, 0x08, 0x54, 0x53, 0x40, 0x30, 0x29, 0x60, 0x24, 0xbe, 0x4e, 0x6b, + 0x77, 0x2b, 0x75, 0x0d, 0x35, 0x80, 0xf2, 0x26, 0xe1, 0x48, 0x30, 0xdc, 0xf2, 0xb7, 0x39, 0x03, + 0x25, 0x9d, 0xce, 0x92, 0x74, 0x7e, 0x3f, 0xe6, 0xf7, 0x64, 0xe9, 0x98, 0xee, 0xae, 0x53, 0x7b, + 0x9e, 0x05, 0x25, 0x8a, 0x01, 0xd7, 0xa2, 0xeb, 0x5d, 0xef, 0xd5, 0x95, 0x97, 0x7a, 0x59, 0x40, + 0xe1, 0x23, 0x7a, 0xdd, 0x1e, 0x75, 0xcb, 0xbe, 0xc7, 0x5f, 0xeb, 0x0f, 0x83, 0xd9, 0x78, 0x27, + 0xd7, 0xb1, 0xf2, 0xb4, 0x54, 0x22, 0x2b, 0xcd, 0x7b, 0xa9, 0xde, 0x87, 0x3b, 0xc4, 0x5a, 0xef, + 0xd2, 0x18, 0xde, 0x24, 0x60, 0x63, 0x69, 0x8b, 0xd9, 0xe3, 0x63, 0xee, 0x4a, 0xc4, 0x24, 0x44, + 0x0f, 0x30, 0xda, 0x7d, 0x26, 0x7a, 0xd7, 0xd2, 0x43, 0x1f, 0xa7, 0x8f, 0xa7, 0xd0, 0xdd, 0x6f, + 0x59, 0x25, 0x57, 0xdd, 0x62, 0xd6, 0x13, 0x14, 0xdb, 0x8a, 0x07, 0x51, 0xc6, 0xf8, 0x81, 0xd9, + 0x0e, 0x17, 0x13, 0xfb, 0xe5, 0xd6, 0x76, 0x4f, 0x8c, 0x72, 0x88, 0xf1, 0x93, 0xae, 0x82, 0x88, + 0xf9, 0xd2, 0xaf, 0x07, 0x63, 0x25, 0xe0, 0xd7, 0xeb, 0x27, 0x4b, 0x76, 0x9b, 0xf1, 0xbf, 0xaf, + 0x62, 0xf8, 0x25, 0x6c, 0x23, 0x3e, 0x78, 0xad, 0xa0, 0x5d, 0x4f, 0xb9, 0xe5, 0x31, 0xbc, 0x1f, + 0x9f, 0xad, 0x14, 0xa5, 0xd7, 0xef, 0x91, 0x70, 0xa3, 0x0a, 0xcf, 0xe6, 0x60, 0x9f, 0xc4, 0xc8, + 0xcc, 0xcf, 0xb9, 0x29, 0xb5, 0x00, 0x5c, 0xcc, 0x36, 0xe0, 0x86, 0x5a, 0xd3, 0x15, 0xa6, 0x23, + 0xfc, 0xfe, 0x27, 0x59, 0x40, 0x9e, 0x99, 0x6d, 0x20, 0x7f, 0xaa, 0xd7, 0xd2, 0xd5, 0x06, 0x95, + 0xe1, 0x80, 0x25, 0x6f, 0xb2, 0xd1, 0x46, 0xfa, 0xd2, 0xdf, 0x0c, 0xd9, 0xce, 0xf8, 0x3c, 0xc7, + 0xc0, 0x96, 0x2b, 0x7e, 0x13, 0x8d, 0x92, 0x64, 0x5a, 0x99, 0x57, 0xf8, 0x96, 0xfc, 0xa8, 0xdb, + 0x43, 0x1e, 0xe8, 0x47, 0x35, 0x25, 0x6f, 0xd5, 0xb7, 0x0a, 0xf0, 0x48, 0x3e, 0x55, 0x2a, 0x09, + 0xf2, 0x70, 0x59, 0xf8, 0x3d, 0x9c, 0x28, 0x55, 0x07, 0x0a, 0x4c, 0x6f, 0x68, 0xb6, 0x71, 0x83, + 0xa4, 0x54, 0x05, 0x1c, 0xf9, 0xef, 0x6d, 0x3b, 0xea, 0x93, 0x02, 0x64, 0x3a, 0xd9, 0xbb, 0xde, + 0xc5, 0xca, 0xec, 0x77, 0x4c, 0xe5, 0x4d, 0x83, 0x83, 0xad, 0x6e, 0x28, 0xdd, 0x21, 0x44, 0xdc, + 0x83, 0x8d, 0x7a, 0x97, 0x42, 0x71, 0x28, 0x4a, 0x6d, 0x50, 0x7a, 0x68, 0x6e, 0x0f, 0x82, 0x45, + 0x4f, 0xd2, 0x2c, 0x13, 0x9e, 0xc4, 0xd6, 0x5c, 0xb5, 0xc5, 0x7e, 0x0d, 0xd0, 0xf5, 0xc1, 0xbd, + 0x1d, 0x00, 0x8f, 0x93, 0xcb, 0xe9, 0x8d, 0xd9, 0xc9, 0xe7, 0xe4, 0x75, 0xda, 0xd0, 0xce, 0xc8, + 0x7d, 0x06, 0x18, 0xc6, 0x25, 0xcb, 0x24, 0xee, 0x3b, 0xda, 0x1e, 0x13, 0xff, 0xc3, 0xf2, 0x0b, + 0x32, 0x3f, 0x44, 0x5a, 0xe9, 0x00, 0xc7, 0x5f, 0x2d, 0x32, 0xf1, 0x38, 0x3e, 0x69, 0xec, 0x61, + 0xec, 0x35, 0x47, 0x60, 0x7e, 0x23, 0xdf, 0x85, 0xeb, 0xee, 0xc5, 0x2e, 0xb5, 0x3e, 0x98, 0x84, + 0x8d, 0x0d, 0x45, 0x63, 0x8c, 0x7c, 0x8e, 0xec, 0x08, 0x27, 0x32, 0xe9, 0x8f, 0xb2, 0xd9, 0xa3, + 0xbd, 0x57, 0xb3, 0x2a, 0x7c, 0xaa, 0xd4, 0xa0, 0x59, 0x29, 0x11, 0x64, 0x2b, 0xa7, 0xef, 0xf4, + 0x20, 0xd8, 0xd0, 0xf2, 0xe6, 0x44, 0x19, 0x4d, 0xf7, 0x86, 0x6d, 0xc0, 0x68, 0x04, 0xc6, 0x09, + 0x79, 0x0a, 0x9c, 0x2a, 0xd0, 0xda, 0xc2, 0x8a, 0x6c, 0x27, 0x01, 0xdf, 0xf1, 0x78, 0x5b, 0x27, + 0xcd, 0x5c, 0xa0, 0x9c, 0x8a, 0xdb, 0xea, 0x33, 0x3d, 0xf9, 0xd4, 0xff, 0x95, 0x03, 0x67, 0xbb, + 0x25, 0x11, 0xd6, 0x4f, 0x15, 0x5c, 0x64, 0x44, 0x50, 0xc2, 0x4a, 0xfb, 0xe8, 0x81, 0xad, 0x3d, + 0x4c, 0xb5, 0xe6, 0x9d, 0xad, 0x30, 0xd6, 0x58, 0xe1, 0xe3, 0x90, 0x95, 0xfc, 0x35, 0x60, 0xa0, + 0x34, 0x15, 0x75, 0x64, 0xb5, 0x3b, 0x68, 0x47, 0x79, 0x8b, 0x74, 0xe6, 0x28, 0xe1, 0xad, 0xb7, + 0x30, 0x12, 0xfc, 0x6a, 0xe7, 0xcc, 0x43, 0x76, 0xb6, 0x22, 0xa3, 0x86, 0xba, 0x68, 0xa3, 0x68, + 0xd4, 0xf4, 0x67, 0xe4, 0xff, 0xa2, 0x01, 0x60, 0xd2, 0xd6, 0x7b, 0x5e, 0x9e, 0x08, 0x96, 0xff, + 0x8d, 0xa2, 0x3e, 0xe9, 0xfd, 0x75, 0x66, 0x51, 0x69, 0x88, 0x21, 0xd9, 0xff, 0x33, 0x6c, 0xd4, + 0xad, 0xc8, 0xc4, 0xe8, 0x64, 0x95, 0x7c, 0x89, 0xb0, 0x30, 0x4b, 0xd6, 0x82, 0x30, 0x26, 0xf8, + 0xda, 0xe3, 0x79, 0x24, 0x0f, 0x3d, 0xf8, 0xbf, 0x21, 0x7a, 0xf8, 0xe4, 0xd0, 0xff, 0x99, 0x73, + 0xea, 0xe2, 0x55, 0x24, 0xa4, 0x40, 0xfd, 0xf8, 0x8c, 0xe7, 0x9e, 0x23, 0x0f, 0xaa, 0xb5, 0xc3, + 0x00, 0x78, 0x80, 0xe5, 0x50, 0x47, 0x81, 0x66, 0x59, 0x3f, 0x61, 0xdc, 0x91, 0x75, 0xed, 0x27, + 0xe4, 0xbb, 0x3e, 0x80, 0x74, 0x7b, 0xd3, 0x9d, 0x0e, 0x13, 0x45, 0x50, 0x1d, 0xb2, 0x56, 0xc8, + 0x3d, 0x78, 0x5b, 0xc8, 0x08, 0xfd, 0xad, 0xde, 0x64, 0x31, 0xda, 0x33, 0x3e, 0x7e, 0x60, 0xc3, + 0x78, 0xe7, 0xfe, 0xaf, 0xab, 0x65, 0x13, 0x99, 0x57, 0xb3, 0x3c, 0xcc, 0xdf, 0xcc, 0x14, 0x1c, + 0x5f, 0x80, 0x88, 0xc1, 0xd6, 0x0b, 0x8e, 0x4b, 0x55, 0xf2, 0x43, 0x27, 0x7d, 0x59, 0xfd, 0xe2, + 0xc4, 0x38, 0x9d, 0xc8, 0xbb, 0x96, 0x6f, 0x51, 0x02, 0xab, 0x51, 0x6e, 0x66, 0xdc, 0x67, 0x1d, + 0x96, 0x63, 0x15, 0xcd, 0x58, 0x9e, 0xcf, 0xa0, 0xea, 0x0e, 0x24, 0x1f, 0x52, 0x8a, 0x8e, 0xcc, + 0x22, 0x04, 0xc1, 0x01, 0xbd, 0x83, 0x93, 0xd5, 0x6d, 0x23, 0x59, 0x3a, 0xb9, 0x71, 0xa7, 0x35, + 0x7b, 0x89, 0x09, 0x17, 0x4b, 0x00, 0x36, 0x07, 0xca, 0xc7, 0x35, 0xdb, 0x2d, 0x5d, 0x5e, 0x22, + 0x71, 0xed, 0xf5, 0xe9, 0x26, 0x4d, 0x48, 0x47, 0x82, 0x91, 0x50, 0xfa, 0xab, 0x90, 0x8e, 0xd8, + 0x68, 0x6b, 0xde, 0x6c, 0x64, 0x31, 0x24, 0x44, 0x1a, 0xbf, 0x11, 0xb8, 0x59, 0x03, 0x5a, 0x5b, + 0x33, 0xfe, 0x24, 0x23, 0x8e, 0x3f, 0x2f, 0x7c, 0xb1, 0x53, 0x68, 0x14, 0x84, 0x4f, 0x36, 0xeb, + 0x43, 0xda, 0x0a, 0x04, 0x8d, 0x88, 0xf9, 0x5a, 0x31, 0x14, 0x9e, 0x61, 0x9a, 0x3d, 0xb4, 0x1f, + 0x7f, 0x2f, 0xf2, 0x43, 0x0e, 0x7f, 0x61, 0x06, 0x35, 0xd4, 0x4f, 0x67, 0x62, 0x86, 0xb4, 0x7e, + 0x51, 0x75, 0x31, 0xc2, 0xe5, 0xf5, 0x74, 0xf4, 0xdc, 0x6f, 0xf4, 0x6f, 0x4e, 0x3f, 0xc1, 0x39, + 0xd2, 0x7a, 0x0a, 0xbd, 0xe3, 0x41, 0x74, 0xac, 0x3d, 0x5f, 0xfb, 0x37, 0xcd, 0xde, 0x6c, 0x2c, + 0xe3, 0x1d, 0x58, 0xbc, 0x10, 0x2b, 0x1a, 0x1c, 0x03, 0x4d, 0xf8, 0x32, 0x05, 0x59, 0x82, 0x77, + 0x68, 0xd8, 0x79, 0x97, 0xe0, 0x7f, 0x24, 0xa3, 0x69, 0xe0, 0x87, 0x13, 0x59, 0x8e, 0xdb, 0x18, + 0xd9, 0xea, 0x64, 0xa8, 0x22, 0xb2, 0x85, 0x9e, 0x78, 0x99, 0x05, 0xaa, 0x57, 0xdc, 0x48, 0x08, + 0xbe, 0x20, 0x41, 0x6e, 0x1c, 0xe4, 0x8f, 0x13, 0x57, 0x6d, 0xc1, 0xa2, 0x15, 0x05, 0x6a, 0xa4, + 0x55, 0x16, 0x72, 0x92, 0xb8, 0x98, 0xd6, 0x79, 0xc3, 0x1f, 0xc8, 0xe1, 0x88, 0xcf, 0xcd, 0x76, + 0x22, 0x3b, 0xb4, 0xb5, 0xc7, 0x79, 0xfd, 0xaa, 0x6b, 0x3c, 0x4b, 0xed, 0x7e, 0x28, 0x8f, 0x21, + 0xb0, 0xbc, 0x88, 0x2c, 0x41, 0xe9, 0xd4, 0xb8, 0xe2, 0xf3, 0xef, 0xcf, 0xf9, 0xe4, 0xd6, 0x67, + 0xf8, 0x2c, 0xbc, 0x4e, 0x8c, 0xb8, 0x40, 0x27, 0x61, 0x89, 0xf9, 0x0b, 0x49, 0x17, 0x83, 0xcc, + 0xb8, 0xe2, 0x45, 0x2d, 0xe1, 0x0a, 0x0f, 0x45, 0x99, 0x13, 0x19, 0x23, 0x92, 0xf1, 0x4d, 0x02, + 0xf0, 0xcc, 0xde, 0xb8, 0x76, 0xa5, 0xce, 0xc8, 0x57, 0xdf, 0x19, 0xd9, 0x33, 0x35, 0x9e, 0xb6, + 0x39, 0xb8, 0xaf, 0xfb, 0x3d, 0x2b, 0x3d, 0xe8, 0x15, 0x68, 0x7d, 0xc5, 0x9b, 0x38, 0x39, 0xe3, + 0x27, 0x3b, 0xcc, 0xef, 0x8b, 0xe3, 0xb3, 0xfc, 0x4e, 0xeb, 0x9b, 0xba, 0x0e, 0x3c, 0x80, 0x9d, + 0x57, 0xc2, 0x19, 0x25, 0xe9, 0x38, 0x4a, 0x22, 0x50, 0x67, 0xae, 0x74, 0x8d, 0xea, 0x19, 0x3e, + 0x65, 0x3c, 0x6a, 0x9e, 0x6f, 0x7b, 0xd4, 0xce, 0x70, 0xea, 0xe8, 0xb3, 0xd2, 0xc0, 0xde, 0x9a, + 0x5d, 0x0a, 0xcc, 0xde, 0xa0, 0xc0, 0x0b, 0x19, 0x01, 0x79, 0x8d, 0xde, 0xbf, 0xc4, 0x54, 0xf6, + 0xb3, 0xbb, 0xdf, 0x91, 0x83, 0x47, 0x39, 0xfb, 0xa4, 0x41, 0xfb, 0x74, 0x90, 0xf6, 0x2e, 0xe6, + 0x7d, 0x75, 0x9a, 0x86, 0x0f, 0xbb, 0x40, 0x51, 0x78, 0x48, 0xf4, 0xa2, 0xb6, 0x3b, 0x53, 0x61, + 0xcf, 0x7d, 0x89, 0xb7, 0x58, 0x03, 0x34, 0xfb, 0x92, 0x52, 0xff, 0x1e, 0xe9, 0xe1, 0x87, 0x39, + 0x26, 0xa1, 0x42, 0xf4, 0xe6, 0x0f, 0xcc, 0xa5, 0x2e, 0x83, 0x6f, 0x54, 0x75, 0x93, 0xa8, 0x20, + 0x9a, 0xcc, 0x59, 0x56, 0xe2, 0x59, 0x17, 0x74, 0xc1, 0x99, 0xe7, 0xc6, 0xe8, 0xbc, 0xf0, 0x88, + 0x9b, 0x65, 0x54, 0xa4, 0xcb, 0xfb, 0xdc, 0xb6, 0xa2, 0xef, 0xfe, 0x18, 0xa8, 0x91, 0xee, 0x08, + 0x94, 0x01, 0x38, 0x52, 0x07, 0xeb, 0x0d, 0xe7, 0xda, 0xaa, 0xf4, 0x31, 0xd3, 0x64, 0xa1, 0xd5, + 0xf0, 0xed, 0x12, 0x90, 0xdc, 0x28, 0xe1, 0x77, 0x9b, 0x0e, 0x4c, 0x0f, 0xb4, 0x4e, 0x78, 0xfa, + 0x6a, 0xf4, 0xd3, 0x43, 0x24, 0x85, 0xb0, 0xa5, 0x79, 0x2e, 0xfe, 0x71, 0xad, 0xae, 0xd7, 0x1a, + 0xf4, 0x0b, 0x8e, 0x9e, 0x0b, 0xf4, 0x4c, 0xda, 0x38, 0x88, 0x6b, 0x5a, 0x12, 0x47, 0xd6, 0x0a, + 0x77, 0xf9, 0x6a, 0x37, 0x2d, 0xe2, 0xa5, 0xe0, 0xa7, 0x9c, 0xab, 0xbd, 0xe8, 0xef, 0x81, 0x7e, + 0xc3, 0x22, 0xe5, 0x8f, 0xff, 0xa2, 0x1e, 0xaf, 0x2a, 0xfe, 0xc5, 0xb4, 0xf3, 0xfc, 0x49, 0x3e, + 0x78, 0xfa, 0xb1, 0xc3, 0x56, 0xfc, 0x4b, 0xbe, 0x9b, 0xdd, 0x87, 0xd0, 0x33, 0x96, 0xfb, 0x83, + 0x4e, 0xe5, 0x08, 0x36, 0xb4, 0x13, 0xd1, 0xc5, 0x43, 0x13, 0x38, 0x05, 0xf1, 0x35, 0x82, 0xf0, + 0x68, 0xf8, 0x13, 0x96, 0xbe, 0x53, 0x79, 0xde, 0xfc, 0x12, 0xc1, 0xdd, 0xf1, 0x7a, 0x6c, 0x59, + 0xb5, 0xb3, 0xfd, 0x90, 0x75, 0x0c, 0xef, 0xca, 0x37, 0x03, 0x5f, 0x58, 0x72, 0x14, 0x04, 0x7a, + 0x02, 0x06, 0x74, 0xc8, 0xaa, 0x07, 0xc4, 0x89, 0x7a, 0x15, 0xa8, 0x88, 0x1f, 0x08, 0x9e, 0xb9, + 0x1b, 0x53, 0x32, 0x1b, 0xa2, 0x24, 0x54, 0x6f, 0xef, 0x59, 0xa6, 0x09, 0x7d, 0x00, 0xc0, 0x02, + 0xd1, 0x00, 0x09, 0xe7, 0x52, 0xb0, 0x53, 0x08, 0x8f, 0xc5, 0xe5, 0xf0, 0x98, 0x1d, 0xbb, 0xb7, + 0x8b, 0xee, 0xaf, 0x89, 0x5d, 0xaa, 0xfc, 0xc5, 0x96, 0xc7, 0xa3, 0x94, 0x4c, 0x96, 0xd0, 0x1f, + 0xef, 0x96, 0x59, 0x61, 0x66, 0x17, 0x21, 0x24, 0x30, 0xf8, 0x9c, 0x3e, 0x61, 0x72, 0x40, 0x1d, + 0xf6, 0x5d, 0x33, 0xd0, 0xee, 0x1f, 0xbb, 0x72, 0x21, 0xcd, 0xf4, 0x6a, 0x32, 0x7b, 0xc3, 0xf4, + 0x3d, 0x0e, 0x5b, 0xe9, 0x9f, 0x28, 0x18, 0xf2, 0xe0, 0xd4, 0xb3, 0x0b, 0x5e, 0xa3, 0xeb, 0x35, + 0xe0, 0xa4, 0xa2, 0xce, 0xb4, 0xfe, 0x7e, 0xde, 0x05, 0x2e, 0xab, 0x81, 0xad, 0x84, 0x74, 0x9f, + 0x66, 0xce, 0xd9, 0xc6, 0x78, 0x1a, 0x84, 0x50, 0xe2, 0xfa, 0x73, 0x9c, 0xc7, 0x20, 0x41, 0x01, + 0x2e, 0x71, 0xfb, 0xb0, 0x77, 0xd6, 0xb0, 0xb8, 0x86, 0xf7, 0xd5, 0x66, 0x99, 0xa6, 0x82, 0x02, + 0x87, 0x8c, 0xa8, 0x8d, 0x5e, 0x47, 0x7d, 0x57, 0x1d, 0xde, 0x15, 0xf1, 0x3d, 0x09, 0xa9, 0xe4, + 0xa5, 0xaf, 0x23, 0x63, 0xd8, 0xa5, 0x93, 0xef, 0x97, 0xd1, 0x42, 0xd7, 0x88, 0x9c, 0x77, 0xd0, + 0xf1, 0x19, 0x11, 0x6a, 0x0d, 0x0c, 0x6d, 0xa6, 0x5a, 0xc9, 0x09, 0x7e, 0x62, 0xcf, 0x86, 0xbc, + 0xa4, 0x3d, 0x93, 0xe7, 0xfd, 0x6a, 0x92, 0xd2, 0x00, 0x77, 0x6e, 0xb0, 0x52, 0xda, 0xd0, 0x21, + 0x5f, 0x46, 0x8b, 0x06, 0x57, 0x68, 0x08, 0xa6, 0x83, 0xf4, 0x30, 0xf1, 0xce, 0x61, 0x18, 0x9a, + 0xb3, 0x85, 0x80, 0x0b, 0x66, 0xdf, 0x24, 0x8d, 0x78, 0xe0, 0x32, 0x92, 0x6b, 0x58, 0x93, 0xf8, + 0x23, 0x25, 0x1f, 0xa1, 0x7a, 0xfd, 0x07, 0x22, 0x1f, 0xa1, 0xfb, 0x81, 0x7f, 0xc2, 0xda, 0xa1, + 0x12, 0xbd, 0xe6, 0x03, 0x18, 0x1e, 0x9e, 0x9e, 0x21, 0xf6, 0xf9, 0x73, 0xc6, 0xc9, 0xa1, 0x47, + 0x1e, 0xef, 0x4a, 0x3b, 0x08, 0x8c, 0xdf, 0x63, 0xc4, 0xe2, 0x57, 0x04, 0x88, 0x18, 0xc7, 0x77, + 0x8e, 0x49, 0x3e, 0xda, 0xb6, 0x52, 0x3f, 0xe9, 0x10, 0x67, 0x94, 0xc8, 0x71, 0xbb, 0x8d, 0x2b, + 0xf3, 0x9a, 0xb3, 0x77, 0xce, 0x6e, 0x8a, 0xb5, 0x07, 0x34, 0xe9, 0xdd, 0x9f, 0x7c, 0xa2, 0xe3, + 0x19, 0x49, 0x3b, 0x1b, 0x73, 0xe0, 0x07, 0x80, 0x81, 0x50, 0x7e, 0xc3, 0xc5, 0x69, 0x58, 0x3a, + 0xaa, 0xe8, 0xc7, 0x5e, 0xef, 0xe3, 0x34, 0x00, 0x75, 0x70, 0xab, 0x4c, 0x05, 0x24, 0xd9, 0x79, + 0xd3, 0xfa, 0x89, 0x9d, 0x22, 0x98, 0x66, 0xd1, 0x6d, 0x9d, 0x57, 0x68, 0xd5, 0x25, 0xa6, 0x7f, + 0xf4, 0x72, 0xaa, 0x96, 0x26, 0x0a, 0x07, 0x0a, 0xc9, 0x44, 0x6f, 0x14, 0x5d, 0x43, 0xa8, 0xeb, + 0x5e, 0xae, 0x2a, 0xad, 0x4b, 0x49, 0xea, 0x63, 0x84, 0xc1, 0xba, 0x5f, 0x6b, 0xbf, 0x4e, 0xf6, + 0x82, 0x91, 0xb8, 0xb4, 0xce, 0x79, 0xb4, 0x13, 0xe2, 0x39, 0xc1, 0x70, 0x49, 0x10, 0x37, 0x65, + 0xd8, 0xfd, 0xe5, 0x70, 0xc0, 0x64, 0xa0, 0x04, 0x61, 0xf0, 0xad, 0xc2, 0x2b, 0x5f, 0x73, 0x2e, + 0x80, 0x0d, 0x45, 0x6c, 0x1b, 0xb5, 0xbe, 0x86, 0x75, 0xe2, 0xbe, 0x52, 0x26, 0xd2, 0x12, 0x94, + 0x58, 0x3a, 0xf3, 0x8a, 0x49, 0xab, 0xef, 0x20, 0x69, 0x17, 0x59, 0x6d, 0x93, 0xec, 0x5a, 0xf2, + 0xa1, 0x5d, 0x4f, 0xa9, 0xbb, 0x14, 0x0a, 0x7c, 0xc1, 0xa6, 0x93, 0xda, 0xc5, 0x4f, 0x0d, 0x7f, + 0xc4, 0x69, 0x4f, 0x62, 0x64, 0xac, 0x04, 0x83, 0x9f, 0xcc, 0x6b, 0xac, 0xe4, 0xe7, 0xc5, 0x11, + 0x80, 0x36, 0xf4, 0xd2, 0x09, 0x92, 0x71, 0xb9, 0x3f, 0x69, 0x2b, 0xb1, 0x7e, 0x16, 0xcb, 0x2d, + 0xad, 0x8d, 0x65, 0xe8, 0x21, 0x9c, 0x8d, 0x37, 0x02, 0xdd, 0xc8, 0xf5, 0x66, 0xe4, 0x63, 0x65, + 0x17, 0xde, 0xcc, 0x9b, 0x6b, 0x8c, 0xb0, 0x8c, 0x2b, 0x22, 0x27, 0xd7, 0xc2, 0xf6, 0x01, 0x35, + 0x73, 0x50, 0xbe, 0xc1, 0xe8, 0xaa, 0x1a, 0xce, 0xdb, 0x5a, 0x05, 0xd6, 0xf1, 0x9b, 0xf1, 0x9f, + 0x5c, 0xb3, 0xb1, 0x42, 0xf4, 0xb2, 0x93, 0xf2, 0x9e, 0x26, 0x15, 0x12, 0x29, 0xd5, 0x97, 0x0e, + 0x8d, 0xe8, 0x03, 0x62, 0xb8, 0xc2, 0x9b, 0xbd, 0x64, 0x58, 0x28, 0x86, 0xf1, 0x40, 0x15, 0x05, + 0x59, 0xd0, 0x92, 0xbf, 0x5b, 0x6d, 0x61, 0xf0, 0xcf, 0xd2, 0x6d, 0xf2, 0xff, 0x28, 0x3c, 0x46, + 0xc1, 0xe1, 0x40, 0x7e, 0x22, 0x42, 0x22, 0xe3, 0x0f, 0x13, 0x05, 0x28, 0x24, 0xf9, 0xcd, 0x9b, + 0xfd, 0x4c, 0x85, 0x60, 0xec, 0x94, 0x4c, 0x0e, 0xff, 0xd2, 0x08, 0xc3, 0x17, 0xc6, 0xe4, 0x46, + 0x4a, 0x27, 0x69, 0x38, 0x95, 0x36, 0x02, 0xa6, 0xe6, 0x62, 0xd0, 0x6e, 0x59, 0x62, 0x54, 0x61, + 0xcc, 0xbd, 0xb3, 0xdd, 0x76, 0x78, 0x96, 0x2c, 0x35, 0x6f, 0xb3, 0xb9, 0x50, 0x70, 0xe5, 0x17, + 0x0d, 0x8a, 0x76, 0xb6, 0xeb, 0xc0, 0x13, 0xb6, 0x51, 0xf3, 0x44, 0x2e, 0x01, 0x35, 0x87, 0x07, + 0x38, 0xae, 0x12, 0x6f, 0x93, 0x12, 0xc6, 0xf2, 0xbb, 0xc1, 0x55, 0x0c, 0x7d, 0x3e, 0xe8, 0xb3, + 0xf0, 0x40, 0xf0, 0x96, 0xd6, 0x74, 0x95, 0xc4, 0x7d, 0x3a, 0x14, 0x8b, 0xf2, 0x05, 0x75, 0xf6, + 0x9a, 0xe4, 0xb3, 0x9f, 0x7b, 0xab, 0xa0, 0xd3, 0x16, 0x66, 0xcd, 0x12, 0x48, 0x74, 0x1f, 0x2a, + 0xad, 0x8c, 0xd8, 0x76, 0x56, 0x49, 0x81, 0x5a, 0x7a, 0x2b, 0x0e, 0xc0, 0xbe, 0x1f, 0x81, 0x28, + 0x7d, 0x5d, 0x02, 0xb9, 0xda, 0x8c, 0x39, 0xf1, 0x50, 0x82, 0xd5, 0x89, 0x79, 0xd9, 0xd4, 0xbd, + 0x03, 0x45, 0x7f, 0xb7, 0x7e, 0xde, 0x9e, 0x4d, 0x14, 0xa4, 0x50, 0xb4, 0x9a, 0xdc, 0x9a, 0xb4, + 0xc7, 0xf7, 0xbb, 0x57, 0xd9, 0xc6, 0x3a, 0x25, 0xc7, 0x5e, 0xa5, 0x58, 0x3a, 0xf0, 0x2e, 0x04, + 0xdd, 0xb4, 0xe7, 0xa6, 0x16, 0xc4, 0x33, 0x91, 0x40, 0x4c, 0x10, 0xc0, 0x15, 0x5d, 0x08, 0xce, + 0xe2, 0x80, 0xaf, 0x1a, 0x35, 0x69, 0x8a, 0xc4, 0xe1, 0x59, 0xfb, 0xd2, 0x9e, 0x69, 0xe2, 0x32, + 0x8f, 0x71, 0x4c, 0xd2, 0x1a, 0xee, 0x21, 0x35, 0x43, 0xaf, 0xdf, 0x66, 0x70, 0x74, 0x68, 0x99, + 0xc4, 0x79, 0x2b, 0xe4, 0x6a, 0x64, 0x37, 0x74, 0xa1, 0x7b, 0x7c, 0x1f, 0xac, 0x98, 0xf8, 0x92, + 0xdc, 0xf4, 0xcd, 0xac, 0xfe, 0x18, 0x41, 0x4a, 0xf3, 0xee, 0xd2, 0x8f, 0xe6, 0xc4, 0x94, 0x36, + 0xfc, 0xfd, 0x96, 0x18, 0x46, 0x05, 0x82, 0x9b, 0x46, 0x22, 0xef, 0x07, 0x54, 0xa2, 0xda, 0x20, + 0x6e, 0xd9, 0x42, 0x75, 0x5f, 0x4a, 0x33, 0x6e, 0xbd, 0xca, 0xde, 0xaf, 0xae, 0xc0, 0x8c, 0x72, + 0x92, 0x20, 0x46, 0x27, 0x95, 0xe9, 0x09, 0xcb, 0xf2, 0x46, 0xe9, 0x6b, 0x5d, 0x04, 0xd1, 0x02, + 0xb6, 0xad, 0x37, 0xa3, 0x53, 0x48, 0x46, 0xa3, 0x05, 0x93, 0xd7, 0xbc, 0xd0, 0xc5, 0x7c, 0xea, + 0x6a, 0x31, 0x65, 0x24, 0x64, 0x9a, 0x6c, 0x2b, 0x33, 0xb2, 0x87, 0xa1, 0x22, 0xb3, 0x65, 0xbd, + 0x62, 0x94, 0x91, 0xea, 0x09, 0x72, 0xa1, 0xe7, 0xee, 0x71, 0x5a, 0xc6, 0xde, 0x1a, 0xae, 0x6b, + 0x29, 0x8c, 0xa5, 0x7d, 0xdf, 0xcf, 0x8f, 0x33, 0x0f, 0xbc, 0xa7, 0x7f, 0x2c, 0x94, 0x09, 0x64, + 0x61, 0xfc, 0xc7, 0x4b, 0x18, 0xc4, 0x70, 0x59, 0x38, 0xd4, 0x88, 0x7f, 0xa6, 0x80, 0x49, 0x76, + 0x87, 0x54, 0xa7, 0x32, 0xf0, 0xe2, 0x91, 0x25, 0x32, 0xfa, 0xd4, 0xf6, 0xc2, 0x31, 0x5d, 0x75, + 0x20, 0x95, 0x94, 0x76, 0x46, 0xf3, 0xd5, 0x79, 0x23, 0x05, 0x26, 0xa7, 0x5a, 0x86, 0xdd, 0x23, + 0x70, 0x09, 0xc5, 0x65, 0x14, 0xa4, 0x9b, 0x8c, 0xac, 0xe2, 0x09, 0xac, 0x44, 0x99, 0x4b, 0xea, + 0x51, 0x74, 0x37, 0x1d, 0x08, 0xd9, 0x82, 0x74, 0x32, 0x30, 0xa3, 0x6b, 0x5e, 0x8f, 0xfe, 0x0b, + 0x34, 0xfd, 0x1d, 0x5a, 0x7e, 0x32, 0xe9, 0x4c, 0x4e, 0xbd, 0x68, 0xba, 0x1a, 0x9c, 0x09, 0xb8, + 0x91, 0x5c, 0x98, 0x9f, 0xd7, 0xb7, 0x8e, 0xfe, 0xc3, 0xcf, 0x81, 0xab, 0xcf, 0x82, 0x08, 0x57, + 0x16, 0x74, 0x96, 0x77, 0x97, 0xe3, 0x7b, 0xcf, 0xf5, 0x71, 0xd6, 0x69, 0x19, 0x80, 0xa1, 0x16, + 0xb9, 0xa1, 0x9f, 0x5e, 0xe6, 0x9c, 0xcc, 0xae, 0x0f, 0xa9, 0x2a, 0x09, 0xa1, 0x0d, 0x99, 0xba, + 0x1c, 0xe0, 0x80, 0xa2, 0x7c, 0xc8, 0xbf, 0x86, 0x36, 0x7e, 0xaa, 0x72, 0xaa, 0x12, 0x36, 0x19, + 0xda, 0xbd, 0xc7, 0xa6, 0xc9, 0x9e, 0x86, 0xc0, 0xa2, 0x07, 0x15, 0xf7, 0xf8, 0x84, 0x02, 0xfb, + 0x86, 0xba, 0x18, 0x09, 0x1c, 0x62, 0xd5, 0xdd, 0x14, 0x5d, 0x37, 0xb8, 0x87, 0x97, 0xe9, 0xdb, + 0x52, 0xe4, 0x9e, 0x64, 0xdc, 0x95, 0xb0, 0xc3, 0xca, 0x4f, 0x37, 0xc0, 0xb0, 0x50, 0x1a, 0x89, + 0xd0, 0xd5, 0x5a, 0xf6, 0xc1, 0x31, 0x85, 0x6f, 0x7b, 0x1f, 0x92, 0x39, 0x25, 0x8e, 0xef, 0x96, + 0xbd, 0x71, 0xab, 0xc7, 0x9b, 0x7f, 0xcb, 0xd0, 0xaf, 0xd5, 0xe9, 0xbd, 0xd7, 0x28, 0x26, 0x0f, + 0x8f, 0xa2, 0xdf, 0xd2, 0x80, 0x21, 0xfd, 0x1c, 0xdc, 0xf5, 0x86, 0xc5, 0x17, 0x03, 0xd3, 0x9f, + 0xc6, 0x89, 0x18, 0xa2, 0x0c, 0xe0, 0x1e, 0xfd, 0xc3, 0xbf, 0x02, 0xeb, 0x1f, 0x18, 0x95, 0x0a, + 0x36, 0xe3, 0xfa, 0x27, 0x50, 0x3a, 0xfa, 0x96, 0xc1, 0x18, 0xdd, 0x88, 0x9c, 0xeb, 0x65, 0x22, + 0x30, 0xc2, 0xfa, 0xd3, 0xb9, 0xaf, 0x08, 0x58, 0xbe, 0x11, 0x14, 0xdf, 0x87, 0xb2, 0x78, 0x5c, + 0x66, 0xc3, 0xf8, 0xb8, 0x6e, 0x7a, 0x98, 0x35, 0x23, 0x42, 0xfc, 0x47, 0x24, 0x69, 0xbe, 0x7b, + 0xa7, 0x81, 0x94, 0x6a, 0xb2, 0x38, 0x39, 0xe0, 0x6d, 0xbb, 0x71, 0xdf, 0x2e, 0x9b, 0xb3, 0xc6, + 0x19, 0x5a, 0xca, 0x5b, 0x51, 0xbf, 0xc9, 0x0e, 0xac, 0xe5, 0x47, 0xfd, 0xa7, 0xfe, 0x84, 0x2f, + 0xbb, 0x98, 0xbd, 0x3a, 0x5d, 0xcf, 0x51, 0xd3, 0x9a, 0xdd, 0x97, 0x59, 0xfc, 0xfd, 0xbb, 0xeb, + 0x36, 0x60, 0x6a, 0xb6, 0x64, 0x0a, 0x38, 0x7b, 0xf6, 0xd0, 0xc1, 0xb7, 0x1f, 0xd7, 0xf5, 0xac, + 0xb0, 0x11, 0xa2, 0xae, 0x8d, 0xcd, 0x88, 0x3e, 0xe0, 0xe2, 0xa9, 0x05, 0x8b, 0x71, 0x1c, 0x3a, + 0x7c, 0x35, 0x75, 0x96, 0xe8, 0x85, 0x09, 0xa9, 0x59, 0xa8, 0x31, 0xab, 0x88, 0x7b, 0x64, 0x25, + 0x34, 0xbb, 0x4f, 0x4c, 0x1b, 0x68, 0x9c, 0xdd, 0x0f, 0x7f, 0x60, 0xf8, 0x70, 0xad, 0x1e, 0x8d, + 0xef, 0x13, 0x67, 0x95, 0x68, 0xb6, 0x47, 0x71, 0x80, 0xc0, 0x85, 0xa4, 0x8d, 0x8f, 0xc5, 0xb3, + 0x86, 0x5f, 0x68, 0xcf, 0x02, 0xd1, 0xac, 0xf9, 0x9d, 0x05, 0xbe, 0xdd, 0x39, 0x3a, 0xae, 0x2b, + 0xf2, 0x0e, 0x9f, 0xfb, 0x83, 0xc3, 0xfd, 0x9f, 0x47, 0x47, 0xda, 0xd6, 0x49, 0xbd, 0x7f, 0x26, + 0x8c, 0xf5, 0x53, 0x5e, 0xce, 0x2b, 0xfd, 0xaf, 0xcc, 0x3f, 0x2e, 0x2a, 0x87, 0x9d, 0x29, 0xd6, + 0xb3, 0x8f, 0xeb, 0x45, 0x06, 0xd9, 0x2a, 0x6e, 0x80, 0x1e, 0xd0, 0x0c, 0x87, 0xa0, 0x36, 0x67, + 0x36, 0x43, 0x36, 0x83, 0x0a, 0x46, 0x80, 0xe9, 0x97, 0xcf, 0xe2, 0x40, 0xcd, 0xcd, 0x26, 0xe7, + 0x27, 0x5d, 0x14, 0x9a, 0xc3, 0x58, 0xf6, 0x68, 0x4b, 0x40, 0x8e, 0x62, 0xc8, 0x49, 0x69, 0x08, + 0xa7, 0xce, 0x86, 0xfd, 0x9f, 0x2c, 0x8f, 0x1b, 0x5f, 0x16, 0xfe, 0xab, 0x73, 0x67, 0x54, 0x6f, + 0x4c, 0x88, 0x1b, 0x03, 0xf5, 0xcf, 0x48, 0xe7, 0xd8, 0xf2, 0x59, 0xa4, 0x51, 0x85, 0x31, 0xa3, + 0xbb, 0xae, 0xcf, 0x18, 0x34, 0xd6, 0x6a, 0x92, 0x09, 0x79, 0xb6, 0x18, 0x86, 0x02, 0xa2, 0x0f, + 0x48, 0x1e, 0x80, 0x17, 0x2e, 0xc6, 0xee, 0x52, 0x51, 0xa8, 0xa4, 0x4d, 0xe2, 0x72, 0x26, 0xd4, + 0x4b, 0x62, 0x49, 0xce, 0xe1, 0x4f, 0xeb, 0x55, 0x9c, 0xa0, 0x0d, 0x5b, 0xc0, 0xc0, 0x34, 0x30, + 0xed, 0x5f, 0x03, 0x10, 0x0c, 0x5f, 0xa4, 0x15, 0xe2, 0x90, 0x48, 0x4e, 0xf8, 0x9c, 0x83, 0x5d, + 0xb1, 0x9a, 0x16, 0xaf, 0x83, 0xf3, 0xc8, 0xfe, 0xc3, 0xda, 0xef, 0xc4, 0xa6, 0x74, 0x8f, 0xa9, + 0xdf, 0x21, 0x08, 0x81, 0x5e, 0x10, 0x0e, 0xca, 0x5e, 0x01, 0x00, 0x9e, 0xb8, 0xe5, 0x8d, 0xb6, + 0x29, 0xd8, 0xd9, 0x29, 0xe2, 0x35, 0x74, 0x98, 0x4c, 0xbb, 0x8c, 0x3a, 0x03, 0x3a, 0x27, 0x58, + 0x9d, 0xdd, 0xbc, 0xc1, 0xe3, 0x42, 0xab, 0x7f, 0x5f, 0x47, 0x2e, 0x6a, 0x03, 0xa3, 0xcf, 0xc8, + 0x18, 0xed, 0x97, 0xb5, 0xbc, 0x1c, 0xc8, 0x2d, 0x91, 0x99, 0x61, 0x8e, 0x84, 0x61, 0x2c, 0x6d, + 0x17, 0xa0, 0x39, 0x7a, 0x71, 0x5e, 0x89, 0x9f, 0xe7, 0x2d, 0x24, 0x5a, 0x8d, 0x0f, 0x8c, 0x9b, + 0x2b, 0x3a, 0x6a, 0xd5, 0x56, 0x82, 0x1e, 0x1b, 0x40, 0xbc, 0x2a, 0x7b, 0xeb, 0xa4, 0x3d, 0xa0, + 0xb5, 0x39, 0x86, 0xc8, 0x5e, 0x35, 0xb9, 0x33, 0x0f, 0x92, 0x5c, 0x67, 0x8b, 0x24, 0x1f, 0x1f, + 0x28, 0x99, 0x40, 0x9a, 0x0a, 0xd7, 0xf0, 0x58, 0xa8, 0x48, 0x2b, 0x9b, 0x41, 0x75, 0x06, 0x24, + 0x68, 0x89, 0x1b, 0x65, 0x62, 0x54, 0xa0, 0x8c, 0x2e, 0xe0, 0x67, 0x79, 0x80, 0x0d, 0x12, 0x24, + 0xa2, 0xc8, 0xa1, 0x4c, 0xb7, 0xfc, 0xdf, 0x1f, 0x03, 0x3c, 0x4c, 0xbf, 0x3e, 0x03, 0x5d, 0x93, + 0xd3, 0xa1, 0x9a, 0x79, 0x89, 0x4d, 0xc2, 0xe5, 0x6b, 0xc7, 0x60, 0x71, 0x59, 0x0a, 0xc6, 0x6f, + 0x4b, 0xed, 0x24, 0x30, 0xe2, 0xa3, 0x15, 0xc5, 0xce, 0xcc, 0x2d, 0xa2, 0x05, 0xa4, 0x5e, 0xfc, + 0x60, 0x22, 0x83, 0xf2, 0xb8, 0x97, 0x74, 0xd9, 0x33, 0x5f, 0xa4, 0x4d, 0x09, 0xe7, 0xfd, 0x8a, + 0x08, 0xc1, 0xdc, 0x85, 0x10, 0xad, 0x9f, 0x4d, 0xd4, 0x1a, 0xe9, 0xe6, 0xf2, 0x2c, 0xdb, 0xdd, + 0xec, 0x04, 0x9d, 0xc9, 0x21, 0xc0, 0xda, 0xbc, 0xda, 0x6e, 0xd4, 0xda, 0x7a, 0xb0, 0x7e, 0xbb, + 0xa3, 0x36, 0x6d, 0xe5, 0x8e, 0xfb, 0xbb, 0x0c, 0x0e, 0xee, 0x30, 0xc6, 0x24, 0x16, 0xd7, 0x9b, + 0x15, 0x82, 0xe8, 0xdf, 0x83, 0xd6, 0xfb, 0xce, 0x5d, 0xad, 0xdc, 0xe7, 0x38, 0xa0, 0x20, 0xd0, + 0xa6, 0xa7, 0x1a, 0xf6, 0x5b, 0xca, 0x68, 0x98, 0x86, 0x02, 0x83, 0x67, 0x24, 0xd7, 0xaf, 0x7b, + 0x5b, 0xc6, 0x67, 0xd6, 0x0c, 0xa4, 0xb3, 0xf5, 0x61, 0x4c, 0xae, 0x81, 0xb6, 0xc5, 0x36, 0x45, + 0xfe, 0x9d, 0xe5, 0x85, 0x19, 0x9a, 0x3e, 0x28, 0x35, 0x34, 0x34, 0xde, 0xb1, 0x97, 0x8c, 0xad, + 0x95, 0x97, 0x41, 0x82, 0x0c, 0xed, 0x4f, 0xf1, 0x59, 0x36, 0x7a, 0xd1, 0xa6, 0x99, 0x53, 0xba, + 0x67, 0x24, 0x8a, 0xe4, 0xfc, 0x1d, 0x79, 0x84, 0xf2, 0xc3, 0x83, 0x90, 0x8a, 0xfb, 0x78, 0x41, + 0x10, 0x34, 0xb0, 0xfb, 0xa4, 0x7f, 0xb0, 0xde, 0xf3, 0xae, 0xca, 0x13, 0x1a, 0x11, 0xd0, 0x4b, + 0x1a, 0xbb, 0x97, 0x33, 0xc4, 0x5b, 0x2a, 0x69, 0xe2, 0x61, 0xf2, 0xcb, 0x79, 0x17, 0xba, 0x88, + 0x77, 0x81, 0x3a, 0x09, 0x69, 0x2a, 0x2f, 0x7f, 0x52, 0xa0, 0x37, 0xbe, 0xae, 0x58, 0x3b, 0xf9, + 0x77, 0x9b, 0x5d, 0xf8, 0x30, 0x37, 0xb1, 0x6d, 0x42, 0xc9, 0xa6, 0x09, 0xb3, 0x41, 0xcd, 0xd5, + 0x62, 0xf4, 0xe6, 0x16, 0x38, 0x63, 0x62, 0x7a, 0x87, 0xbe, 0x73, 0xdb, 0xf2, 0xfb, 0x0c, 0x89, + 0x1d, 0xa3, 0x7b, 0xc0, 0x0b, 0xd4, 0xfd, 0xe7, 0x97, 0x33, 0xa6, 0xfb, 0xdf, 0x8c, 0x1f, 0x58, + 0x9c, 0x74, 0x2d, 0x31, 0x0c, 0xd8, 0xfd, 0xc9, 0xf4, 0x42, 0x56, 0x0e, 0x97, 0xc2, 0x49, 0x7d, + 0xf3, 0xf1, 0x7b, 0x1a, 0x99, 0x04, 0xdb, 0xf7, 0x06, 0x25, 0x24, 0xb3, 0x74, 0xb3, 0x84, 0x19, + 0x2f, 0xea, 0x05, 0x85, 0x00, 0x23, 0xe0, 0x63, 0x51, 0x27, 0x25, 0x36, 0x5d, 0x70, 0xe2, 0x2a, + 0xb6, 0x12, 0xb8, 0x55, 0xfa, 0x5f, 0x9c, 0x27, 0x66, 0xaa, 0x7f, 0xec, 0x2d, 0xb9, 0xc5, 0xc8, + 0x1d, 0x84, 0x55, 0x2f, 0x31, 0x1a, 0xc0, 0x85, 0xb3, 0xeb, 0x7c, 0x7f, 0x0d, 0xd3, 0x9a, 0xdb, + 0x38, 0xea, 0x5b, 0xde, 0xc7, 0x5d, 0x5f, 0xf3, 0x74, 0x83, 0x80, 0x50, 0x11, 0xe8, 0x6f, 0x52, + 0x6e, 0x9d, 0x47, 0x38, 0x6c, 0xaf, 0x37, 0xe3, 0x11, 0xab, 0x9f, 0x3a, 0x3e, 0x61, 0x69, 0xb5, + 0xb9, 0x1c, 0x41, 0xc7, 0x5a, 0x14, 0xaf, 0x0a, 0xc0, 0x15, 0xe5, 0xa9, 0x0a, 0xd0, 0x04, 0x0b, + 0x0b, 0xcd, 0xa2, 0xab, 0xc6, 0x50, 0x2e, 0xd4, 0x74, 0xf3, 0xca, 0xdb, 0x5a, 0x18, 0x7c, 0xf1, + 0x7c, 0x46, 0xed, 0x45, 0x6a, 0x71, 0x4d, 0x0b, 0xbe, 0x25, 0x8f, 0xb5, 0x09, 0x7a, 0xe7, 0xfe, + 0x14, 0xc2, 0x1d, 0xfd, 0xad, 0x91, 0xef, 0x00, 0x62, 0xc6, 0xd1, 0x28, 0xa0, 0x3e, 0xcc, 0xe4, + 0x8e, 0x51, 0xd6, 0x66, 0x4a, 0xd6, 0x78, 0xc8, 0x0c, 0x5d, 0x6e, 0xba, 0x0b, 0xae, 0x03, 0xa4, + 0x4e, 0x56, 0xe8, 0x87, 0xd6, 0x22, 0xfc, 0xca, 0x41, 0xc2, 0xec, 0x52, 0xd6, 0x20, 0x90, 0x06, + 0x2a, 0xa0, 0x5c, 0xea, 0xf0, 0xb1, 0x86, 0xb0, 0xd3, 0x7b, 0xc6, 0xd2, 0x84, 0xa3, 0x6a, 0xc5, + 0x1a, 0xf2, 0x7c, 0x85, 0xd2, 0xb0, 0xe4, 0x3d, 0xb6, 0xc3, 0xa6, 0x37, 0xe7, 0xfa, 0x4e, 0x2a, + 0xdb, 0xa0, 0xf9, 0x77, 0xba, 0x06, 0xa0, 0x70, 0x88, 0x49, 0xe2, 0x07, 0x4f, 0xee, 0x1a, 0x82, + 0xc1, 0x5e, 0xf5, 0xb2, 0xbb, 0xdd, 0x3b, 0x23, 0xa6, 0xd9, 0xda, 0x8c, 0x5f, 0xfe, 0x7a, 0xd3, + 0xc6, 0x3c, 0x07, 0x9a, 0x83, 0x32, 0x9d, 0x3e, 0x2c, 0x03, 0x76, 0x14, 0x3e, 0x62, 0x8c, 0x90, + 0x5f, 0xbe, 0x83, 0x9b, 0x1e, 0x97, 0xef, 0xb3, 0x4c, 0x48, 0xbe, 0xcd, 0xf5, 0x59, 0x75, 0xed, + 0xc4, 0x5e, 0x73, 0x04, 0x21, 0xb5, 0x41, 0x94, 0xd6, 0xf3, 0x93, 0xb7, 0xa1, 0x49, 0x21, 0x48, + 0x27, 0xee, 0x32, 0xc7, 0x93, 0x1f, 0x87, 0x84, 0xf2, 0x9d, 0xba, 0xd3, 0xf4, 0x44, 0xc5, 0xf9, + 0xdb, 0x2d, 0xcd, 0xf4, 0x43, 0x0f, 0xf6, 0x74, 0xfc, 0x79, 0x8b, 0xfc, 0x22, 0x7e, 0x75, 0x16, + 0xab, 0x32, 0x66, 0x40, 0x90, 0xf2, 0x75, 0xdc, 0xb3, 0x15, 0x6c, 0xc8, 0xfe, 0x5d, 0xc0, 0x00, + 0xdf, 0x00, 0x0e, 0x28, 0x18, 0x4c, 0xf7, 0x07, 0x41, 0x02, 0x9b, 0xd4, 0xf1, 0x12, 0xb9, 0x71, + 0x04, 0xcf, 0x61, 0xc6, 0x1e, 0x27, 0x48, 0x3d, 0x43, 0x9b, 0x19, 0xca, 0x9a, 0x4f, 0x3c, 0x9d, + 0x1e, 0x0a, 0xbc, 0x72, 0x2b, 0xb4, 0x77, 0xce, 0x35, 0x41, 0xd3, 0x8f, 0xcd, 0xcf, 0xe6, 0x89, + 0xf5, 0x52, 0x1d, 0x7e, 0x7b, 0xb5, 0x34, 0xa8, 0xeb, 0x8d, 0x76, 0xd4, 0x07, 0xcf, 0xae, 0x16, + 0xf0, 0x8e, 0x84, 0xd5, 0xb3, 0x22, 0xef, 0xdf, 0xd1, 0x0e, 0xef, 0xe2, 0x1a, 0xdb, 0x43, 0x5e, + 0x48, 0xca, 0xd6, 0x4c, 0xd3, 0x96, 0x52, 0x2a, 0xaf, 0xb8, 0xab, 0x48, 0xa2, 0x07, 0x31, 0xda, + 0x0d, 0x88, 0x37, 0xaa, 0x14, 0x83, 0x4b, 0xde, 0x5f, 0x2c, 0xdc, 0xf3, 0xea, 0xb7, 0xfe, 0x8e, + 0x2a, 0x73, 0x8f, 0x6b, 0xdc, 0xf0, 0x98, 0x9d, 0x34, 0x84, 0xca, 0xb6, 0xf1, 0x5c, 0x60, 0x21, + 0x1b, 0x8a, 0x5f, 0xed, 0xc4, 0x37, 0x5d, 0x07, 0x9d, 0x16, 0xe2, 0x74, 0x8c, 0xbc, 0xc8, 0x90, + 0xc9, 0xb3, 0xf2, 0x3e, 0xa4, 0x3e, 0xa0, 0xd7, 0xb9, 0xa5, 0x44, 0x02, 0x7f, 0xa3, 0xa4, 0xcf, + 0xcf, 0xc8, 0xdf, 0xd4, 0x8e, 0x9d, 0xdd, 0xcc, 0x7c, 0xab, 0xc3, 0xec, 0x9a, 0x6c, 0x2a, 0x4f, + 0x53, 0x98, 0x57, 0x4a, 0x94, 0x95, 0x86, 0xd1, 0x57, 0x68, 0x3b, 0xc7, 0x44, 0x18, 0x3f, 0x15, + 0x66, 0x95, 0xfc, 0xd9, 0x19, 0xe9, 0x86, 0x08, 0x1b, 0x0e, 0xf2, 0x74, 0x5c, 0xb5, 0x1a, 0x1b, + 0x71, 0x44, 0xdc, 0x8b, 0xb0, 0xd5, 0xe8, 0x10, 0x5a, 0x0a, 0xd2, 0x74, 0x36, 0xf8, 0xec, 0x8b, + 0x33, 0x52, 0x2b, 0x76, 0xb2, 0x1d, 0x22, 0xc8, 0xfc, 0xeb, 0x84, 0x4d, 0x22, 0x3c, 0x89, 0x49, + 0x9f, 0x6b, 0x54, 0xcc, 0x93, 0xfe, 0x0f, 0x1a, 0x75, 0x67, 0xf3, 0x77, 0x56, 0xf5, 0xed, 0x53, + 0xa6, 0x6b, 0xdf, 0x7f, 0xa2, 0x00, 0x47, 0xde, 0xee, 0x50, 0x02, 0xaa, 0x73, 0x36, 0x79, 0xda, + 0x37, 0xe0, 0x51, 0x4e, 0xc1, 0xa6, 0x84, 0x72, 0xbf, 0xc7, 0x47, 0xe8, 0x6e, 0x8d, 0x02, 0x45, + 0x00, 0xf3, 0xf3, 0x1b, 0xc4, 0x73, 0xbf, 0x61, 0xa4, 0xf9, 0x93, 0x2d, 0xd4, 0x8c, 0x0f, 0xeb, + 0x1d, 0x20, 0x98, 0x6d, 0x91, 0x1e, 0x0f, 0x52, 0xaa, 0xe1, 0xd9, 0x31, 0xfc, 0x8e, 0xa3, 0x41, + 0xa8, 0x3c, 0x9c, 0x84, 0x0c, 0x11, 0xcc, 0x1e, 0xd4, 0xdf, 0x37, 0x3f, 0x21, 0x70, 0xe1, 0xd8, + 0x95, 0xee, 0xae, 0x2a, 0xe3, 0x38, 0x13, 0xa1, 0x25, 0xa6, 0x9f, 0x25, 0x07, 0x6b, 0x4b, 0x86, + 0xda, 0x5c, 0x1e, 0x75, 0xa3, 0x8d, 0xd9, 0x66, 0x9b, 0xff, 0x08, 0x8f, 0xb0, 0x94, 0xaa, 0x5d, + 0xf9, 0xae, 0xfa, 0xf1, 0x30, 0xd3, 0x21, 0xdb, 0x68, 0xa7, 0x1a, 0xaf, 0x21, 0x79, 0xfe, 0x7b, + 0xf4, 0x7b, 0x86, 0xc2, 0xc6, 0x6a, 0xfc, 0xbf, 0x1a, 0x53, 0x08, 0xc9, 0x93, 0x5e, 0xb5, 0x7f, + 0x77, 0x5a, 0xf6, 0xa4, 0x76, 0x90, 0x41, 0x61, 0x37, 0x7e, 0x60, 0xcc, 0xe1, 0xfc, 0x9b, 0xb7, + 0xf1, 0x16, 0xbe, 0x63, 0xf3, 0x1f, 0xea, 0xf8, 0xb4, 0x48, 0xc4, 0x00, 0x1d, 0x4d, 0x15, 0xdb, + 0x53, 0x7b, 0xbb, 0x4c, 0x3d, 0x74, 0xf7, 0x0c, 0x73, 0x92, 0x7f, 0x63, 0x49, 0x9d, 0xd8, 0xfb, + 0xd8, 0xa5, 0x7a, 0xb8, 0x44, 0xde, 0xc8, 0xae, 0x92, 0x14, 0xb3, 0xfa, 0xd6, 0xb5, 0xc8, 0x19, + 0x56, 0xf5, 0x82, 0x31, 0x6f, 0xb9, 0x23, 0x4b, 0x73, 0xb4, 0xb8, 0xf4, 0x39, 0x0f, 0x3f, 0x92, + 0x5e, 0x44, 0x29, 0x94, 0x7e, 0x1d, 0x8e, 0x58, 0x57, 0x0f, 0xab, 0xa6, 0x66, 0x7d, 0x0c, 0x7b, + 0x98, 0xfe, 0x51, 0x4e, 0x55, 0x47, 0x84, 0x6f, 0xe4, 0x2b, 0x21, 0xca, 0x2f, 0x7f, 0xc9, 0xab, + 0x64, 0x64, 0xf6, 0xa0, 0x88, 0x2a, 0x26, 0x9e, 0x07, 0xc2, 0xde, 0xa5, 0x09, 0xc5, 0x68, 0xa1, + 0x4e, 0xd1, 0xbd, 0xa7, 0xad, 0x53, 0xd9, 0x35, 0x15, 0x75, 0x1f, 0x5a, 0x1d, 0x09, 0x76, 0x8c, + 0xbf, 0xf8, 0xe3, 0x3f, 0x35, 0x63, 0x71, 0x08, 0x56, 0x00, 0x2e, 0x9a, 0xf9, 0x00, 0xac, 0xc5, + 0x74, 0x67, 0x8f, 0x47, 0xca, 0x3d, 0xea, 0xdd, 0x48, 0x10, 0x98, 0x80, 0xf0, 0x62, 0xcc, 0x25, + 0x11, 0x33, 0xd7, 0xb3, 0xa6, 0x06, 0x17, 0x06, 0x3f, 0x6e, 0xf9, 0xf2, 0xcf, 0x63, 0x9e, 0x19, + 0x34, 0xf5, 0xf0, 0xaf, 0x27, 0xbd, 0xa9, 0x63, 0x2c, 0x13, 0xde, 0x3d, 0x2d, 0x5d, 0xed, 0xba, + 0xbe, 0x2a, 0x66, 0xd3, 0x06, 0x6b, 0x50, 0xfb, 0x0c, 0xb0, 0x7d, 0x16, 0x29, 0x7c, 0x0a, 0x35, + 0x24, 0xcf, 0xb1, 0x59, 0x35, 0x0b, 0x39, 0xb5, 0xf1, 0x55, 0x63, 0xce, 0x58, 0x01, 0x4c, 0x96, + 0x4c, 0x44, 0x0f, 0xa3, 0xa9, 0x0a, 0x29, 0x75, 0xf0, 0x11, 0xcd, 0x9f, 0xd8, 0x16, 0x0c, 0x9c, + 0xeb, 0x76, 0x99, 0xb2, 0xa2, 0x15, 0xf9, 0xad, 0x5b, 0x2b, 0x00, 0xfe, 0x00, 0x30, 0xd5, 0xd1, + 0x00, 0x72, 0x7e, 0x8f, 0xed, 0x6f, 0x68, 0x40, 0x23, 0x8f, 0x30, 0x03, 0x0f, 0xa7, 0x6e, 0x4c, + 0xa9, 0xe0, 0xb1, 0x72, 0x3c, 0x64, 0xdd, 0x54, 0xdb, 0x4b, 0x72, 0xe5, 0x06, 0x1e, 0x0b, 0xd1, + 0xf2, 0x8b, 0x33, 0xd5, 0x06, 0x8a, 0x4d, 0xdf, 0x74, 0x0f, 0xa3, 0x8f, 0xec, 0x4e, 0xe8, 0x9d, + 0x15, 0x28, 0x9c, 0x99, 0x76, 0xe4, 0x13, 0x73, 0x44, 0xea, 0x11, 0xba, 0xbd, 0xda, 0x91, 0xac, + 0x5d, 0x20, 0xd5, 0x26, 0xa2, 0x21, 0xc7, 0xa4, 0xc5, 0x76, 0xf5, 0x37, 0x9d, 0x95, 0xbf, 0x54, + 0x5a, 0xf4, 0x70, 0x42, 0x27, 0xfb, 0xb7, 0x1c, 0x42, 0x06, 0x09, 0x9d, 0xf3, 0x67, 0x3f, 0xce, + 0x9e, 0xb1, 0xb9, 0xf6, 0xab, 0xa2, 0x42, 0x9c, 0xa9, 0x4b, 0xa1, 0xbd, 0x05, 0x93, 0x10, 0x26, + 0x8e, 0x31, 0x7e, 0x6b, 0x3a, 0x81, 0x9d, 0xc2, 0x54, 0x95, 0xc4, 0x90, 0x10, 0x43, 0x3f, 0xe5, + 0x34, 0x94, 0xab, 0x2d, 0xb8, 0xff, 0x60, 0xe4, 0xcc, 0x3b, 0x7d, 0xfd, 0xc4, 0x3c, 0x06, 0x20, + 0xd8, 0x45, 0xa0, 0xfa, 0x27, 0x43, 0x5a, 0xc3, 0x34, 0x31, 0x5c, 0xa0, 0xd4, 0xf7, 0xb8, 0x97, + 0xe8, 0x7e, 0x3a, 0xe6, 0x07, 0xc1, 0xe3, 0xcf, 0x54, 0x9e, 0xa8, 0x19, 0x75, 0xfc, 0x7b, 0x14, + 0x05, 0xc8, 0x70, 0x1f, 0x76, 0x0b, 0x6c, 0x95, 0x0c, 0x9c, 0xb1, 0x6c, 0x23, 0x99, 0xfd, 0xa5, + 0xa1, 0xfb, 0xb4, 0x06, 0x2a, 0xfd, 0x01, 0xbc, 0x7c, 0x25, 0xca, 0x24, 0x83, 0x2f, 0xb5, 0xe3, + 0xbb, 0x66, 0x15, 0xcc, 0x48, 0x4b, 0xbb, 0x14, 0xb1, 0x34, 0x49, 0x3d, 0xc1, 0xce, 0x2c, 0xb8, + 0x19, 0x00, 0x64, 0xe3, 0x9f, 0x24, 0x3b, 0x77, 0xbb, 0x96, 0x4c, 0xd7, 0x6d, 0xce, 0x74, 0x67, + 0xcd, 0x19, 0x7e, 0x12, 0xdc, 0xf0, 0x0a, 0x6d, 0x12, 0xd7, 0xf0, 0x8a, 0xe0, 0x3e, 0x87, 0x06, + 0x4b, 0x28, 0xdc, 0x6c, 0x84, 0x2a, 0xd9, 0x53, 0xb8, 0x7e, 0xdc, 0xff, 0x75, 0xdb, 0xf7, 0xd1, + 0x86, 0x23, 0xb4, 0x5f, 0x25, 0x8b, 0xd3, 0xe9, 0xe1, 0x8b, 0x92, 0xe9, 0xda, 0xea, 0xca, 0xeb, + 0x4e, 0xe1, 0x37, 0x04, 0x9a, 0x76, 0x9e, 0x26, 0xa5, 0x8d, 0xb2, 0xaf, 0x6d, 0x54, 0x2f, 0xb3, + 0x19, 0xe0, 0xed, 0xdb, 0x61, 0xd7, 0xdd, 0x0d, 0xe6, 0x93, 0xc9, 0x93, 0x09, 0x55, 0x8c, 0xc8, + 0x7e, 0xe3, 0x08, 0x2d, 0x3b, 0x8d, 0x7d, 0x8e, 0x2d, 0xc4, 0x51, 0x5a, 0xb9, 0xf2, 0x20, 0x0e, + 0xd1, 0xdc, 0x2a, 0xa3, 0x3b, 0xa4, 0x62, 0x01, 0xce, 0x5d, 0xd8, 0xe2, 0x4f, 0x49, 0xea, 0xd6, + 0xd6, 0xef, 0xa7, 0x49, 0x84, 0xd4, 0x93, 0x89, 0xc7, 0x76, 0xa2, 0x7f, 0xe8, 0x4f, 0x26, 0x41, + 0x89, 0x26, 0xe6, 0xe5, 0xf3, 0x88, 0x2a, 0xb0, 0x4f, 0xbf, 0x69, 0x48, 0x3b, 0x46, 0xca, 0xd5, + 0x7e, 0xb1, 0x6f, 0x99, 0xc3, 0xc2, 0xa8, 0xed, 0x26, 0xf5, 0x48, 0x35, 0x9f, 0xac, 0x20, 0x33, + 0xbf, 0x8c, 0x0e, 0x3a, 0x2a, 0xb3, 0xf6, 0x41, 0x15, 0x1b, 0x50, 0x5f, 0x77, 0x34, 0xcf, 0x13, + 0x8d, 0x89, 0x3c, 0x65, 0x89, 0x77, 0x62, 0x1b, 0xfc, 0x65, 0x97, 0x05, 0xdd, 0x39, 0x00, 0x9e, + 0x2f, 0xa3, 0x4b, 0x4a, 0xe6, 0xd2, 0xe2, 0x71, 0x8f, 0xe7, 0xb2, 0x02, 0xc2, 0x6f, 0x03, 0x9c, + 0x17, 0x6f, 0x23, 0xdd, 0xd2, 0xb9, 0x54, 0x75, 0xea, 0xfa, 0xfb, 0x45, 0xd8, 0xb4, 0xe9, 0xf0, + 0x08, 0x75, 0xb9, 0x4b, 0xaa, 0x0e, 0xa8, 0x89, 0x2b, 0x20, 0x22, 0xf2, 0xcd, 0x16, 0x8c, 0x1f, + 0xa3, 0xd7, 0x38, 0xa9, 0xd7, 0x3b, 0x03, 0x71, 0x01, 0x08, 0x0c, 0xf3, 0x49, 0xe1, 0x08, 0x1e, + 0xaf, 0x29, 0xb8, 0xbd, 0x27, 0x44, 0x4a, 0x6f, 0x2a, 0x48, 0xde, 0xa6, 0x4a, 0x3c, 0xd3, 0x97, + 0x8a, 0x79, 0x8d, 0xee, 0x38, 0x67, 0xe6, 0x24, 0xce, 0x4d, 0x36, 0x14, 0x54, 0x28, 0x32, 0x2d, + 0xed, 0x74, 0xeb, 0x66, 0xc4, 0x2f, 0x1b, 0x2f, 0xf3, 0xf5, 0x2a, 0xe6, 0x47, 0xa1, 0x9a, 0x00, + 0x20, 0xde, 0x19, 0xfb, 0x4c, 0x53, 0x14, 0xde, 0x69, 0x7d, 0x9a, 0xbf, 0x0f, 0xa1, 0xcf, 0x98, + 0x93, 0x7b, 0xf4, 0x17, 0x53, 0x11, 0xf9, 0xbb, 0x1c, 0x5a, 0x67, 0xaa, 0x51, 0x48, 0xf5, 0xc1, + 0xa8, 0x77, 0x51, 0xaa, 0xc4, 0xba, 0xa0, 0xcc, 0x02, 0xfd, 0x21, 0x44, 0x44, 0xe5, 0xe0, 0x04, + 0x00, 0x67, 0xdc, 0x7d, 0x95, 0x30, 0xf8, 0x24, 0xa1, 0xa0, 0x80, 0x9b, 0x0f, 0xb1, 0x80, 0xac, + 0x1c, 0x82, 0x64, 0x51, 0x86, 0x6b, 0x43, 0xd6, 0xa6, 0xff, 0x6b, 0xf2, 0xa5, 0x77, 0x6b, 0xdb, + 0x55, 0xb8, 0x76, 0xc9, 0x9c, 0xf2, 0x1a, 0x90, 0x93, 0x3f, 0xa1, 0xce, 0x44, 0x07, 0x2c, 0x09, + 0x37, 0xde, 0x0c, 0x61, 0xc8, 0x2d, 0xa8, 0xf0, 0xbb, 0xa9, 0x74, 0xdf, 0xdd, 0x20, 0x74, 0xfe, + 0x43, 0xf4, 0xb0, 0x9d, 0xca, 0x59, 0x42, 0xd7, 0xf1, 0x90, 0xff, 0x6a, 0x4c, 0xfb, 0x7b, 0xfa, + 0xb1, 0x39, 0x14, 0x3b, 0xb7, 0x79, 0xfc, 0x0d, 0xa7, 0xbb, 0xe1, 0xab, 0x90, 0x6e, 0x94, 0x4b, + 0x6f, 0x40, 0x75, 0x22, 0xaf, 0xc7, 0x1d, 0xc5, 0xc2, 0x10, 0x6b, 0x4b, 0xe3, 0xa0, 0x31, 0x82, + 0x29, 0xc3, 0x79, 0x8e, 0xe8, 0x9a, 0xa9, 0x39, 0x89, 0x01, 0x7c, 0xa1, 0x37, 0x38, 0x4a, 0x0c, + 0xe3, 0x79, 0xe7, 0x86, 0xbc, 0xd1, 0x1d, 0xf4, 0x43, 0x7f, 0xb0, 0x49, 0x7a, 0x2e, 0x94, 0xd8, + 0xac, 0x61, 0x1f, 0x0e, 0x7d, 0x11, 0xc7, 0xea, 0x79, 0x02, 0x6b, 0xc4, 0xba, 0x67, 0x90, 0x94, + 0x90, 0xe6, 0x8c, 0x94, 0x03, 0xca, 0x02, 0x70, 0x8e, 0xb4, 0x70, 0x7f, 0xb0, 0xd9, 0x59, 0xad, + 0xe5, 0x91, 0x91, 0x8d, 0x42, 0x04, 0x25, 0xdb, 0x39, 0x7e, 0xba, 0xd7, 0x18, 0xf6, 0xff, 0xc8, + 0x97, 0xad, 0xe2, 0x78, 0x71, 0xb2, 0x33, 0x4f, 0xee, 0x97, 0xba, 0x02, 0xf1, 0x1f, 0x1d, 0x31, + 0xc9, 0xf7, 0x0c, 0x91, 0xb6, 0xac, 0x7e, 0x59, 0x22, 0xf9, 0x83, 0xd7, 0xf6, 0x67, 0x39, 0x68, + 0x16, 0xb0, 0x89, 0xca, 0x98, 0xcd, 0x67, 0xc9, 0x90, 0x30, 0x3a, 0xf2, 0xba, 0xe8, 0x2e, 0x24, + 0x20, 0x63, 0xc5, 0xb0, 0x59, 0xb9, 0x5d, 0x15, 0x5e, 0x6a, 0x93, 0xf9, 0x2a, 0x3c, 0x4e, 0x9b, + 0xd4, 0x1a, 0x5f, 0xeb, 0x92, 0x56, 0xec, 0x33, 0x4b, 0x69, 0x22, 0x62, 0x82, 0x9a, 0x15, 0x8a, + 0xd7, 0x79, 0xd6, 0x24, 0xe4, 0x66, 0x6a, 0x4e, 0xeb, 0x51, 0xb6, 0x18, 0x1a, 0xf5, 0xe1, 0x72, + 0xda, 0x70, 0xdc, 0xb4, 0x27, 0x1e, 0xac, 0x71, 0x8c, 0xeb, 0xfa, 0x83, 0x73, 0x5e, 0x62, 0x61, + 0xef, 0x29, 0x51, 0x1d, 0x02, 0xca, 0x04, 0xea, 0x16, 0x41, 0xd1, 0x21, 0x1e, 0xcb, 0xb6, 0xea, + 0x3b, 0x9d, 0xe3, 0x58, 0x78, 0x33, 0x28, 0x82, 0x7d, 0x77, 0xad, 0x01, 0x45, 0x2f, 0x57, 0xb4, + 0xd6, 0x93, 0x71, 0xfd, 0x80, 0xed, 0xb7, 0x68, 0xff, 0x2c, 0xd1, 0x86, 0x4d, 0xb6, 0x7f, 0x31, + 0x33, 0xd5, 0x09, 0x04, 0x6c, 0x6e, 0x1d, 0x8b, 0xa4, 0xf2, 0x02, 0x5b, 0x77, 0x9e, 0x13, 0x2e, + 0x14, 0x69, 0x64, 0xf2, 0xa3, 0x0e, 0xa6, 0x1b, 0x5c, 0xb5, 0x93, 0x79, 0xc6, 0xd0, 0x7a, 0xf3, + 0x9a, 0x23, 0x0a, 0x65, 0x09, 0x91, 0x5e, 0x7d, 0xe9, 0xe1, 0x96, 0xe3, 0x26, 0x5c, 0xde, 0x14, + 0xc2, 0x63, 0xa4, 0xa4, 0x71, 0xe5, 0xd6, 0x75, 0x08, 0x2d, 0xb9, 0x22, 0x3e, 0xe7, 0x89, 0xb7, + 0x0a, 0x95, 0x47, 0x64, 0x51, 0x65, 0x6f, 0xb6, 0xc1, 0xb8, 0xaf, 0x0b, 0x6b, 0x2c, 0x17, 0x1d, + 0xe3, 0x8c, 0x54, 0x5b, 0xab, 0xc9, 0xec, 0xa9, 0x84, 0xb9, 0x85, 0x35, 0xac, 0x11, 0x29, 0x18, + 0x90, 0xdc, 0x1e, 0x50, 0x1c, 0x45, 0x7c, 0xbf, 0xc6, 0xee, 0x36, 0xf6, 0x12, 0xec, 0x6f, 0x67, + 0xa0, 0xcf, 0x29, 0x5f, 0x2d, 0x6a, 0x1c, 0xe7, 0x29, 0x2a, 0x67, 0x9f, 0x18, 0x8b, 0x72, 0xe8, + 0x5f, 0xda, 0xec, 0x2d, 0xd9, 0x22, 0xed, 0x39, 0xbe, 0xde, 0x08, 0x3c, 0x83, 0xf0, 0xa6, 0x70, + 0x86, 0xd4, 0xe8, 0x0e, 0x9f, 0x4b, 0x8d, 0x9b, 0x55, 0x32, 0x56, 0xb6, 0xd9, 0xbd, 0x39, 0x9d, + 0xe1, 0xec, 0x21, 0x60, 0xa0, 0x37, 0xed, 0x9d, 0x6c, 0x93, 0x66, 0x22, 0xbd, 0xec, 0x43, 0x1d, + 0xa3, 0x50, 0x39, 0x5b, 0x82, 0x7a, 0x69, 0x1f, 0x00, 0x94, 0x36, 0xb9, 0x51, 0xac, 0xf2, 0x50, + 0x17, 0xf6, 0x55, 0xc5, 0xcd, 0x7a, 0x9e, 0x4d, 0x6d, 0xce, 0x23, 0x05, 0x22, 0xf8, 0xf7, 0x98, + 0xb3, 0xb0, 0xc0, 0x5a, 0x6c, 0x4b, 0xce, 0xf7, 0x9f, 0x9a, 0x0b, 0xa9, 0x69, 0xa7, 0x43, 0xc9, + 0x4e, 0xf6, 0xe4, 0xc7, 0xa3, 0x61, 0x23, 0x81, 0x93, 0x79, 0x16, 0xda, 0x79, 0xf9, 0x08, 0xa8, + 0xcd, 0x4c, 0x14, 0xab, 0xf1, 0x3e, 0x10, 0x38, 0x77, 0x1a, 0xff, 0x0e, 0xd4, 0x14, 0x6b, 0x46, + 0x08, 0xaa, 0x3d, 0x47, 0x97, 0x4b, 0xb8, 0x93, 0xdd, 0xcb, 0xd7, 0xf7, 0xe9, 0x6b, 0x03, 0xed, + 0x4a, 0x79, 0xd8, 0x9b, 0xe8, 0x48, 0x13, 0x66, 0xfa, 0x40, 0xac, 0xaa, 0x79, 0x31, 0x5b, 0x2c, + 0x52, 0xdd, 0x5f, 0x40, 0x7b, 0x49, 0x7b, 0xf7, 0x03, 0x2a, 0x56, 0x82, 0x9a, 0x89, 0x52, 0x14, + 0xb9, 0x02, 0x22, 0x5c, 0xd3, 0xa2, 0x8e, 0x1b, 0x48, 0x13, 0x96, 0xa0, 0x95, 0x32, 0xc9, 0xe7, + 0xbc, 0xba, 0x5f, 0xd4, 0x30, 0x39, 0xd9, 0xa5, 0x8e, 0x48, 0x8f, 0x42, 0xcb, 0x18, 0xef, 0xcf, + 0x5a, 0xc5, 0x2f, 0x71, 0xc7, 0x43, 0x00, 0x99, 0xd2, 0xeb, 0xe5, 0x58, 0x92, 0xce, 0xda, 0xa7, + 0xab, 0x48, 0x1e, 0x4a, 0xa2, 0x60, 0x12, 0x39, 0x3d, 0x6a, 0x57, 0xb0, 0x4f, 0x38, 0x4f, 0x36, + 0x93, 0x09, 0x49, 0x8f, 0x2c, 0x3e, 0x60, 0xd0, 0x8f, 0x33, 0x30, 0xf4, 0x93, 0x40, 0x72, 0xaf, + 0x4f, 0x77, 0xf7, 0x13, 0x06, 0xde, 0x04, 0xee, 0xa1, 0xaf, 0xfa, 0xb3, 0xa5, 0x9c, 0x7e, 0xc8, + 0xad, 0x9c, 0x16, 0x91, 0x94, 0xb9, 0x6e, 0x47, 0xb2, 0xfe, 0x3a, 0x09, 0x73, 0x62, 0x1e, 0xd5, + 0xa2, 0x4a, 0xc5, 0x3c, 0xc8, 0x83, 0x19, 0xd9, 0xe6, 0x99, 0x94, 0x5f, 0x30, 0xed, 0x63, 0xcf, + 0x13, 0xc6, 0x55, 0xc8, 0xc7, 0x5f, 0xb9, 0x5e, 0x4f, 0xe2, 0xfb, 0xb3, 0x47, 0x8b, 0xee, 0xd8, + 0xc3, 0xf7, 0x0c, 0x68, 0xfa, 0x14, 0x66, 0x71, 0x46, 0xa0, 0x66, 0x6b, 0xde, 0xaa, 0xf0, 0xc1, + 0x8b, 0xdd, 0xe1, 0xc1, 0xd0, 0xd7, 0xe9, 0x62, 0xc0, 0xbc, 0x8e, 0xf0, 0x65, 0xcf, 0x39, 0x54, + 0x61, 0x75, 0xb7, 0xe7, 0x6e, 0x3d, 0x0c, 0xb6, 0x48, 0x13, 0x6a, 0xba, 0x5e, 0x42, 0x69, 0x53, + 0x0d, 0x62, 0xbb, 0xb2, 0x18, 0x83, 0x6c, 0x40, 0xfc, 0x01, 0x8f, 0xa0, 0x10, 0xbb, 0x45, 0x4c, + 0x74, 0xbe, 0x53, 0x91, 0xbf, 0x22, 0x5c, 0x3b, 0x62, 0x60, 0x1a, 0xa0, 0xe2, 0x73, 0x89, 0x83, + 0xa3, 0xc4, 0x6a, 0xcf, 0x3a, 0x3b, 0x98, 0xca, 0x70, 0xe5, 0xfe, 0x71, 0xad, 0x0b, 0x2b, 0x4c, + 0xc6, 0x0e, 0xb7, 0x3e, 0x20, 0x70, 0x52, 0x98, 0x2e, 0x39, 0xcc, 0x72, 0xfe, 0x99, 0x08, 0x7c, + 0xfa, 0x46, 0x05, 0x46, 0x30, 0xbd, 0x20, 0x69, 0x3b, 0x7e, 0x64, 0x83, 0x90, 0xce, 0x81, 0x52, + 0x51, 0xb1, 0x13, 0xff, 0x5b, 0x4e, 0x73, 0xec, 0x4b, 0x9a, 0xdd, 0xe8, 0x8f, 0xce, 0x57, 0x5f, + 0x6f, 0x5a, 0xe5, 0xbc, 0xda, 0x7c, 0xe1, 0x6a, 0x7f, 0x08, 0x09, 0xb0, 0x6f, 0x8e, 0x44, 0x72, + 0x36, 0xbc, 0x98, 0x66, 0xaf, 0xfb, 0xc1, 0xdd, 0x81, 0x40, 0x1e, 0xe1, 0x15, 0x9a, 0x2e, 0x04, + 0x24, 0xd3, 0x0a, 0x55, 0xf0, 0x00, 0x6d, 0x53, 0xd2, 0x7b, 0x73, 0x9e, 0x23, 0x5b, 0x0f, 0xf5, + 0xd8, 0x5a, 0x06, 0xa0, 0x02, 0xe7, 0x74, 0xf9, 0x56, 0x16, 0x6c, 0xd3, 0xee, 0xbb, 0xa6, 0x96, + 0x4f, 0xd9, 0xe5, 0x0e, 0x98, 0xe7, 0x0f, 0xf6, 0xa0, 0xd5, 0xee, 0x27, 0x3c, 0xa0, 0xff, 0x81, + 0xf9, 0xc0, 0xf6, 0xa7, 0x79, 0x1f, 0x9f, 0x7f, 0x6a, 0x7b, 0x97, 0x9a, 0x84, 0x14, 0xe1, 0x82, + 0xb7, 0xfc, 0x6c, 0x13, 0x85, 0xd0, 0x67, 0x25, 0xa3, 0x57, 0x0d, 0x53, 0x69, 0xe6, 0x6b, 0x36, + 0xe4, 0x25, 0xe2, 0x33, 0xc7, 0x90, 0x15, 0x67, 0x3a, 0xef, 0xe6, 0x72, 0x3e, 0xdf, 0xad, 0x11, + 0x51, 0x2e, 0x98, 0xc7, 0x79, 0x18, 0x59, 0x19, 0x7a, 0xd2, 0xbb, 0xfa, 0x10, 0x46, 0xec, 0x07, + 0xeb, 0x38, 0x78, 0x69, 0x9c, 0x9a, 0xf9, 0x15, 0x11, 0xcd, 0xb1, 0xa9, 0x58, 0x83, 0x96, 0x05, + 0x5c, 0x71, 0xab, 0x00, 0xfe, 0x2b, 0x26, 0x61, 0xb3, 0x36, 0x65, 0x08, 0xab, 0x21, 0x1b, 0xaa, + 0x44, 0x3a, 0x63, 0x8d, 0xbd, 0x54, 0xa8, 0x0f, 0x14, 0x8f, 0x73, 0xde, 0x32, 0x99, 0xec, 0x9a, + 0x6f, 0xe3, 0xc4, 0x21, 0x63, 0xad, 0x56, 0x02, 0x55, 0x36, 0x3e, 0xb4, 0x7f, 0xd3, 0x07, 0x18, + 0xc5, 0xdb, 0x40, 0xb2, 0xe7, 0xaa, 0x81, 0x92, 0x4c, 0x27, 0x02, 0x38, 0x3d, 0x65, 0x0f, 0xc8, + 0xfb, 0x66, 0x87, 0x22, 0xd1, 0xc6, 0x07, 0xf6, 0x46, 0x43, 0xfb, 0xad, 0xd0, 0x4e, 0xdb, 0xde, + 0xe3, 0x4c, 0x9d, 0x22, 0x3c, 0x52, 0x30, 0xab, 0x5e, 0xee, 0x75, 0x0b, 0x26, 0x75, 0x16, 0x3f, + 0x94, 0xb3, 0xa5, 0x59, 0x4d, 0xd4, 0x4a, 0xb0, 0x84, 0xb0, 0x35, 0x85, 0xa5, 0x54, 0xbd, 0xe7, + 0x1b, 0xf6, 0x5d, 0x82, 0x53, 0xf2, 0xa9, 0x90, 0x15, 0x52, 0x5c, 0x8f, 0xf4, 0xe7, 0xa7, 0xe0, + 0xc1, 0x58, 0x31, 0xe2, 0xe2, 0x7d, 0xc6, 0x5c, 0x58, 0x08, 0x36, 0xbf, 0x60, 0xd5, 0x26, 0x22, + 0x57, 0x51, 0x15, 0xbb, 0x2b, 0xe6, 0xb0, 0x7b, 0x19, 0x6a, 0xa6, 0x7d, 0x5e, 0x26, 0x6a, 0x97, + 0x71, 0x7c, 0x25, 0x69, 0x5c, 0x17, 0x82, 0x34, 0xbe, 0x1f, 0x0a, 0x08, 0xc1, 0xd4, 0x25, 0x0c, + 0x6d, 0x40, 0xbb, 0xdb, 0x7e, 0xe3, 0x1e, 0xfa, 0x37, 0x95, 0xd9, 0x71, 0x24, 0x51, 0x56, 0x10, + 0xb5, 0x1d, 0x4f, 0xa3, 0xc5, 0xa4, 0xf6, 0x1f, 0xa4, 0x48, 0x0f, 0x5b, 0x36, 0x4a, 0x3a, 0x9d, + 0xbc, 0xf9, 0xc2, 0x8f, 0xaa, 0x2c, 0x28, 0x49, 0x09, 0xf6, 0x0e, 0x0f, 0xfa, 0x29, 0x0b, 0xd3, + 0x95, 0x67, 0x57, 0x42, 0xdd, 0xf9, 0x4c, 0xfa, 0x4b, 0x08, 0x7f, 0x95, 0x26, 0xc0, 0x2f, 0xd0, + 0x13, 0xd6, 0x8d, 0xf7, 0x9f, 0x1b, 0x49, 0x1e, 0xe9, 0xd1, 0xee, 0x3f, 0x22, 0x55, 0xd8, 0x57, + 0xc8, 0x01, 0x5f, 0x03, 0xe0, 0x49, 0xed, 0x90, 0x3f, 0x94, 0x68, 0x86, 0x77, 0x32, 0xa7, 0xcc, + 0x0d, 0xe8, 0x33, 0xe7, 0x3c, 0x7e, 0x67, 0x31, 0x60, 0x5f, 0xd6, 0x94, 0xfa, 0x42, 0x36, 0x23, + 0x77, 0x40, 0x66, 0x6a, 0x86, 0x64, 0xc8, 0x55, 0x03, 0x52, 0x0a, 0x9f, 0x98, 0x29, 0x3b, 0x15, + 0x3b, 0x4d, 0x06, 0x93, 0x36, 0x2b, 0x02, 0xee, 0x48, 0x70, 0xcc, 0x21, 0xb3, 0x25, 0xd7, 0x66, + 0xa3, 0xc2, 0x78, 0xa4, 0x45, 0x80, 0x0a, 0x68, 0x6d, 0x04, 0x6b, 0x1f, 0x78, 0x5f, 0xf7, 0xb0, + 0xfb, 0xc2, 0x4d, 0xe5, 0x16, 0x0c, 0xe8, 0xe7, 0xdb, 0xdd, 0xba, 0x39, 0xc4, 0x57, 0x50, 0x28, + 0xef, 0xe3, 0x28, 0xc7, 0x6d, 0x2e, 0x38, 0xb6, 0x0f, 0x15, 0xf7, 0xfb, 0xe7, 0xf2, 0x56, 0x95, + 0xa7, 0x67, 0xd6, 0x66, 0x10, 0xb8, 0x87, 0x60, 0xf3, 0xbe, 0xe8, 0x00, 0x36, 0x0c, 0xf4, 0x6b, + 0xce, 0x8c, 0xf5, 0x46, 0xad, 0x04, 0xf8, 0x81, 0x88, 0x4b, 0x7e, 0xf2, 0x1b, 0x33, 0x01, 0x62, + 0xa5, 0x24, 0x38, 0xac, 0xec, 0x78, 0xc2, 0x52, 0xec, 0xd4, 0x37, 0x59, 0xe9, 0x90, 0x68, 0x20, + 0xd7, 0x6c, 0x3b, 0xef, 0xae, 0x0a, 0x12, 0x7c, 0x5b, 0xd9, 0x8e, 0x3a, 0x5c, 0xac, 0xa4, 0x61, + 0x2b, 0x0c, 0x3b, 0x94, 0xfb, 0x19, 0x09, 0xfa, 0x94, 0x16, 0xb6, 0xf5, 0x44, 0xe5, 0xa2, 0x1b, + 0x2d, 0x51, 0x04, 0x58, 0x52, 0x2b, 0xa0, 0x17, 0x39, 0xca, 0x26, 0x37, 0x63, 0x16, 0x34, 0x7d, + 0x5e, 0xca, 0xb7, 0xa2, 0xa6, 0x79, 0xe8, 0x52, 0x54, 0x3c, 0xc5, 0x02, 0x94, 0xe9, 0x6e, 0x12, + 0xca, 0x45, 0x46, 0xa6, 0x1f, 0x02, 0x4c, 0x17, 0xcf, 0x6f, 0x72, 0x86, 0x56, 0x50, 0xc5, 0xbc, + 0xe3, 0x10, 0x34, 0xfe, 0x05, 0x01, 0x05, 0xa2, 0x30, 0xac, 0xc0, 0x1e, 0x1f, 0x7a, 0x29, 0x77, + 0xc9, 0xef, 0xbf, 0x06, 0x1e, 0x00, 0xa4, 0x65, 0x54, 0xd7, 0x98, 0x45, 0xb7, 0x95, 0xf5, 0x2c, + 0xa9, 0x68, 0x4d, 0x9d, 0x51, 0xfd, 0x97, 0xd7, 0xc4, 0xc7, 0x79, 0x3c, 0xe7, 0xe4, 0x03, 0x8f, + 0xdf, 0xbe, 0x3e, 0x0e, 0x6a, 0xe9, 0x9c, 0xbe, 0x7c, 0xcf, 0xbd, 0x2f, 0x9e, 0xab, 0x1d, 0xfa, + 0xb3, 0x2a, 0x27, 0x27, 0x3f, 0xa8, 0xee, 0xd9, 0xd6, 0xae, 0x81, 0x70, 0x5f, 0x88, 0x7a, 0x1a, + 0xe3, 0xa3, 0x8f, 0x36, 0xb6, 0xf0, 0xfc, 0x6e, 0xe8, 0x10, 0x51, 0x53, 0xc9, 0x90, 0x42, 0x04, + 0xb2, 0x9f, 0xae, 0xf5, 0xf8, 0x1b, 0x94, 0x28, 0xe3, 0x0e, 0x05, 0x15, 0xe2, 0x0b, 0xbd, 0xbd, + 0xa7, 0x86, 0xd4, 0x93, 0xa6, 0x6f, 0x85, 0x3b, 0x8b, 0xa8, 0x0c, 0x74, 0x5d, 0xe2, 0x08, 0xdf, + 0x35, 0x3d, 0xcd, 0x50, 0x49, 0xd0, 0x04, 0xb3, 0xd4, 0xb0, 0x58, 0x6b, 0xb0, 0xe0, 0x4e, 0x2d, + 0x3b, 0xb8, 0x35, 0x5a, 0xc0, 0x4e, 0xdb, 0xe1, 0xb3, 0x33, 0x6b, 0x7f, 0xfc, 0x7a, 0x76, 0x27, + 0x29, 0x6e, 0xa5, 0xc1, 0x9c, 0x61, 0xa5, 0xf7, 0xd7, 0x0c, 0x5f, 0x51, 0x66, 0xa6, 0x89, 0xce, + 0xae, 0x22, 0x6b, 0x73, 0x8e, 0xa2, 0x8b, 0x44, 0x92, 0x98, 0xb6, 0x20, 0xce, 0x2b, 0xd5, 0xeb, + 0x28, 0x85, 0xac, 0x8f, 0xee, 0xa7, 0x5b, 0x76, 0x00, 0x0b, 0x46, 0x4e, 0xc1, 0x7f, 0xb9, 0x86, + 0x59, 0x15, 0x7b, 0x38, 0x30, 0xe7, 0x03, 0xf9, 0xf4, 0x19, 0xf2, 0xf6, 0x8e, 0xcb, 0xe6, 0x44, + 0xec, 0x2c, 0xcc, 0x7b, 0x00, 0x1d, 0x6b, 0x18, 0x32, 0x95, 0xb3, 0xf5, 0x20, 0x41, 0x8c, 0xe6, + 0x12, 0xd7, 0x0c, 0x8e, 0xaf, 0x84, 0x29, 0x56, 0x9b, 0x1f, 0xe0, 0xb6, 0xa3, 0x42, 0xdb, 0xdb, + 0x88, 0xd5, 0x85, 0x5b, 0x78, 0x06, 0x21, 0xdb, 0x2b, 0x7d, 0x47, 0x7e, 0xe4, 0x74, 0x35, 0xf6, + 0xf3, 0x0f, 0x2c, 0x1d, 0xee, 0xae, 0xd4, 0xc2, 0x69, 0x65, 0x3e, 0xec, 0xb2, 0x98, 0xe1, 0x62, + 0x8a, 0xb9, 0x21, 0x41, 0x23, 0x58, 0x27, 0x3d, 0x16, 0x32, 0x73, 0xe5, 0x25, 0x28, 0xa3, 0x1d, + 0x9f, 0xb4, 0xbc, 0x0a, 0x26, 0x9b, 0x63, 0xb9, 0xef, 0x2c, 0xad, 0x61, 0xce, 0x84, 0x9f, 0x9d, + 0xfb, 0xa9, 0x58, 0xb8, 0x85, 0x30, 0xad, 0xf3, 0xad, 0x92, 0xcc, 0x49, 0x4c, 0x34, 0xb1, 0x0d, + 0xbf, 0xb1, 0xa6, 0xab, 0x16, 0x45, 0x66, 0x20, 0x9d, 0xb9, 0x02, 0x7d, 0xf7, 0xaa, 0x8f, 0x13, + 0x68, 0xd4, 0xab, 0xb9, 0x23, 0xcc, 0xeb, 0x8e, 0x40, 0x86, 0x31, 0x77, 0x39, 0xd0, 0xda, 0x14, + 0xbd, 0x5e, 0x80, 0xb6, 0x21, 0x0b, 0x54, 0x19, 0x24, 0x31, 0xcb, 0xb5, 0x76, 0x09, 0xe5, 0x97, + 0xc4, 0x88, 0xa9, 0x18, 0x16, 0x6d, 0x6d, 0xa6, 0x1a, 0x1a, 0x58, 0x76, 0x02, 0x27, 0x73, 0xc9, + 0xdc, 0x1b, 0xcd, 0x0f, 0xbe, 0xbc, 0x0e, 0x95, 0xa4, 0x00, 0x76, 0x87, 0xa1, 0xb3, 0x35, 0x26, + 0x79, 0x9c, 0x76, 0xd6, 0x64, 0x2b, 0x37, 0xec, 0xcc, 0x0f, 0xb5, 0x25, 0x59, 0xce, 0xa7, 0xf0, + 0x45, 0x60, 0xe0, 0x1b, 0xe9, 0xb9, 0x39, 0x00, 0xdc, 0x68, 0x3e, 0x91, 0x58, 0x86, 0x42, 0x34, + 0xee, 0xc2, 0xe8, 0xda, 0xb7, 0x1d, 0x24, 0xfa, 0x6a, 0x4a, 0xa9, 0xc7, 0x7b, 0x17, 0xdc, 0xc8, + 0xd9, 0xff, 0xfc, 0x86, 0xbf, 0x81, 0xa4, 0x82, 0x86, 0xb4, 0xc0, 0x98, 0x20, 0x16, 0x35, 0xa9, + 0xb2, 0xdf, 0xf3, 0x5a, 0x0e, 0xcf, 0x8c, 0x0a, 0xe3, 0x06, 0x56, 0x48, 0x5d, 0xce, 0xe2, 0x8f, + 0x97, 0x7e, 0x9e, 0x19, 0xa1, 0x23, 0x98, 0x2e, 0x6f, 0x86, 0xed, 0xdb, 0x91, 0xcc, 0xf8, 0x29, + 0xbf, 0xf1, 0x2c, 0x70, 0xb4, 0x84, 0x04, 0xfd, 0x21, 0x3b, 0xf4, 0xf7, 0x82, 0x6e, 0xb5, 0x9c, + 0xd0, 0x5e, 0xde, 0x8c, 0xb5, 0x52, 0xaf, 0xcd, 0xc4, 0x34, 0x5e, 0xb7, 0x2e, 0xfd, 0xe6, 0x1e, + 0x77, 0x78, 0xe5, 0x6f, 0xa5, 0x7c, 0x98, 0x4e, 0xbc, 0x11, 0xff, 0x03, 0xb0, 0x59, 0xc3, 0x76, + 0xf6, 0x14, 0x51, 0xa1, 0x5e, 0x20, 0x7f, 0xce, 0xaa, 0x52, 0x7e, 0x6e, 0xcb, 0xa8, 0xe8, 0xef, + 0x52, 0x4a, 0x38, 0xf2, 0x38, 0xfb, 0x4e, 0xdc, 0x9c, 0xd1, 0xdc, 0xb7, 0xf9, 0xf9, 0x43, 0x1f, + 0x56, 0x17, 0x18, 0x21, 0x0e, 0xee, 0xca, 0x9e, 0x8a, 0x01, 0x00, 0xbc, 0xcd, 0x66, 0x66, 0x61, + 0xee, 0xf9, 0x04, 0x84, 0x06, 0xf4, 0x8a, 0x8b, 0x0a, 0x36, 0xa6, 0x8f, 0xd1, 0xfa, 0x13, 0x5c, + 0x83, 0xd2, 0x6c, 0x4c, 0xdd, 0x14, 0x2d, 0xff, 0x07, 0xd0, 0x0b, 0x8d, 0x38, 0xc7, 0xd7, 0xbf, + 0x7d, 0x47, 0xfb, 0x27, 0x91, 0xdf, 0x5d, 0x35, 0x04, 0x73, 0x6f, 0x25, 0xea, 0x1f, 0xb3, 0x02, + 0xf8, 0x9e, 0x52, 0xce, 0xb8, 0xfc, 0x4b, 0x78, 0xa4, 0x3a, 0x36, 0x2a, 0x04, 0xe2, 0x7b, 0xfc, + 0xd7, 0x40, 0x37, 0xb2, 0xc1, 0x27, 0xd6, 0x57, 0x2b, 0x11, 0x24, 0x9b, 0xc3, 0x6d, 0x93, 0x30, + 0x84, 0x1e, 0xac, 0x47, 0x4c, 0x16, 0xa6, 0x76, 0x75, 0x5a, 0xa9, 0xb9, 0x12, 0x15, 0xe1, 0xa2, + 0xcc, 0xf3, 0xb1, 0xc3, 0xc9, 0xb1, 0xc9, 0x49, 0x90, 0x86, 0x14, 0x2a, 0x69, 0xc0, 0x3e, 0x3e, + 0xbb, 0x65, 0x69, 0x9e, 0x9a, 0x54, 0x19, 0xcd, 0x19, 0xa9, 0x10, 0x56, 0x73, 0xbb, 0x01, 0xd3, + 0x20, 0xa8, 0xe2, 0xbe, 0xf0, 0xdb, 0x2b, 0xc7, 0x33, 0x35, 0x30, 0xf1, 0xfb, 0x08, 0x61, 0x07, + 0x19, 0x5e, 0x76, 0x62, 0x19, 0x15, 0x4d, 0xc7, 0x52, 0xcd, 0xb7, 0x3a, 0xd5, 0xc4, 0x28, 0xae, + 0xdd, 0x64, 0x22, 0xab, 0x0f, 0xdf, 0x19, 0xd1, 0x1d, 0x68, 0xcd, 0xdc, 0x07, 0x5c, 0x79, 0xad, + 0x8c, 0xf1, 0x1e, 0x9e, 0x3d, 0x47, 0xa7, 0x2c, 0x23, 0xdd, 0x1b, 0x49, 0x8c, 0xaa, 0x3b, 0x6d, + 0x8a, 0xa3, 0x90, 0x17, 0x6c, 0x5c, 0x05, 0x86, 0x53, 0x33, 0x48, 0x07, 0x20, 0xa6, 0xfe, 0x72, + 0xd0, 0x90, 0x59, 0x82, 0xb8, 0x48, 0x58, 0x9d, 0x87, 0x17, 0xc2, 0x21, 0x29, 0x73, 0x8c, 0x2b, + 0x46, 0xb7, 0xe2, 0xc1, 0x10, 0x69, 0xa8, 0x5c, 0xc1, 0xfe, 0xa7, 0x2d, 0xce, 0x45, 0x85, 0x0a, + 0xb5, 0xd0, 0xce, 0x0e, 0xa1, 0xb0, 0x34, 0x36, 0x55, 0x65, 0x0a, 0x07, 0x0b, 0x59, 0x3d, 0x21, + 0x24, 0xf5, 0x73, 0x03, 0xde, 0xe7, 0xfa, 0x77, 0x88, 0xe2, 0x0a, 0x8a, 0xa8, 0x11, 0xe1, 0x8e, + 0x06, 0x27, 0xc7, 0x8a, 0x1d, 0x84, 0xd7, 0x05, 0xad, 0x7b, 0xe4, 0x73, 0xa5, 0xe3, 0x64, 0x5a, + 0x6d, 0x84, 0xfa, 0xd3, 0x35, 0x69, 0x44, 0x97, 0x29, 0x7d, 0xfd, 0x9d, 0x30, 0x5f, 0x7b, 0x5f, + 0xac, 0xe0, 0xeb, 0xbc, 0x81, 0x46, 0xc0, 0xc3, 0xc8, 0xbf, 0x03, 0x1c, 0xf9, 0xe1, 0x35, 0x3b, + 0xa3, 0x28, 0x06, 0xdb, 0xd1, 0x9d, 0xde, 0x4e, 0x6c, 0xf8, 0x01, 0xa4, 0x76, 0xcf, 0x98, 0x89, + 0x50, 0x3f, 0xf3, 0xab, 0xe9, 0xdd, 0x87, 0xbf, 0xd2, 0xd1, 0xce, 0xef, 0x98, 0x9a, 0xb3, 0x02, + 0x45, 0x75, 0x2a, 0x8a, 0x97, 0xaa, 0xea, 0x5d, 0x74, 0xdb, 0x51, 0x26, 0x37, 0xc0, 0xd7, 0x60, + 0xb3, 0x79, 0x7a, 0x11, 0xd2, 0x7b, 0xd7, 0xad, 0xc7, 0xfe, 0x3b, 0x7d, 0x91, 0x9f, 0xbc, 0x69, + 0x46, 0x7d, 0xdd, 0x3b, 0x0f, 0x2c, 0x8b, 0x0c, 0x94, 0xc5, 0xd2, 0x7e, 0x48, 0xc7, 0x51, 0xe1, + 0x87, 0xc8, 0xb8, 0x9d, 0x7c, 0x96, 0xa9, 0xb2, 0xf2, 0xe2, 0x3d, 0x16, 0xce, 0x1e, 0xd8, 0x78, + 0xa6, 0x9e, 0xdd, 0xed, 0x14, 0x68, 0x50, 0x1c, 0x69, 0xb2, 0x06, 0x98, 0x93, 0xb3, 0xcc, 0xf9, + 0xc1, 0xdb, 0x7a, 0xca, 0xd3, 0xa5, 0xe8, 0x06, 0x36, 0xa1, 0x70, 0x0a, 0x1a, 0x92, 0x50, 0xa0, + 0xb4, 0x99, 0x52, 0x5e, 0x67, 0x91, 0xa3, 0xcf, 0x95, 0xdf, 0xc5, 0xa1, 0xc4, 0xb8, 0x87, 0x37, + 0xc6, 0xff, 0x2b, 0xd9, 0xd2, 0x94, 0xe3, 0x95, 0xa0, 0xa0, 0x73, 0x69, 0x9b, 0x7a, 0x1e, 0x28, + 0xf2, 0xc4, 0x41, 0x3e, 0xd2, 0x76, 0x71, 0xdf, 0x95, 0x2a, 0xa9, 0x5e, 0x7a, 0x3d, 0x9f, 0xc6, + 0x28, 0x4c, 0xba, 0x8e, 0xc2, 0xf6, 0x83, 0x2d, 0x98, 0x50, 0x6d, 0x6b, 0x34, 0x23, 0x42, 0x4a, + 0x3d, 0xb7, 0xa7, 0x16, 0xdb, 0x1b, 0x0d, 0xbd, 0x67, 0x93, 0x70, 0xa4, 0x49, 0xf2, 0xec, 0x1c, + 0xf9, 0x51, 0x21, 0x42, 0x47, 0x6f, 0x32, 0x4d, 0xe1, 0x4f, 0xd3, 0x3c, 0xcc, 0xd3, 0x30, 0x87, + 0x5e, 0x11, 0x06, 0x9f, 0xc8, 0x02, 0x5e, 0xde, 0x3a, 0x79, 0x3d, 0x3a, 0x99, 0xb1, 0xbb, 0x57, + 0xe1, 0x6d, 0x0a, 0xc9, 0x01, 0x85, 0xd2, 0x61, 0xea, 0x84, 0x90, 0x0a, 0x3f, 0x9c, 0x52, 0x55, + 0xb5, 0x97, 0x73, 0x2f, 0x7b, 0x9a, 0x48, 0x33, 0x68, 0x7e, 0x55, 0x1e, 0x3c, 0x8c, 0x53, 0x5c, + 0x1f, 0x1d, 0xa1, 0xde, 0x1a, 0x86, 0x67, 0x80, 0x55, 0x7d, 0x6d, 0x23, 0xa4, 0x7a, 0x9f, 0xa1, + 0x02, 0x58, 0xe0, 0x4c, 0xc0, 0x9b, 0x36, 0x20, 0x14, 0xb3, 0x09, 0xa9, 0x49, 0x10, 0x65, 0x0c, + 0x0c, 0xac, 0xe3, 0xe4, 0x5e, 0xab, 0x57, 0x21, 0x2e, 0x37, 0xa4, 0x75, 0x32, 0xd2, 0xbb, 0xea, + 0x33, 0xfc, 0xf2, 0xb4, 0x4f, 0xbc, 0x53, 0x49, 0xff, 0x8f, 0xce, 0xd0, 0x8d, 0xf2, 0xfc, 0x5c, + 0xc6, 0x74, 0x32, 0xf2, 0xd2, 0xac, 0xe2, 0x5f, 0xbe, 0x9f, 0xfa, 0x6d, 0x15, 0x6e, 0x02, 0x88, + 0x7c, 0x76, 0xc3, 0xa8, 0xa0, 0xf5, 0x41, 0xc5, 0x5c, 0x7c, 0x8d, 0xae, 0x2b, 0x13, 0xfd, 0xfe, + 0x10, 0x89, 0xc3, 0xb6, 0x70, 0xa1, 0xff, 0x5b, 0x8c, 0x2f, 0x2e, 0x6f, 0xc7, 0x1d, 0x87, 0xcf, + 0x18, 0xc0, 0xb1, 0x52, 0x9a, 0x63, 0x74, 0xcc, 0x8c, 0x5f, 0x5f, 0x4b, 0xfd, 0x63, 0x98, 0x6d, + 0x48, 0x70, 0x75, 0x2f, 0xe7, 0x0c, 0x3f, 0x21, 0x50, 0x02, 0xd7, 0xab, 0xcb, 0xd0, 0x1b, 0x1a, + 0x5e, 0x1c, 0x9f, 0xf0, 0x59, 0x66, 0x9d, 0xaa, 0xa5, 0xe5, 0x2c, 0x3b, 0x58, 0xc9, 0xc6, 0x84, + 0x82, 0x84, 0x1e, 0xab, 0xc0, 0x7d, 0x92, 0x11, 0x6d, 0xa5, 0xa8, 0x2f, 0xb0, 0x0a, 0x70, 0x34, + 0x6f, 0xf9, 0x93, 0xb7, 0x94, 0xe1, 0x83, 0x47, 0xf2, 0x9c, 0x7e, 0x6d, 0x86, 0x7e, 0xe8, 0x68, + 0xf1, 0x85, 0xf0, 0x87, 0x9f, 0xb2, 0x68, 0x61, 0x46, 0x24, 0xd2, 0xc1, 0x11, 0x8a, 0xc5, 0x55, + 0x17, 0xbe, 0x70, 0xc9, 0xd7, 0xad, 0xbe, 0xee, 0x10, 0x01, 0x34, 0x4a, 0xd8, 0xc9, 0x57, 0x54, + 0x4d, 0x34, 0xa6, 0x39, 0x5a, 0x0e, 0x2a, 0x0a, 0x20, 0xef, 0x9b, 0x8a, 0x7e, 0xf0, 0x3b, 0x64, + 0xb1, 0x52, 0x13, 0x76, 0x1c, 0x7a, 0x5a, 0x57, 0x9c, 0x80, 0xfe, 0xe7, 0xbf, 0x05, 0x4e, 0x58, + 0xa4, 0xfc, 0x58, 0xd7, 0x29, 0x9f, 0x8c, 0xca, 0x17, 0xa7, 0x0d, 0x54, 0xef, 0xca, 0x01, 0x76, + 0x5b, 0xe9, 0x1c, 0x44, 0xea, 0x41, 0x85, 0x24, 0x4d, 0xb8, 0x84, 0xe2, 0x4d, 0x60, 0xbb, 0x05, + 0xe2, 0x20, 0xca, 0x4e, 0x3a, 0x08, 0xee, 0xcf, 0x63, 0xef, 0x6a, 0x49, 0xab, 0x97, 0x43, 0xca, + 0x77, 0x67, 0x82, 0x08, 0xe6, 0xff, 0x8a, 0x56, 0xaf, 0x01, 0x5f, 0x15, 0xc5, 0x57, 0xac, 0xa6, + 0xf6, 0x1f, 0xee, 0x56, 0x54, 0xc2, 0x1d, 0x8c, 0xf8, 0xfe, 0xc9, 0x1d, 0x45, 0x36, 0xe5, 0xfe, + 0x0b, 0xa4, 0xaa, 0x79, 0xa3, 0xbc, 0x0f, 0x1c, 0xa4, 0xac, 0xa6, 0xa8, 0x03, 0x73, 0xd8, 0x46, + 0xda, 0xcd, 0xb6, 0x73, 0xa9, 0xb6, 0x0c, 0x11, 0xfb, 0x37, 0xa0, 0x50, 0xa4, 0xf7, 0xd5, 0xea, + 0xeb, 0x99, 0x4d, 0xa9, 0xaf, 0x29, 0xe7, 0xb9, 0xdc, 0x2d, 0x6b, 0x59, 0xeb, 0xea, 0x4d, 0x4d, + 0x8b, 0xea, 0x64, 0x7e, 0xd5, 0x76, 0xc1, 0x64, 0xe4, 0x33, 0x86, 0xf8, 0x91, 0x3d, 0x63, 0xde, + 0x01, 0xa0, 0x2f, 0x86, 0xff, 0x22, 0x96, 0x77, 0xcd, 0xd3, 0xb4, 0x25, 0x9f, 0x2e, 0x6f, 0xa0, + 0x24, 0x88, 0x5d, 0x1b, 0xda, 0x70, 0x41, 0x9b, 0x1d, 0x01, 0x5d, 0x17, 0x16, 0x78, 0x56, 0xaa, + 0x77, 0xba, 0xc4, 0x1b, 0xf2, 0x7a, 0x03, 0x83, 0x08, 0x9f, 0x4a, 0x9e, 0xcd, 0xe0, 0x77, 0x58, + 0xd0, 0xc0, 0x83, 0xad, 0x4d, 0x12, 0xc2, 0x33, 0x18, 0x66, 0xd8, 0x05, 0x5f, 0x22, 0xbd, 0xe9, + 0xc8, 0x39, 0x03, 0x03, 0xa5, 0xc6, 0x04, 0x14, 0xb5, 0x76, 0xd1, 0x8a, 0x3f, 0xab, 0xd0, 0x90, + 0xc1, 0xfb, 0x83, 0xcd, 0x8d, 0x73, 0xe7, 0x13, 0xd0, 0xd0, 0xdf, 0xcc, 0xa5, 0x6f, 0xbc, 0x79, + 0x97, 0x0e, 0x45, 0x22, 0x97, 0x7d, 0xaf, 0x7a, 0x5d, 0x9f, 0xc7, 0x22, 0xec, 0xc5, 0xe9, 0x2a, + 0x0a, 0x3e, 0x36, 0x63, 0xb3, 0x6c, 0xf5, 0xf8, 0xe0, 0x8e, 0x47, 0x4b, 0x9f, 0x75, 0xa1, 0x8e, + 0xa9, 0x4c, 0x46, 0xa9, 0x1d, 0x92, 0xc7, 0x30, 0x04, 0x18, 0x3c, 0xa4, 0x5c, 0x12, 0xeb, 0x8b, + 0xfa, 0x8c, 0x04, 0x8d, 0xa1, 0x61, 0x2f, 0xe2, 0xda, 0x53, 0x6a, 0x4f, 0x62, 0xfb, 0x8d, 0x66, + 0x76, 0x7e, 0x86, 0xd2, 0x07, 0x9a, 0x6f, 0xd2, 0x1a, 0xb2, 0x4e, 0x98, 0xa3, 0x67, 0xd3, 0x94, + 0xa0, 0x63, 0x21, 0x15, 0x82, 0xca, 0xe2, 0x2d, 0x72, 0x5d, 0x5b, 0x62, 0x13, 0xee, 0x16, 0xfb, + 0x55, 0xbb, 0xa9, 0xa3, 0x9f, 0x20, 0xd7, 0xc9, 0x38, 0x31, 0x30, 0xcd, 0xcb, 0xff, 0x1b, 0x37, + 0xb5, 0xae, 0x6e, 0x1d, 0x36, 0xa1, 0x47, 0xae, 0xc5, 0x3d, 0x05, 0x9d, 0xa1, 0x2c, 0x02, 0x8f, + 0xe7, 0xf1, 0x13, 0x68, 0x54, 0x2f, 0xf3, 0xfa, 0xcc, 0xfc, 0x00, 0xcf, 0xc2, 0x53, 0x25, 0xd7, + 0xfe, 0x93, 0x36, 0xd3, 0x5f, 0xd1, 0xbf, 0x20, 0x07, 0xdd, 0xff, 0x4a, 0x94, 0x47, 0xef, 0x33, + 0x60, 0x53, 0xdb, 0x79, 0x32, 0xb2, 0xc4, 0x25, 0xe7, 0x5a, 0x16, 0xcc, 0x97, 0x11, 0x71, 0x74, + 0x45, 0x01, 0x43, 0x02, 0xe9, 0x65, 0xa6, 0xc6, 0x23, 0x2b, 0x2f, 0x5a, 0x4f, 0xcc, 0x90, 0x77, + 0xce, 0x05, 0xca, 0xe5, 0xe5, 0x3e, 0x32, 0x16, 0xe6, 0xc8, 0x5b, 0x96, 0x53, 0x0e, 0xec, 0x31, + 0x59, 0xba, 0x53, 0xdd, 0x8b, 0xf3, 0x79, 0x2a, 0xca, 0x5d, 0x6c, 0xa6, 0x7b, 0x15, 0xea, 0xc0, + 0x9a, 0x6e, 0xf9, 0xad, 0x1c, 0xe9, 0xa5, 0xe2, 0x51, 0x61, 0xf3, 0xcc, 0x5b, 0x12, 0xde, 0x47, + 0xdc, 0x84, 0x83, 0x25, 0xe3, 0x4d, 0x63, 0x10, 0xb8, 0xb7, 0xe0, 0x26, 0xb3, 0xad, 0xbf, 0x2d, + 0x83, 0xea, 0x4c, 0xf9, 0x78, 0x37, 0x29, 0xc6, 0xde, 0xa9, 0x99, 0xe8, 0x9a, 0xd0, 0x13, 0x7e, + 0xba, 0x3a, 0xa5, 0xdb, 0x35, 0xea, 0x72, 0xa4, 0x0c, 0xa9, 0x5a, 0x19, 0x03, 0x62, 0x3d, 0x42, + 0x44, 0x8c, 0x01, 0x7d, 0x79, 0x9a, 0xf8, 0x5b, 0x38, 0x0a, 0x9f, 0xb2, 0x38, 0x95, 0x48, 0x04, + 0x2a, 0x0e, 0x9e, 0x3e, 0xd6, 0x73, 0x00, 0xfc, 0x7f, 0xe0, 0xd7, 0x4f, 0x84, 0x9b, 0x00, 0xa8, + 0xb3, 0x9e, 0xa9, 0x64, 0xdc, 0xdb, 0x33, 0x2b, 0x5a, 0xa6, 0x63, 0x87, 0x21, 0x4f, 0xdf, 0x65, + 0x93, 0xc9, 0x81, 0xb1, 0x24, 0x1f, 0x26, 0x31, 0x64, 0x1a, 0xfe, 0xda, 0x46, 0x05, 0x5b, 0x12, + 0x9b, 0x67, 0x7a, 0xeb, 0xfe, 0x9e, 0x5b, 0xc5, 0x3c, 0x44, 0x11, 0xf0, 0x24, 0x7b, 0x66, 0xb4, + 0x91, 0x55, 0x52, 0x30, 0x15, 0x4c, 0x98, 0xac, 0xc9, 0x0b, 0x27, 0xab, 0x49, 0xe3, 0x2a, 0x68, + 0xf8, 0x73, 0x16, 0xcd, 0xcc, 0x07, 0x68, 0xb7, 0xb6, 0x10, 0x15, 0xc2, 0xed, 0xde, 0x76, 0x9b, + 0xdd, 0x79, 0x30, 0x67, 0xa3, 0x81, 0xee, 0x94, 0x88, 0x67, 0x6a, 0x8b, 0x0a, 0xf9, 0x30, 0x6e, + 0x34, 0xeb, 0x69, 0x3e, 0x26, 0xf2, 0x6d, 0x02, 0xd7, 0x3d, 0x49, 0x08, 0xe0, 0xd6, 0x8d, 0x6f, + 0xfa, 0x1e, 0xed, 0x19, 0xaf, 0xd8, 0xc9, 0x25, 0x51, 0xe6, 0x91, 0x8c, 0x3d, 0xb4, 0xd5, 0xa2, + 0x6f, 0x21, 0x43, 0x08, 0x81, 0xd9, 0x52, 0x5a, 0x54, 0x5c, 0xb9, 0xac, 0x52, 0xda, 0x7f, 0x58, + 0x29, 0x9c, 0x87, 0x17, 0xee, 0x1b, 0xfb, 0x5c, 0x15, 0xbc, 0x55, 0x18, 0x8d, 0x07, 0x76, 0xed, + 0x66, 0xf5, 0x5d, 0xd7, 0xc0, 0xa1, 0x90, 0x57, 0xb3, 0x3e, 0xd3, 0xd0, 0x45, 0x1f, 0x34, 0x45, + 0xe1, 0x5f, 0x7f, 0x49, 0xf6, 0x6d, 0xb6, 0xc1, 0x2f, 0x4e, 0x0d, 0x89, 0xbf, 0x26, 0xfb, 0x89, + 0x55, 0x56, 0x6f, 0xea, 0xcb, 0x5a, 0x86, 0x86, 0x98, 0xa2, 0x31, 0x8b, 0x39, 0xff, 0xee, 0x8a, + 0x8f, 0xd7, 0xe9, 0xdc, 0xbe, 0xe2, 0x92, 0xf4, 0x12, 0xd8, 0x45, 0xbb, 0xbe, 0x13, 0x6e, 0xda, + 0x27, 0x77, 0xae, 0x21, 0x05, 0xd2, 0x93, 0x54, 0xa1, 0x85, 0x8e, 0x46, 0xdd, 0xaf, 0x44, 0xd7, + 0x6e, 0x94, 0xde, 0xc2, 0x72, 0x04, 0x48, 0xca, 0x5b, 0x9b, 0x6e, 0x65, 0x90, 0x46, 0xc6, 0x9f, + 0xe6, 0xf9, 0x32, 0x2a, 0x95, 0x2f, 0x61, 0x74, 0xbb, 0x6e, 0x27, 0x22, 0x50, 0xab, 0xc8, 0xb0, + 0x41, 0x88, 0x8d, 0x3e, 0x8c, 0x72, 0x94, 0x01, 0x00, 0x36, 0xd0, 0xf6, 0x30, 0xde, 0xdd, 0xae, + 0xcd, 0xdb, 0xf4, 0x58, 0xe6, 0x86, 0x09, 0xba, 0x4b, 0x34, 0xb9, 0x00, 0xd9, 0x79, 0x87, 0xca, + 0x9a, 0x00, 0x68, 0xcf, 0x39, 0x18, 0xcc, 0x0f, 0x6d, 0xed, 0x38, 0xce, 0xb6, 0xfb, 0xfe, 0x97, + 0x2f, 0x26, 0x8e, 0xc8, 0x41, 0xa3, 0x62, 0x36, 0xf5, 0x28, 0xf0, 0x1b, 0x1c, 0x5f, 0x80, 0x76, + 0x9c, 0x75, 0x28, 0x59, 0x42, 0x3c, 0xbd, 0x6c, 0x3e, 0xbd, 0x6d, 0xb7, 0x11, 0x08, 0x7a, 0x08, + 0x58, 0xf2, 0x1d, 0x55, 0xf9, 0x31, 0xf9, 0x08, 0xbb, 0xe4, 0x77, 0x7e, 0xd2, 0xaf, 0xfa, 0x55, + 0x81, 0xba, 0xa2, 0xf4, 0xa1, 0xdd, 0x1a, 0x5e, 0x7b, 0xd7, 0x9c, 0xd0, 0x21, 0x43, 0xb3, 0x12, + 0xb6, 0x76, 0x30, 0xb9, 0xa3, 0xb9, 0x23, 0xfc, 0x24, 0x64, 0x52, 0x5c, 0xfc, 0xab, 0x57, 0x63, + 0x5e, 0xd7, 0xa7, 0x11, 0x26, 0xea, 0x7e, 0x2a, 0xaf, 0xc4, 0xd8, 0xe0, 0xd2, 0xb0, 0x8e, 0x83, + 0x97, 0x57, 0x2f, 0x1f, 0x18, 0xe6, 0xfb, 0x6e, 0xb1, 0x5a, 0x9a, 0x7a, 0x84, 0x63, 0xcb, 0x5e, + 0xe9, 0x18, 0xf8, 0xf1, 0xb3, 0x16, 0x0b, 0xe4, 0x8c, 0x1f, 0xa5, 0x83, 0x25, 0x2c, 0x96, 0x4d, + 0x69, 0x6d, 0x8c, 0x61, 0x35, 0xd6, 0xf9, 0x84, 0xe7, 0xf6, 0xcf, 0xfa, 0xf5, 0x0d, 0xf0, 0xf1, + 0xef, 0x5e, 0x91, 0x4f, 0x44, 0x78, 0xb0, 0x0d, 0x12, 0x7a, 0x5a, 0x0a, 0x84, 0x82, 0xbe, 0x41, + 0xc2, 0x48, 0x4f, 0xca, 0x14, 0x3d, 0xe2, 0x76, 0xf3, 0x82, 0x18, 0x5f, 0x6d, 0x7f, 0x1a, 0x8d, + 0x0d, 0x55, 0x63, 0xaa, 0x77, 0x58, 0xbe, 0x9c, 0xa2, 0xa4, 0x15, 0x76, 0x2d, 0x4f, 0x33, 0xfa, + 0x7f, 0xd6, 0xe3, 0xe9, 0x85, 0xbd, 0xf7, 0xd9, 0x87, 0x06, 0x23, 0x92, 0xdc, 0xc4, 0x60, 0xb6, + 0xba, 0xb2, 0x05, 0xa1, 0x11, 0x44, 0x3a, 0xde, 0x2d, 0x8f, 0x32, 0x9f, 0x16, 0x9b, 0x03, 0x12, + 0xa9, 0xe3, 0x40, 0x48, 0x3f, 0x2b, 0xa5, 0xb8, 0x52, 0x80, 0x31, 0x66, 0xe7, 0x3b, 0xb0, 0xe3, + 0xd9, 0xff, 0x93, 0x37, 0x34, 0xee, 0x54, 0x9a, 0x36, 0xaa, 0xa6, 0xfd, 0x4b, 0x24, 0x4e, 0x9e, + 0xb2, 0xab, 0xd9, 0x9f, 0xa5, 0xe4, 0x67, 0xe3, 0x1d, 0x8b, 0x70, 0xca, 0x58, 0x0c, 0x0c, 0x35, + 0x6d, 0x69, 0x97, 0xd1, 0xdc, 0xf7, 0x19, 0x3f, 0x05, 0x02, 0x78, 0xf4, 0x5f, 0xb0, 0x69, 0xa9, + 0xfc, 0xc3, 0xbf, 0xf3, 0x65, 0xbc, 0x98, 0x8f, 0x67, 0x3a, 0xfe, 0x6b, 0xf2, 0x98, 0xc8, 0x26, + 0x77, 0x00, 0x4d, 0xed, 0x8d, 0xd5, 0x57, 0x98, 0xb8, 0x87, 0x4f, 0x67, 0x11, 0xbf, 0xd6, 0x75, + 0x2c, 0x39, 0xd3, 0xd4, 0xb7, 0x2b, 0xa7, 0xb8, 0xbf, 0xa7, 0xd0, 0x40, 0xe4, 0x2f, 0x9c, 0x01, + 0xce, 0x28, 0x5d, 0xac, 0x3a, 0xde, 0x66, 0x82, 0xd7, 0xc6, 0xa2, 0xb1, 0xc3, 0x71, 0xab, 0xfe, + 0xc4, 0x8d, 0x17, 0xca, 0x32, 0x9c, 0xfc, 0xa4, 0x91, 0x70, 0xf3, 0xea, 0x82, 0x52, 0xaa, 0xc3, + 0x32, 0x13, 0x06, 0x06, 0xa0, 0xc4, 0x82, 0xed, 0xce, 0xff, 0x92, 0x1b, 0x91, 0xf4, 0x0f, 0x8c, + 0x2a, 0x97, 0xe2, 0x87, 0xdd, 0xfc, 0xd3, 0xb4, 0xda, 0xb6, 0x55, 0xa9, 0xf6, 0xb0, 0xb8, 0xfb, + 0x79, 0x54, 0x82, 0x79, 0x96, 0xf3, 0x7b, 0x8c, 0xe1, 0x0f, 0xca, 0x4c, 0xa7, 0x3b, 0xb8, 0xac, + 0x52, 0x3c, 0xb0, 0x81, 0x3c, 0x70, 0x88, 0x0e, 0x3e, 0x3c, 0xac, 0x7b, 0xc7, 0xfa, 0xbc, 0xa7, + 0x37, 0x56, 0x46, 0x80, 0xb0, 0x20, 0x3a, 0xfa, 0x4a, 0xeb, 0x68, 0x8e, 0x8f, 0xf9, 0xc5, 0xf2, + 0x4d, 0x4a, 0x4f, 0x93, 0x50, 0x84, 0xc9, 0xcb, 0x0d, 0x6c, 0x11, 0xf5, 0x51, 0x0f, 0xbc, 0x32, + 0xa4, 0x8d, 0x33, 0x2b, 0xe3, 0x6e, 0x0c, 0x5d, 0x73, 0x35, 0xd3, 0xf7, 0x61, 0x8f, 0x8a, 0x4c, + 0xdb, 0xfd, 0xe3, 0xbf, 0xcd, 0x7c, 0x2a, 0xbd, 0x42, 0xc2, 0x40, 0xcb, 0x04, 0xed, 0x08, 0xbb, + 0xc7, 0xd0, 0x94, 0x5d, 0x77, 0x2f, 0x84, 0xdc, 0xff, 0x89, 0xff, 0x39, 0x9d, 0x5c, 0x5d, 0x1e, + 0x16, 0xfe, 0xbc, 0xed, 0x5d, 0x31, 0xdf, 0xdf, 0xcd, 0xe5, 0xd1, 0x0b, 0x2c, 0x83, 0x5f, 0x9d, + 0xe4, 0xac, 0xb6, 0x2c, 0xa6, 0xfa, 0x4a, 0x0d, 0x16, 0xd2, 0x20, 0x94, 0xb5, 0x4d, 0xd6, 0x47, + 0x55, 0xb4, 0x65, 0x90, 0x3d, 0x89, 0x98, 0x1a, 0xbf, 0xd5, 0xbb, 0x3e, 0xce, 0xdb, 0xf3, 0x76, + 0x2b, 0x04, 0xa1, 0xd1, 0xf9, 0xd8, 0x03, 0x92, 0xaf, 0x50, 0x73, 0x6d, 0x43, 0x0e, 0x85, 0x34, + 0x5b, 0x68, 0x17, 0xd8, 0x1d, 0x26, 0xe4, 0x17, 0xe5, 0xb7, 0xa7, 0x64, 0x27, 0x69, 0xf6, 0xa3, + 0x95, 0x8f, 0xb8, 0x81, 0x17, 0x6f, 0xbf, 0x7b, 0x02, 0x92, 0x9e, 0x74, 0x60, 0x7c, 0x78, 0xc0, + 0x04, 0x94, 0x8c, 0xd2, 0x8c, 0xd1, 0xc3, 0xec, 0x07, 0xcb, 0x35, 0xaa, 0x47, 0x4b, 0x01, 0xdc, + 0x14, 0xc0, 0xba, 0xb6, 0x1e, 0xe5, 0x83, 0xee, 0xf4, 0x81, 0x12, 0xeb, 0x9c, 0x2d, 0x58, 0x4c, + 0x1f, 0xd8, 0x3e, 0x15, 0x0e, 0x78, 0xb4, 0x27, 0xf3, 0x1e, 0xc4, 0xbc, 0x8c, 0x20, 0xc7, 0x3e, + 0x55, 0xdb, 0x03, 0x9e, 0x32, 0x14, 0x44, 0xfd, 0xd6, 0xdc, 0xaf, 0x03, 0xc0, 0x2d, 0x33, 0x0a, + 0xf4, 0x27, 0x14, 0xdf, 0xa2, 0x47, 0x48, 0x1b, 0x69, 0xc3, 0x68, 0x0d, 0x1d, 0xaa, 0x03, 0x92, + 0x07, 0x9f, 0x9f, 0xe6, 0x0f, 0x95, 0xdc, 0xcb, 0x29, 0x0f, 0x50, 0x51, 0xb7, 0x04, 0x85, 0xe6, + 0x48, 0x54, 0x19, 0x90, 0x55, 0xcb, 0xc2, 0x39, 0xfd, 0x25, 0xf9, 0x4b, 0x7c, 0x6b, 0x76, 0x33, + 0x55, 0xb8, 0x38, 0xd6, 0x3b, 0x2e, 0x0b, 0xe0, 0x95, 0xe2, 0x44, 0x4d, 0x2e, 0xca, 0x48, 0x16, + 0x55, 0x4a, 0x31, 0xed, 0x7b, 0x00, 0xbe, 0x1d, 0x1f, 0x44, 0xdc, 0x15, 0xd2, 0xa7, 0xab, 0xae, + 0x67, 0xe1, 0x1b, 0x52, 0xd4, 0xc5, 0xca, 0x29, 0x8e, 0x87, 0x47, 0x4f, 0x0a, 0x8c, 0x35, 0xe8, + 0x34, 0x5b, 0x75, 0xf3, 0xde, 0xcc, 0x6b, 0x9c, 0xa7, 0x6f, 0xbf, 0x12, 0x7d, 0x62, 0x71, 0x04, + 0x9f, 0x66, 0x13, 0x4a, 0x19, 0x93, 0x43, 0x4c, 0x68, 0x4c, 0xf0, 0xf6, 0xab, 0x0b, 0xfb, 0xc1, + 0x76, 0x8f, 0x8f, 0xd9, 0x03, 0xa6, 0xdc, 0xad, 0x26, 0x8e, 0x6a, 0x5a, 0x0f, 0x3c, 0x4f, 0x07, + 0x9c, 0xd8, 0xdf, 0x97, 0xb8, 0x1c, 0xe1, 0x44, 0xd4, 0xcc, 0x98, 0x0a, 0xfc, 0xfd, 0x3a, 0x51, + 0xa3, 0xef, 0x47, 0xad, 0xd8, 0xfd, 0x85, 0xba, 0xe8, 0xab, 0xe1, 0xa6, 0xab, 0xd4, 0xc9, 0x9e, + 0x5e, 0x5e, 0xf6, 0xe2, 0x94, 0x20, 0x9d, 0xc9, 0x13, 0x39, 0xa0, 0xa2, 0xe9, 0x8c, 0x79, 0xa6, + 0xb2, 0xfd, 0x78, 0x9a, 0x9e, 0x97, 0x47, 0x3b, 0xb6, 0xc9, 0xd1, 0xee, 0x64, 0x81, 0xe3, 0x2c, + 0x40, 0x45, 0x93, 0x48, 0x4c, 0x6f, 0xb4, 0xac, 0x4f, 0x01, 0xa0, 0x6e, 0x36, 0x0d, 0x86, 0xf9, + 0x6a, 0xbc, 0x24, 0xc4, 0x0a, 0x77, 0x51, 0x94, 0xfd, 0x12, 0x58, 0xb9, 0xda, 0xa0, 0x8f, 0x91, + 0x32, 0x8a, 0x7f, 0xc1, 0x06, 0xd2, 0x40, 0xbb, 0x1c, 0x69, 0xc4, 0x2d, 0x96, 0x97, 0x72, 0x5c, + 0xf2, 0x02, 0x5d, 0x86, 0xc1, 0xf4, 0x34, 0x17, 0x54, 0xd4, 0x00, 0x27, 0xb2, 0x6a, 0x11, 0xf9, + 0x39, 0xf5, 0x9e, 0x41, 0x4c, 0x71, 0x2d, 0x7e, 0xc3, 0x81, 0x32, 0x20, 0x91, 0xf8, 0x7b, 0x09, + 0x52, 0xbc, 0x50, 0x9d, 0x36, 0xd9, 0x84, 0x46, 0xa7, 0x36, 0xfd, 0x93, 0x5c, 0x18, 0xba, 0x1b, + 0xbe, 0x50, 0x81, 0xfc, 0x7f, 0x30, 0xe7, 0x2c, 0x08, 0xe3, 0xab, 0x1b, 0x86, 0x72, 0x16, 0x5c, + 0x72, 0x83, 0x99, 0xc4, 0x8e, 0x21, 0x5b, 0x46, 0xf6, 0xa9, 0x64, 0xe0, 0x3b, 0xee, 0xff, 0x07, + 0xe2, 0x04, 0x70, 0x88, 0x6a, 0xda, 0x0b, 0x3d, 0xf1, 0xfa, 0x48, 0x2a, 0xf1, 0x1e, 0x32, 0xc2, + 0x4e, 0x33, 0x2c, 0x61, 0xbc, 0xf1, 0xa5, 0x8d, 0xe1, 0x15, 0xf1, 0x40, 0x33, 0x86, 0xaa, 0x19, + 0xf6, 0x3b, 0xdb, 0xc8, 0x19, 0xe8, 0xaf, 0x8e, 0xdb, 0xec, 0x6c, 0xb9, 0xdc, 0xb5, 0xed, 0xf4, + 0x6b, 0x75, 0x34, 0x68, 0x4e, 0xb0, 0xd1, 0x92, 0x3a, 0x2d, 0x65, 0xb1, 0x8f, 0xde, 0x91, 0x6f, + 0x17, 0x94, 0x9a, 0x96, 0x17, 0xee, 0xfe, 0xf7, 0x0f, 0x3b, 0xa1, 0x42, 0x64, 0xb4, 0xe2, 0xac, + 0x23, 0x34, 0x76, 0x54, 0x26, 0xf4, 0x21, 0xbd, 0xe1, 0x8f, 0xe6, 0x84, 0x89, 0x91, 0x9e, 0x31, + 0x9d, 0xb8, 0x91, 0xdf, 0xed, 0x76, 0x87, 0xe1, 0xc9, 0x08, 0x6d, 0x2d, 0x16, 0x0d, 0x8c, 0x13, + 0x01, 0x70, 0xe7, 0xe3, 0xe6, 0xc4, 0xde, 0xe7, 0xbe, 0x58, 0xc8, 0xe3, 0x4f, 0x88, 0x54, 0xf9, + 0x29, 0xe2, 0x5b, 0xd3, 0xc0, 0xaa, 0x65, 0x10, 0x5a, 0x67, 0x3e, 0x0f, 0x5c, 0x64, 0x53, 0xc6, + 0xeb, 0x2d, 0xbd, 0x30, 0xa2, 0x95, 0xcd, 0xe0, 0xd8, 0xad, 0xd1, 0x1b, 0xdf, 0x6e, 0x66, 0x7c, + 0x90, 0x2a, 0x6d, 0x5f, 0x02, 0x1e, 0xaa, 0x4b, 0xa9, 0x05, 0x4f, 0x52, 0xa1, 0xbf, 0x48, 0x81, + 0x92, 0x96, 0x6f, 0xeb, 0x92, 0xe7, 0x5a, 0x67, 0x42, 0xff, 0xc5, 0x0a, 0x67, 0x71, 0x17, 0xcf, + 0x58, 0x0e, 0xaf, 0xeb, 0x58, 0x1a, 0xfe, 0xb6, 0xbe, 0xb4, 0x2d, 0x9f, 0x4a, 0x62, 0x1e, 0x21, + 0x58, 0xff, 0x99, 0x84, 0xfc, 0x37, 0x99, 0xbb, 0x25, 0x7b, 0x62, 0xd1, 0x8e, 0xa4, 0x9e, 0xc5, + 0x16, 0xbb, 0xfb, 0xae, 0xe4, 0x0b, 0x4e, 0x00, 0xb5, 0x4c, 0x8f, 0xe0, 0x95, 0x45, 0xcc, 0x31, + 0x5a, 0xbb, 0x5c, 0xc7, 0x47, 0x2c, 0x17, 0xcc, 0x28, 0x8a, 0xf7, 0x06, 0x2f, 0x59, 0x27, 0xaf, + 0x98, 0x79, 0x82, 0x06, 0xe7, 0x20, 0x20, 0x12, 0x42, 0x24, 0x7a, 0x7f, 0x2d, 0xc3, 0x6a, 0x02, + 0xf7, 0xac, 0x9f, 0x68, 0xff, 0x02, 0x3d, 0xc5, 0x4e, 0x5d, 0x1b, 0x54, 0xc5, 0xc4, 0xab, 0x78, + 0xa1, 0xea, 0x81, 0xc2, 0x9a, 0xfd, 0x7d, 0xda, 0xdc, 0x3a, 0x30, 0x2c, 0x51, 0xb2, 0x03, 0x2b, + 0x15, 0x49, 0xcd, 0xd7, 0xf1, 0x06, 0xe8, 0x63, 0x22, 0x38, 0x4f, 0x09, 0xac, 0x9c, 0x60, 0xca, + 0xc1, 0xa7, 0x80, 0x93, 0x44, 0x9a, 0xc6, 0xc0, 0x55, 0xd0, 0xb9, 0x25, 0xc2, 0xbb, 0x4c, 0x05, + 0x18, 0xae, 0x59, 0xe1, 0xa7, 0x14, 0x13, 0x96, 0x22, 0x45, 0x5c, 0x86, 0x00, 0x97, 0x0d, 0x70, + 0x34, 0xb2, 0xe4, 0x22, 0x58, 0xe0, 0xe5, 0x05, 0xdd, 0xc3, 0x08, 0x5a, 0xa4, 0x57, 0x63, 0xca, + 0x12, 0x0e, 0xf3, 0x49, 0xbc, 0xf1, 0x01, 0xce, 0x5b, 0x67, 0x9b, 0xaf, 0x88, 0x62, 0x2c, 0x02, + 0xa6, 0xaf, 0x10, 0xef, 0x26, 0xeb, 0x35, 0xde, 0x69, 0xd2, 0x8a, 0x77, 0xe4, 0xd2, 0x0b, 0x17, + 0xbe, 0xcc, 0x48, 0xe8, 0x05, 0x98, 0xd7, 0x2f, 0xcf, 0xcf, 0xdf, 0x90, 0x6f, 0x79, 0x65, 0xf2, + 0xf9, 0x38, 0x62, 0x0d, 0xbf, 0x1f, 0x5b, 0xe8, 0xdc, 0x1e, 0x74, 0xf1, 0x3c, 0xbb, 0xec, 0x5b, + 0x75, 0xf0, 0x3e, 0x69, 0xc5, 0xf2, 0xde, 0x15, 0xe5, 0xe0, 0x31, 0xce, 0x94, 0xb5, 0x02, 0x39, + 0x69, 0x8a, 0x27, 0x0e, 0x98, 0xf5, 0xc6, 0x27, 0x84, 0xda, 0x4b, 0xe5, 0x86, 0xe8, 0x7e, 0x38, + 0x91, 0xcf, 0xda, 0x8a, 0x39, 0x21, 0x2e, 0x09, 0xc7, 0xe0, 0xf2, 0xdc, 0x04, 0x34, 0x39, 0x3b, + 0x97, 0xf4, 0x35, 0x05, 0xc7, 0x53, 0x93, 0x69, 0x3f, 0x46, 0x63, 0xb8, 0x41, 0x68, 0x4d, 0x5c, + 0xe3, 0x27, 0x60, 0xd4, 0x3e, 0x76, 0xc0, 0x60, 0x03, 0x4d, 0x81, 0x54, 0x95, 0xbe, 0x81, 0x03, + 0xa9, 0xb4, 0x6f, 0x02, 0x92, 0xa9, 0x0b, 0xd5, 0x3e, 0x2a, 0x4e, 0x05, 0x60, 0x1e, 0x80, 0x99, + 0xdd, 0x79, 0xb5, 0x78, 0xec, 0x7c, 0x3e, 0x9a, 0xa1, 0x25, 0xdc, 0x78, 0xaa, 0x9f, 0x2c, 0xbf, + 0x6c, 0x75, 0x28, 0xaf, 0xb1, 0x16, 0xd3, 0x75, 0xfb, 0xd7, 0x8f, 0x76, 0x49, 0xc4, 0x2f, 0x11, + 0xa9, 0xcc, 0x6d, 0x6a, 0x8d, 0xeb, 0xce, 0x40, 0x4a, 0xc0, 0xbc, 0xef, 0x4d, 0xd7, 0xde, 0x2f, + 0x1d, 0xc5, 0x00, 0x79, 0x55, 0x76, 0xeb, 0x78, 0x79, 0x42, 0x3d, 0x73, 0x2f, 0xf9, 0x7b, 0x6f, + 0x26, 0x04, 0xab, 0xc9, 0x45, 0x1d, 0xf2, 0xaf, 0x9b, 0xd7, 0x5c, 0x99, 0xad, 0xb3, 0x52, 0x0c, + 0x7e, 0xda, 0xf8, 0x33, 0x57, 0x19, 0x75, 0x94, 0x97, 0xbd, 0x2e, 0x9c, 0xd6, 0x79, 0xda, 0xd8, + 0x19, 0x04, 0x97, 0xdf, 0x92, 0x2c, 0xb4, 0x04, 0xbf, 0x3a, 0x1d, 0xd6, 0xa4, 0x59, 0x63, 0xfe, + 0x7e, 0x15, 0x0a, 0xa5, 0x88, 0xe3, 0xb0, 0x50, 0xae, 0x22, 0x6c, 0x19, 0x00, 0xda, 0x27, 0xb0, + 0x98, 0x2e, 0xb0, 0xb5, 0x7b, 0x80, 0x5e, 0xa4, 0x42, 0x43, 0x25, 0x2b, 0x33, 0xb1, 0xf9, 0x69, + 0x43, 0xdd, 0x19, 0x64, 0xcf, 0x54, 0x53, 0x80, 0xa3, 0x21, 0x1e, 0x0e, 0x7c, 0xda, 0xdf, 0x51, + 0x20, 0x96, 0x5f, 0x51, 0xe0, 0xa6, 0x96, 0xaf, 0xe6, 0xd5, 0x02, 0x77, 0x19, 0xe8, 0xc8, 0x6b, + 0x02, 0xe4, 0x79, 0x53, 0xe9, 0xaf, 0xfb, 0x1f, 0xc0, 0x05, 0x70, 0x59, 0x9e, 0x42, 0xda, 0x04, + 0x58, 0x61, 0x62, 0xe3, 0xb5, 0xa7, 0xa8, 0xd5, 0x7c, 0x90, 0x10, 0x60, 0x52, 0x77, 0x80, 0xe7, + 0x43, 0x56, 0x43, 0x75, 0x4d, 0x11, 0x0b, 0xc2, 0x10, 0x64, 0xc4, 0x36, 0xac, 0x33, 0x1a, 0x46, + 0x1e, 0xb0, 0xe8, 0x1e, 0x9a, 0x6b, 0x88, 0x45, 0x68, 0x92, 0x45, 0x9a, 0x2b, 0x65, 0x73, 0xdc, + 0x99, 0x22, 0xe4, 0x10, 0x4b, 0x7e, 0x30, 0x9d, 0x4c, 0x45, 0x5f, 0x7a, 0xa7, 0x15, 0x4e, 0x7c, + 0x55, 0xb2, 0xa0, 0xc3, 0xb2, 0x31, 0xfb, 0x40, 0x7f, 0xcd, 0xf0, 0x06, 0xa6, 0xf1, 0x77, 0xcc, + 0xf0, 0xe7, 0xc3, 0xd6, 0x3d, 0x1b, 0x19, 0x9b, 0x8e, 0x26, 0x08, 0x26, 0xd4, 0x36, 0xc9, 0x8b, + 0x66, 0x0f, 0x68, 0x4e, 0x1a, 0xec, 0x69, 0xfa, 0xd6, 0x36, 0x18, 0x9f, 0xe4, 0xa2, 0x17, 0xe7, + 0xad, 0xad, 0xdf, 0x65, 0xd3, 0x6c, 0x53, 0xdd, 0xef, 0x5d, 0x03, 0x2a, 0xfd, 0x6b, 0xa4, 0xc8, + 0x19, 0x7f, 0x91, 0x1d, 0xad, 0xf2, 0xc1, 0x3b, 0x09, 0x5e, 0x81, 0x76, 0x32, 0x16, 0x18, 0x8e, + 0xa0, 0x89, 0x27, 0x69, 0x02, 0x81, 0x35, 0xfe, 0x4f, 0x2d, 0x1a, 0x0f, 0x2e, 0x08, 0x66, 0xa8, + 0xf4, 0x01, 0xf3, 0x87, 0xec, 0x7e, 0xb8, 0x27, 0x24, 0x5f, 0xde, 0x8d, 0x71, 0xbf, 0x32, 0x6a, + 0x7e, 0x88, 0xc6, 0x05, 0x48, 0x71, 0x99, 0x38, 0x45, 0x8d, 0xa6, 0x28, 0xf9, 0xf9, 0x69, 0xa1, + 0xc6, 0xf7, 0xfc, 0xf3, 0x76, 0xe2, 0x60, 0x39, 0x2b, 0x33, 0x55, 0x74, 0xa5, 0x93, 0xaa, 0x50, + 0x01, 0x6e, 0xc5, 0xfe, 0x8a, 0x02, 0x1d, 0x64, 0xbe, 0x61, 0xa9, 0x08, 0x5b, 0x62, 0x28, 0x2e, + 0x99, 0xae, 0xed, 0x29, 0x26, 0x9a, 0x7c, 0x62, 0xd1, 0x7f, 0x0c, 0xec, 0xaf, 0xfc, 0x10, 0x35, + 0x01, 0x17, 0xfc, 0x02, 0x4d, 0xff, 0x8b, 0xb5, 0x96, 0xf0, 0x02, 0x09, 0x3c, 0xf5, 0x71, 0x82, + 0x60, 0xef, 0x4e, 0x04, 0xe9, 0x5d, 0x63, 0xc3, 0x89, 0x75, 0x82, 0x59, 0xe4, 0x6a, 0x69, 0x0a, + 0x30, 0x3c, 0x68, 0x01, 0x1f, 0xa5, 0x0a, 0xb9, 0xe0, 0xb6, 0x77, 0x12, 0xd5, 0x8f, 0xdc, 0x3f, + 0x8c, 0xb2, 0x00, 0xd4, 0x72, 0xa0, 0x30, 0xbb, 0x8b, 0xa7, 0xd7, 0xbd, 0x83, 0x8d, 0x2a, 0x6b, + 0x67, 0x7f, 0x17, 0x76, 0x4f, 0x27, 0x27, 0x82, 0x1d, 0x69, 0xc0, 0xc6, 0x0c, 0x81, 0x98, 0x27, + 0xe9, 0xf1, 0xac, 0xbf, 0x0d, 0x7d, 0x34, 0xf2, 0xfa, 0x58, 0xc2, 0xcc, 0x49, 0x0a, 0x95, 0x87, + 0x2e, 0xff, 0x01, 0x05, 0x46, 0x90, 0xbb, 0x6a, 0x7d, 0x53, 0x01, 0xf2, 0xcc, 0x05, 0x82, 0x0c, + 0x67, 0x1b, 0x20, 0xdf, 0x9d, 0x63, 0x84, 0xea, 0x31, 0x02, 0x99, 0x0c, 0x68, 0xfe, 0xfe, 0x81, + 0xdd, 0x78, 0x8c, 0xf7, 0x44, 0x73, 0x92, 0x47, 0x14, 0xd0, 0xb4, 0xc0, 0xb1, 0xd9, 0x34, 0xdd, + 0xb0, 0x0a, 0x59, 0xad, 0x47, 0x69, 0x23, 0x20, 0xde, 0x49, 0x54, 0x3a, 0x41, 0x60, 0x49, 0xf6, + 0x25, 0xb5, 0xfe, 0x35, 0xd6, 0x2a, 0x3e, 0x13, 0x45, 0x31, 0x18, 0x0f, 0x7d, 0x72, 0x68, 0x49, + 0x7b, 0xe8, 0x80, 0xa3, 0xd7, 0x2c, 0x18, 0xa6, 0xc7, 0x28, 0x7b, 0x12, 0x61, 0x27, 0x11, 0x50, + 0xa0, 0xa4, 0x8a, 0x53, 0x78, 0x89, 0x56, 0x6b, 0xaf, 0x98, 0x13, 0xcb, 0x26, 0x8b, 0x46, 0x1d, + 0x67, 0x67, 0xae, 0x22, 0xdb, 0x3f, 0x00, 0x1d, 0xab, 0x58, 0x72, 0x3d, 0x56, 0x76, 0xf1, 0x4d, + 0x73, 0x0c, 0x2b, 0xb7, 0x38, 0xbb, 0x0a, 0x67, 0x5f, 0xeb, 0x92, 0x35, 0x3b, 0xa8, 0x35, 0xe8, + 0x09, 0x39, 0x8d, 0x3c, 0x60, 0x58, 0xc9, 0xb0, 0x4e, 0xe3, 0xd6, 0xff, 0x55, 0xef, 0xee, 0x18, + 0xe7, 0x05, 0x16, 0xdd, 0x0b, 0xb3, 0x5d, 0x26, 0x82, 0xa9, 0xa5, 0xb4, 0x1f, 0x25, 0x48, 0x1a, + 0x4b, 0x49, 0x41, 0x97, 0xa9, 0xe9, 0x97, 0xb6, 0x23, 0x9e, 0xdf, 0x6c, 0x98, 0xe2, 0x0e, 0x4e, + 0x4c, 0x4e, 0x54, 0x0f, 0x91, 0x92, 0x7e, 0x1d, 0xed, 0x24, 0x70, 0xf4, 0x65, 0x41, 0x74, 0x88, + 0xd4, 0x85, 0x7e, 0x42, 0x5a, 0x35, 0xae, 0xed, 0x82, 0x75, 0xf1, 0x4e, 0xbd, 0x37, 0xd7, 0x6c, + 0x86, 0x3f, 0x4a, 0xa7, 0x8c, 0xe5, 0xf3, 0xda, 0x3b, 0x31, 0xba, 0x41, 0x58, 0x76, 0x7f, 0x75, + 0x55, 0xac, 0xdb, 0xd9, 0xb0, 0xe7, 0xa3, 0x81, 0xc0, 0xb2, 0xb6, 0x56, 0x15, 0x28, 0x30, 0xb7, + 0xd9, 0x77, 0x8e, 0x49, 0x6a, 0xa3, 0x2f, 0x40, 0xe5, 0xc1, 0x47, 0xb6, 0x41, 0xea, 0xf7, 0xa2, + 0xe6, 0x37, 0x17, 0xb9, 0xd1, 0x9b, 0xeb, 0xca, 0xf4, 0x18, 0xe8, 0x43, 0x76, 0xa1, 0x93, 0x49, + 0x47, 0xc4, 0xfa, 0xbf, 0x43, 0x15, 0x18, 0x95, 0x42, 0x56, 0x5d, 0xb7, 0xa3, 0xef, 0xc2, 0x8d, + 0x71, 0x96, 0x11, 0x2d, 0x04, 0xc3, 0xa9, 0xcd, 0xf4, 0xf6, 0x46, 0x99, 0xb9, 0xb3, 0x30, 0x9d, + 0x1e, 0x51, 0x4a, 0x35, 0x73, 0x21, 0x3a, 0xae, 0x10, 0x01, 0x57, 0xfd, 0x9e, 0x39, 0x9a, 0x67, + 0x7f, 0x39, 0x4d, 0xe6, 0x17, 0x31, 0xe7, 0x06, 0x97, 0x40, 0x82, 0x46, 0x8f, 0xb5, 0x42, 0xfe, + 0x42, 0x76, 0x95, 0xa6, 0x37, 0x62, 0xad, 0x96, 0x39, 0xb6, 0xcc, 0x17, 0x8d, 0xdc, 0x53, 0x76, + 0xcc, 0xdb, 0xcf, 0x76, 0xb6, 0x93, 0x8d, 0xe4, 0x2f, 0x6e, 0x53, 0xa7, 0x6b, 0x2e, 0x9d, 0xf8, + 0xa2, 0xe4, 0x57, 0x8e, 0xec, 0x1b, 0x67, 0x84, 0x26, 0x92, 0x76, 0xef, 0xc9, 0x6b, 0xed, 0xed, + 0xb4, 0xbf, 0xf6, 0x4a, 0xef, 0x1c, 0xb0, 0xd3, 0x14, 0x87, 0xbf, 0x96, 0x1d, 0x23, 0x27, 0xbf, + 0x72, 0x1d, 0x4a, 0x78, 0xf8, 0x20, 0x5e, 0xc0, 0xed, 0x57, 0x17, 0x77, 0x9d, 0x78, 0xe5, 0xa1, + 0xb4, 0xf4, 0x78, 0x99, 0x19, 0xe6, 0x50, 0xc8, 0xc9, 0x50, 0x03, 0x9d, 0x7c, 0xe9, 0xc1, 0xc5, + 0x7d, 0x60, 0x59, 0xcc, 0x66, 0xc3, 0x52, 0x42, 0x9e, 0x30, 0xe1, 0xfe, 0x8a, 0x6f, 0x0c, 0x41, + 0x20, 0xe4, 0x4b, 0x9f, 0x98, 0x03, 0x2b, 0x50, 0xcb, 0x1e, 0x2f, 0x12, 0x04, 0xc3, 0xfc, 0x04, + 0xe3, 0x53, 0x2c, 0x66, 0x92, 0xf3, 0x5e, 0x77, 0x8a, 0xee, 0xec, 0x1e, 0x43, 0x8d, 0x72, 0xad, + 0x92, 0xf2, 0x6e, 0x1e, 0xff, 0x35, 0xfc, 0xad, 0x0e, 0x89, 0xb3, 0x25, 0x22, 0xbe, 0x71, 0x7f, + 0x5c, 0xf9, 0x44, 0x9c, 0xd9, 0x7d, 0x19, 0xf6, 0x33, 0xea, 0x1a, 0xd9, 0x5e, 0x4e, 0xa6, 0xb8, + 0x07, 0x8d, 0xd9, 0x21, 0x74, 0x9e, 0x14, 0xbf, 0xaa, 0x29, 0xb5, 0xbf, 0x45, 0x93, 0x71, 0xa2, + 0x52, 0x72, 0x4a, 0x04, 0x9a, 0x6b, 0x64, 0x97, 0xc9, 0xfb, 0x43, 0xdd, 0x6f, 0x75, 0xaf, 0xbe, + 0x8b, 0x83, 0x75, 0x1e, 0x3b, 0x8a, 0xf2, 0x3f, 0xb7, 0x52, 0x16, 0x99, 0x08, 0x70, 0x23, 0x03, + 0xf0, 0x3c, 0xe0, 0xab, 0xbd, 0x31, 0xdf, 0x00, 0xe8, 0x2a, 0xbb, 0xb2, 0x62, 0x4b, 0x22, 0x71, + 0x4a, 0x57, 0x47, 0xf3, 0x17, 0xd3, 0x25, 0xe0, 0x97, 0x31, 0x98, 0x06, 0xad, 0xb5, 0x45, 0xcd, + 0xc0, 0xeb, 0xe4, 0xca, 0x28, 0xf4, 0x16, 0xc5, 0xf6, 0x99, 0xb5, 0x6a, 0x74, 0x3c, 0x2b, 0xde, + 0x39, 0x47, 0xa3, 0x47, 0x92, 0x21, 0xa8, 0x28, 0x67, 0x15, 0x74, 0x41, 0x07, 0x1b, 0x6f, 0x9f, + 0xcc, 0x68, 0x76, 0xa6, 0x74, 0x69, 0x81, 0x9c, 0x00, 0x7b, 0xb3, 0xd9, 0x48, 0x9c, 0xc1, 0x7c, + 0xec, 0x41, 0x79, 0xd6, 0x51, 0xb5, 0xd2, 0x45, 0xaf, 0x0b, 0xc6, 0xae, 0x96, 0x7f, 0xfe, 0x7d, + 0x35, 0x29, 0x81, 0xd7, 0x6f, 0x48, 0xec, 0x02, 0xbb, 0xbf, 0x01, 0x3b, 0xb7, 0x38, 0xa2, 0xd3, + 0xaa, 0x15, 0x54, 0x9b, 0xec, 0xe1, 0x44, 0xf3, 0x79, 0x74, 0x3d, 0xc5, 0xe6, 0xc9, 0x26, 0x97, + 0x5f, 0x83, 0x3f, 0x0b, 0x61, 0xab, 0x79, 0x00, 0x56, 0x92, 0x93, 0xaf, 0x68, 0xdc, 0xc7, 0xf8, + 0x05, 0xdd, 0xc1, 0x64, 0x61, 0x5b, 0x60, 0xb8, 0x1c, 0xaf, 0x93, 0x79, 0xf5, 0xd0, 0x50, 0x57, + 0xa2, 0x7d, 0x9a, 0x63, 0xc9, 0x49, 0xdd, 0x11, 0xd0, 0x88, 0x57, 0xcd, 0xbd, 0x2f, 0x87, 0xb2, + 0x33, 0xa4, 0xe3, 0xd1, 0x09, 0x5f, 0x41, 0xf4, 0x13, 0xaa, 0xa9, 0xa4, 0x0f, 0x6c, 0x31, 0x3a, + 0xb4, 0x0e, 0x4d, 0x57, 0x2e, 0x49, 0x72, 0x18, 0x9e, 0x71, 0x10, 0x21, 0x6f, 0xd6, 0x0e, 0x04, + 0x6a, 0xbd, 0x2f, 0xfe, 0x32, 0x7c, 0x95, 0xf9, 0x42, 0xf1, 0x7c, 0x97, 0x81, 0x81, 0x7c, 0x63, + 0xf6, 0xd2, 0x71, 0x85, 0x33, 0x2f, 0x15, 0x58, 0xbf, 0xf9, 0x49, 0x25, 0x87, 0xe0, 0xe1, 0xd1, + 0x0e, 0x30, 0x8f, 0x33, 0xba, 0x23, 0xd4, 0x04, 0xc7, 0x92, 0xa6, 0xc8, 0x80, 0xb1, 0xaf, 0x77, + 0x16, 0x09, 0x8e, 0xda, 0x9d, 0xb7, 0x0a, 0x5b, 0x51, 0x9c, 0xa9, 0xca, 0x81, 0xfc, 0x1d, 0x91, + 0xf5, 0xe5, 0xef, 0x25, 0x59, 0x0a, 0x08, 0x6f, 0x08, 0x75, 0xd1, 0xba, 0x48, 0x35, 0x46, 0x5c, + 0xae, 0x12, 0x20, 0x50, 0x5c, 0xff, 0xda, 0x95, 0x37, 0xe6, 0x20, 0xa1, 0xed, 0xcc, 0x20, 0x62, + 0x1f, 0x2e, 0xc7, 0x62, 0x1f, 0xcc, 0x72, 0x88, 0x80, 0xa5, 0x1c, 0x7d, 0x12, 0xb2, 0x06, 0xb1, + 0xc4, 0x3d, 0x97, 0xe6, 0xf7, 0xe2, 0x0b, 0x46, 0xec, 0xc8, 0x33, 0x66, 0x34, 0x40, 0xbd, 0xc9, + 0x14, 0x1d, 0xed, 0x0d, 0x25, 0x79, 0x63, 0x41, 0xd2, 0x03, 0x35, 0x31, 0x2b, 0x4e, 0xa5, 0x7b, + 0xdf, 0xa4, 0x2d, 0x4b, 0x3b, 0x99, 0xe9, 0x08, 0xe2, 0x17, 0xdf, 0xfb, 0x89, 0x8e, 0x60, 0xf6, + 0xef, 0x79, 0x82, 0xad, 0xe0, 0xa5, 0x9f, 0x92, 0xd4, 0xa8, 0x2d, 0xca, 0xcd, 0xab, 0x1f, 0x38, + 0x7e, 0xe0, 0x6b, 0x84, 0x99, 0x7f, 0x36, 0x69, 0xe0, 0xe1, 0xc1, 0x47, 0xe0, 0x2d, 0x2b, 0x4a, + 0x5e, 0x39, 0xb4, 0x10, 0x00, 0xe6, 0x4b, 0x11, 0x54, 0x20, 0x90, 0x7a, 0x33, 0x3f, 0xee, 0x5f, + 0x47, 0x33, 0x2f, 0xb3, 0x44, 0x30, 0x8d, 0x6a, 0x74, 0xe2, 0x26, 0x5f, 0x76, 0x4f, 0x78, 0x01, + 0x6a, 0xee, 0x00, 0xcd, 0xd7, 0x3e, 0xab, 0x18, 0x07, 0x16, 0x33, 0xde, 0xb2, 0xb4, 0x36, 0xa6, + 0xdd, 0xf4, 0x51, 0xe5, 0xd7, 0x98, 0xf0, 0x90, 0x60, 0xab, 0xf2, 0x08, 0xb5, 0x62, 0x40, 0x85, + 0xb8, 0x06, 0x0d, 0xf9, 0x57, 0xb4, 0x73, 0x72, 0x58, 0xee, 0x6c, 0xdb, 0x79, 0x6c, 0x4a, 0x3b, + 0x29, 0x4e, 0xe2, 0x91, 0x1b, 0x4b, 0x3d, 0xd1, 0xf4, 0xab, 0xa7, 0x7d, 0xad, 0xfa, 0x9a, 0x40, + 0x7b, 0xf9, 0x10, 0x1d, 0x52, 0xff, 0xcd, 0x6d, 0xeb, 0xc2, 0x26, 0x2a, 0x80, 0x93, 0x46, 0xf0, + 0x18, 0xd3, 0x5f, 0x7f, 0x7c, 0xc4, 0x21, 0xe4, 0x74, 0x90, 0x48, 0x55, 0x4f, 0xf3, 0xea, 0xa5, + 0xe5, 0xd3, 0xf6, 0x1b, 0x70, 0x20, 0xbc, 0xb5, 0xa8, 0xde, 0xa9, 0x94, 0xc9, 0xde, 0xae, 0xff, + 0x76, 0x4e, 0x93, 0xdb, 0xbb, 0x4c, 0x57, 0x66, 0x57, 0x53, 0x5c, 0xb2, 0x35, 0x4d, 0x6f, 0xfc, + 0xef, 0xe6, 0x6a, 0x17, 0x57, 0xb1, 0x38, 0x51, 0xb4, 0xb1, 0xac, 0x4a, 0xf5, 0xaf, 0xbb, 0x9b, + 0xc2, 0xb1, 0x74, 0x31, 0x77, 0xc1, 0x8d, 0xe1, 0x59, 0xb0, 0x38, 0xb4, 0x9d, 0xaa, 0x11, 0x8a, + 0x17, 0x58, 0x33, 0xd2, 0x1b, 0x6f, 0xda, 0x8a, 0xb0, 0xc8, 0x17, 0x7e, 0x87, 0x8d, 0x05, 0x09, + 0xe7, 0xbd, 0x46, 0x4b, 0x69, 0x2a, 0x4d, 0xae, 0x60, 0x50, 0x9e, 0x09, 0x2e, 0x49, 0xe5, 0x30, + 0xca, 0x4f, 0x01, 0xdf, 0xc6, 0x9b, 0xfe, 0x88, 0x2f, 0x40, 0x58, 0x72, 0x49, 0xf0, 0xb8, 0xe5, + 0x4d, 0xb3, 0xda, 0xf7, 0x27, 0xe1, 0x68, 0x04, 0x91, 0xc1, 0x0c, 0xcf, 0xa2, 0xce, 0x94, 0x1f, + 0x5c, 0x40, 0x1c, 0xa2, 0xc9, 0xed, 0x91, 0xf7, 0x45, 0x7b, 0x2e, 0x7b, 0x6e, 0x34, 0xef, 0x14, + 0xb8, 0xad, 0x3c, 0xa7, 0x9f, 0xc6, 0xb2, 0x82, 0x15, 0x43, 0xfe, 0x4f, 0xe7, 0x0d, 0xac, 0xe6, + 0xa5, 0xf9, 0x85, 0x6c, 0x27, 0xd1, 0xa1, 0x51, 0x56, 0x8b, 0x69, 0x7a, 0xb1, 0xa8, 0x3f, 0xef, + 0xfd, 0x8e, 0xcf, 0x18, 0x53, 0x95, 0x61, 0x1f, 0xa7, 0xa1, 0x79, 0x46, 0xc6, 0x11, 0x7e, 0x3d, + 0x1f, 0x03, 0x6b, 0xbc, 0x86, 0x09, 0xda, 0xc4, 0xf3, 0xb0, 0x0e, 0x3a, 0xa3, 0xac, 0xba, 0x7f, + 0x5c, 0xdd, 0x76, 0xef, 0x10, 0x53, 0x8d, 0x30, 0x7d, 0xeb, 0x29, 0x64, 0x68, 0x8a, 0xea, 0x46, + 0x81, 0x87, 0xe7, 0xca, 0xcb, 0xdb, 0x4c, 0x78, 0xa4, 0x98, 0xe0, 0x7f, 0xd3, 0x38, 0x3e, 0x58, + 0x73, 0xb8, 0x1b, 0xd6, 0x49, 0x61, 0x75, 0x57, 0xb6, 0x8b, 0x14, 0x92, 0x5d, 0x1e, 0x2f, 0xf7, + 0x71, 0xd2, 0x9f, 0xd7, 0xfe, 0xe5, 0x21, 0xb7, 0x35, 0xb5, 0x1a, 0x43, 0xd6, 0x8c, 0x72, 0x96, + 0x03, 0xac, 0x46, 0x0f, 0xa3, 0x63, 0xcd, 0x72, 0x73, 0xdb, 0x2a, 0x79, 0x54, 0x45, 0xd7, 0x43, + 0x8c, 0x7f, 0xa6, 0xfa, 0x40, 0xb0, 0x82, 0xa0, 0xa1, 0xd3, 0xcf, 0x00, 0x8b, 0x4e, 0xb4, 0xed, + 0xc0, 0x29, 0x4c, 0xb9, 0xf4, 0xec, 0x74, 0x2e, 0x71, 0xf1, 0xb5, 0xcf, 0x3e, 0x2d, 0x99, 0xa6, + 0xc0, 0xa5, 0xd6, 0xea, 0x8e, 0x4f, 0x26, 0x18, 0xd7, 0xad, 0xc7, 0x39, 0x6f, 0xe3, 0x9a, 0xa7, + 0x2a, 0x69, 0x73, 0x51, 0x38, 0xcf, 0x9a, 0x75, 0xd5, 0x34, 0x6d, 0x6e, 0x52, 0x38, 0x22, 0x68, + 0x8a, 0xa0, 0x48, 0xab, 0x2e, 0xd5, 0x2a, 0xd7, 0x8a, 0x21, 0xda, 0xf8, 0x35, 0xd1, 0x48, 0x30, + 0xd7, 0xb5, 0x23, 0x1e, 0x1f, 0xed, 0xed, 0x41, 0xba, 0x89, 0xe4, 0x40, 0xd2, 0x7d, 0x8d, 0xee, + 0x77, 0x59, 0x1a, 0x13, 0xef, 0xa4, 0xce, 0x30, 0xa0, 0x1d, 0x9c, 0x24, 0xd5, 0x2c, 0x8d, 0x2b, + 0x85, 0xec, 0xcf, 0x13, 0x46, 0xb7, 0x76, 0x17, 0x1a, 0x08, 0x78, 0xc5, 0x04, 0x6b, 0x1c, 0x8b, + 0x3f, 0x2f, 0xe3, 0xfd, 0x5c, 0x1e, 0x8d, 0x49, 0xd7, 0xa7, 0x75, 0x9e, 0x7a, 0x7c, 0x96, 0xa1, + 0x7d, 0x17, 0x43, 0x1a, 0x6e, 0x72, 0x46, 0xa8, 0xbc, 0x43, 0xf6, 0xd2, 0xed, 0x60, 0x3a, 0xc3, + 0x52, 0x11, 0xd6, 0x15, 0x84, 0xde, 0xd4, 0xb2, 0x41, 0xfa, 0x3a, 0xc0, 0x4a, 0x75, 0x63, 0x28, + 0x4b, 0xfc, 0xd3, 0x58, 0xe5, 0x54, 0xfb, 0x94, 0xd5, 0x56, 0x8d, 0xd6, 0x5e, 0x46, 0x91, 0x96, + 0x03, 0x47, 0x2d, 0x94, 0x4d, 0xe5, 0x4e, 0x0d, 0xa1, 0x1b, 0x6f, 0x75, 0xd6, 0x52, 0xe8, 0xd3, + 0xb8, 0x95, 0x00, 0x5d, 0xc4, 0x7b, 0x9d, 0x50, 0xe1, 0x08, 0xd8, 0xa8, 0x87, 0x66, 0x99, 0xa9, + 0x9d, 0x20, 0x88, 0xdc, 0xea, 0xbc, 0xc2, 0x79, 0xc5, 0x79, 0x86, 0xad, 0x43, 0xfa, 0x78, 0x1d, + 0x11, 0x0c, 0x08, 0xeb, 0xe4, 0x9e, 0x6d, 0x49, 0xae, 0x9e, 0x7f, 0xb8, 0xbf, 0xcd, 0xe3, 0x12, + 0x1e, 0x03, 0xc9, 0xe4, 0xaa, 0x3e, 0xe9, 0x3e, 0x95, 0x9d, 0x88, 0x42, 0x10, 0xf1, 0x03, 0x51, + 0xf6, 0xd9, 0xcd, 0x1c, 0xcb, 0x54, 0xa6, 0xdf, 0x06, 0x4d, 0x16, 0x95, 0xe4, 0xb7, 0xaf, 0x9c, + 0x9d, 0x58, 0x14, 0xf5, 0xf8, 0xf7, 0xa0, 0x87, 0x77, 0x95, 0xff, 0x86, 0x72, 0x8d, 0x75, 0x7d, + 0x17, 0xec, 0x07, 0xfb, 0xad, 0x0d, 0xad, 0xf0, 0x9a, 0x89, 0x8b, 0x6c, 0xe4, 0x46, 0x4b, 0x4d, + 0xce, 0xd9, 0x69, 0xb4, 0x65, 0x29, 0x09, 0x7e, 0x9b, 0xe5, 0xb7, 0x12, 0xb0, 0x00, 0x6f, 0xc0, + 0x80, 0x30, 0xcd, 0x74, 0x78, 0xe3, 0x6c, 0x48, 0xfb, 0xd5, 0xf3, 0x45, 0x36, 0x02, 0x41, 0x2c, + 0xf7, 0x93, 0x2f, 0xcb, 0x47, 0x4c, 0x2c, 0x78, 0x54, 0x78, 0xa9, 0xa0, 0x70, 0x24, 0x42, 0x98, + 0x15, 0x31, 0xfb, 0x65, 0x2a, 0xf1, 0x04, 0x4d, 0x48, 0x14, 0x2d, 0xcc, 0x1a, 0xf7, 0x8d, 0x91, + 0xc7, 0x89, 0x1a, 0x70, 0xde, 0x85, 0x05, 0xf7, 0x62, 0xe8, 0x33, 0x49, 0xe5, 0x63, 0x21, 0x36, + 0xcb, 0xe6, 0x22, 0xaa, 0x23, 0x49, 0x38, 0xfc, 0x53, 0x73, 0xa8, 0x29, 0x7f, 0xbd, 0x1d, 0xa9, + 0x33, 0xe2, 0x86, 0x5c, 0xb7, 0x20, 0xdc, 0xb5, 0x51, 0x17, 0xed, 0x65, 0xaa, 0x45, 0xac, 0x25, + 0x0c, 0x8a, 0xb9, 0xd2, 0x6a, 0x46, 0x81, 0x22, 0x0a, 0x54, 0x73, 0xb4, 0x9a, 0xab, 0x33, 0x38, + 0xe3, 0x65, 0x07, 0x33, 0x4a, 0xed, 0xa3, 0xa5, 0x97, 0x06, 0x37, 0xce, 0xb8, 0x23, 0xcd, 0x90, + 0xfa, 0x86, 0xc5, 0xe6, 0xeb, 0xf1, 0x1c, 0xac, 0x73, 0xca, 0xf9, 0x16, 0x7d, 0x80, 0xdf, 0x1f, + 0xf3, 0x02, 0xb9, 0x72, 0x23, 0x6e, 0x60, 0xfb, 0x2b, 0x48, 0x26, 0x39, 0xc3, 0xcc, 0x1b, 0x22, + 0x52, 0x0c, 0xd1, 0x52, 0xf3, 0x6b, 0x54, 0x2e, 0x37, 0xb3, 0xf0, 0x10, 0xf1, 0x07, 0xc8, 0x54, + 0x72, 0x04, 0x00, 0x4c, 0x53, 0x59, 0x3c, 0x63, 0x79, 0x6a, 0xac, 0x01, 0x76, 0x53, 0x09, 0x7d, + 0xf7, 0x5f, 0x88, 0x5e, 0x18, 0x71, 0x7d, 0x3f, 0xd8, 0xcb, 0x4e, 0x16, 0xc4, 0x84, 0x2a, 0xfd, + 0x19, 0xf9, 0xac, 0xaf, 0xb7, 0xb9, 0x8f, 0x91, 0x47, 0x63, 0x0e, 0x71, 0x21, 0x98, 0x57, 0x14, + 0x66, 0x0a, 0x91, 0x48, 0x2a, 0x6b, 0x9b, 0x37, 0x09, 0x79, 0x52, 0xde, 0x70, 0xef, 0xb2, 0x92, + 0xf8, 0x92, 0xed, 0x7e, 0x00, 0x34, 0xf9, 0x9e, 0x9e, 0x18, 0xb9, 0x77, 0xe8, 0xd3, 0x00, 0xd8, + 0xb8, 0x27, 0x30, 0x23, 0xe9, 0x14, 0x9b, 0x09, 0x17, 0xbb, 0x2b, 0x66, 0x56, 0x04, 0xcd, 0xe2, + 0xe1, 0xfe, 0x29, 0x69, 0x0d, 0x78, 0x1e, 0xbd, 0x10, 0x99, 0x6b, 0xad, 0x84, 0x43, 0xbc, 0x04, + 0x84, 0xa1, 0xa2, 0x67, 0xd1, 0xff, 0xd3, 0xc4, 0xc0, 0x2d, 0x09, 0x8a, 0x6f, 0x02, 0x64, 0x67, + 0xe4, 0x00, 0xe3, 0x8c, 0xbc, 0x0a, 0x86, 0x17, 0xc3, 0xdc, 0x4f, 0xd7, 0x44, 0xa7, 0x9a, 0xb8, + 0x9a, 0xd0, 0x34, 0xe5, 0x7e, 0x9c, 0x25, 0xd2, 0x49, 0x9d, 0x97, 0x0e, 0x5d, 0x59, 0xab, 0xef, + 0x89, 0x6e, 0x12, 0x79, 0x84, 0x55, 0x7a, 0x61, 0xdc, 0xbe, 0x98, 0xc7, 0xc1, 0x46, 0xf9, 0xfc, + 0xe6, 0x18, 0x64, 0x0c, 0xb8, 0x27, 0x8d, 0xfb, 0x21, 0xd1, 0x0f, 0x10, 0x2c, 0xd3, 0x38, 0x45, + 0x18, 0xa6, 0x99, 0x5b, 0x69, 0x53, 0xdd, 0x29, 0x88, 0x72, 0xdc, 0x82, 0xb2, 0x0f, 0x6a, 0xb2, + 0x0e, 0xe9, 0x72, 0x89, 0x70, 0x57, 0xf8, 0x80, 0xd8, 0xeb, 0x95, 0xc5, 0x3c, 0x8a, 0xb1, 0xf3, + 0x5b, 0xa8, 0xca, 0xf4, 0xa7, 0x7d, 0x4f, 0x02, 0xb4, 0xf7, 0x59, 0xdc, 0x5d, 0x31, 0xeb, 0x55, + 0xfc, 0x1a, 0x4b, 0x6b, 0x07, 0xe1, 0x96, 0x44, 0x0d, 0x9f, 0x8d, 0x99, 0x55, 0x4c, 0x32, 0xbb, + 0xe6, 0xe9, 0x57, 0xd9, 0xcd, 0xad, 0x37, 0xd6, 0x05, 0x2b, 0x97, 0x5a, 0xc9, 0xf9, 0xd0, 0x8f, + 0xf6, 0x01, 0xb1, 0x52, 0xf3, 0x58, 0xe9, 0x45, 0x96, 0xf2, 0xb4, 0x40, 0xb8, 0x9b, 0x5e, 0xff, + 0xcb, 0x57, 0xc9, 0xe2, 0xd0, 0x70, 0x0c, 0xa0, 0x13, 0x85, 0xf8, 0xfa, 0x36, 0x58, 0xfa, 0x8a, + 0xf1, 0x0a, 0xbc, 0x4c, 0x90, 0x34, 0x77, 0xbe, 0x67, 0x67, 0xaa, 0x76, 0x03, 0xcc, 0xe3, 0x4d, + 0x7d, 0xb7, 0x17, 0xfb, 0x88, 0x33, 0x34, 0x01, 0x7b, 0xcc, 0xa0, 0x86, 0xff, 0x6d, 0x2a, 0xa3, + 0xe8, 0x4c, 0x9b, 0x09, 0xae, 0x01, 0xe9, 0x69, 0x2a, 0x84, 0xed, 0x33, 0x74, 0xfb, 0xdb, 0x75, + 0xa0, 0xd7, 0xb1, 0xa6, 0x10, 0x2d, 0x64, 0x89, 0x01, 0x41, 0xf3, 0x60, 0x9f, 0x83, 0x26, 0x23, + 0x43, 0x02, 0x95, 0x09, 0x98, 0x31, 0x75, 0x5c, 0x77, 0x31, 0x7d, 0x0d, 0xd5, 0x00, 0xe0, 0xa5, + 0x62, 0x48, 0xaa, 0x0a, 0x77, 0x88, 0x07, 0x9f, 0x3a, 0xe2, 0xa4, 0xc3, 0x6e, 0xc7, 0x98, 0xa8, + 0x33, 0xf7, 0xc7, 0x6b, 0x27, 0x89, 0xcb, 0x62, 0x8f, 0xcf, 0x88, 0x7e, 0x7b, 0x95, 0x79, 0x5e, + 0x89, 0x43, 0x02, 0x43, 0xd6, 0x78, 0xe9, 0x9e, 0x58, 0x85, 0x42, 0x9d, 0x37, 0x40, 0x31, 0xd3, + 0xb2, 0xd8, 0x29, 0x10, 0xaf, 0xd8, 0x85, 0x6c, 0x06, 0x38, 0x26, 0x30, 0x16, 0xbb, 0x7d, 0xed, + 0xdc, 0x15, 0x3d, 0x05, 0x6a, 0x41, 0x07, 0x94, 0xf8, 0x47, 0x2c, 0xce, 0xc0, 0x6f, 0x00, 0xc4, + 0x35, 0x25, 0x52, 0x70, 0x7f, 0xa5, 0x00, 0x22, 0x00, 0xc0, 0xdf, 0xa1, 0xe4, 0xbc, 0x84, 0x01, + 0x87, 0x48, 0x79, 0x8e, 0x5c, 0x50, 0x5f, 0xd7, 0xc8, 0x40, 0x32, 0xab, 0xf0, 0x49, 0xd1, 0x81, + 0x8c, 0xab, 0xa1, 0x24, 0x3f, 0x56, 0xd1, 0x66, 0x19, 0xfa, 0x66, 0x5c, 0x59, 0xa9, 0x68, 0x20, + 0xa9, 0x17, 0x4a, 0x18, 0x35, 0xe2, 0x48, 0xca, 0xd8, 0x95, 0x1a, 0x38, 0x0d, 0x25, 0xbd, 0x0e, + 0x11, 0xb2, 0x1c, 0xc5, 0xca, 0x84, 0xb2, 0x95, 0x4e, 0xff, 0xfc, 0xca, 0x62, 0xa6, 0x47, 0x40, + 0x5d, 0xf5, 0xbb, 0x35, 0xbb, 0x47, 0x3e, 0x76, 0x6a, 0xba, 0xa8, 0x89, 0x85, 0x79, 0xc9, 0x62, + 0x9e, 0x3a, 0xf6, 0x5f, 0x12, 0x00, 0xb1, 0x75, 0x39, 0xbc, 0x40, 0x45, 0xd0, 0xaf, 0xc8, 0xab, + 0x10, 0xf6, 0x75, 0x5d, 0x3a, 0xe2, 0xf8, 0xc9, 0x94, 0x00, 0xf1, 0x5a, 0x50, 0x48, 0x18, 0x66, + 0xf2, 0x42, 0x5b, 0x29, 0xd6, 0xd8, 0xce, 0x77, 0xd0, 0xce, 0x08, 0x1e, 0x3e, 0x89, 0x26, 0x16, + 0x6f, 0x6c, 0xc9, 0x76, 0x84, 0xd2, 0xbe, 0xd7, 0xad, 0xd9, 0x90, 0xb8, 0x15, 0xfb, 0x40, 0x89, + 0xfa, 0x57, 0xdc, 0x3b, 0x25, 0x44, 0x43, 0x2c, 0x16, 0x05, 0x26, 0x2c, 0xb6, 0x63, 0x19, 0xda, + 0x74, 0xa2, 0x00, 0xbf, 0x7b, 0xe6, 0x32, 0x0f, 0xc9, 0x5e, 0xa1, 0x77, 0xf2, 0xe8, 0xd1, 0xa5, + 0xe3, 0x7e, 0x41, 0xa4, 0x3c, 0x30, 0x92, 0x15, 0x57, 0x7c, 0x55, 0x52, 0xcf, 0x63, 0x72, 0x45, + 0xfb, 0x0f, 0x9f, 0xb9, 0x45, 0xd5, 0xaf, 0xc2, 0x65, 0x43, 0x6b, 0x4d, 0x3a, 0xd4, 0x29, 0xd6, + 0x21, 0x33, 0xce, 0x07, 0x89, 0x18, 0x06, 0xb1, 0x1b, 0x78, 0xb8, 0x43, 0xed, 0x83, 0x3b, 0x66, + 0xca, 0x4e, 0xd4, 0x08, 0xfa, 0xc8, 0xe5, 0x11, 0xac, 0x85, 0x4b, 0xe1, 0xac, 0xe7, 0x1b, 0x7c, + 0x87, 0x7c, 0xe3, 0x30, 0x87, 0x23, 0x8b, 0x02, 0x3e, 0x8c, 0x7e, 0x53, 0x1f, 0x33, 0x1f, 0x0d, + 0x45, 0x0f, 0x08, 0x85, 0x7c, 0x08, 0xea, 0xca, 0x0c, 0x16, 0x79, 0x12, 0x10, 0x40, 0x42, 0x0b, + 0x9a, 0xec, 0xc6, 0xc9, 0xa5, 0x79, 0x49, 0xc3, 0x5f, 0xa8, 0xb9, 0x49, 0x79, 0x61, 0x22, 0x2c, + 0x5b, 0x6d, 0x3e, 0x51, 0x4d, 0x0f, 0xa2, 0x6e, 0xf1, 0x88, 0xf3, 0x24, 0xcd, 0xc0, 0x27, 0xc4, + 0x1c, 0x76, 0xa2, 0x86, 0x4d, 0x0e, 0xa0, 0x22, 0x22, 0x3f, 0x21, 0xde, 0x7e, 0xa3, 0x2a, 0xa3, + 0x75, 0x0d, 0xc5, 0xce, 0xf4, 0x13, 0x92, 0xdf, 0x81, 0xd8, 0x73, 0xa7, 0x7c, 0x29, 0x77, 0xd6, + 0xd6, 0xd7, 0xdd, 0x96, 0xe6, 0x03, 0x7c, 0xb4, 0xcb, 0x61, 0xd9, 0xb7, 0x42, 0x60, 0x5e, 0x91, + 0x81, 0xe2, 0xde, 0xcc, 0xf9, 0x61, 0x5d, 0x1b, 0x38, 0xb0, 0x47, 0x3c, 0xff, 0xfa, 0xc2, 0xc5, + 0x74, 0x7f, 0x06, 0x39, 0xe4, 0x14, 0x02, 0x0b, 0x62, 0xed, 0x4c, 0x9b, 0x3c, 0x20, 0xff, 0x3a, + 0x9d, 0xac, 0x97, 0xc0, 0x09, 0xbc, 0x38, 0x3f, 0x82, 0xb7, 0xbd, 0x76, 0x1d, 0x4d, 0x8d, 0x4f, + 0x77, 0x3b, 0x1c, 0x70, 0x3f, 0xcc, 0x27, 0xb0, 0xbe, 0x03, 0xfd, 0xbf, 0x00, 0x43, 0xdd, 0x14, + 0xce, 0x85, 0xa6, 0x8f, 0xc9, 0x32, 0xac, 0x96, 0x27, 0x26, 0xae, 0x23, 0x3b, 0x39, 0xaa, 0x22, + 0xbf, 0x14, 0x28, 0x1c, 0xd7, 0x76, 0x50, 0x1c, 0x7c, 0x36, 0xfd, 0x22, 0xd0, 0x82, 0x65, 0xd3, + 0x2d, 0x19, 0xa2, 0x96, 0xac, 0xc3, 0x05, 0x36, 0x97, 0x17, 0xb9, 0x65, 0x4c, 0x39, 0xdb, 0x40, + 0xf7, 0xbb, 0xe9, 0x17, 0x73, 0xdd, 0x02, 0xf6, 0x57, 0x40, 0x45, 0x06, 0x20, 0x08, 0xb8, 0x08, + 0xed, 0xd8, 0x51, 0x98, 0xa6, 0x5a, 0x83, 0xdb, 0x46, 0xf4, 0x52, 0x71, 0xe5, 0x0d, 0xd8, 0xb2, + 0xc3, 0xda, 0x0a, 0x3d, 0xfb, 0x52, 0x6a, 0x47, 0x3d, 0xb7, 0x1a, 0x1f, 0xdd, 0xde, 0xa5, 0x87, + 0x86, 0x3a, 0x78, 0x94, 0xc1, 0xdb, 0xa3, 0xf5, 0x0b, 0x50, 0x60, 0x71, 0x28, 0xe4, 0x1f, 0xfa, + 0x8e, 0xb3, 0xb4, 0x24, 0x9e, 0x35, 0xb6, 0xa9, 0x30, 0x18, 0x6a, 0x9a, 0x59, 0x86, 0x00, 0x34, + 0x67, 0xf4, 0x0a, 0x12, 0x34, 0x56, 0xde, 0xdc, 0x63, 0xc2, 0x84, 0xad, 0x42, 0xd2, 0x71, 0x7f, + 0xd3, 0xab, 0x63, 0x58, 0x01, 0xcc, 0x35, 0x3e, 0x50, 0xbd, 0x90, 0xa5, 0x07, 0x62, 0xf6, 0xd8, + 0xd4, 0x72, 0x00, 0x80, 0xf1, 0x32, 0x78, 0xd2, 0x82, 0xb1, 0x8c, 0x6c, 0x87, 0x45, 0x2e, 0xdf, + 0x54, 0x1a, 0x6c, 0xae, 0x4c, 0x14, 0xa7, 0x34, 0x24, 0x5d, 0x71, 0x41, 0xd9, 0x7e, 0xcb, 0xe9, + 0x72, 0xeb, 0xd8, 0xf2, 0x61, 0x4c, 0x47, 0x8e, 0xd7, 0xc1, 0xba, 0xf3, 0x47, 0x9a, 0xad, 0x80, + 0xad, 0x7e, 0x09, 0xdd, 0x98, 0xb3, 0x07, 0xae, 0xc6, 0x12, 0x60, 0x67, 0xfd, 0x9b, 0x19, 0x62, + 0xde, 0x03, 0x61, 0x2a, 0xd8, 0x80, 0x56, 0xb8, 0x7e, 0x49, 0x03, 0x1a, 0x2c, 0x1b, 0x42, 0x34, + 0x0d, 0x60, 0x22, 0x38, 0xca, 0xd6, 0x29, 0x5c, 0xdf, 0x97, 0x81, 0xc1, 0x69, 0xb2, 0xfd, 0x1d, + 0xee, 0x13, 0xb7, 0xc4, 0x84, 0xaf, 0x19, 0xab, 0x2a, 0x49, 0x38, 0x1b, 0x18, 0xd0, 0x6a, 0x0c, + 0x37, 0x7e, 0x31, 0xf8, 0x7a, 0x30, 0x63, 0xe1, 0xe5, 0x06, 0xbd, 0x56, 0x73, 0x30, 0x04, 0x4f, + 0xcd, 0x8f, 0xe4, 0x87, 0xdb, 0x96, 0x0a, 0xad, 0xd7, 0xf9, 0x4d, 0x3d, 0xa4, 0xd6, 0x10, 0xdc, + 0x84, 0xf1, 0xf0, 0x10, 0x6b, 0xce, 0x8b, 0x71, 0xd9, 0x14, 0x5e, 0x09, 0x1e, 0x42, 0x39, 0xe9, + 0xb9, 0x8e, 0x4b, 0xa2, 0xe8, 0x5e, 0xde, 0xe6, 0x27, 0xcf, 0x55, 0xcb, 0x43, 0x79, 0xfd, 0xf2, + 0x4e, 0xba, 0x7d, 0xd6, 0xb3, 0xbf, 0x3b, 0x06, 0xcd, 0x93, 0x22, 0xee, 0x8c, 0x82, 0xfc, 0x77, + 0x36, 0xa8, 0x7b, 0x64, 0x12, 0x90, 0xc8, 0x5f, 0x45, 0x21, 0x69, 0xf0, 0x34, 0x07, 0xa6, 0xc5, + 0x0e, 0x19, 0x0e, 0x7d, 0xc1, 0x2c, 0xca, 0x7c, 0x8d, 0x4b, 0x65, 0xba, 0xb0, 0x3f, 0x92, 0x7d, + 0xdd, 0x19, 0xb3, 0xfa, 0x55, 0xb8, 0x69, 0x32, 0x78, 0xb6, 0xf6, 0x43, 0x83, 0x9e, 0xdc, 0xb2, + 0x88, 0x6e, 0xad, 0x4f, 0xdb, 0xa7, 0xd1, 0xe4, 0xaa, 0x9f, 0xc3, 0xf2, 0xbf, 0xd2, 0x55, 0xaa, + 0x8e, 0xe6, 0x6d, 0xb8, 0x61, 0x10, 0x0d, 0xc9, 0xdf, 0xb1, 0x5a, 0x68, 0xa0, 0xcc, 0xfe, 0x03, + 0xf6, 0x3a, 0x72, 0xbf, 0x48, 0xa9, 0x04, 0xff, 0xc0, 0x74, 0x32, 0xa6, 0xb4, 0x87, 0x77, 0xd5, + 0xf2, 0x8b, 0x32, 0xa3, 0xe6, 0xb4, 0xa2, 0xd5, 0x3c, 0x61, 0xea, 0x2f, 0x64, 0x81, 0x29, 0xdd, + 0xe0, 0xa4, 0x47, 0xc1, 0x59, 0xdf, 0xa2, 0xc5, 0xf6, 0x85, 0xd1, 0x5c, 0x46, 0x1a, 0x7e, 0xb1, + 0xb1, 0x7c, 0x37, 0xe1, 0xb6, 0x73, 0x4d, 0xdb, 0xc1, 0x59, 0x45, 0x91, 0x2c, 0x17, 0x18, 0x1a, + 0x69, 0x26, 0x94, 0x73, 0x02, 0x90, 0xc2, 0x84, 0x67, 0x66, 0x32, 0x2e, 0x14, 0xa6, 0x5c, 0x4a, + 0x1a, 0x4b, 0xbd, 0x06, 0x05, 0x52, 0x72, 0x08, 0x46, 0x27, 0xaf, 0xa6, 0x2f, 0xf3, 0x9b, 0x43, + 0x4e, 0x46, 0xd3, 0x1c, 0x31, 0x9d, 0x98, 0xab, 0xed, 0xaa, 0x19, 0x35, 0x58, 0xc0, 0xba, 0x75, + 0xea, 0xdc, 0xa1, 0x11, 0x1e, 0x3c, 0x07, 0x30, 0xd0, 0xce, 0xb5, 0x87, 0x93, 0x68, 0x7c, 0xf3, + 0xa7, 0xd3, 0x2a, 0x50, 0x72, 0x25, 0x9e, 0xd8, 0x4d, 0xd0, 0xb2, 0xe2, 0x5a, 0x04, 0xd5, 0x3c, + 0x29, 0x1c, 0x5f, 0x3e, 0x87, 0x06, 0xbe, 0x19, 0x7c, 0x71, 0x60, 0xe5, 0xc6, 0x5c, 0x97, 0x77, + 0x93, 0x99, 0x70, 0xc2, 0xaf, 0x02, 0xdc, 0x74, 0x52, 0xc6, 0x33, 0x79, 0xbe, 0x1a, 0x7d, 0x9b, + 0xfd, 0xa1, 0x28, 0x53, 0xf3, 0x96, 0xd2, 0x36, 0x67, 0xd0, 0x49, 0xe8, 0xb5, 0xb7, 0xb0, 0x88, + 0x78, 0xe1, 0x45, 0x8e, 0x2e, 0x84, 0xa3, 0xa7, 0xde, 0xb9, 0x03, 0x5f, 0x66, 0xda, 0x0d, 0x75, + 0x72, 0xbe, 0x73, 0xb5, 0x85, 0xd0, 0xe3, 0xcb, 0x6f, 0xf9, 0x58, 0xf6, 0xd1, 0x9b, 0x7a, 0x58, + 0x6f, 0x8e, 0x3b, 0x4d, 0xd4, 0x3d, 0x3b, 0x4e, 0x2e, 0x5b, 0x69, 0x38, 0x7e, 0xee, 0x95, 0x98, + 0x5c, 0x67, 0xdb, 0xae, 0xb2, 0x2f, 0x4a, 0x83, 0xac, 0x48, 0x8e, 0xcb, 0x16, 0x5b, 0xd6, 0xe1, + 0xea, 0x67, 0xd4, 0x8b, 0x61, 0xa4, 0xae, 0x57, 0x5b, 0xc2, 0x91, 0x5d, 0x53, 0xaf, 0xbf, 0x6b, + 0x9d, 0x56, 0x78, 0xfc, 0x3f, 0xcc, 0xcb, 0x90, 0xc9, 0x56, 0x16, 0x8a, 0xfd, 0xa3, 0xcb, 0xdf, + 0x3b, 0x56, 0xf2, 0x2e, 0x15, 0xa6, 0x5c, 0x60, 0x13, 0xf4, 0x44, 0x49, 0xdd, 0x7e, 0x52, 0x19, + 0xca, 0xd0, 0x7b, 0xbb, 0xa6, 0x49, 0x37, 0xc5, 0xc8, 0xb2, 0x3b, 0x51, 0xb9, 0xdf, 0x62, 0xa4, + 0x09, 0x75, 0xc8, 0xc8, 0x99, 0xe1, 0x8a, 0x64, 0x58, 0x20, 0x46, 0x20, 0x4a, 0x45, 0x3b, 0x7f, + 0x1e, 0x85, 0x33, 0x81, 0x65, 0x75, 0xf4, 0x97, 0xca, 0xdf, 0xda, 0xa4, 0x9f, 0x76, 0x35, 0x5d, + 0x7b, 0x60, 0x73, 0x2e, 0xee, 0xd1, 0x37, 0xa8, 0xb8, 0xe9, 0xf8, 0xe3, 0x03, 0xf4, 0x25, 0x7a, + 0x4b, 0x78, 0xc8, 0xda, 0xd2, 0x7c, 0x53, 0x77, 0xb2, 0x3d, 0x41, 0xeb, 0x14, 0x42, 0x42, 0x0f, + 0x65, 0x7e, 0x05, 0xa0, 0x33, 0x43, 0x57, 0xc2, 0xc2, 0x4f, 0x27, 0x73, 0xc4, 0xbe, 0xf1, 0x3a, + 0x16, 0xbf, 0x89, 0xc9, 0xe6, 0x28, 0xc3, 0x91, 0x5f, 0xbc, 0x9d, 0xfb, 0x0f, 0x19, 0x4c, 0x5a, + 0x1c, 0x3e, 0xac, 0xdd, 0x25, 0x1b, 0x28, 0x46, 0x48, 0x9c, 0x0f, 0xe1, 0x16, 0xe1, 0x55, 0x38, + 0x06, 0x7d, 0x4b, 0xef, 0xdc, 0x1a, 0x90, 0x03, 0xe9, 0x23, 0x6e, 0xf5, 0x9c, 0x5f, 0x1a, 0x95, + 0xe1, 0xb9, 0x76, 0x99, 0xcd, 0x8c, 0xc0, 0x7f, 0x80, 0x00, 0xed, 0x43, 0x9b, 0xae, 0x8d, 0x98, + 0x60, 0x43, 0xd8, 0x49, 0x15, 0xde, 0xdb, 0x0a, 0xc4, 0x58, 0xa1, 0xcb, 0xc7, 0xec, 0x22, 0x50, + 0xba, 0x2c, 0x42, 0x04, 0xc1, 0x1c, 0x7b, 0xfd, 0xa0, 0x05, 0xd2, 0x83, 0xdf, 0x28, 0x87, 0x4b, + 0x45, 0x6d, 0x57, 0xf7, 0x8a, 0x9f, 0x07, 0xf5, 0x1f, 0x22, 0x82, 0xf3, 0x63, 0x6c, 0xae, 0xf3, + 0x44, 0x8c, 0xe1, 0x22, 0xe6, 0xd7, 0x8e, 0x8e, 0x32, 0xb7, 0x78, 0x05, 0x92, 0xd9, 0x52, 0x9f, + 0xac, 0x81, 0x37, 0x0f, 0xb7, 0xc8, 0x35, 0x89, 0xf0, 0xf4, 0xa4, 0x44, 0x9b, 0xb3, 0xf7, 0xea, + 0xfb, 0x41, 0xa5, 0x0c, 0x43, 0xc3, 0x5a, 0xe2, 0xd6, 0xcd, 0x29, 0xab, 0x2d, 0x87, 0x52, 0xef, + 0xeb, 0x27, 0xa0, 0xc0, 0x7a, 0xdb, 0x6b, 0x92, 0xa4, 0xb9, 0x8d, 0x33, 0xbb, 0xab, 0x2d, 0x93, + 0x0b, 0x05, 0x26, 0x1b, 0x05, 0x5c, 0xe2, 0xbc, 0xdc, 0x09, 0xf1, 0x97, 0x8b, 0xae, 0xd3, 0x13, + 0x8b, 0x0e, 0xb9, 0x35, 0x45, 0x34, 0x33, 0xee, 0x45, 0xee, 0x13, 0xf4, 0x9d, 0x8f, 0xc1, 0x78, + 0x3a, 0x26, 0x65, 0x09, 0xf2, 0xdd, 0x35, 0x11, 0x53, 0xb9, 0x1c, 0xee, 0x9c, 0x26, 0x81, 0x36, + 0x96, 0xfa, 0x68, 0xea, 0x9e, 0xae, 0xa4, 0xb7, 0x0a, 0x22, 0xf7, 0x52, 0x2d, 0x63, 0x6e, 0xd5, + 0xf3, 0xf6, 0x4f, 0x86, 0xfa, 0xe7, 0x0a, 0xb3, 0x03, 0x96, 0x59, 0xe7, 0x54, 0x7e, 0xba, 0xed, + 0x9e, 0x2f, 0x67, 0x0b, 0xe2, 0x89, 0xc3, 0xed, 0x6f, 0x9f, 0x6d, 0x31, 0x55, 0xe3, 0xcd, 0x37, + 0xf9, 0xe6, 0x82, 0x6e, 0x9a, 0xa4, 0x31, 0x48, 0x10, 0xf6, 0x0b, 0x6d, 0x6a, 0xd6, 0x4e, 0x13, + 0xe0, 0x51, 0x67, 0xb7, 0xe1, 0xf0, 0xd9, 0x47, 0x69, 0x07, 0xcd, 0xd2, 0x9f, 0x96, 0xf3, 0x3f, + 0xc7, 0x43, 0x94, 0xa8, 0xd3, 0xe1, 0x0e, 0x02, 0x85, 0xc1, 0xe5, 0x1e, 0x3a, 0xdf, 0x2d, 0x78, + 0xbd, 0x62, 0xe1, 0x79, 0x51, 0x46, 0xc2, 0xbb, 0x30, 0x1f, 0x15, 0x10, 0x25, 0xa5, 0xa8, 0x74, + 0xcb, 0x97, 0x4c, 0x3c, 0xc0, 0x97, 0x12, 0xa4, 0x30, 0xf8, 0xb4, 0xa7, 0xef, 0xe4, 0x1f, 0x96, + 0x54, 0xc1, 0x59, 0x4f, 0x6b, 0x8e, 0xa9, 0xbb, 0x99, 0x13, 0x43, 0xd1, 0x65, 0x36, 0xac, 0xae, + 0xeb, 0xb4, 0x23, 0x0e, 0x62, 0x2a, 0x48, 0x69, 0xc6, 0x6b, 0xb3, 0xc9, 0xe9, 0x2b, 0x23, 0x5b, + 0x40, 0x62, 0xe8, 0xb0, 0x26, 0xcd, 0x67, 0x6d, 0x92, 0x69, 0x9c, 0x8d, 0x91, 0x4f, 0xce, 0xa9, + 0x27, 0x45, 0xbe, 0xed, 0x82, 0x7d, 0x9f, 0x50, 0x2a, 0x05, 0x25, 0x0f, 0x7d, 0xa6, 0x71, 0x8b, + 0xd7, 0x1b, 0xa8, 0x02, 0x8d, 0xe1, 0x0d, 0x4b, 0x37, 0x74, 0x7f, 0x6d, 0x55, 0xb5, 0x91, 0xe9, + 0xcb, 0x15, 0x9b, 0xc2, 0x51, 0x4f, 0x1b, 0xb3, 0xf1, 0x1f, 0x4e, 0xf3, 0xc7, 0xd8, 0x01, 0x9d, + 0xab, 0x7d, 0x5a, 0x9b, 0xb6, 0x3c, 0x2d, 0xbc, 0x64, 0xa7, 0xb4, 0x91, 0x19, 0x4d, 0x6c, 0x61, + 0x77, 0xa1, 0x93, 0x9c, 0x45, 0x88, 0x57, 0x4d, 0x93, 0x09, 0x12, 0x08, 0xf8, 0xc6, 0xab, 0xb6, + 0x3e, 0x7e, 0x25, 0x2a, 0xeb, 0xcf, 0xa3, 0x6e, 0xa9, 0x14, 0x4b, 0xd4, 0xa3, 0xf7, 0x50, 0xd1, + 0x41, 0x39, 0xbe, 0x34, 0x3b, 0x92, 0x80, 0x61, 0x7a, 0x71, 0x05, 0x86, 0x9a, 0x32, 0x28, 0xa3, + 0x03, 0x37, 0xb7, 0xe6, 0x96, 0x5d, 0x73, 0xf4, 0x10, 0xde, 0x15, 0x7b, 0x43, 0xad, 0x3b, 0x7c, + 0xe8, 0x46, 0xf2, 0x4b, 0x19, 0x03, 0x0b, 0xfd, 0x0c, 0xf6, 0x5b, 0x3f, 0x52, 0xba, 0x99, 0x6b, + 0xf9, 0x6d, 0x3e, 0xb9, 0x5d, 0xa6, 0x09, 0x29, 0x3c, 0x00, 0x50, 0xb6, 0x61, 0x02, 0x6d, 0xe9, + 0x15, 0x39, 0x99, 0xe9, 0x8f, 0x91, 0x22, 0xe7, 0x5a, 0x25, 0x64, 0xe5, 0xd2, 0xcd, 0x5c, 0x31, + 0xd5, 0x3d, 0xb8, 0xf6, 0xa0, 0x62, 0xf1, 0x1c, 0xdd, 0xa4, 0x89, 0x90, 0x06, 0x0f, 0xa6, 0x35, + 0x55, 0xe0, 0x80, 0x4d, 0x7a, 0x2c, 0x2c, 0x92, 0x88, 0x46, 0x72, 0xa1, 0x43, 0x3c, 0x9d, 0x51, + 0x95, 0x25, 0x52, 0x43, 0x90, 0x33, 0x8a, 0x6f, 0xe7, 0x35, 0x2d, 0x94, 0x90, 0xcb, 0x2c, 0x5b, + 0x6e, 0x60, 0x18, 0xa9, 0xb2, 0x69, 0x83, 0xf1, 0x28, 0x1a, 0xb1, 0x45, 0xfb, 0xff, 0x12, 0xda, + 0x44, 0x37, 0x01, 0x27, 0x23, 0x6f, 0xd8, 0xfe, 0xc1, 0x8c, 0xe6, 0x89, 0xf6, 0xf5, 0x74, 0x55, + 0xff, 0x8a, 0xe4, 0x93, 0xfb, 0x58, 0x27, 0x7d, 0x52, 0x9c, 0xb1, 0x56, 0x23, 0x07, 0xee, 0x34, + 0x15, 0x4e, 0x33, 0xc7, 0xe5, 0x0a, 0x99, 0x59, 0x99, 0x26, 0x75, 0x5b, 0xa9, 0x2f, 0x10, 0x8f, + 0x67, 0x9c, 0xd7, 0x54, 0x54, 0x99, 0x8c, 0xd2, 0xa7, 0x45, 0x01, 0x2e, 0xf6, 0x98, 0xfe, 0x58, + 0xe3, 0x1a, 0xf9, 0x8b, 0x3d, 0x34, 0xba, 0xf2, 0xbf, 0xcc, 0x29, 0x81, 0x15, 0x92, 0x91, 0x06, + 0x7f, 0x64, 0xf0, 0xc0, 0xec, 0x3a, 0xe4, 0x32, 0xaf, 0x4c, 0x56, 0xa3, 0xf1, 0x7c, 0xa0, 0x8f, + 0x7d, 0xfc, 0xcb, 0x0b, 0x8d, 0xef, 0x78, 0x35, 0x40, 0x70, 0x6e, 0x2c, 0x6f, 0xc3, 0x57, 0x0a, + 0xcd, 0x58, 0x0b, 0x1a, 0xe9, 0x1c, 0xf0, 0xfe, 0x21, 0x90, 0xe7, 0xa3, 0x7c, 0x71, 0xf8, 0x68, + 0x6b, 0xf9, 0xf8, 0xf6, 0x40, 0x27, 0x90, 0xf9, 0x91, 0xd3, 0x88, 0x0e, 0x24, 0xd2, 0x3e, 0x2c, + 0xc1, 0x4e, 0x45, 0xb5, 0x6a, 0x12, 0xe1, 0x7f, 0x7f, 0xe2, 0x34, 0x42, 0xda, 0x1f, 0x99, 0xe6, + 0xb9, 0x0f, 0x09, 0xd4, 0x73, 0xae, 0x09, 0x49, 0x2a, 0x22, 0x89, 0xdb, 0x7c, 0x9d, 0x65, 0x65, + 0x65, 0xdb, 0x7b, 0x07, 0x53, 0xd4, 0xcb, 0x3d, 0xfd, 0x36, 0x31, 0xae, 0x42, 0x34, 0x0a, 0x2a, + 0xf7, 0xe0, 0xdf, 0xc0, 0xf0, 0xba, 0x86, 0x3c, 0xad, 0xb6, 0x12, 0x1f, 0x18, 0x9a, 0xc7, 0x59, + 0x51, 0x0e, 0x1d, 0x6b, 0x40, 0xf3, 0x54, 0xb4, 0xf7, 0x1c, 0x44, 0x96, 0xc9, 0xbe, 0xc5, 0xcb, + 0x91, 0xe6, 0x90, 0xc3, 0x4b, 0x58, 0x9b, 0x8a, 0xce, 0xa0, 0xb1, 0x3b, 0x0d, 0x54, 0x5e, 0xe3, + 0xf9, 0x3b, 0x98, 0xc8, 0x14, 0xfd, 0x88, 0x65, 0x6b, 0xdc, 0x12, 0x32, 0x5f, 0x9b, 0xd4, 0x0e, + 0x25, 0x3e, 0x0f, 0x32, 0xf7, 0x67, 0x9f, 0x23, 0xd7, 0xbd, 0xbf, 0x34, 0x5e, 0xaf, 0x3c, 0x01, + 0x24, 0x48, 0x10, 0x09, 0x74, 0x44, 0x5d, 0x26, 0x0b, 0xb1, 0xa4, 0xdf, 0x76, 0xae, 0xe5, 0x00, + 0xde, 0x3f, 0x6a, 0x10, 0xf4, 0xca, 0x42, 0x72, 0x81, 0xe0, 0xe7, 0xbf, 0x97, 0xbd, 0x08, 0x59, + 0x68, 0x3b, 0x4a, 0x51, 0x10, 0x63, 0x3a, 0xbc, 0xb8, 0x90, 0xa8, 0x96, 0x48, 0x9d, 0x83, 0xcf, + 0x41, 0xd3, 0x2a, 0x22, 0xf1, 0x7c, 0xb6, 0x83, 0xb6, 0x71, 0x3c, 0xc6, 0x83, 0x82, 0x56, 0x91, + 0x34, 0x4c, 0x91, 0x1b, 0x3f, 0x3c, 0x1e, 0x39, 0x9d, 0x14, 0x99, 0x93, 0x4a, 0xf4, 0x50, 0x31, + 0xe1, 0x59, 0xb0, 0x51, 0x3f, 0xf5, 0xa1, 0xa2, 0x02, 0x45, 0xdd, 0x0e, 0x37, 0xaa, 0xfc, 0x7a, + 0x67, 0x8a, 0x78, 0xae, 0xdb, 0x7d, 0xe0, 0x55, 0x1a, 0xf0, 0x06, 0x79, 0x77, 0xa6, 0x64, 0x35, + 0x17, 0x42, 0x0e, 0xc0, 0x91, 0x40, 0xfb, 0x36, 0xfe, 0x80, 0xea, 0x81, 0xd0, 0x21, 0x34, 0xc9, + 0xe0, 0xca, 0xf6, 0xa4, 0x09, 0x91, 0x75, 0x4c, 0xc4, 0xf2, 0xf4, 0xb2, 0x06, 0x4e, 0xf3, 0x9d, + 0xe4, 0xca, 0xcd, 0x37, 0x80, 0xee, 0xab, 0xe4, 0x88, 0xd1, 0x4f, 0xcd, 0xc5, 0x2a, 0xfb, 0xe7, + 0x0c, 0xa0, 0x79, 0x11, 0xf7, 0x9e, 0x22, 0x57, 0x5e, 0x8a, 0xa6, 0x05, 0x6a, 0xcb, 0xa3, 0x83, + 0x08, 0xa4, 0xe6, 0x91, 0x45, 0xaa, 0x53, 0x4f, 0xd1, 0x9d, 0x32, 0x00, 0x64, 0x14, 0x11, 0x35, + 0x3d, 0xe4, 0x57, 0x3c, 0x9f, 0x9f, 0x7e, 0x52, 0xf0, 0xcc, 0xff, 0x2d, 0x94, 0xf9, 0x5b, 0x51, + 0x60, 0xe7, 0x58, 0x50, 0x61, 0x61, 0x3a, 0xa3, 0xdd, 0xdc, 0x5b, 0x66, 0xe7, 0x10, 0x3e, 0x8f, + 0x7e, 0x2d, 0xa8, 0x6d, 0x1c, 0x70, 0x7f, 0x40, 0x8c, 0x38, 0x02, 0x0d, 0xef, 0x1e, 0x90, 0xa2, + 0x41, 0x73, 0x9b, 0xd2, 0x74, 0x30, 0xb7, 0x78, 0x74, 0xba, 0xd8, 0xb7, 0x0d, 0x8b, 0x75, 0x49, + 0xbd, 0x3e, 0x1d, 0x50, 0x81, 0x1a, 0x16, 0xf2, 0x98, 0x5d, 0xdc, 0x68, 0xef, 0x15, 0x72, 0x56, + 0x4c, 0xaa, 0x18, 0x17, 0xb4, 0xd3, 0x8b, 0x86, 0xf6, 0x1d, 0x5d, 0x30, 0x30, 0xbd, 0x54, 0x8a, + 0xa5, 0xcf, 0x84, 0xca, 0xde, 0xde, 0x1c, 0x5e, 0x5c, 0x1f, 0x13, 0x32, 0x76, 0xb2, 0xd1, 0xd9, + 0xa4, 0x4f, 0xdd, 0xf4, 0x6e, 0x1c, 0x98, 0xc9, 0xf2, 0xa0, 0xfb, 0x74, 0x4e, 0xb9, 0xd4, 0xb0, + 0x2c, 0xde, 0x8b, 0x6b, 0x77, 0x8e, 0xaa, 0xf3, 0x36, 0x2e, 0x2d, 0xa9, 0xdd, 0xc2, 0xe8, 0x91, + 0x53, 0x76, 0x9b, 0xe6, 0x6b, 0x57, 0x84, 0x53, 0x32, 0x97, 0x7b, 0xab, 0x17, 0x14, 0x8b, 0xab, + 0x86, 0x38, 0x39, 0xbc, 0x00, 0xb4, 0x27, 0xac, 0x98, 0x3f, 0x77, 0x3a, 0x0c, 0x10, 0xa1, 0xc0, + 0x09, 0x48, 0xce, 0x18, 0xd7, 0xb9, 0xb1, 0xee, 0xc6, 0xab, 0x81, 0xc5, 0x13, 0xc1, 0x48, 0x1a, + 0xe0, 0xda, 0x50, 0x53, 0xc6, 0x5e, 0x44, 0xe3, 0xe7, 0x3f, 0x60, 0x89, 0x45, 0x2d, 0x36, 0x44, + 0xfc, 0x9a, 0x88, 0xb0, 0x5c, 0x4f, 0x72, 0x18, 0xd5, 0xeb, 0x61, 0x2d, 0x25, 0xa3, 0xc2, 0x6b, + 0x38, 0xea, 0x9f, 0xac, 0x06, 0x07, 0x59, 0xef, 0xec, 0x78, 0xad, 0x87, 0xc8, 0x9f, 0x62, 0x70, + 0x11, 0xb3, 0xbd, 0x84, 0xcb, 0x4a, 0xe2, 0x2a, 0x25, 0xc8, 0x68, 0x7a, 0x49, 0xe7, 0x2a, 0xad, + 0xaa, 0x5d, 0xb2, 0xdb, 0xcd, 0xe4, 0x1d, 0xb0, 0x75, 0x20, 0xaf, 0x66, 0xc9, 0x12, 0x9e, 0x6a, + 0x2d, 0x60, 0x5a, 0x7a, 0x36, 0x7b, 0xa8, 0x68, 0xca, 0xcc, 0xc5, 0xff, 0xea, 0x53, 0x28, 0xae, + 0x9b, 0x9f, 0xaa, 0x02, 0x23, 0x3c, 0x20, 0x46, 0x59, 0xde, 0x45, 0x39, 0xcb, 0xe8, 0x57, 0xf5, + 0x88, 0x39, 0x27, 0x49, 0x40, 0x4a, 0xac, 0xf5, 0x3f, 0x83, 0x7d, 0x32, 0xed, 0x24, 0x39, 0x8f, + 0xeb, 0x7e, 0x24, 0x8a, 0x77, 0x30, 0x79, 0x02, 0xa7, 0x09, 0x04, 0xdc, 0x0c, 0xf4, 0x55, 0x6d, + 0xbb, 0xf0, 0xca, 0x27, 0x3f, 0xdc, 0x25, 0x7f, 0x0f, 0xc8, 0x12, 0x85, 0x4a, 0x02, 0xb4, 0xc4, + 0xc6, 0x76, 0xb5, 0xe6, 0x86, 0x3a, 0x74, 0x45, 0x3b, 0x56, 0xe3, 0xd3, 0xf5, 0x8c, 0x1d, 0x4e, + 0xf8, 0xe3, 0x52, 0xc8, 0x62, 0x71, 0x10, 0x16, 0x22, 0xb7, 0x69, 0x4e, 0xfd, 0x41, 0x4e, 0x6b, + 0x0c, 0x60, 0x80, 0x0e, 0x5a, 0x26, 0xd1, 0xdb, 0x01, 0x07, 0x7c, 0x6c, 0xc0, 0x84, 0x60, 0x06, + 0x7d, 0xf4, 0x7a, 0x73, 0xd8, 0x2c, 0xa2, 0x5b, 0x6e, 0x38, 0x63, 0x99, 0xdc, 0x2d, 0xb6, 0x0e, + 0x27, 0x54, 0xb1, 0xe6, 0x08, 0x16, 0x9b, 0x28, 0x75, 0x20, 0x7c, 0x34, 0xd4, 0x58, 0xdc, 0xaf, + 0x81, 0x9b, 0x45, 0x83, 0x00, 0x8f, 0x56, 0xe5, 0xfe, 0xf7, 0xe1, 0xbb, 0x3c, 0xb9, 0x1f, 0x2b, + 0x86, 0x64, 0x1c, 0x0b, 0xc0, 0x75, 0x02, 0x8d, 0xad, 0x2e, 0xcf, 0x9f, 0x0f, 0x3a, 0x19, 0xef, + 0x03, 0x3d, 0xe7, 0x12, 0xb2, 0x19, 0xfc, 0x20, 0xaf, 0x92, 0xdf, 0xd6, 0xa4, 0x2c, 0x1e, 0x26, + 0xf6, 0xad, 0x76, 0x2b, 0x3f, 0xb9, 0xf4, 0x5e, 0xb8, 0x09, 0xd2, 0x2d, 0xbd, 0x67, 0xa7, 0xe5, + 0xef, 0x5a, 0xfd, 0x71, 0x83, 0xf3, 0xec, 0x0d, 0xdb, 0x3f, 0x84, 0x9f, 0x59, 0x7c, 0xe9, 0x79, + 0x1d, 0xd1, 0xae, 0xbe, 0xc8, 0x89, 0xd1, 0x60, 0x51, 0x24, 0xb1, 0xad, 0x63, 0x50, 0x23, 0x7a, + 0xbb, 0x77, 0x7b, 0xbc, 0xa1, 0x49, 0xda, 0xe2, 0xa0, 0x15, 0x39, 0x62, 0x8d, 0x80, 0x8a, 0x9a, + 0x55, 0xda, 0x8f, 0x18, 0x4a, 0x17, 0xc3, 0xf8, 0xab, 0x88, 0xea, 0x6e, 0xe1, 0xde, 0x89, 0xb5, + 0x36, 0xf6, 0xbe, 0x75, 0x25, 0x79, 0x3e, 0x1f, 0x01, 0x54, 0x93, 0xea, 0x27, 0x2e, 0x04, 0xce, + 0x70, 0x2a, 0xfa, 0x58, 0x67, 0x02, 0xab, 0x3d, 0x1c, 0x9e, 0xdd, 0x4a, 0xc4, 0x91, 0xc8, 0x0d, + 0x49, 0xa9, 0xf9, 0x7f, 0xe6, 0xcc, 0xac, 0x11, 0x17, 0xec, 0xc2, 0xb5, 0x96, 0x2b, 0x34, 0x6c, + 0xd3, 0x4c, 0xca, 0x01, 0x18, 0x4b, 0x8e, 0xf2, 0x02, 0xba, 0x02, 0x3b, 0xa7, 0x9d, 0xd7, 0x05, + 0x64, 0x93, 0x4e, 0x7c, 0xf1, 0x6a, 0xa9, 0x4a, 0x6c, 0x33, 0x53, 0xac, 0xc1, 0xda, 0x1e, 0xa6, + 0xf1, 0xb3, 0x82, 0xb4, 0xaa, 0x09, 0x1a, 0x00, 0xcf, 0x73, 0x05, 0x49, 0xdb, 0xbd, 0x29, 0x53, + 0x32, 0xda, 0x15, 0x24, 0x0e, 0x62, 0xf9, 0xad, 0x12, 0x35, 0x5e, 0x4b, 0xbd, 0xfc, 0x02, 0x69, + 0x61, 0x69, 0xb5, 0x51, 0x01, 0x96, 0xe8, 0x79, 0x4a, 0x2d, 0x06, 0xcb, 0xd1, 0xaf, 0x0b, 0x10, + 0xd9, 0x81, 0x82, 0x4b, 0xd8, 0x05, 0x13, 0xc6, 0xa4, 0x8c, 0xb1, 0x7a, 0x68, 0xad, 0x54, 0xa8, + 0x6e, 0x48, 0x49, 0x88, 0xbf, 0xf0, 0x42, 0x94, 0x2b, 0x67, 0x2a, 0x07, 0xfa, 0x5c, 0xf3, 0xe5, + 0x17, 0x03, 0xba, 0x37, 0xf9, 0x2d, 0x09, 0x25, 0x5c, 0x27, 0x92, 0xcf, 0xb7, 0xf5, 0x26, 0x42, + 0x3b, 0xdb, 0x2f, 0xbe, 0x27, 0xab, 0x25, 0x37, 0x2b, 0x40, 0xe4, 0xba, 0xc3, 0x19, 0x26, 0x4b, + 0x51, 0x6a, 0x6f, 0xc2, 0xc9, 0x9e, 0xba, 0xac, 0xf4, 0x22, 0xd0, 0x2d, 0xc9, 0xaa, 0xa0, 0x71, + 0x3b, 0xd8, 0x20, 0xfa, 0x06, 0x53, 0x85, 0xe7, 0x5a, 0x65, 0x14, 0x8f, 0x6f, 0x7b, 0x0f, 0x4c, + 0xf4, 0x9c, 0x91, 0x21, 0xc9, 0x20, 0xeb, 0x61, 0x38, 0x69, 0x2f, 0xb5, 0xb2, 0x37, 0x57, 0x2a, + 0x51, 0x55, 0xd7, 0x5a, 0xf5, 0xd2, 0xa4, 0xe6, 0x0b, 0xb4, 0x8e, 0xa8, 0x21, 0x87, 0x1a, 0x58, + 0x29, 0xe5, 0x6b, 0xfb, 0xde, 0x5e, 0xb1, 0x52, 0x0f, 0x27, 0x93, 0xf0, 0x43, 0xbb, 0x22, 0xab, + 0xd8, 0x42, 0xea, 0x0d, 0x9b, 0x11, 0xaa, 0xcd, 0xd5, 0x2f, 0xe3, 0xcf, 0x13, 0x56, 0xfb, 0x2c, + 0x48, 0x4b, 0x86, 0xfe, 0x40, 0xbd, 0xa4, 0x7e, 0x68, 0x57, 0x46, 0x62, 0xfe, 0x63, 0xd1, 0xe8, + 0x30, 0xaa, 0xcf, 0xad, 0xe9, 0x0d, 0xed, 0x63, 0xe0, 0x7f, 0x0f, 0xc5, 0xcc, 0x59, 0x22, 0x8d, + 0x73, 0xbd, 0x86, 0xf6, 0x91, 0x23, 0xcb, 0xa9, 0xe1, 0x65, 0x41, 0xb4, 0x52, 0xe3, 0x00, 0x40, + 0xf0, 0xac, 0x39, 0x5b, 0xed, 0x78, 0x02, 0xbc, 0x1d, 0xde, 0xf0, 0x89, 0xfe, 0x4b, 0x25, 0xf2, + 0x05, 0x9a, 0xc1, 0x8c, 0x7f, 0xa8, 0x0f, 0xb3, 0x74, 0x6e, 0x72, 0x90, 0x1a, 0x77, 0x06, 0xbc, + 0xf9, 0xaa, 0x0a, 0xb8, 0x81, 0xf2, 0xbc, 0xf0, 0x87, 0x72, 0xec, 0x54, 0x61, 0xc7, 0xb1, 0x8a, + 0xea, 0xdd, 0x1d, 0x0d, 0x8a, 0x3b, 0x7a, 0x09, 0x3b, 0x7c, 0xc4, 0x6f, 0xb6, 0x40, 0x97, 0xc7, + 0x47, 0xd0, 0x19, 0x08, 0x9b, 0xb7, 0x78, 0x6b, 0x8f, 0x54, 0x52, 0x6c, 0x81, 0xc3, 0xee, 0xc6, + 0xe7, 0x6c, 0x21, 0x51, 0x42, 0x52, 0xbf, 0xeb, 0x66, 0x54, 0x55, 0xe7, 0x0b, 0x0a, 0x89, 0xb6, + 0xaa, 0x3d, 0xad, 0xfa, 0xa1, 0xc9, 0xe2, 0x72, 0x88, 0x01, 0x46, 0x70, 0x03, 0x4b, 0x97, 0xc3, + 0xe5, 0x32, 0x0e, 0x5c, 0x1c, 0x76, 0x2b, 0x1c, 0x0d, 0x50, 0x84, 0x66, 0x98, 0x4b, 0x70, 0xf5, + 0x20, 0xad, 0xa0, 0xf3, 0xab, 0xa6, 0x7e, 0x1f, 0x7e, 0x0f, 0x50, 0xdf, 0x8b, 0x83, 0x09, 0xd3, + 0x1e, 0x53, 0x4b, 0xf2, 0x6e, 0xe1, 0xe7, 0x23, 0x07, 0x85, 0x66, 0xd2, 0x98, 0x4e, 0x72, 0x18, + 0xe6, 0x36, 0x18, 0x8b, 0xd7, 0x3b, 0x5d, 0xa8, 0x48, 0xf4, 0xeb, 0x4c, 0xd4, 0xaf, 0x1a, 0x75, + 0x24, 0xf5, 0x7c, 0xe7, 0x3a, 0xdb, 0xfc, 0xe4, 0x47, 0xb6, 0xdd, 0x22, 0x8c, 0x60, 0x08, 0x62, + 0xd4, 0x87, 0x63, 0xf7, 0x6f, 0x31, 0xe1, 0x84, 0xed, 0x0c, 0x4a, 0xff, 0x52, 0x51, 0x92, 0x1c, + 0xf7, 0xa2, 0x1d, 0x9a, 0xac, 0xe2, 0x6e, 0x26, 0xad, 0xb3, 0xa1, 0x63, 0x01, 0xff, 0x29, 0x7b, + 0x55, 0xe2, 0x56, 0xce, 0x6e, 0x02, 0xa6, 0x9c, 0x98, 0x99, 0x69, 0xbb, 0x0b, 0x2b, 0x69, 0x15, + 0x7d, 0x33, 0x3b, 0xb5, 0x53, 0x80, 0xe4, 0xd8, 0xfd, 0x30, 0x28, 0x05, 0x9f, 0x2a, 0x64, 0x90, + 0xcd, 0x29, 0x10, 0xb3, 0x1d, 0x0d, 0x19, 0x88, 0x30, 0xfe, 0x17, 0x01, 0x2d, 0x83, 0x66, 0xd3, + 0x69, 0xe1, 0x62, 0x19, 0x74, 0x7f, 0xc9, 0xe8, 0x2f, 0xf4, 0xe3, 0x86, 0x33, 0xd4, 0x60, 0x6b, + 0x53, 0x94, 0xd9, 0x90, 0x12, 0x48, 0x7c, 0x5b, 0x41, 0x50, 0x72, 0x6b, 0x70, 0x37, 0x52, 0xd0, + 0x34, 0xaa, 0xb3, 0xaf, 0x83, 0x70, 0x87, 0xa9, 0x81, 0x42, 0x38, 0xa7, 0xb4, 0xd6, 0x53, 0x0b, + 0xbf, 0x7a, 0xe1, 0xb9, 0x6c, 0x0b, 0xcc, 0xb6, 0xda, 0x10, 0x90, 0xaf, 0x44, 0x0b, 0xf7, 0x81, + 0x04, 0xd2, 0xc2, 0x91, 0xc2, 0x07, 0x8d, 0x13, 0x17, 0x6a, 0x6e, 0xeb, 0x93, 0x6e, 0x02, 0xfc, + 0xa5, 0xb7, 0x8f, 0xab, 0xd5, 0x40, 0x3f, 0xac, 0x12, 0x31, 0x8f, 0xc1, 0x40, 0x1d, 0x52, 0x4f, + 0x57, 0x9e, 0x1d, 0x92, 0x18, 0x0f, 0xf6, 0xfb, 0x36, 0x06, 0x2e, 0xe8, 0x13, 0xa4, 0xd1, 0x53, + 0x8f, 0x55, 0xb5, 0xa2, 0x49, 0xe8, 0xa6, 0x8c, 0xe8, 0x1a, 0x99, 0xf9, 0x24, 0xb7, 0xf6, 0x4e, + 0x43, 0x26, 0xa5, 0xe5, 0xd9, 0xb3, 0x0d, 0x59, 0x28, 0x54, 0x1f, 0x0b, 0xb5, 0x85, 0x4b, 0x44, + 0xff, 0x2c, 0xaa, 0x49, 0xa9, 0x01, 0x19, 0x57, 0xbd, 0x7f, 0xfb, 0xb3, 0x4e, 0xf7, 0x8f, 0x0b, + 0xb4, 0xdb, 0xeb, 0x94, 0xd3, 0xc7, 0x32, 0x51, 0x6e, 0x03, 0xb6, 0x75, 0x5b, 0x25, 0x40, 0xb3, + 0x90, 0x55, 0x73, 0x87, 0xfc, 0x5f, 0xdf, 0xba, 0xd4, 0x1c, 0x49, 0x3c, 0x69, 0x70, 0x4f, 0xe9, + 0xb3, 0x05, 0x24, 0x39, 0x23, 0x36, 0x3f, 0xcb, 0x0a, 0x4c, 0xaa, 0xcf, 0x5b, 0x14, 0x71, 0x95, + 0x2f, 0xaf, 0x6b, 0x21, 0x00, 0xf4, 0xf6, 0x7e, 0xd7, 0xdf, 0xa3, 0xba, 0xfa, 0xf2, 0xef, 0x2c, + 0x75, 0x77, 0xf6, 0xd1, 0x0c, 0xfa, 0xca, 0x94, 0x68, 0x77, 0x99, 0x74, 0x77, 0x47, 0xbb, 0xc0, + 0x3e, 0xf6, 0xea, 0x5b, 0xba, 0x29, 0xe5, 0x68, 0x82, 0xec, 0xd5, 0x9c, 0x0b, 0x3d, 0x13, 0xa4, + 0x56, 0x14, 0x9a, 0x6b, 0xdc, 0xdb, 0xb5, 0x90, 0x21, 0x18, 0xda, 0x18, 0x82, 0xe1, 0x9b, 0x6d, + 0xb3, 0x1e, 0x14, 0xa4, 0x8b, 0x58, 0x27, 0x81, 0xd5, 0xd6, 0x2d, 0xf5, 0x3c, 0x81, 0x0b, 0x1e, + 0xf2, 0xcc, 0xb6, 0x1a, 0x41, 0xdc, 0x0d, 0xd3, 0xfe, 0xec, 0xf7, 0x7f, 0x65, 0x28, 0xde, 0xc2, + 0xb8, 0x76, 0xfe, 0xb6, 0x38, 0xb9, 0xe4, 0xa7, 0x5a, 0x43, 0xe7, 0x15, 0xa8, 0x3e, 0x24, 0xd1, + 0x40, 0xa3, 0xc9, 0x9e, 0xca, 0x36, 0x44, 0xa2, 0x78, 0x58, 0x6f, 0xd9, 0x20, 0x92, 0xcb, 0x47, + 0x4b, 0x03, 0x69, 0xe9, 0x8a, 0x42, 0x18, 0x5d, 0xe3, 0x39, 0x95, 0x2b, 0x7e, 0x05, 0x09, 0xc2, + 0x99, 0x82, 0x2d, 0x18, 0x04, 0x0b, 0xd4, 0x94, 0xf0, 0xd6, 0x3e, 0x25, 0x1f, 0x50, 0x83, 0x75, + 0x0a, 0xa0, 0x91, 0xe0, 0x55, 0x02, 0x41, 0x7b, 0xb9, 0x09, 0x7a, 0x4f, 0xdd, 0x90, 0x46, 0x6b, + 0x61, 0x42, 0x9e, 0x95, 0x46, 0x90, 0x58, 0x40, 0xa0, 0x6d, 0xeb, 0x0b, 0x29, 0xb7, 0x30, 0xf8, + 0x8c, 0xe5, 0x13, 0xbc, 0x86, 0xe6, 0x1d, 0x61, 0x6a, 0x17, 0xed, 0x7b, 0xe9, 0x8b, 0xbc, 0x17, + 0x24, 0x41, 0x54, 0x2a, 0x00, 0x20, 0xfa, 0xb2, 0xe6, 0xf1, 0x3b, 0x97, 0x16, 0x8a, 0x98, 0xa3, + 0xb6, 0xec, 0x52, 0x55, 0x54, 0xb2, 0xcb, 0x8a, 0x04, 0x0a, 0x6e, 0x57, 0x92, 0x25, 0x56, 0xb6, + 0x90, 0x19, 0x83, 0x6f, 0xb7, 0xdb, 0x07, 0x93, 0xfa, 0xe8, 0xa7, 0x5d, 0xcf, 0x41, 0xc0, 0x02, + 0x6b, 0x1c, 0x19, 0x26, 0xe9, 0x48, 0xd1, 0x2e, 0x4e, 0x37, 0x10, 0x9b, 0x6a, 0x3d, 0x2d, 0x14, + 0x3c, 0xa2, 0x07, 0x3c, 0xc7, 0x69, 0x3c, 0x85, 0x5a, 0x63, 0xc7, 0xd5, 0x41, 0x7f, 0x11, 0x02, + 0xd9, 0x03, 0x0a, 0x90, 0x45, 0x17, 0x48, 0xdb, 0x78, 0x26, 0xfd, 0x6f, 0xc9, 0x14, 0xbe, 0x07, + 0x0a, 0x9a, 0x4f, 0xa3, 0x58, 0x61, 0x46, 0xd7, 0xd2, 0xa6, 0x20, 0x1f, 0xca, 0xdc, 0xc5, 0x7f, + 0x21, 0x2b, 0xf5, 0x7c, 0xbf, 0x15, 0x95, 0x74, 0xcf, 0x68, 0x48, 0x42, 0xeb, 0x85, 0xdd, 0x77, + 0x8d, 0xd1, 0x84, 0xe0, 0xa2, 0x79, 0x6f, 0xc2, 0x1d, 0xd0, 0x2f, 0xae, 0x24, 0x89, 0x9f, 0xf9, + 0x21, 0xfc, 0x74, 0x0b, 0xcd, 0xc9, 0x50, 0xda, 0xf6, 0x9d, 0xf5, 0xf3, 0x76, 0xa9, 0x0f, 0x2b, + 0x04, 0x74, 0x30, 0xad, 0xec, 0x3e, 0xc0, 0x88, 0x47, 0x26, 0xc0, 0xc1, 0x64, 0xd8, 0x05, 0x5e, + 0x8e, 0x48, 0xda, 0xf0, 0x32, 0x4e, 0x7c, 0x7a, 0xf2, 0x5e, 0xe8, 0x6d, 0xae, 0x21, 0x6a, 0x43, + 0x85, 0xd1, 0x1b, 0x1a, 0x42, 0x4f, 0xef, 0x51, 0xf8, 0x0e, 0x40, 0x03, 0xdc, 0x68, 0x97, 0x83, + 0xea, 0xcb, 0x6c, 0xc7, 0xd5, 0x8e, 0x8e, 0x9b, 0xbf, 0x0d, 0x76, 0xf6, 0xe2, 0x32, 0x11, 0x51, + 0x7d, 0x98, 0x4a, 0x58, 0xdd, 0x96, 0x28, 0x8f, 0x31, 0xad, 0x56, 0x54, 0x10, 0xb7, 0x44, 0x0a, + 0x10, 0x04, 0x81, 0xd1, 0xc1, 0x5a, 0x5d, 0x44, 0xd4, 0xd8, 0x60, 0xa7, 0x14, 0xce, 0x2a, 0x71, + 0x79, 0x4b, 0x60, 0xdd, 0x83, 0x0d, 0x39, 0x88, 0x39, 0x81, 0x4d, 0x01, 0x00, 0xb6, 0x9b, 0xa8, + 0x56, 0xc2, 0xc6, 0x74, 0x4d, 0x25, 0xe0, 0xe5, 0x43, 0x29, 0x70, 0xad, 0x14, 0xca, 0x92, 0xd2, + 0x7d, 0x14, 0xb4, 0x0b, 0xdb, 0x98, 0x10, 0x7a, 0x9f, 0x98, 0x0f, 0x2e, 0x08, 0x79, 0xb0, 0xbb, + 0xa9, 0x16, 0xc3, 0xda, 0x1e, 0xfa, 0x20, 0x47, 0x55, 0x50, 0x87, 0x48, 0x68, 0xa8, 0xc0, 0x1b, + 0xc5, 0x8a, 0x31, 0x31, 0x4f, 0xc4, 0x8c, 0xfe, 0xa8, 0x90, 0xaf, 0x8a, 0x02, 0x83, 0x15, 0x4c, + 0xd1, 0x4f, 0xdb, 0x2c, 0x1f, 0xb2, 0xcd, 0x2e, 0x0b, 0x81, 0x21, 0xb5, 0xb4, 0x41, 0x5e, 0x75, + 0x85, 0x02, 0xf4, 0x5e, 0xba, 0x14, 0x13, 0xc2, 0xf6, 0xa5, 0xcc, 0xc0, 0xb5, 0xf2, 0xcb, 0x3b, + 0xa7, 0x99, 0x33, 0x36, 0x52, 0x25, 0x7a, 0xcf, 0xb8, 0x75, 0x3a, 0x82, 0xab, 0x44, 0xc8, 0x03, + 0xce, 0x91, 0x0a, 0xd6, 0xb5, 0xb9, 0xa7, 0xad, 0xc4, 0x7d, 0xd5, 0xc7, 0x9e, 0xa8, 0x63, 0x0d, + 0x0f, 0xda, 0x6a, 0x3a, 0x5a, 0xf1, 0xc2, 0x1e, 0x84, 0x6a, 0x44, 0x5b, 0x16, 0xa2, 0x9b, 0xf9, + 0x70, 0x7c, 0xc0, 0xeb, 0x8c, 0x05, 0x4b, 0x55, 0x68, 0xf0, 0x9f, 0x36, 0x99, 0x9e, 0x1a, 0xf3, + 0x91, 0x33, 0xb5, 0xe3, 0xc4, 0x35, 0x11, 0x73, 0xbb, 0x71, 0x9b, 0x3b, 0x8f, 0x67, 0x4c, 0x45, + 0x70, 0x3e, 0x16, 0x4d, 0x9c, 0xb1, 0x33, 0x5b, 0xf2, 0x10, 0x03, 0xbc, 0xed, 0x28, 0x9e, 0x58, + 0xda, 0x04, 0xd0, 0x27, 0xfb, 0xd3, 0x39, 0xf4, 0x6f, 0xef, 0xb0, 0x37, 0x74, 0x61, 0x2e, 0xa9, + 0xd9, 0x79, 0x9a, 0xe1, 0x5d, 0xc8, 0xdf, 0x60, 0x21, 0xda, 0x5b, 0x32, 0xf3, 0xe8, 0x1a, 0x14, + 0x83, 0xf0, 0x20, 0x06, 0x4b, 0x60, 0xbd, 0x26, 0x9d, 0x6b, 0x1c, 0x8a, 0xce, 0x24, 0x65, 0xf5, + 0x7f, 0x20, 0x20, 0x71, 0x8f, 0xbf, 0x21, 0xfa, 0xd2, 0xb2, 0x61, 0xdb, 0x27, 0xf1, 0x5a, 0x1d, + 0x46, 0x08, 0x60, 0x05, 0xe7, 0x16, 0xea, 0x56, 0x71, 0xb2, 0x33, 0xe9, 0x2f, 0xc4, 0x86, 0xae, + 0x0e, 0x2b, 0xc0, 0x35, 0x03, 0x80, 0x8e, 0x52, 0x28, 0x01, 0x3c, 0x1d, 0x48, 0xd4, 0xce, 0x1e, + 0x00, 0x75, 0x9a, 0x71, 0xcd, 0xba, 0x16, 0xca, 0x97, 0xc5, 0x26, 0x20, 0x92, 0x59, 0x6c, 0x51, + 0x52, 0x58, 0x75, 0xaf, 0x2e, 0x8f, 0x38, 0xf5, 0xc7, 0x34, 0x87, 0x3f, 0x6b, 0xf6, 0xfc, 0x3c, + 0x55, 0x0f, 0xa1, 0xe9, 0x2a, 0xe9, 0x36, 0xa7, 0x3d, 0x4c, 0xad, 0x24, 0x1d, 0xae, 0x77, 0xa9, + 0x1b, 0x97, 0x50, 0xf2, 0xf2, 0x50, 0xd5, 0x43, 0x7d, 0x22, 0x65, 0xf6, 0x1e, 0x67, 0x67, 0x61, + 0xe7, 0x6b, 0xc9, 0x5c, 0x41, 0x9b, 0xbc, 0x58, 0x07, 0x11, 0x28, 0x03, 0x59, 0x51, 0xc1, 0x52, + 0x91, 0x38, 0xe4, 0x16, 0x46, 0x17, 0xf6, 0x92, 0xce, 0x88, 0x90, 0xa2, 0x1c, 0xff, 0xa0, 0x09, + 0x85, 0x5f, 0x7d, 0xc6, 0xbf, 0x1f, 0x28, 0x85, 0xba, 0x49, 0x49, 0x9f, 0x1e, 0x19, 0x14, 0x4a, + 0xc2, 0x13, 0xba, 0xad, 0x57, 0x72, 0x13, 0x18, 0x91, 0x9e, 0x86, 0x94, 0xac, 0x3e, 0xd4, 0x26, + 0x51, 0xac, 0x97, 0x5f, 0x93, 0xa0, 0x62, 0x05, 0xc4, 0x1c, 0xbe, 0xeb, 0x82, 0x33, 0x22, 0x87, + 0xc7, 0xd8, 0xd1, 0x34, 0x7e, 0xbf, 0xb0, 0x94, 0xbd, 0x01, 0x7a, 0x49, 0x64, 0x3d, 0xeb, 0x9c, + 0xbe, 0xe1, 0xcc, 0x13, 0x68, 0x5b, 0x21, 0xd7, 0xe5, 0x69, 0xf3, 0xef, 0xf1, 0x17, 0x5b, 0xae, + 0xac, 0xd9, 0x2d, 0x97, 0x68, 0x8e, 0x14, 0x71, 0xbe, 0xb2, 0xe4, 0x47, 0xce, 0xb5, 0x6c, 0xeb, + 0x49, 0x4b, 0x55, 0x31, 0xaa, 0x96, 0x04, 0xe8, 0xf5, 0x94, 0xe2, 0x55, 0xd0, 0x57, 0x7b, 0x4a, + 0x07, 0xf0, 0x0c, 0x11, 0x9b, 0x73, 0xee, 0x5e, 0x5c, 0xca, 0x60, 0x3d, 0x77, 0x0c, 0x58, 0x02, + 0x5e, 0x9e, 0x05, 0xfb, 0xbe, 0xad, 0x00, 0xe9, 0xd8, 0xbd, 0xc0, 0x29, 0xde, 0x08, 0x49, 0xef, + 0x76, 0xa7, 0x4f, 0xd6, 0x3c, 0xa8, 0x0f, 0x44, 0x11, 0xd8, 0xa3, 0x5a, 0x02, 0x15, 0xfc, 0x51, + 0x39, 0x92, 0x2c, 0xcd, 0xb9, 0x08, 0x21, 0xaf, 0xb8, 0x78, 0x7c, 0x71, 0xff, 0x25, 0x3d, 0xfa, + 0x4e, 0xd3, 0x9b, 0xea, 0x0d, 0x62, 0x89, 0x38, 0xe1, 0x50, 0x61, 0xd7, 0x5b, 0xa5, 0xab, 0x25, + 0x50, 0x87, 0xa8, 0xde, 0xab, 0xc2, 0x9d, 0x18, 0x29, 0x96, 0xad, 0x0e, 0x19, 0x89, 0x9e, 0x8a, + 0xda, 0x3e, 0x8a, 0x8a, 0xbd, 0x60, 0x94, 0x53, 0x36, 0x21, 0x3a, 0xf5, 0xbd, 0x32, 0xa0, 0x20, + 0xfc, 0xb5, 0xc1, 0x06, 0xe2, 0x61, 0x01, 0x97, 0x24, 0x4c, 0x2c, 0x60, 0x24, 0xfa, 0xf1, 0xb4, + 0x3d, 0xdd, 0xcc, 0xd5, 0xa7, 0x99, 0x95, 0x22, 0x96, 0x61, 0xbc, 0x73, 0x6d, 0x04, 0xb9, 0xcb, + 0x6b, 0xb1, 0xd5, 0xa7, 0xf5, 0x27, 0x50, 0x6f, 0xa2, 0x00, 0x9f, 0x26, 0x2b, 0x3f, 0x83, 0x03, + 0x20, 0x14, 0xda, 0x80, 0x58, 0xa3, 0x5c, 0x3a, 0xe3, 0x46, 0x4a, 0xc4, 0x40, 0x3b, 0xf2, 0xac, + 0xb4, 0xaa, 0x7d, 0xe5, 0x0a, 0x21, 0x4c, 0xcd, 0xa5, 0xa8, 0xee, 0x5d, 0x48, 0xfa, 0x84, 0x77, + 0x09, 0xcb, 0xe7, 0x75, 0x21, 0x6c, 0x31, 0x89, 0x21, 0x66, 0xb5, 0x19, 0x25, 0xbd, 0x4e, 0x46, + 0x90, 0x3f, 0x3e, 0x9d, 0xe6, 0x5a, 0x65, 0x8c, 0xad, 0xa7, 0xde, 0x96, 0xe5, 0x1e, 0x2f, 0x7f, + 0x10, 0xca, 0x08, 0x70, 0x6f, 0x35, 0x4b, 0xfe, 0xa8, 0x45, 0xf0, 0xa9, 0x7e, 0x9c, 0x30, 0x76, + 0x4c, 0x61, 0x61, 0x73, 0x03, 0x02, 0xdb, 0x4d, 0xad, 0xa5, 0xcb, 0xdd, 0x19, 0x33, 0x21, 0xdd, + 0xa8, 0x6e, 0x84, 0xd7, 0x03, 0xc3, 0x0a, 0x46, 0x59, 0x6e, 0x9d, 0x37, 0x4a, 0xd8, 0xd6, 0x2a, + 0x63, 0xa0, 0x22, 0x88, 0x73, 0x6c, 0x9e, 0xd2, 0x56, 0x59, 0x28, 0x96, 0x81, 0xba, 0xa1, 0x28, + 0xcf, 0x6f, 0xea, 0x36, 0x09, 0x19, 0x61, 0x93, 0x08, 0x20, 0x6a, 0x7a, 0x97, 0x6f, 0x60, 0x4b, + 0xbc, 0x49, 0x83, 0xbf, 0x39, 0x36, 0x9e, 0x75, 0xfb, 0x6c, 0x71, 0xd1, 0x23, 0xf1, 0xa9, 0x72, + 0xd9, 0xe7, 0xd4, 0x70, 0x53, 0x2c, 0x15, 0x3d, 0x2d, 0xfa, 0x44, 0xf4, 0x0d, 0xdd, 0xda, 0xd3, + 0x53, 0x4c, 0xf2, 0xe2, 0x5c, 0x29, 0x3e, 0x5c, 0xeb, 0xc4, 0xdd, 0xea, 0xf4, 0x75, 0x6e, 0x1d, + 0x20, 0xac, 0x3e, 0xdb, 0xde, 0x41, 0x59, 0x5c, 0x4b, 0x4c, 0x2c, 0xbb, 0xf5, 0x39, 0x43, 0x95, + 0x1c, 0x3f, 0x2b, 0x22, 0x58, 0x57, 0xe9, 0x4a, 0x1c, 0x7e, 0x63, 0xcd, 0x6a, 0xda, 0x23, 0x1b, + 0x31, 0xf4, 0x61, 0x06, 0x8c, 0x4d, 0x72, 0x83, 0x67, 0xc3, 0xc7, 0x01, 0xd4, 0x16, 0xf3, 0xa7, + 0xf4, 0x6f, 0xc4, 0xe0, 0xdf, 0xbb, 0xdd, 0x30, 0x60, 0x1b, 0x54, 0xd1, 0x49, 0xdc, 0x2f, 0x52, + 0x8b, 0xb5, 0x29, 0x7f, 0x72, 0x20, 0xb4, 0x24, 0x89, 0x17, 0x15, 0x4c, 0x82, 0x30, 0xc2, 0x96, + 0xa2, 0xcb, 0x68, 0xb5, 0xb9, 0xdb, 0xde, 0x9e, 0x98, 0xe6, 0x5f, 0x88, 0xb0, 0xa2, 0xd5, 0x1f, + 0x8a, 0x97, 0x69, 0x62, 0xe7, 0x6e, 0xbb, 0xf3, 0x0d, 0xb6, 0x11, 0x7c, 0xcf, 0xb8, 0xc6, 0xcf, + 0xc5, 0x90, 0x68, 0x65, 0x73, 0xb2, 0x84, 0x98, 0xed, 0x60, 0x76, 0x1f, 0x9f, 0x27, 0x3f, 0x27, + 0x75, 0xf1, 0xa5, 0x06, 0x87, 0xfa, 0x8f, 0x21, 0x2b, 0x41, 0x17, 0xa6, 0xbf, 0x99, 0xdb, 0x04, + 0xb3, 0x5a, 0x1a, 0x85, 0x0b, 0xc1, 0x78, 0xfd, 0xe7, 0xb9, 0xa0, 0x18, 0xfa, 0xfe, 0xa0, 0x48, + 0x33, 0x16, 0x67, 0x56, 0xd3, 0xad, 0x8a, 0xd0, 0xba, 0x16, 0xe0, 0x5f, 0x45, 0x8c, 0xf1, 0x7a, + 0x09, 0x80, 0xdf, 0x54, 0x4e, 0x75, 0xc9, 0x89, 0x31, 0x45, 0x45, 0x3a, 0x3c, 0x72, 0xcc, 0x17, + 0x30, 0x43, 0x45, 0x9c, 0xb8, 0xe8, 0xf1, 0xf5, 0xf9, 0xcb, 0x16, 0xb4, 0xe5, 0xb3, 0xe3, 0x4d, + 0xc2, 0xd9, 0x5f, 0x13, 0x50, 0x6e, 0x3d, 0xf7, 0x14, 0x72, 0x4f, 0xa4, 0x20, 0xf6, 0xeb, 0xfe, + 0x95, 0x1a, 0xa0, 0x67, 0xf7, 0xfa, 0x3f, 0xa6, 0x1c, 0x7b, 0x54, 0xe8, 0x39, 0xb8, 0x04, 0x56, + 0xd6, 0x61, 0xb3, 0xce, 0xaa, 0xe6, 0xca, 0x53, 0xf9, 0xbe, 0x4a, 0xdb, 0x6d, 0xff, 0x38, 0xd8, + 0x20, 0x9c, 0xee, 0x2b, 0xcc, 0xff, 0x72, 0xa0, 0x74, 0xac, 0xf1, 0xb1, 0x82, 0x20, 0xaf, 0xbd, + 0x9a, 0x56, 0x1b, 0xa6, 0xee, 0x6a, 0x75, 0x03, 0xae, 0x3c, 0xb0, 0xa8, 0x6c, 0x91, 0x26, 0xae, + 0x53, 0x5b, 0x85, 0x38, 0x3c, 0xd5, 0x4c, 0x44, 0xb9, 0x49, 0x37, 0xfc, 0x34, 0x0c, 0xbc, 0xb9, + 0xb9, 0x6d, 0x0b, 0x2a, 0xe2, 0xb4, 0x36, 0xac, 0x22, 0x2e, 0xcc, 0x5e, 0x10, 0xc9, 0x0b, 0x9a, + 0x97, 0x32, 0xc2, 0xed, 0x3c, 0x6c, 0x79, 0xdd, 0x47, 0xff, 0x7f, 0x9f, 0x7f, 0x6a, 0x4c, 0x1d, + 0xa1, 0xbf, 0x38, 0x96, 0x91, 0x80, 0x06, 0xbc, 0xf8, 0x90, 0xbd, 0x6a, 0xaf, 0x5b, 0xb9, 0x23, + 0x19, 0x54, 0x4f, 0xfd, 0xe4, 0x27, 0x7a, 0xc3, 0x22, 0xa0, 0x16, 0x15, 0x4f, 0x5a, 0x7a, 0x2e, + 0x19, 0x21, 0x5e, 0x2e, 0x30, 0xc2, 0xca, 0xa6, 0xe4, 0x86, 0x0f, 0x21, 0xac, 0x83, 0xe0, 0xbc, + 0xc3, 0x36, 0xea, 0x05, 0x59, 0x98, 0x4c, 0x50, 0x27, 0x08, 0xd3, 0x8b, 0x03, 0x50, 0x4c, 0xcb, + 0xf4, 0x6d, 0xb5, 0x0b, 0x64, 0xcf, 0xd4, 0x60, 0x7c, 0x8a, 0x11, 0x7b, 0x2e, 0x24, 0xaa, 0x0e, + 0x72, 0x6f, 0xbe, 0x07, 0xcf, 0x78, 0x2b, 0x31, 0x80, 0x56, 0xf4, 0x53, 0x16, 0x1b, 0x3f, 0x13, + 0x0d, 0xc3, 0x29, 0xcb, 0x11, 0x51, 0x89, 0x90, 0x5d, 0x41, 0x71, 0x49, 0x15, 0xc6, 0xee, 0xe0, + 0x67, 0x7a, 0xef, 0x2c, 0xec, 0xd5, 0xd6, 0xe2, 0xcd, 0x54, 0x4e, 0x4b, 0x8f, 0xb7, 0x8a, 0xf1, + 0xf9, 0x28, 0x68, 0x6c, 0x9a, 0x78, 0x65, 0x60, 0xb3, 0x77, 0x2f, 0xd0, 0x9b, 0xed, 0xe4, 0xf3, + 0xba, 0x8a, 0x47, 0xcd, 0x31, 0x57, 0x2a, 0xaa, 0xfc, 0x48, 0xca, 0x87, 0xed, 0x61, 0xde, 0xe8, + 0x9d, 0x53, 0xbd, 0xe1, 0x50, 0x30, 0x2e, 0xc3, 0xaf, 0xa7, 0x65, 0x0e, 0x49, 0x87, 0xde, 0x07, + 0xcd, 0x00, 0x72, 0x23, 0x95, 0x5c, 0x42, 0xd5, 0xb4, 0x12, 0xaf, 0x1d, 0x2f, 0x30, 0xc0, 0x98, + 0xa0, 0xc4, 0xf0, 0xfc, 0xab, 0x13, 0xef, 0xd4, 0x66, 0x58, 0x12, 0x1d, 0xb4, 0xbf, 0xcf, 0xf3, + 0x7a, 0x56, 0xf2, 0xa8, 0x2e, 0x42, 0x6b, 0xbf, 0xaa, 0x2c, 0xc2, 0xfe, 0x20, 0x97, 0xca, 0x9f, + 0x05, 0xa7, 0xbd, 0x4b, 0x5f, 0x99, 0x97, 0x26, 0x3d, 0xc7, 0xed, 0x18, 0x4a, 0xcf, 0x28, 0x71, + 0x15, 0xc5, 0xc2, 0x27, 0xae, 0x47, 0x51, 0x49, 0x32, 0x50, 0x45, 0x6c, 0xcf, 0x44, 0x1f, 0xab, + 0x80, 0x3f, 0x66, 0xbe, 0x66, 0x33, 0x2e, 0xc5, 0xd4, 0xdf, 0x90, 0xc4, 0x75, 0x6e, 0xa1, 0x93, + 0x05, 0x35, 0xa2, 0xb8, 0x8d, 0x81, 0x00, 0x25, 0x6a, 0x32, 0xca, 0xe6, 0x6a, 0xc2, 0x7d, 0xd2, + 0xc7, 0xd0, 0x5a, 0xf5, 0x5b, 0x1d, 0x15, 0xe7, 0xaa, 0x31, 0xf0, 0x3b, 0xe7, 0xb1, 0x76, 0x36, + 0x8c, 0xeb, 0xcc, 0x71, 0x1f, 0x45, 0xac, 0xa3, 0xe0, 0xde, 0x2e, 0x16, 0xef, 0xd1, 0xcf, 0x2f, + 0x83, 0xe3, 0xca, 0x2b, 0x7a, 0xdd, 0x29, 0x80, 0x4f, 0x38, 0xb7, 0x60, 0xc1, 0xcd, 0xc1, 0x97, + 0x9d, 0x9e, 0xc5, 0x8d, 0x28, 0xcd, 0x11, 0x74, 0x97, 0x92, 0x76, 0x65, 0x91, 0x41, 0x3c, 0xf1, + 0xab, 0x33, 0x7d, 0xf1, 0x00, 0xe9, 0x2c, 0xd0, 0x07, 0xcd, 0xec, 0x66, 0x79, 0x2a, 0x8b, 0x7b, + 0x5f, 0xc3, 0x5f, 0x72, 0x54, 0x7b, 0x20, 0x91, 0x97, 0xfe, 0xc6, 0x9c, 0x46, 0x73, 0x92, 0x44, + 0x88, 0xa9, 0xf8, 0x4c, 0xa2, 0x10, 0x5e, 0xe6, 0xb7, 0x7b, 0x03, 0x50, 0xc7, 0x2b, 0x3a, 0x9d, + 0xcf, 0x91, 0x87, 0xb0, 0x92, 0x3b, 0xb8, 0x0e, 0xd2, 0x80, 0xad, 0xa2, 0x55, 0xd0, 0xe2, 0xec, + 0xd1, 0x78, 0xea, 0xb7, 0x82, 0x4e, 0xcc, 0x7d, 0xe3, 0xfe, 0x47, 0x45, 0x9a, 0xa8, 0xb9, 0x10, + 0x7b, 0x59, 0x16, 0x2c, 0x0d, 0x28, 0x3e, 0xc0, 0xd2, 0x8b, 0x93, 0x7c, 0xfe, 0x32, 0xb0, 0x9e, + 0xce, 0x84, 0x94, 0x25, 0x59, 0x31, 0xde, 0x74, 0xc8, 0x8f, 0x11, 0x56, 0xe4, 0x96, 0x37, 0x38, + 0x0b, 0x86, 0x36, 0xb6, 0x49, 0x7e, 0x9b, 0xac, 0x69, 0xab, 0x07, 0x22, 0xf7, 0x88, 0xe4, 0x34, + 0x89, 0x5c, 0x43, 0x85, 0x08, 0xb4, 0x92, 0x0d, 0x23, 0x12, 0xcb, 0xcb, 0xc1, 0x8d, 0x5f, 0x99, + 0x61, 0x72, 0xac, 0xc0, 0x19, 0x3b, 0xec, 0x2e, 0xec, 0x00, 0xb5, 0xee, 0xde, 0x19, 0x46, 0xc0, + 0xd6, 0x5a, 0x20, 0x03, 0x48, 0xee, 0x15, 0x88, 0xfc, 0x65, 0xa6, 0xe8, 0xa4, 0x88, 0xc4, 0x89, + 0x08, 0x35, 0xb0, 0xe0, 0x0b, 0x42, 0x1f, 0xd6, 0x30, 0xd0, 0x68, 0x1e, 0x1c, 0xbd, 0x18, 0xb2, + 0x0e, 0xbc, 0xa6, 0xca, 0xba, 0x0d, 0xf6, 0x22, 0xbb, 0xd4, 0xd3, 0xee, 0x59, 0xb6, 0x92, 0x5c, + 0x52, 0xa9, 0x51, 0x98, 0x5d, 0xd2, 0xe7, 0x23, 0x93, 0x17, 0x8d, 0xc9, 0x7a, 0xdf, 0xa1, 0x11, + 0xc6, 0x33, 0xa4, 0x0a, 0x54, 0x8e, 0x96, 0x9b, 0x60, 0xc7, 0x94, 0xa3, 0x2c, 0x6d, 0xaf, 0x9c, + 0xa6, 0xb0, 0x3a, 0x0e, 0x7d, 0x2d, 0xd4, 0xdb, 0x4f, 0x2a, 0x01, 0xe5, 0x5e, 0x89, 0x79, 0xc6, + 0x56, 0xb3, 0x14, 0x5a, 0x5f, 0x79, 0xa9, 0xc4, 0x06, 0xb2, 0xe7, 0xc8, 0xe3, 0xba, 0x3f, 0xf9, + 0x59, 0x84, 0xd5, 0xf3, 0xbd, 0xc1, 0x7e, 0xf1, 0x4a, 0xbf, 0x1e, 0x84, 0x09, 0x20, 0x7b, 0x85, + 0x29, 0x47, 0x5f, 0x38, 0xfd, 0x8f, 0x80, 0x35, 0x70, 0x2f, 0x2f, 0xc6, 0xc9, 0xd6, 0x0e, 0xd4, + 0x2a, 0xbb, 0x47, 0x0b, 0xb8, 0xd4, 0x98, 0x03, 0xd2, 0xc3, 0xe4, 0xe3, 0xbe, 0x69, 0xf1, 0x4e, + 0xc1, 0x0a, 0x3c, 0xd5, 0x10, 0x1d, 0x5a, 0xd0, 0x10, 0x78, 0xa8, 0x36, 0x4e, 0xde, 0x94, 0x6d, + 0x1f, 0xe6, 0x0b, 0xca, 0x49, 0x4c, 0x0a, 0x14, 0xd4, 0x63, 0x60, 0x4b, 0xde, 0x63, 0xeb, 0xc4, + 0x62, 0x99, 0xda, 0xba, 0x3e, 0xeb, 0xbc, 0xde, 0xd1, 0xbf, 0x12, 0xa7, 0xb1, 0xbb, 0x8a, 0x90, + 0x0d, 0x58, 0x9c, 0x6d, 0xf2, 0x96, 0xb7, 0x54, 0xc0, 0xfa, 0xa5, 0xb1, 0x82, 0x31, 0x57, 0x48, + 0x6c, 0x79, 0xf5, 0x90, 0xa4, 0xdc, 0x73, 0xf8, 0xa3, 0x38, 0x8d, 0x5c, 0xd5, 0x4d, 0x2e, 0x2b, + 0xf8, 0xcc, 0x6a, 0xd2, 0x5a, 0x4e, 0xfd, 0xfd, 0x87, 0xc6, 0xb0, 0x40, 0x08, 0x3f, 0x45, 0x95, + 0x64, 0xae, 0xc7, 0xea, 0x48, 0x3a, 0xd0, 0xb8, 0xfb, 0x3d, 0x1d, 0x14, 0x03, 0x7e, 0xf9, 0xdd, + 0x80, 0xa7, 0x39, 0xab, 0x63, 0x56, 0xb4, 0x1f, 0x20, 0x1e, 0x09, 0x3a, 0xd3, 0xa0, 0x6e, 0x8c, + 0x89, 0x62, 0x19, 0xac, 0x38, 0x85, 0x07, 0x4e, 0x9d, 0x5b, 0x76, 0x1a, 0xf1, 0x09, 0x4a, 0x8b, + 0x81, 0x2f, 0x39, 0x10, 0xbe, 0xf1, 0x9d, 0x5c, 0x61, 0x5e, 0x13, 0x3c, 0x53, 0xd9, 0x69, 0x58, + 0x40, 0x55, 0x6b, 0x32, 0xe9, 0x86, 0xce, 0x0f, 0xc5, 0x05, 0xa1, 0x1a, 0xf3, 0xdb, 0xb2, 0x42, + 0x53, 0x26, 0x48, 0x9f, 0xa7, 0xc3, 0xd0, 0xb1, 0xe0, 0x20, 0x06, 0x9b, 0xe2, 0x30, 0xa2, 0xb0, + 0x28, 0x57, 0x12, 0x20, 0x95, 0x06, 0x91, 0x37, 0xcb, 0xd7, 0xea, 0x22, 0x39, 0x4b, 0x4a, 0x2a, + 0x42, 0x8f, 0x9f, 0x33, 0xea, 0xa7, 0xd3, 0x35, 0xa7, 0x63, 0x36, 0xbe, 0xe3, 0xfd, 0x68, 0x1a, + 0xce, 0x13, 0x24, 0x08, 0x68, 0x12, 0x64, 0xab, 0x3f, 0x3e, 0x9f, 0xab, 0x31, 0xeb, 0x8a, 0x7f, + 0xdd, 0x9f, 0xa4, 0x3d, 0xbe, 0xe5, 0x14, 0x66, 0x00, 0xec, 0x5b, 0x4f, 0xb0, 0xe3, 0xb4, 0x50, + 0xa2, 0xe5, 0x74, 0xe9, 0x78, 0xd2, 0x8b, 0x3d, 0x5b, 0xb2, 0xeb, 0xeb, 0xc2, 0x6e, 0xd5, 0x8e, + 0x52, 0x15, 0x27, 0x17, 0x5d, 0x56, 0xe4, 0x3c, 0x9b, 0xe1, 0xae, 0xbf, 0xf0, 0xa8, 0xc9, 0x94, + 0xeb, 0x63, 0x42, 0x2c, 0x50, 0xaf, 0x90, 0xf3, 0xd2, 0xf7, 0x47, 0x88, 0x90, 0x29, 0x42, 0x75, + 0x48, 0x8d, 0xdb, 0x8f, 0xfd, 0xe3, 0xc7, 0x60, 0xbe, 0xb4, 0xb4, 0xe8, 0xaa, 0x9f, 0x6c, 0x04, + 0x25, 0x6b, 0xd8, 0xc6, 0x5d, 0xf5, 0x6b, 0x23, 0xd3, 0x56, 0x60, 0xf1, 0xba, 0x4a, 0xad, 0x8b, + 0x7b, 0xa1, 0xc6, 0x40, 0x24, 0xf3, 0xef, 0x49, 0x4e, 0x45, 0x81, 0x4a, 0xa8, 0x23, 0xfb, 0xb1, + 0x29, 0xb1, 0xfb, 0xad, 0x9f, 0xfb, 0x12, 0xf9, 0x4b, 0x56, 0x2c, 0xf7, 0x94, 0x7f, 0xef, 0xcd, + 0x76, 0x49, 0x97, 0xc8, 0xee, 0xfd, 0x54, 0x6a, 0x67, 0xc7, 0xc4, 0x96, 0xdf, 0xcd, 0xc6, 0xc2, + 0xbc, 0x9c, 0xf0, 0xdf, 0x27, 0x8b, 0xc0, 0xad, 0x43, 0x84, 0x69, 0xdd, 0x9f, 0x73, 0x07, 0x48, + 0x0a, 0xaa, 0xdc, 0x3b, 0xa9, 0xce, 0x26, 0x69, 0x21, 0x27, 0x27, 0x4f, 0x9a, 0x79, 0xfc, 0xb4, + 0x7c, 0x4b, 0xdb, 0xd8, 0x1d, 0x3e, 0xbf, 0x97, 0x3f, 0x45, 0x85, 0xa1, 0x6d, 0xfd, 0x9b, 0x51, + 0xd5, 0x9d, 0xd7, 0xe2, 0x46, 0x64, 0x7e, 0xae, 0x25, 0xac, 0x42, 0x29, 0x93, 0x06, 0x12, 0x26, + 0x7d, 0x3f, 0xb8, 0x7f, 0xff, 0xad, 0x88, 0xac, 0x64, 0x2c, 0xb0, 0xbd, 0xc3, 0x45, 0xe0, 0xea, + 0x0d, 0xd5, 0x2a, 0x91, 0x58, 0x3c, 0x93, 0x4c, 0x0e, 0x63, 0xf8, 0x2b, 0x92, 0x63, 0xd9, 0xe6, + 0x57, 0x75, 0x37, 0xaf, 0x3f, 0xb2, 0xf4, 0xb1, 0x21, 0x71, 0x83, 0x13, 0x75, 0x73, 0xb4, 0x85, + 0x64, 0x82, 0x6a, 0x5f, 0x5e, 0xf9, 0x64, 0xea, 0x65, 0x62, 0x51, 0x2f, 0xd0, 0x28, 0x13, 0x8d, + 0x3a, 0x4e, 0x5f, 0x76, 0x6d, 0xd5, 0xbe, 0xb0, 0x14, 0xb0, 0xd4, 0x76, 0xc9, 0x11, 0x4d, 0x99, + 0xae, 0x39, 0xdf, 0x92, 0x96, 0x8a, 0x91, 0x6c, 0x5c, 0xf8, 0xe0, 0x44, 0xc9, 0xa9, 0x0e, 0x4b, + 0x83, 0x13, 0xdc, 0x57, 0x2d, 0xbb, 0x71, 0x3c, 0x00, 0x5b, 0x7f, 0x7a, 0x78, 0xc7, 0x37, 0x32, + 0xcc, 0x66, 0x86, 0x8d, 0x8f, 0xf3, 0x57, 0x9c, 0x85, 0xc3, 0x86, 0x4e, 0x27, 0x78, 0x1b, 0x3d, + 0x5d, 0x2f, 0xb6, 0x82, 0xb7, 0xb0, 0xdf, 0x53, 0xb9, 0xde, 0x59, 0x39, 0x4d, 0x7f, 0x3a, 0x9f, + 0x79, 0x65, 0x02, 0xee, 0xa6, 0x56, 0xce, 0x9f, 0xf3, 0xdd, 0xb1, 0x73, 0xf8, 0x4d, 0x47, 0x36, + 0x3f, 0x49, 0x76, 0x50, 0xc9, 0x8c, 0xfb, 0x6a, 0x08, 0xa0, 0x46, 0x32, 0x3b, 0xd4, 0x30, 0x1e, + 0x1b, 0x87, 0xe1, 0x0e, 0x85, 0x0e, 0xaa, 0xc1, 0xda, 0x3f, 0xcb, 0x38, 0xd0, 0x6c, 0x78, 0x82, + 0x75, 0x3d, 0xb0, 0xa2, 0x70, 0x62, 0x1a, 0x44, 0x06, 0xa4, 0xce, 0xd5, 0xc7, 0x41, 0x18, 0x6b, + 0x96, 0xf7, 0x3c, 0xfa, 0xb0, 0x95, 0xee, 0x62, 0xbb, 0x6c, 0xa6, 0xe8, 0xcb, 0x8f, 0x15, 0x49, + 0xe1, 0xd0, 0xb4, 0x00, 0x57, 0x62, 0xb8, 0x3c, 0xe4, 0xc5, 0xe4, 0x44, 0xaf, 0x11, 0x45, 0xb7, + 0x93, 0x54, 0xe4, 0x82, 0x87, 0x5a, 0x12, 0x39, 0x46, 0xa8, 0xa9, 0xf4, 0x86, 0x06, 0x94, 0x6e, + 0x78, 0x81, 0xe8, 0x47, 0x43, 0x66, 0x5c, 0xda, 0x40, 0xe4, 0xbf, 0x71, 0x73, 0x40, 0xd8, 0x59, + 0xd3, 0x1f, 0xef, 0x0d, 0x2d, 0x97, 0xcb, 0x56, 0x87, 0x43, 0xe6, 0x2e, 0xee, 0x1c, 0xd3, 0x62, + 0x84, 0x4c, 0x80, 0xfd, 0x13, 0x51, 0xb5, 0x8f, 0xba, 0x49, 0xd5, 0x29, 0x8c, 0xf7, 0xdf, 0x89, + 0x4d, 0x01, 0x43, 0x01, 0x21, 0x56, 0x5b, 0x70, 0x13, 0x5e, 0xfb, 0xce, 0x2b, 0x0b, 0xdd, 0xd8, + 0x48, 0x11, 0x74, 0x58, 0x27, 0x0d, 0x03, 0x5f, 0xe0, 0x7c, 0x74, 0xb4, 0x75, 0x97, 0xda, 0x17, + 0xbd, 0xf4, 0xc2, 0xba, 0x89, 0xf7, 0x51, 0x1b, 0x77, 0x3f, 0x11, 0x5f, 0x9f, 0xcd, 0xce, 0x00, + 0x71, 0x64, 0x60, 0x0a, 0xb4, 0x54, 0xcf, 0x9f, 0x66, 0xf6, 0xd2, 0xeb, 0x15, 0xd7, 0x72, 0x6f, + 0x77, 0x4b, 0x04, 0x11, 0x73, 0xec, 0x62, 0x36, 0x68, 0xd6, 0x86, 0x86, 0x77, 0x82, 0xbf, 0x75, + 0x15, 0x3d, 0xea, 0xd6, 0xbc, 0x45, 0xaf, 0xd2, 0x1e, 0x7a, 0x67, 0x35, 0x74, 0x1c, 0xe0, 0x41, + 0xaf, 0xae, 0xd3, 0x6d, 0x57, 0x57, 0xcc, 0x16, 0xde, 0xa5, 0xdf, 0xdb, 0xe8, 0x8d, 0xec, 0x68, + 0x04, 0xd3, 0x70, 0x34, 0x87, 0xbd, 0xa0, 0x4e, 0xf4, 0xf5, 0x3a, 0xf2, 0x23, 0x14, 0x5e, 0x6b, + 0xcb, 0x40, 0x29, 0x0e, 0x2c, 0xac, 0xc0, 0x88, 0xcb, 0xe8, 0x85, 0x3b, 0x00, 0xa6, 0xe1, 0x10, + 0xdd, 0x9e, 0x9e, 0xc2, 0xb8, 0x5f, 0xcf, 0x1c, 0xff, 0xf1, 0x07, 0x72, 0xe5, 0xc3, 0x3f, 0x4b, + 0xc4, 0xd4, 0x56, 0x37, 0x13, 0x55, 0x52, 0xc3, 0xc8, 0x26, 0x81, 0xbc, 0x0c, 0x53, 0x0a, 0x37, + 0xcd, 0xe3, 0x83, 0x6b, 0x3e, 0x06, 0x94, 0x05, 0x4b, 0x00, 0xe4, 0x39, 0xf1, 0x86, 0xf8, 0x41, + 0x60, 0xfa, 0x16, 0x9b, 0xa5, 0x17, 0xbf, 0xcf, 0x17, 0xa3, 0x53, 0x0e, 0x08, 0xa5, 0x02, 0x9a, + 0x51, 0xdb, 0x10, 0x81, 0x57, 0x55, 0xf3, 0xdc, 0x8d, 0xb9, 0x10, 0x37, 0x53, 0xc0, 0x41, 0xaa, + 0x26, 0xa1, 0xee, 0x9b, 0xe6, 0x56, 0x7b, 0x97, 0xc7, 0xbc, 0xcf, 0xe6, 0x66, 0x66, 0xa0, 0xfa, + 0xe1, 0x8a, 0x86, 0x05, 0xc9, 0x95, 0x4a, 0x9d, 0xb4, 0xbd, 0x0c, 0x03, 0xd4, 0x3f, 0xf5, 0xe6, + 0xdd, 0xa9, 0x6b, 0xaf, 0xd2, 0xd4, 0x9d, 0xff, 0xad, 0x8a, 0x60, 0xa1, 0xed, 0xd8, 0x78, 0xcc, + 0xc1, 0xa1, 0x36, 0x4b, 0xb7, 0xbd, 0xa4, 0xd7, 0x33, 0x09, 0xc8, 0xc2, 0xd5, 0xec, 0x0e, 0x2b, + 0x09, 0x80, 0x01, 0x21, 0xc8, 0x44, 0xd2, 0xa7, 0x61, 0x93, 0xca, 0xfe, 0x91, 0xed, 0xc2, 0x95, + 0xc9, 0x54, 0xe5, 0x4a, 0xff, 0x02, 0xf5, 0x72, 0xbd, 0xb7, 0x26, 0x3f, 0x01, 0x3d, 0xe8, 0x08, + 0xab, 0x0b, 0x87, 0x39, 0x22, 0x66, 0x9c, 0x36, 0x36, 0x5f, 0x65, 0x0d, 0xea, 0x02, 0x5f, 0xa1, + 0x2c, 0x24, 0x78, 0x8b, 0x27, 0xe4, 0x05, 0xd8, 0x5e, 0xb0, 0x71, 0x61, 0x14, 0x78, 0x10, 0xac, + 0x07, 0xb1, 0x77, 0x4b, 0xe1, 0x8d, 0x1a, 0xf3, 0x71, 0x1f, 0x45, 0x52, 0x68, 0x23, 0x3b, 0xe5, + 0x4b, 0x28, 0xbb, 0xbe, 0x1e, 0x58, 0x4f, 0xf3, 0x93, 0xda, 0x87, 0x88, 0x0b, 0x7f, 0xa7, 0x5f, + 0xd7, 0x1b, 0x2b, 0x3e, 0xae, 0x4a, 0xae, 0x45, 0xff, 0x09, 0xea, 0xa7, 0x5f, 0x60, 0x75, 0x32, + 0x1e, 0xb3, 0xcd, 0x7a, 0xf4, 0x09, 0xca, 0x7f, 0x46, 0xc5, 0xcd, 0x58, 0x06, 0x2a, 0xd4, 0xbf, + 0x7c, 0x34, 0x6a, 0x29, 0xe8, 0x7d, 0x73, 0xa4, 0xe0, 0x0b, 0x72, 0x8a, 0x69, 0x43, 0x40, 0x3d, + 0x09, 0xca, 0x3f, 0xcf, 0xd6, 0xfc, 0x84, 0x15, 0x35, 0x4c, 0x51, 0x66, 0x51, 0x56, 0x12, 0x57, + 0x1c, 0xe1, 0x94, 0xc0, 0xb7, 0xa1, 0xda, 0x3c, 0x89, 0x31, 0xe4, 0x3d, 0x3e, 0x9a, 0xaa, 0x79, + 0x55, 0xab, 0xee, 0xa1, 0x21, 0x23, 0xec, 0xf0, 0x57, 0x32, 0x85, 0x71, 0x3d, 0xb9, 0xec, 0xe4, + 0xbc, 0x85, 0xc1, 0x7c, 0x1f, 0xfd, 0x22, 0x18, 0x1f, 0xdf, 0xb2, 0x66, 0xf8, 0x68, 0x64, 0x37, + 0x76, 0x34, 0xa4, 0x1d, 0xda, 0x7f, 0xf0, 0x19, 0x2b, 0x0b, 0x12, 0x85, 0x06, 0x0f, 0x64, 0x4e, + 0x8c, 0xc4, 0x5f, 0x63, 0x11, 0xec, 0x8d, 0xf1, 0xee, 0x54, 0xf4, 0x73, 0x92, 0xf6, 0x18, 0xbc, + 0xeb, 0xbe, 0x92, 0x88, 0x98, 0xe0, 0x8b, 0x50, 0x5a, 0x8c, 0xce, 0x07, 0x38, 0xae, 0xf0, 0x7b, + 0x30, 0xe3, 0xd1, 0x80, 0xba, 0x06, 0x0e, 0x88, 0x92, 0x68, 0x8a, 0x06, 0xc3, 0xa5, 0xb0, 0xbc, + 0x0a, 0xfd, 0xdd, 0xd9, 0x0d, 0x75, 0xf3, 0xe4, 0x90, 0xb5, 0x19, 0xa6, 0x12, 0x9a, 0x4e, 0x05, + 0x03, 0xa3, 0xaf, 0x76, 0x2f, 0x9e, 0x29, 0x63, 0x29, 0x57, 0x25, 0x78, 0x31, 0xaa, 0x40, 0xf2, + 0xb3, 0xbc, 0x6e, 0xc5, 0xa4, 0xb9, 0x5e, 0x73, 0x21, 0xeb, 0x24, 0x84, 0x60, 0x74, 0x57, 0xb1, + 0x80, 0xa8, 0x23, 0x49, 0x82, 0x5d, 0xbb, 0x59, 0xd0, 0x54, 0x2b, 0x43, 0x49, 0xa3, 0x05, 0xd8, + 0xc7, 0x91, 0x8c, 0x6f, 0x92, 0xbd, 0xa6, 0xfb, 0xfd, 0xb6, 0x97, 0xc5, 0xa0, 0x57, 0xec, 0x87, + 0xfd, 0xce, 0xad, 0x28, 0xfc, 0xb7, 0x22, 0x3c, 0xe4, 0xb7, 0x9b, 0x3f, 0x26, 0x71, 0x79, 0x81, + 0x27, 0x39, 0x75, 0xc7, 0x05, 0xed, 0x8e, 0xa2, 0x00, 0x40, 0xd9, 0x0f, 0xf9, 0x08, 0x2a, 0x3b, + 0xee, 0xd2, 0x3a, 0x61, 0x56, 0x26, 0xb4, 0xfe, 0xf3, 0xe0, 0xb7, 0x0f, 0xab, 0x98, 0x0d, 0x7d, + 0x30, 0xb8, 0x92, 0x25, 0x38, 0xa2, 0xc3, 0x99, 0xc1, 0xdd, 0xd3, 0x65, 0x6a, 0x0c, 0x89, 0x8e, + 0xfc, 0xa8, 0xeb, 0xaa, 0x9f, 0x3f, 0x03, 0x73, 0xc2, 0xb0, 0x9b, 0x49, 0xac, 0x64, 0x2a, 0xd0, + 0x25, 0xc7, 0xee, 0x91, 0x43, 0xd3, 0xce, 0x08, 0xcf, 0x14, 0x80, 0x66, 0x49, 0xf9, 0x52, 0x31, + 0x82, 0x7f, 0x50, 0x61, 0x72, 0xed, 0x36, 0x9c, 0xc5, 0xb4, 0x0a, 0xac, 0x4a, 0x77, 0xb8, 0x0e, + 0xcb, 0x6e, 0x97, 0xfa, 0x5a, 0xdf, 0x65, 0x8a, 0x00, 0xdd, 0xf8, 0xae, 0xf2, 0x1c, 0x24, 0xc2, + 0x41, 0x87, 0x23, 0x7e, 0x6f, 0xda, 0xfc, 0x5d, 0x26, 0x27, 0x5c, 0x39, 0xa8, 0x17, 0x3f, 0x0b, + 0x05, 0x19, 0xdb, 0x84, 0x71, 0x88, 0xe9, 0x1e, 0x8b, 0x95, 0x6b, 0x71, 0x3f, 0x37, 0xe5, 0xbb, + 0xcc, 0xd6, 0x52, 0xbb, 0xa4, 0x1c, 0x8b, 0x47, 0xb4, 0xbd, 0x83, 0x7d, 0x7c, 0xff, 0x9e, 0x13, + 0xb1, 0x24, 0x15, 0xf7, 0x15, 0x42, 0x66, 0x0a, 0x7c, 0xf0, 0xe0, 0x1d, 0x47, 0xb5, 0xa5, 0xc8, + 0x37, 0x9d, 0x57, 0xb4, 0xc0, 0x81, 0xc1, 0x5b, 0x02, 0xdd, 0x5b, 0xdb, 0xa8, 0x0b, 0x59, 0xd8, + 0x06, 0xbf, 0xd8, 0x65, 0x26, 0xc5, 0x05, 0x50, 0x8c, 0xcb, 0x23, 0x77, 0xac, 0x05, 0xfc, 0x89, + 0x62, 0xec, 0xcd, 0x79, 0x36, 0x2b, 0x1e, 0xbb, 0x5c, 0xfe, 0x21, 0x7a, 0xbf, 0x96, 0x3b, 0x14, + 0x6b, 0x1f, 0xd2, 0xbb, 0x18, 0x41, 0x67, 0x26, 0xc7, 0xe2, 0x12, 0x00, 0xa9, 0xd6, 0xc9, 0x74, + 0x03, 0x61, 0xbf, 0xa5, 0xf1, 0xac, 0x54, 0x88, 0x23, 0x1f, 0x60, 0x1e, 0xbc, 0x14, 0x35, 0x0d, + 0x99, 0xf3, 0x69, 0x3c, 0xd0, 0x5c, 0xb0, 0xaa, 0xf3, 0x48, 0xc3, 0xe7, 0x4d, 0xd6, 0x74, 0x6b, + 0xd5, 0x21, 0x0a, 0x45, 0xd7, 0x04, 0x60, 0x2e, 0xfa, 0x49, 0x63, 0x0f, 0xc9, 0x48, 0x72, 0xaf, + 0xbd, 0x69, 0x5c, 0xc4, 0x99, 0xd9, 0x86, 0xea, 0xf8, 0xac, 0x19, 0x27, 0xfa, 0x75, 0x54, 0xdd, + 0x65, 0x55, 0xbf, 0x6a, 0xdd, 0xf9, 0x60, 0x96, 0x8f, 0x93, 0x94, 0xd4, 0xc7, 0x01, 0xf6, 0xc0, + 0x4a, 0xbf, 0xcd, 0x4a, 0xad, 0xb8, 0x89, 0x91, 0x19, 0xdf, 0x93, 0xbe, 0x46, 0xac, 0x71, 0x08, + 0xd6, 0xe0, 0x6a, 0x1d, 0x12, 0x50, 0x26, 0xdf, 0xb7, 0xd5, 0x68, 0x8f, 0x1c, 0x72, 0x5c, 0xce, + 0x7a, 0x43, 0xfb, 0x82, 0x8e, 0xf5, 0x5d, 0x46, 0xd3, 0xde, 0x43, 0x3b, 0x16, 0xab, 0x85, 0x44, + 0x88, 0xf9, 0x32, 0x98, 0x94, 0xb1, 0x5e, 0x42, 0xc4, 0xa5, 0xc2, 0xc2, 0xff, 0x4c, 0x9a, 0xd2, + 0x28, 0x16, 0x3a, 0x75, 0x01, 0xd8, 0x0d, 0xf7, 0x21, 0x41, 0x1e, 0xca, 0x37, 0x2b, 0xba, 0x2a, + 0x02, 0xc8, 0x87, 0x6b, 0xef, 0xa1, 0x48, 0xdd, 0x0e, 0xb6, 0xef, 0xb5, 0x93, 0xc6, 0xcc, 0x46, + 0x98, 0x53, 0x8e, 0x45, 0x7b, 0x3f, 0xf7, 0xd4, 0x47, 0x92, 0x72, 0xa3, 0x65, 0x64, 0xeb, 0x2c, + 0xcc, 0x64, 0x09, 0x18, 0xa6, 0x8c, 0x15, 0x05, 0xb3, 0x4a, 0xee, 0x91, 0xb2, 0x93, 0x2d, 0x11, + 0x8f, 0x78, 0x46, 0x00, 0xd1, 0x26, 0x02, 0x20, 0x1d, 0x82, 0xdc, 0xc4, 0xd0, 0xfd, 0x66, 0xfb, + 0x66, 0xb6, 0x08, 0x1f, 0xd2, 0xad, 0xeb, 0xbb, 0x69, 0x95, 0xaf, 0xec, 0xbe, 0x18, 0x19, 0x39, + 0x93, 0xfb, 0x51, 0x10, 0x74, 0x9f, 0x9e, 0x40, 0x6e, 0xcd, 0x29, 0xf9, 0x2a, 0xcb, 0x26, 0x54, + 0x87, 0x25, 0xaf, 0xe4, 0xd7, 0x1c, 0x6b, 0xec, 0x66, 0x2e, 0xa4, 0x1b, 0x1e, 0x21, 0x27, 0x27, + 0xab, 0x91, 0xa2, 0x89, 0x3a, 0x61, 0xcb, 0xee, 0xf1, 0x91, 0xe3, 0x35, 0x5a, 0xbe, 0xd2, 0x42, + 0xa6, 0x15, 0x76, 0xc6, 0x9a, 0x24, 0xf2, 0xd2, 0xe3, 0x04, 0xc4, 0x5d, 0x69, 0x02, 0x58, 0xc4, + 0x12, 0xe1, 0x0a, 0xad, 0xde, 0x6f, 0x86, 0xed, 0xf0, 0x61, 0xf3, 0x39, 0x3b, 0x8f, 0x46, 0x86, + 0xdc, 0x96, 0x15, 0x87, 0x46, 0x0b, 0x18, 0xaa, 0x2d, 0xfa, 0x6f, 0xf3, 0xdb, 0x4a, 0x48, 0xd4, + 0x28, 0x20, 0x9d, 0x71, 0x26, 0xf4, 0xd5, 0x72, 0x28, 0x78, 0xa4, 0x5b, 0xf6, 0xb6, 0x37, 0x9e, + 0xc6, 0xc3, 0x5e, 0xd5, 0x61, 0xf9, 0xfe, 0x90, 0x62, 0xaf, 0xa8, 0x5b, 0x46, 0x0e, 0xef, 0xa3, + 0x00, 0x34, 0x4f, 0xd0, 0x48, 0x91, 0x77, 0xc1, 0x9c, 0xa5, 0xbc, 0x54, 0xf8, 0x82, 0x13, 0x00, + 0x33, 0x36, 0x73, 0x13, 0x98, 0xff, 0x3b, 0x67, 0x01, 0xc8, 0xee, 0x90, 0xdd, 0x85, 0x73, 0xa6, + 0x17, 0xce, 0xcb, 0xb0, 0x3a, 0x00, 0x17, 0x0c, 0x48, 0x5f, 0x03, 0x60, 0x15, 0x51, 0x69, 0xda, + 0x8f, 0xe6, 0x38, 0x5d, 0x73, 0xfd, 0x08, 0xf5, 0x2d, 0x2c, 0x05, 0xa4, 0xa9, 0xcb, 0xc9, 0x78, + 0xee, 0x63, 0xba, 0x5c, 0x35, 0xe9, 0x7d, 0x8e, 0x10, 0xce, 0xad, 0x18, 0x3d, 0x70, 0x43, 0x1c, + 0x92, 0xfe, 0x7a, 0x58, 0xbd, 0xa7, 0xd8, 0x02, 0x5f, 0x55, 0x76, 0x76, 0xfb, 0xa4, 0xf4, 0xad, + 0xec, 0x7b, 0x47, 0xc0, 0xaa, 0xcd, 0x67, 0xed, 0x61, 0xc6, 0xf0, 0xf7, 0x66, 0xe6, 0x46, 0x6d, + 0x63, 0xeb, 0x36, 0xc1, 0x45, 0xd9, 0x9b, 0x9b, 0x22, 0x90, 0x42, 0x84, 0xed, 0x4b, 0x5b, 0x81, + 0x7a, 0x90, 0xe7, 0xf5, 0x31, 0x22, 0xae, 0xbe, 0xab, 0x20, 0xc1, 0xcd, 0x92, 0x7f, 0xe9, 0x2a, + 0x1e, 0xe2, 0xe4, 0x2a, 0xe0, 0x4b, 0xd9, 0x12, 0x10, 0xe3, 0x27, 0xa1, 0xc7, 0xcc, 0xbd, 0xd5, + 0x99, 0xda, 0xa6, 0x6f, 0x30, 0xc0, 0xf1, 0xf9, 0xe1, 0x4c, 0xa1, 0x36, 0xa3, 0x46, 0xcb, 0x3e, + 0x9b, 0xe1, 0x77, 0xe9, 0x8b, 0x6a, 0xdd, 0xd2, 0xa5, 0xa8, 0x52, 0x1f, 0x47, 0x47, 0xde, 0x0c, + 0xcc, 0x45, 0x7e, 0xbc, 0x60, 0x64, 0xaa, 0x6d, 0x5e, 0x1a, 0x9a, 0x5d, 0x64, 0x45, 0x4c, 0x32, + 0x7f, 0xc3, 0x46, 0x69, 0x04, 0xf0, 0x89, 0x22, 0x2a, 0x2a, 0xb2, 0x59, 0x23, 0xcb, 0xf9, 0x4d, + 0x6b, 0x6d, 0x6f, 0x2b, 0xd0, 0x74, 0x35, 0xf0, 0x04, 0xdf, 0x75, 0x5f, 0x94, 0xc2, 0xe6, 0x4c, + 0x9f, 0x07, 0x3a, 0x9d, 0xa5, 0x13, 0x04, 0x75, 0x38, 0x34, 0xaa, 0x2b, 0xfa, 0x22, 0x2e, 0xb9, + 0x96, 0x9d, 0xbb, 0x81, 0x06, 0x1f, 0x9a, 0x3b, 0x06, 0x37, 0x30, 0x13, 0x64, 0x41, 0x4d, 0xf3, + 0xc7, 0x4b, 0x53, 0x69, 0xa1, 0x7d, 0xc8, 0x12, 0x7c, 0xe9, 0x04, 0x4d, 0x47, 0x78, 0x16, 0xe0, + 0x1b, 0x43, 0x0d, 0xf2, 0xc1, 0x2f, 0x28, 0xf5, 0xa9, 0x57, 0x63, 0x25, 0xdb, 0x26, 0x08, 0xeb, + 0x93, 0xb3, 0xe7, 0x2e, 0xa4, 0x88, 0x56, 0x64, 0xfd, 0x45, 0xcf, 0x58, 0x57, 0x4e, 0x93, 0x45, + 0x35, 0x56, 0x26, 0x9d, 0xd3, 0x9e, 0xee, 0x34, 0x9b, 0x9b, 0x6c, 0xe6, 0xb1, 0x80, 0x26, 0x9e, + 0xa4, 0x97, 0x5a, 0xe2, 0x1e, 0x61, 0x51, 0x1f, 0x66, 0x92, 0x37, 0xc6, 0x27, 0x5b, 0x58, 0x58, + 0xdf, 0xdf, 0x4a, 0xce, 0x1e, 0x4c, 0xe4, 0x4e, 0x43, 0x98, 0xcb, 0x7d, 0x1a, 0x36, 0xa5, 0x24, + 0x15, 0xf3, 0x9a, 0xdb, 0x0a, 0xb1, 0x9c, 0x8e, 0x7e, 0x8a, 0x5e, 0x47, 0xa8, 0x6f, 0x89, 0xdc, + 0x68, 0x86, 0x99, 0x21, 0x93, 0xb6, 0xe1, 0x0c, 0xa0, 0x55, 0x65, 0x0e, 0x6d, 0xf6, 0x28, 0xd7, + 0x74, 0x82, 0x0d, 0xe0, 0xf2, 0x6d, 0x70, 0xf9, 0xd1, 0x5b, 0x12, 0x23, 0x89, 0x64, 0xfb, 0x78, + 0x58, 0xb9, 0x1d, 0x3b, 0xa7, 0x6a, 0xa6, 0x20, 0x57, 0x22, 0x10, 0xb3, 0xf5, 0xb9, 0xd3, 0x78, + 0x15, 0x16, 0xa8, 0x10, 0xd2, 0xb6, 0x1d, 0x51, 0x1c, 0xd1, 0xee, 0x1b, 0x4e, 0xa2, 0x89, 0xe8, + 0xdb, 0x9c, 0x82, 0x1e, 0xea, 0x12, 0x8f, 0x00, 0x09, 0x5a, 0xae, 0x5a, 0xfe, 0x57, 0x27, 0xc4, + 0x78, 0x18, 0x43, 0x66, 0xd5, 0x14, 0x79, 0x12, 0x06, 0x8b, 0xcc, 0xab, 0x01, 0xbb, 0xe1, 0x51, + 0x78, 0xd3, 0x4e, 0x73, 0x92, 0xc2, 0xc5, 0x01, 0x1d, 0x4a, 0xb5, 0xc6, 0x69, 0xc0, 0xcb, 0xb9, + 0xf2, 0xdf, 0xde, 0xfe, 0xb2, 0x16, 0xac, 0xa8, 0xd7, 0xc6, 0x45, 0xe4, 0xa9, 0xb9, 0xd5, 0x91, + 0x1a, 0x25, 0x75, 0x6b, 0x68, 0x95, 0x6d, 0x0c, 0x9f, 0x7a, 0x41, 0x01, 0x31, 0x91, 0x84, 0x97, + 0xea, 0x79, 0x5a, 0xa3, 0xd6, 0x1d, 0xb4, 0xe9, 0xca, 0x3d, 0x76, 0x72, 0x1e, 0xa2, 0x31, 0x08, + 0xc8, 0x2e, 0xc3, 0xcc, 0x46, 0xa9, 0x87, 0xbc, 0xf0, 0x5d, 0xac, 0xb2, 0xb8, 0xea, 0x18, 0x24, + 0x43, 0xe5, 0x3c, 0x1d, 0xbc, 0xb7, 0xdf, 0x93, 0xec, 0x20, 0x5d, 0x9e, 0x4a, 0x42, 0xb1, 0xca, + 0x4d, 0x7a, 0xbb, 0xd2, 0x50, 0x34, 0xb6, 0xbb, 0xf2, 0xb9, 0xde, 0xf4, 0x2c, 0x98, 0xc6, 0xfb, + 0x51, 0x95, 0x0e, 0xcb, 0x57, 0xe8, 0xcc, 0x55, 0x70, 0x04, 0xa4, 0x97, 0x46, 0x7b, 0xa2, 0xd3, + 0xc8, 0xb3, 0x67, 0x1a, 0x42, 0x66, 0xd1, 0x28, 0xee, 0x63, 0x03, 0xce, 0x78, 0x0c, 0xef, 0x6b, + 0xa1, 0xe9, 0x55, 0x4c, 0x9e, 0x87, 0xdf, 0x4b, 0xd5, 0xa6, 0x0c, 0xdc, 0xe1, 0x23, 0xfd, 0x06, + 0xb2, 0x19, 0xd6, 0x7a, 0x77, 0xb0, 0x61, 0xbb, 0x7b, 0xd7, 0xca, 0xff, 0x75, 0x5a, 0x6f, 0xc3, + 0xf9, 0xb1, 0x54, 0xb4, 0x6e, 0x28, 0x94, 0xdf, 0x5a, 0xcb, 0x19, 0x93, 0x48, 0x8d, 0xb9, 0x2c, + 0xf3, 0x86, 0x2f, 0xdc, 0x96, 0x92, 0x84, 0xa1, 0x03, 0xe5, 0x98, 0xf4, 0xb0, 0x87, 0x0b, 0x6a, + 0x49, 0x01, 0xcb, 0xc7, 0x20, 0x37, 0x44, 0x70, 0x46, 0x11, 0x43, 0x4b, 0xcb, 0xaf, 0x13, 0xd8, + 0xd0, 0x1a, 0xce, 0xc1, 0x63, 0x3f, 0xde, 0xa4, 0x66, 0xcb, 0x6b, 0xba, 0x78, 0xbe, 0x02, 0x08, + 0x12, 0x5e, 0x08, 0xa2, 0x92, 0xa8, 0xa1, 0xef, 0xfb, 0xd0, 0xbf, 0x7e, 0x18, 0xf5, 0xb5, 0x9c, + 0x04, 0xf6, 0xaf, 0xba, 0x5f, 0xdc, 0xf8, 0x02, 0x3a, 0x81, 0x8f, 0x87, 0x74, 0x1f, 0x13, 0xb8, + 0x0d, 0xb7, 0xa8, 0x7d, 0x50, 0x73, 0x02, 0xb8, 0xcb, 0xe8, 0xcb, 0x54, 0xbc, 0xc7, 0x2f, 0xf7, + 0x85, 0xbb, 0x8e, 0x27, 0x1b, 0xd7, 0x3f, 0x5b, 0x2c, 0xc0, 0xa5, 0xdf, 0x05, 0x29, 0x39, 0x5d, + 0x58, 0xa2, 0x4a, 0x1f, 0xd3, 0x06, 0xc8, 0xf3, 0x2d, 0x72, 0x39, 0xed, 0xb4, 0x00, 0x1b, 0x2d, + 0xde, 0x53, 0x4b, 0xf7, 0x0d, 0x24, 0x74, 0x6d, 0x48, 0x37, 0x2d, 0x05, 0x29, 0xfc, 0x41, 0xd1, + 0x2a, 0x56, 0xa2, 0x1e, 0x52, 0x0d, 0x21, 0xb5, 0xbf, 0x2c, 0x90, 0xe8, 0x97, 0xe6, 0x80, 0x3d, + 0x59, 0xa7, 0x96, 0xc6, 0x06, 0xa3, 0x46, 0x8a, 0x49, 0xe5, 0x42, 0xda, 0x12, 0x1d, 0xa2, 0x20, + 0xd5, 0xa9, 0xe3, 0x39, 0x5d, 0xfd, 0x6c, 0x00, 0xc9, 0xde, 0x1b, 0xc1, 0x6c, 0x57, 0x87, 0xa1, + 0x1e, 0xce, 0x90, 0x0e, 0x5e, 0xc3, 0xba, 0x56, 0xfd, 0xa7, 0x64, 0x3c, 0xff, 0x44, 0xee, 0xd4, + 0x75, 0xde, 0x1a, 0x99, 0x75, 0x5f, 0xea, 0x5a, 0xcf, 0x15, 0x93, 0xe9, 0xa6, 0xf0, 0xa0, 0xc1, + 0x2c, 0xe4, 0x18, 0x8a, 0xc8, 0x89, 0x7f, 0xb8, 0xd5, 0x94, 0x36, 0xe4, 0x32, 0xe3, 0x47, 0xcf, + 0x66, 0x63, 0x99, 0xfb, 0xee, 0xce, 0xc8, 0x31, 0x94, 0xd4, 0x6a, 0xa8, 0x7a, 0xa0, 0xf2, 0x0d, + 0x7a, 0xff, 0x2a, 0xe9, 0x5b, 0x2e, 0xf1, 0x85, 0xd7, 0x93, 0x1f, 0xd6, 0x57, 0xd6, 0xc5, 0x48, + 0xaa, 0x82, 0x94, 0xb8, 0x51, 0xd8, 0x38, 0x6d, 0xfd, 0xfb, 0xd8, 0xb7, 0xe9, 0x7a, 0x7a, 0xdd, + 0xd1, 0x4a, 0x23, 0x26, 0x23, 0xa7, 0x9d, 0x90, 0xcd, 0x85, 0x47, 0x7b, 0xe3, 0xa1, 0x9d, 0x95, + 0x44, 0x6c, 0x60, 0x77, 0xf8, 0xe6, 0xf0, 0x44, 0x00, 0x98, 0x8e, 0x04, 0x50, 0x40, 0x24, 0x58, + 0xe1, 0x0c, 0xb4, 0xbe, 0x1c, 0xf6, 0x28, 0x71, 0xbb, 0xf0, 0xa8, 0x11, 0xea, 0x61, 0xba, 0x7d, + 0x7f, 0xc7, 0x43, 0x95, 0x7c, 0x6e, 0xf7, 0x1f, 0xed, 0x0d, 0x99, 0x16, 0x15, 0x8f, 0xf5, 0x63, + 0x77, 0xd0, 0x18, 0xb5, 0xbc, 0x5a, 0xa5, 0x38, 0x8a, 0x61, 0x2d, 0xe7, 0x8c, 0xbf, 0xff, 0x10, + 0x35, 0x28, 0x59, 0xd3, 0x25, 0x0b, 0x89, 0x6c, 0x65, 0x4c, 0xd4, 0xcb, 0x54, 0x6a, 0x61, 0xd9, + 0xa1, 0xd3, 0x3c, 0x07, 0xf1, 0x80, 0x0f, 0x37, 0x3f, 0x72, 0x5e, 0xef, 0x9a, 0x5f, 0x34, 0x67, + 0xf4, 0xc3, 0x7b, 0xbf, 0xfc, 0xf6, 0x9b, 0xb0, 0x11, 0x97, 0xf7, 0xb1, 0xf7, 0x80, 0x74, 0x12, + 0xbb, 0x80, 0x8a, 0xb8, 0x64, 0x2f, 0x95, 0xdb, 0xf5, 0x23, 0x58, 0xf2, 0x10, 0x47, 0x72, 0x5d, + 0x44, 0x0e, 0xe4, 0xef, 0x20, 0x19, 0x33, 0x4e, 0xd8, 0x70, 0xf9, 0x34, 0x9c, 0xae, 0xd6, 0x97, + 0x68, 0x1a, 0xaf, 0x86, 0xd5, 0x56, 0xea, 0x47, 0xe5, 0xe0, 0x40, 0x39, 0xde, 0x0d, 0x64, 0x34, + 0x0f, 0x98, 0xa7, 0x29, 0xa6, 0x36, 0x12, 0x88, 0xaf, 0x61, 0x86, 0xf7, 0xb2, 0x7d, 0x86, 0x5e, + 0x35, 0xb4, 0x63, 0xa4, 0x54, 0x8d, 0x54, 0x49, 0xc7, 0x95, 0x1d, 0x92, 0xb8, 0x93, 0xc7, 0x86, + 0x90, 0x09, 0x7f, 0xab, 0xb5, 0x6e, 0xcf, 0xe7, 0x1f, 0x10, 0x72, 0x5b, 0x22, 0x1a, 0x39, 0x70, + 0xab, 0xb8, 0xb1, 0x82, 0x2c, 0xdf, 0x23, 0x23, 0x82, 0x83, 0x53, 0x1c, 0xec, 0xc0, 0x97, 0x17, + 0xc0, 0x7e, 0x8f, 0xd3, 0xd5, 0x72, 0xa3, 0xbf, 0xbd, 0xd5, 0xc6, 0x7e, 0xc7, 0x72, 0xe0, 0x70, + 0x87, 0xc7, 0x03, 0xbe, 0xa2, 0x4a, 0xb2, 0xa7, 0xd5, 0xc0, 0xca, 0x34, 0xa1, 0x8e, 0xc6, 0x74, + 0x7d, 0x99, 0xe1, 0x6b, 0x66, 0x24, 0xf9, 0x33, 0x79, 0xbb, 0x2b, 0x24, 0x56, 0xf4, 0xa5, 0xb3, + 0xec, 0x9c, 0x80, 0x10, 0x2c, 0x4f, 0x4c, 0x86, 0x50, 0x8b, 0x6a, 0xf2, 0x76, 0x77, 0xab, 0x7c, + 0xf6, 0x9d, 0x54, 0xec, 0x0b, 0x15, 0xe0, 0x0f, 0x76, 0xbf, 0x83, 0xfb, 0x02, 0x77, 0x2b, 0x11, + 0x7b, 0x95, 0xc9, 0x85, 0x82, 0xb3, 0x9f, 0x98, 0x3d, 0x86, 0x3e, 0xfd, 0xfd, 0x5e, 0x9a, 0x00, + 0xa6, 0x44, 0xa7, 0xe2, 0x4d, 0xd2, 0x30, 0x49, 0xb2, 0x6f, 0x61, 0x10, 0xe7, 0x96, 0x8b, 0x8e, + 0x2f, 0x31, 0xee, 0x4c, 0xa1, 0xf4, 0xaf, 0xf2, 0xdc, 0xdb, 0xab, 0x77, 0x1d, 0xe2, 0xfe, 0xb3, + 0x2e, 0x55, 0xee, 0x78, 0x3e, 0xa2, 0x9e, 0xec, 0x65, 0xf7, 0x95, 0x74, 0x62, 0x28, 0x17, 0x64, + 0x7f, 0xee, 0xf0, 0xc4, 0xda, 0x61, 0xae, 0x19, 0x1b, 0xe9, 0xae, 0xc8, 0x75, 0x55, 0xac, 0xfa, + 0x0c, 0x4d, 0x5e, 0x38, 0xf3, 0x9e, 0x63, 0xc0, 0x2c, 0x4f, 0x56, 0xe9, 0xb7, 0xfc, 0x24, 0xed, + 0xff, 0xcc, 0xf3, 0xb2, 0x34, 0x66, 0x52, 0xc6, 0x75, 0xe8, 0x4c, 0x31, 0xa5, 0xc4, 0xae, 0x11, + 0x3f, 0x1d, 0x4c, 0xd3, 0x47, 0xd2, 0x87, 0xb1, 0x6c, 0x9c, 0x08, 0xa0, 0xf6, 0x39, 0xac, 0x99, + 0x8e, 0x2c, 0x06, 0x4f, 0x68, 0x88, 0x1f, 0xbb, 0x73, 0x14, 0x47, 0xf5, 0x49, 0x4f, 0xe7, 0xdc, + 0x0e, 0xd5, 0x90, 0xc1, 0xdb, 0x4f, 0xcc, 0x6c, 0x9b, 0x40, 0x68, 0xb8, 0x32, 0x90, 0xf2, 0x87, + 0x90, 0x34, 0x91, 0x76, 0x71, 0xfa, 0xa6, 0x35, 0x36, 0x8c, 0x70, 0xff, 0xd9, 0x14, 0x7d, 0x52, + 0x77, 0x14, 0x88, 0x12, 0x44, 0x46, 0xd7, 0xc3, 0xd2, 0xe3, 0x23, 0x60, 0x34, 0x78, 0xe3, 0x2b, + 0xe3, 0xdc, 0xfa, 0x90, 0xb5, 0xf6, 0x5b, 0x27, 0xde, 0x25, 0x54, 0xe3, 0x1b, 0x8c, 0xbb, 0xe2, + 0x66, 0x62, 0xc4, 0xbe, 0x11, 0x6a, 0xa0, 0x90, 0xfc, 0xfb, 0xdf, 0x9d, 0xaf, 0xf6, 0x6d, 0x96, + 0x3b, 0x38, 0xf0, 0xd2, 0x8c, 0x73, 0x3c, 0xe1, 0xd1, 0x61, 0x1a, 0xc8, 0x07, 0x3a, 0xd4, 0xc5, + 0x79, 0xf1, 0x89, 0xb6, 0xa2, 0xc9, 0x90, 0x25, 0x4f, 0x8c, 0x09, 0xe3, 0x51, 0x7b, 0xea, 0x0c, + 0xcb, 0xd0, 0x05, 0x23, 0x04, 0x90, 0x37, 0x9e, 0xd1, 0x7d, 0x80, 0x05, 0x6a, 0x71, 0x9e, 0x18, + 0xe8, 0x85, 0x0b, 0x1c, 0x26, 0xc8, 0xe1, 0xd2, 0x95, 0x3d, 0xdf, 0xd3, 0xa2, 0x27, 0x68, 0xe9, + 0xb2, 0x88, 0xd5, 0x7c, 0x22, 0x7b, 0x95, 0x2d, 0x76, 0x8c, 0xca, 0x96, 0xc9, 0x2e, 0xd8, 0x16, + 0x98, 0xad, 0xeb, 0xc2, 0x19, 0x4e, 0x76, 0xa7, 0x2e, 0x52, 0x4c, 0x57, 0xff, 0x28, 0x76, 0x85, + 0x6c, 0xfc, 0xb6, 0x6a, 0x46, 0x26, 0xb7, 0x81, 0x34, 0xc9, 0x74, 0x1a, 0xd5, 0x2b, 0xb3, 0xbd, + 0xaf, 0xd5, 0xaf, 0x7c, 0x9f, 0xd5, 0x4e, 0x24, 0x75, 0x83, 0xb7, 0x4c, 0x06, 0xeb, 0x3e, 0x98, + 0x12, 0x36, 0x09, 0x91, 0xa7, 0xb6, 0x6b, 0xa7, 0x0b, 0x1a, 0x42, 0x71, 0xb8, 0x16, 0x13, 0x9d, + 0x0f, 0x9a, 0xd2, 0x6e, 0x8c, 0x04, 0x39, 0x19, 0x32, 0xe0, 0x96, 0xf4, 0x27, 0xe3, 0x60, 0xdf, + 0x8f, 0x54, 0x90, 0xf0, 0xa8, 0xba, 0x32, 0x76, 0x29, 0x34, 0xef, 0xcd, 0xd0, 0x6f, 0xbc, 0x4e, + 0x97, 0xd0, 0x7c, 0xe6, 0x50, 0xd9, 0x73, 0x01, 0x81, 0x28, 0x97, 0x8d, 0xfe, 0x4e, 0x86, 0x52, + 0x30, 0x1a, 0x8d, 0x2a, 0x11, 0x0e, 0xc1, 0x14, 0xff, 0xef, 0x8d, 0x6f, 0x65, 0xfe, 0x6c, 0x87, + 0xc4, 0x9d, 0x6c, 0x26, 0x2c, 0x2c, 0xf9, 0x72, 0x7b, 0x41, 0x35, 0x47, 0x28, 0x9f, 0xc7, 0x51, + 0x03, 0xe3, 0x89, 0x3b, 0x4f, 0xb2, 0xde, 0x71, 0xe7, 0x26, 0x5d, 0x67, 0xee, 0xcf, 0x39, 0xbe, + 0x87, 0x13, 0x7d, 0x4e, 0xc3, 0x29, 0x46, 0x23, 0xab, 0x3c, 0xf6, 0xc1, 0x39, 0xf2, 0xb8, 0x68, + 0xea, 0x31, 0x11, 0x66, 0x68, 0xc7, 0x6c, 0xa6, 0x59, 0xfb, 0x72, 0xa1, 0xad, 0x45, 0x32, 0xbf, + 0xd8, 0xae, 0x24, 0x07, 0x7d, 0xaf, 0x0d, 0x50, 0xcc, 0xf7, 0x29, 0xb1, 0x66, 0x38, 0x63, 0x8f, + 0xf4, 0xa8, 0x53, 0xe7, 0x61, 0xfd, 0xbf, 0xd0, 0x99, 0x3f, 0xf0, 0x45, 0xe5, 0xde, 0x1a, 0x43, + 0xe0, 0x7c, 0xac, 0xb8, 0x9d, 0xa2, 0xe1, 0x8a, 0x9b, 0x4b, 0xa3, 0x3c, 0xcf, 0xf8, 0x31, 0xe2, + 0xae, 0x73, 0x32, 0xb0, 0x55, 0x68, 0xe2, 0x70, 0x8c, 0x3e, 0x6b, 0x53, 0x8d, 0x60, 0x19, 0x04, + 0xc5, 0x3c, 0x02, 0x2b, 0xbb, 0x60, 0x42, 0xaf, 0x7c, 0x46, 0x76, 0xd8, 0x4d, 0x7a, 0x03, 0xcc, + 0x15, 0x9d, 0x18, 0x5a, 0x02, 0x8c, 0x17, 0xaa, 0xab, 0xaf, 0xd6, 0x7f, 0x6e, 0x7e, 0xdd, 0xf7, + 0x32, 0x3e, 0x6a, 0x72, 0x51, 0x3e, 0xf7, 0x22, 0xfe, 0x34, 0x93, 0x51, 0x00, 0xb2, 0xed, 0x1d, + 0xe1, 0xfb, 0x91, 0x70, 0x86, 0xa2, 0xae, 0x3a, 0x88, 0x09, 0xad, 0xa4, 0xb5, 0x1c, 0x57, 0x82, + 0x67, 0x0a, 0xe5, 0xe9, 0x10, 0x32, 0x27, 0x79, 0x05, 0xa8, 0x68, 0x55, 0x67, 0x61, 0xf6, 0x1e, + 0x18, 0x38, 0x28, 0xd1, 0x1b, 0x5a, 0x9c, 0xc8, 0xd6, 0x15, 0xf9, 0xe7, 0xc9, 0xd9, 0xe3, 0x21, + 0x3c, 0x9d, 0x0f, 0x0d, 0xce, 0xd5, 0x0e, 0x45, 0xde, 0xa8, 0x35, 0x6b, 0x70, 0x36, 0xb9, 0x05, + 0xcf, 0x6b, 0xa2, 0x96, 0x8b, 0x98, 0xde, 0x2e, 0x64, 0x48, 0x6a, 0x27, 0xc1, 0x03, 0x0b, 0x9d, + 0xb5, 0x63, 0xbe, 0xaf, 0xf0, 0x51, 0x55, 0x03, 0x15, 0xe0, 0x87, 0x5c, 0x61, 0x77, 0x44, 0x04, + 0xaf, 0x4a, 0x51, 0x91, 0xef, 0x66, 0x99, 0xf2, 0x1b, 0x11, 0x11, 0x74, 0xc7, 0x85, 0x6d, 0x20, + 0xa5, 0xa5, 0x10, 0xb8, 0xec, 0x0d, 0xd4, 0x24, 0x0b, 0x22, 0x28, 0xb6, 0x43, 0x1d, 0x01, 0x3b, + 0xa0, 0xd1, 0x1e, 0x55, 0xaa, 0x4d, 0x3c, 0xc7, 0x95, 0x1e, 0xa2, 0x5d, 0x19, 0x3f, 0xdf, 0xa5, + 0x4f, 0xec, 0x66, 0xcf, 0x54, 0x32, 0x37, 0xc0, 0x61, 0xb7, 0xe2, 0xa8, 0x26, 0xcf, 0x70, 0x28, + 0xc8, 0x35, 0xcb, 0xd4, 0x6b, 0xf6, 0x5c, 0x4a, 0x4d, 0xee, 0x3f, 0x4e, 0xba, 0x90, 0x11, 0x87, + 0x0a, 0xf0, 0x02, 0x52, 0x9d, 0x9c, 0xa4, 0x51, 0x11, 0xcd, 0xe8, 0x8e, 0x6a, 0xe3, 0x23, 0x27, + 0x79, 0x76, 0x7d, 0x1f, 0xe6, 0xec, 0x47, 0x03, 0x67, 0x0d, 0xfb, 0x16, 0x54, 0x8f, 0xe5, 0x85, + 0xcf, 0x82, 0x40, 0x21, 0xcb, 0x63, 0x89, 0x85, 0xb3, 0x91, 0xca, 0x21, 0xe9, 0xa2, 0xb5, 0x7f, + 0x44, 0xbb, 0xc0, 0x5b, 0x2a, 0x5c, 0x46, 0xab, 0xc6, 0x28, 0xd0, 0x9a, 0xfc, 0xae, 0x84, 0xf9, + 0x2e, 0x79, 0xb4, 0x9a, 0xc4, 0x74, 0x3f, 0xc4, 0xcb, 0xa6, 0x82, 0x5e, 0xf2, 0x67, 0x10, 0xcf, + 0x5f, 0xbe, 0x69, 0xd0, 0x43, 0x75, 0x77, 0x12, 0xe7, 0xaf, 0xba, 0x0f, 0x29, 0x41, 0x78, 0xdd, + 0x79, 0xcb, 0x74, 0x5a, 0xb7, 0x35, 0xc1, 0x51, 0x21, 0xce, 0xfd, 0xda, 0xb8, 0x91, 0xb4, 0xb6, + 0x4b, 0x58, 0xe3, 0x86, 0x02, 0x35, 0x26, 0x49, 0x5c, 0xbd, 0xed, 0x2a, 0x36, 0x54, 0x52, 0xb8, + 0xdc, 0x4a, 0xfa, 0x3d, 0x18, 0x42, 0x85, 0x54, 0xc4, 0x7a, 0xfb, 0x66, 0x61, 0x16, 0xc5, 0xd7, + 0xd6, 0x04, 0xcd, 0x00, 0x8c, 0x59, 0x9a, 0x95, 0x89, 0x45, 0x4a, 0x06, 0x93, 0x01, 0x08, 0x93, + 0x52, 0xd4, 0xc3, 0x0a, 0x02, 0xc6, 0x40, 0x0b, 0x96, 0x58, 0x9c, 0xd7, 0x13, 0xf3, 0xcc, 0xb3, + 0x08, 0xd5, 0x03, 0x6e, 0x2e, 0x24, 0x0c, 0x91, 0x05, 0x68, 0x54, 0xf6, 0xf7, 0x4b, 0x4e, 0xdf, + 0xe4, 0xc0, 0xcd, 0x9f, 0x6c, 0x02, 0x96, 0x49, 0x30, 0x51, 0x1a, 0x0b, 0xa1, 0xf6, 0x32, 0x5d, + 0x05, 0x7a, 0xc4, 0x59, 0x80, 0x3d, 0x1b, 0x81, 0x0b, 0x55, 0x63, 0xb8, 0x57, 0xb8, 0x03, 0xc5, + 0x34, 0xcb, 0x2e, 0x2c, 0x4a, 0x53, 0x85, 0x74, 0x7c, 0xab, 0xed, 0x59, 0x1e, 0x81, 0x41, 0x91, + 0x03, 0x27, 0x63, 0x9d, 0x32, 0xfe, 0xe8, 0x40, 0x81, 0x62, 0x00, 0x04, 0xd7, 0x31, 0x36, 0x6a, + 0x7d, 0xfd, 0x06, 0x45, 0x31, 0xfe, 0xff, 0x53, 0xa4, 0xa9, 0xe4, 0xbb, 0xba, 0x4f, 0xcd, 0xd4, + 0xd1, 0x51, 0xfe, 0xdd, 0x7f, 0x01, 0x66, 0x5f, 0x22, 0xe6, 0xb3, 0xcd, 0xcf, 0x7b, 0xa8, 0x6c, + 0x66, 0x3d, 0xd0, 0xae, 0x5f, 0x14, 0x3d, 0x4e, 0xa2, 0xf9, 0x06, 0x6d, 0xfe, 0x4f, 0x32, 0x4f, + 0xd5, 0xc9, 0x69, 0x59, 0xa4, 0x4a, 0x15, 0xea, 0x0e, 0xbb, 0xbf, 0x7f, 0xc5, 0xf6, 0x52, 0x98, + 0x7a, 0xf9, 0xb0, 0x39, 0x7b, 0x96, 0x33, 0x17, 0x38, 0x4d, 0x15, 0x7c, 0x52, 0x9f, 0x14, 0xaa, + 0x25, 0x75, 0xbd, 0x7b, 0x77, 0x16, 0x80, 0xde, 0x67, 0x7f, 0x82, 0x46, 0x7d, 0x55, 0xf7, 0x40, + 0x25, 0x55, 0x1d, 0x0a, 0xfd, 0xcc, 0x3f, 0x92, 0x0d, 0x28, 0x2e, 0xe8, 0x61, 0x4f, 0xbe, 0x67, + 0x63, 0xd7, 0x1b, 0x3d, 0x1d, 0xe2, 0xb0, 0x99, 0xa3, 0x62, 0x2a, 0xe6, 0xa6, 0x28, 0x5d, 0x7a, + 0xe1, 0x25, 0xeb, 0x96, 0xe4, 0x56, 0x77, 0xf4, 0xc5, 0xc9, 0xff, 0x78, 0xd5, 0x4f, 0x44, 0xb0, + 0x4e, 0xc7, 0x0b, 0xb0, 0xaf, 0x75, 0xf1, 0x2e, 0x37, 0xf2, 0x30, 0x8f, 0x26, 0x90, 0x2c, 0xbb, + 0x82, 0xa3, 0x32, 0x91, 0x97, 0x2b, 0xe2, 0x9f, 0x6c, 0xcb, 0xda, 0x1d, 0x6d, 0x82, 0xf7, 0xf9, + 0x32, 0xc7, 0x2a, 0x7b, 0x87, 0x64, 0x71, 0x2c, 0xd3, 0x5e, 0xe2, 0x52, 0xf8, 0x37, 0x3c, 0x9b, + 0x47, 0xa1, 0x43, 0x5f, 0x40, 0x19, 0x08, 0x5a, 0x95, 0x52, 0xb2, 0x7d, 0x7a, 0x06, 0x1a, 0xae, + 0x14, 0x15, 0xd3, 0xf4, 0x70, 0xb0, 0x96, 0x74, 0x77, 0x94, 0x3a, 0xda, 0xf3, 0x20, 0x6b, 0xce, + 0x0b, 0xb0, 0x07, 0x62, 0xc3, 0x79, 0x21, 0xe1, 0x55, 0x9b, 0x41, 0xe2, 0x64, 0x7c, 0xae, 0x6a, + 0xee, 0x2c, 0x5a, 0xbd, 0xe9, 0x6f, 0xd6, 0x25, 0x65, 0x9a, 0x3d, 0xfe, 0x26, 0xcf, 0x0c, 0x9e, + 0x3f, 0xcc, 0x19, 0x96, 0x8c, 0x0c, 0x49, 0x86, 0x86, 0x37, 0xc6, 0xfd, 0x4e, 0x1a, 0x9e, 0x67, + 0x36, 0x3f, 0x9c, 0x72, 0x93, 0xd0, 0x79, 0x1f, 0x53, 0x6c, 0xa6, 0x55, 0x94, 0x10, 0x45, 0x7d, + 0xc2, 0x86, 0xe9, 0x45, 0x81, 0x6e, 0x53, 0x98, 0x56, 0x07, 0x44, 0x4a, 0xde, 0xc2, 0xa6, 0x46, + 0x19, 0xfd, 0x06, 0x86, 0x06, 0x68, 0xc7, 0xa2, 0x19, 0xfa, 0x78, 0x05, 0x8d, 0xcd, 0x7c, 0x2f, + 0x5f, 0x3d, 0x89, 0x33, 0x5a, 0x83, 0x91, 0x30, 0x6a, 0x32, 0x7c, 0xe2, 0xf8, 0x70, 0x7a, 0x19, + 0x3d, 0xbd, 0xd5, 0x33, 0x14, 0x23, 0x06, 0x9c, 0x48, 0xf3, 0xce, 0x4f, 0x40, 0x59, 0x30, 0xfb, + 0x9d, 0x64, 0x6c, 0x0c, 0xa7, 0xe8, 0x51, 0xdf, 0xf4, 0x0c, 0x2d, 0x75, 0x51, 0x91, 0x6e, 0x81, + 0x6a, 0xa1, 0xd7, 0x3b, 0xb7, 0xac, 0xb3, 0xf8, 0x87, 0xe9, 0xdb, 0x2a, 0xc8, 0x94, 0x4d, 0x6f, + 0x74, 0xa8, 0x4f, 0xb7, 0x3a, 0x0a, 0x95, 0xa4, 0x26, 0x7b, 0x75, 0x37, 0xb3, 0x75, 0x0f, 0x76, + 0x8b, 0x0b, 0xfd, 0xbb, 0x46, 0xa0, 0xc2, 0xb4, 0x2f, 0x4a, 0x53, 0xe6, 0xc2, 0xec, 0xa2, 0x47, + 0x69, 0x83, 0x27, 0xbf, 0x04, 0x7a, 0xfc, 0x26, 0xa4, 0x24, 0x87, 0xd6, 0xf4, 0x04, 0x08, 0x7f, + 0x83, 0x6e, 0xee, 0x03, 0x80, 0x62, 0x63, 0x3f, 0xd0, 0x3e, 0xe8, 0x8b, 0xfb, 0x04, 0xd6, 0xc2, + 0x19, 0x3d, 0x49, 0x46, 0xe3, 0x76, 0xd1, 0x0c, 0xb8, 0xc4, 0xd4, 0xc5, 0x0c, 0x7d, 0x59, 0xbf, + 0x7e, 0x09, 0x98, 0x52, 0x0d, 0x56, 0x44, 0xc6, 0x23, 0x17, 0x2b, 0x76, 0xf0, 0xe3, 0x8b, 0x65, + 0xef, 0x1d, 0x52, 0xfa, 0x66, 0x93, 0xd2, 0x97, 0xa4, 0x86, 0xeb, 0x06, 0x22, 0xdb, 0xfb, 0x1b, + 0x0b, 0x96, 0x4c, 0xf2, 0x47, 0x68, 0xd5, 0x0e, 0xfb, 0xb3, 0xfd, 0x99, 0x40, 0x0d, 0x0e, 0x67, + 0x6a, 0x22, 0x1f, 0xe2, 0xd2, 0xf5, 0xf1, 0x0a, 0xbf, 0xc1, 0xe2, 0x75, 0xf5, 0xbc, 0x82, 0x09, + 0xe7, 0x2b, 0x8b, 0x16, 0xd7, 0x8e, 0x59, 0x1f, 0x2b, 0xb5, 0xa4, 0x86, 0x08, 0x55, 0xef, 0xdb, + 0xab, 0xc8, 0xe2, 0x28, 0x29, 0x7e, 0xea, 0xa6, 0x54, 0xde, 0x27, 0xfd, 0x48, 0x30, 0x47, 0x81, + 0x51, 0x49, 0x41, 0xdf, 0xcc, 0x7c, 0x27, 0xa3, 0x05, 0xe1, 0xd7, 0xf1, 0xd9, 0x8c, 0x5f, 0xa5, + 0x72, 0x88, 0x92, 0xa8, 0x06, 0xdc, 0xc3, 0x3c, 0x11, 0xd9, 0xad, 0x58, 0xaf, 0x78, 0x56, 0xb0, + 0xcb, 0x42, 0x46, 0xba, 0x33, 0x2d, 0x68, 0xaf, 0xb5, 0x31, 0xc6, 0x3a, 0x61, 0x57, 0x0e, 0xd7, + 0x95, 0x1d, 0x7d, 0xa8, 0x9a, 0x50, 0xd8, 0x5f, 0xd7, 0xa6, 0xe3, 0x49, 0xb4, 0xbf, 0x8c, 0x0d, + 0x44, 0x5b, 0x97, 0x54, 0x28, 0x8d, 0x2f, 0x52, 0x66, 0x5e, 0x92, 0x38, 0x5d, 0x05, 0xf4, 0x54, + 0xbc, 0xec, 0x34, 0x11, 0x08, 0x84, 0xe4, 0x0f, 0xc5, 0xce, 0x30, 0xf8, 0xeb, 0xeb, 0x29, 0x70, + 0x0c, 0x2b, 0x73, 0xc8, 0x26, 0x1c, 0x6b, 0x02, 0x30, 0x09, 0xa6, 0x59, 0x8a, 0xd0, 0x6e, 0x5c, + 0xee, 0x34, 0xf8, 0x3f, 0x26, 0x71, 0x75, 0xe9, 0x9e, 0xb8, 0x1a, 0xb1, 0xdf, 0x40, 0x55, 0xb2, + 0x37, 0x92, 0x9f, 0xe5, 0xa8, 0x3d, 0xc5, 0xac, 0x1a, 0x24, 0xe8, 0xd3, 0x03, 0xb9, 0xf5, 0xef, + 0xa9, 0x32, 0x5a, 0xc5, 0x12, 0x19, 0x7b, 0xe6, 0x09, 0xe0, 0xc9, 0xcc, 0x84, 0xc2, 0xa9, 0x26, + 0x71, 0x88, 0x70, 0x29, 0x48, 0x8d, 0xb0, 0x50, 0x61, 0xdb, 0x9d, 0xfe, 0x05, 0xbb, 0xfb, 0x35, + 0xb6, 0x41, 0xdf, 0x29, 0xa7, 0xed, 0x7b, 0x5a, 0x34, 0x4c, 0x27, 0x67, 0x37, 0x27, 0xee, 0x09, + 0xe0, 0xdc, 0x6f, 0x21, 0xe8, 0x20, 0x4f, 0x3c, 0x03, 0xe3, 0xcd, 0xe9, 0x50, 0xac, 0x1b, 0x76, + 0xc7, 0x8c, 0x4d, 0x59, 0x6d, 0xf3, 0xf9, 0x3a, 0x23, 0xd9, 0x90, 0x61, 0x63, 0xa2, 0x3a, 0x87, + 0x9c, 0x02, 0x0b, 0x5b, 0xb2, 0xde, 0x40, 0x19, 0x31, 0x42, 0x64, 0x9f, 0x36, 0xf1, 0x76, 0xad, + 0x9d, 0x02, 0x6b, 0x45, 0xa6, 0x43, 0xcb, 0x2f, 0x2d, 0x86, 0x61, 0x96, 0xe4, 0x2a, 0xc7, 0xf0, + 0xf5, 0x29, 0xdd, 0x01, 0x0c, 0xfa, 0xb0, 0x92, 0x2b, 0x39, 0xbe, 0x03, 0x50, 0x96, 0x62, 0x16, + 0x09, 0x3a, 0xee, 0x3e, 0x75, 0xff, 0x74, 0xcc, 0x3c, 0x32, 0x76, 0xff, 0xcc, 0x94, 0x53, 0x5f, + 0x53, 0x67, 0xbe, 0xbd, 0xa7, 0x2e, 0xde, 0x38, 0x24, 0xca, 0xb4, 0x78, 0x31, 0x9e, 0xc7, 0x5c, + 0x80, 0xdd, 0x56, 0x9c, 0x28, 0x70, 0xfc, 0x03, 0x4b, 0x9e, 0x03, 0xe1, 0x55, 0x7e, 0xc5, 0x5f, + 0xc1, 0xa5, 0xf3, 0x78, 0xa8, 0x7c, 0xae, 0xb5, 0x60, 0xfd, 0x20, 0xe4, 0x06, 0xf8, 0x3c, 0xe2, + 0xde, 0xa4, 0x3e, 0xe2, 0x9f, 0x32, 0x91, 0x74, 0x65, 0xda, 0xbd, 0xe8, 0xb3, 0x42, 0x9d, 0x56, + 0xbc, 0x9f, 0x3b, 0xec, 0xdf, 0x0e, 0xf5, 0xd1, 0xc3, 0x3c, 0xa7, 0x45, 0x7a, 0x15, 0xa1, 0xb6, + 0xfc, 0x75, 0xeb, 0x18, 0x39, 0x75, 0x2e, 0x90, 0x7f, 0xaa, 0x30, 0x00, 0xb9, 0xad, 0x3f, 0xfd, + 0xbb, 0xb3, 0x3f, 0xf8, 0x21, 0x53, 0x73, 0x57, 0x57, 0x16, 0xfe, 0x79, 0x04, 0xd2, 0x95, 0x06, + 0xfd, 0x79, 0xb1, 0x3a, 0xd8, 0xc7, 0xef, 0xfd, 0xc4, 0xbe, 0x6b, 0x6a, 0x68, 0x05, 0x3a, 0x67, + 0x40, 0xdf, 0x63, 0x38, 0xb0, 0xd7, 0x82, 0x67, 0x35, 0x64, 0x8a, 0x98, 0x6f, 0xb1, 0xd1, 0x73, + 0x35, 0xba, 0x99, 0x65, 0x29, 0xd2, 0x2e, 0x7a, 0xf7, 0xe8, 0x6b, 0x37, 0x6a, 0xf8, 0xad, 0x8a, + 0x95, 0xf5, 0xa2, 0xdb, 0xb7, 0x55, 0xbe, 0xac, 0x7b, 0x68, 0x60, 0x46, 0x7c, 0x77, 0x07, 0xf5, + 0xef, 0x17, 0xbb, 0x6f, 0xe5, 0x37, 0x98, 0x33, 0x06, 0x11, 0x94, 0x00, 0xd6, 0x31, 0x85, 0xe2, + 0xe6, 0xb1, 0x80, 0x6e, 0x4e, 0x32, 0xd9, 0x3e, 0x71, 0xb4, 0x2c, 0x70, 0x20, 0xf6, 0x19, 0xbf, + 0x25, 0x69, 0x17, 0x6b, 0x33, 0x0f, 0xbf, 0x82, 0xb3, 0x98, 0x6f, 0x81, 0x6a, 0xb0, 0x53, 0x00, + 0x7c, 0xcb, 0xcc, 0x01, 0xf8, 0x3f, 0x75, 0x19, 0x17, 0xca, 0xf4, 0xcd, 0x04, 0xf8, 0x01, 0x9f, + 0x33, 0x88, 0x52, 0xe6, 0xba, 0xcc, 0x91, 0x1e, 0x52, 0x6a, 0xb9, 0x48, 0x0d, 0x36, 0x17, 0x03, + 0x5c, 0xee, 0x06, 0xf5, 0x3d, 0x8f, 0x0d, 0xc8, 0x6e, 0x90, 0xc4, 0x81, 0xcd, 0x2b, 0x97, 0xad, + 0xe3, 0xf7, 0xa6, 0xc4, 0xa9, 0x2b, 0x56, 0xef, 0x05, 0x7e, 0x13, 0xc8, 0x2a, 0x5b, 0xa6, 0x67, + 0xa0, 0x4f, 0x47, 0x41, 0xf2, 0x1b, 0x1c, 0xcf, 0x59, 0x18, 0x1c, 0x32, 0xbe, 0x4c, 0xa7, 0x68, + 0x8e, 0x62, 0x4a, 0xfd, 0x5a, 0xc7, 0x3b, 0x3c, 0xdf, 0x38, 0xd8, 0xb8, 0x54, 0x65, 0xbe, 0x16, + 0x59, 0x80, 0x1d, 0xcb, 0xb0, 0x9c, 0x03, 0x4c, 0x5f, 0xca, 0x54, 0x1a, 0x4a, 0x0d, 0xb3, 0x31, + 0x90, 0xbd, 0x15, 0x01, 0xe5, 0x8e, 0x1e, 0x7b, 0xa9, 0x01, 0x46, 0x0d, 0x31, 0x82, 0x23, 0xb3, + 0x64, 0x57, 0x52, 0xca, 0x92, 0xd3, 0x1b, 0xc6, 0x86, 0x13, 0xc5, 0x58, 0x08, 0x31, 0xe0, 0xdf, + 0x93, 0xb7, 0x2c, 0xcf, 0xd1, 0x90, 0x2b, 0xc8, 0x20, 0x4b, 0xa5, 0x60, 0x78, 0xa2, 0x48, 0xe0, + 0xf9, 0xb2, 0xab, 0x2b, 0x53, 0xf4, 0x45, 0x64, 0x5b, 0x04, 0x57, 0x6a, 0x3d, 0x40, 0x82, 0xc8, + 0x85, 0x88, 0xc4, 0xa2, 0x60, 0x25, 0xc5, 0xd2, 0x09, 0x93, 0x54, 0x71, 0x92, 0xdd, 0x2d, 0x54, + 0x9c, 0x28, 0xf7, 0x1a, 0x29, 0x62, 0xc3, 0x18, 0x45, 0x78, 0x15, 0x92, 0xa0, 0xb2, 0xe8, 0x81, + 0xd8, 0x61, 0x7f, 0xc5, 0x88, 0xbb, 0xc8, 0x78, 0x08, 0x9d, 0x11, 0xc4, 0x7a, 0xd2, 0x0b, 0x38, + 0xbb, 0x25, 0x0c, 0x47, 0xd2, 0xb7, 0xad, 0x8a, 0x61, 0x8f, 0x2e, 0xbc, 0x0b, 0xe3, 0x54, 0xd7, + 0x07, 0x14, 0x63, 0xcb, 0x88, 0x25, 0x58, 0x28, 0xf8, 0x14, 0x2e, 0xee, 0x10, 0xf2, 0x58, 0xe9, + 0xba, 0x12, 0x95, 0xc5, 0x51, 0x9b, 0xc9, 0xdb, 0x0c, 0x63, 0xf5, 0xa9, 0x0f, 0xad, 0x1e, 0xa4, + 0x13, 0xe1, 0xcb, 0x3e, 0x18, 0x93, 0x8e, 0x28, 0xe0, 0xad, 0x8a, 0x05, 0xe0, 0xb6, 0x7f, 0xf4, + 0x6c, 0x19, 0x69, 0xb9, 0x5a, 0x9a, 0x55, 0xba, 0x1e, 0x9e, 0x5a, 0x25, 0x3e, 0x0c, 0xc2, 0x22, + 0x25, 0xa4, 0x76, 0x16, 0x42, 0xa4, 0xe3, 0xd7, 0x0d, 0x1c, 0xff, 0x91, 0xb2, 0x09, 0xfa, 0xd1, + 0xa3, 0x5d, 0x13, 0xcc, 0x19, 0xb4, 0x69, 0x84, 0xd2, 0x0c, 0x51, 0xf8, 0xd3, 0x87, 0x5c, 0xa7, + 0x4f, 0x24, 0x10, 0x39, 0x8b, 0x63, 0x49, 0xad, 0x6b, 0x4a, 0x0c, 0x67, 0x69, 0x8a, 0x50, 0xcc, + 0x7b, 0x8f, 0x65, 0x76, 0x88, 0xa0, 0x78, 0x22, 0x9c, 0x2c, 0xb0, 0x00, 0xc4, 0x87, 0x11, 0x88, + 0x95, 0xf4, 0x01, 0x75, 0x26, 0x09, 0x70, 0xb6, 0x60, 0xe3, 0x9a, 0x5f, 0xc2, 0x9c, 0xf7, 0x92, + 0x3d, 0x1a, 0x74, 0x7e, 0xb8, 0xd2, 0x56, 0xcb, 0xad, 0xb6, 0x68, 0x27, 0x4a, 0x9f, 0xbf, 0xce, + 0x49, 0x92, 0x35, 0xe8, 0xdd, 0x2f, 0x4a, 0x77, 0x3a, 0x2d, 0xeb, 0xf7, 0xe0, 0x24, 0x45, 0x5e, + 0x14, 0x19, 0xb9, 0x77, 0xeb, 0xe0, 0x3b, 0x44, 0x76, 0x9b, 0xc2, 0xb0, 0x56, 0x66, 0x7e, 0xee, + 0x01, 0xa7, 0xf0, 0xb3, 0x3c, 0xa2, 0x03, 0xdc, 0x0a, 0xf0, 0x48, 0x17, 0xd0, 0xfd, 0xc3, 0xf6, + 0x43, 0x70, 0xa5, 0xb5, 0xe7, 0x3a, 0x61, 0xa6, 0xa2, 0x3c, 0x44, 0xa4, 0xa4, 0x68, 0x99, 0x29, + 0x33, 0x08, 0x36, 0x98, 0x44, 0x38, 0x23, 0x2e, 0x06, 0xee, 0x82, 0xd7, 0x30, 0xc8, 0x29, 0xe3, + 0xd2, 0xff, 0x6d, 0xba, 0x76, 0x79, 0x05, 0xb0, 0xa1, 0x14, 0xd8, 0x5c, 0xb6, 0xd3, 0x31, 0x0f, + 0xa7, 0x15, 0x8f, 0xfd, 0x60, 0x30, 0xbb, 0x53, 0xe4, 0x8a, 0xf8, 0x7f, 0x68, 0xba, 0xae, 0x11, + 0x07, 0x5d, 0xa3, 0x85, 0x02, 0x11, 0x0c, 0x6a, 0x85, 0xd8, 0x2d, 0x4e, 0xa8, 0x16, 0x8a, 0x9b, + 0xda, 0xb2, 0x0a, 0xda, 0xe1, 0x88, 0x30, 0xef, 0x11, 0x5f, 0xbc, 0xcb, 0x27, 0x6f, 0x36, 0xc1, + 0x25, 0x1f, 0xd8, 0xf1, 0x54, 0x24, 0xd2, 0x4c, 0x33, 0xdc, 0x6d, 0x1b, 0xbe, 0xdf, 0x69, 0x1a, + 0xe6, 0xdd, 0xd5, 0xe5, 0xc8, 0x5f, 0xad, 0xb6, 0x78, 0x85, 0x34, 0x7d, 0x43, 0x79, 0xf2, 0x8d, + 0x4d, 0xe1, 0xfa, 0x48, 0xa2, 0x23, 0x40, 0xf5, 0xa9, 0x55, 0xca, 0x32, 0x2c, 0x57, 0x08, 0x70, + 0xf1, 0x7a, 0xab, 0xb3, 0x51, 0x1e, 0x11, 0x0e, 0x48, 0x4f, 0x4e, 0xd0, 0xc4, 0x1c, 0x9e, 0xf0, + 0x58, 0x17, 0xf8, 0xc6, 0xf3, 0xc3, 0x49, 0x0f, 0x98, 0x1d, 0x5d, 0x6a, 0xf9, 0x38, 0xdf, 0x16, + 0x13, 0x30, 0x7c, 0x07, 0x98, 0x6d, 0xa9, 0xb9, 0x3c, 0x10, 0x6f, 0x1e, 0xcd, 0x22, 0xc4, 0x00, + 0xc9, 0x3e, 0x0c, 0x7e, 0x59, 0xe9, 0x67, 0xa9, 0x33, 0x25, 0x43, 0x79, 0xeb, 0x95, 0x2d, 0xba, + 0xe1, 0x0f, 0xfc, 0x46, 0x8c, 0x40, 0x10, 0x48, 0xd2, 0xdf, 0x75, 0x04, 0x5c, 0xae, 0xa7, 0xd7, + 0x18, 0x81, 0x2a, 0x0c, 0x25, 0x20, 0xfb, 0xbf, 0xbf, 0x03, 0x23, 0xb5, 0x88, 0xcc, 0xf0, 0x4b, + 0x47, 0xae, 0x8d, 0xca, 0x21, 0xa6, 0x1f, 0x88, 0xed, 0xa0, 0xda, 0x9e, 0x64, 0xa6, 0xf5, 0x1e, + 0x62, 0x08, 0x99, 0xfa, 0x63, 0xb1, 0x70, 0xec, 0x5b, 0xd5, 0x48, 0xe1, 0xc7, 0x6d, 0xfe, 0x78, + 0x76, 0x97, 0xf2, 0x08, 0x75, 0x10, 0x76, 0xb1, 0x09, 0xba, 0x61, 0x61, 0x7f, 0x20, 0xb2, 0xee, + 0x1b, 0xee, 0x88, 0x59, 0x5b, 0x9d, 0xa7, 0x6b, 0x4f, 0x91, 0x6a, 0x95, 0x78, 0x8e, 0xcf, 0x3c, + 0x6e, 0x69, 0x90, 0x26, 0xf9, 0x59, 0xc0, 0x57, 0xff, 0xef, 0x06, 0x16, 0x69, 0x5c, 0xea, 0xf9, + 0xaa, 0xcf, 0xfd, 0x38, 0x1d, 0xef, 0x74, 0xfb, 0xf4, 0x3a, 0xb5, 0x27, 0x84, 0xd3, 0x85, 0x06, + 0xc4, 0x6f, 0xd3, 0x27, 0xcf, 0xe1, 0x0c, 0x5a, 0xed, 0xb0, 0x37, 0xa6, 0x30, 0x46, 0x80, 0xa5, + 0xc0, 0x1d, 0x06, 0x8b, 0x33, 0x10, 0xac, 0x02, 0x1e, 0xdb, 0xf7, 0xcc, 0xd5, 0xfd, 0x54, 0x03, + 0xea, 0x66, 0x39, 0x8c, 0x61, 0xb2, 0xf8, 0x8a, 0x51, 0xed, 0x79, 0x62, 0xf8, 0x44, 0x86, 0x30, + 0x8f, 0x47, 0x58, 0x3c, 0xad, 0x33, 0x7a, 0xb8, 0x66, 0x00, 0xb5, 0xc1, 0xfc, 0x4b, 0xb7, 0x64, + 0x55, 0xdc, 0xf5, 0x51, 0x3a, 0xfe, 0x14, 0x5c, 0x68, 0x31, 0x55, 0xd8, 0xa5, 0x51, 0xd3, 0xc9, + 0xfd, 0xa8, 0x3b, 0xca, 0xbb, 0x35, 0x1e, 0x8f, 0x4b, 0xaf, 0x30, 0x06, 0x9b, 0xa2, 0xed, 0x16, + 0x3b, 0xfa, 0xac, 0xc4, 0x07, 0xe3, 0x4f, 0x26, 0x24, 0x88, 0x2f, 0x80, 0xe0, 0x8d, 0x19, 0x22, + 0x68, 0x16, 0x65, 0x27, 0x09, 0xd1, 0xb8, 0x18, 0xf5, 0xde, 0xb8, 0xa8, 0x4b, 0x0a, 0x74, 0xf9, + 0x91, 0x44, 0x64, 0x0a, 0x67, 0x64, 0xf6, 0xf8, 0x76, 0xa1, 0x6d, 0xb1, 0xf9, 0xe1, 0xe0, 0x60, + 0xec, 0x88, 0x65, 0x19, 0xf8, 0xfb, 0x9b, 0x26, 0x7b, 0x7e, 0x0a, 0x5f, 0x45, 0x71, 0x23, 0x1b, + 0xd8, 0xd6, 0x61, 0x1c, 0x31, 0x57, 0x91, 0xa4, 0xc7, 0x5e, 0x02, 0xd9, 0x96, 0x3c, 0x77, 0xaa, + 0xe3, 0xf4, 0xdc, 0xe6, 0xfc, 0x5b, 0x24, 0x3d, 0x76, 0xe7, 0x53, 0x11, 0x4c, 0xc9, 0x78, 0x17, + 0xba, 0x76, 0x49, 0xb0, 0x39, 0xa5, 0x40, 0xa2, 0x34, 0x3c, 0xd9, 0xca, 0x39, 0x88, 0x22, 0x41, + 0x11, 0x88, 0x52, 0x5e, 0x69, 0x0f, 0x40, 0x2b, 0x6b, 0xaf, 0x6e, 0x73, 0xb8, 0x15, 0x47, 0x88, + 0xc7, 0x42, 0xf9, 0x3e, 0xc1, 0xc9, 0x72, 0x16, 0x9e, 0x85, 0x84, 0x68, 0x4f, 0xef, 0x20, 0xd4, + 0x7f, 0xf8, 0x87, 0x52, 0xc0, 0x10, 0xec, 0xd5, 0x05, 0xb7, 0x2e, 0x97, 0xf6, 0xe9, 0x74, 0xce, + 0xef, 0xea, 0x42, 0x4c, 0x0d, 0x31, 0x56, 0x28, 0xa0, 0x7b, 0x2c, 0x76, 0xa2, 0xcb, 0x0b, 0xa8, + 0x97, 0xda, 0x6f, 0x8c, 0x07, 0xe6, 0x26, 0x07, 0xb9, 0x1d, 0x4a, 0xd3, 0x5b, 0x4a, 0x9d, 0xa7, + 0x02, 0x99, 0x15, 0xf5, 0x9a, 0xb9, 0xe4, 0xe7, 0x9c, 0x05, 0xec, 0x4c, 0x1b, 0xd9, 0xc7, 0x07, + 0xac, 0x22, 0x0e, 0xd7, 0x41, 0x0b, 0x46, 0xec, 0x06, 0xfa, 0x20, 0xa3, 0xd3, 0x9d, 0x60, 0x78, + 0x02, 0x4f, 0x62, 0x0f, 0xd6, 0x34, 0xab, 0x9a, 0xbb, 0x4d, 0xd2, 0x3b, 0x8a, 0x7f, 0xa7, 0xa2, + 0xad, 0x42, 0xd4, 0x32, 0x0c, 0x5e, 0xbf, 0x79, 0x4e, 0xc6, 0xfa, 0x34, 0xe5, 0x09, 0x45, 0xa9, + 0xf8, 0x49, 0x2d, 0xf7, 0x8a, 0x0a, 0x6e, 0xdc, 0x9f, 0x07, 0x63, 0x72, 0xd2, 0xf1, 0x68, 0x32, + 0x71, 0xab, 0x07, 0x37, 0x0a, 0x47, 0x29, 0xf7, 0xfd, 0xba, 0x4d, 0x1f, 0x60, 0x0f, 0x78, 0x0d, + 0x63, 0x86, 0x20, 0xc9, 0x37, 0x8e, 0xaf, 0x3c, 0xcf, 0x0e, 0xd3, 0x34, 0xca, 0xd8, 0x6e, 0xa6, + 0xb7, 0xec, 0xd8, 0x1c, 0x3a, 0x63, 0x00, 0xba, 0xb1, 0xe4, 0xb8, 0xdf, 0x71, 0xaa, 0x7b, 0x90, + 0x6c, 0x54, 0xb4, 0x78, 0x9d, 0xfb, 0xcc, 0x0d, 0x12, 0x83, 0x16, 0xdb, 0x59, 0xc3, 0xf6, 0xa9, + 0x7e, 0x52, 0xed, 0xd4, 0xe9, 0xbd, 0x10, 0x8b, 0x2f, 0x37, 0xf3, 0x8b, 0x64, 0x81, 0x0c, 0x8a, + 0x1e, 0x2f, 0xd8, 0xb1, 0x0d, 0xf1, 0x97, 0x25, 0x5a, 0xf7, 0x4c, 0x00, 0x0b, 0xfd, 0x60, 0x3d, + 0x7d, 0x2a, 0x4b, 0x2b, 0xa5, 0xb7, 0xf7, 0x87, 0xb3, 0x6f, 0x38, 0xd7, 0x33, 0xaf, 0x0e, 0x66, + 0x6c, 0xc0, 0x02, 0x48, 0x9a, 0x6e, 0x8f, 0x21, 0x8c, 0x7e, 0xb6, 0x10, 0x3b, 0xe3, 0x9d, 0xed, + 0x18, 0xa0, 0x45, 0x92, 0x6b, 0xfe, 0xd7, 0x1d, 0x10, 0xb8, 0x15, 0x4b, 0x7e, 0x20, 0x13, 0x47, + 0x71, 0xe6, 0x95, 0x95, 0x06, 0xc4, 0x1d, 0xa6, 0x29, 0x71, 0x92, 0xc2, 0xdc, 0xcb, 0x39, 0xe5, + 0x9c, 0x7e, 0x74, 0xcb, 0x31, 0x9f, 0xd7, 0xdd, 0xd5, 0xf2, 0xa9, 0x39, 0xcb, 0x6b, 0xad, 0x90, + 0xed, 0xca, 0x8e, 0x4b, 0x41, 0x15, 0xdc, 0x01, 0x36, 0x53, 0xbc, 0x15, 0x02, 0x3a, 0x72, 0xb3, + 0xe3, 0x66, 0x5d, 0xea, 0x1f, 0x8e, 0x80, 0xaa, 0xed, 0x28, 0xa0, 0xf0, 0x3e, 0x81, 0x0c, 0x07, + 0x4b, 0xa8, 0x9f, 0xc5, 0x48, 0x38, 0xfe, 0xae, 0x8f, 0xaa, 0x2e, 0x4c, 0x86, 0xde, 0x6d, 0x59, + 0x8d, 0x19, 0xec, 0xdb, 0xb5, 0x8b, 0x85, 0x5a, 0x3a, 0x44, 0x53, 0xa8, 0x87, 0x81, 0xc5, 0x35, + 0xe7, 0xcb, 0x9c, 0xf8, 0xc6, 0xff, 0xe9, 0xbc, 0x53, 0x83, 0x25, 0x31, 0xe8, 0x89, 0x01, 0xa6, + 0x73, 0xa7, 0xfc, 0xda, 0xb8, 0xc2, 0x34, 0xe0, 0x08, 0xc4, 0xd7, 0x1c, 0x16, 0x7f, 0x7f, 0xa6, + 0x72, 0xed, 0xc7, 0x97, 0x1a, 0x9d, 0x7f, 0x2b, 0xb7, 0x64, 0x6d, 0x5e, 0xe8, 0xc5, 0x91, 0xcd, + 0xcb, 0xb4, 0x7c, 0x4a, 0xe3, 0x7b, 0x50, 0xe9, 0x7d, 0xe8, 0xc1, 0xd4, 0x32, 0x25, 0xef, 0xf4, + 0xaa, 0xca, 0xf0, 0xf3, 0x3c, 0x8d, 0x9f, 0x36, 0xd2, 0xf9, 0x90, 0xcf, 0xf5, 0x8b, 0xc4, 0x49, + 0x96, 0x8d, 0x88, 0xef, 0x2e, 0xca, 0xf8, 0xad, 0x9b, 0x5e, 0x3c, 0xf2, 0x7e, 0xf1, 0xd9, 0x5b, + 0xee, 0xe3, 0x6a, 0xf8, 0xad, 0x90, 0x4d, 0x65, 0x38, 0x47, 0xc8, 0x95, 0xc5, 0xb7, 0x36, 0xae, + 0xb9, 0x92, 0xce, 0x39, 0x52, 0x8e, 0xad, 0x6b, 0x31, 0xf6, 0xe9, 0x7a, 0xaa, 0xaf, 0x05, 0x09, + 0x10, 0x7d, 0x06, 0x5d, 0x90, 0x34, 0x21, 0x8a, 0xc3, 0x5e, 0x95, 0xd8, 0xaf, 0x80, 0x84, 0x49, + 0x38, 0x32, 0xed, 0xaa, 0x9d, 0x4e, 0x27, 0x36, 0x11, 0xc7, 0xe3, 0xc0, 0xb4, 0x2b, 0x00, 0xa3, + 0xa1, 0xa9, 0xb0, 0xef, 0x6b, 0x40, 0xe5, 0x35, 0x74, 0x23, 0xa1, 0xed, 0x2a, 0x10, 0x39, 0x81, + 0xf5, 0x85, 0x15, 0xce, 0x78, 0x54, 0xae, 0x1a, 0x52, 0xde, 0xd1, 0x7b, 0xe5, 0xa3, 0x14, 0x65, + 0x28, 0x5b, 0xa6, 0xaa, 0xa8, 0x77, 0xee, 0x99, 0xc9, 0xc8, 0xb4, 0xad, 0xd6, 0xbc, 0x37, 0x1f, + 0x2f, 0xd7, 0x95, 0xba, 0xab, 0x65, 0x0d, 0x2e, 0x4d, 0xf0, 0xb2, 0x59, 0xc5, 0x9c, 0x09, 0x1c, + 0x53, 0x39, 0x2d, 0xab, 0x1e, 0x1c, 0x51, 0xef, 0x83, 0x86, 0xca, 0xbe, 0xa3, 0x1b, 0xbb, 0xca, + 0xc5, 0xd7, 0xd6, 0x0d, 0xf1, 0x38, 0xb2, 0xf3, 0xee, 0x14, 0xe5, 0x8e, 0xfb, 0x7b, 0xd4, 0xec, + 0x04, 0x57, 0x07, 0x3b, 0x02, 0xac, 0x2f, 0x5b, 0x23, 0x32, 0xa0, 0x6d, 0xe3, 0xf5, 0xf7, 0x24, + 0x3d, 0x91, 0x0f, 0xbc, 0x5c, 0xe4, 0x21, 0xf9, 0x23, 0xed, 0x64, 0x99, 0xf6, 0x15, 0xbc, 0x71, + 0x24, 0x96, 0xe8, 0xe0, 0x97, 0x9f, 0x81, 0x3e, 0xea, 0xde, 0x41, 0x4e, 0x25, 0x26, 0x92, 0xf7, + 0x72, 0x61, 0x16, 0x92, 0xa7, 0xe8, 0xf9, 0x0d, 0x44, 0x36, 0xf6, 0x03, 0x9a, 0xdd, 0xec, 0xec, + 0x02, 0x37, 0xc5, 0x92, 0x4d, 0x48, 0x19, 0xc0, 0xc8, 0xbc, 0x4d, 0x5b, 0xb0, 0x51, 0x96, 0xf5, + 0x7d, 0x8c, 0xf2, 0x6b, 0xf3, 0xc9, 0x69, 0xa4, 0xd8, 0x68, 0x4e, 0x45, 0x25, 0x2e, 0xd3, 0xba, + 0x13, 0xcc, 0x70, 0xeb, 0x86, 0x1d, 0xb5, 0x4c, 0x81, 0xf9, 0x3c, 0x03, 0x2b, 0xc7, 0x3f, 0x30, + 0xf1, 0x49, 0xc2, 0x0b, 0x85, 0xe9, 0x67, 0x5f, 0xcd, 0x55, 0x39, 0x03, 0x52, 0xaa, 0xcc, 0x2e, + 0x80, 0x80, 0x4e, 0x63, 0x98, 0xbe, 0x5e, 0x8a, 0x92, 0x59, 0x43, 0x8e, 0x4c, 0x68, 0xed, 0xfe, + 0xf9, 0x87, 0x2d, 0xf3, 0x83, 0x89, 0x0d, 0xa8, 0x6b, 0x3f, 0x23, 0x0e, 0x0e, 0xe0, 0xae, 0x21, + 0x7e, 0x29, 0x03, 0x2c, 0xe2, 0x76, 0x53, 0x8a, 0x50, 0x68, 0x7b, 0x04, 0x08, 0x62, 0x17, 0xef, + 0x98, 0xb7, 0x62, 0xb8, 0xd5, 0x6e, 0x4a, 0x78, 0x06, 0xb8, 0xfa, 0x24, 0x4e, 0x73, 0x4b, 0xaa, + 0x2a, 0x6b, 0x51, 0x4e, 0x11, 0x28, 0x00, 0xcd, 0xf8, 0x74, 0xcc, 0x82, 0xf8, 0xa7, 0x90, 0x2b, + 0xf8, 0xdc, 0x11, 0x2b, 0x16, 0xf6, 0x5e, 0x0f, 0x27, 0x5f, 0x0c, 0xf7, 0xe0, 0xbb, 0x68, 0xdf, + 0x2d, 0x4e, 0xdb, 0x35, 0xdb, 0xbc, 0x54, 0x4f, 0x3c, 0xf4, 0xc0, 0x19, 0x2b, 0xe0, 0xb1, 0x3f, + 0x5c, 0x1e, 0xdd, 0xe4, 0x45, 0xb0, 0x76, 0xcb, 0x06, 0xa7, 0xf3, 0xb0, 0x46, 0xfa, 0x7b, 0xbf, + 0xd6, 0x87, 0x49, 0x24, 0xc3, 0xe1, 0x82, 0xf6, 0x5b, 0x1d, 0xc0, 0xcd, 0x5b, 0xe5, 0xbf, 0x48, + 0x4f, 0x53, 0x65, 0x9b, 0xaa, 0x93, 0x28, 0xae, 0x97, 0xf7, 0x75, 0x0a, 0xd1, 0x3f, 0x41, 0x5f, + 0xb5, 0x2d, 0x63, 0x30, 0xc4, 0x25, 0x3b, 0x86, 0xe2, 0x19, 0xba, 0x62, 0xdc, 0x3e, 0x0b, 0x02, + 0xcb, 0xe8, 0xc0, 0x8b, 0xa8, 0x14, 0x0b, 0xf2, 0xe5, 0xc3, 0x7d, 0xff, 0x56, 0xed, 0x11, 0xbf, + 0x95, 0xad, 0xe1, 0xd0, 0xa3, 0x77, 0xf8, 0x0d, 0xa0, 0x1e, 0x74, 0x7b, 0x13, 0xc6, 0x5b, 0x58, + 0xe8, 0x3c, 0xf7, 0x39, 0x39, 0x59, 0x4c, 0xda, 0x58, 0x9d, 0xa7, 0x77, 0xe1, 0x18, 0x69, 0xad, + 0x33, 0xa4, 0xa1, 0xb6, 0x06, 0xd2, 0x74, 0x42, 0x1f, 0xe4, 0x53, 0x6a, 0xe0, 0x1f, 0xdf, 0x9a, + 0x96, 0x3a, 0xeb, 0x7d, 0x11, 0xfa, 0xc7, 0x91, 0x3d, 0x02, 0x79, 0xc2, 0xed, 0x44, 0x1a, 0x1e, + 0x98, 0xa9, 0x84, 0x99, 0xd3, 0xf2, 0x32, 0xe9, 0xcb, 0x81, 0x72, 0x75, 0xec, 0x08, 0xef, 0x00, + 0x92, 0xed, 0xd5, 0xeb, 0xf2, 0x98, 0x7b, 0x7e, 0xf9, 0xe5, 0xec, 0x3f, 0xa3, 0x9a, 0x4e, 0xc7, + 0x08, 0x08, 0x9d, 0xab, 0x3f, 0xb5, 0x16, 0xfc, 0x1f, 0x85, 0xa7, 0x03, 0x5b, 0x36, 0xa6, 0x25, + 0xdc, 0xa6, 0xe0, 0xed, 0x62, 0x81, 0x4d, 0xc7, 0x3c, 0x66, 0xea, 0xd5, 0x11, 0x21, 0x46, 0x48, + 0xa3, 0xd2, 0xe1, 0x9f, 0xf4, 0x8d, 0xfa, 0x06, 0x60, 0x87, 0x8a, 0xff, 0xbd, 0xaf, 0x3a, 0xa8, + 0x10, 0xde, 0x93, 0x25, 0x12, 0xf3, 0x05, 0xcc, 0x1f, 0x3c, 0x45, 0x65, 0xaf, 0xf0, 0xbb, 0x9e, + 0xc2, 0x09, 0xee, 0x79, 0x54, 0x2a, 0x46, 0x7c, 0x2b, 0x75, 0x4e, 0xc8, 0x37, 0x37, 0x1d, 0x1e, + 0x6b, 0xcc, 0x18, 0xad, 0x43, 0x3f, 0x3b, 0x01, 0x63, 0xba, 0x0e, 0x50, 0xe7, 0xf2, 0x31, 0x01, + 0x69, 0xe6, 0xe2, 0x73, 0x35, 0xb6, 0xc5, 0x89, 0x83, 0xbe, 0xf8, 0xf4, 0xe1, 0xc7, 0x05, 0x83, + 0x86, 0xdd, 0x62, 0x2a, 0x69, 0x64, 0xc7, 0xba, 0x18, 0x3d, 0x5c, 0xcf, 0x6a, 0xb9, 0xba, 0xc9, + 0x41, 0x7e, 0x15, 0x7e, 0x99, 0xf2, 0x08, 0xc5, 0xe0, 0xb7, 0x45, 0xdf, 0x13, 0xb7, 0xa1, 0x11, + 0xac, 0x87, 0xde, 0x26, 0x2f, 0xbd, 0x52, 0x20, 0x4c, 0x08, 0x9a, 0x55, 0xbb, 0x7e, 0x48, 0x2a, + 0xda, 0xa4, 0xc1, 0x74, 0xe9, 0x42, 0x65, 0x8c, 0x10, 0xf8, 0xc0, 0xa8, 0x23, 0x05, 0x75, 0xb4, + 0x32, 0x05, 0x3a, 0xbe, 0x2a, 0x00, 0xf2, 0x90, 0x87, 0xbf, 0x1d, 0x3e, 0x12, 0x81, 0xa3, 0xb5, + 0x2a, 0x1f, 0x6b, 0x20, 0x45, 0x48, 0x77, 0x70, 0x1b, 0x0d, 0x1f, 0xc6, 0x94, 0x50, 0x1d, 0xf5, + 0x09, 0x66, 0x50, 0x8a, 0xed, 0x7e, 0xbe, 0x85, 0xa6, 0x32, 0xf0, 0x4b, 0x96, 0xb2, 0x2f, 0x4b, + 0x80, 0x31, 0x29, 0xad, 0xf5, 0x85, 0xab, 0xdc, 0x46, 0xcc, 0x62, 0x29, 0xb2, 0xb6, 0xfc, 0x6c, + 0x90, 0x88, 0x80, 0xe8, 0xbb, 0x8e, 0x87, 0xba, 0xdb, 0x81, 0x78, 0x3d, 0x9f, 0x99, 0x5d, 0xad, + 0xa2, 0xb2, 0x9d, 0x16, 0x97, 0x15, 0x9a, 0x8f, 0xa6, 0xb0, 0xb1, 0x01, 0x52, 0xbf, 0x69, 0x25, + 0xe0, 0xa9, 0x09, 0x86, 0xb0, 0x8b, 0xef, 0x3a, 0x6a, 0xd3, 0x1c, 0xf5, 0x8a, 0xfc, 0x10, 0x33, + 0x95, 0x9a, 0xb1, 0xef, 0xaf, 0x6d, 0x10, 0xd6, 0x9a, 0xca, 0xc4, 0x6c, 0x20, 0xde, 0x90, 0x32, + 0x82, 0xd3, 0x4f, 0x27, 0x51, 0x0b, 0xa9, 0x81, 0xe5, 0x8d, 0xe8, 0xce, 0x56, 0xf5, 0x8d, 0x5c, + 0x30, 0x47, 0x34, 0x94, 0xcb, 0x1b, 0xd5, 0xee, 0x63, 0x64, 0x9a, 0x03, 0x9d, 0x84, 0xcc, 0x84, + 0xe7, 0x73, 0x6f, 0x36, 0x21, 0xc0, 0xd0, 0x27, 0xc2, 0x0a, 0x92, 0x98, 0x73, 0xd4, 0x2d, 0x83, + 0x3f, 0x33, 0xa4, 0x8d, 0xa0, 0xcb, 0x9a, 0x23, 0xe8, 0x28, 0x85, 0x3a, 0x91, 0x5c, 0x5e, 0x4c, + 0x42, 0xa4, 0xa3, 0x91, 0xab, 0xdf, 0xf8, 0xdc, 0xe6, 0x7b, 0x49, 0xd1, 0x53, 0x21, 0x6a, 0x78, + 0x1d, 0x58, 0x58, 0xff, 0xaa, 0x01, 0x91, 0x3f, 0x44, 0x09, 0x86, 0x1b, 0x8e, 0xf7, 0xbd, 0x2a, + 0xdf, 0x64, 0xac, 0xed, 0xc9, 0x51, 0xcd, 0xe4, 0x94, 0xac, 0xab, 0x00, 0x85, 0xb6, 0x85, 0x9c, + 0x05, 0xf0, 0xee, 0x76, 0xb0, 0x1f, 0xcb, 0xe1, 0xf8, 0x58, 0x6b, 0x15, 0x2f, 0xe6, 0x7a, 0x33, + 0x95, 0x4e, 0xb4, 0xa0, 0x5c, 0x84, 0x5f, 0x29, 0x9d, 0xc5, 0xe3, 0x0f, 0x5e, 0x53, 0x3c, 0x05, + 0xd8, 0x91, 0x85, 0x99, 0xd4, 0x44, 0x0f, 0xf4, 0xde, 0x7c, 0xf4, 0x89, 0x50, 0xb5, 0xca, 0x81, + 0xa8, 0x07, 0xa6, 0x25, 0xfa, 0x42, 0xba, 0x84, 0x04, 0xc0, 0x64, 0xed, 0x46, 0xc9, 0x8b, 0xcb, + 0x48, 0x97, 0x3e, 0x76, 0xeb, 0x19, 0x19, 0x1a, 0x1b, 0x7a, 0xfc, 0xa1, 0x07, 0xd1, 0x7f, 0x9f, + 0x3b, 0x1d, 0x3b, 0xac, 0x6a, 0x88, 0xb1, 0xe6, 0x20, 0x05, 0x02, 0x32, 0xc0, 0x36, 0x29, 0x24, + 0x79, 0x6e, 0x34, 0xe2, 0x59, 0x89, 0xf1, 0x7e, 0x81, 0xca, 0x9e, 0x49, 0x1e, 0x72, 0x84, 0x24, + 0x90, 0xf1, 0x77, 0x78, 0x66, 0x9e, 0x90, 0x01, 0x61, 0x52, 0x25, 0x51, 0x79, 0x8d, 0x12, 0xe3, + 0xa2, 0x5a, 0x6c, 0x50, 0x10, 0x3e, 0x9a, 0x3d, 0x0c, 0x77, 0xda, 0x51, 0xd9, 0x1d, 0x1f, 0xe8, + 0x25, 0xfd, 0xc7, 0x1d, 0x64, 0xb0, 0xf9, 0xb6, 0x52, 0x73, 0xa4, 0x9e, 0xd2, 0x20, 0xd4, 0x40, + 0x5b, 0x97, 0x26, 0xfc, 0x97, 0xcc, 0xd1, 0x84, 0x91, 0xf5, 0x36, 0xed, 0xd0, 0x52, 0x50, 0x7a, + 0x04, 0xd8, 0xb5, 0x51, 0xe9, 0xd0, 0x92, 0x5d, 0x6f, 0x5d, 0x56, 0x92, 0x13, 0xfb, 0xfb, 0xdc, + 0x29, 0x40, 0x73, 0x78, 0x1e, 0xbe, 0xe5, 0x76, 0x7d, 0xf0, 0x66, 0x98, 0x74, 0xd6, 0x9b, 0x5c, + 0x18, 0x89, 0xfe, 0x1e, 0xd5, 0xf4, 0xff, 0xfb, 0x8d, 0x3f, 0xbd, 0x0b, 0xc1, 0xba, 0x25, 0xa4, + 0xc1, 0xc6, 0x67, 0xe8, 0x4f, 0x26, 0xdd, 0xf8, 0x16, 0x42, 0x97, 0x16, 0x0f, 0xd3, 0xc0, 0xaa, + 0x8c, 0x13, 0x6a, 0x80, 0x15, 0xf5, 0x8a, 0x08, 0x1b, 0x89, 0x2e, 0x70, 0xa7, 0xbb, 0xe1, 0x54, + 0x67, 0x18, 0xbc, 0x98, 0x6a, 0xc0, 0x70, 0xa0, 0xb3, 0x3b, 0x61, 0xfe, 0x05, 0x65, 0x1a, 0x40, + 0xed, 0x92, 0xf8, 0x3e, 0x23, 0x6c, 0x09, 0x89, 0x2e, 0x2e, 0xf7, 0xd3, 0xb4, 0x27, 0xaa, 0x1a, + 0x30, 0x6a, 0xff, 0x50, 0x6f, 0x11, 0x9a, 0x99, 0x31, 0x13, 0xd2, 0xd8, 0xfb, 0xd4, 0xc7, 0x09, + 0x15, 0xa5, 0xc6, 0x85, 0x4a, 0x95, 0x4f, 0x71, 0xb3, 0xf7, 0x54, 0x87, 0xec, 0x7b, 0xd9, 0xf6, + 0x3a, 0x79, 0xf4, 0x47, 0x6c, 0x62, 0xc6, 0x77, 0xd2, 0x08, 0xb4, 0x87, 0xce, 0xec, 0x7f, 0x09, + 0x74, 0xa3, 0x7b, 0x64, 0xac, 0x2f, 0x1c, 0x2c, 0x5c, 0x50, 0xa7, 0xc5, 0x34, 0x0f, 0x37, 0x09, + 0x9f, 0xab, 0xfe, 0x47, 0xce, 0xeb, 0x43, 0x56, 0xcc, 0x52, 0xd4, 0xe1, 0x31, 0x27, 0xf4, 0xf8, + 0x29, 0xc4, 0x97, 0xb1, 0xb1, 0x87, 0xb3, 0x1f, 0xe1, 0x76, 0x41, 0x4f, 0xec, 0x5d, 0xd6, 0x72, + 0xe6, 0x34, 0x06, 0x9f, 0xa1, 0xd7, 0x3a, 0x7e, 0x60, 0xa6, 0x72, 0x28, 0xd0, 0x57, 0x71, 0x49, + 0x12, 0x05, 0x94, 0xe3, 0x1a, 0xca, 0x27, 0x78, 0xfc, 0x16, 0x68, 0x5f, 0xc0, 0x1b, 0xea, 0x6d, + 0x90, 0x94, 0x6b, 0xd6, 0x71, 0x20, 0x02, 0xd4, 0xc8, 0x75, 0xdc, 0xeb, 0x9f, 0x6b, 0x1b, 0x64, + 0xc2, 0xae, 0xae, 0xb9, 0x78, 0xf6, 0xac, 0x45, 0x8c, 0x74, 0x60, 0x9c, 0xf2, 0xc9, 0x8d, 0x77, + 0x30, 0xce, 0xf7, 0xa0, 0x49, 0x72, 0x28, 0x19, 0x32, 0x8f, 0xaf, 0x5b, 0xf4, 0x10, 0x79, 0x96, + 0xee, 0xe7, 0xce, 0xd6, 0x2f, 0x27, 0x54, 0x5e, 0x37, 0x68, 0x06, 0x41, 0xad, 0x59, 0xdd, 0x03, + 0x84, 0xd6, 0x66, 0xd6, 0xc0, 0xf1, 0xb7, 0x69, 0x92, 0xdc, 0x75, 0x42, 0x3d, 0xa1, 0xec, 0xc9, + 0xc1, 0x31, 0x62, 0x78, 0xb0, 0x35, 0x23, 0xd4, 0xf5, 0x55, 0xdd, 0x4a, 0xee, 0x81, 0xc5, 0x3c, + 0xe4, 0xf5, 0xf5, 0x65, 0xbc, 0x9b, 0x84, 0x9f, 0x64, 0xdd, 0x59, 0xf6, 0x80, 0xa3, 0x5a, 0x3f, + 0xe1, 0xcb, 0x85, 0x0e, 0x0f, 0x51, 0x1b, 0xa1, 0xe6, 0xa3, 0xd4, 0x89, 0x9e, 0x4a, 0xe7, 0xc9, + 0x25, 0xfb, 0x67, 0x8e, 0xf3, 0x77, 0x2a, 0x63, 0x50, 0xc5, 0x90, 0xb4, 0x84, 0xf7, 0xd5, 0x6b, + 0x39, 0x16, 0xd1, 0x52, 0xd5, 0xc6, 0x97, 0xbb, 0x7b, 0xba, 0x49, 0x7e, 0x16, 0x57, 0xea, 0x0a, + 0x53, 0xf3, 0x6d, 0x9f, 0xa1, 0xb0, 0x35, 0x09, 0x23, 0x28, 0x3d, 0xa1, 0x40, 0x47, 0xb0, 0x8c, + 0x80, 0x71, 0x3a, 0x01, 0xb6, 0x07, 0x7e, 0x87, 0xb1, 0x2d, 0x96, 0x76, 0xe8, 0xb6, 0xed, 0xc8, + 0x79, 0x53, 0xc4, 0xb8, 0x13, 0xb4, 0x96, 0x81, 0x06, 0x94, 0x00, 0x9f, 0x34, 0xb6, 0x62, 0x9f, + 0xf1, 0xf3, 0x20, 0x92, 0xa0, 0x20, 0xcf, 0x3a, 0x96, 0x47, 0xb0, 0xbf, 0xe3, 0xed, 0x81, 0xba, + 0xcc, 0xbe, 0x0b, 0x9d, 0x60, 0x47, 0xb8, 0xf0, 0xca, 0x8c, 0x77, 0x6a, 0x87, 0x35, 0x86, 0x68, + 0xde, 0xe8, 0x9f, 0x2c, 0xb7, 0x88, 0xb4, 0x15, 0xa6, 0xdb, 0x7a, 0xe2, 0x61, 0xc0, 0xfd, 0x32, + 0xd3, 0x2b, 0x86, 0x90, 0xd1, 0xf7, 0xfd, 0xa9, 0xb8, 0xa9, 0x6d, 0x77, 0xb8, 0xc5, 0xd4, 0x54, + 0x97, 0x42, 0x3e, 0xce, 0x7c, 0xe4, 0x8f, 0xd7, 0x1a, 0x45, 0x28, 0xad, 0xd9, 0x5a, 0x25, 0x7a, + 0xf6, 0x6d, 0x0d, 0x79, 0xab, 0xb7, 0x04, 0xab, 0xc3, 0x50, 0x94, 0x62, 0x2c, 0xf0, 0x42, 0x45, + 0x60, 0x16, 0xaa, 0x9e, 0x73, 0xf6, 0x3f, 0x8b, 0x84, 0x5d, 0x10, 0xb7, 0x00, 0x3b, 0xc6, 0xb0, + 0xb7, 0xc5, 0x58, 0x0c, 0xd4, 0x1c, 0xc3, 0x70, 0x46, 0x03, 0x3c, 0x67, 0xc9, 0x67, 0x9b, 0x55, + 0xe5, 0xd3, 0xc5, 0x29, 0x86, 0x4c, 0xcb, 0x89, 0x31, 0xf5, 0xa4, 0x8a, 0x06, 0x86, 0x2c, 0x29, + 0xf5, 0x68, 0x07, 0x33, 0xf2, 0xb6, 0x0b, 0x92, 0x53, 0x04, 0x58, 0x95, 0x32, 0x15, 0xe8, 0x4a, + 0x0d, 0x57, 0xb0, 0x65, 0x85, 0x69, 0x51, 0xea, 0x4f, 0x61, 0x7b, 0x6d, 0x98, 0xca, 0xc6, 0xa9, + 0x65, 0x2d, 0x7a, 0x41, 0x1f, 0xf0, 0xea, 0x7e, 0xa5, 0x4f, 0xf5, 0x41, 0x1b, 0x3e, 0x1c, 0x8f, + 0x4a, 0x23, 0x01, 0xa7, 0xeb, 0x38, 0xec, 0x18, 0x83, 0xde, 0x1b, 0x1d, 0x9f, 0x8e, 0x97, 0xd4, + 0xb5, 0xe8, 0x54, 0xe1, 0xab, 0xed, 0x6f, 0xce, 0x69, 0x9b, 0x35, 0xc2, 0x01, 0x50, 0xc9, 0x1e, + 0x03, 0x41, 0xdb, 0x1b, 0x10, 0xa6, 0x87, 0x06, 0x19, 0x03, 0xf0, 0x36, 0x52, 0x96, 0xda, 0x58, + 0x06, 0x0d, 0x98, 0x33, 0xb5, 0x83, 0xab, 0x0e, 0x57, 0x70, 0x58, 0x0e, 0x4f, 0x35, 0x4a, 0xf1, + 0x06, 0x86, 0x8a, 0x3d, 0x64, 0x33, 0xc5, 0x47, 0x8a, 0xfc, 0x27, 0xe5, 0x63, 0x9d, 0x15, 0x5f, + 0xe2, 0xb0, 0x04, 0xe6, 0x32, 0x7b, 0x2c, 0x53, 0x70, 0xad, 0x60, 0x94, 0x21, 0x0f, 0x52, 0x5c, + 0x65, 0x45, 0x7e, 0x6c, 0xd0, 0xf8, 0x03, 0xde, 0x9d, 0x44, 0x32, 0xa3, 0x6a, 0x08, 0xc7, 0xab, + 0x31, 0xcb, 0x8d, 0x60, 0xd3, 0x7d, 0x28, 0xfb, 0x4a, 0x40, 0xa1, 0x38, 0x4a, 0x20, 0x1c, 0xee, + 0x05, 0xa1, 0xec, 0xa8, 0x52, 0x9f, 0x4d, 0x96, 0x0c, 0x73, 0xb2, 0x16, 0xdc, 0xc5, 0x93, 0x55, + 0x36, 0xf2, 0xf4, 0xf2, 0x7e, 0x42, 0x1a, 0x7e, 0x5e, 0xcc, 0x35, 0x3c, 0xc7, 0xf9, 0x64, 0xff, + 0xb5, 0x61, 0x86, 0x5a, 0x3e, 0xd7, 0x9a, 0x00, 0x1b, 0x21, 0xe9, 0x8b, 0x75, 0x5a, 0xbd, 0xdb, + 0x76, 0xf6, 0x29, 0xc8, 0x57, 0xfc, 0x5e, 0xe3, 0xcf, 0x21, 0xfb, 0x99, 0x37, 0x53, 0x51, 0xdf, + 0xc7, 0x60, 0x99, 0x4e, 0x42, 0xcc, 0x84, 0x5c, 0x48, 0xf9, 0xee, 0x8c, 0x03, 0x99, 0x3f, 0xd3, + 0x21, 0xac, 0x09, 0xe0, 0x58, 0x52, 0x25, 0x30, 0x20, 0x60, 0xf9, 0xda, 0xe6, 0x35, 0x5e, 0xc4, + 0x2a, 0x80, 0xdf, 0x79, 0x51, 0xe1, 0x41, 0xf7, 0x64, 0x40, 0x33, 0x8a, 0x95, 0x5a, 0x3e, 0xbd, + 0x71, 0x96, 0x1a, 0xfe, 0x77, 0xef, 0x96, 0xc6, 0x9a, 0xb2, 0x54, 0x86, 0x8a, 0x94, 0x1e, 0xf8, + 0x77, 0x33, 0x91, 0xc0, 0x60, 0x77, 0x23, 0x8b, 0x9f, 0xe7, 0x4a, 0x76, 0x62, 0x20, 0x44, 0x3e, + 0x40, 0xf0, 0x77, 0xd9, 0xeb, 0x8f, 0xbd, 0xfc, 0x98, 0xc6, 0x06, 0xc8, 0xc9, 0x0a, 0x8e, 0x31, + 0xf7, 0x53, 0xa1, 0x2b, 0x35, 0xbc, 0x05, 0x71, 0x82, 0xe5, 0x8b, 0x7f, 0x8c, 0x17, 0x23, 0xf9, + 0xd8, 0x4e, 0x24, 0x87, 0x44, 0x76, 0xf5, 0x2a, 0x6e, 0x6c, 0x31, 0x23, 0xdd, 0x5d, 0x82, 0x0f, + 0xdf, 0x2b, 0x60, 0x0f, 0x32, 0xa3, 0xc5, 0xfe, 0x30, 0xc3, 0x6e, 0x8d, 0x32, 0x4c, 0x64, 0x69, + 0x31, 0x18, 0x52, 0xfa, 0x5d, 0xa7, 0x0e, 0x13, 0x4a, 0xe8, 0x57, 0x35, 0x35, 0xb6, 0x50, 0x3c, + 0x46, 0x9a, 0x9c, 0x3f, 0x59, 0xe7, 0x0d, 0xf0, 0x3b, 0xf7, 0xbd, 0xc4, 0xaa, 0x1c, 0x8e, 0xba, + 0x31, 0x2e, 0x01, 0xe3, 0x3b, 0xcd, 0xc3, 0x65, 0xae, 0x23, 0x07, 0x4d, 0xe8, 0x58, 0xc3, 0x3a, + 0xff, 0xb9, 0x7b, 0xc7, 0xd4, 0xe2, 0x5d, 0x53, 0xe2, 0x41, 0x13, 0x8a, 0x37, 0x10, 0x73, 0x87, + 0x97, 0x78, 0x90, 0x70, 0xa1, 0x0e, 0xe5, 0xdc, 0xa3, 0x10, 0xc2, 0x10, 0x70, 0xff, 0x95, 0x5d, + 0xad, 0x2f, 0xd8, 0x4c, 0x80, 0xeb, 0x27, 0x79, 0x68, 0x23, 0xf3, 0xa3, 0x8f, 0xd8, 0xf8, 0x96, + 0x06, 0xdd, 0x01, 0x04, 0x81, 0xe9, 0xad, 0x66, 0x30, 0x75, 0x69, 0x00, 0x0d, 0x40, 0x89, 0x06, + 0xa2, 0x62, 0x6d, 0xd6, 0xda, 0xe4, 0xb0, 0xc8, 0x5e, 0xd9, 0x11, 0x77, 0x5e, 0x73, 0xec, 0xab, + 0xca, 0xdd, 0xa3, 0xc4, 0x41, 0xf6, 0x42, 0xee, 0xa8, 0xb5, 0x12, 0x49, 0x17, 0x34, 0x35, 0x33, + 0x02, 0x10, 0xdd, 0x9d, 0x92, 0xa4, 0x07, 0xca, 0xe9, 0x0c, 0x76, 0x42, 0x20, 0x31, 0x64, 0x43, + 0x3a, 0x50, 0xab, 0x4d, 0xaf, 0xbc, 0x2d, 0xcb, 0x49, 0xec, 0x87, 0x3c, 0xbd, 0x15, 0x30, 0xaf, + 0x98, 0x09, 0xd1, 0xcf, 0x74, 0x53, 0x2c, 0x50, 0x3e, 0x22, 0xee, 0xc3, 0x27, 0x99, 0xee, 0x9d, + 0x68, 0xbc, 0x6e, 0x95, 0x6f, 0x1f, 0xed, 0x50, 0x3c, 0xe1, 0x27, 0x35, 0x8c, 0xd7, 0xfe, 0xd9, + 0x7a, 0xb2, 0x58, 0x43, 0x29, 0x5c, 0x84, 0x25, 0x68, 0xf4, 0xe8, 0x52, 0xea, 0xce, 0x03, 0x30, + 0x44, 0xb9, 0xa3, 0x7e, 0x73, 0xb6, 0x9c, 0xa2, 0x5f, 0x6a, 0x0c, 0x63, 0x68, 0x36, 0x1a, 0xec, + 0xc4, 0x2b, 0x52, 0x9a, 0xd2, 0xf4, 0x63, 0xf5, 0x31, 0x6a, 0xb9, 0x6c, 0x47, 0x9a, 0x04, 0x38, + 0x4c, 0x34, 0x89, 0xa4, 0xa0, 0xbe, 0x0c, 0xaf, 0xb1, 0xf9, 0x92, 0xd6, 0x8b, 0x51, 0xab, 0xfe, + 0xdc, 0x11, 0xa6, 0x29, 0x1c, 0xc8, 0x4f, 0xbe, 0xd9, 0x3f, 0x0c, 0xba, 0x59, 0x81, 0xba, 0x7b, + 0xb2, 0x49, 0x3a, 0x60, 0x1e, 0x3a, 0x9c, 0xd1, 0xe9, 0xa5, 0x1d, 0xc4, 0x9a, 0x7a, 0xb0, 0xf0, + 0xe5, 0x9e, 0x02, 0x0c, 0x52, 0x45, 0x11, 0x7c, 0xa4, 0x75, 0xb8, 0x65, 0x19, 0x91, 0xed, 0x16, + 0x0a, 0x68, 0x9e, 0xef, 0x26, 0x35, 0x57, 0x5f, 0x68, 0x4b, 0x57, 0x36, 0x41, 0x68, 0x14, 0xe4, + 0x5e, 0xe6, 0x3c, 0x80, 0xe8, 0xf8, 0x12, 0x97, 0xd0, 0x2e, 0x6a, 0x8f, 0x09, 0x2f, 0xc9, 0x3d, + 0x66, 0x94, 0x21, 0xf2, 0xce, 0x77, 0x98, 0x02, 0xe1, 0xf3, 0x39, 0xa9, 0xad, 0x12, 0x5c, 0x9a, + 0x9f, 0xb2, 0x27, 0xab, 0x99, 0x1f, 0xb1, 0xf3, 0xa4, 0x0e, 0x2e, 0x87, 0x38, 0x7a, 0x27, 0x61, + 0x18, 0x20, 0x64, 0xc3, 0xc2, 0x31, 0xdf, 0xf9, 0x1d, 0x4c, 0xbd, 0x19, 0x21, 0x24, 0x72, 0x32, + 0x7c, 0x75, 0xd3, 0x55, 0x75, 0x78, 0xaa, 0x31, 0x94, 0x52, 0x1a, 0x91, 0xdd, 0xed, 0xae, 0xf4, + 0x25, 0x3e, 0x79, 0x49, 0x9a, 0xe5, 0xd6, 0x49, 0x10, 0x46, 0x50, 0x9c, 0xa3, 0x11, 0x9c, 0xdb, + 0xe5, 0xf5, 0x75, 0xdd, 0xd8, 0x9b, 0x2d, 0x27, 0xe3, 0x40, 0x36, 0x5a, 0x18, 0x1a, 0x10, 0xcf, + 0x89, 0x05, 0x49, 0x9c, 0x8c, 0x7e, 0x21, 0x8f, 0xd4, 0xdd, 0x17, 0x7b, 0x50, 0x15, 0xb7, 0x1c, + 0xed, 0xaa, 0xe8, 0xc8, 0xbb, 0x9e, 0xe6, 0x59, 0xac, 0x20, 0x13, 0x63, 0xd9, 0x67, 0xdc, 0x35, + 0x47, 0xa7, 0xdf, 0x32, 0x5e, 0x1c, 0x06, 0x29, 0x7e, 0x3d, 0x12, 0x0b, 0x09, 0xce, 0xb3, 0xc4, + 0x16, 0x22, 0x73, 0x83, 0x9d, 0x86, 0xa5, 0x6d, 0xcd, 0x4b, 0x37, 0x42, 0x05, 0x52, 0x78, 0x1e, + 0x91, 0x11, 0x84, 0x86, 0x86, 0x09, 0x4e, 0x38, 0xb9, 0x75, 0x29, 0x0f, 0x85, 0x61, 0x42, 0xb3, + 0x6f, 0x0e, 0x78, 0x09, 0x59, 0xca, 0x23, 0x10, 0xd7, 0x11, 0x54, 0x1f, 0x62, 0x24, 0x82, 0xbc, + 0x3a, 0x2f, 0x5a, 0x22, 0x7c, 0xba, 0xa9, 0x93, 0xea, 0x1b, 0x3c, 0xe3, 0x88, 0x16, 0x27, 0xeb, + 0x57, 0xb9, 0x7f, 0xa9, 0x53, 0x75, 0x29, 0xa1, 0xf1, 0x10, 0xb6, 0x9f, 0xa1, 0xd6, 0xda, 0x97, + 0x1d, 0xea, 0x89, 0xaf, 0xb1, 0x87, 0x1d, 0x9e, 0x52, 0xed, 0x7b, 0xa0, 0x67, 0x73, 0x29, 0x24, + 0xb3, 0x3a, 0x42, 0x6c, 0xcc, 0xdc, 0x10, 0x0c, 0x1c, 0xdc, 0xc7, 0x1f, 0x33, 0xf5, 0x59, 0xa8, + 0x7c, 0xe8, 0x5d, 0xd7, 0x4b, 0x63, 0x7d, 0x38, 0x15, 0x6b, 0x85, 0x41, 0xe5, 0x4c, 0xd2, 0x03, + 0x77, 0x7b, 0x90, 0x11, 0x14, 0x2c, 0x71, 0xe2, 0x9b, 0xd6, 0x10, 0xa6, 0x67, 0xea, 0xf0, 0x77, + 0x22, 0x32, 0xcc, 0x4d, 0x45, 0xe2, 0xde, 0x2d, 0x5c, 0x77, 0x96, 0x41, 0x55, 0x0c, 0xfa, 0xd6, + 0x41, 0x29, 0x5f, 0xea, 0x54, 0x56, 0xb2, 0xc5, 0x22, 0xdf, 0x9e, 0x99, 0x3a, 0x54, 0x0f, 0x09, + 0xb6, 0xc0, 0xf3, 0xbc, 0x8c, 0xe5, 0x42, 0x6a, 0x86, 0xb4, 0x0b, 0x2e, 0x29, 0x40, 0x8e, 0xc2, + 0xba, 0x97, 0x5b, 0x70, 0x4b, 0x6b, 0x47, 0xc1, 0xb8, 0x1f, 0x84, 0x90, 0x45, 0x2b, 0x3d, 0x33, + 0xe0, 0x9f, 0xa6, 0xee, 0xa9, 0x71, 0x42, 0xfa, 0x5e, 0x01, 0x5f, 0x52, 0x40, 0x9a, 0x01, 0xed, + 0x19, 0xee, 0xfa, 0x4d, 0x49, 0x97, 0x44, 0xb3, 0x6b, 0x80, 0xdb, 0x60, 0x0f, 0x4a, 0xbf, 0xc1, + 0xe2, 0x43, 0xb6, 0x05, 0x72, 0x10, 0x20, 0xc7, 0xe2, 0xf7, 0xab, 0xf7, 0x9c, 0xee, 0x4e, 0x40, + 0x1b, 0x5d, 0xdc, 0x6a, 0x95, 0xf4, 0x92, 0x35, 0x8e, 0x36, 0x15, 0x78, 0xe6, 0x7e, 0xb0, 0xf2, + 0x2d, 0xc2, 0x5b, 0xa2, 0x64, 0x3b, 0x9d, 0x68, 0xe7, 0x6e, 0x55, 0x15, 0xc3, 0x02, 0x40, 0xdf, + 0xca, 0xb3, 0xe3, 0x43, 0x36, 0xed, 0x88, 0x27, 0x89, 0x86, 0x80, 0xe7, 0xc7, 0xa1, 0xc1, 0x74, + 0xbd, 0xc1, 0x63, 0xaa, 0xd7, 0x2e, 0xc4, 0xb2, 0x98, 0xa3, 0xa6, 0x7c, 0x15, 0xe2, 0x9c, 0x75, + 0x04, 0x9b, 0xd0, 0xdd, 0x5a, 0x6a, 0x88, 0x65, 0xf7, 0x74, 0xbf, 0xd5, 0x02, 0xa4, 0xe2, 0xc7, + 0x53, 0x3d, 0x15, 0xbf, 0xb5, 0x9b, 0x59, 0x39, 0xc7, 0xb9, 0x61, 0x85, 0xbd, 0x71, 0xbb, 0x09, + 0x20, 0x42, 0xbc, 0x52, 0x9d, 0x42, 0x7a, 0xba, 0x34, 0xc6, 0xf0, 0xf3, 0x85, 0xb6, 0x6d, 0x7b, + 0xaf, 0x1e, 0xf8, 0x24, 0xe3, 0x34, 0xfc, 0xfe, 0x76, 0x0f, 0xa4, 0xee, 0xc5, 0x7c, 0x86, 0xb6, + 0xbb, 0x1c, 0xd5, 0x62, 0x03, 0xbf, 0x86, 0x18, 0x68, 0xda, 0xc0, 0x8f, 0x9d, 0xe2, 0xe8, 0xaa, + 0x1d, 0x78, 0x20, 0x6f, 0x1d, 0xa0, 0xeb, 0xea, 0x9a, 0x85, 0x93, 0x48, 0xa1, 0xbc, 0x73, 0x2b, + 0xb6, 0xad, 0xdb, 0xaa, 0x95, 0x29, 0xab, 0x58, 0x6d, 0x2b, 0x71, 0xc9, 0x3b, 0x12, 0x5c, 0x19, + 0xa6, 0xdb, 0x60, 0x0d, 0x69, 0x47, 0x0d, 0x3d, 0x1a, 0x11, 0xe9, 0x7d, 0x06, 0x02, 0x99, 0x51, + 0x2b, 0x29, 0x4c, 0x41, 0x71, 0xf6, 0xff, 0xdd, 0x2b, 0x82, 0xb7, 0x13, 0x79, 0xd3, 0x70, 0x45, + 0x5b, 0xe2, 0x8c, 0xa2, 0xed, 0xf7, 0x0c, 0xe8, 0x58, 0xf4, 0x79, 0x73, 0x3b, 0x7a, 0xc5, 0xce, + 0x7a, 0x01, 0xd4, 0xd6, 0x63, 0x7a, 0xe5, 0xa6, 0x94, 0xa4, 0x12, 0x89, 0xca, 0xc8, 0xb4, 0x7b, + 0xcd, 0xb4, 0xdd, 0x9b, 0x3d, 0x96, 0x3c, 0xc1, 0xb2, 0x18, 0x48, 0xc5, 0x94, 0x13, 0xb7, 0xba, + 0xb0, 0xa8, 0xd0, 0xec, 0x3f, 0x5c, 0xf2, 0xec, 0x0d, 0x99, 0xf8, 0xe7, 0xa6, 0xbe, 0x5b, 0x6a, + 0xc8, 0xfc, 0x0d, 0xfb, 0x8a, 0xd4, 0xf8, 0xae, 0x0e, 0xcd, 0x6e, 0xe5, 0x2e, 0x2f, 0x24, 0xa6, + 0x38, 0x55, 0x05, 0x34, 0xd5, 0xfd, 0xa3, 0x1a, 0x18, 0xfa, 0xfc, 0x79, 0x4d, 0x9c, 0xc0, 0x84, + 0xda, 0x34, 0x6d, 0xa7, 0x51, 0xab, 0xbf, 0x4e, 0x9e, 0xfa, 0xd6, 0x08, 0x27, 0x9f, 0xb1, 0xd3, + 0x87, 0x94, 0xb9, 0xd1, 0x8a, 0x37, 0xb3, 0x72, 0x4c, 0x67, 0x49, 0x8f, 0xfd, 0x06, 0xc2, 0x43, + 0x64, 0x78, 0x9c, 0x17, 0xf7, 0xf7, 0x02, 0xfb, 0x71, 0xa9, 0x32, 0x5d, 0x6a, 0x5b, 0x8d, 0x7d, + 0x96, 0xf4, 0x3f, 0x7a, 0xf9, 0xa7, 0xfa, 0x48, 0xa8, 0xb5, 0x54, 0x9a, 0x83, 0xfc, 0x99, 0x95, + 0x99, 0x81, 0xda, 0xc0, 0xea, 0x00, 0xb9, 0xa6, 0x7f, 0xe9, 0x12, 0x92, 0x81, 0xc7, 0x32, 0x1f, + 0x91, 0x29, 0xca, 0x95, 0x1b, 0x33, 0x0e, 0x2e, 0xf1, 0x5c, 0x5a, 0xb6, 0x75, 0x90, 0x77, 0x61, + 0x5d, 0xbf, 0xe4, 0x6f, 0x55, 0xac, 0x1b, 0xd4, 0x5c, 0x16, 0x25, 0xf1, 0xed, 0xaa, 0x6c, 0xf1, + 0x4d, 0x02, 0x21, 0x97, 0x12, 0x03, 0x5d, 0x4a, 0xdb, 0x00, 0x38, 0x69, 0xc5, 0x9c, 0x18, 0x70, + 0x4a, 0xf9, 0x7d, 0xd3, 0xcd, 0x09, 0xde, 0xb4, 0x28, 0xd3, 0x20, 0xe8, 0x04, 0x55, 0x5c, 0x6d, + 0x85, 0xb5, 0x41, 0xd1, 0x37, 0xa0, 0xd0, 0xf9, 0x1d, 0xfb, 0x61, 0x57, 0xb0, 0x05, 0x5f, 0xcc, + 0xf6, 0x67, 0x73, 0xd1, 0xf8, 0x78, 0x9c, 0x05, 0x85, 0xa8, 0x9c, 0xa4, 0x2d, 0x97, 0x88, 0xa1, + 0x6d, 0x6c, 0x13, 0xfb, 0x6c, 0xf5, 0x83, 0xf5, 0xf9, 0xd5, 0x01, 0xe5, 0xa9, 0x81, 0xc6, 0x48, + 0x2a, 0x5a, 0x2b, 0x65, 0x80, 0x8b, 0xc4, 0x55, 0xe2, 0xf9, 0xe7, 0x29, 0x98, 0x23, 0xe7, 0xd5, + 0xb3, 0x49, 0xd6, 0x17, 0xcf, 0x70, 0x07, 0x25, 0x93, 0xbe, 0x9f, 0x5d, 0xc9, 0x7c, 0x6c, 0xd0, + 0x0a, 0xf9, 0xf5, 0xf4, 0x0c, 0xa8, 0x37, 0xb2, 0xe8, 0xca, 0x73, 0xf2, 0xe9, 0xd5, 0x3e, 0xfc, + 0x90, 0xbf, 0x0a, 0xd4, 0xb2, 0xec, 0x68, 0x5c, 0xc6, 0xe7, 0xd5, 0xd4, 0xa8, 0x59, 0xfb, 0x8a, + 0xf5, 0x93, 0xae, 0x37, 0x9e, 0x56, 0x00, 0x97, 0x8a, 0x23, 0xc0, 0xee, 0x94, 0xd9, 0x14, 0xab, + 0x9b, 0xf6, 0x60, 0xab, 0x54, 0x17, 0x5f, 0xff, 0x7a, 0x80, 0x36, 0x4f, 0x6c, 0xbb, 0xff, 0x07, + 0x7d, 0x88, 0xe0, 0xad, 0x96, 0x29, 0x17, 0x0c, 0x7a, 0x01, 0xd2, 0xce, 0x49, 0xe4, 0x4f, 0x5a, + 0xfa, 0xbf, 0xec, 0x82, 0x75, 0x06, 0x2a, 0x13, 0x06, 0x35, 0xf5, 0x9e, 0x23, 0x62, 0xe7, 0x42, + 0x4e, 0x48, 0x6d, 0x95, 0xe7, 0x9f, 0xde, 0xd3, 0xd5, 0x3d, 0x6f, 0x87, 0xdc, 0x86, 0xcd, 0xda, + 0xb5, 0xe1, 0xa4, 0xdc, 0x5a, 0xd6, 0x9f, 0x89, 0xeb, 0x4e, 0x32, 0xc0, 0x93, 0x86, 0xf0, 0xbb, + 0xf1, 0x07, 0xd2, 0x50, 0x82, 0xce, 0xb1, 0x90, 0xb5, 0x78, 0xf7, 0xa8, 0x77, 0x36, 0x08, 0x48, + 0xd5, 0x2a, 0x83, 0xa8, 0xf8, 0x0b, 0xd9, 0xef, 0x21, 0x45, 0x3e, 0xf5, 0x7c, 0x68, 0x23, 0xb2, + 0x09, 0x8e, 0xee, 0x6a, 0xcc, 0x08, 0x5f, 0x25, 0x6f, 0xe6, 0xcb, 0x1c, 0x7f, 0x56, 0x79, 0x9a, + 0x2e, 0x81, 0xf8, 0x07, 0x5b, 0x4c, 0x05, 0x88, 0x5a, 0x87, 0x42, 0x28, 0xf8, 0x45, 0xc6, 0x85, + 0x19, 0x04, 0xe9, 0xa0, 0x74, 0x4d, 0x3f, 0x4b, 0x99, 0x7a, 0x59, 0x66, 0x40, 0x4f, 0x55, 0x99, + 0x0b, 0xe1, 0x89, 0x05, 0x0f, 0x23, 0x94, 0x19, 0xb8, 0x4e, 0x0a, 0x80, 0xdf, 0x67, 0xc1, 0x52, + 0xca, 0x52, 0xba, 0x62, 0xf4, 0x32, 0x98, 0xa9, 0x97, 0xa6, 0xab, 0xef, 0x68, 0x54, 0x43, 0x61, + 0x2d, 0xc9, 0x42, 0x45, 0xb6, 0x85, 0xb1, 0x7c, 0x5e, 0x06, 0x04, 0x13, 0x4d, 0x15, 0x43, 0x9d, + 0x96, 0xae, 0x60, 0x31, 0xb1, 0x22, 0x37, 0xaa, 0x92, 0x21, 0x5d, 0xd8, 0x0f, 0x33, 0xca, 0x85, + 0x2d, 0x51, 0x52, 0xed, 0xe7, 0x27, 0x89, 0xb0, 0x33, 0x06, 0x47, 0x5f, 0x1c, 0x71, 0xd9, 0xd1, + 0xe5, 0x1c, 0x47, 0x38, 0xe9, 0xa5, 0x50, 0x0f, 0x60, 0x3d, 0xd5, 0xe9, 0xdc, 0x97, 0xcd, 0x63, + 0xed, 0x4c, 0x0a, 0xf5, 0x5e, 0x54, 0xfe, 0xa9, 0x84, 0x27, 0x83, 0x6f, 0x85, 0x0a, 0xca, 0xc4, + 0x22, 0xd7, 0xf3, 0x0f, 0xa2, 0xa2, 0x08, 0xeb, 0x70, 0xe3, 0xb0, 0x0d, 0x70, 0x4e, 0x9f, 0xab, + 0x75, 0x51, 0x12, 0x1a, 0x64, 0x86, 0xf3, 0x5b, 0xde, 0xb8, 0x95, 0x7e, 0xe4, 0x5b, 0xd1, 0x08, + 0x15, 0x26, 0x46, 0x81, 0x89, 0x1a, 0xf0, 0x3e, 0x6c, 0xa7, 0x62, 0x94, 0x43, 0xd6, 0x2c, 0x70, + 0x2b, 0x88, 0x91, 0xbd, 0x79, 0x01, 0x17, 0xb5, 0xd9, 0xf6, 0xc6, 0x57, 0xcb, 0xa4, 0x02, 0x0e, + 0xb7, 0xa3, 0x54, 0x67, 0xc4, 0x28, 0x5c, 0xa1, 0x04, 0x35, 0x70, 0xcf, 0x21, 0x76, 0xd5, 0x91, + 0x16, 0x64, 0xd6, 0x76, 0xeb, 0xe7, 0xd7, 0x5c, 0x35, 0x36, 0x65, 0xfc, 0x71, 0x4b, 0x6d, 0xe4, + 0x04, 0x5c, 0xab, 0x3d, 0x3a, 0x62, 0xaf, 0x7f, 0xbe, 0x28, 0x23, 0xba, 0x81, 0x44, 0xa8, 0x61, + 0x3d, 0x2b, 0x69, 0x9e, 0x19, 0x9a, 0xae, 0x47, 0xa9, 0x02, 0x12, 0x0c, 0x19, 0xf9, 0x4f, 0x90, + 0x43, 0x29, 0x0d, 0xf9, 0x02, 0x48, 0x49, 0xbc, 0x59, 0x00, 0x3f, 0x0a, 0x34, 0x62, 0x8f, 0x1f, + 0x57, 0x8a, 0xe7, 0xb9, 0xa4, 0x83, 0x87, 0x3e, 0x7f, 0xdf, 0xbf, 0x82, 0x0e, 0xf2, 0xec, 0x6e, + 0xb4, 0x0b, 0x14, 0x59, 0x7c, 0x68, 0x1f, 0x22, 0x54, 0xb3, 0xdb, 0x8e, 0xc9, 0xaa, 0xc1, 0xd2, + 0x94, 0x1d, 0xd4, 0xda, 0xc3, 0xcf, 0x8e, 0x30, 0x92, 0x49, 0xc9, 0x7a, 0x2c, 0x09, 0x60, 0x23, + 0x6b, 0x20, 0x73, 0xc1, 0xfe, 0xae, 0xad, 0xd7, 0x49, 0x77, 0x69, 0x5a, 0xa5, 0xc6, 0xee, 0x2d, + 0xbe, 0xaa, 0x59, 0x35, 0x10, 0xbc, 0xd5, 0x04, 0x3c, 0x37, 0xfd, 0x35, 0x43, 0x8e, 0x82, 0xa6, + 0x5d, 0x77, 0x69, 0xd2, 0xa5, 0x34, 0xc1, 0xea, 0xce, 0x9e, 0xf7, 0xb4, 0x3e, 0x1e, 0x09, 0x6e, + 0x8f, 0x20, 0x5a, 0xe1, 0x7c, 0xf4, 0x3b, 0x91, 0xda, 0xe8, 0xb6, 0x76, 0x99, 0x3b, 0x06, 0x5a, + 0xd9, 0x56, 0xdf, 0x84, 0xb2, 0xc6, 0x88, 0x92, 0xd6, 0xd4, 0xff, 0x54, 0xc3, 0x81, 0xe1, 0x79, + 0x57, 0xf6, 0xc9, 0x2e, 0x1c, 0x1a, 0x79, 0xe0, 0x2f, 0x30, 0x5c, 0x15, 0x37, 0x4d, 0x47, 0x68, + 0xa0, 0xa3, 0x0c, 0x55, 0x80, 0x90, 0x7b, 0xfd, 0xf2, 0x42, 0x69, 0x5f, 0x05, 0x77, 0x30, 0xcc, + 0x80, 0x54, 0xa2, 0x7e, 0x13, 0x71, 0x0a, 0xc0, 0xc1, 0x96, 0xeb, 0x0c, 0xca, 0x12, 0x5a, 0x36, + 0x9a, 0xff, 0x6d, 0x1f, 0xb7, 0x12, 0x12, 0x74, 0x66, 0xe3, 0xa0, 0x10, 0xbc, 0xfb, 0xeb, 0x18, + 0x9e, 0xaa, 0x38, 0x2e, 0xec, 0xa0, 0x03, 0x06, 0xb4, 0x39, 0x3a, 0x63, 0x69, 0xa6, 0x38, 0xdc, + 0xde, 0x7d, 0x35, 0xab, 0x13, 0x6e, 0x75, 0x98, 0x4d, 0x88, 0xd7, 0x1b, 0x60, 0xbb, 0x1c, 0xbe, + 0x87, 0x04, 0x96, 0xd8, 0x0d, 0x71, 0x82, 0x17, 0xbc, 0x10, 0x6e, 0xca, 0x27, 0x4c, 0x05, 0xfe, + 0x9a, 0xaa, 0x2a, 0x57, 0x14, 0xd1, 0x52, 0xfc, 0x4b, 0x7d, 0xac, 0x4b, 0x68, 0xe8, 0xc0, 0xf1, + 0x22, 0x31, 0x73, 0xde, 0x84, 0xd5, 0x33, 0x41, 0x20, 0xa9, 0xe0, 0x80, 0x1a, 0x8f, 0x84, 0x5a, + 0x16, 0xcd, 0xae, 0xdb, 0xae, 0xe3, 0x09, 0xb6, 0xd5, 0x96, 0x15, 0x22, 0x8b, 0x4d, 0x4e, 0xf0, + 0x9e, 0x43, 0xf2, 0xc3, 0x69, 0x24, 0xb8, 0xf3, 0xb4, 0x3a, 0xc1, 0xfc, 0x45, 0xe3, 0xcf, 0x2a, + 0xd0, 0x15, 0x7f, 0x98, 0x8a, 0x6f, 0xef, 0x9d, 0xd0, 0xaf, 0x57, 0xe0, 0x04, 0x8a, 0x60, 0x18, + 0x91, 0x5e, 0xce, 0xb9, 0xc7, 0x4d, 0x47, 0x94, 0x79, 0x63, 0x01, 0xe7, 0xce, 0xa6, 0x1a, 0xd6, + 0x63, 0xc8, 0x38, 0x6b, 0x72, 0xd7, 0x57, 0xe6, 0x5c, 0x21, 0xdb, 0x0b, 0x17, 0x67, 0x90, 0x63, + 0xe2, 0xdb, 0xe6, 0x25, 0x2c, 0xab, 0x01, 0xfe, 0x5d, 0x77, 0x88, 0x62, 0x1a, 0xe5, 0x7f, 0x0c, + 0x03, 0x81, 0x7e, 0x30, 0xec, 0x06, 0x76, 0x38, 0x93, 0x6e, 0xf0, 0xe4, 0xbd, 0xd3, 0xc8, 0xa9, + 0x92, 0x88, 0xde, 0x2d, 0x35, 0x21, 0xd8, 0xaa, 0x85, 0x3c, 0x99, 0x7a, 0x5c, 0x62, 0xce, 0xd8, + 0xa9, 0x6f, 0xf6, 0x71, 0xdf, 0x0f, 0xeb, 0x06, 0xaa, 0x31, 0xd0, 0x04, 0x04, 0x0b, 0x27, 0x2e, + 0x8d, 0xf6, 0x39, 0x4f, 0x78, 0xaf, 0xaf, 0xee, 0x3c, 0x69, 0xc2, 0x1d, 0x90, 0xec, 0x38, 0xad, + 0xdb, 0x92, 0xca, 0x99, 0x89, 0xa6, 0x7f, 0x05, 0xab, 0xb7, 0x08, 0x97, 0x64, 0x42, 0x26, 0x1f, + 0x41, 0x8b, 0x57, 0x3e, 0x3f, 0xc2, 0xde, 0x34, 0xed, 0x14, 0x47, 0x74, 0xd8, 0xee, 0xc1, 0x62, + 0x7e, 0x7c, 0xe6, 0xd5, 0x41, 0x30, 0x34, 0x2b, 0x57, 0xf3, 0x4d, 0x97, 0x4e, 0xbb, 0x66, 0x36, + 0x1a, 0x27, 0xe8, 0xbe, 0xe5, 0x63, 0x58, 0x08, 0xce, 0xdc, 0x4a, 0xa3, 0x8a, 0xf2, 0x6a, 0xb1, + 0x5a, 0xdf, 0x85, 0x66, 0x09, 0x5f, 0x46, 0x1b, 0x92, 0x84, 0x3b, 0x50, 0x65, 0x27, 0xa4, 0x00, + 0x07, 0x8f, 0x4c, 0x70, 0x71, 0xd1, 0xcf, 0x83, 0x09, 0x66, 0x20, 0xfe, 0x1f, 0x22, 0xc2, 0x2e, + 0x7c, 0xec, 0x43, 0x24, 0xbc, 0xf0, 0x38, 0x32, 0x71, 0x3c, 0x29, 0xda, 0x61, 0x71, 0x02, 0x49, + 0xc3, 0x0e, 0xe7, 0xad, 0x13, 0x34, 0xe4, 0x1c, 0x89, 0xda, 0xf9, 0x44, 0xa7, 0xc6, 0x7e, 0xe1, + 0x77, 0x5d, 0xee, 0x14, 0x29, 0x46, 0x46, 0xf1, 0xdb, 0xc5, 0x36, 0xe4, 0x7b, 0xe8, 0xad, 0xce, + 0xde, 0x23, 0x28, 0x9e, 0x61, 0x65, 0x61, 0xcc, 0x47, 0x56, 0xf2, 0x88, 0x48, 0x1a, 0x7d, 0xaa, + 0xd4, 0x50, 0x8f, 0x0d, 0x48, 0xdb, 0x91, 0xe6, 0xa8, 0xea, 0x8c, 0xa0, 0xc4, 0xae, 0x4d, 0x57, + 0xfb, 0x9a, 0xe1, 0x54, 0x50, 0xb2, 0x1e, 0xd7, 0x97, 0x1a, 0xe7, 0x4b, 0xc8, 0xc6, 0xeb, 0x03, + 0x40, 0x32, 0xb6, 0x6a, 0x5c, 0x2a, 0x51, 0xb8, 0xb2, 0x1c, 0x57, 0x54, 0x40, 0x41, 0x8e, 0x30, + 0x85, 0xfd, 0xf1, 0x19, 0x48, 0x64, 0x26, 0x88, 0xc6, 0x5f, 0x90, 0xd9, 0x94, 0xf6, 0x56, 0x29, + 0xe6, 0x30, 0x64, 0x70, 0x57, 0xc7, 0x46, 0xe6, 0x24, 0x46, 0xf6, 0x62, 0x00, 0x1b, 0x64, 0xaa, + 0xbc, 0xe9, 0x80, 0x21, 0x80, 0xdf, 0x37, 0x13, 0x43, 0x84, 0x1c, 0x6d, 0x50, 0xca, 0x0f, 0xb6, + 0xad, 0xf0, 0x04, 0x8a, 0x4e, 0xc6, 0x65, 0x82, 0x6a, 0x98, 0xbc, 0x5e, 0x22, 0x99, 0x98, 0x1e, + 0x66, 0xed, 0x4d, 0x94, 0x8b, 0xfb, 0x87, 0x3c, 0xf5, 0x4c, 0x6d, 0x25, 0xd8, 0x9f, 0x7f, 0x5e, + 0xac, 0x74, 0xc6, 0xe8, 0x70, 0x4b, 0x24, 0xe2, 0xf3, 0xc3, 0x0f, 0x44, 0x58, 0x47, 0x06, 0xd8, + 0xdc, 0xab, 0x3d, 0x2e, 0x39, 0xf9, 0x70, 0xc0, 0xf1, 0x5b, 0xc8, 0xb1, 0xf3, 0xc8, 0x91, 0xb9, + 0x29, 0x76, 0x08, 0x3a, 0x4c, 0xd8, 0xd0, 0x87, 0x83, 0x69, 0xff, 0x15, 0xa4, 0x23, 0x20, 0x18, + 0xf6, 0x8e, 0x5c, 0xd1, 0x6d, 0x88, 0xf5, 0x1e, 0x71, 0x02, 0x79, 0x10, 0x91, 0x96, 0xcd, 0xd1, + 0x55, 0xf3, 0x56, 0x65, 0x61, 0xff, 0xd2, 0xa3, 0x0f, 0x74, 0x07, 0x1d, 0xee, 0xdb, 0x99, 0xd9, + 0x6f, 0x60, 0xc2, 0x93, 0x22, 0x54, 0x4e, 0x3d, 0x6a, 0xba, 0x4b, 0xeb, 0x9c, 0x78, 0x7f, 0xca, + 0x4a, 0x38, 0x4f, 0xfe, 0x6b, 0xb5, 0x7a, 0xbf, 0x16, 0x32, 0x34, 0x04, 0x32, 0xb8, 0xe7, 0x21, + 0x01, 0x69, 0xfc, 0x3e, 0xdb, 0x35, 0xc7, 0xde, 0x75, 0x49, 0xa3, 0x55, 0x6c, 0x67, 0x75, 0xd9, + 0x06, 0x74, 0x2b, 0xce, 0x8f, 0xf3, 0xd9, 0x35, 0xae, 0x19, 0x80, 0xec, 0xa9, 0xe1, 0x4e, 0x5c, + 0xc9, 0xaf, 0x12, 0x26, 0x7f, 0xb7, 0xf1, 0xff, 0x11, 0x21, 0x52, 0x7a, 0xcb, 0xc8, 0x43, 0xb9, + 0xf3, 0xd4, 0x40, 0x25, 0xfc, 0xda, 0x0b, 0x63, 0x00, 0x7c, 0x71, 0x6e, 0xf3, 0x21, 0x6e, 0x0c, + 0x01, 0x14, 0xf8, 0x11, 0x6f, 0xbb, 0xfc, 0x4c, 0x25, 0x65, 0x22, 0xa8, 0x6c, 0xea, 0xf7, 0xfd, + 0x09, 0x96, 0x06, 0x86, 0x86, 0xfc, 0xf5, 0xa4, 0x2a, 0xdf, 0x2f, 0x19, 0x59, 0xb0, 0x90, 0x1a, + 0x6a, 0x70, 0x29, 0x4e, 0x6d, 0x17, 0x66, 0xae, 0x00, 0xa0, 0x65, 0x6e, 0x52, 0x63, 0xd2, 0x3f, + 0x58, 0x8e, 0x80, 0x1e, 0x2a, 0x1e, 0x23, 0x87, 0x95, 0x2a, 0x84, 0xd4, 0xf4, 0xee, 0x3b, 0xe8, + 0x08, 0x8d, 0x90, 0xbb, 0x92, 0xc8, 0xcb, 0xaf, 0x85, 0x78, 0x6f, 0x1b, 0x4c, 0x9e, 0x45, 0xbc, + 0x06, 0xfe, 0xfe, 0x19, 0x53, 0xa0, 0x22, 0x13, 0x3a, 0x98, 0x04, 0xdb, 0xf7, 0xb0, 0xce, 0x34, + 0x3a, 0x0b, 0xa6, 0x84, 0x3e, 0x2f, 0x81, 0xd7, 0xa4, 0x0f, 0x84, 0xcd, 0xac, 0x04, 0xb4, 0x40, + 0x13, 0xa7, 0x44, 0xb7, 0x7c, 0x2a, 0x30, 0x10, 0x2c, 0x50, 0x90, 0x5f, 0xb7, 0x55, 0x4b, 0x04, + 0x2a, 0xe9, 0xa0, 0x29, 0x44, 0x24, 0x9b, 0x07, 0xc0, 0x0c, 0x4e, 0xb9, 0x61, 0x08, 0xc3, 0x0a, + 0x69, 0x9c, 0x1f, 0x9c, 0xad, 0x71, 0xbe, 0xeb, 0x49, 0x33, 0x05, 0xe7, 0x2c, 0x54, 0x7f, 0xc8, + 0x53, 0x00, 0x51, 0xd6, 0xa7, 0xed, 0x86, 0x1a, 0xc0, 0x52, 0xc1, 0x43, 0xe4, 0xf0, 0x04, 0x0f, + 0xec, 0x0c, 0x6e, 0x60, 0x95, 0xe3, 0xef, 0x02, 0x1a, 0xc7, 0x47, 0x24, 0x84, 0x3d, 0xa8, 0x99, + 0x3f, 0x58, 0xbf, 0xcb, 0x5c, 0xa8, 0xbf, 0x74, 0x8e, 0x62, 0x24, 0x7d, 0xe2, 0x63, 0x5b, 0x52, + 0x99, 0x34, 0x57, 0x9d, 0x14, 0x43, 0x17, 0x99, 0x4a, 0xb4, 0x53, 0xba, 0x7e, 0xab, 0x37, 0x9e, + 0xe2, 0x59, 0x6e, 0x3c, 0xe7, 0x1b, 0x08, 0xa0, 0x79, 0x94, 0x66, 0xd4, 0x0b, 0x9f, 0x71, 0xdb, + 0xd9, 0x4c, 0xb9, 0x6f, 0x0b, 0xb6, 0xde, 0x67, 0x9b, 0x9f, 0xe0, 0x69, 0xda, 0x87, 0x47, 0x1c, + 0xd4, 0xf7, 0x6c, 0x46, 0x46, 0xb3, 0xc9, 0x0f, 0x7d, 0x71, 0x2b, 0x06, 0x03, 0x70, 0x26, 0xc3, + 0xb0, 0xf5, 0x55, 0xa5, 0xb3, 0x8d, 0x20, 0x3d, 0xb9, 0xb7, 0xb5, 0x2b, 0x8a, 0xed, 0x5f, 0xc9, + 0xb3, 0xa7, 0xc6, 0x05, 0x5a, 0x3f, 0x3d, 0x2a, 0x32, 0x4d, 0xf0, 0x33, 0xf9, 0x6b, 0xb4, 0xdd, + 0x2e, 0xef, 0x7e, 0x80, 0x29, 0xab, 0x85, 0x2f, 0xcc, 0x4b, 0x88, 0xef, 0x08, 0x6d, 0xd6, 0xed, + 0x3f, 0x07, 0x71, 0x53, 0xde, 0xa0, 0x19, 0x03, 0x90, 0x9d, 0x23, 0xe1, 0xfb, 0x70, 0xa3, 0x3e, + 0x55, 0x74, 0x58, 0x65, 0x0d, 0xbb, 0x53, 0x0e, 0x8b, 0x95, 0x00, 0xfd, 0x73, 0xeb, 0x7e, 0xa9, + 0x5d, 0x02, 0x11, 0x18, 0x83, 0x16, 0x81, 0xdf, 0x19, 0x03, 0x50, 0x54, 0xa2, 0xc5, 0x91, 0xac, + 0x65, 0x53, 0x6b, 0x9d, 0xa9, 0x31, 0x0e, 0x2e, 0x07, 0x0d, 0x6a, 0xfc, 0xcf, 0x73, 0xf6, 0x3c, + 0x2c, 0x96, 0x66, 0xcd, 0xe7, 0xec, 0x72, 0xbd, 0xa0, 0xa3, 0x0a, 0xe9, 0x4d, 0xa3, 0xfc, 0xc5, + 0xde, 0x66, 0xc8, 0xa4, 0x55, 0x23, 0x05, 0xe7, 0x72, 0xe6, 0x3a, 0xfd, 0xe9, 0x16, 0x40, 0xc1, + 0x6b, 0x12, 0x0a, 0x7f, 0x3d, 0x73, 0x13, 0x84, 0xdf, 0xb3, 0xa9, 0xbc, 0x57, 0x22, 0xce, 0xc8, + 0x2d, 0x6c, 0x9b, 0x55, 0x60, 0x3b, 0xe2, 0x73, 0x53, 0x19, 0xa8, 0xe0, 0xcc, 0xb7, 0x0f, 0x87, + 0xd2, 0x18, 0xfa, 0x09, 0x81, 0xa1, 0x04, 0x67, 0x36, 0x60, 0x9f, 0x91, 0xc5, 0xb5, 0x90, 0x11, + 0x32, 0x42, 0x86, 0xe2, 0x65, 0xdc, 0x6e, 0xde, 0xa8, 0x4b, 0x37, 0x71, 0x50, 0x3b, 0x2f, 0xa0, + 0x87, 0x51, 0xc3, 0x25, 0xc6, 0xe1, 0x11, 0x7a, 0xc4, 0xc5, 0xb9, 0xf0, 0xd3, 0x8b, 0xa9, 0xa4, + 0x83, 0xbc, 0x28, 0xb6, 0xbe, 0x28, 0x6e, 0xa9, 0x8c, 0x55, 0x2e, 0x8f, 0x53, 0x8f, 0xcd, 0xdc, + 0x66, 0x64, 0x11, 0xb0, 0x0f, 0xc4, 0x7f, 0x2a, 0x80, 0xd2, 0x43, 0x43, 0x94, 0xea, 0x04, 0x9c, + 0x39, 0x59, 0x5f, 0x4f, 0xc2, 0x2e, 0x8e, 0xdb, 0x5d, 0xc2, 0x8e, 0x61, 0x5d, 0x18, 0x33, 0x78, + 0x11, 0x4d, 0xe2, 0x85, 0xf8, 0x19, 0x27, 0xea, 0xab, 0xa8, 0x19, 0x2f, 0xe5, 0xf1, 0xe9, 0x4d, + 0xb7, 0xc3, 0x1d, 0xf9, 0x6f, 0x96, 0x78, 0x32, 0x56, 0x7b, 0xdb, 0xa9, 0xea, 0x95, 0xb8, 0xcf, + 0xc1, 0xcf, 0x62, 0xce, 0x81, 0x9a, 0x24, 0xad, 0xcd, 0xda, 0x13, 0x3c, 0xed, 0x65, 0x8a, 0x94, + 0x3b, 0x38, 0xdc, 0xec, 0x69, 0x36, 0x00, 0x48, 0x3b, 0x10, 0xbd, 0xe0, 0xd4, 0xec, 0x04, 0xc7, + 0xa9, 0x4f, 0x3c, 0x2b, 0x76, 0x8c, 0x47, 0xf5, 0xf1, 0xac, 0xa3, 0xeb, 0x49, 0xe5, 0x31, 0x35, + 0xff, 0x9e, 0x6d, 0x3c, 0xbb, 0xa0, 0x67, 0x6d, 0x4e, 0xfd, 0xb2, 0x20, 0xe2, 0x87, 0xa6, 0x39, + 0xe1, 0x13, 0x67, 0x34, 0x56, 0xb1, 0x33, 0xb4, 0xd3, 0x5d, 0x18, 0x76, 0x4f, 0x56, 0xce, 0x0f, + 0x3d, 0x01, 0xdd, 0x43, 0x1f, 0x30, 0x07, 0x60, 0x45, 0x76, 0x00, 0xff, 0x5b, 0x86, 0xc4, 0x54, + 0x09, 0x38, 0x3c, 0x6a, 0xf6, 0xc4, 0x7d, 0x9c, 0x5c, 0x03, 0x31, 0x73, 0x8c, 0xc0, 0xe4, 0x44, + 0x59, 0xd6, 0x2f, 0x5f, 0xe9, 0xf7, 0xa1, 0xc2, 0x66, 0x56, 0x8b, 0x88, 0xe9, 0x2c, 0x02, 0x95, + 0xb4, 0x30, 0xde, 0xa4, 0xd1, 0x27, 0xd7, 0x25, 0x42, 0x37, 0x97, 0x24, 0x98, 0x38, 0x79, 0xf9, + 0xe0, 0xe4, 0xc4, 0xbb, 0x28, 0xcf, 0x3d, 0x55, 0x2b, 0x6c, 0x0a, 0x49, 0x7a, 0xb0, 0x3b, 0x03, + 0x3a, 0x64, 0x08, 0x51, 0xbe, 0x1e, 0x0c, 0xcf, 0x93, 0xa9, 0xa2, 0xf9, 0x2c, 0x6a, 0xf9, 0xde, + 0x4b, 0x81, 0x2a, 0xcb, 0xc8, 0xe6, 0x8c, 0xa9, 0xa7, 0x87, 0x11, 0xc6, 0x44, 0xfc, 0x0d, 0x83, + 0x42, 0x58, 0x81, 0xaa, 0x5f, 0xf7, 0x60, 0xe8, 0xdd, 0x2d, 0x07, 0x41, 0x62, 0xee, 0xd2, 0x31, + 0x9b, 0xe4, 0x6e, 0x4d, 0xaf, 0x05, 0x5a, 0xb4, 0x6a, 0x3d, 0xed, 0x5f, 0xf0, 0x10, 0x4a, 0xe0, + 0x28, 0x48, 0x70, 0xbd, 0x04, 0x2c, 0xce, 0xa9, 0x12, 0x58, 0xef, 0x77, 0x62, 0xe2, 0x2e, 0xf6, + 0x04, 0x0d, 0x87, 0x0b, 0xe0, 0xa0, 0x9f, 0xce, 0xa8, 0x6f, 0xce, 0xe4, 0xfb, 0x31, 0x5a, 0xde, + 0x4f, 0xa6, 0x15, 0x56, 0x9a, 0x90, 0x21, 0x58, 0x91, 0x40, 0x9b, 0x14, 0x00, 0xbd, 0x89, 0x09, + 0x75, 0xa7, 0x30, 0x57, 0x45, 0x8a, 0x83, 0xf7, 0x64, 0x41, 0xb8, 0x42, 0x6e, 0x3b, 0x94, 0x81, + 0x40, 0xde, 0x36, 0x77, 0x16, 0x09, 0x20, 0xb7, 0xe3, 0x8d, 0x6b, 0xfe, 0x4b, 0xdd, 0x10, 0x03, + 0xc0, 0x1c, 0x01, 0x81, 0x6a, 0x46, 0x1b, 0xb0, 0x75, 0x7f, 0x47, 0xf8, 0x4f, 0xf4, 0x6a, 0xfd, + 0x65, 0xc8, 0xbe, 0x6a, 0x58, 0xcb, 0xeb, 0x58, 0x55, 0xf7, 0xfb, 0x84, 0x3f, 0x78, 0x9d, 0x1a, + 0x3c, 0x43, 0x4a, 0xac, 0x2f, 0xb3, 0x67, 0x44, 0xb0, 0x58, 0xb4, 0x81, 0xff, 0x2f, 0x12, 0x75, + 0xd9, 0x2c, 0xa7, 0x8a, 0x7b, 0x1b, 0xa2, 0x91, 0x69, 0x49, 0xff, 0x8b, 0xc0, 0xff, 0xe8, 0xc2, + 0x57, 0x67, 0xdd, 0xce, 0x74, 0x54, 0xf1, 0xff, 0x4c, 0x0e, 0x87, 0x8f, 0x46, 0xb2, 0xd7, 0x09, + 0x82, 0xc6, 0xed, 0x02, 0x46, 0x46, 0xc8, 0x12, 0xa6, 0x30, 0x63, 0xf8, 0x35, 0xa9, 0xd0, 0x48, + 0x60, 0x31, 0x6b, 0x82, 0x85, 0xb5, 0xba, 0x8f, 0x9f, 0x86, 0xcc, 0x32, 0x1f, 0x21, 0xd8, 0xa8, + 0xf0, 0xb7, 0x2a, 0x84, 0xc2, 0xa4, 0xb6, 0x77, 0xc2, 0x2c, 0x55, 0xe2, 0x1a, 0x72, 0x2c, 0x9e, + 0xc9, 0x9b, 0xf0, 0x95, 0x14, 0x26, 0x67, 0xb7, 0x5f, 0x62, 0x42, 0x72, 0x48, 0x1f, 0xdb, 0x9d, + 0x6b, 0xcb, 0x6c, 0xe1, 0x49, 0x8b, 0x29, 0x0c, 0x7f, 0x06, 0x3a, 0xa3, 0x09, 0xa7, 0x05, 0x4c, + 0xd6, 0xbb, 0xfe, 0x44, 0x61, 0x21, 0xf1, 0xf1, 0xa0, 0x5a, 0xdd, 0x8b, 0x90, 0xe5, 0x25, 0xb0, + 0x6c, 0xd3, 0xd1, 0xca, 0xf8, 0xc5, 0x34, 0x5b, 0x8c, 0x93, 0x8a, 0xaa, 0xb7, 0x6f, 0x80, 0x70, + 0xee, 0xf4, 0xfa, 0x61, 0x89, 0x19, 0x00, 0xeb, 0xe1, 0xd9, 0xee, 0x94, 0xc0, 0xfc, 0xb7, 0xf5, + 0xec, 0x58, 0x8d, 0x79, 0xf4, 0x62, 0xe3, 0x3d, 0x32, 0x86, 0xe3, 0x20, 0xb4, 0xb6, 0xe3, 0x74, + 0x1e, 0x5e, 0x1f, 0x58, 0xcb, 0x6d, 0x94, 0xfa, 0x32, 0xdc, 0x34, 0x34, 0x3c, 0x3a, 0x14, 0x8b, + 0xff, 0x86, 0x4c, 0x56, 0x8b, 0x51, 0xde, 0x86, 0x91, 0xc1, 0x99, 0x67, 0xf2, 0xf6, 0x5c, 0x1b, + 0x9d, 0x69, 0x05, 0x59, 0xf7, 0xee, 0xc2, 0x15, 0xd5, 0x86, 0x02, 0xd5, 0x61, 0xeb, 0x89, 0x7d, + 0x3f, 0x05, 0xbc, 0x9e, 0x8b, 0x86, 0x9b, 0xe2, 0xa5, 0xb1, 0xf4, 0xc5, 0x43, 0xa8, 0x4b, 0x4e, + 0x21, 0x62, 0xa1, 0xdb, 0x86, 0x49, 0xfb, 0x10, 0x90, 0x1e, 0x50, 0xb3, 0x25, 0xbb, 0x24, 0xaa, + 0xdd, 0xf6, 0x5e, 0x80, 0x9e, 0xdb, 0x28, 0x18, 0xad, 0x27, 0xbf, 0x80, 0xcb, 0xfd, 0x05, 0x3f, + 0x10, 0xd6, 0x68, 0xa7, 0x7e, 0x21, 0x8c, 0xd0, 0x32, 0x1b, 0xe5, 0xdf, 0x10, 0x84, 0x52, 0xa6, + 0xbe, 0x12, 0xc1, 0x36, 0x98, 0xd9, 0x13, 0x38, 0xcb, 0x5b, 0x65, 0x08, 0xfb, 0x49, 0xad, 0xa4, + 0xe3, 0x6a, 0x03, 0x80, 0x8a, 0x06, 0x65, 0x70, 0xf1, 0x47, 0x29, 0x38, 0xde, 0x1f, 0xdf, 0xff, + 0x91, 0x11, 0xa2, 0x99, 0x57, 0xd2, 0xb5, 0x8d, 0xba, 0xe8, 0x6e, 0xa2, 0x60, 0xcd, 0x1b, 0xbc, + 0xbf, 0xc4, 0xd6, 0xe9, 0x0b, 0xd5, 0x9e, 0xc4, 0x5e, 0x76, 0xed, 0xa4, 0x8f, 0xcc, 0xfd, 0x8f, + 0xc9, 0xef, 0xcc, 0x39, 0xce, 0x73, 0xd8, 0x44, 0x0a, 0xd8, 0x82, 0x8d, 0x9e, 0x2b, 0x55, 0x7f, + 0xc0, 0x39, 0x28, 0xdc, 0x84, 0x05, 0x1f, 0x5d, 0xb2, 0x96, 0x5b, 0xac, 0x33, 0x7e, 0xe6, 0x48, + 0xa9, 0xd1, 0x2a, 0x3e, 0x11, 0x02, 0x8d, 0x03, 0x15, 0x5a, 0x9c, 0x9c, 0xb5, 0x26, 0x84, 0x1b, + 0x25, 0xff, 0xda, 0x85, 0xd2, 0x8b, 0xcf, 0x2d, 0x75, 0xb8, 0x3c, 0x3e, 0xd9, 0xfb, 0x16, 0x78, + 0xae, 0xf6, 0x81, 0x32, 0xe2, 0x4e, 0x38, 0x0c, 0x44, 0x49, 0x74, 0x09, 0xe4, 0x73, 0x0f, 0xcd, + 0xca, 0x9a, 0x07, 0xb4, 0x16, 0x57, 0xbf, 0x5b, 0xc4, 0xbc, 0xc7, 0x6c, 0x46, 0xeb, 0xfe, 0xf1, + 0x14, 0xd7, 0xc8, 0x59, 0x9e, 0xcb, 0x7f, 0x99, 0x29, 0xd2, 0x20, 0xe7, 0x17, 0x6f, 0x49, 0x94, + 0x3b, 0x8b, 0x90, 0x8e, 0x54, 0xb0, 0xb4, 0x4c, 0x05, 0x69, 0xd0, 0x64, 0xa9, 0x79, 0x25, 0x66, + 0xce, 0x8b, 0xfd, 0x68, 0xdc, 0x2d, 0x64, 0x63, 0x90, 0xef, 0x98, 0x0a, 0x40, 0x88, 0xf3, 0xa5, + 0x35, 0xe1, 0xa6, 0x3f, 0x32, 0xa1, 0xc1, 0x2e, 0xcd, 0x0f, 0xb5, 0x6b, 0x98, 0xbf, 0x39, 0x28, + 0xbb, 0xb2, 0x35, 0x95, 0x79, 0x5d, 0xf6, 0x14, 0x0e, 0x76, 0xd2, 0xc8, 0x03, 0x19, 0x87, 0x7b, + 0x4c, 0x11, 0x32, 0xd9, 0x93, 0xb3, 0x54, 0xaa, 0x2e, 0x89, 0x16, 0x39, 0x81, 0xbf, 0x55, 0xae, + 0xe4, 0x95, 0x2c, 0xa4, 0xdc, 0x77, 0xf0, 0x0a, 0x95, 0x6b, 0x2e, 0xcc, 0xbb, 0xe1, 0x6b, 0xf5, + 0xfd, 0x4d, 0xc8, 0xc4, 0x6c, 0x58, 0x55, 0x8d, 0x54, 0x54, 0xc1, 0x1d, 0x1f, 0x1a, 0xde, 0x75, + 0xbd, 0x11, 0x0b, 0xe8, 0xaa, 0xaa, 0xf5, 0x6e, 0xbd, 0x8f, 0x0b, 0xc1, 0xc4, 0x5b, 0x10, 0xa5, + 0xb3, 0x19, 0x0a, 0x34, 0xec, 0x67, 0x44, 0x7f, 0x18, 0x95, 0x39, 0x4f, 0x10, 0x54, 0x47, 0x3a, + 0xdc, 0x7e, 0xed, 0xb1, 0x57, 0xc4, 0xeb, 0x41, 0x14, 0x23, 0x52, 0xee, 0xf8, 0x59, 0xe3, 0x8c, + 0xdd, 0xd8, 0x37, 0x65, 0x4d, 0x35, 0x61, 0x76, 0x54, 0x37, 0x62, 0xcf, 0x42, 0x06, 0x32, 0xda, + 0x43, 0xb4, 0x5b, 0xff, 0xc7, 0x5e, 0x90, 0x82, 0x14, 0x23, 0xf2, 0x3a, 0xd7, 0x16, 0x1a, 0x4e, + 0x9b, 0xe8, 0x23, 0xf3, 0x56, 0xbf, 0xdc, 0xf5, 0x4b, 0x18, 0x13, 0xff, 0xc6, 0x93, 0x39, 0x90, + 0x5d, 0xe7, 0xd9, 0x7d, 0x85, 0x8e, 0x9f, 0x91, 0x08, 0xc6, 0xd9, 0xdb, 0x29, 0xd7, 0xad, 0x67, + 0xce, 0x7a, 0xbf, 0x1e, 0xe3, 0xec, 0x82, 0x5d, 0x57, 0x75, 0xe9, 0x9c, 0xaa, 0xa8, 0x6d, 0xfa, + 0xb9, 0x59, 0xd7, 0x58, 0x81, 0xd8, 0x23, 0x16, 0x53, 0x27, 0x1a, 0x66, 0x39, 0x66, 0x00, 0xa0, + 0xe0, 0xe4, 0xf5, 0x0e, 0x58, 0x37, 0x3e, 0x08, 0x30, 0x8c, 0x1e, 0x5a, 0xf6, 0xb7, 0xef, 0xa9, + 0x28, 0x07, 0x63, 0xdd, 0xbe, 0xd4, 0xcb, 0xd6, 0x63, 0x17, 0x11, 0x4c, 0x1f, 0x92, 0x5f, 0x52, + 0xdc, 0x2a, 0xd5, 0xa6, 0xd5, 0x05, 0x20, 0x3f, 0x6c, 0xd0, 0xde, 0xc4, 0x59, 0xc6, 0x18, 0xb8, + 0x8d, 0xcf, 0xb2, 0xa8, 0x6a, 0x09, 0x10, 0xaa, 0x9b, 0xac, 0x50, 0x39, 0x40, 0xd0, 0xdd, 0x36, + 0x6e, 0x63, 0xfa, 0x37, 0x4a, 0x9f, 0xf7, 0xaa, 0x0b, 0xd7, 0x6f, 0xc3, 0xc8, 0xfe, 0x88, 0x05, + 0xea, 0xee, 0x26, 0x59, 0x7b, 0xc7, 0x75, 0x8b, 0xc9, 0x9e, 0x1f, 0xb7, 0x73, 0xbf, 0x72, 0x9c, + 0xf1, 0x60, 0x5c, 0x24, 0xa4, 0x3d, 0xcc, 0xea, 0xd6, 0x18, 0x71, 0x42, 0x9f, 0xb1, 0x59, 0x1a, + 0xf3, 0x0f, 0xa1, 0xfd, 0xbe, 0x29, 0x34, 0x6f, 0x0e, 0x46, 0x08, 0x22, 0x64, 0xff, 0x30, 0xd4, + 0x4f, 0x03, 0x9a, 0x05, 0x0f, 0x07, 0x43, 0x42, 0xc6, 0xcd, 0xa3, 0x72, 0x1b, 0x17, 0x1e, 0x0a, + 0x56, 0x61, 0x17, 0x03, 0x5c, 0x02, 0x01, 0xb4, 0x99, 0xad, 0x1d, 0xd6, 0x51, 0xc8, 0x68, 0x2f, + 0x17, 0x21, 0xc4, 0x17, 0xed, 0xe4, 0x4d, 0x0a, 0xbe, 0xe2, 0x3f, 0xf0, 0x78, 0x8d, 0x57, 0x29, + 0x7e, 0x1f, 0x2f, 0x43, 0x00, 0x21, 0x94, 0x5e, 0x8b, 0x10, 0x11, 0x85, 0x1f, 0xde, 0x58, 0xea, + 0x62, 0x6d, 0x45, 0x5f, 0x6e, 0xf5, 0x9d, 0xdd, 0xa3, 0x50, 0xfa, 0x5a, 0xe1, 0x8d, 0x9d, 0x6f, + 0xd4, 0x73, 0xf7, 0xa2, 0x83, 0x0e, 0xaa, 0xa3, 0x1d, 0x3e, 0x0d, 0xdd, 0xf7, 0x90, 0x4b, 0x57, + 0x61, 0xfa, 0xb0, 0xdd, 0xe6, 0x30, 0xad, 0xe2, 0xd8, 0xc2, 0x47, 0x95, 0x78, 0xd7, 0xbe, 0x2e, + 0x6d, 0xae, 0x26, 0x36, 0xa7, 0x76, 0x7c, 0xcb, 0x7b, 0xcb, 0x7d, 0xfc, 0xf5, 0x50, 0xaa, 0x03, + 0x52, 0xdf, 0x8b, 0xd1, 0xbb, 0x28, 0x93, 0x99, 0x3a, 0xf9, 0x26, 0xe4, 0x3b, 0x2e, 0x42, 0x09, + 0x2e, 0x95, 0xfa, 0x7f, 0xf4, 0xf7, 0x5f, 0x87, 0x67, 0x7a, 0x11, 0x3a, 0x5b, 0x4f, 0xaa, 0x2e, + 0x5b, 0xdc, 0x66, 0x04, 0x16, 0x17, 0x59, 0x59, 0xd8, 0xc9, 0x60, 0xf0, 0xfe, 0x0f, 0x46, 0x74, + 0x1e, 0x82, 0x92, 0xcb, 0xde, 0x9d, 0xce, 0x7a, 0xa6, 0x17, 0x3f, 0xf8, 0x32, 0x80, 0x7f, 0x6f, + 0xdf, 0xa9, 0xd2, 0x87, 0x0f, 0xd5, 0x0b, 0x5d, 0x80, 0x07, 0xd6, 0x0d, 0x80, 0x10, 0x42, 0x1a, + 0xa1, 0x42, 0x49, 0x47, 0xbf, 0x49, 0xf6, 0x65, 0x5f, 0xce, 0xba, 0xf1, 0x8e, 0x9a, 0xbc, 0xa1, + 0x3e, 0x66, 0x64, 0x6c, 0xcc, 0x81, 0x37, 0x59, 0x2a, 0xb7, 0xda, 0x6f, 0x90, 0x21, 0x29, 0x13, + 0x57, 0x78, 0x0d, 0x7c, 0x4e, 0x34, 0x71, 0xc7, 0x8e, 0xe4, 0xa9, 0x63, 0x25, 0xf0, 0x2b, 0x62, + 0x6e, 0xfd, 0x5e, 0xb4, 0x95, 0xf2, 0x35, 0x6b, 0x9d, 0xe9, 0xe0, 0x7b, 0x61, 0xab, 0x8d, 0x72, + 0xaa, 0xad, 0x17, 0xcf, 0x67, 0x1c, 0x4a, 0xb7, 0x65, 0x80, 0x06, 0xba, 0x02, 0xb4, 0x79, 0x72, + 0x16, 0x63, 0x0d, 0x28, 0x3b, 0x41, 0x0a, 0xe8, 0xcb, 0xd6, 0x41, 0xfd, 0x89, 0x0d, 0xaf, 0x6e, + 0x82, 0x43, 0xb3, 0x26, 0x5e, 0x1d, 0x92, 0x7a, 0x1e, 0xbd, 0x6f, 0x82, 0xef, 0xfe, 0xa5, 0x4a, + 0xe1, 0x00, 0x80, 0x15, 0x4d, 0xe9, 0xa6, 0xf1, 0x2d, 0x69, 0xc9, 0x6f, 0x98, 0x41, 0x0d, 0x02, + 0x0a, 0x3a, 0x31, 0x5e, 0xc7, 0x87, 0xb6, 0x19, 0x01, 0x71, 0xb2, 0x1a, 0x19, 0xce, 0xc5, 0x36, + 0xd0, 0xcf, 0x74, 0xba, 0xc3, 0xce, 0xd9, 0x6b, 0x84, 0x48, 0x5c, 0xfe, 0x4c, 0x9a, 0xec, 0xc9, + 0xb6, 0x2a, 0x1e, 0xcf, 0x88, 0x59, 0x74, 0x42, 0xb0, 0xfd, 0xae, 0x22, 0x6f, 0x30, 0xcc, 0xed, + 0x87, 0x12, 0x98, 0xe1, 0xb4, 0x0a, 0x81, 0x7c, 0xaa, 0xbf, 0xa5, 0x25, 0xf6, 0xb7, 0xb9, 0xfd, + 0x51, 0x96, 0xe8, 0x2b, 0x52, 0xa1, 0x44, 0xa1, 0xe9, 0x4b, 0xc1, 0x83, 0x11, 0xa2, 0xb7, 0x4e, + 0x1d, 0x5f, 0xff, 0xb1, 0x2d, 0x0c, 0x07, 0x39, 0xc7, 0x3a, 0xbc, 0x04, 0x45, 0x5f, 0x4a, 0x2b, + 0x85, 0x53, 0xb7, 0x66, 0x03, 0x36, 0xeb, 0x44, 0x1d, 0xfe, 0xcd, 0xc4, 0x73, 0x22, 0xc8, 0x6d, + 0xe8, 0xee, 0x5b, 0x57, 0xbd, 0xf4, 0xeb, 0xaf, 0x53, 0xee, 0x81, 0xe3, 0xff, 0xfd, 0x86, 0x11, + 0xad, 0x09, 0xe3, 0xb4, 0x78, 0x8d, 0x44, 0x56, 0xe9, 0xa1, 0xfe, 0x9e, 0x32, 0x35, 0x87, 0x01, + 0x03, 0x17, 0xd8, 0x14, 0x0b, 0xc5, 0x94, 0x41, 0xf8, 0x08, 0x50, 0xc2, 0x43, 0x73, 0xf7, 0x6b, + 0x54, 0xff, 0x57, 0xe5, 0x3b, 0xa3, 0xfd, 0xba, 0xb6, 0xd8, 0x59, 0xde, 0x5d, 0x1a, 0xa6, 0x4f, + 0x02, 0xfd, 0x5a, 0xed, 0x4e, 0xb9, 0x8b, 0x32, 0xdf, 0x86, 0xdf, 0x00, 0xb7, 0xb3, 0x3c, 0x7f, + 0x4d, 0x6e, 0x11, 0x79, 0x88, 0xc8, 0x0b, 0x4b, 0xbd, 0x6a, 0x09, 0x09, 0x5c, 0xbe, 0xf7, 0x69, + 0x78, 0x55, 0x8d, 0xa4, 0xaf, 0x80, 0x9a, 0x1d, 0x0e, 0x33, 0x48, 0xf4, 0xfc, 0x11, 0x46, 0xd7, + 0x99, 0x50, 0xa2, 0xb2, 0x88, 0xcb, 0x3a, 0x43, 0xc6, 0x46, 0x84, 0x86, 0xb6, 0xb5, 0x99, 0xc4, + 0x2f, 0x77, 0xec, 0x82, 0x65, 0x6c, 0x90, 0x3c, 0x84, 0xf5, 0x95, 0xfc, 0x05, 0xb6, 0x75, 0x5d, + 0x75, 0x45, 0xbe, 0xa5, 0x3c, 0xec, 0xfd, 0x36, 0x32, 0x1c, 0xab, 0x75, 0xda, 0x48, 0x75, 0x11, + 0xaa, 0xd3, 0xce, 0x06, 0x92, 0xff, 0x65, 0xf1, 0x7e, 0x93, 0xf6, 0x4d, 0xe2, 0xa2, 0x1f, 0x31, + 0x9d, 0xe5, 0xc3, 0x3e, 0xdc, 0x55, 0x6c, 0xa6, 0xea, 0xcb, 0xe2, 0x89, 0x1b, 0x87, 0x82, 0xa8, + 0xe5, 0xed, 0x71, 0x4b, 0x9d, 0xec, 0x26, 0x71, 0x10, 0x8b, 0xe1, 0xe9, 0x3a, 0x50, 0xf0, 0x01, + 0xc3, 0x60, 0x71, 0x68, 0xb2, 0x56, 0x86, 0x8a, 0xe2, 0x42, 0x4c, 0xa1, 0x96, 0xb9, 0x18, 0xfd, + 0x2a, 0x40, 0x22, 0x7b, 0xa2, 0x54, 0xbf, 0x5c, 0xcf, 0x76, 0x29, 0xaa, 0x8a, 0xda, 0x0f, 0x47, + 0x42, 0xbe, 0xf7, 0xb8, 0x85, 0xd4, 0xcb, 0xc5, 0x7d, 0x75, 0x71, 0x94, 0x8e, 0xcf, 0xdb, 0x86, + 0x83, 0x7b, 0xad, 0x03, 0x34, 0x68, 0x2e, 0x9e, 0xf5, 0x93, 0x52, 0x27, 0x4b, 0xf4, 0x44, 0x67, + 0xa0, 0xec, 0x3d, 0xd8, 0xbd, 0x1c, 0xb9, 0xa7, 0x57, 0x1f, 0xea, 0x75, 0x71, 0xcd, 0xcb, 0x0d, + 0x4b, 0x4c, 0xb3, 0xba, 0x65, 0x16, 0x40, 0x7e, 0xf3, 0x39, 0xfc, 0xa2, 0x82, 0x13, 0x91, 0x74, + 0x9d, 0xde, 0xc3, 0xf6, 0x67, 0x3a, 0x64, 0x5d, 0xeb, 0x78, 0x61, 0x7d, 0xb5, 0xbb, 0x48, 0xe6, + 0x71, 0x61, 0xa8, 0x22, 0x1e, 0xe5, 0x18, 0xd7, 0x75, 0x7d, 0x80, 0xee, 0x63, 0x03, 0xe3, 0xe5, + 0xa7, 0xe3, 0x8e, 0x5e, 0xef, 0x85, 0x8e, 0x6f, 0xf9, 0x8f, 0xfa, 0x32, 0x73, 0xbe, 0xe6, 0xb5, + 0x1c, 0x42, 0x46, 0x58, 0x31, 0x30, 0xc9, 0x2c, 0x57, 0xea, 0xf4, 0x36, 0x46, 0x89, 0x80, 0xe3, + 0x2d, 0x6a, 0x73, 0xb8, 0xab, 0x6c, 0x8f, 0x02, 0x40, 0x07, 0xfc, 0x68, 0xa2, 0x63, 0x96, 0xd6, + 0x96, 0x05, 0xee, 0x47, 0x57, 0x51, 0xf2, 0x16, 0xd8, 0xdd, 0xd1, 0x89, 0xb8, 0x30, 0x83, 0x99, + 0x96, 0xb0, 0xbf, 0x42, 0xae, 0x64, 0x25, 0x16, 0x3f, 0x83, 0x3e, 0xef, 0xfc, 0xe7, 0x67, 0xad, + 0x62, 0xb3, 0x57, 0x94, 0x5d, 0x91, 0xa3, 0x66, 0x7d, 0x5e, 0xfc, 0xc6, 0x7f, 0xba, 0xd1, 0x5d, + 0xa1, 0x2d, 0x26, 0xd8, 0x40, 0xf3, 0x6d, 0xcd, 0x65, 0x98, 0x14, 0x45, 0x81, 0xe2, 0xee, 0x3d, + 0xa6, 0xbe, 0x69, 0x9e, 0x97, 0xa1, 0xb6, 0x2b, 0x79, 0x18, 0x22, 0x72, 0x4f, 0xc7, 0xc3, 0xc6, + 0x45, 0x62, 0xe7, 0xdd, 0x19, 0xe8, 0xeb, 0xc7, 0x8e, 0x1d, 0x9b, 0x3a, 0x6d, 0x83, 0xb4, 0xa2, + 0x7c, 0x37, 0x05, 0x88, 0x81, 0x84, 0xd6, 0x69, 0xc2, 0x07, 0x84, 0x0d, 0xc4, 0x4d, 0x6d, 0x41, + 0xeb, 0x75, 0x37, 0x6a, 0x09, 0x97, 0xe7, 0xcf, 0xf1, 0x3f, 0xb5, 0x0e, 0xe8, 0x64, 0xec, 0x80, + 0xac, 0x9b, 0x1e, 0xb3, 0xe0, 0x06, 0x1b, 0xf7, 0xd3, 0x33, 0x16, 0xb7, 0x50, 0xf9, 0x8d, 0x89, + 0x63, 0xbe, 0xe6, 0xe9, 0x1b, 0x35, 0x67, 0xfd, 0xd6, 0xc8, 0xaa, 0x93, 0x84, 0xeb, 0x53, 0x55, + 0x1c, 0xaa, 0x74, 0xa5, 0x3b, 0xcf, 0x17, 0xf2, 0x07, 0xf7, 0x42, 0xff, 0x13, 0xdc, 0x84, 0x22, + 0x1a, 0x82, 0x32, 0x09, 0xff, 0x79, 0xab, 0x0c, 0x44, 0x97, 0x04, 0x91, 0x27, 0x16, 0xd4, 0x13, + 0x70, 0xb3, 0x2b, 0x0d, 0x5b, 0x4b, 0x2a, 0x77, 0xa8, 0x59, 0x69, 0x87, 0x7a, 0x96, 0xd1, 0x82, + 0xcd, 0x18, 0x9f, 0xa7, 0x75, 0xb4, 0x56, 0x27, 0xf7, 0xb7, 0xab, 0x0e, 0x64, 0xeb, 0xda, 0x16, + 0xb1, 0x15, 0x60, 0x1c, 0x76, 0xd7, 0xf5, 0x0e, 0xa7, 0x72, 0x60, 0xae, 0xd6, 0x51, 0x91, 0xbd, + 0xea, 0x47, 0x27, 0x0f, 0xc2, 0xc5, 0x25, 0x62, 0xc0, 0xd5, 0x2c, 0xd6, 0x72, 0x8a, 0x97, 0x45, + 0xd9, 0x29, 0xc7, 0x77, 0x5d, 0x5d, 0xfb, 0xe1, 0x73, 0xfa, 0x8c, 0x98, 0xf3, 0x95, 0x96, 0x01, + 0x0c, 0xda, 0x14, 0xe7, 0x73, 0xea, 0x70, 0xef, 0x9c, 0x64, 0xec, 0x9d, 0x18, 0xa8, 0xd5, 0x2c, + 0xf1, 0xf9, 0x5b, 0xbb, 0x2f, 0x4c, 0x66, 0x4e, 0xb7, 0x68, 0x36, 0x35, 0x5e, 0xa1, 0x09, 0x4c, + 0x91, 0xd3, 0x10, 0xb0, 0xa7, 0xe0, 0x96, 0xec, 0xa7, 0x01, 0x0a, 0xb5, 0x8c, 0x32, 0x69, 0xed, + 0x41, 0xae, 0xd7, 0x8e, 0x09, 0x44, 0x19, 0xf8, 0xe6, 0x83, 0x0e, 0xcf, 0x09, 0x2f, 0xcd, 0xde, + 0xc1, 0xff, 0x84, 0x79, 0x3c, 0x37, 0xd0, 0x53, 0xa4, 0x27, 0xb5, 0xd8, 0xd9, 0xb5, 0x35, 0x05, + 0xd8, 0x03, 0x99, 0x4e, 0x86, 0x92, 0xf3, 0xed, 0x62, 0x19, 0x62, 0x7a, 0x13, 0xd2, 0x2e, 0x51, + 0xa3, 0x03, 0x16, 0xaf, 0x0b, 0xe4, 0x50, 0xfe, 0xfe, 0x16, 0x2a, 0x1a, 0x97, 0xd0, 0xc0, 0x65, + 0xf9, 0x23, 0x4d, 0x25, 0xc8, 0xa3, 0xd6, 0x78, 0x6a, 0x45, 0x6f, 0x41, 0xa3, 0x6b, 0x4c, 0xdf, + 0xf3, 0xb0, 0xef, 0x2f, 0x50, 0x32, 0x86, 0x73, 0x3b, 0x2e, 0x75, 0xb9, 0x71, 0x9f, 0xb0, 0x30, + 0xd8, 0x1a, 0x88, 0xf1, 0x95, 0x58, 0x99, 0x01, 0xc1, 0x64, 0x1c, 0xd9, 0xfb, 0x48, 0x2a, 0x8a, + 0x22, 0x2f, 0x0a, 0xfd, 0x78, 0xce, 0x7a, 0xdf, 0x82, 0x0f, 0x4b, 0x54, 0x9c, 0x4e, 0xec, 0x83, + 0x99, 0x53, 0x4d, 0x71, 0x9f, 0x26, 0x36, 0xcf, 0xed, 0x37, 0xe4, 0xc3, 0x19, 0xdc, 0x96, 0x02, + 0xc0, 0x66, 0x22, 0xbb, 0xeb, 0xb2, 0x47, 0xa7, 0x5b, 0xac, 0x43, 0x85, 0xf4, 0xa1, 0xc2, 0x45, + 0x28, 0x12, 0xab, 0x4f, 0x24, 0x5d, 0xa5, 0x7d, 0x22, 0xd2, 0xce, 0x0d, 0xae, 0x03, 0xf9, 0x6a, + 0xdf, 0xbf, 0x37, 0x8b, 0xf7, 0xa6, 0x64, 0x23, 0xa9, 0x2b, 0x19, 0x06, 0x28, 0x43, 0x37, 0xc3, + 0x42, 0xaf, 0x6d, 0xf6, 0xa2, 0x3f, 0x8e, 0x6a, 0xbd, 0xae, 0x51, 0x9f, 0xe9, 0x6a, 0x70, 0x8b, + 0xa1, 0xba, 0x4c, 0xb2, 0x5e, 0xe5, 0xf3, 0x8e, 0x98, 0x2e, 0xfb, 0x34, 0x4a, 0x5a, 0x08, 0x45, + 0xf0, 0x48, 0x2c, 0xc4, 0x3d, 0x5d, 0xf2, 0x56, 0x82, 0x04, 0x4f, 0x9b, 0xb0, 0x3e, 0x28, 0xa5, + 0x07, 0x38, 0xf8, 0x7e, 0x97, 0xc0, 0x95, 0x5d, 0xc4, 0x3a, 0x06, 0xf8, 0x77, 0xd4, 0x58, 0x6e, + 0x71, 0x9d, 0x6a, 0x8d, 0x4a, 0xb5, 0xaf, 0x15, 0x8f, 0xb3, 0xeb, 0x84, 0xfe, 0xa6, 0x75, 0x16, + 0xa1, 0x9d, 0x41, 0x00, 0x64, 0x87, 0x4f, 0x92, 0x5b, 0x0c, 0xf6, 0xf7, 0x7c, 0x30, 0x3c, 0x65, + 0x6f, 0x2b, 0xe1, 0x1e, 0x89, 0xec, 0x37, 0x0d, 0xa2, 0x7f, 0x66, 0x8e, 0x45, 0x2d, 0x8c, 0x3f, + 0x3e, 0x04, 0x92, 0x09, 0x6f, 0x07, 0x1e, 0xc6, 0x92, 0x6d, 0x2f, 0xab, 0xa5, 0xc0, 0x6f, 0x02, + 0x43, 0x0d, 0xbb, 0xc5, 0xd4, 0x4e, 0x13, 0xb8, 0x5f, 0x4c, 0x46, 0x37, 0x7b, 0x5e, 0x48, 0xb8, + 0x6e, 0xb4, 0x37, 0xe9, 0xcd, 0xf3, 0x7a, 0x25, 0x1b, 0x39, 0xf2, 0xa1, 0xc6, 0x4f, 0x16, 0x0d, + 0x32, 0xa5, 0x6d, 0x56, 0x67, 0x58, 0x25, 0xa2, 0xaa, 0x85, 0x1c, 0x06, 0xef, 0x6b, 0xa1, 0xc8, + 0x52, 0x28, 0xc6, 0x65, 0x4d, 0xd0, 0x70, 0xef, 0xcc, 0x42, 0xf4, 0xb9, 0xb3, 0xb3, 0x2a, 0xf5, + 0xc1, 0x66, 0x5d, 0x05, 0xa0, 0xcf, 0xed, 0x98, 0x36, 0x58, 0x5c, 0xc5, 0xde, 0xa7, 0x14, 0x56, + 0x6d, 0x43, 0xf8, 0xaa, 0x4c, 0xd2, 0xdf, 0xb3, 0x27, 0x67, 0x40, 0x43, 0xb8, 0x32, 0x5c, 0xb9, + 0xa4, 0xe6, 0x8e, 0x4d, 0x80, 0xf1, 0xfa, 0x4e, 0x50, 0x60, 0xdc, 0x5b, 0x28, 0x44, 0x5b, 0xe1, + 0x75, 0x5a, 0x12, 0x35, 0x24, 0x55, 0x55, 0x69, 0x70, 0x68, 0xa1, 0xa3, 0x68, 0x8f, 0xaf, 0xee, + 0x25, 0x33, 0xef, 0x70, 0x92, 0x91, 0xe2, 0x23, 0xc0, 0x07, 0x60, 0x9c, 0xea, 0xc4, 0x47, 0x8a, + 0x0d, 0x8c, 0x1a, 0x06, 0x18, 0x28, 0x85, 0x34, 0xea, 0x69, 0x89, 0xb8, 0x4e, 0xb1, 0x5f, 0x3c, + 0x1f, 0x0c, 0x50, 0xef, 0x7e, 0x44, 0xaa, 0x09, 0x54, 0xa7, 0xd1, 0x1c, 0xdf, 0x43, 0xc2, 0x3c, + 0xd8, 0x38, 0x2a, 0x63, 0xc0, 0xfe, 0xf0, 0xd0, 0x27, 0x24, 0xd7, 0xd3, 0xc8, 0x6f, 0xb6, 0x76, + 0x22, 0x9e, 0xe2, 0xe8, 0x5e, 0xe2, 0x01, 0x1f, 0xbc, 0xc1, 0xa2, 0x7d, 0xd3, 0xfc, 0xe4, 0x34, + 0x1a, 0x1a, 0x50, 0x93, 0x53, 0x30, 0xe0, 0x50, 0x2f, 0x6f, 0x3e, 0xb5, 0xcf, 0xd4, 0x8f, 0xd6, + 0x87, 0x71, 0x3f, 0xab, 0xb0, 0x30, 0x83, 0x4d, 0x07, 0x9e, 0xe4, 0x2f, 0x86, 0x46, 0x48, 0x31, + 0x9a, 0x2e, 0xf8, 0x8b, 0xb7, 0xbf, 0xb0, 0x5d, 0xf3, 0xf6, 0x8b, 0xa7, 0x40, 0x05, 0x4f, 0xbe, + 0xf7, 0x8c, 0x20, 0xc6, 0xac, 0x8c, 0x37, 0x62, 0xe5, 0x17, 0x52, 0xd5, 0xab, 0x37, 0xa0, 0xb0, + 0x0c, 0x2c, 0x5d, 0x92, 0x6a, 0x79, 0xa6, 0x2d, 0x4f, 0xde, 0xa9, 0x87, 0xe3, 0xde, 0x7e, 0xaf, + 0x17, 0x76, 0x3a, 0x43, 0xe9, 0x44, 0xb5, 0x3c, 0x4e, 0xf5, 0x9b, 0x8f, 0x60, 0x96, 0x6e, 0xf8, + 0x61, 0x7a, 0xa5, 0x83, 0x41, 0x06, 0x0c, 0xaf, 0xec, 0x7f, 0x00, 0xe3, 0x74, 0x29, 0x69, 0xd5, + 0x26, 0xc7, 0x36, 0xc2, 0x26, 0x4e, 0xef, 0x24, 0xbb, 0x22, 0xe0, 0xd9, 0x6d, 0x91, 0x3b, 0xa1, + 0xd0, 0x1e, 0xf5, 0xff, 0x57, 0x66, 0x15, 0x68, 0x73, 0xe2, 0xbf, 0x05, 0x6a, 0xda, 0xd5, 0x0b, + 0xbc, 0x68, 0x9a, 0x2e, 0x25, 0x10, 0x8f, 0x3a, 0xa3, 0xfd, 0xe1, 0xd3, 0x7b, 0xdd, 0x29, 0xbc, + 0x0e, 0xfa, 0x01, 0x15, 0x84, 0x48, 0xcc, 0x0e, 0xf0, 0xa3, 0xc1, 0xee, 0xd0, 0x23, 0x98, 0x36, + 0x80, 0x5b, 0x0c, 0xd8, 0xdf, 0xfc, 0x55, 0x72, 0x09, 0x99, 0x5a, 0x97, 0xe3, 0xc7, 0x89, 0xdc, + 0x6f, 0xbf, 0xa2, 0xd7, 0x9c, 0xa4, 0xb7, 0x36, 0x3e, 0x72, 0x09, 0x89, 0x61, 0xb9, 0x27, 0x45, + 0x78, 0xe7, 0x3d, 0xa8, 0xff, 0x08, 0x36, 0x08, 0x3d, 0x43, 0x53, 0x30, 0x83, 0x24, 0x63, 0x39, + 0x7f, 0x3f, 0x40, 0x0d, 0x31, 0xc5, 0x3c, 0xf0, 0x31, 0x91, 0x6f, 0x6c, 0x98, 0x53, 0x33, 0xb3, + 0x37, 0x3d, 0x5e, 0xf6, 0x88, 0xf5, 0xbd, 0x9b, 0xb9, 0xe3, 0x2c, 0xb2, 0xd0, 0x1c, 0xfc, 0x43, + 0x70, 0x49, 0x81, 0x4d, 0x06, 0x70, 0xe4, 0xc8, 0x3f, 0x23, 0x62, 0x98, 0x84, 0x83, 0xb9, 0x86, + 0xa0, 0xf9, 0x5c, 0x41, 0x2e, 0x37, 0xe4, 0x51, 0x92, 0x6a, 0xf7, 0x0d, 0x60, 0xdc, 0x59, 0xaf, + 0x5e, 0x20, 0x41, 0x67, 0x45, 0x00, 0x53, 0x68, 0x1f, 0xbe, 0x92, 0x81, 0xb4, 0x84, 0xf7, 0x1c, + 0x6b, 0x40, 0x47, 0x9a, 0xbe, 0x3a, 0xc3, 0xcd, 0xda, 0x6c, 0xfd, 0x26, 0x1d, 0xc3, 0x28, 0xa0, + 0xda, 0xd8, 0xed, 0xbe, 0xca, 0xa6, 0x82, 0xe0, 0x35, 0x7f, 0x9a, 0x74, 0xab, 0xb9, 0xf4, 0xbd, + 0xd2, 0x9f, 0x82, 0x91, 0x87, 0x2d, 0xb7, 0x47, 0x77, 0xa9, 0x42, 0xc3, 0x98, 0x3f, 0x99, 0xab, + 0xc0, 0x05, 0xd2, 0xab, 0x4a, 0xdc, 0xb6, 0xc5, 0xcd, 0xd9, 0xf0, 0xe4, 0x54, 0x64, 0xa2, 0x22, + 0xd2, 0xb5, 0x5e, 0x95, 0xb4, 0x46, 0x5f, 0xa9, 0x46, 0xa7, 0x59, 0x4b, 0x3b, 0x0d, 0x46, 0x97, + 0x97, 0x29, 0x9c, 0x84, 0xb6, 0x84, 0xeb, 0xdc, 0x19, 0xaf, 0x18, 0xe2, 0xba, 0x9d, 0x53, 0x07, + 0xe2, 0xdd, 0x05, 0x3b, 0x78, 0xd4, 0x11, 0x52, 0x27, 0x39, 0x49, 0x15, 0xae, 0x50, 0x01, 0xe5, + 0xe8, 0x7c, 0x83, 0xb5, 0xe9, 0x2a, 0xc9, 0xdd, 0x28, 0x9b, 0x10, 0x63, 0xe7, 0xf9, 0x71, 0x1b, + 0xfa, 0x95, 0xef, 0xcb, 0xd9, 0x0b, 0x61, 0x6f, 0x48, 0x87, 0x14, 0x38, 0xdf, 0x7c, 0xcc, 0x61, + 0xf3, 0x88, 0xbd, 0xd0, 0xf7, 0x47, 0x99, 0xbc, 0x29, 0x75, 0xa2, 0x9f, 0x91, 0xac, 0xd0, 0xc2, + 0xb3, 0x82, 0x71, 0x7e, 0x25, 0x19, 0xb5, 0xaa, 0xf0, 0x0d, 0x93, 0xb5, 0x89, 0xeb, 0x23, 0x1e, + 0xd0, 0x3f, 0x46, 0x6a, 0x2d, 0x7e, 0xf5, 0x32, 0x9a, 0x07, 0xca, 0x0e, 0x5c, 0xa9, 0xe6, 0xdc, + 0x3f, 0x5e, 0xb4, 0x18, 0xed, 0x4d, 0xee, 0xdc, 0xd4, 0x37, 0xc0, 0x10, 0x17, 0xbf, 0xb2, 0x28, + 0xbe, 0xfc, 0x11, 0x16, 0x46, 0x89, 0x84, 0xa0, 0xed, 0x1f, 0x9d, 0xca, 0x38, 0xe8, 0x56, 0x81, + 0xf0, 0xb6, 0xf1, 0x25, 0x7b, 0x1d, 0xd0, 0xf5, 0x7f, 0xb4, 0xf1, 0x8f, 0x79, 0x24, 0xb5, 0xd9, + 0xf9, 0x5d, 0xc6, 0x4f, 0x50, 0x6e, 0x54, 0x6d, 0xa5, 0x44, 0x6a, 0xb3, 0x74, 0x15, 0x6b, 0x9d, + 0x2e, 0x08, 0xef, 0x96, 0xae, 0xb8, 0x51, 0xc9, 0xf3, 0xc3, 0xfc, 0x91, 0xef, 0x21, 0x88, 0x7b, + 0x5e, 0xa8, 0x2b, 0x84, 0x86, 0xf8, 0x9c, 0xaa, 0x0f, 0x50, 0xe9, 0xbf, 0x1d, 0xaf, 0x26, 0x74, + 0xf8, 0xfe, 0x53, 0xa4, 0x93, 0x5d, 0xfb, 0xb5, 0x0a, 0x2c, 0x2c, 0x58, 0xde, 0x26, 0x3b, 0x2f, + 0xe1, 0x85, 0xa6, 0x7a, 0x77, 0x76, 0x21, 0x86, 0x90, 0x91, 0x04, 0x82, 0xc6, 0x3e, 0x6d, 0x0b, + 0x1b, 0x27, 0x3c, 0x8d, 0x27, 0x33, 0xac, 0xb2, 0xc1, 0xf7, 0x73, 0x7a, 0x7d, 0x01, 0x0f, 0xde, + 0x08, 0xfb, 0x89, 0x93, 0xfd, 0x3a, 0x81, 0x0b, 0xfd, 0x3c, 0xcd, 0x39, 0xfb, 0x0f, 0x97, 0x93, + 0x86, 0xb9, 0x5d, 0x70, 0xc4, 0xb7, 0xd3, 0x8f, 0x66, 0x66, 0x81, 0x91, 0x1b, 0x18, 0x78, 0xbe, + 0xb8, 0xda, 0xc5, 0x73, 0x33, 0x0e, 0x9a, 0xd5, 0x6a, 0x5b, 0x6a, 0xed, 0x5e, 0xa9, 0x27, 0x30, + 0xe1, 0xa4, 0xda, 0x50, 0xb8, 0x1f, 0x01, 0xd0, 0x0b, 0x2e, 0xe4, 0x9d, 0x34, 0xec, 0xf6, 0xce, + 0xc8, 0x60, 0x9a, 0x8a, 0x9f, 0x0d, 0xa8, 0x2e, 0xbf, 0x2b, 0x11, 0xe1, 0x2c, 0x63, 0xad, 0x08, + 0xd3, 0xbb, 0x60, 0x94, 0xa8, 0x45, 0x08, 0xe1, 0x66, 0xe5, 0x15, 0x4d, 0x11, 0x1b, 0xfd, 0xae, + 0x66, 0xa9, 0xf8, 0x09, 0xc7, 0xac, 0x9e, 0xd0, 0x1e, 0xa3, 0x4d, 0x82, 0x93, 0x02, 0x58, 0xb2, + 0x06, 0xfe, 0x2a, 0xf3, 0x1b, 0x93, 0xcc, 0xaf, 0x53, 0x35, 0x3b, 0x7f, 0x02, 0x7e, 0xc4, 0xf8, + 0xd9, 0xfa, 0xa1, 0xa7, 0xb0, 0x1b, 0x1b, 0x04, 0x33, 0x72, 0xde, 0x37, 0x90, 0x37, 0xbe, 0xe5, + 0xc8, 0x2e, 0x6e, 0x76, 0x80, 0xf8, 0xdd, 0x21, 0x77, 0xa1, 0xdb, 0x57, 0xc2, 0xf1, 0x9a, 0xa9, + 0x29, 0x37, 0xbb, 0x99, 0xaf, 0x0f, 0x93, 0xce, 0x4f, 0x3e, 0x2f, 0x0c, 0xfe, 0x78, 0x39, 0xb3, + 0x53, 0x96, 0xad, 0xc4, 0xc6, 0x5f, 0x12, 0xb0, 0x23, 0xfb, 0x6b, 0x64, 0x88, 0xd5, 0xc3, 0xa4, + 0xcb, 0x3c, 0x77, 0x47, 0xa1, 0xaf, 0xeb, 0xb8, 0x66, 0x08, 0xb0, 0xce, 0x00, 0x7e, 0x71, 0xbe, + 0x46, 0xa6, 0xb9, 0xa5, 0x01, 0x98, 0xff, 0x25, 0x54, 0xba, 0x98, 0xe0, 0xe5, 0xba, 0xa6, 0x85, + 0x32, 0xd4, 0x06, 0xd2, 0x06, 0xba, 0xe0, 0xe6, 0x50, 0xee, 0x61, 0x8d, 0x3d, 0xf8, 0xd1, 0x7f, + 0xf0, 0xb3, 0x18, 0x2a, 0xb5, 0xa8, 0x51, 0xf2, 0xd6, 0x45, 0x81, 0x1e, 0xb4, 0xc0, 0x55, 0x84, + 0x70, 0x8b, 0xbf, 0x41, 0x2b, 0x6c, 0x05, 0x81, 0x77, 0x73, 0xfe, 0x63, 0x90, 0xad, 0x0f, 0xca, + 0x8d, 0x14, 0x4f, 0xc7, 0xbf, 0x99, 0x6e, 0x69, 0xdd, 0xfa, 0x5a, 0xa5, 0x9a, 0x5e, 0xf4, 0xe5, + 0x8c, 0x9f, 0x61, 0x22, 0xb9, 0x46, 0xa1, 0xe1, 0xf6, 0x72, 0x87, 0x9d, 0x0b, 0x2a, 0x09, 0xa9, + 0xbb, 0xf3, 0xc6, 0x7f, 0x7f, 0x7e, 0x22, 0x30, 0x6b, 0x43, 0x69, 0xa6, 0x53, 0xf9, 0x42, 0x75, + 0x70, 0xbe, 0x7d, 0xa0, 0x11, 0x2a, 0x12, 0xa7, 0xfc, 0xa2, 0xe8, 0x9b, 0x57, 0x30, 0xc2, 0xaa, + 0x10, 0xcd, 0x13, 0xc7, 0xbb, 0x37, 0xd8, 0xfd, 0xcb, 0xd4, 0x4d, 0x50, 0x2a, 0xc2, 0x74, 0x52, + 0xc3, 0xab, 0xf4, 0x37, 0xf0, 0x8a, 0x5c, 0x78, 0x5e, 0xdc, 0x2a, 0x6e, 0xe3, 0x9c, 0xec, 0x10, + 0x93, 0x21, 0x37, 0x8b, 0xb6, 0xbc, 0x40, 0x8a, 0x60, 0xe9, 0x5f, 0x4c, 0x7e, 0xfc, 0x05, 0x37, + 0xc5, 0x49, 0x6f, 0x5d, 0x6f, 0xd8, 0xdf, 0xbc, 0x1c, 0xc3, 0x34, 0xe6, 0xf4, 0xf1, 0x68, 0xe5, + 0x62, 0x6d, 0x83, 0x06, 0x89, 0x10, 0xdf, 0x53, 0xb2, 0xe5, 0x1a, 0x62, 0x4a, 0xfe, 0x0d, 0x62, + 0x91, 0x46, 0x8b, 0x8c, 0x02, 0xa2, 0x2f, 0x54, 0xb3, 0xe6, 0xe3, 0x64, 0x00, 0x87, 0x39, 0x04, + 0xb2, 0x3c, 0x47, 0x4f, 0xd7, 0xd2, 0x95, 0xbd, 0x08, 0x53, 0xe5, 0xcd, 0x28, 0x26, 0xf2, 0x68, + 0x8b, 0xcb, 0xdd, 0x24, 0x9c, 0xaa, 0xdc, 0xff, 0xe6, 0xf8, 0x8b, 0x16, 0xaa, 0x32, 0x0d, 0xd1, + 0xc9, 0x3a, 0xb2, 0x97, 0x38, 0x21, 0xb3, 0x40, 0x13, 0x74, 0x5b, 0xda, 0xe8, 0xf0, 0x27, 0xad, + 0xf1, 0xc3, 0x2f, 0xdb, 0xe8, 0x55, 0x8c, 0x04, 0x1b, 0x90, 0xdb, 0x11, 0xac, 0xc7, 0x0d, 0xc8, + 0x65, 0x82, 0x51, 0x12, 0x2d, 0x68, 0x2c, 0x29, 0x62, 0x08, 0xfc, 0x53, 0x0b, 0x35, 0x7c, 0xd3, + 0xf4, 0xdc, 0x65, 0x49, 0x25, 0xa9, 0x9d, 0x9b, 0x9a, 0xfd, 0xde, 0xd5, 0xea, 0xa0, 0x86, 0x7b, + 0x80, 0x7e, 0x69, 0x15, 0x26, 0x28, 0xac, 0xcc, 0x6f, 0xfa, 0x44, 0xb9, 0xc2, 0x2d, 0x5b, 0xc9, + 0x11, 0x3e, 0xc7, 0xef, 0x80, 0x28, 0xe7, 0x23, 0x57, 0x47, 0x22, 0xd2, 0xa7, 0x99, 0x7f, 0x22, + 0xb3, 0x7f, 0x1e, 0x49, 0xe1, 0x4e, 0x41, 0xfb, 0xbc, 0x4f, 0x35, 0xdc, 0x61, 0xd1, 0x55, 0x9b, + 0xf7, 0xba, 0xec, 0x58, 0xb8, 0x3a, 0x5d, 0xbe, 0xae, 0xd3, 0x34, 0x52, 0x63, 0xe3, 0x75, 0x67, + 0xa6, 0x2f, 0x98, 0xbc, 0xc7, 0xb8, 0x39, 0xde, 0x5c, 0x17, 0x2d, 0x8d, 0xbd, 0xad, 0xd4, 0x7f, + 0x57, 0x70, 0x46, 0xc0, 0x6b, 0x09, 0x40, 0x5b, 0x19, 0x25, 0x51, 0xe5, 0x05, 0x3a, 0xc5, 0x9d, + 0x30, 0xcf, 0xa3, 0xe7, 0x5c, 0x6b, 0x0f, 0x68, 0xe2, 0xc5, 0xe7, 0xd6, 0x80, 0x0c, 0x2d, 0x75, + 0x55, 0x58, 0x70, 0x6b, 0x49, 0xf4, 0xde, 0x0a, 0x8e, 0x34, 0x46, 0x92, 0xa5, 0xdf, 0xf2, 0x2e, + 0xd9, 0x35, 0xb7, 0xf4, 0x75, 0xce, 0xee, 0xad, 0x72, 0x84, 0xbe, 0x82, 0x99, 0x58, 0xdd, 0xa8, + 0x39, 0xf8, 0x88, 0xcf, 0xc2, 0xe0, 0xc6, 0x98, 0x04, 0xe7, 0x35, 0x38, 0x9c, 0xbd, 0xed, 0xc6, + 0x04, 0xbd, 0xd9, 0x12, 0xc8, 0x2f, 0x20, 0xf0, 0x27, 0x6a, 0xb5, 0xa6, 0x6f, 0xc7, 0xd2, 0xa5, + 0x64, 0xb5, 0xaf, 0xd4, 0xe0, 0x6f, 0x87, 0x74, 0x23, 0xc3, 0xb7, 0x31, 0x20, 0x89, 0xaa, 0xea, + 0x6b, 0x81, 0xa7, 0x59, 0xab, 0x67, 0x72, 0x9f, 0xc8, 0x37, 0xd9, 0x5b, 0xbb, 0x0e, 0x5a, 0x75, + 0x8f, 0x61, 0x12, 0xc5, 0x5b, 0xd8, 0x5d, 0x3c, 0xcc, 0x94, 0xea, 0x38, 0xcd, 0x37, 0xa3, 0xdf, + 0x18, 0x9c, 0x81, 0x30, 0x73, 0xda, 0x59, 0xe9, 0x4f, 0xb4, 0x97, 0xc7, 0x1d, 0xd8, 0x3c, 0x48, + 0xbf, 0xc9, 0x00, 0xa0, 0x64, 0x7d, 0x81, 0x54, 0x2b, 0xb1, 0x4f, 0x20, 0x4d, 0xdb, 0xba, 0x6e, + 0x32, 0xc6, 0xd3, 0xcb, 0x53, 0xfa, 0x42, 0x1a, 0x36, 0x74, 0x83, 0xd0, 0xcd, 0x3a, 0xf5, 0x3e, + 0x53, 0x70, 0x06, 0x22, 0x01, 0xae, 0x05, 0x1e, 0xd8, 0x3c, 0x5c, 0x32, 0xbe, 0xdf, 0xa9, 0xbb, + 0x4c, 0xd2, 0x4f, 0x66, 0x2b, 0x99, 0xcb, 0xc0, 0x7c, 0x21, 0x18, 0xf1, 0xd4, 0x6e, 0xa4, 0xe3, + 0x0a, 0x95, 0xf3, 0xfb, 0x6a, 0xce, 0xb8, 0xe4, 0xdb, 0x59, 0x34, 0xdf, 0xd2, 0x7c, 0xe1, 0xbd, + 0xc0, 0xfc, 0x7a, 0x82, 0x09, 0x0f, 0x5d, 0x96, 0x7a, 0x8f, 0x33, 0x00, 0xea, 0x60, 0xae, 0x1d, + 0xc9, 0xe1, 0xc5, 0x1e, 0x98, 0x56, 0xf9, 0x16, 0x6f, 0xcb, 0x7e, 0x9f, 0x85, 0x35, 0x6a, 0x91, + 0x47, 0x14, 0xb6, 0xcc, 0xf6, 0x25, 0x1a, 0x3d, 0xf2, 0x6e, 0x0d, 0x3b, 0x39, 0x7d, 0x07, 0x07, + 0xbf, 0xc2, 0xf4, 0x81, 0x0f, 0x80, 0x2e, 0xde, 0x6a, 0x9e, 0x98, 0x67, 0xbd, 0xd8, 0xcc, 0x1c, + 0x64, 0xc3, 0xb6, 0x6e, 0x7c, 0xd8, 0x71, 0x91, 0x4d, 0x64, 0x84, 0xec, 0x03, 0xd1, 0x20, 0xf5, + 0x37, 0x1e, 0x0e, 0x02, 0xdf, 0x88, 0x15, 0x47, 0x5a, 0x82, 0x45, 0xf7, 0x6a, 0x71, 0x8d, 0xe1, + 0x94, 0xd0, 0x26, 0x6a, 0x46, 0xd3, 0x00, 0x1e, 0x8f, 0x09, 0x96, 0x1b, 0x40, 0x12, 0x15, 0xc6, + 0x8b, 0x2a, 0x99, 0xc0, 0x4c, 0xbc, 0x65, 0x21, 0x5a, 0x66, 0xa2, 0x62, 0x9e, 0xf0, 0xa7, 0x78, + 0x43, 0x8b, 0x70, 0x00, 0x30, 0x75, 0xee, 0x2d, 0x29, 0xb2, 0xe8, 0xa7, 0xf4, 0xaa, 0xed, 0xb9, + 0x60, 0x15, 0x67, 0x41, 0x69, 0xd4, 0x24, 0x0d, 0x3d, 0xc9, 0xae, 0xe8, 0xba, 0x7d, 0x92, 0xdd, + 0x4a, 0xde, 0x33, 0xbb, 0x87, 0xc7, 0xd0, 0x77, 0x1c, 0x5d, 0x09, 0x06, 0x95, 0x9b, 0x31, 0x12, + 0x9c, 0x0b, 0xec, 0x83, 0xd8, 0xe7, 0xca, 0x67, 0x45, 0xde, 0x4c, 0x72, 0x89, 0xc0, 0x45, 0xa1, + 0x10, 0xbc, 0x64, 0x29, 0xae, 0x9d, 0xf8, 0x17, 0x63, 0x2f, 0x33, 0xd4, 0x3c, 0xbe, 0x44, 0x8f, + 0x0e, 0xad, 0x2a, 0x46, 0xdd, 0x5a, 0xf2, 0x96, 0x57, 0x49, 0x64, 0x2a, 0x30, 0x34, 0x5b, 0x19, + 0x6e, 0x94, 0xda, 0xf9, 0x9a, 0x8d, 0xda, 0xbd, 0xa9, 0x92, 0x00, 0x96, 0xd8, 0x17, 0x84, 0x45, + 0xd3, 0xdc, 0xf7, 0xea, 0xcf, 0xfc, 0x63, 0x96, 0xcf, 0x37, 0xd5, 0x2a, 0x79, 0x5a, 0x54, 0xed, + 0x7d, 0x1e, 0x6f, 0xd4, 0x72, 0x43, 0x30, 0xa0, 0x8b, 0xbb, 0x04, 0x45, 0xce, 0x79, 0xbf, 0xcf, + 0x22, 0x47, 0x72, 0x4a, 0x1d, 0xff, 0x79, 0x21, 0xd6, 0x8a, 0x08, 0x28, 0xfd, 0x02, 0x1d, 0xb3, + 0xc1, 0x17, 0x77, 0xc6, 0xe4, 0xa0, 0xf3, 0xa7, 0xbf, 0x2e, 0x6d, 0xaf, 0xef, 0x27, 0x3c, 0x43, + 0x4e, 0x00, 0x29, 0x2d, 0xef, 0x69, 0xd4, 0x76, 0x56, 0x8b, 0xbe, 0x6e, 0xa0, 0x62, 0x67, 0x15, + 0x98, 0x3e, 0xba, 0x22, 0x4a, 0xb4, 0x40, 0x8f, 0x9b, 0xc6, 0xce, 0x95, 0x3b, 0x8e, 0xbc, 0xc9, + 0x53, 0x3f, 0xc1, 0xa8, 0x67, 0x9b, 0x94, 0x7a, 0xe5, 0x65, 0x29, 0xe4, 0xd0, 0x57, 0xd3, 0xd0, + 0x06, 0xe4, 0xd6, 0x90, 0x60, 0xf1, 0xb6, 0x8b, 0xed, 0xdf, 0x03, 0xf4, 0x8e, 0xf5, 0x0f, 0x60, + 0x9c, 0x5d, 0xa1, 0x47, 0xaf, 0x77, 0x02, 0x24, 0x9c, 0x25, 0xa2, 0x94, 0x2a, 0x35, 0x38, 0xfb, + 0x15, 0xd9, 0xae, 0x35, 0x38, 0x36, 0x4a, 0xde, 0x08, 0x3c, 0xc1, 0x40, 0x45, 0xf2, 0x94, 0x7c, + 0x09, 0x8a, 0x86, 0xf8, 0x35, 0xd7, 0x84, 0x5c, 0xe3, 0x88, 0x0d, 0x15, 0x29, 0xef, 0xca, 0x0c, + 0x31, 0x93, 0x95, 0x1e, 0x60, 0x79, 0x92, 0x43, 0xcd, 0x81, 0x3e, 0xd2, 0x86, 0x63, 0x24, 0x26, + 0xb0, 0x89, 0x29, 0x4b, 0x93, 0xf4, 0x7d, 0x95, 0xb6, 0xf0, 0x28, 0xbc, 0x61, 0x9e, 0x5b, 0x5b, + 0x42, 0xb1, 0x4a, 0x9c, 0x48, 0x56, 0x68, 0x17, 0xf0, 0xa4, 0x5e, 0x61, 0x14, 0x13, 0x87, 0x86, + 0x30, 0x70, 0x91, 0xb6, 0xd0, 0x9c, 0xde, 0x31, 0x13, 0x6b, 0x40, 0x1c, 0x8d, 0x1b, 0xe9, 0x55, + 0xd9, 0x3b, 0x84, 0x16, 0x4a, 0xf2, 0x53, 0x03, 0x93, 0xce, 0xbf, 0xc2, 0x8e, 0xb4, 0x1e, 0x0a, + 0x57, 0x2c, 0x57, 0x7e, 0xb0, 0x72, 0x53, 0xd9, 0xe7, 0xa8, 0x4a, 0x01, 0x2f, 0x98, 0x0d, 0x20, + 0x03, 0x15, 0xce, 0x28, 0xca, 0x16, 0xf9, 0xb2, 0x44, 0x2a, 0xc9, 0xe7, 0x4f, 0xd5, 0xb7, 0x7b, + 0x8d, 0xe8, 0x7b, 0x78, 0xea, 0xd5, 0x14, 0xfe, 0x97, 0x57, 0x52, 0x49, 0x3a, 0xf7, 0x51, 0x57, + 0xff, 0x6b, 0xa6, 0xeb, 0xd0, 0xab, 0x8d, 0xe0, 0xa1, 0xfb, 0xd0, 0x77, 0x27, 0x33, 0x26, 0x85, + 0xd9, 0xa9, 0x7d, 0xda, 0xcd, 0xc6, 0x10, 0xb8, 0xf8, 0x4f, 0xc7, 0xc7, 0x48, 0xca, 0x69, 0x1d, + 0x73, 0x56, 0x34, 0xd1, 0x3d, 0x0f, 0xb0, 0x20, 0xec, 0x6b, 0x51, 0xbd, 0xc1, 0xce, 0x18, 0x8a, + 0x85, 0x7f, 0xa5, 0x39, 0xa2, 0x45, 0x08, 0x01, 0x0f, 0x8c, 0x86, 0x36, 0x2e, 0x56, 0xff, 0x67, + 0x78, 0x38, 0x5a, 0xf2, 0xa8, 0x82, 0x12, 0xc5, 0x9c, 0x03, 0xc2, 0x4e, 0x16, 0xda, 0x36, 0x53, + 0xa8, 0xba, 0xc1, 0x43, 0xb6, 0x35, 0x11, 0xaa, 0xc9, 0x4f, 0x06, 0x00, 0x5d, 0x42, 0x6c, 0x23, + 0xcd, 0xd8, 0xcd, 0xb2, 0x26, 0x20, 0x01, 0x47, 0xe6, 0x65, 0x47, 0x34, 0x91, 0xd5, 0x59, 0xe5, + 0x79, 0x66, 0x82, 0x05, 0xf2, 0x28, 0x94, 0x41, 0x16, 0xc3, 0xa6, 0x69, 0x8c, 0x79, 0x4a, 0x5d, + 0x0c, 0xe0, 0x78, 0xa8, 0x1e, 0xd7, 0x30, 0x84, 0xeb, 0xef, 0x9c, 0x42, 0x98, 0x0a, 0x6d, 0xa9, + 0xf5, 0x4a, 0x7d, 0x0d, 0xf7, 0x42, 0xcc, 0xaf, 0xe3, 0x45, 0x90, 0x31, 0x59, 0x3d, 0xc7, 0x13, + 0x7c, 0xcf, 0xef, 0xfd, 0xda, 0x59, 0xb9, 0x74, 0x98, 0xeb, 0xa3, 0xb1, 0x9a, 0xdc, 0x6a, 0xe2, + 0x28, 0x79, 0x28, 0xd7, 0xe5, 0x43, 0x34, 0x74, 0x0c, 0x4a, 0xd4, 0xc7, 0x43, 0x88, 0xb3, 0x54, + 0x40, 0x48, 0x28, 0xab, 0x62, 0x6b, 0xd6, 0xff, 0x0e, 0xf6, 0x9f, 0xe6, 0x8a, 0xaf, 0x72, 0x99, + 0xb0, 0xfe, 0xed, 0x62, 0xee, 0x61, 0x1b, 0xd9, 0x26, 0x68, 0x4e, 0x69, 0xce, 0x2e, 0x7c, 0x1f, + 0x44, 0x0d, 0x83, 0xc3, 0x95, 0xbb, 0x99, 0x25, 0xf5, 0x64, 0xb2, 0xfe, 0x81, 0x53, 0x26, 0xee, + 0x2b, 0xa3, 0x96, 0x30, 0x46, 0x42, 0x13, 0x8e, 0x38, 0xae, 0x91, 0x20, 0x9a, 0xf3, 0x71, 0x8e, + 0x9a, 0x3c, 0xe5, 0x74, 0x9e, 0x89, 0xb6, 0x25, 0x3f, 0x00, 0xbd, 0xee, 0xed, 0x3e, 0x36, 0x56, + 0xd7, 0x5f, 0xb2, 0xbf, 0x4b, 0x12, 0x5b, 0xa9, 0xc9, 0xfc, 0xb0, 0xee, 0x72, 0x2d, 0x5e, 0xd6, + 0x7a, 0xb0, 0x79, 0x76, 0x86, 0x35, 0x36, 0xd5, 0x52, 0xab, 0x90, 0x87, 0xa4, 0x0f, 0xc0, 0x02, + 0x61, 0x29, 0x39, 0x95, 0x31, 0x56, 0xa4, 0x2c, 0x8c, 0xa3, 0xb1, 0x2e, 0x81, 0xfd, 0x6c, 0x6d, + 0xc8, 0xf3, 0xe8, 0x92, 0xf4, 0xd3, 0x06, 0x40, 0x45, 0x5b, 0x7b, 0xcf, 0xf8, 0x65, 0x1a, 0xc6, + 0x33, 0x80, 0x01, 0x6a, 0x1f, 0xc3, 0x5e, 0xdc, 0xd5, 0x23, 0xcf, 0x72, 0x68, 0xbb, 0x7e, 0x80, + 0x93, 0xba, 0x61, 0xc3, 0x25, 0x76, 0xdf, 0x69, 0x11, 0xcd, 0x12, 0xee, 0x95, 0xda, 0xaf, 0xb7, + 0x44, 0xc0, 0x2e, 0x77, 0x44, 0xce, 0x47, 0x2a, 0xbc, 0x0a, 0x4d, 0xdf, 0x08, 0xcf, 0x0e, 0xd0, + 0xc7, 0x64, 0x09, 0x7b, 0xaf, 0xb8, 0xab, 0x2e, 0xfc, 0xde, 0xab, 0x8b, 0x98, 0x82, 0x55, 0x30, + 0x3b, 0x7a, 0x2a, 0x0b, 0x63, 0x91, 0xfa, 0xe4, 0xde, 0xf5, 0xc7, 0x3a, 0x28, 0x52, 0x85, 0x2b, + 0x80, 0x3a, 0xf1, 0xa1, 0x8f, 0xbf, 0x87, 0x5c, 0x09, 0xf9, 0x3f, 0x60, 0xce, 0x09, 0x09, 0x66, + 0x38, 0x89, 0x57, 0xb9, 0xf0, 0xe0, 0x6f, 0x38, 0x03, 0x38, 0x7c, 0x26, 0x00, 0x73, 0x7b, 0xf1, + 0x2a, 0x31, 0x74, 0xc2, 0xad, 0x0e, 0x8d, 0xfe, 0x4c, 0xdb, 0xd7, 0xed, 0xec, 0x5d, 0x1c, 0xef, + 0xce, 0x73, 0xf4, 0x53, 0x2f, 0xba, 0xa1, 0x11, 0xe7, 0x48, 0xd9, 0xae, 0x31, 0x93, 0x84, 0x66, + 0xc2, 0x71, 0xb9, 0x6c, 0x8b, 0x1b, 0x6c, 0x01, 0x47, 0xac, 0xa9, 0x1c, 0xbf, 0xad, 0x3a, 0x6e, + 0xbf, 0x1d, 0xe7, 0x4c, 0xe4, 0x64, 0x2b, 0xa2, 0x33, 0x64, 0x89, 0xd0, 0x0d, 0xee, 0xfd, 0xd1, + 0xb0, 0x11, 0xde, 0xfc, 0xd0, 0xb2, 0xae, 0xa9, 0xa2, 0xf5, 0x5c, 0x9e, 0xd1, 0xe3, 0xa1, 0xa3, + 0xff, 0x1d, 0xb4, 0x4c, 0xd8, 0x8b, 0xad, 0x91, 0x2a, 0x0c, 0xa6, 0x3f, 0x0b, 0xaf, 0x0b, 0xb9, + 0x1c, 0x09, 0xcb, 0x48, 0xb2, 0x7e, 0x5a, 0x51, 0xb9, 0xce, 0xfd, 0xfa, 0x08, 0x2e, 0x90, 0x9d, + 0x68, 0x2b, 0xc4, 0x38, 0x63, 0xab, 0x24, 0x20, 0x53, 0x67, 0x28, 0x08, 0x1a, 0x84, 0xb6, 0x7c, + 0x3b, 0x12, 0xf2, 0x6d, 0x4d, 0xa9, 0x82, 0xc8, 0xf8, 0xa7, 0xba, 0x92, 0x97, 0x2e, 0x6b, 0xdb, + 0xfc, 0x23, 0xd3, 0xab, 0x8f, 0xdf, 0xd0, 0x90, 0xd5, 0x29, 0x80, 0x29, 0x46, 0xa9, 0x77, 0x34, + 0x52, 0x4f, 0xa0, 0x27, 0xa1, 0xf5, 0x4d, 0xa7, 0x33, 0x1c, 0x8d, 0xc5, 0x33, 0xd1, 0x11, 0x9d, + 0x9e, 0x78, 0x3f, 0xa5, 0x47, 0xf9, 0x09, 0x05, 0xcb, 0xa2, 0x7b, 0x04, 0x8c, 0xc3, 0xa4, 0xb9, + 0x8c, 0xfa, 0x17, 0x62, 0x60, 0xda, 0x95, 0x62, 0xe2, 0xd3, 0x09, 0x76, 0xeb, 0x86, 0xdf, 0xe6, + 0x59, 0x0b, 0x86, 0x8e, 0x96, 0xb8, 0xf9, 0x42, 0x76, 0xcb, 0xbc, 0x4a, 0x1d, 0xc1, 0x3a, 0x37, + 0x7f, 0xe9, 0x8e, 0xcc, 0x6d, 0x1e, 0x52, 0x21, 0x90, 0x21, 0xa9, 0x57, 0xe7, 0x64, 0xee, 0x4a, + 0x5a, 0x3f, 0x33, 0x64, 0x83, 0xeb, 0xf7, 0xb8, 0x7e, 0x19, 0x70, 0xfb, 0x83, 0x8f, 0x8e, 0x61, + 0xfe, 0x06, 0x21, 0xa2, 0xd6, 0x93, 0x59, 0xdd, 0x49, 0xd6, 0x02, 0xc9, 0xad, 0x36, 0x2a, 0x34, + 0xb0, 0xdd, 0x73, 0x69, 0x22, 0x44, 0x31, 0x36, 0x5f, 0x6c, 0x80, 0x43, 0x1a, 0x5f, 0x3d, 0x24, + 0xea, 0x05, 0x7b, 0x58, 0x4d, 0x15, 0x73, 0xac, 0x24, 0x17, 0x01, 0x8c, 0xfc, 0x09, 0xaa, 0x37, + 0x55, 0xdd, 0x3e, 0xe1, 0xd7, 0x7e, 0xeb, 0xde, 0x62, 0xd9, 0xa1, 0x53, 0xb8, 0x0a, 0x3f, 0xbd, + 0x6c, 0x8e, 0x7f, 0x02, 0x08, 0x7f, 0xf4, 0x8a, 0x0a, 0xc6, 0x87, 0x33, 0x05, 0xa6, 0xa8, 0xb9, + 0x83, 0x18, 0x97, 0xab, 0xbd, 0xf2, 0xbf, 0x5e, 0x3f, 0x4d, 0x7e, 0x6c, 0x23, 0xe7, 0xfc, 0xaa, + 0x68, 0x44, 0x51, 0x09, 0x65, 0xeb, 0xd8, 0x7b, 0x0f, 0xad, 0x5b, 0x1d, 0x66, 0x09, 0x3c, 0x82, + 0xfb, 0x8b, 0x9e, 0xac, 0x9a, 0x5c, 0xf2, 0xa9, 0xab, 0x9a, 0x15, 0x9e, 0xbe, 0xd4, 0x80, 0xa3, + 0x5f, 0x9b, 0xa1, 0x1f, 0xd6, 0x7f, 0x29, 0x10, 0x33, 0xfb, 0x71, 0xc9, 0x3e, 0x42, 0xd6, 0xf0, + 0x11, 0xd7, 0xa1, 0x82, 0x07, 0x32, 0x04, 0x1a, 0x15, 0x2a, 0x19, 0xb4, 0x54, 0xb1, 0xe6, 0xb7, + 0x83, 0xdb, 0x6c, 0xff, 0xcc, 0xce, 0xf0, 0x09, 0x88, 0x26, 0x65, 0x4a, 0x7c, 0x06, 0x3d, 0x8e, + 0x97, 0xb1, 0x08, 0x53, 0x19, 0x39, 0x3b, 0x38, 0xaa, 0xcf, 0x36, 0xa6, 0x8f, 0xc8, 0x1f, 0xbd, + 0x4d, 0x0b, 0xf4, 0xe5, 0x5a, 0x45, 0xe5, 0xa6, 0xf9, 0x91, 0xce, 0x7f, 0x66, 0x1d, 0x2e, 0xbd, + 0xdb, 0x91, 0x2b, 0x3c, 0xdc, 0xf3, 0x1c, 0xb8, 0xf0, 0x74, 0xd2, 0xcd, 0x4b, 0x2e, 0x2f, 0x77, + 0xec, 0xe5, 0xd5, 0xa3, 0xed, 0x07, 0xbe, 0xe1, 0x09, 0x86, 0xcc, 0x18, 0x44, 0x96, 0x8c, 0xd2, + 0xa1, 0x5d, 0x68, 0xb4, 0x39, 0x8e, 0xeb, 0x8a, 0xda, 0x19, 0x7b, 0x57, 0xca, 0x9a, 0xda, 0xef, + 0xa6, 0xfa, 0x46, 0xb3, 0xdc, 0x2a, 0xd6, 0x53, 0x2c, 0x7c, 0xf0, 0x28, 0x1c, 0x11, 0x70, 0x05, + 0x8e, 0xba, 0xc5, 0xc9, 0x6c, 0x1e, 0x1b, 0x4d, 0x4d, 0xb3, 0x00, 0xf2, 0x3b, 0xd1, 0x46, 0xe0, + 0x40, 0x98, 0x3b, 0xf6, 0xff, 0x74, 0xa9, 0x5d, 0x19, 0xb0, 0x48, 0x68, 0x75, 0xdf, 0x4a, 0xbc, + 0xed, 0x85, 0xfe, 0xbb, 0x1b, 0x89, 0x00, 0x06, 0xf0, 0x7a, 0x1a, 0xeb, 0x3b, 0xd9, 0x58, 0xf0, + 0x97, 0x5e, 0x37, 0xd7, 0xf9, 0xc8, 0xf4, 0xba, 0xc5, 0x79, 0x40, 0x4d, 0x35, 0xf8, 0x99, 0xfa, + 0x59, 0xab, 0x3d, 0x93, 0x05, 0x8c, 0x83, 0x2b, 0xaa, 0xf0, 0xc6, 0xf6, 0x47, 0x98, 0xcd, 0x51, + 0xab, 0x72, 0xb8, 0x90, 0x43, 0x68, 0xd2, 0xc0, 0x06, 0xe0, 0x74, 0xc0, 0x2a, 0x26, 0xba, 0xc2, + 0xe9, 0x99, 0x3a, 0xed, 0x22, 0xfc, 0x15, 0x35, 0xe4, 0x97, 0x5e, 0xc2, 0xe3, 0x36, 0x0e, 0x4e, + 0x3e, 0x42, 0x74, 0xe6, 0x6d, 0xc0, 0x06, 0x37, 0xab, 0x73, 0x06, 0x40, 0x32, 0x9b, 0x3f, 0xb5, + 0x07, 0x77, 0x46, 0x62, 0x62, 0x39, 0x2f, 0x38, 0x70, 0x2b, 0xb4, 0x78, 0xed, 0x08, 0x17, 0x98, + 0xb7, 0x0e, 0x3c, 0x86, 0xc6, 0xc0, 0xb4, 0xce, 0x63, 0x8a, 0x95, 0x25, 0xbc, 0x96, 0x2d, 0xab, + 0xdb, 0x7c, 0x12, 0x92, 0xb7, 0x3c, 0x6d, 0x19, 0xfc, 0x3a, 0x58, 0x7c, 0x67, 0x15, 0x7f, 0xb8, + 0xc3, 0x73, 0x16, 0xc8, 0x65, 0x51, 0xee, 0xf5, 0x0a, 0x6f, 0xfb, 0xe9, 0xb8, 0x5f, 0x6a, 0xc6, + 0xa5, 0xc0, 0x83, 0xa2, 0xc0, 0x8b, 0xed, 0xc1, 0xf3, 0xbb, 0xab, 0x44, 0x01, 0x0d, 0xc4, 0xfa, + 0x68, 0x6c, 0x35, 0x7a, 0xf8, 0x7a, 0xf9, 0xd5, 0x13, 0x03, 0x9e, 0x15, 0xb2, 0xc8, 0x3a, 0x1e, + 0x53, 0x18, 0x20, 0x40, 0x80, 0x3f, 0xb5, 0x67, 0x38, 0x8d, 0x3d, 0xd8, 0xea, 0x7d, 0x21, 0xae, + 0xde, 0x17, 0x77, 0x44, 0xbf, 0x83, 0x86, 0xc9, 0x6c, 0xe8, 0x25, 0x20, 0x01, 0xdc, 0x37, 0x64, + 0x40, 0xf1, 0xde, 0xdc, 0x1f, 0x27, 0xdf, 0xbb, 0xf0, 0x32, 0x31, 0x93, 0x13, 0x0e, 0x6c, 0x91, + 0x37, 0xdd, 0xf6, 0xcc, 0x93, 0xf8, 0xa2, 0x62, 0x52, 0xc8, 0xa1, 0x0d, 0xce, 0x56, 0x99, 0xac, + 0xdd, 0x64, 0xd4, 0x94, 0x5e, 0x8f, 0xa5, 0x00, 0x3a, 0xcf, 0xbe, 0x65, 0x6a, 0x94, 0xb5, 0xd0, + 0x47, 0x1b, 0x65, 0xda, 0x1a, 0xf2, 0x12, 0x04, 0x73, 0xec, 0xc6, 0x80, 0xaa, 0x43, 0x0f, 0x63, + 0x80, 0xc0, 0x13, 0xdd, 0xda, 0xfd, 0xf7, 0xcd, 0x72, 0xd6, 0xab, 0xaf, 0x60, 0xa5, 0xae, 0x5f, + 0x11, 0x7c, 0xb3, 0x93, 0xbc, 0x0c, 0x9f, 0x6a, 0x52, 0x8a, 0x9a, 0xa2, 0x8b, 0x64, 0xc0, 0x6d, + 0x8d, 0xfd, 0xfc, 0xc5, 0x8d, 0xb5, 0xe7, 0x41, 0x21, 0x50, 0xea, 0x1e, 0x5b, 0x08, 0x49, 0xbe, + 0x77, 0x5a, 0xc8, 0x26, 0x3f, 0xa4, 0xc4, 0x78, 0x64, 0x72, 0xde, 0x05, 0x2c, 0xec, 0xbe, 0xa6, + 0x06, 0x71, 0xbe, 0x57, 0xc4, 0x69, 0xdf, 0xf4, 0x51, 0xe7, 0xbd, 0x2e, 0x46, 0xdf, 0x3c, 0x78, + 0x63, 0x51, 0xf7, 0x4d, 0x9d, 0x38, 0x63, 0xc3, 0xfc, 0x9c, 0xfd, 0x19, 0xf3, 0x30, 0xd9, 0xe1, + 0x9e, 0xeb, 0xaf, 0x87, 0xe0, 0x9c, 0x86, 0xca, 0x5f, 0x88, 0x6c, 0x48, 0x58, 0xf7, 0xb0, 0x2f, + 0x17, 0x63, 0x23, 0x23, 0x3b, 0xd8, 0xdf, 0x3a, 0x78, 0x39, 0x46, 0x5d, 0x99, 0xfc, 0x7f, 0xb8, + 0x0f, 0xe2, 0xc4, 0xb6, 0x5c, 0x24, 0x53, 0xc9, 0x73, 0x7b, 0x68, 0x64, 0xda, 0x30, 0xee, 0x92, + 0x34, 0x1d, 0xef, 0x9e, 0xef, 0x64, 0x34, 0xbb, 0xa6, 0xb4, 0x22, 0x8e, 0xda, 0xff, 0x49, 0x89, + 0xc7, 0x24, 0xc4, 0xe7, 0x87, 0x7c, 0x90, 0x30, 0xa7, 0xff, 0x63, 0xae, 0x5e, 0x56, 0xe3, 0xc3, + 0x8b, 0xbc, 0x9b, 0x55, 0xee, 0x92, 0xf7, 0x81, 0xbe, 0xde, 0x1d, 0x78, 0x9f, 0x67, 0x3a, 0xb3, + 0xca, 0x11, 0xa7, 0x49, 0xba, 0xb4, 0x6a, 0xbd, 0x0b, 0x49, 0x7c, 0xf3, 0x86, 0xc9, 0xf0, 0xfc, + 0xcb, 0xe0, 0xa9, 0xf7, 0x35, 0xa2, 0x86, 0x4e, 0x14, 0xf4, 0xe1, 0xfd, 0x87, 0x92, 0x1b, 0x07, + 0x8e, 0xb5, 0xa9, 0xd0, 0xc6, 0xb8, 0xa2, 0xe6, 0x71, 0xee, 0x44, 0x63, 0xbe, 0xc0, 0xf5, 0x61, + 0x0c, 0x02, 0x70, 0xc8, 0x61, 0x18, 0x8c, 0xdf, 0x0e, 0xf4, 0x34, 0x2f, 0x2c, 0x06, 0x7c, 0xcd, + 0xb6, 0x96, 0x03, 0xf5, 0xd3, 0xa8, 0x91, 0x14, 0xb2, 0x02, 0xa4, 0xca, 0xad, 0x25, 0x0a, 0xc7, + 0xe4, 0x80, 0x24, 0xb0, 0x88, 0x1c, 0xd8, 0x5e, 0xeb, 0x65, 0x8e, 0x27, 0x81, 0xe1, 0xd8, 0xf3, + 0x71, 0x39, 0x2c, 0xd7, 0xdc, 0x22, 0x69, 0x23, 0x1e, 0xda, 0x8a, 0x27, 0x7b, 0xc5, 0x9a, 0x79, + 0x47, 0x22, 0xa9, 0x50, 0x49, 0x0b, 0xe6, 0x66, 0x17, 0x93, 0x00, 0x57, 0x0e, 0x9a, 0xca, 0x79, + 0xb0, 0x5b, 0x74, 0x03, 0x24, 0x4f, 0xfb, 0xa4, 0xb7, 0x91, 0x60, 0xba, 0x99, 0x76, 0x80, 0x48, + 0xcf, 0x79, 0x65, 0x12, 0x88, 0x4c, 0x08, 0xd3, 0x99, 0xef, 0xf7, 0x30, 0x44, 0x8d, 0x95, 0x5c, + 0xab, 0x4e, 0x7c, 0x15, 0x20, 0x00, 0x4f, 0x2a, 0xa8, 0x77, 0x9a, 0x59, 0xe9, 0x7b, 0xa8, 0x7f, + 0x13, 0x85, 0xb7, 0xe6, 0xef, 0x4b, 0x52, 0x16, 0x41, 0xfe, 0xb2, 0xe4, 0x94, 0xb4, 0x93, 0x45, + 0xfb, 0xc6, 0xcd, 0x7b, 0x4d, 0x22, 0x30, 0xb8, 0x79, 0x7d, 0x98, 0x25, 0x8b, 0xc7, 0x04, 0x1c, + 0xa9, 0xbe, 0x59, 0x22, 0x06, 0xc5, 0xad, 0xb1, 0xca, 0xa7, 0x57, 0xe0, 0xf6, 0x30, 0x7e, 0x47, + 0xd5, 0x51, 0x68, 0x10, 0x78, 0x57, 0xa6, 0xfc, 0xe8, 0xea, 0xcb, 0x73, 0x99, 0x41, 0x88, 0xb7, + 0x76, 0xf9, 0x11, 0x79, 0x2a, 0x23, 0x32, 0xab, 0x21, 0x00, 0x4f, 0x3b, 0x25, 0x87, 0x59, 0xe3, + 0xe5, 0xca, 0xf2, 0x80, 0xb6, 0x35, 0x90, 0x98, 0x95, 0x05, 0xd0, 0xa6, 0x81, 0xed, 0xa8, 0xc0, + 0x91, 0x2b, 0x24, 0xd8, 0x4f, 0x2d, 0x99, 0x16, 0x9d, 0x1f, 0x1e, 0x46, 0xaf, 0x65, 0xd0, 0x8e, + 0x69, 0xb7, 0xe7, 0xf3, 0xca, 0x20, 0x38, 0x45, 0xf8, 0xd0, 0xd7, 0x5c, 0x94, 0x7f, 0x63, 0x6d, + 0x0f, 0x56, 0x67, 0x80, 0x98, 0x6c, 0xa9, 0x46, 0x79, 0xea, 0x51, 0x41, 0xab, 0x98, 0x87, 0x22, + 0x3b, 0x9f, 0xc9, 0xc6, 0xd5, 0x59, 0x5d, 0xa9, 0xc9, 0xbb, 0xe1, 0x8b, 0xf0, 0x19, 0x86, 0xe3, + 0xa9, 0xbd, 0xea, 0x8a, 0x14, 0x3d, 0xf0, 0xeb, 0x37, 0x94, 0x4c, 0x47, 0x6c, 0xee, 0x1f, 0x90, + 0x19, 0x24, 0xc1, 0x34, 0xb4, 0xc0, 0xd5, 0x60, 0x4c, 0x87, 0x1f, 0x4d, 0x7f, 0x2c, 0xa8, 0x86, + 0x52, 0xb5, 0x46, 0xe4, 0x31, 0x26, 0xfc, 0x1c, 0x8c, 0xf5, 0xda, 0xde, 0x20, 0xdd, 0xf4, 0x0b, + 0x7b, 0xf8, 0x8a, 0x83, 0x1f, 0xd7, 0xd2, 0x1d, 0x65, 0x68, 0x74, 0xdf, 0x06, 0xce, 0x4f, 0xc9, + 0x50, 0xc7, 0xb1, 0xba, 0x36, 0x37, 0x98, 0x49, 0xb2, 0x13, 0x84, 0xbd, 0x63, 0x49, 0x21, 0x76, + 0x92, 0x10, 0x92, 0x62, 0x62, 0xf1, 0xe9, 0xd6, 0x71, 0x39, 0xa5, 0x5a, 0x49, 0x36, 0x4b, 0x14, + 0x3b, 0xa6, 0xde, 0x62, 0xef, 0x35, 0x9f, 0xfa, 0xf7, 0x24, 0x3f, 0x7a, 0xdf, 0xd2, 0x36, 0xe3, + 0xdc, 0xf4, 0x94, 0x7d, 0x3b, 0x33, 0xd2, 0x34, 0x4d, 0x30, 0xf6, 0xe6, 0xe4, 0x9b, 0x25, 0xd1, + 0x82, 0x95, 0x95, 0x93, 0x7c, 0xaf, 0xb5, 0x1f, 0xe2, 0x77, 0xd1, 0x91, 0xdf, 0xf4, 0x14, 0xe5, + 0xc2, 0xda, 0x91, 0x2b, 0x81, 0x9a, 0xd7, 0x32, 0xab, 0x44, 0x0b, 0x98, 0xbc, 0x74, 0xaf, 0x01, + 0xc7, 0xce, 0xdf, 0x7b, 0x3f, 0xb1, 0xd9, 0x2b, 0xe7, 0x24, 0x8b, 0x5e, 0xe5, 0x36, 0x02, 0x0a, + 0xd8, 0x0b, 0x01, 0x89, 0xae, 0xff, 0xff, 0x53, 0xc1, 0x43, 0xeb, 0xbd, 0x84, 0x71, 0xfa, 0x4c, + 0x8a, 0xfa, 0x59, 0x08, 0xb8, 0xf2, 0xcd, 0x5a, 0x43, 0x3d, 0x84, 0x90, 0x5e, 0xed, 0x46, 0xbc, + 0x4e, 0x85, 0x25, 0x4f, 0x26, 0x41, 0xa0, 0x3e, 0xc4, 0x39, 0xac, 0x1e, 0xac, 0x94, 0xe0, 0x3a, + 0x7e, 0xc5, 0x84, 0xf5, 0xd0, 0xbd, 0xa6, 0x24, 0x32, 0x0c, 0x30, 0x75, 0xef, 0xfe, 0x72, 0xf6, + 0x0f, 0xcd, 0xa0, 0xd0, 0x95, 0x8f, 0x0d, 0xe2, 0xa5, 0xb6, 0xd0, 0xd1, 0x37, 0x00, 0x1f, 0x99, + 0x5c, 0xaf, 0xd3, 0xeb, 0x06, 0x37, 0x18, 0x07, 0x19, 0xc4, 0x95, 0xdc, 0x37, 0xdf, 0x20, 0xe5, + 0xf8, 0xa8, 0xfc, 0xd1, 0x3b, 0xd9, 0xfd, 0xed, 0x73, 0x3d, 0xd6, 0x83, 0xcf, 0x7e, 0xd9, 0xea, + 0xf4, 0x36, 0x08, 0xcc, 0xc5, 0x64, 0x16, 0xa7, 0x93, 0x28, 0xc0, 0x29, 0x7f, 0x1a, 0xe8, 0x28, + 0xc6, 0x28, 0x92, 0xcb, 0xb2, 0x94, 0xca, 0x58, 0xc5, 0x59, 0xbb, 0xc1, 0x97, 0xac, 0x74, 0xd8, + 0xc5, 0x3f, 0xf2, 0x67, 0x2b, 0xd9, 0xc1, 0x8c, 0x78, 0x6d, 0x31, 0x91, 0x4b, 0xe7, 0x17, 0x87, + 0xe1, 0xbb, 0xea, 0x00, 0xb4, 0x84, 0x7f, 0xda, 0x57, 0xf3, 0x85, 0x0b, 0xf1, 0x3d, 0xaf, 0xbc, + 0x7a, 0xfa, 0xc4, 0x49, 0x67, 0x77, 0x9f, 0x5e, 0x57, 0xbc, 0x52, 0xa2, 0xb0, 0x1f, 0x3d, 0x11, + 0xae, 0x84, 0xb8, 0x27, 0x31, 0x2e, 0xc1, 0x2f, 0xfc, 0x3b, 0x4c, 0x14, 0xe1, 0x54, 0x7f, 0xf5, + 0x88, 0x4c, 0x49, 0x2b, 0xbf, 0x04, 0x19, 0xb2, 0x2d, 0x88, 0x17, 0x78, 0x0b, 0x4e, 0x23, 0x00, + 0x88, 0xab, 0x06, 0x12, 0xd4, 0xe7, 0x75, 0x69, 0xed, 0x18, 0xf1, 0x60, 0x66, 0x1d, 0x61, 0x3e, + 0x55, 0x7b, 0x90, 0x3f, 0x0f, 0x0f, 0x97, 0x76, 0x41, 0x90, 0x58, 0x5d, 0x3d, 0xc9, 0x7a, 0x5e, + 0x7a, 0x5b, 0xea, 0x24, 0x06, 0xb5, 0xac, 0xa5, 0x07, 0x93, 0xab, 0x90, 0xdb, 0xbf, 0x80, 0x2d, + 0x9d, 0xd2, 0x7d, 0x9b, 0x59, 0x81, 0x27, 0x10, 0x7c, 0x9c, 0xd0, 0x57, 0xab, 0xc3, 0xd5, 0x80, + 0x07, 0x61, 0xf3, 0x0f, 0xdb, 0x7e, 0xc0, 0xef, 0xe8, 0xe5, 0xab, 0xf6, 0x22, 0xbb, 0x82, 0xd5, + 0xe9, 0xf2, 0x90, 0xde, 0x74, 0x1d, 0xce, 0xa2, 0x80, 0x4a, 0x13, 0xc8, 0x42, 0x4b, 0xfe, 0xff, + 0xd8, 0x3c, 0x17, 0x1e, 0xb2, 0x8d, 0x39, 0x29, 0x72, 0x19, 0x66, 0x2c, 0x2d, 0x6e, 0x16, 0xf5, + 0x81, 0x77, 0x4a, 0x03, 0xef, 0x2d, 0xba, 0x7e, 0xa3, 0xd9, 0x76, 0x06, 0x41, 0xab, 0x50, 0x76, + 0x49, 0x47, 0x33, 0x17, 0x37, 0x75, 0xba, 0x65, 0x13, 0x28, 0x62, 0x51, 0xd1, 0xbb, 0x76, 0xa1, + 0x1c, 0xa3, 0x82, 0xcb, 0xdd, 0x0d, 0x33, 0x27, 0xbf, 0x41, 0x99, 0x16, 0x50, 0x57, 0x53, 0xf0, + 0x3e, 0x46, 0xa8, 0x18, 0x23, 0x11, 0x5f, 0xe2, 0x05, 0x9a, 0xcf, 0xea, 0x83, 0x64, 0x7b, 0x54, + 0x87, 0x23, 0x33, 0xbc, 0x3f, 0xc2, 0x71, 0x1c, 0x6c, 0xce, 0xdc, 0x8f, 0x45, 0xf1, 0x41, 0x81, + 0x6e, 0xf5, 0x18, 0xa4, 0x7d, 0xbf, 0x1f, 0x44, 0xdd, 0xad, 0x6a, 0x96, 0x7f, 0x00, 0xdf, 0x68, + 0xe6, 0xe4, 0xe7, 0xc8, 0x99, 0x61, 0x43, 0x9d, 0x98, 0x81, 0xe9, 0x43, 0xd8, 0x82, 0xe7, 0x69, + 0xed, 0xb9, 0xb0, 0xe0, 0x93, 0xdd, 0xd9, 0x28, 0x04, 0x6d, 0xab, 0x99, 0x86, 0x34, 0xec, 0x1a, + 0xa9, 0xe1, 0xe0, 0x2d, 0xce, 0x81, 0x15, 0xdd, 0x6e, 0xe1, 0xbd, 0xa3, 0x07, 0xd9, 0x3d, 0xf9, + 0xcf, 0x21, 0xe9, 0x40, 0x3b, 0xa6, 0x8b, 0xab, 0x3e, 0xdc, 0x66, 0x4a, 0x15, 0x75, 0xab, 0xbe, + 0x08, 0x2b, 0xb1, 0xde, 0xc6, 0x01, 0x04, 0x95, 0xcb, 0x27, 0xfe, 0x14, 0x76, 0x29, 0x1c, 0x12, + 0xb7, 0x74, 0xa9, 0x9b, 0x22, 0x54, 0x1a, 0x13, 0x75, 0xce, 0xd2, 0x27, 0xff, 0xc3, 0x9b, 0x51, + 0xb7, 0x6a, 0xee, 0xd9, 0x59, 0x22, 0x02, 0xbb, 0x4d, 0x37, 0xae, 0x72, 0x5e, 0x49, 0x08, 0xf6, + 0xe2, 0x69, 0x99, 0x02, 0xe8, 0x62, 0x08, 0xb6, 0x54, 0xeb, 0x41, 0x0a, 0xae, 0xd7, 0xdb, 0x1e, + 0x2c, 0x0a, 0x80, 0x5d, 0x41, 0x89, 0x58, 0xc6, 0x6f, 0xa0, 0x28, 0x97, 0xd7, 0xa4, 0x0d, 0x91, + 0x14, 0xf2, 0x9f, 0x02, 0x33, 0x20, 0xeb, 0x80, 0xc9, 0x06, 0xb1, 0xea, 0x43, 0x64, 0x76, 0x6f, + 0xfd, 0x15, 0x03, 0xf3, 0x25, 0x30, 0x45, 0x9f, 0xba, 0x52, 0x9b, 0x0f, 0x27, 0xf4, 0xae, 0x51, + 0x75, 0xab, 0xf8, 0x70, 0x9e, 0xb1, 0x85, 0xca, 0xd6, 0x6a, 0xcb, 0x7c, 0xb8, 0xc4, 0xff, 0xe3, + 0xaf, 0x32, 0x42, 0x7c, 0x55, 0x33, 0x87, 0x8f, 0xb8, 0x43, 0x40, 0xb3, 0x1a, 0x04, 0x93, 0x7b, + 0xb7, 0x78, 0x24, 0x72, 0xab, 0x5f, 0xce, 0x4d, 0xde, 0x05, 0xf4, 0x99, 0xbf, 0xa6, 0xc7, 0x54, + 0x23, 0x2c, 0x19, 0x7b, 0x55, 0x96, 0x9e, 0x2f, 0x4b, 0x63, 0x6f, 0xe8, 0x6f, 0x28, 0x47, 0x45, + 0x0e, 0x0d, 0xda, 0x39, 0x73, 0x31, 0xba, 0x1b, 0xc3, 0x8d, 0x81, 0x0c, 0x6a, 0xdf, 0x7d, 0x5f, + 0xca, 0xb6, 0x36, 0x18, 0xc7, 0x9a, 0xc2, 0x3d, 0xfa, 0x41, 0xde, 0x56, 0xbf, 0x6a, 0x18, 0x6c, + 0x8a, 0xcf, 0x9f, 0xfc, 0xc8, 0x3c, 0x6f, 0xbc, 0x19, 0xaf, 0xa1, 0x31, 0x15, 0xa1, 0x80, 0x4c, + 0xf4, 0x5b, 0x78, 0x3a, 0x1a, 0x68, 0xd0, 0xf3, 0x23, 0x5e, 0xc6, 0x59, 0x95, 0xdc, 0xd2, 0x0e, + 0x58, 0x51, 0xc2, 0x15, 0xf4, 0x46, 0x8c, 0xc1, 0x12, 0x04, 0x9c, 0x7a, 0x41, 0xeb, 0x78, 0xf8, + 0xe8, 0xac, 0xd7, 0xce, 0xcb, 0x7a, 0x04, 0xa5, 0xde, 0xad, 0x85, 0xf3, 0xec, 0x6c, 0xd3, 0xec, + 0x25, 0x37, 0x18, 0x78, 0x8b, 0xf3, 0xec, 0x1b, 0x6f, 0xd6, 0x1e, 0x36, 0xd5, 0x08, 0x2e, 0x75, + 0xda, 0x68, 0x09, 0x3f, 0x1d, 0x62, 0x2e, 0x12, 0x4c, 0x5e, 0x21, 0x35, 0x98, 0xd3, 0x41, 0x87, + 0xb1, 0x78, 0xd4, 0x59, 0x7d, 0x2b, 0xfd, 0xd1, 0x58, 0x5d, 0x72, 0x32, 0x17, 0x4f, 0x6e, 0x18, + 0xd7, 0x5f, 0xc8, 0x2c, 0xe5, 0x31, 0x18, 0x90, 0x33, 0xd2, 0x2e, 0x8a, 0xff, 0x26, 0xd7, 0x7e, + 0x07, 0x73, 0xa0, 0x0e, 0x02, 0xcf, 0x90, 0x2e, 0xb0, 0x98, 0xca, 0xb5, 0xe7, 0xc6, 0x6b, 0xce, + 0x6c, 0xe6, 0x95, 0xc8, 0x32, 0x8b, 0xce, 0xf6, 0x2f, 0xaf, 0x17, 0x96, 0x5a, 0xcb, 0x6d, 0x1a, + 0x36, 0xc7, 0x08, 0xe6, 0x62, 0xfc, 0x8e, 0xc5, 0x4f, 0x0e, 0xb3, 0x46, 0x4b, 0x18, 0x88, 0xc9, + 0xd3, 0x75, 0x9b, 0xba, 0x49, 0xe5, 0x0d, 0x34, 0xf0, 0x9f, 0x49, 0x8b, 0x1f, 0xb7, 0x76, 0x3b, + 0xa8, 0x3d, 0x97, 0x71, 0xff, 0x4b, 0xe0, 0x16, 0x93, 0xc2, 0x4d, 0x20, 0x74, 0x20, 0xa4, 0x4b, + 0xbf, 0xcb, 0x7d, 0x18, 0x39, 0x4f, 0xfa, 0x8a, 0xd0, 0x31, 0x4f, 0x95, 0xd8, 0xad, 0xd5, 0x4f, + 0xf4, 0x82, 0xed, 0x4d, 0x3c, 0x91, 0x69, 0x1b, 0xf7, 0xe3, 0x2b, 0x49, 0x5b, 0xe8, 0x96, 0xc1, + 0x92, 0x50, 0xa8, 0x17, 0x2d, 0xb6, 0x93, 0x24, 0xd0, 0x67, 0x68, 0x3a, 0x8f, 0xc2, 0x19, 0x73, + 0x81, 0x8a, 0xa0, 0x63, 0xd3, 0x70, 0xa4, 0x02, 0xf3, 0xcc, 0xf5, 0xc3, 0xfe, 0x94, 0xce, 0xf6, + 0x15, 0x9e, 0x73, 0x9e, 0x8e, 0xc7, 0x4e, 0x50, 0x8a, 0xe3, 0x79, 0x73, 0xc6, 0x38, 0xb5, 0x11, + 0x84, 0x69, 0xc7, 0xa1, 0xe2, 0x9c, 0x74, 0x96, 0x06, 0xa5, 0x98, 0xf2, 0x01, 0x0e, 0xab, 0xe4, + 0x6d, 0x6f, 0x29, 0xe8, 0xc1, 0xb5, 0x81, 0xbb, 0x82, 0x2b, 0xf9, 0xcf, 0x80, 0x1a, 0xc1, 0xa1, + 0x50, 0x5c, 0x33, 0xfd, 0xfa, 0x8a, 0x47, 0xd3, 0x51, 0x1b, 0x14, 0x75, 0xac, 0xcf, 0xaa, 0xc4, + 0x07, 0xfd, 0x2a, 0xf8, 0xae, 0x2d, 0xe2, 0x18, 0x9e, 0xf9, 0x9d, 0xfe, 0xf3, 0x2a, 0xdc, 0x39, + 0xa0, 0x23, 0x79, 0xa4, 0xf3, 0x09, 0x2b, 0x34, 0x0f, 0x76, 0x47, 0xcc, 0xc8, 0x27, 0x18, 0x0f, + 0x78, 0xfd, 0x9f, 0x63, 0x59, 0x4f, 0x96, 0xd3, 0x34, 0xdc, 0xc1, 0xed, 0xdf, 0x2b, 0xb1, 0xff, + 0xc5, 0x97, 0x65, 0x11, 0xb5, 0xec, 0x08, 0x79, 0x3c, 0x10, 0x6c, 0x8f, 0x70, 0x81, 0xba, 0x3a, + 0x9a, 0x40, 0xb8, 0x9d, 0xd7, 0x2b, 0x68, 0x9f, 0xcf, 0x9f, 0xb5, 0xf3, 0xcb, 0x7c, 0x3c, 0x32, + 0x70, 0xa2, 0x6b, 0x20, 0xf8, 0x31, 0xc3, 0x49, 0x8a, 0xc8, 0xb2, 0x40, 0x9d, 0x7a, 0x8b, 0x9f, + 0x0c, 0x05, 0x8a, 0x93, 0x2f, 0xcf, 0x24, 0x73, 0x88, 0x21, 0x08, 0xe0, 0x0d, 0xef, 0xe3, 0xae, + 0x63, 0xfa, 0xcf, 0x96, 0x0f, 0x12, 0x82, 0x96, 0xe5, 0x42, 0xd9, 0xd3, 0xfe, 0x29, 0x86, 0xb8, + 0x3a, 0xe6, 0xbc, 0x8c, 0x20, 0x75, 0xbb, 0x79, 0xbe, 0xb5, 0x1e, 0x82, 0x55, 0xf5, 0x1d, 0x98, + 0x99, 0xe9, 0x91, 0x3b, 0x2e, 0xf8, 0x73, 0x7e, 0x2c, 0x52, 0x07, 0x73, 0x7b, 0x05, 0xae, 0x82, + 0x69, 0x97, 0x0e, 0x87, 0xd8, 0x52, 0x5d, 0xa4, 0x32, 0xfe, 0x3a, 0x06, 0xf2, 0x1e, 0xe9, 0x56, + 0xc7, 0x4b, 0xb2, 0xfd, 0xc2, 0x7f, 0x99, 0xe9, 0x06, 0x02, 0x61, 0x53, 0x52, 0x07, 0xe0, 0x56, + 0x63, 0xc4, 0x84, 0x4a, 0x1a, 0x02, 0x3c, 0x10, 0xa5, 0x1e, 0xa9, 0xf3, 0x97, 0x21, 0x4a, 0x41, + 0x4c, 0x06, 0xae, 0x2c, 0xd7, 0xd6, 0x33, 0x36, 0xb7, 0x98, 0xf7, 0x95, 0x76, 0x20, 0x0f, 0x7c, + 0xea, 0x6c, 0xa8, 0xf4, 0x8d, 0xe0, 0x42, 0xf8, 0x2c, 0x99, 0xca, 0x5a, 0xdf, 0x30, 0x6e, 0x5c, + 0x8c, 0xf4, 0x0b, 0x33, 0x8a, 0x90, 0x26, 0xf8, 0xc4, 0xcf, 0x22, 0x4e, 0x03, 0xfd, 0xa1, 0x73, + 0x6f, 0x89, 0x39, 0xa3, 0x02, 0x17, 0x29, 0x29, 0xcd, 0xb6, 0xd5, 0xbd, 0xcc, 0xe1, 0x2b, 0x34, + 0xd6, 0x92, 0x0e, 0xd4, 0xe9, 0x81, 0x42, 0xd8, 0x8f, 0xf4, 0x26, 0xfc, 0xf5, 0x75, 0x8f, 0xa1, + 0xb6, 0x06, 0xc0, 0x5c, 0xff, 0x23, 0x24, 0xfb, 0x60, 0xe4, 0x5d, 0xd7, 0x98, 0xb3, 0x70, 0x5e, + 0x32, 0x91, 0xaf, 0x08, 0x0c, 0x94, 0xca, 0x3c, 0x50, 0xdd, 0x01, 0x42, 0x13, 0x14, 0xf6, 0x21, + 0x1d, 0x61, 0x02, 0xe5, 0x3e, 0x61, 0xf3, 0x68, 0xd2, 0x1c, 0xa6, 0xfa, 0xfe, 0xf0, 0x0c, 0xcf, + 0xaa, 0x58, 0x82, 0x56, 0x93, 0xf8, 0xd1, 0xc7, 0x24, 0x06, 0xa2, 0x5a, 0x6f, 0x37, 0xc7, 0xcb, + 0x11, 0x04, 0xc7, 0x2b, 0x3f, 0xd1, 0x13, 0x3c, 0x6f, 0x13, 0x53, 0xf4, 0x3a, 0x92, 0x5a, 0xb4, + 0xb1, 0xd8, 0x43, 0x48, 0x7e, 0xc5, 0xaa, 0xa9, 0xa9, 0xe8, 0x4f, 0xd5, 0x39, 0x3f, 0x7d, 0x51, + 0xaf, 0xe2, 0x7f, 0xf2, 0xc1, 0x23, 0x5c, 0x8a, 0x0a, 0x74, 0xe8, 0x74, 0xc2, 0xa4, 0xb8, 0x18, + 0xf4, 0x98, 0x99, 0x4b, 0xdf, 0x2a, 0x20, 0x34, 0x4c, 0xd5, 0x79, 0xa2, 0x83, 0xdb, 0x51, 0x8a, + 0x72, 0x0a, 0x7b, 0x4c, 0x0f, 0x51, 0x04, 0x1b, 0x3b, 0x9d, 0x04, 0x06, 0x2c, 0x1c, 0x53, 0xa2, + 0x43, 0xc3, 0xc6, 0x2b, 0xa4, 0x2e, 0x55, 0x1d, 0x61, 0xc7, 0x60, 0x98, 0x70, 0xd9, 0x6b, 0x5c, + 0x44, 0xe7, 0x0d, 0xdb, 0xa0, 0x7e, 0xde, 0x8c, 0x35, 0x19, 0x07, 0x92, 0xfe, 0x38, 0x19, 0x5a, + 0x20, 0xd0, 0x80, 0x82, 0x8d, 0x49, 0x8b, 0x4a, 0x2b, 0xbf, 0x72, 0x1e, 0xde, 0xa7, 0x5d, 0xda, + 0xdf, 0xfb, 0x4e, 0x86, 0x11, 0x26, 0x20, 0x57, 0x82, 0x7e, 0xeb, 0x3d, 0x52, 0x08, 0xec, 0xfa, + 0x85, 0x35, 0x00, 0xca, 0x80, 0xde, 0x1d, 0x4b, 0x3c, 0x43, 0x4e, 0x33, 0x0b, 0x28, 0x6d, 0x80, + 0xbf, 0x51, 0x50, 0x98, 0x11, 0xba, 0xa8, 0xc2, 0xff, 0xde, 0x14, 0x25, 0xfe, 0x6f, 0x20, 0xaa, + 0xc4, 0xee, 0xef, 0x48, 0x88, 0x5e, 0xab, 0x97, 0x61, 0x23, 0x61, 0x9a, 0x94, 0xf4, 0xf4, 0x64, + 0xb3, 0x05, 0x75, 0x69, 0x02, 0xd3, 0xd6, 0x0f, 0x11, 0xbc, 0xcc, 0x76, 0xef, 0x12, 0x23, 0x06, + 0x6c, 0xe9, 0x1e, 0x43, 0xa0, 0x62, 0x4e, 0xe9, 0xd8, 0x57, 0x81, 0xd5, 0x50, 0x8d, 0xa8, 0x5b, + 0xda, 0x86, 0x82, 0xb8, 0x1d, 0x0d, 0x72, 0xaf, 0x91, 0x51, 0xd8, 0xba, 0x9a, 0x1b, 0xe3, 0xf0, + 0x01, 0x3a, 0xb2, 0x19, 0xaa, 0xfd, 0x09, 0xe8, 0xcc, 0x8f, 0x6b, 0x47, 0x07, 0xb2, 0x55, 0x6a, + 0x4f, 0xa9, 0x64, 0x2a, 0xce, 0x08, 0xff, 0x44, 0xeb, 0x96, 0x07, 0xc3, 0xa2, 0xe1, 0x49, 0xce, + 0xe6, 0xcd, 0xbe, 0xdb, 0x87, 0xe7, 0x97, 0xe9, 0xab, 0x4d, 0x0a, 0x1d, 0xbf, 0xc2, 0x03, 0x1a, + 0xa1, 0xb1, 0x40, 0x6f, 0xa1, 0x73, 0xc0, 0xe8, 0x3d, 0x96, 0x47, 0xa6, 0x56, 0xab, 0x95, 0x40, + 0xca, 0x75, 0x00, 0x06, 0x38, 0x54, 0xf7, 0x40, 0x96, 0x8b, 0xea, 0x4a, 0x18, 0x8d, 0x91, 0x8b, + 0x3b, 0xf5, 0xd2, 0xf7, 0x2e, 0xd9, 0x93, 0x73, 0xa6, 0x55, 0xdd, 0xf0, 0x85, 0x70, 0x97, 0x17, + 0x49, 0x7c, 0x4b, 0x3b, 0x70, 0xba, 0x39, 0x9a, 0x8d, 0xc3, 0x0d, 0x53, 0xaa, 0x4f, 0xab, 0x5d, + 0x9c, 0x55, 0x98, 0xc5, 0xae, 0xb1, 0x01, 0xc1, 0x6b, 0xba, 0xa3, 0x38, 0xb5, 0xfb, 0x78, 0xa5, + 0x21, 0xbb, 0x0f, 0x0a, 0x6e, 0x71, 0xe1, 0xfe, 0xf7, 0x76, 0x49, 0x2a, 0xf6, 0x44, 0xcd, 0x6e, + 0x00, 0xb9, 0xae, 0x0f, 0x95, 0xf0, 0x43, 0x63, 0x4d, 0x06, 0x7b, 0xc4, 0x63, 0x06, 0x3e, 0x6d, + 0x86, 0x8a, 0xfb, 0x9f, 0xd0, 0x6b, 0x96, 0x8b, 0x2b, 0x56, 0xe4, 0xf3, 0x65, 0xdf, 0xb9, 0x68, + 0xd4, 0xf5, 0x18, 0x1e, 0x44, 0xeb, 0xfc, 0xc1, 0x5c, 0xea, 0x68, 0xaf, 0xee, 0xda, 0xd7, 0xa7, + 0x82, 0x1e, 0x45, 0x05, 0x98, 0x3e, 0x05, 0x81, 0x08, 0x2b, 0x1c, 0xdd, 0x5c, 0xe9, 0x6a, 0x5f, + 0xb4, 0xb4, 0xba, 0x44, 0x8b, 0x0b, 0x47, 0x50, 0x21, 0x97, 0xfc, 0x80, 0x8b, 0xe6, 0xf8, 0xd6, + 0xb1, 0x72, 0xf1, 0x1b, 0x41, 0x9e, 0x66, 0xe9, 0xe7, 0xe9, 0x5a, 0xc2, 0x43, 0x4f, 0x6e, 0x87, + 0x86, 0xf7, 0x2b, 0xab, 0x52, 0x99, 0xf9, 0x20, 0x09, 0x13, 0x4a, 0xcf, 0xb8, 0x63, 0xb8, 0x3c, + 0xf6, 0x09, 0x54, 0x3a, 0x1c, 0x1d, 0x97, 0x42, 0x75, 0xe9, 0x34, 0x66, 0xfb, 0xf9, 0xf2, 0xae, + 0x3b, 0x18, 0x69, 0x69, 0x2d, 0x7b, 0x7f, 0xaa, 0x32, 0x87, 0x90, 0x08, 0x11, 0x30, 0x92, 0x74, + 0x07, 0x1b, 0x24, 0x63, 0xb1, 0xd0, 0xa4, 0x29, 0xea, 0x2c, 0xfc, 0xd0, 0xc6, 0xd4, 0x3d, 0x66, + 0x49, 0x03, 0xf8, 0x9d, 0x8f, 0x52, 0x76, 0x2a, 0x35, 0xa2, 0x61, 0x1e, 0x3e, 0x9d, 0xca, 0x4d, + 0x46, 0x53, 0x06, 0xd6, 0x1d, 0xb5, 0xc3, 0x24, 0x17, 0x92, 0xdd, 0x17, 0x6f, 0xaf, 0xed, 0x01, + 0x9a, 0x03, 0x98, 0x7b, 0xbf, 0x0e, 0xad, 0xc4, 0xfe, 0xd2, 0xdc, 0xe6, 0xa3, 0x7c, 0x50, 0x67, + 0x0d, 0x10, 0xaf, 0x5e, 0xc6, 0xf2, 0xd2, 0xfe, 0x02, 0x0b, 0xdd, 0xee, 0x41, 0xa2, 0x5d, 0x23, + 0xb8, 0x3f, 0x50, 0xd4, 0xa5, 0x0b, 0x52, 0x88, 0x1e, 0xed, 0x28, 0xbf, 0x1c, 0x56, 0xbc, 0x20, + 0x64, 0x4b, 0xfa, 0xa4, 0x4e, 0x06, 0xbe, 0x18, 0xed, 0x81, 0xd7, 0x90, 0x91, 0xaf, 0x6a, 0xaf, + 0x27, 0xce, 0xfc, 0x59, 0xfe, 0x5b, 0x69, 0x5f, 0x06, 0x55, 0xac, 0x78, 0x69, 0xa4, 0x5c, 0x90, + 0x9f, 0x95, 0xce, 0x30, 0xe0, 0x85, 0x30, 0xdf, 0x7d, 0xe6, 0x46, 0x9f, 0x05, 0x80, 0x2d, 0x24, + 0x64, 0x55, 0x12, 0x13, 0xe6, 0x65, 0x02, 0x04, 0x52, 0x20, 0x94, 0x0f, 0x82, 0xcc, 0x53, 0x34, + 0xab, 0xf3, 0x68, 0x6e, 0x65, 0x1b, 0x42, 0x4f, 0xea, 0x1c, 0x05, 0xba, 0x6a, 0x0e, 0xe3, 0x42, + 0x8b, 0x51, 0xe0, 0x42, 0xd0, 0x33, 0xf3, 0x67, 0x76, 0xeb, 0x68, 0x78, 0x65, 0x24, 0x4f, 0x4e, + 0x47, 0x0c, 0x18, 0x92, 0x40, 0x70, 0xe1, 0x4d, 0x02, 0xa7, 0xe3, 0xc2, 0xe3, 0x54, 0x4d, 0xaf, + 0x8a, 0x6e, 0x26, 0x4d, 0x9f, 0xfe, 0x00, 0xe1, 0xbe, 0x9a, 0x27, 0x49, 0xe1, 0xb1, 0xce, 0xf8, + 0xbd, 0xf0, 0x1d, 0x05, 0x62, 0xae, 0x79, 0x97, 0xb5, 0xa6, 0x4e, 0x20, 0xc9, 0xd7, 0x69, 0xcb, + 0x42, 0x07, 0x00, 0x26, 0x3e, 0x58, 0x76, 0x59, 0x2d, 0xe8, 0x08, 0xda, 0x85, 0x37, 0x5f, 0x39, + 0xea, 0xee, 0xa5, 0x5a, 0xf1, 0x87, 0x34, 0xdd, 0xd8, 0x32, 0xc7, 0x92, 0xdb, 0x54, 0xea, 0xdf, + 0x7e, 0x4b, 0x42, 0x9f, 0xb0, 0xa9, 0x58, 0x54, 0xa1, 0xfd, 0x42, 0xff, 0x04, 0x77, 0xbb, 0xa9, + 0x71, 0x1c, 0xe0, 0xde, 0x58, 0xae, 0x56, 0x8a, 0xe5, 0x9c, 0x51, 0x92, 0x11, 0x74, 0x3e, 0x98, + 0xb3, 0xa3, 0xf7, 0x33, 0x7a, 0x26, 0xa5, 0x0a, 0x31, 0x4a, 0x35, 0xb9, 0xcf, 0x23, 0x2e, 0x08, + 0x21, 0x75, 0x8d, 0x1b, 0x6b, 0x89, 0x7d, 0x72, 0x92, 0xbc, 0xb0, 0xe0, 0x3c, 0xfc, 0x00, 0xf6, + 0x2d, 0x31, 0x41, 0x03, 0x49, 0x2c, 0xb2, 0xb8, 0xa9, 0x8a, 0xa3, 0xed, 0x54, 0xd7, 0x06, 0x2b, + 0xf6, 0x2c, 0x7b, 0xf8, 0x0d, 0x25, 0x2d, 0x43, 0x7c, 0x2f, 0x77, 0xaa, 0x8b, 0xaa, 0x0c, 0xa3, + 0xec, 0x4a, 0xe0, 0x59, 0x75, 0xc9, 0xba, 0xa1, 0xfe, 0x58, 0x68, 0x66, 0x01, 0xed, 0x0e, 0xea, + 0x6f, 0xc2, 0x0e, 0x5a, 0xd0, 0xc4, 0xca, 0xdb, 0xf3, 0xa9, 0x4a, 0x83, 0x1e, 0x73, 0x06, 0xcb, + 0x8a, 0x42, 0x51, 0xd6, 0xef, 0x24, 0xfe, 0x82, 0x17, 0x7d, 0x98, 0x31, 0x71, 0xf9, 0xc4, 0x46, + 0x36, 0x79, 0x09, 0xdb, 0x4a, 0x8b, 0x8f, 0x86, 0x40, 0x00, 0x11, 0xac, 0xe8, 0x56, 0x99, 0xdd, + 0xe7, 0x7e, 0x7b, 0xdd, 0x8d, 0x23, 0xe0, 0x0b, 0x30, 0xe8, 0x77, 0x21, 0xa4, 0xc1, 0x7c, 0x79, + 0x9e, 0x90, 0x73, 0x86, 0x90, 0xf0, 0xb7, 0x25, 0x40, 0x98, 0x73, 0xa6, 0xc0, 0x9c, 0x12, 0xe9, + 0xe4, 0x8c, 0x57, 0x5f, 0xe0, 0x34, 0x69, 0xfe, 0x98, 0x4e, 0xdd, 0x6c, 0xf2, 0x0e, 0x11, 0x47, + 0xab, 0xdd, 0xa9, 0x01, 0x1a, 0x97, 0x02, 0xba, 0xb3, 0x18, 0x2f, 0xa1, 0x8f, 0xbf, 0x51, 0xbd, + 0x96, 0x07, 0x17, 0x7d, 0x1b, 0x13, 0x47, 0xdc, 0xfb, 0x29, 0x52, 0xab, 0xb8, 0x78, 0xd5, 0xc1, + 0x35, 0x47, 0x42, 0x57, 0xd8, 0xb6, 0xa3, 0x9c, 0xba, 0xdf, 0x5d, 0x63, 0x7b, 0xea, 0xc1, 0xd3, + 0xd0, 0xe7, 0xc2, 0x3a, 0x38, 0xf4, 0x54, 0xc2, 0x88, 0xbd, 0xf1, 0x68, 0x1b, 0x3e, 0xdc, 0x1b, + 0x3b, 0x20, 0x25, 0x77, 0x8a, 0x31, 0x21, 0xf4, 0x51, 0x35, 0x1e, 0x10, 0xbb, 0xf4, 0x51, 0xb3, + 0x36, 0x41, 0xc6, 0x93, 0xba, 0x0f, 0x93, 0xd6, 0x89, 0x48, 0x7f, 0x6d, 0xfa, 0xa5, 0xc8, 0xd4, + 0x45, 0x61, 0x60, 0x5d, 0x42, 0xab, 0x5b, 0x9f, 0x05, 0x0c, 0x96, 0xe7, 0xf8, 0xbe, 0x98, 0x6b, + 0x9b, 0x9e, 0xc8, 0xb7, 0xd3, 0x14, 0x41, 0x3c, 0x7f, 0xce, 0x9c, 0xb0, 0x7a, 0x6d, 0xfb, 0xd3, + 0xab, 0x05, 0x46, 0x30, 0xf5, 0xde, 0x1e, 0x72, 0x9a, 0xb4, 0xd1, 0x0a, 0x2e, 0x8a, 0x29, 0x86, + 0x0f, 0x5f, 0xcb, 0x9d, 0x11, 0x8e, 0x98, 0x10, 0xa3, 0x16, 0x0c, 0x0e, 0x8d, 0x39, 0x43, 0x03, + 0x7a, 0x10, 0xed, 0xe1, 0x96, 0x91, 0x81, 0x9b, 0x7c, 0xd8, 0x6a, 0xaa, 0x1c, 0x0e, 0xc9, 0x11, + 0x8e, 0xe0, 0x57, 0x96, 0x2c, 0x97, 0x60, 0x99, 0x16, 0xb7, 0xe2, 0x50, 0x55, 0x83, 0x74, 0xad, + 0xe0, 0x50, 0xcf, 0x84, 0x0e, 0x31, 0xd1, 0x86, 0x7a, 0x87, 0x29, 0xf8, 0xec, 0xf5, 0x19, 0xe9, + 0x0d, 0xc7, 0x3e, 0x0f, 0x5e, 0x89, 0x2f, 0x33, 0xf7, 0x78, 0x6d, 0xcb, 0x43, 0x8b, 0xe6, 0x23, + 0xa4, 0x90, 0x54, 0xc5, 0x97, 0x2c, 0xac, 0x6e, 0x28, 0xb2, 0x16, 0xfc, 0xbf, 0x68, 0xef, 0xbd, + 0x77, 0xf3, 0xeb, 0x9f, 0xd4, 0x81, 0xb1, 0x43, 0x98, 0x2c, 0xec, 0xa4, 0x4d, 0xb1, 0x0e, 0x0f, + 0xd9, 0x2f, 0x97, 0x3b, 0xa8, 0x23, 0x8c, 0x22, 0x0e, 0xd8, 0x3a, 0xbf, 0x9d, 0xa5, 0x60, 0x3e, + 0x27, 0xee, 0x4e, 0xb4, 0xd7, 0xa2, 0x4f, 0xa1, 0xcb, 0x36, 0x3a, 0x47, 0xfe, 0x66, 0x7f, 0x47, + 0xfb, 0x44, 0x1e, 0x57, 0xe7, 0xbc, 0x42, 0xda, 0xf9, 0x7e, 0xfa, 0x4c, 0x0a, 0xca, 0x3c, 0x4b, + 0x39, 0x46, 0x17, 0x92, 0xca, 0x84, 0xe1, 0xc4, 0xb9, 0x55, 0x5b, 0xee, 0x19, 0x61, 0x50, 0x90, + 0x5e, 0xf2, 0xae, 0xec, 0x5d, 0xad, 0x38, 0x4a, 0x46, 0xd1, 0xcf, 0xdb, 0x47, 0x14, 0xd5, 0x33, + 0x82, 0x9f, 0x00, 0x9a, 0x51, 0xb9, 0x12, 0x67, 0xc8, 0x3f, 0x53, 0x2d, 0xa6, 0xa9, 0x37, 0xe3, + 0x92, 0x03, 0xf1, 0xa9, 0x04, 0xc3, 0xb4, 0x9c, 0x06, 0x14, 0x61, 0x16, 0xb6, 0x56, 0x53, 0xce, + 0x73, 0xe4, 0x5b, 0xbe, 0xf4, 0x38, 0x22, 0x4e, 0x83, 0x93, 0x31, 0xa5, 0x9a, 0x93, 0xc9, 0xa8, + 0x40, 0x39, 0xcd, 0xac, 0x75, 0x44, 0xd6, 0x12, 0x8d, 0x1e, 0x15, 0xec, 0xa7, 0x94, 0x2e, 0xf7, + 0x6e, 0x1e, 0xa8, 0x8c, 0x1b, 0x3b, 0xfa, 0x93, 0x4c, 0x5f, 0x1e, 0xce, 0x1d, 0x68, 0x85, 0x59, + 0x2a, 0xec, 0x89, 0x3b, 0x78, 0x1a, 0xed, 0x6f, 0x56, 0x3a, 0xbe, 0x2d, 0xe9, 0x23, 0x2a, 0x86, + 0xb5, 0x3e, 0x2b, 0xa4, 0x25, 0x81, 0x6b, 0xd7, 0x41, 0x3a, 0x84, 0xa1, 0x6b, 0xa8, 0xe1, 0xe4, + 0x0f, 0x8c, 0x53, 0x3f, 0x78, 0x80, 0x84, 0x7c, 0xcd, 0x6d, 0x4b, 0xe9, 0x0c, 0x23, 0xd0, 0xe8, + 0x30, 0x20, 0xba, 0x15, 0x08, 0xe9, 0x7c, 0xf9, 0x52, 0x11, 0x01, 0xc8, 0x05, 0x05, 0x54, 0xf5, + 0xa8, 0x79, 0x9b, 0x43, 0xb6, 0xc1, 0x73, 0xb1, 0x9c, 0x3d, 0x15, 0xfc, 0x28, 0xd8, 0xbd, 0xb3, + 0x2a, 0x1c, 0xe7, 0x83, 0xf9, 0xda, 0x97, 0xd9, 0xfd, 0xff, 0xf2, 0xd7, 0xbf, 0xa9, 0x5e, 0x22, + 0x83, 0x0a, 0x3f, 0x80, 0x0b, 0x92, 0xe3, 0x1e, 0xfb, 0xf3, 0x5a, 0xf2, 0x7f, 0x7d, 0x80, 0x7b, + 0xcf, 0x80, 0x81, 0xe6, 0xb9, 0x48, 0x5f, 0x3b, 0xb6, 0xba, 0x21, 0xb0, 0xfb, 0x47, 0x5c, 0x23, + 0x6f, 0x33, 0xb0, 0x90, 0xf2, 0x50, 0x8b, 0xfe, 0x92, 0xd5, 0xca, 0xed, 0xf8, 0x04, 0xd3, 0x07, + 0x8e, 0xfd, 0x6f, 0x45, 0x2f, 0x4c, 0xb6, 0x38, 0x16, 0xf2, 0x54, 0xf0, 0xa6, 0x23, 0x70, 0x5f, + 0xef, 0x1c, 0x48, 0xf3, 0xa0, 0x4a, 0xe7, 0xf5, 0x8b, 0x4a, 0x77, 0xce, 0x03, 0x97, 0x40, 0xd4, + 0x1c, 0xd5, 0xe1, 0x6e, 0xf1, 0x9e, 0x1a, 0x86, 0x0b, 0x4d, 0x91, 0xb5, 0x24, 0xed, 0x26, 0x0d, + 0x40, 0x50, 0x38, 0x7b, 0xc4, 0xd4, 0x92, 0x9f, 0x4e, 0x4b, 0xcb, 0xa0, 0xaa, 0x3b, 0xbd, 0x0a, + 0x63, 0xd7, 0x8a, 0x2d, 0x82, 0x0e, 0x0f, 0xe0, 0x86, 0xd4, 0xce, 0xe7, 0x9d, 0x2c, 0x01, 0xed, + 0x11, 0x98, 0x63, 0x83, 0x8a, 0xc8, 0xbc, 0x22, 0x4d, 0xa0, 0x48, 0x9b, 0x36, 0x79, 0x1a, 0xba, + 0x4c, 0xf0, 0xd5, 0xd7, 0x30, 0x81, 0x5f, 0x46, 0xa1, 0xcf, 0x86, 0x21, 0x4c, 0x11, 0x1e, 0x41, + 0x41, 0x8c, 0x27, 0xc3, 0xa9, 0x7f, 0xfd, 0xc5, 0x67, 0x8a, 0x41, 0xfe, 0x5d, 0x4e, 0xf5, 0x8a, + 0x59, 0xe4, 0x56, 0x12, 0x2a, 0x76, 0x89, 0x13, 0x55, 0x95, 0x80, 0x09, 0xd3, 0xd0, 0xe0, 0x52, + 0x5c, 0x08, 0x3f, 0xbf, 0xd5, 0xc7, 0x9b, 0xbb, 0x96, 0x27, 0xef, 0x9b, 0x9c, 0x93, 0x1c, 0xf8, + 0x58, 0xdf, 0x80, 0x81, 0xe6, 0x19, 0xfe, 0x82, 0x47, 0xcd, 0xf7, 0x40, 0xaa, 0x8b, 0xee, 0xe0, + 0xe1, 0xf6, 0xc9, 0x23, 0x58, 0xf8, 0xef, 0x7f, 0xfc, 0x8d, 0x1b, 0x39, 0xf7, 0x1a, 0x20, 0x75, + 0x5b, 0x78, 0x2d, 0xd7, 0x98, 0x93, 0x14, 0x2f, 0x0b, 0xc5, 0x78, 0xc6, 0x30, 0x1b, 0x12, 0x4f, + 0x7c, 0xbf, 0x1a, 0x68, 0x4d, 0xcd, 0xab, 0xbf, 0xc5, 0xcf, 0x6d, 0x0d, 0xea, 0x9e, 0x0e, 0x8c, + 0xad, 0x03, 0x15, 0x15, 0xc7, 0x55, 0x5d, 0xea, 0x75, 0x54, 0x83, 0xdc, 0xf7, 0x10, 0x27, 0xbf, + 0x0c, 0x9d, 0xaf, 0x58, 0xc4, 0x44, 0x79, 0x20, 0xe9, 0x27, 0x91, 0x44, 0x41, 0x64, 0x6f, 0xba, + 0x24, 0x8b, 0xca, 0xb4, 0x52, 0x22, 0xdd, 0xdb, 0x94, 0x0e, 0xdb, 0x48, 0x4f, 0x99, 0x5b, 0x44, + 0xec, 0x4c, 0x9d, 0x89, 0xe3, 0xb8, 0x5c, 0xf9, 0xa5, 0x45, 0xf4, 0x76, 0x55, 0x36, 0xbf, 0x08, + 0xdd, 0x3e, 0xdf, 0x3e, 0xb9, 0x74, 0x31, 0x71, 0xf8, 0x8b, 0x5a, 0xc8, 0xb2, 0x67, 0x4e, 0x20, + 0x2d, 0x5b, 0x35, 0x86, 0xf0, 0x9e, 0x12, 0x38, 0xf7, 0xc9, 0x4b, 0x5c, 0x33, 0x93, 0x7f, 0x65, + 0x40, 0x51, 0x64, 0x9e, 0xaf, 0x9f, 0x4c, 0x99, 0xb3, 0xdd, 0x17, 0x1c, 0x5b, 0x31, 0xce, 0x8b, + 0x0e, 0x42, 0x70, 0xed, 0x45, 0x01, 0x82, 0xe8, 0x30, 0x81, 0x6a, 0x5b, 0x0a, 0x1d, 0xc2, 0xc5, + 0xbc, 0xd3, 0x88, 0xee, 0x39, 0x0a, 0xae, 0xa2, 0xca, 0xa3, 0x83, 0x80, 0xbb, 0x0d, 0x0b, 0xf9, + 0xf9, 0x85, 0xed, 0x92, 0xb8, 0x79, 0x2c, 0xe6, 0x1f, 0x04, 0x53, 0xee, 0xd8, 0xbb, 0x7b, 0x29, + 0x0f, 0x08, 0x41, 0x6f, 0x37, 0x9e, 0xa8, 0x9f, 0xab, 0xc3, 0xc9, 0xf5, 0xe0, 0x3e, 0x05, 0x66, + 0xe0, 0xf4, 0x4d, 0xb8, 0x02, 0xa5, 0xcb, 0xe9, 0x99, 0xf5, 0xe7, 0xf5, 0x32, 0x34, 0xd6, 0x66, + 0xda, 0x3d, 0xa2, 0xc7, 0x95, 0xf8, 0x6f, 0xc3, 0xe9, 0xcb, 0x9c, 0x98, 0xa2, 0x08, 0xc7, 0xe4, + 0x6f, 0x11, 0x6b, 0xb3, 0xa3, 0xb1, 0x63, 0x2b, 0xd5, 0x29, 0x10, 0x7a, 0x77, 0x97, 0xb6, 0x19, + 0xde, 0x9c, 0x07, 0xa5, 0x6c, 0x81, 0x17, 0xd4, 0x10, 0x1b, 0x4a, 0xb6, 0xbc, 0x44, 0xe1, 0x8b, + 0x29, 0x05, 0x30, 0x62, 0xe1, 0x0c, 0xc2, 0x00, 0x3f, 0x70, 0xd7, 0x09, 0xe4, 0xeb, 0x97, 0x2b, + 0x18, 0xcf, 0xf1, 0x74, 0x1c, 0xd3, 0xdf, 0x91, 0x9c, 0xf3, 0x48, 0x72, 0xe9, 0x6a, 0xf9, 0xd7, + 0xd6, 0xbb, 0x55, 0x7d, 0xfe, 0x2c, 0xcb, 0xe4, 0x54, 0x2b, 0xd9, 0xce, 0xc7, 0xbe, 0x5e, 0xbe, + 0xd4, 0xfd, 0x40, 0x48, 0x79, 0xec, 0x19, 0xe5, 0x0b, 0xb5, 0xb2, 0x9a, 0xb7, 0xad, 0x5e, 0x35, + 0x19, 0x07, 0xd9, 0xca, 0xfc, 0xf2, 0x0a, 0x9d, 0x82, 0x40, 0x5c, 0x23, 0xdb, 0x3a, 0xb2, 0x0e, + 0x6b, 0x4e, 0x78, 0xe4, 0xe8, 0xe1, 0xfa, 0x8b, 0x19, 0x49, 0x12, 0x14, 0x9d, 0x07, 0x5b, 0xee, + 0x60, 0x81, 0x6e, 0xd0, 0x79, 0xc3, 0xd9, 0xdd, 0x46, 0x3c, 0x21, 0xcd, 0x09, 0x7a, 0x41, 0x71, + 0x22, 0x95, 0x36, 0x3d, 0xf5, 0x84, 0xb2, 0xe1, 0xa0, 0xed, 0xa4, 0xb3, 0x7c, 0x60, 0x9f, 0x66, + 0xf4, 0x8e, 0x73, 0x08, 0xcc, 0x76, 0xf1, 0x03, 0x16, 0x03, 0x26, 0x49, 0x6a, 0xd2, 0x36, 0xd5, + 0xdb, 0xbf, 0xaa, 0x11, 0x48, 0x91, 0x27, 0x51, 0x5c, 0x26, 0x85, 0x83, 0xb0, 0xf3, 0xb6, 0x97, + 0x5f, 0x2a, 0x71, 0xc8, 0x5b, 0x1d, 0x21, 0xcf, 0xeb, 0x05, 0xc8, 0x32, 0x4d, 0xb2, 0x7d, 0x18, + 0xe6, 0x5c, 0xbe, 0xa3, 0x9e, 0x4a, 0x7d, 0xe3, 0x91, 0xfd, 0x69, 0x5d, 0xd4, 0xf6, 0xc3, 0x07, + 0xb0, 0x6f, 0xdb, 0xba, 0xaa, 0xd2, 0x52, 0x61, 0x7a, 0xd8, 0x55, 0x69, 0xf7, 0x81, 0xbd, 0x80, + 0xd6, 0xf9, 0xce, 0x42, 0x1b, 0x5d, 0x17, 0x26, 0xac, 0x8c, 0xa3, 0xa8, 0xc7, 0x0d, 0xa6, 0xc2, + 0xdc, 0x8e, 0xd0, 0xdb, 0xe1, 0x67, 0x13, 0x68, 0x89, 0x6d, 0x85, 0xd7, 0xac, 0x76, 0xec, 0x11, + 0xb6, 0x71, 0x42, 0xba, 0x6c, 0x27, 0x3d, 0x6b, 0xa4, 0x5d, 0xa6, 0x53, 0xd7, 0x90, 0x05, 0x9a, + 0xbc, 0xec, 0x9e, 0xf3, 0xe5, 0x4e, 0x1e, 0xb2, 0x53, 0x12, 0xa9, 0xf0, 0x78, 0x0b, 0x0d, 0x6e, + 0xfc, 0x81, 0x0e, 0xf5, 0x41, 0xea, 0x45, 0x95, 0x8c, 0xf7, 0x4b, 0xf5, 0x96, 0x66, 0xfd, 0x18, + 0x56, 0x5e, 0x39, 0xbd, 0xe6, 0x06, 0x63, 0x49, 0x38, 0x71, 0x64, 0x26, 0xa1, 0x41, 0x42, 0xb7, + 0x49, 0x28, 0x77, 0xe4, 0x2f, 0x38, 0x1b, 0x3e, 0x14, 0x86, 0xa6, 0xb4, 0xd7, 0x98, 0xc6, 0xad, + 0x9b, 0xaf, 0xda, 0x02, 0xee, 0x77, 0xbb, 0x33, 0x11, 0x06, 0x40, 0xc0, 0xb6, 0xf9, 0x9e, 0xaa, + 0x2f, 0x58, 0x1a, 0xe1, 0x41, 0x86, 0xfe, 0x3e, 0x51, 0xfc, 0xa3, 0x60, 0x36, 0xd3, 0x5f, 0x15, + 0xe1, 0x3d, 0x04, 0xa0, 0xad, 0x12, 0xa2, 0xcd, 0x62, 0x10, 0xaf, 0x5b, 0x69, 0xe8, 0xf3, 0x14, + 0x50, 0x55, 0x02, 0x3e, 0x1a, 0x1d, 0x70, 0x7c, 0x9f, 0x2b, 0x15, 0xf4, 0x08, 0x3f, 0xaf, 0x5b, + 0x34, 0xb5, 0x8c, 0xe5, 0x3b, 0x18, 0x02, 0x6c, 0xab, 0xb4, 0x6b, 0x11, 0x87, 0x44, 0x6c, 0xc5, + 0xa4, 0xfc, 0x00, 0x2e, 0x58, 0xbd, 0x01, 0x53, 0xe0, 0x90, 0x65, 0x28, 0x89, 0xd4, 0x73, 0x54, + 0x2b, 0xb5, 0x33, 0x87, 0x7e, 0x50, 0x12, 0x4c, 0xff, 0x07, 0x69, 0xc9, 0x0f, 0x6e, 0x5a, 0xda, + 0xdd, 0x69, 0xfb, 0xcd, 0xf1, 0x08, 0x0d, 0xc9, 0x90, 0x51, 0xbd, 0x19, 0xe0, 0x00, 0x3e, 0xa7, + 0xf1, 0xe8, 0x0d, 0x27, 0x13, 0xb1, 0xce, 0x19, 0x6e, 0x48, 0x4b, 0x52, 0x5b, 0x76, 0x2a, 0xb3, + 0xd3, 0x50, 0x32, 0x55, 0x9c, 0x7b, 0xaf, 0x49, 0x0e, 0x2d, 0xfb, 0x86, 0x89, 0xb6, 0x87, 0xfc, + 0xef, 0x76, 0xe6, 0xb1, 0x30, 0x25, 0x86, 0xb2, 0x3f, 0x53, 0x71, 0x70, 0x52, 0x3a, 0x5a, 0x31, + 0x30, 0xfc, 0xd5, 0xa6, 0xd9, 0xe3, 0xdd, 0x28, 0xc8, 0x01, 0xf4, 0x3b, 0xcc, 0xab, 0xdf, 0x97, + 0x5c, 0x1b, 0x52, 0xa0, 0xb9, 0x00, 0x54, 0xa5, 0x5a, 0xd0, 0xf8, 0x66, 0x6f, 0xa1, 0x44, 0xfb, + 0x0c, 0xac, 0x37, 0x61, 0xc8, 0x66, 0x99, 0x2e, 0x2a, 0x05, 0x08, 0x7b, 0x2e, 0x27, 0xc3, 0xb6, + 0x78, 0x3f, 0xcd, 0xc7, 0xed, 0x1d, 0x31, 0x4e, 0xb3, 0xdc, 0xbe, 0x38, 0x1c, 0xc4, 0x8f, 0x93, + 0x0e, 0x8b, 0x16, 0xb2, 0x4e, 0x79, 0x2a, 0x3d, 0x69, 0xc6, 0x82, 0x3d, 0x12, 0xe3, 0x8a, 0xcd, + 0xa7, 0x3a, 0xb1, 0x9e, 0x74, 0xe4, 0x98, 0x11, 0xb2, 0x3a, 0x72, 0x8b, 0x64, 0xe2, 0x3a, 0x74, + 0x8d, 0x2a, 0x25, 0x57, 0x91, 0x54, 0x9b, 0x41, 0xe0, 0x85, 0x32, 0xd0, 0x27, 0xd9, 0xb3, 0xa1, + 0xc7, 0x0f, 0xf2, 0x64, 0x1c, 0xa9, 0xbc, 0x3e, 0x80, 0x78, 0x04, 0x36, 0xe7, 0x06, 0xc2, 0xd6, + 0x83, 0xae, 0x40, 0x7d, 0x69, 0x8b, 0xa4, 0x99, 0x26, 0xd6, 0x67, 0x81, 0xca, 0x7e, 0xb2, 0x1d, + 0xb3, 0xe1, 0x05, 0x67, 0x1b, 0xf5, 0x37, 0x81, 0x30, 0x7e, 0xdf, 0x95, 0x73, 0xea, 0x58, 0x2f, + 0x26, 0x1d, 0xfc, 0xba, 0x81, 0xdc, 0x2d, 0xf8, 0x15, 0xa9, 0xc5, 0xae, 0x74, 0x28, 0x6a, 0xd6, + 0x53, 0x69, 0x98, 0xda, 0x06, 0x7c, 0x28, 0x62, 0xdf, 0xb7, 0xe0, 0x41, 0x6d, 0x1c, 0xd1, 0xfc, + 0x60, 0xfd, 0x24, 0xb1, 0xa0, 0xbc, 0x8c, 0x4b, 0xf3, 0xaf, 0x0f, 0x56, 0x80, 0x86, 0x65, 0xb4, + 0x25, 0x1e, 0xb7, 0x5d, 0xbf, 0xce, 0x4e, 0xf6, 0x28, 0x77, 0x08, 0x54, 0x1d, 0xd6, 0xea, 0x16, + 0x78, 0x33, 0x86, 0x1f, 0xf9, 0x48, 0xfa, 0xd8, 0xbc, 0x45, 0x29, 0x68, 0xc6, 0xb5, 0x10, 0x92, + 0x16, 0xca, 0x86, 0x27, 0x8c, 0x6e, 0x47, 0xda, 0x8d, 0x58, 0xba, 0x1f, 0xe4, 0x9d, 0x04, 0x44, + 0x73, 0xa2, 0x05, 0x78, 0x6f, 0x03, 0x03, 0xaa, 0x0a, 0x02, 0x10, 0x0f, 0xc3, 0x90, 0x86, 0xf9, + 0x9c, 0x07, 0xa6, 0x6f, 0x5d, 0x6a, 0x9a, 0xee, 0x45, 0x7f, 0xbe, 0xb1, 0x3b, 0xba, 0x08, 0x9e, + 0xb2, 0xbb, 0x67, 0x04, 0xdc, 0xb8, 0x99, 0x42, 0x4d, 0x0e, 0x6a, 0x43, 0xe2, 0x48, 0x1f, 0x7c, + 0x38, 0x07, 0xad, 0x05, 0x23, 0x4d, 0xa0, 0x13, 0x9f, 0xe0, 0x12, 0x13, 0x0a, 0x2d, 0x1c, 0xda, + 0xf6, 0x10, 0xf6, 0x35, 0xb8, 0x02, 0x8b, 0xde, 0x75, 0xd7, 0x26, 0xa0, 0x08, 0x99, 0x0d, 0x02, + 0x72, 0x55, 0x99, 0x65, 0x8c, 0x3b, 0xce, 0xd6, 0xa0, 0x06, 0xfe, 0xb4, 0x0e, 0x07, 0xf2, 0x9a, + 0x5c, 0x1a, 0x77, 0x47, 0xd0, 0x1c, 0x25, 0x41, 0x63, 0xfe, 0x55, 0x73, 0x09, 0x5b, 0x53, 0x6c, + 0xe2, 0x2a, 0xc4, 0x44, 0x6f, 0x5e, 0xcb, 0xfc, 0xab, 0xf7, 0x8e, 0xc7, 0x38, 0x93, 0x97, 0xab, + 0x19, 0xa2, 0x91, 0x3b, 0x61, 0xbe, 0x02, 0x73, 0x59, 0x4a, 0x61, 0x22, 0x6e, 0x22, 0x50, 0x13, + 0xf9, 0x3f, 0xc1, 0x8e, 0x62, 0xed, 0x36, 0x0e, 0x91, 0xea, 0xec, 0x2d, 0x9c, 0xfd, 0x39, 0xc1, + 0xe5, 0x3d, 0xb0, 0x7e, 0x51, 0xbf, 0x9f, 0x52, 0x9a, 0x1a, 0x95, 0xdc, 0x0b, 0x4c, 0x8e, 0x57, + 0x57, 0x0f, 0xcb, 0xcb, 0x0a, 0x52, 0x52, 0xc0, 0x18, 0xbf, 0x7c, 0x52, 0xa8, 0x3e, 0xd0, 0x6a, + 0xcd, 0xc3, 0x84, 0x74, 0xbe, 0x93, 0xe4, 0x0c, 0x31, 0xab, 0xd1, 0xec, 0xb7, 0x90, 0x0f, 0x20, + 0x9d, 0x36, 0xa9, 0x3b, 0xf9, 0x41, 0x2c, 0x03, 0xe7, 0xe7, 0x2c, 0x1f, 0x6f, 0x87, 0x01, 0x62, + 0x68, 0xe5, 0x39, 0x9c, 0x3f, 0x8d, 0xb9, 0x5f, 0x9d, 0x8f, 0x35, 0x70, 0x37, 0x64, 0xc1, 0xc5, + 0x02, 0x5a, 0xb3, 0x5c, 0x58, 0x56, 0xcd, 0x7e, 0xb6, 0xd7, 0x38, 0x4c, 0xd5, 0x9c, 0x2f, 0x35, + 0xeb, 0x94, 0x5b, 0x82, 0x82, 0x71, 0xba, 0x2f, 0x05, 0xac, 0xe8, 0x73, 0xed, 0x3e, 0x9e, 0x5b, + 0xe1, 0x76, 0x1a, 0xc3, 0x9d, 0x94, 0xdc, 0xfd, 0x4e, 0x55, 0x2b, 0x44, 0xd6, 0xf4, 0x44, 0xdf, + 0xb9, 0xb4, 0xa6, 0xa7, 0xe7, 0x35, 0x15, 0x08, 0xcf, 0xfb, 0xcd, 0xc0, 0x22, 0x92, 0x7f, 0x1a, + 0xd3, 0xb3, 0x13, 0xb0, 0x6b, 0x2d, 0x23, 0x85, 0xc6, 0xe2, 0xf2, 0xca, 0x12, 0x88, 0x56, 0x49, + 0xf9, 0x98, 0x62, 0x40, 0x3c, 0xd5, 0x56, 0xcf, 0x25, 0x74, 0xa5, 0x49, 0x4f, 0x9f, 0x46, 0x63, + 0x1d, 0xce, 0x50, 0xe2, 0x75, 0x2f, 0x68, 0xe9, 0x44, 0x12, 0x9f, 0x54, 0xcc, 0xd3, 0xc9, 0x73, + 0x3b, 0xbc, 0x28, 0x45, 0x67, 0x06, 0xf1, 0x40, 0xfb, 0xb7, 0x30, 0x1f, 0x5f, 0xea, 0x27, 0x46, + 0x3c, 0x04, 0x85, 0xa3, 0x5a, 0x5b, 0x15, 0x4f, 0x03, 0x83, 0x56, 0x8a, 0xc6, 0x37, 0x72, 0x22, + 0xd3, 0xc4, 0x43, 0x1f, 0xc8, 0xcb, 0xc6, 0xdb, 0xb7, 0xf5, 0x44, 0x3c, 0x95, 0xb5, 0xd7, 0xad, + 0x08, 0xd0, 0xc6, 0xc7, 0xe8, 0x48, 0x30, 0x0d, 0xe8, 0x49, 0x65, 0x96, 0xbb, 0x79, 0x3b, 0x96, + 0xf1, 0x83, 0x4e, 0x75, 0xf6, 0xe4, 0xc0, 0x55, 0x09, 0x77, 0x2f, 0x5b, 0xce, 0x6c, 0xd1, 0x78, + 0x50, 0x97, 0xd1, 0x52, 0x66, 0x91, 0x1f, 0xa0, 0xba, 0xb8, 0xbd, 0x74, 0x64, 0x8b, 0x16, 0x37, + 0x79, 0x2e, 0x34, 0x0b, 0xf6, 0x99, 0x00, 0x0c, 0xd4, 0x66, 0xc0, 0xc3, 0xae, 0xf9, 0x38, 0xb2, + 0x47, 0x8a, 0x31, 0x3a, 0x1c, 0x5d, 0xfe, 0x55, 0x61, 0xc5, 0x86, 0x64, 0x13, 0xc1, 0x95, 0xf3, + 0x3a, 0xc0, 0xef, 0x28, 0x7b, 0x52, 0xf2, 0x76, 0x97, 0x6a, 0xb3, 0x17, 0xb1, 0xac, 0xbe, 0xba, + 0xc2, 0xec, 0xc3, 0xf9, 0x2e, 0x56, 0x80, 0x74, 0x34, 0x68, 0x68, 0x11, 0x1b, 0xec, 0xc9, 0x51, + 0x7b, 0x12, 0x49, 0x81, 0x15, 0x8b, 0x50, 0xb0, 0x88, 0x1c, 0x6a, 0x03, 0xb4, 0x30, 0x83, 0x02, + 0x8e, 0x98, 0x19, 0x42, 0xa1, 0xf6, 0x63, 0xad, 0xcd, 0x88, 0x6d, 0x79, 0x49, 0xc2, 0xb7, 0x8e, + 0xb8, 0x0c, 0x90, 0x31, 0xfe, 0xa0, 0xb0, 0xb6, 0xfa, 0x95, 0x63, 0x31, 0x35, 0x25, 0x0a, 0x1a, + 0x32, 0x28, 0xac, 0x91, 0x30, 0xba, 0x6e, 0xb7, 0x91, 0x12, 0xdc, 0x88, 0x2d, 0x4f, 0x8c, 0x49, + 0x3a, 0xb2, 0x49, 0xf4, 0xeb, 0xdc, 0x81, 0xc9, 0x30, 0xb1, 0x55, 0xbd, 0x75, 0x8a, 0xfc, 0x1d, + 0x55, 0xd2, 0x12, 0x2b, 0x20, 0x7f, 0xb8, 0xbe, 0xa5, 0x2d, 0x01, 0xf9, 0x55, 0xfb, 0xb2, 0x92, + 0xec, 0xf2, 0x92, 0xab, 0x11, 0xe9, 0xbe, 0xb6, 0x42, 0xab, 0xe8, 0x90, 0xec, 0x57, 0x1e, 0x4b, + 0x82, 0x6e, 0xdc, 0x19, 0xae, 0xbd, 0xb3, 0x1a, 0x37, 0xdd, 0x30, 0x05, 0x26, 0xd0, 0x2b, 0x02, + 0xb8, 0x3d, 0x78, 0x8b, 0x5c, 0xcc, 0xa4, 0xe6, 0xdf, 0x11, 0x53, 0x13, 0x51, 0x24, 0x61, 0x4f, + 0x7e, 0x19, 0x47, 0x71, 0xe5, 0x87, 0x29, 0xca, 0xc9, 0x80, 0xf2, 0x05, 0x8c, 0xbd, 0x78, 0x12, + 0x56, 0x2e, 0x00, 0xa9, 0x4f, 0x63, 0x5e, 0x6c, 0x8d, 0x3c, 0xa3, 0x4e, 0xe4, 0x96, 0x8c, 0xcb, + 0x31, 0xcc, 0x8d, 0x0a, 0xb2, 0x30, 0x59, 0x69, 0xfd, 0xfe, 0x66, 0x82, 0xd9, 0x4a, 0xf3, 0x95, + 0x3d, 0xed, 0x1f, 0x07, 0xa3, 0xf0, 0xf7, 0x38, 0x64, 0xc3, 0xc2, 0x2a, 0xc4, 0xd3, 0x82, 0x49, + 0xd4, 0x06, 0x78, 0xed, 0xc8, 0xc3, 0x41, 0x8d, 0x54, 0x9b, 0xc5, 0x1b, 0x7a, 0xfd, 0x49, 0x5f, + 0xc1, 0xc7, 0x28, 0xa8, 0x1e, 0x15, 0x7a, 0xb3, 0xa5, 0xbf, 0x27, 0x13, 0x16, 0xe5, 0x36, 0xe5, + 0xdc, 0x8c, 0x49, 0xf1, 0x41, 0x30, 0x0f, 0x14, 0xeb, 0xd3, 0xe0, 0x74, 0xe3, 0x9e, 0xbe, 0x96, + 0xc8, 0xc2, 0x06, 0x30, 0xc9, 0xdf, 0xf6, 0x39, 0xaa, 0x84, 0x33, 0x5d, 0x4f, 0xa5, 0xa8, 0x57, + 0x21, 0x8d, 0x28, 0x4e, 0x98, 0x74, 0x6a, 0x7e, 0x7e, 0x67, 0xee, 0xdc, 0x3c, 0x7d, 0x64, 0xfc, + 0xfb, 0x67, 0xf4, 0x69, 0x91, 0x11, 0x52, 0xc4, 0xd8, 0xd3, 0x80, 0x4f, 0x52, 0x01, 0x0f, 0xdf, + 0x1c, 0x91, 0x46, 0xed, 0x71, 0xee, 0x26, 0xf2, 0x46, 0x72, 0x7a, 0xa6, 0xd7, 0x13, 0x17, 0xd1, + 0xe7, 0xfc, 0xa6, 0x50, 0xee, 0x9f, 0xfe, 0x16, 0x3a, 0xf1, 0x0a, 0xd2, 0xa0, 0xcb, 0x18, 0x32, + 0xb5, 0x7b, 0x2e, 0xb1, 0xbe, 0x0e, 0xaa, 0xd2, 0x56, 0x00, 0xd3, 0xc6, 0x72, 0x21, 0xc8, 0x48, + 0x2e, 0x98, 0xe1, 0x98, 0xa8, 0x08, 0x9a, 0xff, 0xd2, 0x01, 0x2c, 0x40, 0x0d, 0xf1, 0x76, 0xe4, + 0x7c, 0x35, 0x39, 0xbd, 0x5f, 0x20, 0x92, 0x39, 0xe1, 0xf3, 0xd9, 0x2a, 0x6f, 0xe5, 0xf2, 0x04, + 0xb3, 0x82, 0x77, 0xce, 0x7f, 0xea, 0x22, 0xae, 0xfa, 0xc4, 0x35, 0x41, 0x28, 0xe7, 0x89, 0x45, + 0xd6, 0x7a, 0x9b, 0x20, 0xb4, 0x52, 0xf0, 0x1f, 0x56, 0x6a, 0xa4, 0x71, 0xf5, 0xa4, 0x38, 0x7e, + 0x9c, 0x75, 0xc6, 0x8a, 0xa3, 0x3b, 0xb5, 0xa8, 0xcf, 0x49, 0x0f, 0x58, 0x41, 0x45, 0x14, 0xd0, + 0x6e, 0x8f, 0x11, 0xd0, 0x95, 0x18, 0xff, 0xa1, 0xe1, 0x79, 0xf1, 0x6b, 0x4a, 0x70, 0xe8, 0xc5, + 0x61, 0x15, 0x0d, 0xd6, 0xb4, 0x7d, 0x63, 0x3f, 0x3f, 0xb7, 0x5d, 0x44, 0xa3, 0x8b, 0x2a, 0x0d, + 0x8d, 0x57, 0x40, 0x46, 0x29, 0x7c, 0x63, 0xf7, 0xa1, 0xa0, 0xfe, 0xee, 0xa8, 0x2e, 0x83, 0xe7, + 0x70, 0x0d, 0x82, 0x74, 0xdd, 0x40, 0x13, 0xc6, 0x93, 0xe7, 0xfc, 0x0e, 0x59, 0xff, 0xeb, 0xe6, + 0xbb, 0x53, 0xe2, 0x1e, 0xb8, 0xad, 0x27, 0x6a, 0xc5, 0x4e, 0xb4, 0xd8, 0x90, 0x28, 0xb3, 0x08, + 0xa7, 0x44, 0x33, 0x7c, 0xe9, 0xe5, 0x10, 0x36, 0xf4, 0x89, 0x3a, 0xa6, 0x82, 0xf3, 0x8f, 0xfe, + 0x4f, 0x54, 0x29, 0x5d, 0x86, 0x5f, 0x84, 0x2d, 0xb1, 0x84, 0xfc, 0xd2, 0x5d, 0x94, 0x74, 0x54, + 0xfa, 0x37, 0x5f, 0x39, 0x5c, 0x99, 0xa4, 0x8e, 0x43, 0xa6, 0x98, 0x9d, 0xec, 0xba, 0xef, 0xdc, + 0x59, 0x9d, 0xcd, 0x8e, 0xdd, 0xf4, 0x3e, 0x0f, 0x5c, 0x04, 0xaf, 0x2a, 0x45, 0x99, 0x81, 0x24, + 0x55, 0x91, 0x4a, 0x30, 0x86, 0x43, 0xe5, 0x04, 0x0e, 0x43, 0xc8, 0x18, 0xa8, 0x3e, 0x19, 0x4a, + 0xcb, 0x82, 0xdd, 0x3a, 0x64, 0x04, 0x1e, 0xa1, 0x37, 0x53, 0x75, 0xd1, 0x2d, 0x2a, 0x05, 0xc2, + 0x46, 0x87, 0xd3, 0xb3, 0x33, 0x95, 0xa7, 0x88, 0x51, 0x93, 0xe5, 0x77, 0xdc, 0xa4, 0x93, 0xf8, + 0x77, 0xda, 0x03, 0xcd, 0x55, 0xb3, 0xdd, 0x09, 0xc2, 0x3f, 0x5d, 0x7c, 0xf4, 0x07, 0x1f, 0xdc, + 0x9b, 0x05, 0xbd, 0xe2, 0x37, 0xde, 0x3f, 0x5b, 0x76, 0xc0, 0x53, 0x0e, 0x20, 0xb1, 0x6c, 0xb0, + 0x77, 0x41, 0x55, 0x60, 0x6a, 0x06, 0xa4, 0x22, 0xd9, 0xd6, 0xa7, 0xc5, 0xac, 0xea, 0x92, 0xdc, + 0x3d, 0xfc, 0x88, 0x4a, 0x91, 0x5e, 0xda, 0x06, 0x15, 0xa8, 0x24, 0x3f, 0x65, 0x47, 0xc0, 0xe5, + 0xe7, 0xd1, 0x69, 0x0c, 0x9f, 0xb6, 0x73, 0x59, 0xe0, 0x8f, 0xa5, 0x91, 0x0a, 0x87, 0x99, 0x4c, + 0x09, 0x20, 0x09, 0x5b, 0x93, 0xe2, 0x57, 0x37, 0x15, 0x56, 0xd2, 0x9a, 0xa2, 0x48, 0xcd, 0xd1, + 0xa9, 0x9e, 0x43, 0xdf, 0x70, 0x6b, 0x86, 0xa8, 0x69, 0x61, 0xbd, 0x3d, 0x70, 0x14, 0x81, 0x2c, + 0x59, 0x32, 0x9f, 0x94, 0x3b, 0x14, 0x1a, 0x62, 0xb7, 0x49, 0x29, 0xbd, 0x55, 0x1c, 0x4d, 0x54, + 0x01, 0xa3, 0x6b, 0x5d, 0xd7, 0x43, 0xc7, 0x3d, 0x1f, 0xb0, 0x1f, 0xf2, 0x40, 0x53, 0x90, 0x08, + 0x0a, 0x61, 0x79, 0xbf, 0x86, 0xf8, 0x68, 0x8c, 0xf7, 0x0e, 0x64, 0x98, 0x93, 0x2a, 0x5e, 0xeb, + 0x5e, 0x61, 0x87, 0x01, 0x69, 0x83, 0x54, 0xaf, 0xae, 0xa4, 0x07, 0x5b, 0x5f, 0x26, 0xf2, 0xe5, + 0xcc, 0x94, 0xc4, 0x50, 0x14, 0x9a, 0x60, 0x89, 0xb4, 0x03, 0xb0, 0x79, 0x12, 0x19, 0x16, 0x60, + 0xe3, 0x68, 0x30, 0xe4, 0x35, 0x08, 0x7b, 0xa6, 0x30, 0xf7, 0xac, 0x40, 0x6d, 0x90, 0xc9, 0x79, + 0x63, 0x25, 0x3a, 0x88, 0xbe, 0x7e, 0x7b, 0x10, 0xd1, 0x55, 0xf4, 0x44, 0x3f, 0x96, 0x7e, 0xbb, + 0xee, 0xc3, 0x04, 0x5b, 0xae, 0x26, 0x41, 0x48, 0xd4, 0x8a, 0x67, 0x8c, 0xe2, 0xd3, 0x83, 0xcc, + 0x29, 0x12, 0x14, 0x00, 0x4a, 0xcc, 0x57, 0xfd, 0x15, 0x7f, 0x52, 0x97, 0xbd, 0x9f, 0x67, 0xb1, + 0x23, 0x24, 0xd9, 0x11, 0x83, 0x7c, 0x61, 0xb5, 0xab, 0x80, 0xb7, 0xca, 0x6a, 0x38, 0xfe, 0x45, + 0xcc, 0xc4, 0xf3, 0xb2, 0x2b, 0x13, 0x62, 0x0f, 0x8d, 0xc7, 0x17, 0xd5, 0x71, 0x8d, 0xd8, 0x74, + 0x23, 0x26, 0x1f, 0xa2, 0x91, 0x2d, 0x42, 0xab, 0x94, 0x25, 0x07, 0x25, 0x22, 0x37, 0x3a, 0x10, + 0x10, 0x9a, 0xc4, 0x09, 0x09, 0x29, 0x86, 0xed, 0xbf, 0x53, 0x10, 0xc1, 0x35, 0x55, 0x63, 0xef, + 0x72, 0x2b, 0x2e, 0x71, 0xae, 0x64, 0x11, 0x3d, 0xf2, 0x3f, 0x94, 0xff, 0xfe, 0x34, 0x66, 0x14, + 0x9c, 0x71, 0x37, 0x2f, 0xb9, 0x6c, 0x08, 0x38, 0x0a, 0xb6, 0xa0, 0x4c, 0x23, 0x17, 0xcd, 0xcf, + 0x1c, 0xac, 0xc3, 0x94, 0x8f, 0xb5, 0x0c, 0x38, 0xcf, 0x49, 0xe6, 0x9d, 0x38, 0xcc, 0xf7, 0xaf, + 0xa1, 0xf6, 0x7c, 0x64, 0x07, 0xbf, 0x70, 0x53, 0xfa, 0x00, 0x7f, 0x24, 0xe9, 0x24, 0x2a, 0x02, + 0x46, 0xcb, 0xcf, 0x87, 0x70, 0x88, 0x4d, 0x75, 0xb2, 0x2a, 0xfd, 0x22, 0x0c, 0x74, 0xcd, 0x94, + 0x1d, 0x38, 0x6d, 0x48, 0x1a, 0x0b, 0x63, 0x56, 0x91, 0x04, 0x73, 0xdf, 0xb5, 0x12, 0x68, 0x7a, + 0x56, 0xfb, 0xe4, 0x20, 0x19, 0x9a, 0xbc, 0x0d, 0x82, 0xd5, 0x6f, 0xb3, 0x76, 0xaf, 0x1f, 0x68, + 0xa9, 0x4f, 0x01, 0xe3, 0xac, 0xc9, 0xbe, 0xc1, 0xe7, 0x55, 0x0c, 0x77, 0x00, 0x7d, 0xf3, 0x73, + 0x7c, 0x5f, 0x73, 0x51, 0x82, 0xf5, 0xb2, 0x3b, 0x58, 0xf4, 0xde, 0xff, 0x9f, 0xb8, 0xe2, 0xdb, + 0x34, 0x97, 0xa8, 0xea, 0xb9, 0xda, 0xfa, 0xc4, 0xdc, 0x1f, 0x60, 0x6b, 0xeb, 0x08, 0xa6, 0x5f, + 0xad, 0x16, 0x41, 0xe4, 0x2c, 0xed, 0x67, 0x25, 0x19, 0xe7, 0x1a, 0x21, 0x8a, 0x44, 0xb1, 0x2e, + 0xfd, 0x5d, 0x8e, 0x9a, 0xfb, 0xc1, 0xbd, 0xfa, 0x2a, 0xd3, 0x97, 0xf3, 0x17, 0xb5, 0x00, 0x44, + 0x3a, 0x55, 0x44, 0x34, 0x16, 0xa4, 0xa5, 0x21, 0xd1, 0xd6, 0x00, 0xb5, 0xda, 0x56, 0x53, 0xdd, + 0xfc, 0x82, 0xa2, 0x4e, 0x57, 0x58, 0xe8, 0x27, 0x49, 0xcb, 0xd3, 0xc0, 0x6d, 0x1e, 0x15, 0xce, + 0x41, 0xc1, 0x1f, 0xe7, 0xf7, 0xa1, 0x1b, 0xc2, 0x3f, 0xd5, 0x67, 0xea, 0xb1, 0xa4, 0xf6, 0x3c, + 0xb4, 0x57, 0x88, 0xe2, 0x6c, 0x6a, 0x1a, 0xd5, 0xe7, 0x1a, 0x87, 0xe8, 0xc7, 0x83, 0x31, 0x3a, + 0xf0, 0x6d, 0x63, 0x48, 0x4e, 0x9c, 0xac, 0x3a, 0xff, 0x7b, 0xbd, 0x2b, 0xd1, 0x3a, 0xd2, 0xd6, + 0x4f, 0xb3, 0x0b, 0x33, 0x0d, 0xf1, 0x58, 0xfc, 0x8f, 0x6c, 0x20, 0x46, 0xef, 0xd3, 0x4c, 0xbb, + 0x20, 0x17, 0x19, 0x65, 0x31, 0x84, 0x76, 0x8c, 0x6d, 0xb3, 0xd1, 0x32, 0x35, 0x6a, 0x95, 0xf0, + 0x30, 0x14, 0xb0, 0xc2, 0xb6, 0x35, 0x77, 0x6f, 0x4d, 0xa2, 0x1d, 0x70, 0xb6, 0x6a, 0xa2, 0x57, + 0xe1, 0xeb, 0xef, 0x34, 0xf4, 0x62, 0x95, 0xf7, 0xa5, 0x5b, 0x2f, 0xc8, 0x68, 0x85, 0xdf, 0x8a, + 0x56, 0x26, 0x53, 0x0f, 0xdb, 0x83, 0xb5, 0x25, 0x65, 0xfd, 0xdb, 0x12, 0xa2, 0x70, 0x5a, 0x9c, + 0xff, 0x0a, 0x10, 0xb1, 0x18, 0xf8, 0x14, 0xef, 0xf2, 0x9c, 0x7b, 0xc8, 0x47, 0xc3, 0xfa, 0x44, + 0x33, 0x2c, 0xcc, 0x53, 0xd4, 0x05, 0x98, 0x52, 0xac, 0x2a, 0xda, 0xab, 0x23, 0xf6, 0xb1, 0xa8, + 0x1b, 0xe1, 0x0e, 0x79, 0x08, 0xeb, 0x8d, 0xa8, 0x7c, 0x1d, 0xa0, 0x51, 0x5a, 0xd0, 0x55, 0xe8, + 0xe1, 0x08, 0x5e, 0x29, 0x7e, 0xc1, 0x1a, 0x43, 0x01, 0xff, 0x81, 0x8f, 0xa8, 0x8a, 0x93, 0xb1, + 0xcf, 0xd0, 0x45, 0x63, 0x2e, 0xdb, 0xec, 0x8b, 0x9d, 0x25, 0x4b, 0x25, 0xac, 0x6f, 0x47, 0x59, + 0x76, 0xbd, 0x6f, 0x7e, 0xa0, 0xd1, 0x2c, 0xbf, 0x05, 0x51, 0x43, 0x6a, 0x5f, 0xa8, 0x91, 0xc2, + 0x70, 0xed, 0x45, 0x45, 0x82, 0x59, 0x97, 0xb9, 0x49, 0x7b, 0x59, 0x46, 0xef, 0x06, 0x85, 0x93, + 0xd5, 0xf1, 0x81, 0x91, 0x0c, 0xd8, 0xa9, 0x1b, 0x4c, 0xab, 0x2d, 0xad, 0x52, 0xfb, 0x79, 0xf9, + 0x07, 0x71, 0xba, 0x5f, 0x98, 0xde, 0xbd, 0xd4, 0x3c, 0x6e, 0x0e, 0x9b, 0x58, 0xe2, 0x2e, 0xd1, + 0xe6, 0xfc, 0x51, 0x78, 0x1c, 0x13, 0x21, 0x4d, 0xdd, 0x38, 0xf4, 0x53, 0xa6, 0x5a, 0x49, 0x73, + 0xbd, 0x53, 0xd7, 0x92, 0xbc, 0xfd, 0xc1, 0x1e, 0x3d, 0x09, 0x17, 0x7e, 0x17, 0x8e, 0x2a, 0x62, + 0xe1, 0x67, 0x02, 0x2e, 0x29, 0x0f, 0xd8, 0x1e, 0x13, 0x53, 0xce, 0x16, 0x62, 0xc5, 0x2a, 0xc7, + 0xf3, 0x34, 0xf5, 0x7c, 0x49, 0xa0, 0x6e, 0x23, 0x06, 0xa6, 0xc1, 0xca, 0x5e, 0x8a, 0x67, 0x4e, + 0x74, 0x6f, 0xb5, 0x49, 0xe7, 0x80, 0x43, 0xdd, 0xec, 0x58, 0x98, 0x75, 0x41, 0x56, 0x1e, 0xbf, + 0x56, 0x6e, 0x71, 0xee, 0xa4, 0x3e, 0xd1, 0x64, 0xaa, 0x43, 0x6e, 0xfb, 0x61, 0x52, 0xf5, 0x2f, + 0x42, 0x6a, 0xb4, 0x7d, 0x1e, 0x63, 0xd9, 0x72, 0x73, 0x67, 0xa8, 0x58, 0x78, 0x49, 0xc5, 0x83, + 0xae, 0x57, 0x31, 0xeb, 0x3a, 0x9e, 0xe7, 0x1d, 0xd9, 0x5f, 0xac, 0x43, 0x49, 0x83, 0x5b, 0x7d, + 0x37, 0x7c, 0x8c, 0x80, 0x34, 0xa5, 0xcb, 0xbf, 0xd3, 0xef, 0xb9, 0xb8, 0xa3, 0x68, 0x54, 0x23, + 0xb0, 0x9e, 0xb4, 0xa8, 0xde, 0xe6, 0x48, 0x3a, 0xb5, 0x8c, 0x4b, 0x5c, 0x55, 0x3f, 0x8d, 0x10, + 0xf6, 0xad, 0x17, 0xb4, 0xb4, 0x44, 0x04, 0xbe, 0xca, 0x51, 0x5b, 0xc8, 0xce, 0x10, 0x5a, 0x7f, + 0xa8, 0x00, 0xa3, 0xe6, 0xf8, 0x6a, 0xba, 0xc1, 0x1a, 0x79, 0xe2, 0x9b, 0xfd, 0x6d, 0x67, 0xba, + 0xb7, 0x28, 0xae, 0xfd, 0xd0, 0xfe, 0xb2, 0xb6, 0x09, 0x69, 0xc2, 0xba, 0x0c, 0xe0, 0xe7, 0x8b, + 0x55, 0xa4, 0x98, 0x96, 0xd5, 0x2b, 0x7b, 0x65, 0xce, 0xad, 0xed, 0x60, 0x43, 0x4a, 0xc5, 0x47, + 0xd9, 0xda, 0xc8, 0x6c, 0x8f, 0x96, 0xc8, 0xbd, 0x39, 0x22, 0xae, 0xc7, 0x7e, 0x20, 0x86, 0xa3, + 0x05, 0xf6, 0xb6, 0x09, 0x11, 0xca, 0x33, 0x18, 0x88, 0x55, 0x5c, 0xfb, 0x07, 0xbb, 0x38, 0x29, + 0x41, 0x67, 0xc2, 0x52, 0xbe, 0xca, 0x7f, 0x74, 0x7c, 0x37, 0xef, 0x03, 0x44, 0xc2, 0x88, 0xca, + 0x54, 0x63, 0x49, 0xd5, 0xca, 0x17, 0xe5, 0x5b, 0x96, 0xd3, 0xa9, 0x6d, 0x8b, 0x96, 0x33, 0x71, + 0x0a, 0x79, 0xff, 0xd0, 0xb5, 0xa4, 0x1f, 0x50, 0xcc, 0x08, 0xb5, 0xfd, 0x8b, 0xc6, 0xe6, 0x1f, + 0xcd, 0xbb, 0x6e, 0x24, 0xfa, 0x20, 0xcc, 0x64, 0x1e, 0xa0, 0xe5, 0x7c, 0x6d, 0x40, 0x0e, 0xb7, + 0x0d, 0x3c, 0xa6, 0xd5, 0x6e, 0x6f, 0xaa, 0xe9, 0x08, 0x85, 0xd3, 0x7b, 0x3f, 0x07, 0x3c, 0x40, + 0x2e, 0x0a, 0xca, 0x23, 0x41, 0x0c, 0xa3, 0x38, 0x15, 0x83, 0x21, 0x92, 0x3d, 0x49, 0x97, 0x88, + 0xb6, 0xfa, 0xed, 0xcd, 0x28, 0xdf, 0x34, 0xc3, 0xe7, 0x28, 0x18, 0x07, 0x6f, 0x72, 0x41, 0xc6, + 0x40, 0xd3, 0x15, 0x26, 0x96, 0xe1, 0xcd, 0x0e, 0xbe, 0xac, 0x52, 0x67, 0x9d, 0xe7, 0x69, 0x46, + 0x68, 0x67, 0x50, 0x8c, 0x08, 0x10, 0xbe, 0xab, 0x2d, 0xa4, 0xaf, 0xa7, 0x5f, 0xdf, 0x14, 0x51, + 0x3b, 0xb6, 0x96, 0xc8, 0xdd, 0x5c, 0xc8, 0xf5, 0x13, 0x15, 0x1e, 0xc3, 0x73, 0x80, 0x53, 0x84, + 0x05, 0x47, 0x9e, 0xc6, 0x58, 0xe4, 0x45, 0x03, 0x8d, 0xbe, 0x3d, 0x1a, 0x89, 0x1c, 0xe3, 0xe9, + 0x18, 0xb2, 0xbb, 0x38, 0x0b, 0x7f, 0xcf, 0x2a, 0x03, 0x58, 0x20, 0x2c, 0xd9, 0x0a, 0xf4, 0xe8, + 0x1a, 0xc8, 0xa6, 0xad, 0xb5, 0x64, 0x9b, 0x2c, 0x5e, 0x4c, 0x68, 0xb8, 0x43, 0x4f, 0x96, 0x8d, + 0x0d, 0x6e, 0xbc, 0xf6, 0xe1, 0xfe, 0x6e, 0xbf, 0x20, 0x2e, 0xf1, 0xe1, 0x81, 0x44, 0x62, 0x6a, + 0x33, 0xa5, 0x34, 0x73, 0xf3, 0x73, 0x57, 0x82, 0x8f, 0xe8, 0x34, 0x69, 0xa8, 0x9c, 0xa2, 0x61, + 0x20, 0xb1, 0xba, 0xd1, 0x9c, 0xd6, 0x51, 0x62, 0x2e, 0x69, 0x8b, 0x12, 0xdf, 0x03, 0xd5, 0xc0, + 0x18, 0x47, 0xf3, 0x56, 0x47, 0xe0, 0xe0, 0x65, 0xde, 0x39, 0x1a, 0xf7, 0xd1, 0x85, 0x8d, 0xa9, + 0x3f, 0x30, 0xaa, 0x99, 0x0f, 0xcd, 0x4a, 0xe1, 0x70, 0xfc, 0x5d, 0x08, 0xc2, 0x25, 0x6d, 0xc6, + 0xfa, 0xb8, 0x78, 0x23, 0x07, 0xa9, 0xca, 0xd8, 0x5e, 0x1a, 0x70, 0x03, 0xfd, 0x48, 0x74, 0x3f, + 0x7b, 0x8c, 0xc1, 0x94, 0x5c, 0xf7, 0x1d, 0x83, 0xb0, 0x80, 0x0c, 0x7f, 0x46, 0x18, 0x08, 0x45, + 0xc6, 0xa5, 0xd0, 0xfc, 0x1a, 0x19, 0xf8, 0x2b, 0xca, 0xbe, 0x21, 0x9c, 0x7d, 0x4f, 0x92, 0x75, + 0x17, 0x4f, 0x94, 0xde, 0xdd, 0x00, 0x44, 0x1a, 0x60, 0xbd, 0x86, 0x17, 0x19, 0x5d, 0x68, 0x4b, + 0x67, 0x08, 0xe6, 0x8f, 0xb8, 0x6f, 0x28, 0x81, 0x4e, 0x99, 0x6c, 0x7f, 0x3a, 0x6e, 0x13, 0x08, + 0x39, 0x73, 0x48, 0x9a, 0x4a, 0xe0, 0xb4, 0x54, 0x7d, 0xe6, 0xd7, 0xda, 0x3f, 0x83, 0x0b, 0x8a, + 0x20, 0x6b, 0x74, 0x61, 0x8a, 0x73, 0xc3, 0xf7, 0xd9, 0x81, 0x80, 0x50, 0xee, 0x72, 0x85, 0xf9, + 0x7e, 0x4f, 0x5b, 0x24, 0xac, 0xff, 0x64, 0x05, 0x0e, 0xbc, 0x79, 0xeb, 0xc4, 0x4e, 0x3b, 0x94, + 0xae, 0xbc, 0x05, 0xd5, 0x72, 0x65, 0xb3, 0xed, 0x74, 0x02, 0x54, 0x5f, 0x7e, 0x42, 0xf8, 0x74, + 0xbf, 0x97, 0xe9, 0x10, 0x56, 0xa8, 0xdc, 0x02, 0x9b, 0x7f, 0xdc, 0x12, 0x4d, 0x3c, 0x5a, 0x9d, + 0x4c, 0x54, 0xc3, 0x19, 0xfb, 0xf1, 0x34, 0xe1, 0x69, 0xb1, 0xe5, 0x16, 0x50, 0x79, 0x3d, 0x90, + 0x5c, 0x37, 0xc3, 0x4e, 0xc3, 0x56, 0x98, 0xb3, 0xcb, 0xb3, 0xa4, 0xb8, 0x2f, 0xbc, 0x5f, 0x8d, + 0xc1, 0xc9, 0xc9, 0xca, 0x4b, 0xac, 0x0a, 0x0c, 0x0d, 0x03, 0x7a, 0x97, 0x69, 0x60, 0xe5, 0x2a, + 0xc8, 0x63, 0xc4, 0x6d, 0xc7, 0xf8, 0xfe, 0x2d, 0x24, 0x17, 0xb3, 0x3f, 0x67, 0xe5, 0xc4, 0xec, + 0xd7, 0xf4, 0x06, 0xe8, 0x04, 0x92, 0x4c, 0x79, 0xe2, 0xc9, 0x7f, 0x22, 0xb8, 0x1a, 0x33, 0xe5, + 0x4d, 0x4c, 0x57, 0x2a, 0xb5, 0x30, 0x6b, 0x28, 0x7e, 0xb9, 0x5e, 0x92, 0x0a, 0x4f, 0x83, 0xa9, + 0xde, 0x14, 0xfa, 0x1d, 0x97, 0xf7, 0x71, 0xcc, 0xfa, 0xfa, 0x7d, 0x5d, 0xe4, 0xf8, 0xcf, 0x58, + 0x93, 0x4f, 0x32, 0x37, 0xdb, 0x4d, 0x07, 0xf0, 0x48, 0x59, 0x3a, 0x1c, 0xd8, 0xb8, 0xc5, 0xe8, + 0x0c, 0x0d, 0x5c, 0xf6, 0xd2, 0x39, 0xee, 0x84, 0xe8, 0x29, 0xa6, 0x3b, 0xf8, 0x0a, 0xf2, 0x7a, + 0xfe, 0x07, 0xa0, 0xb5, 0xda, 0xdd, 0xc2, 0x02, 0x4e, 0x60, 0x3a, 0x2f, 0x2a, 0x45, 0x7c, 0x55, + 0xe3, 0x07, 0x06, 0xcc, 0xfd, 0xa9, 0x32, 0x7c, 0x8c, 0x3c, 0xba, 0xe6, 0xf0, 0x9d, 0x05, 0xeb, + 0xd7, 0xf5, 0xdc, 0x8c, 0x45, 0xee, 0x7d, 0xf7, 0xae, 0xa9, 0xde, 0xc3, 0x78, 0x7f, 0xa3, 0x66, + 0xa3, 0x20, 0xba, 0x93, 0x74, 0x05, 0xed, 0xa6, 0xf1, 0xb1, 0xf6, 0xc8, 0x96, 0xf4, 0xaa, 0xcc, + 0x6f, 0xf5, 0x22, 0x91, 0x13, 0xd0, 0xef, 0x43, 0x59, 0x25, 0xaa, 0xdd, 0xb0, 0x48, 0xd6, 0x4b, + 0x2c, 0x10, 0x0a, 0xa1, 0x5a, 0xa4, 0x98, 0xf8, 0x0f, 0x48, 0x8e, 0xd1, 0x24, 0x1e, 0x83, 0xa5, + 0x7d, 0x41, 0x07, 0xd2, 0x71, 0x49, 0x66, 0x9b, 0x1d, 0x80, 0xb0, 0x98, 0xd2, 0x3a, 0xec, 0x06, + 0xea, 0xdc, 0x6f, 0x7c, 0xff, 0x2f, 0x7b, 0xe2, 0xfb, 0xe3, 0xb1, 0x87, 0x18, 0xa1, 0x94, 0xb8, + 0x0d, 0x42, 0xd6, 0x05, 0x98, 0x87, 0xbc, 0x57, 0x23, 0x36, 0x80, 0x45, 0x87, 0x6a, 0x53, 0xe7, + 0xa1, 0x46, 0x11, 0xbb, 0x2b, 0xea, 0xbe, 0xf9, 0xe8, 0x68, 0x18, 0x54, 0x38, 0x99, 0x68, 0x99, + 0x7b, 0x05, 0x4a, 0x45, 0xa1, 0xa3, 0xb7, 0xec, 0x20, 0x5c, 0xf2, 0x36, 0xea, 0x07, 0x07, 0x42, + 0x70, 0x0c, 0xf5, 0x30, 0xd0, 0xaf, 0x8d, 0x0d, 0xa4, 0xc8, 0x65, 0xfd, 0x43, 0x41, 0x14, 0xc0, + 0x6f, 0x86, 0x0d, 0x4b, 0xca, 0x47, 0x7c, 0xc4, 0xec, 0x5e, 0x22, 0x88, 0x5d, 0x23, 0x8a, 0x68, + 0xc7, 0x88, 0x33, 0x5d, 0xc9, 0x9b, 0xdd, 0x23, 0xf8, 0x68, 0x29, 0xf3, 0xa4, 0xb5, 0x31, 0x61, + 0x07, 0x01, 0x7c, 0xca, 0x59, 0xa3, 0xe7, 0x54, 0x03, 0x4e, 0x95, 0x8d, 0xbf, 0x89, 0x0b, 0xf8, + 0xb1, 0x5c, 0x7c, 0xf4, 0x71, 0x91, 0xe0, 0x80, 0x0d, 0xb8, 0x6d, 0xb2, 0x96, 0xdc, 0xa7, 0xa5, + 0x90, 0x42, 0xb6, 0x03, 0xde, 0x17, 0x51, 0xb9, 0xd8, 0x1d, 0x44, 0x4d, 0x90, 0x1a, 0x1b, 0xea, + 0x53, 0xc5, 0xe5, 0x9f, 0xeb, 0x9e, 0x85, 0x06, 0x79, 0x67, 0x2b, 0x39, 0x57, 0xb8, 0x0f, 0x70, + 0xef, 0x17, 0xcb, 0x20, 0xb1, 0x59, 0x72, 0x1a, 0xc1, 0x58, 0x47, 0x96, 0x0b, 0xcb, 0x50, 0x98, + 0xa5, 0xb2, 0x5e, 0x0d, 0xbb, 0xe5, 0x30, 0x0d, 0x17, 0x86, 0x26, 0xea, 0x0b, 0x6b, 0x73, 0x83, + 0x00, 0xdd, 0x7f, 0xae, 0x34, 0x84, 0xe7, 0x45, 0x0d, 0x0e, 0x5f, 0x75, 0x40, 0xe6, 0xb3, 0x98, + 0x35, 0x30, 0xe5, 0x9a, 0x97, 0xfd, 0x58, 0x8e, 0x27, 0x09, 0x89, 0xc3, 0xa5, 0x89, 0xec, 0x4f, + 0x1e, 0xea, 0x2d, 0x58, 0xec, 0x8f, 0x34, 0x6b, 0x91, 0x42, 0xdb, 0xff, 0xef, 0x49, 0xba, 0x83, + 0x00, 0x7f, 0x85, 0xb8, 0x4a, 0xce, 0x9c, 0x55, 0xf9, 0x84, 0x01, 0x86, 0x23, 0x93, 0x7f, 0x97, + 0x9e, 0x21, 0x9c, 0xdb, 0x53, 0xd8, 0xe5, 0x87, 0x30, 0xc8, 0xe3, 0x2e, 0xda, 0x75, 0xd4, 0xec, + 0xe2, 0x4a, 0xd2, 0x68, 0x5c, 0xc7, 0x35, 0x08, 0x77, 0x75, 0x6f, 0x91, 0x85, 0x23, 0x7b, 0x94, + 0xd0, 0x9d, 0x23, 0x9b, 0x35, 0xec, 0x1e, 0x8d, 0x8b, 0x32, 0x47, 0xf7, 0x16, 0x6b, 0x59, 0x8a, + 0x2d, 0x6f, 0xdf, 0x52, 0xee, 0xd3, 0x42, 0x98, 0x58, 0xfb, 0xa2, 0x40, 0xad, 0xbc, 0x78, 0x55, + 0x0f, 0xab, 0xab, 0xf7, 0x53, 0x3a, 0x75, 0xcd, 0xf5, 0x98, 0xa0, 0xca, 0x8c, 0x90, 0x0a, 0x29, + 0xc9, 0xc4, 0xc9, 0x88, 0x83, 0x47, 0x37, 0xea, 0xb6, 0x9d, 0x08, 0xda, 0x60, 0xf7, 0x54, 0x5d, + 0xa8, 0x81, 0x1f, 0x1b, 0x48, 0xb3, 0xe4, 0x4e, 0xde, 0x33, 0xe5, 0x1d, 0x88, 0xf0, 0x46, 0x8c, + 0x8d, 0x3c, 0x57, 0x40, 0x3b, 0x25, 0x43, 0xe6, 0xf3, 0x23, 0x16, 0x46, 0x96, 0x12, 0x8f, 0x55, + 0x53, 0xa2, 0x01, 0x23, 0x14, 0x7e, 0xcf, 0x6d, 0xbe, 0xae, 0xd0, 0xc5, 0x61, 0xea, 0xd2, 0x85, + 0xcd, 0x3c, 0xd7, 0xff, 0x3d, 0x27, 0xe7, 0xca, 0x3b, 0x86, 0x4e, 0xd1, 0x6f, 0x3b, 0x09, 0xdf, + 0x06, 0x60, 0x3d, 0xcb, 0x1b, 0xc5, 0x77, 0xb0, 0x7b, 0xe4, 0x5e, 0x15, 0x6b, 0xb1, 0x17, 0xe3, + 0xd4, 0x21, 0x11, 0x9f, 0x5b, 0x93, 0x68, 0x1e, 0xa2, 0xad, 0x4c, 0xf6, 0xdb, 0x2e, 0xa9, 0x58, + 0x95, 0xef, 0x5b, 0x64, 0xb0, 0x1d, 0x57, 0x7f, 0x53, 0x84, 0xeb, 0xfe, 0xef, 0xe8, 0xce, 0x79, + 0x58, 0x52, 0x0d, 0x4d, 0x33, 0x45, 0x71, 0x70, 0xc5, 0x44, 0x36, 0xfe, 0x7a, 0xd6, 0x5e, 0x13, + 0x2f, 0xd5, 0xc7, 0xf4, 0x45, 0x20, 0xab, 0xae, 0x2c, 0xd8, 0xfa, 0x78, 0xf2, 0x49, 0x82, 0xc9, + 0x11, 0x84, 0x46, 0x79, 0x91, 0x1c, 0xd0, 0xd5, 0x5c, 0x98, 0xf6, 0x62, 0xd2, 0xfc, 0xd4, 0xc4, + 0xc8, 0x5d, 0x0b, 0x08, 0x34, 0xcf, 0x6d, 0xff, 0x46, 0x15, 0x03, 0xf2, 0x22, 0x86, 0xd7, 0x82, + 0xde, 0x71, 0xc0, 0x26, 0xd8, 0x69, 0x07, 0x8c, 0x05, 0x2e, 0x49, 0x2e, 0x8e, 0x74, 0xfb, 0xb3, + 0x20, 0x39, 0xd4, 0xec, 0x68, 0x74, 0x79, 0x49, 0x1d, 0x84, 0x42, 0x26, 0xe5, 0x56, 0x86, 0xe7, + 0xe0, 0x7f, 0x69, 0xf4, 0xcc, 0xf4, 0xca, 0x71, 0x6e, 0xe8, 0x4f, 0x65, 0xca, 0x4b, 0xf2, 0xb8, + 0xd8, 0x98, 0x73, 0xe1, 0x20, 0x55, 0xf9, 0xb9, 0xb8, 0xe9, 0x89, 0x02, 0xd9, 0xc6, 0xf9, 0x2d, + 0xbd, 0x5b, 0xd3, 0x40, 0xa0, 0x5c, 0xe0, 0x3d, 0x14, 0x30, 0x81, 0x9a, 0x12, 0x1e, 0xa2, 0xe8, + 0x22, 0x3b, 0x49, 0x07, 0x34, 0x4d, 0xd2, 0xcf, 0xe0, 0xa2, 0x62, 0xb9, 0x13, 0x71, 0xa9, 0x33, + 0x51, 0x76, 0xa5, 0x37, 0x8a, 0x73, 0xb2, 0xa3, 0xc9, 0x48, 0xa0, 0x38, 0x6d, 0x8c, 0x07, 0x90, + 0xa2, 0x49, 0xbd, 0x3a, 0x47, 0x8b, 0x30, 0x65, 0x3a, 0x68, 0xfc, 0x0b, 0x59, 0xc1, 0xaa, 0x40, + 0xfb, 0x21, 0x84, 0x93, 0x8c, 0x87, 0x19, 0x90, 0x69, 0x42, 0x4e, 0x77, 0x9d, 0xdc, 0xcc, 0x7c, + 0xd7, 0xdf, 0x12, 0x8a, 0x73, 0x69, 0x5c, 0x0a, 0x4c, 0x42, 0x5a, 0x5e, 0xd5, 0x0f, 0x92, 0xf9, + 0x78, 0x50, 0x4d, 0xa5, 0x5a, 0xd4, 0xcc, 0x8e, 0xc1, 0x77, 0x21, 0x05, 0xfc, 0x07, 0x27, 0xf2, + 0x36, 0x46, 0x91, 0x76, 0x27, 0xa9, 0x24, 0x32, 0x15, 0x36, 0x88, 0x3a, 0x72, 0x04, 0xdd, 0x6f, + 0x55, 0x6f, 0xc6, 0x04, 0x14, 0x70, 0x6d, 0xb2, 0x0e, 0x88, 0xca, 0xb7, 0x2d, 0x7e, 0x83, 0xeb, + 0xf7, 0xbb, 0x7d, 0xe7, 0x75, 0xc9, 0x88, 0x94, 0x5b, 0x7a, 0xee, 0x1d, 0x83, 0x25, 0xa3, 0x01, + 0x93, 0xeb, 0x27, 0x2a, 0x7a, 0xbc, 0x52, 0xea, 0x8a, 0xac, 0xbb, 0x38, 0xd3, 0x01, 0x59, 0xb7, + 0xa8, 0xf8, 0xcd, 0xf7, 0x55, 0x63, 0x06, 0x4a, 0x48, 0x69, 0xc6, 0xb7, 0xbe, 0xe0, 0xeb, 0x0d, + 0x5a, 0xa3, 0x03, 0xb6, 0xbf, 0x61, 0xb5, 0xb5, 0x89, 0x22, 0xf3, 0x53, 0x4b, 0xa9, 0xa4, 0x38, + 0xf5, 0x75, 0x87, 0xeb, 0x0e, 0x1a, 0x83, 0xe5, 0x83, 0x54, 0x23, 0x87, 0xae, 0xf7, 0x43, 0x46, + 0x78, 0x9c, 0x23, 0x40, 0xf0, 0xe2, 0x52, 0x04, 0x46, 0x12, 0xda, 0xdc, 0x50, 0x7a, 0xb6, 0x13, + 0x41, 0xcf, 0xbf, 0x93, 0x48, 0xe3, 0xaa, 0x37, 0xb0, 0xc6, 0x18, 0x68, 0x3d, 0x21, 0xbf, 0x26, + 0x9b, 0xc4, 0x2f, 0xa8, 0x13, 0xeb, 0x84, 0x9a, 0xe6, 0x2b, 0x43, 0x76, 0x92, 0x8f, 0xef, 0x6b, + 0xbf, 0x92, 0xa0, 0x3a, 0x97, 0xde, 0xff, 0xa1, 0xde, 0x40, 0x31, 0x1e, 0xf9, 0xf1, 0x84, 0x89, + 0x39, 0x7d, 0x5c, 0xd3, 0xcf, 0x3e, 0xdc, 0xc0, 0x1c, 0x2c, 0x0d, 0x7b, 0x22, 0x21, 0x95, 0x70, + 0x85, 0x66, 0x3b, 0x9b, 0x4b, 0x70, 0x69, 0xb9, 0x79, 0x54, 0x92, 0x63, 0xd5, 0x41, 0xac, 0x63, + 0x26, 0x4f, 0x97, 0xf0, 0x22, 0xba, 0xa8, 0x9d, 0xba, 0xf1, 0x01, 0xf6, 0x81, 0xfa, 0x29, 0xc0, + 0x50, 0x7a, 0xf5, 0x22, 0x4b, 0xc2, 0x54, 0x75, 0x0f, 0x94, 0x2b, 0x00, 0x84, 0xbd, 0x00, 0x6b, + 0xca, 0xd2, 0xd8, 0x76, 0xa7, 0xf0, 0x91, 0x78, 0x92, 0xc5, 0x7a, 0x7f, 0x78, 0x8f, 0xe1, 0xbc, + 0x74, 0xd3, 0xab, 0xc8, 0x81, 0x7a, 0x4a, 0x08, 0xf8, 0x00, 0xed, 0x65, 0x5f, 0x79, 0xda, 0xf0, + 0xc1, 0xfc, 0x15, 0x43, 0x1c, 0x67, 0x05, 0x78, 0xab, 0x3b, 0x49, 0x29, 0x87, 0xa7, 0x5c, 0x90, + 0x71, 0xca, 0x80, 0x10, 0xc2, 0x88, 0x1c, 0x2a, 0xd6, 0x9e, 0x92, 0x21, 0xb9, 0xa1, 0xe2, 0x82, + 0x51, 0x0c, 0x60, 0x61, 0x07, 0x17, 0x3e, 0x3f, 0x64, 0xb7, 0xac, 0xa2, 0xc6, 0x10, 0x9a, 0x57, + 0xd2, 0xd0, 0x86, 0x92, 0x3c, 0x15, 0x96, 0x41, 0x3d, 0x13, 0x74, 0xd2, 0x64, 0xa3, 0x4a, 0x4b, + 0x16, 0x5c, 0x8b, 0x5f, 0x13, 0x6b, 0xf3, 0xed, 0xca, 0xdc, 0xa0, 0x59, 0x2f, 0x9e, 0x91, 0xeb, + 0x12, 0xc2, 0xfb, 0x89, 0x57, 0x8f, 0xc2, 0x0b, 0x22, 0x3a, 0x7f, 0xc9, 0x5a, 0x49, 0x5b, 0x9e, + 0x22, 0x4e, 0x93, 0xd6, 0xcf, 0xc4, 0x26, 0x82, 0x9d, 0xdd, 0x0f, 0x61, 0xc1, 0x95, 0x7c, 0xb0, + 0x33, 0x9e, 0xce, 0xce, 0xd9, 0x4f, 0x2a, 0x54, 0x46, 0xc1, 0xd7, 0xc3, 0xee, 0x30, 0xee, 0x35, + 0xc1, 0xe2, 0x44, 0xca, 0x17, 0x41, 0xc2, 0x79, 0xc1, 0x39, 0x78, 0xc8, 0x11, 0x12, 0xb1, 0x7b, + 0x2a, 0x63, 0xc4, 0x49, 0xdc, 0x76, 0x19, 0x7d, 0x9f, 0x94, 0x60, 0x04, 0x04, 0x19, 0x99, 0xbc, + 0x4d, 0x64, 0x15, 0x0e, 0x3e, 0x1d, 0x7c, 0x61, 0x28, 0x51, 0x58, 0x0f, 0xf5, 0xa3, 0x66, 0xfb, + 0xac, 0xb7, 0xc5, 0xe5, 0xf0, 0xea, 0xbe, 0xee, 0x3a, 0xc2, 0x01, 0xe5, 0xb4, 0xde, 0x06, 0x2c, + 0xee, 0x5f, 0xd2, 0x5e, 0xeb, 0x12, 0x81, 0x76, 0x47, 0x4e, 0x30, 0xd5, 0xe8, 0xaf, 0x9b, 0x9d, + 0x2a, 0x3b, 0xbf, 0xd4, 0x64, 0xb4, 0x5d, 0xe7, 0x87, 0x54, 0xc7, 0x7b, 0xc3, 0x3a, 0x59, 0xd3, + 0x3d, 0x62, 0xec, 0x41, 0x8b, 0x70, 0xac, 0xe9, 0x96, 0x2f, 0xe1, 0xd0, 0x93, 0x2f, 0x9b, 0x2a, + 0x40, 0x9c, 0x43, 0xe5, 0x47, 0xf6, 0xf8, 0x36, 0xb2, 0x5f, 0xe3, 0x05, 0x40, 0x79, 0x71, 0xa3, + 0x32, 0xbb, 0x64, 0xf8, 0x28, 0x10, 0x41, 0x3a, 0xa8, 0xe3, 0x15, 0x3c, 0x4d, 0x91, 0x0b, 0xf3, + 0x2a, 0x21, 0xc6, 0xdc, 0x22, 0xed, 0x2b, 0x2c, 0x98, 0x98, 0xa4, 0xd2, 0x34, 0x2c, 0x74, 0x32, + 0x80, 0x3c, 0x81, 0x93, 0xa3, 0x6e, 0xab, 0xd6, 0x1d, 0xd0, 0x2f, 0x88, 0x87, 0x47, 0xde, 0x44, + 0x4d, 0xf0, 0x83, 0x65, 0xa5, 0xdd, 0xde, 0xcc, 0x0b, 0x2e, 0x15, 0x2b, 0x18, 0xf3, 0x34, 0xbc, + 0x07, 0xf9, 0x0b, 0x76, 0xea, 0x67, 0x58, 0x35, 0xae, 0xdd, 0x14, 0x61, 0xff, 0x6a, 0xc9, 0xbe, + 0x6c, 0x6c, 0xe2, 0x6b, 0x5c, 0x8c, 0xa4, 0xab, 0x59, 0xf5, 0xaf, 0x0c, 0xa1, 0x5c, 0xb7, 0x3f, + 0xba, 0x58, 0xa6, 0x22, 0x5f, 0x97, 0x94, 0x2c, 0x94, 0xd1, 0xf5, 0x0f, 0x74, 0xa3, 0xc6, 0x7d, + 0xdf, 0x96, 0x93, 0x07, 0x8d, 0xf6, 0x1c, 0xd8, 0x08, 0x81, 0x6e, 0xef, 0x17, 0x2f, 0xc0, 0x6c, + 0x36, 0xf0, 0x44, 0xe5, 0xa1, 0x42, 0xe8, 0x7d, 0x54, 0x22, 0xc4, 0x31, 0x88, 0xa7, 0xba, 0x07, + 0x6c, 0x5f, 0x7f, 0x98, 0x85, 0xd9, 0xe1, 0x6c, 0xf5, 0x20, 0xed, 0xd1, 0x3c, 0x25, 0x55, 0xf9, + 0x46, 0x3a, 0xe0, 0x21, 0x85, 0xb0, 0x60, 0xce, 0x7c, 0x4f, 0x8b, 0x32, 0x4d, 0xc1, 0x26, 0x04, + 0xa4, 0x09, 0xb6, 0xc2, 0x8a, 0xa4, 0x3e, 0xe9, 0x33, 0xdf, 0x2b, 0xf3, 0xaf, 0xa1, 0x45, 0x69, + 0xd5, 0x8c, 0x3a, 0xf8, 0x2d, 0x77, 0x1c, 0x74, 0x23, 0x82, 0x3d, 0x09, 0x82, 0xbb, 0x45, 0x60, + 0xf2, 0x72, 0xb8, 0xbf, 0xdd, 0x01, 0x43, 0xf4, 0x53, 0xed, 0xb6, 0x41, 0xf3, 0xe0, 0x01, 0x0a, + 0xea, 0x0b, 0x73, 0xcf, 0x82, 0x26, 0xea, 0xc0, 0x7e, 0x1e, 0x92, 0x6c, 0xba, 0x48, 0xae, 0x99, + 0xa0, 0xad, 0xe1, 0x25, 0xb5, 0xbd, 0x39, 0xfd, 0x85, 0xde, 0x1a, 0xdc, 0xc5, 0xc0, 0xb4, 0x85, + 0xdc, 0xd6, 0x20, 0x04, 0x56, 0x2f, 0xb4, 0x6f, 0x18, 0x21, 0x04, 0xc8, 0x3e, 0xd2, 0xd8, 0x6f, + 0x1c, 0x30, 0xce, 0xe1, 0x61, 0x4f, 0xc5, 0xff, 0xc8, 0x15, 0xa1, 0x22, 0x20, 0xf8, 0x90, 0xa8, + 0xa2, 0x80, 0x70, 0x4e, 0x80, 0xfa, 0x0c, 0xd8, 0xc4, 0x16, 0x30, 0x6b, 0xaf, 0xea, 0x9e, 0x4e, + 0x1f, 0x57, 0x6a, 0x38, 0x20, 0x54, 0x81, 0x42, 0x01, 0x9e, 0xe7, 0xd8, 0x55, 0x59, 0x28, 0xc5, + 0x24, 0xbf, 0xac, 0x55, 0x61, 0xa0, 0xeb, 0x0f, 0xb0, 0xab, 0x67, 0xdc, 0xc3, 0x34, 0xe4, 0x25, + 0xbc, 0xd7, 0x17, 0x78, 0x32, 0x5e, 0x80, 0x11, 0xf4, 0x59, 0x32, 0x1c, 0xf0, 0xa0, 0xe3, 0x1e, + 0x36, 0xf5, 0x2c, 0x5c, 0x7d, 0xb5, 0x2c, 0x52, 0x35, 0x6f, 0x77, 0xd1, 0xbb, 0xa5, 0x2e, 0x50, + 0xc6, 0xb5, 0x9a, 0x53, 0x8f, 0x03, 0xf3, 0xf9, 0x9b, 0xd8, 0x28, 0x8c, 0xec, 0xef, 0x6e, 0x48, + 0xf7, 0xdd, 0x61, 0xf7, 0x02, 0x75, 0xcd, 0x78, 0x9e, 0x99, 0x91, 0x54, 0xcd, 0x6d, 0x55, 0x42, + 0xfe, 0xda, 0xb3, 0x59, 0x4e, 0xb8, 0xd8, 0xd5, 0x7d, 0x8b, 0xe1, 0xfe, 0x77, 0x00, 0x87, 0x9b, + 0x68, 0x39, 0xe7, 0x3e, 0x41, 0x01, 0x31, 0x08, 0xa3, 0xb4, 0x24, 0x0d, 0xac, 0xdd, 0xfc, 0xec, + 0xa6, 0xe1, 0x07, 0x93, 0x05, 0x18, 0x29, 0xd8, 0x45, 0xb2, 0x54, 0x5d, 0x9a, 0x8b, 0xbb, 0x70, + 0x55, 0x17, 0x2c, 0x9d, 0x80, 0x4b, 0xf1, 0xc8, 0xe3, 0xb3, 0xf1, 0x75, 0x0f, 0x93, 0x76, 0x58, + 0x0f, 0x7e, 0xca, 0x02, 0x77, 0x2b, 0x35, 0x05, 0x11, 0x79, 0xfe, 0x6b, 0x3f, 0x66, 0x84, 0xe8, + 0x43, 0xc9, 0x31, 0x32, 0x1e, 0x63, 0x89, 0x78, 0xa6, 0x3b, 0x89, 0x30, 0x55, 0x53, 0x30, 0x10, + 0xf6, 0x22, 0x98, 0x08, 0x1e, 0xac, 0x08, 0xbc, 0x52, 0x99, 0x8c, 0x92, 0x07, 0x02, 0x4a, 0xbf, + 0x97, 0xbf, 0x7f, 0x98, 0xa5, 0x5b, 0x29, 0xd3, 0x96, 0x8e, 0x54, 0x1f, 0x74, 0xad, 0x69, 0x82, + 0xc2, 0xe5, 0x63, 0x4d, 0x03, 0xa5, 0xfa, 0x1c, 0xa7, 0x14, 0x38, 0x47, 0x2f, 0x3f, 0x0c, 0x57, + 0x5f, 0x13, 0x76, 0x0b, 0xa3, 0xde, 0xa3, 0xdc, 0x14, 0xa5, 0xf3, 0xff, 0x65, 0x2f, 0x3a, 0x17, + 0xff, 0x16, 0xe3, 0x3d, 0xbd, 0xcb, 0x14, 0xd9, 0x25, 0x94, 0x14, 0xd3, 0x9b, 0xc6, 0xe9, 0x82, + 0x81, 0x36, 0x05, 0x94, 0xc8, 0xb9, 0xce, 0x77, 0x33, 0x50, 0xe1, 0x7a, 0x61, 0x64, 0x9b, 0xd3, + 0xf3, 0x1d, 0x3b, 0xc0, 0x0c, 0x33, 0x8f, 0x71, 0xdd, 0xef, 0x36, 0x48, 0x32, 0x8f, 0x6a, 0x85, + 0x1e, 0x9c, 0x23, 0xab, 0xfc, 0x6f, 0x23, 0xae, 0x57, 0x73, 0x4c, 0x81, 0xb3, 0x7d, 0x0a, 0x41, + 0x18, 0xcd, 0x64, 0xb5, 0xe6, 0xf8, 0xce, 0x30, 0xfc, 0x4e, 0xba, 0xd5, 0x9d, 0x2d, 0x49, 0xf5, + 0x51, 0xdd, 0xb5, 0xb5, 0xd0, 0x20, 0x97, 0x24, 0x6c, 0x7a, 0xec, 0x99, 0x1d, 0x87, 0xda, 0xb9, + 0x70, 0xfe, 0xed, 0xd4, 0x02, 0x82, 0x42, 0x0d, 0x21, 0x81, 0x69, 0x33, 0xa3, 0x19, 0x2d, 0x4a, + 0x6e, 0x22, 0x01, 0x00, 0x52, 0x9d, 0x78, 0x95, 0x92, 0x38, 0x5e, 0xce, 0x0e, 0x14, 0xb9, 0xc2, + 0x28, 0x63, 0x0f, 0x5c, 0xa2, 0x7c, 0xb7, 0x38, 0xf5, 0x05, 0x0e, 0x9f, 0xa1, 0xeb, 0x51, 0xa8, + 0xde, 0x2f, 0x0c, 0x80, 0x22, 0xcf, 0xbd, 0xde, 0xf2, 0x77, 0x49, 0x4a, 0x28, 0x48, 0x2b, 0xb6, + 0xb3, 0x27, 0x9e, 0x2b, 0x65, 0x8d, 0xc2, 0x1d, 0xc8, 0x18, 0x24, 0x6e, 0x42, 0x12, 0x7f, 0xcf, + 0x25, 0xbd, 0xb8, 0x65, 0x38, 0x21, 0xf1, 0x2a, 0xc8, 0xbc, 0xd0, 0xaf, 0x7f, 0xef, 0xa0, 0x59, + 0x37, 0xc6, 0x43, 0x20, 0x64, 0x8f, 0x27, 0xb0, 0x25, 0x7a, 0xd5, 0x75, 0x9a, 0x88, 0x9c, 0x84, + 0xce, 0xda, 0xeb, 0xc8, 0xf5, 0xc0, 0x58, 0x5e, 0x8f, 0xd5, 0x7d, 0x7c, 0xdc, 0x69, 0x74, 0x3f, + 0xbd, 0x1d, 0xdf, 0x97, 0x84, 0x05, 0x4b, 0xe7, 0xc1, 0x08, 0x6e, 0xf2, 0x6c, 0x71, 0x2a, 0xd5, + 0x5f, 0xba, 0xfe, 0x29, 0x9b, 0x20, 0x09, 0x3a, 0xf7, 0xe8, 0xfe, 0xe7, 0xe4, 0x5f, 0x2b, 0xbc, + 0x55, 0xd7, 0x9d, 0xfd, 0x89, 0xa8, 0x45, 0x16, 0xe9, 0xbe, 0x7b, 0x02, 0x3a, 0x84, 0xc8, 0xfe, + 0xd0, 0x87, 0x5a, 0x8d, 0xe9, 0xa8, 0xe1, 0x14, 0x49, 0x8e, 0xd9, 0xba, 0x40, 0x6b, 0xfa, 0x03, + 0x63, 0x6f, 0x46, 0x8f, 0x1e, 0xdf, 0xb7, 0xe9, 0x3f, 0x02, 0x26, 0xef, 0xf9, 0x8a, 0x47, 0xc4, + 0x06, 0x4d, 0x92, 0xfb, 0x71, 0xc4, 0xb7, 0x26, 0x8a, 0xbd, 0xbc, 0x9c, 0xe6, 0x62, 0xf2, 0x22, + 0xa0, 0x3c, 0x27, 0x1e, 0x28, 0x68, 0xd6, 0x92, 0xf0, 0x0b, 0x3c, 0xed, 0x30, 0x19, 0x4f, 0xc7, + 0xe3, 0x7f, 0xb3, 0x03, 0x7a, 0x98, 0x94, 0xb9, 0x95, 0x40, 0x34, 0x7f, 0x84, 0x60, 0x62, 0x27, + 0xa8, 0x39, 0xbb, 0x0a, 0x95, 0x70, 0xaa, 0x86, 0x75, 0x09, 0xf4, 0x44, 0x5b, 0xeb, 0x3e, 0xe2, + 0xf4, 0xa9, 0xd6, 0x01, 0x05, 0x5b, 0x04, 0xee, 0xff, 0xec, 0xb5, 0x48, 0x37, 0x9a, 0x54, 0xeb, + 0x92, 0x66, 0xec, 0x65, 0x62, 0x3c, 0x67, 0xfb, 0x8e, 0x99, 0xa2, 0x37, 0x0b, 0x31, 0xfc, 0xea, + 0x18, 0x30, 0x30, 0xff, 0xcc, 0x56, 0x10, 0xd6, 0xa9, 0xe0, 0xa7, 0xea, 0xb5, 0x2d, 0x21, 0x36, + 0xdc, 0xd1, 0x8f, 0x08, 0x93, 0xb9, 0xb4, 0x92, 0xf5, 0xaf, 0xdd, 0x7f, 0xcb, 0xf1, 0x52, 0xc8, + 0xe0, 0xae, 0x0a, 0xdf, 0xef, 0x86, 0x20, 0x86, 0x01, 0x17, 0x67, 0x87, 0x44, 0xd1, 0xf1, 0xbe, + 0xf2, 0x15, 0x6a, 0xbb, 0x36, 0xf6, 0x94, 0xcd, 0x0e, 0xd1, 0x86, 0xc5, 0x34, 0x03, 0xd0, 0x17, + 0x95, 0x91, 0xcb, 0xfb, 0x26, 0xa5, 0x22, 0xaf, 0x1c, 0x3d, 0xcc, 0xbc, 0x94, 0x4e, 0xcd, 0xe4, + 0xf6, 0x1a, 0x09, 0x58, 0xe4, 0x29, 0x13, 0x2c, 0xba, 0x0d, 0xfd, 0x79, 0xcc, 0x00, 0xb3, 0xf0, + 0x9a, 0xfe, 0x23, 0xe1, 0xd8, 0xe0, 0x6c, 0x58, 0xf2, 0x0a, 0xa5, 0x6a, 0x55, 0xd8, 0x67, 0xee, + 0x3a, 0xc7, 0x84, 0xc9, 0x3e, 0x38, 0x1c, 0x09, 0xed, 0x8e, 0x32, 0x81, 0x0f, 0xa9, 0x25, 0xf1, + 0x39, 0x4e, 0x7c, 0xb1, 0x37, 0x6c, 0x9f, 0xfd, 0x61, 0x8f, 0xc8, 0x0c, 0x12, 0x94, 0xe9, 0x06, + 0x34, 0x65, 0x02, 0x5a, 0xee, 0xb1, 0x3b, 0x08, 0x13, 0xc9, 0xbb, 0x9b, 0x0d, 0x6f, 0xd1, 0x40, + 0x4d, 0x55, 0x19, 0xe7, 0x31, 0x3e, 0x24, 0x61, 0x91, 0xed, 0x6b, 0xbc, 0x67, 0x31, 0xd8, 0x32, + 0x41, 0x95, 0x0f, 0xc1, 0xcb, 0x27, 0x5e, 0x45, 0x43, 0xcb, 0x52, 0xe1, 0x89, 0x39, 0x2b, 0x6a, + 0xa6, 0x9e, 0xdd, 0xf4, 0x8a, 0xf7, 0x4a, 0x74, 0x72, 0x42, 0x1a, 0x48, 0x97, 0xea, 0xce, 0x93, + 0xce, 0x12, 0xf8, 0xb7, 0xab, 0x7d, 0x59, 0xf5, 0x76, 0x97, 0x05, 0x82, 0x90, 0xd9, 0x90, 0xe5, + 0xfd, 0xf7, 0x23, 0x40, 0x6a, 0x4a, 0x8f, 0x57, 0xab, 0x87, 0x67, 0x20, 0xa4, 0x36, 0x37, 0xf8, + 0x44, 0xb0, 0x69, 0x0f, 0xb1, 0xca, 0x16, 0x49, 0xb0, 0xd2, 0x35, 0x29, 0xdc, 0xd3, 0x99, 0x18, + 0xc0, 0xb3, 0xd3, 0xf8, 0xb8, 0xfc, 0xe3, 0x94, 0x60, 0xa0, 0x51, 0x9c, 0xa7, 0xd9, 0xbc, 0xa3, + 0x64, 0x91, 0xba, 0x44, 0x82, 0xc4, 0xce, 0x5d, 0x40, 0x20, 0x3b, 0x0a, 0x84, 0x00, 0x5f, 0xbc, + 0xb3, 0x0e, 0xa3, 0x98, 0x05, 0xd7, 0x72, 0x15, 0xcd, 0x9d, 0x44, 0xb9, 0xcc, 0x0e, 0x3a, 0x3e, + 0x44, 0x1b, 0x22, 0x3e, 0x9b, 0xc3, 0x58, 0x03, 0x0c, 0xf9, 0x14, 0x70, 0xac, 0x09, 0xf9, 0xad, + 0xfb, 0x06, 0x6e, 0xae, 0xdd, 0xd0, 0x7a, 0x6f, 0x39, 0x95, 0x3a, 0xe0, 0x61, 0x77, 0x41, 0x95, + 0x1e, 0xc8, 0x0d, 0xdd, 0x58, 0x7f, 0x07, 0x78, 0x8b, 0x61, 0xe5, 0x16, 0x01, 0x3e, 0x0c, 0xea, + 0xbd, 0x05, 0x37, 0x98, 0x66, 0x9d, 0xe5, 0x6c, 0x10, 0x48, 0xb2, 0x1c, 0x53, 0x70, 0xe7, 0x58, + 0xff, 0xbe, 0xda, 0x17, 0x07, 0x22, 0x46, 0xa3, 0xad, 0xb3, 0xb9, 0x95, 0xe6, 0xc8, 0x4c, 0x8a, + 0x19, 0x0b, 0x7f, 0xb3, 0x77, 0xd9, 0x2e, 0x19, 0x0a, 0xc1, 0x93, 0xc4, 0xd5, 0x1c, 0x38, 0x1d, + 0x7f, 0x2c, 0x3f, 0x89, 0x78, 0xc5, 0x37, 0x2f, 0xaa, 0xf5, 0xc4, 0x67, 0x08, 0xcd, 0x7b, 0x5d, + 0x7e, 0x9c, 0x34, 0xf4, 0x60, 0xbd, 0x57, 0xf8, 0x1e, 0x6b, 0xd1, 0x5a, 0x5d, 0x41, 0xbf, 0x4c, + 0x36, 0xb4, 0x60, 0x4b, 0x93, 0x41, 0x8e, 0xc8, 0xae, 0xe7, 0x4e, 0xff, 0x50, 0xb6, 0x3c, 0x14, + 0x29, 0xe9, 0x0d, 0x26, 0x4e, 0x79, 0xef, 0xa8, 0xd1, 0xcd, 0x9e, 0xf3, 0x8d, 0x9b, 0x7d, 0x2b, + 0x32, 0x73, 0x57, 0x0e, 0x27, 0x83, 0x6a, 0xe7, 0xa2, 0xb6, 0xab, 0xd8, 0xef, 0xea, 0xcd, 0x4b, + 0x65, 0xf1, 0x3d, 0x0b, 0x73, 0x4b, 0x13, 0xd0, 0x08, 0xb4, 0x8c, 0x88, 0x46, 0xf7, 0xdd, 0x34, + 0x83, 0xd2, 0xdb, 0xef, 0xa5, 0x85, 0xff, 0x9b, 0x9d, 0x40, 0x9a, 0x6c, 0xe5, 0xb2, 0xf1, 0x67, + 0x67, 0x45, 0xd6, 0xc1, 0x74, 0x00, 0xd0, 0xa6, 0xed, 0xfa, 0x76, 0x9b, 0x7b, 0xfb, 0x4c, 0x68, + 0xa7, 0x40, 0x5f, 0xca, 0x23, 0x7a, 0xf5, 0xd9, 0x1c, 0x23, 0xfd, 0xa8, 0xdb, 0x5c, 0x91, 0x9b, + 0xe7, 0x31, 0xc5, 0x9f, 0xa6, 0xde, 0x55, 0x53, 0xa5, 0x28, 0x38, 0x53, 0xd0, 0xba, 0xcd, 0x32, + 0xb8, 0x65, 0x87, 0x09, 0x24, 0xa2, 0x41, 0x11, 0xeb, 0xf8, 0x1c, 0x25, 0xb9, 0x23, 0x3d, 0xc4, + 0x06, 0xd8, 0x63, 0xbf, 0xb8, 0xf4, 0xa1, 0xf1, 0xe8, 0x98, 0xea, 0x5e, 0x29, 0xdf, 0xf2, 0xf1, + 0xf7, 0x8e, 0x21, 0xcf, 0x0c, 0x9f, 0x4a, 0xa4, 0xe3, 0x77, 0x96, 0xdc, 0xec, 0x47, 0xbb, 0x64, + 0x42, 0x08, 0x61, 0xfc, 0xa3, 0xef, 0xa9, 0x4b, 0x70, 0x7c, 0x62, 0xf7, 0xe6, 0xcd, 0xa8, 0xe6, + 0xc8, 0x16, 0xda, 0x94, 0x68, 0xfa, 0xaa, 0x1b, 0xd0, 0x2f, 0x92, 0xfd, 0xbc, 0x84, 0x7f, 0x2d, + 0xbf, 0x82, 0x09, 0x0e, 0xe8, 0xc0, 0x7b, 0x3a, 0xe0, 0xc0, 0xe9, 0x7d, 0xdf, 0xe1, 0xb1, 0x72, + 0x8f, 0x40, 0x6b, 0x4d, 0x6e, 0xeb, 0x19, 0xb0, 0xc2, 0x04, 0xd1, 0x58, 0x10, 0xbf, 0x07, 0x95, + 0xd3, 0x89, 0x7e, 0xd0, 0x3c, 0x07, 0x13, 0xed, 0x76, 0xd0, 0x77, 0x7a, 0x8b, 0x70, 0x56, 0x82, + 0x79, 0xc6, 0x28, 0x79, 0xa6, 0xe2, 0x75, 0x43, 0x4a, 0x77, 0x75, 0x19, 0x85, 0x87, 0x7d, 0xf9, + 0x7a, 0x83, 0x9c, 0x07, 0x3a, 0xa8, 0xc0, 0x27, 0x1d, 0x6a, 0x49, 0x6d, 0x56, 0x3d, 0x07, 0x3c, + 0x73, 0xbb, 0xb0, 0xdd, 0x3e, 0x2a, 0xed, 0x6f, 0x74, 0x72, 0xb9, 0x85, 0xc6, 0x84, 0x11, 0xe1, + 0xe0, 0xd7, 0x80, 0x41, 0xad, 0x36, 0x31, 0x22, 0x66, 0x75, 0xc6, 0xeb, 0x31, 0xdc, 0x32, 0x72, + 0x4d, 0x1b, 0xbf, 0x5c, 0x14, 0xfb, 0xfa, 0x8f, 0x3b, 0x12, 0xb7, 0xca, 0x89, 0xc8, 0xd5, 0x6d, + 0x1d, 0xf4, 0xc7, 0x65, 0x27, 0xbe, 0xe5, 0xd7, 0x4d, 0x7f, 0xd5, 0xd7, 0x38, 0xbc, 0x06, 0x5b, + 0x3d, 0x6b, 0x2c, 0x5e, 0x53, 0x45, 0x8d, 0xc5, 0x9c, 0x82, 0x98, 0xc2, 0x1f, 0x8b, 0x1e, 0xa8, + 0x78, 0xe6, 0x7e, 0x05, 0x83, 0xca, 0xa2, 0xbd, 0x52, 0x49, 0x57, 0x8a, 0xf6, 0xff, 0xcd, 0xb5, + 0xb9, 0x61, 0x22, 0x07, 0xca, 0x29, 0x65, 0x1b, 0xd3, 0xe0, 0x85, 0x6b, 0xd2, 0xdc, 0xd4, 0x5d, + 0xed, 0x72, 0x61, 0x13, 0x6d, 0x3f, 0xd4, 0x3f, 0x9f, 0x25, 0xd4, 0x6b, 0xa2, 0x55, 0xfd, 0x8e, + 0xba, 0x38, 0xfb, 0xe1, 0x3e, 0x3c, 0x63, 0xf5, 0xff, 0x55, 0xca, 0x1e, 0xbe, 0xa6, 0x71, 0x3a, + 0x38, 0xdb, 0xfb, 0xb8, 0x93, 0x10, 0x8e, 0x2d, 0x3f, 0x2d, 0x92, 0x2e, 0xe4, 0x61, 0x64, 0xae, + 0x4a, 0xd2, 0x12, 0x11, 0x60, 0x7c, 0xea, 0xff, 0x82, 0x7a, 0x18, 0xb7, 0xc6, 0xb5, 0xb2, 0xb1, + 0x4b, 0x66, 0x41, 0x6e, 0xa2, 0x70, 0x9a, 0x17, 0xa9, 0x33, 0x6e, 0x89, 0xf8, 0xc2, 0x26, 0x33, + 0x71, 0x67, 0xd5, 0x44, 0xad, 0x97, 0xe0, 0xae, 0x08, 0xd0, 0x92, 0x63, 0x54, 0xad, 0x53, 0xf4, + 0xdf, 0x5e, 0xe2, 0x63, 0xa3, 0x96, 0x3f, 0x3f, 0x7b, 0x95, 0xdc, 0x7d, 0x8c, 0x09, 0x7e, 0x40, + 0x88, 0x64, 0x79, 0x62, 0x31, 0x56, 0x93, 0xb3, 0x21, 0xcf, 0xb1, 0x3f, 0x28, 0x5c, 0x01, 0x90, + 0x88, 0xb8, 0x07, 0x45, 0xe9, 0x41, 0x8a, 0x53, 0xfd, 0xc1, 0x25, 0x74, 0xdb, 0xaa, 0xe0, 0xbb, + 0xd7, 0xd1, 0xf7, 0xc6, 0xd8, 0x1b, 0xdb, 0x3c, 0x17, 0xb6, 0xfd, 0x78, 0xea, 0xde, 0xdb, 0x6b, + 0x00, 0xc0, 0x7b, 0x93, 0xd1, 0x37, 0x89, 0xf9, 0x7d, 0x6c, 0x28, 0xb2, 0x3a, 0x34, 0xea, 0x2a, + 0xfd, 0x11, 0xbe, 0xf5, 0x4a, 0xb2, 0x23, 0xff, 0x6a, 0xa4, 0xfd, 0xc3, 0x45, 0xf2, 0xea, 0xf4, + 0x16, 0x15, 0x25, 0x2e, 0x80, 0x2d, 0xec, 0xf8, 0x2b, 0x40, 0x1c, 0x48, 0x29, 0x55, 0x5e, 0x72, + 0x5b, 0x5d, 0xe9, 0x44, 0xd3, 0xb4, 0xf5, 0x20, 0xe6, 0x23, 0xd3, 0xa6, 0x1d, 0xe5, 0x68, 0x6b, + 0x8c, 0xf5, 0xe9, 0x69, 0xb5, 0x89, 0xc2, 0xb8, 0x97, 0xca, 0x41, 0x53, 0xd1, 0x10, 0x60, 0x42, + 0x35, 0xd0, 0x88, 0xd7, 0x78, 0xa3, 0xec, 0x81, 0x0b, 0x6d, 0x34, 0x02, 0xb5, 0x50, 0xab, 0x00, + 0x1d, 0x4b, 0xe7, 0xa5, 0x71, 0xdd, 0x91, 0x39, 0xa9, 0xcf, 0x2f, 0xdc, 0xbc, 0x3b, 0xbb, 0x31, + 0x3c, 0x39, 0xfc, 0x4c, 0x91, 0x81, 0xed, 0x7c, 0xd0, 0xc9, 0xa8, 0x3e, 0xa1, 0x0f, 0xf7, 0x8e, + 0x5d, 0xd0, 0xa3, 0xf8, 0xc7, 0x49, 0xc1, 0x2a, 0xbe, 0xcf, 0x96, 0x74, 0x74, 0x3d, 0xaf, 0xcc, + 0xfe, 0x21, 0x62, 0x2e, 0xa2, 0x5b, 0x6e, 0x00, 0x7a, 0xe0, 0xae, 0x6f, 0xdd, 0xe6, 0x0f, 0x6f, + 0xfe, 0x04, 0x06, 0xb6, 0xcb, 0x4a, 0xcf, 0x17, 0x87, 0x0d, 0x64, 0x1d, 0x47, 0xeb, 0xe6, 0x62, + 0x13, 0x33, 0x4c, 0x90, 0xc5, 0xb8, 0xba, 0x7d, 0x24, 0x18, 0x07, 0x0f, 0x5b, 0x5b, 0xfb, 0x7d, + 0x29, 0xc8, 0x5a, 0x08, 0xae, 0x19, 0x29, 0x5c, 0x9d, 0xd3, 0xf0, 0xcc, 0x3c, 0x98, 0x8a, 0x1b, + 0x22, 0xea, 0x68, 0xf2, 0xdb, 0xb9, 0x5d, 0xbf, 0x2a, 0x84, 0xf7, 0x99, 0x47, 0x07, 0xe6, 0x5f, + 0x91, 0x09, 0x7c, 0x6b, 0xa1, 0x83, 0xa2, 0x2a, 0x87, 0xeb, 0x36, 0x4a, 0x4f, 0xdb, 0x92, 0xf9, + 0x37, 0xe4, 0x09, 0x0c, 0xd2, 0xea, 0x58, 0xd5, 0x3f, 0x15, 0xd0, 0xd5, 0x6f, 0x03, 0x3d, 0x87, + 0x11, 0xbc, 0xa4, 0x6f, 0xdc, 0xbd, 0x2c, 0x8e, 0xe9, 0xa9, 0x60, 0x47, 0xdc, 0x04, 0x38, 0x8c, + 0x20, 0x59, 0x07, 0x1a, 0xce, 0x2e, 0x9d, 0x2c, 0xb3, 0xe2, 0x37, 0x9a, 0xa2, 0xe3, 0x1b, 0x37, + 0x26, 0x1f, 0x09, 0x67, 0x18, 0x63, 0xb0, 0x62, 0xbb, 0xd7, 0xce, 0xec, 0x23, 0xa0, 0x2e, 0xd4, + 0x6e, 0x2d, 0xf9, 0xf6, 0xb1, 0x1a, 0x15, 0x5b, 0x2f, 0xa9, 0x07, 0x75, 0x1c, 0xd9, 0xeb, 0x1d, + 0x6d, 0x7a, 0x44, 0x3a, 0xb5, 0x4e, 0x54, 0x67, 0x38, 0x09, 0x26, 0x37, 0x79, 0xdf, 0x71, 0x2f, + 0x07, 0x7f, 0x97, 0x17, 0x7d, 0xa0, 0x92, 0x71, 0x48, 0x80, 0xe7, 0xe2, 0x9e, 0x1e, 0x43, 0xfa, + 0x08, 0x00, 0x07, 0x66, 0xf3, 0x3e, 0x19, 0x58, 0x85, 0x61, 0x2e, 0x3e, 0x59, 0xd9, 0xa8, 0x7f, + 0xc8, 0x9f, 0xb7, 0x8d, 0x2e, 0x1c, 0x16, 0xfa, 0x9e, 0x42, 0x53, 0x32, 0x35, 0xe7, 0x76, 0xd0, + 0xac, 0x73, 0xba, 0x0e, 0x8a, 0x76, 0x6f, 0xd8, 0x22, 0xd7, 0x71, 0xef, 0x8e, 0x73, 0xa4, 0xfb, + 0x0f, 0x1e, 0x23, 0xa7, 0xcb, 0x8f, 0x68, 0x40, 0x39, 0x33, 0x9d, 0xfc, 0x16, 0x2e, 0x6c, 0x95, + 0x38, 0x56, 0xcc, 0x24, 0xc1, 0xcf, 0x8d, 0x2d, 0x29, 0xdf, 0x66, 0x21, 0xef, 0xf0, 0xd9, 0xe4, + 0x3a, 0x80, 0x4a, 0x94, 0xec, 0xde, 0x33, 0x8c, 0x77, 0x50, 0xf7, 0x74, 0xc1, 0x2e, 0xea, 0x9a, + 0x0c, 0x43, 0x81, 0x86, 0x45, 0x1e, 0x38, 0x7c, 0x44, 0x02, 0xd9, 0x2a, 0x27, 0xc5, 0xf4, 0x32, + 0xc1, 0x8f, 0x55, 0x8d, 0xdb, 0x29, 0x2f, 0x65, 0xde, 0x24, 0xca, 0xee, 0x38, 0xc9, 0xb1, 0x32, + 0xc6, 0xa6, 0x01, 0xcb, 0x65, 0xd0, 0x83, 0x3c, 0x6c, 0xbd, 0x21, 0x7e, 0x6f, 0xd8, 0x2c, 0x09, + 0x4b, 0x62, 0xea, 0xad, 0xea, 0x8d, 0xfd, 0xd1, 0x00, 0xbc, 0xd7, 0xbc, 0xa4, 0x69, 0x15, 0x21, + 0xcd, 0xeb, 0x9f, 0x23, 0xb4, 0xf7, 0x09, 0xef, 0x78, 0xc9, 0x79, 0x47, 0x42, 0x20, 0x4b, 0xe8, + 0x05, 0x52, 0xad, 0x3a, 0xab, 0xcc, 0x58, 0xb8, 0x59, 0x7d, 0xce, 0x21, 0xfa, 0xfe, 0xf8, 0xe4, + 0x97, 0xda, 0x2d, 0xd6, 0xfc, 0x25, 0x2a, 0x04, 0x9e, 0x5a, 0x74, 0x7f, 0xd5, 0x2a, 0x7c, 0x42, + 0xf1, 0xa1, 0x17, 0xdc, 0x73, 0x6d, 0xef, 0xe6, 0x59, 0xc8, 0x15, 0x9b, 0x44, 0x90, 0x5c, 0x01, + 0xf3, 0x6c, 0x71, 0x1b, 0x84, 0x43, 0xe6, 0x76, 0x71, 0x31, 0x72, 0xcf, 0x2f, 0x64, 0x2b, 0x13, + 0xc4, 0x2f, 0x30, 0x90, 0xcf, 0xc2, 0x2c, 0xcc, 0x00, 0x5b, 0xfd, 0xc7, 0x16, 0xb2, 0x4d, 0x31, + 0x02, 0xb0, 0x78, 0xf1, 0xd8, 0x4f, 0xc6, 0xdf, 0xc7, 0xd0, 0x1b, 0xc3, 0xc5, 0x63, 0x0f, 0xfb, + 0x46, 0x17, 0x0b, 0x7e, 0x51, 0xc2, 0x2a, 0xb1, 0x15, 0xcd, 0x89, 0xab, 0xec, 0x1c, 0x66, 0x4b, + 0xb7, 0xae, 0xcb, 0xa5, 0x90, 0xc2, 0xd7, 0xf7, 0x8a, 0x1b, 0x6b, 0x65, 0xe1, 0xc3, 0x8e, 0xcf, + 0xd7, 0x51, 0x85, 0x77, 0x4a, 0xd4, 0xb0, 0xdf, 0x1c, 0x08, 0xf7, 0xe2, 0xf1, 0x5c, 0x7c, 0x3d, + 0xdb, 0x8f, 0x8b, 0xbe, 0xf1, 0xb3, 0x22, 0x94, 0x39, 0xf2, 0x77, 0x71, 0x8a, 0xbe, 0x9e, 0x01, + 0xbe, 0x31, 0x65, 0xe3, 0xc1, 0x07, 0xa1, 0xe5, 0x1f, 0x01, 0x9a, 0x79, 0x10, 0xf5, 0x06, 0x4a, + 0x17, 0x89, 0x2d, 0x53, 0x61, 0x4f, 0x41, 0x61, 0xc9, 0x5f, 0xda, 0x0c, 0x09, 0x27, 0xa7, 0x12, + 0x08, 0x28, 0x5c, 0xa9, 0x7b, 0x53, 0xa3, 0xa3, 0x6f, 0xc0, 0xf7, 0x0f, 0xea, 0x4e, 0x93, 0x0b, + 0x2d, 0x63, 0x5f, 0xe3, 0xfe, 0x6d, 0xfd, 0xe3, 0x3a, 0xb8, 0x97, 0x3d, 0x32, 0x9b, 0x81, 0x8e, + 0x0c, 0x3b, 0xf2, 0xc6, 0xb2, 0x06, 0x8f, 0x01, 0x67, 0x0c, 0x1d, 0xd0, 0x70, 0x97, 0xe8, 0x57, + 0xc6, 0x19, 0xc3, 0x31, 0x1b, 0x35, 0x6b, 0x74, 0x34, 0x8f, 0x28, 0x80, 0x66, 0xf3, 0xdf, 0x61, + 0x44, 0xd4, 0x55, 0x85, 0x46, 0x12, 0x38, 0xc4, 0xb2, 0xf9, 0x07, 0xe5, 0x94, 0x77, 0xc4, 0x08, + 0x91, 0x89, 0xa2, 0x2e, 0xaf, 0x1d, 0x22, 0xe7, 0x77, 0xf2, 0x25, 0x69, 0xec, 0xcf, 0xa5, 0xb1, + 0xff, 0xdc, 0x9d, 0xa1, 0xbb, 0xc3, 0xee, 0xd2, 0x71, 0x9c, 0x9b, 0x69, 0x10, 0x35, 0x98, 0xa8, + 0x5a, 0x21, 0x37, 0xdb, 0xea, 0x8a, 0xfc, 0x87, 0x63, 0x5c, 0xbe, 0xc7, 0x91, 0x21, 0x7c, 0xcc, + 0x07, 0x25, 0xd2, 0xd9, 0x27, 0x7a, 0xf8, 0xeb, 0xdf, 0xaf, 0xea, 0x89, 0x3d, 0x9b, 0x4b, 0x2a, + 0xac, 0x37, 0x18, 0xe4, 0xc3, 0xb5, 0xf1, 0xa6, 0x44, 0x73, 0x4b, 0x55, 0xef, 0xba, 0xed, 0xbc, + 0x77, 0x89, 0x6e, 0x7b, 0x79, 0xfe, 0x67, 0xb2, 0xb9, 0xc0, 0x12, 0x57, 0x85, 0x26, 0x42, 0xa2, + 0x0b, 0x8c, 0x72, 0xfb, 0xc9, 0x7a, 0xa2, 0xbd, 0x2b, 0xaa, 0x8e, 0x79, 0xe7, 0xda, 0x99, 0xfe, + 0x1b, 0xb9, 0xf6, 0x77, 0xef, 0x4d, 0x70, 0x6f, 0x61, 0x80, 0xf1, 0xd4, 0x40, 0x8b, 0xe0, 0x27, + 0x0f, 0x14, 0x35, 0x67, 0x62, 0x1e, 0xe6, 0x15, 0x12, 0xb7, 0x7d, 0x2a, 0xb6, 0xca, 0x46, 0xeb, + 0xcb, 0x6b, 0x84, 0x87, 0xc9, 0x14, 0x34, 0x0b, 0x31, 0xe8, 0xed, 0xa1, 0x8c, 0x6e, 0x71, 0x50, + 0x94, 0xe5, 0x7c, 0xa2, 0x99, 0x80, 0x92, 0xe7, 0xdc, 0xc6, 0x02, 0xe0, 0xfb, 0xcc, 0x8b, 0x81, + 0x18, 0x2c, 0x95, 0xf5, 0xe6, 0xdc, 0x88, 0xd3, 0x28, 0x12, 0xdb, 0x2f, 0xe6, 0xcb, 0x81, 0x32, + 0x4f, 0xfb, 0x00, 0x9b, 0xc8, 0x93, 0xf4, 0x6c, 0xcf, 0x70, 0xd8, 0x1a, 0x0a, 0xb7, 0xb6, 0x8d, + 0xbe, 0xc1, 0x44, 0x52, 0x1b, 0x9f, 0x98, 0xee, 0xc1, 0xb4, 0xf6, 0x38, 0xa4, 0x28, 0x88, 0x27, + 0xa0, 0x64, 0x0a, 0xce, 0x23, 0x4c, 0x04, 0x64, 0x0e, 0x1b, 0xf5, 0x25, 0xe3, 0x1a, 0x72, 0x7f, + 0x79, 0x45, 0x53, 0x4a, 0x38, 0x3e, 0xb7, 0x37, 0xe2, 0x0d, 0x57, 0x91, 0x7d, 0x21, 0x0b, 0xcc, + 0x8b, 0xe6, 0x54, 0x3c, 0x0b, 0x13, 0x53, 0x81, 0x3e, 0x9e, 0x78, 0x44, 0x29, 0xcc, 0x05, 0x6d, + 0x68, 0x2a, 0xc7, 0xef, 0x93, 0x74, 0x31, 0x90, 0x4f, 0x92, 0xe4, 0x64, 0x14, 0xb1, 0xd5, 0xfa, + 0xae, 0xbe, 0xc6, 0xca, 0x65, 0x77, 0x8c, 0x83, 0x5e, 0x44, 0xe3, 0x5b, 0x60, 0x07, 0x25, 0x0e, + 0x0b, 0x49, 0xd9, 0xde, 0x9c, 0x04, 0xb6, 0x57, 0x1e, 0xc4, 0x1d, 0xed, 0xcb, 0xa1, 0xaf, 0xe8, + 0xfb, 0x7d, 0xa2, 0x4c, 0x2b, 0xa9, 0x91, 0x91, 0x20, 0xbe, 0x08, 0x47, 0xa9, 0xf3, 0x36, 0x11, + 0x96, 0xcc, 0x50, 0x3e, 0xdd, 0x81, 0x63, 0x2c, 0xe4, 0x8e, 0x01, 0x2e, 0x28, 0xc3, 0x41, 0xaa, + 0x98, 0x15, 0x60, 0xf1, 0x14, 0xfc, 0xe8, 0xa8, 0x79, 0xf2, 0x1b, 0x06, 0x12, 0xf6, 0x44, 0x47, + 0xe9, 0xb9, 0x28, 0x56, 0x21, 0x84, 0x36, 0xe5, 0x50, 0x85, 0x4c, 0x0b, 0x7c, 0xf8, 0x12, 0x2e, + 0xca, 0x97, 0xae, 0xe7, 0xa6, 0x03, 0x1d, 0x6b, 0xcf, 0xd1, 0xf3, 0xc7, 0x0b, 0x74, 0x67, 0xee, + 0xe8, 0xe5, 0xf2, 0x3d, 0xf8, 0x8a, 0x06, 0x61, 0x5a, 0x1f, 0x74, 0x0d, 0x67, 0x6b, 0x97, 0xa1, + 0xae, 0xcb, 0x93, 0x63, 0x94, 0x08, 0x0e, 0xa2, 0x07, 0x09, 0x08, 0x69, 0x24, 0x24, 0x02, 0x72, + 0xda, 0x18, 0xf6, 0x3b, 0xce, 0x89, 0xdf, 0x10, 0x62, 0xce, 0xa7, 0xe1, 0x36, 0x20, 0x17, 0x8f, + 0xa2, 0x2b, 0xd3, 0xfc, 0x0a, 0xef, 0x50, 0xe9, 0x87, 0x3c, 0xdc, 0xba, 0xec, 0xab, 0x88, 0x56, + 0x1e, 0x0c, 0x66, 0xad, 0x11, 0x38, 0x80, 0x0d, 0xd9, 0xbf, 0x7c, 0xcb, 0xc4, 0xa2, 0x67, 0xf6, + 0x64, 0x85, 0x2a, 0xf2, 0x82, 0x83, 0x6c, 0x38, 0x92, 0xf6, 0xf2, 0xb1, 0x7d, 0xf3, 0xbd, 0xea, + 0x6f, 0x88, 0x65, 0xd7, 0x0b, 0x4f, 0x9e, 0xda, 0xa0, 0x1e, 0xb1, 0xda, 0x86, 0x92, 0x42, 0xca, + 0x59, 0x46, 0x22, 0x16, 0xe7, 0xc0, 0x13, 0xd6, 0xfd, 0xda, 0xb2, 0x4a, 0x53, 0x3a, 0xf5, 0x63, + 0x91, 0x2f, 0x8b, 0xbc, 0x7c, 0x43, 0xf2, 0x37, 0xfd, 0x3e, 0x5e, 0xcd, 0x23, 0x79, 0x37, 0xc2, + 0x3e, 0x47, 0xaf, 0xe9, 0xbf, 0x94, 0x56, 0xdc, 0xa3, 0x90, 0xbe, 0x3b, 0xb1, 0x58, 0x80, 0x75, + 0xf2, 0x03, 0x67, 0xd3, 0x7a, 0x2c, 0xa7, 0xb1, 0x27, 0x16, 0x1e, 0x08, 0x43, 0x84, 0x83, 0x16, + 0x1b, 0x49, 0x0d, 0xf9, 0x88, 0xe5, 0x2d, 0x30, 0x1f, 0x22, 0x11, 0xa7, 0x09, 0x36, 0xab, 0xbc, + 0x96, 0x52, 0xde, 0x31, 0x3e, 0x6b, 0x99, 0xd3, 0x50, 0xc8, 0x6f, 0xb8, 0x37, 0xe1, 0x56, 0x3a, + 0x8f, 0x7d, 0x11, 0xab, 0x8c, 0xac, 0xb7, 0xb8, 0xb9, 0x78, 0x16, 0x18, 0x9d, 0x41, 0xf9, 0x7a, + 0xfc, 0x60, 0x33, 0x79, 0x02, 0x32, 0xa3, 0x24, 0x95, 0xf8, 0x28, 0x80, 0x3a, 0xfa, 0x7a, 0xbf, + 0x7c, 0xd8, 0xba, 0xb5, 0x31, 0xcd, 0xe4, 0x99, 0xa2, 0x67, 0x01, 0x7d, 0xd5, 0xb8, 0x60, 0x57, + 0xc6, 0xdd, 0x48, 0x7f, 0x8c, 0x25, 0xf9, 0x5c, 0xb0, 0x34, 0x87, 0xf0, 0xe0, 0x91, 0x3d, 0xb0, + 0x91, 0xfd, 0xe6, 0x50, 0x83, 0x6b, 0xa2, 0xb7, 0xe4, 0xe1, 0x9b, 0x68, 0xd3, 0x78, 0x05, 0x93, + 0x89, 0xfc, 0x8d, 0x45, 0x89, 0x39, 0xad, 0xc8, 0xc3, 0xe0, 0x7a, 0x29, 0xed, 0xe9, 0xd5, 0x3b, + 0xcb, 0x6b, 0x81, 0x3c, 0xa9, 0xf1, 0x61, 0x25, 0x4f, 0x9c, 0xf3, 0x6a, 0x63, 0xc7, 0xb6, 0x3f, + 0x9f, 0x77, 0x0e, 0xc2, 0x76, 0x0e, 0x80, 0x91, 0xd9, 0x71, 0xa3, 0x52, 0x95, 0x84, 0x53, 0x65, + 0x09, 0x52, 0x64, 0x50, 0xe6, 0x12, 0xfd, 0xe0, 0x1a, 0xc4, 0x15, 0x96, 0x32, 0x30, 0x59, 0x6b, + 0xa9, 0x14, 0x23, 0xd3, 0xec, 0x17, 0x94, 0xc2, 0xa4, 0xe9, 0x37, 0x11, 0x73, 0x40, 0xec, 0xd0, + 0x11, 0x63, 0x24, 0xae, 0x60, 0x14, 0xa0, 0xbf, 0x50, 0x20, 0x86, 0xcb, 0x69, 0x32, 0xa6, 0xa6, + 0x52, 0x50, 0xae, 0x09, 0x1f, 0xef, 0x9a, 0xbe, 0x75, 0xee, 0x92, 0x79, 0x6a, 0xb6, 0x8a, 0x8f, + 0x4b, 0x8d, 0x6e, 0xc9, 0x82, 0xe4, 0x47, 0x70, 0x13, 0x1a, 0xe0, 0x8f, 0x27, 0x83, 0x27, 0x0a, + 0xd7, 0x78, 0xbe, 0x47, 0xc9, 0x13, 0xf5, 0x33, 0xae, 0x79, 0x7d, 0xdf, 0x2d, 0x85, 0xb4, 0x88, + 0x0f, 0xe3, 0x1a, 0x25, 0x61, 0x69, 0x4c, 0x9b, 0x24, 0x52, 0xc5, 0x48, 0x0f, 0x47, 0xff, 0x24, + 0x03, 0xb1, 0xc4, 0x7b, 0x4c, 0xc4, 0xda, 0xb2, 0x26, 0x42, 0x4d, 0x9f, 0x36, 0x4e, 0x2a, 0x86, + 0xb3, 0x6d, 0xc0, 0x60, 0xac, 0x2c, 0xf0, 0xba, 0xae, 0x27, 0xf6, 0xfa, 0xfb, 0x16, 0xc0, 0xce, + 0xa8, 0x3b, 0xb0, 0x6b, 0xe6, 0x4a, 0x5b, 0x16, 0xf4, 0xe5, 0x14, 0x98, 0xf8, 0xa3, 0xd5, 0xf5, + 0x72, 0xd3, 0x89, 0xef, 0xaf, 0x59, 0x79, 0x58, 0x0b, 0x31, 0x06, 0x40, 0xa7, 0xbe, 0x46, 0xf8, + 0x00, 0x10, 0x87, 0xa4, 0xb5, 0x1f, 0xb9, 0x0e, 0x7a, 0xdc, 0xed, 0x94, 0xa5, 0xc3, 0x7d, 0x6a, + 0x44, 0x7d, 0xd0, 0xe6, 0xb0, 0x74, 0xf8, 0xf3, 0xad, 0xcd, 0xab, 0xa2, 0x6b, 0xe9, 0x64, 0x8d, + 0x07, 0x0c, 0x48, 0x5a, 0xc4, 0xa1, 0x0e, 0xdb, 0x72, 0x1c, 0x10, 0x2b, 0x55, 0xef, 0xf0, 0xb9, + 0xc4, 0x1e, 0x0e, 0x57, 0xed, 0xa1, 0x3e, 0x0c, 0x69, 0xb4, 0x5b, 0x7a, 0xf8, 0x59, 0xe9, 0xe7, + 0x7a, 0xe1, 0x7e, 0xd9, 0x71, 0x14, 0x40, 0x73, 0xa8, 0x2c, 0x37, 0xd9, 0x8b, 0x58, 0xe5, 0x65, + 0x55, 0x40, 0xd3, 0x56, 0x46, 0x79, 0x44, 0x8e, 0xe2, 0x5f, 0x09, 0x98, 0x5b, 0x11, 0x0b, 0x18, + 0xe9, 0xc4, 0xe6, 0xae, 0xd6, 0xfc, 0xa9, 0x56, 0xac, 0x5f, 0x7b, 0x42, 0x1e, 0x28, 0x51, 0xec, + 0xb0, 0x91, 0x29, 0x79, 0xc5, 0x8c, 0x3b, 0x0e, 0x25, 0x27, 0x0c, 0x0b, 0xe7, 0x89, 0xcd, 0xeb, + 0x5b, 0x10, 0xce, 0x99, 0x71, 0x36, 0x43, 0x99, 0x7d, 0xef, 0x52, 0x6e, 0xe5, 0xd6, 0x2f, 0xcb, + 0x2a, 0x75, 0xaa, 0x42, 0xd5, 0x67, 0x94, 0x25, 0x9f, 0xa5, 0xfa, 0x9a, 0xfe, 0x0d, 0x83, 0x68, + 0xec, 0xda, 0x0f, 0x91, 0xa7, 0xec, 0xa5, 0x55, 0xd1, 0x4f, 0x9f, 0x24, 0xa3, 0xba, 0xf5, 0x52, + 0x19, 0xe3, 0xdd, 0xee, 0x1c, 0xa6, 0xbd, 0x31, 0xba, 0x22, 0xd2, 0x0d, 0x99, 0xed, 0xc1, 0x2b, + 0x33, 0xdf, 0x7f, 0x75, 0x49, 0x31, 0xdd, 0x9d, 0x87, 0x70, 0xce, 0x83, 0x2b, 0x2c, 0xd1, 0xc5, + 0xf1, 0xee, 0x7c, 0xb8, 0x1e, 0x75, 0xad, 0xd4, 0x84, 0x30, 0x0d, 0x22, 0x7f, 0xad, 0xae, 0x3c, + 0x5d, 0xdc, 0x72, 0x57, 0xfa, 0xed, 0x2d, 0x05, 0x46, 0x1b, 0x3f, 0x46, 0xf9, 0xfd, 0x34, 0xc7, + 0x8e, 0x26, 0x57, 0xd1, 0x72, 0xda, 0x9e, 0x42, 0xe2, 0x06, 0xc9, 0x5a, 0x99, 0x09, 0x58, 0xc0, + 0x89, 0xde, 0xe8, 0x30, 0x57, 0xd0, 0xf6, 0x46, 0x34, 0x07, 0x6d, 0x67, 0xbc, 0xf5, 0x12, 0x3e, + 0xd1, 0x5e, 0x32, 0x05, 0xcc, 0x6c, 0xa0, 0x76, 0xd9, 0x94, 0x8a, 0x1d, 0x77, 0x49, 0xb2, 0x26, + 0x20, 0x1c, 0xcd, 0xb7, 0x90, 0xa3, 0xc7, 0xa2, 0x34, 0x12, 0x0d, 0x93, 0xd0, 0x19, 0x03, 0x52, + 0x35, 0x1b, 0xc5, 0x5c, 0x08, 0x6a, 0x70, 0xfd, 0x0a, 0xb4, 0xfa, 0x39, 0xe6, 0x35, 0xb8, 0xda, + 0x94, 0xd3, 0xee, 0x28, 0x73, 0x66, 0x91, 0x44, 0x1e, 0x98, 0x19, 0xd0, 0x90, 0xd8, 0x4f, 0xe6, + 0x97, 0x11, 0x94, 0xa7, 0xff, 0x7a, 0xa5, 0x45, 0x5c, 0x9c, 0xe6, 0xfd, 0xc1, 0x01, 0xdf, 0x88, + 0x45, 0x0e, 0x98, 0x20, 0xb7, 0xa7, 0xee, 0xe8, 0x16, 0xb5, 0xb5, 0x4c, 0x46, 0x10, 0x16, 0xc8, + 0xd9, 0xbe, 0xd6, 0xab, 0x33, 0x11, 0xbe, 0x01, 0x39, 0xf5, 0x0c, 0x01, 0x39, 0xd5, 0xb3, 0x0d, + 0xa1, 0x51, 0x51, 0x96, 0xcc, 0x9c, 0x1f, 0x70, 0xce, 0x03, 0xb8, 0x90, 0xa6, 0xf7, 0x9e, 0x4c, + 0x37, 0xbe, 0x0c, 0x27, 0x25, 0x69, 0x41, 0xa7, 0x8f, 0xa6, 0xd9, 0x54, 0x79, 0xba, 0x91, 0x74, + 0x5b, 0xcd, 0x2b, 0x22, 0x2f, 0xe1, 0x98, 0x38, 0xde, 0x82, 0xe6, 0x18, 0xd5, 0x4f, 0x95, 0x85, + 0x47, 0xae, 0x25, 0x1a, 0x52, 0x23, 0x07, 0x09, 0xfa, 0x39, 0x5f, 0xdf, 0x6f, 0x82, 0xf0, 0x67, + 0x32, 0xe1, 0x0c, 0x29, 0x3b, 0xdc, 0x66, 0x5d, 0x1f, 0x4b, 0xf9, 0xc8, 0x0e, 0x28, 0x7f, 0x47, + 0x11, 0x3f, 0x6a, 0x71, 0x57, 0x95, 0xe2, 0x3a, 0x1b, 0x0c, 0x96, 0xcf, 0x2c, 0xaa, 0xe7, 0x41, + 0xaf, 0x0a, 0x88, 0xdc, 0x15, 0x00, 0x93, 0x4d, 0x5b, 0x90, 0x57, 0xd0, 0x3d, 0x9d, 0x50, 0x36, + 0x46, 0x5a, 0xc3, 0x7c, 0xb9, 0x2a, 0xe8, 0x91, 0x5b, 0x4c, 0x33, 0x39, 0x09, 0x6b, 0x59, 0xa1, + 0xb3, 0x7c, 0x89, 0x90, 0x1f, 0x84, 0x72, 0x7a, 0xc4, 0xce, 0x7d, 0x40, 0x70, 0x62, 0x8f, 0x4f, + 0xfb, 0xd8, 0xa2, 0x2b, 0x97, 0x4a, 0xe9, 0xe3, 0x80, 0x25, 0x42, 0x59, 0xe9, 0x4d, 0x1b, 0xb9, + 0x67, 0x27, 0xbf, 0x51, 0xda, 0xf1, 0xc8, 0x68, 0xc1, 0xa1, 0x93, 0x6d, 0x3e, 0x62, 0xda, 0x7b, + 0xde, 0xa1, 0xd6, 0xa3, 0x40, 0xf0, 0xa5, 0xf3, 0x31, 0x2d, 0x68, 0x0a, 0xd6, 0x12, 0xb7, 0x71, + 0xe2, 0x1d, 0x46, 0x0d, 0xf4, 0x27, 0x0a, 0xcb, 0xb3, 0x2e, 0x8c, 0x61, 0xa1, 0xba, 0xef, 0xab, + 0x22, 0x9e, 0xe1, 0x59, 0xb5, 0x6b, 0x0e, 0x3b, 0x4a, 0x43, 0x4c, 0x34, 0x91, 0x6b, 0x11, 0x48, + 0x89, 0x5a, 0x26, 0x24, 0x83, 0xed, 0xe7, 0xf9, 0x46, 0xf6, 0x31, 0x95, 0x49, 0x67, 0x92, 0xd8, + 0x6e, 0x47, 0xf7, 0xb1, 0x1a, 0xbe, 0xb8, 0x58, 0x0b, 0x4f, 0x78, 0x8b, 0x7d, 0xa7, 0xaa, 0x72, + 0xbb, 0x83, 0xe6, 0xad, 0x69, 0xc0, 0xe1, 0x50, 0x62, 0x7a, 0x5c, 0x2e, 0xfd, 0x06, 0x6e, 0xad, + 0xa8, 0x02, 0x0e, 0x0b, 0x42, 0x1d, 0xb1, 0x20, 0xd5, 0x82, 0x47, 0xec, 0x35, 0xb1, 0x98, 0xfd, + 0xdc, 0xdb, 0x30, 0xf2, 0x8d, 0x37, 0x18, 0xde, 0xdb, 0x92, 0x10, 0xb4, 0x3e, 0x7b, 0xb6, 0x64, + 0xb3, 0x0e, 0x5f, 0x5d, 0xc8, 0x47, 0x46, 0xfa, 0xa4, 0xad, 0xbc, 0x33, 0x9a, 0xc1, 0x5d, 0xe7, + 0x1a, 0xc2, 0xdb, 0x6c, 0xec, 0x8c, 0x08, 0x1f, 0x24, 0x6d, 0x93, 0x8c, 0x76, 0xbd, 0x59, 0xb3, + 0x32, 0x69, 0x49, 0x30, 0x57, 0x67, 0xf6, 0x65, 0xe4, 0x57, 0xd3, 0x94, 0xa0, 0x94, 0x4f, 0xda, + 0xef, 0x85, 0x8c, 0xfe, 0x83, 0x1a, 0x1f, 0x3d, 0xd6, 0xe0, 0x19, 0x9d, 0x8d, 0x0c, 0x60, 0x6c, + 0xd7, 0x52, 0x2b, 0x40, 0x8b, 0xfb, 0xee, 0x1a, 0x1d, 0x89, 0x49, 0xc9, 0xe7, 0x94, 0x27, 0x77, + 0x92, 0x59, 0x79, 0x3f, 0xf8, 0x23, 0x7f, 0x3a, 0x04, 0xce, 0x61, 0xd5, 0x23, 0x45, 0xef, 0x5e, + 0xb2, 0x81, 0x70, 0x24, 0x8a, 0x71, 0x6c, 0x0c, 0x93, 0xef, 0xfa, 0x07, 0x4d, 0x42, 0xf2, 0x6f, + 0x3b, 0xa9, 0x96, 0xdd, 0x33, 0xd9, 0xdb, 0x39, 0xa1, 0x36, 0xfa, 0x4a, 0x05, 0x41, 0x28, 0x90, + 0x77, 0xd6, 0x80, 0xf9, 0x6c, 0x93, 0xc2, 0x2e, 0xb0, 0xfd, 0x52, 0x21, 0x69, 0xe1, 0x2d, 0x76, + 0xe6, 0x24, 0x8b, 0x16, 0x1f, 0xed, 0x06, 0x14, 0xb4, 0x3c, 0x14, 0x12, 0x5a, 0x43, 0x9c, 0xd5, + 0x02, 0x6e, 0xb4, 0x62, 0x34, 0x41, 0x14, 0x14, 0xa4, 0xe4, 0xaa, 0xb4, 0x23, 0x9d, 0x8e, 0xca, + 0x1e, 0x11, 0xaf, 0x1f, 0x91, 0xe9, 0x8e, 0x49, 0x0f, 0x91, 0x3b, 0x83, 0x31, 0xd7, 0x88, 0x12, + 0xb3, 0xfe, 0xc1, 0xf9, 0x79, 0x8b, 0xf0, 0x36, 0xf2, 0x01, 0x8f, 0x99, 0x0c, 0x66, 0xfc, 0x5c, + 0xa4, 0x60, 0x93, 0xa4, 0x6f, 0x08, 0x2d, 0x3b, 0x85, 0x59, 0xbe, 0x70, 0x63, 0x4f, 0x67, 0xa9, + 0xe6, 0x6b, 0xc6, 0x70, 0x68, 0x48, 0xea, 0xa2, 0x14, 0xe2, 0xe4, 0x3c, 0x3a, 0xf5, 0x88, 0x1e, + 0x53, 0x78, 0xb1, 0x1f, 0x51, 0x8f, 0x25, 0x7d, 0x68, 0x49, 0x83, 0x4a, 0xba, 0x44, 0xc0, 0x43, + 0x81, 0x23, 0xaf, 0x1d, 0xa6, 0x8b, 0x34, 0x42, 0x88, 0x94, 0x04, 0xf0, 0x9d, 0x32, 0xc2, 0xc3, + 0x1b, 0x0e, 0xb0, 0xca, 0x93, 0x07, 0xf7, 0xbc, 0x7a, 0xf7, 0xa8, 0x5e, 0x44, 0xae, 0xea, 0x02, + 0x2c, 0x9e, 0xfc, 0xe7, 0x45, 0x3c, 0x12, 0x75, 0xac, 0xe0, 0xf3, 0x41, 0x8d, 0xfe, 0xc9, 0xda, + 0x78, 0x46, 0x92, 0x7c, 0xaf, 0xde, 0xd4, 0xc3, 0x33, 0xe3, 0xa1, 0xd9, 0x0d, 0x71, 0x12, 0xc8, + 0x6e, 0x28, 0x46, 0x21, 0xac, 0x09, 0xa2, 0x91, 0xa0, 0xc2, 0x23, 0xbb, 0x1b, 0x7e, 0x8e, 0x11, + 0x74, 0x22, 0x9f, 0x0e, 0x35, 0x69, 0xb0, 0x34, 0xf5, 0x78, 0x09, 0x12, 0x92, 0xb7, 0x65, 0x0f, + 0x30, 0x87, 0xb2, 0x26, 0xd5, 0xfc, 0x84, 0xcb, 0x20, 0xe5, 0x78, 0x00, 0xc8, 0x1e, 0x3f, 0x84, + 0x2a, 0xce, 0x33, 0x3c, 0xe8, 0xbf, 0xde, 0x16, 0x6e, 0xa1, 0x88, 0x8c, 0x0b, 0xa5, 0x93, 0x14, + 0x15, 0x31, 0xf0, 0xe4, 0xb4, 0xc6, 0xfc, 0x05, 0xc4, 0x49, 0x5f, 0xb2, 0x43, 0x45, 0x0e, 0x2b, + 0x13, 0x77, 0x8b, 0xfa, 0xef, 0xec, 0xfb, 0xe9, 0x37, 0xe2, 0x46, 0x59, 0x6e, 0xce, 0x73, 0xde, + 0x94, 0xcb, 0x57, 0x4c, 0xc7, 0x35, 0xe8, 0xbf, 0x26, 0x06, 0x42, 0xbf, 0xcf, 0x51, 0x3d, 0xd6, + 0xd1, 0x1a, 0xd3, 0x1d, 0x21, 0x06, 0x91, 0xfa, 0x81, 0x35, 0xa7, 0x09, 0x6e, 0xa7, 0xc6, 0x49, + 0x3e, 0x44, 0xf8, 0x02, 0x2c, 0x22, 0x90, 0x07, 0x02, 0x02, 0x1b, 0x19, 0xf2, 0x4c, 0x10, 0x1d, + 0xf4, 0x9c, 0x31, 0x94, 0x8c, 0xa0, 0xf3, 0xe7, 0xfe, 0xf2, 0xcf, 0xe5, 0x8b, 0xee, 0x76, 0xe6, + 0xfc, 0xc8, 0x79, 0x54, 0xe8, 0xc9, 0x9f, 0x88, 0x1c, 0x40, 0x9d, 0xc4, 0x33, 0x3b, 0x18, 0x2a, + 0x67, 0x95, 0x02, 0x45, 0x30, 0xff, 0x3a, 0x1b, 0x72, 0x31, 0x84, 0xfe, 0x50, 0x5b, 0x8d, 0x1d, + 0x2a, 0x6b, 0x1a, 0x63, 0xb5, 0xd2, 0x3a, 0xb0, 0xeb, 0x3b, 0x71, 0x50, 0x3e, 0xe3, 0xcc, 0xe0, + 0x4c, 0x6a, 0x36, 0x84, 0x7a, 0x3d, 0xa7, 0x27, 0x99, 0xc4, 0xb5, 0x8c, 0xbd, 0x73, 0x6c, 0x04, + 0x4d, 0xa3, 0x07, 0x4a, 0x09, 0x4f, 0x9b, 0xff, 0x82, 0x1e, 0x89, 0x82, 0x7a, 0xa1, 0xbf, 0xea, + 0x26, 0xd2, 0xdf, 0x0f, 0x7c, 0xfe, 0xe7, 0xe8, 0x31, 0xf4, 0x54, 0x5c, 0xd3, 0x7a, 0xab, 0xd1, + 0x54, 0xb5, 0xb5, 0x7f, 0x73, 0xa1, 0x48, 0x9b, 0x4e, 0xbb, 0x4f, 0x18, 0x89, 0xf5, 0x7b, 0x56, + 0x7b, 0x87, 0x29, 0x7f, 0x24, 0x08, 0x74, 0x93, 0x24, 0xe5, 0xdb, 0xd2, 0xfe, 0x4c, 0x91, 0xf6, + 0xa6, 0x8d, 0x49, 0x09, 0xc1, 0xb2, 0xa4, 0xb6, 0x43, 0x00, 0x05, 0x86, 0xf2, 0xba, 0xae, 0xba, + 0x33, 0x77, 0x02, 0x53, 0xf9, 0x7a, 0x3f, 0x9a, 0xab, 0x95, 0xe1, 0x14, 0x9e, 0xba, 0xb9, 0x49, + 0x62, 0x68, 0x00, 0x86, 0xda, 0xf8, 0x2a, 0xe2, 0x8c, 0x8b, 0x16, 0xfa, 0x18, 0xae, 0x1e, 0xf0, + 0x46, 0x2d, 0xaa, 0xfd, 0xb8, 0x65, 0x38, 0x74, 0xf0, 0x1b, 0x7c, 0xb2, 0x00, 0x99, 0x58, 0xff, + 0x04, 0xfb, 0xee, 0x8b, 0xdf, 0x16, 0x73, 0x61, 0x15, 0x24, 0x3b, 0x8a, 0x1e, 0x20, 0x1c, 0xc6, + 0x5b, 0x2a, 0x71, 0x66, 0x89, 0x19, 0x64, 0x44, 0xd7, 0xf3, 0x04, 0xe4, 0xa4, 0xbf, 0x32, 0x15, + 0x6c, 0x1f, 0x2c, 0x8e, 0xeb, 0x32, 0xbb, 0xb0, 0x84, 0xb8, 0x6a, 0xe4, 0x58, 0x3c, 0x10, 0x01, + 0xfe, 0x02, 0x7c, 0xe2, 0x6a, 0x9a, 0xfd, 0x38, 0xca, 0xa1, 0x26, 0x46, 0xfe, 0x0b, 0xfc, 0x09, + 0x5f, 0x59, 0xe0, 0x03, 0x4e, 0xb3, 0x26, 0xec, 0xd3, 0x39, 0x29, 0x68, 0xee, 0xea, 0x1c, 0x8a, + 0x0a, 0x6a, 0xf0, 0x97, 0x40, 0x5c, 0x05, 0x7b, 0xe2, 0x90, 0xfb, 0x30, 0xa1, 0x2f, 0x8c, 0x1a, + 0x97, 0xb2, 0xe7, 0x70, 0x3e, 0xaf, 0x24, 0x36, 0x1f, 0x4b, 0xe8, 0x0a, 0x08, 0x57, 0xd6, 0x49, + 0x14, 0xe6, 0xd4, 0xae, 0x6f, 0xed, 0xe3, 0x3c, 0x65, 0x0b, 0x48, 0xa8, 0xaf, 0x65, 0xb3, 0x12, + 0x52, 0xae, 0x37, 0x2d, 0x19, 0x26, 0xb0, 0x85, 0xc8, 0xe3, 0xc0, 0x05, 0x15, 0x71, 0x97, 0xae, + 0x79, 0x6b, 0x6f, 0xa5, 0x2c, 0x57, 0x39, 0x9d, 0x21, 0x17, 0x1a, 0xec, 0x0b, 0x35, 0xb0, 0xa5, + 0x7e, 0x7b, 0x76, 0xd4, 0x68, 0x4a, 0x0d, 0x6a, 0x49, 0x40, 0xfe, 0xbb, 0x8e, 0x39, 0xbe, 0xf9, + 0xcc, 0xec, 0x10, 0x7d, 0xaa, 0xf7, 0xb0, 0xac, 0x27, 0xe7, 0x7b, 0x29, 0x5c, 0x57, 0xaa, 0x47, + 0x0c, 0x0e, 0xe1, 0xbf, 0x5d, 0xc7, 0xef, 0x25, 0x21, 0xaa, 0x74, 0x01, 0x01, 0x95, 0xcc, 0x71, + 0x83, 0x61, 0x23, 0x2d, 0x58, 0xef, 0xcc, 0x9b, 0xba, 0x5b, 0x7b, 0x1f, 0xbd, 0x3c, 0xfd, 0x37, + 0xa9, 0xca, 0x97, 0x2d, 0x34, 0x41, 0x33, 0x9a, 0xb6, 0x68, 0xd8, 0x87, 0x72, 0xbf, 0x0e, 0x66, + 0x48, 0xad, 0x83, 0x67, 0xec, 0xaf, 0x07, 0x9b, 0x74, 0x6c, 0x50, 0xfe, 0xd4, 0x9c, 0xbb, 0xe5, + 0xdc, 0x65, 0x0c, 0xa7, 0xed, 0x50, 0x59, 0xa7, 0x58, 0x54, 0x40, 0x1a, 0xe4, 0xb2, 0xfd, 0x11, + 0x1b, 0x71, 0x23, 0xfc, 0x2d, 0x82, 0x66, 0xfc, 0x28, 0x6a, 0xcc, 0xa3, 0x29, 0x38, 0x79, 0xcd, + 0x8b, 0x4d, 0xcc, 0xbe, 0xb5, 0x2f, 0x1a, 0x6a, 0xf5, 0x5e, 0x95, 0x61, 0xc9, 0x3f, 0xdd, 0xd5, + 0x2d, 0xca, 0xda, 0x61, 0xf1, 0x86, 0x8f, 0x4f, 0x13, 0x30, 0xe9, 0x2c, 0x71, 0xb2, 0x7c, 0xe9, + 0x81, 0xb7, 0x6d, 0xf3, 0x19, 0x3a, 0xdd, 0x70, 0x1e, 0xf7, 0x98, 0xd2, 0x85, 0x24, 0x08, 0xf6, + 0x96, 0xeb, 0x9f, 0xca, 0xa4, 0x3b, 0x43, 0x7c, 0x1a, 0x83, 0x9d, 0x61, 0xcf, 0x01, 0xf1, 0xb2, + 0xc4, 0xb5, 0x92, 0x91, 0xdd, 0xa4, 0x4f, 0x9e, 0x0d, 0xd4, 0xed, 0xb0, 0xa5, 0x92, 0x17, 0x15, + 0xda, 0xd2, 0x43, 0xdf, 0x04, 0x3c, 0x1c, 0x0f, 0x82, 0x34, 0x55, 0x73, 0xee, 0x79, 0xbd, 0x4f, + 0x94, 0xbb, 0x2d, 0xcf, 0xd6, 0xa1, 0x65, 0xd9, 0x41, 0xbc, 0x07, 0xe0, 0x38, 0xaf, 0x4d, 0x95, + 0xac, 0xb1, 0xcf, 0x74, 0x3c, 0xb6, 0xd9, 0x94, 0x3f, 0x1d, 0xef, 0x60, 0x3c, 0x3d, 0x62, 0x79, + 0xbd, 0x9e, 0xf7, 0xbb, 0xfe, 0x11, 0xe8, 0x7c, 0x31, 0x7f, 0xd0, 0xeb, 0x75, 0x60, 0x2c, 0x74, + 0x38, 0x53, 0x37, 0x3a, 0x82, 0x36, 0xee, 0xd1, 0x56, 0x3f, 0x79, 0x32, 0xac, 0x54, 0xc3, 0x9c, + 0xb7, 0xef, 0x92, 0xd3, 0x37, 0x12, 0x91, 0x7a, 0x0c, 0x59, 0x0d, 0x5c, 0xd9, 0x69, 0x25, 0xfa, + 0x1c, 0x8d, 0x33, 0xbc, 0xc0, 0x9d, 0xa3, 0x1e, 0x5d, 0x77, 0xa5, 0xc5, 0x29, 0xb3, 0x95, 0x53, + 0x12, 0xad, 0x9b, 0x39, 0xbb, 0xbe, 0x48, 0xa5, 0x8c, 0x9d, 0xac, 0x83, 0x2f, 0x0a, 0x0a, 0xe9, + 0x6c, 0x0d, 0x56, 0x62, 0xc5, 0x1f, 0x04, 0xa9, 0xa8, 0xb5, 0x5e, 0x51, 0xc1, 0x0f, 0x44, 0x42, + 0xa8, 0xf6, 0xbb, 0xc4, 0x5c, 0x68, 0x44, 0xdc, 0x55, 0x9f, 0x1d, 0x1f, 0xff, 0xe0, 0x61, 0x1b, + 0xf3, 0x84, 0x0e, 0x04, 0xdd, 0x9b, 0x2b, 0x64, 0x3c, 0x62, 0x78, 0x8b, 0x8e, 0x6a, 0x02, 0x3d, + 0x45, 0xc9, 0xd6, 0xee, 0x28, 0xb6, 0xf8, 0x60, 0x70, 0xe0, 0xdd, 0x5e, 0xc8, 0x9e, 0x84, 0x1e, + 0xe9, 0x07, 0x9b, 0xdf, 0x68, 0x19, 0x43, 0x70, 0xe9, 0xd9, 0xa0, 0x18, 0xcf, 0x60, 0x0d, 0x8f, + 0xe0, 0xdb, 0x78, 0x4e, 0xd8, 0xdb, 0x08, 0x0f, 0x4c, 0x31, 0x11, 0xe4, 0xc0, 0x1c, 0x0f, 0xc8, + 0xba, 0x02, 0x73, 0x35, 0x5f, 0xd3, 0x54, 0x77, 0x61, 0xab, 0x0a, 0x4c, 0x3e, 0x67, 0xd7, 0xa4, + 0x0f, 0x0e, 0x3b, 0x49, 0x6a, 0xb3, 0x77, 0x8d, 0x09, 0x0f, 0xcd, 0x23, 0x67, 0x5f, 0x9b, 0xc1, + 0xb7, 0xe3, 0xa7, 0xfb, 0xba, 0xd5, 0x18, 0x6d, 0x77, 0x6b, 0xd4, 0xf5, 0xbe, 0x67, 0x33, 0x72, + 0xf9, 0x73, 0x91, 0xfb, 0x44, 0x21, 0x8e, 0xa7, 0xd8, 0xa4, 0xc7, 0xce, 0x62, 0x12, 0x0f, 0x4a, + 0x70, 0x18, 0x31, 0xdc, 0x22, 0x81, 0x27, 0x0d, 0x3d, 0x18, 0x63, 0x11, 0xfb, 0x89, 0xd2, 0x0d, + 0x0b, 0x11, 0xd4, 0xb2, 0xc2, 0x6b, 0x5f, 0xfa, 0xf8, 0x6d, 0x2c, 0x4f, 0xed, 0x9e, 0x45, 0xfc, + 0xcf, 0x8d, 0x0a, 0x8c, 0x4d, 0x84, 0xe8, 0x8b, 0x0e, 0xd7, 0x73, 0x7c, 0xb8, 0x46, 0xc6, 0x5c, + 0x40, 0x3a, 0xb6, 0x67, 0x3a, 0x71, 0x1c, 0x3b, 0xa5, 0x68, 0xbf, 0x21, 0x02, 0x6d, 0x61, 0xe1, + 0x68, 0x71, 0xf2, 0xab, 0x05, 0xde, 0x0b, 0x27, 0x3a, 0x60, 0x09, 0x66, 0xe8, 0x55, 0x6d, 0x53, + 0x3c, 0xfe, 0x83, 0xb7, 0x41, 0xfb, 0x7d, 0xb8, 0x8a, 0x29, 0x54, 0x47, 0xd3, 0x1c, 0xaf, 0x85, + 0xf9, 0x43, 0x61, 0x10, 0x7d, 0x81, 0x94, 0x24, 0xd7, 0x32, 0x68, 0x27, 0x6b, 0x99, 0xa5, 0xb4, + 0xfe, 0x19, 0xe2, 0x25, 0xce, 0x35, 0x78, 0x18, 0xbb, 0x47, 0xd3, 0xed, 0x9d, 0x94, 0xd5, 0x61, + 0xfa, 0xee, 0x8b, 0x77, 0x69, 0x87, 0x48, 0x23, 0x0f, 0x21, 0x07, 0x5f, 0x21, 0x4f, 0xbc, 0x58, + 0x2c, 0xf8, 0x34, 0x80, 0x3a, 0x4d, 0x8b, 0x7c, 0xdd, 0x89, 0xdf, 0xc4, 0xaa, 0x03, 0x5f, 0x76, + 0x81, 0xe2, 0xbd, 0xc8, 0x23, 0xdd, 0x1f, 0xfb, 0x50, 0x4b, 0xd9, 0x29, 0x9b, 0xd1, 0xa7, 0x09, + 0x81, 0xcd, 0xce, 0x39, 0xfd, 0xbb, 0xd5, 0x66, 0xd2, 0xe7, 0x5e, 0xa4, 0x3f, 0x2c, 0x7f, 0x56, + 0x68, 0x44, 0xa0, 0x7b, 0x05, 0xc9, 0x48, 0x5b, 0xe6, 0xd2, 0xf9, 0x99, 0x21, 0x7c, 0xc0, 0xc0, + 0x45, 0xd1, 0x04, 0x96, 0xca, 0x2a, 0x04, 0x7d, 0xe8, 0xbc, 0x5f, 0x99, 0x5b, 0x7d, 0x1e, 0x09, + 0x17, 0x11, 0x44, 0x8c, 0x23, 0xf1, 0xc1, 0xc7, 0x0f, 0x06, 0x73, 0xd0, 0x40, 0x78, 0x0f, 0x38, + 0x0b, 0x65, 0x34, 0x8c, 0xdf, 0xe9, 0x69, 0x38, 0xbe, 0x2d, 0xc1, 0xf1, 0xd7, 0xc0, 0x10, 0x16, + 0x91, 0xa3, 0xf6, 0xfc, 0xd9, 0xa7, 0xcc, 0x7f, 0x18, 0xe0, 0x91, 0x8f, 0x1e, 0x3c, 0x2f, 0x1f, + 0x7f, 0x4f, 0x4c, 0x2a, 0x7c, 0x8c, 0x63, 0x55, 0xf0, 0xfd, 0x7b, 0x98, 0x66, 0xee, 0x6e, 0x06, + 0x0d, 0x70, 0xc8, 0xd3, 0x67, 0xcb, 0x29, 0xaf, 0xb0, 0xef, 0xc6, 0xf8, 0xbb, 0xf2, 0xa5, 0x8a, + 0x52, 0x87, 0xed, 0xa5, 0xac, 0x11, 0x54, 0xc8, 0x18, 0x1d, 0xe9, 0xca, 0x78, 0xa1, 0x2d, 0x80, + 0x4a, 0xc7, 0xad, 0x49, 0xfb, 0x12, 0xba, 0xd3, 0xba, 0x19, 0xe0, 0x71, 0xd1, 0xce, 0x75, 0x15, + 0x21, 0xb2, 0x72, 0x1a, 0x2d, 0x2b, 0x21, 0xfc, 0xa3, 0xd5, 0xc2, 0x5b, 0x0c, 0x24, 0xa1, 0x99, + 0xd5, 0x7e, 0x44, 0x6b, 0xc6, 0xc3, 0x58, 0x9f, 0x62, 0xfc, 0x4d, 0x83, 0xb6, 0x6c, 0xcb, 0xa1, + 0xac, 0x98, 0x29, 0x4b, 0x15, 0x69, 0xaf, 0xd4, 0x44, 0x23, 0x50, 0x66, 0xcd, 0x22, 0x2d, 0x6d, + 0x72, 0xbe, 0x82, 0x02, 0xbc, 0xe3, 0xbf, 0xbf, 0x71, 0x63, 0xfd, 0x46, 0xb6, 0x44, 0xfe, 0x1c, + 0x45, 0xb9, 0xc9, 0x2e, 0xc9, 0x25, 0x23, 0xe6, 0xd0, 0xa0, 0x96, 0xd5, 0x1d, 0xd6, 0x98, 0xc5, + 0xe7, 0x06, 0x68, 0x39, 0xce, 0x2f, 0x50, 0xb7, 0xdc, 0xa3, 0x2b, 0x91, 0x34, 0xd2, 0x8e, 0x98, + 0xf9, 0x68, 0xf9, 0x52, 0x61, 0xb0, 0x92, 0xd9, 0x78, 0x41, 0x8c, 0xa3, 0xb1, 0x04, 0x2c, 0x5a, + 0xc6, 0x83, 0x64, 0x7a, 0xf3, 0x60, 0x80, 0xe0, 0xf5, 0x07, 0x20, 0xb8, 0x9f, 0x27, 0x18, 0x6b, + 0xeb, 0xa1, 0x39, 0x40, 0x16, 0x2c, 0x47, 0xf9, 0x1a, 0x7b, 0x0f, 0x8f, 0x4d, 0x7e, 0xab, 0x57, + 0x52, 0xd1, 0xf1, 0x77, 0x94, 0xda, 0x38, 0x9f, 0xe4, 0xff, 0x37, 0x82, 0x17, 0xa7, 0xd4, 0xfe, + 0xf7, 0xa9, 0x74, 0xb0, 0x29, 0x97, 0x75, 0xa3, 0xf8, 0x8a, 0xa1, 0xdc, 0xfb, 0xe5, 0x4f, 0xf2, + 0x70, 0xdd, 0x4b, 0x86, 0x3a, 0xc2, 0x3e, 0xf9, 0xd9, 0x5a, 0x67, 0x0f, 0x95, 0xf4, 0xf4, 0x05, + 0x07, 0xd0, 0x87, 0x2a, 0x7e, 0xd4, 0xb9, 0x81, 0x73, 0x11, 0x2c, 0xff, 0xce, 0x9f, 0xf7, 0x8b, + 0x27, 0xa3, 0xd9, 0x47, 0x95, 0x6f, 0x9a, 0xd5, 0x1c, 0x1f, 0x70, 0x90, 0xb1, 0x09, 0x02, 0xb0, + 0x8b, 0x95, 0xcf, 0xe1, 0xa6, 0xd1, 0xc6, 0xc8, 0xd0, 0x94, 0x9f, 0x77, 0xfd, 0x36, 0x1e, 0x93, + 0xb2, 0xb0, 0x7e, 0x4b, 0xb9, 0x07, 0x5d, 0x2f, 0xdd, 0x45, 0xee, 0x7c, 0x55, 0x1d, 0x5a, 0x9c, + 0xb3, 0xeb, 0x2b, 0xa4, 0xfe, 0x09, 0xed, 0xa8, 0x69, 0x13, 0xe6, 0xdd, 0xcc, 0x56, 0x5e, 0x08, + 0x5b, 0xd7, 0x6b, 0x41, 0x15, 0x1c, 0x9e, 0xf6, 0x4e, 0x34, 0x3b, 0x20, 0x4a, 0x7b, 0x13, 0x4f, + 0xbe, 0x83, 0x5a, 0x29, 0x28, 0xdf, 0xf6, 0xc2, 0x0a, 0x35, 0x70, 0x12, 0xd4, 0x04, 0x71, 0x66, + 0xcc, 0x19, 0xaf, 0xb2, 0xfe, 0x80, 0x43, 0xa4, 0x49, 0x4b, 0x89, 0x5b, 0x15, 0xba, 0x8b, 0x24, + 0x26, 0x98, 0x2a, 0xd0, 0x13, 0x3c, 0x3d, 0xd6, 0x19, 0xfc, 0xfd, 0x2f, 0x71, 0x9d, 0x77, 0xf1, + 0x55, 0x00, 0x4e, 0x46, 0x18, 0x5e, 0xe5, 0xfe, 0x6f, 0x66, 0x48, 0x0b, 0x4b, 0x24, 0x90, 0xd5, + 0x91, 0xd6, 0x51, 0xcb, 0xaf, 0xd1, 0xab, 0x78, 0x7c, 0x7f, 0xaf, 0x1d, 0x27, 0xec, 0x87, 0x59, + 0xc3, 0xef, 0xcf, 0xaa, 0xe7, 0x76, 0x59, 0x83, 0x43, 0xb8, 0xb9, 0x98, 0x93, 0xae, 0x43, 0x11, + 0x5e, 0x90, 0x98, 0x19, 0xd2, 0xb1, 0xd7, 0x7d, 0xc3, 0x79, 0xa3, 0x8b, 0x7b, 0x47, 0x6a, 0x2c, + 0xf9, 0x3c, 0xfa, 0xf2, 0xe6, 0xf4, 0x0d, 0xc2, 0x96, 0x06, 0x69, 0xfd, 0x06, 0x96, 0x9b, 0xed, + 0x25, 0x78, 0x26, 0x54, 0x58, 0xcb, 0xa1, 0x1c, 0xa1, 0x1f, 0x1b, 0x74, 0x6c, 0x6f, 0x93, 0x24, + 0x4b, 0x0b, 0x0e, 0x78, 0xc4, 0xc9, 0x52, 0xff, 0xc3, 0x56, 0x41, 0x6d, 0x02, 0x6c, 0x3c, 0x36, + 0xc6, 0x95, 0x13, 0x50, 0x84, 0x69, 0x02, 0x0a, 0xf5, 0x22, 0x36, 0xf1, 0x09, 0x6e, 0x6c, 0x79, + 0x64, 0xbc, 0x8c, 0xbb, 0x3a, 0xca, 0x3b, 0x4c, 0x29, 0xd3, 0xa2, 0x05, 0x2c, 0xb5, 0xe9, 0xf4, + 0xb0, 0xc3, 0x98, 0xca, 0x14, 0x2c, 0xb0, 0xb1, 0xad, 0xa4, 0x34, 0x96, 0xcf, 0x5e, 0xed, 0xda, + 0x30, 0x03, 0xb5, 0x85, 0x3d, 0x71, 0x08, 0x98, 0x17, 0x81, 0x8d, 0xc3, 0xae, 0xad, 0x46, 0x9a, + 0xf9, 0xfc, 0x10, 0xc3, 0xa7, 0x0f, 0x8a, 0xfc, 0x90, 0xd3, 0xd2, 0x50, 0x8f, 0x43, 0x16, 0x5e, + 0x5a, 0x86, 0x32, 0xf7, 0x0a, 0x22, 0xa4, 0x35, 0x5b, 0xa4, 0x0f, 0x57, 0x5e, 0x92, 0xd9, 0x7a, + 0xca, 0x04, 0xb8, 0x9d, 0xe2, 0x50, 0xec, 0xf6, 0x3f, 0xec, 0x9f, 0x5e, 0x2a, 0x32, 0x4d, 0xa1, + 0xc1, 0x8a, 0x05, 0xff, 0xbd, 0x31, 0xde, 0x45, 0x01, 0x85, 0x26, 0xf6, 0xc3, 0x69, 0xe5, 0xf4, + 0x81, 0x90, 0x98, 0xe7, 0xad, 0xee, 0xd5, 0x46, 0x9b, 0xd6, 0x80, 0xcc, 0x81, 0x82, 0x2c, 0xde, + 0x80, 0xd2, 0x3d, 0xc7, 0x0a, 0xe4, 0xaf, 0x11, 0x17, 0xa9, 0x94, 0xaf, 0xe1, 0xff, 0xae, 0x70, + 0xbf, 0xb3, 0x61, 0x33, 0x4f, 0xfa, 0x42, 0x65, 0x55, 0x86, 0x21, 0x1b, 0x90, 0xf9, 0xa6, 0x06, + 0x48, 0x5b, 0xe2, 0xd0, 0xab, 0xcf, 0xef, 0x74, 0x4e, 0xac, 0x34, 0x21, 0xa1, 0xd0, 0x63, 0x1a, + 0x2c, 0xfd, 0xd2, 0x72, 0x55, 0x51, 0xa3, 0x4f, 0xd2, 0x9f, 0x9a, 0x3e, 0xaa, 0xcb, 0x7a, 0x90, + 0xad, 0xbb, 0x74, 0x53, 0xfb, 0x9c, 0x6f, 0xb8, 0x8c, 0xc0, 0x58, 0x92, 0x39, 0x3d, 0x3f, 0xd5, + 0x2b, 0x5f, 0x86, 0x8f, 0x81, 0x9d, 0x3e, 0x9e, 0xa0, 0x42, 0x24, 0xf9, 0xd3, 0x3d, 0xd5, 0x03, + 0x70, 0xf4, 0xd8, 0xa4, 0x7e, 0xa7, 0xb9, 0x23, 0x1b, 0xc0, 0xa8, 0x5f, 0x8a, 0xe1, 0x48, 0x26, + 0x29, 0xce, 0xd9, 0x9c, 0x58, 0x8d, 0x2e, 0xdd, 0x62, 0xef, 0xff, 0x2b, 0xfe, 0xf4, 0xf7, 0x5f, + 0x5a, 0x9c, 0x98, 0x4b, 0x17, 0xe2, 0xf3, 0xbe, 0x7e, 0x67, 0x94, 0xd6, 0xb4, 0xca, 0x47, 0xd1, + 0x86, 0xbf, 0x96, 0x0c, 0x81, 0x96, 0xac, 0x18, 0xdd, 0xc8, 0xe0, 0x72, 0x97, 0x74, 0x26, 0xa5, + 0x66, 0x82, 0xfd, 0x54, 0x2b, 0xe9, 0x0e, 0x1a, 0xc4, 0x50, 0xe9, 0xff, 0x1e, 0x41, 0x96, 0x4c, + 0x18, 0xa7, 0x86, 0x4b, 0x36, 0x25, 0xb3, 0x67, 0xfa, 0x92, 0x0f, 0xb3, 0xed, 0x04, 0xff, 0x82, + 0x63, 0x09, 0x94, 0x86, 0x23, 0xbf, 0x14, 0xe1, 0x76, 0x0a, 0x1a, 0x12, 0x39, 0x7c, 0x8d, 0xde, + 0x6b, 0x1f, 0xa7, 0x14, 0x94, 0x03, 0x73, 0xbc, 0x26, 0x46, 0x93, 0xcc, 0xb7, 0x5a, 0x5c, 0xf8, + 0xc0, 0xb6, 0x13, 0x73, 0xe5, 0xc3, 0x63, 0xe9, 0x4a, 0xc7, 0xa5, 0x20, 0x4f, 0xb7, 0xb5, 0x5b, + 0x7b, 0x27, 0xc7, 0x45, 0x05, 0x49, 0x4a, 0x92, 0x59, 0x09, 0xb0, 0xc5, 0xa4, 0xf5, 0xc4, 0xfc, + 0x62, 0x58, 0x98, 0x41, 0x6a, 0xb3, 0x2e, 0x05, 0x39, 0x82, 0xfe, 0xaa, 0x3b, 0x26, 0xb2, 0x79, + 0x64, 0xf7, 0xa1, 0x15, 0xc7, 0xb4, 0xaf, 0xa4, 0xc8, 0x98, 0x9b, 0x02, 0xc8, 0xff, 0xf5, 0x8a, + 0x5c, 0x77, 0x3d, 0xfa, 0xcf, 0x2b, 0x91, 0x3d, 0x1e, 0x43, 0xdc, 0xee, 0x12, 0xbb, 0xf1, 0x04, + 0x91, 0x1f, 0xea, 0x2f, 0xea, 0x39, 0xd3, 0x0c, 0xb6, 0xae, 0x8f, 0xb7, 0x77, 0x3f, 0xed, 0x19, + 0x35, 0x98, 0xf3, 0xb3, 0xde, 0x14, 0x31, 0x4e, 0xba, 0x9d, 0xcc, 0xd8, 0xfa, 0xac, 0x2b, 0xd0, + 0x3c, 0xbc, 0x37, 0xd5, 0x9f, 0x85, 0x22, 0x37, 0xf3, 0xfb, 0x5e, 0xbf, 0xd6, 0x04, 0x2d, 0x53, + 0x40, 0xf1, 0x95, 0x41, 0x26, 0x71, 0xde, 0x92, 0x4e, 0x74, 0x59, 0x6c, 0x1e, 0xab, 0x06, 0x80, + 0xd8, 0x21, 0xdf, 0xe6, 0x5e, 0xe8, 0x97, 0x15, 0x92, 0x85, 0x7b, 0xc4, 0xc9, 0x7b, 0x72, 0xfb, + 0x9b, 0x0b, 0x8f, 0xb0, 0x6c, 0x0d, 0xfb, 0x05, 0xb1, 0xc4, 0x10, 0x19, 0x1a, 0xb1, 0x53, 0xd3, + 0xe5, 0x5e, 0x6c, 0x11, 0xe7, 0x6c, 0x82, 0xdc, 0x22, 0xf2, 0xd3, 0xa2, 0x84, 0x73, 0x72, 0xe4, + 0x57, 0x76, 0xf1, 0x1b, 0x97, 0x01, 0x89, 0xf6, 0xd5, 0x44, 0x62, 0x51, 0x23, 0x73, 0xe9, 0x9d, + 0xb3, 0x06, 0xb3, 0x98, 0xd8, 0xa5, 0x57, 0x4e, 0xad, 0xc0, 0xf8, 0xd9, 0xb5, 0xd7, 0xf1, 0x4b, + 0x75, 0x98, 0x79, 0x49, 0x62, 0xff, 0x01, 0xfe, 0xec, 0x6e, 0xee, 0xeb, 0x77, 0xe4, 0x21, 0xd1, + 0x1f, 0x29, 0xc2, 0xdb, 0xc4, 0x09, 0x0a, 0xa2, 0x4a, 0x15, 0x44, 0x1b, 0x5e, 0x71, 0xd3, 0x61, + 0xff, 0x33, 0x9d, 0x80, 0xdb, 0x6e, 0xa5, 0x9a, 0x8d, 0x0a, 0x84, 0xf1, 0x23, 0x14, 0x2c, 0x30, + 0x4c, 0xd3, 0xb8, 0xa3, 0x75, 0x40, 0x5d, 0xbf, 0x53, 0xfc, 0xf4, 0x72, 0xd2, 0x45, 0x06, 0xb6, + 0x0c, 0xf7, 0xcc, 0xf9, 0xf3, 0x86, 0x35, 0xdd, 0x0f, 0x44, 0xd1, 0x53, 0x7c, 0xca, 0x4c, 0x35, + 0x56, 0xfa, 0x76, 0x35, 0x6e, 0x74, 0x32, 0x10, 0x88, 0xbc, 0x2d, 0x4b, 0xbb, 0xd0, 0x5f, 0x11, + 0x6e, 0x00, 0xcb, 0xa2, 0x1e, 0x66, 0x07, 0x91, 0xfe, 0x2d, 0x12, 0x7f, 0x76, 0xd4, 0xc1, 0x54, + 0x35, 0x2d, 0xb4, 0xad, 0xc0, 0x29, 0xdf, 0xdc, 0xd1, 0x5d, 0xc3, 0x4d, 0x94, 0xa6, 0x58, 0x61, + 0xa8, 0x8c, 0x07, 0xba, 0xb6, 0xfe, 0xff, 0xb0, 0x1d, 0x7e, 0x4b, 0xc1, 0x87, 0x86, 0x87, 0xf1, + 0xc1, 0x04, 0x68, 0xc1, 0x3d, 0xf4, 0xf3, 0x16, 0x8e, 0x3b, 0x2f, 0x11, 0xbe, 0x54, 0x7d, 0x0f, + 0xe1, 0x54, 0xea, 0xbf, 0x93, 0xcf, 0x15, 0xcc, 0x84, 0xc4, 0x04, 0x38, 0x91, 0x80, 0xad, 0xfa, + 0x51, 0x10, 0xf4, 0xb2, 0x80, 0x63, 0x65, 0x35, 0x16, 0x30, 0xdd, 0x26, 0xed, 0x7a, 0xa6, 0x8e, + 0x8a, 0xd0, 0x37, 0x02, 0x94, 0x44, 0x08, 0x33, 0x27, 0x2f, 0xf7, 0x5d, 0xcd, 0x9a, 0xaa, 0x52, + 0x1b, 0x8b, 0xf1, 0x7b, 0x3d, 0x99, 0x9f, 0xbe, 0x09, 0x63, 0xdf, 0x5a, 0x29, 0xad, 0xfd, 0xdf, + 0xdb, 0xde, 0x14, 0x6c, 0x55, 0x12, 0x57, 0xf1, 0xd4, 0xc7, 0x85, 0x03, 0x7c, 0x5e, 0xd3, 0xb7, + 0x73, 0x30, 0xd7, 0x17, 0xf3, 0x42, 0xee, 0x51, 0xf5, 0xa7, 0x6b, 0x4d, 0x6d, 0x9a, 0x35, 0x60, + 0xed, 0xaa, 0x1e, 0xae, 0x68, 0x9a, 0x2e, 0x2e, 0xe0, 0x51, 0x11, 0x47, 0x22, 0x5b, 0xcf, 0x14, + 0x8e, 0xcf, 0x55, 0x7e, 0x24, 0x67, 0xb3, 0xbc, 0x39, 0x8c, 0xc9, 0xd1, 0x7c, 0x6c, 0xa8, 0x35, + 0xac, 0x3b, 0x86, 0xe4, 0x87, 0x23, 0xc5, 0x61, 0x35, 0x0a, 0xbf, 0xb8, 0xa5, 0x35, 0x89, 0x6b, + 0xba, 0x77, 0x7a, 0x33, 0xed, 0x5c, 0x4e, 0xd6, 0x57, 0x20, 0x45, 0x5b, 0xa1, 0xe1, 0xeb, 0x61, + 0xf1, 0xec, 0x5c, 0xc9, 0xf6, 0x3d, 0x70, 0x56, 0xc3, 0xff, 0x41, 0x17, 0xe6, 0x37, 0xd6, 0x2f, + 0xfc, 0xfd, 0x69, 0x89, 0x38, 0x0f, 0x9d, 0x1d, 0xc3, 0x61, 0x61, 0x12, 0x5f, 0x5b, 0xc9, 0x18, + 0xf7, 0x73, 0x5b, 0x15, 0xd1, 0xe0, 0x9e, 0xb3, 0xbf, 0x7b, 0x74, 0x79, 0x10, 0xcd, 0x41, 0x6c, + 0x89, 0x8d, 0x86, 0xa9, 0x35, 0x8a, 0x0f, 0x5b, 0xba, 0x0d, 0x6e, 0x3b, 0x19, 0xd0, 0x9d, 0xf5, + 0x50, 0x65, 0x93, 0xfc, 0x7c, 0xa0, 0xab, 0x60, 0x3e, 0x7e, 0x0f, 0x8d, 0x21, 0x23, 0x0e, 0xd0, + 0x93, 0x6f, 0x87, 0xa5, 0x44, 0xcb, 0x17, 0x17, 0x4e, 0x0e, 0x8a, 0x80, 0xf7, 0x15, 0xfb, 0x98, + 0x43, 0xd7, 0x06, 0xb3, 0x2f, 0x11, 0x01, 0xc3, 0x72, 0x4b, 0xb5, 0xa4, 0x25, 0x7a, 0xe7, 0x54, + 0xa6, 0x3c, 0x10, 0xf3, 0x40, 0x83, 0x9b, 0xf6, 0x86, 0xbf, 0x79, 0x76, 0xa1, 0xad, 0x04, 0x5b, + 0x04, 0x05, 0x1f, 0xd9, 0x4c, 0x27, 0x2d, 0x8a, 0xd0, 0xdf, 0x28, 0xc4, 0x44, 0x8e, 0xf6, 0x92, + 0x2b, 0x15, 0x75, 0x4a, 0x7d, 0x2f, 0x93, 0xce, 0xcf, 0xbc, 0x02, 0xe3, 0x83, 0x00, 0x9c, 0x4f, + 0x28, 0x7b, 0x06, 0x1c, 0xcd, 0x20, 0x0d, 0x70, 0xd4, 0xd3, 0x59, 0x88, 0xcf, 0x69, 0x89, 0x1c, + 0xa6, 0x76, 0x57, 0xfa, 0xde, 0x08, 0xaf, 0xe4, 0x5b, 0x71, 0xa3, 0x5b, 0x29, 0x4a, 0x75, 0x56, + 0x53, 0x51, 0xf5, 0x8f, 0x9d, 0x10, 0x7c, 0x23, 0x43, 0x05, 0x88, 0x0e, 0xfa, 0x0b, 0x81, 0x4a, + 0x48, 0xbc, 0x7e, 0x0c, 0x7f, 0xb0, 0x13, 0xd3, 0x3d, 0xa8, 0x92, 0x76, 0xee, 0xcf, 0xf7, 0x49, + 0x12, 0x08, 0x7f, 0xdf, 0xa8, 0x55, 0x0e, 0x53, 0x00, 0xdf, 0xd8, 0xe4, 0x2e, 0xc7, 0x0a, 0x94, + 0x03, 0xc7, 0x74, 0x42, 0x49, 0x66, 0x50, 0xad, 0xd8, 0xf6, 0xf6, 0x6f, 0xbd, 0x9a, 0x16, 0xcb, + 0xc8, 0x0b, 0xdf, 0xb4, 0x88, 0x49, 0xc1, 0xc7, 0x6c, 0x0e, 0x1e, 0x8f, 0x94, 0x94, 0xae, 0x20, + 0xaf, 0xdf, 0x49, 0xa7, 0x8e, 0xe9, 0xd6, 0xbe, 0x0f, 0x36, 0xa9, 0x61, 0xaa, 0x29, 0x9c, 0x6d, + 0x28, 0x85, 0x1a, 0x99, 0xbf, 0x09, 0xe2, 0xae, 0xc4, 0x45, 0x27, 0xd6, 0x7d, 0x15, 0x3c, 0x12, + 0x1b, 0xa1, 0xb0, 0xfa, 0x51, 0xe8, 0xc4, 0x21, 0xa0, 0xec, 0xa0, 0xd0, 0x9c, 0x36, 0xa9, 0xd7, + 0xe9, 0xc5, 0x35, 0x6d, 0x96, 0xfc, 0xfd, 0x30, 0x0e, 0x98, 0xa4, 0x0e, 0x64, 0x56, 0xfb, 0x21, + 0x09, 0x3c, 0x6f, 0xc3, 0xcf, 0xa5, 0x1b, 0x51, 0x02, 0x31, 0x0a, 0x28, 0xeb, 0xca, 0x00, 0x27, + 0x65, 0x34, 0x7a, 0xda, 0x8a, 0xbe, 0x6b, 0xc0, 0xf2, 0x44, 0x69, 0x23, 0xea, 0x27, 0xc6, 0xb1, + 0x88, 0x65, 0x52, 0x74, 0xc8, 0xfc, 0x05, 0x41, 0x6b, 0x44, 0x2f, 0x24, 0xa6, 0x53, 0x59, 0x91, + 0xad, 0xb1, 0x77, 0x75, 0xee, 0x3f, 0x31, 0xaa, 0x2b, 0xeb, 0x7e, 0xfb, 0xd4, 0xc1, 0x71, 0x31, + 0x2c, 0x93, 0x2d, 0xcc, 0xc8, 0xf1, 0x39, 0xc3, 0x5c, 0x75, 0xd1, 0x3a, 0xcd, 0x09, 0xe5, 0xf4, + 0x8e, 0xa8, 0xe1, 0xf5, 0x13, 0xc4, 0xb5, 0xa7, 0x84, 0xd0, 0x25, 0x96, 0x90, 0x97, 0x35, 0x12, + 0xaa, 0xb7, 0x0f, 0xe8, 0x8d, 0x34, 0x08, 0xf3, 0x76, 0x5f, 0x12, 0x5e, 0x6c, 0xc2, 0xcf, 0xd1, + 0xfb, 0xd6, 0x5c, 0xd6, 0x80, 0x48, 0x58, 0x1c, 0xb0, 0x79, 0xb0, 0x40, 0x7c, 0xb5, 0xf1, 0x60, + 0xdb, 0x6d, 0xdc, 0x15, 0x58, 0xab, 0x5b, 0xbd, 0x80, 0xde, 0xd5, 0x6e, 0x7f, 0xa1, 0xb2, 0xac, + 0x9c, 0x84, 0x14, 0xf5, 0x5a, 0x01, 0x96, 0x4d, 0x82, 0x40, 0x7e, 0xf9, 0x75, 0xef, 0xd8, 0x54, + 0xae, 0xb8, 0x4b, 0x46, 0xe5, 0xf7, 0x76, 0xef, 0x27, 0xae, 0x35, 0x8a, 0x37, 0xee, 0xe1, 0x61, + 0x3f, 0x29, 0xb6, 0xc6, 0x2e, 0xa9, 0x83, 0x8a, 0x6d, 0x94, 0x01, 0x14, 0x7c, 0xff, 0x61, 0x94, + 0xe4, 0xb1, 0x90, 0x86, 0xda, 0xd4, 0x5c, 0xf7, 0x24, 0x7c, 0x1b, 0x9d, 0xb7, 0x5c, 0xee, 0x78, + 0x72, 0x84, 0x7a, 0x0c, 0x27, 0xea, 0xad, 0x65, 0x92, 0xb5, 0x62, 0x68, 0x4f, 0x62, 0x17, 0xeb, + 0x72, 0xb8, 0x13, 0xd5, 0x88, 0x97, 0xba, 0xaf, 0xd0, 0xa8, 0x46, 0xd0, 0x8f, 0x64, 0x20, 0xe4, + 0x83, 0xa6, 0x6d, 0x65, 0xe3, 0x46, 0x9d, 0xb3, 0x6e, 0x37, 0xe5, 0xc1, 0x7f, 0xc5, 0x48, 0x3d, + 0xcb, 0x3f, 0xa9, 0x8a, 0x28, 0x0f, 0xf5, 0xe1, 0x77, 0x31, 0x08, 0xad, 0x2f, 0x80, 0x17, 0x25, + 0x4f, 0xa4, 0x93, 0x4a, 0xc6, 0x48, 0x17, 0x54, 0x7d, 0x42, 0x47, 0x7e, 0xca, 0x3d, 0x14, 0x10, + 0x06, 0x81, 0x4c, 0x5e, 0xe8, 0x8e, 0x90, 0x4d, 0x0f, 0x5c, 0x9b, 0x38, 0xaa, 0x2f, 0xc0, 0x63, + 0xbc, 0x9d, 0xfb, 0x84, 0x0e, 0xff, 0xa9, 0x11, 0x43, 0xb4, 0xec, 0x94, 0xf6, 0x23, 0x43, 0x7d, + 0x1d, 0xe4, 0xb0, 0x87, 0x30, 0x68, 0x41, 0xcc, 0x8c, 0x8d, 0x83, 0x05, 0x33, 0x8c, 0x15, 0xc3, + 0x46, 0x57, 0x69, 0x34, 0x7f, 0x85, 0xce, 0x3b, 0xa6, 0x9e, 0x32, 0x7e, 0x48, 0xf6, 0x12, 0x46, + 0xb9, 0x59, 0xc4, 0x53, 0xb1, 0x5e, 0x7e, 0xcd, 0x07, 0x4e, 0x68, 0xf1, 0x67, 0x4c, 0x7a, 0xa5, + 0x3a, 0xf7, 0x12, 0x40, 0x23, 0xe5, 0x78, 0xeb, 0x43, 0xae, 0x72, 0xc5, 0x5d, 0x3e, 0x19, 0xa9, + 0x42, 0x1d, 0x7e, 0x6d, 0x04, 0x80, 0xb2, 0xeb, 0xe2, 0x33, 0xad, 0x4b, 0x63, 0xc2, 0x89, 0xb6, + 0x23, 0xd0, 0xfc, 0x51, 0x7e, 0x68, 0x94, 0x33, 0x38, 0x39, 0x0c, 0xca, 0xb9, 0xb5, 0xd9, 0x50, + 0x47, 0xd1, 0xe2, 0x47, 0xba, 0x92, 0xac, 0x51, 0xa9, 0x74, 0x75, 0x83, 0x78, 0xd4, 0x47, 0x32, + 0xba, 0x6f, 0xe2, 0x8d, 0x5c, 0xaa, 0x3e, 0xb8, 0xa2, 0xc7, 0xe7, 0xc5, 0x6d, 0x9c, 0x03, 0x6a, + 0xb6, 0xab, 0x91, 0x38, 0xba, 0xdd, 0x25, 0xa6, 0x04, 0x38, 0xf1, 0x95, 0x85, 0x39, 0x7e, 0x17, + 0xcf, 0x1e, 0x02, 0x9e, 0x3b, 0xc5, 0xe0, 0x5c, 0xc9, 0xaa, 0xf8, 0xa7, 0x85, 0x23, 0xa8, 0x32, + 0x06, 0xb1, 0x46, 0xb9, 0x48, 0xb5, 0xce, 0x7c, 0xa9, 0x42, 0xc4, 0xd3, 0xbb, 0xb9, 0xb8, 0xe6, + 0xda, 0xbd, 0xd4, 0xd4, 0xab, 0xc5, 0xc4, 0xaf, 0xed, 0x8f, 0x97, 0xeb, 0x9f, 0x17, 0xb3, 0x92, + 0x77, 0xe5, 0x4f, 0x71, 0x99, 0x42, 0x31, 0x84, 0x3b, 0x28, 0x91, 0x5d, 0xac, 0x04, 0xa7, 0xd5, + 0x64, 0x30, 0x6e, 0x73, 0x60, 0x1e, 0xaa, 0x42, 0x2e, 0xb5, 0x50, 0xfc, 0x18, 0x60, 0x6a, 0xef, + 0xd9, 0xb5, 0xed, 0x3e, 0xd1, 0x2d, 0x9e, 0xd4, 0xc5, 0xa3, 0x8f, 0xa0, 0x0a, 0x9c, 0xfb, 0x70, + 0xbf, 0xc5, 0x21, 0x25, 0x9a, 0xaa, 0x7a, 0xbb, 0xbb, 0xff, 0x37, 0x7d, 0x16, 0x11, 0x59, 0xa6, + 0x24, 0x25, 0xf3, 0x18, 0x3b, 0x47, 0xf2, 0xef, 0xf5, 0x4e, 0x32, 0x5b, 0x28, 0xa2, 0x7a, 0xe7, + 0xf2, 0xad, 0xb8, 0x63, 0x59, 0xa1, 0xee, 0xbf, 0x61, 0x4e, 0xa2, 0xe1, 0xf1, 0x92, 0x1e, 0x4e, + 0xfc, 0xdb, 0x7b, 0x76, 0x01, 0xdf, 0x56, 0xda, 0x22, 0x3c, 0xbf, 0x78, 0x47, 0x0c, 0x7c, 0x8c, + 0x61, 0xa8, 0x88, 0x59, 0x65, 0x83, 0x54, 0x18, 0xf5, 0xff, 0x64, 0xa2, 0x4a, 0xa4, 0x10, 0x4f, + 0x2b, 0xdc, 0x77, 0x27, 0xb5, 0xb9, 0x0e, 0x72, 0x3e, 0x57, 0x23, 0xd0, 0xd9, 0xc4, 0x7e, 0xc6, + 0x53, 0xb0, 0x08, 0x32, 0xa4, 0x5b, 0x69, 0x2f, 0x9d, 0x5b, 0x62, 0xaf, 0xb8, 0x90, 0x7d, 0x7b, + 0x79, 0x39, 0xfe, 0x5b, 0xe4, 0x5c, 0x9a, 0xcf, 0x26, 0x46, 0x3d, 0xf2, 0x44, 0xb4, 0xa0, 0x94, + 0xd7, 0x0b, 0x41, 0x84, 0x56, 0x01, 0x9a, 0x87, 0x53, 0x38, 0x91, 0xd0, 0x43, 0xe4, 0xe1, 0x0b, + 0x9e, 0x66, 0xe8, 0x02, 0xdf, 0xae, 0xf7, 0x38, 0x38, 0x83, 0x45, 0xbc, 0x79, 0x53, 0xae, 0x48, + 0xd1, 0xad, 0xd4, 0x3e, 0x15, 0x8e, 0xdb, 0x0f, 0xd8, 0x77, 0xd2, 0xe2, 0x26, 0x6f, 0xf4, 0x44, + 0x1a, 0x30, 0xd8, 0x76, 0x8d, 0x3c, 0xb5, 0x9c, 0x96, 0xf0, 0x78, 0xb9, 0xc2, 0x6c, 0xa5, 0x5b, + 0x6b, 0x40, 0x35, 0x1a, 0xff, 0x76, 0xf8, 0xde, 0x14, 0xcd, 0x96, 0xe0, 0x20, 0x7e, 0x0c, 0x92, + 0xd7, 0x3f, 0x46, 0xa8, 0x33, 0x54, 0x1c, 0xba, 0x52, 0xc6, 0x8c, 0x81, 0x67, 0x7c, 0x82, 0x1b, + 0x0f, 0xbf, 0xe2, 0xa8, 0x8f, 0x66, 0xdf, 0xa5, 0x5c, 0x21, 0xc9, 0xfc, 0x03, 0x88, 0xb9, 0x22, + 0xe6, 0x11, 0x36, 0xe0, 0x06, 0x39, 0x08, 0xf3, 0x2c, 0xd0, 0xd9, 0xc1, 0x70, 0x4b, 0x8a, 0xf6, + 0xcc, 0xe4, 0x9d, 0xee, 0x4f, 0x13, 0xb1, 0xe1, 0xa1, 0xca, 0x6b, 0x6d, 0xff, 0x14, 0x58, 0x8f, + 0x1c, 0xdf, 0x8d, 0xd5, 0x2d, 0x03, 0x77, 0x80, 0xf6, 0xdd, 0xdb, 0xc2, 0x69, 0x3b, 0x25, 0xd4, + 0xd1, 0xbd, 0x5f, 0x62, 0x3c, 0x8c, 0x2c, 0xc1, 0xae, 0x65, 0xfa, 0x4e, 0x0f, 0x7c, 0x13, 0x95, + 0xc2, 0x54, 0xda, 0xdd, 0xe2, 0x78, 0x21, 0xaa, 0x90, 0x84, 0x0d, 0xeb, 0x81, 0x7d, 0x1d, 0x4e, + 0xd7, 0x9f, 0xef, 0x4f, 0x5f, 0xcc, 0x5b, 0x6b, 0x09, 0x4e, 0x8b, 0xe0, 0x74, 0x04, 0x71, 0xd7, + 0xb4, 0x7d, 0xc6, 0xe4, 0xa2, 0xfe, 0x92, 0x83, 0x2a, 0x9d, 0x13, 0xf1, 0xba, 0x73, 0x0d, 0xab, + 0x8e, 0x9a, 0xe4, 0xad, 0xce, 0xea, 0xcc, 0x17, 0x37, 0xfc, 0xff, 0x83, 0x19, 0xd2, 0x7f, 0xbe, + 0x84, 0xc6, 0x79, 0xbb, 0x40, 0xb6, 0x23, 0xc1, 0x42, 0xae, 0xd5, 0x76, 0x9c, 0xe4, 0xcb, 0xeb, + 0xed, 0x20, 0xe1, 0x90, 0x92, 0xdb, 0x2f, 0x80, 0x09, 0x85, 0xcc, 0x21, 0x47, 0xe6, 0xb2, 0x42, + 0x55, 0xdd, 0xb7, 0xf3, 0x48, 0x30, 0xbd, 0x52, 0x4f, 0x4c, 0xd5, 0xeb, 0x48, 0x7a, 0x47, 0xb7, + 0x25, 0xd1, 0xc0, 0x09, 0xfd, 0x63, 0xd1, 0x29, 0x49, 0x59, 0x2c, 0x09, 0x5d, 0xf2, 0x17, 0xfb, + 0xe2, 0x22, 0xec, 0x74, 0xbb, 0x70, 0x67, 0x75, 0xa0, 0xf4, 0x18, 0xfd, 0x8c, 0x91, 0xa2, 0x40, + 0xb5, 0x17, 0x48, 0xc4, 0xc4, 0xba, 0xfd, 0x3a, 0x04, 0x02, 0x6a, 0xce, 0x56, 0x6a, 0xec, 0x09, + 0xb9, 0xfc, 0x87, 0x14, 0xa0, 0xf9, 0xba, 0x5f, 0x9a, 0x03, 0x01, 0x25, 0xf6, 0x4d, 0x86, 0x0b, + 0xf6, 0x84, 0x24, 0x83, 0x00, 0xc4, 0x89, 0xb1, 0x6b, 0x85, 0xad, 0xb5, 0x39, 0x24, 0x4b, 0x2b, + 0x56, 0xe3, 0x6c, 0xbe, 0xa6, 0x2d, 0x72, 0xfe, 0x1b, 0x9b, 0x75, 0xfc, 0xee, 0x04, 0x9f, 0xb5, + 0xdc, 0xad, 0x96, 0xb2, 0xd9, 0x37, 0x0d, 0xcb, 0x4c, 0xfc, 0x9e, 0xee, 0x01, 0x1e, 0x37, 0xde, + 0xa5, 0x22, 0x89, 0x78, 0xb1, 0x58, 0x1d, 0xbd, 0x97, 0x90, 0x6a, 0xe2, 0xc9, 0x7b, 0x14, 0x58, + 0x20, 0x91, 0xea, 0xf3, 0x78, 0x96, 0xc2, 0xcb, 0xa5, 0x4b, 0x9d, 0xb1, 0xbd, 0x1b, 0xf9, 0xa9, + 0xf0, 0xd4, 0x7a, 0x40, 0x88, 0x38, 0x16, 0x32, 0xd2, 0xa2, 0xfe, 0xe6, 0x04, 0xb0, 0x5e, 0x03, + 0x33, 0xca, 0x98, 0xd3, 0x1a, 0x17, 0x86, 0x3b, 0x0f, 0xf4, 0x8b, 0x58, 0xa1, 0x5b, 0x99, 0xbd, + 0x0f, 0x88, 0x51, 0x40, 0xd9, 0x11, 0xb9, 0xea, 0xf6, 0xe2, 0xf7, 0xfb, 0x2b, 0x86, 0x5a, 0x57, + 0x82, 0xdc, 0x02, 0xd4, 0xe7, 0x8f, 0x88, 0x75, 0x25, 0x34, 0x14, 0xec, 0x14, 0x6d, 0x5a, 0xf1, + 0xbe, 0x2e, 0x3f, 0xad, 0x03, 0xdf, 0xfb, 0x96, 0xcd, 0x88, 0x57, 0x37, 0xbc, 0x7e, 0xfc, 0x36, + 0x8a, 0x3a, 0xef, 0x20, 0x61, 0x20, 0x40, 0xf8, 0x74, 0x53, 0xf4, 0x1e, 0x77, 0xac, 0xa1, 0x13, + 0x4c, 0x3d, 0x3b, 0x1f, 0x85, 0xf0, 0xe1, 0x86, 0x6f, 0x22, 0xd3, 0x15, 0x71, 0xd5, 0x27, 0xe2, + 0xe5, 0xcc, 0x89, 0x40, 0x2f, 0xaf, 0xf0, 0xdf, 0x7d, 0x3f, 0x81, 0x63, 0xd6, 0x53, 0xb9, 0xaa, + 0xca, 0x7b, 0x6b, 0xa2, 0xdc, 0xc2, 0x6e, 0xee, 0x18, 0x0e, 0x61, 0x56, 0xb8, 0xf5, 0xd9, 0xb2, + 0x88, 0xf0, 0xdd, 0x91, 0x66, 0x62, 0xa7, 0x3d, 0x97, 0xbf, 0x23, 0xdf, 0x23, 0x23, 0x50, 0x39, + 0xa6, 0x2d, 0xc8, 0xa5, 0x01, 0x3f, 0x47, 0x0b, 0xe7, 0x23, 0x47, 0xdf, 0xc0, 0x65, 0x64, 0xa3, + 0x9a, 0x78, 0xa0, 0x57, 0x2c, 0xa8, 0x5c, 0x3f, 0xd6, 0x7a, 0xd0, 0xde, 0xa4, 0x24, 0xee, 0xa5, + 0xb8, 0x35, 0x3a, 0xcc, 0xe0, 0x9c, 0x6d, 0x76, 0x14, 0xd9, 0x13, 0x87, 0x2e, 0x16, 0xf8, 0xbf, + 0x37, 0x93, 0x76, 0x58, 0xd8, 0xc2, 0x9a, 0xca, 0xdf, 0xed, 0xcf, 0xec, 0x97, 0xbd, 0xa5, 0x0c, + 0x96, 0x5a, 0x13, 0x01, 0xcd, 0xce, 0xed, 0xa2, 0xd9, 0x7d, 0xbf, 0x08, 0x0b, 0x42, 0xa0, 0xaf, + 0x45, 0x9f, 0x8c, 0x20, 0x22, 0xda, 0xf7, 0xed, 0xc4, 0x9a, 0x80, 0x93, 0x9f, 0x2c, 0xbe, 0x73, + 0x05, 0x38, 0x59, 0xbc, 0x09, 0x91, 0xd5, 0x7c, 0xda, 0xcc, 0x8f, 0xaa, 0xeb, 0x13, 0xdd, 0x6d, + 0xed, 0x35, 0x88, 0x37, 0x84, 0x27, 0x6f, 0x19, 0x50, 0x33, 0xd5, 0xb3, 0x84, 0xf6, 0x92, 0x18, + 0x2e, 0x46, 0xe4, 0xd8, 0xb5, 0xf2, 0xe8, 0x01, 0x2d, 0xce, 0x67, 0x9c, 0xe4, 0xa6, 0x19, 0xc2, + 0x33, 0x67, 0x65, 0xc3, 0x09, 0xeb, 0x92, 0xfe, 0xad, 0xc1, 0x78, 0x7f, 0xd8, 0xaa, 0xce, 0x21, + 0xa6, 0x17, 0x6e, 0x4f, 0x7a, 0x31, 0x9a, 0x86, 0xf5, 0x4d, 0x5c, 0x7a, 0x68, 0x3b, 0xa0, 0x1b, + 0xd9, 0x89, 0x11, 0xd7, 0x40, 0xb2, 0xf7, 0xd0, 0x47, 0x91, 0x8d, 0xd3, 0x7b, 0xf3, 0x91, 0xc0, + 0xf8, 0xad, 0x10, 0x5e, 0xc8, 0xc0, 0xf3, 0x92, 0x8c, 0xd4, 0x57, 0xa8, 0xb8, 0xd9, 0xd8, 0xb0, + 0xc0, 0xaf, 0xa2, 0x3f, 0x47, 0x1c, 0x80, 0x62, 0x67, 0x4e, 0x1d, 0x51, 0xa8, 0x8e, 0xc6, 0x4e, + 0xfb, 0x9f, 0x20, 0x3f, 0xe5, 0x52, 0x87, 0x6a, 0x6f, 0xff, 0xeb, 0xdd, 0x01, 0x60, 0x47, 0xef, + 0xea, 0x77, 0x8a, 0x8f, 0x0b, 0x2b, 0x29, 0x61, 0x57, 0xd8, 0x96, 0x5e, 0x44, 0x61, 0xb2, 0x21, + 0xe5, 0x93, 0x89, 0x47, 0xcc, 0xe9, 0x6d, 0xa6, 0xe9, 0x4a, 0x20, 0x0b, 0x07, 0x03, 0xa2, 0x8c, + 0x3f, 0xec, 0x6a, 0xe0, 0x29, 0x77, 0x2d, 0x3b, 0x61, 0x5d, 0x8a, 0x37, 0xf0, 0x8b, 0x61, 0x03, + 0x40, 0x71, 0x62, 0x23, 0x41, 0x88, 0xf1, 0x85, 0x7a, 0x79, 0xc9, 0x0e, 0xaf, 0xd7, 0x42, 0x47, + 0x09, 0xbc, 0xf4, 0x6f, 0x9c, 0xc8, 0xcb, 0x9e, 0xf9, 0xec, 0xd6, 0xb5, 0x64, 0x64, 0xb6, 0x75, + 0x5c, 0x5e, 0x72, 0xd4, 0xca, 0x6f, 0x51, 0x8b, 0x58, 0x25, 0x34, 0x01, 0x66, 0xf2, 0x88, 0xdd, + 0x47, 0x95, 0x8e, 0x99, 0xdc, 0xf9, 0x94, 0x38, 0xd5, 0x0f, 0x67, 0xaa, 0x2a, 0x67, 0x5d, 0x1f, + 0x34, 0xa9, 0x07, 0xdc, 0x6d, 0xbd, 0xa8, 0x06, 0x05, 0xda, 0x5c, 0xde, 0x3f, 0xa3, 0x88, 0xc5, + 0xb4, 0xd1, 0x5e, 0x80, 0xe7, 0x0f, 0xde, 0xb0, 0x6f, 0xd6, 0x8f, 0x6f, 0xa9, 0x14, 0x72, 0x1e, + 0x48, 0x78, 0x91, 0xa9, 0x8b, 0x48, 0x52, 0xa8, 0x46, 0x01, 0x71, 0x73, 0x83, 0xb3, 0x52, 0xfc, + 0x1b, 0x35, 0x88, 0xfe, 0x09, 0x72, 0x3b, 0xc7, 0x40, 0x0a, 0x72, 0x6f, 0x15, 0x12, 0x56, 0x77, + 0xdc, 0x1c, 0xeb, 0xc3, 0x1a, 0xa4, 0x60, 0x63, 0x88, 0x10, 0xc7, 0xbe, 0x35, 0xd8, 0xff, 0x96, + 0xbc, 0xb6, 0x69, 0xa7, 0xa6, 0xf8, 0x8c, 0xb2, 0x93, 0x18, 0x41, 0x2a, 0xcb, 0x49, 0x05, 0x61, + 0x06, 0xa4, 0x09, 0x58, 0x9b, 0x4f, 0xca, 0x1a, 0xa8, 0x04, 0x51, 0x26, 0x7c, 0x19, 0x42, 0x4c, + 0x43, 0xba, 0x73, 0x26, 0xda, 0xe3, 0xcf, 0x80, 0x12, 0x59, 0x53, 0x8e, 0x52, 0xf4, 0x11, 0xf3, + 0x24, 0x4e, 0x03, 0x22, 0xd6, 0xda, 0x6e, 0xa8, 0x6f, 0x88, 0x2e, 0x82, 0x93, 0xc8, 0x90, 0x4b, + 0x92, 0xf7, 0x4f, 0x62, 0x3c, 0xb5, 0xa3, 0x54, 0xaf, 0xc8, 0xeb, 0x03, 0x19, 0x7e, 0x75, 0xfa, + 0xa8, 0xc2, 0x76, 0xa6, 0x2b, 0xa1, 0x81, 0x39, 0x3a, 0xe5, 0x95, 0x40, 0x1c, 0xdf, 0x45, 0xa3, + 0xa2, 0x67, 0x42, 0xfe, 0xee, 0x37, 0x28, 0x4c, 0x95, 0x1e, 0x00, 0x9f, 0x3f, 0xe9, 0x9c, 0x3b, + 0xa6, 0xe2, 0x8d, 0x91, 0x44, 0x1e, 0xb9, 0x3a, 0x74, 0xdd, 0xe2, 0x59, 0x07, 0x37, 0x6a, 0x3f, + 0x18, 0xea, 0x99, 0x09, 0x45, 0xb7, 0xdb, 0xfa, 0xa8, 0x2f, 0x1c, 0x8e, 0xe4, 0x5c, 0x22, 0x69, + 0x57, 0xe7, 0x5d, 0x8e, 0x26, 0xbb, 0x84, 0x5f, 0xc2, 0x7b, 0xac, 0x94, 0x63, 0x7f, 0x1a, 0x75, + 0x9b, 0xf6, 0x93, 0x11, 0xb4, 0x4a, 0xf2, 0x88, 0x3f, 0x48, 0xd3, 0xc1, 0xa8, 0x2d, 0xeb, 0x01, + 0xc9, 0x3c, 0x1b, 0x77, 0x27, 0x34, 0x07, 0xac, 0xc1, 0x16, 0x6d, 0x7a, 0x16, 0x0d, 0x9c, 0x93, + 0x61, 0xca, 0xf4, 0x8f, 0xd5, 0x77, 0x91, 0xe8, 0x1b, 0x97, 0xf7, 0xe3, 0x7c, 0x20, 0xc2, 0xe4, + 0xfa, 0x59, 0x2d, 0xb1, 0x1c, 0x28, 0x8d, 0x86, 0x1d, 0xdd, 0xc7, 0x02, 0x7f, 0x1a, 0xe5, 0xb0, + 0xd8, 0xd3, 0x54, 0xcc, 0x98, 0x73, 0xc9, 0x33, 0x1d, 0xe6, 0xaa, 0xa8, 0x2f, 0x6e, 0x63, 0xd0, + 0xda, 0xff, 0x38, 0x8a, 0xab, 0x57, 0x93, 0xaa, 0x4c, 0x89, 0x25, 0x6d, 0xd5, 0x17, 0x43, 0x3d, + 0x2f, 0x42, 0x16, 0x91, 0x95, 0x81, 0x50, 0x6f, 0x48, 0x7f, 0xa4, 0x46, 0xcf, 0xec, 0x45, 0xc0, + 0x0f, 0x01, 0xf6, 0x03, 0x84, 0xa2, 0x18, 0x15, 0xd4, 0x12, 0xf9, 0x41, 0xa5, 0xf0, 0x98, 0x69, + 0x21, 0x43, 0x96, 0xde, 0x30, 0x82, 0x57, 0xa9, 0xa4, 0x39, 0x87, 0x8d, 0x2d, 0x46, 0xa7, 0x4b, + 0xef, 0x61, 0x8a, 0xba, 0x18, 0x8d, 0xbc, 0x76, 0x4a, 0xd8, 0x52, 0x49, 0x52, 0xd3, 0x76, 0x2d, + 0x8f, 0xd4, 0x0f, 0x1d, 0x9a, 0x4f, 0x92, 0x20, 0xa5, 0xc7, 0x4f, 0xe9, 0x29, 0x7f, 0x0e, 0x62, + 0xe7, 0x6a, 0xe1, 0x43, 0xc5, 0x4f, 0xc5, 0xce, 0x16, 0xda, 0x66, 0xef, 0x66, 0x95, 0xf4, 0x70, + 0x0f, 0x5d, 0xef, 0x44, 0x08, 0xa7, 0xc5, 0x98, 0xb9, 0xbc, 0x5f, 0xc0, 0x48, 0x2f, 0x3e, 0x9a, + 0x00, 0x61, 0x82, 0xc7, 0x2d, 0xad, 0x9e, 0x1b, 0x3c, 0x85, 0x1f, 0x31, 0xc6, 0x23, 0xa7, 0xd5, + 0x54, 0x30, 0x9e, 0xf1, 0xfe, 0x8c, 0xe5, 0x44, 0xf8, 0xd9, 0x26, 0x49, 0x39, 0x77, 0x9d, 0x26, + 0x50, 0x1a, 0xb1, 0x95, 0x4c, 0xb0, 0x2b, 0x1f, 0x04, 0xcc, 0x00, 0xbb, 0x7d, 0x79, 0x4b, 0x3b, + 0x40, 0xad, 0x70, 0x62, 0xb3, 0xde, 0xd6, 0x30, 0x29, 0x69, 0x1c, 0x4e, 0x5a, 0xc0, 0x0e, 0x53, + 0xab, 0xcc, 0x73, 0x6b, 0xf4, 0x3c, 0xd0, 0x45, 0x44, 0x9f, 0xf1, 0x42, 0xea, 0x4b, 0x74, 0x72, + 0x6c, 0x6f, 0x6c, 0x50, 0x22, 0xc0, 0xb8, 0xde, 0x17, 0xfa, 0xb4, 0x98, 0x58, 0x88, 0x56, 0x55, + 0x63, 0xc5, 0xb0, 0x0f, 0x2e, 0xbb, 0x79, 0xbd, 0xe7, 0x1a, 0xf5, 0x26, 0x54, 0xdf, 0xc6, 0xdd, + 0x9f, 0xce, 0x5f, 0x58, 0x7a, 0xed, 0x41, 0xf6, 0xbb, 0x9b, 0x24, 0xff, 0x3f, 0xda, 0x1f, 0xf4, + 0xdc, 0x65, 0x23, 0xe9, 0xf7, 0x0f, 0xe4, 0x80, 0x29, 0x96, 0x51, 0x9e, 0x6d, 0x85, 0xf9, 0x68, + 0x7f, 0x65, 0xae, 0xdb, 0xca, 0xf7, 0x61, 0x7f, 0xd1, 0x16, 0x7e, 0xc2, 0x2f, 0xaa, 0xdb, 0x54, + 0xca, 0x3b, 0x61, 0xee, 0xac, 0x9c, 0x6c, 0x9c, 0x32, 0x18, 0xce, 0xe9, 0xac, 0x39, 0xf1, 0x3f, + 0x4f, 0xd5, 0x0b, 0xd0, 0xa6, 0xf4, 0x0f, 0xc5, 0x5f, 0x93, 0x0c, 0x61, 0xa2, 0x0d, 0x01, 0xfa, + 0x40, 0x7a, 0x4a, 0xed, 0x7a, 0x2f, 0x6e, 0x04, 0x5e, 0xed, 0xd1, 0x43, 0x55, 0x05, 0x3d, 0x71, + 0x72, 0x1f, 0x48, 0xd6, 0x4a, 0x2d, 0x8e, 0xb1, 0x5a, 0x06, 0xef, 0x78, 0x70, 0x6e, 0xa6, 0x1c, + 0x24, 0x31, 0xee, 0x15, 0x31, 0xe2, 0x37, 0x7f, 0x4a, 0xba, 0xbb, 0xcf, 0x2d, 0x09, 0x20, 0xec, + 0x33, 0x04, 0xa8, 0x1c, 0xae, 0x6f, 0x84, 0xb9, 0xf6, 0xcb, 0x32, 0xe7, 0x26, 0x3b, 0xa4, 0x7c, + 0x86, 0x59, 0xa4, 0x4b, 0xc8, 0xba, 0xa0, 0x78, 0x22, 0x46, 0xe3, 0x76, 0x34, 0x3d, 0xe8, 0xba, + 0xcd, 0xfe, 0x07, 0x9b, 0xdf, 0xf1, 0x8e, 0x07, 0xa7, 0x89, 0x87, 0xa5, 0xfb, 0xc4, 0x18, 0x74, + 0xca, 0x35, 0x7a, 0x35, 0x28, 0x7d, 0x77, 0x2a, 0x90, 0x30, 0x5c, 0x75, 0xa8, 0x07, 0xa0, 0x46, + 0x7b, 0x3c, 0x44, 0xcd, 0x6e, 0xc8, 0x4a, 0xc4, 0x25, 0x71, 0x8e, 0x79, 0xa2, 0x99, 0x3c, 0x7c, + 0xb6, 0xb7, 0x19, 0x7f, 0x3d, 0xa1, 0xaf, 0x3c, 0x29, 0x53, 0x41, 0x8f, 0x0f, 0xda, 0x47, 0x84, + 0x15, 0x54, 0x3e, 0x53, 0xbc, 0xcf, 0xe6, 0x82, 0x81, 0x22, 0x45, 0xf2, 0x5e, 0x3d, 0x8c, 0xc5, + 0x1d, 0x25, 0xc9, 0x10, 0x66, 0xc5, 0x65, 0xa6, 0xa6, 0x6d, 0x5a, 0xf6, 0xf2, 0x74, 0x2b, 0xcc, + 0x75, 0x93, 0x82, 0x45, 0x0b, 0xaf, 0xb2, 0x34, 0xe6, 0x10, 0xc4, 0x87, 0x4c, 0x88, 0x04, 0xf1, + 0x26, 0x32, 0x79, 0x53, 0xaf, 0x8b, 0x5a, 0x51, 0x31, 0xf4, 0xbd, 0x62, 0xc4, 0x41, 0xbf, 0x8f, + 0x7e, 0x92, 0x07, 0x38, 0x80, 0xa6, 0x6e, 0xb0, 0x36, 0xd9, 0xa3, 0x43, 0x1f, 0x32, 0xc1, 0xec, + 0xfc, 0x3f, 0xda, 0xe8, 0xbf, 0xf5, 0x30, 0x42, 0x11, 0xa0, 0x82, 0x68, 0xba, 0x31, 0x9a, 0x79, + 0xa8, 0x73, 0x0b, 0x58, 0x2d, 0xba, 0xbc, 0x9d, 0x7b, 0x0c, 0xbc, 0xb7, 0xd7, 0x3e, 0x48, 0x39, + 0x96, 0xe2, 0xcf, 0xd0, 0xce, 0x6c, 0x91, 0x15, 0x1c, 0x53, 0xc2, 0x55, 0xc0, 0x37, 0x14, 0x71, + 0x17, 0x3a, 0x49, 0xfa, 0x86, 0xe4, 0xbd, 0xf7, 0x66, 0x39, 0x8e, 0xe3, 0xa5, 0xc9, 0x86, 0x12, + 0x1b, 0xbb, 0x03, 0xcd, 0xc4, 0xa4, 0x15, 0x9f, 0xb1, 0xe6, 0xfd, 0xf7, 0x12, 0x61, 0x92, 0xb8, + 0x11, 0x6e, 0x8f, 0xc1, 0xd3, 0xe2, 0x88, 0x4d, 0x36, 0x01, 0x58, 0x62, 0x01, 0x05, 0x0c, 0x06, + 0xad, 0x02, 0x43, 0x26, 0x2e, 0x5f, 0x1d, 0xc4, 0xa5, 0x08, 0xd0, 0x4a, 0x93, 0x80, 0xc7, 0xaa, + 0x1e, 0xa1, 0x15, 0xae, 0x0d, 0x08, 0xd4, 0xe6, 0x08, 0x15, 0xba, 0x33, 0x85, 0x6b, 0x2e, 0x9e, + 0x3f, 0x0e, 0x8d, 0x3c, 0x2b, 0x21, 0x45, 0x61, 0xcd, 0x62, 0xd7, 0xe8, 0xd6, 0x4c, 0xa2, 0x85, + 0xa2, 0x1c, 0xb7, 0xd8, 0xe6, 0xbf, 0xc5, 0x70, 0x3d, 0x7a, 0x85, 0x6a, 0x88, 0xe8, 0xf0, 0x9c, + 0x70, 0x5e, 0xdd, 0xcb, 0x39, 0xee, 0x3f, 0x21, 0xeb, 0x00, 0x90, 0x47, 0x0b, 0x3a, 0x23, 0x5f, + 0xad, 0x91, 0x98, 0xe4, 0x33, 0x6f, 0x3e, 0x6f, 0x87, 0xfc, 0xcb, 0x53, 0x0d, 0xc9, 0x8d, 0x36, + 0xf0, 0xe0, 0xb4, 0xeb, 0xcd, 0x40, 0x17, 0xd5, 0xf3, 0xab, 0x59, 0x7f, 0x86, 0xe6, 0x82, 0xb6, + 0xb2, 0xec, 0xcd, 0x88, 0xc0, 0x64, 0x30, 0x88, 0xd5, 0xeb, 0x5e, 0x77, 0xbd, 0xa6, 0x45, 0x46, + 0x1d, 0xa0, 0x79, 0x45, 0x48, 0x53, 0x70, 0x3f, 0x54, 0x9d, 0xb0, 0x43, 0x38, 0x24, 0xd6, 0x86, + 0xb6, 0x86, 0x47, 0xcb, 0xd9, 0xd8, 0x58, 0xf5, 0x5f, 0xbd, 0x33, 0x97, 0x49, 0x57, 0xc4, 0x30, + 0x5c, 0x54, 0xbc, 0x88, 0x52, 0x12, 0xed, 0x68, 0x6f, 0xc3, 0xb2, 0x81, 0x7f, 0x2b, 0xf5, 0x71, + 0x1a, 0x12, 0x44, 0x12, 0x7f, 0xe8, 0x75, 0x49, 0x25, 0x74, 0x88, 0x5c, 0xc7, 0xda, 0x71, 0x16, + 0xff, 0xfc, 0x9e, 0xf2, 0x4a, 0xac, 0x78, 0x8a, 0xf7, 0xef, 0x67, 0xc1, 0x2f, 0x4d, 0xc9, 0x28, + 0x55, 0xae, 0x77, 0x24, 0x22, 0x12, 0xe1, 0x73, 0xb2, 0x16, 0xe7, 0x56, 0xc0, 0x13, 0xd1, 0xd4, + 0xe8, 0x0e, 0x9c, 0xc6, 0x0b, 0x08, 0x36, 0xf0, 0x8e, 0x7b, 0xa9, 0x1f, 0x6a, 0x79, 0x0e, 0x4a, + 0xe1, 0x80, 0x25, 0x22, 0x6c, 0x84, 0x9f, 0xb6, 0x6b, 0x86, 0x42, 0xd9, 0x80, 0x9d, 0x99, 0xf6, + 0x0c, 0x5b, 0x5c, 0xce, 0xd8, 0xbc, 0x10, 0x10, 0xd5, 0xbb, 0xf7, 0x4e, 0x3f, 0x4a, 0xba, 0xab, + 0xf2, 0x9d, 0x91, 0x9c, 0x5a, 0x28, 0xfc, 0x28, 0xee, 0x1b, 0xdb, 0x07, 0x06, 0xa9, 0x40, 0x57, + 0x07, 0x6a, 0xb7, 0xc8, 0x7e, 0x33, 0xf1, 0x4b, 0x06, 0x75, 0x8e, 0xde, 0xb4, 0x48, 0xeb, 0x8f, + 0xb5, 0x32, 0xcb, 0x5b, 0x26, 0xad, 0x7f, 0xae, 0xa6, 0x6a, 0x58, 0x33, 0xb6, 0xe2, 0x7f, 0xf1, + 0xa3, 0x40, 0x09, 0x74, 0x1f, 0x31, 0x3e, 0x75, 0x48, 0xba, 0x26, 0xaf, 0x66, 0x0c, 0xe2, 0xf6, + 0x72, 0xbc, 0x2b, 0x1f, 0x4a, 0xd7, 0x3c, 0x0b, 0xf3, 0xef, 0x85, 0x51, 0xf8, 0xdd, 0x27, 0x77, + 0xb5, 0xf1, 0x77, 0x51, 0xc3, 0x0e, 0x27, 0x6e, 0xe8, 0xdd, 0x06, 0x64, 0xd4, 0x04, 0x37, 0x9e, + 0x5a, 0x08, 0x87, 0xdf, 0x59, 0x0d, 0x21, 0x31, 0xdc, 0xc1, 0xb5, 0x91, 0xc0, 0xd7, 0xed, 0x5c, + 0x3e, 0xde, 0xd6, 0xc6, 0x59, 0x36, 0xe5, 0x52, 0xbb, 0xff, 0x6e, 0xed, 0xe2, 0xc7, 0x5e, 0x6d, + 0xa9, 0x13, 0x00, 0xda, 0xdf, 0x9b, 0x81, 0x2f, 0x42, 0x17, 0x3a, 0x29, 0xaa, 0x02, 0x09, 0x7b, + 0x7c, 0x44, 0x31, 0x90, 0x16, 0x89, 0x0c, 0xbf, 0x48, 0x57, 0xb5, 0xf9, 0x8e, 0x61, 0x78, 0x0b, + 0xaa, 0x47, 0xfc, 0xe0, 0x0f, 0x10, 0x12, 0x3e, 0x9b, 0x1b, 0x44, 0x41, 0xb7, 0xcf, 0xaf, 0x31, + 0x4e, 0xdd, 0x87, 0xb5, 0xe0, 0xfa, 0x4d, 0x9d, 0x80, 0x83, 0xf7, 0xc1, 0x02, 0x2c, 0x81, 0xa5, + 0x28, 0xa5, 0xfb, 0x08, 0xf1, 0x1b, 0x01, 0x2a, 0x0b, 0xea, 0x63, 0x05, 0xdf, 0x85, 0x26, 0x65, + 0xe0, 0xa2, 0x79, 0xbd, 0xf4, 0xb7, 0x43, 0x87, 0x99, 0x63, 0xb6, 0x01, 0xeb, 0xd2, 0x2f, 0x03, + 0xb1, 0xde, 0x5b, 0xd7, 0xa1, 0xe2, 0x36, 0x3a, 0x6a, 0x3a, 0xc9, 0xf7, 0x5d, 0xc9, 0x9f, 0x0b, + 0xa3, 0xc6, 0x23, 0x12, 0xbc, 0xfb, 0x46, 0x70, 0x98, 0x5c, 0x07, 0x17, 0xa3, 0x80, 0xb4, 0xeb, + 0xdf, 0x91, 0x19, 0x6e, 0x1b, 0xc4, 0xb6, 0x42, 0x81, 0x4c, 0xf3, 0x0d, 0x87, 0x9b, 0xd3, 0xaf, + 0x0d, 0xf0, 0x2c, 0x31, 0x28, 0x9d, 0x96, 0x3b, 0xb3, 0x06, 0x25, 0x36, 0xa1, 0x2b, 0x0b, 0xb6, + 0x41, 0xc5, 0xbb, 0x59, 0xe6, 0x1b, 0x98, 0xaa, 0xa7, 0x99, 0xee, 0xbf, 0x58, 0xb9, 0x0a, 0x85, + 0xc8, 0xfd, 0xdc, 0x58, 0x03, 0x88, 0x0c, 0xe9, 0x76, 0x66, 0x17, 0x28, 0x4d, 0xaf, 0x80, 0xc9, + 0x75, 0x4f, 0x94, 0xad, 0xa5, 0x3b, 0x12, 0x25, 0x04, 0x54, 0x48, 0x90, 0x8d, 0x9b, 0x08, 0xc2, + 0x88, 0x49, 0x3c, 0xdb, 0xc5, 0x06, 0xcd, 0x57, 0xab, 0x86, 0x9c, 0xe8, 0xb5, 0x2d, 0x1b, 0x0b, + 0xb2, 0xa5, 0x03, 0x98, 0xd2, 0x26, 0x15, 0x9a, 0xe0, 0xf3, 0xf5, 0xdb, 0x14, 0x89, 0xf3, 0x17, + 0x98, 0x7a, 0x91, 0xee, 0x54, 0x76, 0xc9, 0x97, 0x79, 0xd4, 0x1e, 0x87, 0xe5, 0x7b, 0x80, 0x96, + 0xa5, 0x60, 0x92, 0x17, 0x7d, 0x70, 0x6c, 0x87, 0xb6, 0x67, 0x9e, 0xeb, 0xba, 0xb7, 0x59, 0xd7, + 0x12, 0x20, 0x89, 0xc0, 0x85, 0xc4, 0x31, 0x5f, 0x2f, 0xe4, 0x0d, 0xaf, 0xb1, 0xa9, 0x53, 0xab, + 0x86, 0xae, 0xf2, 0x6a, 0x0b, 0xe1, 0xe2, 0x8b, 0xec, 0xca, 0x8a, 0xbb, 0x01, 0x1d, 0xa7, 0x9e, + 0xc9, 0x58, 0x05, 0x0b, 0xf7, 0xab, 0x03, 0xcb, 0xe5, 0xb7, 0x31, 0x7a, 0xb5, 0x7c, 0x41, 0x92, + 0x6a, 0xa4, 0xec, 0xbc, 0x7c, 0x0e, 0xa6, 0x57, 0x1a, 0x3c, 0x18, 0x0b, 0xb3, 0x97, 0xe0, 0x47, + 0x84, 0x1b, 0xd1, 0xd3, 0x20, 0xbd, 0x93, 0x76, 0x62, 0xd3, 0x60, 0x55, 0x5b, 0xd5, 0xbb, 0x72, + 0x2e, 0xb0, 0xee, 0xec, 0x4b, 0x48, 0xfb, 0x82, 0x03, 0x92, 0x57, 0xcd, 0x27, 0x1f, 0x3b, 0x10, + 0xd5, 0xb3, 0xbf, 0xf4, 0xfd, 0xbc, 0x46, 0xb8, 0x84, 0x28, 0x3a, 0x86, 0x5a, 0x86, 0x63, 0xf2, + 0xee, 0x9b, 0x62, 0x71, 0x63, 0xd6, 0x0f, 0xb9, 0xb2, 0x2a, 0x02, 0x63, 0x38, 0x8e, 0xcf, 0x0f, + 0xe8, 0xda, 0x87, 0x2e, 0x81, 0xc1, 0x9f, 0x8b, 0xf5, 0xdc, 0xfe, 0xe6, 0xee, 0xdd, 0x04, 0x1c, + 0x4b, 0x97, 0x84, 0x3d, 0xed, 0x09, 0x9a, 0x5a, 0x6a, 0x4a, 0xf6, 0xc3, 0x9e, 0x56, 0x71, 0xc7, + 0xd5, 0x6b, 0x59, 0x8d, 0xe1, 0xde, 0x0c, 0x68, 0x4c, 0x3a, 0x1e, 0xf2, 0x10, 0x19, 0xd9, 0x9c, + 0xb3, 0xf9, 0x7a, 0x7c, 0x8b, 0x8d, 0xc0, 0xb4, 0xe1, 0x6e, 0xb3, 0x4d, 0x56, 0x5b, 0x86, 0xa3, + 0xd1, 0x64, 0x1d, 0x6e, 0xea, 0x5a, 0x60, 0x8c, 0x61, 0xc3, 0x15, 0x9f, 0x53, 0xf4, 0x5f, 0x8a, + 0x9a, 0x2f, 0x4c, 0xf7, 0x33, 0x61, 0xb9, 0x76, 0x53, 0x33, 0x38, 0xfa, 0x8a, 0x7f, 0xe3, 0x86, + 0xee, 0xf9, 0xde, 0x3c, 0x42, 0xea, 0x3c, 0x73, 0x95, 0x1b, 0x48, 0x63, 0x0b, 0x50, 0xba, 0xed, + 0x39, 0x50, 0xe4, 0x15, 0x1e, 0x46, 0x6e, 0x0a, 0x2e, 0xa0, 0xe1, 0x50, 0x5f, 0xd1, 0xfb, 0xdb, + 0x35, 0x0d, 0xe9, 0x11, 0x14, 0x6d, 0xd4, 0x26, 0xae, 0x9c, 0x03, 0x72, 0x45, 0x42, 0xa4, 0xd6, + 0x9b, 0x5e, 0x36, 0x92, 0x27, 0x1d, 0xef, 0x16, 0xdc, 0x9b, 0x06, 0xa2, 0xc1, 0xfb, 0xda, 0xe1, + 0x21, 0x81, 0x81, 0x85, 0x03, 0xa8, 0x43, 0x7d, 0x92, 0xe4, 0x04, 0xe4, 0x9b, 0x98, 0xe6, 0x2d, + 0xb9, 0xbb, 0xe4, 0xab, 0xf9, 0xc5, 0xd9, 0xbc, 0x26, 0x32, 0x49, 0x1f, 0x8f, 0x42, 0x27, 0x51, + 0xd1, 0x0c, 0xb3, 0x4b, 0x55, 0xfa, 0x77, 0xbb, 0xfa, 0x9d, 0x9e, 0x59, 0xf3, 0xc6, 0x6e, 0x05, + 0x7f, 0x22, 0x24, 0xdf, 0x9a, 0x00, 0x5b, 0x44, 0x12, 0xf5, 0x60, 0xbb, 0x50, 0x0a, 0xbd, 0xd2, + 0xf9, 0xe5, 0xcb, 0x63, 0x2b, 0xda, 0x15, 0x9a, 0x6f, 0x62, 0x90, 0x6f, 0x74, 0x1c, 0x82, 0x8d, + 0xf8, 0xf1, 0x8f, 0x41, 0x16, 0x71, 0xfd, 0x04, 0x56, 0xa8, 0x92, 0xdd, 0x9f, 0x00, 0x07, 0x77, + 0xf6, 0x36, 0x79, 0x13, 0xfa, 0x3d, 0x26, 0x23, 0x53, 0x6d, 0x34, 0x0a, 0x4e, 0x88, 0x13, 0xb4, + 0x55, 0xcc, 0x4e, 0x35, 0x2a, 0xee, 0xe0, 0xe2, 0xf5, 0xff, 0xa7, 0xf9, 0x66, 0x65, 0xfc, 0x87, + 0xa6, 0xc9, 0x2a, 0xfa, 0x2f, 0x40, 0xd1, 0xc7, 0x30, 0xd2, 0x40, 0x82, 0xb6, 0xe1, 0x35, 0x35, + 0xe0, 0xde, 0x52, 0x27, 0x8d, 0x1c, 0xa7, 0x46, 0x81, 0xec, 0x29, 0xe5, 0xc4, 0xcb, 0x31, 0xfc, + 0x7d, 0x9f, 0x0d, 0xe1, 0xb2, 0x93, 0x64, 0x5c, 0x9c, 0xe6, 0xe7, 0xfc, 0x5a, 0xf2, 0x99, 0xde, + 0xe0, 0xf2, 0xe0, 0xd1, 0x54, 0x8f, 0x09, 0x43, 0x11, 0x20, 0x32, 0xb9, 0x9c, 0x97, 0xa1, 0xcc, + 0x7b, 0xeb, 0x1e, 0x43, 0xdc, 0x45, 0xfa, 0xd0, 0xb7, 0x44, 0x0d, 0x72, 0xb6, 0xe3, 0x4d, 0x1f, + 0x0d, 0xdf, 0x4b, 0xce, 0x85, 0x70, 0x49, 0xd9, 0xc7, 0x54, 0xfd, 0xd8, 0x55, 0xb5, 0x4c, 0x28, + 0xe0, 0x40, 0xb0, 0xea, 0xeb, 0xef, 0x2b, 0x76, 0xf6, 0xc0, 0x7e, 0x5c, 0x0c, 0x5e, 0x19, 0xd1, + 0x82, 0xc3, 0xea, 0xbb, 0x38, 0x6f, 0x4e, 0x62, 0x9f, 0xe1, 0x8f, 0x24, 0x27, 0x87, 0xf8, 0x79, + 0x68, 0x34, 0x71, 0x0d, 0x46, 0xb2, 0xa2, 0x6d, 0xb8, 0xcf, 0x8b, 0xec, 0x22, 0x10, 0xbc, 0x8f, + 0x19, 0x2e, 0xe0, 0xee, 0xdb, 0xcf, 0x20, 0x62, 0xbf, 0xf6, 0xa0, 0xce, 0x9e, 0x1c, 0x75, 0x5f, + 0x14, 0x20, 0xf0, 0x0e, 0x9e, 0x1f, 0x41, 0x73, 0x9f, 0xf5, 0x38, 0x8c, 0x29, 0x00, 0xca, 0xcc, + 0x40, 0xde, 0x24, 0x8e, 0x31, 0xc9, 0x5f, 0x4c, 0xb4, 0x58, 0xd8, 0x96, 0xba, 0xf6, 0x83, 0xdf, + 0x10, 0x49, 0xb6, 0x56, 0x6d, 0xbc, 0x48, 0x71, 0x53, 0x37, 0x01, 0x43, 0x23, 0x6b, 0x61, 0x96, + 0x49, 0x95, 0x48, 0x2b, 0x73, 0xa9, 0x68, 0x7c, 0x27, 0x9b, 0x22, 0x6e, 0x9c, 0x1f, 0x40, 0xfc, + 0x05, 0xf1, 0xa3, 0x50, 0x41, 0xb8, 0x7e, 0xc8, 0xe5, 0x70, 0x87, 0xd3, 0xd0, 0xa5, 0x6d, 0x3c, + 0x2b, 0x87, 0xd8, 0x00, 0x7c, 0xd7, 0x81, 0x0d, 0x0e, 0xea, 0x11, 0x5c, 0xdf, 0x43, 0xe0, 0xa8, + 0x79, 0x62, 0xf0, 0xdb, 0x47, 0xbd, 0x25, 0x79, 0x3d, 0xe2, 0x98, 0xdf, 0x06, 0x94, 0x13, 0x53, + 0xf6, 0xaa, 0x7c, 0x04, 0xfd, 0x50, 0xe3, 0x93, 0x98, 0x68, 0x5a, 0x40, 0xb9, 0x75, 0x11, 0x99, + 0x02, 0x52, 0xfe, 0x67, 0x5b, 0xbe, 0x78, 0x2e, 0x46, 0xcf, 0x38, 0xb7, 0xdc, 0x43, 0x0b, 0xb3, + 0x67, 0x70, 0x0e, 0x2e, 0xae, 0x1a, 0x9b, 0xb3, 0xb3, 0x33, 0x30, 0x5f, 0xa2, 0x3f, 0x88, 0x25, + 0xd2, 0x61, 0x97, 0x54, 0x0e, 0x46, 0x6a, 0x48, 0x84, 0xb0, 0xb7, 0x12, 0x18, 0x7a, 0x3e, 0x7b, + 0x49, 0xd5, 0x25, 0xef, 0x6d, 0x7d, 0xcc, 0x2d, 0x42, 0x3c, 0xbd, 0x38, 0x6b, 0x90, 0x7c, 0x3d, + 0x66, 0x5e, 0x1d, 0x2d, 0x54, 0xde, 0xcf, 0x97, 0x39, 0x7e, 0x98, 0xf0, 0x95, 0x38, 0x72, 0x35, + 0xe9, 0xab, 0xdc, 0x85, 0x9d, 0x83, 0x8d, 0x85, 0x8e, 0x5e, 0xdc, 0xa6, 0x30, 0xef, 0xe3, 0x42, + 0xc0, 0xb0, 0x63, 0xd0, 0x4e, 0xa9, 0x5d, 0xf6, 0xc8, 0x60, 0x18, 0x09, 0xe3, 0xf2, 0xff, 0x58, + 0x4a, 0x53, 0x32, 0xfb, 0x9d, 0x0f, 0xb1, 0x25, 0x2f, 0x1a, 0xcd, 0xe8, 0x47, 0x80, 0xe0, 0x48, + 0xfa, 0xfd, 0x3a, 0xf4, 0x30, 0xe9, 0x7c, 0x66, 0x83, 0xdb, 0xfd, 0x81, 0x41, 0x3f, 0xde, 0xcf, + 0xcf, 0x08, 0x52, 0x52, 0xc8, 0x18, 0x6d, 0xaa, 0x8b, 0x47, 0xa3, 0xd4, 0x97, 0x64, 0xae, 0xe4, + 0x60, 0x5c, 0x35, 0x23, 0x8a, 0x66, 0x40, 0x71, 0x52, 0x5a, 0x51, 0x7a, 0x69, 0x45, 0x7d, 0x7d, + 0x89, 0x79, 0x43, 0x70, 0x2b, 0xba, 0xe7, 0x13, 0xf6, 0x95, 0xf8, 0x00, 0x63, 0x5e, 0x6b, 0xce, + 0x24, 0x67, 0xa4, 0xc2, 0x83, 0x89, 0x45, 0xaf, 0x36, 0x69, 0x47, 0xbb, 0x12, 0x83, 0x67, 0x09, + 0xbf, 0xef, 0xbe, 0xae, 0x7c, 0x4d, 0x58, 0xdf, 0xa8, 0xd7, 0x1d, 0x79, 0xaa, 0x0e, 0x5a, 0x1d, + 0xd7, 0x37, 0x23, 0x87, 0x0d, 0x69, 0x59, 0xf0, 0x69, 0x42, 0xc5, 0x4e, 0x40, 0x06, 0x22, 0x47, + 0x64, 0x38, 0xd1, 0x6b, 0x20, 0xca, 0x38, 0x91, 0xc0, 0x90, 0x9f, 0xed, 0x1e, 0x9d, 0xd5, 0x60, + 0x82, 0x7c, 0x22, 0x98, 0xd1, 0xc2, 0x25, 0xd2, 0xd7, 0xca, 0xd7, 0xe9, 0x45, 0xdd, 0xc0, 0x7f, + 0xdb, 0xed, 0xde, 0xb0, 0x6d, 0x80, 0x7e, 0x1a, 0xbc, 0x1f, 0xd4, 0x15, 0xa9, 0x50, 0x25, 0x8e, + 0xc4, 0x90, 0x9f, 0xb0, 0x86, 0x2a, 0xe9, 0x76, 0x03, 0x8a, 0x53, 0xca, 0x1e, 0xdd, 0x1b, 0xee, + 0x75, 0x12, 0xc7, 0xeb, 0x6a, 0x9f, 0x18, 0x5d, 0xa6, 0xa7, 0x21, 0x9d, 0x10, 0x72, 0xe1, 0xa0, + 0x1a, 0x8d, 0x7c, 0x94, 0x92, 0xb0, 0x72, 0x97, 0x8f, 0x51, 0x3c, 0xa8, 0x9a, 0xa7, 0x9f, 0x94, + 0x64, 0x89, 0x79, 0x7c, 0xc0, 0xe6, 0x13, 0x64, 0x96, 0x2a, 0x91, 0x8c, 0x5b, 0xd5, 0x2f, 0x3e, + 0x35, 0x27, 0xcc, 0xb3, 0x9f, 0x1e, 0xe7, 0x6c, 0x8f, 0x8f, 0x83, 0xd7, 0x11, 0x87, 0xe7, 0xab, + 0xbf, 0x9d, 0xc6, 0x90, 0x46, 0x17, 0x9b, 0xfc, 0x56, 0xa5, 0xf9, 0x06, 0x30, 0x45, 0x4d, 0xa0, + 0x3c, 0xd7, 0xa4, 0x5d, 0xe7, 0x78, 0xdb, 0xaf, 0xcd, 0x39, 0x21, 0xda, 0x25, 0xab, 0xc7, 0x3f, + 0x42, 0x3f, 0x1e, 0x98, 0x0d, 0x1c, 0xe0, 0x4a, 0xe1, 0x51, 0x9e, 0x0b, 0xb3, 0x65, 0xe7, 0x47, + 0xfc, 0x32, 0x38, 0x44, 0xd4, 0x71, 0xc5, 0xdc, 0xc1, 0x82, 0x73, 0x4c, 0x68, 0xa4, 0x35, 0x17, + 0x1c, 0x3c, 0x92, 0xc5, 0xf4, 0x10, 0x68, 0x91, 0x4e, 0xa9, 0x64, 0x34, 0x65, 0xb0, 0xf1, 0x43, + 0x46, 0xfe, 0x44, 0xce, 0xaa, 0x67, 0xa1, 0xd5, 0x25, 0xd9, 0x85, 0x54, 0xab, 0x47, 0x6b, 0x10, + 0x4e, 0x80, 0x9c, 0xad, 0xc3, 0x37, 0xa2, 0x55, 0x4b, 0x4a, 0x1e, 0x1e, 0x42, 0xf3, 0x2e, 0x45, + 0x30, 0x3a, 0xbc, 0x02, 0xd2, 0xb2, 0x17, 0x5a, 0xd8, 0x0e, 0x05, 0xea, 0xe2, 0xc3, 0x6f, 0x55, + 0xb3, 0xf6, 0x5e, 0xa1, 0x02, 0xe3, 0x10, 0xb5, 0xf3, 0xcf, 0x89, 0xad, 0xce, 0x5f, 0x0f, 0xe0, + 0x7a, 0xc9, 0xea, 0x96, 0x31, 0x05, 0x58, 0xf7, 0xaf, 0xb5, 0x73, 0x26, 0xe9, 0xf2, 0x36, 0x3b, + 0x61, 0x9f, 0x6b, 0x93, 0x1f, 0x4e, 0xb0, 0x30, 0xad, 0x0f, 0xdb, 0xe0, 0xf0, 0x97, 0xd9, 0x5e, + 0x19, 0x92, 0xc8, 0xac, 0xed, 0xc0, 0x1f, 0x8b, 0xef, 0x67, 0x91, 0xd2, 0xfc, 0xd0, 0xac, 0xab, + 0x8e, 0xc0, 0xb9, 0xbb, 0x41, 0xac, 0xbd, 0x2d, 0xb3, 0x92, 0x0d, 0x49, 0x7c, 0x29, 0xad, 0xbf, + 0xfe, 0x76, 0xef, 0x2d, 0xfc, 0x26, 0x3a, 0xc0, 0x52, 0x57, 0xfd, 0x8b, 0xa7, 0x61, 0x95, 0xb6, + 0x1b, 0x3f, 0x0e, 0x59, 0x15, 0x7a, 0x13, 0xf0, 0x84, 0x98, 0xd4, 0xf3, 0xb8, 0x93, 0x0f, 0x45, + 0x61, 0x39, 0x5e, 0x9e, 0xaf, 0x28, 0x92, 0x6d, 0x50, 0x61, 0x4e, 0xe9, 0xae, 0x28, 0xeb, 0x02, + 0x42, 0x15, 0x25, 0x45, 0xe4, 0x26, 0x5a, 0xc4, 0xbf, 0x49, 0x76, 0x7e, 0x4f, 0x36, 0x5d, 0xe4, + 0x5c, 0x85, 0x27, 0x3b, 0xe8, 0x3a, 0xda, 0x11, 0x61, 0xd2, 0xc4, 0x84, 0x08, 0xeb, 0x51, 0x4a, + 0x89, 0xbd, 0x94, 0x63, 0xb2, 0x9b, 0xb1, 0xbe, 0xae, 0x1e, 0x83, 0x24, 0x9e, 0xc1, 0xbf, 0x71, + 0x8b, 0x6e, 0x55, 0x1f, 0xc7, 0xf5, 0xb1, 0xe9, 0xe0, 0xe2, 0xf2, 0x8e, 0x89, 0xa1, 0x71, 0x55, + 0x52, 0x6a, 0xee, 0xcc, 0xf3, 0x09, 0xbd, 0x31, 0xcd, 0xa9, 0xc3, 0x2e, 0xe9, 0x8b, 0xe9, 0xd0, + 0xb1, 0x4f, 0x23, 0x12, 0x79, 0x43, 0x9a, 0x80, 0xdf, 0xcc, 0x1a, 0xf2, 0xfd, 0xc8, 0x88, 0x3d, + 0x8c, 0xfa, 0x70, 0x07, 0xa8, 0x13, 0xc5, 0x9c, 0xc6, 0xda, 0x3e, 0x89, 0xa1, 0x17, 0xe4, 0x60, + 0x69, 0x7e, 0xb7, 0xf9, 0x9a, 0x1b, 0x01, 0xa1, 0x25, 0x56, 0x05, 0x73, 0xf6, 0x38, 0xf2, 0xb8, + 0x1c, 0x26, 0x6c, 0xd7, 0x83, 0x4b, 0x5a, 0x2b, 0xab, 0x87, 0x03, 0xf1, 0x96, 0x04, 0x9f, 0xc0, + 0x5b, 0x1a, 0x28, 0x98, 0x07, 0x6e, 0xbf, 0x98, 0x9d, 0x25, 0x77, 0x37, 0x85, 0xf2, 0xd2, 0xeb, + 0xe4, 0x39, 0xab, 0x24, 0xda, 0x92, 0x30, 0x36, 0xf5, 0x09, 0x7a, 0xf1, 0x3e, 0x91, 0x34, 0x77, + 0x92, 0x1e, 0x55, 0x25, 0x4c, 0x37, 0x84, 0xc5, 0x69, 0xe8, 0x29, 0xb8, 0xe5, 0x0f, 0xc9, 0x49, + 0x8d, 0xbc, 0x42, 0x1d, 0x8b, 0xa7, 0xe9, 0x94, 0xbd, 0x11, 0x5b, 0xf9, 0xbe, 0xd5, 0xcd, 0x65, + 0xb8, 0xa4, 0xc5, 0xeb, 0x71, 0x1e, 0xf4, 0x3b, 0x7d, 0x3e, 0xb9, 0x8f, 0xd2, 0xfa, 0xb4, 0xe0, + 0x72, 0x04, 0xbd, 0x6a, 0xc8, 0x17, 0xd5, 0x1f, 0x98, 0x7b, 0x83, 0xff, 0xd6, 0x71, 0xf7, 0xd2, + 0xa8, 0xde, 0xc7, 0x3a, 0xae, 0x3d, 0x32, 0x00, 0x4d, 0x15, 0x1e, 0x80, 0x63, 0x0c, 0x6f, 0x87, + 0x8a, 0x02, 0x80, 0x42, 0x37, 0xc4, 0x79, 0xf0, 0x9d, 0xaa, 0x08, 0x79, 0x8b, 0x04, 0x86, 0xc2, + 0xd0, 0xa3, 0x80, 0x93, 0x0d, 0x1f, 0x25, 0xc4, 0x32, 0xbd, 0xdb, 0xca, 0xb4, 0x74, 0x2b, 0xa9, + 0x97, 0x99, 0x59, 0x9a, 0xea, 0x15, 0xd1, 0x9e, 0x20, 0x53, 0x47, 0x71, 0xb4, 0x54, 0xa7, 0x45, + 0xf7, 0x25, 0x54, 0x14, 0xbb, 0x39, 0xf6, 0xcc, 0xe7, 0x9e, 0x50, 0x69, 0x94, 0xb1, 0x05, 0xd1, + 0x1e, 0xa3, 0x82, 0x36, 0xaa, 0xff, 0xdc, 0x64, 0xce, 0x4e, 0xf9, 0xaf, 0x50, 0x10, 0x46, 0xe2, + 0xf0, 0x22, 0xdd, 0xe4, 0x3a, 0xba, 0x7e, 0xfb, 0x56, 0xb0, 0xa5, 0xaf, 0xaa, 0xc4, 0x70, 0x6e, + 0x8d, 0x0e, 0xab, 0xf4, 0x2f, 0x9d, 0xe3, 0x47, 0x6a, 0xf4, 0x0f, 0x9e, 0x30, 0xa4, 0x14, 0x6d, + 0xc7, 0x91, 0xb8, 0x43, 0xa1, 0x16, 0x92, 0x3f, 0xcf, 0x6d, 0x54, 0x34, 0xcd, 0x96, 0xcc, 0x70, + 0x29, 0x6c, 0x4f, 0xaf, 0xa9, 0x6f, 0xfb, 0x05, 0x04, 0xf1, 0x80, 0xe0, 0x9a, 0xa5, 0x4d, 0xa4, + 0x89, 0xe9, 0x67, 0x3d, 0x0a, 0x10, 0xf1, 0x51, 0x8f, 0x43, 0x86, 0x05, 0xe9, 0x36, 0x81, 0x90, + 0x3e, 0xe1, 0x8a, 0xa3, 0x06, 0xad, 0x69, 0xb8, 0x22, 0x87, 0x07, 0x48, 0x88, 0x60, 0x80, 0xda, + 0x63, 0x8d, 0x94, 0xa3, 0xe2, 0x51, 0x4b, 0x01, 0xf1, 0xb6, 0x99, 0xba, 0xc0, 0x89, 0x8a, 0xec, + 0x30, 0x7a, 0xe9, 0xa4, 0x0e, 0x95, 0x5b, 0x42, 0x77, 0x89, 0x54, 0x46, 0xef, 0x21, 0x1a, 0xb1, + 0x07, 0xe3, 0x86, 0x3e, 0x03, 0xd4, 0x4d, 0xd8, 0xc8, 0xe3, 0xa8, 0xed, 0x28, 0x27, 0x08, 0x0b, + 0x9e, 0xbc, 0x24, 0xaa, 0x5c, 0x60, 0x10, 0x49, 0xc9, 0x84, 0x0b, 0x4b, 0x58, 0x3e, 0x5a, 0xb6, + 0x7e, 0x51, 0x0b, 0x64, 0x55, 0x44, 0xc9, 0xe4, 0xb8, 0x71, 0xa9, 0x3a, 0x76, 0x1e, 0xe2, 0xd3, + 0x37, 0x9a, 0x96, 0x54, 0x57, 0xa0, 0xb4, 0x4e, 0x35, 0x7a, 0x97, 0x2c, 0x68, 0x32, 0x69, 0x38, + 0x56, 0x36, 0xc0, 0x72, 0xc3, 0x7f, 0xf2, 0xc3, 0xc0, 0x67, 0x33, 0xeb, 0x57, 0x37, 0x2d, 0x41, + 0x74, 0x38, 0x91, 0x0c, 0x73, 0xbf, 0xf6, 0x57, 0xd3, 0x7a, 0x03, 0xc2, 0xb4, 0x64, 0x6f, 0x1c, + 0x5f, 0xe6, 0xf3, 0x35, 0x52, 0x82, 0x00, 0x6b, 0xf2, 0x09, 0x6d, 0xf6, 0x02, 0x85, 0x9a, 0x2c, + 0x37, 0x64, 0x7c, 0x55, 0xc7, 0xf7, 0xf4, 0x91, 0x6f, 0xb8, 0x0c, 0x6c, 0xb4, 0xbb, 0x73, 0xcc, + 0xea, 0x04, 0xeb, 0x68, 0x41, 0x71, 0x86, 0xc0, 0x8b, 0x51, 0xec, 0x43, 0x17, 0x04, 0xe7, 0x3e, + 0xba, 0x77, 0xc4, 0x58, 0x92, 0x72, 0x65, 0x79, 0x48, 0x23, 0x23, 0xde, 0xab, 0x4f, 0xfc, 0xb2, + 0xfb, 0x79, 0x17, 0xa0, 0x45, 0x74, 0xdb, 0xcf, 0x1b, 0x79, 0x77, 0x82, 0xf0, 0x7d, 0x9b, 0x02, + 0x18, 0x9a, 0x07, 0x18, 0x8d, 0x90, 0x4b, 0x52, 0xac, 0xd0, 0x9a, 0x9e, 0x93, 0x74, 0xdc, 0x4f, + 0xc3, 0x34, 0x05, 0xcb, 0x33, 0x92, 0x17, 0x80, 0x15, 0x64, 0xda, 0x24, 0xec, 0x24, 0x61, 0x14, + 0x79, 0x6a, 0x61, 0x2a, 0x83, 0xe1, 0x7a, 0xb5, 0xf3, 0x9b, 0xa9, 0x42, 0x80, 0x8a, 0x88, 0xc0, + 0x7e, 0xb0, 0x41, 0x36, 0x20, 0x68, 0x7a, 0x5f, 0x50, 0x9d, 0x5c, 0x2c, 0x54, 0x71, 0x42, 0x26, + 0x47, 0x47, 0x56, 0x28, 0x4d, 0x71, 0xa5, 0x3c, 0xd6, 0x30, 0xf0, 0xbf, 0xb1, 0x0e, 0xd2, 0xbe, + 0xd5, 0x77, 0xe4, 0xab, 0x3f, 0x52, 0xe5, 0x83, 0xdf, 0x34, 0x73, 0xbb, 0x9b, 0x6f, 0xfc, 0x0d, + 0x28, 0xda, 0xe2, 0xe3, 0x2e, 0x44, 0x5f, 0x21, 0x45, 0x1e, 0xf4, 0x1a, 0xc2, 0xf5, 0x3a, 0x4f, + 0xe5, 0xd9, 0x45, 0x5a, 0xe2, 0x6b, 0xd5, 0xf1, 0x61, 0x0d, 0x47, 0x71, 0xe4, 0x6a, 0xda, 0x2f, + 0x51, 0x69, 0xd0, 0x32, 0x87, 0x54, 0xc1, 0x8e, 0xc3, 0xe4, 0x17, 0x8b, 0x63, 0x73, 0x7d, 0x4f, + 0x87, 0xc3, 0xbc, 0x4e, 0x17, 0x98, 0x58, 0xd9, 0xc3, 0xb9, 0x26, 0xc4, 0x9c, 0xaf, 0xd9, 0xf1, + 0x1c, 0x71, 0xbf, 0xa3, 0x38, 0xf2, 0x00, 0xd5, 0x82, 0xa7, 0x80, 0x7a, 0x7b, 0x23, 0x55, 0x35, + 0x01, 0x4b, 0x41, 0x18, 0x1c, 0xe8, 0xc3, 0x66, 0xf9, 0xa9, 0x80, 0x3b, 0xea, 0x87, 0x0a, 0xb5, + 0x24, 0x5e, 0x33, 0xf4, 0x46, 0xc7, 0xcc, 0xf2, 0x74, 0x80, 0x0b, 0xaf, 0x52, 0xe7, 0xf9, 0xbd, + 0x85, 0x0f, 0x38, 0xba, 0x87, 0xb5, 0xac, 0x49, 0x18, 0xcf, 0xb5, 0x80, 0x50, 0x68, 0x9d, 0x4b, + 0x36, 0x2b, 0x93, 0x5a, 0xb8, 0xc7, 0xcf, 0x1e, 0xfa, 0x60, 0x66, 0xa1, 0x23, 0x2f, 0x58, 0xba, + 0x07, 0xa9, 0x10, 0x31, 0x87, 0x5e, 0x90, 0xfa, 0x49, 0xf8, 0xba, 0x2a, 0xf0, 0x49, 0x92, 0xbe, + 0xab, 0x37, 0x7d, 0x9b, 0x0f, 0x07, 0x5f, 0x41, 0xb1, 0x92, 0xaa, 0xa0, 0x0f, 0xd6, 0x93, 0x22, + 0xcb, 0xd6, 0x60, 0xde, 0xf1, 0xf6, 0x7d, 0xad, 0x97, 0xdd, 0x29, 0xff, 0xd4, 0x17, 0x74, 0x57, + 0x14, 0x47, 0xfb, 0xc0, 0x7c, 0x62, 0xd5, 0x4a, 0x87, 0x08, 0xa2, 0xb4, 0xd9, 0x71, 0x9f, 0x97, + 0x8c, 0x34, 0x3a, 0x15, 0x7e, 0xde, 0xcb, 0xc0, 0xe9, 0x12, 0x95, 0x2a, 0x28, 0x62, 0xeb, 0x45, + 0xc1, 0xb2, 0x23, 0xd5, 0x39, 0x08, 0x00, 0x29, 0x31, 0x03, 0xc1, 0x6e, 0xe7, 0x13, 0xe1, 0x35, + 0x6a, 0x4b, 0xf4, 0x0b, 0x7d, 0xe6, 0x41, 0x3a, 0x04, 0x67, 0x50, 0x1e, 0x87, 0xfe, 0x34, 0xd1, + 0xf4, 0xc6, 0xc9, 0xba, 0x27, 0x55, 0x0c, 0xef, 0x0a, 0xfb, 0xba, 0xfa, 0xe4, 0x60, 0xf9, 0xb6, + 0x70, 0xdd, 0xb6, 0x04, 0x9d, 0x7e, 0x5a, 0xd9, 0xb1, 0xf8, 0xe9, 0x9b, 0xa0, 0xca, 0xd0, 0x79, + 0xa6, 0x2f, 0x78, 0xd4, 0xbe, 0x50, 0x34, 0xee, 0x38, 0x4e, 0x76, 0x63, 0xc6, 0x3e, 0x8b, 0x00, + 0x2e, 0x48, 0xc5, 0x1c, 0x01, 0x66, 0x93, 0xe8, 0xb9, 0x0a, 0x8b, 0x9d, 0x19, 0xd2, 0x0d, 0xa2, + 0x17, 0x5f, 0xb1, 0x98, 0xdd, 0x93, 0x4e, 0x49, 0xe6, 0x5c, 0x4a, 0x71, 0x84, 0x09, 0xe0, 0x21, + 0xc5, 0xa9, 0xfd, 0x90, 0xb5, 0x6d, 0xed, 0x1e, 0x38, 0x37, 0xef, 0x89, 0xe0, 0xd5, 0x81, 0xf7, + 0xdc, 0xec, 0x18, 0x27, 0x01, 0x08, 0x44, 0x4c, 0x69, 0xac, 0xf6, 0x0f, 0x3c, 0xad, 0x37, 0x80, + 0xe1, 0x31, 0xe5, 0x40, 0xb3, 0x21, 0xc8, 0x7f, 0xed, 0xf7, 0x71, 0x48, 0xc2, 0x87, 0x22, 0x73, + 0xf9, 0x3a, 0x32, 0x47, 0x4b, 0x73, 0xc5, 0xcc, 0x52, 0x38, 0x13, 0xbe, 0x8f, 0xf7, 0x6d, 0x7a, + 0x2e, 0x13, 0x4d, 0x1e, 0xee, 0x49, 0x94, 0xdc, 0x68, 0x98, 0xcb, 0xde, 0xd6, 0xc2, 0xee, 0x35, + 0xc7, 0x94, 0x5e, 0xa5, 0xf9, 0x84, 0x96, 0x3e, 0xf2, 0x8c, 0xec, 0x3b, 0xcc, 0x1b, 0x76, 0xab, + 0x15, 0x28, 0x05, 0x41, 0x03, 0x60, 0x02, 0x62, 0x3e, 0x99, 0x46, 0xcb, 0x0b, 0x4c, 0x7c, 0xcc, + 0xec, 0xd5, 0x11, 0x40, 0x07, 0xb6, 0x96, 0x57, 0x85, 0xf0, 0xcb, 0xfc, 0x9b, 0x89, 0xec, 0x5d, + 0xae, 0xdb, 0x18, 0x50, 0x8d, 0xdf, 0xba, 0xe7, 0x05, 0xe7, 0x1d, 0x2c, 0x1e, 0x22, 0x2d, 0xc8, + 0x73, 0xae, 0x19, 0xb0, 0x34, 0xd0, 0xa0, 0xdd, 0x06, 0x56, 0x6a, 0x6b, 0x11, 0xfc, 0x50, 0xf9, + 0xe0, 0xa9, 0xca, 0xc7, 0x74, 0x50, 0xe6, 0x15, 0xa3, 0x13, 0xa9, 0xb5, 0x90, 0x27, 0xed, 0x0e, + 0x98, 0x4a, 0xe8, 0x22, 0x54, 0xfe, 0x3a, 0xc8, 0xe8, 0xdb, 0xe1, 0x69, 0x5b, 0x7e, 0x2d, 0x44, + 0x87, 0x05, 0x5a, 0x53, 0xb4, 0xb0, 0x24, 0x6d, 0xb3, 0xe8, 0x8f, 0xd0, 0x1a, 0x69, 0xfe, 0x60, + 0x34, 0x49, 0x14, 0x84, 0x6a, 0x10, 0x8d, 0xea, 0x08, 0x22, 0xb2, 0xdc, 0x4f, 0x1e, 0xb6, 0x43, + 0x77, 0x05, 0xd7, 0x7d, 0x60, 0xb7, 0x03, 0x9c, 0x8a, 0x3c, 0x26, 0xfe, 0xa1, 0x46, 0x4a, 0xa8, + 0x5a, 0x28, 0x66, 0x6f, 0x0c, 0x02, 0xbc, 0x69, 0x38, 0x4d, 0x93, 0xdf, 0xf5, 0xfb, 0x7c, 0xb3, + 0x42, 0xfb, 0x6e, 0x20, 0x1f, 0x45, 0x72, 0x6a, 0x6a, 0x43, 0x43, 0xb2, 0xbe, 0x5d, 0x2b, 0x79, + 0xb5, 0x45, 0xa2, 0x40, 0x4e, 0x93, 0x34, 0x21, 0x09, 0x0b, 0x00, 0x91, 0x30, 0x0e, 0x54, 0x9e, + 0xeb, 0x68, 0xda, 0x8d, 0x83, 0xab, 0x16, 0xc1, 0x1c, 0xe8, 0xd6, 0xe6, 0xcb, 0x72, 0x49, 0x41, + 0xf8, 0xe5, 0x2d, 0x81, 0x8b, 0x93, 0x8b, 0xb7, 0x49, 0x21, 0xeb, 0xcb, 0x01, 0x5e, 0x26, 0x77, + 0xb4, 0x7c, 0x28, 0x71, 0x78, 0x97, 0xaf, 0xbb, 0x2b, 0x98, 0xcd, 0xc7, 0x4a, 0xb5, 0x5a, 0xf7, + 0x86, 0x5b, 0x4b, 0x5d, 0xe4, 0xe8, 0x53, 0xa7, 0x8a, 0x2e, 0x35, 0x38, 0x2a, 0x2a, 0xba, 0x2a, + 0x06, 0x05, 0x08, 0xf5, 0x25, 0xd2, 0xb7, 0x95, 0x5c, 0xb4, 0x49, 0x7c, 0x6f, 0xfa, 0x79, 0x4e, + 0x55, 0x94, 0xe7, 0x6a, 0x3d, 0x28, 0xcc, 0xc3, 0x0e, 0x3a, 0xe5, 0xc4, 0xeb, 0x06, 0x93, 0x65, + 0xa2, 0x5d, 0xce, 0x49, 0x85, 0x93, 0xf5, 0xf9, 0x3c, 0x84, 0x73, 0x07, 0x53, 0xfd, 0x40, 0xc8, + 0xc4, 0x7d, 0xea, 0x0e, 0xc2, 0xad, 0x31, 0x8b, 0x94, 0xfc, 0x39, 0x27, 0x85, 0x65, 0x80, 0x58, + 0x74, 0x6f, 0x28, 0x5d, 0x3a, 0x07, 0xe2, 0x40, 0x67, 0x0e, 0xb8, 0x5e, 0xfd, 0xea, 0x63, 0xbf, + 0x91, 0xa4, 0x71, 0x52, 0xad, 0x4d, 0x61, 0xd1, 0x0a, 0x54, 0x3d, 0x2a, 0x07, 0x2d, 0xe9, 0x01, + 0x9e, 0x50, 0x38, 0xd7, 0xf8, 0xe5, 0x30, 0xa1, 0x3c, 0xef, 0x7f, 0xe2, 0x96, 0x29, 0x90, 0x76, + 0x0a, 0xf0, 0xa2, 0xc0, 0x8e, 0x20, 0x41, 0x23, 0x9c, 0xb1, 0xf4, 0x46, 0xe7, 0x14, 0x2e, 0x53, + 0xa3, 0xbc, 0xd6, 0x83, 0x7e, 0x5d, 0x91, 0x1f, 0x7f, 0x61, 0x87, 0x99, 0x36, 0xb0, 0x21, 0x99, + 0x08, 0x55, 0x75, 0x90, 0xc9, 0x35, 0x97, 0x98, 0xea, 0xd8, 0xb5, 0xa8, 0xf6, 0x08, 0xab, 0x79, + 0xd4, 0x3a, 0x31, 0xca, 0xf1, 0xf6, 0x4e, 0xbf, 0x61, 0xf9, 0x73, 0xfb, 0x01, 0x2c, 0x12, 0x3a, + 0xa3, 0x98, 0xda, 0x69, 0x48, 0xdc, 0x22, 0xde, 0xe9, 0x8c, 0xd5, 0x28, 0xff, 0xea, 0xe8, 0x7e, + 0xea, 0xd6, 0x98, 0x2a, 0xc1, 0x7b, 0x6d, 0x09, 0xa2, 0x1a, 0x2f, 0x50, 0x3e, 0xa0, 0x0c, 0xaa, + 0x10, 0x5b, 0xbf, 0x0f, 0x2f, 0xcf, 0x14, 0xef, 0xa5, 0xa1, 0x56, 0xa3, 0x5c, 0x75, 0xc8, 0xa5, + 0xc8, 0x63, 0x7a, 0xf2, 0x93, 0x01, 0xa3, 0x5a, 0x39, 0x3c, 0x3a, 0x65, 0x98, 0xe6, 0x0e, 0x66, + 0xbc, 0xc0, 0xf2, 0x8f, 0x64, 0x06, 0x35, 0xe9, 0x88, 0xb5, 0xaf, 0xf5, 0x08, 0x94, 0x8c, 0x55, + 0xa8, 0x0a, 0x1f, 0x99, 0xdf, 0xce, 0x8d, 0x35, 0x67, 0x69, 0x7f, 0x7c, 0xf9, 0x14, 0xba, 0xfd, + 0x3e, 0xa3, 0xc0, 0x07, 0x82, 0xc7, 0xe8, 0x3b, 0x8b, 0x0c, 0xc0, 0xd9, 0x6a, 0x47, 0x0f, 0xa0, + 0x48, 0xc9, 0x3e, 0x4e, 0x0e, 0x64, 0xe6, 0xbc, 0x21, 0x2c, 0x3c, 0x2c, 0x83, 0x48, 0xde, 0xfc, + 0x28, 0x10, 0x0b, 0x69, 0xed, 0x31, 0xf6, 0x1e, 0x6e, 0xff, 0x29, 0x72, 0x11, 0x1d, 0x3f, 0x1d, + 0xd7, 0xa3, 0x3c, 0xc5, 0xff, 0x7d, 0xcd, 0x4e, 0x99, 0xcd, 0xec, 0x98, 0xc2, 0xa3, 0x8c, 0x26, + 0x1e, 0xea, 0x90, 0xe4, 0x36, 0x04, 0xab, 0x2b, 0xae, 0x7d, 0x3f, 0x40, 0xd6, 0xb7, 0x52, 0xd0, + 0x7f, 0x29, 0x6b, 0xcd, 0x9f, 0x46, 0x7b, 0x1e, 0xa6, 0xc8, 0x63, 0xea, 0xd0, 0xe7, 0x5a, 0xa1, + 0x33, 0x8b, 0xa5, 0x48, 0x13, 0x1b, 0x03, 0x0b, 0x8a, 0x88, 0x63, 0xc3, 0xbe, 0xd9, 0x3f, 0x98, + 0xcb, 0xaa, 0xc5, 0x3e, 0xeb, 0x61, 0x52, 0x37, 0xf8, 0x0e, 0x88, 0x4b, 0x6a, 0x37, 0x38, 0x2a, + 0xfa, 0x3a, 0x20, 0x53, 0x69, 0x25, 0x08, 0x33, 0xc1, 0x0c, 0xa6, 0xac, 0xe9, 0xfe, 0xdb, 0xae, + 0x57, 0x97, 0x86, 0x72, 0xed, 0xee, 0x27, 0xcb, 0x10, 0xce, 0x8c, 0xb4, 0x5c, 0x07, 0xfb, 0x85, + 0x93, 0x72, 0x63, 0xec, 0x5f, 0xba, 0x73, 0x84, 0xab, 0xdf, 0xf8, 0xcc, 0xeb, 0x34, 0xab, 0x2d, + 0x8a, 0x77, 0x30, 0xda, 0xb6, 0x57, 0x4a, 0x2b, 0x2d, 0x38, 0xdc, 0x0e, 0xe2, 0x6f, 0x64, 0x60, + 0x13, 0x62, 0xd9, 0xbe, 0x1b, 0xbf, 0x18, 0x9d, 0xdc, 0x83, 0xac, 0x73, 0x04, 0x0c, 0x1a, 0x54, + 0x8d, 0xd1, 0x71, 0x42, 0x70, 0xd0, 0x55, 0x55, 0x5f, 0xcf, 0x3d, 0x60, 0x95, 0x47, 0xc0, 0xaa, + 0x2d, 0xf4, 0x0c, 0x20, 0x37, 0xd0, 0x97, 0x42, 0x5e, 0x44, 0xbb, 0x37, 0xf2, 0x05, 0x9b, 0x8e, + 0x63, 0xed, 0xd8, 0x54, 0xcb, 0x80, 0xd6, 0x08, 0x2a, 0x75, 0x3e, 0xca, 0xde, 0x88, 0x9e, 0xeb, + 0x8b, 0xbd, 0x96, 0x49, 0x9e, 0x44, 0x15, 0x7d, 0xce, 0x12, 0x6e, 0x5a, 0x5d, 0xf1, 0xd6, 0xda, + 0x46, 0xc5, 0xac, 0x04, 0x6c, 0x46, 0x36, 0xe0, 0x1c, 0x0b, 0xbd, 0xa6, 0xbc, 0x31, 0xd3, 0x10, + 0x3b, 0x61, 0x65, 0xe5, 0xc9, 0x40, 0x79, 0x71, 0x17, 0x3b, 0x42, 0x83, 0x73, 0xdf, 0xd4, 0x56, + 0x80, 0x68, 0x18, 0xad, 0x3d, 0x82, 0x8b, 0xda, 0x45, 0x87, 0x14, 0x26, 0x54, 0x33, 0xd6, 0xc1, + 0x53, 0x73, 0x12, 0x13, 0x2d, 0xdc, 0xb1, 0x3f, 0xd2, 0x26, 0x7d, 0x05, 0x1f, 0x76, 0xaf, 0x86, + 0x18, 0x33, 0xbc, 0x9f, 0x63, 0x83, 0x87, 0x70, 0x5f, 0x17, 0x58, 0x35, 0xde, 0x18, 0x5e, 0x0d, + 0x96, 0x0b, 0x9f, 0xb1, 0x28, 0xf0, 0x4c, 0xec, 0x12, 0xe1, 0xff, 0xb6, 0x95, 0x61, 0xfc, 0x9d, + 0x67, 0x2b, 0x07, 0x67, 0x35, 0xdb, 0x31, 0xa4, 0x7c, 0x3f, 0x50, 0xc2, 0x2f, 0x5c, 0xb6, 0x19, + 0xbc, 0xa0, 0xc3, 0xff, 0xfe, 0x44, 0x48, 0x2e, 0xdb, 0x2f, 0x41, 0x73, 0x4e, 0xe2, 0x6e, 0x44, + 0x6b, 0x3f, 0xa9, 0xc9, 0x21, 0x4f, 0xea, 0x16, 0x13, 0x03, 0xfb, 0x55, 0x42, 0xe8, 0x9d, 0xcb, + 0xea, 0x06, 0x54, 0x34, 0x2c, 0x78, 0xfc, 0x37, 0xd5, 0xea, 0xf9, 0xb3, 0x08, 0x67, 0x46, 0xcf, + 0x9c, 0x9d, 0xe1, 0xd5, 0x66, 0x64, 0xf4, 0x26, 0x50, 0xbe, 0xde, 0x97, 0x23, 0xcb, 0x48, 0x77, + 0x26, 0x59, 0xd9, 0xd2, 0xcc, 0x5d, 0x6e, 0x9f, 0xb7, 0x86, 0xe9, 0x2d, 0xc5, 0x54, 0xb9, 0xac, + 0x52, 0x7e, 0x7b, 0x09, 0x42, 0xab, 0x98, 0xd2, 0x63, 0x45, 0xfa, 0x63, 0x14, 0xaf, 0xb3, 0xdb, + 0x32, 0x1c, 0x07, 0x4e, 0xcc, 0x9b, 0x2c, 0x76, 0x45, 0x66, 0x44, 0x62, 0xe9, 0x35, 0x3e, 0x82, + 0x5f, 0x7f, 0xfc, 0x2d, 0x77, 0x3b, 0x83, 0x63, 0x3b, 0xd6, 0xfd, 0xfc, 0x2e, 0x02, 0xd2, 0x6a, + 0xd9, 0xc9, 0xcb, 0xaf, 0x36, 0x9d, 0x7b, 0xfe, 0xaa, 0xb7, 0x79, 0xf2, 0xbd, 0xb4, 0xe0, 0x86, + 0x54, 0x01, 0xa3, 0x16, 0xdf, 0x90, 0x15, 0x48, 0x2f, 0xe6, 0xbd, 0xf4, 0x3c, 0x02, 0xf1, 0x55, + 0x07, 0x8a, 0xe6, 0xcd, 0x11, 0x71, 0xcf, 0xbd, 0x62, 0x7b, 0x02, 0xb7, 0x47, 0xac, 0x69, 0x2b, + 0x34, 0xf8, 0xec, 0xa4, 0x55, 0x9c, 0x1c, 0xca, 0x26, 0xbf, 0x75, 0xed, 0xfc, 0xad, 0x5b, 0x3a, + 0xbd, 0x24, 0xe5, 0x17, 0x3d, 0xb9, 0x39, 0x38, 0x33, 0xb5, 0x00, 0xda, 0x6f, 0xe5, 0xb2, 0x8b, + 0xda, 0x49, 0x96, 0xad, 0x6d, 0x05, 0x99, 0xdc, 0x01, 0x99, 0x05, 0xb6, 0xc0, 0x63, 0x64, 0xcb, + 0x94, 0x73, 0xa8, 0x47, 0x4a, 0xa3, 0x8f, 0x1b, 0x1a, 0x1d, 0xfb, 0xd6, 0x1c, 0xc1, 0x88, 0xd8, + 0x68, 0x5b, 0x5f, 0xa3, 0x54, 0x95, 0xb9, 0xf3, 0x5f, 0x28, 0x67, 0x33, 0xa7, 0x3f, 0x3b, 0xd9, + 0x96, 0x34, 0x95, 0x9f, 0x73, 0x5e, 0xb4, 0x1e, 0x6c, 0x3a, 0x99, 0x21, 0x5d, 0x74, 0x79, 0xe9, + 0x73, 0x6f, 0xc7, 0xb9, 0x23, 0x05, 0xb3, 0x45, 0xff, 0x5c, 0xfe, 0xdc, 0xc2, 0x38, 0x21, 0x87, + 0x4c, 0x84, 0x48, 0x94, 0xe3, 0xfd, 0x27, 0xf4, 0xe3, 0x57, 0xeb, 0xf5, 0xbb, 0x9e, 0x4e, 0x6a, + 0x3a, 0xbf, 0x6b, 0x68, 0xa9, 0x62, 0x5b, 0xec, 0x57, 0x34, 0x52, 0x7b, 0x76, 0x5d, 0x12, 0x24, + 0x7e, 0xef, 0x33, 0x2d, 0xa7, 0xe8, 0x7a, 0xd0, 0x79, 0x37, 0x29, 0x3c, 0x88, 0x62, 0x30, 0xa6, + 0x5a, 0xe0, 0xc7, 0x2b, 0x20, 0xcf, 0x9a, 0xf0, 0x67, 0x35, 0x1d, 0xb4, 0x70, 0xd7, 0x66, 0xf7, + 0x34, 0xde, 0x5c, 0x2a, 0xa7, 0xd2, 0x6d, 0xc1, 0xfe, 0xc3, 0x72, 0xd4, 0x65, 0x67, 0xff, 0x41, + 0xab, 0x26, 0x32, 0xc9, 0xf8, 0x5f, 0x64, 0x67, 0x55, 0x93, 0x0b, 0xe1, 0xf9, 0x98, 0xcc, 0x55, + 0xe9, 0x28, 0x36, 0xfe, 0xb9, 0x09, 0xd6, 0x4f, 0xbc, 0x6a, 0x0a, 0x3f, 0x50, 0x53, 0xd4, 0x08, + 0xb8, 0x3d, 0x78, 0x66, 0x62, 0x83, 0x55, 0xf7, 0x1e, 0x56, 0x57, 0xd9, 0x10, 0x00, 0xc4, 0xa2, + 0xaa, 0xfe, 0x2b, 0x49, 0xe1, 0xbe, 0x1b, 0x9c, 0xff, 0xd6, 0x59, 0xb9, 0x73, 0x9a, 0x5e, 0x78, + 0x26, 0x99, 0xd0, 0x39, 0x76, 0xf1, 0xc6, 0x20, 0xae, 0xad, 0x6c, 0x06, 0xdf, 0xed, 0x30, 0x29, + 0x21, 0xa7, 0x40, 0xea, 0xce, 0x4b, 0xa6, 0x76, 0xf7, 0xed, 0x21, 0xac, 0x80, 0x5c, 0x10, 0xb3, + 0x97, 0x63, 0x3e, 0x44, 0x7f, 0x08, 0x1c, 0xb9, 0x63, 0x36, 0xb3, 0x9b, 0x36, 0x7d, 0x75, 0x17, + 0xaa, 0xf5, 0x8d, 0x91, 0xbb, 0xa1, 0x9e, 0xc1, 0x57, 0x84, 0x3b, 0x8b, 0xd9, 0x56, 0x65, 0x87, + 0x15, 0x5c, 0xf6, 0x15, 0x94, 0xe6, 0x84, 0x4c, 0x00, 0x8e, 0x68, 0x46, 0xd7, 0xfd, 0x43, 0x85, + 0x00, 0x67, 0x05, 0xbc, 0xbe, 0x10, 0xdd, 0x58, 0x45, 0x5b, 0x6f, 0x80, 0x09, 0xf4, 0x5e, 0x7f, + 0x85, 0x43, 0x31, 0xed, 0xf3, 0xad, 0x08, 0x2f, 0x28, 0x2e, 0x09, 0x4d, 0xbc, 0x15, 0x27, 0x61, + 0x7a, 0x9c, 0xbb, 0x23, 0x17, 0x85, 0x15, 0x13, 0x30, 0x7c, 0x26, 0xe5, 0xb7, 0xfa, 0x83, 0xbd, + 0x34, 0xf1, 0xae, 0xb8, 0xa0, 0xbb, 0xad, 0xf8, 0x71, 0x53, 0xac, 0x30, 0x23, 0x4e, 0xe9, 0x83, + 0x05, 0xc6, 0xe6, 0x9c, 0x32, 0x31, 0x7c, 0xa0, 0x74, 0xa9, 0xe1, 0xf9, 0xab, 0x07, 0x91, 0x08, + 0xcf, 0x33, 0xe3, 0x91, 0x42, 0x41, 0x01, 0xf5, 0x63, 0x06, 0xc5, 0xa8, 0x5f, 0x62, 0x69, 0xd8, + 0xf9, 0x05, 0x7d, 0x1a, 0x7f, 0x02, 0x46, 0xcc, 0xb9, 0x4c, 0xf4, 0x77, 0x05, 0x02, 0xd1, 0x54, + 0xbc, 0xf8, 0x3e, 0xd8, 0x9b, 0x60, 0x6f, 0xda, 0x12, 0xee, 0xfc, 0x53, 0x87, 0x69, 0x8e, 0x40, + 0x6e, 0x74, 0x42, 0x5b, 0x95, 0xcd, 0x8a, 0xc9, 0x9f, 0x75, 0xc5, 0x49, 0xa9, 0x8d, 0x97, 0x31, + 0x02, 0x36, 0xdd, 0x45, 0x61, 0x59, 0x26, 0x87, 0x69, 0xbd, 0x28, 0xb7, 0x9c, 0x7e, 0x39, 0xcf, + 0x02, 0xad, 0x0e, 0xdc, 0x85, 0xba, 0x03, 0xf3, 0x9d, 0xd3, 0x0d, 0x1d, 0x28, 0x62, 0xa2, 0xc0, + 0xcc, 0x44, 0x52, 0x68, 0xb5, 0x27, 0x0d, 0x12, 0xc6, 0x60, 0xa5, 0xad, 0x01, 0xe7, 0xfc, 0x7f, + 0x42, 0x5a, 0xab, 0x3f, 0xc9, 0xc4, 0x29, 0xab, 0x1c, 0x6b, 0x3a, 0x86, 0x63, 0x46, 0x1c, 0xfb, + 0x51, 0x69, 0xe1, 0x8f, 0x31, 0x18, 0x3e, 0xd1, 0x97, 0x77, 0x6d, 0xfd, 0x43, 0x09, 0x8e, 0xd1, + 0x11, 0x8d, 0x99, 0xd3, 0x85, 0x88, 0x2a, 0xb5, 0xbb, 0x4d, 0xa1, 0x46, 0x4d, 0xa3, 0x35, 0x6a, + 0x77, 0x86, 0xf0, 0x72, 0xd8, 0xf2, 0x15, 0xbc, 0xd4, 0x4b, 0x46, 0x19, 0xe9, 0x60, 0xd3, 0xc9, + 0x30, 0x08, 0x9e, 0xeb, 0x6c, 0xee, 0xd4, 0xd8, 0x02, 0x5b, 0x1b, 0x3f, 0x47, 0x1b, 0xdd, 0x70, + 0xbe, 0x52, 0x36, 0x0e, 0x23, 0x80, 0xd2, 0x3b, 0xf5, 0x2a, 0xdb, 0x11, 0x1c, 0xe5, 0xea, 0x0e, + 0x1e, 0xc5, 0x28, 0xa9, 0x3c, 0x16, 0x09, 0xcc, 0x4f, 0x38, 0x47, 0x32, 0x82, 0xd4, 0xab, 0xd6, + 0x1b, 0x54, 0x7e, 0xd2, 0xb1, 0xbb, 0xcb, 0x1e, 0xba, 0xb5, 0x65, 0x60, 0x4e, 0x0a, 0xf7, 0xb6, + 0xa6, 0x61, 0x4f, 0x9a, 0xb2, 0x55, 0x73, 0x71, 0xdf, 0x18, 0x66, 0xa8, 0x17, 0x0f, 0x92, 0xa2, + 0xc0, 0x78, 0x93, 0xfc, 0xfc, 0xe9, 0x9e, 0xaa, 0x2d, 0xee, 0x05, 0x7b, 0x95, 0x11, 0x44, 0x1b, + 0xf9, 0xb0, 0x86, 0x07, 0x6b, 0x15, 0xa4, 0x09, 0xcb, 0x83, 0xdb, 0xf9, 0x23, 0x18, 0x8b, 0xe7, + 0x02, 0x23, 0xa6, 0xbb, 0xe0, 0x2f, 0x82, 0x9a, 0xef, 0x8e, 0x33, 0xa4, 0x53, 0xf9, 0xfd, 0x53, + 0x3c, 0x85, 0xd5, 0x87, 0xf0, 0xc1, 0x7f, 0x2c, 0xef, 0x85, 0x32, 0xd8, 0x3a, 0x15, 0xe7, 0x28, + 0x2f, 0x37, 0xe0, 0xa4, 0xd3, 0xf2, 0xa4, 0xa3, 0x54, 0x32, 0xea, 0x2f, 0xfa, 0x99, 0xdb, 0xb5, + 0x43, 0xad, 0x29, 0xe2, 0x17, 0x3d, 0x09, 0xe3, 0x14, 0x0e, 0x94, 0x20, 0x0d, 0x2c, 0x37, 0xa7, + 0x41, 0x3d, 0x64, 0x1c, 0x1f, 0xba, 0x67, 0xc7, 0x6b, 0x06, 0x88, 0x9d, 0x9a, 0x60, 0x3b, 0x61, + 0x38, 0xec, 0x05, 0x69, 0x23, 0x93, 0x28, 0xed, 0xa9, 0xb0, 0xab, 0x8e, 0x4d, 0xc6, 0xb1, 0x04, + 0x27, 0x09, 0x20, 0xad, 0x40, 0xaf, 0x98, 0x10, 0x7b, 0x99, 0x71, 0x14, 0x5f, 0x2a, 0xbf, 0x6c, + 0x1f, 0x7a, 0x95, 0x0a, 0x86, 0xbc, 0x63, 0x82, 0xe1, 0x27, 0x96, 0x9b, 0xb6, 0x6a, 0x61, 0xb5, + 0x74, 0x56, 0xfc, 0x9b, 0x9d, 0xcf, 0xf9, 0xd2, 0x50, 0xe9, 0x20, 0x4f, 0x87, 0xc9, 0x64, 0x71, + 0xff, 0x52, 0x08, 0xb5, 0x44, 0x97, 0xd4, 0xc6, 0x5e, 0x2c, 0x68, 0xc6, 0x13, 0x24, 0x16, 0x65, + 0x01, 0xde, 0xa2, 0x28, 0x59, 0xa8, 0x53, 0x65, 0xdd, 0x3d, 0x3b, 0x5f, 0xc8, 0xd3, 0xfa, 0xa2, + 0x63, 0xaa, 0xf0, 0x83, 0xc6, 0xa1, 0xc2, 0x09, 0xb3, 0xca, 0x4b, 0xf1, 0x41, 0x86, 0xef, 0x0b, + 0xdf, 0x2f, 0x7e, 0xe6, 0xe4, 0x84, 0xc2, 0x58, 0xba, 0x19, 0x68, 0xec, 0x87, 0xa8, 0xea, 0xe5, + 0x49, 0x2e, 0x8c, 0x00, 0x22, 0x3f, 0x08, 0x21, 0x06, 0x73, 0x3f, 0x47, 0xc3, 0x4c, 0x2c, 0x35, + 0x66, 0xb2, 0x52, 0x62, 0x6d, 0x68, 0x1e, 0x02, 0x0b, 0x36, 0x1a, 0x19, 0xe3, 0xee, 0xd9, 0xbc, + 0x2d, 0xca, 0x66, 0x1d, 0x52, 0xae, 0x36, 0x66, 0x92, 0x7a, 0x69, 0x0f, 0xd2, 0xf1, 0x06, 0x92, + 0xb6, 0x8a, 0x27, 0xa9, 0x25, 0x1b, 0x15, 0x53, 0xb0, 0x4d, 0xd7, 0x72, 0x88, 0x8c, 0x75, 0x8b, + 0x2a, 0xf7, 0xd4, 0x25, 0x1d, 0xe1, 0x23, 0x57, 0x2b, 0x96, 0xf6, 0x7f, 0xf1, 0x6e, 0x86, 0xa3, + 0xe6, 0x90, 0x22, 0xa5, 0x2e, 0x86, 0xde, 0x16, 0x4d, 0xe2, 0x92, 0x7c, 0x62, 0xbb, 0x3e, 0xbe, + 0xf1, 0x3b, 0x4d, 0xa8, 0x65, 0x77, 0x4e, 0xd9, 0x15, 0x30, 0xd8, 0xa1, 0x14, 0xa9, 0x13, 0x4c, + 0xc0, 0x10, 0xbe, 0x2f, 0xf8, 0xa4, 0x59, 0xa1, 0xc6, 0x8f, 0x54, 0x2e, 0xba, 0xbd, 0x4a, 0x6c, + 0x66, 0xf6, 0x95, 0x31, 0x30, 0x4d, 0xf9, 0x37, 0xfe, 0x18, 0x47, 0x96, 0xb6, 0x53, 0x18, 0xa2, + 0x71, 0xe1, 0x55, 0x40, 0xb4, 0x63, 0x81, 0xb4, 0x14, 0xcd, 0x50, 0x69, 0x21, 0xba, 0x3a, 0x3a, + 0x7c, 0x91, 0x73, 0x04, 0x3d, 0xfe, 0xbb, 0x14, 0xa0, 0xc5, 0x04, 0xb2, 0xf7, 0xaf, 0x61, 0x25, + 0x8e, 0x03, 0x1d, 0xd2, 0x04, 0x69, 0xd1, 0x6e, 0xe3, 0x6e, 0xed, 0xc5, 0x13, 0x69, 0xa2, 0x4b, + 0x38, 0x92, 0xc1, 0xf6, 0xbd, 0x51, 0x66, 0xaf, 0x65, 0xa0, 0x22, 0xca, 0xee, 0x0d, 0xf9, 0x75, + 0xb6, 0x7f, 0xfa, 0xb9, 0x9b, 0xbe, 0x23, 0x0d, 0x1e, 0x45, 0xab, 0x58, 0x4d, 0xcf, 0x9a, 0xec, + 0x04, 0xd3, 0x66, 0xb5, 0xb3, 0x95, 0x77, 0x89, 0x7d, 0xbb, 0x91, 0xfc, 0x4a, 0xca, 0x3a, 0x86, + 0xf1, 0x5f, 0x5f, 0x29, 0x25, 0x09, 0x75, 0x14, 0x5e, 0xd2, 0xd4, 0x84, 0x41, 0x78, 0x42, 0x3c, + 0xb0, 0xd3, 0xb7, 0x2c, 0x5a, 0x07, 0xb2, 0xec, 0xcb, 0x15, 0xab, 0xb8, 0x1f, 0x42, 0x0d, 0x46, + 0x78, 0xb4, 0x12, 0x60, 0x43, 0xb6, 0x12, 0xab, 0x1c, 0x98, 0xea, 0xcd, 0xe0, 0x4d, 0x12, 0x0b, + 0x1e, 0x92, 0x10, 0x7f, 0xf5, 0xe6, 0x77, 0xfe, 0x10, 0x55, 0x46, 0xbe, 0x4a, 0x3e, 0xd8, 0x86, + 0x3d, 0x47, 0xdb, 0x89, 0x87, 0x51, 0x51, 0x11, 0xa9, 0xe8, 0xf7, 0xc3, 0x9d, 0xa0, 0x09, 0x63, + 0xe7, 0xbb, 0x53, 0xb9, 0x14, 0x9a, 0x09, 0xb4, 0x74, 0x97, 0x2a, 0x84, 0xcc, 0xfb, 0x72, 0x86, + 0xa0, 0xdc, 0xb8, 0xa5, 0x68, 0x55, 0x2c, 0x68, 0xf3, 0x40, 0x9a, 0x19, 0xdd, 0x9c, 0x54, 0xa9, + 0x0c, 0xe9, 0xae, 0x68, 0xb3, 0xf2, 0x59, 0x6d, 0x03, 0x45, 0x3d, 0x9b, 0x20, 0xa5, 0xe3, 0x70, + 0x7f, 0x26, 0xb1, 0x6a, 0x9d, 0x14, 0xf4, 0x08, 0xab, 0x9a, 0x9e, 0x48, 0x4d, 0x5b, 0x16, 0x02, + 0xfb, 0xd8, 0x12, 0x82, 0xfc, 0xf9, 0x1f, 0x3e, 0x2b, 0x27, 0x8f, 0x4e, 0xca, 0x2c, 0x45, 0xf4, + 0x4b, 0x1f, 0xe2, 0x18, 0x38, 0x7e, 0x2b, 0xe5, 0x38, 0xd1, 0xb6, 0x21, 0x4d, 0xb2, 0x09, 0xec, + 0xfb, 0x24, 0x8a, 0x19, 0x93, 0x6a, 0x1d, 0xf1, 0xd8, 0x2f, 0xd1, 0x74, 0x4b, 0x8d, 0x50, 0x0f, + 0xb7, 0xeb, 0xcc, 0x55, 0xfb, 0x78, 0xb9, 0xc4, 0x72, 0xdf, 0xbd, 0x53, 0x2b, 0x52, 0x0c, 0xd6, + 0xd3, 0xca, 0x48, 0x7e, 0xa0, 0x96, 0x78, 0x89, 0x12, 0x40, 0x77, 0x68, 0x1b, 0x28, 0x0a, 0xb3, + 0x2e, 0xb5, 0x90, 0xd3, 0x41, 0xd2, 0xb5, 0x6c, 0xb7, 0x55, 0xf2, 0xc2, 0xec, 0xe8, 0xc3, 0x4b, + 0xa6, 0x21, 0x47, 0x29, 0xd0, 0xc2, 0x75, 0x95, 0xca, 0xbe, 0xf3, 0xfb, 0xc2, 0x19, 0x6a, 0xe9, + 0xf5, 0xa7, 0xd8, 0xc5, 0x45, 0x20, 0xf3, 0x4f, 0xb7, 0x79, 0x13, 0x55, 0x2a, 0xf5, 0x82, 0x9a, + 0x4e, 0x6d, 0x06, 0x80, 0xb1, 0x77, 0xb3, 0xa0, 0x7d, 0x64, 0xb9, 0xf9, 0xd4, 0x26, 0xa2, 0xe6, + 0xb0, 0x10, 0x47, 0x66, 0x3b, 0xd9, 0xa9, 0x46, 0x1f, 0x87, 0x3a, 0xed, 0xd0, 0x61, 0x4f, 0x7f, + 0x70, 0x3c, 0xde, 0x81, 0xea, 0x8b, 0x6a, 0x91, 0x9f, 0x2d, 0xde, 0x1e, 0x1c, 0x04, 0x8e, 0x01, + 0x9f, 0x28, 0xb9, 0xd4, 0x29, 0x86, 0x80, 0x35, 0xd3, 0x75, 0xe5, 0x07, 0xbb, 0xaa, 0x64, 0x67, + 0x45, 0x57, 0xa6, 0x8c, 0xa1, 0xc4, 0x99, 0x53, 0x36, 0x0c, 0x30, 0x50, 0x59, 0x5e, 0x9b, 0xff, + 0x0b, 0x6b, 0x1b, 0x2c, 0xb2, 0x44, 0x05, 0x5f, 0x6e, 0x36, 0x7f, 0x98, 0x63, 0x7c, 0xa8, 0x19, + 0xbc, 0x62, 0xda, 0xe4, 0x2c, 0x0b, 0x16, 0x02, 0x14, 0xd6, 0x3d, 0xa4, 0x93, 0xb6, 0xd9, 0x8a, + 0x53, 0x36, 0x6a, 0x9a, 0x51, 0x81, 0xf5, 0x90, 0xad, 0x48, 0x45, 0xe4, 0x90, 0x56, 0x38, 0x7f, + 0x69, 0x52, 0x27, 0x6b, 0x6b, 0xe6, 0xdb, 0x14, 0x84, 0x09, 0x73, 0x5c, 0xde, 0xf3, 0x63, 0xdb, + 0x39, 0xfe, 0x10, 0xd8, 0xb9, 0x3a, 0x33, 0x57, 0x15, 0x64, 0x1f, 0x89, 0x3d, 0x57, 0xcd, 0xeb, + 0x7c, 0x94, 0x53, 0x4f, 0x11, 0xc0, 0x6e, 0x2b, 0x20, 0x8f, 0xff, 0x10, 0xca, 0x65, 0x5f, 0x54, + 0x4d, 0x34, 0x62, 0x98, 0xfe, 0xde, 0x0e, 0x00, 0x84, 0x14, 0x8a, 0xed, 0xcf, 0x16, 0xa0, 0xbb, + 0xe7, 0xde, 0x8e, 0x7e, 0xd1, 0x95, 0x04, 0xa4, 0xa0, 0x1d, 0xf5, 0xb9, 0x80, 0x60, 0xea, 0xb7, + 0xb2, 0x8f, 0x4d, 0x84, 0x3e, 0x97, 0x68, 0x83, 0xc1, 0x97, 0xa8, 0x2b, 0x63, 0x82, 0x73, 0x78, + 0xad, 0x21, 0x5e, 0x22, 0xfc, 0xa2, 0x7d, 0x31, 0x9a, 0x99, 0xcc, 0x50, 0x22, 0xca, 0x05, 0x48, + 0xe1, 0xb0, 0xf0, 0xbd, 0xa3, 0x0d, 0x0b, 0x10, 0x34, 0x33, 0xdf, 0x81, 0x4c, 0x97, 0x73, 0x4d, + 0x91, 0x81, 0x9e, 0x7e, 0x28, 0x18, 0x96, 0xd7, 0x32, 0xba, 0x9a, 0x1b, 0x86, 0x56, 0xe2, 0x1b, + 0x87, 0xc1, 0x4a, 0x9d, 0x9b, 0xdd, 0xfb, 0xc4, 0x82, 0x20, 0xf8, 0xe2, 0xdd, 0x35, 0x00, 0xeb, + 0xbe, 0x45, 0x95, 0x67, 0x34, 0xfb, 0xef, 0x88, 0x3b, 0x29, 0x63, 0x39, 0x36, 0x08, 0x9c, 0xbf, + 0xe1, 0xc8, 0x71, 0x6b, 0xc9, 0x95, 0x84, 0x7b, 0xf0, 0x70, 0x7d, 0x9d, 0x6e, 0x6a, 0xa0, 0xfe, + 0x56, 0xb3, 0xcd, 0x5f, 0x3c, 0x5b, 0x50, 0x91, 0x5c, 0x85, 0xc5, 0x77, 0x60, 0xc9, 0x42, 0x7d, + 0x8b, 0x55, 0xf5, 0xcf, 0x81, 0x93, 0x76, 0xf1, 0xd6, 0x75, 0xe6, 0xca, 0x1f, 0xc4, 0x14, 0x10, + 0x5d, 0x72, 0x30, 0xfa, 0xa6, 0x4c, 0xa0, 0xb0, 0x48, 0x58, 0x3d, 0x75, 0xfb, 0x94, 0x27, 0xc7, + 0x40, 0x6f, 0xba, 0xe6, 0x1b, 0xa4, 0x96, 0x18, 0x61, 0xa2, 0x3e, 0xf5, 0xf3, 0x49, 0xa4, 0xa3, + 0x3a, 0x22, 0x83, 0xb4, 0xdf, 0xc8, 0xcb, 0x8f, 0x9d, 0xda, 0x8e, 0x0c, 0xe2, 0x59, 0x68, 0xe0, + 0xc8, 0x2e, 0xa6, 0xb6, 0xc2, 0x3c, 0x91, 0xbb, 0x6b, 0xa7, 0x97, 0xc6, 0xab, 0x19, 0xfd, 0xbd, + 0xef, 0xca, 0xf4, 0x2b, 0x89, 0x6c, 0x75, 0x4a, 0x84, 0xa4, 0xae, 0x0b, 0x5f, 0xf7, 0x24, 0xcd, + 0xfc, 0xa1, 0xdd, 0x3f, 0x42, 0x3c, 0x49, 0xac, 0x21, 0x30, 0x39, 0x4d, 0x43, 0x8f, 0xe1, 0xa9, + 0x0c, 0x0a, 0x83, 0x9c, 0x45, 0xb8, 0x30, 0x2b, 0x7e, 0x37, 0xb6, 0x81, 0xb0, 0x97, 0xaa, 0x67, + 0xf4, 0x38, 0xd4, 0x48, 0x5a, 0xd6, 0xab, 0x54, 0x3b, 0x24, 0x42, 0x4f, 0xbc, 0x60, 0xe8, 0x10, + 0xbf, 0xb0, 0xe9, 0x91, 0x6a, 0xec, 0xc8, 0xd1, 0x27, 0x19, 0xeb, 0x26, 0xf6, 0x21, 0x29, 0xbc, + 0x15, 0xf1, 0x37, 0x2e, 0x45, 0x82, 0xd1, 0x5a, 0x42, 0xa2, 0x5a, 0xca, 0xd4, 0x6e, 0x96, 0x99, + 0x9d, 0xe3, 0x3e, 0x15, 0xe1, 0x98, 0x53, 0x17, 0x05, 0x94, 0xf0, 0xc7, 0x09, 0x63, 0xec, 0xca, + 0x5e, 0xb5, 0xa6, 0x26, 0xc8, 0x52, 0x45, 0x21, 0x94, 0xe2, 0xa2, 0x0b, 0x7d, 0x06, 0xa7, 0x87, + 0x92, 0xb9, 0xac, 0xb9, 0x71, 0x8f, 0x20, 0xe7, 0x60, 0x67, 0x44, 0xf5, 0x02, 0x42, 0xbb, 0xd5, + 0xf9, 0x74, 0xa4, 0x20, 0xb8, 0x97, 0x9e, 0xe5, 0xb4, 0x30, 0x13, 0x53, 0xdc, 0xac, 0x0a, 0x49, + 0xff, 0xeb, 0x12, 0x59, 0x06, 0x24, 0xef, 0x53, 0xbd, 0xdb, 0x46, 0x15, 0xd4, 0x5b, 0xf0, 0x6f, + 0x26, 0x01, 0x75, 0x1d, 0xb5, 0x43, 0xad, 0x86, 0xdf, 0x6b, 0x25, 0x36, 0xc7, 0xb3, 0xeb, 0x3d, + 0x92, 0x9d, 0x46, 0x27, 0x2a, 0xea, 0x34, 0xfa, 0x93, 0x9a, 0xfa, 0x28, 0xc9, 0xe8, 0x06, 0x29, + 0x25, 0x01, 0x96, 0x5d, 0x02, 0xf8, 0x6c, 0x9a, 0x34, 0x74, 0xc5, 0x9f, 0x24, 0xde, 0x73, 0xe7, + 0xcc, 0x89, 0xbf, 0xb9, 0x14, 0x98, 0xd1, 0xbc, 0xfe, 0x81, 0xb6, 0xf7, 0xb4, 0xee, 0x93, 0xf6, + 0x30, 0x93, 0x12, 0xe5, 0xdb, 0x2f, 0x97, 0xca, 0x6e, 0x6d, 0x97, 0xd8, 0x32, 0xb2, 0x9d, 0xfe, + 0x6b, 0x95, 0xc4, 0xfc, 0x0a, 0xc0, 0xdb, 0x8f, 0xd1, 0xd1, 0x25, 0x4c, 0x8a, 0xb1, 0x07, 0x3e, + 0xd6, 0xca, 0x88, 0xb2, 0xeb, 0xfe, 0x99, 0x84, 0x29, 0xd6, 0xdb, 0x32, 0xc8, 0x89, 0x90, 0xd4, + 0xec, 0xf0, 0xc6, 0xf5, 0x83, 0x90, 0xb7, 0x46, 0x4d, 0x14, 0xd6, 0xf1, 0xa3, 0xb2, 0xbf, 0x83, + 0x7a, 0x87, 0xb9, 0x1b, 0x2f, 0xf6, 0xb8, 0x7d, 0xee, 0xb6, 0x2d, 0x82, 0xcd, 0x19, 0x3b, 0x53, + 0x25, 0x17, 0x69, 0x6c, 0x44, 0x9f, 0xb4, 0x84, 0x1f, 0x23, 0xc0, 0x38, 0xd5, 0x39, 0xed, 0x97, + 0x82, 0x4e, 0xf1, 0x8f, 0xe6, 0x2c, 0x76, 0x16, 0xd4, 0x2e, 0x41, 0xcb, 0x37, 0x7b, 0x79, 0x81, + 0x95, 0xf9, 0x99, 0x90, 0xb9, 0x2b, 0x7f, 0x0f, 0x33, 0x1b, 0x24, 0xa5, 0xf7, 0x28, 0xdf, 0x1e, + 0xa7, 0x13, 0xef, 0x71, 0x42, 0xa5, 0x8f, 0x75, 0x21, 0xf4, 0xd3, 0xdc, 0xad, 0xef, 0x82, 0x5b, + 0x76, 0xac, 0x4a, 0x0d, 0xd3, 0x68, 0xd4, 0xe3, 0x76, 0x2a, 0x52, 0x3c, 0x1d, 0x42, 0x31, 0x5f, + 0xe1, 0xea, 0x02, 0x54, 0x9c, 0x9f, 0xf9, 0x6a, 0x01, 0x02, 0xe5, 0xb5, 0x0a, 0xef, 0x7a, 0x51, + 0x5a, 0x76, 0x11, 0xdf, 0x33, 0x71, 0x0c, 0x10, 0xcc, 0x06, 0x4a, 0x7e, 0x31, 0x89, 0xa9, 0x45, + 0xed, 0x3e, 0x44, 0x3c, 0x5b, 0xcb, 0xcf, 0x39, 0x61, 0x18, 0xb9, 0x24, 0x96, 0x2a, 0x47, 0x58, + 0xdb, 0x28, 0x65, 0x04, 0x13, 0x65, 0xa6, 0xe2, 0xe4, 0xd8, 0x9b, 0x74, 0x27, 0x2d, 0x10, 0x5d, + 0x2d, 0x6b, 0x57, 0x10, 0x89, 0xda, 0x70, 0x40, 0xa9, 0x6e, 0x49, 0x2d, 0x54, 0xdb, 0x03, 0x26, + 0x5f, 0x19, 0x71, 0x6e, 0x6b, 0x07, 0x23, 0x6b, 0xed, 0xe4, 0xcb, 0x7d, 0xb1, 0xbf, 0x07, 0xfa, + 0x95, 0xc9, 0xe4, 0x1f, 0xcf, 0x07, 0x2a, 0x82, 0xd2, 0x4b, 0xbf, 0xd2, 0x22, 0x0f, 0x10, 0x18, + 0x52, 0xf2, 0xd6, 0x61, 0x87, 0xfb, 0x61, 0xc9, 0xb4, 0x92, 0x55, 0x42, 0x7b, 0x36, 0x8b, 0x75, + 0x47, 0x0d, 0x6e, 0xab, 0x2b, 0xe0, 0x4b, 0xab, 0x30, 0x6e, 0xbf, 0x4d, 0x20, 0x51, 0xbe, 0xe1, + 0x4e, 0x14, 0x76, 0xa3, 0x46, 0x00, 0x97, 0x04, 0x5b, 0xeb, 0x64, 0x7f, 0x6b, 0x70, 0xe2, 0x85, + 0x49, 0xf9, 0x14, 0x96, 0x89, 0x8e, 0xbe, 0xe2, 0xe5, 0x12, 0x46, 0xae, 0x9b, 0x68, 0xf7, 0x02, + 0x1e, 0x11, 0xec, 0x5f, 0x5e, 0xcb, 0x4c, 0x90, 0xe9, 0x5f, 0xd7, 0x45, 0xa8, 0x6d, 0xfe, 0xde, + 0x68, 0xe5, 0x3f, 0x58, 0x8f, 0x12, 0xb3, 0x9d, 0x64, 0xa0, 0x5e, 0x27, 0xf4, 0xac, 0xfb, 0x7d, + 0x77, 0x6f, 0x24, 0x2c, 0xe4, 0x1b, 0x57, 0x1b, 0x15, 0xb7, 0x88, 0xe9, 0x30, 0x05, 0xfc, 0x49, + 0x20, 0xaa, 0x09, 0xcc, 0xfc, 0xae, 0x5b, 0x71, 0xb3, 0xb3, 0x38, 0x03, 0xee, 0x05, 0x49, 0x2a, + 0x84, 0xe2, 0xbd, 0xa6, 0xa8, 0xa8, 0x3d, 0x50, 0x27, 0x03, 0xa3, 0x16, 0x86, 0x56, 0x68, 0x37, + 0xb4, 0x05, 0xd0, 0xef, 0x7c, 0x54, 0x9b, 0x38, 0xca, 0xff, 0x39, 0x2e, 0xf4, 0xfa, 0x25, 0x88, + 0xdf, 0x1c, 0x4a, 0xa8, 0x14, 0xd7, 0x4f, 0xea, 0xf7, 0x5c, 0xbe, 0xa2, 0xe3, 0x3e, 0x2c, 0xac, + 0x4a, 0xb2, 0xf6, 0xfd, 0x9a, 0x08, 0xfb, 0xcf, 0xd7, 0xdb, 0x9f, 0x4f, 0xe7, 0x4f, 0xa1, 0x43, + 0x16, 0xee, 0x01, 0xb9, 0xc2, 0x4f, 0xfb, 0xd9, 0x09, 0xaf, 0x0a, 0x7f, 0x4b, 0x91, 0x44, 0x2e, + 0xb7, 0x42, 0xe6, 0x0b, 0x76, 0x7c, 0x14, 0x69, 0xb8, 0xf4, 0x04, 0xf3, 0x2c, 0x28, 0xc1, 0x34, + 0x5a, 0xfb, 0x48, 0xfa, 0x81, 0x77, 0x04, 0x4f, 0xcb, 0x69, 0xe7, 0x60, 0xfa, 0xd7, 0xa2, 0x5c, + 0xa5, 0xa4, 0x4a, 0xdb, 0x77, 0xc0, 0x7b, 0xd9, 0xef, 0x49, 0x86, 0x56, 0xae, 0x31, 0x8f, 0xfa, + 0xce, 0xd8, 0xbd, 0x66, 0xe7, 0xd1, 0x04, 0x11, 0x7d, 0x63, 0xd8, 0x9d, 0xf6, 0xb9, 0x45, 0x9a, + 0xdd, 0xae, 0x35, 0xa0, 0x7d, 0x1c, 0x2b, 0x5f, 0xf7, 0xca, 0xe5, 0x8e, 0x73, 0x6a, 0x06, 0x11, + 0xfe, 0x68, 0xc0, 0x55, 0xa6, 0xbe, 0x6a, 0xf4, 0xff, 0x6e, 0xa4, 0x7e, 0x30, 0xfe, 0x9b, 0x8d, + 0xeb, 0xb2, 0x53, 0x57, 0x27, 0xf4, 0xd3, 0x47, 0x3c, 0xb0, 0x82, 0x61, 0x0a, 0x26, 0x22, 0x54, + 0x23, 0x19, 0x8e, 0xd6, 0xef, 0x7a, 0xbe, 0xf1, 0xb5, 0xaa, 0x4d, 0x2a, 0x64, 0x5a, 0xc4, 0x50, + 0x49, 0x50, 0xfe, 0x7f, 0x6a, 0x53, 0x70, 0xdc, 0xa9, 0xd3, 0x89, 0x65, 0xb2, 0xb3, 0x84, 0x8e, + 0x71, 0x30, 0x08, 0xc2, 0x84, 0x05, 0x79, 0x7a, 0x05, 0x53, 0xe9, 0xf0, 0xee, 0xc1, 0xa4, 0x4c, + 0x7b, 0xd3, 0x56, 0x73, 0x9c, 0x9d, 0xca, 0x9e, 0x43, 0xe7, 0xd6, 0x88, 0x9c, 0xa7, 0x78, 0x74, + 0xe9, 0x75, 0x73, 0x97, 0x88, 0x85, 0x36, 0x05, 0xec, 0xe5, 0x80, 0x24, 0x09, 0x82, 0x85, 0xb8, + 0x69, 0xa7, 0x07, 0xa3, 0x4f, 0xec, 0x3c, 0x28, 0x4c, 0x2f, 0x70, 0x4e, 0x93, 0x91, 0x5d, 0x6a, + 0x4b, 0x97, 0xec, 0x82, 0x53, 0x27, 0xc6, 0x94, 0xcc, 0xb5, 0xc5, 0xab, 0x94, 0x11, 0x32, 0x53, + 0x43, 0x10, 0x56, 0x68, 0x98, 0x8a, 0xa7, 0xf2, 0xbe, 0x55, 0xac, 0xb5, 0x5c, 0x39, 0x30, 0xac, + 0xd1, 0xa2, 0xcc, 0x56, 0x07, 0x8c, 0x84, 0x89, 0xe8, 0x45, 0x13, 0xb2, 0xbe, 0x14, 0x2b, 0x9c, + 0x6d, 0xb4, 0xed, 0x0e, 0x2c, 0x9d, 0x0f, 0x3f, 0x6e, 0x7b, 0x98, 0x8c, 0x47, 0xac, 0xc2, 0xb1, + 0x03, 0x85, 0xcb, 0x36, 0xf2, 0xdd, 0x91, 0x4a, 0xe4, 0xcc, 0x31, 0xb9, 0xbc, 0x0b, 0x66, 0x4c, + 0x62, 0x92, 0x03, 0x5c, 0xf2, 0x9d, 0xb7, 0xa4, 0xc8, 0x48, 0xf6, 0xbf, 0x8b, 0x18, 0xaa, 0xe1, + 0x41, 0xd3, 0x8a, 0x76, 0xa2, 0x17, 0x35, 0xf3, 0xec, 0xeb, 0x6b, 0x8a, 0xd4, 0x84, 0x74, 0xa0, + 0x93, 0x94, 0xbf, 0xda, 0xf7, 0xfb, 0x39, 0xf2, 0xae, 0xf0, 0x5f, 0xf6, 0xe4, 0x41, 0xe2, 0xbb, + 0x5c, 0xef, 0x71, 0xc3, 0xfe, 0x7d, 0xf1, 0x47, 0xd3, 0x22, 0xe1, 0x33, 0x7b, 0xca, 0x7e, 0xf9, + 0xbc, 0x3e, 0xa0, 0x11, 0x68, 0xc0, 0xd5, 0x9e, 0xf5, 0xa8, 0x17, 0x93, 0x23, 0x89, 0xc9, 0xca, + 0x7c, 0xde, 0xc5, 0x76, 0x90, 0x58, 0x0d, 0xf6, 0x8a, 0x05, 0x5a, 0x52, 0xcb, 0xdc, 0x5b, 0xf4, + 0x4e, 0xd3, 0x16, 0x32, 0xd5, 0xc2, 0xab, 0xde, 0x05, 0xdf, 0xcf, 0xc9, 0x65, 0x91, 0xf1, 0xb8, + 0xed, 0x87, 0xe4, 0x4d, 0x22, 0x4f, 0x5e, 0x32, 0xf6, 0x11, 0xc9, 0x0b, 0x39, 0xb0, 0xc8, 0x30, + 0xac, 0xcf, 0xbc, 0xff, 0x7e, 0x17, 0xe5, 0x47, 0x18, 0x09, 0x9f, 0xa5, 0xec, 0xb6, 0xa4, 0x0e, + 0xf6, 0x1f, 0x28, 0x30, 0xb0, 0xa0, 0xf6, 0x24, 0x11, 0x5a, 0x46, 0x99, 0x29, 0xfd, 0x82, 0x34, + 0x92, 0xd7, 0x87, 0xcc, 0xab, 0x81, 0xab, 0x47, 0xc6, 0xb3, 0xff, 0x72, 0xaf, 0x2f, 0x63, 0x4c, + 0xb6, 0xe6, 0xa9, 0x61, 0xa7, 0xe2, 0x4e, 0xef, 0xda, 0xec, 0xac, 0x97, 0xe8, 0x53, 0x75, 0x30, + 0x3d, 0x13, 0x72, 0xa7, 0x88, 0x7d, 0x40, 0x36, 0x84, 0x0c, 0x33, 0xa6, 0x1d, 0x20, 0x69, 0xc4, + 0xe8, 0x33, 0xee, 0xc5, 0xa0, 0x22, 0x50, 0xe0, 0x22, 0x8f, 0xff, 0xeb, 0x39, 0x9b, 0xe9, 0xa8, + 0x51, 0x18, 0x03, 0xb5, 0x93, 0xec, 0x78, 0x7a, 0x1a, 0x56, 0x1d, 0x4b, 0x65, 0xe5, 0x8d, 0x69, + 0xd4, 0x57, 0x6d, 0x97, 0x2e, 0xae, 0x14, 0x36, 0xba, 0xf2, 0xcc, 0x68, 0x1d, 0xa2, 0x39, 0x97, + 0x88, 0x18, 0x1a, 0x54, 0x2d, 0x71, 0xa1, 0x12, 0x2e, 0xc2, 0xf9, 0xb4, 0x07, 0xbc, 0x34, 0xff, + 0x9c, 0xb6, 0x55, 0xe3, 0x2b, 0xf5, 0x8f, 0xa4, 0x72, 0xbd, 0xd8, 0x48, 0x2c, 0xbb, 0xcc, 0x51, + 0xfe, 0xd9, 0x6e, 0xed, 0x46, 0xbb, 0xda, 0x15, 0x55, 0x15, 0x87, 0x8d, 0xc0, 0xa8, 0x86, 0x62, + 0x45, 0x53, 0x24, 0x71, 0x65, 0xdd, 0x1b, 0xbb, 0x81, 0x3b, 0x8c, 0xa7, 0x32, 0xb8, 0x78, 0x46, + 0x34, 0x87, 0x17, 0xa8, 0x56, 0x97, 0xf4, 0xee, 0x53, 0x38, 0xe9, 0x6e, 0x26, 0xbf, 0xd7, 0xb6, + 0x12, 0x82, 0x92, 0x47, 0xfb, 0x07, 0xf8, 0xac, 0xca, 0xb5, 0x9c, 0xeb, 0x11, 0x4a, 0x22, 0xa8, + 0xe2, 0xe1, 0xe1, 0x77, 0x81, 0xa8, 0x9c, 0x01, 0x2c, 0xbb, 0x03, 0xf7, 0xea, 0xcf, 0xf2, 0xe0, + 0x2a, 0xba, 0x38, 0x27, 0xfb, 0x9c, 0x4d, 0xd1, 0xc0, 0x85, 0x86, 0xa9, 0x04, 0x3d, 0x24, 0xfd, + 0xa6, 0xf5, 0x16, 0x06, 0xcf, 0x6d, 0x90, 0x7b, 0x4d, 0x3d, 0xb3, 0x07, 0x7f, 0xb2, 0xba, 0x16, + 0x94, 0xb6, 0xd0, 0x11, 0x98, 0x15, 0xa5, 0x73, 0x7a, 0xf8, 0xbd, 0xb7, 0x26, 0xb9, 0x77, 0xe3, + 0x73, 0xda, 0x7a, 0x2f, 0x4e, 0xfe, 0x1b, 0xd6, 0x3f, 0x3a, 0x26, 0x76, 0x62, 0x44, 0xfc, 0x02, + 0x03, 0xc8, 0x47, 0x46, 0xeb, 0xf4, 0xb3, 0x39, 0xbc, 0xca, 0x3c, 0xe8, 0xb5, 0x9a, 0x11, 0xb5, + 0x52, 0x97, 0x40, 0xfa, 0xff, 0x61, 0x07, 0xb5, 0x8d, 0xd3, 0xb1, 0xc0, 0x9b, 0xa7, 0x72, 0xdb, + 0x95, 0xda, 0x06, 0xb2, 0xca, 0x8c, 0x81, 0x4e, 0x24, 0x77, 0x79, 0xa8, 0x5d, 0x97, 0x90, 0x3a, + 0xc2, 0x71, 0xac, 0x70, 0x9b, 0x54, 0x18, 0xe8, 0xda, 0x3e, 0xff, 0x65, 0x22, 0xf8, 0xdb, 0xca, + 0xbf, 0xcf, 0x82, 0x68, 0xf2, 0x4e, 0x0b, 0xe8, 0xb8, 0x2a, 0x9e, 0xeb, 0x24, 0xd1, 0x68, 0x1b, + 0xb3, 0x54, 0xf4, 0x0e, 0x58, 0x03, 0x2c, 0xc1, 0xff, 0x49, 0xdc, 0xad, 0x4d, 0x17, 0x51, 0xca, + 0xb2, 0xae, 0x81, 0xcd, 0x43, 0xc9, 0xfc, 0xb0, 0xbf, 0x5d, 0xcc, 0x40, 0x0e, 0x8b, 0x19, 0x67, + 0xc0, 0xd6, 0x69, 0x48, 0x30, 0x8b, 0xb3, 0x44, 0x7f, 0x97, 0xa7, 0x54, 0x6a, 0xc6, 0xa8, 0x77, + 0xbf, 0xac, 0x6d, 0x3b, 0xa5, 0xb6, 0xd5, 0x9e, 0x52, 0x7b, 0xeb, 0x14, 0x30, 0x07, 0x63, 0x7b, + 0x43, 0xb3, 0x5c, 0x71, 0x22, 0x94, 0x87, 0x56, 0x25, 0x02, 0x48, 0x2f, 0xcf, 0x39, 0x51, 0xf9, + 0x83, 0x3e, 0xb9, 0xb0, 0xa0, 0xad, 0x05, 0x99, 0x44, 0xdc, 0xbd, 0xf0, 0x40, 0x3a, 0x7f, 0x4c, + 0x2a, 0xeb, 0x2e, 0x28, 0x94, 0xb4, 0xfc, 0x7a, 0x31, 0x9f, 0xf7, 0x75, 0x5d, 0xac, 0xeb, 0x5b, + 0x37, 0x7c, 0x27, 0x38, 0x46, 0xe4, 0x0f, 0x06, 0xd8, 0x14, 0x29, 0xa7, 0x7b, 0x41, 0xf5, 0x92, + 0x2e, 0x5a, 0x21, 0x28, 0x38, 0x2b, 0x34, 0x25, 0xf5, 0xae, 0x67, 0x8e, 0x20, 0x96, 0x98, 0x3b, + 0x9c, 0xe5, 0x1b, 0xa3, 0x76, 0x6a, 0x66, 0x81, 0x90, 0x38, 0xdd, 0xdc, 0xc9, 0x83, 0x91, 0x76, + 0x5f, 0xba, 0x8c, 0x47, 0x2d, 0xe3, 0x0c, 0x14, 0x59, 0x7d, 0x9a, 0x5b, 0x07, 0x4c, 0x00, 0xe4, + 0x80, 0xd4, 0xba, 0x04, 0xc0, 0xd0, 0xeb, 0x41, 0x4e, 0x5b, 0x6c, 0x58, 0x2e, 0xba, 0xca, 0x9e, + 0x36, 0xbc, 0x83, 0x4f, 0x1d, 0x3b, 0x62, 0x95, 0xac, 0xc9, 0xda, 0x74, 0x0e, 0x1f, 0x69, 0x59, + 0xae, 0xbe, 0x91, 0x14, 0x5a, 0x93, 0xa6, 0xf9, 0x12, 0x81, 0x0f, 0x5f, 0x16, 0xce, 0xf9, 0x28, + 0x1f, 0xfa, 0xed, 0x97, 0x93, 0x13, 0xb3, 0xb7, 0xfe, 0x59, 0x56, 0x71, 0x28, 0xe5, 0x2a, 0x92, + 0x69, 0x07, 0x20, 0x40, 0xa6, 0xa2, 0x5b, 0x55, 0xcf, 0xf3, 0xfb, 0xec, 0x4a, 0x7c, 0x73, 0xb1, + 0xe6, 0xcf, 0xf8, 0x44, 0x79, 0xb5, 0x10, 0x14, 0x5a, 0xc2, 0x35, 0xad, 0x4f, 0x4a, 0x92, 0x8c, + 0xd9, 0x8d, 0xc8, 0x25, 0x46, 0xfd, 0xba, 0x93, 0x32, 0xb6, 0xaf, 0xc3, 0xa2, 0x12, 0xcb, 0xb8, + 0x8a, 0xa7, 0x9a, 0xbb, 0x25, 0xaf, 0x93, 0x12, 0xea, 0x5e, 0x75, 0x57, 0x9b, 0x6d, 0x27, 0x71, + 0xd3, 0xf1, 0xa5, 0x45, 0x78, 0x4a, 0x6f, 0x87, 0x78, 0x35, 0xb0, 0x06, 0x35, 0xde, 0xda, 0x93, + 0xf1, 0xd4, 0x27, 0xca, 0x55, 0x91, 0x3c, 0xcd, 0x4e, 0xc0, 0x7b, 0x90, 0x32, 0xdc, 0x5b, 0x61, + 0x11, 0xe4, 0x01, 0x45, 0xe5, 0xa0, 0x78, 0x1a, 0x5c, 0x9b, 0xac, 0x50, 0x6d, 0xd7, 0x0d, 0x65, + 0xb4, 0x66, 0x3c, 0x29, 0xd5, 0xac, 0xa8, 0x92, 0x30, 0x64, 0x20, 0x6a, 0xf6, 0xf0, 0x58, 0x72, + 0xb0, 0x01, 0x17, 0xf1, 0x7e, 0xe1, 0xbe, 0x8a, 0x15, 0xda, 0x67, 0x09, 0xec, 0xa7, 0x83, 0x81, + 0xff, 0x01, 0x5c, 0x59, 0x2f, 0x4c, 0x75, 0xe3, 0x2f, 0xe0, 0xbf, 0x48, 0x16, 0xb2, 0x2b, 0x61, + 0x51, 0x16, 0x79, 0x04, 0x05, 0x97, 0x3f, 0x3c, 0xbc, 0x0e, 0xdd, 0x78, 0xd4, 0xe1, 0x66, 0xcd, + 0x2a, 0x48, 0x76, 0x70, 0xa6, 0x0c, 0x03, 0x21, 0x06, 0x64, 0x85, 0x32, 0x2f, 0x59, 0x18, 0x98, + 0xfb, 0xa4, 0x9d, 0xd7, 0xf8, 0x35, 0x1d, 0xc1, 0x90, 0xe0, 0xa9, 0xa9, 0xf7, 0x6d, 0x7b, 0xbd, + 0x87, 0x43, 0x4f, 0x93, 0xa2, 0x86, 0x39, 0x8f, 0x2c, 0xdd, 0x85, 0xde, 0x18, 0x4c, 0xe8, 0x45, + 0xa7, 0xdd, 0x54, 0x93, 0xb1, 0x70, 0xeb, 0x9d, 0x16, 0xc9, 0x84, 0xd7, 0x86, 0xb5, 0xe0, 0xf5, + 0x94, 0x90, 0xe8, 0x5e, 0x5c, 0x9b, 0x97, 0xcd, 0xdd, 0xc8, 0x87, 0xea, 0x5a, 0x36, 0xcc, 0xf3, + 0x8c, 0x2d, 0xab, 0x91, 0xe1, 0x5c, 0xde, 0x7d, 0x77, 0x5f, 0xf9, 0x97, 0x5a, 0x76, 0x09, 0x87, + 0xcd, 0x76, 0xad, 0xa2, 0x6f, 0x0c, 0x57, 0xe1, 0x75, 0xb6, 0xb4, 0x85, 0x80, 0x97, 0xfc, 0x73, + 0x55, 0xcf, 0xb2, 0x4b, 0x7b, 0xb0, 0x09, 0x94, 0x26, 0x5e, 0x91, 0x11, 0x98, 0x0e, 0x1f, 0xd0, + 0xe1, 0x4a, 0x53, 0xf9, 0x81, 0x9a, 0x7a, 0xdf, 0xb2, 0x39, 0xc3, 0x00, 0x1a, 0x5b, 0xf9, 0xa5, + 0xf5, 0xf5, 0x97, 0x5d, 0x43, 0x03, 0x06, 0xef, 0xf4, 0xbc, 0xfb, 0x17, 0x72, 0xc7, 0x4f, 0x7e, + 0x85, 0xfa, 0xa6, 0x81, 0x68, 0xff, 0xc0, 0xd3, 0xe0, 0x72, 0x0d, 0xa8, 0x06, 0xbd, 0x12, 0xe8, + 0xf0, 0x31, 0x9a, 0x69, 0x46, 0xe5, 0x5d, 0x3b, 0x28, 0xff, 0x05, 0x43, 0xf0, 0xdf, 0x96, 0x03, + 0x1f, 0x94, 0x12, 0xd5, 0x79, 0x2d, 0xa6, 0x20, 0x93, 0xa1, 0x90, 0xd5, 0x67, 0x7f, 0xc0, 0x68, + 0x6a, 0x78, 0x67, 0x42, 0xa2, 0x42, 0x4f, 0x9e, 0x2c, 0xab, 0x64, 0x2a, 0x1e, 0x9b, 0x9c, 0x7b, + 0x5e, 0x7a, 0x89, 0x34, 0xb1, 0xb5, 0x5f, 0xa2, 0xa8, 0xd5, 0x68, 0x11, 0xc5, 0x0e, 0x85, 0x82, + 0x01, 0x99, 0x32, 0x6b, 0xc2, 0xf6, 0xf9, 0x2a, 0x45, 0xfd, 0x7c, 0x04, 0x41, 0x7b, 0xfc, 0x06, + 0xbf, 0xf8, 0x60, 0x1d, 0xb4, 0xfe, 0xa8, 0x03, 0x8d, 0x3b, 0xa8, 0xd7, 0x75, 0x89, 0xbe, 0x87, + 0x91, 0x04, 0xb7, 0xf9, 0x87, 0xcb, 0xbd, 0x6e, 0x6e, 0x1a, 0x46, 0xf3, 0x25, 0x3b, 0xb7, 0x2f, + 0x16, 0xa6, 0x80, 0x44, 0xec, 0xc7, 0x34, 0x3e, 0xdf, 0xac, 0xdb, 0x92, 0xa2, 0x7b, 0xdf, 0x33, + 0xe3, 0x5e, 0x41, 0x4b, 0x73, 0x9e, 0x0d, 0x6c, 0xc2, 0xf7, 0xa1, 0x1f, 0x6d, 0x2d, 0xc1, 0xea, + 0x84, 0x6e, 0x07, 0xa4, 0x11, 0xdd, 0x0a, 0x3e, 0x0e, 0x52, 0xb3, 0x69, 0xbb, 0xf7, 0xe7, 0xe8, + 0x48, 0x6b, 0x49, 0x8e, 0x03, 0x75, 0xd0, 0x71, 0xcf, 0xcd, 0xb4, 0x71, 0x8a, 0x9c, 0x7b, 0xb8, + 0x86, 0xb4, 0x49, 0x38, 0xd3, 0x94, 0x01, 0xf3, 0x6f, 0xef, 0x0a, 0xbb, 0x91, 0x68, 0xd6, 0xc3, + 0x95, 0x60, 0xb2, 0xa6, 0x90, 0x7b, 0xbc, 0xf4, 0x70, 0x6c, 0x77, 0x1b, 0xc2, 0x0b, 0x95, 0x6e, + 0xc2, 0x81, 0x2d, 0xb2, 0x75, 0x0f, 0x24, 0xf0, 0xf9, 0xce, 0xe9, 0x74, 0xf8, 0x94, 0xfd, 0xd0, + 0x5e, 0x2e, 0xa7, 0x77, 0x14, 0x86, 0xa8, 0xc2, 0x9e, 0x3c, 0x96, 0x4a, 0x89, 0x73, 0x3c, 0xf0, + 0x87, 0x43, 0x0e, 0x2a, 0x9c, 0x54, 0x02, 0xa8, 0xf1, 0x4d, 0x5e, 0x51, 0xc0, 0xe5, 0xfa, 0x4f, + 0x86, 0xae, 0x80, 0x76, 0x30, 0x38, 0x98, 0x76, 0x87, 0xb4, 0x05, 0x4c, 0x23, 0x29, 0x3a, 0x8a, + 0xe9, 0x35, 0xac, 0xfd, 0xfd, 0x64, 0xb0, 0x03, 0xdc, 0x91, 0x3a, 0x4d, 0x46, 0x15, 0x86, 0x33, + 0x58, 0xc6, 0x28, 0xd7, 0x9f, 0xea, 0x5e, 0x10, 0xe7, 0xc3, 0xf5, 0x91, 0x98, 0xa2, 0xc0, 0x61, + 0x7d, 0xdf, 0xd2, 0x6a, 0xb2, 0x7c, 0x83, 0x92, 0x4b, 0x22, 0x8c, 0xa2, 0x2e, 0xba, 0xf5, 0xa4, + 0x7e, 0xf5, 0x77, 0xac, 0xf1, 0xb0, 0x56, 0x32, 0xc8, 0xba, 0x05, 0xfa, 0x24, 0x66, 0xbf, 0xdf, + 0xd0, 0xdd, 0x0f, 0xf8, 0x23, 0x9d, 0xba, 0x99, 0xc9, 0xdb, 0x78, 0x6a, 0x67, 0xa0, 0x7b, 0x42, + 0x39, 0x27, 0x66, 0xa9, 0xc2, 0x93, 0xc6, 0x0e, 0xb6, 0x7f, 0x67, 0x50, 0xdb, 0x0c, 0xca, 0x9b, + 0xcc, 0xdb, 0xc6, 0xba, 0xab, 0xe8, 0xad, 0xe6, 0xfa, 0x4f, 0xa2, 0x4b, 0x4e, 0x1c, 0xc1, 0x16, + 0x74, 0xbf, 0xb4, 0x85, 0xa0, 0x6f, 0x18, 0x55, 0x64, 0xc7, 0x9e, 0x64, 0x4c, 0x7f, 0xc7, 0x2e, + 0xfd, 0x6d, 0x0f, 0x69, 0xbb, 0x23, 0xef, 0xe2, 0x20, 0xf0, 0x81, 0xff, 0x0f, 0xaf, 0x29, 0x1c, + 0x5d, 0xc4, 0xfe, 0x68, 0x5f, 0x44, 0x60, 0x84, 0xbb, 0x78, 0xc9, 0x78, 0x2a, 0x5f, 0x8e, 0xb7, + 0xb3, 0xd6, 0xeb, 0xfe, 0x15, 0x7f, 0xde, 0xc4, 0xe6, 0x46, 0x56, 0x7a, 0x45, 0x36, 0x4e, 0xd6, + 0xa1, 0x48, 0x51, 0x0a, 0xa9, 0xe6, 0x63, 0x89, 0xb5, 0xf5, 0xd4, 0x6d, 0xa7, 0xc3, 0x01, 0xd5, + 0x16, 0xd7, 0x71, 0xf3, 0xf8, 0xcf, 0x67, 0x13, 0xc4, 0x60, 0x68, 0x0d, 0x58, 0xa2, 0x08, 0x1d, + 0x20, 0x64, 0x0f, 0x4c, 0x0f, 0xd4, 0x4b, 0x59, 0x11, 0x13, 0xf1, 0x8d, 0xd4, 0x3f, 0xaa, 0x3a, + 0xe4, 0x6e, 0x87, 0x05, 0x67, 0x3d, 0x10, 0x2d, 0x8d, 0xdb, 0x36, 0xf6, 0x7f, 0x12, 0x50, 0x45, + 0x39, 0x56, 0x7d, 0x21, 0x4f, 0x3d, 0xd5, 0x0c, 0x50, 0x67, 0x6d, 0xd6, 0x3e, 0xec, 0xd1, 0x5a, + 0x17, 0x2f, 0xd4, 0xb0, 0x24, 0xbd, 0xfe, 0x11, 0x41, 0x4a, 0xbb, 0x7d, 0x3f, 0x9c, 0x32, 0xcc, + 0x0c, 0x71, 0xb7, 0x38, 0xfc, 0xd7, 0xb0, 0xb3, 0xee, 0xcd, 0xce, 0xe9, 0x07, 0xd1, 0x3b, 0xa4, + 0xa7, 0xf2, 0xe8, 0x47, 0x69, 0xf8, 0x74, 0xe7, 0x21, 0x8f, 0x7a, 0xbf, 0x39, 0xe3, 0x0e, 0xa1, + 0xd8, 0x6e, 0x5c, 0x62, 0x2f, 0x87, 0xd3, 0x6d, 0xbb, 0x6a, 0xd3, 0x0f, 0x5f, 0x87, 0x9b, 0x0e, + 0xfd, 0x16, 0x1a, 0x05, 0xbe, 0xf0, 0x0c, 0xb6, 0xd7, 0x7c, 0xa0, 0x0e, 0xf1, 0x16, 0x80, 0xb8, + 0x99, 0x43, 0x76, 0x65, 0x39, 0x98, 0x53, 0x1a, 0xb4, 0xee, 0x0d, 0x9c, 0x10, 0xbe, 0x7e, 0x66, + 0xb7, 0x75, 0xec, 0x20, 0xd5, 0x21, 0xa0, 0xb7, 0x31, 0x85, 0xd5, 0x4b, 0x31, 0x7e, 0x05, 0x6a, + 0xcf, 0x13, 0x6c, 0x9a, 0xf1, 0x9e, 0xee, 0x7c, 0x31, 0xad, 0x41, 0xaa, 0x8c, 0xfd, 0x26, 0x5f, + 0x0d, 0xf7, 0x38, 0x27, 0x2c, 0xf8, 0x5f, 0x40, 0xa8, 0x46, 0x49, 0x96, 0x3a, 0xc6, 0x01, 0xc1, + 0xfa, 0xfc, 0x78, 0x76, 0x09, 0x66, 0x10, 0xda, 0x7b, 0xbd, 0x14, 0x00, 0x00, 0xfe, 0x87, 0x56, + 0xbd, 0x0b, 0x31, 0x00, 0xfa, 0x23, 0x57, 0xa3, 0x71, 0x8c, 0x52, 0xf5, 0x61, 0x12, 0x59, 0x21, + 0xdb, 0x9e, 0x30, 0x03, 0xc4, 0xa1, 0x85, 0x5c, 0x56, 0x42, 0x5c, 0xcb, 0x00, 0x99, 0x60, 0x8d, + 0x6d, 0xf2, 0xc7, 0x8b, 0x79, 0x71, 0xd9, 0x81, 0xef, 0xbc, 0x46, 0x8e, 0x11, 0x12, 0x69, 0x84, + 0xf3, 0x4c, 0x45, 0x7d, 0x70, 0xe7, 0x48, 0xac, 0xc2, 0xdb, 0x3c, 0x3c, 0xaa, 0x85, 0x59, 0x6e, + 0x26, 0x35, 0x33, 0x85, 0xab, 0xd4, 0xcd, 0x6b, 0x6b, 0xfa, 0x0b, 0x72, 0x26, 0xa1, 0x71, 0x7f, + 0x20, 0x7d, 0xf0, 0x39, 0xb7, 0x80, 0xdc, 0xb0, 0xf7, 0xaa, 0xc8, 0x86, 0xc6, 0x57, 0xc7, 0x08, + 0xd4, 0x86, 0xbc, 0xba, 0x83, 0xe4, 0xe2, 0x26, 0x5a, 0xfd, 0x66, 0x7f, 0x6f, 0xf1, 0x01, 0x89, + 0xdf, 0xbe, 0x06, 0x0c, 0xb2, 0x46, 0x8e, 0xb5, 0x53, 0x51, 0x6e, 0x4e, 0x9e, 0xd6, 0x46, 0x13, + 0x05, 0x30, 0xb4, 0xf2, 0xeb, 0x91, 0x89, 0xb7, 0x81, 0x0a, 0x5a, 0x5b, 0x75, 0x31, 0x0b, 0xfc, + 0x60, 0xaa, 0x65, 0x1b, 0x23, 0x91, 0x6b, 0x8f, 0x55, 0x46, 0x48, 0x66, 0x46, 0xd5, 0xa9, 0x9a, + 0x1c, 0xa0, 0x9b, 0xf5, 0xb6, 0x49, 0x38, 0x67, 0xfe, 0x30, 0x53, 0x0d, 0x82, 0x9e, 0xb1, 0x93, + 0x77, 0x30, 0xf7, 0x41, 0xc0, 0xa9, 0xbe, 0xba, 0xc5, 0x34, 0x21, 0xb0, 0xf1, 0xc1, 0xe8, 0x72, + 0xd8, 0x0f, 0xd7, 0xe5, 0x1d, 0xa6, 0x2c, 0x79, 0x43, 0x56, 0x6a, 0xee, 0xd1, 0x33, 0x8f, 0x28, + 0x5e, 0x40, 0x33, 0x86, 0xa6, 0xa4, 0x3e, 0x74, 0xf1, 0x23, 0x1d, 0xd7, 0xb9, 0x4c, 0x90, 0x7f, + 0x0d, 0x7e, 0x22, 0x27, 0xdd, 0x95, 0x4e, 0xf3, 0x90, 0x0e, 0x7d, 0x2a, 0x6a, 0x5c, 0x0b, 0x7c, + 0x5e, 0x28, 0x02, 0xe1, 0x4e, 0xf1, 0x16, 0xaa, 0xd0, 0x69, 0xc5, 0x57, 0xf3, 0x96, 0xf2, 0x21, + 0xd9, 0x3a, 0x17, 0x6e, 0x3a, 0xf4, 0xc9, 0x23, 0xc5, 0xa5, 0x7a, 0x4c, 0xec, 0x81, 0x8b, 0x6b, + 0x96, 0x69, 0x4d, 0xe5, 0xfa, 0xe7, 0x10, 0xfd, 0x2a, 0x93, 0xcb, 0x59, 0x3d, 0xaf, 0x92, 0x20, + 0xbd, 0x5b, 0x99, 0x68, 0x0b, 0x95, 0xb2, 0xca, 0x61, 0xb4, 0x90, 0x77, 0xe6, 0x3c, 0x6f, 0xbd, + 0xa6, 0x51, 0xa7, 0x9f, 0x1b, 0x9e, 0x79, 0xf8, 0x17, 0x83, 0x8c, 0xe4, 0x40, 0x31, 0x48, 0x85, + 0x34, 0x1c, 0x0a, 0x47, 0xa7, 0xef, 0xf3, 0x3b, 0xec, 0x1a, 0xd8, 0x4c, 0xd9, 0x6a, 0x8d, 0x21, + 0x03, 0x1b, 0x43, 0xd8, 0x73, 0xca, 0x2a, 0x3f, 0x36, 0x39, 0xef, 0xb4, 0xa4, 0xcc, 0x2b, 0xbb, + 0x90, 0x36, 0x67, 0x2c, 0x3e, 0xe1, 0xac, 0x40, 0xcc, 0xeb, 0xa5, 0x4f, 0xaa, 0xc0, 0x52, 0x0c, + 0x49, 0x22, 0xab, 0x58, 0x98, 0xc4, 0xf8, 0x9e, 0xee, 0x75, 0x7c, 0x6d, 0x0c, 0xb9, 0x66, 0xec, + 0x69, 0x4f, 0x16, 0x15, 0xcb, 0xf1, 0x61, 0x40, 0x5a, 0x50, 0x89, 0xae, 0xf1, 0xce, 0xee, 0x6c, + 0x11, 0x08, 0x12, 0xe1, 0x5c, 0x4c, 0xae, 0x28, 0xc4, 0xab, 0x19, 0x73, 0xdb, 0xe1, 0xab, 0x66, + 0x25, 0x2c, 0x14, 0xc1, 0xe0, 0x7a, 0xd3, 0xa4, 0x9b, 0x03, 0xba, 0xb3, 0x57, 0xfc, 0x85, 0xab, + 0xbc, 0x73, 0xaa, 0x98, 0x20, 0xc9, 0x8e, 0x39, 0xec, 0x5b, 0xb6, 0x1b, 0xeb, 0x1f, 0x77, 0x2c, + 0x35, 0xa1, 0x81, 0xb8, 0x2c, 0x34, 0xbb, 0x3c, 0xd0, 0x87, 0x97, 0xf6, 0xc7, 0xce, 0x8f, 0xaf, + 0x47, 0x9c, 0xf4, 0x33, 0xab, 0x66, 0xc4, 0xd7, 0x79, 0x94, 0xe5, 0x4a, 0xc6, 0xff, 0xc8, 0xe4, + 0x62, 0xd8, 0x53, 0x4d, 0x52, 0xbb, 0x0e, 0xaa, 0x09, 0x40, 0x96, 0x38, 0x89, 0xe9, 0x63, 0xef, + 0x35, 0x71, 0xc5, 0x15, 0xf4, 0x9d, 0x36, 0x67, 0x52, 0x9a, 0x91, 0xb7, 0x5d, 0xdb, 0xb1, 0x9f, + 0x17, 0x20, 0x6d, 0x6d, 0x8f, 0x1d, 0xa0, 0x3f, 0x06, 0xc0, 0xd1, 0x6f, 0x04, 0xdd, 0x56, 0x81, + 0x69, 0x3b, 0xe9, 0x5d, 0x1d, 0x87, 0xda, 0x1a, 0xa5, 0x76, 0xd6, 0xcf, 0x78, 0xe0, 0xec, 0x55, + 0x73, 0xd5, 0x0b, 0x0a, 0x7d, 0x3d, 0xaf, 0xb5, 0xee, 0x58, 0x5d, 0x98, 0x95, 0x34, 0x30, 0x8b, + 0x41, 0x67, 0x2d, 0x49, 0x28, 0xbb, 0x08, 0x5c, 0xcd, 0x8b, 0x91, 0x82, 0x41, 0xaa, 0x74, 0x0f, + 0x18, 0x71, 0x4b, 0x2f, 0x19, 0xb7, 0x9e, 0xa3, 0x26, 0x56, 0x17, 0xca, 0x52, 0x6b, 0x60, 0x89, + 0xe3, 0x93, 0x71, 0x3a, 0x59, 0x33, 0xaf, 0x27, 0x8f, 0x1c, 0x70, 0x6d, 0x5d, 0xa2, 0x7e, 0xd1, + 0x0d, 0x50, 0x7e, 0xb3, 0x98, 0x27, 0xdc, 0x5b, 0x9f, 0xb3, 0x6a, 0x1d, 0x30, 0x40, 0x7b, 0xd1, + 0x7c, 0xc6, 0xde, 0xa0, 0x77, 0x28, 0xf1, 0x80, 0x54, 0x9c, 0x69, 0xde, 0x86, 0x4d, 0xd5, 0x0e, + 0x2f, 0xe9, 0xf4, 0x09, 0x1e, 0x56, 0x3a, 0xd4, 0xad, 0xad, 0xff, 0x5b, 0x97, 0x9a, 0xd7, 0x09, + 0x5a, 0xc4, 0xbf, 0x2a, 0x69, 0x32, 0xed, 0xe9, 0x35, 0x71, 0xea, 0xce, 0x6f, 0xe3, 0x0c, 0xdd, + 0xad, 0x9c, 0x52, 0x45, 0xa2, 0x59, 0x8c, 0x78, 0x27, 0x8b, 0xbd, 0x73, 0xc0, 0x85, 0x51, 0x1c, + 0x3e, 0xff, 0xf8, 0x08, 0x4c, 0xb5, 0xfe, 0xeb, 0x75, 0x9b, 0xbb, 0x0c, 0x7c, 0x2d, 0xf9, 0xc9, + 0xfb, 0x24, 0x06, 0x34, 0x65, 0xa1, 0x28, 0xc5, 0xee, 0x25, 0xac, 0xfc, 0x72, 0xca, 0x42, 0x9e, + 0x43, 0xb3, 0x7e, 0x10, 0x6b, 0x66, 0xc1, 0xae, 0x1f, 0xd4, 0xc2, 0xfc, 0x9f, 0x11, 0x80, 0x06, + 0x2a, 0x36, 0xa8, 0xe4, 0x07, 0x7c, 0x67, 0x3e, 0x16, 0xdf, 0x79, 0x33, 0x21, 0x58, 0x29, 0x2e, + 0x97, 0xe6, 0xfb, 0x07, 0x73, 0xee, 0xf7, 0xd0, 0xff, 0x85, 0x68, 0x1f, 0xfa, 0x8a, 0xaa, 0x74, + 0x78, 0x10, 0x84, 0x0c, 0xeb, 0x12, 0x9a, 0xcd, 0xcd, 0xc5, 0xdc, 0xe4, 0xa2, 0xc3, 0x93, 0xe7, + 0x53, 0x42, 0x6e, 0xb6, 0xf1, 0xba, 0x59, 0x4d, 0x4f, 0x7f, 0xc8, 0x85, 0x80, 0x54, 0x1d, 0xd7, + 0x47, 0xdf, 0x86, 0x04, 0xf8, 0x51, 0x7f, 0x18, 0xae, 0x40, 0x36, 0x11, 0xef, 0xf7, 0xe5, 0xb3, + 0x52, 0x9d, 0x84, 0xe8, 0x69, 0xb6, 0x30, 0x01, 0x51, 0x7d, 0x5c, 0xd6, 0x26, 0x59, 0x5c, 0x9b, + 0xcb, 0x70, 0x97, 0xe0, 0xe2, 0x1d, 0xf8, 0x0e, 0x12, 0x01, 0xdd, 0x88, 0xb6, 0x48, 0x37, 0xed, + 0x06, 0xa0, 0x95, 0x6b, 0x21, 0x20, 0x6a, 0xe7, 0x6a, 0xc5, 0x2a, 0xa2, 0x5e, 0xf9, 0xd1, 0xd5, + 0x9b, 0x8d, 0xa3, 0xc0, 0x87, 0x08, 0xcc, 0xb8, 0x04, 0x6d, 0xeb, 0x85, 0xca, 0x1d, 0x0f, 0xc2, + 0x7a, 0x7f, 0xc6, 0x7a, 0x7d, 0x17, 0xdf, 0xa4, 0xe1, 0x75, 0xe7, 0x6c, 0xd0, 0xeb, 0x1e, 0xab, + 0x19, 0xb9, 0xaf, 0xa7, 0xb7, 0xfb, 0x30, 0x56, 0xdc, 0x54, 0x42, 0x47, 0xdd, 0x24, 0x2a, 0xb9, + 0x61, 0x01, 0xba, 0x30, 0x3e, 0x21, 0x37, 0x63, 0xee, 0x65, 0x74, 0x61, 0xad, 0x62, 0x86, 0x54, + 0x08, 0x60, 0x1e, 0xf4, 0xa0, 0x54, 0x98, 0x46, 0x68, 0xdc, 0xcf, 0x2e, 0x16, 0x24, 0xce, 0xee, + 0xa4, 0xba, 0x93, 0x58, 0xba, 0x2a, 0x86, 0xab, 0xe0, 0x1d, 0x9b, 0x3b, 0x98, 0x4f, 0x61, 0xf1, + 0x50, 0x7c, 0x30, 0x5f, 0x8b, 0x91, 0xef, 0x4b, 0x60, 0xac, 0x0a, 0xf2, 0xc4, 0x2c, 0x51, 0x55, + 0xb1, 0x16, 0xbe, 0x1a, 0xaf, 0x09, 0x47, 0x44, 0x82, 0x3f, 0x62, 0x88, 0x2f, 0x06, 0x7e, 0xf4, + 0xe0, 0x82, 0x0c, 0x10, 0x49, 0x14, 0x17, 0x88, 0xca, 0xbc, 0x66, 0xc5, 0x9e, 0x4f, 0xff, 0xb6, + 0xa7, 0x16, 0x5a, 0xf0, 0xf2, 0xc7, 0x36, 0xbc, 0x30, 0x87, 0x57, 0xb2, 0xff, 0x82, 0xf3, 0x06, + 0xd0, 0xf9, 0xcb, 0x38, 0x93, 0xc0, 0x0b, 0xac, 0x2a, 0xf4, 0x1f, 0x17, 0x7a, 0x72, 0xbb, 0x17, + 0x5e, 0xca, 0xa4, 0x47, 0xfd, 0xba, 0xd4, 0x1a, 0x52, 0xf5, 0x37, 0xdc, 0x1c, 0x6e, 0x6f, 0x19, + 0x77, 0x02, 0x22, 0x4e, 0x15, 0x22, 0xc1, 0x28, 0xad, 0x42, 0x05, 0xfb, 0x04, 0xac, 0xc3, 0x98, + 0x86, 0x34, 0xa6, 0x65, 0x4e, 0xf5, 0x57, 0xd8, 0x84, 0x01, 0x35, 0x07, 0x3a, 0x30, 0xc9, 0x24, + 0xe9, 0xfe, 0x7e, 0x52, 0x5c, 0x9d, 0x92, 0x69, 0xf5, 0xf8, 0xf0, 0x56, 0xc9, 0x80, 0xb4, 0xe2, + 0xe1, 0xe8, 0x7b, 0x15, 0x34, 0x21, 0x51, 0x78, 0xae, 0x23, 0xd5, 0xbc, 0x90, 0x47, 0x4e, 0xcb, + 0x8b, 0x05, 0xb0, 0x8f, 0x1f, 0x4f, 0x0e, 0x7e, 0xd9, 0x27, 0xd6, 0x89, 0xf9, 0x37, 0xaa, 0xda, + 0xcb, 0x4d, 0x1b, 0x50, 0x9a, 0x9b, 0x78, 0x91, 0xfb, 0x1f, 0x8a, 0x43, 0x45, 0x3b, 0xd2, 0xea, + 0xd0, 0x1a, 0xe3, 0x82, 0xb9, 0x6f, 0x8c, 0x16, 0x79, 0x16, 0x0c, 0x90, 0x9d, 0x78, 0x6d, 0x0b, + 0x29, 0xc9, 0xb1, 0x9b, 0xd2, 0x35, 0x7b, 0xef, 0x24, 0x6c, 0x5a, 0x99, 0xc5, 0x75, 0x6a, 0x8a, + 0x3a, 0xc2, 0x9c, 0xfc, 0x75, 0xde, 0xc8, 0xfa, 0xb2, 0xbf, 0xc5, 0xf6, 0x0f, 0x3e, 0x4a, 0xde, + 0x2b, 0xf6, 0xbc, 0x73, 0x1b, 0x7d, 0xd8, 0x5a, 0x87, 0x93, 0x88, 0x6b, 0xf0, 0xe6, 0x8b, 0xe8, + 0x2f, 0x58, 0x31, 0xc1, 0xc6, 0x31, 0x6e, 0xe5, 0x3b, 0x70, 0xfe, 0x95, 0xf5, 0x29, 0xf6, 0xd0, + 0x44, 0x2f, 0x34, 0x66, 0xa2, 0xfa, 0x1a, 0x94, 0xe5, 0xca, 0x0b, 0xe1, 0x8d, 0x45, 0xad, 0xf9, + 0xb4, 0xe9, 0x21, 0x13, 0xf1, 0x3e, 0x3a, 0xda, 0x0d, 0xc7, 0xd7, 0xe2, 0xc1, 0x63, 0x3e, 0x83, + 0xbe, 0x54, 0x03, 0xea, 0xa8, 0x4f, 0x94, 0x88, 0x74, 0x17, 0xf2, 0xb5, 0xad, 0xe6, 0x97, 0xd6, + 0x48, 0x24, 0x74, 0x97, 0x16, 0x80, 0x72, 0xbb, 0x9a, 0x1f, 0xa6, 0x7f, 0xff, 0xb7, 0x4d, 0x4a, + 0xec, 0x5b, 0x00, 0xfa, 0x70, 0xd0, 0x67, 0x1f, 0xbd, 0xa1, 0x16, 0x15, 0xdf, 0xca, 0x29, 0x2c, + 0xce, 0x3b, 0xd9, 0x87, 0x15, 0x84, 0xc3, 0xcf, 0x98, 0x01, 0xb2, 0xa5, 0xc5, 0x5b, 0xb9, 0xe3, + 0x56, 0x25, 0x88, 0xb2, 0x99, 0xd1, 0x89, 0x92, 0x61, 0x52, 0x26, 0x62, 0x55, 0x6c, 0xee, 0x77, + 0xdb, 0xa9, 0x19, 0xe2, 0x2b, 0xec, 0x43, 0xea, 0xaf, 0x1f, 0x16, 0x9d, 0x38, 0x1d, 0x2a, 0xbc, + 0x24, 0x0b, 0xb9, 0xe5, 0xca, 0x16, 0xb1, 0xfc, 0xcb, 0x3a, 0x46, 0x89, 0x01, 0x07, 0x62, 0xfb, + 0x9c, 0xd8, 0x76, 0xa8, 0x0f, 0x3e, 0x4d, 0x59, 0x3b, 0x27, 0xcd, 0xdc, 0xf4, 0x4f, 0x07, 0x30, + 0x4d, 0xf8, 0xe6, 0x7e, 0xe8, 0x08, 0xde, 0xbd, 0x6d, 0x70, 0x27, 0xcc, 0x3a, 0xe1, 0xde, 0x2c, + 0x01, 0x64, 0xcc, 0x57, 0x20, 0xb5, 0x84, 0xdb, 0xe9, 0xb1, 0xd7, 0x1b, 0x2c, 0x2e, 0xa8, 0x65, + 0x4d, 0x46, 0x18, 0x18, 0xe6, 0x05, 0x88, 0xa9, 0xad, 0x75, 0x7f, 0x67, 0x67, 0xb6, 0x12, 0x6f, + 0x5f, 0xdd, 0x50, 0xce, 0x0f, 0x6c, 0x7f, 0x6b, 0x90, 0x68, 0xae, 0xec, 0xfc, 0x12, 0x5d, 0x37, + 0xbc, 0x81, 0x5d, 0x96, 0x96, 0x56, 0x20, 0x32, 0x5c, 0xc2, 0x1c, 0xaa, 0xfe, 0xa7, 0x53, 0x56, + 0x39, 0xf1, 0x2a, 0x67, 0x69, 0x1c, 0xe9, 0x35, 0x8d, 0x39, 0x61, 0xab, 0xac, 0xe9, 0x93, 0x77, + 0x0a, 0x3b, 0x62, 0xb4, 0x9d, 0xaf, 0xf0, 0xb9, 0x3e, 0xab, 0x8f, 0xfb, 0x98, 0xd2, 0x8c, 0x89, + 0x90, 0x5e, 0x87, 0x0d, 0x40, 0x68, 0xf8, 0x55, 0x0b, 0x13, 0xc7, 0xc9, 0xcf, 0xed, 0xb6, 0xe3, + 0xb4, 0xc9, 0x14, 0x1b, 0x81, 0xd7, 0x3b, 0xb3, 0x27, 0x10, 0x41, 0x0b, 0x02, 0x19, 0xeb, 0x12, + 0x30, 0x0e, 0xfc, 0x34, 0xd2, 0x1b, 0x90, 0x9b, 0xf5, 0x47, 0xe7, 0x90, 0xff, 0x32, 0x31, 0x78, + 0x4e, 0x96, 0x45, 0xc4, 0x18, 0xda, 0x62, 0x74, 0x4e, 0xca, 0xbe, 0x51, 0x04, 0x1e, 0x76, 0x11, + 0xe4, 0xeb, 0xfd, 0x30, 0xd3, 0xb2, 0xab, 0x4c, 0x84, 0xd8, 0xb9, 0x05, 0xca, 0x52, 0xb8, 0x78, + 0x70, 0xc4, 0x27, 0x11, 0xe7, 0x09, 0xd1, 0xa1, 0x49, 0xe7, 0x7b, 0x8a, 0x1e, 0xa3, 0x5a, 0x21, + 0xd2, 0x59, 0xb2, 0xba, 0x9a, 0x27, 0x3b, 0x28, 0xb4, 0x8e, 0xd7, 0xeb, 0xc1, 0x33, 0x25, 0xcf, + 0xd8, 0xc3, 0x3e, 0xe0, 0x19, 0xf2, 0xc5, 0x88, 0xc9, 0xba, 0x3a, 0x12, 0xa1, 0x13, 0x5d, 0xb7, + 0xa0, 0xdd, 0x6d, 0x5f, 0x83, 0x30, 0x99, 0x90, 0x2d, 0xc1, 0x34, 0x22, 0x5d, 0x27, 0x94, 0x48, + 0x89, 0xc3, 0xe3, 0x26, 0x71, 0x9b, 0x5c, 0xdd, 0xd2, 0x4c, 0x14, 0xa7, 0x30, 0x06, 0x0d, 0x16, + 0x6a, 0xf4, 0x35, 0x50, 0xc0, 0xed, 0xa5, 0xe8, 0xfe, 0x6d, 0xe9, 0x29, 0x0d, 0x1f, 0xf3, 0x8e, + 0x80, 0xbb, 0x80, 0x75, 0xbe, 0x52, 0x4e, 0xa8, 0x9c, 0xcb, 0x1c, 0x71, 0xf6, 0x20, 0xbe, 0x2f, + 0x5d, 0x13, 0x11, 0x46, 0xa1, 0x31, 0x25, 0x9b, 0x89, 0x4d, 0x3b, 0x8c, 0x52, 0x48, 0x5b, 0xb5, + 0x6e, 0xd8, 0x90, 0xba, 0xc1, 0xb3, 0xef, 0x8b, 0x90, 0xfb, 0x00, 0x9a, 0x4d, 0x56, 0x12, 0xf4, + 0x6e, 0x04, 0xf3, 0x13, 0x35, 0x10, 0x01, 0xcb, 0x61, 0xed, 0xea, 0x01, 0xa9, 0x06, 0x16, 0xb3, + 0x08, 0x50, 0x20, 0x08, 0x3c, 0x1f, 0x93, 0xe5, 0xf0, 0x3f, 0x03, 0x24, 0xd8, 0x26, 0x9c, 0x67, + 0xcb, 0x4b, 0x51, 0x09, 0x03, 0xf7, 0x2b, 0xc3, 0x53, 0x4c, 0xc9, 0x30, 0xb6, 0x55, 0xaf, 0x32, + 0xeb, 0xe4, 0x59, 0xf4, 0x73, 0x68, 0x99, 0xdb, 0x79, 0xdb, 0xe5, 0x52, 0xed, 0xe3, 0xb5, 0x8e, + 0xaf, 0x3b, 0x7f, 0x58, 0xc8, 0xdb, 0x0f, 0x09, 0xce, 0x2e, 0x0b, 0x85, 0x91, 0x19, 0x25, 0x86, + 0x11, 0x58, 0xb6, 0xd2, 0xe7, 0x7e, 0x55, 0xd2, 0xfa, 0xa4, 0x93, 0x9e, 0xc2, 0x48, 0x77, 0xa4, + 0xcb, 0x06, 0x4e, 0xa2, 0xef, 0xc3, 0xed, 0x5d, 0x4a, 0x00, 0x0c, 0x21, 0x11, 0xb4, 0xa9, 0xfc, + 0x50, 0x7b, 0x4e, 0x02, 0x44, 0x22, 0xf1, 0x62, 0x07, 0x3b, 0xd1, 0x76, 0xa0, 0xb6, 0x8b, 0xf7, + 0x1c, 0x56, 0x1e, 0xf4, 0x74, 0xdf, 0x1e, 0x3d, 0x87, 0x21, 0xd7, 0x49, 0x26, 0xab, 0x44, 0x5e, + 0x85, 0xec, 0xa9, 0x7f, 0xa1, 0x68, 0x5b, 0xa5, 0x8c, 0x42, 0x02, 0x51, 0x55, 0xb0, 0x9e, 0x8a, + 0x63, 0x0d, 0xc0, 0xa7, 0x0a, 0x09, 0xe1, 0x22, 0x91, 0xf5, 0x2d, 0x7f, 0x15, 0x63, 0x50, 0xd0, + 0x5a, 0x84, 0xff, 0x72, 0x0c, 0xeb, 0x41, 0x7b, 0x19, 0xf2, 0x88, 0x26, 0x1e, 0xbf, 0x9c, 0x3e, + 0x13, 0xf9, 0xae, 0x2c, 0x82, 0x17, 0x73, 0x4f, 0x84, 0x3e, 0xf5, 0x57, 0xa5, 0x31, 0x65, 0x05, + 0x76, 0xaa, 0xbe, 0xbd, 0xcf, 0x33, 0x8e, 0xd7, 0xad, 0x5c, 0xae, 0x23, 0x38, 0xe5, 0xe4, 0xaa, + 0x08, 0xba, 0xd5, 0x53, 0x68, 0xb0, 0x7e, 0x35, 0xae, 0x8e, 0x2c, 0x6c, 0xfe, 0x87, 0x9c, 0x9e, + 0x4a, 0x38, 0x43, 0x65, 0xa3, 0x61, 0xae, 0xbf, 0x28, 0x1d, 0x9c, 0x56, 0xf3, 0x8e, 0x30, 0x12, + 0x66, 0x1f, 0x60, 0x13, 0x8a, 0x45, 0x31, 0xb4, 0x96, 0x99, 0xe6, 0x7c, 0x51, 0xf9, 0x55, 0x30, + 0x2a, 0x43, 0x29, 0xe9, 0x23, 0x7d, 0x22, 0x87, 0x30, 0x95, 0xed, 0x66, 0x7a, 0xba, 0xe4, 0x65, + 0x69, 0x0e, 0x3b, 0x3f, 0xbd, 0x63, 0xa9, 0x55, 0xef, 0xff, 0x36, 0x8e, 0x96, 0x7a, 0x36, 0x38, + 0xdf, 0x6e, 0x6f, 0x4b, 0xf9, 0xc0, 0xdd, 0x35, 0xc0, 0x2a, 0xb8, 0x74, 0x27, 0xa3, 0x9b, 0x07, + 0x8f, 0x14, 0xf7, 0x15, 0xf3, 0x6d, 0xb4, 0x53, 0x12, 0x07, 0xa1, 0xa0, 0x8a, 0xfd, 0x3e, 0x45, + 0xd5, 0xf2, 0x3a, 0x4f, 0xe8, 0x61, 0xd3, 0x33, 0x86, 0xdf, 0x80, 0xc7, 0x68, 0x3b, 0x83, 0x1a, + 0xab, 0x58, 0xd1, 0x92, 0xeb, 0x62, 0x46, 0x6f, 0xfc, 0x4e, 0x55, 0x1a, 0x1b, 0x43, 0xa1, 0x89, + 0x88, 0xc8, 0xfa, 0x80, 0x73, 0x40, 0xa3, 0x0d, 0x9a, 0x25, 0xb7, 0x21, 0x02, 0xb6, 0xa2, 0x63, + 0xed, 0xdd, 0x90, 0x46, 0xf7, 0xde, 0xe8, 0x31, 0xf7, 0x37, 0x16, 0x2a, 0x8b, 0x6a, 0x77, 0xe0, + 0x0f, 0xe6, 0x12, 0x14, 0x0d, 0x73, 0x3f, 0x64, 0xd2, 0xa8, 0xed, 0x41, 0xeb, 0x76, 0x00, 0xdb, + 0x71, 0xbf, 0x3f, 0xd8, 0x01, 0xdc, 0x7b, 0x80, 0x06, 0xb3, 0xdd, 0xd3, 0xef, 0xcc, 0x78, 0x5c, + 0x05, 0xbc, 0xf0, 0x64, 0x65, 0x47, 0x01, 0xc7, 0x84, 0x2d, 0x4c, 0x41, 0xd1, 0x7d, 0xcb, 0xeb, + 0x39, 0x7c, 0xf0, 0xf4, 0xe0, 0x97, 0x85, 0xfd, 0x41, 0xc8, 0x98, 0x8e, 0x0e, 0xb8, 0x49, 0x16, + 0x9a, 0xeb, 0x6d, 0xa6, 0x61, 0x1b, 0x65, 0xee, 0x8e, 0xcd, 0xe1, 0xee, 0x99, 0x6d, 0xe7, 0x57, + 0xc1, 0x3e, 0x2f, 0x3b, 0xf7, 0xdb, 0xc9, 0xa1, 0x75, 0xd3, 0xb1, 0xe8, 0x46, 0x09, 0x04, 0x3f, + 0x6c, 0xf8, 0xba, 0xe7, 0xad, 0x84, 0xae, 0xab, 0xc9, 0xab, 0x5d, 0x74, 0x84, 0xbf, 0xdd, 0xf5, + 0xad, 0x31, 0xf6, 0x9c, 0xdc, 0x69, 0xf4, 0xc4, 0x31, 0x33, 0x06, 0x3f, 0x06, 0xb3, 0x2b, 0x4c, + 0x74, 0xe2, 0x2d, 0x17, 0x01, 0x06, 0xb3, 0x07, 0x95, 0x84, 0x49, 0x03, 0x15, 0xd9, 0x65, 0x43, + 0x1b, 0xb2, 0x91, 0x8b, 0xcf, 0x54, 0x41, 0x6e, 0x39, 0x1d, 0xa9, 0xaa, 0xa2, 0xc4, 0xc3, 0x98, + 0x9b, 0x2f, 0x37, 0x30, 0xb6, 0x82, 0xdb, 0xe5, 0xe7, 0xa9, 0x16, 0xaa, 0xb5, 0x30, 0x9c, 0x0d, + 0x24, 0xa7, 0x84, 0xc9, 0xe0, 0x8b, 0x48, 0xc4, 0x9b, 0x44, 0x7e, 0x41, 0x6c, 0x83, 0x39, 0x69, + 0x45, 0xab, 0xc4, 0xed, 0xa6, 0x4d, 0x5b, 0x4d, 0x57, 0x12, 0xed, 0x69, 0x1e, 0x95, 0x12, 0x2b, + 0xc1, 0x40, 0x12, 0x31, 0xf3, 0xcf, 0xa0, 0x4d, 0x1c, 0x35, 0xda, 0x39, 0xbd, 0x5b, 0xcc, 0x71, + 0x45, 0x72, 0x45, 0xc0, 0xec, 0xf8, 0xee, 0x5d, 0x83, 0xdb, 0xf9, 0x27, 0xc7, 0xa2, 0xd9, 0x39, + 0x3b, 0xa2, 0x60, 0x55, 0x4a, 0xd9, 0xe2, 0xa4, 0x99, 0xb8, 0xd9, 0xbe, 0x48, 0xe8, 0x98, 0x55, + 0x83, 0xb0, 0x42, 0x10, 0x51, 0x83, 0x5e, 0xbf, 0x83, 0x93, 0xfa, 0x9d, 0x05, 0xaa, 0x3f, 0x48, + 0xf9, 0x41, 0x5a, 0x48, 0xef, 0x78, 0x8d, 0xcb, 0x9b, 0x5c, 0x80, 0x7a, 0xcf, 0x7f, 0x9c, 0x53, + 0x98, 0xe6, 0x0b, 0x53, 0x3d, 0x77, 0xcf, 0x06, 0xa4, 0x88, 0xbb, 0x6a, 0x01, 0x15, 0xbd, 0x7e, + 0xbe, 0x00, 0xa6, 0x8d, 0x02, 0xa3, 0xed, 0xe2, 0x44, 0xce, 0x5c, 0x49, 0x4c, 0xf8, 0xf7, 0x3c, + 0xfe, 0x60, 0x7b, 0x10, 0xf5, 0xc5, 0xd3, 0xbd, 0x3f, 0xf5, 0x67, 0x00, 0xc1, 0x6f, 0xf8, 0x4c, + 0x3b, 0x47, 0x51, 0xaf, 0x55, 0xb2, 0x0c, 0x6a, 0x07, 0xcf, 0x20, 0x4a, 0xb7, 0x43, 0xa6, 0x2f, + 0x7c, 0x86, 0x4f, 0x8f, 0x09, 0xe4, 0xc2, 0x62, 0x76, 0xcb, 0x03, 0x9b, 0x2e, 0xe5, 0x93, 0x51, + 0x6d, 0x64, 0x0e, 0xa1, 0xde, 0xb5, 0x38, 0x0e, 0x44, 0x6b, 0x47, 0x8a, 0x7c, 0x03, 0x91, 0x43, + 0x9d, 0x04, 0x9d, 0xd3, 0x25, 0x4d, 0x84, 0x45, 0x1d, 0xc6, 0xed, 0xa8, 0x2a, 0xf5, 0xdc, 0xfd, + 0x7d, 0x5f, 0x52, 0x83, 0x2e, 0xce, 0x1d, 0x25, 0x6c, 0xf5, 0x7b, 0x62, 0xd9, 0x03, 0xf3, 0xda, + 0xd8, 0xf1, 0xea, 0x9f, 0x95, 0x9d, 0x35, 0x96, 0x6c, 0x2e, 0xf7, 0x9b, 0x39, 0xda, 0x9e, 0xae, + 0xf3, 0x21, 0xf5, 0xf0, 0x39, 0x36, 0x81, 0x2c, 0xde, 0xde, 0x90, 0xf2, 0x49, 0x77, 0x32, 0x60, + 0x5b, 0xaf, 0x45, 0x3b, 0x64, 0xa8, 0x06, 0x08, 0xb7, 0x51, 0x13, 0xd5, 0xc6, 0x5c, 0x52, 0x65, + 0x81, 0x11, 0xea, 0xed, 0x31, 0xd5, 0x4f, 0x34, 0xbe, 0xcb, 0xeb, 0xeb, 0x21, 0xd3, 0x9a, 0xb1, + 0x82, 0x14, 0xb0, 0x60, 0x43, 0xa4, 0xfa, 0xe8, 0x0e, 0x28, 0x53, 0xcf, 0xea, 0x28, 0x29, 0x26, + 0x4b, 0x41, 0xbe, 0x00, 0xb6, 0xd8, 0x96, 0x0f, 0x0f, 0x00, 0x99, 0x19, 0xa2, 0xbf, 0x56, 0x2c, + 0xe0, 0xaf, 0xdd, 0xaf, 0x94, 0x22, 0xc5, 0x2b, 0x63, 0xca, 0x3a, 0x7d, 0xe1, 0x00, 0xcd, 0xc6, + 0xa5, 0x9d, 0xa2, 0xf0, 0x09, 0x3f, 0x6e, 0xa2, 0x92, 0xd8, 0xc4, 0x13, 0xeb, 0xe8, 0x5e, 0x5d, + 0x00, 0xa9, 0xce, 0x6e, 0x7d, 0x8c, 0xce, 0xe5, 0x36, 0x26, 0x71, 0x29, 0x8c, 0x98, 0x9b, 0x05, + 0x56, 0x4b, 0x4c, 0x17, 0x4e, 0xa1, 0x0b, 0x40, 0x17, 0xdd, 0x0e, 0x04, 0xb4, 0x70, 0x6b, 0x07, + 0x60, 0x47, 0xdc, 0x59, 0x2d, 0xea, 0x1d, 0x64, 0x7c, 0x4a, 0x62, 0x45, 0x1a, 0xb0, 0x35, 0x7e, + 0x02, 0x2c, 0xc6, 0xa6, 0x3a, 0xbc, 0x47, 0xa6, 0xb3, 0xb7, 0x37, 0x47, 0x54, 0x84, 0xd5, 0x46, + 0x99, 0x03, 0x54, 0xeb, 0x17, 0x49, 0x11, 0x85, 0x3d, 0x50, 0xeb, 0x34, 0xfb, 0xae, 0x9d, 0x60, + 0x47, 0x22, 0xb4, 0x39, 0x2b, 0x54, 0xec, 0x93, 0xeb, 0x80, 0x09, 0xc2, 0xe8, 0x3f, 0x79, 0xb9, + 0x04, 0xd0, 0xbe, 0xa1, 0x5a, 0xa1, 0x14, 0xcd, 0x55, 0xc6, 0xdb, 0x54, 0xa1, 0x55, 0x58, 0x05, + 0xfb, 0x25, 0xfc, 0xfd, 0x2a, 0xf1, 0xbe, 0x0a, 0x90, 0xf4, 0xa6, 0x7f, 0x2c, 0x1a, 0x80, 0x18, + 0x80, 0x11, 0xa8, 0xe2, 0x81, 0x64, 0xb4, 0x3e, 0x27, 0xbd, 0x30, 0x6a, 0x11, 0x3e, 0x8c, 0x83, + 0x0e, 0xfe, 0x2a, 0x05, 0x7f, 0x49, 0x03, 0xcd, 0xe5, 0x58, 0xf1, 0xc0, 0x38, 0x2b, 0x6b, 0x7a, + 0x6c, 0x72, 0x99, 0x47, 0x46, 0xfe, 0xad, 0x97, 0x9b, 0xc9, 0x64, 0x36, 0x56, 0x6a, 0x49, 0xf1, + 0x59, 0xf1, 0xc6, 0xee, 0xf8, 0x7c, 0xbd, 0xe5, 0xff, 0x2b, 0x7d, 0x3e, 0xab, 0x35, 0x10, 0x1f, + 0x97, 0xa9, 0xf2, 0x08, 0x03, 0x7e, 0xc5, 0x26, 0x81, 0xea, 0x00, 0xbd, 0xba, 0x16, 0xfe, 0x25, + 0x52, 0x21, 0x20, 0x3a, 0x2c, 0x5d, 0xa8, 0xc1, 0x40, 0x55, 0x96, 0x32, 0x48, 0xb1, 0xbf, 0x71, + 0xea, 0x8e, 0x61, 0xa1, 0x12, 0x37, 0x76, 0x98, 0xea, 0x41, 0x7f, 0x69, 0x1f, 0xcd, 0xf8, 0xd4, + 0x4c, 0x2b, 0x70, 0x55, 0xf0, 0xcf, 0x71, 0x04, 0x4c, 0x29, 0x5f, 0x8f, 0xaa, 0x0e, 0x1f, 0x0d, + 0xe4, 0xbc, 0xc3, 0xdf, 0x69, 0x93, 0xa0, 0xdd, 0x23, 0x84, 0x94, 0xb4, 0x9b, 0x64, 0xac, 0x89, + 0x34, 0xdf, 0xa5, 0xd8, 0x46, 0x71, 0x30, 0x33, 0x20, 0xee, 0x65, 0xbc, 0x3a, 0x54, 0x90, 0xf4, + 0xa7, 0x04, 0x5d, 0xf4, 0xe7, 0xb8, 0x04, 0xb7, 0x70, 0x0d, 0xd7, 0xf8, 0x37, 0x41, 0xd5, 0x77, + 0x0e, 0xf0, 0x10, 0x73, 0x71, 0x6a, 0x85, 0xd9, 0x53, 0x82, 0xe7, 0x8e, 0xe6, 0x9b, 0xea, 0x11, + 0xd3, 0x53, 0xee, 0x25, 0x0d, 0x27, 0xd2, 0x6e, 0x79, 0xbb, 0x5d, 0xa4, 0x95, 0xf6, 0xa7, 0xe0, + 0x04, 0x91, 0x44, 0xd7, 0x85, 0xc5, 0xd7, 0x2a, 0x46, 0x34, 0x77, 0xec, 0xdf, 0xca, 0xa4, 0x46, + 0xaa, 0x0a, 0xb3, 0xff, 0x56, 0xbe, 0xcf, 0x96, 0xe0, 0x4a, 0x0a, 0xeb, 0xd4, 0x90, 0x31, 0xc2, + 0x9f, 0xde, 0xfd, 0xe5, 0x3f, 0x48, 0x16, 0xd7, 0xa8, 0x80, 0xc9, 0xfb, 0xce, 0x4d, 0x2f, 0x80, + 0xee, 0x06, 0x6c, 0x72, 0xab, 0x52, 0xa8, 0x59, 0xda, 0x9c, 0xbb, 0x6e, 0x22, 0x27, 0xd0, 0x5d, + 0x9b, 0x41, 0x6d, 0x58, 0x88, 0x96, 0x81, 0x6a, 0x0d, 0x32, 0x75, 0x72, 0xe7, 0x52, 0x1e, 0x09, + 0x7c, 0xad, 0xe2, 0xa6, 0x15, 0xcf, 0xe4, 0x26, 0xe6, 0x38, 0xee, 0x5c, 0x0c, 0xe2, 0x04, 0x5d, + 0xa9, 0xe9, 0x4f, 0x07, 0xe1, 0xea, 0x3b, 0x85, 0xc2, 0x7e, 0xb0, 0xa2, 0x52, 0x59, 0x88, 0x07, + 0x90, 0xe4, 0xa5, 0x08, 0x28, 0x22, 0x5e, 0xaf, 0x7c, 0x01, 0x45, 0x8d, 0x58, 0xf6, 0xd9, 0x0f, + 0x60, 0xd2, 0xc7, 0x6b, 0x1b, 0x1c, 0x69, 0xe2, 0xc3, 0x80, 0x7c, 0x2b, 0xb9, 0x1d, 0xf9, 0x1d, + 0xe4, 0x36, 0xd0, 0x10, 0xc7, 0xb8, 0x66, 0xe9, 0xa6, 0x56, 0x5f, 0xac, 0xa0, 0xda, 0x43, 0xbe, + 0xd5, 0xc7, 0x04, 0x76, 0x37, 0xc3, 0xe7, 0x5f, 0x77, 0x5b, 0xd6, 0x68, 0x53, 0xb7, 0xb4, 0x5a, + 0x5a, 0x0c, 0xce, 0x09, 0x4d, 0x9a, 0x08, 0x92, 0x24, 0xdd, 0xe6, 0x68, 0x78, 0x44, 0x37, 0xb2, + 0xf4, 0xdd, 0xeb, 0x3d, 0x1e, 0x04, 0x7a, 0x84, 0xb2, 0x16, 0xd6, 0x8a, 0xf2, 0xe9, 0x45, 0x8a, + 0x53, 0xc4, 0xb8, 0x0f, 0x43, 0x58, 0x2b, 0x9d, 0x90, 0x71, 0x8a, 0xf0, 0x4d, 0x91, 0x13, 0x91, + 0x6c, 0x7c, 0x3a, 0x38, 0x5b, 0x8c, 0x9f, 0x6e, 0xb7, 0x31, 0x53, 0x32, 0x62, 0xcc, 0x65, 0xd2, + 0xc5, 0x5c, 0xbe, 0x90, 0x56, 0x75, 0x15, 0xab, 0xb3, 0x3a, 0x8f, 0x2a, 0xdb, 0x81, 0x4d, 0xe0, + 0x33, 0x12, 0x09, 0x99, 0xbf, 0xf5, 0x11, 0x0f, 0xd2, 0x48, 0xbf, 0x5a, 0xea, 0xf6, 0x56, 0xcc, + 0x25, 0x1f, 0xcf, 0xf3, 0x8b, 0x7f, 0x2c, 0x83, 0x21, 0xa5, 0x61, 0x66, 0xda, 0x34, 0x26, 0x1e, + 0xac, 0x88, 0xdc, 0x12, 0xb5, 0x5e, 0x55, 0x22, 0x0e, 0xcb, 0x49, 0xe1, 0xca, 0x8f, 0xaa, 0x88, + 0x5b, 0x99, 0xfd, 0x32, 0xb5, 0xeb, 0xa0, 0xea, 0xfc, 0x8b, 0x42, 0x51, 0x93, 0x9b, 0x20, 0x97, + 0xc8, 0xd8, 0x34, 0x7f, 0x0e, 0x62, 0xe3, 0x47, 0x26, 0xad, 0xd7, 0xa2, 0xc6, 0x75, 0xc3, 0x1a, + 0xd6, 0x08, 0xd2, 0x35, 0x41, 0x89, 0x3e, 0x46, 0x66, 0x55, 0xc9, 0xe5, 0x0d, 0xf5, 0x77, 0xd5, + 0xda, 0xff, 0x21, 0x86, 0x7b, 0x1f, 0x38, 0xe7, 0xca, 0xf9, 0xde, 0x1d, 0x41, 0xdc, 0x27, 0x36, + 0xe1, 0x79, 0x10, 0x10, 0x84, 0x1c, 0x98, 0x77, 0x9a, 0x5f, 0xb8, 0xb8, 0x5c, 0xf6, 0x5b, 0xa8, + 0x9a, 0xd7, 0xc4, 0x4d, 0x8c, 0x75, 0x38, 0xe2, 0x79, 0x9f, 0xc4, 0xe3, 0xf9, 0xae, 0xd1, 0x07, + 0x4f, 0x76, 0x6c, 0x03, 0x23, 0xe6, 0x7c, 0xb7, 0xcd, 0x39, 0x5c, 0xa3, 0x87, 0xbf, 0x20, 0xd3, + 0x63, 0xa6, 0xed, 0x2e, 0x5c, 0xf4, 0xe9, 0xb7, 0xc0, 0x5f, 0xb7, 0x4e, 0xf6, 0xb1, 0x95, 0xac, + 0xf4, 0x59, 0x25, 0x52, 0x9b, 0x84, 0xf1, 0x66, 0x95, 0x34, 0x28, 0x37, 0x60, 0x4d, 0x13, 0x96, + 0x37, 0xc7, 0x54, 0xab, 0xe4, 0x45, 0x32, 0x78, 0x59, 0x11, 0x80, 0xa8, 0x73, 0xe8, 0xa6, 0x5b, + 0x2b, 0x91, 0xb7, 0x37, 0xf7, 0x30, 0x23, 0x1d, 0xc2, 0x11, 0x75, 0xf3, 0x61, 0x2a, 0x9a, 0x16, + 0x22, 0x8e, 0x75, 0x45, 0xad, 0xd6, 0xcd, 0xaa, 0xef, 0x40, 0x0a, 0xaa, 0xf0, 0xb0, 0xf2, 0xca, + 0x48, 0xb9, 0x78, 0x86, 0xb7, 0xed, 0xee, 0xbf, 0x69, 0xf9, 0x85, 0x31, 0xb7, 0x8d, 0x24, 0x63, + 0xa9, 0x9f, 0xd7, 0xf5, 0x33, 0x66, 0x39, 0xeb, 0x49, 0xaa, 0xad, 0xc4, 0x0e, 0xe6, 0x34, 0x34, + 0x67, 0x7d, 0xe8, 0x44, 0x24, 0xe8, 0x97, 0x93, 0xaa, 0x06, 0x07, 0x47, 0x79, 0xc6, 0x43, 0xbb, + 0x18, 0x7c, 0x9e, 0x9e, 0x35, 0x61, 0x8d, 0x25, 0xc8, 0xf5, 0xd0, 0x90, 0x3f, 0xa2, 0x9e, 0xaa, + 0x85, 0xba, 0x6f, 0xf5, 0x53, 0xd6, 0x83, 0x5f, 0x5a, 0xce, 0x30, 0x6c, 0xa4, 0xb9, 0x8e, 0xba, + 0x7a, 0x35, 0x99, 0xa8, 0xfc, 0x1b, 0x6d, 0x12, 0x1d, 0x0d, 0x42, 0x08, 0x96, 0x12, 0x58, 0x0c, + 0x81, 0x42, 0x6c, 0x6c, 0xda, 0x5e, 0x77, 0x49, 0xcb, 0x49, 0xb6, 0xed, 0x85, 0xe1, 0x10, 0x6b, + 0xda, 0xe2, 0xa5, 0x88, 0x27, 0x9c, 0x2f, 0xb4, 0x2a, 0xb8, 0x20, 0x95, 0xd8, 0x88, 0x4f, 0x2e, + 0xca, 0xfd, 0x9c, 0x31, 0xb4, 0x78, 0xc1, 0x2f, 0xd6, 0xb8, 0x6f, 0xca, 0xef, 0x14, 0x5e, 0x34, + 0x28, 0x68, 0xcd, 0x64, 0x1b, 0x51, 0x2a, 0x77, 0x51, 0x9c, 0x25, 0xc5, 0x6a, 0xe8, 0xb2, 0x92, + 0xf0, 0xcc, 0xfe, 0x93, 0x53, 0x28, 0xe5, 0x6b, 0x02, 0x43, 0x15, 0x4a, 0x54, 0xb0, 0xf8, 0x7e, + 0x01, 0xd5, 0xb5, 0x14, 0xcb, 0x4d, 0xb9, 0x00, 0xa6, 0x12, 0x5a, 0xd2, 0xd8, 0xd3, 0xbe, 0x50, + 0x29, 0xdc, 0xc5, 0x50, 0x83, 0xe1, 0x4f, 0xce, 0x05, 0x41, 0x7e, 0xdb, 0x6d, 0x61, 0x23, 0x80, + 0x6d, 0x60, 0x9a, 0x76, 0x90, 0x76, 0x12, 0x38, 0xf3, 0x9f, 0xf9, 0x17, 0xd9, 0x8c, 0x8c, 0xed, + 0xc7, 0xd9, 0x32, 0x38, 0xda, 0xec, 0xb2, 0x8d, 0x44, 0xd6, 0xae, 0xf3, 0x14, 0xa2, 0xa6, 0x70, + 0x07, 0x42, 0x28, 0xbb, 0xd8, 0x04, 0x69, 0x83, 0x33, 0xed, 0x41, 0xb0, 0x7a, 0xed, 0x7b, 0x18, + 0x74, 0xa1, 0x41, 0x8b, 0xef, 0xf7, 0x3b, 0x5d, 0xc2, 0xcb, 0x00, 0x63, 0x7d, 0x7f, 0x1e, 0x33, + 0xc9, 0x9e, 0x17, 0x96, 0xf1, 0x34, 0x43, 0xb2, 0x87, 0x12, 0xa4, 0xb0, 0xf0, 0x17, 0x09, 0x5a, + 0x38, 0x1e, 0xf8, 0x6c, 0xcf, 0x9d, 0x80, 0x2f, 0x1b, 0xfa, 0x36, 0x84, 0xb5, 0xd6, 0xf9, 0x5e, + 0x2f, 0x19, 0x6c, 0x64, 0xb7, 0x8d, 0x29, 0x47, 0x7c, 0x45, 0xb8, 0x0d, 0x6c, 0x5a, 0xeb, 0x9c, + 0x74, 0xc6, 0xc4, 0x80, 0x43, 0x89, 0x68, 0x0f, 0x7e, 0x44, 0x54, 0x4a, 0xfc, 0xbd, 0x05, 0x75, + 0x8f, 0x65, 0x87, 0xcc, 0x15, 0x40, 0x42, 0x8a, 0xa5, 0xe9, 0x66, 0x56, 0x2a, 0x26, 0x35, 0x8b, + 0xa2, 0xe8, 0xbe, 0x43, 0x69, 0xf7, 0x86, 0xb7, 0xf9, 0xc0, 0x0c, 0xae, 0x9d, 0xc6, 0x7f, 0xb7, + 0xd3, 0x4d, 0x95, 0xb1, 0x68, 0xda, 0x43, 0xb0, 0xe1, 0x97, 0x10, 0x0b, 0x5e, 0x4f, 0x7b, 0x07, + 0x45, 0x2e, 0xdf, 0xd6, 0x1b, 0xc4, 0x00, 0x32, 0x4a, 0x5e, 0x5f, 0xdc, 0xff, 0x55, 0x54, 0xf9, + 0x78, 0xfc, 0x68, 0xc1, 0xb3, 0xa6, 0xff, 0xee, 0x27, 0x7a, 0x32, 0x0e, 0x25, 0xd0, 0x1e, 0xd4, + 0x63, 0x15, 0x0f, 0x29, 0xc9, 0xeb, 0xfd, 0xf0, 0x0c, 0xd3, 0x48, 0x54, 0x0f, 0x93, 0x70, 0x1c, + 0x1a, 0xf9, 0x25, 0x8d, 0xd8, 0x96, 0x8b, 0x10, 0xd9, 0x22, 0xd7, 0x0e, 0x66, 0xdb, 0x11, 0xd4, + 0x75, 0x48, 0xae, 0x35, 0x47, 0xc0, 0x9a, 0x57, 0xf3, 0x82, 0xd9, 0x8f, 0xe7, 0x6d, 0x5d, 0x2b, + 0x67, 0xca, 0xae, 0x1c, 0xb1, 0x78, 0x6f, 0x45, 0x8c, 0x34, 0x7b, 0x90, 0xb5, 0xbb, 0x5e, 0x1f, + 0x15, 0x70, 0xa9, 0x68, 0xb5, 0x9c, 0x0f, 0x9a, 0xf9, 0x04, 0xad, 0xa6, 0xdc, 0x25, 0x54, 0x63, + 0x76, 0x73, 0x09, 0xcc, 0x34, 0xd9, 0x7e, 0x35, 0x1b, 0xcc, 0xf1, 0x5a, 0xe9, 0x39, 0x1d, 0x90, + 0xba, 0x50, 0x9b, 0x6c, 0x68, 0x2d, 0x7b, 0x42, 0xa1, 0xcd, 0xd4, 0xed, 0xc5, 0x0a, 0xb4, 0xa9, + 0x91, 0x17, 0xa7, 0x2b, 0xa8, 0x70, 0x69, 0x98, 0x5f, 0x14, 0x92, 0x24, 0xbe, 0xfd, 0x6a, 0x20, + 0xe2, 0x87, 0x38, 0x90, 0x22, 0x93, 0xbc, 0x52, 0x7b, 0x16, 0x03, 0xf6, 0x51, 0xe8, 0xd9, 0xfa, + 0x33, 0x5f, 0xce, 0xa9, 0x5d, 0xa3, 0x0f, 0x34, 0x71, 0xc5, 0xde, 0xba, 0x54, 0x59, 0xd6, 0x59, + 0x2f, 0xbe, 0x93, 0xfe, 0x97, 0xfd, 0x27, 0x71, 0xb2, 0x32, 0xcd, 0xa5, 0xe0, 0x54, 0x4d, 0xab, + 0xb2, 0xdf, 0x38, 0x24, 0x13, 0xdd, 0x83, 0x07, 0xb2, 0xfd, 0x6a, 0x5f, 0x08, 0x98, 0x2a, 0x7a, + 0x26, 0xd2, 0x9f, 0x79, 0xb2, 0x4b, 0x3c, 0x2b, 0x98, 0x3f, 0x29, 0xa4, 0x07, 0x83, 0xfd, 0xa9, + 0xcd, 0x6f, 0xf5, 0xde, 0xfb, 0x5b, 0x2d, 0xf4, 0x07, 0x59, 0x2b, 0x28, 0x27, 0x38, 0xb6, 0x26, + 0xbe, 0xee, 0x75, 0xbd, 0x21, 0x0c, 0xab, 0xcf, 0xdc, 0xa4, 0x00, 0x7f, 0x1b, 0x1f, 0xc7, 0x45, + 0xbb, 0x54, 0xb4, 0x6e, 0xc0, 0xe2, 0xab, 0x54, 0x72, 0xb0, 0x34, 0xbc, 0x81, 0x08, 0x1d, 0x69, + 0x21, 0x1b, 0xf8, 0xff, 0xe7, 0x4f, 0x93, 0x0a, 0xfc, 0x90, 0x5f, 0x83, 0xb9, 0x54, 0x5d, 0xfc, + 0xca, 0xb3, 0x96, 0xd0, 0x67, 0xec, 0x63, 0x72, 0xfe, 0x71, 0x8b, 0x13, 0xba, 0xd7, 0x2e, 0x0a, + 0xe2, 0x42, 0xbb, 0xb9, 0x91, 0xdd, 0x7c, 0x0d, 0xda, 0x1b, 0x3b, 0x81, 0xca, 0xc8, 0xc9, 0x62, + 0x4d, 0xbd, 0xe6, 0x50, 0xda, 0x14, 0xe2, 0xfe, 0x03, 0xed, 0x1c, 0x8a, 0x21, 0x72, 0x6b, 0x43, + 0xde, 0x33, 0x24, 0x7a, 0x45, 0xf3, 0xcf, 0xd1, 0x7f, 0x59, 0xea, 0xcb, 0xed, 0x4b, 0x3e, 0x9b, + 0x7d, 0xf8, 0xf4, 0x74, 0xce, 0x21, 0x4e, 0xe4, 0x6f, 0x74, 0x63, 0x9b, 0x35, 0xa1, 0x4d, 0x9c, + 0xd5, 0x16, 0x01, 0x47, 0xb7, 0x72, 0xe8, 0x80, 0x42, 0xdb, 0x8b, 0x17, 0xf8, 0xd1, 0x98, 0x29, + 0xd6, 0x7d, 0xe9, 0x21, 0xa5, 0x07, 0x8a, 0xcb, 0x32, 0xc7, 0xb0, 0x96, 0xf9, 0x9b, 0x80, 0x62, + 0x3c, 0x3b, 0x61, 0x1e, 0xc1, 0xc4, 0x65, 0x25, 0x0b, 0xb9, 0x69, 0x79, 0xcd, 0x91, 0xce, 0xc1, + 0x7c, 0x26, 0x49, 0x1e, 0x8a, 0x08, 0x86, 0xcf, 0x12, 0x87, 0x4f, 0x0a, 0x87, 0x13, 0x2f, 0x4f, + 0x7a, 0x28, 0xe6, 0x16, 0x42, 0xd9, 0xf7, 0x7a, 0x52, 0x8c, 0x0c, 0x2d, 0xf6, 0x3f, 0x83, 0x97, + 0x01, 0xad, 0x0b, 0xed, 0xfd, 0xe0, 0x12, 0xd8, 0x6e, 0x3e, 0x6a, 0x4b, 0xe5, 0x4d, 0x9d, 0x09, + 0x50, 0xc9, 0xfe, 0xbf, 0xee, 0x51, 0xf6, 0xea, 0x92, 0xca, 0xd6, 0x77, 0xd7, 0x37, 0x55, 0x4a, + 0x15, 0xca, 0x2f, 0x9a, 0x37, 0xc3, 0xd4, 0x80, 0x50, 0x71, 0xa1, 0x8a, 0x74, 0xcf, 0xd4, 0xfd, + 0x96, 0xba, 0x53, 0xdf, 0xce, 0xe2, 0xb9, 0x47, 0x1d, 0x86, 0x9f, 0xf4, 0xc2, 0xac, 0xd9, 0x5d, + 0x1d, 0x4a, 0xe8, 0xfb, 0x20, 0x84, 0x62, 0xc1, 0xf6, 0xde, 0xa6, 0x38, 0xde, 0x13, 0x52, 0x06, + 0x98, 0xe6, 0x42, 0x4a, 0xea, 0xa2, 0xc5, 0x2a, 0xcb, 0x69, 0x9c, 0xdf, 0x5c, 0x26, 0x70, 0xe0, + 0x7a, 0xc6, 0x62, 0xc1, 0xf1, 0x23, 0x04, 0x7f, 0x8d, 0xcd, 0x14, 0x12, 0xde, 0x80, 0x69, 0x37, + 0xe7, 0xde, 0xb5, 0x95, 0x96, 0x3d, 0x48, 0x46, 0xaa, 0x34, 0x45, 0xe2, 0x99, 0xb4, 0x4c, 0xe5, + 0xbe, 0xda, 0x8e, 0xdb, 0xcb, 0xd9, 0x7f, 0xa4, 0x12, 0xdb, 0x99, 0x4f, 0x8d, 0x4d, 0x78, 0x4a, + 0x9a, 0x6a, 0x4b, 0x4c, 0x1a, 0xc7, 0x3e, 0x65, 0xc6, 0xd6, 0x04, 0x62, 0x76, 0x8b, 0xf8, 0x28, + 0x10, 0x46, 0x39, 0x2d, 0x9b, 0x01, 0x6d, 0x2c, 0xed, 0xff, 0x13, 0x61, 0xf9, 0x27, 0x7d, 0xf0, + 0xc9, 0x0d, 0x79, 0x9a, 0xb6, 0xce, 0x54, 0x2f, 0x3c, 0xa0, 0x46, 0xcf, 0x96, 0xc5, 0x18, 0x79, + 0xc1, 0x5b, 0xd0, 0xa6, 0x26, 0xbb, 0xb6, 0x9f, 0xe0, 0x13, 0xa0, 0xa4, 0x51, 0x8a, 0xe0, 0x59, + 0xd3, 0x7b, 0x5f, 0xbb, 0x83, 0xac, 0x87, 0xf9, 0x39, 0x1b, 0xef, 0x2d, 0x6e, 0x32, 0x87, 0xd7, + 0x4c, 0x64, 0xba, 0x27, 0xab, 0x23, 0xdd, 0x1f, 0xd4, 0x81, 0xba, 0xb8, 0x53, 0xdc, 0x4c, 0x27, + 0x70, 0x5b, 0xd4, 0x90, 0x6e, 0x15, 0xb4, 0xd7, 0x39, 0x47, 0x3e, 0x50, 0x27, 0x86, 0xda, 0x4e, + 0xdc, 0x2d, 0xb3, 0xd8, 0x6f, 0x61, 0x34, 0x0b, 0xa3, 0x5f, 0x03, 0x80, 0xc2, 0x46, 0xa7, 0x86, + 0x03, 0xef, 0xf6, 0x33, 0x6b, 0x43, 0x99, 0xcc, 0xb9, 0xbf, 0xfc, 0xb5, 0x4e, 0x9b, 0x69, 0x83, + 0xad, 0x2d, 0x9b, 0xca, 0x38, 0x37, 0xfe, 0xc2, 0x24, 0x8b, 0x3a, 0xd3, 0xeb, 0xbe, 0xc0, 0x00, + 0xd4, 0x54, 0x64, 0xa9, 0x5a, 0x39, 0x2c, 0xcf, 0xcf, 0x6f, 0x89, 0xf1, 0x2b, 0x78, 0x1d, 0x77, + 0xad, 0x1a, 0xdb, 0xf8, 0x6b, 0xed, 0x7b, 0xd6, 0xb5, 0x9f, 0x78, 0x60, 0xe1, 0x45, 0x70, 0x42, + 0x2c, 0xd3, 0xff, 0x6e, 0xa0, 0xb6, 0x77, 0x9f, 0xd7, 0xae, 0xd3, 0xba, 0xfc, 0x27, 0x0a, 0xbf, + 0xa1, 0xab, 0x5b, 0xf2, 0x65, 0x09, 0x4f, 0xeb, 0xbe, 0xab, 0xeb, 0xf5, 0xcd, 0xde, 0x4b, 0xc7, + 0xe3, 0x56, 0xe0, 0x98, 0x17, 0x25, 0x4d, 0x2d, 0x8e, 0xbc, 0x8e, 0x7a, 0xf0, 0xad, 0x50, 0xda, + 0x09, 0xc0, 0x32, 0x05, 0x8f, 0x46, 0x5b, 0x05, 0xac, 0xdb, 0x7b, 0xfe, 0x21, 0xba, 0x51, 0x79, + 0x1c, 0x26, 0xc2, 0x94, 0xa4, 0xba, 0x1e, 0xb5, 0xbf, 0xb3, 0xf4, 0x47, 0xae, 0x43, 0xb2, 0xb6, + 0x72, 0x01, 0x69, 0xb1, 0x63, 0xce, 0xfc, 0xad, 0x05, 0x89, 0x20, 0x73, 0xeb, 0xb6, 0xfb, 0x1c, + 0x5f, 0xb0, 0x0e, 0x4c, 0x55, 0x85, 0x9d, 0x5e, 0xa1, 0x3f, 0xd4, 0x15, 0x0d, 0x6e, 0x01, 0x17, + 0xd5, 0x71, 0x24, 0x9b, 0x38, 0x6a, 0xe0, 0x8a, 0x32, 0x19, 0x1d, 0xd5, 0x68, 0xcf, 0x55, 0xf4, + 0xfd, 0x99, 0x0b, 0x74, 0xeb, 0x52, 0x45, 0x7e, 0x78, 0x29, 0x31, 0x22, 0x7d, 0x71, 0x8a, 0xfa, + 0x5c, 0x3e, 0x09, 0x17, 0x41, 0x05, 0x5a, 0xee, 0x9a, 0xd1, 0x25, 0xc6, 0x3f, 0xdd, 0x12, 0x03, + 0x51, 0x8f, 0x48, 0x90, 0x51, 0x4f, 0x44, 0xee, 0x2c, 0xc6, 0xf4, 0x92, 0x72, 0x14, 0xba, 0x40, + 0x40, 0xf0, 0xc8, 0xed, 0x8b, 0x76, 0x72, 0xe1, 0x9c, 0x44, 0x59, 0x9c, 0xe8, 0x3c, 0xac, 0x35, + 0x7d, 0x27, 0xb3, 0xdf, 0xa9, 0xae, 0x48, 0x8c, 0x76, 0xf9, 0x5d, 0xa1, 0x12, 0xb9, 0x29, 0xfb, + 0x68, 0x68, 0x04, 0x6f, 0xe1, 0x5f, 0xb0, 0x78, 0x86, 0xe9, 0x89, 0xe3, 0x83, 0xc0, 0xf9, 0x16, + 0x18, 0x22, 0xbb, 0x52, 0x87, 0x03, 0x48, 0xab, 0x65, 0xc1, 0xc1, 0x28, 0xd3, 0xad, 0x90, 0x0d, + 0xf0, 0x62, 0x84, 0xb2, 0xf1, 0x94, 0x10, 0xd5, 0x14, 0xa4, 0x0d, 0x5c, 0x2c, 0x72, 0x45, 0xa6, + 0xb2, 0xab, 0x40, 0xe3, 0xd2, 0x04, 0xe1, 0x70, 0x4b, 0xb7, 0x01, 0x36, 0x77, 0x24, 0xda, 0xf9, + 0x38, 0xf9, 0x5c, 0x41, 0xb3, 0x82, 0x99, 0xb4, 0xe5, 0x3e, 0x65, 0x9d, 0x91, 0x46, 0xd9, 0x67, + 0x15, 0x5b, 0xa8, 0x8d, 0x50, 0x84, 0x56, 0xbf, 0xc7, 0xbf, 0x35, 0x02, 0x10, 0x76, 0xcc, 0xfa, + 0x46, 0x0c, 0xb5, 0x06, 0xb6, 0x0d, 0xaa, 0x4b, 0xd1, 0x15, 0x76, 0x69, 0xb7, 0x00, 0x16, 0x8b, + 0x3e, 0x0c, 0x0a, 0x41, 0x64, 0x8e, 0xd4, 0x40, 0x0c, 0x73, 0x4a, 0xeb, 0xf9, 0xe9, 0x80, 0xfc, + 0x6e, 0xd3, 0x52, 0xcb, 0x75, 0x92, 0x78, 0xe4, 0x39, 0x9b, 0x0a, 0x43, 0xbd, 0x53, 0xff, 0xc9, + 0xf9, 0x49, 0x36, 0x01, 0x55, 0x77, 0x60, 0x00, 0x4e, 0x78, 0x39, 0xd0, 0x75, 0x42, 0x72, 0xde, + 0x02, 0x88, 0xfd, 0xbc, 0x7d, 0xda, 0x82, 0x7a, 0x4a, 0x1c, 0x19, 0x38, 0xe4, 0x89, 0xf5, 0x0d, + 0xc8, 0xa4, 0xf6, 0xf3, 0xb5, 0x99, 0x0d, 0xf0, 0x4e, 0xd9, 0x9b, 0x31, 0xdf, 0x15, 0x3d, 0x60, + 0x9e, 0x6a, 0x20, 0xcc, 0x22, 0x21, 0xe7, 0x30, 0xa1, 0xe4, 0x70, 0x47, 0x77, 0xa1, 0xd2, 0x9f, + 0x96, 0xcb, 0x84, 0xf5, 0x34, 0x39, 0x00, 0xfe, 0x1a, 0xb8, 0xb7, 0xda, 0x9b, 0xa3, 0x3f, 0xb8, + 0x4c, 0x2c, 0x60, 0xbc, 0xf1, 0x7d, 0x8e, 0xfb, 0x9a, 0xa2, 0x76, 0x0c, 0x6c, 0x27, 0x19, 0xeb, + 0xe4, 0x6f, 0x8a, 0x28, 0xaf, 0x39, 0x40, 0xee, 0x4a, 0x26, 0xa8, 0x9d, 0x9c, 0x63, 0x57, 0x7e, + 0xbc, 0x6e, 0x13, 0xeb, 0x7c, 0xc5, 0x43, 0x8b, 0x23, 0x41, 0x04, 0x56, 0xb3, 0x2a, 0x64, 0xe1, + 0x3c, 0x81, 0x4a, 0x36, 0x83, 0x3f, 0xa2, 0x39, 0xe9, 0x02, 0xc6, 0x18, 0xfb, 0x14, 0x96, 0x0e, + 0x31, 0x8e, 0xb2, 0xb9, 0xd1, 0xf8, 0x51, 0x1a, 0x68, 0xb4, 0xc6, 0x3a, 0xd4, 0x62, 0x69, 0xb0, + 0xcd, 0x32, 0x9a, 0x4e, 0x14, 0xeb, 0xf7, 0x17, 0xba, 0xcc, 0x9f, 0xb6, 0xa7, 0x4d, 0x6f, 0x2a, + 0x4d, 0x24, 0xdc, 0xd7, 0x09, 0xdc, 0xc6, 0x30, 0x10, 0x64, 0x75, 0xee, 0xe8, 0x27, 0xed, 0xdb, + 0x7e, 0x41, 0x21, 0xea, 0x81, 0x4d, 0x15, 0x87, 0xe5, 0x2c, 0xd5, 0x9f, 0x8f, 0x52, 0x5f, 0x01, + 0x6a, 0x6c, 0x21, 0xaa, 0xc3, 0xc1, 0x32, 0x15, 0x99, 0x5a, 0xf2, 0x37, 0xfd, 0xe6, 0x20, 0x27, + 0x25, 0x00, 0x7e, 0x22, 0xee, 0xde, 0x5a, 0xc9, 0x97, 0xbb, 0x85, 0x10, 0x43, 0x8d, 0x26, 0x62, + 0x22, 0xeb, 0xad, 0xd6, 0xef, 0x9e, 0xbb, 0x93, 0xa8, 0xcf, 0x6a, 0x22, 0xe1, 0x61, 0x37, 0xd7, + 0x44, 0x2e, 0x52, 0xbf, 0x24, 0xa3, 0xa5, 0x1e, 0xfd, 0xea, 0xf4, 0x67, 0xec, 0x0b, 0x63, 0x7b, + 0xa0, 0x0e, 0x8c, 0x76, 0x49, 0xdb, 0xa2, 0x55, 0x4d, 0x90, 0xb8, 0xba, 0x96, 0x93, 0x85, 0xc1, + 0x17, 0xfe, 0xa7, 0x78, 0x58, 0x18, 0x47, 0x8d, 0x11, 0x74, 0x30, 0x49, 0x60, 0xd3, 0xce, 0xab, + 0x8f, 0x1d, 0x24, 0x13, 0x9d, 0x88, 0xd6, 0x97, 0x20, 0x6e, 0x81, 0x0a, 0x33, 0xf6, 0x2c, 0x6c, + 0x65, 0xdb, 0x47, 0x65, 0xc8, 0x6e, 0x2b, 0xf1, 0xd5, 0xe1, 0x86, 0xbf, 0xf8, 0x03, 0x8c, 0x41, + 0x3d, 0x5a, 0xe3, 0x9f, 0x02, 0xf0, 0x5d, 0x1c, 0xde, 0x79, 0x75, 0x1e, 0x57, 0xa0, 0xba, 0x4e, + 0x2e, 0xa6, 0x07, 0x5b, 0x53, 0xc9, 0x17, 0x89, 0x96, 0x4c, 0x2f, 0x6d, 0x53, 0x10, 0xbd, 0xad, + 0x9e, 0x12, 0xbb, 0xad, 0xb2, 0x2c, 0x66, 0x64, 0x35, 0x85, 0x91, 0xc7, 0xf0, 0x1f, 0x20, 0x5d, + 0xb0, 0x4a, 0x1d, 0x01, 0x27, 0x77, 0xb4, 0x17, 0x1c, 0xda, 0xc7, 0x3f, 0xb0, 0xa4, 0x03, 0x40, + 0x77, 0xdd, 0xef, 0xe2, 0x95, 0xd5, 0x03, 0xb0, 0x0d, 0x2e, 0x97, 0x8f, 0x86, 0x9e, 0x36, 0xfe, + 0x40, 0x68, 0xf8, 0xe9, 0x08, 0x83, 0xcb, 0x9d, 0xfb, 0xb4, 0x47, 0x92, 0xe1, 0xf7, 0xf7, 0x75, + 0x0e, 0x00, 0x28, 0x54, 0x80, 0xea, 0x1c, 0xe6, 0x35, 0x1d, 0x05, 0x8f, 0x41, 0xb8, 0xba, 0x28, + 0x0e, 0x27, 0x44, 0xe8, 0x9f, 0x17, 0x5d, 0x93, 0xac, 0x2e, 0x5f, 0x6e, 0x84, 0x0e, 0x8f, 0xa3, + 0xa7, 0x28, 0x5f, 0x08, 0xeb, 0x30, 0x5b, 0x15, 0x15, 0x81, 0x9c, 0x19, 0x25, 0xd6, 0xbd, 0x1f, + 0x40, 0x77, 0x71, 0x73, 0xab, 0x9b, 0xb7, 0x8f, 0x6d, 0x4c, 0x1c, 0x95, 0xbc, 0xef, 0xa2, 0x03, + 0x55, 0xdb, 0x71, 0x85, 0xf1, 0x48, 0x71, 0xea, 0x71, 0xc6, 0x93, 0x67, 0x62, 0xe2, 0x64, 0x71, + 0x16, 0xf1, 0x01, 0x96, 0x21, 0xf0, 0xb8, 0x77, 0x0f, 0x11, 0xfe, 0x8d, 0xf1, 0xfb, 0xd5, 0x49, + 0xdc, 0xe0, 0x1c, 0xa6, 0xbf, 0x09, 0xa0, 0x82, 0xfc, 0x1f, 0xae, 0x9a, 0x7e, 0xf6, 0x7f, 0x24, + 0x9f, 0x5b, 0x21, 0x6d, 0x99, 0x66, 0xb7, 0x43, 0x85, 0x2e, 0x4a, 0xda, 0x20, 0xa5, 0xe5, 0xaa, + 0x4c, 0xe6, 0x3c, 0x1a, 0x93, 0xb1, 0xfb, 0x27, 0x36, 0x47, 0x34, 0x23, 0xdb, 0xff, 0x2e, 0x57, + 0x04, 0xe9, 0xa7, 0xcf, 0x3d, 0x17, 0x0b, 0x58, 0xe6, 0x8a, 0x84, 0x96, 0x74, 0x24, 0xe1, 0xea, + 0x37, 0xe3, 0xa1, 0xb6, 0xb7, 0x20, 0x19, 0x6a, 0x17, 0x3e, 0x30, 0x4a, 0xa1, 0xf4, 0x71, 0xb2, + 0xa3, 0x5a, 0x6f, 0x25, 0x6c, 0xd3, 0x57, 0xdf, 0x36, 0xdc, 0x6c, 0xf7, 0x7b, 0x15, 0x6c, 0x44, + 0x2d, 0x41, 0xce, 0x4b, 0x06, 0x69, 0x71, 0x6b, 0x5b, 0x53, 0x85, 0xb0, 0xab, 0xc9, 0x91, 0x43, + 0x8c, 0x4e, 0x0e, 0x01, 0xab, 0x8e, 0x79, 0x36, 0x46, 0x27, 0x5c, 0xd5, 0x9a, 0x9f, 0xef, 0xd8, + 0x73, 0x30, 0xc0, 0x6a, 0x1f, 0x75, 0xc6, 0xdc, 0xe4, 0x11, 0x4f, 0xee, 0xa0, 0xf7, 0x9f, 0xc9, + 0x07, 0x6b, 0x83, 0xd3, 0x66, 0x3d, 0x71, 0x3e, 0xea, 0x32, 0x23, 0x15, 0xb2, 0x0e, 0x80, 0x2e, + 0x4b, 0xc1, 0x11, 0x23, 0x3a, 0x3a, 0x9d, 0xe0, 0x3b, 0xfb, 0x2a, 0x7a, 0xa2, 0x64, 0x9b, 0xca, + 0x6c, 0x67, 0xf8, 0x01, 0x2e, 0x83, 0xec, 0xec, 0xdf, 0x65, 0xcf, 0x57, 0xb3, 0x96, 0x24, 0x28, + 0xd9, 0x9f, 0xaf, 0x8e, 0x05, 0x35, 0x62, 0xa7, 0xa7, 0x21, 0x79, 0x44, 0x4f, 0x7f, 0xb2, 0xbf, + 0xec, 0x33, 0xb8, 0xc4, 0x45, 0x7c, 0xfc, 0x27, 0xf3, 0x5a, 0x02, 0xad, 0x1c, 0xeb, 0xc7, 0x85, + 0x10, 0xec, 0x1c, 0xf7, 0x81, 0x9f, 0xd1, 0x5f, 0x63, 0xbb, 0xb2, 0x01, 0x7f, 0x18, 0xbc, 0x51, + 0x96, 0x7f, 0xee, 0x2d, 0x02, 0x30, 0x72, 0x5a, 0x91, 0xf6, 0x6c, 0xdc, 0xd1, 0x3f, 0x10, 0xeb, + 0x64, 0x61, 0x70, 0xf9, 0x15, 0x14, 0x2c, 0xa4, 0x65, 0x67, 0xa5, 0x20, 0xf7, 0xd0, 0x7d, 0xf9, + 0x3f, 0x5f, 0x59, 0xfd, 0x5d, 0x8a, 0x47, 0x8d, 0x0e, 0xae, 0x02, 0xeb, 0x7a, 0x43, 0x19, 0xa5, + 0x02, 0x29, 0xbc, 0xcb, 0xac, 0x9d, 0xf6, 0x58, 0xb1, 0xbf, 0xe8, 0xde, 0x16, 0x0e, 0xec, 0x77, + 0xe2, 0x1a, 0x5a, 0x98, 0x08, 0xac, 0x37, 0xe6, 0x40, 0xb4, 0x9f, 0x1a, 0x0e, 0xa5, 0x34, 0x07, + 0x32, 0xda, 0x55, 0x00, 0xac, 0xdd, 0xbc, 0xbf, 0xe4, 0xc8, 0x2e, 0x30, 0xef, 0x30, 0x4a, 0x9d, + 0xca, 0x8e, 0xe0, 0xf5, 0x58, 0x07, 0x8f, 0x63, 0x98, 0x35, 0x92, 0x64, 0x81, 0xa8, 0x5c, 0x77, + 0x6e, 0xa4, 0xc6, 0x8a, 0x46, 0xba, 0x44, 0xc8, 0xd5, 0x36, 0x2c, 0xea, 0x74, 0x49, 0x87, 0x82, + 0x11, 0x52, 0x0f, 0x70, 0x72, 0x6e, 0x86, 0x50, 0x93, 0x99, 0xb3, 0x8f, 0xc1, 0x71, 0xdc, 0xf3, + 0x2c, 0xa5, 0x02, 0x08, 0x27, 0xa5, 0x95, 0xdd, 0xb7, 0x6f, 0xe9, 0x2a, 0xf4, 0xeb, 0xbc, 0x6b, + 0xbf, 0xb1, 0x8a, 0x04, 0x65, 0xdc, 0xf0, 0xc0, 0xee, 0x08, 0xcf, 0xb8, 0x98, 0x9f, 0xe5, 0x6e, + 0x9a, 0x8c, 0x72, 0x2e, 0x39, 0x58, 0x61, 0x5f, 0x4d, 0x62, 0xb2, 0xf1, 0x36, 0xfa, 0x45, 0xe4, + 0x98, 0xeb, 0x75, 0xa6, 0x4c, 0x38, 0x72, 0x4a, 0xec, 0xe8, 0x30, 0x2d, 0xf1, 0x6b, 0x7b, 0x8d, + 0x53, 0x4a, 0xd7, 0xcc, 0xf1, 0x00, 0x76, 0x34, 0x00, 0x08, 0x11, 0x88, 0x95, 0xce, 0x7c, 0x3c, + 0xaf, 0x77, 0xfa, 0x25, 0x4b, 0xb0, 0x66, 0x8f, 0xbe, 0xc0, 0xd9, 0x7a, 0xfb, 0x5c, 0x04, 0xef, + 0xbf, 0x0f, 0x4b, 0x6a, 0x55, 0xaa, 0x03, 0xee, 0x96, 0x5d, 0x16, 0x74, 0x67, 0x50, 0x60, 0xcb, + 0x1e, 0xe0, 0x44, 0xd3, 0xf8, 0x0b, 0xa6, 0x67, 0xc3, 0x7c, 0x27, 0xe5, 0x2c, 0xa4, 0x72, 0xd5, + 0x29, 0x6b, 0x1d, 0xa1, 0x0e, 0xd1, 0x42, 0x7e, 0xe9, 0x30, 0x6e, 0xb9, 0xf5, 0xcf, 0x5b, 0xe1, + 0xd1, 0x33, 0x92, 0x2a, 0xf4, 0xbe, 0x50, 0x06, 0x94, 0x29, 0x4f, 0x60, 0x12, 0x8e, 0x21, 0x1f, + 0x70, 0x41, 0xe9, 0xc0, 0x4a, 0x10, 0xd4, 0x0a, 0xb6, 0xc3, 0xf9, 0x16, 0xfb, 0xf2, 0x54, 0xe0, + 0x84, 0x54, 0xe0, 0xe7, 0x8a, 0xeb, 0x0d, 0x79, 0xa3, 0x6c, 0xf8, 0x1c, 0x19, 0x2f, 0xae, 0xc8, + 0xa8, 0xeb, 0xb4, 0xca, 0x0e, 0xf8, 0x71, 0x45, 0x78, 0x60, 0x9d, 0xa9, 0x89, 0x7c, 0x01, 0x10, + 0xa1, 0x06, 0x88, 0x78, 0x7e, 0x85, 0xba, 0xe0, 0x45, 0x18, 0x6a, 0xe8, 0x5c, 0xfa, 0x83, 0xb7, + 0xbb, 0xb6, 0x2f, 0x2d, 0x1f, 0x8b, 0x22, 0x9c, 0x14, 0x86, 0x03, 0x19, 0x84, 0x03, 0xda, 0x48, + 0x23, 0x67, 0xfd, 0x2a, 0x6a, 0x9b, 0x6b, 0x7e, 0x85, 0xd7, 0x83, 0x3b, 0x2a, 0x82, 0xf7, 0x69, + 0x36, 0xfc, 0x6a, 0x49, 0x44, 0x17, 0xf8, 0x72, 0xcc, 0x83, 0x3c, 0xb3, 0x0d, 0x94, 0x9b, 0xd0, + 0x4d, 0x80, 0x22, 0x57, 0xe6, 0xea, 0x3a, 0x8f, 0x46, 0x08, 0x4c, 0x12, 0x5e, 0x1a, 0xb2, 0x3f, + 0xbb, 0x6d, 0xd4, 0x03, 0x14, 0xfa, 0x47, 0x17, 0x6c, 0x58, 0x65, 0x17, 0x7f, 0x90, 0x81, 0x01, + 0x5c, 0xc8, 0x15, 0x46, 0x53, 0x14, 0xc8, 0xa3, 0xc6, 0xfe, 0x5d, 0x59, 0x29, 0x7b, 0x87, 0x6d, + 0xc7, 0x1a, 0x1d, 0x07, 0x14, 0x7e, 0xa8, 0x83, 0x8b, 0x27, 0x75, 0x2e, 0x9e, 0xe5, 0x2d, 0x79, + 0x1e, 0xcc, 0xc7, 0x84, 0x26, 0x63, 0x4e, 0x92, 0x32, 0x69, 0x6f, 0x47, 0xb8, 0x9d, 0x6b, 0x70, + 0xc9, 0x9e, 0xd4, 0xda, 0xac, 0x0d, 0x86, 0xcb, 0x8c, 0x01, 0x8a, 0xb2, 0x99, 0x68, 0xc4, 0x05, + 0x3d, 0x87, 0x8a, 0x15, 0x39, 0x8a, 0x13, 0x3f, 0x99, 0xf6, 0x19, 0x43, 0x82, 0x13, 0x2b, 0xdc, + 0x80, 0x9e, 0x6e, 0xb2, 0x1a, 0xa1, 0xbc, 0x85, 0xf6, 0xa6, 0x76, 0xfd, 0x92, 0x96, 0x1a, 0xe7, + 0x15, 0x07, 0xd1, 0x6a, 0x2a, 0x14, 0x67, 0x16, 0x45, 0x98, 0x3d, 0x04, 0x7d, 0x0e, 0xb2, 0x79, + 0xd3, 0x51, 0x85, 0x4f, 0x42, 0xdb, 0xbf, 0xca, 0x13, 0xa1, 0x20, 0x52, 0x14, 0x3a, 0x27, 0x47, + 0x3e, 0xc3, 0x7e, 0xf2, 0xb0, 0xb0, 0xc7, 0xdb, 0x1e, 0x22, 0x39, 0x1d, 0x49, 0x88, 0x57, 0x5b, + 0xfa, 0x5a, 0xa7, 0x6b, 0x51, 0xca, 0xff, 0x14, 0x18, 0x47, 0x67, 0x3a, 0x10, 0x0d, 0x3b, 0x50, + 0x96, 0xa6, 0x66, 0x2b, 0xe1, 0xee, 0x19, 0xc6, 0xd4, 0x73, 0x37, 0x4a, 0x6f, 0x71, 0x0f, 0x75, + 0xd6, 0x71, 0xff, 0xf8, 0x8c, 0x11, 0x75, 0xef, 0x1f, 0xe4, 0x25, 0xc2, 0x2b, 0x38, 0x8a, 0xce, + 0xde, 0xee, 0x36, 0x3f, 0xab, 0xd0, 0xa0, 0x81, 0xb4, 0xfe, 0x1d, 0xe8, 0xfc, 0x57, 0xf0, 0x03, + 0x10, 0x73, 0x98, 0x87, 0x81, 0x73, 0x93, 0x43, 0xad, 0xac, 0xa1, 0xf2, 0x1c, 0x7e, 0x0a, 0x7b, + 0x29, 0xe9, 0xf6, 0xb5, 0xe9, 0x68, 0x92, 0x81, 0x63, 0x35, 0x4c, 0x4b, 0xe0, 0x42, 0x13, 0xb3, + 0x48, 0x2d, 0x55, 0x18, 0x2e, 0xea, 0x33, 0xfa, 0xc0, 0xdb, 0x3d, 0x14, 0x67, 0x94, 0x6b, 0x7c, + 0xdd, 0x7e, 0x00, 0xe3, 0x6f, 0x56, 0x29, 0x0f, 0x35, 0xfd, 0x19, 0xa6, 0xa1, 0x6b, 0xd4, 0x3e, + 0x3d, 0x06, 0xc9, 0x84, 0x95, 0xa6, 0xca, 0x5a, 0xf8, 0x0e, 0x22, 0xa3, 0x23, 0x52, 0xd7, 0xbc, + 0x34, 0xa7, 0xe8, 0xb3, 0xea, 0xa7, 0x2f, 0x3d, 0x51, 0x2d, 0x76, 0x9f, 0x25, 0xf8, 0x4c, 0x86, + 0x5a, 0x79, 0xb7, 0x5a, 0x76, 0x15, 0x9c, 0x05, 0x8d, 0xdd, 0x1e, 0x00, 0xe3, 0xfa, 0xc2, 0xf7, + 0x45, 0xb9, 0xa6, 0x0c, 0x83, 0x94, 0x71, 0xc7, 0x23, 0x59, 0x24, 0x9f, 0xad, 0xf6, 0xb6, 0x04, + 0x77, 0x26, 0x33, 0xea, 0xa8, 0xec, 0xe7, 0x87, 0x75, 0x31, 0x0f, 0x41, 0x43, 0x2b, 0xe2, 0x38, + 0xe7, 0xcd, 0x1f, 0xd3, 0xb6, 0xe4, 0x56, 0x56, 0x8e, 0x36, 0xb8, 0x28, 0xf2, 0xb4, 0x92, 0xcf, + 0x49, 0x6d, 0x75, 0x31, 0x38, 0x9d, 0x68, 0x88, 0x73, 0x10, 0x35, 0x1a, 0x50, 0x76, 0xb1, 0x94, + 0xb8, 0x86, 0xd1, 0x74, 0x9d, 0xf4, 0x05, 0x34, 0xf5, 0x91, 0x4c, 0xd5, 0x45, 0x50, 0xbb, 0xf4, + 0x1f, 0x68, 0x66, 0x99, 0x17, 0x19, 0x7c, 0x8b, 0x0e, 0xa9, 0x49, 0xd7, 0x3a, 0xbb, 0x06, 0x4e, + 0x90, 0x2a, 0xb3, 0x7e, 0xc1, 0x64, 0xd4, 0xb3, 0xac, 0xac, 0x46, 0x47, 0x19, 0x8f, 0x78, 0x01, + 0x7a, 0xcf, 0x7b, 0xf6, 0x65, 0x32, 0x15, 0x28, 0x66, 0x78, 0xf5, 0x4c, 0x62, 0xa9, 0x48, 0xfc, + 0x9a, 0x36, 0x9e, 0xaf, 0x60, 0xb0, 0xde, 0xd6, 0xb4, 0xe5, 0xaa, 0xa7, 0x08, 0x93, 0xa0, 0x42, + 0xcb, 0x9c, 0x1f, 0xe4, 0xfd, 0xa0, 0x54, 0xe5, 0xa4, 0x43, 0x1a, 0x80, 0x02, 0x0b, 0x4b, 0xd8, + 0x8b, 0xd7, 0xf4, 0x5a, 0x8f, 0x73, 0x07, 0x55, 0x43, 0x04, 0x09, 0xcc, 0x2d, 0xc3, 0x96, 0x8f, + 0xa4, 0xea, 0x84, 0x19, 0x98, 0x83, 0xc9, 0x93, 0xae, 0x66, 0x90, 0xff, 0x87, 0xb2, 0x81, 0xbe, + 0x3b, 0x6c, 0x24, 0xe6, 0x18, 0xe1, 0x52, 0x19, 0x0e, 0x27, 0x76, 0xff, 0xb3, 0x7c, 0x63, 0xb1, + 0x60, 0x6b, 0x7f, 0x61, 0xcc, 0xc9, 0x99, 0x59, 0xbd, 0x94, 0x19, 0xe3, 0xb8, 0xe4, 0x25, 0x9b, + 0x2b, 0x80, 0xdf, 0x2c, 0xb1, 0xf2, 0xb6, 0xe8, 0x33, 0x3e, 0x4c, 0x44, 0xa5, 0x58, 0x50, 0xb4, + 0xa3, 0xef, 0x19, 0xad, 0x38, 0x9c, 0x07, 0xf6, 0x8f, 0xa0, 0x54, 0xd4, 0x39, 0x74, 0x25, 0xed, + 0x88, 0x4d, 0x8f, 0x65, 0x29, 0xb9, 0xca, 0xa5, 0x98, 0x69, 0xb8, 0x5f, 0xf4, 0x33, 0x67, 0xff, + 0x49, 0x8e, 0x36, 0xe0, 0x1f, 0x9b, 0xdf, 0x16, 0x5b, 0x8d, 0xaa, 0xc4, 0x0b, 0xe0, 0x33, 0xc4, + 0x0a, 0xb9, 0xce, 0x84, 0xf6, 0x9d, 0x51, 0xeb, 0xa1, 0xe8, 0xab, 0xaa, 0xe8, 0xe0, 0xec, 0x21, + 0x6e, 0xed, 0x44, 0x21, 0xd6, 0x1f, 0x0d, 0x28, 0xe3, 0x96, 0xde, 0xa7, 0x3a, 0x8a, 0x7a, 0x06, + 0x84, 0x06, 0x18, 0x68, 0xa6, 0xa3, 0x14, 0xf4, 0x57, 0xa4, 0x7e, 0xea, 0x09, 0xc7, 0x19, 0x73, + 0xb2, 0x1f, 0xde, 0xd4, 0x18, 0x4a, 0x49, 0x7b, 0xd7, 0x08, 0x81, 0x8d, 0x34, 0xaf, 0x7a, 0xbe, + 0x6b, 0x54, 0x42, 0x57, 0x71, 0x19, 0x1e, 0x1f, 0x9e, 0x67, 0xaf, 0x0f, 0x80, 0x73, 0x7a, 0x9d, + 0x68, 0x57, 0x73, 0x0d, 0xf5, 0xb1, 0xfb, 0x51, 0xa5, 0xa6, 0xc8, 0x2b, 0xd7, 0xb4, 0x66, 0x44, + 0x58, 0xfe, 0xd2, 0x97, 0xbb, 0xbd, 0x28, 0x83, 0xc7, 0xc6, 0x6b, 0x77, 0x4a, 0x2f, 0xdb, 0xaf, + 0x19, 0x67, 0xcf, 0xb4, 0x0b, 0x65, 0xd9, 0x35, 0xe0, 0x26, 0x57, 0xae, 0xd3, 0x29, 0x4b, 0xf4, + 0x95, 0xe6, 0xb6, 0xa1, 0xf3, 0xcb, 0xc3, 0x14, 0x3c, 0xaa, 0x26, 0x04, 0x2a, 0x7f, 0x68, 0x44, + 0x0d, 0x8f, 0x3a, 0xfc, 0x6a, 0x6a, 0x3d, 0xed, 0x21, 0xf2, 0x36, 0x32, 0xe4, 0x74, 0xec, 0xa1, + 0x5f, 0xff, 0xad, 0x92, 0x00, 0xf1, 0x99, 0xb9, 0xb9, 0x1e, 0xab, 0x25, 0xdd, 0xef, 0x17, 0xf9, + 0x63, 0xed, 0xe5, 0xb9, 0x0a, 0x50, 0xb0, 0xca, 0x1c, 0xff, 0xb3, 0x26, 0xf6, 0x33, 0x12, 0xc4, + 0x78, 0x63, 0xac, 0xc5, 0x95, 0x4c, 0x3b, 0x77, 0x64, 0x00, 0x61, 0x2d, 0xd9, 0xed, 0xc9, 0xe0, + 0x5c, 0x34, 0xa9, 0x78, 0xa7, 0xeb, 0x7e, 0x8a, 0x29, 0xce, 0x06, 0x0e, 0x9e, 0xbf, 0xbf, 0x95, + 0x15, 0x2d, 0xd4, 0x20, 0xe8, 0x3c, 0x63, 0x38, 0x41, 0xd2, 0x3d, 0xb3, 0x07, 0x9e, 0xe1, 0x01, + 0x91, 0xf5, 0x92, 0x52, 0xc8, 0x2b, 0xec, 0xe6, 0xdb, 0x44, 0x75, 0x96, 0xe6, 0xda, 0xc3, 0x72, + 0x3d, 0xcc, 0x15, 0xff, 0xfc, 0x93, 0x75, 0xf9, 0x85, 0x02, 0x7d, 0x96, 0x32, 0x3d, 0xc0, 0xac, + 0xe5, 0x62, 0xe6, 0x98, 0x97, 0x1d, 0x83, 0xe5, 0x89, 0x95, 0x76, 0x86, 0x11, 0x44, 0x0e, 0xcf, + 0x32, 0xc5, 0xbc, 0x32, 0x97, 0xaf, 0x52, 0x7e, 0x06, 0xe9, 0x7e, 0x4c, 0x12, 0xa2, 0x85, 0xda, + 0x5a, 0x45, 0x35, 0xb6, 0x25, 0xfe, 0x91, 0x2c, 0x21, 0xb6, 0x02, 0xb4, 0x1d, 0x7c, 0x7c, 0xd2, + 0x30, 0x6f, 0xae, 0x09, 0xdd, 0x24, 0x9b, 0x47, 0x43, 0xdb, 0x2f, 0x80, 0x6a, 0x9c, 0xbc, 0x3a, + 0x3c, 0x2a, 0xc0, 0x57, 0xcc, 0x3e, 0x17, 0xda, 0x63, 0x7f, 0x02, 0x76, 0x64, 0x52, 0xc2, 0xf4, + 0x75, 0xd1, 0xd9, 0xb9, 0x72, 0xbf, 0xa7, 0x27, 0x88, 0xd1, 0x47, 0x93, 0x3b, 0x4e, 0xe1, 0x42, + 0x37, 0x60, 0xe5, 0x8e, 0x73, 0xeb, 0xf8, 0xf8, 0x1a, 0x28, 0x42, 0x10, 0x53, 0x34, 0xfe, 0xe0, + 0x8e, 0x80, 0x7b, 0x83, 0xac, 0x4f, 0xaa, 0xea, 0xe5, 0xbf, 0x4f, 0x6d, 0xc4, 0x26, 0x5a, 0x9f, + 0x06, 0x2e, 0xde, 0x11, 0x45, 0x10, 0xc1, 0x4c, 0x4d, 0x20, 0x1d, 0x47, 0x02, 0x71, 0xb5, 0x37, + 0xdc, 0xf8, 0xa1, 0x4c, 0xfa, 0x06, 0xb7, 0x4a, 0x4b, 0x86, 0xd8, 0x24, 0x7a, 0x09, 0x93, 0x14, + 0xa7, 0x24, 0x7e, 0x0b, 0x4a, 0xd3, 0xd2, 0x71, 0x2a, 0x9f, 0x9c, 0xdf, 0xeb, 0x20, 0xd2, 0x44, + 0x93, 0xfb, 0xc6, 0xc6, 0x09, 0xef, 0x99, 0xea, 0x0c, 0x05, 0xb0, 0x39, 0xb8, 0xb2, 0xea, 0x21, + 0x18, 0x46, 0x7d, 0x0f, 0x8b, 0xdc, 0xa3, 0xd4, 0xc8, 0xb6, 0xcb, 0xe9, 0x73, 0xa9, 0xc5, 0x02, + 0x29, 0x6e, 0x01, 0x82, 0xd4, 0x3e, 0x3c, 0x16, 0x7c, 0xd8, 0x36, 0x83, 0x47, 0x82, 0xf2, 0x63, + 0x3a, 0xda, 0x46, 0x24, 0x09, 0x7b, 0x78, 0x47, 0x73, 0xe7, 0xbf, 0xcc, 0xb1, 0xbd, 0xf4, 0x5c, + 0xe9, 0xed, 0xa6, 0x14, 0xe7, 0x8f, 0x93, 0xa9, 0x24, 0xeb, 0xb6, 0xb3, 0xdc, 0x36, 0xad, 0x94, + 0x37, 0x56, 0x93, 0xd7, 0xbc, 0x7b, 0xa7, 0xb9, 0x93, 0xd8, 0x7a, 0x63, 0x85, 0x6c, 0x3c, 0xe1, + 0x35, 0x9a, 0x03, 0xb2, 0xab, 0x35, 0xb3, 0x96, 0x00, 0x44, 0x3a, 0xe7, 0x0f, 0x1b, 0x56, 0xe0, + 0xe4, 0xf1, 0x02, 0x1c, 0x92, 0xb6, 0x7c, 0xdd, 0x46, 0x8c, 0x1e, 0x00, 0xfc, 0x7f, 0x2e, 0xe5, + 0x6b, 0x44, 0xb6, 0xe5, 0x1e, 0xa4, 0x99, 0x2e, 0x3e, 0xcf, 0xb1, 0x6b, 0x24, 0x84, 0xc2, 0x4d, + 0x44, 0xfc, 0x38, 0xa9, 0xbb, 0xce, 0x71, 0x10, 0x06, 0x14, 0x94, 0x93, 0x7c, 0x55, 0xa3, 0xc6, + 0xb0, 0x77, 0xe1, 0x4e, 0xcf, 0x63, 0x96, 0x37, 0x0e, 0x0f, 0xc9, 0xb2, 0x77, 0xa7, 0x6e, 0xc7, + 0x05, 0xc9, 0xb2, 0x63, 0x11, 0x06, 0x2b, 0x51, 0xa8, 0x3b, 0x19, 0x92, 0x71, 0x95, 0x26, 0xbd, + 0xec, 0xcc, 0x77, 0x67, 0x03, 0x72, 0x5b, 0x4c, 0x1e, 0xad, 0x1a, 0x6f, 0x85, 0x33, 0xa1, 0xc1, + 0x7c, 0xc4, 0x39, 0x3d, 0x8a, 0xbc, 0xf1, 0x74, 0xc8, 0x02, 0x8b, 0xca, 0x0a, 0x46, 0x58, 0xbf, + 0x1a, 0x1a, 0x2d, 0x33, 0xcc, 0x28, 0x91, 0xaf, 0x4e, 0xff, 0x46, 0x0b, 0xf0, 0x23, 0x29, 0x56, + 0x89, 0xf5, 0xda, 0xc0, 0x78, 0x3c, 0xf8, 0x72, 0xc3, 0x37, 0xe1, 0x21, 0x4e, 0xcf, 0xab, 0x16, + 0xcf, 0x0c, 0xbc, 0x67, 0xa6, 0x6e, 0x32, 0xa2, 0xbb, 0xfc, 0x93, 0x28, 0x40, 0x5d, 0x9f, 0x99, + 0xf1, 0x9c, 0x14, 0xa6, 0x8d, 0x68, 0xc6, 0x21, 0x3c, 0x48, 0x40, 0x8a, 0x4b, 0xca, 0x24, 0x4c, + 0xae, 0x69, 0x72, 0xcb, 0xb1, 0x53, 0xfe, 0xd1, 0xb0, 0x9e, 0x74, 0x9b, 0xc4, 0xe5, 0x78, 0xd8, + 0xb8, 0x72, 0x8d, 0x23, 0x62, 0x08, 0xa5, 0x31, 0x1b, 0x8d, 0xb0, 0xd3, 0x7c, 0xdf, 0x92, 0x94, + 0xea, 0x17, 0x48, 0xd0, 0xd7, 0x25, 0x4c, 0x1a, 0xe5, 0xad, 0x44, 0x9d, 0x20, 0x0f, 0x91, 0x89, + 0x6b, 0xe4, 0x28, 0xaf, 0x94, 0xc0, 0x12, 0x01, 0x37, 0x54, 0xe9, 0x09, 0xda, 0xa5, 0xc2, 0x80, + 0x95, 0xfa, 0xdd, 0x0b, 0x10, 0xaf, 0xf4, 0x5e, 0x2a, 0x13, 0x4c, 0xe9, 0xbe, 0xbd, 0x2d, 0xa1, + 0x80, 0x6e, 0xd9, 0x83, 0x75, 0x48, 0x6f, 0x55, 0x87, 0x8a, 0x30, 0xeb, 0x08, 0x9b, 0x0b, 0xe4, + 0x30, 0xc7, 0x24, 0x5b, 0x96, 0x7d, 0x70, 0x36, 0xa1, 0x96, 0xee, 0x04, 0x2c, 0xea, 0x7f, 0x38, + 0xa6, 0x77, 0x4b, 0xc0, 0x39, 0x7e, 0x6d, 0x6a, 0xa3, 0xfd, 0x4c, 0x0c, 0x4a, 0x06, 0xd6, 0x3a, + 0x78, 0xe1, 0xbb, 0x75, 0xb0, 0xe3, 0x9d, 0xb0, 0xa7, 0x48, 0x02, 0xae, 0x7a, 0xaa, 0xa2, 0x08, + 0x19, 0x4d, 0x4c, 0x18, 0xc7, 0xed, 0x6c, 0xc1, 0x73, 0x4a, 0x2b, 0x53, 0x75, 0x89, 0x17, 0x2f, + 0x41, 0x7c, 0x25, 0x9e, 0x40, 0x60, 0xfb, 0x63, 0x24, 0xb6, 0x4e, 0x41, 0xab, 0x5e, 0xdf, 0x2d, + 0xea, 0x9d, 0x7b, 0xf2, 0x9e, 0xcb, 0xcb, 0x1f, 0xcd, 0x9c, 0x70, 0xbe, 0x1d, 0x72, 0x64, 0x41, + 0xd6, 0xf7, 0xad, 0x53, 0x49, 0xc8, 0xec, 0xbb, 0xec, 0xeb, 0x88, 0x03, 0x92, 0x72, 0x1e, 0x98, + 0x10, 0xde, 0x25, 0x6e, 0xa4, 0xa9, 0xc1, 0x19, 0x69, 0x75, 0xde, 0x0c, 0x28, 0xf5, 0x68, 0x3a, + 0x17, 0x77, 0x9a, 0x22, 0xc4, 0x0a, 0xab, 0x39, 0xdf, 0x69, 0xa9, 0x99, 0x51, 0x92, 0x9a, 0x8c, + 0x29, 0x56, 0x77, 0xc9, 0x29, 0xb1, 0xb0, 0x2e, 0x00, 0x00, 0xe2, 0xe7, 0xb8, 0xf5, 0x96, 0xab, + 0x80, 0x41, 0xe0, 0x91, 0x2b, 0xd0, 0xe9, 0x48, 0x55, 0xf5, 0xeb, 0x7f, 0x6b, 0x1b, 0x50, 0x6d, + 0xc3, 0x50, 0x77, 0x97, 0x6d, 0x67, 0x35, 0x0b, 0xb5, 0xc0, 0x59, 0xb0, 0x74, 0x24, 0xa7, 0x1c, + 0x31, 0x92, 0x89, 0xfc, 0x51, 0xff, 0x3d, 0xbb, 0x61, 0x41, 0x0c, 0x61, 0x6c, 0xaa, 0x09, 0xaf, + 0x28, 0xb3, 0x63, 0x12, 0x8a, 0x9d, 0x22, 0xa6, 0xef, 0x4d, 0xef, 0x24, 0xa7, 0x01, 0x54, 0x19, + 0x53, 0xee, 0xdb, 0x7c, 0x7c, 0xb2, 0x9a, 0x44, 0x61, 0x74, 0x15, 0x0f, 0x2d, 0xba, 0x95, 0x60, + 0xf2, 0xa0, 0x8a, 0x81, 0x0a, 0xc7, 0xd8, 0x25, 0x81, 0x94, 0xd2, 0x5d, 0xd2, 0x69, 0xed, 0x6e, + 0xac, 0x33, 0xa5, 0x71, 0xc8, 0x1f, 0x0e, 0xef, 0x8a, 0x18, 0x30, 0x0b, 0xe4, 0xdf, 0x9b, 0xa9, + 0x63, 0x6c, 0x70, 0x8d, 0x54, 0x71, 0x61, 0x3d, 0x38, 0x3d, 0x23, 0xeb, 0xf3, 0x15, 0x18, 0xff, + 0x7d, 0xc2, 0x9a, 0x34, 0x1a, 0xf3, 0xe9, 0xf0, 0xd6, 0x95, 0x58, 0xa3, 0x5a, 0x61, 0x2a, 0x6c, + 0xee, 0x6d, 0xb3, 0x12, 0x8b, 0xc4, 0x68, 0x08, 0xf8, 0xe8, 0xa7, 0xd8, 0x76, 0xbe, 0x53, 0xd4, + 0x70, 0x46, 0x89, 0x3b, 0x52, 0x82, 0xc6, 0xe7, 0xdf, 0x6e, 0x41, 0x12, 0xc6, 0x94, 0xd8, 0xdb, + 0x7f, 0x98, 0x5f, 0xcb, 0xd4, 0x1a, 0x94, 0x58, 0xa5, 0x77, 0xa6, 0xc5, 0x1e, 0x79, 0xfd, 0x93, + 0x83, 0x7e, 0x9a, 0x82, 0xed, 0xb1, 0x24, 0xa8, 0x75, 0x11, 0xb4, 0x1f, 0x4c, 0xf2, 0x95, 0xa7, + 0x0f, 0x36, 0x9b, 0x58, 0xb3, 0x86, 0x2c, 0x11, 0x5b, 0x2a, 0x66, 0x43, 0xe9, 0x98, 0x60, 0xc9, + 0xda, 0xed, 0xdd, 0x3d, 0x5d, 0x39, 0x53, 0xf0, 0x8e, 0x50, 0x77, 0xdf, 0x8f, 0x1d, 0x15, 0x36, + 0x1d, 0x6f, 0x4c, 0x5d, 0x2e, 0xb1, 0x43, 0x35, 0x54, 0x5f, 0x44, 0xcc, 0x40, 0xc1, 0xc7, 0x24, + 0x9d, 0xdc, 0x6e, 0x3c, 0x5f, 0xf0, 0x24, 0x57, 0x18, 0xd7, 0xe5, 0x5a, 0xe2, 0xbb, 0x1f, 0x9d, + 0x22, 0xf9, 0x1a, 0x9d, 0x6d, 0x82, 0xd0, 0x1d, 0xa0, 0xb4, 0xc1, 0xb5, 0xd3, 0xb9, 0xe1, 0x34, + 0xc7, 0x63, 0xfc, 0xf0, 0x9c, 0x2a, 0x66, 0x0c, 0x30, 0xb0, 0x90, 0x9b, 0xed, 0x05, 0xdf, 0x9d, + 0x72, 0x2a, 0x16, 0x2d, 0xb2, 0x98, 0xdb, 0x41, 0x98, 0x03, 0xff, 0x0b, 0x6c, 0xa1, 0xf9, 0x45, + 0x73, 0xfc, 0xed, 0x4f, 0xfe, 0x84, 0xc2, 0x1a, 0x55, 0x7d, 0x81, 0x81, 0xf4, 0x19, 0x45, 0xdf, + 0xfb, 0x65, 0xed, 0x99, 0x4f, 0x3b, 0x70, 0x17, 0xde, 0x43, 0xb4, 0x42, 0xca, 0x0a, 0x58, 0xae, + 0xe2, 0xda, 0x95, 0x5d, 0x39, 0xe6, 0x60, 0xda, 0x87, 0xf1, 0x73, 0xf1, 0xb4, 0xc5, 0xee, 0x11, + 0xb0, 0x23, 0x93, 0x2e, 0x81, 0xc7, 0x5b, 0x06, 0x7c, 0x05, 0xa7, 0x91, 0xa7, 0xd3, 0xe1, 0xfc, + 0x0a, 0xdc, 0x62, 0xad, 0xee, 0x18, 0x5b, 0x4a, 0xfe, 0x60, 0x47, 0x7f, 0xee, 0xfb, 0x97, 0x85, + 0x59, 0xb8, 0xca, 0x93, 0x91, 0xb2, 0xcf, 0x07, 0x6e, 0x0c, 0x6a, 0x80, 0x69, 0xcb, 0xde, 0x19, + 0x7c, 0x57, 0x46, 0xc6, 0x16, 0x10, 0x7a, 0x7f, 0x48, 0xf3, 0xde, 0xe4, 0x7c, 0x2c, 0x02, 0x12, + 0xce, 0x86, 0x87, 0x3f, 0x62, 0xd5, 0xea, 0x57, 0x02, 0xcb, 0x7a, 0x05, 0xf3, 0xd1, 0x28, 0x18, + 0x4f, 0x98, 0x58, 0xe4, 0x04, 0x4d, 0xdc, 0x58, 0x40, 0x85, 0x75, 0x5e, 0x13, 0x84, 0x4c, 0x92, + 0x83, 0x59, 0xe1, 0xc1, 0x73, 0x4c, 0xfc, 0x4d, 0x7e, 0xda, 0x13, 0xa1, 0xfe, 0xea, 0xaa, 0xde, + 0x93, 0xb2, 0x1b, 0x2a, 0x6f, 0x58, 0x82, 0x67, 0xed, 0x4f, 0xde, 0x4a, 0xdf, 0x7b, 0x1d, 0x22, + 0x8d, 0xc3, 0xa7, 0xa4, 0x68, 0x78, 0x8a, 0x13, 0xbe, 0x5a, 0xb4, 0xd4, 0x01, 0xdb, 0x0c, 0x23, + 0xf7, 0x52, 0xd6, 0x6c, 0xdc, 0x40, 0xcf, 0xc0, 0xb2, 0x83, 0x09, 0x3b, 0xee, 0xa5, 0x12, 0xae, + 0x54, 0x59, 0x21, 0xda, 0x3d, 0x8f, 0x57, 0x8f, 0x82, 0xa9, 0xf8, 0x6d, 0x76, 0x51, 0x33, 0x53, + 0xfe, 0x55, 0x6f, 0x3b, 0x36, 0x94, 0x34, 0x6d, 0xaf, 0x2a, 0x03, 0x42, 0x55, 0x6b, 0xaf, 0x7c, + 0x78, 0x84, 0xa3, 0x87, 0x20, 0x0c, 0x1a, 0x76, 0xd7, 0xeb, 0x4a, 0xfe, 0x40, 0x4d, 0xa6, 0x1d, + 0x62, 0x42, 0x1a, 0x31, 0x01, 0x16, 0xef, 0xae, 0xd2, 0xe2, 0xc6, 0x88, 0x55, 0x38, 0x88, 0xec, + 0x40, 0xf2, 0x3e, 0x53, 0xc8, 0x2e, 0x33, 0x94, 0xcb, 0x5c, 0x5f, 0x10, 0x24, 0xde, 0x48, 0x4c, + 0x2f, 0xa4, 0x0a, 0xb0, 0xea, 0x09, 0x3e, 0x61, 0x1c, 0x1d, 0xce, 0xdb, 0x53, 0x84, 0xd4, 0xe4, + 0x67, 0x33, 0xfb, 0xa2, 0xfe, 0xe5, 0x45, 0x51, 0x69, 0x80, 0x1d, 0x14, 0xe8, 0x50, 0x72, 0x9a, + 0x88, 0x55, 0x68, 0xf2, 0xac, 0x3a, 0xdc, 0xe0, 0x58, 0x1e, 0xe1, 0xab, 0x28, 0xc3, 0x3b, 0xd0, + 0x47, 0x8c, 0x27, 0xce, 0x3f, 0xed, 0x42, 0xbb, 0x60, 0x42, 0x52, 0xc4, 0x6e, 0x00, 0xb9, 0x4c, + 0xa5, 0x4d, 0xda, 0xe6, 0xf5, 0xc7, 0xd3, 0x3a, 0xfe, 0x07, 0x9f, 0xd1, 0xdc, 0xbf, 0xcd, 0xbe, + 0x10, 0x86, 0x14, 0x3b, 0xf5, 0xad, 0x56, 0x4d, 0x51, 0x25, 0xe1, 0x1f, 0xe6, 0xaa, 0x98, 0xb2, + 0x8c, 0xce, 0xb4, 0x43, 0x0c, 0x29, 0x64, 0x9a, 0x4b, 0x90, 0x95, 0xa8, 0x29, 0xb9, 0xbe, 0xd0, + 0x34, 0xfc, 0xf3, 0x14, 0x78, 0x5f, 0xb4, 0x27, 0x71, 0xca, 0x09, 0xab, 0xcb, 0xb2, 0xc2, 0xf2, + 0x70, 0x6d, 0x53, 0x20, 0x46, 0x37, 0x65, 0x52, 0x9f, 0x79, 0x27, 0x32, 0xf9, 0x03, 0x17, 0x28, + 0x3a, 0x1e, 0xe9, 0xfb, 0x0a, 0x3a, 0xf0, 0x2c, 0x64, 0x62, 0x02, 0x65, 0x5d, 0x47, 0x2a, 0x40, + 0xb5, 0xb9, 0x70, 0x60, 0xc3, 0x4d, 0x1b, 0xf7, 0xbf, 0x0e, 0xa5, 0x86, 0x94, 0x81, 0x42, 0xe0, + 0x72, 0xed, 0x28, 0xdd, 0xde, 0x59, 0xb9, 0x4d, 0x4f, 0xde, 0x2e, 0x65, 0x44, 0x1c, 0x98, 0xed, + 0x8b, 0x18, 0xde, 0x1e, 0xe1, 0xd2, 0x72, 0xd2, 0x02, 0x25, 0x3a, 0xa9, 0xad, 0xec, 0x9f, 0x62, + 0xe2, 0xe8, 0xb2, 0x83, 0xea, 0x7d, 0xca, 0xe4, 0xeb, 0x7b, 0x9d, 0x9d, 0x42, 0x1f, 0xf2, 0xef, + 0x96, 0xdf, 0x45, 0xfa, 0x49, 0xb8, 0x2b, 0xd4, 0xb7, 0x0b, 0x29, 0x06, 0x6d, 0xa7, 0xb7, 0xc8, + 0xc2, 0x55, 0xaa, 0x17, 0xae, 0xf5, 0xab, 0x3e, 0x08, 0xf9, 0x00, 0x5d, 0xd0, 0xbe, 0x9b, 0x7c, + 0x8d, 0xc0, 0x10, 0x7b, 0x44, 0xae, 0x5f, 0xd3, 0xa1, 0x84, 0xea, 0x37, 0xaf, 0x32, 0xc9, 0x83, + 0xd0, 0x5b, 0x2f, 0xfa, 0xcb, 0x7d, 0x99, 0xf2, 0xcf, 0x5e, 0xd4, 0xba, 0x9a, 0xed, 0x35, 0x72, + 0x03, 0x61, 0xe1, 0x1f, 0xe2, 0xb5, 0xba, 0x25, 0xd5, 0xc6, 0xa8, 0x69, 0x44, 0x92, 0x56, 0xb5, + 0x68, 0x32, 0xec, 0xab, 0x41, 0x95, 0x1d, 0xb6, 0xa0, 0x2b, 0x3d, 0x73, 0x83, 0x64, 0x6e, 0x5c, + 0x62, 0xed, 0xbe, 0xf7, 0xc4, 0x55, 0x14, 0x8d, 0x0c, 0x9c, 0xd4, 0xb4, 0xf6, 0x41, 0x2f, 0xd3, + 0x16, 0x26, 0xdc, 0x4d, 0x0c, 0x45, 0x31, 0x39, 0x36, 0xa0, 0xf8, 0x06, 0x56, 0xd5, 0xdb, 0x28, + 0x33, 0xc0, 0x51, 0x69, 0x41, 0x01, 0x83, 0x27, 0xc6, 0x34, 0xbf, 0xa7, 0xc9, 0x28, 0xbb, 0x39, + 0x4a, 0x19, 0xab, 0xe8, 0x9f, 0xf1, 0x3a, 0xc1, 0xb8, 0xfb, 0x6d, 0xe8, 0x7a, 0x11, 0x47, 0x25, + 0x4e, 0xad, 0xe3, 0x10, 0x3e, 0xfa, 0x21, 0x49, 0xad, 0x39, 0x85, 0x98, 0xb7, 0xb5, 0x08, 0xa7, + 0x3a, 0xba, 0x72, 0x64, 0x87, 0xc9, 0xc3, 0x1c, 0xee, 0x5a, 0xe5, 0x6e, 0x2f, 0xcc, 0x5e, 0xf1, + 0x5d, 0x28, 0xa7, 0x51, 0x25, 0xa4, 0x1c, 0xa5, 0x49, 0xb7, 0x9a, 0x47, 0x2d, 0x27, 0xf0, 0xbd, + 0x90, 0xc0, 0xa5, 0xc0, 0xc3, 0xa5, 0xcb, 0x6a, 0x1f, 0x62, 0xc3, 0x40, 0x30, 0x40, 0x7c, 0x05, + 0x60, 0x4c, 0x71, 0x08, 0x52, 0xe3, 0xb6, 0x14, 0xdc, 0x72, 0x08, 0xa9, 0xf8, 0xea, 0xe1, 0xe3, + 0x62, 0xf4, 0x1d, 0xed, 0x3e, 0xa1, 0x15, 0x1a, 0x17, 0xa2, 0x90, 0xfc, 0xab, 0x32, 0x2a, 0xec, + 0x87, 0x13, 0xee, 0xa1, 0xaf, 0x4f, 0x60, 0xc6, 0xbb, 0x76, 0x3d, 0x9f, 0xe3, 0x16, 0x5c, 0x7f, + 0x7f, 0xfb, 0x73, 0x6d, 0x97, 0xf8, 0xfd, 0xf3, 0x88, 0x02, 0xb0, 0x83, 0xdc, 0x59, 0x3e, 0xd3, + 0x12, 0x31, 0x33, 0x0d, 0x83, 0xfb, 0xf7, 0xc2, 0xa3, 0x26, 0x93, 0xcc, 0x0c, 0xf7, 0x33, 0x0c, + 0x5f, 0x4e, 0x66, 0x89, 0x74, 0xd2, 0x08, 0xa7, 0x15, 0x8c, 0xfb, 0x07, 0x4c, 0xea, 0xf6, 0x10, + 0x4c, 0xcb, 0x88, 0x77, 0xbf, 0x8f, 0x54, 0xe5, 0x02, 0x6a, 0xf6, 0xf1, 0x35, 0x13, 0x80, 0x00, + 0x05, 0x96, 0x5c, 0x0c, 0x70, 0x9c, 0xfb, 0xda, 0x0a, 0x13, 0xd8, 0x32, 0x97, 0xba, 0x16, 0x19, + 0x9d, 0x11, 0xc8, 0xc3, 0x70, 0xca, 0xcf, 0xac, 0xba, 0x01, 0x19, 0x5a, 0xde, 0xd9, 0x18, 0xee, + 0xca, 0xb6, 0xe9, 0x2b, 0x09, 0xc5, 0xac, 0x7e, 0xe9, 0x66, 0x00, 0x98, 0x03, 0x82, 0x67, 0xf6, + 0xdc, 0xbc, 0x89, 0x28, 0x19, 0x9c, 0x62, 0x38, 0x5c, 0x40, 0xb3, 0xd7, 0xc2, 0xdf, 0x14, 0x02, + 0x93, 0x2a, 0x09, 0xd4, 0x4b, 0xea, 0x34, 0x94, 0x32, 0x77, 0x3f, 0xe3, 0x13, 0x3c, 0x1c, 0xc8, + 0x23, 0x3d, 0x90, 0xd3, 0x55, 0xd0, 0x45, 0x52, 0xba, 0xef, 0x80, 0xa0, 0x89, 0x70, 0x48, 0x55, + 0xc9, 0x74, 0x00, 0xcc, 0x8f, 0x74, 0xb6, 0xa6, 0x66, 0xc9, 0x7e, 0x44, 0xa2, 0x0f, 0xda, 0x6d, + 0x91, 0xa2, 0x7b, 0xd7, 0xb1, 0x3f, 0xfe, 0xb5, 0x55, 0x76, 0xb3, 0x9f, 0xd5, 0x38, 0xed, 0xde, + 0xc9, 0x58, 0x91, 0xfa, 0x0f, 0x6f, 0x3f, 0xa8, 0x66, 0x8e, 0xca, 0x5b, 0xfb, 0x73, 0xa8, 0x59, + 0x4c, 0x97, 0x48, 0x97, 0xf9, 0x96, 0xb2, 0x43, 0x99, 0xf6, 0xdd, 0x7f, 0x60, 0xe1, 0x11, 0x9a, + 0xb3, 0x4c, 0xb9, 0xac, 0xfd, 0xb9, 0x15, 0xae, 0xca, 0xa6, 0x35, 0x64, 0x3a, 0xed, 0xb2, 0x32, + 0xed, 0x58, 0x6f, 0x6d, 0xa2, 0x47, 0xc1, 0x7a, 0xcb, 0x10, 0x45, 0xf6, 0x0a, 0xdc, 0xb2, 0x52, + 0xac, 0x47, 0x27, 0x08, 0x9d, 0xd0, 0x92, 0xe2, 0x7e, 0x8e, 0xb0, 0x31, 0xe4, 0x80, 0x7f, 0xf8, + 0x56, 0xa9, 0xd5, 0x5f, 0x3b, 0x49, 0xbf, 0x87, 0x16, 0xcf, 0xa2, 0x2a, 0x3d, 0xf9, 0xb7, 0xa4, + 0x82, 0xe8, 0x66, 0x93, 0x74, 0xef, 0x83, 0x26, 0x60, 0x1f, 0xd5, 0xdd, 0x9f, 0xe3, 0xce, 0x6e, + 0x53, 0xc6, 0x5b, 0xa3, 0x39, 0xa7, 0xa6, 0x65, 0x6e, 0x47, 0x16, 0x82, 0x56, 0xd5, 0x27, 0x33, + 0x25, 0x52, 0xeb, 0xfe, 0x96, 0xb8, 0xfd, 0x1f, 0x1c, 0x76, 0xba, 0xda, 0xce, 0x4c, 0x30, 0xc9, + 0xd8, 0xcc, 0x3a, 0x02, 0x53, 0x7f, 0x16, 0x11, 0x7e, 0x84, 0xee, 0xae, 0x12, 0x79, 0xbd, 0x7b, + 0x3c, 0xfd, 0x14, 0x5c, 0x1a, 0x89, 0xfa, 0x7c, 0x2f, 0x90, 0x4a, 0xf9, 0xd6, 0xdb, 0xbb, 0x2b, + 0xb6, 0x5f, 0x54, 0xae, 0x67, 0x33, 0x21, 0x2a, 0xff, 0xc2, 0xdb, 0xea, 0xb4, 0x5a, 0xe7, 0x57, + 0x62, 0xc9, 0xc7, 0x47, 0xda, 0x61, 0xdc, 0x17, 0xbd, 0x46, 0x39, 0x78, 0xd4, 0xe8, 0x65, 0xa1, + 0xca, 0x53, 0xbe, 0xc2, 0x28, 0x49, 0x27, 0x79, 0x31, 0x6f, 0xba, 0x79, 0xf6, 0x9d, 0xd0, 0xaa, + 0x77, 0x64, 0x7c, 0xa9, 0x61, 0x38, 0xdf, 0xf1, 0x94, 0x91, 0x7b, 0x2b, 0xd9, 0x74, 0x8c, 0x62, + 0x8a, 0x8b, 0xd9, 0xb1, 0x3c, 0x9f, 0x5e, 0xd2, 0xd0, 0x28, 0xef, 0xc1, 0x47, 0x27, 0x54, 0x7f, + 0x9c, 0xd6, 0x4e, 0xda, 0xba, 0x9d, 0x36, 0x08, 0xd1, 0x7a, 0x87, 0x93, 0x51, 0xb7, 0xd8, 0x67, + 0x6e, 0xca, 0x74, 0xcd, 0x15, 0xee, 0xb3, 0xef, 0x0e, 0x0e, 0x49, 0xe0, 0x27, 0x3d, 0x6f, 0xe9, + 0x13, 0x22, 0x12, 0xd4, 0x96, 0x5c, 0x0d, 0xc9, 0x48, 0x21, 0x1b, 0x13, 0xc1, 0x9e, 0x6d, 0x60, + 0x21, 0xc3, 0xad, 0x95, 0x83, 0xad, 0xc7, 0x25, 0x26, 0x29, 0x67, 0x88, 0xaa, 0x3c, 0x68, 0x3a, + 0x91, 0x6a, 0x07, 0xb1, 0x60, 0x49, 0x3f, 0x7d, 0x2e, 0x9d, 0x1e, 0x30, 0x7a, 0x55, 0x2b, 0xb9, + 0x44, 0x75, 0x96, 0xad, 0x91, 0x83, 0x57, 0x25, 0x51, 0x5a, 0x35, 0x3d, 0xf2, 0x45, 0xb6, 0x61, + 0xc4, 0x09, 0xe4, 0x6b, 0x46, 0x00, 0x5c, 0x2a, 0x24, 0x78, 0xec, 0x82, 0xa2, 0xb3, 0x32, 0xd4, + 0x15, 0x14, 0x3d, 0x99, 0x9c, 0xac, 0x75, 0xca, 0xc2, 0x7d, 0xaa, 0xf7, 0x9a, 0xa3, 0x04, 0x94, + 0xba, 0x20, 0x9b, 0x83, 0x1f, 0xf4, 0x91, 0xb9, 0x97, 0xe7, 0x04, 0x2b, 0x6f, 0x23, 0x0d, 0x68, + 0x47, 0xfd, 0x2c, 0x1e, 0x88, 0xc6, 0x7a, 0x1d, 0x82, 0xf9, 0x95, 0xaa, 0x29, 0xd1, 0xa5, 0x7d, + 0xb7, 0x80, 0x15, 0x4f, 0x20, 0xbf, 0x0f, 0x81, 0x84, 0xbf, 0x31, 0xfe, 0xc1, 0x0c, 0x15, 0x3d, + 0xed, 0xa2, 0x44, 0x43, 0x5e, 0xb8, 0x09, 0xad, 0x09, 0x6b, 0xa4, 0xdb, 0x6e, 0x73, 0x84, 0xce, + 0xbe, 0x73, 0xa6, 0x97, 0x76, 0x35, 0xf3, 0x29, 0x57, 0xbf, 0x87, 0xef, 0x58, 0x7e, 0x42, 0xa5, + 0x62, 0x84, 0xf5, 0x5a, 0xc4, 0x18, 0x43, 0xb1, 0x3a, 0x49, 0x04, 0xe6, 0x6e, 0x6a, 0xef, 0x6a, + 0x97, 0xf0, 0xbf, 0x2c, 0x82, 0x4b, 0x97, 0x6c, 0x9f, 0xfc, 0x68, 0xed, 0x2a, 0x1b, 0xde, 0xe4, + 0x4c, 0x96, 0xb3, 0x5e, 0x8e, 0x04, 0x22, 0x9a, 0x33, 0x8b, 0x57, 0x78, 0x3a, 0x41, 0xac, 0x18, + 0x3b, 0xd4, 0x7d, 0x24, 0x93, 0x3a, 0x5e, 0x10, 0xc6, 0x39, 0xfd, 0x6e, 0x73, 0xce, 0x9d, 0x00, + 0x35, 0x58, 0x64, 0x7d, 0xa8, 0x8a, 0xff, 0x7b, 0x8b, 0x6c, 0xc5, 0xbd, 0x4b, 0x6d, 0x70, 0x94, + 0xa4, 0x42, 0xa5, 0x81, 0xd3, 0xdb, 0xa3, 0x09, 0xb0, 0x30, 0xa9, 0xeb, 0xf4, 0xd6, 0xb6, 0x94, + 0x4b, 0x4d, 0x19, 0x2f, 0xcc, 0x86, 0x40, 0xe9, 0x57, 0x88, 0xb5, 0x62, 0x21, 0x6d, 0x7f, 0x02, + 0x5a, 0x8f, 0xe4, 0x00, 0x5f, 0x60, 0xeb, 0xda, 0x73, 0x44, 0x54, 0x26, 0xd7, 0xaf, 0xc7, 0x9a, + 0xb8, 0x4a, 0xdd, 0x3b, 0x48, 0x09, 0x02, 0x46, 0x37, 0xb6, 0x71, 0x54, 0xd4, 0xa3, 0x74, 0xba, + 0x3b, 0x69, 0xd2, 0xda, 0x2d, 0xbb, 0xc4, 0x41, 0x57, 0x98, 0x02, 0x7c, 0xd6, 0x98, 0x68, 0x01, + 0x29, 0xe3, 0xb2, 0x82, 0xa7, 0xfe, 0xc3, 0xb0, 0x68, 0x85, 0x26, 0xaa, 0x32, 0xd2, 0x7b, 0x35, + 0x76, 0xfd, 0x1b, 0x2a, 0x32, 0x8e, 0x65, 0x7e, 0xbf, 0x9b, 0xcc, 0x2c, 0xfc, 0xda, 0x9a, 0xc9, + 0xa0, 0xbb, 0x50, 0x34, 0xf1, 0x6e, 0x0b, 0x92, 0x2e, 0x87, 0x90, 0xf7, 0x76, 0x1a, 0xfd, 0x30, + 0x23, 0xc3, 0x5c, 0x2b, 0xc4, 0xc5, 0x65, 0x60, 0xa9, 0x84, 0x5e, 0x2c, 0x3c, 0xb8, 0x61, 0x81, + 0xa8, 0xb9, 0xab, 0x1b, 0xce, 0xbe, 0x78, 0x1d, 0xce, 0x17, 0x8a, 0xea, 0x28, 0xb3, 0x6a, 0xf9, + 0x01, 0xfa, 0xe0, 0xf5, 0x8b, 0xc9, 0x5a, 0x62, 0x70, 0x46, 0x07, 0x3d, 0xf4, 0x6e, 0x26, 0x49, + 0xbf, 0xaa, 0xea, 0x79, 0x0e, 0x2b, 0xec, 0xdd, 0x9b, 0xd8, 0x5f, 0xb9, 0x69, 0x49, 0x2c, 0xa5, + 0xd5, 0x23, 0x87, 0xfb, 0xbf, 0xb1, 0xca, 0x9a, 0x78, 0x20, 0xda, 0x17, 0x42, 0xa0, 0x09, 0xd0, + 0x55, 0x56, 0x24, 0x6b, 0x9a, 0x87, 0xe8, 0x0d, 0xb3, 0xdd, 0x88, 0x21, 0xd4, 0x90, 0xf1, 0x15, + 0x44, 0xe4, 0x83, 0x13, 0xbc, 0x88, 0x43, 0xf3, 0x63, 0x38, 0xbb, 0xe7, 0x2d, 0x70, 0x92, 0xb7, + 0xe3, 0xba, 0x5f, 0x5e, 0xb5, 0xef, 0x20, 0x7c, 0x96, 0x64, 0x4b, 0x49, 0xd7, 0x69, 0x40, 0x2a, + 0xa2, 0x41, 0x80, 0x93, 0xd7, 0xcd, 0x3d, 0x13, 0xda, 0x9c, 0x96, 0x40, 0xfc, 0x5e, 0x9b, 0xa2, + 0xf1, 0xa1, 0x67, 0x49, 0x5f, 0xa7, 0x94, 0x38, 0x1a, 0x42, 0x89, 0xe7, 0x40, 0x0e, 0x2b, 0x99, + 0x5d, 0x1d, 0xbf, 0x61, 0xf8, 0x86, 0x49, 0x79, 0xdf, 0x82, 0xb6, 0x98, 0xf3, 0xdf, 0x72, 0x9f, + 0x3f, 0xad, 0x5e, 0xc5, 0x18, 0x2f, 0xea, 0x9e, 0x9a, 0x29, 0xeb, 0x04, 0xb2, 0x2e, 0xf0, 0x4c, + 0x2d, 0xe8, 0x98, 0x3d, 0xcb, 0x64, 0x77, 0x94, 0x9a, 0x2f, 0x60, 0x1e, 0x6f, 0x59, 0x04, 0x29, + 0xcb, 0xd0, 0xc7, 0xa1, 0x93, 0xb9, 0x64, 0xc5, 0xf1, 0x15, 0x2e, 0x3b, 0xe1, 0x02, 0x86, 0x01, + 0xbf, 0x96, 0x55, 0xde, 0xbc, 0x3c, 0x6e, 0xcb, 0xf6, 0xe1, 0x27, 0x52, 0x20, 0xf2, 0x2e, 0xfc, + 0x5a, 0xe7, 0x2b, 0xd4, 0xc2, 0xd1, 0x96, 0x56, 0x7f, 0x16, 0xfb, 0x04, 0xb0, 0xe1, 0xc4, 0x8a, + 0x3d, 0xb9, 0xcd, 0x69, 0xe7, 0x62, 0x8c, 0x12, 0xb5, 0x40, 0x05, 0xe9, 0xfe, 0x70, 0xac, 0xf3, + 0x81, 0x6c, 0x6b, 0x0e, 0xdb, 0xce, 0x77, 0x2d, 0x51, 0x65, 0x26, 0x57, 0xc2, 0x10, 0x28, 0xa6, + 0xe2, 0x4a, 0x91, 0x50, 0xc5, 0x02, 0xb3, 0x76, 0x5a, 0x42, 0x7f, 0x07, 0x23, 0x33, 0x70, 0x3e, + 0x50, 0x87, 0x54, 0x5b, 0xee, 0x14, 0x00, 0x19, 0x96, 0x37, 0xc2, 0x56, 0x3b, 0x79, 0x57, 0x99, + 0x26, 0x7b, 0x1d, 0xf7, 0x80, 0x28, 0x07, 0x8c, 0x7b, 0x01, 0x9c, 0x5e, 0x12, 0x62, 0xb9, 0x69, + 0xef, 0xfb, 0x88, 0xcb, 0xbe, 0xdd, 0x2d, 0x36, 0xff, 0x6c, 0x3f, 0x45, 0x6e, 0xfc, 0x0e, 0xf9, + 0xb4, 0x2a, 0x98, 0x13, 0xe1, 0xe9, 0x4b, 0x58, 0x34, 0x2f, 0x6f, 0xb2, 0x3b, 0xce, 0xa6, 0xe6, + 0x1c, 0xcd, 0xc2, 0x74, 0xd0, 0x6d, 0x50, 0x39, 0x53, 0xb9, 0x86, 0x63, 0x7f, 0xe8, 0x3f, 0xb9, + 0xc1, 0x12, 0x08, 0x62, 0xa5, 0x63, 0x6c, 0xe6, 0x98, 0xb8, 0x6c, 0xfd, 0xca, 0x98, 0xbf, 0xba, + 0xc3, 0x10, 0x3e, 0x1e, 0x63, 0xdc, 0x26, 0xe5, 0x3d, 0xfe, 0x70, 0x2c, 0xde, 0x70, 0xd0, 0xcc, + 0x98, 0x13, 0xc6, 0xa7, 0x50, 0x5f, 0x15, 0x99, 0x85, 0x96, 0xcc, 0xc6, 0xe3, 0x40, 0xbd, 0x6a, + 0xee, 0x13, 0x5a, 0xe5, 0x39, 0xb0, 0x1c, 0x0c, 0xd2, 0xd3, 0xe5, 0x90, 0xb5, 0xed, 0x71, 0xee, + 0xfc, 0xfa, 0x60, 0xe5, 0x9e, 0x90, 0xa9, 0x23, 0x77, 0x70, 0xdf, 0x00, 0xae, 0xdc, 0x11, 0x34, + 0x4c, 0xba, 0x52, 0x83, 0x59, 0xec, 0x6e, 0xc4, 0xba, 0x9a, 0x6d, 0xf4, 0x65, 0x21, 0xb8, 0xf3, + 0xa9, 0x85, 0x5c, 0x5c, 0x91, 0x44, 0x73, 0xb7, 0x2b, 0x9b, 0xac, 0x7e, 0xf3, 0x03, 0x2a, 0x68, + 0x5e, 0xc3, 0xc0, 0x0a, 0x81, 0x68, 0x9e, 0xa1, 0x5f, 0x68, 0x04, 0x76, 0x69, 0x7e, 0x11, 0x3a, + 0x94, 0x4c, 0x93, 0xdf, 0xc2, 0x0b, 0xc6, 0x94, 0x94, 0x86, 0xf2, 0x68, 0x0c, 0xe2, 0x59, 0x48, + 0xa9, 0xed, 0x3e, 0x21, 0x9a, 0x30, 0xc5, 0x8e, 0xbf, 0xd4, 0x08, 0xfc, 0x43, 0xc9, 0xf8, 0x32, + 0x2a, 0x84, 0xff, 0xac, 0x64, 0x10, 0xe8, 0x77, 0xc9, 0x6f, 0x5a, 0x01, 0x28, 0xb7, 0xda, 0xb2, + 0xb2, 0x84, 0x3d, 0xf4, 0xc5, 0x0b, 0x3d, 0x31, 0x58, 0x37, 0x0b, 0xe3, 0xb3, 0x59, 0x7f, 0xfb, + 0xe5, 0x9f, 0x79, 0xf2, 0x79, 0x22, 0xd9, 0x0f, 0x39, 0xbe, 0xb8, 0x1e, 0xfd, 0xd3, 0x9a, 0xc8, + 0x88, 0x6d, 0xe5, 0xc4, 0x2b, 0xc5, 0x60, 0xe1, 0x09, 0x63, 0x55, 0x97, 0x0f, 0xf4, 0xa2, 0xd6, + 0xe9, 0x64, 0xa1, 0x3d, 0xb0, 0xcd, 0xf2, 0xb7, 0x79, 0x8c, 0x87, 0xd7, 0xae, 0xc0, 0x2c, 0x8d, + 0x41, 0x6a, 0x9b, 0x49, 0x54, 0xf6, 0xa0, 0x0f, 0x8e, 0xaa, 0xde, 0xbd, 0x26, 0xcc, 0xf3, 0x48, + 0xe0, 0x3b, 0x46, 0x73, 0x5e, 0x8e, 0x22, 0x6e, 0x7f, 0x73, 0x1d, 0xe7, 0x27, 0x10, 0xe0, 0x30, + 0x30, 0x52, 0x8f, 0x12, 0xc3, 0x32, 0x2b, 0x3f, 0xe3, 0x2d, 0x3d, 0x4c, 0x34, 0x65, 0x72, 0x96, + 0x41, 0x8a, 0x3f, 0x19, 0x46, 0xba, 0x06, 0xa5, 0x36, 0x15, 0xe2, 0x4f, 0x7b, 0x02, 0xfe, 0x94, + 0x91, 0x38, 0xdf, 0xba, 0x51, 0x43, 0x3c, 0xbc, 0x6c, 0xd1, 0xd9, 0x11, 0xa4, 0xc6, 0x4d, 0x55, + 0xfd, 0x48, 0x6f, 0x74, 0x95, 0x8b, 0x46, 0x26, 0x96, 0xa4, 0x9b, 0x9f, 0xc4, 0x7f, 0xf5, 0xeb, + 0x9e, 0x3a, 0x16, 0x36, 0x5c, 0x9b, 0xea, 0xe0, 0x97, 0x45, 0xcb, 0x17, 0xb9, 0xaa, 0xf8, 0x11, + 0x8e, 0x05, 0x2e, 0x68, 0xec, 0xc2, 0x81, 0x8d, 0x52, 0xcd, 0x4a, 0x81, 0x1b, 0x90, 0x8b, 0x9e, + 0x04, 0xe4, 0x00, 0x35, 0x16, 0xef, 0x17, 0x63, 0x80, 0x28, 0xf5, 0x09, 0x79, 0x13, 0x5f, 0xa3, + 0xc3, 0xdb, 0x05, 0x1b, 0x3c, 0xa6, 0xca, 0x35, 0xa2, 0x20, 0xb6, 0xe1, 0xdd, 0xdc, 0xbf, 0x1b, + 0xed, 0xd9, 0x90, 0xd2, 0x20, 0x37, 0x72, 0x89, 0xa5, 0xdf, 0x3b, 0xbb, 0x67, 0xd2, 0x4f, 0xb1, + 0xd0, 0x12, 0x41, 0xe3, 0x57, 0x82, 0x51, 0xb3, 0x24, 0x55, 0x84, 0x49, 0x5b, 0x84, 0x37, 0xba, + 0x08, 0xf0, 0xae, 0x34, 0x30, 0x1c, 0xae, 0xb0, 0xa0, 0x3d, 0x74, 0xd0, 0x76, 0x66, 0xcd, 0x53, + 0xd4, 0x96, 0x7e, 0x72, 0x71, 0x1e, 0xc6, 0x06, 0x9b, 0x7e, 0xf4, 0x07, 0xdd, 0x59, 0xe1, 0x43, + 0x3c, 0x46, 0x30, 0x28, 0x30, 0xb1, 0x68, 0x03, 0x13, 0xab, 0x8f, 0x8a, 0xa6, 0x5b, 0x2f, 0x74, + 0xdf, 0x68, 0xf5, 0xf2, 0x05, 0x12, 0x72, 0xa4, 0x55, 0x0b, 0x17, 0xe8, 0xf7, 0xd9, 0x39, 0x80, + 0xe7, 0xa1, 0xb7, 0xbf, 0x7a, 0x88, 0x2c, 0x7a, 0x86, 0x02, 0x8d, 0x4f, 0x26, 0x73, 0x5b, 0x8a, + 0x74, 0x99, 0xc5, 0x0f, 0xe3, 0xf3, 0xd4, 0xd0, 0x69, 0xa0, 0x80, 0x42, 0xf3, 0x9d, 0xa7, 0xdb, + 0x7b, 0x95, 0xcb, 0xcb, 0x95, 0x27, 0x80, 0x1f, 0x0e, 0xef, 0x10, 0x3a, 0xa7, 0x9d, 0x9b, 0x78, + 0x45, 0xca, 0x96, 0x3c, 0xcf, 0xcd, 0xe6, 0x66, 0xc2, 0x9e, 0xe3, 0x19, 0x9b, 0x2a, 0xfc, 0xe3, + 0xb7, 0x47, 0x87, 0x79, 0xd5, 0x80, 0x8e, 0x1d, 0xb1, 0x7b, 0x61, 0x6a, 0x27, 0x84, 0x28, 0xd3, + 0x62, 0x9e, 0x5d, 0xf9, 0xd6, 0x87, 0x88, 0x4f, 0xf9, 0x16, 0xbb, 0x8e, 0x66, 0x25, 0x82, 0x9b, + 0x86, 0x41, 0x94, 0xd4, 0x8f, 0x08, 0xdb, 0xca, 0x15, 0xa9, 0x99, 0x78, 0x91, 0x51, 0x05, 0xdc, + 0x51, 0x20, 0x1c, 0x08, 0xd1, 0x89, 0x19, 0xb9, 0xfa, 0x80, 0xa3, 0x57, 0x07, 0x25, 0x75, 0x57, + 0x15, 0x28, 0xfe, 0xdb, 0x47, 0xf1, 0x11, 0xd2, 0xb7, 0x73, 0x6d, 0x85, 0x20, 0x11, 0x61, 0xf8, + 0xc8, 0x21, 0xde, 0x5c, 0x98, 0xc6, 0x92, 0xce, 0x4e, 0x46, 0xfc, 0xf8, 0x06, 0x5d, 0x85, 0xae, + 0x8b, 0xf0, 0x28, 0x04, 0x65, 0xa6, 0x89, 0x61, 0x8e, 0xf1, 0xab, 0x35, 0xa6, 0x16, 0x67, 0xfa, + 0xae, 0x27, 0x88, 0x25, 0xc0, 0xfd, 0x22, 0x55, 0xfb, 0xdf, 0x44, 0x92, 0xf7, 0x98, 0xcb, 0xdb, + 0xce, 0x7c, 0xc3, 0x1c, 0xad, 0xd5, 0x9e, 0x6c, 0x9e, 0x22, 0x61, 0x31, 0x00, 0x5d, 0xcb, 0xaf, + 0xee, 0xa6, 0xce, 0x6a, 0x58, 0x46, 0x05, 0x2a, 0xc8, 0x5b, 0xd4, 0x04, 0xff, 0x80, 0x10, 0xa2, + 0x7a, 0x25, 0x74, 0xc1, 0x63, 0xd6, 0xe3, 0x3f, 0x08, 0x42, 0x13, 0x19, 0x33, 0xfe, 0x36, 0xfc, + 0x46, 0x1b, 0x34, 0xd4, 0xe4, 0x65, 0x2b, 0x73, 0xe2, 0x08, 0x5b, 0x72, 0x90, 0xe3, 0xdf, 0x17, + 0xe2, 0xc8, 0x98, 0x5d, 0xfd, 0xd3, 0x0f, 0xe4, 0x1b, 0xfb, 0x5c, 0xff, 0x44, 0x17, 0x6f, 0xc7, + 0x7c, 0x64, 0x89, 0xa7, 0x98, 0x91, 0x3f, 0xda, 0xa5, 0x79, 0xaa, 0x3a, 0x93, 0x5e, 0x46, 0x1e, + 0x48, 0x8e, 0x3d, 0x13, 0x91, 0x7a, 0xf1, 0x96, 0xb7, 0x3d, 0x1f, 0xd5, 0xd6, 0x23, 0x61, 0x91, + 0x30, 0x4f, 0x2e, 0xd3, 0xe9, 0x6e, 0xae, 0xa4, 0xdb, 0x1e, 0x68, 0x4c, 0x95, 0xbf, 0xdb, 0xfa, + 0x5f, 0x79, 0x1e, 0xd6, 0x56, 0xfe, 0xa1, 0x32, 0xc0, 0xdb, 0xa9, 0x9d, 0x91, 0x63, 0x3c, 0xdd, + 0x51, 0xa7, 0x26, 0xf3, 0x94, 0x85, 0x83, 0x42, 0x69, 0x1d, 0xe1, 0x73, 0x6e, 0x95, 0xfd, 0xf9, + 0xe2, 0xb3, 0x88, 0x5e, 0x3e, 0x17, 0x27, 0xb0, 0x38, 0x07, 0x1c, 0xec, 0x41, 0x3f, 0x5b, 0xba, + 0x8a, 0xa5, 0xe0, 0xaf, 0xad, 0x71, 0xfa, 0x22, 0x70, 0x87, 0xa9, 0x7b, 0x7f, 0x41, 0x95, 0x49, + 0xbc, 0xeb, 0x14, 0x5c, 0x3f, 0x52, 0x0f, 0x8d, 0xbb, 0x63, 0x0e, 0x69, 0xd3, 0xe1, 0xf5, 0x94, + 0xf6, 0x7e, 0x11, 0x79, 0xab, 0xb8, 0x1d, 0xa4, 0x32, 0x5e, 0xb0, 0x2f, 0x3a, 0x0f, 0x38, 0x96, + 0x91, 0x1b, 0x92, 0xc3, 0x54, 0x1d, 0x4c, 0x8e, 0x74, 0x98, 0xa4, 0xc3, 0xb3, 0xe7, 0xf7, 0x1b, + 0x0b, 0x6f, 0x34, 0xdf, 0xfe, 0xf3, 0x7e, 0x72, 0xd4, 0x35, 0xec, 0xef, 0x55, 0x95, 0xf1, 0x65, + 0xed, 0xc3, 0x45, 0x3e, 0xcf, 0x0e, 0x14, 0x4b, 0x6b, 0xe0, 0xfd, 0x27, 0x90, 0x9b, 0x94, 0x65, + 0x03, 0x29, 0xb1, 0x43, 0x93, 0xd1, 0x64, 0x95, 0x98, 0x4e, 0x75, 0xbf, 0x6d, 0x7b, 0x05, 0x45, + 0x97, 0x82, 0xbb, 0xae, 0xee, 0xde, 0x22, 0x8b, 0x99, 0xfe, 0xaa, 0x8d, 0x95, 0x30, 0x81, 0xb1, + 0x87, 0xfe, 0x94, 0x55, 0xe2, 0x73, 0x91, 0x44, 0x6b, 0x4d, 0x9c, 0x75, 0xb9, 0xb2, 0x8d, 0x5d, + 0xe3, 0x50, 0xaf, 0x45, 0x0e, 0xdc, 0xc4, 0x95, 0xe0, 0xda, 0x48, 0x86, 0x8a, 0xe9, 0xa0, 0x4f, + 0xc9, 0xcd, 0x00, 0x11, 0x45, 0x49, 0xf4, 0xaa, 0x85, 0x58, 0xd0, 0xf0, 0x0d, 0xac, 0x77, 0xcb, + 0x6e, 0xb0, 0x80, 0x7d, 0x42, 0xf0, 0xda, 0xc9, 0x6f, 0xd2, 0xb8, 0x29, 0xc2, 0xa6, 0xd5, 0x47, + 0x56, 0x8d, 0x69, 0xcf, 0x66, 0x13, 0x2a, 0xaf, 0x57, 0x33, 0x75, 0xf6, 0x9d, 0x12, 0xc6, 0xf8, + 0x18, 0x97, 0xe2, 0x13, 0x01, 0x36, 0x46, 0xc8, 0xb1, 0x7e, 0x26, 0x2c, 0xeb, 0x74, 0xce, 0x81, + 0x7a, 0x17, 0x08, 0xbc, 0xb3, 0xe0, 0xda, 0x6c, 0x94, 0x34, 0x1a, 0x22, 0xfb, 0x63, 0x6c, 0xc8, + 0x66, 0x48, 0x13, 0xdd, 0x0b, 0x02, 0xc4, 0x91, 0x9b, 0x6e, 0x98, 0x06, 0x6c, 0x19, 0x16, 0xf6, + 0xcf, 0x94, 0x07, 0x78, 0xbd, 0xbc, 0x02, 0xdb, 0x6f, 0x44, 0x76, 0x9b, 0xf5, 0xe0, 0x71, 0x99, + 0x05, 0xbd, 0xd9, 0xd9, 0x9a, 0x03, 0xc3, 0x50, 0x3b, 0xc2, 0x59, 0xe6, 0x9a, 0xf6, 0xf8, 0xd8, + 0x77, 0xdc, 0x37, 0x70, 0xdc, 0x44, 0x41, 0x6c, 0x3b, 0x2b, 0x7a, 0xd4, 0x60, 0x8c, 0x5f, 0x75, + 0x50, 0xcd, 0xa0, 0xd5, 0x78, 0x0c, 0x3c, 0x8d, 0x7d, 0x16, 0x65, 0x49, 0xb1, 0x38, 0x62, 0x33, + 0x0b, 0xd3, 0x1a, 0x44, 0xcd, 0x34, 0x95, 0x4d, 0xfc, 0xfc, 0xa8, 0x9f, 0xb4, 0xcc, 0xd2, 0x73, + 0xf4, 0x43, 0xc1, 0x85, 0x7d, 0x63, 0x82, 0xe9, 0x6e, 0x2d, 0x7b, 0x7a, 0x72, 0xf9, 0xf7, 0xdb, + 0x50, 0xe3, 0x71, 0xec, 0x70, 0x35, 0xdf, 0x02, 0x07, 0xaa, 0x37, 0xda, 0x14, 0xd7, 0xe6, 0x01, + 0xb0, 0x67, 0x8f, 0x87, 0xd0, 0xec, 0xa3, 0x94, 0xa5, 0x94, 0x85, 0xc2, 0x1f, 0xd9, 0x62, 0xd4, + 0xfb, 0x7b, 0x00, 0xfd, 0xe7, 0x97, 0x1c, 0x58, 0x85, 0xed, 0x8f, 0x9f, 0x1a, 0xb4, 0x86, 0xff, + 0x77, 0xc1, 0x15, 0x5d, 0x3f, 0xd3, 0xc8, 0xb5, 0x16, 0xfe, 0x30, 0xd6, 0x24, 0xc5, 0x1b, 0x4d, + 0xaf, 0x87, 0x65, 0xa0, 0xb9, 0x10, 0x6d, 0x77, 0x64, 0x5b, 0x68, 0xb5, 0x3d, 0x05, 0x82, 0xef, + 0x8b, 0xaa, 0x53, 0xc4, 0xbd, 0x9f, 0x63, 0xba, 0x8d, 0x32, 0xb1, 0xa8, 0xbf, 0x84, 0xba, 0x05, + 0x60, 0x85, 0x4f, 0xe6, 0x93, 0xe6, 0x8d, 0x0b, 0xe1, 0xea, 0x75, 0x4c, 0xc6, 0x33, 0x13, 0x84, + 0x46, 0x7f, 0xcb, 0x02, 0x21, 0xac, 0x6b, 0xd5, 0x11, 0xa4, 0x70, 0x20, 0x5f, 0x66, 0xcc, 0x01, + 0xae, 0x97, 0xe8, 0xbc, 0xab, 0x79, 0x58, 0x66, 0x31, 0x18, 0xff, 0x66, 0xcc, 0xcc, 0x9e, 0x36, + 0xc2, 0x53, 0x3c, 0x49, 0xac, 0xb6, 0x24, 0x66, 0x7e, 0x30, 0xe2, 0x37, 0x37, 0x80, 0x32, 0x26, + 0xbe, 0xbf, 0xad, 0xcf, 0x89, 0x65, 0x5e, 0xaa, 0x96, 0xd3, 0x6f, 0xaf, 0x06, 0x89, 0x0d, 0xb3, + 0x8a, 0xa5, 0x08, 0x70, 0xb3, 0xc7, 0x0c, 0x6c, 0x49, 0xae, 0x3a, 0x53, 0x6a, 0xf9, 0xb3, 0xac, + 0x71, 0xc6, 0x38, 0x6c, 0x06, 0x22, 0xc0, 0x06, 0xd2, 0xa1, 0x90, 0xc4, 0x6e, 0xa0, 0xdb, 0x36, + 0xe8, 0x37, 0x85, 0x0e, 0x43, 0x8a, 0x95, 0x57, 0x7e, 0x9a, 0x39, 0x43, 0x80, 0x7e, 0xc0, 0xac, + 0xd7, 0xae, 0x66, 0xad, 0x89, 0x87, 0xa8, 0xe3, 0x6f, 0x97, 0x25, 0x73, 0xa3, 0x45, 0xbc, 0xa2, + 0xaa, 0x37, 0x53, 0x52, 0xba, 0x83, 0x49, 0x6a, 0x1d, 0x1a, 0x0d, 0x7f, 0xc7, 0x0b, 0xfc, 0xee, + 0x0c, 0xf3, 0xd3, 0x89, 0x9d, 0xad, 0x3f, 0x45, 0x10, 0x78, 0x5d, 0xa8, 0xd4, 0xbd, 0xac, 0xe6, + 0xb9, 0xa7, 0x49, 0xff, 0x5d, 0x99, 0xd8, 0x25, 0x64, 0x4e, 0x95, 0x1f, 0xac, 0xa2, 0x70, 0xbd, + 0x58, 0xec, 0xe2, 0x78, 0xa8, 0x41, 0xbc, 0xd8, 0xdc, 0x7e, 0x53, 0x80, 0xf9, 0xc1, 0x04, 0x8e, + 0x38, 0x36, 0x1c, 0x04, 0xc6, 0x2e, 0x4b, 0x62, 0xf5, 0xd9, 0x7c, 0x75, 0x8c, 0x05, 0x78, 0x61, + 0x42, 0xe7, 0xcc, 0x0d, 0xd8, 0x8e, 0x71, 0x95, 0x26, 0x73, 0xd5, 0xcb, 0xe2, 0xc7, 0x64, 0xae, + 0xbf, 0x32, 0x23, 0xbb, 0x5d, 0x7e, 0xe5, 0xeb, 0x3e, 0x06, 0xef, 0x89, 0x36, 0x0e, 0x04, 0xbb, + 0xdb, 0x66, 0x70, 0x3f, 0xee, 0x43, 0x89, 0x2a, 0x39, 0x09, 0xcf, 0xc2, 0x9a, 0x70, 0x5e, 0x35, + 0x04, 0x99, 0x37, 0x3a, 0xa5, 0x56, 0x13, 0xc2, 0x0a, 0x5f, 0xcf, 0x33, 0xbd, 0x5a, 0x3e, 0x3d, + 0xf8, 0x9f, 0x3d, 0x1b, 0x51, 0x74, 0x10, 0x44, 0x5a, 0x29, 0xc1, 0x11, 0x0d, 0x2f, 0x71, 0x01, + 0xe6, 0xe2, 0x36, 0x3b, 0x6a, 0x8c, 0xe7, 0x4b, 0x07, 0xd3, 0x59, 0x5e, 0x82, 0xde, 0xdc, 0x67, + 0x7f, 0x55, 0x1c, 0x2e, 0xa8, 0xb1, 0x23, 0x2f, 0xf7, 0x4f, 0x9f, 0x9c, 0xf6, 0x78, 0x0e, 0x6a, + 0xb3, 0x57, 0x65, 0x85, 0x77, 0xa9, 0xb5, 0x61, 0x88, 0x44, 0xcc, 0x75, 0x20, 0xf3, 0xa6, 0x94, + 0x63, 0x43, 0x41, 0x83, 0xf1, 0x8c, 0x04, 0xb6, 0xe1, 0xd2, 0xd1, 0xe7, 0xd5, 0x4a, 0x27, 0xa5, + 0x01, 0x0f, 0xe1, 0x79, 0xff, 0x2b, 0x39, 0x87, 0x66, 0xb5, 0x36, 0x2c, 0x77, 0xd6, 0x17, 0x55, + 0x40, 0xbc, 0xf5, 0x15, 0x58, 0x34, 0x73, 0x98, 0xe2, 0x9f, 0x1f, 0xa1, 0x67, 0xb1, 0xa0, 0x83, + 0xd6, 0xc9, 0x59, 0x17, 0x57, 0xe4, 0x64, 0x0e, 0x1d, 0x54, 0x13, 0xc9, 0xbd, 0xa5, 0x6c, 0x3e, + 0xc7, 0xb2, 0x45, 0xa4, 0x9e, 0x87, 0xb6, 0x42, 0x0a, 0x94, 0xd5, 0xd4, 0x0e, 0xd7, 0xf4, 0x1d, + 0xa8, 0xa3, 0x41, 0xe7, 0x78, 0xc4, 0x7e, 0xe9, 0x5a, 0xee, 0xd7, 0x72, 0x2e, 0xd3, 0x90, 0x3e, + 0xdb, 0xfd, 0xec, 0xfa, 0x5d, 0x9c, 0xea, 0xb9, 0x11, 0xd8, 0x39, 0x75, 0x08, 0x70, 0x1f, 0xe5, + 0x3f, 0x47, 0xfc, 0xa4, 0x1b, 0xbf, 0x69, 0x21, 0x79, 0x2a, 0xa7, 0xa6, 0x24, 0x80, 0xc5, 0xa8, + 0x0c, 0xdd, 0xb8, 0xaa, 0x6d, 0x0e, 0xbd, 0xb0, 0xff, 0x6d, 0x05, 0xbf, 0x0a, 0x80, 0x69, 0x18, + 0xfa, 0xa5, 0x7b, 0xd0, 0x06, 0x19, 0x53, 0x85, 0x93, 0x2a, 0xf2, 0x27, 0x8d, 0xaf, 0x09, 0xc2, + 0x8a, 0x5a, 0xeb, 0xb7, 0x7a, 0x70, 0x86, 0xd0, 0x97, 0xb9, 0x7e, 0xe7, 0x67, 0xf2, 0x6c, 0x44, + 0xb5, 0x3a, 0xa3, 0xb6, 0x22, 0xf4, 0x4f, 0x06, 0x53, 0x67, 0x6a, 0x85, 0xf2, 0x22, 0x7b, 0x22, + 0xde, 0xd8, 0x98, 0x02, 0xde, 0xfe, 0xbd, 0xf1, 0x5c, 0xea, 0x12, 0x26, 0x41, 0x37, 0x7f, 0x3c, + 0x9e, 0x88, 0xe7, 0xd7, 0x8f, 0x6b, 0x96, 0x6d, 0x88, 0xf7, 0x4d, 0xb3, 0x03, 0xb4, 0x0d, 0xb4, + 0xc0, 0x94, 0xfc, 0xd6, 0xe7, 0x77, 0x2a, 0x57, 0x44, 0xe4, 0xe7, 0xff, 0xa8, 0x58, 0xc5, 0x00, + 0x8f, 0x6a, 0xea, 0x78, 0x18, 0xeb, 0xf6, 0x57, 0x09, 0x3b, 0x9c, 0x41, 0xed, 0x63, 0x1c, 0xe0, + 0xca, 0xaa, 0x7e, 0xe6, 0xa8, 0x12, 0xfb, 0xcf, 0x1f, 0xd7, 0x14, 0xa6, 0x0e, 0x8c, 0xea, 0x2e, + 0xa6, 0xeb, 0x82, 0xed, 0x79, 0x3d, 0xbc, 0xed, 0xce, 0xdf, 0xca, 0xed, 0x56, 0x4c, 0xdf, 0x28, + 0x5e, 0xd8, 0x9a, 0x37, 0x4d, 0xb2, 0x40, 0xde, 0x21, 0x8d, 0x78, 0xa1, 0x97, 0x1b, 0x06, 0x18, + 0x19, 0xa0, 0xba, 0x25, 0xea, 0x2d, 0x4c, 0x96, 0xb4, 0x06, 0x85, 0x66, 0x14, 0x82, 0x4b, 0x1f, + 0xc5, 0x17, 0x92, 0xec, 0xe2, 0x16, 0x21, 0xdb, 0x46, 0x01, 0xa3, 0xce, 0x01, 0xeb, 0xb2, 0x79, + 0x64, 0x00, 0x19, 0x59, 0x59, 0xe1, 0xeb, 0x78, 0x4d, 0x5d, 0x4d, 0x42, 0x78, 0xf8, 0x59, 0xe5, + 0x9c, 0xd4, 0x98, 0x95, 0x7b, 0x3a, 0x19, 0x78, 0x77, 0x75, 0x2e, 0x0f, 0x88, 0x0b, 0xf5, 0x34, + 0x41, 0xef, 0xaf, 0xa6, 0x53, 0x01, 0xcd, 0xb9, 0xa8, 0x9d, 0x5c, 0x84, 0x7e, 0x81, 0xd0, 0x9f, + 0xa9, 0xee, 0xea, 0x87, 0xbe, 0xce, 0x29, 0xbb, 0x54, 0xb3, 0x36, 0x5b, 0x04, 0x2a, 0x14, 0x6a, + 0x7c, 0x26, 0xa0, 0xb9, 0x75, 0x39, 0x77, 0x32, 0x11, 0x25, 0x3b, 0x52, 0x8a, 0x70, 0x4d, 0xe2, + 0x81, 0x68, 0x0a, 0x38, 0xf5, 0x1b, 0x74, 0x7d, 0xee, 0x18, 0x13, 0xf9, 0x82, 0xa1, 0x5c, 0x82, + 0xa6, 0x4d, 0x3f, 0x29, 0x4d, 0x1e, 0x39, 0xc6, 0x3b, 0xe7, 0x9d, 0xdb, 0xba, 0xe4, 0xc5, 0xdf, + 0x74, 0x30, 0x69, 0xc7, 0x01, 0x2f, 0x56, 0x6b, 0x97, 0x77, 0x16, 0x5e, 0x63, 0x61, 0x57, 0xee, + 0xf1, 0x9f, 0x7c, 0xbf, 0x8e, 0x44, 0x9a, 0x55, 0xd0, 0xa0, 0xef, 0xa3, 0x5a, 0x97, 0x90, 0x79, + 0xf4, 0x8c, 0x06, 0xb6, 0x84, 0x57, 0xfd, 0xd2, 0xd1, 0x7f, 0xcc, 0x3f, 0xd8, 0xb3, 0xbe, 0x2d, + 0xc0, 0xae, 0xc6, 0x2b, 0xb6, 0x58, 0x64, 0xa1, 0x0c, 0x2d, 0xcb, 0x41, 0x6d, 0xb5, 0x93, 0x87, + 0xa6, 0x3e, 0xc6, 0xa4, 0x01, 0x70, 0x05, 0xcf, 0xdd, 0x70, 0x58, 0x3e, 0xca, 0x8c, 0x16, 0xef, + 0xe3, 0x2d, 0x04, 0xcc, 0x61, 0x02, 0xfc, 0xfc, 0xf2, 0xbd, 0x3a, 0xae, 0xbc, 0xe2, 0x0e, 0x80, + 0x95, 0xd8, 0xf4, 0xc3, 0x56, 0x3a, 0xbe, 0x90, 0x0a, 0xc6, 0x28, 0x11, 0xaa, 0x35, 0x58, 0xd7, + 0xa4, 0x2f, 0x21, 0x3b, 0xb1, 0xa7, 0xf0, 0xf7, 0x4a, 0xf5, 0x28, 0x47, 0xcb, 0xdd, 0x9c, 0x7f, + 0x41, 0x15, 0x55, 0xb6, 0x52, 0x9d, 0x9f, 0xe9, 0xa7, 0xda, 0x64, 0x2c, 0x83, 0x83, 0xc6, 0xe1, + 0x10, 0x44, 0x2c, 0x03, 0x82, 0x0b, 0x53, 0x0a, 0x7b, 0xc0, 0x7f, 0x33, 0x60, 0x16, 0x13, 0x78, + 0x71, 0xd8, 0xc1, 0xa9, 0x4b, 0x71, 0xae, 0x62, 0x1c, 0x94, 0xac, 0x6b, 0xc1, 0x11, 0x8a, 0x28, + 0x13, 0x6d, 0x8b, 0x3f, 0x1f, 0x1d, 0x49, 0xfb, 0x04, 0x75, 0xd2, 0x17, 0x89, 0xf4, 0x28, 0x0d, + 0x09, 0xc8, 0x31, 0x77, 0x8c, 0x94, 0xaf, 0x3f, 0x82, 0x94, 0x58, 0xa1, 0x91, 0xec, 0x6c, 0x37, + 0x3d, 0x83, 0xaa, 0x87, 0x62, 0xba, 0x84, 0x88, 0xad, 0x28, 0x7c, 0x68, 0xbe, 0x13, 0x19, 0xe0, + 0xe3, 0xf2, 0xfa, 0x5f, 0x99, 0xe4, 0xb7, 0x76, 0xba, 0x16, 0xdf, 0xc0, 0xec, 0x04, 0x46, 0xde, + 0x68, 0xc3, 0xe9, 0xf6, 0x1a, 0x24, 0x85, 0x01, 0xf0, 0xad, 0x89, 0xe6, 0x94, 0xd5, 0x00, 0x86, + 0x3e, 0xcb, 0x64, 0x14, 0x28, 0xf5, 0xab, 0x6d, 0x7d, 0xad, 0xb5, 0x50, 0x06, 0xd9, 0x9b, 0x84, + 0x9a, 0xc3, 0xce, 0xdb, 0x4d, 0xd0, 0x79, 0x54, 0xb0, 0x7d, 0xc5, 0xf4, 0xba, 0xbe, 0x6d, 0x24, + 0xc0, 0xdf, 0x89, 0xd3, 0xd7, 0x8f, 0xb6, 0xbd, 0xa7, 0xec, 0x30, 0x0e, 0xe2, 0x32, 0x8d, 0x39, + 0x05, 0x16, 0xd4, 0x13, 0xb6, 0xa1, 0x1a, 0x15, 0xf4, 0xbc, 0xc7, 0x63, 0x1b, 0xcb, 0x20, 0x04, + 0x0e, 0x92, 0x05, 0x4c, 0x18, 0xb3, 0xc2, 0x60, 0xbc, 0xaa, 0xa3, 0x29, 0xf1, 0x4e, 0xb0, 0xf4, + 0x1e, 0x3d, 0x0f, 0xd7, 0xfd, 0xcc, 0xc5, 0xea, 0x86, 0xf8, 0xe3, 0x4d, 0xdc, 0x20, 0xa4, 0x20, + 0xe2, 0x5e, 0x2f, 0x72, 0x54, 0xd7, 0x0d, 0xb4, 0x3e, 0x34, 0x23, 0xf9, 0x7b, 0xeb, 0x1f, 0x65, + 0x41, 0x80, 0x2c, 0x5d, 0x34, 0xdf, 0xce, 0x18, 0x52, 0xcd, 0x72, 0x20, 0x83, 0x51, 0x76, 0x3c, + 0x27, 0xe4, 0xdb, 0xbc, 0x48, 0x65, 0xba, 0xef, 0x6b, 0xfb, 0xfa, 0xc0, 0x86, 0x28, 0xd2, 0x9a, + 0x3e, 0x72, 0xb9, 0x62, 0x4c, 0x55, 0x23, 0x17, 0xf2, 0xba, 0xef, 0x6d, 0xcd, 0x5d, 0x41, 0x1b, + 0x1f, 0x64, 0x3f, 0x7d, 0x05, 0xec, 0xd1, 0x07, 0xa1, 0xd9, 0x58, 0x38, 0x62, 0xbc, 0xb7, 0xa9, + 0x22, 0x6b, 0x28, 0x07, 0xb6, 0x43, 0x6d, 0xb0, 0x0c, 0x81, 0xac, 0x5a, 0x8b, 0x56, 0xf7, 0x09, + 0x99, 0x52, 0x6c, 0x08, 0x11, 0x1c, 0xed, 0x6c, 0xe2, 0x46, 0x2c, 0xc9, 0x8d, 0x19, 0xe2, 0x3f, + 0x28, 0xe6, 0x51, 0x49, 0x06, 0xfe, 0xed, 0xcf, 0x82, 0x93, 0x62, 0xf9, 0x33, 0x77, 0xd4, 0x47, + 0x62, 0x0b, 0xc9, 0xe8, 0x13, 0x6b, 0xa2, 0x9e, 0x4e, 0x05, 0x32, 0x54, 0xd4, 0x6d, 0xdc, 0x15, + 0x48, 0x80, 0xd0, 0x4e, 0x49, 0x5f, 0x66, 0x15, 0x4d, 0x00, 0x82, 0xf8, 0x83, 0xc9, 0xa8, 0x9e, + 0x2b, 0x98, 0xfc, 0xc9, 0xca, 0xd4, 0xa0, 0x8a, 0x9a, 0x4d, 0xe4, 0x3e, 0x70, 0xa8, 0xec, 0xed, + 0x68, 0x5d, 0x39, 0x57, 0xe5, 0x59, 0xf0, 0xa5, 0x02, 0x0b, 0x42, 0x73, 0x08, 0x2c, 0x5c, 0x40, + 0x6b, 0x23, 0x11, 0xd9, 0x04, 0x7f, 0x8b, 0xce, 0x75, 0x66, 0xc2, 0x6a, 0x25, 0x37, 0xf4, 0x5f, + 0x32, 0xa8, 0xe1, 0x6e, 0xc3, 0x94, 0x2a, 0x8e, 0x7c, 0xe3, 0xde, 0x4c, 0xaf, 0x65, 0x47, 0x9e, + 0x47, 0xe5, 0x99, 0x64, 0x36, 0x82, 0x03, 0xdd, 0x37, 0x92, 0x4d, 0xc2, 0x7e, 0x3e, 0xd3, 0x10, + 0x7a, 0x49, 0x86, 0x43, 0xfb, 0xaa, 0x12, 0xc6, 0xdd, 0x02, 0x0f, 0xb8, 0x0f, 0x7f, 0xd6, 0x53, + 0xa8, 0xf6, 0xaa, 0x2c, 0x36, 0x92, 0x3a, 0xbc, 0xf6, 0x9d, 0xf4, 0xb0, 0xf0, 0x50, 0x24, 0x09, + 0x42, 0xce, 0x3d, 0x6d, 0x50, 0xf1, 0x6b, 0x23, 0x2c, 0x10, 0xd2, 0x6e, 0x49, 0x27, 0x2c, 0xea, + 0x51, 0xa4, 0x14, 0x18, 0xf6, 0x39, 0x73, 0x75, 0x6c, 0x10, 0x53, 0xc8, 0x56, 0x6e, 0xf2, 0xeb, + 0x3f, 0x2a, 0x7c, 0x3c, 0x2a, 0x99, 0x92, 0xbf, 0x43, 0x05, 0x45, 0x91, 0x46, 0x4a, 0x06, 0x0f, + 0x11, 0x85, 0x94, 0x73, 0x30, 0xe9, 0x74, 0xdb, 0xbc, 0xde, 0x92, 0xcf, 0x8a, 0x22, 0x36, 0x44, + 0xb3, 0x76, 0x89, 0x40, 0x9e, 0x80, 0x8d, 0xad, 0x72, 0x6c, 0x18, 0x4b, 0x71, 0x47, 0xae, 0x28, + 0x47, 0x09, 0x7a, 0xe7, 0xfa, 0xf8, 0xd6, 0xd8, 0x9d, 0xda, 0x48, 0x0a, 0xeb, 0x7a, 0xb8, 0x5c, + 0xe2, 0xae, 0x42, 0xf1, 0x95, 0x44, 0x8d, 0x79, 0x37, 0x31, 0x7d, 0x7d, 0xff, 0x33, 0x8b, 0x5c, + 0xcd, 0x53, 0x00, 0xaa, 0x5c, 0xcb, 0x96, 0x7b, 0x30, 0x67, 0xd4, 0x0a, 0x50, 0x01, 0xac, 0xac, + 0x0c, 0x29, 0xa8, 0x1c, 0x11, 0xc8, 0x8b, 0x34, 0x7c, 0x08, 0xc1, 0xe7, 0xd2, 0x2a, 0xec, 0xbe, + 0x2a, 0x64, 0x43, 0xdc, 0xe8, 0xb1, 0x8f, 0xcf, 0x6b, 0x73, 0xbc, 0xf1, 0xa8, 0xc1, 0x38, 0x0b, + 0x37, 0xb1, 0xcb, 0x6c, 0xcd, 0xa8, 0xa7, 0x7d, 0x85, 0x74, 0xad, 0x20, 0x5a, 0xd3, 0x23, 0xb6, + 0x6d, 0x29, 0x6c, 0x76, 0x11, 0x8a, 0x10, 0xff, 0x56, 0x08, 0x02, 0x45, 0xa1, 0x1a, 0xf8, 0xc4, + 0x97, 0x7c, 0xe1, 0x1e, 0x31, 0x18, 0x81, 0xd9, 0x87, 0x7b, 0xf6, 0xf7, 0x82, 0x7a, 0x92, 0x8a, + 0xbc, 0x44, 0xc8, 0x68, 0xec, 0x8e, 0x86, 0x7d, 0x7e, 0xa6, 0x80, 0x16, 0x31, 0xaf, 0x39, 0x94, + 0x70, 0x63, 0xfb, 0xcb, 0x42, 0x12, 0x52, 0x8d, 0x50, 0xba, 0xd2, 0x10, 0x6b, 0x3f, 0xd3, 0x38, + 0x89, 0x58, 0xdd, 0x04, 0xc8, 0x1b, 0xdb, 0xb1, 0x31, 0x8c, 0x8c, 0x69, 0xc3, 0xdd, 0x45, 0x61, + 0x5d, 0x5a, 0x4a, 0x52, 0x1f, 0xd5, 0x7b, 0xcb, 0x3b, 0x2e, 0x33, 0x2b, 0x26, 0xa8, 0xf7, 0xfa, + 0x77, 0x84, 0x50, 0x6a, 0xdd, 0x57, 0x5d, 0xb7, 0x4a, 0x6c, 0xe6, 0xa8, 0x4e, 0xe2, 0xe0, 0xd5, + 0x65, 0x64, 0xab, 0x63, 0x3c, 0x75, 0x9f, 0x4b, 0x37, 0xc6, 0x77, 0xf1, 0xf4, 0x8f, 0x35, 0x5d, + 0x84, 0x58, 0x2b, 0x26, 0x4e, 0x4b, 0x43, 0xc0, 0x23, 0xde, 0x16, 0xc7, 0xa7, 0x60, 0xf1, 0x84, + 0xde, 0xaf, 0x88, 0x7f, 0x4f, 0x8d, 0xce, 0x36, 0x19, 0x4a, 0x69, 0x87, 0x62, 0xaa, 0x99, 0xa6, + 0xb3, 0x40, 0xe8, 0xde, 0x54, 0xf2, 0x34, 0x17, 0x7e, 0x6c, 0x8d, 0x5f, 0xb5, 0x18, 0x98, 0xac, + 0x00, 0xbe, 0xfb, 0x46, 0x40, 0x8f, 0x82, 0x9c, 0x4a, 0xdd, 0x44, 0x96, 0x35, 0xf9, 0x44, 0xb5, + 0xfc, 0xca, 0xf5, 0x84, 0xe1, 0x1b, 0x1e, 0x22, 0x6c, 0x82, 0x4c, 0xbc, 0x27, 0xe6, 0x6d, 0xc5, + 0xe7, 0x36, 0x88, 0x80, 0xfa, 0x49, 0x51, 0x34, 0xea, 0x7e, 0xc4, 0xfb, 0x5b, 0xe3, 0x78, 0xdb, + 0xba, 0xb7, 0x2b, 0xcc, 0xbe, 0xf4, 0xf1, 0x51, 0xac, 0x44, 0x5f, 0x22, 0xf2, 0x4c, 0xc9, 0x6b, + 0xa9, 0x4a, 0xca, 0x01, 0x32, 0x91, 0xcc, 0xe2, 0x23, 0xe0, 0xdc, 0xcb, 0xd4, 0x39, 0x88, 0x39, + 0xa6, 0x43, 0x3b, 0x8b, 0x50, 0x10, 0x32, 0xa0, 0x57, 0xdc, 0x32, 0x4a, 0xde, 0x28, 0xa8, 0x9b, + 0x62, 0xdf, 0xeb, 0xd2, 0xb3, 0x10, 0x58, 0x3e, 0xdf, 0x61, 0xbe, 0xb5, 0xbe, 0x21, 0xa2, 0x25, + 0xea, 0xc6, 0x93, 0xcb, 0x4a, 0x65, 0xb0, 0xdc, 0x24, 0x06, 0xb6, 0x83, 0x58, 0xb9, 0x73, 0x74, + 0x2f, 0x88, 0xc1, 0x88, 0x94, 0x7c, 0x98, 0x96, 0x19, 0x20, 0x31, 0x14, 0x20, 0x99, 0x7a, 0x4c, + 0xa3, 0xf7, 0x2a, 0x8f, 0x0b, 0x65, 0x49, 0x2b, 0x27, 0x24, 0x92, 0x3e, 0xe1, 0x0c, 0x35, 0x03, + 0x98, 0x4b, 0xa2, 0x7b, 0x47, 0xa0, 0x75, 0xb9, 0x7a, 0x7e, 0x90, 0x9f, 0x63, 0xe3, 0xfc, 0x01, + 0x84, 0xeb, 0x32, 0x30, 0xce, 0x9a, 0x1c, 0xb9, 0xac, 0xef, 0x03, 0x3d, 0xc5, 0x4d, 0x94, 0x90, + 0x90, 0x1d, 0xee, 0x2b, 0xf4, 0xdd, 0xd6, 0x0f, 0xa3, 0x95, 0x05, 0xa4, 0x2f, 0xa4, 0x11, 0xc3, + 0x06, 0xcb, 0x68, 0x86, 0x11, 0x1e, 0x2c, 0xcb, 0x3e, 0x39, 0xb6, 0x07, 0x90, 0x4b, 0x00, 0xa0, + 0xe1, 0x1c, 0x49, 0xa4, 0x8d, 0xba, 0xd4, 0xf0, 0x28, 0xee, 0xf0, 0x83, 0x78, 0x38, 0xf6, 0x18, + 0xb8, 0xb4, 0x7f, 0x46, 0xba, 0xaa, 0x13, 0x93, 0xa3, 0x7a, 0x63, 0xc6, 0xfe, 0x20, 0x66, 0x4d, + 0x4c, 0x65, 0x02, 0xf3, 0xb0, 0x64, 0x82, 0x26, 0x13, 0x75, 0x5a, 0x99, 0x5b, 0xe8, 0x7b, 0xbd, + 0xda, 0x46, 0x75, 0x2c, 0x7e, 0x30, 0xe4, 0x21, 0xf6, 0x65, 0x75, 0xd0, 0xcc, 0xa0, 0x1f, 0xd5, + 0x84, 0x3c, 0x4b, 0xc0, 0x82, 0xf6, 0xd6, 0x5c, 0x92, 0xd6, 0xd3, 0x36, 0x3c, 0x87, 0x48, 0x71, + 0xfe, 0xc0, 0xf0, 0x2d, 0xfe, 0x17, 0x4f, 0x91, 0x8e, 0xda, 0x4b, 0xfa, 0x6c, 0x6f, 0x20, 0x2b, + 0xea, 0xb9, 0xd6, 0xf6, 0x89, 0x81, 0xfe, 0x15, 0x27, 0x6e, 0x9b, 0xc3, 0xcc, 0x58, 0x38, 0xf3, + 0x18, 0x66, 0x4b, 0xce, 0xfb, 0x2d, 0xe0, 0x47, 0x73, 0xc7, 0x83, 0x65, 0x2f, 0x9b, 0x43, 0xcc, + 0x62, 0xa8, 0x2c, 0xd6, 0x0d, 0x70, 0x1e, 0xbb, 0xdc, 0xa6, 0x97, 0x84, 0xe1, 0x19, 0xf3, 0xfb, + 0x35, 0xb8, 0x9d, 0x97, 0x23, 0x87, 0x12, 0x66, 0x99, 0x1e, 0x0f, 0x85, 0x03, 0x37, 0x21, 0x12, + 0x9b, 0x08, 0x10, 0x27, 0x9d, 0x60, 0xef, 0xed, 0x1b, 0x2d, 0x0f, 0x85, 0x54, 0x7c, 0xb7, 0xe0, + 0x96, 0xee, 0x2f, 0xe3, 0x27, 0xb6, 0xaa, 0xe3, 0x82, 0x81, 0x81, 0xbf, 0x00, 0x99, 0xa3, 0xda, + 0xa8, 0x52, 0x2f, 0xa3, 0x41, 0x2f, 0x09, 0x55, 0xeb, 0x49, 0x29, 0xe5, 0x01, 0xcf, 0x41, 0xf2, + 0x8c, 0x79, 0x51, 0xd5, 0xd1, 0x18, 0x94, 0x92, 0xa0, 0xf4, 0xdc, 0xe3, 0x88, 0xea, 0x1f, 0x22, + 0xf6, 0xea, 0x57, 0x48, 0xaa, 0x30, 0x48, 0x2b, 0x88, 0x71, 0xd4, 0xd6, 0xfa, 0x1d, 0xce, 0x51, + 0xa0, 0x5e, 0x87, 0x53, 0x74, 0x9b, 0xe8, 0x10, 0xee, 0x3e, 0xb7, 0x5d, 0xb8, 0xc2, 0x67, 0x19, + 0x91, 0xe1, 0xa3, 0x93, 0x89, 0x6c, 0xaa, 0xed, 0x60, 0x2e, 0x5b, 0xd7, 0xe8, 0xe6, 0xc6, 0xb7, + 0xc1, 0x6a, 0x52, 0xbb, 0x6e, 0x7e, 0x84, 0x2c, 0xcc, 0x8a, 0x12, 0x1b, 0xff, 0x18, 0x2f, 0x9a, + 0x59, 0x1f, 0x1d, 0x4d, 0x20, 0xb5, 0x35, 0x62, 0x3f, 0xaf, 0xeb, 0x8d, 0xd7, 0x5f, 0x4a, 0x89, + 0x06, 0xfa, 0xd0, 0xdc, 0xfd, 0xa1, 0x40, 0x68, 0xed, 0x62, 0xb2, 0x62, 0x1d, 0x15, 0xef, 0x7d, + 0xe7, 0xdb, 0xe6, 0x1c, 0x8d, 0x3d, 0x88, 0xc0, 0xdc, 0x3a, 0x1e, 0x61, 0xd0, 0xe2, 0xb8, 0x7b, + 0x04, 0xae, 0x06, 0xdf, 0x8b, 0x83, 0x81, 0x50, 0xe8, 0x53, 0x95, 0x30, 0xf1, 0xfb, 0xf7, 0x62, + 0x2e, 0xe9, 0x8c, 0x7a, 0xf6, 0x45, 0x9e, 0x64, 0xcd, 0x66, 0xae, 0x94, 0xec, 0x8c, 0xda, 0x31, + 0x96, 0x1f, 0xaf, 0xcf, 0x9a, 0x48, 0x63, 0xba, 0x41, 0xba, 0x2c, 0xbc, 0x89, 0x1a, 0x3f, 0x88, + 0x09, 0x44, 0x45, 0xf5, 0xcf, 0xa4, 0xcb, 0x24, 0x70, 0x88, 0xb0, 0xf4, 0xb2, 0x02, 0x72, 0x99, + 0xd1, 0xff, 0x5d, 0xeb, 0xef, 0x7e, 0x17, 0xa5, 0xd1, 0xb2, 0x8a, 0xf9, 0x28, 0xdc, 0x42, 0xc2, + 0x5d, 0x50, 0x5e, 0xa9, 0x7b, 0x1c, 0xc4, 0x6f, 0x8f, 0x5c, 0x6a, 0x4a, 0x94, 0x69, 0x38, 0x74, + 0x8d, 0x94, 0x96, 0x8c, 0xee, 0x17, 0x71, 0xa5, 0xbc, 0x8c, 0x01, 0x4e, 0x85, 0xe1, 0x9e, 0x95, + 0x7b, 0x67, 0x22, 0xbc, 0xd4, 0x3b, 0x04, 0xa3, 0xe3, 0x25, 0xa7, 0x52, 0x49, 0x4e, 0x1f, 0x8f, + 0xf0, 0xbe, 0xfc, 0xf6, 0xea, 0xaf, 0x8b, 0xd2, 0x3b, 0xfa, 0x13, 0x79, 0x24, 0x2e, 0xd9, 0x55, + 0x16, 0x07, 0x56, 0xdd, 0xff, 0x89, 0x1e, 0xda, 0xd8, 0x5b, 0x63, 0x9e, 0xbb, 0x64, 0xd2, 0x38, + 0xed, 0xe3, 0xda, 0xfc, 0xda, 0x57, 0xe2, 0xb3, 0xee, 0xdc, 0x24, 0x48, 0x42, 0x50, 0xcc, 0xe3, + 0x77, 0x88, 0xea, 0x62, 0x98, 0xc9, 0x55, 0x27, 0x8f, 0x51, 0xc0, 0xb8, 0x29, 0xef, 0xff, 0x26, + 0x71, 0xed, 0x8a, 0x93, 0x50, 0xc0, 0x93, 0xe2, 0x95, 0xc7, 0xee, 0xad, 0xef, 0x3b, 0x50, 0xc5, + 0xf8, 0x15, 0xda, 0x2e, 0x3c, 0x82, 0x49, 0xe8, 0x55, 0x9b, 0x78, 0xf8, 0xbb, 0x86, 0x0a, 0x3a, + 0x27, 0xe4, 0x7d, 0xe0, 0xbd, 0x02, 0x02, 0x09, 0x29, 0xf8, 0x85, 0x43, 0xc0, 0x5a, 0x9d, 0x43, + 0xda, 0xc4, 0xd5, 0x8b, 0x79, 0x44, 0x7c, 0x70, 0xfe, 0x8b, 0x98, 0xf8, 0x55, 0xc1, 0x2c, 0x27, + 0x3e, 0x5b, 0x09, 0x08, 0xd5, 0x62, 0x15, 0x8c, 0x48, 0x2a, 0xa4, 0x3a, 0xb6, 0xe5, 0x6d, 0xa6, + 0xef, 0x4e, 0xaa, 0x2e, 0x2a, 0xd6, 0x24, 0x72, 0xf2, 0x8f, 0xbb, 0x64, 0xa7, 0xb4, 0x74, 0xf3, + 0x71, 0xef, 0xf1, 0x2f, 0xf3, 0xfb, 0x5f, 0x21, 0x57, 0x3a, 0x90, 0xe1, 0xd6, 0x8a, 0x1e, 0x1a, + 0x41, 0xe6, 0x95, 0x9d, 0x2b, 0x7b, 0xc1, 0xb6, 0x87, 0xc6, 0x71, 0x0a, 0x61, 0x90, 0xbe, 0x8b, + 0x9c, 0xac, 0x0e, 0x6c, 0xf0, 0xac, 0x71, 0x3f, 0x29, 0xcb, 0x71, 0xd5, 0x34, 0x0a, 0xa9, 0x46, + 0xf5, 0x59, 0x00, 0xbb, 0xb0, 0x8d, 0x3c, 0x3f, 0x09, 0x43, 0x14, 0x03, 0x3c, 0x32, 0xa9, 0xfe, + 0xea, 0xe0, 0xfe, 0xab, 0x8c, 0x84, 0x0f, 0xc6, 0x3f, 0xa8, 0x4d, 0x09, 0xb7, 0xd3, 0xae, 0xa9, + 0x57, 0x59, 0x97, 0x59, 0xb3, 0xda, 0x2b, 0x08, 0x17, 0xa1, 0xb0, 0x6a, 0x54, 0x6e, 0x1e, 0xa9, + 0xa1, 0x69, 0xcf, 0x64, 0x7f, 0xcd, 0xd3, 0x52, 0xf5, 0xda, 0xf0, 0x8b, 0x56, 0x27, 0x15, 0x77, + 0xc3, 0x50, 0xb3, 0x24, 0x65, 0x43, 0x91, 0xcc, 0x47, 0xf2, 0x47, 0x0a, 0xa4, 0x6e, 0x5f, 0x0e, + 0x89, 0x05, 0x91, 0x91, 0x84, 0x88, 0x9f, 0xd9, 0x6d, 0xb7, 0xbc, 0xa7, 0x0f, 0x99, 0x7a, 0x00, + 0x87, 0x5a, 0x9a, 0xc7, 0x08, 0xdc, 0x7d, 0xca, 0x12, 0xcf, 0x64, 0x82, 0xc0, 0x3d, 0x9a, 0xf9, + 0xf0, 0x4f, 0xcc, 0x30, 0xe7, 0x83, 0x04, 0x27, 0x19, 0x1c, 0x73, 0xfe, 0xc0, 0x52, 0x5a, 0x95, + 0x33, 0x79, 0x7f, 0xab, 0x42, 0x1d, 0x73, 0x8d, 0x08, 0xdd, 0x16, 0x6c, 0xd6, 0x0e, 0x94, 0xf0, + 0xa7, 0xc3, 0xb8, 0xff, 0x49, 0x66, 0x48, 0xf7, 0xd0, 0x13, 0x5b, 0xc7, 0x7e, 0xb5, 0x5a, 0x55, + 0x9d, 0x3b, 0x22, 0x04, 0x60, 0xcf, 0x9b, 0x3d, 0xf2, 0xb5, 0xde, 0x57, 0x1d, 0x51, 0xc8, 0xfd, + 0xf2, 0x82, 0xcb, 0xb7, 0x9c, 0x47, 0x17, 0xfc, 0x6f, 0xf2, 0x13, 0xd6, 0x43, 0xae, 0x7e, 0xa7, + 0x2b, 0x64, 0x4e, 0x9a, 0x3c, 0xdc, 0xd5, 0xd7, 0xad, 0xe8, 0x7c, 0xfb, 0xbb, 0x97, 0xa8, 0x94, + 0x40, 0xb3, 0xa1, 0x4c, 0x6a, 0x39, 0x09, 0x67, 0xfe, 0x28, 0x45, 0x54, 0xeb, 0x88, 0xca, 0xf2, + 0xa1, 0x34, 0x3c, 0xf3, 0x17, 0x22, 0xce, 0x47, 0x77, 0x23, 0xe8, 0x0d, 0xde, 0xa7, 0x3a, 0x50, + 0x7f, 0x98, 0x7e, 0xf7, 0x3d, 0x46, 0xc8, 0xd0, 0x8d, 0x60, 0x63, 0xa4, 0x0b, 0x16, 0xe0, 0x20, + 0xed, 0x81, 0x2a, 0x37, 0xfe, 0xc5, 0xb3, 0xd0, 0x66, 0x55, 0x0b, 0x07, 0xd6, 0xfc, 0x63, 0x37, + 0xb1, 0xd5, 0xbd, 0x3c, 0x0b, 0xf8, 0x3c, 0x54, 0x05, 0xd2, 0x71, 0xc1, 0x56, 0x23, 0x8a, 0xb5, + 0x7c, 0xbd, 0x36, 0xae, 0xdb, 0xcf, 0xda, 0x13, 0xab, 0x04, 0x84, 0x65, 0x01, 0x53, 0x2f, 0x24, + 0xa7, 0x5a, 0x8f, 0x19, 0xb0, 0x8c, 0x3a, 0x9f, 0xa3, 0xa8, 0x52, 0x48, 0xc0, 0xcf, 0xc9, 0x19, + 0x55, 0x9c, 0x63, 0x54, 0x0b, 0xee, 0x4a, 0x5b, 0x67, 0xb4, 0x88, 0xc3, 0x08, 0x9a, 0x2c, 0xd2, + 0x8f, 0x90, 0xb0, 0x60, 0x90, 0x6a, 0x1e, 0x75, 0xb7, 0x7f, 0xd0, 0xfc, 0x36, 0xf6, 0xb5, 0x39, + 0x38, 0xdc, 0xb3, 0xf1, 0xf5, 0x3d, 0x0e, 0x86, 0x6c, 0xf5, 0x12, 0x5c, 0xb7, 0x78, 0x2f, 0x56, + 0x0e, 0xcd, 0x62, 0x29, 0x00, 0x88, 0x05, 0x2a, 0xad, 0x92, 0xd2, 0xc3, 0x19, 0xca, 0xba, 0x58, + 0x2e, 0x3b, 0x45, 0x1c, 0x84, 0x22, 0x5f, 0x71, 0x8a, 0xbc, 0xf8, 0x8b, 0x04, 0x2d, 0x3a, 0xd7, + 0x46, 0x71, 0x06, 0x02, 0x41, 0xda, 0x21, 0xf5, 0x71, 0xaa, 0x30, 0xdc, 0xcd, 0x8b, 0xf8, 0xb2, + 0xed, 0xb3, 0xb8, 0x19, 0x18, 0x37, 0x7f, 0x71, 0xee, 0x77, 0xa2, 0x5e, 0x5a, 0xac, 0xf1, 0xbd, + 0x9c, 0x5f, 0xbd, 0xf5, 0x14, 0x37, 0xa7, 0x05, 0x0f, 0x31, 0xde, 0xa9, 0x36, 0x55, 0x8a, 0xc5, + 0xb7, 0x3a, 0x2b, 0x71, 0x41, 0x1d, 0x79, 0xfb, 0xdc, 0x3f, 0x40, 0xc7, 0xc8, 0x2e, 0x6e, 0xe9, + 0xdc, 0x00, 0xb6, 0x0d, 0x24, 0x82, 0x2f, 0x2c, 0x00, 0xdb, 0x34, 0xa9, 0x7f, 0x45, 0xc0, 0x2b, + 0xee, 0xc3, 0x9b, 0xfa, 0x0b, 0x81, 0xb1, 0x69, 0x27, 0x59, 0xfe, 0x77, 0xb9, 0x4c, 0xbb, 0xbc, + 0xaf, 0xa5, 0x7c, 0xd3, 0xc7, 0xc1, 0x3b, 0x5e, 0x01, 0x51, 0x5e, 0x4a, 0xf1, 0xad, 0xc8, 0xda, + 0xdf, 0xe0, 0x02, 0xf7, 0x9f, 0x42, 0x9f, 0x98, 0x1f, 0x74, 0x08, 0x69, 0x2d, 0x09, 0x89, 0xd4, + 0xa2, 0x09, 0xd8, 0xf0, 0xf4, 0xbe, 0x09, 0x49, 0x49, 0x0c, 0xcd, 0xf3, 0x96, 0xee, 0x16, 0x44, + 0x54, 0xf6, 0x71, 0x09, 0x48, 0x91, 0x6d, 0xf3, 0xe5, 0xe5, 0x1b, 0x2f, 0xfe, 0x20, 0xa8, 0xef, + 0x61, 0x61, 0xcc, 0x80, 0xf4, 0x40, 0x82, 0xae, 0x4c, 0x16, 0x40, 0x6e, 0x27, 0xbf, 0x7e, 0xc4, + 0xe8, 0xbc, 0x71, 0x1f, 0xb2, 0x4d, 0x38, 0x3e, 0xaa, 0x47, 0xca, 0x93, 0x4d, 0x63, 0x20, 0x0f, + 0x2c, 0x14, 0xf4, 0x08, 0xda, 0xaf, 0x32, 0xe1, 0xde, 0xfa, 0xca, 0x0d, 0x69, 0xc3, 0xf4, 0xfa, + 0x6b, 0xda, 0xd9, 0x29, 0x91, 0x5e, 0x7b, 0x3a, 0x40, 0x8f, 0x33, 0xb5, 0xc0, 0x6a, 0x4c, 0x48, + 0x15, 0x31, 0xd2, 0xc5, 0x9f, 0x93, 0xf6, 0x8e, 0xd9, 0x9f, 0x2c, 0xe0, 0x2d, 0x4e, 0x07, 0x7f, + 0x64, 0x6a, 0xc2, 0x70, 0x2b, 0x66, 0x52, 0xd1, 0xf9, 0x50, 0xc9, 0xbe, 0x09, 0x81, 0x3b, 0xf2, + 0x10, 0x00, 0x2b, 0x6b, 0x7b, 0x73, 0x7e, 0xee, 0x75, 0x97, 0x2a, 0x58, 0xe3, 0x1d, 0x54, 0x30, + 0x73, 0xad, 0xfb, 0x53, 0xff, 0xa1, 0x25, 0x6f, 0xb7, 0x58, 0x31, 0x68, 0xc7, 0xf0, 0xea, 0xa6, + 0xca, 0x64, 0x2a, 0x04, 0x62, 0x23, 0x02, 0x9f, 0xce, 0x27, 0x86, 0xe6, 0xcf, 0xaa, 0x45, 0x5c, + 0xbf, 0x9a, 0x05, 0x50, 0x7c, 0x84, 0x82, 0xda, 0xf0, 0x21, 0xf1, 0xf1, 0xd9, 0x23, 0xac, 0x04, + 0xe0, 0x20, 0x11, 0x68, 0x3f, 0x10, 0x45, 0xe2, 0x2a, 0xdd, 0x42, 0xab, 0xc8, 0x84, 0xf8, 0xd8, + 0xaa, 0x85, 0x0e, 0x41, 0x73, 0xe7, 0xcc, 0x03, 0x99, 0x1a, 0x0a, 0x97, 0x89, 0x1a, 0xb2, 0x28, + 0x14, 0xb3, 0x05, 0xc4, 0x5a, 0x87, 0xd9, 0xe1, 0x51, 0x3c, 0x8d, 0x33, 0xf2, 0xd0, 0x20, 0x0c, + 0xab, 0xa6, 0x49, 0x82, 0x23, 0xfe, 0xe7, 0xfe, 0xb3, 0xad, 0xda, 0x81, 0x08, 0x41, 0xb7, 0x8c, + 0xd4, 0xe4, 0xde, 0x6b, 0xe2, 0xc8, 0x2f, 0xd7, 0x29, 0x24, 0x0f, 0xf3, 0x04, 0xa1, 0x6a, 0x2a, + 0x66, 0x3a, 0x9b, 0x0e, 0xb3, 0x54, 0x51, 0x98, 0x1e, 0x94, 0xec, 0xfc, 0xa6, 0x42, 0x1f, 0x8b, + 0x00, 0x88, 0x14, 0x9c, 0xd5, 0x5b, 0x1e, 0x51, 0x33, 0xed, 0xd8, 0x16, 0x2b, 0xc8, 0x4d, 0xea, + 0xca, 0x2c, 0x9d, 0xf1, 0x0e, 0xe9, 0x90, 0xc8, 0x16, 0x84, 0xc0, 0xd7, 0x09, 0x8d, 0x65, 0x62, + 0x9e, 0xbc, 0xfc, 0xef, 0x73, 0xf8, 0xd6, 0xfb, 0xac, 0xe0, 0xe5, 0x20, 0xb8, 0xfa, 0xc1, 0xbc, + 0xe4, 0xc5, 0x4f, 0x3b, 0x89, 0x06, 0xc5, 0x4d, 0xc8, 0x38, 0x7e, 0xaa, 0xde, 0x1a, 0x4f, 0x2e, + 0xe1, 0xb0, 0xa9, 0xc8, 0x6f, 0x9d, 0xac, 0x03, 0xa8, 0xb5, 0x27, 0x34, 0x77, 0xd2, 0x18, 0x77, + 0x78, 0xa9, 0xfd, 0x62, 0x9a, 0xfc, 0xfc, 0xbc, 0x67, 0xa9, 0xaa, 0x71, 0xe0, 0x22, 0x49, 0x9c, + 0x71, 0x33, 0xe2, 0xc3, 0xf4, 0x1b, 0xca, 0x5b, 0xfd, 0x37, 0xc8, 0x63, 0x52, 0x67, 0x90, 0x8e, + 0x97, 0x34, 0x97, 0x45, 0xfa, 0xa7, 0xd0, 0x33, 0xc4, 0xc3, 0xd6, 0x7d, 0xbe, 0x71, 0x03, 0x4e, + 0xee, 0x9f, 0x85, 0x2a, 0xd9, 0xca, 0x23, 0xc1, 0x1e, 0x27, 0xf2, 0x50, 0xda, 0xae, 0x76, 0x4a, + 0x14, 0xef, 0x7b, 0x13, 0x42, 0xb0, 0xfa, 0xc0, 0x4f, 0x96, 0xa1, 0xf0, 0x91, 0x78, 0x1d, 0x9b, + 0x79, 0xe3, 0xf3, 0x3a, 0x81, 0x7f, 0x40, 0xae, 0x42, 0xa9, 0xf4, 0x9f, 0x04, 0xcc, 0xea, 0x83, + 0xac, 0xa3, 0xbe, 0x65, 0xcf, 0x33, 0x4a, 0xcd, 0x64, 0x87, 0xa3, 0x0e, 0xe4, 0xa8, 0x45, 0x0f, + 0x43, 0x2a, 0x53, 0x00, 0x42, 0x31, 0x80, 0x3b, 0xbe, 0x6d, 0xd8, 0xc5, 0xfa, 0xfc, 0xbd, 0x66, + 0xcb, 0x4d, 0x5f, 0x07, 0xfe, 0xf5, 0xdd, 0x53, 0x96, 0x6f, 0xa5, 0x35, 0xe4, 0x71, 0x75, 0x5a, + 0x9e, 0x88, 0x42, 0x83, 0x67, 0xd0, 0xbe, 0x7a, 0x30, 0x92, 0xe1, 0xd0, 0x91, 0xda, 0xcd, 0xb0, + 0x99, 0xc4, 0xb7, 0x5f, 0x9d, 0x1b, 0x6f, 0x24, 0x18, 0x1d, 0xe2, 0x6f, 0x09, 0x93, 0xd5, 0xb8, + 0x1b, 0x1c, 0xcf, 0x03, 0x9f, 0xb6, 0x66, 0x89, 0x48, 0xfd, 0x22, 0xda, 0x42, 0x11, 0x3e, 0xd0, + 0x24, 0x2e, 0xdc, 0x17, 0xc8, 0x6b, 0xa7, 0x46, 0x76, 0x47, 0xf8, 0x48, 0xeb, 0xcd, 0x85, 0x0d, + 0x0c, 0xe0, 0x1b, 0xfe, 0xe5, 0xf6, 0x1b, 0xf8, 0x4d, 0x81, 0x85, 0x94, 0x48, 0x93, 0xbe, 0x39, + 0xd3, 0xe6, 0x0d, 0x94, 0x49, 0xf8, 0xfb, 0x8f, 0xed, 0x1c, 0x44, 0x89, 0xc3, 0x0c, 0xc1, 0x3f, + 0xeb, 0x74, 0x20, 0x25, 0x9d, 0xf5, 0x21, 0x21, 0x5b, 0xc8, 0xce, 0x16, 0xc8, 0x46, 0xc5, 0x8b, + 0xc7, 0x61, 0xef, 0x99, 0x08, 0x2a, 0x31, 0x7c, 0x4e, 0xbd, 0x69, 0x32, 0xa7, 0x9e, 0xdd, 0xba, + 0xa8, 0x40, 0x50, 0x62, 0x0c, 0xaa, 0x27, 0xb4, 0x84, 0x5e, 0x5f, 0xf0, 0x50, 0x37, 0x57, 0xff, + 0x53, 0x76, 0xbe, 0x66, 0x92, 0x89, 0x7a, 0x38, 0x3b, 0xe3, 0x1c, 0x7c, 0x0e, 0x30, 0x22, 0x15, + 0xb0, 0x86, 0x23, 0xb9, 0x71, 0x88, 0x7f, 0xc7, 0x5f, 0x37, 0xe7, 0x71, 0x72, 0xf8, 0x70, 0xba, + 0x4e, 0xca, 0xa6, 0x34, 0xff, 0xd6, 0x3b, 0xd0, 0xc7, 0x79, 0x73, 0x5a, 0x97, 0x2d, 0x95, 0x84, + 0xd6, 0xc8, 0x0f, 0x3c, 0xa9, 0x58, 0x32, 0x4c, 0xdf, 0xe9, 0x74, 0xd4, 0x29, 0x6c, 0xc1, 0xed, + 0x80, 0x0f, 0xfe, 0xda, 0xef, 0x53, 0xd7, 0xbf, 0xce, 0x11, 0x3e, 0xae, 0x24, 0xa4, 0x97, 0x78, + 0x55, 0x9f, 0x18, 0xc8, 0x4f, 0x03, 0x0d, 0x4d, 0x6f, 0x48, 0xa1, 0x9d, 0x4b, 0xf0, 0x1f, 0xdd, + 0x9e, 0xfd, 0x16, 0xed, 0x1b, 0x00, 0x6a, 0x85, 0x54, 0xf8, 0xca, 0xa8, 0x34, 0xea, 0x92, 0x96, + 0x6c, 0x21, 0x45, 0x1f, 0x00, 0x18, 0x95, 0xd4, 0xf0, 0xa6, 0x47, 0x92, 0x7d, 0x8c, 0xa1, 0x0a, + 0x77, 0x22, 0x41, 0x2a, 0xcb, 0x76, 0x2b, 0xe2, 0x25, 0xf9, 0x40, 0x11, 0x81, 0xf7, 0xe0, 0xb2, + 0x4c, 0x67, 0x80, 0xe6, 0x21, 0xa9, 0xd6, 0x51, 0x3f, 0xf7, 0x0b, 0x26, 0x8b, 0xc0, 0x42, 0x20, + 0xb4, 0xa4, 0x1e, 0x2e, 0x7f, 0xca, 0x4c, 0x12, 0xb4, 0xb3, 0x2f, 0xee, 0x0c, 0xef, 0x58, 0xef, + 0xcc, 0x38, 0x24, 0x1e, 0x6e, 0x4b, 0xa5, 0x81, 0x5d, 0x89, 0xa8, 0x31, 0x91, 0x7d, 0x04, 0x51, + 0xc0, 0x66, 0xfe, 0x52, 0xc6, 0xf1, 0xb3, 0x32, 0x2a, 0x97, 0x48, 0xeb, 0x78, 0x22, 0x37, 0x19, + 0x23, 0x0c, 0x27, 0x9e, 0x01, 0x17, 0xe4, 0xf1, 0x7b, 0xd8, 0x54, 0x2d, 0x5b, 0x43, 0x65, 0x29, + 0xb7, 0x0c, 0xf2, 0xbb, 0x6a, 0x26, 0x9d, 0xb0, 0x42, 0x14, 0x5d, 0x7b, 0x35, 0xbc, 0x07, 0xb2, + 0xa4, 0x46, 0x64, 0x3b, 0xe8, 0xc8, 0x47, 0x75, 0xb9, 0x01, 0x07, 0x30, 0xdd, 0x73, 0x6d, 0x8f, + 0xfe, 0xb0, 0x78, 0x26, 0x4e, 0xd0, 0x0a, 0x93, 0xa8, 0x98, 0x04, 0x78, 0x3a, 0xc1, 0x82, 0x4e, + 0xf0, 0x37, 0x64, 0x97, 0x77, 0xf4, 0x2f, 0x42, 0xa7, 0x59, 0x40, 0xf3, 0xf7, 0x7f, 0x34, 0x4e, + 0xe2, 0x2a, 0x34, 0x54, 0xce, 0xbd, 0x55, 0x92, 0xcd, 0xd8, 0x3c, 0xfa, 0xc3, 0x15, 0x2d, 0x1f, + 0xbf, 0x24, 0x0b, 0xb0, 0xd8, 0x49, 0x49, 0x38, 0xf0, 0xfa, 0x69, 0xec, 0xdd, 0x53, 0x2e, 0x79, + 0x2b, 0x19, 0xc0, 0x6d, 0xbe, 0x28, 0x85, 0xc6, 0x65, 0xcb, 0x2a, 0xff, 0x68, 0x69, 0x39, 0xa5, + 0x9f, 0x22, 0xd8, 0xa8, 0x7d, 0xcc, 0x03, 0x4e, 0x2b, 0x5d, 0x56, 0xfd, 0xe8, 0x60, 0x74, 0x68, + 0x95, 0x3f, 0x07, 0x18, 0xd6, 0x52, 0xcd, 0xf9, 0x9c, 0xc1, 0x93, 0x1a, 0x9d, 0xd0, 0xf8, 0xa6, + 0x00, 0xec, 0xb3, 0x1e, 0x1b, 0x32, 0xe7, 0xa7, 0x72, 0x76, 0xef, 0xce, 0xa7, 0x36, 0xbf, 0x50, + 0xd9, 0x94, 0xe9, 0xac, 0x6c, 0xad, 0x4e, 0x40, 0x86, 0x99, 0x4a, 0xb0, 0x95, 0xf6, 0xfe, 0x08, + 0x98, 0xe1, 0xa1, 0x57, 0xe2, 0x15, 0xc2, 0xda, 0xef, 0x24, 0x5a, 0x2e, 0xf8, 0x83, 0x77, 0xff, + 0x7e, 0xe8, 0xce, 0xda, 0xd5, 0x80, 0x84, 0xe2, 0x9a, 0x3e, 0x22, 0x83, 0x13, 0xf6, 0xe4, 0x52, + 0xbd, 0x6a, 0x47, 0x70, 0xbb, 0xd3, 0x95, 0x28, 0x7a, 0x8c, 0x20, 0x22, 0xdd, 0xbc, 0x21, 0x1e, + 0x57, 0x1c, 0x30, 0xd7, 0x0e, 0xc5, 0xd8, 0xb9, 0x3b, 0xcc, 0xbb, 0x5c, 0x2c, 0x4d, 0xa4, 0x05, + 0x10, 0x4c, 0x7b, 0xf7, 0xfb, 0xdb, 0xfa, 0xca, 0xda, 0xe8, 0xcc, 0xdd, 0x16, 0x07, 0x97, 0x90, + 0x2f, 0x25, 0xc8, 0xad, 0x36, 0xa6, 0xb5, 0x2d, 0x48, 0x86, 0x25, 0x56, 0xa3, 0xc9, 0xe6, 0xf6, + 0x91, 0x91, 0xe5, 0x64, 0xa7, 0x6c, 0xa7, 0x3a, 0x70, 0x3b, 0xae, 0xf9, 0x17, 0x18, 0x36, 0x3b, + 0x5d, 0x01, 0xe4, 0x11, 0x5c, 0xaa, 0xed, 0x3a, 0x2d, 0x2a, 0xac, 0x17, 0xc8, 0xaa, 0xc8, 0xf3, + 0x63, 0x4d, 0x40, 0x50, 0x4b, 0xa2, 0xe8, 0x11, 0x18, 0xeb, 0x8e, 0x8d, 0x00, 0x77, 0xa0, 0x32, + 0xe7, 0x13, 0x61, 0x87, 0xe3, 0x4f, 0xa4, 0xd4, 0x95, 0xb2, 0xed, 0x06, 0xee, 0xb5, 0x0b, 0x65, + 0x57, 0x79, 0x5d, 0x33, 0xfe, 0x18, 0x0f, 0x67, 0x49, 0xc1, 0xf6, 0x4a, 0x85, 0x07, 0x8e, 0x1a, + 0x31, 0xc5, 0x7e, 0xbb, 0x8f, 0x71, 0xca, 0x0b, 0x78, 0x7e, 0x31, 0xef, 0x85, 0xa7, 0xe0, 0x85, + 0xcf, 0x1d, 0x8b, 0xb0, 0xfa, 0x54, 0xb2, 0xf9, 0xf1, 0x26, 0x89, 0xf2, 0x22, 0xa1, 0x7f, 0xd2, + 0x39, 0x35, 0x19, 0xeb, 0xb3, 0x8b, 0x8c, 0x3a, 0x58, 0xfa, 0xed, 0x5f, 0xed, 0xaa, 0x04, 0xd2, + 0x15, 0x82, 0x7c, 0xbb, 0xd2, 0x38, 0x1f, 0xbf, 0x35, 0x17, 0x3f, 0x1b, 0x6b, 0x58, 0xff, 0x63, + 0x00, 0xae, 0x53, 0xa0, 0x08, 0x1c, 0x7e, 0x24, 0x7c, 0x83, 0x05, 0xa3, 0xec, 0xfe, 0x27, 0x1b, + 0x70, 0x77, 0x39, 0x2f, 0x92, 0x61, 0xef, 0x7a, 0x0a, 0xcd, 0xfa, 0x23, 0xb8, 0x90, 0xef, 0x68, + 0xaa, 0x40, 0x33, 0x4e, 0xea, 0x47, 0x82, 0xb3, 0x35, 0x8b, 0xf7, 0x9e, 0xf3, 0xef, 0x96, 0xfe, + 0x6d, 0x7b, 0xe2, 0x0f, 0x81, 0x74, 0xf9, 0xb8, 0x8b, 0x73, 0xf1, 0x06, 0xfa, 0x73, 0x62, 0xb6, + 0xd2, 0xd9, 0x57, 0x93, 0x58, 0x9f, 0x12, 0x58, 0x63, 0x81, 0xbb, 0x38, 0x7d, 0x1a, 0xed, 0x2a, + 0x4e, 0xc7, 0xe3, 0xae, 0xdb, 0x7e, 0x53, 0x97, 0x8a, 0xb4, 0x4e, 0x33, 0x0d, 0x93, 0xd4, 0xb9, + 0x33, 0xda, 0x36, 0xdf, 0x45, 0x77, 0x6e, 0x95, 0xf2, 0x85, 0xf1, 0xea, 0xe4, 0xfc, 0x14, 0xbb, + 0x61, 0x3b, 0xf2, 0xbc, 0xeb, 0x0f, 0xc9, 0x10, 0x14, 0x9b, 0xa8, 0xd9, 0x70, 0x4d, 0x07, 0x1b, + 0x39, 0xc1, 0x78, 0x7d, 0x0f, 0x7d, 0x40, 0x03, 0x34, 0x1e, 0xed, 0xa6, 0xc2, 0xe8, 0x64, 0xf8, + 0xa0, 0xa5, 0xe7, 0x96, 0x9d, 0x49, 0x30, 0xea, 0xea, 0x93, 0x45, 0xf3, 0x22, 0xd4, 0x8b, 0xe6, + 0xb3, 0x8c, 0x6e, 0xaf, 0xb3, 0x11, 0x86, 0xd9, 0x4d, 0x12, 0x97, 0xb1, 0x97, 0x75, 0xc3, 0xee, + 0x9b, 0x37, 0x6f, 0x82, 0xfe, 0x42, 0xc3, 0x2e, 0x5b, 0x64, 0x91, 0xdf, 0x53, 0xda, 0x69, 0xf5, + 0x5f, 0xc2, 0x47, 0x07, 0xc0, 0xaf, 0xa0, 0x6a, 0xfd, 0xf8, 0xf2, 0x08, 0x5c, 0x70, 0x11, 0x78, + 0x77, 0xb5, 0xc3, 0xa5, 0x83, 0x48, 0xa6, 0xc5, 0xf0, 0x2d, 0x44, 0xa0, 0x2a, 0x8e, 0xb0, 0x86, + 0x82, 0xd3, 0x14, 0x69, 0x46, 0x3e, 0x81, 0x9b, 0x41, 0x82, 0x9f, 0xb5, 0x29, 0x2e, 0xbb, 0xd4, + 0xa4, 0x4a, 0x2c, 0x9f, 0xd3, 0x2e, 0x15, 0xcb, 0xc8, 0x75, 0xf4, 0x6e, 0x8a, 0x76, 0xad, 0x1b, + 0x81, 0x5a, 0xd0, 0x6e, 0xe1, 0x2b, 0x39, 0xdd, 0x55, 0xb8, 0x3e, 0x30, 0xb3, 0xe6, 0xf7, 0xfd, + 0x1f, 0xfd, 0x04, 0x3c, 0x1c, 0xb6, 0xfe, 0x7c, 0x15, 0xee, 0x56, 0x02, 0xd0, 0xed, 0x28, 0xe5, + 0x17, 0xe8, 0x75, 0x11, 0x96, 0x71, 0x10, 0x09, 0x97, 0xb7, 0x51, 0x67, 0xa5, 0xac, 0x63, 0x9f, + 0x19, 0xe8, 0x02, 0x64, 0xe2, 0xff, 0x10, 0x74, 0xf1, 0xd8, 0x6f, 0xd6, 0x7a, 0x0e, 0x6f, 0x62, + 0xf6, 0x1b, 0xf0, 0xa2, 0xbf, 0xdd, 0x2f, 0x11, 0x14, 0x37, 0x52, 0xee, 0x56, 0xf3, 0x2b, 0x9c, + 0xc0, 0xd3, 0x5c, 0x70, 0x49, 0x36, 0xb9, 0x18, 0xc0, 0x2f, 0x92, 0x9b, 0x09, 0x1f, 0xb2, 0x32, + 0x81, 0x19, 0xff, 0x2b, 0x0c, 0x96, 0x16, 0x83, 0x51, 0x4c, 0x9b, 0x07, 0x50, 0xa6, 0xa1, 0x7e, + 0x90, 0x4f, 0x07, 0x30, 0xee, 0xc4, 0x95, 0x3a, 0xdb, 0x27, 0x43, 0xac, 0x69, 0x3e, 0xd3, 0x3b, + 0xfa, 0x4c, 0x30, 0xe8, 0x90, 0x6c, 0x5a, 0x9a, 0x8f, 0x08, 0xd3, 0x47, 0xc4, 0x11, 0xea, 0xa2, + 0x12, 0x7a, 0x76, 0x75, 0x49, 0x99, 0x65, 0x45, 0x5e, 0x59, 0x0c, 0x31, 0x38, 0x5f, 0x9a, 0x8c, + 0xb0, 0x76, 0x8c, 0x82, 0xa1, 0x3a, 0xa2, 0xe0, 0x3c, 0x1c, 0xcd, 0x4e, 0x02, 0xfe, 0x46, 0xf8, + 0x83, 0xb0, 0x61, 0x1f, 0xa4, 0x5a, 0xff, 0xe5, 0x4b, 0x11, 0x42, 0x11, 0x23, 0xcd, 0x32, 0xc0, + 0x5e, 0x34, 0x62, 0xbb, 0xdd, 0x89, 0x96, 0xc5, 0x86, 0x1d, 0xc9, 0xfd, 0x37, 0x51, 0x40, 0x58, + 0xb1, 0x75, 0x28, 0xca, 0xda, 0xe2, 0x54, 0xfd, 0xde, 0x1b, 0x8e, 0x7d, 0xc1, 0x52, 0xba, 0x81, + 0x69, 0x27, 0xbe, 0x33, 0xe4, 0xc4, 0xac, 0xdc, 0x3a, 0x8e, 0x45, 0xa0, 0xca, 0x58, 0x51, 0x7d, + 0x35, 0x96, 0x45, 0xb9, 0x4e, 0x76, 0xa3, 0x88, 0xa5, 0x05, 0x47, 0x53, 0xdb, 0xf1, 0x58, 0xc3, + 0x60, 0x12, 0xf2, 0x49, 0x81, 0x22, 0x8a, 0xdb, 0xd8, 0x6c, 0x4c, 0x9b, 0x76, 0x63, 0x90, 0x6c, + 0xd8, 0x4c, 0x6a, 0x2b, 0xd3, 0xb9, 0x74, 0x49, 0xf8, 0x62, 0xad, 0x45, 0xc5, 0x85, 0x19, 0x06, + 0xa2, 0x35, 0x40, 0x63, 0x78, 0xef, 0xca, 0x48, 0x93, 0x4c, 0x69, 0x7f, 0xac, 0xbb, 0xf9, 0xd4, + 0x27, 0x7d, 0x5f, 0xfe, 0x13, 0xc9, 0xa4, 0x69, 0xc8, 0x91, 0xc6, 0xfa, 0xf5, 0x72, 0x9b, 0x30, + 0xd7, 0x06, 0x2c, 0xb4, 0xb7, 0xfd, 0x71, 0x62, 0x5b, 0xe1, 0xca, 0xe0, 0x6e, 0x93, 0x3f, 0x28, + 0x98, 0xa5, 0x8e, 0xb5, 0xe7, 0x83, 0x7c, 0x79, 0xe1, 0x3c, 0x1f, 0x8b, 0x7f, 0x6a, 0x0c, 0xa7, + 0x17, 0x81, 0xcb, 0x3f, 0xe6, 0xc3, 0x6e, 0x67, 0x05, 0xbb, 0xaa, 0xef, 0x41, 0x98, 0xaa, 0x49, + 0xbc, 0x0f, 0xd1, 0x24, 0x36, 0xde, 0xb9, 0x0b, 0x17, 0xed, 0x5d, 0xc4, 0xef, 0x23, 0x86, 0x59, + 0xbc, 0xd5, 0x35, 0x32, 0xbf, 0xce, 0x1e, 0x2b, 0xab, 0xb2, 0x9b, 0xd8, 0x03, 0xd7, 0x63, 0x95, + 0x62, 0xe1, 0x50, 0x41, 0x19, 0xec, 0xd6, 0xff, 0x7b, 0x12, 0x40, 0x91, 0x4f, 0xa0, 0xc7, 0xbb, + 0xb5, 0x15, 0xa7, 0xaf, 0xac, 0x03, 0x5b, 0xbf, 0x55, 0x1c, 0x09, 0x1d, 0x42, 0x65, 0x5f, 0x72, + 0xa6, 0xff, 0x05, 0xbd, 0x86, 0xcb, 0xc8, 0x1d, 0x7a, 0xd2, 0x67, 0x1f, 0x2e, 0x05, 0xaf, 0xf4, + 0x09, 0xb0, 0xbd, 0x1f, 0x89, 0x54, 0xc8, 0x91, 0x51, 0xd0, 0x45, 0xb1, 0x1f, 0xe9, 0x17, 0x88, + 0x08, 0xc4, 0x46, 0xe5, 0x72, 0xc9, 0xe9, 0x26, 0x65, 0x96, 0xee, 0xf8, 0x61, 0x81, 0x61, 0xa7, + 0x68, 0x03, 0x8a, 0x64, 0xa8, 0x47, 0xfa, 0x44, 0xbd, 0x9e, 0x91, 0xf6, 0xbe, 0xbe, 0xfb, 0x28, + 0xd3, 0xa4, 0xf7, 0x08, 0x3e, 0x93, 0x01, 0x58, 0x6c, 0x65, 0xb1, 0xc3, 0x5e, 0x1b, 0x4c, 0xef, + 0x25, 0xb4, 0xb2, 0x99, 0x08, 0xe9, 0xcb, 0xae, 0x18, 0xe8, 0x06, 0xf6, 0x26, 0xe9, 0x20, 0x5b, + 0xbc, 0x5f, 0x02, 0xf5, 0xd4, 0x6b, 0xd7, 0x9a, 0x74, 0x54, 0x6b, 0x4d, 0xc8, 0x45, 0x95, 0x39, + 0xec, 0x77, 0x23, 0xce, 0x2f, 0xfa, 0xcb, 0xab, 0xa7, 0x6f, 0x0f, 0x0e, 0x5d, 0xb8, 0x8c, 0x1c, + 0x5f, 0xef, 0x10, 0xb2, 0x2b, 0x6c, 0x8f, 0x3f, 0x15, 0x08, 0x7c, 0xb9, 0x80, 0x68, 0x6d, 0x12, + 0x2f, 0x9e, 0xb5, 0xea, 0x7d, 0x7d, 0xff, 0x44, 0xc5, 0x1a, 0x0e, 0x80, 0xf8, 0x47, 0x18, 0x10, + 0x21, 0x49, 0x66, 0xd7, 0xd7, 0xee, 0x83, 0xcb, 0x58, 0x37, 0x1c, 0x53, 0x0b, 0xa4, 0x2a, 0x88, + 0xba, 0xfc, 0x12, 0x00, 0x51, 0x9c, 0x12, 0xfa, 0x71, 0x74, 0x8f, 0xf2, 0x9b, 0x19, 0x4a, 0xf7, + 0x07, 0x22, 0xa7, 0x18, 0x3c, 0xa1, 0x9d, 0xe3, 0xa2, 0xea, 0x25, 0xb9, 0xbd, 0x0a, 0xc4, 0x87, + 0xb4, 0x59, 0xc9, 0xb8, 0x44, 0x00, 0x70, 0xa6, 0x94, 0xb7, 0x06, 0x13, 0x8e, 0x3f, 0x6f, 0x9a, + 0x34, 0x39, 0x43, 0x89, 0x63, 0x0e, 0x9d, 0xff, 0x79, 0x64, 0x05, 0x88, 0x4e, 0x13, 0x64, 0x35, + 0x95, 0xab, 0x07, 0x08, 0x0d, 0x5d, 0xb7, 0x2f, 0x37, 0x90, 0xdb, 0x95, 0x23, 0xc5, 0xfe, 0x63, + 0xab, 0x27, 0x24, 0xec, 0x9e, 0x37, 0xcb, 0xc0, 0x4a, 0x4f, 0xc9, 0xde, 0xe1, 0xe5, 0x31, 0xa4, + 0xfd, 0xb9, 0xf6, 0x34, 0xe8, 0x02, 0x22, 0x6e, 0x75, 0xae, 0x91, 0xf8, 0xea, 0xb3, 0xa9, 0x9e, + 0x6d, 0xc5, 0xd4, 0xa1, 0x74, 0xe5, 0x64, 0x5e, 0xd6, 0x87, 0xd4, 0x82, 0x2f, 0xce, 0x0e, 0xd9, + 0x68, 0xc6, 0x7e, 0x56, 0x5c, 0xd2, 0xd3, 0x7e, 0xd1, 0xf0, 0x0a, 0x92, 0x19, 0x05, 0x3b, 0x7c, + 0x39, 0x5a, 0x60, 0x78, 0x96, 0x31, 0x71, 0x68, 0xab, 0x42, 0x35, 0x5b, 0x77, 0x57, 0x0c, 0xe9, + 0x4a, 0xf9, 0xbe, 0x51, 0xfd, 0x2b, 0x18, 0x79, 0x27, 0xa1, 0xcb, 0xfb, 0xea, 0x03, 0xf2, 0x5f, + 0x16, 0x37, 0x0f, 0xfa, 0x47, 0xdc, 0x14, 0xbc, 0x27, 0x83, 0x88, 0x7a, 0xf2, 0x3b, 0xfb, 0x7f, + 0x65, 0x6d, 0xab, 0xa8, 0x06, 0x6f, 0xb1, 0x41, 0xed, 0xdd, 0x2f, 0x48, 0x22, 0x94, 0x6b, 0x9d, + 0x14, 0xc7, 0x53, 0xb7, 0x6a, 0x9c, 0x44, 0x12, 0x53, 0x6a, 0xab, 0x3f, 0xa3, 0xf1, 0x6d, 0x5e, + 0x11, 0x1e, 0xd8, 0x7e, 0x4a, 0xef, 0x9a, 0x7a, 0x20, 0xd0, 0xdb, 0x1a, 0x8a, 0xda, 0xe9, 0x3f, + 0x30, 0xfc, 0xff, 0x6f, 0xf2, 0x7d, 0xf7, 0xb4, 0x45, 0x4f, 0x35, 0xf2, 0x82, 0x3d, 0x39, 0x94, + 0x4c, 0x02, 0x8a, 0xfa, 0x24, 0xa4, 0xeb, 0x2c, 0xad, 0x43, 0x75, 0x0a, 0xc0, 0x71, 0xb2, 0x9f, + 0x0d, 0x40, 0x44, 0x66, 0x1a, 0x23, 0xeb, 0x7b, 0xf2, 0x28, 0x0e, 0xc0, 0xe3, 0x77, 0xc4, 0xb9, + 0x5a, 0xf3, 0x35, 0xf5, 0xde, 0x1c, 0x25, 0x83, 0xdc, 0x49, 0x5d, 0x48, 0x69, 0x81, 0xc2, 0xae, + 0x9b, 0xce, 0x3d, 0x72, 0x8f, 0x02, 0x71, 0xee, 0x04, 0xe9, 0x41, 0xeb, 0x25, 0x8f, 0xae, 0xa8, + 0xde, 0x4b, 0xe1, 0xb7, 0x36, 0x7e, 0x94, 0x4d, 0x8b, 0xac, 0x9d, 0xaf, 0xa6, 0xf2, 0x0c, 0x40, + 0x48, 0xbc, 0x69, 0x76, 0xe3, 0xd8, 0xd4, 0x0b, 0x97, 0xa6, 0x70, 0x1d, 0x44, 0xe1, 0xdd, 0x37, + 0x86, 0x5d, 0xf0, 0xb4, 0x8f, 0xb6, 0xaa, 0x59, 0x6e, 0x6b, 0xca, 0x59, 0x32, 0x3c, 0x32, 0xa5, + 0x31, 0x1d, 0xa2, 0x67, 0x9a, 0xd7, 0x86, 0x28, 0x27, 0x73, 0x3a, 0x02, 0x10, 0x0e, 0x49, 0xd7, + 0xab, 0xf3, 0x42, 0x2e, 0xbb, 0x12, 0x04, 0xbc, 0x36, 0x15, 0x69, 0x79, 0x4f, 0x10, 0x53, 0xeb, + 0x81, 0xcc, 0x5f, 0xff, 0x80, 0x0e, 0x3e, 0x3d, 0xd6, 0xae, 0xe5, 0xac, 0x5d, 0x17, 0x02, 0x25, + 0x85, 0x10, 0x3e, 0x9d, 0xd7, 0x45, 0x8d, 0xb0, 0x20, 0x06, 0x5c, 0xf8, 0x66, 0x00, 0x5c, 0x46, + 0x87, 0x72, 0x3e, 0xce, 0x37, 0x60, 0xa7, 0x44, 0xb2, 0x41, 0x65, 0x04, 0x3d, 0xa0, 0x9d, 0x61, + 0x8e, 0xed, 0x80, 0xfe, 0xb6, 0x47, 0x8a, 0x39, 0xc9, 0x5e, 0xcb, 0x10, 0x56, 0xe3, 0xd0, 0xd1, + 0xa4, 0x77, 0x7e, 0xc6, 0x06, 0x3c, 0x97, 0x02, 0x35, 0x6a, 0xb3, 0x58, 0xdf, 0x9e, 0x68, 0x9c, + 0x4a, 0xe2, 0x76, 0x4b, 0x3e, 0x7d, 0x66, 0x37, 0x1a, 0x94, 0xd7, 0x7d, 0xdd, 0xeb, 0x39, 0x90, + 0x4d, 0xdb, 0x84, 0x70, 0x4c, 0xe1, 0x92, 0x28, 0xe4, 0xd8, 0xf5, 0x47, 0x79, 0xa7, 0x1c, 0x3e, + 0x31, 0xbf, 0xa3, 0xed, 0x80, 0xc1, 0xca, 0xc5, 0xb5, 0xe6, 0x8e, 0x92, 0xf8, 0xb4, 0xab, 0x54, + 0xf2, 0xa7, 0x30, 0xa0, 0x11, 0xbe, 0x8c, 0x11, 0xc1, 0xb9, 0xb6, 0x2e, 0x25, 0xe0, 0xcd, 0xc4, + 0x1b, 0xb9, 0x73, 0xf3, 0xb5, 0x54, 0x95, 0xe5, 0xca, 0x1b, 0x67, 0x9c, 0x77, 0x52, 0x0c, 0x7a, + 0xb2, 0x1a, 0xe7, 0x0d, 0x22, 0x49, 0x02, 0x84, 0x6a, 0x2a, 0x0b, 0xe9, 0xf7, 0xd0, 0x8c, 0x0d, + 0x34, 0xaa, 0x6b, 0xe8, 0x73, 0x8e, 0x85, 0xbb, 0xd9, 0x6d, 0xfc, 0xbe, 0xb3, 0x04, 0x09, 0x58, + 0xc8, 0xbd, 0x8d, 0x75, 0x8d, 0x59, 0x70, 0x16, 0x4e, 0xbc, 0xae, 0x4b, 0x84, 0x4f, 0xe8, 0x05, + 0xb1, 0x0a, 0xf9, 0xa2, 0xd7, 0xaa, 0x93, 0x35, 0xe6, 0x95, 0xe3, 0x1c, 0xf6, 0x1a, 0x1c, 0x71, + 0xa0, 0x38, 0xad, 0xa7, 0x05, 0xa2, 0x5f, 0x4c, 0xf4, 0xc9, 0x89, 0x23, 0xc1, 0x9b, 0x79, 0xbe, + 0x34, 0x73, 0x61, 0x50, 0x85, 0xac, 0xca, 0xef, 0x45, 0x83, 0xfe, 0x76, 0x74, 0x94, 0xf4, 0xcb, + 0x9c, 0x3e, 0x76, 0x3a, 0x60, 0x18, 0x05, 0x1e, 0x21, 0x2a, 0xee, 0x41, 0x91, 0xf9, 0xd8, 0xec, + 0x3b, 0x2b, 0x2d, 0x87, 0xa8, 0xd6, 0x49, 0x3a, 0x07, 0x93, 0xaf, 0xaf, 0xac, 0xe5, 0x00, 0xa0, + 0x41, 0x82, 0xfd, 0xab, 0x32, 0xb8, 0x74, 0x39, 0xf5, 0x81, 0x10, 0xa4, 0xde, 0xcc, 0x6a, 0xed, + 0xa1, 0x59, 0x07, 0x07, 0x7a, 0x4c, 0xe8, 0x03, 0xc5, 0xce, 0xb2, 0x98, 0xe5, 0x36, 0x58, 0x21, + 0x58, 0x55, 0x2d, 0x61, 0xa7, 0xfd, 0xa8, 0x1b, 0x20, 0xf7, 0xb6, 0x60, 0x9a, 0x82, 0x8a, 0xa3, + 0xc6, 0x45, 0x3d, 0x4e, 0x08, 0x03, 0xfc, 0x1d, 0x3e, 0x7e, 0x3c, 0xfa, 0x4a, 0x6d, 0x59, 0xec, + 0xf8, 0xce, 0xa6, 0x87, 0x06, 0xfd, 0xde, 0x00, 0xc6, 0x7f, 0x9e, 0x85, 0xde, 0xc1, 0x1f, 0xe9, + 0x8f, 0x28, 0x00, 0x08, 0x6e, 0xf5, 0x37, 0xc4, 0xa4, 0x99, 0x88, 0xb3, 0xe3, 0xca, 0x4e, 0xf7, + 0x10, 0xeb, 0x1e, 0x3d, 0xf0, 0xc7, 0x0e, 0x94, 0x19, 0x90, 0x49, 0x7e, 0x51, 0x04, 0x70, 0x39, + 0xd8, 0x93, 0x90, 0xd8, 0xa4, 0x9c, 0x21, 0xd6, 0x37, 0xe4, 0x9a, 0x72, 0x78, 0xf7, 0xc2, 0x5a, + 0x0a, 0x9e, 0xc8, 0x33, 0x15, 0x0c, 0xff, 0x13, 0x1f, 0x80, 0x42, 0x59, 0xe5, 0x55, 0xc8, 0x40, + 0x4d, 0x5f, 0x59, 0xcc, 0xb3, 0xbf, 0x80, 0xc3, 0xaa, 0x71, 0xa6, 0x96, 0x56, 0x41, 0xba, 0x1b, + 0x4a, 0xb9, 0xf9, 0xc5, 0x54, 0xaf, 0x47, 0x66, 0x08, 0xe8, 0x23, 0xd1, 0x11, 0x27, 0xcf, 0x62, + 0x2e, 0xe9, 0x58, 0xcf, 0xd7, 0x6b, 0x67, 0x9e, 0xba, 0x7b, 0x20, 0xc2, 0x84, 0x8b, 0xc4, 0x56, + 0x37, 0x4c, 0xc5, 0x41, 0x91, 0x1e, 0x92, 0x88, 0x1e, 0x12, 0x9f, 0x7e, 0x75, 0xe1, 0xcf, 0x98, + 0xa9, 0xdc, 0x46, 0x00, 0xba, 0x56, 0x52, 0xc7, 0x38, 0xbb, 0xe9, 0x47, 0xb3, 0xfc, 0x04, 0x59, + 0x97, 0x4e, 0x58, 0x44, 0xc6, 0xbb, 0x1a, 0x0d, 0x17, 0xe2, 0x13, 0x52, 0x0a, 0xbd, 0x99, 0x29, + 0x99, 0xd7, 0x91, 0x99, 0x8b, 0xaa, 0x5a, 0xd5, 0xef, 0xa0, 0x08, 0x04, 0xbc, 0xbc, 0x58, 0x01, + 0x5e, 0xf7, 0xe4, 0x36, 0x4b, 0xed, 0x7c, 0x85, 0x96, 0x73, 0x60, 0x2a, 0x33, 0xfb, 0x39, 0xa4, + 0x7b, 0x7e, 0x5f, 0xf3, 0xf0, 0xd9, 0x20, 0x29, 0x57, 0xc6, 0x76, 0x3b, 0x4f, 0x1d, 0xf8, 0x65, + 0xdf, 0xea, 0x41, 0x69, 0x6c, 0x7e, 0x1c, 0xf2, 0xfb, 0xf0, 0xeb, 0x57, 0xcd, 0x1f, 0x30, 0xa1, + 0x2e, 0xe9, 0x24, 0xa6, 0x6e, 0x8b, 0x38, 0x6d, 0x92, 0x29, 0x23, 0x98, 0x56, 0x73, 0xd0, 0xfb, + 0x33, 0x50, 0xcb, 0x06, 0xb2, 0xf1, 0xea, 0xb4, 0xdf, 0x7f, 0x82, 0x6e, 0x32, 0xd2, 0x51, 0xc6, + 0xe0, 0xcc, 0x87, 0x56, 0xf9, 0x37, 0x24, 0xf5, 0xac, 0x2e, 0xbc, 0x89, 0xe7, 0x1d, 0xd1, 0x57, + 0x5f, 0xc4, 0x23, 0x9b, 0xff, 0x4a, 0x8c, 0xaf, 0x40, 0x4b, 0x56, 0xce, 0xba, 0xef, 0x25, 0xf5, + 0xac, 0x12, 0x8c, 0xf3, 0xee, 0x73, 0x2f, 0x47, 0xc4, 0x11, 0xdc, 0x13, 0x89, 0xb5, 0xc8, 0x86, + 0x2b, 0x5e, 0x7c, 0x01, 0xa0, 0xca, 0x00, 0x4f, 0x15, 0x89, 0x43, 0x8f, 0x4d, 0x6a, 0xa6, 0xe4, + 0xf1, 0xb4, 0x0b, 0xfc, 0x5f, 0xd7, 0xce, 0xbf, 0xcb, 0xe8, 0x85, 0x15, 0x41, 0xf3, 0xf1, 0xc9, + 0xbd, 0xde, 0xa0, 0x85, 0xfb, 0x71, 0xa1, 0x2a, 0xbb, 0xbd, 0xa6, 0x8d, 0xf3, 0x0c, 0x26, 0x3e, + 0x25, 0xbc, 0xc2, 0x73, 0x0b, 0x41, 0x78, 0x9f, 0xa4, 0x72, 0x02, 0x00, 0x2a, 0x18, 0x37, 0x1c, + 0x4d, 0x8c, 0x19, 0x45, 0xc9, 0x35, 0x46, 0x4a, 0x93, 0x68, 0x81, 0x32, 0xcc, 0xbf, 0x9e, 0x99, + 0x15, 0x68, 0xf8, 0xaf, 0x17, 0x94, 0x15, 0x8f, 0x36, 0x7d, 0x19, 0x87, 0x54, 0x86, 0x1b, 0x55, + 0x04, 0xf2, 0x35, 0x6e, 0xd7, 0x33, 0x62, 0x6a, 0x70, 0x8e, 0xc4, 0x5c, 0xf1, 0x11, 0x74, 0xe3, + 0xff, 0x8a, 0xc2, 0x29, 0xdc, 0x46, 0x1d, 0x92, 0x6e, 0xe0, 0x0e, 0xcc, 0x7d, 0xcb, 0x2b, 0x91, + 0x5b, 0x9d, 0xd6, 0x7a, 0x85, 0xfa, 0x78, 0xa9, 0xc5, 0x7f, 0x29, 0x15, 0xf3, 0xc3, 0xbf, 0x00, + 0x0e, 0x4b, 0x68, 0xbe, 0x75, 0xfb, 0x21, 0xe7, 0xb2, 0x21, 0xeb, 0x7a, 0xcd, 0x2e, 0xd3, 0x63, + 0x31, 0x88, 0x49, 0x04, 0xf3, 0xd9, 0x75, 0x14, 0x93, 0xea, 0xb7, 0x08, 0x66, 0x03, 0x2d, 0xed, + 0x32, 0x97, 0x0d, 0x76, 0x1d, 0x2d, 0x28, 0x7e, 0x41, 0x10, 0xc4, 0x0f, 0x49, 0x2c, 0xa7, 0xc3, + 0xf7, 0xd1, 0x13, 0xb5, 0x3e, 0x0e, 0x93, 0xa4, 0xaa, 0x1c, 0x6a, 0x35, 0x11, 0xa4, 0x92, 0x75, + 0xe9, 0xd1, 0x7b, 0x10, 0x81, 0xb8, 0x3c, 0xcb, 0xc5, 0x3d, 0x33, 0xeb, 0xa0, 0xc0, 0x08, 0xe5, + 0x16, 0xa8, 0x0b, 0x70, 0xbd, 0x48, 0xfd, 0xe6, 0x0a, 0x06, 0x1b, 0xa2, 0xbe, 0xe3, 0xcf, 0x5e, + 0xf2, 0xc8, 0x42, 0x8f, 0xa6, 0x40, 0x34, 0x7c, 0x4e, 0x9e, 0x1a, 0x6e, 0x7d, 0x3e, 0x60, 0xa4, + 0xd6, 0x64, 0xab, 0x2d, 0x49, 0x03, 0xe2, 0x30, 0x6e, 0x5b, 0x0a, 0x21, 0xfa, 0xd7, 0xe7, 0x62, + 0xdb, 0x04, 0xe7, 0x9d, 0x2b, 0xef, 0x9e, 0x68, 0x64, 0x6a, 0x75, 0xd7, 0xff, 0x97, 0x1b, 0x51, + 0xa8, 0x5b, 0x83, 0x5e, 0xcc, 0xbd, 0xca, 0xf1, 0x52, 0x66, 0x28, 0x75, 0x16, 0x7c, 0x2a, 0x47, + 0xd9, 0x6d, 0x87, 0x3a, 0x02, 0x2c, 0x4e, 0xa6, 0x77, 0xa7, 0xd9, 0x0b, 0x97, 0x7d, 0xe6, 0x51, + 0x1b, 0xa4, 0x77, 0xa5, 0x0e, 0x15, 0xf5, 0xce, 0x2e, 0xd1, 0xb9, 0xde, 0x9f, 0x85, 0xd6, 0xe2, + 0x59, 0xae, 0xba, 0xae, 0x30, 0x06, 0xb3, 0x5e, 0xe4, 0xb5, 0xb6, 0x91, 0x49, 0xef, 0xa3, 0x87, + 0x3b, 0x89, 0xdd, 0x3b, 0x7d, 0xc7, 0x2c, 0x11, 0x65, 0x99, 0x2e, 0xdd, 0x80, 0x92, 0x0c, 0xe7, + 0x03, 0x18, 0x64, 0x0c, 0x07, 0xcb, 0x87, 0x03, 0xfd, 0x94, 0xd9, 0xbd, 0x1a, 0x8c, 0xbd, 0x79, + 0xdd, 0xda, 0xe8, 0x2e, 0x67, 0x61, 0x13, 0x2a, 0x4a, 0x65, 0x75, 0x1d, 0x42, 0x23, 0xd4, 0x6d, + 0xff, 0x01, 0x56, 0x43, 0x84, 0x96, 0x1b, 0x74, 0x66, 0xc0, 0xde, 0x66, 0x6a, 0xa4, 0xcf, 0x6d, + 0x67, 0xdd, 0xbd, 0xe3, 0xbd, 0x62, 0xf8, 0x96, 0xcb, 0xe5, 0xc7, 0x35, 0x50, 0x99, 0xe9, 0x04, + 0xc5, 0xb1, 0x3d, 0xf0, 0xab, 0x56, 0xb1, 0xa5, 0x99, 0x1f, 0x86, 0x47, 0x50, 0x21, 0xc2, 0x1b, + 0xf7, 0xab, 0x7c, 0x34, 0x48, 0x1c, 0x60, 0x0b, 0x55, 0x09, 0x2a, 0x2b, 0x4b, 0xce, 0x71, 0x7f, + 0x51, 0xca, 0x25, 0xc6, 0x5e, 0xdf, 0xa7, 0x49, 0x18, 0xc8, 0x49, 0x6f, 0xe9, 0x42, 0xf3, 0xc3, + 0x46, 0xab, 0xf4, 0x8f, 0xa9, 0x43, 0xba, 0x7c, 0x86, 0x63, 0xaf, 0xae, 0x4c, 0x63, 0xe7, 0x69, + 0x33, 0x9b, 0x4d, 0x53, 0x1b, 0xb2, 0x26, 0xd4, 0x4b, 0xdd, 0x8f, 0x70, 0x31, 0x77, 0xff, 0x82, + 0xe7, 0x03, 0xd6, 0xc5, 0x03, 0x96, 0x50, 0xeb, 0xce, 0x0d, 0x5a, 0xb8, 0x72, 0x54, 0xb7, 0xd6, + 0xfb, 0x53, 0x25, 0x64, 0x4b, 0x47, 0xaa, 0xc5, 0xea, 0x81, 0x5f, 0xf8, 0x12, 0x64, 0x25, 0x48, + 0x63, 0x38, 0xc2, 0x23, 0x6f, 0x4d, 0xa1, 0xa0, 0x4f, 0xa3, 0x8c, 0x06, 0x1a, 0x6a, 0xe4, 0x7d, + 0x2d, 0xc6, 0x9b, 0x93, 0x7e, 0x28, 0x06, 0xab, 0x7f, 0xb7, 0x26, 0x00, 0x73, 0x39, 0xee, 0xfc, + 0x0e, 0xf2, 0x29, 0x58, 0x1e, 0xc2, 0x91, 0x52, 0xea, 0x93, 0x7b, 0xd8, 0x94, 0x57, 0x5a, 0x23, + 0x14, 0xeb, 0x0d, 0x5f, 0x31, 0x42, 0xc4, 0x79, 0x80, 0x8d, 0x1d, 0xd8, 0xd6, 0x7c, 0xc0, 0x06, + 0x27, 0x36, 0xd6, 0xf8, 0xc2, 0xee, 0x78, 0xd7, 0x0e, 0x7a, 0x3c, 0x4c, 0x7d, 0xc8, 0xa6, 0x00, + 0x21, 0x1e, 0x16, 0x5f, 0x44, 0x80, 0x15, 0x38, 0x44, 0x0e, 0xe8, 0x32, 0x26, 0xfe, 0xb7, 0x52, + 0x62, 0x84, 0x98, 0x4e, 0xa3, 0xc0, 0x9b, 0x4a, 0xfc, 0x9e, 0x65, 0x9d, 0xea, 0x1f, 0x6f, 0xc7, + 0x1a, 0x30, 0xe2, 0x3f, 0x18, 0xa2, 0x93, 0x1b, 0x9f, 0xd7, 0xd1, 0xec, 0x5c, 0x1e, 0x97, 0x7e, + 0xec, 0x60, 0x1a, 0xa4, 0x57, 0x06, 0x15, 0xe8, 0x61, 0x12, 0xa6, 0x0a, 0x95, 0x1c, 0x19, 0x04, + 0xa1, 0x31, 0xfd, 0xfb, 0x0e, 0xb6, 0x30, 0x4b, 0xc7, 0xd5, 0x7a, 0x68, 0x57, 0x65, 0xc7, 0x1e, + 0x61, 0x53, 0x59, 0x26, 0xf5, 0x5d, 0xd2, 0x37, 0xfd, 0xb3, 0x73, 0x94, 0xdb, 0x66, 0x52, 0x06, + 0x0c, 0xf8, 0xf7, 0x13, 0x75, 0x95, 0x84, 0x1d, 0xfd, 0xee, 0x4a, 0x04, 0x65, 0x9c, 0x96, 0xf0, + 0xb9, 0x58, 0x4c, 0x36, 0x6d, 0x8b, 0xc5, 0x1a, 0x4e, 0x98, 0x97, 0xa6, 0xbb, 0xe8, 0xf2, 0x08, + 0xa4, 0x4f, 0xed, 0xaf, 0x96, 0x1c, 0xeb, 0x9b, 0x12, 0x9f, 0x59, 0x96, 0x1b, 0xfe, 0xf1, 0xbc, + 0x87, 0x33, 0x53, 0x7b, 0x02, 0xa3, 0x5e, 0x6d, 0x82, 0xa3, 0xac, 0xd8, 0x74, 0x5d, 0x8c, 0xb9, + 0xa1, 0xf1, 0xe5, 0x99, 0x18, 0xb7, 0xaa, 0x79, 0xf8, 0x1e, 0x7f, 0xc3, 0x4b, 0x1d, 0x13, 0x31, + 0x12, 0x46, 0x9b, 0x34, 0x8e, 0x51, 0xe3, 0x96, 0xc0, 0xab, 0x1b, 0xa7, 0x49, 0xf4, 0x05, 0x75, + 0xe7, 0xdd, 0x73, 0x2d, 0x1b, 0xfb, 0x12, 0x56, 0xc8, 0x30, 0x76, 0x72, 0xa8, 0x82, 0xac, 0x86, + 0x38, 0x1a, 0xf8, 0xc6, 0x30, 0x93, 0x23, 0xa3, 0xc9, 0x08, 0x48, 0x6f, 0x4d, 0x8b, 0x31, 0x56, + 0x42, 0xff, 0xf3, 0xdb, 0xf0, 0xd2, 0x03, 0x17, 0xac, 0x31, 0x90, 0xe6, 0x3d, 0xa3, 0x9a, 0x32, + 0xe5, 0x1d, 0x14, 0x9c, 0xba, 0xcf, 0x6f, 0x16, 0x32, 0x20, 0xfd, 0xf7, 0xe7, 0x22, 0xcf, 0xfe, + 0x9d, 0x8a, 0x57, 0xfc, 0xd0, 0x31, 0xa7, 0xd9, 0x65, 0xd8, 0x86, 0xeb, 0xb0, 0x90, 0xb0, 0x6a, + 0x21, 0xdf, 0x57, 0xc8, 0x17, 0x0c, 0x35, 0xfc, 0x5c, 0x20, 0x51, 0x9d, 0xba, 0x64, 0x5b, 0xaf, + 0x25, 0x83, 0x70, 0x23, 0x6c, 0xdf, 0x64, 0x99, 0x11, 0xe6, 0xef, 0xdc, 0x54, 0x5a, 0xf6, 0xaf, + 0x4e, 0xb6, 0xd3, 0x61, 0xe4, 0x0f, 0x1d, 0x30, 0x94, 0xb2, 0x82, 0x5f, 0x8d, 0x78, 0x5d, 0x5a, + 0xfa, 0xa6, 0xc3, 0x9b, 0x68, 0xb8, 0xad, 0xf1, 0x15, 0x20, 0x06, 0x88, 0x1e, 0x8f, 0xbc, 0xc7, + 0x6a, 0xe8, 0x9e, 0x9f, 0xb8, 0x91, 0xbb, 0x30, 0xc7, 0x2f, 0x3b, 0xd7, 0x94, 0x9b, 0x69, 0x47, + 0x9f, 0x5b, 0x00, 0xf6, 0x78, 0xbb, 0xae, 0x02, 0xf1, 0xed, 0x45, 0x51, 0x0c, 0xec, 0xc6, 0x96, + 0x28, 0x16, 0xce, 0x29, 0x2d, 0x89, 0xac, 0x83, 0x5e, 0x91, 0xc0, 0x31, 0x88, 0x2d, 0xee, 0x91, + 0x28, 0xe6, 0x9e, 0x34, 0x3a, 0x74, 0x08, 0x78, 0xad, 0x42, 0x97, 0x6f, 0xea, 0x94, 0x91, 0x0a, + 0x6f, 0x89, 0x09, 0x47, 0x7d, 0xd2, 0xa4, 0x10, 0x42, 0x3b, 0xb4, 0xe8, 0x8b, 0x1d, 0x73, 0xcb, + 0xd8, 0xec, 0x50, 0xff, 0x9b, 0x5d, 0x8e, 0xd2, 0x41, 0x58, 0x9a, 0xdf, 0x45, 0xa4, 0x7f, 0x22, + 0x89, 0x39, 0x79, 0xc7, 0x87, 0xe9, 0x19, 0x4f, 0xb2, 0x07, 0xfa, 0xfe, 0x21, 0xa1, 0xff, 0x65, + 0xe5, 0xca, 0xf9, 0xfd, 0xdf, 0xba, 0x17, 0xaa, 0x9a, 0x58, 0x13, 0x38, 0x9b, 0xaa, 0x43, 0xe4, + 0x15, 0x49, 0xb2, 0xcf, 0xac, 0x2b, 0xce, 0xd9, 0x21, 0x12, 0x04, 0xd5, 0xb3, 0x7f, 0xe2, 0xe9, + 0x2e, 0xc9, 0x79, 0x8c, 0x7b, 0x16, 0x90, 0xf4, 0x8f, 0x72, 0x56, 0x37, 0xac, 0x92, 0x69, 0x73, + 0x24, 0x22, 0x8d, 0x10, 0x61, 0x72, 0xec, 0x3b, 0x7b, 0x08, 0x4c, 0x94, 0x3e, 0xca, 0x3a, 0xd8, + 0xe4, 0xfc, 0xda, 0xb6, 0xb7, 0x1e, 0x29, 0x18, 0xd4, 0xde, 0xf4, 0x34, 0x81, 0x07, 0xdc, 0x3d, + 0x86, 0xb2, 0x76, 0xe3, 0x05, 0x25, 0x49, 0x93, 0x0b, 0x39, 0xb6, 0xfe, 0xe1, 0x23, 0x24, 0x5c, + 0xfc, 0x78, 0x39, 0x78, 0xd2, 0x1d, 0x9b, 0x73, 0x05, 0x0b, 0xe3, 0x36, 0xf4, 0x51, 0xe2, 0x57, + 0xa1, 0xdc, 0xed, 0x1e, 0xb3, 0x98, 0xdd, 0xce, 0xc4, 0x16, 0x96, 0x24, 0xc9, 0xea, 0x03, 0x93, + 0x57, 0xfa, 0xa2, 0x89, 0xd9, 0xa0, 0xc3, 0x55, 0x15, 0x24, 0x50, 0xc3, 0xf8, 0x4e, 0x71, 0x11, + 0xb8, 0x88, 0xd4, 0x8a, 0x29, 0x28, 0xff, 0x93, 0xac, 0xc3, 0xcc, 0x24, 0xe7, 0xf3, 0xbf, 0x77, + 0x24, 0x02, 0x13, 0x7d, 0x06, 0xe4, 0xad, 0x4a, 0x82, 0x34, 0xc9, 0x0d, 0xa2, 0xc7, 0xdd, 0x87, + 0x84, 0x84, 0x8f, 0x75, 0x04, 0x97, 0x18, 0xc2, 0x94, 0x1b, 0xa5, 0x10, 0xd3, 0x9e, 0x04, 0xe9, + 0x44, 0x73, 0x58, 0xfb, 0xb9, 0x4e, 0x62, 0x81, 0xe2, 0xe2, 0x86, 0x19, 0xeb, 0xcf, 0x6b, 0x1b, + 0x37, 0x36, 0xe0, 0xda, 0xdc, 0xaf, 0x66, 0xfc, 0x3f, 0xb1, 0xe3, 0x68, 0x55, 0x16, 0x2e, 0xd8, + 0x0f, 0xc5, 0x81, 0x66, 0x55, 0x55, 0xa2, 0xa6, 0xf6, 0x4a, 0xfb, 0x06, 0xcf, 0x50, 0xf3, 0xba, + 0x1c, 0xde, 0xc6, 0xb1, 0x3c, 0x4f, 0xec, 0x3f, 0x0f, 0x72, 0xd8, 0xa7, 0x41, 0x67, 0x65, 0x7f, + 0x49, 0x17, 0xbd, 0xb6, 0xed, 0x4a, 0xa6, 0x93, 0x0b, 0x4f, 0xf4, 0x03, 0x93, 0x6a, 0xb8, 0x5d, + 0x0e, 0x2b, 0x59, 0x91, 0xf6, 0x1a, 0xc9, 0xef, 0x3d, 0x4a, 0x40, 0x4b, 0xd9, 0x99, 0x68, 0xb3, + 0xa6, 0xa7, 0x03, 0xe8, 0x45, 0x3b, 0xf1, 0xa0, 0x5e, 0x58, 0xb8, 0x08, 0x06, 0x87, 0x6a, 0x13, + 0xa7, 0x14, 0x4d, 0x62, 0x91, 0xe4, 0x69, 0x66, 0x68, 0x78, 0x6b, 0xbd, 0x5d, 0x97, 0x40, 0xa6, + 0x74, 0x60, 0xdb, 0x80, 0x88, 0xf3, 0xe8, 0x9b, 0xc3, 0x17, 0x76, 0xe1, 0x4e, 0x54, 0x94, 0x06, + 0xc0, 0x25, 0xbc, 0xf8, 0xd0, 0xf8, 0x2a, 0x19, 0xa2, 0xb7, 0xc4, 0x45, 0x00, 0x36, 0x83, 0xda, + 0xbf, 0xe1, 0x56, 0x46, 0x41, 0x62, 0x35, 0xfc, 0x6e, 0xdc, 0x03, 0xfe, 0x0d, 0x23, 0xdc, 0x5b, + 0xbf, 0x9d, 0x59, 0x64, 0xd5, 0x98, 0xbb, 0x47, 0x38, 0xa2, 0xc6, 0x85, 0x1c, 0xb1, 0x1e, 0x9b, + 0xf5, 0x4d, 0xab, 0xa4, 0xff, 0x6c, 0xf9, 0xa5, 0x21, 0xcf, 0x7e, 0x44, 0x25, 0xe0, 0x52, 0xfb, + 0x15, 0xb3, 0x7c, 0x8c, 0xc2, 0xc3, 0x8b, 0x7f, 0x09, 0x57, 0x43, 0xc0, 0x8f, 0xc7, 0x33, 0xdf, + 0xaf, 0xd3, 0xeb, 0x90, 0x0c, 0xb7, 0x4e, 0xec, 0x02, 0x50, 0xe7, 0x40, 0x56, 0x32, 0xa1, 0x59, + 0x8c, 0xf4, 0x3e, 0x39, 0x54, 0x8a, 0x03, 0x3f, 0xf3, 0xc6, 0x0f, 0xb4, 0x48, 0xf7, 0x15, 0x5c, + 0x09, 0xba, 0x28, 0xcb, 0xa1, 0x40, 0xf3, 0x4b, 0x58, 0x7d, 0xd4, 0xfa, 0x25, 0x04, 0xa8, 0x19, + 0x48, 0xc6, 0xa2, 0x8e, 0x71, 0xd6, 0x60, 0x90, 0x09, 0x1b, 0x95, 0xf1, 0x32, 0x70, 0x02, 0x7d, + 0xf3, 0x96, 0xae, 0x17, 0xb4, 0xd6, 0x05, 0x92, 0x70, 0xe8, 0x38, 0x11, 0x7c, 0xb8, 0x81, 0x30, + 0xb5, 0xb0, 0x58, 0x88, 0xb3, 0x41, 0x7b, 0x9e, 0x67, 0xef, 0xfa, 0x0e, 0xad, 0xea, 0xc1, 0x71, + 0x62, 0x6d, 0xe7, 0x25, 0x34, 0x9d, 0xda, 0x4f, 0xc0, 0xa3, 0xee, 0x19, 0x17, 0xbd, 0x43, 0xd6, + 0xac, 0x4d, 0xbb, 0xaf, 0x7f, 0xca, 0x30, 0xe8, 0xc4, 0xee, 0x85, 0x52, 0x73, 0x60, 0xd9, 0xfd, + 0xea, 0x83, 0x6a, 0xfd, 0xf3, 0x25, 0x87, 0x2e, 0x2b, 0x5a, 0xe0, 0xfa, 0x14, 0x20, 0x38, 0xbb, + 0xfb, 0x65, 0x10, 0x9b, 0xfb, 0xe9, 0x76, 0xf7, 0xdc, 0x3e, 0xae, 0x05, 0xc2, 0xc3, 0x98, 0x33, + 0xf8, 0x7d, 0x7d, 0xd9, 0x3b, 0xd1, 0xce, 0x37, 0xbc, 0xd1, 0x31, 0x36, 0xe3, 0xfb, 0xe8, 0x45, + 0xf1, 0xe0, 0x0f, 0xe4, 0xf7, 0x47, 0xa1, 0x68, 0xeb, 0x66, 0x92, 0x5a, 0x7d, 0x02, 0xdf, 0x81, + 0x50, 0x47, 0x79, 0x46, 0xbd, 0x24, 0xde, 0x04, 0xb8, 0x46, 0x11, 0x7c, 0x5e, 0x30, 0xa5, 0x88, + 0xfe, 0xbc, 0x3e, 0xdb, 0x12, 0x49, 0x22, 0x37, 0x7b, 0x33, 0x2e, 0x2f, 0x98, 0xe6, 0x93, 0x0f, + 0xb2, 0x3f, 0x4b, 0xce, 0xf4, 0x78, 0x01, 0x1a, 0x73, 0x3f, 0x4f, 0x66, 0x31, 0x84, 0x9c, 0x93, + 0x4f, 0x1f, 0x99, 0x78, 0xf7, 0x5b, 0x29, 0xb3, 0xce, 0x29, 0xdf, 0x4a, 0xd5, 0x29, 0x9a, 0x75, + 0x23, 0x25, 0x0f, 0xc7, 0x28, 0x36, 0x09, 0x78, 0x6f, 0x01, 0x8c, 0xbb, 0xa4, 0x90, 0xf7, 0xa9, + 0x7b, 0x84, 0x42, 0xa6, 0x9a, 0x2d, 0x7e, 0x32, 0x7a, 0x44, 0xb6, 0x26, 0xee, 0xa5, 0x82, 0xa8, + 0x35, 0x99, 0x4c, 0x60, 0x36, 0x9c, 0x2c, 0x94, 0xb3, 0x47, 0xf2, 0x61, 0xba, 0x02, 0xea, 0xd5, + 0xb4, 0x39, 0x59, 0x54, 0x2e, 0x05, 0x75, 0x73, 0xcf, 0x58, 0xb1, 0x81, 0xbd, 0x11, 0x40, 0x42, + 0x2c, 0xd7, 0x87, 0xfc, 0x4c, 0xa1, 0xc0, 0x7d, 0x88, 0x32, 0xb3, 0xb4, 0x51, 0x33, 0xc2, 0xc7, + 0x83, 0xa1, 0x82, 0x1a, 0xe3, 0xcd, 0xde, 0xfd, 0xb4, 0x0f, 0xb1, 0x96, 0x37, 0x40, 0x65, 0x73, + 0xd8, 0x81, 0x20, 0x6a, 0x45, 0x56, 0xce, 0x11, 0x6e, 0xb8, 0x46, 0xd1, 0xd6, 0x02, 0x1f, 0x4f, + 0xa3, 0x01, 0x47, 0x22, 0xe5, 0xde, 0x7b, 0xa3, 0x05, 0x6a, 0x55, 0x5b, 0xa9, 0xf9, 0x34, 0x42, + 0x27, 0x46, 0x56, 0x4c, 0x1d, 0x35, 0xe0, 0xd9, 0x0b, 0xb7, 0xa1, 0xcd, 0x5f, 0x7b, 0xff, 0xda, + 0xd1, 0xd5, 0x01, 0xf5, 0x01, 0x55, 0x6f, 0x63, 0xc7, 0xe0, 0x4b, 0xad, 0x14, 0xa9, 0x7d, 0x9c, + 0x3f, 0x93, 0x64, 0x92, 0xa3, 0x0a, 0x9e, 0x5b, 0x2f, 0x00, 0x49, 0xc7, 0xf2, 0x72, 0xb3, 0xdf, + 0xec, 0xe1, 0x03, 0x9e, 0xab, 0x0b, 0xb9, 0x22, 0x43, 0x8e, 0xb9, 0xf5, 0x74, 0x30, 0x7d, 0x3f, + 0x8d, 0x81, 0x54, 0x0b, 0x9e, 0x7a, 0x98, 0xb9, 0x26, 0xa6, 0xfb, 0x5e, 0xaf, 0x21, 0x65, 0x80, + 0xb3, 0x0c, 0x29, 0x1b, 0x80, 0xb8, 0x32, 0x66, 0xe2, 0x83, 0x38, 0x19, 0xfd, 0xe7, 0xf3, 0x79, + 0xe9, 0x30, 0xaa, 0x8b, 0x51, 0xc2, 0xf8, 0x9a, 0x9a, 0x17, 0x1f, 0x44, 0x53, 0x2d, 0x4c, 0x99, + 0xb2, 0x4e, 0xb0, 0xd2, 0x0c, 0x5f, 0xcc, 0x6d, 0x86, 0x2e, 0x42, 0x22, 0x79, 0xbf, 0x82, 0x13, + 0xa2, 0x7c, 0xf1, 0x80, 0x76, 0x5f, 0x7b, 0xd5, 0xb0, 0x1d, 0xdc, 0xe9, 0x94, 0x8e, 0xf5, 0x34, + 0xcd, 0xf8, 0xf4, 0x72, 0x43, 0xa4, 0x6b, 0x36, 0x41, 0xc5, 0x99, 0xf8, 0x3f, 0x67, 0xf2, 0x47, + 0xe7, 0x50, 0x0a, 0xfc, 0x3f, 0xdf, 0x8b, 0x2d, 0x33, 0x8c, 0x13, 0x5c, 0x04, 0x3d, 0xcb, 0x84, + 0xef, 0x98, 0x06, 0xe6, 0x0f, 0x64, 0x78, 0x2a, 0xb8, 0x69, 0x81, 0x59, 0xbe, 0x4b, 0x95, 0x2d, + 0x91, 0x90, 0xdd, 0x67, 0x0d, 0xa7, 0x97, 0x7e, 0x5e, 0x62, 0x4f, 0x2a, 0x1c, 0x3f, 0x0c, 0x58, + 0x02, 0x8d, 0x29, 0xd7, 0xf0, 0xea, 0xaf, 0xda, 0xfd, 0x5f, 0x26, 0x2f, 0x85, 0x84, 0x14, 0x0c, + 0x3f, 0xb8, 0xab, 0xe0, 0x6f, 0xe2, 0x9c, 0x9c, 0xd3, 0xfa, 0x0a, 0xb0, 0x44, 0xbf, 0xea, 0xa6, + 0xe1, 0x4e, 0xe2, 0xb5, 0x59, 0x77, 0x1b, 0x81, 0xef, 0xea, 0x3f, 0x14, 0x43, 0x34, 0x86, 0x19, + 0xfb, 0xaf, 0xa6, 0xb0, 0x6f, 0xcb, 0x2a, 0xbf, 0xf7, 0x21, 0x9e, 0x41, 0x2c, 0xc6, 0x94, 0xb4, + 0x16, 0x7a, 0x95, 0x87, 0x10, 0x9e, 0xb5, 0x63, 0x7f, 0xb9, 0x2c, 0x23, 0x4f, 0xdd, 0x94, 0x89, + 0xf6, 0x1a, 0x89, 0x99, 0x6f, 0x38, 0x3a, 0x3a, 0x0d, 0xdf, 0x56, 0x0b, 0xf6, 0xae, 0xf6, 0xfc, + 0x74, 0x23, 0x4a, 0x97, 0xf2, 0x35, 0x6c, 0xea, 0xfa, 0xb0, 0x0d, 0x9d, 0xc5, 0x1c, 0xca, 0x12, + 0x8f, 0x0c, 0x80, 0x2f, 0x26, 0xeb, 0x5f, 0xda, 0xb6, 0x88, 0xa8, 0x59, 0xa8, 0xe5, 0xeb, 0x89, + 0x7a, 0xed, 0x13, 0x61, 0xf1, 0x60, 0x11, 0x83, 0x0a, 0xee, 0x99, 0x6d, 0xfb, 0x59, 0xa9, 0x29, + 0xf2, 0x5a, 0x84, 0x21, 0x7c, 0x3e, 0xf9, 0x42, 0x02, 0xf4, 0xeb, 0x06, 0x4c, 0x76, 0xcf, 0x6f, + 0x9f, 0xc2, 0x96, 0xfd, 0x9f, 0x8a, 0x10, 0x36, 0xf6, 0x41, 0x79, 0x7c, 0x68, 0xa3, 0x43, 0x9a, + 0x09, 0x34, 0xb4, 0x43, 0xb0, 0x1c, 0x1f, 0xf5, 0x6f, 0xb8, 0x67, 0xae, 0xe6, 0xb0, 0x54, 0xb2, + 0x46, 0x49, 0x1b, 0x9e, 0x8d, 0xa6, 0x0b, 0xa3, 0xf5, 0x98, 0xa4, 0xdd, 0xfe, 0x25, 0xe0, 0xe5, + 0xb5, 0x69, 0x9b, 0xfe, 0xeb, 0xff, 0xd9, 0xb5, 0xd8, 0xe0, 0x5a, 0x0d, 0xd5, 0x72, 0x27, 0xda, + 0x45, 0xf8, 0x8a, 0xa9, 0xb5, 0xbf, 0x26, 0x6d, 0x89, 0x15, 0x52, 0x28, 0xae, 0xbf, 0xf2, 0x67, + 0x57, 0x86, 0x31, 0x41, 0xf6, 0x5e, 0x2b, 0x65, 0x47, 0xb9, 0x97, 0x0c, 0x64, 0xae, 0x53, 0x60, + 0xdb, 0x4e, 0x36, 0x06, 0xff, 0x73, 0xd1, 0x78, 0x7f, 0x39, 0xa6, 0xdb, 0x62, 0xd3, 0x88, 0xa3, + 0xbf, 0x61, 0x3d, 0xc1, 0x11, 0x73, 0x67, 0x75, 0xcf, 0xc7, 0x8d, 0x4d, 0x9d, 0x8a, 0x2f, 0xbd, + 0xa4, 0xb0, 0x57, 0x5d, 0x8b, 0xab, 0x7d, 0xa6, 0x3a, 0x14, 0x3b, 0x36, 0x68, 0xeb, 0xd0, 0xaa, + 0x8b, 0x81, 0xac, 0x99, 0x44, 0x44, 0xcd, 0x35, 0xcc, 0x8e, 0xb0, 0x6b, 0xfc, 0xad, 0xc5, 0xb5, + 0xc4, 0xe2, 0x2b, 0x93, 0x61, 0x29, 0x88, 0x2f, 0x6a, 0x70, 0x7d, 0x79, 0x26, 0x16, 0x50, 0xcf, + 0x63, 0xe9, 0x10, 0xe7, 0x40, 0xda, 0x97, 0xce, 0x52, 0x0e, 0x60, 0x62, 0x78, 0x63, 0xbe, 0x5b, + 0xe0, 0xec, 0x56, 0xa9, 0xfd, 0x60, 0x20, 0x68, 0xe3, 0xde, 0x58, 0xbb, 0xb6, 0x85, 0x1e, 0x00, + 0xc9, 0x13, 0x0b, 0xca, 0x8e, 0x0c, 0x08, 0xb2, 0x52, 0xef, 0x10, 0x76, 0x2b, 0x14, 0x5e, 0xb7, + 0xc1, 0x64, 0x74, 0xd7, 0x61, 0x0f, 0x41, 0xa6, 0xfd, 0x30, 0x1f, 0xf3, 0x49, 0x37, 0x21, 0x56, + 0x78, 0x58, 0x0f, 0x6e, 0x10, 0xa5, 0x55, 0x6e, 0xfa, 0x07, 0x86, 0xb8, 0xe2, 0x6e, 0x0f, 0x62, + 0x34, 0xcb, 0x1e, 0xac, 0x8f, 0x1e, 0x16, 0x46, 0x82, 0xca, 0x0d, 0x83, 0x61, 0x5f, 0x11, 0xa1, + 0x9e, 0xf1, 0x7c, 0xab, 0xe2, 0xeb, 0x98, 0x4f, 0xdf, 0x72, 0x3b, 0x79, 0xdb, 0x80, 0xea, 0xf3, + 0x89, 0x7e, 0x59, 0x07, 0x1c, 0x3d, 0x27, 0x69, 0x18, 0x0a, 0x61, 0xee, 0x5f, 0xd1, 0x1c, 0x59, + 0x2f, 0x1e, 0xa2, 0xc3, 0xcb, 0xdd, 0x91, 0x78, 0xc0, 0xcf, 0x05, 0x00, 0xe0, 0x4e, 0xed, 0x36, + 0x6e, 0x5c, 0x48, 0x08, 0x9b, 0x1a, 0x84, 0x77, 0x24, 0xa8, 0x7e, 0x4f, 0x8e, 0xc2, 0xe4, 0xf7, + 0x62, 0xfc, 0xa6, 0xec, 0x39, 0x8b, 0x3a, 0x07, 0xcb, 0xe8, 0x0e, 0x63, 0xa1, 0x82, 0x9f, 0xfd, + 0x29, 0x16, 0xdf, 0xa7, 0xef, 0xc6, 0x5b, 0xc9, 0xd7, 0xbc, 0xc2, 0x89, 0xdc, 0x27, 0xc1, 0x89, + 0x50, 0x82, 0x99, 0xf9, 0xd4, 0x1c, 0x08, 0x51, 0x20, 0x80, 0x5e, 0xc7, 0xf3, 0xe2, 0x92, 0x13, + 0x40, 0xbd, 0xff, 0xd0, 0x73, 0x95, 0x09, 0x99, 0x11, 0x73, 0x24, 0xa1, 0x3e, 0x44, 0xf7, 0x56, + 0x46, 0xc0, 0xd3, 0x78, 0x42, 0x11, 0xc5, 0xc3, 0x83, 0x50, 0x40, 0x4c, 0xf2, 0x8a, 0xbf, 0xe1, + 0xb2, 0xf6, 0x7b, 0x36, 0x72, 0xc0, 0xef, 0xbd, 0xb2, 0xf2, 0x8e, 0xb9, 0x5f, 0xc3, 0xfb, 0x0d, + 0x20, 0x92, 0xfb, 0x9d, 0xaa, 0x98, 0xe8, 0x64, 0xdc, 0x0c, 0x24, 0x68, 0x40, 0x60, 0xe8, 0xae, + 0x7d, 0x5a, 0x01, 0x44, 0xc6, 0x5a, 0xd1, 0x3d, 0x9c, 0xfe, 0x83, 0x4e, 0x1f, 0x68, 0x6d, 0x09, + 0x2e, 0xa7, 0xa7, 0x32, 0x49, 0x5f, 0xd8, 0xa6, 0x26, 0x76, 0x09, 0x84, 0xea, 0x94, 0xd3, 0x49, + 0x2b, 0xd2, 0x96, 0x69, 0xcf, 0x34, 0x52, 0x5a, 0xe8, 0x8b, 0xb5, 0x17, 0xf2, 0x8b, 0x3f, 0x92, + 0xda, 0x6f, 0xfd, 0xa0, 0x94, 0xfc, 0xfa, 0x7d, 0x58, 0x38, 0x64, 0x95, 0x06, 0x5e, 0x3b, 0xee, + 0x67, 0x3b, 0x71, 0x49, 0x2b, 0x67, 0xde, 0xf6, 0x4f, 0xa2, 0x84, 0x92, 0xcd, 0x91, 0xa8, 0x6b, + 0x6a, 0xe7, 0x45, 0xca, 0x5a, 0x0f, 0x9c, 0xb2, 0x6a, 0x6c, 0x9e, 0x74, 0x61, 0xf4, 0xe1, 0x7c, + 0x21, 0x31, 0xbd, 0xf7, 0x41, 0x61, 0x08, 0xf4, 0x6c, 0xf4, 0x5a, 0x00, 0x1e, 0xde, 0xf3, 0x3e, + 0x00, 0x58, 0x71, 0x2a, 0xb6, 0x44, 0x9b, 0xfd, 0x10, 0xd4, 0x0a, 0xfa, 0x5f, 0x9f, 0xe3, 0x1e, + 0x93, 0x71, 0x52, 0x03, 0x05, 0x78, 0xd7, 0x7b, 0x8f, 0x11, 0xba, 0x9d, 0x0a, 0x56, 0x15, 0x8e, + 0x3d, 0xb1, 0xae, 0xce, 0x2a, 0x7b, 0x6b, 0x84, 0xad, 0x01, 0xc4, 0xea, 0x05, 0x8a, 0x67, 0x01, + 0xaf, 0xfd, 0x63, 0x4e, 0x54, 0x49, 0x9b, 0x41, 0x83, 0x6f, 0x0f, 0x83, 0xd2, 0x3d, 0xed, 0x81, + 0x51, 0xf2, 0x10, 0xb0, 0xbc, 0x26, 0x61, 0x58, 0xf6, 0xf2, 0x05, 0x68, 0x12, 0xca, 0x8b, 0xe9, + 0x4a, 0x4a, 0x7d, 0x7d, 0x24, 0x00, 0x6d, 0x4d, 0x5c, 0xb5, 0x40, 0xc4, 0x9f, 0x9c, 0x16, 0xbc, + 0x7b, 0x15, 0xeb, 0x8a, 0x29, 0x83, 0x57, 0x60, 0x42, 0xb7, 0x9c, 0x2b, 0xf8, 0xcb, 0x2b, 0xe6, + 0x47, 0x87, 0x7c, 0x81, 0xbf, 0x65, 0xee, 0x27, 0x3e, 0x18, 0xee, 0xb1, 0x85, 0x9c, 0x9f, 0xd0, + 0x4d, 0xe9, 0xf5, 0xee, 0xbb, 0x29, 0x8a, 0xc6, 0x9b, 0x16, 0x04, 0xe7, 0x16, 0x89, 0x1c, 0x05, + 0xe1, 0xce, 0x82, 0x93, 0x9c, 0x9b, 0xd4, 0x5a, 0xab, 0x5c, 0xdd, 0x84, 0xaf, 0x43, 0x61, 0x08, + 0x69, 0x18, 0x17, 0x5a, 0xd1, 0x52, 0x3a, 0xfc, 0xda, 0x00, 0x8f, 0x05, 0x62, 0x39, 0x36, 0xc4, + 0xa2, 0x15, 0x72, 0xcd, 0x11, 0xc5, 0x86, 0x1c, 0x35, 0xec, 0x27, 0x34, 0x92, 0x7e, 0xa3, 0x10, + 0x17, 0x35, 0x9f, 0x22, 0x5d, 0x47, 0x60, 0x54, 0x2b, 0x30, 0x6f, 0xb4, 0xf7, 0xcf, 0x97, 0x17, + 0x4d, 0x3d, 0x93, 0x70, 0x58, 0x86, 0x7c, 0xa1, 0x9c, 0x55, 0x76, 0x63, 0x64, 0xfa, 0xb7, 0x1d, + 0x20, 0x3f, 0xcd, 0x0c, 0x35, 0xf1, 0x73, 0x68, 0x4f, 0x15, 0x69, 0xeb, 0x3b, 0x25, 0x47, 0xe3, + 0xaf, 0x0a, 0x4e, 0x56, 0x78, 0x50, 0xb3, 0xf8, 0x85, 0x04, 0x06, 0xdb, 0xa1, 0x02, 0xa8, 0x2f, + 0x7f, 0x26, 0x3b, 0x6a, 0xb2, 0x63, 0x94, 0xf0, 0x39, 0xc0, 0xb0, 0x0b, 0x02, 0xd1, 0x72, 0x66, + 0xbb, 0x99, 0x98, 0x09, 0x97, 0xe2, 0x4b, 0xeb, 0x47, 0x7c, 0xe6, 0xc6, 0x41, 0xd2, 0xb9, 0x15, + 0xfc, 0xfd, 0x44, 0x3b, 0x45, 0xe4, 0xfb, 0xe0, 0xbf, 0xcc, 0x63, 0x4b, 0x87, 0x77, 0x2a, 0xf0, + 0x6a, 0x22, 0xfc, 0x5d, 0x11, 0xd8, 0xf8, 0xc8, 0x91, 0x63, 0x3b, 0x51, 0x01, 0x01, 0x8e, 0xb3, + 0x7b, 0x3d, 0xb4, 0xbb, 0xb8, 0xf6, 0x02, 0x93, 0x5d, 0x89, 0x83, 0x49, 0x03, 0x14, 0x30, 0x7f, + 0x85, 0x22, 0xa9, 0x0c, 0x4a, 0x13, 0x9b, 0xd1, 0xf7, 0x0b, 0xfd, 0x26, 0x3b, 0x6a, 0x46, 0xca, + 0x99, 0x42, 0xa8, 0x7b, 0xa3, 0x04, 0x6c, 0xe3, 0x66, 0x60, 0xeb, 0x3e, 0xb0, 0xde, 0x1d, 0x17, + 0x15, 0x48, 0x24, 0x16, 0x1f, 0x7c, 0x61, 0xda, 0xa9, 0x12, 0x90, 0x0c, 0x5c, 0x58, 0xc9, 0x8f, + 0x1b, 0x36, 0xfd, 0x46, 0xe4, 0x7e, 0x53, 0xda, 0x97, 0x96, 0x16, 0x78, 0xbb, 0x06, 0xb9, 0x6f, + 0x57, 0x58, 0xf5, 0x95, 0x5a, 0xab, 0xd3, 0x7e, 0x7d, 0x8d, 0xda, 0x79, 0x3c, 0x50, 0xb6, 0x68, + 0x17, 0xf2, 0xd5, 0xcb, 0xa5, 0x57, 0x19, 0x56, 0x8c, 0xcf, 0x94, 0x09, 0x98, 0x78, 0x30, 0x6e, + 0x0a, 0x28, 0xfa, 0xf4, 0xac, 0x19, 0xec, 0xf9, 0x7d, 0x05, 0x68, 0x82, 0xaa, 0x82, 0x9c, 0x98, + 0x8d, 0x7d, 0x92, 0x78, 0x24, 0xba, 0xb9, 0x6b, 0x73, 0xc4, 0x79, 0x0f, 0xff, 0xc6, 0xee, 0xe5, + 0x8c, 0x1b, 0x8a, 0xd3, 0x27, 0x7c, 0x1c, 0xf7, 0x96, 0x80, 0xc3, 0xed, 0xaa, 0xa8, 0x32, 0xea, + 0x3a, 0xef, 0x3d, 0xc5, 0x03, 0x88, 0x3e, 0x8b, 0x6d, 0x67, 0x16, 0x14, 0xb8, 0x7e, 0x9b, 0x15, + 0xb8, 0x68, 0x5a, 0x2a, 0x47, 0xf7, 0xea, 0x39, 0x77, 0x95, 0xd1, 0xca, 0xb8, 0xa4, 0x24, 0x5c, + 0xbe, 0xb1, 0xc8, 0x02, 0x58, 0x15, 0x08, 0xd6, 0xa7, 0xf7, 0x3f, 0x2d, 0x7a, 0x26, 0xca, 0x0c, + 0x6f, 0xb4, 0x28, 0x4d, 0xea, 0xde, 0x3c, 0xcb, 0x64, 0x8f, 0x5a, 0xfb, 0x78, 0x8e, 0xcf, 0x9c, + 0x2c, 0x20, 0x9b, 0x7a, 0xe1, 0x82, 0xcb, 0x27, 0xd6, 0xc2, 0x1c, 0x76, 0x48, 0x47, 0xfd, 0xff, + 0x26, 0xff, 0x05, 0xd8, 0x8f, 0x98, 0x47, 0x87, 0xa7, 0x49, 0x35, 0xa5, 0xa4, 0xfc, 0x3a, 0x98, + 0xfa, 0xb3, 0x9f, 0x3e, 0x97, 0xc8, 0xe7, 0x44, 0x1b, 0x60, 0x78, 0xaa, 0xae, 0x82, 0xbd, 0xee, + 0x6c, 0x75, 0x16, 0x4d, 0x98, 0x1d, 0x92, 0x6e, 0xf1, 0xb3, 0xd2, 0x78, 0xeb, 0x2b, 0x31, 0x0a, + 0xac, 0xba, 0x68, 0xe9, 0x00, 0xd1, 0x11, 0xc2, 0x0e, 0x73, 0x11, 0x8b, 0x53, 0x0c, 0xa6, 0xc9, + 0x7f, 0xd2, 0x62, 0x0c, 0x82, 0x70, 0x66, 0x62, 0x0e, 0x31, 0xb5, 0x07, 0x47, 0x71, 0xd1, 0xdf, + 0x5c, 0x96, 0x0d, 0xce, 0x25, 0xd5, 0xf7, 0xa0, 0x05, 0x23, 0x47, 0x65, 0xc2, 0x0b, 0xee, 0x0f, + 0x80, 0xd0, 0x93, 0xf6, 0x95, 0xd3, 0x78, 0x0f, 0xac, 0x0c, 0x71, 0xab, 0x8e, 0x92, 0x96, 0x5c, + 0xaa, 0x34, 0xa9, 0x0f, 0x72, 0xae, 0xbc, 0x58, 0xf1, 0x3d, 0x59, 0x18, 0x57, 0x9c, 0x73, 0xb9, + 0xcd, 0x86, 0x90, 0x90, 0x00, 0x02, 0x90, 0x4c, 0x44, 0xc0, 0x8f, 0x73, 0x16, 0x85, 0x8d, 0x54, + 0x54, 0xd5, 0x3a, 0x16, 0x41, 0x9d, 0x41, 0x67, 0x55, 0x3b, 0x68, 0xe2, 0x94, 0x24, 0x26, 0x93, + 0xff, 0xca, 0x75, 0xb8, 0x62, 0x74, 0x9d, 0x7c, 0x96, 0xda, 0x0c, 0x94, 0x90, 0x7e, 0x74, 0xdd, + 0xe5, 0xad, 0x8b, 0xcb, 0xc9, 0xe4, 0xa7, 0xac, 0x01, 0x62, 0xb0, 0x5a, 0x8d, 0xfa, 0x73, 0x04, + 0xc7, 0xf3, 0x2b, 0xeb, 0xb4, 0xc4, 0xf3, 0x2b, 0x56, 0x63, 0xeb, 0x39, 0x44, 0xbf, 0xf4, 0x81, + 0xf8, 0x2f, 0x20, 0xc9, 0x0f, 0xfb, 0x4e, 0xeb, 0x17, 0x0c, 0x49, 0xec, 0x34, 0x9f, 0x8f, 0xac, + 0x1d, 0x96, 0xa1, 0x0b, 0x97, 0xf4, 0x3d, 0x86, 0x7b, 0x3f, 0x94, 0xf8, 0x80, 0x11, 0xdd, 0xd6, + 0x8e, 0xd5, 0x22, 0xe2, 0xb5, 0x63, 0xe6, 0x8f, 0x35, 0xe5, 0xf8, 0xb2, 0x81, 0x2c, 0xfa, 0xf1, + 0x92, 0x85, 0x77, 0xf7, 0x4f, 0x4d, 0x78, 0xf1, 0xdd, 0x2a, 0x68, 0xdc, 0x13, 0x5d, 0x56, 0x6c, + 0x37, 0x6f, 0x38, 0xb7, 0xe4, 0xd8, 0xbb, 0x30, 0x97, 0x57, 0x6b, 0x7e, 0x77, 0x7a, 0xce, 0x4d, + 0x59, 0x48, 0x6e, 0x88, 0x70, 0xf4, 0x69, 0xf4, 0x82, 0x0b, 0xc8, 0x66, 0xcf, 0x69, 0x12, 0x0e, + 0xd5, 0xc5, 0x9c, 0x97, 0xc1, 0x15, 0xb1, 0x0c, 0x9f, 0x16, 0x75, 0xa5, 0xce, 0x54, 0x2f, 0x2f, + 0x0b, 0xc5, 0x45, 0x50, 0xec, 0x7e, 0x38, 0x8a, 0x40, 0x26, 0x29, 0xd9, 0x8c, 0x97, 0x25, 0x0c, + 0xa1, 0xdb, 0x17, 0xe0, 0x7e, 0x98, 0x35, 0xc4, 0x7c, 0x08, 0x6d, 0x04, 0x2f, 0xfe, 0x63, 0xc4, + 0xf2, 0xfe, 0x7e, 0xba, 0xee, 0x6a, 0x02, 0x25, 0xb1, 0x32, 0x8a, 0x57, 0x57, 0xfe, 0x5c, 0xc1, + 0xa4, 0xdc, 0x35, 0xdb, 0x54, 0x24, 0x48, 0x76, 0x24, 0xe2, 0x3c, 0xd1, 0xd7, 0xd4, 0xb2, 0x79, + 0x48, 0x17, 0xdd, 0x14, 0x5c, 0xb1, 0xa1, 0x0a, 0x42, 0x95, 0x5e, 0xf7, 0x03, 0x3c, 0xd3, 0xcf, + 0x68, 0x5e, 0xb8, 0x3e, 0x60, 0xca, 0x47, 0xd5, 0x19, 0x5f, 0x97, 0xf0, 0x94, 0xa5, 0x08, 0xec, + 0xb2, 0xed, 0xe8, 0x6c, 0x43, 0x14, 0xa8, 0xbb, 0x61, 0x46, 0x68, 0x70, 0x79, 0x8d, 0x4d, 0x63, + 0x90, 0xdc, 0xac, 0xef, 0x51, 0x11, 0xbc, 0x31, 0xdc, 0x17, 0xbc, 0x45, 0xc2, 0x68, 0x29, 0x4e, + 0x69, 0x19, 0xc4, 0x6c, 0x26, 0x72, 0x55, 0x2a, 0xb6, 0xb6, 0xf3, 0xf7, 0xd2, 0x70, 0xa6, 0x27, + 0x0d, 0xba, 0xd1, 0xf9, 0x0e, 0x35, 0x11, 0x02, 0x88, 0xe4, 0x50, 0x1b, 0x47, 0x24, 0x73, 0xbe, + 0x30, 0x12, 0x05, 0x1a, 0x4f, 0xb6, 0x35, 0x92, 0xeb, 0x4c, 0x40, 0x6e, 0xff, 0x00, 0xb1, 0x3a, + 0xf2, 0x79, 0x5a, 0xff, 0x00, 0xa3, 0x0b, 0x39, 0x99, 0x09, 0xc6, 0x4a, 0x30, 0x7d, 0x0c, 0x33, + 0xa4, 0x25, 0xc4, 0xda, 0xe3, 0x25, 0x66, 0x61, 0xaf, 0x6f, 0x27, 0xc2, 0x9c, 0xd9, 0x5a, 0x01, + 0x33, 0x2a, 0x55, 0x3f, 0xe6, 0xd8, 0xbe, 0x83, 0x37, 0xd5, 0x98, 0xb2, 0x32, 0xe6, 0x02, 0x01, + 0xf4, 0x4f, 0x1f, 0x8b, 0xa4, 0x30, 0xe8, 0xc6, 0x23, 0xec, 0x20, 0x3b, 0x54, 0x15, 0x30, 0x01, + 0x28, 0x4b, 0x8a, 0x63, 0xf3, 0x6e, 0x66, 0x9b, 0x76, 0x83, 0xca, 0x7a, 0xdf, 0x8d, 0x0a, 0x48, + 0x59, 0xdb, 0x7e, 0xae, 0xc7, 0xc6, 0x5a, 0x46, 0x79, 0x31, 0x33, 0xdc, 0x14, 0xa8, 0xcd, 0x80, + 0x12, 0x7e, 0xde, 0x94, 0xa1, 0x13, 0x57, 0x52, 0x4e, 0xf3, 0x81, 0xdd, 0x3f, 0xd7, 0xbd, 0xb3, + 0x39, 0x50, 0x6d, 0x7c, 0x31, 0x40, 0x24, 0x49, 0x59, 0xca, 0x9b, 0xe3, 0x55, 0x07, 0x01, 0xdd, + 0xfe, 0x89, 0x22, 0x6d, 0x81, 0xda, 0x48, 0xdf, 0xa4, 0x4e, 0xe9, 0x14, 0x29, 0x84, 0x8e, 0xa6, + 0x63, 0x83, 0x32, 0x34, 0x1d, 0x8c, 0xa5, 0xfb, 0x53, 0x83, 0x5f, 0x7a, 0x5a, 0xc1, 0x66, 0xad, + 0x51, 0x74, 0x8f, 0xdc, 0x26, 0x1f, 0x09, 0xd2, 0x56, 0x18, 0x22, 0x8f, 0xa3, 0xda, 0x0c, 0x61, + 0x4c, 0x65, 0xe2, 0x4c, 0x11, 0x34, 0x50, 0xeb, 0xae, 0x5d, 0x81, 0x9b, 0x3e, 0x7b, 0xb1, 0x4e, + 0x83, 0x97, 0xf6, 0xff, 0x44, 0x29, 0xde, 0xdc, 0xa6, 0xe7, 0x64, 0x88, 0x45, 0xbb, 0x2f, 0xc9, + 0x27, 0x6b, 0xfd, 0xcb, 0x10, 0x05, 0xda, 0x01, 0xa5, 0xde, 0xec, 0xbf, 0x64, 0x8c, 0x43, 0x65, + 0x1b, 0xea, 0x6d, 0xbb, 0x1a, 0xa4, 0xd7, 0x77, 0x5c, 0xce, 0xeb, 0x5e, 0xda, 0x05, 0xcd, 0x72, + 0x8c, 0x08, 0xb6, 0xc6, 0x5a, 0x32, 0x67, 0x3b, 0x06, 0x57, 0x19, 0xa4, 0x7a, 0x8b, 0x53, 0xc9, + 0x60, 0xec, 0xdc, 0x37, 0x00, 0x21, 0x05, 0x8b, 0xad, 0x25, 0xdb, 0x57, 0xcf, 0xb7, 0xe6, 0x48, + 0x28, 0xa4, 0xfd, 0xc7, 0x9c, 0xdd, 0x31, 0x56, 0x6c, 0x05, 0xb9, 0x1b, 0x70, 0xca, 0xfe, 0xf3, + 0x0a, 0xc0, 0xe6, 0x0c, 0xed, 0xa4, 0xe5, 0xbb, 0x07, 0xaf, 0xb8, 0x4e, 0x11, 0x35, 0x78, 0xe0, + 0xac, 0x7e, 0x3b, 0xdd, 0x43, 0xea, 0xf7, 0x81, 0x31, 0x25, 0xaa, 0x34, 0x2e, 0xb7, 0xe4, 0x51, + 0xa1, 0xb7, 0xe2, 0x16, 0x62, 0xb9, 0x96, 0xc6, 0x09, 0x0a, 0x7f, 0xc1, 0x4b, 0xee, 0xdb, 0xbb, + 0x0f, 0x99, 0x83, 0x67, 0xf9, 0x40, 0xd8, 0x1a, 0x3b, 0xe0, 0x50, 0x3c, 0x42, 0x80, 0x59, 0x7c, + 0x49, 0x11, 0xe7, 0xcb, 0x85, 0x4b, 0xc7, 0x38, 0x2f, 0xf5, 0x68, 0x17, 0xd7, 0xc4, 0x83, 0x9e, + 0x8c, 0xcc, 0x24, 0xb5, 0xd2, 0x56, 0xfb, 0xb3, 0xa3, 0xe1, 0x0e, 0x0b, 0xab, 0x26, 0x77, 0x2d, + 0x87, 0x47, 0x52, 0x02, 0x86, 0x7c, 0xd7, 0xe6, 0xef, 0x19, 0xb2, 0x7e, 0xa4, 0xcf, 0xd5, 0x39, + 0x9c, 0x3a, 0x77, 0xd4, 0xb0, 0x4f, 0xf1, 0xc7, 0x80, 0x3e, 0xc8, 0x44, 0x33, 0xbf, 0xfe, 0x0b, + 0x12, 0x70, 0x70, 0x5d, 0xe1, 0x2d, 0xe8, 0x79, 0xd1, 0x78, 0xb3, 0x72, 0x8b, 0xed, 0xaa, 0xde, + 0xef, 0x61, 0x98, 0xab, 0xe3, 0x2d, 0xea, 0x70, 0x62, 0x0e, 0x38, 0x21, 0x5d, 0x81, 0xab, 0xda, + 0xb8, 0xc8, 0xc6, 0xe4, 0x0a, 0x81, 0xc6, 0x65, 0x82, 0x72, 0xa0, 0x6d, 0x45, 0x69, 0x11, 0xed, + 0xfc, 0x2b, 0xe0, 0x07, 0xcb, 0x91, 0x99, 0xdb, 0x55, 0x1e, 0xf7, 0x0a, 0xd8, 0x62, 0x2e, 0xd2, + 0xd7, 0xc5, 0x29, 0x81, 0x75, 0x6b, 0xb2, 0x7b, 0xe3, 0xab, 0xfc, 0xea, 0xda, 0xcd, 0x14, 0xbe, + 0xac, 0x3f, 0xdd, 0xe3, 0xe8, 0x33, 0x78, 0xc1, 0xdd, 0x64, 0x2c, 0x54, 0x50, 0xd4, 0x62, 0xd6, + 0xa7, 0xc7, 0x1a, 0x10, 0xdd, 0x1e, 0x00, 0xd0, 0x68, 0xf9, 0x67, 0x76, 0xcc, 0x46, 0x11, 0x23, + 0xe4, 0x01, 0x0c, 0x8c, 0x6e, 0x0d, 0xe5, 0x3f, 0xbb, 0x4b, 0x47, 0xd6, 0xa3, 0x25, 0x1f, 0xd3, + 0x01, 0x68, 0xc6, 0x37, 0xe0, 0x3f, 0xa7, 0xdf, 0xf5, 0x24, 0x41, 0xd1, 0x1f, 0x18, 0x96, 0xa4, + 0x28, 0xa5, 0x37, 0xa0, 0x40, 0xa9, 0xc8, 0x1f, 0x87, 0x79, 0xee, 0xdc, 0xe2, 0xda, 0xb2, 0x13, + 0xc3, 0x44, 0x67, 0x85, 0xa0, 0x4f, 0xca, 0x36, 0x4b, 0x1a, 0x25, 0xc9, 0xdf, 0x06, 0xf9, 0xa0, + 0x35, 0x4d, 0x8a, 0x95, 0x3e, 0x76, 0x69, 0x97, 0x6c, 0x9d, 0x23, 0x45, 0xde, 0x41, 0xd8, 0x1b, + 0x44, 0x2a, 0xb3, 0x50, 0xf0, 0x6f, 0xcb, 0x73, 0xb2, 0xc8, 0x38, 0x1e, 0x0a, 0x96, 0xc1, 0x5e, + 0xc8, 0x28, 0x91, 0x62, 0xd4, 0xc4, 0x7e, 0xd8, 0x87, 0xb5, 0xc8, 0xfb, 0x84, 0x2e, 0x98, 0xe9, + 0xdd, 0xb6, 0xce, 0x9e, 0xc7, 0x25, 0x0d, 0xf9, 0x9f, 0x0d, 0xcb, 0x1e, 0x1e, 0x6f, 0x00, 0xbb, + 0x6a, 0x06, 0xa4, 0x72, 0xf2, 0x92, 0xab, 0x36, 0x09, 0x6a, 0x2b, 0x18, 0x3c, 0x31, 0x9d, 0x2d, + 0x77, 0x3d, 0x83, 0x4a, 0xbe, 0xa7, 0xdf, 0xf2, 0x96, 0x0c, 0xb1, 0xe0, 0xe3, 0xe9, 0xcb, 0x44, + 0x9a, 0x0c, 0x95, 0x84, 0x68, 0xab, 0x98, 0x91, 0x8d, 0xbb, 0x08, 0xf7, 0x07, 0xd8, 0x21, 0x5c, + 0x6a, 0x3c, 0x41, 0xfa, 0xbc, 0x32, 0x24, 0x9e, 0x1b, 0x67, 0x6e, 0xd8, 0x71, 0x0a, 0x94, 0xa8, + 0x2b, 0x7d, 0x83, 0x6c, 0x50, 0x43, 0xf9, 0x52, 0x95, 0x7f, 0x20, 0x71, 0xa3, 0xf9, 0x79, 0x04, + 0x25, 0x9a, 0x22, 0xdb, 0xd9, 0xa1, 0x7f, 0x06, 0xb0, 0x88, 0x5d, 0x19, 0x98, 0x36, 0x23, 0xca, + 0xad, 0xff, 0x32, 0x34, 0x18, 0xda, 0xd8, 0xbf, 0x66, 0x41, 0x11, 0xc3, 0xc3, 0x65, 0xaa, 0x79, + 0x92, 0x1d, 0x51, 0xf3, 0x81, 0x95, 0x53, 0xd6, 0x1e, 0x3e, 0x77, 0xf9, 0xc4, 0x76, 0x47, 0xa2, + 0x7f, 0x7e, 0xab, 0xa4, 0xbb, 0x39, 0xf6, 0xf5, 0x3c, 0x20, 0x23, 0x9a, 0xdd, 0x86, 0x4d, 0xe9, + 0x83, 0xc0, 0x0a, 0x21, 0x40, 0x35, 0x23, 0xab, 0x39, 0xf7, 0xf9, 0x13, 0x6c, 0xde, 0x69, 0x02, + 0x95, 0xac, 0x80, 0x4c, 0x07, 0x81, 0xaa, 0x55, 0x11, 0x8f, 0xe2, 0xd3, 0x98, 0x31, 0x0d, 0x49, + 0x71, 0x95, 0x6a, 0xfd, 0x28, 0x7d, 0x81, 0x23, 0x17, 0x8a, 0x43, 0xc9, 0x71, 0xb4, 0x44, 0x1c, + 0x6a, 0xef, 0xae, 0x71, 0x25, 0x4f, 0xfc, 0x41, 0xc7, 0x1a, 0x46, 0x84, 0x91, 0xba, 0x00, 0xce, + 0xeb, 0x1e, 0x96, 0xa8, 0xdd, 0xf7, 0xe5, 0xa2, 0x79, 0xb8, 0xf5, 0x2f, 0x32, 0x1f, 0xd6, 0x8d, + 0xad, 0xed, 0xbb, 0x73, 0xd6, 0x8c, 0x52, 0x89, 0x90, 0x7d, 0xa4, 0x5e, 0x1e, 0x0c, 0x3c, 0x83, + 0x2f, 0x69, 0xb9, 0x7e, 0xc3, 0x4a, 0x00, 0x23, 0xf9, 0x79, 0xfe, 0x00, 0x3f, 0xe7, 0xe3, 0xb0, + 0x5e, 0xd5, 0x9a, 0xf9, 0xb7, 0x6b, 0xf7, 0x10, 0x8d, 0x76, 0x3a, 0x15, 0x53, 0x7a, 0x54, 0x64, + 0xd3, 0xcf, 0xa6, 0x08, 0x59, 0x34, 0xf5, 0xc7, 0x23, 0x49, 0x8e, 0xc7, 0x9c, 0x01, 0xda, 0x63, + 0x0b, 0xe0, 0xa6, 0xc4, 0xa8, 0xeb, 0x6e, 0xb3, 0x49, 0x7f, 0xf3, 0x4e, 0x13, 0x09, 0xa0, 0x2d, + 0xf2, 0x1f, 0x05, 0xaa, 0xb6, 0xe5, 0x1f, 0x9f, 0xf6, 0xce, 0x02, 0xfc, 0x12, 0xb1, 0x2b, 0x8c, + 0x8e, 0xa0, 0x38, 0x56, 0xf9, 0x02, 0xfb, 0x8c, 0x02, 0x18, 0xde, 0xec, 0xe9, 0xc1, 0x0f, 0x16, + 0x16, 0x5b, 0xc7, 0xe6, 0xc8, 0xa0, 0x1d, 0x50, 0xec, 0x24, 0x2a, 0x8a, 0xfc, 0x46, 0x18, 0x6c, + 0x86, 0xfb, 0x1f, 0xee, 0x47, 0xdd, 0x64, 0x99, 0x58, 0x07, 0xb6, 0x59, 0x3a, 0x60, 0x12, 0x1d, + 0x88, 0x28, 0x77, 0x5f, 0x7a, 0x7e, 0x4d, 0x88, 0x3b, 0xa0, 0x8b, 0x12, 0x70, 0xfa, 0x49, 0x29, + 0x20, 0x29, 0xd9, 0xbb, 0xa9, 0x21, 0xc0, 0x21, 0x4c, 0xc0, 0xe3, 0x20, 0xda, 0x84, 0x70, 0x9f, + 0x2c, 0xdd, 0xee, 0xb3, 0x84, 0x11, 0xcb, 0x59, 0xc8, 0x2c, 0xc4, 0xb0, 0xb7, 0xee, 0x91, 0x58, + 0x68, 0x3a, 0x28, 0x9a, 0x9d, 0xee, 0xd3, 0x8b, 0x45, 0x5f, 0x2e, 0x34, 0x89, 0xe1, 0x7a, 0x83, + 0x43, 0x52, 0x75, 0x37, 0x71, 0xe2, 0x9f, 0xd2, 0xe3, 0xa6, 0x2f, 0x12, 0x10, 0xbd, 0x9e, 0x67, + 0x01, 0x10, 0x98, 0x26, 0x8e, 0xfc, 0x89, 0x6d, 0x69, 0xfc, 0xb8, 0xac, 0x11, 0xe8, 0xd8, 0x93, + 0x1e, 0xc9, 0x42, 0xa5, 0xd8, 0x7b, 0x8a, 0xc4, 0x76, 0xe7, 0xda, 0xcd, 0xbd, 0x96, 0xf7, 0xab, + 0x50, 0x91, 0x3f, 0xd4, 0x27, 0x41, 0x34, 0xc7, 0x47, 0xd2, 0xab, 0x1e, 0xc2, 0x60, 0x72, 0x6a, + 0xa1, 0xa4, 0x62, 0x9e, 0xcb, 0x7e, 0xff, 0x2a, 0xbd, 0xfb, 0x65, 0x07, 0x21, 0xf3, 0x9e, 0x8e, + 0xf5, 0x2a, 0x3b, 0xf0, 0xf9, 0x3d, 0xc8, 0x35, 0xde, 0xee, 0xaa, 0xa4, 0xa0, 0xab, 0x80, 0x5a, + 0x58, 0x75, 0x34, 0x05, 0xfc, 0xe3, 0x53, 0xb4, 0x08, 0x35, 0x07, 0x34, 0xf7, 0xcf, 0x35, 0x63, + 0xcf, 0x25, 0x1f, 0x23, 0xc3, 0x80, 0x89, 0xa1, 0xc3, 0xf2, 0xf3, 0x60, 0xcb, 0xa0, 0x63, 0x7a, + 0x65, 0x03, 0xe3, 0xd1, 0x7b, 0x38, 0xd0, 0x61, 0x7f, 0x4b, 0x66, 0x55, 0xf0, 0xfe, 0x8b, 0xef, + 0xf8, 0xf0, 0x80, 0xaf, 0x77, 0x7b, 0xd0, 0x2d, 0x67, 0x6c, 0xdc, 0xb0, 0xac, 0x18, 0x5e, 0x2f, + 0x8a, 0xec, 0x99, 0x68, 0xbb, 0x43, 0x9a, 0x97, 0xd8, 0xa2, 0x63, 0x88, 0x86, 0x8f, 0x24, 0xeb, + 0xb2, 0xd8, 0x7b, 0xa6, 0x23, 0xcb, 0x88, 0xf4, 0x17, 0x52, 0xc2, 0xb7, 0x3e, 0x97, 0xc9, 0x93, + 0x1b, 0xaa, 0xa1, 0xf9, 0xc8, 0xa7, 0x6a, 0x39, 0x9a, 0xe1, 0xc5, 0xa1, 0x5f, 0xb2, 0xff, 0x9d, + 0x71, 0x53, 0xf8, 0x05, 0x36, 0xe3, 0x7c, 0x81, 0xc7, 0x1d, 0xd2, 0xd4, 0xb5, 0x33, 0x03, 0x94, + 0xf1, 0x07, 0xe1, 0x08, 0x06, 0xee, 0xa0, 0x4e, 0xab, 0xc6, 0x69, 0x6a, 0xd5, 0x4a, 0xaf, 0x99, + 0x33, 0x0d, 0x13, 0xe9, 0x99, 0xbd, 0x50, 0xb9, 0x78, 0x61, 0x8a, 0xb6, 0x4d, 0x56, 0x4a, 0x5d, + 0xd2, 0xb3, 0x5b, 0x8c, 0x25, 0xd8, 0xef, 0x0d, 0xd1, 0x53, 0x85, 0xce, 0xdf, 0x44, 0x95, 0x6b, + 0xed, 0x5b, 0xf1, 0x0c, 0x4a, 0xcd, 0xca, 0xea, 0x5e, 0x42, 0x25, 0xd9, 0x05, 0x3a, 0x81, 0xda, + 0xa2, 0x36, 0x5f, 0x8a, 0x7d, 0x35, 0xd1, 0x44, 0xd7, 0xf8, 0x6b, 0x3b, 0xd3, 0x9b, 0x78, 0xc0, + 0x5c, 0x5c, 0x4b, 0x77, 0x65, 0x5e, 0x6b, 0xd2, 0x1a, 0x97, 0x92, 0xf4, 0x6d, 0x96, 0xb7, 0x60, + 0x61, 0x0d, 0x1a, 0xa6, 0x64, 0xfd, 0xf3, 0x29, 0x9f, 0x0c, 0x92, 0xf9, 0xcd, 0x57, 0x42, 0xdc, + 0x66, 0xb2, 0xa1, 0x2d, 0xef, 0x01, 0xe3, 0x19, 0x43, 0xb4, 0xcd, 0x74, 0x9e, 0xc0, 0x04, 0xe7, + 0xea, 0xce, 0x9d, 0xe6, 0x90, 0x2b, 0x05, 0xa0, 0x14, 0x3d, 0xe6, 0x56, 0x58, 0x2f, 0xdf, 0x80, + 0xcc, 0x66, 0xb7, 0xc5, 0x58, 0xae, 0xed, 0x81, 0x77, 0xc8, 0x91, 0x6b, 0x4b, 0xa8, 0x58, 0x7e, + 0x37, 0xc0, 0x3c, 0x43, 0xb0, 0x49, 0x17, 0xb9, 0x12, 0xdb, 0x22, 0x55, 0xf8, 0xa7, 0xdf, 0x9d, + 0x65, 0x43, 0xed, 0xd5, 0xd5, 0xe4, 0x4f, 0xdb, 0xa3, 0x16, 0xcd, 0x7f, 0xf8, 0x8c, 0x07, 0x58, + 0x1a, 0xed, 0x3b, 0x29, 0xc9, 0xe5, 0xd9, 0x8d, 0x1e, 0x21, 0xd1, 0xe1, 0xdd, 0x50, 0xca, 0x7e, + 0x77, 0x09, 0x5d, 0x72, 0x1f, 0x1e, 0x70, 0x96, 0x9f, 0x8d, 0xde, 0xc0, 0xfd, 0xef, 0x3e, 0x84, + 0xcf, 0xd4, 0xcb, 0xa3, 0x5e, 0xcf, 0xdf, 0xd7, 0x0f, 0xe2, 0x9a, 0xcc, 0x3e, 0x52, 0x0e, 0xd6, + 0xac, 0x69, 0x9e, 0xec, 0x2f, 0x45, 0x20, 0x17, 0x28, 0x34, 0x9a, 0x8e, 0x5e, 0xb7, 0x09, 0x04, + 0x57, 0xa4, 0x17, 0xba, 0x45, 0x3e, 0xcf, 0xec, 0x2d, 0x83, 0xf0, 0x0e, 0x9a, 0xff, 0xad, 0x04, + 0x36, 0x97, 0x4c, 0xcf, 0xb6, 0xa2, 0x37, 0x7b, 0xa5, 0xfa, 0xa9, 0x25, 0x88, 0xd9, 0x71, 0xb0, + 0x2b, 0xc0, 0xd8, 0xf5, 0x22, 0x59, 0x29, 0x75, 0xa2, 0x56, 0xa8, 0x32, 0x2b, 0xdb, 0xae, 0x3a, + 0x3c, 0x02, 0x1a, 0x3c, 0x23, 0xf9, 0xab, 0xe0, 0x77, 0x15, 0xf6, 0x34, 0x15, 0x39, 0x3c, 0x83, + 0xbe, 0xec, 0xac, 0xaa, 0xd6, 0x02, 0xd0, 0x56, 0x9d, 0x14, 0x38, 0x3b, 0x52, 0x45, 0xd9, 0x40, + 0x7f, 0x79, 0xe2, 0xb6, 0xeb, 0xe9, 0x9f, 0xa9, 0x4b, 0xb3, 0x1e, 0x3f, 0x92, 0xc0, 0x6d, 0xd0, + 0x6e, 0x78, 0x02, 0x72, 0xc2, 0x73, 0x0f, 0x89, 0x3b, 0x99, 0x44, 0x0b, 0xa9, 0xde, 0x18, 0xae, + 0xe6, 0x6f, 0xf9, 0x33, 0xb5, 0x94, 0x12, 0x66, 0x38, 0x66, 0xc2, 0x67, 0xb2, 0x12, 0x5d, 0x83, + 0xc3, 0x42, 0x8d, 0xd0, 0x04, 0x3b, 0x4d, 0x76, 0x47, 0xfb, 0x56, 0xec, 0xa6, 0x17, 0xe2, 0x7f, + 0x5c, 0xc4, 0xf4, 0xa4, 0x2e, 0xf5, 0x6a, 0xdf, 0x92, 0xe6, 0x76, 0x37, 0xbe, 0x43, 0xa0, 0x07, + 0xe7, 0xb3, 0x52, 0x50, 0x74, 0x5d, 0x89, 0x4a, 0x8c, 0xbe, 0xc9, 0x6e, 0xfe, 0x75, 0xac, 0xe7, + 0x96, 0x1d, 0xfc, 0xd6, 0x97, 0xc1, 0x8e, 0x45, 0x32, 0xa6, 0xe0, 0xc6, 0x45, 0x09, 0x87, 0xcf, + 0x00, 0x8e, 0x16, 0x6f, 0x88, 0xd5, 0x04, 0xf6, 0x49, 0xd4, 0xa2, 0x44, 0x09, 0x33, 0xad, 0xf8, + 0x9b, 0xe8, 0x98, 0xfa, 0x0c, 0x2c, 0x5f, 0xad, 0x2b, 0x05, 0xb2, 0xdb, 0x44, 0xd8, 0xa1, 0xd7, + 0x78, 0xf2, 0xba, 0xec, 0x8d, 0xfe, 0xe8, 0xa6, 0xb3, 0xb6, 0xf0, 0xb7, 0x68, 0x7b, 0x9f, 0xfb, + 0x8f, 0x52, 0xfc, 0x08, 0x9a, 0x5f, 0xf7, 0x5e, 0x4f, 0xac, 0x75, 0x83, 0x01, 0x1f, 0x2f, 0xdc, + 0x93, 0x46, 0xec, 0x85, 0x92, 0xaf, 0xb5, 0x10, 0xdc, 0xdb, 0x23, 0x33, 0x57, 0x5a, 0xbb, 0x12, + 0x7c, 0xc2, 0x87, 0x25, 0x49, 0x20, 0xf9, 0xab, 0xf6, 0x15, 0xb3, 0xf8, 0x7d, 0x26, 0x08, 0xed, + 0x4d, 0xd0, 0xa0, 0x42, 0xc0, 0xdb, 0x44, 0xd4, 0x12, 0xa9, 0xa1, 0x1f, 0x3f, 0x3b, 0xe6, 0x86, + 0x22, 0x3a, 0x03, 0x22, 0xa9, 0xed, 0x2b, 0x44, 0x2e, 0xce, 0xf7, 0xf9, 0x41, 0x6c, 0x3d, 0x6a, + 0x72, 0x9e, 0x33, 0x8c, 0x38, 0xb1, 0x6e, 0xce, 0x44, 0x7d, 0x59, 0x2c, 0x38, 0x9b, 0xba, 0x3c, + 0xb2, 0xe4, 0x45, 0xd7, 0xb0, 0x3b, 0xe6, 0xef, 0xfc, 0x28, 0x0b, 0x45, 0x99, 0xcb, 0xe3, 0x57, + 0x32, 0xf2, 0x1d, 0x37, 0xf0, 0x7d, 0x38, 0x01, 0x34, 0x69, 0x51, 0xdc, 0x80, 0xbe, 0xf2, 0x31, + 0x5f, 0x2a, 0xcd, 0xf1, 0xfe, 0x2d, 0xd9, 0x98, 0xc6, 0x0f, 0xc6, 0x60, 0x03, 0xbd, 0xa0, 0xe7, + 0x2e, 0xd0, 0x24, 0x81, 0x4c, 0x67, 0xb0, 0xc1, 0xae, 0x51, 0xfa, 0xa3, 0x04, 0x9a, 0xe2, 0x5f, + 0x2c, 0x69, 0x40, 0xb8, 0x5b, 0x6b, 0x3f, 0xc2, 0xad, 0x7a, 0x4c, 0xbb, 0xe5, 0x0f, 0x60, 0x6e, + 0xf3, 0x5e, 0xd9, 0xf2, 0xdb, 0x21, 0x57, 0x86, 0x0b, 0x76, 0xe2, 0x69, 0x07, 0x7e, 0x3e, 0x19, + 0xfa, 0xd9, 0x96, 0xbf, 0x99, 0xe5, 0x10, 0x32, 0x10, 0xd7, 0xe1, 0x7e, 0xa9, 0xe8, 0x51, 0xfc, + 0x99, 0x4e, 0x3a, 0xe5, 0xdd, 0xa8, 0xdc, 0x92, 0x90, 0x9d, 0x42, 0x89, 0xec, 0xa1, 0xd0, 0x2b, + 0x09, 0x04, 0x56, 0x75, 0x5e, 0x57, 0xe9, 0x35, 0x7c, 0x37, 0xb8, 0x9a, 0xd2, 0x09, 0xe4, 0x80, + 0x64, 0xd4, 0x05, 0xf3, 0xb4, 0x07, 0x98, 0x37, 0xdb, 0x5b, 0x86, 0x1b, 0xce, 0xe1, 0x31, 0x25, + 0x27, 0xf1, 0x69, 0xbe, 0x57, 0xe7, 0xec, 0xed, 0x59, 0x3c, 0xc5, 0xa2, 0x38, 0x79, 0x70, 0x6f, + 0x14, 0x5f, 0xf6, 0xdb, 0x53, 0x18, 0x70, 0x77, 0x62, 0xe7, 0xfb, 0x0d, 0x1c, 0x27, 0xc6, 0x2a, + 0x26, 0x2e, 0xd1, 0xd8, 0xd0, 0xa6, 0xab, 0xa1, 0xf4, 0x28, 0xdb, 0x3f, 0x03, 0x29, 0x95, 0x44, + 0x41, 0xd2, 0x07, 0xf5, 0x9c, 0x13, 0xa1, 0xf4, 0xff, 0xcc, 0x9c, 0x28, 0xf0, 0x82, 0xc4, 0x81, + 0x80, 0xdb, 0x5d, 0x72, 0x68, 0x6e, 0x7b, 0x15, 0x44, 0x41, 0x8c, 0x49, 0x42, 0x6c, 0x10, 0x7a, + 0x84, 0x79, 0xc0, 0xe0, 0x8a, 0x97, 0xd0, 0xef, 0x9f, 0x55, 0xe5, 0x50, 0x0c, 0x4e, 0xb5, 0x22, + 0xb7, 0x97, 0xef, 0x07, 0x9c, 0x53, 0x61, 0x6c, 0xd1, 0xe9, 0x4c, 0x14, 0x6a, 0x76, 0xfa, 0xeb, + 0xf1, 0x41, 0x60, 0x84, 0xfb, 0x60, 0x34, 0xd4, 0xe1, 0xe3, 0xbd, 0x3f, 0xb1, 0x14, 0xa5, 0x09, + 0xe6, 0x34, 0xb8, 0xb7, 0xa8, 0x0a, 0xb7, 0x73, 0x32, 0x46, 0x87, 0x03, 0x6e, 0x75, 0xe8, 0x69, + 0xdc, 0x15, 0x9c, 0x4a, 0xf2, 0xab, 0xf7, 0x80, 0xd0, 0x47, 0x7a, 0xbc, 0x00, 0x71, 0xae, 0x23, + 0x2f, 0xab, 0xa7, 0x9a, 0xbd, 0xae, 0x0e, 0x62, 0x79, 0xdb, 0x13, 0x9a, 0x3a, 0xba, 0x2e, 0x21, + 0xa5, 0x3e, 0xa0, 0x56, 0xd8, 0x50, 0x90, 0x07, 0x8c, 0x2a, 0xa4, 0x37, 0x6c, 0x29, 0x84, 0x37, + 0x9b, 0x04, 0x50, 0x75, 0x0c, 0xe4, 0xc9, 0x50, 0x45, 0x68, 0x0e, 0x25, 0x51, 0x06, 0xc6, 0xdb, + 0xf3, 0x96, 0xe1, 0x5b, 0xf1, 0x45, 0x35, 0xb8, 0xec, 0x39, 0x9d, 0xf4, 0xce, 0x4d, 0xdc, 0xe9, + 0xfb, 0xc9, 0x29, 0x50, 0x33, 0x4d, 0xec, 0xb1, 0x7a, 0xf2, 0x52, 0x61, 0x96, 0xa1, 0xe9, 0xab, + 0xa0, 0x72, 0xf7, 0xc7, 0x79, 0x61, 0x3a, 0x43, 0xd4, 0x1b, 0x72, 0xb6, 0x3e, 0xba, 0x2b, 0x95, + 0xd2, 0x36, 0xf7, 0x00, 0xca, 0xed, 0x2b, 0xbd, 0x60, 0xc4, 0xe8, 0x4d, 0xe7, 0x5e, 0x51, 0xbd, + 0x2b, 0xb5, 0xec, 0x10, 0x15, 0x59, 0xec, 0xe0, 0x89, 0x3b, 0xa9, 0x38, 0x29, 0xc2, 0xdb, 0x18, + 0xcd, 0xe3, 0x39, 0xcd, 0xbc, 0x5f, 0xcb, 0xd2, 0x08, 0x0f, 0x8f, 0x5c, 0xa6, 0xd8, 0xc8, 0xfc, + 0xa3, 0xf4, 0x88, 0x98, 0xf5, 0x6a, 0xf7, 0x2e, 0x49, 0x26, 0xd7, 0x38, 0xc8, 0xbd, 0x75, 0x2b, + 0x71, 0x16, 0x2e, 0xda, 0xc4, 0x09, 0x02, 0xab, 0x47, 0x67, 0xe1, 0xab, 0x16, 0xd8, 0xbb, 0x5b, + 0xcb, 0x08, 0xcc, 0x01, 0x49, 0x85, 0x31, 0x5b, 0xa2, 0xdb, 0x2b, 0xba, 0x29, 0x71, 0xb2, 0xa6, + 0xd7, 0x94, 0x47, 0xa4, 0x52, 0x55, 0x16, 0x48, 0xdd, 0xf5, 0x6e, 0x49, 0xf5, 0x72, 0x81, 0xfc, + 0x0e, 0xed, 0xae, 0x36, 0xe0, 0x1f, 0x68, 0x47, 0x70, 0xc2, 0xfb, 0xa9, 0x7e, 0xec, 0x11, 0xb2, + 0xb3, 0x5f, 0x92, 0xc8, 0x86, 0x2f, 0xc3, 0x6a, 0x01, 0x7c, 0x06, 0x68, 0x6d, 0x98, 0x46, 0xde, + 0x02, 0x5a, 0x6c, 0xc1, 0xed, 0x0d, 0x64, 0x01, 0x7f, 0xaa, 0x00, 0xcb, 0xc2, 0x76, 0x79, 0x84, + 0x49, 0xff, 0xe0, 0xe0, 0xce, 0x10, 0x84, 0x81, 0x58, 0x66, 0xe0, 0x0a, 0xab, 0x70, 0x65, 0xea, + 0x54, 0x11, 0x4d, 0xf5, 0x6b, 0x15, 0x2c, 0x15, 0x3c, 0xab, 0xf5, 0x22, 0x25, 0x2a, 0xd1, 0xea, + 0x11, 0x5f, 0x12, 0x45, 0xbb, 0x06, 0xdb, 0x6f, 0x03, 0x1f, 0x57, 0xfa, 0xef, 0x96, 0x63, 0x7e, + 0xe1, 0xe2, 0xc5, 0xbf, 0x53, 0x8b, 0xa0, 0x71, 0x70, 0xb2, 0x76, 0x59, 0x7a, 0x5a, 0xab, 0xd7, + 0x08, 0x86, 0x86, 0x48, 0x55, 0x10, 0xbb, 0x5d, 0xa1, 0x90, 0x35, 0xb5, 0x0c, 0xcd, 0x1f, 0xbe, + 0xa3, 0x89, 0x3b, 0x7e, 0x6d, 0x22, 0x22, 0xc0, 0x1b, 0x48, 0x8e, 0x12, 0xad, 0xbc, 0x59, 0x01, + 0xa5, 0x05, 0x6d, 0x11, 0x10, 0x74, 0xb0, 0xe9, 0xb5, 0xad, 0x9a, 0xa8, 0x66, 0xa3, 0xe4, 0x7f, + 0x60, 0x04, 0xb8, 0x61, 0x59, 0xaa, 0x51, 0xd5, 0x5b, 0x0c, 0x58, 0x68, 0xb3, 0xfd, 0x02, 0xca, + 0x75, 0x51, 0x9c, 0x99, 0x71, 0x59, 0x21, 0xd5, 0xe5, 0xa3, 0x2a, 0xab, 0x34, 0x90, 0x6f, 0xf8, + 0x73, 0xb6, 0x89, 0x84, 0xd8, 0xde, 0x8d, 0x93, 0x7c, 0x70, 0x27, 0xaf, 0x46, 0x7c, 0xc7, 0x73, + 0x5e, 0x83, 0x80, 0x86, 0x6c, 0x06, 0xb1, 0xa0, 0x86, 0xcf, 0x99, 0xf1, 0x74, 0xcb, 0x28, 0x8b, + 0x3a, 0x5d, 0x8d, 0x96, 0xc4, 0x56, 0x3c, 0x44, 0x1c, 0x56, 0x43, 0x30, 0xd4, 0x64, 0x4d, 0xa4, + 0x71, 0xa2, 0x5f, 0x6a, 0xf2, 0xfc, 0x3d, 0x12, 0xc3, 0x19, 0x68, 0x51, 0x65, 0x79, 0x80, 0x65, + 0x43, 0x2b, 0x12, 0x5f, 0x49, 0x01, 0x20, 0xe1, 0xf1, 0xa3, 0x49, 0x20, 0x00, 0x5f, 0xa9, 0xe1, + 0xc6, 0x93, 0xf8, 0x49, 0x59, 0x80, 0xe0, 0x18, 0xfa, 0xdc, 0xfd, 0xe4, 0xcd, 0xaa, 0x7a, 0xaa, + 0x4f, 0xf9, 0xe7, 0xd4, 0x59, 0x3d, 0x0b, 0x8f, 0x42, 0x95, 0xf2, 0x45, 0xc6, 0xc0, 0xde, 0xb7, + 0x67, 0xa7, 0x3b, 0xb8, 0x3e, 0x2b, 0xa2, 0x8d, 0x63, 0xc4, 0xcf, 0x01, 0x3b, 0xda, 0x39, 0xd0, + 0xc2, 0x75, 0x26, 0x41, 0xe0, 0xa4, 0xff, 0x20, 0x43, 0x0a, 0x6d, 0x27, 0xc9, 0x45, 0x33, 0x56, + 0xaa, 0x29, 0x58, 0x61, 0x67, 0xbe, 0xa4, 0xe1, 0xa4, 0xc8, 0x26, 0xd5, 0xd1, 0xbe, 0xaf, 0x1b, + 0x0a, 0x76, 0xdb, 0x4e, 0x1f, 0x0a, 0x41, 0x33, 0x1a, 0x57, 0xa5, 0x2e, 0x56, 0x95, 0x78, 0x3c, + 0xe1, 0x84, 0x9a, 0xc2, 0x47, 0x81, 0x02, 0xb4, 0xda, 0xee, 0x4d, 0xa1, 0x39, 0x06, 0xb3, 0x60, + 0x01, 0xf5, 0x5e, 0xf0, 0xaa, 0x10, 0x85, 0xa3, 0xaa, 0x13, 0x15, 0x13, 0x42, 0x34, 0xde, 0xe1, + 0x45, 0x44, 0x4b, 0x79, 0xed, 0x06, 0xe5, 0x1a, 0xdf, 0xfe, 0xa4, 0x61, 0x1f, 0x8c, 0x0d, 0x42, + 0xc9, 0x18, 0x52, 0x6e, 0xab, 0x96, 0x51, 0xe2, 0xe6, 0x87, 0xba, 0xdc, 0x2d, 0xc0, 0xc9, 0xd1, + 0xd4, 0xc4, 0xe7, 0xed, 0xa7, 0xa0, 0x66, 0x34, 0x0a, 0xf3, 0x59, 0x17, 0x42, 0xb8, 0x7a, 0x3f, + 0x13, 0xbb, 0xed, 0x92, 0xfa, 0x05, 0x27, 0x65, 0x0a, 0x47, 0x58, 0xe0, 0x3c, 0x25, 0xc7, 0xb7, + 0x71, 0x79, 0x7c, 0xcb, 0x6b, 0xc4, 0x2f, 0x08, 0x08, 0xb5, 0x0e, 0x33, 0x39, 0x21, 0x6f, 0x4d, + 0x07, 0x17, 0xaa, 0x4e, 0xf8, 0x8c, 0x60, 0xc9, 0x13, 0x80, 0xdc, 0x0e, 0x13, 0xb6, 0xc3, 0x10, + 0x3b, 0xb1, 0x66, 0x22, 0x20, 0x67, 0xb5, 0x73, 0x40, 0xec, 0xcd, 0xa1, 0x1b, 0xb2, 0xd0, 0x7c, + 0xad, 0x09, 0x06, 0x34, 0x69, 0x37, 0xa4, 0x6d, 0x94, 0x7a, 0x89, 0x25, 0x1f, 0xff, 0x69, 0x41, + 0x88, 0xab, 0x05, 0x4c, 0xb8, 0xdd, 0x46, 0xd9, 0x9c, 0xf5, 0x54, 0xe4, 0x37, 0x12, 0xa7, 0x83, + 0xe2, 0x4a, 0xe9, 0x85, 0xd1, 0x79, 0xa0, 0x74, 0x59, 0xe1, 0x0d, 0x00, 0x4d, 0x83, 0x0c, 0xf7, + 0xa9, 0x80, 0xda, 0x05, 0x50, 0x1c, 0xc2, 0x4d, 0x1c, 0x4a, 0x70, 0x9f, 0xaa, 0xe5, 0x58, 0x00, + 0xd4, 0xdc, 0xa7, 0xfe, 0x65, 0x3a, 0xc0, 0x81, 0x4f, 0x60, 0xbe, 0x85, 0x77, 0xde, 0xb0, 0x58, + 0xd8, 0x0d, 0x71, 0xc2, 0x5e, 0x9b, 0x70, 0x5a, 0x89, 0x2d, 0x2d, 0x3a, 0x9e, 0x73, 0x8b, 0x76, + 0xa9, 0x1a, 0x7e, 0x73, 0xe1, 0x73, 0x87, 0xe7, 0x3a, 0xab, 0xea, 0x41, 0x08, 0x4f, 0xea, 0x38, + 0x7b, 0x4f, 0x93, 0x39, 0xe8, 0x9d, 0x2e, 0x09, 0x9b, 0xf8, 0xb6, 0x4c, 0xd7, 0x73, 0x23, 0xff, + 0xe0, 0x4f, 0x69, 0x07, 0x93, 0x56, 0xc8, 0xe4, 0xa6, 0xee, 0x3a, 0x4a, 0xa6, 0x24, 0xf5, 0xf2, + 0x3e, 0xab, 0x74, 0xc3, 0x53, 0x4c, 0xd2, 0x36, 0x44, 0xcc, 0xae, 0xdb, 0xa0, 0x21, 0x88, 0x91, + 0x56, 0x0e, 0x88, 0xd2, 0x45, 0xeb, 0x10, 0x49, 0x36, 0x45, 0xbb, 0x3d, 0xc5, 0xd0, 0x1b, 0xa0, + 0xa6, 0x4c, 0x33, 0x50, 0x1d, 0x1a, 0x40, 0xbf, 0x24, 0x1f, 0x8f, 0x0e, 0x17, 0x88, 0xf6, 0xa5, + 0x3c, 0x12, 0x77, 0xdc, 0xa1, 0xf1, 0xfb, 0xea, 0xef, 0xc1, 0x9a, 0xd0, 0x10, 0x41, 0x15, 0xb8, + 0x2f, 0xaa, 0x98, 0x50, 0xc2, 0xaa, 0x1a, 0x27, 0x96, 0x3c, 0x3a, 0x60, 0xc1, 0x0f, 0x71, 0xfc, + 0x33, 0x20, 0xd3, 0x7f, 0x30, 0x51, 0xdf, 0x66, 0xea, 0x7d, 0xcd, 0xd0, 0x98, 0x79, 0x2a, 0xe4, + 0x3d, 0x55, 0xfc, 0xb7, 0x16, 0x65, 0x26, 0x7d, 0xff, 0xd3, 0x76, 0x4f, 0xc9, 0x92, 0x2d, 0x1a, + 0x5d, 0x58, 0xcb, 0x2c, 0x03, 0xee, 0xbf, 0x6b, 0xe8, 0xdc, 0x16, 0xf7, 0x13, 0x0a, 0x73, 0x9b, + 0xce, 0x5d, 0xf2, 0x32, 0x49, 0xe0, 0xc7, 0xbe, 0xd2, 0xd2, 0x2e, 0x34, 0x2c, 0x1e, 0x4b, 0x40, + 0x26, 0x3c, 0x71, 0x9f, 0xf7, 0xba, 0xb3, 0x4b, 0x83, 0x25, 0xf3, 0x3b, 0x6e, 0x20, 0xb6, 0xb6, + 0x5f, 0xec, 0x8a, 0x84, 0x82, 0x79, 0x96, 0xc9, 0xbe, 0x80, 0x7e, 0x12, 0x97, 0x09, 0x9f, 0xfb, + 0xb0, 0x9d, 0xa3, 0x17, 0x48, 0xa5, 0x86, 0xe2, 0x99, 0x44, 0xee, 0x09, 0xf3, 0x32, 0x8d, 0x96, + 0x17, 0x4b, 0x00, 0x3f, 0x29, 0xf6, 0x4c, 0xac, 0xcc, 0x32, 0x0a, 0x47, 0xfd, 0x17, 0xf7, 0xc5, + 0xe1, 0xcc, 0x18, 0x11, 0x14, 0x14, 0x66, 0xdb, 0x97, 0xc3, 0x40, 0x84, 0xd6, 0x36, 0xa3, 0xed, + 0xc5, 0x6d, 0x06, 0x3e, 0xbf, 0x03, 0xc0, 0x19, 0x59, 0x7c, 0x5f, 0x43, 0xec, 0xc8, 0xc0, 0x8e, + 0xbd, 0x62, 0x98, 0xa9, 0x2e, 0x20, 0xad, 0xdb, 0x4f, 0xf5, 0x9a, 0x20, 0x4c, 0x9c, 0x27, 0x67, + 0x12, 0x58, 0x94, 0x8d, 0x0c, 0x57, 0x17, 0xf8, 0x7a, 0xb3, 0x16, 0x90, 0xd1, 0xb8, 0x54, 0x80, + 0x73, 0xa5, 0x99, 0x1b, 0x74, 0xf6, 0x59, 0x5b, 0xa3, 0x9c, 0xeb, 0x83, 0x83, 0x2a, 0x7e, 0x79, + 0x00, 0x15, 0xfd, 0xe2, 0xec, 0xf4, 0xc3, 0xab, 0xaa, 0xf2, 0x62, 0xc1, 0x94, 0xbe, 0x08, 0xe7, + 0x5f, 0xbd, 0xdb, 0xb8, 0xe7, 0x2e, 0xd9, 0x88, 0xb5, 0x38, 0x45, 0xbe, 0xfc, 0x64, 0x4a, 0x19, + 0x3a, 0x4e, 0x55, 0xda, 0x8b, 0x6d, 0xe2, 0xf5, 0x5f, 0xe7, 0x1e, 0xed, 0x18, 0xd4, 0xe9, 0x7b, + 0xa4, 0xc2, 0xbb, 0x6e, 0xfa, 0x1a, 0x53, 0xaf, 0x82, 0xdd, 0x64, 0x68, 0x66, 0x73, 0x06, 0x8e, + 0x77, 0x66, 0xed, 0x7d, 0xbe, 0x95, 0x43, 0xb8, 0xb1, 0xac, 0x1b, 0xff, 0x2e, 0xa9, 0x66, 0x15, + 0x0d, 0xda, 0x5d, 0xa0, 0xb5, 0xac, 0x3d, 0x5d, 0x48, 0x94, 0x1f, 0x45, 0xc5, 0x92, 0xb3, 0x9c, + 0x9b, 0xaa, 0xfa, 0x73, 0xe3, 0xf6, 0x07, 0x6f, 0xaf, 0x8c, 0x28, 0x47, 0xc9, 0x4f, 0xc2, 0x04, + 0x72, 0xc9, 0xc5, 0x44, 0xba, 0x11, 0x51, 0xba, 0xf4, 0x95, 0x1d, 0x64, 0x50, 0x15, 0x6e, 0xd4, + 0xc7, 0x71, 0x6c, 0xd9, 0x81, 0x7d, 0xb9, 0xfb, 0xc6, 0x10, 0x53, 0x0b, 0x23, 0xae, 0x0f, 0xa3, + 0x7c, 0x53, 0xb3, 0x85, 0xa3, 0x3a, 0xc0, 0xa8, 0xdc, 0xe6, 0x60, 0x3c, 0x03, 0xc1, 0x6f, 0x8b, + 0xa9, 0xec, 0x3d, 0xab, 0xdc, 0x37, 0x00, 0x9f, 0xc5, 0x53, 0xfc, 0x49, 0xa9, 0xe7, 0xa1, 0xf4, + 0xfb, 0x9a, 0x4d, 0xc0, 0xde, 0x47, 0x61, 0xea, 0x46, 0x89, 0xa0, 0xa9, 0x5f, 0x9a, 0x2b, 0x05, + 0xcb, 0x54, 0xb9, 0x87, 0xd7, 0xd0, 0xe1, 0x5e, 0xa0, 0x08, 0xf9, 0xf0, 0x23, 0xc8, 0xfd, 0x74, + 0x61, 0xcd, 0xab, 0x85, 0x9d, 0x5b, 0x8f, 0x15, 0xef, 0x29, 0x2f, 0x80, 0x13, 0x70, 0x81, 0x93, + 0x3b, 0xe0, 0x0e, 0xf9, 0xbb, 0xa6, 0xfc, 0x04, 0xb4, 0xcb, 0x9e, 0x75, 0xf8, 0x8e, 0xfc, 0xf1, + 0x68, 0x54, 0xfc, 0x6c, 0xfe, 0x04, 0x3a, 0xf8, 0xb7, 0xf6, 0x5d, 0xcb, 0x1a, 0x9d, 0x6f, 0x33, + 0x5d, 0xe3, 0xcc, 0xe2, 0xa8, 0x81, 0x11, 0x09, 0xc5, 0x00, 0x59, 0xad, 0xb3, 0xf5, 0x60, 0xcf, + 0x51, 0xe0, 0x2d, 0x26, 0x4a, 0xc4, 0x8c, 0xae, 0xc8, 0xd0, 0xb0, 0x23, 0xd5, 0x84, 0x08, 0x07, + 0x65, 0x57, 0x55, 0x6f, 0x83, 0x76, 0xf9, 0x5e, 0x64, 0x06, 0x15, 0x25, 0xed, 0x80, 0x20, 0xce, + 0xc9, 0x90, 0x69, 0x2f, 0x41, 0x22, 0x49, 0x51, 0xdd, 0x17, 0x1a, 0x9b, 0x80, 0xf1, 0x93, 0x54, + 0x6e, 0xf4, 0x1c, 0xc1, 0x74, 0x78, 0x1b, 0x2e, 0x0a, 0xf8, 0x74, 0x16, 0xd4, 0x34, 0x95, 0x6b, + 0xf4, 0xc6, 0xf9, 0x3b, 0x3d, 0xa2, 0x8c, 0x2c, 0x55, 0x83, 0x0e, 0x9e, 0xd8, 0x34, 0x89, 0x07, + 0x9f, 0xd5, 0x1c, 0x6b, 0x12, 0x74, 0x5c, 0xc5, 0x04, 0xa1, 0x1a, 0x2b, 0x52, 0x92, 0x35, 0x8b, + 0x02, 0x8f, 0x9d, 0xc7, 0x9c, 0x7c, 0xc9, 0xde, 0x34, 0x72, 0x89, 0x06, 0xfe, 0x05, 0x6f, 0x76, + 0x6f, 0x7d, 0x52, 0x52, 0x64, 0x75, 0x04, 0xf3, 0xb8, 0xe8, 0xf3, 0x77, 0x8d, 0x20, 0x34, 0x59, + 0xc7, 0xfe, 0x5b, 0xc8, 0x8f, 0xc5, 0x45, 0xcb, 0x77, 0xd3, 0xa5, 0x56, 0xf8, 0xa4, 0xe5, 0xa2, + 0x55, 0x80, 0x73, 0xad, 0x96, 0xac, 0xdc, 0xa4, 0x3d, 0x60, 0xc4, 0x27, 0xae, 0x86, 0x92, 0xa2, + 0xdd, 0x28, 0xd1, 0x53, 0x73, 0x89, 0xa8, 0x1c, 0x21, 0x7b, 0x23, 0x15, 0xda, 0x05, 0xf8, 0x0b, + 0x1e, 0x76, 0x4c, 0x3d, 0x2d, 0x7a, 0xda, 0x24, 0xfd, 0xae, 0x34, 0xd4, 0x9f, 0x22, 0xff, 0x27, + 0x34, 0x29, 0x33, 0x6e, 0x17, 0xf1, 0x4f, 0xf6, 0x31, 0xd0, 0xc5, 0xc1, 0x46, 0x3f, 0xa7, 0xce, + 0xc8, 0x72, 0x54, 0x7e, 0x58, 0xc1, 0x10, 0x58, 0x6c, 0xec, 0x8f, 0xc7, 0xfe, 0xe0, 0x39, 0x93, + 0xe8, 0x95, 0x37, 0xfc, 0x13, 0x2d, 0xcb, 0xd4, 0x44, 0x5e, 0x05, 0x50, 0x0e, 0x91, 0x15, 0xdb, + 0x64, 0x83, 0x98, 0xde, 0x8b, 0x3e, 0xc7, 0x36, 0x32, 0x24, 0x7f, 0x50, 0xa1, 0xc8, 0x2c, 0xdd, + 0x66, 0x7d, 0xc9, 0xd4, 0xc5, 0x31, 0x41, 0x84, 0x5e, 0x8c, 0x5b, 0xa4, 0x93, 0xa5, 0x16, 0x59, + 0x1e, 0xd5, 0xed, 0x83, 0x30, 0x45, 0x0e, 0x53, 0x9b, 0x8b, 0xc8, 0x7e, 0x12, 0x4e, 0x93, 0xbc, + 0x2d, 0x65, 0x9e, 0xf6, 0x7b, 0x1e, 0x63, 0xdb, 0xdc, 0x27, 0x91, 0xd2, 0x0c, 0x06, 0x94, 0xe7, + 0x1a, 0x33, 0x40, 0x46, 0xee, 0x76, 0xc3, 0x8d, 0x90, 0x2b, 0x42, 0xe9, 0xa0, 0xad, 0xfd, 0xe6, + 0x5d, 0x21, 0x94, 0x4c, 0x4f, 0x38, 0xce, 0x1b, 0x6c, 0xdf, 0x0a, 0x22, 0x62, 0xaf, 0x9a, 0x3c, + 0xa4, 0x0a, 0x9f, 0x02, 0xad, 0xc9, 0xa8, 0x8d, 0x0d, 0xcf, 0xee, 0x55, 0x51, 0x04, 0xcb, 0x05, + 0xc6, 0xdb, 0xd2, 0xc3, 0x20, 0xcf, 0x4d, 0x6b, 0xe6, 0xca, 0xb7, 0x57, 0xe7, 0x98, 0xca, 0x7b, + 0xe8, 0xcb, 0xaf, 0xef, 0xce, 0x23, 0x0b, 0xa3, 0x39, 0x21, 0xc6, 0x57, 0x80, 0x71, 0xb6, 0x06, + 0xe4, 0x2b, 0x7c, 0x8e, 0x14, 0x22, 0xf5, 0xee, 0xe3, 0xec, 0x33, 0xff, 0x08, 0xcb, 0xf5, 0x14, + 0x19, 0x3b, 0x9e, 0x7b, 0xa1, 0x03, 0x5d, 0xe0, 0x07, 0x0d, 0x95, 0x8a, 0x06, 0x2e, 0xa4, 0x2b, + 0x7f, 0xd2, 0x34, 0x44, 0xaf, 0xad, 0x4b, 0x5f, 0x12, 0xbd, 0x5d, 0xbf, 0x69, 0x36, 0x86, 0x62, + 0xf0, 0x19, 0xc4, 0xa1, 0x79, 0x80, 0x9a, 0x67, 0xd1, 0xad, 0x76, 0x93, 0x60, 0xc7, 0x21, 0x81, + 0xc2, 0x55, 0x79, 0x54, 0x84, 0x86, 0xcd, 0x5e, 0xb0, 0x55, 0x7e, 0x8c, 0x7b, 0xd0, 0x02, 0x74, + 0x65, 0xcc, 0x51, 0xcf, 0x13, 0x7f, 0x5c, 0x8a, 0xc1, 0xb9, 0x1c, 0x06, 0x2a, 0x22, 0x95, 0xd9, + 0x9f, 0x99, 0x9a, 0x62, 0x36, 0x4d, 0xb1, 0x92, 0xe6, 0xc5, 0x14, 0x8f, 0x91, 0xb1, 0x08, 0x8a, + 0x92, 0xd9, 0xb2, 0x8f, 0xa6, 0xb3, 0x60, 0xe4, 0x7d, 0x9e, 0x9b, 0xde, 0x3f, 0x70, 0x7d, 0x0c, + 0x57, 0x86, 0x46, 0x98, 0x26, 0x89, 0x4f, 0x2a, 0x3f, 0x85, 0x3f, 0x4f, 0x0d, 0x6e, 0x78, 0x6e, + 0x92, 0x48, 0xa3, 0x9f, 0x1b, 0xc9, 0xd1, 0x38, 0x31, 0xfa, 0xcb, 0xf4, 0x6a, 0x82, 0xf8, 0x43, + 0x53, 0x13, 0x6d, 0x5d, 0xae, 0x92, 0x4d, 0xd9, 0x69, 0x95, 0x8d, 0xe8, 0x1d, 0x8f, 0x39, 0x55, + 0xe3, 0x57, 0x63, 0x58, 0x0f, 0x88, 0x09, 0x83, 0x54, 0x83, 0x3c, 0x9e, 0x8a, 0x40, 0x5f, 0x34, + 0xf0, 0x76, 0x74, 0xdc, 0x27, 0x48, 0xb4, 0x87, 0x25, 0xcb, 0x86, 0xd0, 0x7b, 0x0b, 0x5b, 0xa1, + 0x0b, 0x80, 0x92, 0xec, 0xe0, 0x3c, 0xe1, 0x43, 0x00, 0x77, 0xdc, 0x16, 0x04, 0xeb, 0x24, 0xc0, + 0x65, 0x39, 0x9b, 0xc4, 0x7c, 0xd7, 0x0d, 0x0a, 0xa9, 0x73, 0x03, 0x19, 0xb5, 0x45, 0x92, 0x43, + 0x65, 0x11, 0xb7, 0xb1, 0x64, 0x6a, 0xa1, 0xff, 0x2a, 0xb6, 0x73, 0x86, 0x36, 0xb7, 0xfb, 0xcc, + 0x3a, 0x18, 0x81, 0xb0, 0x31, 0xed, 0x3b, 0xa3, 0xe5, 0x79, 0x36, 0x70, 0xed, 0x76, 0x22, 0x4b, + 0xe5, 0xa4, 0xd5, 0xca, 0x97, 0x97, 0x6b, 0xe9, 0x8d, 0x3f, 0xd0, 0x71, 0xd1, 0x12, 0xd5, 0x25, + 0x2c, 0xb8, 0xe8, 0xaf, 0xd6, 0x67, 0x67, 0x44, 0x61, 0x03, 0x59, 0x58, 0x16, 0x23, 0xa0, 0xe0, + 0x9e, 0x70, 0xef, 0x52, 0x6d, 0x75, 0xe2, 0xac, 0x8c, 0xa3, 0x4f, 0x8f, 0x7c, 0xd7, 0x10, 0xe2, + 0xa9, 0xfe, 0x09, 0xfd, 0xbf, 0xba, 0x5b, 0x1a, 0x14, 0x5f, 0xa6, 0xd8, 0x51, 0x2a, 0xd2, 0x65, + 0xb4, 0x44, 0xf3, 0x7e, 0x5e, 0x49, 0xef, 0xd2, 0x00, 0xbf, 0xda, 0x42, 0xc3, 0x9a, 0x94, 0x79, + 0x8a, 0xa8, 0x5e, 0xd8, 0x68, 0x84, 0x89, 0x4a, 0x6f, 0x43, 0x6a, 0xd6, 0x6a, 0x20, 0x8b, 0xd9, + 0x85, 0x1a, 0x04, 0x27, 0x90, 0xef, 0xf3, 0x1a, 0x08, 0xdd, 0x8e, 0xfa, 0xe4, 0x87, 0x14, 0xa9, + 0x37, 0x4f, 0xc7, 0xc2, 0x31, 0x24, 0xe1, 0x5e, 0x04, 0x74, 0xf5, 0x37, 0x72, 0xbe, 0xc8, 0x05, + 0xe4, 0x32, 0x1d, 0x65, 0xd3, 0xd2, 0x31, 0xc1, 0xa3, 0x65, 0x20, 0xbc, 0x07, 0x32, 0xf4, 0x32, + 0xb5, 0x72, 0xd0, 0x37, 0xb7, 0x53, 0x04, 0xbb, 0x69, 0xd3, 0x4e, 0x15, 0xc1, 0x1c, 0xdd, 0x3f, + 0x9b, 0x4c, 0x73, 0xbc, 0xff, 0x57, 0x07, 0x9e, 0x41, 0x89, 0x3d, 0xd5, 0xf7, 0x2b, 0x15, 0xcb, + 0x0d, 0x1f, 0x7d, 0xc7, 0x7c, 0xaf, 0x78, 0x9d, 0xb6, 0x3f, 0xbc, 0xe5, 0xdb, 0xe9, 0xc5, 0x90, + 0x75, 0x75, 0x82, 0x58, 0x62, 0x8e, 0xce, 0x19, 0x11, 0x05, 0xc4, 0x90, 0x79, 0xb9, 0xf2, 0x23, + 0xed, 0x73, 0x47, 0xa0, 0x67, 0x67, 0xee, 0x20, 0x29, 0x6f, 0xb3, 0x28, 0x61, 0x91, 0x31, 0x2e, + 0xca, 0x90, 0x8d, 0x94, 0x37, 0x08, 0x77, 0x40, 0xf5, 0x7b, 0xe7, 0xd6, 0xd3, 0x55, 0x13, 0xc8, + 0x10, 0x9c, 0x8f, 0xac, 0x30, 0x3c, 0x9b, 0x3b, 0x43, 0xbe, 0xab, 0x86, 0xa7, 0xbd, 0x91, 0x43, + 0x0d, 0x4f, 0xfc, 0xd0, 0xc2, 0x7e, 0x04, 0x6b, 0x49, 0xbe, 0xd3, 0x7a, 0xc3, 0x3f, 0x26, 0x03, + 0xad, 0x26, 0x37, 0x15, 0x35, 0xc4, 0xe0, 0xa7, 0xaa, 0x2e, 0x2b, 0x62, 0x18, 0x4b, 0x7d, 0x4f, + 0xda, 0xe7, 0xfd, 0x73, 0x8f, 0x3b, 0xfc, 0x30, 0x35, 0xe2, 0xff, 0x4b, 0xa0, 0x0a, 0x0b, 0x16, + 0x0c, 0x24, 0x8f, 0xc6, 0x1f, 0x4d, 0xdb, 0x89, 0x62, 0xb4, 0x85, 0xac, 0x99, 0xd0, 0x7e, 0xc5, + 0xe5, 0xe8, 0x3b, 0x40, 0x98, 0x97, 0x39, 0x71, 0x8e, 0x78, 0x7c, 0x25, 0xb3, 0x37, 0xe5, 0x94, + 0xc6, 0x8b, 0x50, 0x84, 0x9d, 0x6b, 0xff, 0xce, 0x28, 0xb7, 0x85, 0xc7, 0xe6, 0x31, 0x73, 0x05, + 0x2e, 0x99, 0x19, 0xc6, 0x69, 0x46, 0x58, 0x65, 0x5f, 0x8d, 0x3c, 0x51, 0x07, 0xd8, 0x2e, 0xf3, + 0x2b, 0x1c, 0x8e, 0xa4, 0x5e, 0x4f, 0x50, 0x36, 0xd4, 0x1f, 0x9e, 0x24, 0xf2, 0x55, 0x08, 0x42, + 0xe0, 0x11, 0xaf, 0x1f, 0xb1, 0xff, 0xe1, 0x09, 0x12, 0x3e, 0x0d, 0xf5, 0xdc, 0x0a, 0x14, 0x04, + 0x97, 0xf1, 0x5c, 0x33, 0xde, 0xca, 0xca, 0x30, 0x80, 0xf7, 0x72, 0xf6, 0x24, 0x67, 0x17, 0x39, + 0xa0, 0xbd, 0x09, 0x0c, 0xa7, 0xbb, 0x64, 0x10, 0x9a, 0x35, 0x77, 0x8c, 0x40, 0x61, 0xf8, 0xd5, + 0x36, 0x1d, 0x31, 0xde, 0x09, 0xf9, 0x13, 0x33, 0xaf, 0x28, 0xcb, 0x02, 0xda, 0x73, 0x74, 0x24, + 0x0a, 0x80, 0x3f, 0xce, 0x87, 0xaf, 0x6f, 0x77, 0x2e, 0xe9, 0xb2, 0x66, 0xca, 0x2b, 0x45, 0x7c, + 0x30, 0xfa, 0x19, 0x39, 0x49, 0xe6, 0x36, 0x64, 0x45, 0x3f, 0xd6, 0x69, 0xb9, 0x1a, 0x5a, 0x63, + 0x13, 0xcd, 0x42, 0x63, 0x41, 0xca, 0xb1, 0x6f, 0xc8, 0x35, 0x3e, 0x5c, 0xbd, 0x35, 0x70, 0xe2, + 0x25, 0x7d, 0xf7, 0x4f, 0xea, 0xce, 0x1b, 0xc5, 0x2b, 0x11, 0xf7, 0x62, 0x9b, 0x03, 0x05, 0x16, + 0x6a, 0xb5, 0xa1, 0x0c, 0x06, 0x73, 0x5c, 0x9e, 0x78, 0x81, 0xc3, 0x7b, 0x4a, 0x44, 0xb5, 0x29, + 0x7f, 0xc8, 0xae, 0x99, 0xf5, 0x80, 0xc3, 0xe2, 0x92, 0x83, 0x87, 0xfb, 0x9a, 0xa9, 0x69, 0x41, + 0x73, 0x5b, 0xbf, 0x75, 0x64, 0x93, 0x5b, 0x75, 0x85, 0x2d, 0x0c, 0x3a, 0x15, 0xf4, 0xbb, 0xbc, + 0x46, 0x67, 0x76, 0x7b, 0x7e, 0xd4, 0x85, 0xa9, 0xbd, 0xd7, 0x7b, 0xc4, 0xcb, 0xa0, 0x79, 0x75, + 0xcf, 0x6d, 0xa5, 0x6d, 0x04, 0x7e, 0x2c, 0xd4, 0xc6, 0xf9, 0xc1, 0xf4, 0x77, 0x64, 0xbf, 0x76, + 0x69, 0x21, 0xf8, 0x4e, 0xff, 0x26, 0xd6, 0x68, 0xb8, 0x4e, 0x0c, 0xc9, 0x62, 0xa4, 0xb8, 0xfd, + 0x91, 0x23, 0x64, 0xae, 0x32, 0xf7, 0x52, 0x55, 0x6c, 0x3c, 0x3a, 0xc6, 0xc2, 0xbd, 0xbd, 0x5d, + 0x03, 0xe4, 0x1c, 0x76, 0xb7, 0x34, 0x32, 0xf2, 0x48, 0x71, 0x69, 0xc2, 0xa9, 0xb3, 0x3a, 0x37, + 0xc7, 0xa3, 0x99, 0x2f, 0x31, 0x04, 0x82, 0x10, 0x30, 0xb2, 0x72, 0x35, 0xb2, 0x34, 0x51, 0xa2, + 0x2d, 0x72, 0x90, 0x6b, 0x93, 0x51, 0xa1, 0xa8, 0x44, 0xcc, 0x20, 0x37, 0x2f, 0x4f, 0x66, 0x1d, + 0x46, 0xf0, 0xc8, 0xd9, 0x4e, 0x7b, 0x05, 0x26, 0xf2, 0x35, 0xd6, 0xda, 0x49, 0xcf, 0xf5, 0x32, + 0x2f, 0xe0, 0x21, 0x3b, 0x87, 0xfb, 0xc7, 0xf4, 0xc4, 0x00, 0x19, 0x57, 0xb8, 0x02, 0x05, 0x11, + 0xe4, 0x95, 0xb2, 0xcd, 0xf9, 0xfa, 0xb0, 0x27, 0x36, 0x8d, 0x56, 0x79, 0x41, 0x43, 0x05, 0xf8, + 0x67, 0x54, 0xef, 0xcc, 0x2e, 0x1a, 0xa3, 0x1f, 0x99, 0x24, 0xfe, 0x08, 0x17, 0x84, 0xaf, 0x53, + 0x84, 0x23, 0xe3, 0x12, 0x4e, 0x64, 0x69, 0x29, 0x7d, 0x07, 0x29, 0xcc, 0x24, 0xed, 0xc2, 0x09, + 0xbc, 0x69, 0x12, 0xfc, 0xb9, 0x6f, 0x9a, 0x72, 0xdb, 0x9e, 0x8e, 0xa7, 0x60, 0xe8, 0x63, 0x19, + 0x25, 0xad, 0x4c, 0x66, 0xaf, 0x58, 0x48, 0x01, 0xe4, 0xb4, 0x18, 0x24, 0xb7, 0xab, 0xa3, 0x7b, + 0x15, 0x38, 0xdd, 0x5d, 0x06, 0x90, 0x38, 0x89, 0x1f, 0x50, 0x62, 0x22, 0x3d, 0x44, 0x29, 0x3f, + 0x6b, 0x1a, 0x29, 0xba, 0x65, 0x3a, 0x0a, 0x91, 0xea, 0x04, 0x9e, 0x27, 0x00, 0xd7, 0xe5, 0xc7, + 0xe8, 0x87, 0x3d, 0x1a, 0xf2, 0xd3, 0xce, 0x2b, 0x3c, 0xf4, 0xed, 0x8a, 0x33, 0x15, 0x6d, 0xb4, + 0x0d, 0x8c, 0xc0, 0x6c, 0x3e, 0x49, 0x7e, 0xad, 0x24, 0x28, 0x93, 0x20, 0x07, 0x2b, 0x75, 0xd8, + 0x05, 0xfd, 0x15, 0x2b, 0x8d, 0x9e, 0xa6, 0x59, 0xd2, 0x63, 0x51, 0xca, 0x37, 0xc0, 0x45, 0x1c, + 0x80, 0x5a, 0x53, 0x13, 0x33, 0x24, 0x5b, 0x7f, 0x36, 0xbc, 0xf9, 0xc4, 0x82, 0x19, 0x52, 0x6f, + 0xe8, 0x89, 0xc0, 0x84, 0x19, 0x63, 0x67, 0xe0, 0xbc, 0x20, 0xdb, 0x53, 0xc4, 0x70, 0xbc, 0xc6, + 0xe9, 0x5e, 0xfc, 0xf5, 0x2d, 0x9a, 0x25, 0xf7, 0x01, 0x44, 0xdc, 0x2b, 0xea, 0x0a, 0xfc, 0xb7, + 0x58, 0x66, 0xe5, 0xc3, 0xf4, 0x41, 0x1b, 0x8a, 0x75, 0x28, 0xb4, 0x9b, 0xc6, 0x30, 0xa9, 0xe5, + 0x45, 0x04, 0x1f, 0x3e, 0x55, 0x51, 0x78, 0x2f, 0x1e, 0x6a, 0x10, 0xb4, 0xc5, 0x78, 0x74, 0x45, + 0x30, 0x9c, 0x28, 0x2d, 0x32, 0xb3, 0x91, 0xf9, 0xd5, 0xf8, 0xf6, 0xb0, 0x9b, 0xa3, 0xc1, 0xe2, + 0xb0, 0x32, 0x71, 0x91, 0xef, 0xab, 0xba, 0x54, 0x0c, 0x76, 0x18, 0x37, 0x2b, 0x3e, 0x13, 0xac, + 0xa5, 0xc1, 0x56, 0xed, 0x69, 0x80, 0x86, 0x6a, 0xf6, 0x56, 0xed, 0x0b, 0xfa, 0x14, 0x1f, 0xda, + 0x95, 0x24, 0x57, 0x26, 0xdb, 0x29, 0xca, 0xfe, 0x59, 0x95, 0x3a, 0xf1, 0x54, 0xc1, 0x6b, 0xe6, + 0x6f, 0x45, 0x06, 0xe9, 0x20, 0x2f, 0x55, 0x8e, 0x45, 0x96, 0x16, 0xe4, 0x87, 0x18, 0xcd, 0x1c, + 0x99, 0x04, 0x5e, 0x61, 0xcf, 0x70, 0x53, 0xcd, 0xc2, 0x17, 0x51, 0x8d, 0x10, 0xbf, 0x32, 0x6d, + 0x1e, 0x6b, 0xcc, 0x5e, 0xd5, 0x2d, 0x3e, 0x75, 0x45, 0x97, 0x8c, 0xaa, 0x07, 0x95, 0xda, 0x31, + 0xff, 0x58, 0x0f, 0x6e, 0xd4, 0x7d, 0x07, 0x2b, 0x73, 0xaf, 0x7f, 0x1a, 0x1a, 0xbf, 0x25, 0xa5, + 0xdc, 0x94, 0xa2, 0x7b, 0x18, 0x3c, 0x48, 0xbf, 0x18, 0x9b, 0x8b, 0x03, 0x1c, 0x95, 0xa6, 0xca, + 0x33, 0xa2, 0xe8, 0xd7, 0x0a, 0x4e, 0x6c, 0x97, 0xe9, 0x2f, 0x4c, 0xfe, 0x9d, 0xaf, 0xc9, 0x57, + 0x1f, 0xc0, 0xaa, 0xcc, 0xaa, 0xc6, 0xd9, 0x8e, 0xa5, 0x6a, 0x6c, 0x07, 0x03, 0x5f, 0x2e, 0x57, + 0xe7, 0x9d, 0xa0, 0x30, 0x07, 0xd5, 0x0b, 0x1c, 0xc8, 0x92, 0x13, 0x5c, 0x53, 0x8b, 0xbd, 0x43, + 0xd3, 0x16, 0x2a, 0xb4, 0x45, 0x0f, 0xf7, 0x48, 0x55, 0xf4, 0x06, 0xbc, 0x70, 0x40, 0xf5, 0x7e, + 0x4d, 0xaf, 0x99, 0x24, 0xbf, 0x3b, 0xae, 0x43, 0x90, 0x7d, 0x30, 0xf4, 0x8f, 0xb2, 0x8e, 0x24, + 0x99, 0x6f, 0x11, 0x8a, 0x06, 0xcc, 0x0d, 0xc2, 0xd5, 0xfd, 0x92, 0x2c, 0xaf, 0x00, 0xee, 0x55, + 0xd1, 0xf2, 0xa1, 0x6f, 0xdc, 0xc3, 0x3e, 0x37, 0x0a, 0xd8, 0xa9, 0xe7, 0xbd, 0x30, 0x71, 0xb9, + 0xb3, 0xf2, 0x9d, 0xb1, 0x77, 0x7b, 0x09, 0x40, 0x96, 0x25, 0x49, 0x5b, 0x4f, 0xa2, 0x62, 0x4b, + 0x61, 0x60, 0x01, 0xb8, 0x72, 0x0a, 0x44, 0xfd, 0xb4, 0xbf, 0xe1, 0xde, 0x2c, 0x65, 0x6e, 0xdb, + 0x20, 0x1c, 0x2f, 0x6d, 0x66, 0x71, 0x00, 0x7c, 0x17, 0x6e, 0xd9, 0x4b, 0x61, 0xac, 0x1f, 0xcf, + 0x80, 0x38, 0xb6, 0x5d, 0x51, 0x26, 0x1f, 0x32, 0x41, 0xca, 0xbc, 0xc4, 0x56, 0x00, 0x92, 0xe9, + 0x00, 0xe3, 0x07, 0x5a, 0x4f, 0xe3, 0x5a, 0xcd, 0x08, 0xbf, 0x22, 0x69, 0xae, 0x85, 0xae, 0xf1, + 0x62, 0x67, 0xb9, 0x82, 0x92, 0x98, 0xf6, 0x44, 0xbc, 0x60, 0x1b, 0x01, 0xcc, 0x70, 0x9a, 0x68, + 0xdc, 0x05, 0x1b, 0xb4, 0xfd, 0x7a, 0x69, 0x99, 0xbe, 0x55, 0x6c, 0xa0, 0xcd, 0xa7, 0x3d, 0xa7, + 0x84, 0x44, 0x8e, 0x6b, 0x6c, 0xe5, 0x3e, 0x3c, 0x24, 0x77, 0xf0, 0xc0, 0x1d, 0xf6, 0xcb, 0xd1, + 0x24, 0x14, 0xe6, 0x46, 0x68, 0x36, 0x0b, 0x57, 0xb3, 0xb1, 0xfc, 0x49, 0xf7, 0x6b, 0xb5, 0x33, + 0x13, 0xef, 0xe7, 0x04, 0xd2, 0x4f, 0xd7, 0x8f, 0xe6, 0xce, 0x34, 0x42, 0x98, 0x75, 0x5d, 0xf3, + 0x1b, 0x9a, 0xd2, 0x59, 0x84, 0x2d, 0xca, 0x03, 0x25, 0xea, 0xb9, 0x58, 0x20, 0x49, 0x74, 0x6f, + 0xc4, 0xb5, 0xc2, 0x0c, 0x9f, 0xa5, 0x06, 0x58, 0xc9, 0xbd, 0x51, 0x2d, 0x8b, 0x6a, 0x81, 0x08, + 0xff, 0xce, 0xc9, 0x91, 0x74, 0x1c, 0x78, 0xa5, 0x34, 0x15, 0x6d, 0x70, 0x52, 0xec, 0x5f, 0xd1, + 0x2b, 0xa2, 0x78, 0x64, 0x44, 0xbb, 0x6f, 0x5e, 0xd3, 0x7c, 0xa6, 0xd3, 0xc3, 0xa2, 0x63, 0xc4, + 0x1e, 0x72, 0x54, 0x32, 0x12, 0x01, 0x32, 0x74, 0x45, 0x44, 0xe9, 0x13, 0x0f, 0xbb, 0x25, 0xd6, + 0xe5, 0x11, 0x68, 0xef, 0x02, 0xc6, 0xe5, 0xa7, 0x09, 0x3d, 0x15, 0xd1, 0xf5, 0x9d, 0xc0, 0x67, + 0xe3, 0x4e, 0x7f, 0x02, 0x91, 0x31, 0x47, 0xc5, 0x54, 0xc9, 0xcc, 0xa8, 0xfb, 0xe7, 0x9f, 0xa0, + 0xce, 0x47, 0xa9, 0x32, 0xa2, 0xe9, 0xca, 0xf6, 0x05, 0xe6, 0xb2, 0xc6, 0xd3, 0xbd, 0x7c, 0xea, + 0x10, 0x1e, 0x2a, 0x61, 0xd2, 0x96, 0x88, 0x44, 0x7a, 0x49, 0x00, 0x2b, 0x3b, 0x92, 0x60, 0x3f, + 0x5a, 0xc8, 0xdb, 0xad, 0x25, 0x3e, 0x6c, 0x2e, 0x78, 0xbc, 0x97, 0x24, 0xaa, 0x45, 0xb3, 0xf7, + 0xa0, 0x3f, 0xd7, 0xf9, 0xf2, 0x36, 0x01, 0xe9, 0xec, 0x65, 0x2f, 0x8c, 0x94, 0x6c, 0x84, 0x58, + 0x22, 0x80, 0xd7, 0x41, 0x38, 0x7c, 0xf3, 0xdc, 0xb9, 0x51, 0xee, 0x7c, 0x52, 0xcc, 0x1b, 0xac, + 0xf4, 0xd0, 0x3c, 0x4a, 0xa9, 0xda, 0xb1, 0xa0, 0x19, 0xf2, 0xc1, 0xcc, 0xcb, 0xec, 0x8f, 0xa1, + 0xaa, 0xdd, 0x7e, 0xc3, 0x7d, 0x4e, 0x05, 0xd1, 0xd9, 0xde, 0x8e, 0xbc, 0xd9, 0x1f, 0xbf, 0x8a, + 0x39, 0xee, 0x32, 0xbe, 0x07, 0x46, 0x73, 0xca, 0xea, 0x83, 0x95, 0x71, 0x02, 0xe9, 0x53, 0xec, + 0x5f, 0x33, 0x44, 0x61, 0x1a, 0x4e, 0x70, 0xc6, 0x59, 0xf8, 0x77, 0xa0, 0x69, 0xc0, 0xf1, 0x9d, + 0x56, 0x2c, 0xf3, 0x01, 0x22, 0x6c, 0x42, 0xaa, 0x98, 0x15, 0xe3, 0x48, 0x92, 0x38, 0x7f, 0x3b, + 0xf6, 0xc3, 0x13, 0x35, 0xf3, 0x55, 0xf5, 0x86, 0x3c, 0xc1, 0x21, 0xeb, 0x26, 0x96, 0x07, 0x99, + 0x85, 0xf5, 0x17, 0xe7, 0xab, 0xe2, 0xcf, 0xb2, 0x76, 0xe9, 0x2b, 0xde, 0xc6, 0x6d, 0x54, 0x8d, + 0x8c, 0xfd, 0x73, 0x71, 0xa7, 0xbb, 0xd1, 0x64, 0x73, 0x4b, 0x79, 0xe1, 0x9d, 0xfd, 0x70, 0x47, + 0x80, 0xbb, 0x0f, 0x23, 0xa0, 0xa6, 0x7d, 0x3d, 0xc4, 0x0f, 0x83, 0xcb, 0x35, 0xdc, 0x4c, 0x75, + 0x49, 0x8c, 0x61, 0xac, 0xdc, 0x5f, 0x98, 0xf0, 0x47, 0xdc, 0x84, 0x47, 0xc1, 0x08, 0x39, 0x8a, + 0x93, 0xd7, 0xdc, 0xbe, 0xb8, 0x1c, 0x26, 0x2f, 0x66, 0x2a, 0x1d, 0x33, 0xbb, 0x67, 0x50, 0xbb, + 0x2c, 0xcf, 0x90, 0x5e, 0x31, 0x80, 0x19, 0x3e, 0x57, 0x42, 0xf9, 0x1e, 0x97, 0xc0, 0xed, 0xaa, + 0x25, 0xe6, 0xbb, 0x76, 0xa0, 0x07, 0x05, 0x77, 0x42, 0xcb, 0xe6, 0x0c, 0xb5, 0x3c, 0xf8, 0x3f, + 0xe2, 0x5c, 0x19, 0x12, 0x1d, 0xee, 0xd2, 0x6a, 0xd0, 0x90, 0xd5, 0xc6, 0x81, 0x92, 0x8f, 0x2b, + 0x5d, 0xd5, 0x1b, 0x12, 0xb0, 0xfb, 0x58, 0x1c, 0x21, 0xf1, 0x69, 0x8f, 0x26, 0x6c, 0xd5, 0x39, + 0xf4, 0x93, 0xd0, 0x1a, 0xf1, 0x8c, 0x24, 0xeb, 0xa8, 0x5e, 0xc8, 0xab, 0xec, 0x76, 0xaf, 0x11, + 0xb6, 0x0e, 0xb8, 0x38, 0x08, 0x25, 0xaa, 0x18, 0xa5, 0x61, 0xa7, 0x84, 0x8c, 0x60, 0x87, 0x8b, + 0xe5, 0x6b, 0xe6, 0x30, 0xac, 0x24, 0x5d, 0xe6, 0x6c, 0xfb, 0xb3, 0x84, 0xaa, 0x2d, 0x5a, 0x53, + 0x50, 0xf0, 0x87, 0x4a, 0xd4, 0x1c, 0xd2, 0x58, 0x64, 0xf4, 0xa9, 0xb4, 0x31, 0xa2, 0x3d, 0x7b, + 0x74, 0x47, 0xbc, 0x4f, 0x44, 0x41, 0xe8, 0xda, 0xdf, 0x6b, 0x4b, 0x2c, 0x91, 0x50, 0xf3, 0x4c, + 0x6e, 0xc7, 0x9a, 0x78, 0x8c, 0x5d, 0xb6, 0x4c, 0x16, 0x69, 0xa2, 0xa1, 0xee, 0xee, 0x53, 0x37, + 0x93, 0x61, 0x13, 0xa2, 0x34, 0x33, 0x9a, 0xa1, 0xa1, 0x9c, 0x85, 0x3c, 0x1a, 0xfe, 0xb6, 0x76, + 0x08, 0xe5, 0x16, 0x67, 0x96, 0xe7, 0x04, 0xf2, 0x71, 0x98, 0x40, 0xef, 0x77, 0xfc, 0x82, 0x2b, + 0x23, 0xc1, 0x2e, 0xb2, 0x97, 0x3c, 0xd5, 0xb9, 0xcd, 0xb8, 0x62, 0x3f, 0x97, 0x5c, 0xd1, 0x2f, + 0xde, 0x2b, 0x2c, 0x95, 0x56, 0x17, 0xea, 0x6a, 0x58, 0x22, 0xa7, 0x07, 0xc3, 0xaf, 0x0a, 0x69, + 0x57, 0x9b, 0x97, 0x2b, 0x16, 0xcb, 0xda, 0x84, 0x3c, 0xd2, 0xe1, 0x7c, 0x81, 0xb5, 0xf5, 0xb3, + 0xc8, 0x84, 0x3d, 0x99, 0xe4, 0x65, 0x87, 0xe7, 0x19, 0x63, 0xf7, 0x65, 0x91, 0xa1, 0x59, 0x7a, + 0xab, 0x00, 0x5d, 0xa6, 0x05, 0x98, 0xbd, 0xdf, 0xff, 0xe6, 0x4d, 0x8f, 0x46, 0x6b, 0x25, 0x1f, + 0x70, 0x28, 0x2d, 0xc6, 0xc5, 0x1c, 0x80, 0x98, 0x0c, 0x60, 0xb0, 0x77, 0x05, 0xd5, 0x9b, 0x30, + 0x6f, 0x04, 0xff, 0xe7, 0x45, 0x91, 0xd2, 0x6c, 0xba, 0xe9, 0x6f, 0x97, 0xee, 0xf9, 0x9c, 0x15, + 0x28, 0xdd, 0x33, 0x10, 0xe4, 0x54, 0xef, 0x0e, 0xce, 0xa1, 0x45, 0x80, 0x80, 0x7e, 0xff, 0xa1, + 0x79, 0x5c, 0x04, 0x92, 0xd4, 0xa0, 0x9e, 0xe8, 0xea, 0x4a, 0x5a, 0x7d, 0xe1, 0x07, 0x75, 0x20, + 0x5e, 0x52, 0x42, 0x63, 0x46, 0xe6, 0x7a, 0x0d, 0x59, 0x68, 0xf8, 0x19, 0x64, 0x42, 0xe7, 0xc4, + 0x6c, 0x3d, 0x8d, 0x70, 0xb7, 0x21, 0xee, 0xac, 0xf7, 0xfc, 0x82, 0x1e, 0xe1, 0x75, 0x23, 0x8f, + 0xc3, 0xc0, 0xc8, 0x3b, 0x13, 0x77, 0x68, 0x3b, 0x89, 0xa1, 0x9a, 0x9e, 0xc1, 0x0b, 0xe9, 0x6d, + 0xd9, 0x94, 0xb1, 0x0c, 0x23, 0x46, 0xb2, 0x24, 0x1f, 0x5a, 0xb3, 0x61, 0x0b, 0xc0, 0x16, 0x22, + 0x33, 0xf7, 0x78, 0xad, 0xc0, 0x3c, 0xd4, 0xce, 0xb8, 0x7e, 0x5b, 0x41, 0x15, 0x34, 0xc5, 0xbf, + 0x0b, 0x0a, 0x26, 0xf8, 0x14, 0x7e, 0x83, 0xda, 0xa1, 0xc6, 0xc9, 0x9a, 0x47, 0x73, 0x02, 0x6d, + 0x63, 0xe0, 0x93, 0x46, 0xd8, 0x4e, 0xd7, 0x76, 0x3f, 0x7e, 0x64, 0xfe, 0xb8, 0x85, 0x06, 0x6b, + 0xbf, 0xb5, 0x9e, 0x80, 0xb3, 0x9b, 0x89, 0xc4, 0xe8, 0xc8, 0x0f, 0xfb, 0x7b, 0xc5, 0xd7, 0x24, + 0x34, 0xe4, 0x79, 0x9a, 0xf2, 0x65, 0x36, 0x26, 0xf6, 0x07, 0x82, 0xee, 0x04, 0x49, 0x7c, 0xaa, + 0xca, 0x8a, 0xa9, 0x11, 0x22, 0x63, 0x84, 0xf9, 0xf0, 0x2f, 0xc0, 0x76, 0xdc, 0x14, 0xc6, 0x7d, + 0xb7, 0xaf, 0xba, 0x97, 0x85, 0xa4, 0x35, 0xb8, 0xfe, 0xf1, 0x32, 0x51, 0x36, 0x22, 0xd9, 0x27, + 0x8c, 0xad, 0x9b, 0x36, 0xac, 0x40, 0xe4, 0x33, 0x35, 0xc4, 0x31, 0xd4, 0x7d, 0x5e, 0x36, 0x10, + 0xb3, 0x1b, 0xbb, 0xbb, 0x02, 0xb3, 0xdc, 0x91, 0xab, 0x9c, 0xef, 0x48, 0xc5, 0xe6, 0x2c, 0x45, + 0x1e, 0x07, 0x04, 0xd0, 0x9b, 0xe8, 0x86, 0x6a, 0xad, 0x2b, 0x5e, 0x1d, 0x41, 0x19, 0x0c, 0xaf, + 0x22, 0x40, 0x55, 0xe6, 0xee, 0xd7, 0xd9, 0x51, 0x92, 0xeb, 0x00, 0xda, 0x08, 0x89, 0xef, 0xf2, + 0xb1, 0xc0, 0x60, 0xa2, 0x59, 0x78, 0x5d, 0x07, 0x20, 0xd2, 0xce, 0x58, 0x8c, 0xd2, 0x11, 0xdf, + 0xf2, 0x6f, 0x5c, 0x93, 0x0a, 0xd4, 0x07, 0x77, 0x06, 0x35, 0x01, 0x9c, 0xe7, 0x70, 0x6f, 0xbb, + 0x20, 0x64, 0x69, 0x2e, 0xb5, 0x90, 0x8f, 0xb2, 0xd1, 0xac, 0x73, 0x2b, 0xfc, 0xec, 0x0a, 0x20, + 0x49, 0x9e, 0xb1, 0x50, 0x1d, 0x7b, 0x6d, 0x93, 0x7c, 0xba, 0x52, 0x6f, 0x24, 0xd9, 0x8e, 0xc6, + 0xd0, 0x8d, 0xe2, 0x1f, 0xda, 0xf7, 0x20, 0x7b, 0x58, 0xfc, 0x72, 0x63, 0x8b, 0xe9, 0x14, 0xc8, + 0x56, 0x33, 0x19, 0xcf, 0x82, 0xc5, 0x7b, 0x6b, 0x8c, 0xa1, 0xcf, 0x7a, 0xe7, 0xa0, 0xf3, 0xe1, + 0x08, 0x61, 0x91, 0x02, 0x39, 0xfc, 0xbb, 0xe5, 0xaf, 0x75, 0xc2, 0x2e, 0x61, 0x35, 0xc8, 0x9c, + 0xdc, 0x0e, 0xad, 0xaf, 0x75, 0xcd, 0x1d, 0xa6, 0x1c, 0xc8, 0xda, 0x89, 0x8d, 0xb0, 0xa2, 0x46, + 0x0b, 0xdc, 0x4f, 0xc1, 0xa3, 0x06, 0xa8, 0x2c, 0x40, 0xb1, 0x49, 0x8c, 0xb6, 0xc0, 0x61, 0x45, + 0xa9, 0xc0, 0x78, 0x45, 0xbe, 0x9a, 0xd0, 0xb8, 0xa0, 0x53, 0xb5, 0x51, 0x9d, 0xc6, 0x9a, 0x07, + 0x21, 0xbf, 0x2d, 0x79, 0x35, 0xbb, 0x1e, 0x1b, 0xab, 0x3c, 0xa1, 0x00, 0x5a, 0x8d, 0x6b, 0x16, + 0x4c, 0xc7, 0x64, 0x48, 0xc1, 0x56, 0x57, 0xad, 0xc6, 0x9b, 0xc3, 0x2d, 0x4a, 0x07, 0xd7, 0x97, + 0xf8, 0x55, 0x5d, 0x36, 0x10, 0x97, 0xad, 0x2b, 0x1b, 0xb3, 0x29, 0x92, 0x4f, 0x19, 0x01, 0x18, + 0x43, 0x33, 0x6d, 0x42, 0xe6, 0xb8, 0x9c, 0xed, 0xd8, 0x01, 0xe5, 0xef, 0xdc, 0xaf, 0x89, 0x27, + 0x99, 0x7e, 0x84, 0x7f, 0xd1, 0x6b, 0xca, 0x41, 0xbe, 0x09, 0xbb, 0xe2, 0x78, 0x40, 0x3c, 0x7f, + 0x1d, 0x69, 0xb8, 0x0b, 0x48, 0x8d, 0xb9, 0x77, 0xe3, 0xc4, 0x88, 0x93, 0x64, 0xd8, 0xad, 0xa3, + 0xd0, 0xe7, 0x46, 0xc7, 0xbd, 0xb7, 0xbf, 0xe1, 0xdc, 0x7e, 0xd4, 0x4f, 0x46, 0x9e, 0x95, 0x0d, + 0xae, 0xe9, 0xe0, 0xfd, 0x6c, 0xd5, 0x56, 0x53, 0x6c, 0xa7, 0x24, 0xea, 0x20, 0xe2, 0xd8, 0xa8, + 0xa0, 0x0d, 0x8e, 0xb7, 0xaa, 0x19, 0x7e, 0x85, 0x4d, 0x34, 0xc0, 0xf8, 0x73, 0xc4, 0xa5, 0xe7, + 0xd6, 0x4e, 0x0d, 0x65, 0xb6, 0xae, 0x01, 0x4b, 0xd3, 0x71, 0xea, 0xec, 0x66, 0x6f, 0x35, 0x81, + 0x37, 0x53, 0xef, 0x81, 0x2b, 0xd2, 0x49, 0xab, 0x89, 0x8a, 0xff, 0x8f, 0x46, 0x9d, 0xb9, 0x5c, + 0x18, 0x12, 0x13, 0x5c, 0x3f, 0xcc, 0x32, 0x23, 0xc0, 0x4f, 0xb2, 0xda, 0x5a, 0x3d, 0xb7, 0x75, + 0xc7, 0xd1, 0x57, 0xc6, 0x5c, 0x38, 0x9b, 0x91, 0xcd, 0x66, 0xa0, 0x08, 0x79, 0xb4, 0x1b, 0xa1, + 0x11, 0xe2, 0xbb, 0x4d, 0x21, 0x27, 0xc0, 0xdb, 0x21, 0x89, 0x5d, 0xdd, 0xf7, 0x4e, 0xd5, 0x40, + 0xa0, 0x75, 0x7f, 0xe5, 0xd4, 0x49, 0x7f, 0xd9, 0x22, 0x28, 0xfe, 0x74, 0x0b, 0xe5, 0x0a, 0xcd, + 0x8e, 0x72, 0x82, 0xc7, 0x55, 0x83, 0xf6, 0x90, 0x4f, 0xfd, 0x2c, 0xd5, 0x76, 0x39, 0xad, 0xc2, + 0xcc, 0x9f, 0x4b, 0x56, 0x25, 0xa6, 0xe4, 0x8c, 0x84, 0x71, 0xc0, 0xde, 0xb3, 0x61, 0x39, 0xe4, + 0xac, 0x11, 0xd5, 0xa0, 0x6f, 0x6b, 0x2e, 0x49, 0x7d, 0x80, 0xe5, 0xee, 0xed, 0x41, 0xf2, 0x63, + 0xd7, 0xad, 0x98, 0x34, 0x88, 0x4a, 0xc7, 0x52, 0x0a, 0xe7, 0xe9, 0x3e, 0xf7, 0xf2, 0x81, 0xdd, + 0x75, 0x30, 0xec, 0xaf, 0x3f, 0xc3, 0x89, 0x79, 0xa8, 0x75, 0x0e, 0xb5, 0xb6, 0x50, 0x58, 0x94, + 0x15, 0x2d, 0xb5, 0x92, 0xb4, 0x66, 0xa9, 0xca, 0xd9, 0x35, 0x76, 0x90, 0x52, 0x5e, 0x4d, 0x0c, + 0x8f, 0xae, 0x2d, 0x86, 0xba, 0x71, 0x69, 0x9d, 0xc4, 0xb4, 0x30, 0xb7, 0x8b, 0xdb, 0xca, 0x5b, + 0xac, 0x7d, 0xa7, 0x0f, 0xab, 0x46, 0xd5, 0xbd, 0x03, 0xea, 0x64, 0x46, 0x50, 0xba, 0x78, 0xc5, + 0xfc, 0xac, 0x88, 0xf4, 0xed, 0x40, 0x66, 0x32, 0xd3, 0x53, 0x67, 0x87, 0x70, 0x71, 0x9d, 0x57, + 0x0d, 0x1e, 0x31, 0x01, 0xfd, 0x29, 0x42, 0x0b, 0x64, 0x15, 0x22, 0xa1, 0x5a, 0xe7, 0xe2, 0xe6, + 0x67, 0x00, 0x29, 0x51, 0xd9, 0xe8, 0x9f, 0x4e, 0xeb, 0xfb, 0xf0, 0xb7, 0xf1, 0xdb, 0x7b, 0x15, + 0xbf, 0x1f, 0x24, 0x2d, 0xb2, 0x59, 0x1e, 0x7c, 0x19, 0x36, 0x9f, 0x09, 0x01, 0x5d, 0x4d, 0xc1, + 0xb8, 0x4a, 0xeb, 0xa1, 0x90, 0x65, 0x1d, 0xdc, 0x1e, 0x42, 0x1a, 0x75, 0x2a, 0x9e, 0xb4, 0xa4, + 0x38, 0x9c, 0x2d, 0xa3, 0x09, 0xc1, 0x62, 0xd0, 0xc4, 0xc1, 0x4a, 0x15, 0xbf, 0x94, 0x09, 0x57, + 0xb8, 0x51, 0x33, 0x9d, 0xf3, 0x84, 0x17, 0x4a, 0xb2, 0xa5, 0xcb, 0x2f, 0x32, 0x27, 0x9c, 0x69, + 0x3a, 0x9d, 0x8f, 0x21, 0x60, 0x01, 0x4c, 0x05, 0xa6, 0x82, 0x5f, 0x54, 0xc7, 0x8c, 0x49, 0x07, + 0xa2, 0x92, 0xa1, 0x23, 0x12, 0x93, 0xaa, 0xf0, 0xc0, 0x53, 0xfb, 0x73, 0xa8, 0xe2, 0xac, 0x6a, + 0xa0, 0x81, 0x0e, 0xf1, 0xca, 0x0c, 0x5a, 0x62, 0xf3, 0x38, 0xfe, 0x61, 0xcd, 0xb9, 0x08, 0x73, + 0x17, 0x0b, 0x3b, 0x98, 0x24, 0x3d, 0xeb, 0x93, 0xac, 0xb3, 0x84, 0x3f, 0x31, 0x0d, 0x0a, 0xc3, + 0xb9, 0xc3, 0x85, 0x52, 0x1d, 0x4f, 0x39, 0x0e, 0x01, 0x32, 0x3c, 0x75, 0x83, 0x0a, 0x7a, 0xcd, + 0x08, 0xb9, 0x9f, 0x3a, 0xa0, 0xd6, 0x1c, 0xc6, 0x78, 0xd9, 0x73, 0xa9, 0x57, 0x7f, 0x1d, 0xad, + 0x6f, 0xc8, 0xdb, 0x93, 0x28, 0x05, 0x84, 0x06, 0x3f, 0x4d, 0x55, 0x84, 0xcb, 0x23, 0xab, 0x50, + 0xc3, 0x74, 0xae, 0x9f, 0x71, 0x64, 0xa4, 0x3d, 0x5a, 0x34, 0xe4, 0x45, 0x58, 0x66, 0x36, 0x93, + 0x98, 0x15, 0xe9, 0xe7, 0x5f, 0x05, 0xce, 0xae, 0x7e, 0x42, 0x5b, 0x56, 0x75, 0x53, 0x00, 0xe1, + 0x83, 0xb7, 0x8e, 0x6e, 0x75, 0x5d, 0x34, 0xa2, 0xba, 0x16, 0x61, 0x00, 0xd2, 0xd2, 0x5d, 0x78, + 0xb2, 0xa7, 0x2e, 0x07, 0xcc, 0x89, 0xae, 0xcd, 0xa1, 0x8b, 0x16, 0xa6, 0xeb, 0xb3, 0xa9, 0x9c, + 0x9a, 0x3b, 0xe1, 0x6e, 0x45, 0xd5, 0xf6, 0xd6, 0xa2, 0xca, 0x90, 0x0b, 0x12, 0xb3, 0xcd, 0xfc, + 0x0a, 0xe6, 0xcd, 0xc5, 0x6f, 0x3a, 0x34, 0x4a, 0x7d, 0xef, 0x1b, 0x65, 0xff, 0xd0, 0x76, 0x47, + 0xf3, 0xda, 0xd7, 0x6a, 0xa2, 0xf9, 0x7d, 0x9a, 0x1d, 0xa3, 0xce, 0x25, 0x17, 0x39, 0x09, 0x39, + 0xb8, 0xb1, 0x8f, 0x0f, 0x9e, 0x5c, 0x3f, 0x4f, 0xf6, 0x6e, 0x4d, 0x12, 0xcd, 0x0c, 0x5b, 0x50, + 0xb4, 0x3b, 0x43, 0x97, 0x81, 0x6e, 0x25, 0x91, 0xa9, 0x00, 0x09, 0x2e, 0x4d, 0x7e, 0x30, 0x95, + 0xd7, 0xb2, 0x4c, 0xe1, 0xbc, 0x9b, 0xe9, 0x33, 0x94, 0x04, 0xaf, 0x88, 0xd3, 0x4c, 0xb1, 0x16, + 0xa3, 0xe2, 0x78, 0x8a, 0xae, 0x06, 0xaa, 0x32, 0xf2, 0xce, 0x22, 0xf3, 0x57, 0xef, 0x88, 0x81, + 0xe0, 0x30, 0x81, 0xd9, 0xfa, 0x9c, 0x9f, 0x2e, 0xd6, 0xff, 0xc2, 0x89, 0x0e, 0x85, 0x99, 0x04, + 0x0f, 0x46, 0x5b, 0xcd, 0xaf, 0xdd, 0x7b, 0x97, 0x01, 0x8b, 0x55, 0x95, 0xf1, 0xc0, 0x4d, 0xa7, + 0x12, 0x39, 0x9b, 0x27, 0x83, 0xbc, 0xa3, 0xc2, 0x77, 0xe9, 0x6b, 0x8e, 0xbc, 0x24, 0x24, 0x16, + 0x60, 0x2f, 0x4f, 0x13, 0x55, 0x3e, 0x5b, 0x26, 0xfc, 0xad, 0x7d, 0xd3, 0x21, 0x00, 0x3f, 0xa2, + 0xf4, 0xa5, 0x57, 0x7c, 0xe8, 0x67, 0xb2, 0x7c, 0x31, 0xad, 0xf4, 0x9e, 0x4f, 0x5c, 0xcf, 0x27, + 0x32, 0x3a, 0xdb, 0xf0, 0xe8, 0xc6, 0x24, 0x44, 0x1c, 0x97, 0xcd, 0x12, 0x47, 0xf8, 0xad, 0x58, + 0x8d, 0xda, 0x4f, 0x5c, 0x6c, 0x0e, 0x25, 0x05, 0x6b, 0xde, 0x4a, 0xd8, 0x09, 0xb1, 0x8f, 0x69, + 0xdd, 0xe8, 0x20, 0x50, 0x20, 0x26, 0xbe, 0xcb, 0x0e, 0x31, 0xd0, 0x4c, 0x3e, 0x08, 0x84, 0x05, + 0x0b, 0x36, 0x3f, 0x00, 0xfa, 0x13, 0xa0, 0xbd, 0xbd, 0x90, 0xdc, 0xa8, 0x39, 0x92, 0x04, 0x30, + 0x64, 0x2d, 0xbf, 0x6b, 0xf0, 0x6c, 0x51, 0x36, 0x60, 0x76, 0xce, 0xb7, 0x9e, 0xcc, 0x1d, 0x5d, + 0xaf, 0xad, 0xec, 0x54, 0xdb, 0xaf, 0x5b, 0x98, 0xbc, 0xa4, 0x8d, 0x72, 0x35, 0xfb, 0x8a, 0x93, + 0xa0, 0x17, 0x70, 0xd2, 0x40, 0x7e, 0xb4, 0x1c, 0x90, 0xe2, 0xe7, 0x46, 0x49, 0x31, 0x11, 0xbb, + 0x7c, 0xbe, 0x86, 0x00, 0xd8, 0x8a, 0x12, 0x74, 0x75, 0xe6, 0x55, 0x58, 0x8d, 0x67, 0xfa, 0x6e, + 0x63, 0x0e, 0x30, 0xf9, 0x5c, 0x55, 0x42, 0x2d, 0xfe, 0xa3, 0xb9, 0x63, 0xd9, 0x99, 0x57, 0xc1, + 0x26, 0xa7, 0x22, 0xa6, 0x85, 0xf7, 0xa8, 0x5b, 0x7a, 0x35, 0xd3, 0x2f, 0x62, 0x3a, 0xe7, 0xe3, + 0xbc, 0x09, 0xc7, 0x17, 0x52, 0x02, 0x28, 0x3a, 0x90, 0x7d, 0xc8, 0xcb, 0x52, 0xd7, 0x28, 0x07, + 0x26, 0x56, 0xfd, 0x0e, 0x94, 0xc6, 0x1b, 0xa4, 0x8e, 0x49, 0xd4, 0x7b, 0x76, 0x99, 0x60, 0x05, + 0x80, 0x66, 0xb8, 0xac, 0xe4, 0xef, 0x2d, 0x78, 0xec, 0xa9, 0xa3, 0x27, 0xc7, 0x20, 0x09, 0xc5, + 0x90, 0x1d, 0xb7, 0xd1, 0xde, 0xfe, 0x0d, 0xe8, 0xbe, 0x2d, 0x01, 0x8e, 0x23, 0x88, 0x7a, 0xfc, + 0xa2, 0xc9, 0x50, 0xbb, 0x77, 0xd2, 0xfd, 0x13, 0x34, 0x81, 0x4f, 0xe8, 0x78, 0xa6, 0x9f, 0x78, + 0xaf, 0x40, 0x11, 0x90, 0xff, 0xb0, 0xb1, 0x29, 0x61, 0xd3, 0xb4, 0xe2, 0xf3, 0x39, 0xfc, 0x41, + 0x97, 0x17, 0xab, 0x0c, 0xac, 0x42, 0x51, 0x62, 0xa7, 0xa3, 0xc1, 0x19, 0x92, 0xbf, 0xd6, 0xe4, + 0xe6, 0xa0, 0x73, 0x9e, 0x9d, 0x73, 0xc6, 0xd6, 0x19, 0xd3, 0xda, 0x38, 0x32, 0x5c, 0xaf, 0xdc, + 0xcf, 0x8e, 0x44, 0x60, 0x6a, 0x87, 0xab, 0xac, 0x5b, 0x7c, 0x6a, 0x72, 0xaf, 0x23, 0x7e, 0x88, + 0x46, 0xa2, 0x17, 0x18, 0x2c, 0x99, 0x58, 0xf4, 0xbc, 0x27, 0xf8, 0xfe, 0x3d, 0x79, 0x73, 0xfc, + 0x0b, 0x7a, 0xcb, 0xe0, 0x05, 0xc2, 0xbc, 0x5d, 0x6d, 0x9b, 0x54, 0x54, 0xdd, 0x7c, 0x27, 0x36, + 0xe0, 0x5e, 0xdc, 0x51, 0x6f, 0xe5, 0xf7, 0x0c, 0xc4, 0x73, 0x7f, 0xf4, 0xb3, 0xf5, 0xd4, 0x16, + 0x06, 0x15, 0x47, 0xa4, 0xd2, 0x36, 0x32, 0x61, 0xf3, 0x48, 0xee, 0xc3, 0x27, 0x69, 0x05, 0x1d, + 0xb1, 0xec, 0xb7, 0x4c, 0x49, 0x98, 0x05, 0x23, 0x58, 0x0a, 0xf4, 0x5b, 0x70, 0xc7, 0x90, 0x9e, + 0x22, 0x10, 0xe8, 0x48, 0xc8, 0x86, 0x52, 0x45, 0xbb, 0xd8, 0x3e, 0x46, 0x09, 0x0b, 0x1d, 0x77, + 0xb2, 0xba, 0x47, 0x9f, 0x23, 0x1d, 0x6f, 0xe1, 0xf9, 0xca, 0x31, 0x18, 0x17, 0x19, 0x01, 0x91, + 0x34, 0x55, 0xbb, 0x22, 0x5f, 0xfa, 0x72, 0x08, 0x63, 0xe8, 0x6b, 0x8b, 0x53, 0xdb, 0x2e, 0x25, + 0x8b, 0x3f, 0x91, 0xfc, 0xc1, 0xc2, 0x9e, 0x9e, 0xc1, 0x1f, 0x5a, 0xfc, 0xaa, 0xd6, 0x2a, 0xaa, + 0x89, 0xf6, 0xd1, 0x10, 0x5e, 0xcf, 0x06, 0x16, 0xfa, 0x04, 0x8f, 0x95, 0x2c, 0xe7, 0x88, 0x60, + 0x6c, 0x09, 0xd8, 0xc5, 0xc9, 0xe4, 0xa0, 0x5b, 0x2f, 0x36, 0x02, 0x22, 0x01, 0x38, 0xfb, 0xc9, + 0xbc, 0x7a, 0x90, 0xe0, 0x3b, 0x3f, 0xaa, 0xf5, 0x3a, 0x5d, 0x20, 0x3d, 0xe2, 0x5e, 0x65, 0x51, + 0x46, 0x57, 0x27, 0x59, 0x72, 0x38, 0xba, 0x54, 0x8b, 0x0e, 0xc0, 0x5a, 0xa3, 0x0c, 0x2c, 0x03, + 0x29, 0xcf, 0x4d, 0x1e, 0xb5, 0x30, 0x7d, 0xd5, 0x9f, 0x8e, 0x52, 0x4d, 0x28, 0x6f, 0x6c, 0xa5, + 0x6c, 0xeb, 0xd1, 0x04, 0x7f, 0xcf, 0x9f, 0xa3, 0xfc, 0x96, 0x55, 0x71, 0xca, 0x8f, 0x32, 0x15, + 0xae, 0x26, 0xeb, 0x3c, 0x21, 0x27, 0x16, 0xca, 0xce, 0xf8, 0x45, 0x0b, 0xd3, 0xe8, 0x81, 0xe2, + 0x03, 0x5d, 0xcb, 0x10, 0x26, 0x9f, 0x74, 0x53, 0xe8, 0x46, 0xf3, 0x41, 0xb5, 0x1b, 0x45, 0x15, + 0xa0, 0x9c, 0x49, 0x38, 0x05, 0xbc, 0x8a, 0x6e, 0xbe, 0x1e, 0xa1, 0x7c, 0x85, 0x63, 0xbb, 0x35, + 0xba, 0xea, 0x88, 0x15, 0x7a, 0x7c, 0x96, 0xf3, 0xc9, 0xf7, 0xc6, 0xff, 0x45, 0xae, 0x09, 0xc2, + 0x24, 0xd7, 0xdb, 0x48, 0x76, 0x77, 0xde, 0xd5, 0x2a, 0xc0, 0x50, 0x7e, 0x9a, 0x06, 0x44, 0xd5, + 0xde, 0xd5, 0x1d, 0x32, 0xd7, 0x9a, 0x72, 0x80, 0xff, 0x34, 0x43, 0xdb, 0x0e, 0x58, 0x92, 0x22, + 0x72, 0x59, 0x58, 0x4e, 0x06, 0x75, 0x06, 0x2d, 0x01, 0x34, 0xc3, 0x5f, 0x5c, 0x12, 0x1b, 0x2d, + 0xdd, 0xfe, 0x0b, 0x55, 0x67, 0x1e, 0xe4, 0x46, 0xaf, 0x9b, 0xf3, 0xdb, 0xe5, 0xcc, 0xe6, 0x52, + 0x8f, 0x72, 0x59, 0xd8, 0xc2, 0x8c, 0xc3, 0xe4, 0x8a, 0x91, 0x4b, 0x54, 0xa7, 0xf6, 0x33, 0x33, + 0x05, 0x34, 0xbe, 0xdb, 0xea, 0x86, 0xd5, 0x5f, 0xae, 0xbb, 0x1a, 0xe4, 0x7d, 0xed, 0xfd, 0x88, + 0x3f, 0xd2, 0xe9, 0x96, 0x70, 0xb6, 0x6c, 0x66, 0x7b, 0x9c, 0x8f, 0xe6, 0x78, 0xf5, 0xde, 0x32, + 0xd7, 0xa6, 0x84, 0x97, 0x1a, 0xfc, 0xbd, 0x0b, 0x14, 0xf6, 0x55, 0x7d, 0x65, 0x11, 0x1e, 0xfb, + 0xab, 0x5c, 0x38, 0xa1, 0xa6, 0x2d, 0xd6, 0x04, 0xc3, 0x95, 0x22, 0x98, 0x5b, 0xc7, 0xf9, 0x5d, + 0x1e, 0x36, 0xd0, 0x77, 0xe4, 0xf6, 0xb0, 0x30, 0x90, 0x86, 0x42, 0x2a, 0x5a, 0xc6, 0x9c, 0xc6, + 0xdf, 0x2b, 0x34, 0x9d, 0xec, 0x91, 0x35, 0x9d, 0x92, 0xa2, 0x6b, 0x16, 0x45, 0x5e, 0xbe, 0xdd, + 0x4e, 0xcb, 0xae, 0x35, 0x32, 0xcf, 0x9d, 0x7b, 0x3b, 0xe5, 0x27, 0xda, 0xe9, 0x0b, 0x3e, 0x6c, + 0xc8, 0x9e, 0xae, 0x1c, 0x69, 0x76, 0x16, 0x28, 0x3d, 0x72, 0xfa, 0x0d, 0xc6, 0xc4, 0xc0, 0xb5, + 0xcf, 0x1c, 0x73, 0x54, 0x43, 0x84, 0xbd, 0x7b, 0x1e, 0x28, 0xc1, 0xd9, 0xf0, 0xbf, 0x5a, 0xbe, + 0x87, 0xed, 0xfe, 0x0d, 0x1c, 0xeb, 0x38, 0x4b, 0x1d, 0xd9, 0xbe, 0x2f, 0x59, 0x6c, 0x5f, 0x37, + 0x9d, 0x6e, 0x4a, 0xba, 0x07, 0xa9, 0xe4, 0x74, 0x41, 0xd0, 0x85, 0x5c, 0xce, 0x66, 0x00, 0xa9, + 0xe0, 0xc7, 0x3c, 0x23, 0x83, 0x5c, 0x12, 0x6f, 0xe1, 0x70, 0x30, 0xea, 0x1b, 0x10, 0x64, 0xc2, + 0x3f, 0xd0, 0x2d, 0x81, 0xb6, 0x6b, 0x1e, 0xdf, 0x8e, 0xe6, 0x49, 0xb9, 0x45, 0x0f, 0x2f, 0x63, + 0x4f, 0x0e, 0xa1, 0x7f, 0xa4, 0x20, 0x1e, 0x25, 0x99, 0x99, 0xb2, 0x06, 0x2d, 0xb7, 0xb3, 0x30, + 0xc2, 0xc9, 0x35, 0xb6, 0xf3, 0x08, 0x9f, 0x2a, 0xd7, 0x21, 0xe5, 0xcd, 0x4b, 0x2a, 0x5f, 0xdc, + 0xb5, 0xfb, 0xdb, 0x74, 0xae, 0x25, 0x8d, 0x0e, 0x84, 0xd7, 0xc7, 0xcc, 0x82, 0x47, 0xd0, 0x3c, + 0x46, 0x29, 0xe5, 0x58, 0xde, 0x92, 0x07, 0xcf, 0x9a, 0xb6, 0x6c, 0x6c, 0x99, 0xb7, 0x03, 0xc1, + 0xef, 0x22, 0x80, 0x0b, 0x17, 0x92, 0x70, 0xa6, 0xf5, 0x6f, 0x4b, 0xa7, 0xcf, 0x67, 0x29, 0x0f, + 0xcc, 0xb0, 0xce, 0xea, 0x63, 0xd5, 0xbe, 0xb3, 0xc0, 0x0c, 0x6b, 0x25, 0x75, 0x23, 0x80, 0xe8, + 0x7d, 0x1a, 0xb0, 0xcb, 0xbf, 0x2a, 0x99, 0xb7, 0x3d, 0x28, 0xe7, 0x4c, 0xd2, 0x66, 0xa2, 0xe6, + 0xad, 0x10, 0xc5, 0x19, 0xb8, 0xf0, 0x6c, 0xda, 0x7b, 0xe0, 0x30, 0xa9, 0xd1, 0x2a, 0x9f, 0xb9, + 0xac, 0x5e, 0x99, 0xf7, 0xa9, 0x1f, 0x6d, 0xa0, 0xfc, 0x93, 0x5c, 0x74, 0x5c, 0xda, 0x03, 0xdc, + 0xf6, 0xa5, 0xb7, 0x27, 0x04, 0x37, 0xfb, 0xa9, 0x4c, 0x83, 0xa9, 0xe9, 0xaf, 0x75, 0xd1, 0x6d, + 0x34, 0xcb, 0x82, 0x9e, 0x04, 0xb1, 0x94, 0xbb, 0xcd, 0xeb, 0x81, 0x47, 0xf3, 0x90, 0x50, 0x4c, + 0xfc, 0x20, 0x6a, 0x8c, 0x43, 0x46, 0x2b, 0xd3, 0xf8, 0x69, 0x81, 0x17, 0xfc, 0x5e, 0x4e, 0xa1, + 0x33, 0x07, 0x5e, 0xd9, 0x4a, 0x87, 0xcf, 0xf4, 0xfb, 0x82, 0x35, 0x23, 0xb1, 0x3c, 0xf2, 0x60, + 0xdc, 0xee, 0xc8, 0xc6, 0xff, 0x89, 0xf1, 0x4e, 0x33, 0x32, 0xe1, 0xff, 0xef, 0x33, 0x79, 0xbb, + 0xd4, 0x9d, 0x2c, 0x21, 0x71, 0x61, 0xa8, 0x2b, 0x56, 0x3f, 0x13, 0x0c, 0x7c, 0xfc, 0x57, 0x39, + 0x57, 0xf1, 0x54, 0x3b, 0xff, 0x01, 0x20, 0x48, 0x5e, 0x68, 0xce, 0xca, 0x4a, 0x87, 0x3c, 0x41, + 0xce, 0xfd, 0x8e, 0x18, 0x12, 0x22, 0xb0, 0xe5, 0x8e, 0xf9, 0x1f, 0x06, 0x9e, 0xd4, 0xf8, 0x3f, + 0x4d, 0xc2, 0x78, 0x55, 0x36, 0x89, 0xe4, 0x4e, 0xcf, 0x0c, 0xaf, 0xd6, 0xc9, 0xaa, 0x0a, 0xb5, + 0x42, 0x64, 0xd7, 0x0d, 0x02, 0x16, 0xea, 0x0b, 0x23, 0xb2, 0xaf, 0x3d, 0xac, 0xaa, 0x23, 0x77, + 0x05, 0x58, 0x86, 0x53, 0x83, 0x8e, 0x3f, 0x6c, 0x49, 0x82, 0x1c, 0xa1, 0x34, 0xc0, 0x11, 0x96, + 0x36, 0x4a, 0xd8, 0xcc, 0x35, 0xbb, 0x46, 0x73, 0x93, 0xf9, 0x1a, 0xf6, 0x66, 0x08, 0x5c, 0xf7, + 0x78, 0x83, 0x82, 0x0c, 0x8e, 0x05, 0xd1, 0x2c, 0x90, 0x87, 0x05, 0xaa, 0x1d, 0x4b, 0x7b, 0x41, + 0x54, 0xf5, 0x21, 0x24, 0x6c, 0x79, 0x61, 0x30, 0x2d, 0xd1, 0x45, 0xd7, 0xf6, 0xcf, 0xd5, 0xf7, + 0xe8, 0x3a, 0xa4, 0xd9, 0xf3, 0xc8, 0x31, 0xf7, 0x1a, 0x8b, 0x4d, 0x1f, 0xee, 0x9a, 0xb4, 0x66, + 0xbd, 0xc1, 0x9f, 0x0f, 0x77, 0xb7, 0xf5, 0x82, 0x4e, 0x2a, 0x25, 0xe5, 0x99, 0x52, 0xd1, 0x4b, + 0x39, 0xbb, 0xec, 0x67, 0x4f, 0x5a, 0x20, 0x90, 0x51, 0x9b, 0xf8, 0x2b, 0xba, 0x7a, 0xee, 0x8e, + 0x82, 0x8b, 0xed, 0xd7, 0x9d, 0xe6, 0x42, 0xfc, 0xa4, 0xdd, 0x20, 0x49, 0x91, 0x2b, 0x53, 0xc7, + 0x61, 0x58, 0x92, 0x60, 0xa5, 0x31, 0x40, 0x56, 0x06, 0x06, 0xf4, 0x2b, 0x26, 0x62, 0x2e, 0x71, + 0xcb, 0xd6, 0x1f, 0xfc, 0x57, 0xeb, 0xfd, 0x33, 0x79, 0x4a, 0x9d, 0x1f, 0x3e, 0x6d, 0xf5, 0x13, + 0x5f, 0x4f, 0x7e, 0xf1, 0x66, 0x7a, 0xf2, 0x87, 0xd1, 0x27, 0xfd, 0x2c, 0x89, 0x8a, 0xcb, 0xc8, + 0x92, 0xdd, 0x8c, 0x2b, 0x30, 0x7a, 0xf1, 0x50, 0x3e, 0x7b, 0x77, 0x16, 0xb0, 0x4a, 0x5f, 0x24, + 0x44, 0x85, 0x78, 0x2c, 0xb0, 0x6e, 0x5c, 0x31, 0x41, 0x6b, 0xe3, 0x27, 0x99, 0xc5, 0x8c, 0x0a, + 0xae, 0x86, 0x08, 0xc7, 0x6f, 0xef, 0x80, 0x22, 0x51, 0x5d, 0x97, 0x7c, 0x59, 0x4b, 0xba, 0xa7, + 0x88, 0xe2, 0x0e, 0x5f, 0x01, 0x14, 0xc3, 0x29, 0x06, 0x43, 0x0a, 0x94, 0x14, 0x1b, 0x2d, 0xfb, + 0x3b, 0x9d, 0xda, 0x5c, 0x7c, 0x03, 0x5e, 0x96, 0x7a, 0x76, 0xc5, 0x97, 0x72, 0xcf, 0x04, 0x9c, + 0x77, 0xa5, 0xff, 0x87, 0xb7, 0x73, 0x07, 0x23, 0x74, 0x14, 0x06, 0x51, 0xef, 0xce, 0x5c, 0xf1, + 0x4b, 0xf1, 0x33, 0x95, 0x6e, 0xd9, 0x16, 0x3c, 0xfe, 0x10, 0x6c, 0x75, 0x45, 0x0c, 0x8a, 0x18, + 0x8c, 0x8f, 0x7b, 0xcf, 0x08, 0x00, 0x2b, 0xe6, 0x87, 0x4e, 0xcb, 0xe2, 0xda, 0xde, 0xf7, 0xdd, + 0x1a, 0x4a, 0xb3, 0xa7, 0xc7, 0x23, 0xf1, 0x55, 0x84, 0xb0, 0x37, 0xd5, 0x71, 0xc6, 0xd6, 0x91, + 0xa7, 0xf3, 0x88, 0x02, 0xcc, 0xb3, 0x50, 0x51, 0x1e, 0x4d, 0xff, 0x07, 0xec, 0x18, 0x40, 0x3c, + 0xe1, 0x80, 0xab, 0x33, 0xf2, 0xdd, 0x48, 0x74, 0x2b, 0xc4, 0x4e, 0x41, 0x95, 0x1a, 0xd8, 0x8b, + 0xbc, 0x71, 0x24, 0xad, 0xb1, 0x63, 0xed, 0x26, 0x07, 0xbf, 0x2a, 0x53, 0x81, 0x2d, 0xee, 0x79, + 0x28, 0x7d, 0x53, 0x3b, 0xad, 0x0b, 0x2d, 0x52, 0x3e, 0x0b, 0x55, 0x63, 0xd9, 0xb9, 0xb2, 0x1f, + 0x24, 0x06, 0xf4, 0x0d, 0xdb, 0x24, 0x9e, 0x3a, 0xca, 0x3a, 0x63, 0x86, 0x9b, 0x1e, 0xf9, 0xc6, + 0x40, 0x43, 0xd1, 0x02, 0xad, 0xae, 0xc5, 0xd7, 0x76, 0xe0, 0x54, 0xcb, 0x54, 0x51, 0xce, 0x9f, + 0x63, 0xc4, 0x0e, 0xd1, 0x48, 0x75, 0x96, 0xa7, 0x87, 0xae, 0x9c, 0x3a, 0x79, 0x1b, 0x0e, 0x53, + 0x41, 0x7b, 0xfa, 0x74, 0x02, 0x00, 0x97, 0x2b, 0xf3, 0xb7, 0xde, 0x9c, 0x96, 0xcf, 0x66, 0x4d, + 0x3f, 0x12, 0x13, 0x76, 0xdd, 0xcb, 0x07, 0xf8, 0x96, 0xf3, 0xfc, 0xf5, 0x9e, 0x6c, 0x09, 0xe9, + 0x58, 0xaf, 0x0a, 0x77, 0x01, 0x79, 0xc3, 0x72, 0x46, 0xad, 0x12, 0x0b, 0x0f, 0xea, 0xde, 0xd5, + 0x27, 0x0e, 0xe0, 0x9e, 0x84, 0x7c, 0x50, 0x59, 0xe9, 0xbe, 0xa0, 0x27, 0xf5, 0x3a, 0xa5, 0x2e, + 0x65, 0x10, 0x50, 0xcd, 0x63, 0x62, 0x4c, 0x3b, 0x6d, 0x5b, 0xa0, 0x31, 0x6a, 0x63, 0x91, 0xd6, + 0x7f, 0x85, 0x50, 0xa8, 0x0b, 0xfd, 0x67, 0x90, 0x53, 0xdc, 0x40, 0xd3, 0x79, 0x74, 0xcc, 0x64, + 0xd7, 0xe0, 0xf8, 0x09, 0x47, 0x77, 0xb7, 0x1e, 0x13, 0x5d, 0x99, 0xdd, 0x56, 0x1d, 0x77, 0xc9, + 0x0a, 0x58, 0x12, 0x34, 0x83, 0x3b, 0xa7, 0xe4, 0x11, 0xd2, 0x8c, 0x5d, 0x5f, 0x15, 0x9f, 0x81, + 0xae, 0x1b, 0x69, 0xd7, 0x2f, 0x64, 0x8a, 0xc9, 0xba, 0xc6, 0x69, 0xc8, 0xb2, 0xfb, 0x4f, 0xea, + 0xc1, 0xe2, 0x30, 0x2d, 0x88, 0x0e, 0x88, 0xec, 0x5d, 0x00, 0x7a, 0x05, 0x15, 0x4a, 0x0f, 0xd6, + 0x33, 0xf9, 0xb5, 0xd0, 0xd0, 0x76, 0x09, 0x7c, 0x29, 0x75, 0x31, 0xff, 0x91, 0x4b, 0xd1, 0x6b, + 0xa5, 0x63, 0x04, 0xda, 0x1a, 0x64, 0xd6, 0xb4, 0x91, 0x3a, 0x8b, 0x0e, 0x6b, 0xc5, 0x88, 0x00, + 0x68, 0x91, 0x23, 0x98, 0x0d, 0x79, 0x96, 0x17, 0x64, 0x2e, 0x26, 0xe1, 0x82, 0x00, 0x7e, 0x51, + 0xbc, 0x95, 0x27, 0x86, 0xd1, 0x70, 0x25, 0x91, 0x69, 0x69, 0x57, 0x3a, 0x3f, 0x8e, 0x06, 0x8d, + 0x96, 0x64, 0x3b, 0xdc, 0x0f, 0x8b, 0x25, 0x0d, 0x8a, 0x19, 0xd8, 0xa8, 0x94, 0x02, 0xed, 0x59, + 0x27, 0x08, 0xfc, 0x7e, 0x0b, 0xb3, 0x27, 0x1c, 0xc1, 0xab, 0xc7, 0xef, 0x95, 0x4f, 0x5a, 0x35, + 0xc1, 0x11, 0x97, 0x2c, 0x09, 0x41, 0x22, 0x4c, 0x0d, 0x54, 0xa1, 0x48, 0x83, 0x32, 0x88, 0x4e, + 0x75, 0x3d, 0xe4, 0xb7, 0x44, 0x86, 0xf5, 0x13, 0x28, 0x1a, 0x98, 0x43, 0xab, 0xff, 0x78, 0x39, + 0xd9, 0xff, 0x34, 0x64, 0xb1, 0xa8, 0x96, 0x86, 0x06, 0x64, 0x77, 0x55, 0x6e, 0xf6, 0x17, 0x1a, + 0x3d, 0x99, 0xf2, 0x2a, 0x6e, 0x26, 0xbb, 0x6a, 0x2f, 0xc0, 0xe1, 0xc2, 0x8e, 0x36, 0x9a, 0xbb, + 0x80, 0x2d, 0x1c, 0x4d, 0xf5, 0x64, 0x4a, 0x6f, 0x2b, 0x39, 0x35, 0x14, 0x41, 0x35, 0x34, 0x33, + 0xf0, 0x40, 0x7f, 0x5b, 0xdb, 0x59, 0x52, 0x0e, 0xc9, 0x93, 0x47, 0xe7, 0x15, 0xea, 0x82, 0x0f, + 0x05, 0x86, 0xd7, 0x7b, 0xd4, 0x54, 0x5b, 0x7f, 0xe5, 0x49, 0x33, 0xdb, 0x64, 0x70, 0xac, 0x11, + 0x64, 0x44, 0xae, 0x79, 0x99, 0x45, 0xa7, 0xc1, 0x6b, 0x08, 0x90, 0xb9, 0x56, 0x64, 0x1f, 0xb8, + 0x58, 0x86, 0xd1, 0x5e, 0xf4, 0x7c, 0x8e, 0x76, 0x49, 0xeb, 0x5b, 0xf9, 0x21, 0x1c, 0x16, 0xf8, + 0x35, 0x2c, 0x95, 0xd4, 0xaf, 0x6e, 0x88, 0x68, 0x7a, 0x1c, 0xe2, 0xba, 0x6e, 0xf7, 0x71, 0xb8, + 0xb2, 0x7d, 0xb1, 0xb0, 0x0c, 0x3e, 0x27, 0x22, 0xb9, 0x0f, 0x9e, 0xfe, 0x04, 0x4d, 0x7d, 0x79, + 0xb5, 0x6a, 0x4f, 0x56, 0xf5, 0x7d, 0x26, 0x46, 0x78, 0x1f, 0x65, 0x5c, 0x42, 0x1f, 0xa1, 0xdf, + 0x80, 0xb3, 0x3d, 0x1c, 0xbb, 0x38, 0x9d, 0x49, 0x7f, 0x72, 0xfb, 0x1f, 0xbf, 0xf0, 0x27, 0x08, + 0x89, 0x39, 0xe6, 0x47, 0xf4, 0x24, 0x37, 0x8e, 0xea, 0xca, 0x10, 0x88, 0x2b, 0x0c, 0x75, 0x21, + 0xda, 0x77, 0xeb, 0x5b, 0xfd, 0xe8, 0xdd, 0x57, 0x49, 0xc0, 0xf7, 0xb9, 0x92, 0xf7, 0xad, 0xf5, + 0x5b, 0x5b, 0xa1, 0xf5, 0xae, 0xba, 0xbd, 0xf4, 0xa8, 0xc0, 0xa9, 0x97, 0x13, 0x2c, 0x7b, 0xf7, + 0xd5, 0x47, 0x1f, 0x76, 0xa2, 0x3f, 0x64, 0x88, 0x15, 0x47, 0x86, 0xf9, 0x9a, 0x5f, 0x8a, 0x59, + 0xf5, 0xe5, 0xdb, 0xd7, 0x11, 0x3c, 0x0d, 0xa3, 0x85, 0xf3, 0xbb, 0x6b, 0x04, 0x4e, 0x86, 0x1f, + 0x3d, 0x69, 0x44, 0xd3, 0x84, 0xc3, 0x9d, 0x08, 0x51, 0xb1, 0x34, 0xbe, 0x02, 0xc6, 0xd3, 0xa5, + 0x62, 0xaf, 0xed, 0x35, 0x2c, 0x96, 0xc6, 0x3e, 0xdd, 0xf8, 0xfd, 0x8d, 0x72, 0x7d, 0xdc, 0x06, + 0x90, 0x93, 0x4b, 0x08, 0xd1, 0x6e, 0x82, 0x79, 0x5e, 0x0c, 0x4a, 0xed, 0x96, 0x53, 0x01, 0xf7, + 0x48, 0x8d, 0x1a, 0x30, 0x20, 0xaa, 0x96, 0x71, 0x80, 0x10, 0xf9, 0x0d, 0xfc, 0x1e, 0xb0, 0x05, + 0x16, 0xdd, 0x1f, 0x9d, 0xe3, 0x05, 0x79, 0x1b, 0xef, 0xdb, 0x7a, 0xa5, 0x54, 0x74, 0xd6, 0x63, + 0x77, 0x17, 0x6b, 0xa4, 0x50, 0xe8, 0x8d, 0x50, 0x93, 0xab, 0xdd, 0x3e, 0x1d, 0x98, 0x49, 0xa2, + 0x9a, 0x69, 0xbc, 0xa1, 0x8a, 0xad, 0x17, 0xc7, 0xc4, 0xde, 0x09, 0x66, 0x12, 0x65, 0x8f, 0x64, + 0xdd, 0x1b, 0x3b, 0xc3, 0xcc, 0x51, 0xb0, 0xcc, 0x8a, 0x4a, 0xa1, 0x46, 0xf0, 0x6e, 0x75, 0xe4, + 0x42, 0xd4, 0x42, 0xf4, 0xae, 0x61, 0x1c, 0x6f, 0x75, 0xa4, 0x39, 0x9f, 0xc7, 0x26, 0x4f, 0x3a, + 0x47, 0x90, 0x93, 0x08, 0x65, 0xc1, 0xed, 0x55, 0x2a, 0x55, 0x0c, 0x71, 0x99, 0xf5, 0xb8, 0x04, + 0x55, 0x12, 0x02, 0x5f, 0xe9, 0xb3, 0x3a, 0x78, 0xff, 0x5b, 0x32, 0xce, 0x92, 0xbc, 0xe6, 0xc9, + 0x63, 0x8a, 0x16, 0x7e, 0x8d, 0xbf, 0x7c, 0x59, 0xde, 0xfb, 0xea, 0xa0, 0x16, 0x4e, 0x9f, 0x4d, + 0x73, 0x5b, 0x8d, 0xba, 0x5a, 0x90, 0x90, 0x9a, 0x2f, 0xe5, 0xc5, 0xf6, 0x08, 0x4d, 0x7b, 0x25, + 0xec, 0x42, 0xfb, 0x9a, 0x2e, 0xc9, 0xaf, 0xe1, 0xb2, 0x0d, 0xff, 0x75, 0x57, 0xa2, 0x4f, 0xf0, + 0x9e, 0x10, 0x36, 0x10, 0x19, 0x59, 0x08, 0x27, 0x83, 0xa4, 0x67, 0x73, 0xc3, 0xbf, 0x3c, 0xd0, + 0x37, 0xb1, 0xc5, 0x08, 0x82, 0xa4, 0xfa, 0xfe, 0x74, 0xbd, 0x36, 0x4d, 0x45, 0x21, 0x45, 0x7d, + 0x9b, 0x3c, 0xf0, 0x5f, 0x9f, 0x9f, 0x46, 0x70, 0x33, 0x72, 0x33, 0x18, 0x01, 0x55, 0x16, 0x40, + 0x23, 0xea, 0x1d, 0x4d, 0xff, 0x18, 0x76, 0x28, 0xd4, 0x1b, 0x9b, 0xab, 0x16, 0x18, 0x67, 0xbb, + 0xf2, 0x95, 0xf3, 0xd9, 0x72, 0xab, 0x79, 0x1a, 0x68, 0x33, 0x1f, 0xfe, 0x76, 0x41, 0x95, 0xa7, + 0x71, 0x1d, 0x3f, 0x25, 0xfc, 0x87, 0x0e, 0xf3, 0x9d, 0xd7, 0xdf, 0x45, 0xc0, 0xcf, 0x0a, 0xab, + 0x88, 0xf2, 0xbc, 0xf6, 0xde, 0xa3, 0x30, 0xe6, 0x84, 0x17, 0xe8, 0x5c, 0x8e, 0xcc, 0x08, 0x18, + 0xa4, 0xf3, 0x6d, 0x43, 0xd1, 0x3c, 0x22, 0xc8, 0x7d, 0xf8, 0x46, 0x83, 0xb5, 0x2b, 0xf8, 0x5b, + 0xb9, 0xe3, 0xa2, 0x2f, 0x39, 0xc1, 0x37, 0xf2, 0xf6, 0xf1, 0x97, 0xdb, 0x5d, 0x03, 0x6b, 0x83, + 0x9f, 0x2a, 0x8a, 0x3d, 0xa8, 0x2c, 0x29, 0xa1, 0x63, 0x80, 0x91, 0xab, 0x5c, 0x88, 0x8e, 0x8d, + 0x9e, 0x31, 0x89, 0xf5, 0x1b, 0xa4, 0x62, 0xdd, 0x4b, 0x25, 0x33, 0x2a, 0x42, 0x5d, 0x88, 0xb7, + 0x41, 0xb1, 0x4b, 0x40, 0xff, 0xbd, 0xee, 0xee, 0xcb, 0x1b, 0x3f, 0xb7, 0x9e, 0x4e, 0x10, 0xd6, + 0xdc, 0x9b, 0x9d, 0xc3, 0x70, 0x66, 0x3d, 0x40, 0xa3, 0x68, 0x2e, 0x77, 0x74, 0xf1, 0xc5, 0xd4, + 0x41, 0xd3, 0x8d, 0xaf, 0xad, 0xc9, 0x49, 0x47, 0xfc, 0xba, 0xfa, 0x0b, 0x0d, 0x52, 0xc7, 0xde, + 0x4d, 0xd2, 0xe5, 0x1f, 0xc8, 0x06, 0xe3, 0xbc, 0x7f, 0x20, 0x9b, 0xd5, 0xf7, 0xb2, 0x8e, 0x3a, + 0xf8, 0xe8, 0xd1, 0x85, 0x8a, 0x19, 0xed, 0x24, 0xdd, 0x13, 0xf1, 0xe5, 0xd2, 0x1b, 0x40, 0xf4, + 0x85, 0xed, 0x86, 0x21, 0x9c, 0xb6, 0xfe, 0x3c, 0x9e, 0xfb, 0x94, 0x44, 0xc4, 0x43, 0x19, 0x2d, + 0x77, 0xfe, 0xa8, 0x49, 0xbe, 0x40, 0x55, 0xad, 0xe5, 0x9f, 0x04, 0x67, 0xff, 0x45, 0xcd, 0x35, + 0xe5, 0xc6, 0x28, 0x61, 0xed, 0x40, 0x79, 0x02, 0x84, 0x0d, 0x34, 0x70, 0xb1, 0x92, 0x9c, 0x68, + 0x90, 0x26, 0x78, 0x0c, 0x19, 0x97, 0xbd, 0x0b, 0x91, 0x24, 0x6f, 0x17, 0x61, 0xe5, 0x63, 0x60, + 0x61, 0x09, 0x7b, 0xec, 0x98, 0xbb, 0xad, 0x7b, 0xbc, 0xaa, 0x92, 0xa7, 0x88, 0xd3, 0x2d, 0x23, + 0x5d, 0x79, 0x31, 0x40, 0x50, 0x95, 0x33, 0xb9, 0x5c, 0x48, 0x0a, 0x77, 0x37, 0x63, 0x3a, 0x09, + 0xed, 0x98, 0x5e, 0x89, 0x16, 0xac, 0xe1, 0x5f, 0x1e, 0x68, 0x7e, 0x7d, 0xce, 0xbf, 0x6a, 0xd7, + 0x41, 0xb5, 0x11, 0x7b, 0xfe, 0x6f, 0xec, 0xf1, 0xdc, 0x8b, 0x4c, 0x0c, 0xd1, 0xf0, 0xea, 0x9f, + 0x55, 0xb1, 0xfc, 0x3a, 0xfa, 0x6b, 0x58, 0x16, 0x26, 0xdb, 0x9e, 0xf1, 0x94, 0xce, 0xa9, 0x2f, + 0xed, 0x8f, 0x45, 0x5f, 0xad, 0x5a, 0x2b, 0x86, 0xe0, 0x8f, 0xdc, 0x96, 0xf9, 0xdc, 0xb8, 0x4c, + 0x1b, 0xdb, 0xd9, 0xa3, 0xe4, 0xf0, 0x94, 0x5f, 0x35, 0x0e, 0x89, 0xd5, 0x23, 0xc5, 0xb4, 0x2f, + 0x8b, 0xfd, 0xba, 0x61, 0xf1, 0x49, 0x38, 0xc1, 0x0d, 0x48, 0x6f, 0x93, 0x5b, 0xf3, 0x5e, 0xdf, + 0x21, 0x94, 0xd4, 0x51, 0x74, 0xc7, 0x0b, 0x55, 0x7b, 0xa1, 0xc9, 0xe3, 0x3d, 0x0c, 0x60, 0x1d, + 0xa6, 0x7f, 0x3c, 0xe7, 0x41, 0xfb, 0xe9, 0x40, 0x14, 0x2c, 0x9c, 0xf4, 0x22, 0x2a, 0xe6, 0x57, + 0x69, 0xef, 0x3c, 0x59, 0x4b, 0x8e, 0x61, 0x52, 0x61, 0x43, 0x22, 0xe5, 0x45, 0x42, 0xbe, 0xaf, + 0x97, 0xc9, 0x6d, 0x1b, 0x41, 0x06, 0x4e, 0x30, 0x20, 0x0c, 0x9a, 0x6e, 0xf2, 0x46, 0x4b, 0xe8, + 0x7f, 0xfc, 0xa1, 0x13, 0xe8, 0x67, 0x56, 0x19, 0x8d, 0x04, 0x15, 0xdf, 0xfb, 0xfc, 0x6a, 0xd0, + 0xe5, 0x23, 0xc3, 0xc6, 0x4e, 0x02, 0x31, 0x70, 0x93, 0x16, 0x48, 0x23, 0x82, 0xba, 0x73, 0xc3, + 0x6f, 0x18, 0x66, 0x14, 0xa1, 0x68, 0x9a, 0x54, 0xeb, 0xbd, 0x87, 0x34, 0xa7, 0x36, 0xf7, 0x34, + 0x47, 0xac, 0x6a, 0x29, 0x41, 0x06, 0x6b, 0x28, 0x20, 0x46, 0xd3, 0x22, 0xdc, 0x6a, 0x91, 0xaa, + 0xa3, 0x09, 0xd0, 0x13, 0xdc, 0x49, 0x0a, 0x57, 0xa9, 0x19, 0xa3, 0x57, 0x1b, 0x8f, 0xf8, 0x24, + 0xe0, 0x43, 0xbf, 0x53, 0x94, 0xf3, 0x80, 0xec, 0x23, 0xd2, 0xcc, 0xbc, 0x7f, 0xfb, 0x80, 0x44, + 0x19, 0x40, 0xac, 0xcd, 0x31, 0x61, 0xae, 0xab, 0x7e, 0xe2, 0xbb, 0xa1, 0x27, 0xba, 0xf0, 0x5b, + 0x29, 0xe8, 0x58, 0xe3, 0x14, 0xd3, 0x17, 0x73, 0xb1, 0x11, 0xf4, 0x13, 0xc4, 0xf5, 0xe9, 0xd9, + 0xea, 0xb9, 0x7b, 0x08, 0xf7, 0x9b, 0xfc, 0xe9, 0xa3, 0x8d, 0xce, 0xd8, 0xd4, 0x54, 0x97, 0xa1, + 0x74, 0x7d, 0x3d, 0xe6, 0x69, 0xa1, 0x3c, 0xcd, 0x8c, 0xcc, 0x41, 0x98, 0x09, 0xf7, 0xf2, 0xc0, + 0x60, 0x09, 0x21, 0x44, 0x8e, 0x1a, 0xab, 0x0b, 0x12, 0x30, 0xee, 0xf5, 0xbc, 0x9e, 0x66, 0xf2, + 0x38, 0x11, 0xa8, 0x83, 0x2e, 0x82, 0xc9, 0x31, 0xb2, 0x45, 0x9b, 0xcf, 0x37, 0x60, 0x90, 0xaf, + 0x2c, 0x4a, 0x44, 0xe2, 0x16, 0xb1, 0xea, 0xf0, 0x5c, 0x1b, 0x67, 0x5b, 0xa2, 0x78, 0x9a, 0xdb, + 0xb0, 0x5a, 0x4b, 0x5a, 0xda, 0xe7, 0xeb, 0x82, 0x2e, 0xc7, 0x0d, 0x07, 0xec, 0xef, 0x19, 0x61, + 0x57, 0x9b, 0xf1, 0x50, 0xf9, 0x6f, 0xec, 0x9c, 0xe2, 0xcc, 0x00, 0x99, 0x67, 0xf2, 0x73, 0xb7, + 0xeb, 0x78, 0x57, 0x26, 0xef, 0xa0, 0xbb, 0x4d, 0xc7, 0xec, 0x1c, 0x3a, 0xd7, 0x09, 0xb4, 0x79, + 0x04, 0x1d, 0x97, 0xee, 0x2e, 0x0f, 0x94, 0x4f, 0xec, 0x86, 0x0b, 0xb2, 0x4f, 0x78, 0xa9, 0x2e, + 0x51, 0xb4, 0x9a, 0x74, 0x2f, 0x00, 0x72, 0x8b, 0xd3, 0x25, 0x27, 0xa4, 0xf5, 0xca, 0x68, 0xcc, + 0x1c, 0x1e, 0x28, 0x4e, 0x79, 0x38, 0xd1, 0xe9, 0xa4, 0xbd, 0x7a, 0xcd, 0x40, 0x60, 0x1b, 0xa4, + 0xb8, 0x3c, 0x9b, 0xb5, 0x2d, 0x48, 0xc5, 0xbe, 0x1e, 0x73, 0xbf, 0xf4, 0x3c, 0x6e, 0xb3, 0x3d, + 0x06, 0x31, 0xe1, 0x26, 0xc9, 0x5e, 0x24, 0x51, 0xe2, 0xe3, 0xaf, 0x24, 0x04, 0x25, 0xaf, 0x1e, + 0xc5, 0x74, 0x77, 0x8b, 0xb2, 0x07, 0x16, 0x10, 0xe2, 0xf8, 0x64, 0xd5, 0x9b, 0x15, 0x32, 0x16, + 0x3c, 0xb7, 0xe3, 0x81, 0xf6, 0xd4, 0xf3, 0x0f, 0x7b, 0xee, 0xad, 0x21, 0x96, 0x79, 0x0e, 0xa4, + 0x8a, 0xa9, 0x5b, 0x3f, 0xda, 0x6f, 0x80, 0xd7, 0x39, 0x44, 0x75, 0x5a, 0xf4, 0xac, 0x26, 0xed, + 0xeb, 0xd0, 0x4e, 0x7a, 0x92, 0x85, 0xad, 0x85, 0x12, 0xc9, 0xb6, 0x3b, 0x63, 0xe8, 0x9d, 0x0d, + 0xc4, 0x80, 0x20, 0x8d, 0x4c, 0xe3, 0x1a, 0x87, 0x09, 0x35, 0xb2, 0x49, 0x48, 0xc2, 0xf2, 0x54, + 0xde, 0xe9, 0xaa, 0xd1, 0x31, 0xbb, 0xff, 0xe5, 0x72, 0x11, 0x81, 0xe8, 0xec, 0xf5, 0xf4, 0xe9, + 0xfa, 0x9e, 0x9a, 0x9e, 0xa9, 0x75, 0x4b, 0x65, 0xf6, 0x0d, 0x4f, 0x39, 0x35, 0xb6, 0x4d, 0x63, + 0x65, 0xcb, 0xaa, 0x5a, 0x4a, 0xc7, 0x80, 0x55, 0xe7, 0x31, 0x6c, 0x51, 0x21, 0xf9, 0x94, 0x88, + 0x55, 0xda, 0x8f, 0x93, 0x37, 0x85, 0xa7, 0x63, 0xcf, 0xdb, 0xde, 0x08, 0x0a, 0x8e, 0x0b, 0xd2, + 0xcf, 0xeb, 0x6f, 0xa7, 0x3b, 0xc5, 0x19, 0xec, 0xfe, 0xdc, 0x44, 0x57, 0xe0, 0xdf, 0xae, 0x2c, + 0xce, 0x43, 0x0e, 0xd0, 0xea, 0xbc, 0xac, 0x8a, 0x64, 0xa3, 0xc6, 0x63, 0xdc, 0x82, 0x64, 0x5a, + 0x94, 0x79, 0x7f, 0x69, 0x90, 0x39, 0x42, 0x81, 0xd9, 0x34, 0xb8, 0x90, 0xbb, 0x76, 0xb0, 0x92, + 0xde, 0x00, 0x14, 0x11, 0x54, 0xe7, 0xc6, 0xde, 0x24, 0x29, 0xf3, 0x48, 0x8d, 0xc7, 0x3d, 0x56, + 0x32, 0x1d, 0x5b, 0xdb, 0x2a, 0xff, 0x0e, 0x60, 0x63, 0x92, 0xac, 0xbe, 0x87, 0xef, 0xc7, 0x0f, + 0xa1, 0xc3, 0xe8, 0x54, 0xd3, 0x47, 0xcc, 0x11, 0xe5, 0xd6, 0xaf, 0xe1, 0x47, 0x70, 0x9d, 0xfe, + 0x17, 0x08, 0x11, 0x4a, 0x11, 0xdf, 0xaa, 0xe1, 0x15, 0x29, 0xf4, 0x1d, 0x64, 0xff, 0x05, 0x38, + 0x78, 0x8a, 0xe7, 0x28, 0x50, 0x04, 0x49, 0x5f, 0x5e, 0xc1, 0xfe, 0x98, 0xae, 0xd3, 0x62, 0x52, + 0xa7, 0x83, 0xc7, 0x09, 0x72, 0x76, 0x2d, 0x77, 0xc4, 0x16, 0x7a, 0x6c, 0x06, 0x42, 0x6d, 0xe1, + 0x28, 0x5d, 0xc7, 0xf0, 0xdf, 0x11, 0xce, 0x84, 0x4d, 0x51, 0xb7, 0x13, 0x5e, 0xa4, 0xbd, 0xd7, + 0x0e, 0xe1, 0x71, 0xf5, 0x5a, 0x1e, 0x1e, 0xf1, 0x4f, 0x69, 0x7f, 0xbf, 0xca, 0xfc, 0x9b, 0xb4, + 0xf4, 0x4a, 0xb2, 0x65, 0xa7, 0xe9, 0x1f, 0x72, 0x23, 0x9f, 0x6a, 0xb2, 0x39, 0xf6, 0x20, 0xf3, + 0x50, 0xd2, 0x5a, 0x34, 0x5d, 0x15, 0xc0, 0xfc, 0x8e, 0x00, 0x6e, 0xd8, 0x8c, 0x0d, 0xab, 0x8d, + 0x78, 0x56, 0xe8, 0x94, 0x06, 0xfd, 0x68, 0x09, 0x6c, 0x79, 0x81, 0x20, 0x25, 0xdb, 0xba, 0x99, + 0xc4, 0x7c, 0xe2, 0xe7, 0xd6, 0x67, 0xb4, 0x77, 0xb6, 0x40, 0xbb, 0xfa, 0x18, 0x6b, 0x29, 0x04, + 0x5d, 0x20, 0x85, 0xea, 0xc7, 0xab, 0x1c, 0xe4, 0x5e, 0x90, 0xfa, 0x50, 0x3c, 0xf7, 0xba, 0x8d, + 0x40, 0x39, 0x30, 0x6e, 0xf7, 0xb2, 0x35, 0x98, 0x91, 0x61, 0x71, 0xf1, 0xef, 0x95, 0x6e, 0xec, + 0x24, 0xb0, 0x6f, 0x77, 0x84, 0xf9, 0x1d, 0x6a, 0x1a, 0xfc, 0xf0, 0xbb, 0x2d, 0xaf, 0x26, 0x36, + 0x6e, 0xb7, 0xf4, 0xcc, 0x54, 0xbc, 0xb9, 0xeb, 0x9a, 0xa9, 0x39, 0xf8, 0x18, 0x6b, 0x86, 0x46, + 0xaa, 0x7d, 0x44, 0x3d, 0x61, 0xc5, 0xb1, 0x0a, 0xff, 0x02, 0xcf, 0x3f, 0x18, 0x81, 0x29, 0x53, + 0x36, 0xb3, 0xb9, 0x16, 0xd5, 0x94, 0xe0, 0x30, 0x71, 0x0d, 0x16, 0x39, 0xd0, 0xec, 0xb4, 0x7c, + 0x12, 0x1d, 0x90, 0xba, 0x3f, 0x17, 0xa5, 0x64, 0x99, 0x6b, 0xc7, 0x5f, 0x00, 0xee, 0x52, 0x34, + 0xaa, 0x91, 0xcf, 0x76, 0x1d, 0xf7, 0x87, 0xa1, 0xf1, 0x32, 0x11, 0x97, 0x9c, 0x13, 0x8b, 0x0b, + 0xaa, 0xa6, 0x8c, 0x1a, 0xd1, 0x82, 0xdb, 0x8a, 0x0c, 0x76, 0x39, 0x41, 0x69, 0xef, 0x7d, 0xe2, + 0x38, 0x0c, 0x59, 0xa7, 0x99, 0x08, 0x65, 0x46, 0x62, 0x07, 0x9c, 0xea, 0x4d, 0xc0, 0x80, 0x27, + 0x4b, 0x64, 0x2a, 0x81, 0x44, 0x55, 0x02, 0x17, 0x1d, 0xe1, 0x47, 0x0d, 0x94, 0xea, 0x84, 0x8a, + 0x90, 0x43, 0xca, 0x6d, 0x6b, 0xd1, 0xb5, 0xc3, 0x0c, 0x31, 0xbe, 0x92, 0xc2, 0x3a, 0x98, 0xa8, + 0x63, 0x71, 0xab, 0xb4, 0x61, 0xde, 0xcf, 0x6d, 0xbf, 0xf4, 0x4f, 0xf0, 0x7e, 0xdb, 0x47, 0xaf, + 0x8f, 0x64, 0x2d, 0x80, 0x3a, 0xe1, 0x3a, 0x4b, 0x06, 0x19, 0xd9, 0x76, 0x1f, 0xff, 0xfe, 0x2a, + 0xcf, 0xdb, 0xe6, 0xbf, 0x41, 0xa6, 0x50, 0xd8, 0xfd, 0x8f, 0x06, 0x61, 0x53, 0xe7, 0x89, 0x85, + 0x77, 0xde, 0x2b, 0xea, 0xab, 0x56, 0x1f, 0x35, 0x09, 0xa1, 0x29, 0x3a, 0x80, 0x5e, 0x42, 0x37, + 0xc5, 0x3d, 0x97, 0x7f, 0xb7, 0x63, 0x93, 0x4a, 0x3b, 0xe1, 0xd8, 0x2a, 0xe4, 0x3e, 0xd7, 0xdc, + 0xc3, 0xb3, 0xac, 0xc1, 0x86, 0x20, 0x94, 0x69, 0x49, 0x30, 0xfe, 0x46, 0x81, 0xca, 0xf6, 0x2e, + 0x8c, 0xa4, 0xab, 0x93, 0xeb, 0xee, 0x09, 0x05, 0x58, 0x91, 0xfb, 0x26, 0x08, 0x6b, 0xd1, 0x9b, + 0xa2, 0x98, 0x4c, 0xfc, 0x74, 0x56, 0xcc, 0x70, 0xaf, 0x5b, 0xf1, 0x42, 0x5f, 0x0e, 0x70, 0x50, + 0x99, 0x18, 0xda, 0x7b, 0x2f, 0x09, 0x36, 0xd2, 0x58, 0x30, 0xd2, 0xbf, 0x7f, 0x5d, 0xd8, 0x43, + 0x4d, 0x6e, 0x09, 0xdc, 0xfa, 0xc7, 0x58, 0x3c, 0x7d, 0x32, 0x06, 0x31, 0xd1, 0x05, 0x95, 0xed, + 0x41, 0x15, 0xb1, 0x97, 0xdb, 0x9e, 0x4c, 0x9a, 0x26, 0xbe, 0x03, 0xd9, 0x95, 0x14, 0xfa, 0xd3, + 0x5e, 0x40, 0x4e, 0x33, 0x27, 0xa8, 0xbc, 0xb4, 0x63, 0x65, 0x46, 0x1b, 0x0a, 0xe2, 0xf7, 0x4e, + 0x80, 0x7f, 0xfa, 0x40, 0x1c, 0x1c, 0x45, 0xb1, 0xab, 0xd1, 0x71, 0x8b, 0xbc, 0x9a, 0x57, 0x36, + 0x37, 0x51, 0xe0, 0x22, 0xae, 0xfa, 0x69, 0xcd, 0x8f, 0xd6, 0x94, 0x21, 0xac, 0xed, 0x4c, 0xd0, + 0x60, 0x75, 0xd1, 0x73, 0x21, 0x48, 0xfd, 0x18, 0x76, 0xa1, 0xfd, 0xd5, 0xeb, 0xcf, 0xe5, 0x2b, + 0x38, 0xb7, 0x98, 0xcd, 0xe2, 0xe2, 0x35, 0xbf, 0xb5, 0x02, 0x13, 0xce, 0xa4, 0x35, 0xde, 0x94, + 0xa9, 0x2e, 0xe8, 0x4f, 0x34, 0xc0, 0xa3, 0x32, 0xc7, 0xc3, 0x0c, 0xfc, 0xe3, 0xaa, 0x93, 0x9f, + 0x03, 0x1d, 0x28, 0x11, 0x6d, 0xf0, 0x05, 0x29, 0x45, 0x01, 0xb2, 0x9c, 0x2d, 0x71, 0x52, 0x24, + 0xcd, 0x5d, 0x1a, 0xc4, 0x70, 0x12, 0xc5, 0xdf, 0x9e, 0x49, 0x71, 0xcb, 0x23, 0xbe, 0xfd, 0x69, + 0x61, 0xb1, 0x48, 0x3f, 0xbc, 0x52, 0xf2, 0x6a, 0xa3, 0x48, 0xb0, 0xba, 0x76, 0x54, 0xdf, 0xab, + 0xfd, 0x82, 0x1e, 0x79, 0x8d, 0x8b, 0x8b, 0x47, 0x11, 0x67, 0xff, 0x07, 0x80, 0x00, 0x1c, 0xed, + 0xa0, 0x8d, 0x00, 0x3f, 0xfd, 0x74, 0xd6, 0xc0, 0x62, 0x59, 0xd1, 0xb7, 0xb9, 0x9b, 0xa7, 0xee, + 0x81, 0x51, 0x8b, 0x0c, 0x21, 0x14, 0x8e, 0x96, 0x18, 0x1c, 0x89, 0x0b, 0xf4, 0xe2, 0x90, 0x8f, + 0x90, 0x73, 0xb8, 0x7c, 0x82, 0xe0, 0xd7, 0x7b, 0xfd, 0x3c, 0xff, 0xac, 0x9a, 0x6d, 0x7c, 0xd5, + 0xf4, 0xcf, 0xaf, 0x88, 0x36, 0x99, 0x11, 0x92, 0x40, 0x4b, 0x1d, 0xbb, 0x06, 0x34, 0xac, 0xd4, + 0xa7, 0xa3, 0xf4, 0xe3, 0x20, 0x93, 0xb8, 0x0e, 0xc6, 0xbc, 0xbb, 0xe3, 0xcd, 0x11, 0x21, 0x3e, + 0x67, 0xe4, 0x04, 0x08, 0x25, 0x83, 0xfb, 0x4a, 0x2f, 0x8c, 0xdc, 0xf1, 0xe1, 0xfc, 0x50, 0xee, + 0x80, 0xa2, 0xab, 0xd9, 0xf8, 0xd8, 0xab, 0x2a, 0x09, 0xf7, 0x3f, 0x6d, 0x61, 0x87, 0xa5, 0xce, + 0x28, 0x97, 0xe8, 0x98, 0x70, 0x20, 0x1c, 0x3f, 0x6d, 0x13, 0x11, 0x2f, 0x62, 0x76, 0x4c, 0x9a, + 0x3b, 0x63, 0xf8, 0xbf, 0xf2, 0x9e, 0xf6, 0x52, 0x0e, 0xc0, 0xb0, 0xb9, 0xf6, 0x90, 0xd9, 0x9a, + 0x2f, 0x6b, 0x4b, 0x62, 0x4d, 0x67, 0xcb, 0xd9, 0x7a, 0x89, 0x24, 0x43, 0x45, 0x3d, 0x57, 0x5a, + 0x33, 0xeb, 0xa2, 0x70, 0x70, 0x5a, 0x37, 0xd6, 0x3e, 0xc3, 0x82, 0x36, 0x06, 0x0b, 0x1f, 0x39, + 0x3d, 0xaa, 0x44, 0x80, 0xf2, 0xf5, 0x5d, 0x67, 0xd5, 0x28, 0xa6, 0x14, 0x63, 0xda, 0xf3, 0xb5, + 0x80, 0x8a, 0x67, 0x53, 0x18, 0x14, 0x57, 0xd1, 0x09, 0xb4, 0x62, 0x50, 0xca, 0x10, 0x12, 0xd1, + 0x5d, 0xca, 0x07, 0xd0, 0x03, 0xdd, 0xbb, 0x3a, 0x88, 0xe1, 0x30, 0x6f, 0xde, 0x84, 0x10, 0x37, + 0xf7, 0x3d, 0x39, 0x7f, 0x34, 0x07, 0x4e, 0xe5, 0xa3, 0xb8, 0xd0, 0x99, 0xe4, 0xbd, 0x95, 0x03, + 0x82, 0x36, 0x25, 0x18, 0xe4, 0x38, 0x7b, 0x70, 0xa6, 0x45, 0xc3, 0x93, 0x27, 0xa2, 0x4d, 0xc6, + 0xa1, 0x2e, 0xdd, 0xb8, 0xc9, 0xd4, 0x4d, 0xd2, 0x43, 0xc7, 0x03, 0xe2, 0xf1, 0x77, 0xd5, 0xaf, + 0xfa, 0xae, 0x94, 0xaf, 0x28, 0x47, 0x4c, 0xc5, 0xa9, 0x35, 0xdf, 0xeb, 0xa7, 0xeb, 0x42, 0xc6, + 0x7a, 0x30, 0x24, 0x1f, 0x70, 0x27, 0xe3, 0xba, 0x03, 0xc3, 0xe4, 0x29, 0x1d, 0xa6, 0x9b, 0x1c, + 0x68, 0x23, 0xeb, 0x65, 0x5f, 0x15, 0xb3, 0xe5, 0x02, 0x43, 0x37, 0x25, 0x0a, 0xe9, 0x3a, 0xfc, + 0xdd, 0x5a, 0x8e, 0x0b, 0xc0, 0x1a, 0x45, 0xba, 0xce, 0x9d, 0x39, 0x0d, 0x0d, 0x80, 0x3c, 0x37, + 0x63, 0x07, 0x4e, 0x78, 0x6a, 0xc3, 0x90, 0x4c, 0x2d, 0x79, 0xa3, 0x01, 0x73, 0xf0, 0x0a, 0xd5, + 0x38, 0x78, 0x79, 0x50, 0x07, 0xbd, 0xcb, 0xc4, 0x4e, 0xef, 0x54, 0xdd, 0xe5, 0xe5, 0x7f, 0x7c, + 0x91, 0x9a, 0xad, 0x87, 0x31, 0xdf, 0xd7, 0x35, 0x81, 0x0f, 0xb4, 0x9f, 0x0f, 0xad, 0x23, 0xc7, + 0x37, 0x93, 0x89, 0xcd, 0x8e, 0x5e, 0xa9, 0x58, 0xe7, 0xc6, 0xa7, 0x30, 0xc0, 0x9d, 0x34, 0x12, + 0x7b, 0x06, 0x3a, 0xba, 0x49, 0x95, 0x0f, 0x9a, 0x2a, 0x8d, 0xa3, 0xde, 0x89, 0x63, 0x3d, 0x3e, + 0x4f, 0x9c, 0xa8, 0xca, 0xc6, 0xb3, 0x2a, 0x4a, 0x96, 0xe9, 0xf0, 0x25, 0x1b, 0x65, 0x4c, 0x53, + 0xce, 0xec, 0x0e, 0x4f, 0x69, 0xe1, 0xe0, 0xcd, 0x87, 0x5d, 0x06, 0xcf, 0x5d, 0x3f, 0x3d, 0xc3, + 0xad, 0xd3, 0x8d, 0xa7, 0xfa, 0x9d, 0x4b, 0x7f, 0x80, 0x21, 0x9c, 0x1d, 0x5b, 0x99, 0xd2, 0xbb, + 0x4a, 0xa4, 0xf7, 0x6b, 0x9b, 0x63, 0x79, 0x6d, 0x51, 0x14, 0x77, 0x63, 0xf0, 0x8b, 0xf2, 0xff, + 0x29, 0x0a, 0x7d, 0xc7, 0x27, 0xfc, 0x9d, 0xcf, 0xbc, 0x14, 0xef, 0x7b, 0xb6, 0xfd, 0x1f, 0xef, + 0xb4, 0x50, 0xfc, 0x6f, 0x86, 0x71, 0xe7, 0x34, 0x07, 0xd9, 0x94, 0xc5, 0x20, 0x0a, 0xe5, 0xb0, + 0xbe, 0xfc, 0x59, 0xc2, 0xf9, 0x9f, 0x4e, 0xb3, 0x6f, 0x92, 0x14, 0xa8, 0xef, 0xc3, 0x1b, 0x9e, + 0xf8, 0x24, 0x3a, 0xe7, 0x81, 0x19, 0x15, 0x06, 0xed, 0xde, 0x56, 0xe2, 0x56, 0x02, 0xb5, 0xd4, + 0xa5, 0x2c, 0xfa, 0x00, 0x69, 0x52, 0xdb, 0xa7, 0x29, 0xe6, 0xa1, 0xab, 0xbd, 0xd3, 0xee, 0x9f, + 0x18, 0xfa, 0x41, 0x77, 0x88, 0xc9, 0x21, 0xe3, 0xa2, 0x81, 0xba, 0x63, 0xa8, 0x73, 0xec, 0xa7, + 0xf8, 0x85, 0xf8, 0x07, 0x23, 0x12, 0xa7, 0x18, 0x6e, 0x17, 0xf6, 0x47, 0x8e, 0x5c, 0x9c, 0xa6, + 0x9b, 0x3d, 0x1e, 0x45, 0x7a, 0xb5, 0x89, 0x0f, 0xb5, 0xd4, 0xd9, 0xbd, 0xbb, 0x6c, 0x90, 0xa1, + 0xbd, 0xfb, 0x2a, 0xac, 0x0d, 0xc4, 0x8f, 0xa0, 0x98, 0x04, 0xdb, 0x04, 0x9a, 0x2e, 0x4b, 0xdc, + 0x7a, 0x22, 0x50, 0x3d, 0x8a, 0xd2, 0x3f, 0xe2, 0x8c, 0xc5, 0x71, 0xb6, 0x44, 0xc9, 0x6c, 0x9f, + 0x12, 0x05, 0xcc, 0xe9, 0x37, 0xd2, 0x68, 0xd8, 0x85, 0xdd, 0xde, 0xcb, 0x30, 0x1a, 0xbb, 0x66, + 0x7b, 0x34, 0x36, 0x3a, 0x0c, 0x0e, 0x61, 0xfe, 0x31, 0x0e, 0x5f, 0xc7, 0xe4, 0x13, 0x9e, 0xf7, + 0x18, 0xad, 0x96, 0x66, 0x75, 0xdf, 0xd6, 0x27, 0x35, 0xc0, 0x6d, 0x79, 0x24, 0x49, 0x0b, 0xe6, + 0x0a, 0x73, 0xcf, 0x00, 0xa2, 0x7f, 0xaa, 0x95, 0x9b, 0xf9, 0x44, 0xdf, 0xf3, 0xf6, 0xf6, 0xac, + 0xb3, 0xd0, 0x6d, 0x00, 0xf2, 0xeb, 0x5a, 0xd4, 0x5d, 0x2e, 0x86, 0xb5, 0xb7, 0x04, 0x9f, 0x01, + 0x86, 0xcc, 0xcf, 0x80, 0xce, 0x42, 0x94, 0xa7, 0xcd, 0x46, 0xe6, 0xc3, 0x93, 0x99, 0x67, 0x46, + 0x23, 0x72, 0x42, 0x0d, 0x7c, 0xe3, 0x75, 0xba, 0xe4, 0x3d, 0xaf, 0xb8, 0x9d, 0x6f, 0x3f, 0x69, + 0xbc, 0xe3, 0x83, 0xbc, 0x38, 0x8d, 0x43, 0x5d, 0x0c, 0x13, 0x8d, 0xf3, 0x1b, 0x1d, 0x6d, 0xcb, + 0xe4, 0x6f, 0xe0, 0x27, 0x0a, 0x32, 0x89, 0x53, 0xc9, 0xfb, 0xea, 0xa7, 0xcc, 0x54, 0x68, 0x0d, + 0xc8, 0x61, 0xeb, 0x4a, 0xd0, 0xa1, 0x66, 0x5d, 0xae, 0xba, 0xd3, 0x70, 0xe2, 0x0a, 0x7f, 0xd1, + 0xa7, 0x1f, 0xa8, 0xee, 0x8a, 0xf5, 0x57, 0x8f, 0x14, 0x1b, 0x69, 0x42, 0xae, 0x56, 0x53, 0x10, + 0x0e, 0x4f, 0xfa, 0x92, 0xe9, 0x08, 0xca, 0x92, 0x89, 0xc3, 0x8c, 0x7b, 0x97, 0xff, 0xe4, 0xe9, + 0x05, 0x32, 0x2a, 0xcd, 0x3b, 0x21, 0x4d, 0x46, 0xc7, 0x44, 0x29, 0xc6, 0xcb, 0xd3, 0xe4, 0x51, + 0x06, 0xe7, 0x30, 0xd8, 0xed, 0x1b, 0xbc, 0x38, 0x37, 0xcd, 0xc7, 0xf0, 0x55, 0xd2, 0x1b, 0x41, + 0x36, 0x2d, 0x48, 0xc8, 0x14, 0xad, 0x26, 0xf9, 0x26, 0x5d, 0x33, 0x8a, 0xab, 0x5f, 0x95, 0xc4, + 0x78, 0x3f, 0xae, 0x3e, 0x32, 0x84, 0x93, 0x72, 0x88, 0xf2, 0x6a, 0xeb, 0xa1, 0x07, 0x07, 0x18, + 0xd8, 0x2d, 0x29, 0xd7, 0xdb, 0xa3, 0x39, 0x1c, 0x21, 0xad, 0x2c, 0x2e, 0x2d, 0xb5, 0x03, 0x44, + 0xa6, 0xab, 0xc5, 0xf3, 0xab, 0x4d, 0xb6, 0x9b, 0xcf, 0x6c, 0x8d, 0x58, 0x6a, 0xa3, 0x28, 0xd0, + 0x1d, 0x86, 0x65, 0x45, 0x78, 0x92, 0x83, 0x9e, 0x9d, 0xf3, 0x92, 0xaa, 0xc7, 0x7f, 0xef, 0x24, + 0xa0, 0x35, 0x25, 0xfc, 0x40, 0x3c, 0xc4, 0xfc, 0x06, 0xe1, 0x1c, 0xc4, 0xe9, 0x20, 0x4b, 0x33, + 0x65, 0xe7, 0xd0, 0x8a, 0x68, 0xb5, 0x24, 0x96, 0xee, 0x5b, 0x89, 0x43, 0x20, 0x3e, 0x40, 0x27, + 0x57, 0x94, 0xc0, 0x4a, 0x5f, 0xea, 0x5a, 0x6c, 0x42, 0x8d, 0x27, 0xb7, 0xa6, 0x91, 0x2e, 0xe2, + 0x63, 0x2a, 0x4e, 0x78, 0xc6, 0x22, 0x9e, 0x12, 0x90, 0x9c, 0xb4, 0xe8, 0x47, 0x3a, 0xf3, 0x2e, + 0x28, 0xf2, 0x99, 0x1c, 0xf1, 0xf2, 0x47, 0x55, 0x2b, 0x99, 0x94, 0x53, 0x60, 0x35, 0xd8, 0xe1, + 0xf6, 0xbb, 0xb4, 0x5d, 0x90, 0x3c, 0x90, 0x55, 0xe5, 0xd2, 0x43, 0x62, 0x7a, 0x89, 0x57, 0x56, + 0x24, 0x9a, 0xe8, 0x67, 0x39, 0x56, 0xfb, 0x69, 0xe5, 0x6a, 0xc2, 0x63, 0x03, 0x74, 0xd6, 0x19, + 0x41, 0xb5, 0x4c, 0xd7, 0xb7, 0xa7, 0x32, 0x35, 0x25, 0xf4, 0x08, 0xb2, 0x6c, 0xc7, 0x62, 0xaa, + 0xf3, 0x4e, 0x8e, 0x28, 0x96, 0x6e, 0x59, 0x9d, 0x73, 0x6f, 0x4d, 0x7f, 0x24, 0x94, 0x5e, 0xc4, + 0xc1, 0xa8, 0x36, 0x0b, 0xdd, 0x22, 0xa3, 0xca, 0xe7, 0x85, 0x5b, 0x10, 0x92, 0xa4, 0xbc, 0x1b, + 0xf1, 0x0a, 0x96, 0xc2, 0x8e, 0x4b, 0x5a, 0x8e, 0xb2, 0xa6, 0x6e, 0xbe, 0x48, 0x52, 0x0f, 0x05, + 0x89, 0xd3, 0xc3, 0x14, 0x63, 0xf4, 0xa5, 0x6b, 0x10, 0x04, 0x39, 0x85, 0x06, 0xd9, 0x55, 0x57, + 0xa2, 0x90, 0x38, 0xfc, 0x2b, 0x6f, 0x7d, 0x0b, 0xc8, 0x1d, 0x36, 0x22, 0xbd, 0xd5, 0xa9, 0xfe, + 0x21, 0xca, 0x5a, 0x97, 0x40, 0x80, 0x95, 0xe2, 0x8d, 0xb6, 0xa0, 0xf1, 0x9a, 0x94, 0xb8, 0x1f, + 0x68, 0x50, 0x9f, 0xe1, 0x69, 0x47, 0xcc, 0xa9, 0x66, 0x96, 0xf9, 0xfd, 0xba, 0x20, 0x3a, 0x00, + 0x92, 0x76, 0x47, 0xbc, 0xc4, 0x85, 0xf5, 0x14, 0x58, 0x28, 0xc1, 0x77, 0x97, 0xf6, 0x8a, 0x6a, + 0xe3, 0xf6, 0x3c, 0x78, 0xe0, 0xa5, 0x0d, 0x1b, 0x92, 0x74, 0xff, 0x8b, 0xd6, 0x51, 0x8e, 0x5a, + 0xbb, 0x0d, 0xe6, 0x53, 0x81, 0xb9, 0xdc, 0x95, 0xd4, 0xc2, 0x9f, 0xd9, 0x4e, 0x9d, 0xea, 0xab, + 0x44, 0xe1, 0xff, 0x06, 0x1e, 0xef, 0x15, 0xd3, 0x51, 0x20, 0x51, 0xc4, 0x89, 0x54, 0xd6, 0xc1, + 0xce, 0x37, 0xd6, 0x6c, 0x38, 0xb3, 0xfc, 0x65, 0x50, 0x46, 0x7c, 0x9b, 0xd4, 0x5d, 0xab, 0x25, + 0xc0, 0xbb, 0xb5, 0xdf, 0xaf, 0x0a, 0xe0, 0xc0, 0xee, 0x56, 0xd6, 0xee, 0x7a, 0xad, 0xf1, 0xf2, + 0x00, 0xe6, 0x95, 0xc9, 0xfb, 0x5e, 0x19, 0x57, 0x8f, 0x30, 0x6b, 0xf9, 0x20, 0xa1, 0xfe, 0x83, + 0x70, 0x27, 0x91, 0x81, 0x23, 0xb6, 0xf7, 0xea, 0x54, 0x9b, 0xc3, 0xd0, 0x45, 0x6f, 0xc3, 0x47, + 0xdd, 0xa4, 0xf9, 0xbe, 0x00, 0x33, 0x7d, 0x18, 0xee, 0xfb, 0x19, 0xa2, 0x35, 0xc2, 0x73, 0x3b, + 0x66, 0xf1, 0x52, 0x8e, 0x51, 0x89, 0x25, 0xb3, 0x1f, 0x43, 0x72, 0x49, 0x45, 0x56, 0x57, 0x2e, + 0x5c, 0x9d, 0x3a, 0x0a, 0x4a, 0xae, 0xf7, 0xba, 0x06, 0x67, 0x29, 0xd1, 0xa7, 0xde, 0x29, 0xc3, + 0xe5, 0xba, 0xc9, 0x89, 0xe3, 0xc1, 0xf6, 0x41, 0x0e, 0x8d, 0x96, 0x2c, 0xf5, 0xe6, 0x7e, 0xcd, + 0x25, 0x8f, 0x1c, 0x63, 0x38, 0x23, 0xf0, 0x68, 0xe0, 0x7f, 0x2f, 0x41, 0xde, 0x33, 0x9f, 0xb1, + 0x04, 0x49, 0xb0, 0x48, 0x45, 0xec, 0x60, 0xfc, 0xe5, 0xb2, 0x58, 0x0a, 0x51, 0xce, 0x60, 0x0d, + 0xcd, 0x61, 0x50, 0x00, 0x1a, 0x72, 0xe3, 0xb5, 0x43, 0x29, 0x09, 0x65, 0xfb, 0x6f, 0xb0, 0x1e, + 0x21, 0x0b, 0x2b, 0x05, 0xd4, 0x70, 0x7f, 0x77, 0x4b, 0x14, 0x86, 0x0a, 0x3d, 0x05, 0xe8, 0x1b, + 0xaa, 0x64, 0x52, 0x1c, 0xeb, 0x65, 0xb6, 0x8f, 0x12, 0x08, 0x0a, 0x06, 0xd7, 0x09, 0x68, 0xbf, + 0x33, 0x86, 0xc3, 0xda, 0xb9, 0xf4, 0x1d, 0x24, 0xba, 0x5a, 0x45, 0x54, 0x29, 0xc6, 0x6a, 0x5c, + 0x76, 0x29, 0x51, 0x0b, 0x6f, 0x2f, 0x11, 0xfc, 0x92, 0x78, 0x7a, 0xc4, 0x7b, 0x38, 0x11, 0xbd, + 0x54, 0x74, 0xac, 0xdb, 0x38, 0xeb, 0xa8, 0xc1, 0xf0, 0xf2, 0x13, 0x11, 0xff, 0x05, 0x13, 0xec, + 0x74, 0x3f, 0xeb, 0x72, 0x1e, 0x05, 0xe8, 0x40, 0x15, 0x3c, 0x6e, 0x45, 0x71, 0x02, 0xc2, 0xf3, + 0x24, 0xaa, 0xc3, 0xed, 0xa1, 0x84, 0x1c, 0xac, 0xa2, 0xb2, 0x2d, 0xbc, 0x9d, 0x85, 0xcc, 0xb9, + 0x4d, 0x4a, 0xf4, 0x0d, 0x33, 0x67, 0x94, 0x28, 0xf5, 0x80, 0x77, 0xe8, 0x48, 0xa7, 0x8c, 0xea, + 0x22, 0xc8, 0x5a, 0x6e, 0xec, 0x00, 0x0c, 0x39, 0x1a, 0x57, 0xc1, 0x75, 0xab, 0x43, 0x2e, 0x9b, + 0xcb, 0x52, 0xee, 0xba, 0x88, 0x16, 0x4c, 0x47, 0x82, 0x02, 0xea, 0xa0, 0x14, 0xb6, 0x76, 0x9d, + 0x50, 0x7f, 0xa9, 0xf6, 0x03, 0x9b, 0xc8, 0x4b, 0x42, 0x3a, 0xab, 0x2c, 0x02, 0x6f, 0x7e, 0xd7, + 0x9c, 0xd9, 0xd2, 0x92, 0x9c, 0xde, 0x16, 0xee, 0x50, 0x95, 0xf5, 0xfe, 0x78, 0xf5, 0x8b, 0xb8, + 0x8b, 0x9b, 0x7e, 0x71, 0x4d, 0xfc, 0xbc, 0xbb, 0x4b, 0x13, 0x04, 0xb2, 0x8f, 0xc8, 0x38, 0x93, + 0xd7, 0x1e, 0x42, 0xe9, 0x40, 0x88, 0x6e, 0x2a, 0x96, 0x51, 0xbd, 0x15, 0x05, 0xed, 0xd8, 0x47, + 0x47, 0x78, 0xd7, 0x09, 0x15, 0xee, 0xd3, 0xeb, 0xdd, 0x72, 0xf0, 0x5b, 0xae, 0xc3, 0x68, 0x51, + 0xb5, 0x96, 0x34, 0x4d, 0x07, 0x7f, 0x5f, 0xb7, 0xe6, 0x8c, 0xe6, 0x47, 0x0f, 0x49, 0x4c, 0x67, + 0x95, 0xee, 0x4a, 0x90, 0x9e, 0x79, 0x07, 0xd9, 0x56, 0xa1, 0x2c, 0xc9, 0x67, 0xa9, 0x3a, 0x3c, + 0x19, 0x82, 0xa1, 0x61, 0x4d, 0x08, 0xd3, 0x0f, 0xc8, 0x8f, 0xe6, 0x7b, 0xd3, 0x09, 0xde, 0x34, + 0xb3, 0xed, 0xac, 0x31, 0x1b, 0x82, 0xea, 0xcb, 0xa1, 0x34, 0x35, 0x36, 0x56, 0xa8, 0x11, 0xd0, + 0x4f, 0xff, 0x72, 0xdc, 0x2a, 0x44, 0x23, 0x85, 0x01, 0xcf, 0xdb, 0x86, 0xa6, 0x85, 0x6e, 0xe8, + 0xb5, 0x81, 0xfc, 0x29, 0x2e, 0x52, 0x6a, 0x0e, 0xad, 0x23, 0x41, 0xcc, 0x80, 0x73, 0x82, 0x74, + 0x4c, 0x42, 0x42, 0x78, 0xcc, 0x06, 0xab, 0x58, 0x7b, 0xac, 0xea, 0xf1, 0x36, 0x6a, 0xac, 0x00, + 0xc2, 0x1e, 0x45, 0xaa, 0xfb, 0xdb, 0x1b, 0xf1, 0xad, 0x25, 0x93, 0x29, 0x03, 0x50, 0x54, 0xd9, + 0x0c, 0x24, 0x86, 0x12, 0xcb, 0xa0, 0x1d, 0x7d, 0x8f, 0xee, 0xf9, 0xd3, 0x00, 0xde, 0x49, 0xf3, + 0xef, 0xff, 0x8f, 0xfd, 0x99, 0x90, 0x63, 0xd7, 0xac, 0xbd, 0x33, 0x7a, 0xf7, 0x9c, 0xff, 0x57, + 0x12, 0x32, 0x54, 0x7c, 0x5e, 0xcf, 0xf2, 0x24, 0x53, 0x88, 0x6d, 0x58, 0x20, 0x86, 0x4d, 0x0d, + 0x5b, 0x22, 0xc4, 0xed, 0x2e, 0x8d, 0x04, 0x50, 0x71, 0x88, 0x9e, 0x63, 0xdc, 0x00, 0x37, 0xcc, + 0x78, 0x6e, 0x22, 0x7c, 0xdf, 0xb8, 0x42, 0xf2, 0xe8, 0xd4, 0x1b, 0xd3, 0x91, 0x52, 0x16, 0x21, + 0x0c, 0xa2, 0x69, 0x9e, 0x26, 0xc6, 0x8f, 0x01, 0x36, 0x45, 0x2b, 0x3e, 0xc6, 0x3e, 0xd1, 0xfe, + 0x10, 0xd7, 0x65, 0x2d, 0x32, 0xa5, 0x29, 0x11, 0x29, 0x3d, 0x0c, 0x48, 0xc1, 0xa2, 0xb2, 0x7c, + 0x1d, 0x8f, 0x64, 0x74, 0xee, 0xd2, 0x70, 0x82, 0x16, 0x3e, 0x71, 0xa2, 0xda, 0x49, 0xc2, 0x1b, + 0xc5, 0xcb, 0x05, 0x87, 0x92, 0x24, 0x2d, 0x58, 0xa7, 0x9f, 0x0a, 0x76, 0x50, 0x33, 0x75, 0x4f, + 0xbc, 0xfc, 0xfd, 0xc9, 0x12, 0x51, 0x63, 0x0f, 0x3c, 0xe0, 0x91, 0x91, 0xf4, 0x72, 0x7e, 0xc0, + 0xd7, 0xb2, 0x24, 0x09, 0xb9, 0x4a, 0xa8, 0x63, 0xcc, 0x43, 0xcf, 0x88, 0xc9, 0x0e, 0xe0, 0x6f, + 0x85, 0xad, 0x6b, 0x99, 0xdd, 0xeb, 0xba, 0xdd, 0xf6, 0x83, 0xce, 0x81, 0x93, 0xda, 0x26, 0x15, + 0x77, 0x06, 0xee, 0x29, 0x80, 0x7f, 0xa5, 0xec, 0x01, 0x8f, 0x6f, 0x5b, 0xfe, 0xb2, 0x28, 0x8c, + 0x88, 0xd9, 0x7e, 0xfa, 0x1e, 0x17, 0x97, 0x4f, 0x55, 0xd4, 0x5d, 0x2c, 0x7b, 0x77, 0x76, 0x33, + 0x7c, 0xaf, 0x26, 0x87, 0x4e, 0x9d, 0xd2, 0x74, 0xed, 0xc9, 0x45, 0xa8, 0xe9, 0x50, 0xa5, 0xc5, + 0xbe, 0xef, 0x0e, 0xb8, 0x2d, 0x6f, 0x10, 0xff, 0x2d, 0x34, 0x7d, 0x76, 0x32, 0x34, 0x67, 0xc2, + 0x14, 0xaf, 0x5f, 0xd0, 0x72, 0xce, 0x62, 0xb8, 0xb6, 0x06, 0x87, 0xe1, 0x1c, 0x05, 0x93, 0xfc, + 0xcb, 0x17, 0x10, 0xf4, 0xf2, 0x6d, 0x43, 0xf2, 0x36, 0x3b, 0x7c, 0x76, 0xdc, 0xd8, 0xd8, 0x94, + 0xed, 0x25, 0xee, 0x8e, 0xe5, 0xbd, 0xa3, 0xc8, 0x87, 0x07, 0x0d, 0x5b, 0x21, 0x11, 0x37, 0xe3, + 0xde, 0xb8, 0x19, 0x2e, 0x0c, 0x62, 0x82, 0x0d, 0x63, 0x8b, 0xc8, 0xc2, 0x95, 0x3d, 0x59, 0x0d, + 0x87, 0x3e, 0x2a, 0x75, 0xdf, 0x53, 0x28, 0x97, 0x2d, 0xeb, 0x85, 0xd8, 0x23, 0x16, 0x0e, 0x22, + 0xde, 0x7a, 0x4b, 0x1b, 0xbd, 0xeb, 0x65, 0x8a, 0x2a, 0xc6, 0x71, 0x8d, 0x11, 0x5c, 0xa6, 0xdf, + 0xd3, 0x22, 0xce, 0x21, 0xfc, 0xb6, 0xa0, 0xf3, 0x15, 0x1b, 0xe2, 0x08, 0x36, 0xb4, 0x7e, 0x4a, + 0x7d, 0xe6, 0x52, 0x3f, 0x3a, 0x4f, 0x6b, 0x9a, 0xa7, 0x14, 0xab, 0x74, 0x8f, 0xb6, 0x51, 0x3b, + 0x59, 0xa9, 0x4c, 0x22, 0x44, 0x3b, 0x08, 0x40, 0x82, 0xa1, 0xcd, 0x66, 0x7f, 0xce, 0x66, 0xf5, + 0x40, 0xf3, 0x6c, 0x81, 0x09, 0x46, 0x53, 0x74, 0x33, 0x58, 0x0b, 0x4f, 0xb4, 0x0d, 0x8e, 0x3e, + 0x38, 0x6f, 0xa5, 0x79, 0xea, 0x73, 0x33, 0x21, 0x34, 0xa2, 0xbe, 0x58, 0xc8, 0xf5, 0x54, 0x6a, + 0x71, 0x15, 0x80, 0xb7, 0xa1, 0x9f, 0x54, 0x31, 0x1a, 0xbf, 0x00, 0x6f, 0xfa, 0xf5, 0xc1, 0x2b, + 0x5c, 0x16, 0xf4, 0x13, 0xc9, 0x13, 0x84, 0x85, 0xb2, 0xe7, 0xde, 0xdf, 0x0c, 0xfb, 0xd0, 0xf8, + 0x9e, 0x8a, 0xe8, 0xe3, 0x93, 0x0f, 0xa2, 0x12, 0xd9, 0x8e, 0x92, 0xd1, 0x7e, 0x15, 0xb6, 0x0f, + 0x2f, 0x84, 0xb0, 0x48, 0x77, 0xdf, 0xb9, 0x98, 0x68, 0xba, 0xb8, 0xe6, 0x98, 0xac, 0x43, 0xf6, + 0x46, 0x07, 0xa9, 0xcd, 0x3c, 0x3d, 0xb4, 0x52, 0xe9, 0x9e, 0x42, 0x29, 0x15, 0x35, 0x7c, 0xee, + 0xfc, 0x35, 0x67, 0x1a, 0x5b, 0xd6, 0xcd, 0xab, 0x34, 0xe6, 0x9c, 0x37, 0x7f, 0x98, 0xc0, 0xf9, + 0xbf, 0xda, 0x0b, 0x8f, 0xe1, 0xbc, 0x54, 0x68, 0x33, 0x0f, 0xec, 0x8a, 0xc3, 0x7e, 0x70, 0xb4, + 0x8a, 0xcd, 0x86, 0x44, 0x76, 0x08, 0xf7, 0xff, 0x0c, 0xb7, 0x19, 0x7a, 0x21, 0xc0, 0x93, 0x0b, + 0x01, 0x6b, 0x54, 0x57, 0x40, 0x78, 0x23, 0x7b, 0x16, 0x63, 0xc9, 0x6e, 0xc7, 0x23, 0xd1, 0xf5, + 0xa7, 0x35, 0x44, 0x40, 0x02, 0x84, 0x49, 0x97, 0x04, 0xc0, 0xc8, 0x7f, 0x3e, 0xd6, 0xf2, 0xf7, + 0x28, 0x2b, 0x2b, 0x46, 0x77, 0x45, 0x6d, 0x2d, 0xbe, 0x50, 0xa4, 0xdf, 0xda, 0xad, 0x85, 0x6b, + 0x80, 0xc5, 0x92, 0xee, 0x83, 0xe4, 0x8a, 0x0f, 0x58, 0x1f, 0xa7, 0x67, 0xbf, 0x37, 0x7d, 0x2a, + 0x44, 0x4d, 0x3c, 0x93, 0xf0, 0x9e, 0xf9, 0x1e, 0x7f, 0xa0, 0x28, 0xea, 0x8e, 0x3c, 0xcd, 0xdb, + 0xfc, 0x92, 0xc8, 0xdc, 0x44, 0x10, 0xb3, 0x5b, 0xc1, 0x7d, 0x2e, 0x77, 0x37, 0x66, 0x74, 0x04, + 0x47, 0x3f, 0x4a, 0xbf, 0x3f, 0x63, 0x28, 0x0a, 0xb7, 0xa4, 0xc4, 0x99, 0x1c, 0xe4, 0xfa, 0x05, + 0x02, 0x5b, 0xef, 0x62, 0xbf, 0x6c, 0x34, 0xa9, 0x13, 0x94, 0xd0, 0x98, 0x78, 0xe1, 0x8d, 0xb6, + 0xff, 0x68, 0xd8, 0xd2, 0x3f, 0xcb, 0xbb, 0x79, 0xed, 0x00, 0x20, 0x6e, 0x36, 0xc8, 0xe4, 0xab, + 0xa0, 0x5b, 0x50, 0x06, 0xee, 0x55, 0xb8, 0x54, 0x8a, 0xed, 0x39, 0x2a, 0xef, 0x2b, 0x71, 0x6e, + 0xe0, 0x59, 0x15, 0x7e, 0xf4, 0x8e, 0xcc, 0x7a, 0x1a, 0x00, 0xce, 0x2f, 0xad, 0x27, 0x60, 0x26, + 0x90, 0xcb, 0xfc, 0xd9, 0xe8, 0xa8, 0x84, 0x46, 0x9f, 0x0b, 0x8e, 0xf1, 0x5d, 0x5b, 0xbb, 0xd1, + 0xe7, 0x59, 0x64, 0x13, 0x40, 0xf7, 0xa6, 0xb1, 0xf8, 0xfa, 0xfc, 0xb1, 0xdc, 0xc5, 0xd0, 0x16, + 0x5e, 0x1d, 0xce, 0x1c, 0xe5, 0xd1, 0x94, 0x97, 0x93, 0xf1, 0x59, 0xd2, 0xfc, 0xad, 0x66, 0x3f, + 0xab, 0x6b, 0xc8, 0x6c, 0xf2, 0xc4, 0x88, 0xc7, 0x20, 0x1c, 0xf5, 0x7d, 0x00, 0xfc, 0x57, 0x28, + 0x4f, 0xb8, 0xeb, 0x8a, 0x21, 0x4a, 0x26, 0xca, 0x71, 0x8e, 0x8e, 0xd8, 0xf7, 0xc1, 0xb5, 0x60, + 0xad, 0xdd, 0x68, 0x2d, 0x6a, 0xd2, 0x8c, 0x18, 0x45, 0xb2, 0xa1, 0x24, 0x4f, 0x01, 0x52, 0x96, + 0x0b, 0x07, 0xd2, 0x62, 0x0a, 0xf7, 0x9a, 0x94, 0x76, 0x45, 0x88, 0x85, 0xe9, 0xb0, 0x8a, 0xcf, + 0x48, 0x34, 0xb9, 0x11, 0xcd, 0x9c, 0x3e, 0xbe, 0x63, 0xba, 0x8a, 0xb2, 0x8d, 0xd9, 0x07, 0x0d, + 0xb0, 0x9b, 0x9f, 0x5f, 0x1b, 0x78, 0x98, 0xa2, 0x3c, 0x8a, 0x46, 0x8b, 0x56, 0xf4, 0x22, 0x0b, + 0xfb, 0x0e, 0x00, 0x87, 0x8c, 0x26, 0xe5, 0x94, 0x6b, 0x12, 0xb1, 0x80, 0xbb, 0x42, 0x20, 0xc7, + 0x26, 0x97, 0x72, 0x0d, 0xae, 0x27, 0x42, 0x43, 0x95, 0x7b, 0x0f, 0x32, 0x61, 0xe7, 0x82, 0xb8, + 0xe9, 0xfd, 0xa8, 0x5c, 0x03, 0xda, 0x85, 0x83, 0x33, 0x4b, 0xe4, 0x6f, 0x01, 0x12, 0xf7, 0x15, + 0x16, 0x7f, 0x87, 0xef, 0x5a, 0xce, 0x69, 0x4c, 0xc2, 0x93, 0x62, 0x5c, 0x4c, 0x80, 0x20, 0xf3, + 0x43, 0xf4, 0x19, 0xf9, 0x25, 0xce, 0xc4, 0x05, 0x0e, 0x16, 0xc3, 0x08, 0x4d, 0xe4, 0x7a, 0x8d, + 0xc4, 0x3b, 0xad, 0x73, 0x2d, 0xb1, 0xb3, 0x3f, 0x13, 0x51, 0xbd, 0xaf, 0x91, 0xc2, 0xaf, 0x6b, + 0xd6, 0x46, 0xca, 0x35, 0xf5, 0x1b, 0x0d, 0xad, 0x7e, 0xae, 0x0c, 0x24, 0x13, 0x99, 0xa7, 0xaf, + 0xc1, 0x0e, 0x28, 0x88, 0xeb, 0x66, 0xc6, 0xa5, 0x37, 0x8f, 0xd2, 0x97, 0x5a, 0x06, 0x2f, 0xa6, + 0x92, 0x9e, 0x27, 0x8f, 0x41, 0x3f, 0x15, 0x3d, 0x37, 0x02, 0xd1, 0x79, 0xe1, 0xd3, 0xe1, 0x12, + 0x18, 0x18, 0x64, 0xf6, 0xb9, 0x5e, 0x93, 0xdc, 0x19, 0x79, 0x83, 0xca, 0xa6, 0xdd, 0x35, 0xee, + 0x73, 0xa3, 0x64, 0xa5, 0xef, 0xb8, 0x99, 0xe9, 0xf8, 0xd5, 0xd9, 0xf1, 0x9d, 0xfb, 0x31, 0x93, + 0xed, 0x89, 0x91, 0xa5, 0x6a, 0x1b, 0x51, 0xa9, 0xdf, 0xe8, 0x94, 0x27, 0x1f, 0x79, 0xfd, 0x46, + 0xa1, 0xcb, 0x0a, 0xb6, 0x52, 0x10, 0xe1, 0xd9, 0x79, 0xd1, 0x7c, 0xda, 0xad, 0x16, 0xb3, 0x7d, + 0x71, 0x80, 0x5c, 0xdf, 0xcf, 0xbd, 0x2c, 0x42, 0x9d, 0x58, 0x30, 0xc2, 0xc3, 0x57, 0x04, 0x03, + 0xab, 0xbb, 0x2d, 0xa0, 0xdf, 0x18, 0xdb, 0x72, 0x70, 0x24, 0xe4, 0x5b, 0x74, 0x1a, 0x3e, 0x16, + 0xe8, 0xcb, 0x84, 0x72, 0x8e, 0x2a, 0x1d, 0x63, 0xe6, 0x62, 0x8a, 0x17, 0x4e, 0xf4, 0x76, 0xb5, + 0x4c, 0xcd, 0x7e, 0x72, 0x5b, 0xb4, 0x88, 0xe4, 0xf8, 0x64, 0x23, 0x13, 0xa2, 0xaf, 0xd8, 0xe7, + 0x40, 0x1c, 0xaf, 0x84, 0x9b, 0xd6, 0xc3, 0xee, 0xdd, 0x6b, 0xa6, 0xf2, 0x8e, 0xf3, 0x33, 0x79, + 0xde, 0x7d, 0x95, 0xf2, 0xd0, 0x4d, 0xd0, 0xfa, 0x05, 0xdb, 0x58, 0x69, 0x53, 0x9c, 0x9e, 0xbf, + 0xcf, 0xa6, 0x02, 0xa6, 0x8e, 0xe2, 0xd8, 0x37, 0x5e, 0x79, 0x23, 0x18, 0xae, 0xc0, 0x8b, 0x6c, + 0xfa, 0xde, 0x4b, 0xa8, 0x96, 0x16, 0x0c, 0x87, 0xda, 0xd7, 0x80, 0x2a, 0xca, 0x76, 0xa0, 0x0d, + 0x1d, 0x7a, 0x77, 0xa4, 0x20, 0x1a, 0xb6, 0x1a, 0x94, 0x25, 0x86, 0xdb, 0xc1, 0x58, 0x0b, 0xb8, + 0x97, 0x55, 0x86, 0xb8, 0xdc, 0xcf, 0x8f, 0x39, 0x1e, 0x5e, 0xf6, 0x28, 0x13, 0xa9, 0x3e, 0x4b, + 0xa2, 0x23, 0xef, 0xc3, 0x5e, 0xad, 0x5d, 0x36, 0xed, 0x91, 0xc6, 0x46, 0x93, 0x3a, 0x04, 0x56, + 0x65, 0xc7, 0x27, 0xbd, 0x9e, 0xb8, 0xf1, 0xcf, 0x1a, 0x80, 0x1f, 0xdd, 0x21, 0xad, 0x0b, 0xbf, + 0xeb, 0x60, 0xda, 0x8d, 0x54, 0x0f, 0x8a, 0x23, 0x08, 0x13, 0xf0, 0xf5, 0x8c, 0x25, 0x43, 0xd7, + 0x26, 0x21, 0x98, 0x46, 0xa5, 0x85, 0x3d, 0x10, 0x63, 0x9a, 0x29, 0x3f, 0x9a, 0x45, 0x15, 0x5b, + 0xbe, 0x8e, 0x22, 0x80, 0x06, 0xd3, 0xeb, 0x95, 0x33, 0x1c, 0x2a, 0xec, 0xd0, 0x45, 0x52, 0x8d, + 0xbc, 0x4e, 0x68, 0xd1, 0xb2, 0x85, 0xe3, 0x60, 0xa9, 0x76, 0x84, 0x17, 0xb7, 0xe4, 0xf0, 0xec, + 0xc9, 0xd7, 0x5a, 0xfa, 0x4d, 0x01, 0x48, 0x48, 0x1f, 0xd9, 0x97, 0x89, 0x20, 0x4b, 0x09, 0x4e, + 0x84, 0xc1, 0xdb, 0x03, 0xde, 0x0c, 0x10, 0x78, 0x8e, 0xce, 0xc3, 0x05, 0xf7, 0x49, 0x79, 0xe4, + 0x63, 0xbc, 0x87, 0x29, 0x6b, 0xf5, 0x7a, 0xf0, 0x7c, 0x1b, 0x29, 0xe2, 0x1a, 0x82, 0x6d, 0x87, + 0x32, 0x2d, 0x18, 0x6b, 0x1a, 0x81, 0xf5, 0xbc, 0x09, 0xbe, 0xa7, 0x14, 0x71, 0x9b, 0xc7, 0xe9, + 0x56, 0x50, 0xf7, 0x1a, 0x02, 0x9b, 0xa9, 0x48, 0x44, 0x5e, 0x30, 0xe1, 0x70, 0x02, 0x69, 0xf7, + 0xad, 0x6b, 0x9d, 0x6a, 0x87, 0xc7, 0xf6, 0x91, 0x9a, 0x3c, 0x77, 0x8e, 0x0e, 0xf3, 0x07, 0x37, + 0x49, 0x27, 0xe2, 0xbc, 0x79, 0x5a, 0x4e, 0x79, 0x92, 0x7a, 0x2c, 0x49, 0x8e, 0x72, 0x5b, 0xcd, + 0x12, 0x2d, 0x4d, 0x8b, 0x3b, 0xee, 0xf8, 0x33, 0x7a, 0x6b, 0x15, 0x8e, 0x14, 0xb5, 0x21, 0x5e, + 0x7b, 0x96, 0xc4, 0xcf, 0x2e, 0x8a, 0x33, 0xfb, 0x1d, 0x7b, 0xf4, 0xab, 0x10, 0x69, 0x05, 0x8b, + 0x97, 0x85, 0xb8, 0xf5, 0x19, 0x04, 0xcd, 0x66, 0xc0, 0xa5, 0x3f, 0x7d, 0x77, 0x47, 0x6a, 0x49, + 0x59, 0xaa, 0x30, 0xd7, 0x8b, 0xaa, 0xde, 0x38, 0x3a, 0xc7, 0x41, 0x79, 0xfd, 0xaa, 0x8a, 0xde, + 0xe9, 0x38, 0x0d, 0x57, 0xe2, 0x4d, 0xa2, 0x37, 0x79, 0x41, 0x1b, 0xef, 0x8f, 0x9b, 0x58, 0x26, + 0xe4, 0x1b, 0x75, 0x68, 0x06, 0x90, 0xd1, 0xd8, 0x11, 0x61, 0x15, 0xb1, 0x96, 0x94, 0xd9, 0x0d, + 0xc4, 0xb5, 0x5a, 0x5b, 0x5d, 0x8f, 0xba, 0x44, 0xe2, 0x2c, 0x01, 0x3c, 0x34, 0xea, 0x76, 0x63, + 0x61, 0xf3, 0xf2, 0xa9, 0x77, 0x82, 0x5d, 0x1c, 0x7b, 0xd0, 0x38, 0x82, 0xbc, 0x48, 0xeb, 0x41, + 0x9e, 0xe7, 0x29, 0x80, 0xfd, 0x07, 0xbf, 0x56, 0xec, 0x16, 0xf3, 0x13, 0x6f, 0x35, 0x04, 0x28, + 0xf3, 0x2d, 0xec, 0xeb, 0x79, 0x15, 0xef, 0x48, 0x5a, 0xf3, 0x31, 0x97, 0xdf, 0x73, 0xbd, 0xd9, + 0xaa, 0x4b, 0x11, 0xb2, 0xc6, 0xdb, 0x9a, 0x7e, 0x01, 0x1d, 0xcf, 0xf8, 0x75, 0xd2, 0xaa, 0x15, + 0x11, 0x1d, 0xc7, 0xf1, 0x0c, 0x90, 0xdd, 0x81, 0xab, 0x06, 0xa5, 0xf4, 0x47, 0xd7, 0x57, 0x66, + 0xd1, 0x0b, 0xb2, 0xb3, 0x66, 0xdc, 0xed, 0x2b, 0xb5, 0x0a, 0xb5, 0xc3, 0x9b, 0x59, 0x45, 0x21, + 0x0d, 0xd7, 0xa1, 0x29, 0xa9, 0x93, 0x39, 0xae, 0x26, 0xd2, 0x6d, 0x1e, 0xb2, 0x60, 0x80, 0x44, + 0xe1, 0xf9, 0xe8, 0xed, 0xa5, 0xa6, 0x1e, 0x84, 0x36, 0x24, 0xf9, 0x7f, 0xca, 0xca, 0x6c, 0xf6, + 0x8d, 0x6f, 0xf7, 0x3e, 0x70, 0xe6, 0x05, 0x6f, 0x3e, 0xfd, 0x93, 0x0c, 0xd7, 0xc3, 0xa3, 0xfd, + 0xed, 0xcd, 0xc8, 0x51, 0x65, 0xf2, 0x18, 0xec, 0x30, 0x5a, 0xb1, 0xce, 0x89, 0x71, 0xb2, 0x61, + 0x2b, 0x33, 0xfc, 0x54, 0x31, 0x52, 0xad, 0x25, 0xee, 0xba, 0x45, 0x54, 0x3e, 0x97, 0x45, 0x20, + 0x5c, 0x6b, 0x98, 0x62, 0xd0, 0x3f, 0x3e, 0x74, 0xba, 0xc8, 0xdf, 0xc4, 0xb1, 0xa3, 0xe8, 0x73, + 0xfa, 0x26, 0xc2, 0xd8, 0x20, 0x6f, 0x24, 0x62, 0x9d, 0xce, 0xad, 0xdf, 0x06, 0x35, 0x90, 0x07, + 0x87, 0xc2, 0xe1, 0x3a, 0xe8, 0xcc, 0x86, 0x0f, 0xd2, 0x51, 0x0d, 0x6c, 0x02, 0x5e, 0xca, 0x83, + 0x48, 0xee, 0xe6, 0xa6, 0x9c, 0x16, 0x95, 0x80, 0x1e, 0x05, 0x03, 0x40, 0xbb, 0xcc, 0xeb, 0x84, + 0xb5, 0x0e, 0xd8, 0x85, 0x04, 0x55, 0x21, 0x52, 0xf7, 0xec, 0xc4, 0x1b, 0xa3, 0xd2, 0xc1, 0x48, + 0x14, 0xb7, 0x76, 0xb9, 0xaa, 0x57, 0xce, 0x9a, 0x97, 0x57, 0x3a, 0xf3, 0x02, 0xd7, 0xeb, 0x87, + 0x17, 0x65, 0x87, 0xf5, 0x4d, 0xde, 0xf0, 0xcd, 0x85, 0xca, 0x0f, 0x4d, 0x13, 0x68, 0x1e, 0x6d, + 0x20, 0xbd, 0xe2, 0x3f, 0xb1, 0x48, 0xf4, 0xfa, 0x50, 0x67, 0xfb, 0xcc, 0x0f, 0x55, 0x1d, 0x51, + 0x05, 0x50, 0xd2, 0x87, 0x54, 0x80, 0x0f, 0x15, 0x68, 0x08, 0x4a, 0x38, 0x4f, 0x7e, 0x5a, 0xee, + 0xd6, 0x5b, 0x36, 0x85, 0x36, 0xca, 0x53, 0xec, 0x93, 0x6b, 0xf0, 0xa5, 0x99, 0xc7, 0x34, 0x28, + 0x3c, 0x25, 0x5c, 0xa3, 0x8b, 0xa9, 0x1c, 0xfa, 0x26, 0x77, 0xd5, 0x8e, 0x16, 0x3d, 0x7f, 0xdb, + 0x6d, 0xdb, 0xb6, 0x39, 0x63, 0xec, 0xc9, 0x99, 0xb3, 0x70, 0x38, 0x69, 0x75, 0xe3, 0xff, 0xf0, + 0x14, 0x75, 0x4e, 0x20, 0x73, 0x03, 0xcd, 0xf9, 0x59, 0xcf, 0x93, 0x7c, 0xf7, 0x93, 0xf0, 0x39, + 0xde, 0x21, 0xe1, 0x26, 0x91, 0xc8, 0x6f, 0x4c, 0x43, 0x42, 0x8d, 0x1a, 0xcf, 0xdf, 0x90, 0x7e, + 0x1d, 0xaf, 0x06, 0xb7, 0x05, 0x20, 0x40, 0x61, 0x55, 0x7b, 0xc3, 0x3b, 0x98, 0x4c, 0x47, 0xb4, + 0xf8, 0xb4, 0xae, 0x69, 0x99, 0x8d, 0xea, 0x3b, 0x99, 0x4e, 0xd2, 0x17, 0x28, 0xd8, 0xb1, 0x27, + 0x52, 0x7d, 0xcf, 0x18, 0x88, 0xd0, 0x06, 0xf3, 0x36, 0x42, 0xea, 0x99, 0xb3, 0xdb, 0x8a, 0xab, + 0x46, 0x83, 0x94, 0xb4, 0xdc, 0x78, 0x52, 0xbe, 0x20, 0x4d, 0xf4, 0x6f, 0xe4, 0xb1, 0x09, 0xa6, + 0x49, 0xa1, 0x8e, 0xdd, 0xff, 0x37, 0xe2, 0x5f, 0x8e, 0xab, 0xa2, 0x8d, 0x74, 0x56, 0xe9, 0x44, + 0xa3, 0x97, 0xa0, 0xdf, 0x0d, 0x37, 0x32, 0xdd, 0x60, 0x2b, 0x09, 0xab, 0xfb, 0x1b, 0x2a, 0x9a, + 0x4b, 0x2a, 0xc6, 0xfc, 0xc3, 0x8e, 0x2b, 0x89, 0xba, 0xb5, 0xb8, 0xf8, 0x03, 0x71, 0xed, 0x7f, + 0xc5, 0x8d, 0x08, 0xf5, 0x01, 0x0a, 0xfc, 0xc4, 0x27, 0x21, 0x8b, 0x8b, 0x9d, 0x0b, 0x69, 0x44, + 0x94, 0xad, 0x17, 0xb5, 0x27, 0x0a, 0x66, 0x42, 0xb3, 0xb5, 0x4c, 0x01, 0xfc, 0x2e, 0x7a, 0xf3, + 0x3a, 0x71, 0x29, 0x45, 0xf5, 0x20, 0x1d, 0x02, 0x9a, 0x10, 0x72, 0xe3, 0xf3, 0xf3, 0xbc, 0x61, + 0x5e, 0x94, 0xe6, 0xbc, 0x43, 0xdf, 0x9c, 0x54, 0xe4, 0x14, 0x8b, 0xe5, 0xb8, 0x50, 0x1e, 0x98, + 0x19, 0xa6, 0xd9, 0xc1, 0x60, 0x2d, 0xab, 0x07, 0x67, 0x13, 0xe5, 0x23, 0x81, 0x16, 0x62, 0x4b, + 0xb9, 0x99, 0xf9, 0x80, 0x71, 0xcd, 0x7c, 0x8b, 0x04, 0xf2, 0xb5, 0xd2, 0x76, 0xb9, 0x38, 0x69, + 0x54, 0x26, 0x35, 0xc3, 0xaa, 0x32, 0x6b, 0x3d, 0x92, 0xf8, 0x84, 0x21, 0x5d, 0x98, 0x40, 0xa5, + 0xf9, 0x66, 0xc5, 0x3d, 0xca, 0xf2, 0x4e, 0x50, 0xfd, 0x39, 0x5c, 0xea, 0x8c, 0xe0, 0x0d, 0x1a, + 0x30, 0xbf, 0x6d, 0x1f, 0xbe, 0xed, 0x02, 0x1a, 0xc7, 0x28, 0xa3, 0x2d, 0x15, 0xe2, 0x40, 0xbe, + 0xc7, 0xac, 0x36, 0x6b, 0x30, 0xa4, 0xa6, 0xaa, 0x11, 0xca, 0x4a, 0x9d, 0x26, 0x1a, 0x9b, 0x9d, + 0x73, 0x48, 0xc2, 0xbb, 0x5c, 0x22, 0x5b, 0x53, 0x27, 0x17, 0xfa, 0x27, 0x75, 0x82, 0xeb, 0x0b, + 0xd7, 0xf5, 0x11, 0x59, 0xcf, 0xfb, 0x48, 0x93, 0x81, 0x44, 0x4d, 0x9f, 0xab, 0x68, 0x90, 0x8f, + 0x30, 0x14, 0xc2, 0x94, 0x62, 0xe2, 0xd8, 0xfb, 0x80, 0x5e, 0x08, 0x1d, 0x5d, 0xb6, 0x9c, 0x2d, + 0x81, 0x41, 0xcd, 0xa3, 0x91, 0xec, 0x70, 0x45, 0x33, 0x47, 0x23, 0x13, 0xe4, 0x4e, 0xbe, 0xf5, + 0x83, 0x22, 0xa4, 0xda, 0xd7, 0x72, 0x4f, 0x1d, 0x2c, 0x48, 0x4e, 0x32, 0x89, 0xb5, 0xa4, 0xa6, + 0x2a, 0x39, 0x47, 0x98, 0xb5, 0x83, 0x2f, 0x83, 0x49, 0x77, 0x96, 0x97, 0x98, 0xbb, 0x78, 0x33, + 0xd1, 0x3e, 0xb5, 0xc4, 0xe7, 0xcf, 0x1a, 0x08, 0x1d, 0x64, 0x77, 0x74, 0x33, 0x54, 0xaa, 0x38, + 0xb8, 0x06, 0x1f, 0x7c, 0xc9, 0x8b, 0x38, 0x1d, 0x96, 0x3c, 0xd0, 0x2a, 0x6b, 0xcd, 0x52, 0xa8, + 0x61, 0xc2, 0x98, 0x9c, 0x9d, 0xac, 0x4f, 0xad, 0x29, 0x9e, 0xf9, 0xa9, 0x1a, 0xb3, 0xda, 0xb9, + 0x6c, 0x80, 0xcb, 0xd6, 0x45, 0x71, 0xd9, 0xe8, 0xa9, 0x79, 0x77, 0x60, 0x13, 0x56, 0xf4, 0xc6, + 0xe3, 0x76, 0x7c, 0xda, 0xdc, 0x6c, 0xfc, 0x1a, 0xe7, 0xe3, 0x5f, 0x51, 0x78, 0x61, 0x1c, 0xac, + 0xe6, 0x99, 0xdc, 0xa0, 0xf2, 0xde, 0x81, 0x4f, 0xe2, 0xe0, 0x79, 0x27, 0xde, 0xcb, 0x2b, 0x38, + 0xcc, 0xa0, 0xa4, 0x10, 0xd9, 0x13, 0x47, 0x3b, 0x40, 0xe9, 0x82, 0x8f, 0x78, 0x11, 0x2d, 0x47, + 0x1f, 0xf6, 0x80, 0xc8, 0xf8, 0xd2, 0x0e, 0xbe, 0x7c, 0xd1, 0xe3, 0x12, 0xc5, 0xb7, 0x3b, 0xa0, + 0x6f, 0x5a, 0x26, 0x4e, 0xf5, 0x3a, 0xd6, 0xb7, 0x88, 0xf8, 0xa8, 0x2a, 0x18, 0x88, 0x4c, 0x1a, + 0xea, 0x23, 0x89, 0xe4, 0xf5, 0x65, 0x88, 0x10, 0xe1, 0x84, 0xa3, 0xce, 0x2b, 0xdb, 0x79, 0xe6, + 0x85, 0x7a, 0x9e, 0x08, 0xe4, 0xfd, 0xa7, 0xc1, 0x1d, 0x3f, 0x8b, 0x15, 0xa2, 0x4a, 0xbe, 0x1d, + 0xd6, 0xa1, 0x2e, 0xe2, 0x81, 0x41, 0xc5, 0x74, 0x81, 0xf9, 0xd2, 0x07, 0xa1, 0x67, 0xa8, 0xb4, + 0xcb, 0x28, 0xdb, 0x1a, 0x58, 0xd1, 0x19, 0xd6, 0x2a, 0x92, 0xd9, 0x3c, 0x1a, 0x11, 0x3a, 0x86, + 0x58, 0xb4, 0x37, 0x35, 0x85, 0x53, 0x89, 0x18, 0x82, 0xf1, 0x09, 0xb9, 0x76, 0x9e, 0x2f, 0x34, + 0xca, 0xb2, 0xa6, 0xdf, 0xed, 0xa6, 0x4d, 0x65, 0x6a, 0x3b, 0x8d, 0xe8, 0xd3, 0x92, 0x7e, 0x2c, + 0x4b, 0x4f, 0x5c, 0x5b, 0xe3, 0xb7, 0x09, 0xe5, 0x33, 0x8f, 0x2f, 0xf8, 0xad, 0xf7, 0x17, 0xc7, + 0x81, 0xa7, 0xe7, 0x19, 0x62, 0x54, 0x64, 0xfe, 0xcb, 0x75, 0x57, 0xab, 0xbc, 0x9c, 0xb4, 0x89, + 0xc8, 0xa6, 0x85, 0x0c, 0xcd, 0xfc, 0x92, 0x8f, 0xa8, 0x45, 0x5f, 0x3d, 0x7d, 0x8d, 0x42, 0x49, + 0x5e, 0xb2, 0x7a, 0x23, 0x66, 0x9d, 0x5b, 0xb2, 0x6b, 0x13, 0x8f, 0xd6, 0x0b, 0x95, 0x7d, 0x8f, + 0xef, 0x2e, 0x8b, 0xc6, 0x4f, 0xa0, 0x7c, 0xed, 0x55, 0xbd, 0x6c, 0x6a, 0xb1, 0x4b, 0x89, 0x79, + 0xdc, 0x55, 0x9b, 0x8d, 0x58, 0x9d, 0x29, 0x25, 0x90, 0x95, 0x1b, 0x81, 0xe9, 0x37, 0x9a, 0x08, + 0xa9, 0x45, 0xd6, 0xaa, 0x66, 0x45, 0xf8, 0x08, 0x9b, 0x54, 0x8c, 0x6b, 0x84, 0x1b, 0x50, 0xaa, + 0xb6, 0xc4, 0xd8, 0x48, 0xaf, 0x2b, 0x6d, 0x71, 0x8d, 0xa7, 0x46, 0x51, 0x7b, 0x17, 0x5e, 0x2b, + 0x73, 0xd1, 0x20, 0x9d, 0x83, 0x94, 0x9c, 0x29, 0xda, 0x64, 0xae, 0x82, 0x10, 0xa1, 0x6a, 0x7e, + 0x12, 0x06, 0x4d, 0xc3, 0x02, 0xe8, 0x06, 0x5d, 0xba, 0xa3, 0x58, 0x13, 0xbb, 0x09, 0x2e, 0xf3, + 0x3e, 0x6e, 0xf5, 0xfb, 0x08, 0xc5, 0xc1, 0xa9, 0x1b, 0xda, 0x57, 0x09, 0xe9, 0x26, 0x07, 0x63, + 0x53, 0x03, 0xcb, 0x4b, 0xbc, 0xeb, 0x0f, 0x95, 0x69, 0x8b, 0x67, 0xaa, 0x0c, 0xd4, 0x7d, 0xc3, + 0x0e, 0xf3, 0x27, 0x69, 0x4d, 0x72, 0x9a, 0x61, 0x6e, 0x26, 0x0b, 0x2e, 0xd7, 0x6b, 0xf4, 0x42, + 0x8f, 0x92, 0xd5, 0x79, 0x3e, 0xec, 0x87, 0xd0, 0x45, 0xec, 0xd5, 0x6d, 0xad, 0x14, 0x75, 0x6a, + 0x34, 0x50, 0x4e, 0x7a, 0x46, 0x31, 0xbd, 0x81, 0xde, 0x3f, 0x97, 0xbe, 0xdb, 0x7d, 0x92, 0x0a, + 0xf9, 0xac, 0xac, 0x69, 0xcf, 0xc3, 0xbe, 0xa3, 0xfb, 0x26, 0x7e, 0x7e, 0xf6, 0xc9, 0x2c, 0x24, + 0xf7, 0xbe, 0xaa, 0xff, 0x42, 0x03, 0x11, 0x73, 0xd1, 0x68, 0x84, 0xe0, 0x9a, 0xe9, 0xbf, 0x96, + 0x9a, 0x4b, 0x54, 0x38, 0x49, 0x27, 0x94, 0x6b, 0x86, 0x3c, 0xd0, 0x3b, 0xfd, 0x1c, 0xf5, 0x7a, + 0x69, 0x3e, 0x92, 0x4d, 0x1f, 0x97, 0xbc, 0xfc, 0x75, 0x51, 0x6a, 0xa5, 0xe2, 0xdf, 0x5a, 0x9d, + 0x59, 0x4a, 0x75, 0xfa, 0x5a, 0x46, 0xaa, 0xed, 0x46, 0x39, 0x34, 0x1d, 0x14, 0xe6, 0x66, 0xdb, + 0x49, 0x14, 0x37, 0x0e, 0x6b, 0x58, 0xc1, 0x2d, 0xe6, 0x4a, 0x46, 0x95, 0xa3, 0xe2, 0xce, 0x0b, + 0x94, 0x67, 0x3f, 0x9e, 0xf2, 0xb9, 0xff, 0x1e, 0xe4, 0x67, 0xa4, 0x18, 0x02, 0x03, 0x9d, 0xdd, + 0x95, 0x87, 0x74, 0x29, 0xe9, 0x6f, 0x00, 0x91, 0x49, 0x3b, 0xd6, 0x6f, 0xeb, 0xd6, 0x5a, 0x4a, + 0xb6, 0xf2, 0x16, 0x01, 0xf1, 0x33, 0x56, 0xb5, 0xee, 0x25, 0x54, 0x43, 0x29, 0xed, 0xa2, 0x53, + 0x0b, 0xa3, 0x62, 0xe4, 0xad, 0x9e, 0x71, 0x2a, 0x39, 0x31, 0xc2, 0xa7, 0xae, 0xe0, 0x28, 0x66, + 0x01, 0x5a, 0xf4, 0x97, 0x4c, 0x08, 0xd6, 0xaf, 0x79, 0x02, 0x54, 0x3c, 0xb5, 0x3d, 0xd9, 0xf1, + 0xa3, 0xf2, 0x09, 0xd5, 0x36, 0x25, 0xcc, 0x4d, 0x38, 0x6b, 0x33, 0xd2, 0x90, 0x6b, 0x29, 0x06, + 0x9d, 0x3f, 0xbf, 0xe9, 0xaa, 0x93, 0xca, 0x7a, 0x45, 0xd2, 0xf3, 0x05, 0xc3, 0x55, 0xd3, 0xbb, + 0x0c, 0xcf, 0xca, 0xca, 0x98, 0x23, 0xa1, 0x59, 0x14, 0xfc, 0xfb, 0x99, 0xe0, 0xca, 0x62, 0xdd, + 0xec, 0x9d, 0x83, 0xdd, 0xec, 0x7a, 0xfa, 0x95, 0x79, 0x9e, 0x3a, 0xea, 0x41, 0x99, 0x5f, 0xb9, + 0xd7, 0xcf, 0xcf, 0x08, 0x72, 0x32, 0x01, 0x65, 0x01, 0xbd, 0xcd, 0xed, 0xa0, 0xc6, 0x50, 0xf2, + 0x67, 0xee, 0xc6, 0x2b, 0x27, 0xc6, 0x3d, 0xc3, 0xff, 0x96, 0x2a, 0xd4, 0xd8, 0x3c, 0x45, 0x09, + 0x19, 0x0b, 0x05, 0xc3, 0xb7, 0xd8, 0x5d, 0x69, 0x9c, 0x90, 0x90, 0xca, 0xbb, 0x09, 0xec, 0xca, + 0x1f, 0xcf, 0x5d, 0xb1, 0x6d, 0xeb, 0x6e, 0x6f, 0x45, 0x92, 0x38, 0xe4, 0x22, 0xb4, 0x1f, 0x68, + 0x2e, 0xe6, 0x80, 0x2d, 0xd5, 0xb1, 0x22, 0x7a, 0xa1, 0x43, 0x5f, 0x11, 0x94, 0xa8, 0xe6, 0xb3, + 0xc0, 0xbf, 0xca, 0xf4, 0x52, 0xe6, 0x84, 0xf8, 0x8d, 0x8c, 0xcc, 0x8b, 0xaa, 0x84, 0xdf, 0x9b, + 0xd2, 0x9a, 0xdc, 0x42, 0xc5, 0xb6, 0x30, 0x81, 0xc0, 0xf7, 0x25, 0x93, 0x21, 0xe5, 0x58, 0x2c, + 0xae, 0xdb, 0xef, 0x82, 0x10, 0x8b, 0x7a, 0xb8, 0x19, 0x1a, 0xd9, 0x22, 0x7e, 0x55, 0xd4, 0xc2, + 0xb3, 0x8a, 0xbd, 0xee, 0x91, 0x23, 0xa8, 0x09, 0x46, 0x31, 0x13, 0xba, 0xfa, 0x38, 0x7a, 0xed, + 0x55, 0x3b, 0xfd, 0xca, 0x01, 0xf9, 0x61, 0x4e, 0x71, 0x2c, 0xe7, 0x6c, 0x7d, 0x7e, 0xc6, 0xae, + 0xb4, 0x60, 0x66, 0x14, 0x32, 0x1b, 0x37, 0x2e, 0x89, 0x17, 0x7f, 0x15, 0x63, 0x59, 0x47, 0x9b, + 0xee, 0x98, 0xea, 0x20, 0xd9, 0x2b, 0xfd, 0x93, 0xe9, 0x0f, 0xa0, 0x17, 0xc5, 0x95, 0x2c, 0x05, + 0xe9, 0x3d, 0x8a, 0x55, 0xef, 0x6c, 0xc2, 0x9c, 0xab, 0x50, 0x22, 0xee, 0x87, 0xcf, 0xfc, 0x93, + 0x42, 0x00, 0xec, 0xcd, 0xa0, 0xe8, 0xde, 0xd8, 0xe3, 0x32, 0x89, 0x8c, 0xc3, 0x3c, 0xe5, 0x01, + 0xe1, 0x24, 0x0c, 0x95, 0x6b, 0x39, 0x79, 0x20, 0xa5, 0xb8, 0xac, 0x60, 0xfd, 0xc1, 0x8b, 0xde, + 0xee, 0xd0, 0x80, 0x5b, 0xb7, 0x44, 0xfb, 0x41, 0x02, 0x2d, 0xa0, 0xb0, 0xa1, 0x62, 0xfc, 0xd5, + 0x5f, 0x33, 0x24, 0x0e, 0xed, 0xcb, 0x59, 0x42, 0xd8, 0x9c, 0x10, 0x5c, 0x1d, 0x46, 0x91, 0x02, + 0xe8, 0xe4, 0x31, 0x4a, 0xe7, 0x3e, 0x87, 0x46, 0x46, 0x2c, 0xb6, 0xbf, 0x67, 0x64, 0x1b, 0xd0, + 0x24, 0x84, 0xda, 0x27, 0xb5, 0xec, 0xea, 0x1b, 0xbf, 0x1d, 0xac, 0xdd, 0x4d, 0x7d, 0x96, 0xdf, + 0x25, 0x2c, 0x08, 0xb8, 0x3a, 0x50, 0x6f, 0x69, 0x45, 0x23, 0xbe, 0x29, 0xa0, 0x46, 0x1f, 0x6a, + 0xed, 0x40, 0xb1, 0x74, 0x12, 0xf0, 0xe6, 0x24, 0xe9, 0x6d, 0xce, 0x07, 0x2f, 0xd9, 0xdc, 0x9f, + 0x34, 0xd7, 0xdc, 0xc6, 0xa7, 0x95, 0x58, 0x3a, 0x26, 0xb2, 0x85, 0x7c, 0x65, 0x44, 0x76, 0xa0, + 0xd8, 0xe8, 0xf3, 0x84, 0xd6, 0xaf, 0x56, 0x3d, 0x85, 0xe6, 0xf2, 0x4f, 0xaa, 0x5b, 0xe1, 0x15, + 0x33, 0x44, 0x6d, 0xa1, 0xd2, 0x59, 0x2b, 0x8f, 0x36, 0x41, 0x78, 0x1a, 0x88, 0xfe, 0x4f, 0x86, + 0xd9, 0xba, 0xe1, 0x9b, 0xa9, 0xd6, 0x68, 0x51, 0x07, 0x9b, 0xf3, 0x70, 0x25, 0x99, 0x7b, 0xf9, + 0x0c, 0xc7, 0x7e, 0x8b, 0x12, 0x01, 0x1c, 0xaf, 0xd4, 0x21, 0xd8, 0x5a, 0xa6, 0xf9, 0xb1, 0x8b, + 0xfd, 0x90, 0x01, 0x10, 0x8b, 0x37, 0x44, 0x5a, 0x1b, 0x55, 0x44, 0x02, 0x8d, 0x49, 0xce, 0x93, + 0x67, 0x8f, 0x67, 0x0b, 0x97, 0x92, 0xc2, 0xd2, 0xfa, 0xbe, 0xa0, 0x47, 0xe9, 0xe6, 0xa1, 0x3a, + 0xe5, 0x59, 0x57, 0xb1, 0xba, 0xc5, 0xfc, 0x47, 0x5e, 0x82, 0x0e, 0x0b, 0x38, 0x81, 0xc8, 0x3e, + 0x2f, 0x00, 0x62, 0xe3, 0x8f, 0x19, 0xd9, 0xde, 0x0c, 0x02, 0x05, 0x40, 0xfd, 0xb7, 0x44, 0xf7, + 0x4e, 0xf5, 0x09, 0x88, 0x56, 0x3a, 0xf6, 0xbf, 0x52, 0xe3, 0x38, 0x7c, 0x90, 0x1c, 0x99, 0xc9, + 0x40, 0x6c, 0x92, 0x8d, 0x74, 0xc3, 0xee, 0xf7, 0xd8, 0x26, 0x8f, 0x44, 0xc7, 0x78, 0x80, 0xd9, + 0x37, 0x8b, 0x33, 0xa2, 0xf4, 0x85, 0xed, 0xec, 0xb2, 0x0f, 0xa8, 0x8a, 0x0a, 0xb3, 0xe7, 0x51, + 0x0c, 0x19, 0xea, 0x6d, 0xcc, 0x84, 0x9b, 0x79, 0xcc, 0x10, 0x6b, 0xfc, 0xba, 0xc6, 0x42, 0x8b, + 0x7b, 0x80, 0x73, 0xdd, 0x59, 0x1a, 0xa9, 0x82, 0x36, 0x96, 0xfa, 0x1a, 0x6a, 0xd6, 0xc7, 0x07, + 0x12, 0x06, 0x04, 0xa4, 0x5e, 0x28, 0xcc, 0xca, 0x01, 0x85, 0xeb, 0x5e, 0x52, 0x26, 0x20, 0x75, + 0x0a, 0x44, 0x83, 0x64, 0x35, 0x90, 0x76, 0xd9, 0xbc, 0xa3, 0x30, 0xa0, 0x77, 0xde, 0xd8, 0x77, + 0xc5, 0xc2, 0x77, 0x5d, 0x24, 0xa7, 0x74, 0xa8, 0x11, 0xdc, 0xd2, 0xfb, 0x2f, 0xf5, 0x6a, 0x59, + 0x75, 0x41, 0xc1, 0x04, 0x29, 0x72, 0x1d, 0x91, 0x7d, 0x85, 0x9a, 0x6c, 0x93, 0xe4, 0xcc, 0xba, + 0xe2, 0xbd, 0xc9, 0x31, 0x68, 0x96, 0x16, 0x5d, 0x5f, 0x43, 0x0f, 0xca, 0x7d, 0xd1, 0x35, 0x6b, + 0x47, 0x0d, 0x7a, 0xed, 0x8b, 0x9c, 0x4e, 0x17, 0x82, 0x33, 0x97, 0x6e, 0x62, 0xdd, 0xb2, 0xf0, + 0xd8, 0xde, 0x77, 0xe5, 0xd7, 0x3d, 0x58, 0xde, 0x44, 0x91, 0xa5, 0x34, 0xd0, 0x5d, 0x65, 0x16, + 0xba, 0x1d, 0xe2, 0x46, 0xeb, 0x81, 0xd8, 0xb1, 0xfb, 0x64, 0x57, 0x24, 0xa8, 0x49, 0x06, 0x8c, + 0xd9, 0xf7, 0xcf, 0x73, 0x45, 0xb3, 0x9e, 0x88, 0xf3, 0x11, 0xa7, 0x8b, 0x94, 0xfb, 0xf2, 0x12, + 0x89, 0x1b, 0xa7, 0x6e, 0x90, 0x8a, 0x84, 0x74, 0xcc, 0x3e, 0x8d, 0xb0, 0x3c, 0x0f, 0xbb, 0x3e, + 0xc0, 0x25, 0x77, 0x6a, 0x81, 0x2b, 0xbb, 0xb6, 0x60, 0x9d, 0x97, 0x12, 0xab, 0x87, 0xbf, 0x11, + 0x8d, 0xd4, 0x1c, 0xb9, 0x14, 0x48, 0x01, 0x97, 0xd3, 0x70, 0xa8, 0x20, 0x58, 0x91, 0x82, 0xcd, + 0x39, 0x97, 0x12, 0x87, 0x7d, 0x5d, 0x43, 0xc4, 0x88, 0x24, 0x57, 0xe7, 0xa0, 0x0c, 0xdf, 0xeb, + 0x1a, 0x06, 0x6e, 0xc7, 0x66, 0xf4, 0xfd, 0x02, 0x30, 0xe7, 0x51, 0x57, 0xbf, 0xd2, 0x39, 0xd1, + 0x2b, 0x88, 0xa6, 0xff, 0xe7, 0x2a, 0x9d, 0x41, 0xb3, 0x07, 0x1f, 0xd9, 0xd2, 0xaa, 0x98, 0xb6, + 0xc1, 0x16, 0x7b, 0x5f, 0xd4, 0x43, 0xca, 0xfd, 0x56, 0x61, 0x83, 0x6a, 0xb3, 0xee, 0x31, 0xfe, + 0xe3, 0x8a, 0x81, 0x94, 0xd5, 0x40, 0x40, 0x72, 0x83, 0x8c, 0x74, 0x05, 0x59, 0x47, 0x8d, 0x8a, + 0x80, 0x9c, 0x4b, 0x40, 0x88, 0xe5, 0xd6, 0xf9, 0xfe, 0x26, 0x7c, 0x13, 0x64, 0xd0, 0xf1, 0x20, + 0x96, 0xe9, 0xa0, 0xb7, 0x92, 0x37, 0x65, 0x9e, 0xab, 0x8f, 0xc2, 0x2b, 0x0a, 0x92, 0x3c, 0xa5, + 0xdf, 0x24, 0x80, 0x9e, 0x76, 0x30, 0xd2, 0xfe, 0x5e, 0xda, 0x2f, 0x2c, 0xb4, 0x04, 0x8d, 0xe6, + 0x72, 0x21, 0x4b, 0xad, 0x16, 0x3e, 0xbb, 0x23, 0xfe, 0xce, 0x0f, 0x30, 0x74, 0xb7, 0x16, 0x7d, + 0x84, 0xfc, 0x36, 0x26, 0x92, 0x97, 0x1d, 0xc7, 0x31, 0xb5, 0x78, 0xf6, 0x49, 0xc8, 0x0e, 0x2c, + 0xe9, 0xa7, 0x10, 0x7f, 0x04, 0x26, 0xdf, 0x84, 0x39, 0x89, 0x99, 0xd6, 0xf7, 0x75, 0x6e, 0x3f, + 0x7a, 0x6b, 0x66, 0x3a, 0x06, 0x36, 0x26, 0xc2, 0xf2, 0x73, 0xf1, 0xee, 0x00, 0xce, 0x53, 0x70, + 0xcc, 0x9f, 0xfd, 0xae, 0xeb, 0x18, 0xaf, 0x77, 0x93, 0x56, 0x37, 0x05, 0xd6, 0x20, 0x98, 0xe3, + 0xb6, 0xc2, 0xc8, 0x5b, 0x3f, 0x06, 0x95, 0xb7, 0xcb, 0x27, 0x55, 0x35, 0x84, 0x5b, 0x62, 0x8c, + 0x72, 0xee, 0x2e, 0xdd, 0x2d, 0x54, 0xe1, 0x74, 0x0d, 0x2c, 0xb2, 0xcd, 0x8c, 0x76, 0x2a, 0x89, + 0xb5, 0x72, 0x99, 0x5d, 0x3c, 0x75, 0xb0, 0xa4, 0xc3, 0x33, 0xfe, 0x11, 0xc8, 0x11, 0xd7, 0xba, + 0x53, 0x1a, 0xff, 0xee, 0x18, 0x31, 0x0f, 0x1e, 0x7b, 0x10, 0xb4, 0x3e, 0x50, 0xc5, 0x46, 0x4f, + 0xfd, 0xdb, 0xf1, 0x54, 0x44, 0x22, 0x33, 0x2e, 0x3f, 0xd7, 0x93, 0x08, 0xa9, 0x64, 0xc1, 0x82, + 0xf5, 0x92, 0xff, 0xcc, 0xb8, 0xc0, 0x8d, 0xeb, 0xc8, 0x69, 0x8f, 0x79, 0x01, 0x7e, 0x50, 0x44, + 0xe4, 0xc6, 0x0f, 0x4c, 0x80, 0xb2, 0x2c, 0x66, 0xff, 0x41, 0x55, 0x43, 0x2c, 0x91, 0xc2, 0x3a, + 0xe4, 0x2c, 0x69, 0x2e, 0xd1, 0x2c, 0xf7, 0xc1, 0x48, 0xdd, 0xb0, 0x28, 0x71, 0xd8, 0xe7, 0x9c, + 0xeb, 0x9d, 0x22, 0xdd, 0x30, 0x7c, 0xad, 0x42, 0x37, 0x6c, 0xe8, 0xf4, 0xa5, 0xb0, 0x11, 0xcb, + 0x33, 0xe0, 0xe1, 0x7a, 0xf8, 0xdf, 0x4a, 0x82, 0xeb, 0x48, 0xb4, 0xee, 0xdf, 0x99, 0xff, 0xcf, + 0xe2, 0xc3, 0xe2, 0x45, 0x4f, 0xbb, 0xb6, 0xc5, 0x00, 0x05, 0x34, 0x6a, 0x82, 0xbc, 0xac, 0xf2, + 0x51, 0xdb, 0x95, 0x85, 0x62, 0xbe, 0xc8, 0x5f, 0xf6, 0x35, 0x1f, 0x06, 0x32, 0x36, 0xf7, 0xe9, + 0xbd, 0x09, 0x84, 0xec, 0xa7, 0xfe, 0x72, 0xae, 0x12, 0x76, 0xfd, 0x0a, 0xd0, 0x0b, 0x57, 0x40, + 0x7c, 0x17, 0x1c, 0xbc, 0x70, 0xfc, 0xb0, 0xde, 0xc0, 0xce, 0xf3, 0x4f, 0xb0, 0xf1, 0x57, 0x57, + 0x6a, 0x67, 0x63, 0x15, 0xcd, 0xc5, 0xc5, 0x4b, 0x5f, 0x1c, 0x06, 0xc6, 0x4f, 0x21, 0x30, 0x22, + 0xcd, 0xad, 0xf4, 0xb0, 0x14, 0xd2, 0xe8, 0xb2, 0x09, 0xdf, 0x57, 0xf9, 0xab, 0x44, 0x0f, 0xd3, + 0xf4, 0x8a, 0x9f, 0xac, 0xea, 0xe1, 0x2c, 0x0c, 0x52, 0xa8, 0xf4, 0x26, 0xef, 0x99, 0x97, 0x22, + 0x1a, 0x4f, 0x6a, 0xd7, 0xce, 0xba, 0x0b, 0x32, 0x0b, 0xe5, 0xf0, 0xc5, 0xa7, 0xce, 0xb3, 0xd5, + 0xc2, 0xe5, 0x24, 0x62, 0x38, 0x46, 0x56, 0x08, 0xae, 0x6d, 0x27, 0x9d, 0x4f, 0x79, 0xb6, 0x35, + 0x70, 0xfc, 0x6d, 0x35, 0x6c, 0xd1, 0xce, 0xe0, 0xdd, 0x9f, 0x3f, 0x98, 0x89, 0x8a, 0x38, 0x2c, + 0x0d, 0xcc, 0x5e, 0x02, 0x1f, 0x05, 0x95, 0xaa, 0xac, 0xa6, 0xb3, 0x74, 0xde, 0xaa, 0x60, 0xad, + 0x5d, 0x41, 0x02, 0x24, 0xc3, 0xd0, 0x38, 0x53, 0x1a, 0x83, 0x40, 0x42, 0xf8, 0x67, 0xda, 0x0f, + 0xd0, 0xfd, 0x83, 0xb6, 0x59, 0xf6, 0xce, 0x10, 0xdc, 0x7c, 0x3e, 0x18, 0x26, 0x34, 0xbf, 0x6a, + 0xb9, 0x25, 0x30, 0xb8, 0x80, 0x16, 0xfe, 0x07, 0x83, 0x33, 0x7a, 0xd8, 0x33, 0x6c, 0x72, 0x2d, + 0x97, 0xda, 0x6e, 0x39, 0xd6, 0x5f, 0x01, 0x14, 0xec, 0x71, 0xcc, 0x4a, 0xfb, 0x12, 0xc7, 0x65, + 0x1f, 0x98, 0x14, 0x78, 0xcc, 0x35, 0x9e, 0x71, 0x04, 0x39, 0x91, 0x8a, 0xe1, 0xcf, 0xa6, 0x13, + 0xf0, 0xfc, 0xe7, 0x97, 0xb4, 0xdb, 0x22, 0x63, 0xbe, 0x68, 0x4c, 0x42, 0xa3, 0x90, 0xcd, 0xa0, + 0x6d, 0x25, 0xda, 0x6d, 0x63, 0xb5, 0x91, 0xc6, 0x4b, 0x77, 0xa7, 0x83, 0x2c, 0x19, 0x7a, 0x70, + 0x20, 0x6c, 0x2f, 0xae, 0x63, 0x43, 0x58, 0xc5, 0x61, 0xe0, 0xcc, 0x24, 0xa7, 0x57, 0x2b, 0xdb, + 0xb0, 0x72, 0x1f, 0x0a, 0xef, 0x4b, 0xa0, 0xad, 0x02, 0x52, 0x98, 0xf8, 0x0e, 0x4a, 0xc1, 0xd2, + 0x95, 0xe1, 0x1f, 0x87, 0xe1, 0xbb, 0x5f, 0xc8, 0x01, 0xf4, 0xc8, 0x03, 0xa1, 0x14, 0x8b, 0x7c, + 0x03, 0xc2, 0x9a, 0x4d, 0xed, 0xf3, 0x39, 0xc0, 0x65, 0xfe, 0xe7, 0xe4, 0x6d, 0x04, 0x1f, 0xf1, + 0x65, 0xe0, 0xa7, 0x33, 0x57, 0x69, 0x04, 0xcc, 0x22, 0x3b, 0xf2, 0xb2, 0x75, 0xd1, 0xad, 0x79, + 0x94, 0xb9, 0x6d, 0x85, 0xa5, 0xc2, 0x08, 0x81, 0xc5, 0xaf, 0xa2, 0x69, 0xb7, 0x95, 0x7c, 0x6a, + 0x15, 0x9a, 0xb9, 0x00, 0x67, 0x90, 0x97, 0x5d, 0xd2, 0xe8, 0xc8, 0xce, 0x41, 0x68, 0xaa, 0x4c, + 0x90, 0x1d, 0x2c, 0xfc, 0x1c, 0x04, 0x88, 0x85, 0xcb, 0x68, 0x67, 0x88, 0x7c, 0x94, 0xea, 0x5c, + 0x2c, 0x73, 0x6c, 0x9e, 0xb9, 0x62, 0x5b, 0xa1, 0x64, 0xd4, 0x0a, 0x91, 0x94, 0xf4, 0x40, 0x13, + 0x89, 0xba, 0xe9, 0x6b, 0x1f, 0x1f, 0xcc, 0x2a, 0xe1, 0x2c, 0x9a, 0x9b, 0x48, 0x9e, 0x97, 0xc6, + 0x5c, 0x3e, 0x33, 0x45, 0xa9, 0xe7, 0xba, 0x58, 0x1d, 0x3a, 0x9e, 0xf0, 0xfd, 0x04, 0x26, 0xb6, + 0x96, 0x66, 0xfc, 0x17, 0xd2, 0x42, 0xce, 0xf0, 0x1d, 0x45, 0x09, 0x40, 0x9a, 0x19, 0x01, 0xdb, + 0xdb, 0x7a, 0x8f, 0xb4, 0x74, 0x5b, 0x1c, 0x0e, 0x0e, 0x9f, 0x44, 0x3d, 0x39, 0xea, 0x36, 0x23, + 0x0e, 0x08, 0x2f, 0x4a, 0x1f, 0x79, 0x8e, 0x92, 0x9d, 0x26, 0x39, 0x38, 0xb7, 0x41, 0x49, 0xeb, + 0x0f, 0x4b, 0xd9, 0xb7, 0xbf, 0xfe, 0xa8, 0xfc, 0x04, 0x1e, 0x98, 0x09, 0x72, 0xd6, 0x16, 0xb7, + 0x60, 0x16, 0x34, 0x86, 0x9e, 0x97, 0x6f, 0xcb, 0x84, 0x1f, 0xba, 0xd0, 0x3b, 0xda, 0x3d, 0xfe, + 0x71, 0xf9, 0xc2, 0x24, 0x96, 0x2e, 0x64, 0xea, 0xfd, 0xef, 0x3a, 0x27, 0xd0, 0xb7, 0x6b, 0xcf, + 0x19, 0x57, 0xbe, 0xce, 0xd1, 0x8d, 0x41, 0xcd, 0x18, 0x56, 0x8e, 0x23, 0x8e, 0x1a, 0x52, 0x20, + 0xdb, 0x97, 0x9c, 0x9b, 0xcb, 0x31, 0xdf, 0xcc, 0x43, 0x1b, 0x07, 0xb6, 0x01, 0xd3, 0x28, 0x3f, + 0xd4, 0x5d, 0x67, 0xa5, 0xc7, 0xcf, 0xba, 0xde, 0x10, 0x69, 0xc1, 0x13, 0xae, 0xee, 0xd9, 0x3a, + 0x46, 0xd7, 0x95, 0x41, 0x83, 0x96, 0xdb, 0x39, 0xa8, 0x53, 0x7c, 0x95, 0x83, 0xd3, 0x44, 0xb6, + 0x0a, 0x54, 0xb4, 0x2f, 0x4f, 0xa1, 0x7a, 0xe9, 0x20, 0x55, 0x36, 0xb3, 0x4e, 0xfb, 0x5c, 0x45, + 0x77, 0x29, 0xcd, 0x9e, 0x5c, 0x85, 0x56, 0x84, 0x93, 0xa1, 0x9d, 0x94, 0x1c, 0xf5, 0x54, 0xac, + 0xb4, 0xe2, 0xd2, 0x31, 0x86, 0xd6, 0x84, 0x87, 0xbb, 0x44, 0x61, 0x60, 0x25, 0x67, 0x53, 0xc2, + 0x66, 0xb5, 0xe6, 0x7b, 0x64, 0x67, 0x84, 0xf8, 0x89, 0xec, 0xa7, 0xe2, 0xc8, 0x24, 0x48, 0x37, + 0x62, 0xf5, 0x55, 0x3b, 0x04, 0xb7, 0xfd, 0x2a, 0x5d, 0x95, 0xcd, 0xeb, 0xa9, 0x61, 0x80, 0x74, + 0x7e, 0x2c, 0xef, 0x19, 0x73, 0x72, 0x81, 0x83, 0x56, 0x56, 0xab, 0x22, 0xaa, 0x14, 0xc8, 0xcd, + 0x94, 0xdd, 0x27, 0x4a, 0x96, 0xd3, 0x5c, 0x43, 0x35, 0xfd, 0x12, 0x61, 0x0b, 0x4f, 0x11, 0xb3, + 0x32, 0x85, 0x6f, 0xa9, 0x14, 0xdf, 0x58, 0xdd, 0x79, 0xde, 0x39, 0xe4, 0xf0, 0xbb, 0x45, 0x1f, + 0xc8, 0xdf, 0x1b, 0xb2, 0xd1, 0xd1, 0x7c, 0xb5, 0x38, 0x97, 0x7b, 0x17, 0x4c, 0xa3, 0xa5, 0xc7, + 0x0c, 0x41, 0x1e, 0xbb, 0x1e, 0x4e, 0x34, 0x20, 0x60, 0xf3, 0xcd, 0x6a, 0xe4, 0xae, 0x1d, 0x59, + 0x02, 0x6c, 0xdc, 0x24, 0x42, 0x7a, 0xa2, 0x9b, 0xdc, 0x5d, 0x5a, 0xaa, 0xf7, 0x20, 0x4d, 0xe9, + 0xf1, 0xdc, 0x4d, 0xc6, 0x1b, 0x69, 0xdb, 0xc9, 0xcf, 0x4f, 0x34, 0xcd, 0x0d, 0x3f, 0x20, 0x18, + 0xb2, 0x06, 0x17, 0xe3, 0x0a, 0x65, 0x4c, 0x28, 0xbd, 0xc8, 0x70, 0xaf, 0x14, 0xcb, 0x24, 0xfb, + 0x69, 0x5e, 0x63, 0x71, 0x03, 0xda, 0xff, 0x42, 0xdb, 0xd1, 0xbb, 0x6c, 0xfd, 0xdc, 0x38, 0x0d, + 0xe1, 0x69, 0x09, 0x05, 0x94, 0x7f, 0xb0, 0x21, 0x8e, 0x16, 0xc4, 0x9c, 0xe0, 0x66, 0xd5, 0xe8, + 0x63, 0x3e, 0x04, 0x8a, 0x2e, 0x83, 0xbc, 0x1c, 0x49, 0xaa, 0x76, 0x2b, 0x49, 0x29, 0x24, 0x5a, + 0xf5, 0xfd, 0x35, 0xad, 0x29, 0x48, 0x7a, 0x08, 0x51, 0xf1, 0x94, 0xc6, 0x16, 0x74, 0x10, 0x6f, + 0xfb, 0x48, 0xa5, 0xb4, 0x45, 0xed, 0xae, 0x82, 0xd9, 0x36, 0xa0, 0xde, 0x3c, 0x75, 0x61, 0x99, + 0x69, 0xf4, 0x04, 0x1b, 0xc9, 0xd3, 0x53, 0xc3, 0xff, 0x55, 0x7c, 0xad, 0x92, 0xf5, 0x1e, 0x0d, + 0xa1, 0x0d, 0xbb, 0xc0, 0xab, 0x49, 0x11, 0x8f, 0xb0, 0x95, 0xf5, 0x70, 0xa7, 0xb7, 0x9d, 0xe5, + 0xfe, 0x92, 0xc6, 0x26, 0xe2, 0x2d, 0xdc, 0x2e, 0x5f, 0x97, 0x47, 0x52, 0x62, 0x92, 0x85, 0x39, + 0xa1, 0x16, 0x45, 0x4c, 0x34, 0x0a, 0xe3, 0xf3, 0x35, 0x1d, 0xcf, 0xc3, 0x29, 0x1b, 0xeb, 0xd5, + 0x72, 0x40, 0xd4, 0x7b, 0x14, 0x7a, 0xf9, 0xa5, 0x65, 0x3f, 0xdb, 0x51, 0xc5, 0x98, 0x90, 0xa3, + 0x2f, 0x1d, 0x31, 0xda, 0xdf, 0x66, 0x9d, 0x9c, 0x77, 0x88, 0x43, 0x45, 0x61, 0x11, 0x11, 0x1a, + 0x75, 0xe0, 0x70, 0xb5, 0xae, 0x7f, 0xc6, 0x4c, 0xf0, 0x91, 0x3e, 0x3f, 0xf5, 0xd4, 0x34, 0x35, + 0xd6, 0x7b, 0xb5, 0x7d, 0xe9, 0x33, 0x93, 0xed, 0x45, 0x61, 0x64, 0xdf, 0x07, 0x65, 0xd4, 0xf1, + 0x6a, 0x2b, 0xff, 0xad, 0x4c, 0x1a, 0x54, 0x19, 0x27, 0x41, 0x10, 0xa3, 0x26, 0x86, 0xef, 0x73, + 0x38, 0x74, 0x38, 0x57, 0xad, 0xa1, 0x89, 0x22, 0x22, 0x13, 0x4c, 0x3d, 0xc4, 0xf6, 0x30, 0x92, + 0x62, 0xe4, 0xd8, 0x47, 0x34, 0xc4, 0x04, 0x94, 0xb5, 0xb1, 0x5c, 0xdf, 0xb1, 0xbc, 0x5f, 0x93, + 0xfb, 0xb3, 0xcb, 0x4c, 0x31, 0x61, 0xec, 0xfa, 0xf8, 0x6c, 0x95, 0xb4, 0x56, 0xbd, 0xf2, 0x98, + 0xd0, 0xd4, 0xbf, 0xe8, 0x7f, 0x77, 0x8d, 0x3f, 0x84, 0xc1, 0x93, 0x86, 0xd7, 0xab, 0xb6, 0x85, + 0xd0, 0x76, 0x3a, 0xb4, 0xb2, 0x83, 0x6e, 0xab, 0x29, 0x97, 0x51, 0x99, 0x22, 0x23, 0xe2, 0x55, + 0x2a, 0x4f, 0x8a, 0x18, 0xd6, 0x0c, 0x74, 0xc3, 0xcd, 0x4a, 0xd8, 0xe9, 0xfa, 0x4e, 0x81, 0xce, + 0xfe, 0x52, 0x3d, 0x52, 0xb0, 0x67, 0x7f, 0x41, 0x2e, 0x55, 0xf0, 0xd1, 0x4c, 0xe9, 0x05, 0x7b, + 0x31, 0xc9, 0x24, 0x8a, 0xb8, 0x60, 0x0c, 0x18, 0xeb, 0xba, 0x25, 0x19, 0x57, 0xf5, 0xe1, 0xbe, + 0xab, 0x50, 0xb5, 0xe4, 0xb1, 0xc7, 0x8d, 0xaa, 0x85, 0xdc, 0x34, 0xe9, 0x9b, 0x03, 0x5a, 0x17, + 0x68, 0x68, 0x39, 0x03, 0xe8, 0x90, 0x50, 0x6b, 0xd5, 0x0a, 0xf4, 0x3f, 0x02, 0xfe, 0x3e, 0xa0, + 0x35, 0xf5, 0xe7, 0xdf, 0x54, 0xef, 0x54, 0x44, 0xd6, 0xb8, 0x26, 0x89, 0xff, 0x93, 0x7f, 0x7b, + 0x18, 0xb3, 0x20, 0x07, 0xd0, 0xd3, 0x69, 0x05, 0x3d, 0x3a, 0x44, 0x76, 0xfa, 0xc4, 0x63, 0x2a, + 0xe5, 0x96, 0x3a, 0xd8, 0x99, 0x2b, 0x04, 0x9d, 0x60, 0x8c, 0xa4, 0x69, 0xe8, 0x9d, 0x08, 0xe6, + 0x19, 0x19, 0x83, 0xa0, 0x17, 0x00, 0x61, 0x2f, 0x03, 0x3b, 0xab, 0xc5, 0xe5, 0xc6, 0x8b, 0x9c, + 0x1e, 0x1c, 0x37, 0xdb, 0xf6, 0x85, 0xfb, 0x0a, 0xf9, 0xb8, 0x96, 0xcc, 0x8f, 0x19, 0x41, 0xb9, + 0x05, 0x9e, 0xef, 0x2c, 0x46, 0x05, 0xf2, 0xe8, 0x88, 0x3e, 0x72, 0x7e, 0x87, 0xd6, 0x93, 0xa3, + 0x5f, 0x3e, 0x35, 0x29, 0xec, 0x78, 0x47, 0xe3, 0xbb, 0xff, 0xa0, 0x5d, 0x1b, 0x64, 0x9a, 0x96, + 0x10, 0x76, 0x25, 0x18, 0xfd, 0x52, 0x89, 0x4a, 0x0b, 0xcc, 0xba, 0xb8, 0x44, 0x59, 0x5e, 0x74, + 0x6d, 0xd6, 0xe1, 0xe3, 0x1f, 0x98, 0xe5, 0xa0, 0xec, 0xa1, 0x7d, 0x8b, 0x4f, 0x91, 0x1b, 0xd3, + 0x3a, 0x3b, 0xda, 0x12, 0xd9, 0xb1, 0x7e, 0x70, 0x69, 0x2e, 0xaf, 0xfa, 0xf5, 0x3d, 0x61, 0x70, + 0x3a, 0x42, 0xcf, 0xf8, 0x7b, 0x6d, 0x2c, 0x75, 0x69, 0x37, 0x3f, 0x53, 0xcc, 0x6b, 0x0b, 0xbf, + 0xbc, 0xa2, 0x1f, 0x8f, 0xce, 0x0a, 0x70, 0x40, 0x81, 0xaf, 0x22, 0xbb, 0x0e, 0x8c, 0x34, 0x90, + 0x9f, 0x27, 0x6d, 0x59, 0x7e, 0x85, 0xbe, 0xa0, 0x65, 0xaa, 0x33, 0x78, 0xd4, 0xda, 0xb9, 0xae, + 0x42, 0x15, 0x73, 0x2a, 0x53, 0x61, 0x35, 0x9f, 0x62, 0x4e, 0x74, 0x85, 0xe4, 0x03, 0x18, 0xa5, + 0x66, 0x3b, 0x42, 0x66, 0x76, 0x15, 0x73, 0x3f, 0xd4, 0x52, 0xaa, 0xd9, 0xcc, 0x2b, 0x08, 0xcc, + 0x3c, 0x96, 0x8b, 0x77, 0xc4, 0xa5, 0xe8, 0x5b, 0x6c, 0xb2, 0xfd, 0x8f, 0x6b, 0x9d, 0x75, 0x45, + 0x14, 0x73, 0xf8, 0xf5, 0x2a, 0x2d, 0xa4, 0x3e, 0xc3, 0xf2, 0xd3, 0x81, 0xbb, 0xa8, 0x5b, 0xd4, + 0x5e, 0xea, 0x5b, 0xd3, 0x55, 0x39, 0x9a, 0x32, 0xe8, 0xca, 0xcd, 0x5e, 0x8f, 0x06, 0x60, 0xa3, + 0x50, 0x80, 0x3e, 0x95, 0x3e, 0x73, 0xa1, 0xc8, 0x4b, 0x15, 0x8f, 0x99, 0x01, 0x95, 0x68, 0xf9, + 0xe0, 0xd2, 0x4c, 0x09, 0x94, 0x14, 0x12, 0xc0, 0x35, 0x1e, 0x94, 0xa3, 0x5a, 0x93, 0xa6, 0x6f, + 0xb4, 0x9f, 0xe2, 0x1d, 0x5e, 0xd7, 0x8f, 0x27, 0x8d, 0x75, 0x05, 0x99, 0xf4, 0x18, 0xf0, 0xaa, + 0x38, 0xb2, 0xef, 0x14, 0x9c, 0x8f, 0x67, 0x9a, 0x6b, 0xc7, 0x2c, 0x67, 0xba, 0x39, 0x8a, 0x87, + 0xaf, 0xed, 0x3b, 0x8c, 0xe2, 0x86, 0xc4, 0x02, 0xc1, 0xd5, 0x0c, 0x40, 0x8d, 0xf5, 0x32, 0x5e, + 0x3b, 0x18, 0xf3, 0xa1, 0x91, 0x8f, 0xa5, 0xa2, 0x77, 0xde, 0xdc, 0x03, 0x41, 0x26, 0xcb, 0x37, + 0xfa, 0x11, 0x3e, 0xf5, 0x99, 0x48, 0x3e, 0x9d, 0x1f, 0xd3, 0xae, 0xc3, 0xec, 0x0f, 0xbb, 0x3e, + 0x70, 0x52, 0xe1, 0xdd, 0x05, 0x0f, 0xaa, 0x5e, 0x9d, 0xee, 0xf6, 0xa0, 0x87, 0x23, 0x3b, 0x65, + 0xbf, 0xd1, 0x47, 0x2a, 0x6f, 0xba, 0x3d, 0x41, 0x27, 0x5e, 0xfb, 0x5c, 0xd3, 0x9e, 0x78, 0x6e, + 0x83, 0xa5, 0x11, 0xde, 0x00, 0x40, 0xf6, 0xe7, 0x89, 0x29, 0x9e, 0xa7, 0x95, 0x9e, 0x78, 0xf8, + 0x7a, 0x07, 0xf7, 0xb4, 0x14, 0x41, 0xc2, 0x9d, 0x75, 0x23, 0xf8, 0xde, 0xba, 0x50, 0x2a, 0xd7, + 0x94, 0xed, 0x7d, 0x2e, 0x72, 0x5c, 0xa9, 0x53, 0x55, 0x6b, 0x01, 0xca, 0x1b, 0xbb, 0x89, 0x6a, + 0x92, 0xa9, 0x03, 0x47, 0x3e, 0xa6, 0x5a, 0x60, 0x81, 0x0a, 0xd4, 0x79, 0x8f, 0x22, 0x81, 0x45, + 0xfa, 0xba, 0x4b, 0x11, 0x9f, 0xec, 0x48, 0x9c, 0xbb, 0x49, 0x89, 0xeb, 0x71, 0x9b, 0x35, 0x0f, + 0xf3, 0xe3, 0xf0, 0x1b, 0xe0, 0x28, 0x7a, 0x16, 0x8a, 0x52, 0xd9, 0x7e, 0xaf, 0x81, 0xcb, 0xeb, + 0x00, 0x13, 0x6a, 0x2e, 0x91, 0xca, 0xed, 0xba, 0xc0, 0x97, 0x55, 0xb8, 0x7e, 0x35, 0x88, 0xbb, + 0x85, 0xab, 0x06, 0xa4, 0x44, 0x08, 0xe0, 0x6a, 0x9e, 0x34, 0x0f, 0xba, 0x79, 0x45, 0x17, 0xfd, + 0x2d, 0xbb, 0xb3, 0xb0, 0xf6, 0xd4, 0xe3, 0x88, 0x57, 0x12, 0x49, 0x69, 0xe3, 0xf3, 0xbb, 0xe8, + 0x53, 0x5d, 0xc1, 0x58, 0xa1, 0xc4, 0x44, 0x89, 0xe5, 0x64, 0xe0, 0xf8, 0x76, 0x6f, 0x88, 0x74, + 0xcb, 0x73, 0x22, 0xbc, 0xcd, 0xe0, 0x4e, 0xe5, 0xfc, 0x76, 0x73, 0x64, 0x85, 0x22, 0xe0, 0x7f, + 0x2d, 0x32, 0xe1, 0x8e, 0xfc, 0x51, 0xb2, 0x93, 0xc2, 0x7b, 0x61, 0x45, 0x40, 0x8d, 0xbb, 0x9b, + 0xc5, 0x72, 0x4c, 0xe2, 0xf7, 0x31, 0x75, 0x1e, 0xc9, 0x36, 0xde, 0xdc, 0xb8, 0x79, 0x92, 0x03, + 0x79, 0x6d, 0xb8, 0x9f, 0x4e, 0x64, 0x68, 0x7f, 0xa5, 0xfb, 0x17, 0x28, 0x68, 0xb7, 0xe7, 0x40, + 0x66, 0x96, 0x57, 0xd3, 0xee, 0x9b, 0x85, 0x97, 0x25, 0xde, 0x3d, 0x84, 0xb6, 0x42, 0x83, 0xad, + 0xe8, 0xd7, 0x05, 0x14, 0x84, 0xa6, 0xfa, 0xe7, 0x36, 0xf7, 0x72, 0xaf, 0xe0, 0x6e, 0x75, 0x1d, + 0xf3, 0xf1, 0x2b, 0xbe, 0x26, 0x2e, 0xff, 0xf4, 0xbf, 0x1f, 0xc7, 0xdb, 0xd2, 0x55, 0xb3, 0x43, + 0x32, 0xe3, 0x0e, 0xbc, 0x37, 0xaa, 0x32, 0xb2, 0x4b, 0x5b, 0x98, 0x13, 0x59, 0xfa, 0x07, 0x5b, + 0x5f, 0x20, 0x47, 0xe1, 0x8e, 0x5c, 0xf5, 0x3a, 0xfd, 0x69, 0xf6, 0x72, 0x44, 0xb0, 0xb5, 0x0e, + 0x51, 0x3a, 0x75, 0xb5, 0x16, 0x67, 0x13, 0xd4, 0xa5, 0xd6, 0xcf, 0xa1, 0x36, 0x27, 0x5e, 0x9f, + 0x8e, 0xdb, 0x60, 0x7e, 0x93, 0x5c, 0x69, 0xb3, 0xc0, 0x40, 0xb7, 0x87, 0x97, 0x57, 0x90, 0x23, + 0x63, 0xc3, 0x6e, 0xdc, 0x9d, 0xfe, 0xf3, 0xa4, 0xc9, 0x4b, 0x70, 0x6f, 0x81, 0xdd, 0x34, 0x23, + 0x86, 0xef, 0x67, 0x0c, 0x83, 0xe0, 0x75, 0x98, 0x7e, 0x15, 0xc2, 0x3f, 0x23, 0x16, 0x92, 0x8f, + 0xea, 0x58, 0xf8, 0x17, 0xa4, 0x30, 0x42, 0x9e, 0x4c, 0xf4, 0x44, 0x8d, 0x39, 0x1e, 0xa6, 0x91, + 0x8a, 0x15, 0xb2, 0xfd, 0xb1, 0x77, 0xa7, 0x8c, 0x52, 0x7f, 0x2d, 0x84, 0x5d, 0x9c, 0x62, 0x83, + 0xbf, 0xd0, 0x4a, 0x04, 0x71, 0x9d, 0xcc, 0x8c, 0x6c, 0x65, 0x5c, 0x29, 0x89, 0xc7, 0xd7, 0xca, + 0xd1, 0xc0, 0x39, 0x01, 0x49, 0x45, 0x4e, 0x42, 0x9a, 0xd6, 0x3a, 0xf2, 0xec, 0xff, 0xaf, 0x67, + 0x8b, 0x93, 0xfc, 0xef, 0x4e, 0x78, 0x6a, 0xa8, 0xc3, 0x59, 0x1e, 0x17, 0x5f, 0xe6, 0xdb, 0x3e, + 0x2a, 0xbc, 0x09, 0x41, 0xf8, 0x1d, 0x2d, 0x68, 0xb7, 0xd0, 0x54, 0xc2, 0xbc, 0x7e, 0x17, 0x45, + 0x88, 0x38, 0xb3, 0x00, 0xb7, 0x7a, 0x93, 0x46, 0x63, 0xbf, 0x4b, 0x71, 0xeb, 0xa5, 0x63, 0x18, + 0x1d, 0x1a, 0x9c, 0x96, 0x83, 0x03, 0x7d, 0x2f, 0x44, 0xe2, 0xc9, 0xd4, 0x18, 0x3e, 0xbb, 0x03, + 0xc5, 0xe0, 0xb9, 0x6d, 0x2e, 0xc8, 0xeb, 0x60, 0x83, 0xe1, 0x7c, 0x32, 0xdf, 0x82, 0xec, 0xaa, + 0x2a, 0x54, 0xa3, 0x78, 0x60, 0xbf, 0x01, 0xf1, 0xe3, 0xb7, 0x4a, 0xf4, 0x46, 0x05, 0x9a, 0x37, + 0x05, 0xba, 0xb8, 0x8f, 0xa8, 0x0f, 0xc6, 0x1a, 0x6d, 0x9e, 0xe4, 0x7d, 0x49, 0xda, 0xbf, 0xed, + 0xed, 0x81, 0xac, 0x00, 0xef, 0x25, 0x58, 0x32, 0x5a, 0x8a, 0xb1, 0x83, 0xe5, 0xc7, 0xda, 0x33, + 0x8b, 0xf5, 0x9b, 0xcd, 0x37, 0x63, 0x4c, 0x7b, 0xb4, 0x60, 0x6a, 0xa7, 0x55, 0x94, 0x4c, 0x5a, + 0x3a, 0xf0, 0x62, 0x05, 0x9d, 0x2a, 0x72, 0x26, 0xe9, 0x9b, 0x6c, 0xa4, 0x72, 0x6f, 0xaf, 0xbe, + 0xd6, 0x0b, 0x8b, 0x6f, 0x9d, 0x17, 0x16, 0x76, 0xc6, 0x36, 0xce, 0x65, 0x80, 0xb8, 0x07, 0x1a, + 0x7f, 0x18, 0xbc, 0x73, 0xd6, 0x39, 0x36, 0x7f, 0x48, 0xf3, 0xfd, 0xf8, 0xdc, 0x1f, 0x0e, 0xa3, + 0x3e, 0x95, 0x62, 0xe8, 0x4d, 0x22, 0xbf, 0xfd, 0x12, 0xac, 0x32, 0x0f, 0xf9, 0x89, 0x1d, 0x7f, + 0xf0, 0x23, 0x9a, 0x2b, 0x7e, 0xd3, 0x77, 0x32, 0xbc, 0x5f, 0xa2, 0xc5, 0x73, 0x5d, 0xd4, 0xd5, + 0x08, 0x21, 0x3e, 0x9e, 0x2d, 0x9f, 0xd3, 0x48, 0x46, 0x57, 0x4a, 0x36, 0xa9, 0xdd, 0x23, 0xa4, + 0xc7, 0x14, 0x8c, 0x65, 0x91, 0x6f, 0x33, 0x2b, 0x3c, 0xcc, 0x56, 0x2a, 0xe3, 0xd1, 0x50, 0xe4, + 0xea, 0x00, 0x95, 0x56, 0x5c, 0xe1, 0xc4, 0xf4, 0xfb, 0xa9, 0x64, 0x77, 0x43, 0x42, 0x4f, 0x58, + 0x2f, 0x9d, 0xa5, 0x04, 0x0a, 0xb1, 0xa7, 0xcd, 0x72, 0x45, 0x6a, 0x7c, 0xc8, 0x04, 0xbc, 0x23, + 0x7d, 0x7d, 0x62, 0x5c, 0x85, 0x1c, 0x63, 0x47, 0x88, 0xbc, 0xe5, 0x40, 0x6e, 0xb6, 0x8b, 0x36, + 0xcc, 0x05, 0xe1, 0xa8, 0xc1, 0x59, 0xf2, 0x20, 0x22, 0x22, 0xa7, 0xae, 0x10, 0x0a, 0xcf, 0x3f, + 0xd8, 0xdb, 0x56, 0x0c, 0xee, 0xb5, 0xd0, 0xeb, 0xce, 0x79, 0xbf, 0x10, 0xf8, 0x1a, 0x59, 0xca, + 0xf5, 0xba, 0x2d, 0xd7, 0xa3, 0x0c, 0x58, 0x2b, 0xea, 0xd2, 0x9f, 0x97, 0x35, 0x63, 0xcd, 0x09, + 0x31, 0xc9, 0x10, 0xcb, 0xab, 0x01, 0x71, 0x6b, 0x44, 0x25, 0x8a, 0x96, 0x83, 0x2c, 0x7e, 0xee, + 0xae, 0xd0, 0x0f, 0xe5, 0x08, 0xe3, 0xa1, 0x31, 0x49, 0x23, 0x49, 0xe6, 0xe1, 0xa6, 0x12, 0x81, + 0xf9, 0x52, 0xba, 0x37, 0x88, 0xa8, 0xf1, 0x71, 0xe3, 0x5c, 0x13, 0x92, 0xc4, 0xda, 0xc4, 0xd1, + 0x0f, 0x90, 0x53, 0x8b, 0x87, 0x3a, 0x1c, 0x3c, 0x77, 0x35, 0x9e, 0x83, 0xb6, 0xc5, 0xb9, 0x47, + 0x4c, 0x15, 0x1e, 0xb0, 0xfe, 0xc0, 0x04, 0x26, 0x0b, 0xda, 0xf6, 0x95, 0x32, 0x71, 0xd7, 0x7c, + 0xfa, 0xf4, 0x74, 0xdd, 0x31, 0xb1, 0xcc, 0x58, 0x87, 0xd4, 0x46, 0xc6, 0x81, 0xd5, 0x72, 0x1c, + 0x43, 0x70, 0xf8, 0x74, 0x9d, 0x43, 0xf4, 0x65, 0xa3, 0xc6, 0x8e, 0x14, 0xb9, 0x69, 0x59, 0x32, + 0xa1, 0xf7, 0xe6, 0xe8, 0xd7, 0x0f, 0xcb, 0xc2, 0xc7, 0x6e, 0xad, 0x28, 0x22, 0x66, 0x3b, 0xae, + 0x95, 0x2f, 0x02, 0x8e, 0x42, 0x9b, 0x03, 0x54, 0x54, 0x86, 0x81, 0x66, 0xc9, 0x81, 0x00, 0xdf, + 0x40, 0x66, 0xc2, 0xd2, 0x32, 0xbe, 0x61, 0xe9, 0x91, 0xae, 0x03, 0x1a, 0x14, 0xe3, 0x9b, 0xf0, + 0xd9, 0x36, 0x56, 0x95, 0x1a, 0x86, 0x5a, 0x3f, 0x56, 0xcc, 0x6a, 0x3d, 0xa8, 0xca, 0xee, 0xd2, + 0x12, 0x67, 0x9f, 0x40, 0xe3, 0xc0, 0xe4, 0x78, 0x3e, 0x32, 0x50, 0x92, 0xd8, 0xa4, 0x8c, 0x7f, + 0x62, 0x0d, 0xe0, 0x27, 0xf7, 0x53, 0xcb, 0x8c, 0x11, 0x1c, 0x00, 0x29, 0x9a, 0x10, 0xa3, 0x1e, + 0x13, 0xfe, 0x0d, 0x00, 0x95, 0xda, 0xa8, 0xfe, 0xe3, 0x32, 0xed, 0x8a, 0x26, 0x69, 0xcc, 0x58, + 0xe7, 0x07, 0xe9, 0xa9, 0x28, 0xab, 0x55, 0x68, 0x60, 0x50, 0x04, 0x20, 0x67, 0x07, 0x50, 0xea, + 0xcd, 0x55, 0xf1, 0xec, 0xee, 0x34, 0x23, 0x80, 0x29, 0x17, 0xce, 0xb7, 0x15, 0x8a, 0x8c, 0x64, + 0xf0, 0xeb, 0x0f, 0x6e, 0x80, 0x5d, 0xae, 0x92, 0x08, 0x1d, 0xbc, 0x89, 0x81, 0x4a, 0x6a, 0x9e, + 0x75, 0x76, 0xdb, 0x32, 0x7f, 0xbf, 0x13, 0x08, 0x97, 0xc9, 0x22, 0x71, 0xd5, 0x93, 0x90, 0x16, + 0x83, 0x0b, 0xf6, 0x99, 0x58, 0x2a, 0x70, 0xd8, 0x35, 0x4e, 0x6b, 0x57, 0x9f, 0xa3, 0x0c, 0x99, + 0x2a, 0xb7, 0x7d, 0xea, 0xa6, 0xa7, 0x40, 0x04, 0xbe, 0xff, 0xff, 0x41, 0xa3, 0x6b, 0xd2, 0xd0, + 0x7b, 0xbc, 0xeb, 0xb0, 0xbe, 0x19, 0x3a, 0xbd, 0xc1, 0xe9, 0xb2, 0xc6, 0x9e, 0x81, 0x1c, 0xf0, + 0xd3, 0xf8, 0x4a, 0xc2, 0x5d, 0xb1, 0xb9, 0x50, 0x91, 0x90, 0x24, 0xf8, 0xf1, 0x0f, 0x24, 0x57, + 0x02, 0x68, 0x70, 0xfe, 0xb3, 0x1c, 0xba, 0x6e, 0x8b, 0x96, 0x5e, 0xec, 0x09, 0x71, 0x73, 0xdd, + 0xb1, 0xe0, 0x5c, 0x78, 0xc0, 0xe7, 0xde, 0xb1, 0xab, 0x14, 0x12, 0x67, 0xa4, 0xaa, 0xe6, 0xb8, + 0xa3, 0x6a, 0xcd, 0x29, 0x33, 0xd1, 0xeb, 0x68, 0x18, 0xb6, 0x1a, 0xd0, 0x89, 0x41, 0xff, 0xb3, + 0x8c, 0xdb, 0x66, 0x81, 0x51, 0x46, 0x25, 0xc0, 0xd2, 0x59, 0x51, 0xda, 0x73, 0x56, 0xe2, 0x95, + 0x8b, 0x67, 0x07, 0xbf, 0xdd, 0x32, 0x57, 0x1c, 0x9b, 0x9a, 0x31, 0xcb, 0xb2, 0x2f, 0xf9, 0xc5, + 0xe7, 0xbd, 0x6d, 0x24, 0xaf, 0xd1, 0x55, 0xf4, 0xb7, 0x1a, 0x1c, 0x3c, 0x2f, 0x67, 0x6b, 0x69, + 0xd9, 0x7e, 0xa3, 0x8c, 0x14, 0x56, 0x16, 0x02, 0x22, 0x7b, 0xfd, 0xe4, 0x1b, 0x8e, 0xb0, 0x8d, + 0x6a, 0xc9, 0xce, 0x9b, 0x82, 0xd4, 0x40, 0x34, 0xb2, 0xe8, 0x2c, 0xf4, 0x63, 0xfc, 0x0b, 0x04, + 0xb6, 0x8c, 0x4a, 0xae, 0x08, 0x33, 0x1f, 0x5b, 0x1c, 0x25, 0x72, 0x71, 0x12, 0x9d, 0x5c, 0xef, + 0x99, 0x69, 0xc1, 0x21, 0xfc, 0x32, 0x45, 0xaa, 0xac, 0x9a, 0xa0, 0x07, 0xbe, 0x97, 0xa3, 0x41, + 0x9d, 0xe1, 0x18, 0x23, 0x73, 0xfd, 0x22, 0x4b, 0xc5, 0x32, 0x98, 0x0e, 0xd7, 0xc8, 0xd5, 0x0a, + 0xf6, 0xa1, 0x85, 0x3e, 0xa5, 0x6e, 0xde, 0x5c, 0x2e, 0xcb, 0x0e, 0x1e, 0x88, 0xfa, 0xd6, 0x33, + 0x49, 0x3b, 0xb6, 0xb7, 0xf6, 0x3f, 0xd1, 0x74, 0x0e, 0x91, 0xf6, 0x52, 0x74, 0xad, 0xe9, 0x28, + 0xf7, 0x1c, 0x42, 0x99, 0x2a, 0x86, 0x2a, 0xee, 0x56, 0x5e, 0x44, 0x85, 0xab, 0x09, 0xc5, 0x5f, + 0x7f, 0x78, 0x6c, 0x7b, 0x15, 0xc5, 0xda, 0xd5, 0x11, 0xe6, 0xd7, 0xc8, 0xef, 0x47, 0x30, 0x5b, + 0x02, 0x39, 0x02, 0x87, 0x01, 0x33, 0xf0, 0xbc, 0xed, 0xd9, 0x44, 0x6c, 0xeb, 0xdc, 0x3d, 0xa8, + 0x9f, 0x33, 0x98, 0x85, 0x63, 0x71, 0xe0, 0x4f, 0xc6, 0xfe, 0xeb, 0xf9, 0xcc, 0x5b, 0x01, 0xd6, + 0xa8, 0x52, 0x34, 0x9f, 0x8d, 0xc6, 0x4b, 0x7f, 0xc9, 0xdc, 0x23, 0x3c, 0xa7, 0x36, 0xb7, 0x09, + 0x10, 0x52, 0x24, 0x38, 0x8e, 0xec, 0x9d, 0x99, 0x85, 0x61, 0xcf, 0x4b, 0x7a, 0xeb, 0xce, 0xbf, + 0xc8, 0xe2, 0x1b, 0xad, 0xfd, 0xd7, 0x01, 0xb0, 0x30, 0xde, 0xff, 0x56, 0xce, 0x69, 0x16, 0xfd, + 0x4d, 0xf0, 0x69, 0x98, 0x53, 0xc9, 0x05, 0x2c, 0x6c, 0x32, 0x83, 0x9f, 0xdc, 0xdb, 0x77, 0x07, + 0x6d, 0x9a, 0x0f, 0x9f, 0xcf, 0xf8, 0x66, 0x97, 0xf0, 0x6f, 0x3f, 0x2f, 0x8f, 0x0a, 0xb9, 0x76, + 0x33, 0xce, 0x0b, 0x10, 0x86, 0x22, 0x64, 0x09, 0x96, 0x3e, 0xdc, 0xa7, 0x1f, 0x45, 0xc2, 0x0b, + 0x17, 0x9e, 0x5b, 0x62, 0x9d, 0x6a, 0xf8, 0xfe, 0x6c, 0xe9, 0xc2, 0xb2, 0xd4, 0x3c, 0xc7, 0xed, + 0x23, 0x93, 0xc2, 0x3a, 0x21, 0x5d, 0x35, 0x6c, 0x71, 0x83, 0x48, 0xb4, 0x79, 0x6d, 0xfb, 0x58, + 0x6b, 0x14, 0x20, 0xa0, 0x33, 0xdb, 0x63, 0x71, 0x7e, 0x26, 0x13, 0x6a, 0x10, 0x33, 0x8c, 0x85, + 0xc2, 0xae, 0xbc, 0xfd, 0x4d, 0xd3, 0xce, 0xfa, 0xc7, 0x38, 0x53, 0x0d, 0x69, 0xa6, 0x16, 0xfe, + 0x14, 0xf6, 0x0f, 0x10, 0x9d, 0xab, 0x6a, 0x64, 0x91, 0x8b, 0x21, 0xa5, 0x4f, 0x20, 0x08, 0xa5, + 0xc0, 0x48, 0x40, 0xb5, 0x91, 0xf6, 0x7b, 0xb7, 0xcf, 0x90, 0x14, 0xe9, 0x4c, 0x33, 0x5b, 0x7c, + 0x03, 0x1c, 0x25, 0xd5, 0x3e, 0x62, 0x0c, 0x5a, 0x6c, 0x6d, 0xd1, 0xac, 0xe4, 0xcf, 0xe4, 0x79, + 0x40, 0x51, 0x7b, 0xf4, 0xd5, 0xac, 0xf2, 0x71, 0x3e, 0x14, 0xc3, 0x45, 0x89, 0x62, 0x2a, 0xf6, + 0x05, 0x03, 0xd3, 0x79, 0x08, 0x7e, 0xd5, 0x97, 0xc7, 0x6c, 0xbd, 0xb1, 0xf9, 0x6f, 0xda, 0x65, + 0xa2, 0x2c, 0xfb, 0x68, 0xbd, 0xe1, 0x19, 0xf6, 0x46, 0xc3, 0x80, 0x4d, 0xfa, 0x4a, 0xeb, 0x60, + 0xb3, 0x6f, 0x1b, 0xae, 0x4b, 0xd4, 0x8c, 0xa4, 0xeb, 0xc1, 0x41, 0xeb, 0x3c, 0xb1, 0x5c, 0x8e, + 0x96, 0x7b, 0xb5, 0xa8, 0x26, 0x37, 0x8c, 0x29, 0xfa, 0x85, 0x5e, 0xfb, 0xb5, 0x9f, 0xe9, 0x9d, + 0xf2, 0xca, 0x4e, 0x4d, 0x4e, 0x76, 0x42, 0x60, 0x94, 0xf8, 0xa4, 0xe5, 0x87, 0x45, 0xaa, 0x52, + 0x9b, 0x9d, 0x84, 0xa6, 0xc9, 0x75, 0x72, 0x84, 0xc3, 0xb7, 0x70, 0x75, 0xb0, 0x41, 0x16, 0x16, + 0xb8, 0x64, 0xe9, 0x3b, 0x44, 0x6c, 0xff, 0xd0, 0x2f, 0x67, 0x3b, 0x0c, 0x94, 0x1f, 0xec, 0x36, + 0x7f, 0x79, 0xcc, 0xc3, 0x94, 0x43, 0xef, 0x65, 0xb5, 0xbc, 0x42, 0x64, 0x5c, 0x06, 0xb9, 0x48, + 0xe0, 0x4f, 0x90, 0xf1, 0x23, 0x03, 0x96, 0x94, 0x39, 0x9d, 0x3a, 0xf3, 0x93, 0x3c, 0x4c, 0x75, + 0x56, 0x0a, 0x03, 0x05, 0xb3, 0xbe, 0x81, 0x82, 0x9e, 0x86, 0xf5, 0x4b, 0xee, 0x05, 0x4a, 0xc0, + 0xfe, 0x81, 0x6b, 0x64, 0x3a, 0x15, 0xfc, 0xa2, 0x93, 0x7f, 0xe0, 0x0d, 0xdb, 0x05, 0xbc, 0x8e, + 0xc9, 0xf6, 0xd1, 0x5c, 0xf5, 0xfd, 0x37, 0x59, 0xa3, 0x4d, 0x5d, 0xc7, 0x4e, 0xea, 0xb3, 0xc8, + 0x71, 0x83, 0x8e, 0x76, 0x06, 0xe3, 0x68, 0xf0, 0x8b, 0x7f, 0x0a, 0x54, 0xa5, 0xe6, 0xf4, 0x7e, + 0x25, 0x71, 0x51, 0x49, 0xb8, 0x30, 0x63, 0x24, 0x48, 0x3c, 0x11, 0xa7, 0xdb, 0x8d, 0xf3, 0xba, + 0xb3, 0x89, 0x68, 0xd0, 0xb9, 0x6f, 0xf9, 0x42, 0x66, 0x2d, 0x67, 0xc7, 0xfc, 0x14, 0x89, 0x2a, + 0x8d, 0x64, 0xae, 0xd7, 0x93, 0x93, 0x1b, 0xaf, 0x2e, 0x6d, 0x7b, 0x25, 0x83, 0xe6, 0xb9, 0x0a, + 0xc3, 0xf3, 0xc7, 0x3e, 0x71, 0x2f, 0x82, 0x21, 0xfa, 0x45, 0x73, 0xf8, 0xc9, 0x41, 0x8a, 0xa6, + 0x1d, 0x76, 0x40, 0xb8, 0x3f, 0x52, 0x75, 0xb1, 0xd0, 0xbc, 0xa6, 0x4e, 0x23, 0x42, 0x2d, 0x3a, + 0xe5, 0x1c, 0x37, 0x57, 0x4d, 0x11, 0xbf, 0xe4, 0x6b, 0x50, 0xc4, 0x7f, 0xdf, 0x2f, 0x35, 0xbd, + 0x50, 0x1c, 0x97, 0x10, 0xfe, 0x89, 0x45, 0x63, 0x55, 0xe8, 0xd5, 0x35, 0x2b, 0x5f, 0xa2, 0x85, + 0xa7, 0xbe, 0x33, 0x4a, 0x46, 0xaa, 0xe0, 0xcc, 0x73, 0x9b, 0xfa, 0x54, 0x36, 0x77, 0xce, 0x7f, + 0xc3, 0xa4, 0x07, 0xe2, 0x92, 0x34, 0x47, 0x8a, 0x41, 0x8d, 0x0f, 0x93, 0x12, 0x3f, 0x3f, 0xb7, + 0x98, 0x82, 0xbc, 0x08, 0xbb, 0x42, 0x12, 0xda, 0x91, 0x43, 0x35, 0xfc, 0x82, 0x94, 0x86, 0x0d, + 0x38, 0x56, 0xcc, 0x3e, 0x77, 0x05, 0x95, 0xb4, 0xa2, 0xd3, 0xf4, 0x91, 0xa2, 0x15, 0xe5, 0x8e, + 0xe2, 0x0a, 0x24, 0x53, 0x2d, 0x27, 0x26, 0xc0, 0x7e, 0xe2, 0xa9, 0x70, 0x70, 0xc8, 0x75, 0xd5, + 0xf8, 0xbe, 0x5e, 0x11, 0xdc, 0x1b, 0x8e, 0x5c, 0x5e, 0xee, 0x6a, 0xd9, 0xed, 0x11, 0x08, 0xf8, + 0xf4, 0xa8, 0x53, 0x95, 0x25, 0x58, 0xed, 0x59, 0xf9, 0xa6, 0x1c, 0x3f, 0x8e, 0x93, 0x69, 0x1c, + 0x4f, 0x0c, 0x55, 0xa7, 0xf1, 0x2a, 0xf7, 0x1e, 0x33, 0x9a, 0x27, 0xfd, 0x17, 0x0b, 0xcd, 0xae, + 0x16, 0x02, 0x7b, 0x5b, 0xb0, 0xd7, 0xd4, 0x1c, 0x5d, 0x33, 0x75, 0xe2, 0x66, 0xb1, 0x5f, 0x52, + 0x23, 0xf3, 0xc6, 0x51, 0xf3, 0x5b, 0x8e, 0x38, 0xb2, 0xa8, 0x75, 0x5b, 0x39, 0x3a, 0x5d, 0x64, + 0x91, 0x5d, 0xca, 0x68, 0x25, 0xf9, 0x4a, 0xa5, 0x89, 0xe1, 0x74, 0xae, 0x8e, 0xcf, 0xd3, 0x1a, + 0xde, 0x78, 0xeb, 0xa4, 0xf0, 0x9a, 0xae, 0x2a, 0xab, 0x27, 0xe3, 0x3a, 0xcf, 0x50, 0xa9, 0x5a, + 0xfe, 0x12, 0x24, 0x3b, 0xaa, 0xf5, 0x0f, 0xe1, 0x0e, 0x39, 0xe4, 0xd3, 0xc5, 0x7b, 0x3f, 0xed, + 0x0b, 0xc2, 0x32, 0x4e, 0xe9, 0x33, 0xfb, 0x04, 0xdb, 0xcc, 0xc2, 0xee, 0xa7, 0x44, 0xdb, 0x5a, + 0x59, 0xde, 0xa9, 0xae, 0x11, 0xa9, 0x0b, 0x5c, 0x95, 0x19, 0xc0, 0xf4, 0x40, 0x6c, 0x9b, 0x1e, + 0x04, 0xbd, 0x81, 0xfc, 0x0a, 0x48, 0x93, 0x94, 0xc6, 0x87, 0xec, 0x91, 0x63, 0x0d, 0xed, 0xea, + 0x85, 0xbc, 0xaf, 0xf2, 0x85, 0x2d, 0xdd, 0xe5, 0x91, 0xf3, 0xaa, 0xea, 0xbb, 0x0e, 0xe8, 0xb0, + 0x51, 0xe8, 0xbf, 0xed, 0xac, 0x4b, 0x16, 0x5f, 0x1e, 0xc1, 0xa1, 0xfc, 0x1e, 0x35, 0x3d, 0x97, + 0x69, 0x8a, 0x07, 0x24, 0x07, 0xf2, 0xb0, 0x35, 0xd0, 0xa5, 0xdc, 0x81, 0xb0, 0x3e, 0x70, 0x43, + 0x06, 0x0f, 0xa8, 0xbb, 0x24, 0x3e, 0x58, 0x9d, 0x0d, 0x7a, 0xab, 0x66, 0x92, 0x51, 0x91, 0x9b, + 0xdf, 0x83, 0xba, 0x13, 0x75, 0x1c, 0x32, 0xeb, 0x1c, 0xc2, 0x3e, 0xfd, 0x46, 0x30, 0xeb, 0x82, + 0x38, 0x5d, 0x5d, 0xab, 0x96, 0xf3, 0xe1, 0xf0, 0xc7, 0xad, 0x46, 0x14, 0x71, 0xbd, 0xfc, 0x7b, + 0xc2, 0xe7, 0x23, 0x4a, 0x25, 0x84, 0xa0, 0xb1, 0x61, 0x85, 0xd5, 0x9f, 0x5a, 0x9c, 0x99, 0xe9, + 0x6a, 0x70, 0xfc, 0xcf, 0x57, 0x93, 0xcc, 0xe9, 0x68, 0xe9, 0x11, 0xab, 0x1b, 0x85, 0x3b, 0x66, + 0x4b, 0xf7, 0x0f, 0xb3, 0x61, 0xd2, 0xbf, 0x02, 0xac, 0xe4, 0xd5, 0x97, 0xe3, 0xce, 0xf0, 0xed, + 0xe0, 0x50, 0xc8, 0x27, 0x7e, 0xa0, 0x46, 0x04, 0xd5, 0x1b, 0x22, 0x42, 0x34, 0x14, 0xd6, 0x13, + 0x79, 0x73, 0x6a, 0x8f, 0xde, 0xb2, 0x37, 0x24, 0xa9, 0xb4, 0x7d, 0x8b, 0x29, 0x28, 0xef, 0x07, + 0x48, 0x3e, 0x96, 0x21, 0x59, 0x96, 0x9f, 0x00, 0xc9, 0xdf, 0xc6, 0xef, 0xe9, 0x9f, 0xd6, 0xdd, + 0x63, 0x62, 0x12, 0x4c, 0x49, 0xbf, 0xc4, 0x4e, 0x62, 0x4d, 0xca, 0x4f, 0xce, 0xfc, 0x7f, 0x1f, + 0x93, 0x32, 0x0b, 0xc1, 0x80, 0xcd, 0xab, 0xe5, 0xec, 0x15, 0xb9, 0x30, 0x61, 0x74, 0x5c, 0x17, + 0x2f, 0x4c, 0xf2, 0x1d, 0xfb, 0x3f, 0x76, 0x2e, 0x4d, 0xc1, 0xd6, 0x7b, 0x90, 0x99, 0x8d, 0x79, + 0xcf, 0xff, 0xcb, 0x6d, 0xb1, 0x5d, 0xdc, 0x2d, 0x42, 0x46, 0x29, 0x0f, 0xa1, 0x91, 0xa3, 0xc6, + 0x87, 0x8a, 0x24, 0x73, 0xa4, 0x92, 0x42, 0x2c, 0x56, 0xdd, 0xe3, 0xaf, 0x4a, 0x3d, 0xe5, 0xb7, + 0x46, 0x6e, 0xf1, 0xfd, 0xca, 0x1a, 0x3e, 0x59, 0x29, 0xa1, 0xc2, 0xcc, 0xe4, 0xca, 0x7d, 0xfc, + 0x5e, 0xcb, 0x66, 0xa7, 0x5e, 0xd0, 0x33, 0xed, 0x4e, 0x68, 0x4b, 0x82, 0xa9, 0x2d, 0x75, 0x3c, + 0xfb, 0x8f, 0xd3, 0x29, 0x3e, 0x29, 0x63, 0x89, 0xfa, 0xe4, 0xcc, 0x5e, 0xdc, 0xbd, 0xef, 0xae, + 0x48, 0x94, 0x33, 0xe6, 0x43, 0x65, 0xf8, 0x4b, 0xa6, 0xe7, 0x80, 0xc9, 0xff, 0x28, 0xd1, 0xb2, + 0x9d, 0x22, 0xe9, 0x67, 0xa0, 0x3b, 0x5f, 0x28, 0x67, 0x55, 0xbb, 0xbd, 0xb0, 0x5c, 0xca, 0x9f, + 0x56, 0x74, 0x56, 0x7f, 0x93, 0xef, 0xb1, 0xa0, 0x13, 0x36, 0xf1, 0x34, 0x92, 0x6b, 0x51, 0xb1, + 0x12, 0x38, 0x0d, 0xde, 0x8c, 0x75, 0x3b, 0x89, 0xa7, 0xf6, 0x55, 0xf6, 0xdb, 0xf9, 0x9c, 0x92, + 0x5a, 0x2a, 0x65, 0x55, 0x28, 0x90, 0x01, 0x4f, 0xac, 0xb7, 0x15, 0xcd, 0x8f, 0x6f, 0xf9, 0xff, + 0xa1, 0xa1, 0xaf, 0x70, 0xa3, 0x19, 0xba, 0xf4, 0x00, 0x2b, 0x58, 0xf2, 0xe3, 0x51, 0x51, 0x7c, + 0xcd, 0x5e, 0xaa, 0x1d, 0xa2, 0xf0, 0x9e, 0x7e, 0xcd, 0x32, 0x6b, 0x95, 0x74, 0xf2, 0x72, 0x73, + 0xd4, 0x26, 0x04, 0x17, 0xa0, 0x13, 0x18, 0xf9, 0x71, 0x10, 0xcb, 0xe0, 0x71, 0x6c, 0x79, 0x5b, + 0xcb, 0xb6, 0xad, 0x60, 0xe5, 0xa0, 0x01, 0x36, 0x29, 0xf6, 0x1e, 0x95, 0xe0, 0x0b, 0xba, 0xf1, + 0x31, 0x19, 0xfa, 0xb6, 0x43, 0xf3, 0xd9, 0x53, 0xcc, 0xea, 0x27, 0x22, 0x2a, 0x5e, 0xd5, 0x5b, + 0x9b, 0x5b, 0x71, 0xc5, 0x39, 0x71, 0xf3, 0xa2, 0x68, 0x6b, 0xfd, 0x54, 0xfb, 0x2b, 0x3f, 0x39, + 0x7b, 0xdc, 0x90, 0x05, 0xab, 0x4e, 0xda, 0x26, 0xac, 0xed, 0xd7, 0xd1, 0x35, 0x89, 0x18, 0x10, + 0xf5, 0xc8, 0x67, 0x1e, 0x93, 0x1b, 0x96, 0xab, 0x67, 0x3c, 0xc2, 0x79, 0x0b, 0xc3, 0x1e, 0xf8, + 0xc6, 0xed, 0x90, 0x78, 0x35, 0x9e, 0x32, 0x87, 0xa9, 0x1a, 0x1f, 0x13, 0x3b, 0x5c, 0x08, 0x83, + 0x62, 0xd2, 0x8a, 0x2f, 0x0d, 0x3a, 0xa5, 0x96, 0x56, 0x58, 0x59, 0x25, 0x35, 0x7f, 0x1a, 0xf9, + 0xfc, 0xbe, 0x02, 0x73, 0xb9, 0xf8, 0xc1, 0xad, 0x62, 0x57, 0x1c, 0x75, 0xc8, 0xab, 0x45, 0xe7, + 0x11, 0x85, 0xa4, 0x2f, 0x2a, 0x5c, 0xbd, 0x38, 0xd6, 0x61, 0xb7, 0xda, 0xce, 0xd3, 0x7e, 0xa5, + 0x19, 0x10, 0x44, 0x4e, 0x99, 0x30, 0x45, 0x99, 0x54, 0xe0, 0x77, 0x5b, 0xca, 0x02, 0xd8, 0xb0, + 0x4b, 0xd7, 0xe2, 0x7c, 0xda, 0x19, 0xab, 0x7d, 0xec, 0x6e, 0x08, 0x01, 0xce, 0xbf, 0xb8, 0x38, + 0x9f, 0x16, 0xe9, 0xc3, 0x81, 0xab, 0x19, 0x05, 0x44, 0x77, 0xe3, 0x2e, 0x56, 0xa0, 0x0d, 0x47, + 0x93, 0x24, 0xc8, 0x9a, 0x72, 0x2e, 0xe1, 0x97, 0x00, 0xd3, 0x1e, 0x08, 0x25, 0x70, 0x33, 0x0d, + 0xc2, 0x7e, 0x9e, 0xc0, 0x2e, 0xf7, 0x93, 0xcc, 0xc6, 0xca, 0x84, 0x1d, 0x51, 0x57, 0x55, 0xa8, + 0x7b, 0xc2, 0x7b, 0xf2, 0x28, 0x2c, 0x8c, 0xd7, 0x5f, 0x05, 0xe6, 0x96, 0x93, 0xef, 0x2b, 0x30, + 0x72, 0x48, 0xd3, 0x4c, 0x52, 0x40, 0xe1, 0x1f, 0xbf, 0x66, 0xb8, 0xc3, 0x3f, 0x43, 0x32, 0x6e, + 0x17, 0x7d, 0x5d, 0x4a, 0xcf, 0xff, 0x60, 0x2a, 0xc3, 0x53, 0xb0, 0xa3, 0x79, 0xff, 0x34, 0xe5, + 0x3a, 0x85, 0x8f, 0x7c, 0xd0, 0x92, 0x88, 0x3f, 0xc7, 0x64, 0x40, 0xf6, 0x3c, 0x7f, 0xa2, 0x2e, + 0x12, 0xaa, 0xba, 0x02, 0x6a, 0x74, 0x75, 0x4d, 0x37, 0xe5, 0xa5, 0xcb, 0xbf, 0x1c, 0x76, 0x7b, + 0xc9, 0x44, 0x8a, 0x8d, 0x7a, 0xa3, 0xb7, 0xcc, 0x1b, 0x93, 0x5d, 0xaf, 0xe1, 0x7f, 0x32, 0x18, + 0xb1, 0xb1, 0xfd, 0x4b, 0xf4, 0x79, 0x11, 0x1d, 0x49, 0x65, 0xb0, 0x97, 0x93, 0x9b, 0x69, 0xc3, + 0x6b, 0x11, 0x20, 0xb6, 0xc8, 0x96, 0x43, 0xc1, 0x12, 0xfd, 0x83, 0x96, 0x82, 0xe9, 0x7d, 0xef, + 0x10, 0xe2, 0x37, 0x2f, 0x95, 0x47, 0xd0, 0x8c, 0x6b, 0xe8, 0x47, 0xbf, 0x16, 0x63, 0xc4, 0xf3, + 0xde, 0x3e, 0x44, 0x57, 0xfd, 0x42, 0xd1, 0x74, 0x83, 0xb4, 0x29, 0xba, 0xc5, 0xd6, 0x60, 0x97, + 0x6d, 0x80, 0xc5, 0xb4, 0x66, 0x5b, 0x71, 0x77, 0xed, 0x1f, 0xaa, 0x08, 0x92, 0x97, 0x4d, 0xd7, + 0x8c, 0xe9, 0x35, 0x2b, 0xfc, 0xec, 0xd2, 0x4a, 0x45, 0xf9, 0x2f, 0xbc, 0x88, 0xd3, 0xc6, 0xf2, + 0xc6, 0xc5, 0x12, 0x49, 0x14, 0xfd, 0xf2, 0xfb, 0x8e, 0x66, 0x8d, 0x3d, 0x40, 0x7f, 0xfb, 0xea, + 0x59, 0xfa, 0x1d, 0x47, 0x45, 0xa0, 0x68, 0x32, 0x34, 0x51, 0x56, 0x55, 0xa6, 0x34, 0xcf, 0x92, + 0x8a, 0x99, 0xbd, 0x80, 0x32, 0x49, 0x6a, 0x36, 0x58, 0x42, 0xc0, 0xc0, 0xed, 0x84, 0xe4, 0xcd, + 0xee, 0x57, 0x5b, 0x3d, 0xd3, 0xb9, 0xfd, 0x32, 0xb0, 0x61, 0x6e, 0x76, 0x8c, 0xee, 0xb5, 0x16, + 0x9f, 0x17, 0x82, 0x38, 0x61, 0x11, 0x4b, 0x32, 0xc4, 0xb6, 0x8a, 0x4c, 0x1b, 0xb2, 0xab, 0xe9, + 0x11, 0x9b, 0x5e, 0x8c, 0x41, 0x6f, 0xf2, 0xad, 0x02, 0xc7, 0xea, 0x01, 0x88, 0xc6, 0x5d, 0x05, + 0xff, 0xf4, 0x30, 0xa1, 0xae, 0x71, 0x78, 0xed, 0xac, 0xc5, 0x76, 0x02, 0x8c, 0x51, 0x34, 0xe8, + 0x56, 0xcd, 0x3b, 0xdd, 0x0e, 0xd3, 0x65, 0x47, 0xe8, 0xab, 0xfc, 0x71, 0xf1, 0x30, 0x3b, 0x62, + 0x3b, 0x98, 0x2b, 0xfa, 0x56, 0x3d, 0xc1, 0x80, 0x18, 0x3a, 0x95, 0x17, 0x59, 0x78, 0x8f, 0xb0, + 0xb6, 0x09, 0x23, 0x7c, 0x23, 0x3c, 0xf6, 0xb8, 0x4f, 0x52, 0x9e, 0xfb, 0xf8, 0xa2, 0xaa, 0x72, + 0xf8, 0x71, 0x74, 0x68, 0xf7, 0xef, 0xd9, 0xaf, 0xf5, 0xf8, 0xa4, 0x5b, 0x36, 0x19, 0x29, 0x85, + 0x2b, 0x3f, 0x04, 0x41, 0xb4, 0x0f, 0x05, 0x33, 0x65, 0x6a, 0xb8, 0x66, 0x86, 0xaf, 0x6e, 0xcf, + 0xaf, 0x6f, 0x19, 0x6b, 0x7f, 0x05, 0x9e, 0xa8, 0x61, 0x33, 0x79, 0x2e, 0x8a, 0x3e, 0xea, 0x92, + 0x3a, 0x33, 0xe5, 0x23, 0xbf, 0xcf, 0xf8, 0xd8, 0x7b, 0x5e, 0x1f, 0xd3, 0x7d, 0x4e, 0x5a, 0x2b, + 0xb8, 0x41, 0x1a, 0x5b, 0x67, 0x38, 0xcf, 0xf9, 0xb7, 0xa7, 0x4d, 0x80, 0x19, 0x35, 0xc4, 0xf6, + 0xa1, 0x6d, 0x48, 0xab, 0xb5, 0x09, 0x01, 0x03, 0x7c, 0xfa, 0xbd, 0x7e, 0x57, 0x7d, 0x07, 0x5a, + 0x50, 0x18, 0xee, 0x67, 0xf1, 0x0f, 0x2c, 0xf8, 0x13, 0xfd, 0x80, 0xa5, 0xf7, 0x6a, 0x6f, 0x60, + 0x80, 0x47, 0xca, 0xea, 0xc4, 0xa5, 0x7d, 0xfd, 0xa5, 0x54, 0x11, 0x0f, 0x2c, 0x48, 0xc6, 0x40, + 0xae, 0x0a, 0x50, 0xe9, 0xe3, 0x00, 0xc8, 0xf7, 0x39, 0x00, 0xc7, 0xc7, 0x55, 0x4f, 0x84, 0xb2, + 0x67, 0x1e, 0x79, 0xd1, 0x65, 0xdf, 0xd0, 0x72, 0x2d, 0x9f, 0x77, 0x55, 0x75, 0x26, 0x03, 0xd3, + 0x57, 0x03, 0x24, 0xf6, 0xde, 0x44, 0xe8, 0x43, 0xf5, 0xee, 0x93, 0x37, 0x57, 0x50, 0xd2, 0xd9, + 0xca, 0x95, 0xeb, 0xbe, 0xf7, 0xea, 0x60, 0x4a, 0x32, 0x2d, 0x39, 0xe7, 0xf4, 0xc8, 0x91, 0xa4, + 0xd9, 0x25, 0x44, 0x43, 0x9e, 0x2e, 0x83, 0xf9, 0xfd, 0x13, 0x35, 0xf0, 0x95, 0x24, 0x7d, 0xd0, + 0x26, 0xb0, 0x13, 0x5b, 0x37, 0x43, 0xc1, 0xae, 0xef, 0x4c, 0xfa, 0xe4, 0x09, 0xeb, 0x9d, 0xe3, + 0x07, 0x73, 0xd8, 0xb7, 0x26, 0xf9, 0x81, 0x17, 0x3f, 0x6b, 0x58, 0x9a, 0xb7, 0xdc, 0x6e, 0x2d, + 0x9c, 0x1a, 0xef, 0xb6, 0xde, 0x33, 0x96, 0x78, 0xb3, 0x03, 0x0e, 0x80, 0x1a, 0x42, 0xb3, 0x0c, + 0x44, 0xf0, 0xc0, 0xb2, 0x27, 0xca, 0xa4, 0xf8, 0xf9, 0x5e, 0x42, 0x5c, 0xee, 0xfa, 0x07, 0xca, + 0x33, 0x9d, 0x99, 0xd6, 0x1a, 0xe8, 0x0b, 0x27, 0xfd, 0xc5, 0xf5, 0xbe, 0xc9, 0x30, 0x88, 0xff, + 0x7d, 0x6f, 0x23, 0x47, 0xfb, 0x7f, 0x0d, 0x29, 0xb0, 0xbb, 0xbb, 0xfa, 0x12, 0xc1, 0x04, 0xa8, + 0x1e, 0x93, 0xfa, 0xb1, 0x24, 0x5c, 0xfe, 0xfb, 0xf2, 0x2c, 0x2f, 0x4e, 0xbe, 0xfe, 0x12, 0x84, + 0x84, 0x65, 0x69, 0x34, 0x62, 0x22, 0xd7, 0xa1, 0x87, 0x51, 0x81, 0x83, 0x1f, 0xa9, 0xa5, 0xb6, + 0xf4, 0x83, 0x07, 0x86, 0x91, 0x22, 0xcf, 0x3a, 0x44, 0x53, 0xed, 0x33, 0x09, 0x01, 0xbf, 0x1a, + 0x3d, 0x57, 0x0e, 0x22, 0xc7, 0x16, 0x86, 0x53, 0x53, 0x51, 0xec, 0xbd, 0xb1, 0x38, 0xe8, 0xd8, + 0x90, 0xab, 0x49, 0xc3, 0xa3, 0xeb, 0x6f, 0x1f, 0x4e, 0x19, 0x29, 0xea, 0x30, 0x6e, 0xb8, 0x23, + 0x33, 0x69, 0x4d, 0x4a, 0xbe, 0xc2, 0x74, 0xe9, 0x21, 0x75, 0xaf, 0x87, 0x07, 0xe3, 0xe0, 0xe9, + 0xd8, 0x7e, 0x49, 0xf4, 0x9c, 0xb4, 0x9c, 0x1d, 0xe4, 0xc9, 0x96, 0x09, 0xd2, 0xc3, 0xc3, 0x2b, + 0x10, 0x49, 0x51, 0x98, 0xd9, 0x2e, 0xa3, 0xa0, 0x3d, 0x03, 0x69, 0x45, 0x58, 0x78, 0xf2, 0xaa, + 0x57, 0x4a, 0x76, 0x7e, 0x95, 0xce, 0xc9, 0xaa, 0xa9, 0xb9, 0x94, 0x8f, 0xfb, 0x0b, 0xdd, 0x45, + 0x43, 0x2c, 0x6e, 0x8b, 0xbf, 0x72, 0xf3, 0x14, 0x1c, 0x3c, 0x34, 0x44, 0x0f, 0x6c, 0x1e, 0xcc, + 0xf3, 0x3d, 0x6a, 0x9c, 0xc2, 0xf5, 0x0f, 0x9d, 0x88, 0x66, 0xae, 0xc8, 0x45, 0x8e, 0x4f, 0xa2, + 0xb4, 0x63, 0xfd, 0x87, 0x4d, 0xb3, 0xd6, 0x6b, 0xf8, 0xe6, 0x9f, 0x2c, 0x5e, 0xc5, 0x3e, 0x97, + 0xb7, 0x2f, 0x01, 0xde, 0xe8, 0x49, 0x3a, 0xee, 0xd3, 0xa6, 0x42, 0x4d, 0xe0, 0x7a, 0xe0, 0x59, + 0x34, 0x3f, 0x04, 0xf2, 0x17, 0x9c, 0x74, 0x59, 0x22, 0xff, 0xae, 0x47, 0xf7, 0x46, 0xc0, 0x46, + 0xbf, 0x47, 0x37, 0x8b, 0x90, 0x05, 0x2e, 0x4d, 0x55, 0xa5, 0x3a, 0xf6, 0x1e, 0xfb, 0x1a, 0xf5, + 0x79, 0x3f, 0x9a, 0xcd, 0xf4, 0xa6, 0x8f, 0x93, 0x3b, 0xe0, 0xb5, 0xb9, 0xff, 0x34, 0x9e, 0x23, + 0x10, 0x69, 0x05, 0xdd, 0x53, 0x17, 0x76, 0x2d, 0x38, 0x11, 0x7e, 0xd8, 0xcd, 0xd0, 0xe0, 0x6f, + 0xa2, 0xe9, 0x3c, 0x2f, 0x07, 0xd5, 0xd0, 0x5f, 0x25, 0xb8, 0xad, 0xc0, 0x9c, 0x9a, 0xd2, 0x49, + 0x88, 0x34, 0x5f, 0xda, 0x7b, 0x10, 0xec, 0x1f, 0xcc, 0x29, 0xfe, 0x27, 0x86, 0xf3, 0x2f, 0xd8, + 0x0f, 0x55, 0x8c, 0x8a, 0x4d, 0x2e, 0x94, 0x52, 0xe9, 0x84, 0x11, 0x61, 0x24, 0xca, 0x55, 0x67, + 0x0e, 0xe4, 0x02, 0x7b, 0x02, 0x42, 0xcc, 0xbb, 0x1d, 0xe8, 0xd3, 0xd4, 0x3e, 0xa4, 0xfb, 0xa3, + 0xdd, 0xb7, 0x23, 0x34, 0x33, 0xf4, 0x7e, 0x21, 0x1e, 0x18, 0x13, 0x2f, 0x59, 0x02, 0xca, 0x84, + 0x65, 0x23, 0x9c, 0xac, 0xfd, 0xac, 0x18, 0xe7, 0x58, 0x9a, 0xde, 0xcc, 0xd2, 0x5d, 0xdf, 0xda, + 0x72, 0x8d, 0xe0, 0x94, 0xe5, 0xc3, 0x1a, 0x1e, 0x21, 0xce, 0x87, 0x8a, 0xdc, 0xe8, 0x81, 0xb4, + 0x7c, 0x3d, 0xfc, 0x67, 0x60, 0x72, 0x73, 0xd8, 0x9c, 0xef, 0x85, 0x6b, 0x8f, 0x0e, 0x0b, 0x67, + 0x84, 0xb3, 0xc3, 0x7e, 0x10, 0xa5, 0x00, 0x1f, 0x09, 0x46, 0x97, 0x6c, 0x08, 0x83, 0xc0, 0x66, + 0x19, 0x29, 0xb1, 0xd0, 0xf8, 0xec, 0x2f, 0x8d, 0x2d, 0xa4, 0x79, 0x05, 0xa8, 0x5f, 0x85, 0x8e, + 0x6e, 0x4c, 0xae, 0x6b, 0x22, 0xc4, 0x75, 0xc3, 0x45, 0xf6, 0xac, 0xec, 0x23, 0x40, 0x75, 0x23, + 0x16, 0xb1, 0x06, 0x52, 0x45, 0x0b, 0x21, 0xeb, 0x8a, 0x8d, 0x1c, 0xaf, 0xa5, 0x85, 0x1d, 0x46, + 0x8f, 0x80, 0x87, 0x71, 0x6a, 0x9e, 0x47, 0x24, 0x57, 0x94, 0x38, 0x1f, 0x7a, 0x5e, 0xda, 0xab, + 0x1d, 0xdd, 0x7f, 0x59, 0xbd, 0x81, 0xad, 0x3b, 0xa4, 0x2d, 0x34, 0x74, 0x16, 0x4f, 0xe3, 0xf0, + 0xb2, 0xba, 0x06, 0x87, 0x1d, 0xa5, 0x7f, 0x52, 0x52, 0xe8, 0xff, 0xfd, 0xcd, 0x32, 0x2f, 0x94, + 0xab, 0xf5, 0x7d, 0xa5, 0xe1, 0xcc, 0x5e, 0x06, 0x5c, 0xf0, 0x65, 0xa7, 0x0c, 0x86, 0x24, 0x1b, + 0xd4, 0x80, 0xbb, 0x1e, 0x3a, 0x27, 0xd1, 0xb9, 0xac, 0xa4, 0x8c, 0x36, 0xba, 0x6a, 0x97, 0x0f, + 0x25, 0x58, 0x47, 0x7c, 0x84, 0xb3, 0x1f, 0x97, 0x4d, 0x9c, 0x5d, 0x61, 0x80, 0xf3, 0xdb, 0x90, + 0x1c, 0xec, 0x10, 0x59, 0x91, 0x70, 0xb1, 0x20, 0x54, 0xcb, 0x50, 0x62, 0x59, 0x10, 0x0c, 0x56, + 0x47, 0xfb, 0xfb, 0x22, 0x25, 0xc1, 0xdf, 0xf6, 0xb1, 0xf9, 0x0c, 0x91, 0x88, 0x1e, 0x53, 0x56, + 0x8a, 0xde, 0xb3, 0x55, 0x49, 0x99, 0x32, 0xa3, 0x0c, 0xb9, 0xe4, 0xc9, 0xbe, 0x8d, 0x35, 0x32, + 0x11, 0xab, 0x11, 0x6a, 0x19, 0xa5, 0xdb, 0xcd, 0x98, 0xae, 0xcd, 0x40, 0xa4, 0x56, 0x57, 0xcb, + 0x4c, 0xf0, 0x2a, 0xc1, 0xa1, 0x6b, 0x7e, 0xb2, 0xb7, 0x96, 0x74, 0x79, 0x47, 0x12, 0x3f, 0x34, + 0x13, 0xf6, 0x2f, 0xcd, 0x06, 0xfc, 0xc7, 0x12, 0x9c, 0x0e, 0x5c, 0x0f, 0x20, 0xd0, 0x64, 0xf7, + 0xd5, 0x49, 0x94, 0xa1, 0xb0, 0x09, 0xf6, 0x34, 0xc9, 0x5e, 0xba, 0xa4, 0xab, 0x8f, 0x07, 0x32, + 0xcd, 0x32, 0x53, 0xa0, 0x51, 0xb5, 0xe7, 0x6e, 0x84, 0xdf, 0x3a, 0xe5, 0x47, 0xc0, 0xbf, 0xa5, + 0x28, 0x2a, 0xa3, 0xba, 0x8c, 0x95, 0x13, 0xab, 0x63, 0xe6, 0x2d, 0x48, 0xd9, 0xb3, 0xb8, 0xea, + 0x05, 0x21, 0x5f, 0x19, 0x84, 0x12, 0x6c, 0x2f, 0x71, 0xaa, 0xe4, 0xd2, 0xe2, 0x1b, 0x02, 0x9a, + 0xd9, 0xb3, 0x79, 0x9f, 0xcd, 0xcf, 0xe7, 0x9d, 0x46, 0xa9, 0x86, 0xb3, 0xd9, 0xd4, 0xe8, 0x8b, + 0x40, 0x62, 0x7b, 0x02, 0xbb, 0xb3, 0x9c, 0x69, 0x05, 0xcf, 0x1b, 0x77, 0xe3, 0x6d, 0x94, 0x26, + 0x1e, 0x08, 0xcc, 0xa6, 0xba, 0x88, 0x99, 0x8a, 0x3a, 0x92, 0x40, 0xb5, 0xcf, 0x94, 0xc2, 0x2c, + 0xf5, 0x85, 0xf0, 0xfd, 0x21, 0xa2, 0xa0, 0x36, 0x65, 0x3f, 0x45, 0x77, 0x8e, 0x6d, 0x7f, 0x60, + 0x6f, 0x96, 0xbd, 0x6c, 0x83, 0x22, 0x3c, 0x9e, 0x2b, 0xce, 0x17, 0xed, 0xd3, 0x14, 0x71, 0xf2, + 0x6e, 0xd5, 0xb1, 0x1a, 0xaf, 0x12, 0x20, 0x51, 0x3e, 0x1e, 0x7d, 0x13, 0x40, 0xc3, 0x95, 0x92, + 0x3f, 0x1f, 0xa6, 0xa8, 0xa4, 0x50, 0x05, 0x11, 0xaa, 0x51, 0xc9, 0xe1, 0x91, 0x70, 0x24, 0xa5, + 0xab, 0xe6, 0x07, 0x43, 0x86, 0xa5, 0xc2, 0xc2, 0x87, 0xd9, 0x82, 0x37, 0x69, 0xd8, 0xcb, 0x33, + 0xea, 0x5f, 0x53, 0x50, 0xaa, 0xed, 0x35, 0xa5, 0x37, 0x5c, 0x7b, 0x4b, 0x40, 0x66, 0xdb, 0xad, + 0xcf, 0xf4, 0xb6, 0xcd, 0x16, 0x1c, 0xa6, 0xbf, 0xbd, 0xa5, 0x05, 0xa6, 0x34, 0xf4, 0x2c, 0xfb, + 0xd7, 0x04, 0xc1, 0x79, 0xa9, 0xeb, 0x5f, 0x4f, 0x5c, 0x40, 0x58, 0x24, 0x0c, 0x1d, 0x42, 0x18, + 0x19, 0x38, 0x7f, 0x82, 0x79, 0x02, 0x46, 0x99, 0xee, 0x77, 0x0a, 0x7b, 0x56, 0x46, 0x2d, 0x40, + 0xec, 0xc0, 0xff, 0x55, 0xd0, 0xa1, 0xc0, 0x13, 0x80, 0xa5, 0x2c, 0x92, 0xf4, 0x68, 0xbf, 0xa7, + 0xd0, 0xff, 0x49, 0x0f, 0xdd, 0x94, 0x79, 0x32, 0xd1, 0x07, 0x00, 0x2b, 0xda, 0x94, 0xe4, 0x8e, + 0x61, 0x2d, 0xb7, 0x9d, 0x2d, 0x76, 0x31, 0x53, 0x1e, 0x21, 0x80, 0x6f, 0xd5, 0xbf, 0xdd, 0x18, + 0xc0, 0x01, 0xa4, 0x4c, 0x43, 0x08, 0x86, 0x14, 0xc2, 0xf8, 0x16, 0xb8, 0x8d, 0xe7, 0xba, 0x06, + 0xd1, 0xd6, 0x02, 0xf1, 0x52, 0xa0, 0xa1, 0xa6, 0x0e, 0xe0, 0x38, 0x76, 0xdc, 0x71, 0x14, 0xe8, + 0x8d, 0xef, 0x8b, 0x5a, 0x44, 0x2d, 0x3d, 0xdf, 0xad, 0x0a, 0x14, 0x3e, 0xc4, 0x08, 0x7a, 0x8c, + 0xc6, 0xd1, 0xe8, 0xdd, 0x10, 0x6d, 0x27, 0x72, 0xf6, 0x7c, 0xb8, 0x91, 0xd8, 0xca, 0xcb, 0xaa, + 0x2c, 0xb4, 0x6b, 0x0d, 0xba, 0xac, 0xd7, 0xd2, 0x6d, 0x1e, 0x98, 0x0f, 0xf9, 0xa4, 0x6e, 0xe3, + 0x1c, 0xfc, 0xc0, 0x20, 0x05, 0xd0, 0x2a, 0x3c, 0x5b, 0xba, 0x5a, 0x9c, 0x2c, 0x27, 0x0b, 0xb0, + 0x61, 0x86, 0x04, 0x2f, 0x8e, 0x13, 0xd6, 0x7b, 0xc6, 0x64, 0x54, 0x83, 0xe8, 0x5f, 0x60, 0x86, + 0xc3, 0xac, 0x9d, 0x7c, 0x76, 0x8e, 0xa9, 0xb8, 0x16, 0x77, 0x1a, 0x3d, 0x89, 0x69, 0x2e, 0x64, + 0x39, 0xcd, 0x83, 0xfc, 0x89, 0xe1, 0x7a, 0x33, 0xcf, 0xa2, 0xde, 0x5e, 0xe2, 0x2a, 0x09, 0xfa, + 0xc8, 0xcc, 0x28, 0xad, 0x7c, 0xe1, 0xba, 0x3a, 0xcf, 0x28, 0xed, 0x4d, 0xa9, 0xdf, 0x9c, 0x85, + 0xc5, 0x6c, 0x4d, 0x94, 0x93, 0x3e, 0xd1, 0x42, 0x5f, 0x39, 0x15, 0x76, 0xb8, 0x96, 0x6f, 0x21, + 0xa1, 0x17, 0xde, 0x96, 0xc8, 0x1d, 0x58, 0x25, 0xd6, 0x41, 0x0b, 0x08, 0x63, 0xef, 0x88, 0x09, + 0x91, 0xe1, 0xc9, 0xfd, 0x46, 0xff, 0x7e, 0x59, 0x6f, 0x57, 0x36, 0xed, 0x7b, 0x89, 0x19, 0x0a, + 0x41, 0x17, 0x5a, 0x2a, 0x5c, 0x9f, 0x03, 0x3f, 0x0b, 0x93, 0x68, 0x90, 0x58, 0x50, 0x4a, 0x7f, + 0x9f, 0x52, 0xbd, 0xa1, 0xb3, 0xd2, 0x88, 0x66, 0xb3, 0xe4, 0x77, 0xfd, 0x3f, 0x63, 0x79, 0x98, + 0x4e, 0xed, 0x2d, 0x92, 0x39, 0x15, 0x32, 0x6f, 0x82, 0x0f, 0xaf, 0xf1, 0x43, 0xef, 0xd2, 0x5c, + 0x74, 0xca, 0x23, 0xdc, 0xe9, 0x0f, 0x7e, 0x2c, 0x79, 0x1d, 0xbb, 0x4c, 0x06, 0xd8, 0x24, 0x19, + 0x49, 0xce, 0xc9, 0xdb, 0x4e, 0xce, 0xe0, 0xbb, 0xa2, 0x8e, 0x7b, 0xa0, 0x2d, 0x1e, 0xe1, 0x18, + 0xc5, 0x8b, 0xb3, 0xda, 0xb4, 0x26, 0xf0, 0x1f, 0xca, 0xcc, 0x12, 0xe2, 0x6e, 0xf8, 0x62, 0x57, + 0xf8, 0xd8, 0xa5, 0xea, 0x67, 0xf9, 0xa2, 0x71, 0x02, 0xf5, 0x60, 0x0b, 0xdc, 0x5e, 0xdc, 0xbd, + 0x9c, 0xbd, 0xf3, 0x64, 0x78, 0x3c, 0x28, 0xf0, 0x2e, 0xa3, 0x11, 0x79, 0xe4, 0xf8, 0xcd, 0xc7, + 0x12, 0xc5, 0x0e, 0x54, 0x7a, 0xc4, 0x3f, 0x62, 0x8d, 0x3f, 0xae, 0x16, 0xb3, 0x5b, 0xa8, 0x3c, + 0x92, 0x29, 0x92, 0x60, 0x75, 0xaa, 0xf4, 0xf8, 0x1c, 0x93, 0xd2, 0x17, 0x5e, 0x18, 0x66, 0xab, + 0x7a, 0xa2, 0x6b, 0x9d, 0x4f, 0x37, 0x7d, 0x1b, 0x61, 0xa9, 0xb6, 0x2d, 0xb7, 0xab, 0x45, 0x02, + 0x70, 0x15, 0x52, 0xba, 0xb5, 0xc6, 0x46, 0x6e, 0x6e, 0x06, 0xdd, 0x30, 0x01, 0xf2, 0xb8, 0xdd, + 0x92, 0xb2, 0x93, 0x45, 0x12, 0x72, 0x3e, 0x24, 0x0c, 0x73, 0x06, 0x5c, 0xd1, 0x53, 0x6f, 0x4d, + 0x03, 0xf0, 0xbe, 0x06, 0x5b, 0xbc, 0x9b, 0x68, 0x40, 0xec, 0xc0, 0x7f, 0xc6, 0xa1, 0x5d, 0x2f, + 0xe2, 0xb8, 0x92, 0x2d, 0xbf, 0xc6, 0xb6, 0xe5, 0x11, 0xda, 0x8b, 0xd3, 0x44, 0x28, 0x05, 0x96, + 0x9d, 0x3d, 0x6a, 0xe3, 0xb4, 0x42, 0xc8, 0x96, 0x46, 0xf7, 0xc2, 0x1d, 0xd1, 0x88, 0x31, 0x0f, + 0xfa, 0x98, 0x2a, 0x0e, 0xb1, 0x73, 0xce, 0xac, 0x6a, 0x42, 0xb5, 0xa2, 0x72, 0x94, 0x34, 0xb8, + 0xec, 0xb6, 0x51, 0x95, 0xd0, 0xf3, 0x6a, 0x8d, 0x2b, 0x2f, 0x19, 0x23, 0x2b, 0x6b, 0xa1, 0x36, + 0x54, 0xa1, 0x49, 0xc7, 0x02, 0x89, 0x29, 0xf8, 0xd1, 0x73, 0x64, 0xe1, 0x31, 0xa0, 0x0f, 0xf0, + 0x92, 0x7a, 0xcd, 0x6b, 0x4c, 0x0f, 0x66, 0x16, 0x8d, 0x06, 0x6b, 0xd1, 0x97, 0xed, 0x63, 0x3a, + 0xe0, 0x8a, 0x95, 0x90, 0x83, 0xb9, 0xd7, 0xe5, 0x80, 0xfd, 0xb9, 0x2a, 0xce, 0xeb, 0xbd, 0x24, + 0x4d, 0xec, 0x3c, 0x88, 0x16, 0xd6, 0xed, 0xca, 0xa6, 0x40, 0x7f, 0xec, 0x37, 0x23, 0x8d, 0x3a, + 0x67, 0xc9, 0x36, 0x1e, 0x8f, 0x60, 0x80, 0x7c, 0x00, 0x73, 0x8b, 0x12, 0x77, 0x92, 0xa4, 0xeb, + 0xcc, 0x8e, 0x5d, 0xe2, 0x96, 0x7a, 0x80, 0xee, 0x33, 0x4f, 0xb1, 0x27, 0xa5, 0xa7, 0x4e, 0xe6, + 0x31, 0x4f, 0x61, 0xe4, 0xc7, 0x78, 0xd3, 0x5a, 0x8a, 0xea, 0xd5, 0x5b, 0x08, 0xe3, 0x9c, 0x0a, + 0x1d, 0xf0, 0x46, 0x26, 0x5a, 0x18, 0xa2, 0xf3, 0xda, 0x71, 0xa2, 0xcb, 0x75, 0x93, 0x92, 0x4c, + 0x7d, 0xee, 0x1b, 0x3b, 0x7a, 0x11, 0x0a, 0x1a, 0x7e, 0xf6, 0x94, 0xf5, 0x8a, 0xed, 0x1a, 0x71, + 0xe3, 0xa1, 0x79, 0x9b, 0xa1, 0x25, 0xde, 0x73, 0x8b, 0x64, 0x54, 0x47, 0x95, 0xf8, 0x0b, 0x74, + 0x57, 0x44, 0x8f, 0x08, 0x0c, 0xbe, 0x9e, 0x81, 0xaa, 0xdc, 0x1d, 0x52, 0x72, 0x57, 0xcf, 0xf0, + 0x65, 0xbd, 0xb4, 0xd6, 0x6a, 0xc9, 0x20, 0x43, 0x71, 0xd7, 0x4c, 0x30, 0xd4, 0xec, 0xfe, 0xea, + 0x72, 0x16, 0x70, 0x92, 0x32, 0x2d, 0xc6, 0xa6, 0x4c, 0x3c, 0xa0, 0x4a, 0xf5, 0xb5, 0x29, 0x05, + 0x02, 0x03, 0xbd, 0x4e, 0x62, 0x60, 0x7e, 0xea, 0x8a, 0x45, 0xdf, 0xe7, 0xc3, 0xf3, 0x20, 0x66, + 0xc1, 0xcf, 0x54, 0x18, 0x6e, 0xca, 0x57, 0x1f, 0xd7, 0x68, 0x22, 0x7b, 0x72, 0x2b, 0x54, 0x54, + 0x1d, 0x9a, 0xb6, 0x4e, 0x64, 0x52, 0xed, 0x16, 0x29, 0x0f, 0x88, 0x3b, 0x25, 0x04, 0x67, 0x3d, + 0xb6, 0x74, 0x1f, 0x77, 0x9e, 0x54, 0xb4, 0x6f, 0x6a, 0x79, 0xba, 0x92, 0x0a, 0x5f, 0xf0, 0xa2, + 0x06, 0x65, 0x98, 0x25, 0x0c, 0xff, 0x76, 0x30, 0x02, 0x3d, 0x52, 0x16, 0xc7, 0x5d, 0xf1, 0x96, + 0x41, 0x54, 0xbf, 0x32, 0x06, 0x90, 0x40, 0xcb, 0xca, 0x07, 0xff, 0xb0, 0xc1, 0x1e, 0x98, 0x76, + 0x08, 0xbd, 0x59, 0xdd, 0x60, 0x43, 0x27, 0x8e, 0xfe, 0x31, 0xcc, 0x40, 0x28, 0x58, 0xae, 0x98, + 0x1b, 0x4a, 0x85, 0xd9, 0x55, 0x76, 0xc3, 0xd2, 0xee, 0xa6, 0x02, 0x4d, 0x99, 0x2b, 0x54, 0xd1, + 0xb1, 0x3c, 0x20, 0x4f, 0xe0, 0x13, 0x53, 0xe3, 0xd0, 0xf5, 0x0b, 0x7b, 0xd7, 0xd7, 0x8a, 0xec, + 0x92, 0x90, 0x22, 0x28, 0x4e, 0x28, 0xea, 0x66, 0x57, 0x99, 0x66, 0x9d, 0x4e, 0x6a, 0x81, 0xb1, + 0x30, 0x79, 0x4f, 0x2a, 0x22, 0x12, 0x21, 0xdf, 0x07, 0xd9, 0x5b, 0xf2, 0xa9, 0x81, 0x18, 0xf6, + 0xdb, 0x12, 0xea, 0x56, 0x51, 0x43, 0xb7, 0x76, 0x54, 0xf1, 0xe1, 0x1f, 0xc0, 0x47, 0xae, 0xd5, + 0x4e, 0xcc, 0x33, 0x46, 0x0b, 0x69, 0xcf, 0x43, 0x05, 0xe3, 0x7f, 0xfe, 0x05, 0x33, 0x8d, 0x54, + 0xe9, 0x3a, 0x66, 0xc5, 0xc1, 0x84, 0xc3, 0x0f, 0x9f, 0x88, 0x8c, 0x6f, 0x07, 0xa2, 0x2a, 0x32, + 0x16, 0xa0, 0xc2, 0xab, 0xc8, 0x85, 0x69, 0xbf, 0x1e, 0xcb, 0x1e, 0xf4, 0x9d, 0x59, 0xba, 0x5a, + 0xe0, 0xc2, 0xdd, 0x94, 0x06, 0x90, 0x18, 0x16, 0x0c, 0x75, 0x5f, 0x65, 0x20, 0x58, 0xfe, 0xb4, + 0x35, 0xaa, 0xc8, 0xdb, 0xd4, 0x2b, 0x3f, 0x7f, 0x4d, 0x52, 0x95, 0xa1, 0xf3, 0x51, 0x83, 0xfa, + 0xe1, 0x9e, 0x62, 0x83, 0x69, 0xb3, 0x20, 0x31, 0x1d, 0x52, 0x40, 0x66, 0xb8, 0x56, 0x08, 0x39, + 0x11, 0xab, 0xd9, 0x0c, 0xb3, 0x63, 0x01, 0x3f, 0x14, 0x72, 0xc7, 0x9c, 0xda, 0xa2, 0x72, 0x87, + 0xb1, 0xc8, 0x33, 0xcb, 0xda, 0x40, 0xd9, 0x25, 0xd6, 0x1e, 0xec, 0xa2, 0x94, 0xf1, 0x85, 0x20, + 0x00, 0x32, 0x33, 0x64, 0x65, 0x34, 0x6b, 0x80, 0x1c, 0x8e, 0x8b, 0x1f, 0xc0, 0x09, 0xba, 0xbc, + 0xac, 0x75, 0x38, 0xda, 0xc0, 0xb8, 0x6a, 0x6c, 0xe6, 0xd5, 0xec, 0x88, 0xec, 0x5c, 0x7a, 0xc9, + 0x6f, 0x49, 0xe8, 0xe1, 0x85, 0x50, 0x16, 0x8e, 0xc1, 0x31, 0x89, 0x7f, 0x8e, 0x6c, 0x91, 0xad, + 0xc7, 0xcd, 0x06, 0x52, 0x19, 0x22, 0x45, 0x4b, 0xac, 0xd1, 0xea, 0x59, 0xee, 0xab, 0x93, 0x3a, + 0x0f, 0xe1, 0x06, 0x38, 0xcf, 0xd3, 0x2b, 0xfb, 0xbc, 0x32, 0xc5, 0xab, 0xab, 0x94, 0xcd, 0xd3, + 0x4f, 0xa8, 0x8a, 0x53, 0x97, 0x00, 0x13, 0xee, 0xd3, 0x44, 0xc2, 0x8b, 0x08, 0xd6, 0xc6, 0xf6, + 0xa1, 0x7b, 0x0e, 0x96, 0xa7, 0x6a, 0x31, 0xb7, 0xe0, 0x26, 0x70, 0xb0, 0x7b, 0x05, 0x15, 0x42, + 0xc9, 0x32, 0x3d, 0xb6, 0xb3, 0x61, 0xeb, 0xdb, 0x60, 0x95, 0x24, 0xdf, 0x8a, 0xe0, 0x21, 0x04, + 0x5c, 0x0f, 0xa2, 0x44, 0xff, 0x9c, 0xe1, 0xd0, 0xb9, 0xe3, 0x19, 0x72, 0xe0, 0xb9, 0x0b, 0x8f, + 0xa7, 0xed, 0x5c, 0xc7, 0x01, 0x14, 0x5d, 0x2a, 0xcb, 0x21, 0x9f, 0x7c, 0x58, 0x31, 0x0d, 0xde, + 0x9f, 0x57, 0x21, 0x2b, 0x3a, 0xb6, 0x41, 0x0a, 0x61, 0x11, 0xde, 0xff, 0x10, 0x42, 0x30, 0x95, + 0xed, 0x28, 0x01, 0x59, 0xe0, 0xd7, 0x31, 0x68, 0x34, 0x2d, 0x79, 0xa2, 0x3a, 0xf5, 0xa9, 0x51, + 0x2a, 0xa9, 0xb6, 0xb9, 0x81, 0x5f, 0xb8, 0x8d, 0xb8, 0xd5, 0x90, 0x63, 0x80, 0xd4, 0x55, 0x93, + 0xff, 0xc5, 0x71, 0xfb, 0x91, 0x81, 0xcb, 0x66, 0x61, 0x6c, 0x83, 0x99, 0x67, 0x10, 0xf3, 0xf0, + 0x00, 0xf7, 0x9a, 0x55, 0xfe, 0xad, 0xdd, 0xce, 0x25, 0xf1, 0xef, 0x67, 0xbc, 0x8d, 0x7e, 0xf1, + 0xb2, 0x64, 0x74, 0x93, 0x1f, 0xde, 0x70, 0x7c, 0x6c, 0x9e, 0x3a, 0x77, 0x6b, 0x3a, 0x8d, 0x5a, + 0x54, 0x6e, 0xc9, 0x7a, 0xec, 0x9d, 0xa2, 0x64, 0x3b, 0x46, 0xfb, 0x07, 0xfc, 0xa2, 0x99, 0x51, + 0xd6, 0xbb, 0x7c, 0x5f, 0xc6, 0x90, 0xda, 0xb2, 0xb1, 0x65, 0xf8, 0x86, 0x5b, 0xcf, 0xbe, 0xbe, + 0xa2, 0xe2, 0x1f, 0x9d, 0x0d, 0x0f, 0x83, 0xa1, 0xa3, 0xf6, 0x51, 0x06, 0xf0, 0xf9, 0x14, 0x91, + 0xa2, 0x3b, 0x5a, 0x7a, 0xe9, 0xb6, 0x54, 0x2d, 0x08, 0x9e, 0xf3, 0x3f, 0x71, 0x13, 0xe6, 0x12, + 0xdd, 0x22, 0x8b, 0xd0, 0x59, 0x68, 0xa5, 0x2d, 0x5c, 0xad, 0x54, 0x26, 0x2c, 0x7b, 0x1b, 0x87, + 0x02, 0x05, 0x29, 0x71, 0x4c, 0xae, 0x9a, 0x3c, 0x93, 0x9c, 0x61, 0x01, 0x4e, 0x7b, 0xe0, 0xf9, + 0x4c, 0xe6, 0x9f, 0x7d, 0x92, 0x93, 0x69, 0xd7, 0x45, 0xdf, 0x00, 0x4d, 0x20, 0xb5, 0xe2, 0xde, + 0xf0, 0x6c, 0xd1, 0x7e, 0xe8, 0xa6, 0x87, 0xd8, 0xa0, 0x13, 0xfd, 0x1a, 0xff, 0x32, 0xa1, 0x58, + 0x11, 0xe7, 0x96, 0x19, 0x76, 0xba, 0x25, 0x97, 0x17, 0x57, 0xb2, 0xae, 0x4e, 0x0a, 0x8b, 0x4a, + 0x83, 0x7e, 0xb8, 0xf2, 0xde, 0xf9, 0xdb, 0x3f, 0x06, 0xe8, 0x81, 0x4e, 0x6e, 0x66, 0xef, 0x8a, + 0x14, 0x94, 0x7a, 0x87, 0x87, 0x34, 0x2d, 0xf4, 0x5c, 0x9f, 0x36, 0xb0, 0xa3, 0x07, 0xe7, 0x0c, + 0x7b, 0x52, 0x7c, 0x56, 0x25, 0xd8, 0xcf, 0xf3, 0xad, 0xb2, 0x9b, 0x41, 0x4a, 0x95, 0x6a, 0xac, + 0x0c, 0x0d, 0x3e, 0x9d, 0x66, 0x43, 0xd4, 0x74, 0xe9, 0x02, 0xf3, 0x92, 0x91, 0xbd, 0x9f, 0x5f, + 0xbb, 0x1a, 0x94, 0x4c, 0xbd, 0x44, 0xbc, 0xb4, 0x7d, 0x7a, 0xe5, 0xf6, 0x9b, 0xa9, 0xac, 0x17, + 0x9b, 0x00, 0x2a, 0xb3, 0x3f, 0xfa, 0x27, 0x5f, 0x22, 0x09, 0x00, 0x9a, 0x9c, 0x31, 0x3f, 0x28, + 0x4a, 0xe9, 0x4c, 0xc2, 0xaf, 0xac, 0xa3, 0x8e, 0xe6, 0xb5, 0x1c, 0xbf, 0x6f, 0x51, 0x20, 0xe3, + 0xb3, 0xed, 0x9e, 0x7f, 0x5a, 0x00, 0x42, 0xe4, 0x36, 0xea, 0x6c, 0x7d, 0x25, 0x85, 0xc3, 0xc1, + 0xfa, 0xbe, 0x7d, 0x76, 0x59, 0x06, 0xc0, 0x57, 0x1f, 0xf5, 0x5e, 0xf2, 0xa0, 0xab, 0x3c, 0xa5, + 0xb0, 0xaa, 0xeb, 0xfb, 0x98, 0xd4, 0x50, 0x4e, 0x91, 0x63, 0xa3, 0x49, 0x97, 0xcf, 0xf9, 0x63, + 0xbb, 0x02, 0x9a, 0x7c, 0x59, 0x7b, 0xff, 0xb6, 0x99, 0xf9, 0x9e, 0x66, 0x0d, 0xb2, 0x9f, 0x15, + 0x26, 0x56, 0xb8, 0x18, 0xf9, 0x8e, 0xa0, 0x1a, 0x90, 0x2b, 0x02, 0x4e, 0x52, 0x08, 0x1f, 0x6f, + 0x48, 0x89, 0x47, 0xd5, 0xb7, 0x46, 0xbd, 0x8f, 0xb8, 0x59, 0xf4, 0x53, 0x45, 0xa2, 0x16, 0x77, + 0x09, 0x57, 0xe3, 0x25, 0xfc, 0x24, 0xe0, 0x4e, 0x21, 0xdc, 0x63, 0xd6, 0x2e, 0xad, 0xcc, 0x71, + 0x03, 0x15, 0x56, 0xd8, 0x58, 0xce, 0xb6, 0x84, 0xae, 0xda, 0x6a, 0xa7, 0xfc, 0x7f, 0x2b, 0xc7, + 0x65, 0xb5, 0x7f, 0x83, 0x39, 0x12, 0x06, 0x12, 0x8a, 0xcd, 0xb5, 0xd2, 0x7f, 0xef, 0x09, 0x99, + 0xa3, 0x20, 0x8a, 0x33, 0x69, 0x3f, 0xf0, 0x8a, 0xa8, 0xd5, 0x74, 0xeb, 0xd9, 0xbb, 0xac, 0xd9, + 0x5b, 0xc6, 0xa8, 0x8f, 0xa9, 0x2b, 0x7b, 0x83, 0x19, 0x20, 0xeb, 0xd6, 0x9b, 0xa6, 0xdb, 0xe8, + 0x72, 0x9e, 0xdb, 0x51, 0x16, 0x15, 0x29, 0x70, 0x42, 0x50, 0x65, 0xcb, 0xe8, 0xce, 0x87, 0xc7, + 0x77, 0x53, 0x7d, 0x8d, 0xbe, 0x39, 0xb7, 0xe1, 0xca, 0x1d, 0x8d, 0x15, 0x80, 0x18, 0xba, 0x54, + 0xce, 0xb3, 0x36, 0x5b, 0x2d, 0x79, 0xed, 0xfb, 0xe9, 0x44, 0x6e, 0xe2, 0x59, 0x0a, 0xe6, 0x84, + 0x57, 0xf9, 0xe2, 0x02, 0xce, 0xc8, 0xb3, 0x35, 0x7a, 0x3c, 0x19, 0x61, 0x3c, 0x94, 0x1c, 0xeb, + 0xd8, 0x6c, 0x03, 0x53, 0x1a, 0xcf, 0x35, 0x41, 0xf7, 0xd0, 0x2e, 0x45, 0x00, 0x6a, 0x56, 0xb2, + 0x16, 0x51, 0x0a, 0x93, 0xf2, 0xaf, 0x9a, 0xd3, 0x6c, 0xc4, 0x76, 0x6f, 0x63, 0x4d, 0x28, 0x6b, + 0x20, 0xa6, 0x4a, 0x91, 0x43, 0x97, 0x29, 0x00, 0x9c, 0x81, 0x63, 0x9b, 0xe7, 0xcb, 0x8b, 0x6a, + 0xb2, 0xa2, 0xef, 0xe5, 0x53, 0x8a, 0x15, 0x8c, 0x94, 0xd3, 0x0a, 0x16, 0x94, 0x8b, 0xec, 0xab, + 0x2b, 0xbf, 0xf0, 0x90, 0x1f, 0xf5, 0x48, 0x0d, 0x1a, 0xa2, 0x94, 0x3e, 0x76, 0xef, 0xd3, 0x7d, + 0xd7, 0xd6, 0xaa, 0xc9, 0x92, 0x3a, 0xd5, 0x2d, 0x3e, 0xce, 0xc0, 0x85, 0x55, 0x51, 0xba, 0x13, + 0xb1, 0xb7, 0x91, 0xe2, 0xe5, 0xd9, 0x64, 0x7e, 0xeb, 0xff, 0xa0, 0xe1, 0x52, 0xe2, 0x9b, 0xd5, + 0x92, 0x26, 0x78, 0x41, 0x98, 0x69, 0x09, 0x80, 0x76, 0x25, 0xc4, 0xcf, 0x45, 0xe7, 0xbb, 0x8e, + 0x0b, 0x4a, 0x74, 0x4d, 0xda, 0x2c, 0x6d, 0xdd, 0x8c, 0x35, 0x6c, 0x06, 0x78, 0xc7, 0x9e, 0x3d, + 0x96, 0xd6, 0xd3, 0x6e, 0xce, 0x80, 0x35, 0xba, 0xdf, 0x87, 0xb9, 0x85, 0x8d, 0xec, 0x87, 0xfa, + 0x7b, 0xea, 0xdd, 0x3f, 0xcf, 0xaf, 0x77, 0x57, 0x1f, 0xb4, 0xb3, 0x7b, 0x87, 0xe1, 0xcc, 0x19, + 0xcf, 0x0a, 0xcf, 0xb8, 0x82, 0xcc, 0x3e, 0xa4, 0x35, 0x78, 0xdb, 0x92, 0x5a, 0x66, 0xee, 0xc5, + 0xc3, 0xfe, 0xb8, 0x63, 0x26, 0xe5, 0xd2, 0xfb, 0x07, 0xbb, 0x51, 0x54, 0x9f, 0x50, 0x3c, 0x39, + 0xa9, 0x12, 0x0b, 0x1e, 0x0c, 0x56, 0x22, 0x92, 0x99, 0x3e, 0x84, 0x63, 0x1f, 0x2c, 0x4a, 0x6b, + 0x24, 0xcb, 0x92, 0x98, 0xfc, 0xca, 0xb7, 0xbe, 0x03, 0x64, 0x9e, 0x85, 0xb1, 0xdc, 0x33, 0xc1, + 0x31, 0x44, 0x27, 0xb2, 0x75, 0x64, 0x18, 0x5a, 0x89, 0xa1, 0xe9, 0x3d, 0x10, 0x37, 0x1e, 0x54, + 0x41, 0x13, 0x1a, 0x23, 0xa4, 0xe1, 0x6e, 0x61, 0xfb, 0x47, 0xf3, 0xb9, 0xae, 0x98, 0x55, 0xdc, + 0x7e, 0x0d, 0x54, 0x16, 0x6c, 0xe4, 0x1b, 0x8e, 0x44, 0x3c, 0xdf, 0xff, 0x1c, 0xf5, 0x38, 0x3f, + 0xc4, 0x66, 0x34, 0x0e, 0xc5, 0x0d, 0x73, 0x28, 0x09, 0x58, 0x61, 0x0d, 0x2a, 0xb8, 0x17, 0xc5, + 0xa0, 0x0b, 0xbc, 0x73, 0x35, 0xe0, 0xc6, 0x64, 0x35, 0x40, 0x38, 0xce, 0xd5, 0x62, 0x86, 0x61, + 0x3c, 0x65, 0x7d, 0xe0, 0x69, 0x87, 0x00, 0x61, 0xd6, 0x76, 0x4f, 0x57, 0xb8, 0x78, 0x6e, 0xd4, + 0xcb, 0xb4, 0x78, 0x68, 0xb8, 0xdf, 0xa4, 0x09, 0x77, 0x04, 0x31, 0xdb, 0x47, 0x20, 0x07, 0xe7, + 0x3e, 0x09, 0xf7, 0xd9, 0x69, 0x20, 0x7d, 0x41, 0xf2, 0xc0, 0xd9, 0xed, 0x44, 0x16, 0x9b, 0xf6, + 0xd0, 0xdb, 0x95, 0x6c, 0x30, 0x72, 0x11, 0xdc, 0x8d, 0xd9, 0x57, 0xc9, 0x82, 0x3c, 0x8e, 0x73, + 0xc1, 0xaa, 0xb3, 0x9a, 0x28, 0xcc, 0xe4, 0x42, 0xd1, 0x09, 0x23, 0x88, 0x2b, 0xf3, 0xdf, 0x03, + 0x60, 0x9b, 0xd0, 0x8c, 0x9e, 0x12, 0xd7, 0x1b, 0x7d, 0x37, 0xe4, 0x63, 0xa9, 0x12, 0xa1, 0xd7, + 0x18, 0x0d, 0xd6, 0xc1, 0xa5, 0xac, 0x04, 0xf4, 0xce, 0x94, 0xe7, 0x37, 0xcd, 0xf0, 0x79, 0x0d, + 0x5e, 0x0e, 0x8e, 0x45, 0x1c, 0xd6, 0x16, 0x1c, 0x4c, 0x78, 0xb9, 0x2e, 0x13, 0xbd, 0xe6, 0x0f, + 0x3b, 0xb2, 0xd7, 0xcb, 0xc1, 0x15, 0x81, 0xe8, 0xe3, 0x47, 0xe1, 0x41, 0x87, 0x3a, 0xa2, 0xe6, + 0xb7, 0xf4, 0xaf, 0xa3, 0xbd, 0xad, 0x17, 0x37, 0x86, 0x89, 0x9d, 0x74, 0x9a, 0x97, 0x9d, 0x07, + 0xb5, 0xc0, 0xa5, 0x6c, 0x2a, 0xf3, 0x77, 0x69, 0xbb, 0xa8, 0xb8, 0xa1, 0xd4, 0xdf, 0x6d, 0xa3, + 0x97, 0x3d, 0xb9, 0xb0, 0x50, 0xa7, 0xa0, 0x2f, 0xe9, 0xbd, 0x52, 0x39, 0x6d, 0x9c, 0x8d, 0x0a, + 0xd1, 0x52, 0xbd, 0x0d, 0xf0, 0x1d, 0x9e, 0x7f, 0x5e, 0x98, 0xf5, 0x0c, 0x40, 0x7d, 0x78, 0xca, + 0x72, 0x19, 0x8f, 0xfb, 0x5c, 0x78, 0x30, 0x8d, 0x27, 0xa9, 0xfd, 0xdd, 0x95, 0xfd, 0xa5, 0x59, + 0x8b, 0xb3, 0x7b, 0x41, 0x02, 0x9f, 0x0a, 0x2d, 0xb0, 0x52, 0x54, 0x8e, 0xd1, 0x64, 0x31, 0x96, + 0xb2, 0xfc, 0xf6, 0x20, 0x3a, 0xbb, 0x0b, 0xe2, 0x09, 0x09, 0x3c, 0x42, 0xb2, 0x05, 0x6f, 0x7d, + 0x15, 0x77, 0xa1, 0xff, 0x00, 0x5d, 0x56, 0x06, 0x19, 0xc8, 0xcb, 0x68, 0xa1, 0xc6, 0x39, 0x9e, + 0xbe, 0x44, 0x6c, 0x9e, 0x36, 0x56, 0xaf, 0xb8, 0xa3, 0x7d, 0xae, 0x73, 0x2b, 0xbb, 0x2b, 0xda, + 0x84, 0xa3, 0x0a, 0x0e, 0x27, 0x6f, 0xa1, 0x37, 0x18, 0x16, 0xf9, 0x2c, 0xa4, 0x2a, 0xb1, 0x74, + 0x95, 0x14, 0xd1, 0x39, 0x50, 0xcd, 0x75, 0x0f, 0x52, 0x78, 0x42, 0x7d, 0x47, 0xaa, 0x2e, 0x73, + 0x90, 0xe8, 0x28, 0x8a, 0x13, 0x4e, 0xde, 0x74, 0x39, 0x4d, 0x7c, 0xab, 0x92, 0xd2, 0xd7, 0xc7, + 0xab, 0x4f, 0x3a, 0xa8, 0x7c, 0x55, 0x85, 0x35, 0xc4, 0x1c, 0x09, 0x64, 0x99, 0x6b, 0x18, 0xb3, + 0x1e, 0x36, 0xe9, 0xc8, 0xa8, 0x56, 0xb5, 0xd4, 0xe6, 0xab, 0xb9, 0xfd, 0xe9, 0x03, 0x9b, 0x32, + 0x04, 0x35, 0x8a, 0x12, 0x89, 0x96, 0x86, 0xcb, 0x0b, 0xaf, 0xf7, 0x1c, 0x0a, 0xd3, 0x19, 0xd5, + 0x85, 0xef, 0xbc, 0x27, 0xa6, 0x0f, 0xe8, 0x33, 0x84, 0x6a, 0xc4, 0x53, 0xc3, 0xfb, 0xa4, 0x92, + 0x3f, 0x92, 0x8e, 0x7c, 0x12, 0x45, 0x47, 0x09, 0x4b, 0xd0, 0x1a, 0x54, 0xf3, 0x5e, 0x86, 0xd5, + 0x4c, 0x5f, 0x7b, 0x15, 0xc7, 0x41, 0x91, 0x22, 0x8d, 0x62, 0x1a, 0xd8, 0x23, 0xca, 0xbf, 0xda, + 0x2c, 0x8e, 0x51, 0xc3, 0x89, 0xa6, 0x17, 0x74, 0x8e, 0x46, 0x6c, 0xa4, 0xb0, 0x23, 0x7e, 0xed, + 0xb8, 0xea, 0x28, 0x15, 0xa3, 0x84, 0xab, 0xd2, 0xea, 0x79, 0xfc, 0x56, 0xbf, 0xe7, 0x89, 0xda, + 0x6c, 0x87, 0xdb, 0x6c, 0xe5, 0x14, 0x11, 0x82, 0x00, 0xc8, 0x28, 0xbf, 0x77, 0x75, 0xa6, 0x6e, + 0x97, 0x5f, 0x63, 0xe6, 0x1f, 0x01, 0x64, 0xa8, 0xa9, 0x44, 0xf1, 0xac, 0xec, 0x4a, 0xbd, 0xcc, + 0x6c, 0xf6, 0xea, 0x4a, 0xa2, 0x01, 0xe3, 0x80, 0x2a, 0xf9, 0x9a, 0x34, 0x4a, 0x02, 0xa4, 0x8b, + 0x4c, 0x30, 0x0f, 0x7f, 0x3d, 0x99, 0xe9, 0x3a, 0x12, 0x91, 0x1b, 0x7c, 0x54, 0x72, 0x05, 0x37, + 0xce, 0x16, 0x10, 0x80, 0xf2, 0x5c, 0xaa, 0x8f, 0xbe, 0x89, 0x4d, 0x48, 0x0a, 0x58, 0xdc, 0x6c, + 0x11, 0xc9, 0x36, 0xb7, 0xbe, 0xb0, 0x45, 0xa8, 0xc9, 0xac, 0x09, 0x8f, 0x0b, 0x85, 0x05, 0x03, + 0x83, 0x53, 0x65, 0x94, 0xf9, 0xfb, 0xc6, 0x5e, 0x20, 0xe1, 0x22, 0x13, 0x9e, 0x92, 0x5c, 0xa5, + 0x2f, 0x62, 0x19, 0xf1, 0x8c, 0xbe, 0x82, 0xe6, 0xf1, 0x72, 0x4c, 0x76, 0xd6, 0x48, 0xc5, 0x53, + 0x8e, 0xf1, 0xb6, 0xdd, 0xe5, 0xb7, 0xce, 0x45, 0x9f, 0x13, 0xa6, 0xa1, 0x99, 0x31, 0x28, 0xbf, + 0x71, 0xfe, 0x36, 0x14, 0xfb, 0x9c, 0xb8, 0x49, 0x13, 0x5d, 0xbc, 0x3e, 0x76, 0x04, 0x26, 0x99, + 0x01, 0x11, 0x6f, 0xc5, 0xc7, 0x6a, 0xf6, 0xc1, 0xda, 0x77, 0xab, 0x88, 0x0d, 0xd3, 0x0e, 0xae, + 0x12, 0xef, 0x7b, 0x53, 0xab, 0xd6, 0xd7, 0x59, 0x6c, 0x6f, 0x49, 0x47, 0xad, 0x4b, 0xcd, 0x7d, + 0x70, 0xff, 0x01, 0xef, 0x92, 0x2e, 0xc1, 0x24, 0xba, 0xcb, 0xa2, 0x6a, 0x74, 0x33, 0xbb, 0xa3, + 0xd6, 0x57, 0x36, 0x67, 0x3e, 0xed, 0xf3, 0x36, 0xf7, 0x9e, 0xa3, 0xb6, 0xe8, 0x8d, 0x92, 0xd8, + 0x56, 0xe8, 0x0e, 0x23, 0x03, 0x44, 0x70, 0x25, 0xc9, 0x9b, 0xb3, 0x92, 0x12, 0x71, 0x74, 0xe8, + 0x11, 0xfb, 0x74, 0x21, 0xe6, 0x87, 0x5f, 0x63, 0xbf, 0xd0, 0xc4, 0x06, 0x1a, 0x9f, 0x4c, 0x63, + 0x34, 0xc6, 0x47, 0x09, 0x35, 0x1e, 0xd2, 0x0f, 0xdb, 0x98, 0x70, 0xad, 0xb9, 0xd5, 0x0e, 0x53, + 0xe3, 0x13, 0xde, 0xdb, 0x5a, 0x6e, 0x41, 0x3e, 0x66, 0xb0, 0xed, 0xa1, 0xf2, 0x93, 0x41, 0xa2, + 0x18, 0x23, 0x35, 0x84, 0xe6, 0x8e, 0xce, 0x48, 0x4d, 0x0d, 0x94, 0x15, 0x47, 0x5b, 0x76, 0xf4, + 0x93, 0x3a, 0x88, 0x8b, 0xcd, 0x50, 0xde, 0x19, 0x03, 0x0b, 0x58, 0x6c, 0xec, 0x0a, 0x82, 0xd7, + 0x91, 0x48, 0x12, 0x8f, 0x37, 0x4f, 0x9f, 0xec, 0x99, 0x9f, 0x9d, 0x65, 0xd6, 0xfa, 0x9a, 0x28, + 0xe4, 0xfe, 0x13, 0x8a, 0x8b, 0xdd, 0xae, 0x60, 0xf9, 0xf1, 0x55, 0xe2, 0xb4, 0x92, 0xe8, 0x77, + 0xd7, 0xf6, 0x0f, 0x3a, 0x4b, 0x91, 0x73, 0xea, 0xd2, 0xaf, 0x1d, 0x74, 0x87, 0xe2, 0x61, 0xf0, + 0x2d, 0xc2, 0xb5, 0xf3, 0xa1, 0x77, 0x89, 0x7a, 0xd1, 0x88, 0x27, 0xf3, 0x13, 0x7d, 0x95, 0x8c, + 0x45, 0x26, 0xaa, 0x16, 0xc8, 0x0b, 0xc2, 0x81, 0x1a, 0x7f, 0x09, 0x0a, 0x89, 0xf9, 0x3a, 0x02, + 0xf4, 0x83, 0x3f, 0x57, 0x35, 0xda, 0x6c, 0xc2, 0x5a, 0x9f, 0x57, 0xb8, 0xcc, 0xbe, 0x6f, 0x95, + 0x35, 0x19, 0x98, 0x48, 0x3d, 0x06, 0x5a, 0x58, 0xe2, 0xb3, 0x70, 0x3a, 0xa8, 0x53, 0xc0, 0x2e, + 0x7a, 0xf9, 0x7a, 0x89, 0xc5, 0x6a, 0x93, 0xde, 0xbc, 0x4d, 0x23, 0xb0, 0x5e, 0xcd, 0xfd, 0x60, + 0x7a, 0xee, 0x68, 0x9b, 0x62, 0xca, 0x77, 0xec, 0x72, 0xa4, 0x68, 0x44, 0xc1, 0xa7, 0x9f, 0x85, + 0xb2, 0xc7, 0xe2, 0xfb, 0xd5, 0x2a, 0xeb, 0xcd, 0x1e, 0x33, 0xa7, 0x35, 0x8f, 0x0f, 0x91, 0x79, + 0x4c, 0x25, 0x8f, 0x9a, 0xac, 0xfd, 0x7e, 0x09, 0x39, 0x1b, 0xb7, 0xe5, 0xb5, 0xb5, 0x46, 0xfe, + 0xeb, 0x33, 0xb5, 0xc6, 0x27, 0x5c, 0x87, 0x9a, 0x43, 0xaa, 0x54, 0x50, 0xdb, 0xe9, 0xfa, 0x0b, + 0x9b, 0x8d, 0x85, 0x20, 0x54, 0xea, 0xd0, 0xf8, 0xd4, 0xe0, 0x7f, 0xf9, 0x44, 0x09, 0x63, 0x0d, + 0xff, 0x08, 0x93, 0xf1, 0x28, 0xdf, 0xe4, 0x13, 0xdb, 0xff, 0x32, 0xf9, 0xd5, 0xc4, 0x90, 0xc7, + 0x93, 0x9b, 0xa6, 0xcb, 0x19, 0x26, 0x70, 0x01, 0xa2, 0x26, 0x64, 0x68, 0x4a, 0x80, 0x71, 0x49, + 0x9b, 0x42, 0x68, 0xa6, 0xd1, 0x4f, 0xa2, 0x0f, 0x5b, 0x31, 0x12, 0x68, 0x50, 0xb3, 0x16, 0x93, + 0xb6, 0xf7, 0x2a, 0x87, 0x1c, 0xe1, 0x3a, 0x7f, 0x06, 0x99, 0x51, 0xad, 0xe8, 0x0a, 0x46, 0x44, + 0xcb, 0x9a, 0xa6, 0x08, 0x38, 0x2b, 0xbb, 0xa2, 0x84, 0x3e, 0xe3, 0x60, 0x89, 0x3f, 0xae, 0xb5, + 0x9b, 0x53, 0xc0, 0x8b, 0xf7, 0x9d, 0x41, 0xa9, 0x09, 0x67, 0x76, 0x5d, 0xd1, 0x25, 0x29, 0xf7, + 0x45, 0x1b, 0x45, 0xd8, 0xf5, 0x2b, 0x30, 0xb3, 0xea, 0x1e, 0x5b, 0xae, 0x62, 0x34, 0x69, 0xbf, + 0x92, 0xa0, 0x00, 0x62, 0xd7, 0xfb, 0x7e, 0x78, 0x82, 0x90, 0x84, 0x8a, 0xd2, 0xee, 0x7b, 0xbe, + 0xeb, 0x66, 0x91, 0xc1, 0x87, 0xe8, 0x04, 0xaa, 0xef, 0x4e, 0x2f, 0x4f, 0xa2, 0x27, 0x1c, 0x23, + 0x33, 0x6e, 0xd4, 0x86, 0x5d, 0xf5, 0x8a, 0x34, 0x3b, 0x50, 0xc3, 0x0b, 0x86, 0x44, 0x8e, 0x7b, + 0xcf, 0x5b, 0x74, 0x3b, 0x1f, 0xd8, 0x20, 0x6a, 0x5a, 0xaa, 0xce, 0x4c, 0x03, 0xc9, 0xbb, 0x82, + 0x46, 0x3e, 0x18, 0x81, 0x39, 0x62, 0x52, 0x3f, 0x4d, 0x98, 0x5e, 0x55, 0x60, 0x01, 0xf9, 0x15, + 0xd9, 0x01, 0x42, 0x2d, 0xd2, 0xac, 0xba, 0x1b, 0x7c, 0x0d, 0xba, 0x48, 0x13, 0x6a, 0x25, 0x7c, + 0x65, 0x9a, 0x06, 0xdf, 0x61, 0x6d, 0x0f, 0xac, 0x53, 0xfc, 0x95, 0xba, 0x98, 0xc0, 0x74, 0x54, + 0x9a, 0x72, 0xed, 0x28, 0x93, 0x36, 0x14, 0x4c, 0xcb, 0xa6, 0xc7, 0x77, 0xa9, 0x3c, 0xe3, 0x23, + 0xa0, 0xa8, 0xf3, 0xa3, 0x2f, 0x29, 0xc4, 0x2f, 0x2c, 0xb0, 0xd9, 0xc8, 0x41, 0x47, 0xb3, 0x41, + 0x33, 0xef, 0xdf, 0x42, 0xdf, 0x76, 0xa9, 0x25, 0xdc, 0xdc, 0x77, 0xb4, 0x42, 0xc4, 0x64, 0xc8, + 0x6c, 0xf5, 0x50, 0x88, 0x77, 0x54, 0x50, 0x71, 0x33, 0x0d, 0x9e, 0x60, 0x46, 0xaf, 0xd9, 0x9d, + 0x08, 0xa6, 0x90, 0x6a, 0xa1, 0x47, 0x2a, 0x60, 0xdf, 0x02, 0x68, 0xe3, 0x46, 0x7b, 0xb5, 0x4d, + 0x6a, 0xb5, 0xbc, 0x0d, 0x1b, 0xb1, 0xf5, 0x72, 0x73, 0x48, 0x9e, 0xe0, 0x40, 0xd5, 0xb4, 0xe2, + 0xbb, 0x26, 0x25, 0xae, 0xc6, 0xe6, 0x26, 0x7a, 0xd0, 0xef, 0x91, 0xf4, 0x75, 0xb4, 0xf8, 0xb5, + 0x5f, 0x3d, 0x04, 0x56, 0x6d, 0x51, 0x5a, 0xf0, 0x22, 0xc9, 0xde, 0xd3, 0x06, 0xb3, 0xeb, 0xe1, + 0x60, 0x92, 0xeb, 0x1f, 0x5d, 0xb2, 0xbe, 0x12, 0x73, 0x8d, 0x5c, 0x9f, 0xaa, 0x66, 0xdb, 0xf9, + 0xa5, 0x6c, 0x3b, 0xb1, 0x44, 0x2b, 0xac, 0xf9, 0x1b, 0x6d, 0x25, 0xd0, 0x3e, 0x31, 0x18, 0x53, + 0x56, 0xa2, 0xfd, 0x63, 0x4a, 0x34, 0xae, 0x81, 0x56, 0xdc, 0xb9, 0xe8, 0xcf, 0x72, 0xf9, 0xf0, + 0xd0, 0xa5, 0x3e, 0x78, 0xc5, 0x30, 0x09, 0xf3, 0x02, 0xbf, 0x6f, 0xbc, 0xed, 0x7c, 0x28, 0x10, + 0xf6, 0x2b, 0x3f, 0xd2, 0x65, 0xce, 0xd3, 0xe0, 0xe1, 0x36, 0x05, 0x39, 0x61, 0xe2, 0xf6, 0x97, + 0x33, 0x4b, 0x6e, 0x76, 0x3f, 0x30, 0x2d, 0xc5, 0x92, 0x74, 0xa1, 0x49, 0x93, 0x4e, 0xf3, 0x43, + 0xf5, 0x99, 0x0c, 0x04, 0x6f, 0xff, 0xcb, 0xbf, 0x25, 0xc5, 0xd2, 0xd6, 0xef, 0x1f, 0x37, 0x83, + 0xfa, 0xa7, 0x8c, 0x8a, 0xcb, 0x89, 0x5d, 0x2d, 0x78, 0xb1, 0x57, 0xe6, 0x08, 0xb6, 0x11, 0x7b, + 0x1d, 0x6b, 0x37, 0xcb, 0x73, 0x12, 0xa4, 0x3f, 0xcd, 0x25, 0xf2, 0x29, 0xb4, 0xd0, 0xac, 0xf4, + 0xe4, 0x83, 0xca, 0xe8, 0xc5, 0x88, 0xf7, 0x76, 0xe0, 0xad, 0x3b, 0xb0, 0xd7, 0x9c, 0x8d, 0xa2, + 0x59, 0xf0, 0xf2, 0x56, 0xf5, 0x71, 0x78, 0x89, 0x91, 0xd6, 0x1f, 0x64, 0x56, 0x96, 0xfd, 0xcb, + 0x69, 0x6f, 0x1c, 0x5c, 0x0d, 0x2a, 0x14, 0x86, 0xe0, 0x04, 0x15, 0xd5, 0xd5, 0xf8, 0x70, 0x89, + 0x13, 0x6b, 0x13, 0xaf, 0x30, 0x5b, 0xbf, 0x7a, 0xb6, 0xfb, 0xdb, 0x1a, 0xc3, 0x5d, 0x79, 0x54, + 0x38, 0x43, 0xcf, 0x60, 0x73, 0x94, 0xcc, 0x1a, 0xdd, 0x82, 0xb7, 0x26, 0x8d, 0xe4, 0x13, 0xdd, + 0x9a, 0x82, 0xc3, 0x90, 0x6a, 0x01, 0xb1, 0x4c, 0x91, 0xdc, 0x79, 0xba, 0xe8, 0xec, 0x0f, 0xc6, + 0xae, 0x9d, 0x88, 0x9c, 0xa1, 0xf5, 0xb4, 0x0a, 0x4e, 0x23, 0x3c, 0xd4, 0xd3, 0xbf, 0xb0, 0x94, + 0x9f, 0x77, 0x9a, 0x60, 0x56, 0xb7, 0x3a, 0xcf, 0x3a, 0x90, 0xef, 0xf9, 0xe4, 0x15, 0x7d, 0x2a, + 0xf5, 0x7a, 0x4d, 0x37, 0x5f, 0xac, 0x4f, 0xe0, 0x11, 0xd7, 0x03, 0xac, 0x53, 0x6c, 0x06, 0x5b, + 0xff, 0x5b, 0x5b, 0x27, 0x6b, 0x8a, 0x20, 0x8b, 0xa1, 0xd2, 0x59, 0x32, 0x62, 0x54, 0x69, 0x0b, + 0x5c, 0x36, 0xb8, 0x9d, 0x61, 0xbb, 0x92, 0xcf, 0xa0, 0x5f, 0x69, 0x19, 0x7c, 0x4b, 0xb5, 0xa5, + 0xee, 0xaf, 0xcc, 0x1d, 0x17, 0x6c, 0x45, 0x66, 0xa7, 0x5e, 0x85, 0x40, 0xb5, 0x15, 0xe1, 0xe9, + 0xe1, 0x46, 0x61, 0x73, 0x84, 0xcf, 0x07, 0xc9, 0x79, 0x61, 0x5c, 0x66, 0xff, 0xac, 0x9f, 0x7c, + 0xa8, 0x61, 0x98, 0x0d, 0xef, 0x8a, 0x38, 0xd1, 0xa8, 0x3c, 0x89, 0x76, 0xc5, 0xcf, 0x44, 0x58, + 0x95, 0x11, 0x62, 0xe6, 0x5b, 0xb3, 0xe4, 0xc6, 0x23, 0x1b, 0xed, 0x09, 0xbd, 0x73, 0xdb, 0xd2, + 0x01, 0xbf, 0xb8, 0xd3, 0x7e, 0x11, 0xda, 0xec, 0x0a, 0xae, 0x1b, 0x69, 0x1c, 0x8b, 0xed, 0x68, + 0x9a, 0x1e, 0xfc, 0xf6, 0xa0, 0x81, 0x76, 0xf7, 0xe1, 0x25, 0x57, 0xe3, 0xba, 0x88, 0x23, 0x3e, + 0xdc, 0x83, 0x88, 0xff, 0x61, 0x2c, 0x0e, 0xb5, 0xde, 0xc5, 0x1c, 0x76, 0x0d, 0x12, 0x33, 0x34, + 0x8d, 0xc3, 0x12, 0xdb, 0x33, 0xdf, 0x84, 0xe5, 0xda, 0x40, 0x87, 0xa1, 0x16, 0xbc, 0x65, 0xa7, + 0xf3, 0x05, 0xa6, 0x10, 0x48, 0xff, 0x87, 0xe8, 0xcc, 0xb5, 0x1f, 0x9f, 0x5d, 0x13, 0x71, 0x60, + 0xb0, 0xbe, 0xd0, 0x8a, 0x13, 0x2a, 0x3b, 0xd9, 0x54, 0x2a, 0xd7, 0x3c, 0x55, 0x01, 0x88, 0x52, + 0x25, 0x2f, 0x22, 0xce, 0x0a, 0x77, 0xa7, 0x39, 0x3c, 0x42, 0xc9, 0x22, 0xba, 0x4d, 0xcc, 0xe5, + 0xc1, 0x41, 0xda, 0x1e, 0xd4, 0x25, 0x6c, 0xbd, 0xeb, 0x42, 0x7a, 0xc0, 0xb5, 0x68, 0x3e, 0xa4, + 0xa0, 0x21, 0x3a, 0x43, 0x03, 0xe6, 0x29, 0x6c, 0xfb, 0xba, 0xdf, 0xc6, 0x5a, 0x45, 0x19, 0x6b, + 0x37, 0xa0, 0xc5, 0x58, 0xf1, 0x3b, 0xc0, 0x5c, 0x32, 0x09, 0x69, 0xe1, 0x46, 0xd6, 0x78, 0x02, + 0xa7, 0x69, 0x8e, 0x5c, 0x95, 0x20, 0x61, 0xd1, 0x8a, 0xbb, 0x44, 0x57, 0x24, 0x1c, 0x07, 0xfb, + 0xaf, 0x8b, 0x4e, 0x9d, 0x14, 0x20, 0x6c, 0x03, 0x4f, 0xbc, 0x94, 0xaf, 0x94, 0xe3, 0x6d, 0x6e, + 0xab, 0xac, 0xcb, 0x09, 0x1b, 0x56, 0xd9, 0x9a, 0xfd, 0xc8, 0xee, 0x77, 0xa3, 0x2a, 0x57, 0xc0, + 0x35, 0xbe, 0xa2, 0xa3, 0x8d, 0x74, 0xc0, 0x9a, 0x34, 0x48, 0xfc, 0xb4, 0x0f, 0xe2, 0xb5, 0x15, + 0x8b, 0x84, 0x0c, 0x4f, 0x30, 0x68, 0x5a, 0xb8, 0xa7, 0xbc, 0xa9, 0xde, 0xf4, 0x41, 0x30, 0x35, + 0x45, 0x7b, 0x14, 0x61, 0x31, 0xc8, 0x27, 0x92, 0x08, 0xde, 0x0b, 0x17, 0x15, 0xc7, 0x71, 0xc7, + 0x6f, 0x06, 0x82, 0x5a, 0x6d, 0x62, 0x70, 0xe2, 0x1c, 0x18, 0x87, 0x6d, 0x7f, 0x95, 0x98, 0x70, + 0xde, 0x3c, 0xeb, 0x1e, 0xc4, 0x8c, 0x21, 0xcf, 0xb9, 0x20, 0xa0, 0xec, 0x05, 0xe0, 0x41, 0x74, + 0xa1, 0xb4, 0xeb, 0xab, 0x1d, 0xde, 0x0b, 0xe5, 0x66, 0x23, 0x9f, 0x3e, 0xa0, 0x02, 0x70, 0xb8, + 0x61, 0x7e, 0x45, 0xac, 0xe0, 0x59, 0x14, 0xba, 0x11, 0x22, 0x50, 0x2e, 0x2d, 0x63, 0xfd, 0x5b, + 0x6a, 0x9c, 0x9b, 0xc4, 0x77, 0xa5, 0xab, 0x97, 0xe8, 0xd9, 0xc5, 0xf5, 0x18, 0x7d, 0xa2, 0x1f, + 0x19, 0xda, 0xe3, 0xff, 0x7b, 0xe9, 0x3e, 0x52, 0x93, 0x22, 0xb8, 0x01, 0xc4, 0xcd, 0xb2, 0x8f, + 0x2a, 0x1b, 0x2d, 0x5a, 0x6b, 0x7b, 0x91, 0x08, 0xd1, 0x8c, 0xf4, 0x85, 0x1e, 0xca, 0xa1, 0x17, + 0x34, 0xae, 0xbe, 0x42, 0x16, 0xf3, 0x5f, 0x31, 0x4a, 0xee, 0xca, 0x74, 0x17, 0x35, 0xc0, 0x22, + 0xad, 0x8a, 0x34, 0x31, 0x04, 0xff, 0x95, 0x84, 0x9f, 0xd7, 0x84, 0x68, 0x3e, 0xd0, 0x46, 0x5b, + 0x8b, 0x53, 0x06, 0x63, 0x32, 0x84, 0xd7, 0x30, 0xc2, 0x43, 0xf4, 0x5e, 0x62, 0x06, 0x61, 0x1b, + 0x48, 0x3a, 0xa7, 0x3e, 0x2c, 0x89, 0x35, 0x65, 0xd3, 0x46, 0xa2, 0x08, 0xec, 0x8f, 0xa8, 0x40, + 0xe6, 0xca, 0x4e, 0xa5, 0xfa, 0xc4, 0x49, 0x08, 0x20, 0xd5, 0x15, 0x6c, 0xee, 0x4e, 0x7a, 0x22, + 0x6c, 0x8d, 0x84, 0xfb, 0xdd, 0xf1, 0xdf, 0xfe, 0x6b, 0x36, 0x6f, 0x22, 0xa3, 0x1e, 0x63, 0x45, + 0x09, 0x88, 0x6a, 0x52, 0x13, 0xc4, 0x5d, 0x13, 0x0e, 0x81, 0xb5, 0xd1, 0x33, 0x3e, 0x41, 0xae, + 0x41, 0x36, 0xde, 0xb5, 0x91, 0xca, 0xa3, 0xc6, 0xb2, 0x44, 0x27, 0xd2, 0xcf, 0xfc, 0xcf, 0xb7, + 0xe4, 0xf8, 0x6d, 0x6a, 0xa5, 0x12, 0x5d, 0x4a, 0x57, 0xc4, 0x73, 0x5a, 0x56, 0x65, 0x66, 0x9e, + 0xbc, 0xd8, 0xb8, 0x81, 0xe1, 0xa5, 0xdf, 0x17, 0x82, 0x76, 0x4e, 0x09, 0x66, 0x70, 0x1c, 0x19, + 0xf0, 0x9a, 0x5c, 0x2b, 0x11, 0xeb, 0xca, 0xae, 0x90, 0xf1, 0x89, 0x36, 0x85, 0xb0, 0x4e, 0xb5, + 0xdb, 0xaa, 0xe9, 0xdd, 0x6a, 0x6e, 0x92, 0x07, 0xce, 0x4a, 0x74, 0xb2, 0x12, 0x90, 0x77, 0x47, + 0x47, 0x78, 0x14, 0x2e, 0x54, 0x7d, 0x37, 0x17, 0x50, 0x4b, 0xf0, 0x09, 0x6c, 0x5c, 0x50, 0xb0, + 0x3e, 0x30, 0x25, 0x22, 0x52, 0x1e, 0x72, 0xb2, 0xe6, 0x50, 0x91, 0xf3, 0x7e, 0xa8, 0x08, 0x30, + 0x27, 0xfb, 0x07, 0x13, 0x6d, 0xce, 0x4d, 0x23, 0x48, 0xc8, 0xec, 0x24, 0xf1, 0x1d, 0x9e, 0x45, + 0x7e, 0x48, 0x37, 0x8e, 0xc7, 0x96, 0xc5, 0x02, 0x78, 0xd4, 0x32, 0x5e, 0x31, 0x95, 0x28, 0x1e, + 0x5a, 0xb5, 0x67, 0x37, 0xf5, 0xac, 0xb4, 0x5b, 0xb3, 0xac, 0x0e, 0xa5, 0x77, 0x27, 0x1c, 0xf9, + 0xba, 0x8e, 0x9f, 0xd0, 0xf3, 0x24, 0x20, 0xa5, 0xee, 0xb4, 0xf8, 0xcd, 0x42, 0xaf, 0x34, 0xc3, + 0xde, 0xa8, 0x76, 0xf7, 0x0a, 0xd1, 0x35, 0x86, 0x3d, 0x99, 0x4d, 0x47, 0xb0, 0x0a, 0x07, 0xf3, + 0xc2, 0xe1, 0xb0, 0x34, 0xe2, 0xf5, 0xac, 0x25, 0xf7, 0xeb, 0x91, 0x83, 0xcc, 0xe4, 0x58, 0xc0, + 0x1f, 0xdc, 0x1d, 0xab, 0xf0, 0xcf, 0xdf, 0xc9, 0x38, 0xe4, 0xab, 0xdb, 0x61, 0x30, 0x79, 0xd1, + 0x9f, 0xde, 0xad, 0xf7, 0x82, 0xef, 0xea, 0x13, 0x90, 0xdd, 0xaa, 0xd4, 0xf9, 0xea, 0x5b, 0x6c, + 0x9f, 0x02, 0x11, 0x34, 0xcb, 0x0f, 0x56, 0x37, 0xcc, 0xd8, 0x2e, 0x37, 0x23, 0x38, 0xff, 0x75, + 0x88, 0x1b, 0x90, 0x4e, 0xe9, 0x68, 0x91, 0x42, 0xc9, 0x68, 0x34, 0x28, 0xef, 0x63, 0x57, 0x81, + 0x93, 0x06, 0x97, 0xb5, 0x26, 0x01, 0x0a, 0x3d, 0x68, 0xf0, 0xac, 0x64, 0x84, 0xd5, 0x52, 0x4b, + 0xa4, 0x60, 0xdb, 0x70, 0x12, 0x27, 0xb4, 0x88, 0x03, 0xd0, 0xab, 0xfa, 0x4b, 0x8f, 0xec, 0xb3, + 0x1c, 0x05, 0x15, 0x8e, 0x23, 0xf6, 0xa2, 0x27, 0x82, 0x91, 0xd4, 0xc7, 0xc2, 0xe9, 0x42, 0xde, + 0x70, 0xc9, 0x67, 0xb0, 0x04, 0x7a, 0xc4, 0xa6, 0xd3, 0xbf, 0x07, 0xa1, 0xab, 0x9b, 0x89, 0x37, + 0xfe, 0x70, 0x15, 0x78, 0x99, 0x33, 0x9a, 0xf0, 0xd4, 0x19, 0x36, 0x50, 0x2f, 0x81, 0x1c, 0x15, + 0x5b, 0x36, 0xa4, 0x40, 0xaa, 0xde, 0x9b, 0x79, 0xf3, 0xdf, 0x25, 0xe2, 0x1e, 0xc3, 0x9a, 0xb5, + 0xb2, 0xf3, 0x2e, 0x70, 0x8b, 0x6a, 0xa8, 0x20, 0x9c, 0xbb, 0x9b, 0xb4, 0xd7, 0x20, 0x82, 0x97, + 0xbd, 0x41, 0x3b, 0x8f, 0xab, 0x11, 0x7d, 0x86, 0xbe, 0x9b, 0xee, 0x70, 0x84, 0x0d, 0xea, 0x8a, + 0x35, 0xe3, 0xfa, 0xf5, 0x1f, 0xac, 0xce, 0x33, 0xfa, 0x35, 0x71, 0xfe, 0xe6, 0x9e, 0xce, 0x22, + 0x2e, 0x80, 0x24, 0x76, 0x22, 0x90, 0x4f, 0xe8, 0xf3, 0x0a, 0x65, 0xee, 0x07, 0xe8, 0xd4, 0xd9, + 0x9c, 0x04, 0xe3, 0x75, 0x9f, 0xec, 0x98, 0x59, 0xbc, 0x8d, 0x96, 0x6a, 0xf8, 0x0c, 0x23, 0xc5, + 0x6e, 0x85, 0x70, 0xd2, 0x84, 0x5f, 0xcc, 0xef, 0x7d, 0x62, 0x7b, 0x87, 0x9c, 0x9e, 0x15, 0xd7, + 0x9a, 0x7a, 0xd9, 0x5a, 0x7d, 0x4e, 0x5d, 0x51, 0xdd, 0xe1, 0x3c, 0xea, 0x6e, 0xd3, 0x36, 0x83, + 0x35, 0x16, 0x82, 0xf7, 0xde, 0x51, 0x6c, 0x61, 0x68, 0xcb, 0xf1, 0x57, 0x7e, 0x07, 0xe7, 0xf5, + 0x83, 0x6d, 0xfd, 0xc7, 0x52, 0xc1, 0xbc, 0x66, 0x41, 0x47, 0x15, 0x78, 0xe0, 0xc5, 0x00, 0xac, + 0x59, 0xc0, 0x7e, 0x9e, 0xd7, 0x23, 0xcf, 0x2a, 0x07, 0xa9, 0x72, 0x62, 0xf9, 0x55, 0xe7, 0x8b, + 0xed, 0x7f, 0xb9, 0x2b, 0xff, 0x83, 0xfb, 0x26, 0x77, 0xc0, 0x7c, 0x36, 0x19, 0x41, 0xfa, 0x8a, + 0x01, 0x6e, 0xba, 0x7a, 0xc8, 0x16, 0x00, 0x4a, 0x7d, 0x50, 0xc2, 0xac, 0x6b, 0xc6, 0xaf, 0xc7, + 0x97, 0xb8, 0x53, 0x18, 0x39, 0x5b, 0x5b, 0xa9, 0x49, 0x04, 0x6f, 0x61, 0x62, 0xf3, 0xcd, 0xeb, + 0x14, 0x71, 0xe3, 0x15, 0x42, 0x0e, 0x07, 0x99, 0x3b, 0xe3, 0x93, 0x27, 0x90, 0xd6, 0x18, 0xea, + 0x82, 0xf1, 0x95, 0x0c, 0xb3, 0xc1, 0xb1, 0xb0, 0x78, 0x63, 0x20, 0xfc, 0x48, 0xd9, 0xd9, 0x24, + 0x50, 0xd5, 0x2b, 0x13, 0x2b, 0xcf, 0x7f, 0xca, 0xc3, 0xac, 0x6a, 0x24, 0xf3, 0x05, 0xac, 0x0f, + 0x02, 0xd3, 0x74, 0x4a, 0x13, 0x6f, 0x13, 0x21, 0xe1, 0x55, 0x1b, 0x6f, 0xbb, 0x44, 0x58, 0x88, + 0xbc, 0x2a, 0xf2, 0x21, 0x13, 0x64, 0x30, 0x52, 0x84, 0x56, 0xe1, 0x83, 0x02, 0xb4, 0xe3, 0xc7, + 0x4d, 0xbc, 0x43, 0x87, 0x6f, 0x86, 0xaf, 0x82, 0x99, 0x01, 0x85, 0xa5, 0x57, 0x1f, 0x18, 0xc8, + 0xea, 0xb9, 0x17, 0x69, 0x57, 0x9a, 0xe7, 0x37, 0xbd, 0x9e, 0x4e, 0x81, 0x54, 0xea, 0xd8, 0x27, + 0x63, 0x94, 0xd2, 0x81, 0xbe, 0x4f, 0xc5, 0x25, 0x84, 0x4c, 0x00, 0x72, 0x46, 0x6a, 0x4d, 0x98, + 0x96, 0x5c, 0xd3, 0xcb, 0x6c, 0x57, 0xd3, 0xa3, 0x85, 0x78, 0x0b, 0x56, 0xbd, 0x30, 0x86, 0x6e, + 0x4c, 0xaa, 0x79, 0x82, 0xbb, 0x79, 0xcb, 0x18, 0xf7, 0xfa, 0x1e, 0xfb, 0x18, 0x1f, 0x13, 0x89, + 0x2d, 0x0d, 0x63, 0xe3, 0xc6, 0x9f, 0xcb, 0xc4, 0x14, 0x01, 0x38, 0x77, 0x09, 0x1c, 0xcf, 0xe0, + 0xb9, 0x74, 0x37, 0xaf, 0x62, 0x38, 0x26, 0xd7, 0x25, 0x6c, 0x91, 0x5c, 0x20, 0x0c, 0xf0, 0x17, + 0x0b, 0xe5, 0xba, 0x41, 0x03, 0xe7, 0xed, 0x0e, 0xcd, 0x71, 0xe4, 0x70, 0xe9, 0xe7, 0xa9, 0x84, + 0x86, 0xbd, 0xa7, 0xcc, 0xcf, 0x2e, 0xf6, 0x06, 0xb5, 0x2c, 0xc5, 0x98, 0xc1, 0xae, 0xbd, 0x34, + 0xe8, 0xca, 0x89, 0xf3, 0xb9, 0x58, 0xa3, 0xe5, 0xeb, 0xb0, 0x66, 0x7e, 0x04, 0xf6, 0x50, 0xeb, + 0x9e, 0x9d, 0x5f, 0x9b, 0xf3, 0x29, 0xcc, 0x38, 0x08, 0xdc, 0x3a, 0x65, 0xf0, 0x14, 0x25, 0xa5, + 0x69, 0x7d, 0xd6, 0xfa, 0x0e, 0xb8, 0x76, 0xa1, 0x0a, 0xaa, 0x46, 0x60, 0x0f, 0x73, 0x43, 0x76, + 0x02, 0xc5, 0x5f, 0x0b, 0xe2, 0x38, 0x5d, 0x9f, 0x9f, 0xac, 0xa6, 0x2f, 0x05, 0xa4, 0xce, 0x12, + 0x6d, 0x59, 0xed, 0x6c, 0x70, 0x97, 0x0e, 0x1f, 0x83, 0xfd, 0x9f, 0xb5, 0x4c, 0x2b, 0x5a, 0x47, + 0xb4, 0xcb, 0x48, 0xbf, 0x0c, 0x74, 0x94, 0x08, 0xe6, 0x9c, 0xb7, 0xc4, 0x26, 0x78, 0xdf, 0x46, + 0x1e, 0x92, 0xcb, 0x57, 0xce, 0x6b, 0x37, 0x7d, 0x37, 0x87, 0x48, 0x0c, 0xe2, 0x53, 0x6c, 0xf5, + 0x25, 0xa1, 0xf6, 0x76, 0x03, 0xd8, 0x3b, 0xa8, 0xaa, 0x8f, 0x12, 0xfe, 0xeb, 0x40, 0x54, 0x5e, + 0x1d, 0x71, 0x77, 0xa8, 0xaa, 0xff, 0x65, 0x69, 0x7c, 0xa1, 0xec, 0x66, 0x0a, 0x3b, 0x7a, 0x56, + 0x8c, 0x2a, 0x35, 0x18, 0x55, 0xd8, 0x26, 0x72, 0x0d, 0x6e, 0x00, 0x86, 0xc4, 0x52, 0x63, 0x34, + 0x1c, 0x11, 0x9b, 0xad, 0x12, 0xca, 0x7a, 0x47, 0x76, 0x14, 0xca, 0xc4, 0x94, 0xa7, 0x53, 0x5b, + 0x6e, 0xae, 0x6a, 0xaf, 0xf0, 0x10, 0x46, 0x75, 0x48, 0x1a, 0xe7, 0xcf, 0xd3, 0x5b, 0x6d, 0x3e, + 0xa9, 0x02, 0x83, 0x2b, 0xc7, 0x55, 0x9d, 0xa7, 0xc7, 0x22, 0xc5, 0xca, 0xb2, 0xfa, 0x6e, 0xc7, + 0xe6, 0xe4, 0x36, 0x29, 0x16, 0x8b, 0xca, 0xa3, 0x18, 0x7e, 0x9e, 0x9e, 0xa0, 0x94, 0xd4, 0x84, + 0xe0, 0xb4, 0x37, 0xea, 0x74, 0x2f, 0xf6, 0x7f, 0x10, 0x8c, 0xcb, 0xdd, 0x49, 0x9e, 0x14, 0xc8, + 0x5a, 0x60, 0x7d, 0x13, 0x8b, 0x4a, 0xe6, 0xbc, 0xaf, 0x73, 0x0a, 0xed, 0x87, 0x13, 0x66, 0x15, + 0xc5, 0x4b, 0x91, 0xdc, 0xad, 0xf1, 0x98, 0xc7, 0x9c, 0xe2, 0x29, 0x3d, 0xec, 0x22, 0x00, 0x1e, + 0xd6, 0xb6, 0xb6, 0x6d, 0x3d, 0x52, 0x83, 0x40, 0x80, 0xe8, 0xcc, 0x2a, 0x23, 0x43, 0x66, 0x8a, + 0xbf, 0xc8, 0x7b, 0x9e, 0x3d, 0xbe, 0xe3, 0x6e, 0x7b, 0x13, 0xf5, 0xf6, 0x23, 0x56, 0xc1, 0xb5, + 0xa5, 0x10, 0xfb, 0x0e, 0x3b, 0xbe, 0xa5, 0x53, 0x1b, 0x88, 0xe0, 0x7c, 0xfe, 0xa8, 0x8d, 0xb2, + 0x25, 0xde, 0x52, 0x69, 0xd4, 0x52, 0x28, 0x01, 0xb5, 0x42, 0x61, 0x40, 0xd5, 0x0c, 0x58, 0x00, + 0x74, 0xd1, 0x80, 0xe0, 0xab, 0x2c, 0x7a, 0xe9, 0x53, 0xe3, 0x76, 0xff, 0x85, 0x39, 0xbf, 0xa3, + 0xf4, 0x4a, 0xa9, 0x59, 0x4b, 0x88, 0xef, 0xad, 0xe7, 0x69, 0x34, 0xf6, 0x1b, 0xdc, 0x3e, 0x85, + 0xa3, 0x60, 0x05, 0x95, 0x25, 0x0c, 0xd8, 0xd3, 0xbc, 0xaf, 0xd3, 0xa5, 0x9b, 0x9f, 0x20, 0x13, + 0xa2, 0x5a, 0xb2, 0x9b, 0x25, 0xa0, 0xd8, 0x1b, 0xe5, 0xd1, 0xf7, 0x8b, 0x01, 0x08, 0x88, 0xde, + 0x1c, 0x19, 0x5e, 0x74, 0x92, 0xd1, 0xe2, 0xd6, 0xc4, 0x9c, 0xf2, 0xc2, 0x92, 0x9f, 0xe7, 0x0a, + 0xc6, 0x8f, 0xfe, 0x84, 0xc3, 0xba, 0x43, 0x7a, 0xe8, 0x22, 0x4c, 0x74, 0x45, 0x83, 0x56, 0xef, + 0x88, 0x8c, 0x5e, 0x95, 0x8c, 0xdc, 0x26, 0x48, 0xc9, 0x5e, 0x53, 0x6d, 0xa3, 0x96, 0x4d, 0x4f, + 0xe8, 0xc1, 0x70, 0x20, 0xba, 0x33, 0xc2, 0xd3, 0x63, 0xdd, 0x2d, 0x1c, 0x23, 0x50, 0x36, 0x27, + 0x31, 0xb7, 0xd0, 0x1a, 0x2b, 0x29, 0xd1, 0xdf, 0x69, 0x01, 0x27, 0xc9, 0xff, 0x6b, 0xc2, 0x9c, + 0xcb, 0x88, 0xc9, 0x60, 0xd2, 0xf5, 0x7b, 0x1d, 0x22, 0x05, 0x04, 0x58, 0xc9, 0x85, 0x1e, 0x2d, + 0x83, 0x0d, 0x76, 0x45, 0x60, 0x96, 0x50, 0x8a, 0x05, 0xc8, 0x01, 0xe1, 0xbb, 0xac, 0x06, 0xa6, + 0x13, 0xe6, 0xf7, 0x43, 0xfb, 0x48, 0xef, 0xd3, 0x2a, 0x07, 0xfe, 0xed, 0x85, 0x9a, 0x00, 0x1d, + 0x8f, 0x8f, 0xe8, 0xe6, 0xd6, 0xe8, 0x12, 0x9b, 0x52, 0x1b, 0x24, 0x43, 0xb0, 0xec, 0x14, 0x71, + 0xee, 0xca, 0x78, 0xfb, 0xf8, 0xba, 0x6e, 0xc6, 0x45, 0x9e, 0xc7, 0xf2, 0x33, 0x04, 0x12, 0x0c, + 0x3e, 0x03, 0x9b, 0x35, 0xf5, 0xaa, 0xc5, 0x32, 0xd6, 0xdc, 0xc6, 0xe2, 0x84, 0x72, 0x15, 0x63, + 0x70, 0xd3, 0x10, 0x64, 0x4d, 0x55, 0x91, 0x6a, 0x0f, 0xab, 0x11, 0xca, 0x81, 0x3c, 0xfd, 0x68, + 0x4a, 0x97, 0x0d, 0xa3, 0xc7, 0x6f, 0x30, 0x88, 0xd8, 0x9e, 0x08, 0x0c, 0x31, 0xe1, 0x5f, 0x31, + 0xbe, 0xe8, 0x84, 0x97, 0xdd, 0xe5, 0x04, 0x11, 0x07, 0xca, 0xff, 0x61, 0x4f, 0x42, 0xae, 0x48, + 0x07, 0x86, 0x08, 0x2b, 0xf1, 0xd1, 0x60, 0x7b, 0x91, 0xda, 0x09, 0x5a, 0x54, 0x0c, 0xf3, 0x33, + 0x1d, 0x0b, 0xff, 0xa6, 0xf4, 0x0b, 0xf1, 0x59, 0xbc, 0x72, 0x41, 0xf3, 0xaa, 0x8f, 0x17, 0x43, + 0x18, 0x54, 0xbd, 0xc8, 0xd0, 0xaf, 0xcd, 0x5d, 0x35, 0x38, 0x3e, 0xb8, 0xfe, 0xe4, 0x41, 0x67, + 0x7f, 0x44, 0xfe, 0x6a, 0xc7, 0x2d, 0x0d, 0x82, 0x2b, 0xe0, 0xc5, 0xe7, 0x1f, 0xf0, 0xb3, 0xbf, + 0x15, 0xcf, 0xbc, 0xee, 0xca, 0x06, 0xc7, 0xf1, 0xdd, 0x6d, 0x1e, 0x10, 0xbb, 0xd5, 0x87, 0xef, + 0x98, 0xd6, 0x33, 0xba, 0xba, 0x94, 0x0c, 0x4d, 0x55, 0x3e, 0xcd, 0x42, 0x21, 0x5a, 0xd8, 0x94, + 0x00, 0x20, 0x15, 0x3f, 0x34, 0x59, 0x8e, 0x99, 0xf8, 0x8f, 0xb7, 0x45, 0x8a, 0x71, 0x85, 0x16, + 0x67, 0x21, 0x08, 0xde, 0x24, 0x9c, 0x25, 0x9a, 0xa4, 0x53, 0xef, 0xb9, 0xa6, 0xd7, 0x2d, 0x1a, + 0x67, 0xaf, 0x8f, 0x65, 0x7f, 0x89, 0x2a, 0xa4, 0x73, 0x3a, 0x0e, 0xd2, 0x4d, 0x45, 0xac, 0x5b, + 0xb4, 0x1b, 0x15, 0x83, 0x89, 0xaa, 0x14, 0x1b, 0x4a, 0xfc, 0x90, 0x2b, 0xb7, 0x02, 0x83, 0x0c, + 0xd5, 0xc7, 0x28, 0x4d, 0x09, 0x00, 0x58, 0x4d, 0x88, 0x7c, 0x99, 0xd5, 0xc6, 0x1b, 0xd7, 0x8f, + 0xd6, 0x62, 0x3c, 0xd0, 0x14, 0x72, 0x6e, 0xb9, 0x07, 0xb1, 0xd4, 0x39, 0x37, 0x81, 0x5f, 0x77, + 0xe3, 0x8a, 0x56, 0x25, 0xeb, 0x7e, 0x76, 0x2a, 0xe3, 0x58, 0xae, 0x0d, 0x57, 0xd5, 0xc7, 0x7a, + 0x66, 0x3c, 0x11, 0x48, 0xfa, 0xfb, 0x5d, 0x1b, 0xed, 0xa7, 0xfd, 0xd6, 0x05, 0xa7, 0xe2, 0x35, + 0x69, 0x52, 0xe7, 0xe3, 0x01, 0x41, 0x2c, 0x26, 0xab, 0x43, 0x8d, 0xa9, 0x00, 0x91, 0x09, 0xe4, + 0x90, 0x81, 0x7f, 0xae, 0xd5, 0x2d, 0x30, 0xd7, 0x56, 0x36, 0xf2, 0xba, 0xdd, 0x5d, 0x55, 0x50, + 0x1c, 0x2d, 0xba, 0x5b, 0xa8, 0xcf, 0xcb, 0x55, 0xc6, 0x24, 0x81, 0x6a, 0x58, 0x99, 0x62, 0x0e, + 0xd9, 0x45, 0x5a, 0xb3, 0x3b, 0xb7, 0x61, 0x73, 0x60, 0xf7, 0xdd, 0xfb, 0x81, 0x18, 0x16, 0xa8, + 0xae, 0xa4, 0xe2, 0x59, 0xb9, 0x2d, 0x2b, 0xc1, 0xd1, 0x49, 0xd5, 0x7e, 0x4f, 0xc0, 0x68, 0xfe, + 0x3f, 0x9f, 0x13, 0x3e, 0xee, 0x3e, 0x59, 0xe2, 0x8c, 0x2e, 0x14, 0x11, 0xfe, 0x82, 0x6d, 0x35, + 0xaf, 0x6b, 0x45, 0x15, 0x77, 0x43, 0x7d, 0xa1, 0xb2, 0x52, 0xbf, 0x14, 0x64, 0xf2, 0xab, 0x2a, + 0x75, 0x56, 0x51, 0x1c, 0x35, 0x57, 0x8a, 0xa6, 0xff, 0x4c, 0x9e, 0xf5, 0xf3, 0x87, 0x57, 0x6e, + 0x9d, 0xc0, 0xb0, 0x29, 0x29, 0xa3, 0x23, 0xfa, 0xbf, 0xb5, 0xad, 0xeb, 0xf7, 0x01, 0x16, 0xc4, + 0x98, 0xd3, 0x4e, 0x1a, 0x8e, 0x53, 0xb6, 0xec, 0x6e, 0x69, 0xd1, 0x74, 0xcc, 0x8f, 0x83, 0xc1, + 0x94, 0x39, 0x16, 0xfd, 0xeb, 0x52, 0xdc, 0x81, 0xc4, 0xb0, 0xdd, 0xce, 0x27, 0xb5, 0x28, 0xc2, + 0x44, 0xad, 0xa4, 0x64, 0xf9, 0x99, 0x85, 0xba, 0xa7, 0xfb, 0x66, 0x2c, 0xd5, 0x90, 0x4b, 0x7d, + 0xa6, 0x85, 0x43, 0xe2, 0xfa, 0x2e, 0xe6, 0xca, 0x07, 0x9d, 0x50, 0xb3, 0xde, 0x7b, 0xa5, 0x31, + 0x0c, 0x38, 0x0f, 0x5a, 0xb1, 0x1d, 0xcb, 0x06, 0xb0, 0x0c, 0x92, 0x81, 0x95, 0xde, 0x56, 0x3f, + 0x87, 0x01, 0xa5, 0x68, 0x1a, 0x35, 0x17, 0x2d, 0x18, 0x3d, 0x8f, 0x5b, 0x35, 0x48, 0xc4, 0xfd, + 0x19, 0xfa, 0xf3, 0x94, 0xe3, 0x2f, 0x6e, 0x4f, 0xa1, 0x59, 0x55, 0x14, 0xc9, 0xc1, 0x65, 0xb6, + 0xd5, 0x6d, 0x8f, 0x47, 0x32, 0xd8, 0x63, 0xd6, 0x44, 0xf3, 0x52, 0x20, 0x1a, 0x77, 0x4d, 0xdc, + 0xf9, 0xc7, 0x6d, 0x09, 0x7c, 0x77, 0x1b, 0x5f, 0x80, 0xb9, 0x73, 0xaa, 0x27, 0xa9, 0x9e, 0xdd, + 0x5e, 0xfc, 0x20, 0x77, 0x63, 0x6b, 0x0d, 0xae, 0xd3, 0xd5, 0xb1, 0x93, 0x49, 0x52, 0x68, 0x43, + 0x47, 0x73, 0x19, 0xd3, 0x11, 0x38, 0x40, 0xbd, 0x04, 0xbd, 0xce, 0xe1, 0x59, 0x23, 0x5a, 0x13, + 0x2b, 0xcb, 0xf4, 0xbb, 0xed, 0x27, 0x48, 0x4c, 0x84, 0xe5, 0x58, 0x2d, 0x97, 0xfb, 0xa3, 0x63, + 0x06, 0x46, 0x9c, 0xae, 0x1f, 0x68, 0xb2, 0x4e, 0x6c, 0x0f, 0x4d, 0xff, 0xce, 0x6b, 0xa8, 0xc1, + 0x57, 0x97, 0x33, 0x54, 0xbb, 0xaf, 0x5f, 0x29, 0x38, 0xf8, 0x36, 0x4e, 0xe7, 0xd7, 0x66, 0x5f, + 0x9f, 0xe8, 0xe6, 0x0c, 0x0c, 0xe7, 0xe5, 0x30, 0x2a, 0x18, 0xed, 0x3a, 0x75, 0xfc, 0xdc, 0xcd, + 0xe1, 0x6a, 0xba, 0xbd, 0x24, 0x9b, 0x2f, 0xaf, 0x46, 0xb0, 0xfd, 0x40, 0x88, 0x23, 0x1c, 0x12, + 0xfe, 0x0b, 0x74, 0x30, 0xe2, 0x16, 0xa9, 0xa4, 0x53, 0xc6, 0x5b, 0xf9, 0x1a, 0xb6, 0xa6, 0xed, + 0xfe, 0x37, 0x64, 0x9d, 0xbe, 0xc9, 0x8c, 0x20, 0x66, 0xe1, 0x6b, 0x10, 0x0c, 0xef, 0x3b, 0x75, + 0x7a, 0xeb, 0x67, 0x27, 0x07, 0x32, 0x01, 0x8f, 0x5a, 0xb3, 0xc0, 0x9e, 0xa0, 0x44, 0xdc, 0xee, + 0xa2, 0xe3, 0x27, 0x32, 0xd6, 0xc2, 0x68, 0x24, 0xf0, 0x57, 0xec, 0x11, 0x0d, 0xc2, 0xb2, 0x1d, + 0xe5, 0xfc, 0x1e, 0x80, 0xef, 0xab, 0x86, 0x22, 0x5f, 0xd2, 0x3b, 0xf0, 0xb8, 0xf4, 0xcb, 0x25, + 0xf9, 0xe8, 0x35, 0x9e, 0x83, 0xf0, 0x98, 0xda, 0xd2, 0x21, 0x90, 0x8c, 0xba, 0x99, 0xb7, 0xd3, + 0x87, 0xe7, 0x58, 0x3f, 0xe7, 0xae, 0xc4, 0xb3, 0x03, 0xed, 0x87, 0xcd, 0x2c, 0x0c, 0xf6, 0xfe, + 0xf1, 0x54, 0x44, 0x09, 0x81, 0x54, 0x43, 0x72, 0xf6, 0x13, 0x9d, 0xc9, 0xc8, 0x28, 0xf8, 0x47, + 0xef, 0x9b, 0x7a, 0x04, 0x29, 0x60, 0xf6, 0x0c, 0xdf, 0xd2, 0xe5, 0x3f, 0x19, 0xde, 0x45, 0xe3, + 0x6f, 0xc8, 0xa1, 0x71, 0xb2, 0x9b, 0x64, 0xb8, 0x56, 0xfc, 0xde, 0xd1, 0x70, 0x9b, 0x12, 0x8b, + 0x88, 0x21, 0x9e, 0xa6, 0x25, 0x1e, 0x55, 0x03, 0x19, 0x62, 0x0c, 0x03, 0xff, 0xaa, 0x19, 0x1e, + 0x67, 0xe5, 0x68, 0x17, 0x75, 0x92, 0xf2, 0xe8, 0x73, 0x51, 0x46, 0x6a, 0xb1, 0xc0, 0xfc, 0x3a, + 0xb2, 0x84, 0x77, 0x8d, 0xdc, 0xac, 0x32, 0xd5, 0xfd, 0x3e, 0x23, 0xfb, 0x2e, 0xd0, 0x07, 0x85, + 0x3a, 0x69, 0x99, 0x46, 0xb4, 0x0b, 0x63, 0xbf, 0xf1, 0xb1, 0xa3, 0xa4, 0x65, 0xd7, 0xaf, 0x16, + 0x67, 0xcc, 0xb4, 0xa0, 0x8a, 0xf0, 0x1b, 0xf0, 0x35, 0x28, 0xeb, 0x94, 0xeb, 0xdf, 0xa9, 0x18, + 0xc2, 0x49, 0x9c, 0xd8, 0xee, 0x5a, 0xde, 0xa6, 0xae, 0xd8, 0x65, 0x12, 0x75, 0x85, 0x7c, 0xcb, + 0xbf, 0x67, 0xd5, 0xca, 0x62, 0xf4, 0xb5, 0xdc, 0xcd, 0xff, 0x38, 0xde, 0xdb, 0x47, 0x20, 0x97, + 0xd9, 0x27, 0xde, 0xfe, 0x30, 0x22, 0xdd, 0xc1, 0x4d, 0xf6, 0x15, 0x31, 0x17, 0x26, 0x96, 0x68, + 0x1f, 0xcc, 0x10, 0xbe, 0x1d, 0x37, 0xd2, 0xe2, 0xd7, 0x5c, 0x1a, 0x15, 0x19, 0x91, 0xf2, 0xf8, + 0xd4, 0x76, 0x84, 0xdb, 0xed, 0x76, 0xb3, 0xa2, 0x6d, 0xfc, 0xc0, 0x3c, 0x2e, 0x56, 0x90, 0x69, + 0xe7, 0xa8, 0x20, 0xf5, 0xdc, 0x99, 0xea, 0x23, 0x89, 0x1d, 0x37, 0xe2, 0xda, 0x57, 0xfa, 0x1e, + 0x1f, 0xa7, 0x10, 0xf5, 0x2a, 0xc7, 0x25, 0x0c, 0xe3, 0x0f, 0x33, 0x15, 0x60, 0x5a, 0x60, 0x90, + 0xaa, 0xdb, 0x6b, 0xdc, 0x99, 0x44, 0x31, 0x24, 0xbd, 0x99, 0x58, 0x2c, 0x27, 0x98, 0x8c, 0x14, + 0x67, 0x4c, 0xb4, 0x0e, 0x6c, 0xe3, 0x64, 0xf5, 0xec, 0xf9, 0x2d, 0x1d, 0x0e, 0xf3, 0xa2, 0x56, + 0x0c, 0x47, 0x28, 0x74, 0x6f, 0xbd, 0x48, 0x21, 0x5f, 0x75, 0x47, 0xa8, 0x7a, 0xf0, 0x2c, 0x62, + 0xbc, 0x51, 0xa4, 0xdc, 0xd3, 0x73, 0x1a, 0xc1, 0x67, 0x6a, 0xa2, 0x13, 0x8d, 0x55, 0x0b, 0xf0, + 0x49, 0x59, 0x63, 0x6e, 0x67, 0xcb, 0x50, 0xad, 0xc5, 0x2d, 0x69, 0x02, 0x73, 0x76, 0xe2, 0xf9, + 0x9f, 0xbe, 0xec, 0x41, 0x6f, 0xdf, 0xb4, 0x64, 0xcc, 0x15, 0x64, 0xf5, 0x00, 0xf8, 0x41, 0x4b, + 0x5e, 0x65, 0x5a, 0x84, 0xd0, 0xc4, 0x86, 0xb1, 0x96, 0xec, 0x71, 0x3f, 0xc1, 0xeb, 0xc9, 0xa6, + 0xba, 0x00, 0x70, 0x43, 0xb3, 0x0f, 0xab, 0x27, 0x8f, 0x66, 0x08, 0x55, 0x82, 0xa2, 0x5c, 0xe9, + 0x07, 0x5b, 0x87, 0x66, 0x4f, 0xb6, 0x39, 0x5b, 0xc1, 0xa3, 0xaf, 0xba, 0xf7, 0xb2, 0x51, 0x27, + 0xbf, 0xe7, 0x93, 0xfc, 0xfc, 0x86, 0xce, 0xcc, 0xe3, 0x48, 0x8d, 0xbe, 0xa6, 0xc5, 0xb4, 0x7c, + 0xce, 0x24, 0xc3, 0xe8, 0xee, 0x67, 0xc1, 0xdc, 0x9d, 0xd8, 0x31, 0x5f, 0x6b, 0x8d, 0x78, 0xcb, + 0x8a, 0xb1, 0xf5, 0xba, 0xf0, 0xd1, 0xe2, 0xe8, 0xa9, 0x54, 0xa5, 0x4b, 0x7f, 0xa9, 0x7e, 0xc9, + 0xa1, 0xbe, 0x38, 0x0e, 0x0e, 0xe8, 0x62, 0xa6, 0xdb, 0x86, 0x3c, 0x7b, 0x72, 0x76, 0x53, 0xb2, + 0x7f, 0x79, 0xb2, 0xbf, 0xbf, 0x18, 0x3e, 0x06, 0xab, 0x90, 0x71, 0xb4, 0x0d, 0x05, 0x62, 0x59, + 0xd1, 0xcc, 0x9e, 0x4b, 0x94, 0xb0, 0x93, 0x12, 0xe8, 0xff, 0xd9, 0xc5, 0xff, 0x59, 0x1e, 0x05, + 0x7e, 0x22, 0x8a, 0xc6, 0xe6, 0x4f, 0x55, 0x9a, 0x67, 0xa0, 0x58, 0x63, 0x6b, 0xac, 0x61, 0x5c, + 0x35, 0x99, 0x7d, 0xf7, 0xe0, 0xfe, 0xc8, 0x4c, 0x71, 0x89, 0x25, 0x57, 0x44, 0x9a, 0x96, 0x95, + 0xfe, 0x46, 0xc8, 0xa0, 0xc2, 0x39, 0x89, 0xea, 0xf5, 0xae, 0x83, 0x86, 0x93, 0xc1, 0x8c, 0xfe, + 0xce, 0x05, 0xfc, 0x73, 0x99, 0xfa, 0x34, 0x85, 0x57, 0xb0, 0xe2, 0x24, 0x34, 0xae, 0x1a, 0x27, + 0x0a, 0xb3, 0xd8, 0x4f, 0xaa, 0xe9, 0xac, 0x7f, 0x3b, 0xd3, 0x36, 0x71, 0xf3, 0xcc, 0xda, 0xb8, + 0x9a, 0x62, 0xdd, 0x06, 0xd4, 0xb1, 0xd5, 0x39, 0xfb, 0x44, 0xf0, 0x5d, 0x74, 0xdd, 0x7c, 0x7c, + 0x14, 0xd2, 0x40, 0x84, 0x59, 0xde, 0x5d, 0x7c, 0x78, 0x9b, 0x07, 0x6e, 0x0e, 0x74, 0x30, 0xac, + 0x4b, 0xb2, 0x9e, 0x91, 0xc5, 0x3b, 0x68, 0xf0, 0x5b, 0x88, 0xb8, 0x28, 0xed, 0xb3, 0x1a, 0x42, + 0xb5, 0x8f, 0x77, 0x82, 0xb7, 0xde, 0xe3, 0x91, 0x15, 0x97, 0xfb, 0xa9, 0x4c, 0xbd, 0x08, 0x8e, + 0x0f, 0x16, 0xc1, 0x21, 0xc1, 0xdc, 0x32, 0xb0, 0xcc, 0x5e, 0xbe, 0x38, 0x17, 0xcd, 0xca, 0x47, + 0xe7, 0x05, 0xfe, 0x03, 0x29, 0x7d, 0xc2, 0x74, 0xb8, 0x0a, 0x27, 0x13, 0x3d, 0xb7, 0x29, 0x76, + 0x72, 0xaf, 0x9b, 0x38, 0xf8, 0x99, 0xc5, 0xa9, 0x56, 0xc3, 0x9a, 0x43, 0x0f, 0x7e, 0xb7, 0x4c, + 0x40, 0xba, 0xe4, 0xa5, 0x3b, 0x2e, 0x3b, 0xaa, 0x07, 0x6d, 0x13, 0x7c, 0x2b, 0x45, 0x71, 0x09, + 0x14, 0x3c, 0x3b, 0x81, 0x7e, 0x56, 0xa2, 0x88, 0xbb, 0x23, 0x54, 0xa4, 0xf1, 0x8c, 0x6a, 0x40, + 0x38, 0xf0, 0xba, 0xd7, 0x33, 0xba, 0x3d, 0x97, 0x7a, 0x34, 0x4a, 0xcb, 0x47, 0x67, 0xe7, 0x41, + 0x7c, 0x3f, 0xcb, 0x8c, 0x48, 0xb1, 0x68, 0x19, 0x5e, 0xe6, 0x21, 0xdd, 0x40, 0x8c, 0xae, 0xe7, + 0x57, 0xae, 0x01, 0x61, 0xc3, 0xb7, 0xbb, 0x05, 0x3f, 0x05, 0x04, 0x55, 0x23, 0xa1, 0x72, 0x8e, + 0x09, 0x3d, 0x90, 0x31, 0x1a, 0xe9, 0x91, 0x55, 0x39, 0xe1, 0x74, 0x71, 0xdc, 0x67, 0xf8, 0x34, + 0xb6, 0x77, 0x24, 0x27, 0x54, 0x16, 0xd2, 0xb2, 0xdc, 0xdb, 0xb5, 0xa3, 0xb3, 0x3c, 0x75, 0xf4, + 0x1f, 0xaf, 0x73, 0x18, 0xfb, 0x45, 0x69, 0x35, 0x38, 0xdf, 0x62, 0x7f, 0x0d, 0x4c, 0x15, 0xf9, + 0x81, 0xec, 0x4b, 0x94, 0xd8, 0x32, 0x90, 0x18, 0xad, 0x9d, 0x03, 0xba, 0xdb, 0x0c, 0x3a, 0xa6, + 0xa4, 0x22, 0xb8, 0x86, 0xfd, 0x0f, 0xea, 0xff, 0xc1, 0x44, 0x97, 0x2e, 0xe5, 0xe2, 0xf2, 0xcb, + 0x25, 0x90, 0x72, 0xd6, 0xc2, 0x0e, 0x64, 0x4c, 0x7b, 0xfb, 0x36, 0xb5, 0x97, 0x8b, 0x1c, 0xee, + 0x85, 0xf2, 0x55, 0xf4, 0x47, 0xf9, 0x81, 0x89, 0xbe, 0x7e, 0x91, 0x06, 0x3b, 0x07, 0x38, 0x70, + 0x53, 0x3d, 0x75, 0xba, 0xe7, 0x42, 0xd8, 0x5e, 0x30, 0xd8, 0x71, 0x05, 0x86, 0xe8, 0xa9, 0xdd, + 0x26, 0x50, 0x38, 0x22, 0xc9, 0x39, 0x11, 0x34, 0x3b, 0xae, 0xbd, 0x3e, 0xb9, 0x30, 0x51, 0x5f, + 0x60, 0x2e, 0x25, 0x9a, 0xbe, 0xc2, 0x85, 0xc1, 0xf9, 0x6c, 0xd1, 0xa4, 0xe3, 0xcd, 0xb7, 0x41, + 0x39, 0xac, 0xf8, 0x4d, 0xdd, 0x91, 0xb4, 0x2d, 0x09, 0x06, 0x62, 0xc3, 0x52, 0x2c, 0xcc, 0x7f, + 0x9f, 0x4c, 0xb5, 0xaa, 0x56, 0x26, 0xda, 0x43, 0x46, 0xe1, 0x19, 0x35, 0x40, 0x9e, 0x4f, 0x69, + 0xd7, 0xee, 0x09, 0x59, 0x73, 0x8a, 0xc4, 0x62, 0x23, 0x10, 0xd2, 0xf3, 0x9c, 0xda, 0x5c, 0xa8, + 0x8e, 0x26, 0xdc, 0x14, 0x52, 0xf6, 0x07, 0x3e, 0x7e, 0xa4, 0x8a, 0xf0, 0x95, 0xc8, 0x72, 0x80, + 0xc1, 0xfb, 0x5d, 0x67, 0xf8, 0x3f, 0xb3, 0x85, 0xd5, 0x7b, 0xb2, 0x7a, 0x8b, 0x6f, 0xf4, 0x8d, + 0x8d, 0x2a, 0x34, 0x29, 0x04, 0x3a, 0x4d, 0xf0, 0x48, 0xf6, 0xeb, 0xab, 0x55, 0x95, 0x0d, 0x4a, + 0x97, 0xc3, 0xe1, 0x89, 0x9b, 0x1b, 0xb4, 0xb7, 0x10, 0x3f, 0xba, 0xac, 0xd1, 0x21, 0xe7, 0x0a, + 0xb6, 0x67, 0x66, 0x42, 0x5c, 0xc5, 0x1a, 0xa3, 0x1b, 0x95, 0x8c, 0xb9, 0x10, 0x53, 0x40, 0xf2, + 0x75, 0xdf, 0x56, 0xf6, 0xc7, 0xbc, 0x67, 0xa3, 0x23, 0xf8, 0x91, 0xc5, 0xd3, 0xb5, 0x07, 0x16, + 0xd7, 0x20, 0x90, 0x8a, 0x75, 0x3e, 0xef, 0x40, 0xe5, 0x1f, 0x50, 0x58, 0x73, 0x94, 0xbb, 0xf1, + 0x8d, 0xa0, 0xbd, 0x81, 0x28, 0xb0, 0xdc, 0x61, 0xe1, 0x98, 0x47, 0x5c, 0x45, 0x3e, 0x41, 0xb2, + 0xc7, 0x40, 0xb4, 0x46, 0x52, 0xa0, 0x18, 0x8f, 0x81, 0x25, 0xda, 0xd1, 0x5e, 0x77, 0x57, 0x9b, + 0x43, 0x92, 0xe0, 0xfd, 0xb5, 0xdf, 0x5e, 0xcb, 0x81, 0xac, 0x92, 0xff, 0xc3, 0xdd, 0x2e, 0xd6, + 0x2e, 0x6d, 0x43, 0xd3, 0xcf, 0x69, 0x90, 0x3b, 0x13, 0xb7, 0x8f, 0x99, 0x43, 0xbe, 0x5a, 0x83, + 0xd4, 0xfc, 0xa4, 0xc1, 0x74, 0x6f, 0x0f, 0xf1, 0x39, 0xe6, 0xab, 0x92, 0xf0, 0xf3, 0x6c, 0xea, + 0x3f, 0xba, 0x4f, 0xce, 0xf3, 0x2b, 0x64, 0xf6, 0xdd, 0xa5, 0xa9, 0xe6, 0x61, 0x5b, 0x10, 0xcf, + 0xae, 0x8d, 0xa1, 0xa2, 0x7d, 0xf4, 0x4c, 0x5c, 0x36, 0x61, 0x3d, 0xdd, 0x67, 0xb3, 0x30, 0xe6, + 0x32, 0xbe, 0xa0, 0x79, 0x2c, 0xc4, 0x3b, 0x42, 0x28, 0x41, 0x1b, 0x38, 0x23, 0x4e, 0x71, 0x38, + 0x8b, 0x29, 0x25, 0xff, 0xc6, 0x4a, 0x70, 0x98, 0x64, 0x8a, 0xf4, 0xa4, 0xb3, 0xf8, 0x9e, 0xef, + 0x93, 0x49, 0x87, 0x51, 0x55, 0x1e, 0xd4, 0xe8, 0xeb, 0x25, 0x4c, 0xf7, 0xa0, 0xbf, 0x74, 0xca, + 0x84, 0x31, 0xcb, 0x4e, 0x75, 0xfc, 0x6f, 0x31, 0x3f, 0xcb, 0x54, 0x1b, 0x4f, 0x61, 0xcb, 0xe9, + 0x81, 0x44, 0xc2, 0xdc, 0xa6, 0x75, 0x50, 0x25, 0xcc, 0xd5, 0xf4, 0xb3, 0x98, 0x03, 0x0c, 0xa9, + 0x8b, 0x53, 0x76, 0xf3, 0x03, 0x68, 0x4a, 0x31, 0xf8, 0x54, 0xc9, 0x4a, 0x31, 0x99, 0xd0, 0x33, + 0x32, 0xba, 0xe5, 0x93, 0x62, 0x31, 0x07, 0x81, 0xaf, 0x2c, 0x9a, 0xe1, 0x96, 0x7a, 0x8f, 0xb0, + 0xd0, 0x00, 0x7b, 0xc7, 0xf8, 0xd6, 0x79, 0x4c, 0x71, 0x47, 0xdc, 0xd0, 0x2b, 0x19, 0xfb, 0xf5, + 0x3b, 0xdd, 0x3a, 0xe3, 0x9e, 0x59, 0x02, 0xd7, 0x5b, 0xc2, 0x21, 0x13, 0x1d, 0xd7, 0x5b, 0x4a, + 0xaa, 0x7d, 0xd0, 0x53, 0x1a, 0x9b, 0xf8, 0x83, 0xde, 0x88, 0x22, 0x31, 0xe4, 0x0e, 0x63, 0xc0, + 0xd6, 0x21, 0xd1, 0x1a, 0xab, 0x4b, 0x03, 0x62, 0xaa, 0xc5, 0x42, 0xb4, 0x08, 0xfb, 0xa7, 0x31, + 0x59, 0x87, 0xe8, 0x3e, 0x6e, 0x21, 0x03, 0x34, 0xcc, 0xaa, 0xb2, 0xa2, 0x33, 0xd0, 0xa7, 0x61, + 0xf5, 0xa7, 0x0b, 0x5d, 0x38, 0x1e, 0x9b, 0x32, 0x8c, 0x60, 0xa1, 0x61, 0xb1, 0xca, 0x23, 0x32, + 0x8a, 0x05, 0x57, 0xfd, 0x71, 0xca, 0x3a, 0x55, 0x32, 0x50, 0x1e, 0xd9, 0xd0, 0x23, 0xb6, 0x76, + 0x38, 0x17, 0x50, 0x87, 0xc3, 0x20, 0x5a, 0x01, 0xbf, 0x72, 0x3a, 0xfb, 0xb2, 0x48, 0x67, 0x5c, + 0xbe, 0x38, 0xbb, 0x4a, 0x24, 0xce, 0x23, 0xee, 0x5b, 0xfd, 0x49, 0x37, 0xbf, 0xc3, 0xdb, 0xd8, + 0x16, 0xbf, 0x11, 0xc8, 0x46, 0xc1, 0x1d, 0x47, 0x15, 0x54, 0xd5, 0xf7, 0x2c, 0x71, 0x68, 0x39, + 0x26, 0xb2, 0xe3, 0xcf, 0x43, 0x25, 0x65, 0xe5, 0x8f, 0xcc, 0x32, 0x7e, 0x91, 0x66, 0xfa, 0x1e, + 0xf8, 0xc3, 0xd8, 0xc8, 0x7b, 0xde, 0x33, 0x0d, 0xaa, 0xa0, 0x2f, 0x2e, 0x28, 0xd9, 0x8a, 0xd6, + 0x7b, 0xfd, 0x73, 0x83, 0x33, 0x1d, 0xb0, 0xcb, 0xbf, 0x24, 0x17, 0xfc, 0x84, 0x99, 0x33, 0xe5, + 0x24, 0xf9, 0xa9, 0x23, 0x9c, 0xbe, 0xd4, 0x5b, 0x89, 0x77, 0x04, 0x5c, 0x8d, 0x16, 0x99, 0xea, + 0x7c, 0x67, 0xfe, 0x5d, 0xe3, 0x37, 0xc3, 0xda, 0x8b, 0x53, 0x10, 0xe9, 0x3b, 0x43, 0x60, 0x2a, + 0x96, 0x5b, 0xf8, 0x3c, 0x4f, 0x75, 0xef, 0xcf, 0x10, 0x65, 0x59, 0xb0, 0x46, 0xce, 0x30, 0xf2, + 0x2a, 0x39, 0xe9, 0xe5, 0x88, 0xef, 0x39, 0xd4, 0x8a, 0x68, 0x0a, 0x10, 0xda, 0x85, 0x44, 0xc3, + 0xc1, 0xfb, 0x34, 0x97, 0x8f, 0x73, 0x09, 0xb1, 0xa0, 0xd5, 0x7e, 0x24, 0x90, 0xd0, 0x08, 0x89, + 0x27, 0x2c, 0x19, 0x88, 0x04, 0xb4, 0x43, 0x45, 0x41, 0x8c, 0x4f, 0x44, 0xb2, 0xe7, 0xe7, 0x1c, + 0xd0, 0x02, 0xa7, 0xe4, 0xee, 0x81, 0x73, 0x19, 0x78, 0x08, 0xbb, 0xd0, 0xa7, 0x17, 0xc6, 0xcc, + 0x5a, 0xdc, 0xd4, 0x36, 0x82, 0x8c, 0x4a, 0xb3, 0x96, 0x8f, 0xfc, 0xf0, 0x8d, 0x94, 0xad, 0xac, + 0x48, 0x06, 0xe3, 0x1a, 0x5f, 0xaf, 0xd1, 0xc0, 0x6b, 0x90, 0x5b, 0xcc, 0x44, 0x88, 0xae, 0x45, + 0xb4, 0x79, 0x13, 0x65, 0xd1, 0x86, 0x18, 0xa2, 0x8c, 0x9d, 0xb3, 0xb7, 0x6d, 0xe4, 0x9b, 0xc2, + 0x9e, 0xad, 0x06, 0x7f, 0xdc, 0x4e, 0xd5, 0xc2, 0xaa, 0x41, 0x81, 0xca, 0x31, 0x07, 0xb8, 0x47, + 0x66, 0xba, 0x49, 0x62, 0xcb, 0x6a, 0xf3, 0xb1, 0xfd, 0x54, 0xb8, 0x2d, 0x4e, 0x93, 0xea, 0x72, + 0x35, 0x15, 0x9e, 0x9b, 0xdf, 0x6d, 0x0b, 0x36, 0x57, 0xb5, 0xa0, 0xdb, 0x9f, 0x7b, 0x7e, 0x9d, + 0x3b, 0xd3, 0x1c, 0xa1, 0x0e, 0xe6, 0xf4, 0x51, 0x97, 0xd6, 0xa1, 0x46, 0x68, 0xcb, 0x84, 0x67, + 0x73, 0x4b, 0xc6, 0xad, 0x64, 0xaa, 0xe1, 0xb1, 0x7f, 0x85, 0x36, 0x26, 0xe0, 0x95, 0xf1, 0x91, + 0x7f, 0x30, 0x78, 0x1a, 0x82, 0xe8, 0x75, 0x7b, 0x10, 0x0c, 0x40, 0x56, 0xf4, 0x4c, 0xc1, 0x57, + 0x99, 0xb9, 0xc0, 0xca, 0x81, 0x01, 0x56, 0xa1, 0x24, 0x6f, 0x83, 0xfa, 0x79, 0xdb, 0x85, 0x3f, + 0xe8, 0x8b, 0x95, 0x3b, 0x1a, 0xde, 0x10, 0x82, 0xc4, 0x3e, 0x5d, 0x5f, 0xcb, 0x23, 0xed, 0x3b, + 0xbd, 0xea, 0x94, 0x59, 0x63, 0x1f, 0x3f, 0x6d, 0x1b, 0x67, 0xe8, 0x38, 0xea, 0x8a, 0x8c, 0x45, + 0x66, 0x4e, 0xb1, 0xe5, 0x81, 0x56, 0x99, 0x91, 0xfe, 0xba, 0x64, 0x26, 0x37, 0x9e, 0x06, 0x9a, + 0xcc, 0x8d, 0x14, 0x87, 0x95, 0xa1, 0x5e, 0x21, 0xd4, 0x21, 0xfc, 0x18, 0x84, 0xaa, 0xf0, 0x18, + 0x78, 0x46, 0x37, 0xf8, 0x98, 0xce, 0x06, 0x6a, 0x70, 0xe8, 0xf4, 0x2e, 0xc0, 0x31, 0xb7, 0x21, + 0x53, 0x02, 0x14, 0x3a, 0x5a, 0xef, 0x0b, 0xe6, 0x27, 0x85, 0x1f, 0xd2, 0xaf, 0xa6, 0x74, 0xe2, + 0x71, 0x51, 0xd9, 0xb1, 0xcf, 0x5a, 0x51, 0xf3, 0x83, 0x51, 0xc1, 0x24, 0x71, 0xdc, 0x92, 0xa8, + 0x53, 0x0d, 0x59, 0xd7, 0x5f, 0xa1, 0x07, 0x4f, 0xbb, 0x96, 0xec, 0x05, 0x14, 0xdb, 0x95, 0x5b, + 0xab, 0xb2, 0xa2, 0x09, 0x6f, 0xcc, 0xbe, 0xe2, 0x05, 0x42, 0x04, 0x2f, 0xa0, 0xf2, 0x6b, 0xf6, + 0x96, 0x5b, 0x91, 0x9e, 0x0b, 0x53, 0xfe, 0x47, 0x8d, 0x89, 0xd7, 0x8f, 0x68, 0xa4, 0x0d, 0x2f, + 0xf6, 0x98, 0x3d, 0xd4, 0xe2, 0x9b, 0xf6, 0xa3, 0x8c, 0xd6, 0x39, 0x24, 0x9d, 0xf3, 0x8c, 0xc1, + 0x0a, 0x5f, 0xf5, 0xae, 0x86, 0x3f, 0x99, 0x83, 0xba, 0x92, 0x7f, 0x5b, 0xd7, 0x0d, 0x57, 0xbd, + 0xdf, 0x6e, 0xd6, 0xea, 0x89, 0x1a, 0x52, 0x3e, 0xca, 0x82, 0xce, 0xec, 0xd9, 0x4f, 0xf1, 0xa8, + 0x9a, 0xcc, 0x47, 0xcf, 0xce, 0x83, 0x20, 0x0e, 0x47, 0x49, 0x08, 0x33, 0xcd, 0x19, 0x6f, 0x2b, + 0xa7, 0x21, 0xdd, 0x82, 0x9e, 0xb6, 0x49, 0x98, 0x67, 0xce, 0xd8, 0x7f, 0xa2, 0xb3, 0x43, 0xb2, + 0x3c, 0x1b, 0x24, 0x72, 0x50, 0x8d, 0xcf, 0x4b, 0x8d, 0x68, 0x16, 0x3d, 0xaf, 0x76, 0xd3, 0x18, + 0x11, 0x92, 0xdb, 0xf9, 0x5d, 0x67, 0x90, 0x2a, 0x1d, 0x3a, 0x86, 0x8a, 0x33, 0x08, 0x4d, 0x3b, + 0x0e, 0x8a, 0x35, 0x9f, 0x98, 0xed, 0x1a, 0x01, 0xe7, 0x7e, 0x41, 0x7b, 0xfe, 0x2b, 0xc7, 0xea, + 0x31, 0xa1, 0x5d, 0x50, 0xc5, 0x53, 0x50, 0xea, 0x0d, 0xaf, 0xfe, 0xe0, 0xd5, 0x2a, 0x40, 0x12, + 0x94, 0x0c, 0xfa, 0x54, 0xf7, 0xfa, 0x00, 0x00, 0xda, 0x2f, 0x2a, 0x05, 0x1e, 0x97, 0x50, 0x70, + 0x92, 0xd7, 0x61, 0x03, 0x6b, 0x45, 0x2e, 0xcd, 0xb7, 0x80, 0xdc, 0x30, 0x13, 0x89, 0x33, 0x5b, + 0xaf, 0x44, 0x64, 0x5e, 0x78, 0xa5, 0x3f, 0x5e, 0x71, 0xd5, 0x41, 0xc9, 0x79, 0x38, 0x92, 0xb8, + 0x29, 0xd0, 0xaa, 0xcb, 0xc4, 0xbd, 0xfc, 0xa9, 0xc0, 0x08, 0x78, 0x9a, 0xf8, 0x14, 0x74, 0x87, + 0x3f, 0x55, 0x64, 0x8d, 0x08, 0x4b, 0x82, 0x19, 0xb3, 0x98, 0xdb, 0xe6, 0x17, 0xd7, 0x48, 0xe9, + 0x6c, 0x8f, 0x1f, 0x58, 0xca, 0x75, 0xb0, 0x34, 0xc9, 0xb0, 0xc6, 0x0a, 0xfd, 0xda, 0x7d, 0x48, + 0x10, 0x3b, 0x05, 0x24, 0xbb, 0x27, 0x13, 0xf1, 0x86, 0xd2, 0xbe, 0x69, 0x5a, 0xb0, 0xe7, 0x5b, + 0x74, 0xff, 0x12, 0x16, 0x89, 0xe3, 0x14, 0x75, 0x0a, 0x4c, 0x7e, 0x94, 0xf0, 0xaa, 0x08, 0x08, + 0x1d, 0x70, 0xb3, 0xfc, 0xb8, 0xac, 0x88, 0x83, 0xb9, 0x1b, 0x55, 0x65, 0x5c, 0xab, 0x06, 0xda, + 0xe6, 0x32, 0x99, 0x9f, 0x0e, 0xdf, 0x68, 0x4e, 0xb6, 0x2d, 0x70, 0xe8, 0x55, 0xac, 0x42, 0xeb, + 0xa9, 0x6d, 0x12, 0x58, 0x61, 0x43, 0x31, 0x33, 0xfc, 0x61, 0x24, 0xd4, 0x21, 0x77, 0x22, 0x33, + 0xf7, 0xa0, 0x83, 0xbf, 0x91, 0x3a, 0xd6, 0x1c, 0xf1, 0x86, 0xb6, 0x2f, 0x51, 0xdd, 0xef, 0xff, + 0x01, 0xdd, 0x78, 0xf5, 0x9c, 0x46, 0x65, 0xe7, 0x9c, 0x24, 0x86, 0xa4, 0xe4, 0xe1, 0x2a, 0xb4, + 0x98, 0x7e, 0xf6, 0x41, 0x3c, 0x92, 0x9a, 0xab, 0x28, 0x3e, 0xbc, 0xc5, 0x79, 0x0e, 0x59, 0x40, + 0x53, 0xc4, 0x41, 0x66, 0x4a, 0x0a, 0x25, 0xe2, 0x96, 0x66, 0xaa, 0x88, 0x8f, 0xee, 0x6f, 0xbe, + 0xf6, 0x7d, 0x0f, 0x1c, 0x71, 0xb0, 0x2f, 0xc4, 0x26, 0x80, 0x87, 0xc4, 0x99, 0x10, 0x87, 0xf0, + 0x5b, 0x4f, 0xf4, 0xb4, 0xf6, 0x44, 0x87, 0x8e, 0x52, 0x8e, 0xbd, 0x1b, 0x62, 0x72, 0x81, 0xe7, + 0x2d, 0x86, 0x19, 0xcc, 0x96, 0x24, 0x92, 0xbc, 0x33, 0x98, 0x30, 0x86, 0xdb, 0xca, 0x7f, 0xf7, + 0x85, 0x80, 0x5f, 0xf7, 0xd8, 0xcd, 0xcd, 0x86, 0x7a, 0x82, 0x3c, 0x07, 0x79, 0x56, 0x7d, 0x31, + 0x99, 0xa9, 0x4e, 0x65, 0x8f, 0x30, 0x23, 0xc4, 0xe7, 0x31, 0x56, 0x0b, 0xf6, 0x38, 0x1a, 0x2e, + 0x91, 0x45, 0xef, 0xd5, 0x09, 0x1b, 0x60, 0x2b, 0xc0, 0xc6, 0xaf, 0xb0, 0x5d, 0x21, 0xa5, 0x90, + 0xe6, 0x7e, 0x44, 0xf2, 0xf9, 0x5e, 0x89, 0xcb, 0xca, 0x19, 0x8f, 0xe5, 0xad, 0xe0, 0xa6, 0x7d, + 0xdd, 0x15, 0x21, 0x9a, 0x39, 0x8c, 0x70, 0x53, 0x37, 0x72, 0xbf, 0x59, 0x5e, 0x32, 0xd6, 0x09, + 0xd5, 0x9b, 0x59, 0x26, 0x05, 0x06, 0xd5, 0x1e, 0x57, 0x02, 0xbc, 0xcc, 0x2a, 0xc0, 0x72, 0xee, + 0xc5, 0x7f, 0xb7, 0xb0, 0xe7, 0x73, 0x26, 0xc1, 0x23, 0x69, 0x1b, 0x20, 0x72, 0x32, 0x8c, 0xc8, + 0x9f, 0x3e, 0x78, 0x48, 0xde, 0xb4, 0x46, 0x3a, 0x36, 0xcb, 0xa0, 0x36, 0xc0, 0x61, 0x17, 0xa8, + 0x20, 0x89, 0xb6, 0xb1, 0x16, 0x3b, 0x82, 0x61, 0x60, 0xaf, 0x12, 0x62, 0xed, 0x1a, 0x1e, 0x0f, + 0xff, 0x8b, 0xfc, 0x14, 0x76, 0x56, 0xa4, 0xe5, 0x55, 0xf0, 0xe1, 0xa2, 0x38, 0xdb, 0xfc, 0xb3, + 0xa8, 0xb4, 0xa0, 0x96, 0x16, 0x60, 0x26, 0xdb, 0xee, 0x8d, 0x0f, 0x91, 0xbc, 0x2b, 0x1f, 0xe3, + 0xa9, 0xf1, 0x3e, 0xdf, 0x36, 0x17, 0x72, 0xa8, 0x19, 0xac, 0x83, 0x23, 0x4c, 0xe5, 0x03, 0x0c, + 0xdb, 0xeb, 0xa3, 0xdd, 0xa8, 0x8a, 0x47, 0x0c, 0xeb, 0x0d, 0x19, 0xff, 0xe7, 0x19, 0x89, 0x11, + 0x3b, 0x2e, 0x49, 0xf3, 0xb3, 0x02, 0xaf, 0x8e, 0x50, 0x55, 0x4f, 0xde, 0x67, 0x27, 0x7d, 0x9f, + 0x5e, 0x0d, 0x92, 0x25, 0xf8, 0x69, 0xf0, 0x4b, 0x4d, 0xdd, 0xb2, 0x31, 0x92, 0x00, 0xa0, 0x18, + 0x68, 0x3e, 0xd0, 0xb9, 0xe8, 0x0b, 0x3b, 0xa7, 0x6a, 0x75, 0xcc, 0x62, 0x41, 0xcc, 0x3e, 0x4d, + 0xb2, 0xc8, 0x29, 0x81, 0xb0, 0x76, 0x8e, 0x0a, 0x77, 0xaf, 0x7b, 0x93, 0x1b, 0x5a, 0x73, 0x72, + 0xda, 0xba, 0x45, 0x46, 0xde, 0xcc, 0xc7, 0xcd, 0x73, 0xc4, 0x9b, 0xb6, 0xc6, 0xd2, 0x46, 0x3d, + 0x9d, 0x21, 0x7d, 0x99, 0xa7, 0x7d, 0x30, 0x00, 0x4d, 0x2b, 0x34, 0xd5, 0x93, 0x4f, 0xc2, 0x71, + 0xa7, 0x34, 0xe9, 0x84, 0x30, 0xc8, 0x9e, 0xdf, 0xe2, 0xc6, 0xc3, 0x20, 0xeb, 0x8b, 0xe9, 0x28, + 0x48, 0x88, 0x79, 0xe8, 0x8d, 0x01, 0x7d, 0x36, 0xbe, 0x75, 0xc1, 0xdf, 0xcd, 0x3a, 0xe7, 0x7c, + 0x09, 0x4b, 0x65, 0x40, 0xbe, 0x0e, 0x17, 0x57, 0x0a, 0x30, 0x99, 0xff, 0x06, 0xed, 0xbb, 0x40, + 0xe2, 0x3d, 0xd1, 0xcc, 0xe2, 0xa2, 0x3c, 0x73, 0x61, 0x06, 0x1e, 0xaa, 0x7e, 0xc8, 0xa2, 0x0c, + 0xc2, 0x41, 0x60, 0x07, 0xb9, 0x16, 0x70, 0xc8, 0xc9, 0x5c, 0xed, 0xd8, 0x69, 0x6f, 0x90, 0xcd, + 0x18, 0x61, 0x53, 0x05, 0x38, 0xb5, 0xc6, 0xe6, 0x62, 0xa8, 0x37, 0x6d, 0x3a, 0x64, 0xa0, 0xac, + 0x94, 0x3a, 0xc3, 0x99, 0xd3, 0x0a, 0x0b, 0x8d, 0x04, 0x70, 0x2b, 0xbd, 0xc8, 0x7c, 0x6a, 0x3b, + 0xc4, 0xf3, 0xdd, 0x37, 0x6f, 0x94, 0x82, 0xb3, 0x58, 0xc5, 0x78, 0xf4, 0x47, 0x4c, 0xca, 0xab, + 0x6e, 0x29, 0x62, 0x0f, 0x71, 0xb0, 0xa3, 0x9b, 0x47, 0x98, 0xba, 0x61, 0x62, 0xf1, 0x03, 0x19, + 0xc4, 0x4e, 0x6e, 0xc5, 0xba, 0x53, 0x9e, 0x77, 0x46, 0x28, 0xe5, 0xd1, 0x17, 0x86, 0x18, 0xd9, + 0x33, 0xbd, 0x44, 0x60, 0x4b, 0xe3, 0xfa, 0xce, 0x3f, 0x89, 0xcf, 0x08, 0x57, 0xab, 0x32, 0xe7, + 0xff, 0xe3, 0x40, 0xca, 0x16, 0xc4, 0x79, 0x74, 0x92, 0x36, 0x03, 0x95, 0xaf, 0x59, 0x90, 0xa0, + 0x20, 0x8f, 0x94, 0x1e, 0xfa, 0x2a, 0x27, 0x8b, 0xa5, 0xc8, 0x35, 0x62, 0x49, 0x72, 0xcc, 0xeb, + 0x6a, 0x44, 0x24, 0x11, 0xd1, 0xd8, 0x40, 0xce, 0x99, 0x25, 0xe7, 0xda, 0xd0, 0xe3, 0x33, 0xa8, + 0xed, 0xe8, 0x7a, 0x46, 0x5a, 0xb2, 0xe0, 0x3b, 0xe7, 0x66, 0xcb, 0xc6, 0x24, 0x38, 0x59, 0x9b, + 0xc7, 0x03, 0xef, 0x67, 0x8a, 0x87, 0x07, 0x3d, 0xdb, 0x02, 0x4b, 0xab, 0x5b, 0xd6, 0xb1, 0x03, + 0x8c, 0xfe, 0x91, 0x17, 0xce, 0xa4, 0x5f, 0x87, 0xcd, 0x4e, 0x36, 0x88, 0x2d, 0xe2, 0x67, 0x4b, + 0x0b, 0x79, 0x9b, 0x0e, 0x27, 0x64, 0x0a, 0xfa, 0x34, 0xeb, 0x52, 0x45, 0x3f, 0x4a, 0x9e, 0xa8, + 0x66, 0xff, 0xe4, 0xb8, 0xac, 0x0d, 0x6f, 0x39, 0x0e, 0x5e, 0x86, 0x9b, 0x30, 0xdd, 0xbd, 0x1f, + 0x5e, 0x85, 0x0e, 0xc0, 0x9b, 0x00, 0x82, 0xd1, 0xe2, 0xad, 0x97, 0x70, 0x3f, 0x93, 0x7c, 0x88, + 0x47, 0x6d, 0x5d, 0x93, 0xe3, 0x4f, 0x39, 0x03, 0xe8, 0x9e, 0x81, 0x53, 0xbb, 0xcf, 0x7b, 0x3b, + 0x5c, 0x19, 0xb5, 0x08, 0x69, 0xa4, 0xff, 0x64, 0x5a, 0x77, 0xa7, 0x97, 0x87, 0x2c, 0xf1, 0xf3, + 0x5b, 0xec, 0x61, 0xc6, 0xe8, 0x5b, 0xe4, 0x1a, 0xc1, 0x81, 0x8b, 0x95, 0xc6, 0x76, 0xb2, 0x1d, + 0xba, 0xa4, 0xce, 0xb4, 0xc7, 0x2f, 0x7d, 0xec, 0x19, 0x96, 0xf8, 0xb5, 0x3f, 0x59, 0x0a, 0xc8, + 0x1a, 0x2d, 0xd8, 0xb7, 0xe7, 0xd5, 0xa1, 0xc6, 0x2a, 0x8a, 0x07, 0x85, 0xb4, 0x20, 0x32, 0xdf, + 0xf1, 0x9c, 0x7e, 0xc9, 0x4e, 0x9c, 0x3f, 0x24, 0x53, 0xce, 0x7b, 0x6e, 0x10, 0x6c, 0x37, 0x08, + 0x43, 0xe0, 0xb5, 0x97, 0xdd, 0x9f, 0xe9, 0xbc, 0x0b, 0x77, 0xaf, 0xd5, 0x98, 0x94, 0xc9, 0x35, + 0x37, 0x25, 0x96, 0x7e, 0xb2, 0x5d, 0xb8, 0x99, 0x77, 0xef, 0xd4, 0x7d, 0xc5, 0x09, 0x19, 0x92, + 0xbc, 0x50, 0x39, 0xad, 0x84, 0xab, 0x35, 0x2f, 0x5c, 0xcb, 0xd1, 0xc1, 0x21, 0xfd, 0x71, 0x48, + 0xa9, 0x28, 0x5c, 0x3e, 0x4c, 0x38, 0x0c, 0x39, 0x66, 0xff, 0x6d, 0x28, 0x4e, 0xf5, 0xf2, 0xfb, + 0x56, 0x7e, 0xe4, 0xbc, 0xcf, 0xfc, 0xdd, 0xa6, 0x3e, 0xd9, 0xfb, 0xd6, 0x68, 0x16, 0x9c, 0x9e, + 0xc3, 0x31, 0xcf, 0x59, 0xe9, 0xc1, 0xa8, 0x14, 0x6c, 0x9e, 0xae, 0x54, 0xaf, 0x5b, 0xae, 0x61, + 0x6b, 0xad, 0xb7, 0x7f, 0xec, 0x98, 0x4e, 0x13, 0xe1, 0x19, 0x7d, 0x59, 0xf0, 0xb9, 0x0f, 0x0a, + 0xfe, 0xde, 0x57, 0x97, 0xd7, 0x95, 0x0d, 0x35, 0xd7, 0x41, 0xbf, 0x12, 0x20, 0xc5, 0x8a, 0xb8, + 0x6d, 0x3b, 0x08, 0x20, 0xf3, 0xc5, 0x92, 0x93, 0x0e, 0x9f, 0x1e, 0x42, 0x3d, 0xea, 0xa5, 0x36, + 0xf3, 0x29, 0xc0, 0x5f, 0xae, 0xef, 0x36, 0x7b, 0x6d, 0x69, 0xb4, 0x9d, 0x38, 0x94, 0x00, 0x0a, + 0x86, 0x2c, 0xe3, 0x48, 0x52, 0xc9, 0xb6, 0x80, 0x33, 0xce, 0xc2, 0x16, 0x01, 0x7a, 0x62, 0x2b, + 0x3d, 0x8f, 0xa3, 0xe1, 0xa9, 0xdf, 0x96, 0xc4, 0x66, 0x46, 0xce, 0x5f, 0xff, 0x22, 0x44, 0xee, + 0xf0, 0x67, 0x73, 0xdc, 0x67, 0x82, 0x86, 0x2f, 0x48, 0xe7, 0x15, 0x3a, 0x8e, 0x5f, 0xa7, 0x68, + 0x0a, 0xc2, 0xcb, 0x85, 0xc9, 0xde, 0x70, 0xaf, 0x8c, 0x9b, 0xb8, 0xf4, 0x95, 0x64, 0xd9, 0x4e, + 0x61, 0xd2, 0xb5, 0x19, 0xd9, 0x0e, 0x76, 0x50, 0xc4, 0xef, 0xd8, 0x52, 0x29, 0x88, 0xdc, 0x57, + 0x42, 0xc9, 0x59, 0x93, 0xae, 0xa8, 0x88, 0x8b, 0x15, 0x2c, 0xf2, 0x2d, 0x2d, 0xb8, 0x34, 0x03, + 0x7e, 0xe0, 0x32, 0x43, 0x52, 0x54, 0xc4, 0x3e, 0xa4, 0xe2, 0x28, 0xb0, 0x96, 0x9b, 0xb0, 0xfc, + 0x29, 0xc9, 0x48, 0xd1, 0x0a, 0xa0, 0x9d, 0x6d, 0xc8, 0x6b, 0x37, 0xa7, 0x4f, 0xa4, 0x5a, 0x67, + 0x5c, 0xb3, 0x72, 0x88, 0x38, 0x1a, 0x68, 0x37, 0xf3, 0xa0, 0xf8, 0xca, 0x83, 0x33, 0x27, 0x26, + 0x11, 0xa1, 0xe1, 0x2a, 0x85, 0x68, 0xc0, 0xc8, 0xb1, 0x08, 0xf8, 0x1f, 0x51, 0xb5, 0x8b, 0x26, + 0x6e, 0x34, 0x88, 0x45, 0xdc, 0xf4, 0xcb, 0x4e, 0x86, 0x02, 0x82, 0x57, 0x07, 0xff, 0x30, 0x47, + 0x32, 0x79, 0x3a, 0xfa, 0x1d, 0xd1, 0x38, 0x77, 0xa0, 0x2b, 0x43, 0xc1, 0x44, 0xbe, 0x63, 0x87, + 0xf6, 0x43, 0x26, 0xf3, 0x97, 0x14, 0x35, 0xa8, 0x3b, 0xf1, 0x95, 0xfe, 0x7a, 0x49, 0xae, 0x5a, + 0xfc, 0x82, 0x79, 0x93, 0x36, 0x4a, 0x83, 0x15, 0x8b, 0xc9, 0x19, 0x5b, 0xef, 0x7d, 0xaa, 0x98, + 0x3c, 0x78, 0x35, 0x1b, 0x6e, 0x65, 0xcd, 0x48, 0x8a, 0xc9, 0xb8, 0x4e, 0xfd, 0x14, 0xb7, 0x8f, + 0xe8, 0xb9, 0x7e, 0x29, 0x1c, 0x3e, 0x50, 0x9e, 0x16, 0xad, 0x80, 0xaf, 0x17, 0x0a, 0x55, 0x41, + 0x44, 0x61, 0x40, 0x98, 0x23, 0x30, 0x45, 0xaa, 0x4c, 0xe2, 0xab, 0xee, 0x82, 0x72, 0x8f, 0x13, + 0xa7, 0x47, 0xea, 0x88, 0x7e, 0x23, 0x1e, 0x74, 0x3a, 0x2b, 0x60, 0x2a, 0x6c, 0x97, 0x9b, 0x71, + 0x7c, 0xbc, 0x41, 0x87, 0xa2, 0xb6, 0x3e, 0xb1, 0xd7, 0x9a, 0xbb, 0x79, 0xa9, 0x74, 0xe4, 0x94, + 0x01, 0xf7, 0x04, 0x50, 0x09, 0xdd, 0xa6, 0xc8, 0x09, 0x5b, 0xa3, 0xa5, 0xb9, 0x51, 0x4d, 0x5d, + 0xae, 0xb4, 0x14, 0x7f, 0x37, 0xfc, 0x86, 0x13, 0x2e, 0x1b, 0x7b, 0xab, 0x1d, 0x7e, 0xb9, 0xd4, + 0x91, 0x7d, 0xf2, 0x6e, 0x5a, 0x06, 0x22, 0x9c, 0x37, 0xef, 0x01, 0x97, 0x25, 0xb5, 0x92, 0xf7, + 0x95, 0x5b, 0x24, 0x53, 0xa8, 0xce, 0xa0, 0x86, 0x5e, 0x6a, 0xff, 0x11, 0x48, 0x26, 0xa5, 0x8d, + 0x89, 0xf9, 0x9f, 0x95, 0xe3, 0xd4, 0x54, 0xeb, 0xb6, 0x76, 0xda, 0x7b, 0x5a, 0xfa, 0x8b, 0x17, + 0xf6, 0x4c, 0x3d, 0xe9, 0x02, 0x1d, 0x33, 0x2c, 0x2d, 0x16, 0x65, 0xe1, 0xe9, 0x50, 0xdd, 0x17, + 0x32, 0x8b, 0xf0, 0x1f, 0x8e, 0xec, 0x6e, 0x32, 0x1b, 0x4f, 0x8d, 0xe2, 0x3f, 0x55, 0x3d, 0x88, + 0xb6, 0x03, 0xce, 0x83, 0x6b, 0x46, 0xff, 0x5a, 0x79, 0x11, 0x0b, 0x4c, 0x23, 0x99, 0x58, 0xd2, + 0xc6, 0x4e, 0x38, 0xba, 0x27, 0x58, 0x8c, 0x15, 0x53, 0x42, 0xa7, 0x62, 0x9a, 0x09, 0x0b, 0x60, + 0x48, 0x56, 0x02, 0x63, 0x88, 0x89, 0x3f, 0x4c, 0x01, 0x7d, 0xe8, 0xfd, 0x65, 0xad, 0x97, 0x12, + 0x6e, 0x92, 0xd4, 0xf3, 0x44, 0x73, 0xee, 0x73, 0x77, 0x14, 0xcd, 0xe0, 0xce, 0x20, 0xf7, 0x09, + 0x39, 0x38, 0x15, 0xc7, 0x90, 0x0a, 0xc9, 0xe5, 0xe3, 0x7c, 0x07, 0x93, 0xf2, 0xcb, 0x24, 0x52, + 0x6f, 0xe6, 0x6e, 0xae, 0x3c, 0x24, 0x66, 0x83, 0x28, 0x4f, 0xd9, 0xb5, 0x68, 0x7e, 0x1f, 0x39, + 0x11, 0x68, 0x34, 0x29, 0xc9, 0xd2, 0xff, 0xfe, 0x63, 0x56, 0x65, 0xa6, 0x53, 0x55, 0x2a, 0x9b, + 0xca, 0x4b, 0xd0, 0xd1, 0xf6, 0x6e, 0x26, 0x21, 0x1b, 0x2b, 0xa9, 0xfa, 0xb5, 0x3d, 0x6c, 0xc8, + 0xfc, 0x66, 0x2f, 0x64, 0x73, 0xb7, 0x0d, 0x64, 0x20, 0xd8, 0x35, 0x40, 0x50, 0x0b, 0xf3, 0xeb, + 0xc5, 0x45, 0x8e, 0xbc, 0x05, 0x14, 0x9d, 0x1b, 0x0a, 0x86, 0xad, 0xc3, 0x9c, 0x53, 0xc4, 0xd7, + 0x1b, 0x7b, 0x38, 0xdc, 0x4c, 0xc7, 0x66, 0xed, 0x99, 0xc2, 0x50, 0x54, 0x9a, 0x05, 0x0b, 0xd7, + 0x01, 0x67, 0x75, 0xe4, 0x74, 0x67, 0xd7, 0x73, 0x81, 0x16, 0xb2, 0xec, 0x68, 0x85, 0x3b, 0x3c, + 0x3d, 0x83, 0x44, 0x5b, 0xb1, 0x14, 0x06, 0x68, 0xe2, 0x52, 0xb0, 0xb3, 0x5f, 0xad, 0xa3, 0xc2, + 0xa4, 0x9f, 0x3b, 0xfd, 0xf0, 0xd0, 0x3e, 0x75, 0xf7, 0x7a, 0xf9, 0x15, 0x9a, 0x47, 0x16, 0x74, + 0xa4, 0x33, 0x6b, 0x71, 0x72, 0x7b, 0x30, 0x21, 0x6c, 0xaa, 0x38, 0x57, 0xcc, 0xcd, 0x23, 0x4b, + 0x34, 0x01, 0xf0, 0x3b, 0x8d, 0x63, 0x92, 0xe8, 0xac, 0x99, 0x89, 0xe6, 0x7e, 0xae, 0xda, 0xe0, + 0x93, 0x5c, 0x75, 0x54, 0x42, 0xd1, 0x4b, 0xcb, 0xe0, 0x75, 0x0b, 0x30, 0xf1, 0xa2, 0x7c, 0x36, + 0xc2, 0x98, 0xc8, 0xba, 0x6c, 0xa4, 0xfa, 0x12, 0x4f, 0x57, 0xcb, 0xa7, 0x0c, 0xac, 0xa3, 0xe5, + 0xa4, 0xf3, 0xa6, 0xfb, 0x13, 0x8b, 0xa0, 0x1b, 0x56, 0x9b, 0xa3, 0x45, 0x94, 0x52, 0xc7, 0xc6, + 0x2c, 0x13, 0x49, 0xe7, 0xc4, 0x53, 0x0f, 0xb2, 0x2f, 0x9f, 0x38, 0x70, 0xf8, 0xc0, 0x55, 0x2f, + 0x46, 0x33, 0x5c, 0x83, 0xfb, 0x97, 0x7d, 0xd1, 0xb3, 0x52, 0xaf, 0xa3, 0xfa, 0x47, 0x2d, 0x4a, + 0x0e, 0x9f, 0xce, 0xe8, 0x88, 0x61, 0x73, 0x7a, 0x58, 0x1b, 0xa3, 0xa3, 0xd5, 0x84, 0x4f, 0xb9, + 0xfe, 0x33, 0x76, 0x5a, 0x69, 0x6b, 0x5b, 0x91, 0xeb, 0xd9, 0x4b, 0x6f, 0xe6, 0xf4, 0xd4, 0x36, + 0xee, 0xc0, 0x24, 0x59, 0x5e, 0x3b, 0x3e, 0x0c, 0x71, 0xae, 0xe6, 0xdc, 0x92, 0xfd, 0x26, 0x22, + 0x45, 0x06, 0xcc, 0x64, 0xdd, 0x4c, 0x2b, 0x04, 0x5e, 0x7a, 0xd5, 0x09, 0x1d, 0x33, 0x14, 0x19, + 0xee, 0x24, 0x5e, 0xc5, 0x55, 0xce, 0xfc, 0xb8, 0x84, 0x52, 0xb8, 0x21, 0x73, 0xdf, 0x62, 0x53, + 0xe5, 0xd1, 0xbf, 0x78, 0xbb, 0x9b, 0x50, 0x56, 0xb0, 0x39, 0x7b, 0xec, 0xe3, 0x9a, 0x44, 0xb6, + 0x48, 0xac, 0x90, 0xc2, 0xac, 0x9d, 0xe5, 0xb5, 0x35, 0x24, 0x53, 0x4c, 0x49, 0x56, 0x6d, 0x24, + 0xc7, 0x17, 0xa4, 0xdc, 0x09, 0x9c, 0xd1, 0x0c, 0x49, 0x8c, 0x90, 0x54, 0xf6, 0xfe, 0xe7, 0x55, + 0xc2, 0x17, 0x89, 0x22, 0x58, 0xa6, 0xe5, 0xba, 0x33, 0xa3, 0xd7, 0x36, 0x00, 0xbe, 0xbd, 0xcb, + 0x46, 0xc6, 0x7f, 0xc4, 0xb0, 0x00, 0xf3, 0xc4, 0xe8, 0xfa, 0xf8, 0x78, 0xa3, 0x3a, 0x44, 0xf1, + 0xe3, 0x7f, 0x66, 0xd7, 0x80, 0x74, 0x0f, 0xa8, 0xff, 0x47, 0x53, 0x0c, 0x5c, 0x48, 0x58, 0xb1, + 0xd7, 0x48, 0x40, 0x7f, 0x7e, 0x69, 0x58, 0x6a, 0x00, 0xcb, 0xe3, 0x60, 0x1a, 0x5e, 0x2d, 0x11, + 0x62, 0x68, 0xfa, 0x2b, 0xa1, 0xcb, 0x72, 0xa0, 0x34, 0x13, 0xe3, 0xae, 0x03, 0xbb, 0xb9, 0x4a, + 0x8b, 0x7b, 0xb7, 0x50, 0x90, 0x76, 0xad, 0x7a, 0xa3, 0xce, 0x5e, 0x9c, 0xb9, 0x28, 0x97, 0xeb, + 0xe2, 0x19, 0x56, 0x82, 0xe4, 0xa8, 0xb4, 0x82, 0x82, 0xbc, 0xa7, 0x3f, 0x91, 0x93, 0xf9, 0xed, + 0x5e, 0x45, 0x7d, 0x40, 0x7f, 0x5b, 0x14, 0x58, 0x5a, 0xc9, 0x09, 0x44, 0x25, 0x2e, 0x96, 0xbd, + 0xb8, 0x45, 0xeb, 0x0e, 0x33, 0xc5, 0xbf, 0x35, 0xb8, 0xba, 0xb1, 0xcf, 0xf4, 0xb8, 0xa1, 0x58, + 0xff, 0xcd, 0x60, 0x00, 0x50, 0x02, 0x6b, 0x5b, 0xee, 0x12, 0xfe, 0xfc, 0x52, 0xa8, 0x1f, 0x0d, + 0xe0, 0x93, 0x84, 0x07, 0x07, 0x8e, 0x00, 0xbc, 0xa1, 0x09, 0xc2, 0x17, 0x27, 0x2e, 0xea, 0x81, + 0x50, 0xcf, 0x37, 0xff, 0x92, 0x44, 0x53, 0xe5, 0x39, 0x27, 0x01, 0xcf, 0x10, 0x62, 0x3e, 0x8d, + 0xb1, 0xc2, 0x15, 0xed, 0xcf, 0x2e, 0xfa, 0x21, 0xfa, 0xcc, 0x67, 0xf5, 0x16, 0xe0, 0x2c, 0xf8, + 0x8b, 0xa7, 0xc6, 0x01, 0x91, 0x03, 0x12, 0x22, 0xb9, 0x9b, 0xd5, 0x03, 0x5c, 0x19, 0xcb, 0x8e, + 0x8f, 0xd6, 0x57, 0x75, 0xe4, 0xda, 0x4e, 0x76, 0x61, 0x16, 0xb4, 0xeb, 0x30, 0x65, 0x3e, 0x14, + 0xaa, 0xe6, 0x50, 0xe6, 0xc2, 0x15, 0x15, 0xed, 0x07, 0x84, 0x17, 0xf2, 0x1f, 0x39, 0x8a, 0x5e, + 0xbd, 0x76, 0xc9, 0x21, 0x5f, 0x8a, 0x93, 0x1c, 0xb7, 0x0e, 0xf6, 0x26, 0xe0, 0x81, 0x75, 0x7b, + 0x3c, 0x8b, 0x13, 0x42, 0xaf, 0x22, 0x1e, 0x67, 0x43, 0x09, 0xbd, 0x71, 0xa8, 0xb2, 0xdf, 0x55, + 0x68, 0x31, 0x15, 0x6c, 0xe6, 0x4f, 0x23, 0xdb, 0x94, 0x59, 0xb8, 0x39, 0x8b, 0x73, 0xa6, 0x19, + 0xda, 0x10, 0xf9, 0x1a, 0x05, 0xa0, 0xe2, 0x96, 0x26, 0x6b, 0x0f, 0xa8, 0x66, 0xdb, 0xd2, 0x0c, + 0xcb, 0x72, 0x11, 0x62, 0xc3, 0xf2, 0x89, 0x7e, 0xa4, 0x78, 0x76, 0x9f, 0x6c, 0x68, 0x8e, 0x66, + 0xe8, 0x44, 0x77, 0x86, 0x8b, 0x37, 0x16, 0x54, 0x71, 0x72, 0x03, 0x12, 0xfc, 0xcb, 0x83, 0x8a, + 0x3b, 0x9d, 0xa6, 0x9e, 0x50, 0x9f, 0x98, 0x3f, 0x5a, 0xfb, 0xff, 0x4b, 0x18, 0xb1, 0xa2, 0x4b, + 0xd4, 0xf8, 0xe3, 0xad, 0xa2, 0xf0, 0xd9, 0x02, 0x03, 0x7a, 0x51, 0x7e, 0x1e, 0xfb, 0xfe, 0xe3, + 0x48, 0xb0, 0xd4, 0x72, 0xf5, 0x6c, 0x7e, 0x75, 0xad, 0xf0, 0x90, 0xb1, 0x28, 0x0c, 0x7b, 0x67, + 0xe9, 0x4c, 0x4c, 0x54, 0x28, 0x65, 0x71, 0x12, 0xa8, 0x3a, 0xc9, 0x81, 0x83, 0x05, 0x91, 0xbb, + 0xa1, 0xf3, 0x85, 0x07, 0x31, 0x22, 0xdf, 0x2b, 0xe1, 0x9a, 0xd7, 0x83, 0x6f, 0x6c, 0xf9, 0x37, + 0x64, 0x79, 0x05, 0x22, 0x60, 0x79, 0xcc, 0x1b, 0xc6, 0xe5, 0x83, 0xa1, 0x41, 0x0a, 0xb1, 0x5c, + 0x93, 0x2d, 0xbb, 0x47, 0x41, 0xa1, 0x99, 0x74, 0x4b, 0x13, 0x0b, 0x10, 0x9e, 0x39, 0xb5, 0x6d, + 0x12, 0xf0, 0xac, 0x00, 0xb5, 0x07, 0xaf, 0x4b, 0xdf, 0x22, 0x18, 0x91, 0x3d, 0xce, 0x63, 0x1b, + 0x87, 0x3d, 0x5a, 0x24, 0xf6, 0x23, 0x9e, 0x65, 0x29, 0x3d, 0xce, 0x34, 0x71, 0x73, 0x37, 0xc0, + 0xc5, 0xde, 0xd0, 0x3e, 0x54, 0xe9, 0x4f, 0x4a, 0x45, 0x0a, 0x34, 0x0b, 0xd8, 0x00, 0x52, 0x24, + 0xaf, 0x2c, 0x94, 0x23, 0x36, 0xda, 0x5f, 0x90, 0x39, 0x96, 0xe6, 0x6e, 0x5c, 0x60, 0xd5, 0x40, + 0x6f, 0x7b, 0x44, 0x1a, 0x81, 0x6a, 0x79, 0x4c, 0x31, 0xcf, 0xb2, 0x8f, 0x34, 0x53, 0xdc, 0x8a, + 0x8d, 0x41, 0x1c, 0x72, 0xe1, 0x47, 0x89, 0x1c, 0x35, 0xf8, 0xe0, 0x13, 0xd4, 0x4e, 0xb5, 0xfc, + 0x3a, 0x67, 0x9b, 0xd9, 0xd6, 0x7b, 0x0e, 0xfc, 0x0f, 0x3a, 0xf7, 0x3d, 0x35, 0x4e, 0xb5, 0x5b, + 0x8c, 0x1c, 0x41, 0xac, 0xfa, 0xe7, 0xff, 0x09, 0x13, 0x3d, 0x57, 0xdb, 0x53, 0xb0, 0xf0, 0x76, + 0x40, 0xd3, 0x97, 0xda, 0xdd, 0xc0, 0x55, 0x73, 0x00, 0x33, 0xe4, 0x0d, 0x65, 0xde, 0x8c, 0x97, + 0x9b, 0x49, 0xe8, 0x2d, 0xa5, 0x17, 0x73, 0xea, 0x10, 0xe5, 0xac, 0xbb, 0x6b, 0x10, 0xd3, 0x94, + 0xb3, 0x26, 0xcf, 0x5c, 0x76, 0xda, 0xbe, 0x5e, 0xaa, 0x77, 0xfc, 0x50, 0x2e, 0x8e, 0xda, 0x4a, + 0x64, 0x52, 0xb3, 0xab, 0x13, 0x53, 0x56, 0x6b, 0x56, 0x65, 0x5d, 0x60, 0x82, 0xc5, 0xc5, 0x65, + 0x91, 0x2d, 0x46, 0xf7, 0x47, 0x73, 0xed, 0xc4, 0xc0, 0xc0, 0xeb, 0xf4, 0xf0, 0x19, 0x16, 0x05, + 0x57, 0xc8, 0xcf, 0x51, 0x71, 0x49, 0x51, 0xc2, 0x24, 0x36, 0x35, 0x41, 0x9e, 0x69, 0x56, 0xd8, + 0x51, 0x3d, 0xf8, 0x4c, 0x01, 0xf1, 0x9e, 0x7d, 0x67, 0xd4, 0x2f, 0x26, 0x69, 0x5c, 0x75, 0xb1, + 0xf6, 0x6a, 0x49, 0x62, 0x0a, 0x82, 0x86, 0x82, 0x89, 0x14, 0x50, 0x91, 0x65, 0x4f, 0xec, 0xcb, + 0x25, 0x9d, 0xb3, 0xc5, 0xc5, 0x76, 0xa1, 0x3a, 0xf0, 0x08, 0x36, 0x80, 0x27, 0x1f, 0xb2, 0x91, + 0xdc, 0x18, 0xe5, 0x8d, 0x83, 0xe0, 0xe6, 0x55, 0xb8, 0xb5, 0xfd, 0xdc, 0x5a, 0x34, 0xf7, 0xd9, + 0xfb, 0xdf, 0x8b, 0x95, 0xa3, 0x6b, 0x56, 0xf5, 0x98, 0xd2, 0x70, 0x06, 0xf4, 0x8e, 0xe3, 0x54, + 0x1f, 0xf2, 0xfd, 0x36, 0xaf, 0x27, 0xcc, 0x87, 0x51, 0x27, 0x40, 0xb4, 0x88, 0xb0, 0xe2, 0xf4, + 0xe9, 0xe6, 0x19, 0x83, 0x81, 0xca, 0x32, 0xf0, 0x2b, 0xea, 0xfc, 0xb6, 0x16, 0x3d, 0xc7, 0x35, + 0x09, 0x78, 0x12, 0x4d, 0x26, 0xdd, 0xf2, 0xa5, 0xa4, 0xaa, 0x9e, 0x04, 0xad, 0xf8, 0x8e, 0x08, + 0x96, 0x1a, 0x0e, 0x95, 0x7f, 0xbf, 0xd6, 0x41, 0xb5, 0x13, 0xce, 0xf5, 0x10, 0xfc, 0x88, 0x75, + 0xdb, 0x39, 0x9f, 0xba, 0xd5, 0xb8, 0xc1, 0xcc, 0x13, 0x20, 0x09, 0x29, 0xef, 0xb6, 0x8d, 0x21, + 0x3a, 0xbc, 0x6f, 0x4a, 0xee, 0x32, 0x95, 0x01, 0x35, 0xff, 0xbe, 0x5b, 0x10, 0x31, 0x71, 0x90, + 0x80, 0x63, 0xb9, 0x97, 0xe8, 0xca, 0x5f, 0x20, 0xee, 0xee, 0xb7, 0xaf, 0xa0, 0xc8, 0x6a, 0x82, + 0xac, 0x79, 0xe5, 0x3e, 0xf1, 0xde, 0x3a, 0x8e, 0x58, 0x04, 0x1c, 0x8c, 0x82, 0x25, 0x13, 0x16, + 0x54, 0xc1, 0xdc, 0xc1, 0x96, 0xfd, 0x53, 0xa4, 0x1a, 0xcf, 0x35, 0x55, 0xe7, 0x72, 0x10, 0xdf, + 0x61, 0xa9, 0xc9, 0xad, 0xd1, 0xe7, 0xb9, 0x97, 0x23, 0x58, 0x0d, 0x98, 0xc6, 0x75, 0xdf, 0x7c, + 0xd7, 0x0e, 0xad, 0xf3, 0x2f, 0xee, 0x2c, 0xa0, 0xb7, 0x86, 0x90, 0xef, 0x7d, 0x17, 0xba, 0xc7, + 0x40, 0xa8, 0x34, 0xa4, 0x24, 0x80, 0x93, 0x1e, 0xed, 0x4c, 0x3c, 0x81, 0x26, 0xf8, 0x47, 0xa9, + 0x21, 0x05, 0xe8, 0xcd, 0x68, 0xb2, 0x38, 0x44, 0x6a, 0xf5, 0x01, 0x67, 0x12, 0x31, 0x0b, 0x66, + 0xcf, 0xba, 0x50, 0xcc, 0x57, 0x20, 0x75, 0xc0, 0x59, 0x09, 0x38, 0x5d, 0x6c, 0xc3, 0x8d, 0xf5, + 0x5f, 0x2e, 0x79, 0x35, 0x6d, 0xbb, 0x6b, 0x99, 0x16, 0x2d, 0x8e, 0xa4, 0x9e, 0xf1, 0xd8, 0xe9, + 0x9e, 0x2e, 0x31, 0xc9, 0xf1, 0x0a, 0xe2, 0x45, 0x54, 0xd7, 0x1c, 0x7e, 0xe1, 0xb1, 0x93, 0x27, + 0xf8, 0xc9, 0x4c, 0x6d, 0x48, 0x1a, 0x8b, 0x46, 0xdf, 0xcb, 0x69, 0xc8, 0x66, 0xd0, 0x7b, 0x9c, + 0x16, 0xe2, 0x9d, 0x17, 0xbf, 0x89, 0xf4, 0xb2, 0x19, 0x20, 0xfb, 0x69, 0x02, 0x53, 0x9e, 0xc4, + 0x17, 0x93, 0x94, 0x92, 0xa1, 0x7f, 0xb6, 0xa2, 0x38, 0x50, 0x73, 0xcb, 0x7b, 0xb4, 0x67, 0xe0, + 0x4c, 0x7e, 0xd9, 0xf0, 0xa2, 0x5c, 0x9b, 0x4b, 0xc1, 0x90, 0x78, 0x64, 0x7d, 0x60, 0xe1, 0xe3, + 0x5c, 0xd2, 0x05, 0x1e, 0x6b, 0xec, 0xbe, 0xd8, 0xbe, 0x26, 0x77, 0x4c, 0xd8, 0xfc, 0x7d, 0xf6, + 0xca, 0xb1, 0x5c, 0x3c, 0x13, 0xdc, 0xd5, 0x69, 0x91, 0x9a, 0x02, 0xf0, 0xaa, 0x49, 0x80, 0xeb, + 0x2f, 0xa0, 0x6a, 0xdd, 0x42, 0xfb, 0xcc, 0xa2, 0x36, 0x04, 0xd0, 0x33, 0x7e, 0x98, 0x79, 0x69, + 0xda, 0x77, 0xac, 0xaa, 0x83, 0x79, 0x72, 0x67, 0xf0, 0x91, 0x51, 0x62, 0x80, 0x49, 0xd0, 0xaf, + 0x90, 0xc5, 0xbb, 0xa6, 0x8d, 0xa2, 0xf7, 0x3a, 0x8a, 0x51, 0x4e, 0x8d, 0x12, 0x12, 0xda, 0xdc, + 0xd8, 0x85, 0xaa, 0x22, 0x49, 0xa4, 0x42, 0x53, 0x94, 0x33, 0xfc, 0x10, 0x2e, 0xb4, 0x43, 0x00, + 0xf8, 0x0e, 0xa2, 0x18, 0x3b, 0x1c, 0xcb, 0x24, 0x74, 0x94, 0x34, 0x18, 0xdc, 0x8d, 0x1f, 0xcf, + 0x70, 0x57, 0x41, 0x7a, 0xc8, 0xdd, 0xac, 0x2d, 0xa1, 0x83, 0xb9, 0xd7, 0x5b, 0x00, 0x1b, 0xbf, + 0xe9, 0xa6, 0x7d, 0x1c, 0x62, 0xe4, 0xd3, 0xdc, 0xf9, 0x9f, 0xf4, 0x7f, 0x9e, 0x4f, 0x68, 0x71, + 0x94, 0xc0, 0x41, 0x37, 0x61, 0xe2, 0x03, 0xc3, 0xb4, 0xf0, 0xf8, 0x04, 0x1a, 0xd0, 0x31, 0x76, + 0x0c, 0x87, 0xdc, 0x7f, 0xf4, 0x25, 0x8d, 0xe9, 0x92, 0x6d, 0x46, 0xb6, 0xad, 0x2a, 0x2d, 0x0f, + 0xa3, 0x1a, 0x3e, 0xdf, 0xf4, 0xf0, 0xad, 0x46, 0x6e, 0x2d, 0x0c, 0x8c, 0xfb, 0x5f, 0x13, 0x40, + 0x74, 0x44, 0x69, 0x1d, 0xbf, 0x8f, 0x55, 0xb4, 0xdd, 0x28, 0x32, 0x71, 0x6d, 0x5f, 0x4c, 0xac, + 0x34, 0xe0, 0x2f, 0x09, 0x5f, 0x9a, 0xf4, 0xe6, 0x6f, 0x5a, 0x40, 0xa9, 0x97, 0x41, 0xc3, 0x43, + 0x78, 0x4f, 0x36, 0x2a, 0x69, 0xfd, 0x75, 0xef, 0x30, 0x25, 0x44, 0xde, 0xe8, 0xd1, 0x8b, 0x78, + 0xa3, 0xbf, 0xc6, 0x7b, 0xf7, 0x1e, 0xca, 0x61, 0xdb, 0x0a, 0xdc, 0x63, 0x95, 0xb0, 0x5b, 0x37, + 0x12, 0xdd, 0x2e, 0x67, 0x45, 0xb1, 0x73, 0xf1, 0x66, 0xfe, 0x98, 0xcc, 0xf6, 0xf2, 0x5c, 0x64, + 0xb8, 0x6c, 0x6a, 0x6e, 0x7f, 0x18, 0xa8, 0x92, 0xe2, 0x3c, 0xe5, 0x28, 0xf5, 0x56, 0xfb, 0x33, + 0x62, 0xef, 0x00, 0x5b, 0x5e, 0xb2, 0x24, 0x31, 0x11, 0x2e, 0x9f, 0xed, 0xd5, 0x99, 0x21, 0xd4, + 0x11, 0x16, 0x7c, 0x2e, 0xa6, 0x5b, 0xa0, 0xc3, 0x1a, 0xa9, 0x60, 0xb2, 0xbd, 0x2f, 0x5e, 0xde, + 0x0b, 0xe1, 0x75, 0x31, 0xcf, 0x5c, 0xee, 0x96, 0xa0, 0x85, 0xb7, 0x2c, 0xaf, 0x5e, 0xd3, 0x38, + 0x2f, 0xbf, 0xb9, 0x9c, 0x48, 0x0d, 0x71, 0xd6, 0x4b, 0xf4, 0xbe, 0x21, 0x24, 0x5c, 0x0c, 0x75, + 0x37, 0x8c, 0xc9, 0x65, 0xcb, 0xe0, 0x0b, 0x19, 0x27, 0x0f, 0x12, 0x7c, 0x68, 0x9d, 0x2d, 0x2b, + 0x50, 0x6e, 0x9d, 0x58, 0x0d, 0xb3, 0x6d, 0xe0, 0x31, 0x6f, 0x81, 0x81, 0x2e, 0xe4, 0x16, 0x7b, + 0xc5, 0x19, 0x01, 0x53, 0x1d, 0xc6, 0x46, 0x50, 0x22, 0x43, 0x0d, 0xff, 0x0b, 0xbe, 0x88, 0x74, + 0x1c, 0xbe, 0xc8, 0x87, 0xb5, 0x1d, 0x9d, 0x31, 0xe0, 0xf6, 0x86, 0x40, 0x94, 0xc7, 0x38, 0x8e, + 0xed, 0x7b, 0xb8, 0xd7, 0x5b, 0xdd, 0xb4, 0x63, 0x42, 0x19, 0x10, 0x3f, 0x1d, 0xbb, 0xe4, 0x5c, + 0xa2, 0x75, 0x69, 0x0e, 0xa4, 0x3e, 0xf6, 0x2e, 0x30, 0xd4, 0xfe, 0x7f, 0x4f, 0xa5, 0xde, 0x2c, + 0xb2, 0x96, 0xbb, 0xc2, 0xbd, 0x95, 0x59, 0x09, 0x18, 0xa1, 0x65, 0xcc, 0x10, 0x9c, 0xbe, 0xc9, + 0x14, 0x16, 0xb4, 0x0f, 0xc3, 0x32, 0x52, 0xb7, 0x12, 0x60, 0xfc, 0x53, 0x00, 0x27, 0x79, 0x62, + 0x5c, 0xd1, 0xf7, 0x8a, 0x55, 0xaa, 0xef, 0xb7, 0x55, 0x2f, 0x5c, 0xc3, 0x5a, 0x84, 0xed, 0x74, + 0x60, 0x43, 0x19, 0xa8, 0x01, 0x0e, 0x9e, 0x11, 0xe4, 0x74, 0x38, 0x84, 0xf7, 0xaa, 0xaa, 0x07, + 0x87, 0x00, 0xa7, 0xd1, 0xc4, 0xaa, 0xe5, 0x84, 0xd4, 0xeb, 0x46, 0x3c, 0xd3, 0x02, 0x9c, 0xd8, + 0x50, 0x6d, 0xe6, 0xc0, 0xa2, 0x6c, 0xfb, 0xa4, 0xf6, 0xdb, 0xc1, 0x45, 0x3d, 0x65, 0x5f, 0xae, + 0x43, 0x9c, 0xd7, 0xc3, 0x4e, 0x29, 0x81, 0x52, 0xb8, 0x97, 0x58, 0xd3, 0xa8, 0xa8, 0x67, 0x62, + 0x35, 0xe9, 0x9e, 0x17, 0xf7, 0x16, 0xc2, 0x58, 0xe2, 0x80, 0x0e, 0x50, 0x12, 0xa7, 0x22, 0xdb, + 0x0b, 0xb2, 0x89, 0xc5, 0xad, 0x68, 0xd7, 0x50, 0x2a, 0x67, 0x8c, 0xfa, 0xe4, 0x87, 0xc5, 0x39, + 0x9a, 0x15, 0x24, 0xcd, 0xc5, 0x5e, 0xfe, 0x08, 0x47, 0x55, 0xeb, 0x56, 0xf5, 0x6b, 0xb5, 0x14, + 0xd1, 0x44, 0xe5, 0xde, 0xbd, 0xcd, 0x97, 0xda, 0xda, 0xd8, 0x41, 0x8b, 0xc0, 0x1b, 0x30, 0x8d, + 0x1c, 0x3b, 0xb1, 0x2d, 0x5f, 0x34, 0x69, 0x4f, 0x11, 0x70, 0xd7, 0x90, 0xa7, 0x24, 0x6e, 0xec, + 0xd8, 0xd2, 0x9a, 0x8f, 0xa0, 0x69, 0xb8, 0xfb, 0xd0, 0x24, 0x40, 0x89, 0x82, 0x79, 0xf1, 0x6a, + 0xaf, 0x7f, 0xcb, 0x47, 0xa5, 0xf3, 0x93, 0xe7, 0xa9, 0xc8, 0xcb, 0x19, 0x09, 0x4b, 0x2d, 0xf6, + 0x4d, 0xe0, 0x31, 0x24, 0x9c, 0x98, 0xcf, 0xd7, 0xe4, 0x11, 0xcb, 0x1a, 0x62, 0xd6, 0xd6, 0x4e, + 0x82, 0x00, 0x9e, 0xe3, 0xe0, 0x86, 0x80, 0xde, 0x34, 0x7a, 0xf7, 0xab, 0xf4, 0x4f, 0xc0, 0xde, + 0x02, 0x36, 0xdf, 0x5b, 0x3b, 0x0f, 0x41, 0x67, 0xda, 0x08, 0x29, 0xcc, 0xfa, 0x5d, 0x78, 0x47, + 0xdd, 0xf1, 0x4a, 0xf5, 0x8d, 0x4f, 0xd2, 0xf6, 0xd5, 0x97, 0x2e, 0x39, 0xce, 0x1b, 0xc3, 0x88, + 0x0f, 0x29, 0xd4, 0x1a, 0x3e, 0xce, 0xfd, 0xf7, 0xf0, 0xb7, 0xe3, 0xd8, 0xf1, 0x06, 0x8f, 0xad, + 0x30, 0x82, 0x00, 0x2d, 0x35, 0x56, 0xcf, 0x7a, 0x63, 0x71, 0xa0, 0xfa, 0xf3, 0x0e, 0x02, 0x6a, + 0x8e, 0x64, 0xb7, 0x1f, 0x0f, 0x15, 0x65, 0x81, 0x9c, 0x6a, 0x5b, 0xa1, 0xe2, 0x2a, 0xdb, 0x75, + 0x20, 0x80, 0xca, 0x65, 0x96, 0xb1, 0x7e, 0xda, 0x09, 0x5b, 0xed, 0x6c, 0x5e, 0x89, 0x47, 0x42, + 0xee, 0x9e, 0x98, 0xdd, 0x22, 0x70, 0x5b, 0x6f, 0x07, 0x01, 0x5a, 0xb4, 0x2c, 0xe7, 0x89, 0x74, + 0x66, 0xd6, 0x0a, 0x02, 0x6b, 0x44, 0x7c, 0x4e, 0x9f, 0xad, 0x59, 0x86, 0xd8, 0x8f, 0x73, 0x49, + 0xa0, 0x52, 0xaa, 0x61, 0xdb, 0xa5, 0x0b, 0x27, 0x87, 0x45, 0x3c, 0x37, 0x11, 0x94, 0x70, 0x37, + 0xc1, 0x68, 0xe5, 0x6b, 0x51, 0x73, 0xaf, 0x9f, 0x06, 0xcd, 0x46, 0x9e, 0xcc, 0x7e, 0xb7, 0xfc, + 0xfa, 0xad, 0x19, 0xf1, 0xc9, 0xb3, 0xb7, 0xb8, 0x9d, 0x14, 0x8f, 0x24, 0x27, 0x15, 0x96, 0xf7, + 0xe3, 0x79, 0xd0, 0x48, 0xde, 0xb0, 0x44, 0x15, 0x34, 0x96, 0x23, 0x22, 0xb8, 0xc7, 0xfc, 0xfa, + 0x08, 0x28, 0xa7, 0x7e, 0x7a, 0xa9, 0x9a, 0x6c, 0x07, 0x6b, 0x2a, 0xa2, 0x9e, 0x59, 0xbe, 0x9f, + 0xed, 0x30, 0xbf, 0xf2, 0x6f, 0x34, 0x7d, 0x87, 0x7e, 0x20, 0x77, 0xe8, 0x73, 0x3d, 0xa0, 0xc0, + 0xfe, 0x6b, 0x66, 0x95, 0xdd, 0x07, 0x11, 0x05, 0xf3, 0x07, 0x4b, 0x2b, 0x03, 0x77, 0xc2, 0xfd, + 0xef, 0x3e, 0xa5, 0x8c, 0x7e, 0x85, 0x50, 0xe9, 0x05, 0x5e, 0x38, 0x2d, 0xf1, 0xb4, 0x50, 0x9f, + 0xf9, 0x0f, 0x67, 0x47, 0x04, 0x07, 0x73, 0x75, 0x67, 0xb2, 0x56, 0xcf, 0xef, 0x64, 0xa4, 0x6b, + 0x2d, 0x5e, 0x4f, 0x21, 0x4c, 0x34, 0x10, 0xa2, 0xe0, 0x88, 0x87, 0xc3, 0x02, 0x29, 0xa8, 0xb6, + 0xa4, 0x60, 0xc4, 0x73, 0xc1, 0x95, 0x04, 0xa2, 0x2b, 0xa6, 0x21, 0xe2, 0xde, 0x08, 0xd8, 0x8e, + 0x91, 0x32, 0x87, 0x9f, 0x2e, 0x66, 0x6f, 0x5c, 0xc6, 0xf2, 0x1e, 0x15, 0x78, 0x1b, 0x91, 0x62, + 0x2c, 0x8d, 0x75, 0xc8, 0x1c, 0xe7, 0x56, 0x5a, 0x65, 0xd8, 0x87, 0xfb, 0x14, 0x46, 0x77, 0xac, + 0x8e, 0xfe, 0x6f, 0xea, 0x3a, 0x0c, 0xa4, 0x59, 0x96, 0x68, 0x54, 0x4c, 0xf2, 0x60, 0x57, 0x96, + 0xa9, 0x0c, 0x83, 0x75, 0xb8, 0xcb, 0xad, 0x3a, 0xc3, 0x1f, 0xe9, 0x7b, 0x21, 0x61, 0x3a, 0xb3, + 0x65, 0x82, 0xc9, 0xdd, 0xed, 0x4d, 0x72, 0x98, 0x7f, 0x29, 0x6e, 0x96, 0x5b, 0x53, 0xc1, 0xe8, + 0x84, 0xe6, 0xad, 0x6f, 0x63, 0x0c, 0x2f, 0x94, 0x6b, 0x6d, 0x0e, 0x5f, 0x2d, 0x9f, 0x09, 0x49, + 0xa6, 0x15, 0xa7, 0x04, 0xa5, 0x27, 0xec, 0x39, 0x43, 0x8b, 0xea, 0x97, 0xb8, 0xf9, 0x26, 0x01, + 0x7e, 0x1d, 0x67, 0x71, 0x3b, 0xb0, 0x2f, 0xa1, 0x1e, 0x2b, 0x47, 0xb8, 0x04, 0xc5, 0xdd, 0xd6, + 0x4b, 0x0c, 0xa4, 0x2e, 0xca, 0xfa, 0x52, 0x9a, 0xb6, 0xfa, 0x42, 0x3c, 0x06, 0x44, 0x39, 0xcd, + 0x26, 0x82, 0xd9, 0xa5, 0x9c, 0x2d, 0xf2, 0x97, 0x0c, 0x52, 0x2f, 0xc4, 0xa1, 0xc3, 0xec, 0x08, + 0xe1, 0x74, 0xfb, 0x55, 0x2c, 0x83, 0x80, 0x9e, 0x55, 0x4a, 0x07, 0x7c, 0x39, 0x4a, 0xf7, 0x3f, + 0xce, 0x14, 0x0a, 0x74, 0xde, 0xf1, 0x08, 0xa5, 0xe3, 0x74, 0xda, 0x3f, 0x0e, 0xe7, 0x17, 0xe5, + 0x31, 0xea, 0x4b, 0x37, 0x7b, 0x06, 0x02, 0xee, 0x79, 0x95, 0x2a, 0x92, 0xa2, 0x52, 0x74, 0xf2, + 0xe8, 0x9a, 0xb4, 0xdb, 0xe4, 0x15, 0x08, 0x80, 0xa9, 0x9c, 0xba, 0xc7, 0x9b, 0xff, 0x8a, 0x2f, + 0x34, 0x39, 0x7e, 0xf4, 0x7a, 0xab, 0x83, 0x03, 0xdd, 0xcd, 0x85, 0x3a, 0x20, 0xa8, 0xd1, 0x0b, + 0x5e, 0x26, 0x5f, 0x23, 0xdb, 0x38, 0x33, 0x30, 0x50, 0x3a, 0x85, 0x3a, 0x57, 0x88, 0xa5, 0x9f, + 0xb8, 0x51, 0xa1, 0xc5, 0xd5, 0x0b, 0x2c, 0x65, 0x16, 0xb5, 0x9b, 0x39, 0x82, 0x95, 0x5b, 0xa8, + 0x40, 0x96, 0xa7, 0x84, 0x4d, 0x15, 0x7b, 0x1f, 0x8a, 0xa6, 0xf9, 0xc5, 0xa9, 0x1d, 0x72, 0x37, + 0x76, 0xaa, 0x82, 0xd6, 0xb2, 0x8a, 0x52, 0xf4, 0x3c, 0x89, 0xd4, 0x62, 0xa5, 0x13, 0xf3, 0x58, + 0x12, 0xf5, 0x88, 0x89, 0x0b, 0x9c, 0x21, 0xa6, 0xc3, 0xd9, 0x9b, 0xb7, 0xc3, 0x6e, 0x43, 0x6e, + 0xf1, 0x53, 0x5e, 0x77, 0xb6, 0x2b, 0x62, 0x35, 0x6b, 0x03, 0x16, 0x51, 0x38, 0xdc, 0xd2, 0x96, + 0x29, 0x96, 0xf9, 0x9e, 0x90, 0x63, 0x1f, 0x15, 0x2d, 0xfb, 0x84, 0x6d, 0xb3, 0x2f, 0xcd, 0xb5, + 0xa5, 0xbe, 0x4c, 0x9e, 0xb9, 0xbd, 0x9c, 0x58, 0xfb, 0x29, 0xb0, 0x8e, 0x65, 0x44, 0xbe, 0xe2, + 0x86, 0xa5, 0x13, 0xc8, 0xa4, 0x06, 0x00, 0x6c, 0xd5, 0x6c, 0xdd, 0xbb, 0x49, 0xf4, 0xf1, 0x9f, + 0x1d, 0x9c, 0x24, 0xc4, 0x52, 0x17, 0xb3, 0xeb, 0x34, 0x1a, 0x6a, 0x88, 0x07, 0x33, 0xcd, 0x35, + 0x8e, 0xf5, 0xe6, 0xd8, 0x4d, 0x8b, 0x16, 0x72, 0xaa, 0x75, 0x6d, 0x6c, 0xc2, 0x52, 0xea, 0x36, + 0x68, 0x69, 0x90, 0xa6, 0xef, 0x3c, 0x8d, 0x8a, 0x0f, 0x22, 0xd0, 0x7f, 0x0d, 0x41, 0x06, 0x70, + 0x06, 0x77, 0x4d, 0x7d, 0x05, 0x17, 0xa9, 0xa7, 0x6e, 0x3f, 0x54, 0x01, 0x21, 0x0b, 0x30, 0xed, + 0xb2, 0xec, 0xec, 0x08, 0xcb, 0xdb, 0xe0, 0xd3, 0x5c, 0x71, 0x76, 0x13, 0x54, 0x28, 0x9f, 0xa1, + 0x06, 0x87, 0x5c, 0x21, 0x53, 0x89, 0x75, 0x50, 0xef, 0x35, 0x11, 0x24, 0x31, 0x0c, 0x5e, 0xc5, + 0x51, 0x17, 0x7f, 0xe3, 0x29, 0x64, 0x0e, 0x5d, 0x24, 0xf7, 0x58, 0x58, 0xc5, 0x5d, 0xc4, 0x0f, + 0x9b, 0x9b, 0x83, 0x9e, 0x44, 0xe7, 0xdf, 0x1c, 0x5f, 0x21, 0x97, 0x83, 0xbc, 0x29, 0xad, 0xa6, + 0xc8, 0xef, 0x50, 0x2a, 0xe7, 0x3a, 0x2a, 0xc8, 0x15, 0x16, 0xaf, 0xae, 0x13, 0x57, 0xb6, 0x90, + 0x8b, 0x8f, 0x56, 0x04, 0x4b, 0xc8, 0x3e, 0x82, 0x32, 0xec, 0xaf, 0x4c, 0x05, 0x03, 0x95, 0xa0, + 0x53, 0x73, 0x41, 0x3b, 0x6d, 0xaf, 0x39, 0xa5, 0x8d, 0xdc, 0x4f, 0x8e, 0xbc, 0xb2, 0x98, 0x95, + 0x51, 0x8d, 0x1b, 0x49, 0xc3, 0x9b, 0x04, 0xd9, 0x54, 0x72, 0xe8, 0x0b, 0xcc, 0x0e, 0x28, 0x5f, + 0x01, 0x65, 0xd3, 0x3b, 0xe6, 0xdf, 0xa7, 0x7f, 0x13, 0xb9, 0x00, 0xb3, 0x0e, 0xb4, 0x8b, 0x3c, + 0xff, 0x25, 0x7f, 0xc9, 0xdb, 0x6e, 0x41, 0x28, 0x6d, 0x68, 0x00, 0xdb, 0x60, 0xca, 0xbb, 0xb3, + 0xbc, 0x1f, 0x1c, 0xd8, 0xe1, 0x4e, 0x62, 0xfc, 0x7b, 0x62, 0xad, 0x9f, 0xb7, 0x6e, 0x6a, 0xee, + 0x37, 0xc8, 0xa0, 0xd6, 0x55, 0x71, 0x62, 0xdd, 0xbb, 0x98, 0x25, 0x19, 0xd3, 0x1a, 0x8a, 0x4b, + 0x1f, 0x6b, 0x96, 0x0b, 0x0b, 0x88, 0xa0, 0x22, 0x9e, 0x62, 0xf0, 0xc9, 0x53, 0x65, 0xcc, 0x80, + 0xf1, 0x8e, 0x9f, 0xa3, 0x4c, 0xb3, 0x83, 0x2f, 0x6c, 0x94, 0x97, 0x0c, 0x69, 0xa3, 0x20, 0x6e, + 0xed, 0x14, 0xc7, 0x4d, 0x3a, 0xb6, 0x84, 0x32, 0x85, 0xeb, 0xf9, 0xdc, 0x5f, 0xef, 0x65, 0x1f, + 0xa2, 0x5d, 0x59, 0xfe, 0xf8, 0xd4, 0x4c, 0xff, 0x0b, 0xd8, 0x8f, 0xbd, 0x39, 0x4c, 0xb8, 0xd1, + 0x06, 0x38, 0xc4, 0x2c, 0x3e, 0xdc, 0x5d, 0x4f, 0x15, 0xb8, 0xcd, 0x33, 0xe0, 0xab, 0xf5, 0x5b, + 0x8a, 0xa5, 0x15, 0x8c, 0x43, 0xe4, 0x90, 0x5a, 0x17, 0x67, 0xa2, 0xd3, 0xcf, 0xe2, 0x3f, 0x8e, + 0xfc, 0xe4, 0x67, 0x4f, 0xf5, 0x9d, 0xd1, 0xb1, 0xae, 0xbb, 0x9b, 0xa1, 0x7b, 0x91, 0x61, 0xdd, + 0xc5, 0xf5, 0x76, 0xba, 0xd1, 0xcb, 0x99, 0x2e, 0xd6, 0x11, 0xab, 0x90, 0x60, 0x9a, 0x63, 0x55, + 0x11, 0x35, 0x4a, 0xaa, 0x69, 0x36, 0x45, 0xb5, 0x8f, 0x4c, 0x09, 0x93, 0xed, 0xab, 0xfb, 0x00, + 0x7a, 0xbe, 0xf9, 0xaf, 0x97, 0x1f, 0x64, 0x7f, 0x6c, 0x41, 0x14, 0xff, 0xf4, 0x4a, 0x22, 0x0c, + 0xd8, 0x5d, 0x56, 0xdf, 0x25, 0x68, 0xd0, 0x99, 0x46, 0xfa, 0xcd, 0xed, 0xcf, 0x81, 0x56, 0x15, + 0x11, 0xa0, 0xb1, 0x08, 0xff, 0x3b, 0x7f, 0xff, 0x65, 0xda, 0x65, 0xa2, 0x78, 0x96, 0x84, 0x24, + 0x16, 0x91, 0x11, 0x3b, 0x5c, 0x29, 0x88, 0x69, 0x10, 0xd1, 0x15, 0xb0, 0xb1, 0xb8, 0x00, 0xdd, + 0x69, 0xd5, 0x8a, 0x7c, 0x66, 0xd4, 0xef, 0xfa, 0xd7, 0xd0, 0x44, 0xf1, 0x78, 0x6c, 0xd5, 0x7a, + 0xbe, 0xa3, 0x54, 0xe1, 0x7f, 0xe2, 0x2c, 0x4d, 0x87, 0x4b, 0xf4, 0xb3, 0xfd, 0xa9, 0xea, 0xcb, + 0x5d, 0x81, 0x4e, 0x40, 0x9a, 0xfa, 0x97, 0xb9, 0x51, 0xdd, 0x6b, 0x31, 0x71, 0xf1, 0x1d, 0x97, + 0x60, 0x42, 0xcc, 0x50, 0x18, 0x33, 0xe5, 0x87, 0x35, 0x3d, 0x26, 0x4d, 0xe7, 0xd5, 0x4e, 0x3c, + 0x63, 0x26, 0xf6, 0x87, 0x55, 0xf9, 0x94, 0xd3, 0x22, 0x3c, 0xb7, 0x61, 0xb7, 0x6b, 0xda, 0x5e, + 0x99, 0x5f, 0xe2, 0x83, 0x0f, 0xf7, 0x86, 0x76, 0x10, 0xf5, 0x3c, 0xa3, 0x33, 0xd2, 0x66, 0xbc, + 0x4b, 0xfe, 0x51, 0x8d, 0x96, 0xe6, 0xe6, 0x96, 0x68, 0x83, 0xfb, 0x79, 0x1c, 0xa7, 0xc9, 0xf8, + 0xfb, 0x2b, 0x74, 0x4c, 0xc6, 0x8e, 0xae, 0x86, 0x93, 0xf3, 0xa6, 0xd2, 0xe0, 0x7c, 0xb4, 0x59, + 0x05, 0x3e, 0xc2, 0x3c, 0x01, 0x13, 0xe8, 0x4b, 0x74, 0x14, 0x82, 0xae, 0xe2, 0x2f, 0xb9, 0xdc, + 0xa1, 0x8d, 0xf6, 0x83, 0xf0, 0x9c, 0x47, 0xb4, 0x81, 0xc1, 0xbb, 0xc1, 0xa7, 0xf8, 0x94, 0x48, + 0xe0, 0xe6, 0x12, 0xd7, 0xb1, 0xab, 0xc6, 0x77, 0x36, 0xf1, 0x69, 0x4d, 0x58, 0x21, 0x70, 0x6a, + 0x5d, 0xd5, 0xf3, 0xb3, 0x03, 0xd7, 0xe7, 0x2c, 0xa4, 0x42, 0x51, 0x02, 0x54, 0xcd, 0xec, 0x24, + 0xdd, 0x71, 0xad, 0x90, 0xa9, 0x98, 0xea, 0x69, 0x3f, 0xda, 0xb2, 0xdc, 0xbc, 0x5a, 0x69, 0x4a, + 0x5f, 0xce, 0x87, 0xc4, 0xaf, 0x0c, 0x1d, 0x56, 0x6d, 0xb9, 0x82, 0x20, 0x9c, 0x3d, 0xdd, 0xe9, + 0xb4, 0x5b, 0x8b, 0x6b, 0x56, 0x50, 0xc4, 0xe9, 0xd0, 0x94, 0x14, 0x2f, 0x7a, 0x30, 0xc6, 0x82, + 0xfa, 0x9f, 0x5a, 0x73, 0xeb, 0x3d, 0x7e, 0x78, 0xad, 0x29, 0x05, 0x90, 0x43, 0x6e, 0xdc, 0xad, + 0xdc, 0x7c, 0xae, 0xee, 0x95, 0x0b, 0x13, 0x51, 0x4d, 0x4a, 0x4a, 0x07, 0xb6, 0x11, 0xe7, 0x52, + 0x6e, 0x6b, 0x66, 0x4d, 0xa0, 0x3c, 0x9a, 0x99, 0x10, 0x91, 0xef, 0x1b, 0x44, 0xbd, 0xca, 0x46, + 0xf2, 0x1d, 0x3f, 0x7a, 0x96, 0x37, 0xc0, 0x6a, 0xfc, 0xbc, 0x3c, 0xd6, 0x58, 0xf7, 0xc0, 0xf0, + 0x92, 0xca, 0x62, 0xfc, 0xa1, 0xd9, 0x97, 0x4b, 0x32, 0x85, 0xda, 0x12, 0x18, 0x14, 0xb9, 0x93, + 0x6b, 0x74, 0xd3, 0x8c, 0x3d, 0xdf, 0xd4, 0x2d, 0x15, 0x59, 0x04, 0xcb, 0xa5, 0x01, 0xf4, 0xa3, + 0x16, 0x27, 0xf5, 0xe0, 0xbd, 0xcc, 0xb2, 0x68, 0x65, 0x60, 0xf1, 0x57, 0x4d, 0x5d, 0xdd, 0xfb, + 0xe5, 0x20, 0x72, 0x69, 0x9f, 0x69, 0x6e, 0x8a, 0x75, 0x08, 0xf0, 0xcc, 0x63, 0x97, 0xa5, 0xd1, + 0xb5, 0xb7, 0x26, 0xc5, 0xc3, 0x81, 0xa3, 0xa0, 0x6f, 0xa4, 0xf7, 0x21, 0xa7, 0x22, 0x90, 0xca, + 0xc2, 0x16, 0x2f, 0xe2, 0xf2, 0xed, 0xa5, 0xa0, 0xb6, 0x9e, 0x0c, 0xd4, 0x9f, 0xe0, 0x1d, 0x3d, + 0x12, 0x4e, 0x7b, 0x70, 0x72, 0x5e, 0x85, 0x8a, 0xfc, 0x85, 0xe6, 0x20, 0xee, 0x6f, 0xc9, 0xd7, + 0xb5, 0xb1, 0x80, 0x7e, 0x1a, 0x59, 0x57, 0xeb, 0xe4, 0xad, 0xc2, 0x64, 0x1d, 0x95, 0x6e, 0x1a, + 0x3d, 0xcf, 0x2b, 0x4c, 0xbd, 0x41, 0x10, 0xfd, 0xd8, 0x5b, 0x5a, 0xd8, 0xa9, 0xa8, 0x79, 0x0d, + 0xd8, 0xb6, 0xf3, 0xed, 0x60, 0x54, 0x83, 0x78, 0x35, 0x87, 0xb6, 0x46, 0xb6, 0x52, 0x35, 0xbb, + 0x52, 0x3b, 0x79, 0xe1, 0x95, 0x67, 0xcd, 0x69, 0x0c, 0x31, 0x05, 0xa3, 0x29, 0x91, 0xa7, 0xf8, + 0x56, 0x18, 0xb5, 0x84, 0xc1, 0x27, 0x7b, 0x80, 0x5b, 0x10, 0x8a, 0x74, 0xdf, 0xc3, 0x69, 0x89, + 0x8f, 0x17, 0xb3, 0x8e, 0xe1, 0xdc, 0xf7, 0x0b, 0xb7, 0x1e, 0x7a, 0x61, 0xad, 0x21, 0x1b, 0x48, + 0x65, 0x3e, 0x9d, 0x77, 0xfa, 0x82, 0xdf, 0x5c, 0xb3, 0x42, 0x4e, 0x08, 0xe4, 0x13, 0x18, 0x6e, + 0xbd, 0xd1, 0x39, 0x79, 0x46, 0x66, 0xdd, 0x4d, 0x72, 0xf2, 0xfa, 0x76, 0x2c, 0x42, 0x83, 0xe9, + 0x94, 0xf8, 0x65, 0x55, 0xf4, 0x81, 0x57, 0x92, 0x2d, 0x0e, 0x52, 0xbe, 0x88, 0x0c, 0xc1, 0xeb, + 0xd3, 0x33, 0xbc, 0xfe, 0x5b, 0xc1, 0xfb, 0xe1, 0xbd, 0x67, 0xc1, 0xd1, 0xb4, 0xbb, 0x8f, 0x73, + 0x23, 0xd1, 0xa7, 0x28, 0x11, 0x97, 0x4d, 0x05, 0xef, 0xf7, 0xbc, 0x39, 0x9e, 0x45, 0x83, 0x4c, + 0x8d, 0x31, 0xfb, 0x2d, 0x33, 0xb1, 0xbb, 0x37, 0x40, 0xc7, 0x4f, 0x12, 0xcc, 0x8c, 0x31, 0xbe, + 0x1e, 0x0c, 0x28, 0x3a, 0x72, 0x48, 0x2b, 0xb3, 0x39, 0x8b, 0x46, 0xa5, 0xfc, 0x93, 0x52, 0x61, + 0x3d, 0xd8, 0xfe, 0x20, 0xf3, 0x97, 0x9e, 0x21, 0x85, 0xf1, 0x77, 0xfc, 0x21, 0xcc, 0xa1, 0x68, + 0xd7, 0xda, 0x09, 0xc9, 0xf1, 0x78, 0xbb, 0x87, 0x19, 0xcd, 0x89, 0x2a, 0x5f, 0x7c, 0xa2, 0xd0, + 0x19, 0x5d, 0x98, 0x45, 0x54, 0xa6, 0x2b, 0xb8, 0x29, 0xc2, 0xcc, 0xd7, 0x1a, 0x5c, 0xb4, 0x7a, + 0x17, 0xe8, 0x20, 0xb1, 0xe8, 0xd7, 0xba, 0xf1, 0xda, 0xe3, 0x63, 0xc9, 0x4f, 0x49, 0xd9, 0x4b, + 0xd3, 0x1c, 0xbd, 0x2f, 0x3c, 0xf3, 0xac, 0x65, 0xcb, 0xe8, 0x6d, 0x34, 0xb3, 0x32, 0xb5, 0x3c, + 0x0e, 0x3e, 0x05, 0x1c, 0x1f, 0x16, 0xf0, 0x49, 0x23, 0xd7, 0x07, 0xfc, 0x37, 0x1e, 0xc1, 0xa6, + 0x62, 0x2a, 0x30, 0xb8, 0xcd, 0xbd, 0xfb, 0xc0, 0xf4, 0x19, 0x0a, 0x76, 0x21, 0xd5, 0x8f, 0xd2, + 0x23, 0xae, 0xa9, 0x91, 0xf3, 0xc4, 0x76, 0xab, 0x97, 0x3d, 0x61, 0x0c, 0xc4, 0x58, 0xdf, 0x62, + 0xbb, 0x58, 0x00, 0xc1, 0xb9, 0x97, 0xc1, 0xb0, 0x6b, 0xdb, 0x57, 0x7b, 0x55, 0x5b, 0xd3, 0x76, + 0xd5, 0x27, 0x5e, 0x85, 0x9e, 0x8e, 0x4c, 0xbd, 0xeb, 0xef, 0x3b, 0x79, 0x7f, 0x5d, 0x2f, 0xea, + 0x00, 0x34, 0x64, 0x96, 0x41, 0x6a, 0xa2, 0x56, 0x05, 0xe7, 0xdb, 0x3e, 0x39, 0x16, 0x22, 0x2c, + 0xf0, 0x0a, 0xf6, 0x11, 0x60, 0x17, 0x5a, 0x49, 0x20, 0x37, 0xc9, 0x6b, 0xbc, 0x97, 0x59, 0x54, + 0x00, 0x8f, 0xc3, 0x22, 0x64, 0xf3, 0x15, 0xaa, 0xb0, 0x04, 0xba, 0x80, 0x68, 0x29, 0x0d, 0xa6, + 0x7d, 0x6d, 0x45, 0xbd, 0xc7, 0xe4, 0x3d, 0x46, 0x03, 0xa0, 0x84, 0xfb, 0x76, 0x94, 0x1f, 0x29, + 0xf9, 0xa3, 0xc9, 0xab, 0x79, 0xdc, 0x34, 0xc6, 0x62, 0x74, 0x98, 0x57, 0x42, 0x5d, 0x4d, 0x2b, + 0xc5, 0x57, 0x75, 0x65, 0x56, 0x4c, 0x96, 0xb1, 0x91, 0xa4, 0xc1, 0xb6, 0xb7, 0xbe, 0xea, 0x92, + 0x17, 0x8f, 0x0c, 0x0c, 0x2e, 0xf9, 0x00, 0xb7, 0x18, 0x8f, 0x02, 0xd0, 0x4d, 0x68, 0x59, 0x74, + 0x70, 0x8e, 0x79, 0x65, 0x4c, 0xed, 0xc0, 0x71, 0x03, 0x96, 0x0a, 0x93, 0x99, 0x8c, 0xe3, 0x34, + 0xbd, 0x0c, 0xd5, 0x55, 0x9e, 0xbd, 0xba, 0x01, 0x2d, 0x75, 0x94, 0xa5, 0x3b, 0x0e, 0xfd, 0xb1, + 0x37, 0x81, 0x0c, 0x14, 0x9d, 0x86, 0x7c, 0x37, 0x3c, 0xc2, 0xe7, 0x76, 0xd5, 0x05, 0x5e, 0x45, + 0x33, 0xd0, 0x17, 0x1e, 0x7f, 0x8f, 0x64, 0x48, 0x75, 0x04, 0x2f, 0xbe, 0x03, 0x14, 0xa2, 0x11, + 0x5c, 0xe6, 0x4a, 0x1e, 0x09, 0x55, 0x4c, 0xe4, 0x43, 0x37, 0xd0, 0xda, 0xf9, 0x97, 0xb7, 0x15, + 0x63, 0x74, 0x35, 0x62, 0x51, 0xbc, 0xe6, 0x1c, 0x6a, 0xa7, 0xed, 0x05, 0x6f, 0xcf, 0x5d, 0xb4, + 0x39, 0xce, 0x68, 0xba, 0xe3, 0x5a, 0x85, 0xf8, 0x6e, 0x43, 0xe6, 0x12, 0x22, 0x7c, 0xae, 0xb7, + 0x5a, 0xd9, 0x1f, 0x08, 0x87, 0xab, 0x84, 0x3c, 0x2c, 0x3b, 0x57, 0x53, 0x2d, 0x7a, 0xe2, 0xa2, + 0x33, 0x9a, 0x31, 0x05, 0xab, 0x95, 0x77, 0xa6, 0xdf, 0x21, 0x94, 0x4a, 0xe5, 0x4b, 0xff, 0xc9, + 0x43, 0xbf, 0xe2, 0x6a, 0x23, 0x81, 0x22, 0x05, 0x6d, 0xd6, 0x50, 0xb5, 0x61, 0x1b, 0xcc, 0x3a, + 0xbe, 0x61, 0x20, 0x82, 0xf1, 0x86, 0xba, 0xa9, 0xd1, 0x40, 0x17, 0xa7, 0xe0, 0x55, 0x78, 0x59, + 0xc5, 0xfd, 0xe2, 0xee, 0xb8, 0xce, 0x67, 0x9b, 0x84, 0x66, 0xda, 0x02, 0x5a, 0xcc, 0x77, 0x57, + 0xc3, 0xd9, 0x03, 0xf2, 0xbf, 0xa2, 0x5f, 0x69, 0x3a, 0x9a, 0x7e, 0xbf, 0xa3, 0x4a, 0x39, 0x38, + 0x8a, 0xcf, 0xe7, 0x73, 0x10, 0xc8, 0xc9, 0xd1, 0xb2, 0x56, 0x2a, 0x24, 0x87, 0x1e, 0xf8, 0x83, + 0xe6, 0x3f, 0xf8, 0xdd, 0xcd, 0x67, 0x03, 0x3b, 0xae, 0xf1, 0xaa, 0x37, 0x4f, 0x33, 0x56, 0xd1, + 0x08, 0x02, 0xb7, 0x6b, 0xcb, 0x75, 0xbf, 0x3c, 0xd0, 0x4b, 0x75, 0xf8, 0x93, 0x48, 0x10, 0x25, + 0x2b, 0x13, 0xd9, 0x3c, 0xe1, 0xd0, 0x17, 0x4a, 0x94, 0xd4, 0x6a, 0x3e, 0xec, 0x10, 0xbc, 0xaf, + 0xf3, 0x69, 0x80, 0x29, 0x55, 0xd0, 0xc6, 0x1d, 0x77, 0x05, 0x15, 0xf4, 0x77, 0x8d, 0x6a, 0x4e, + 0x5b, 0x41, 0x4c, 0xcf, 0x1d, 0x67, 0xaf, 0x2e, 0xe2, 0x47, 0xdd, 0x37, 0xff, 0x80, 0x62, 0xc8, + 0xd1, 0xe1, 0xf4, 0x51, 0xd6, 0x86, 0x07, 0xee, 0xfb, 0x7d, 0x4d, 0x4d, 0x0e, 0x35, 0x06, 0x7d, + 0xa9, 0x5f, 0xc6, 0xf0, 0xd2, 0xc9, 0x9f, 0x4a, 0xb1, 0x21, 0x46, 0xfc, 0x5e, 0xb0, 0x18, 0x89, + 0xc7, 0xbc, 0xfc, 0x22, 0xce, 0xfb, 0x20, 0xa6, 0xe5, 0x19, 0x6b, 0xc4, 0x08, 0x81, 0xfd, 0x43, + 0x7b, 0xe9, 0x0a, 0x3e, 0xd6, 0x41, 0x29, 0xee, 0x69, 0x43, 0xe2, 0x33, 0x0f, 0xbd, 0x4c, 0xe3, + 0xca, 0x02, 0xa4, 0x85, 0x57, 0x07, 0x5a, 0x02, 0x37, 0xf4, 0xac, 0xaf, 0xbe, 0x9e, 0x8e, 0x37, + 0xe8, 0xe1, 0x9a, 0xbb, 0x15, 0x47, 0xb9, 0x46, 0x6e, 0xa2, 0xbf, 0x68, 0xef, 0x51, 0x9a, 0x8c, + 0xb3, 0xa4, 0xb1, 0xa1, 0xf9, 0x5c, 0xe7, 0xed, 0xd0, 0x68, 0xa0, 0x84, 0x27, 0x41, 0x9a, 0xc5, + 0x78, 0x06, 0x3c, 0xf4, 0x6b, 0x86, 0x7e, 0x82, 0x8c, 0xa3, 0x2e, 0xc6, 0x40, 0x58, 0x3f, 0x3b, + 0x60, 0x22, 0xd9, 0x25, 0xa5, 0x18, 0x45, 0xf9, 0x5f, 0x48, 0x29, 0x0a, 0xb0, 0xf5, 0x48, 0x58, + 0x70, 0xfb, 0x90, 0x52, 0x0b, 0xd4, 0x5d, 0x94, 0x36, 0x8a, 0x8a, 0xf4, 0x7e, 0xe1, 0xab, 0x61, + 0xa8, 0x69, 0xe8, 0xb6, 0x15, 0x2b, 0x4c, 0x13, 0x18, 0x0e, 0x72, 0x3c, 0x5b, 0x32, 0xf5, 0x7c, + 0xa6, 0xb2, 0xfb, 0xab, 0x53, 0x58, 0x37, 0x9b, 0x3f, 0xed, 0x3e, 0xa6, 0x75, 0x20, 0x53, 0x23, + 0x56, 0x3c, 0xc5, 0xae, 0xc0, 0x49, 0x9c, 0x33, 0x56, 0xd4, 0xe5, 0x13, 0xa5, 0x69, 0x59, 0x3e, + 0xaa, 0x4f, 0x1e, 0x9b, 0xe7, 0x5c, 0xa9, 0xb2, 0x59, 0xae, 0x3a, 0x36, 0xfd, 0x48, 0xad, 0xe8, + 0x11, 0xc7, 0xf5, 0xca, 0xdd, 0x84, 0x7c, 0xe1, 0x89, 0xf8, 0x7c, 0x4d, 0xa7, 0x21, 0x58, 0x08, + 0xa2, 0xb4, 0x81, 0x7b, 0x5b, 0x99, 0x1e, 0x73, 0x08, 0xed, 0x66, 0x39, 0x32, 0xb2, 0x91, 0x69, + 0x2f, 0x6c, 0x30, 0x46, 0x49, 0xfb, 0xe5, 0xe4, 0xdb, 0xb1, 0x27, 0x48, 0x0e, 0x15, 0x6d, 0x06, + 0x6f, 0x85, 0x13, 0xee, 0xe9, 0x68, 0x60, 0x00, 0x1f, 0xb9, 0x3e, 0x4c, 0x8c, 0x5f, 0xff, 0xd4, + 0x38, 0x73, 0xaf, 0x3d, 0xb7, 0x93, 0x36, 0xc5, 0x61, 0x9d, 0xac, 0xda, 0x9c, 0xf4, 0xf2, 0x4d, + 0x2e, 0x26, 0x94, 0x56, 0xf1, 0x74, 0xb8, 0x34, 0x6d, 0xa5, 0x36, 0x01, 0x30, 0x13, 0x13, 0x7f, + 0x84, 0xbb, 0x46, 0xde, 0x4d, 0x93, 0xc8, 0x16, 0x47, 0x02, 0xc3, 0x1e, 0xa4, 0x45, 0x00, 0x32, + 0xa2, 0x0b, 0x32, 0x58, 0xf0, 0xd9, 0xe4, 0x7e, 0x7c, 0x3f, 0x55, 0x43, 0x35, 0x14, 0x73, 0x9e, + 0x83, 0x2b, 0xce, 0x0f, 0x4f, 0xd5, 0xf9, 0xea, 0x42, 0x03, 0x3c, 0x7d, 0x38, 0x25, 0x50, 0x40, + 0x32, 0xbf, 0x35, 0x21, 0x15, 0x23, 0x4d, 0x24, 0x58, 0x91, 0xa4, 0x06, 0x07, 0x9d, 0xdd, 0xe1, + 0x50, 0xf0, 0xa1, 0xce, 0x67, 0x5c, 0x37, 0x4b, 0x63, 0x82, 0xea, 0xba, 0xbd, 0xec, 0x92, 0x27, + 0x6d, 0xd5, 0x9e, 0x7d, 0x32, 0x23, 0x02, 0xc2, 0xe0, 0x94, 0x5a, 0x3c, 0xb6, 0x90, 0x17, 0x37, + 0xc3, 0xfe, 0xd0, 0x7c, 0x66, 0xd7, 0xf0, 0xfc, 0xe5, 0xbe, 0x0c, 0x70, 0xb2, 0x10, 0xc6, 0x7b, + 0xdf, 0xdc, 0xe5, 0x9d, 0x4d, 0x54, 0xb8, 0x2e, 0x96, 0xe2, 0x6b, 0xb5, 0x30, 0xab, 0xf0, 0x04, + 0x99, 0x62, 0x67, 0x3c, 0xa4, 0x02, 0xcc, 0x54, 0xc0, 0x04, 0x75, 0xfb, 0xde, 0x12, 0x38, 0x3b, + 0x23, 0xe7, 0x1c, 0x0b, 0x54, 0xb4, 0x35, 0xd0, 0xf0, 0xc1, 0xd9, 0x7a, 0xd5, 0xa0, 0x5c, 0xf6, + 0xd7, 0x9f, 0x3a, 0xdb, 0xcf, 0x5b, 0x19, 0x7b, 0xaa, 0x8f, 0x8a, 0x45, 0xe7, 0x7a, 0xfd, 0xfd, + 0x6b, 0xa4, 0xa6, 0x42, 0x98, 0xed, 0xb5, 0xd1, 0xd8, 0x7e, 0xf1, 0x4e, 0x61, 0xc3, 0x62, 0xc2, + 0x3f, 0xa9, 0x8c, 0x4c, 0x0c, 0x1e, 0x68, 0xd8, 0x86, 0x7e, 0x74, 0xab, 0xee, 0x60, 0x4c, 0xd8, + 0x37, 0x0f, 0x57, 0xc0, 0x65, 0x9d, 0xed, 0x93, 0xcf, 0xd6, 0x56, 0xa6, 0x43, 0x91, 0xb5, 0xfb, + 0xd7, 0xeb, 0x16, 0x66, 0x51, 0x12, 0x7b, 0xad, 0xc7, 0x08, 0xa2, 0xbc, 0xae, 0x10, 0x6c, 0x88, + 0x54, 0xc3, 0x80, 0x15, 0x75, 0x17, 0xcb, 0xee, 0xa0, 0x7f, 0xff, 0xf7, 0x28, 0xa1, 0x91, 0x52, + 0x1a, 0xa6, 0x12, 0x3d, 0x09, 0x8a, 0x9d, 0x74, 0x5a, 0xa5, 0xaa, 0x86, 0x1e, 0xec, 0x9c, 0xae, + 0x9f, 0x66, 0xa5, 0x0d, 0x8c, 0x32, 0x24, 0x00, 0xea, 0xa9, 0x85, 0x09, 0xcc, 0x25, 0xb7, 0xa5, + 0xdc, 0x7a, 0x42, 0x47, 0xc0, 0x76, 0xaa, 0xec, 0xf8, 0xc6, 0x55, 0xb7, 0xc1, 0x8a, 0xeb, 0xde, + 0x35, 0x6a, 0x4d, 0xd7, 0xf2, 0x99, 0x0a, 0x44, 0x53, 0x2d, 0x76, 0x3b, 0x89, 0x84, 0x0b, 0xb7, + 0xbb, 0x25, 0x77, 0xc4, 0xb5, 0x6a, 0x79, 0x2d, 0x04, 0x67, 0x65, 0x24, 0xa7, 0x36, 0x17, 0x7f, + 0x04, 0x34, 0x98, 0xd5, 0xa4, 0x01, 0x29, 0xff, 0x4a, 0x99, 0x4c, 0x95, 0x40, 0x91, 0x13, 0x6d, + 0x04, 0x67, 0x1e, 0xa4, 0xde, 0xf3, 0x5b, 0x0d, 0xad, 0xba, 0x5d, 0x9b, 0x3f, 0xb8, 0xff, 0x9c, + 0x17, 0xad, 0xcb, 0x49, 0x4b, 0xa4, 0xc1, 0x8e, 0x97, 0xf3, 0x2d, 0x84, 0xc8, 0xbc, 0x6b, 0x44, + 0x5f, 0xa7, 0x8f, 0x4d, 0x05, 0x91, 0x47, 0x37, 0x1e, 0x65, 0x27, 0x11, 0x81, 0x87, 0x29, 0x6b, + 0x61, 0x8b, 0x20, 0xbe, 0x99, 0x08, 0x0a, 0x1e, 0xbb, 0x5e, 0xd2, 0x24, 0x8d, 0x58, 0x69, 0x33, + 0xbe, 0x2b, 0xa4, 0x20, 0xdf, 0xfb, 0x89, 0x3d, 0x78, 0xb2, 0x84, 0xa0, 0x8f, 0x9e, 0x4d, 0xb3, + 0xf6, 0x0c, 0xac, 0x84, 0x69, 0x2e, 0x50, 0x61, 0x8b, 0x92, 0x86, 0xde, 0x58, 0xb3, 0x9b, 0xe4, + 0x8e, 0x7b, 0xac, 0x8c, 0x3b, 0xd4, 0x44, 0x67, 0x83, 0x3b, 0xe9, 0x1f, 0xd0, 0x79, 0x26, 0xa9, + 0x8b, 0x6b, 0xa3, 0x80, 0xab, 0xee, 0x43, 0x95, 0xa6, 0x10, 0x3f, 0xe0, 0xd8, 0x73, 0x8a, 0x52, + 0x6d, 0x4a, 0x45, 0xc5, 0x9f, 0x90, 0xa5, 0x57, 0x27, 0xbf, 0x87, 0xf7, 0x39, 0xda, 0x74, 0x68, + 0x56, 0xb2, 0xbc, 0x84, 0x05, 0xdc, 0x8a, 0xae, 0xf3, 0x35, 0x14, 0x7a, 0xa7, 0x17, 0x44, 0x36, + 0x83, 0xb4, 0xc2, 0xa9, 0x33, 0x99, 0xa3, 0x8d, 0xac, 0xe0, 0x10, 0x0f, 0x12, 0x68, 0x98, 0xc3, + 0xf7, 0xa6, 0xdb, 0x6a, 0x39, 0x03, 0x36, 0xba, 0x56, 0xe8, 0x46, 0x85, 0xd3, 0x88, 0x29, 0x0c, + 0xc1, 0x28, 0x2c, 0x07, 0xfb, 0x9e, 0x75, 0x88, 0x18, 0xb5, 0xe3, 0x63, 0x12, 0x1d, 0x58, 0x5e, + 0x05, 0xea, 0x4f, 0xbb, 0x8c, 0x55, 0x50, 0x4e, 0xb8, 0x6d, 0xaf, 0x9a, 0x6a, 0xaf, 0x84, 0x5e, + 0x15, 0x01, 0x49, 0x00, 0xe7, 0xaf, 0xce, 0x1b, 0x46, 0x55, 0x21, 0xf3, 0x85, 0x2e, 0xb4, 0x14, + 0x1a, 0x14, 0xcd, 0xb9, 0x45, 0x58, 0x4e, 0xec, 0x0a, 0xf4, 0x57, 0x67, 0x70, 0xd3, 0x42, 0x26, + 0x21, 0x8c, 0x7f, 0xa5, 0xf0, 0xa7, 0xd3, 0x17, 0x94, 0xa4, 0xa2, 0x66, 0x62, 0x53, 0x12, 0xc9, + 0x9c, 0x34, 0x8d, 0x90, 0xfb, 0x61, 0x06, 0x4e, 0x8b, 0x49, 0x6e, 0xa1, 0xc4, 0x34, 0xca, 0x21, + 0x19, 0x31, 0xe5, 0xb2, 0x47, 0x26, 0xc5, 0x84, 0x42, 0xf1, 0x17, 0x50, 0xe0, 0xc4, 0x38, 0x96, + 0x43, 0xfe, 0xf3, 0x62, 0x8e, 0x8c, 0x43, 0x0e, 0x29, 0x1e, 0x3c, 0xfe, 0x4d, 0xa9, 0x53, 0x7f, + 0xa5, 0x2e, 0x1e, 0x1c, 0xef, 0x02, 0xe4, 0x6a, 0x69, 0x81, 0x74, 0xb0, 0xc0, 0x9f, 0xc8, 0xcb, + 0xe5, 0x1c, 0x5f, 0x28, 0x99, 0x3a, 0x42, 0x6c, 0x89, 0xd9, 0xca, 0xef, 0x32, 0x00, 0xa1, 0xa2, + 0x1a, 0x8c, 0x7d, 0xa0, 0x0a, 0x1c, 0xe4, 0x94, 0x5b, 0x8c, 0xc1, 0xd0, 0xd1, 0x97, 0x70, 0xd9, + 0xa1, 0xbb, 0x89, 0x30, 0x9d, 0x9d, 0x78, 0x1f, 0x00, 0x28, 0xb2, 0x34, 0xf3, 0x55, 0x3d, 0x10, + 0xa1, 0x87, 0xb1, 0x23, 0xd3, 0x49, 0x36, 0x90, 0x83, 0x05, 0x8c, 0xd0, 0x47, 0x18, 0xb0, 0xb1, + 0x49, 0x06, 0x2f, 0x93, 0x36, 0xb9, 0x3c, 0xc1, 0x68, 0x77, 0x38, 0x77, 0x7b, 0x1d, 0x22, 0x8f, + 0xc0, 0xdc, 0x7f, 0xcd, 0xe5, 0x68, 0x8a, 0x75, 0xbe, 0x5e, 0x58, 0xa8, 0xdd, 0x1e, 0x6d, 0x0c, + 0xef, 0xf3, 0xf1, 0xa2, 0x68, 0x36, 0x71, 0xff, 0x25, 0x0a, 0x49, 0x86, 0xc9, 0x8b, 0xa0, 0x93, + 0xd7, 0x33, 0xe1, 0x16, 0x11, 0x5d, 0xb0, 0xa3, 0x0f, 0xe5, 0x3a, 0x90, 0x59, 0x6c, 0x5d, 0xab, + 0x22, 0x9d, 0x08, 0x78, 0x64, 0xbd, 0x2e, 0xf3, 0x1e, 0x71, 0x29, 0x96, 0x1b, 0xad, 0x86, 0xd9, + 0x3c, 0x07, 0xca, 0x8f, 0x31, 0x77, 0x6b, 0x36, 0xd9, 0x02, 0xa5, 0xd6, 0x64, 0x4d, 0x4e, 0xfb, + 0xe5, 0x4b, 0x68, 0x24, 0x49, 0x9d, 0xb1, 0x02, 0xed, 0xc8, 0xe1, 0x34, 0xfb, 0xe0, 0xa2, 0xfb, + 0xbf, 0x53, 0x55, 0x3a, 0x5d, 0xdf, 0x19, 0x4d, 0x7f, 0xb9, 0xcd, 0xa4, 0xa3, 0x63, 0x40, 0x26, + 0x25, 0xd9, 0x67, 0x72, 0xe5, 0xd5, 0xe8, 0xd1, 0x59, 0x97, 0x52, 0x9f, 0xd8, 0xbe, 0x9f, 0xcb, + 0x23, 0x14, 0xc9, 0x1b, 0xdf, 0x73, 0x28, 0x31, 0x50, 0x17, 0x6a, 0x97, 0x2d, 0xde, 0x3a, 0x7c, + 0xb8, 0xf0, 0x4f, 0xdc, 0x04, 0x69, 0x02, 0x32, 0x00, 0xcd, 0xa2, 0x16, 0xc8, 0x30, 0x68, 0xa8, + 0x65, 0x87, 0x7f, 0x00, 0x6f, 0x7f, 0xdb, 0x75, 0x5f, 0xd3, 0xb5, 0xc5, 0xf5, 0x91, 0x7e, 0x1e, + 0x68, 0xaa, 0x46, 0x18, 0x07, 0xba, 0xa3, 0x81, 0xca, 0xc5, 0x57, 0xdb, 0x96, 0x8c, 0xb9, 0x39, + 0x48, 0x01, 0xf1, 0xaa, 0x34, 0xb3, 0x3b, 0x87, 0xe7, 0xe1, 0x3e, 0xbd, 0x5a, 0x57, 0x3a, 0xfc, + 0x76, 0x44, 0x87, 0x27, 0xb4, 0x37, 0x21, 0x25, 0xcf, 0xd0, 0x24, 0x3f, 0xdb, 0x19, 0xf7, 0xad, + 0x59, 0xa0, 0xb7, 0xaa, 0x73, 0xd5, 0xa6, 0x58, 0x9c, 0x7f, 0xab, 0xbf, 0x59, 0x6c, 0x2b, 0x35, + 0x4e, 0x61, 0x1d, 0xf2, 0x78, 0x74, 0xa1, 0xdc, 0x2c, 0x34, 0xdc, 0xe2, 0x8a, 0x59, 0x3c, 0xb9, + 0x56, 0x90, 0x96, 0x27, 0xba, 0x57, 0x9c, 0xa9, 0x64, 0x57, 0xbd, 0x80, 0xd8, 0x98, 0xb8, 0x72, + 0x74, 0xb6, 0x25, 0xf2, 0xef, 0x71, 0xa3, 0x7c, 0xe6, 0xdf, 0x40, 0x89, 0x56, 0x6f, 0x21, 0xb1, + 0x7a, 0xb5, 0x3e, 0xa4, 0x95, 0xb3, 0xe2, 0xb2, 0x7e, 0xd6, 0xda, 0xa8, 0x3e, 0x73, 0x0c, 0xae, + 0xb8, 0x7d, 0xfa, 0x1b, 0x9e, 0x49, 0xee, 0x6f, 0xab, 0x03, 0xa6, 0x19, 0x84, 0xc3, 0xa5, 0x14, + 0x74, 0x51, 0xe2, 0xcd, 0xd1, 0x10, 0xa9, 0x2f, 0x48, 0x1f, 0x8d, 0xeb, 0x1f, 0x7e, 0x96, 0x37, + 0x78, 0xa3, 0x71, 0x24, 0xbc, 0xce, 0xbb, 0xb8, 0xb7, 0x59, 0xa1, 0xee, 0x9f, 0xce, 0x57, 0xa8, + 0xdd, 0x9d, 0x39, 0xdb, 0x04, 0xcf, 0x3d, 0x61, 0x88, 0xc1, 0x9a, 0x05, 0xd9, 0xee, 0x26, 0x10, + 0xcd, 0x3f, 0x2c, 0xfe, 0x1b, 0x15, 0x8d, 0x17, 0x69, 0xc4, 0x89, 0x53, 0x87, 0x39, 0xa9, 0x98, + 0xb3, 0x65, 0xb9, 0x18, 0x2f, 0x29, 0xed, 0x89, 0x90, 0x2b, 0x47, 0x05, 0x89, 0x73, 0xa3, 0x5c, + 0xb6, 0x88, 0x27, 0x7b, 0xf3, 0xfa, 0xcc, 0xba, 0x1d, 0xd8, 0xcb, 0x22, 0x3d, 0xe4, 0xb2, 0x14, + 0x16, 0xfe, 0x40, 0x42, 0x9b, 0x0a, 0xe0, 0x60, 0xd5, 0x01, 0x21, 0x74, 0x3b, 0x78, 0xf5, 0x7f, + 0x25, 0xa7, 0x46, 0xfd, 0xe8, 0xa1, 0x4d, 0x3b, 0x67, 0xe1, 0xa0, 0x0f, 0x41, 0xef, 0x90, 0x92, + 0x8a, 0x1c, 0x70, 0x5b, 0xf7, 0x93, 0xad, 0x76, 0x70, 0x21, 0x1a, 0x04, 0x51, 0x36, 0x2c, 0x50, + 0x82, 0x01, 0x81, 0x2a, 0xf2, 0x45, 0x71, 0xb8, 0xb5, 0x9a, 0xc8, 0x73, 0x6a, 0xde, 0x69, 0xdc, + 0x64, 0x4f, 0x06, 0x2f, 0x54, 0x17, 0xa7, 0x32, 0x51, 0x07, 0xda, 0xbb, 0xcc, 0x94, 0x0a, 0xbb, + 0x33, 0x48, 0xe7, 0x6e, 0xd4, 0xa9, 0xd9, 0x6c, 0x0a, 0x4c, 0xb3, 0xba, 0x1b, 0x8e, 0x63, 0x38, + 0x17, 0x50, 0xce, 0xab, 0x4e, 0xba, 0x60, 0x95, 0x03, 0x74, 0x90, 0x0d, 0x83, 0xe5, 0xe7, 0x3a, + 0x78, 0xab, 0x2a, 0x3b, 0xb0, 0x2e, 0x61, 0x65, 0x2a, 0xa4, 0x59, 0x7d, 0x10, 0x8d, 0x7c, 0xf0, + 0x4c, 0xf4, 0x4c, 0x85, 0xe0, 0xbc, 0xa4, 0xbe, 0x60, 0xb7, 0x89, 0xca, 0xe1, 0xb8, 0x5d, 0x82, + 0xf0, 0x5f, 0x8a, 0xaa, 0x40, 0x6d, 0x5f, 0xc0, 0xa1, 0x49, 0xe0, 0xec, 0xb0, 0x0a, 0x07, 0x39, + 0xa6, 0x6e, 0xfb, 0xcb, 0xf0, 0xc5, 0x1f, 0x35, 0xf2, 0x30, 0xb7, 0xf6, 0x16, 0x4a, 0x01, 0x99, + 0xab, 0x2c, 0x7e, 0x8a, 0xe4, 0x1f, 0x04, 0x71, 0x44, 0x0c, 0xe2, 0x59, 0x39, 0x87, 0x42, 0x1b, + 0x8c, 0x22, 0xec, 0x49, 0x76, 0xea, 0xa3, 0x35, 0x12, 0x47, 0xa4, 0xd2, 0x7b, 0xe6, 0x9f, 0x70, + 0x51, 0x33, 0x75, 0xaf, 0x1c, 0xe8, 0x88, 0x88, 0x49, 0xc8, 0xa9, 0x3d, 0x8a, 0xae, 0xdb, 0x1e, + 0x3e, 0x58, 0x93, 0x96, 0xf7, 0x27, 0xe1, 0xa8, 0x3e, 0xdc, 0xc9, 0x45, 0xc3, 0xe9, 0xaa, 0xe4, + 0xb5, 0x84, 0x00, 0x05, 0x68, 0x83, 0x97, 0xb2, 0x72, 0xfd, 0x7c, 0xdc, 0xdb, 0xb0, 0x4b, 0x39, + 0xca, 0x0b, 0x3e, 0xb8, 0x13, 0xce, 0x8f, 0xea, 0x63, 0xca, 0xd6, 0xf2, 0x2a, 0x65, 0xe4, 0xd8, + 0x8d, 0xd7, 0xbb, 0x59, 0xf8, 0x10, 0xf2, 0xcf, 0x9c, 0x1d, 0x3f, 0x70, 0x28, 0xc3, 0x3e, 0x70, + 0x0c, 0x77, 0x99, 0xed, 0xf7, 0x21, 0x28, 0x1f, 0x1f, 0x2d, 0x01, 0xce, 0xa4, 0x7c, 0xbf, 0x34, + 0x41, 0xe5, 0x4f, 0xfc, 0xf4, 0x92, 0x98, 0x12, 0x3e, 0xbd, 0x7c, 0x78, 0xdf, 0x82, 0x2c, 0xd4, + 0x5a, 0x93, 0x22, 0x7f, 0xb3, 0xd5, 0x74, 0xd2, 0x80, 0xd1, 0xcc, 0xb5, 0x84, 0x5a, 0x74, 0x23, + 0xe9, 0x4c, 0xf3, 0xdf, 0xd2, 0x7f, 0xf1, 0xfe, 0x5b, 0x78, 0xd7, 0x6b, 0xd3, 0xfb, 0xd6, 0x60, + 0x1d, 0x7d, 0x67, 0x14, 0x61, 0xc6, 0xe3, 0xc1, 0x95, 0x63, 0xe4, 0x14, 0x66, 0x12, 0x84, 0xbe, + 0xc3, 0x45, 0x91, 0xe8, 0x5d, 0x23, 0x0f, 0xae, 0x91, 0xbe, 0x6c, 0x03, 0x63, 0xc7, 0x8d, 0xbc, + 0x52, 0xc9, 0x9c, 0xb2, 0x4e, 0xa7, 0x16, 0xc4, 0x5b, 0xb5, 0x36, 0x6e, 0xc6, 0x36, 0x2a, 0xae, + 0x22, 0x0d, 0xf4, 0xae, 0xc1, 0xc8, 0x63, 0xdf, 0x36, 0x67, 0x13, 0x9a, 0xbb, 0x67, 0x56, 0x72, + 0x41, 0x4e, 0x69, 0x21, 0x75, 0xe2, 0xde, 0xf9, 0x1e, 0x04, 0xbd, 0x29, 0x68, 0xb2, 0x83, 0x51, + 0x23, 0x3a, 0xa1, 0x43, 0x68, 0xae, 0xae, 0xa2, 0xfb, 0x60, 0xd4, 0xfa, 0x37, 0xd1, 0x4a, 0x10, + 0xe0, 0x94, 0xf9, 0x45, 0x24, 0x6b, 0xb5, 0x06, 0x19, 0x80, 0x9a, 0x39, 0xfd, 0xc5, 0xf5, 0xec, + 0x40, 0xf4, 0xa2, 0x3e, 0x7c, 0x88, 0x73, 0xdb, 0xa8, 0x82, 0xe2, 0x09, 0xbb, 0xe2, 0xd0, 0x50, + 0x72, 0x29, 0x2a, 0x09, 0x54, 0xef, 0xa9, 0xc2, 0x9a, 0xf6, 0xc8, 0x7d, 0x39, 0x26, 0xa1, 0x77, + 0x9b, 0x03, 0xac, 0x1c, 0x10, 0xc0, 0xf4, 0x9e, 0x6e, 0x87, 0xe5, 0xba, 0xe4, 0x4e, 0x6b, 0xd9, + 0xce, 0x36, 0xa1, 0x1f, 0x32, 0x34, 0xe8, 0x50, 0xb0, 0xd5, 0xb7, 0xc7, 0x02, 0x55, 0x0d, 0xa6, + 0x23, 0x58, 0x16, 0xe0, 0xee, 0x8b, 0xd0, 0xce, 0x5b, 0xf6, 0x8b, 0x05, 0xa2, 0x1c, 0xd1, 0x15, + 0xe8, 0xd0, 0x87, 0x31, 0x59, 0x9d, 0xb4, 0xdf, 0x12, 0xbd, 0x91, 0x00, 0x43, 0xae, 0x6a, 0xd0, + 0x8e, 0x48, 0x45, 0x01, 0xa2, 0xdb, 0x1a, 0x3f, 0x3f, 0x8e, 0x8c, 0x04, 0x2d, 0x05, 0x45, 0xf7, + 0xf2, 0x4e, 0xea, 0xb9, 0x9e, 0x31, 0x67, 0x76, 0x94, 0x7f, 0x1a, 0xdf, 0x1d, 0x19, 0x21, 0xb1, + 0x3b, 0x75, 0x51, 0xc5, 0xa0, 0xc9, 0x0c, 0x78, 0x02, 0xf4, 0x26, 0x5a, 0xc0, 0x3b, 0x7c, 0x5a, + 0xc4, 0xa3, 0x2f, 0x54, 0x5d, 0x28, 0x53, 0xad, 0xa5, 0x60, 0x9d, 0x72, 0xb7, 0xc6, 0x43, 0xab, + 0x0e, 0x33, 0x0c, 0xf8, 0x23, 0x35, 0x7c, 0x00, 0x4f, 0x56, 0x9c, 0x3f, 0x57, 0xa4, 0xa2, 0x5a, + 0x6c, 0xef, 0xc8, 0x58, 0x7f, 0x52, 0x34, 0x27, 0x4a, 0x52, 0xef, 0x8c, 0xa2, 0x7d, 0xf7, 0x1f, + 0xc6, 0x9d, 0xa5, 0x50, 0x6a, 0x7e, 0x04, 0x21, 0x2d, 0x89, 0x96, 0xd5, 0x75, 0x2b, 0x2a, 0x4f, + 0xe0, 0xb6, 0xa5, 0x66, 0xb0, 0x16, 0x7f, 0x70, 0x61, 0xb6, 0x57, 0x27, 0x10, 0x49, 0x6b, 0xf3, + 0x29, 0xbc, 0x77, 0x5f, 0x85, 0x17, 0x7e, 0x56, 0xca, 0x7a, 0x5e, 0x24, 0x13, 0xa0, 0xf2, 0x71, + 0xd2, 0x15, 0x3c, 0x77, 0xdd, 0x01, 0x7f, 0x95, 0xee, 0xd8, 0xd6, 0x64, 0x4a, 0x8a, 0x44, 0x17, + 0x09, 0x63, 0x29, 0x26, 0x04, 0xc0, 0x08, 0xa3, 0xdc, 0xb6, 0xb7, 0x06, 0x24, 0x1f, 0xe8, 0x79, + 0x3f, 0xde, 0x87, 0xd1, 0x58, 0xab, 0xbb, 0x7d, 0xda, 0xb8, 0x76, 0xac, 0xa4, 0x3c, 0x8b, 0x36, + 0xfd, 0x3b, 0x32, 0xdc, 0x34, 0xd7, 0xcd, 0xda, 0x74, 0xc2, 0xb5, 0x0a, 0x82, 0x6e, 0x09, 0xc0, + 0xef, 0x9c, 0x2c, 0x0e, 0x65, 0x32, 0xa8, 0x24, 0x07, 0x96, 0xbd, 0xbf, 0x2f, 0xbd, 0x55, 0x97, + 0x09, 0xab, 0xa3, 0x2c, 0x00, 0x7b, 0x3e, 0x2f, 0x12, 0x63, 0x05, 0xe7, 0x8e, 0xdd, 0xf1, 0x44, + 0x7e, 0x2b, 0xe0, 0x35, 0x9d, 0x1c, 0x7f, 0x65, 0x84, 0x51, 0x87, 0xf5, 0xf3, 0x5d, 0x39, 0x1c, + 0x41, 0xed, 0x56, 0x1c, 0x30, 0x6c, 0xf3, 0x42, 0x7f, 0x04, 0xb2, 0xa9, 0xe6, 0xae, 0xc1, 0x7c, + 0xd2, 0x22, 0x77, 0xc2, 0x58, 0xb4, 0x9f, 0x51, 0x7e, 0x87, 0x64, 0x41, 0xd1, 0x68, 0xf6, 0xed, + 0xa1, 0xc3, 0x97, 0x75, 0x9a, 0x4a, 0x49, 0x62, 0x0a, 0xd4, 0xeb, 0xc1, 0x38, 0x0a, 0x8c, 0x7b, + 0xef, 0x6c, 0x5f, 0x15, 0x4f, 0xbc, 0x5a, 0xc2, 0xdc, 0x28, 0x81, 0xa9, 0xf8, 0xbd, 0x53, 0xd0, + 0x4c, 0x6d, 0x70, 0xc6, 0x12, 0xb3, 0xe8, 0x38, 0x2c, 0x55, 0xc4, 0x0c, 0xe1, 0xd3, 0x08, 0x04, + 0x53, 0xaa, 0x6e, 0x1d, 0x1a, 0xe2, 0x8a, 0xfa, 0xca, 0xb7, 0x12, 0x87, 0xa2, 0x03, 0xc9, 0x1c, + 0x29, 0x08, 0x1d, 0x22, 0x74, 0xf9, 0xde, 0x81, 0xd6, 0xdd, 0x97, 0xb9, 0x6b, 0x4b, 0x4b, 0xd4, + 0x70, 0xd3, 0x3d, 0x50, 0xc0, 0x3a, 0xfb, 0x0b, 0x3b, 0x40, 0x27, 0x3f, 0xc5, 0xae, 0xa0, 0x59, + 0x3d, 0x5f, 0xec, 0x4e, 0xc8, 0x1c, 0x92, 0x85, 0xe5, 0x5b, 0x31, 0xce, 0x97, 0x90, 0xef, 0x61, + 0x45, 0x3e, 0x48, 0x3f, 0x6b, 0x7b, 0x2e, 0x60, 0x19, 0xd2, 0x2f, 0x12, 0xff, 0xa1, 0xbe, 0x5f, + 0x2e, 0x34, 0xe0, 0xae, 0x5b, 0xea, 0xb3, 0x32, 0x88, 0x66, 0x43, 0xd9, 0x4e, 0x04, 0x09, 0xf2, + 0xf8, 0x0e, 0x5d, 0xc7, 0xdb, 0x88, 0xca, 0xc9, 0x3b, 0x71, 0xb3, 0xaa, 0xe3, 0xf1, 0x97, 0x0f, + 0xd9, 0x57, 0xb9, 0x8a, 0xea, 0x5e, 0xe3, 0xbb, 0x53, 0x2e, 0xfe, 0x08, 0x56, 0xfd, 0x34, 0xf5, + 0xef, 0xff, 0x11, 0xb3, 0x6b, 0x62, 0x50, 0x90, 0xad, 0x15, 0x44, 0x63, 0x26, 0x45, 0x5a, 0xbb, + 0x35, 0x49, 0x91, 0x96, 0xe2, 0x7f, 0xd3, 0x97, 0x4e, 0x2e, 0x38, 0x1e, 0x0d, 0x73, 0x6e, 0xce, + 0x67, 0xe4, 0xbb, 0x96, 0x97, 0x92, 0x39, 0x60, 0xa7, 0xe8, 0x5f, 0xcb, 0x44, 0xe4, 0x09, 0x7d, + 0x6e, 0x95, 0x74, 0x93, 0xa5, 0x08, 0x08, 0x3a, 0x31, 0xcd, 0x16, 0x4f, 0x82, 0xab, 0xe1, 0xef, + 0x44, 0x66, 0x33, 0xa4, 0x80, 0x67, 0xa6, 0x8e, 0xc3, 0x31, 0xa9, 0x88, 0x1e, 0xdf, 0xe9, 0xea, + 0x4e, 0xdc, 0x5d, 0x11, 0x18, 0x3c, 0x49, 0xa2, 0xab, 0x36, 0xf2, 0xed, 0xb5, 0x99, 0x29, 0xe0, + 0xe9, 0x4b, 0x36, 0xf3, 0xf9, 0xe2, 0x73, 0xae, 0x93, 0xe2, 0xc9, 0x37, 0xce, 0xfa, 0xa7, 0x30, + 0xfa, 0x50, 0xa9, 0xe3, 0xf6, 0x00, 0xd3, 0xfe, 0x1c, 0x21, 0x33, 0x5f, 0xa2, 0x5b, 0x12, 0x40, + 0x58, 0x6c, 0xdd, 0x00, 0x8b, 0x88, 0xf3, 0xbb, 0x59, 0x80, 0xc3, 0x70, 0x1a, 0x0b, 0x6d, 0xca, + 0x36, 0x42, 0xa3, 0xbe, 0x0d, 0x90, 0x30, 0xe3, 0x98, 0x42, 0x27, 0x33, 0x07, 0xbf, 0x24, 0x73, + 0x99, 0xf5, 0x3c, 0xda, 0x44, 0xe5, 0xdd, 0xfb, 0x48, 0x98, 0x12, 0x3b, 0xb1, 0x99, 0x58, 0xdb, + 0x5f, 0xd3, 0xd2, 0x37, 0xa3, 0xd5, 0x90, 0x77, 0x22, 0x71, 0xef, 0x5d, 0x28, 0x9a, 0xdb, 0x6f, + 0x62, 0x08, 0x22, 0xcc, 0x50, 0x9c, 0xfd, 0x4c, 0x86, 0x51, 0xe5, 0xba, 0x03, 0xfb, 0x3d, 0x6c, + 0x30, 0xc8, 0x25, 0x16, 0x04, 0x82, 0x49, 0x12, 0x92, 0x71, 0x25, 0x66, 0xd3, 0x60, 0xe8, 0x36, + 0x16, 0xa9, 0x5f, 0x14, 0x81, 0x01, 0xc4, 0xd2, 0x17, 0x6d, 0x17, 0x54, 0x02, 0xf4, 0xd0, 0x8d, + 0x1e, 0xd8, 0x0b, 0xac, 0x03, 0x9d, 0x74, 0x56, 0x5a, 0x7a, 0x0f, 0x86, 0x5e, 0xd0, 0x3e, 0x9b, + 0xab, 0x7c, 0xe0, 0x1b, 0xe4, 0x3a, 0x06, 0xf6, 0xd4, 0x43, 0x7a, 0xe2, 0xde, 0x90, 0xc2, 0x1d, + 0xd3, 0xcf, 0xca, 0x81, 0x6c, 0xd3, 0xa1, 0xc4, 0x16, 0x5f, 0xfd, 0x8e, 0x0d, 0x7a, 0x03, 0x7f, + 0xa3, 0x92, 0x56, 0xf3, 0xb4, 0x09, 0xfb, 0x48, 0x3a, 0xb3, 0x40, 0xc3, 0xc4, 0x93, 0xc4, 0x97, + 0xdf, 0x7d, 0x6b, 0xdd, 0x32, 0xa3, 0x86, 0xec, 0x7c, 0x6a, 0x77, 0x38, 0x26, 0xf5, 0x8c, 0xf7, + 0x3a, 0x10, 0x5a, 0xbf, 0xad, 0x09, 0x30, 0xeb, 0x0b, 0x36, 0xb1, 0x6e, 0xdb, 0x39, 0x39, 0xaa, + 0xef, 0xe6, 0xae, 0xc6, 0x48, 0xb8, 0xdd, 0x71, 0x67, 0xeb, 0x2c, 0xd9, 0x70, 0xeb, 0xa4, 0xb6, + 0x65, 0x56, 0x20, 0x4b, 0x92, 0x58, 0x7b, 0x02, 0x99, 0x89, 0x9d, 0x46, 0x2c, 0x73, 0x86, 0x61, + 0x80, 0xf8, 0x08, 0x87, 0xa3, 0xad, 0xd8, 0x87, 0x43, 0x45, 0x7a, 0xe4, 0x8d, 0x8b, 0x70, 0xf3, + 0x91, 0xa8, 0xd9, 0x85, 0xa1, 0x5e, 0x24, 0x6f, 0xc2, 0x31, 0xfd, 0x7f, 0x88, 0xe6, 0x98, 0xa4, + 0x6e, 0xd2, 0x80, 0x12, 0x2c, 0x40, 0xc6, 0x9c, 0x99, 0xab, 0x12, 0x73, 0xb3, 0xf8, 0x0c, 0x5e, + 0xb2, 0x30, 0xd5, 0xcd, 0xf3, 0xc9, 0x3a, 0xfe, 0xab, 0x1d, 0x74, 0x0e, 0x66, 0x12, 0xcd, 0xb2, + 0xca, 0x81, 0x2f, 0x2d, 0xc4, 0xd3, 0x6a, 0x8b, 0xa2, 0x81, 0x8c, 0x9e, 0xdb, 0xb9, 0xdc, 0x94, + 0xf8, 0x34, 0x39, 0x39, 0x3f, 0xe1, 0xaf, 0x22, 0x47, 0xc8, 0x07, 0xba, 0x9f, 0x0b, 0x9d, 0x4e, + 0x30, 0x1c, 0x06, 0xcc, 0xb2, 0xa8, 0xca, 0x8d, 0xa5, 0x22, 0xa1, 0x21, 0x84, 0xbf, 0x32, 0x33, + 0x93, 0x3d, 0x2e, 0x0d, 0xef, 0xde, 0x4f, 0x92, 0xab, 0x25, 0x96, 0xb6, 0x2a, 0xf5, 0xa6, 0xf9, + 0xb5, 0xef, 0xc6, 0x11, 0xac, 0xc7, 0x07, 0x56, 0xdc, 0x03, 0x40, 0x75, 0x25, 0xbb, 0x2e, 0xff, + 0x4f, 0x53, 0xb1, 0x7b, 0xe9, 0x09, 0xc1, 0x8f, 0xaf, 0x55, 0xce, 0xac, 0x55, 0x88, 0x8c, 0xe9, + 0x61, 0x4a, 0x82, 0x77, 0x7b, 0x87, 0x49, 0xe5, 0x3a, 0x58, 0xae, 0x70, 0xb1, 0xc4, 0x32, 0x63, + 0xb6, 0x84, 0x13, 0x26, 0x71, 0x84, 0x27, 0x79, 0xe5, 0xb0, 0x4c, 0x7b, 0x26, 0x1f, 0x89, 0xaf, + 0x49, 0xbf, 0x6b, 0x44, 0xe5, 0x4e, 0xb3, 0x0e, 0xb2, 0x59, 0xce, 0x86, 0x8b, 0x8b, 0xc8, 0xbe, + 0xd3, 0xeb, 0x5f, 0x11, 0x20, 0x36, 0x3b, 0xe4, 0xfd, 0x63, 0x6a, 0x88, 0xa5, 0x03, 0x2c, 0x41, + 0x69, 0xe3, 0xf3, 0x7d, 0xd3, 0xf2, 0xba, 0x4f, 0x72, 0x12, 0x18, 0x1d, 0xea, 0xb6, 0x5e, 0x3b, + 0x0f, 0x3a, 0x18, 0x1c, 0xae, 0x1d, 0x03, 0xfe, 0xc1, 0x53, 0x96, 0x4d, 0xa8, 0xdd, 0x3d, 0x33, + 0x1a, 0x7b, 0xe1, 0x16, 0x90, 0x6e, 0x18, 0x41, 0x5d, 0x6d, 0xe3, 0x4b, 0xf8, 0xf6, 0x2c, 0x87, + 0x07, 0x06, 0xfe, 0x4d, 0x0b, 0x91, 0xe4, 0xbe, 0x44, 0x5a, 0xed, 0x8b, 0x6c, 0x8a, 0x0d, 0xc6, + 0xc5, 0xf0, 0x57, 0xb7, 0x40, 0xc4, 0x26, 0xb1, 0x9b, 0x6f, 0xa6, 0xce, 0x8d, 0x94, 0x6f, 0x6e, + 0x73, 0x15, 0x7f, 0x04, 0xdb, 0xad, 0xa1, 0x59, 0x8a, 0xf5, 0x72, 0xdd, 0xe2, 0x26, 0xc6, 0x9a, + 0x4a, 0x60, 0x8c, 0x83, 0xdd, 0x5a, 0x39, 0xa0, 0x41, 0xce, 0xcf, 0xbc, 0x27, 0x0a, 0xb1, 0x75, + 0x09, 0xea, 0x8f, 0x5f, 0x7b, 0x36, 0x21, 0xcf, 0x38, 0x07, 0x36, 0xc4, 0x83, 0x44, 0x44, 0x7d, + 0xd9, 0x7c, 0x26, 0xf8, 0x94, 0xd4, 0x75, 0x9f, 0x6d, 0xa2, 0x4b, 0x84, 0x0d, 0x79, 0x41, 0xb1, + 0x27, 0x56, 0x8d, 0x4a, 0xba, 0x73, 0x29, 0xb6, 0x6b, 0x7d, 0xd8, 0xad, 0x39, 0xe1, 0x38, 0xd4, + 0x61, 0xa4, 0x30, 0x41, 0xae, 0xa5, 0x38, 0xc7, 0xba, 0x8a, 0xf4, 0x1e, 0xe3, 0x44, 0x1b, 0x35, + 0x48, 0x31, 0x83, 0x96, 0xb6, 0x45, 0xfa, 0x1e, 0x45, 0xcd, 0xe4, 0x97, 0x19, 0xaa, 0x36, 0x82, + 0x91, 0x22, 0x30, 0xa2, 0xe3, 0xee, 0x84, 0x92, 0xc5, 0x1d, 0xb3, 0x79, 0x29, 0xa6, 0xd6, 0x9e, + 0x86, 0x5b, 0x77, 0xec, 0xbe, 0x6c, 0xc2, 0xd1, 0xba, 0x1e, 0x5b, 0x7c, 0x0a, 0x45, 0x76, 0xe6, + 0xce, 0xcd, 0x72, 0xca, 0xc9, 0x6a, 0xed, 0x0e, 0xa9, 0x2f, 0x6c, 0xe1, 0xcb, 0x6d, 0x5c, 0xcb, + 0x98, 0x04, 0x80, 0xc8, 0x81, 0xe2, 0x83, 0x71, 0xd8, 0x37, 0x68, 0x61, 0xb4, 0xe0, 0xfa, 0x02, + 0x0d, 0x5d, 0xff, 0x71, 0x5d, 0x33, 0x86, 0xc0, 0xf1, 0x7c, 0x2a, 0xfa, 0xac, 0xdb, 0xe3, 0x6a, + 0x01, 0xe2, 0xe8, 0x27, 0xc4, 0xfc, 0x9d, 0x4f, 0xe3, 0x6d, 0x80, 0x35, 0x17, 0x18, 0xfa, 0xa8, + 0x21, 0x6b, 0xe6, 0xe2, 0xa7, 0x14, 0x62, 0x56, 0xf6, 0xd8, 0xad, 0xc2, 0x86, 0xc2, 0xf2, 0x15, + 0xcf, 0x59, 0x03, 0x17, 0x4f, 0x38, 0x76, 0x44, 0x15, 0x1a, 0xa0, 0xe7, 0x74, 0x1c, 0x10, 0x75, + 0xd1, 0x5a, 0xa5, 0xe6, 0xe7, 0x87, 0x36, 0x9a, 0x4b, 0xbc, 0x57, 0xc1, 0xbc, 0xaa, 0x86, 0x9b, + 0x89, 0x17, 0x57, 0x24, 0xea, 0x8a, 0x55, 0x1c, 0xac, 0xab, 0x80, 0x83, 0xe3, 0x86, 0x54, 0x20, + 0x85, 0x54, 0x91, 0x1c, 0xc1, 0xe3, 0x2a, 0x22, 0x7a, 0x53, 0x3e, 0x85, 0xec, 0x89, 0x9d, 0x59, + 0xba, 0x7a, 0x5c, 0xdc, 0x1c, 0x5b, 0x92, 0xba, 0x55, 0xb3, 0xc1, 0x69, 0xce, 0x70, 0x5c, 0xa8, + 0x84, 0xb1, 0xb1, 0x12, 0xa4, 0x4e, 0xd9, 0x0d, 0xf8, 0x39, 0x7f, 0x9f, 0x64, 0x68, 0xa1, 0xa7, + 0xcd, 0x88, 0x83, 0xc6, 0xa4, 0x92, 0x4a, 0xc4, 0x10, 0x9b, 0xb6, 0x01, 0x74, 0xe9, 0xd8, 0x86, + 0x58, 0xd5, 0xe9, 0x8d, 0xc7, 0xe8, 0x54, 0xb5, 0x7f, 0x28, 0x08, 0x6e, 0x9f, 0x13, 0x1f, 0xdf, + 0xc8, 0xdc, 0x64, 0x96, 0x12, 0x3d, 0x05, 0xa4, 0x01, 0x4b, 0x89, 0xcd, 0xe2, 0x3d, 0x1f, 0xef, + 0xd3, 0xb5, 0xa6, 0x08, 0x49, 0x1e, 0x60, 0xfe, 0x0d, 0x6f, 0xe8, 0x6c, 0x9e, 0x90, 0xf9, 0xea, + 0x46, 0x7d, 0xb3, 0xff, 0xd1, 0xeb, 0x54, 0x23, 0xcd, 0xa9, 0x70, 0x59, 0x85, 0x2d, 0xdb, 0x5a, + 0xfe, 0x81, 0x55, 0x64, 0x1a, 0x37, 0xcf, 0x70, 0x34, 0xa6, 0x34, 0x39, 0x18, 0x17, 0x35, 0x29, + 0x09, 0xd8, 0x55, 0xa5, 0x0e, 0x6a, 0xa7, 0x45, 0x75, 0x70, 0xd2, 0x92, 0x94, 0xa1, 0x96, 0x6f, + 0xc2, 0xd9, 0x3e, 0x40, 0x03, 0x43, 0x6b, 0x17, 0x73, 0x5e, 0x2c, 0x10, 0x98, 0xa4, 0xea, 0x37, + 0xfc, 0xcb, 0xcb, 0x0b, 0x76, 0x9f, 0x87, 0x86, 0x55, 0x0a, 0xd5, 0x2d, 0xa6, 0xe2, 0xe1, 0x4c, + 0x71, 0xad, 0xe5, 0xe3, 0x38, 0xa6, 0xc4, 0x69, 0x26, 0x94, 0xad, 0x21, 0x72, 0x96, 0x55, 0x54, + 0x92, 0xd7, 0x56, 0x12, 0xc2, 0xb9, 0xc9, 0x28, 0xe7, 0x8c, 0x1e, 0x50, 0xd7, 0xc1, 0xf5, 0xe4, + 0x56, 0xd9, 0xae, 0x76, 0xb6, 0x18, 0x5b, 0xe9, 0x1c, 0x8f, 0x55, 0x3c, 0x20, 0x19, 0x8e, 0xd3, + 0xe8, 0x7b, 0x89, 0xb7, 0xbd, 0xa3, 0x99, 0x35, 0x6c, 0x2f, 0xc7, 0xc0, 0x6c, 0x3e, 0x59, 0x0e, + 0x80, 0xea, 0xf5, 0x9e, 0x96, 0xd6, 0x71, 0x26, 0x7d, 0x7d, 0x75, 0x84, 0xd2, 0x8d, 0x19, 0xc4, + 0x0a, 0x70, 0xbe, 0xab, 0xec, 0xce, 0x93, 0x6f, 0x93, 0x5c, 0x7a, 0x65, 0x00, 0xbb, 0x05, 0xde, + 0x9a, 0x67, 0xd4, 0x6e, 0x9a, 0xd1, 0x3a, 0xc5, 0xe0, 0xfd, 0x2b, 0x89, 0xcf, 0x17, 0x93, 0x66, + 0x4a, 0x07, 0x97, 0xb4, 0xcf, 0xb4, 0x58, 0xa2, 0x29, 0xa1, 0xb9, 0x9a, 0x92, 0xac, 0xf2, 0x04, + 0xe5, 0xcf, 0xee, 0x4d, 0x4c, 0xeb, 0x25, 0x4f, 0x66, 0xab, 0x1d, 0x8c, 0xca, 0xb0, 0x5c, 0x93, + 0xfe, 0x1b, 0x76, 0x4f, 0x08, 0x2b, 0x1e, 0x2b, 0xfa, 0x9b, 0xc5, 0xda, 0x30, 0xda, 0x3f, 0x6a, + 0xd0, 0x66, 0x31, 0x2c, 0x48, 0xc6, 0xf4, 0xef, 0xd7, 0x8a, 0xb1, 0x99, 0xd4, 0x05, 0xa1, 0x0b, + 0x26, 0x54, 0x38, 0x43, 0xce, 0x95, 0xd3, 0xe5, 0x24, 0xf5, 0xa1, 0x9a, 0x2f, 0xa0, 0x23, 0x5c, + 0x79, 0x59, 0x5e, 0x37, 0x6c, 0x89, 0xbb, 0x5c, 0xee, 0xe5, 0xef, 0x48, 0xe0, 0x05, 0xaf, 0x30, + 0xef, 0x9f, 0x26, 0xd5, 0x8c, 0x62, 0xa7, 0xaa, 0x8c, 0xd3, 0xaf, 0x02, 0x4d, 0x3a, 0x81, 0x91, + 0x47, 0xae, 0x2f, 0x92, 0x4b, 0x50, 0xc6, 0xba, 0xa3, 0x2b, 0x3a, 0x13, 0x00, 0xeb, 0xca, 0x04, + 0x0e, 0xbc, 0xab, 0x9f, 0x82, 0x80, 0x7a, 0xd0, 0x5f, 0xbb, 0x0d, 0xf2, 0x10, 0x52, 0xae, 0xf7, + 0x59, 0xf3, 0x1d, 0xa0, 0x7c, 0x7a, 0x39, 0x78, 0xc8, 0xf8, 0x07, 0x5e, 0x58, 0x06, 0xd1, 0xa8, + 0xef, 0x94, 0x41, 0xc3, 0xa2, 0x82, 0xeb, 0x8b, 0x69, 0x47, 0x9d, 0x0a, 0xae, 0x89, 0x01, 0x67, + 0xf7, 0x4f, 0xaf, 0x1d, 0xd3, 0xb1, 0x9d, 0xc5, 0xff, 0x7a, 0x2f, 0x03, 0x05, 0x02, 0xb8, 0x9e, + 0x52, 0xf3, 0xd5, 0xb7, 0x64, 0xb7, 0x9f, 0x2c, 0x4a, 0x70, 0xa1, 0x8e, 0x49, 0x6a, 0xb2, 0x0c, + 0xa9, 0x65, 0xa9, 0x26, 0x71, 0x06, 0xe4, 0xba, 0x32, 0x32, 0xaf, 0x52, 0xac, 0x72, 0xb3, 0x4e, + 0x94, 0x6f, 0x37, 0xfa, 0x63, 0xa5, 0x52, 0xa4, 0x52, 0x50, 0x24, 0xb1, 0x6a, 0x67, 0x22, 0xfb, + 0xfa, 0x6c, 0xb2, 0x03, 0xf0, 0x17, 0xc3, 0x14, 0xdb, 0xbd, 0x27, 0x69, 0x35, 0x47, 0x0a, 0x76, + 0xe7, 0x62, 0x61, 0x5e, 0x37, 0xfe, 0x9d, 0xc9, 0x34, 0xe4, 0x26, 0x97, 0xd8, 0x27, 0x84, 0x59, + 0x66, 0xec, 0x77, 0xc8, 0xa4, 0x80, 0xde, 0x9a, 0xe9, 0x66, 0x30, 0xbe, 0x53, 0xcc, 0xfe, 0x31, + 0x4e, 0x62, 0xa4, 0x38, 0xcc, 0x1e, 0xcf, 0x30, 0x3b, 0x9d, 0xf3, 0x53, 0x3e, 0xe5, 0xfa, 0xf7, + 0xc4, 0x04, 0xc4, 0xfc, 0xaf, 0x54, 0xcc, 0xd4, 0x93, 0x90, 0x37, 0xad, 0x94, 0x82, 0xce, 0xd5, + 0x12, 0xa4, 0x85, 0x0d, 0x92, 0x6f, 0x1d, 0xf5, 0x3a, 0xaa, 0x61, 0xd2, 0x26, 0x4c, 0x4c, 0xde, + 0x38, 0xdc, 0x5b, 0xda, 0xdf, 0x70, 0x8a, 0x02, 0xc5, 0xce, 0x03, 0x6a, 0x0c, 0x87, 0xae, 0xab, + 0x06, 0x97, 0x04, 0x35, 0x58, 0x65, 0x41, 0x62, 0x32, 0x75, 0xf3, 0xea, 0xfa, 0x30, 0x65, 0x1d, + 0x0f, 0xcb, 0x8b, 0xbc, 0x1d, 0xf1, 0xa2, 0x7a, 0xb7, 0x87, 0xa3, 0x73, 0xd6, 0xc9, 0x7a, 0x7b, + 0x81, 0x9c, 0x82, 0xc6, 0x73, 0xb5, 0xa6, 0xf3, 0x95, 0xb8, 0x71, 0x49, 0xa6, 0x04, 0x87, 0xf3, + 0xed, 0x15, 0xe9, 0xe0, 0xf9, 0x1e, 0x4d, 0x3e, 0x85, 0x18, 0xef, 0x0a, 0x89, 0x27, 0xe9, 0xe8, + 0x66, 0xe0, 0xa6, 0x52, 0x79, 0x7a, 0xee, 0x66, 0x79, 0xd8, 0x1f, 0x74, 0x7b, 0xed, 0xe0, 0x9b, + 0x4f, 0xe8, 0xe7, 0x21, 0x6e, 0x7e, 0x7f, 0x82, 0x0e, 0xae, 0xa2, 0xe5, 0x9c, 0x7e, 0x69, 0x07, + 0xf7, 0x28, 0x31, 0xc1, 0xaf, 0x20, 0x3e, 0x01, 0x4b, 0x63, 0xc8, 0x9b, 0xcf, 0xcf, 0x90, 0x91, + 0xb3, 0x36, 0x4f, 0xac, 0x79, 0xf6, 0x2b, 0x0a, 0x3b, 0xa4, 0x63, 0x4c, 0x38, 0x18, 0xf5, 0x9e, + 0xad, 0xb3, 0x4b, 0x61, 0x42, 0x45, 0x60, 0x4c, 0x04, 0x41, 0x61, 0xe6, 0x0c, 0x94, 0x5e, 0x1a, + 0x42, 0x36, 0x22, 0x29, 0x08, 0x42, 0x36, 0x84, 0xaa, 0x48, 0x33, 0xbe, 0x6a, 0xe1, 0x33, 0x54, + 0xa4, 0x4a, 0x06, 0x0e, 0x4e, 0xa6, 0xc2, 0x58, 0xde, 0xb8, 0x36, 0xcb, 0xdc, 0xb5, 0xf3, 0x95, + 0xa1, 0x24, 0x09, 0xf4, 0xdf, 0xf3, 0xad, 0xbb, 0x3c, 0x66, 0x9e, 0xaf, 0x29, 0xfc, 0x86, 0xa1, + 0xf9, 0xa0, 0xd8, 0x78, 0x25, 0xe0, 0xea, 0xe0, 0xa3, 0xca, 0xb5, 0x82, 0x36, 0x7d, 0xf1, 0x98, + 0x10, 0x70, 0xce, 0x42, 0x7f, 0x43, 0xc9, 0xa4, 0x85, 0x45, 0xb8, 0x57, 0x2f, 0x89, 0xa7, 0x13, + 0x6c, 0xdb, 0xf4, 0x0c, 0x58, 0x28, 0x6a, 0x90, 0x34, 0xcb, 0xbc, 0xa1, 0xb9, 0x8b, 0x8c, 0xbf, + 0x55, 0x4e, 0x5f, 0x72, 0x54, 0x86, 0xf6, 0x1c, 0xdc, 0x75, 0x64, 0xf1, 0x82, 0xaf, 0xdf, 0xfc, + 0x0a, 0xbf, 0xc4, 0xe6, 0x87, 0xe0, 0xd1, 0xee, 0x57, 0xab, 0x69, 0x41, 0x2b, 0x77, 0x67, 0x66, + 0x0d, 0xe9, 0xc2, 0xe7, 0x94, 0x7b, 0x97, 0xd0, 0xd1, 0xb5, 0x2a, 0xd9, 0xc8, 0x82, 0x84, 0x76, + 0xbd, 0x0e, 0x6a, 0x26, 0xb0, 0x6f, 0x43, 0x12, 0x4b, 0x8b, 0x83, 0x58, 0xae, 0xbc, 0x17, 0x1f, + 0x42, 0x01, 0xe2, 0x34, 0x4a, 0x69, 0x7d, 0xf6, 0x85, 0x42, 0xca, 0x4e, 0xaa, 0xe0, 0xc4, 0x1e, + 0x5e, 0xef, 0x03, 0xcc, 0xed, 0x5f, 0xde, 0x93, 0xff, 0xbe, 0x12, 0x9e, 0x55, 0x14, 0x88, 0xaf, + 0xb0, 0x09, 0x75, 0x08, 0x39, 0xcd, 0x0d, 0x35, 0xec, 0x34, 0xd8, 0x64, 0xfd, 0x2f, 0x88, 0xd9, + 0x8c, 0x0a, 0x90, 0x55, 0x50, 0xf1, 0xa3, 0x36, 0xd8, 0x99, 0xab, 0x4f, 0xbb, 0x4c, 0x91, 0x85, + 0x09, 0xb5, 0x31, 0x5a, 0xef, 0x78, 0x32, 0x55, 0xb1, 0xcc, 0x0e, 0x0c, 0xa6, 0xeb, 0xb0, 0x3b, + 0xd8, 0x3e, 0x4e, 0xf4, 0xa8, 0x19, 0xd5, 0x77, 0x6a, 0x17, 0xd8, 0x18, 0x83, 0x74, 0x61, 0x28, + 0x08, 0xe7, 0x51, 0x1f, 0x0e, 0x71, 0x03, 0x0a, 0x0e, 0x8a, 0xf4, 0xec, 0x0d, 0xb2, 0x7b, 0x8b, + 0x04, 0xae, 0xec, 0xbe, 0x0f, 0x85, 0x70, 0x9a, 0x2e, 0x4b, 0xac, 0x36, 0x9e, 0x00, 0x92, 0x30, + 0x5c, 0x83, 0x59, 0xa0, 0x55, 0xe9, 0x31, 0x53, 0xf1, 0x84, 0x23, 0x9f, 0x4e, 0x99, 0xb0, 0xa2, + 0x8c, 0x8f, 0x7e, 0x94, 0x3a, 0x91, 0x82, 0x24, 0x9b, 0x73, 0x7d, 0x1e, 0xfe, 0xb8, 0xe1, 0xdb, + 0x72, 0x87, 0x36, 0x39, 0xc6, 0x44, 0x32, 0xd7, 0x8c, 0x9a, 0xdc, 0xb9, 0x59, 0xdf, 0xa2, 0x01, + 0xfc, 0xa9, 0xab, 0xb2, 0xb6, 0x5a, 0x55, 0xdb, 0xb7, 0xc9, 0xdd, 0x30, 0xc7, 0xbd, 0xe9, 0x51, + 0x0c, 0x0d, 0x06, 0xed, 0xec, 0xd6, 0x03, 0x6e, 0x9a, 0xbc, 0x25, 0xa0, 0xff, 0xb1, 0x93, 0x61, + 0xd1, 0xf9, 0xc6, 0x88, 0x79, 0xbe, 0x22, 0xec, 0x52, 0x5f, 0xa6, 0x6a, 0xbb, 0x29, 0xd7, 0x31, + 0x92, 0x82, 0x31, 0x62, 0x6b, 0xe6, 0xe0, 0x39, 0x46, 0x7b, 0x08, 0xf3, 0xed, 0xe2, 0xe3, 0x65, + 0x45, 0xab, 0xa4, 0x9e, 0x5e, 0xfd, 0x78, 0x69, 0x95, 0x2b, 0xcc, 0x59, 0xe8, 0xff, 0x38, 0x95, + 0x8a, 0x2a, 0xf3, 0x12, 0xc3, 0x73, 0xe9, 0x60, 0x1d, 0x19, 0xab, 0xb6, 0xe8, 0x29, 0xe0, 0x31, + 0xae, 0x63, 0x3f, 0xb7, 0x02, 0x32, 0x73, 0x13, 0xb8, 0xee, 0x14, 0x2a, 0x44, 0xf2, 0xb1, 0xac, + 0xde, 0xeb, 0xb8, 0xba, 0x4c, 0xf8, 0x81, 0x49, 0xd8, 0x49, 0xf0, 0x34, 0xb5, 0x7a, 0x94, 0x31, + 0x37, 0x21, 0xce, 0xca, 0x0f, 0xc6, 0x3f, 0xa5, 0x3a, 0xfb, 0xe0, 0x1a, 0xb4, 0x52, 0xb8, 0xd9, + 0x40, 0xfc, 0x98, 0x61, 0xab, 0x36, 0x3c, 0x2d, 0xb7, 0x7f, 0x6f, 0x77, 0xe4, 0x70, 0xc1, 0x67, + 0x7f, 0xfa, 0x94, 0x01, 0x43, 0xab, 0xc3, 0xb3, 0xca, 0xd4, 0x07, 0x52, 0xad, 0x05, 0x16, 0x2b, + 0xf4, 0xd4, 0x16, 0x5a, 0x79, 0xcf, 0xee, 0x3d, 0xcc, 0xfa, 0xc3, 0x47, 0xa9, 0x5f, 0x75, 0x47, + 0x9d, 0x1a, 0x80, 0xef, 0x9a, 0x91, 0x85, 0xd6, 0x6f, 0xd5, 0xf1, 0x52, 0x55, 0xf1, 0xe2, 0xb6, + 0xaa, 0x3a, 0x46, 0x3c, 0xda, 0x61, 0xcb, 0x0a, 0xe9, 0xfe, 0x65, 0x17, 0x8a, 0xf9, 0x79, 0x7f, + 0x70, 0x45, 0xda, 0xb1, 0x00, 0x5e, 0x29, 0x58, 0xd8, 0xcc, 0xce, 0x29, 0xe3, 0x84, 0x76, 0xe0, + 0xcd, 0x21, 0x4b, 0x8e, 0xa4, 0x51, 0x9f, 0xbe, 0xfa, 0xcf, 0x4f, 0xe0, 0xdf, 0xa6, 0x2f, 0x10, + 0x7e, 0x36, 0x76, 0x36, 0xc4, 0x7b, 0xb5, 0xa8, 0xc3, 0xda, 0x25, 0x4d, 0xae, 0xed, 0x89, 0x0e, + 0xff, 0x66, 0xbf, 0xc3, 0xdf, 0x25, 0xd3, 0x02, 0xa7, 0x45, 0xf9, 0x4f, 0xc5, 0xdc, 0xb4, 0x83, + 0x1e, 0x21, 0x64, 0xd9, 0x9a, 0x16, 0x64, 0x05, 0xe3, 0x23, 0xc1, 0xcf, 0x22, 0x87, 0xcf, 0x1e, + 0xbe, 0x1a, 0x92, 0xed, 0xb4, 0xa1, 0xd8, 0x9d, 0x6a, 0x1d, 0xfc, 0x8d, 0x48, 0x40, 0x42, 0x1a, + 0xb1, 0xfe, 0x00, 0x5c, 0x6f, 0x55, 0x29, 0x79, 0xba, 0x55, 0x1a, 0x11, 0xa2, 0x20, 0x89, 0xc6, + 0x3b, 0x8b, 0xa3, 0x16, 0xf8, 0x39, 0x84, 0x63, 0xe3, 0xd3, 0x72, 0xc6, 0xa2, 0x01, 0xf3, 0xef, + 0x33, 0xe9, 0xe5, 0xcc, 0xce, 0x2a, 0x8d, 0x3f, 0xed, 0x57, 0x5f, 0xa6, 0xe8, 0x1a, 0xb6, 0x49, + 0x78, 0x1d, 0xac, 0x74, 0x5b, 0xa2, 0xe4, 0xb3, 0xd1, 0x28, 0xa9, 0xd3, 0x82, 0xfc, 0x49, 0xf9, + 0x26, 0xa9, 0x7e, 0x07, 0xbe, 0xb9, 0x4c, 0x6e, 0x73, 0x3e, 0xdc, 0x6a, 0xcf, 0xcc, 0xd5, 0x1b, + 0xd6, 0x28, 0x26, 0x84, 0xfc, 0x0d, 0xe6, 0xeb, 0x7a, 0x6b, 0xd8, 0xde, 0x53, 0x90, 0x25, 0x45, + 0xb4, 0xa0, 0x21, 0x31, 0xbd, 0x3c, 0x7e, 0x03, 0x02, 0x66, 0xb1, 0x14, 0x73, 0xc4, 0x59, 0x18, + 0xc2, 0xa2, 0x0b, 0x4b, 0x3c, 0x90, 0x87, 0x3d, 0x8d, 0x8e, 0xf7, 0xa2, 0x22, 0x1d, 0xd7, 0xb0, + 0x9b, 0x6c, 0x9e, 0x24, 0x47, 0xcc, 0x5b, 0xdf, 0xed, 0x95, 0xc8, 0xa8, 0x02, 0xd8, 0xe5, 0xab, + 0xe4, 0x5c, 0x1d, 0x50, 0xaa, 0xec, 0xe9, 0x71, 0x60, 0x65, 0x56, 0x83, 0xa0, 0xa5, 0xdb, 0x52, + 0xb1, 0xb0, 0x40, 0x10, 0x49, 0x69, 0xc7, 0x8a, 0x35, 0x11, 0x3b, 0xce, 0x92, 0x50, 0xad, 0x0c, + 0x69, 0x70, 0xdf, 0xed, 0x97, 0x36, 0x28, 0x4c, 0xab, 0x86, 0x46, 0xbb, 0x52, 0x0a, 0x95, 0x10, + 0xc6, 0x27, 0xe1, 0x63, 0xc1, 0x1f, 0xab, 0x3e, 0xb2, 0x0a, 0x55, 0x76, 0xa1, 0xc7, 0x78, 0x34, + 0x41, 0x39, 0x55, 0x66, 0x2c, 0xbd, 0x85, 0x92, 0x2d, 0x5d, 0xef, 0x0e, 0xba, 0x17, 0x88, 0x5e, + 0xa1, 0x9c, 0xb8, 0x9e, 0x55, 0x57, 0x4b, 0x55, 0xe7, 0xe5, 0x4f, 0x52, 0x1e, 0x5b, 0xaf, 0x30, + 0xc3, 0xdc, 0x6d, 0xa4, 0xeb, 0xc0, 0xf1, 0x3a, 0x3f, 0x28, 0xde, 0x9d, 0x25, 0x99, 0x5b, 0x80, + 0x90, 0x15, 0x23, 0xee, 0x80, 0x00, 0x3a, 0x52, 0x1e, 0x27, 0x53, 0x36, 0xf7, 0xf2, 0x36, 0x55, + 0xfd, 0xcd, 0xb6, 0xfc, 0xdc, 0xee, 0x38, 0x4e, 0x7e, 0x5a, 0x29, 0xab, 0x0a, 0xe2, 0xcd, 0x1c, + 0x70, 0xac, 0xea, 0x4f, 0x91, 0x4c, 0x8d, 0x0e, 0xa2, 0xef, 0xd7, 0x08, 0x29, 0xc1, 0xe6, 0x59, + 0x89, 0x5b, 0x61, 0x70, 0x07, 0x0a, 0x44, 0x99, 0xc1, 0x94, 0xc4, 0x8e, 0x22, 0x4f, 0x2f, 0xa6, + 0x17, 0x51, 0xe2, 0xc3, 0xac, 0xf5, 0x4f, 0x29, 0x6b, 0xd0, 0x04, 0x4a, 0xcb, 0x6f, 0x9b, 0xeb, + 0x34, 0x3c, 0x69, 0x45, 0x04, 0x03, 0x42, 0xee, 0x00, 0xc5, 0x52, 0xed, 0xcb, 0x9f, 0x63, 0xcc, + 0x5f, 0xd2, 0xf9, 0x1d, 0xc3, 0xec, 0x11, 0xf0, 0xc2, 0x54, 0x1f, 0xbc, 0x91, 0x80, 0x5c, 0x6f, + 0xf6, 0xe8, 0xcd, 0xc7, 0xbf, 0x29, 0x85, 0x46, 0xf4, 0xaa, 0xac, 0x4c, 0x82, 0x29, 0xc2, 0x51, + 0x09, 0x52, 0x46, 0x35, 0xc9, 0x20, 0x17, 0xf4, 0x56, 0xba, 0x63, 0xf8, 0x98, 0x94, 0x22, 0x30, + 0xfb, 0x15, 0xe4, 0xf3, 0xa4, 0x4b, 0x09, 0x0d, 0x19, 0x4a, 0x64, 0xf4, 0xeb, 0x7b, 0x57, 0x59, + 0x7e, 0x8e, 0x09, 0xa4, 0x1b, 0x32, 0x26, 0x2f, 0x5e, 0x57, 0x36, 0x3f, 0x4a, 0xfa, 0x4d, 0x10, + 0x9b, 0x5a, 0xec, 0x02, 0x53, 0x4e, 0x38, 0xbe, 0x06, 0xa5, 0x7c, 0x00, 0x66, 0x6e, 0x2b, 0xe4, + 0x0b, 0x5d, 0x74, 0x60, 0xe6, 0x11, 0xf2, 0x33, 0x04, 0x8e, 0x21, 0x2b, 0xc6, 0x83, 0xc7, 0x29, + 0x46, 0xc2, 0xf3, 0xbe, 0x26, 0x4f, 0xe3, 0x79, 0x00, 0x82, 0xac, 0x6e, 0xe2, 0x18, 0x36, 0x08, + 0xf0, 0x51, 0xbd, 0x41, 0x8c, 0xd3, 0xd8, 0x4d, 0x15, 0xb3, 0xca, 0x57, 0x49, 0x6c, 0x65, 0x9b, + 0x85, 0x74, 0xf4, 0xcf, 0xed, 0xb5, 0x98, 0x11, 0x00, 0x51, 0x0e, 0xf0, 0xa1, 0x2e, 0xcf, 0x37, + 0x81, 0x09, 0xdb, 0x37, 0xa8, 0xef, 0xc1, 0xdf, 0xfc, 0xd8, 0x24, 0x41, 0x99, 0xa0, 0x53, 0x12, + 0x6c, 0x08, 0x34, 0xad, 0x5f, 0xf4, 0x35, 0x7b, 0x27, 0xf7, 0xe2, 0x34, 0x4b, 0xdd, 0xf6, 0xb3, + 0xb6, 0xb8, 0xb1, 0x5a, 0xda, 0x59, 0x3d, 0x35, 0x2f, 0xc2, 0x88, 0x71, 0xde, 0x68, 0x98, 0x4f, + 0x0f, 0x2f, 0x8c, 0xa7, 0x4d, 0x20, 0xf8, 0x16, 0x0a, 0xff, 0x43, 0x91, 0xc7, 0xe3, 0x12, 0x51, + 0xa6, 0xac, 0x9b, 0x46, 0x41, 0x6b, 0xf8, 0x45, 0xea, 0x9a, 0xc6, 0x14, 0xa6, 0xed, 0x44, 0x90, + 0xe5, 0x6f, 0x52, 0x9c, 0xd7, 0xc8, 0x1c, 0x7d, 0x2b, 0x06, 0xe7, 0xf0, 0x68, 0x1c, 0xc7, 0x89, + 0x2f, 0x38, 0xfc, 0x51, 0x4c, 0x9f, 0xec, 0x2c, 0x3e, 0xdc, 0x40, 0x3d, 0xef, 0x39, 0x42, 0x76, + 0xea, 0x35, 0x2d, 0x15, 0x87, 0x18, 0x93, 0xdc, 0x86, 0x3a, 0x52, 0xed, 0x20, 0xbe, 0x85, 0x19, + 0xbd, 0x4e, 0x3b, 0x32, 0x5c, 0x99, 0x71, 0x8e, 0xe7, 0xcc, 0x83, 0x4d, 0xeb, 0xb8, 0xaf, 0xb4, + 0x75, 0x18, 0x8e, 0x9b, 0xa4, 0x23, 0xff, 0x84, 0xa5, 0x79, 0x5e, 0x96, 0x94, 0x78, 0x47, 0x1d, + 0x0b, 0xd8, 0x7f, 0x2e, 0x29, 0x6f, 0x41, 0xf1, 0xe2, 0xbf, 0x10, 0x8e, 0xa5, 0x63, 0xad, 0x79, + 0xc2, 0xa7, 0x48, 0x4c, 0xfe, 0xa0, 0xc5, 0x3e, 0xd0, 0xee, 0x29, 0x0c, 0x1b, 0x8b, 0x2c, 0x1b, + 0x86, 0x9d, 0x89, 0x6c, 0xf8, 0xc5, 0xfb, 0xa4, 0x2d, 0x8a, 0x12, 0x3f, 0xbd, 0x3a, 0xaa, 0x66, + 0x3f, 0xb4, 0xec, 0x42, 0xf9, 0x02, 0x79, 0xd8, 0xad, 0x4b, 0xb3, 0xfd, 0xf7, 0xf9, 0x64, 0x7a, + 0x8d, 0x0e, 0x1c, 0x73, 0xbb, 0x84, 0x4a, 0xc9, 0x5c, 0x02, 0xbc, 0x59, 0xb8, 0x8d, 0x28, 0x59, + 0x97, 0xf3, 0x01, 0x7e, 0xdc, 0x5d, 0x40, 0x6c, 0x82, 0xf6, 0xd9, 0xca, 0xbc, 0x2a, 0x4a, 0x2c, + 0xbc, 0xac, 0xf3, 0x3b, 0xfa, 0xd6, 0x26, 0x83, 0xd9, 0xac, 0x2a, 0xc4, 0x6b, 0xfa, 0x0d, 0xcc, + 0x3a, 0x0a, 0x6e, 0xb0, 0xc1, 0xa6, 0x43, 0x85, 0xe7, 0x86, 0x41, 0x06, 0x51, 0xd0, 0x96, 0xeb, + 0xc5, 0x60, 0x12, 0xaf, 0x52, 0xbb, 0x5c, 0x26, 0x73, 0xa9, 0xcf, 0x9b, 0x71, 0x78, 0x08, 0x1a, + 0xb2, 0x1b, 0x93, 0x32, 0x6a, 0xae, 0x81, 0x3a, 0xa7, 0x25, 0x7e, 0xa0, 0xea, 0x52, 0x1c, 0xc8, + 0x7b, 0x93, 0x39, 0xe9, 0xe9, 0xce, 0x01, 0x7c, 0x89, 0x4a, 0xad, 0x28, 0xba, 0x37, 0xf5, 0x79, + 0xe8, 0x9f, 0xd7, 0x69, 0xfe, 0x83, 0x90, 0x2b, 0xf6, 0x14, 0xf5, 0xbc, 0x99, 0x83, 0x7e, 0xd6, + 0xd7, 0x86, 0x57, 0x55, 0xeb, 0xa8, 0x3f, 0x1a, 0xe2, 0x7d, 0xee, 0x3d, 0xa8, 0x36, 0x01, 0xb0, + 0xe1, 0xf4, 0xa3, 0x08, 0x31, 0x5d, 0x2a, 0x6b, 0x45, 0x52, 0xd4, 0xa0, 0x9d, 0x29, 0x97, 0x0b, + 0x9c, 0x35, 0x3c, 0xb7, 0xba, 0x66, 0xba, 0x06, 0x6c, 0x9e, 0xcd, 0xbe, 0x0e, 0x80, 0x39, 0xc8, + 0xff, 0xd4, 0x06, 0x29, 0xb2, 0x4c, 0xf7, 0xfb, 0x61, 0x09, 0xf8, 0xb2, 0xa8, 0xb6, 0x94, 0x8b, + 0xc5, 0x2a, 0xd6, 0x77, 0xfc, 0x41, 0x32, 0xec, 0x2a, 0xc6, 0xbb, 0x5d, 0xba, 0xc5, 0x94, 0xc2, + 0x7d, 0x66, 0x72, 0x05, 0x69, 0x7d, 0xcf, 0x48, 0x0c, 0xff, 0xe3, 0x7b, 0xf1, 0xc5, 0x9b, 0x8a, + 0xd7, 0x3a, 0xc2, 0x44, 0x6a, 0x25, 0x05, 0xd5, 0xd8, 0xe2, 0x9e, 0x7d, 0xd2, 0x49, 0x88, 0x0c, + 0x4d, 0x69, 0x72, 0x34, 0x82, 0x77, 0x30, 0x4f, 0x71, 0xca, 0x48, 0x26, 0x36, 0x7e, 0x4e, 0x98, + 0xf1, 0x51, 0x79, 0x84, 0xb4, 0x81, 0xae, 0x4f, 0x9f, 0xeb, 0xae, 0xae, 0xd4, 0x05, 0x91, 0xe9, + 0xee, 0x98, 0xbb, 0xf2, 0xdb, 0x03, 0xcf, 0xa0, 0xc6, 0x47, 0x37, 0x1e, 0x13, 0x3b, 0x9d, 0xe5, + 0xd3, 0x55, 0x70, 0x01, 0x7d, 0xe8, 0x23, 0xef, 0x73, 0x4f, 0x4e, 0x06, 0x17, 0xed, 0x36, 0xee, + 0x98, 0x69, 0xa7, 0x63, 0x45, 0x92, 0x35, 0x52, 0x14, 0x71, 0x2a, 0xbd, 0xe6, 0xac, 0xcf, 0x0c, + 0xe6, 0x12, 0x69, 0xee, 0xf7, 0x17, 0x6d, 0xd9, 0x35, 0x11, 0x05, 0xff, 0x95, 0xa5, 0x52, 0x54, + 0xde, 0x14, 0x18, 0x5e, 0xfc, 0x43, 0x4a, 0x74, 0xf7, 0x76, 0xa2, 0xc3, 0xa5, 0xd3, 0x3d, 0x6c, + 0x80, 0x21, 0xd2, 0xbf, 0x01, 0x1b, 0x6e, 0x85, 0xab, 0xfb, 0xaa, 0xd3, 0x07, 0xf2, 0x02, 0x86, + 0x0e, 0xb2, 0x7b, 0xb9, 0x76, 0xec, 0x7b, 0x86, 0xdc, 0x8d, 0xd0, 0xfd, 0x39, 0x0e, 0x92, 0x9d, + 0xca, 0x01, 0x47, 0x7c, 0x9d, 0xbb, 0x17, 0x82, 0xe4, 0xfe, 0xc8, 0xe3, 0xbb, 0x45, 0xa2, 0x5d, + 0xab, 0xc1, 0xd2, 0x10, 0xa7, 0x52, 0x21, 0x8b, 0xd1, 0x4a, 0x4b, 0x12, 0x27, 0x10, 0xd2, 0xff, + 0xab, 0xe0, 0xee, 0xe2, 0x59, 0xad, 0xc1, 0xd5, 0xf7, 0x48, 0x2a, 0xb9, 0x0c, 0xe6, 0x8c, 0x67, + 0x45, 0xe0, 0x0a, 0x0b, 0x5d, 0x23, 0x8e, 0x4f, 0xb8, 0xd3, 0x6b, 0x77, 0x00, 0x60, 0xa9, 0xef, + 0x1d, 0xdb, 0x56, 0xf5, 0x13, 0xc8, 0xd5, 0xd6, 0xcc, 0x6c, 0x9e, 0xcf, 0x40, 0x0b, 0x9f, 0xb4, + 0xb6, 0x9f, 0x56, 0xae, 0x5a, 0x46, 0x66, 0x06, 0x25, 0xe4, 0x8f, 0x33, 0xa6, 0x8c, 0xf5, 0xf2, + 0xb0, 0xe9, 0x1e, 0x46, 0xb4, 0x92, 0xea, 0xe0, 0x89, 0x9f, 0x6a, 0xe4, 0xcf, 0x48, 0x91, 0x81, + 0xaa, 0xa9, 0xcb, 0xbd, 0x8c, 0xfe, 0x87, 0x8b, 0xce, 0x54, 0xae, 0xb9, 0x76, 0x46, 0xe4, 0x3f, + 0x64, 0x76, 0x56, 0x2a, 0xdf, 0xda, 0xc3, 0xac, 0xdb, 0x00, 0xef, 0x83, 0xcb, 0xdd, 0x10, 0xe4, + 0xdf, 0x66, 0x18, 0x79, 0x66, 0xbe, 0x75, 0x17, 0xdf, 0xd5, 0xea, 0x30, 0x18, 0xe3, 0x26, 0x70, + 0x68, 0x06, 0xae, 0x7a, 0xa2, 0x93, 0x4b, 0x76, 0x69, 0x72, 0xd3, 0x2c, 0xb2, 0x87, 0x6e, 0x9c, + 0xd2, 0x12, 0x75, 0xfc, 0xb6, 0x5b, 0xae, 0x72, 0x6b, 0xfd, 0x26, 0x6f, 0xa4, 0x7a, 0x03, 0x5e, + 0xdd, 0xb0, 0xe6, 0x97, 0xa5, 0x4c, 0x9a, 0xd5, 0x38, 0x9e, 0x66, 0xaf, 0x43, 0x5b, 0x5a, 0x16, + 0x63, 0x0c, 0x16, 0xf7, 0x64, 0xe7, 0xcb, 0x7f, 0x6d, 0x6e, 0xe9, 0xc5, 0xb9, 0x66, 0x8a, 0x13, + 0xc6, 0x34, 0x2b, 0x48, 0x53, 0x3e, 0x49, 0xf5, 0xdf, 0xc1, 0xf8, 0x3c, 0x57, 0xf8, 0x9f, 0xf8, + 0xd3, 0x40, 0xa2, 0xb6, 0xf0, 0x1a, 0x9e, 0xe5, 0xa7, 0xe1, 0xa1, 0x44, 0x14, 0x0e, 0x42, 0x19, + 0xa4, 0x43, 0x6f, 0x32, 0x90, 0xc9, 0x40, 0x88, 0x4c, 0xb9, 0x6f, 0xc9, 0x7c, 0xc1, 0x79, 0xc3, + 0x7e, 0x43, 0x0c, 0xc7, 0x1c, 0xce, 0x29, 0x6f, 0x5e, 0x30, 0x19, 0x50, 0xf2, 0xb7, 0x6e, 0xa5, + 0x86, 0xde, 0x29, 0x5a, 0x8e, 0x5b, 0xe6, 0xcf, 0xbb, 0x74, 0x44, 0xb9, 0x6a, 0xca, 0xaa, 0x2c, + 0xde, 0x66, 0xdc, 0xd9, 0xdf, 0xd3, 0xef, 0x08, 0x4d, 0x66, 0xcd, 0x47, 0x76, 0x54, 0xf1, 0x23, + 0x08, 0xf5, 0xc8, 0x8b, 0xfc, 0x32, 0x4c, 0x96, 0xdb, 0x76, 0xf4, 0xdd, 0x55, 0x0c, 0x6a, 0x4f, + 0xa3, 0x87, 0x7e, 0xe9, 0x19, 0x90, 0x86, 0x18, 0x61, 0x36, 0x12, 0x19, 0x0c, 0x15, 0x3b, 0x43, + 0x9b, 0x9b, 0x08, 0x42, 0x64, 0x17, 0xd1, 0x26, 0x04, 0x56, 0xf2, 0x62, 0x2c, 0x0a, 0x98, 0x58, + 0xf2, 0xa4, 0x93, 0x27, 0x1f, 0x67, 0xd0, 0x6d, 0xe8, 0xa0, 0xf2, 0x6b, 0x0f, 0xbc, 0xcc, 0x53, + 0xf5, 0x1d, 0xef, 0x54, 0x48, 0x68, 0x46, 0x12, 0x5e, 0x0d, 0x72, 0x45, 0x27, 0xa2, 0x2f, 0xa3, + 0xde, 0x4a, 0x9d, 0x44, 0x1c, 0x69, 0xfc, 0x66, 0x37, 0xf9, 0x3a, 0x60, 0x03, 0x86, 0x3b, 0xa6, + 0x41, 0x8a, 0xb4, 0xd5, 0x33, 0x9d, 0xdf, 0x17, 0xa7, 0xfb, 0x72, 0xd1, 0x33, 0xff, 0x47, 0x75, + 0x74, 0xc8, 0x8b, 0xda, 0x8d, 0x68, 0xd6, 0xbd, 0x02, 0x73, 0x78, 0x9e, 0x88, 0x5a, 0x96, 0xd1, + 0x77, 0x84, 0xe7, 0x8e, 0xb1, 0xb1, 0xaf, 0x09, 0x01, 0x92, 0x21, 0x38, 0xa9, 0x8a, 0xae, 0x98, + 0xa1, 0xfd, 0x73, 0xef, 0xab, 0xbc, 0x87, 0x6b, 0x02, 0x62, 0x4b, 0xf1, 0xa9, 0x1d, 0x89, 0x13, + 0xb8, 0x73, 0x22, 0x68, 0xf5, 0x8d, 0xd0, 0x55, 0x7d, 0xbb, 0x8d, 0x59, 0x62, 0xee, 0x0b, 0x7e, + 0xd7, 0xc9, 0xb0, 0xaf, 0x7a, 0x59, 0x34, 0xb7, 0xda, 0x18, 0xb3, 0x24, 0x99, 0x16, 0x32, 0xae, + 0x7c, 0xba, 0x87, 0x72, 0xff, 0x36, 0x10, 0x02, 0x9f, 0x95, 0x54, 0xca, 0x68, 0xfb, 0x10, 0x7e, + 0x64, 0x9c, 0xe3, 0xcb, 0xd5, 0xeb, 0x42, 0xbc, 0x5c, 0xff, 0xf0, 0x5c, 0x64, 0x3c, 0xc5, 0xa0, + 0x8c, 0xe2, 0x7c, 0xd4, 0x63, 0xe7, 0x65, 0x2d, 0x7b, 0x2c, 0x51, 0xd8, 0xec, 0xa9, 0x4a, 0x1b, + 0xc7, 0x02, 0xca, 0xb2, 0xfa, 0xc6, 0x34, 0xec, 0x13, 0x5c, 0x07, 0x10, 0x09, 0x25, 0xdc, 0x13, + 0x96, 0x2f, 0x12, 0xaa, 0xb9, 0x41, 0x2c, 0x63, 0x14, 0x08, 0x3f, 0x07, 0x65, 0x0b, 0x75, 0xb4, + 0x89, 0x4e, 0x09, 0x1b, 0xd4, 0x62, 0xea, 0x12, 0x75, 0xf2, 0x14, 0xee, 0x66, 0x18, 0x67, 0xf4, + 0xb8, 0x0a, 0x08, 0x10, 0x15, 0x97, 0xdd, 0x47, 0x83, 0x4e, 0x24, 0x1a, 0xbf, 0x8a, 0xe1, 0x3d, + 0x33, 0x59, 0x59, 0xb6, 0x2a, 0x89, 0xff, 0x4d, 0x66, 0x2c, 0x4f, 0xbf, 0x4a, 0x9d, 0x07, 0xb7, + 0x04, 0x5d, 0x97, 0xc1, 0xc0, 0x44, 0x8e, 0xa8, 0x03, 0xe0, 0x88, 0xfe, 0x22, 0x32, 0xb6, 0x72, + 0xc0, 0xbf, 0x78, 0xa3, 0x2f, 0x90, 0xe8, 0xef, 0xe0, 0xeb, 0xaf, 0xbb, 0x86, 0x95, 0x51, 0xaa, + 0x47, 0x0a, 0xe5, 0x61, 0x35, 0xb1, 0x99, 0x61, 0xd8, 0x81, 0x40, 0x2e, 0xc1, 0xec, 0xd4, 0x96, + 0x8c, 0x66, 0xa0, 0x33, 0x42, 0x8a, 0xc0, 0x7f, 0x50, 0x54, 0xbc, 0x4e, 0x06, 0x5b, 0xda, 0x60, + 0x59, 0x5b, 0x0b, 0xe5, 0xc3, 0x41, 0xb2, 0x0a, 0x5c, 0xc5, 0xf3, 0xa9, 0xa8, 0xe6, 0x2c, 0xfa, + 0xe1, 0x1d, 0xe7, 0xf4, 0x42, 0x65, 0xdd, 0xfa, 0x9a, 0xb3, 0xf1, 0x16, 0x7a, 0x13, 0x55, 0x97, + 0xfa, 0x12, 0x9d, 0x98, 0x7f, 0x26, 0x88, 0x73, 0xe7, 0x53, 0xbc, 0x32, 0xf4, 0x0b, 0xa8, 0xaa, + 0x23, 0x3f, 0x41, 0x09, 0xe0, 0xd6, 0x13, 0x83, 0x77, 0xbc, 0xd9, 0x2e, 0x70, 0x3c, 0x39, 0xa5, + 0x4a, 0x2f, 0x20, 0x61, 0xd1, 0xd6, 0x8c, 0x59, 0x4c, 0x5c, 0x0f, 0x85, 0x54, 0xf3, 0xf1, 0x19, + 0xa5, 0x09, 0x06, 0x3d, 0x93, 0xb0, 0x79, 0x17, 0x0c, 0x9c, 0xcd, 0xfc, 0x84, 0x85, 0x20, 0x34, + 0x56, 0xdb, 0x10, 0xd1, 0x0c, 0xe8, 0x73, 0x23, 0xda, 0x9c, 0xf6, 0x23, 0xa4, 0x36, 0x58, 0x2a, + 0xff, 0xe4, 0xcc, 0x01, 0xc9, 0xac, 0x80, 0x5f, 0x74, 0x8a, 0x50, 0x30, 0x76, 0x09, 0x40, 0x5a, + 0x5b, 0x45, 0x92, 0xee, 0x12, 0x3e, 0x6f, 0x3c, 0xec, 0xa5, 0x5a, 0xb8, 0x1e, 0xb2, 0x91, 0x3a, + 0x3f, 0x29, 0xe8, 0x0f, 0x05, 0x4d, 0xfc, 0x57, 0x68, 0x64, 0xa1, 0x53, 0x16, 0x82, 0x2a, 0x77, + 0xc9, 0xcc, 0x18, 0x95, 0x67, 0xe5, 0x5e, 0x58, 0x84, 0xd0, 0xdb, 0xd7, 0x96, 0x6b, 0xd6, 0x36, + 0xb5, 0x7a, 0x8d, 0x08, 0xaa, 0x95, 0x2b, 0x79, 0x95, 0x8e, 0xe6, 0xfc, 0xe9, 0xb3, 0xa5, 0x10, + 0x5c, 0x4b, 0xa1, 0xd2, 0xb1, 0xa3, 0x7a, 0x1c, 0xa7, 0xae, 0x49, 0x37, 0x71, 0xa7, 0xac, 0x6b, + 0xf4, 0x9b, 0x43, 0x90, 0xc7, 0xa4, 0xd5, 0xde, 0x88, 0xda, 0x76, 0x02, 0xde, 0xdd, 0x78, 0x56, + 0x43, 0x63, 0x33, 0x6f, 0x4a, 0x04, 0x30, 0xed, 0xc6, 0x90, 0x46, 0x6d, 0x9b, 0x16, 0xc0, 0x3b, + 0x6d, 0xea, 0xad, 0x88, 0x1e, 0x7e, 0x52, 0xf9, 0x12, 0x9e, 0xaf, 0x47, 0x15, 0x97, 0x65, 0x11, + 0x14, 0xc2, 0x8c, 0x58, 0x06, 0x08, 0x5e, 0xe7, 0x32, 0x73, 0x07, 0xed, 0x8b, 0x8c, 0xb1, 0x97, + 0xbf, 0x17, 0x95, 0x7f, 0xe4, 0xed, 0x38, 0xac, 0x32, 0x6b, 0x71, 0x59, 0xa3, 0xa6, 0x4a, 0x2c, + 0x70, 0x25, 0xad, 0xe6, 0x7a, 0x7d, 0xd6, 0x84, 0x2d, 0xa6, 0x08, 0x54, 0x97, 0x37, 0xcf, 0xf0, + 0x44, 0x1e, 0x1b, 0x57, 0x46, 0xe8, 0xce, 0xf5, 0xac, 0x00, 0x14, 0x5c, 0xec, 0xf0, 0xc8, 0x75, + 0xf5, 0x32, 0xa2, 0x0f, 0xca, 0x40, 0x28, 0x55, 0x73, 0x89, 0x5c, 0x85, 0x76, 0x61, 0x91, 0x69, + 0xbd, 0x39, 0xaf, 0x00, 0x4a, 0x62, 0x6e, 0x9d, 0x55, 0x50, 0x93, 0x1e, 0x3f, 0x2f, 0x58, 0x5e, + 0xb9, 0x9d, 0x36, 0x6d, 0x94, 0x68, 0x44, 0x38, 0x2b, 0xb3, 0x42, 0xe7, 0x0c, 0x71, 0xa3, 0xee, + 0xa9, 0xad, 0xc4, 0xad, 0x54, 0xb5, 0x21, 0x35, 0x0c, 0x77, 0x07, 0x62, 0x00, 0x5d, 0xed, 0x9f, + 0xbc, 0x9c, 0x27, 0x1b, 0x6c, 0x0c, 0x48, 0x11, 0x00, 0xf4, 0xa7, 0x57, 0x7e, 0xc1, 0x98, 0xe6, + 0xdd, 0x8a, 0x88, 0xa2, 0xb5, 0xfd, 0x6b, 0x52, 0x02, 0x81, 0x04, 0xc6, 0xeb, 0x0c, 0x84, 0x33, + 0x7b, 0x55, 0xd4, 0x17, 0x5d, 0xd0, 0xdb, 0x5f, 0xca, 0xf1, 0x41, 0xc9, 0x37, 0x36, 0xdd, 0x6d, + 0xb6, 0xb2, 0x06, 0xf5, 0xcf, 0xd8, 0x95, 0x63, 0x98, 0x07, 0x98, 0xdd, 0x22, 0xe0, 0x47, 0xe7, + 0x9c, 0x9f, 0x14, 0x3e, 0x73, 0x7e, 0x21, 0x2b, 0xab, 0xde, 0x5a, 0xe9, 0x6e, 0x4f, 0x2b, 0x09, + 0xde, 0x97, 0xc9, 0xc1, 0x0c, 0x06, 0x8d, 0x22, 0xf2, 0xbf, 0xd2, 0x10, 0xe5, 0x3a, 0xf9, 0x13, + 0xde, 0xe6, 0x74, 0xfd, 0x6e, 0xb1, 0x2e, 0x1e, 0xa1, 0xf0, 0x16, 0x2c, 0x2d, 0x66, 0x53, 0x1f, + 0x02, 0xe8, 0xaf, 0xcc, 0x27, 0xe3, 0x29, 0x1d, 0x25, 0x7d, 0x7c, 0x64, 0x76, 0x30, 0x69, 0xea, + 0x7c, 0xb8, 0x80, 0x6b, 0xe4, 0x1d, 0x0e, 0xbf, 0x14, 0x79, 0x9f, 0xc1, 0x14, 0xab, 0xcc, 0x00, + 0xb2, 0x0f, 0x8f, 0x35, 0xae, 0xe7, 0x21, 0x1c, 0x47, 0xf2, 0x5f, 0x7e, 0x60, 0x59, 0x79, 0x89, + 0x0e, 0x22, 0x76, 0xab, 0xab, 0x8c, 0x52, 0xc4, 0xd6, 0xce, 0x8f, 0xbf, 0xd9, 0xa7, 0xb9, 0x73, + 0xb5, 0x80, 0x25, 0x94, 0x79, 0x1e, 0x6f, 0x99, 0xd4, 0xff, 0x13, 0x82, 0xe4, 0x1b, 0x48, 0x42, + 0x30, 0x53, 0x7d, 0x7d, 0x6e, 0x81, 0xed, 0x32, 0xed, 0xcd, 0xd6, 0x7e, 0x5e, 0x09, 0x89, 0x0e, + 0x13, 0x80, 0x52, 0x03, 0x24, 0xab, 0xb2, 0x6d, 0xd4, 0x37, 0x8d, 0x1c, 0x1a, 0x7f, 0x0a, 0x86, + 0x7d, 0x0d, 0x18, 0x50, 0x74, 0x1e, 0x01, 0x71, 0x1c, 0xeb, 0x74, 0xd8, 0x39, 0x6b, 0x0a, 0x5c, + 0x26, 0x54, 0x49, 0xcd, 0xf4, 0xb2, 0xbc, 0x97, 0x17, 0x77, 0x14, 0x9b, 0x18, 0xe4, 0x49, 0x93, + 0xcf, 0x27, 0x54, 0x9b, 0xa0, 0xab, 0x6e, 0x69, 0xc3, 0xdb, 0xdf, 0xd6, 0x4e, 0xaa, 0x54, 0x99, + 0x5b, 0x5e, 0x74, 0x14, 0x55, 0x45, 0x33, 0xd9, 0x3a, 0x32, 0x56, 0xac, 0xc9, 0xd2, 0x17, 0x01, + 0xdd, 0xe8, 0xff, 0xf3, 0x1f, 0x4c, 0x74, 0x10, 0x15, 0xd0, 0x6e, 0x16, 0x43, 0x01, 0x44, 0xfe, + 0xda, 0xd9, 0x66, 0x36, 0x94, 0x6d, 0x1d, 0xbb, 0xde, 0xba, 0x28, 0xdb, 0x41, 0x42, 0x44, 0xb2, + 0xc3, 0xe0, 0x72, 0x2a, 0x4b, 0x99, 0x15, 0xf5, 0xec, 0x64, 0x78, 0x9d, 0x97, 0xdb, 0x35, 0xf9, + 0x84, 0xb8, 0x97, 0x3d, 0x08, 0xe0, 0xc5, 0x4f, 0xd3, 0x75, 0xa3, 0xc9, 0x20, 0xfe, 0x2e, 0x2f, + 0x45, 0x40, 0xfa, 0x0b, 0x09, 0x78, 0x3b, 0x5e, 0x2d, 0x4c, 0x4e, 0x16, 0x36, 0x61, 0x28, 0x56, + 0x33, 0xcb, 0x1b, 0x53, 0xde, 0xd3, 0x22, 0xb7, 0x4b, 0x63, 0x8a, 0x83, 0x1a, 0x05, 0x20, 0x25, + 0x13, 0x9a, 0xfd, 0x4a, 0x6b, 0xad, 0x37, 0x02, 0x20, 0xda, 0xa5, 0x3d, 0x05, 0x46, 0x13, 0x46, + 0x4d, 0xfa, 0xc6, 0x22, 0xfe, 0xea, 0x67, 0x02, 0x05, 0xfa, 0xaf, 0xf4, 0xdf, 0x64, 0x0e, 0xf6, + 0xb8, 0x68, 0xcb, 0x69, 0x58, 0x94, 0xae, 0x37, 0x23, 0x2f, 0xf6, 0xb3, 0xad, 0x10, 0xcd, 0x2a, + 0xb7, 0xe5, 0xd1, 0x87, 0xb7, 0xcd, 0xd8, 0x13, 0x65, 0x77, 0x2b, 0xf4, 0x41, 0xd1, 0xdb, 0xca, + 0x02, 0x5a, 0xdc, 0xdf, 0xb7, 0x35, 0xfd, 0x70, 0xcc, 0x97, 0x04, 0xf2, 0x2a, 0x0a, 0x9e, 0xa0, + 0xc6, 0xb3, 0x7c, 0xbe, 0x37, 0x58, 0x87, 0x46, 0xff, 0x88, 0x4f, 0x22, 0x7a, 0x91, 0x3c, 0xcd, + 0x39, 0x55, 0xa2, 0x39, 0xf3, 0x2b, 0x87, 0xbb, 0xf4, 0x6b, 0x1e, 0x99, 0x22, 0x1e, 0x06, 0xc0, + 0x62, 0xfa, 0x6b, 0x15, 0xd8, 0x23, 0xbe, 0x56, 0x98, 0xde, 0x23, 0xeb, 0xc8, 0x44, 0x35, 0xc7, + 0xab, 0xd1, 0x51, 0x7c, 0x7e, 0x91, 0x91, 0x32, 0x38, 0x13, 0xa4, 0xb8, 0x0f, 0x2d, 0xa4, 0x75, + 0x75, 0x82, 0xeb, 0x31, 0xf2, 0x54, 0xf4, 0x5c, 0x2c, 0xca, 0x22, 0xa3, 0xde, 0x7e, 0x56, 0xbc, + 0x65, 0x94, 0xdb, 0x85, 0xf8, 0x83, 0x50, 0x3f, 0x6c, 0x41, 0x5a, 0xba, 0x83, 0xa9, 0x9b, 0x90, + 0x2a, 0x91, 0x4b, 0x72, 0xd2, 0x1e, 0x33, 0xe8, 0x1d, 0x03, 0x4d, 0x7a, 0x72, 0x83, 0x47, 0xb2, + 0x0a, 0x06, 0xae, 0x9d, 0x6b, 0xe0, 0xa3, 0x9a, 0x9a, 0x99, 0x5e, 0x3e, 0xb8, 0x37, 0xca, 0x4a, + 0xbd, 0xf3, 0x16, 0x34, 0x6c, 0xc6, 0xd2, 0xfb, 0x47, 0xd7, 0x31, 0x07, 0xaf, 0xba, 0xf4, 0x94, + 0x88, 0x57, 0x04, 0xf3, 0x62, 0x8b, 0xc9, 0x47, 0x99, 0x32, 0x3e, 0x85, 0x08, 0xd1, 0xcd, 0x68, + 0x8a, 0xb7, 0x56, 0x89, 0x7a, 0xcd, 0x83, 0xea, 0xea, 0xfe, 0xd5, 0x84, 0xb0, 0xe4, 0x40, 0xcd, + 0x2c, 0xf4, 0x08, 0x2f, 0x7b, 0x4b, 0x20, 0x37, 0x38, 0x28, 0xbd, 0xe7, 0xc1, 0xfb, 0xa0, 0x29, + 0x50, 0xa2, 0x86, 0xc3, 0x2c, 0xc1, 0xf4, 0xf3, 0xc1, 0xf8, 0x79, 0xbe, 0x6e, 0x49, 0xb4, 0x1c, + 0x26, 0x9d, 0x34, 0x03, 0x45, 0x15, 0xe1, 0xd6, 0xaf, 0x5a, 0xfc, 0xc2, 0x53, 0xcb, 0xbd, 0x04, + 0x67, 0xb2, 0x10, 0x4b, 0x71, 0x3e, 0xb4, 0xb1, 0x64, 0xce, 0x11, 0x54, 0x9e, 0x99, 0xb8, 0x31, + 0xe9, 0x70, 0xb9, 0x4c, 0x94, 0x6a, 0x00, 0x27, 0x9c, 0xc3, 0x16, 0x4f, 0xfd, 0x05, 0x80, 0xc9, + 0xfd, 0x20, 0x10, 0x68, 0x50, 0xd3, 0xa8, 0x65, 0xfd, 0x7e, 0xf3, 0x30, 0x2d, 0xab, 0x39, 0xe0, + 0x20, 0x10, 0xf9, 0x2b, 0x6e, 0x2f, 0xaa, 0xe4, 0x7e, 0x46, 0xf7, 0xdf, 0x27, 0xe5, 0xd5, 0x74, + 0x7b, 0xfd, 0x0d, 0x82, 0xd4, 0x6c, 0xb7, 0x38, 0x53, 0x87, 0xb9, 0xe6, 0xfa, 0xc8, 0xec, 0xea, + 0xfd, 0xb5, 0x1b, 0x3e, 0x8c, 0xa4, 0x9e, 0x28, 0xc3, 0x60, 0x37, 0x0b, 0x10, 0x7c, 0x0d, 0xcb, + 0x27, 0xf3, 0x56, 0x3f, 0x70, 0x65, 0x01, 0x2d, 0xe4, 0x04, 0x37, 0x27, 0xb3, 0xac, 0xe3, 0xa1, + 0x9f, 0x54, 0xe9, 0xac, 0x9c, 0x1f, 0x26, 0xff, 0x1a, 0x8a, 0x38, 0xde, 0xbc, 0x07, 0x9d, 0x25, + 0xe3, 0x3d, 0x6a, 0x25, 0x0c, 0x03, 0x1e, 0x14, 0x4e, 0x16, 0x78, 0x86, 0x97, 0xb1, 0xdf, 0x1a, + 0x93, 0xf0, 0x24, 0xe4, 0x20, 0x29, 0x46, 0xef, 0x5f, 0xcf, 0x01, 0x8a, 0x0e, 0x7f, 0xcf, 0x5e, + 0x8c, 0xa4, 0x65, 0x2c, 0xe8, 0xb7, 0x28, 0x2e, 0x2c, 0x05, 0x6f, 0x98, 0xc4, 0xe2, 0xda, 0x37, + 0x6b, 0xb2, 0xf0, 0x0f, 0x4d, 0x5b, 0xa3, 0x96, 0xfd, 0xd8, 0xbf, 0xbe, 0x95, 0xd7, 0x41, 0xd1, + 0xc5, 0xdb, 0x28, 0x2c, 0x54, 0x1b, 0x14, 0x58, 0xb6, 0x10, 0x70, 0xf7, 0x54, 0xc0, 0x62, 0xf6, + 0x4b, 0x19, 0xef, 0xde, 0x7f, 0x0b, 0xc7, 0xc0, 0x27, 0x5c, 0x02, 0xad, 0xef, 0xe8, 0xae, 0x59, + 0x66, 0xa0, 0xcc, 0xe4, 0xc7, 0x2f, 0xdb, 0x41, 0x8b, 0xda, 0x9d, 0x63, 0x6f, 0x14, 0x31, 0x61, + 0xd0, 0x67, 0x34, 0xab, 0xdf, 0x78, 0x53, 0x86, 0x7b, 0x57, 0xbd, 0x88, 0x0d, 0xdf, 0x12, 0xdc, + 0xa6, 0x73, 0x7a, 0xc5, 0x7c, 0xcf, 0x1d, 0xda, 0xc8, 0xfa, 0x84, 0x80, 0xb4, 0x4d, 0x44, 0xf7, + 0xb1, 0xaa, 0x96, 0xa4, 0xcb, 0x2c, 0xc2, 0x0d, 0x4d, 0x09, 0xed, 0x55, 0xa9, 0xd3, 0x24, 0x2d, + 0xe1, 0x21, 0x7f, 0x6b, 0x6f, 0x97, 0xe4, 0x9b, 0x33, 0x22, 0x4f, 0xb1, 0x50, 0xfb, 0x47, 0xc4, + 0x4d, 0x99, 0x03, 0xdf, 0x68, 0x2f, 0xaa, 0x5f, 0xdf, 0x8c, 0x66, 0x44, 0xaa, 0x78, 0xeb, 0x50, + 0xb2, 0x1f, 0x2d, 0x05, 0x8f, 0x93, 0x1f, 0x64, 0xd2, 0xa1, 0xdf, 0x42, 0xc0, 0xd7, 0x69, 0xf4, + 0x7c, 0xc8, 0x08, 0x75, 0xcb, 0x2d, 0x3d, 0x5d, 0x83, 0xb4, 0x8a, 0x24, 0x1e, 0xcd, 0x0e, 0x01, + 0x7d, 0x08, 0x9d, 0xd9, 0xcb, 0x18, 0x0d, 0x31, 0x27, 0x2c, 0xcc, 0xea, 0x61, 0xd7, 0x96, 0x71, + 0xd8, 0x38, 0x9d, 0xf1, 0x90, 0x0e, 0x95, 0x21, 0x3d, 0xc3, 0x4c, 0x08, 0x2f, 0x77, 0x78, 0x65, + 0xb0, 0xaa, 0xc8, 0xc9, 0xe1, 0x8c, 0x3a, 0x8c, 0x05, 0x82, 0x29, 0x3d, 0x64, 0x84, 0x64, 0xd5, + 0xa9, 0x93, 0x55, 0x74, 0xf7, 0x32, 0x9c, 0x49, 0xde, 0xb9, 0x2c, 0xa1, 0xc2, 0xca, 0xe5, 0xbe, + 0x8f, 0x91, 0x2a, 0xfe, 0x7a, 0xde, 0xda, 0xd1, 0x6f, 0xd7, 0xc0, 0x84, 0x5c, 0xcc, 0x35, 0x52, + 0x58, 0x80, 0x00, 0xb1, 0xd3, 0xd6, 0x4e, 0x92, 0xfc, 0xe3, 0x19, 0xcc, 0x37, 0x4d, 0x2d, 0x7b, + 0xe3, 0xf8, 0x1e, 0x0a, 0x81, 0x36, 0x94, 0x13, 0xf9, 0x3f, 0xea, 0x70, 0x2f, 0x0d, 0x4c, 0x8b, + 0xbf, 0xd0, 0x5f, 0x52, 0x16, 0xbc, 0x75, 0xa5, 0x1b, 0xfb, 0xbe, 0xe7, 0xdd, 0xd4, 0xbb, 0x81, + 0x82, 0xf2, 0xe3, 0xe5, 0x15, 0xff, 0x7c, 0x55, 0x3e, 0x6f, 0xf8, 0xd2, 0xa1, 0x9e, 0x85, 0xa3, + 0x08, 0x20, 0x76, 0x5e, 0x48, 0x41, 0x71, 0xcd, 0x42, 0x68, 0x48, 0x4a, 0x78, 0x61, 0xce, 0x3f, + 0x3f, 0x90, 0x92, 0xcc, 0x42, 0x0c, 0xbd, 0x42, 0xb3, 0x6e, 0xd5, 0x88, 0xf6, 0x42, 0x1e, 0x0a, + 0x6a, 0xd2, 0xf0, 0xff, 0x6c, 0x89, 0x25, 0xc1, 0xa0, 0xdc, 0x82, 0xe1, 0x5a, 0x05, 0x8f, 0x17, + 0xbf, 0x0d, 0x9e, 0xa1, 0x40, 0x9c, 0x7b, 0xeb, 0x23, 0xa7, 0x16, 0xa1, 0xaf, 0xba, 0x9b, 0x18, + 0xe3, 0x6f, 0x7d, 0xf8, 0x4f, 0xeb, 0x0d, 0x74, 0xfb, 0x7b, 0x11, 0x0f, 0x4d, 0xa9, 0x3d, 0x8b, + 0x37, 0xb4, 0x62, 0xb1, 0xaa, 0x5c, 0xac, 0xed, 0x50, 0x90, 0x4c, 0xf4, 0x63, 0x3f, 0x65, 0xcb, + 0x3a, 0x00, 0xa9, 0xba, 0x9f, 0x7c, 0x4c, 0xcf, 0x6d, 0x34, 0xf9, 0x5e, 0xf7, 0x74, 0x08, 0xee, + 0x21, 0x2a, 0x0b, 0x08, 0x63, 0x8a, 0xf5, 0xe0, 0xa5, 0xe0, 0x6d, 0xdb, 0x40, 0xa1, 0x41, 0xaf, + 0x0a, 0x04, 0xa4, 0x3e, 0x7d, 0x69, 0xbe, 0xfa, 0xfb, 0x91, 0x3d, 0x09, 0x8c, 0x20, 0x43, 0x68, + 0x56, 0x93, 0x4e, 0xf7, 0x56, 0x69, 0xd2, 0xb8, 0x3d, 0xab, 0xd0, 0xbd, 0x4a, 0xe9, 0xa6, 0x76, + 0x5c, 0x59, 0x7a, 0xf8, 0x5e, 0xc9, 0xf2, 0xcf, 0x55, 0x7d, 0xd0, 0xe0, 0x9e, 0xb8, 0x83, 0x28, + 0xe1, 0x18, 0x97, 0x70, 0x5f, 0x9b, 0xf9, 0x1d, 0xba, 0x89, 0x17, 0x4b, 0xf5, 0xdb, 0xb4, 0xe3, + 0xd6, 0xeb, 0xa2, 0x68, 0x57, 0x22, 0x88, 0xd5, 0xa1, 0xce, 0x8e, 0x3d, 0x4d, 0xf4, 0x8d, 0x8a, + 0xad, 0xea, 0x8b, 0xdb, 0x7a, 0x7e, 0xad, 0x7e, 0x59, 0x2b, 0x33, 0x34, 0xa6, 0xee, 0x2d, 0x13, + 0x9f, 0xfc, 0xb3, 0xb4, 0xb8, 0x06, 0x61, 0xd6, 0x53, 0xc4, 0x06, 0xd5, 0xde, 0x23, 0xbc, 0xe5, + 0x25, 0x7c, 0x87, 0xb2, 0xd7, 0x30, 0x50, 0x59, 0x9b, 0x04, 0xa4, 0xe8, 0x38, 0x7f, 0x3e, 0xca, + 0x6a, 0x10, 0xe8, 0x5f, 0x96, 0x55, 0x29, 0xf2, 0xc0, 0x92, 0xbf, 0xee, 0xe2, 0xf4, 0xbb, 0x58, + 0xb0, 0x31, 0x88, 0x58, 0x02, 0x39, 0xb7, 0x99, 0x69, 0x74, 0xb8, 0x69, 0x1b, 0xd1, 0xd6, 0xe2, + 0x47, 0x3c, 0x96, 0xdb, 0x0e, 0x9a, 0xd1, 0x14, 0x97, 0x25, 0x1d, 0x9f, 0x6f, 0x21, 0x1d, 0x39, + 0x01, 0x64, 0xd3, 0x3d, 0xcc, 0xa6, 0x5c, 0x06, 0x00, 0xdc, 0xaa, 0x22, 0x40, 0x3d, 0x2e, 0xc0, + 0x0d, 0xc1, 0xb6, 0x97, 0x41, 0xaf, 0x1a, 0xed, 0x58, 0x77, 0xc3, 0xa3, 0x4d, 0x1d, 0x3d, 0x5e, + 0x3d, 0xab, 0xfc, 0x0d, 0xbc, 0xab, 0xdf, 0x79, 0x19, 0xa0, 0xbe, 0xe6, 0xd1, 0xd3, 0xf6, 0x79, + 0x08, 0x03, 0x55, 0xee, 0xdf, 0xb3, 0x92, 0x3d, 0x74, 0xbe, 0x75, 0x63, 0x9d, 0xa4, 0x69, 0x89, + 0x89, 0xaa, 0xb5, 0x75, 0x3d, 0x8a, 0x59, 0x7a, 0xec, 0x27, 0x4f, 0x81, 0x88, 0x3b, 0x72, 0xa2, + 0x29, 0x08, 0x60, 0xd8, 0x3b, 0x4d, 0x15, 0x38, 0x59, 0x1a, 0xf5, 0xec, 0xe0, 0x6e, 0xa7, 0x58, + 0xc9, 0xaa, 0x97, 0xa3, 0xfa, 0xf6, 0x0e, 0x8b, 0x46, 0x89, 0xb4, 0x4a, 0xcd, 0xe9, 0x68, 0x62, + 0x0c, 0xba, 0x70, 0x56, 0xa4, 0xd7, 0xdf, 0x34, 0x07, 0xe5, 0x99, 0x2e, 0xa2, 0x6b, 0x7e, 0x27, + 0x4c, 0xc5, 0x0d, 0x2c, 0xc5, 0x87, 0x32, 0x9c, 0x1c, 0x79, 0xe1, 0xe1, 0xd8, 0x45, 0x90, 0x92, + 0x7a, 0xb1, 0xe7, 0x29, 0xc3, 0x74, 0x42, 0xc1, 0x32, 0x14, 0x3c, 0x22, 0x45, 0x03, 0x6e, 0xb1, + 0x86, 0x7b, 0x55, 0xa8, 0xc6, 0xa8, 0x34, 0x84, 0xac, 0x03, 0x6b, 0x00, 0xd7, 0x0e, 0x98, 0x3f, + 0x2e, 0x1b, 0xd0, 0xdf, 0xf2, 0x90, 0xa0, 0xa5, 0xd2, 0xc1, 0x4e, 0xa6, 0x0f, 0x70, 0x12, 0x0b, + 0x83, 0x3d, 0xd4, 0x79, 0x60, 0x59, 0xb2, 0x00, 0xca, 0x1a, 0x49, 0x8b, 0xc4, 0x5e, 0x1b, 0xdc, + 0x76, 0xcb, 0xd9, 0x20, 0x6e, 0x0b, 0x1e, 0xaa, 0x2b, 0x90, 0xdb, 0x9c, 0xcb, 0x51, 0x79, 0xbb, + 0xf1, 0x0d, 0x62, 0x08, 0xf3, 0x4f, 0x16, 0x45, 0x57, 0x1b, 0xc9, 0xad, 0x6f, 0x5f, 0x41, 0x6e, + 0x0e, 0xd7, 0x06, 0xff, 0x4c, 0xa8, 0x95, 0x38, 0x88, 0x86, 0xdd, 0x31, 0xae, 0x15, 0x4d, 0x31, + 0x25, 0x3b, 0x13, 0xcf, 0x71, 0x54, 0xc1, 0x9a, 0x92, 0x95, 0x89, 0x18, 0xb8, 0x23, 0xa2, 0x05, + 0xdf, 0x6c, 0x73, 0xd8, 0xe9, 0x57, 0x44, 0x69, 0x60, 0x54, 0x2b, 0xfd, 0x42, 0xa5, 0x8d, 0x53, + 0x4c, 0xf8, 0xc1, 0x0d, 0x7d, 0x10, 0xdf, 0x77, 0x82, 0x6c, 0xd4, 0x75, 0xe0, 0x7a, 0x0c, 0x11, + 0x86, 0x0f, 0x30, 0xb3, 0xb9, 0xaa, 0xf4, 0x60, 0x9f, 0x6d, 0x0d, 0x30, 0x28, 0xbd, 0x60, 0x71, + 0x07, 0xf3, 0xf4, 0xd3, 0x23, 0xa9, 0x90, 0x8f, 0x4f, 0x7a, 0x2d, 0xb7, 0x10, 0xd6, 0xea, 0x1c, + 0xd0, 0xf0, 0x4f, 0xa4, 0xad, 0x3d, 0x6d, 0x49, 0x66, 0x09, 0x8e, 0x2a, 0xdc, 0x05, 0x21, 0xec, + 0x8f, 0xf5, 0xa4, 0x4a, 0xac, 0x27, 0x59, 0x45, 0x30, 0xc4, 0x88, 0x57, 0xc5, 0x9d, 0x07, 0x88, + 0x4c, 0xe7, 0x20, 0xdf, 0x71, 0x04, 0xd7, 0x5f, 0x2b, 0x54, 0x51, 0x0b, 0xf7, 0x2b, 0xc8, 0x18, + 0xde, 0x9f, 0xc7, 0xa6, 0x5e, 0x1e, 0x05, 0x98, 0xb5, 0x05, 0x69, 0x97, 0xce, 0xb6, 0x0f, 0x2a, + 0x1e, 0xea, 0x90, 0x62, 0xda, 0x11, 0x6f, 0x64, 0xc1, 0x59, 0x3b, 0xbc, 0xee, 0x14, 0x6f, 0x41, + 0x93, 0x3e, 0xe2, 0x9a, 0xd3, 0x1b, 0x7c, 0x84, 0xeb, 0x3c, 0x72, 0xc6, 0x02, 0x33, 0x45, 0xb0, + 0x9b, 0x32, 0x47, 0x95, 0xff, 0x35, 0x63, 0x25, 0x6f, 0x42, 0x1b, 0x99, 0x45, 0x77, 0x3f, 0x1b, + 0xdd, 0x7e, 0x9e, 0xcd, 0xb1, 0x46, 0x9d, 0xdf, 0x6b, 0x4d, 0x26, 0x8b, 0xc4, 0x1e, 0x78, 0x9f, + 0x28, 0x89, 0xcb, 0x34, 0x2c, 0x45, 0x87, 0x15, 0x0c, 0x50, 0xd1, 0x88, 0x02, 0x4b, 0xf4, 0x61, + 0xdd, 0xd7, 0xcf, 0x44, 0xf3, 0x3d, 0xa0, 0x68, 0xdb, 0x73, 0x72, 0x1a, 0x0c, 0xe3, 0x48, 0x3c, + 0x7a, 0x2b, 0x58, 0x63, 0xc6, 0xeb, 0x2a, 0xb5, 0xd5, 0x38, 0x37, 0xc7, 0x9c, 0x0d, 0x3f, 0x23, + 0x94, 0xdb, 0x61, 0x8a, 0x35, 0x37, 0xec, 0x70, 0x56, 0xec, 0x06, 0x64, 0x6f, 0xf4, 0x24, 0x7d, + 0x5f, 0xc9, 0x58, 0xf0, 0xfc, 0xb4, 0x42, 0xa7, 0xd3, 0xd6, 0xc2, 0xf4, 0x98, 0x40, 0x72, 0x03, + 0x03, 0xd5, 0x1b, 0x83, 0xff, 0x9f, 0x50, 0xcb, 0x53, 0xc6, 0xd2, 0x08, 0xb2, 0x3b, 0x4b, 0x6a, + 0x9b, 0xb1, 0x19, 0xdd, 0x47, 0x5f, 0xd4, 0x50, 0x19, 0x04, 0xeb, 0x08, 0x24, 0x94, 0x3a, 0x18, + 0xc8, 0x33, 0x69, 0x01, 0xd0, 0x57, 0x14, 0xcb, 0x85, 0x6b, 0xb7, 0xd6, 0x90, 0x52, 0x39, 0x43, + 0x53, 0xd2, 0xf5, 0x4e, 0xc8, 0x92, 0x6f, 0xa4, 0xb2, 0x04, 0xd7, 0xe8, 0x56, 0xcb, 0x41, 0xd8, + 0x79, 0xd7, 0xe1, 0xa5, 0x4c, 0x15, 0x78, 0xcd, 0x13, 0x86, 0x8e, 0xbd, 0x88, 0x97, 0xc9, 0xf0, + 0x15, 0xaf, 0xc4, 0x53, 0x7a, 0x10, 0x21, 0xe4, 0xb2, 0x50, 0x3e, 0xa9, 0x55, 0x71, 0xb5, 0x1f, + 0xb3, 0x92, 0xf7, 0xf8, 0x8a, 0x20, 0x59, 0xa3, 0xc1, 0x45, 0x13, 0x06, 0xf1, 0x0e, 0xe7, 0xc3, + 0xcc, 0xb2, 0xe6, 0x70, 0x5e, 0x32, 0x2a, 0xda, 0x9a, 0x8e, 0xf6, 0xff, 0x53, 0x3f, 0x6e, 0x06, + 0x3e, 0x10, 0xa9, 0x61, 0x49, 0xb1, 0x87, 0x17, 0x39, 0x74, 0x97, 0x63, 0xdd, 0x60, 0x08, 0x0e, + 0xb1, 0xbf, 0x42, 0xd6, 0x8c, 0xba, 0x0a, 0x00, 0x7f, 0x37, 0x8e, 0x1c, 0xc2, 0x47, 0x0f, 0x10, + 0xe5, 0x71, 0xfd, 0x8a, 0x50, 0x98, 0xb8, 0x95, 0x8e, 0xb8, 0x79, 0x5c, 0x01, 0xc5, 0x33, 0x7f, + 0x05, 0xcf, 0x05, 0xe0, 0x7d, 0xf4, 0xd4, 0x48, 0x47, 0x58, 0xae, 0xa4, 0x2c, 0x2b, 0x39, 0x87, + 0x92, 0xee, 0x62, 0xce, 0xa9, 0x38, 0x11, 0xd2, 0x6e, 0x79, 0x19, 0x88, 0x3a, 0x36, 0xe0, 0xeb, + 0x6e, 0x73, 0xa2, 0xf6, 0xb0, 0x68, 0xbc, 0xb0, 0xf8, 0x76, 0xde, 0x60, 0xc9, 0xaf, 0x94, 0xd9, + 0xfe, 0x81, 0xbe, 0xe8, 0x9e, 0x53, 0x11, 0xf6, 0xf5, 0x6c, 0x45, 0x70, 0x22, 0x46, 0x2b, 0x0e, + 0x51, 0x08, 0x8b, 0xde, 0xe1, 0x7d, 0xd5, 0x3b, 0xf7, 0xf9, 0x1d, 0x22, 0x64, 0xad, 0x83, 0xa4, + 0x7e, 0x19, 0x79, 0x18, 0x32, 0x21, 0x94, 0x30, 0x31, 0xc5, 0xfb, 0x71, 0x97, 0x0c, 0x44, 0xb5, + 0xd2, 0xdf, 0x24, 0x1f, 0x84, 0xd9, 0x39, 0x03, 0xb7, 0x54, 0xde, 0x43, 0x59, 0x65, 0x34, 0x36, + 0x13, 0x7f, 0x74, 0x02, 0xa8, 0xe6, 0x16, 0xab, 0xab, 0xae, 0x65, 0x28, 0x78, 0x79, 0x4f, 0xec, + 0x25, 0x02, 0xab, 0x8e, 0xa1, 0x1b, 0x7d, 0x61, 0xbd, 0xa2, 0x7e, 0xe3, 0x72, 0x3d, 0x77, 0xdb, + 0xed, 0x5a, 0x95, 0x2d, 0x99, 0x9f, 0xa8, 0x54, 0xc1, 0x1e, 0x3f, 0x80, 0x50, 0x10, 0x12, 0x32, + 0x29, 0x3a, 0x08, 0xba, 0x71, 0x3b, 0x8f, 0x1b, 0x42, 0x9f, 0x0a, 0xe7, 0x84, 0x51, 0x39, 0xdc, + 0xc8, 0x3d, 0x8f, 0xeb, 0xd9, 0xc9, 0x74, 0x66, 0x9e, 0x97, 0xb6, 0xd2, 0x82, 0x60, 0x6e, 0x83, + 0x84, 0x9e, 0x41, 0x8c, 0x09, 0xe2, 0xea, 0x37, 0xd7, 0xc0, 0x55, 0x77, 0x9e, 0x4d, 0x70, 0xc3, + 0x11, 0x84, 0x09, 0x8a, 0x35, 0x46, 0x0c, 0x98, 0x0c, 0x5c, 0x69, 0x40, 0x9d, 0x05, 0x5c, 0x93, + 0xb1, 0x9b, 0xe8, 0xf8, 0xdd, 0x53, 0x22, 0x61, 0xa3, 0xdb, 0xc9, 0x4d, 0x1a, 0x9a, 0x69, 0xd4, + 0xe3, 0x6a, 0x78, 0x35, 0xb4, 0xb1, 0xe5, 0x9f, 0xb6, 0xfa, 0x96, 0x22, 0xe6, 0xbe, 0xbe, 0xa7, + 0xa0, 0xd7, 0xf8, 0x08, 0x98, 0xb2, 0x88, 0x42, 0x52, 0xbb, 0x11, 0x4a, 0xc7, 0x51, 0x35, 0xa2, + 0x5a, 0x3c, 0x19, 0xe3, 0x69, 0xcc, 0xeb, 0x5b, 0x0c, 0xbb, 0x6c, 0xa0, 0x13, 0x02, 0xe0, 0xf2, + 0x4a, 0x94, 0x68, 0x3f, 0x9f, 0x64, 0x54, 0x20, 0x79, 0xf1, 0x88, 0x5c, 0xa6, 0x00, 0x01, 0x87, + 0xeb, 0x5c, 0xb1, 0x72, 0xcb, 0xd6, 0xa9, 0x8d, 0xbb, 0x92, 0xfa, 0x1c, 0xa6, 0x02, 0xe2, 0x36, + 0x5a, 0xa7, 0x33, 0x97, 0xaa, 0xda, 0x59, 0x54, 0xb2, 0x5b, 0x3e, 0x8b, 0xd1, 0x17, 0x77, 0x82, + 0xf9, 0xce, 0xb9, 0xca, 0x45, 0x6b, 0xbf, 0x2b, 0x96, 0x49, 0x9f, 0x65, 0x34, 0xcc, 0x65, 0x89, + 0x11, 0xd4, 0xf5, 0x8a, 0x09, 0x90, 0x97, 0x88, 0x1d, 0x11, 0x39, 0x26, 0x91, 0x10, 0x51, 0x9c, + 0x6e, 0xd9, 0x82, 0x89, 0x63, 0x09, 0xa3, 0x32, 0x20, 0xe1, 0xe5, 0x6f, 0xb3, 0x6a, 0xd8, 0xa9, + 0xd8, 0x3d, 0x50, 0x59, 0x31, 0x39, 0x08, 0x9c, 0xe9, 0xb8, 0x02, 0x6b, 0x63, 0x6e, 0xd8, 0x5c, + 0x1a, 0x15, 0xb3, 0x25, 0xda, 0x62, 0xe5, 0x95, 0xb5, 0x98, 0x67, 0x40, 0xa0, 0xae, 0x15, 0x79, + 0x1e, 0x94, 0x48, 0x48, 0x3e, 0x07, 0x9f, 0x5b, 0x43, 0xb0, 0xb6, 0xac, 0x44, 0xf7, 0x9d, 0xf9, + 0x6a, 0x8f, 0xd2, 0x29, 0x47, 0x40, 0x81, 0x71, 0xa7, 0x14, 0x9c, 0xce, 0x25, 0xe6, 0xbe, 0xf0, + 0x9c, 0x89, 0x67, 0x66, 0x7e, 0x5f, 0x78, 0x0c, 0x6c, 0x2c, 0x64, 0x30, 0x99, 0x3a, 0x85, 0xe8, + 0x44, 0x47, 0x2b, 0x7a, 0x69, 0x31, 0x4c, 0x56, 0x61, 0xc4, 0xe4, 0x34, 0x7a, 0x86, 0x95, 0x59, + 0xc2, 0x23, 0x48, 0xbf, 0xcc, 0x10, 0x2a, 0xa2, 0x18, 0xe6, 0x42, 0x16, 0x18, 0xc5, 0x0a, 0x4b, + 0xc8, 0x41, 0xbe, 0x14, 0x43, 0xcd, 0x0e, 0x49, 0x72, 0xa1, 0x8f, 0xba, 0xf8, 0x21, 0xe3, 0x51, + 0xa5, 0x4c, 0x14, 0x76, 0xa4, 0x65, 0xb9, 0xe0, 0x04, 0xc3, 0x8b, 0xf3, 0xd8, 0x0d, 0x4f, 0x90, + 0x66, 0x29, 0xfa, 0xe7, 0xe5, 0xc3, 0x5f, 0xd3, 0x90, 0x0c, 0x0d, 0xf4, 0x0e, 0x46, 0xd6, 0x34, + 0x59, 0xcf, 0xad, 0x61, 0x75, 0xb6, 0x88, 0x41, 0x69, 0x5f, 0x73, 0xc9, 0x4d, 0x74, 0x79, 0x14, + 0x47, 0x56, 0x78, 0xa6, 0x1c, 0xb4, 0xa6, 0x4d, 0x73, 0x0c, 0x82, 0x18, 0xcc, 0x2b, 0xc0, 0xf8, + 0x2a, 0xc5, 0x69, 0xf5, 0x76, 0xe4, 0xae, 0xd1, 0x8e, 0x84, 0x61, 0x6e, 0x9f, 0x57, 0xfa, 0x2f, + 0x34, 0x03, 0xab, 0x2d, 0x7f, 0xfe, 0xeb, 0xad, 0x9b, 0xd0, 0x6e, 0x1d, 0xf1, 0x4a, 0x07, 0x12, + 0xd3, 0xef, 0x8e, 0x24, 0xc3, 0xbb, 0xd7, 0x4b, 0xee, 0x20, 0x6d, 0xbe, 0x9c, 0x73, 0xf2, 0x61, + 0x80, 0x14, 0xda, 0xdd, 0x67, 0xc2, 0x2e, 0xd6, 0x75, 0x01, 0x05, 0x80, 0xc1, 0x4e, 0x6f, 0xa7, + 0x00, 0xc7, 0x27, 0x79, 0x78, 0x53, 0x99, 0xae, 0x15, 0xad, 0x4f, 0x3c, 0xa8, 0xbb, 0xc0, 0x1c, + 0xee, 0x78, 0xfc, 0x71, 0xda, 0x2a, 0xc3, 0x91, 0xe8, 0x6b, 0xd7, 0x5c, 0xac, 0x1c, 0xff, 0x58, + 0xf4, 0xdf, 0x6d, 0xc6, 0x85, 0xa1, 0x22, 0x83, 0x96, 0x08, 0xa5, 0x79, 0x25, 0x70, 0x91, 0x93, + 0x3a, 0x40, 0xdb, 0x15, 0x39, 0xc5, 0xc0, 0x31, 0x16, 0xb7, 0xbf, 0xe3, 0x8d, 0xec, 0x91, 0x40, + 0x34, 0x82, 0xf3, 0x33, 0x12, 0x8c, 0xfb, 0xfc, 0x40, 0x22, 0xcc, 0x7d, 0xa5, 0xc8, 0x4d, 0x68, + 0x5d, 0x0f, 0xc6, 0xb2, 0x12, 0xb0, 0x00, 0x4a, 0x86, 0x73, 0x67, 0x1f, 0x57, 0x4c, 0xc1, 0xc3, + 0x07, 0xe6, 0xcc, 0x78, 0xf0, 0x7e, 0x70, 0xc3, 0x49, 0x17, 0x2a, 0x5d, 0x9c, 0xf0, 0x92, 0xba, + 0xb1, 0x3c, 0x3a, 0x4b, 0xf4, 0xd1, 0x70, 0x3c, 0x8d, 0xa9, 0x91, 0xb6, 0x96, 0xdc, 0xda, 0xf3, + 0xc0, 0xe3, 0x39, 0xd2, 0x57, 0xa9, 0xb5, 0x35, 0x94, 0x43, 0x07, 0xff, 0x51, 0x7b, 0x33, 0xac, + 0x2f, 0xd0, 0x75, 0x6e, 0x55, 0x5c, 0xf7, 0x94, 0x11, 0x24, 0xec, 0xbb, 0x5c, 0xa7, 0x76, 0x6e, + 0xdd, 0x39, 0x9e, 0x60, 0x6b, 0xb9, 0x13, 0xb7, 0x1b, 0x01, 0xa0, 0x90, 0x89, 0xfe, 0xd1, 0xc1, + 0x04, 0xd5, 0xc9, 0x9d, 0xb0, 0xb1, 0xdc, 0x68, 0xc9, 0xe9, 0xa5, 0x3f, 0x7e, 0x0b, 0x54, 0x2c, + 0xc6, 0x9d, 0x4b, 0x46, 0x44, 0x35, 0x79, 0x83, 0x3f, 0xdc, 0x82, 0x08, 0x15, 0xc3, 0xa1, 0xe9, + 0xae, 0xd8, 0x18, 0x05, 0xea, 0x25, 0x0d, 0x83, 0x49, 0xc4, 0xe6, 0xbf, 0xdd, 0xbd, 0x23, 0xbf, + 0x16, 0x8a, 0x7d, 0x9b, 0x2b, 0x57, 0x7a, 0xda, 0xc8, 0x1b, 0x8c, 0x73, 0xf0, 0x59, 0x21, 0x58, + 0x47, 0x37, 0x05, 0x9d, 0xa5, 0x86, 0x88, 0x68, 0xfa, 0x9f, 0xb5, 0x77, 0xd1, 0x05, 0x3c, 0x7b, + 0xd7, 0x92, 0x1c, 0x23, 0x61, 0x7a, 0x0c, 0x6c, 0x3f, 0x61, 0x3b, 0x7c, 0x91, 0x68, 0x99, 0xd2, + 0xbb, 0x1d, 0x0e, 0x13, 0xc6, 0xc0, 0xa9, 0x3c, 0xc1, 0x62, 0x23, 0x41, 0x74, 0xff, 0x7c, 0x13, + 0x3f, 0xc8, 0xa0, 0xf2, 0x0f, 0x7e, 0x39, 0x0a, 0x7b, 0x5e, 0x3b, 0x27, 0xc0, 0x78, 0x07, 0xa4, + 0xee, 0x40, 0x74, 0x86, 0x26, 0xa9, 0x21, 0x42, 0x94, 0x4a, 0x42, 0x2d, 0x55, 0x6b, 0x6a, 0xe6, + 0x0a, 0x62, 0x16, 0x27, 0xda, 0xef, 0x0a, 0x62, 0xee, 0x7f, 0xa8, 0xb2, 0xe6, 0xd8, 0x0b, 0xc7, + 0x8c, 0xde, 0x54, 0xf7, 0xcd, 0xd0, 0xf4, 0x69, 0x21, 0x63, 0xf0, 0xd3, 0x0b, 0x5a, 0x09, 0x33, + 0x01, 0x8d, 0x21, 0x47, 0x7b, 0x10, 0x32, 0xc4, 0x46, 0x2e, 0xd7, 0xca, 0xee, 0x9b, 0x95, 0xd3, + 0x51, 0x29, 0xd8, 0x19, 0xfb, 0x3f, 0x4f, 0x83, 0xcd, 0xe8, 0xf0, 0xfb, 0x32, 0x29, 0x89, 0x63, + 0x67, 0xee, 0xb4, 0x8c, 0xed, 0xe9, 0xa2, 0xfb, 0x53, 0x46, 0x10, 0x56, 0x9c, 0xb3, 0x2b, 0x99, + 0x2d, 0xbe, 0xed, 0x50, 0x37, 0x72, 0x24, 0xc4, 0x59, 0x7e, 0x70, 0x57, 0xfa, 0xbc, 0x78, 0x4a, + 0x69, 0x80, 0x88, 0x82, 0x2f, 0x4a, 0x15, 0xac, 0xc7, 0x9f, 0x6f, 0x62, 0x52, 0x73, 0x01, 0x57, + 0x29, 0x09, 0x29, 0x68, 0xc0, 0xc8, 0x53, 0x5d, 0x09, 0x87, 0x91, 0x03, 0x7d, 0xfb, 0x16, 0x12, + 0x1b, 0x6a, 0xb4, 0x97, 0x1f, 0x89, 0x8e, 0x46, 0xb3, 0x7b, 0x03, 0x69, 0xcb, 0x75, 0x59, 0x83, + 0x8e, 0xea, 0x88, 0x3b, 0x02, 0x4f, 0x7f, 0x17, 0xec, 0x19, 0x91, 0xa8, 0x8e, 0xd5, 0x5f, 0xe5, + 0x17, 0x91, 0x58, 0x43, 0x4b, 0xf7, 0xc7, 0x86, 0xe8, 0x70, 0x2e, 0x09, 0x29, 0xe7, 0x13, 0xf0, + 0x6a, 0xdf, 0xaa, 0x6f, 0x2e, 0xca, 0xb8, 0x0a, 0x86, 0xbc, 0x5d, 0x62, 0x78, 0xbf, 0xca, 0xe9, + 0x8d, 0xc3, 0x70, 0xc6, 0x41, 0xec, 0x16, 0xe8, 0x29, 0x47, 0x3d, 0x78, 0x8a, 0xcd, 0x2b, 0xe3, + 0x6d, 0x0c, 0x18, 0x68, 0xdd, 0x67, 0x40, 0x8c, 0x3e, 0x49, 0xc1, 0xfb, 0x89, 0x5a, 0x9c, 0xf2, + 0x2c, 0x41, 0xd4, 0x3f, 0xc0, 0xf0, 0xe3, 0xe8, 0x9e, 0x7a, 0xa1, 0xe9, 0x24, 0xc3, 0x74, 0x9d, + 0x8b, 0x1f, 0xd3, 0xdc, 0x6d, 0x16, 0x1d, 0x9c, 0xd1, 0x85, 0x50, 0x95, 0xf5, 0x85, 0x0d, 0x67, + 0xd2, 0x4b, 0x24, 0xef, 0x43, 0xdb, 0xd8, 0x76, 0x1d, 0xb3, 0x87, 0x28, 0xcd, 0x0b, 0xc0, 0xdc, + 0xb3, 0x61, 0x83, 0xf5, 0x24, 0xa1, 0x92, 0xcb, 0xa9, 0x0d, 0x48, 0x14, 0x25, 0x58, 0x16, 0x37, + 0xa1, 0x68, 0x8f, 0x82, 0xf3, 0xb0, 0xca, 0x6c, 0x10, 0xb0, 0x7f, 0x45, 0xff, 0xaa, 0x73, 0x04, + 0x3e, 0x4f, 0x37, 0x8f, 0x9d, 0x6c, 0x07, 0x29, 0x18, 0xc9, 0xbf, 0x89, 0x08, 0x08, 0xa3, 0x0b, + 0xaf, 0x4f, 0xa2, 0xf7, 0xb9, 0x8c, 0x6c, 0x5d, 0x55, 0xb3, 0xcd, 0x15, 0x87, 0xb0, 0xe8, 0x74, + 0xd1, 0x7e, 0x7c, 0x01, 0xd1, 0xd8, 0xd7, 0x5b, 0x24, 0x7f, 0xf0, 0xb5, 0xdd, 0x4b, 0xa1, 0xc8, + 0x0b, 0xea, 0xe4, 0xa4, 0xcf, 0x9c, 0xfc, 0x62, 0xc0, 0x92, 0x65, 0x2a, 0x84, 0xed, 0xb0, 0xaf, + 0x62, 0x8f, 0xe3, 0x44, 0x18, 0x34, 0x94, 0x50, 0x84, 0xea, 0x0f, 0x79, 0xd6, 0x57, 0xea, 0xe4, + 0xcc, 0xc8, 0xf7, 0xe4, 0xc7, 0x08, 0x5b, 0xab, 0x74, 0x6c, 0x36, 0xb6, 0x5c, 0xe7, 0x72, 0xa6, + 0xf4, 0x23, 0xa6, 0x93, 0x9c, 0x3f, 0x87, 0x6c, 0x36, 0x78, 0xba, 0x14, 0x87, 0x05, 0xe1, 0xad, + 0xb9, 0xba, 0xf1, 0xfb, 0x20, 0xee, 0x0a, 0xea, 0x11, 0xd1, 0x34, 0xa1, 0xb4, 0x91, 0xda, 0x53, + 0xa9, 0x13, 0x20, 0x70, 0x71, 0xfd, 0xa6, 0x67, 0x82, 0xf8, 0x87, 0x15, 0x17, 0xec, 0x7a, 0x8f, + 0x64, 0xc9, 0xbb, 0x04, 0x1d, 0x0d, 0x72, 0x86, 0x59, 0xff, 0x9c, 0xfa, 0xe6, 0x44, 0x88, 0xda, + 0x13, 0x2a, 0xf2, 0xf2, 0xab, 0xe7, 0x1a, 0x1d, 0x3b, 0x88, 0xe9, 0x20, 0x08, 0x73, 0xaa, 0xf7, + 0x23, 0x6b, 0xc4, 0xb9, 0x44, 0xaf, 0xb0, 0x3c, 0xff, 0xf5, 0x5d, 0xeb, 0x49, 0xb5, 0x84, 0xa8, + 0xd9, 0xc3, 0x82, 0x3b, 0x74, 0x93, 0x3c, 0x8d, 0x63, 0xb5, 0xbf, 0x5b, 0xfd, 0x0d, 0x21, 0xe1, + 0x3e, 0xaf, 0x9a, 0x2a, 0xdd, 0x27, 0x85, 0x7d, 0x20, 0x14, 0x18, 0x45, 0x63, 0xc2, 0x84, 0x0a, + 0x2d, 0xc7, 0x0b, 0x66, 0xa4, 0x64, 0x87, 0xf2, 0x15, 0x58, 0x62, 0x1c, 0x2e, 0x5b, 0x5f, 0xfc, + 0x60, 0x44, 0x22, 0x3c, 0x0f, 0x4c, 0xfe, 0x3c, 0xe0, 0x7f, 0x1e, 0x54, 0x16, 0xef, 0xa1, 0x1f, + 0xfd, 0xb3, 0xf6, 0xe7, 0x4a, 0xaa, 0x62, 0x4e, 0x82, 0xe6, 0x2e, 0xc2, 0xd8, 0x86, 0x79, 0xdf, + 0x24, 0xe3, 0xfc, 0x21, 0xd8, 0x13, 0x58, 0x72, 0x2c, 0xe7, 0xe6, 0xa7, 0x0a, 0x6a, 0x81, 0xe4, + 0xdc, 0x83, 0xba, 0x8d, 0xcf, 0x11, 0xe6, 0x78, 0xd3, 0xc5, 0x2c, 0x37, 0x30, 0xa0, 0xe7, 0x0a, + 0x6a, 0x23, 0x4d, 0xe1, 0x6e, 0x6f, 0x91, 0x6d, 0x78, 0xa4, 0x69, 0xe8, 0xf0, 0x9d, 0xe1, 0xb4, + 0x3e, 0x96, 0x98, 0x34, 0x83, 0xb9, 0xc1, 0x10, 0x27, 0x26, 0xe7, 0x61, 0xe4, 0xf5, 0xa0, 0x6b, + 0xca, 0x1f, 0xdd, 0x08, 0x8f, 0x2a, 0x6e, 0x82, 0x26, 0x0c, 0xcc, 0xbb, 0xdc, 0xeb, 0x49, 0x8b, + 0xa6, 0x27, 0x64, 0xe4, 0xd5, 0xc2, 0x0d, 0x05, 0xc6, 0x67, 0x20, 0x73, 0x0a, 0x58, 0xd0, 0x65, + 0x2b, 0x84, 0x43, 0xae, 0x43, 0x98, 0x1f, 0x93, 0x6b, 0x4b, 0x91, 0x0f, 0x90, 0x6f, 0x3f, 0xeb, + 0x1d, 0xaf, 0x95, 0xe2, 0x73, 0x06, 0xfc, 0xff, 0xd2, 0x05, 0x60, 0x81, 0x4c, 0xbe, 0x1a, 0xf4, + 0xe0, 0x48, 0x7f, 0x19, 0xe7, 0xdd, 0xf8, 0xa0, 0xba, 0xae, 0x52, 0xb7, 0x8d, 0x19, 0xa4, 0xeb, + 0x5e, 0x22, 0x54, 0xd9, 0xd9, 0x1c, 0xa6, 0x97, 0x8b, 0x5a, 0x5e, 0xec, 0x0c, 0xba, 0x8b, 0xd7, + 0x5a, 0x0f, 0x61, 0xc4, 0x91, 0xda, 0xae, 0xa3, 0x83, 0xd2, 0x13, 0xc8, 0xfe, 0xb2, 0xdc, 0xcc, + 0xe6, 0xcf, 0x8d, 0x5b, 0x9d, 0x22, 0xab, 0x1c, 0xa3, 0x35, 0xb2, 0xba, 0x91, 0x43, 0xa8, 0xe1, + 0xa5, 0x48, 0xf0, 0xee, 0xfd, 0x5d, 0xb9, 0x32, 0xf3, 0x13, 0x10, 0xb3, 0x82, 0xf1, 0x11, 0x30, + 0x2d, 0xdb, 0x76, 0x0c, 0x41, 0xf5, 0x8a, 0x64, 0xd0, 0xe5, 0xcb, 0x17, 0x55, 0x25, 0x1a, 0xff, + 0xb1, 0x7c, 0x3c, 0x14, 0xbb, 0xb9, 0xe3, 0x82, 0x20, 0x6d, 0x16, 0x67, 0x83, 0x77, 0x58, 0x9c, + 0x19, 0x0e, 0x6b, 0x82, 0xc2, 0xee, 0x1d, 0x54, 0xdd, 0x6e, 0x26, 0xef, 0x68, 0xdf, 0x5c, 0x23, + 0xe3, 0xd2, 0xb4, 0x8e, 0x06, 0xc4, 0x80, 0xdc, 0xed, 0x59, 0xbb, 0x01, 0xe7, 0x3e, 0xd6, 0x82, + 0xff, 0x6d, 0xaf, 0x15, 0xab, 0xae, 0xab, 0xdc, 0xb4, 0x0a, 0x6c, 0x2e, 0xe9, 0x55, 0x8f, 0x1c, + 0xa9, 0xcb, 0x82, 0x4e, 0x8b, 0xca, 0xee, 0xc8, 0x71, 0x21, 0x6e, 0x41, 0xf0, 0xf2, 0x20, 0x32, + 0x0d, 0xa0, 0x89, 0x66, 0xc3, 0x6c, 0x41, 0xaa, 0xca, 0xb6, 0xcf, 0x67, 0x09, 0x24, 0x95, 0x00, + 0xbc, 0xaf, 0x2f, 0x90, 0xa9, 0x91, 0x76, 0x2a, 0x0d, 0x20, 0xa1, 0xba, 0x1e, 0x0a, 0xdb, 0x3a, + 0x39, 0x94, 0x0b, 0xea, 0x36, 0xa1, 0x36, 0xac, 0xae, 0x76, 0xcd, 0x0b, 0xa1, 0xe0, 0xc3, 0x0d, + 0x7d, 0xb7, 0xfa, 0x9a, 0x26, 0xbc, 0x34, 0x5d, 0xed, 0xab, 0xb4, 0x54, 0x94, 0x67, 0xa1, 0xf7, + 0x27, 0x67, 0x6c, 0xab, 0x11, 0xe8, 0x92, 0x8a, 0xfe, 0x52, 0x52, 0x81, 0xb9, 0x48, 0xa7, 0x5b, + 0x04, 0x36, 0xae, 0xb0, 0x88, 0x51, 0x6a, 0x27, 0xf5, 0x3e, 0x18, 0x6a, 0x0d, 0x2a, 0xf4, 0x3e, + 0xa7, 0xe0, 0xcc, 0x37, 0xbf, 0x3d, 0x84, 0x62, 0xe5, 0x29, 0x81, 0xbf, 0x5b, 0x69, 0xcd, 0x39, + 0xd9, 0x01, 0x51, 0x31, 0x2b, 0xe0, 0x19, 0x4f, 0x05, 0xe2, 0x0e, 0x3f, 0x0d, 0x44, 0x7c, 0x01, + 0x4c, 0x95, 0xd3, 0xb2, 0x4b, 0x34, 0xdb, 0xb1, 0xad, 0x1a, 0x90, 0x4f, 0x3d, 0x6b, 0xcc, 0x5e, + 0x26, 0x25, 0x05, 0x7c, 0x22, 0x24, 0xc9, 0xe5, 0x42, 0x1a, 0x4d, 0x85, 0xe1, 0xb2, 0xbb, 0xbe, + 0x0b, 0xa0, 0x8b, 0x7c, 0xb0, 0xe4, 0xfe, 0x53, 0x2c, 0xaa, 0xc3, 0x8c, 0x89, 0x42, 0xfe, 0x66, + 0x92, 0xe7, 0x3e, 0xd3, 0x81, 0xa9, 0x1e, 0x5f, 0x55, 0x99, 0xc7, 0xe8, 0x1f, 0x6b, 0xd2, 0xc7, + 0xda, 0x47, 0xd5, 0xc5, 0x00, 0xf0, 0x28, 0xe6, 0xb4, 0x6b, 0xb7, 0xfb, 0x78, 0x76, 0xf7, 0x99, + 0xae, 0x51, 0xf3, 0x12, 0x8c, 0x04, 0xbc, 0x10, 0xe2, 0x94, 0x25, 0xff, 0x4b, 0x38, 0xd8, 0x38, + 0xf3, 0x5e, 0x70, 0x64, 0x62, 0x54, 0x17, 0x04, 0xe4, 0xad, 0xca, 0x42, 0x32, 0x04, 0xad, 0x96, + 0x6c, 0x7d, 0x17, 0xd8, 0xd8, 0x48, 0x7d, 0xe5, 0x68, 0xba, 0x9f, 0x04, 0x1e, 0x06, 0x33, 0x12, + 0x18, 0x6d, 0xbd, 0x3e, 0x41, 0x5d, 0x54, 0x4d, 0x4f, 0x8b, 0x17, 0x54, 0xf0, 0x0d, 0xb7, 0xa6, + 0x4e, 0x28, 0xe3, 0xed, 0x38, 0x44, 0x66, 0x8c, 0x77, 0x24, 0x24, 0x48, 0xe3, 0xf0, 0x61, 0x33, + 0x37, 0x50, 0xc2, 0x8d, 0x8b, 0xde, 0xf5, 0x30, 0xe6, 0x1d, 0xf3, 0x3b, 0xd0, 0x07, 0x0a, 0x92, + 0xfe, 0x47, 0x5e, 0xee, 0x35, 0x30, 0x2f, 0x2b, 0x06, 0x09, 0x7a, 0xe7, 0x21, 0x01, 0x27, 0x96, + 0x22, 0x4b, 0xb5, 0xc2, 0x42, 0x66, 0x05, 0xd7, 0xcb, 0xdd, 0x0d, 0xae, 0x9d, 0x74, 0xe2, 0xf7, + 0x05, 0xf3, 0x51, 0x45, 0x8c, 0xd8, 0x87, 0xd1, 0x3d, 0xaa, 0x1d, 0x7e, 0xa8, 0xa1, 0x72, 0x8b, + 0xfa, 0x49, 0x61, 0x0c, 0xa1, 0xa3, 0xa8, 0x3a, 0x6c, 0x73, 0x48, 0x56, 0xdd, 0x2f, 0x86, 0xfd, + 0x24, 0xe7, 0xa8, 0x30, 0x55, 0x01, 0x16, 0x71, 0x37, 0xe4, 0xbb, 0x0a, 0x30, 0xd0, 0xce, 0x3d, + 0x3b, 0x7b, 0x76, 0x2f, 0xb8, 0x21, 0x39, 0x5a, 0xee, 0x49, 0xd2, 0x94, 0x05, 0x78, 0x8f, 0x61, + 0x61, 0x42, 0x6a, 0xa8, 0xd1, 0x28, 0x0d, 0xbb, 0xfc, 0x06, 0xa0, 0xbb, 0x3a, 0xe3, 0xd1, 0x95, + 0x8d, 0xc8, 0x47, 0x66, 0x84, 0x72, 0x1e, 0x1d, 0x40, 0xb8, 0x86, 0xd7, 0xf7, 0x78, 0x94, 0x83, + 0x05, 0xa1, 0x08, 0xe9, 0x7b, 0x4f, 0xe2, 0x26, 0xc9, 0x12, 0x94, 0xbc, 0x41, 0x99, 0x94, 0x83, + 0x1f, 0x5b, 0x01, 0x78, 0x36, 0x8b, 0xda, 0xef, 0x9a, 0x9c, 0x02, 0xd4, 0xbc, 0x02, 0x1c, 0x0a, + 0x97, 0x1e, 0xc8, 0x9e, 0x7f, 0x88, 0x75, 0xa7, 0x21, 0xce, 0x2d, 0x28, 0xf2, 0x91, 0x1f, 0xb8, + 0xf6, 0x3d, 0x3b, 0x86, 0x7b, 0x95, 0x8d, 0x98, 0xcc, 0x37, 0xd5, 0x4b, 0x36, 0x71, 0xe7, 0x32, + 0x0f, 0x84, 0x86, 0xbd, 0xd5, 0xc3, 0x23, 0xc0, 0x57, 0x4e, 0x15, 0x90, 0xd0, 0x39, 0xf9, 0xb6, + 0xec, 0x2f, 0x54, 0xb5, 0x2b, 0x46, 0xa4, 0x04, 0x64, 0xf1, 0xac, 0xff, 0xab, 0x40, 0x0c, 0x80, + 0xd3, 0xae, 0x4e, 0x95, 0x63, 0x81, 0x28, 0xec, 0xa0, 0xa3, 0x65, 0xe8, 0xe0, 0x31, 0xc8, 0xd8, + 0x7a, 0x4f, 0xf6, 0xed, 0x24, 0xff, 0xfe, 0x1d, 0x92, 0x37, 0x58, 0xc5, 0x97, 0xac, 0x66, 0x45, + 0xa6, 0x87, 0x78, 0x70, 0xad, 0x6e, 0x00, 0xda, 0xc1, 0xb0, 0xad, 0xa0, 0x95, 0x1e, 0xcf, 0xb5, + 0x4c, 0x44, 0x33, 0x84, 0x63, 0xe7, 0x03, 0xb6, 0x2f, 0x2b, 0x00, 0xb2, 0x54, 0x8d, 0x93, 0x75, + 0x87, 0xa8, 0xb0, 0x8a, 0xbd, 0x61, 0x1d, 0xc4, 0xd4, 0x01, 0x48, 0x16, 0xe0, 0xe6, 0x95, 0x53, + 0x84, 0x3f, 0xe1, 0xef, 0x1c, 0x52, 0xf5, 0xc0, 0x49, 0x4b, 0xd1, 0x5b, 0x0b, 0xf6, 0x07, 0x4e, + 0x07, 0xcc, 0x25, 0x8b, 0x22, 0x2a, 0x05, 0x40, 0xc6, 0x40, 0x17, 0x73, 0xca, 0x86, 0x85, 0x38, + 0xbb, 0xe4, 0x56, 0x8a, 0x92, 0xb3, 0x6c, 0x90, 0x66, 0xed, 0x8d, 0x72, 0x5e, 0xda, 0x65, 0x80, + 0x5c, 0x51, 0x6c, 0x5c, 0x67, 0x2f, 0x35, 0xeb, 0xcf, 0x92, 0xbb, 0x44, 0xa3, 0x58, 0xce, 0xd4, + 0x70, 0x95, 0xae, 0x5a, 0x21, 0xca, 0xb3, 0xca, 0x2f, 0xc9, 0x2b, 0x57, 0x02, 0x5a, 0x48, 0xec, + 0x76, 0xa0, 0xe3, 0x3c, 0x57, 0x7f, 0xed, 0x97, 0x0e, 0x62, 0x63, 0xd9, 0x6c, 0x4c, 0x65, 0x44, + 0xb6, 0x9e, 0x03, 0xeb, 0x23, 0xec, 0xde, 0x7b, 0xb0, 0xa0, 0xd8, 0x02, 0x49, 0xd8, 0x50, 0x45, + 0x5e, 0x11, 0xc5, 0x89, 0x86, 0xf7, 0x20, 0x90, 0xe6, 0xdb, 0xfd, 0xd1, 0xdc, 0x46, 0xe6, 0xe9, + 0xc6, 0x90, 0xbe, 0x1f, 0x28, 0x93, 0x72, 0xb0, 0x6e, 0xc0, 0xd2, 0x7e, 0x33, 0x74, 0xb3, 0x27, + 0x23, 0x4b, 0xe7, 0xdb, 0x65, 0x42, 0xce, 0xbc, 0x1c, 0x4f, 0x32, 0xa2, 0xe5, 0x9f, 0xc9, 0x4c, + 0x9b, 0x32, 0x15, 0xc7, 0x43, 0x12, 0xd1, 0x08, 0x62, 0xa5, 0xc9, 0x76, 0xca, 0x91, 0xd3, 0x65, + 0xcd, 0x08, 0x16, 0x09, 0x0a, 0xe2, 0xea, 0xfe, 0x3b, 0x0c, 0xee, 0x1a, 0xa3, 0x5b, 0xb5, 0xa6, + 0x2d, 0x70, 0x3c, 0x29, 0x26, 0x9f, 0xe4, 0x2e, 0x82, 0x61, 0xb3, 0x34, 0xaf, 0xa9, 0x59, 0x7f, + 0xc3, 0xf8, 0xb3, 0xa8, 0x48, 0xb5, 0x10, 0x47, 0x34, 0xe8, 0x09, 0x66, 0x36, 0x8a, 0xe6, 0x9d, + 0x3d, 0x7e, 0xed, 0x2a, 0xba, 0x97, 0x54, 0xb1, 0xa7, 0x4f, 0xcd, 0xc7, 0x6c, 0xce, 0xb0, 0xf8, + 0x77, 0xf3, 0x2f, 0xe9, 0x9a, 0x1e, 0x5c, 0x41, 0xc9, 0x1a, 0x39, 0x26, 0x04, 0xb1, 0x84, 0x29, + 0x63, 0xf1, 0xb0, 0xbd, 0xfb, 0xf0, 0xb5, 0xda, 0xd8, 0x7b, 0xdc, 0xe6, 0x07, 0xee, 0xbb, 0x24, + 0x00, 0x91, 0xc3, 0xf2, 0x38, 0x15, 0xd1, 0xaa, 0x79, 0x56, 0x98, 0xbc, 0xf1, 0xcc, 0xf7, 0x40, + 0x4f, 0x2b, 0x1b, 0x0c, 0xb0, 0x3c, 0x52, 0x4e, 0xcf, 0x6d, 0xda, 0xfc, 0x2a, 0xcf, 0x8b, 0x23, + 0x72, 0x97, 0xdc, 0x3b, 0x87, 0x29, 0xca, 0x93, 0x11, 0x95, 0xb8, 0xb3, 0x39, 0x28, 0xf5, 0x45, + 0xa2, 0x0e, 0x26, 0x56, 0x5c, 0x4e, 0x19, 0xdc, 0x0b, 0x8d, 0xa3, 0x78, 0x79, 0x38, 0x59, 0xc7, + 0x51, 0xa6, 0x1a, 0xda, 0xd0, 0x56, 0x96, 0x9f, 0xaf, 0x0b, 0x20, 0xc2, 0x0b, 0x99, 0xc6, 0x66, + 0xca, 0xb7, 0xa8, 0xcd, 0x68, 0x25, 0x17, 0x2b, 0x83, 0x11, 0xd0, 0x29, 0x6f, 0x0e, 0x48, 0xd4, + 0xb7, 0x5b, 0x20, 0xbc, 0x1a, 0x9e, 0xe0, 0xd1, 0xf3, 0xac, 0xd8, 0x14, 0x16, 0x6e, 0x9e, 0xfc, + 0x17, 0x23, 0xf8, 0xa8, 0x23, 0x60, 0x33, 0xb7, 0x12, 0xff, 0x39, 0xb2, 0xe1, 0x4c, 0x14, 0x80, + 0x8e, 0x89, 0xa4, 0xcf, 0xb9, 0x1f, 0xe9, 0xa2, 0x3f, 0xd4, 0xb4, 0xe5, 0x0f, 0xf7, 0x13, 0x1d, + 0x55, 0x63, 0x96, 0xee, 0x35, 0x0f, 0x89, 0x10, 0x2e, 0xaa, 0x93, 0x27, 0x75, 0x49, 0x3b, 0x97, + 0x20, 0x93, 0x21, 0xac, 0xa5, 0x0d, 0xee, 0x2b, 0x94, 0xba, 0x72, 0xc3, 0x88, 0xc4, 0xb1, 0x6d, + 0x21, 0xe3, 0xc3, 0x06, 0x54, 0x01, 0x96, 0xc2, 0xca, 0x97, 0x60, 0x2c, 0x4b, 0xa5, 0x4c, 0xd6, + 0x33, 0xaa, 0xc2, 0xa2, 0x5f, 0x6d, 0xda, 0xcc, 0xd0, 0xf7, 0x19, 0x24, 0xdb, 0x09, 0xa5, 0xd3, + 0xea, 0x49, 0x1a, 0x33, 0x89, 0x98, 0xb7, 0x55, 0x6a, 0x65, 0x03, 0x8c, 0x2f, 0xc7, 0xf1, 0xd0, + 0xb2, 0x4b, 0xfd, 0x91, 0x66, 0xc3, 0x8c, 0xe1, 0x5e, 0xe5, 0x46, 0xd1, 0xbc, 0x8d, 0x13, 0x00, + 0xb4, 0x45, 0x91, 0xd9, 0x17, 0x6f, 0x50, 0x16, 0x19, 0x69, 0x68, 0x7b, 0xcf, 0x6f, 0x9f, 0x8d, + 0xb6, 0xed, 0x3c, 0xf5, 0xa8, 0x08, 0xf8, 0x9a, 0x8d, 0x53, 0xa7, 0xf8, 0xc9, 0x92, 0xc2, 0x5e, + 0x7f, 0xd2, 0x6d, 0xa1, 0x25, 0x41, 0xe0, 0xf2, 0xef, 0x81, 0x9a, 0x03, 0x74, 0xad, 0x8d, 0x56, + 0xe8, 0xe9, 0x47, 0x25, 0x94, 0xf0, 0xcd, 0x11, 0x0b, 0x09, 0x42, 0x56, 0xc6, 0x78, 0x59, 0xa5, + 0x17, 0xd8, 0xa6, 0x88, 0xfd, 0xb4, 0xcb, 0x80, 0x2d, 0xbf, 0xbc, 0xbb, 0xa9, 0xf3, 0x42, 0x0f, + 0x8c, 0xf4, 0x37, 0xe1, 0x3d, 0xf8, 0x16, 0x7b, 0xd8, 0x13, 0x48, 0xa2, 0x43, 0x9f, 0x24, 0xec, + 0x19, 0x3f, 0x78, 0x92, 0x5a, 0x9d, 0x37, 0x0a, 0xb5, 0x45, 0x51, 0xf8, 0xf6, 0x40, 0x0c, 0xd2, + 0x0e, 0xab, 0xa8, 0x90, 0xec, 0x6d, 0xea, 0x8b, 0xd8, 0x71, 0xb3, 0xd2, 0x73, 0xb1, 0x1c, 0xd4, + 0x00, 0xfe, 0x91, 0x1f, 0xd9, 0x8e, 0x6d, 0x22, 0x05, 0x95, 0x8c, 0x99, 0xd0, 0xf3, 0x09, 0xce, + 0xc8, 0x70, 0x1d, 0x3c, 0xd4, 0x86, 0x58, 0x28, 0x57, 0x2f, 0x36, 0x11, 0x58, 0x2e, 0x16, 0xe9, + 0x1b, 0x70, 0x51, 0x53, 0x52, 0x1f, 0x6c, 0x38, 0xb4, 0x3d, 0x46, 0xce, 0xe9, 0x5d, 0x7d, 0x3a, + 0xfd, 0x82, 0x41, 0x3c, 0xbf, 0x1e, 0xe6, 0x7f, 0xa8, 0xb1, 0xd5, 0xd4, 0xde, 0xaf, 0x5b, 0x7c, + 0x40, 0x65, 0xaa, 0x30, 0xa4, 0xe5, 0x94, 0xad, 0x59, 0xdf, 0x8d, 0x5d, 0x82, 0xdc, 0x58, 0xc4, + 0x8f, 0xb0, 0xa5, 0xfb, 0xc9, 0x4f, 0x46, 0x81, 0xa6, 0xf3, 0xfe, 0xb5, 0x06, 0x92, 0xf4, 0xa0, + 0xbd, 0x4b, 0xca, 0x48, 0xff, 0x94, 0xaa, 0x62, 0x45, 0x9b, 0x7b, 0x4b, 0x43, 0x2e, 0x92, 0xc7, + 0x1d, 0xce, 0xdd, 0x44, 0x5f, 0xb1, 0x45, 0xab, 0xc9, 0xd8, 0xa9, 0xa7, 0xff, 0xbf, 0x71, 0x70, + 0xfa, 0x71, 0xee, 0xa3, 0x6b, 0xd0, 0xc0, 0x7c, 0xc2, 0x95, 0xbd, 0x58, 0x2f, 0x5b, 0x6f, 0xdf, + 0xd3, 0xf1, 0x33, 0x37, 0x68, 0xb3, 0xd7, 0xb3, 0x45, 0x4c, 0xad, 0x0e, 0xde, 0xf2, 0x86, 0x57, + 0x1c, 0x89, 0x86, 0x48, 0xc6, 0x0a, 0xf5, 0x9a, 0x6b, 0xb0, 0xa3, 0xc4, 0xd1, 0xc6, 0x60, 0xbb, + 0x5c, 0xbd, 0x7b, 0x20, 0x12, 0x99, 0x5d, 0x28, 0x53, 0x48, 0x15, 0x38, 0x82, 0x9c, 0xca, 0xe0, + 0x0b, 0xcd, 0x62, 0xcc, 0xe4, 0x8a, 0x78, 0x76, 0xcb, 0xc8, 0x16, 0xfd, 0x84, 0x8e, 0x97, 0x56, + 0xfd, 0xb3, 0xe9, 0x6c, 0xbe, 0x3b, 0x39, 0x37, 0x34, 0x93, 0x41, 0x27, 0x2c, 0x33, 0x27, 0x71, + 0xfe, 0xab, 0xba, 0x78, 0x09, 0xd9, 0x66, 0xb4, 0xb2, 0x46, 0xe7, 0x88, 0xd4, 0x4d, 0xdd, 0x6e, + 0x49, 0x00, 0xa0, 0x23, 0x03, 0xf5, 0xab, 0xed, 0xa0, 0x32, 0x1d, 0x21, 0x48, 0x3c, 0xba, 0x02, + 0xaa, 0x52, 0x31, 0x8d, 0xad, 0x8a, 0x26, 0xb2, 0x2b, 0x44, 0xf1, 0xcd, 0x52, 0x3a, 0xd3, 0x42, + 0xb5, 0x73, 0xcd, 0x49, 0xeb, 0x89, 0x46, 0x9e, 0x6c, 0x3b, 0x20, 0xd1, 0x91, 0x04, 0xfe, 0xdd, + 0x4c, 0x90, 0x8d, 0x88, 0xe1, 0xc3, 0x10, 0x4e, 0xd4, 0x61, 0x28, 0x05, 0x91, 0x9f, 0x92, 0x9d, + 0xf3, 0x37, 0x9d, 0xc9, 0x18, 0xeb, 0xf8, 0xef, 0x5b, 0xac, 0x9a, 0x8d, 0x72, 0xd5, 0xce, 0x85, + 0xc9, 0xfc, 0xf4, 0xbc, 0xe8, 0x6c, 0x2a, 0x91, 0xba, 0xc0, 0xdc, 0x19, 0x42, 0x38, 0x9f, 0xa2, + 0xe6, 0x8e, 0xd5, 0xe1, 0x0a, 0xdc, 0x7c, 0x42, 0x90, 0x1a, 0x2a, 0x95, 0xce, 0x32, 0x69, 0xc4, + 0xf7, 0x07, 0xeb, 0x51, 0x06, 0x74, 0xfa, 0x33, 0x56, 0x49, 0x5e, 0x78, 0xf1, 0xc6, 0xa0, 0x45, + 0x88, 0x7d, 0xae, 0xf3, 0x68, 0x31, 0x0a, 0x90, 0xc3, 0x74, 0x16, 0x3b, 0xe1, 0xd6, 0x4e, 0x74, + 0xab, 0x2d, 0x01, 0x1f, 0x2c, 0x94, 0x45, 0x2b, 0x10, 0x90, 0xe9, 0xef, 0x7a, 0x59, 0x05, 0x5e, + 0x90, 0x6d, 0x35, 0x79, 0x12, 0x76, 0xb0, 0x60, 0x6a, 0x03, 0x0b, 0x57, 0x51, 0xfc, 0x3f, 0xa4, + 0xf3, 0x49, 0xeb, 0x4b, 0x75, 0x57, 0x43, 0x14, 0xa5, 0xc5, 0x33, 0xe7, 0x4a, 0x0b, 0xe5, 0xe1, + 0xbe, 0x2f, 0x88, 0x53, 0x0f, 0x64, 0x92, 0xbc, 0xd7, 0x5a, 0x2c, 0x9e, 0xe0, 0x14, 0x68, 0xcd, + 0xd3, 0x47, 0x71, 0x59, 0x5f, 0x8b, 0x4f, 0xa0, 0x36, 0x0e, 0xda, 0xbd, 0xad, 0x0f, 0x09, 0x21, + 0xd9, 0x57, 0xb9, 0xe4, 0x53, 0x8a, 0x9f, 0x07, 0xda, 0xc9, 0xd6, 0xa1, 0x1b, 0x0a, 0x0a, 0x44, + 0xe5, 0x37, 0x09, 0xd1, 0xe0, 0x39, 0x77, 0x36, 0x7d, 0xb2, 0x05, 0x0b, 0xdb, 0x00, 0xbb, 0xd9, + 0xeb, 0x20, 0x99, 0x01, 0xdc, 0x28, 0x2c, 0xe1, 0x5d, 0xb2, 0xa3, 0x15, 0x97, 0x05, 0x90, 0x94, + 0x65, 0x35, 0x80, 0x89, 0x8d, 0x26, 0x70, 0x49, 0xb6, 0x38, 0x63, 0xbb, 0xdf, 0x88, 0x5a, 0x60, + 0xef, 0x12, 0xca, 0x97, 0x7d, 0x6b, 0x9e, 0x95, 0x3b, 0x4f, 0xf9, 0xae, 0x09, 0xc2, 0x32, 0x05, + 0x17, 0xb8, 0x1b, 0x6d, 0x77, 0x43, 0x69, 0x9a, 0x26, 0x38, 0x54, 0x53, 0x39, 0xd3, 0x35, 0x17, + 0xfd, 0x1a, 0x4e, 0x5a, 0xb8, 0xcd, 0x8b, 0xb8, 0x3e, 0xbf, 0x76, 0x80, 0xf0, 0xce, 0xb7, 0x1a, + 0xc2, 0xfe, 0x2c, 0xf0, 0x0a, 0x3e, 0x54, 0x5e, 0x6d, 0x46, 0x27, 0x32, 0xf3, 0x43, 0x0c, 0xa7, + 0xd1, 0x48, 0xd7, 0xc8, 0xd4, 0x3f, 0x21, 0xf2, 0x38, 0x44, 0xf0, 0x8f, 0x89, 0xe6, 0x33, 0x73, + 0xc0, 0x76, 0xa0, 0xd1, 0x9c, 0x85, 0x49, 0x87, 0x2f, 0x3c, 0x5b, 0x8e, 0x05, 0x51, 0x8d, 0x09, + 0x01, 0x9a, 0xec, 0x57, 0x22, 0xfd, 0x5b, 0x85, 0xbb, 0x7c, 0x4a, 0x29, 0x5c, 0x4d, 0xa9, 0x31, + 0x0f, 0x7c, 0x09, 0x6d, 0x8b, 0x6d, 0xdd, 0x91, 0x35, 0x03, 0xd7, 0xcf, 0x9c, 0xfa, 0x8c, 0x10, + 0xf5, 0x42, 0x0d, 0xde, 0x38, 0x38, 0x9e, 0x3b, 0x73, 0x0a, 0xdd, 0x79, 0xc0, 0xaf, 0x82, 0xcf, + 0xac, 0xf4, 0xab, 0x82, 0x4a, 0x0e, 0xbb, 0x98, 0xb6, 0x0d, 0x65, 0xc0, 0x52, 0x80, 0xe9, 0xc6, + 0xce, 0x5f, 0x75, 0x51, 0x33, 0x9c, 0x44, 0xba, 0x8f, 0x4a, 0x00, 0xd4, 0xa8, 0xef, 0xbf, 0xa2, + 0x07, 0x30, 0xd2, 0x72, 0xf7, 0xef, 0x52, 0x48, 0x75, 0x2b, 0x2e, 0xc3, 0xc8, 0xc6, 0x6a, 0x5b, + 0xda, 0x50, 0x70, 0x9d, 0x9a, 0xb7, 0xae, 0x3a, 0xa0, 0x10, 0xcd, 0x39, 0x07, 0xf1, 0xb8, 0x53, + 0x94, 0x20, 0xa1, 0x70, 0x5f, 0x65, 0x78, 0x3b, 0xf0, 0x02, 0x21, 0xe9, 0xde, 0xd8, 0x79, 0xc4, + 0x97, 0x6a, 0x5a, 0xdf, 0xac, 0x74, 0x5c, 0xa7, 0x5c, 0x09, 0x29, 0x96, 0x1e, 0xdf, 0x4b, 0x41, + 0xe5, 0xa5, 0x04, 0xa6, 0xfc, 0x24, 0xb9, 0xca, 0x16, 0x10, 0x29, 0x0c, 0xde, 0x78, 0x90, 0x53, + 0x1d, 0x61, 0x10, 0x63, 0xb0, 0xcf, 0xae, 0x52, 0xfd, 0x12, 0x04, 0xc0, 0x24, 0xde, 0x04, 0x74, + 0x6c, 0xe5, 0xdb, 0x28, 0xa4, 0x8e, 0xd5, 0xb3, 0x21, 0x67, 0x42, 0xc3, 0xba, 0xa0, 0x51, 0x19, + 0xb8, 0x2c, 0xe9, 0xc4, 0xb5, 0x06, 0x5d, 0x75, 0xfd, 0x68, 0x20, 0x5a, 0x16, 0x5e, 0xb5, 0xcb, + 0xe5, 0x18, 0xd6, 0x09, 0x55, 0x7d, 0x86, 0xdc, 0x0c, 0x7e, 0xa5, 0xed, 0x28, 0x13, 0x6a, 0x7c, + 0xc8, 0x1e, 0x90, 0xf5, 0xb8, 0x9f, 0xfa, 0xed, 0xa4, 0x9e, 0xf5, 0x4a, 0x36, 0xc8, 0x7d, 0x3c, + 0xaa, 0x60, 0x73, 0xc3, 0x10, 0xca, 0x58, 0x71, 0x82, 0xf9, 0xc3, 0x93, 0x5f, 0xd8, 0x5a, 0xa6, + 0x0d, 0x0c, 0x4e, 0xa7, 0x58, 0xa9, 0x7e, 0x8b, 0x53, 0xca, 0x51, 0xd8, 0xfb, 0x53, 0xb6, 0x32, + 0x8a, 0xf9, 0xdc, 0x10, 0xdb, 0x2d, 0x9e, 0x14, 0x2e, 0x1b, 0x30, 0x74, 0x34, 0xa6, 0x94, 0x4b, + 0x28, 0x20, 0x36, 0x13, 0x4c, 0x54, 0x5b, 0x60, 0x18, 0xc4, 0x64, 0x88, 0xe3, 0xec, 0x0d, 0x58, + 0x28, 0x0b, 0x23, 0xaf, 0x01, 0xef, 0xad, 0xa3, 0xe9, 0x76, 0x09, 0xc3, 0xb9, 0x9f, 0xa4, 0xa1, + 0x94, 0x3f, 0xf5, 0xa6, 0x0d, 0x5b, 0xc3, 0xac, 0x5c, 0x1e, 0x4e, 0x42, 0xa9, 0x15, 0x98, 0x65, + 0xb0, 0x65, 0x94, 0xca, 0x5d, 0xdb, 0xd8, 0x5d, 0xf8, 0xaf, 0xae, 0xa7, 0xbf, 0xdb, 0x96, 0xe0, + 0x94, 0x0c, 0x6a, 0xa3, 0x55, 0xbe, 0x58, 0xa9, 0x76, 0xcd, 0xa0, 0x28, 0x65, 0x43, 0x79, 0x8c, + 0xb8, 0xcc, 0xeb, 0xb2, 0x97, 0xfd, 0x1f, 0xaf, 0xca, 0x6b, 0xbc, 0xee, 0x7e, 0x8b, 0x63, 0x65, + 0x22, 0x83, 0x28, 0x1c, 0x85, 0x21, 0xe7, 0x9f, 0x73, 0x42, 0xf2, 0xa3, 0x8d, 0xbc, 0xf6, 0x9d, + 0x6a, 0x67, 0x5e, 0xf4, 0x28, 0xd0, 0x38, 0x82, 0x90, 0x3e, 0xc3, 0xc5, 0x3f, 0xec, 0x40, 0x3e, + 0xa2, 0x17, 0x3f, 0xc5, 0x94, 0x7a, 0xf1, 0x07, 0x3a, 0x1f, 0x75, 0x1a, 0x3c, 0xd1, 0x12, 0x16, + 0xf8, 0xf0, 0x2f, 0x26, 0x34, 0xfc, 0xf2, 0x79, 0x2f, 0xbc, 0xed, 0x01, 0xa5, 0xcd, 0x07, 0x98, + 0x35, 0xd8, 0x8e, 0x53, 0x59, 0x3a, 0x56, 0x50, 0xcc, 0xe7, 0x77, 0x36, 0x45, 0xb0, 0x70, 0x10, + 0xdc, 0x7f, 0xcc, 0x41, 0x9b, 0xd9, 0x00, 0x61, 0x46, 0x1f, 0xb6, 0x85, 0xdc, 0xdd, 0xdc, 0x91, + 0xa4, 0xaa, 0x9e, 0x08, 0xc7, 0xbe, 0x11, 0x86, 0xe8, 0x6d, 0xf4, 0x07, 0x4d, 0xe6, 0x7d, 0x1e, + 0xdd, 0x8f, 0x93, 0xa2, 0xe7, 0xf9, 0xc3, 0x43, 0xa8, 0xb7, 0xc0, 0x68, 0x7c, 0xc5, 0x62, 0x48, + 0x83, 0x4c, 0xf4, 0x66, 0x1f, 0x87, 0xca, 0x9d, 0x80, 0xb1, 0xc1, 0xf0, 0x03, 0x9b, 0x6e, 0x6c, + 0xf7, 0xde, 0x0c, 0x1c, 0x75, 0xc9, 0xea, 0xd8, 0x52, 0x6f, 0x43, 0x9b, 0x6b, 0x1c, 0x67, 0x0a, + 0xcf, 0x4b, 0xf8, 0xfc, 0xe8, 0xec, 0x08, 0xab, 0x84, 0x8e, 0x9b, 0x0a, 0xb7, 0x90, 0xf5, 0x50, + 0x31, 0x6b, 0xca, 0xc0, 0xd1, 0x24, 0xab, 0x41, 0x16, 0x91, 0xc7, 0xba, 0x33, 0xae, 0xcc, 0x6c, + 0xcb, 0x27, 0x23, 0xc9, 0x1d, 0x9b, 0xe9, 0x51, 0x29, 0x6a, 0x12, 0xad, 0x10, 0xfd, 0x30, 0x00, + 0xc5, 0xfa, 0xc0, 0x35, 0xd1, 0x3f, 0xd0, 0x1d, 0xe6, 0xcf, 0x3e, 0xb6, 0x03, 0x67, 0x52, 0x63, + 0x5d, 0x12, 0x0a, 0xd7, 0xc9, 0x1d, 0xa6, 0xd4, 0xed, 0xa1, 0xa0, 0xd1, 0xb1, 0xc7, 0x3c, 0x68, + 0x4a, 0x5e, 0xac, 0x46, 0x15, 0x81, 0x2e, 0xbf, 0xdd, 0xa4, 0x76, 0xe9, 0x71, 0x30, 0x86, 0xa7, + 0xa4, 0x42, 0x79, 0x02, 0x5e, 0x51, 0x65, 0xfa, 0xff, 0x13, 0xc9, 0xa8, 0x01, 0xf6, 0x5f, 0x1a, + 0x9a, 0x52, 0xb7, 0xa1, 0x88, 0x46, 0x7d, 0x6f, 0x52, 0x8f, 0xd6, 0xb2, 0x26, 0x39, 0x69, 0x24, + 0xf6, 0xed, 0x15, 0x63, 0xa6, 0x4a, 0xbd, 0x2d, 0xf6, 0x64, 0x29, 0x89, 0xaf, 0x77, 0x26, 0xf7, + 0xcc, 0x39, 0x1a, 0x54, 0xac, 0xa7, 0x74, 0x48, 0xe8, 0x66, 0xc0, 0xc0, 0xa6, 0xa6, 0x65, 0x56, + 0x7b, 0xeb, 0x79, 0xb7, 0x29, 0x52, 0x82, 0x87, 0x4b, 0x14, 0x5f, 0xe2, 0x30, 0x3e, 0xb1, 0x8e, + 0x79, 0x63, 0xfe, 0x61, 0xf4, 0x36, 0x1b, 0x52, 0x72, 0x04, 0xea, 0xea, 0xe2, 0xc2, 0x65, 0xe4, + 0x4a, 0xfb, 0x6a, 0xf2, 0x83, 0xb2, 0xc8, 0xaf, 0x32, 0xdf, 0xcd, 0x96, 0xe7, 0x73, 0xd3, 0x60, + 0x9c, 0x58, 0xfa, 0xbf, 0xa2, 0xc6, 0xe5, 0xf9, 0x92, 0x12, 0xf2, 0x6e, 0x2d, 0xe7, 0x53, 0x38, + 0x45, 0xc1, 0x7a, 0x50, 0x33, 0xe3, 0x94, 0x45, 0xed, 0x45, 0x32, 0x6c, 0xe3, 0xfd, 0xa0, 0xb0, + 0x2d, 0x30, 0x00, 0x09, 0x53, 0x61, 0x31, 0x66, 0x2d, 0x7a, 0xfc, 0x00, 0x80, 0x5a, 0x47, 0xa4, + 0x34, 0x47, 0x2f, 0x95, 0xf6, 0xf3, 0x31, 0x86, 0xd8, 0x1b, 0x0f, 0x82, 0x68, 0xb1, 0xce, 0x13, + 0x9b, 0x08, 0xa4, 0x26, 0xd0, 0x35, 0x35, 0xaa, 0x3f, 0x82, 0xd2, 0x54, 0xae, 0xec, 0x09, 0xd3, +]; diff --git a/fsb/tests/lib.rs b/fsb/tests/lib.rs new file mode 100644 index 000000000..0597dacf5 --- /dev/null +++ b/fsb/tests/lib.rs @@ -0,0 +1,86 @@ +use hex_literal::hex; + +use digest::Digest; +use fsb::*; + +#[test] +fn main() { + let msg_1 = b"hello"; + let msg_2 = b"The quick brown fox jumps over the lazy dog"; + let msg_3 = b"tiriri tralala potompompom"; + + assert_eq!( + Fsb160::digest(msg_1)[..], + hex!("6e8ce7998e4c46a4ca7c5e8f6498a5778140d14b")[..], + ); + + assert_eq!( + Fsb160::digest(msg_2)[..], + hex!("a25f6e24c6fb67533f0a25233ac5cc09d5793e8a")[..] + ); + + assert_eq!( + Fsb160::digest(msg_3)[..], + hex!("bfbd2f301a8ffbcfb60f3964d96d07e6569824f9")[..] + ); + + assert_eq!( + Fsb224::digest(msg_1)[..], + hex!("5b04d5f3c350d00f8815f018d21a2e7289bc6993b4fa167976962537")[..] + ); + + assert_eq!( + Fsb224::digest(msg_2)[..], + hex!("1dd28d92cad63335fcca4c64a5e1133ccaa8c3e6083ad15591280701")[..] + ); + + assert_eq!( + Fsb224::digest(msg_3)[..], + hex!("bd9cc65169789ab20fbba27910a9f5323d0559f107eff3c55656dd23")[..] + ); + + assert_eq!( + Fsb256::digest(msg_1)[..], + hex!("0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f28edbc")[..] + ); + + assert_eq!( + Fsb256::digest(msg_2)[..], + hex!("a0751229aac5aeba6aeb1c0533988302e5084bb11029e7bb0ada7a653491df24")[..] + ); + + assert_eq!( + Fsb256::digest(msg_3)[..], + hex!("f997ac523044618f2837407ad76bf41a194bb558cf50ea1c64b379be2f5f2b5e")[..] + ); + + assert_eq!( + Fsb384::digest(msg_1)[..], + hex!("010d14a04da89df22685138b6b7795501ebdc109b6c714364126fcb46a0b570a9d714bc992455f8cf2099c8750cdb90b")[..] + ); + + assert_eq!( + Fsb384::digest(msg_2)[..], + hex!("4983ecfa3930e3cf61ac4c82695c01a394016b39cf22b5d6dcba447ef8cbcda46ac341ccf5835f331fed0abe73e9bf1c")[..] + ); + + assert_eq!( + Fsb384::digest(msg_3)[..], + hex!("0597e317f2a3f311db2485f0b8335607e6bcc6f918d07f6b0dc14bc044c558a9bcd0f5f346ad85bb043ff097f43f4f95")[..] + ); + + assert_eq!( + Fsb512::digest(msg_1)[..], + hex!("0c6bb476d9727b90a1f063435e8d611aacdc904e9680fe585b65442f2a3ac5043a3979ff252adf6cc9d34ef0b179a90ae2f2e8789f8797bff2426c90a58fb28b")[..] + ); + + assert_eq!( + Fsb512::digest(msg_2)[..], + hex!("6f87b9dc051330bfb0dd7ad35c05d6a2040e9a6110b06886368934d6ae25694fd9790b1bf1086af9da4b15619609b688fa576376f136adbd3b5a51ae1a1f2158")[..] + ); + + assert_eq!( + Fsb512::digest(msg_3)[..], + hex!("7dd5255dafac0796df851d278eb70f554a539cc3dfdfe0a3d73e46df1ab51c029d3634db022fcd032ee8376ea777e34af118821fb1ff2b34b7378e517eacdc73")[..] + ); +} From a949d9f96eba78eacbaf06bcb76f6d1d0bade986 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 15:46:02 -0700 Subject: [PATCH 161/373] fsb v0.0.1 (#291) --- .github/workflows/fsb.yml | 58 ++++++++++++++++++++++++++ Cargo.lock | 2 +- fsb/CHANGELOG.md | 9 +++++ fsb/Cargo.toml | 6 ++- fsb/README.md | 6 +-- fsb/src/lib.rs | 85 ++++++++++++++++++++++++++++++++++----- 6 files changed, 150 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/fsb.yml create mode 100644 fsb/CHANGELOG.md diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml new file mode 100644 index 000000000..f8a36ffa4 --- /dev/null +++ b/.github/workflows/fsb.yml @@ -0,0 +1,58 @@ +name: fsb + +on: + pull_request: + paths: + - "fsb/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: fsb + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.47.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.47.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --features asm + - run: cargo test --all-features diff --git a/Cargo.lock b/Cargo.lock index 364a72d98..13ea1b1d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.1.0" +version = "0.0.1" dependencies = [ "block-buffer", "digest", diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md new file mode 100644 index 000000000..c0b561428 --- /dev/null +++ b/fsb/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.0.1 (2020-07-18) +- Initial release diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 1a137262a..d378aea22 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fsb" -version = "0.1.0" description = "FSB hash function" +version = "0.0.1" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" @@ -18,3 +18,7 @@ opaque-debug = "0.3" [dev-dependencies] hex-literal = "0.2" + +[features] +asm = ["whirlpool/asm"] +std = ["whirlpool/std"] diff --git a/fsb/README.md b/fsb/README.md index 74495e726..53319e926 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [FSB hash function][1] family. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.47** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -47,10 +47,10 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.47+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb [//]: # (general links) -[1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb \ No newline at end of file +[1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 2c510f388..9163092b2 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -37,21 +37,20 @@ //! [1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb //! [2]: https://github.com/RustCrypto/hashes -// #![no_std] +#![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] - #![allow(non_snake_case)] +extern crate alloc; + #[cfg(feature = "std")] extern crate std; -#[cfg(not(feature = "std"))] -extern crate alloc; use alloc::vec; #[macro_use] @@ -63,13 +62,77 @@ use whirlpool::Whirlpool; use core::convert::TryInto; +use crate::pi::PI; use block_buffer::BlockBuffer; -use digest::{generic_array::GenericArray}; +use digest::generic_array::GenericArray; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -use crate::pi::PI; -fsb_impl!(Fsb160, 160, U60, U20, 5 << 18, 80, 640, 653, 1120, "FSB-160 hash function."); -fsb_impl!(Fsb224, 224, U84, U28, 7 << 18, 112, 896, 907, 1568, "FSB-224 hash function."); -fsb_impl!(Fsb256, 256, U96, U32, 1 << 21, 128, 1024, 1061, 1792, "FSB-256 hash function."); -fsb_impl!(Fsb384, 384, U115, U48, 23 << 16, 184, 1472, 1483, 2392, "FSB-384 hash function."); -fsb_impl!(Fsb512, 512, U155, U64, 31 << 16, 248, 1984, 1987, 3224, "FSB-512 hash function."); +// FSB-160 +fsb_impl!( + Fsb160, + 160, + U60, + U20, + 5 << 18, + 80, + 640, + 653, + 1120, + "FSB-160 hash function." +); + +// FSB-224 +fsb_impl!( + Fsb224, + 224, + U84, + U28, + 7 << 18, + 112, + 896, + 907, + 1568, + "FSB-224 hash function." +); + +// FSB-256 +fsb_impl!( + Fsb256, + 256, + U96, + U32, + 1 << 21, + 128, + 1024, + 1061, + 1792, + "FSB-256 hash function." +); + +// FSB-384 +fsb_impl!( + Fsb384, + 384, + U115, + U48, + 23 << 16, + 184, + 1472, + 1483, + 2392, + "FSB-384 hash function." +); + +// FSB-512 +fsb_impl!( + Fsb512, + 512, + U155, + U64, + 31 << 16, + 248, + 1984, + 1987, + 3224, + "FSB-512 hash function." +); From c5f6274ca04ab669826d66af0b71dbbc2c939b95 Mon Sep 17 00:00:00 2001 From: Tianjia Zhang Date: Mon, 19 Jul 2021 08:54:46 +0800 Subject: [PATCH 162/373] sm3: add OSCCA SM3 secure hash (#249) Add OSCCA SM3 secure hash (OSCCA GM/T 0004-2012 SM3) generic hash transformation. Signed-off-by: Tianjia Zhang --- .github/workflows/sm3.yml | 58 +++++ Cargo.lock | 10 + Cargo.toml | 1 + README.md | 2 + sm3/CHANGELOG.md | 12 ++ sm3/Cargo.toml | 25 +++ sm3/LICENSE-APACHE | 201 +++++++++++++++++ sm3/LICENSE-MIT | 25 +++ sm3/README.md | 56 +++++ sm3/benches/sm3.rs | 4 + sm3/examples/sm3sum.rs | 47 ++++ sm3/src/consts.rs | 16 ++ sm3/src/lib.rs | 54 +++++ sm3/src/sm3.rs | 310 +++++++++++++++++++++++++++ sm3/tests/data/sm3.blb | Bin 0 -> 253 bytes sm3/tests/data/sm3_one_million_a.bin | 2 + sm3/tests/lib.rs | 28 +++ 17 files changed, 851 insertions(+) create mode 100644 .github/workflows/sm3.yml create mode 100644 sm3/CHANGELOG.md create mode 100644 sm3/Cargo.toml create mode 100644 sm3/LICENSE-APACHE create mode 100644 sm3/LICENSE-MIT create mode 100644 sm3/README.md create mode 100644 sm3/benches/sm3.rs create mode 100644 sm3/examples/sm3sum.rs create mode 100644 sm3/src/consts.rs create mode 100644 sm3/src/lib.rs create mode 100644 sm3/src/sm3.rs create mode 100644 sm3/tests/data/sm3.blb create mode 100644 sm3/tests/data/sm3_one_million_a.bin create mode 100644 sm3/tests/lib.rs diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml new file mode 100644 index 000000000..e954778f6 --- /dev/null +++ b/.github/workflows/sm3.yml @@ -0,0 +1,58 @@ +name: sm3 + +on: + pull_request: + paths: + - "sm3/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: sm3 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features + diff --git a/Cargo.lock b/Cargo.lock index 13ea1b1d7..efca1dab4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -302,6 +302,16 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sm3" +version = "0.1.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal", + "opaque-debug", +] + [[package]] name = "streebog" version = "0.9.2" diff --git a/Cargo.toml b/Cargo.toml index 604f794cc..7eca592fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ members = [ "sha2", "sha3", "shabal", + "sm3", "streebog", "tiger", "whirlpool", diff --git a/README.md b/README.md index 4959c664d..6b360a780 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ BLAKE2, SHA-2 or SHA-3. | `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | [![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha2+branch:master) | :green_heart: | | `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | [![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha3+branch:master) | :green_heart: | | `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | [![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:shabal+branch:master) | :green_heart: | +| `sm3` | [SM3 (OSCCA GM/T 0004-2012)] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | [![build](https://github.com/rustcrypto/hashes/workflows/sm3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sm3+branch:master) | :green_heart: | | `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | [![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:streebog+branch:master) | :yellow_heart: | | `tiger` | [Tiger] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | [![build](https://github.com/rustcrypto/hashes/workflows/tiger/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:tiger+branch:master) | :green_heart: | | `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | [![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:whirlpool+branch:master) | :green_heart: | @@ -225,6 +226,7 @@ dual licensed as above, without any additional terms or conditions. [SHA-2]: https://en.wikipedia.org/wiki/SHA-2 [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 [SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[SM3]: https://en.wikipedia.org/wiki/SM3_(hash_function) [Streebog]: https://en.wikipedia.org/wiki/Streebog [Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography) [Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md new file mode 100644 index 000000000..dd4f33097 --- /dev/null +++ b/sm3/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2021-03-30) +### Changed +- SM3 release ([#249]) + +[#249]: https://github.com/RustCrypto/hashes/pull/249 diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml new file mode 100644 index 000000000..e8d7d151e --- /dev/null +++ b/sm3/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "sm3" +version = "0.1.0" +description = "SM3 (OSCCA GM/T 0004-2012) hash function" +authors = ["Tianjia Zhang "] +license = "MIT OR Apache-2.0" +readme = "README.md" +edition = "2018" +documentation = "https://docs.rs/sm3" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "sm3", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.9" +block-buffer = "0.9" +opaque-debug = "0.3" + +[dev-dependencies] +digest = { version = "0.9", features = ["dev"] } +hex-literal = "0.2" + +[features] +default = ["std"] +std = ["digest/std"] diff --git a/sm3/LICENSE-APACHE b/sm3/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/sm3/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/sm3/LICENSE-MIT b/sm3/LICENSE-MIT new file mode 100644 index 000000000..78d6d79a4 --- /dev/null +++ b/sm3/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2016 Artyom Pavlov + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/sm3/README.md b/sm3/README.md new file mode 100644 index 000000000..29bdcf63e --- /dev/null +++ b/sm3/README.md @@ -0,0 +1,56 @@ +# RustCrypto: SM3 + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [SM3 (OSCCA GM/T 0004-2012)][1] hash function. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/sm3.svg +[crate-link]: https://crates.io/crates/sm3 +[docs-image]: https://docs.rs/sm3/badge.svg +[docs-link]: https://docs.rs/sm3/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/sm3/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asm3 + +[//]: # (general links) + +[1]: https://en.wikipedia.org/wiki/sm3 diff --git a/sm3/benches/sm3.rs b/sm3/benches/sm3.rs new file mode 100644 index 000000000..1d9158388 --- /dev/null +++ b/sm3/benches/sm3.rs @@ -0,0 +1,4 @@ +#![no_std] +#![feature(test)] + +digest::bench!(sm3::Sm3); diff --git a/sm3/examples/sm3sum.rs b/sm3/examples/sm3sum.rs new file mode 100644 index 000000000..94ec40810 --- /dev/null +++ b/sm3/examples/sm3sum.rs @@ -0,0 +1,47 @@ +use sm3::{Digest, Sm3}; +use std::env; +use std::fs; +use std::io::{self, Read}; + +const BUFFER_SIZE: usize = 1024; + +/// Print digest result as hex string and name pair +fn print_result(sum: &[u8], name: &str) { + for byte in sum { + print!("{:02x}", byte); + } + println!("\t{}", name); +} + +/// Compute digest value for given `Reader` and print it +/// On any error simply return without doing anything +fn process(reader: &mut R, name: &str) { + let mut sh = D::default(); + let mut buffer = [0u8; BUFFER_SIZE]; + loop { + let n = match reader.read(&mut buffer) { + Ok(n) => n, + Err(_) => return, + }; + sh.update(&buffer[..n]); + if n == 0 || n < BUFFER_SIZE { + break; + } + } + print_result(&sh.finalize(), name); +} + +fn main() { + let args = env::args(); + // Process files listed in command line arguments one by one + // If no files provided process input from stdin + if args.len() > 1 { + for path in args.skip(1) { + if let Ok(mut file) = fs::File::open(&path) { + process::(&mut file, &path); + } + } + } else { + process::(&mut io::stdin(), "-"); + } +} diff --git a/sm3/src/consts.rs b/sm3/src/consts.rs new file mode 100644 index 000000000..1e997c221 --- /dev/null +++ b/sm3/src/consts.rs @@ -0,0 +1,16 @@ +#![allow(clippy::unreadable_literal)] + +pub const T32: [u32; 64] = [ + 0x79cc4519, 0xf3988a32, 0xe7311465, 0xce6228cb, 0x9cc45197, 0x3988a32f, 0x7311465e, 0xe6228cbc, + 0xcc451979, 0x988a32f3, 0x311465e7, 0x6228cbce, 0xc451979c, 0x88a32f39, 0x11465e73, 0x228cbce6, + 0x9d8a7a87, 0x3b14f50f, 0x7629ea1e, 0xec53d43c, 0xd8a7a879, 0xb14f50f3, 0x629ea1e7, 0xc53d43ce, + 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5, + 0x7a879d8a, 0xf50f3b14, 0xea1e7629, 0xd43cec53, 0xa879d8a7, 0x50f3b14f, 0xa1e7629e, 0x43cec53d, + 0x879d8a7a, 0x0f3b14f5, 0x1e7629ea, 0x3cec53d4, 0x79d8a7a8, 0xf3b14f50, 0xe7629ea1, 0xcec53d43, + 0x9d8a7a87, 0x3b14f50f, 0x7629ea1e, 0xec53d43c, 0xd8a7a879, 0xb14f50f3, 0x629ea1e7, 0xc53d43ce, + 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5, +]; + +pub static SM3_IV: [u32; 8] = [ + 0x7380166f, 0x4914b2b9, 0x172442d7, 0xda8a0600, 0xa96f30bc, 0x163138aa, 0xe38dee4d, 0xb0fb0e4e, +]; diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs new file mode 100644 index 000000000..ca9001d60 --- /dev/null +++ b/sm3/src/lib.rs @@ -0,0 +1,54 @@ +//! An implementation of the [SM3] cryptographic hash function defined +//! in OSCCA GM/T 0004-2012. +//! +//! # Usage +//! Hasher functionality is expressed via traits defined in the [`digest`] +//! crate. +//! +//! ```rust +//! use hex_literal::hex; +//! use sm3::{Digest, Sm3}; +//! +//! // create a hasher object, to use it do not forget to import `Digest` trait +//! let mut hasher = Sm3::new(); +//! +//! // write input message +//! hasher.update(b"hello world"); +//! +//! // read hash digest and consume hasher +//! let result = hasher.finalize(); +//! +//! assert_eq!(result[..], hex!(" +//! 44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d3fff88 +//! ")[..]); +//! ``` +//! +//! Also see [RustCrypto/hashes][2] readme. +//! +//! [1]: https://zh.wikipedia.org/zh-hans/SM3 +//! [2]: https://github.com/RustCrypto/hashes + +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + +#[cfg(feature = "std")] +extern crate std; + +mod consts; +mod sm3; + +pub use digest::{self, Digest}; + +#[cfg(feature = "std")] +use digest::Update; + +pub use crate::sm3::Sm3; + +opaque_debug::implement!(Sm3); + +digest::impl_write!(Sm3); diff --git a/sm3/src/sm3.rs b/sm3/src/sm3.rs new file mode 100644 index 000000000..42be5cf5c --- /dev/null +++ b/sm3/src/sm3.rs @@ -0,0 +1,310 @@ +//! SM3 +#![allow(clippy::many_single_char_names, clippy::too_many_arguments)] +use crate::consts::{SM3_IV, T32}; +use block_buffer::BlockBuffer; +use core::convert::TryInto; +use core::slice::from_ref; +use digest::consts::{U32, U64}; +use digest::generic_array::GenericArray; +use digest::{BlockInput, FixedOutputDirty, Reset, Update}; + +/// The SM3 hash algorithm with the SM3 initial hash value. +#[derive(Clone)] +pub struct Sm3 { + len: u64, + buffer: BlockBuffer, + state: [u32; 8], +} + +impl Default for Sm3 { + fn default() -> Self { + Sm3 { + len: 0, + buffer: Default::default(), + state: SM3_IV, + } + } +} + +impl BlockInput for Sm3 { + type BlockSize = U64; +} + +impl Update for Sm3 { + fn update(&mut self, input: impl AsRef<[u8]>) { + self.len += (input.as_ref().len() as u64) << 3; + let s = &mut self.state; + self.buffer + .input_blocks(input.as_ref(), |b| sm3_compress(s, b)); + } +} + +impl FixedOutputDirty for Sm3 { + type OutputSize = U32; + + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { + let s = &mut self.state; + let l = self.len; + self.buffer + .len64_padding_be(l, |b| sm3_compress(s, from_ref(b))); + + let s = self.state; + for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl Reset for Sm3 { + fn reset(&mut self) { + self.len = 0; + self.buffer.reset(); + self.state = SM3_IV; + } +} + +#[inline(always)] +fn ff1(x: u32, y: u32, z: u32) -> u32 { + x ^ y ^ z +} + +#[inline(always)] +fn ff2(x: u32, y: u32, z: u32) -> u32 { + (x & y) | (x & z) | (y & z) +} + +#[inline(always)] +fn gg1(x: u32, y: u32, z: u32) -> u32 { + x ^ y ^ z +} + +#[inline(always)] +fn gg2(x: u32, y: u32, z: u32) -> u32 { + (x & y) | (!x & z) +} + +#[inline(always)] +fn p0(x: u32) -> u32 { + x ^ x.rotate_left(9) ^ x.rotate_left(17) +} + +#[inline(always)] +fn p1(x: u32) -> u32 { + x ^ x.rotate_left(15) ^ x.rotate_left(23) +} + +#[inline(always)] +fn w1(x: &[u32; 16], i: usize) -> u32 { + x[i & 0x0f] +} + +#[inline(always)] +fn w2(x: &mut [u32; 16], i: usize) -> u32 { + let tw = w1(x, i) ^ w1(x, i - 9) ^ w1(x, i - 3).rotate_left(15); + let tw = p1(tw) ^ w1(x, i - 13).rotate_left(7) ^ w1(x, i - 6); + x[i & 0x0f] = tw; + tw +} + +#[inline(always)] +fn t(i: usize) -> u32 { + T32[i] +} + +fn sm3_round1( + a: u32, + b: u32, + c: u32, + d: u32, + e: u32, + f: u32, + g: u32, + h: u32, + t: u32, + w1: u32, + w2: u32, +) -> [u32; 8] { + let ss1 = (a.rotate_left(12).wrapping_add(e).wrapping_add(t)).rotate_left(7); + let ss2 = ss1 ^ a.rotate_left(12); + + let d = d + .wrapping_add(ff1(a, b, c)) + .wrapping_add(ss2) + .wrapping_add(w1 ^ w2); + let h = h + .wrapping_add(gg1(e, f, g)) + .wrapping_add(ss1) + .wrapping_add(w1); + let b = b.rotate_left(9); + let f = f.rotate_left(19); + let h = p0(h); + + [a, b, c, d, e, f, g, h] +} + +fn sm3_round2( + a: u32, + b: u32, + c: u32, + d: u32, + e: u32, + f: u32, + g: u32, + h: u32, + t: u32, + w1: u32, + w2: u32, +) -> [u32; 8] { + let ss1 = (a.rotate_left(12).wrapping_add(e).wrapping_add(t)).rotate_left(7); + let ss2 = ss1 ^ a.rotate_left(12); + + let d = d + .wrapping_add(ff2(a, b, c)) + .wrapping_add(ss2) + .wrapping_add(w1 ^ w2); + let h = h + .wrapping_add(gg2(e, f, g)) + .wrapping_add(ss1) + .wrapping_add(w1); + let b = b.rotate_left(9); + let f = f.rotate_left(19); + let h = p0(h); + + [a, b, c, d, e, f, g, h] +} + +macro_rules! R1 { + ( + $a: ident, $b: ident, $c: ident, $d: ident, + $e: ident, $f: ident, $g: ident, $h: ident, + $t: expr, $w1: expr, $w2: expr + ) => {{ + let out = sm3_round1($a, $b, $c, $d, $e, $f, $g, $h, $t, $w1, $w2); + $a = out[0]; + $b = out[1]; + $c = out[2]; + $d = out[3]; + $e = out[4]; + $f = out[5]; + $g = out[6]; + $h = out[7]; + }}; +} + +macro_rules! R2 { + ( + $a: ident, $b: ident, $c: ident, $d: ident, + $e: ident, $f: ident, $g: ident, $h: ident, + $t: expr, $w1: expr, $w2: expr + ) => {{ + let out = sm3_round2($a, $b, $c, $d, $e, $f, $g, $h, $t, $w1, $w2); + $a = out[0]; + $b = out[1]; + $c = out[2]; + $d = out[3]; + $e = out[4]; + $f = out[5]; + $g = out[6]; + $h = out[7]; + }}; +} + +fn sm3_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { + let mut x: [u32; 16] = *block; + + let mut a = state[0]; + let mut b = state[1]; + let mut c = state[2]; + let mut d = state[3]; + let mut e = state[4]; + let mut f = state[5]; + let mut g = state[6]; + let mut h = state[7]; + + R1!(a, b, c, d, e, f, g, h, t(0), w1(&x, 0), w1(&x, 4)); + R1!(d, a, b, c, h, e, f, g, t(1), w1(&x, 1), w1(&x, 5)); + R1!(c, d, a, b, g, h, e, f, t(2), w1(&x, 2), w1(&x, 6)); + R1!(b, c, d, a, f, g, h, e, t(3), w1(&x, 3), w1(&x, 7)); + R1!(a, b, c, d, e, f, g, h, t(4), w1(&x, 4), w1(&x, 8)); + R1!(d, a, b, c, h, e, f, g, t(5), w1(&x, 5), w1(&x, 9)); + R1!(c, d, a, b, g, h, e, f, t(6), w1(&x, 6), w1(&x, 10)); + R1!(b, c, d, a, f, g, h, e, t(7), w1(&x, 7), w1(&x, 11)); + R1!(a, b, c, d, e, f, g, h, t(8), w1(&x, 8), w1(&x, 12)); + R1!(d, a, b, c, h, e, f, g, t(9), w1(&x, 9), w1(&x, 13)); + R1!(c, d, a, b, g, h, e, f, t(10), w1(&x, 10), w1(&x, 14)); + R1!(b, c, d, a, f, g, h, e, t(11), w1(&x, 11), w1(&x, 15)); + R1!(a, b, c, d, e, f, g, h, t(12), w1(&x, 12), w2(&mut x, 16)); + R1!(d, a, b, c, h, e, f, g, t(13), w1(&x, 13), w2(&mut x, 17)); + R1!(c, d, a, b, g, h, e, f, t(14), w1(&x, 14), w2(&mut x, 18)); + R1!(b, c, d, a, f, g, h, e, t(15), w1(&x, 15), w2(&mut x, 19)); + R2!(a, b, c, d, e, f, g, h, t(16), w1(&x, 16), w2(&mut x, 20)); + R2!(d, a, b, c, h, e, f, g, t(17), w1(&x, 17), w2(&mut x, 21)); + R2!(c, d, a, b, g, h, e, f, t(18), w1(&x, 18), w2(&mut x, 22)); + R2!(b, c, d, a, f, g, h, e, t(19), w1(&x, 19), w2(&mut x, 23)); + R2!(a, b, c, d, e, f, g, h, t(20), w1(&x, 20), w2(&mut x, 24)); + R2!(d, a, b, c, h, e, f, g, t(21), w1(&x, 21), w2(&mut x, 25)); + R2!(c, d, a, b, g, h, e, f, t(22), w1(&x, 22), w2(&mut x, 26)); + R2!(b, c, d, a, f, g, h, e, t(23), w1(&x, 23), w2(&mut x, 27)); + R2!(a, b, c, d, e, f, g, h, t(24), w1(&x, 24), w2(&mut x, 28)); + R2!(d, a, b, c, h, e, f, g, t(25), w1(&x, 25), w2(&mut x, 29)); + R2!(c, d, a, b, g, h, e, f, t(26), w1(&x, 26), w2(&mut x, 30)); + R2!(b, c, d, a, f, g, h, e, t(27), w1(&x, 27), w2(&mut x, 31)); + R2!(a, b, c, d, e, f, g, h, t(28), w1(&x, 28), w2(&mut x, 32)); + R2!(d, a, b, c, h, e, f, g, t(29), w1(&x, 29), w2(&mut x, 33)); + R2!(c, d, a, b, g, h, e, f, t(30), w1(&x, 30), w2(&mut x, 34)); + R2!(b, c, d, a, f, g, h, e, t(31), w1(&x, 31), w2(&mut x, 35)); + R2!(a, b, c, d, e, f, g, h, t(32), w1(&x, 32), w2(&mut x, 36)); + R2!(d, a, b, c, h, e, f, g, t(33), w1(&x, 33), w2(&mut x, 37)); + R2!(c, d, a, b, g, h, e, f, t(34), w1(&x, 34), w2(&mut x, 38)); + R2!(b, c, d, a, f, g, h, e, t(35), w1(&x, 35), w2(&mut x, 39)); + R2!(a, b, c, d, e, f, g, h, t(36), w1(&x, 36), w2(&mut x, 40)); + R2!(d, a, b, c, h, e, f, g, t(37), w1(&x, 37), w2(&mut x, 41)); + R2!(c, d, a, b, g, h, e, f, t(38), w1(&x, 38), w2(&mut x, 42)); + R2!(b, c, d, a, f, g, h, e, t(39), w1(&x, 39), w2(&mut x, 43)); + R2!(a, b, c, d, e, f, g, h, t(40), w1(&x, 40), w2(&mut x, 44)); + R2!(d, a, b, c, h, e, f, g, t(41), w1(&x, 41), w2(&mut x, 45)); + R2!(c, d, a, b, g, h, e, f, t(42), w1(&x, 42), w2(&mut x, 46)); + R2!(b, c, d, a, f, g, h, e, t(43), w1(&x, 43), w2(&mut x, 47)); + R2!(a, b, c, d, e, f, g, h, t(44), w1(&x, 44), w2(&mut x, 48)); + R2!(d, a, b, c, h, e, f, g, t(45), w1(&x, 45), w2(&mut x, 49)); + R2!(c, d, a, b, g, h, e, f, t(46), w1(&x, 46), w2(&mut x, 50)); + R2!(b, c, d, a, f, g, h, e, t(47), w1(&x, 47), w2(&mut x, 51)); + R2!(a, b, c, d, e, f, g, h, t(48), w1(&x, 48), w2(&mut x, 52)); + R2!(d, a, b, c, h, e, f, g, t(49), w1(&x, 49), w2(&mut x, 53)); + R2!(c, d, a, b, g, h, e, f, t(50), w1(&x, 50), w2(&mut x, 54)); + R2!(b, c, d, a, f, g, h, e, t(51), w1(&x, 51), w2(&mut x, 55)); + R2!(a, b, c, d, e, f, g, h, t(52), w1(&x, 52), w2(&mut x, 56)); + R2!(d, a, b, c, h, e, f, g, t(53), w1(&x, 53), w2(&mut x, 57)); + R2!(c, d, a, b, g, h, e, f, t(54), w1(&x, 54), w2(&mut x, 58)); + R2!(b, c, d, a, f, g, h, e, t(55), w1(&x, 55), w2(&mut x, 59)); + R2!(a, b, c, d, e, f, g, h, t(56), w1(&x, 56), w2(&mut x, 60)); + R2!(d, a, b, c, h, e, f, g, t(57), w1(&x, 57), w2(&mut x, 61)); + R2!(c, d, a, b, g, h, e, f, t(58), w1(&x, 58), w2(&mut x, 62)); + R2!(b, c, d, a, f, g, h, e, t(59), w1(&x, 59), w2(&mut x, 63)); + R2!(a, b, c, d, e, f, g, h, t(60), w1(&x, 60), w2(&mut x, 64)); + R2!(d, a, b, c, h, e, f, g, t(61), w1(&x, 61), w2(&mut x, 65)); + R2!(c, d, a, b, g, h, e, f, t(62), w1(&x, 62), w2(&mut x, 66)); + R2!(b, c, d, a, f, g, h, e, t(63), w1(&x, 63), w2(&mut x, 67)); + + state[0] ^= a; + state[1] ^= b; + state[2] ^= c; + state[3] ^= d; + state[4] ^= e; + state[5] ^= f; + state[6] ^= g; + state[7] ^= h; +} + +pub fn sm3_compress(state: &mut [u32; 8], blocks: &[GenericArray]) { + #[allow(unsafe_code)] + let blocks = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; + + let mut w = [0u32; 16]; + for block in blocks { + for (o, chunk) in w.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } + sm3_digest_block_u32(state, &w); + } +} diff --git a/sm3/tests/data/sm3.blb b/sm3/tests/data/sm3.blb new file mode 100644 index 0000000000000000000000000000000000000000..21d6e4b595eb1a3e44f5db8cacb59a27ce290881 GIT binary patch literal 253 zcmYew$xlkEG-Oba+9cZ?dVXPjU!tUk;R~sLrF|!kYyA6NQg^}hbwJZ9ZRW(JWQDZj zAHF2LdwcWZrz_ca1fD!{Oh3{d^XdB{&DsUp{oX4cH~(output); +} + +/// Test vectors from libgcrypt +#[test] +#[rustfmt::skip] +fn sm3_tests() { + use digest::Digest; + use hex_literal::hex; + + let hash = &mut sm3::Sm3::new(); + + hash.update(b"abc"); + assert_eq!(hash.finalize_reset().as_slice(), + hex!("66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0")); + + hash.update(b"abcdefghijklmnopqrstuvwxyz"); + assert_eq!(hash.finalize_reset().as_slice(), + hex!("b80fe97a4da24afc277564f66a359ef440462ad28dcc6d63adb24d5c20a61595")); +} From bdcf4c79b4b1d0d903d112dd06b3cd903dbc7e4d Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 18:08:14 -0700 Subject: [PATCH 163/373] README.md: add `fsb` hash (#292) https://en.wikipedia.org/wiki/Fast_syndrome-based_hash --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b360a780..441a45224 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ BLAKE2, SHA-2 or SHA-3. | Name | Algorithm | Crates.io | Documentation | Build Status | [Security] | |-------------|------------|-----------|---------------|--------------|------------| | `blake2` | [BLAKE2] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | [![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:blake2+branch:master) | :green_heart: | +| `fsb` | [FSB] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | [![build](https://github.com/rustcrypto/hashes/workflows/fsb/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/fsb/actions?query=workflow:fsb+branch:master) | :green_heart: | | `gost94` | [GOST94] (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | [![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:gost94+branch:master) | :yellow_heart: | | `groestl` | [Grøstl] (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | [![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:groestl+branch:master) | :green_heart: | | `k12` | [KangarooTwelve] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | [![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:k12+branch:master) | :green_heart: | @@ -27,7 +28,7 @@ BLAKE2, SHA-2 or SHA-3. | `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | [![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha2+branch:master) | :green_heart: | | `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | [![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha3+branch:master) | :green_heart: | | `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | [![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:shabal+branch:master) | :green_heart: | -| `sm3` | [SM3 (OSCCA GM/T 0004-2012)] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | [![build](https://github.com/rustcrypto/hashes/workflows/sm3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sm3+branch:master) | :green_heart: | +| `sm3` | [SM3 (OSCCA GM/T 0004-2012)][SM3] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | [![build](https://github.com/rustcrypto/hashes/workflows/sm3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sm3+branch:master) | :green_heart: | | `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | [![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:streebog+branch:master) | :yellow_heart: | | `tiger` | [Tiger] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | [![build](https://github.com/rustcrypto/hashes/workflows/tiger/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:tiger+branch:master) | :green_heart: | | `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | [![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:whirlpool+branch:master) | :green_heart: | @@ -214,6 +215,7 @@ dual licensed as above, without any additional terms or conditions. [//]: # (algorithms) [BLAKE2]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 +[FSB]: https://en.wikipedia.org/wiki/Fast_syndrome-based_hash [GOST94]: https://en.wikipedia.org/wiki/GOST_(hash_function) [Grøstl]: https://en.wikipedia.org/wiki/Grøstl [KangarooTwelve]: https://keccak.team/kangarootwelve.html From b90234a90d15d8789fb9e56f0cee6aa3a224a6dd Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 19:01:04 -0700 Subject: [PATCH 164/373] sm3 v0.3.0 (#293) --- Cargo.lock | 2 +- sm3/CHANGELOG.md | 8 ++++++-- sm3/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index efca1dab4..946ce3807 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -304,7 +304,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.1.0" +version = "0.3.0" dependencies = [ "block-buffer", "digest", diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md index dd4f33097..5f7b7bc8c 100644 --- a/sm3/CHANGELOG.md +++ b/sm3/CHANGELOG.md @@ -5,8 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.1.0 (2021-03-30) +## 0.3.0 (2021-07-18) ### Changed -- SM3 release ([#249]) +- RustCrypto SM3 release ([#249]) [#249]: https://github.com/RustCrypto/hashes/pull/249 + +## 0.2.0 (2020-01-23) + +## 0.1.0 (2020-01-14) diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index e8d7d151e..994a4f0cd 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.1.0" +version = "0.3.0" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["Tianjia Zhang "] license = "MIT OR Apache-2.0" From 3d17a67de9e74ec06b6fb055107a408de4ee912c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 18 Jul 2021 19:13:54 -0700 Subject: [PATCH 165/373] Cargo.lock: bump dependencies (#294) --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 946ce3807..e984c662a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" [[package]] name = "cfg-if" @@ -161,9 +161,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" [[package]] name = "md-5" @@ -274,9 +274,9 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c397a68de3079fa40e34eba871bea7f10de663f27f4c8b865c89ab47f103723" +checksum = "bf27176fb5d15398e3a479c652c20459d9dac830dedd1fa55b42a77dbcdbfcea" dependencies = [ "cc", ] @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "tiger" From 677f59a20113c05ff4ba7fd0187d51e42cbece7c Mon Sep 17 00:00:00 2001 From: Lyubomir Gavadinov Date: Mon, 19 Jul 2021 19:03:38 +0300 Subject: [PATCH 166/373] RIPEMD-256 implementation (#278) --- Cargo.lock | 48 +++-- Cargo.toml | 1 + ripemd256/.gitignore | 2 + ripemd256/Cargo.toml | 25 +++ ripemd256/LICENSE-APACHE | 201 +++++++++++++++++++++ ripemd256/LICENSE-MIT | 27 +++ ripemd256/README.md | 31 ++++ ripemd256/examples/ripemd256sum.rs | 47 +++++ ripemd256/src/block.rs | 277 +++++++++++++++++++++++++++++ ripemd256/src/lib.rs | 96 ++++++++++ ripemd256/tests/lib.rs | 53 ++++++ 11 files changed, 792 insertions(+), 16 deletions(-) create mode 100644 ripemd256/.gitignore create mode 100644 ripemd256/Cargo.toml create mode 100644 ripemd256/LICENSE-APACHE create mode 100644 ripemd256/LICENSE-MIT create mode 100644 ripemd256/README.md create mode 100644 ripemd256/examples/ripemd256sum.rs create mode 100644 ripemd256/src/block.rs create mode 100644 ripemd256/src/lib.rs create mode 100644 ripemd256/tests/lib.rs diff --git a/Cargo.lock b/Cargo.lock index e984c662a..4ba612120 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.9.1" dependencies = [ "crypto-mac", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -112,7 +112,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -122,7 +122,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -136,6 +136,12 @@ dependencies = [ "proc-macro-hack", ] +[[package]] +name = "hex-literal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5af1f635ef1bc545d78392b136bfe1c9809e029023c84a3638a864a10b8819c8" + [[package]] name = "hex-literal-impl" version = "0.2.2" @@ -150,7 +156,7 @@ name = "k12" version = "0.1.0" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.1", ] [[package]] @@ -171,7 +177,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "md5-asm", "opaque-debug", ] @@ -182,7 +188,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -192,7 +198,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -223,7 +229,17 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", + "opaque-debug", +] + +[[package]] +name = "ripemd256" +version = "0.1.0" +dependencies = [ + "block-buffer", + "digest", + "hex-literal 0.3.1", "opaque-debug", ] @@ -233,7 +249,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -245,7 +261,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", "sha1-asm", ] @@ -267,7 +283,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", "sha2-asm", ] @@ -287,7 +303,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "keccak", "opaque-debug", ] @@ -298,7 +314,7 @@ version = "0.3.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -318,7 +334,7 @@ version = "0.9.2" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", ] @@ -335,7 +351,7 @@ dependencies = [ "block-buffer", "byteorder", "digest", - "hex-literal", + "hex-literal 0.2.1", ] [[package]] @@ -356,7 +372,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal", + "hex-literal 0.2.1", "opaque-debug", "whirlpool-asm", ] diff --git a/Cargo.toml b/Cargo.toml index 7eca592fc..00547e603 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "md4", "md5", "ripemd160", + "ripemd256", "ripemd320", "sha1", "sha2", diff --git a/ripemd256/.gitignore b/ripemd256/.gitignore new file mode 100644 index 000000000..96ef6c0b9 --- /dev/null +++ b/ripemd256/.gitignore @@ -0,0 +1,2 @@ +/target +Cargo.lock diff --git a/ripemd256/Cargo.toml b/ripemd256/Cargo.toml new file mode 100644 index 000000000..c3e6acb20 --- /dev/null +++ b/ripemd256/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "ripemd256" +version = "0.1.0" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +edition = "2018" +readme = "README.md" +keywords = ["crypto", "ripemd320", "hash", "digest"] +categories = ["cryptography", "no-std"] +description = "RIPEMD-256 hash function" +repository = "https://github.com/RustCrypto/hashes" + + +[dependencies] +block-buffer = "0.9" +digest = "0.9" +opaque-debug = "0.3" + +[dev-dependencies] +digest = { version = "0.9", features = ["dev"] } +hex-literal = "0.3" + +[features] +default = ["std"] +std = ["digest/std"] diff --git a/ripemd256/LICENSE-APACHE b/ripemd256/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/ripemd256/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/ripemd256/LICENSE-MIT b/ripemd256/LICENSE-MIT new file mode 100644 index 000000000..a239acf63 --- /dev/null +++ b/ripemd256/LICENSE-MIT @@ -0,0 +1,27 @@ +Copyright (c) 2006-2009 Graydon Hoare +Copyright (c) 2009-2013 Mozilla Foundation +Copyright (c) 2016 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/ripemd256/README.md b/ripemd256/README.md new file mode 100644 index 000000000..b0bab35e7 --- /dev/null +++ b/ripemd256/README.md @@ -0,0 +1,31 @@ +# RustCrypto: RIPEMD256 +Pure Rust implementation of the [RIPEMD256 hash function][1]. + +## Minimum Supported Rust Version + +Rust **1.41** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions + +[1]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/ripemd256/examples/ripemd256sum.rs b/ripemd256/examples/ripemd256sum.rs new file mode 100644 index 000000000..6a6ad1a5c --- /dev/null +++ b/ripemd256/examples/ripemd256sum.rs @@ -0,0 +1,47 @@ +use ripemd256::{Digest, Ripemd256}; +use std::env; +use std::fs; +use std::io::{self, Read}; + +const BUFFER_SIZE: usize = 1024; + +/// Print digest result as hex string and name pair +fn print_result(sum: &[u8], name: &str) { + for byte in sum { + print!("{:02x}", byte); + } + println!("\t{}", name); +} + +/// Compute digest value for given `Reader` and print it +/// On any error simply return without doing anything +fn process(reader: &mut R, name: &str) { + let mut sh = D::default(); + let mut buffer = [0u8; BUFFER_SIZE]; + loop { + let n = match reader.read(&mut buffer) { + Ok(n) => n, + Err(_) => return, + }; + sh.update(&buffer[..n]); + if n == 0 || n < BUFFER_SIZE { + break; + } + } + print_result(&sh.finalize(), name); +} + +fn main() { + let args = env::args(); + // Process files listed in command line arguments one by one + // If no files provided process input from stdin + if args.len() > 1 { + for path in args.skip(1) { + if let Ok(mut file) = fs::File::open(&path) { + process::(&mut file, &path); + } + } + } else { + process::(&mut io::stdin(), "-"); + } +} diff --git a/ripemd256/src/block.rs b/ripemd256/src/block.rs new file mode 100644 index 000000000..de085350c --- /dev/null +++ b/ripemd256/src/block.rs @@ -0,0 +1,277 @@ +use core::{convert::TryInto, mem::swap}; +use digest::generic_array::typenum::U64; +use digest::generic_array::GenericArray; + +pub const DIGEST_BUF_LEN: usize = 8; +pub const HALF_DIGEST_BUF_LEN: usize = DIGEST_BUF_LEN / 2; +pub const WORK_BUF_LEN: usize = 16; + +pub const H0: [u32; DIGEST_BUF_LEN] = [ + 0x6745_2301, + 0xefcd_ab89, + 0x98ba_dcfe, + 0x1032_5476, + 0x7654_3210, + 0xfedc_ba98, + 0x89ab_cdef, + 0x0123_4567, +]; + +type Block = GenericArray; + +macro_rules! round( + ($a:expr, $b:expr, $c:expr, $d:expr, + $x:expr, $bits:expr, $add:expr, $round:expr) => ({ + $a = $a.wrapping_add($round).wrapping_add($x).wrapping_add($add); + $a = $a.rotate_left($bits); + }); +); + +#[inline(always)] +fn swap_idx(bb: &mut [u32; HALF_DIGEST_BUF_LEN], bbb: &mut [u32; HALF_DIGEST_BUF_LEN], idx: usize) { + swap(&mut bb[idx], &mut bbb[idx]); +} + +macro_rules! process_block( + ($h:ident, $data:expr, + $( round1: h_ordering $f0:expr, $f1:expr, $f2:expr, $f3:expr; + data_index $data_index1:expr; roll_shift $bits1:expr )*; + $( round2: h_ordering $g0:expr, $g1:expr, $g2:expr, $g3:expr; + data_index $data_index2:expr; roll_shift $bits2:expr )*; + $( round3: h_ordering $h0:expr, $h1:expr, $h2:expr, $h3:expr; + data_index $data_index3:expr; roll_shift $bits3:expr )*; + $( round4: h_ordering $i0:expr, $i1:expr, $i2:expr, $i3:expr; + data_index $data_index4:expr; roll_shift $bits4:expr )*; + $( par_round1: h_ordering $pi0:expr, $pi1:expr, $pi2:expr, $pi3:expr; + data_index $pdata_index1:expr; roll_shift $pbits1:expr )*; + $( par_round2: h_ordering $ph0:expr, $ph1:expr, $ph2:expr, $ph3:expr; + data_index $pdata_index2:expr; roll_shift $pbits2:expr )*; + $( par_round3: h_ordering $pg0:expr, $pg1:expr, $pg2:expr, $pg3:expr; + data_index $pdata_index3:expr; roll_shift $pbits3:expr )*; + $( par_round4: h_ordering $pf0:expr, $pf1:expr, $pf2:expr, $pf3:expr; + data_index $pdata_index4:expr; roll_shift $pbits4:expr )*; + ) => ({ + let mut bb = [0u32; HALF_DIGEST_BUF_LEN]; + bb.copy_from_slice(&$h[..HALF_DIGEST_BUF_LEN]); + + let mut bbb = [0u32; HALF_DIGEST_BUF_LEN]; + bbb.copy_from_slice(&$h[HALF_DIGEST_BUF_LEN..]); + + + // Round 1 + $( round!(bb[$f0], bb[$f1], bb[$f2], bb[$f3], + $data[$data_index1], $bits1, 0x0000_0000, + bb[$f1] ^ bb[$f2] ^ bb[$f3]); )* + + // Parallel Round 1 + $( round!(bbb[$pi0], bbb[$pi1], bbb[$pi2], bbb[$pi3], + $data[$pdata_index1], $pbits1, 0x50a2_8be6, + (bbb[$pi1] & bbb[$pi3]) | (bbb[$pi2] & !bbb[$pi3])); )* + + swap_idx(&mut bb, &mut bbb, 0); + + + // Round 2 + $( round!(bb[$g0], bb[$g1], bb[$g2], bb[$g3], + $data[$data_index2], $bits2, 0x5a82_7999, + (bb[$g1] & bb[$g2]) | (!bb[$g1] & bb[$g3])); )* + + // Parallel Round 2 + $( round!(bbb[$ph0], bbb[$ph1], bbb[$ph2], bbb[$ph3], + $data[$pdata_index2], $pbits2, 0x5c4d_d124, + (bbb[$ph1] | !bbb[$ph2]) ^ bbb[$ph3]); )* + + + swap_idx(&mut bb, &mut bbb, 1); + + + // Round 3 + $( round!(bb[$h0], bb[$h1], bb[$h2], bb[$h3], + $data[$data_index3], $bits3, 0x6ed9_eba1, + (bb[$h1] | !bb[$h2]) ^ bb[$h3]); )* + + // Parallel Round 3 + $( round!(bbb[$pg0], bbb[$pg1], bbb[$pg2], bbb[$pg3], + $data[$pdata_index3], $pbits3, 0x6d70_3ef3, + (bbb[$pg1] & bbb[$pg2]) | (!bbb[$pg1] & bbb[$pg3])); )* + + swap_idx(&mut bb, &mut bbb, 2); + + + // Round 4 + $( round!(bb[$i0], bb[$i1], bb[$i2], bb[$i3], + $data[$data_index4], $bits4, 0x8f1b_bcdc, + (bb[$i1] & bb[$i3]) | (bb[$i2] & !bb[$i3])); )* + + + // Parallel Round 4 + $( round!(bbb[$pf0], bbb[$pf1], bbb[$pf2], bbb[$pf3], + $data[$pdata_index4], $pbits4, 0x0000_0000, + bbb[$pf1] ^ bbb[$pf2] ^ bbb[$pf3]); )* + + swap_idx(&mut bb, &mut bbb, 3); + + $h[0] = $h[0].wrapping_add(bb[0]); + $h[1] = $h[1].wrapping_add(bb[1]); + $h[2] = $h[2].wrapping_add(bb[2]); + $h[3] = $h[3].wrapping_add(bb[3]); + $h[4] = $h[4].wrapping_add(bbb[0]); + $h[5] = $h[5].wrapping_add(bbb[1]); + $h[6] = $h[6].wrapping_add(bbb[2]); + $h[7] = $h[7].wrapping_add(bbb[3]); + }); +); + +pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { + let mut w = [0u32; WORK_BUF_LEN]; + for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + process_block!(h, w[..], + + // Round 1 + round1: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 11 + round1: h_ordering 3, 0, 1, 2; data_index 1; roll_shift 14 + round1: h_ordering 2, 3, 0, 1; data_index 2; roll_shift 15 + round1: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 12 + round1: h_ordering 0, 1, 2, 3; data_index 4; roll_shift 5 + round1: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 8 + round1: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 7 + round1: h_ordering 1, 2, 3, 0; data_index 7; roll_shift 9 + round1: h_ordering 0, 1, 2, 3; data_index 8; roll_shift 11 + round1: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 13 + round1: h_ordering 2, 3, 0, 1; data_index 10; roll_shift 14 + round1: h_ordering 1, 2, 3, 0; data_index 11; roll_shift 15 + round1: h_ordering 0, 1, 2, 3; data_index 12; roll_shift 6 + round1: h_ordering 3, 0, 1, 2; data_index 13; roll_shift 7 + round1: h_ordering 2, 3, 0, 1; data_index 14; roll_shift 9 + round1: h_ordering 1, 2, 3, 0; data_index 15; roll_shift 8; + + // Round 2 + round2: h_ordering 0, 1, 2, 3; data_index 7; roll_shift 7 + round2: h_ordering 3, 0, 1, 2; data_index 4; roll_shift 6 + round2: h_ordering 2, 3, 0, 1; data_index 13; roll_shift 8 + round2: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 13 + round2: h_ordering 0, 1, 2, 3; data_index 10; roll_shift 11 + round2: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 9 + round2: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 7 + round2: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 15 + round2: h_ordering 0, 1, 2, 3; data_index 12; roll_shift 7 + round2: h_ordering 3, 0, 1, 2; data_index 0; roll_shift 12 + round2: h_ordering 2, 3, 0, 1; data_index 9; roll_shift 15 + round2: h_ordering 1, 2, 3, 0; data_index 5; roll_shift 9 + round2: h_ordering 0, 1, 2, 3; data_index 2; roll_shift 11 + round2: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 7 + round2: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 13 + round2: h_ordering 1, 2, 3, 0; data_index 8; roll_shift 12; + + // Round 3 + round3: h_ordering 0, 1, 2, 3; data_index 3; roll_shift 11 + round3: h_ordering 3, 0, 1, 2; data_index 10; roll_shift 13 + round3: h_ordering 2, 3, 0, 1; data_index 14; roll_shift 6 + round3: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 7 + round3: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 14 + round3: h_ordering 3, 0, 1, 2; data_index 15; roll_shift 9 + round3: h_ordering 2, 3, 0, 1; data_index 8; roll_shift 13 + round3: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 15 + round3: h_ordering 0, 1, 2, 3; data_index 2; roll_shift 14 + round3: h_ordering 3, 0, 1, 2; data_index 7; roll_shift 8 + round3: h_ordering 2, 3, 0, 1; data_index 0; roll_shift 13 + round3: h_ordering 1, 2, 3, 0; data_index 6; roll_shift 6 + round3: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 5 + round3: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 12 + round3: h_ordering 2, 3, 0, 1; data_index 5; roll_shift 7 + round3: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 5; + + // Round 4 + round4: h_ordering 0, 1, 2, 3; data_index 1; roll_shift 11 + round4: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 12 + round4: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 14 + round4: h_ordering 1, 2, 3, 0; data_index 10; roll_shift 15 + round4: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 14 + round4: h_ordering 3, 0, 1, 2; data_index 8; roll_shift 15 + round4: h_ordering 2, 3, 0, 1; data_index 12; roll_shift 9 + round4: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 8 + round4: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 9 + round4: h_ordering 3, 0, 1, 2; data_index 3; roll_shift 14 + round4: h_ordering 2, 3, 0, 1; data_index 7; roll_shift 5 + round4: h_ordering 1, 2, 3, 0; data_index 15; roll_shift 6 + round4: h_ordering 0, 1, 2, 3; data_index 14; roll_shift 8 + round4: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 6 + round4: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 5 + round4: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 12; + + // Parallel Round 1 + par_round1: h_ordering 0, 1, 2, 3; data_index 5; roll_shift 8 + par_round1: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 9 + par_round1: h_ordering 2, 3, 0, 1; data_index 7; roll_shift 9 + par_round1: h_ordering 1, 2, 3, 0; data_index 0; roll_shift 11 + par_round1: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 13 + par_round1: h_ordering 3, 0, 1, 2; data_index 2; roll_shift 15 + par_round1: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 15 + par_round1: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 5 + par_round1: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 7 + par_round1: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 7 + par_round1: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 8 + par_round1: h_ordering 1, 2, 3, 0; data_index 8; roll_shift 11 + par_round1: h_ordering 0, 1, 2, 3; data_index 1; roll_shift 14 + par_round1: h_ordering 3, 0, 1, 2; data_index 10; roll_shift 14 + par_round1: h_ordering 2, 3, 0, 1; data_index 3; roll_shift 12 + par_round1: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 6; + + // Parallel Round 2 + par_round2: h_ordering 0, 1, 2, 3; data_index 6; roll_shift 9 + par_round2: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 13 + par_round2: h_ordering 2, 3, 0, 1; data_index 3; roll_shift 15 + par_round2: h_ordering 1, 2, 3, 0; data_index 7; roll_shift 7 + par_round2: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 12 + par_round2: h_ordering 3, 0, 1, 2; data_index 13; roll_shift 8 + par_round2: h_ordering 2, 3, 0, 1; data_index 5; roll_shift 9 + par_round2: h_ordering 1, 2, 3, 0; data_index 10; roll_shift 11 + par_round2: h_ordering 0, 1, 2, 3; data_index 14; roll_shift 7 + par_round2: h_ordering 3, 0, 1, 2; data_index 15; roll_shift 7 + par_round2: h_ordering 2, 3, 0, 1; data_index 8; roll_shift 12 + par_round2: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 7 + par_round2: h_ordering 0, 1, 2, 3; data_index 4; roll_shift 6 + par_round2: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 15 + par_round2: h_ordering 2, 3, 0, 1; data_index 1; roll_shift 13 + par_round2: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 11; + + // Parallel Round 3 + par_round3: h_ordering 0, 1, 2, 3; data_index 15; roll_shift 9 + par_round3: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 7 + par_round3: h_ordering 2, 3, 0, 1; data_index 1; roll_shift 15 + par_round3: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 11 + par_round3: h_ordering 0, 1, 2, 3; data_index 7; roll_shift 8 + par_round3: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 6 + par_round3: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 6 + par_round3: h_ordering 1, 2, 3, 0; data_index 9; roll_shift 14 + par_round3: h_ordering 0, 1, 2, 3; data_index 11; roll_shift 12 + par_round3: h_ordering 3, 0, 1, 2; data_index 8; roll_shift 13 + par_round3: h_ordering 2, 3, 0, 1; data_index 12; roll_shift 5 + par_round3: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 14 + par_round3: h_ordering 0, 1, 2, 3; data_index 10; roll_shift 13 + par_round3: h_ordering 3, 0, 1, 2; data_index 0; roll_shift 13 + par_round3: h_ordering 2, 3, 0, 1; data_index 4; roll_shift 7 + par_round3: h_ordering 1, 2, 3, 0; data_index 13; roll_shift 5; + + // Parallel Round 4 + par_round4: h_ordering 0, 1, 2, 3; data_index 8; roll_shift 15 + par_round4: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 5 + par_round4: h_ordering 2, 3, 0, 1; data_index 4; roll_shift 8 + par_round4: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 11 + par_round4: h_ordering 0, 1, 2, 3; data_index 3; roll_shift 14 + par_round4: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 14 + par_round4: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 6 + par_round4: h_ordering 1, 2, 3, 0; data_index 0; roll_shift 14 + par_round4: h_ordering 0, 1, 2, 3; data_index 5; roll_shift 6 + par_round4: h_ordering 3, 0, 1, 2; data_index 12; roll_shift 9 + par_round4: h_ordering 2, 3, 0, 1; data_index 2; roll_shift 12 + par_round4: h_ordering 1, 2, 3, 0; data_index 13; roll_shift 9 + par_round4: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 12 + par_round4: h_ordering 3, 0, 1, 2; data_index 7; roll_shift 5 + par_round4: h_ordering 2, 3, 0, 1; data_index 10; roll_shift 15 + par_round4: h_ordering 1, 2, 3, 0; data_index 14; roll_shift 8; + ); +} diff --git a/ripemd256/src/lib.rs b/ripemd256/src/lib.rs new file mode 100644 index 000000000..70b6344a7 --- /dev/null +++ b/ripemd256/src/lib.rs @@ -0,0 +1,96 @@ +//! An implementation of the [RIPEMD-256][1] cryptographic hash. +//! +//! # Usage +//! +//! ```rust +//! use hex_literal::hex; +//! use ripemd256::{Ripemd256, Digest}; +//! +//! // create a RIPEMD-256 hasher instance +//! let mut hasher = Ripemd256::new(); +//! +//! // process input message +//! hasher.update(b"Hello world!"); +//! +//! // acquire hash digest in the form of GenericArray, +//! // which in this case is equivalent to [u8; 32] +//! let expected = hex!("2700f1122c7bd5df165b0615efbbbc54f551aef2401738811a5aea19ccb9233a"); +//! let result = hasher.finalize(); +//! assert_eq!(&result[..], &expected[..]); +//! ``` +//! +//! [1]: https://en.wikipedia.org/wiki/RIPEMD + +#![no_std] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + +#[cfg(feature = "std")] +extern crate std; + +mod block; + +pub use digest::{self, Digest}; + +use block::{process_msg_block, DIGEST_BUF_LEN, H0}; +use block_buffer::BlockBuffer; +use digest::{ + consts::{U32, U64}, + BlockInput, FixedOutputDirty, Reset, Update, +}; + +/// Structure representing the state of a Ripemd256 computation +#[derive(Clone)] +pub struct Ripemd256 { + h: [u32; DIGEST_BUF_LEN], + len: u64, + buffer: BlockBuffer, +} + +impl Default for Ripemd256 { + fn default() -> Self { + Ripemd256 { + h: H0, + len: 0, + buffer: Default::default(), + } + } +} + +impl BlockInput for Ripemd256 { + type BlockSize = U64; +} + +impl Update for Ripemd256 { + fn update(&mut self, input: impl AsRef<[u8]>) { + let input = input.as_ref(); + // Assumes that input.len() can be converted to u64 without overflow + self.len += input.len() as u64; + let h = &mut self.h; + self.buffer.input_block(input, |b| process_msg_block(h, b)); + } +} + +impl FixedOutputDirty for Ripemd256 { + type OutputSize = U32; + + fn finalize_into_dirty(&mut self, out: &mut digest::Output) { + let h = &mut self.h; + let l = self.len << 3; + self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); + for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } + } +} + +impl Reset for Ripemd256 { + fn reset(&mut self) { + self.buffer.reset(); + self.len = 0; + self.h = H0; + } +} + +opaque_debug::implement!(Ripemd256); +digest::impl_write!(Ripemd256); diff --git a/ripemd256/tests/lib.rs b/ripemd256/tests/lib.rs new file mode 100644 index 000000000..099ad9968 --- /dev/null +++ b/ripemd256/tests/lib.rs @@ -0,0 +1,53 @@ +use digest::dev::one_million_a; +use hex_literal::hex; +use ripemd256::{Digest, Ripemd256}; + +fn hash_test(msg: &str, expected: [u8; 32]) { + let mut hasher = Ripemd256::new(); + hasher.update(msg.as_bytes()); + let result = hasher.finalize(); + assert_eq!(result[..], expected); +} + +#[test] +fn ripemd256_messages() { + hash_test( + "", + hex!("02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d"), + ); + hash_test( + "a", + hex!("f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925"), + ); + hash_test( + "abc", + hex!("afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65"), + ); + hash_test( + "message digest", + hex!("87e971759a1ce47a514d5c914c392c9018c7c46bc14465554afcdf54a5070c0e"), + ); + hash_test( + "abcdefghijklmnopqrstuvwxyz", + hex!("649d3034751ea216776bf9a18acc81bc7896118a5197968782dd1fd97d8d5133"), + ); + hash_test( + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + hex!("3843045583aac6c8c8d9128573e7a9809afb2a0f34ccc36ea9e72f16f6368e3f"), + ); + hash_test( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + hex!("5740a408ac16b720b84424ae931cbb1fe363d1d0bf4017f1a89f7ea6de77a0b8"), + ); + hash_test( + "12345678901234567890123456789012345678901234567890123456789012345678901234567890", + hex!("06fdcc7a409548aaf91368c06a6275b553e3f099bf0ea4edfd6778df89a890dd"), + ); +} + +#[test] +fn ripemd256_1million_a() { + one_million_a::(&hex!( + "ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978" + )); +} From bf1876bf0baf90976f0648b8ed938d1213986b95 Mon Sep 17 00:00:00 2001 From: Lyubomir Gavadinov Date: Mon, 19 Jul 2021 19:17:31 +0300 Subject: [PATCH 167/373] Fix typo in RIPEMD-256 keywords (#296) --- ripemd256/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ripemd256/Cargo.toml b/ripemd256/Cargo.toml index c3e6acb20..34471df9a 100644 --- a/ripemd256/Cargo.toml +++ b/ripemd256/Cargo.toml @@ -5,7 +5,7 @@ authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2018" readme = "README.md" -keywords = ["crypto", "ripemd320", "hash", "digest"] +keywords = ["crypto", "ripemd256", "hash", "digest"] categories = ["cryptography", "no-std"] description = "RIPEMD-256 hash function" repository = "https://github.com/RustCrypto/hashes" From ada848ee189e7a139d35ec0e584d20d838380887 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 19 Jul 2021 10:35:00 -0700 Subject: [PATCH 168/373] README.md: add `ripemd256` crate (#297) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 441a45224..c2b1fb186 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ BLAKE2, SHA-2 or SHA-3. | `md4` | [MD4] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | [![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md4+branch:master) | :broken_heart: | | `md-5` [:exclamation:] | [MD5] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | [![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md5+branch:master) | :broken_heart: | | `ripemd160` | [RIPEMD-160] | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd160+branch:master) | :green_heart: | +| `ripemd256` | [RIPEMD-256] | [![crates.io](https://img.shields.io/crates/v/ripemd256.svg)](https://crates.io/crates/ripemd256) | [![Documentation](https://docs.rs/ripemd256/badge.svg)](https://docs.rs/ripemd256) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd256/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd256+branch:master) | :green_heart:* | | `ripemd320` | [RIPEMD-320] | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd320+branch:master) | :green_heart:* | | `sha-1` [:exclamation:] | [SHA-1] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | [![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha1+branch:master) | :broken_heart: | | `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | [![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha2+branch:master) | :green_heart: | @@ -35,7 +36,7 @@ BLAKE2, SHA-2 or SHA-3. NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` (and `crypto-mac`) traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. -\* RIPEMD-320 provides only the same security as RIPEMD-160 +\* RIPEMD-256 provides only the same security as RIPEMD-128, and RIPEMD-320 provides only the same security as RIPEMD-160 [Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary [:exclamation:]: #crate-names @@ -223,6 +224,7 @@ dual licensed as above, without any additional terms or conditions. [MD4]: https://en.wikipedia.org/wiki/MD4 [MD5]: https://en.wikipedia.org/wiki/MD5 [RIPEMD-160]: https://en.wikipedia.org/wiki/RIPEMD +[RIPEMD-256]: https://en.wikipedia.org/wiki/RIPEMD [RIPEMD-320]: https://en.wikipedia.org/wiki/RIPEMD [SHA-1]: https://en.wikipedia.org/wiki/SHA-1 [SHA-2]: https://en.wikipedia.org/wiki/SHA-2 From a45eaef8735ba3f88429a35ba01eb932f7562f0a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 19 Jul 2021 10:59:25 -0700 Subject: [PATCH 169/373] ripemd256: add CI config (#298) --- .github/workflows/ripemd256.yml | 58 +++++++++++++++++++++++++++++++++ Cargo.lock | 40 ++++++++++------------- ripemd256/Cargo.toml | 2 +- 3 files changed, 76 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/ripemd256.yml diff --git a/.github/workflows/ripemd256.yml b/.github/workflows/ripemd256.yml new file mode 100644 index 000000000..324f85b5e --- /dev/null +++ b/.github/workflows/ripemd256.yml @@ -0,0 +1,58 @@ +name: ripemd256 + +on: + pull_request: + paths: + - "ripemd256/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: ripemd256 + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --release --target ${{ matrix.target }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features + diff --git a/Cargo.lock b/Cargo.lock index 4ba612120..e3b84710a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.9.1" dependencies = [ "crypto-mac", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -112,7 +112,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -122,7 +122,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -136,12 +136,6 @@ dependencies = [ "proc-macro-hack", ] -[[package]] -name = "hex-literal" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af1f635ef1bc545d78392b136bfe1c9809e029023c84a3638a864a10b8819c8" - [[package]] name = "hex-literal-impl" version = "0.2.2" @@ -156,7 +150,7 @@ name = "k12" version = "0.1.0" dependencies = [ "digest", - "hex-literal 0.2.1", + "hex-literal", ] [[package]] @@ -177,7 +171,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "md5-asm", "opaque-debug", ] @@ -188,7 +182,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -198,7 +192,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -229,7 +223,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -239,7 +233,7 @@ version = "0.1.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.3.1", + "hex-literal", "opaque-debug", ] @@ -249,7 +243,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -261,7 +255,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", "sha1-asm", ] @@ -283,7 +277,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", "sha2-asm", ] @@ -303,7 +297,7 @@ version = "0.9.1" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "keccak", "opaque-debug", ] @@ -314,7 +308,7 @@ version = "0.3.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -334,7 +328,7 @@ version = "0.9.2" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", ] @@ -351,7 +345,7 @@ dependencies = [ "block-buffer", "byteorder", "digest", - "hex-literal 0.2.1", + "hex-literal", ] [[package]] @@ -372,7 +366,7 @@ version = "0.9.0" dependencies = [ "block-buffer", "digest", - "hex-literal 0.2.1", + "hex-literal", "opaque-debug", "whirlpool-asm", ] diff --git a/ripemd256/Cargo.toml b/ripemd256/Cargo.toml index 34471df9a..67fe29899 100644 --- a/ripemd256/Cargo.toml +++ b/ripemd256/Cargo.toml @@ -18,7 +18,7 @@ opaque-debug = "0.3" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } -hex-literal = "0.3" +hex-literal = "0.2" [features] default = ["std"] From 1cb3dee1d4120b138f2c9853636b1bd8d924d116 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 21 Jul 2021 14:24:16 +0000 Subject: [PATCH 170/373] fsb: fix Reset impl and reduce crate size (#300) --- Cargo.lock | 2 +- fsb/CHANGELOG.md | 8 +- fsb/Cargo.toml | 3 +- fsb/src/lib.rs | 5 +- fsb/src/macros.rs | 5 +- fsb/src/pi.bin | Bin 0 -> 272384 bytes fsb/src/pi.rs | 17027 ------------------------------------ fsb/tests/data/fsb160.blb | 2 + fsb/tests/data/fsb224.blb | 1 + fsb/tests/data/fsb256.blb | 2 + fsb/tests/data/fsb384.blb | 3 + fsb/tests/data/fsb512.blb | 2 + fsb/tests/lib.rs | 94 +- 13 files changed, 33 insertions(+), 17121 deletions(-) create mode 100644 fsb/src/pi.bin delete mode 100644 fsb/src/pi.rs create mode 100644 fsb/tests/data/fsb160.blb create mode 100644 fsb/tests/data/fsb224.blb create mode 100644 fsb/tests/data/fsb256.blb create mode 100644 fsb/tests/data/fsb384.blb create mode 100644 fsb/tests/data/fsb512.blb diff --git a/Cargo.lock b/Cargo.lock index e3b84710a..e34bc6bd7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.0.1" +version = "0.0.2" dependencies = [ "block-buffer", "digest", diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index c0b561428..bea8879e4 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,5 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.0.1 (2020-07-18) +## 0.0.2 (2020-07-21) +- Fixed `Reset` implementation bug. Reduce crate size by using binary dump +of `PI` ([#300]) + +[#300]: https://github.com/RustCrypto/hashes/pull/300 + +## 0.0.1 (2020-07-18) [YANKED] - Initial release diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index d378aea22..9eb9fd6fd 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fsb" description = "FSB hash function" -version = "0.0.1" +version = "0.0.2" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" @@ -18,6 +18,7 @@ opaque-debug = "0.3" [dev-dependencies] hex-literal = "0.2" +digest = { version = "0.9", features = ["dev"] } [features] asm = ["whirlpool/asm"] diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 9163092b2..a8b69eabd 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -55,14 +55,15 @@ use alloc::vec; #[macro_use] mod macros; -mod pi; pub use digest::{self, Digest}; use whirlpool::Whirlpool; use core::convert::TryInto; -use crate::pi::PI; +// Double check this contains all values in the reference implementation +static PI: &[u8; 272384] = include_bytes!("pi.bin"); + use block_buffer::BlockBuffer; use digest::generic_array::GenericArray; use digest::{BlockInput, FixedOutputDirty, Reset, Update}; diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 1a8ebff0d..8400722a4 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -326,9 +326,8 @@ macro_rules! fsb_impl { impl Reset for $state { fn reset(&mut self) { self.buffer.reset(); - for v in self.hash.iter_mut() { - *v = 0; - } + self.hash = [0u8; $r / 8]; + self.bit_length = 0; } } opaque_debug::implement!($state); diff --git a/fsb/src/pi.bin b/fsb/src/pi.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a007fea3387a7771176d5516f7865aae884beb5 GIT binary patch literal 272384 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 z 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 %RMnm&;Q3qr}< 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%0AkBhnNbjgW>UcKr^+ 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

8Fe4kv?Z=c2Z&*zfAiOJ(sr3v){o&7?4Q_#B2 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 hXHWDQNEM z9Eu8R@RvYb1$*L<`!Jy|j2f4+=Wsr+BsL#Q=n4o|)=3oR)UI#s<2+>xNT{!6vl3FS zH!T?^u!YFuzy%d?m#%qhZ>20(Ih`RF8te--u%&)`cGPG}4Qfe1{=1GjzWL1T5Phom zu&gKNdnsI3sz(eC;lEwS?%%dqd zdCiMW%)YfR8fx`km0`(0-PJA1+F|jAk53aY=`3-weCdI=ZSxsA-EbcFn9_wL2=o9_NTrOOtb;EK z3h8VOR$|2;1gWUCUQxjhL_(|LvZQYpcv0!4Ugd4cuv^c2oFp#5#+!e56HR#b2VSn zRCi&k3QRs{*Q5^)J4tG@cZ~@T%_C=Do58o^r~A6q7;SfJ)b+k+GjjQJk^4j;j;Gk9 z$IfCB4@z(tG29}7Ck;IqV-fp_(hUm{)Uv{BU;6lMEKlv8Mf}f=3XDyJ=!*{5b9}f) z##}%;wr4tV96P0Gzaau`Vc}?T@~Z{j3nw~Y31;Y3ZBsn{gSSEZeYlD#R7cYsuZ8(T zVGwCco@4!)9sy<)nWSXi+5>C*(saRrwM`0&N=${DG>qTrX*j+u!SUC? z5EhZ6_WaqW%zqf*k&hlcFCTwTOe%bgV^#3|dzfbKZUzl-$kS)bDX*~a#`wGPrHWFA z?WL>{RLB?|>B@MaEr3eLtx5Y5y3@KD;BnE;brm79avCiwA^fA&!dna^p_$cwL~F*w zSf672O@p><%b~28DN7Y;uhc{%P-e{{Ep2kXf&#qbzrS%~{YJJ#{v1WQ$u7wyBj(Vc zmen2Bn8oJ?XgSU=P`BKpE0HwPj+psq`BGu9lG%7cjH9sxELz5cWP0;pfZ+89Ah@3= z7;EdHIY1UHNBJ6i506cLt5;Id@pqKkIG^PIH-ZNXAhP1^aTgdhbn&5xq)*LEdS1*_lqZ^*+-Rcn$;X1aFDSH0mi=pLhK>9+R@LeoMIrT`%25?tE1pTAZ`%E2RDj?Wk!J=H1LzUI<&)Ye5wpp7u^O zJ0MDX6HmT_S}7>s_QDD^a1zu6ac0aJud@DtL!?PdiCY!AizFtPD$o-=J=Pig{V#Ey zckxvKPDU7B<^FGGNDE6OkkygaQOmEJTs*L}lzqlGZI}n939^u(7SA zG?vd^?b7G7G0GWQB1q%~Wl4_982 z*?P(ZxSirq?DjwGpI$05O`*Yx1^>M<-bDe0CicT=<@AA&nCGqT)kd4vfXsn{EZ%_9 zJ;w^B@l)dO(!*ra}^xg#6E zs9%cVNG2)H*_>F7F5P19|119V_g`9^m`fMp^S*v(l-9J$N707AmJETGtQg(M;BuFA zCZ%SA{ZuRI4jRNz>Hi)AY6LaOmW9drAr65nYwOe~9$3+E6N|IR#u*IbH#Qb7dm_cf@ zE(JM){;E4BvUz0pp%urpucXMBn*zxH^@?0~J^Ifpkv$$m-0l*)@dS|{>M!a!(+sw* zkGFR}?HM(g^RwO*F;2Rj%-H&@E6_Z=H`SkoA~*B7BC%vzXYWS5B?K_}R7B@k@1>c}Zgb0sic6?(28tA<-Wx!rR0N z3ZhCCL>pdl(_#NJoq*eJrJ9Wjgz+O3EHF&dxTAGIUB6TO^m5Wg2DS|M%=z<%HQf(H z(NlcNOf^>eb~SEvG7yNoEla!5UlDEq%c34;2a*0Q5`T8o!BjOZw5`A?-`vq%!%dW? zSYfD)2fDWY|F9i?OTmYRhw;G#Xu&=7^A?UfFA=^}eGlPO>c5lE70iUh1UQj^t@=?A z^s<0sWi=Ks-6rjNrjClxHv*JI2s0-y_g&4Js!|(^@q0a)pS}rW-&!fH{omW(6l_%z zSMk)xg#&zE)3tXTiT*>x5a8|?rK^NvX z)-U}1X^A)wogKqrVG>_k$r$%@TNTmZp0mGuba@cXL2QYQhN(4*4_mqoZaW#!o%K*< zll*+3t6)BU4~-!s4$zZthowZz7Z*+rih%bO`G4RF-c zS%}YRi5#YOSNh%vujE^CqgyFTbyibR^^ctpd?P~zhz|M-fl5fcehh!G6VpAYl6LOT z_el~6f8VH84pRW%*yJw93X}uKbV5mHP_5YZ_HVtK7R$&B-?WHH!N+V49*>lit{|`9 zNvDqK*1iumsbQ)qoNXwD8kxTd;;zI+C)RxxJQ5qBu=-Kx#37*UpwOH)sn_YnHEovs z{V)!gqz+_O`ymNDZ^O@}8&Lu=3MlK!04HTMdfJM zFC?Z@S&^-=cXjSRF{&%;e*4tHaWO2DEzHRAIm29a(K^iu<@AoI;q?>5wWoy8C6_~59p0F2=jJd5?*Y=&(ZtVT-Ja{SRAlTfKnZ)oy>GvaFnh z6!lsGmQ8{{e))Cp*i^2#OGf4QcJC*yHHtUx;bA{1w#F{0gNkjG0Tg`yVU*;tkcQgS zT=yh=8=bdY?s#&9dJHG(t!0w6VrWld7wdAk6V-^9y06fvM$nIBAmoFlZDr#|owIH? z<-vc&NIlCxsfs8M_2G9h2(2%G7bQ=mlS;-&7gT*hM}EpZ6c7f1OkU`YkWCLea3 zz+=3f`-BevsS!i8?3DH+Lwz0Ou!k^cLClPeg9S5;6~jhXX*7R@&O4@_GJZ(*5=OaM z#8a_ee$59?Xz^!EdZjw|5ZRf8L2`Yer*JRvg_hAtxIFViMAuq{84^r zlruOv49dB+*-%H(;zzoYtWl|Sb%S`+M>4u^;*DIYKDeUC=f!QD18TObkvO{DC8h*8 z@s))+eizRk0-ig?;9SY7_@{*cnS*9c<^B6lv^6&LdGFvF3dgt=3xMNwN?!RG9qT%t99!~t*dv*ce zR@x#wzj#Lse2ihJh*@QWR2cRDWTHx>5Kk-IcPF*E4st$MBhcBze#TR<2r{HwX)m2y zVz0Q6eS3L1{#)c+n$IRiJ@Q1fpp@4OL4;NTnuk+3k^h6pk*mjLPwVamlc)7xCrCV!2H5&hR_}&!Fmf#?M43gJB zMyNAX9J*4*jDcr-f*TLN;;4^i-=$n3$@~L|xgzEfHsA(12=gq^*}-s2iuTOpo$gN) zvEiZ0Yi<7&SdSdvjnyp!cYyZY+rnu(CDhTqUt&CrEWxg2`c4mg6P3bL+TG%KA*zss z4eNn@9ZuJu?@wRMTWbkUi{Nwwao4nc#^j>@l7lLp6Y;up4Xcit zzzO|h(J4t;ED2rm7yIHO>~yhpM(!po&gow2KdO(Oc7BbSJ{^kU* zUIR1An9~{;hC2`Ri&&vsnY|B)Q9#)dx$5@f_xme`T33SH0@UY^h;=126zmjjTJgRv zKdl4b`mC*tMIi9j!} z@ZWtufn(NFxvI*0Yogr3ZtfTkVOF^H*|Lc6-H~Qur#+XyBi|z)iohNAK!)ijNB`DPdRGmR>|*vLWS@iAT)oZKml;APWZr zqKrT6YTzk%EjwXdiZ}3!VFN&MVk1F_@r8PM$qujALPrU_^lzNV%bxk{*0p40wsl-y za@5LiQHxk5Gy!Jvh}}n(j+xx~lsMH7XR0b^T^}^52i$GFs0IbvT;4yUh{d$gUV!Hh z-mq`hk8i0Iavn%{k*SMFQm94&adU&SQv4e=i2ez3JI6o@a&Hw9R(ISS>%$tPU}K07 z$G$b#|CYSAX{V<6jIxs$K`P5h1z`rH30Rv?${MHyQ6_vDLQF%tb0*s3&wvtHQ;t&f z5%VNY10vSiZm4gFE`pQDkV}&HPhvc^qg1cR>jN2nb^55ncBU(#fjK(ml|UTdMWdo; zLjLYIC`^?e0G~hUoI9rCjgdqixjJ;+;#mhbYCjn2nF&R=+xn<49FF8%B57CWU5+NZ zgkQpYtdwJa8g-lYlM%E^@`yi3)4`}M>jB9;8+Ru(2du#sZF&|BoReY7^pDkdk?0$j z_v3sZ!sPl{EwLOZjfNfF#{z#E<*?Y(RLq!j$uk}1s;Dn+W6;|FIEt%Rld4RKC2iFg zLp?7-7Lk>KP;W?oq(;x|MZgaM_5*~X7!}kK`9Y=dm}wzHmfkReSE-~qhm9>pr%Uf) zinz9!AN1U1BkA`KRsVeYJ)Y@9L}&grZ<@jp-13(%(Y55-@T3}K=T0s26CO6__t zZUkQK(L+@QJ#lg$NY+X%j?|5)-rW_)s2r|ugt_+1 zGUp~cq}i zphkN4lqeCAu!R-7$+UURaFhUWaf@r!int7;m3s^0>yq$XtytmgrNI90`&(O|nkrfjW+P$wCl}4 z7uEBtS$~G+g0`~k&4|EcFo@ObUU$8wMMfQG>!L=u1Kbx9?3h+N0oaTfplp7Khpc#8M$XTdK` z$tYE>cO)Vb;d8PU=T^WI(bVV;oW=_XHt>#nsUK>24ocyGB_eEupSEj;LfL?wnf44@ zT+Z0M5D?Y7_f9`bx~uY?k(^p6{3z}l+Xn`zKvxH9x5$1o@k<7Ej^4CL>yNcE%UdR` zf3Bu#STnZbfAOP033MMZK6OaCCa-1;;`Va9D<4YNJPY&hg;Dt3CwH~+cTvL*CvNE7 z24vI(H=bGuhu>KZAu-&+wUNNr?OZM3Wdo1+*kvM4C!`e7bs1yfXQ`Fl&z&Z5+wvwNRW-22*QX-Jln+v%~z|2oanVJ z8w;|f1DMh#6`J7l_1hGQ^B0(Uk?vG>$(MQ59*5<7fR?3Tk{5k&Y=^dIp6j}|S=SOE ziNJ-#F<&p_4X?4OQ>%uq@@fm=;*0Fcin{?Fr=H1J1q=791Iy*NF?zLpL6T~u?7Vyq zrdJv~7z?wP;75cT(bFKklXha$U{zbyyK*kD?(9oQ`+@_KSIs9MI}p{gzx4gQM!1A1 zI)++?WAg5sVsT^E54o}`0%JIi&kyL@hc1D^pNsX}{^su81RP73ggxyEnp$c~_QRf5 zamUqbS&iY|3}{R`9`X}w8ZUuiLB;T31c@z3QCL>dAGzw0L6SP&#PBkj-;NtcFr}<`O{D-E= zD*7)#(Z?{-K!Ud6H8tSgQYVcZr$&M7Ddoh=G5md>4dJqrWL%u)=lojoncm>?;L%i% z2}2PeGP#_Wq0D>h9z)zk`p~yT4RW^QO&<;4OU{LGN!iC#{n%BtOeo+$ubp2^PGXP*qqfkM(e#qr;httrdZ9FT7*Z_RjfejAo5nSIx;HY_G@Y_ed zC3!vKnBNAJ6I1r8d<6YakCGTy0%q>DZy*O)-d_87f9W7Me&zCuVnDCW2 zay99z+=ZQkjfIY0+@>(^<3hl&W6(~iUG~Ue7zyL@|5!>>GW(qmu_Z4W&FDvf;7I!Y zI`lB`beSL{}LvSm) z=M(mo_yA*GYtAHRq{4%VMXxq#N4pY(X9>UWzOH;tSl_7E9eJt_S{>InBZm!XS@3B> z#ZEv5B1dF6(Q6>eIFZ1RpY0x<)nI~rBAC&_CDPZ**Xc#wz<=BA-mq2?E(Q_3FQ8}4-y$LngJ7+t2PA)OF%;h-9ge3X)~a+i-$JgAzdpOj>Y zd3?a;6J(Yuk&Ii_FFrLV%(I^!=WLIUgVzy<=c~V+#*juAoBUR#`35jWO`ts2q+RED z+poO=STc9I7HNO#oWPyb4+NYH5VK_lEw58Xpv5- zWHe>4@k2)bM9!*bq17eXg;c9YYYXtDDSog2Bb0+EXHalUTYm*;NurRF;+u-n**1s_{fnnzm9`r{4p|j? z6YzwX)bqHL4@F@)UY@Tgl5J37PU)^F>jFX*B}L>WTExFec79JbUF2MaCp+jm+7V&W z#DoazQA&xulw-1+vA(VzgCw58zj2FhRUgOovFYIA@{Wn2aaB@k?#%NEy)n(H!!GHI z>CmxHBNBN-nt6E<@Tlv1#&1JZx#p`h%^gDe%xsTHNwBT|Cy=ur8)gPF9 zga6iX_tL1|$2zV(G5}2#9)M#EZ-IKdGMX82ziSHhQiRJfRha$CB!nl+sd?b zE2)>6S(@q<(VievM{%@Nr$zTAR1~{8_RQy=P-&F01<@X(f;OuE++@y9`L9qAM&j@y z-Q+sDe*0FirLU^QaBhtbtMo6O<40=r51ufj6m7?mxI>{9l0VOFR5Z<&%y21ePp_$O z`vnB?fZ&>?O{9tGXFUoK@llUMh6U+1fsj7oilYXtX}BVX2S|uufZAh?l%wKNO9An= znYzG7)*oTS9ks3uIM9$>g|ksXBHZ;?p;pmQ+`uv`#g8mn>*9X*gCkz;eTX^25MqGwWA3EkSfR zkqmRc_E*z-1H!aqZyaCd^EFa}0BiCIZT13%nk+YDd{xKy^pS743~aQ!bIj@l>u5o7 zhQNza>_Zm>=RUf3#8{GYWqC*=Bi^e|{IdIb7obIS+s_+$cY^SJn*tb`2N;czOH!=R znx2z%+)u+a1l)RW$)iK^Pq9!)E!ZfII4k3biC&GxSEs%<^=A3$Ie=`Mre?IJ$?mtVtNp zwSZ7)ol7<=lUlgP&mQ_DgV?LbXOEd`@no+)k=p5qO{p@pO=g@Iu(B2%fRUpl`1G=>qWt` zBh@(w04Xs8!EWah;WcVY^b39FK{^CyP#%Z=G|}|N$+{<14DSm2y87f``L=M~wgjDi zTG_Gq>6@U+(0QgWc+|d7H10S~c4NjqivTW2#T)@^saGcB>UA z1wjK~0%AUyM#~FKe9Y|C5kLpFmRE)F%lw;(>|L(g7*LJhy5|Mw9V{LqEy#1O8L%|a zpxp*mYHJbvQ2F4g%Exq2<`tt8skM+N?GBhq=pt19I>_kT;b~ibEkuU}T2r*JByF?k zkI))v{$Mmo6ohIJjp_&@vfNJ|wnKLX*L`5O1DuLHCjOyDN~l^WW^W7vylFU1li&6G ze6vFPZXh2;a%yTrL$bbID|xj=qCifQG$9EK0Ff{bRG#Z-+Kq#&7Qr0o*5=D{NkRDK zErE-Zi?>N3>&pRNCU>-aC~Th9H8?6Nx+(?*2=yh> zx0PJ9Nqlemc}`W7=W0DD%)<^k<;3d-lVze^&Pj!n_4z!6a|cuXK*+>>>JGxKF^iP^ zIVXi>fLL^IC|x=S;y`B(xL*D0W51E4aZ;^KVbKayJt_w+=>eWlIM?{)Frhr}f8v%Y zkai02qQH(IK_i^8^hW0tE>okt)`Nasksp6yhnY68A(;qOb&$z5mze6>R-;^X$fd|*dh(M2qgpvUI%SyV4raW-@{eQ&HR*`8uk{F&j8&)#ADQ3IjWuU! ze|-5Ay8S+*zz2fI=sSxHz}ad?51>fNK28o~=DZ;+JS>Aq-ux&K3u)~!_8xBkDRL1V zKONVjJjMTg%}$xk?3lu%j3yrHkmNQ5t1GU3KS0*EQqX@XYt5fVdmg69W9rc7TA?$G zrAQMS0}G0XW5d4LKbXs^#Xjp{QaAVxh)ZfWI4b%&AX8~22s6P9rmX4y+pbrahH~xh zC(97djI>+_`-PKoW9(nLbA+qk_{{4xt1XImFxs|PN-Hfm+z#SzWMC6w*}faU7@gdM ztaAhm8dQzZaYAs=RaIZlJz$kbz^X0u3?MhqmqK1dyEpO$n~r1c*i_4a)(9$fKFZ#R zp6iRfmPwvO6@AVUZdzUO*4jqJtORUEHsBl!y{5b|(-1phW#!30d2tszLW6VP)K-9K z7_B{mi`qqp6ed(N*1=PA5)&=lu|Lu#eFYzOuZ9>iyq{x(hj3pPST)`lUJaHDpRp+L zOzaZj|F)H3{GDej2WK_gF{FGyP{J=J}3N z`&B~doy+P5R5UDj{5RF=`LhUTM$ep`;nikj^d?Zg-j^fGNOvY#+0x8iZlAY?=`F=n zxvWxtdkI3Tn9^fK`ePKYv)eKp2TshJEOtd^L}KYRK7wC={4IAogJV0^{roNh(rVes z%da+_d;Y4odGfuq;D%HIqZZ$g6-Y1Uz4SZ+@l^+k=FJgt&%I)M0=Gx3X)84N?4(tk z9LgrYb?yAETROcY%6h}dXbU!zo&x$|ErXEUciJK2^rm7jB7v>t3anIT-D>yPHH;8YiOxrTkKafQhRn?5+r`_GcBj+deC_{DLjZ`Fs54I z$15Pun(${e9kg)QX7@DSTq>v1ZNdJ-a@1vK|3RxJGRgQ~WM@^A3*q^g%vI?qHvYK@ z)=#`@3O`U&)CjmecxGaQRrelNSJ@B%#GA9JymQvzs=3br-7jjgh;dp21gyJB!&? zWrr19_7#-ogiHXAXhzrlLxlim1-!lx-B?9iZ-5E(UVnu{G41oM2rnou2~E5eCt-S= zyCWBc6%#OgCgr#KgS|BIuDGDPt@v?MtS}=^>4OEv=A1Gye4uox;rXivkqFN-u^ z0rg`B#i(CmY1sJ%eHwoPM$EZP^mhdU(Nw(nKG>UJZ`u;>{8NW%jzDg7LR*#1ipigK z#Yw4+moWl1-9=$pCWmRgD7Tz`InM&E4%~&h1M{8J4IL!p+-%kHEMT; z@N(Gl6};3-Mj7c~)5$Ohp6hJx)Yt-B8$U-I-Eh8AHVz|z(mVAk+Yub)>JA>oD5*Ra z3CvG8M>2xctJWJ-e$uhK%O1M5WnfMU_qL{CPnxn-b8+7oW~dhrlA^$Pll=VYo~kYG z1$&hdL>u|Ah6igEqzTJ|+xa6Hi{}C(rn}%Tf|~D+Go(}b{Zl-J)rauGe=P5XGT1s5 z=O`~X;H1;?q@z?a>M#14+qFZjDdHDB3F8zFlpqZ(H>W{8WE>y5XUA&>h@F~XJ7GBN z1!*IbDDA1RtBy^^u>>axAgw^Jm=JrJaTH%Fzic0Rl?sNuV}ju)mYcR}VYPHt{F|N6 z`O;A7AWw(MWO4se2(?6))W%*cXvPyH7G(k6q9|FYQ)S&fJ737t`l4g1@Po#o!U?m= zOYuR5?+f2Ae&*za!dSW)XzYim>g7o;i~u4(2q6Y@KS#q%EH!4bQetgr9s&zC8X4p6 z*}N^vW*t(lHfEA~X%Euz29malC#fYH6;rTH*K&xAb&D$Z)FmC^BUdYy_J8qihNI?? zBBd^d-WE;bl6+#jKEClgO{isePT3VO*r61u6HLGmzAyNsS)s;{R4%%`N^EBKl`$|) z`8WO;N0zoz7@~3ERY0_3fwUCOP-!8$Iy!uja|Av9yA+_s1hV(9VI__O9nu78(Qe~z z?Zp#mqDwfE!S=mTX0K(SBFgR!`E|B``nj9FBMlx!t5{9Xn(PGAX0@}GcZq$wk^D-^ zI)?FIUnwOCbrfFG)PzBJLOih3w=7x*vh2$htGFLR4Muph5@18N6001T>doLy5(^%Z z5P$XNcm5DnM!rfu*oHkv+lhx!Q4y)=_rsl_31jEGQ@IqH3AA*VDum4Ya)zMXxTR=S zENJsUni<`kRH+QbJ6wO@uy|XoJC*s4HWFb9k*GULyRWeKDGu%upiA1xVqr@V%oA z3lKCj-+@e*b4`(fo_;78me(@6nj3~z;v0v-N}ZeC`^17E_~P9)0PDU*m1i{j?}$4o zV>vbmoWJ47acjwygnRICeVuM_0NHmcJbDA=E@($ z6cAl4;i(J?gPcXU zFe`pHwt=vhs%P{#)JR&^t5iEALQlM4=n%iK>5*#e$k8Vm>n8RgDZCZ&H!ekj(ON>H zTFTUJmYJR7J{94ZQx^r4@W%;b?8;uXrY6WzMIn^pq6>Wnr-zccthsTIAm?CbMD+qf zyVd!0q#(GLp5?SK6I0x*3Q7O#5?KZ$?^C_oMitas@NXsobse=st%l!gB{s*i>pha4 zMkgxjH2Ra8`Y6fh1}P;0mR$n)Y??H5#h)bJbLY&7zqu5c(Y*eFw)eE|llCx^66M=3 zm&$H!m)J70o&IZ;#QX}t+mF%FB}|I32R_!yh_dVcnS?3U+cL3HFw1gicz&O=8?U#a1@sH*#b{5nwLCZIL zd4ZMrnUJ|Fe-ASoB&GK#-yWwE?{Pw6R}hKXa6qYUNi9^{114V?ac*k|BWvyC%YCuG2l|!C|b8XOpxhc*F~sp{@!TiKUj|vvz=t1UMKXd`+awB zBrN0`R~r?#i0Lo|{7E3H3C#SiTXD0qI0NnlNh*Zmy{4$BJy0hDqZWo%Xg9P4(C>Uy zn>fn*q!#dMVj5NHK2VQD_{4@<&JY|1`+;fz*VNcYV`kZq<%2|n~m$T zQ&%VS(?>k8f?*0KB2*(8j@IvbzVWrHO)6ws#8634{(ovyaNMcWiDk00gpP4A2*QK~ zd3ps?>G1Bsq)dC$R&$)4%AP~#)`*;^cy#G?bC-yPHU;eEfFucmg}7;_2cu8yJSa>r za88qvU2030?1ED##+1yp#jBJNGE+kkR%n=tr}Dm4thHP@Fs#v{%vJ}Cgo)@y6SBS( zE1Ye#?G7xR4?k{un2blP!m$H|%Qo`ekxJyuF}b`8W=vv|16=Z*x1`8O_P>i5s^LM? ziguzGHS_H2Yl_r_bfA-zzuNcvIr6UXU-sld;=5e$al`(7@ki4l;WK;6e)+sUpb==m z)t>dJ7n382$;y1*#deTb4fcu!T2jm0Tl7xT7BbbstKJ3Q&&g$x@wn}W~_9PKnMwu!7f;5uXhs>*it4GGO|8lP{ zV@$T@sbQz$PVd_6te5Chbuc{>a;J!WKsJO7Go~FNX~gI=?!}-YP~aku|LZxM>8Mc{ z1GSUvczPOE9ZO~9jcL?ZZI>>t6gIl@%xE2=IhTkS8dNQDp%N~_`LqYTH2<8oRpTr5 zkEC+F*hnn9%u)W?ZtX_9+7(q5hmF9fhGIoiBynZk8@qu!jHfcVct$jb7pPX3^zKtQ z>24;!*R~RZl1KXo_^iscoa+%vBBkrK76#94kb6x%vj=~&x)zkS&=HswrE_}ty|*U0cjI%~dM{4?8`eKMCU#;(`~m~W zM@H-PvpKxVJm|HW5w%j6K>Gh-2epmUvA~K2C~YGflefMd8l2NkUGL~tZu{8E3%OX-F`OvqXQFr&MajsCU1tZ9Ap5)t*v&>l82tV|zohTyY|lhgKy5NH5Ph zQTc;Dxv-$E1(`(Lz3@Ofe@rUtE+~|={CY8;_jO&Y>svQ`Cpbpr4+hv2DW`iu^^z`H zAt*R2G$r+}XO1A2m^+;18>4n=W`U46-Q3B8k#=9Yj7Kfw3=~;?np+1<0OWwwx&*+` z>p@OiY*;S3%APj7gHIhhVwJ4P+H?*dX<4qmkrY~!ruhn_(XZN5ENR%HLXudl8o7n$R$Sox|1@tufw7e z%eacCn!6>hlM?D)byu5hCvns9rA2s3Z-;m_um&~W+LQ6rC(2ckJk3tPdyq2RTVWC8 z0Y&AYcp6-rtWa&&4P~@uJSo+zsFE;bAZqsTSaPrd7x8}KzKRvvX9?`5gMt46Tv;zn zb>lDKzepCcD`8Ob_s{gcCDgs3|HZGwzP$Sm;7^8&$3HllPntI=|Il}-NTluB+^_N{k0|xK(y!#h&$4`ER`lf+s|G?AWat){ky%Ol~ zF`8*cEv6uop^(*Qf52#JcxOVQLQkG7t7Ix3o1A-IdWkf# zwO^vB)o2mL4uygNnKEm__W3GB{d@#Ld;A8!_+TBh{-^_uJE+%niN1%C1h@Hz%e`)H z8b|h-3mSqQnP8h z_vh$HYe|j+bN|NE~j@ChN!}xJeEp{b3E{eLk=pOR062+Oav;|BfDLRVjHLU&pWUvF=kvdIA6^1id#wgdH>Ru4%!}XDvqQGH&-_mNbe1nop zB8;Lgy7i=f^>?iCuvRk2x&`_qX20Li-4FO9ow}LH+jwecpnF0&CuXU_lg19Ve`iqJ z49c6#+s3-9=&k1ZPohgs9KjZJzqEy*Zx~f%$DU+Nf5$HUZ4YU?Bk$rM@PYpiuPGc| z#QtbsL|}xwc*%GwUyir4*6aQif8NCAMpk-7Hcr-|NKp!@=3|Mq_0(;r!vWP6*Kzas z&u0_FU}z0kq6i%zWDiUa)Js_r6Y-7IKdL(9ZifYDJrFI8+cx%p5>Q1sR(&B)J=F|Q zXKmI#?9o~mFVwIkz5WqFO1phOoHEP|akn`9*RZqh&Cclu(L1E4^5{ot_;lwXk9xm3 z;|`(NZd_t7htqAlYSRy2hno)l78(V<@C>%se4q~T7J#^!Lw033m{S_G?hTv}zJ6x6 zb?hM3A)vQ0h1E+jeg$gJ6KtCCp6+}xtwE}c{U%=x_c$jk_+LP%MoE@B#sR_l{CIW= zW)RwYy%Ycd{)bk*3o!utBUhtwj8gSs5?LYJo-hN%p@m#lLR`xLnP81=^2dvLaoK_I zyhe@@5^03cm8eegNAfZVY6s>p`M zSH}p{hP=9ipQEpD2)gslK|!G$F9@!RT_>57*@# zrYw0wR%-6iGmj`q&{@uaY3WTbXDJm9olVw2*h^ zJa4_GQKz39o_Y8egN)=rF-V0p912IL@AEtC8rV$PYK!nYsz)}oJBCA-K#Q2`>b$o3Mxn}HXPZkx+@nJw(P>HVb&hBgx2om93 zOs*)zs~L0K;j3mPEEK`udefwv1G=+U{DrH$bE=pi$&NYfTechPA9pM@p@Fz8G`l>| zhnM!p&X2E0ob)rRX2jQdl;ujs|H$NG*i%hXyAG-eK$bX(>0|FTam5w%oi=Aunvu6% z+p(V)AZ=}r9iTr3z|n66-By8VJLz2=huRvYcGk~$;Otd%)e8!JJ+HOySY4QvG%$-n zXDvx6y9iv(i;;pss&o$+aZ4{5x1OUWRu{@rYha1vlW{s(Gp{F)9B^%2qJGg0P=2$R zC)`_~vuYhMKzq@A#@?WJDDi+)oN3;MP1O!B>GTO6Ryx$Jt^Zq>n%4)WZCq5r76NHmKwWd}lru-+413SSc=-=KBY8?)T9Dg=io8imG&Y z5QGft5}M7;#oXkg!;|MzLT-$6f5?S^R2|nx--ZPEQGXb&KsFKY_vN!vorLIV zwlD!veO%TiSzMdTaF^iX9rz9s0o{nUNH^^Upp|POAZq7o#VVp+`O(#zjibPa2+X(y zZR>@~9S_2Kf5v)!7vH4eb?0o*>mI8axv!_U`!H7AR6@|KRG3C++|Mo+B+l-nx|3MCDu%1z9h*CtPhs&;d@x^&k?%`jtP1kPEKyal z7QPy<2}eYNKVpb427dJ5f(#Hz6c>ofyk^CoPye>37FzJ~$2Pn$hgY)yg7XH@`O7$y zzzeJ@^dA>`a=RB^%A`mAy3`s{^*7ucZf_ZP0wPWoBEcxFLIwK-tizawG^S-v^;g)0 z0W}9YFv%q8{(e$ioswzw`0!TAfVAS_=zA43AyIg)Bh|c+M^4L&1+b4FPY!%ppO&d^}n|P7?ABsaoJJRaV8smbwZ;Tds77UP`cx?+Q$+4T#HGA(QY+9Mcb!v(_ z!kqkd-pKm0zs2?sK1$vz_Plc&eb`!ulZb2Z=8NbrSTVuIF>d8MaQ>C`DfZArFEnPN z`Wlqw$_wF*MXmX?=^+#GK04YB$JgS)V?KkvR0Ha$Pn3vs7xJ~O=9kt;By^V+fO5N< zAEtl*w@pgyTLAiS&}SdLp%xY2$|)?)JK2X7gu~C60kWmVTe;&_C5W<_(TS2_QYKj4sTtxc>_h6W9~PZB9V)ye3%TXW7P0)xI!1{B2V(o2*mkH7K22FWC(YdSPX{nf z_~w4-2;RMIa3{<<;od9(WXx9}wS?R0vDX_cE~sTqMi?081&FDwb$@4Pwi0h&-B8XC zY=3KzXs+!15?wdEfnAoCRv63Q~J7Tn*ukg7( ztB?Db(u|3aUWW}pX!unN6UWKV?Y85z$rKxb*E_Q(5J3w98S4@-4*WFI8<3mzN9U0L zGBJ2gmPN!E+G2E0%Dzzq9(EDr>-{j(va3vl*trGDQn+|<#3vEw3DKcR=X;7Cqgo-- zS+csCCp###j@RqKGbPX1!#>~{^2LbBx;he}6J58U-ECikFqx1o!89UWCzMEu!{a7# zn_S(}OcbXu1`QT!^fgex?WO4cZRsfuAM=iYyMT4RQckFx%N%j`AighM6A?zCF(sRc zO*@QINL#gT*pRxxv+s+L`v96vRuc4X1oIO$5CO|!?dk!k1{SjjP#_3AACu+qKLaG# zCY)!>OHl~}_bbCwOvx~|Rj)GZm22P^y!|h#401P1!w5j}1drksGBJpAeJJEKawu|>1Rvz?p z-yS`OA=gPJt3+Of?5TgDXj`R>LIP1$u%3!z4Zx=g3E?7<^(}uDV^Gjqg#U63>p^=N z@`xrLznnf3`K~O27jsX9KJ{0nF=YjIs=mF?Gmh7-T&^QH<>aaey46!?uzoeJjx22c zhn${DI74NlVXnU@9h_G4jxZ8tA7B%TMKQFNndW>^`Bg9~Ln-MaeIkc2mF;GFy5wbP z4m&@+W2sf||2B@6dNw%UZf{HZz}+>#D!6nfqnihh6!#VLZM0Jo2ce*f{XRw2@;XoG zVbe2)-+;$xJA)dlSkaQ}Vn%QLPE{HkL!pU?$ohbDK%)(sCAT30wxVP0-H=B2-smy+ zHx??3YIood<`NVQb3bI#sO>@Pb^zOPzdzUk+usiC8)fc}&Ef8uZRc0PJ}*1>+sUDI)3NAA2?RfE z_`2tMx*=0i;vXP6= zR6%Yz9jU6K#KV}IFE=o@g4^ZisTQiWFq{n}r-aGii%7(qM1DbRgE?tMtHkZ5ORbllq+nsy|5iL0U-fc#X@OT!4Ddf1Fd8<_l9jch3f-h`VY56}^7G z0H%!sqwV5E&Rj`M`1d^iV0#et#nZh%^=AOVZ}?0*M^Ud;vJ7em&mc;-L#8i$hEI

$Ioi&zhF87-`+McfSA@%S%Hi0bO-jMQ1cQRmGuSGj#s0IkPQ4`h1 zTvBC$5$f$R)lW3O%j@eQ)0(k@6tG}Jr26O%C{xesC@CgOLB0UC*p?3u0GS!0zg8^Z zuidYdBE>6X$~t}F0L{jwoucpwKW?Iu*u)d-=w4j_sm^YFjLzjYCUGf@n41MwOH3C| zp$kA4-3|n_aBBx(N8DL0>K$Z!N@7JCur+=HEXJlfyho<9w>L*rgw;lw161o5NfCuT zQ0p}NuAN{^rn9- z8h{vp5vbyUWVAjfy)bGKK8%A7{wf83NdwL0Sne7)uWD}6qzH4q<{sqzQ|e#It%>HxjE7XBqtAs{*|U8uo8RhBYHvA=QZj$xq^ zH+GonL4Ro<&G^(zD{xit&v67yDPNDO4j&EVyu;sVlc3!rgp{RFL$i1YPv!xCFOw4cGWLLDhE-@DOuxYK7TTg6EFro9YqMQ|=`VC(>?tyIrJ} z_NU+kkwn*p#n&oEGl2NEX+qfXVyLO)r4% z25fSxQm9$loV#u!C(vD+L2X!wmVs&wGIet2QXUC>t>UH?&*UcNIPP2w;sjl(=}!mY z>N|zPez2laS%?Rat9r+#PHqa2qxMu05 zR$r{3+C#q8#{_ma!{=XjTh?e(x3pSX49*Ennh264-R5X`L^rbZ-RnIb1bT$B7S@XL z=|zfD#JCSbSSy{7af!9lVi$YP8n;@6S*ff6*V&g|9t=FQ)b;BCg2+}n{i9SYVRmtTI^>@|U{~?BZA2{dA z`Q9Bt+$T2Sc@PkU9GG{SU%0qj_FJf$*ThYXbvWXApTy(&uF(fic5DM9=6tu!Ib5TM zzaZ0NrtL0V^y#<2U$;*7v6Za!StU}Ngz;vTG$=P zW;yFgs;$Hh<}@^Cedt6a=$DhK1_wuZ#zVUpe4d^)VT~oo_0W(%qMoXSx^MMU)`MSK z&M<7GxsJMeHJPaV8*LID4MGT(5?Bm@LTqf>UUx~$Nw)2U;Sg)u;-!cuoG-L0xFD6- zh)*uc{hTqhc)>5$xNpku6kaqaXw76BQ7U&)oF&C-=(3XV%>I*8DCKJcLlsI?u=suf z)wLAMO}PN35?a#O)4otC+{I9X;ZM#5L4Mn9VIzQTV48N2b`m)ApZOQrjEwEa*)llV z?6QqS)~@puqNZ>MLMXe~1Zjga?Ln}5?Ryw>p+Sr9_d8v}%K&42e;zZ*o)?z!G()n7 z5~Q&37YSN89{6m}oq#VJ`Zk2M*7;s98Ej;?jVVWbMYs)YTI-y2#>9X_iD(agL{v)r zy#;lTWrxfaKthV8>1I|cCN+zq=)OZ~_lCFmzznXP#(%fdO_i}|+C#A6mkqxd6%Q%N>;3Qy(@0bglW-gw`6Z3m zmWvSCBG(RP+Y!`tNUk+Uz?xU{g4vJfZCxv8%B~!-cyC3FG<%S>yIvm^aH(juoDZ7$ z1g)mrB~)W}a|z5e*?u(}%<)?3IUSI?P@8OMEqg+t&D8D13bd(_7pE(zaA}xd6p|#q z{c0fMhd7WTle|)U76bNC=-K)+U(TsrqYpH3#ooG9S=L!EzLWl!{U>pvnR86b0 z-#8=_-Gc|R{c2wbm@0ZE(w}*KPjXKgZ-(^Z}r~$TP^elSt}?fIJPFf?sdH( z46D!FqyT>#AIC+zRJ3lu;;U40ur$1Z2pwr58~Fd{Pm>D#kY9tjR9*bavzE|j>|=8N zaf=hW*Dea;Lc6(<-Fyw&8#{r@$jM?&z2;Eb6yp8^?Hr0Ba%)50GbDON^Uu+LS?bH} zOFo-@`1EwnAx`9PbYq(}p-r6C76C`Ma_E3U+lv?Y(U>XLed!^k2a3xw$FP?9n}A|G zJ7FHd#APK5xoLULkMiI;<-m1 zhM)Aptl3>1O6dC_gkr(=-ljO-6H*44=0Zy9qQxr9X`J6&CUD?-#$v(oBLshq%@h*e zfN3}9-nEsMJxE5XG)3Z>v`po`+K$`H*?*)G+nG;|O?XP0YD-KS$3A7o)&yd9i})xI zMma5;0c|Yp{}W;PCw=hA4SAZj&QvcvphnM@#Ta?PThOK^ySAU;6QHC~ir`t(dtbYQ ztcUqI8}BV{GKbepWV$D-Bi$d=fx5U;+)O8MThx$l6|~nmM?O#|hT2ZtEwk8fVKfV) zUju-`MyG}Y@AflmLz&FEzx=gMn`wisEt|?XH~zvTi#pTmzQ6#~RAi}IIV{i5Z;A0M zcpZ1G8r%45?R(a>pLk&5MQ}na)BkRuws)V`uG6~wCknrzt6TDA2~X?3tLyd6-b=^h zR^XTyB~2}kypDSCtx(ztz%m7oMq34}+k5^Yx>0!?Cc>1Yx*oN^v-C%mIL|L5Z zJghZ+C$rzFu1Jh_`CXwBxheZ-XasNJU$A(F>51cm!1)#!BD+$D14yf7!NDlgt&k1y zVuZ5sln~Vvqzzmwaz&=Ht3cz@1mSQ?w*fYHB-;5n`CLJ>f|<1CK4qPeM%iZ-Td0jt zgjT=Dzcm67cFg)l47CQf4XR7g6?SR202Yfr3<^PHj?_R5b4u&^>45xh(^AWIl6d4f zn+ij{Q~$~NNj3phcVGZccsbB@LUP^$i2b~M+JbsY92q#|iS-T0r1tZ*nGNtx*_$!n z6+K{{Y9P!aA?GlmZWHT##Y2lDK?GK_DrDh2fl4-mKcYG50>&8o6qXJ#j-QJB%%8TWO>ZhqB;3~t+{Q2vWOeT7C+*vQK_TjaO%;db zEY+WnQeOdTY$2+{!7>$@TJksj<{&2}0DdCw-df3*yM+)#jV59u>#f%Bp1YH%&uSv! zVK>)AE>gcFqop4G>hx#q3uAkr4vcn5+oDxXkhr>*lZC+-{-=0Y7)Ol}bTCO^)6T1p z9V8Q-h}M@NZh;Cj_AG2=+ec-{ZY%NC;fBBX1B^jETH~Jr@Le3jrUzS7 z$rp*1OfPLy5WTIQ61%OkEM{aig^|bbA0S<@N*w_wceEEA+Q&bzqys>A-S6U+)dR2% zE|-sno;LnKX!z*}gUg-!v`3QR_xE)U04P*|>Kx`Z9R-g;xVk6~Cq(F<7hRLAE?;hh z4v(X!C|?NcFk2NBft(p7*1aDHeb|1MVq>8H;<7YkVCiiDPQB;o2eLN;LC#ACX>n^?Q-!dr$&o{hP7VR9j(IjlCtTHeEcW#S^}*c>&Jx<>>T%jpV41qyRrd)7`#!If9@>; zFmhUv_H5kIKM?C=VQ~2s6fC4=XQd$b(0%zoUs?TKibstOt^(_NLm8z4DZI<9o%UF< zzv$i;4(xa08d{hLtT*OBw4WLdr8EaJ+EoCo-Mqi#$SyGNFiM@uj^OoJ2ajWzHIih3 zs9bk$q{fOyxcZ|N%Z>%42f zv5Ev`-0;Be2+z2fpXF|vjB+kHSYcmHVzTiz`bFfJ>vg6~IC4tt=rAquYkQ4TO4rQs z0CqG02oZ>t&U`$tclsquux5|Gz}b5HTmJl2RN&`|>kWCMZ1@}*FRsX_>$J)a_;E#eV4bOnd;t)l28eimg}UHH7;5NT`h&N- zwl6Ioiz1v9h65Rd1KLON<}`2uu=Q8nQpTZPWu4`bQURSY;P~kbwbQ$Q4FY6v(5-{#{uqdxveu8XX4|eyD?s zCv`5KUikoojH(p48f`4Tj5%0gAGjXv76Qhl&+BiW5JX_8CKh z6D!<+o^G-lp}d9mrgr_3mKx_32hnOO6lWGim^}o24zhXEQH4)J+rP>ap&(KeIwway z!+!Fxu*cgTA~_vNh*w+sTBmDK%KsD?M`t<^4LeYlre-VQ?it3^b2mzFaSwIYasT*? z5q0k$GrkhXp(_r zHB3w3LKCw{EmasU>NEPl+dUL#lxuw5egNZdRw)lP{TZgAYt%kH2FZk#rpj9Q4kDu? zQrEmRr|7flr!PHGEq0$J_)LacdAC}26`Tc)-5vnr`oi}`xuy(*lyS!+StOsW_O=9f zCNt`&?B|DdF%LmQE8;lk%^%aYDzkpUWYn{)tVTx}k9Yxk&wKV|G8HIh zc=b$TsYv{qHlD9wu-?|R<*KI$lb}M&oFC-Vz4XgUOSwW|04fvVp!kY$WCw;Zhk6CwBj{d}Fa-Yky(P$(dQblo{i=uX?^~R6=XRi-{b9$XwbzU&IS&izrU3gEz}_BJYzUP(mk^Wp5XzJ^^#J^E9~am zM0J+t+QV`^%oYFqlXdxp0)3V;J;1ExV&<5a9fReGm3D>^L=Mj~#k?|?uTp*n>3&QS zqJ`R8MK!i1{*f#pwgR*re0|a5B%4P=+b@7>oV+?bD!^CFJ{Q_!e*$)7Qo{6g z(b>6jzo#dN(MOXzPT@i~VC9Z;>-hK@C_)fZH2&a@fO~_iPpazWzfWz%CR(2cF5VGE z5W!4MARR{nakV$x_@PYt2DeH}hS(%}36m73Bz_A@)6#J&pPb+8AksvW`^Lrz@0sch z1+Y1|vg#oiMtu*9+@sXUw#(^rsl@^*ZUKVSK0FqD*fxVlg7RZJ+D0S^dw554=fBLc zz4Tn^?WPpxkCUk+>$bDpHm#I5R+HDfd#AaR*m`4yY&_vLngg<{HM5ogL^|gW8&=@t z@d6x@wtU@2j2-~|e=g-~M7HG~q?s;0&#`MHgu+ck{5Yw*&T$Y16qJ*ERinnRci~RY zW0p4#56QB3r*6ju$+BY+1}jmhI~kI3l_tIH%y(x4a$8Iutr~BIGoitJ#5p~Ryzz9% z0*lHDMp(ZZ8Z9%-D3PyD|3(Y&BPmvi_1eIAJos|MH{l^p&#M;C47_KiZZe{~{F5j^ zU7wlpoD`;wXvQHtNI;59$|Ov#X>!Z4Q~uGgo^+eU<#^b*a*ZQm2&FL_jj+>v-;$K- z7f8_8B}^LStwfz550Qy$Cj6HMv8y)B`DZrOu% zNN-h#iZJU4n+xPH$0S>peQ-9RmhJ>B>VG(2G%-w;k$LPxcuAavqov-X(6Nslgd(b>0jp^=LX5cbX!^3adHaX{nh}lA4Su zR(HuMv9K-x0OIGk^_HuELEw=q(CJ83_3M9Y8&GY-Pqu_UN<5wssn@|C9#Hk(+phAa_VDrQ6Jm|)4;?cF_HIaBbCP+-^Ky@FZ6l*X3H`yC0n*`5K*Vg3ukHw86F0x#2X&WBl-(DrO8Y zu#lVW1>c==Di$rWnA<^^1OE$bq4`B~{OwQvgu)tCeSv}W8AadwW$l?yJ8&1?L$pH5 z3Rte<+Lc{7=3v@~@pJLC#qJTXBa<$H$6E$`1*egx)8YII++wZn7+XsIU`K!M`_yNgiMlyS>eHRO#DrL+7qGv>Z;z8vKuOISb}HmPu@!3dmSQ;!>6QZc#0Fg zTC~&w+YBT3Qr2wTK+nLkg9$tCr4p`GSs~gzk5`X^srYSnQ8QEiRc|{slr(LxDg#1Q zYp;BGgrkQb3>tRV>q`DWO{N`ULK-mv7Voao;>L(oIEd^(@;+0@E;E$NTwf3*-bhR@ zqzbU=2|i&Q9nRZRgw*6`Gy9_c@N z?Lxa?LQ=$T0J%)1P1@%5$J09g2cOa0zs#XtyWD@CE*|Ds+h8j&a^`eDP)>U zkd>$@xxUae{PPreU$iH2$_cB>vcmFkZBrmdH)T?vc_%XY0~aVd9_jlEI`AxHVghAd zM=C(Ixo}{^O&j;W4yA^afkNPN?I_*eS-DM5-Y#WC9GLBk7~US?(sI%QB|53C?4M%d z=(2(-$nXKxGU7R3n>O|r?<$$RjL=R^{YMz`2bzezMFiFzz};x zu3yukgz7i1GRcF`TQB;{eVOvlUevmp?KN@(Vc{R*wYnwM#;9pTl2)~7GVH5Cl^wRA zD?M|AWNuty?Y{TKRTPa3oYb`TK`+x5CfrR7MKL)xp!fz>)!QgDz)@*I0fQ&TG{2|G zD7!gI8LQ}@@jAh{`)%lY5l1CXt>X|r`XNcJIfafz&J^d0R! zp%oezqLBQnGAitc6Yim}PhiHoc0Hft7F>US`*UrV`2F*U0tz_cIJ%PG*U8(g>#&jQa;n>h=&!%ZPWsk5uIXYWDFp6Mz5(mRt;Qocr1e6WB7B zx)vFo5y-=E%FnF20U27}*%NJ!xcR%A3JRHa)J&@B?&_z!qI=h| zKmN5=p6bEsKNmq?fSma;>c_T7JA;Srj%Ou4N6xfQO; zrZr?b?XoiMSZ{5jN5Oi_5JmP1+_F-vM<)oK(30YQj<7N0fPeT_snuUQNxz2{&!Q?l z`M0Ek=w_32?}H{_AJyHT13YM;3xs)h9D0QtSSfxcwg-cDmZmOfbpV z%sK*7e-;sbgzl~qdA)l){S;gpiTZpmkV^U1+q)~aUsSGVGa)Mf!rSV!TIW|{$;U_9 zVcZwJMmc!Y=w+eGQ@+9|Nhf(RZ@PK*ozSXxWPGV%IN$MY?z8U>4oToAJ#Xm~A`;Y=Tn))cAsZ9H zo^4yHrt;Z!MDQAePJZL(RY6r1kNk4rqogOfHRV%qfb(XD>gI6U{S~WfLMYdtY z3FK==09-00c7`?qC`VpxCyNZYoyz5bA-;mbEcPeHS;M~ zzlZNwenO>Ug!Nj)7(=l-Nd)F@YVT^7@V_jAOP6e){Alee8{Xthma|@t1R|OxM6{)xvLw_zIYwZ7mDgAvugPP`r!48$y#D?Mh89g zZYD{;s_J#^oR&cRUYnxvp=U{7 zr<6DvLW$=<4l9{m9lv4thDmwfg0`6R-*TTntzN|#FY2C}DeDBXF7Qk(=$JjrWOtOB zFJK;TSp+G|(8r;Zxn#xh6)rpB0)_#`e5arkf|egaNhu~ z+z~WPx>AE#>~6%mnr-xDA-MCYgbM02+*o2-8G11e}&$ zWpb85ia!}fx(1~-72;2O0{)bdIN!QaLp;1}(b*BC#!XfINN;qNi$*4vq?@0_fA#C0 zIu6JMjl+XWju zrph&E<1RfI`fgg3ef@UAp49ImjS zJ#^4^X3bO7mVR<^9>xZne)I?3S>Z!GMldKav1kJmtB;DNTQ79qX!Y_15^|(f3m543 z**Spcp|`(!h%9=B0*y~5b6bjZnZ*y|^VHC3pnyX2ou}J-mCMVOCx9Og?+`ktottw z2;0gPshN0@Q3c#lARGwMi5a>2fTLFjC3RO7DE`|=@e$Iub8Uqn5n=eqA>Le=#*)rX zM*R2&U4^cT@F)ajrio#W@vAka7H9gdCx|7${UTNS-$au4n9JMFe8U{A)t+pgB4IHA zUCXcTrp{_uMg=O!Ths*qfDod3C3L}K*5f}2LK7J?{xc^=kQ{-H9!+o_$AV?5narzZ21g@ZzA9pQ6smHqkRvxr_k7bmbd z2OR7{KU=zrrQolvarz=~hpBsiL6u3o>l9o+QV)&0V-9K4;q{dEei3=AxE-W2Ua&7Z z4>*>Q8c{;G|YFoCg${*+bXbCE=AO`LVPvW;EiP_IP} z+{BgO+DL|q>7Y-^%>WTaN%X3PSkUkdtar<9uz-C+@Y>05(zq$YrqxGQjcLzj6DqG) zGj;Zz62|x#m*NuvHb%&?ekLsIbk2c#7YMww;M#1IG#VoNV{FJ~NE6))0>qJlm~ddyaL;AM0T6?;BlD+z1i8C1H(`|!dd2;_W0O$+&6ICL_usjD|*ymj9+z7 z&7jqI3_Oi}7G+7XIASvk(;7t0G?h*K{HUL_%+ho8L&1f8V}j{!Eqi)$`S;sU<8kb8 zHQxdUsyEsc*X9ARXOD-_?4y*Wl!d|{*<#fDdjS3CmmFAy?T?=tw1)q8!4+LU)5x_J z{xH@g#T!kphh?C-5N&s4TWGaC1%mI3s#CGO?(?gt`S_g-_;_=8X&C>UB)U zGZTbHf6D?PtZUT~q;Mc#X3PPum*~8!d01vK82@I>%$_#FQ#?tmwj^eLFyc2ifHEe& zzpc-SWnQY5({HZ^i4C)gr3i4d#|&&qt~yg{`LnEX#yD&SBESaHp^(IGpxZX+H-!#E zij`M>nmI#&e!#5Pu4b)?hp6LkmnCzfMZBV_H&ar&gGp)~8V!HP3;ga3^V5l)tv^K& zcwMN}y{zWBr%C@^nb;*{PL&_5qHw)f?BaN+LA==9ep7(?!32&tHXH=TE=ywd*?e`3 z1$bdX=gbY*j&YSHbJfe@$7HU*G9$ZPe&y>v2JeYB4g|Z~W^h05Ly0Om3D3fsa9%Y8 znKwG6RujSsU(YkWT0TAapFJBKjOR-S(^+1E-rQ$@RU9s; zu_G_{PoJFjcn)f_S7n8FskLE;W| zwKgnw))!Sky!91WG;^5ZpC6%Tv7m$2$ypayfI(~v&f{p|W(oa(s|*g16wa3AGANBpE4ziALmD)J|duL;76TI;uZaE8#Axqjzo@@z!4I-|BC z^iKv;XKID=B6}j<*q8#|{=M;B>JlbFH-9{yi09XjYnE+@_f4|{v<FA`cPdvz z-JX(JDfr7V;tbhs($9E68p~|*A%7>jOs3?>w@ihJ-qGC-^%S) zOy4M8*qS#@vOwM;jd-D#8wMB|pt>dMElifQ28Cu6f=eI87n1Da79rb40i(_V>#})d z02x_X;p=!!T}?uG_*vzg)R>ifIvIF(buJHx3-vTX@2{p)0nNFnom_-|fzY3+?&^oW z&MCW8vo>1Id?J8+3i{7!&z|p z3sVYvz<)Df787`J*ukkwajs$})qZgQ|yOx`c?WD12zX6B*#+^7>zy_^1V-Ly!|C=KB!vO+t%>H8 z)c}S*%VZQN^{Z`tt+h}F*_(u#!_M1H(0Np_eZ};;zHKDH--*-LkG8$1>@W`EGL1O} z7St2Ap&AwRyvJi3%OC^}k_Ai{v%+A!s-r3KPO$VIJrCFY%*E=4_~T97AfzDTUN3S~ z*A28jG$Z+Y>mOx7fGk}!-_96P&2k`vQFc5h3(4pcYoeY`1u|6BZQK<|fY44!UuG3e0D|~~$*7(y znEc7g)S!x*P2@gssO;@%T{&0fS@5L-3qo@UEL=cqBN5pIe~Zp_X2NPEH}qdJsNrtI zlq!yV2%w?-jdIXA~r;`c8NfqfQ_wkY#2*%N3JMG33})H_}18++DHoPdbnKT zu0rvZM2&ejF@1giGmBi!Qvj-5%a(gEXVeN%0j#VHDX1I~$cr?52*KylD(t>0WJBEO zv5(JdbG-4W!8i*yvCC}DsHc5}bgdv-(<8QRDQtETiV*)+2m(c+8u-MQeBmB37=hV` zd-nH&dXkE~M966Dj)r}HrhpbPuQ`-(WBbcO5>ky&y3!D9KhrpgSltB38{4rljErf+ z-9=$tT1rwM)qBf3E;B18sQ3DJgivbTS6#PCZ04v=;^5U~WUFI5b)QQ&#&_}bk2PI{ zSSuz@OGCgT-WJEFVDW_BuZVw7jm|b1N@<5;s+p#i*F7?`X8zWYW% zkAj>^-9(l(`9!t+%Jqcd8y+HTf=s+8=5592Hi&@wNl`TFe#HA*<9OS;w=2xP^zl)w zL|-EEOv!7hO3DE;k<8*F;M~j9Ifyx?LpzI55Hg@w+%ihuD5#ra-|Nz|5LiCnVZOD# zA)+Pf#*@oRWw6{N2DXD(xpQoPFTnjE>T?*l!>O_Y$39qudi-PRAIl?9|Pq!Ggg%V>rX z9xTf~IkpFoO8}tZ97&{&y43I}?(lK`KZ>Q_jrFi0zian#oO9nMjpUWZe3o9Gbk zKDS-C!e<$g;iHp@Y^v>GE?d{==Ek?dYErvyeuON{iV_?D7%!SxA015~wKZZtuj`H1 zUrLDv`q13{p+IQuVzOc#74LoL+vXgNJ&3^EIv!!r;<$SRt_I(WgMm=!Q5O{zMV@5MX0DX%jM_1lAFt1vNMpJ|x-7hj8b62$L`C(_q{}35h_Ljs0&&rTxv>`X*hI^l$MO{7jdP$i~&xC;hvRyXCl1RI|QTS zC8ttJP9Kl(zWny;uZz+<`V)C1F45-3aLi*Spd7RjXXaILlgr%GO7OR;Qp(Ogb&6)s7(pC)2^vkS(jO}+A9bbp|EOH zZXT(jY0qST&C^o#+VG23Clz?fkg#BoY94jBf6)9k_O&@U+_UlZ zJr0I!^%7jScrR8C&0;A4hy^OGlG4K&%DPxCJ4GCXB42Tey!eX*EjrgmaRvfG+9CCE zsxaKmi}U*;G2W>*Rf@&8IxBHO9eMlQKS0OG zE^g`E0JaSzf-fup+cc?vMZhcW!<+gGfw5^PS^jsqOuM|VrF_%J!8=|7QC>>%t;pKn z-~#ubLZ6r)bO>oJ35nFA3E1%Tz6nW549)YF?iNH;_HhYFk!|zklAgJ$QVa$N^ zK!UDJ7C>$%zkbB%ym240O*lTPN6M2;V;~PK6!Zw%uQK7@`pOMy!}R)V+Sw_QUVAz~ zk2AHvYD`EKG1A4KllG3;pDf@lP6vNvYQk_UW>V4lP|3atfjjaL04r;IbAIl1mnvA} z9aJ!Lt@~5|p(Ss(STShF@am?@WGVz=BLbh!Cx+(FszqGCngvjNgo4`eA@T9qBdi4A zAQ5Ok5JloD-9oF#g!tI1g$_Y;=gb3{8VZ+*8nP%9vjxOjhuPs#JdHE*&>#$}rb&V$ z{^$O)t=fSILAQ+5C^BoFfhp=v5-I-3r&R8g27lQV>5#}4guvGcjb&n8=`oX;9#ZNnl2E|RtIDV?$ z8c#0au&KyzovZ_>wI?)p(inGmsr_P_{QSIUsj6|{B1xQaGvdSa8_HY#H^^gBXONDU zG?zvCr_eLR!`6MiaRW~7pM@&f$|J!ZC-P9*u69Zk?|TzMu=>DHmZ9*GcpaO0;7{Jmz&O2Tladldrh(d#B(7t*wlHt&i+Rd<;#J69a8*d~S9pY~ZlhwEz9M1!vwq}V){UX{z z5kAl)F5DN$Yo|tbNBBtV&4mpN;2Zws_8a(3frXSvlfF6A<_(ld`1_CT97Ku348cF^ zbRZ?2^&uf!$j%nXM#YQAVegp;DlvRcy=gM1p53~rKu}@~swcFBUSIG~H&_2tcD`nk ziF!CY;~abrFd`MOh9kLgh=0dlH|KG3_;9*T%BD2`);rM0d2?EqEtQ1U$PYZJSTaoC z>2%a7Y{Bh-5B}QkQ`f)F5k9UYq?dSApBTtb0}V}YNTHoe@E_ft{TA&T0BVI)_{yj> z>XMdhAw?em7?srUrbm)}jG+p5B0(z4b}Ql~`9KkY_u#TjXMpA*sn$_H_X{SAz(OFj zq#iDR%1jcpvoG!p?^y55I3yl!OQnHbiKsD=eFRa!X8uyf@v|~2mq_b)A~zW$3@4re z7v%AK*i$ zzt9SksF(zJI>CZY@Hb?acl0kpr&&Pr_kT1_;wm&$&b?KV&DcEp!xb$bza$H=*hxt^ z@cL=&-BT`kD;dCTz9@ypWy>o6XlXg6pCZ_(ear(+D_vIo=wNhcl|Kg<)>6&+oWYYC zozVEE0PM3K8#3poa(3^|r#8P(*_7$5Y^_c}hM7vRmG=G!nBk#U;uXT$?<86-_=9)< ze(28H)qsTJnm!_f6ZYg%y=q5ryVI2@dW;|<-Mk?lR~#_c4#n8HJIuRWEKQ^Z5KMdb z``h};+UU&P76+G*FD1yWHm0>LNQNa=qsiv>k&)$Or);M>a67K~7Z^4>T><0~T&nFl zEh?-R$g0TmV@*I%OQPrz80(IW0C%7==M!Ov<4>g2m9p&y?zIbLS9x7C{umEuNx}9? zg$IrrF~xqnk8#Qicz!YOg{R?WzRQ z6@q-b(l{T#H5We{Ygqqd0IpM@2poPSe1ip}?EWVkaCbQ`l40+93eEZ>xRCE?sz5VN z>PLdJHH-J2^Y51aZF}Mmfpqz}i*xY?`g3Bo(%Dy&Sf3JDV}ZLkeH!g5PRHY}+kR7* zinLBM4U^QlGuk%aMR#tM@`ds0kr8g6q~5oa7_mrIl*{+4}CxbG#>4y z!sul9prz-Qok=k2>XSwDBGilKvy5)9vk`{bO%j)}mvzJLn>TNQ{zAhpTV#>nQ`%|u zU&2QRz^|Zc{rK_-TyPP1ceTT%gGi>u@GV53Dvq#*g3}afMm~X?L4u#PDK5Lzq)IHG z(=HXu$aVB?igv9Vfm+aR;VU`aRk%Jdv*!2xAN>S89Jc;^74B97(CsMY7wB~nmT?dX zm$y-8rL1G08R!CJ;{OnI@z`(HdJb=5_8ah`zuhkp6gN`tR`V;Iz|&lCNjA9{z%P=U z2_LdDff@fR43-vyQB0c$P^O`NkWU9N?!=Wk+b2V;X+G0C`b;qBkZf9-j|kI8#1ZPE z5_)!ZNttCuURew=IA5BKuy%}sp*o`AJRHqV0{%w$gRo&Aq+0*wOA$g5Bh50vUNmC6 z-HDdPh8@ZMH&H-Xv2`fQ+Tv9G-W!g6!BV<`X(zrj_+qU^#f2FLqBTHcc<;(clT2xU zth@QtCw*W36Un4$$dShS^>Ujq*9I)KxBYQqTj9#!Zj(PKn5B-j=YxEC;XEIUe`*Y; z7lF$^=EH7h1-q*6L71vZybsYNHr}}l7wuid?<0m;ywx=_zs?>jtFoKe1J`4fV&PCh z8SK{odlEpAPoT%UwH2qYtOHxWRU8Q&LS?l?WtQ&vVS!<%XakC5s7Lxly`GWwzP|e?)1>zZK9d1hY-O>- zUK>pBCA6}c2~|y1FZ#=?r*97qUAT-K zU+)mID{PNH6$pH}fM{(JFP^pPeSQB##TpKP_(vEJAxUP}*Y1PMST`I~3#2NDy8IFV zQJfO`adeOJn;A;?2O_5!JfWTAqUt5Ny$ZyKv{}ixL;!H6l(z;Gjz4djG&w_wV-B7F zd1M8MP7`D`m8%B`4PCb{H;~(vBgOt>t0yGvo;S9n&;pH);{kiru=mH{cb*_>4 z>a(eyZN=1~bme4T)`!%BFU}6xXvTh4T+-8i(eMhA83j9hIa*+NmN9W?t3owfcUKJQ zO8LG~{VN!GC!x#x>I3p$7B>(2N8A*=CxeK3@;m!~Wo@gd25+%J?cFa(B9v>L6vtDy zYMew8Q);U}qw#HC5gyonO7EI_Akf-PHhz>%i>#fmrt%CxNW5uw9cW&m79hjKp7H(;kkvO#48J)oUoj_rW{wnvIN$zID4R^!moq<4PC20WJn zHEOe1-=1ikO5%1)K7D348kE<4-Rn7!P1}TUOyQC!=9S|d_8J^bVoIZ9sU>F4+Au8@ck@?u{J1Z@RsMbk3 z2a~U_tmOcpL4y6OGPra(^??wi-pp$4p;-q9dQ9j8#m=&r#zj3&2m|~bK7Ks2L0Xu#($oL-oYQ~k0<~LZuK|Bq?w4bYvLsoX{Yx>i!hIJ@abv-|{Emrhtj#=9B~7vd9A3cZ;rnb(n-i>g}H@1O_- zyu4TeUiaiSOYMAxmUCb#Gy6HDdwyT@@Yx_KSH^ZbPaXJW-|9hWYM0vhnJ)-+zK`GSX4T;LL|s`8Oo>tS-EX=N-{kU&JGu z|4NLnKucE6y6+|RtP+g#?sG3k#1Y&RiM7avD_(p7pvnMG6^TQSO=_m(@w5y4U)RpR z%jks_LG$s+z22aO`*EQvyS=83^9&|FCA`9O3qg3Fq;diPDi}8$O^g{u$u&kwlW2i5 z%)g$Q6=?Xc7nBu`Hhmd~RE8T>1oAa**E3>jaE`=W@ey?6|BAvX+(sReZr~2geakD6 zTbCt--fw(-&#XU3Ypuh;_7N`qwy-5A$ z3I-dZzT?kc^2kDura&}&PM#WWeLi5M)?}+KNdw|AZd(c=`q$@T+XUyGEAO6YWNLNS z|Cbw4s9S?x%)QF-Qf4T17JMp4*=>h90xV9ZccDxo4i)vzF44K(pM}=q zS+2USFb1<;jWtlGBfRYU70~lls2g`>8{gm0g8jQVp-P-6b zXJHd6N@aB&LL<~|{{dD*gq9n0X29NNYNXF?XWhNyy<+&5%jL&4P?_lj#j!o`t5&h4 znIDEnP$9w__p5v~NE~1bRS7C9OU`kBQOYI8Uf-ul7|2O)=|c0vMyvFXsYAMahGVa; zOk?M1Gn-9Q8?q+UOWlufF?auh=L6Qo1C~(h&J9|)a#Xk0`%@)kOGm23>VaSQ5@aPv zV>rSiZ%v_~PosS4Q>XUoelvi3K6zdIN zF+#+7fQ=p4)_lMQCpOmj!tQw24thLHeaNN&As!ZAM1U1IL=NaOCjPflVuYAZqrjU= z{GMf<>K|{%8ZhEN7^0IKpV!gsTppKx>|h$CR|Xa6VG^bal^huap)vjY4z@5$$JKgh zS7pZ@VN+Qq^UWX7YsH0Tp&@M zx@23gC4+DyY~N&=5$5mQR9g10PPWrwG8sEs3myUXj2th%N4sDCV9t zI&=tltwNV?>XeZRZ;1&z*z8dMn_Z65L0FpKMWlZsi8*=4hv^wl zvIqM9A))_e<;wZ}-?|s7nphJ!o2oSNfuf*`UK!6(mr@_)c*VxQNt> zDJcJwti#MC=kvdJBmxtC2IQ?uf;7nuqQ~8bgoKZE1eX}XlpCcG)1CzBL~~gCxlUq% z;^KxG>(6T&H#Xqf+^=T*Ke6LzRTeJT55<9IRaK&<_DcH(&rtKa9NxyUJWuRD4|3S2 zL1$%uNf*7g?MkMT3s3X|lWMqK4l7xa_8Q6WJxV}J*_mjwrl$kwMLY4JURbyY28U`B zrxZqJ+Xn1SAU6(+nbYRVst>Q#eFEQsP)B)2y(HcQ zxJD6tUNEJI{=7ch5=kOAdowOCnC6oYvOi1C^mqXpb3adJF@&6xPam0h_gg8m&MDtY z)hU{FBP9>VC^iXrZvl+Eq>%TidxS!!nk{}ZdPKG+?xljLHJMCcHk>S!vq$n_x&rFe zv^iN+E(LXS&sed6y%9h{EZ2wpOrgMih%&RZQ8U8FgQ0>N&?3Z_6sb_aUA^EXI_y7J8M35T3PTf4M9p zPu-M>_8N(qZ#X(S4c}G^_OAB)bR$Za@-=Mg`mhb1#T?2Kj|_k>ChK3?wuq=%sO9U4 zdhHWo@n8{y3htS0`&p?e@>+x;d_MU?0`%(!Om@$2pTd^?pNbGR_Ca}kXrn`#2{g1r zupA%tZ@6c!=CD+;Kuc*x*_X)p94=Mfi%TwZA59 zi4{^PuD|kUSB5b`_FgMxN4b{_WUftYxV$+DDzhOPW5p!pC&&Q2T zor*8Lq_9_Ai>rO6IutuLXzS3bi-D|}L`2Os%#N^Y{H?{c#NsQHVJV0&YH)pdCKgc7 zW9bm*K-!niQVw8Zcw@d>;OthZ{a_$yS0!DMvT zVGlv3{V*T%NjD)@cvuf^5T#Xa`Ui%%;%*OOG|L{Wj~*6Ag31kpVP6rUp7DIE;_H}C z-*P*7+kooxiGEoJ96cv#7z$zTU(p;{FCL=9%iWQ9z|RE$;7;u}Zd^zRn;L|7B&dE* zj>6>kV*IA;Ig2_6%jgbcp@N_NDHh+S@5Won*Sx}s+$X__P=cBH)Eo#=Ab?)S^Wu^d zK)wIabCn615pyJ=K1BCcM!?f}LJ`HogHS+B@`}IVvi5s6a=`Dsvht3(U&H$iAd>r? zs+j0x+zcdWKw#*ueOduT##+%moc@DOA82g}E~lq5NnhBeCUyyg>Xg$-E7F!}&ook6 z=!>-%@{2!`+Hd`!l>GXASU6;r23|YvXFG98D`(#JPojj9&5@{UYUf4DS`VDEYHXf# zVf5jAAu+x8L175=Z1h?H9^Ugl09bJvSXC+Il!fSudWRF_=c#hAUEFhbD;eyL2 z*1{ZiNJstuCjSN4kC;b?r%5%Xr2IOV`m>)tm&oTt8(?^rUC@w3u+ z>nkw|th#9F0MQY`4s#KUQw*lbf6`(Mf^cSH4l%U{M{&{LT$T;aCDr$!1tUjg!VB&X zfY6inmD6|+tPF9hj*^yKsx+w&a<05s@jY1>SDbUX&4!SW00NLqM8J=87KM#eRMk2b zL7hQoRXb?nlq4pT|H^f^VsxE+mf8%IkbZRC<*kd$$>gW30b;OPjrwy0$MY-ew8Zl( zR%7cqM8EWb_%9&I5BpB*7Ys@4G@p;G9hRXBm-Ib`dq0%;fDzr+j@2UKwPWUwHRbrS zfh_v*l7)BoPfd97-709@6J1tpH*Yw%Pf(yuI&uJ14 z)y15b!4FaBf1^8S9h z?rH)hu`-HRSN>eVq}(;zR3u1tB;q{L*VM9kNEh7{T(O}FLX}?k13c5uXkNHJV9H0; z8DE$1l%)vlvhC<>LlmgHVMb_hd5ukDkld{AQ4zc`+!wq>!e}W@X&J<9CUR9Owzl*4 z(r~6H4Z6|!4mA-1h~!WkMr6my{{XQ%@_AbS0HX^znF+>9FntU& zq$R}K<0WQcuWu*9oY`6dGb&X-=GeZ2H`SQ3GUfsS^iLm)q%i2lBkUkMR247*C`*cC z^KNFFc7w`#-;D}LS=)ZD$HrPlc`-BG6sXOB5`Ny4p%Yh9PV<4?Ki9ppIZ$nUF+e0q zS<0K^RR;mx{)r-Of!avlq)zD+DTI!uV}mj@9gL;>Q-fc6TES+mQFM>oCLamXRv03W zquLB%Ol9Is5j0Tiu3dqfK6|lFgO~RIL@D0frsrgcMY}J_Cu{x75Cz%+rQYnnWQ;>) z8|rPl8l=~ET+ZuW+6B#Wj0m>IS~6!l23HxRdW%!ZVC>vC03ij7ttH!6&$s4CD5U+z zoZT^2Yz4U+aLWGk3c%(J?WEZuut*FfIi4XGr#@|5^!)`;VtNS(Rj0Ri|wl3 z?_rp$<1OlNVh%VVU4g6GxX8xj3W3IDf^wj3MQIW3{43xG%aNJeRUY>W*kUfy*TpG; zb!)PF zyGuvbqa`2H0cgfI;6JC|^&~;j9~hRTD5W=`K&i+dhk5SY;@Ywk!$fC=pijy+OByA~ z-v;@hHBE|@K6YuBY@H)T-a*(KL@KjT@Ndg=vdB0d3YNiM$S9Fw)Wm++hqcK2gf5ur z-L}r2$0ZHvmJG4rQ z-G)u+gTM+QKs6()IrsS!Y~E=Cm8^hF2Z5?p5s%{2m@y4Wag}QQD1Ct=7m7p4akNAn zYVWRbB~Sc8#~Mb2k-7lR>mHV<-S_39dARj2G9T8Bt?j#W){Ih#kbR_H9t=E#FKM}c z!%6@n`FZ{TKj-7HUe%iUw`=zhjdnT}Q+iZn)6b>|Sv2*>BT0_OoB`Tn3*e^2sOxUC zNq_TB6A7R#@*f4Nw&fq6_Ra$Q60s|cj-WVJ`2zcl0vO)x>A?>c7F);W$e

  • ?A6R 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 literal 0 HcmV?d00001 diff --git a/fsb/src/pi.rs b/fsb/src/pi.rs deleted file mode 100644 index 79b6c54b7..000000000 --- a/fsb/src/pi.rs +++ /dev/null @@ -1,17027 +0,0 @@ -// Double check this contains all values in the reference implementation -pub const PI: [u8; 272384] = [ - 0xb9, 0xde, 0x81, 0xae, 0x0f, 0x7f, 0xa3, 0x4d, 0x50, 0x03, 0x04, 0x67, 0x32, 0x0e, 0x21, 0x60, - 0xe8, 0xef, 0x10, 0xf4, 0x25, 0xd6, 0xf0, 0x26, 0xd6, 0x05, 0xcf, 0x11, 0x87, 0x2d, 0x66, 0xd1, - 0x28, 0x89, 0x40, 0xf9, 0x06, 0xb9, 0x40, 0xf3, 0x19, 0x21, 0x4f, 0xca, 0xb4, 0x7b, 0x40, 0x2c, - 0x9e, 0xf2, 0xda, 0xbf, 0xf5, 0x3d, 0xcf, 0xdd, 0x10, 0xf2, 0xde, 0x74, 0x67, 0x57, 0x6b, 0x70, - 0x22, 0x0e, 0x9c, 0x7d, 0x38, 0xb3, 0x77, 0x9e, 0xd1, 0x22, 0x4e, 0x12, 0xd3, 0x0d, 0xf3, 0xd3, - 0xde, 0xa0, 0x51, 0xd4, 0xb7, 0xac, 0xca, 0xb1, 0xed, 0x4c, 0x09, 0x76, 0x77, 0xb3, 0x57, 0x7e, - 0xd8, 0xf7, 0xf2, 0x5b, 0x86, 0xe4, 0x82, 0x47, 0x0b, 0x3e, 0x74, 0x7a, 0xc2, 0xf1, 0x43, 0xe6, - 0xdc, 0xd0, 0xe3, 0xf8, 0x47, 0xbf, 0xfa, 0xe6, 0xe0, 0x33, 0x53, 0xf5, 0x0d, 0x9b, 0x24, 0x94, - 0x77, 0xa6, 0x2b, 0x9d, 0x53, 0xf1, 0xdb, 0x37, 0x97, 0xfe, 0x61, 0x67, 0x8f, 0xc6, 0xb2, 0xd5, - 0xcc, 0x7e, 0xc0, 0xb5, 0xf2, 0x02, 0x54, 0xda, 0x26, 0xb3, 0xed, 0x2b, 0x21, 0xfd, 0x0c, 0x38, - 0x00, 0x19, 0x6f, 0xb1, 0x74, 0xd1, 0x40, 0x96, 0xfd, 0xc4, 0xe8, 0x29, 0x9d, 0xd0, 0x33, 0x4d, - 0x51, 0xb4, 0xb9, 0x3a, 0x13, 0x79, 0x55, 0x52, 0x4e, 0xaa, 0xf6, 0x7b, 0x65, 0x1e, 0x20, 0x5f, - 0x2b, 0xf9, 0x48, 0x94, 0x74, 0xf2, 0x5f, 0x70, 0x48, 0x54, 0xee, 0xd6, 0xd4, 0xf9, 0x2d, 0xfb, - 0x77, 0x48, 0x56, 0xdd, 0x75, 0x88, 0x6b, 0x4c, 0x6c, 0x45, 0x92, 0x2f, 0x22, 0xc0, 0x85, 0x78, - 0x65, 0x37, 0x15, 0x39, 0x93, 0x00, 0x69, 0xfa, 0x21, 0x00, 0xa0, 0xd2, 0x11, 0x92, 0x20, 0xf5, - 0x37, 0xc9, 0xa7, 0xe4, 0xc7, 0xe3, 0x45, 0x1e, 0xf2, 0x39, 0x98, 0xb9, 0x1b, 0x7a, 0x40, 0x84, - 0xce, 0x80, 0x2b, 0x41, 0xb3, 0x74, 0x14, 0x9d, 0xed, 0x93, 0x9a, 0xe5, 0x1f, 0x55, 0x5c, 0xfd, - 0xd6, 0xbe, 0x0c, 0x08, 0x9b, 0xf7, 0x4f, 0xec, 0xe8, 0x0d, 0x61, 0x86, 0xb0, 0x0e, 0x06, 0x46, - 0x63, 0x59, 0x3f, 0x6f, 0xca, 0x89, 0x43, 0x81, 0xc2, 0x20, 0x0c, 0x84, 0x43, 0xa2, 0x53, 0x5a, - 0x5c, 0x29, 0x8b, 0x6c, 0x17, 0x49, 0xf5, 0x34, 0xdd, 0x16, 0xd6, 0x44, 0x3c, 0xe9, 0xc4, 0x49, - 0x2d, 0x8e, 0x08, 0xa7, 0x1a, 0x9d, 0x5d, 0x36, 0xd7, 0x61, 0x1a, 0x44, 0x1c, 0x49, 0xfd, 0xcb, - 0xb1, 0x48, 0x87, 0x24, 0xbb, 0xbf, 0xbc, 0xc9, 0xee, 0x63, 0x0f, 0x75, 0xa7, 0x3c, 0x61, 0xdb, - 0x8d, 0x48, 0x44, 0xd3, 0xc7, 0xb1, 0x27, 0xc1, 0x39, 0x05, 0xd7, 0xff, 0x16, 0x46, 0x06, 0xdd, - 0xbe, 0xef, 0xd4, 0xe3, 0x72, 0x58, 0x9d, 0xb4, 0x39, 0x8b, 0x27, 0x47, 0x3b, 0xcb, 0xd2, 0xce, - 0x72, 0x49, 0xcd, 0x34, 0x23, 0xa8, 0x28, 0xd2, 0xc2, 0xd8, 0x0c, 0x86, 0xc3, 0xe2, 0xdd, 0xc2, - 0x99, 0x16, 0xd7, 0x68, 0xbb, 0x8c, 0x4d, 0xc0, 0x6f, 0xf7, 0xe0, 0xe7, 0x15, 0xae, 0xe5, 0xdb, - 0x34, 0xe2, 0x53, 0x7e, 0x40, 0xc4, 0x7a, 0x71, 0xee, 0x9a, 0xae, 0x3c, 0xd2, 0x86, 0xcf, 0xb6, - 0x9f, 0xe8, 0x61, 0x1d, 0x9d, 0xa7, 0xd8, 0xb6, 0xee, 0xbe, 0x7b, 0x6b, 0xe8, 0x5a, 0xe5, 0xb3, - 0xba, 0x77, 0x62, 0x95, 0xb9, 0x60, 0x36, 0xb9, 0x55, 0x97, 0x15, 0xd6, 0x0f, 0xc2, 0xd6, 0x37, - 0x83, 0xe4, 0xcf, 0xdc, 0x9a, 0x88, 0xca, 0x45, 0xd4, 0xcc, 0xea, 0x9f, 0x0a, 0x96, 0x78, 0xd3, - 0x9b, 0x0b, 0x70, 0x06, 0xca, 0xc0, 0xb7, 0x27, 0x39, 0x86, 0x5b, 0x00, 0xae, 0x30, 0x77, 0x34, - 0x0a, 0xc5, 0x25, 0xc6, 0x3d, 0x5d, 0xdd, 0x01, 0xd5, 0x30, 0x97, 0x69, 0x85, 0xa5, 0x8d, 0x0f, - 0x9c, 0x53, 0xb1, 0xc9, 0x0c, 0x7b, 0xb0, 0xd5, 0x11, 0x94, 0x69, 0x7a, 0x40, 0x8d, 0xbc, 0x75, - 0x42, 0x2d, 0xae, 0x74, 0x15, 0xcf, 0x28, 0x11, 0xd0, 0x25, 0x2a, 0xab, 0x1c, 0xf1, 0xdd, 0xe8, - 0x6f, 0x68, 0x50, 0x6c, 0x9e, 0xed, 0x6d, 0x75, 0xeb, 0xfe, 0x42, 0xfa, 0xda, 0x51, 0xdd, 0x2c, - 0x7b, 0xf5, 0x5d, 0xff, 0x18, 0x9a, 0x73, 0xc2, 0x1c, 0x2a, 0xa7, 0xd3, 0x82, 0x4a, 0x6f, 0x64, - 0x1e, 0x93, 0x79, 0xc1, 0xef, 0x39, 0x53, 0x45, 0x56, 0x40, 0xcf, 0x9d, 0x2a, 0x59, 0x97, 0x32, - 0xac, 0x48, 0x09, 0x44, 0x14, 0x76, 0x03, 0x02, 0x7d, 0xef, 0xfb, 0xd8, 0x58, 0xa5, 0x8a, 0x75, - 0xf3, 0x9a, 0x65, 0x12, 0xf0, 0x3d, 0xce, 0x83, 0xd4, 0x4b, 0x7e, 0x5d, 0x3c, 0x86, 0x83, 0x05, - 0x85, 0xb9, 0xa3, 0x97, 0xbf, 0xbd, 0x6b, 0x52, 0x11, 0x41, 0x14, 0x40, 0xc0, 0x33, 0x56, 0xae, - 0x4b, 0x54, 0xf1, 0x21, 0x1e, 0xe2, 0x7e, 0x6c, 0x78, 0xcb, 0xe7, 0xb0, 0x1c, 0x4e, 0xcf, 0xf4, - 0xf1, 0xab, 0xdc, 0xed, 0xac, 0x8d, 0x6c, 0x77, 0xd1, 0x7d, 0x2e, 0xf3, 0x56, 0x3a, 0x9b, 0x10, - 0x52, 0x7c, 0x2e, 0xc5, 0x1c, 0x18, 0x75, 0x66, 0x19, 0x77, 0x6b, 0x93, 0x2c, 0x2f, 0x01, 0x1a, - 0xbd, 0x96, 0xc9, 0x59, 0xe3, 0x2f, 0xbf, 0x0b, 0x99, 0xbd, 0x5f, 0x75, 0x0f, 0xc4, 0x0c, 0x9a, - 0x54, 0xd3, 0x78, 0xf6, 0xde, 0xc6, 0x33, 0xa5, 0xf6, 0x76, 0x06, 0xd7, 0x8b, 0xc7, 0x59, 0x4c, - 0xd5, 0x29, 0xae, 0xd3, 0x6b, 0xc9, 0x3b, 0x25, 0x29, 0xa8, 0x07, 0x92, 0xd7, 0xe0, 0x40, 0x07, - 0x1f, 0x71, 0x04, 0xa6, 0x65, 0x66, 0xc4, 0x29, 0x01, 0x13, 0x8a, 0xef, 0xf2, 0x30, 0x55, 0x38, - 0x52, 0x7e, 0x67, 0xc7, 0xf9, 0xc4, 0xc0, 0xbd, 0xbb, 0x83, 0xb4, 0xdb, 0xfe, 0xaf, 0xef, 0x40, - 0x85, 0xb9, 0xa3, 0x76, 0xeb, 0x2d, 0xbf, 0x48, 0x80, 0x9e, 0x06, 0xe4, 0xcb, 0x35, 0xe5, 0xcd, - 0xc6, 0x85, 0x70, 0x5c, 0xa3, 0xf3, 0xbc, 0x02, 0xa1, 0x81, 0x96, 0x61, 0x6a, 0xb4, 0x80, 0xb6, - 0x1a, 0x40, 0x5c, 0xef, 0xe4, 0xd9, 0x02, 0xcf, 0x6f, 0xf9, 0xf8, 0x7a, 0x93, 0xcd, 0x70, 0x9c, - 0x4a, 0xc2, 0x74, 0x55, 0x71, 0x26, 0xd5, 0xcd, 0x4a, 0x58, 0x1a, 0xf3, 0x75, 0xc3, 0x96, 0xa4, - 0x1f, 0xbb, 0x37, 0x99, 0x50, 0xdd, 0x8b, 0xfe, 0x89, 0x63, 0xe0, 0xfb, 0x1d, 0x77, 0x4b, 0xcf, - 0xbc, 0xcb, 0x7d, 0x2d, 0xa2, 0xa0, 0x30, 0x06, 0x8a, 0x57, 0x4b, 0x56, 0xd6, 0x5b, 0x66, 0xf8, - 0x1f, 0xef, 0x32, 0x47, 0x75, 0xef, 0xbd, 0xb3, 0x18, 0xa1, 0x21, 0x06, 0x3f, 0x5e, 0x45, 0x2e, - 0xc7, 0xa6, 0x82, 0x8d, 0xae, 0xa7, 0x60, 0xaa, 0x7d, 0x1a, 0xab, 0xcb, 0x19, 0xa7, 0xdc, 0x4a, - 0xf1, 0x3d, 0xf0, 0x94, 0x4a, 0xc1, 0x7a, 0x7c, 0xc2, 0xfe, 0xb6, 0x6c, 0x13, 0x6f, 0x40, 0x35, - 0x96, 0xcd, 0x0f, 0x6d, 0x7c, 0x32, 0xe6, 0x84, 0xce, 0x13, 0x7f, 0x2f, 0x74, 0x2c, 0x2e, 0xac, - 0xb5, 0x71, 0x3c, 0xc7, 0xe2, 0xae, 0x4a, 0x40, 0x30, 0x8e, 0x94, 0xf3, 0x12, 0xc4, 0x2a, 0xc7, - 0x78, 0xa7, 0x6b, 0x6e, 0x78, 0x78, 0xc7, 0xd5, 0x20, 0x3e, 0x4e, 0x0c, 0xfa, 0xb3, 0xc5, 0xc4, - 0xe7, 0x5b, 0x68, 0x41, 0x68, 0xd2, 0xc1, 0x8d, 0x28, 0xdb, 0xb5, 0x46, 0x52, 0xb2, 0x00, 0xc9, - 0x83, 0x43, 0x52, 0x18, 0x81, 0x71, 0xea, 0xd7, 0x16, 0x0d, 0x26, 0xfe, 0x58, 0x18, 0x2d, 0x26, - 0xa8, 0x39, 0x06, 0x20, 0xf4, 0x26, 0xb0, 0x5d, 0xf0, 0x38, 0x52, 0x20, 0x29, 0x6a, 0x05, 0xc5, - 0xa6, 0x4d, 0xe5, 0x5b, 0xee, 0x22, 0x1d, 0x6a, 0xae, 0xdf, 0x1b, 0x55, 0x53, 0x09, 0xec, 0x3e, - 0xb3, 0x58, 0xce, 0xc7, 0x76, 0x1f, 0xb9, 0x6b, 0x9f, 0x5d, 0xfd, 0x0f, 0x86, 0x89, 0xb8, 0xca, - 0xc9, 0x89, 0xff, 0xe9, 0x3c, 0x7f, 0xef, 0x60, 0x8b, 0x90, 0x03, 0xee, 0xe9, 0xb2, 0x43, 0x1f, - 0xf4, 0x14, 0x5f, 0xc8, 0xe9, 0xe7, 0x48, 0x3e, 0x7b, 0xa7, 0x8c, 0x47, 0x4a, 0x31, 0xce, 0x62, - 0xf1, 0xba, 0x4a, 0x1b, 0xc1, 0xa4, 0x3e, 0xd6, 0xa4, 0x70, 0x41, 0xe6, 0xb5, 0x2d, 0x6e, 0xa9, - 0xb5, 0xad, 0x37, 0xa5, 0xc6, 0xda, 0x54, 0x2d, 0xd4, 0x77, 0x36, 0x1c, 0x9d, 0x26, 0x71, 0x7e, - 0xc2, 0xbf, 0xcd, 0x02, 0x11, 0x70, 0x00, 0x90, 0x39, 0x27, 0x6b, 0xce, 0x54, 0x48, 0x14, 0x59, - 0x3e, 0x2a, 0x65, 0x25, 0x2d, 0xcc, 0xed, 0x08, 0x93, 0xd1, 0x41, 0x56, 0x20, 0x3d, 0xbc, 0x8d, - 0x3e, 0x95, 0x77, 0x67, 0xc3, 0x49, 0xbc, 0xca, 0xe7, 0xb5, 0x2d, 0xe2, 0x55, 0x40, 0x45, 0x45, - 0x28, 0x14, 0xb5, 0xc4, 0x2c, 0x26, 0x74, 0xe1, 0x14, 0x00, 0x10, 0x3e, 0xaa, 0x6d, 0x68, 0x0b, - 0xf8, 0xdb, 0x0d, 0x85, 0x4a, 0x29, 0xb3, 0x5a, 0x7d, 0x39, 0x4e, 0xe1, 0x11, 0x5b, 0xf9, 0x23, - 0x24, 0x85, 0x54, 0xee, 0x86, 0x33, 0x2a, 0x93, 0xaf, 0x69, 0xc3, 0xbd, 0x32, 0xa6, 0x2f, 0x56, - 0xee, 0xac, 0x76, 0xa6, 0xe3, 0x44, 0xb1, 0xbf, 0x29, 0xaa, 0x53, 0x0a, 0x08, 0x5a, 0xd7, 0x24, - 0x12, 0x56, 0x36, 0x50, 0x57, 0xd6, 0x61, 0xd9, 0x07, 0x8a, 0x16, 0x84, 0x94, 0xeb, 0x8c, 0x90, - 0x73, 0xdf, 0xb4, 0x46, 0x66, 0x91, 0x13, 0x02, 0xa7, 0xce, 0x72, 0x58, 0xa1, 0x74, 0xb8, 0xe4, - 0x56, 0xba, 0x93, 0x33, 0x30, 0x6b, 0xe9, 0x75, 0x48, 0xc1, 0xe6, 0x18, 0x68, 0x97, 0x1a, 0x96, - 0xb7, 0xfb, 0x1d, 0x1c, 0xe6, 0xb0, 0xc4, 0xad, 0x9b, 0x6d, 0xb5, 0x72, 0x39, 0x1f, 0x20, 0x5f, - 0x6d, 0x4a, 0x87, 0x6d, 0x64, 0x98, 0xdb, 0xbc, 0xbf, 0x36, 0xfc, 0x28, 0x49, 0x31, 0xc0, 0xa6, - 0xec, 0x25, 0x3d, 0xc4, 0xd3, 0xd8, 0xce, 0xc2, 0x14, 0xb0, 0x38, 0x74, 0x66, 0xdf, 0x3c, 0xff, - 0x33, 0x96, 0xed, 0x38, 0x20, 0xe5, 0x39, 0xcd, 0xc1, 0xfe, 0x75, 0xe8, 0x7d, 0x21, 0x87, 0x66, - 0x82, 0x59, 0x7c, 0x8b, 0x28, 0x64, 0x31, 0x97, 0x5d, 0x83, 0xf5, 0x48, 0x2a, 0xa0, 0x51, 0x44, - 0x4c, 0xf2, 0x02, 0xec, 0xc9, 0x49, 0x3c, 0x3b, 0x58, 0x96, 0x09, 0x0e, 0x0f, 0x22, 0x8f, 0xbc, - 0x0f, 0xac, 0xa2, 0xcf, 0xe0, 0x1a, 0x31, 0xab, 0xec, 0x4a, 0x7b, 0xb4, 0xe6, 0xa2, 0x2b, 0xbe, - 0x95, 0xe2, 0x7c, 0xcb, 0x4b, 0xa8, 0xf0, 0xde, 0x6b, 0xc2, 0xcd, 0x42, 0x36, 0x0a, 0x4d, 0xe4, - 0x53, 0x09, 0xab, 0x8b, 0xf6, 0x8d, 0x76, 0x9e, 0x6e, 0x3f, 0x51, 0x02, 0x47, 0xb8, 0x87, 0x46, - 0xaf, 0x07, 0x80, 0x44, 0x77, 0x6f, 0x13, 0x98, 0x4b, 0xa6, 0x53, 0x5f, 0x23, 0xe7, 0x6f, 0xcb, - 0x61, 0xbd, 0x74, 0x4c, 0x46, 0xf6, 0x06, 0x67, 0xde, 0x66, 0x54, 0x52, 0x09, 0x21, 0xda, 0xaf, - 0x53, 0x7f, 0xce, 0xf0, 0x64, 0xdf, 0x36, 0x0e, 0x51, 0x8f, 0x82, 0x4e, 0x18, 0x52, 0x03, 0x93, - 0x00, 0xe2, 0x99, 0x4f, 0x9a, 0xcc, 0xe2, 0x33, 0xe5, 0x21, 0xff, 0x69, 0x9b, 0x98, 0x8a, 0x0b, - 0x51, 0x63, 0x46, 0x68, 0x95, 0xe1, 0x69, 0xff, 0x30, 0xfe, 0x06, 0xd2, 0xda, 0x90, 0xa6, 0x85, - 0x64, 0x6e, 0xd8, 0x62, 0xbb, 0x68, 0x42, 0x84, 0xc1, 0xc2, 0xd2, 0x5c, 0x37, 0x44, 0xc2, 0x78, - 0xe0, 0x8a, 0xc8, 0x8a, 0x87, 0x6a, 0xbc, 0x44, 0xac, 0xed, 0x5c, 0x62, 0x96, 0x91, 0x16, 0xb9, - 0xe2, 0x48, 0x97, 0x63, 0x77, 0x60, 0xc5, 0xe6, 0x8a, 0x2f, 0x00, 0xef, 0x26, 0x8c, 0x1e, 0x67, - 0xa7, 0x66, 0xe2, 0xcd, 0x11, 0x6a, 0x81, 0x0c, 0x65, 0x66, 0x4a, 0x11, 0xd7, 0x7d, 0x06, 0x82, - 0x7e, 0x73, 0x49, 0x42, 0x0e, 0x27, 0xf1, 0xa4, 0xf0, 0x6b, 0x9f, 0x6f, 0xd9, 0xd7, 0xdd, 0x74, - 0xd7, 0xf2, 0x64, 0x66, 0xd7, 0x5c, 0x26, 0x49, 0x3e, 0x11, 0x58, 0x95, 0xec, 0xf3, 0xef, 0x46, - 0xb9, 0x9d, 0x58, 0x9e, 0x6f, 0x75, 0x93, 0x72, 0x01, 0x04, 0x65, 0x0d, 0x9a, 0x30, 0x3a, 0x9d, - 0xa5, 0xa6, 0x60, 0xfe, 0xcc, 0x71, 0x25, 0x04, 0x20, 0xc0, 0xaa, 0x52, 0x02, 0x0a, 0xb8, 0x89, - 0xbe, 0x58, 0xf9, 0xd7, 0xb5, 0x1b, 0x1e, 0xef, 0x13, 0x55, 0xa7, 0xf8, 0x05, 0x1c, 0x35, 0xb8, - 0x8b, 0xfa, 0x6d, 0x00, 0x37, 0x6c, 0x12, 0x30, 0x8b, 0xe4, 0xb8, 0xe3, 0xa1, 0x86, 0xf3, 0xed, - 0x4b, 0x48, 0x8b, 0x36, 0x9b, 0x3c, 0xbd, 0x0e, 0x9b, 0xef, 0x4e, 0x32, 0x42, 0x2d, 0x7b, 0x74, - 0x3a, 0x08, 0x44, 0xd0, 0x60, 0x78, 0x60, 0xca, 0x2a, 0xd8, 0x5e, 0x91, 0x63, 0xc9, 0xa6, 0x7c, - 0x1c, 0x4e, 0x98, 0x10, 0xf7, 0x91, 0x01, 0xc8, 0xf4, 0x41, 0x35, 0x33, 0xf0, 0x7b, 0xce, 0x81, - 0x0d, 0x83, 0xde, 0x8f, 0xce, 0x42, 0xad, 0x7f, 0xc3, 0xfe, 0x97, 0xb8, 0x46, 0x6d, 0x01, 0xcf, - 0xe8, 0xbe, 0x0f, 0x40, 0xf7, 0x17, 0xb7, 0x3f, 0xb9, 0xd1, 0xff, 0x1d, 0xb4, 0x6a, 0xbe, 0x0a, - 0x94, 0x46, 0xff, 0xde, 0xb7, 0xe9, 0x25, 0x7d, 0xac, 0xbd, 0x78, 0x30, 0xc5, 0x4c, 0x88, 0x33, - 0xb1, 0x9f, 0xd0, 0xd5, 0x82, 0x51, 0x79, 0xb7, 0x66, 0xdf, 0x88, 0x91, 0xab, 0x84, 0xb3, 0x33, - 0x10, 0x8e, 0x86, 0xdb, 0x65, 0x53, 0x37, 0x03, 0x94, 0xd4, 0xbc, 0x73, 0xc3, 0x03, 0x76, 0x88, - 0xb4, 0x33, 0x6d, 0xff, 0xc5, 0x99, 0xc7, 0x67, 0x6e, 0x26, 0xbc, 0x86, 0xf4, 0x95, 0x9c, 0xac, - 0x31, 0x27, 0x62, 0x98, 0x8b, 0x95, 0x92, 0x52, 0x57, 0x98, 0x80, 0xa6, 0xa1, 0xfb, 0x43, 0xa0, - 0x58, 0x4b, 0xa4, 0x2d, 0x49, 0x1e, 0x5b, 0x16, 0x56, 0x52, 0x3c, 0x70, 0x95, 0x94, 0x7a, 0x40, - 0x64, 0xbd, 0xe2, 0xca, 0xfb, 0xc0, 0x98, 0xc5, 0x44, 0x63, 0xbc, 0x57, 0xd1, 0x51, 0x31, 0xd6, - 0x53, 0xfc, 0x96, 0x0e, 0xb6, 0xb6, 0x1e, 0x42, 0xe1, 0x32, 0xd1, 0x15, 0xa7, 0xa9, 0x98, 0x9b, - 0xf0, 0x50, 0xc7, 0x43, 0x7f, 0xe8, 0x2c, 0x37, 0x7d, 0x4c, 0x1c, 0xa1, 0x2b, 0xde, 0xe8, 0x08, - 0x5e, 0xf2, 0x3b, 0x06, 0xf7, 0xf7, 0x67, 0xff, 0x28, 0xd3, 0x8a, 0x7b, 0xc1, 0xc7, 0x8c, 0x03, - 0xbd, 0x0f, 0xa4, 0xec, 0x0c, 0x2a, 0x6b, 0xc9, 0xc5, 0xb3, 0x17, 0x87, 0x23, 0xde, 0x76, 0x26, - 0x58, 0xfe, 0x66, 0x0a, 0x4f, 0xe6, 0x99, 0x28, 0x0b, 0x15, 0x13, 0xf5, 0xa9, 0xaa, 0xdf, 0x41, - 0xa9, 0xcb, 0x17, 0x59, 0xfc, 0x6a, 0xdf, 0x52, 0xb5, 0xce, 0x79, 0x64, 0x55, 0x3a, 0xa6, 0x5f, - 0x47, 0x1e, 0xc6, 0x19, 0x94, 0x1c, 0xf6, 0x96, 0xca, 0x35, 0x4b, 0xbe, 0x26, 0xf9, 0xd9, 0xc0, - 0x96, 0xa7, 0xa7, 0x8a, 0xb5, 0xfb, 0x5c, 0xcd, 0xf4, 0x30, 0x99, 0x72, 0x86, 0x4f, 0x59, 0x53, - 0xca, 0xaf, 0x95, 0x24, 0x52, 0x8a, 0x96, 0x91, 0x1b, 0x4d, 0xe4, 0xde, 0xe2, 0x39, 0xa5, 0x29, - 0x21, 0x8e, 0x1d, 0xd3, 0xd6, 0xd5, 0x72, 0x22, 0x82, 0x9a, 0x76, 0xd1, 0xd4, 0x80, 0xef, 0xb0, - 0x89, 0xce, 0x7c, 0x47, 0xb1, 0x66, 0xfa, 0x76, 0xd8, 0xfb, 0x04, 0xd5, 0x74, 0x81, 0xeb, 0xa7, - 0x18, 0x3f, 0xae, 0xda, 0xff, 0x3e, 0x1e, 0x64, 0x3e, 0xea, 0x55, 0x1a, 0x69, 0xf7, 0x55, 0xde, - 0x8f, 0x96, 0x73, 0x67, 0x65, 0x87, 0xcb, 0x1f, 0x3e, 0x95, 0x84, 0x66, 0x76, 0x1c, 0x73, 0xd6, - 0xbc, 0x48, 0x47, 0x91, 0x66, 0x92, 0x6d, 0xc3, 0xe1, 0x2a, 0x34, 0xa5, 0x4b, 0xa6, 0xd1, 0x24, - 0x93, 0xc5, 0xd2, 0x4c, 0x71, 0x53, 0xf6, 0xaa, 0xd8, 0xc1, 0x3b, 0xa7, 0x6e, 0x5a, 0xae, 0x63, - 0x2d, 0x97, 0x0e, 0x48, 0x6c, 0x73, 0x9b, 0x9c, 0x02, 0x4b, 0xb2, 0xdf, 0x36, 0xf7, 0xb3, 0x44, - 0xc4, 0x5e, 0xf1, 0x8c, 0x80, 0x54, 0x84, 0x2b, 0x23, 0x68, 0x72, 0x4d, 0xcf, 0x73, 0x9c, 0xd3, - 0x89, 0x98, 0x52, 0x81, 0x3d, 0x96, 0xd0, 0x8f, 0xd1, 0xfe, 0x82, 0x0d, 0x2d, 0x00, 0xcc, 0xea, - 0x09, 0xcf, 0x23, 0x1f, 0x86, 0xae, 0x92, 0x5b, 0xb9, 0xdc, 0x62, 0xdb, 0x8d, 0x54, 0x75, 0x25, - 0xd9, 0xe0, 0x2c, 0x3d, 0xf5, 0xf7, 0x27, 0x79, 0x92, 0xbf, 0x76, 0x96, 0x80, 0xe0, 0x22, 0x17, - 0xf3, 0x7d, 0xae, 0x76, 0x1e, 0xd2, 0xb7, 0x46, 0x08, 0xdd, 0x57, 0xd8, 0xcd, 0xeb, 0x0b, 0xcb, - 0xbd, 0xcf, 0x0f, 0xed, 0x8d, 0x37, 0x66, 0x94, 0xd2, 0x77, 0x89, 0x57, 0x42, 0x3a, 0x93, 0x20, - 0x24, 0x16, 0xce, 0xf3, 0x55, 0x33, 0x4d, 0x38, 0xb5, 0xc7, 0xc3, 0xc1, 0x9f, 0x84, 0x2f, 0x32, - 0xec, 0xe0, 0x58, 0x53, 0xd6, 0x71, 0x7d, 0xf1, 0xee, 0x61, 0x58, 0xe0, 0x59, 0x3c, 0xbc, 0xcd, - 0x4c, 0x3e, 0xca, 0xde, 0xab, 0x62, 0xb0, 0x49, 0x98, 0xd4, 0xe6, 0x8b, 0x57, 0x88, 0x2b, 0x23, - 0x54, 0x92, 0xf6, 0x64, 0x1c, 0x54, 0x68, 0xce, 0xff, 0x9c, 0x07, 0xa3, 0x18, 0xa2, 0x91, 0xba, - 0xd8, 0x69, 0x71, 0x72, 0x2d, 0xdd, 0x15, 0x09, 0xb9, 0xc4, 0x88, 0x5d, 0x8d, 0x9b, 0x81, 0x99, - 0xb8, 0x33, 0xe0, 0x5e, 0x9d, 0xbe, 0xc0, 0x27, 0x52, 0x4c, 0xc9, 0xef, 0x4c, 0xed, 0xe7, 0x5a, - 0x82, 0xdf, 0x58, 0x65, 0x62, 0xdf, 0xfc, 0xec, 0x48, 0xc8, 0x85, 0xf2, 0x0b, 0x28, 0x79, 0x53, - 0x42, 0x94, 0x6c, 0xc5, 0x2f, 0x51, 0xc3, 0x94, 0x18, 0x01, 0x9f, 0xb5, 0x50, 0xa4, 0x09, 0x57, - 0xa9, 0x84, 0xc2, 0xc0, 0x3d, 0x1b, 0x3f, 0xbd, 0xd6, 0x70, 0x68, 0x10, 0xff, 0xe4, 0x81, 0xe9, - 0xb2, 0x91, 0x19, 0x8e, 0xec, 0xa8, 0x11, 0xa5, 0x45, 0xd3, 0xed, 0x8e, 0x3a, 0xfd, 0xca, 0x55, - 0x81, 0xcb, 0xa6, 0x8a, 0xb0, 0x5b, 0xde, 0x56, 0x76, 0x45, 0xc9, 0x5a, 0x28, 0x50, 0xc5, 0xf6, - 0x54, 0x1d, 0x35, 0xf1, 0x4c, 0x50, 0x8a, 0xcc, 0x56, 0x53, 0x43, 0xb9, 0x96, 0x02, 0xaf, 0x01, - 0x20, 0xbd, 0xab, 0x82, 0xf6, 0xa8, 0x6a, 0xea, 0x57, 0x89, 0x77, 0x21, 0xd9, 0x86, 0x5e, 0xe1, - 0xfe, 0x62, 0x47, 0xb6, 0x45, 0xaf, 0x0f, 0x50, 0x50, 0x3f, 0x68, 0x72, 0x91, 0x8a, 0xbd, 0x79, - 0xcd, 0xad, 0xf3, 0xc9, 0x9b, 0x77, 0x49, 0xaa, 0xac, 0x19, 0x3a, 0xdd, 0x6c, 0xcf, 0x4f, 0xfa, - 0x2d, 0xe1, 0x60, 0x24, 0xc5, 0x54, 0x52, 0x4c, 0x6d, 0x52, 0xbd, 0x9c, 0xaa, 0x22, 0xf6, 0xad, - 0x74, 0x4b, 0x6d, 0xd2, 0x40, 0x3c, 0x13, 0x98, 0x87, 0x49, 0xd9, 0x42, 0x3a, 0xbb, 0xd9, 0x17, - 0x31, 0x2d, 0x2e, 0x4a, 0xbe, 0x16, 0xa6, 0x02, 0xf2, 0x93, 0xc6, 0xe8, 0xbe, 0x49, 0x59, 0xde, - 0x27, 0x35, 0xd5, 0x58, 0x9d, 0x05, 0x0c, 0x73, 0x89, 0x29, 0xd2, 0x47, 0xf8, 0xc1, 0x21, 0xd9, - 0xcb, 0x52, 0x28, 0xbe, 0x2b, 0xb9, 0xeb, 0x68, 0x0a, 0x8f, 0x50, 0x8c, 0x4e, 0x70, 0x83, 0xa3, - 0xc9, 0x7e, 0x1f, 0x72, 0xd1, 0x0d, 0x6f, 0x11, 0x8e, 0xfe, 0x76, 0x6f, 0x19, 0x2c, 0x48, 0x42, - 0x68, 0x07, 0x42, 0x71, 0xba, 0x88, 0xad, 0xdd, 0x1b, 0xfa, 0x9d, 0x88, 0x4f, 0x5e, 0x1f, 0x98, - 0x21, 0x4e, 0xd1, 0x4e, 0x2f, 0xeb, 0x1d, 0x21, 0xcb, 0x7d, 0x82, 0x4f, 0xe3, 0x51, 0x66, 0x8b, - 0x00, 0x4b, 0xf9, 0x4c, 0x46, 0x52, 0x1b, 0xe4, 0x99, 0x9a, 0x4c, 0xad, 0xec, 0xe7, 0x44, 0x46, - 0xae, 0xae, 0xd0, 0x44, 0x34, 0xc0, 0x6c, 0x0b, 0xa3, 0x65, 0x62, 0x2b, 0xda, 0xa3, 0x9b, 0xf2, - 0x0d, 0x6d, 0x55, 0x3f, 0xee, 0x05, 0x38, 0xa1, 0x24, 0x7c, 0xd1, 0xf1, 0xd9, 0xbd, 0x60, 0xac, - 0xed, 0x15, 0x9b, 0xf2, 0x9b, 0x5b, 0xdb, 0x42, 0xc5, 0xda, 0xdb, 0xf0, 0x93, 0x67, 0xb7, 0x23, - 0xb6, 0x12, 0x3a, 0xff, 0x79, 0xc7, 0xcf, 0xe3, 0x46, 0x7c, 0x03, 0x10, 0xd6, 0xb2, 0x10, 0x21, - 0x7e, 0xfd, 0xcf, 0x6d, 0x82, 0x5e, 0xb5, 0x1b, 0x33, 0xfd, 0xad, 0x22, 0x1d, 0x13, 0xe3, 0x8b, - 0x27, 0x8c, 0x4f, 0x05, 0x1d, 0xfd, 0x49, 0xa4, 0x14, 0x15, 0xcb, 0xc0, 0x03, 0x7b, 0x81, 0x95, - 0x89, 0x4b, 0x3d, 0x4a, 0x04, 0xbf, 0xa6, 0x42, 0x21, 0x77, 0xa8, 0x4b, 0x37, 0x52, 0x31, 0x17, - 0xe9, 0xdf, 0xc5, 0x1d, 0xce, 0x51, 0x20, 0x4e, 0xfe, 0x3b, 0x40, 0xbf, 0xde, 0x5d, 0xf2, 0x32, - 0x91, 0xa1, 0x1b, 0x1b, 0x39, 0xdb, 0x34, 0xb8, 0xc7, 0xc8, 0xc8, 0x13, 0x07, 0x53, 0x1e, 0xc0, - 0x26, 0x7e, 0x50, 0x8e, 0xc1, 0xe5, 0x11, 0x6d, 0x3f, 0x39, 0x16, 0x53, 0x41, 0x1b, 0x52, 0x16, - 0x91, 0x55, 0x33, 0x67, 0xf2, 0x1f, 0xbf, 0x92, 0x94, 0xa0, 0x7e, 0xea, 0x91, 0x59, 0x42, 0xbb, - 0x05, 0xca, 0x1d, 0xa3, 0xa6, 0x3f, 0xe1, 0xfd, 0x04, 0xf3, 0xb2, 0xd2, 0x9d, 0x46, 0x9c, 0xfc, - 0xb3, 0x65, 0xc7, 0x31, 0x91, 0xee, 0x22, 0x92, 0x92, 0x3c, 0x65, 0x58, 0xc0, 0xbd, 0x8d, 0x37, - 0x2a, 0xbd, 0x63, 0x66, 0x8f, 0x49, 0x12, 0xe8, 0xf7, 0x30, 0x31, 0x67, 0x35, 0x09, 0x57, 0x64, - 0x64, 0xde, 0x59, 0x9e, 0xbb, 0x56, 0x99, 0xe3, 0x6c, 0xc3, 0xee, 0x8b, 0x55, 0x8f, 0x54, 0xe8, - 0x6b, 0x79, 0x11, 0xfa, 0x91, 0x62, 0xdd, 0xf3, 0x3b, 0xc3, 0xdc, 0x68, 0x8e, 0xc2, 0x50, 0x41, - 0x19, 0x10, 0x10, 0x95, 0x8f, 0x05, 0xd1, 0x38, 0x16, 0xb5, 0x02, 0xde, 0xf0, 0x0d, 0x8f, 0xbd, - 0xf3, 0x3e, 0x3d, 0xcf, 0x15, 0xda, 0x27, 0x04, 0x21, 0x55, 0xf1, 0xab, 0xca, 0x60, 0xef, 0x11, - 0xdb, 0xb5, 0xf5, 0xf3, 0x53, 0xb0, 0x81, 0x69, 0x81, 0x62, 0xcd, 0xdb, 0xf6, 0xb1, 0xb6, 0x31, - 0xd0, 0x8a, 0x1f, 0x33, 0x14, 0x23, 0xf8, 0xdf, 0xc1, 0x78, 0xee, 0xdf, 0xe5, 0x87, 0x91, 0xea, - 0x00, 0x18, 0x55, 0x43, 0x51, 0xc9, 0x64, 0x7f, 0x97, 0x9c, 0x54, 0x51, 0x48, 0x79, 0x33, 0x9a, - 0x0d, 0x57, 0x70, 0xa4, 0x26, 0xbf, 0xd5, 0x35, 0xd6, 0xb6, 0x49, 0xdc, 0x94, 0xbb, 0x71, 0xae, - 0xa5, 0xdf, 0x70, 0xd3, 0x3c, 0x83, 0xbf, 0x02, 0x23, 0xa9, 0x14, 0x1a, 0x13, 0xd7, 0x76, 0x56, - 0x85, 0xe9, 0x0c, 0x9e, 0xbf, 0xda, 0x8e, 0x80, 0xd4, 0xec, 0x45, 0x6d, 0xf0, 0x5d, 0xc2, 0xec, - 0xad, 0x9f, 0xbb, 0xce, 0xbe, 0x6b, 0x3d, 0xc1, 0x5e, 0x7f, 0xbe, 0xe5, 0x58, 0xaa, 0xa5, 0x76, - 0x01, 0x61, 0x3f, 0xda, 0xcd, 0xed, 0x9a, 0xdb, 0xb2, 0x93, 0x37, 0xfc, 0x6c, 0xca, 0x9d, 0x50, - 0x41, 0xa5, 0xca, 0xe8, 0x53, 0x98, 0x0e, 0x89, 0x48, 0xea, 0x47, 0xf8, 0xe5, 0xfd, 0x2a, 0x6b, - 0xb6, 0x66, 0x94, 0x42, 0x62, 0xfc, 0xdf, 0x9f, 0x42, 0xbf, 0x84, 0x70, 0xf4, 0xe3, 0xce, 0xb0, - 0x18, 0x90, 0x5d, 0xa4, 0xf4, 0x48, 0x76, 0x53, 0xc8, 0xf4, 0x68, 0x18, 0x33, 0x04, 0xd3, 0xa9, - 0xef, 0x6d, 0xe9, 0xb5, 0x4e, 0x2e, 0xcf, 0x29, 0x87, 0x98, 0xda, 0x62, 0x44, 0x9a, 0xa8, 0x58, - 0xca, 0x46, 0x7e, 0x5d, 0xa5, 0xd1, 0x65, 0xeb, 0x74, 0x89, 0x4a, 0x3d, 0x8c, 0xc4, 0x40, 0xde, - 0xef, 0xbc, 0x76, 0x42, 0xe0, 0x7a, 0xf9, 0xa5, 0xf2, 0x38, 0x90, 0x33, 0x1b, 0x28, 0x9b, 0x70, - 0x02, 0xf8, 0x22, 0x0d, 0x52, 0x65, 0xeb, 0xe3, 0x5c, 0x86, 0x87, 0xe4, 0x1d, 0xf9, 0x9f, 0xa7, - 0xa0, 0x53, 0x9b, 0x89, 0xf8, 0xd8, 0x91, 0x88, 0x1c, 0xa0, 0x83, 0x24, 0x7a, 0xcf, 0x59, 0xdb, - 0x37, 0x04, 0xdf, 0xf1, 0x63, 0x21, 0x14, 0x30, 0x24, 0x9a, 0x78, 0x1f, 0x68, 0x3c, 0x5e, 0x18, - 0xa7, 0x47, 0x14, 0x34, 0xe3, 0xab, 0x70, 0x6b, 0xd0, 0x57, 0x23, 0x7f, 0xcc, 0x22, 0x5e, 0xbc, - 0xe7, 0x5f, 0xc3, 0x20, 0x74, 0x75, 0xad, 0x96, 0x1b, 0x57, 0x2f, 0x3a, 0x85, 0x2e, 0x27, 0x23, - 0x55, 0x98, 0x63, 0xcb, 0x34, 0xd9, 0x24, 0xde, 0x0f, 0x5d, 0x65, 0xdf, 0x33, 0xc7, 0xaa, 0x51, - 0x29, 0x94, 0x7c, 0xd7, 0x9d, 0x05, 0x52, 0x56, 0xf2, 0xab, 0xcc, 0x71, 0xeb, 0xa7, 0xc9, 0xd1, - 0xfa, 0x88, 0xc1, 0xc2, 0x2e, 0x47, 0xdc, 0xaf, 0xf8, 0x1a, 0xf9, 0xf0, 0x41, 0x92, 0x1a, 0xa1, - 0x04, 0x99, 0x47, 0xd6, 0xe3, 0xa9, 0x06, 0x9e, 0x21, 0xc3, 0xe0, 0x1f, 0x41, 0x63, 0x23, 0x5d, - 0xfe, 0x78, 0x81, 0xea, 0xb2, 0x5c, 0x91, 0x06, 0x93, 0x27, 0x10, 0xe0, 0x84, 0xf1, 0x63, 0xcc, - 0x5a, 0xa6, 0x89, 0xa3, 0xe0, 0x33, 0xc1, 0xd3, 0x5b, 0x50, 0x6e, 0x1e, 0xa6, 0xd0, 0x01, 0xd0, - 0xd5, 0xa8, 0x7c, 0x5c, 0xa3, 0x1c, 0x10, 0x4e, 0x44, 0x2e, 0x49, 0x93, 0x23, 0xcc, 0x5b, 0x27, - 0x43, 0x35, 0x34, 0x0b, 0x97, 0x42, 0xaf, 0xed, 0x3e, 0x44, 0xf7, 0x0f, 0x7a, 0xe5, 0x7c, 0xbe, - 0xfa, 0x72, 0x10, 0x0b, 0xc2, 0x47, 0x4f, 0x0d, 0xc4, 0xbc, 0x2c, 0x98, 0x17, 0xb2, 0x91, 0xf2, - 0x70, 0x1d, 0x35, 0x99, 0xc3, 0x4e, 0xe2, 0xd3, 0x05, 0xc2, 0x3e, 0x76, 0x97, 0x3b, 0xfa, 0x69, - 0x8a, 0xd1, 0x42, 0xd0, 0xcb, 0x05, 0x42, 0x98, 0xe7, 0xef, 0xeb, 0xcd, 0x88, 0xd3, 0xe9, 0xd5, - 0xfb, 0x6e, 0x56, 0x33, 0x28, 0x7d, 0x0c, 0x09, 0xb0, 0xea, 0x97, 0x85, 0x92, 0x98, 0x0c, 0x6d, - 0xc8, 0xb9, 0xe3, 0x6b, 0xa5, 0xcb, 0xe4, 0xe5, 0x43, 0xe0, 0x41, 0x08, 0xdc, 0xed, 0x8f, 0x53, - 0x25, 0x0d, 0x8a, 0x54, 0xb1, 0xef, 0x11, 0x49, 0xb1, 0x92, 0x57, 0x66, 0xb7, 0x21, 0x94, 0x42, - 0xd5, 0x9d, 0xaa, 0x0b, 0x72, 0x51, 0xfd, 0xdf, 0xea, 0xf9, 0xe4, 0xb6, 0x3b, 0x86, 0xb8, 0x7e, - 0x37, 0xcd, 0x07, 0xdd, 0x29, 0x63, 0x1c, 0x79, 0x5e, 0xc0, 0x6c, 0x13, 0x97, 0xa5, 0x01, 0xce, - 0xd9, 0xb2, 0x25, 0x67, 0xca, 0x17, 0xcc, 0x4a, 0xce, 0xc3, 0x35, 0xc8, 0xc5, 0xe9, 0x40, 0x29, - 0x6b, 0x27, 0xea, 0xa4, 0x51, 0x5c, 0x55, 0xc3, 0xc5, 0x8f, 0x77, 0x1b, 0xf2, 0x58, 0x91, 0xed, - 0x1c, 0x2b, 0xeb, 0xcb, 0x6c, 0xf6, 0x94, 0x62, 0xfd, 0x39, 0x8e, 0xf4, 0xe8, 0xb0, 0xa0, 0xb4, - 0xa9, 0x66, 0xc9, 0x0b, 0x4b, 0x98, 0x28, 0x8a, 0x1a, 0xaf, 0x3e, 0x53, 0x27, 0xd8, 0x4f, 0x21, - 0x10, 0x29, 0xca, 0x5a, 0xa4, 0x3a, 0x06, 0xec, 0x08, 0x24, 0x96, 0x5d, 0xf1, 0xea, 0xa6, 0xcd, - 0x57, 0x92, 0x11, 0xdf, 0xaa, 0x9a, 0x0d, 0x52, 0x97, 0x70, 0x1b, 0xf0, 0x56, 0x31, 0xec, 0xe6, - 0xe7, 0xc9, 0x82, 0x1d, 0x69, 0xbb, 0xb7, 0xc2, 0xbb, 0x4e, 0x31, 0x86, 0xf2, 0x8e, 0x14, 0x57, - 0x0a, 0x76, 0x43, 0x7d, 0xdc, 0x6f, 0x9d, 0xd8, 0x76, 0xbe, 0x2e, 0x4d, 0x91, 0xf7, 0x82, 0x47, - 0x28, 0x72, 0x1c, 0x6c, 0x6d, 0xad, 0xbe, 0x59, 0xb5, 0x10, 0xae, 0x9a, 0xc2, 0x5a, 0x65, 0x9d, - 0x3d, 0x29, 0xd3, 0x1b, 0x53, 0xde, 0x1c, 0x6d, 0xc4, 0x63, 0x17, 0xb1, 0xad, 0xe6, 0x38, 0x23, - 0x82, 0x03, 0xdb, 0xd3, 0xce, 0x96, 0xd1, 0xeb, 0x9a, 0xe3, 0xbe, 0x73, 0x6a, 0x23, 0x2c, 0xca, - 0x44, 0x1b, 0xde, 0xe9, 0x12, 0xf0, 0x4f, 0xd2, 0xb2, 0x2b, 0x49, 0x74, 0x72, 0x44, 0x6f, 0xdf, - 0x10, 0xac, 0x22, 0x48, 0x71, 0x5c, 0xfe, 0x08, 0xdb, 0x36, 0xe8, 0x6c, 0x36, 0x5f, 0x68, 0x35, - 0x63, 0x5d, 0x36, 0x92, 0xa2, 0xea, 0xa4, 0x1f, 0xf6, 0x9b, 0x78, 0x8c, 0xdf, 0x22, 0x37, 0xba, - 0x44, 0x94, 0x8a, 0x9a, 0xc9, 0xee, 0x32, 0x37, 0x51, 0x98, 0x74, 0x8d, 0x33, 0x17, 0x9f, 0x7d, - 0x4c, 0x36, 0xaf, 0x8c, 0xd1, 0x38, 0x67, 0xf1, 0x32, 0xe9, 0x39, 0xb9, 0x79, 0x7c, 0x45, 0xd5, - 0xe0, 0x06, 0x2c, 0x55, 0x7a, 0x1c, 0xde, 0x6d, 0xf7, 0x33, 0x7a, 0xe2, 0xa6, 0x31, 0x74, 0x1b, - 0x43, 0x97, 0x8c, 0x22, 0xf6, 0xf5, 0x40, 0xd3, 0xb8, 0x1d, 0xee, 0x38, 0x0b, 0x1f, 0x0b, 0xd2, - 0x18, 0xbc, 0x77, 0x85, 0x58, 0xa0, 0x8e, 0x95, 0xa0, 0xb5, 0xef, 0xe1, 0x7d, 0x48, 0xfd, 0x29, - 0x09, 0xc4, 0x83, 0xd7, 0xb5, 0xe0, 0xcb, 0x6d, 0xda, 0x0b, 0xce, 0xf1, 0x25, 0xc8, 0x8b, 0x6c, - 0xe1, 0x02, 0x34, 0xb0, 0xa6, 0xc2, 0xea, 0xe7, 0x21, 0x83, 0xc8, 0x17, 0x53, 0x28, 0x25, 0x9f, - 0x58, 0xaa, 0xbd, 0xb0, 0xf8, 0xab, 0x98, 0xa7, 0xaa, 0x47, 0x13, 0xbc, 0x26, 0xfb, 0xf7, 0x50, - 0xae, 0x14, 0x15, 0x3a, 0x45, 0x1e, 0x88, 0x6b, 0x37, 0xc6, 0x47, 0x7b, 0xa7, 0x0a, 0x62, 0x1b, - 0x30, 0x6a, 0x96, 0x86, 0xda, 0x9d, 0xe9, 0x29, 0x53, 0x0f, 0x9a, 0xce, 0x6d, 0xb4, 0x80, 0x5e, - 0x7b, 0x29, 0x83, 0x74, 0x90, 0x30, 0x89, 0x54, 0x04, 0x73, 0x30, 0x8d, 0xde, 0x4c, 0xc7, 0xb2, - 0xc1, 0x53, 0xeb, 0xc6, 0x0a, 0x1e, 0xd2, 0x75, 0x87, 0x7f, 0xda, 0x10, 0x66, 0x43, 0x7a, 0xaf, - 0x89, 0x51, 0xc6, 0x5c, 0x44, 0x5b, 0x4d, 0xa7, 0x3b, 0x81, 0xa8, 0x55, 0x21, 0xd7, 0x70, 0x67, - 0x89, 0xdb, 0xb1, 0xf6, 0x0e, 0x5a, 0x5b, 0x18, 0x24, 0x88, 0x01, 0xa5, 0x69, 0x8d, 0x1f, 0xc1, - 0xe2, 0x7e, 0xe6, 0xc2, 0x86, 0x11, 0x6d, 0xbe, 0x15, 0x93, 0x18, 0x94, 0x9f, 0xe3, 0x56, 0x49, - 0x83, 0xa4, 0xf0, 0xdc, 0xb4, 0x41, 0x56, 0x18, 0x44, 0xbf, 0x4e, 0xd7, 0x37, 0xda, 0x20, 0xd7, - 0xbf, 0x3a, 0xac, 0xdb, 0x56, 0x55, 0xe5, 0xa5, 0xfb, 0x89, 0x39, 0x55, 0x9f, 0xe6, 0x6e, 0x23, - 0xd8, 0x3b, 0xc8, 0xfb, 0x76, 0x49, 0xc7, 0xbb, 0xaf, 0x39, 0x9c, 0x41, 0x0f, 0x41, 0xf9, 0xb3, - 0xff, 0xff, 0x92, 0x7e, 0x3c, 0xd1, 0x35, 0x03, 0xe6, 0xc4, 0x48, 0x6f, 0x1b, 0xdd, 0x02, 0x90, - 0x62, 0xd6, 0x8a, 0x73, 0xe4, 0x9f, 0x85, 0x3c, 0x88, 0xcf, 0xe6, 0xa9, 0x88, 0x73, 0x38, 0xfa, - 0x65, 0x21, 0x0b, 0x08, 0x4d, 0xc9, 0xd0, 0x17, 0xe9, 0x76, 0xc8, 0x96, 0x8c, 0xf7, 0xa6, 0xd3, - 0xab, 0x3b, 0x4a, 0xbe, 0x3f, 0x9c, 0x44, 0x5b, 0x7a, 0xc8, 0xb3, 0x96, 0x73, 0x03, 0xcb, 0xc1, - 0xca, 0x7a, 0x6d, 0xbe, 0x19, 0x14, 0x60, 0xf3, 0x05, 0x2f, 0xcc, 0x0a, 0x8d, 0x3e, 0x3c, 0xdf, - 0xd5, 0x14, 0x91, 0x3a, 0xe5, 0x41, 0x47, 0x08, 0x46, 0x6e, 0x83, 0x5d, 0xa7, 0x93, 0x76, 0x84, - 0xe1, 0x8c, 0xf8, 0xa7, 0xe4, 0x1a, 0x68, 0x00, 0x5a, 0xe8, 0xca, 0x4c, 0x1f, 0x12, 0x38, 0x1d, - 0x4a, 0xdb, 0x3a, 0x8a, 0xf3, 0x42, 0x34, 0x9e, 0x97, 0xdc, 0x98, 0x77, 0xd4, 0x2d, 0xfe, 0x02, - 0xba, 0xbd, 0xe5, 0x19, 0x9b, 0x11, 0xd4, 0x12, 0x9e, 0xf5, 0x3f, 0x70, 0x62, 0x3b, 0x97, 0xc7, - 0x94, 0xd2, 0x9c, 0xde, 0x66, 0x95, 0x22, 0x09, 0x67, 0x46, 0x5b, 0x8e, 0x5f, 0xdd, 0x9c, 0xd5, - 0x40, 0xb0, 0x9f, 0xf6, 0xbd, 0x52, 0xe6, 0xf9, 0x2f, 0xb4, 0xaf, 0x71, 0x4e, 0x24, 0xae, 0x17, - 0x3f, 0x04, 0xc4, 0x9d, 0x61, 0xce, 0x29, 0xca, 0x59, 0x9f, 0x92, 0xb6, 0x2e, 0xee, 0x47, 0x26, - 0xab, 0xfd, 0x34, 0x32, 0x2d, 0x48, 0x92, 0xaa, 0xb7, 0xc7, 0x7d, 0x8c, 0x8c, 0xa2, 0xbb, 0x35, - 0x0f, 0x96, 0x7e, 0x0c, 0xfe, 0x04, 0x81, 0x44, 0xf6, 0xe8, 0x42, 0x90, 0x3a, 0x32, 0xc4, 0xf4, - 0x9f, 0xa0, 0x8a, 0x78, 0x04, 0xc7, 0x3d, 0x6a, 0xba, 0xef, 0x43, 0x36, 0x68, 0xa3, 0x49, 0x6d, - 0x56, 0xb4, 0x5c, 0x1d, 0xdc, 0x1d, 0x38, 0x4a, 0xa1, 0xd3, 0x1b, 0xaf, 0x2f, 0x80, 0xaf, 0xb4, - 0x20, 0x15, 0x91, 0x99, 0xe7, 0x1e, 0xc2, 0x56, 0x07, 0xfe, 0x82, 0xd6, 0x58, 0x08, 0x14, 0x8e, - 0xd2, 0x33, 0x3d, 0x4d, 0x1c, 0x5d, 0xb4, 0xe2, 0x9a, 0x8d, 0xca, 0x82, 0xeb, 0x82, 0x9d, 0x16, - 0x2a, 0x54, 0x44, 0x5f, 0xff, 0xdb, 0xc5, 0x08, 0x5a, 0x3c, 0x0a, 0x52, 0x09, 0xa2, 0x96, 0x4a, - 0xe2, 0x65, 0xd6, 0x55, 0x18, 0xaf, 0x70, 0x34, 0x86, 0x90, 0x37, 0xdb, 0xec, 0x0a, 0xd5, 0x17, - 0x8b, 0x08, 0x5b, 0x52, 0x93, 0x35, 0x6a, 0x4e, 0x73, 0x0f, 0x56, 0x88, 0x54, 0xfc, 0x0b, 0x40, - 0xf4, 0x2a, 0x5f, 0x11, 0x09, 0x05, 0x98, 0x4e, 0xb9, 0xde, 0x37, 0x98, 0x37, 0x99, 0x16, 0xcf, - 0xe7, 0x2d, 0xf9, 0x3c, 0xb1, 0x0a, 0xec, 0xaf, 0x31, 0xb9, 0xa1, 0xe2, 0xc3, 0xb8, 0x30, 0xee, - 0x92, 0x77, 0x6d, 0xa9, 0xa1, 0x10, 0x6d, 0xf2, 0x43, 0x79, 0xf6, 0x12, 0x2c, 0x2c, 0xc4, 0x56, - 0xa5, 0xaf, 0x72, 0x44, 0x9c, 0x96, 0xa6, 0xa6, 0x0d, 0xf8, 0x3e, 0xc7, 0xc7, 0x27, 0x56, 0x09, - 0xce, 0x73, 0x22, 0x0a, 0x27, 0xa5, 0x83, 0x2e, 0x0c, 0x6b, 0xbd, 0xac, 0xff, 0xcb, 0x7f, 0xc4, - 0x48, 0x4e, 0x38, 0xb9, 0x6a, 0x9d, 0xbf, 0xf6, 0x16, 0x56, 0xcf, 0x0f, 0x3c, 0xce, 0x16, 0x55, - 0x23, 0xfc, 0x9f, 0xe9, 0x90, 0xb7, 0x5a, 0xba, 0xcd, 0x3f, 0xb2, 0xc6, 0xe1, 0x38, 0xc6, 0x85, - 0xc3, 0x0a, 0xd9, 0xaa, 0xe4, 0x0d, 0xd2, 0x50, 0x3a, 0xb0, 0x2b, 0xe5, 0x89, 0xa9, 0x8b, 0x1a, - 0x8a, 0x7a, 0x65, 0x5e, 0x27, 0x4b, 0xa2, 0xa5, 0x00, 0x75, 0x36, 0x8d, 0x8c, 0xec, 0x27, 0xca, - 0x9e, 0xdc, 0xbd, 0x80, 0x7d, 0xc7, 0x4c, 0xc1, 0x39, 0x94, 0x4a, 0xd4, 0xf9, 0x8d, 0x0e, 0xa9, - 0xf3, 0x92, 0xe0, 0x5a, 0x2a, 0x3d, 0x10, 0x2d, 0xf1, 0xac, 0x2c, 0x5a, 0x95, 0xaa, 0x6c, 0xb5, - 0xe9, 0x66, 0x0c, 0xd4, 0x8b, 0x51, 0xe4, 0x75, 0xaf, 0x3d, 0x38, 0xf3, 0x1e, 0x0a, 0x71, 0x7d, - 0x37, 0xe1, 0x6d, 0xb8, 0xa8, 0x5b, 0x74, 0xf1, 0x3e, 0x71, 0xe8, 0x32, 0x2e, 0xa3, 0x22, 0x17, - 0xc8, 0xa4, 0xe4, 0x54, 0x6d, 0xd9, 0x19, 0xf5, 0x63, 0x9b, 0xc5, 0xc2, 0x6e, 0xab, 0xdf, 0xfe, - 0xf2, 0x9e, 0x31, 0x9c, 0xaa, 0xb7, 0xa7, 0x89, 0xfd, 0x96, 0x60, 0xce, 0x16, 0x51, 0x70, 0xe2, - 0x55, 0x56, 0x77, 0x53, 0xd3, 0xef, 0xe8, 0x98, 0x51, 0x38, 0xd2, 0xeb, 0x54, 0x23, 0x29, 0xe4, - 0xb3, 0xb8, 0xaf, 0x5d, 0xb6, 0x84, 0x8f, 0xf7, 0xd2, 0x14, 0x82, 0xe2, 0xad, 0x22, 0x44, 0x28, - 0x10, 0xee, 0x06, 0x89, 0x34, 0x3f, 0xae, 0x5f, 0xa1, 0xdc, 0xf7, 0xcc, 0x53, 0xd1, 0x0e, 0x51, - 0x2b, 0x14, 0x86, 0x1a, 0x0a, 0x1b, 0x28, 0xa2, 0x9b, 0xeb, 0x74, 0xe2, 0xbc, 0x9c, 0xf9, 0xcf, - 0x54, 0x90, 0x17, 0x29, 0xdd, 0x0d, 0xac, 0xa9, 0x4f, 0x41, 0xcd, 0xf9, 0xda, 0xda, 0xfb, 0x91, - 0xfd, 0xda, 0xc8, 0xb2, 0xa2, 0x66, 0x47, 0xef, 0x0e, 0xf9, 0x0f, 0xaf, 0xaa, 0x48, 0xeb, 0xa8, - 0x88, 0x98, 0xe0, 0x8f, 0x5b, 0x32, 0xbe, 0x8a, 0x9f, 0xf9, 0x12, 0xad, 0x0d, 0x03, 0x84, 0x6d, - 0x1d, 0x2c, 0x69, 0x1f, 0x6d, 0xae, 0x09, 0x0b, 0xc6, 0x40, 0x0a, 0x83, 0x79, 0xad, 0x74, 0xa1, - 0x31, 0x56, 0xd1, 0xa9, 0xf2, 0x50, 0xa3, 0x41, 0x85, 0xa2, 0xb4, 0x7c, 0x3a, 0x47, 0x83, 0x33, - 0x88, 0x9c, 0x32, 0x02, 0xdc, 0xec, 0x74, 0x8a, 0xa2, 0x01, 0x37, 0x68, 0x25, 0xa4, 0x76, 0x65, - 0x9e, 0x3b, 0xa1, 0xbf, 0x90, 0xb9, 0xde, 0x4f, 0xbd, 0xf7, 0xfd, 0x2d, 0xbc, 0x90, 0x1e, 0xb9, - 0xbe, 0x1b, 0x92, 0x24, 0x3d, 0xdc, 0x25, 0x7a, 0x5a, 0xe5, 0x29, 0xfa, 0x89, 0xe0, 0xe8, 0x15, - 0xfd, 0x6d, 0x81, 0x7b, 0x62, 0xd9, 0x07, 0x49, 0x57, 0x1a, 0x92, 0xe9, 0x26, 0x63, 0x7c, 0xa0, - 0xc7, 0x14, 0xd4, 0xa4, 0x52, 0xa8, 0xe6, 0xe5, 0x2c, 0x7c, 0x47, 0x08, 0x8f, 0xbf, 0xc0, 0xc8, - 0xd6, 0x80, 0x04, 0xd2, 0xbd, 0x7b, 0xe2, 0x23, 0xb4, 0x06, 0xaf, 0x86, 0xa0, 0x73, 0xc2, 0x0a, - 0x66, 0xca, 0xa6, 0x8a, 0x60, 0x51, 0x81, 0xd6, 0x50, 0x36, 0x27, 0xfe, 0x74, 0x04, 0xc3, 0xd3, - 0x9f, 0x3e, 0x2b, 0xd4, 0x75, 0xea, 0x72, 0x01, 0x6e, 0xf6, 0x8f, 0x40, 0x25, 0xd8, 0x9d, 0xb4, - 0x1a, 0x4c, 0x55, 0xc4, 0xf7, 0x0d, 0x57, 0x2d, 0xf6, 0xf3, 0x80, 0x36, 0xe1, 0xe5, 0xdc, 0xd5, - 0x92, 0x41, 0x11, 0x06, 0x66, 0xb7, 0xa8, 0x1f, 0x82, 0xa8, 0x11, 0xb9, 0x90, 0xa2, 0xbf, 0x1d, - 0xfc, 0xb3, 0x95, 0x59, 0x44, 0x09, 0x2f, 0x00, 0x4f, 0x42, 0xc5, 0x9a, 0x65, 0xef, 0xad, 0x69, - 0x7d, 0x56, 0x5a, 0x0d, 0xde, 0x3a, 0x9b, 0x39, 0xd7, 0xd8, 0xd0, 0x11, 0x29, 0xff, 0xd9, 0xd4, - 0x22, 0x66, 0x09, 0xbd, 0xdf, 0xd3, 0xb6, 0x00, 0x12, 0x2d, 0xcc, 0xe3, 0xb6, 0x6f, 0x36, 0x96, - 0xb4, 0x58, 0x67, 0xd8, 0xe9, 0xe4, 0x90, 0x1a, 0x01, 0x98, 0x86, 0x01, 0xee, 0xb5, 0xef, 0x76, - 0x13, 0x98, 0xf0, 0x65, 0xb9, 0x9c, 0x29, 0x68, 0x95, 0x45, 0x80, 0x89, 0x1b, 0x7a, 0xb1, 0x9d, - 0x3d, 0x30, 0x45, 0x12, 0x35, 0x2e, 0x72, 0x4b, 0x6c, 0x23, 0x6c, 0x0d, 0x33, 0x4e, 0x1d, 0xef, - 0x2c, 0x52, 0x14, 0x86, 0x09, 0x92, 0xdd, 0x1c, 0xf0, 0x12, 0x73, 0x03, 0x33, 0x45, 0x69, 0x3c, - 0xba, 0x80, 0x5c, 0x5d, 0xc5, 0x82, 0x62, 0x1a, 0x73, 0x0f, 0x76, 0x25, 0x6b, 0x0a, 0xd7, 0x99, - 0x2a, 0x55, 0xbc, 0x17, 0xa9, 0x45, 0xfb, 0xc1, 0x5a, 0x4b, 0x99, 0x30, 0x2e, 0xc4, 0x02, 0x3c, - 0xd2, 0x23, 0xed, 0xc9, 0xd6, 0xca, 0xe9, 0xf0, 0xa1, 0x36, 0x8b, 0xcc, 0x4c, 0xb1, 0x99, 0xb8, - 0xb8, 0xdf, 0x0d, 0xfb, 0xa9, 0xaf, 0x9f, 0x8e, 0x35, 0xe2, 0xbc, 0xf7, 0x77, 0xc6, 0x7e, 0x96, - 0x23, 0x46, 0xf1, 0xa6, 0xcd, 0x44, 0x74, 0xdb, 0xdb, 0x5b, 0xe0, 0xbf, 0x12, 0x82, 0xb3, 0xaa, - 0x01, 0xda, 0x21, 0x3e, 0x5c, 0xb1, 0x2a, 0x07, 0xa3, 0x1d, 0x17, 0x13, 0xce, 0xc6, 0x6e, 0xd7, - 0x38, 0x68, 0xc8, 0x55, 0xa8, 0x0c, 0xb9, 0xfb, 0xcd, 0x7e, 0x9f, 0xe9, 0xba, 0xde, 0x09, 0x17, - 0xb4, 0xe3, 0x2c, 0x28, 0xa3, 0x42, 0x00, 0x94, 0x2e, 0x97, 0x71, 0xfa, 0x9d, 0xda, 0x3c, 0x12, - 0xa0, 0xf6, 0xb0, 0x7c, 0x30, 0x5f, 0x1d, 0x5f, 0x1f, 0xce, 0x11, 0x2e, 0xfb, 0x0a, 0x59, 0x11, - 0x05, 0x61, 0xb1, 0xd4, 0xcf, 0xe5, 0x5b, 0x4e, 0x78, 0x8c, 0x1a, 0x3f, 0x55, 0x57, 0xfe, 0x9d, - 0x0d, 0x4c, 0x4d, 0xf9, 0xc1, 0x3c, 0xce, 0x5a, 0x0b, 0xda, 0x3d, 0xed, 0x77, 0x9c, 0xfe, 0x00, - 0x6a, 0xa3, 0xc2, 0xe0, 0x13, 0x4f, 0xb0, 0x2b, 0xb2, 0xa0, 0x96, 0x2d, 0xaf, 0x52, 0xd2, 0x9a, - 0xde, 0xfe, 0xef, 0x8d, 0xb1, 0xd1, 0x1f, 0x84, 0x9e, 0x99, 0x1c, 0xd6, 0x9b, 0xee, 0x76, 0x33, - 0x27, 0x4d, 0x6d, 0x00, 0xb9, 0x39, 0x73, 0xc4, 0x8f, 0x9c, 0x06, 0xb2, 0xdf, 0x13, 0x8c, 0xa4, - 0xc1, 0xc1, 0x09, 0x33, 0x1c, 0x65, 0x7e, 0x31, 0xef, 0xd3, 0x26, 0x76, 0x4b, 0x21, 0xdc, 0x65, - 0x34, 0xd8, 0x51, 0x0b, 0x1a, 0x57, 0xd3, 0x26, 0x4b, 0x1b, 0xbb, 0xad, 0xbb, 0xd2, 0x06, 0xe1, - 0x5d, 0x03, 0xcb, 0xcd, 0xb1, 0x42, 0x92, 0xd0, 0x39, 0x4c, 0x68, 0xb3, 0xee, 0xdf, 0x1d, 0x19, - 0xe3, 0x21, 0x99, 0xca, 0x4b, 0x7e, 0x9e, 0x02, 0xee, 0xbe, 0x8d, 0xd2, 0x7d, 0xb6, 0x46, 0xcd, - 0xa7, 0x23, 0x1d, 0x42, 0x41, 0x0f, 0x24, 0x59, 0xf8, 0x7b, 0x93, 0xd1, 0xd0, 0x99, 0x08, 0x3a, - 0x9e, 0xa2, 0x79, 0xf6, 0x95, 0x1e, 0x8d, 0x7b, 0x28, 0x0c, 0x7b, 0x45, 0x68, 0x20, 0x3b, 0x1e, - 0x39, 0xe9, 0xd8, 0x45, 0xde, 0x89, 0x7f, 0x41, 0xec, 0x7c, 0x65, 0x70, 0x3c, 0xaf, 0xe2, 0x31, - 0xac, 0x8d, 0x15, 0xb8, 0x6a, 0xda, 0x2c, 0xba, 0x27, 0x87, 0x9b, 0x55, 0x51, 0x83, 0x7f, 0xd8, - 0x0a, 0xef, 0xce, 0x5c, 0xec, 0x0a, 0x6a, 0xd2, 0x7d, 0x09, 0x16, 0xb8, 0xc1, 0x4b, 0x76, 0x4b, - 0xbe, 0x28, 0xfa, 0xfd, 0xcb, 0xc3, 0x2e, 0x3e, 0x07, 0xdc, 0x07, 0xc6, 0x94, 0x64, 0x4b, 0x45, - 0x02, 0x13, 0xb2, 0x90, 0xcd, 0x3d, 0xb2, 0x27, 0xe6, 0x86, 0x9c, 0x7a, 0x5e, 0x67, 0xee, 0x80, - 0xd2, 0x48, 0xde, 0xa0, 0x5b, 0xef, 0x79, 0x13, 0xfa, 0x7a, 0x2a, 0xe5, 0x4f, 0xc7, 0x58, 0xf0, - 0xa6, 0xf2, 0xcb, 0x0f, 0x6d, 0xe5, 0xdb, 0x9c, 0x31, 0xcf, 0xd8, 0x50, 0x36, 0xca, 0xf3, 0x1c, - 0xc6, 0xe2, 0xe0, 0x15, 0xb7, 0x30, 0xa9, 0x79, 0xfb, 0x21, 0xd6, 0x8f, 0x4c, 0x22, 0x65, 0x1a, - 0xc4, 0x6b, 0x74, 0x0d, 0x36, 0x77, 0xb3, 0x94, 0xcf, 0x53, 0x83, 0x6f, 0xb4, 0xa4, 0xf8, 0x93, - 0x03, 0xb4, 0x7e, 0x1f, 0x91, 0x3a, 0xcf, 0xfa, 0x72, 0xd3, 0xbe, 0xf3, 0x13, 0x46, 0x77, 0x97, - 0xa6, 0xeb, 0xcf, 0x00, 0x23, 0x3c, 0x53, 0x60, 0xd3, 0x38, 0x38, 0x69, 0x07, 0xd9, 0x3a, 0x76, - 0x65, 0x60, 0x28, 0x31, 0x3c, 0xd7, 0x05, 0x7d, 0x3d, 0x2c, 0xae, 0x58, 0x07, 0xdd, 0xef, 0x80, - 0x42, 0x2a, 0xab, 0xe3, 0x08, 0xc6, 0xec, 0xaa, 0x39, 0x58, 0x72, 0x8b, 0xb1, 0xe6, 0x62, 0x2c, - 0xa1, 0x89, 0x9a, 0xff, 0x45, 0x7b, 0x5d, 0x87, 0xd0, 0x57, 0xf7, 0x49, 0xf5, 0xc4, 0xc9, 0x0d, - 0xa0, 0x94, 0x0f, 0x16, 0xe4, 0x06, 0x84, 0x3f, 0xef, 0xdc, 0xdc, 0x35, 0x44, 0x24, 0x42, 0xdb, - 0x28, 0x77, 0x76, 0x2b, 0x7b, 0x02, 0xfa, 0x42, 0x67, 0xfa, 0x7b, 0x23, 0x8e, 0xcb, 0x88, 0xff, - 0xdd, 0x93, 0x04, 0xcf, 0x8f, 0x47, 0xa4, 0xcf, 0xd1, 0x7d, 0x38, 0xce, 0x4d, 0x78, 0xac, 0x05, - 0xec, 0x1e, 0xc0, 0xbd, 0x39, 0x41, 0xed, 0x89, 0x4c, 0x0f, 0xc3, 0xa3, 0x62, 0x99, 0x0d, 0xcc, - 0xa0, 0x80, 0x8b, 0x31, 0xbd, 0xd7, 0x6b, 0x49, 0xc8, 0xf3, 0x56, 0x1d, 0x94, 0xb7, 0xff, 0xf2, - 0x98, 0x92, 0x45, 0xf2, 0xa3, 0x2a, 0x46, 0x3a, 0x40, 0x6c, 0x24, 0xb0, 0x0c, 0x3b, 0xb9, 0x32, - 0x51, 0x8c, 0x20, 0xb4, 0x84, 0xac, 0x82, 0x20, 0x50, 0x17, 0x64, 0xca, 0x29, 0xbc, 0x54, 0xe1, - 0x8b, 0x41, 0xaf, 0x9b, 0xf9, 0x0d, 0x48, 0x22, 0xcf, 0x15, 0x2a, 0x18, 0x38, 0x15, 0xff, 0xe7, - 0x55, 0x0a, 0xdd, 0x88, 0x0d, 0x17, 0x38, 0xc3, 0xd8, 0x44, 0x0d, 0x36, 0x46, 0x33, 0xf5, 0x55, - 0x62, 0x70, 0x9e, 0x06, 0x7b, 0xff, 0xe1, 0xfe, 0x95, 0xad, 0x85, 0xc6, 0x44, 0x85, 0x05, 0xe5, - 0x51, 0x95, 0x02, 0x08, 0x36, 0xbd, 0x9e, 0x34, 0xa5, 0xf0, 0x18, 0x7f, 0xa2, 0xf9, 0xc6, 0x59, - 0x66, 0xf4, 0xe6, 0x36, 0xf2, 0xa5, 0xdf, 0xe9, 0x8f, 0x68, 0x22, 0x15, 0x7c, 0x6f, 0x83, 0x73, - 0x8b, 0xa1, 0x5a, 0xec, 0xfd, 0x1e, 0x0f, 0x0f, 0xe4, 0x0c, 0x71, 0xc5, 0x4a, 0xbf, 0x73, 0x65, - 0x55, 0x64, 0x30, 0x65, 0xd9, 0x1f, 0x33, 0x82, 0xd4, 0x2b, 0xed, 0xbf, 0x1c, 0xd8, 0xcb, 0x11, - 0xea, 0xd9, 0xed, 0x44, 0x6c, 0x75, 0x22, 0x61, 0x2f, 0x13, 0x50, 0x40, 0x17, 0x74, 0x13, 0x1d, - 0xa4, 0xde, 0xdb, 0x5b, 0x40, 0xed, 0xe4, 0x5d, 0x69, 0x49, 0x77, 0x1b, 0x83, 0xc4, 0x49, 0xfc, - 0xb5, 0x9e, 0x57, 0x81, 0x8c, 0xb8, 0xde, 0xcf, 0x43, 0xfe, 0x85, 0x97, 0xc2, 0x7c, 0xd8, 0x52, - 0xcf, 0x82, 0x84, 0xe6, 0x2a, 0xcc, 0xd7, 0x3b, 0x05, 0x74, 0x97, 0x7c, 0x34, 0xc7, 0xc7, 0x2b, - 0xaf, 0xf4, 0xf7, 0x03, 0xdc, 0x73, 0x5f, 0xc5, 0x34, 0x10, 0x61, 0x5e, 0xa4, 0x12, 0x33, 0x4d, - 0x58, 0x1f, 0xbc, 0x10, 0x97, 0x82, 0xd1, 0x48, 0x26, 0x2b, 0x12, 0xc1, 0xd8, 0xec, 0x63, 0x1a, - 0x7e, 0xa6, 0x52, 0xec, 0x51, 0x97, 0x33, 0xd6, 0x2a, 0xe8, 0xba, 0xd3, 0x94, 0x47, 0x61, 0xc4, - 0x83, 0x36, 0xd9, 0xb4, 0x22, 0x53, 0xf9, 0x17, 0x09, 0x39, 0xf4, 0xfd, 0xe4, 0x33, 0x28, 0x62, - 0x24, 0x5d, 0xb0, 0x9a, 0xfa, 0xc4, 0x12, 0x84, 0xf0, 0xef, 0x8e, 0x3b, 0x7e, 0x49, 0x74, 0x00, - 0x51, 0x9e, 0xa3, 0x17, 0xd8, 0xf6, 0x13, 0x13, 0xf9, 0x9b, 0x31, 0x8e, 0xe7, 0x4e, 0xf6, 0x01, - 0x8c, 0x73, 0x88, 0x05, 0x4a, 0x97, 0x7a, 0x0d, 0x18, 0x10, 0x8b, 0x27, 0x1e, 0xdf, 0x0e, 0x97, - 0xf9, 0x4c, 0xbf, 0xb8, 0x4d, 0x50, 0x08, 0xcd, 0xb1, 0x2d, 0xb5, 0x7a, 0x18, 0xb4, 0x4b, 0x84, - 0x73, 0x70, 0xbf, 0x09, 0x3d, 0x7b, 0x98, 0x60, 0xbd, 0x9c, 0x12, 0xd0, 0xc4, 0x9e, 0x0d, 0xaf, - 0x78, 0xc4, 0x53, 0xb4, 0xe0, 0xc4, 0x14, 0x2c, 0x6e, 0xc7, 0x65, 0xd1, 0x0a, 0x3e, 0x78, 0x0b, - 0xc7, 0x40, 0x7a, 0x2f, 0xaf, 0x3e, 0x8c, 0x65, 0x22, 0x83, 0x22, 0xde, 0x2b, 0x92, 0x57, 0xcd, - 0x92, 0x4b, 0xc1, 0x82, 0x98, 0x7f, 0x89, 0x75, 0x47, 0xe1, 0xc7, 0x3f, 0x08, 0x2f, 0x76, 0x80, - 0x01, 0xce, 0xf0, 0x97, 0xa9, 0x43, 0x8e, 0xe0, 0xad, 0x12, 0x80, 0xb4, 0x52, 0x8a, 0x80, 0xee, - 0xb4, 0xe1, 0x6c, 0x11, 0xfb, 0x36, 0xbc, 0xed, 0xea, 0xc5, 0x95, 0xb6, 0x04, 0x55, 0xe4, 0x06, - 0x20, 0x32, 0x0a, 0x74, 0xbd, 0x2f, 0xef, 0x57, 0xb9, 0x4a, 0xaa, 0x54, 0x06, 0xe8, 0x72, 0x7d, - 0xd0, 0xd1, 0x81, 0xbd, 0xea, 0xba, 0x65, 0x20, 0x2a, 0x9f, 0x83, 0x38, 0xb7, 0xcc, 0xd2, 0x97, - 0xe4, 0x36, 0x41, 0x39, 0xd8, 0xfc, 0x44, 0x37, 0x36, 0xbf, 0xb2, 0x4e, 0x80, 0xa4, 0x96, 0x6c, - 0xb0, 0xa8, 0xd1, 0x8e, 0xf2, 0xf8, 0x4a, 0x8a, 0x48, 0xcd, 0x13, 0x15, 0xbc, 0xfd, 0xf0, 0x54, - 0xea, 0xc3, 0xed, 0x71, 0xd7, 0xbe, 0xf8, 0x01, 0x7e, 0x62, 0x0e, 0xef, 0x3f, 0x11, 0x18, 0x48, - 0x45, 0x03, 0x89, 0x96, 0x67, 0x47, 0xf5, 0x70, 0xdb, 0x99, 0x16, 0xac, 0x07, 0x45, 0x1a, 0xff, - 0x28, 0x04, 0x54, 0xf1, 0x16, 0xf5, 0xab, 0x28, 0x90, 0x97, 0x94, 0xb0, 0x42, 0x0b, 0xae, 0x9a, - 0x5d, 0xf5, 0x94, 0x91, 0xa9, 0x0f, 0x2e, 0x5c, 0x92, 0x4e, 0x53, 0xbc, 0x16, 0x33, 0x93, 0x3b, - 0xf0, 0xb3, 0xd8, 0x11, 0xec, 0x50, 0xe3, 0xc3, 0x12, 0x1b, 0xd7, 0x8c, 0x82, 0x7e, 0x15, 0x4b, - 0x49, 0x66, 0xfd, 0x04, 0x1d, 0xcf, 0x77, 0xec, 0xac, 0x85, 0x83, 0x62, 0x42, 0xdb, 0xc2, 0xe7, - 0x3c, 0xe4, 0xf7, 0x2f, 0xe7, 0xfa, 0x3a, 0xd9, 0xd3, 0x89, 0x65, 0x94, 0xdd, 0x29, 0x0a, 0x69, - 0xa7, 0x8f, 0x0b, 0xd3, 0xb3, 0xf9, 0xef, 0xac, 0x6b, 0xad, 0x5d, 0xc8, 0x1c, 0x85, 0xc1, 0x49, - 0xbb, 0x54, 0x3a, 0x6d, 0x79, 0x21, 0x19, 0x64, 0x6f, 0x4b, 0xf9, 0x90, 0x23, 0x0f, 0x40, 0x18, - 0x7f, 0x73, 0x7f, 0xa8, 0x9b, 0x5c, 0xa8, 0x00, 0x8e, 0x32, 0xed, 0x53, 0x2b, 0x15, 0x5d, 0xe1, - 0x64, 0x27, 0xfc, 0x7a, 0x85, 0x47, 0x0f, 0x00, 0xbc, 0x35, 0x1b, 0x4b, 0xec, 0xf3, 0x32, 0xd6, - 0xc7, 0x6e, 0xbc, 0x62, 0xcb, 0x7a, 0xc4, 0x89, 0xa3, 0xa4, 0x69, 0x64, 0x70, 0x8c, 0x4e, 0xef, - 0x1c, 0x98, 0x0e, 0xec, 0x89, 0xee, 0x76, 0x9a, 0x41, 0x91, 0x9b, 0x2c, 0xc0, 0x5b, 0xc8, 0xa2, - 0xd1, 0x89, 0x21, 0x7c, 0x20, 0x16, 0x53, 0xbc, 0x20, 0x76, 0xe7, 0xc6, 0x4a, 0xbc, 0x3c, 0x04, - 0xaf, 0xeb, 0x4c, 0x51, 0x5a, 0x8a, 0x54, 0x97, 0x48, 0x48, 0x5d, 0x84, 0x16, 0x01, 0x78, 0xd0, - 0x3b, 0x52, 0xf9, 0x70, 0x4d, 0x0f, 0xdc, 0xdc, 0x92, 0xf1, 0x1c, 0x73, 0xf3, 0x6d, 0xcb, 0x35, - 0x3b, 0x5f, 0x92, 0x52, 0xb0, 0x93, 0xd7, 0xc3, 0xba, 0xe4, 0x60, 0xe4, 0x23, 0x2f, 0xbf, 0x47, - 0x52, 0x35, 0x4a, 0x8b, 0xca, 0xd1, 0xef, 0xda, 0x9e, 0x5a, 0x8b, 0x56, 0x48, 0xa7, 0xd4, 0xcf, - 0x49, 0xf5, 0xb2, 0x6f, 0xc0, 0x67, 0xc8, 0xf7, 0xdb, 0xce, 0x64, 0x7b, 0x55, 0x3e, 0x51, 0x64, - 0x77, 0xf2, 0x1f, 0xb9, 0x43, 0x3b, 0x4a, 0x2e, 0x2b, 0xf2, 0x32, 0x97, 0x51, 0x0e, 0x7d, 0xe3, - 0x25, 0xe3, 0xc4, 0xc3, 0x84, 0x47, 0xd9, 0xaf, 0x35, 0x74, 0x1a, 0x1c, 0x54, 0xfc, 0xcb, 0x68, - 0x22, 0xaa, 0x09, 0xb8, 0x3c, 0xfa, 0x0f, 0x8a, 0xa8, 0xf3, 0x78, 0x98, 0x17, 0xe1, 0x2d, 0x44, - 0xee, 0x2c, 0x05, 0xb2, 0x2b, 0xfa, 0x18, 0xd1, 0x93, 0xb6, 0x2b, 0xf5, 0x76, 0xc4, 0x09, 0xd5, - 0xc2, 0x4e, 0xe8, 0x66, 0x85, 0xf7, 0xe7, 0xfe, 0x78, 0xc7, 0xc9, 0xc8, 0xfe, 0xc7, 0xf3, 0xe9, - 0xbb, 0xec, 0x12, 0xcf, 0xad, 0x73, 0x67, 0xa1, 0xf2, 0x33, 0xbc, 0x12, 0xd2, 0xdf, 0xb8, 0x75, - 0x03, 0xf4, 0x07, 0x42, 0x30, 0xb0, 0xb1, 0x3e, 0xae, 0xc5, 0xc1, 0x95, 0xaa, 0xe3, 0x40, 0xef, - 0x64, 0x1c, 0x40, 0x6f, 0xfb, 0x63, 0x45, 0x98, 0xf7, 0x3e, 0x89, 0xe0, 0xeb, 0x19, 0xfb, 0xae, - 0xf9, 0x2f, 0xdc, 0x53, 0x3a, 0x2b, 0x1d, 0x90, 0x4f, 0x7f, 0xd9, 0xdb, 0xa2, 0x72, 0x1e, 0x15, - 0x88, 0x4c, 0x84, 0x0f, 0x17, 0x5c, 0xd8, 0xd7, 0x46, 0x71, 0x31, 0x23, 0x43, 0x0a, 0xcd, 0x5f, - 0xc5, 0xd4, 0xf3, 0xb7, 0x25, 0x2c, 0x74, 0xee, 0x38, 0x23, 0x15, 0x1c, 0x74, 0x0b, 0x5d, 0x97, - 0x0c, 0x1e, 0xc5, 0x64, 0xa7, 0xdb, 0x5a, 0x30, 0xd5, 0x0e, 0x25, 0xf5, 0xf6, 0xfb, 0x54, 0x9d, - 0xee, 0x15, 0x4b, 0x8d, 0xea, 0x35, 0x08, 0xf7, 0xca, 0x0a, 0xe2, 0x91, 0xeb, 0x23, 0x6c, 0x7f, - 0x78, 0x88, 0x5d, 0x37, 0x62, 0x98, 0xdb, 0x5a, 0xf7, 0x59, 0x8d, 0xb0, 0x78, 0x55, 0xaa, 0x92, - 0x14, 0x59, 0x51, 0x15, 0x3b, 0xdd, 0xc7, 0x5c, 0xf0, 0x81, 0xb6, 0x7d, 0x40, 0x78, 0x7b, 0xe1, - 0x37, 0xae, 0x62, 0xf9, 0xd3, 0x74, 0xe9, 0xfe, 0x79, 0x82, 0xca, 0x59, 0x09, 0x71, 0xb8, 0xb3, - 0x3b, 0xd4, 0xbd, 0x63, 0xf5, 0x7c, 0x29, 0x5c, 0x77, 0xdf, 0xef, 0x87, 0x3b, 0x55, 0xf2, 0xf7, - 0xc5, 0xc5, 0xa1, 0xa2, 0xd9, 0x86, 0x9f, 0xcd, 0x36, 0x4d, 0x2a, 0xe5, 0xe4, 0x3f, 0x63, 0x1d, - 0x5b, 0xbc, 0x7a, 0xf1, 0x0e, 0xe6, 0x71, 0xf3, 0xce, 0xcd, 0x9c, 0xc2, 0x94, 0xcd, 0xff, 0x97, - 0x54, 0x7a, 0xb5, 0xba, 0x11, 0x45, 0xd7, 0xb7, 0x87, 0xd0, 0x2b, 0x97, 0xf1, 0x62, 0x12, 0xfc, - 0xa5, 0x00, 0x50, 0x4d, 0xbd, 0x90, 0x72, 0x92, 0xa8, 0x62, 0x0d, 0x9c, 0xde, 0x1e, 0x67, 0x7f, - 0x4b, 0x59, 0xee, 0x4e, 0x57, 0xde, 0xf4, 0xa1, 0x64, 0xe6, 0xd3, 0xcd, 0x14, 0x25, 0xe2, 0x25, - 0x15, 0xe3, 0x91, 0xcd, 0xb2, 0xeb, 0x3c, 0x9f, 0xd0, 0x02, 0x8c, 0xf9, 0x4f, 0x9e, 0x26, 0xc2, - 0xa8, 0x8f, 0x9b, 0x11, 0x0e, 0xae, 0xb8, 0x57, 0xac, 0xd0, 0xf0, 0x31, 0xb3, 0x53, 0x76, 0xbe, - 0x67, 0x86, 0xb2, 0xea, 0x45, 0x41, 0x1f, 0x5c, 0x44, 0x4d, 0x9b, 0x6a, 0xc8, 0xfc, 0x41, 0xa4, - 0xae, 0xec, 0x51, 0x2f, 0xbf, 0xe4, 0x2d, 0x4f, 0xee, 0x03, 0xaa, 0xf6, 0x81, 0xf3, 0x72, 0x8d, - 0x6e, 0xe0, 0x65, 0x7a, 0x57, 0x52, 0xc4, 0x35, 0xec, 0x87, 0x70, 0x62, 0xda, 0xa0, 0x6d, 0x68, - 0xec, 0xf8, 0x17, 0x90, 0x82, 0x3f, 0x5d, 0xc2, 0x7a, 0xb7, 0xc4, 0x7a, 0x1c, 0x54, 0x3e, 0x43, - 0x3f, 0x10, 0x95, 0x89, 0x2f, 0x95, 0xd4, 0xec, 0x72, 0x05, 0xdc, 0xca, 0xc8, 0x5b, 0xf5, 0xf0, - 0x10, 0x69, 0x33, 0x5f, 0x08, 0xf0, 0xc5, 0x51, 0x57, 0x9e, 0x62, 0x99, 0x23, 0xc3, 0xe1, 0xdd, - 0xf2, 0xca, 0xe9, 0x3b, 0x74, 0xa4, 0x55, 0xf9, 0xd5, 0x23, 0x5b, 0xa6, 0xc8, 0xe4, 0xe0, 0xfa, - 0xb0, 0x0e, 0xb0, 0x05, 0xe1, 0x75, 0xbd, 0x5d, 0xf6, 0xca, 0x43, 0x7c, 0x8f, 0xbf, 0x97, 0xd2, - 0x7d, 0xb1, 0x2a, 0x06, 0x91, 0xa6, 0xae, 0x46, 0x4b, 0x88, 0x6b, 0x5b, 0x15, 0x77, 0x3f, 0x72, - 0xa2, 0x77, 0xce, 0x9f, 0x65, 0x3b, 0x37, 0xd8, 0x4c, 0xe1, 0x79, 0x21, 0x3b, 0x7c, 0xa5, 0x12, - 0x33, 0x53, 0x82, 0xa2, 0xea, 0x59, 0xea, 0x45, 0x27, 0x26, 0xd9, 0x58, 0x99, 0x6a, 0xd1, 0x3f, - 0x86, 0x6d, 0x3b, 0xdd, 0xc9, 0x64, 0x7f, 0xc6, 0x02, 0x59, 0x23, 0x1d, 0xfc, 0x1f, 0x36, 0x31, - 0xf9, 0x25, 0xd3, 0xb1, 0xf6, 0xed, 0x85, 0x44, 0x21, 0x62, 0x12, 0x1c, 0xdb, 0xe2, 0x55, 0xdb, - 0x94, 0x0e, 0xb9, 0xcb, 0x32, 0xe8, 0x5a, 0x29, 0xde, 0xd7, 0x41, 0xfb, 0x67, 0xd7, 0xc0, 0xcc, - 0x80, 0xe4, 0xef, 0x49, 0x9f, 0xd4, 0x76, 0x1a, 0x8a, 0x34, 0xed, 0x0e, 0x17, 0xad, 0xea, 0x4f, - 0x83, 0xa5, 0x44, 0x06, 0x6b, 0x77, 0xe8, 0x5a, 0xd8, 0xdf, 0x6b, 0xfe, 0x2c, 0x34, 0x22, 0x0f, - 0x76, 0xf9, 0x10, 0x15, 0x4b, 0x98, 0x8e, 0xec, 0x46, 0x31, 0xf5, 0x6c, 0x0a, 0x82, 0x8e, 0xfb, - 0x39, 0x67, 0x32, 0xe8, 0x0e, 0x87, 0x33, 0x70, 0xd1, 0x36, 0x35, 0x8e, 0xd0, 0x57, 0x13, 0x91, - 0x6d, 0x8a, 0x72, 0x29, 0x46, 0x50, 0x38, 0x71, 0xa6, 0xcb, 0xef, 0xa5, 0x47, 0xb9, 0x20, 0x94, - 0x45, 0xab, 0xd4, 0x3b, 0x60, 0xae, 0x2f, 0x65, 0x97, 0x36, 0xa3, 0xce, 0x02, 0x60, 0x3d, 0x78, - 0xdb, 0xd3, 0x41, 0x20, 0xa3, 0x32, 0xb3, 0xc4, 0x46, 0x98, 0xa9, 0x57, 0x29, 0x76, 0xd5, 0x4e, - 0xd6, 0xea, 0xa2, 0x0f, 0x8f, 0x33, 0xdb, 0x15, 0x4b, 0x38, 0xbd, 0x69, 0x5d, 0x63, 0xf5, 0x29, - 0xbe, 0x3b, 0x9a, 0x1d, 0x72, 0x78, 0x3d, 0xcc, 0x90, 0x7f, 0x97, 0x32, 0xa0, 0xf3, 0x9f, 0xae, - 0xc6, 0x66, 0x19, 0x84, 0x9c, 0x38, 0x13, 0x12, 0xa6, 0x43, 0x83, 0x23, 0x0a, 0x1f, 0xac, 0x07, - 0xa0, 0xb4, 0x04, 0xbf, 0x46, 0x82, 0xb4, 0x12, 0x97, 0x1d, 0x15, 0xc8, 0x7e, 0xc5, 0xdd, 0x68, - 0x07, 0x7f, 0xb2, 0xe6, 0xa6, 0xd6, 0xa1, 0x65, 0x30, 0x43, 0x61, 0x09, 0x54, 0xb5, 0x07, 0x5c, - 0xd1, 0x88, 0x25, 0x44, 0x45, 0x70, 0x40, 0x70, 0x52, 0x6a, 0xf2, 0x9d, 0xc0, 0x10, 0x23, 0x91, - 0x3d, 0x20, 0xac, 0xe9, 0xab, 0x0a, 0x8d, 0x5e, 0x23, 0xe5, 0x1d, 0x51, 0x63, 0x44, 0x0e, 0x1a, - 0xe6, 0xae, 0xdd, 0xb3, 0x19, 0xe0, 0x83, 0x10, 0xf7, 0x45, 0x0f, 0x6d, 0x95, 0x73, 0x2b, 0x94, - 0x59, 0x0c, 0x2c, 0x40, 0x54, 0x3c, 0xa5, 0xc6, 0x2e, 0x56, 0x6a, 0x4e, 0x0e, 0x76, 0x49, 0xe8, - 0x7c, 0x72, 0xd1, 0x56, 0x55, 0xc5, 0x6c, 0x67, 0x6d, 0xaf, 0x8b, 0x4f, 0x92, 0x4b, 0x2f, 0xdc, - 0xd3, 0xaf, 0x0f, 0x70, 0x75, 0x56, 0x01, 0x4e, 0x01, 0x37, 0xbe, 0xd3, 0xde, 0x2f, 0x7a, 0x13, - 0x08, 0x4f, 0x37, 0x8c, 0x8b, 0xd3, 0x70, 0xda, 0x06, 0x26, 0xe2, 0xe1, 0x5f, 0x61, 0x75, 0xb4, - 0x9c, 0x4a, 0xbe, 0xe8, 0x08, 0xc3, 0x22, 0x2b, 0xf1, 0x4e, 0xe9, 0x26, 0xb0, 0xf2, 0xf8, 0x8e, - 0xe7, 0xb2, 0x36, 0x25, 0x94, 0xb9, 0x7f, 0x2c, 0x0e, 0x68, 0xcf, 0x77, 0x70, 0x54, 0x19, 0xcb, - 0xf3, 0x2d, 0x26, 0x88, 0x65, 0x0c, 0xe7, 0xd0, 0x8f, 0x3a, 0xfe, 0x24, 0x57, 0xaf, 0x45, 0x33, - 0xa2, 0xad, 0xdd, 0xc8, 0xa6, 0xdf, 0x65, 0xed, 0x2b, 0xab, 0x47, 0xc1, 0x41, 0xd2, 0xcd, 0x67, - 0x95, 0x6c, 0x5b, 0x7a, 0x09, 0xb8, 0x93, 0x63, 0xfe, 0x87, 0xb5, 0x48, 0x4c, 0x4e, 0x07, 0xdf, - 0x8e, 0x05, 0xc3, 0x63, 0xc5, 0xd8, 0xab, 0xb0, 0xaa, 0x1d, 0x77, 0x47, 0xab, 0xe2, 0x7e, 0x7f, - 0xc4, 0x3b, 0xdf, 0xc7, 0xcc, 0xbc, 0xe5, 0x19, 0xf4, 0xfc, 0xa8, 0x54, 0xd7, 0xf0, 0x33, 0x93, - 0x8c, 0x70, 0x4f, 0x02, 0xb4, 0x87, 0x59, 0xf1, 0x43, 0x4b, 0xe9, 0x65, 0x47, 0x7c, 0x90, 0x46, - 0x39, 0x7b, 0x4e, 0x7a, 0x78, 0xcc, 0xe9, 0xed, 0x10, 0x32, 0x54, 0x86, 0xf0, 0xb2, 0xfc, 0x96, - 0x88, 0xfe, 0xb5, 0x77, 0xf0, 0x6f, 0x8c, 0x31, 0xf6, 0x0c, 0xca, 0xe7, 0x09, 0x9d, 0x18, 0x49, - 0xd8, 0x0a, 0x8f, 0x0d, 0x60, 0xf9, 0xf5, 0x6d, 0x01, 0x07, 0xea, 0x51, 0xca, 0xc6, 0x65, 0xfd, - 0x6f, 0x4a, 0x36, 0xb0, 0x51, 0xad, 0x1e, 0x6e, 0x5f, 0xef, 0xb4, 0x72, 0x8a, 0xd4, 0x48, 0x49, - 0xe3, 0x00, 0x44, 0x83, 0xf5, 0x58, 0xf1, 0x01, 0xfa, 0x4a, 0xb7, 0x56, 0x03, 0xad, 0xbd, 0x97, - 0x03, 0x85, 0x08, 0x73, 0x60, 0xd6, 0x46, 0x05, 0x41, 0xa0, 0xff, 0xeb, 0x32, 0xf3, 0x06, 0x6a, - 0x79, 0xcd, 0x02, 0xd2, 0x1b, 0x22, 0xc9, 0xc0, 0xec, 0x0c, 0x0b, 0x76, 0x7c, 0x9e, 0xc4, 0xa1, - 0xea, 0xaa, 0x30, 0x0e, 0x08, 0xaf, 0x94, 0xfe, 0x6a, 0x6e, 0xca, 0xa5, 0x31, 0x6c, 0x79, 0xa1, - 0xac, 0x08, 0x60, 0x1d, 0x03, 0x8f, 0x33, 0x78, 0xfb, 0xee, 0x4b, 0x45, 0x9a, 0x06, 0x1c, 0x71, - 0x88, 0x3e, 0x76, 0x77, 0x91, 0x8c, 0x74, 0x78, 0xbb, 0x13, 0x69, 0x66, 0xc6, 0x8a, 0x45, 0x13, - 0x58, 0x2a, 0x19, 0x4c, 0x1c, 0xf8, 0x67, 0x56, 0x2a, 0x6e, 0xb1, 0x9e, 0xff, 0x41, 0x73, 0x03, - 0x52, 0xaf, 0x94, 0x60, 0x3d, 0xe7, 0x33, 0x76, 0xa6, 0x3c, 0x04, 0x99, 0x16, 0x96, 0x6a, 0x75, - 0x25, 0x28, 0xa4, 0x59, 0xac, 0xe2, 0x0e, 0xbe, 0xf5, 0xe8, 0x53, 0x23, 0x7a, 0x13, 0x38, 0x29, - 0xa9, 0xe9, 0x28, 0x2f, 0x2e, 0xeb, 0xe3, 0xf9, 0xb5, 0x3e, 0xe7, 0xe4, 0x08, 0xf3, 0x31, 0xd7, - 0xac, 0xc7, 0xe1, 0x68, 0x3f, 0x34, 0x36, 0x02, 0x1a, 0x35, 0xa4, 0xa0, 0xb0, 0x26, 0x43, 0x88, - 0x30, 0xcf, 0xc0, 0xd0, 0x11, 0xb1, 0xa9, 0x6f, 0xab, 0xd0, 0x4d, 0xe0, 0xfa, 0xfd, 0x3d, 0x14, - 0x25, 0x36, 0xb9, 0x57, 0x01, 0xe6, 0x25, 0x74, 0xa7, 0xc0, 0x2a, 0x66, 0x0c, 0xa5, 0x00, 0x87, - 0x79, 0x4e, 0x96, 0xca, 0xff, 0x03, 0x41, 0x2c, 0x17, 0xb4, 0x47, 0xb1, 0x09, 0x37, 0x81, 0x36, - 0xca, 0xf6, 0x2f, 0xba, 0x31, 0xd7, 0x0f, 0x15, 0xc2, 0xdc, 0x48, 0x29, 0xed, 0x27, 0xb3, 0x1c, - 0x69, 0x54, 0xf8, 0xc4, 0x7f, 0x4a, 0x69, 0x63, 0x58, 0x24, 0xa2, 0x46, 0x7f, 0xfe, 0x97, 0xa1, - 0xe9, 0xb2, 0x70, 0x95, 0x89, 0xbc, 0x43, 0x8a, 0x40, 0x8f, 0xce, 0x58, 0xec, 0xeb, 0xa4, 0xa0, - 0x6a, 0x29, 0xad, 0x93, 0x97, 0xaf, 0x60, 0xcd, 0x74, 0x9c, 0x40, 0x26, 0x85, 0x28, 0x81, 0x8d, - 0x0f, 0x27, 0xc2, 0x9a, 0x39, 0xf0, 0x33, 0x17, 0xe2, 0x3f, 0x94, 0x96, 0x87, 0xe2, 0xda, 0x39, - 0x97, 0xfe, 0xf5, 0x29, 0x96, 0xe6, 0xce, 0x4f, 0x61, 0x48, 0x1c, 0xc6, 0xa1, 0xf0, 0x16, 0xcb, - 0x23, 0x71, 0x98, 0x02, 0xa7, 0x7b, 0x05, 0x8b, 0xab, 0x60, 0x5c, 0xd8, 0x61, 0xbb, 0x5a, 0x9d, - 0xd0, 0x01, 0xe7, 0xe8, 0x35, 0xa4, 0x05, 0x9a, 0x59, 0xba, 0x6a, 0x0c, 0x21, 0x51, 0xf8, 0xc4, - 0x9a, 0x16, 0x41, 0x77, 0x6b, 0x90, 0xf7, 0x36, 0xf7, 0x37, 0xdf, 0x3e, 0x17, 0xdd, 0xff, 0xee, - 0x09, 0xe8, 0xaf, 0x2a, 0x17, 0x32, 0xee, 0xfd, 0x29, 0xbf, 0xd8, 0x32, 0xd6, 0xf3, 0xa7, 0x51, - 0xb3, 0xad, 0xcc, 0xff, 0x8d, 0xdb, 0xe2, 0xd9, 0x7a, 0xf2, 0xda, 0xa0, 0xfd, 0x6e, 0x28, 0x11, - 0x79, 0x6b, 0x7d, 0x51, 0xca, 0x11, 0x49, 0xb6, 0xe8, 0x1b, 0xb4, 0x4b, 0x77, 0xcf, 0xe9, 0xd8, - 0xbd, 0xf1, 0x84, 0x08, 0x8c, 0xa2, 0xe7, 0xcf, 0xb6, 0x48, 0x32, 0x21, 0x1b, 0xa8, 0xaf, 0x46, - 0x35, 0x3b, 0x0a, 0x67, 0x44, 0x7c, 0x5c, 0x78, 0x28, 0xce, 0x77, 0x49, 0xe5, 0xc5, 0x71, 0x80, - 0x94, 0xeb, 0x3b, 0xe8, 0x0c, 0xb6, 0xa9, 0x54, 0x6c, 0xab, 0x57, 0x2f, 0xe3, 0xf1, 0xf8, 0xef, - 0xab, 0x0a, 0xfb, 0x6a, 0x76, 0xe9, 0x9d, 0xe8, 0xed, 0xe7, 0x17, 0xa6, 0x05, 0x78, 0xf6, 0x24, - 0x49, 0x06, 0xd9, 0x26, 0xc1, 0x0d, 0x96, 0x2b, 0x0a, 0x0e, 0x74, 0x66, 0x8f, 0xc2, 0x5b, 0x09, - 0x09, 0x9c, 0x2e, 0x8d, 0x50, 0x68, 0x1f, 0x05, 0x90, 0xb7, 0xe8, 0x9d, 0x26, 0x67, 0x41, 0xcd, - 0x96, 0xda, 0x7d, 0x86, 0xce, 0x1b, 0x6f, 0xd6, 0x67, 0x39, 0xcc, 0x7d, 0x4a, 0xc5, 0x04, 0xf8, - 0x21, 0x33, 0x6a, 0x7f, 0xcc, 0xda, 0x43, 0x4c, 0x92, 0x53, 0xe2, 0x13, 0xd2, 0x20, 0x65, 0x5e, - 0x75, 0x00, 0x7a, 0x11, 0x81, 0x71, 0xea, 0x21, 0xfe, 0x35, 0xd8, 0x49, 0xf5, 0x7f, 0xc1, 0x4b, - 0xd7, 0x42, 0x89, 0x65, 0x59, 0x01, 0xdd, 0x29, 0x1f, 0x75, 0xec, 0x6f, 0x5f, 0xde, 0xd0, 0xd1, - 0x3c, 0xa8, 0xef, 0x75, 0xdb, 0x82, 0xfd, 0xae, 0x3f, 0x7e, 0xf8, 0xe1, 0x43, 0x0c, 0xb2, 0x21, - 0x1d, 0x93, 0x0a, 0xe6, 0xee, 0x18, 0xe9, 0xeb, 0x59, 0xfe, 0x03, 0x0b, 0x67, 0xfa, 0x00, 0x90, - 0x87, 0x3e, 0xcd, 0xf4, 0xbe, 0xd4, 0x17, 0xe0, 0x50, 0xe4, 0x2c, 0x33, 0xc9, 0x62, 0x5f, 0xc9, - 0x4f, 0x19, 0x1a, 0xb2, 0x3f, 0xbe, 0x4a, 0x12, 0x6e, 0x9f, 0x5e, 0x2e, 0xa1, 0x06, 0x2b, 0x1a, - 0x75, 0x29, 0xf6, 0xdf, 0x68, 0x8b, 0x31, 0xcf, 0xcc, 0x76, 0x1a, 0xc5, 0x80, 0x44, 0x45, 0xf2, - 0xd2, 0x11, 0x71, 0xce, 0x91, 0xc0, 0xb9, 0x37, 0x46, 0x4e, 0xd0, 0x9e, 0x75, 0xff, 0x54, 0x42, - 0x99, 0x1d, 0x51, 0xb4, 0x51, 0xf3, 0xf8, 0x55, 0xf8, 0xd9, 0x30, 0xdd, 0xdd, 0x7a, 0x4f, 0x74, - 0xe2, 0xce, 0xe8, 0x7d, 0x7a, 0x23, 0xa1, 0xf6, 0xe7, 0x0b, 0x56, 0xd0, 0x8f, 0xa0, 0x09, 0xea, - 0x7b, 0x15, 0x95, 0xb3, 0xcb, 0xe6, 0xb9, 0xbd, 0xd3, 0x7b, 0x66, 0xc7, 0xca, 0xe9, 0xc4, 0xbe, - 0x2b, 0xac, 0xef, 0xed, 0x28, 0x3d, 0xb3, 0x7e, 0xe2, 0x2c, 0x32, 0x45, 0x4a, 0x1a, 0x2a, 0xab, - 0x5b, 0xed, 0xce, 0x43, 0xbc, 0x01, 0x27, 0x9e, 0x92, 0xfe, 0x1b, 0x2b, 0x9a, 0x5b, 0x0d, 0x13, - 0x64, 0xd4, 0x7d, 0x1c, 0x6e, 0x4c, 0x20, 0x10, 0xb1, 0x62, 0xf1, 0xa9, 0xb3, 0x49, 0xd7, 0x72, - 0xfc, 0x30, 0x9d, 0x1b, 0xe5, 0x2e, 0xf3, 0xb4, 0x2d, 0x5a, 0xbe, 0x2d, 0x84, 0x13, 0x39, 0x1d, - 0x43, 0xa2, 0xe2, 0x80, 0xa2, 0x9b, 0xe2, 0x6a, 0xea, 0x40, 0xf2, 0x67, 0xb9, 0x7f, 0x65, 0x75, - 0xdc, 0x32, 0x1b, 0xe7, 0x2f, 0x03, 0x59, 0xc3, 0xd8, 0xb8, 0xfe, 0x6e, 0xae, 0x08, 0xfb, 0x14, - 0x27, 0x45, 0x8a, 0xc1, 0xad, 0xba, 0x09, 0x39, 0x90, 0x85, 0xa3, 0x7e, 0x13, 0x69, 0x0b, 0x20, - 0x91, 0xb0, 0x30, 0xb2, 0x02, 0xf5, 0x6b, 0xcf, 0x54, 0x4f, 0x3e, 0xaf, 0xab, 0xf0, 0x38, 0x7a, - 0xd3, 0xf2, 0xa3, 0x09, 0x7e, 0x70, 0x83, 0x2d, 0xce, 0x7f, 0x43, 0x7b, 0x04, 0x52, 0x07, 0x9e, - 0x3a, 0xd5, 0xd9, 0xa5, 0xe9, 0xfe, 0x97, 0x27, 0x81, 0x67, 0x97, 0xb5, 0x22, 0x9d, 0xbd, 0xf4, - 0x66, 0x0c, 0x7f, 0xfd, 0x41, 0x11, 0x1c, 0x54, 0xf6, 0x60, 0x29, 0x17, 0xc9, 0x4c, 0x41, 0x28, - 0xda, 0x81, 0x6c, 0xcf, 0xb4, 0x89, 0x15, 0xad, 0x86, 0x0a, 0x2d, 0xd1, 0xe5, 0x00, 0xc1, 0x06, - 0xd0, 0xb5, 0x6b, 0x0f, 0xe3, 0xd2, 0x61, 0xd8, 0x02, 0xff, 0x3e, 0xbe, 0xc5, 0xa9, 0xd9, 0xb6, - 0x28, 0xd2, 0xf6, 0xf3, 0xe1, 0xf3, 0xd8, 0x26, 0xb9, 0x7f, 0xdc, 0x8b, 0x14, 0x4e, 0x66, 0xcb, - 0xed, 0xd2, 0x99, 0x1c, 0x97, 0x62, 0xa7, 0x98, 0xd1, 0x68, 0xd0, 0x43, 0x87, 0x11, 0x47, 0xf5, - 0xd9, 0x73, 0xbe, 0x19, 0x56, 0x3b, 0x35, 0xf9, 0xa6, 0x5b, 0x2f, 0x91, 0xb7, 0xf6, 0x67, 0xeb, - 0xb4, 0x81, 0x9a, 0xba, 0x5d, 0x3d, 0xe6, 0xa3, 0xd1, 0xd7, 0x3f, 0x93, 0x6f, 0xaa, 0x72, 0x99, - 0x3a, 0x82, 0xad, 0x12, 0x55, 0xb9, 0x47, 0x1b, 0x06, 0x45, 0xff, 0x05, 0xdb, 0x0e, 0x15, 0x71, - 0x6d, 0xa5, 0xec, 0x66, 0xcd, 0x9b, 0x8a, 0x13, 0x94, 0x19, 0xec, 0x8b, 0x81, 0x23, 0x18, 0x05, - 0xe0, 0xc0, 0xca, 0x6e, 0x23, 0xc2, 0xda, 0x5b, 0x3e, 0x7b, 0x05, 0x13, 0xc4, 0x7c, 0x1d, 0x91, - 0x4c, 0x85, 0xc2, 0x5a, 0x56, 0x22, 0xdd, 0x80, 0x6d, 0xbe, 0xfc, 0xa9, 0x98, 0xf2, 0xac, 0x06, - 0x96, 0xdd, 0xdf, 0xeb, 0xf9, 0xc6, 0x7d, 0xf8, 0xc1, 0xa5, 0xa6, 0xee, 0xb7, 0xa0, 0xd0, 0x02, - 0x3f, 0x7a, 0x31, 0x75, 0x56, 0xcb, 0x99, 0x81, 0x77, 0xe8, 0x00, 0x7e, 0x65, 0x9b, 0xe3, 0xc8, - 0x95, 0xf4, 0x83, 0xc2, 0x7e, 0x08, 0x68, 0x8d, 0x9d, 0x75, 0x5a, 0x71, 0x75, 0x2b, 0x4e, 0x4c, - 0x68, 0x57, 0x02, 0xb3, 0xc4, 0xee, 0xc1, 0xbf, 0x61, 0x7c, 0xe7, 0xb5, 0xee, 0x92, 0xa2, 0x4b, - 0x2f, 0xef, 0x77, 0x72, 0xfa, 0xc1, 0xa9, 0xe4, 0x2f, 0x79, 0x2f, 0x11, 0x58, 0x73, 0x17, 0x19, - 0xf4, 0xba, 0x55, 0xfd, 0x80, 0x30, 0xff, 0x90, 0x24, 0x68, 0x0e, 0x82, 0xad, 0xdc, 0xbf, 0x8e, - 0x6f, 0x3a, 0xf6, 0x62, 0x1c, 0xe4, 0xa6, 0xd7, 0xa4, 0x86, 0x55, 0x9a, 0xe7, 0xb0, 0x0c, 0xb3, - 0xd0, 0x5f, 0x27, 0x59, 0xaa, 0x7e, 0xa4, 0xe3, 0x77, 0x44, 0xac, 0x7b, 0x63, 0xc8, 0x6d, 0x15, - 0x34, 0x1d, 0x8a, 0xfa, 0x8f, 0x83, 0x56, 0x6a, 0x3a, 0x97, 0x86, 0x06, 0x14, 0x11, 0xe0, 0x9f, - 0xc6, 0xf4, 0x49, 0x75, 0xb9, 0x54, 0x69, 0xa0, 0xdc, 0x91, 0xf2, 0x69, 0x3c, 0x9a, 0x02, 0x46, - 0x5d, 0xbf, 0xc1, 0xc3, 0x89, 0xab, 0x59, 0x59, 0x4a, 0x93, 0x6d, 0x6a, 0x00, 0xad, 0x93, 0x26, - 0x9b, 0x3f, 0xfe, 0x24, 0x74, 0x19, 0x35, 0x9b, 0xdb, 0x41, 0x1b, 0x7d, 0x31, 0x8e, 0xcc, 0x53, - 0x80, 0x8a, 0x69, 0xae, 0xec, 0xe0, 0x0e, 0xa1, 0xad, 0xf5, 0xc3, 0x33, 0x6f, 0xc8, 0x4f, 0x18, - 0x6b, 0x83, 0x21, 0x3b, 0x7d, 0xdb, 0xb7, 0xf2, 0x0b, 0xf1, 0xf0, 0x63, 0xec, 0x38, 0x9c, 0x1d, - 0x5d, 0xe3, 0x99, 0xa7, 0x7b, 0x18, 0x7d, 0x1d, 0xc1, 0x87, 0x61, 0x6c, 0xb8, 0x27, 0xe9, 0x59, - 0xc2, 0xe0, 0x2b, 0x25, 0x32, 0x9a, 0xaa, 0xda, 0x86, 0xc8, 0x03, 0x59, 0xdf, 0xcb, 0x82, 0x9e, - 0x21, 0x6e, 0xaa, 0x38, 0xc3, 0xb5, 0x15, 0x0c, 0x11, 0x94, 0xfa, 0xed, 0x27, 0x57, 0x1d, 0xc3, - 0x1f, 0xfe, 0x11, 0x37, 0xca, 0x4a, 0x86, 0x92, 0xa5, 0xc9, 0x67, 0x61, 0xfa, 0x90, 0xd7, 0x87, - 0x26, 0xdc, 0xc3, 0x25, 0x02, 0x3e, 0x02, 0x84, 0x99, 0xec, 0x02, 0xff, 0x03, 0xd4, 0xc5, 0x05, - 0xbb, 0xcc, 0x1b, 0x16, 0xe4, 0x13, 0xcc, 0xfd, 0xd6, 0xfa, 0x6f, 0x7d, 0xad, 0xae, 0x45, 0x7a, - 0x60, 0x33, 0xdf, 0xa3, 0x4c, 0x08, 0xed, 0x8b, 0x0a, 0xb2, 0x24, 0x14, 0x74, 0xa5, 0x73, 0x7c, - 0x3f, 0xf2, 0x22, 0xfb, 0x1b, 0xb8, 0xc9, 0xba, 0xff, 0xa4, 0xf1, 0x00, 0x7d, 0x15, 0xba, 0x26, - 0xc2, 0x85, 0xc8, 0xa1, 0x8d, 0x91, 0x38, 0x9e, 0x34, 0x7e, 0xc9, 0xa0, 0xf3, 0xa1, 0xca, 0x4f, - 0x54, 0xfc, 0x1c, 0xb1, 0x00, 0x5b, 0x53, 0x73, 0x59, 0xd1, 0x9d, 0x17, 0xdc, 0x67, 0x00, 0x23, - 0xa7, 0xc2, 0x42, 0x07, 0xdb, 0x4d, 0x77, 0x36, 0x5a, 0xfa, 0x1a, 0x19, 0x58, 0x94, 0xde, 0xf8, - 0xd6, 0x17, 0x83, 0x14, 0xef, 0x24, 0xc2, 0x1c, 0xb2, 0x16, 0x7d, 0xc0, 0xd2, 0xbb, 0x3c, 0x95, - 0x33, 0x33, 0x38, 0x1e, 0x9e, 0x64, 0x2c, 0x1e, 0xea, 0x12, 0xbd, 0x3c, 0xeb, 0x7b, 0x6d, 0x35, - 0xc6, 0xe7, 0x7c, 0xe1, 0x4a, 0x30, 0xd8, 0x29, 0x1a, 0xc8, 0xf4, 0x90, 0xc2, 0x50, 0x9b, 0xfe, - 0x10, 0x96, 0xfc, 0x5e, 0x9f, 0x1b, 0xfa, 0xd9, 0x20, 0x9d, 0x69, 0xdc, 0x80, 0x89, 0x3e, 0x0d, - 0xfb, 0x6b, 0xac, 0xd7, 0xdd, 0x39, 0xba, 0xbd, 0xdc, 0x78, 0x53, 0xda, 0xa4, 0xd8, 0xc0, 0x0a, - 0xac, 0x0d, 0xb6, 0x53, 0x94, 0x34, 0x32, 0xae, 0xa2, 0x4d, 0x68, 0x00, 0x9e, 0x9e, 0x9e, 0x33, - 0x81, 0xb1, 0xa5, 0x86, 0xac, 0xa9, 0x41, 0xcf, 0xae, 0xae, 0x51, 0x80, 0x21, 0x38, 0xd7, 0x79, - 0x91, 0xf6, 0xab, 0xb3, 0x6a, 0x7d, 0x97, 0x1f, 0xb7, 0x79, 0x22, 0xb7, 0x4b, 0x19, 0xad, 0xed, - 0x35, 0x83, 0xae, 0x79, 0x4b, 0xf6, 0x82, 0xf8, 0xb0, 0x0a, 0x4a, 0x6e, 0x01, 0x89, 0x73, 0xb7, - 0x01, 0x65, 0x1c, 0xe8, 0x23, 0x8e, 0xb7, 0x54, 0x43, 0xe0, 0x4d, 0x9a, 0x34, 0x3f, 0xb4, 0x9d, - 0x6e, 0x85, 0x29, 0xb3, 0x04, 0x10, 0xf7, 0xbd, 0x21, 0x2d, 0x5a, 0x3d, 0x7e, 0x43, 0xfa, 0xda, - 0x69, 0x81, 0xe4, 0x35, 0x61, 0x3b, 0x34, 0x11, 0xdd, 0xf2, 0xb1, 0x0e, 0x79, 0xf6, 0x14, 0x89, - 0x27, 0x2a, 0xda, 0x8f, 0x21, 0xe9, 0x29, 0x36, 0xc9, 0x87, 0xd5, 0x73, 0x0e, 0x57, 0x16, 0xcc, - 0x29, 0xc3, 0x3b, 0xe8, 0x75, 0x4d, 0x07, 0x57, 0x50, 0x4c, 0x54, 0x11, 0x15, 0x12, 0x3c, 0x8b, - 0xd7, 0x55, 0x6b, 0x8d, 0xdd, 0x72, 0xa8, 0x74, 0x57, 0x51, 0x00, 0x7c, 0x3c, 0x97, 0xa9, 0x21, - 0x01, 0x95, 0xe9, 0x65, 0x57, 0xf1, 0xbc, 0x23, 0x10, 0xe9, 0x23, 0xd0, 0xd9, 0x55, 0x83, 0x48, - 0x42, 0xe9, 0x54, 0x2e, 0x34, 0x5a, 0x35, 0xca, 0x0e, 0xd2, 0x82, 0x86, 0x81, 0x29, 0x9b, 0xd2, - 0x9b, 0x5e, 0x26, 0x77, 0x13, 0x6b, 0xfe, 0xce, 0x5e, 0xcc, 0x75, 0x17, 0xad, 0x84, 0x87, 0x25, - 0x23, 0x9a, 0x62, 0x40, 0x12, 0xf6, 0x2b, 0xc9, 0xe5, 0x53, 0xd9, 0x35, 0xd5, 0x0a, 0xce, 0x7f, - 0x98, 0xd5, 0x44, 0x64, 0xfd, 0x3b, 0x3a, 0x1b, 0xbd, 0x5c, 0xce, 0x7a, 0xa3, 0xa7, 0x16, 0xcf, - 0x5f, 0xe4, 0x99, 0xb5, 0x10, 0x9e, 0x60, 0x1e, 0xab, 0xf5, 0x56, 0x34, 0x4c, 0x3b, 0x3b, 0xc3, - 0xc6, 0x6b, 0x2d, 0xb4, 0x76, 0x06, 0x2a, 0xd7, 0x57, 0x9b, 0x92, 0x7e, 0x65, 0x6e, 0x52, 0x19, - 0x3f, 0xb0, 0x3e, 0x7c, 0xa9, 0x14, 0x13, 0x2b, 0x03, 0x3d, 0xb1, 0xb3, 0x51, 0xf8, 0x27, 0xc9, - 0x12, 0x7c, 0xf8, 0x2c, 0x6f, 0xd4, 0x33, 0x97, 0xfb, 0x98, 0xe1, 0x65, 0x81, 0x27, 0xd4, 0xc8, - 0x23, 0x8b, 0xba, 0x12, 0xc9, 0x86, 0xe8, 0xd7, 0x77, 0xca, 0x2c, 0x0d, 0x4a, 0xc9, 0x07, 0x26, - 0xe8, 0x19, 0x5a, 0x4d, 0xb5, 0xfc, 0x04, 0x4d, 0xa3, 0x4a, 0x9b, 0xfd, 0x95, 0x31, 0xd9, 0x7b, - 0xa1, 0x15, 0x0f, 0x08, 0x27, 0xbd, 0xeb, 0x95, 0xe9, 0x12, 0xff, 0xc4, 0x58, 0x24, 0x13, 0x00, - 0xcd, 0x57, 0xc0, 0x2e, 0x4d, 0x48, 0xc0, 0x1b, 0x3b, 0xe0, 0xae, 0x42, 0xd2, 0x9c, 0x7e, 0xb8, - 0xae, 0x42, 0xb6, 0x07, 0x44, 0x80, 0xdc, 0xaf, 0x93, 0xbf, 0xf4, 0xd2, 0xe7, 0x82, 0x65, 0x6f, - 0x3b, 0xa3, 0x4a, 0xf1, 0x67, 0xd8, 0x74, 0x85, 0xa8, 0x94, 0x70, 0xd6, 0xfd, 0xea, 0xc9, 0xe0, - 0x1d, 0x60, 0xe5, 0x50, 0x17, 0x9c, 0x32, 0x59, 0xc2, 0xbf, 0xec, 0xbc, 0x23, 0xc8, 0x93, 0x00, - 0x06, 0x79, 0xb7, 0xd7, 0x28, 0x9c, 0xc7, 0x4c, 0xb9, 0xf6, 0x7d, 0x41, 0x9e, 0x08, 0xb7, 0xa7, - 0x1e, 0xb0, 0x04, 0xc5, 0x82, 0xd3, 0x51, 0x69, 0x34, 0xa3, 0xfd, 0x12, 0x8b, 0x8b, 0xe0, 0x8a, - 0x9d, 0x8f, 0x33, 0x35, 0x18, 0x58, 0x6f, 0xd0, 0x23, 0x44, 0x1e, 0x86, 0x54, 0x5b, 0x62, 0xe8, - 0x95, 0x1b, 0x73, 0xd0, 0xde, 0x6c, 0x11, 0x98, 0xff, 0xaa, 0x78, 0x45, 0x93, 0x8c, 0x0c, 0x9a, - 0x63, 0x0e, 0xc4, 0xef, 0xa4, 0x5e, 0x08, 0x4e, 0x61, 0xc5, 0x9c, 0x11, 0x31, 0x00, 0x5e, 0x62, - 0xbd, 0x90, 0x1b, 0xa7, 0x97, 0x0a, 0x1f, 0xf3, 0xb6, 0x04, 0x99, 0xd0, 0x53, 0x71, 0xdc, 0x07, - 0xc7, 0x8f, 0xbc, 0xfb, 0x99, 0x5e, 0xe9, 0x6a, 0x01, 0x8c, 0x21, 0x53, 0xac, 0x0e, 0xc8, 0x6b, - 0x3d, 0x79, 0xc5, 0xca, 0x7e, 0xbf, 0xa9, 0x42, 0x92, 0x72, 0x9e, 0x3a, 0xd5, 0x5f, 0x5c, 0x5d, - 0x96, 0x19, 0x2b, 0x08, 0xc4, 0xc4, 0x95, 0x5f, 0x34, 0x18, 0xa6, 0xd8, 0x55, 0x46, 0x0f, 0x94, - 0x6a, 0xb5, 0x39, 0x32, 0x45, 0x08, 0x71, 0xb0, 0xc3, 0x40, 0x9d, 0x1d, 0xf4, 0xf5, 0x35, 0x03, - 0x21, 0xc3, 0x93, 0x55, 0x8c, 0x6f, 0x30, 0x56, 0x85, 0x2d, 0xd4, 0xc0, 0x9d, 0xfb, 0xd2, 0x87, - 0xec, 0x79, 0x38, 0xb1, 0xaf, 0xa7, 0xfe, 0x20, 0xdd, 0x8c, 0xca, 0x90, 0x72, 0x16, 0xdc, 0x75, - 0x04, 0x6d, 0x18, 0x7c, 0x85, 0x7e, 0x56, 0x3c, 0x21, 0x44, 0xa3, 0x53, 0xa1, 0xd8, 0xab, 0xe1, - 0xad, 0x76, 0x78, 0x1c, 0xdb, 0xf0, 0xd1, 0x32, 0x9d, 0xa6, 0x04, 0x55, 0x58, 0x79, 0xd2, 0x57, - 0xb0, 0xe5, 0xe4, 0xc9, 0xae, 0xfa, 0x7c, 0x1e, 0xee, 0xed, 0x05, 0xec, 0x91, 0x70, 0x36, 0xc4, - 0x1b, 0xa5, 0xce, 0x3b, 0x87, 0x37, 0x8f, 0xc2, 0x4f, 0x04, 0xd6, 0x4c, 0x65, 0x29, 0xa4, 0x87, - 0xfb, 0xaf, 0x38, 0x2f, 0x85, 0x7d, 0xf8, 0x12, 0x3c, 0x26, 0xe7, 0x15, 0x4e, 0xc3, 0x68, 0xf2, - 0x93, 0xd6, 0x45, 0x07, 0x7d, 0x85, 0xbc, 0xa3, 0xa5, 0x60, 0x3a, 0x44, 0x50, 0xc7, 0xd2, 0xff, - 0xa1, 0xf2, 0xbc, 0x20, 0xfd, 0x0a, 0xad, 0xf7, 0xc5, 0xca, 0xce, 0x5d, 0x95, 0x7a, 0x92, 0x24, - 0x35, 0x54, 0xc8, 0xd2, 0x7e, 0xca, 0xaf, 0xf1, 0x0c, 0x63, 0xd1, 0x0e, 0x47, 0xff, 0x1e, 0x07, - 0x48, 0xd7, 0xe9, 0x26, 0x18, 0x50, 0x43, 0x78, 0x49, 0xa3, 0x2f, 0x22, 0x7a, 0xa8, 0x59, 0x1c, - 0x8c, 0x1c, 0xbd, 0x4b, 0xcc, 0xe2, 0xf4, 0x5f, 0x41, 0x52, 0x7d, 0x3f, 0x61, 0x13, 0x05, 0x5f, - 0xa8, 0x21, 0x2a, 0x5a, 0x2f, 0x14, 0x54, 0x39, 0xee, 0x32, 0x7f, 0xec, 0xf0, 0x1a, 0x43, 0x1d, - 0x8c, 0x8b, 0xb2, 0x02, 0xd5, 0x68, 0x6c, 0xc5, 0x15, 0x2c, 0x50, 0xc2, 0xb3, 0xa5, 0x69, 0x79, - 0x38, 0x92, 0xec, 0xf7, 0xbb, 0x9c, 0xbe, 0xd8, 0x18, 0x30, 0x96, 0xbc, 0x6d, 0x14, 0xcc, 0x86, - 0x14, 0x71, 0x82, 0x1a, 0x29, 0x08, 0xdb, 0x60, 0x7b, 0x2b, 0x14, 0x83, 0x9c, 0xcd, 0xeb, 0xac, - 0x5d, 0x81, 0xb3, 0xad, 0x1c, 0xe3, 0x35, 0x3a, 0xdd, 0xcf, 0x7f, 0xa8, 0x72, 0x8a, 0x17, 0x9e, - 0x49, 0x9e, 0x6b, 0x4d, 0x3d, 0x82, 0x7b, 0x76, 0xcf, 0xc9, 0xf5, 0xeb, 0xa2, 0x14, 0xcc, 0xee, - 0xd9, 0x15, 0x56, 0x6c, 0x80, 0x3c, 0xbc, 0x4b, 0x73, 0x04, 0xe4, 0x4a, 0xd2, 0xce, 0x90, 0xb7, - 0xf9, 0x7e, 0xba, 0xc2, 0x84, 0x9a, 0xcf, 0x17, 0xc6, 0xe1, 0xc4, 0x8e, 0x80, 0xfe, 0x80, 0xd6, - 0x41, 0x5d, 0x84, 0x6d, 0xd2, 0x32, 0xab, 0xed, 0x4f, 0x9c, 0xf1, 0x5e, 0xbf, 0xac, 0xe7, 0x04, - 0xda, 0x07, 0x9d, 0x6c, 0xa1, 0xaa, 0x66, 0x62, 0x50, 0xd6, 0x8e, 0xd9, 0xe6, 0xb3, 0x2f, 0xac, - 0xee, 0x5d, 0x91, 0x52, 0x05, 0xa3, 0x73, 0x80, 0xfe, 0xc3, 0x64, 0x6f, 0xca, 0x8a, 0x5d, 0xf7, - 0xd5, 0x55, 0x55, 0x66, 0x9a, 0x63, 0x50, 0xf7, 0x89, 0xa1, 0x1c, 0x6e, 0x47, 0x36, 0xee, 0x58, - 0x5b, 0xe5, 0x6e, 0x1f, 0x9b, 0x46, 0x39, 0xb6, 0x5e, 0xd4, 0x19, 0x46, 0xec, 0x48, 0xd3, 0x39, - 0x76, 0xc4, 0xff, 0x2f, 0xaa, 0x8b, 0x27, 0x38, 0x37, 0x09, 0x3b, 0xfc, 0x49, 0xd1, 0xcb, 0x75, - 0x1a, 0x5a, 0x96, 0x52, 0x36, 0x66, 0xa7, 0xe3, 0x6c, 0x49, 0x06, 0x6f, 0xc5, 0xfe, 0xd6, 0x44, - 0x82, 0x31, 0xaa, 0x75, 0x26, 0x63, 0x50, 0x05, 0xdc, 0x0e, 0xc8, 0xcb, 0x3e, 0x5f, 0xbe, 0x0c, - 0x11, 0xbf, 0x13, 0x9a, 0xec, 0x84, 0xf2, 0xad, 0x74, 0x80, 0x88, 0x2e, 0xfb, 0xbf, 0xb8, 0x3b, - 0x1f, 0xda, 0xfe, 0xaf, 0xa9, 0xcb, 0x7f, 0xdd, 0x1e, 0x1d, 0x79, 0xbf, 0x14, 0xc0, 0xe6, 0x8a, - 0x70, 0x44, 0x51, 0xcc, 0x99, 0xac, 0x99, 0xdc, 0xa0, 0x33, 0x79, 0x23, 0x9b, 0x9e, 0x9a, 0x2a, - 0x9a, 0xc4, 0x6c, 0x61, 0x69, 0xfb, 0x83, 0xe7, 0x94, 0xec, 0x31, 0xda, 0x4e, 0xc0, 0xb8, 0xb3, - 0x22, 0xdc, 0x3b, 0x93, 0x3e, 0x42, 0x32, 0x30, 0x69, 0x67, 0x73, 0x3e, 0x36, 0x80, 0xff, 0xe1, - 0x54, 0x85, 0x12, 0x8d, 0xb8, 0xba, 0x6e, 0x05, 0x32, 0x71, 0x56, 0xe0, 0xfa, 0xe0, 0xbc, 0xc8, - 0xb4, 0x98, 0x8b, 0xdd, 0x97, 0x9b, 0x01, 0xc3, 0x30, 0x9e, 0x1a, 0x80, 0x69, 0xa4, 0xf6, 0xeb, - 0x7f, 0x03, 0x56, 0xe0, 0x4d, 0xd0, 0xed, 0x78, 0xcf, 0x14, 0xff, 0x47, 0x73, 0xb1, 0x70, 0x9d, - 0xfe, 0x4e, 0xbc, 0x98, 0xbb, 0xe7, 0x98, 0x2e, 0x64, 0x3e, 0xf4, 0xf0, 0xbb, 0xd7, 0xde, 0xed, - 0xd5, 0x9f, 0xe1, 0x6c, 0xf5, 0x3f, 0x01, 0x17, 0x5d, 0x9e, 0xfd, 0x5e, 0x3a, 0x2f, 0xd0, 0x2a, - 0xf3, 0xf1, 0xe8, 0xea, 0x6f, 0x49, 0x7e, 0x6a, 0x88, 0xa2, 0x4d, 0x8f, 0xb2, 0x23, 0x98, 0xa4, - 0x79, 0x1c, 0x8d, 0x99, 0x91, 0xb1, 0x06, 0x28, 0x50, 0xb0, 0x10, 0xf1, 0x2b, 0x9d, 0x2a, 0xd6, - 0x38, 0xf0, 0xf4, 0xc3, 0x70, 0x49, 0xcf, 0x01, 0xf6, 0x5c, 0xd7, 0x20, 0x97, 0xb7, 0xbc, 0xfc, - 0x6f, 0x8f, 0x49, 0x51, 0xf3, 0x5e, 0xda, 0x5c, 0xb0, 0x85, 0x5c, 0xb8, 0x41, 0xf6, 0x4d, 0xfd, - 0xf8, 0x16, 0x0f, 0x54, 0x05, 0xaa, 0x41, 0x87, 0xec, 0x22, 0x0f, 0x3c, 0x0d, 0x80, 0x9f, 0xfa, - 0xee, 0x15, 0xff, 0xec, 0xf7, 0xca, 0xfd, 0x64, 0x53, 0xa3, 0xed, 0xb7, 0x6b, 0x22, 0x5b, 0x51, - 0xe7, 0x21, 0x95, 0x6e, 0xbf, 0x2d, 0xf9, 0x29, 0xbc, 0xa2, 0xe2, 0x95, 0xc6, 0xd5, 0x85, 0x16, - 0x65, 0x40, 0xee, 0xb9, 0x13, 0x09, 0xa3, 0xba, 0x22, 0xa8, 0x4a, 0xfc, 0x30, 0xb4, 0x51, 0xc6, - 0x34, 0x1a, 0x11, 0x92, 0x42, 0x55, 0x2b, 0xbd, 0x48, 0xaa, 0x14, 0xf8, 0x46, 0x2c, 0x47, 0x73, - 0x06, 0xb3, 0x64, 0x51, 0x59, 0x52, 0xa5, 0x75, 0xc2, 0xb3, 0x8e, 0x65, 0x11, 0x7b, 0xec, 0x77, - 0x85, 0x57, 0x52, 0xc1, 0x71, 0x59, 0xd6, 0xd3, 0x8b, 0xad, 0x2b, 0x5d, 0xb0, 0xf8, 0x87, 0x3f, - 0x96, 0x76, 0xbe, 0x3e, 0x89, 0x9b, 0xb0, 0x2f, 0x7a, 0xe3, 0xdb, 0x50, 0xb3, 0x08, 0x38, 0xe9, - 0xef, 0x72, 0xe7, 0x5e, 0x8e, 0x60, 0xdd, 0x52, 0xf5, 0x40, 0x76, 0xb3, 0x91, 0xef, 0x1f, 0x9d, - 0x81, 0x23, 0x19, 0x8f, 0x1f, 0x1d, 0xb4, 0x4f, 0xad, 0x92, 0x66, 0x0e, 0x8f, 0x99, 0x44, 0x34, - 0x3d, 0x7e, 0x52, 0x83, 0x9a, 0xe2, 0x5c, 0xc1, 0xdc, 0x47, 0x86, 0xd6, 0x9d, 0x02, 0x10, 0x6e, - 0x66, 0xfb, 0x45, 0x9f, 0x29, 0x21, 0xd0, 0x7c, 0x53, 0xd2, 0x6d, 0xde, 0xd2, 0xce, 0x99, 0x14, - 0xe7, 0x64, 0x14, 0x69, 0xd5, 0x6a, 0x76, 0xb0, 0x03, 0x9e, 0x58, 0x56, 0x0d, 0xd8, 0x6b, 0xc4, - 0x29, 0x46, 0xb5, 0x47, 0xe4, 0x7c, 0x89, 0x95, 0xa7, 0x83, 0xe7, 0x9d, 0x07, 0xda, 0x6f, 0x8a, - 0x76, 0x21, 0x77, 0xe1, 0x42, 0x07, 0xf3, 0xfa, 0xed, 0x47, 0x11, 0xf9, 0x0b, 0x11, 0x7c, 0x97, - 0x96, 0x0a, 0xff, 0x74, 0xc4, 0x49, 0x84, 0x69, 0x55, 0x78, 0x1f, 0x1a, 0xc5, 0x38, 0xfa, 0x94, - 0x45, 0x8f, 0x23, 0xa3, 0x9c, 0x95, 0xd7, 0x2d, 0x37, 0x6d, 0xb1, 0x76, 0x32, 0xd0, 0x75, 0x3e, - 0x9c, 0x52, 0xe4, 0xa2, 0x8f, 0xe3, 0x0d, 0x4c, 0xef, 0xc1, 0xd5, 0x86, 0x26, 0xa8, 0x82, 0x82, - 0xd0, 0xaf, 0x41, 0x6d, 0xe7, 0xd2, 0x38, 0x00, 0x84, 0x14, 0x3e, 0x14, 0x89, 0xf4, 0x41, 0x87, - 0x11, 0x7f, 0x42, 0x5f, 0x75, 0xf4, 0x67, 0x37, 0xcc, 0xdf, 0x5d, 0x23, 0x25, 0x26, 0x56, 0x61, - 0x21, 0xeb, 0xb1, 0x68, 0xea, 0xf5, 0xc2, 0x07, 0xc9, 0xc9, 0xf1, 0xe5, 0x33, 0x8f, 0xca, 0x12, - 0xde, 0x1e, 0xff, 0x53, 0xd0, 0x48, 0x34, 0x14, 0x88, 0x44, 0x09, 0xed, 0xdb, 0xf9, 0x56, 0x3f, - 0xe9, 0x16, 0x0c, 0x77, 0xa3, 0x1d, 0x1d, 0x6a, 0x7b, 0x38, 0x78, 0xdc, 0x09, 0x0c, 0x83, 0xa8, - 0x0f, 0x32, 0xab, 0x60, 0xa9, 0x48, 0x60, 0x0f, 0x1b, 0x94, 0x16, 0x48, 0xaf, 0x7a, 0x2a, 0x77, - 0x5b, 0xb7, 0xaa, 0x74, 0x82, 0x51, 0x2e, 0xdb, 0x53, 0xc1, 0x02, 0x8e, 0x67, 0x57, 0x37, 0x36, - 0x5e, 0xe4, 0x4c, 0x35, 0x2e, 0x19, 0xcf, 0x5f, 0xf9, 0x7d, 0x5d, 0x40, 0xa1, 0x7d, 0x5d, 0x06, - 0x54, 0x95, 0xdb, 0x0d, 0xef, 0xbf, 0xa7, 0xe8, 0x39, 0x8e, 0xdf, 0x00, 0xd5, 0x12, 0x96, 0x0b, - 0x83, 0x13, 0x95, 0x96, 0xfb, 0x90, 0xe8, 0x10, 0x2c, 0x72, 0x87, 0x61, 0xc3, 0x6a, 0xe4, 0x3a, - 0x53, 0x6e, 0x61, 0xc9, 0xb2, 0xf9, 0x0b, 0xf6, 0x6e, 0xae, 0x82, 0x35, 0x28, 0x52, 0x1b, 0xef, - 0x0a, 0x43, 0x0f, 0x21, 0x4c, 0x4d, 0x8e, 0xe3, 0x6d, 0x7a, 0xed, 0xfe, 0xa5, 0xdd, 0xc1, 0x5f, - 0xa6, 0xe2, 0xf8, 0x45, 0xd4, 0x38, 0xea, 0x70, 0xb2, 0xda, 0x78, 0x3d, 0xc7, 0x4e, 0xb3, 0x62, - 0x36, 0x98, 0x12, 0xf8, 0xcb, 0xae, 0x7d, 0xa6, 0xb6, 0x29, 0x0f, 0x0f, 0x57, 0x53, 0x07, 0xa3, - 0x46, 0xba, 0x46, 0x10, 0xdc, 0xf6, 0x40, 0xb5, 0x0e, 0x12, 0xb5, 0x12, 0x58, 0x5b, 0x49, 0xa8, - 0x33, 0x0b, 0x20, 0x57, 0xb6, 0xf5, 0x3c, 0x22, 0x02, 0x14, 0xc3, 0xcd, 0xd4, 0xcd, 0x1a, 0xa7, - 0xc5, 0xe9, 0xac, 0xa2, 0x9d, 0xaa, 0x64, 0xc8, 0xda, 0xd8, 0x21, 0x03, 0x5c, 0xe6, 0x69, 0xde, - 0xfc, 0x70, 0x1b, 0xdc, 0xbf, 0xe0, 0x78, 0x48, 0xae, 0x40, 0xfe, 0x64, 0x66, 0xa1, 0x35, 0x9f, - 0x7a, 0x01, 0x24, 0xa2, 0x28, 0x6e, 0x8b, 0x91, 0x6d, 0xaf, 0xf9, 0x4e, 0xdb, 0x44, 0x1a, 0xc1, - 0x76, 0xc1, 0xbf, 0x6f, 0xce, 0x4e, 0x9a, 0x8a, 0x58, 0x27, 0xa8, 0x09, 0x56, 0xdc, 0xc4, 0xf8, - 0xea, 0xfd, 0x57, 0x8a, 0x59, 0xad, 0x9c, 0x6a, 0xac, 0x20, 0xd1, 0xda, 0xf8, 0xaf, 0xa6, 0x8a, - 0x14, 0x86, 0x5b, 0xe4, 0xf9, 0xf4, 0x63, 0x1a, 0x3a, 0x4e, 0x4d, 0x4b, 0x5a, 0x28, 0x25, 0x3c, - 0x61, 0x94, 0x15, 0xba, 0x31, 0xd4, 0x21, 0xfc, 0x67, 0x1e, 0x0b, 0x40, 0x68, 0xc7, 0xea, 0xd8, - 0xed, 0x3b, 0x3d, 0x52, 0x3e, 0x95, 0x36, 0xca, 0x17, 0x70, 0x9e, 0xf6, 0xff, 0xa8, 0x0f, 0xeb, - 0xf5, 0xfb, 0x25, 0x7e, 0x33, 0x94, 0xa4, 0x8f, 0x0f, 0x41, 0x34, 0x4c, 0xfe, 0xe3, 0x8d, 0x8c, - 0x63, 0x2c, 0x5e, 0x23, 0xe0, 0x65, 0xee, 0x64, 0x5e, 0xf1, 0xb0, 0xa7, 0x97, 0x8d, 0x0d, 0xc4, - 0x93, 0x53, 0x70, 0xa9, 0xa4, 0x07, 0x27, 0xa3, 0xd9, 0x17, 0x83, 0xf9, 0x33, 0xaa, 0x94, 0xfd, - 0x15, 0x52, 0xae, 0xc1, 0x8e, 0x12, 0x6d, 0x5b, 0xc5, 0xcb, 0x95, 0x80, 0x77, 0xfe, 0xae, 0x89, - 0x15, 0x71, 0x6b, 0xc5, 0x12, 0xe2, 0x54, 0x3a, 0xec, 0xa1, 0xa0, 0x64, 0xd2, 0xc7, 0xe6, 0xa9, - 0xc5, 0xd4, 0xd9, 0xf3, 0xf1, 0x8c, 0xfc, 0xdf, 0x23, 0xbb, 0x23, 0xe5, 0x40, 0x47, 0xd9, 0x45, - 0x68, 0x52, 0xc6, 0xcd, 0x78, 0xff, 0x52, 0xe8, 0x00, 0xad, 0xb7, 0x79, 0xcd, 0xe9, 0xdd, 0x89, - 0xed, 0xc8, 0xd1, 0x99, 0x4a, 0xa9, 0x09, 0xfc, 0x6d, 0x1f, 0x52, 0x04, 0x69, 0xb6, 0xba, 0x39, - 0xf6, 0xc2, 0x29, 0x40, 0x25, 0xb5, 0x98, 0xa8, 0x20, 0xcd, 0xec, 0x97, 0x2d, 0xf7, 0x8f, 0xf7, - 0xec, 0x25, 0x80, 0x38, 0x0e, 0xd0, 0x21, 0x33, 0x7a, 0xd8, 0x99, 0x28, 0xca, 0x4a, 0x55, 0xd2, - 0xf7, 0x90, 0x7c, 0x33, 0xd4, 0xac, 0x3d, 0x0f, 0xe6, 0xfe, 0xcc, 0x88, 0xe5, 0x6e, 0xed, 0x1d, - 0x30, 0x1d, 0xf4, 0x33, 0xf3, 0x22, 0xf7, 0x31, 0x80, 0xa1, 0xdd, 0x86, 0xe7, 0x96, 0xa2, 0x28, - 0xe0, 0x72, 0x5f, 0x90, 0xf3, 0x36, 0xe3, 0x95, 0x06, 0x69, 0x18, 0x5d, 0xd8, 0x8b, 0xb7, 0xa6, - 0x9d, 0xb7, 0x70, 0xa0, 0xa4, 0x8d, 0x17, 0xdf, 0xbd, 0x6a, 0x21, 0x11, 0x5b, 0x1e, 0x07, 0xff, - 0xb8, 0x5c, 0x5f, 0xc1, 0xbf, 0xab, 0xfc, 0x24, 0x1c, 0xcc, 0x80, 0x18, 0x03, 0x08, 0xdb, 0x7c, - 0x89, 0x30, 0x97, 0x71, 0xae, 0xee, 0x0a, 0x25, 0x65, 0x2c, 0x86, 0x81, 0x28, 0xa4, 0xb3, 0xee, - 0x27, 0x8f, 0xae, 0x90, 0xf9, 0xca, 0x11, 0x23, 0x59, 0xb1, 0x0b, 0x90, 0xec, 0x11, 0x8f, 0x63, - 0xe8, 0x17, 0xc7, 0xb6, 0x4c, 0x2d, 0x11, 0xd8, 0xc7, 0xa9, 0xa3, 0xfd, 0xa0, 0x12, 0xb4, 0xe9, - 0x71, 0xf0, 0x12, 0x6f, 0x05, 0x2b, 0xb1, 0x7f, 0x50, 0xda, 0xb0, 0x88, 0xc3, 0x33, 0xb2, 0xbe, - 0xb6, 0x54, 0xe4, 0xda, 0x10, 0xff, 0x67, 0x1a, 0xb6, 0x6b, 0x06, 0x27, 0xb5, 0x17, 0xe2, 0x1d, - 0x56, 0xa6, 0x43, 0xf4, 0x28, 0x3b, 0x1b, 0x70, 0x8d, 0x2f, 0x79, 0x16, 0x33, 0x2e, 0xb1, 0xcc, - 0x75, 0x9e, 0xd8, 0x30, 0x51, 0xb3, 0xa6, 0x3e, 0x62, 0x42, 0x62, 0xd6, 0x72, 0xc6, 0xee, 0xbd, - 0x89, 0x71, 0xc3, 0x70, 0xd9, 0xfa, 0xf2, 0xc5, 0x6c, 0x45, 0x43, 0x93, 0x68, 0x99, 0xe1, 0xe9, - 0x75, 0x73, 0xe0, 0xe1, 0xac, 0xd0, 0x61, 0xfa, 0x84, 0x61, 0x55, 0xc6, 0x0e, 0xfd, 0x8d, 0x04, - 0x85, 0x59, 0x2f, 0x27, 0x07, 0xda, 0x4f, 0xb0, 0x93, 0x74, 0x33, 0xe5, 0x13, 0x21, 0x2e, 0x94, - 0x8e, 0x61, 0xa8, 0xf4, 0x93, 0x11, 0x2e, 0x11, 0xb0, 0x22, 0x27, 0x29, 0xe6, 0xb5, 0x7c, 0x66, - 0xb5, 0xe5, 0x87, 0xd4, 0x26, 0xdd, 0x7a, 0x86, 0xac, 0x77, 0x17, 0xb8, 0x62, 0xc9, 0x19, 0x22, - 0xd9, 0x83, 0xa6, 0xa4, 0xdd, 0xac, 0x5e, 0xf8, 0x7b, 0x4d, 0x9d, 0x28, 0x4e, 0xe4, 0x8c, 0x12, - 0xe5, 0x4c, 0x15, 0xb9, 0xcb, 0x74, 0x89, 0xed, 0x62, 0xe6, 0x8f, 0x78, 0xa2, 0x66, 0xe8, 0x6c, - 0xbe, 0xc2, 0xcf, 0x4a, 0x3e, 0xa8, 0x69, 0x9e, 0x1d, 0x5f, 0xa8, 0x3a, 0x5a, 0xb0, 0x55, 0x92, - 0xc2, 0xd2, 0x37, 0xaf, 0x4b, 0x29, 0x04, 0xfc, 0x42, 0x66, 0xc7, 0x16, 0x33, 0xeb, 0x12, 0xda, - 0x23, 0xcd, 0xb1, 0x08, 0x8d, 0x82, 0x28, 0x71, 0xd0, 0x3c, 0xa0, 0x6a, 0x39, 0x92, 0x33, 0xc4, - 0xc7, 0xa3, 0x74, 0x24, 0xdd, 0x41, 0x04, 0xf4, 0x2a, 0x9d, 0x1f, 0x4c, 0x48, 0x31, 0xbb, 0xa6, - 0xb0, 0xa4, 0x68, 0x98, 0x98, 0x2b, 0x55, 0x06, 0x63, 0xc1, 0x72, 0x88, 0xfb, 0xd1, 0x1a, 0xf8, - 0xe4, 0x21, 0x04, 0xa3, 0x6d, 0x07, 0x26, 0x02, 0x44, 0xf6, 0x7b, 0xb1, 0xf1, 0x2e, 0x7e, 0x16, - 0x80, 0x34, 0x8b, 0xd7, 0xb9, 0x23, 0x7b, 0x4a, 0xc5, 0xdd, 0x2e, 0x38, 0xff, 0x79, 0xab, 0x73, - 0xc9, 0xb6, 0xb3, 0x2f, 0x4f, 0x81, 0x7c, 0x19, 0x5e, 0xe7, 0x16, 0x57, 0x11, 0xfd, 0x24, 0x14, - 0x4f, 0xda, 0xbf, 0x13, 0xcc, 0x95, 0x26, 0x30, 0x50, 0xcc, 0xe4, 0x8b, 0x8b, 0xda, 0x38, 0x3b, - 0x58, 0x7f, 0x9a, 0x71, 0x03, 0x7e, 0xa0, 0x07, 0xc4, 0x8b, 0x87, 0x26, 0x32, 0xa1, 0x5d, 0x6b, - 0x7c, 0xdd, 0xe7, 0x01, 0x83, 0xe1, 0xd0, 0x3c, 0xdd, 0x60, 0x6a, 0x01, 0xfc, 0x5a, 0x2a, 0x7b, - 0xb7, 0xe6, 0x1a, 0x5d, 0x07, 0x85, 0xb0, 0xc5, 0xad, 0x24, 0x75, 0x5b, 0xd7, 0xa6, 0x04, 0x2b, - 0x13, 0x06, 0xd3, 0xd9, 0x09, 0x6d, 0x73, 0x16, 0xa2, 0x76, 0x64, 0x68, 0xcb, 0xb4, 0xa6, 0x28, - 0x78, 0x44, 0x8f, 0x92, 0x7b, 0x18, 0x18, 0x98, 0x8c, 0xc4, 0xa8, 0x66, 0x6a, 0xee, 0x82, 0xa1, - 0xa6, 0x36, 0x65, 0x4c, 0xb7, 0x47, 0xd8, 0x80, 0x68, 0x8e, 0x42, 0xd4, 0x4a, 0xde, 0x6c, 0xa2, - 0x95, 0xb3, 0x7d, 0x62, 0x74, 0x19, 0x1b, 0xcf, 0xcf, 0x01, 0x06, 0x37, 0x54, 0x56, 0x0d, 0x25, - 0x30, 0xd1, 0xac, 0xec, 0xb3, 0x09, 0x62, 0x22, 0x14, 0xf5, 0x54, 0xcd, 0x0f, 0xf1, 0x34, 0xfd, - 0x33, 0x92, 0x98, 0x77, 0xef, 0x76, 0xa7, 0xda, 0x15, 0xae, 0x8e, 0xe5, 0x6d, 0xf4, 0xda, 0x83, - 0x34, 0x66, 0x4c, 0x91, 0x83, 0x95, 0x4b, 0x26, 0xa4, 0xda, 0xbb, 0xd0, 0x3e, 0x32, 0x5a, 0x41, - 0x81, 0x56, 0x62, 0x72, 0x2d, 0xf4, 0x08, 0xfa, 0x8d, 0x95, 0x3b, 0x87, 0xd2, 0x1b, 0x9a, 0x91, - 0xff, 0x70, 0xd7, 0xfb, 0x26, 0x41, 0xcd, 0xa9, 0x67, 0xb2, 0xa8, 0xa3, 0x84, 0x74, 0x16, 0x0e, - 0x70, 0x45, 0x61, 0xa9, 0xa9, 0x77, 0x38, 0xa6, 0x20, 0xbb, 0xad, 0x9d, 0x4e, 0x09, 0x69, 0x8d, - 0x68, 0x12, 0xe9, 0x16, 0xfa, 0x47, 0xe0, 0x69, 0xdf, 0x0d, 0xc2, 0x11, 0x49, 0x1d, 0xab, 0x2b, - 0x80, 0x2d, 0x58, 0xfe, 0xe6, 0x4a, 0xa4, 0xd5, 0x03, 0x19, 0x90, 0xec, 0xd6, 0x8e, 0xf7, 0xc1, - 0xd6, 0xcc, 0x77, 0xd6, 0x7f, 0xb0, 0x06, 0x03, 0x55, 0x4a, 0xe1, 0xb5, 0x66, 0x09, 0x82, 0xf2, - 0x9a, 0x9f, 0x99, 0x15, 0xe0, 0x16, 0x6b, 0x41, 0xed, 0x04, 0xdd, 0x17, 0x90, 0x50, 0xec, 0x2f, - 0x6b, 0x94, 0xef, 0x04, 0xc4, 0x0c, 0x69, 0x79, 0x88, 0xbd, 0xe7, 0x3a, 0xb8, 0x2d, 0xf0, 0xc8, - 0x12, 0x6f, 0x05, 0x0b, 0x3e, 0xe0, 0x85, 0x06, 0xb1, 0x1a, 0xdc, 0x0d, 0x33, 0xd3, 0xb5, 0x3f, - 0x44, 0xed, 0xdc, 0x3e, 0x56, 0x31, 0x0e, 0x36, 0xfe, 0x47, 0xef, 0x8e, 0x10, 0xae, 0x92, 0x47, - 0x9e, 0xa1, 0x20, 0xb7, 0x58, 0x64, 0x82, 0xfc, 0x94, 0x4d, 0xb8, 0x3c, 0x8d, 0xdd, 0x91, 0x9d, - 0xe4, 0xcf, 0x3e, 0x19, 0xf1, 0xdc, 0x38, 0x68, 0x36, 0xb9, 0x00, 0x8e, 0xd9, 0xac, 0x7c, 0xe6, - 0x42, 0x7c, 0x51, 0x87, 0x56, 0xb9, 0x69, 0x0c, 0xef, 0xbc, 0x25, 0xc4, 0x99, 0x2e, 0x44, 0x9f, - 0x9b, 0xa1, 0x63, 0xe0, 0x3f, 0x8a, 0x71, 0xcd, 0x13, 0xb8, 0xf7, 0xe8, 0x95, 0x9c, 0x39, 0xdc, - 0xb6, 0x9b, 0x12, 0xe4, 0x6a, 0x3d, 0xfd, 0x3c, 0x98, 0x5b, 0x4b, 0xe8, 0x48, 0x67, 0xb7, 0xcc, - 0x68, 0xbf, 0xe7, 0xdd, 0x9a, 0xd1, 0xef, 0xb9, 0xfe, 0x82, 0x91, 0x41, 0xe9, 0x7f, 0x95, 0x1d, - 0x94, 0x03, 0x75, 0x83, 0xcd, 0x25, 0x64, 0xd3, 0x6e, 0x00, 0xa2, 0x96, 0xec, 0xe5, 0x33, 0xf2, - 0x8c, 0x7b, 0x2b, 0x6a, 0xfa, 0x8f, 0xc6, 0x2a, 0x86, 0x45, 0x67, 0x3a, 0x1f, 0xd0, 0x7f, 0xf7, - 0x56, 0x01, 0x5a, 0x24, 0x70, 0xf5, 0xb2, 0xe7, 0x27, 0x70, 0x81, 0x59, 0x0f, 0xa9, 0xf2, 0xa3, - 0x3b, 0x39, 0xf3, 0xab, 0xb4, 0x67, 0xb9, 0x6d, 0x49, 0x06, 0x67, 0xc8, 0x72, 0x10, 0xb2, 0x0f, - 0xaf, 0x6e, 0x61, 0xd2, 0x1d, 0x22, 0xcd, 0xbc, 0xbe, 0x42, 0x72, 0x71, 0xc9, 0x53, 0xea, 0x40, - 0x9a, 0xaf, 0x1d, 0xb6, 0x02, 0x00, 0x98, 0x5a, 0xa0, 0xca, 0xfe, 0x32, 0x24, 0x18, 0x10, 0x29, - 0x80, 0x0e, 0x40, 0xcd, 0xf6, 0xc7, 0x8c, 0x72, 0x4b, 0xe9, 0x82, 0x24, 0x7f, 0x9e, 0xf3, 0x9c, - 0x64, 0xfc, 0xb4, 0x43, 0x35, 0x5d, 0xe0, 0xf6, 0x4c, 0x19, 0x14, 0x12, 0x9f, 0x3a, 0x14, 0xf0, - 0x63, 0x57, 0x94, 0x64, 0x3d, 0x53, 0xad, 0xbd, 0x22, 0x85, 0x7c, 0xc4, 0x57, 0x3b, 0x97, 0x49, - 0xb9, 0x39, 0xa4, 0xba, 0xc1, 0x81, 0x1c, 0x9a, 0xc4, 0x94, 0xf3, 0x1a, 0xc7, 0x3c, 0xd8, 0xda, - 0x94, 0x28, 0x6e, 0xcd, 0x37, 0xa6, 0x64, 0x9d, 0x06, 0x28, 0x6d, 0x2b, 0x05, 0xc5, 0x67, 0xc5, - 0x20, 0x21, 0x38, 0x73, 0x83, 0x99, 0xf3, 0x89, 0x21, 0x3c, 0x33, 0xe6, 0x11, 0x72, 0x93, 0x63, - 0x43, 0x0c, 0x8d, 0xb5, 0x3e, 0xe3, 0xef, 0x99, 0x0a, 0x38, 0x14, 0x8a, 0x6f, 0x88, 0x6e, 0xb5, - 0x1b, 0x01, 0x82, 0x2a, 0x6c, 0x1d, 0x73, 0x7c, 0x0a, 0x3d, 0x66, 0xeb, 0xdb, 0xd0, 0xc5, 0x6e, - 0x8f, 0x43, 0x19, 0x43, 0x09, 0x96, 0x15, 0x71, 0xfe, 0xef, 0xee, 0x7a, 0x10, 0x0b, 0xf6, 0x2f, - 0xf0, 0xf8, 0xa5, 0xac, 0x90, 0x93, 0xb8, 0x6e, 0xcf, 0x4f, 0x50, 0xb1, 0xdf, 0xca, 0xdb, 0x3f, - 0x3a, 0x03, 0x7f, 0xf7, 0x6e, 0x6f, 0x81, 0x08, 0x19, 0x70, 0xa8, 0x00, 0xee, 0x52, 0xa4, 0x7b, - 0x4b, 0x70, 0x7b, 0x71, 0x49, 0x45, 0x51, 0x44, 0xe9, 0xd2, 0x49, 0x2a, 0x36, 0xec, 0xc6, 0x20, - 0x64, 0xcb, 0x1d, 0x3e, 0x6e, 0x33, 0xb1, 0xb8, 0x8f, 0x92, 0x6f, 0x4d, 0x27, 0xff, 0xcf, 0x3e, - 0x8e, 0xc6, 0xa0, 0x80, 0x78, 0x6f, 0x76, 0x94, 0x22, 0xe7, 0x53, 0xc0, 0x19, 0xc3, 0xca, 0x2a, - 0xa5, 0x06, 0xf1, 0xb1, 0xff, 0xa9, 0x0d, 0x70, 0xcf, 0xb2, 0x18, 0x21, 0x15, 0x19, 0xc8, 0x6b, - 0x10, 0x52, 0x36, 0x4d, 0x91, 0x1a, 0x8e, 0xfc, 0xe5, 0x49, 0x48, 0x33, 0x8b, 0xae, 0x8a, 0x86, - 0x4b, 0x0b, 0xb5, 0x4b, 0x58, 0x18, 0x51, 0x61, 0xb8, 0x92, 0xd7, 0x11, 0x9d, 0xcc, 0xd4, 0x35, - 0x84, 0x42, 0x84, 0xd0, 0xaa, 0x08, 0xe9, 0xa1, 0x10, 0xd5, 0x3d, 0xa5, 0xf3, 0xf9, 0xe8, 0x74, - 0x1c, 0xd1, 0x78, 0x8b, 0x8a, 0x9d, 0xb7, 0x81, 0xc7, 0x2f, 0x1a, 0xb2, 0x71, 0xad, 0xb9, 0xa7, - 0xa4, 0x69, 0x1d, 0x24, 0x01, 0xc1, 0x04, 0xcd, 0xb1, 0x78, 0x67, 0x6d, 0xc5, 0xce, 0xa0, 0x1c, - 0x2e, 0x35, 0x4f, 0x08, 0x54, 0x82, 0xb3, 0x51, 0x8a, 0x4e, 0xdd, 0x7c, 0x4e, 0xbd, 0x54, 0x08, - 0x40, 0x00, 0x8e, 0x57, 0xcd, 0xf4, 0xe2, 0x5b, 0xdc, 0xfd, 0x2d, 0xc2, 0x85, 0x27, 0xa9, 0x6d, - 0x29, 0xc9, 0x56, 0x15, 0x76, 0x68, 0x51, 0x1a, 0x8d, 0x30, 0xe3, 0x36, 0x7c, 0xae, 0x08, 0xe5, - 0x70, 0xd3, 0xd9, 0xbd, 0xef, 0xf9, 0x18, 0x39, 0x25, 0x00, 0x4f, 0xad, 0xfa, 0x54, 0xf4, 0x87, - 0xfa, 0x09, 0x81, 0x8c, 0x9c, 0x6a, 0xdf, 0xae, 0xd8, 0xcc, 0xd8, 0x9b, 0x0e, 0xab, 0x79, 0x46, - 0xb5, 0x72, 0x86, 0x47, 0xdd, 0x9a, 0xb3, 0x37, 0xc9, 0x0a, 0x62, 0xa9, 0x63, 0x38, 0x37, 0x94, - 0xc1, 0x21, 0x3e, 0x5d, 0x1d, 0xfa, 0x2b, 0x34, 0x44, 0x0b, 0xb0, 0xb3, 0x5f, 0x47, 0xb6, 0x00, - 0xe8, 0xa3, 0xa7, 0x07, 0x09, 0x00, 0xa9, 0x1e, 0x8b, 0x0d, 0xd7, 0x22, 0xdd, 0x8f, 0x9c, 0x62, - 0x63, 0x21, 0x3a, 0xdf, 0x98, 0x1a, 0x2e, 0xd7, 0x55, 0xe3, 0x9b, 0xe0, 0x8b, 0x9e, 0xd7, 0xc4, - 0xf6, 0xf4, 0x16, 0xc0, 0x40, 0xe2, 0xfe, 0x16, 0x6a, 0x21, 0x9c, 0x36, 0x33, 0x9d, 0x79, 0x75, - 0xd0, 0xd2, 0xc2, 0x60, 0xab, 0x5d, 0x01, 0x2d, 0x9b, 0x9b, 0xea, 0x0b, 0x11, 0x84, 0xe2, 0xc5, - 0x47, 0xbf, 0x12, 0x3a, 0x86, 0xc4, 0x6e, 0x4b, 0x22, 0xf1, 0x96, 0x6e, 0x5e, 0x39, 0x51, 0xf7, - 0x4c, 0x5b, 0x49, 0x7d, 0x1d, 0xc1, 0x29, 0x9f, 0xd5, 0x99, 0xd7, 0x14, 0x8c, 0xb3, 0x00, 0xdf, - 0xbd, 0x66, 0xe8, 0x53, 0xce, 0x6e, 0xdd, 0x0a, 0x6d, 0x04, 0x6f, 0xef, 0x5c, 0xb8, 0xc8, 0x56, - 0xe3, 0x9d, 0x2e, 0x72, 0x91, 0xbb, 0x73, 0x30, 0x01, 0xf3, 0x74, 0x68, 0x0d, 0x6b, 0x4f, 0x66, - 0x42, 0xdc, 0xcf, 0x3b, 0xe5, 0x95, 0xe4, 0x65, 0xe3, 0xeb, 0xdd, 0xb5, 0xf6, 0xd0, 0x35, 0xd3, - 0x81, 0x3b, 0x4a, 0x2f, 0x71, 0x44, 0x1f, 0x3f, 0x8b, 0x3e, 0x03, 0x50, 0x9f, 0xb1, 0xaf, 0x00, - 0x18, 0x15, 0x34, 0x56, 0xcf, 0xd9, 0x69, 0x55, 0xc7, 0xbe, 0x9e, 0x25, 0x68, 0xb9, 0xcb, 0x1e, - 0x0d, 0x80, 0x36, 0xd4, 0xe0, 0x8c, 0xcb, 0xd2, 0x12, 0xcc, 0x63, 0x1a, 0x22, 0xdc, 0xee, 0x32, - 0xe6, 0xc4, 0xf4, 0xfb, 0x1c, 0x1c, 0x90, 0xb5, 0xae, 0xdd, 0x0e, 0x16, 0x2b, 0x6c, 0x8e, 0x83, - 0x2e, 0xfe, 0x7d, 0x99, 0x40, 0x7b, 0x1b, 0x31, 0xce, 0xad, 0x67, 0xa4, 0xe0, 0x31, 0xc2, 0xdc, - 0xd5, 0x11, 0x0d, 0xe3, 0xb2, 0x30, 0xe0, 0x21, 0x47, 0x56, 0x0e, 0x9c, 0x48, 0x4c, 0x0d, 0x82, - 0xda, 0x02, 0xa5, 0x94, 0xc5, 0x39, 0x21, 0xe1, 0x2c, 0x35, 0x0f, 0x9e, 0xaf, 0x19, 0x75, 0xa5, - 0x7e, 0x2d, 0xa9, 0xf6, 0xf3, 0xbf, 0x37, 0x3e, 0x1a, 0xfa, 0x0b, 0xf4, 0xa8, 0xcc, 0x89, 0x10, - 0x05, 0xd7, 0xd6, 0x92, 0x89, 0xd0, 0x34, 0x9a, 0x45, 0x82, 0x84, 0xd0, 0xe2, 0x7b, 0x70, 0x8a, - 0xb8, 0xc4, 0x81, 0x37, 0x83, 0xc7, 0x11, 0xb6, 0xa0, 0x0d, 0xb8, 0x6a, 0xe1, 0x27, 0xcb, 0x48, - 0x12, 0x61, 0x91, 0xe5, 0xc2, 0x37, 0x37, 0x1a, 0x71, 0x7e, 0xb4, 0x28, 0xea, 0x2c, 0xab, 0x8b, - 0xac, 0x56, 0xc8, 0x14, 0xd5, 0x0f, 0x65, 0x80, 0xc8, 0xf3, 0x7b, 0x94, 0xd5, 0x5b, 0x41, 0xd3, - 0x58, 0xaf, 0x26, 0x52, 0x3e, 0x86, 0xf2, 0x32, 0x36, 0x02, 0xd4, 0xae, 0x13, 0x99, 0xb5, 0xcc, - 0x29, 0xfb, 0x36, 0x63, 0x9b, 0xb6, 0x2e, 0x5a, 0xee, 0xb5, 0xd3, 0x4d, 0xaa, 0xdc, 0x8b, 0x6a, - 0x3c, 0x19, 0x4a, 0x76, 0x57, 0x61, 0xc5, 0x56, 0xb8, 0xe7, 0x25, 0x07, 0x99, 0xb1, 0xc7, 0x6d, - 0x0d, 0x7a, 0xac, 0x1b, 0x73, 0xbe, 0x02, 0x93, 0xe2, 0xd7, 0x19, 0x2b, 0x3d, 0x81, 0x6a, 0x41, - 0x37, 0xb5, 0xd6, 0x55, 0xac, 0x7e, 0xcf, 0xf1, 0x5a, 0x67, 0xc5, 0xfa, 0x34, 0x10, 0x0c, 0x2c, - 0x73, 0x91, 0x26, 0xb4, 0xc4, 0xaf, 0x21, 0xb0, 0x87, 0x4f, 0xf5, 0x83, 0x38, 0xb5, 0x3d, 0x05, - 0x3a, 0xea, 0xb4, 0x6f, 0x8e, 0x10, 0x82, 0x08, 0xb0, 0x6b, 0xe6, 0x1d, 0xd3, 0xe4, 0xb3, 0x8f, - 0x8d, 0x32, 0x64, 0x7d, 0xa8, 0x5d, 0x23, 0x2d, 0x53, 0x2a, 0x9f, 0x43, 0xae, 0xca, 0x7b, 0xfe, - 0x88, 0xdf, 0xe0, 0x92, 0x44, 0x78, 0x27, 0xca, 0xc7, 0x9e, 0xff, 0x25, 0x86, 0x99, 0x5d, 0x59, - 0x01, 0xb8, 0x20, 0x79, 0x2b, 0xc2, 0xd3, 0x5b, 0x9e, 0x92, 0x6f, 0x07, 0x1d, 0xdf, 0xda, 0x4a, - 0x1f, 0x97, 0x0b, 0xb1, 0xab, 0x6b, 0x00, 0x30, 0x62, 0xcc, 0xfd, 0x7e, 0x10, 0x3f, 0x18, 0x95, - 0x58, 0xf1, 0xef, 0x54, 0x23, 0x5e, 0x64, 0x09, 0x51, 0x20, 0x77, 0x10, 0x52, 0x58, 0x67, 0xe7, - 0x6e, 0xf3, 0xc5, 0x3e, 0x13, 0xbf, 0xad, 0x89, 0xe1, 0xad, 0xd2, 0x85, 0xb3, 0x44, 0x37, 0xa2, - 0xad, 0x00, 0xbe, 0x3a, 0x01, 0x4f, 0x4f, 0x05, 0xfc, 0xc9, 0xca, 0x92, 0x1c, 0xcb, 0x14, 0xc0, - 0xe3, 0x48, 0x11, 0x79, 0x79, 0x56, 0x53, 0x9b, 0xea, 0x7f, 0xa6, 0xc3, 0x21, 0x74, 0x44, 0x87, - 0x22, 0x88, 0x2e, 0xe7, 0x53, 0x22, 0x74, 0x59, 0x22, 0x0a, 0x36, 0xf3, 0xb6, 0x9a, 0xc7, 0x20, - 0x6e, 0x29, 0x32, 0x4d, 0x2b, 0x39, 0x4d, 0xa9, 0x06, 0xa5, 0xb9, 0x95, 0x4b, 0xf8, 0xce, 0x87, - 0x42, 0xef, 0x55, 0x04, 0x0d, 0x92, 0x07, 0xe0, 0xbd, 0xb6, 0x16, 0x2a, 0x4d, 0xbf, 0x8b, 0x41, - 0x70, 0xd1, 0xcf, 0x40, 0x25, 0x45, 0xdd, 0xe8, 0xc2, 0x4a, 0x4b, 0xc1, 0x67, 0x9c, 0x27, 0x1e, - 0x6b, 0xea, 0x4e, 0x7e, 0x73, 0xbb, 0x98, 0x21, 0xe4, 0x39, 0xbb, 0x71, 0x95, 0x3a, 0x44, 0xa8, - 0x49, 0x70, 0xd2, 0xb2, 0xad, 0xbb, 0x9d, 0x37, 0x4f, 0xbe, 0x8a, 0xfc, 0xcd, 0x87, 0x10, 0x24, - 0x7a, 0x43, 0x02, 0x74, 0x50, 0x87, 0x48, 0x9c, 0xc0, 0x55, 0x4c, 0x61, 0x8d, 0x1c, 0x8b, 0x5f, - 0x39, 0x8c, 0x39, 0x81, 0xdd, 0x4f, 0x83, 0x79, 0xce, 0x81, 0x7b, 0x63, 0x3f, 0x1e, 0x7f, 0xf6, - 0xba, 0x7b, 0x57, 0x37, 0x2a, 0x71, 0x0b, 0x1a, 0x55, 0x78, 0xe6, 0xfd, 0x7e, 0x58, 0xfd, 0x6c, - 0x28, 0xf8, 0xbc, 0x05, 0x81, 0xe5, 0x23, 0x38, 0xae, 0xb1, 0x2e, 0xb4, 0x5a, 0xc9, 0xfc, 0xe5, - 0x70, 0x85, 0x54, 0x25, 0x68, 0x2f, 0xe1, 0xe1, 0x7e, 0x36, 0x41, 0x96, 0xa2, 0xc4, 0xc1, 0x6b, - 0xaf, 0xf0, 0x24, 0x11, 0xd5, 0xde, 0x61, 0x85, 0x5d, 0x1c, 0xb9, 0xbc, 0xd5, 0x07, 0x90, 0x2d, - 0xa6, 0x16, 0x85, 0xee, 0x01, 0x21, 0x20, 0x20, 0xc9, 0x0c, 0x3d, 0xbc, 0xd5, 0x16, 0x70, 0x1d, - 0x89, 0x22, 0x15, 0x8a, 0x6a, 0x08, 0xbb, 0xba, 0xdd, 0x1d, 0x2f, 0x51, 0xd1, 0x3a, 0xa2, 0x33, - 0x17, 0xce, 0xa6, 0x8f, 0xf9, 0xf3, 0x16, 0x69, 0x80, 0xf6, 0x95, 0xc5, 0x74, 0xbe, 0x8b, 0xdb, - 0x75, 0xcf, 0xbc, 0x1c, 0xd1, 0xc9, 0x2a, 0xee, 0xeb, 0x66, 0xba, 0x48, 0x1b, 0x7d, 0xb6, 0x07, - 0x91, 0x1e, 0x6a, 0x24, 0x76, 0x2a, 0xbd, 0xfb, 0xcb, 0xf1, 0xda, 0x12, 0x05, 0x9c, 0xc2, 0xca, - 0xa9, 0x54, 0xb4, 0x90, 0x5b, 0x29, 0xb5, 0x3b, 0xf0, 0x78, 0x0e, 0xb6, 0xe5, 0x8f, 0x22, 0xdf, - 0xf8, 0xd2, 0x41, 0x9c, 0xc6, 0xeb, 0x5e, 0x8e, 0x8d, 0x2b, 0x97, 0x36, 0x4f, 0x59, 0x17, 0x63, - 0x21, 0x5c, 0x11, 0x30, 0x87, 0x34, 0x66, 0x88, 0x44, 0x2a, 0x14, 0x76, 0xaa, 0x4f, 0x92, 0x65, - 0xa8, 0x45, 0xcb, 0xff, 0xfc, 0xe4, 0x2a, 0xaa, 0x8f, 0xa1, 0xd5, 0x28, 0x85, 0x97, 0x6b, 0xde, - 0x9c, 0x45, 0x49, 0xd7, 0xc9, 0x7a, 0x95, 0x2c, 0xe8, 0x0d, 0x4b, 0x75, 0xcc, 0xae, 0xe8, 0xfc, - 0x98, 0xb8, 0x6b, 0x97, 0x78, 0x6e, 0xd6, 0x02, 0x7a, 0xb5, 0x3d, 0x0d, 0x23, 0x40, 0x74, 0x9e, - 0xcb, 0x58, 0x3b, 0x81, 0x03, 0x2f, 0x9a, 0xe8, 0x5d, 0x7e, 0x2e, 0x3c, 0x5c, 0x4b, 0xca, 0xe2, - 0xf4, 0xed, 0x3e, 0x44, 0xc9, 0xbe, 0xb8, 0x26, 0xb2, 0x2e, 0x31, 0x94, 0x3d, 0xa8, 0x7c, 0x8b, - 0xd2, 0xa6, 0x0d, 0xd8, 0x56, 0x1d, 0xd8, 0xa4, 0x83, 0x55, 0xf0, 0x0b, 0x09, 0xcd, 0x57, 0xa6, - 0x72, 0x12, 0x09, 0x1e, 0xb8, 0xea, 0x32, 0xee, 0x69, 0xb5, 0xfa, 0xf6, 0x68, 0x7a, 0xe7, 0x0b, - 0x4a, 0x22, 0x0b, 0xf6, 0xd2, 0x7b, 0x21, 0xed, 0x5d, 0x19, 0x23, 0x83, 0x9c, 0x95, 0x01, 0x87, - 0x49, 0x82, 0xca, 0x63, 0x6e, 0x67, 0xd0, 0x1e, 0x06, 0x93, 0x98, 0x86, 0xef, 0xd4, 0xfa, 0x05, - 0xe2, 0x0c, 0x41, 0x5d, 0x6c, 0x9b, 0x97, 0x84, 0xb4, 0xbb, 0x2c, 0xf5, 0xa0, 0x96, 0x11, 0x86, - 0xec, 0xba, 0x87, 0x45, 0x52, 0xf1, 0x5b, 0xc9, 0x25, 0x44, 0xa1, 0x30, 0xd9, 0x71, 0xa2, 0x82, - 0x5e, 0x1f, 0xae, 0x4b, 0x7f, 0x8c, 0xa3, 0x6f, 0x58, 0x5d, 0x26, 0xab, 0xf1, 0x9b, 0xf3, 0x1b, - 0x4c, 0x12, 0x03, 0xa6, 0x7a, 0x03, 0x4d, 0x20, 0x97, 0x02, 0x1f, 0xf1, 0xfb, 0xc0, 0x26, 0x07, - 0xf4, 0xf4, 0x94, 0xe8, 0xb3, 0x9c, 0x4e, 0xe1, 0x3d, 0xd5, 0xdc, 0xf7, 0xa2, 0xd5, 0xeb, 0x20, - 0xa1, 0x02, 0x6a, 0xba, 0xe1, 0x57, 0x95, 0x1c, 0x6e, 0x6a, 0x08, 0x47, 0xa5, 0x5e, 0x9e, 0x23, - 0xd6, 0xaf, 0xd1, 0xf2, 0xbb, 0x5c, 0x02, 0x60, 0xb7, 0xc6, 0xef, 0xa4, 0xc2, 0x47, 0x8d, 0xcf, - 0x4a, 0xc3, 0x28, 0xb5, 0x22, 0x49, 0xe3, 0x0a, 0x7b, 0xb9, 0x93, 0xc1, 0x7c, 0x34, 0x2f, 0x89, - 0x1c, 0x10, 0x41, 0x21, 0x7a, 0xe8, 0x48, 0x3e, 0x2c, 0xf8, 0x28, 0xd6, 0x41, 0xf2, 0xaa, 0xa4, - 0x36, 0x39, 0x07, 0x02, 0xb1, 0x7b, 0xaf, 0xa3, 0x5b, 0xaa, 0x9e, 0xf9, 0x7f, 0xb4, 0xec, 0x90, - 0xf9, 0x4d, 0xec, 0x22, 0xb7, 0x92, 0xb7, 0xe8, 0x9a, 0xb4, 0x8c, 0xb4, 0x70, 0x68, 0xa3, 0x29, - 0x37, 0x9d, 0x55, 0xa0, 0x97, 0x0f, 0x99, 0xf1, 0x3c, 0xdb, 0x63, 0xb7, 0x81, 0x3e, 0xbc, 0x9e, - 0xbf, 0xf0, 0x1d, 0x4d, 0x44, 0xe9, 0x00, 0x4b, 0x92, 0xe7, 0xa5, 0x34, 0x67, 0x5f, 0xb4, 0x39, - 0x14, 0x3b, 0x89, 0x4a, 0xa2, 0x5e, 0xa5, 0xbc, 0xb1, 0xeb, 0xda, 0x44, 0xb0, 0x07, 0x37, 0x57, - 0x75, 0x1d, 0x5c, 0xeb, 0xff, 0x2b, 0xa0, 0x9f, 0x4e, 0x61, 0x24, 0x24, 0x7e, 0x0d, 0x92, 0xe2, - 0x41, 0x7c, 0xf4, 0x58, 0xec, 0x8f, 0xd7, 0x68, 0x80, 0x3f, 0xdf, 0x19, 0x81, 0x75, 0x39, 0xec, - 0x3d, 0xf7, 0x8f, 0xbb, 0x52, 0x6d, 0xdd, 0xfb, 0x0f, 0xbb, 0x48, 0xda, 0x85, 0xe4, 0x9d, 0x6a, - 0x6e, 0xa9, 0x0f, 0x4e, 0xca, 0xb3, 0x78, 0x0a, 0x74, 0x88, 0xcb, 0x26, 0xb3, 0xe9, 0xfe, 0x72, - 0x79, 0xa5, 0x26, 0xfb, 0x27, 0x82, 0xa2, 0x8f, 0x5a, 0x67, 0x0c, 0x5a, 0x2a, 0x33, 0x89, 0x7b, - 0x54, 0x33, 0xc2, 0xc5, 0x91, 0xb8, 0x2e, 0xe7, 0xde, 0xef, 0xb1, 0x91, 0x55, 0x7d, 0x72, 0x25, - 0xc0, 0x81, 0xa0, 0x5a, 0x32, 0xfb, 0x31, 0x09, 0xb1, 0x52, 0x56, 0xef, 0x2a, 0x70, 0x4f, 0x50, - 0xcd, 0x61, 0xaa, 0x35, 0xd3, 0xb9, 0x39, 0x21, 0xea, 0x8b, 0xef, 0xc0, 0xf9, 0xa4, 0x49, 0x2c, - 0x50, 0xd7, 0x9e, 0x2d, 0x76, 0x53, 0x32, 0x3e, 0xe2, 0x8f, 0xc7, 0xc6, 0x56, 0x41, 0xeb, 0x66, - 0xdd, 0x00, 0x79, 0x27, 0x9a, 0xf7, 0x94, 0x43, 0x05, 0xf9, 0xd4, 0x5d, 0x97, 0x94, 0xb0, 0x6f, - 0xee, 0x2e, 0xfe, 0x84, 0x1c, 0x87, 0x90, 0xde, 0xe5, 0x40, 0x64, 0x0d, 0x3c, 0x2e, 0x63, 0x8a, - 0xe8, 0x20, 0xd1, 0x61, 0x5a, 0xaa, 0x85, 0x20, 0x3d, 0xb6, 0x7d, 0xde, 0xdc, 0x28, 0x72, 0x87, - 0x23, 0x4e, 0x64, 0x15, 0x85, 0xd1, 0x41, 0xfb, 0xb7, 0x5a, 0xc3, 0x66, 0x57, 0x21, 0x46, 0x53, - 0x03, 0xc8, 0x34, 0x7b, 0xef, 0xdd, 0xd8, 0x7b, 0xd1, 0xd1, 0xe9, 0xe0, 0xcf, 0x97, 0xb7, 0x67, - 0x27, 0x41, 0x7a, 0x4b, 0x22, 0x68, 0x6b, 0xdd, 0x32, 0x90, 0xe9, 0xb4, 0x22, 0xb2, 0xed, 0xab, - 0xb2, 0x56, 0xd4, 0xfc, 0xb8, 0xa5, 0xa1, 0xfd, 0xad, 0x7b, 0x80, 0xf6, 0xf0, 0xd8, 0x21, 0xec, - 0x4a, 0xf9, 0xd9, 0x0a, 0x50, 0xe8, 0xeb, 0x70, 0x4b, 0xb0, 0x69, 0xf0, 0x5a, 0xce, 0x2c, 0x2a, - 0x6d, 0x5d, 0x0b, 0x7e, 0xa0, 0x59, 0x17, 0x3c, 0x62, 0x35, 0x76, 0xf4, 0xc7, 0x5c, 0xff, 0x61, - 0x5b, 0xf1, 0xfb, 0xb2, 0x3f, 0x15, 0xf5, 0x94, 0x4b, 0x68, 0xdf, 0x08, 0xf5, 0xfb, 0xb5, 0xe5, - 0x1c, 0x07, 0xc3, 0xdb, 0x23, 0xaa, 0x9d, 0xfa, 0x7e, 0xb0, 0x75, 0x30, 0xd8, 0x06, 0x0e, 0x4a, - 0xb3, 0xb1, 0xdf, 0x04, 0xf3, 0xa3, 0xaf, 0xd1, 0x90, 0xe4, 0x76, 0x8d, 0x4a, 0xb8, 0x1c, 0xd7, - 0x28, 0xd2, 0xef, 0x6b, 0x2e, 0xfe, 0x90, 0x11, 0xde, 0x8d, 0xd7, 0x9a, 0x70, 0x0c, 0x07, 0x69, - 0x4a, 0xa7, 0x16, 0x37, 0x41, 0x9d, 0x87, 0xff, 0x60, 0xa8, 0x71, 0x2c, 0xdc, 0x4d, 0x81, 0x33, - 0x20, 0x05, 0xd0, 0xa1, 0x6d, 0x65, 0xbb, 0xcf, 0xb8, 0xe3, 0x6a, 0x8f, 0x62, 0xc8, 0x4d, 0x55, - 0x28, 0x98, 0x6c, 0x07, 0xb5, 0xf0, 0x74, 0xb6, 0x84, 0x80, 0x66, 0xad, 0xc3, 0x17, 0xe8, 0xce, - 0xa6, 0xca, 0x20, 0xcc, 0xd2, 0xe2, 0xbe, 0x42, 0x36, 0xf4, 0xf8, 0xda, 0xad, 0x80, 0x09, 0x54, - 0xf8, 0x84, 0x75, 0xf0, 0x2d, 0x04, 0x6b, 0x7e, 0x3d, 0x81, 0x0e, 0x7f, 0xa5, 0x44, 0x97, 0x5d, - 0x53, 0xde, 0x9e, 0xc9, 0x3b, 0xc9, 0x48, 0x0d, 0x8b, 0xb1, 0x32, 0xa3, 0x48, 0x7e, 0xe0, 0x7c, - 0x09, 0xf6, 0x5e, 0xd9, 0x8a, 0x0d, 0xcb, 0xc2, 0xba, 0xba, 0xf5, 0x5c, 0x12, 0xdc, 0xa6, 0xfd, - 0x57, 0xeb, 0x15, 0x79, 0xbc, 0x2a, 0x91, 0xd6, 0xa1, 0x9f, 0x3a, 0x61, 0xdf, 0x63, 0x7b, 0x20, - 0xbb, 0x9c, 0xa7, 0xcf, 0x82, 0x08, 0x8f, 0x85, 0x34, 0xa6, 0xeb, 0x25, 0x80, 0xb7, 0xad, 0x42, - 0x11, 0x4c, 0xb6, 0xc4, 0xf8, 0xf1, 0xf5, 0x54, 0x8e, 0x71, 0x99, 0x64, 0xa3, 0x9f, 0xd0, 0xc6, - 0xbd, 0x5a, 0x65, 0x07, 0x2a, 0x6e, 0x06, 0xd8, 0xd3, 0xe6, 0x0b, 0xad, 0xe0, 0xee, 0x3b, 0x63, - 0xae, 0x57, 0xae, 0x11, 0xd1, 0x92, 0xaf, 0x64, 0x4a, 0x9d, 0xf9, 0xd3, 0x22, 0x81, 0xc2, 0xef, - 0x67, 0x03, 0x9c, 0x61, 0x44, 0x5d, 0x3a, 0x93, 0xb6, 0xf6, 0x3b, 0x01, 0xfb, 0x44, 0x16, 0x66, - 0xa8, 0xb2, 0xf2, 0x64, 0x32, 0x01, 0xdb, 0xe7, 0xde, 0xb0, 0x8b, 0xc4, 0xca, 0xb5, 0xad, 0x0a, - 0x29, 0x8f, 0xed, 0x06, 0xcc, 0x96, 0x7e, 0x98, 0x2a, 0x4f, 0x5e, 0x17, 0x20, 0x87, 0x00, 0x36, - 0x2a, 0x21, 0xfd, 0x75, 0x78, 0xaa, 0xf0, 0xcb, 0x44, 0x96, 0xf8, 0x53, 0xbc, 0x4b, 0x18, 0x67, - 0x64, 0x4d, 0x49, 0xa0, 0x79, 0x59, 0x4a, 0x1d, 0x45, 0x68, 0x2c, 0x45, 0x73, 0xdd, 0x05, 0x83, - 0x34, 0xbd, 0x36, 0xb4, 0xeb, 0x38, 0xdb, 0x4b, 0xc7, 0x2d, 0x7a, 0x6b, 0xde, 0x4b, 0xc1, 0xf7, - 0x31, 0x39, 0xde, 0x13, 0x5d, 0xe0, 0x40, 0x51, 0xa5, 0xb5, 0x76, 0x15, 0x78, 0x99, 0x87, 0xe0, - 0x0d, 0xda, 0x43, 0x69, 0xdd, 0x20, 0xdb, 0x8f, 0x9e, 0xf1, 0xea, 0xeb, 0xa9, 0x35, 0x87, 0x87, - 0x03, 0xfe, 0x25, 0x9a, 0x44, 0xfa, 0xdc, 0x38, 0x1c, 0xfb, 0x36, 0xdf, 0xdd, 0x17, 0x9d, 0x69, - 0xaf, 0x4d, 0xd5, 0x40, 0xcd, 0x3d, 0x9c, 0x7f, 0xa6, 0x12, 0xdd, 0x7a, 0x8f, 0x85, 0x48, 0x96, - 0x59, 0x4e, 0x90, 0x91, 0xda, 0xdc, 0x98, 0x03, 0x1d, 0xb0, 0xbb, 0x11, 0xd3, 0xa2, 0xc6, 0xbe, - 0xec, 0x0e, 0xc8, 0x8b, 0xcd, 0x59, 0xde, 0x0a, 0x0b, 0x67, 0x5e, 0xa7, 0x5c, 0x7b, 0x15, 0xa1, - 0x7d, 0x40, 0x3b, 0x33, 0x11, 0xd9, 0xa9, 0x53, 0x61, 0x80, 0x0e, 0xd6, 0xa4, 0x65, 0xdb, 0x2b, - 0xbb, 0x8f, 0x3c, 0xb9, 0x4b, 0x6d, 0x57, 0xbf, 0x7f, 0x5e, 0x97, 0x96, 0xc5, 0xf1, 0xde, 0x21, - 0x16, 0x9f, 0x5c, 0x75, 0xd7, 0x0e, 0x4f, 0x0c, 0x57, 0xae, 0x24, 0xfd, 0x04, 0x3b, 0xbe, 0xe6, - 0x37, 0x44, 0x71, 0xef, 0x76, 0xcc, 0xc9, 0x6e, 0x6e, 0x05, 0xf9, 0xe4, 0x2f, 0xdf, 0x40, 0xb2, - 0x04, 0x05, 0x14, 0xcb, 0x6e, 0x30, 0xf3, 0x59, 0xa3, 0x0a, 0x71, 0x04, 0x7c, 0x4b, 0x95, 0x2b, - 0x59, 0xa0, 0x46, 0xb3, 0x1a, 0xb1, 0x2f, 0x3d, 0xe2, 0xb2, 0xc6, 0x79, 0xbd, 0xe3, 0x96, 0xa7, - 0x23, 0x48, 0x1b, 0x71, 0x8a, 0xbf, 0x1f, 0xcf, 0x93, 0x71, 0x6a, 0xdd, 0x9a, 0xbe, 0xcf, 0xe8, - 0xf4, 0xeb, 0x84, 0x56, 0xe9, 0x49, 0x90, 0xfa, 0x62, 0x39, 0xe3, 0xe7, 0x47, 0xfe, 0xeb, 0xcd, - 0xbe, 0x04, 0x79, 0x69, 0x35, 0x94, 0xc3, 0x7f, 0x33, 0x2c, 0x26, 0x54, 0x90, 0x82, 0x29, 0x51, - 0x11, 0x40, 0xe0, 0x37, 0xb7, 0x84, 0x17, 0x5c, 0xbe, 0x86, 0xed, 0x05, 0xb7, 0x20, 0x80, 0x85, - 0x4d, 0x2f, 0x31, 0xf8, 0x21, 0xd7, 0xee, 0xbe, 0x0c, 0x50, 0x60, 0xfc, 0x19, 0xfa, 0x2a, 0x12, - 0xaf, 0x3e, 0x58, 0xeb, 0x3b, 0xd3, 0xa2, 0xda, 0xe0, 0x36, 0x1f, 0xe5, 0x31, 0x5b, 0x00, 0x54, - 0xa9, 0xbe, 0x53, 0x1d, 0x6e, 0x26, 0xe5, 0xfc, 0x3c, 0x5b, 0x1b, 0x35, 0x15, 0x87, 0xe4, 0x4b, - 0x4a, 0x06, 0xb2, 0x6a, 0x73, 0x9f, 0x54, 0xba, 0x56, 0xdb, 0x72, 0x09, 0x98, 0x6c, 0xc9, 0xbf, - 0x2d, 0x15, 0xc6, 0x1f, 0xd0, 0xf2, 0xe3, 0x62, 0xb5, 0x11, 0x0c, 0x1c, 0xef, 0xf2, 0x94, 0x90, - 0x28, 0xeb, 0xd2, 0x47, 0xda, 0xe5, 0xa0, 0xc2, 0x06, 0x18, 0xe0, 0x65, 0xda, 0x3f, 0x54, 0xfd, - 0xe1, 0xcd, 0xc4, 0x26, 0xf0, 0x13, 0x17, 0x74, 0x55, 0x60, 0x6b, 0xba, 0x9b, 0x69, 0x7d, 0xdd, - 0xaf, 0x19, 0x90, 0x0d, 0x21, 0xf2, 0x14, 0x03, 0xe5, 0xec, 0x94, 0x11, 0xa4, 0x01, 0xb0, 0x67, - 0xe0, 0x16, 0x14, 0xa8, 0x71, 0xa6, 0x5e, 0x51, 0xd6, 0xf2, 0x11, 0xb8, 0x9f, 0xd8, 0x5f, 0xa8, - 0xb9, 0xaa, 0xd5, 0x7e, 0x18, 0xb7, 0x66, 0xc9, 0x1f, 0x55, 0xe6, 0x20, 0x05, 0x95, 0x0a, 0x6f, - 0xd2, 0x79, 0x19, 0x6d, 0x74, 0x25, 0xe6, 0x2a, 0x29, 0x0b, 0x41, 0x1d, 0x78, 0xc3, 0xb3, 0xb5, - 0x58, 0x03, 0x96, 0xb6, 0x00, 0x94, 0x92, 0xce, 0x6c, 0x03, 0x61, 0xe5, 0x2c, 0x2e, 0x75, 0xb2, - 0x29, 0x25, 0x8a, 0x11, 0xd5, 0x80, 0x69, 0x2c, 0x4c, 0x77, 0x87, 0xa5, 0x97, 0xd1, 0x52, 0x63, - 0x12, 0xba, 0x21, 0xdf, 0xc6, 0xaa, 0x47, 0x08, 0x6d, 0x25, 0xa4, 0x47, 0xa4, 0x2e, 0x2c, 0x83, - 0x83, 0xe8, 0x43, 0xc7, 0x06, 0x22, 0x49, 0xd0, 0x3d, 0xca, 0x09, 0xff, 0x43, 0x13, 0xe6, 0xee, - 0x9b, 0xec, 0x9b, 0xb4, 0x5d, 0x1d, 0x14, 0x1f, 0x57, 0x98, 0xcd, 0x13, 0xdb, 0x68, 0xc2, 0x60, - 0x70, 0xb4, 0x16, 0x8d, 0x13, 0xdb, 0x6b, 0xfb, 0x6a, 0x75, 0x48, 0x59, 0x45, 0x9e, 0xc2, 0x12, - 0x54, 0xd1, 0x8c, 0xcd, 0x41, 0x2c, 0x75, 0x58, 0xfb, 0xa4, 0x11, 0xbf, 0x90, 0x73, 0x82, 0x15, - 0xb0, 0x1d, 0xc2, 0x95, 0x55, 0x51, 0xd1, 0xc7, 0x93, 0x9a, 0xf2, 0xea, 0xdc, 0x34, 0x73, 0x09, - 0x80, 0xab, 0xed, 0x33, 0x3f, 0x30, 0x34, 0xd9, 0x75, 0x69, 0xf7, 0x26, 0x57, 0xc2, 0x23, 0x0e, - 0xf6, 0x65, 0x06, 0x58, 0x28, 0x38, 0xac, 0x17, 0xb7, 0xd0, 0x0f, 0xf7, 0x86, 0x7b, 0xb1, 0xcf, - 0xf5, 0xcf, 0xd9, 0x39, 0xdb, 0xe2, 0xb2, 0x3e, 0x50, 0xc4, 0xbf, 0x30, 0x66, 0x29, 0x8f, 0xe5, - 0x51, 0x2a, 0xba, 0x08, 0x80, 0x1f, 0x02, 0xee, 0x9b, 0xf7, 0xe8, 0xad, 0xe9, 0xdc, 0xfe, 0xf3, - 0x67, 0x2d, 0xb9, 0xd8, 0x41, 0x9a, 0xdf, 0x39, 0x36, 0x1b, 0xd0, 0x7a, 0x96, 0x4b, 0x7c, 0x83, - 0x62, 0x10, 0x5d, 0x1c, 0xa7, 0x89, 0xaa, 0x14, 0xf5, 0xdc, 0x1c, 0x8a, 0xb4, 0xd2, 0xa9, 0x81, - 0xa3, 0x9f, 0xc6, 0xbb, 0xae, 0xac, 0xe3, 0xba, 0xa8, 0x6d, 0x51, 0x69, 0xae, 0x00, 0x71, 0xdd, - 0x1b, 0xfb, 0xce, 0xcb, 0x06, 0x6a, 0x61, 0x87, 0x4b, 0xcc, 0xd3, 0xbc, 0x12, 0xe5, 0xe5, 0xb1, - 0x4c, 0x7f, 0xa0, 0x2e, 0x63, 0x3f, 0x30, 0xe1, 0xd7, 0x13, 0x44, 0xf0, 0x6a, 0x23, 0x9f, 0xca, - 0x2b, 0x39, 0x50, 0x37, 0xfc, 0xc4, 0x69, 0x40, 0xb3, 0xe0, 0xfe, 0x19, 0xe7, 0x8b, 0xa5, 0x45, - 0xfc, 0x82, 0xd6, 0xa4, 0x36, 0xf8, 0x86, 0x40, 0x5d, 0x44, 0xb6, 0x51, 0xfa, 0x8c, 0x5f, 0xa9, - 0xa2, 0x73, 0x67, 0xa0, 0xeb, 0xcc, 0x24, 0x43, 0x96, 0x2d, 0xfc, 0xb4, 0x37, 0x6a, 0x68, 0xea, - 0xc7, 0x6d, 0x40, 0x7d, 0xb7, 0xe9, 0x9a, 0x15, 0x00, 0xe5, 0x6c, 0x31, 0x0a, 0xcb, 0xb1, 0x3f, - 0xd3, 0x89, 0x94, 0x4a, 0x39, 0x58, 0xb3, 0x64, 0xfb, 0xa2, 0xd1, 0x6e, 0x7c, 0x9e, 0x35, 0xcc, - 0xc1, 0x6c, 0x2b, 0xaf, 0xdf, 0x07, 0x40, 0xa9, 0x32, 0x14, 0x40, 0x3f, 0x9a, 0x02, 0x02, 0xb6, - 0x21, 0x73, 0xe8, 0x86, 0x34, 0xf9, 0xcc, 0x05, 0xa2, 0xe4, 0x03, 0x15, 0x3e, 0x26, 0x75, 0x11, - 0x26, 0x55, 0xa7, 0x49, 0x0f, 0xe2, 0xa6, 0x02, 0x04, 0x50, 0xf4, 0x41, 0xcd, 0xb9, 0x0c, 0x8d, - 0x16, 0x30, 0x86, 0xa2, 0x09, 0xfb, 0xf2, 0x0c, 0x5d, 0xcb, 0x23, 0x78, 0xb6, 0x34, 0x8e, 0xbf, - 0x83, 0xd0, 0x4c, 0xe1, 0x1c, 0xea, 0x0c, 0x37, 0x99, 0xb1, 0xf6, 0xa3, 0xee, 0x9a, 0xd2, 0x83, - 0xcf, 0x17, 0x5b, 0xe3, 0xca, 0x57, 0x57, 0x2f, 0xf8, 0x82, 0x1f, 0x45, 0xdf, 0x22, 0x83, 0xe1, - 0x17, 0x3a, 0x2d, 0x0f, 0x30, 0x25, 0x73, 0x00, 0xd9, 0x23, 0xc7, 0x14, 0x62, 0x16, 0x40, 0xb4, - 0x9d, 0x96, 0x7e, 0xec, 0x73, 0x8b, 0x3e, 0x9b, 0xef, 0xd0, 0xaa, 0x25, 0xbd, 0x53, 0x2c, 0x62, - 0xe0, 0x80, 0x7d, 0x9f, 0xd0, 0x1c, 0x2d, 0x50, 0x9e, 0xd6, 0xaf, 0x26, 0xa7, 0x18, 0x0c, 0xd4, - 0x88, 0xca, 0x7a, 0x4d, 0x83, 0x3b, 0xb8, 0x94, 0x55, 0xad, 0xda, 0x77, 0xb9, 0x80, 0x6f, 0x1d, - 0xe3, 0xfb, 0x39, 0x9a, 0x6a, 0x38, 0x38, 0xda, 0xc0, 0xe7, 0xe6, 0x20, 0xf2, 0xb6, 0x1e, 0x09, - 0x75, 0x2f, 0x4b, 0x96, 0xf6, 0x3a, 0x77, 0x0c, 0x6e, 0x53, 0xec, 0x3c, 0x5e, 0x27, 0x00, 0x56, - 0x74, 0x1c, 0x63, 0xff, 0x35, 0x53, 0x80, 0x24, 0x77, 0xa9, 0x01, 0x52, 0x84, 0x58, 0x02, 0xe2, - 0x39, 0x62, 0x95, 0x79, 0xc9, 0x90, 0xf9, 0xca, 0x2b, 0xbb, 0x1a, 0xc0, 0x81, 0x14, 0x62, 0x7a, - 0x57, 0xee, 0x51, 0x5f, 0x98, 0xef, 0x9e, 0x93, 0x2c, 0x09, 0x78, 0x4a, 0x53, 0xf7, 0xe6, 0x13, - 0xd2, 0xe9, 0x2f, 0x94, 0x8a, 0x6a, 0xd6, 0xd6, 0x5e, 0xc4, 0xa8, 0x78, 0x28, 0x28, 0x07, 0x4a, - 0xa8, 0x43, 0xd5, 0xab, 0xe8, 0x72, 0x3f, 0x9d, 0x72, 0xad, 0x9e, 0x14, 0x2e, 0x51, 0x04, 0xd1, - 0xf3, 0x8a, 0x35, 0xd6, 0x29, 0x97, 0x76, 0x80, 0xe8, 0x45, 0x7f, 0xe8, 0x60, 0xc5, 0xcc, 0xeb, - 0x04, 0xf9, 0xb8, 0x15, 0xfa, 0x0c, 0x69, 0x8c, 0xe1, 0xde, 0xbc, 0xde, 0x06, 0xce, 0x01, 0x4b, - 0x74, 0x6c, 0xed, 0xb0, 0xf4, 0x97, 0x9b, 0x95, 0x44, 0x48, 0x65, 0x38, 0x13, 0x1d, 0xd9, 0xb7, - 0xa7, 0x57, 0x60, 0xd0, 0x6d, 0xc1, 0xbe, 0xe2, 0x2f, 0x3c, 0xe5, 0x11, 0x02, 0x12, 0xff, 0x58, - 0x19, 0xf7, 0x7f, 0xe8, 0x6f, 0x80, 0x7f, 0xda, 0x1a, 0x28, 0x8a, 0xe9, 0x60, 0x3d, 0x30, 0x24, - 0x80, 0x0a, 0x52, 0x4c, 0x73, 0x8f, 0x07, 0x56, 0xa7, 0xd6, 0x68, 0x83, 0x9d, 0xf8, 0xa4, 0x22, - 0x5f, 0x75, 0x57, 0x7a, 0x24, 0xed, 0x30, 0xe9, 0x07, 0x73, 0xee, 0xdb, 0x23, 0x9c, 0x6d, 0xcc, - 0xb2, 0x90, 0xa2, 0xfd, 0xc1, 0x1e, 0x41, 0xcb, 0x7d, 0x9d, 0xc5, 0xfc, 0x0d, 0xef, 0x5c, 0x49, - 0xfc, 0xc3, 0xad, 0x78, 0x0a, 0xe2, 0x79, 0x71, 0xa5, 0xb0, 0x5f, 0xe2, 0x1a, 0x69, 0xb0, 0x8d, - 0xb1, 0x08, 0x72, 0x81, 0x78, 0xe8, 0x9b, 0xd1, 0x48, 0xa8, 0x77, 0x39, 0xb6, 0xe9, 0xd9, 0x3e, - 0x0b, 0xb9, 0x62, 0x2c, 0xef, 0x3f, 0x4b, 0xf9, 0x46, 0x5f, 0xf1, 0x80, 0x2d, 0x1f, 0xa1, 0x33, - 0xed, 0x3c, 0x85, 0x15, 0xce, 0x04, 0x3c, 0xc3, 0x5a, 0x72, 0x59, 0x12, 0x87, 0x02, 0x56, 0x5f, - 0x60, 0xf1, 0x06, 0x3b, 0xfe, 0xfb, 0xcd, 0xf2, 0x53, 0xa5, 0xd3, 0xc0, 0xf0, 0x82, 0xe6, 0x60, - 0xc1, 0xa7, 0x29, 0xd1, 0x14, 0xce, 0x45, 0x68, 0x98, 0xfd, 0xbd, 0x4b, 0x40, 0x7f, 0x80, 0x1c, - 0xbd, 0x0e, 0xdf, 0x11, 0xc8, 0xe5, 0xbd, 0xe4, 0xef, 0xe2, 0x8c, 0x04, 0xf2, 0xc7, 0x6f, 0xb9, - 0x59, 0xd4, 0xca, 0xbc, 0x3b, 0x71, 0xf3, 0x6d, 0x5d, 0xfe, 0x2d, 0x6f, 0xcc, 0x14, 0x55, 0x96, - 0x25, 0xc4, 0xe0, 0x32, 0xa6, 0x40, 0xfb, 0x79, 0xa4, 0x93, 0x73, 0xf3, 0x83, 0x8e, 0x70, 0x3d, - 0x1d, 0xdf, 0x23, 0xc7, 0xbc, 0x91, 0xd6, 0x76, 0x17, 0xc1, 0xbc, 0x18, 0x5c, 0x70, 0xb3, 0x6e, - 0x50, 0xf9, 0xca, 0x75, 0x8a, 0x13, 0xcb, 0x2c, 0x21, 0x01, 0x1b, 0x53, 0x89, 0x2c, 0xb0, 0x61, - 0x3d, 0xd8, 0x74, 0x19, 0x71, 0xa8, 0x23, 0xe4, 0x94, 0xd6, 0x44, 0x8e, 0x5b, 0x0f, 0x09, 0x56, - 0x9d, 0x48, 0xaf, 0x39, 0x01, 0xaa, 0x3e, 0x8b, 0x57, 0x48, 0x89, 0x88, 0x94, 0xaf, 0xd8, 0x87, - 0xf9, 0x35, 0x8e, 0x9b, 0xe7, 0x69, 0x8f, 0x67, 0xe6, 0x45, 0xab, 0xb5, 0x38, 0x56, 0x5b, 0x2c, - 0xc9, 0x91, 0x55, 0x0f, 0xb1, 0x41, 0x20, 0xcf, 0x1e, 0x9e, 0x82, 0x80, 0xe6, 0x68, 0x7b, 0xa1, - 0xcc, 0x4d, 0x2a, 0xb4, 0xa9, 0x71, 0x1f, 0xec, 0x79, 0x25, 0x6a, 0xa7, 0x58, 0x15, 0x7f, 0x7d, - 0xab, 0x0c, 0xf8, 0x52, 0xda, 0x7c, 0xf6, 0x2e, 0xa3, 0x44, 0x1c, 0x91, 0xeb, 0xf5, 0x75, 0x9d, - 0x66, 0x15, 0xa9, 0xa1, 0xc4, 0x69, 0x31, 0xb7, 0x92, 0xf1, 0xb5, 0xe6, 0xda, 0xd1, 0xb6, 0xd1, - 0x0e, 0x5c, 0x2a, 0xf4, 0xb5, 0x1c, 0x12, 0x1b, 0xed, 0xe7, 0xe0, 0xa1, 0xe7, 0x8d, 0xe6, 0xcf, - 0xfb, 0x10, 0xae, 0x98, 0x32, 0x67, 0x63, 0x07, 0x11, 0xd2, 0xb4, 0x1c, 0x31, 0x2b, 0x1b, 0xf0, - 0x1c, 0x96, 0x4c, 0xd0, 0x99, 0x88, 0x7c, 0x5c, 0x45, 0xcc, 0x6f, 0xe4, 0xef, 0x0d, 0xb1, 0xc1, - 0x60, 0x21, 0x4b, 0x5f, 0xf5, 0xf8, 0x0b, 0x2d, 0x8d, 0xde, 0xa7, 0xbe, 0xe9, 0xe2, 0xbb, 0x47, - 0x90, 0x32, 0xa5, 0x06, 0xd7, 0x76, 0xf8, 0xc2, 0xf5, 0xcb, 0xe1, 0x96, 0xba, 0x77, 0xc1, 0x29, - 0xda, 0x2b, 0x3e, 0x6e, 0x2a, 0x5c, 0x46, 0x03, 0xb3, 0xeb, 0xe3, 0xab, 0x7c, 0x3e, 0xd6, 0xc9, - 0xbf, 0xeb, 0x75, 0x99, 0xf5, 0x61, 0x1a, 0xec, 0x96, 0x03, 0xa6, 0x24, 0x91, 0x3a, 0xda, 0x57, - 0x63, 0xe1, 0x74, 0xa2, 0xf8, 0x46, 0xf8, 0x76, 0x1b, 0x74, 0xda, 0x2a, 0xd6, 0x4d, 0x47, 0x6b, - 0x84, 0x9e, 0xdc, 0xe6, 0x06, 0x57, 0xe9, 0xdb, 0x3c, 0x89, 0xa3, 0x2a, 0xe5, 0xb0, 0x84, 0x6d, - 0xad, 0xd8, 0x17, 0x3b, 0xfc, 0x89, 0x67, 0xf3, 0x00, 0x78, 0x9c, 0x72, 0xc1, 0x1d, 0x39, 0x45, - 0x6f, 0x5e, 0x0c, 0x1d, 0xfe, 0xb0, 0x7a, 0xeb, 0x27, 0xc5, 0xe3, 0x5c, 0xed, 0xcb, 0x5e, 0x23, - 0x7f, 0x67, 0x5c, 0x73, 0x68, 0xa6, 0x52, 0xd9, 0xe3, 0x1f, 0x2e, 0xda, 0x1b, 0xa9, 0x8a, 0x4e, - 0x3a, 0xc8, 0x7d, 0xa3, 0xe6, 0x57, 0x85, 0x7e, 0xe1, 0x96, 0xf8, 0x87, 0x2a, 0x16, 0xd6, 0x2c, - 0xd3, 0x7a, 0xa4, 0x2c, 0x94, 0xd2, 0x52, 0xb6, 0x00, 0xd0, 0xbb, 0x97, 0x8e, 0x80, 0x21, 0xac, - 0xc6, 0x5d, 0xbf, 0x42, 0xb5, 0xd1, 0xc4, 0xd9, 0x6b, 0x4c, 0x26, 0x60, 0xd7, 0x90, 0x70, 0x29, - 0xa8, 0x1d, 0x78, 0xad, 0x8f, 0x83, 0xee, 0x3c, 0x20, 0xc7, 0x3b, 0x56, 0x4c, 0xb3, 0xb3, 0xbb, - 0x62, 0x76, 0x89, 0x05, 0x26, 0x38, 0x9b, 0x37, 0xe6, 0x48, 0xae, 0xf4, 0xc2, 0xa9, 0xbf, 0x5a, - 0x8f, 0xff, 0x39, 0xf6, 0xa6, 0x4d, 0xea, 0xda, 0x63, 0x94, 0x18, 0x20, 0xc4, 0x26, 0x72, 0x0b, - 0xb5, 0x71, 0xfb, 0x6a, 0x87, 0xd7, 0xa3, 0x26, 0xeb, 0x7f, 0x4f, 0x17, 0x37, 0x1b, 0x2f, 0x8f, - 0x76, 0x3f, 0xc1, 0x60, 0xb3, 0x00, 0xa0, 0xb6, 0x8d, 0x52, 0x4d, 0x98, 0xd0, 0xad, 0x53, 0x67, - 0x3c, 0x80, 0x6b, 0xf9, 0x82, 0x86, 0x15, 0xac, 0x36, 0x57, 0x9a, 0x6a, 0x23, 0x40, 0xdf, 0xc9, - 0xef, 0x2e, 0x48, 0xf0, 0x9a, 0x29, 0x4e, 0x07, 0x3b, 0x33, 0x82, 0x6e, 0xeb, 0xf2, 0x07, 0x60, - 0x18, 0x84, 0xbc, 0x5c, 0x96, 0xb5, 0xa4, 0xe4, 0x33, 0x64, 0x67, 0x18, 0x6e, 0xa7, 0x2c, 0x39, - 0x70, 0x61, 0xca, 0x99, 0x10, 0x6b, 0x5e, 0xf2, 0x40, 0x38, 0xe9, 0x59, 0x6d, 0xbf, 0xe1, 0x16, - 0xa1, 0x40, 0x21, 0x86, 0xfe, 0x1d, 0x98, 0xd1, 0x8e, 0x40, 0xa2, 0xb5, 0x13, 0x9e, 0x89, 0x2e, - 0xe8, 0xc1, 0xda, 0x0d, 0x86, 0x31, 0x25, 0x31, 0x15, 0xda, 0x7c, 0x08, 0x5d, 0xe0, 0xc8, 0x3c, - 0x21, 0xd7, 0xea, 0x2e, 0x7f, 0x52, 0xae, 0x15, 0x9e, 0xd7, 0x2e, 0xd6, 0xe9, 0xfc, 0xf1, 0xba, - 0x58, 0x14, 0x27, 0xfb, 0xb7, 0x54, 0xd6, 0xe6, 0x73, 0x3d, 0xd9, 0x87, 0x92, 0x16, 0xa9, 0xea, - 0x10, 0xce, 0xf3, 0xf4, 0x69, 0x5a, 0xd7, 0x7c, 0x77, 0x9f, 0x01, 0x5d, 0xae, 0x02, 0x9e, 0x40, - 0x3d, 0x4a, 0xdf, 0x65, 0x18, 0xd4, 0x1e, 0xb1, 0x80, 0xe2, 0xca, 0x14, 0xb3, 0x30, 0x52, 0xd8, - 0x9e, 0x00, 0x47, 0x6c, 0x08, 0x34, 0x35, 0x07, 0x4e, 0x62, 0x81, 0x9f, 0x15, 0xe7, 0xd3, 0x7f, - 0xe1, 0x97, 0x04, 0xe5, 0x26, 0x33, 0x74, 0xe1, 0x0b, 0xb9, 0x56, 0x02, 0xd8, 0xf8, 0xc9, 0x13, - 0x29, 0xdf, 0x17, 0x2b, 0x44, 0x98, 0x42, 0x2d, 0xc6, 0x4a, 0x0d, 0x3f, 0x3d, 0x79, 0xaa, 0xa1, - 0x32, 0x2c, 0xf1, 0xee, 0x07, 0x9a, 0x66, 0xe2, 0xd0, 0xa8, 0x21, 0x4c, 0x97, 0x37, 0x6d, 0x15, - 0x78, 0x47, 0x97, 0x87, 0x3c, 0xcb, 0x1c, 0x60, 0x32, 0x59, 0xb1, 0x63, 0x04, 0x8f, 0xf4, 0xe5, - 0x0c, 0x88, 0x19, 0x40, 0x69, 0x2c, 0x32, 0x81, 0x3b, 0xce, 0x30, 0x47, 0x61, 0x5a, 0xfb, 0x36, - 0x48, 0xc2, 0x8f, 0xdf, 0x58, 0xfd, 0xdb, 0x14, 0x83, 0xbf, 0x42, 0xff, 0xf3, 0xd6, 0x13, 0x0c, - 0xfd, 0x6c, 0xc4, 0x91, 0x7a, 0x4b, 0x8f, 0x04, 0x00, 0x58, 0x05, 0xcb, 0x99, 0xa1, 0xae, 0xbe, - 0x00, 0x2a, 0x47, 0x16, 0xbf, 0xc8, 0xbd, 0xf6, 0x28, 0x97, 0xe1, 0xdc, 0x00, 0x4c, 0xed, 0xca, - 0xbd, 0x64, 0x4e, 0x42, 0xab, 0x8a, 0x4b, 0xca, 0x74, 0xc8, 0xe2, 0xb5, 0x4f, 0x29, 0x00, 0xa4, - 0x3e, 0xe6, 0xfd, 0xae, 0xd8, 0x11, 0x01, 0x12, 0xd7, 0x4f, 0x2f, 0x9f, 0x8f, 0xab, 0xdd, 0xc8, - 0x58, 0x22, 0x10, 0x3a, 0xd1, 0x20, 0x76, 0x4d, 0x12, 0x48, 0xaa, 0x6d, 0x83, 0x7a, 0x31, 0x3f, - 0x15, 0x53, 0x6c, 0x45, 0x6a, 0x90, 0x15, 0x95, 0xb5, 0x5b, 0xcb, 0xe6, 0xc6, 0x8c, 0x93, 0xeb, - 0xbb, 0xa8, 0x9d, 0xa3, 0x5f, 0x7c, 0x72, 0x80, 0x1f, 0x88, 0x3e, 0xf5, 0x50, 0x81, 0x88, 0xfc, - 0xf8, 0x83, 0x3e, 0x62, 0x0c, 0x33, 0x0a, 0x0b, 0x4e, 0xd5, 0xe0, 0x7e, 0x86, 0xf2, 0xf7, 0x6c, - 0xa0, 0x05, 0x84, 0x98, 0xa5, 0xc2, 0xba, 0x63, 0xf3, 0x81, 0xcd, 0xac, 0xaa, 0x0e, 0x43, 0x57, - 0x5f, 0x06, 0x4f, 0xe7, 0xe0, 0x6a, 0x61, 0xfd, 0x21, 0xcc, 0xac, 0x12, 0x9c, 0x5d, 0xf3, 0x2a, - 0xc4, 0xff, 0x4b, 0xff, 0xa2, 0xd3, 0xc3, 0xa1, 0xe7, 0xe8, 0xce, 0xe8, 0x78, 0x08, 0x9d, 0xb3, - 0xad, 0x90, 0x85, 0xb2, 0xf8, 0xa8, 0x97, 0x58, 0x94, 0x53, 0xcb, 0xd4, 0x53, 0xb6, 0xd5, 0x8b, - 0xea, 0x09, 0xb8, 0xd3, 0x3e, 0x3f, 0xcc, 0xea, 0xbd, 0x99, 0x9e, 0x40, 0x20, 0xb3, 0x8d, 0x68, - 0x23, 0xc7, 0xae, 0x03, 0x27, 0xdf, 0xd0, 0x22, 0xab, 0x71, 0x2c, 0x07, 0x0c, 0x7d, 0x76, 0xb4, - 0x7b, 0xb7, 0x71, 0x2a, 0xa6, 0x9c, 0xa5, 0xe4, 0x88, 0x18, 0x7d, 0x9b, 0x1f, 0xaf, 0x2d, 0x8a, - 0x23, 0xfd, 0x7d, 0xf3, 0x19, 0x78, 0xe9, 0x60, 0xef, 0xdf, 0xe2, 0xf7, 0x0e, 0x59, 0x1d, 0x5a, - 0xdf, 0x27, 0xeb, 0x92, 0x58, 0x59, 0x02, 0xfc, 0xa3, 0x4c, 0x6f, 0xcf, 0x7a, 0x9b, 0x15, 0x5a, - 0x2e, 0xf5, 0xb2, 0xc2, 0xbf, 0x5f, 0x41, 0x0c, 0x73, 0x8e, 0x76, 0x0e, 0xfa, 0xf4, 0xab, 0xe3, - 0x56, 0x7b, 0x27, 0x44, 0x27, 0x08, 0x96, 0x55, 0xb1, 0xb1, 0x34, 0xb7, 0xe3, 0x92, 0xc6, 0xc3, - 0xbf, 0xb2, 0x58, 0x6e, 0x22, 0x5a, 0xd3, 0x72, 0x12, 0x21, 0xae, 0x91, 0xf8, 0x49, 0x38, 0x03, - 0xa6, 0x1c, 0x40, 0x79, 0x10, 0xa4, 0x1b, 0x87, 0x4a, 0x16, 0x56, 0x77, 0x66, 0x60, 0x26, 0x88, - 0x96, 0xa8, 0xc6, 0x39, 0x55, 0xf3, 0xd2, 0x49, 0xa0, 0xe4, 0x2d, 0x29, 0x43, 0x9c, 0x26, 0x54, - 0xb2, 0xc9, 0xd2, 0xae, 0xf7, 0xaf, 0x61, 0x5c, 0x2d, 0xd3, 0x8e, 0xa3, 0x79, 0x9f, 0x78, 0xf5, - 0x42, 0x48, 0x50, 0xf5, 0xc9, 0xd9, 0xfe, 0xfc, 0x2c, 0xbb, 0x67, 0x54, 0x9f, 0x89, 0x77, 0x53, - 0x97, 0x1b, 0xbb, 0xa6, 0x66, 0x41, 0x8b, 0x8a, 0x0b, 0x5a, 0xce, 0xb5, 0x46, 0x4f, 0xba, 0x1d, - 0xf2, 0xd2, 0xfb, 0xc9, 0xd7, 0xdb, 0x57, 0xbf, 0xe7, 0xa6, 0xf1, 0x39, 0x18, 0x21, 0x2a, 0xca, - 0xbc, 0x64, 0x93, 0x1f, 0xa5, 0x46, 0xb2, 0x23, 0xc4, 0x78, 0xe7, 0x3b, 0x93, 0xeb, 0x40, 0x7b, - 0xed, 0xc3, 0x65, 0x5b, 0xc9, 0x31, 0xfe, 0x48, 0x84, 0xc9, 0x28, 0xae, 0x42, 0x99, 0x6b, 0xc6, - 0xc5, 0x69, 0x4e, 0x1e, 0x51, 0x7d, 0x47, 0x8c, 0xac, 0xaf, 0x77, 0x3a, 0x79, 0x7f, 0x20, 0xc0, - 0xf5, 0x98, 0x5e, 0x52, 0x09, 0x76, 0x50, 0x35, 0x14, 0x25, 0xaa, 0xd7, 0x5c, 0x89, 0x3a, 0xbd, - 0x2c, 0x6c, 0x52, 0x48, 0x1c, 0x01, 0x84, 0x1c, 0x4e, 0x97, 0x35, 0x9d, 0xbf, 0xb9, 0x64, 0xb6, - 0x85, 0x73, 0xf5, 0x4d, 0x70, 0x4c, 0xe2, 0x5c, 0xca, 0xb2, 0x5b, 0x5b, 0x5b, 0xca, 0x39, 0x99, - 0x88, 0x66, 0xf9, 0xec, 0x6e, 0xe3, 0x6f, 0xe7, 0xb4, 0x7c, 0x4e, 0xd5, 0x7e, 0xee, 0x2f, 0xca, - 0xb8, 0xe1, 0xb6, 0x29, 0xe7, 0x40, 0xbb, 0x94, 0x04, 0x51, 0x32, 0xb8, 0x6f, 0xb8, 0x6b, 0x20, - 0xbb, 0x13, 0x24, 0x90, 0x6b, 0xef, 0x20, 0x31, 0x44, 0x90, 0x27, 0x5b, 0xe3, 0x73, 0x3a, 0xff, - 0x14, 0x54, 0x1f, 0x7d, 0xdc, 0x0d, 0x7e, 0x40, 0x0f, 0xc8, 0x8e, 0x24, 0x69, 0xa8, 0x1b, 0x69, - 0xf9, 0xef, 0x9f, 0x6c, 0xcc, 0x40, 0xf3, 0x85, 0xa2, 0x9b, 0xb8, 0x02, 0x11, 0x9e, 0x8d, 0x6d, - 0x7c, 0x67, 0xa2, 0xde, 0xe4, 0xd4, 0x78, 0x2e, 0x32, 0x09, 0x23, 0x5b, 0x52, 0x0a, 0xdb, 0xa4, - 0x34, 0x93, 0x84, 0x9e, 0xbc, 0x3d, 0x3a, 0x23, 0x88, 0xf7, 0xf1, 0x7a, 0xcb, 0x81, 0x64, 0x49, - 0x00, 0xf2, 0xae, 0x55, 0x58, 0xb8, 0x04, 0xb6, 0xf3, 0x8b, 0x12, 0x59, 0xd2, 0xd3, 0x28, 0x44, - 0x28, 0x63, 0xc9, 0xd8, 0xb6, 0x05, 0x26, 0x3e, 0x23, 0xb0, 0xb5, 0xc7, 0x89, 0x19, 0x7f, 0x19, - 0xd8, 0xb9, 0xba, 0xd5, 0x35, 0x5d, 0xed, 0x78, 0x1c, 0xb0, 0x40, 0xc9, 0x7a, 0xf4, 0x2b, 0xe1, - 0x76, 0xf5, 0x13, 0x3a, 0xb8, 0x20, 0xcd, 0x17, 0x00, 0xe5, 0x02, 0xb7, 0x21, 0x2b, 0x8b, 0xd7, - 0x8d, 0xa2, 0xbf, 0x04, 0xef, 0x30, 0xe7, 0x77, 0xf7, 0xd5, 0x34, 0x2d, 0x0b, 0x49, 0x70, 0x82, - 0x9e, 0x02, 0x79, 0xae, 0x84, 0xc3, 0xd7, 0x12, 0xc5, 0x7f, 0xc2, 0xc7, 0x43, 0x5d, 0x73, 0xf6, - 0x4a, 0x3e, 0x46, 0x6b, 0x43, 0x64, 0x21, 0x1f, 0x29, 0xb9, 0x59, 0xb3, 0xb2, 0xe2, 0x9e, 0xb2, - 0x53, 0x42, 0x52, 0xa3, 0x7f, 0xf3, 0x6e, 0x70, 0x92, 0x1f, 0x24, 0xb0, 0x01, 0x0c, 0xaf, 0x4b, - 0xe8, 0x05, 0x3f, 0xd3, 0x28, 0x64, 0x3a, 0x1e, 0x89, 0x5f, 0x25, 0xf3, 0x70, 0xf2, 0x55, 0x41, - 0x0f, 0x46, 0xf7, 0x45, 0x9e, 0x9f, 0x50, 0xa4, 0xe9, 0x88, 0xb8, 0x7d, 0xed, 0x91, 0x7e, 0x2a, - 0x55, 0x44, 0xe2, 0x94, 0x2c, 0x83, 0xdb, 0x05, 0x77, 0xd4, 0x65, 0x60, 0xbf, 0xda, 0x61, 0xff, - 0x16, 0xef, 0x41, 0xc3, 0xd4, 0x8a, 0xb3, 0x20, 0x7c, 0x75, 0x58, 0x69, 0x08, 0x44, 0x76, 0x8b, - 0xcb, 0x16, 0x83, 0x6e, 0xa5, 0xe6, 0x01, 0x40, 0xc3, 0xfa, 0xaf, 0x86, 0xc6, 0xf5, 0x5b, 0x7e, - 0x3e, 0xde, 0x02, 0x0c, 0xc9, 0xce, 0x63, 0xd1, 0xfb, 0x87, 0xa4, 0x5f, 0x0d, 0x33, 0xeb, 0x87, - 0xf8, 0x46, 0x09, 0xc8, 0xf6, 0x5e, 0x8b, 0x9f, 0x82, 0x15, 0xa0, 0xaa, 0x5d, 0x02, 0x12, 0x66, - 0xd7, 0xa0, 0x0b, 0x08, 0xee, 0x90, 0xee, 0x89, 0x0a, 0x6d, 0x0b, 0xb1, 0x61, 0x1e, 0xb2, 0x90, - 0xf7, 0x89, 0x96, 0x60, 0x3f, 0x41, 0x78, 0xec, 0x0a, 0xc8, 0xaf, 0x75, 0x6a, 0x1c, 0x52, 0xe3, - 0x6b, 0xaa, 0x8e, 0xb0, 0x36, 0x12, 0x84, 0x06, 0x15, 0x1d, 0xef, 0x27, 0x3d, 0x8d, 0x24, 0xc9, - 0x0b, 0xaa, 0x0b, 0x26, 0x90, 0x84, 0xbf, 0x91, 0x49, 0x7b, 0x91, 0x4a, 0xbc, 0x38, 0xbb, 0x71, - 0x94, 0xfd, 0x2c, 0x36, 0x55, 0x17, 0x74, 0x26, 0xcb, 0x37, 0x87, 0x9a, 0xa0, 0xb9, 0x10, 0x5f, - 0xbc, 0x50, 0x4e, 0x2c, 0x70, 0x0a, 0xe5, 0xbd, 0x86, 0xaf, 0xc8, 0xc4, 0x5c, 0xef, 0x69, 0x23, - 0x98, 0x80, 0x6e, 0x1e, 0xe7, 0xa9, 0x90, 0x43, 0xf5, 0x95, 0xc7, 0xd1, 0x7d, 0x72, 0x28, 0x12, - 0xc0, 0x26, 0xaa, 0xb1, 0xb5, 0xe0, 0x78, 0x97, 0xd7, 0x35, 0xd7, 0x28, 0x07, 0xba, 0x34, 0x1a, - 0x41, 0x74, 0xf5, 0x21, 0x90, 0x50, 0xe9, 0x48, 0xaa, 0x06, 0x68, 0x6d, 0x9e, 0xd8, 0x58, 0x49, - 0x9e, 0x95, 0xa8, 0x49, 0x9a, 0x39, 0x23, 0xe0, 0x74, 0xf4, 0x04, 0x9b, 0x23, 0x08, 0x31, 0x40, - 0x84, 0x8a, 0xba, 0x06, 0x7f, 0xed, 0xdd, 0xfa, 0x94, 0x42, 0xae, 0x5e, 0xae, 0x59, 0x42, 0x61, - 0x31, 0x6d, 0xa8, 0x7b, 0x69, 0x8b, 0xe2, 0x13, 0x1e, 0xde, 0x27, 0x1a, 0xf3, 0xb1, 0xc5, 0x43, - 0x73, 0x5e, 0xbd, 0x0e, 0x39, 0x57, 0x88, 0x7a, 0x49, 0xd9, 0x57, 0xcc, 0x0c, 0x84, 0x63, 0xf8, - 0xb9, 0xd2, 0x0c, 0x0c, 0x7e, 0x80, 0x39, 0x7d, 0x0d, 0x47, 0x02, 0xad, 0x56, 0x41, 0xf7, 0xc3, - 0xf6, 0xf8, 0x3b, 0x13, 0x73, 0x46, 0xdc, 0x89, 0xe9, 0xcf, 0xa2, 0x89, 0xb3, 0x0a, 0xb3, 0x79, - 0xa7, 0x85, 0x3b, 0xb6, 0xa0, 0x69, 0x67, 0x33, 0x0b, 0x2f, 0x77, 0xfd, 0xea, 0xc9, 0x2b, 0xaa, - 0xea, 0xd0, 0x63, 0xa8, 0xfd, 0xac, 0x94, 0x7c, 0xf7, 0xdd, 0xf0, 0x83, 0x51, 0x57, 0x36, 0x4f, - 0x62, 0xa4, 0xf2, 0x06, 0x5d, 0x8a, 0xc0, 0xd6, 0x74, 0x18, 0x35, 0x39, 0x4f, 0xc0, 0x8b, 0xfe, - 0xa4, 0x30, 0x9c, 0x55, 0xfc, 0x77, 0x70, 0xd4, 0xa0, 0x05, 0xa2, 0x28, 0xd5, 0xde, 0x5d, 0xae, - 0x45, 0x94, 0x66, 0x75, 0xc3, 0xde, 0xcc, 0xa4, 0xb0, 0x34, 0xac, 0x4f, 0x5a, 0x83, 0xdb, 0xe6, - 0xb3, 0x96, 0x21, 0xf1, 0xf4, 0x7c, 0x80, 0xc5, 0x41, 0xd5, 0x42, 0x97, 0xe0, 0x20, 0xa6, 0xb4, - 0x8a, 0x41, 0x43, 0x3a, 0x1b, 0xbd, 0x81, 0x32, 0xc0, 0x7e, 0x96, 0x79, 0xb1, 0x2d, 0xfc, 0xdd, - 0xbf, 0x35, 0xf9, 0x54, 0xed, 0x10, 0xcc, 0x1d, 0xba, 0xea, 0xf8, 0xa2, 0xab, 0xe2, 0x32, 0x11, - 0x35, 0x5e, 0x48, 0x43, 0xcf, 0x4c, 0x5d, 0x99, 0x24, 0x5b, 0x24, 0x24, 0xce, 0x25, 0x3d, 0x4e, - 0xa6, 0xb0, 0xdb, 0x88, 0x04, 0xbf, 0x16, 0xd1, 0x8d, 0x09, 0x1a, 0xd8, 0x1e, 0x01, 0x30, 0x87, - 0x8a, 0x23, 0xe5, 0x87, 0xed, 0xb6, 0x28, 0x86, 0x76, 0x34, 0x52, 0x33, 0x63, 0xfe, 0xc7, 0x71, - 0xfa, 0x8b, 0xa8, 0x73, 0x18, 0x4d, 0x62, 0xc5, 0x46, 0x68, 0xc7, 0xf6, 0xcc, 0x58, 0xc2, 0x7c, - 0xa0, 0x61, 0x1a, 0x5e, 0x0f, 0x7a, 0x3c, 0x9b, 0xe7, 0xbe, 0xa3, 0x40, 0x2a, 0xea, 0xe9, 0x7a, - 0x34, 0x8d, 0x4b, 0x34, 0xd1, 0x50, 0xa1, 0x05, 0xe0, 0xc8, 0x57, 0x19, 0xf8, 0xb4, 0xa9, 0xa1, - 0x6b, 0xfe, 0xa1, 0x1c, 0xbe, 0x9c, 0xe5, 0x52, 0x90, 0x19, 0x65, 0x52, 0x5d, 0xf3, 0x67, 0x0d, - 0x62, 0xb3, 0x3e, 0xb5, 0xc7, 0x41, 0x09, 0xde, 0xdc, 0xd2, 0xda, 0xe5, 0xb4, 0x62, 0x9d, 0xfd, - 0x52, 0x46, 0x63, 0x1e, 0x3a, 0x2a, 0x77, 0x7e, 0xb6, 0x0e, 0x8a, 0xc5, 0xf0, 0xef, 0xa1, 0x4a, - 0xbf, 0x3b, 0x37, 0x69, 0x44, 0x2b, 0xc8, 0x68, 0x2f, 0xe7, 0x9e, 0x2c, 0xe3, 0xc8, 0x7a, 0x10, - 0x8f, 0xea, 0x50, 0x27, 0xb3, 0xdc, 0x1f, 0x48, 0x0a, 0xd3, 0x5c, 0x33, 0x2b, 0xf4, 0x12, 0x62, - 0x11, 0x8d, 0x19, 0xad, 0x6a, 0xee, 0x3b, 0x36, 0xcc, 0x1b, 0x68, 0xb1, 0x92, 0x9a, 0x89, 0xa9, - 0x49, 0x11, 0x50, 0xb4, 0x8c, 0x18, 0xa2, 0x93, 0x06, 0x9b, 0x5e, 0x32, 0x0a, 0x2d, 0xa1, 0x3e, - 0x59, 0x2e, 0x51, 0x0a, 0x88, 0xd3, 0x9e, 0x9b, 0x07, 0xda, 0xac, 0x25, 0x3d, 0xf6, 0x1f, 0x17, - 0xc8, 0x4c, 0x71, 0x96, 0x7b, 0x4d, 0x54, 0xa2, 0x96, 0x51, 0x3d, 0x20, 0x67, 0xae, 0x23, 0x01, - 0x02, 0x24, 0x3b, 0xf8, 0x51, 0x49, 0x4b, 0xf2, 0x31, 0x36, 0xc2, 0xc4, 0x4b, 0x73, 0x1c, 0x06, - 0xdb, 0xe9, 0xa8, 0xbb, 0xb1, 0x6a, 0x42, 0x00, 0x5f, 0xcb, 0x65, 0x39, 0x2b, 0x2a, 0xe1, 0x87, - 0x5e, 0xcc, 0x5c, 0x72, 0x60, 0xbd, 0xb5, 0x60, 0x59, 0xce, 0xaa, 0x32, 0x50, 0xd5, 0x35, 0x24, - 0x1b, 0x54, 0xa4, 0x7c, 0xc7, 0x72, 0xcb, 0xf1, 0xb6, 0x88, 0x02, 0xee, 0xf7, 0x4e, 0xa9, 0x04, - 0xef, 0x7d, 0xde, 0xe0, 0x6d, 0xcb, 0x91, 0x70, 0xa9, 0xb6, 0x02, 0x0d, 0x8e, 0x0c, 0x35, 0x4a, - 0x70, 0xb0, 0x54, 0xd7, 0xff, 0x40, 0x42, 0x42, 0x5a, 0x16, 0x7a, 0x38, 0x0e, 0xc1, 0x5b, 0x1e, - 0xed, 0x50, 0x14, 0xe9, 0x64, 0x15, 0x89, 0x98, 0x4a, 0x24, 0x4d, 0x1b, 0x4e, 0x3a, 0x33, 0x00, - 0x9e, 0x1d, 0x99, 0x10, 0xfc, 0xce, 0x1a, 0x03, 0x70, 0xd0, 0x9d, 0x8c, 0xe0, 0x34, 0x0f, 0x57, - 0x48, 0x0f, 0x38, 0x84, 0x4e, 0x9f, 0x8d, 0xae, 0xbe, 0x3c, 0xb0, 0x1f, 0x47, 0x32, 0xc0, 0x63, - 0xe9, 0xda, 0xa0, 0x1f, 0x85, 0x28, 0x53, 0xc3, 0x95, 0x51, 0x7b, 0xa1, 0xa3, 0xd2, 0xee, 0x83, - 0x14, 0xa4, 0x45, 0x48, 0xf8, 0x59, 0x4d, 0x33, 0x5c, 0xaf, 0xa6, 0x71, 0x3c, 0xfb, 0xcd, 0xe0, - 0xb4, 0x5c, 0x96, 0x5b, 0xee, 0x87, 0x42, 0xb5, 0x8c, 0xb6, 0xd4, 0xe8, 0x7b, 0x23, 0x70, 0x4b, - 0xb8, 0xa2, 0xa4, 0x45, 0xbd, 0x15, 0x1d, 0xb0, 0x20, 0x29, 0x3b, 0x5b, 0xba, 0x86, 0xb8, 0x2b, - 0x47, 0x18, 0xf5, 0x50, 0xaa, 0xf8, 0xc5, 0x62, 0xa5, 0x35, 0xe9, 0x73, 0x32, 0x9a, 0x4f, 0x49, - 0x23, 0x29, 0x7c, 0x43, 0xb4, 0x90, 0x17, 0x11, 0xc0, 0xf1, 0xe7, 0xe6, 0xcd, 0x94, 0xd7, 0xff, - 0x7e, 0x71, 0xf4, 0x90, 0x1f, 0x91, 0xf3, 0xa2, 0xa0, 0xae, 0x5f, 0x73, 0x0b, 0x2f, 0x84, 0x2a, - 0x52, 0xfd, 0xa3, 0x20, 0x0b, 0x54, 0xda, 0xcc, 0x2b, 0xea, 0x36, 0xfc, 0xcf, 0xa1, 0x51, 0x3b, - 0x61, 0x02, 0x70, 0x6f, 0xb5, 0x28, 0xfe, 0xc6, 0xa5, 0x6f, 0x35, 0x3c, 0x6c, 0xda, 0xe7, 0x3d, - 0x2d, 0x4b, 0x44, 0xad, 0x01, 0xab, 0x24, 0xa8, 0xe0, 0xfa, 0x59, 0xea, 0xa0, 0x86, 0x3b, 0x89, - 0xc8, 0x86, 0x00, 0x7d, 0xa5, 0x86, 0x20, 0xbf, 0x40, 0xea, 0x5b, 0x1a, 0x77, 0xe1, 0xa6, 0xa5, - 0xa1, 0xe7, 0x7c, 0x71, 0xf6, 0x3d, 0xf9, 0x87, 0xda, 0xea, 0xab, 0xd8, 0xc1, 0x5d, 0x45, 0xb5, - 0xf1, 0x49, 0xb2, 0x0a, 0x8c, 0x2e, 0x73, 0x19, 0xb7, 0x45, 0x62, 0xe6, 0x55, 0xde, 0xf8, 0x3e, - 0xcf, 0xe2, 0xe3, 0x63, 0x30, 0x8a, 0xd3, 0x0a, 0xe6, 0x32, 0x62, 0x62, 0xba, 0x46, 0x61, 0xee, - 0x9c, 0xe0, 0xab, 0x8a, 0x34, 0xd8, 0xe0, 0x49, 0x19, 0x60, 0x6f, 0x57, 0x4b, 0x2a, 0x1a, 0xf2, - 0x77, 0x51, 0x64, 0x4a, 0x3a, 0x9e, 0xe0, 0x1c, 0xbb, 0xea, 0xbd, 0xfb, 0x56, 0xe1, 0xaf, 0x5d, - 0x7e, 0x35, 0x8a, 0x57, 0x78, 0x23, 0xa7, 0xaf, 0xe4, 0x87, 0x4f, 0x7b, 0x82, 0x13, 0xb1, 0xe5, - 0x11, 0x0d, 0x37, 0xef, 0x56, 0xa9, 0x1b, 0xc2, 0x43, 0x9b, 0xf6, 0xbb, 0xdb, 0xfb, 0x7f, 0x6f, - 0xe2, 0x9a, 0x03, 0xe7, 0xac, 0x03, 0xda, 0x29, 0x36, 0x7a, 0x5c, 0xde, 0xc3, 0x24, 0xf5, 0x97, - 0x40, 0x36, 0x11, 0x00, 0x7d, 0x29, 0x1e, 0x72, 0x3b, 0x94, 0x54, 0x77, 0x59, 0xf2, 0x6f, 0x30, - 0xa9, 0xc9, 0x35, 0xe0, 0x78, 0x38, 0x81, 0xcb, 0x2b, 0x96, 0x96, 0xbd, 0xad, 0xff, 0x03, 0x11, - 0xca, 0x48, 0x78, 0x82, 0x10, 0x87, 0x3b, 0xcd, 0x75, 0xb0, 0x66, 0xe9, 0x63, 0xca, 0xef, 0x01, - 0xbc, 0x15, 0x84, 0x76, 0x61, 0x65, 0x20, 0x51, 0x19, 0xb8, 0x7e, 0xf3, 0x33, 0xee, 0x05, 0xd8, - 0xcd, 0xc4, 0x18, 0xc1, 0x78, 0x2c, 0x6f, 0xc9, 0x4c, 0x4c, 0xe5, 0x93, 0xe4, 0xaa, 0x8f, 0xa2, - 0xcc, 0xaf, 0x07, 0x08, 0x77, 0x79, 0x14, 0x97, 0x45, 0x89, 0x5b, 0x2b, 0xa4, 0xb3, 0x66, 0xef, - 0x5e, 0x62, 0xf4, 0x8d, 0x0a, 0xf2, 0x5b, 0x92, 0x2d, 0x00, 0xb2, 0xa6, 0x12, 0x28, 0x3c, 0xf1, - 0xf8, 0x91, 0xf6, 0x8d, 0xf0, 0x10, 0xa9, 0x3d, 0x76, 0x9f, 0x91, 0x15, 0x73, 0x0b, 0xda, 0x79, - 0xbb, 0x85, 0xee, 0xe8, 0x4b, 0x4f, 0x2c, 0x08, 0xd9, 0xae, 0x9b, 0x8c, 0xcf, 0xf4, 0x7b, 0x41, - 0xeb, 0xeb, 0x53, 0x86, 0x99, 0x10, 0xc1, 0xea, 0x32, 0xb7, 0x14, 0x2c, 0x22, 0x8d, 0x30, 0x86, - 0x9a, 0x06, 0xb3, 0xce, 0xfe, 0xfc, 0xff, 0xdb, 0xc6, 0xa7, 0xba, 0x15, 0xfd, 0x1a, 0x64, 0x4a, - 0xa6, 0xde, 0xf8, 0xe2, 0xdc, 0x52, 0xe9, 0x86, 0x8a, 0x4b, 0xce, 0xbb, 0xc4, 0x29, 0x34, 0x4d, - 0xd0, 0xda, 0x04, 0x44, 0x77, 0xa4, 0x30, 0x5c, 0x44, 0x24, 0xdc, 0xa9, 0x27, 0xc3, 0x28, 0x4c, - 0xa6, 0x80, 0x01, 0x74, 0xad, 0xeb, 0xe5, 0xc6, 0xde, 0x2b, 0x09, 0x53, 0x41, 0x49, 0x0f, 0x28, - 0x91, 0x25, 0x6a, 0x25, 0x91, 0x0c, 0xab, 0xdd, 0x2a, 0xbe, 0xf8, 0xd2, 0x06, 0x95, 0x3b, 0x03, - 0x56, 0xfc, 0xa8, 0x85, 0xca, 0x74, 0xe6, 0x9b, 0x4e, 0x04, 0x0f, 0x60, 0xac, 0x1c, 0x09, 0xf2, - 0xf6, 0xd9, 0x5b, 0x45, 0x9f, 0xf4, 0x92, 0x98, 0x28, 0x99, 0x94, 0x1b, 0xe4, 0x67, 0xc1, 0xa4, - 0x94, 0x6d, 0x4f, 0x81, 0xda, 0x8d, 0xff, 0x28, 0x83, 0xf1, 0x0d, 0xfb, 0xac, 0x29, 0x5a, 0x31, - 0x5d, 0x02, 0x9e, 0xa6, 0x11, 0x5e, 0x4b, 0x59, 0x29, 0x78, 0x3f, 0xc6, 0x29, 0x69, 0xa8, 0xea, - 0x37, 0x30, 0x6c, 0x89, 0x4f, 0x04, 0x48, 0xb1, 0x9c, 0xb7, 0x9a, 0x1c, 0xa2, 0xcc, 0x4a, 0xeb, - 0x47, 0xba, 0x9c, 0xa3, 0xf8, 0x23, 0x9d, 0x84, 0xa1, 0x12, 0x72, 0xdf, 0x98, 0xd6, 0x9b, 0x0f, - 0xf8, 0x9a, 0x88, 0x88, 0xd8, 0x4a, 0x15, 0x31, 0x53, 0x34, 0xde, 0x3c, 0xe4, 0x23, 0x16, 0x1f, - 0xdc, 0x0a, 0x03, 0xc3, 0x13, 0x70, 0x0f, 0xd2, 0x66, 0xb8, 0x81, 0xfc, 0x2e, 0xf4, 0xf8, 0x14, - 0x76, 0x8d, 0x70, 0x6b, 0x42, 0xc6, 0x1c, 0xe0, 0xe0, 0xa3, 0x1b, 0x95, 0x5f, 0x5f, 0x2d, 0xc3, - 0x3d, 0x62, 0xa2, 0x6b, 0x3f, 0xc0, 0x6c, 0x81, 0x23, 0x5f, 0xba, 0xe7, 0xb0, 0x44, 0xb4, 0xc0, - 0x73, 0x73, 0xd7, 0x7f, 0xf2, 0x75, 0x4e, 0x3b, 0xa0, 0xa5, 0x32, 0x61, 0x40, 0x72, 0x03, 0xc2, - 0xd1, 0x22, 0x4b, 0xc4, 0x52, 0x66, 0xaa, 0x5e, 0x0a, 0x15, 0xb7, 0x67, 0x05, 0x5b, 0xf8, 0xea, - 0x89, 0xef, 0x17, 0x83, 0x3b, 0xfd, 0xd7, 0x40, 0x89, 0x0f, 0xc4, 0xd7, 0xae, 0x98, 0xd8, 0xd2, - 0x8a, 0x78, 0xe5, 0x72, 0x43, 0x01, 0x64, 0x1d, 0xde, 0xda, 0x61, 0x5c, 0xc6, 0xcd, 0xc3, 0x56, - 0xff, 0xad, 0xc8, 0xcb, 0xa0, 0x4f, 0x32, 0x56, 0x9f, 0xcf, 0x9c, 0x58, 0xae, 0x77, 0x47, 0x20, - 0xc2, 0x5b, 0x46, 0x79, 0x19, 0x6a, 0x7f, 0x97, 0x5b, 0x4c, 0xb6, 0xdc, 0x9d, 0x6b, 0x4d, 0xef, - 0x2d, 0x4b, 0xbc, 0x7b, 0xcf, 0xe3, 0x64, 0xee, 0x94, 0x1d, 0x1f, 0xc3, 0x19, 0x47, 0x42, 0x3a, - 0xe3, 0x75, 0x81, 0x83, 0xc0, 0x1e, 0x1f, 0xcd, 0xd8, 0x34, 0x1d, 0x81, 0x82, 0xb2, 0x9b, 0x1a, - 0xd7, 0x06, 0x59, 0x85, 0x34, 0x45, 0xcb, 0x75, 0x4b, 0xb8, 0xa4, 0x14, 0x9a, 0x42, 0xf1, 0xa4, - 0xf6, 0x4e, 0xc1, 0x06, 0x5e, 0x7c, 0x72, 0x88, 0x1a, 0xe9, 0x0c, 0xd9, 0x0c, 0x8e, 0xed, 0x19, - 0xa8, 0x6a, 0x68, 0x5a, 0x4e, 0x99, 0x7c, 0xca, 0x4b, 0x53, 0x43, 0xa8, 0xd0, 0xed, 0xd1, 0x9e, - 0xed, 0x2c, 0xc1, 0x31, 0xcf, 0xed, 0x46, 0x51, 0x07, 0xfe, 0xd5, 0xd0, 0x2d, 0x4a, 0x23, 0x60, - 0x9e, 0xcf, 0x5e, 0x5c, 0xdd, 0x85, 0x18, 0xcb, 0x98, 0x8c, 0x0a, 0xa7, 0xc7, 0x0b, 0x4c, 0x24, - 0x11, 0x06, 0x51, 0xfe, 0x7e, 0x3b, 0x0e, 0x1d, 0x73, 0xe5, 0x28, 0x61, 0x39, 0x85, 0xe6, 0x95, - 0x13, 0x32, 0xb4, 0x73, 0x7f, 0xc2, 0x94, 0x66, 0xa2, 0x54, 0x9c, 0x97, 0xae, 0x49, 0xc4, 0x83, - 0x2f, 0x63, 0x78, 0xef, 0xf0, 0x08, 0x85, 0x94, 0x4b, 0xe1, 0x11, 0x96, 0x4b, 0xfd, 0xf6, 0xb2, - 0x05, 0xeb, 0xb2, 0x95, 0x38, 0xdc, 0x7c, 0x8f, 0xd5, 0xd4, 0xd8, 0x60, 0x49, 0xb6, 0x22, 0x2f, - 0x00, 0xda, 0xd6, 0x63, 0x49, 0x71, 0x28, 0x70, 0x32, 0xb4, 0x6d, 0xbd, 0xe7, 0x50, 0x25, 0x3a, - 0x6b, 0x94, 0xab, 0xaf, 0x4d, 0x27, 0xf0, 0xc6, 0x72, 0x51, 0x73, 0x73, 0xd2, 0x5e, 0xf2, 0x59, - 0x93, 0xbc, 0x79, 0x19, 0xda, 0x66, 0x95, 0xf5, 0x8b, 0x4e, 0x2c, 0xf2, 0xd6, 0xf2, 0x40, 0x79, - 0x32, 0x7f, 0xc7, 0xfd, 0x33, 0xb3, 0x78, 0xe8, 0x4b, 0x0a, 0x62, 0x7c, 0x52, 0x3d, 0x43, 0xc7, - 0xdc, 0x23, 0xb6, 0x00, 0xc7, 0x1e, 0x51, 0x9b, 0xa9, 0x0f, 0x9a, 0x1f, 0xd2, 0xf1, 0xd3, 0x22, - 0xf8, 0xbc, 0x76, 0x26, 0x16, 0x39, 0x7f, 0x3e, 0x33, 0x84, 0x4f, 0xf0, 0x96, 0x68, 0xf1, 0xe9, - 0xe3, 0x94, 0x6e, 0xd5, 0xfa, 0x9f, 0x51, 0x9e, 0xbd, 0x4c, 0x4a, 0x4a, 0xcd, 0x77, 0x36, 0xc8, - 0xc8, 0x38, 0x37, 0x19, 0x4c, 0x5b, 0x6f, 0xfd, 0x82, 0x14, 0xde, 0xaa, 0x11, 0xb5, 0xb7, 0x62, - 0x2e, 0xc4, 0xf7, 0x2f, 0xd0, 0x85, 0x1b, 0xfd, 0x42, 0x5e, 0x08, 0xb8, 0x62, 0x10, 0xf1, 0x0b, - 0x6c, 0x1d, 0x32, 0x10, 0x89, 0x33, 0xc2, 0xc3, 0x83, 0x48, 0x6c, 0xd8, 0xa0, 0xf0, 0xd9, 0x55, - 0x05, 0xb3, 0x3e, 0x62, 0xba, 0xed, 0x73, 0x83, 0xf7, 0x38, 0x5a, 0xb7, 0x10, 0xaf, 0x37, 0x52, - 0xdb, 0x25, 0x6b, 0xf6, 0x86, 0xf5, 0xb6, 0x42, 0x14, 0xfb, 0xf0, 0x6e, 0x49, 0x32, 0x4f, 0x4f, - 0x59, 0x96, 0xa0, 0x4c, 0xe0, 0xbc, 0xa0, 0x94, 0x6a, 0x7b, 0x96, 0x22, 0x9c, 0x19, 0xa4, 0xfa, - 0x4b, 0xc8, 0x21, 0x25, 0x8b, 0x73, 0xd8, 0x54, 0x1b, 0x86, 0xdd, 0xcd, 0x55, 0x06, 0x38, 0xbc, - 0xde, 0x84, 0x97, 0x00, 0xb6, 0x8e, 0x17, 0xeb, 0x85, 0x42, 0xe5, 0x24, 0x3b, 0x97, 0xc7, 0xd7, - 0x26, 0xa2, 0x92, 0xc5, 0x13, 0x95, 0xa4, 0x8a, 0x8e, 0xbc, 0xd5, 0x8b, 0xed, 0xbd, 0x30, 0x74, - 0x49, 0x86, 0xfb, 0x42, 0x8f, 0x73, 0x2f, 0xcf, 0xb6, 0xcd, 0x9e, 0x46, 0xcf, 0x67, 0xf4, 0xe9, - 0xe0, 0xfb, 0x5b, 0xab, 0x0d, 0x62, 0x0c, 0xf6, 0x65, 0x1d, 0x72, 0x33, 0x8f, 0xbc, 0xd5, 0xb4, - 0xf3, 0x62, 0x01, 0x6e, 0x6a, 0x88, 0x2c, 0xd6, 0x21, 0x6d, 0xf5, 0x1f, 0x23, 0x44, 0x0c, 0x22, - 0x55, 0x7c, 0x9b, 0x4d, 0x36, 0xba, 0xb1, 0xb2, 0xf1, 0xca, 0xaf, 0x95, 0x89, 0x0e, 0xb9, 0xa8, - 0xf0, 0x55, 0x2d, 0x8b, 0x6f, 0x57, 0xac, 0x40, 0x5c, 0x10, 0xec, 0xfd, 0x7f, 0xdf, 0x1c, 0xf5, - 0xc4, 0x76, 0x50, 0x8f, 0x59, 0x5c, 0x7b, 0xd1, 0x13, 0x66, 0xfa, 0x9c, 0x61, 0x4a, 0x4d, 0x4b, - 0xd5, 0xc1, 0x28, 0x4f, 0x40, 0xd4, 0x16, 0xee, 0xc9, 0x2e, 0x72, 0xf2, 0x52, 0xa3, 0xf4, 0xe1, - 0x3a, 0x76, 0x79, 0x15, 0xbf, 0xdd, 0x2b, 0x98, 0xdc, 0x68, 0xbf, 0x6f, 0x0f, 0x08, 0x43, 0x99, - 0x2a, 0x1a, 0x2e, 0xac, 0x19, 0x87, 0x03, 0x20, 0xfd, 0x3d, 0xa3, 0xf1, 0x03, 0xdf, 0xeb, 0x6e, - 0xd4, 0xe5, 0xfd, 0x65, 0x24, 0x94, 0xc2, 0xc4, 0x83, 0x7d, 0x9f, 0xdc, 0x6e, 0x14, 0x09, 0xcb, - 0xbc, 0x2d, 0xb3, 0xae, 0x8e, 0x2a, 0x1e, 0xac, 0xd3, 0x3a, 0x0f, 0xcb, 0xb9, 0x8a, 0x64, 0x17, - 0xda, 0xb9, 0x4f, 0xbb, 0xbf, 0xd5, 0x01, 0xd1, 0xdc, 0xf3, 0x2b, 0x5e, 0xe9, 0xf2, 0x92, 0x0a, - 0x62, 0xc2, 0xe4, 0x43, 0xc6, 0xf7, 0x2f, 0xeb, 0x78, 0x4f, 0xff, 0x44, 0x16, 0x13, 0xce, 0x5c, - 0xce, 0x77, 0xd6, 0x04, 0x51, 0x4c, 0xd3, 0x67, 0x8d, 0x00, 0x2d, 0x1f, 0xec, 0x10, 0x9b, 0x50, - 0x62, 0xaf, 0xd2, 0xb8, 0x35, 0x1a, 0xd8, 0x1f, 0xad, 0x63, 0x3a, 0xac, 0x6e, 0x7c, 0x5a, 0xab, - 0x0a, 0x89, 0x0d, 0x94, 0xe7, 0x95, 0x70, 0xc2, 0x13, 0x68, 0x06, 0xc2, 0x63, 0x0b, 0xac, 0x22, - 0xff, 0xc6, 0xfa, 0x50, 0xdc, 0x81, 0x58, 0x08, 0xf6, 0x90, 0x8c, 0xb1, 0x60, 0xd4, 0x86, 0xcf, - 0x58, 0x71, 0x2c, 0x9a, 0xbc, 0x95, 0x11, 0x8f, 0xf5, 0x17, 0x31, 0x7f, 0x64, 0xfb, 0x46, 0x10, - 0xa2, 0x10, 0xc7, 0x28, 0x0f, 0x77, 0xfb, 0xba, 0x7c, 0x26, 0x47, 0x0f, 0x69, 0xf8, 0x47, 0xfc, - 0x9c, 0x69, 0x44, 0xee, 0x95, 0xd2, 0xba, 0x17, 0x26, 0x81, 0x31, 0x8d, 0xc8, 0xe6, 0xe5, 0x43, - 0x71, 0x70, 0x30, 0x28, 0xd5, 0xea, 0xcf, 0xde, 0x76, 0x07, 0x12, 0x56, 0x84, 0x6b, 0xb5, 0x50, - 0xeb, 0x3c, 0x41, 0x83, 0xd2, 0xcf, 0xd6, 0x6e, 0x8f, 0x6e, 0x6a, 0x3b, 0x60, 0x7d, 0x50, 0x0e, - 0xfb, 0x33, 0x5a, 0xaf, 0x31, 0x2a, 0xbc, 0x95, 0x12, 0x72, 0x2d, 0x06, 0x8c, 0x01, 0xeb, 0x80, - 0xae, 0x8e, 0x90, 0xf8, 0x97, 0x86, 0xc2, 0x74, 0xaf, 0x43, 0xa6, 0xd9, 0xbd, 0x16, 0x82, 0x74, - 0xd0, 0xe5, 0x58, 0xd2, 0xfb, 0x95, 0x86, 0x1d, 0x6e, 0x9e, 0x24, 0x80, 0xa0, 0x1b, 0x3e, 0x1a, - 0x69, 0x3e, 0xf3, 0xd3, 0xe6, 0x0a, 0x53, 0x65, 0x03, 0x9a, 0x96, 0x09, 0xee, 0xf5, 0x97, 0xe1, - 0x74, 0xa0, 0x9b, 0x68, 0x4f, 0x46, 0xb9, 0xef, 0xa9, 0xc3, 0xc6, 0x51, 0x96, 0x75, 0xa0, 0x9e, - 0x7e, 0x40, 0xe8, 0xdf, 0x2d, 0x19, 0x40, 0x66, 0x96, 0xfb, 0x1a, 0x7e, 0x56, 0xdd, 0xd8, 0xe4, - 0x6c, 0x85, 0x83, 0xf8, 0x47, 0x8b, 0x98, 0x14, 0xba, 0x2f, 0x7e, 0xbf, 0x43, 0x52, 0xdb, 0x67, - 0x76, 0xce, 0xf9, 0x9e, 0xa1, 0x3a, 0x4a, 0xce, 0xaa, 0x82, 0x5b, 0xa4, 0x20, 0xb9, 0x6b, 0x23, - 0xbb, 0x9e, 0xd3, 0x1b, 0x8c, 0x3b, 0xde, 0x61, 0x3f, 0xc9, 0x30, 0x9e, 0x71, 0x42, 0x77, 0x50, - 0x5f, 0x13, 0xdd, 0x94, 0xde, 0xf1, 0xe0, 0x01, 0x72, 0x01, 0xe9, 0xb8, 0xad, 0x5e, 0x88, 0x13, - 0xf6, 0x4a, 0xab, 0xaa, 0x8b, 0xcd, 0x83, 0x2b, 0xbd, 0xb9, 0xc2, 0xad, 0x5f, 0x59, 0x82, 0x63, - 0x7c, 0x2f, 0xab, 0xab, 0x9d, 0x9b, 0x7e, 0x71, 0x64, 0x6f, 0x4f, 0x50, 0x8c, 0x41, 0x53, 0x63, - 0xca, 0x4a, 0x18, 0x5f, 0x1a, 0xc6, 0xdd, 0x4a, 0xc0, 0xcc, 0x8c, 0xe1, 0x94, 0xa7, 0x9e, 0x7d, - 0xee, 0x9c, 0xb1, 0x9a, 0x61, 0x50, 0xfe, 0x8e, 0x92, 0xf6, 0x92, 0xe8, 0xc1, 0x95, 0x3f, 0xc6, - 0x0c, 0x7e, 0xcb, 0xe1, 0x9a, 0x91, 0x00, 0xd2, 0x10, 0x38, 0xa1, 0x82, 0x7d, 0x03, 0xb9, 0x50, - 0xe3, 0xa4, 0x3a, 0x82, 0xc8, 0xfc, 0xf7, 0xc0, 0x20, 0xac, 0xe3, 0x29, 0x1f, 0x8a, 0x73, 0xad, - 0x8c, 0xef, 0xcc, 0xb8, 0xb4, 0xf2, 0x20, 0xc3, 0x8c, 0xff, 0xfc, 0x32, 0x56, 0x03, 0x75, 0xc6, - 0x5a, 0xd7, 0x60, 0xc9, 0x5c, 0xa2, 0x92, 0x03, 0x2a, 0x66, 0x62, 0x4c, 0xfc, 0xbf, 0x06, 0x0e, - 0xe0, 0x1f, 0x39, 0x83, 0x09, 0x82, 0xe3, 0xbe, 0x78, 0x9e, 0x9c, 0x00, 0x47, 0x67, 0xf6, 0xff, - 0x36, 0x78, 0x6f, 0xdc, 0xdd, 0x40, 0x98, 0xba, 0x1e, 0x28, 0x5f, 0x35, 0x7c, 0xce, 0x44, 0x52, - 0xfd, 0x92, 0xb5, 0x2f, 0xce, 0x5f, 0xa7, 0xc9, 0x49, 0xd0, 0x5c, 0xb4, 0x85, 0x6c, 0xaa, 0x90, - 0xc5, 0xaf, 0xb8, 0x6d, 0xb0, 0x1d, 0x58, 0x64, 0xb5, 0x5e, 0x35, 0x3d, 0x09, 0x4f, 0x52, 0x92, - 0x81, 0x1f, 0xdc, 0x18, 0x7b, 0x1f, 0xbc, 0x80, 0xec, 0x70, 0x42, 0x96, 0x32, 0x94, 0xc8, 0xf7, - 0xd2, 0xd5, 0xb8, 0xc0, 0xb6, 0xee, 0xbc, 0xf0, 0xfd, 0x8d, 0x09, 0x15, 0xd7, 0xf9, 0x6f, 0xb9, - 0x50, 0xfb, 0x73, 0x9f, 0x6a, 0x03, 0x9a, 0xa0, 0x22, 0xc9, 0x47, 0x1b, 0x0e, 0x0d, 0x99, 0x95, - 0x05, 0x90, 0x88, 0xd1, 0x2f, 0x9b, 0xce, 0x1a, 0x4e, 0x82, 0x6a, 0x0c, 0x94, 0xb2, 0xd7, 0x7e, - 0x01, 0xbc, 0x21, 0xe8, 0x8e, 0x2c, 0x82, 0xdf, 0x80, 0xad, 0x13, 0x77, 0xa0, 0xa5, 0x30, 0xc2, - 0x8e, 0x72, 0x33, 0x4a, 0x56, 0x41, 0x69, 0x66, 0x44, 0xee, 0xed, 0x9b, 0x28, 0xf7, 0x8e, 0x15, - 0x18, 0x8f, 0x65, 0xfe, 0xab, 0xa8, 0xa3, 0x5b, 0x73, 0xc4, 0xc9, 0xb8, 0x0e, 0xe3, 0x07, 0xa1, - 0x2c, 0x4b, 0xbd, 0xdf, 0x09, 0x4e, 0x3e, 0xa0, 0x7e, 0x99, 0xf3, 0xb7, 0xdd, 0x0a, 0x1c, 0x5d, - 0x2b, 0xf1, 0x75, 0xd6, 0x24, 0xcb, 0xb9, 0xb2, 0x8e, 0x90, 0x5e, 0x86, 0xb2, 0x73, 0x32, 0x0d, - 0x23, 0xe9, 0xfc, 0x7f, 0x98, 0xda, 0x90, 0x63, 0x1b, 0xaf, 0xad, 0x9a, 0x15, 0x14, 0x7d, 0xaa, - 0x80, 0x42, 0x19, 0xfb, 0x9f, 0x86, 0xf3, 0xab, 0xc4, 0xd4, 0x73, 0xc4, 0x8c, 0xe8, 0xd5, 0xce, - 0x4a, 0xab, 0xc8, 0x4c, 0x5f, 0xec, 0x09, 0xe8, 0x17, 0xc4, 0x2d, 0xf1, 0xa6, 0x4e, 0xbc, 0x78, - 0x3f, 0x91, 0x3b, 0x98, 0xb3, 0x98, 0xae, 0x61, 0xc1, 0xaf, 0x45, 0xf6, 0x53, 0x2c, 0x0a, 0x51, - 0x3d, 0xc4, 0x75, 0xb7, 0x0a, 0xc1, 0xfd, 0x62, 0x8f, 0x69, 0x8c, 0x3c, 0x74, 0x73, 0xa8, 0xc2, - 0x51, 0x6e, 0xb9, 0x38, 0xba, 0xdf, 0xeb, 0xae, 0x16, 0xf9, 0x34, 0x8b, 0xed, 0xb1, 0xd5, 0x97, - 0xd6, 0x5f, 0xba, 0xcf, 0x24, 0x9a, 0x89, 0x9d, 0x3f, 0xf5, 0x06, 0x65, 0xc1, 0x8e, 0x71, 0xb9, - 0x92, 0xed, 0xe4, 0xe5, 0xd9, 0xf8, 0x23, 0x33, 0xeb, 0x58, 0x46, 0x30, 0x47, 0x86, 0x1e, 0x0b, - 0xb3, 0xab, 0x67, 0x94, 0xfc, 0x48, 0x64, 0x62, 0x49, 0xe5, 0x80, 0x8d, 0x97, 0x44, 0x69, 0x9b, - 0x08, 0x44, 0x23, 0xd4, 0x81, 0x0e, 0x61, 0xf5, 0x9f, 0xf9, 0x97, 0x01, 0xda, 0xf6, 0x95, 0x72, - 0x07, 0x80, 0x62, 0x88, 0x4d, 0x55, 0xdd, 0xf5, 0xfb, 0x3e, 0x96, 0x2b, 0x50, 0xf5, 0xf2, 0x0a, - 0x5c, 0x29, 0x7d, 0x98, 0x0d, 0xd4, 0xc7, 0x30, 0x0b, 0x48, 0x6f, 0xd3, 0x1e, 0x3b, 0xfe, 0x38, - 0x04, 0xce, 0xe7, 0xc1, 0x56, 0x9a, 0x66, 0x6d, 0xa4, 0xc5, 0x5d, 0x46, 0x7b, 0xce, 0x9d, 0x6f, - 0x63, 0x79, 0xb7, 0x4a, 0x9b, 0x0d, 0x62, 0x2c, 0x78, 0x1a, 0x02, 0x92, 0x33, 0xc1, 0xe0, 0x9e, - 0xd0, 0x7a, 0x41, 0xbe, 0x0d, 0x6d, 0xd8, 0x90, 0x48, 0x2e, 0x8b, 0xa2, 0x8a, 0x2f, 0xb4, 0x8b, - 0x5f, 0x65, 0xd4, 0x08, 0x01, 0x6e, 0xaf, 0x01, 0x5a, 0x7e, 0x6e, 0x80, 0xd4, 0x06, 0xf4, 0xfc, - 0x75, 0x8b, 0xef, 0x3a, 0x14, 0x6a, 0x1b, 0xab, 0x60, 0x82, 0xe8, 0xf0, 0xf2, 0x04, 0xa8, 0xb8, - 0x7d, 0xcc, 0xa5, 0x07, 0xbd, 0xb3, 0xaf, 0x1b, 0x88, 0xc6, 0xb8, 0xba, 0x0a, 0x50, 0xb6, 0xf6, - 0xde, 0x14, 0x35, 0x35, 0x6d, 0x96, 0x87, 0x6d, 0xea, 0x1e, 0x5e, 0x19, 0x11, 0x06, 0x53, 0xcb, - 0x17, 0x6b, 0x8d, 0x90, 0x6b, 0xc3, 0x7f, 0x78, 0x55, 0x43, 0xf1, 0x8f, 0xab, 0x20, 0x69, 0x53, - 0xc3, 0x71, 0x73, 0x14, 0xad, 0x6a, 0xb8, 0xf6, 0x96, 0x05, 0x51, 0x2e, 0x11, 0x0b, 0xfc, 0x25, - 0x68, 0x71, 0xc8, 0x70, 0x2e, 0x34, 0xe9, 0x51, 0x78, 0x30, 0x96, 0x8f, 0xbb, 0x5c, 0x5b, 0xed, - 0x99, 0xc5, 0xbf, 0xd9, 0x44, 0x80, 0x2b, 0x9f, 0x02, 0x86, 0x03, 0xe3, 0x43, 0x99, 0xd4, 0xdf, - 0xf7, 0xc1, 0x02, 0xd6, 0xfe, 0x1b, 0x4d, 0xca, 0x71, 0xeb, 0xa2, 0xb0, 0x4b, 0x6f, 0x5a, 0x11, - 0x2e, 0xbf, 0x23, 0xe1, 0x7d, 0x92, 0xe5, 0xb9, 0x50, 0x3b, 0x6f, 0x9f, 0x25, 0x60, 0xa5, 0x18, - 0x73, 0x1d, 0x86, 0xd0, 0xbb, 0xfa, 0x54, 0x34, 0x4d, 0x9d, 0xdc, 0xb5, 0x73, 0x17, 0x42, 0x06, - 0x90, 0x06, 0x29, 0xd5, 0x4a, 0xc6, 0xdf, 0x9c, 0xfb, 0x76, 0xea, 0xf8, 0xed, 0x1a, 0x9f, 0xff, - 0xc4, 0x09, 0x0a, 0xfc, 0x9c, 0x9d, 0x1a, 0xfd, 0x09, 0x40, 0xd8, 0xb1, 0xce, 0x68, 0x72, 0xf9, - 0xc1, 0xc7, 0x4f, 0xc2, 0xe4, 0x42, 0xab, 0xb1, 0x99, 0x0f, 0x49, 0x8c, 0xbd, 0x9a, 0xfb, 0x83, - 0x9f, 0x07, 0x62, 0x57, 0xdf, 0xd0, 0xfa, 0xf2, 0x1a, 0xf0, 0x43, 0x60, 0x13, 0xc3, 0x97, 0xb4, - 0xeb, 0xc7, 0xbd, 0xf9, 0x40, 0xf6, 0x40, 0x64, 0xc8, 0xee, 0x6b, 0x0d, 0x52, 0xb8, 0x5b, 0xdd, - 0xbc, 0x2c, 0x2b, 0x64, 0xe1, 0x1d, 0xa2, 0x40, 0x62, 0x7b, 0x16, 0x91, 0x2f, 0x2c, 0x0d, 0x87, - 0xbc, 0x0f, 0x8f, 0x21, 0xfd, 0x90, 0x6a, 0x4e, 0x71, 0x63, 0x94, 0x61, 0x7a, 0x7c, 0x78, 0x3b, - 0xa4, 0x8c, 0xb8, 0x43, 0xeb, 0xbc, 0x34, 0xc3, 0xb7, 0xd6, 0x17, 0x7b, 0x78, 0x8e, 0x4d, 0xdb, - 0x29, 0x70, 0xdb, 0x95, 0x2e, 0xdf, 0x64, 0xa0, 0xdd, 0xa6, 0x83, 0x15, 0x8e, 0x08, 0x2c, 0x89, - 0xf9, 0x52, 0xd8, 0xc0, 0x98, 0x76, 0x7a, 0xdd, 0xc5, 0x0b, 0x86, 0xf4, 0x74, 0xe1, 0xde, 0x00, - 0x92, 0xc2, 0x08, 0x91, 0x52, 0xa8, 0xf5, 0xf8, 0xf4, 0x93, 0xb2, 0x03, 0x1f, 0xd0, 0x7b, 0x9c, - 0xe7, 0xee, 0x58, 0xd4, 0x53, 0xe8, 0x8c, 0xde, 0xd7, 0x26, 0xcb, 0xbb, 0xa1, 0xcc, 0x60, 0xbd, - 0x4a, 0xf2, 0x50, 0x72, 0x3a, 0x26, 0x14, 0x83, 0xc3, 0xe4, 0xd6, 0x1c, 0xc1, 0x10, 0xc4, 0xce, - 0x24, 0x97, 0x5b, 0xb2, 0xef, 0x0f, 0x27, 0x80, 0x91, 0x68, 0xcd, 0xc3, 0x5e, 0xd9, 0x56, 0xdf, - 0x83, 0x02, 0xd2, 0xb1, 0x36, 0x96, 0xd5, 0x59, 0xc8, 0xa3, 0x6d, 0x53, 0x20, 0x9a, 0x30, 0xe7, - 0x0b, 0x65, 0xfc, 0x12, 0xa4, 0x54, 0xea, 0xaa, 0x4a, 0x98, 0xdb, 0x19, 0x85, 0x0b, 0x65, 0x5c, - 0x9d, 0x22, 0xcc, 0x80, 0x1c, 0xbd, 0x5b, 0x50, 0xf1, 0xed, 0xea, 0xb1, 0x83, 0x81, 0x82, 0x3d, - 0x95, 0x81, 0xc1, 0x75, 0x10, 0xe1, 0xc5, 0xaf, 0x87, 0x25, 0x8e, 0x8f, 0xaf, 0x13, 0x70, 0xd5, - 0xc8, 0xd8, 0x88, 0x5e, 0xc3, 0x62, 0x69, 0xb1, 0xce, 0x8e, 0x77, 0xd5, 0x59, 0x55, 0xff, 0x90, - 0x23, 0xee, 0x98, 0x89, 0x74, 0x28, 0xc1, 0xcb, 0xb0, 0xb7, 0xd7, 0xa7, 0xdc, 0x53, 0xf8, 0xbb, - 0xf2, 0xbd, 0x8f, 0x8b, 0x52, 0xd0, 0xee, 0xa8, 0x08, 0xd2, 0x90, 0xe3, 0x87, 0x6a, 0x26, 0x27, - 0xcd, 0x5d, 0xca, 0xb7, 0x4b, 0x9a, 0x9b, 0xfd, 0xbc, 0x1b, 0xd2, 0x2c, 0xa4, 0x3f, 0xed, 0xe3, - 0x83, 0xbf, 0xea, 0xce, 0x46, 0xe3, 0xe8, 0x20, 0x25, 0x42, 0x3d, 0x3d, 0x16, 0xee, 0xd9, 0x73, - 0xec, 0xc7, 0x90, 0xcf, 0x5d, 0x2b, 0xdb, 0x17, 0x18, 0xa9, 0x85, 0x32, 0x8b, 0xf4, 0x10, 0xaf, - 0x72, 0x62, 0xb1, 0xc8, 0x9e, 0x89, 0xe7, 0x15, 0x92, 0x94, 0x47, 0x8a, 0xd8, 0x96, 0x01, 0xe9, - 0x43, 0x5f, 0x32, 0x86, 0x21, 0x78, 0xff, 0xa2, 0xb2, 0x0b, 0xa4, 0xaa, 0xb8, 0x12, 0x1e, 0x37, - 0x3a, 0xbb, 0xb6, 0x11, 0x6b, 0x6f, 0x26, 0x8b, 0x42, 0x17, 0x5f, 0x32, 0x77, 0x71, 0x02, 0xcb, - 0x5c, 0x7b, 0x16, 0xef, 0x6d, 0x4d, 0xe3, 0x7e, 0xda, 0xe3, 0xe6, 0xc6, 0x76, 0xcd, 0x55, 0xbf, - 0xfd, 0x42, 0x38, 0x60, 0x6d, 0x1d, 0x83, 0x78, 0x76, 0xdd, 0xd8, 0xe9, 0xb6, 0x38, 0xef, 0x7f, - 0xf4, 0xf2, 0xe4, 0x66, 0x5b, 0x6f, 0xc3, 0x7b, 0xe4, 0xc3, 0x4e, 0xf6, 0x27, 0x66, 0x5d, 0x0e, - 0xf9, 0xf4, 0x5a, 0x18, 0xb3, 0x55, 0x63, 0x4c, 0x25, 0x91, 0x9f, 0x85, 0x35, 0xdb, 0x4d, 0xc0, - 0x50, 0xf3, 0xb9, 0x21, 0xf3, 0xa4, 0x8d, 0x58, 0xa8, 0x82, 0x57, 0x16, 0xff, 0x67, 0xd9, 0x0c, - 0xba, 0x29, 0x5a, 0x8d, 0x5c, 0x00, 0x6d, 0x98, 0xb8, 0xa4, 0x6a, 0xd9, 0x5a, 0xcd, 0x93, 0x44, - 0xf8, 0xd1, 0x24, 0xbb, 0x6e, 0x53, 0x88, 0x01, 0xdb, 0xf0, 0xc9, 0x85, 0x0e, 0x0f, 0xc9, 0x6c, - 0xe1, 0x42, 0x12, 0x24, 0x39, 0x51, 0xa1, 0xc0, 0x75, 0x68, 0x87, 0x18, 0x74, 0x17, 0xfa, 0x6d, - 0xdc, 0xaa, 0x7c, 0x31, 0x48, 0x65, 0xe2, 0x39, 0x65, 0x65, 0x68, 0x5a, 0x38, 0x0e, 0x78, 0xee, - 0xaf, 0x78, 0x78, 0x47, 0x5f, 0x6d, 0xd4, 0x76, 0x85, 0x72, 0xc7, 0xad, 0x83, 0xf6, 0x22, 0xa5, - 0xa2, 0xdd, 0x8e, 0x05, 0x3f, 0x99, 0x1d, 0xd8, 0xff, 0xf0, 0x46, 0x7d, 0x3e, 0x22, 0xf4, 0xe6, - 0xc1, 0xfd, 0x7e, 0xb9, 0x9c, 0xbd, 0xdb, 0x2e, 0x20, 0xcf, 0xfc, 0xa2, 0xc2, 0xc9, 0xcd, 0xba, - 0xee, 0x21, 0xd9, 0xe1, 0x20, 0x06, 0x4e, 0x75, 0x30, 0x5e, 0xd4, 0x95, 0x64, 0xd4, 0x23, 0xbc, - 0x5c, 0xc6, 0xd0, 0xd4, 0x8b, 0x67, 0x2c, 0x0a, 0x0c, 0x8f, 0x73, 0xae, 0x7d, 0xb3, 0x31, 0x33, - 0x5b, 0xb0, 0x2d, 0x64, 0x4a, 0x4b, 0x56, 0xe7, 0xa5, 0x6e, 0x6d, 0xc4, 0xf1, 0x19, 0xdb, 0xaf, - 0x28, 0xa3, 0xbc, 0x3a, 0xcb, 0x62, 0x99, 0xcd, 0x9b, 0x82, 0x8b, 0x16, 0xad, 0x9a, 0x48, 0xd5, - 0x85, 0x2f, 0xd8, 0x68, 0x76, 0x5a, 0x4e, 0x7c, 0x00, 0xe1, 0x7a, 0x2a, 0xb9, 0xe1, 0xf8, 0xa1, - 0xd6, 0x61, 0xd4, 0xc0, 0xfb, 0x9d, 0x79, 0x3f, 0xab, 0x4f, 0x23, 0xea, 0x11, 0x38, 0x03, 0x32, - 0x5d, 0xa8, 0xef, 0xac, 0x12, 0xb2, 0xd8, 0xfe, 0x3d, 0xf7, 0x27, 0x34, 0xe3, 0x11, 0xe7, 0xac, - 0xca, 0xce, 0xa2, 0xac, 0x44, 0x68, 0x68, 0x49, 0xaa, 0xb6, 0xd2, 0xbd, 0x36, 0xd4, 0x33, 0x60, - 0x4a, 0x67, 0x03, 0xa2, 0x71, 0x25, 0x59, 0x32, 0xa9, 0xec, 0xf2, 0xc0, 0xd1, 0x48, 0x33, 0xd9, - 0x4a, 0x8a, 0x88, 0x26, 0x43, 0x64, 0xc7, 0x6f, 0x18, 0xd6, 0x09, 0x55, 0xca, 0x91, 0x47, 0x1d, - 0x56, 0x89, 0xba, 0x8a, 0x19, 0x57, 0x90, 0xda, 0xd2, 0x0b, 0x25, 0x1d, 0xdb, 0x91, 0x2d, 0x27, - 0x78, 0xd8, 0x15, 0xcf, 0xf7, 0x8b, 0xc4, 0x2e, 0xf5, 0x37, 0x40, 0x96, 0xcd, 0x2d, 0x2a, 0xbb, - 0x5b, 0xa2, 0xd7, 0xb0, 0x80, 0xbe, 0x79, 0x7f, 0xe9, 0x0c, 0x61, 0x0d, 0x43, 0xef, 0x7d, 0x61, - 0xbe, 0x58, 0x6b, 0xf6, 0xc3, 0xc1, 0xf2, 0xe8, 0x0a, 0x2b, 0x5e, 0x88, 0xdd, 0x54, 0x81, 0xae, - 0xf1, 0x0b, 0x1e, 0xf0, 0xa3, 0x6f, 0x78, 0x5f, 0x4b, 0xd7, 0xda, 0xaa, 0xcb, 0x93, 0x53, 0x45, - 0x94, 0x79, 0x6e, 0x86, 0x03, 0x48, 0xbe, 0x49, 0x1c, 0xdc, 0x52, 0x57, 0x8a, 0xf0, 0x2e, 0xef, - 0xf9, 0x3f, 0xa2, 0x3c, 0x4a, 0x36, 0x48, 0xed, 0x94, 0x02, 0xdf, 0xe9, 0x48, 0xd4, 0x31, 0x3b, - 0x17, 0x63, 0x57, 0x17, 0xb3, 0xe5, 0x62, 0xd1, 0xa4, 0xa4, 0x09, 0x4c, 0xee, 0xdf, 0x48, 0x6c, - 0x7b, 0xb1, 0x13, 0xe4, 0xfa, 0x06, 0x9a, 0x1e, 0xf6, 0xd6, 0xf0, 0x47, 0xc9, 0xbb, 0xd0, 0xde, - 0x47, 0x47, 0x76, 0x14, 0x5b, 0xd6, 0x6b, 0x3c, 0x58, 0xe8, 0x85, 0x8e, 0x7c, 0x46, 0x63, 0x78, - 0xad, 0xdd, 0x56, 0x1c, 0xa3, 0x7e, 0x19, 0x24, 0xf8, 0x29, 0x79, 0x39, 0x8c, 0x76, 0x6d, 0xbe, - 0xac, 0x68, 0xff, 0x24, 0x51, 0x0f, 0xe3, 0xb9, 0x54, 0x05, 0x3a, 0xf1, 0x4c, 0xb9, 0x67, 0xc0, - 0x4a, 0x30, 0xd0, 0xc0, 0x3c, 0x33, 0x34, 0x8e, 0xb5, 0xdb, 0xa8, 0x42, 0x9a, 0xcb, 0xee, 0x81, - 0x69, 0xd4, 0xfa, 0xf0, 0xeb, 0x95, 0xdf, 0xbd, 0x10, 0x37, 0xf1, 0x2c, 0x76, 0x26, 0xfc, 0x72, - 0xe7, 0x47, 0x5a, 0x10, 0xed, 0x11, 0xf2, 0x4f, 0x52, 0xea, 0xac, 0x10, 0x72, 0x32, 0x8d, 0x39, - 0x95, 0x1a, 0x89, 0xf0, 0x9a, 0x5e, 0xc6, 0x28, 0xaa, 0xf6, 0x41, 0xfc, 0xb8, 0x3c, 0x5e, 0xd9, - 0x55, 0xca, 0x1b, 0xb9, 0x51, 0xb6, 0xe5, 0x7e, 0xda, 0x79, 0x01, 0xaf, 0xa2, 0x3e, 0xbc, 0x5c, - 0xdc, 0xa8, 0x7f, 0x4f, 0x04, 0xd9, 0x9c, 0x34, 0x55, 0x63, 0x83, 0x4e, 0x82, 0x00, 0x25, 0x3b, - 0x8f, 0x44, 0xbf, 0xc2, 0xea, 0x88, 0xa3, 0xc3, 0x23, 0x47, 0x33, 0x20, 0x97, 0xf9, 0x25, 0xfc, - 0xbe, 0xcd, 0x9b, 0xa4, 0x02, 0x67, 0x8b, 0x27, 0xda, 0x50, 0x8f, 0x03, 0x79, 0xe4, 0xa1, 0x85, - 0x76, 0xa7, 0xb2, 0xfc, 0x90, 0xa3, 0x4f, 0xdc, 0x10, 0x05, 0x1d, 0xb6, 0x3c, 0x76, 0x25, 0x94, - 0xa5, 0xd2, 0x01, 0x01, 0x8d, 0x24, 0xf4, 0xd4, 0x13, 0xfe, 0x01, 0xc2, 0xdd, 0x75, 0xa6, 0xef, - 0xe9, 0xc4, 0x7f, 0xb3, 0x47, 0xf3, 0x09, 0xb4, 0xc6, 0x31, 0x34, 0xdc, 0x8a, 0xf3, 0x93, 0xd6, - 0x8a, 0xc0, 0x00, 0x60, 0xf1, 0xac, 0x67, 0x62, 0x8d, 0xff, 0x12, 0xb4, 0xeb, 0x93, 0x95, 0x48, - 0x83, 0xbb, 0x33, 0x87, 0x1f, 0xc3, 0xa6, 0x42, 0xf6, 0x9b, 0x98, 0x04, 0xff, 0x0b, 0x50, 0x29, - 0xae, 0x57, 0x61, 0xe0, 0xeb, 0x79, 0xbd, 0x33, 0x59, 0xb3, 0x9a, 0x20, 0x69, 0x98, 0xb0, 0xbd, - 0x40, 0xdf, 0xcc, 0xab, 0x9f, 0x94, 0xbe, 0x20, 0xe2, 0xa7, 0x20, 0x85, 0xd2, 0x18, 0xf4, 0x08, - 0xd9, 0x0c, 0x28, 0xe8, 0xfc, 0xe1, 0x63, 0xef, 0x5f, 0xd2, 0x24, 0xa3, 0x2d, 0xff, 0xcf, 0xdb, - 0xaf, 0x76, 0xea, 0x5a, 0x84, 0xf3, 0xc0, 0x31, 0x48, 0xe1, 0x32, 0x03, 0x00, 0x2f, 0xe8, 0xd7, - 0xf1, 0x02, 0xa8, 0x52, 0x37, 0x3b, 0x3b, 0x19, 0x37, 0xaf, 0x99, 0xbd, 0xb5, 0x3e, 0x93, 0x61, - 0x5a, 0xbc, 0xc1, 0x56, 0x52, 0x1f, 0x0c, 0x60, 0xbe, 0xc8, 0xaf, 0x44, 0xef, 0x5e, 0x0a, 0x91, - 0x90, 0x85, 0x77, 0x90, 0x59, 0x8c, 0xce, 0xa7, 0xc8, 0x1e, 0xb9, 0x31, 0x87, 0x9f, 0xec, 0x6a, - 0x91, 0xd1, 0x09, 0x8a, 0x08, 0xda, 0x13, 0xd5, 0xa1, 0xa7, 0xd4, 0xc4, 0x36, 0x44, 0xf8, 0xdd, - 0xf8, 0xd3, 0xf6, 0x34, 0xa4, 0xca, 0x68, 0xd0, 0xc0, 0x26, 0x08, 0xd9, 0x40, 0xd7, 0x21, 0x80, - 0x95, 0xdc, 0x18, 0xcf, 0x9a, 0x7b, 0x15, 0xdf, 0xde, 0x72, 0x62, 0x7f, 0x34, 0xfb, 0x86, 0x58, - 0x81, 0x28, 0x37, 0x25, 0x84, 0xfe, 0xc3, 0xd6, 0x5e, 0xee, 0xe1, 0xc2, 0x10, 0x59, 0xb0, 0x8e, - 0xa4, 0xc9, 0xc7, 0x40, 0x93, 0x9a, 0x22, 0x4a, 0x94, 0x05, 0xe7, 0x60, 0xb6, 0x5e, 0x98, 0x07, - 0xe8, 0x50, 0x5d, 0xfb, 0xf1, 0x9e, 0xb8, 0x50, 0x2a, 0x21, 0x13, 0x99, 0x11, 0xb0, 0x10, 0x8d, - 0xd2, 0xda, 0x3f, 0x31, 0xd7, 0x04, 0x31, 0x6e, 0x85, 0xe5, 0x2e, 0x4d, 0x64, 0xfd, 0x66, 0x2d, - 0x73, 0x46, 0xb1, 0x34, 0x2a, 0x8b, 0x48, 0x07, 0x7f, 0x8d, 0x7d, 0x35, 0x91, 0x5a, 0x06, 0xf1, - 0x5e, 0xc4, 0x11, 0x42, 0x24, 0x85, 0xab, 0xfc, 0x55, 0x27, 0x4f, 0x9d, 0x6e, 0x71, 0x97, 0x91, - 0xbb, 0xf6, 0x83, 0x6f, 0x52, 0x90, 0xf2, 0xb0, 0xcb, 0x01, 0xfd, 0xc3, 0xf8, 0x4b, 0x7f, 0xdf, - 0x04, 0x92, 0xc0, 0xc1, 0x0c, 0x84, 0x07, 0xee, 0x66, 0x7b, 0xee, 0xe4, 0x3f, 0xaf, 0x76, 0xc1, - 0x32, 0x2c, 0x33, 0xe7, 0xa1, 0x6b, 0x20, 0x92, 0x5e, 0xdc, 0xfe, 0x54, 0xa6, 0x79, 0x83, 0x01, - 0x01, 0xbc, 0x3e, 0xfe, 0x28, 0xd9, 0xc7, 0xf5, 0x90, 0x77, 0xaf, 0xe5, 0xf5, 0x70, 0x2d, 0xcb, - 0xf8, 0x50, 0x6a, 0x8b, 0x09, 0x23, 0xbd, 0x09, 0xf7, 0xab, 0xe2, 0xa3, 0xd8, 0xce, 0x28, 0x86, - 0x04, 0x69, 0x76, 0xcd, 0xf3, 0x8e, 0x02, 0x12, 0x01, 0x2c, 0xfe, 0x0c, 0xfe, 0x3f, 0xe2, 0x08, - 0x8e, 0x6d, 0x74, 0x7b, 0x3a, 0x2a, 0x03, 0x1b, 0x84, 0x40, 0x25, 0xaf, 0x71, 0x75, 0xc3, 0xca, - 0xa4, 0x38, 0x9d, 0x0d, 0xfa, 0x3c, 0x2b, 0x93, 0x39, 0x80, 0x11, 0x82, 0xca, 0x89, 0x5a, 0xd8, - 0xa5, 0xd9, 0x37, 0x5f, 0x61, 0x6a, 0xa5, 0x11, 0x13, 0x00, 0xc0, 0x07, 0xc2, 0x9b, 0x15, 0x75, - 0x46, 0x1b, 0x56, 0xef, 0x9a, 0xdf, 0xa4, 0x65, 0xbc, 0x97, 0xf4, 0xbb, 0xf8, 0xe5, 0xab, 0x33, - 0x9f, 0xab, 0x6f, 0x78, 0xf1, 0x93, 0x55, 0xb9, 0x56, 0x8e, 0xfa, 0x2e, 0x1e, 0x18, 0x06, 0x47, - 0xb0, 0x0d, 0x0c, 0x22, 0xd0, 0x07, 0xf8, 0xd2, 0xbc, 0xf8, 0xe8, 0x57, 0x3d, 0xb7, 0xee, 0xea, - 0x43, 0x95, 0xed, 0x40, 0x7b, 0xda, 0x3d, 0xa9, 0x05, 0x76, 0x77, 0x9c, 0xe2, 0xd4, 0xde, 0xa0, - 0xeb, 0xc6, 0x5e, 0x40, 0xd2, 0x50, 0x8e, 0xeb, 0x75, 0xf2, 0x41, 0xb5, 0x18, 0x9c, 0x38, 0x4b, - 0xe2, 0x84, 0x32, 0x21, 0xd5, 0xcb, 0x2c, 0xc0, 0xd7, 0xb2, 0x4c, 0xcc, 0xc5, 0x1b, 0x56, 0x5a, - 0xaf, 0xe5, 0xab, 0x79, 0x2b, 0xf7, 0xa5, 0x03, 0xaf, 0xd8, 0xfc, 0x55, 0x28, 0x68, 0x28, 0x7a, - 0x71, 0xc2, 0xc0, 0xac, 0xd9, 0x5f, 0x13, 0x84, 0xf7, 0xd7, 0xe3, 0x0c, 0x23, 0xc2, 0xc0, 0xb1, - 0xcc, 0x9d, 0xbd, 0x3f, 0x77, 0x2d, 0x4a, 0x84, 0x32, 0xec, 0xea, 0x33, 0x80, 0xc0, 0x51, 0x52, - 0x14, 0x33, 0x82, 0xb2, 0x05, 0x3a, 0xa8, 0x68, 0xba, 0xa4, 0xd0, 0x8f, 0x2a, 0x4e, 0x95, 0x1b, - 0xb7, 0x77, 0x3e, 0xd7, 0x80, 0x78, 0xba, 0xcc, 0x3b, 0x94, 0xfc, 0x5f, 0x60, 0x1b, 0x60, 0x08, - 0x33, 0x88, 0x28, 0xde, 0xbb, 0x5b, 0xba, 0xff, 0xdf, 0x45, 0x71, 0x2b, 0x1f, 0x7c, 0xe5, 0x89, - 0xd9, 0xea, 0xd3, 0xd3, 0x12, 0xcb, 0x20, 0xe8, 0xd5, 0x7b, 0x9b, 0x7c, 0x73, 0x3a, 0xef, 0x24, - 0xea, 0xd3, 0xe1, 0xbb, 0xc3, 0xff, 0x7c, 0xa4, 0x44, 0x28, 0x1b, 0x10, 0x67, 0x56, 0x8b, 0x98, - 0xec, 0x68, 0x82, 0x7e, 0xbb, 0x4d, 0x1e, 0xb8, 0x52, 0xfc, 0x5c, 0x55, 0x38, 0x80, 0x95, 0x54, - 0xd3, 0xb5, 0xb2, 0x5a, 0xaf, 0x9f, 0x14, 0x2f, 0xf2, 0x8d, 0x39, 0x32, 0xb2, 0x3d, 0x10, 0x00, - 0x12, 0xef, 0xc6, 0xf1, 0xff, 0xde, 0x24, 0xb9, 0x1d, 0x68, 0xef, 0x6c, 0x07, 0x4c, 0xee, 0x18, - 0x9c, 0x49, 0x92, 0xcf, 0x83, 0xdb, 0xae, 0xaf, 0xc3, 0xf5, 0x08, 0xa1, 0xbb, 0x4f, 0x1e, 0xdd, - 0x2b, 0xae, 0x8e, 0x46, 0x29, 0xfc, 0xd7, 0x2a, 0x41, 0xe1, 0x03, 0x81, 0x73, 0xca, 0xdb, 0xd8, - 0x86, 0x62, 0x78, 0x8a, 0x93, 0x19, 0xe0, 0x24, 0x88, 0xe4, 0x8c, 0xf4, 0x74, 0xb9, 0x8d, 0x6b, - 0xf0, 0x64, 0x8d, 0x26, 0xff, 0x49, 0x8d, 0xe4, 0xf2, 0x56, 0xef, 0x5e, 0xd8, 0x87, 0xce, 0xfc, - 0xe1, 0x70, 0xda, 0x38, 0x84, 0x9d, 0xa6, 0x09, 0xe3, 0xb9, 0xb8, 0x85, 0x83, 0xaf, 0x4d, 0x71, - 0x5b, 0xa7, 0x03, 0xae, 0x04, 0x8c, 0x8d, 0x16, 0xb3, 0xcd, 0xe5, 0x52, 0x13, 0x3d, 0x83, 0x1f, - 0x2e, 0xa4, 0x21, 0x7d, 0xa7, 0x8e, 0xa9, 0xc9, 0x94, 0x26, 0xb4, 0xe1, 0x94, 0x00, 0x26, 0xf7, - 0xfd, 0x29, 0x6d, 0x2a, 0x2e, 0xe8, 0x7d, 0x16, 0x20, 0xc8, 0x08, 0x77, 0x0a, 0x69, 0xa2, 0x55, - 0x5f, 0xef, 0x02, 0x57, 0xfb, 0x0d, 0xcc, 0x02, 0x7a, 0x85, 0xf8, 0x45, 0x1f, 0x7e, 0x3f, 0xcf, - 0xc1, 0x47, 0x5d, 0x56, 0x80, 0x97, 0x7e, 0xce, 0x29, 0xf6, 0x08, 0xec, 0xf3, 0xaa, 0x48, 0x1b, - 0xdd, 0x73, 0x1d, 0x18, 0x51, 0x75, 0x51, 0x2a, 0x3d, 0x29, 0x71, 0x04, 0x10, 0x69, 0xe1, 0xf5, - 0xb7, 0x92, 0x21, 0x35, 0xc1, 0x9e, 0xa5, 0x30, 0xa3, 0xa4, 0x68, 0xf2, 0xda, 0x8b, 0x86, 0xc6, - 0x0b, 0x40, 0xbe, 0x0d, 0x21, 0x4f, 0x17, 0x04, 0x55, 0x15, 0xd9, 0x73, 0x69, 0x4d, 0x74, 0x5d, - 0x73, 0x69, 0x67, 0x99, 0xef, 0x99, 0xed, 0xcd, 0x7e, 0x84, 0xb2, 0xca, 0xfa, 0xd2, 0xaa, 0x9b, - 0xf6, 0x31, 0x72, 0xc4, 0x11, 0xaa, 0x4a, 0x7d, 0x12, 0x75, 0x27, 0x7c, 0x4e, 0x8f, 0xd5, 0xb4, - 0xf8, 0x98, 0x6c, 0x24, 0x1b, 0x7e, 0x9e, 0xeb, 0x89, 0x74, 0x4b, 0x8c, 0xb9, 0x41, 0x86, 0x0a, - 0x0a, 0x8e, 0x82, 0x9d, 0xf0, 0xca, 0x05, 0xda, 0x20, 0x90, 0x22, 0x32, 0xf9, 0x4b, 0x6f, 0xf3, - 0x3a, 0xa1, 0x58, 0x27, 0x13, 0x83, 0x21, 0xe3, 0xa6, 0x48, 0x8b, 0xbe, 0x5d, 0x64, 0xd0, 0xe0, - 0xec, 0xef, 0xc9, 0x75, 0x47, 0x49, 0x76, 0x6d, 0x85, 0x1c, 0x80, 0xbe, 0x57, 0x22, 0xf6, 0x9c, - 0xf6, 0x1f, 0x18, 0x01, 0x5f, 0xb5, 0xa4, 0x42, 0xbf, 0xa7, 0x85, 0xf3, 0xef, 0xd6, 0x32, 0x5e, - 0x47, 0x15, 0x29, 0x08, 0x35, 0x87, 0xeb, 0xbc, 0x27, 0xa4, 0xed, 0x02, 0x34, 0x10, 0x8e, 0xfa, - 0xf3, 0xc3, 0xa2, 0xad, 0x61, 0x42, 0xcd, 0xa9, 0xcc, 0x3b, 0x22, 0x06, 0x6e, 0x0a, 0x66, 0x3b, - 0xb7, 0x91, 0xae, 0xba, 0x0e, 0x8c, 0xc1, 0x4c, 0x78, 0x82, 0xa9, 0x68, 0x30, 0xf5, 0xc1, 0x3f, - 0xe2, 0x41, 0x58, 0xfc, 0x7e, 0x66, 0xca, 0x6c, 0x70, 0x56, 0xdf, 0x8b, 0x02, 0x3c, 0x46, 0x29, - 0xe7, 0xb2, 0x74, 0xfd, 0x6a, 0xc5, 0xd6, 0x7d, 0xcd, 0x6c, 0x56, 0xee, 0x10, 0x75, 0x82, 0x60, - 0x53, 0xc6, 0xa3, 0x7b, 0x24, 0x4f, 0x65, 0x68, 0x0f, 0x4f, 0x27, 0x09, 0x7d, 0xcb, 0x00, 0x0d, - 0xa3, 0x31, 0x80, 0x7d, 0x69, 0xcb, 0x83, 0x96, 0xae, 0xfe, 0x95, 0xf0, 0x54, 0x12, 0x0d, 0xfa, - 0xdc, 0xb0, 0xa2, 0xb6, 0x6e, 0x51, 0x4c, 0x20, 0xca, 0xc5, 0xb1, 0xdc, 0xcd, 0xa3, 0x97, 0x13, - 0x14, 0x44, 0x7f, 0xaf, 0x03, 0x89, 0x3f, 0xab, 0x5a, 0x7c, 0x9f, 0x3f, 0x1e, 0x57, 0x0f, 0xbe, - 0x86, 0xf6, 0xbf, 0x0b, 0x20, 0xa2, 0xc4, 0x07, 0xfd, 0x15, 0xc9, 0xcc, 0x1f, 0xf6, 0x39, 0x4d, - 0x1e, 0x98, 0xc9, 0xed, 0x60, 0x82, 0x67, 0x94, 0xc9, 0xaa, 0xa2, 0x48, 0x43, 0x58, 0x0c, 0x7a, - 0xe4, 0xd0, 0xa2, 0x28, 0x75, 0x53, 0x15, 0x86, 0x10, 0x2f, 0x27, 0xc1, 0x7c, 0xbf, 0x3c, 0xad, - 0xcf, 0x18, 0xa1, 0xd4, 0x6e, 0xff, 0x59, 0x96, 0x29, 0xe4, 0x8f, 0xa4, 0xc8, 0xbd, 0xbe, 0xe4, - 0x9c, 0x76, 0x20, 0x1e, 0xfc, 0xeb, 0x34, 0x07, 0xe5, 0xc4, 0x50, 0xbb, 0xac, 0x1c, 0x23, 0xaa, - 0xd4, 0xe5, 0x3b, 0xd6, 0x2b, 0xe4, 0xd1, 0x80, 0xfd, 0x5e, 0x5e, 0x80, 0xc7, 0xe2, 0xcf, 0xde, - 0xb0, 0xfd, 0x7d, 0x00, 0x64, 0x42, 0x7b, 0x3f, 0x96, 0x27, 0x3c, 0xa4, 0xc3, 0x1a, 0x00, 0xee, - 0xaa, 0x87, 0x42, 0x32, 0x52, 0xf4, 0x39, 0x04, 0xf6, 0xfa, 0xe6, 0x8f, 0x37, 0x7a, 0x61, 0x2b, - 0x19, 0xff, 0xd5, 0x3a, 0x6e, 0xbe, 0x1c, 0x75, 0x32, 0x99, 0x45, 0x52, 0xa5, 0x5f, 0x45, 0xf1, - 0x0c, 0x40, 0x94, 0xc6, 0x92, 0x0a, 0x6c, 0x62, 0x37, 0xd6, 0x00, 0x85, 0x74, 0xd9, 0xef, 0x46, - 0x1b, 0x0a, 0x5f, 0x93, 0x71, 0xdd, 0x6f, 0x5a, 0x30, 0xb8, 0xcd, 0x6d, 0xa0, 0x23, 0xe4, 0x36, - 0x04, 0x24, 0x85, 0xf7, 0x10, 0xc6, 0xac, 0xed, 0x57, 0xc7, 0x18, 0x34, 0xd0, 0x5a, 0x6f, 0x28, - 0x30, 0xaa, 0x84, 0x5d, 0x6e, 0x98, 0x16, 0x7e, 0x2f, 0xe5, 0xe9, 0x93, 0x02, 0x83, 0xc1, 0xbe, - 0xe7, 0x22, 0xf8, 0x1a, 0xfd, 0x48, 0x1f, 0xbc, 0xe2, 0x3a, 0x92, 0xb9, 0xb4, 0xf2, 0xb1, 0x39, - 0x61, 0x09, 0x6a, 0x7a, 0xb8, 0x2a, 0x01, 0x55, 0x9f, 0x6d, 0x71, 0x64, 0xd1, 0x9c, 0x16, 0x3a, - 0xab, 0x02, 0xdc, 0x48, 0x09, 0x23, 0x98, 0x3c, 0x21, 0xb6, 0x35, 0xa4, 0x28, 0xa5, 0x3d, 0xe8, - 0xab, 0x7b, 0xb4, 0x34, 0x86, 0xc7, 0xa7, 0xdf, 0x4c, 0xa3, 0x2f, 0x66, 0x84, 0x8e, 0xd9, 0xbb, - 0x81, 0x07, 0xa2, 0xc1, 0xa3, 0x2c, 0xe3, 0x1e, 0x69, 0x2c, 0xba, 0x0b, 0x36, 0x87, 0x24, 0x85, - 0xf2, 0x02, 0x94, 0xf1, 0xac, 0x13, 0xe7, 0x07, 0xe9, 0x86, 0x1f, 0x0a, 0x7e, 0x6f, 0x37, 0xe9, - 0x59, 0xdf, 0xbd, 0x1c, 0x79, 0x7b, 0x3a, 0xfb, 0xc5, 0x2c, 0xc1, 0x3a, 0xcd, 0xe1, 0xd0, 0xe3, - 0xa6, 0xc8, 0x9e, 0xe4, 0x0b, 0xe5, 0x8e, 0x22, 0x2a, 0x3f, 0x50, 0x37, 0x1d, 0x00, 0x30, 0xaa, - 0x77, 0x26, 0x4b, 0xa9, 0xd3, 0xc8, 0x8f, 0xbe, 0x4a, 0xbe, 0xae, 0x7b, 0xb3, 0x4e, 0xb6, 0xc8, - 0x32, 0x60, 0xe8, 0x80, 0x3a, 0x20, 0xff, 0xfb, 0x51, 0x72, 0x36, 0x42, 0xb8, 0xb0, 0x5b, 0x6f, - 0xcd, 0xb8, 0x8d, 0x88, 0x5f, 0x9a, 0x9e, 0x26, 0xac, 0x2b, 0xaf, 0xb4, 0xbc, 0x0e, 0x99, 0x8d, - 0x84, 0xb7, 0x2f, 0x06, 0xc0, 0xd1, 0xfd, 0x03, 0xdf, 0x0c, 0xa6, 0xa0, 0x3a, 0xf8, 0x60, 0xf2, - 0x71, 0x5a, 0x34, 0x38, 0x6b, 0x82, 0xb1, 0xd6, 0x32, 0x1a, 0x79, 0x57, 0xc1, 0xe8, 0x85, 0x5a, - 0xcf, 0x89, 0x68, 0x57, 0x33, 0x6e, 0x3c, 0x0f, 0xcc, 0x7c, 0xcf, 0x1d, 0x9e, 0x69, 0x50, 0xfa, - 0x03, 0x02, 0x22, 0x15, 0x70, 0xa7, 0xe1, 0x10, 0xc5, 0x0f, 0xcc, 0x9f, 0x9a, 0xd5, 0x1a, 0xaa, - 0x5e, 0xd9, 0x50, 0x48, 0x52, 0xb5, 0x6d, 0x0b, 0xa6, 0x0e, 0xa5, 0x84, 0x34, 0x2f, 0x1d, 0x41, - 0x22, 0xb1, 0x80, 0xef, 0x43, 0x28, 0x33, 0x7d, 0x8e, 0x07, 0x52, 0x82, 0xd4, 0x13, 0xa9, 0x1d, - 0x9a, 0xda, 0x57, 0xd9, 0xda, 0x66, 0x2c, 0xe6, 0x56, 0xf3, 0xa8, 0x5f, 0x37, 0xcc, 0x47, 0x5b, - 0x3e, 0x67, 0x8a, 0x64, 0x8e, 0x65, 0xa6, 0xa7, 0x7b, 0x28, 0x40, 0xd3, 0x19, 0xba, 0x7e, 0xc0, - 0x5d, 0x67, 0xd0, 0xa9, 0x69, 0x7e, 0xec, 0x81, 0x1a, 0x92, 0xb4, 0x6a, 0x92, 0xcc, 0x9c, 0xc9, - 0x6e, 0x6e, 0xc3, 0xc5, 0x95, 0x48, 0xcf, 0x3f, 0xf7, 0x23, 0xb1, 0x40, 0xba, 0x7b, 0x3b, 0xf2, - 0xf2, 0x64, 0x77, 0x28, 0xcf, 0x15, 0xc2, 0x57, 0x87, 0x45, 0xd2, 0x4f, 0x11, 0xc2, 0x35, 0xad, - 0x00, 0x5d, 0x85, 0x4a, 0xd2, 0x78, 0x97, 0xfd, 0x16, 0xf3, 0x70, 0x5e, 0x18, 0xf8, 0x58, 0x8f, - 0x72, 0x7a, 0xf0, 0x18, 0xe9, 0xc3, 0xac, 0x59, 0x55, 0x75, 0x70, 0x84, 0x5f, 0x96, 0xff, 0xac, - 0x42, 0x64, 0xfb, 0x5d, 0x75, 0x96, 0x6a, 0x52, 0x8c, 0x13, 0xe8, 0x66, 0xab, 0x3a, 0x36, 0x3b, - 0x5a, 0x87, 0x42, 0xfc, 0x41, 0xd6, 0x57, 0x47, 0x50, 0x35, 0x5e, 0xae, 0x1f, 0xc8, 0x5a, 0xa5, - 0x93, 0xac, 0x4a, 0x18, 0xbe, 0x79, 0xc3, 0x00, 0x4d, 0xfe, 0xc9, 0xb1, 0x4d, 0x8b, 0xe0, 0x80, - 0xd6, 0x29, 0x02, 0xb4, 0x53, 0xcf, 0xa6, 0xd6, 0x8e, 0xe2, 0xd7, 0x9a, 0x6f, 0x58, 0x34, 0xcf, - 0x5f, 0x9d, 0x7d, 0xf0, 0xb1, 0xfb, 0xb5, 0xc8, 0x5f, 0xbd, 0xb5, 0x67, 0xf8, 0xcb, 0x01, 0x58, - 0xaf, 0xfc, 0xfa, 0xd6, 0x35, 0x75, 0x3f, 0x7d, 0x3a, 0x28, 0xfa, 0xeb, 0xfe, 0x3d, 0xe0, 0x49, - 0x60, 0x64, 0x12, 0xec, 0x28, 0x4e, 0x3b, 0xd9, 0xdc, 0x8f, 0x54, 0xc4, 0xef, 0xa8, 0x41, 0x1c, - 0x34, 0xd7, 0xe4, 0xae, 0x02, 0xec, 0x1b, 0x57, 0xcf, 0x9c, 0xd0, 0xcf, 0x9b, 0x21, 0x5a, 0x83, - 0x2e, 0xa0, 0x71, 0x9f, 0x3e, 0x9d, 0xb1, 0xbe, 0x0e, 0x82, 0x2f, 0xa0, 0x9f, 0x72, 0xb5, 0x0b, - 0xa9, 0xb9, 0xb2, 0xf1, 0xd7, 0xa7, 0xe2, 0x0d, 0x37, 0xf3, 0xde, 0x44, 0xb9, 0x11, 0x9b, 0x0c, - 0xdb, 0x5a, 0x1c, 0x68, 0xc1, 0x29, 0x07, 0xa4, 0x64, 0xb7, 0xe3, 0x1b, 0xb7, 0x42, 0xac, 0x7a, - 0xa1, 0xaf, 0x19, 0x0a, 0x80, 0x98, 0x1d, 0xd3, 0x9f, 0x50, 0xeb, 0x69, 0xd4, 0x25, 0xe7, 0x17, - 0xb6, 0xd6, 0x6f, 0x91, 0xa5, 0x70, 0x56, 0x8d, 0x2e, 0xb8, 0xec, 0x2d, 0x8d, 0x59, 0x8a, 0x95, - 0x1b, 0x53, 0x6f, 0xe0, 0x10, 0x55, 0x5b, 0xae, 0x36, 0x58, 0xcf, 0xc1, 0xfa, 0xd6, 0x36, 0x83, - 0xcc, 0x46, 0x7c, 0xbb, 0x13, 0xea, 0x93, 0xb6, 0xe7, 0xc9, 0x8b, 0x5a, 0x01, 0xa0, 0xb9, 0xac, - 0x01, 0xbc, 0x2e, 0xf9, 0x71, 0x34, 0x62, 0x68, 0xe1, 0x50, 0x40, 0x1a, 0x8b, 0x78, 0x9a, 0xaf, - 0xd7, 0xde, 0x51, 0x53, 0x7c, 0xf0, 0x10, 0xd0, 0x41, 0xaa, 0x3d, 0xd8, 0xc8, 0x61, 0x5e, 0x03, - 0xff, 0xd9, 0x32, 0x72, 0xf6, 0x4f, 0xfa, 0xff, 0x77, 0x07, 0x99, 0xa4, 0x17, 0x9d, 0x08, 0xda, - 0xa8, 0x84, 0x6b, 0x77, 0x92, 0x57, 0xa3, 0xbf, 0xf5, 0xbd, 0xff, 0xde, 0x87, 0x4f, 0xed, 0x7f, - 0x8d, 0x8e, 0xf1, 0x7b, 0xc1, 0x5f, 0xaf, 0x67, 0x5d, 0xae, 0x5e, 0x82, 0xd0, 0xa8, 0xd0, 0xbf, - 0xb5, 0xe0, 0xd8, 0xbc, 0xfe, 0x07, 0x67, 0x25, 0xaa, 0xf9, 0x37, 0x7f, 0x38, 0x98, 0xed, 0xfa, - 0x65, 0xaf, 0x88, 0x50, 0xd7, 0x43, 0x75, 0x08, 0xf5, 0x30, 0x68, 0xc4, 0xbf, 0x97, 0x41, 0x64, - 0x51, 0x88, 0xab, 0x30, 0xf9, 0x70, 0x87, 0x3e, 0xc2, 0x86, 0xa5, 0x46, 0xec, 0xfa, 0xba, 0xad, - 0x21, 0xa2, 0xd6, 0x27, 0x7d, 0x99, 0x45, 0xa2, 0x65, 0xcb, 0xe5, 0x85, 0x1e, 0x05, 0xa6, 0xfd, - 0x29, 0xd2, 0xe7, 0x49, 0xf1, 0xf8, 0x6f, 0x83, 0x95, 0xbb, 0xed, 0x9f, 0x55, 0xb1, 0x93, 0x41, - 0x56, 0xbd, 0x10, 0x69, 0x99, 0x33, 0x99, 0x0d, 0xbf, 0x47, 0x07, 0xa3, 0xf2, 0x47, 0x26, 0xb5, - 0xfe, 0x85, 0xf7, 0xb2, 0xa4, 0x1b, 0x82, 0xdd, 0xb4, 0xd9, 0x49, 0x6b, 0x15, 0x8b, 0x42, 0x6f, - 0xec, 0x62, 0x2c, 0xff, 0xc5, 0x30, 0xae, 0x03, 0x9e, 0x2e, 0xdc, 0x73, 0x89, 0xdf, 0x32, 0x05, - 0xbc, 0x9d, 0x78, 0x59, 0x23, 0xd1, 0x25, 0x28, 0x2c, 0xe0, 0xa0, 0x28, 0x38, 0xae, 0x6a, 0x84, - 0xdb, 0x89, 0xf5, 0x8c, 0xf5, 0x98, 0x92, 0x9b, 0x25, 0x81, 0xf2, 0x2f, 0xa1, 0xec, 0x77, 0x9d, - 0x4e, 0x17, 0xe0, 0xf3, 0xbc, 0x79, 0x51, 0xf3, 0xbc, 0xfa, 0xcd, 0xd2, 0x33, 0xe0, 0xb7, 0x25, - 0xe8, 0x0f, 0x61, 0xb4, 0x44, 0x2d, 0xf9, 0x61, 0xd3, 0x67, 0xcd, 0xca, 0xa8, 0xed, 0x14, 0x65, - 0xd4, 0xba, 0xc7, 0x64, 0xb8, 0xbf, 0xcb, 0xff, 0x1d, 0x2c, 0x8c, 0xaf, 0x59, 0x58, 0xd1, 0xb3, - 0x3a, 0x32, 0x12, 0xfa, 0x6f, 0xe0, 0x25, 0xe6, 0xdb, 0x87, 0xe2, 0x48, 0x72, 0x3b, 0x17, 0xcd, - 0xfe, 0xaa, 0x37, 0x5b, 0xc4, 0xb9, 0xfc, 0x42, 0x51, 0x1c, 0x65, 0x78, 0xff, 0x8f, 0xb1, 0x61, - 0xf7, 0xba, 0x0b, 0x35, 0x8a, 0x33, 0x2d, 0xff, 0xab, 0x48, 0x71, 0x02, 0x09, 0x5a, 0x7e, 0x58, - 0x27, 0x41, 0x81, 0xef, 0xbf, 0x4a, 0xca, 0xf2, 0xef, 0xb2, 0x74, 0x27, 0x70, 0xf1, 0x23, 0x36, - 0xde, 0x91, 0x58, 0xbe, 0xb7, 0x06, 0x37, 0x55, 0x92, 0x6b, 0x7b, 0xbc, 0xee, 0x7d, 0x3a, 0x74, - 0x83, 0xc4, 0x7b, 0xe9, 0x98, 0x2c, 0x9f, 0xc3, 0x5c, 0xe9, 0x5a, 0x0c, 0x3c, 0xfc, 0x2b, 0x98, - 0xc6, 0x2a, 0xc9, 0x78, 0x03, 0x24, 0x39, 0xf2, 0x7c, 0x40, 0x12, 0xdc, 0x98, 0x0d, 0xed, 0xdb, - 0xe6, 0x8c, 0x63, 0x71, 0x14, 0x12, 0xad, 0xd8, 0xa7, 0x1c, 0x21, 0x6b, 0xd0, 0x3a, 0x79, 0x5e, - 0x72, 0xb4, 0x88, 0x03, 0xd4, 0xc5, 0x16, 0xb2, 0xa2, 0xd8, 0x2c, 0x96, 0x8e, 0xf8, 0x31, 0x98, - 0x84, 0xfe, 0x7e, 0x59, 0xe7, 0xde, 0xee, 0x59, 0x12, 0x7c, 0xed, 0x0a, 0x73, 0x7b, 0xa1, 0x16, - 0x51, 0xae, 0x1f, 0xe9, 0xb0, 0xb1, 0x42, 0x7b, 0xee, 0x61, 0xf7, 0x17, 0xce, 0xce, 0x21, 0xf9, - 0xb0, 0x92, 0x4b, 0xc6, 0xaa, 0x3b, 0x05, 0x50, 0x61, 0xac, 0x79, 0x7c, 0xee, 0xe2, 0xca, 0xf6, - 0xff, 0x0e, 0x19, 0xb1, 0x48, 0x74, 0xdc, 0xf9, 0xa1, 0x8e, 0xf9, 0x6a, 0x04, 0xfb, 0x5e, 0xfc, - 0x2c, 0x0f, 0x2c, 0xec, 0x03, 0x4e, 0x0a, 0x0d, 0x1c, 0x7c, 0x60, 0xfe, 0xdc, 0x2f, 0xae, 0x7c, - 0x73, 0x62, 0x39, 0x0b, 0xc0, 0x47, 0x27, 0x33, 0x1b, 0xcc, 0xd2, 0x99, 0x38, 0xc9, 0x61, 0x22, - 0xe3, 0x54, 0x1e, 0x31, 0xf4, 0x58, 0x6f, 0x28, 0x47, 0x26, 0x18, 0x4b, 0x72, 0x26, 0xc8, 0x7e, - 0xa2, 0xb5, 0xd7, 0xad, 0xb0, 0xbf, 0xb3, 0x52, 0xbe, 0xf5, 0xaa, 0xc6, 0x0d, 0x7f, 0x0a, 0xc5, - 0xaa, 0xb6, 0x56, 0x98, 0x01, 0xf8, 0x50, 0xbb, 0x39, 0xca, 0x83, 0xb4, 0xed, 0x3a, 0x50, 0x7a, - 0x93, 0x26, 0x16, 0x49, 0x36, 0x4b, 0x01, 0x7a, 0x1f, 0x06, 0x1e, 0x2f, 0x3f, 0x0e, 0xd5, 0x37, - 0xa6, 0x7d, 0x1c, 0x0f, 0x6b, 0x98, 0x2b, 0x42, 0x34, 0x0e, 0x97, 0x06, 0xa6, 0x61, 0xa6, 0x1b, - 0xf0, 0xf6, 0xf8, 0xe4, 0x1c, 0x67, 0x0a, 0xe7, 0x99, 0x6d, 0xa9, 0x68, 0x94, 0x9e, 0xe1, 0xfe, - 0x13, 0xf6, 0x2d, 0x8f, 0x92, 0x5b, 0x97, 0xe8, 0xb4, 0xfb, 0x27, 0xd3, 0x6a, 0x99, 0xc6, 0x32, - 0x51, 0xbf, 0x6c, 0x84, 0xb4, 0x29, 0x2e, 0x1d, 0x03, 0xdf, 0x5e, 0x22, 0x3d, 0x9c, 0xb6, 0x9e, - 0x44, 0x0d, 0xad, 0x42, 0x51, 0x12, 0x16, 0x0e, 0xf2, 0xa7, 0xf8, 0x4f, 0xce, 0xd3, 0xc4, 0x0f, - 0x6f, 0x0a, 0x5e, 0x78, 0xaa, 0x02, 0xa8, 0xd3, 0xc4, 0x6d, 0x27, 0xb1, 0xa5, 0x51, 0x1e, 0x4a, - 0xcf, 0x00, 0x97, 0x3e, 0xde, 0x76, 0x1b, 0x05, 0xcf, 0xd9, 0xf4, 0xff, 0xcb, 0xd1, 0x3a, 0x8a, - 0xf8, 0xc5, 0x1d, 0xa0, 0x67, 0x29, 0xa3, 0x4a, 0xb8, 0xde, 0xe1, 0x70, 0x4a, 0x61, 0x7c, 0xa6, - 0xfd, 0x3e, 0x6d, 0xaf, 0x6f, 0x3a, 0xc9, 0x27, 0xb7, 0xab, 0x05, 0x61, 0x8f, 0x58, 0x86, 0x9f, - 0x7d, 0xf4, 0x7e, 0xeb, 0x04, 0x4e, 0x28, 0x08, 0x52, 0xcf, 0x71, 0xce, 0xb2, 0x7a, 0xb0, 0x4f, - 0xbb, 0xe2, 0x4d, 0xf9, 0x0d, 0xf7, 0x26, 0x13, 0x38, 0xc5, 0x99, 0x32, 0xcb, 0x96, 0x69, 0xc3, - 0xa3, 0xba, 0x5f, 0xf8, 0x19, 0x8e, 0xdc, 0xa2, 0x1f, 0xc3, 0xb7, 0x33, 0x3c, 0x86, 0xb9, 0x10, - 0xf4, 0xe7, 0x11, 0xc8, 0x24, 0x29, 0xf2, 0x18, 0xfe, 0x6e, 0x8b, 0xf4, 0x7e, 0xa1, 0x53, 0xe7, - 0xa6, 0x71, 0x0b, 0x80, 0x3c, 0x30, 0x02, 0xa7, 0x93, 0x62, 0xad, 0xe9, 0x12, 0x0b, 0x15, 0x81, - 0xa4, 0xd4, 0xf5, 0x7e, 0xb0, 0x2d, 0xed, 0xa2, 0x26, 0xf0, 0xdb, 0xfb, 0x76, 0x63, 0xce, 0x50, - 0x09, 0x9d, 0x64, 0x56, 0x48, 0x8e, 0x38, 0xe4, 0xe7, 0xfe, 0x97, 0x9e, 0x79, 0x53, 0xce, 0xac, - 0xab, 0x9f, 0xdd, 0xb4, 0x23, 0x30, 0x89, 0x5d, 0x2e, 0xe4, 0x1c, 0xb1, 0x4d, 0xd3, 0xae, 0x38, - 0x0e, 0x67, 0xce, 0x32, 0x18, 0xf8, 0x12, 0x7e, 0xd4, 0xd4, 0xe9, 0xad, 0x6c, 0xbc, 0xc7, 0x88, - 0x8f, 0x34, 0xa1, 0x6f, 0x92, 0x69, 0x4b, 0x28, 0x25, 0xe5, 0x54, 0x03, 0xdb, 0xf4, 0x7d, 0xc1, - 0x1e, 0x0d, 0x04, 0x22, 0x8c, 0x25, 0x9d, 0x6e, 0x96, 0x6d, 0x85, 0x8a, 0x3d, 0x6b, 0xf1, 0x9a, - 0x8a, 0x26, 0x3f, 0x0e, 0xd2, 0xf7, 0x67, 0xd2, 0x0b, 0xf8, 0x32, 0xea, 0xab, 0x3d, 0x13, 0x83, - 0x6e, 0xdf, 0x7f, 0xf9, 0x86, 0x67, 0x7d, 0x43, 0x4f, 0xef, 0x36, 0xfe, 0xfd, 0xe0, 0x63, 0xa7, - 0x5c, 0x64, 0xe0, 0x29, 0x29, 0xa3, 0x99, 0x31, 0x65, 0x7b, 0x3a, 0xea, 0xba, 0x22, 0x40, 0x99, - 0x12, 0x57, 0x95, 0x49, 0x3e, 0x07, 0xdb, 0x49, 0xda, 0xb8, 0xe3, 0xf0, 0x9d, 0xb1, 0x91, 0x4b, - 0x03, 0xa4, 0x70, 0xcb, 0xc4, 0x5b, 0xa4, 0x79, 0xa6, 0xda, 0xc7, 0x1d, 0xba, 0x57, 0x0a, 0x70, - 0x52, 0x0a, 0x13, 0x42, 0x0c, 0x17, 0x44, 0xfd, 0xd3, 0x7b, 0x9b, 0xf4, 0xe7, 0x98, 0x43, 0x34, - 0xe2, 0xba, 0x3c, 0xe0, 0xcc, 0x30, 0xcd, 0x5c, 0x3f, 0x40, 0xaf, 0x8c, 0xee, 0xcb, 0xb4, 0xd1, - 0xdb, 0xa0, 0xcd, 0x80, 0x31, 0xe2, 0x94, 0xe2, 0xcc, 0x72, 0x99, 0x05, 0x2b, 0x9a, 0x1c, 0xc7, - 0xfd, 0xb4, 0x42, 0xee, 0xdf, 0x34, 0xd5, 0xab, 0xbd, 0xd4, 0x92, 0x57, 0x3e, 0x66, 0x15, 0x83, - 0x13, 0x8f, 0x94, 0x49, 0x61, 0xe8, 0xfe, 0xca, 0x31, 0x80, 0x15, 0x13, 0x34, 0x7f, 0xad, 0xbe, - 0xe5, 0xde, 0x30, 0x45, 0x7a, 0xe5, 0x77, 0x2b, 0xc3, 0x0b, 0xe4, 0x86, 0x59, 0x18, 0x67, 0x1b, - 0x12, 0xfd, 0xd1, 0x51, 0xa6, 0x0e, 0xf7, 0x64, 0x38, 0xdc, 0x4b, 0x49, 0x92, 0x30, 0x66, 0xfd, - 0xba, 0x5a, 0xe3, 0xc8, 0xce, 0x4d, 0xa5, 0x6f, 0xf3, 0xbe, 0xba, 0x3a, 0x6b, 0x84, 0xdd, 0x69, - 0xd2, 0xf2, 0x8c, 0xaf, 0x26, 0x38, 0x07, 0x23, 0x7a, 0x2e, 0xed, 0xea, 0x70, 0x5e, 0x56, 0x30, - 0x38, 0x94, 0x7f, 0x56, 0x59, 0x34, 0xb0, 0xda, 0x9c, 0x23, 0x76, 0x61, 0x8f, 0x39, 0x0e, 0xbf, - 0xa0, 0xc3, 0xfb, 0xa6, 0x47, 0x1d, 0x61, 0xfa, 0x34, 0x5a, 0xde, 0x5d, 0x2e, 0x75, 0x9c, 0xf6, - 0xf3, 0x2a, 0x0d, 0x4b, 0xfe, 0x8f, 0x75, 0x8c, 0x7c, 0x0a, 0xf4, 0xea, 0xab, 0xa9, 0x1a, 0x4f, - 0xad, 0x52, 0x5b, 0xc4, 0x72, 0xb7, 0x1b, 0x6a, 0x66, 0x3e, 0x1d, 0x3b, 0x51, 0x20, 0xb5, 0x27, - 0x99, 0x57, 0xf7, 0x3f, 0x61, 0x5e, 0x95, 0x77, 0x24, 0x5f, 0xd2, 0x2a, 0x53, 0x35, 0x80, 0xad, - 0x0a, 0xcf, 0xf7, 0x93, 0x96, 0x16, 0x93, 0xf6, 0xf3, 0x46, 0x56, 0x5f, 0x18, 0xa1, 0x74, 0x92, - 0x05, 0x78, 0x61, 0xaf, 0x74, 0x1f, 0x36, 0x15, 0x8f, 0xf6, 0x70, 0xc7, 0xcd, 0xca, 0x42, 0x56, - 0x9d, 0xc8, 0xe8, 0x5a, 0x2d, 0xf3, 0xff, 0xa3, 0xe2, 0xc8, 0x4c, 0xec, 0xbb, 0xf4, 0x24, 0x44, - 0x15, 0xc3, 0x8f, 0xba, 0x14, 0x3f, 0x33, 0x2d, 0x02, 0x37, 0x36, 0xc1, 0x9f, 0x9f, 0x10, 0x20, - 0xbb, 0x6e, 0x9c, 0x01, 0xc8, 0x1f, 0x68, 0x99, 0xf6, 0xb0, 0xa8, 0x84, 0x25, 0xd9, 0x0d, 0xd4, - 0x6b, 0xbc, 0x27, 0xec, 0x84, 0xd9, 0xe2, 0x3c, 0x85, 0x00, 0x50, 0xae, 0x99, 0x40, 0xe1, 0x43, - 0x3d, 0xdb, 0x5c, 0xd6, 0x98, 0x46, 0x5b, 0xa5, 0x2a, 0xa2, 0x20, 0x5e, 0xeb, 0xdb, 0x22, 0xb3, - 0xfc, 0x9f, 0x0b, 0xca, 0xbe, 0xb6, 0xe5, 0x13, 0xc6, 0x67, 0xc7, 0xaa, 0xbc, 0x3b, 0x99, 0x98, - 0xfe, 0x61, 0x6b, 0xc5, 0xf2, 0xeb, 0x97, 0xc3, 0x1e, 0x56, 0x46, 0x61, 0x9a, 0xd8, 0x8a, 0x98, - 0xc3, 0xb8, 0x20, 0xb2, 0x24, 0x97, 0xca, 0x3f, 0xa6, 0x05, 0x43, 0x73, 0xa7, 0xeb, 0x13, 0xbd, - 0x83, 0xf9, 0x52, 0x51, 0x21, 0xb9, 0x05, 0x76, 0x79, 0x91, 0x04, 0x35, 0x25, 0x98, 0x72, 0x62, - 0xa2, 0x2c, 0x39, 0x5b, 0xfb, 0x98, 0x89, 0x6a, 0xbf, 0xf9, 0x4f, 0x09, 0x5e, 0xfd, 0xcd, 0x4d, - 0x20, 0xf3, 0xd4, 0x53, 0xb0, 0x4b, 0x8c, 0x7c, 0x75, 0x47, 0x4e, 0xa8, 0xe1, 0xfa, 0x7b, 0xac, - 0x7f, 0xbd, 0xa0, 0xab, 0x95, 0xbf, 0x51, 0xb5, 0xa7, 0xc8, 0x31, 0x13, 0xd9, 0x73, 0x93, 0xb0, - 0x5f, 0xe9, 0x43, 0xc3, 0xc4, 0x94, 0x5a, 0xb2, 0x25, 0x52, 0xe7, 0xe1, 0x1e, 0x6b, 0xef, 0x27, - 0xf7, 0x48, 0xd5, 0xfa, 0xee, 0xdf, 0x27, 0x89, 0xa6, 0xf1, 0xe6, 0x9a, 0xe7, 0xd9, 0x88, 0x43, - 0xcc, 0xba, 0x2f, 0x4c, 0x38, 0x04, 0x40, 0xbf, 0x56, 0xd9, 0xe9, 0xfd, 0x37, 0xb9, 0x9b, 0x49, - 0x66, 0x45, 0xc1, 0xc5, 0xaf, 0xa8, 0x3b, 0x55, 0xa0, 0x6b, 0x4e, 0x94, 0x0a, 0x55, 0x83, 0x25, - 0xd9, 0xfe, 0xad, 0x5d, 0xab, 0x0e, 0x3e, 0x1a, 0xb4, 0x03, 0xe7, 0x88, 0x3b, 0x64, 0xda, 0x94, - 0xd8, 0x84, 0x5a, 0x45, 0x1d, 0x45, 0xe4, 0x22, 0x0a, 0x74, 0x53, 0x70, 0x55, 0x1d, 0x80, 0x2e, - 0x84, 0x25, 0x03, 0x67, 0x29, 0x60, 0x61, 0x6d, 0x71, 0xf8, 0xd6, 0xc5, 0x2f, 0x3b, 0x5b, 0x14, - 0xdf, 0xd2, 0x7f, 0xf4, 0x68, 0x2a, 0x55, 0x9a, 0x4a, 0xfd, 0x81, 0xb7, 0x4c, 0x0f, 0xa4, 0xcc, - 0xad, 0x61, 0xb7, 0xdc, 0x4b, 0x40, 0x3f, 0x72, 0xc6, 0x6e, 0x47, 0xdd, 0x90, 0xa2, 0x90, 0xe8, - 0x9b, 0x5f, 0x52, 0xe1, 0x15, 0x5e, 0xa1, 0x5c, 0xa9, 0x9a, 0x7a, 0x0e, 0x6b, 0xfd, 0x68, 0xd6, - 0x00, 0x0a, 0x0c, 0xe5, 0x01, 0x57, 0x2c, 0x90, 0x1b, 0x73, 0xae, 0x0a, 0x9c, 0x33, 0x5d, 0xa7, - 0x5c, 0x24, 0xb2, 0x66, 0x5d, 0x6d, 0x1e, 0x4a, 0xb7, 0x4c, 0x11, 0x79, 0x73, 0x2b, 0x01, 0x61, - 0x5a, 0x2d, 0x4f, 0x1e, 0x16, 0x12, 0xc5, 0xfa, 0x27, 0x50, 0x0a, 0xa8, 0x39, 0xdb, 0x70, 0xc6, - 0xd0, 0xff, 0x27, 0x50, 0xea, 0x3f, 0x5b, 0xe2, 0x84, 0xfa, 0xc7, 0x6a, 0xdc, 0x05, 0x35, 0x6c, - 0x3b, 0x54, 0x66, 0x12, 0x67, 0xf1, 0xe7, 0x9f, 0x30, 0x27, 0x26, 0x5b, 0x86, 0xb8, 0xf8, 0x5e, - 0xab, 0x35, 0xcb, 0x55, 0xcf, 0x16, 0xfd, 0x6f, 0x05, 0xc6, 0x69, 0xde, 0x03, 0x3d, 0xad, 0x0d, - 0x7b, 0x11, 0x50, 0xc7, 0x1a, 0xdb, 0xe8, 0x02, 0x0d, 0xc2, 0xcc, 0x4b, 0x62, 0x88, 0xc8, 0x3d, - 0x5b, 0xc4, 0xa2, 0xf2, 0x18, 0xfa, 0x3e, 0x57, 0x30, 0xc8, 0xeb, 0x30, 0x93, 0x5f, 0x48, 0x4b, - 0xf4, 0x4a, 0xad, 0x6d, 0x01, 0xda, 0x47, 0xb4, 0x95, 0x4d, 0x30, 0x74, 0x22, 0xce, 0x01, 0x7f, - 0x45, 0x69, 0x09, 0xad, 0x1f, 0x28, 0x9e, 0xe0, 0x33, 0xa5, 0x9a, 0x39, 0x3c, 0x3b, 0x45, 0x97, - 0x22, 0x8e, 0xe9, 0xd6, 0x2a, 0xee, 0xae, 0xd3, 0x87, 0x2c, 0xf5, 0x63, 0xe3, 0xe4, 0xbd, 0xd9, - 0x96, 0xcf, 0xe8, 0x8a, 0xa3, 0x08, 0x04, 0xec, 0x18, 0x27, 0x59, 0xc5, 0x5d, 0x49, 0x76, 0x04, - 0xaf, 0x7a, 0x13, 0xf8, 0x62, 0x7a, 0x34, 0xe7, 0xc8, 0xf4, 0x48, 0xcb, 0x4a, 0x3b, 0x56, 0xa6, - 0xc0, 0x3a, 0xcb, 0x4f, 0x82, 0x5d, 0x4e, 0x55, 0x81, 0x5f, 0xdb, 0x1d, 0x14, 0xf7, 0xd1, 0x33, - 0xbe, 0x2d, 0x9c, 0x36, 0xb7, 0xd6, 0x7a, 0xa4, 0x05, 0x98, 0x40, 0x29, 0x69, 0xd6, 0x82, 0x44, - 0x08, 0x40, 0xa1, 0x4a, 0x25, 0xb4, 0x0e, 0x35, 0x4f, 0xf6, 0x0a, 0xad, 0x90, 0xc7, 0x31, 0xed, - 0x68, 0x5e, 0x34, 0xc9, 0x35, 0x02, 0x92, 0x8c, 0x67, 0x63, 0xbe, 0x04, 0x90, 0x87, 0x1c, 0x9b, - 0x9c, 0x53, 0x0b, 0xaf, 0xf1, 0x59, 0xd7, 0x0e, 0x69, 0x92, 0x9b, 0xfa, 0xd5, 0x82, 0x3c, 0x43, - 0x69, 0x11, 0x37, 0x9e, 0x6e, 0x41, 0xf2, 0xfe, 0x86, 0x25, 0x22, 0x57, 0x2e, 0xf1, 0xfa, 0x65, - 0x98, 0xb9, 0x11, 0x3c, 0x01, 0xb8, 0x84, 0x98, 0x3c, 0xe5, 0x58, 0xf1, 0x72, 0x43, 0xa8, 0x78, - 0xbe, 0x89, 0x2e, 0x78, 0xc4, 0x0d, 0xce, 0x24, 0xe5, 0x7f, 0x84, 0x0c, 0x0b, 0x7d, 0x5a, 0xf6, - 0x60, 0xc6, 0x23, 0xd6, 0xce, 0x2f, 0xd1, 0xd9, 0x18, 0xcf, 0xae, 0xd2, 0x7f, 0x41, 0xaf, 0x20, - 0x23, 0xfb, 0x84, 0x58, 0xa1, 0x18, 0x63, 0x4b, 0xeb, 0xe4, 0x23, 0x90, 0xbc, 0x4d, 0x74, 0x83, - 0x10, 0x71, 0x34, 0x94, 0x5a, 0x64, 0x35, 0x8f, 0xab, 0x85, 0x16, 0xf3, 0x5c, 0x69, 0xde, 0xad, - 0xff, 0x11, 0x04, 0x64, 0x48, 0xfc, 0xe1, 0xd7, 0xae, 0x56, 0x35, 0xf8, 0x51, 0x68, 0xb2, 0x5f, - 0xdc, 0x67, 0x8b, 0xda, 0x6d, 0x18, 0xd7, 0x1e, 0xa2, 0x09, 0xe6, 0x0d, 0x8c, 0x42, 0xdc, 0xb9, - 0x49, 0x5f, 0xb2, 0xff, 0x32, 0xe9, 0x18, 0x66, 0x7b, 0x53, 0x79, 0x7c, 0x32, 0x59, 0x3f, 0x89, - 0x3b, 0x80, 0x4e, 0x6b, 0x05, 0xa7, 0x35, 0xae, 0xc5, 0x33, 0xbe, 0x02, 0xd2, 0x73, 0xa5, 0x49, - 0xe6, 0x80, 0x06, 0xe6, 0x82, 0x0c, 0xc0, 0x87, 0x5e, 0x80, 0xde, 0x50, 0x7d, 0x06, 0x19, 0x89, - 0xfd, 0x99, 0x15, 0x1a, 0x16, 0x84, 0xb0, 0x67, 0xee, 0x90, 0xbd, 0x45, 0x35, 0x80, 0xbd, 0x5d, - 0xca, 0xdd, 0xc8, 0x82, 0x48, 0x3a, 0x4c, 0x04, 0x99, 0x45, 0x8a, 0x80, 0x12, 0xa7, 0x32, 0xdf, - 0xdd, 0x12, 0x97, 0x17, 0xf7, 0x9a, 0x76, 0xc9, 0x2e, 0x88, 0xb5, 0x7c, 0xc3, 0x46, 0x27, 0x83, - 0x27, 0xd1, 0xeb, 0x49, 0xb8, 0x14, 0x17, 0x53, 0x0a, 0x22, 0x60, 0xab, 0x91, 0x8f, 0x18, 0x36, - 0x80, 0x4b, 0x11, 0x05, 0x69, 0x2d, 0x2d, 0xa5, 0xb3, 0x29, 0xac, 0xcb, 0x95, 0xe4, 0x21, 0x9a, - 0x96, 0x44, 0x2e, 0xa0, 0xb1, 0x64, 0x4e, 0x06, 0x09, 0xd9, 0xe3, 0x0b, 0x31, 0xe5, 0x7a, 0xf6, - 0x88, 0xc4, 0xc4, 0x26, 0x42, 0x22, 0xb2, 0xaf, 0x51, 0x72, 0x1e, 0xaa, 0x14, 0xb1, 0xa8, 0x4b, - 0x09, 0x8e, 0xbf, 0xaf, 0xdd, 0x12, 0x5f, 0x66, 0xd8, 0x0a, 0xa1, 0xbb, 0x0e, 0x13, 0x80, 0xe0, - 0x82, 0xe6, 0x22, 0x13, 0xcb, 0x0c, 0xed, 0x6d, 0xd9, 0x27, 0xbb, 0x7e, 0x5c, 0xde, 0xb3, 0xc0, - 0xa7, 0x9c, 0x2e, 0x84, 0x80, 0xf9, 0xd0, 0x85, 0x64, 0xee, 0xe6, 0x54, 0x77, 0xd3, 0x9b, 0xd7, - 0x6a, 0x83, 0x73, 0x44, 0x64, 0x4e, 0xa4, 0x33, 0x1b, 0xc6, 0x8f, 0x54, 0x33, 0xc2, 0x6c, 0xcd, - 0xa6, 0x20, 0x57, 0xf3, 0x1f, 0xeb, 0x9e, 0x4a, 0xdb, 0x9f, 0xe3, 0x37, 0xf9, 0x83, 0xab, 0x4d, - 0x81, 0x21, 0x25, 0x07, 0x7a, 0xc4, 0x5e, 0x8d, 0x8d, 0x1b, 0x88, 0xce, 0x7c, 0xb1, 0x58, 0xff, - 0xb1, 0x92, 0xc9, 0xf3, 0x53, 0x46, 0xf4, 0x9a, 0xef, 0x82, 0x65, 0x2e, 0x63, 0xee, 0x32, 0xc4, - 0x63, 0x7b, 0xbe, 0x6b, 0xd3, 0x01, 0x8e, 0x59, 0x77, 0x82, 0x3c, 0x78, 0xfa, 0x33, 0x57, 0x87, - 0x77, 0x49, 0x51, 0x38, 0xdb, 0x0b, 0xc6, 0xdf, 0xcf, 0x84, 0x2c, 0xd2, 0x1f, 0x36, 0x60, 0x8d, - 0xad, 0x00, 0x79, 0x65, 0x42, 0x11, 0x4f, 0x61, 0x9d, 0xd5, 0x34, 0x1b, 0x6e, 0xc3, 0x9c, 0x85, - 0xb0, 0xdc, 0x8a, 0x1e, 0xa0, 0x96, 0xe8, 0x30, 0x95, 0x5d, 0xc3, 0x95, 0xb7, 0xfb, 0x02, 0x53, - 0x93, 0x7d, 0x22, 0x2b, 0xeb, 0x0b, 0x82, 0x4b, 0xa5, 0x54, 0xb3, 0x45, 0xab, 0x8a, 0x63, 0xc1, - 0xbc, 0xc9, 0xa2, 0x15, 0x51, 0x89, 0x65, 0xf7, 0xf1, 0x61, 0x95, 0xb3, 0xf0, 0x76, 0x93, 0x0c, - 0xca, 0xa3, 0xb5, 0x7e, 0x19, 0x33, 0x0a, 0xec, 0x4b, 0x41, 0x99, 0xbc, 0xd3, 0xad, 0xfd, 0xb9, - 0x4c, 0xd2, 0x75, 0x4f, 0xf0, 0xda, 0x74, 0xed, 0x3c, 0xa3, 0x6e, 0x6d, 0xe5, 0x65, 0x4a, 0x06, - 0x52, 0x9d, 0xc0, 0x89, 0xf2, 0xb3, 0x6c, 0xee, 0xb2, 0x8d, 0xaf, 0x62, 0x3f, 0xbd, 0x93, 0xcb, - 0x55, 0x30, 0x2d, 0xe7, 0x00, 0xed, 0x76, 0xbc, 0x69, 0x8b, 0xc7, 0xa7, 0xc0, 0xf5, 0x5f, 0x90, - 0x52, 0xa1, 0xa3, 0x96, 0xeb, 0x4d, 0x48, 0x89, 0xae, 0x5f, 0xf1, 0xad, 0x4b, 0x33, 0xcf, 0xe0, - 0xfe, 0xa2, 0x58, 0x23, 0xaa, 0xb5, 0x8d, 0xb5, 0x47, 0x74, 0xff, 0x41, 0x4f, 0x85, 0xca, 0xdf, - 0x7b, 0x48, 0x9d, 0x34, 0x83, 0x2d, 0xbe, 0xab, 0x31, 0x9e, 0x98, 0x86, 0x14, 0xc0, 0xd0, 0xcd, - 0x13, 0x75, 0xe7, 0x83, 0x34, 0x96, 0x1e, 0x39, 0x0f, 0xa1, 0x57, 0x92, 0xdf, 0xb0, 0xc7, 0x96, - 0x09, 0x00, 0xf7, 0xa1, 0xfe, 0xbc, 0x4c, 0xe8, 0x70, 0x95, 0x6d, 0xb3, 0x65, 0xfd, 0x0a, 0xf3, - 0x46, 0xc2, 0x80, 0x13, 0x3f, 0x55, 0xb8, 0x26, 0xff, 0x47, 0x6c, 0xdd, 0x69, 0x47, 0x2e, 0xc4, - 0xf1, 0x88, 0x2e, 0x96, 0x00, 0x94, 0x8c, 0x88, 0x42, 0xb2, 0x32, 0x86, 0xe6, 0x16, 0x12, 0xbd, - 0xf6, 0xfe, 0xfc, 0xcf, 0x93, 0x7b, 0xc4, 0xee, 0x3e, 0x7a, 0x2c, 0x3e, 0x71, 0xc0, 0x80, 0x63, - 0xa8, 0x47, 0xce, 0xbe, 0x38, 0xfe, 0xa0, 0x6f, 0x30, 0xb0, 0x3f, 0x6a, 0x71, 0x6b, 0xd2, 0xa8, - 0xae, 0x34, 0xa4, 0xbf, 0xcd, 0x2a, 0x9f, 0x4a, 0x30, 0xbc, 0x52, 0x69, 0x64, 0x23, 0x33, 0xc9, - 0x6c, 0xba, 0x9a, 0xe7, 0x95, 0xb2, 0x53, 0x30, 0x3c, 0x29, 0xc1, 0x96, 0x09, 0xf7, 0xc7, 0x7e, - 0x34, 0x9e, 0x23, 0xaa, 0x8b, 0xfa, 0xeb, 0xe7, 0x15, 0x42, 0x68, 0x48, 0xe1, 0x64, 0x6b, 0x8a, - 0xba, 0xca, 0xea, 0x14, 0x08, 0xc1, 0x87, 0xaf, 0xc5, 0x65, 0x10, 0x02, 0x28, 0x95, 0x48, 0x90, - 0x07, 0x3a, 0x16, 0x13, 0x6e, 0xd0, 0x0b, 0x20, 0xbd, 0x24, 0x10, 0x20, 0xc2, 0x3d, 0x29, 0xdb, - 0x10, 0x5e, 0x13, 0xf7, 0x27, 0x53, 0x35, 0x11, 0xd3, 0x22, 0x71, 0xa2, 0x86, 0x05, 0x83, 0x3d, - 0x11, 0x64, 0xfb, 0x9d, 0x53, 0x1a, 0xc2, 0x2f, 0x82, 0x4e, 0x59, 0x02, 0xfe, 0x89, 0x1b, 0xea, - 0x27, 0xed, 0xe7, 0x06, 0x76, 0xf8, 0x7d, 0x4c, 0x06, 0x34, 0xd8, 0xcf, 0xfb, 0x4a, 0x1a, 0x4d, - 0x03, 0x5c, 0xa6, 0xf6, 0x73, 0x73, 0x8c, 0x77, 0x7c, 0x78, 0x80, 0xaa, 0x1e, 0x1d, 0x3a, 0xcd, - 0xeb, 0x2c, 0x54, 0xfd, 0xa5, 0xae, 0x2c, 0xd5, 0xb3, 0x0e, 0x18, 0x2b, 0x1a, 0x85, 0x2c, 0xba, - 0x7e, 0x83, 0x49, 0x0e, 0x5f, 0xce, 0x08, 0xf8, 0x46, 0xce, 0x5c, 0xc5, 0x53, 0xa4, 0xd2, 0x2a, - 0x9e, 0xaf, 0x02, 0x0d, 0x43, 0x30, 0xc8, 0x00, 0xd6, 0x06, 0x7e, 0x63, 0x85, 0xa7, 0xfe, 0x3d, - 0x18, 0x13, 0xa5, 0xa0, 0xe0, 0x55, 0x7c, 0x26, 0xa2, 0xd0, 0x20, 0xd1, 0x9e, 0x15, 0x67, 0xb0, - 0x61, 0x2d, 0xd4, 0x5c, 0x78, 0xb1, 0xc6, 0xd3, 0x79, 0x11, 0x86, 0x4e, 0xb5, 0x17, 0x4a, 0x48, - 0xc1, 0xac, 0xda, 0x81, 0x0d, 0xbd, 0x36, 0x22, 0xde, 0x02, 0x48, 0xd4, 0x9e, 0x6b, 0xed, 0x0e, - 0xbe, 0x05, 0x63, 0xbe, 0xbe, 0xb7, 0xbf, 0x53, 0x04, 0x7c, 0x6c, 0x0b, 0xa6, 0xd6, 0x96, 0xa1, - 0x09, 0x79, 0xd6, 0x41, 0xf9, 0x45, 0xbb, 0x6e, 0xac, 0x00, 0xda, 0x03, 0xf2, 0xf3, 0xfa, 0x64, - 0x53, 0x70, 0x70, 0x0b, 0xf6, 0xc8, 0x58, 0xc7, 0x6b, 0xb6, 0x84, 0xbd, 0x0e, 0x2a, 0xda, 0x4e, - 0x9a, 0xcb, 0xf1, 0xe9, 0xda, 0xa7, 0x2d, 0x15, 0x41, 0x57, 0xf8, 0x0b, 0xcf, 0x28, 0xf6, 0xed, - 0x47, 0xde, 0x75, 0x5e, 0xa4, 0xa3, 0xd5, 0x15, 0x34, 0x20, 0x45, 0x6a, 0xfb, 0x4a, 0x34, 0xaa, - 0xb8, 0xf1, 0x1c, 0xfc, 0x01, 0xfd, 0x5f, 0x08, 0x5e, 0x77, 0x64, 0x13, 0x4f, 0x5e, 0xfe, 0xd9, - 0x1e, 0xd0, 0x7f, 0x95, 0xb5, 0x47, 0xd1, 0xc2, 0xb8, 0x55, 0x25, 0x4f, 0x1e, 0xa2, 0x51, 0x48, - 0x09, 0x01, 0x42, 0xcf, 0x22, 0xbb, 0x1e, 0x72, 0x48, 0xe6, 0xab, 0x63, 0x7e, 0x94, 0x22, 0xd0, - 0x3e, 0x61, 0x1e, 0xfc, 0x7f, 0xa8, 0x21, 0x66, 0x6c, 0x7c, 0x37, 0x7e, 0xc7, 0x98, 0x5e, 0xea, - 0x1e, 0x9f, 0x38, 0x8a, 0xd8, 0xca, 0x35, 0x4e, 0x60, 0x55, 0x14, 0x42, 0x97, 0xb0, 0xcf, 0x88, - 0xcf, 0x1d, 0xc5, 0x47, 0x40, 0x39, 0xfc, 0xca, 0xf7, 0x47, 0x00, 0xe0, 0xff, 0x60, 0x33, 0x9d, - 0x3d, 0x02, 0x4a, 0x82, 0x25, 0xf8, 0xa0, 0xf2, 0x83, 0x72, 0xb9, 0x87, 0xe8, 0x40, 0xdb, 0x6a, - 0x2b, 0x09, 0x51, 0x8f, 0x70, 0x2a, 0x5b, 0x2d, 0xa4, 0x14, 0x77, 0x35, 0xd8, 0x7a, 0xd2, 0x46, - 0xc6, 0xa6, 0xca, 0xe1, 0x27, 0x66, 0xc8, 0x80, 0x75, 0xa8, 0x1f, 0x56, 0xf8, 0x23, 0x2e, 0x67, - 0x97, 0xbb, 0x01, 0xc5, 0xfc, 0x8b, 0x0c, 0x6e, 0x49, 0x1e, 0xbf, 0x6e, 0xd8, 0x61, 0x00, 0xdb, - 0x7a, 0xb5, 0x62, 0x18, 0xf5, 0x6b, 0x26, 0x84, 0x8e, 0x66, 0xa0, 0x40, 0x97, 0xbe, 0xe6, 0xbe, - 0xa6, 0xfe, 0x93, 0x43, 0xce, 0x25, 0x28, 0xf2, 0x73, 0xbb, 0x90, 0xaf, 0xb7, 0x9c, 0x37, 0x87, - 0x6c, 0xa6, 0xf3, 0x23, 0xec, 0x6a, 0xbe, 0x90, 0x87, 0x6b, 0xbb, 0xd3, 0x64, 0x67, 0x90, 0x4f, - 0xc3, 0x53, 0x68, 0x9e, 0x72, 0xe5, 0x0d, 0xf4, 0x70, 0x54, 0xb5, 0x43, 0x11, 0x76, 0xe5, 0xfb, - 0x91, 0x62, 0x67, 0xed, 0x40, 0x84, 0x8d, 0xda, 0x2e, 0x7d, 0xfc, 0x7f, 0x48, 0xb4, 0x29, 0x20, - 0x48, 0xb6, 0x4a, 0xd1, 0xd4, 0xa5, 0x5a, 0xa3, 0x15, 0x3f, 0xb1, 0x60, 0x05, 0x94, 0x9b, 0x3f, - 0x26, 0x1b, 0x8c, 0xa1, 0x20, 0xbe, 0x9e, 0x33, 0xcb, 0x61, 0x2e, 0x43, 0xae, 0x8f, 0x61, 0xba, - 0x2e, 0x61, 0x5a, 0xea, 0x6a, 0x09, 0x98, 0x7e, 0x8a, 0xfc, 0xe8, 0xf9, 0x70, 0x3f, 0xc5, 0x2f, - 0xb3, 0x29, 0xdc, 0x4e, 0x26, 0xfc, 0x2d, 0xa9, 0xc8, 0xb8, 0xa6, 0xd9, 0xfa, 0x4b, 0x6c, 0x04, - 0x22, 0xd6, 0x09, 0x0a, 0x56, 0x88, 0xc1, 0xd5, 0x8f, 0x25, 0xfe, 0x3e, 0xd8, 0x82, 0xd1, 0x67, - 0x7d, 0x98, 0xff, 0x0a, 0x89, 0x77, 0xd5, 0xe0, 0x6b, 0x20, 0x59, 0x90, 0x91, 0x9f, 0xee, 0xe0, - 0xf0, 0xb8, 0x54, 0x3c, 0x16, 0x98, 0x7f, 0x26, 0x4d, 0x83, 0x75, 0x95, 0x3c, 0xa7, 0xb9, 0x99, - 0xfd, 0x42, 0x8a, 0x25, 0x94, 0xe4, 0x7e, 0x42, 0x96, 0xd9, 0x6c, 0x0a, 0xf6, 0x9e, 0x35, 0x9e, - 0x5a, 0xf0, 0x46, 0xd5, 0x08, 0x2e, 0x31, 0xc4, 0x8e, 0xcd, 0xb6, 0x54, 0x08, 0x4f, 0x37, 0x8e, - 0x1e, 0x40, 0xa4, 0x72, 0x47, 0x6a, 0xd9, 0x86, 0x5b, 0x0e, 0xb9, 0xa8, 0xfa, 0x27, 0xc2, 0x3e, - 0xbf, 0x0c, 0xfd, 0x51, 0xbf, 0x61, 0xda, 0xd2, 0x36, 0xa0, 0x06, 0xbb, 0x13, 0xb8, 0x56, 0x94, - 0x1b, 0xea, 0x23, 0xba, 0x17, 0x65, 0x98, 0x9d, 0x84, 0xdf, 0x7c, 0xc6, 0x20, 0x57, 0xa9, 0xf5, - 0x58, 0xf4, 0x4c, 0xae, 0x3e, 0xbe, 0x1f, 0xc7, 0x3d, 0x54, 0x6f, 0x45, 0x6d, 0xfa, 0x15, 0x52, - 0xdf, 0x77, 0x26, 0x81, 0x52, 0x3b, 0xbe, 0x2e, 0xc6, 0x91, 0xe5, 0x0a, 0x46, 0xb9, 0xc7, 0x82, - 0x66, 0xbc, 0x3b, 0xac, 0x0f, 0x58, 0xe7, 0x76, 0x30, 0x02, 0x40, 0x5b, 0xcb, 0x9a, 0x8a, 0x90, - 0x21, 0x6f, 0x56, 0x6c, 0x33, 0x96, 0xdf, 0x67, 0xa9, 0xcb, 0x2b, 0xb5, 0x50, 0x64, 0x1e, 0xcd, - 0xd4, 0x2f, 0x60, 0xb3, 0xd0, 0xcc, 0x93, 0x65, 0x42, 0xa2, 0xf5, 0x91, 0xcd, 0xa8, 0x5a, 0x6d, - 0x3b, 0x15, 0x7e, 0xc2, 0x85, 0x3f, 0x65, 0x6b, 0x3b, 0x33, 0x72, 0x06, 0x3f, 0x62, 0x35, 0x9b, - 0x86, 0x63, 0xc2, 0xce, 0x33, 0xe4, 0xa5, 0x88, 0x99, 0xf2, 0xe5, 0xfd, 0x2c, 0x86, 0x9b, 0x41, - 0xe3, 0xc3, 0x9e, 0xce, 0xf8, 0xd7, 0xfa, 0x8c, 0x49, 0x6e, 0xe6, 0x4d, 0xcf, 0x40, 0xb5, 0x9d, - 0x66, 0x5e, 0x73, 0xd7, 0x31, 0x03, 0xa8, 0xb7, 0x33, 0xc4, 0xcb, 0x51, 0x43, 0x3f, 0xb9, 0xc2, - 0xf2, 0xb3, 0x4e, 0xfa, 0xf9, 0x56, 0x45, 0x4e, 0x0c, 0x36, 0x3f, 0x99, 0x16, 0xdf, 0x41, 0xe3, - 0xa0, 0x30, 0x83, 0xef, 0x99, 0xbf, 0x88, 0x3a, 0xaf, 0x98, 0x21, 0x20, 0x01, 0x1b, 0xcb, 0x8b, - 0x0d, 0xa7, 0xc3, 0xb1, 0xea, 0xf8, 0x61, 0xf7, 0x5b, 0x0e, 0x55, 0x69, 0x95, 0x28, 0xb8, 0x9e, - 0xdb, 0xd4, 0x40, 0x4a, 0x46, 0xd1, 0xd5, 0x89, 0xc5, 0x36, 0x43, 0xa0, 0x91, 0xe3, 0xa4, 0x46, - 0x71, 0xe7, 0xe2, 0x2c, 0xce, 0x35, 0xde, 0x73, 0x7d, 0x59, 0x82, 0x38, 0xa2, 0xc3, 0x07, 0x12, - 0xc9, 0x73, 0xe9, 0x39, 0x1b, 0x0f, 0x14, 0x62, 0x47, 0x91, 0xc5, 0xd8, 0xcc, 0x67, 0x09, 0xed, - 0xec, 0x73, 0x9d, 0xdd, 0x79, 0x68, 0x78, 0xd3, 0xd7, 0x4a, 0x90, 0x17, 0x57, 0x6f, 0x62, 0xc4, - 0x5e, 0x79, 0xf5, 0x62, 0x97, 0xa8, 0xef, 0x46, 0x62, 0x0d, 0x19, 0x0e, 0x15, 0x22, 0x37, 0xd6, - 0xe9, 0xc2, 0xb5, 0xb1, 0xb4, 0x69, 0x42, 0xd7, 0x62, 0x41, 0x33, 0xaa, 0xae, 0xc6, 0x51, 0x2a, - 0xa7, 0x03, 0xf0, 0x06, 0xfc, 0x29, 0xcb, 0x59, 0x2a, 0x62, 0x55, 0x7e, 0x08, 0xc7, 0xf8, 0x7b, - 0x22, 0x83, 0xc8, 0xcf, 0x5f, 0x2e, 0x82, 0x41, 0x39, 0xa8, 0x3e, 0x3f, 0x6a, 0xf6, 0x46, 0x3a, - 0x7e, 0xb7, 0x84, 0x13, 0x38, 0xd2, 0x80, 0x93, 0xd3, 0x6b, 0xcd, 0x75, 0x4c, 0x03, 0xae, 0x7b, - 0x50, 0x07, 0x6d, 0x76, 0x82, 0xb9, 0xf1, 0xeb, 0x99, 0x9a, 0x7e, 0x94, 0xbf, 0x3b, 0xf7, 0xef, - 0x9f, 0xd4, 0xe0, 0x8b, 0xd8, 0xc4, 0x5e, 0x9e, 0xce, 0x4b, 0x6a, 0x9e, 0x02, 0x45, 0xc2, 0x45, - 0xa0, 0x88, 0x61, 0xdd, 0x8f, 0xb8, 0xed, 0xcc, 0x7c, 0xa8, 0x85, 0x39, 0x28, 0x73, 0x26, 0x46, - 0x4d, 0x1a, 0x83, 0xaf, 0x8d, 0x79, 0x7f, 0x3f, 0xbd, 0xaf, 0xd9, 0x61, 0xe0, 0x8d, 0xd5, 0xb8, - 0x5d, 0xf7, 0xe3, 0xba, 0xac, 0x33, 0xab, 0x8e, 0xd4, 0x5a, 0xb7, 0x08, 0x3a, 0xd3, 0x8b, 0xff, - 0x80, 0x8e, 0x1a, 0xc7, 0x60, 0x13, 0xdf, 0xbf, 0x7f, 0xd2, 0xed, 0x6d, 0xc3, 0x30, 0xb9, 0xc3, - 0xf5, 0x7e, 0x9f, 0x38, 0x39, 0x9c, 0x65, 0xf8, 0xa8, 0x81, 0x81, 0xcd, 0x26, 0x60, 0x6f, 0xae, - 0xe3, 0xf9, 0xf8, 0x86, 0x44, 0x2c, 0x84, 0xf8, 0x6e, 0x77, 0xdd, 0x4c, 0x12, 0x1a, 0x83, 0x0e, - 0x59, 0x4b, 0x23, 0x59, 0x20, 0xc8, 0x7f, 0x7a, 0xa8, 0xb9, 0x5e, 0x45, 0xd7, 0x04, 0x4c, 0x46, - 0xee, 0xf0, 0x2c, 0x6e, 0x02, 0xff, 0xf7, 0xae, 0x0d, 0xba, 0x07, 0x33, 0x82, 0x7a, 0xc3, 0x7b, - 0xc4, 0xdc, 0xb1, 0xa6, 0xe3, 0x7e, 0xf4, 0x5d, 0x7b, 0x6c, 0x67, 0x82, 0x3c, 0x3e, 0xfc, 0xf5, - 0xbd, 0x0c, 0x22, 0x38, 0x6d, 0xa0, 0x40, 0xa9, 0xcf, 0x13, 0x4a, 0xfc, 0x84, 0x42, 0x91, 0xb6, - 0xdb, 0x71, 0xb3, 0xf3, 0xe1, 0x1f, 0x9d, 0x39, 0x3b, 0xd0, 0x8d, 0x1f, 0x84, 0xa6, 0xe7, 0xc9, - 0x78, 0x1f, 0x25, 0x89, 0xa5, 0xa0, 0x5a, 0x11, 0x0e, 0xe3, 0x6a, 0xb4, 0x94, 0x82, 0x52, 0xc9, - 0xed, 0x9d, 0x62, 0x3a, 0x2c, 0xd5, 0x19, 0xe9, 0x0f, 0xb0, 0xb1, 0x92, 0x79, 0x85, 0x5b, 0x7a, - 0x0f, 0xa8, 0x29, 0x9e, 0xa6, 0xf3, 0x96, 0xce, 0xef, 0x08, 0x82, 0x1c, 0x3e, 0xda, 0xd7, 0x8f, - 0x0e, 0x48, 0xe2, 0x7e, 0x08, 0xe3, 0xc7, 0xbf, 0xbd, 0xdc, 0x10, 0x68, 0xb6, 0x60, 0xf6, 0x68, - 0xc8, 0xc0, 0xac, 0xe3, 0x85, 0xc6, 0x2d, 0x8e, 0xc1, 0xcc, 0x60, 0xa4, 0xcf, 0x89, 0x1f, 0x66, - 0x83, 0x87, 0xca, 0xec, 0x7e, 0xe2, 0x26, 0x21, 0x45, 0xb6, 0xfb, 0xf4, 0x6c, 0x95, 0xa8, 0xfd, - 0x4e, 0xf1, 0x39, 0x90, 0xff, 0x15, 0xed, 0xc7, 0x8c, 0x65, 0x9c, 0x84, 0x6d, 0xb4, 0x08, 0x5c, - 0x88, 0xb2, 0xf4, 0x80, 0xad, 0xe9, 0xab, 0x7d, 0xcc, 0x58, 0x99, 0x69, 0xbf, 0x49, 0xa9, 0xca, - 0xe6, 0xc2, 0xf5, 0xea, 0x7c, 0xd2, 0xd7, 0x1e, 0x68, 0xa1, 0xeb, 0x19, 0x05, 0x37, 0x92, 0xa7, - 0x83, 0xa5, 0x1c, 0xe2, 0x31, 0x44, 0x8a, 0x7c, 0x63, 0xa7, 0x97, 0x5d, 0x51, 0x5d, 0xc4, 0x34, - 0x14, 0x29, 0x09, 0x44, 0x18, 0xc6, 0xa1, 0x9d, 0xec, 0xf8, 0x4d, 0xc8, 0xdf, 0xb1, 0x78, 0xe9, - 0xdb, 0x7a, 0x08, 0xa1, 0x96, 0x23, 0xf5, 0xb6, 0x58, 0xc1, 0x12, 0x44, 0x5f, 0x14, 0x27, 0xed, - 0xee, 0xbf, 0xd7, 0x8c, 0x7a, 0x60, 0xd0, 0x50, 0x70, 0xb4, 0xdd, 0x40, 0xd1, 0x8b, 0xc1, 0x37, - 0x6b, 0xb2, 0x98, 0xa1, 0x53, 0xd3, 0x97, 0x73, 0x6b, 0x15, 0xdb, 0x1b, 0xd2, 0xa4, 0xa0, 0x2f, - 0x9e, 0xeb, 0xc4, 0x43, 0xf7, 0xa8, 0xb4, 0xe4, 0x60, 0x4d, 0xd4, 0x2d, 0x41, 0xa9, 0xc8, 0x0d, - 0x04, 0x9f, 0x7b, 0x94, 0x83, 0xa7, 0xfd, 0x8e, 0x4e, 0xa6, 0xeb, 0xfb, 0xca, 0x3e, 0xc3, 0x0c, - 0xdc, 0xc7, 0xdc, 0xf7, 0x5f, 0x0c, 0xc1, 0x60, 0xd8, 0x01, 0xc4, 0xe6, 0x34, 0x7b, 0x0a, 0x9e, - 0x37, 0x12, 0xa6, 0x9a, 0x88, 0x2a, 0x63, 0x0c, 0xe9, 0x6b, 0xc8, 0x46, 0x41, 0xd0, 0x9a, 0x3c, - 0x8d, 0xfa, 0xcd, 0x85, 0xe1, 0xe1, 0x82, 0x8e, 0x47, 0x3e, 0x74, 0x6c, 0x43, 0x66, 0xa4, 0x65, - 0x48, 0x51, 0x24, 0x82, 0x8d, 0x72, 0x94, 0x3e, 0x54, 0xac, 0xc2, 0x15, 0x24, 0x32, 0x89, 0xf0, - 0x5c, 0x11, 0x2c, 0xf8, 0x84, 0xba, 0xda, 0xd4, 0x0a, 0xcd, 0x0a, 0x9d, 0x4f, 0x96, 0x70, 0xa0, - 0xbd, 0x5a, 0x5f, 0x49, 0xe8, 0x71, 0xf9, 0x9b, 0x4b, 0xa1, 0x2c, 0x39, 0x4c, 0xd4, 0x23, 0x80, - 0x44, 0x67, 0x87, 0x26, 0x81, 0x1b, 0x1a, 0x4b, 0xa8, 0xb2, 0x9d, 0x68, 0x95, 0xed, 0x0e, 0x70, - 0xb3, 0x58, 0x62, 0x3c, 0xa6, 0x37, 0xb8, 0x62, 0x53, 0x46, 0xee, 0xdd, 0xc9, 0xa1, 0x89, 0xb4, - 0x9f, 0x46, 0x50, 0x1e, 0x6e, 0x9c, 0xbf, 0x20, 0x49, 0x5b, 0x7b, 0xe9, 0x18, 0xc5, 0xc9, 0xe0, - 0xd9, 0x4f, 0xa8, 0xba, 0xd4, 0x1f, 0x06, 0x97, 0x25, 0xe7, 0xe1, 0x70, 0x99, 0xdf, 0x6c, 0xfe, - 0x52, 0x79, 0x45, 0xb8, 0xa5, 0x79, 0x1a, 0xe4, 0x13, 0x90, 0x4e, 0x74, 0x52, 0x54, 0xc1, 0x7f, - 0x64, 0x5b, 0x1d, 0xf7, 0x76, 0x2b, 0x0a, 0xc5, 0xcb, 0xb4, 0x6d, 0xc3, 0x99, 0x90, 0x9d, 0xce, - 0xeb, 0x5a, 0xc5, 0xf9, 0xbc, 0xa4, 0x5c, 0x0f, 0x4e, 0x29, 0x51, 0xc0, 0xef, 0x17, 0x68, 0x4a, - 0xc3, 0xe2, 0x34, 0xca, 0x07, 0xe2, 0x07, 0x59, 0xb3, 0xbd, 0x7b, 0x89, 0x24, 0x5a, 0xa5, 0x0e, - 0x44, 0x2c, 0xfc, 0x12, 0x5e, 0x0a, 0xb3, 0x0d, 0xb2, 0x3f, 0xa6, 0xe9, 0xb2, 0x56, 0xa1, 0xa3, - 0xed, 0x42, 0x41, 0xe1, 0x62, 0x6c, 0xf9, 0x8a, 0x01, 0x0f, 0x6f, 0x3b, 0xee, 0xbc, 0xa1, 0x4b, - 0xd5, 0xe0, 0x4b, 0xbb, 0x25, 0xa7, 0x5c, 0x82, 0xc0, 0xfc, 0x35, 0xce, 0x90, 0x30, 0x56, 0xd9, - 0xb1, 0x4b, 0x7b, 0xe8, 0xe2, 0x4a, 0xf7, 0x2e, 0x5f, 0x00, 0x61, 0x21, 0x0c, 0x0f, 0x14, 0x55, - 0xdf, 0x5b, 0xde, 0xff, 0x1b, 0x14, 0xfc, 0x04, 0x29, 0x05, 0x22, 0xc5, 0xea, 0x48, 0x6f, 0x07, - 0xc1, 0x4a, 0x49, 0xc6, 0xad, 0xe6, 0xf5, 0x36, 0xd8, 0xad, 0xa4, 0x65, 0x9f, 0x20, 0xda, 0x88, - 0x3f, 0x29, 0xe0, 0xb0, 0x25, 0x75, 0xce, 0x5e, 0x0d, 0xc2, 0x82, 0xa6, 0x40, 0xd3, 0xc0, 0xc3, - 0x44, 0x19, 0xc8, 0x98, 0x31, 0xb6, 0xce, 0xb2, 0x56, 0xf5, 0x8b, 0x15, 0xdd, 0xe9, 0x94, 0xd2, - 0x32, 0x1e, 0x7d, 0x79, 0xdf, 0x76, 0xdc, 0x0b, 0xf4, 0xab, 0xd4, 0x25, 0x2f, 0x96, 0x6b, 0x78, - 0x34, 0x0a, 0x6a, 0xc5, 0x2e, 0x48, 0x67, 0xfe, 0x58, 0xbf, 0xaf, 0x31, 0xc9, 0x58, 0x9b, 0x2b, - 0xfc, 0x86, 0x02, 0x03, 0x5a, 0xc4, 0x0e, 0x17, 0xcc, 0x6c, 0xf6, 0xae, 0x81, 0xe3, 0x50, 0xeb, - 0x90, 0xdb, 0x05, 0xa8, 0xc7, 0x2a, 0xc8, 0x4b, 0xdc, 0x24, 0xd2, 0x9e, 0x59, 0xa2, 0x5a, 0xbe, - 0x69, 0xc3, 0xe6, 0xa1, 0xf2, 0x77, 0x78, 0x4e, 0x1f, 0x3f, 0x6c, 0x19, 0xd3, 0xa2, 0xb5, 0xb5, - 0x4f, 0x33, 0x48, 0xfb, 0x1d, 0x2c, 0xfa, 0x37, 0x94, 0x52, 0xa8, 0xdf, 0xd6, 0xaa, 0x09, 0x86, - 0x97, 0x95, 0x24, 0x7f, 0xf3, 0xbc, 0xef, 0xe6, 0x33, 0x4b, 0x62, 0x22, 0xb6, 0x6b, 0x66, 0xdf, - 0x70, 0x2a, 0xb2, 0x41, 0xbb, 0xeb, 0x70, 0xdf, 0x47, 0x91, 0xdf, 0xc7, 0x13, 0x83, 0x5d, 0xff, - 0xda, 0x32, 0x17, 0x78, 0x44, 0xcf, 0x2b, 0xaa, 0x84, 0xb3, 0xc6, 0x27, 0x69, 0x51, 0xa5, 0x10, - 0x45, 0xa2, 0x01, 0x37, 0x47, 0x09, 0x5b, 0x6f, 0x66, 0x0e, 0x73, 0x23, 0xec, 0xaf, 0xd1, 0x4e, - 0x4a, 0x6c, 0xf2, 0xae, 0xc8, 0x88, 0x58, 0x82, 0x74, 0x8b, 0xff, 0x2a, 0x87, 0x5e, 0x6a, 0x53, - 0x8f, 0x17, 0x54, 0xe2, 0x63, 0x30, 0xe2, 0x5c, 0x9f, 0x81, 0x2a, 0x5f, 0x7d, 0x1a, 0x6f, 0xe1, - 0xa2, 0xf0, 0x6b, 0xdc, 0xb6, 0x6d, 0x9b, 0xf5, 0x8a, 0xb8, 0x54, 0x6b, 0x74, 0x85, 0xb2, 0x8a, - 0xdf, 0x88, 0xef, 0x65, 0x19, 0x39, 0x75, 0x45, 0xcb, 0x9b, 0xfe, 0x18, 0xa8, 0xff, 0x61, 0x0e, - 0x8b, 0x8a, 0x92, 0x82, 0x46, 0x37, 0x8c, 0xff, 0xa3, 0x44, 0x83, 0x90, 0xb1, 0x25, 0xbf, 0x1a, - 0x78, 0x26, 0xac, 0x9f, 0xbb, 0x86, 0xd4, 0xe4, 0x60, 0x0d, 0x9d, 0xe9, 0x36, 0x73, 0x46, 0xe9, - 0xcf, 0x37, 0xfa, 0x4a, 0xe2, 0x9a, 0xce, 0xb1, 0x0f, 0xba, 0x0c, 0x32, 0xe7, 0x66, 0x94, 0x55, - 0x38, 0x50, 0xe7, 0xd9, 0x32, 0xe7, 0xb5, 0xac, 0x97, 0x74, 0x14, 0xee, 0x2e, 0xa3, 0xa1, 0x5f, - 0x78, 0x28, 0x67, 0xf8, 0x84, 0xb8, 0x3b, 0x13, 0x0f, 0x79, 0xc5, 0xb6, 0x9e, 0x6e, 0x29, 0xf8, - 0x44, 0x39, 0x3d, 0x71, 0x39, 0xfe, 0x5e, 0x0f, 0xb3, 0x36, 0x90, 0xc5, 0x15, 0x53, 0x7f, 0xe5, - 0x98, 0x17, 0x12, 0x44, 0xb7, 0xdb, 0x02, 0x84, 0x2b, 0x19, 0xc0, 0x3d, 0x41, 0x7d, 0xc5, 0x1b, - 0x17, 0x2d, 0x18, 0x79, 0xeb, 0x89, 0x0c, 0x0a, 0xf0, 0x99, 0x09, 0xeb, 0xe6, 0x06, 0x06, 0x02, - 0x73, 0x75, 0xe5, 0x63, 0x37, 0x1e, 0xde, 0xc0, 0xcd, 0xd2, 0xfb, 0x40, 0xcd, 0x61, 0x80, 0xde, - 0xa2, 0x58, 0x4a, 0x0d, 0x6c, 0x15, 0xd2, 0x5b, 0xfe, 0x46, 0xba, 0x35, 0xf7, 0xf2, 0x01, 0x91, - 0x2f, 0xf0, 0x21, 0xd0, 0x79, 0xfa, 0xf6, 0xc7, 0x45, 0xb3, 0xcd, 0x74, 0x16, 0xda, 0x53, 0x66, - 0x68, 0x89, 0x0d, 0xfa, 0x2f, 0x31, 0x57, 0x33, 0x58, 0x89, 0x35, 0x6c, 0xd1, 0xbc, 0xa0, 0x97, - 0xb3, 0xa5, 0x25, 0xb6, 0x59, 0xf1, 0x64, 0x56, 0x8e, 0x56, 0xce, 0x05, 0x43, 0x18, 0xaf, 0xf5, - 0x23, 0x22, 0xec, 0xe3, 0xcf, 0x70, 0xe3, 0xaa, 0xdb, 0x44, 0x92, 0x61, 0xf7, 0xf0, 0x55, 0xce, - 0x85, 0x3f, 0x52, 0xce, 0xb2, 0x04, 0x19, 0x91, 0xb3, 0x50, 0x00, 0x2f, 0x3d, 0x4b, 0x4e, 0x8e, - 0x89, 0xfe, 0xbb, 0x88, 0xe5, 0xf1, 0xcf, 0xd1, 0x96, 0x96, 0xd9, 0x0a, 0x0e, 0x8d, 0xd5, 0xff, - 0x67, 0x75, 0x63, 0x24, 0xf9, 0x2f, 0xf5, 0xc1, 0x6a, 0x39, 0x2a, 0xb6, 0x14, 0x20, 0xb3, 0xa8, - 0x69, 0x2a, 0x32, 0xbd, 0x3e, 0x0f, 0xe7, 0x8d, 0x98, 0x0d, 0xc5, 0xb5, 0x9c, 0x24, 0xa1, 0x92, - 0xd0, 0x87, 0x3e, 0x84, 0xed, 0xa0, 0x27, 0xfd, 0xe1, 0x75, 0x96, 0x30, 0x1e, 0x94, 0x99, 0x8b, - 0x4c, 0x59, 0x05, 0x57, 0xfa, 0x78, 0x8d, 0xc4, 0xe6, 0x4b, 0xfb, 0x9d, 0x11, 0x24, 0xcb, 0xbf, - 0xab, 0xc6, 0xfb, 0x41, 0xf7, 0x11, 0xde, 0x05, 0x32, 0xe0, 0xac, 0xce, 0x64, 0xbd, 0xf1, 0xba, - 0xbc, 0xe4, 0xdd, 0x94, 0x0d, 0xaa, 0x22, 0xbc, 0x1f, 0x9a, 0x12, 0xcb, 0xb8, 0x5b, 0xd2, 0xba, - 0x88, 0xd4, 0xff, 0xb3, 0xbb, 0xb1, 0x85, 0x4b, 0x8f, 0x0c, 0xd5, 0xbb, 0x34, 0x9b, 0x3a, 0x2c, - 0x6c, 0x3f, 0x8f, 0xb7, 0x43, 0x54, 0x06, 0x5b, 0x3e, 0x5f, 0x5a, 0x56, 0x6a, 0x74, 0xa5, 0x96, - 0xfc, 0x91, 0x0f, 0xca, 0x73, 0x0e, 0x62, 0x89, 0x95, 0xeb, 0xca, 0x8a, 0x81, 0x08, 0x95, 0x20, - 0x97, 0x2c, 0x23, 0x46, 0x5b, 0x9f, 0xa9, 0x6b, 0xde, 0x78, 0x74, 0x27, 0xc5, 0x6f, 0x2d, 0x45, - 0xe2, 0x5f, 0xce, 0xfb, 0xc8, 0xce, 0xc0, 0x6b, 0x69, 0xe1, 0xe9, 0x1a, 0xe5, 0x26, 0xd3, 0x53, - 0x8a, 0xd7, 0xf9, 0x71, 0x29, 0x03, 0x11, 0xde, 0x87, 0xdd, 0xef, 0x45, 0x40, 0xe8, 0x7e, 0xcf, - 0x2b, 0x9f, 0x18, 0xf1, 0xdd, 0x11, 0x1e, 0x4d, 0x76, 0xdd, 0x53, 0x0b, 0x32, 0x77, 0xfe, 0xb3, - 0x5c, 0xed, 0x12, 0x04, 0xca, 0x23, 0xba, 0x55, 0x24, 0x8b, 0x69, 0x5a, 0x5d, 0xc2, 0x67, 0xfd, - 0x1a, 0x62, 0xb7, 0x6d, 0x3f, 0x35, 0x75, 0xf7, 0x3b, 0x05, 0xdd, 0x49, 0x13, 0xaf, 0xb9, 0x4c, - 0x0b, 0x66, 0x2b, 0xdc, 0x04, 0xa4, 0x06, 0x34, 0xc4, 0x2c, 0x50, 0x2b, 0xf3, 0x6e, 0x0d, 0x12, - 0x3e, 0xa5, 0xab, 0xc5, 0x8f, 0x38, 0x92, 0xc3, 0xf2, 0x66, 0x29, 0x9a, 0x38, 0xd7, 0x50, 0x12, - 0x17, 0x81, 0x9b, 0x9f, 0x64, 0x74, 0x5d, 0xdb, 0xf9, 0xbe, 0x81, 0x20, 0xe1, 0xac, 0xd4, 0x39, - 0xa5, 0x22, 0x1f, 0xbb, 0xe7, 0xa0, 0xbd, 0xf9, 0xe0, 0x6c, 0x70, 0x5f, 0x9d, 0xc0, 0xc0, 0xf8, - 0x12, 0x5e, 0x05, 0x3b, 0x20, 0x0e, 0xb2, 0xf4, 0x04, 0x03, 0xdb, 0xb5, 0x26, 0x3c, 0x7b, 0xab, - 0x67, 0x94, 0x81, 0xb1, 0xb4, 0x4e, 0x1e, 0x44, 0x8b, 0x53, 0x3e, 0x5a, 0x3a, 0x72, 0x0a, 0x49, - 0x0b, 0x9d, 0x75, 0xc6, 0xd2, 0xfb, 0x17, 0x20, 0x8b, 0xdd, 0x32, 0x46, 0x03, 0x27, 0xb6, 0x49, - 0x38, 0xfa, 0x66, 0xcf, 0xc5, 0xf2, 0xc6, 0xac, 0x8b, 0x7e, 0xb5, 0xcf, 0x36, 0x31, 0xca, 0xf4, - 0xa2, 0x43, 0xcd, 0x84, 0x62, 0x96, 0x38, 0x4e, 0xdd, 0xfd, 0x65, 0x4e, 0x6a, 0xe9, 0x8d, 0x61, - 0x32, 0xd4, 0xbe, 0x0b, 0x9f, 0x6b, 0xfc, 0xd6, 0x08, 0xd7, 0x18, 0xc1, 0x3d, 0xf0, 0xd0, 0x5d, - 0x45, 0xaf, 0xb0, 0xbd, 0xcf, 0xf8, 0x71, 0x2a, 0x02, 0xc9, 0x8d, 0x7e, 0x17, 0x0e, 0xe9, 0xd2, - 0x8f, 0xc4, 0xe4, 0x41, 0xa3, 0xef, 0x3f, 0x02, 0x7f, 0xcb, 0xf4, 0x0e, 0x1c, 0xb8, 0x2e, 0xf4, - 0x82, 0x6c, 0x2f, 0x6f, 0x39, 0xac, 0xf5, 0x39, 0x45, 0xed, 0x7c, 0x13, 0x4a, 0x7a, 0x63, 0xd7, - 0x92, 0xe8, 0x56, 0xf5, 0x4e, 0xcb, 0xeb, 0x01, 0x09, 0x83, 0x3c, 0xa0, 0xc7, 0x0d, 0x44, 0xa3, - 0x7a, 0xf1, 0x64, 0x12, 0x09, 0xd9, 0x7d, 0xfd, 0x39, 0x01, 0xc6, 0xcb, 0x63, 0x92, 0x65, 0x30, - 0x97, 0x56, 0x43, 0xe7, 0x64, 0xa0, 0xa2, 0xe3, 0xd2, 0x36, 0xad, 0x7e, 0x66, 0x6e, 0x63, 0x40, - 0xd7, 0xfb, 0xe0, 0x61, 0x59, 0x6b, 0xcc, 0x72, 0xe6, 0xa6, 0xac, 0xfe, 0xe1, 0x0a, 0xdb, 0xde, - 0x2f, 0x46, 0xe1, 0x9a, 0x71, 0xf8, 0x1c, 0x8e, 0xe1, 0x4e, 0x15, 0x75, 0x9e, 0x21, 0xec, 0xa9, - 0x00, 0x7c, 0x91, 0x6a, 0x16, 0xdf, 0x5e, 0x59, 0x0b, 0xe1, 0x30, 0x36, 0x91, 0xb5, 0x14, 0xbc, - 0x2e, 0xe1, 0xd3, 0x6e, 0x9c, 0xcd, 0x3a, 0xa7, 0xe8, 0x0b, 0x9f, 0x3d, 0x66, 0xcd, 0x83, 0x86, - 0xf4, 0xe3, 0xf1, 0x0a, 0x1f, 0xeb, 0xec, 0xb8, 0xe2, 0x6d, 0x68, 0x81, 0x58, 0xf3, 0x43, 0x68, - 0x44, 0xc7, 0x10, 0x26, 0x05, 0x22, 0x63, 0x11, 0xdf, 0xdc, 0x48, 0xc3, 0xc2, 0x98, 0x52, 0x15, - 0x20, 0x2c, 0xf2, 0x93, 0x37, 0x99, 0x55, 0x09, 0x3c, 0xf0, 0xde, 0xd0, 0xf5, 0x2d, 0x54, 0xda, - 0x06, 0x8f, 0x96, 0xa1, 0x24, 0x8a, 0x79, 0x03, 0x2b, 0x0f, 0xd0, 0x3e, 0xe9, 0xcb, 0xf6, 0x1b, - 0x21, 0xe9, 0x56, 0xab, 0x24, 0x90, 0xb7, 0x1e, 0x2a, 0x09, 0x53, 0x61, 0x50, 0x38, 0x78, 0x90, - 0x2a, 0x68, 0x0b, 0xbd, 0xbf, 0x10, 0x51, 0xd9, 0x51, 0xf9, 0x45, 0x6a, 0xc6, 0xaa, 0xf3, 0x67, - 0x3e, 0x95, 0x04, 0x9f, 0x75, 0x6f, 0x75, 0x50, 0xad, 0x78, 0x12, 0x5e, 0x4c, 0x79, 0x1a, 0xae, - 0x8c, 0x32, 0x11, 0xf6, 0x68, 0x52, 0x5e, 0x61, 0xe8, 0xc0, 0xa0, 0x0e, 0x57, 0x7a, 0x63, 0xdf, - 0xb6, 0xec, 0x10, 0x7a, 0xe3, 0x9e, 0x9c, 0x04, 0xeb, 0x29, 0x40, 0x7c, 0xc7, 0x7c, 0xa6, 0x66, - 0x85, 0xb2, 0x49, 0x42, 0xd3, 0x26, 0xa9, 0x77, 0x10, 0x79, 0x50, 0xf7, 0x50, 0x5d, 0xe0, 0x9d, - 0x02, 0x9b, 0xb7, 0x54, 0x97, 0xc1, 0xb9, 0xf2, 0x6e, 0x65, 0x86, 0x15, 0xed, 0xa5, 0xbe, 0x1e, - 0x7d, 0x9f, 0xfd, 0x86, 0x79, 0x53, 0x1d, 0x2c, 0x85, 0xe1, 0xcd, 0xb6, 0x05, 0x5b, 0xb9, 0x05, - 0x5e, 0xa7, 0x8e, 0xe3, 0xfe, 0xeb, 0xd3, 0xed, 0x36, 0x83, 0xf9, 0x1b, 0x89, 0xdc, 0x82, 0x18, - 0xf2, 0x5c, 0x8f, 0xc9, 0x0a, 0xd5, 0x9a, 0x7b, 0x2c, 0x27, 0x84, 0xd7, 0x14, 0x84, 0x43, 0x6a, - 0x7d, 0xbd, 0xef, 0x8f, 0xc2, 0x16, 0xe9, 0xa9, 0xb3, 0x8b, 0x27, 0xc8, 0x68, 0xbd, 0x81, 0x0f, - 0xdb, 0xad, 0x2b, 0xcb, 0x29, 0x13, 0xd8, 0xf4, 0x30, 0x7d, 0x65, 0x7b, 0x37, 0x70, 0xfb, 0x21, - 0x28, 0xab, 0xd3, 0xcc, 0x49, 0xc8, 0xac, 0x2a, 0x64, 0xb4, 0x5e, 0xee, 0xbe, 0xba, 0x89, 0xcb, - 0x18, 0x33, 0x09, 0x2c, 0x19, 0xf8, 0xdb, 0x86, 0x53, 0xfe, 0xfb, 0x7e, 0x81, 0xc0, 0xbf, 0x79, - 0xf3, 0x9d, 0x87, 0x16, 0xf7, 0x8b, 0x09, 0xa8, 0xdb, 0xd5, 0x39, 0xf0, 0x05, 0xa5, 0x26, 0x3e, - 0x2b, 0x62, 0x25, 0xae, 0xa9, 0xb6, 0xc9, 0x79, 0x8f, 0xdd, 0x4f, 0xfc, 0x78, 0x8c, 0xef, 0xf7, - 0xcb, 0xb5, 0x66, 0x3f, 0xb6, 0xd3, 0x82, 0x1b, 0x7b, 0x3d, 0x5a, 0x14, 0x71, 0x5b, 0x16, 0x92, - 0xd6, 0xe0, 0xbc, 0x13, 0x63, 0xb6, 0x7a, 0x62, 0xcf, 0x33, 0x35, 0x36, 0xdd, 0xca, 0x5e, 0xa7, - 0x19, 0xd4, 0x7e, 0x3f, 0x40, 0xc1, 0x28, 0xd0, 0x78, 0x3f, 0x84, 0x19, 0x76, 0x3c, 0x42, 0xdc, - 0x5a, 0xd2, 0xe2, 0x31, 0x5f, 0x6c, 0x9e, 0x76, 0xa5, 0xe0, 0xf7, 0x49, 0x64, 0x28, 0xef, 0xb1, - 0xde, 0xf5, 0x00, 0xd5, 0x70, 0x95, 0xa1, 0xb6, 0x52, 0xa8, 0xdf, 0xf9, 0x75, 0xbd, 0x05, 0x2a, - 0x12, 0x9d, 0x05, 0x6c, 0x61, 0x47, 0x2a, 0xdf, 0x73, 0x0e, 0xed, 0x2f, 0x37, 0x10, 0x67, 0xeb, - 0x0d, 0xbc, 0x66, 0xb4, 0xc0, 0x56, 0xd6, 0xc4, 0x45, 0x11, 0x27, 0x1e, 0xcb, 0xb1, 0xc8, 0x63, - 0x20, 0xfa, 0xdb, 0xbd, 0x09, 0xb5, 0x88, 0xfa, 0xfa, 0xcd, 0x73, 0xf7, 0xf5, 0x02, 0xda, 0xce, - 0xa6, 0x55, 0xc0, 0x28, 0x21, 0x52, 0x67, 0x07, 0x21, 0xc1, 0xb4, 0xc7, 0x86, 0x6e, 0x4b, 0xb7, - 0xde, 0x81, 0x59, 0xc0, 0x89, 0xe6, 0xe1, 0x27, 0x45, 0xf6, 0x95, 0x5b, 0xbf, 0xa1, 0x90, 0x42, - 0xbd, 0xaf, 0x88, 0xa9, 0x63, 0x2b, 0x0a, 0x07, 0x47, 0xff, 0x03, 0xa8, 0x2a, 0x68, 0xd9, 0x7c, - 0x97, 0xfb, 0x5c, 0xd4, 0x82, 0x31, 0xa7, 0xc9, 0xf8, 0xe7, 0x21, 0x47, 0x77, 0x3b, 0x83, 0xf5, - 0xb1, 0xe1, 0x25, 0xe0, 0x76, 0x20, 0x5f, 0xba, 0x10, 0x3c, 0x09, 0x2c, 0xba, 0xc5, 0x6e, 0x35, - 0xb3, 0xa9, 0x78, 0x58, 0x9c, 0x27, 0x6a, 0x02, 0xf5, 0x42, 0x86, 0x5a, 0x1d, 0xaf, 0x0d, 0x5e, - 0xbc, 0x5e, 0x3e, 0x45, 0x0b, 0x65, 0xdf, 0x67, 0x05, 0xe5, 0xd9, 0xdf, 0x51, 0x3e, 0xf7, 0xfc, - 0xc7, 0x87, 0x2d, 0xaa, 0x08, 0xee, 0x4c, 0x16, 0xd3, 0x41, 0xd7, 0xcb, 0x62, 0xfd, 0x06, 0xab, - 0xf2, 0x7d, 0x6c, 0x08, 0x7d, 0x80, 0xe9, 0xd3, 0x65, 0x45, 0x23, 0x94, 0xbc, 0x20, 0x05, 0x4e, - 0x92, 0xd9, 0x0d, 0x57, 0xfa, 0x0e, 0x71, 0x1c, 0xca, 0xc1, 0x1c, 0x4e, 0x21, 0x6a, 0xe6, 0x72, - 0xa9, 0xae, 0x89, 0x13, 0x7e, 0xf9, 0x64, 0xaf, 0xc9, 0x02, 0xc3, 0x26, 0x26, 0x63, 0x1b, 0x5f, - 0x20, 0x6f, 0x32, 0x09, 0xd8, 0x6c, 0xf8, 0x1e, 0x4b, 0x68, 0x97, 0xcd, 0x90, 0xeb, 0x3f, 0x96, - 0xb8, 0x8a, 0x83, 0x9f, 0x4e, 0x10, 0xe7, 0xab, 0x90, 0x94, 0x0a, 0x24, 0xca, 0x14, 0xa6, 0xe2, - 0x8d, 0x6d, 0xf8, 0xc3, 0xcc, 0xcd, 0xa0, 0x5c, 0xb5, 0x59, 0xb3, 0xbe, 0x01, 0x9d, 0x16, 0x83, - 0x86, 0x1f, 0xdb, 0x47, 0xca, 0x22, 0xe6, 0x8e, 0x66, 0xe2, 0x3e, 0x6f, 0x56, 0x78, 0xba, 0x44, - 0xe3, 0xd3, 0xd9, 0xc5, 0x66, 0xa1, 0xfe, 0x16, 0xf9, 0xcc, 0x8c, 0x09, 0x96, 0xd4, 0xd7, 0x05, - 0xc0, 0x5d, 0x66, 0xae, 0x54, 0xce, 0xfd, 0xfa, 0x6a, 0xfd, 0x85, 0xc5, 0x8b, 0x9c, 0x4d, 0x65, - 0x96, 0xd3, 0x75, 0xc8, 0xec, 0x0b, 0xb2, 0x4f, 0xca, 0xbe, 0x53, 0x8b, 0x17, 0x94, 0x84, 0x1a, - 0xbc, 0x05, 0x1d, 0x2f, 0x7f, 0x9f, 0x7b, 0x54, 0x08, 0x15, 0x92, 0x3d, 0x94, 0x88, 0x23, 0x1d, - 0xa7, 0xe2, 0x5e, 0xf4, 0xd5, 0xce, 0xd5, 0x31, 0x70, 0xa3, 0x58, 0x46, 0x68, 0x6e, 0x4f, 0x13, - 0x8f, 0x04, 0x79, 0x68, 0xff, 0x18, 0x14, 0x4b, 0xa9, 0xc6, 0xda, 0x68, 0x9c, 0xa0, 0x2a, 0xb0, - 0xcc, 0xc5, 0x07, 0xc3, 0xe1, 0x50, 0x29, 0x21, 0xf9, 0x53, 0x6b, 0x83, 0x0c, 0xbe, 0x16, 0x6f, - 0x91, 0x2f, 0xdc, 0x4e, 0xe0, 0xfa, 0x7c, 0x39, 0x89, 0xa8, 0xc8, 0x94, 0x0e, 0xe4, 0xca, 0xec, - 0xd5, 0x9e, 0xb5, 0x76, 0x6b, 0x10, 0x4e, 0x4d, 0x25, 0x4a, 0xd2, 0x4d, 0xa0, 0xb8, 0x3b, 0x25, - 0xc3, 0xda, 0xff, 0xcd, 0x4e, 0x1f, 0x72, 0xd6, 0x6e, 0xe5, 0x56, 0xa1, 0x6d, 0x2c, 0x6a, 0xcb, - 0x88, 0xa6, 0xec, 0xe9, 0x5d, 0x18, 0xd6, 0x6a, 0x35, 0x6e, 0x55, 0xb1, 0x68, 0xc9, 0x35, 0x4f, - 0x9e, 0x8c, 0x8a, 0x24, 0xd6, 0x56, 0x5c, 0x58, 0xa9, 0x45, 0x5b, 0xd3, 0x5c, 0xd7, 0x5b, 0xc9, - 0x76, 0xff, 0xec, 0xbd, 0x8e, 0x95, 0x6c, 0xe0, 0xb9, 0xe1, 0x93, 0x81, 0x61, 0xbb, 0x99, 0xae, - 0x30, 0x06, 0x5c, 0x7c, 0x85, 0x26, 0xf9, 0xf9, 0xad, 0x3c, 0x93, 0x1c, 0x7a, 0x11, 0x63, 0xd3, - 0x83, 0xac, 0xe3, 0x75, 0x73, 0xfa, 0x4b, 0xb4, 0x57, 0x21, 0x12, 0xe3, 0x06, 0xb6, 0x6a, 0x0d, - 0xaf, 0x64, 0x23, 0x15, 0xfc, 0x91, 0xcf, 0x27, 0x29, 0x19, 0x8a, 0xcf, 0x45, 0x46, 0x28, 0xb8, - 0x36, 0xe8, 0xd2, 0x24, 0x58, 0x45, 0x79, 0xaf, 0x7f, 0xcc, 0xf2, 0xd5, 0xc1, 0xe0, 0x5a, 0x36, - 0xaf, 0x7f, 0x09, 0x38, 0xcb, 0x5e, 0xcf, 0x25, 0x14, 0x73, 0x98, 0x41, 0xac, 0x21, 0x2a, 0x81, - 0xaf, 0xd8, 0x75, 0xca, 0x95, 0xd5, 0xbf, 0x71, 0x50, 0xec, 0x4c, 0x65, 0x46, 0xcc, 0xfa, 0x53, - 0x1b, 0xd7, 0x6e, 0x09, 0x2e, 0xef, 0x13, 0x47, 0x8e, 0xe0, 0x9e, 0xbd, 0xb9, 0x11, 0x4e, 0x59, - 0x61, 0x97, 0xd7, 0x66, 0x4e, 0x8c, 0xf6, 0x17, 0x6a, 0x72, 0xa6, 0x17, 0xb7, 0x3d, 0xb6, 0xc5, - 0x5f, 0x5e, 0x31, 0xd5, 0xe4, 0xe9, 0xbe, 0xdf, 0x86, 0xbd, 0x4b, 0x8d, 0xb9, 0x11, 0x00, 0xcc, - 0x54, 0x1b, 0x15, 0xe2, 0x8a, 0x67, 0x28, 0xbc, 0x95, 0x40, 0xe0, 0x61, 0xfb, 0xf2, 0x2f, 0xfc, - 0x55, 0xc5, 0x11, 0x03, 0xf1, 0x30, 0xdb, 0x0d, 0x91, 0x12, 0x2b, 0x93, 0xa9, 0x74, 0xb0, 0x02, - 0xd8, 0x51, 0x91, 0x7f, 0x17, 0x1a, 0x69, 0xb3, 0x21, 0xaf, 0x84, 0x11, 0x2a, 0xb2, 0x9c, 0xdb, - 0xb7, 0x96, 0x52, 0x4a, 0xe6, 0x00, 0x28, 0x52, 0x06, 0xb1, 0x8b, 0x41, 0x66, 0x73, 0x07, 0x94, - 0xcb, 0xa4, 0xca, 0xba, 0xd2, 0x68, 0xae, 0xbd, 0xa5, 0x08, 0x7b, 0x65, 0x6c, 0x8d, 0x72, 0xdd, - 0x94, 0x12, 0x10, 0xa1, 0x1f, 0xd8, 0xcc, 0x2f, 0xc6, 0xcb, 0x38, 0x5a, 0xc4, 0x51, 0xce, 0xff, - 0xf5, 0x60, 0x43, 0x61, 0x91, 0x08, 0x2a, 0x95, 0x88, 0x64, 0xda, 0x99, 0xfc, 0x6f, 0xb5, 0xdf, - 0x58, 0xa7, 0x09, 0x52, 0x44, 0x04, 0x4a, 0xea, 0x24, 0xca, 0x0b, 0x58, 0x58, 0xad, 0x59, 0x8f, - 0xbe, 0x5d, 0x96, 0x24, 0xe7, 0xda, 0x34, 0xd9, 0x15, 0x69, 0x71, 0x2a, 0x79, 0x82, 0x40, 0x0e, - 0xf3, 0x1d, 0xa0, 0xab, 0x5c, 0xf7, 0xe1, 0x94, 0xc8, 0xef, 0xc0, 0xf2, 0x5e, 0x12, 0xad, 0x5c, - 0x4c, 0x65, 0x3e, 0x17, 0x42, 0x0f, 0x30, 0xa2, 0x2d, 0x6d, 0x42, 0xb0, 0x9d, 0x77, 0xdc, 0xa1, - 0xe2, 0x0d, 0x61, 0xf4, 0x99, 0x63, 0x37, 0x5f, 0x53, 0xc2, 0x47, 0x04, 0x4e, 0xf3, 0x16, 0x51, - 0xd8, 0xb3, 0x48, 0xeb, 0x71, 0x32, 0x21, 0x8d, 0xfe, 0xeb, 0x9c, 0x94, 0x6f, 0x40, 0x63, 0xdd, - 0x6f, 0x42, 0x21, 0x37, 0x05, 0xc8, 0x77, 0x25, 0x40, 0xb0, 0xd3, 0xfc, 0x2a, 0x31, 0x7e, 0xe3, - 0xd5, 0x02, 0xea, 0x79, 0xca, 0x48, 0x35, 0x09, 0x29, 0xb1, 0xc7, 0xa1, 0xf6, 0x60, 0xcf, 0xa5, - 0x1d, 0xa3, 0xc0, 0x24, 0xcf, 0x4d, 0x19, 0x83, 0xc5, 0xd4, 0xbd, 0x89, 0x00, 0x24, 0xc0, 0xad, - 0xdc, 0x31, 0x05, 0x68, 0xaf, 0xe3, 0x53, 0x85, 0xc0, 0x97, 0x12, 0xb8, 0x7a, 0xa0, 0xb3, 0x51, - 0x33, 0xb7, 0xb1, 0x65, 0x5e, 0xef, 0x11, 0xd7, 0xa6, 0xef, 0x94, 0x9b, 0xbf, 0xdb, 0xf5, 0x5b, - 0x70, 0xbd, 0x53, 0x8a, 0xe5, 0xa0, 0x5c, 0x5a, 0xf4, 0x65, 0x28, 0xd8, 0xea, 0x6e, 0x5d, 0x9b, - 0x49, 0xa1, 0xec, 0x92, 0x34, 0x49, 0x0f, 0x98, 0xef, 0xf5, 0x19, 0xa9, 0x3d, 0x1f, 0xa5, 0x70, - 0xe4, 0xcb, 0x73, 0xae, 0x70, 0x5f, 0xbb, 0x3b, 0x04, 0x7f, 0xd2, 0x23, 0xac, 0x7b, 0x09, 0x51, - 0x11, 0xe8, 0x0b, 0xfe, 0x98, 0x9c, 0x6c, 0xfa, 0xce, 0xe7, 0xd7, 0xf0, 0x2b, 0x7b, 0x35, 0xe6, - 0x53, 0xe7, 0xfc, 0x30, 0xfb, 0x17, 0xe0, 0x87, 0x87, 0x7f, 0x9c, 0x6a, 0xab, 0x3d, 0x1c, 0x62, - 0x52, 0x62, 0xb0, 0x66, 0xf4, 0x3c, 0x51, 0x15, 0xec, 0xea, 0xad, 0x80, 0xee, 0xc9, 0xd4, 0x18, - 0xbb, 0x7f, 0xd2, 0x78, 0x3c, 0xba, 0xcb, 0x26, 0x04, 0x06, 0x96, 0x8d, 0x50, 0xcf, 0x17, 0xfd, - 0x08, 0xcf, 0x7b, 0x77, 0x5b, 0x37, 0xe3, 0xc4, 0x3c, 0xd1, 0xbe, 0xb9, 0x0d, 0xf5, 0x18, 0xd8, - 0x2b, 0x8e, 0x7f, 0x0d, 0x09, 0x6d, 0x1b, 0x12, 0x80, 0xec, 0x53, 0x4a, 0xd9, 0x87, 0xb8, 0x4b, - 0x8c, 0x6e, 0xcf, 0xff, 0xa4, 0xad, 0xd9, 0x91, 0x6b, 0x6d, 0x8e, 0xe4, 0x73, 0x25, 0x7a, 0x76, - 0x8d, 0x8e, 0x97, 0x6c, 0x75, 0xa6, 0x7d, 0xb8, 0x68, 0x93, 0x47, 0x71, 0x5a, 0xb6, 0x51, 0xa9, - 0xbb, 0x85, 0x4f, 0xc5, 0x02, 0x77, 0x80, 0x4f, 0x4b, 0xf4, 0x9d, 0x02, 0xc1, 0xfe, 0xc2, 0xa8, - 0x1e, 0xec, 0x6f, 0xe0, 0x81, 0x51, 0xd3, 0xa4, 0xc4, 0x60, 0xe1, 0xdb, 0x7b, 0xf1, 0xea, 0xc9, - 0x2d, 0xb9, 0x17, 0xa9, 0xc0, 0x5d, 0x9a, 0xff, 0x34, 0x47, 0x2b, 0xc1, 0x74, 0x87, 0xde, 0xd1, - 0x09, 0x83, 0x03, 0x6c, 0x8b, 0x15, 0xa0, 0x57, 0xa6, 0x06, 0x21, 0x49, 0x1d, 0xd0, 0x03, 0x4a, - 0xe3, 0x69, 0x04, 0xb0, 0xa6, 0xd7, 0xc2, 0x5b, 0x94, 0x1f, 0x3f, 0x47, 0x23, 0xb6, 0x61, 0x0c, - 0x17, 0x41, 0x8c, 0x5e, 0x33, 0x8c, 0xd9, 0x9d, 0x7c, 0xb5, 0x64, 0xcd, 0x01, 0x97, 0xe7, 0x09, - 0x74, 0xc1, 0x68, 0x9d, 0xe5, 0xff, 0x4b, 0x2d, 0x82, 0x1a, 0x68, 0x27, 0x9c, 0x68, 0xe8, 0x3e, - 0x31, 0xc9, 0x46, 0x18, 0x30, 0xe4, 0x35, 0xed, 0x5a, 0xd0, 0xa3, 0x48, 0xb6, 0x34, 0x87, 0xe7, - 0xa9, 0xbf, 0x37, 0x53, 0x0b, 0x81, 0xae, 0x4f, 0x60, 0xb2, 0x71, 0x62, 0x63, 0x1c, 0x98, 0x48, - 0x11, 0xa2, 0x5e, 0x90, 0xde, 0x6d, 0x4e, 0x59, 0x44, 0x70, 0xcf, 0xa6, 0x37, 0xb0, 0x61, 0x1a, - 0x59, 0x61, 0x25, 0x48, 0x7b, 0x69, 0xe0, 0xd0, 0xcd, 0x9f, 0x37, 0x31, 0xce, 0xc7, 0x23, 0xba, - 0xe1, 0xdd, 0xd2, 0x07, 0x3d, 0x95, 0xa0, 0x56, 0x91, 0xd0, 0xf0, 0x90, 0x5d, 0xe3, 0xbd, 0x8e, - 0x77, 0xe2, 0x8a, 0xf2, 0xd9, 0x68, 0x80, 0x10, 0x77, 0xe8, 0x01, 0x4e, 0x5a, 0x22, 0x32, 0x94, - 0x2f, 0x0c, 0x33, 0xea, 0x30, 0xe7, 0x96, 0x55, 0x7f, 0x97, 0x8d, 0x09, 0x97, 0xc6, 0x2d, 0x94, - 0x9d, 0x5a, 0x6a, 0x17, 0x0f, 0xbd, 0x67, 0x9b, 0xb6, 0x16, 0xca, 0x84, 0x3e, 0x70, 0x5d, 0x96, - 0x58, 0x64, 0x20, 0xa6, 0xf7, 0xc9, 0xd7, 0x9d, 0x98, 0xd0, 0x52, 0x25, 0xf8, 0x5b, 0x8c, 0xbf, - 0xb7, 0xa5, 0x3c, 0x09, 0xc0, 0x67, 0xca, 0x8b, 0xf1, 0x48, 0xe8, 0xe8, 0x27, 0x45, 0x21, 0x2e, - 0xbb, 0xa6, 0xb6, 0xe7, 0xf9, 0xe1, 0x57, 0x5b, 0x55, 0xf2, 0xa2, 0xff, 0x61, 0x2c, 0xad, 0x3c, - 0x78, 0x35, 0xdc, 0x50, 0x24, 0x6a, 0x7c, 0x56, 0x02, 0xc7, 0xce, 0x2b, 0xe9, 0x8e, 0x57, 0x9a, - 0x31, 0xc4, 0x35, 0x8e, 0x5f, 0x64, 0xd0, 0xef, 0x23, 0x98, 0x27, 0xe2, 0x02, 0x6b, 0x0a, 0x7c, - 0x15, 0x32, 0x08, 0x06, 0x96, 0xee, 0x56, 0x0c, 0x03, 0xc7, 0x62, 0xfc, 0xae, 0x00, 0xd9, 0x6f, - 0xc0, 0x76, 0x17, 0x1f, 0xfa, 0x46, 0x00, 0x01, 0x07, 0x7e, 0x65, 0x20, 0xd1, 0x1b, 0x2d, 0x64, - 0x1d, 0x4a, 0xef, 0x94, 0x9a, 0xa2, 0x24, 0x78, 0xc6, 0x9d, 0x56, 0x1b, 0x11, 0x19, 0x68, 0x40, - 0x33, 0x3a, 0x7e, 0x56, 0x9a, 0x3b, 0x41, 0x61, 0x1a, 0xfd, 0xaf, 0xf9, 0xff, 0x00, 0xbd, 0xc5, - 0x8d, 0x04, 0x63, 0x5a, 0xf2, 0x31, 0xd2, 0x6f, 0xf6, 0x0b, 0x58, 0x92, 0x02, 0x52, 0x31, 0x31, - 0x2d, 0x80, 0x09, 0x19, 0xdb, 0x4f, 0xfb, 0xf6, 0x52, 0x94, 0xbd, 0x51, 0xa3, 0x19, 0x3e, 0xa6, - 0xb6, 0x00, 0x7b, 0xea, 0x65, 0x26, 0x1c, 0x96, 0xbc, 0x1d, 0x8a, 0xc5, 0x88, 0xc1, 0xb0, 0x16, - 0xa0, 0xf7, 0x2c, 0x76, 0x2c, 0x10, 0x86, 0xca, 0x69, 0x39, 0xfc, 0x37, 0x26, 0xb7, 0xa0, 0x02, - 0xec, 0xd9, 0xf4, 0x97, 0x24, 0xfb, 0x34, 0x62, 0x9b, 0x31, 0x88, 0xc3, 0xb4, 0x85, 0x5b, 0xa5, - 0x47, 0xdc, 0xe5, 0x1d, 0xa9, 0x17, 0x40, 0xff, 0x52, 0x00, 0xe7, 0x91, 0x16, 0xba, 0xd7, 0x49, - 0x4b, 0xdb, 0xf1, 0x93, 0xb9, 0xc9, 0x80, 0x1e, 0xb4, 0x0b, 0x2a, 0xf2, 0x7d, 0x78, 0xae, 0xe7, - 0x5c, 0xb9, 0x73, 0xf6, 0xc0, 0x9e, 0x1f, 0x95, 0x83, 0xca, 0x52, 0xff, 0x13, 0xe0, 0xe2, 0x3a, - 0x38, 0x1a, 0x8c, 0x67, 0x41, 0x95, 0x05, 0x36, 0x77, 0x37, 0x6e, 0xbf, 0xf7, 0x57, 0x8c, 0xf7, - 0x94, 0xd4, 0x07, 0x59, 0xf4, 0xba, 0x00, 0xdb, 0xef, 0xa7, 0x47, 0x8a, 0x4b, 0x9c, 0xd4, 0xbc, - 0x85, 0xfe, 0x6d, 0xe5, 0x90, 0x9e, 0x65, 0xb0, 0x97, 0xe8, 0x89, 0xb9, 0xec, 0xe8, 0xb1, 0xb9, - 0x48, 0x92, 0x52, 0x4f, 0x97, 0x33, 0xd0, 0x32, 0x4a, 0x04, 0x7d, 0x45, 0x24, 0x2c, 0xb1, 0x6b, - 0x1c, 0xbf, 0x32, 0x59, 0xc4, 0xd5, 0x32, 0xd6, 0x37, 0xe3, 0x1e, 0xac, 0x9c, 0xd2, 0xca, 0x72, - 0x4c, 0x41, 0x4b, 0x8e, 0xb0, 0xf6, 0xf1, 0xd1, 0x8f, 0x36, 0x54, 0x26, 0xdd, 0xf6, 0xb5, 0x66, - 0x54, 0x99, 0xc7, 0xaf, 0x6d, 0x08, 0xcf, 0x80, 0x56, 0xfc, 0xad, 0x33, 0x01, 0x1e, 0x82, 0x43, - 0x04, 0x08, 0x49, 0xfd, 0x22, 0x22, 0xef, 0x1f, 0x63, 0x68, 0xc6, 0x7b, 0xe9, 0xd4, 0xdc, 0xf2, - 0x38, 0x5c, 0xf9, 0xd8, 0x80, 0x30, 0x28, 0x34, 0xea, 0xb7, 0x7e, 0x53, 0xad, 0xbe, 0x60, 0xec, - 0x0b, 0xc3, 0x9f, 0x52, 0x07, 0x68, 0xc6, 0x40, 0x9e, 0xaf, 0xe0, 0xd2, 0x69, 0x69, 0xd7, 0xcb, - 0xd2, 0x3d, 0x78, 0xc7, 0x29, 0x8b, 0x4f, 0x9a, 0xc7, 0xbd, 0x01, 0x6a, 0x7d, 0x53, 0x0a, 0x18, - 0x5e, 0x2c, 0x07, 0xae, 0x4f, 0xbf, 0xd9, 0x6e, 0x29, 0x4b, 0xef, 0xf9, 0x57, 0x21, 0x58, 0x7b, - 0x92, 0xde, 0x2b, 0x94, 0x9e, 0x07, 0x8d, 0x67, 0x3e, 0xc6, 0xf0, 0xf3, 0x6a, 0x82, 0xd2, 0x0d, - 0x13, 0x0b, 0xeb, 0xf6, 0x9c, 0xa6, 0xfd, 0x17, 0xd6, 0x3d, 0x9a, 0x1a, 0xad, 0x17, 0x71, 0x6d, - 0xb0, 0xd2, 0x56, 0xc2, 0x42, 0x73, 0x76, 0xef, 0xbd, 0x2f, 0x26, 0xd5, 0x66, 0x1f, 0x72, 0x8e, - 0x9f, 0x6b, 0xf6, 0x8d, 0x34, 0x24, 0x46, 0x2d, 0x55, 0x73, 0x51, 0x98, 0xb6, 0x16, 0xbd, 0xa6, - 0x8f, 0xb1, 0x85, 0x7c, 0xf1, 0x99, 0x85, 0xeb, 0x60, 0xd1, 0xaf, 0xca, 0x08, 0x23, 0xfa, 0x14, - 0x89, 0x28, 0x0f, 0x57, 0xb4, 0x4b, 0x20, 0x92, 0x2f, 0x6a, 0x6c, 0xa7, 0xdc, 0xe1, 0x31, 0x8d, - 0x70, 0x7a, 0xa9, 0x14, 0x8f, 0xac, 0xe0, 0x7a, 0x46, 0x76, 0x3c, 0xa5, 0xb6, 0x61, 0xc8, 0xd6, - 0xbe, 0x27, 0x2d, 0x17, 0x09, 0x19, 0x4d, 0x99, 0x6c, 0x3d, 0x80, 0x3b, 0x3a, 0x52, 0xba, 0x9d, - 0x6d, 0xeb, 0x05, 0x97, 0x37, 0x8e, 0x85, 0xb7, 0xd5, 0x9e, 0xb0, 0x55, 0x73, 0x4e, 0x7c, 0x19, - 0x30, 0x3f, 0xcf, 0xf1, 0xa6, 0x22, 0x4a, 0x60, 0x08, 0x8c, 0xfc, 0x6d, 0xc2, 0x86, 0xac, 0x88, - 0xbc, 0xae, 0x81, 0x34, 0x3b, 0x8f, 0x3a, 0x37, 0xf2, 0x6b, 0x91, 0x9c, 0x33, 0x53, 0xd8, 0x2b, - 0x64, 0x00, 0x6f, 0x02, 0x35, 0x59, 0x3f, 0x99, 0x0e, 0x9e, 0x85, 0x8c, 0x83, 0x6c, 0x2b, 0x53, - 0xde, 0xbb, 0x80, 0xa3, 0x32, 0xcb, 0xd7, 0x1a, 0xb4, 0x08, 0x07, 0x8a, 0x0b, 0x09, 0xa0, 0x93, - 0xd5, 0xe0, 0x07, 0xff, 0x25, 0x86, 0x04, 0x8d, 0xe2, 0x16, 0x3b, 0x24, 0x0a, 0x16, 0xbe, 0x4c, - 0xd6, 0x24, 0xc0, 0x20, 0x32, 0xe5, 0x6d, 0x95, 0xce, 0x05, 0x72, 0x5b, 0x8b, 0x53, 0x51, 0x98, - 0xd8, 0x2f, 0x1d, 0x1c, 0x02, 0xea, 0x03, 0xc2, 0x14, 0x11, 0xbe, 0xd0, 0x47, 0x07, 0x9e, 0x53, - 0xfd, 0xd1, 0xb7, 0xd9, 0xd8, 0xf3, 0x09, 0xe2, 0xec, 0xfb, 0x82, 0xf1, 0x31, 0xfa, 0xad, 0xed, - 0x46, 0xbd, 0xcc, 0x90, 0x90, 0x50, 0xe2, 0x25, 0xea, 0xe4, 0x39, 0x76, 0x08, 0x7f, 0x1d, 0xf7, - 0x36, 0x66, 0x97, 0x6c, 0xb5, 0x47, 0xb6, 0x02, 0xd9, 0x0d, 0x95, 0x07, 0x2a, 0x76, 0x55, 0x51, - 0x1b, 0x6e, 0xa0, 0x0f, 0xa7, 0x31, 0x6d, 0x38, 0x72, 0xc8, 0x78, 0x67, 0xd6, 0x53, 0x4e, 0x56, - 0xad, 0x4d, 0xed, 0xa5, 0x30, 0x31, 0xed, 0xe0, 0xf7, 0x4a, 0x3f, 0xf2, 0x28, 0xb6, 0x09, 0x61, - 0xbb, 0xd2, 0xc1, 0x17, 0x88, 0xdd, 0x39, 0xe9, 0x1d, 0x80, 0x37, 0x72, 0x8b, 0x36, 0xa6, 0xc5, - 0x05, 0xdc, 0x60, 0xc8, 0x47, 0x17, 0xb1, 0x0c, 0xfe, 0x0b, 0x0e, 0x66, 0x23, 0xd9, 0x2e, 0x68, - 0xdb, 0xbb, 0x91, 0x99, 0xe1, 0x4d, 0x41, 0x41, 0x16, 0x9d, 0x2a, 0xb0, 0x0c, 0xe1, 0xef, 0x1b, - 0xbf, 0xa7, 0x04, 0x71, 0x2e, 0x5b, 0xec, 0xfa, 0xb5, 0x49, 0x2d, 0x34, 0xa2, 0x1e, 0xe3, 0xc2, - 0x78, 0x93, 0xed, 0x37, 0xd0, 0x48, 0x9f, 0xfb, 0xbc, 0x9e, 0xcf, 0x2d, 0xeb, 0x7c, 0xc8, 0x9a, - 0x95, 0x66, 0x5c, 0xb1, 0x49, 0x31, 0x66, 0x6a, 0x8f, 0xbe, 0x95, 0x08, 0x47, 0x66, 0x8b, 0x27, - 0xfd, 0x0d, 0x25, 0x1b, 0x4b, 0xa0, 0x98, 0x3b, 0xd2, 0xa2, 0xcb, 0x8e, 0x1d, 0x92, 0x4e, 0xdf, - 0x6a, 0x7b, 0x4d, 0x17, 0x8c, 0x2e, 0x5e, 0xc0, 0xe8, 0xc2, 0x65, 0x44, 0x8f, 0x73, 0x72, 0xff, - 0x03, 0x88, 0x0a, 0x24, 0xe2, 0xeb, 0x78, 0x40, 0xb6, 0xcd, 0xf7, 0xd4, 0x47, 0x2e, 0x0b, 0x00, - 0x96, 0xb4, 0x3f, 0x7f, 0xe0, 0x93, 0x15, 0xeb, 0xa3, 0xa0, 0x28, 0xcd, 0x63, 0x42, 0x60, 0x93, - 0xad, 0x5f, 0x70, 0xcc, 0xea, 0x51, 0xae, 0x2c, 0x9c, 0x63, 0xc3, 0x86, 0x8c, 0xc7, 0x7d, 0x92, - 0x36, 0xbb, 0x8a, 0xb7, 0x1f, 0xb7, 0x78, 0x44, 0xc4, 0x1b, 0xf6, 0xcc, 0xfc, 0x4f, 0x3c, 0x5b, - 0xae, 0x0e, 0x8b, 0xf8, 0xd9, 0x4c, 0x73, 0xb7, 0x65, 0xc9, 0xd4, 0x7d, 0x5e, 0x81, 0x77, 0xf0, - 0x8e, 0x1b, 0x0b, 0x0b, 0x4d, 0x6b, 0x3d, 0x9f, 0xc3, 0xff, 0x60, 0xc0, 0x76, 0x3e, 0x79, 0x5d, - 0x23, 0xf1, 0x2b, 0xae, 0x3b, 0x58, 0xa0, 0xba, 0x5d, 0x82, 0xb2, 0x14, 0x04, 0x00, 0x9e, 0x21, - 0xbe, 0x45, 0x66, 0xb0, 0x80, 0xfd, 0x1b, 0x59, 0xa7, 0xe4, 0x2e, 0x9a, 0xde, 0x96, 0xa7, 0xef, - 0x16, 0x33, 0xaa, 0xce, 0x1c, 0x92, 0x34, 0x35, 0x6a, 0xae, 0xba, 0x5c, 0xad, 0x14, 0x0e, 0x90, - 0xcc, 0x4d, 0xb1, 0x47, 0x9e, 0x12, 0x4f, 0x19, 0xbd, 0x11, 0x80, 0xdf, 0x30, 0x89, 0x68, 0x59, - 0x47, 0x08, 0x52, 0x4c, 0x55, 0x8f, 0x50, 0x78, 0xa5, 0x7e, 0x2f, 0x87, 0x4b, 0xe8, 0x4c, 0xb4, - 0xa5, 0x9d, 0x70, 0x2a, 0xc0, 0x62, 0x01, 0x4f, 0x3d, 0x7f, 0x37, 0x52, 0xea, 0x2e, 0x44, 0xad, - 0x04, 0x27, 0xc0, 0x76, 0xf7, 0xdb, 0x16, 0xee, 0xcb, 0xd5, 0xf7, 0x3d, 0x12, 0xe0, 0x01, 0x61, - 0xbf, 0xff, 0x0f, 0xf2, 0xce, 0xd8, 0x09, 0x68, 0x9a, 0x46, 0x1f, 0xc1, 0xbf, 0xf4, 0xdc, 0xda, - 0xd0, 0xe0, 0xc6, 0x91, 0xee, 0xc1, 0xee, 0x6a, 0x2d, 0x0a, 0xca, 0x29, 0xcd, 0xa0, 0x1a, 0x24, - 0x5d, 0xe8, 0x92, 0xc2, 0x1c, 0x01, 0x32, 0xec, 0xde, 0x08, 0x83, 0xd3, 0xa8, 0x11, 0xa2, 0x67, - 0xd5, 0x9c, 0x00, 0x13, 0x23, 0x32, 0xf2, 0x09, 0xa7, 0x11, 0xfd, 0x34, 0x4f, 0xcf, 0xb5, 0x28, - 0x1a, 0x9b, 0xfd, 0x85, 0x5f, 0xdf, 0x5d, 0x71, 0xac, 0xed, 0xa9, 0x6d, 0x94, 0x41, 0x4f, 0x79, - 0x92, 0x98, 0xa7, 0xbb, 0xc1, 0x42, 0xcf, 0x6f, 0xc4, 0xc4, 0x80, 0xc2, 0xcd, 0x83, 0x07, 0x5b, - 0x33, 0x77, 0x9b, 0xee, 0xc6, 0xb3, 0x59, 0x73, 0x51, 0x8d, 0xe4, 0x6a, 0x13, 0x5b, 0x49, 0xa4, - 0x30, 0x8e, 0x16, 0x3e, 0xff, 0x77, 0xfd, 0xee, 0x1f, 0x08, 0xb6, 0x16, 0x41, 0xc2, 0x75, 0x0d, - 0xcb, 0xe7, 0x77, 0xad, 0x49, 0xa9, 0x8a, 0xc9, 0x40, 0xf0, 0x32, 0x86, 0x60, 0xc8, 0xb8, 0x53, - 0x10, 0x40, 0x7d, 0x19, 0xf5, 0xc8, 0x7c, 0x52, 0x4c, 0x3a, 0x03, 0x0e, 0xe5, 0x16, 0x09, 0x8d, - 0xac, 0x83, 0x25, 0x68, 0x4d, 0xdf, 0x4f, 0xf5, 0x8d, 0x25, 0xd0, 0x2e, 0x98, 0xb9, 0xe9, 0xec, - 0x26, 0xda, 0x79, 0xb8, 0xd1, 0xae, 0xec, 0x8f, 0xa9, 0xec, 0xf3, 0x83, 0x30, 0xfa, 0x30, 0x97, - 0xb3, 0x39, 0x5a, 0x50, 0x31, 0x73, 0xfd, 0x90, 0x2e, 0xfd, 0x0f, 0x43, 0x5d, 0x7a, 0xbf, 0xf7, - 0xaa, 0xcf, 0x7e, 0x85, 0x31, 0xed, 0x3f, 0x74, 0x9a, 0x81, 0x87, 0x18, 0x1c, 0x82, 0x9d, 0x47, - 0xfd, 0xbf, 0xc0, 0x12, 0x1e, 0xf1, 0xd9, 0x09, 0x20, 0xad, 0xf9, 0xca, 0x40, 0x16, 0xea, 0xa0, - 0x31, 0x1c, 0x7c, 0x70, 0xa5, 0x7e, 0x05, 0x8b, 0xec, 0x62, 0x4b, 0x3d, 0xc3, 0xc3, 0xf0, 0x8c, - 0xbc, 0x71, 0x11, 0xf0, 0xfe, 0x5c, 0x1c, 0x5b, 0xef, 0xae, 0xb8, 0x22, 0x84, 0xd1, 0x1a, 0x84, - 0x7b, 0x69, 0xa2, 0xc0, 0x1e, 0x01, 0xce, 0x32, 0xc2, 0xcf, 0x4d, 0x77, 0x2c, 0xc2, 0x97, 0xae, - 0x79, 0x5d, 0xdd, 0xcc, 0x39, 0x4a, 0xb3, 0x4d, 0x33, 0xc1, 0xdd, 0xe2, 0xb0, 0xb6, 0xed, 0x56, - 0x58, 0x86, 0x45, 0xe4, 0xf7, 0xd7, 0x77, 0x29, 0xa8, 0x14, 0xbb, 0xf8, 0x5e, 0x5b, 0x0b, 0xe8, - 0x8b, 0x26, 0x72, 0x79, 0x44, 0x16, 0xcf, 0x67, 0xb7, 0x94, 0x81, 0x36, 0xdc, 0x37, 0xb1, 0xfe, - 0x29, 0xb9, 0x02, 0xb5, 0xbf, 0x10, 0x9b, 0x03, 0x5e, 0x75, 0x53, 0xfd, 0xb1, 0xd9, 0x8f, 0x04, - 0xbe, 0x1f, 0x44, 0xca, 0xbd, 0x63, 0xd9, 0x10, 0x10, 0xc4, 0x83, 0xa1, 0x49, 0xe8, 0xf6, 0x73, - 0xec, 0x01, 0x4a, 0x4a, 0x94, 0xc1, 0x38, 0x53, 0xfa, 0xa9, 0xa4, 0x9f, 0x95, 0xe3, 0x8c, 0x5b, - 0x11, 0x51, 0xdf, 0x38, 0xb7, 0xc3, 0x55, 0xf5, 0xd6, 0xfe, 0xc5, 0x4b, 0xfb, 0x0f, 0x3f, 0x50, - 0x58, 0xae, 0xd6, 0xd8, 0x39, 0x70, 0x9d, 0xa0, 0xdd, 0x4d, 0x51, 0xb9, 0x95, 0x1b, 0xfd, 0x76, - 0xb6, 0x17, 0xf6, 0x0c, 0xef, 0xe6, 0x6d, 0xa4, 0xd7, 0xd1, 0x84, 0x43, 0xc8, 0x32, 0x74, 0xe0, - 0x04, 0x87, 0xae, 0x49, 0x37, 0xd0, 0xb7, 0x81, 0x33, 0x68, 0x20, 0x12, 0x62, 0xb6, 0x17, 0xe9, - 0xe1, 0xd8, 0xc3, 0x46, 0xaf, 0x7e, 0xd5, 0xfa, 0x83, 0x9c, 0x4e, 0xe7, 0xd4, 0xe2, 0x84, 0x97, - 0xdf, 0x10, 0xbe, 0x30, 0x80, 0x9c, 0xad, 0xc9, 0x95, 0x8c, 0xa9, 0xee, 0x13, 0x33, 0xa9, 0x53, - 0x34, 0x3f, 0x27, 0xa0, 0xdf, 0x83, 0xc1, 0x87, 0x78, 0x8a, 0x7d, 0x2a, 0x4d, 0x46, 0x37, 0x30, - 0xd0, 0x24, 0x45, 0xab, 0x74, 0xe4, 0x52, 0xbd, 0xb9, 0xf5, 0x6c, 0x44, 0x3d, 0x96, 0xcb, 0xab, - 0x2c, 0xa8, 0xe2, 0x19, 0xea, 0x55, 0x26, 0x6f, 0x85, 0x85, 0x4d, 0x0f, 0xa2, 0x9e, 0x72, 0xd4, - 0x52, 0xe3, 0x05, 0x93, 0x4b, 0x7e, 0x7d, 0x36, 0x6e, 0xb6, 0x98, 0xf5, 0x41, 0x45, 0x37, 0x63, - 0xf1, 0xfe, 0x7e, 0x01, 0x88, 0xda, 0xc8, 0x7e, 0xce, 0x91, 0x9f, 0x12, 0xba, 0x7f, 0xa4, 0x95, - 0xe6, 0x83, 0xc4, 0xcb, 0x02, 0x2c, 0x43, 0xf4, 0x9f, 0xa5, 0x10, 0xc2, 0x42, 0x95, 0xff, 0x3e, - 0x7d, 0x5e, 0xa2, 0x13, 0x1e, 0xb0, 0x50, 0xf9, 0x2d, 0xcd, 0x3e, 0xca, 0x1d, 0xfa, 0xf3, 0xc3, - 0xb7, 0x48, 0xe6, 0x5b, 0x87, 0x71, 0x17, 0x02, 0x45, 0xc3, 0xd4, 0xbd, 0x08, 0x51, 0xde, 0xfa, - 0x74, 0xc6, 0xeb, 0x96, 0xb5, 0x83, 0x6c, 0x3b, 0x61, 0xc7, 0x7f, 0xa0, 0x07, 0x2c, 0x2a, 0x3d, - 0xad, 0x36, 0x05, 0x7c, 0x37, 0xe7, 0x21, 0xa5, 0xf6, 0x02, 0x67, 0x85, 0x9c, 0x7a, 0x19, 0x22, - 0xe7, 0x12, 0xf9, 0xa2, 0x60, 0xbe, 0xf4, 0xba, 0xde, 0xc6, 0x53, 0xfa, 0xaf, 0x98, 0xc8, 0x59, - 0x0e, 0x3b, 0x28, 0x55, 0x85, 0xd3, 0xae, 0x9d, 0xdb, 0x00, 0x12, 0x4f, 0xfd, 0xd1, 0x3a, 0xad, - 0xe1, 0x0e, 0x80, 0xdc, 0xa4, 0x7c, 0xe4, 0xdd, 0x00, 0x08, 0x67, 0x3b, 0x62, 0x03, 0x7c, 0x2f, - 0xdf, 0x2a, 0x79, 0x1e, 0xed, 0xa0, 0x95, 0xbc, 0xaf, 0x1c, 0x92, 0xd9, 0x77, 0xd4, 0x6c, 0x47, - 0xa0, 0x58, 0x1c, 0x89, 0xab, 0x7f, 0x57, 0x48, 0x1d, 0x3a, 0xcb, 0x4c, 0x3d, 0x4d, 0x51, 0x91, - 0xa1, 0xa9, 0x0f, 0x22, 0x1d, 0xcd, 0x4c, 0x74, 0x6b, 0xac, 0xe6, 0x45, 0x89, 0x42, 0x96, 0x02, - 0xd5, 0xe6, 0x9a, 0xd3, 0x4d, 0xc1, 0x7b, 0x79, 0x2d, 0xb4, 0x50, 0x83, 0xd5, 0xba, 0x78, 0x9e, - 0x6e, 0x54, 0xab, 0x0a, 0x28, 0xe1, 0x5c, 0x7c, 0x88, 0xac, 0x72, 0x5c, 0x06, 0x61, 0x72, 0x59, - 0x18, 0x36, 0x23, 0x7a, 0x25, 0x73, 0x0c, 0x3b, 0x2e, 0x77, 0x6c, 0xcf, 0xd8, 0x37, 0xd8, 0x25, - 0xf8, 0xac, 0xf3, 0xc4, 0xf2, 0x3f, 0x6b, 0x1c, 0xc6, 0x8d, 0x82, 0x05, 0x1c, 0xfb, 0xbb, 0x9d, - 0x45, 0xcc, 0xbf, 0xd2, 0xed, 0x81, 0xec, 0xe5, 0x83, 0xd7, 0xb0, 0x94, 0xc6, 0xc7, 0xe5, 0x2e, - 0x42, 0x59, 0x33, 0x15, 0x73, 0x40, 0x45, 0xa5, 0x6d, 0xab, 0x2f, 0x7a, 0xd8, 0x76, 0x8a, 0x6f, - 0xa6, 0xdf, 0xfc, 0xee, 0xbf, 0x8a, 0xf4, 0xe5, 0xc9, 0xb0, 0xa8, 0x5f, 0xcd, 0x49, 0x54, 0x34, - 0xde, 0x4b, 0x06, 0x8f, 0xdc, 0x31, 0xa5, 0x99, 0xfd, 0x32, 0xc6, 0xc2, 0xb7, 0xb5, 0x45, 0xbe, - 0xc4, 0xb3, 0xc9, 0xa1, 0x51, 0x69, 0x55, 0x49, 0x00, 0x3f, 0x50, 0x52, 0xb2, 0xca, 0x29, 0xb7, - 0xd7, 0xc7, 0x3e, 0x55, 0x7b, 0x03, 0xb7, 0xc9, 0x70, 0x66, 0xf0, 0x6f, 0xdb, 0x54, 0x95, 0x25, - 0x0d, 0x4c, 0x6a, 0x68, 0xe7, 0xa7, 0x16, 0x23, 0x3c, 0xaf, 0xc0, 0x78, 0xaa, 0x19, 0x6b, 0x85, - 0xf0, 0x5a, 0x29, 0xe1, 0xdb, 0x11, 0xc1, 0x0d, 0xe7, 0xe4, 0x1e, 0xc1, 0xa7, 0x24, 0xb9, 0xa0, - 0x95, 0x18, 0x8d, 0xfb, 0x1c, 0xf3, 0x6b, 0x41, 0x9f, 0x4c, 0x59, 0x91, 0x2e, 0x59, 0x92, 0x03, - 0x14, 0x66, 0xdf, 0xb9, 0x52, 0x4c, 0x4a, 0xfd, 0x61, 0x57, 0x4e, 0x9f, 0xeb, 0x93, 0x6f, 0xaa, - 0x64, 0x39, 0x8e, 0x64, 0x63, 0x4b, 0xef, 0xce, 0x16, 0x74, 0xc7, 0xb7, 0x66, 0xfc, 0x31, 0xdb, - 0x20, 0x8f, 0x8d, 0x9f, 0x24, 0x5a, 0xd4, 0xac, 0x8f, 0xde, 0x92, 0xa4, 0x8f, 0xa4, 0xdd, 0x77, - 0xab, 0x25, 0x07, 0xe8, 0xdd, 0x6d, 0x6a, 0x8e, 0x9c, 0x86, 0x74, 0xa6, 0x4e, 0x2f, 0xd8, 0xb5, - 0x90, 0x3b, 0xc1, 0xaa, 0xd7, 0xee, 0x2f, 0xcd, 0x8b, 0xcc, 0x34, 0x7f, 0x70, 0x4f, 0x3b, 0x1c, - 0x41, 0xd5, 0xc6, 0xbc, 0x69, 0xf4, 0x09, 0x65, 0x10, 0x67, 0x4e, 0xf2, 0xc3, 0x7b, 0x8a, 0x64, - 0x71, 0xf6, 0x55, 0xe8, 0xe1, 0x55, 0x66, 0x7e, 0xd0, 0x55, 0xdd, 0x32, 0x17, 0x67, 0xf7, 0x9d, - 0xea, 0x98, 0x07, 0xed, 0x56, 0x8b, 0xff, 0x61, 0x6d, 0x1e, 0xc3, 0x7b, 0x74, 0x8e, 0x94, 0x00, - 0x05, 0x7b, 0x1c, 0xad, 0xd3, 0x57, 0x03, 0x55, 0x1d, 0x49, 0x1f, 0xb1, 0xec, 0xb5, 0x29, 0x7b, - 0xe2, 0x3f, 0xa8, 0x65, 0x9e, 0x3d, 0x91, 0xd4, 0xeb, 0x43, 0x35, 0x18, 0x4a, 0xb2, 0x15, 0x36, - 0x59, 0xdf, 0x39, 0xd3, 0xf7, 0x77, 0xdb, 0x1e, 0x75, 0xa4, 0x6b, 0x61, 0x83, 0x9c, 0x8c, 0x5d, - 0x39, 0x74, 0x7f, 0xef, 0xb3, 0x1a, 0x3f, 0x70, 0xbd, 0x82, 0xfe, 0x6d, 0x0b, 0x33, 0x3b, 0x8b, - 0x15, 0xcd, 0x41, 0x18, 0x88, 0x35, 0x44, 0x16, 0xfa, 0x91, 0x71, 0x6a, 0xe1, 0xf6, 0x06, 0x04, - 0x6a, 0x17, 0x0c, 0xc5, 0x63, 0xc3, 0x53, 0x0d, 0x95, 0x59, 0x09, 0x69, 0x35, 0xbd, 0x0b, 0xd8, - 0x71, 0xb8, 0x70, 0x34, 0x9f, 0xfe, 0xd5, 0x8c, 0x6a, 0x18, 0xf0, 0xcc, 0x61, 0x92, 0x88, 0xce, - 0xba, 0xb0, 0x8e, 0x32, 0xf5, 0x91, 0xfa, 0x36, 0x7f, 0xb5, 0xb3, 0x44, 0x96, 0x66, 0x41, 0x81, - 0x38, 0x4c, 0xcc, 0xeb, 0xb2, 0xce, 0x9f, 0xf8, 0x4a, 0x46, 0x69, 0xb5, 0x9d, 0x76, 0x9b, 0x41, - 0xcb, 0x3b, 0x54, 0x1f, 0x9e, 0x51, 0x4f, 0x50, 0x0f, 0x2c, 0x74, 0x90, 0x7b, 0x86, 0xd6, 0x45, - 0xd7, 0xc9, 0x84, 0x98, 0x6b, 0x90, 0xc2, 0x0d, 0xb3, 0x9e, 0x4f, 0xd6, 0xd6, 0xc5, 0x46, 0x48, - 0xa4, 0x3f, 0xc4, 0x18, 0xaf, 0xab, 0x12, 0x91, 0x75, 0x6d, 0xda, 0xe1, 0x97, 0x54, 0x01, 0x45, - 0x52, 0xb3, 0xea, 0xb8, 0x6a, 0x55, 0xa5, 0x5d, 0xba, 0xa5, 0x53, 0x9b, 0x91, 0xfb, 0x8c, 0xbd, - 0xc3, 0x25, 0x38, 0x64, 0x42, 0x31, 0x58, 0x5f, 0x90, 0xea, 0x56, 0x9e, 0xb3, 0x3a, 0xb8, 0x87, - 0xb2, 0xb9, 0x93, 0x58, 0x02, 0x16, 0xe7, 0x23, 0x53, 0x4a, 0xf2, 0xb8, 0xd8, 0x51, 0xa3, 0x1f, - 0xbc, 0x51, 0xd5, 0xd7, 0x10, 0x10, 0xdc, 0x50, 0x83, 0xc1, 0xc6, 0x50, 0x14, 0x38, 0x58, 0xf2, - 0x91, 0x23, 0x57, 0x2a, 0xd7, 0x93, 0xcc, 0x3f, 0xd4, 0xf9, 0x1d, 0xf1, 0xa2, 0x5e, 0x26, 0xd0, - 0x29, 0x0f, 0xec, 0xe2, 0x1b, 0x26, 0x54, 0xec, 0xea, 0xc7, 0x61, 0xb6, 0xb8, 0x1d, 0x35, 0x17, - 0xba, 0x43, 0x8b, 0x9c, 0x95, 0x9f, 0xbc, 0x54, 0x61, 0x8d, 0xb5, 0x41, 0x77, 0x39, 0x66, 0xe6, - 0x92, 0xe1, 0xb8, 0x89, 0xb8, 0x05, 0x6b, 0x20, 0x57, 0x0b, 0x13, 0x1a, 0x43, 0xca, 0x44, 0x90, - 0x60, 0xc5, 0xbd, 0xb4, 0xfd, 0xa6, 0xc6, 0xac, 0x67, 0x7b, 0xac, 0x1f, 0x7f, 0x6b, 0x0b, 0xdd, - 0x07, 0xb7, 0x76, 0xe6, 0x5e, 0x03, 0x62, 0x1b, 0x3e, 0xf8, 0xba, 0x0f, 0xe4, 0x87, 0x6c, 0x13, - 0xf1, 0x0a, 0x5e, 0xfa, 0x93, 0xe2, 0xba, 0xbd, 0x84, 0x41, 0xeb, 0xfb, 0x3d, 0xae, 0x35, 0xa8, - 0x39, 0x5d, 0x25, 0xa5, 0x57, 0x36, 0x50, 0xc8, 0x8b, 0x5c, 0x7a, 0x5c, 0xd1, 0x4d, 0x92, 0x51, - 0xee, 0xe7, 0x56, 0x96, 0x44, 0x61, 0xe7, 0xbe, 0xee, 0x6d, 0x32, 0xf8, 0x8c, 0x9b, 0xb6, 0xb3, - 0x5e, 0x30, 0xf0, 0xf2, 0x69, 0x8a, 0xc9, 0x46, 0x62, 0xf0, 0xbb, 0xa9, 0x68, 0x97, 0x82, 0xb5, - 0x54, 0xd1, 0x94, 0x07, 0xfa, 0x99, 0x4b, 0x97, 0x7f, 0x9f, 0x5f, 0x98, 0x03, 0xc4, 0xc9, 0x47, - 0xc5, 0xde, 0xe8, 0xa4, 0x46, 0x11, 0x81, 0x4f, 0x76, 0x14, 0x32, 0x1c, 0x51, 0x73, 0xb8, 0x7f, - 0x3a, 0x0c, 0xe7, 0xd3, 0x1e, 0x3f, 0x4b, 0xbf, 0xc1, 0x41, 0x44, 0x2e, 0x86, 0xb7, 0x6c, 0x11, - 0x9b, 0xed, 0x19, 0x1b, 0x61, 0xc8, 0x5a, 0x41, 0x2b, 0x9b, 0x15, 0xf1, 0x6a, 0xe9, 0x5c, 0x50, - 0x18, 0x44, 0x0e, 0x00, 0x37, 0x23, 0xae, 0xfd, 0xb6, 0xf6, 0xaf, 0xec, 0x4b, 0xd1, 0x22, 0x6d, - 0x1b, 0xb7, 0x59, 0x8c, 0xa0, 0xcb, 0x7e, 0x5b, 0x5d, 0x27, 0xa0, 0x2d, 0xb2, 0x84, 0x4f, 0x66, - 0x3f, 0x98, 0xd8, 0x2c, 0x26, 0x15, 0xec, 0x46, 0x75, 0x69, 0x3b, 0xea, 0x67, 0x5e, 0xeb, 0x5c, - 0x2b, 0x9c, 0xf5, 0xba, 0xdd, 0xf6, 0x52, 0x31, 0xc7, 0x2b, 0xb0, 0x60, 0x86, 0xb2, 0x55, 0xeb, - 0xc9, 0x2e, 0x40, 0x3d, 0xfb, 0x07, 0x91, 0xf2, 0xa5, 0x75, 0xa6, 0x1d, 0x4a, 0x8d, 0x42, 0xc5, - 0x3e, 0x66, 0x3e, 0xbc, 0xf6, 0x11, 0x31, 0x03, 0xa4, 0xa6, 0xad, 0x5f, 0x75, 0x74, 0xb5, 0x10, - 0xfc, 0xd1, 0x05, 0x04, 0x6d, 0x7a, 0xed, 0x33, 0x64, 0x38, 0x77, 0x49, 0x3d, 0xe1, 0xad, 0xc8, - 0x33, 0x71, 0x96, 0x61, 0x9c, 0x10, 0xa5, 0x07, 0xcd, 0xf5, 0xd6, 0x8b, 0x36, 0x14, 0x19, 0x99, - 0xd6, 0x3b, 0xb5, 0x7c, 0xe0, 0x14, 0xd9, 0xff, 0x3e, 0xfb, 0x9b, 0xcf, 0x7c, 0x6f, 0x35, 0xb5, - 0x58, 0x49, 0x65, 0xfd, 0xf1, 0x17, 0xf7, 0x69, 0x5f, 0xe4, 0x33, 0x74, 0xb8, 0xda, 0x53, 0x59, - 0x91, 0x8b, 0xd0, 0x48, 0xd4, 0xa6, 0x63, 0x16, 0x2e, 0x26, 0x9e, 0xa0, 0x12, 0xbf, 0x37, 0x90, - 0xa3, 0x06, 0x22, 0xc9, 0xa7, 0x7e, 0xfc, 0xb3, 0x3a, 0xd8, 0x10, 0x51, 0xb7, 0xda, 0x95, 0xdc, - 0x97, 0x94, 0x0b, 0x55, 0x62, 0x08, 0x60, 0x69, 0x55, 0xd0, 0x5b, 0x3c, 0xf8, 0x60, 0x2b, 0x77, - 0xc5, 0x4b, 0xfc, 0x2d, 0xe7, 0xc2, 0x11, 0x80, 0x35, 0xf3, 0xb6, 0x66, 0x87, 0xee, 0xff, 0xc3, - 0xf4, 0xab, 0x05, 0x01, 0x8b, 0xd7, 0xc3, 0x9e, 0x65, 0x13, 0x87, 0x09, 0x8f, 0xbd, 0xc2, 0x71, - 0x13, 0x32, 0xf9, 0x87, 0x4d, 0x23, 0xfc, 0x4b, 0xf4, 0x4f, 0x36, 0x1d, 0x85, 0xa8, 0xf9, 0xb6, - 0x4c, 0xac, 0x89, 0x08, 0x7f, 0xbe, 0x1c, 0x77, 0x6f, 0xba, 0x75, 0xcd, 0xfe, 0x8d, 0xc7, 0x06, - 0xa5, 0x70, 0x66, 0x02, 0x9b, 0xff, 0x00, 0xf2, 0x63, 0x20, 0xc7, 0x85, 0x12, 0x52, 0x97, 0xfe, - 0x07, 0xfa, 0x6b, 0xc4, 0xab, 0x4a, 0x8e, 0x9d, 0x08, 0x82, 0x18, 0xc3, 0xa5, 0x21, 0x68, 0xce, - 0x4a, 0xe1, 0xf0, 0xe6, 0x6b, 0x25, 0x72, 0x50, 0xc0, 0x9a, 0x08, 0x78, 0x70, 0x51, 0xb0, 0x8c, - 0xf8, 0x71, 0x07, 0xbe, 0xd0, 0x1c, 0xfa, 0x60, 0x37, 0x8a, 0x8a, 0x7c, 0xad, 0x49, 0x7b, 0x62, - 0x1a, 0x89, 0x61, 0x01, 0x90, 0xdf, 0x8a, 0xb8, 0x93, 0x13, 0x6f, 0x7c, 0x27, 0x66, 0x73, 0xb9, - 0xea, 0xcb, 0x7d, 0xb7, 0x96, 0xde, 0xda, 0x17, 0x90, 0xd0, 0xe0, 0xd4, 0x87, 0xa9, 0xc8, 0x9d, - 0xd7, 0x78, 0x4a, 0xa0, 0x77, 0x0c, 0x9c, 0x1d, 0xf2, 0x80, 0x93, 0x6a, 0x71, 0x46, 0x2f, 0xd3, - 0x96, 0x3e, 0x0f, 0xd2, 0xe9, 0x1a, 0x17, 0xde, 0x93, 0xd1, 0x92, 0x28, 0x47, 0x3b, 0x9a, 0x9d, - 0x29, 0x4f, 0x4d, 0x0c, 0x58, 0x4e, 0x49, 0xd9, 0x38, 0xcd, 0xee, 0x28, 0x26, 0xb1, 0x50, 0xcd, - 0x08, 0x29, 0x53, 0xe2, 0xca, 0xeb, 0x36, 0x07, 0xed, 0x67, 0x8d, 0xbe, 0x51, 0x35, 0xa4, 0xef, - 0x32, 0xa2, 0x70, 0x6f, 0xfa, 0x09, 0xab, 0xdb, 0x8b, 0x64, 0xa0, 0x9d, 0xfb, 0xc8, 0x90, 0xc7, - 0x55, 0xbf, 0x4f, 0x2f, 0x69, 0x9d, 0x56, 0x86, 0x8a, 0xbc, 0xd8, 0x00, 0x11, 0xba, 0x48, 0x31, - 0x88, 0x19, 0x51, 0x0e, 0x24, 0x1d, 0xdd, 0xc6, 0x4e, 0xcc, 0xd5, 0x27, 0x11, 0xcf, 0x0b, 0x7d, - 0x45, 0xd0, 0xd1, 0x23, 0x8c, 0xa5, 0x73, 0xab, 0x17, 0x06, 0x1b, 0xb7, 0x07, 0x81, 0x18, 0x11, - 0x0c, 0x00, 0xfa, 0x1b, 0xce, 0xe6, 0x28, 0x29, 0x00, 0x18, 0xf6, 0x3f, 0x9a, 0xe0, 0x68, 0x41, - 0xf1, 0x51, 0xc8, 0x4e, 0x19, 0xe4, 0x10, 0x2c, 0x90, 0xf9, 0x0b, 0x79, 0x78, 0x03, 0x82, 0x50, - 0xf8, 0xe6, 0x9e, 0x54, 0x85, 0x08, 0xa5, 0x1f, 0xf2, 0x70, 0x87, 0xf4, 0x48, 0xf9, 0x2b, 0x7a, - 0x6f, 0xec, 0xfc, 0xc8, 0x93, 0xcb, 0x4b, 0xb8, 0x14, 0x42, 0x81, 0xc6, 0x13, 0xbb, 0x8f, 0x90, - 0xbb, 0x88, 0x29, 0x66, 0x36, 0xb4, 0xbf, 0x51, 0x6b, 0xc7, 0x20, 0x3c, 0x29, 0x32, 0xf2, 0x14, - 0x9e, 0xb2, 0x92, 0xe7, 0x33, 0x84, 0x04, 0xa2, 0x67, 0x3d, 0x84, 0x83, 0xf4, 0x4d, 0x83, 0x3a, - 0xe1, 0xd4, 0xb3, 0xfa, 0x84, 0xaa, 0x72, 0x4e, 0xe5, 0x38, 0x37, 0x01, 0x0e, 0xdc, 0xc3, 0x8a, - 0x9e, 0x57, 0xef, 0x2c, 0x1b, 0x95, 0x58, 0x31, 0x14, 0xac, 0x31, 0x41, 0x97, 0x58, 0xd5, 0xbd, - 0xa1, 0x19, 0x73, 0xaa, 0xe9, 0x57, 0x75, 0x13, 0xc0, 0x0d, 0xd1, 0x25, 0x65, 0xfe, 0xdd, 0x5d, - 0xa9, 0x4d, 0xe0, 0x16, 0x8e, 0x46, 0x32, 0x23, 0x3e, 0x4d, 0xd4, 0xe6, 0xb4, 0xbd, 0xc8, 0xea, - 0x2d, 0x72, 0x29, 0xb3, 0x54, 0x3a, 0x80, 0x0f, 0x0e, 0xae, 0xb0, 0x47, 0xf8, 0xd3, 0xd0, 0xb6, - 0x9f, 0x56, 0x86, 0x6f, 0x49, 0x71, 0x47, 0x76, 0x9b, 0xae, 0xf2, 0x3c, 0xb3, 0x2b, 0xc0, 0xb6, - 0x73, 0xd4, 0x52, 0xb7, 0x4e, 0x69, 0xf7, 0xed, 0xad, 0xa1, 0x92, 0x30, 0x65, 0xd9, 0x55, 0x0f, - 0xbe, 0x51, 0xac, 0x54, 0xb8, 0x36, 0x65, 0x7d, 0x23, 0xc6, 0x26, 0x17, 0x58, 0x99, 0x85, 0x02, - 0xe9, 0x9f, 0x2f, 0x1f, 0x37, 0xe7, 0xfa, 0x19, 0xd0, 0xfd, 0xf5, 0xdc, 0xf4, 0x39, 0x3b, 0x87, - 0x8a, 0xfa, 0xe5, 0x36, 0x78, 0x13, 0x19, 0xce, 0x5c, 0x77, 0x44, 0x7a, 0x58, 0x61, 0xdf, 0xca, - 0x41, 0x74, 0x84, 0x7a, 0x64, 0xe0, 0x52, 0xaa, 0x8a, 0xd1, 0x1d, 0x57, 0x7c, 0x10, 0x38, 0x3a, - 0xd9, 0x2b, 0x8c, 0x34, 0x00, 0xf9, 0x28, 0xb2, 0xff, 0x6f, 0x7c, 0x78, 0xd4, 0x42, 0xe7, 0x84, - 0x08, 0x00, 0x1b, 0xaf, 0x2a, 0x43, 0xa7, 0xd0, 0xf5, 0x20, 0xbd, 0x98, 0x9e, 0x09, 0x1f, 0x12, - 0x27, 0xa4, 0xba, 0x1a, 0x92, 0xf4, 0x1f, 0x4c, 0xd2, 0xf9, 0x5d, 0x9a, 0xee, 0x73, 0x57, 0x64, - 0x28, 0x28, 0x47, 0xd9, 0xa7, 0x7d, 0x09, 0xf6, 0x02, 0x9b, 0xde, 0xea, 0x5a, 0xa5, 0xf6, 0x20, - 0x63, 0xbd, 0x43, 0xb0, 0x68, 0x2a, 0x15, 0xd8, 0x55, 0xda, 0x15, 0x4f, 0x88, 0x80, 0xb3, 0x84, - 0x94, 0xf6, 0x49, 0xf3, 0xb2, 0xce, 0xce, 0x50, 0xad, 0x2f, 0xc1, 0x70, 0x0d, 0xc2, 0x7b, 0xb2, - 0x29, 0x55, 0x01, 0x71, 0x36, 0xcb, 0x90, 0xa7, 0x5e, 0xa8, 0x9e, 0x48, 0x9f, 0x5e, 0x10, 0xc0, - 0x37, 0x85, 0x66, 0x2f, 0x8b, 0x0b, 0xc5, 0xa3, 0x3c, 0x28, 0xd0, 0x03, 0xe8, 0x87, 0x6e, 0xf2, - 0xa5, 0x52, 0x57, 0x77, 0xf9, 0xa1, 0xa9, 0x9d, 0x5e, 0x2a, 0x2e, 0x84, 0x15, 0xb8, 0x22, 0xbe, - 0xf4, 0xc7, 0x70, 0x58, 0xed, 0x79, 0xa2, 0x6d, 0xa3, 0x4a, 0x57, 0x2e, 0x2b, 0x3d, 0xbf, 0x59, - 0x8a, 0xc9, 0x02, 0xf9, 0x7e, 0x01, 0x62, 0x76, 0x3a, 0x20, 0x4d, 0xc2, 0x64, 0x7f, 0x70, 0x72, - 0x84, 0xf6, 0xcf, 0xab, 0x81, 0x53, 0x0c, 0x60, 0xe1, 0xe4, 0x35, 0x23, 0x97, 0xb5, 0xed, 0x93, - 0x0d, 0x72, 0x0e, 0x3f, 0x34, 0xaf, 0xee, 0xa9, 0xd6, 0xd4, 0xb6, 0x63, 0xb3, 0xa7, 0xcb, 0x64, - 0x7b, 0x1f, 0x80, 0x97, 0xe1, 0x90, 0x82, 0x28, 0x11, 0xe4, 0xc9, 0x9e, 0x28, 0x10, 0x58, 0x2f, - 0x5d, 0x16, 0xfb, 0xe0, 0x40, 0xff, 0xd5, 0xcd, 0xfc, 0xf1, 0x79, 0xa9, 0x86, 0xa7, 0x7c, 0x83, - 0xe4, 0xbf, 0xc0, 0x53, 0xa5, 0x0b, 0xb8, 0x70, 0x96, 0x20, 0x63, 0x26, 0x57, 0x5f, 0x29, 0xf8, - 0xaf, 0x07, 0xb7, 0x61, 0xdd, 0xd3, 0x4a, 0xe9, 0x60, 0x27, 0x31, 0xb8, 0x88, 0xb7, 0x64, 0x09, - 0x0e, 0x39, 0xb8, 0x23, 0xe9, 0x50, 0xd4, 0x9c, 0x32, 0x9a, 0xfd, 0x0b, 0x24, 0x27, 0xa6, 0x39, - 0x14, 0xd5, 0x8d, 0xcf, 0x20, 0x39, 0xf0, 0x27, 0xdc, 0xe0, 0x28, 0xa5, 0x59, 0x67, 0xa4, 0x49, - 0x5f, 0x77, 0x73, 0xb1, 0xc8, 0xef, 0xca, 0xbc, 0x35, 0xc4, 0x6e, 0xf5, 0x3e, 0xfa, 0x2e, 0x93, - 0xe0, 0x0f, 0xf1, 0x76, 0xc0, 0x95, 0x5f, 0x67, 0x0f, 0x38, 0x3a, 0xee, 0x8f, 0xe2, 0x03, 0x87, - 0xe3, 0xac, 0x37, 0x06, 0xd2, 0x48, 0xb0, 0x38, 0x6c, 0x15, 0x3b, 0xcf, 0xf8, 0x69, 0x7a, 0x19, - 0xe3, 0x58, 0xf6, 0x15, 0xb8, 0x49, 0x7a, 0x27, 0xc1, 0x2a, 0xcf, 0xfd, 0xb8, 0x85, 0x6c, 0x48, - 0x37, 0x51, 0x40, 0x86, 0x86, 0x63, 0x41, 0xc1, 0x54, 0xcd, 0xd5, 0xeb, 0x4f, 0x29, 0x25, 0x16, - 0x1a, 0x6d, 0x10, 0xbe, 0x85, 0xcc, 0x12, 0xf1, 0x44, 0x3c, 0xb7, 0x2d, 0xf4, 0xb1, 0x4b, 0x42, - 0x28, 0xfd, 0x90, 0xa9, 0x77, 0x50, 0xaa, 0x1a, 0x14, 0x0a, 0x9b, 0xa4, 0x2f, 0x0c, 0x13, 0x87, - 0x41, 0x73, 0x3c, 0x1f, 0x23, 0xc8, 0xdf, 0x2f, 0xb3, 0xb1, 0x66, 0x4b, 0xc3, 0x0b, 0xa1, 0xf2, - 0x5b, 0x62, 0x7a, 0x41, 0x18, 0x93, 0xa4, 0xd4, 0x12, 0xd7, 0x5b, 0xcb, 0xea, 0x03, 0xf3, 0x7b, - 0xc5, 0xad, 0x31, 0x80, 0x62, 0x7a, 0x74, 0x38, 0xdb, 0xba, 0xde, 0x8c, 0x21, 0x44, 0xb2, 0xfc, - 0x65, 0x58, 0x87, 0xa2, 0xa9, 0x68, 0x67, 0xf9, 0xd6, 0x49, 0x67, 0xc2, 0x1e, 0x3c, 0xdf, 0x46, - 0xc5, 0xbf, 0x9c, 0xcb, 0x11, 0x99, 0xdd, 0x18, 0x93, 0xa2, 0xac, 0xf2, 0xbc, 0xd6, 0x5a, 0xc9, - 0xde, 0xc2, 0xe8, 0xb5, 0x8e, 0xb4, 0xb9, 0x13, 0x09, 0x3d, 0xdc, 0xab, 0xec, 0xbe, 0x1f, 0x49, - 0xee, 0xdf, 0x31, 0x72, 0x69, 0x01, 0x03, 0xae, 0xa4, 0x56, 0xd8, 0x98, 0x20, 0xd1, 0x5b, 0x11, - 0x39, 0x63, 0xb7, 0xd3, 0xd1, 0x50, 0xfc, 0x6e, 0x45, 0x5b, 0x50, 0x1b, 0xf1, 0xb9, 0x17, 0x1a, - 0x5d, 0xdb, 0x03, 0xc4, 0xf9, 0x7f, 0x27, 0x55, 0x79, 0x42, 0x27, 0x08, 0xb3, 0xf1, 0xa6, 0x88, - 0x9f, 0x32, 0x3e, 0xef, 0xdb, 0xdb, 0x5e, 0x67, 0x01, 0x30, 0x1f, 0x18, 0x8b, 0x38, 0x5b, 0xb4, - 0xa4, 0x75, 0xc6, 0x97, 0x9e, 0xde, 0x87, 0xc0, 0xee, 0x2b, 0x98, 0x6c, 0xe8, 0xa8, 0xcd, 0x68, - 0x22, 0x13, 0x40, 0xa8, 0x4e, 0xf9, 0x88, 0x0b, 0x4f, 0x97, 0x82, 0xc3, 0x35, 0x81, 0x4e, 0x01, - 0x3e, 0x7f, 0x12, 0xb0, 0x03, 0x7a, 0x21, 0x40, 0x41, 0x14, 0x05, 0x70, 0x6f, 0xed, 0x76, 0x78, - 0xc8, 0x33, 0xf0, 0xa8, 0x4d, 0x64, 0x19, 0xf7, 0xdc, 0x8b, 0x8f, 0x24, 0xfd, 0x50, 0x3a, 0xad, - 0x8f, 0x2d, 0xd1, 0x2e, 0x6e, 0xd0, 0xde, 0x91, 0x59, 0x7a, 0xe9, 0x1a, 0x43, 0xc6, 0x62, 0x3d, - 0xc8, 0xb2, 0x94, 0xfb, 0x45, 0x29, 0x3d, 0xa9, 0x12, 0x03, 0xaf, 0xa1, 0x3c, 0xe2, 0x3d, 0xd5, - 0x7d, 0x06, 0x58, 0x4a, 0x64, 0xe1, 0xa5, 0x9e, 0x4d, 0x66, 0x43, 0xef, 0x64, 0xaf, 0xaa, 0xf1, - 0xdc, 0x8e, 0xd0, 0xf8, 0x28, 0x73, 0x70, 0xfc, 0x68, 0xf8, 0x8a, 0xdd, 0xc5, 0x9b, 0xca, 0xe6, - 0xd4, 0x81, 0xde, 0x45, 0x54, 0xcb, 0xeb, 0x37, 0x0a, 0x85, 0xe8, 0x66, 0x55, 0x8f, 0x51, 0xaf, - 0x5b, 0x2e, 0xde, 0x40, 0x90, 0x1b, 0xce, 0xb1, 0xf3, 0x64, 0x9e, 0x40, 0xb7, 0x64, 0x2f, 0xae, - 0xf2, 0xc5, 0x00, 0xb2, 0xef, 0xc7, 0x83, 0x96, 0x59, 0x83, 0x29, 0xc0, 0x45, 0x41, 0x3b, 0x55, - 0x67, 0x78, 0x90, 0x80, 0xeb, 0xd0, 0x4b, 0xbe, 0xfb, 0x21, 0x28, 0x8e, 0x0b, 0xdb, 0x65, 0x4a, - 0x7f, 0xb0, 0x3e, 0xed, 0x2d, 0x80, 0x86, 0x85, 0xeb, 0xfc, 0x95, 0x45, 0x08, 0x3f, 0x92, 0x50, - 0x36, 0x72, 0x5e, 0x28, 0x29, 0x9b, 0x41, 0xfb, 0xa4, 0x80, 0xa2, 0xa3, 0x77, 0x87, 0x49, 0x04, - 0x64, 0x30, 0x4d, 0xd4, 0x67, 0x0a, 0x90, 0x41, 0x3e, 0x16, 0x5b, 0x29, 0x3b, 0x2b, 0xac, 0xd0, - 0xf5, 0x09, 0xd2, 0x0c, 0x42, 0x16, 0x7b, 0x48, 0xc6, 0xdf, 0x0e, 0x7f, 0x0a, 0xa7, 0x12, 0x56, - 0xcb, 0xe4, 0xab, 0xc2, 0xe3, 0xc7, 0xb6, 0xc4, 0xfa, 0xf3, 0x50, 0x59, 0x7c, 0xce, 0x55, 0xfe, - 0x82, 0xed, 0x74, 0x1b, 0xe2, 0xcf, 0xd7, 0x32, 0x2b, 0x1e, 0x0c, 0x72, 0x90, 0x03, 0x80, 0x8b, - 0x13, 0x34, 0x5b, 0x52, 0xf4, 0x9e, 0xbc, 0xca, 0x9d, 0x2d, 0x4f, 0x8a, 0x59, 0x08, 0x18, 0x66, - 0x1d, 0x74, 0x24, 0xb8, 0x58, 0x5a, 0x3c, 0xa1, 0x5a, 0x73, 0x71, 0x58, 0x07, 0x5a, 0x55, 0x70, - 0x83, 0xea, 0x8e, 0x95, 0x7a, 0x5d, 0x7b, 0x4d, 0x01, 0xff, 0x97, 0x9e, 0x43, 0x11, 0x0f, 0xcb, - 0x7e, 0x9a, 0x7d, 0x2b, 0xdb, 0x59, 0x1d, 0x9c, 0x0f, 0x9c, 0xf7, 0x5a, 0x1d, 0xf5, 0x1e, 0x62, - 0x02, 0x6d, 0x1f, 0xac, 0x17, 0x46, 0xad, 0xe4, 0xb2, 0x07, 0xbf, 0xf0, 0xae, 0xe4, 0xb9, 0xab, - 0xee, 0x43, 0xf6, 0xac, 0xa4, 0x43, 0xae, 0x53, 0xeb, 0x05, 0x93, 0x83, 0x90, 0xcf, 0x00, 0xf6, - 0xc7, 0x1c, 0xd5, 0x94, 0x93, 0x3d, 0xcb, 0x93, 0xa2, 0x5b, 0x3f, 0x9e, 0x11, 0xd6, 0x3a, 0x4e, - 0x94, 0x72, 0x69, 0xad, 0x4d, 0x27, 0xa2, 0xa5, 0x21, 0x2a, 0x0b, 0x9a, 0xfc, 0x92, 0xc3, 0x09, - 0xe2, 0x60, 0x46, 0x47, 0xce, 0x29, 0x44, 0xa8, 0x45, 0xeb, 0x55, 0x7c, 0xd5, 0xde, 0x4c, 0x0f, - 0x0a, 0x0c, 0x95, 0xb9, 0x15, 0xce, 0x1a, 0x23, 0xf3, 0xa7, 0xa8, 0xac, 0x6b, 0xea, 0x31, 0x14, - 0x68, 0xb0, 0xc7, 0xdb, 0x8c, 0x1f, 0xf4, 0x5c, 0xf6, 0xfe, 0x83, 0x52, 0x3e, 0x42, 0x68, 0x23, - 0x72, 0xfd, 0x6e, 0xd2, 0x50, 0x8e, 0x57, 0x91, 0x8c, 0x54, 0x74, 0xbc, 0xe2, 0x9a, 0xa2, 0x2e, - 0xc0, 0x18, 0x3b, 0xf0, 0x39, 0x52, 0x99, 0x73, 0x7b, 0xed, 0x3e, 0x5b, 0x80, 0x40, 0x28, 0x3e, - 0xab, 0xcb, 0xfe, 0x56, 0xe4, 0xe2, 0x1b, 0x6b, 0x79, 0xcc, 0x56, 0x39, 0x35, 0x70, 0x21, 0x97, - 0xea, 0x69, 0xb0, 0xc7, 0x97, 0x71, 0xdd, 0xe5, 0x17, 0x25, 0xc7, 0xbd, 0xbc, 0x60, 0x95, 0xcf, - 0xb7, 0xa8, 0x78, 0xbb, 0x23, 0x00, 0x60, 0x9c, 0xd0, 0x53, 0xad, 0x8f, 0xc6, 0x53, 0xa1, 0x1a, - 0x00, 0x0a, 0x79, 0x7a, 0xb5, 0x1e, 0x37, 0x9d, 0x5f, 0x2c, 0xe5, 0xb8, 0x8e, 0x59, 0xd9, 0xd0, - 0xf4, 0xcf, 0x71, 0xe3, 0xff, 0xcc, 0x25, 0x55, 0xbf, 0x42, 0xf3, 0x9d, 0x11, 0x04, 0x5c, 0xcf, - 0x7d, 0x85, 0xc4, 0xbb, 0x90, 0xae, 0x78, 0x84, 0x69, 0x7d, 0xf5, 0x20, 0xd3, 0x38, 0x95, 0xc7, - 0x5b, 0xb0, 0xf5, 0xf3, 0xce, 0x3c, 0x75, 0xb1, 0xed, 0xf2, 0x1c, 0x23, 0xc3, 0x9d, 0x42, 0x3d, - 0x84, 0x6c, 0xe4, 0x9a, 0x8f, 0x96, 0x00, 0x06, 0xca, 0xe0, 0x8a, 0x18, 0xe6, 0xe7, 0x07, 0x99, - 0xc0, 0x2c, 0x39, 0xe5, 0xf6, 0x5c, 0xe7, 0x05, 0xf9, 0x87, 0x4e, 0x23, 0x78, 0xa7, 0x69, 0xb6, - 0xce, 0x68, 0x42, 0x40, 0x51, 0x33, 0x54, 0x57, 0x22, 0x7c, 0x94, 0xf1, 0xec, 0xaa, 0x5d, 0x1b, - 0xb5, 0x1b, 0x4b, 0x71, 0xd8, 0xcb, 0x0a, 0xef, 0xfe, 0x6a, 0x7b, 0x74, 0xba, 0xa7, 0x87, 0x8e, - 0x34, 0xdf, 0x87, 0x96, 0xa2, 0xc4, 0x20, 0x4c, 0x80, 0xc9, 0x74, 0xaa, 0x80, 0x0c, 0x0f, 0xe9, - 0x82, 0x86, 0x8d, 0xad, 0xde, 0xff, 0xcc, 0xe2, 0x87, 0x3e, 0x35, 0x1d, 0xb7, 0x84, 0xe7, 0xd0, - 0x14, 0x26, 0x0a, 0x70, 0x9b, 0x6e, 0x25, 0x00, 0xcd, 0x07, 0x13, 0x3c, 0x7f, 0x9f, 0x29, 0x72, - 0x3b, 0xda, 0x4c, 0x4c, 0xe7, 0xcd, 0xf2, 0x27, 0x3d, 0x20, 0xac, 0x79, 0xa5, 0xd3, 0x48, 0xd1, - 0xab, 0x50, 0x9c, 0x0f, 0xf4, 0x0f, 0xfe, 0x25, 0x9e, 0xa3, 0xc9, 0x8d, 0xa4, 0xa6, 0xe7, 0x20, - 0x77, 0x07, 0x17, 0xf1, 0x56, 0x69, 0x19, 0x43, 0x92, 0x28, 0x1b, 0xe1, 0xae, 0x74, 0xae, 0xff, - 0x0d, 0x70, 0xf5, 0x55, 0x59, 0x78, 0x2b, 0x90, 0x8f, 0x7d, 0xe9, 0x46, 0xc8, 0xd9, 0xb1, 0xa9, - 0x57, 0x82, 0xd0, 0xc1, 0x59, 0x52, 0x17, 0xb7, 0xe1, 0x30, 0x8a, 0x7c, 0xf2, 0x46, 0x4b, 0xa5, - 0x1a, 0x92, 0x58, 0xf3, 0x8b, 0x4c, 0x2b, 0x9c, 0x68, 0x71, 0xb9, 0x10, 0xe2, 0x56, 0x67, 0x97, - 0xb5, 0x45, 0x56, 0xa8, 0xa0, 0xd8, 0xe0, 0xb1, 0xe9, 0xae, 0xba, 0x7a, 0xdd, 0x2e, 0xfe, 0x37, - 0xe5, 0xb6, 0xd7, 0x11, 0x7e, 0x1d, 0x88, 0x23, 0xf0, 0x86, 0xa4, 0x7d, 0xbf, 0xc9, 0x47, 0x98, - 0xd9, 0x23, 0x24, 0x8c, 0xb2, 0x98, 0xb3, 0x2f, 0x53, 0x87, 0xa2, 0xb7, 0x4d, 0x94, 0x41, 0x38, - 0xe7, 0xa4, 0x70, 0xde, 0xe2, 0x22, 0x2b, 0xba, 0x35, 0xab, 0x76, 0x73, 0xff, 0xeb, 0x09, 0x44, - 0x5c, 0x3c, 0xc6, 0xcf, 0x99, 0x81, 0xb0, 0x91, 0x04, 0xe2, 0xb2, 0x57, 0x9b, 0x74, 0x0d, 0x25, - 0xa0, 0x63, 0x88, 0xb4, 0x4a, 0xcb, 0x0d, 0x23, 0x73, 0x2e, 0x7d, 0x8a, 0xcb, 0xe7, 0xa8, 0x9c, - 0x54, 0x40, 0xd1, 0x99, 0xc9, 0x78, 0xaf, 0x5a, 0xae, 0xb2, 0x98, 0x58, 0x83, 0x19, 0xa1, 0x3e, - 0x3f, 0x12, 0x9b, 0xc4, 0x75, 0xf8, 0x99, 0xce, 0xb2, 0xe0, 0x4a, 0x6b, 0x57, 0x9e, 0x5f, 0x75, - 0x0e, 0x16, 0x52, 0xc9, 0x62, 0x75, 0xd4, 0x23, 0xf8, 0x9a, 0xfa, 0x8c, 0x3d, 0xaa, 0xf2, 0x62, - 0x38, 0xed, 0xbc, 0x22, 0x93, 0x61, 0x8c, 0x80, 0x3b, 0xf8, 0xa6, 0x03, 0xe7, 0x42, 0xf2, 0x90, - 0x0f, 0xfd, 0xb8, 0xb5, 0xd6, 0x2d, 0xa4, 0x07, 0x28, 0x42, 0x6f, 0x34, 0x3f, 0x09, 0xa9, 0x06, - 0x85, 0x01, 0xfb, 0x42, 0x1a, 0xd3, 0x56, 0x16, 0xbe, 0x49, 0xf2, 0xae, 0xe8, 0x6e, 0x29, 0xbc, - 0xad, 0xe3, 0xb8, 0xae, 0x50, 0xcf, 0xb1, 0xac, 0xb6, 0x0c, 0xea, 0x0e, 0x62, 0x29, 0x24, 0x9f, - 0xa4, 0xa9, 0x95, 0x87, 0x58, 0xab, 0xad, 0x53, 0x4c, 0x55, 0xe7, 0x16, 0xc7, 0xb4, 0x67, 0xcb, - 0xd1, 0xb9, 0x8e, 0x37, 0xc3, 0x0e, 0x83, 0xdc, 0x9a, 0xf3, 0x46, 0x72, 0x1a, 0x5c, 0xac, 0x6a, - 0x70, 0x15, 0x2f, 0x0c, 0xd5, 0x43, 0xcc, 0x26, 0x06, 0x79, 0xfc, 0x96, 0xa0, 0x97, 0x8f, 0x4a, - 0x25, 0xe5, 0x19, 0x0c, 0x29, 0xa6, 0x07, 0x84, 0xa9, 0x5a, 0x39, 0x83, 0x60, 0x77, 0x62, 0x61, - 0xbb, 0xfb, 0xd8, 0xc2, 0xb5, 0x56, 0x85, 0x5f, 0xe4, 0x04, 0x93, 0xfc, 0x13, 0xef, 0xef, 0x8b, - 0xb9, 0xe2, 0x5c, 0x1d, 0x76, 0x64, 0x99, 0x99, 0x52, 0x44, 0x19, 0x5c, 0x2c, 0x15, 0x7a, 0x7b, - 0x32, 0x91, 0x28, 0xc0, 0xc8, 0x80, 0x23, 0x5f, 0x7c, 0x99, 0x8c, 0x99, 0x42, 0xaa, 0xa5, 0x2d, - 0xba, 0xe8, 0xd8, 0xde, 0x67, 0xd3, 0x2f, 0x0f, 0x52, 0xff, 0xfc, 0x07, 0x63, 0xd4, 0x18, 0xaf, - 0xa3, 0xbd, 0x23, 0x8f, 0xf7, 0xf6, 0x2c, 0xbd, 0x1b, 0x20, 0x33, 0x7a, 0x86, 0x1b, 0x26, 0x39, - 0xaa, 0x62, 0xcc, 0x0e, 0x28, 0x25, 0xaa, 0xf5, 0x74, 0x5e, 0xbc, 0xd6, 0xfc, 0xfd, 0x36, 0x4d, - 0xdf, 0xf7, 0x1f, 0x09, 0x3f, 0x3e, 0x7a, 0xf2, 0x59, 0x6c, 0x53, 0xe9, 0x60, 0xd6, 0xc5, 0xf3, - 0x26, 0xaf, 0x62, 0x6c, 0x54, 0xfb, 0x10, 0x6b, 0xcc, 0x1c, 0x1f, 0x23, 0x9e, 0x35, 0x40, 0x79, - 0xa6, 0x4d, 0x07, 0x82, 0x36, 0x60, 0xb6, 0xea, 0xbd, 0x83, 0x4a, 0x0c, 0xd7, 0xae, 0x48, 0xe6, - 0x0c, 0xf8, 0x8d, 0xa1, 0x8c, 0xc9, 0x45, 0x7d, 0x60, 0x4e, 0x2e, 0xf0, 0x05, 0x0c, 0xbe, 0x35, - 0x8b, 0x41, 0x7d, 0x80, 0x32, 0x3f, 0x78, 0x63, 0x8e, 0xe5, 0x35, 0x15, 0xba, 0xe7, 0xb4, 0x3a, - 0x14, 0x98, 0x9f, 0x06, 0x0c, 0x67, 0x72, 0xd3, 0x9f, 0xa6, 0x3f, 0x2d, 0x3c, 0xae, 0xbf, 0x29, - 0xba, 0x6c, 0x49, 0x7b, 0x75, 0x4b, 0x84, 0xa9, 0x26, 0x29, 0x31, 0x27, 0x53, 0x6a, 0xaf, 0x26, - 0x5d, 0xd2, 0x2a, 0x88, 0x35, 0x7f, 0x83, 0xbf, 0x81, 0x2d, 0x21, 0x91, 0x7c, 0x85, 0x8a, 0x9d, - 0x77, 0xad, 0xff, 0xc9, 0x83, 0x5b, 0xab, 0x6e, 0x4e, 0x52, 0x34, 0x0e, 0x46, 0xfd, 0x80, 0x08, - 0xd8, 0xb4, 0xfe, 0x5a, 0x93, 0xe8, 0xb4, 0xfb, 0xf5, 0x8b, 0x61, 0xd6, 0x99, 0x52, 0x45, 0x51, - 0xae, 0xa1, 0xe2, 0xad, 0x34, 0xd9, 0x0e, 0x3d, 0x27, 0xc9, 0x79, 0x69, 0x77, 0x9b, 0x5a, 0x57, - 0x24, 0xf7, 0x99, 0xe8, 0xfe, 0x64, 0x42, 0x3c, 0xda, 0xd0, 0xa7, 0xf2, 0xe0, 0xa4, 0x91, 0xb9, - 0xaa, 0x6b, 0xc6, 0xd5, 0xf3, 0xad, 0xdd, 0x84, 0x4f, 0x3a, 0xcd, 0x56, 0x65, 0xe4, 0x31, 0x5d, - 0x9a, 0x7d, 0xb7, 0x6b, 0x10, 0xb6, 0x57, 0x84, 0x39, 0xdb, 0x9a, 0xec, 0xf8, 0xf5, 0x1f, 0x33, - 0x1f, 0xc5, 0x10, 0x4b, 0x90, 0x2f, 0xc1, 0x32, 0x17, 0x16, 0x15, 0x7a, 0x33, 0x7a, 0x46, 0xfd, - 0x7a, 0x88, 0xa4, 0x14, 0xaa, 0x6c, 0x2c, 0x49, 0xc0, 0xb5, 0xb2, 0xbd, 0xc2, 0xe1, 0x76, 0x0a, - 0xdb, 0xfd, 0x72, 0x06, 0xb9, 0xd5, 0x06, 0x6f, 0x06, 0x6c, 0x66, 0x70, 0x83, 0x83, 0x54, 0x61, - 0x6f, 0xbc, 0xa0, 0x59, 0x79, 0x8e, 0x87, 0x91, 0x4e, 0xb3, 0x27, 0x07, 0x4f, 0x89, 0x2f, 0x43, - 0x6a, 0xd1, 0x18, 0xa0, 0xaa, 0x88, 0x53, 0x9e, 0x9c, 0xc8, 0x8f, 0xb7, 0x17, 0xc1, 0x98, 0x54, - 0xb6, 0x9a, 0x7e, 0x38, 0x3d, 0xd1, 0x00, 0x0e, 0xa4, 0xed, 0x03, 0x47, 0x57, 0x89, 0x35, 0x5b, - 0x49, 0xde, 0xa5, 0xc0, 0xf6, 0xde, 0x9e, 0x60, 0xe6, 0x70, 0x99, 0xed, 0x61, 0x99, 0x5c, 0xdc, - 0x87, 0xad, 0x36, 0x28, 0x52, 0xed, 0x5e, 0xc0, 0x35, 0x8c, 0xbb, 0x14, 0x7b, 0xe3, 0x87, 0x01, - 0x22, 0x73, 0xf8, 0xe4, 0x23, 0x88, 0x17, 0x46, 0xf1, 0x7d, 0xf1, 0xbb, 0xf6, 0x2f, 0x7d, 0xd1, - 0x10, 0x95, 0xe1, 0x3f, 0xb9, 0xd9, 0x3e, 0xb5, 0xca, 0xf4, 0x73, 0x7e, 0x1a, 0x4e, 0x78, 0x2f, - 0x2b, 0x37, 0x66, 0xa4, 0xfc, 0x8b, 0xb4, 0x7f, 0x6f, 0x49, 0x4f, 0x70, 0xa3, 0xf6, 0x7f, 0x2b, - 0xc9, 0x8b, 0xf2, 0x68, 0x80, 0x58, 0x2b, 0x70, 0xd9, 0xe2, 0xb6, 0x7a, 0x85, 0x6c, 0xfe, 0xd4, - 0xf9, 0xfe, 0xe5, 0x9c, 0xff, 0x60, 0xa2, 0x86, 0xb8, 0xc3, 0x6a, 0x31, 0xb2, 0xda, 0xa5, 0x4c, - 0xc3, 0xa6, 0xed, 0x9f, 0x1a, 0x0b, 0x4a, 0x47, 0xe7, 0x1d, 0x1c, 0x21, 0x66, 0xd6, 0x21, 0x7d, - 0x0d, 0x75, 0x48, 0x4f, 0xbf, 0x10, 0x71, 0x14, 0x44, 0x81, 0xba, 0xfe, 0xe6, 0xf1, 0x16, 0x6c, - 0x8e, 0xc3, 0x0e, 0xa4, 0x6b, 0xf6, 0xcb, 0x80, 0xb4, 0xb1, 0xea, 0xe6, 0x6a, 0x54, 0xbe, 0xf7, - 0xc9, 0x6c, 0x9e, 0x90, 0xa2, 0x98, 0x27, 0x6a, 0xbe, 0xb5, 0xbe, 0xc5, 0xa6, 0x35, 0xd1, 0x3b, - 0x21, 0x8a, 0x76, 0xe2, 0xa3, 0x34, 0xf5, 0xf5, 0x78, 0x68, 0x49, 0x6c, 0x77, 0x34, 0x98, 0x14, - 0xa6, 0xa4, 0xa0, 0x0e, 0x0f, 0x27, 0xec, 0x09, 0x87, 0x79, 0x71, 0x77, 0x0a, 0xc5, 0x4e, 0x76, - 0x61, 0x85, 0x7a, 0x55, 0x40, 0x0e, 0xc7, 0xda, 0xf4, 0x73, 0xad, 0xcd, 0x11, 0xeb, 0x53, 0x49, - 0x45, 0xc7, 0x91, 0xd0, 0xb3, 0x5b, 0x7d, 0xd9, 0x1e, 0xc1, 0x60, 0x80, 0xdb, 0x68, 0x12, 0x41, - 0x68, 0xce, 0xe8, 0x34, 0xa6, 0x1c, 0xd1, 0x27, 0xf9, 0x81, 0x82, 0x40, 0x93, 0x81, 0x9c, 0x19, - 0xbd, 0x20, 0x62, 0x46, 0xaf, 0xf8, 0x5d, 0x1c, 0x33, 0x26, 0x6a, 0xff, 0xdf, 0x2f, 0x89, 0x97, - 0xba, 0x30, 0xf7, 0xeb, 0x47, 0xbd, 0xa2, 0x12, 0x81, 0xcd, 0x06, 0xe1, 0xe3, 0x56, 0x0c, 0x74, - 0x23, 0x8f, 0xfe, 0x94, 0xed, 0x93, 0xbe, 0x29, 0x13, 0x98, 0x59, 0xca, 0x33, 0xc2, 0x47, 0x5a, - 0x42, 0x27, 0x30, 0xed, 0xf9, 0x3c, 0xc2, 0x16, 0x7b, 0x5f, 0x7e, 0xf6, 0xd5, 0x8c, 0x2d, 0x2c, - 0xd3, 0x5f, 0x10, 0x72, 0xb9, 0x73, 0x27, 0x25, 0xa0, 0x8d, 0xab, 0x72, 0x5c, 0xc2, 0x11, 0x42, - 0x87, 0x50, 0x50, 0x23, 0x94, 0xca, 0xcd, 0xfd, 0xb3, 0xfe, 0x42, 0x59, 0xf2, 0x33, 0x8a, 0x67, - 0xf1, 0x8d, 0x41, 0x04, 0xa4, 0x13, 0x3b, 0x87, 0xb3, 0xf8, 0xe1, 0xcb, 0x27, 0xe1, 0xbd, 0x99, - 0x26, 0x01, 0x23, 0xd8, 0x9b, 0xf5, 0x1c, 0xfe, 0x07, 0x29, 0x6d, 0x03, 0x97, 0xeb, 0x1c, 0x97, - 0x0d, 0xf9, 0x72, 0x07, 0x41, 0x97, 0xe6, 0x55, 0x7f, 0xa1, 0x29, 0xa1, 0x21, 0x60, 0x1e, 0x91, - 0xd0, 0xef, 0x64, 0x6a, 0xe6, 0x2e, 0xb0, 0x97, 0x9a, 0xf7, 0x7b, 0x22, 0x1a, 0xea, 0xc3, 0x1a, - 0xac, 0x51, 0xd4, 0xb1, 0x0b, 0xa9, 0xb7, 0x84, 0xdc, 0xa3, 0x03, 0x3d, 0xc6, 0xe8, 0xe4, 0x08, - 0x9b, 0x0f, 0x94, 0x45, 0x7a, 0x42, 0x77, 0xf3, 0x65, 0xbf, 0xf8, 0xad, 0xe5, 0xf5, 0x5a, 0xad, - 0x11, 0xcb, 0x9f, 0x17, 0x43, 0x11, 0xe9, 0x5e, 0x20, 0xcc, 0xd3, 0xd1, 0x33, 0xc6, 0xb0, 0x69, - 0x2f, 0xe0, 0xae, 0xd7, 0xcf, 0x27, 0x88, 0x32, 0x5d, 0x0f, 0xf9, 0xce, 0x76, 0x95, 0x02, 0x26, - 0x89, 0xd8, 0x4e, 0x40, 0xf2, 0x71, 0x06, 0x4e, 0x55, 0xfb, 0x1a, 0x0a, 0x30, 0xfe, 0xa1, 0xe5, - 0x1e, 0x15, 0x78, 0x9d, 0x84, 0x5c, 0xfb, 0xee, 0x19, 0x4b, 0x11, 0xe2, 0xd7, 0x36, 0xe1, 0x76, - 0x00, 0x5a, 0x8f, 0x99, 0x0e, 0xf0, 0x16, 0xe7, 0x67, 0x48, 0x4e, 0xe8, 0xef, 0x05, 0x40, 0x2b, - 0x61, 0x5e, 0x5f, 0x7d, 0xda, 0x3d, 0xb3, 0x76, 0x37, 0xe9, 0x36, 0xfd, 0x0f, 0x9e, 0xb7, 0x53, - 0xdd, 0x6b, 0xb8, 0x78, 0x8a, 0x95, 0xb9, 0x6e, 0x6c, 0xd2, 0x0d, 0xab, 0x27, 0x2c, 0xfc, 0x17, - 0xa3, 0xb5, 0xc0, 0x4c, 0xe1, 0xcb, 0xde, 0x67, 0x68, 0xce, 0x8f, 0x59, 0x01, 0x31, 0x3f, 0xe5, - 0x5e, 0xab, 0x5d, 0x36, 0x52, 0x64, 0x39, 0xe9, 0x4b, 0x6b, 0xe4, 0x2e, 0x74, 0x26, 0xba, 0xf6, - 0xe2, 0x07, 0xbe, 0x34, 0xa5, 0xe2, 0x89, 0x07, 0xda, 0xab, 0x8f, 0xf8, 0x1a, 0x4a, 0xa9, 0x12, - 0x2f, 0x76, 0x89, 0xf8, 0xca, 0xad, 0xcb, 0x25, 0x5a, 0xfb, 0x2d, 0xd7, 0x79, 0xf3, 0xdf, 0x85, - 0x40, 0x85, 0xab, 0x1a, 0xb7, 0x1c, 0xc2, 0xbd, 0x35, 0xc6, 0x83, 0x3e, 0xb9, 0x31, 0xe9, 0x37, - 0x7d, 0xba, 0xf7, 0xf5, 0x15, 0x20, 0x64, 0xff, 0x91, 0xaf, 0xe1, 0x8c, 0xec, 0xb0, 0xf1, 0x7d, - 0xd0, 0x80, 0x5e, 0x99, 0x65, 0x94, 0x86, 0x2b, 0xaf, 0x7f, 0xd5, 0xb4, 0xdc, 0x4f, 0xf4, 0x87, - 0x8f, 0x84, 0x5f, 0x5a, 0x9a, 0xd3, 0xa2, 0x46, 0x13, 0xf6, 0x4d, 0x66, 0xfe, 0xe7, 0xf2, 0x08, - 0x3c, 0x77, 0x31, 0x5d, 0xef, 0x8b, 0xdc, 0x0a, 0x99, 0xde, 0x19, 0xd7, 0x2f, 0x4f, 0x61, 0x4c, - 0x3c, 0x35, 0x4e, 0x02, 0xe7, 0xbf, 0x5a, 0x90, 0x64, 0x6f, 0x8a, 0x5b, 0xae, 0x09, 0x75, 0x47, - 0x7f, 0x59, 0x50, 0x1d, 0xe1, 0xd5, 0xa0, 0x44, 0x5f, 0x63, 0x70, 0xd9, 0x83, 0xab, 0x44, 0x92, - 0x53, 0xac, 0xa3, 0x5e, 0x2f, 0x38, 0x3d, 0xa4, 0xfb, 0x85, 0x86, 0x53, 0xa0, 0xe9, 0x98, 0xef, - 0x60, 0x1d, 0xc5, 0xed, 0xb4, 0xb6, 0xa8, 0x7c, 0x3e, 0xf5, 0x8d, 0x41, 0xc6, 0x68, 0xa2, 0x8f, - 0x3e, 0xbb, 0x4c, 0x69, 0x1f, 0x5d, 0x36, 0x70, 0xeb, 0xf8, 0xdc, 0xf2, 0x91, 0x3e, 0x19, 0xab, - 0x6f, 0xa3, 0x3c, 0x5c, 0xf8, 0x90, 0x31, 0x90, 0x99, 0x22, 0x3f, 0x95, 0x68, 0xfd, 0x30, 0xcb, - 0x64, 0x8d, 0x90, 0xe9, 0xf7, 0x98, 0x64, 0x7d, 0xcc, 0xa3, 0x7d, 0x83, 0xce, 0x30, 0xec, 0x1f, - 0xb0, 0x82, 0xc3, 0x06, 0x48, 0xf8, 0x34, 0x57, 0xdb, 0xd9, 0x0b, 0xb6, 0x70, 0x69, 0x9e, 0x92, - 0x15, 0xd5, 0x5a, 0xa8, 0x85, 0x2a, 0x9b, 0xbb, 0xee, 0xe6, 0xa8, 0xa6, 0x57, 0x13, 0x70, 0x1a, - 0x69, 0xe1, 0x85, 0xb2, 0xa3, 0xe5, 0xf5, 0xa1, 0xeb, 0x7c, 0x46, 0xcc, 0xba, 0x0e, 0xa0, 0x98, - 0x16, 0x29, 0x1f, 0xb5, 0x08, 0x09, 0x0e, 0x92, 0x50, 0x0b, 0xa9, 0xe8, 0xeb, 0x9d, 0xac, 0x70, - 0x91, 0x8f, 0x97, 0x5a, 0x35, 0x64, 0xb1, 0x50, 0xde, 0x7f, 0x0d, 0xad, 0x29, 0x51, 0x90, 0x43, - 0x92, 0xdf, 0x6a, 0xd6, 0xcf, 0xf3, 0xc4, 0xef, 0x10, 0xf6, 0xbc, 0x61, 0x0e, 0xb9, 0xce, 0x11, - 0x19, 0x80, 0x64, 0x37, 0x84, 0x37, 0xbf, 0x9f, 0x29, 0xab, 0x08, 0xbf, 0xf9, 0x58, 0xa0, 0x07, - 0x3c, 0x81, 0x04, 0x45, 0x79, 0x36, 0x6c, 0x7c, 0x43, 0x06, 0xfd, 0xab, 0x26, 0x04, 0xaf, 0xdd, - 0x99, 0x4e, 0x42, 0x87, 0xf9, 0x9c, 0x59, 0x09, 0x03, 0x90, 0x96, 0x1d, 0x44, 0xf1, 0xaa, 0x10, - 0x3e, 0x72, 0x25, 0x02, 0x4d, 0x18, 0xc0, 0x17, 0xd1, 0x04, 0x6a, 0x10, 0x36, 0x69, 0xfa, 0x71, - 0x65, 0x91, 0x28, 0xf8, 0x84, 0x8c, 0xe7, 0x0e, 0xea, 0x55, 0x69, 0xb3, 0xe9, 0x34, 0x3a, 0xbf, - 0xbd, 0x85, 0x5c, 0x1c, 0x62, 0x96, 0xac, 0xf5, 0xc4, 0x00, 0xe8, 0xda, 0x86, 0xad, 0x41, 0x20, - 0x40, 0x80, 0x08, 0x55, 0x45, 0x11, 0x07, 0x3a, 0xb3, 0xbf, 0x73, 0x71, 0xfa, 0x12, 0x4a, 0x61, - 0x92, 0xf0, 0x8e, 0xf6, 0x4c, 0xd3, 0x8b, 0xb4, 0x30, 0x26, 0x9c, 0x62, 0x97, 0x08, 0xb5, 0x2c, - 0xf0, 0x69, 0x27, 0xac, 0x9d, 0x3c, 0xa9, 0xb9, 0x56, 0xa5, 0x6f, 0x23, 0x01, 0xeb, 0xac, 0xac, - 0xf5, 0xd6, 0x9e, 0x65, 0x58, 0xfb, 0x2e, 0x65, 0x0a, 0xb9, 0x65, 0x11, 0xdf, 0xdf, 0x61, 0xff, - 0x1f, 0xca, 0x96, 0xf0, 0xe9, 0xbf, 0x41, 0xa9, 0x73, 0x38, 0x3b, 0x28, 0xdc, 0xb1, 0x92, 0xea, - 0x4b, 0x21, 0x33, 0xf1, 0x06, 0x61, 0x05, 0xd8, 0xa2, 0xab, 0x6f, 0xcc, 0x4f, 0x6c, 0x0c, 0x97, - 0x53, 0x87, 0x81, 0xf5, 0x10, 0x39, 0x6a, 0xea, 0x63, 0xe8, 0x27, 0x4d, 0xdc, 0x2a, 0xbc, 0x57, - 0x1a, 0xe3, 0xed, 0xd3, 0x1f, 0x52, 0xa6, 0x4a, 0x81, 0x53, 0x68, 0x54, 0x67, 0x24, 0x61, 0x42, - 0xed, 0xdd, 0x61, 0xa0, 0x3c, 0xf8, 0xbf, 0xc3, 0xe0, 0xeb, 0x88, 0x9c, 0xeb, 0xdd, 0xf6, 0x92, - 0xaf, 0xf1, 0x45, 0xae, 0x3d, 0x70, 0xe2, 0x24, 0x9b, 0xf8, 0x52, 0x52, 0x7b, 0x0a, 0x7f, 0x76, - 0xca, 0x02, 0xd3, 0xb5, 0x3a, 0xf4, 0x07, 0x7b, 0x5a, 0x8e, 0x8b, 0x35, 0xe8, 0x85, 0x29, 0x43, - 0x7f, 0xd4, 0xb9, 0xd4, 0xfc, 0x85, 0x74, 0xed, 0xc7, 0xe5, 0xaa, 0x1d, 0x3e, 0xf6, 0x1b, 0x25, - 0x09, 0x2b, 0xdb, 0x42, 0x43, 0xce, 0xb7, 0xf3, 0x7a, 0x1b, 0x55, 0x2e, 0xe6, 0x37, 0x34, 0x6a, - 0xc9, 0x7e, 0x35, 0x9d, 0xd8, 0xc7, 0x76, 0x33, 0x92, 0xb6, 0x16, 0x07, 0x9c, 0xe2, 0xfd, 0x0a, - 0xaf, 0xc6, 0x24, 0xea, 0x34, 0x42, 0xc7, 0xdc, 0x13, 0x6f, 0x85, 0xa2, 0x73, 0xb9, 0x34, 0x3f, - 0x40, 0xec, 0x81, 0x08, 0x67, 0xe1, 0x50, 0x74, 0xf5, 0x7a, 0x34, 0x02, 0xe9, 0xa8, 0x53, 0xa4, - 0xe5, 0xf8, 0x07, 0xec, 0xfd, 0xf0, 0x88, 0x7e, 0xee, 0xc8, 0xdc, 0xb8, 0xde, 0x21, 0xc8, 0xbb, - 0x2d, 0x65, 0x66, 0x84, 0x9b, 0xc8, 0x3c, 0xe5, 0x5a, 0xff, 0x51, 0x23, 0xd9, 0xcf, 0x08, 0xca, - 0x6a, 0xf9, 0x2d, 0x12, 0x5c, 0x5b, 0x77, 0xaf, 0x53, 0xf9, 0x14, 0x81, 0xdd, 0x66, 0xd0, 0x56, - 0xff, 0x23, 0xc8, 0xfb, 0x5f, 0x48, 0x01, 0xba, 0x96, 0xe4, 0x81, 0xd3, 0x4e, 0x7d, 0xbf, 0xc9, - 0xdb, 0x25, 0x4a, 0x43, 0x22, 0x3a, 0xdc, 0xcf, 0xc9, 0xc1, 0x14, 0x53, 0xaa, 0x58, 0x2f, 0x06, - 0x3c, 0xb4, 0xce, 0x5e, 0xc8, 0xce, 0xaa, 0x70, 0xbc, 0xb5, 0xa1, 0xc8, 0x8e, 0xd7, 0xf4, 0x11, - 0xf9, 0xb3, 0x8f, 0x8d, 0x6b, 0x22, 0xbb, 0x4f, 0x6d, 0x96, 0x18, 0x82, 0xe0, 0x82, 0x45, 0xf5, - 0x63, 0x93, 0xfe, 0x13, 0x1d, 0x39, 0x60, 0x86, 0x89, 0x1f, 0xd9, 0x18, 0xac, 0xd5, 0x01, 0x7d, - 0xaf, 0x64, 0x07, 0x91, 0x53, 0x09, 0x59, 0xdf, 0x98, 0x48, 0x0b, 0x05, 0xa9, 0xb2, 0xed, 0x6a, - 0xcc, 0x53, 0x84, 0xb6, 0x98, 0xce, 0x94, 0x90, 0xec, 0x13, 0xfa, 0x47, 0xf4, 0xec, 0xdb, 0x03, - 0x14, 0x59, 0xaa, 0x28, 0xba, 0x20, 0x62, 0xf2, 0x7a, 0xef, 0x3b, 0xfd, 0x9b, 0x73, 0x55, 0x69, - 0x0a, 0x48, 0x94, 0x69, 0x8a, 0x8d, 0xe7, 0x0e, 0xd1, 0x8a, 0xf5, 0xda, 0x05, 0xd6, 0x31, 0x37, - 0x5f, 0xbc, 0x95, 0x3b, 0xa1, 0xee, 0xd4, 0x00, 0x67, 0xad, 0xc6, 0x21, 0x22, 0x66, 0xc2, 0x1f, - 0xb6, 0x85, 0xa8, 0x3d, 0x35, 0xde, 0x82, 0x41, 0xbe, 0x0a, 0x7f, 0xb4, 0x6a, 0xee, 0x67, 0x87, - 0x1d, 0xc2, 0x19, 0xc1, 0xdc, 0x8c, 0x37, 0xe3, 0x75, 0x77, 0x16, 0xf4, 0x94, 0x2d, 0x87, 0x41, - 0x04, 0xa4, 0x7b, 0xe1, 0xa8, 0x2e, 0x0b, 0x7a, 0x4f, 0xd3, 0x7b, 0x9d, 0x6a, 0xb3, 0x59, 0x8e, - 0xfe, 0x06, 0xa8, 0xd9, 0xa4, 0x9f, 0x73, 0xf8, 0x30, 0xa8, 0xd9, 0x79, 0x46, 0x01, 0x40, 0xe4, - 0xb6, 0x6c, 0xfb, 0x64, 0x91, 0x29, 0xf6, 0x78, 0x31, 0x15, 0x6c, 0x94, 0x3b, 0x9d, 0x5f, 0x31, - 0xfa, 0xfd, 0xe4, 0xcd, 0xac, 0x74, 0x46, 0x50, 0x7c, 0xde, 0xb3, 0x01, 0xeb, 0xdb, 0x5b, 0xc0, - 0xf4, 0x74, 0xd0, 0xdf, 0x7c, 0xad, 0xac, 0x2a, 0x57, 0x5d, 0x85, 0x34, 0x35, 0x09, 0x9a, 0x9e, - 0x74, 0x65, 0x6e, 0xc5, 0x95, 0x97, 0xb9, 0x6d, 0xa1, 0xf5, 0x77, 0xe2, 0x47, 0xe4, 0xe6, 0x99, - 0x9e, 0x37, 0x4c, 0x46, 0x59, 0x97, 0x50, 0x8b, 0x69, 0x51, 0xe2, 0x10, 0x04, 0xea, 0x0e, 0x3b, - 0xb4, 0xf2, 0x28, 0xa3, 0x3a, 0x09, 0xbc, 0xd5, 0x3d, 0x8d, 0xf3, 0x79, 0xd4, 0xef, 0x54, 0x6f, - 0x9a, 0xa2, 0x22, 0xb3, 0x30, 0x0f, 0xf9, 0x85, 0x49, 0xa8, 0x3c, 0xf1, 0xde, 0x99, 0x29, 0xc1, - 0x1f, 0xf1, 0x9d, 0xe6, 0x2d, 0x85, 0x2e, 0x02, 0x1b, 0xb7, 0x42, 0x3d, 0x3d, 0xca, 0x91, 0x30, - 0xa8, 0x47, 0xb2, 0x6e, 0x9a, 0x7b, 0x57, 0xe3, 0x37, 0x39, 0xcc, 0x2d, 0x26, 0x1b, 0xe3, 0x58, - 0xdd, 0xf2, 0x23, 0xbd, 0x02, 0xab, 0x76, 0x6c, 0xb9, 0x0d, 0x1d, 0x01, 0xd7, 0x9c, 0x9a, 0x53, - 0xb5, 0xe1, 0x7f, 0x1f, 0xbf, 0xa4, 0x88, 0xb7, 0xb3, 0x0c, 0x6f, 0x4f, 0xa0, 0x84, 0x14, 0xb7, - 0xaa, 0x19, 0x80, 0x45, 0x38, 0xe7, 0x68, 0x00, 0x08, 0x18, 0x91, 0x30, 0x21, 0xc4, 0xd0, 0x98, - 0xc9, 0xca, 0x14, 0xac, 0x9a, 0x24, 0x6f, 0x08, 0x89, 0x35, 0x7f, 0x24, 0xe0, 0xca, 0x79, 0x9f, - 0x2d, 0x95, 0x9c, 0xdb, 0x51, 0xf6, 0x94, 0xce, 0xd1, 0x6a, 0x0f, 0xd8, 0x92, 0x4e, 0x77, 0xfe, - 0xe1, 0x14, 0xd9, 0xc1, 0xf5, 0xe7, 0xb0, 0xed, 0x2c, 0x27, 0xc2, 0x72, 0x25, 0x7c, 0x56, 0x43, - 0x15, 0xc9, 0xa6, 0x91, 0x19, 0xce, 0x88, 0x13, 0xed, 0x67, 0xdb, 0x48, 0xe0, 0x8b, 0x90, 0x2e, - 0xcd, 0xc8, 0xb2, 0xfd, 0xf8, 0xff, 0x1f, 0xf7, 0xf2, 0x10, 0x5e, 0xb7, 0x1d, 0x6a, 0x11, 0xa6, - 0x93, 0x45, 0xf5, 0x7d, 0x44, 0x9c, 0x1f, 0x37, 0x80, 0x84, 0xe4, 0x8b, 0x6f, 0xe3, 0xd6, 0x64, - 0x3f, 0xaf, 0x98, 0x5b, 0xf1, 0x16, 0x1e, 0xfa, 0x21, 0x83, 0xea, 0x97, 0x2b, 0x2b, 0x82, 0x39, - 0x1c, 0xb0, 0x1e, 0xcb, 0x0d, 0x73, 0x09, 0x64, 0xc3, 0x97, 0xf6, 0x56, 0xfd, 0x14, 0xee, 0xa4, - 0xfa, 0xeb, 0x36, 0xda, 0xcf, 0xc5, 0x34, 0x9b, 0xb5, 0x14, 0x5d, 0xf4, 0xcd, 0x3f, 0x68, 0x4e, - 0xcf, 0x9b, 0xd9, 0x4a, 0x65, 0x87, 0x86, 0x33, 0x3f, 0x39, 0x1c, 0x0a, 0x4d, 0xb3, 0x96, 0x96, - 0x8b, 0x1b, 0x39, 0xf1, 0xee, 0x6d, 0x1d, 0xea, 0x0e, 0x68, 0xc8, 0xcb, 0x62, 0x20, 0xd9, 0xc8, - 0x76, 0x40, 0x14, 0xe1, 0x7b, 0xc0, 0xfd, 0xfb, 0x65, 0x99, 0x3d, 0x7b, 0x0f, 0x53, 0x01, 0x67, - 0x48, 0x7c, 0x8e, 0xee, 0x7c, 0xb5, 0x56, 0x9a, 0xb9, 0x43, 0xff, 0x42, 0x5c, 0x71, 0xb9, 0x21, - 0x29, 0x16, 0xa7, 0xbc, 0x38, 0x07, 0x18, 0x37, 0xd9, 0x90, 0x6e, 0x0d, 0x5c, 0xe4, 0x79, 0x81, - 0xb7, 0x5e, 0xe7, 0x56, 0x4d, 0x60, 0x4e, 0x39, 0xbb, 0xb3, 0x6d, 0x95, 0x4c, 0x69, 0x46, 0xcb, - 0x35, 0x51, 0x26, 0x6d, 0x33, 0x81, 0x9f, 0x84, 0x8c, 0xd0, 0x31, 0xe0, 0x6b, 0x63, 0xfe, 0x1b, - 0x35, 0x69, 0x68, 0x4e, 0x9c, 0x7c, 0xe0, 0x41, 0x48, 0x6a, 0x6d, 0x30, 0x71, 0x43, 0x3e, 0x04, - 0x63, 0x27, 0x7f, 0x4c, 0xa8, 0xfe, 0xf5, 0xf9, 0xc3, 0x21, 0xf5, 0x18, 0x8b, 0x62, 0x82, 0xba, - 0xbd, 0xe3, 0x46, 0xde, 0xc5, 0x8b, 0x1a, 0x84, 0x68, 0xed, 0xf1, 0x6b, 0x73, 0x8c, 0xb6, 0x20, - 0xc7, 0x19, 0x9c, 0x54, 0x76, 0x86, 0x15, 0x70, 0x11, 0x43, 0x8b, 0x0b, 0x8d, 0xf1, 0x91, 0x4d, - 0x1c, 0xae, 0xa4, 0x36, 0x11, 0x8c, 0x92, 0x5d, 0x53, 0xab, 0x41, 0x39, 0xf3, 0x0c, 0x9e, 0x9f, - 0x56, 0x5b, 0x90, 0x6c, 0x81, 0xde, 0x46, 0xb6, 0xb9, 0x2d, 0xf1, 0x85, 0xe4, 0xb0, 0x57, 0x98, - 0x65, 0x08, 0xc0, 0x25, 0x2e, 0x18, 0x04, 0x50, 0x21, 0x7d, 0x65, 0x7e, 0x24, 0xa7, 0xe9, 0x64, - 0x1c, 0xe3, 0xa1, 0x88, 0x68, 0x3c, 0x58, 0x55, 0x29, 0xca, 0x2a, 0xfb, 0x4e, 0xf4, 0x22, 0xd2, - 0xf2, 0xdc, 0x2a, 0x6d, 0x95, 0x37, 0x2c, 0x79, 0x70, 0xd9, 0x90, 0x86, 0x61, 0x35, 0x80, 0x08, - 0xc7, 0x45, 0x03, 0x0c, 0x54, 0xda, 0xe4, 0xbb, 0x2b, 0x00, 0x43, 0xa1, 0xb7, 0xd0, 0x66, 0x4a, - 0x59, 0xd1, 0x59, 0x3d, 0xef, 0x9b, 0x74, 0x31, 0x68, 0xf6, 0x53, 0xd7, 0x36, 0x77, 0x81, 0xcc, - 0x41, 0xf6, 0xb4, 0xfe, 0x51, 0xc6, 0xb4, 0x0a, 0x90, 0x53, 0x29, 0x64, 0xba, 0x11, 0x00, 0x07, - 0xca, 0x68, 0x67, 0xa5, 0x6e, 0x3c, 0xfe, 0x04, 0x4d, 0x6b, 0x38, 0x27, 0x41, 0xca, 0x38, 0xa4, - 0xcf, 0xc3, 0x8c, 0xab, 0x22, 0x0b, 0x39, 0x53, 0x18, 0x0b, 0xf6, 0xdc, 0x5d, 0x7c, 0xdb, 0x5e, - 0x25, 0x53, 0xad, 0x28, 0xcf, 0xe9, 0xbe, 0xb1, 0xc3, 0x5a, 0x7a, 0x6f, 0x1f, 0xaf, 0x6a, 0xb7, - 0x8b, 0x5b, 0x17, 0x38, 0x69, 0xb6, 0xbd, 0x31, 0xa9, 0xf4, 0x6e, 0xfa, 0xca, 0xbc, 0x37, 0xef, - 0x1d, 0x3b, 0x87, 0x9f, 0x73, 0xb5, 0xc8, 0x11, 0xf3, 0x01, 0x16, 0x1d, 0x69, 0x4c, 0x3b, 0x44, - 0x0a, 0x35, 0x67, 0xf0, 0x0d, 0xc7, 0x6a, 0xaa, 0x1a, 0x09, 0x94, 0x6b, 0x34, 0x1c, 0x8c, 0x6b, - 0x97, 0x77, 0x56, 0xd4, 0x9d, 0xb4, 0x3e, 0x14, 0x57, 0xbf, 0xe4, 0x9f, 0x60, 0x5c, 0xc6, 0xbe, - 0x6b, 0x2a, 0x53, 0x3b, 0x3d, 0xcd, 0x63, 0xfc, 0x13, 0xf8, 0x84, 0x0e, 0x2c, 0x0a, 0xf5, 0x11, - 0xc9, 0x58, 0xae, 0x43, 0x85, 0x4c, 0xe1, 0x6f, 0x8a, 0xd6, 0x00, 0x89, 0x65, 0xd0, 0x25, 0xda, - 0x81, 0x1f, 0x27, 0x3d, 0xbf, 0x6b, 0xa6, 0x26, 0x37, 0xbc, 0xa9, 0xb4, 0x43, 0x94, 0xd2, 0x15, - 0x19, 0x8a, 0xbf, 0x0b, 0x1b, 0xdb, 0x6a, 0x4c, 0x97, 0x1b, 0xd0, 0xb3, 0xf1, 0x2c, 0xef, 0x56, - 0xd9, 0xa3, 0xda, 0x2e, 0xaf, 0xf4, 0xed, 0x4d, 0x28, 0x0a, 0x2e, 0xdb, 0x52, 0x97, 0x1d, 0x15, - 0xb3, 0x9e, 0x86, 0x01, 0x6d, 0x17, 0x57, 0xce, 0x0d, 0x70, 0x85, 0xb8, 0x3c, 0xc8, 0xaa, 0xa3, - 0xfa, 0x4e, 0x26, 0x30, 0x7f, 0xfe, 0xd9, 0x34, 0xb3, 0x52, 0x70, 0x53, 0xd0, 0x02, 0xec, 0x48, - 0x6c, 0x72, 0xaa, 0x82, 0x2d, 0x95, 0x1d, 0xbc, 0x12, 0x50, 0xfc, 0xa8, 0x3a, 0x0a, 0x33, 0x78, - 0x49, 0x3e, 0x3d, 0x89, 0xc4, 0x07, 0x40, 0x09, 0x55, 0xfa, 0x9e, 0xdc, 0x23, 0x64, 0x2d, 0xb0, - 0x55, 0xd5, 0x32, 0x21, 0xe5, 0xe5, 0xf3, 0x17, 0x79, 0x83, 0x46, 0x37, 0x95, 0x94, 0x22, 0x44, - 0x2f, 0x81, 0x04, 0xb0, 0x6e, 0x64, 0x8c, 0x34, 0xac, 0x36, 0xb3, 0x5f, 0x15, 0x1f, 0x7e, 0x38, - 0xa2, 0xe3, 0xc9, 0x49, 0x4c, 0xaa, 0x9e, 0x76, 0x44, 0x2d, 0xb6, 0xe2, 0x67, 0x13, 0x47, 0xb1, - 0x1e, 0x6b, 0x7b, 0x9c, 0xf3, 0xc5, 0x7a, 0xb8, 0x7a, 0x30, 0xce, 0xaa, 0xf4, 0xc4, 0x04, 0xa3, - 0x5d, 0x23, 0x2f, 0x7e, 0x9f, 0x55, 0xb4, 0x1a, 0x26, 0x07, 0xa0, 0xb6, 0x41, 0x46, 0x32, 0x26, - 0x22, 0xc4, 0x2d, 0x2c, 0xb7, 0x04, 0x23, 0xcf, 0x1f, 0xc9, 0x7e, 0x9d, 0xf3, 0xc1, 0x7b, 0x09, - 0x25, 0x6f, 0xb6, 0x14, 0xc7, 0x30, 0xf1, 0x9f, 0x5b, 0xba, 0x23, 0xde, 0x76, 0x52, 0x20, 0x60, - 0x6c, 0x83, 0xde, 0x25, 0x48, 0xa3, 0x93, 0xc8, 0x16, 0x87, 0x6d, 0xb1, 0x66, 0xa1, 0x1b, 0x7e, - 0x2f, 0x67, 0x7f, 0xc7, 0x9c, 0xff, 0x92, 0x67, 0xd4, 0x06, 0xa0, 0x0b, 0x58, 0xae, 0xf1, 0x6c, - 0x3a, 0x8e, 0x17, 0xb9, 0x2d, 0x96, 0xa2, 0xe3, 0xaa, 0x95, 0xff, 0x5e, 0x62, 0x7f, 0xd3, 0x8d, - 0x51, 0x2e, 0x2f, 0x85, 0x3f, 0x83, 0x76, 0xde, 0x8f, 0x39, 0x12, 0x32, 0x01, 0x52, 0xc3, 0x43, - 0x11, 0xad, 0x9a, 0xe3, 0x99, 0x09, 0x22, 0xcb, 0xa4, 0x6a, 0x4a, 0xb8, 0x0c, 0xef, 0xa5, 0xe5, - 0xe2, 0xd9, 0x09, 0xab, 0xdb, 0x51, 0xad, 0x67, 0x42, 0xa4, 0x6c, 0x7c, 0xa6, 0xbf, 0xe0, 0x01, - 0xdf, 0x68, 0x02, 0xe8, 0xf8, 0x07, 0x31, 0xd4, 0x7e, 0x11, 0xe5, 0x1e, 0xae, 0x5b, 0x3e, 0x69, - 0xbf, 0x62, 0x72, 0x41, 0xd8, 0x01, 0xc9, 0xcd, 0x21, 0x1f, 0xbe, 0x3d, 0xa9, 0x03, 0x11, 0x16, - 0x1b, 0x3c, 0xf8, 0xe1, 0x25, 0xbe, 0x8b, 0xf8, 0xb9, 0xef, 0xd6, 0xdc, 0x22, 0x5b, 0x62, 0x2b, - 0x55, 0xb0, 0x30, 0x08, 0x4e, 0x1f, 0x3c, 0xb9, 0xaa, 0x2d, 0xcf, 0x65, 0x0b, 0x8e, 0x1b, 0x16, - 0x5a, 0x54, 0xb9, 0x23, 0xb7, 0xba, 0x63, 0x6c, 0xc0, 0x43, 0x52, 0x9e, 0x76, 0x6f, 0xbc, 0x64, - 0x2c, 0x1c, 0xea, 0x86, 0xb3, 0x39, 0x46, 0x0a, 0x11, 0x4c, 0x58, 0x2b, 0xe3, 0x2f, 0x3d, 0x01, - 0xba, 0x5b, 0xef, 0xc7, 0xdf, 0x5c, 0x1a, 0xfa, 0xb1, 0xca, 0x13, 0xe0, 0x58, 0x18, 0x04, 0x36, - 0x75, 0x68, 0xab, 0xe7, 0x83, 0xdf, 0x84, 0xbd, 0x54, 0xb2, 0x63, 0xc3, 0xfc, 0xb3, 0xf1, 0xea, - 0xd0, 0x58, 0xd3, 0x16, 0xbc, 0xc4, 0x17, 0x5c, 0xc1, 0x64, 0x03, 0xaf, 0x3d, 0xdb, 0x25, 0x1f, - 0xbf, 0x39, 0xc8, 0x54, 0x0a, 0x79, 0x52, 0x24, 0x6f, 0x62, 0x44, 0x44, 0xda, 0xd0, 0x1d, 0xc8, - 0x7a, 0x8d, 0x9f, 0xe3, 0x9a, 0x6f, 0x64, 0x90, 0x7c, 0xfb, 0x6d, 0x25, 0x04, 0xbd, 0x1f, 0xee, - 0x8d, 0x73, 0x0c, 0x19, 0xcc, 0xa2, 0x75, 0x51, 0x8b, 0x5d, 0x59, 0x5e, 0x8b, 0xcb, 0x45, 0xda, - 0x46, 0x81, 0x59, 0x71, 0x83, 0x93, 0xd8, 0x58, 0x40, 0xfe, 0x52, 0x1b, 0x7a, 0xf0, 0xc3, 0xf2, - 0xe8, 0x7b, 0x8c, 0xb9, 0x29, 0x2e, 0xef, 0x76, 0x73, 0x4d, 0x08, 0x37, 0xa2, 0x82, 0x73, 0xfa, - 0x56, 0x90, 0xc4, 0x87, 0x74, 0xb2, 0x3f, 0xf1, 0x6d, 0x4b, 0x49, 0xa7, 0x11, 0x14, 0xbb, 0x56, - 0x87, 0x6d, 0x5a, 0xeb, 0x0b, 0x5a, 0x0a, 0x68, 0x12, 0xd9, 0x49, 0xa4, 0xa9, 0x6a, 0x00, 0x9f, - 0x30, 0x15, 0x99, 0x12, 0x0e, 0x55, 0x50, 0xc7, 0xdd, 0x3f, 0xeb, 0x0d, 0x9f, 0xfc, 0x12, 0xe8, - 0xab, 0xe1, 0x08, 0xe6, 0xf2, 0x8d, 0x6d, 0x32, 0x99, 0x22, 0xfe, 0x33, 0xb0, 0x04, 0x18, 0x33, - 0xa2, 0xdc, 0x39, 0xd6, 0xf8, 0x18, 0xc4, 0x6b, 0x3b, 0x1d, 0xd1, 0x10, 0x55, 0xb1, 0x25, 0xca, - 0x05, 0x07, 0x2e, 0x5f, 0x6e, 0x6f, 0xf5, 0x70, 0x1b, 0xf0, 0x4e, 0xc3, 0x9f, 0x61, 0x45, 0x0a, - 0xe7, 0x16, 0xe9, 0xf7, 0xc5, 0x5b, 0x8c, 0xd6, 0xc5, 0xc9, 0xb6, 0x54, 0x6b, 0x9c, 0xc5, 0x9e, - 0x45, 0x2b, 0x2a, 0x36, 0x06, 0x80, 0xaa, 0x0d, 0x6e, 0xa4, 0x98, 0x33, 0xd2, 0x6f, 0x37, 0xc5, - 0x69, 0x74, 0xec, 0xb4, 0xa1, 0xd1, 0xd6, 0xb5, 0x16, 0xa7, 0x96, 0xab, 0x8c, 0xf6, 0xd0, 0x36, - 0xb8, 0x1c, 0xb4, 0xbb, 0xaa, 0x71, 0x30, 0xcc, 0x98, 0xb1, 0x12, 0x64, 0xbe, 0x95, 0xf8, 0x20, - 0x3e, 0xd7, 0xb9, 0x0a, 0x92, 0x1e, 0x76, 0x03, 0xf5, 0xa6, 0x20, 0x4b, 0x96, 0x68, 0x23, 0x76, - 0xf7, 0xdb, 0xb6, 0x21, 0xe4, 0x32, 0x5a, 0xeb, 0xc0, 0xff, 0xaa, 0xdd, 0x34, 0xe5, 0x42, 0x0b, - 0x79, 0x8a, 0xdb, 0x23, 0x70, 0x4a, 0x15, 0xf2, 0xe0, 0xd5, 0x32, 0x81, 0x1b, 0x12, 0x12, 0x33, - 0xdf, 0x25, 0x05, 0x1a, 0xba, 0x52, 0xc8, 0x22, 0xa9, 0xe3, 0x90, 0xed, 0x59, 0x26, 0x6b, 0x51, - 0x61, 0x42, 0xe0, 0xc6, 0xad, 0xb8, 0x79, 0x3c, 0xeb, 0x75, 0xb0, 0x56, 0x4a, 0x2e, 0x43, 0x68, - 0xfa, 0xe2, 0x31, 0xb4, 0xab, 0x55, 0xaa, 0x79, 0x9a, 0x47, 0x89, 0x06, 0x2f, 0xb2, 0x81, 0xae, - 0x5b, 0xb5, 0xee, 0x68, 0xe2, 0xd1, 0xbc, 0x9b, 0xee, 0xed, 0xe5, 0x37, 0xff, 0x63, 0xc8, 0x51, - 0x1f, 0x1e, 0xfd, 0xc3, 0x43, 0x5d, 0x8d, 0x3d, 0xdf, 0x2f, 0x66, 0xda, 0x5d, 0x77, 0x7b, 0xc2, - 0x72, 0xea, 0xa5, 0x74, 0xb7, 0x06, 0xf2, 0xbb, 0xb7, 0x6c, 0x0b, 0x65, 0x33, 0x08, 0x07, 0x85, - 0x37, 0x4d, 0xe8, 0x79, 0x06, 0xde, 0x6e, 0x48, 0xbb, 0x48, 0x5f, 0x68, 0x14, 0x97, 0x16, 0xac, - 0x82, 0x33, 0xc0, 0x07, 0x49, 0x7f, 0xe5, 0x99, 0x85, 0x39, 0xe1, 0x43, 0x2f, 0x4d, 0x91, 0xae, - 0xd9, 0xcd, 0x51, 0x50, 0xd2, 0x0e, 0x7d, 0x08, 0x1b, 0xd3, 0x92, 0xe9, 0x60, 0xdb, 0x9f, 0x79, - 0xf1, 0xff, 0xe3, 0x05, 0xd7, 0x6d, 0x91, 0xee, 0x02, 0xd3, 0xeb, 0xd3, 0x95, 0xe5, 0x4f, 0xed, - 0x78, 0x53, 0x72, 0x1b, 0x59, 0xba, 0xd2, 0x0e, 0x25, 0x58, 0x4a, 0x63, 0x47, 0x5a, 0x9a, 0xda, - 0x42, 0x97, 0xe2, 0x5f, 0x3f, 0xf7, 0x9c, 0xb7, 0xc3, 0x6f, 0x2f, 0xad, 0x5a, 0x1d, 0xa6, 0xfe, - 0x1c, 0x8f, 0x6a, 0x4d, 0xe7, 0x22, 0x91, 0xfa, 0xa4, 0x99, 0x4e, 0x75, 0xb3, 0x98, 0x50, 0xc5, - 0x30, 0x0f, 0xeb, 0x51, 0x8f, 0xb3, 0xbf, 0x66, 0x22, 0x77, 0x83, 0x0b, 0x21, 0xe1, 0x92, 0xbf, - 0xd2, 0xa4, 0x73, 0x9f, 0x78, 0xf0, 0xef, 0x83, 0x41, 0x3a, 0xe4, 0xfc, 0x75, 0xc5, 0x1a, 0x06, - 0xce, 0x5a, 0x40, 0xe9, 0x92, 0x28, 0x1a, 0x75, 0xbc, 0x26, 0x2f, 0x9f, 0xf9, 0x0e, 0xbe, 0x7f, - 0x15, 0xc7, 0xc7, 0xa4, 0xa6, 0x4b, 0x0b, 0x74, 0x07, 0x27, 0x26, 0x66, 0x0e, 0xc5, 0xd0, 0x4a, - 0xb6, 0x69, 0x70, 0x21, 0x80, 0xdb, 0xa6, 0x18, 0x23, 0x01, 0xd9, 0x95, 0x13, 0x3a, 0xa8, 0xb3, - 0xc4, 0x89, 0x41, 0xe5, 0x6a, 0x5d, 0x82, 0x70, 0x13, 0xb1, 0x2d, 0xe1, 0xa8, 0x38, 0xec, 0xa9, - 0xcc, 0x94, 0xad, 0xcc, 0x03, 0xd9, 0x81, 0x99, 0xe3, 0xd7, 0xd7, 0x8d, 0xdf, 0x28, 0x6a, 0xc9, - 0x94, 0xd3, 0x6a, 0xa9, 0xe3, 0xc1, 0x2d, 0x6d, 0x94, 0xe7, 0x14, 0x70, 0xbf, 0xad, 0xc4, 0xc3, - 0x9c, 0xfa, 0x5d, 0x6b, 0x70, 0xb9, 0xc2, 0x38, 0xea, 0xb2, 0xb2, 0xa7, 0x0e, 0x52, 0xb2, 0x32, - 0xc7, 0x53, 0xda, 0x7a, 0x4a, 0x08, 0x29, 0xc0, 0x71, 0x5e, 0x99, 0x74, 0xca, 0xed, 0x95, 0xc2, - 0xc2, 0x02, 0x15, 0x05, 0x60, 0x6c, 0x2f, 0x40, 0xa5, 0x16, 0xac, 0xd5, 0x20, 0x83, 0x81, 0x2e, - 0x24, 0x7d, 0xea, 0xc8, 0x06, 0x13, 0x06, 0xee, 0x06, 0xf1, 0x07, 0x46, 0x01, 0xd9, 0xba, 0xdf, - 0xe8, 0xf7, 0xe5, 0xa3, 0xbf, 0x8f, 0xf7, 0x5c, 0xd0, 0x0d, 0x39, 0x24, 0x65, 0xf7, 0xb0, 0x44, - 0x76, 0xfa, 0x7b, 0xd4, 0x61, 0x96, 0x19, 0x9d, 0x11, 0xf8, 0xe2, 0xd3, 0x79, 0x2c, 0xc1, 0x7a, - 0xf0, 0xa3, 0x56, 0x29, 0xdd, 0x37, 0xf1, 0x89, 0x73, 0x06, 0xe1, 0x4d, 0xbd, 0xa1, 0xe4, 0xda, - 0xc0, 0xf1, 0x49, 0x54, 0xac, 0x7a, 0x65, 0x5f, 0x3a, 0xe7, 0xf3, 0xc0, 0xae, 0xc3, 0x10, 0xfc, - 0x0d, 0xde, 0xac, 0x55, 0xac, 0xf7, 0xa8, 0x29, 0x54, 0xb5, 0xf8, 0x7a, 0x46, 0xff, 0xb1, 0x0e, - 0x2e, 0xde, 0x2f, 0x3e, 0xa5, 0xdf, 0x85, 0x9d, 0x45, 0x73, 0xaf, 0x97, 0xfd, 0x3d, 0x0e, 0xf9, - 0x84, 0x05, 0x5c, 0x5f, 0x3d, 0x14, 0x6b, 0x93, 0xe5, 0x89, 0x71, 0x22, 0x7d, 0x3c, 0xa6, 0x47, - 0xe7, 0x71, 0xdc, 0xf3, 0x22, 0x16, 0xb4, 0x7b, 0xaa, 0xbe, 0x4b, 0x12, 0x92, 0xfe, 0x08, 0x7a, - 0x3e, 0x5b, 0x5d, 0x86, 0x73, 0x36, 0x29, 0xc5, 0xb8, 0xdf, 0xd5, 0x74, 0x1a, 0x3a, 0xac, 0x8d, - 0x2f, 0x58, 0x96, 0x1b, 0xd0, 0x08, 0x8c, 0x51, 0x35, 0xfb, 0x8b, 0x42, 0xa0, 0xa1, 0x62, 0x46, - 0x08, 0x5d, 0x2a, 0x27, 0x6f, 0xf5, 0x80, 0xa7, 0xd6, 0x8e, 0x07, 0xbb, 0xae, 0x85, 0xeb, 0x8c, - 0x4d, 0x6b, 0xd9, 0x4e, 0x88, 0xbe, 0x0d, 0xe6, 0xab, 0xbe, 0x05, 0xa5, 0xda, 0xd1, 0xa9, 0x39, - 0x29, 0xe8, 0x9a, 0x34, 0xe9, 0x7a, 0xd0, 0xd2, 0x4b, 0x8a, 0xb6, 0x02, 0x84, 0xea, 0x53, 0x57, - 0x5d, 0xa9, 0x0d, 0xa5, 0x37, 0x0b, 0xd9, 0xf4, 0x2b, 0xc4, 0xc4, 0xf1, 0xd7, 0xfe, 0x3b, 0xe7, - 0x38, 0xde, 0x4e, 0xa9, 0x50, 0x0a, 0x7d, 0xc4, 0xf9, 0x4f, 0x3b, 0x9f, 0x5f, 0x38, 0x86, 0x00, - 0xca, 0x84, 0x5a, 0x82, 0xa7, 0x11, 0x90, 0x94, 0xcf, 0xfc, 0x1f, 0xf6, 0x38, 0x11, 0xac, 0x5b, - 0xc2, 0x66, 0x9f, 0x00, 0x9d, 0x23, 0x49, 0x00, 0x76, 0xf4, 0xc5, 0xe6, 0x44, 0xbb, 0x4e, 0x4d, - 0xed, 0x66, 0x48, 0x9e, 0x5a, 0x80, 0x2e, 0xfa, 0xa1, 0xbd, 0x5b, 0xb3, 0xef, 0x42, 0x57, 0x3f, - 0x3b, 0x87, 0x20, 0xbb, 0x1b, 0x51, 0x25, 0x22, 0x2c, 0x7b, 0xdb, 0x6a, 0xeb, 0x1b, 0x52, 0x4d, - 0x4d, 0xa0, 0x19, 0x34, 0x65, 0xff, 0x4c, 0x1a, 0x2a, 0x6e, 0xb4, 0x55, 0x48, 0xae, 0xae, 0xde, - 0x21, 0x47, 0x23, 0xac, 0x7b, 0x8a, 0x02, 0xfb, 0xef, 0xb6, 0x76, 0xe2, 0xcb, 0x89, 0x28, 0xaf, - 0x79, 0x16, 0x00, 0x45, 0xdd, 0x88, 0x91, 0x00, 0x7f, 0x3d, 0x1e, 0xcc, 0x49, 0xf6, 0x6f, 0xc3, - 0x2e, 0x26, 0xfc, 0xb4, 0x36, 0xd4, 0xd0, 0x23, 0x67, 0xbf, 0x1a, 0xd2, 0x3f, 0xd1, 0x01, 0x7f, - 0x5b, 0x1b, 0xeb, 0x05, 0xa5, 0x6f, 0x3d, 0x5a, 0xbf, 0x73, 0x5a, 0xbe, 0x33, 0xee, 0xd3, 0xe2, - 0x28, 0x7a, 0xe8, 0xfe, 0xfd, 0xf0, 0x1b, 0x44, 0x9e, 0x4b, 0x5a, 0x07, 0xd4, 0xc7, 0x5b, 0x4b, - 0xb2, 0x87, 0xa5, 0xfb, 0xd2, 0xc1, 0x55, 0x43, 0xf2, 0x13, 0x7b, 0x6c, 0x3d, 0x7d, 0x80, 0x65, - 0x66, 0x87, 0x18, 0x5c, 0xbd, 0x8b, 0xee, 0x4f, 0xc9, 0xee, 0xfa, 0x5c, 0x5d, 0xf5, 0x90, 0xe7, - 0x34, 0x8d, 0xeb, 0xf8, 0x5c, 0xe2, 0xa3, 0xe5, 0x60, 0xa3, 0x53, 0x27, 0x25, 0x2c, 0xf9, 0x14, - 0x03, 0x9f, 0x5e, 0x57, 0x43, 0xb9, 0x44, 0x88, 0x63, 0x9c, 0x1d, 0xb5, 0x12, 0xa6, 0x61, 0x3c, - 0x0d, 0xc1, 0x59, 0x9d, 0x76, 0x50, 0x7f, 0xcb, 0x8e, 0x1f, 0xbf, 0xee, 0xbf, 0x57, 0x5e, 0x8e, - 0xe7, 0xe7, 0x27, 0x73, 0xe4, 0x53, 0xac, 0x0c, 0xf2, 0x95, 0x0e, 0xf1, 0x50, 0x91, 0x82, 0xd6, - 0x52, 0xcc, 0x59, 0xcb, 0xc3, 0xd3, 0x04, 0x71, 0x9e, 0xc9, 0x50, 0xa2, 0x43, 0x60, 0xf4, 0x65, - 0x22, 0x97, 0x45, 0xc8, 0x49, 0xba, 0x51, 0x82, 0x73, 0x96, 0x4a, 0x0c, 0xe2, 0x36, 0xdf, 0x27, - 0xd6, 0x7d, 0xdd, 0x3b, 0xa3, 0xc1, 0xe3, 0x4e, 0x24, 0x01, 0xfa, 0x12, 0x69, 0xb1, 0xfb, 0x23, - 0xe3, 0x61, 0x8b, 0xf8, 0x0f, 0x43, 0x46, 0xa4, 0xe9, 0xd0, 0xa9, 0x0e, 0x74, 0x0b, 0x35, 0xbe, - 0x78, 0xec, 0xa8, 0x84, 0x26, 0x62, 0x69, 0x07, 0x14, 0xd2, 0x11, 0x16, 0x3d, 0x56, 0xc8, 0x77, - 0xfd, 0xb2, 0xac, 0xc8, 0x70, 0x36, 0xe4, 0x4e, 0x7e, 0x44, 0x17, 0x79, 0xe8, 0x3e, 0xdb, 0x2d, - 0xfb, 0x5f, 0x02, 0x06, 0x16, 0xb5, 0x2c, 0xa9, 0xac, 0x70, 0x63, 0x85, 0x36, 0x87, 0x7f, 0xc8, - 0x51, 0xb5, 0x01, 0xea, 0x3d, 0x6c, 0xc8, 0xc3, 0x13, 0x19, 0xa7, 0x70, 0xae, 0xf7, 0xcb, 0x4c, - 0x3f, 0xd4, 0x29, 0x27, 0xae, 0x64, 0x61, 0x58, 0x5f, 0xcc, 0x33, 0x7d, 0xbe, 0x94, 0x77, 0xd0, - 0x64, 0xa9, 0xb5, 0x38, 0x80, 0xc0, 0xf1, 0xfa, 0xc3, 0x34, 0x2a, 0xbb, 0xe1, 0x93, 0x2a, 0xab, - 0x1e, 0x75, 0xf6, 0x4c, 0xdd, 0x68, 0xcc, 0x38, 0x86, 0x7c, 0x47, 0x0c, 0x70, 0xb5, 0xfb, 0x64, - 0x6f, 0xba, 0xbc, 0xd2, 0x8b, 0xdc, 0xd1, 0xec, 0x99, 0xee, 0x6f, 0x42, 0xd9, 0x13, 0xed, 0x7a, - 0xb5, 0xc0, 0x37, 0x02, 0xa5, 0x88, 0x11, 0xb7, 0xc6, 0x3a, 0xa2, 0x17, 0x63, 0x29, 0x51, 0xbb, - 0xc9, 0x65, 0x54, 0x27, 0xe2, 0x4c, 0x44, 0x51, 0xab, 0xa2, 0x7b, 0x25, 0x11, 0x1b, 0x40, 0x4a, - 0x13, 0xaa, 0x14, 0xb7, 0xcf, 0xc9, 0xc5, 0xfa, 0x0c, 0x30, 0x92, 0xd4, 0x6c, 0xd6, 0xcf, 0xb5, - 0xa9, 0xa5, 0x90, 0x6c, 0x74, 0xd2, 0x5d, 0x70, 0x9d, 0x34, 0x78, 0x04, 0xb3, 0x4b, 0xb1, 0x54, - 0xaf, 0xb1, 0x5e, 0xd1, 0x29, 0xcf, 0x41, 0x89, 0x28, 0x61, 0x31, 0xe9, 0xbe, 0x4c, 0xc5, 0x27, - 0x8f, 0xa0, 0x80, 0x0d, 0xd3, 0xbe, 0xcb, 0x49, 0xfc, 0xca, 0xb9, 0x11, 0x21, 0xef, 0x2e, 0xb0, - 0xb9, 0xb7, 0xb8, 0x93, 0x67, 0xfd, 0xde, 0x40, 0x85, 0x60, 0x0c, 0x14, 0x18, 0xaf, 0x20, 0x1d, - 0x47, 0xfe, 0xee, 0x86, 0xbc, 0xe6, 0x9e, 0x5d, 0x43, 0x9f, 0xe5, 0x96, 0x4c, 0x03, 0xfe, 0x6c, - 0x8e, 0xfb, 0x40, 0x54, 0x27, 0x2e, 0x8f, 0xb1, 0x46, 0xe2, 0xe4, 0x49, 0x3c, 0x36, 0x5c, 0xb4, - 0x41, 0xbe, 0x44, 0x78, 0x71, 0xe3, 0xf9, 0xed, 0x25, 0x28, 0x6e, 0xb5, 0xbb, 0x66, 0xf9, 0xbf, - 0xbd, 0x7f, 0x35, 0xf3, 0xc2, 0x67, 0xc6, 0x32, 0x55, 0x6e, 0x1b, 0xfb, 0x16, 0x6d, 0x19, 0xe7, - 0x53, 0x69, 0xc5, 0xeb, 0xa3, 0xf3, 0x1c, 0x70, 0x84, 0x11, 0x06, 0x28, 0x24, 0x40, 0x68, 0xc1, - 0x03, 0x81, 0x49, 0x5b, 0x2b, 0x48, 0xfe, 0x0e, 0x9e, 0xe9, 0x17, 0x3b, 0x1a, 0x6f, 0x19, 0x53, - 0x02, 0x0c, 0xc5, 0x7d, 0x81, 0xd1, 0xd7, 0xec, 0x17, 0x48, 0xa3, 0x71, 0xef, 0x9f, 0x8c, 0x4d, - 0xe0, 0x33, 0xba, 0x83, 0xcc, 0xd0, 0x5e, 0xa5, 0xec, 0x2a, 0x32, 0x30, 0x68, 0x1a, 0x5c, 0xb0, - 0x6e, 0x22, 0x76, 0x45, 0x6a, 0x01, 0x41, 0x9f, 0x39, 0xb1, 0x2b, 0x59, 0xf7, 0xc9, 0x17, 0xa5, - 0xc0, 0x4b, 0x1d, 0x19, 0x9e, 0x0c, 0x61, 0x7d, 0x4a, 0x77, 0x46, 0x97, 0x55, 0xf5, 0x5d, 0x32, - 0xc6, 0xd4, 0x4e, 0xd5, 0xd5, 0x37, 0x88, 0xa8, 0xec, 0xd3, 0x31, 0x91, 0xd1, 0x57, 0x18, 0xa9, - 0x23, 0xc9, 0x34, 0x28, 0x7c, 0xd1, 0x3d, 0xf2, 0x31, 0x0e, 0xff, 0x0a, 0x54, 0x30, 0x54, 0x2b, - 0x14, 0x17, 0xbf, 0x6b, 0x20, 0x67, 0xe9, 0xc3, 0x39, 0x5f, 0x13, 0xcc, 0x54, 0xa5, 0x4c, 0xa2, - 0xbc, 0xe4, 0x49, 0xa4, 0x0d, 0x46, 0xae, 0xde, 0x56, 0x16, 0x7e, 0x99, 0xba, 0xbc, 0xf6, 0x80, - 0xda, 0x0c, 0x5a, 0x8b, 0x7e, 0x0d, 0x93, 0x2c, 0xf0, 0x26, 0x29, 0x08, 0xbf, 0x3b, 0xe1, 0xed, - 0x39, 0x63, 0x9d, 0xc1, 0x6a, 0x36, 0x44, 0x2f, 0x3e, 0x2f, 0x39, 0x11, 0x83, 0x33, 0xae, 0x56, - 0x8d, 0xe4, 0x6b, 0xfe, 0xb3, 0x03, 0xd6, 0x4b, 0xc5, 0xcd, 0xac, 0x5f, 0xf4, 0x1c, 0x60, 0xba, - 0xdc, 0x84, 0x81, 0x9a, 0x6f, 0xa8, 0x08, 0xe8, 0x1f, 0xed, 0x8d, 0xbf, 0x62, 0xaf, 0x41, 0x1c, - 0xdd, 0x5a, 0x0a, 0xcd, 0x14, 0x95, 0x15, 0xd4, 0x74, 0x47, 0x87, 0xd1, 0x12, 0x88, 0x34, 0x20, - 0xbe, 0x12, 0x4b, 0xf9, 0x40, 0xd6, 0xfd, 0xe9, 0x6b, 0x98, 0x17, 0x80, 0xc5, 0xc6, 0x98, 0x23, - 0x40, 0xe6, 0x1d, 0x02, 0xc3, 0x9f, 0xfc, 0x8e, 0x11, 0xaa, 0xa3, 0x51, 0x4c, 0xdc, 0x3c, 0x1a, - 0x22, 0xfc, 0xd8, 0xb3, 0x2a, 0xab, 0x33, 0x5c, 0x49, 0xaf, 0x16, 0xc9, 0x46, 0x9c, 0x19, 0x9b, - 0xfe, 0x3a, 0x5c, 0xb1, 0x97, 0x89, 0x42, 0x82, 0x2b, 0x70, 0x4a, 0x4e, 0x20, 0x92, 0x05, 0x55, - 0xe1, 0x7e, 0xc0, 0xf7, 0x7b, 0x0b, 0x44, 0x6e, 0x4e, 0xcd, 0x40, 0xbc, 0x70, 0x42, 0xda, 0xfb, - 0xf1, 0x56, 0x2f, 0x15, 0xdc, 0xff, 0x04, 0xdf, 0x3c, 0xa5, 0x68, 0xee, 0x52, 0xe1, 0xd0, 0x31, - 0x24, 0xfe, 0x30, 0x59, 0x95, 0x4c, 0x51, 0x3a, 0xf3, 0xa3, 0x75, 0x0a, 0x41, 0xea, 0xcf, 0xf4, - 0x04, 0x3a, 0x96, 0x17, 0x86, 0x8b, 0x7f, 0x28, 0xdc, 0x1d, 0xce, 0x07, 0xf2, 0x34, 0xb1, 0x45, - 0xd4, 0xbb, 0xf1, 0xcb, 0xdf, 0x97, 0xc0, 0xdd, 0x20, 0xf9, 0x6e, 0xcf, 0x1e, 0xaa, 0xc9, 0xde, - 0xe7, 0x11, 0x68, 0x30, 0xc6, 0x35, 0x45, 0xdb, 0xe4, 0x93, 0x00, 0x16, 0x18, 0x6b, 0x1c, 0xb7, - 0x62, 0x65, 0xc6, 0x36, 0x0e, 0xed, 0x44, 0x64, 0xaa, 0x3e, 0x09, 0xdb, 0xfa, 0x19, 0xea, 0x65, - 0x2b, 0x68, 0x09, 0xc8, 0x79, 0x4c, 0x9b, 0xfa, 0xd2, 0x1d, 0x1f, 0x50, 0x89, 0x4a, 0x7f, 0xbf, - 0x4b, 0x75, 0xf5, 0xbd, 0x99, 0x23, 0x50, 0x07, 0x54, 0x62, 0x29, 0xb1, 0xb8, 0x5f, 0xb6, 0xaa, - 0xed, 0x0c, 0x9d, 0x52, 0x72, 0x13, 0x2e, 0xd8, 0xd6, 0xe6, 0x8f, 0x56, 0xda, 0x5d, 0xb9, 0x2c, - 0x0d, 0x88, 0xfd, 0x65, 0xd3, 0xf1, 0x72, 0x2d, 0xc8, 0x36, 0xd7, 0xc7, 0xf9, 0xd7, 0x3e, 0xeb, - 0xa5, 0x64, 0x5d, 0x57, 0x5c, 0x01, 0xfa, 0x01, 0x09, 0x97, 0xdc, 0x7b, 0x5b, 0x23, 0xde, 0x47, - 0x01, 0xdd, 0x2b, 0xc7, 0x46, 0x0a, 0x57, 0x27, 0xe2, 0xe9, 0xb5, 0x1c, 0x0d, 0xc3, 0x8e, 0x7c, - 0xe6, 0x38, 0x2e, 0x98, 0x15, 0xe9, 0x39, 0x65, 0xb2, 0x24, 0x3c, 0xba, 0x58, 0xc4, 0x01, 0xd0, - 0x5d, 0x8b, 0xc4, 0x09, 0x53, 0xce, 0x45, 0x1e, 0x0b, 0x23, 0x27, 0xdc, 0xb6, 0xe6, 0xca, 0xf1, - 0x1f, 0x26, 0x6e, 0x58, 0xc2, 0x42, 0x4c, 0x39, 0x63, 0x3d, 0xae, 0xdb, 0x0b, 0x16, 0x5f, 0x56, - 0x78, 0x08, 0x44, 0xca, 0x7f, 0x18, 0x27, 0x04, 0x82, 0x07, 0x67, 0xf9, 0xd1, 0x6a, 0x0f, 0x01, - 0x7b, 0xd4, 0x85, 0x1f, 0xef, 0xfa, 0x0f, 0x6d, 0xf8, 0xeb, 0x65, 0xee, 0x63, 0x75, 0x0a, 0x39, - 0xc9, 0x9d, 0x34, 0x10, 0x5d, 0x69, 0x8a, 0x8a, 0x9b, 0x81, 0x51, 0x81, 0x0a, 0xac, 0x24, 0xf5, - 0x81, 0xe4, 0xc4, 0x3e, 0xeb, 0x9c, 0xd8, 0xec, 0xb3, 0xec, 0xa0, 0xf9, 0x73, 0x10, 0xee, 0x09, - 0x86, 0x24, 0x19, 0x38, 0x59, 0x28, 0x62, 0xa4, 0xf6, 0x8e, 0x7d, 0xc7, 0xa1, 0x64, 0xdb, 0xa6, - 0x05, 0x76, 0x85, 0x62, 0x21, 0x1f, 0x4a, 0xfc, 0xc9, 0xb8, 0xdc, 0x7f, 0x64, 0x61, 0x3e, 0x19, - 0x2b, 0x7b, 0x51, 0xfb, 0x0e, 0xf3, 0x79, 0x3d, 0x45, 0x2e, 0x48, 0x54, 0x98, 0xf9, 0x4d, 0x5a, - 0xd1, 0xbc, 0x25, 0x6a, 0x3c, 0x35, 0xb7, 0x39, 0xff, 0x68, 0x85, 0xb5, 0x37, 0xa3, 0xe6, 0x06, - 0xb6, 0x8d, 0x1c, 0x60, 0x05, 0x8d, 0xfe, 0x4b, 0xbc, 0xaa, 0x9e, 0xc7, 0x69, 0x70, 0x85, 0x02, - 0x02, 0x5f, 0x3a, 0x6f, 0x23, 0x8b, 0x84, 0x9b, 0xda, 0x19, 0xe4, 0xa4, 0x37, 0xf8, 0xe0, 0x65, - 0xb6, 0x66, 0xb4, 0x12, 0xef, 0x8b, 0x72, 0xa8, 0xfa, 0x92, 0x5e, 0xc3, 0xc4, 0xf0, 0xbb, 0xf5, - 0x89, 0x66, 0xaa, 0x9f, 0x9c, 0x7c, 0x07, 0x64, 0xc8, 0xe4, 0x88, 0xd0, 0x93, 0x4b, 0x5a, 0xd2, - 0xf0, 0xbf, 0xd1, 0x64, 0x0e, 0xfe, 0x39, 0x37, 0xfb, 0xe2, 0x4a, 0xd3, 0xc3, 0x7d, 0x8d, 0xb0, - 0x9a, 0x2a, 0x34, 0xc3, 0x49, 0xed, 0x4e, 0x4b, 0x20, 0x67, 0x60, 0xfc, 0xd3, 0xef, 0x86, 0x43, - 0x30, 0x5b, 0xca, 0x23, 0x4d, 0xdf, 0xfa, 0x8a, 0x5c, 0x70, 0xa1, 0xb0, 0x50, 0x29, 0x7e, 0x7e, - 0x91, 0xea, 0xc4, 0xba, 0x8b, 0x0d, 0x63, 0x49, 0xc8, 0x94, 0x7e, 0x2f, 0xd6, 0x4a, 0xfa, 0x7f, - 0x2a, 0x7e, 0x41, 0xe8, 0xf4, 0xdd, 0x9a, 0x97, 0x82, 0xd7, 0xcc, 0xdf, 0x83, 0xaa, 0x41, 0x88, - 0xff, 0x60, 0x50, 0xa7, 0x8d, 0x5c, 0xf1, 0x2d, 0x54, 0x59, 0x4a, 0xfd, 0x7a, 0x63, 0x12, 0x2f, - 0x5b, 0xa7, 0xe1, 0xa1, 0x0f, 0xe3, 0xb1, 0xc5, 0xd9, 0x9b, 0x96, 0x6d, 0xec, 0x1c, 0xbf, 0x84, - 0xfe, 0x37, 0xf3, 0x9c, 0xd4, 0x64, 0x3f, 0x6e, 0x2d, 0x60, 0xdc, 0xd7, 0xa0, 0x1c, 0xeb, 0x77, - 0xf3, 0xf0, 0x6c, 0x1a, 0xe1, 0xe7, 0x1f, 0xd2, 0x6e, 0xee, 0x4e, 0x6d, 0x6b, 0x6b, 0x33, 0x48, - 0xfb, 0x70, 0x4a, 0xc5, 0xa9, 0xce, 0x00, 0x66, 0x49, 0x66, 0xeb, 0xa0, 0x20, 0x14, 0x7e, 0xc3, - 0x0c, 0x0e, 0x47, 0xb0, 0x29, 0xea, 0x62, 0xed, 0x38, 0x9d, 0x7e, 0x2b, 0x74, 0x0a, 0xc4, 0x51, - 0x09, 0xc7, 0xc6, 0x30, 0x3f, 0x69, 0xb6, 0xdc, 0x31, 0x94, 0x93, 0x1e, 0xeb, 0x22, 0x28, 0x22, - 0x7b, 0x7a, 0xed, 0xcf, 0x2d, 0xcd, 0x3c, 0xa6, 0xef, 0x94, 0xc7, 0xcb, 0x73, 0x98, 0x8d, 0xb6, - 0x7b, 0x0a, 0x03, 0x39, 0xa9, 0x7b, 0xa7, 0xc8, 0xf8, 0xaa, 0xa1, 0xd8, 0xbc, 0x86, 0x89, 0xcb, - 0x27, 0xbb, 0x29, 0xba, 0x2b, 0xb6, 0x51, 0xb8, 0xc4, 0x69, 0x4c, 0x7f, 0x5f, 0xda, 0x4a, 0x94, - 0x6c, 0x96, 0x31, 0x10, 0x88, 0x98, 0x5e, 0x8f, 0x99, 0x68, 0x81, 0xdb, 0xae, 0xf5, 0x2a, 0x04, - 0xfa, 0xad, 0x46, 0xd1, 0x3a, 0xfc, 0x30, 0x0e, 0x33, 0xa1, 0xc7, 0xe3, 0x65, 0xbd, 0x04, 0x4e, - 0x2c, 0x15, 0x10, 0xa2, 0xb9, 0x1e, 0x59, 0x88, 0xe2, 0xd4, 0x38, 0xd0, 0x92, 0x9b, 0x0c, 0x26, - 0x07, 0x37, 0x90, 0x21, 0x62, 0x0a, 0x73, 0x9d, 0xe8, 0xa3, 0xe5, 0x4e, 0xbb, 0x01, 0xc5, 0x86, - 0x80, 0x50, 0xf4, 0x4d, 0x63, 0xf3, 0x53, 0xca, 0xf4, 0x6e, 0x64, 0x92, 0xf0, 0xac, 0x39, 0x48, - 0x8c, 0x1f, 0xe2, 0x8a, 0xc3, 0xdd, 0x9d, 0x6a, 0xa6, 0x9f, 0x7a, 0x79, 0xd7, 0x1f, 0x31, 0xb4, - 0x23, 0xa0, 0xf2, 0x64, 0xca, 0x77, 0xcb, 0x8e, 0xf9, 0x33, 0x64, 0x2a, 0xff, 0x1c, 0x15, 0x4f, - 0x01, 0x3d, 0xd4, 0xfc, 0x73, 0x79, 0x11, 0xed, 0x3d, 0x63, 0xa7, 0x4f, 0x0e, 0x32, 0xef, 0xf9, - 0x3e, 0x93, 0x4c, 0x1a, 0xfd, 0x5f, 0xf4, 0xa1, 0x9d, 0xee, 0x2f, 0x42, 0x13, 0xd4, 0x3e, 0xa7, - 0xf1, 0x17, 0x53, 0x81, 0xa3, 0x9e, 0x71, 0x70, 0xa8, 0xc5, 0x47, 0x08, 0x81, 0xf7, 0x75, 0x94, - 0x93, 0x59, 0xd8, 0xd9, 0x16, 0x68, 0xf5, 0x8d, 0x99, 0x16, 0xc5, 0x1c, 0x82, 0xb0, 0x5e, 0x4e, - 0x93, 0xd6, 0xd9, 0x95, 0x99, 0x88, 0xfd, 0x50, 0x52, 0x97, 0x8a, 0x88, 0xe8, 0x89, 0xb6, 0x15, - 0xf0, 0xee, 0x8e, 0x23, 0xb0, 0xd3, 0x94, 0x78, 0x73, 0xc3, 0xb1, 0xe4, 0xf2, 0xa7, 0xf0, 0x38, - 0x55, 0x42, 0x3f, 0xff, 0xef, 0x2b, 0x98, 0x5d, 0xb1, 0x59, 0x3c, 0x9d, 0xa6, 0xe8, 0x12, 0xac, - 0x71, 0xb0, 0x2a, 0x09, 0x81, 0xe6, 0xfe, 0x85, 0xfd, 0x3c, 0x3f, 0xbe, 0xac, 0x32, 0xc5, 0x3c, - 0x37, 0xf3, 0x15, 0x57, 0xf2, 0x05, 0x56, 0x11, 0xd9, 0xd2, 0xf5, 0xb6, 0xfd, 0x29, 0x88, 0xfb, - 0x66, 0x6d, 0x2f, 0x88, 0xc8, 0xe5, 0x84, 0x57, 0x7c, 0xf8, 0xd7, 0x4b, 0x1a, 0xb7, 0x3f, 0xa5, - 0xca, 0x53, 0xc2, 0x1b, 0x77, 0x19, 0x90, 0x98, 0xd0, 0x52, 0x84, 0x33, 0xd1, 0xbb, 0x5f, 0x92, - 0xf8, 0xb8, 0xab, 0xf7, 0xac, 0x33, 0xc1, 0x98, 0xfc, 0x2f, 0x74, 0x71, 0xd8, 0xfa, 0x75, 0xe1, - 0xc8, 0x01, 0xbb, 0xed, 0x77, 0x0d, 0xa9, 0xce, 0x57, 0xd8, 0x20, 0x93, 0x8a, 0xfe, 0x1d, 0x0d, - 0x57, 0xc2, 0xaa, 0x83, 0xb8, 0x3b, 0xd1, 0x1e, 0x5f, 0x51, 0x91, 0x3d, 0x79, 0x6f, 0x6a, 0x01, - 0x9a, 0x7f, 0x7e, 0x2a, 0x9d, 0xe1, 0xb8, 0xb5, 0xd4, 0xb7, 0x53, 0x27, 0x1b, 0x35, 0xbc, 0x10, - 0xc7, 0x76, 0x3b, 0x51, 0x83, 0x4c, 0xb2, 0x5e, 0x6e, 0xc4, 0x50, 0x9f, 0xf6, 0xe2, 0xbe, 0xe5, - 0x0e, 0x64, 0x0d, 0xfb, 0x43, 0xfc, 0xb9, 0x61, 0x76, 0x07, 0xf6, 0x43, 0xda, 0x51, 0x5d, 0x98, - 0x7a, 0xc6, 0x81, 0x79, 0x7f, 0xb3, 0x8b, 0x9c, 0x9c, 0xd1, 0x44, 0x98, 0xf7, 0xa4, 0xec, 0xe2, - 0xfd, 0xb6, 0xf8, 0x3f, 0x9a, 0x83, 0x42, 0xdb, 0x97, 0xdd, 0x03, 0x9c, 0x0e, 0xbe, 0x38, 0x73, - 0xfd, 0xea, 0xd3, 0xa4, 0x38, 0x41, 0x2b, 0x9e, 0x24, 0xdf, 0xd1, 0x16, 0x24, 0x54, 0x67, 0xc1, - 0x84, 0xa2, 0x2a, 0xf7, 0xd6, 0xb7, 0x30, 0x44, 0x53, 0x40, 0x45, 0xd9, 0xce, 0x53, 0xcd, 0xa1, - 0x15, 0x95, 0x7f, 0x3d, 0xc0, 0xf3, 0xf2, 0xc3, 0x27, 0x98, 0x05, 0x9d, 0xc5, 0x39, 0x07, 0x7c, - 0x55, 0xe7, 0xdb, 0xc1, 0x36, 0x70, 0x88, 0x82, 0x8f, 0x65, 0xd9, 0xf1, 0x05, 0xdc, 0x1b, 0x19, - 0x99, 0xd8, 0xa9, 0x04, 0x15, 0x60, 0x80, 0xef, 0x64, 0x53, 0x57, 0xb9, 0x08, 0xba, 0x78, 0xf5, - 0x36, 0x37, 0xfe, 0x17, 0xe3, 0xd1, 0x13, 0xd1, 0x8f, 0xf5, 0x1e, 0xf4, 0xd3, 0x56, 0x53, 0xba, - 0x4f, 0xda, 0x7f, 0xc5, 0x1d, 0xa1, 0x42, 0x3e, 0x26, 0xc1, 0x71, 0x75, 0x19, 0x90, 0x52, 0x48, - 0xde, 0x03, 0xca, 0x68, 0xf3, 0x1c, 0x6d, 0xe7, 0xcf, 0x9e, 0x1a, 0x2a, 0xa0, 0x25, 0xc3, 0xb6, - 0x71, 0x08, 0x40, 0x4c, 0x29, 0xc6, 0xc7, 0x3d, 0xa4, 0x99, 0x65, 0xeb, 0xcc, 0x51, 0x33, 0xac, - 0x8d, 0x03, 0x81, 0x4d, 0x88, 0xe2, 0x31, 0xb8, 0x4c, 0x67, 0x14, 0x7f, 0xc9, 0xc1, 0xda, 0xf3, - 0x31, 0x78, 0x95, 0x93, 0xb4, 0x30, 0x66, 0x1e, 0xfd, 0x7a, 0xcf, 0xf9, 0x11, 0x06, 0x05, 0x36, - 0xf9, 0xe3, 0x3f, 0x0c, 0x33, 0xda, 0x88, 0x81, 0x91, 0x30, 0x29, 0x0e, 0x9a, 0x0c, 0x96, 0x45, - 0x9f, 0x0e, 0xe4, 0x76, 0x11, 0x2d, 0x4f, 0x66, 0x1b, 0x8e, 0x59, 0xd6, 0xe3, 0x44, 0xcd, 0xa0, - 0xad, 0xfa, 0x20, 0xce, 0x37, 0xf4, 0x0b, 0x29, 0x83, 0x81, 0xdb, 0x65, 0xa6, 0x17, 0xb8, 0x7a, - 0xb9, 0xe2, 0x46, 0xfa, 0x78, 0xf7, 0x98, 0x68, 0x52, 0xf6, 0xbe, 0x5d, 0x88, 0x61, 0x0b, 0x10, - 0xae, 0x93, 0x35, 0x8b, 0xad, 0xa8, 0x98, 0xf4, 0x71, 0x90, 0xde, 0x27, 0x7a, 0xaf, 0x19, 0x77, - 0x0c, 0xd6, 0x52, 0xa8, 0x9a, 0xf9, 0x2e, 0x70, 0xf2, 0xe5, 0xd8, 0xdf, 0x97, 0x61, 0xb0, 0x7f, - 0xf6, 0x37, 0x92, 0x39, 0x87, 0x24, 0xb4, 0xdf, 0x41, 0x90, 0xc4, 0x45, 0x05, 0xc7, 0x4d, 0x1f, - 0xc5, 0xc4, 0x84, 0x2e, 0x81, 0x90, 0xa9, 0x14, 0x5a, 0x6d, 0xad, 0x5e, 0x90, 0x01, 0x3d, 0xbc, - 0x6a, 0xb8, 0xeb, 0xed, 0x76, 0xfe, 0x70, 0x99, 0x19, 0xbf, 0xd8, 0x31, 0x81, 0x94, 0x56, 0x4d, - 0x5a, 0x72, 0x90, 0xa8, 0xba, 0x2c, 0xd7, 0x90, 0x3d, 0x5e, 0x4f, 0x28, 0x0c, 0x89, 0x67, 0x66, - 0x34, 0x62, 0xb2, 0x65, 0x7a, 0xa2, 0x62, 0x96, 0x61, 0xcd, 0xeb, 0xc6, 0x03, 0xe6, 0x94, 0x5d, - 0x99, 0x48, 0x0f, 0xa1, 0x52, 0xc0, 0x05, 0xc6, 0x94, 0xaa, 0x91, 0x82, 0x88, 0x8d, 0x15, 0x9d, - 0x9a, 0xb3, 0xa9, 0x44, 0x86, 0xbb, 0xfb, 0x4e, 0x5a, 0x83, 0x86, 0xef, 0xcb, 0xe6, 0xfd, 0x24, - 0x94, 0xc5, 0x9d, 0xa9, 0x27, 0x13, 0xec, 0x32, 0xec, 0x71, 0x4e, 0xd7, 0xa0, 0xba, 0x02, 0x0a, - 0xa2, 0x5c, 0xd3, 0x15, 0xbd, 0x98, 0xeb, 0x51, 0xce, 0x73, 0xe9, 0xf9, 0x13, 0xf6, 0xc0, 0xf3, - 0x0b, 0x1b, 0x78, 0x87, 0xd6, 0xee, 0xce, 0x14, 0x3a, 0x8c, 0xa0, 0xe4, 0x22, 0x0e, 0xdb, 0xe3, - 0x36, 0x4d, 0x09, 0x91, 0xc8, 0x90, 0x2d, 0x81, 0xd2, 0x4d, 0x37, 0x7f, 0x25, 0xab, 0xb1, 0xc4, - 0xba, 0xea, 0x43, 0xab, 0x37, 0x39, 0x28, 0x06, 0xee, 0x7a, 0xc2, 0x5c, 0x89, 0x8e, 0xab, 0x00, - 0x5a, 0x8a, 0x4d, 0x99, 0xe4, 0xf9, 0x42, 0x63, 0x5c, 0xd4, 0xa7, 0x17, 0x1e, 0xea, 0xdb, 0x9d, - 0xe4, 0xf6, 0x2b, 0xa2, 0xa7, 0x1e, 0x30, 0xaa, 0x6a, 0x5d, 0xcc, 0xab, 0xf6, 0x1b, 0xde, 0x95, - 0x69, 0xa9, 0x69, 0xe9, 0x7b, 0x25, 0x10, 0xd4, 0xbc, 0xcb, 0xc7, 0x82, 0x78, 0x28, 0xab, 0x29, - 0x70, 0x81, 0x00, 0x90, 0xc9, 0x60, 0x7c, 0x21, 0xee, 0xd7, 0x20, 0x46, 0x79, 0x72, 0xf0, 0xb9, - 0x4d, 0xee, 0x5d, 0x37, 0x2e, 0xf8, 0xb4, 0x2e, 0xf4, 0xc6, 0x24, 0x05, 0x0d, 0xd3, 0x36, 0x90, - 0x04, 0x17, 0x67, 0x06, 0x14, 0x6a, 0x3e, 0x04, 0x1b, 0xfb, 0xdd, 0x4c, 0xa9, 0xbc, 0x93, 0x06, - 0xa4, 0xa7, 0xfc, 0x4d, 0xc7, 0x34, 0x55, 0xfb, 0xbd, 0x9f, 0x15, 0xcf, 0x67, 0x5d, 0x13, 0x3a, - 0x81, 0x8d, 0xc6, 0x6c, 0x75, 0x89, 0x45, 0x14, 0x57, 0xf0, 0x40, 0x16, 0x7a, 0xa8, 0x7f, 0x55, - 0x53, 0xd9, 0xbc, 0xb6, 0x7d, 0x40, 0x61, 0xf1, 0x33, 0x11, 0xf9, 0x51, 0x3c, 0xed, 0xb6, 0xe4, - 0x1e, 0xa9, 0x9c, 0xf2, 0x4b, 0xc9, 0xa5, 0xc9, 0x67, 0x7e, 0xfd, 0x4d, 0x72, 0x49, 0xc6, 0x41, - 0x36, 0x51, 0x6d, 0x47, 0x63, 0xbf, 0x51, 0x17, 0x4d, 0xd9, 0x8a, 0x75, 0x92, 0x0d, 0x55, 0x86, - 0x88, 0x5d, 0x54, 0x36, 0x8b, 0x4f, 0xc1, 0x9f, 0x26, 0x04, 0x96, 0x6a, 0x8c, 0x0c, 0x7d, 0xec, - 0x37, 0x44, 0x92, 0x7a, 0xc7, 0xeb, 0x78, 0x52, 0x18, 0x11, 0xa2, 0x18, 0x14, 0x16, 0x29, 0x39, - 0x68, 0xcc, 0x8c, 0xd8, 0xb8, 0xc3, 0x48, 0xa9, 0x4c, 0xd0, 0xea, 0xc1, 0xb3, 0xd5, 0xbe, 0x36, - 0x2d, 0x46, 0x88, 0x1f, 0x1b, 0x81, 0xe5, 0x32, 0xc9, 0xaa, 0xfd, 0x19, 0x52, 0xd7, 0x9c, 0xa3, - 0x8b, 0xce, 0x9d, 0x9c, 0x86, 0x87, 0xa6, 0xbc, 0x57, 0x2f, 0xf8, 0x06, 0xd6, 0x47, 0xf1, 0x61, - 0xca, 0x37, 0x61, 0x88, 0xab, 0x27, 0x0f, 0xa0, 0x84, 0x99, 0x2b, 0x98, 0x42, 0x4e, 0x96, 0x42, - 0x00, 0xf8, 0xf4, 0x0d, 0x0e, 0x7c, 0x25, 0x0d, 0xb9, 0x77, 0x75, 0x53, 0xb6, 0xfc, 0x67, 0xaa, - 0xde, 0x33, 0xe3, 0x92, 0x83, 0xf6, 0x19, 0x02, 0xab, 0x57, 0x9d, 0x84, 0xa8, 0x5f, 0xa4, 0x87, - 0xb5, 0x37, 0x66, 0x81, 0xc9, 0x38, 0x40, 0x62, 0xed, 0xab, 0xba, 0x9e, 0x68, 0x10, 0x1f, 0xca, - 0x24, 0x98, 0xc0, 0x71, 0xb6, 0x25, 0xa3, 0xcb, 0x58, 0x9e, 0x40, 0x41, 0x8e, 0x15, 0x7a, 0x33, - 0xdd, 0xc9, 0xdf, 0x6a, 0x5f, 0xba, 0x26, 0x71, 0xcc, 0x5e, 0x60, 0x33, 0x51, 0x3a, 0x70, 0x4b, - 0x83, 0xb1, 0x58, 0xd6, 0x6e, 0xd0, 0xf6, 0x28, 0xb9, 0xdb, 0xb2, 0x24, 0x0b, 0x3e, 0xc2, 0x99, - 0x83, 0xca, 0x3b, 0xfa, 0xf1, 0x63, 0x8a, 0x71, 0xf6, 0xaa, 0x71, 0x07, 0x96, 0x32, 0x3d, 0x55, - 0x12, 0x6a, 0xc6, 0x4b, 0x5d, 0x3a, 0xf4, 0xce, 0xd5, 0x11, 0xfd, 0x72, 0xf6, 0x32, 0xce, 0x7b, - 0x20, 0x53, 0x39, 0x3b, 0x6d, 0x62, 0xdb, 0x3c, 0x87, 0xc5, 0x12, 0xa7, 0xa8, 0xf3, 0x70, 0x36, - 0xca, 0x5a, 0xf8, 0xa0, 0xb0, 0xcb, 0x2c, 0xd8, 0x79, 0xa9, 0x71, 0x21, 0x3c, 0xe0, 0xad, 0x7e, - 0xca, 0x5b, 0xa6, 0x52, 0x00, 0x85, 0x4b, 0xf1, 0xad, 0x4e, 0x08, 0xc5, 0xc9, 0x8e, 0xf6, 0xc6, - 0x8c, 0x88, 0x75, 0x0e, 0xaf, 0xdc, 0xde, 0x2a, 0xa9, 0x9b, 0x27, 0xab, 0x38, 0xaa, 0xd1, 0x72, - 0xaa, 0x59, 0xc6, 0x16, 0x6f, 0x40, 0xa3, 0x19, 0x90, 0xf7, 0x06, 0xfd, 0x7a, 0xa7, 0x0b, 0x56, - 0xe1, 0x52, 0x0f, 0xeb, 0x62, 0x6d, 0x3d, 0xd7, 0x8b, 0xb4, 0x39, 0x71, 0xba, 0xa4, 0x1f, 0x2d, - 0xaf, 0xb6, 0xbd, 0xd9, 0x93, 0xb7, 0x2a, 0x19, 0x99, 0x0d, 0xb8, 0xe3, 0xcf, 0x82, 0x08, 0xbf, - 0x7f, 0xe6, 0x36, 0x62, 0xb4, 0x7a, 0x3d, 0x23, 0xbc, 0xcb, 0xb2, 0x0d, 0xc7, 0xed, 0xfd, 0x7a, - 0x61, 0x4a, 0x30, 0xa3, 0xdc, 0xa2, 0x52, 0xe2, 0xe0, 0xb9, 0x58, 0xcc, 0x5b, 0x0d, 0x6b, 0x73, - 0xe8, 0x7f, 0x8c, 0x30, 0x98, 0x0a, 0x03, 0x66, 0x34, 0x03, 0x2c, 0x82, 0x91, 0xbd, 0x67, 0xbc, - 0x7e, 0x0f, 0x1b, 0xdf, 0xa9, 0x1a, 0x35, 0x86, 0x78, 0x09, 0xd5, 0x51, 0x98, 0xc4, 0x9d, 0x69, - 0x42, 0x1b, 0x66, 0x80, 0xf2, 0x69, 0xb0, 0xb2, 0xd1, 0x11, 0xa5, 0xf9, 0x9b, 0x8e, 0x88, 0x5a, - 0xbd, 0x1a, 0x07, 0x4e, 0x1a, 0x30, 0xbf, 0xa0, 0x2d, 0xa6, 0x3c, 0x0d, 0x2d, 0x36, 0x36, 0x09, - 0xa4, 0xb9, 0x1b, 0x88, 0x2e, 0x88, 0xa4, 0x6e, 0x73, 0x8f, 0xc8, 0xce, 0x6d, 0x68, 0xbe, 0xcb, - 0x02, 0xfa, 0xb6, 0x3e, 0xca, 0x60, 0xf7, 0xbe, 0x30, 0xf2, 0x26, 0x50, 0xb9, 0x5e, 0xc8, 0x74, - 0xff, 0xf7, 0xaa, 0x41, 0xa3, 0xac, 0xbe, 0x73, 0x3c, 0xd1, 0xaa, 0x4d, 0xaa, 0xff, 0xd1, 0x99, - 0x34, 0xf5, 0xeb, 0x4e, 0x14, 0x15, 0xd5, 0xb9, 0x7d, 0xe3, 0x50, 0xa7, 0x5b, 0x95, 0x9f, 0x48, - 0x3f, 0x5a, 0x7c, 0xf9, 0xde, 0x11, 0xf8, 0xdf, 0x29, 0x6b, 0xce, 0x80, 0x7c, 0x0c, 0x9a, 0x0f, - 0x6d, 0x91, 0x15, 0x63, 0xd4, 0x11, 0x1c, 0x8a, 0x37, 0xaf, 0x70, 0xda, 0x29, 0x7d, 0x28, 0x46, - 0x7e, 0x06, 0xbb, 0xb7, 0xc5, 0x83, 0x69, 0xaf, 0xa5, 0x1e, 0x22, 0x4c, 0x2d, 0x37, 0x2e, 0x69, - 0x5d, 0xa3, 0x9a, 0x0a, 0x01, 0xc4, 0x24, 0xd8, 0x89, 0xa5, 0xb8, 0x5d, 0x55, 0xac, 0xe3, 0x54, - 0x03, 0xa1, 0xa3, 0x47, 0x1b, 0x52, 0x74, 0x48, 0x6a, 0x20, 0x38, 0x89, 0x53, 0xfd, 0x5c, 0x25, - 0x92, 0xbe, 0x6c, 0xa8, 0xb9, 0xd4, 0xff, 0x9e, 0x7f, 0xe6, 0x22, 0x1d, 0xef, 0xd2, 0x74, 0xb3, - 0xff, 0x9c, 0x8f, 0xac, 0x39, 0x1d, 0xd2, 0xea, 0x32, 0xf7, 0x2e, 0x59, 0x41, 0xd8, 0x6e, 0x24, - 0x99, 0xd2, 0xcb, 0x03, 0x52, 0x0e, 0xa3, 0xae, 0x1f, 0xb7, 0x86, 0x75, 0xc3, 0x18, 0x18, 0x76, - 0xb6, 0xe3, 0xff, 0xcf, 0x3d, 0xd3, 0x30, 0x9f, 0xb4, 0xa9, 0xb8, 0x8e, 0xc6, 0xf8, 0x53, 0x67, - 0x18, 0x11, 0xa8, 0x92, 0x04, 0x9a, 0xd1, 0x9e, 0xb6, 0x50, 0xae, 0x91, 0xca, 0xb1, 0xb2, 0xc4, - 0x3a, 0xd0, 0x78, 0xa0, 0xbc, 0x48, 0xf8, 0x41, 0xee, 0x21, 0x09, 0x48, 0xa4, 0x5b, 0x3d, 0xaf, - 0x7c, 0xda, 0x43, 0x47, 0x2b, 0x64, 0x48, 0x9b, 0xda, 0xfc, 0x9b, 0xba, 0x4d, 0x6c, 0x21, 0xde, - 0x52, 0xe3, 0xd1, 0x0e, 0xb5, 0xff, 0x06, 0xd7, 0x06, 0xc6, 0xa3, 0xc7, 0xc6, 0xd1, 0x1e, 0x0b, - 0x5a, 0xc3, 0x1c, 0x1b, 0x52, 0xfa, 0x2d, 0xb0, 0xb8, 0x15, 0xa7, 0x79, 0xc7, 0x31, 0x31, 0x40, - 0x7c, 0x4c, 0x1c, 0xcc, 0x11, 0xf3, 0x0d, 0x51, 0x29, 0xd4, 0x72, 0xab, 0x56, 0x73, 0xc4, 0x28, - 0x76, 0x07, 0x79, 0x8f, 0x22, 0x19, 0x18, 0x64, 0xbc, 0x4d, 0xad, 0x38, 0x0e, 0x8a, 0x52, 0x4b, - 0x54, 0xe9, 0x95, 0x36, 0xf8, 0x02, 0x94, 0x1f, 0x88, 0x31, 0xc9, 0xd1, 0x21, 0x34, 0x72, 0xc1, - 0x4d, 0x0b, 0xa2, 0xd7, 0xfd, 0xab, 0x39, 0x23, 0xca, 0x3f, 0xf6, 0xb9, 0xd4, 0x4c, 0x5c, 0x13, - 0x69, 0xa5, 0x39, 0xe4, 0x81, 0x28, 0x52, 0xa4, 0xa9, 0x04, 0x12, 0x77, 0x75, 0xf3, 0xa5, 0x12, - 0xae, 0x5d, 0xca, 0x23, 0x7c, 0xa2, 0x78, 0xc9, 0x9f, 0x22, 0xe3, 0x76, 0xb5, 0xf3, 0x4c, 0x83, - 0x56, 0xef, 0x9f, 0xb5, 0x3d, 0x63, 0xea, 0xc0, 0x48, 0xf4, 0x6a, 0x86, 0x38, 0xa6, 0x57, 0xbc, - 0x8b, 0xab, 0x99, 0xe6, 0x6f, 0xc3, 0x3a, 0x9f, 0xa3, 0xfc, 0x1b, 0x6f, 0x3c, 0x55, 0x0b, 0x61, - 0x18, 0x1e, 0xd6, 0x7a, 0x2f, 0x9f, 0x71, 0x98, 0x7d, 0x1b, 0xe0, 0x58, 0xf1, 0x48, 0x54, 0xe1, - 0x43, 0x05, 0x16, 0x3e, 0x1e, 0x14, 0x51, 0x72, 0xb9, 0x9b, 0x73, 0x6c, 0x68, 0xa8, 0xfc, 0x4c, - 0x8d, 0x74, 0xdd, 0x7e, 0xad, 0xb1, 0x3d, 0x8c, 0x38, 0xda, 0x1e, 0x35, 0xe9, 0xc5, 0x92, 0xcd, - 0xee, 0x88, 0xbe, 0xc4, 0xc9, 0xd7, 0xf6, 0xaf, 0x11, 0xbf, 0x56, 0xec, 0x01, 0xbc, 0xea, 0xea, - 0x09, 0xb5, 0x7b, 0xb1, 0x61, 0x6d, 0x59, 0x6c, 0x81, 0x7b, 0x29, 0x36, 0x8a, 0x8f, 0x2a, 0xae, - 0x44, 0x5c, 0xbc, 0x90, 0x24, 0xc5, 0x0a, 0xeb, 0x74, 0xc0, 0x9f, 0x96, 0x5d, 0x40, 0x00, 0xdd, - 0xf3, 0x75, 0x4d, 0xc8, 0xc3, 0x69, 0x2f, 0x5d, 0xc8, 0x1f, 0xc7, 0x23, 0xf8, 0xa6, 0x2c, 0x12, - 0xf2, 0xae, 0x31, 0x32, 0xdb, 0xff, 0xcc, 0x5e, 0x78, 0xfd, 0xf6, 0xa2, 0x3e, 0x91, 0xc7, 0x40, - 0x33, 0x23, 0x70, 0x34, 0xb4, 0xd7, 0x42, 0x67, 0x76, 0x1f, 0xc9, 0xe4, 0xce, 0x64, 0xb4, 0x05, - 0x33, 0x5e, 0x01, 0x1c, 0xe8, 0x20, 0xd9, 0x95, 0xed, 0xd4, 0x21, 0x4e, 0x24, 0x0b, 0xeb, 0x17, - 0x59, 0xb5, 0x13, 0x9c, 0xf1, 0xaf, 0x09, 0xb0, 0xf9, 0x65, 0x54, 0x17, 0xfd, 0x3c, 0x2d, 0x4a, - 0x96, 0xe5, 0x26, 0x18, 0x1f, 0x4b, 0x8c, 0x86, 0xd6, 0x42, 0xcf, 0x70, 0x65, 0x2b, 0x8f, 0x5c, - 0x57, 0xa5, 0x16, 0xd7, 0x71, 0x6f, 0xfc, 0x0d, 0x57, 0x22, 0x78, 0x99, 0x1c, 0x6e, 0xb2, 0xe8, - 0xe6, 0xc2, 0xb6, 0xc6, 0xe1, 0x91, 0x9a, 0xee, 0x1a, 0xd9, 0x20, 0x8e, 0xfb, 0x43, 0xfb, 0x36, - 0x6f, 0xc1, 0x2a, 0x02, 0x62, 0x51, 0x5c, 0x8b, 0x89, 0xff, 0x67, 0x6f, 0x51, 0xca, 0x0f, 0xba, - 0x6f, 0x5a, 0x4b, 0x89, 0x6e, 0x62, 0x87, 0x56, 0x71, 0x1c, 0xe3, 0xd2, 0xb6, 0x41, 0x59, 0x6b, - 0xff, 0xad, 0xee, 0x84, 0x15, 0xbc, 0x74, 0x07, 0xf6, 0x51, 0x35, 0x44, 0x46, 0x8d, 0x2c, 0x20, - 0x43, 0x7d, 0x88, 0x58, 0xd0, 0x66, 0xba, 0x4c, 0x36, 0xbe, 0x73, 0x4c, 0xda, 0x64, 0x0e, 0xd8, - 0xc0, 0x86, 0x66, 0x0e, 0x20, 0x53, 0x6a, 0xbc, 0xa0, 0xb2, 0x2d, 0xd4, 0xd9, 0xb8, 0x85, 0xb8, - 0x0c, 0x1c, 0x42, 0xc6, 0xc5, 0xe5, 0xdb, 0x81, 0x15, 0xdc, 0x4e, 0xc7, 0x79, 0x91, 0x18, 0x56, - 0xc9, 0x0f, 0x07, 0xc5, 0xaa, 0xe3, 0x4e, 0x17, 0x6b, 0x90, 0xed, 0x56, 0x86, 0x8a, 0x89, 0x28, - 0xdb, 0x5e, 0x63, 0x46, 0x5f, 0x09, 0x33, 0xb0, 0x28, 0xae, 0x00, 0x9c, 0xfd, 0x94, 0x8e, 0x53, - 0xee, 0xe6, 0x99, 0x34, 0xe8, 0xeb, 0xec, 0xc2, 0xfa, 0x9c, 0xdc, 0x78, 0x30, 0xfa, 0xf5, 0x26, - 0x0b, 0x0a, 0xa4, 0x13, 0xe8, 0x83, 0x55, 0xae, 0xdc, 0x59, 0x8d, 0x69, 0x58, 0x40, 0xb6, 0xf7, - 0xed, 0xb4, 0x1b, 0x7d, 0xa8, 0x40, 0xd9, 0x89, 0x29, 0x0d, 0x84, 0x1f, 0x64, 0x70, 0xe5, 0xd3, - 0x3d, 0x4f, 0x36, 0x3c, 0x78, 0xf5, 0x82, 0x37, 0x21, 0x4a, 0x93, 0x54, 0xdb, 0x12, 0x5f, 0xb9, - 0xd1, 0x0e, 0xaa, 0x5a, 0x1a, 0x9b, 0xcf, 0x47, 0x1c, 0x41, 0x30, 0x67, 0x6c, 0x5f, 0xae, 0x76, - 0x88, 0xc7, 0x9d, 0xa2, 0x84, 0xbb, 0x27, 0xd4, 0xe9, 0xf1, 0x18, 0x55, 0x68, 0xb9, 0xaf, 0x6e, - 0x5b, 0x21, 0x22, 0x78, 0xca, 0x55, 0x67, 0xa9, 0x73, 0xa7, 0xd3, 0x96, 0x10, 0x62, 0xc7, 0xdc, - 0x24, 0xdc, 0xe1, 0x9f, 0x28, 0xdf, 0x37, 0x94, 0x73, 0x73, 0x25, 0xeb, 0x6e, 0xe4, 0x1c, 0x02, - 0xe7, 0x0a, 0xbb, 0xe9, 0xf1, 0xb8, 0x72, 0xb1, 0x33, 0x85, 0xbb, 0xd9, 0x28, 0xc7, 0x72, 0xa7, - 0x73, 0xb9, 0x6a, 0xe9, 0xec, 0xa6, 0x95, 0x77, 0xbf, 0x04, 0x18, 0x02, 0xc0, 0xb6, 0x6e, 0x48, - 0xd5, 0x5d, 0xce, 0x0b, 0x9f, 0xa4, 0x3e, 0x5c, 0xe1, 0x4c, 0x92, 0x14, 0x3c, 0xf2, 0xb1, 0xc4, - 0x40, 0xb4, 0x83, 0x2f, 0x70, 0xa3, 0x04, 0xaf, 0xeb, 0x8a, 0xcb, 0xf4, 0xff, 0x7d, 0xba, 0xd5, - 0x9c, 0x0d, 0xa5, 0x09, 0xeb, 0x69, 0x8a, 0xef, 0x6b, 0x8d, 0x80, 0xaf, 0xbd, 0x8a, 0xaf, 0xa4, - 0x73, 0x60, 0xdd, 0x90, 0x2b, 0x4c, 0x5e, 0xd6, 0xf0, 0x48, 0x28, 0x48, 0x76, 0xbd, 0x2c, 0x24, - 0x96, 0x9c, 0xb4, 0xde, 0x40, 0x33, 0x3c, 0xcb, 0xa8, 0xaa, 0x48, 0x16, 0xe5, 0xe9, 0x17, 0xb0, - 0x30, 0x83, 0x9d, 0xc9, 0xf5, 0x36, 0xb7, 0xa2, 0xfd, 0x69, 0x02, 0x59, 0x57, 0x10, 0x21, 0xb9, - 0x75, 0x69, 0x9e, 0xe4, 0x5f, 0xdb, 0x15, 0x39, 0x82, 0x30, 0x57, 0x10, 0x0c, 0xb0, 0x4b, 0x2e, - 0x67, 0x35, 0xbb, 0x8e, 0x83, 0x56, 0x49, 0xd2, 0x09, 0x1b, 0x9f, 0xd5, 0x66, 0x47, 0x88, 0xda, - 0xfb, 0x27, 0xe0, 0xc4, 0x98, 0x38, 0xc5, 0x6f, 0x4f, 0x20, 0x8b, 0x7d, 0xc3, 0x43, 0x8e, 0xe5, - 0xe4, 0xb7, 0xa5, 0x37, 0x2d, 0xb8, 0xed, 0x72, 0x7b, 0x64, 0x12, 0xe2, 0xae, 0x7f, 0x42, 0xf2, - 0xea, 0x85, 0x45, 0x19, 0x0f, 0xfa, 0xae, 0x29, 0xe2, 0x22, 0xa7, 0x10, 0x67, 0xf2, 0x6f, 0xf7, - 0x71, 0xe0, 0xbd, 0x2a, 0x20, 0x33, 0x6d, 0xa0, 0x3c, 0x36, 0x70, 0x22, 0x82, 0xc0, 0xa1, 0x4a, - 0x44, 0x22, 0xd5, 0xe3, 0x19, 0x9a, 0xcc, 0xcf, 0xf6, 0xf2, 0x4b, 0x3f, 0xc6, 0xfe, 0x2b, 0x78, - 0xc4, 0x67, 0x1b, 0x03, 0x5b, 0x62, 0xe4, 0x13, 0xef, 0x53, 0xf0, 0x82, 0x6b, 0xa5, 0x23, 0x33, - 0x77, 0x33, 0x37, 0xf6, 0x92, 0x44, 0xbf, 0x11, 0xeb, 0xe4, 0x40, 0xaf, 0x2d, 0x2d, 0x4a, 0x87, - 0xf7, 0x87, 0x11, 0x28, 0xd9, 0x4a, 0x2d, 0x8a, 0xb4, 0x2f, 0xcf, 0x9d, 0x63, 0xea, 0x47, 0x04, - 0xef, 0xea, 0x38, 0xd7, 0xb2, 0xd4, 0x5d, 0xef, 0xc1, 0x92, 0x4c, 0xc6, 0xbd, 0xf8, 0xda, 0x95, - 0xfe, 0x2b, 0x99, 0xaa, 0xb1, 0xee, 0x81, 0xd2, 0xa6, 0x1a, 0x23, 0xb7, 0xf2, 0x62, 0x7a, 0x58, - 0xf8, 0xb7, 0x2a, 0x0d, 0x3b, 0xbd, 0xf2, 0x83, 0x1f, 0x48, 0x4e, 0x63, 0xa7, 0xae, 0x7a, 0x56, - 0x61, 0x82, 0xdb, 0x30, 0xb0, 0x81, 0x9f, 0xa5, 0xb8, 0x41, 0xed, 0xb1, 0xb2, 0x1e, 0x2d, 0x73, - 0xb7, 0x48, 0xc5, 0x7f, 0x5f, 0x3e, 0x33, 0x05, 0x06, 0x6a, 0x29, 0x67, 0x4f, 0x66, 0x7e, 0x0b, - 0xe9, 0x0f, 0x68, 0xb8, 0x6c, 0x89, 0x33, 0x66, 0x74, 0xc6, 0x67, 0x65, 0xca, 0xfe, 0x01, 0x2b, - 0x78, 0x26, 0x1e, 0x79, 0x73, 0x63, 0x0a, 0xda, 0xcb, 0x71, 0x2f, 0x39, 0xc3, 0xf6, 0x15, 0x7e, - 0x80, 0xe1, 0x9b, 0x0e, 0xa1, 0x9d, 0xd7, 0x7c, 0xc3, 0xf9, 0x45, 0x17, 0x24, 0x01, 0xdb, 0xcb, - 0x45, 0x16, 0xc5, 0x4d, 0x9c, 0xda, 0xe8, 0xcc, 0xc6, 0x39, 0x1d, 0xa9, 0x72, 0x56, 0x30, 0x48, - 0x11, 0x56, 0xe7, 0x9e, 0x94, 0x9a, 0x07, 0x94, 0xef, 0x9c, 0x51, 0x71, 0x71, 0xca, 0xd8, 0x4e, - 0xbd, 0xcd, 0xa1, 0xa4, 0x44, 0x76, 0xaf, 0x59, 0x5b, 0xcc, 0x38, 0xd1, 0x03, 0x5e, 0x96, 0xfb, - 0x61, 0xac, 0x67, 0x29, 0x23, 0xa8, 0x48, 0xe9, 0x2d, 0xd1, 0xc2, 0xdd, 0xa3, 0x39, 0x80, 0x1b, - 0x66, 0x8f, 0x8a, 0x8b, 0xfb, 0x30, 0xf2, 0xfe, 0x90, 0xf3, 0x53, 0x66, 0x40, 0xdf, 0xda, 0xef, - 0xf1, 0x19, 0xc2, 0x5d, 0x4d, 0x74, 0x49, 0x51, 0xaf, 0xcb, 0xff, 0x13, 0xc4, 0x54, 0x4c, 0x64, - 0xc5, 0x88, 0x6d, 0x46, 0x8c, 0xe9, 0x96, 0x0a, 0xe2, 0x70, 0xa2, 0x77, 0x6c, 0xe6, 0x89, 0x50, - 0x90, 0xba, 0x62, 0xbe, 0x04, 0xc2, 0x6c, 0x60, 0x59, 0xea, 0xfc, 0x0a, 0xaf, 0x20, 0xbb, 0x8c, - 0xd1, 0x82, 0x6c, 0x75, 0x58, 0x35, 0xa7, 0x88, 0x65, 0x36, 0xe1, 0x6d, 0xb4, 0x10, 0xba, 0xec, - 0x16, 0xc9, 0xf5, 0x23, 0xd4, 0xdb, 0xea, 0x06, 0xb1, 0xc2, 0x6b, 0xfb, 0x56, 0xdf, 0xcf, 0xe3, - 0x15, 0x21, 0x9c, 0x6d, 0x39, 0xb1, 0xe1, 0x2f, 0x9b, 0x60, 0xc1, 0x8d, 0xb7, 0x8f, 0x2c, 0xd2, - 0x8b, 0x12, 0xd1, 0x86, 0xa3, 0xd9, 0xf8, 0x19, 0xcc, 0xd2, 0x1c, 0xc0, 0x04, 0x13, 0x5d, 0xc6, - 0x3c, 0x2c, 0x75, 0x5e, 0x21, 0xd9, 0x45, 0x79, 0x71, 0x3c, 0x17, 0x1e, 0xfd, 0x2d, 0xf1, 0x53, - 0xb9, 0xae, 0xd1, 0x47, 0xa2, 0x0a, 0xe3, 0x6d, 0x53, 0xfc, 0x5c, 0x18, 0xc1, 0xfc, 0x30, 0x1e, - 0x7f, 0x37, 0x42, 0xe8, 0xf6, 0x5a, 0x59, 0xba, 0x27, 0xd2, 0x10, 0x2c, 0x29, 0xc7, 0xc4, 0x84, - 0x5e, 0xf6, 0xb4, 0x0a, 0xdb, 0xab, 0x26, 0x96, 0x18, 0x6a, 0x62, 0xc3, 0xd2, 0x56, 0x90, 0x19, - 0xcd, 0x59, 0x8f, 0x33, 0x36, 0x05, 0x7c, 0xa2, 0xb7, 0xd8, 0x9b, 0x44, 0xe2, 0x7d, 0xf2, 0xd3, - 0x4f, 0x7c, 0x2c, 0xd6, 0x7c, 0xd0, 0x33, 0x5d, 0x7f, 0x41, 0x6d, 0xf4, 0xcb, 0xfc, 0x26, 0x7e, - 0x30, 0x11, 0xc1, 0xeb, 0x03, 0xac, 0xee, 0xd5, 0x59, 0x2e, 0x84, 0xa1, 0x36, 0x70, 0x6b, 0x2f, - 0xc4, 0x0e, 0x67, 0x3c, 0xde, 0xce, 0x38, 0x7b, 0x37, 0x87, 0xa6, 0x39, 0x41, 0x9a, 0xab, 0x16, - 0x54, 0x00, 0x0a, 0xc0, 0x61, 0x99, 0x46, 0x86, 0x11, 0x9a, 0x1e, 0x0e, 0xd2, 0x3d, 0x20, 0xac, - 0x45, 0x04, 0x1f, 0x2d, 0xff, 0xa4, 0xca, 0x06, 0x32, 0x12, 0x8a, 0x10, 0x6e, 0xf1, 0x98, 0x0c, - 0x1a, 0x8a, 0xf0, 0x6c, 0x1d, 0x82, 0x4d, 0x7c, 0x7e, 0x0a, 0xbc, 0x75, 0x7b, 0xb9, 0x42, 0x8b, - 0xc2, 0xad, 0x4c, 0x4d, 0x39, 0x5e, 0xa0, 0xef, 0xef, 0x65, 0xf2, 0x60, 0xc2, 0xc6, 0xde, 0x5a, - 0x40, 0xe3, 0x6c, 0xea, 0x31, 0x0b, 0x82, 0x7c, 0x27, 0x61, 0xfa, 0xa1, 0x23, 0x5a, 0xa2, 0xe3, - 0x12, 0xd7, 0x4c, 0x5b, 0x3d, 0x81, 0xcd, 0x14, 0xb6, 0x8e, 0x71, 0x67, 0x9c, 0x01, 0xd7, 0xf9, - 0x46, 0x27, 0xd0, 0x0c, 0xe8, 0x95, 0xbe, 0x59, 0x18, 0x83, 0x8f, 0xa0, 0x79, 0x67, 0x02, 0x88, - 0x11, 0xc0, 0x8a, 0x39, 0xf6, 0xde, 0x38, 0xbf, 0x65, 0xe9, 0xfb, 0x19, 0x82, 0x69, 0x1f, 0x9b, - 0xc1, 0xf0, 0x92, 0x08, 0xb7, 0xd6, 0x58, 0x3d, 0xa8, 0x3e, 0x4f, 0xd2, 0x11, 0x65, 0xbb, 0x2f, - 0xb6, 0x64, 0x28, 0xdb, 0xff, 0x64, 0x31, 0xa6, 0x24, 0xf0, 0xd2, 0xd0, 0xc7, 0x13, 0x08, 0x09, - 0x2a, 0x3e, 0xb0, 0xc7, 0xe0, 0x58, 0x18, 0x35, 0x2e, 0x69, 0xd1, 0x94, 0x93, 0x0f, 0xac, 0xcd, - 0x5f, 0x65, 0x99, 0xc5, 0x41, 0x00, 0xd1, 0x7d, 0x27, 0x3b, 0x9a, 0x94, 0x0f, 0x38, 0x06, 0x76, - 0xa1, 0x9b, 0x58, 0x22, 0x83, 0x6b, 0xae, 0xa8, 0x12, 0xf4, 0xab, 0x26, 0x4a, 0xcc, 0xc3, 0x2f, - 0x8a, 0x4c, 0x1b, 0x99, 0x89, 0x1a, 0xa0, 0xb0, 0x4e, 0x58, 0xd8, 0xba, 0x49, 0x8e, 0x28, 0xd7, - 0xd8, 0x74, 0xcc, 0x53, 0xe6, 0x5a, 0xc9, 0x86, 0x21, 0x1f, 0x54, 0x88, 0x3c, 0x30, 0x65, 0xc3, - 0x4f, 0x24, 0x0d, 0x5d, 0xb0, 0x57, 0x8f, 0x10, 0xf1, 0x38, 0xbf, 0xad, 0x0b, 0xae, 0x31, 0x85, - 0x03, 0xce, 0xd1, 0x11, 0xea, 0x69, 0x19, 0x11, 0x68, 0x05, 0xa8, 0x30, 0xed, 0xa8, 0x1b, 0x26, - 0x88, 0x27, 0xe0, 0xa9, 0x4f, 0x81, 0xd1, 0xd8, 0x64, 0xb8, 0xbb, 0x83, 0x63, 0x85, 0x30, 0xf9, - 0xcf, 0x2d, 0x92, 0xa7, 0xdc, 0x29, 0x14, 0x09, 0x1f, 0xee, 0xc3, 0xde, 0xee, 0x41, 0x88, 0x9c, - 0x74, 0x1c, 0x52, 0xaf, 0x51, 0xed, 0x5a, 0x92, 0x4b, 0x8e, 0xd2, 0x46, 0x32, 0x7b, 0x99, 0x85, - 0xd5, 0x42, 0x37, 0x70, 0xa3, 0xde, 0xd8, 0x10, 0xd4, 0xff, 0x9d, 0x07, 0xc4, 0xad, 0xc8, 0xeb, - 0xbf, 0x43, 0xe8, 0x3d, 0x88, 0xb0, 0xca, 0xf3, 0xae, 0x2f, 0x86, 0x5d, 0xc8, 0x8d, 0xa7, 0x8f, - 0xb7, 0xd6, 0x70, 0x12, 0xe6, 0x3a, 0xf1, 0xe6, 0x4b, 0xf7, 0x71, 0x36, 0xf5, 0xc4, 0xf0, 0x03, - 0x33, 0x6a, 0x4f, 0xa6, 0x01, 0x2a, 0x69, 0xb5, 0x6d, 0x0c, 0xcc, 0x38, 0x56, 0xa8, 0x6f, 0x44, - 0xf9, 0xa3, 0x72, 0x20, 0xc1, 0x4c, 0xc0, 0x8a, 0x82, 0x68, 0xe5, 0x74, 0x08, 0x5d, 0x86, 0x58, - 0x19, 0x15, 0xa6, 0xcc, 0xd3, 0x79, 0x38, 0x8f, 0x65, 0x96, 0x71, 0x86, 0xf6, 0xfa, 0x6d, 0xbb, - 0xa2, 0x6e, 0xa5, 0x27, 0x4a, 0xdd, 0x50, 0x9f, 0xcc, 0x74, 0x4f, 0x08, 0x28, 0x77, 0x8b, 0xa5, - 0x4b, 0x65, 0x21, 0xc5, 0x4c, 0xac, 0xc6, 0x5b, 0x8f, 0x94, 0xd7, 0x05, 0x92, 0x5e, 0x36, 0xed, - 0x7f, 0xe6, 0x6a, 0x11, 0x88, 0x68, 0xe6, 0xab, 0x22, 0x27, 0x34, 0x5a, 0xeb, 0x97, 0x33, 0x32, - 0x46, 0x9c, 0x45, 0x7e, 0x53, 0x7f, 0x6c, 0x54, 0x0f, 0x70, 0xab, 0x00, 0xfc, 0x7c, 0x96, 0xcc, - 0x56, 0xd8, 0xcc, 0x6e, 0x96, 0x59, 0x46, 0x44, 0xe0, 0x3d, 0xab, 0xc1, 0x48, 0xb0, 0xea, 0x97, - 0x55, 0x1c, 0x5d, 0xff, 0xa4, 0x70, 0x6b, 0xab, 0x0c, 0x46, 0xc4, 0x9f, 0x74, 0x63, 0x6a, 0xbf, - 0x8f, 0x53, 0x17, 0xa1, 0xa3, 0x9d, 0x61, 0x9d, 0xf5, 0xfd, 0x38, 0xc0, 0x0f, 0x32, 0x7a, 0xfb, - 0x34, 0xdb, 0x97, 0x90, 0xc1, 0x12, 0xec, 0x87, 0xd6, 0x07, 0xdb, 0x40, 0x4d, 0xc8, 0x07, 0x03, - 0x66, 0x4d, 0xaf, 0x6b, 0x59, 0xa5, 0x57, 0xf7, 0xaa, 0x1d, 0x79, 0xac, 0xa2, 0x29, 0xad, 0xc0, - 0x46, 0x52, 0x82, 0xbb, 0xe7, 0x0f, 0x29, 0x7d, 0xda, 0x21, 0x29, 0xff, 0xd9, 0x38, 0xf3, 0x17, - 0x7f, 0x44, 0xd4, 0x54, 0x62, 0x06, 0x05, 0x1d, 0x19, 0xc4, 0x17, 0x87, 0x65, 0x95, 0x04, 0x20, - 0x58, 0x47, 0x20, 0x4a, 0x8a, 0x1d, 0x09, 0x9e, 0xb9, 0xcb, 0xb1, 0xec, 0xb7, 0xad, 0xd5, 0x57, - 0xd0, 0xb4, 0x33, 0xa1, 0x6f, 0x2a, 0x5f, 0xf3, 0xa8, 0x08, 0x62, 0xdd, 0xa6, 0xa9, 0xf7, 0x1d, - 0xfa, 0x2e, 0x6d, 0x5c, 0x23, 0x5d, 0x82, 0xa6, 0x9a, 0x3b, 0xba, 0x5a, 0x90, 0x81, 0xea, 0x61, - 0x79, 0x36, 0xaa, 0x38, 0x3b, 0x16, 0x03, 0x18, 0x9d, 0x6d, 0x2c, 0x25, 0xfe, 0x3a, 0x95, 0xa1, - 0x9c, 0x9e, 0x82, 0x83, 0xaa, 0x7b, 0xfa, 0xaa, 0x17, 0xe2, 0x2c, 0xe5, 0x08, 0xe0, 0x63, 0x3e, - 0x7e, 0x2a, 0x64, 0x2e, 0x82, 0xea, 0x04, 0x74, 0x67, 0xbf, 0xd7, 0x22, 0x4b, 0x94, 0xc6, 0xa9, - 0xff, 0x7b, 0xbd, 0xda, 0x93, 0x5e, 0x55, 0xe4, 0xae, 0xc5, 0x3b, 0xb3, 0xf9, 0x31, 0x63, 0x28, - 0x9c, 0x44, 0x49, 0x5f, 0xe2, 0x23, 0xc6, 0x2d, 0x49, 0x2f, 0x9b, 0xd5, 0xca, 0x02, 0x16, 0xfc, - 0x5b, 0x98, 0xa6, 0x40, 0x11, 0x65, 0xf3, 0x42, 0x28, 0x59, 0x3f, 0x36, 0x47, 0xf5, 0x0f, 0xdc, - 0x00, 0x2e, 0x8a, 0x23, 0xb7, 0xf2, 0xd4, 0xa7, 0x62, 0xbb, 0x72, 0x2b, 0x48, 0xce, 0xf7, 0xa0, - 0x2d, 0x90, 0xd9, 0xa4, 0xc2, 0x88, 0x2b, 0x6d, 0x9f, 0x9b, 0x23, 0xfd, 0x49, 0x4d, 0x45, 0x17, - 0xd7, 0xeb, 0x66, 0x48, 0x12, 0xbc, 0xe4, 0x56, 0x4e, 0x58, 0x95, 0x06, 0x7e, 0x93, 0x32, 0xd2, - 0x0b, 0x67, 0x80, 0x9c, 0x05, 0xaf, 0x7f, 0x9d, 0xbb, 0x9b, 0x49, 0x21, 0xcc, 0x33, 0x2a, 0x70, - 0x62, 0x06, 0x21, 0x8f, 0x59, 0x98, 0x28, 0xdc, 0x88, 0x25, 0xf5, 0xba, 0x43, 0x9d, 0x30, 0x9a, - 0x3f, 0x8d, 0xef, 0xd9, 0x9f, 0xf5, 0x89, 0xce, 0x40, 0xe0, 0x6a, 0x4c, 0x87, 0xf6, 0xd1, 0x32, - 0xc5, 0x9a, 0xbf, 0xd1, 0x58, 0xae, 0xc3, 0x82, 0xd7, 0xce, 0x68, 0x0e, 0xd1, 0x9a, 0xc6, 0x8e, - 0xa4, 0xd9, 0xb1, 0x90, 0x95, 0x6f, 0x23, 0x54, 0x55, 0xaa, 0x38, 0xad, 0x3f, 0x2e, 0x55, 0x01, - 0x1d, 0xfe, 0xd6, 0x94, 0xf7, 0xf3, 0xf2, 0x99, 0xa8, 0x8d, 0x7d, 0x0e, 0x11, 0x6a, 0xe3, 0xd6, - 0x15, 0xec, 0xff, 0x7c, 0x7e, 0xa7, 0x7b, 0x0a, 0x26, 0x8c, 0x28, 0x89, 0xd4, 0x52, 0x28, 0x84, - 0x42, 0x1b, 0xe7, 0x4d, 0xac, 0x20, 0x75, 0x84, 0x6c, 0xf6, 0xa2, 0x90, 0x5e, 0xa8, 0xd9, 0x4c, - 0xf5, 0x48, 0x94, 0x78, 0xdf, 0x83, 0xe0, 0x55, 0xb9, 0xb4, 0x9b, 0x7b, 0xc9, 0x69, 0x24, 0xec, - 0x41, 0x2e, 0x2d, 0xab, 0x1d, 0x22, 0x24, 0xfd, 0x80, 0x42, 0x1a, 0x0c, 0xab, 0xa4, 0x05, 0xf8, - 0x81, 0xba, 0x6a, 0x9c, 0xd0, 0xdc, 0x3f, 0x7b, 0x9a, 0x3e, 0x79, 0xb0, 0x0e, 0x5c, 0x66, 0x28, - 0x6a, 0x1f, 0xab, 0x40, 0x59, 0x1c, 0x00, 0xae, 0xbb, 0xe0, 0x7d, 0x7d, 0xb1, 0xd9, 0x89, 0xe0, - 0x07, 0xd3, 0xf7, 0x10, 0x17, 0x2a, 0xac, 0xe3, 0x95, 0x82, 0x6a, 0xf7, 0xaa, 0x5d, 0x28, 0xaa, - 0xb1, 0xc5, 0x98, 0xf7, 0x14, 0x7e, 0x06, 0xae, 0x94, 0xd5, 0x01, 0x3d, 0x65, 0x00, 0x76, 0xf3, - 0x03, 0xaf, 0x83, 0x87, 0x76, 0xec, 0xec, 0xc3, 0xed, 0x1f, 0xd1, 0x76, 0xbb, 0x82, 0x85, 0x15, - 0xf9, 0xbf, 0xcb, 0x40, 0x55, 0x37, 0x6e, 0xdf, 0xf0, 0xad, 0x06, 0x9b, 0x3a, 0x2d, 0x59, 0x36, - 0x41, 0x99, 0xa2, 0x63, 0x96, 0x51, 0xb9, 0x2b, 0x17, 0x04, 0x7d, 0x37, 0x51, 0x14, 0x14, 0x46, - 0xaa, 0x55, 0x94, 0x44, 0x94, 0x1d, 0xde, 0xd3, 0xa0, 0xb4, 0x91, 0x7b, 0x2e, 0xa1, 0x91, 0xa3, - 0xb0, 0x19, 0xc7, 0xe9, 0xa8, 0x35, 0x2a, 0xf6, 0xbe, 0x23, 0xf7, 0xb9, 0xa7, 0x70, 0x0e, 0x8d, - 0xc4, 0x6e, 0x50, 0x61, 0x78, 0xf5, 0x96, 0x5f, 0x63, 0xe7, 0x75, 0x8c, 0xda, 0x59, 0x4a, 0x73, - 0x1a, 0xd1, 0x21, 0x35, 0xe0, 0x26, 0x04, 0x78, 0x5a, 0x0f, 0x02, 0x07, 0xd2, 0xe2, 0x33, 0x8a, - 0xc8, 0xb8, 0x77, 0x1c, 0xa4, 0x30, 0x04, 0x98, 0x80, 0xd6, 0x13, 0x02, 0xc2, 0x82, 0x6c, 0x8f, - 0x94, 0x00, 0xad, 0x4f, 0x43, 0x0c, 0xf0, 0x55, 0x60, 0x8e, 0xd1, 0xd8, 0x25, 0x70, 0x07, 0x5d, - 0x79, 0x45, 0x65, 0xb7, 0xa0, 0x33, 0xa7, 0x53, 0x40, 0x2e, 0x02, 0x6c, 0x60, 0x66, 0xc1, 0x78, - 0xc3, 0x1b, 0x56, 0x6e, 0xe8, 0x65, 0x53, 0x57, 0x6f, 0xe8, 0xad, 0x61, 0xe6, 0xf6, 0x78, 0x5a, - 0x8a, 0x28, 0x9d, 0x5b, 0x32, 0x4b, 0x5c, 0xbd, 0xcb, 0xb8, 0x7a, 0x42, 0x2f, 0xb2, 0x7a, 0xec, - 0xc1, 0x86, 0x3f, 0x71, 0x7c, 0x1d, 0xce, 0x53, 0xf3, 0x2e, 0x72, 0x65, 0x56, 0xab, 0xff, 0x2f, - 0xec, 0x43, 0x0b, 0xee, 0x00, 0x5e, 0xd2, 0x8c, 0xbc, 0x58, 0x90, 0xc2, 0xbb, 0x0a, 0xb0, 0x5f, - 0x42, 0xf1, 0xc0, 0x9b, 0xac, 0xa7, 0xce, 0x0c, 0x22, 0x29, 0x12, 0x05, 0xdb, 0x58, 0xb4, 0xe1, - 0x81, 0xc8, 0xca, 0x13, 0xf5, 0xf5, 0xdc, 0x15, 0xc4, 0x69, 0x6e, 0x1b, 0xe8, 0xb4, 0x0d, 0x6a, - 0x14, 0x9f, 0x14, 0x52, 0xa5, 0xbc, 0xa8, 0x74, 0x85, 0x7d, 0xcc, 0x8f, 0x12, 0xc7, 0x3d, 0x47, - 0x8d, 0xf5, 0x5f, 0x78, 0x7b, 0x9b, 0x4a, 0x4e, 0x88, 0xf8, 0x02, 0xb1, 0xaa, 0x9e, 0x24, 0xf9, - 0xcc, 0x2d, 0x83, 0x56, 0xd4, 0x44, 0x8b, 0x2c, 0x1c, 0x03, 0x00, 0xb8, 0x6e, 0x79, 0xd0, 0x22, - 0xc7, 0xa4, 0x7f, 0xb2, 0xce, 0xf4, 0x86, 0x69, 0x17, 0x6c, 0xe7, 0x9e, 0xd6, 0xf3, 0xe7, 0x7d, - 0x6a, 0x7b, 0x3b, 0xb1, 0xee, 0x2f, 0x61, 0x2f, 0x1c, 0x7f, 0x06, 0x6c, 0xa6, 0xbd, 0xb4, 0xa1, - 0xab, 0x45, 0x48, 0x53, 0x7d, 0xb0, 0x6b, 0xdd, 0xe1, 0x17, 0x79, 0x49, 0x0f, 0x3b, 0x60, 0x86, - 0xad, 0x1f, 0x4c, 0x6f, 0xd5, 0x9f, 0x1c, 0x29, 0xf4, 0x52, 0xc0, 0x66, 0x30, 0x00, 0x7b, 0x86, - 0x3e, 0x82, 0x6f, 0x87, 0xd1, 0x61, 0x44, 0x89, 0x36, 0x55, 0x1c, 0x1d, 0x2a, 0xb3, 0xf0, 0xa2, - 0x63, 0x7a, 0xc7, 0xd6, 0x77, 0xed, 0xf0, 0x32, 0x99, 0x17, 0x67, 0xd9, 0x5e, 0x58, 0xd4, 0x6d, - 0xb0, 0x89, 0xd1, 0x2b, 0x44, 0x97, 0x09, 0xd4, 0x0c, 0x51, 0x18, 0x9c, 0x1f, 0x91, 0xa8, 0x83, - 0xf6, 0x80, 0xed, 0xe1, 0x0d, 0x68, 0xca, 0xaf, 0x00, 0x89, 0x74, 0x5f, 0x94, 0xd3, 0x8e, 0xce, - 0x1f, 0xb3, 0x90, 0x85, 0xb5, 0x49, 0x58, 0xda, 0xd2, 0x16, 0x29, 0x19, 0xdc, 0x6a, 0xe6, 0x1b, - 0x2f, 0xa3, 0x15, 0x36, 0xb1, 0x68, 0x65, 0x56, 0x2c, 0x74, 0x55, 0x73, 0x57, 0x47, 0xa0, 0x90, - 0x65, 0x50, 0x49, 0xa7, 0xab, 0x5c, 0xd7, 0xc1, 0x10, 0xd7, 0x17, 0x04, 0x76, 0xfb, 0xbe, 0x38, - 0x16, 0xcb, 0x0e, 0x50, 0xb3, 0x61, 0x4f, 0x38, 0x42, 0x0c, 0x65, 0x71, 0xb2, 0x24, 0x1b, 0xd9, - 0xa5, 0x24, 0x38, 0x8b, 0x4c, 0xe2, 0x32, 0xe3, 0xbe, 0x37, 0x42, 0x04, 0xc0, 0x47, 0x10, 0xf9, - 0xd7, 0x75, 0x3a, 0x39, 0x96, 0xb0, 0x83, 0xc9, 0x25, 0xbe, 0xbe, 0xb6, 0xd7, 0xdc, 0xcb, 0xd6, - 0x29, 0x54, 0x77, 0x87, 0xfe, 0x60, 0x78, 0xdf, 0x31, 0x91, 0x2c, 0x40, 0xc6, 0x67, 0xfb, 0x59, - 0x4c, 0x33, 0x37, 0xb5, 0x60, 0xef, 0xfc, 0x15, 0x98, 0xa6, 0xc7, 0x82, 0xda, 0xa7, 0x01, 0xd9, - 0xe9, 0x43, 0xea, 0x59, 0xa9, 0xdb, 0x74, 0x71, 0xd7, 0x71, 0xfe, 0x2a, 0x30, 0x64, 0xf8, 0xcf, - 0x0a, 0xb9, 0x05, 0x5b, 0xf9, 0xdc, 0x65, 0x2a, 0xe2, 0x3a, 0xa8, 0xa1, 0x3e, 0xe5, 0xa0, 0x02, - 0xf5, 0xb5, 0x19, 0x85, 0xf8, 0x4d, 0x3d, 0xb2, 0x7c, 0x88, 0x39, 0xe3, 0xc4, 0x8b, 0xa9, 0x66, - 0xff, 0x04, 0x5a, 0xca, 0x1e, 0xd1, 0xb2, 0xb1, 0x87, 0x65, 0xfc, 0x96, 0x99, 0xb4, 0x3e, 0x81, - 0x7d, 0x48, 0x35, 0x6d, 0xbc, 0x9e, 0x75, 0xbb, 0x44, 0x93, 0x03, 0x6f, 0xfb, 0x44, 0x5a, 0x70, - 0x31, 0x0a, 0x83, 0x12, 0xd7, 0xd6, 0xe8, 0x60, 0x23, 0x7c, 0x67, 0x93, 0x08, 0x58, 0xfb, 0xf4, - 0xa7, 0x0d, 0xe3, 0xf9, 0x16, 0xc8, 0x40, 0xb5, 0xad, 0x03, 0x1a, 0x03, 0x15, 0xee, 0x62, 0xc2, - 0xf4, 0x3a, 0x9a, 0x74, 0x5b, 0xf0, 0x2e, 0x85, 0xcc, 0x02, 0x5e, 0x8a, 0x73, 0xc4, 0x13, 0x5b, - 0xef, 0x40, 0x6e, 0x70, 0x98, 0x5c, 0xc2, 0xda, 0xa0, 0xd6, 0x71, 0xc7, 0xf8, 0x66, 0x35, 0x14, - 0xc7, 0x77, 0x3d, 0x36, 0x23, 0x51, 0x11, 0x11, 0xad, 0x89, 0xfb, 0x0a, 0x83, 0xbc, 0x9c, 0xaa, - 0x7e, 0xd5, 0x2d, 0x9b, 0x39, 0x54, 0xbe, 0x9b, 0xed, 0x63, 0x36, 0x5f, 0xab, 0xb9, 0x8a, 0x44, - 0x2b, 0x53, 0x4f, 0x52, 0x8e, 0xb7, 0xbd, 0x3c, 0x9a, 0xb4, 0xf9, 0xa3, 0x22, 0x0e, 0xa2, 0x5b, - 0xb8, 0xfa, 0x43, 0xe5, 0x86, 0x90, 0xc8, 0x72, 0x9f, 0x98, 0xac, 0xc3, 0xaf, 0x34, 0xd9, 0xb8, - 0xa0, 0x53, 0x45, 0x41, 0x3a, 0x46, 0x5d, 0x9b, 0x4e, 0x3a, 0xa3, 0x23, 0xf4, 0x8a, 0x90, 0xa1, - 0xed, 0x19, 0x75, 0x29, 0xad, 0xd0, 0x0b, 0x8d, 0x4e, 0xa0, 0x5f, 0x5e, 0x75, 0x0e, 0xf2, 0xc5, - 0x28, 0x9d, 0xf0, 0xdd, 0xab, 0x84, 0xa0, 0x58, 0xaf, 0x64, 0xc3, 0xc1, 0xd0, 0x5d, 0x6d, 0xdf, - 0xd0, 0xdb, 0x4f, 0x1f, 0x18, 0x6e, 0x8f, 0x9c, 0xdf, 0x7b, 0x8d, 0x31, 0x51, 0xd6, 0x40, 0x17, - 0x0f, 0xff, 0x24, 0xd6, 0xec, 0xcf, 0x18, 0xfc, 0xa2, 0x3c, 0x73, 0x68, 0x85, 0xdd, 0x3c, 0xcc, - 0xf9, 0xae, 0x48, 0xf6, 0x27, 0x01, 0x7e, 0x44, 0xaa, 0x4b, 0xfc, 0x92, 0x48, 0xc1, 0x6b, 0x79, - 0xc9, 0xfb, 0x32, 0x52, 0x91, 0x4a, 0x31, 0xd8, 0x3c, 0xe2, 0x1e, 0x5d, 0x08, 0xf5, 0xb6, 0x2b, - 0xe5, 0x45, 0x14, 0xbf, 0x07, 0x93, 0x92, 0xf4, 0xb6, 0x3b, 0x20, 0x0d, 0x99, 0x01, 0xd0, 0xa4, - 0xec, 0xe3, 0x32, 0x9d, 0x18, 0xef, 0xd4, 0xaf, 0xea, 0x33, 0x1e, 0x9b, 0x1c, 0x85, 0x78, 0x46, - 0x6b, 0x26, 0x63, 0x0d, 0x6f, 0xad, 0x56, 0xcb, 0x9a, 0x18, 0xff, 0xdf, 0x3f, 0x24, 0xa4, 0x56, - 0xbe, 0xc4, 0x6a, 0xd6, 0xfc, 0x68, 0x93, 0x60, 0xf5, 0x50, 0xf2, 0xd1, 0x67, 0xf7, 0x20, 0x5b, - 0x43, 0xe5, 0x81, 0x41, 0xd4, 0x80, 0xa0, 0xca, 0x83, 0x50, 0x00, 0xd4, 0x6e, 0xc0, 0xb2, 0x72, - 0xa0, 0x85, 0x0a, 0x34, 0x58, 0xbc, 0x78, 0x90, 0x88, 0x6e, 0x10, 0xf3, 0x22, 0xd4, 0x3a, 0xda, - 0x8e, 0xce, 0x26, 0x77, 0x1b, 0x9d, 0x06, 0x82, 0x90, 0x17, 0xc4, 0x6c, 0x1a, 0x9a, 0xdf, 0x5a, - 0x53, 0xba, 0x41, 0x50, 0x3c, 0x77, 0x97, 0x4b, 0xb9, 0x1f, 0x70, 0x57, 0x0e, 0xda, 0x0d, 0x1a, - 0xcc, 0x57, 0x23, 0x08, 0x6b, 0x1e, 0x47, 0xca, 0x2b, 0x25, 0xa3, 0xd9, 0x67, 0xee, 0x26, 0xa2, - 0x52, 0x7c, 0xba, 0x73, 0xd4, 0xf9, 0xcd, 0x9a, 0x0f, 0x5d, 0xc2, 0xb3, 0xc3, 0x06, 0x5b, 0x1f, - 0x95, 0x8e, 0x12, 0x0e, 0x7f, 0x01, 0x6f, 0x43, 0xec, 0xde, 0x03, 0xe6, 0xfc, 0xe6, 0x7f, 0xcb, - 0xa2, 0xf7, 0x67, 0xc8, 0x04, 0xce, 0xec, 0xfb, 0x3d, 0xc3, 0x27, 0x41, 0xed, 0x9f, 0x8a, 0x6c, - 0xe1, 0x69, 0x23, 0xea, 0x0f, 0xa2, 0x4a, 0xf3, 0x6f, 0x6c, 0x23, 0x96, 0x6e, 0x55, 0xaa, 0x18, - 0x89, 0xfa, 0x86, 0x13, 0x06, 0x82, 0x32, 0x3e, 0x9f, 0x7b, 0x79, 0x94, 0xe7, 0xe4, 0x95, 0xf6, - 0x84, 0xb8, 0xe4, 0xd2, 0x2b, 0x5f, 0x5b, 0xf1, 0x9f, 0x3e, 0xe2, 0x66, 0x33, 0xa3, 0x50, 0x53, - 0x04, 0x98, 0x53, 0x3c, 0xd8, 0x67, 0x98, 0xbc, 0xda, 0xbd, 0xe5, 0x6f, 0xbd, 0x60, 0x00, 0xca, - 0x10, 0xef, 0x51, 0x62, 0xd3, 0xba, 0x60, 0xac, 0xb5, 0x99, 0x29, 0x12, 0xc8, 0x27, 0xf6, 0x2b, - 0x3f, 0x35, 0xc6, 0xab, 0xce, 0xb8, 0x19, 0xd3, 0x12, 0xbd, 0xf6, 0x38, 0xf5, 0x11, 0xd8, 0xd4, - 0x08, 0xf2, 0x0f, 0x89, 0xe3, 0x35, 0xa7, 0x1d, 0x3d, 0xdf, 0x2d, 0x35, 0x68, 0x28, 0x4b, 0xd9, - 0x0d, 0xf6, 0xfe, 0xd0, 0x18, 0xc2, 0x5f, 0xa3, 0x58, 0x6a, 0x2d, 0x16, 0xf7, 0x43, 0x34, 0xde, - 0x50, 0x22, 0x2e, 0xd3, 0xf6, 0x1f, 0x2c, 0x8d, 0xfd, 0x76, 0xf1, 0xb8, 0xaf, 0x51, 0x6b, 0xea, - 0x31, 0xcf, 0x11, 0xbf, 0x98, 0xf2, 0xc7, 0x39, 0xf1, 0x41, 0x53, 0x64, 0xd7, 0x68, 0x9e, 0x04, - 0x5e, 0x25, 0x55, 0x3e, 0x65, 0x81, 0x73, 0x73, 0xde, 0x7d, 0x18, 0x15, 0x9f, 0xab, 0xdd, 0xf2, - 0xa3, 0x28, 0x4b, 0x54, 0x99, 0xb9, 0x97, 0x4d, 0xf5, 0xc7, 0xa7, 0xae, 0xa7, 0x10, 0xe4, 0x63, - 0x29, 0x90, 0x3c, 0xe0, 0x74, 0xc8, 0xc0, 0x95, 0x7a, 0x4d, 0x86, 0x98, 0x8c, 0xe3, 0x14, 0x0e, - 0x0c, 0xc0, 0x8c, 0x04, 0x39, 0xf9, 0xa8, 0x14, 0x3f, 0x58, 0x07, 0x6f, 0x68, 0xd8, 0x14, 0xba, - 0xfe, 0x2d, 0x0e, 0x13, 0xb8, 0xec, 0xdd, 0xc8, 0xdb, 0xff, 0xe3, 0x0b, 0x61, 0x9a, 0x01, 0x2c, - 0x9a, 0xe5, 0x0c, 0x23, 0x4e, 0x46, 0xb9, 0x8f, 0xaf, 0xbb, 0xea, 0x60, 0xc7, 0x7a, 0x5d, 0xc2, - 0x52, 0x04, 0x5c, 0xc6, 0x27, 0xcb, 0xd8, 0x8f, 0xe4, 0xed, 0xf7, 0x39, 0xac, 0xd8, 0x28, 0xd6, - 0xed, 0x9c, 0xe0, 0x15, 0xbb, 0x2d, 0xce, 0x42, 0x63, 0x85, 0xda, 0x75, 0xd9, 0x86, 0x1c, 0x57, - 0x24, 0x7d, 0x90, 0x99, 0x56, 0x6a, 0xe6, 0x83, 0x3b, 0xf8, 0x84, 0x74, 0xf6, 0x06, 0xb7, 0x01, - 0x9b, 0x48, 0x6b, 0x38, 0x36, 0x2b, 0xe8, 0x16, 0xa8, 0x88, 0x8b, 0x67, 0x38, 0x39, 0x12, 0xab, - 0x91, 0x4e, 0x53, 0xa0, 0x05, 0x35, 0xe4, 0x9a, 0x59, 0x69, 0xe0, 0xb9, 0x1c, 0x88, 0x5f, 0x1c, - 0xad, 0x6b, 0xb6, 0xe2, 0x1a, 0x60, 0x33, 0xf5, 0x49, 0x7d, 0xfe, 0xd4, 0x0f, 0xe5, 0x09, 0xcd, - 0xb7, 0x6b, 0x8d, 0xea, 0x5e, 0x08, 0x71, 0x43, 0xe1, 0x4a, 0x66, 0x8c, 0x75, 0xc2, 0x59, 0xfe, - 0xee, 0x92, 0xc1, 0xce, 0x2c, 0x7b, 0x59, 0x5f, 0xce, 0x5f, 0xb5, 0xca, 0x4d, 0x7d, 0x41, 0xc4, - 0x8e, 0xd6, 0x71, 0xd6, 0x6d, 0x58, 0x14, 0xad, 0x4d, 0x9e, 0xb0, 0x0f, 0x79, 0x14, 0xef, 0x7b, - 0x8f, 0x8b, 0xeb, 0xab, 0x8d, 0x5a, 0x3d, 0xc8, 0xd0, 0xd8, 0x36, 0xb2, 0xb4, 0xbd, 0x5d, 0x42, - 0x44, 0x5c, 0x3a, 0x32, 0x32, 0xbf, 0xe7, 0xb2, 0x23, 0x02, 0xf4, 0xeb, 0xf5, 0xd7, 0x76, 0x4e, - 0xaa, 0x09, 0xbe, 0x2c, 0x90, 0xbf, 0x34, 0x81, 0x82, 0x89, 0x70, 0x9e, 0x19, 0xf7, 0x25, 0xbf, - 0xdb, 0x39, 0x62, 0x45, 0x47, 0x75, 0x83, 0x0a, 0xa5, 0xd0, 0x66, 0x7c, 0x66, 0x9e, 0x40, 0x50, - 0x84, 0x4c, 0xf2, 0x1e, 0x40, 0xab, 0x49, 0x4e, 0x0c, 0x87, 0x40, 0x87, 0x42, 0x10, 0xd2, 0x7c, - 0x63, 0xfc, 0x30, 0x3d, 0xfc, 0xc0, 0x7f, 0x0c, 0x10, 0x1b, 0x1b, 0xdb, 0xf2, 0xeb, 0xd8, 0x18, - 0xbb, 0xd0, 0xca, 0xb0, 0x78, 0x7f, 0x29, 0x91, 0xe6, 0x52, 0x85, 0xe2, 0xf3, 0xbc, 0xdc, 0x45, - 0x23, 0x28, 0x49, 0xbb, 0x3d, 0xd8, 0x03, 0x07, 0xb3, 0x0f, 0xee, 0x8b, 0x81, 0x07, 0xe1, 0xd4, - 0x84, 0x88, 0x6e, 0x46, 0xf3, 0x19, 0x2c, 0x9f, 0xde, 0x28, 0x54, 0xb3, 0xe3, 0xe5, 0x13, 0xca, - 0xb5, 0x7f, 0xb9, 0xa3, 0x4d, 0xb1, 0xb3, 0x1d, 0xe9, 0xd4, 0x19, 0x9c, 0x48, 0xa9, 0xd0, 0xc6, - 0x1a, 0x42, 0x63, 0xa5, 0x0c, 0xb7, 0xca, 0x3d, 0xdd, 0xb8, 0xe9, 0x7d, 0x65, 0xb1, 0x4f, 0xe9, - 0x5b, 0x44, 0x36, 0x1c, 0xe3, 0xcb, 0xb4, 0x1d, 0x37, 0x8f, 0xa0, 0xda, 0x4e, 0x7e, 0x7b, 0xc7, - 0x0f, 0x35, 0xc9, 0xf5, 0x46, 0x86, 0x83, 0xfd, 0x4a, 0x59, 0x73, 0x94, 0x68, 0xdd, 0x53, 0x29, - 0xb9, 0xdb, 0xbb, 0xd0, 0x83, 0x53, 0xb5, 0x14, 0x43, 0x94, 0xe4, 0x2e, 0x40, 0xca, 0x83, 0xf2, - 0x48, 0x5e, 0x35, 0xa4, 0xfe, 0x90, 0xc3, 0xd6, 0x7d, 0x28, 0x7e, 0xe0, 0x26, 0x02, 0x05, 0x77, - 0x8a, 0x1f, 0xf5, 0x07, 0xb7, 0xf0, 0x35, 0x00, 0x2c, 0x19, 0x36, 0x78, 0x42, 0x1f, 0xa7, 0xad, - 0x3d, 0x47, 0x19, 0xbc, 0x4e, 0xf7, 0x3f, 0xb2, 0x19, 0xf0, 0xa6, 0xf5, 0x64, 0x89, 0x1d, 0xf0, - 0x5f, 0x5e, 0x8b, 0xba, 0x19, 0xb4, 0x8f, 0xe1, 0xb5, 0x98, 0x2c, 0x19, 0xd6, 0xf8, 0xe7, 0xad, - 0x01, 0xcc, 0xc0, 0xd8, 0x60, 0x68, 0xb3, 0x74, 0xa9, 0xc6, 0xd7, 0x62, 0xbc, 0xe7, 0x93, 0x9d, - 0x2f, 0x22, 0xe6, 0x65, 0x8f, 0x9f, 0x38, 0xcd, 0x19, 0x7b, 0x5a, 0x24, 0xc1, 0xf1, 0x74, 0xcc, - 0x33, 0x25, 0x67, 0x96, 0x49, 0xd7, 0x5f, 0xd4, 0x11, 0x2c, 0x48, 0x01, 0x6a, 0x97, 0x6d, 0xb2, - 0xeb, 0x79, 0xd7, 0x64, 0x2e, 0x20, 0x5f, 0x04, 0x47, 0xaa, 0x20, 0xb3, 0xd7, 0xbd, 0x30, 0x9f, - 0x3d, 0x66, 0x1a, 0x34, 0xcf, 0x4a, 0x53, 0x65, 0x58, 0xbc, 0x59, 0xcb, 0x77, 0x2b, 0x1f, 0xdc, - 0xb8, 0xfb, 0xf3, 0xc6, 0x54, 0xb6, 0x24, 0xb4, 0x2a, 0xc0, 0xe3, 0x44, 0x50, 0xd4, 0x0b, 0xe0, - 0x12, 0x19, 0xc1, 0x58, 0x2f, 0x8e, 0xe9, 0xac, 0x83, 0x0d, 0x26, 0xc9, 0x98, 0x33, 0x13, 0x2c, - 0xfa, 0xa8, 0x7e, 0xeb, 0x5e, 0xc5, 0x9f, 0xe8, 0x2b, 0x0b, 0xb3, 0x9a, 0x2b, 0x6c, 0xdf, 0xbb, - 0x6d, 0x66, 0x6c, 0x75, 0x06, 0x32, 0xe2, 0x19, 0x36, 0xdb, 0xa1, 0x18, 0x28, 0x55, 0xbb, 0x10, - 0xf8, 0x9b, 0xab, 0xe1, 0x05, 0x05, 0x53, 0x52, 0x26, 0x15, 0xa6, 0x52, 0x4c, 0x8e, 0x38, 0x26, - 0x58, 0x45, 0x8a, 0x5f, 0x9c, 0x90, 0x57, 0xba, 0x47, 0x3f, 0x91, 0x00, 0xea, 0x82, 0x8a, 0x07, - 0x45, 0x7e, 0x30, 0x59, 0x99, 0xc6, 0xeb, 0x11, 0x90, 0xa9, 0x20, 0x3c, 0xc3, 0x43, 0x78, 0x51, - 0x6c, 0xfd, 0xd8, 0xf2, 0xc7, 0x01, 0xfd, 0x9f, 0xaa, 0xef, 0x38, 0x81, 0x56, 0x92, 0x8a, 0xf8, - 0x88, 0x28, 0x98, 0xf3, 0x2d, 0x1a, 0x9a, 0xcb, 0xe8, 0x5d, 0x58, 0x21, 0x57, 0xd1, 0x23, 0x80, - 0x77, 0x63, 0xb4, 0xe6, 0x18, 0x7a, 0x26, 0xa8, 0x89, 0xbb, 0xed, 0xab, 0x53, 0x8b, 0xaa, 0x40, - 0x5f, 0xc8, 0x2a, 0x54, 0x9d, 0xf5, 0xba, 0xd7, 0x7d, 0x93, 0xb0, 0x11, 0xd5, 0x4a, 0x99, 0x42, - 0xe2, 0x5b, 0xfa, 0x8b, 0xbc, 0x1b, 0xb0, 0xf3, 0x79, 0xbc, 0xed, 0x22, 0xd7, 0x06, 0xd6, 0xc9, - 0x9a, 0x84, 0xa1, 0x5e, 0x2f, 0x34, 0x8d, 0xeb, 0xf4, 0xa8, 0x94, 0x0e, 0x2f, 0x70, 0x64, 0x74, - 0x75, 0x8c, 0x7e, 0x80, 0x45, 0x36, 0xe4, 0x0e, 0x0e, 0x20, 0x2f, 0xbd, 0xf0, 0xc1, 0xf6, 0x47, - 0x0a, 0xbe, 0xe0, 0x84, 0x42, 0x87, 0x14, 0x83, 0x09, 0xd1, 0x8e, 0xbb, 0xaf, 0x58, 0x3f, 0x01, - 0x9b, 0x79, 0x6a, 0xa9, 0x1e, 0x4e, 0x29, 0xda, 0xb4, 0x86, 0xb8, 0x87, 0x14, 0x9a, 0x9f, 0x48, - 0x19, 0xc8, 0x1d, 0x7c, 0x27, 0xd9, 0x97, 0xd0, 0xe7, 0x9d, 0x88, 0xd8, 0x92, 0x6f, 0x8a, 0x59, - 0x62, 0x45, 0xfd, 0xf4, 0xd5, 0x6e, 0xfd, 0xc1, 0x3a, 0x04, 0xdb, 0x97, 0xf4, 0xf3, 0x5b, 0xec, - 0x9e, 0xd6, 0x54, 0x8c, 0xf3, 0x21, 0xe8, 0x62, 0x56, 0xef, 0xbf, 0xe3, 0xb8, 0xc3, 0x54, 0x8a, - 0x2f, 0x55, 0x70, 0xbc, 0x29, 0x4e, 0x42, 0xf0, 0x5d, 0x07, 0x95, 0xb9, 0x8e, 0x55, 0xfd, 0x78, - 0x02, 0xec, 0x78, 0x31, 0x4f, 0x38, 0xe1, 0x7c, 0xe0, 0x6b, 0x01, 0x67, 0x35, 0x94, 0x18, 0x95, - 0x94, 0x91, 0x14, 0x25, 0x62, 0xf8, 0x38, 0xf2, 0x26, 0x72, 0x64, 0x26, 0xef, 0xa3, 0x61, 0x3c, - 0xdd, 0x86, 0xc9, 0xd3, 0x79, 0xd0, 0xb9, 0x16, 0xe6, 0x09, 0xfc, 0x09, 0x0c, 0x03, 0xcd, 0x83, - 0xf7, 0x2f, 0x3c, 0xbb, 0x70, 0xea, 0x70, 0x30, 0x8c, 0x4f, 0x5e, 0x78, 0x2a, 0xfc, 0xe6, 0x2d, - 0xb0, 0x95, 0xa7, 0x78, 0x8c, 0xd0, 0xd7, 0xf7, 0x5f, 0x93, 0xee, 0xb6, 0x6b, 0x1c, 0x14, 0x12, - 0x55, 0x05, 0x2b, 0xa0, 0x46, 0x11, 0xd0, 0x3b, 0x80, 0x88, 0xe2, 0xa2, 0x74, 0x43, 0x5a, 0x8c, - 0xf1, 0x6e, 0x1d, 0x12, 0xd8, 0x38, 0x73, 0x72, 0x2b, 0x96, 0xb1, 0xa6, 0x00, 0xff, 0x06, 0x36, - 0xe8, 0x79, 0xb1, 0xf1, 0x69, 0xc7, 0xfc, 0xd9, 0x76, 0x92, 0xf0, 0xe8, 0x5b, 0x6c, 0x69, 0x8d, - 0x09, 0x5e, 0xb5, 0xbb, 0xae, 0x0a, 0x61, 0xb4, 0x75, 0x8c, 0xac, 0x5f, 0x28, 0x01, 0xb4, 0x58, - 0xb5, 0x6c, 0x3e, 0x92, 0x9e, 0x03, 0x84, 0x85, 0xdd, 0x91, 0xa9, 0x55, 0x60, 0xc8, 0xcd, 0x38, - 0xd4, 0xa0, 0x88, 0x8c, 0x8d, 0xdd, 0x0a, 0x0f, 0x4d, 0x30, 0x94, 0x51, 0xfe, 0x71, 0x07, 0x05, - 0x97, 0xc6, 0x98, 0xe0, 0x81, 0x41, 0xb4, 0xa0, 0xe5, 0x3a, 0xe9, 0x4b, 0xa4, 0xea, 0x27, 0x51, - 0x4c, 0xef, 0x51, 0x06, 0xcd, 0xbd, 0x88, 0x76, 0xc0, 0x57, 0x67, 0x42, 0x88, 0x8e, 0xbd, 0x11, - 0xc0, 0x8d, 0x38, 0x60, 0xfe, 0x08, 0xbe, 0xdf, 0x29, 0x16, 0x86, 0xa1, 0xf6, 0x6e, 0x34, 0xe6, - 0x9e, 0x17, 0x0c, 0x6f, 0x98, 0x1a, 0xdd, 0xd0, 0x0e, 0x07, 0x74, 0x7e, 0x85, 0xca, 0x32, 0x54, - 0xb9, 0x94, 0xb4, 0x00, 0xf5, 0x35, 0x64, 0xe9, 0x21, 0x3a, 0x41, 0x56, 0x42, 0xe2, 0x72, 0x8d, - 0xb6, 0x94, 0xe7, 0xe5, 0xe0, 0xf1, 0x47, 0x7f, 0xe8, 0xc6, 0x77, 0x09, 0x49, 0x8a, 0x53, 0xfb, - 0xb2, 0x44, 0xfa, 0xdf, 0x43, 0xe9, 0x49, 0x46, 0xbf, 0x6c, 0x66, 0x5b, 0x5c, 0xef, 0x7a, 0xf5, - 0xd2, 0xca, 0xdc, 0xe2, 0x0b, 0x81, 0xd7, 0xe1, 0xf3, 0xbc, 0xb3, 0xba, 0x91, 0xc4, 0xa9, 0xdd, - 0x1b, 0x69, 0xb0, 0x18, 0x82, 0xd7, 0x3e, 0xc2, 0x52, 0x20, 0xf4, 0x41, 0xf4, 0x5b, 0x72, 0x0f, - 0x31, 0x72, 0x60, 0x6d, 0x3d, 0x40, 0x46, 0x87, 0x66, 0xf9, 0x2a, 0x26, 0x58, 0x93, 0xaf, 0x92, - 0x3e, 0x76, 0xdc, 0xee, 0x38, 0x3d, 0x06, 0x1a, 0x45, 0x56, 0x07, 0x66, 0xe6, 0x29, 0xb8, 0x3d, - 0x63, 0x3f, 0xe8, 0x74, 0xcc, 0x28, 0xae, 0xf2, 0x66, 0xb1, 0xf0, 0x72, 0x5c, 0xfb, 0xa2, 0x8b, - 0xf3, 0xc5, 0xb2, 0x9f, 0x0a, 0x26, 0x89, 0xba, 0xe1, 0x81, 0x5b, 0x40, 0x7e, 0x9d, 0x2f, 0x5e, - 0x4d, 0x8a, 0x26, 0x7e, 0x40, 0x30, 0x21, 0x28, 0x40, 0xc0, 0x43, 0x46, 0x09, 0x5c, 0xc8, 0xb0, - 0xc5, 0xdf, 0xc6, 0xe4, 0xb3, 0xa3, 0xb1, 0xf2, 0xf5, 0x35, 0x9b, 0x9f, 0xcf, 0xee, 0x17, 0x88, - 0xf5, 0xb7, 0xe9, 0xd1, 0x5d, 0xcb, 0xea, 0x27, 0xbd, 0x8b, 0xd6, 0x02, 0xe6, 0xc7, 0x40, 0x47, - 0x58, 0x2e, 0xd5, 0x55, 0x0b, 0x22, 0x0e, 0x6d, 0x31, 0x9b, 0x78, 0x4a, 0x16, 0x05, 0x31, 0xfb, - 0xc5, 0xe4, 0x09, 0x3b, 0x3f, 0x63, 0x38, 0x8f, 0x0d, 0x0f, 0xbf, 0x00, 0xb6, 0x0f, 0xa7, 0x69, - 0xbd, 0x55, 0xa7, 0x57, 0xea, 0xa6, 0xd7, 0x47, 0xe6, 0x8a, 0x54, 0x23, 0xef, 0xd0, 0xa8, 0x5e, - 0x36, 0xbb, 0x5a, 0x66, 0xb6, 0xfd, 0xd9, 0x22, 0x8f, 0x7f, 0x11, 0xb5, 0xc5, 0xec, 0x6e, 0x81, - 0xf4, 0xb6, 0x5c, 0xcc, 0x9c, 0x9c, 0xac, 0x94, 0x5c, 0x56, 0xd1, 0xf5, 0xfe, 0x00, 0xbc, 0xed, - 0x9f, 0xe2, 0x42, 0xac, 0x38, 0xb0, 0x12, 0x7b, 0xc1, 0xe8, 0x4d, 0x92, 0x55, 0x7b, 0x5e, 0x3e, - 0x5d, 0xd5, 0xf6, 0xfb, 0x90, 0x68, 0xd5, 0xa1, 0x06, 0x82, 0xc9, 0x24, 0x2b, 0x68, 0xc5, 0x40, - 0x9a, 0xd4, 0xca, 0xf0, 0x72, 0xe6, 0x6f, 0xe1, 0xd3, 0x18, 0xbe, 0xac, 0x3e, 0x4c, 0x87, 0x42, - 0xcf, 0x82, 0x30, 0x3f, 0xbc, 0xf6, 0x58, 0x34, 0xcb, 0x4c, 0x77, 0xb1, 0xc0, 0x33, 0x4a, 0xbe, - 0x33, 0x5a, 0xb4, 0xc9, 0x10, 0x51, 0xca, 0x35, 0xa7, 0x49, 0x7a, 0xd3, 0x81, 0x80, 0x5d, 0x72, - 0x1d, 0x12, 0x70, 0xc9, 0x4a, 0xa5, 0x5e, 0xeb, 0x55, 0x5b, 0xaa, 0x38, 0xf4, 0xad, 0x9f, 0x8e, - 0xf6, 0xa7, 0xd6, 0x15, 0xb1, 0x16, 0x52, 0x85, 0x90, 0x71, 0x81, 0x23, 0xeb, 0x5a, 0xaf, 0xd5, - 0x52, 0xf3, 0xff, 0x73, 0x97, 0x41, 0xc2, 0x67, 0x94, 0x03, 0x3d, 0x2e, 0x3d, 0xac, 0xfd, 0x90, - 0x4e, 0xcf, 0xc5, 0x1e, 0xde, 0x1c, 0x54, 0x76, 0x02, 0xbf, 0xb2, 0x83, 0x13, 0x88, 0x00, 0x9d, - 0xe0, 0xb2, 0x80, 0x4b, 0x77, 0x55, 0x49, 0xca, 0x32, 0x43, 0x01, 0x8f, 0xae, 0x03, 0x85, 0x6e, - 0x24, 0xe5, 0x21, 0xa4, 0xca, 0xe0, 0x2c, 0xe8, 0x1c, 0xfb, 0x0f, 0x95, 0x9f, 0xd4, 0xdb, 0xc7, - 0x58, 0xd6, 0x72, 0xa7, 0xf5, 0x79, 0xbc, 0x56, 0x78, 0xc1, 0xce, 0x33, 0x0d, 0x80, 0xcb, 0xdc, - 0x93, 0x40, 0x6d, 0x0e, 0xf8, 0xe2, 0x3d, 0x6e, 0x5d, 0x2d, 0xa1, 0x5c, 0x38, 0x6e, 0x29, 0x7d, - 0x8d, 0xb2, 0x49, 0x1f, 0x08, 0xa2, 0x6d, 0xcc, 0x09, 0xaf, 0x29, 0x64, 0x56, 0xc6, 0x5d, 0xbf, - 0x47, 0x09, 0x65, 0xf7, 0x04, 0x8d, 0x04, 0xd7, 0x0d, 0x07, 0xd4, 0x53, 0x34, 0x49, 0xe4, 0xe9, - 0x2b, 0xfe, 0x15, 0x72, 0xca, 0x06, 0x75, 0x96, 0x3d, 0x83, 0xce, 0xbc, 0x14, 0x80, 0x2e, 0x35, - 0x9a, 0xee, 0x6d, 0x62, 0x1f, 0x03, 0xa8, 0x1e, 0x2e, 0xbe, 0x11, 0x40, 0xd2, 0xbe, 0xb9, 0xbb, - 0x9d, 0xd4, 0x98, 0xfa, 0x4b, 0x2c, 0x4e, 0xdc, 0x5b, 0x6d, 0xa1, 0xea, 0xfe, 0xbd, 0x13, 0x6c, - 0xcc, 0xf0, 0x4f, 0x99, 0x29, 0xc6, 0x71, 0x4f, 0x91, 0x07, 0xb6, 0xed, 0x87, 0x30, 0xe4, 0x57, - 0xb7, 0xd5, 0x9c, 0x0b, 0x0e, 0xb1, 0x42, 0xcf, 0x6d, 0xed, 0xd8, 0xbb, 0x04, 0x05, 0x44, 0xd0, - 0x4c, 0x43, 0x1c, 0xc9, 0x11, 0xa4, 0x44, 0xb4, 0x17, 0x22, 0xbe, 0x7f, 0x56, 0xe9, 0x1c, 0x4c, - 0xd1, 0xad, 0xb7, 0x0b, 0x86, 0x14, 0x49, 0x54, 0x5e, 0xc6, 0x3e, 0x1c, 0xc7, 0xfe, 0x50, 0x60, - 0x7a, 0xa7, 0x3a, 0x52, 0x19, 0x93, 0xa7, 0xe4, 0x7c, 0xbc, 0x0b, 0xa7, 0x9f, 0x06, 0x27, 0x1a, - 0x1d, 0xa3, 0x59, 0x6c, 0x6a, 0x9d, 0x5e, 0xb3, 0xa5, 0xe5, 0x3c, 0x30, 0x03, 0x51, 0xc6, 0xfc, - 0xde, 0x86, 0xde, 0xd9, 0x01, 0x54, 0x4c, 0x51, 0x50, 0x52, 0x38, 0xf3, 0x00, 0x0d, 0x4e, 0x18, - 0xf3, 0xaa, 0xbf, 0x01, 0xc2, 0x12, 0x87, 0xd7, 0x54, 0x0a, 0x14, 0xdb, 0x4f, 0x27, 0xc9, 0x90, - 0x70, 0x5b, 0x4d, 0x4d, 0xcb, 0x24, 0x44, 0xe3, 0x78, 0x09, 0x24, 0x3b, 0x72, 0x79, 0x36, 0x49, - 0x10, 0xad, 0xd3, 0x45, 0x5b, 0x76, 0x6c, 0xdc, 0xb2, 0xbb, 0x6e, 0x24, 0xbc, 0xc8, 0x75, 0x4b, - 0xbd, 0x6d, 0x4a, 0x8a, 0x67, 0x19, 0xb1, 0x82, 0x98, 0xca, 0xef, 0x4f, 0x97, 0x33, 0x52, 0x63, - 0x92, 0xc4, 0x92, 0xb7, 0xa7, 0xaa, 0x10, 0x05, 0x70, 0x8a, 0xee, 0xa4, 0x25, 0xb3, 0x5a, 0xab, - 0xef, 0x4e, 0x45, 0x6a, 0x6f, 0x5d, 0xfa, 0x6f, 0xa5, 0x5c, 0xc1, 0x56, 0xf0, 0x9f, 0x5b, 0x57, - 0x04, 0x81, 0x42, 0xfb, 0x3b, 0x35, 0x3c, 0x16, 0x46, 0x70, 0xf0, 0x16, 0x4a, 0x31, 0x16, 0x5e, - 0xae, 0xe5, 0x32, 0x51, 0x11, 0xae, 0x54, 0x3a, 0x91, 0x15, 0x13, 0x8a, 0xcd, 0x1f, 0xfb, 0x78, - 0xe2, 0xa4, 0x65, 0xe1, 0x6c, 0x12, 0x65, 0x6d, 0x42, 0x35, 0x09, 0xb1, 0xea, 0x87, 0xe9, 0xd2, - 0xb7, 0x7c, 0x82, 0x46, 0x42, 0xc9, 0xbf, 0x4f, 0xb1, 0x05, 0xb6, 0x93, 0x75, 0xb1, 0x10, 0xe2, - 0x49, 0xd5, 0x25, 0xe4, 0xa6, 0x19, 0xde, 0xb2, 0xc5, 0x07, 0x21, 0x33, 0xe9, 0xac, 0x47, 0x2a, - 0xcf, 0x04, 0xb6, 0x35, 0x4d, 0x90, 0xdf, 0x88, 0x69, 0x80, 0x94, 0xb7, 0xcb, 0x81, 0x5a, 0x99, - 0xb7, 0xd9, 0xa0, 0x65, 0x56, 0xf4, 0xfc, 0xe1, 0x17, 0x35, 0x4e, 0x0c, 0x1e, 0xbc, 0x47, 0xfd, - 0xc9, 0xbb, 0x06, 0x21, 0xa7, 0x21, 0x90, 0x65, 0xbb, 0x7d, 0x86, 0xe1, 0xa9, 0xfe, 0xdb, 0x0c, - 0xc2, 0x17, 0x44, 0x9f, 0x6c, 0x63, 0x82, 0x9f, 0x10, 0x16, 0x18, 0x19, 0x09, 0x02, 0x2d, 0x01, - 0x20, 0xe6, 0x32, 0xd5, 0xdd, 0x7e, 0x27, 0x66, 0xd0, 0x62, 0x45, 0x29, 0x63, 0x87, 0xc6, 0x0e, - 0xe5, 0x1b, 0x28, 0xe8, 0xbf, 0x04, 0x80, 0x4f, 0x77, 0xc0, 0xb0, 0x81, 0x01, 0xce, 0x82, 0x9f, - 0x8f, 0x51, 0xf7, 0x0d, 0xb7, 0x50, 0x9b, 0x42, 0x16, 0x0c, 0x28, 0x00, 0x7e, 0x2b, 0x78, 0xea, - 0xac, 0x33, 0xf1, 0xd4, 0x7c, 0xb1, 0x22, 0xe7, 0x39, 0x66, 0xac, 0xcf, 0x41, 0xeb, 0x86, 0x29, - 0xc0, 0x6a, 0x04, 0x92, 0xf2, 0xe4, 0x3c, 0x5d, 0x3f, 0x06, 0xbe, 0xfc, 0x1d, 0xc3, 0x8a, 0x84, - 0x9d, 0x2e, 0xe7, 0x69, 0x22, 0x85, 0x75, 0x83, 0xad, 0x94, 0xa9, 0x8a, 0x94, 0x86, 0xad, 0xcb, - 0x49, 0xcb, 0x8c, 0xdc, 0xce, 0x20, 0xe0, 0x1b, 0xe2, 0xb1, 0x16, 0x85, 0x6c, 0xdf, 0x31, 0xee, - 0x24, 0xf1, 0xcd, 0xb9, 0xc7, 0x9c, 0x14, 0xb6, 0xe8, 0x8c, 0x56, 0x7e, 0x6b, 0x6e, 0xe1, 0xae, - 0xc1, 0x3c, 0x0b, 0x80, 0x5a, 0xd6, 0xca, 0xba, 0x74, 0x9b, 0x62, 0x55, 0xec, 0x04, 0x31, 0xf2, - 0x73, 0x22, 0x73, 0x2b, 0x59, 0x45, 0xc0, 0xe3, 0x37, 0x68, 0x75, 0xa6, 0x7b, 0x18, 0x68, 0xc4, - 0x5f, 0x8a, 0xa3, 0x96, 0xc8, 0x5e, 0x98, 0xca, 0x72, 0x42, 0x50, 0x30, 0x49, 0xbc, 0xbb, 0x2e, - 0xe1, 0xa3, 0xe1, 0x3a, 0x76, 0x1a, 0x9b, 0xb5, 0xa9, 0x7f, 0xc7, 0x48, 0xcf, 0xbb, 0x24, 0xd4, - 0xd6, 0xb9, 0x22, 0x57, 0x84, 0x20, 0x0d, 0xff, 0x62, 0x16, 0xab, 0xad, 0xed, 0x74, 0x9d, 0x64, - 0x45, 0x6a, 0x42, 0x88, 0x5b, 0xd9, 0x46, 0x8d, 0x73, 0x40, 0x89, 0xdd, 0x49, 0xf1, 0x34, 0x80, - 0x91, 0x5a, 0x1d, 0x6e, 0x79, 0xdf, 0xc8, 0x5c, 0xbc, 0x53, 0x20, 0x15, 0xf0, 0x6b, 0x40, 0x0d, - 0x6e, 0xe4, 0x90, 0xc9, 0x2d, 0xc7, 0x1e, 0x89, 0x3a, 0xfc, 0x12, 0xea, 0x35, 0x50, 0x4a, 0xc7, - 0x24, 0x53, 0x93, 0xc5, 0x78, 0x9d, 0x4b, 0x74, 0x2b, 0x3e, 0x89, 0x4b, 0xa2, 0x5f, 0xc4, 0xbe, - 0xb3, 0xa5, 0x50, 0x60, 0x47, 0xc3, 0x9f, 0xa2, 0xf0, 0x20, 0xc8, 0xbb, 0x52, 0x8a, 0x04, 0x52, - 0xe3, 0xe3, 0xb9, 0x4b, 0x07, 0x85, 0xad, 0x41, 0x8e, 0xfd, 0x12, 0x1f, 0x7c, 0x26, 0x78, 0xdc, - 0x8d, 0xcd, 0xce, 0x3e, 0x18, 0xce, 0x11, 0x9a, 0x1a, 0xe7, 0x7d, 0xbb, 0x14, 0xc0, 0x90, 0xfb, - 0x8e, 0x52, 0xd2, 0xa1, 0xcb, 0x9f, 0x24, 0x08, 0x78, 0xba, 0x4a, 0x15, 0x2f, 0xe0, 0x2c, 0x3b, - 0x86, 0xc0, 0x38, 0x1c, 0xb2, 0x92, 0x5d, 0x58, 0x2e, 0x76, 0x2a, 0x73, 0xb9, 0xb6, 0x2e, 0x90, - 0x9d, 0x83, 0xf1, 0xc7, 0xa1, 0xbf, 0x68, 0x97, 0xb4, 0x30, 0xbd, 0x3f, 0x79, 0x5a, 0x61, 0x24, - 0xb9, 0xaf, 0xa7, 0x18, 0x18, 0x4b, 0x16, 0x56, 0x47, 0x65, 0x1b, 0xf9, 0x17, 0xd2, 0x24, 0xf2, - 0xf4, 0xf5, 0x71, 0x7a, 0xab, 0xbb, 0x8b, 0x74, 0xb4, 0xd2, 0xc6, 0xdc, 0x5d, 0x44, 0xc3, 0x2a, - 0x60, 0x8c, 0x2e, 0xb6, 0x2f, 0xc6, 0x33, 0xb9, 0x36, 0xa7, 0x40, 0xc1, 0x3d, 0xc0, 0x95, 0x0d, - 0xb3, 0x45, 0xda, 0xc0, 0x3a, 0x7d, 0x82, 0x89, 0xe5, 0xa1, 0x42, 0x12, 0x4c, 0x97, 0xad, 0xeb, - 0xcc, 0x34, 0x61, 0x7f, 0xa7, 0x01, 0x2a, 0x4c, 0x56, 0x1a, 0x9a, 0x13, 0xe3, 0x8a, 0x4a, 0x9c, - 0x05, 0x0b, 0xd2, 0x85, 0x87, 0x1d, 0x41, 0xba, 0xd9, 0xf1, 0x19, 0xad, 0xee, 0xb5, 0x47, 0xd3, - 0x56, 0x57, 0x68, 0xfb, 0x6b, 0x16, 0xee, 0xf9, 0xc9, 0xae, 0x4e, 0xad, 0xf6, 0x1e, 0x8a, 0xa5, - 0x10, 0x72, 0x2b, 0xb0, 0x7e, 0xa4, 0xff, 0x5e, 0x10, 0x46, 0xf8, 0x4f, 0xfc, 0xfc, 0x37, 0xfb, - 0x5f, 0x40, 0xc0, 0xd1, 0x07, 0xe7, 0xe3, 0xe9, 0xec, 0x13, 0xc1, 0xba, 0x24, 0x56, 0xd9, 0xc8, - 0xc8, 0xd4, 0x84, 0xe5, 0xa5, 0x2e, 0x8c, 0xec, 0x02, 0xbd, 0x1e, 0xef, 0x4a, 0xd9, 0x04, 0x7b, - 0xff, 0xa0, 0x9e, 0xc3, 0xf1, 0x65, 0x75, 0x0f, 0xa8, 0xd5, 0xdf, 0xe5, 0x0e, 0x26, 0xef, 0xfa, - 0xdc, 0x68, 0x2b, 0xb8, 0x37, 0x4b, 0x09, 0x4f, 0x53, 0x00, 0x82, 0x2a, 0xd2, 0xd7, 0x1d, 0x25, - 0x96, 0xda, 0x29, 0xad, 0x5c, 0x05, 0x30, 0xd9, 0x8a, 0x15, 0x21, 0xcf, 0xa7, 0xfa, 0xda, 0x2b, - 0x73, 0xd7, 0xee, 0xba, 0x1f, 0xa7, 0x2e, 0x1c, 0x0b, 0x99, 0x5e, 0x25, 0xdb, 0xec, 0xef, 0x26, - 0xa3, 0x89, 0xf6, 0xde, 0xe5, 0x9f, 0x10, 0x76, 0x67, 0x3a, 0x68, 0x65, 0xcd, 0x1c, 0x8c, 0x82, - 0x38, 0xa8, 0xd4, 0xd8, 0xdc, 0xdf, 0xab, 0xc8, 0xf6, 0x77, 0x3d, 0x46, 0xb3, 0x1c, 0x19, 0x1d, - 0xaf, 0x49, 0xa6, 0x02, 0xa1, 0x3e, 0xb1, 0xb4, 0xc7, 0xce, 0xbd, 0x00, 0x91, 0xc1, 0x00, 0x85, - 0x34, 0x73, 0x68, 0x11, 0x52, 0x5d, 0xd7, 0x8e, 0xc7, 0xf8, 0x2e, 0x24, 0xe4, 0xfd, 0x5c, 0x4c, - 0x26, 0x46, 0x18, 0x46, 0x30, 0xe8, 0xf9, 0xa0, 0x76, 0x20, 0x14, 0xbf, 0xa3, 0xd9, 0x26, 0xd4, - 0x04, 0xac, 0xe7, 0x8c, 0x50, 0x98, 0x46, 0x07, 0x2d, 0x79, 0xcc, 0x68, 0xc8, 0x1b, 0xa7, 0x12, - 0x0b, 0x3b, 0x66, 0x3d, 0x6e, 0xf6, 0x18, 0x1a, 0x6f, 0xc2, 0x25, 0x95, 0x85, 0xd9, 0x5e, 0xd1, - 0x67, 0xf4, 0xa2, 0xd7, 0xe1, 0xe9, 0xd1, 0xbe, 0x72, 0xb1, 0x98, 0x2b, 0x2d, 0x44, 0x50, 0x6c, - 0x3c, 0x40, 0xaa, 0x89, 0xbf, 0xab, 0x8a, 0x3f, 0x9f, 0xf7, 0x59, 0x01, 0xa2, 0x99, 0x4e, 0x67, - 0x08, 0x22, 0x70, 0xc3, 0x24, 0x9e, 0x02, 0x30, 0x97, 0x10, 0xb8, 0x48, 0xcb, 0xd8, 0x54, 0x84, - 0x60, 0x01, 0xee, 0x31, 0x90, 0xde, 0x60, 0x25, 0xa9, 0x2e, 0x25, 0xf8, 0x26, 0xcf, 0x4b, 0x59, - 0x90, 0x35, 0xb1, 0x04, 0x34, 0x1a, 0x5d, 0xae, 0xa7, 0x72, 0x6c, 0xe9, 0xb8, 0x49, 0xfc, 0x93, - 0xc6, 0xcd, 0x40, 0xf3, 0x42, 0x14, 0xc2, 0x38, 0xd7, 0xcc, 0xb0, 0x92, 0x90, 0xce, 0x47, 0x46, - 0x26, 0x65, 0x53, 0xfc, 0xf5, 0xc3, 0x26, 0x21, 0x22, 0x51, 0x30, 0x5e, 0x46, 0xac, 0x08, 0xa0, - 0xdf, 0x95, 0xde, 0xbb, 0x10, 0x73, 0xbe, 0xc9, 0xc0, 0x00, 0xbf, 0x14, 0xd1, 0x26, 0xe7, 0x0f, - 0xd7, 0x2f, 0x7b, 0x2c, 0x17, 0xbf, 0x64, 0xbb, 0x03, 0xb3, 0x8a, 0xc4, 0x98, 0x83, 0x18, 0xb9, - 0xfb, 0xa5, 0x47, 0x80, 0xea, 0x96, 0xb8, 0xf2, 0xe6, 0x77, 0x1d, 0x5d, 0xc5, 0x46, 0x5f, 0x67, - 0x24, 0x40, 0x05, 0x9a, 0xd7, 0x1f, 0x99, 0x63, 0x97, 0x28, 0x3d, 0x98, 0xfa, 0xd7, 0x4e, 0x95, - 0x70, 0xde, 0x1a, 0xd6, 0x3a, 0x0d, 0xaf, 0x26, 0x4b, 0xb3, 0x5d, 0xae, 0xb7, 0x97, 0x0e, 0x9c, - 0xc4, 0xf9, 0x7f, 0x57, 0x8b, 0xfd, 0x28, 0x6c, 0x50, 0x5e, 0x7e, 0xc8, 0x82, 0x10, 0x5c, 0xf0, - 0x2c, 0x10, 0xd0, 0xa0, 0xac, 0xdf, 0x9d, 0xb0, 0xef, 0x95, 0x60, 0x57, 0x8a, 0x29, 0xa5, 0x52, - 0xfc, 0xc8, 0x41, 0x68, 0x4b, 0xbc, 0x66, 0x7b, 0xe9, 0x5f, 0xb8, 0x56, 0x99, 0x0d, 0x23, 0x59, - 0x94, 0x5e, 0x20, 0xbf, 0x89, 0x6f, 0x8f, 0x4e, 0xda, 0xfe, 0xf1, 0x81, 0x43, 0x25, 0x89, 0x53, - 0xda, 0x85, 0xe4, 0x67, 0x95, 0xfd, 0x0b, 0x4c, 0x86, 0x11, 0xc9, 0xc7, 0xd7, 0xdc, 0xea, 0x59, - 0xb4, 0xfe, 0x1a, 0x0c, 0xf9, 0x4a, 0xea, 0xc6, 0x23, 0xf4, 0x50, 0xe4, 0xab, 0xcb, 0x53, 0x38, - 0x62, 0x31, 0x7b, 0x29, 0x40, 0x34, 0xf6, 0xd8, 0x98, 0x43, 0x69, 0x12, 0x3c, 0x4f, 0x0e, 0xee, - 0x19, 0x33, 0xe8, 0x4f, 0x2b, 0xb9, 0x04, 0x19, 0x2d, 0x15, 0x61, 0xe9, 0x89, 0xc5, 0xaa, 0x57, - 0x17, 0xa3, 0xab, 0x9a, 0x86, 0x9c, 0xc3, 0x03, 0xbf, 0x92, 0xcb, 0x96, 0x26, 0x10, 0x93, 0x96, - 0x4f, 0xf1, 0xe6, 0x15, 0xf9, 0x04, 0x26, 0x23, 0xc3, 0xb2, 0xb2, 0x89, 0xa2, 0x0e, 0x8d, 0xee, - 0xae, 0x6a, 0x1c, 0x5a, 0x56, 0xe1, 0x4a, 0x20, 0xff, 0x76, 0xfb, 0x95, 0x20, 0x5e, 0x83, 0x54, - 0x48, 0x88, 0xaa, 0x40, 0xae, 0xc7, 0x01, 0x8a, 0x1c, 0x04, 0x3e, 0xf8, 0xde, 0x93, 0xf7, 0xc8, - 0xf0, 0x11, 0xa9, 0xeb, 0x73, 0x43, 0xc1, 0xd6, 0x6d, 0xf4, 0x3a, 0x71, 0x6b, 0xa3, 0x70, 0x03, - 0x2b, 0x97, 0xe2, 0x79, 0x58, 0xd2, 0xb5, 0x3a, 0x6a, 0x0f, 0x20, 0x8c, 0xab, 0xf5, 0xd0, 0x2d, - 0x3b, 0xd3, 0x90, 0x7e, 0x38, 0x98, 0xd3, 0x63, 0xa1, 0x22, 0x6e, 0xbb, 0x5b, 0x0c, 0x94, 0xdc, - 0x0f, 0xb0, 0x3e, 0x4b, 0x4a, 0x5e, 0x4c, 0x32, 0x5e, 0xc9, 0x42, 0x84, 0x9f, 0x5b, 0xbc, 0x98, - 0xcc, 0xbb, 0x01, 0xac, 0x24, 0xe1, 0x2d, 0x0d, 0xbc, 0xb1, 0x51, 0xdf, 0xfc, 0x65, 0x9c, 0xe1, - 0x22, 0x06, 0x35, 0xc8, 0xcb, 0xee, 0xef, 0x6a, 0xd1, 0x38, 0x1c, 0x37, 0x68, 0xe7, 0x28, 0xba, - 0x2a, 0x50, 0xa3, 0x72, 0xd2, 0xfa, 0x81, 0xa9, 0x0d, 0x2b, 0x51, 0x45, 0xbc, 0xc1, 0x37, 0x5f, - 0x46, 0x55, 0xf3, 0x22, 0x9b, 0xcc, 0xee, 0xdd, 0x10, 0x65, 0x0d, 0x54, 0x75, 0x5d, 0x59, 0xa8, - 0xba, 0xce, 0x1d, 0x5e, 0x30, 0x18, 0x46, 0xae, 0x3d, 0x1c, 0xa5, 0xd7, 0x0b, 0xeb, 0x3e, 0xf4, - 0xfa, 0x5d, 0x18, 0x40, 0x57, 0x0f, 0x6e, 0x3d, 0x55, 0xee, 0xfd, 0x81, 0x95, 0x5f, 0xff, 0x13, - 0xa8, 0xd8, 0x9f, 0x3e, 0x1e, 0xa6, 0x61, 0x05, 0xca, 0xc6, 0x81, 0xb4, 0x2f, 0x31, 0x03, 0xfe, - 0x5b, 0xae, 0x73, 0xec, 0xc5, 0x38, 0xe4, 0x08, 0x80, 0x33, 0x2d, 0x82, 0x5b, 0xba, 0x40, 0x88, - 0xfd, 0xb6, 0x78, 0xd2, 0x63, 0x56, 0xa0, 0x30, 0xdf, 0x40, 0x2f, 0x16, 0xd7, 0x2b, 0x03, 0x14, - 0x69, 0x96, 0x5e, 0x89, 0x9d, 0xa5, 0x58, 0xe4, 0x87, 0xea, 0x8e, 0xf5, 0x9a, 0xa4, 0xe3, 0x4b, - 0x73, 0xf0, 0x1e, 0x5a, 0x4a, 0xd1, 0x9d, 0x85, 0x15, 0x1f, 0x03, 0x62, 0x02, 0x13, 0xfe, 0x3a, - 0xba, 0x3b, 0xd3, 0xec, 0x92, 0xff, 0x6f, 0xa4, 0x55, 0x49, 0x58, 0x33, 0xf0, 0x75, 0x1c, 0x45, - 0xda, 0x83, 0xe7, 0xc9, 0xe7, 0x91, 0xb1, 0x27, 0x1c, 0x2d, 0xa0, 0xc9, 0x8e, 0xa4, 0x6d, 0xa1, - 0xab, 0xbe, 0x10, 0xd9, 0x15, 0x08, 0xaa, 0x8d, 0x33, 0x3d, 0xc2, 0xff, 0xed, 0xcd, 0xd5, 0xf4, - 0x8b, 0xb7, 0xe9, 0x7a, 0x75, 0xd3, 0x29, 0xa1, 0x67, 0xef, 0xe0, 0x59, 0x8b, 0x81, 0xde, 0x0b, - 0xe1, 0xda, 0x7c, 0x81, 0x81, 0x7c, 0xb0, 0x57, 0xe2, 0x24, 0x9f, 0x75, 0xcc, 0xa7, 0x7d, 0x98, - 0x60, 0x4a, 0x68, 0xee, 0x63, 0xe1, 0x55, 0xad, 0x52, 0x28, 0x51, 0x06, 0x20, 0x7d, 0x29, 0x48, - 0x67, 0x92, 0x98, 0x21, 0x2f, 0x66, 0x98, 0xae, 0x13, 0xd5, 0xbf, 0x0c, 0xa9, 0x02, 0xc2, 0x83, - 0x67, 0x30, 0x85, 0xed, 0x52, 0x67, 0xb8, 0x1e, 0x40, 0x0e, 0x02, 0xcc, 0xa9, 0x29, 0x82, 0x1b, - 0xa9, 0x8b, 0xdb, 0x05, 0x5f, 0xb0, 0xd5, 0x4b, 0xa0, 0x5f, 0xcf, 0xdb, 0xb8, 0x4a, 0xdb, 0x28, - 0xec, 0x6d, 0x06, 0xda, 0xee, 0x6b, 0xaa, 0x57, 0xc5, 0x74, 0xdb, 0x9c, 0xd7, 0xa0, 0xf9, 0x13, - 0x46, 0xa5, 0x09, 0xe7, 0x51, 0xcd, 0xe1, 0x5f, 0xd3, 0xfc, 0x14, 0x57, 0x10, 0x2b, 0xd8, 0x41, - 0xe0, 0x0e, 0x6a, 0xfe, 0x97, 0x19, 0xfc, 0xf9, 0xef, 0xb8, 0xfc, 0x43, 0xee, 0x34, 0x8f, 0xe1, - 0x05, 0x43, 0x97, 0x91, 0xa1, 0xb9, 0x1d, 0x0f, 0x51, 0xba, 0x77, 0x0a, 0x20, 0x35, 0xad, 0x3c, - 0x4b, 0x23, 0x57, 0x16, 0x7f, 0x8c, 0x52, 0xfd, 0x87, 0x0f, 0x65, 0x29, 0x0b, 0x0d, 0x82, 0x7b, - 0x58, 0xe1, 0xf6, 0x64, 0xf4, 0x31, 0x23, 0x6b, 0x80, 0x79, 0xe0, 0x49, 0xf5, 0xfd, 0x19, 0x3c, - 0x3c, 0x89, 0x05, 0xe5, 0x4c, 0x2c, 0x86, 0x16, 0xeb, 0x9a, 0x22, 0xa2, 0x88, 0xbc, 0x35, 0x86, - 0x46, 0x5c, 0xe8, 0x63, 0xa4, 0xfd, 0x31, 0x0c, 0x0b, 0x88, 0xba, 0xac, 0x74, 0x55, 0x79, 0xce, - 0xaf, 0x58, 0x10, 0x3b, 0xf5, 0xc8, 0xce, 0xb3, 0x79, 0x8a, 0x5b, 0x01, 0x0b, 0xa4, 0x66, 0x6d, - 0x29, 0xec, 0xf9, 0xe0, 0x4d, 0x22, 0x26, 0x70, 0xcb, 0x03, 0xdd, 0x81, 0x71, 0x94, 0x93, 0x11, - 0x04, 0xb4, 0x48, 0xc7, 0xc5, 0x9d, 0x6e, 0xaf, 0xad, 0xe8, 0x28, 0xf6, 0xc8, 0xa2, 0xbe, 0x1e, - 0xdc, 0xcd, 0xaa, 0x12, 0xb9, 0x83, 0xec, 0x1a, 0xe2, 0xdf, 0xf7, 0x63, 0xf4, 0x1f, 0x66, 0x06, - 0x0b, 0xd1, 0x8e, 0x20, 0xf5, 0x3e, 0xd4, 0xf0, 0x0d, 0x0f, 0x73, 0x62, 0x2d, 0xd9, 0x6b, 0x4b, - 0xd1, 0x95, 0x04, 0x9b, 0x35, 0xa3, 0x86, 0xd1, 0xb7, 0x28, 0xe8, 0xfd, 0x3f, 0x1f, 0x0d, 0x86, - 0x73, 0x91, 0xf1, 0xd1, 0x39, 0x5a, 0xd2, 0x30, 0xf5, 0x45, 0x6e, 0x87, 0xc7, 0x20, 0x5f, 0x43, - 0xd2, 0x67, 0x38, 0x9b, 0x79, 0x4b, 0x8d, 0x41, 0x50, 0x31, 0x10, 0xbf, 0x49, 0x9a, 0x7e, 0xed, - 0x01, 0xe5, 0x1b, 0x49, 0x54, 0x4b, 0x4a, 0x1e, 0x5b, 0xc8, 0x59, 0x64, 0x4a, 0xfe, 0x5b, 0x81, - 0xdb, 0x61, 0x47, 0x94, 0x6b, 0xbd, 0x8f, 0x1e, 0xfc, 0x15, 0xc5, 0x30, 0xc0, 0xd5, 0x58, 0xff, - 0x16, 0xbd, 0xed, 0x52, 0x4e, 0x80, 0x02, 0xbd, 0x40, 0xfa, 0x40, 0xee, 0xf3, 0xdd, 0x1d, 0xb2, - 0x4e, 0x34, 0x4f, 0x2a, 0xef, 0xed, 0xb6, 0xd3, 0x08, 0xbd, 0x6f, 0x67, 0xb2, 0x82, 0xe0, 0x46, - 0x7d, 0xc4, 0x16, 0xbc, 0x14, 0x65, 0x13, 0x86, 0x34, 0xa5, 0x27, 0x8a, 0xc8, 0x05, 0xd7, 0xef, - 0x18, 0xce, 0x5f, 0xb9, 0x09, 0xec, 0x93, 0x14, 0xf8, 0xfa, 0x7d, 0x02, 0xf8, 0x14, 0xec, 0xb6, - 0x42, 0xee, 0x6e, 0x7e, 0x14, 0xea, 0xd4, 0x0b, 0x34, 0xf8, 0xd0, 0xf0, 0xee, 0x34, 0x08, 0x45, - 0xc2, 0xe2, 0x21, 0xd5, 0xa1, 0xa2, 0x20, 0xf1, 0x3e, 0x59, 0x86, 0x71, 0x78, 0xf8, 0xb8, 0x55, - 0xa0, 0xeb, 0xbb, 0x60, 0x95, 0xe6, 0xb6, 0xcd, 0x02, 0x67, 0x52, 0xf8, 0xe5, 0x30, 0xf6, 0x1c, - 0xae, 0xd2, 0xd8, 0x4c, 0x57, 0x7e, 0xce, 0x39, 0x76, 0xc6, 0x95, 0x30, 0x0b, 0x9c, 0x7d, 0x1e, - 0xf8, 0x1d, 0x38, 0x83, 0x82, 0x10, 0x4b, 0xc3, 0x83, 0x6f, 0x31, 0xa8, 0xf9, 0xd7, 0x1d, 0x31, - 0x72, 0xae, 0x39, 0x51, 0x6e, 0x26, 0x2b, 0x84, 0x69, 0x93, 0xcb, 0xd0, 0x75, 0xb6, 0x3c, 0xbb, - 0x7b, 0x46, 0x9d, 0x2e, 0xcb, 0xbe, 0xed, 0x88, 0xb5, 0xa7, 0x39, 0xe0, 0x33, 0x15, 0xf5, 0xc3, - 0x9f, 0xb9, 0x1e, 0x23, 0x6f, 0xb2, 0x61, 0x79, 0x5a, 0xaf, 0x6c, 0x86, 0x1d, 0x69, 0xed, 0x1b, - 0xed, 0xdd, 0xb2, 0x11, 0x82, 0xfb, 0xeb, 0x38, 0xc9, 0xb0, 0xde, 0xe6, 0x67, 0xc1, 0x94, 0x0a, - 0x86, 0xfd, 0x9f, 0xab, 0x72, 0xa1, 0x2b, 0x36, 0xfa, 0x64, 0x9f, 0x47, 0x70, 0x41, 0x38, 0x86, - 0xfd, 0xfb, 0xb4, 0xa2, 0xca, 0x0c, 0x17, 0x59, 0x2b, 0x4e, 0x95, 0x56, 0x29, 0x00, 0x07, 0xeb, - 0x26, 0x78, 0xf8, 0xca, 0x94, 0x83, 0xd7, 0x5a, 0xc0, 0x2a, 0x36, 0x02, 0x7a, 0x5d, 0x78, 0x3f, - 0x2d, 0xfa, 0x90, 0xb1, 0xfe, 0x61, 0x55, 0x69, 0xee, 0x37, 0xd7, 0xdb, 0x47, 0x6c, 0xae, 0x66, - 0xc4, 0x26, 0xc1, 0xcc, 0x66, 0x95, 0x1e, 0x40, 0x3a, 0xea, 0xa3, 0xa1, 0x83, 0x8a, 0x58, 0xa3, - 0xa1, 0x3c, 0x9d, 0xd5, 0xf6, 0x10, 0xf5, 0x7e, 0xba, 0xf7, 0x50, 0xb3, 0x86, 0x47, 0x96, 0x0c, - 0x92, 0x16, 0x94, 0x92, 0x57, 0x9b, 0x01, 0x27, 0x82, 0x08, 0x7b, 0xca, 0xd2, 0x7a, 0xf3, 0xdf, - 0x03, 0x9c, 0x83, 0xc0, 0x5a, 0xf8, 0x10, 0x2d, 0x28, 0xa9, 0x37, 0x9d, 0x41, 0xc2, 0x94, 0x38, - 0x9b, 0xdc, 0x50, 0x27, 0xc7, 0x4c, 0x06, 0x41, 0xcd, 0xfa, 0xd1, 0x02, 0x85, 0xc5, 0x22, 0x25, - 0x56, 0xfe, 0x46, 0x74, 0xa5, 0xbb, 0xdc, 0x9a, 0x83, 0x52, 0x44, 0x4e, 0xc1, 0x6d, 0xcd, 0x6b, - 0x1e, 0xee, 0x0a, 0x17, 0xd9, 0xf2, 0x85, 0xf1, 0xca, 0x60, 0x4f, 0x75, 0x85, 0x8d, 0x32, 0x72, - 0x94, 0xff, 0xfa, 0x4d, 0x8f, 0xcb, 0x83, 0xfe, 0x8f, 0x53, 0x28, 0x36, 0xf0, 0x4b, 0x1d, 0x72, - 0xda, 0x57, 0x48, 0x2d, 0x73, 0xce, 0x9e, 0x7d, 0xde, 0xb3, 0xa2, 0xf5, 0x97, 0x74, 0x1a, 0x12, - 0xe7, 0x4b, 0x8e, 0xaf, 0xa9, 0xfc, 0x8c, 0x2c, 0xb8, 0x65, 0x6b, 0x05, 0xca, 0x29, 0x3a, 0x13, - 0xa3, 0xd3, 0xd4, 0x5d, 0xc3, 0xb8, 0x8a, 0x33, 0x9f, 0xaf, 0x4b, 0x88, 0x0a, 0x31, 0xfa, 0x56, - 0xf7, 0x97, 0x78, 0x71, 0xd6, 0xf3, 0x87, 0x27, 0x2c, 0x30, 0xdb, 0x59, 0xd5, 0x62, 0x97, 0x72, - 0x19, 0xf8, 0xa8, 0x9c, 0xaf, 0x16, 0x7e, 0x76, 0x32, 0xb2, 0x32, 0x9f, 0x94, 0xdf, 0x67, 0x8b, - 0xdd, 0xe4, 0xfb, 0xcb, 0xcd, 0x77, 0xd1, 0x34, 0x1a, 0x83, 0xce, 0x56, 0xbf, 0xea, 0xb4, 0x92, - 0xa8, 0xa0, 0x9b, 0x95, 0xc5, 0x21, 0x8f, 0x71, 0xe0, 0x2c, 0xe6, 0x79, 0x86, 0x47, 0x66, 0x1d, - 0xdc, 0x12, 0xc0, 0x80, 0xf3, 0xd7, 0xb2, 0xd2, 0xdf, 0x12, 0x82, 0xcf, 0x2f, 0x6f, 0x15, 0x66, - 0x6f, 0x4a, 0x77, 0xe9, 0xc0, 0x8b, 0x6c, 0x21, 0xa6, 0x62, 0xfc, 0xaf, 0x5e, 0x79, 0xfc, 0x74, - 0x85, 0x58, 0x76, 0x86, 0x3d, 0xd1, 0xe8, 0x6c, 0x69, 0x73, 0x77, 0xf7, 0x56, 0x72, 0xaa, 0x4a, - 0xc9, 0xbe, 0x12, 0x47, 0x21, 0x3d, 0x54, 0xba, 0xca, 0x71, 0xcc, 0x7a, 0x0c, 0xd5, 0x68, 0x29, - 0x3c, 0xcb, 0x45, 0x88, 0x28, 0x11, 0x73, 0x40, 0xd1, 0x1a, 0xc6, 0xbe, 0xce, 0xaf, 0x88, 0xc9, - 0xbd, 0x4d, 0x72, 0xf5, 0xbd, 0xcc, 0x27, 0x6d, 0x8e, 0x8b, 0xcb, 0xed, 0xe2, 0x7b, 0x09, 0x7d, - 0x0d, 0x2c, 0xc5, 0xe5, 0x15, 0x61, 0x50, 0x84, 0x8c, 0xe5, 0x23, 0xb3, 0x7c, 0x54, 0x81, 0xea, - 0x63, 0x60, 0x1b, 0x68, 0x47, 0x62, 0x94, 0x9e, 0xd8, 0xce, 0x5d, 0x73, 0xa6, 0xb2, 0xd1, 0xe2, - 0xaf, 0x14, 0x89, 0xa4, 0xbf, 0x78, 0xb7, 0x05, 0x15, 0x8f, 0xd2, 0xc1, 0x81, 0xbc, 0x74, 0x6c, - 0xc6, 0x7c, 0x2c, 0xc6, 0x61, 0x8e, 0x39, 0xee, 0x36, 0x69, 0xeb, 0x28, 0x9c, 0x84, 0xa1, 0x2b, - 0xe6, 0xed, 0xb5, 0x00, 0xd3, 0x0b, 0x3b, 0xdf, 0x2f, 0x84, 0x87, 0xab, 0xc4, 0x1d, 0x21, 0x7c, - 0x5a, 0xb0, 0x98, 0x1b, 0xfe, 0x01, 0xdc, 0xbb, 0xf7, 0xa1, 0x45, 0xa3, 0xf7, 0x3d, 0x0b, 0x27, - 0xd0, 0x51, 0x24, 0x6b, 0x56, 0x90, 0x4e, 0x94, 0x89, 0x37, 0xa7, 0x3e, 0xfd, 0x1a, 0xa8, 0x7a, - 0x0f, 0x74, 0xde, 0x67, 0x64, 0x71, 0x69, 0xc8, 0x13, 0x8c, 0xac, 0x80, 0x2d, 0xf4, 0x43, 0x45, - 0x63, 0xc8, 0x14, 0x35, 0x5d, 0x48, 0x1c, 0xbf, 0x8f, 0x18, 0x9f, 0x2e, 0xe3, 0x9b, 0xa0, 0x30, - 0x2d, 0xfb, 0x67, 0x10, 0xfa, 0x5a, 0xbb, 0x21, 0x22, 0x7b, 0xef, 0xb9, 0x94, 0xa2, 0x75, 0x77, - 0xd5, 0x62, 0xa6, 0x99, 0x81, 0xe5, 0x4a, 0xe3, 0x68, 0x4e, 0x57, 0x87, 0xdd, 0x50, 0xb3, 0x57, - 0x61, 0xbc, 0x5e, 0xd1, 0x2a, 0x19, 0xcf, 0xec, 0xc3, 0x2b, 0xb8, 0xb1, 0x95, 0xf6, 0xa9, 0xd9, - 0x92, 0x44, 0x40, 0x49, 0xcc, 0x9c, 0xe3, 0x96, 0xf8, 0x1e, 0x56, 0xb0, 0xdf, 0xed, 0x0d, 0xbd, - 0xfe, 0x78, 0xf3, 0x1f, 0xf8, 0x34, 0x2d, 0x0f, 0xbd, 0xd1, 0x44, 0x74, 0x75, 0xee, 0x9f, 0x18, - 0x1b, 0xe1, 0x61, 0x59, 0x99, 0x93, 0x7d, 0x88, 0xb0, 0xa5, 0xb7, 0x9f, 0x75, 0xec, 0xd2, 0x80, - 0x08, 0x3c, 0xd1, 0x38, 0x16, 0xee, 0xc3, 0x31, 0x9f, 0x37, 0x25, 0xf2, 0xcb, 0xb2, 0xdc, 0xf9, - 0x62, 0x17, 0x8b, 0x48, 0xa5, 0xcc, 0xce, 0xc8, 0xce, 0x20, 0x80, 0x56, 0xff, 0xd2, 0x7c, 0x24, - 0x6b, 0xb6, 0x65, 0x98, 0x22, 0x26, 0xdc, 0xb5, 0x9a, 0x95, 0xa3, 0x63, 0x76, 0x93, 0xfa, 0x89, - 0x35, 0x19, 0x1b, 0xf3, 0x2e, 0xe2, 0x89, 0xab, 0xe6, 0x00, 0x73, 0x81, 0xce, 0x48, 0xcb, 0x77, - 0x59, 0xad, 0x46, 0x26, 0xcb, 0x04, 0x2a, 0xa2, 0x2c, 0x40, 0xf0, 0x04, 0x19, 0x3a, 0x41, 0x88, - 0x88, 0xfc, 0x57, 0x65, 0xed, 0x41, 0x09, 0x9a, 0xe7, 0x13, 0xb4, 0xfe, 0x5c, 0x17, 0xb8, 0x6c, - 0x41, 0x08, 0x2f, 0x0e, 0xb7, 0xcc, 0x26, 0x12, 0x00, 0x88, 0x42, 0xf0, 0x75, 0xdb, 0xc7, 0xbb, - 0x37, 0x7c, 0x6c, 0x04, 0xf9, 0xfb, 0x88, 0x95, 0x5a, 0x22, 0x90, 0xb6, 0xeb, 0xd6, 0x3c, 0xbb, - 0x20, 0x8d, 0xc7, 0x5d, 0xe6, 0xb7, 0x02, 0xbf, 0x57, 0x64, 0xda, 0xeb, 0x2a, 0xe3, 0x23, 0xa6, - 0x91, 0x06, 0x9f, 0x70, 0xfc, 0x99, 0x00, 0xf9, 0xf9, 0x41, 0xf8, 0x15, 0x50, 0xa0, 0x7f, 0xe4, - 0xde, 0x19, 0x21, 0x58, 0x1e, 0xeb, 0x02, 0xf7, 0x5f, 0xe7, 0x52, 0xb3, 0xbc, 0xd4, 0x5e, 0x57, - 0x68, 0xab, 0x4b, 0x7a, 0xd0, 0xe7, 0x71, 0x0a, 0x4c, 0x35, 0xcb, 0xae, 0xb7, 0x31, 0x90, 0x75, - 0xba, 0x4b, 0x77, 0x8b, 0xbf, 0x25, 0xe2, 0x7d, 0x31, 0xfc, 0xc1, 0x16, 0x4f, 0xc8, 0xa6, 0x4d, - 0x62, 0xee, 0xda, 0x8c, 0xc3, 0xcb, 0x3c, 0xbb, 0x93, 0x08, 0x9c, 0x8b, 0x02, 0x71, 0x3b, 0x7e, - 0x97, 0x31, 0x21, 0x40, 0x24, 0xc3, 0x69, 0x89, 0xec, 0xc2, 0xf1, 0x8a, 0xe3, 0x24, 0x90, 0xf4, - 0x4b, 0x46, 0xcb, 0x2e, 0xc3, 0x4b, 0xe5, 0x6e, 0xc2, 0x34, 0x94, 0x64, 0x11, 0x7c, 0xea, 0x44, - 0xae, 0x28, 0xe2, 0xe1, 0x65, 0x7c, 0x76, 0xfa, 0x4f, 0x17, 0x71, 0xb6, 0x74, 0x83, 0xb9, 0x24, - 0x08, 0x5f, 0x4f, 0xe2, 0xa5, 0xcc, 0x3b, 0x29, 0x67, 0x73, 0x11, 0x10, 0x30, 0x83, 0x98, 0x4b, - 0x49, 0x29, 0xe1, 0x89, 0x88, 0x89, 0xa5, 0xdc, 0x56, 0x6e, 0xcd, 0x0d, 0x5a, 0x8d, 0x1d, 0xe7, - 0x06, 0xc3, 0x65, 0x79, 0xda, 0xa9, 0x27, 0x5c, 0xd2, 0x60, 0x65, 0xb1, 0x14, 0xce, 0x97, 0xe3, - 0x9d, 0x9d, 0xa0, 0x11, 0x81, 0xea, 0x15, 0x06, 0xea, 0x1c, 0x8c, 0x8b, 0x51, 0x59, 0x51, 0x2e, - 0x1e, 0x3b, 0xc2, 0x58, 0x6b, 0x1f, 0x3f, 0xd1, 0xee, 0x8c, 0x8a, 0xb5, 0xd9, 0xef, 0x44, 0x4e, - 0x97, 0x50, 0xf5, 0xf6, 0x31, 0xf2, 0x86, 0x12, 0xa6, 0x93, 0xbf, 0xb2, 0xfa, 0xc5, 0xbd, 0xfd, - 0xb0, 0xe4, 0x0f, 0x84, 0xd7, 0x5d, 0x8d, 0xd0, 0xfd, 0x25, 0xdc, 0xc2, 0x1e, 0x1e, 0xf8, 0x11, - 0x6c, 0x56, 0xe4, 0x6b, 0x39, 0xd6, 0xc4, 0xc8, 0x3d, 0x0e, 0x18, 0x7d, 0xfa, 0xdd, 0xe4, 0x5c, - 0x7c, 0x40, 0x3a, 0xed, 0x8c, 0xba, 0x0c, 0xa0, 0x50, 0x2f, 0xf5, 0x77, 0x4b, 0x30, 0xf2, 0x6b, - 0x84, 0xa4, 0x1d, 0xad, 0xbb, 0xdc, 0x7b, 0x7b, 0xf8, 0x2c, 0x03, 0x5c, 0x6d, 0x9d, 0x38, 0x83, - 0x73, 0x12, 0xd0, 0xb4, 0x2c, 0x1e, 0xfb, 0xc5, 0xe1, 0x66, 0x05, 0x83, 0x84, 0xb4, 0xa3, 0xf3, - 0x2a, 0xa4, 0x0c, 0x8e, 0xea, 0xa6, 0x07, 0x88, 0x94, 0xf2, 0x65, 0x72, 0xd4, 0xcf, 0xf8, 0x94, - 0x6f, 0xe3, 0x0d, 0xb0, 0x5a, 0xec, 0x3c, 0xff, 0xd0, 0x79, 0x23, 0x3a, 0x49, 0xbc, 0x31, 0x92, - 0xec, 0x5d, 0xe9, 0x1e, 0xea, 0x8f, 0xf7, 0xde, 0xe1, 0x29, 0x3e, 0x35, 0x4b, 0x8a, 0xda, 0x65, - 0x61, 0x76, 0x52, 0xe2, 0x6c, 0xfe, 0x81, 0x9a, 0x0d, 0xb6, 0xa8, 0xca, 0x12, 0x4c, 0x09, 0xc1, - 0x1a, 0x5b, 0x76, 0x4d, 0x82, 0x8a, 0xdb, 0x34, 0xe4, 0x9d, 0x7c, 0x43, 0xc1, 0xe3, 0x8e, 0xdc, - 0x5b, 0xc9, 0xfe, 0x51, 0x91, 0xf5, 0xaf, 0x63, 0x58, 0x8b, 0xfc, 0x5b, 0x35, 0xfd, 0x31, 0xf4, - 0xa2, 0x9a, 0x3f, 0x9e, 0x58, 0x2c, 0x84, 0xb5, 0x11, 0x5f, 0x0d, 0x55, 0xd4, 0x3f, 0xef, 0x38, - 0x59, 0xca, 0x10, 0x8b, 0x80, 0x35, 0x09, 0xb9, 0x09, 0x09, 0xa7, 0xa6, 0x36, 0xf2, 0x2b, 0xa7, - 0x07, 0xe3, 0xf5, 0xc4, 0x5f, 0x67, 0xb1, 0xde, 0xfc, 0xe0, 0x93, 0xae, 0x6a, 0xcb, 0xe8, 0x99, - 0xf3, 0xbc, 0x15, 0x72, 0xdb, 0xa1, 0xa9, 0x18, 0x18, 0x88, 0x4b, 0x06, 0xe2, 0xc8, 0xaf, 0x4a, - 0x5a, 0x57, 0xdf, 0x1f, 0xfb, 0x61, 0x60, 0x97, 0x06, 0x2e, 0xed, 0x0a, 0x49, 0x51, 0x81, 0xec, - 0xba, 0x2f, 0x20, 0x7a, 0x54, 0x97, 0xac, 0xdf, 0x6e, 0xd1, 0xfc, 0x8d, 0x00, 0x74, 0xdd, 0x96, - 0x5e, 0x9b, 0xa9, 0x80, 0x57, 0x6c, 0x3e, 0xb8, 0xdb, 0x4b, 0x88, 0x9e, 0x3f, 0xd1, 0x88, 0x9e, - 0x52, 0x9d, 0xcb, 0x13, 0xa3, 0x55, 0xe6, 0x16, 0xa9, 0x55, 0x24, 0x4b, 0x3a, 0x6a, 0x84, 0xd9, - 0x1e, 0x7d, 0x47, 0x2d, 0x9d, 0x79, 0x7a, 0xd3, 0x87, 0x1a, 0xfb, 0x22, 0xee, 0x70, 0x31, 0xa9, - 0xda, 0x45, 0x78, 0x3e, 0x42, 0x8c, 0x3d, 0x24, 0xaa, 0xd3, 0x9b, 0x84, 0x69, 0x96, 0xc8, 0x7b, - 0x1f, 0x23, 0xc4, 0x24, 0x86, 0xb4, 0xd9, 0x8f, 0xb4, 0xdd, 0x1e, 0x27, 0x82, 0x13, 0xc3, 0xc9, - 0x74, 0x4f, 0x1b, 0x12, 0x45, 0x49, 0xec, 0x16, 0x80, 0x4b, 0xe0, 0xe2, 0x2b, 0x5f, 0xf8, 0x69, - 0xb6, 0x07, 0x48, 0x5e, 0xad, 0x06, 0xf8, 0x47, 0x6d, 0x2d, 0x1a, 0x2d, 0x7b, 0xdc, 0x31, 0x71, - 0x2d, 0x78, 0x9e, 0xec, 0x27, 0xaa, 0x89, 0xd9, 0x71, 0xa6, 0x1f, 0xcf, 0xe1, 0xa7, 0xb5, 0x89, - 0xb4, 0x94, 0xf8, 0xa9, 0x66, 0xf4, 0xf6, 0xb6, 0x13, 0xa2, 0x81, 0x9e, 0xc4, 0x84, 0x4f, 0xbc, - 0x01, 0xd7, 0x3f, 0xa3, 0x14, 0xc8, 0x7d, 0xc7, 0x17, 0x79, 0x3f, 0x75, 0x32, 0xe9, 0xe0, 0xc4, - 0x71, 0xad, 0xa7, 0xff, 0xfe, 0xe7, 0x97, 0xfe, 0xd4, 0xcf, 0xa9, 0x90, 0x38, 0x2f, 0x96, 0xc1, - 0x48, 0xa9, 0x3d, 0x3d, 0xf0, 0xd1, 0x5b, 0xe6, 0x3b, 0xa4, 0x1b, 0x49, 0x7c, 0xfe, 0x35, 0x54, - 0xee, 0x7f, 0x56, 0xfe, 0xd7, 0xc4, 0xb3, 0xf0, 0x2b, 0x74, 0xb7, 0x14, 0xc4, 0x07, 0xb2, 0x21, - 0x04, 0xbe, 0x72, 0xd5, 0xd0, 0x58, 0xb0, 0x48, 0x34, 0x20, 0xab, 0x76, 0x1e, 0x04, 0xb2, 0x8c, - 0x25, 0x13, 0xc6, 0x9f, 0x64, 0x18, 0xf4, 0xf5, 0x80, 0x44, 0xf4, 0x8b, 0xc1, 0x36, 0x19, 0x61, - 0xea, 0x25, 0x02, 0x91, 0xfc, 0x19, 0x5d, 0x95, 0x7a, 0x67, 0xed, 0x65, 0x05, 0xa5, 0xf2, 0x67, - 0x16, 0xfb, 0x6e, 0x22, 0xd0, 0xd2, 0x4e, 0x4d, 0xdd, 0x2a, 0x60, 0x1a, 0x7c, 0x95, 0xda, 0xf2, - 0x93, 0xe4, 0x65, 0xe9, 0xa8, 0xa4, 0xc1, 0xdb, 0x47, 0xfc, 0x86, 0x7e, 0xd1, 0x0d, 0xac, 0xce, - 0x86, 0xe8, 0x2a, 0xb6, 0x31, 0xad, 0x1b, 0xb5, 0x85, 0x91, 0xdf, 0x20, 0x26, 0x9c, 0xbd, 0x0f, - 0x65, 0xd4, 0xde, 0xec, 0xce, 0x79, 0x31, 0x44, 0xfc, 0xd1, 0x56, 0xb8, 0x88, 0x10, 0x30, 0x19, - 0x8b, 0x72, 0x83, 0xbe, 0x98, 0xf5, 0x0e, 0xfe, 0x82, 0x6a, 0x23, 0xfc, 0xcc, 0x81, 0x6b, 0x11, - 0x45, 0x71, 0x32, 0xbb, 0x2b, 0xc9, 0xab, 0x8c, 0xdf, 0xc9, 0x88, 0x03, 0xb3, 0x18, 0xf1, 0x03, - 0xf4, 0x37, 0x7e, 0x3b, 0xaa, 0x4b, 0x1f, 0x16, 0x40, 0x7f, 0xe1, 0x58, 0xa8, 0xed, 0x90, 0xf3, - 0x51, 0x17, 0x80, 0x01, 0x1e, 0xca, 0x71, 0xc4, 0x0c, 0x19, 0x07, 0x11, 0x9f, 0x51, 0xca, 0x6f, - 0x68, 0x80, 0x2e, 0x7a, 0x42, 0x42, 0xbe, 0x37, 0x7e, 0xcd, 0xb8, 0xb8, 0x87, 0xc0, 0x74, 0x35, - 0x2e, 0xd6, 0x80, 0xc0, 0xbb, 0x16, 0x32, 0x4a, 0x65, 0x11, 0xa7, 0xd8, 0x30, 0xac, 0x4a, 0x04, - 0x19, 0xf2, 0x66, 0x65, 0xc0, 0x6c, 0xc7, 0x45, 0xa6, 0x33, 0x24, 0x22, 0x86, 0xe8, 0xb2, 0x6a, - 0x7f, 0x1a, 0x83, 0x4b, 0xa1, 0x97, 0x74, 0xc0, 0xcb, 0xb1, 0x32, 0xc1, 0x6d, 0x79, 0xc8, 0x7d, - 0x0e, 0xb8, 0x2a, 0xa0, 0xd9, 0x09, 0x12, 0x0d, 0x84, 0x2f, 0x7a, 0x88, 0x3f, 0xa6, 0x31, 0x38, - 0x6d, 0xe3, 0x3e, 0x40, 0x55, 0x24, 0x16, 0x3e, 0xbb, 0xf6, 0xba, 0x16, 0x0f, 0x22, 0xc2, 0x8a, - 0x89, 0x3f, 0xf0, 0x7b, 0xf5, 0xc0, 0xed, 0xed, 0x46, 0x2d, 0x6e, 0x79, 0x5c, 0x80, 0xad, 0x39, - 0x07, 0x02, 0x03, 0xbd, 0x25, 0xad, 0x7f, 0x77, 0xb2, 0x90, 0xcc, 0x58, 0xdb, 0x78, 0xcd, 0x91, - 0xde, 0xa2, 0x38, 0x87, 0xcb, 0x01, 0xac, 0xc6, 0x99, 0xd3, 0xfe, 0x29, 0x61, 0xb6, 0xab, 0xe2, - 0x42, 0x00, 0xfc, 0xc3, 0xc0, 0xe6, 0x15, 0xee, 0x8e, 0x72, 0xf1, 0x0a, 0xc0, 0x5c, 0xe0, 0xf9, - 0xee, 0x4a, 0x34, 0x91, 0xea, 0x38, 0x65, 0x0f, 0xd6, 0x0d, 0x89, 0xd5, 0xb6, 0x22, 0x18, 0x8b, - 0x40, 0x00, 0xc6, 0x35, 0x1f, 0xa0, 0xb1, 0x81, 0x2e, 0x59, 0x3d, 0xdd, 0x92, 0x9a, 0xab, 0x35, - 0x81, 0x99, 0x8e, 0x68, 0x7b, 0x0c, 0xa3, 0x0d, 0x26, 0xd8, 0x68, 0x1b, 0x64, 0xe7, 0xd4, 0x81, - 0x57, 0xe6, 0xd7, 0x11, 0x41, 0xa7, 0x9c, 0xa6, 0x8b, 0xd9, 0x57, 0xa1, 0x4a, 0x10, 0x35, 0x37, - 0x9b, 0xaa, 0x74, 0x12, 0x62, 0xb4, 0xd0, 0x10, 0xcc, 0x76, 0x93, 0x4d, 0x57, 0x25, 0x1d, 0x93, - 0x32, 0xf4, 0x41, 0xb7, 0x63, 0x4e, 0xe5, 0x50, 0x1d, 0xbf, 0x17, 0x96, 0x5c, 0x17, 0x6c, 0x99, - 0x83, 0xe7, 0xf0, 0x3c, 0x17, 0xd9, 0x42, 0x8f, 0x0c, 0xbc, 0x54, 0xdd, 0xdb, 0xe8, 0x51, 0xab, - 0xb7, 0x8c, 0xe3, 0x3b, 0x76, 0xca, 0x53, 0x4a, 0x5c, 0x77, 0x6c, 0xfd, 0xba, 0x2f, 0xf3, 0x8e, - 0xe8, 0xa4, 0xcd, 0x07, 0xd2, 0x10, 0xbd, 0x8f, 0x17, 0xd8, 0x1e, 0x3a, 0x6b, 0x20, 0x05, 0xf5, - 0xab, 0x82, 0xbe, 0xb9, 0x1a, 0xc2, 0x65, 0xa1, 0xb4, 0x6a, 0xb1, 0xb4, 0x8d, 0xb7, 0x70, 0xfb, - 0x8c, 0xbe, 0xfd, 0x3c, 0x5b, 0x51, 0x33, 0x6d, 0x0d, 0xdc, 0x1b, 0xba, 0xb6, 0x60, 0xdb, 0xe2, - 0xed, 0xda, 0x29, 0x70, 0xb4, 0xdd, 0x08, 0xd6, 0xab, 0x07, 0xc6, 0x31, 0xef, 0x6a, 0x37, 0xb8, - 0x24, 0x28, 0x24, 0x92, 0x54, 0xf1, 0x92, 0x48, 0x3c, 0xa2, 0x89, 0x9f, 0xcf, 0xd2, 0xbb, 0x87, - 0x40, 0x21, 0x00, 0x91, 0xd8, 0xb1, 0xf0, 0x41, 0x3e, 0x2a, 0x23, 0xe2, 0x42, 0xa3, 0x3b, 0x2f, - 0xf6, 0xe3, 0x2e, 0x24, 0x71, 0x9c, 0x1c, 0x09, 0xe6, 0xf0, 0xca, 0x35, 0x66, 0x81, 0x63, 0xf9, - 0x33, 0xb8, 0xcf, 0x04, 0xdb, 0x5d, 0x12, 0xe0, 0x31, 0x9b, 0xa3, 0x6e, 0x4e, 0x0f, 0xf6, 0x82, - 0xeb, 0xeb, 0xe3, 0xa5, 0xd1, 0xac, 0x7b, 0xca, 0x24, 0x83, 0x29, 0x34, 0x09, 0x4e, 0x54, 0x89, - 0x8d, 0x59, 0x9c, 0xde, 0xd7, 0xfa, 0xbc, 0x66, 0x16, 0xbd, 0xde, 0xc8, 0xc4, 0x28, 0xf6, 0xaf, - 0xff, 0x27, 0xa8, 0xa3, 0x6e, 0xe8, 0xfe, 0xa9, 0x65, 0x85, 0x95, 0xc6, 0x52, 0x6d, 0xa0, 0x47, - 0xcd, 0x7f, 0x3d, 0xab, 0x4b, 0xc8, 0x0d, 0x89, 0x19, 0x06, 0xdc, 0x94, 0xcd, 0x11, 0x8e, 0x00, - 0x66, 0x51, 0x40, 0x59, 0xfb, 0x1e, 0xc0, 0xac, 0x71, 0x25, 0xda, 0xfb, 0xee, 0xc5, 0xc5, 0x84, - 0x97, 0x6e, 0xda, 0x01, 0x2c, 0x05, 0x08, 0x34, 0x9e, 0xea, 0x8b, 0x00, 0xfe, 0xc0, 0xa6, 0x38, - 0x3d, 0x54, 0xc2, 0x1c, 0xc5, 0xa8, 0x93, 0x9e, 0x72, 0xbd, 0x4a, 0xde, 0x2a, 0x08, 0x08, 0x64, - 0x7d, 0xe9, 0xee, 0x79, 0x09, 0x2d, 0x0e, 0x9b, 0x50, 0x12, 0xf1, 0x29, 0x95, 0xcc, 0xe3, 0x67, - 0x1a, 0x26, 0x6f, 0x98, 0xcc, 0x03, 0xe7, 0xa7, 0xe1, 0xac, 0x68, 0x63, 0x76, 0x1a, 0x8b, 0x0f, - 0xf2, 0x39, 0xba, 0xe1, 0x43, 0xdc, 0x9c, 0xbd, 0x50, 0x9b, 0x0f, 0xa8, 0x98, 0x1f, 0x6e, 0x9e, - 0x5a, 0x47, 0x2d, 0x2d, 0xef, 0x01, 0xde, 0xc1, 0xba, 0x72, 0x35, 0x63, 0x6b, 0x77, 0x97, 0xfa, - 0x05, 0x6a, 0xd7, 0xc7, 0x09, 0x24, 0xea, 0x4c, 0x05, 0x4b, 0xeb, 0x53, 0xa1, 0xbf, 0x83, 0xb0, - 0x06, 0x87, 0xac, 0x5f, 0xfc, 0x78, 0xd0, 0x94, 0x42, 0x3d, 0x97, 0x4a, 0x0c, 0x8f, 0x6b, 0xca, - 0xcc, 0xe4, 0x29, 0x2a, 0x31, 0xce, 0xe1, 0x3e, 0xb0, 0xe7, 0x5b, 0x52, 0xa0, 0x87, 0xe1, 0xe3, - 0x79, 0xd7, 0xda, 0x64, 0xdb, 0x34, 0x5f, 0x42, 0xbe, 0x7c, 0x51, 0x80, 0x99, 0xbf, 0xc2, 0x33, - 0xdf, 0x0a, 0x73, 0xba, 0x83, 0xb3, 0x1c, 0xad, 0x18, 0x11, 0x3a, 0x58, 0xec, 0xaa, 0x46, 0xb3, - 0xea, 0x09, 0xec, 0x6c, 0xe7, 0xdf, 0x83, 0xe4, 0x83, 0x66, 0xa1, 0x29, 0xdd, 0xb2, 0x43, 0x33, - 0x01, 0x2a, 0x75, 0x41, 0x9a, 0xab, 0x01, 0x56, 0x28, 0xa3, 0xfb, 0xc0, 0x18, 0xe4, 0x64, 0x36, - 0x91, 0x8d, 0x9c, 0x63, 0x3b, 0x3d, 0xf4, 0x23, 0xfd, 0xc6, 0x35, 0x2d, 0xbd, 0x6f, 0x32, 0xe3, - 0xac, 0x96, 0xde, 0xd9, 0xc6, 0xdd, 0x59, 0x8b, 0xcb, 0x62, 0x4c, 0x12, 0xf6, 0x3e, 0x8e, 0xcf, - 0x6d, 0x50, 0x7d, 0xf8, 0x86, 0xe6, 0x4a, 0x52, 0x38, 0xe6, 0x30, 0xac, 0x89, 0x9c, 0xfb, 0x6a, - 0x3c, 0xb9, 0x0e, 0x76, 0x5c, 0xa0, 0xe8, 0xf2, 0x60, 0x0b, 0x7d, 0xdc, 0xf9, 0xc9, 0xb5, 0x0d, - 0xb7, 0x15, 0x99, 0xa1, 0xf4, 0x55, 0x00, 0xed, 0x5a, 0xb4, 0x60, 0x2c, 0x8e, 0xb9, 0x83, 0x59, - 0x64, 0xba, 0xcf, 0xee, 0x2f, 0x67, 0xdb, 0x00, 0xf7, 0xae, 0xcd, 0xe6, 0x72, 0xf2, 0xb4, 0xda, - 0x14, 0x55, 0x2f, 0xb0, 0x4a, 0x3a, 0x1c, 0x11, 0x71, 0xc7, 0xb2, 0x5d, 0x4e, 0x93, 0x9b, 0x32, - 0x3a, 0xa0, 0x03, 0x4e, 0x67, 0xf7, 0x10, 0x12, 0x18, 0x6b, 0x17, 0x34, 0xf9, 0x68, 0x19, 0x57, - 0x29, 0xdb, 0xf6, 0x00, 0x52, 0x06, 0x4b, 0x2c, 0x9c, 0x32, 0x0a, 0x27, 0x5f, 0x8b, 0x9f, 0xbb, - 0xd0, 0x46, 0x07, 0x7f, 0x98, 0xfb, 0x27, 0x61, 0xff, 0xe1, 0x4d, 0xcb, 0xad, 0xa0, 0x06, 0x08, - 0x64, 0x51, 0x28, 0x93, 0x72, 0x46, 0x1b, 0xfe, 0x44, 0xd7, 0x68, 0x6d, 0x63, 0x0a, 0x10, 0xbf, - 0x35, 0x2b, 0xb1, 0x07, 0x53, 0x2d, 0x3c, 0x66, 0x3a, 0x84, 0xee, 0xc0, 0x7e, 0x65, 0xaf, 0xa7, - 0xde, 0xcd, 0xd0, 0xbe, 0x29, 0x28, 0x53, 0x01, 0xf2, 0x8b, 0x76, 0x07, 0xb3, 0xdd, 0x57, 0xc0, - 0x0f, 0x6c, 0xa1, 0x70, 0x13, 0xde, 0x12, 0x18, 0xa9, 0xc6, 0x4f, 0xe3, 0x08, 0xaa, 0x82, 0x72, - 0x36, 0x3e, 0xc3, 0xa8, 0x19, 0x1d, 0x32, 0x96, 0x5a, 0xef, 0x10, 0x51, 0xc1, 0xc2, 0x61, 0x8d, - 0x9f, 0xf1, 0x97, 0xac, 0xdd, 0x6f, 0xad, 0x4a, 0xa7, 0x48, 0xd4, 0xaf, 0x37, 0x14, 0x47, 0x6b, - 0x6a, 0xbb, 0x67, 0x66, 0xc8, 0x3d, 0xf9, 0xff, 0x49, 0x35, 0xea, 0xdd, 0x55, 0x56, 0xbc, 0xe6, - 0x95, 0xae, 0xe6, 0x13, 0x82, 0xe7, 0x52, 0x68, 0x1a, 0xa5, 0x27, 0x79, 0xe6, 0xd3, 0x71, 0x89, - 0xf5, 0xc9, 0xec, 0x54, 0x93, 0x27, 0x68, 0x9b, 0x81, 0xf8, 0x31, 0x9a, 0x5f, 0xd3, 0xd6, 0xec, - 0x88, 0xb3, 0x58, 0x43, 0xf3, 0x04, 0xf1, 0xba, 0x88, 0x07, 0xe1, 0xe4, 0x1d, 0x67, 0xcc, 0xf4, - 0x74, 0xe4, 0xda, 0xfb, 0x8f, 0x6b, 0xe6, 0x66, 0x16, 0xcb, 0x15, 0xa9, 0x17, 0xef, 0xb2, 0xac, - 0xa0, 0x44, 0xe4, 0xe0, 0x68, 0x9e, 0xa5, 0x01, 0x2d, 0x59, 0x86, 0xf2, 0x54, 0xff, 0xe7, 0x54, - 0x20, 0x4e, 0x3a, 0x48, 0xfa, 0xa2, 0x61, 0xe2, 0x29, 0x07, 0x3d, 0xca, 0x9e, 0x17, 0x86, 0xf5, - 0xb0, 0x78, 0x47, 0x9f, 0x77, 0x8e, 0x8f, 0x5c, 0xe0, 0x8e, 0x32, 0x70, 0x45, 0x7f, 0x4b, 0x5e, - 0xa0, 0xe5, 0x23, 0x6d, 0x94, 0x10, 0x98, 0x64, 0xe5, 0xd2, 0x59, 0x6b, 0x20, 0xf6, 0x4c, 0xa0, - 0xce, 0xe6, 0x7f, 0x0c, 0x9f, 0xd2, 0x8e, 0x2c, 0xcd, 0xe5, 0xcd, 0x49, 0xd9, 0xe3, 0x94, 0x35, - 0x04, 0x0c, 0x44, 0x8f, 0x5d, 0x48, 0x96, 0x87, 0x55, 0x53, 0x22, 0x89, 0xf5, 0x1f, 0xe2, 0x35, - 0x4f, 0xdb, 0xc6, 0xa1, 0xb8, 0xdb, 0x50, 0xf3, 0x25, 0x1e, 0x69, 0x87, 0xd8, 0x05, 0xa1, 0x8f, - 0x06, 0x54, 0xc4, 0x8b, 0x1f, 0x61, 0xd3, 0x7e, 0x43, 0x79, 0x3f, 0x0d, 0x8f, 0x1a, 0x34, 0xb9, - 0x51, 0x20, 0xf4, 0x9b, 0x68, 0x40, 0x29, 0x80, 0xcb, 0xa0, 0xfe, 0xf3, 0xe4, 0x7c, 0x83, 0x58, - 0x72, 0x01, 0x15, 0x93, 0xe5, 0x13, 0x8b, 0x87, 0xf4, 0x11, 0xd4, 0x61, 0xc9, 0x5b, 0x90, 0xc7, - 0x4c, 0x94, 0x9f, 0xc5, 0x64, 0xe9, 0x11, 0xd4, 0xda, 0x3b, 0xb4, 0x27, 0xe9, 0x3d, 0x27, 0x88, - 0x51, 0xe8, 0xfd, 0xb3, 0xbd, 0xab, 0xde, 0xf0, 0x8f, 0xba, 0xa8, 0xa6, 0x99, 0x35, 0x0e, 0x33, - 0x51, 0x10, 0x2e, 0x70, 0x75, 0xd8, 0x45, 0xb7, 0x21, 0x1d, 0xe4, 0x90, 0xe7, 0xe2, 0xbf, 0x50, - 0x8d, 0x6b, 0x91, 0x2f, 0x46, 0x9e, 0xff, 0x02, 0x06, 0xec, 0xbc, 0xb7, 0xe4, 0x13, 0xdc, 0x0d, - 0x01, 0x63, 0x1f, 0x2c, 0xe3, 0x02, 0xfc, 0x64, 0x1a, 0xfa, 0x15, 0x47, 0xbd, 0x97, 0x9f, 0x9b, - 0xdd, 0xaf, 0x3b, 0x30, 0x25, 0xc1, 0xc1, 0xef, 0x19, 0xb4, 0x7a, 0xc5, 0xfe, 0xcd, 0x08, 0xcc, - 0xc1, 0x3a, 0x06, 0xb1, 0xb2, 0x47, 0x76, 0x6b, 0xf3, 0x09, 0x83, 0x5e, 0x80, 0x93, 0x58, 0x8b, - 0x38, 0x97, 0x73, 0x86, 0xc3, 0x1f, 0x94, 0x0f, 0x46, 0x72, 0xb1, 0x93, 0x70, 0x0f, 0x69, 0xc7, - 0x55, 0x7b, 0x47, 0xa5, 0x97, 0xd0, 0xde, 0x62, 0x58, 0xf8, 0x57, 0x50, 0xd8, 0x92, 0x31, 0xbd, - 0xdf, 0x6f, 0x84, 0xd7, 0x71, 0x2a, 0x72, 0xf5, 0x06, 0x6a, 0xda, 0x03, 0xed, 0xbf, 0x84, 0x0e, - 0xd2, 0x35, 0xa0, 0x72, 0x0f, 0x43, 0x0e, 0x5d, 0x35, 0xcc, 0xcb, 0x4f, 0xc3, 0xb6, 0x41, 0x10, - 0xa2, 0x6a, 0xbe, 0x7c, 0xbf, 0xfb, 0xbf, 0x86, 0xc2, 0x99, 0xc4, 0xae, 0xa7, 0x40, 0xb3, 0x0d, - 0x9b, 0x8f, 0x42, 0x30, 0x18, 0xe9, 0x28, 0x28, 0x0b, 0x87, 0x4b, 0x3e, 0xbe, 0x6c, 0x83, 0x8f, - 0x24, 0xce, 0x88, 0xf3, 0x6c, 0xe5, 0xad, 0xb4, 0x88, 0x6e, 0x49, 0x60, 0x31, 0xa8, 0x95, 0x9a, - 0x1b, 0x12, 0x7f, 0x7e, 0x73, 0x85, 0xa7, 0xe9, 0x3c, 0x55, 0xcf, 0x29, 0x31, 0x65, 0x96, 0xe3, - 0x89, 0x9a, 0xd8, 0x6d, 0xc3, 0x10, 0x0b, 0xaa, 0xca, 0xd9, 0x7e, 0x0c, 0x9f, 0xc9, 0x62, 0x05, - 0x65, 0x6c, 0x77, 0x5e, 0x7a, 0x1d, 0xcb, 0x39, 0xec, 0x21, 0xe6, 0xd2, 0xe3, 0x18, 0x6e, 0xb3, - 0x33, 0xaa, 0x8f, 0xa9, 0xa8, 0x0e, 0x8a, 0x8c, 0x95, 0x5e, 0xd2, 0x0d, 0xd5, 0x48, 0x9c, 0xc8, - 0x43, 0x2f, 0x47, 0x06, 0x9d, 0x52, 0x67, 0xc2, 0xf5, 0x7a, 0x86, 0x75, 0x7a, 0xc5, 0x29, 0xfa, - 0xbc, 0xa3, 0x3f, 0x74, 0xcc, 0x9a, 0x8b, 0xa3, 0x9b, 0xea, 0xac, 0x53, 0x72, 0x99, 0x60, 0x91, - 0x0a, 0x7c, 0x11, 0x0e, 0x0c, 0x44, 0xe2, 0x82, 0x9c, 0x8c, 0x06, 0xad, 0x9c, 0xd5, 0xba, 0x6a, - 0x8e, 0x7d, 0xe7, 0x68, 0x3f, 0xbd, 0xb3, 0x1f, 0x59, 0x73, 0x25, 0x5f, 0x05, 0x24, 0xf6, 0x28, - 0x98, 0x58, 0x28, 0xad, 0x91, 0xbd, 0x3c, 0xda, 0xbb, 0xc5, 0x7f, 0xc4, 0x69, 0x7f, 0xdc, 0xd9, - 0xb4, 0x1e, 0xb0, 0x86, 0x63, 0xe9, 0x49, 0x0a, 0xac, 0xc9, 0xce, 0x8f, 0x17, 0x39, 0xe5, 0xa2, - 0x98, 0x2e, 0xe5, 0x89, 0xb9, 0x3d, 0xcb, 0xfa, 0x6e, 0xcb, 0x29, 0x72, 0x5c, 0x25, 0xdb, 0xec, - 0xc0, 0x60, 0xa6, 0x60, 0x14, 0x82, 0x6e, 0x15, 0x91, 0xef, 0x11, 0x1c, 0xdd, 0x25, 0xff, 0xc1, - 0x27, 0x5e, 0xb4, 0xe7, 0xd4, 0x78, 0xa0, 0x71, 0x86, 0x44, 0xe0, 0xc2, 0xf6, 0x54, 0xed, 0xc8, - 0x74, 0x3e, 0xa7, 0x98, 0x6d, 0x4c, 0x86, 0xdf, 0xc1, 0x79, 0x67, 0x98, 0x3d, 0x5c, 0x0c, 0x17, - 0xdf, 0x64, 0x32, 0x34, 0xf9, 0x60, 0xb9, 0x0e, 0x09, 0x96, 0x82, 0x74, 0xa6, 0x10, 0x44, 0x70, - 0xd1, 0x19, 0xe1, 0x96, 0xda, 0x66, 0x95, 0x55, 0xbb, 0xb3, 0xd0, 0xc9, 0xa5, 0xea, 0x40, 0x17, - 0xdf, 0x97, 0x79, 0x16, 0x97, 0x5c, 0x24, 0x1e, 0x76, 0xf2, 0xf3, 0xb0, 0xf1, 0x50, 0x0f, 0xf6, - 0xf2, 0x4c, 0x30, 0xfa, 0xaa, 0xc1, 0x4b, 0xb9, 0x93, 0x04, 0x22, 0x6e, 0x44, 0x9e, 0xb1, 0xde, - 0xfd, 0xfc, 0x88, 0xae, 0xa9, 0xa5, 0xc2, 0x10, 0xf8, 0xec, 0x2a, 0x67, 0x18, 0x56, 0x25, 0x6d, - 0x39, 0x18, 0xa8, 0x63, 0x04, 0x2b, 0x73, 0xbf, 0xbc, 0x53, 0x87, 0x1f, 0x8d, 0x91, 0xef, 0x45, - 0x10, 0x4f, 0x27, 0x21, 0x97, 0x97, 0x0f, 0x2e, 0xac, 0xc2, 0xd9, 0xdf, 0xee, 0x3f, 0x7f, 0x7d, - 0x04, 0x1d, 0xde, 0xe8, 0x3b, 0x90, 0x9f, 0xb6, 0xaa, 0x0c, 0xa1, 0x07, 0x29, 0x95, 0xb4, 0x7b, - 0xa9, 0x2b, 0xbb, 0x91, 0x81, 0xcf, 0xa4, 0xa9, 0x5f, 0xb0, 0xd4, 0xcc, 0xf3, 0xf5, 0x47, 0x83, - 0x5f, 0x37, 0x11, 0x0a, 0x62, 0x28, 0xdb, 0x16, 0xfe, 0xb5, 0x8a, 0x62, 0xe9, 0xcb, 0x66, 0x33, - 0xc8, 0x32, 0x27, 0x95, 0x55, 0xe3, 0x41, 0xb1, 0x34, 0x80, 0x45, 0x23, 0x2d, 0x84, 0x26, 0x37, - 0xf8, 0x77, 0x85, 0x1e, 0xae, 0xba, 0xfd, 0x85, 0x59, 0x0f, 0xf1, 0xb7, 0x97, 0xa9, 0xf3, 0xf5, - 0x1b, 0xaa, 0x01, 0x8e, 0x20, 0x66, 0x38, 0x1f, 0xff, 0xb0, 0x63, 0xb6, 0xbc, 0xe2, 0x75, 0x99, - 0x30, 0xe2, 0xa3, 0x3a, 0x1e, 0xa3, 0xa9, 0xb4, 0xf2, 0x2f, 0x61, 0xf7, 0xc8, 0x43, 0x26, 0xae, - 0x9b, 0x58, 0x1f, 0x18, 0x23, 0xe9, 0x60, 0x51, 0x64, 0x2c, 0x51, 0x93, 0x38, 0x79, 0x47, 0xf5, - 0x5f, 0x4c, 0x84, 0xe4, 0xc8, 0x07, 0xd0, 0x37, 0x8a, 0xcd, 0x61, 0x58, 0xad, 0x08, 0xbe, 0xd0, - 0xa3, 0xa8, 0x73, 0x9c, 0x3a, 0xa7, 0xa5, 0xeb, 0x5b, 0x1e, 0x88, 0xae, 0x38, 0x9f, 0x78, 0x49, - 0x07, 0x24, 0xf7, 0xf3, 0xdc, 0x17, 0x11, 0x73, 0x69, 0xd0, 0xfa, 0xd8, 0x18, 0x31, 0x4d, 0x94, - 0x7b, 0xc2, 0xe2, 0x06, 0x33, 0x2a, 0xce, 0xc3, 0xea, 0x7c, 0x93, 0x58, 0x96, 0x36, 0xe1, 0x09, - 0x4f, 0x08, 0x17, 0xf5, 0x4a, 0xb8, 0xc7, 0x8e, 0xb0, 0xad, 0x5f, 0xb6, 0xcc, 0x6a, 0xe7, 0xc5, - 0x14, 0x0e, 0xca, 0xb4, 0x9a, 0x5a, 0x58, 0x95, 0x24, 0x25, 0xaf, 0xee, 0x24, 0xcb, 0xe2, 0x6e, - 0x2d, 0x94, 0xc3, 0x94, 0xad, 0x8d, 0xae, 0x53, 0xe1, 0x00, 0xe9, 0xc0, 0x0e, 0x8c, 0xf5, 0x67, - 0xf3, 0x2f, 0xa5, 0x24, 0xea, 0xc7, 0xfb, 0x30, 0x92, 0xb6, 0x12, 0xb4, 0x36, 0xa5, 0x64, 0x3a, - 0x5f, 0x1e, 0x0b, 0xf8, 0xad, 0xd6, 0x86, 0x93, 0x33, 0xdf, 0x77, 0x8a, 0x36, 0x39, 0xae, 0x4c, - 0x13, 0x54, 0x07, 0xbf, 0xc1, 0x3d, 0x46, 0x1a, 0x27, 0x5d, 0xb0, 0x8f, 0x93, 0xe6, 0xae, 0x59, - 0x0f, 0x7a, 0x06, 0x9b, 0xa6, 0x11, 0x55, 0x01, 0x3c, 0x5e, 0x68, 0x88, 0x09, 0x2b, 0x28, 0xff, - 0x2c, 0x97, 0x85, 0x39, 0x83, 0x14, 0x0a, 0xeb, 0x19, 0xc4, 0x1d, 0xfd, 0x5f, 0xc2, 0xf3, 0x80, - 0x3e, 0x25, 0xa4, 0xb1, 0x3a, 0x23, 0x6e, 0xd5, 0x8a, 0x98, 0xf7, 0x73, 0xcb, 0xdd, 0x03, 0x4e, - 0xd0, 0xc6, 0x7b, 0x40, 0xf1, 0xe0, 0x58, 0xe8, 0xe4, 0x9b, 0x28, 0x32, 0x77, 0x2b, 0x82, 0xa7, - 0x8b, 0xb8, 0x5d, 0x0e, 0x83, 0xa2, 0x7e, 0x65, 0x10, 0x9d, 0x9d, 0xe2, 0xe3, 0xbc, 0xe1, 0xae, - 0x2a, 0xa8, 0x1e, 0x72, 0x4d, 0x23, 0xbf, 0x73, 0xbb, 0xcb, 0x67, 0x45, 0xee, 0xf2, 0x31, 0x00, - 0xe4, 0x69, 0xc0, 0x11, 0xf8, 0xc4, 0xe8, 0x46, 0x57, 0xaf, 0x6f, 0x57, 0xdb, 0x56, 0x15, 0x5a, - 0x0a, 0x9f, 0x6b, 0x54, 0x44, 0xed, 0xbc, 0xff, 0x12, 0x00, 0xd4, 0xa0, 0x48, 0x68, 0x6a, 0x3a, - 0x4b, 0x01, 0x6d, 0x23, 0x08, 0xeb, 0x8d, 0x53, 0xc8, 0xc0, 0x41, 0xf4, 0x12, 0x65, 0xf2, 0x7a, - 0x62, 0xd3, 0xd7, 0xa7, 0xbf, 0x25, 0xf4, 0xf3, 0x17, 0x8c, 0x38, 0xfc, 0x65, 0xae, 0xd6, 0x9d, - 0x38, 0x1c, 0xf0, 0x6a, 0xb7, 0x93, 0x00, 0x30, 0xa2, 0xda, 0xf8, 0xf3, 0xda, 0xb3, 0x51, 0xf6, - 0xd8, 0x41, 0x81, 0xa7, 0x56, 0x30, 0x9a, 0x10, 0xd9, 0x54, 0xe9, 0x25, 0xa7, 0xe8, 0xfe, 0xdd, - 0x1b, 0x5b, 0xbb, 0x04, 0xa0, 0x4a, 0x39, 0x35, 0xeb, 0x5a, 0xa3, 0xe0, 0xae, 0x80, 0x02, 0x97, - 0xae, 0xfa, 0x3c, 0x70, 0x8b, 0xbd, 0xf5, 0xe5, 0xba, 0x14, 0x99, 0xd6, 0x98, 0x42, 0x33, 0x54, - 0xb4, 0x5f, 0x90, 0xd5, 0x7b, 0x81, 0x8c, 0x01, 0xdb, 0xbc, 0x68, 0x85, 0x7d, 0x86, 0xd0, 0x93, - 0x22, 0x70, 0xf6, 0x91, 0xac, 0xb9, 0xb9, 0xd1, 0xc7, 0x22, 0x03, 0x41, 0x02, 0x64, 0x47, 0x76, - 0x01, 0x18, 0xa7, 0xc6, 0x69, 0x90, 0x36, 0x62, 0xf2, 0xd1, 0x9f, 0xb4, 0xc9, 0x0f, 0x91, 0xe9, - 0xdb, 0x80, 0xa8, 0xb7, 0x78, 0xb1, 0x8b, 0x26, 0x72, 0x1d, 0x28, 0x1e, 0x14, 0x4b, 0x55, 0xea, - 0x65, 0x41, 0x74, 0x1e, 0x09, 0x1c, 0x2b, 0xa1, 0x56, 0x44, 0x3a, 0x2b, 0x2b, 0x3f, 0xb4, 0x9e, - 0x43, 0x09, 0x4f, 0x5f, 0xf9, 0x64, 0x80, 0xbd, 0xfa, 0xeb, 0x13, 0x01, 0xb1, 0x09, 0x8f, 0x45, - 0x4a, 0x48, 0xd6, 0x5e, 0xf6, 0x6a, 0x0a, 0x90, 0x38, 0x60, 0x3a, 0xdb, 0x32, 0x75, 0x47, 0x17, - 0x0e, 0x86, 0x25, 0x0a, 0xdc, 0x35, 0x83, 0x4c, 0x78, 0x32, 0xd6, 0xa6, 0xee, 0xba, 0x14, 0x5d, - 0x91, 0x8f, 0xa2, 0xba, 0x26, 0xdb, 0xba, 0xa4, 0xbc, 0x38, 0xe8, 0xf2, 0x58, 0xe9, 0x71, 0x13, - 0x40, 0x58, 0xba, 0xc0, 0x0a, 0x08, 0x82, 0x5d, 0xb0, 0x31, 0xe7, 0x56, 0x50, 0x24, 0x28, 0x5b, - 0xf1, 0x48, 0x54, 0x7e, 0xb9, 0x22, 0x15, 0x87, 0x91, 0xb3, 0x22, 0xbf, 0x58, 0x32, 0x0a, 0x61, - 0x56, 0xc0, 0x30, 0xe5, 0xeb, 0x52, 0xff, 0x27, 0x60, 0xa5, 0xb9, 0x20, 0x60, 0xde, 0x84, 0x83, - 0x9c, 0x99, 0x1c, 0x44, 0x22, 0xa3, 0xdf, 0x54, 0xa0, 0xda, 0x25, 0x3e, 0xf3, 0x0f, 0x43, 0xc6, - 0x51, 0x99, 0x12, 0x05, 0xa0, 0x8a, 0x47, 0x12, 0xe7, 0x86, 0x31, 0x35, 0xb2, 0x4c, 0xe5, 0xe1, - 0xdb, 0x94, 0xa3, 0x85, 0xa8, 0xda, 0x10, 0x49, 0x8b, 0xe5, 0xa2, 0xf9, 0x3b, 0xf0, 0x13, 0xd2, - 0xc1, 0x5a, 0x58, 0x31, 0x7b, 0x2f, 0x0e, 0x59, 0xc7, 0xd4, 0x71, 0x9b, 0x45, 0xa8, 0xb7, 0x87, - 0xbf, 0x95, 0xf9, 0x6c, 0x02, 0x09, 0x1b, 0x44, 0xfe, 0x35, 0x63, 0xdb, 0x5b, 0x15, 0x04, 0xe0, - 0xaf, 0xc8, 0xd3, 0xa9, 0x34, 0x49, 0x17, 0x73, 0x73, 0x15, 0x2a, 0xe2, 0xe4, 0x14, 0x51, 0x5c, - 0x02, 0x8e, 0xc4, 0xb9, 0xbc, 0x10, 0xdd, 0x1e, 0xa4, 0x09, 0xab, 0x0a, 0x83, 0x07, 0xa8, 0x96, - 0x2e, 0x7b, 0x08, 0x4e, 0x04, 0x8f, 0xa7, 0x2d, 0x99, 0x00, 0xcd, 0xcd, 0x0b, 0x64, 0x73, 0x1e, - 0x74, 0x63, 0x04, 0x66, 0x07, 0x32, 0xd6, 0xbd, 0x31, 0xa0, 0x61, 0x4a, 0xdc, 0x64, 0xe4, 0x7f, - 0x80, 0x7c, 0xd4, 0xd4, 0xc8, 0xed, 0x74, 0xc0, 0x9c, 0x58, 0x0b, 0xea, 0x2b, 0xb8, 0xe8, 0xf6, - 0xe2, 0x67, 0x9a, 0xa2, 0x75, 0x91, 0x96, 0x76, 0xf5, 0x2d, 0xd4, 0x93, 0x5a, 0xf0, 0x24, 0xe1, - 0xc1, 0x78, 0x26, 0xb6, 0x84, 0x38, 0xf7, 0x36, 0xf7, 0xe3, 0x12, 0x35, 0xb4, 0xe4, 0xa5, 0xaa, - 0x48, 0xa2, 0xc2, 0xbc, 0xcf, 0xd3, 0x62, 0x8c, 0x1b, 0x4f, 0x56, 0xaf, 0xfe, 0x04, 0x73, 0x7f, - 0x8c, 0x19, 0x53, 0xd5, 0xc9, 0xb2, 0x7c, 0xa1, 0x4a, 0x1e, 0x41, 0xb4, 0x83, 0xf2, 0xd0, 0xb1, - 0xea, 0x5c, 0xc8, 0xac, 0xbf, 0x69, 0xe6, 0xcd, 0xac, 0xee, 0x9e, 0x5e, 0x9b, 0xb6, 0x3d, 0x7f, - 0x38, 0x4f, 0xe7, 0xee, 0x60, 0x36, 0xb9, 0xf3, 0xbe, 0x3e, 0xe8, 0x90, 0xa1, 0xdb, 0xf6, 0xc5, - 0x28, 0xaa, 0x13, 0x24, 0x01, 0x24, 0x33, 0x88, 0x1a, 0x62, 0x00, 0x24, 0x7b, 0x87, 0x76, 0x7f, - 0x12, 0x86, 0x6a, 0xbc, 0x4e, 0xe4, 0x34, 0x32, 0xf7, 0xc4, 0x91, 0xfc, 0x72, 0x30, 0xb6, 0x1f, - 0xf2, 0x81, 0x1b, 0xfa, 0x8f, 0x80, 0xc0, 0x90, 0xfb, 0xcf, 0x99, 0x57, 0x7f, 0xfd, 0xcd, 0x14, - 0x3d, 0xb5, 0xb4, 0xb6, 0xdb, 0xc0, 0x4a, 0x58, 0x24, 0x51, 0xc9, 0xbb, 0x5f, 0xca, 0x90, 0x2c, - 0xdb, 0x33, 0xbc, 0x73, 0x81, 0x63, 0x62, 0xd0, 0x6d, 0xf1, 0xf0, 0xf6, 0x35, 0x9a, 0x01, 0xe0, - 0xa9, 0x7e, 0xfa, 0xfc, 0x10, 0x4c, 0x32, 0xf9, 0x92, 0xad, 0xf5, 0xcb, 0x0c, 0xf5, 0x34, 0xf1, - 0x08, 0x5d, 0x81, 0xd7, 0xfc, 0x51, 0x32, 0x9d, 0xf4, 0x33, 0x0f, 0xd3, 0x2e, 0x69, 0x02, 0x2a, - 0x0e, 0x1f, 0xdd, 0xa1, 0xef, 0x9f, 0xac, 0xb7, 0xd2, 0xa1, 0x4f, 0xb5, 0x45, 0x19, 0x5b, 0x05, - 0xa3, 0x72, 0x3f, 0xf7, 0x8b, 0x67, 0xdd, 0x74, 0x73, 0xe3, 0x31, 0x25, 0xb1, 0x1a, 0x98, 0x28, - 0x6c, 0x2a, 0x01, 0x4a, 0x31, 0xc2, 0x25, 0x36, 0xa3, 0xc0, 0x6b, 0xf1, 0xf5, 0xdb, 0xde, 0x1e, - 0x07, 0xd6, 0xc1, 0x0b, 0xa2, 0xcf, 0xa3, 0xb9, 0x86, 0x51, 0x0e, 0xfe, 0x58, 0x42, 0x21, 0x3c, - 0x0d, 0x86, 0x09, 0x7e, 0x8e, 0xb1, 0x1a, 0xa5, 0x3d, 0x98, 0xee, 0x23, 0x7d, 0x40, 0x34, 0x32, - 0x6a, 0xcc, 0x5c, 0x75, 0x3e, 0x2d, 0x36, 0x44, 0xa6, 0x4c, 0x9a, 0xd3, 0x89, 0x20, 0x2c, 0x1b, - 0xc4, 0xed, 0xf0, 0x34, 0x36, 0x15, 0x13, 0x68, 0xa9, 0x47, 0xcb, 0x93, 0xfe, 0x9b, 0x67, 0x40, - 0x9e, 0x97, 0x5f, 0xdb, 0xd4, 0x33, 0x51, 0xb6, 0x5c, 0x74, 0x9b, 0x5c, 0x64, 0x2e, 0xaf, 0x67, - 0x0e, 0x79, 0xdf, 0xd4, 0x28, 0x96, 0x6f, 0x2f, 0xfa, 0xdb, 0xba, 0xf1, 0x49, 0x65, 0xc3, 0xf4, - 0x8c, 0x0e, 0x33, 0x1e, 0xde, 0x93, 0x47, 0xb4, 0xf5, 0x39, 0x16, 0xc1, 0x75, 0x6a, 0x56, 0x71, - 0x48, 0x81, 0x66, 0xfe, 0xdd, 0x81, 0x70, 0x18, 0xa8, 0xf1, 0x5e, 0x60, 0x2a, 0x0a, 0xbb, 0xed, - 0x76, 0xb1, 0xbd, 0x51, 0x97, 0x13, 0x2c, 0x20, 0xcb, 0xf3, 0x59, 0xf1, 0x05, 0xff, 0x01, 0xbc, - 0x48, 0x78, 0x27, 0x17, 0x3b, 0x29, 0x81, 0xf5, 0x5c, 0xca, 0x1e, 0xf6, 0x91, 0x30, 0x1a, 0x5f, - 0x1e, 0x8a, 0x45, 0x02, 0x88, 0x13, 0xfa, 0xdb, 0x1f, 0x6b, 0x99, 0x3d, 0xad, 0x5b, 0xea, 0x78, - 0xbd, 0x35, 0x02, 0x89, 0xc9, 0x6e, 0xf0, 0xcf, 0xfb, 0x9b, 0xd4, 0x14, 0xe5, 0x79, 0x58, 0x13, - 0x76, 0x5d, 0x48, 0x5a, 0x8c, 0xf7, 0x19, 0x55, 0x1c, 0x1e, 0xbd, 0xe1, 0x68, 0xf7, 0xed, 0x07, - 0x87, 0xb7, 0x40, 0x46, 0xd2, 0xb1, 0xc2, 0x42, 0x84, 0x37, 0xbb, 0xea, 0x97, 0xef, 0x23, 0xc6, - 0xc0, 0xff, 0xbe, 0xe8, 0x16, 0xd0, 0x1f, 0x77, 0xb0, 0x7f, 0x79, 0x1c, 0xe1, 0x4b, 0x07, 0x43, - 0x2f, 0x2a, 0xc4, 0x4b, 0x92, 0xde, 0x7a, 0x6d, 0x49, 0x8d, 0x65, 0x1d, 0x3e, 0x92, 0xa0, 0xdf, - 0x42, 0x95, 0x8e, 0x53, 0xbc, 0xeb, 0x93, 0x1b, 0xe7, 0xba, 0x3e, 0x80, 0x5b, 0x47, 0x98, 0xb4, - 0x4b, 0x63, 0x46, 0x28, 0xc7, 0x29, 0xd7, 0xaf, 0x95, 0xa2, 0xf0, 0x3c, 0xde, 0xcd, 0x54, 0xba, - 0x9b, 0x8b, 0xb9, 0x88, 0x3d, 0xde, 0x08, 0xb4, 0x82, 0x24, 0x66, 0xec, 0xb6, 0x98, 0x2c, 0xa9, - 0xb7, 0x3b, 0x72, 0xf5, 0xdb, 0x09, 0x5f, 0x2b, 0x9e, 0x3f, 0x9c, 0xb8, 0xe5, 0x90, 0xfb, 0xb2, - 0x73, 0x8c, 0x49, 0x63, 0xc7, 0xc0, 0x47, 0xa4, 0xf2, 0x00, 0x8b, 0xdd, 0x72, 0x53, 0xc4, 0x18, - 0x69, 0x98, 0xbb, 0x93, 0xc0, 0xf0, 0x9c, 0x00, 0x46, 0x74, 0x7b, 0x29, 0xc5, 0x4f, 0xe6, 0x89, - 0x88, 0xcd, 0x0f, 0x69, 0xa1, 0xe3, 0x7c, 0x8a, 0x9a, 0xb1, 0x28, 0xae, 0x0f, 0x9f, 0x44, 0x7b, - 0x2f, 0xd1, 0x92, 0xb9, 0xcf, 0xcb, 0xfb, 0xe2, 0x34, 0x4e, 0xa3, 0x48, 0xc7, 0x12, 0xa6, 0xdc, - 0x11, 0x43, 0xbb, 0x65, 0xb8, 0x3c, 0x8b, 0x92, 0x47, 0x5f, 0xbc, 0x39, 0xb5, 0xd6, 0x7b, 0x3e, - 0xb9, 0x27, 0x19, 0x20, 0x13, 0xef, 0xa2, 0x16, 0x86, 0x03, 0xa5, 0x8b, 0x1b, 0xe1, 0x4c, 0xb8, - 0x0d, 0x5a, 0xaf, 0x84, 0x34, 0x3e, 0x73, 0x25, 0x35, 0xb4, 0x14, 0x5d, 0xd6, 0xb5, 0xb7, 0x2e, - 0xb8, 0xce, 0xee, 0xff, 0xaa, 0x38, 0x43, 0xc5, 0x40, 0x8d, 0xe2, 0x47, 0x4c, 0x2a, 0x42, 0x76, - 0xf0, 0xef, 0x6b, 0xb0, 0x75, 0x18, 0x08, 0x49, 0x08, 0x30, 0x61, 0xb1, 0x3c, 0x04, 0x7f, 0x69, - 0x3a, 0x59, 0xb5, 0x6a, 0x98, 0xf1, 0x3f, 0x85, 0xd4, 0xe1, 0x04, 0xeb, 0x2c, 0x56, 0x4c, 0xbf, - 0x78, 0x05, 0x28, 0x34, 0xf3, 0x59, 0xf7, 0x09, 0x0c, 0x54, 0x5a, 0xbc, 0x6a, 0xbd, 0x92, 0xa7, - 0xa6, 0x01, 0x2e, 0xdf, 0xd3, 0x41, 0x46, 0xc7, 0xc6, 0x55, 0x4f, 0x48, 0x27, 0x6c, 0x73, 0xff, - 0x29, 0x29, 0x94, 0x28, 0x87, 0x5d, 0x44, 0xfe, 0xd9, 0x1b, 0xd4, 0xad, 0xcf, 0xfa, 0x94, 0x14, - 0x3c, 0xdb, 0xcf, 0xe7, 0xe8, 0x83, 0x1f, 0x37, 0xac, 0x42, 0xfc, 0x0b, 0xac, 0xbc, 0x26, 0x50, - 0x70, 0x87, 0x47, 0xd1, 0x0a, 0x4f, 0x0a, 0x9c, 0x50, 0x03, 0x39, 0xa3, 0x41, 0x5d, 0x32, 0xa6, - 0x00, 0x8b, 0xb7, 0x4c, 0x40, 0xf0, 0xe2, 0xc8, 0xce, 0xe6, 0x71, 0x29, 0x07, 0xf0, 0x78, 0xb9, - 0x91, 0xd2, 0x7a, 0xa0, 0xc3, 0xfd, 0x9e, 0x0e, 0x21, 0xeb, 0x1a, 0x08, 0xea, 0x5a, 0x57, 0x52, - 0xae, 0xe3, 0xfc, 0x98, 0xc1, 0x0f, 0x80, 0x2a, 0xdc, 0xc5, 0xe4, 0x2b, 0xbb, 0x63, 0x86, 0xcb, - 0x40, 0x53, 0xc4, 0x75, 0xb5, 0x6c, 0x79, 0xe7, 0xfd, 0xdd, 0xf2, 0xba, 0xed, 0x8e, 0xb3, 0xe5, - 0xcf, 0xd2, 0x13, 0x5b, 0x24, 0xdb, 0x58, 0x0d, 0x73, 0x81, 0xa6, 0x2a, 0x0e, 0x70, 0x26, 0xe3, - 0x59, 0x1a, 0x38, 0x36, 0x03, 0x07, 0xe8, 0x36, 0x1d, 0x2d, 0xa0, 0xe7, 0x3d, 0x7e, 0xfc, 0x5f, - 0x7f, 0x3c, 0xd4, 0xd0, 0x52, 0xde, 0xa9, 0x62, 0x92, 0x30, 0x74, 0xca, 0xbe, 0x09, 0x0c, 0xdc, - 0x94, 0x8c, 0xd2, 0xca, 0x5d, 0x89, 0x50, 0xca, 0xea, 0x74, 0x9c, 0x21, 0x0a, 0xac, 0x83, 0xc9, - 0x5f, 0xc9, 0x5d, 0x89, 0x19, 0xd7, 0x3d, 0x89, 0xb3, 0x90, 0x11, 0x5e, 0x2c, 0x64, 0x18, 0xfa, - 0xc1, 0xa7, 0x12, 0x4d, 0xec, 0x50, 0x10, 0x53, 0xeb, 0x8d, 0x82, 0x89, 0x53, 0xf8, 0xcc, 0x03, - 0x53, 0xc0, 0x49, 0x12, 0x72, 0x17, 0x03, 0xd3, 0x01, 0x5f, 0x59, 0xe3, 0x12, 0xe3, 0x27, 0xec, - 0xb9, 0x5e, 0xe7, 0xce, 0x84, 0xb0, 0x14, 0xb6, 0xbf, 0x85, 0xdc, 0xa1, 0xde, 0xe5, 0x81, 0x3b, - 0xed, 0x74, 0x9e, 0xb6, 0x9f, 0x1b, 0xc3, 0x85, 0xe9, 0x16, 0xdd, 0x10, 0x0a, 0x64, 0x08, 0x17, - 0xf2, 0xc1, 0x6e, 0xfe, 0x51, 0xfd, 0xe0, 0x1d, 0xde, 0xe0, 0x64, 0xc0, 0x91, 0x0c, 0xf9, 0x9f, - 0xb5, 0x35, 0xaa, 0x0a, 0xe3, 0xd1, 0x2d, 0xa2, 0x6f, 0x49, 0xf2, 0xcf, 0xbc, 0x1c, 0x6f, 0x29, - 0xc5, 0xa9, 0xf6, 0xbb, 0xf5, 0xe5, 0x4b, 0x14, 0x67, 0xd6, 0x24, 0x11, 0x40, 0xe0, 0x51, 0x77, - 0x00, 0xe9, 0xa9, 0x36, 0xe3, 0xcc, 0x79, 0xaf, 0x97, 0xec, 0x46, 0x03, 0x17, 0xe2, 0x5a, 0x48, - 0x19, 0x90, 0x1f, 0x3c, 0xf8, 0x0d, 0xf4, 0xf1, 0xb2, 0x60, 0x65, 0x99, 0x9e, 0x04, 0xfe, 0x41, - 0xb2, 0x5e, 0xdd, 0xd4, 0x42, 0x92, 0xb8, 0x27, 0xc5, 0xf1, 0x92, 0x02, 0xcf, 0x7c, 0x6d, 0x22, - 0xb5, 0xd4, 0x86, 0xfc, 0x80, 0x7c, 0x67, 0x0d, 0x38, 0x1b, 0xce, 0xa9, 0x38, 0x7b, 0xe1, 0x1f, - 0x89, 0x1d, 0xfe, 0x84, 0x14, 0x89, 0x64, 0x2b, 0xef, 0xfd, 0xfa, 0xd4, 0x5b, 0xc6, 0x54, 0x28, - 0x1e, 0x36, 0x77, 0xff, 0x5f, 0x12, 0x18, 0x64, 0xb4, 0x02, 0xdc, 0x14, 0x22, 0x03, 0x7a, 0xfa, - 0xdd, 0x7d, 0x4f, 0xd1, 0x70, 0x4d, 0x94, 0x81, 0x8d, 0x3b, 0xf4, 0xe6, 0xfb, 0x73, 0xb0, 0x24, - 0xc1, 0xb4, 0xcd, 0x1e, 0x17, 0x89, 0x8d, 0xa0, 0x27, 0xfd, 0xc1, 0x24, 0x9b, 0x5b, 0x2e, 0x4c, - 0x91, 0x7d, 0xa8, 0xaa, 0x32, 0x28, 0x1e, 0xfe, 0x5e, 0xd1, 0xf4, 0x20, 0x26, 0xd8, 0x6b, 0xcd, - 0x71, 0x86, 0xe9, 0x37, 0xb9, 0xad, 0x5d, 0x19, 0x7c, 0x80, 0xda, 0xb8, 0x87, 0xff, 0xbd, 0x4c, - 0x29, 0xf8, 0x88, 0x57, 0xd7, 0xe0, 0xa5, 0x99, 0x0e, 0x58, 0xb3, 0xb5, 0x0f, 0xf9, 0x43, 0xb7, - 0x84, 0x8c, 0x12, 0xd7, 0x94, 0xc2, 0xc7, 0x54, 0x01, 0x4c, 0xbe, 0xa4, 0x1a, 0xc7, 0xbe, 0xfd, - 0xaf, 0x83, 0xe9, 0xc5, 0x82, 0xd0, 0xd0, 0x06, 0x79, 0x17, 0xbe, 0x57, 0x50, 0x0b, 0x9c, 0x7a, - 0x73, 0xe4, 0x38, 0x92, 0xce, 0x93, 0x50, 0x01, 0x06, 0xd9, 0x5b, 0x74, 0xe9, 0x4f, 0x19, 0x9e, - 0xc0, 0x8b, 0xf1, 0xbf, 0xf7, 0x78, 0x53, 0x88, 0xcc, 0xdc, 0xe3, 0xda, 0xdf, 0xec, 0x58, 0x86, - 0xc9, 0xdc, 0xb3, 0x54, 0xaf, 0xcc, 0x03, 0xcf, 0x34, 0x05, 0x95, 0x8a, 0xa4, 0xd0, 0x68, 0xa4, - 0x6e, 0xe7, 0x2d, 0x2c, 0x51, 0x78, 0x19, 0x42, 0x5f, 0xb2, 0xf1, 0xe6, 0x46, 0x32, 0x1f, 0x4c, - 0x13, 0xda, 0x82, 0x69, 0x16, 0x8e, 0xad, 0x44, 0xc7, 0x84, 0x1c, 0xfb, 0x2f, 0x6b, 0x3b, 0x28, - 0x2a, 0x5b, 0xa4, 0x8f, 0xbc, 0xe8, 0x71, 0x8e, 0x87, 0x68, 0x0d, 0x84, 0x5d, 0x1a, 0x33, 0xc1, - 0x3a, 0xef, 0xa5, 0x31, 0xd1, 0x11, 0x19, 0xca, 0x1b, 0xd7, 0xbc, 0x20, 0x28, 0x32, 0x8d, 0xd6, - 0xcb, 0x83, 0x46, 0x77, 0xa0, 0x4e, 0x9a, 0xe0, 0xbf, 0x60, 0xda, 0x69, 0xcd, 0xc0, 0xbb, 0x40, - 0xe8, 0x70, 0x44, 0x70, 0x8a, 0xf1, 0x64, 0x99, 0x9e, 0xd1, 0xfb, 0x37, 0x5d, 0x87, 0x0f, 0x30, - 0x10, 0x5f, 0xd8, 0x37, 0x97, 0x4f, 0xc1, 0x44, 0x7e, 0xc1, 0x6d, 0xae, 0x1a, 0xe9, 0x50, 0x38, - 0xfb, 0xde, 0xa9, 0xd6, 0x26, 0x48, 0xd8, 0x01, 0x78, 0xf3, 0x77, 0xae, 0x2c, 0x22, 0x53, 0x49, - 0xb7, 0x07, 0x09, 0xe7, 0x60, 0x89, 0x21, 0xe5, 0x2f, 0xd8, 0x4e, 0x42, 0x07, 0x75, 0xad, 0xbb, - 0x91, 0xee, 0xe9, 0xd5, 0xe4, 0xd5, 0x3e, 0xbb, 0x02, 0xea, 0xb6, 0x9d, 0x19, 0x5d, 0xe3, 0xff, - 0xa5, 0x7d, 0xfe, 0x08, 0x2a, 0x03, 0xda, 0x2e, 0x8e, 0xb9, 0x38, 0x52, 0x68, 0x7a, 0xc0, 0x5b, - 0xdd, 0xbe, 0xce, 0x32, 0x9d, 0x2d, 0x9f, 0xbd, 0xd1, 0x32, 0x83, 0x9d, 0x20, 0x86, 0x4d, 0x85, - 0x56, 0x06, 0x65, 0x11, 0x7f, 0xdd, 0x11, 0xad, 0xc2, 0x42, 0x2a, 0x31, 0x86, 0x53, 0xb7, 0xb0, - 0x28, 0xfe, 0x63, 0xa9, 0xc7, 0xd9, 0x58, 0x4c, 0xa1, 0xdb, 0x3b, 0x12, 0x1d, 0xaa, 0xf5, 0x06, - 0x8c, 0x34, 0x2b, 0xd2, 0x68, 0x47, 0xa5, 0xe5, 0xd7, 0xe0, 0x4c, 0x41, 0x62, 0xe7, 0x2d, 0xbb, - 0x85, 0xdf, 0x61, 0x7f, 0xe3, 0x27, 0x96, 0x55, 0xe6, 0x09, 0x5c, 0xbe, 0x09, 0xe5, 0x94, 0xe0, - 0x87, 0x95, 0x97, 0x6f, 0xb4, 0x9d, 0x3d, 0x67, 0x83, 0xf3, 0x2f, 0xcc, 0x6c, 0x3c, 0x6b, 0x5b, - 0xb8, 0x9a, 0x11, 0x8a, 0x44, 0x12, 0xa5, 0xaa, 0x3f, 0x7f, 0x9c, 0xfb, 0xe7, 0x49, 0x8a, 0x31, - 0x61, 0x34, 0x97, 0x03, 0x21, 0xa1, 0x35, 0xe4, 0x8b, 0x65, 0xa8, 0x6c, 0xd4, 0x34, 0xd8, 0x85, - 0x7b, 0x7d, 0xd8, 0x7b, 0x65, 0xbe, 0x8e, 0x7c, 0x3d, 0xad, 0xc9, 0x88, 0xd2, 0x95, 0x42, 0x82, - 0xff, 0x4b, 0x5c, 0x18, 0x41, 0x58, 0xdc, 0x05, 0x2e, 0x15, 0x04, 0x57, 0x41, 0x31, 0x34, 0xac, - 0x59, 0xd1, 0xc0, 0x4f, 0xc7, 0xb4, 0x7f, 0x5d, 0x74, 0x31, 0x5f, 0x60, 0x1f, 0xb0, 0xf2, 0x03, - 0x77, 0x8e, 0x09, 0xcb, 0x59, 0xbf, 0xd8, 0xe7, 0x6a, 0x46, 0xc3, 0xa4, 0xbb, 0xd0, 0x91, 0xcd, - 0x9b, 0xb1, 0xdb, 0xa8, 0xc3, 0xd0, 0x4c, 0xc4, 0xd5, 0x37, 0xf1, 0xc6, 0x82, 0x36, 0x18, 0x33, - 0x26, 0xcf, 0xe4, 0x6b, 0x58, 0x59, 0xd1, 0x3a, 0x22, 0x84, 0x51, 0x16, 0x54, 0x40, 0xe9, 0x2e, - 0x1a, 0x21, 0x7e, 0x91, 0x7a, 0x08, 0x95, 0x48, 0x3f, 0xc8, 0xe2, 0xb1, 0xd3, 0xed, 0x55, 0x24, - 0xf9, 0xe2, 0xbb, 0x6c, 0x2d, 0x42, 0xf1, 0x06, 0x95, 0xdf, 0x5c, 0x66, 0x8f, 0x37, 0xb0, 0x46, - 0x94, 0x21, 0x3f, 0xe1, 0x84, 0x66, 0xe2, 0x93, 0xd5, 0xd9, 0x06, 0xf9, 0x87, 0xa0, 0x5b, 0x9d, - 0x5d, 0x51, 0x8e, 0x90, 0x99, 0x8a, 0x70, 0x96, 0xee, 0x0b, 0x0f, 0x0d, 0xf1, 0xf0, 0x85, 0x65, - 0xfb, 0xbf, 0x03, 0x68, 0xec, 0xdf, 0xc4, 0x14, 0x04, 0x46, 0x90, 0x7f, 0xcd, 0x97, 0x89, 0xa8, - 0x91, 0x55, 0xb2, 0x67, 0x17, 0xf5, 0xa8, 0xa4, 0xa2, 0x00, 0x4b, 0x51, 0x17, 0x45, 0xfb, 0x1e, - 0x43, 0x38, 0x9f, 0x0f, 0xe8, 0xfd, 0xef, 0xe2, 0xd6, 0xff, 0xcf, 0x3f, 0x98, 0x25, 0x89, 0xca, - 0x43, 0x49, 0x86, 0x84, 0xb6, 0x16, 0xaf, 0x02, 0x9b, 0x19, 0x0c, 0xc2, 0x2e, 0xdb, 0x49, 0x82, - 0xf5, 0x32, 0x75, 0x5d, 0x22, 0xbd, 0x97, 0x46, 0xf8, 0x66, 0xf6, 0xbb, 0x26, 0x31, 0xa4, 0x49, - 0x82, 0x55, 0x21, 0x31, 0xe4, 0x15, 0x75, 0xfd, 0x52, 0x7d, 0x41, 0x9b, 0xc9, 0x90, 0x8b, 0x18, - 0xd5, 0x14, 0x15, 0xcc, 0xbf, 0x6c, 0x6e, 0xaf, 0x9c, 0x51, 0x93, 0x5e, 0x57, 0xbc, 0x44, 0x89, - 0x9c, 0x31, 0xdc, 0x4e, 0x82, 0x43, 0x62, 0xee, 0x1a, 0x2e, 0x1b, 0x1d, 0xcf, 0xff, 0x97, 0x86, - 0x9e, 0x7b, 0x20, 0xd6, 0x20, 0x76, 0x2c, 0x9e, 0x5a, 0x1f, 0x1c, 0xcf, 0x78, 0xe1, 0x73, 0x3e, - 0xf6, 0x0e, 0x41, 0x78, 0xfd, 0xfd, 0xfb, 0xd5, 0x4f, 0xdf, 0x7c, 0xf1, 0xa7, 0xe5, 0xaa, 0xa2, - 0x36, 0x8b, 0x38, 0x6b, 0xba, 0xe7, 0x38, 0x32, 0x93, 0x22, 0xe4, 0xd3, 0x4b, 0x6a, 0xa7, 0x2e, - 0xf7, 0xbb, 0x51, 0xc9, 0x3d, 0xab, 0x66, 0xb3, 0xa2, 0xd7, 0x83, 0x52, 0x0c, 0xf6, 0x6a, 0x71, - 0x89, 0x29, 0xd3, 0x43, 0xb7, 0x86, 0xee, 0x8a, 0xe6, 0x41, 0xd9, 0x05, 0x2f, 0x6e, 0xc7, 0x78, - 0x7a, 0xa9, 0x25, 0x5f, 0x02, 0xde, 0xd2, 0xea, 0xbd, 0x8e, 0x02, 0x9d, 0x4a, 0x8d, 0x8c, 0xc8, - 0x35, 0x6f, 0x8b, 0xc0, 0xf6, 0x70, 0xa3, 0x47, 0x1b, 0x8b, 0xe1, 0x49, 0xce, 0x40, 0x78, 0x62, - 0x13, 0x40, 0xc0, 0x11, 0x93, 0x70, 0x49, 0x59, 0x79, 0x56, 0x09, 0x0c, 0xb2, 0xd6, 0xde, 0x4b, - 0x04, 0xfb, 0x94, 0x29, 0x6c, 0x96, 0xaf, 0xbf, 0x80, 0xc7, 0xef, 0xd7, 0x05, 0x2e, 0x3d, 0x13, - 0x72, 0x3d, 0xe3, 0xea, 0xce, 0x40, 0xcb, 0xd5, 0x63, 0x24, 0x30, 0xc2, 0xca, 0x6a, 0xf4, 0x4d, - 0x68, 0x04, 0xe2, 0x93, 0xd7, 0x23, 0x96, 0x58, 0x46, 0x7c, 0x4d, 0xdb, 0x5d, 0x18, 0x94, 0x1d, - 0x43, 0xae, 0xff, 0x11, 0x77, 0x82, 0x47, 0x7c, 0xa3, 0xe5, 0xa6, 0x07, 0xe5, 0x91, 0xaf, 0x12, - 0x9f, 0xe6, 0x4d, 0x83, 0x41, 0xab, 0x4e, 0xc8, 0x37, 0x00, 0xfd, 0xd0, 0x64, 0x6e, 0x14, 0x19, - 0xf0, 0xdb, 0x8c, 0xbc, 0x59, 0xeb, 0x24, 0xfd, 0x14, 0x88, 0x21, 0xc3, 0x29, 0xe1, 0x6e, 0xad, - 0xc3, 0x42, 0xeb, 0x95, 0x0f, 0xed, 0x43, 0xd9, 0x0d, 0xdb, 0xf4, 0x76, 0x04, 0x6e, 0x12, 0xed, - 0xea, 0xa2, 0x41, 0x0e, 0xed, 0x72, 0x1e, 0xd0, 0x0c, 0x07, 0xa5, 0x4e, 0x63, 0x58, 0xf3, 0x19, - 0xfb, 0xb2, 0x67, 0x0a, 0xf5, 0x2d, 0xbb, 0xd0, 0x7e, 0xf8, 0xb9, 0x85, 0x51, 0x84, 0x81, 0xfc, - 0x35, 0xe5, 0xc1, 0x5d, 0xb4, 0x3b, 0xc5, 0x8b, 0xe5, 0x06, 0xce, 0xe8, 0x53, 0x89, 0x34, 0xe8, - 0xc0, 0xc8, 0x97, 0xd7, 0xc2, 0x5e, 0x38, 0x45, 0xe0, 0x5d, 0xb4, 0xfb, 0x66, 0x47, 0xe2, 0xd7, - 0xb3, 0x91, 0x4c, 0x57, 0x1b, 0x0a, 0xb9, 0x64, 0x7f, 0x04, 0xcd, 0xce, 0x07, 0x80, 0x04, 0xf5, - 0x69, 0x31, 0xbb, 0xb2, 0x39, 0x2e, 0x64, 0x60, 0xf6, 0x24, 0x41, 0x3f, 0x2e, 0xbc, 0x19, 0x87, - 0x7a, 0xbf, 0xf2, 0xa7, 0x90, 0xf5, 0x69, 0x85, 0xfd, 0xaa, 0xef, 0xa4, 0x57, 0xc8, 0x00, 0xd8, - 0x71, 0x81, 0xad, 0x8c, 0xaa, 0xac, 0x67, 0x68, 0x9a, 0x2c, 0x15, 0x64, 0x97, 0xc7, 0x5a, 0x8c, - 0xa8, 0x7c, 0x86, 0xf0, 0xc1, 0xa8, 0xcc, 0x24, 0xf5, 0xa7, 0x22, 0xf9, 0x31, 0x79, 0x1f, 0xa0, - 0x30, 0x27, 0xdf, 0x7a, 0xec, 0x1a, 0x67, 0x3a, 0xb3, 0x17, 0x4d, 0xf3, 0x04, 0xa6, 0xa7, 0xb8, - 0x36, 0x81, 0xe9, 0xbf, 0x4f, 0xfd, 0x9f, 0x1c, 0x1c, 0xbe, 0xe1, 0x9a, 0xe0, 0x04, 0xfc, 0xc2, - 0x8c, 0xb3, 0xc3, 0x25, 0xc4, 0xa6, 0x6c, 0xe7, 0x02, 0x18, 0xf0, 0x3e, 0x91, 0x09, 0x66, 0x05, - 0x86, 0x37, 0xb0, 0x80, 0x24, 0x16, 0x09, 0x9c, 0x64, 0x70, 0x4f, 0x76, 0xb8, 0x6d, 0x4e, 0x86, - 0x60, 0xd0, 0x09, 0x54, 0x6b, 0xa3, 0x44, 0x5f, 0x1a, 0x3c, 0x06, 0xee, 0xef, 0xbf, 0x42, 0x46, - 0xa9, 0xf3, 0x40, 0x1a, 0x6b, 0x03, 0x18, 0xe8, 0xfa, 0xd4, 0x49, 0xe9, 0x00, 0x85, 0x09, 0xbf, - 0x63, 0xcf, 0x0b, 0x69, 0xb4, 0xef, 0xb6, 0x4a, 0x02, 0xd2, 0xee, 0xef, 0x6d, 0x7d, 0x7d, 0xd5, - 0x03, 0xf8, 0x59, 0xf2, 0x96, 0xef, 0xc4, 0x44, 0xac, 0x4a, 0x73, 0xaa, 0xda, 0xce, 0xeb, 0x04, - 0xaa, 0x96, 0xde, 0x7f, 0x59, 0x89, 0x14, 0xa6, 0x9b, 0x9f, 0x15, 0x38, 0xca, 0x30, 0x8f, 0x79, - 0x8d, 0x0d, 0x26, 0x58, 0x50, 0xe2, 0x6d, 0x2b, 0x96, 0xf9, 0x04, 0x89, 0x18, 0x8f, 0x59, 0xe9, - 0x49, 0x3a, 0x70, 0xf3, 0xa8, 0x05, 0x4f, 0xb9, 0x12, 0x3e, 0x65, 0x3f, 0x0d, 0xa0, 0x1c, 0xd6, - 0x42, 0x22, 0xe9, 0x8f, 0xbf, 0x6a, 0x90, 0xa3, 0xe4, 0xe1, 0x50, 0x16, 0x6c, 0x4f, 0xb8, 0x81, - 0x7e, 0xd7, 0x14, 0x3e, 0x8a, 0xa8, 0x09, 0xcd, 0x50, 0x5c, 0xde, 0x9f, 0xbb, 0x64, 0x74, 0x3e, - 0xa0, 0x96, 0xd4, 0x4c, 0xd2, 0x9c, 0xd5, 0x35, 0xc6, 0xd9, 0x7d, 0x8e, 0x78, 0xfb, 0xe4, 0x5d, - 0x75, 0xc5, 0xaa, 0x40, 0xc7, 0x92, 0x58, 0xa2, 0x22, 0xf0, 0xb8, 0xb7, 0xaa, 0x11, 0xa3, 0x74, - 0x28, 0x74, 0xf4, 0x11, 0x8d, 0x21, 0x9b, 0x3c, 0x2b, 0xdc, 0x76, 0xe7, 0x9b, 0xad, 0xa9, 0xdc, - 0xb2, 0x46, 0x64, 0x1f, 0x14, 0x25, 0xba, 0xee, 0x1e, 0x2c, 0x08, 0xa4, 0x7a, 0x0c, 0x8e, 0xcb, - 0xd6, 0x1b, 0xef, 0x8c, 0x2f, 0xd1, 0xa1, 0x07, 0xd6, 0x0c, 0xc6, 0xea, 0xb4, 0xef, 0xa6, 0x1b, - 0xaa, 0x3d, 0xa7, 0xea, 0x1a, 0x54, 0xf1, 0x7f, 0x52, 0xb3, 0xfe, 0x2f, 0xed, 0x52, 0x32, 0xe9, - 0x77, 0xf7, 0x0f, 0x15, 0x15, 0x23, 0x09, 0x2d, 0x62, 0x9c, 0x16, 0x73, 0x0b, 0xb2, 0x84, 0xf6, - 0x35, 0xf3, 0xee, 0xc6, 0xa9, 0xca, 0xe8, 0x4c, 0xfe, 0x20, 0xa1, 0x20, 0x24, 0xe2, 0x58, 0x86, - 0xfe, 0x80, 0x42, 0xc0, 0x4c, 0xd3, 0x69, 0xbc, 0x73, 0xae, 0x53, 0xd2, 0x05, 0x3e, 0x7b, 0xdc, - 0x05, 0x0c, 0x6c, 0x03, 0xac, 0xf0, 0x13, 0x8f, 0xc6, 0x32, 0x56, 0x4d, 0x6e, 0x6d, 0x67, 0x8b, - 0x41, 0xd5, 0xb4, 0xe0, 0xd3, 0x0e, 0xcc, 0x02, 0xa8, 0xdf, 0xe1, 0xd2, 0x0c, 0x10, 0x4a, 0xdf, - 0x93, 0xe8, 0xa1, 0x6a, 0xd3, 0x57, 0x60, 0xe9, 0xd9, 0x93, 0xc1, 0x57, 0x00, 0xfe, 0x63, 0x9a, - 0x3f, 0x28, 0xea, 0x37, 0xe9, 0x94, 0x6c, 0x6b, 0x7d, 0xf2, 0x8f, 0xa3, 0xa5, 0x45, 0x04, 0x0f, - 0xb8, 0x4a, 0x53, 0x28, 0x37, 0x36, 0xd4, 0xf2, 0x40, 0x86, 0x6b, 0xe0, 0x17, 0x01, 0x9a, 0xfa, - 0xcc, 0x74, 0x0e, 0xa3, 0xdb, 0xc8, 0x5c, 0xb9, 0x5e, 0x1f, 0x87, 0xff, 0xdb, 0x52, 0xfb, 0x0a, - 0x7e, 0x7c, 0x0e, 0xda, 0xd8, 0xf5, 0xd3, 0x4d, 0x80, 0x23, 0xeb, 0x13, 0x42, 0xce, 0x3c, 0x1a, - 0xc4, 0x54, 0xd6, 0xb2, 0xad, 0xa4, 0xa6, 0x76, 0xfa, 0x19, 0x82, 0x1b, 0x71, 0x8a, 0xda, 0x0f, - 0xc4, 0xb5, 0x39, 0xef, 0x77, 0x1d, 0x9c, 0x97, 0xee, 0xe0, 0xa9, 0xc6, 0x7b, 0x7a, 0x01, 0x5f, - 0x08, 0xe8, 0x56, 0x5d, 0x0f, 0xb2, 0xcc, 0xc0, 0xf2, 0x1a, 0x72, 0xa8, 0x52, 0x97, 0xb6, 0x1e, - 0x19, 0x32, 0x68, 0xdc, 0x7e, 0x36, 0x07, 0x1a, 0x32, 0x4c, 0x8c, 0x08, 0xe3, 0xb8, 0xfb, 0x3c, - 0xa6, 0x54, 0xdd, 0xa6, 0xdd, 0xab, 0x44, 0x77, 0x72, 0xe1, 0x90, 0xa4, 0xe0, 0x05, 0x21, 0x79, - 0x0f, 0xb0, 0x6c, 0x72, 0xfc, 0x85, 0xb6, 0xeb, 0x30, 0x82, 0xc5, 0x0d, 0x63, 0x87, 0x39, 0xe8, - 0x06, 0x61, 0xa6, 0x9b, 0x56, 0x6d, 0xe6, 0x05, 0xf2, 0x57, 0x40, 0x5d, 0x02, 0x9e, 0x20, 0x7d, - 0x84, 0x7d, 0xa4, 0x5f, 0xff, 0xe0, 0x8c, 0x01, 0xa7, 0x90, 0x03, 0xc9, 0xb6, 0x82, 0x3f, 0x60, - 0x49, 0x35, 0xd7, 0x36, 0xca, 0x84, 0x15, 0x91, 0x3a, 0xa7, 0xe6, 0xab, 0xdb, 0x40, 0xce, 0x81, - 0x8c, 0x1a, 0x45, 0x5d, 0x1c, 0x1d, 0xd6, 0x69, 0x62, 0xb2, 0xb9, 0xde, 0x3d, 0x18, 0x28, 0xc0, - 0x60, 0x0b, 0xa1, 0x06, 0x7e, 0xb4, 0x79, 0xa3, 0x16, 0x9d, 0xff, 0xb3, 0xe2, 0x71, 0x62, 0xf0, - 0x28, 0xe9, 0x58, 0xda, 0x97, 0x57, 0xf4, 0x7f, 0x73, 0x2c, 0x8a, 0xa1, 0x9f, 0x3a, 0x48, 0x73, - 0xec, 0xf5, 0xf1, 0xc0, 0x8c, 0xbf, 0x7e, 0x58, 0x4e, 0xd5, 0x9c, 0x87, 0xbe, 0x0f, 0x43, 0xce, - 0xd8, 0x72, 0xb4, 0xd5, 0x6f, 0x1e, 0xa1, 0xad, 0x78, 0xcc, 0xe7, 0x8f, 0x88, 0xba, 0xd1, 0x6a, - 0xc5, 0xe2, 0xa8, 0x03, 0xf4, 0x0b, 0x64, 0xbc, 0xef, 0x7b, 0xc7, 0xed, 0xd7, 0x32, 0x77, 0x0d, - 0xa3, 0x57, 0x4d, 0xc8, 0x19, 0x02, 0xa0, 0xbd, 0x16, 0xb0, 0xbd, 0x3a, 0x80, 0xce, 0xb8, 0x91, - 0x84, 0xda, 0x92, 0xda, 0x15, 0xeb, 0x70, 0x38, 0x4e, 0xf9, 0x29, 0x18, 0xd1, 0xe7, 0x30, 0xe0, - 0x89, 0xf5, 0x1b, 0x2d, 0x4e, 0x85, 0x8e, 0x64, 0x7b, 0x9a, 0xde, 0x7c, 0xc0, 0x8c, 0x2e, 0xf1, - 0x79, 0x6a, 0xc9, 0x25, 0x36, 0x6c, 0x0f, 0x7c, 0x87, 0x94, 0x0b, 0xce, 0xbb, 0xf1, 0xbd, 0x4a, - 0xa5, 0xf2, 0x5a, 0x77, 0x8e, 0x6c, 0x5e, 0xe2, 0xeb, 0xef, 0xa1, 0x68, 0xc7, 0xfa, 0x11, 0x53, - 0x66, 0x86, 0x03, 0xbe, 0x42, 0x95, 0xc7, 0x43, 0x17, 0x38, 0xce, 0xe1, 0x82, 0x08, 0x73, 0x9e, - 0x4b, 0x33, 0x28, 0x8e, 0xee, 0xda, 0x1c, 0x2e, 0x61, 0x85, 0xc6, 0xd5, 0x03, 0x26, 0x66, 0xdc, - 0x19, 0x83, 0x6a, 0x68, 0xeb, 0x23, 0x45, 0x92, 0x74, 0x4c, 0x81, 0xb2, 0x45, 0x3b, 0x6d, 0x23, - 0xd6, 0x77, 0xa8, 0x3c, 0xee, 0x8d, 0x9f, 0xec, 0xa7, 0x1b, 0x37, 0xd6, 0x88, 0x42, 0x8f, 0xd9, - 0xdd, 0xc2, 0xd3, 0x43, 0x9e, 0x99, 0x45, 0x4c, 0xbf, 0xa3, 0x1b, 0x31, 0x26, 0xab, 0x07, 0x77, - 0xc2, 0xb9, 0xc6, 0x03, 0xc4, 0x52, 0xd9, 0x55, 0x8f, 0x4f, 0xba, 0x74, 0xca, 0x9a, 0x19, 0x9e, - 0x29, 0xd1, 0x52, 0x6f, 0x69, 0x4d, 0x57, 0x95, 0xef, 0x40, 0xb0, 0x7f, 0xa9, 0xdd, 0xf4, 0xea, - 0x1e, 0xe7, 0xbb, 0xc3, 0x8a, 0xd5, 0x63, 0xc1, 0xa6, 0xd9, 0xd5, 0xc6, 0xc8, 0xde, 0x79, 0xe0, - 0x18, 0x94, 0xf6, 0x46, 0xb7, 0xbc, 0xfc, 0x6f, 0x69, 0x67, 0xee, 0x2c, 0x19, 0x22, 0xbe, 0xcd, - 0xa8, 0xc1, 0xe3, 0x95, 0x12, 0xa5, 0xa5, 0x87, 0x72, 0xd8, 0x8b, 0xf9, 0x77, 0xd3, 0x08, 0x07, - 0xee, 0xf7, 0x12, 0x43, 0x12, 0x36, 0xb9, 0x1a, 0x3c, 0xff, 0x01, 0x5b, 0x7f, 0x85, 0x3d, 0x93, - 0x51, 0x01, 0xd1, 0x0b, 0x17, 0x6c, 0x50, 0xd0, 0x3f, 0xd8, 0x99, 0xb4, 0xc5, 0x9a, 0x0d, 0xcb, - 0x49, 0x7a, 0x3c, 0x07, 0x5b, 0x6e, 0x7c, 0x21, 0x17, 0xde, 0x42, 0x7e, 0xed, 0xc0, 0x94, 0xa4, - 0xa4, 0x12, 0x63, 0x1f, 0x80, 0x40, 0x71, 0xa5, 0xaa, 0x26, 0xd4, 0xaf, 0x82, 0x1d, 0x25, 0x10, - 0x7d, 0x3c, 0xe5, 0x3a, 0xdd, 0x67, 0x2d, 0x40, 0xff, 0xcf, 0x9c, 0xe8, 0x17, 0x5c, 0x1a, 0x91, - 0x87, 0x31, 0xa6, 0xce, 0xcb, 0x75, 0x9a, 0x92, 0x3c, 0xac, 0x66, 0xcd, 0xd4, 0x0e, 0xf1, 0xef, - 0xf0, 0x47, 0xd5, 0x66, 0x6a, 0x35, 0x40, 0xc4, 0x4e, 0x05, 0xc3, 0x6c, 0x54, 0x88, 0xb6, 0x7c, - 0x65, 0x54, 0x85, 0x6e, 0x29, 0xbe, 0x1f, 0x99, 0x68, 0xba, 0xc9, 0x3f, 0x50, 0x3e, 0x68, 0x02, - 0x52, 0x83, 0xe1, 0x26, 0x72, 0x4c, 0x1c, 0x38, 0xcb, 0x21, 0x48, 0xe6, 0x5d, 0x7f, 0x89, 0x51, - 0xa1, 0xbc, 0x7f, 0xb0, 0x92, 0x75, 0x61, 0x42, 0x9b, 0x9f, 0x36, 0x73, 0xba, 0x8d, 0x16, 0x87, - 0xbc, 0xbf, 0xe5, 0xab, 0x91, 0x24, 0xe8, 0x46, 0xa5, 0xe4, 0xc8, 0xce, 0x14, 0xb7, 0x79, 0xae, - 0x0d, 0xe3, 0x78, 0x1a, 0xd5, 0x08, 0xa6, 0x18, 0x17, 0xf2, 0x63, 0x5f, 0x87, 0xde, 0x88, 0xcc, - 0x64, 0xd7, 0x1b, 0x69, 0x34, 0xff, 0xc6, 0x00, 0x65, 0x74, 0x55, 0x33, 0x85, 0x53, 0x6e, 0x40, - 0xf2, 0x41, 0x1f, 0xd5, 0xa6, 0xf6, 0xda, 0xa5, 0x16, 0x4f, 0xdd, 0xc8, 0xef, 0xda, 0x3e, 0xc2, - 0x21, 0x02, 0x30, 0x12, 0xe4, 0x56, 0x16, 0xcc, 0x58, 0xe4, 0x96, 0xba, 0xe2, 0x7f, 0x22, 0x8e, - 0xef, 0x39, 0xc1, 0x90, 0xa6, 0x80, 0xec, 0xf1, 0x08, 0x1c, 0x09, 0x75, 0x3f, 0x1f, 0x15, 0x44, - 0x40, 0xd7, 0x52, 0x29, 0x01, 0xd9, 0xc1, 0xfa, 0x7b, 0x8d, 0x55, 0x05, 0x3c, 0x5b, 0x80, 0x72, - 0x90, 0xa6, 0x8c, 0x33, 0x11, 0xa3, 0x33, 0xa7, 0xc6, 0x2c, 0xba, 0x6e, 0xe7, 0x60, 0x54, 0xc5, - 0x5a, 0xbc, 0xb3, 0xbf, 0x0a, 0xe9, 0xeb, 0xea, 0x8a, 0x97, 0x77, 0x32, 0xc4, 0xc5, 0x24, 0x1e, - 0x8f, 0x5f, 0x3c, 0x10, 0xbf, 0x25, 0x46, 0xf1, 0xec, 0xdb, 0xf6, 0x7f, 0x8e, 0x5e, 0x28, 0x42, - 0x5f, 0x95, 0xbf, 0x5d, 0xc8, 0xdd, 0xb5, 0xef, 0x18, 0xf8, 0xf2, 0xe7, 0xba, 0x75, 0x18, 0xe9, - 0xd5, 0x3b, 0xc6, 0x3f, 0x9a, 0xdd, 0x81, 0xa1, 0x53, 0x4c, 0xe4, 0xe8, 0x7d, 0x63, 0xf6, 0x1f, - 0x42, 0x7c, 0x4a, 0x2a, 0x23, 0x32, 0xa0, 0x97, 0xb2, 0xe3, 0x3c, 0xcc, 0x3a, 0x0e, 0x65, 0x68, - 0xab, 0x03, 0x50, 0x61, 0x7b, 0x08, 0x92, 0xcb, 0xa9, 0x52, 0x85, 0xc8, 0xd2, 0x10, 0x1a, 0xd5, - 0x44, 0x72, 0x55, 0xa1, 0x47, 0xad, 0xf1, 0x88, 0x16, 0x64, 0xac, 0x50, 0xcf, 0xbe, 0x49, 0x87, - 0x4f, 0x03, 0xb2, 0xb1, 0xfb, 0x34, 0x0a, 0x6b, 0x90, 0xd7, 0xc8, 0x4e, 0x8e, 0x64, 0x6e, 0xc5, - 0x58, 0xf6, 0x1d, 0x20, 0xb4, 0xb1, 0xcd, 0x26, 0xbf, 0x22, 0xa7, 0x3d, 0x77, 0x73, 0x68, 0x58, - 0x93, 0x80, 0x0b, 0x96, 0x98, 0x7a, 0x14, 0xc2, 0xb0, 0x78, 0xe6, 0x42, 0xa9, 0xca, 0x83, 0x5c, - 0xab, 0x4d, 0x39, 0x6f, 0x47, 0x3c, 0xdf, 0xde, 0xbc, 0x5b, 0x17, 0xb5, 0xe7, 0x36, 0x7a, 0x4a, - 0x0f, 0xc8, 0xc4, 0xff, 0x24, 0xb2, 0x97, 0x12, 0x53, 0xa4, 0x59, 0x64, 0x81, 0xe4, 0x09, 0x79, - 0x90, 0x66, 0xce, 0xb4, 0x33, 0x6c, 0x4d, 0x06, 0xeb, 0x95, 0x7f, 0x9a, 0x10, 0x30, 0x5e, 0x65, - 0xc7, 0x0c, 0xe8, 0xd5, 0x1c, 0x63, 0xd9, 0x2a, 0x23, 0xf3, 0x3d, 0xc5, 0x33, 0x3b, 0x1f, 0xc3, - 0xe3, 0x8a, 0x4e, 0xef, 0x0c, 0xb1, 0x30, 0x71, 0x42, 0x92, 0xc8, 0xa3, 0x3c, 0x75, 0x1b, 0x99, - 0x91, 0xb1, 0x09, 0x38, 0xe2, 0xd0, 0x5f, 0x9f, 0x71, 0x5d, 0xfc, 0xd1, 0xb2, 0x94, 0xc7, 0xe5, - 0x6d, 0xc5, 0x76, 0xc5, 0xfd, 0xfd, 0x06, 0x16, 0x26, 0x14, 0x44, 0x3b, 0x05, 0x82, 0x91, 0x3d, - 0x1c, 0x69, 0x36, 0x6a, 0xf8, 0xad, 0xfb, 0x3a, 0xa7, 0xc8, 0x2b, 0x2f, 0x86, 0xde, 0xe0, 0xe4, - 0x18, 0x47, 0x4f, 0x7f, 0xf0, 0x96, 0x78, 0x21, 0x32, 0x1c, 0x32, 0x38, 0xe6, 0x8a, 0x3e, 0x90, - 0x19, 0xa3, 0x1e, 0xee, 0x69, 0xb0, 0xc8, 0xfe, 0x06, 0xa8, 0x20, 0xa7, 0x76, 0x3a, 0xa3, 0x10, - 0x2f, 0x25, 0x9a, 0xee, 0x55, 0x38, 0x29, 0x99, 0x79, 0x22, 0x7c, 0xf8, 0xe4, 0x5f, 0x68, 0x07, - 0xf8, 0x1d, 0x78, 0x35, 0x22, 0xfe, 0xb3, 0x83, 0x9d, 0xc7, 0x4f, 0xf4, 0x0c, 0x0f, 0xf0, 0x56, - 0x3c, 0x0b, 0x17, 0x86, 0x5f, 0xf0, 0x38, 0x5f, 0xa9, 0x00, 0x89, 0x40, 0xe7, 0xad, 0xc9, 0x29, - 0x6d, 0xd5, 0xe5, 0x7f, 0x7d, 0x63, 0x33, 0x18, 0xf6, 0x08, 0x8d, 0x53, 0xe7, 0xa0, 0x55, 0x1f, - 0x6b, 0x66, 0xc0, 0xf0, 0x06, 0x6c, 0xd3, 0x7d, 0x24, 0xb5, 0xf1, 0x1c, 0x91, 0x8e, 0xe0, 0xb8, - 0x63, 0x9f, 0x9a, 0x8c, 0x31, 0xd8, 0xf7, 0xb9, 0x0e, 0x22, 0x93, 0xb7, 0xef, 0xe6, 0x43, 0xdf, - 0x3f, 0x2b, 0xc3, 0xab, 0x08, 0x7d, 0xa0, 0xe2, 0x11, 0x16, 0xad, 0x08, 0xee, 0x99, 0xce, 0x09, - 0x7d, 0xdb, 0xe3, 0xaf, 0xc5, 0x4f, 0xcf, 0xee, 0x01, 0xdc, 0x3d, 0x8c, 0x41, 0xf1, 0x75, 0x23, - 0x53, 0xf1, 0x50, 0xa9, 0xd4, 0xa8, 0x9f, 0x3d, 0x2f, 0x9f, 0x88, 0xd7, 0xae, 0x94, 0xc5, 0x16, - 0x7d, 0x4b, 0xb9, 0x10, 0xc3, 0x76, 0x93, 0x59, 0x61, 0xfd, 0xf0, 0x6f, 0x60, 0x70, 0x55, 0x6a, - 0x2b, 0x86, 0x9a, 0xb6, 0x1a, 0x02, 0xeb, 0x34, 0x82, 0x6e, 0x4a, 0x56, 0x69, 0x63, 0xd8, 0x31, - 0x3e, 0x7c, 0x27, 0x49, 0xde, 0xbe, 0x23, 0xfa, 0x6a, 0x0b, 0xa6, 0xb4, 0x85, 0xa4, 0xfa, 0x6d, - 0xe6, 0x34, 0x4c, 0xf3, 0x4b, 0xd9, 0x15, 0x75, 0x1d, 0xab, 0xce, 0x7f, 0x7a, 0x7d, 0x9b, 0x28, - 0x1b, 0x1d, 0xec, 0xe4, 0x06, 0x90, 0x42, 0x45, 0x54, 0x83, 0x95, 0x4b, 0x1a, 0x16, 0x8f, 0x48, - 0x2a, 0x26, 0x9c, 0x88, 0x90, 0x52, 0x17, 0xb3, 0x25, 0x48, 0x31, 0x08, 0xfe, 0x4c, 0xbe, 0xa9, - 0x04, 0xd8, 0xaf, 0xbd, 0xde, 0x93, 0xb4, 0xa5, 0x20, 0x17, 0x6e, 0x0e, 0x99, 0xdf, 0xf1, 0x78, - 0x9e, 0xa2, 0x93, 0xc1, 0x3f, 0xbc, 0x07, 0x89, 0x9c, 0x1d, 0x54, 0x90, 0x50, 0x0a, 0xc3, 0x7b, - 0x5e, 0xdb, 0x7e, 0xb6, 0xcb, 0x2e, 0xf3, 0x46, 0x92, 0x75, 0xc2, 0x6d, 0x92, 0x2a, 0x96, 0x73, - 0x0e, 0x05, 0xd0, 0x77, 0x0e, 0x45, 0x78, 0xdd, 0x2c, 0x51, 0xbf, 0x64, 0xe2, 0x81, 0xa0, 0xbd, - 0x7e, 0x9c, 0x61, 0x9f, 0x9a, 0x9d, 0xcd, 0x15, 0x46, 0x31, 0xcd, 0x08, 0xbf, 0x00, 0x5d, 0xdd, - 0xa3, 0xfc, 0xa6, 0x8e, 0x71, 0xe6, 0xea, 0xa9, 0xac, 0xb5, 0x4b, 0x06, 0xd6, 0x4e, 0x0e, 0xad, - 0xaa, 0xbe, 0x29, 0x19, 0xbd, 0x95, 0xc5, 0x84, 0xbd, 0xd4, 0x0f, 0x75, 0x68, 0x5a, 0x3f, 0x28, - 0x43, 0xfe, 0xa0, 0xf5, 0x5a, 0x81, 0x73, 0xbd, 0x6b, 0xe0, 0x14, 0xf8, 0x5d, 0x61, 0x6d, 0x93, - 0x2a, 0x4a, 0x84, 0x76, 0x56, 0x6c, 0x90, 0x69, 0x7c, 0x12, 0x8e, 0x8f, 0xdd, 0x9c, 0xc3, 0x62, - 0x03, 0xeb, 0x24, 0x44, 0xc0, 0xe2, 0x4d, 0xac, 0xd6, 0xf6, 0x5c, 0x4d, 0xe4, 0x7c, 0x85, 0x90, - 0xc2, 0x07, 0xd2, 0x6b, 0xcb, 0xdc, 0x04, 0x19, 0xbc, 0xbc, 0x9b, 0x11, 0x6d, 0xf6, 0x4a, 0xc5, - 0x8f, 0x44, 0x38, 0xf5, 0x17, 0x28, 0x0a, 0x89, 0xdf, 0xc3, 0x75, 0x29, 0x8a, 0x74, 0xf0, 0x28, - 0x7f, 0x23, 0xd1, 0x5f, 0x6d, 0x3a, 0x9a, 0x42, 0x67, 0x6a, 0x85, 0xfb, 0xac, 0x17, 0x30, 0x02, - 0xe1, 0xf7, 0x6f, 0xc8, 0x13, 0x28, 0xc2, 0x8e, 0x08, 0x2e, 0x98, 0x75, 0xe3, 0x37, 0x82, 0x8b, - 0x63, 0x71, 0xfe, 0x40, 0x1a, 0x5c, 0xcd, 0x83, 0x6e, 0xe3, 0xae, 0x32, 0xef, 0x62, 0x06, 0x2c, - 0xa0, 0x55, 0xd4, 0x17, 0x25, 0xcf, 0xa5, 0x40, 0xc4, 0x5d, 0xc7, 0x9b, 0x1a, 0xa7, 0x23, 0x13, - 0xa5, 0x84, 0x36, 0x38, 0xe4, 0x5d, 0xa7, 0x71, 0x30, 0x37, 0xfb, 0xc1, 0x03, 0x57, 0x84, 0x30, - 0xfe, 0x84, 0x22, 0x06, 0x7c, 0x51, 0x62, 0xee, 0xe2, 0x1d, 0x8e, 0xf8, 0x89, 0xff, 0x2b, 0x8e, - 0x8e, 0xd0, 0xc5, 0x43, 0xbe, 0xde, 0xbe, 0x6b, 0x31, 0xf8, 0xde, 0x0a, 0x0f, 0xd6, 0x9d, 0x3b, - 0xb1, 0xe2, 0x29, 0x69, 0xbd, 0x9e, 0xef, 0xf6, 0x42, 0xb8, 0x7a, 0x89, 0xe4, 0x01, 0xcc, 0xd7, - 0x6e, 0x37, 0x9f, 0x2c, 0xfd, 0x08, 0xd3, 0xeb, 0x52, 0xd6, 0x01, 0xf2, 0x6c, 0x08, 0x00, 0xbd, - 0x31, 0xe4, 0xbb, 0x1d, 0xf0, 0xd7, 0x4a, 0x6a, 0xa3, 0xb5, 0x53, 0xd0, 0x8c, 0xef, 0x26, 0x30, - 0x2d, 0xf9, 0xd0, 0x81, 0x91, 0xb9, 0x66, 0xa8, 0x53, 0x19, 0x1f, 0x7a, 0xb7, 0xf3, 0xe0, 0xc7, - 0xf6, 0x3f, 0x5b, 0x88, 0x6a, 0x4f, 0x38, 0x80, 0xb8, 0xcd, 0x8e, 0x6d, 0x00, 0xea, 0xde, 0xd7, - 0x44, 0x1b, 0xfb, 0x4c, 0x74, 0xd3, 0xbd, 0xa1, 0xfd, 0xd7, 0x16, 0x4d, 0xc5, 0xf4, 0x6a, 0x3f, - 0xe1, 0x40, 0x1c, 0xdc, 0x63, 0xbd, 0xf5, 0x43, 0xe5, 0xfd, 0xe1, 0x0b, 0x9b, 0xc6, 0x50, 0x86, - 0x24, 0xd1, 0xa1, 0xdf, 0xbe, 0x01, 0x7c, 0x04, 0x8b, 0xc1, 0x23, 0x24, 0x27, 0x45, 0xfd, 0x26, - 0xc6, 0x7d, 0xd2, 0x1f, 0x4e, 0xa4, 0x72, 0x5c, 0x4c, 0x48, 0x06, 0x22, 0xf5, 0xc9, 0x59, 0xc7, - 0x0e, 0x18, 0xe1, 0x66, 0xe9, 0x8b, 0x13, 0x1c, 0x08, 0xa2, 0xf3, 0x82, 0x9a, 0xd9, 0xc2, 0xaf, - 0x02, 0x5f, 0x97, 0x41, 0xe6, 0x54, 0xe6, 0x63, 0x6f, 0x01, 0xb7, 0x7d, 0x77, 0xf8, 0xab, 0xfd, - 0xf8, 0xae, 0x73, 0xab, 0xcf, 0x42, 0x44, 0x34, 0xaf, 0xea, 0xa3, 0xe6, 0x4e, 0xa7, 0xa0, 0xa9, - 0x65, 0x3b, 0xfc, 0x5d, 0x6c, 0x1c, 0xf2, 0x86, 0xf0, 0x47, 0x7c, 0xdf, 0x20, 0xa5, 0xd8, 0x21, - 0x93, 0xe9, 0x4a, 0xa2, 0x8a, 0x9d, 0x8d, 0x59, 0x77, 0x40, 0x82, 0xf8, 0x85, 0xff, 0x49, 0xf7, - 0x7e, 0xcb, 0x66, 0x66, 0xee, 0x12, 0x18, 0xbb, 0xbf, 0xc7, 0x52, 0xa9, 0xbf, 0xaa, 0x90, 0x1a, - 0x6e, 0xf0, 0xcf, 0xa1, 0x6b, 0xd0, 0xdc, 0x0a, 0xf7, 0x1c, 0xff, 0x69, 0x4a, 0x97, 0x63, 0x91, - 0x88, 0xe4, 0x40, 0xd8, 0x00, 0xa4, 0xd9, 0x47, 0x07, 0xf9, 0xe7, 0xde, 0x58, 0xa4, 0x0b, 0xd0, - 0x05, 0x84, 0xd3, 0x1a, 0x45, 0x31, 0x34, 0x79, 0x93, 0x67, 0x58, 0x1f, 0x1f, 0xdb, 0x5f, 0x66, - 0x5c, 0x36, 0xd3, 0xe4, 0xd7, 0x67, 0xa6, 0xe6, 0x8a, 0x10, 0xdc, 0xdd, 0x89, 0x90, 0x5f, 0x53, - 0x20, 0x04, 0x6c, 0xa1, 0x2b, 0xf4, 0x0c, 0x50, 0x57, 0xf4, 0x8a, 0xbf, 0x14, 0x46, 0x5e, 0x93, - 0xbf, 0x40, 0x1a, 0xe3, 0xfc, 0x62, 0x49, 0x68, 0x4d, 0x9e, 0xc4, 0x08, 0x45, 0x1b, 0x04, 0x8e, - 0x73, 0x16, 0x8f, 0xd0, 0x13, 0xba, 0xc1, 0xd2, 0xb8, 0xb5, 0x19, 0xf7, 0xf5, 0xf1, 0xbe, 0x9f, - 0xf2, 0x88, 0x4a, 0xa9, 0xd7, 0x78, 0xd2, 0xd6, 0x5a, 0x06, 0x40, 0x68, 0x3f, 0xf8, 0xc8, 0xf0, - 0xfd, 0x97, 0x27, 0x8c, 0xc0, 0x90, 0x54, 0x42, 0x4a, 0x8c, 0x55, 0xca, 0x5b, 0x24, 0xa2, 0xe5, - 0xa9, 0x61, 0x5b, 0xef, 0x26, 0x15, 0x73, 0x07, 0x6f, 0x3d, 0x20, 0x07, 0xdd, 0x06, 0x38, 0x85, - 0xf2, 0xc7, 0xd7, 0x62, 0x90, 0xc1, 0x78, 0xa4, 0x23, 0x1e, 0x7e, 0x8f, 0xa9, 0x8f, 0x85, 0xbc, - 0xa9, 0x09, 0x52, 0x05, 0x8d, 0x07, 0x25, 0xb3, 0x46, 0xfc, 0xd2, 0x74, 0x98, 0x97, 0x5d, 0x15, - 0x41, 0x17, 0x7a, 0x5a, 0x36, 0x4a, 0x77, 0x43, 0x9a, 0xb3, 0xea, 0xb8, 0x8a, 0x76, 0x58, 0x65, - 0x28, 0x93, 0x62, 0xe3, 0x36, 0x05, 0xa0, 0x26, 0xb9, 0x3d, 0xf5, 0xa0, 0x04, 0x5c, 0xee, 0x2c, - 0x81, 0x66, 0x41, 0xe4, 0xd3, 0xbf, 0x03, 0xf7, 0xf8, 0x61, 0xdb, 0xaa, 0x65, 0x3c, 0xae, 0xf3, - 0xa0, 0xc8, 0xbf, 0x7b, 0xe4, 0x9a, 0xb0, 0x77, 0xbe, 0x1f, 0xd1, 0x95, 0xa1, 0xf8, 0xbc, 0x77, - 0xff, 0x64, 0x0e, 0x7e, 0x37, 0x71, 0x76, 0x89, 0xf1, 0xad, 0x65, 0x71, 0x42, 0x30, 0x1b, 0xbf, - 0xef, 0xa1, 0x54, 0x5a, 0xb6, 0x54, 0x3b, 0x61, 0xa2, 0xf8, 0x1b, 0x91, 0x77, 0xc9, 0x82, 0xf2, - 0xc8, 0x3f, 0xf0, 0x5a, 0x11, 0xdc, 0xff, 0x37, 0xe2, 0x80, 0x9d, 0xd3, 0xe6, 0x3f, 0x1b, 0xaf, - 0x24, 0x6f, 0xb1, 0x84, 0xec, 0xb7, 0x18, 0xc9, 0xc8, 0x71, 0x04, 0xcf, 0x86, 0x13, 0x71, 0x1b, - 0x62, 0x10, 0x56, 0xa8, 0x56, 0x41, 0xc8, 0x9a, 0xe3, 0xaf, 0x6a, 0xaa, 0x45, 0xbd, 0xab, 0xe0, - 0xb9, 0x08, 0xa8, 0xce, 0x00, 0xcb, 0x23, 0x03, 0x56, 0xd3, 0x13, 0x20, 0x6d, 0xd9, 0x92, 0xad, - 0xdc, 0x75, 0x6c, 0xae, 0x18, 0xd3, 0x2a, 0xee, 0x1e, 0x1a, 0x42, 0x27, 0x8a, 0xf2, 0x85, 0x05, - 0xea, 0x26, 0xe5, 0xd0, 0x28, 0x60, 0x22, 0x9b, 0x5d, 0x49, 0x1c, 0xa4, 0x71, 0x71, 0xc7, 0xeb, - 0x50, 0xf9, 0x6e, 0xc4, 0xa9, 0x64, 0xb0, 0x65, 0x86, 0x6b, 0xb9, 0xd7, 0x9a, 0xfa, 0x19, 0xb4, - 0x11, 0xa2, 0xbd, 0x62, 0xa6, 0x0a, 0x21, 0x3d, 0x33, 0xd5, 0x3d, 0x4e, 0x49, 0xcc, 0xea, 0xb8, - 0x78, 0x0f, 0xad, 0x6e, 0xc9, 0xf7, 0x41, 0x58, 0x1b, 0x20, 0xae, 0x30, 0x01, 0xa9, 0xd4, 0x64, - 0xf7, 0x9f, 0x00, 0xdb, 0x2b, 0xd4, 0x70, 0x37, 0x6c, 0x1c, 0xb8, 0xfc, 0xe3, 0x00, 0x8e, 0x6a, - 0xc4, 0xfb, 0xa5, 0x9a, 0xa4, 0x72, 0x7b, 0x52, 0x4d, 0x53, 0x11, 0x31, 0x66, 0x6b, 0x0f, 0x92, - 0xe8, 0x88, 0x30, 0x00, 0xde, 0x0e, 0x4b, 0x86, 0x33, 0xa1, 0x4c, 0x5c, 0x3e, 0x9b, 0x3c, 0xa8, - 0xf2, 0xed, 0xf9, 0x8a, 0x3a, 0x84, 0x75, 0x8d, 0xb5, 0x95, 0xc1, 0x56, 0xc1, 0xc1, 0x15, 0x9f, - 0x34, 0xaf, 0x0f, 0xfd, 0x9d, 0xa4, 0x36, 0x4f, 0x07, 0xd5, 0x42, 0xd4, 0xcc, 0xb3, 0x13, 0x2b, - 0x7b, 0x42, 0x78, 0xeb, 0xc6, 0x81, 0xdf, 0x04, 0xc2, 0xc5, 0x80, 0xd9, 0x48, 0x4b, 0xaf, 0x88, - 0x4f, 0xc5, 0x81, 0x02, 0x99, 0x2e, 0xc4, 0x06, 0x7e, 0x2c, 0x81, 0xe0, 0x86, 0x2b, 0x94, 0x62, - 0x35, 0x20, 0x89, 0xe5, 0x30, 0x84, 0x93, 0x6b, 0x5d, 0x97, 0x32, 0xa1, 0x6d, 0x53, 0x85, 0x1f, - 0x52, 0x4e, 0x2c, 0xe3, 0x3c, 0xe5, 0x16, 0x9c, 0x46, 0x8e, 0x06, 0xb5, 0xf8, 0x68, 0xe1, 0xb1, - 0x2d, 0x2c, 0x06, 0x4e, 0xfc, 0x3a, 0xa5, 0xad, 0x2a, 0x7d, 0x21, 0xd9, 0x01, 0x22, 0x7c, 0xb8, - 0x91, 0x1f, 0x83, 0x93, 0x0d, 0xcc, 0xb5, 0x58, 0xab, 0x2f, 0xb4, 0x8b, 0xd4, 0x81, 0x2f, 0x88, - 0xdb, 0x05, 0x19, 0xc1, 0x86, 0x49, 0x18, 0x47, 0x59, 0x88, 0x81, 0x33, 0x1b, 0xfd, 0x8e, 0xe3, - 0xe0, 0x89, 0xc7, 0xdf, 0x1e, 0x3c, 0x0f, 0xa0, 0x71, 0x63, 0xa1, 0x6b, 0xda, 0x7b, 0x89, 0x9b, - 0xf7, 0xf3, 0x8b, 0xc1, 0x7c, 0xbf, 0x03, 0x0c, 0x79, 0x34, 0x41, 0x05, 0xfb, 0xbc, 0x27, 0xe4, - 0x8b, 0x67, 0x46, 0xed, 0x64, 0x24, 0x28, 0x52, 0xa0, 0xaa, 0xec, 0x9c, 0x6d, 0x1f, 0x56, 0x0c, - 0x33, 0xb1, 0x35, 0x27, 0x43, 0x92, 0xd4, 0xf9, 0x44, 0x13, 0xe9, 0x84, 0x43, 0xe7, 0xf4, 0x74, - 0x65, 0x83, 0x31, 0x1f, 0x17, 0x3a, 0x90, 0xfa, 0x7b, 0x1c, 0x6a, 0x97, 0x5d, 0x27, 0xd1, 0xa7, - 0x9c, 0x31, 0xfc, 0x71, 0xd2, 0xa6, 0xcd, 0xcf, 0x9c, 0xb4, 0xbe, 0xa1, 0x31, 0x41, 0xfe, 0x6b, - 0x30, 0x42, 0x77, 0xd4, 0x5a, 0xc0, 0xe7, 0xe7, 0x69, 0x23, 0x79, 0xa1, 0x17, 0xaa, 0x47, 0xf1, - 0x88, 0x6e, 0x12, 0x2c, 0x64, 0x49, 0xd0, 0x58, 0x9e, 0xeb, 0xee, 0xc9, 0xa9, 0x39, 0xf5, 0x40, - 0xfc, 0x1d, 0xd3, 0xbf, 0x53, 0xc1, 0x62, 0xf4, 0xd1, 0x39, 0x15, 0xdf, 0x51, 0x20, 0xf7, 0xb6, - 0x09, 0xc7, 0x4b, 0xd8, 0x81, 0xce, 0xed, 0xca, 0x68, 0x74, 0xe8, 0x82, 0xfe, 0xe2, 0xd0, 0xc6, - 0xe6, 0x98, 0x66, 0xf3, 0xfe, 0xf2, 0x89, 0x3b, 0x63, 0x1d, 0x48, 0x27, 0x47, 0x11, 0xa5, 0xe5, - 0x0a, 0xe7, 0xa1, 0x95, 0x46, 0xc7, 0x03, 0x88, 0x25, 0xb2, 0x9a, 0xaa, 0xb5, 0xa6, 0x8a, 0xe7, - 0xc0, 0x45, 0xe3, 0x31, 0x38, 0x3b, 0x97, 0xdd, 0x59, 0x1d, 0xeb, 0xa9, 0x18, 0x38, 0x86, 0x51, - 0xa9, 0x5f, 0x97, 0x08, 0xac, 0x86, 0xbd, 0x85, 0xeb, 0xcc, 0x2e, 0x27, 0x1e, 0x13, 0xd6, 0x64, - 0xc3, 0x2b, 0x50, 0x04, 0xa4, 0xbf, 0xc2, 0xf9, 0x7e, 0x2b, 0x1c, 0x04, 0xef, 0xaa, 0x2d, 0x46, - 0xde, 0xca, 0x36, 0x56, 0xb5, 0x4b, 0xca, 0x46, 0x24, 0x42, 0xf3, 0x27, 0xed, 0x2f, 0xd2, 0x2f, - 0x32, 0xf4, 0x66, 0x41, 0x66, 0x12, 0x2d, 0xea, 0x97, 0xe3, 0xb4, 0x64, 0xd4, 0x99, 0xcf, 0xfd, - 0xd2, 0x8d, 0xb9, 0xb3, 0x4e, 0x0d, 0xf7, 0x3b, 0xb7, 0x6c, 0xa1, 0x14, 0x15, 0x03, 0x7b, 0xa9, - 0x85, 0x9f, 0xe3, 0x26, 0x3f, 0xff, 0x78, 0x6a, 0x7c, 0x46, 0x86, 0x0c, 0x40, 0xa9, 0x02, 0x4d, - 0x15, 0x09, 0x95, 0x1c, 0x8d, 0x60, 0x24, 0x91, 0x77, 0x9d, 0x29, 0xa5, 0x5f, 0xa7, 0x5c, 0x7d, - 0x6a, 0xbe, 0x00, 0x35, 0xca, 0x0c, 0xf7, 0xef, 0x24, 0xec, 0xdc, 0x79, 0x85, 0x94, 0xc1, 0x3d, - 0x08, 0x6d, 0xd8, 0x28, 0x9a, 0x92, 0xba, 0x28, 0xcd, 0x02, 0xc1, 0x08, 0x14, 0x5c, 0x3c, 0xca, - 0xf9, 0x08, 0xf1, 0x2e, 0x25, 0x55, 0x68, 0xea, 0x96, 0x1b, 0x2c, 0xc3, 0x32, 0xfd, 0xdf, 0x06, - 0x56, 0xb6, 0x86, 0x8a, 0x5f, 0x48, 0x45, 0x62, 0xcf, 0xc8, 0xdf, 0x8c, 0xbb, 0xf7, 0x5a, 0x80, - 0x7d, 0x0b, 0x2c, 0xe8, 0x80, 0x24, 0xa3, 0xb8, 0x00, 0xea, 0x20, 0x8a, 0x6a, 0x1d, 0xb0, 0x30, - 0x91, 0x15, 0x95, 0x6b, 0x5a, 0x0e, 0x27, 0x94, 0x1b, 0x7c, 0x1d, 0x52, 0x5c, 0xe3, 0xd5, 0x16, - 0x1e, 0x16, 0x66, 0x2f, 0x3d, 0x8d, 0x6b, 0x59, 0xf3, 0x47, 0xc9, 0x4b, 0x0c, 0x62, 0xf5, 0x9c, - 0x84, 0x63, 0xca, 0x66, 0x40, 0x61, 0x1a, 0x3d, 0xa0, 0x8c, 0xe9, 0xe7, 0x70, 0x58, 0xb2, 0x99, - 0x1e, 0x08, 0x69, 0xf7, 0x77, 0x91, 0x58, 0x7a, 0xc2, 0xbf, 0x7d, 0x5a, 0x99, 0xcb, 0xfc, 0xdb, - 0xaa, 0xf8, 0x9f, 0xf0, 0xe2, 0x68, 0x1a, 0x1a, 0xc0, 0xd6, 0x27, 0x2f, 0xea, 0x73, 0x29, 0x12, - 0x4a, 0x63, 0xdb, 0x18, 0xc4, 0x09, 0x72, 0x2f, 0x60, 0xeb, 0x50, 0xbf, 0xb8, 0x48, 0x6c, 0x5d, - 0x0c, 0x4c, 0x7f, 0xcf, 0xfc, 0x21, 0x76, 0xc4, 0x70, 0x41, 0x7d, 0x84, 0x67, 0x8a, 0x29, 0xdf, - 0x92, 0x43, 0x04, 0x29, 0x4c, 0x9b, 0xbb, 0x45, 0xf2, 0xe2, 0x27, 0xc0, 0x7f, 0x57, 0x58, 0x19, - 0xde, 0xf5, 0x30, 0xc1, 0xa2, 0xf8, 0x3e, 0x1b, 0x33, 0xc2, 0x3f, 0x00, 0x72, 0x21, 0xae, 0xbd, - 0xf1, 0xcb, 0x7a, 0x94, 0x6e, 0xca, 0x7f, 0x87, 0x47, 0x7a, 0x35, 0xf8, 0x53, 0x8f, 0x82, 0xc1, - 0xc3, 0xfa, 0xa5, 0x6f, 0x5a, 0x97, 0x3f, 0x1f, 0x1e, 0x1e, 0x1a, 0x62, 0x98, 0xa7, 0xc5, 0xf5, - 0x80, 0x47, 0xa8, 0xfd, 0x4e, 0x7e, 0xce, 0x7e, 0x69, 0x38, 0xb6, 0x17, 0xac, 0x4e, 0x21, 0xa5, - 0xfb, 0x1a, 0x27, 0xd9, 0xea, 0x5e, 0xa2, 0x3e, 0x82, 0xe1, 0x14, 0xe7, 0x7c, 0xcc, 0x01, 0x50, - 0xc0, 0x28, 0xaf, 0xdb, 0xd9, 0x69, 0x15, 0xbe, 0x42, 0x55, 0x43, 0x06, 0x3f, 0x78, 0xd5, 0xaa, - 0x34, 0xbb, 0xb1, 0xec, 0x70, 0x7e, 0x76, 0x5e, 0x6c, 0x7d, 0x4c, 0x45, 0xab, 0x80, 0xb4, 0x24, - 0x90, 0xdd, 0xd9, 0x0b, 0xf1, 0xa3, 0xe9, 0x1c, 0xf7, 0x11, 0x6a, 0xa4, 0x66, 0x6f, 0xc5, 0x5e, - 0xf2, 0x68, 0xa4, 0xc2, 0xdc, 0x87, 0x6b, 0x18, 0x99, 0x83, 0x8d, 0xcb, 0x56, 0x66, 0x09, 0x14, - 0xc7, 0xd1, 0x99, 0xe2, 0x88, 0x0c, 0xa8, 0x59, 0x78, 0xbc, 0x0b, 0x17, 0x12, 0xa8, 0xcc, 0x74, - 0x7a, 0x0f, 0x35, 0x41, 0xda, 0x96, 0x80, 0x87, 0xd2, 0xc3, 0x26, 0x25, 0xf1, 0x99, 0x59, 0x5b, - 0x0b, 0x8e, 0x5a, 0xf8, 0x56, 0xcd, 0xce, 0x2b, 0xde, 0x95, 0x01, 0x77, 0x8c, 0x77, 0x15, 0xf9, - 0x27, 0x40, 0x87, 0x84, 0xe4, 0xa5, 0x85, 0x1c, 0x73, 0xc1, 0xb7, 0x9b, 0x5c, 0xcc, 0x6f, 0x00, - 0x3a, 0x16, 0xcf, 0xf0, 0x1d, 0x47, 0x31, 0x07, 0x43, 0x49, 0xc2, 0x3d, 0x4a, 0x4b, 0x09, 0x16, - 0xe9, 0x04, 0x12, 0x89, 0x41, 0x09, 0x53, 0xc1, 0x5e, 0x4f, 0x97, 0x00, 0xec, 0x3c, 0x90, 0x62, - 0x60, 0xdd, 0x83, 0xea, 0xd7, 0x21, 0xd5, 0xa7, 0x38, 0x07, 0x78, 0xf3, 0xc1, 0xd4, 0xf1, 0xca, - 0x13, 0xaf, 0xb1, 0x53, 0xb3, 0x5f, 0x5f, 0xa8, 0xda, 0x23, 0x25, 0x65, 0xa3, 0x35, 0xf5, 0xfc, - 0x97, 0xdc, 0xdc, 0xbf, 0x24, 0xaa, 0x4d, 0xfd, 0xf7, 0xc8, 0x2e, 0x52, 0x52, 0x9c, 0x6a, 0x95, - 0xd3, 0x06, 0x87, 0x4e, 0x3c, 0x86, 0x8d, 0x7f, 0x12, 0xe9, 0xfd, 0x29, 0x0e, 0xb7, 0x5f, 0xe1, - 0xb6, 0x7b, 0x4e, 0x5e, 0x8d, 0x32, 0x24, 0x79, 0x36, 0xe0, 0x60, 0xb6, 0xbb, 0x74, 0xfe, 0xd3, - 0xd9, 0x85, 0x27, 0x5e, 0x91, 0xa6, 0xb3, 0xa3, 0xf6, 0x5f, 0xb4, 0x07, 0x4e, 0x1a, 0x3b, 0x54, - 0x4c, 0x61, 0x54, 0xd4, 0xc6, 0xf4, 0x76, 0x1d, 0x3d, 0x64, 0x25, 0x81, 0x63, 0x72, 0xf3, 0xa5, - 0x2d, 0x27, 0x97, 0x2c, 0x64, 0xbf, 0xc5, 0x94, 0x9a, 0x4c, 0xbe, 0x98, 0xa6, 0xb2, 0x22, 0xe8, - 0x0c, 0x2a, 0x2b, 0xd0, 0x1f, 0xda, 0xca, 0x25, 0xa1, 0x18, 0x05, 0xf9, 0x94, 0xfe, 0x1a, 0xe3, - 0x70, 0x7e, 0x0d, 0x1d, 0x8c, 0x54, 0xf1, 0xff, 0xb0, 0x01, 0x11, 0xe3, 0x04, 0xc4, 0x63, 0x16, - 0x33, 0x3c, 0xd0, 0xc1, 0xb1, 0x8c, 0x21, 0x37, 0x9b, 0x0c, 0x6d, 0x96, 0x1d, 0x27, 0x49, 0x9c, - 0x7c, 0x0f, 0xd5, 0x01, 0x54, 0x95, 0x48, 0x8c, 0x14, 0xf9, 0x22, 0xa8, 0x38, 0xde, 0xd1, 0x16, - 0x2b, 0x3e, 0x1a, 0x25, 0xc2, 0xae, 0xff, 0xbe, 0xfb, 0xeb, 0x34, 0x0a, 0xbb, 0x19, 0x26, 0x3f, - 0x8a, 0x17, 0x88, 0xa2, 0x3a, 0x95, 0x8f, 0x22, 0x91, 0x66, 0xf4, 0x1a, 0x35, 0x24, 0x9c, 0x89, - 0x7e, 0x4f, 0xe3, 0x54, 0x88, 0xb3, 0x60, 0x76, 0x9a, 0x7d, 0x26, 0x33, 0xfa, 0x7d, 0x7e, 0x8b, - 0x8c, 0x74, 0x9f, 0x3d, 0x69, 0x00, 0x2c, 0x06, 0x6a, 0xa6, 0xaa, 0xab, 0x5b, 0x00, 0xd7, 0x56, - 0x3d, 0x39, 0x32, 0x1b, 0x51, 0x53, 0xdc, 0xbc, 0xd6, 0x23, 0xa7, 0xf2, 0x58, 0xf0, 0x5f, 0x96, - 0xf4, 0x1e, 0xd7, 0xa6, 0xe9, 0x0a, 0x69, 0x2a, 0x2f, 0xea, 0xda, 0x00, 0x3f, 0x06, 0xd0, 0x4a, - 0x30, 0x55, 0x1a, 0x3b, 0x4b, 0x76, 0x7e, 0x31, 0xb3, 0xe9, 0xb2, 0x26, 0x11, 0x89, 0x82, 0x7c, - 0x5d, 0x39, 0x14, 0x9f, 0x38, 0x1b, 0xe3, 0x45, 0x0d, 0xc2, 0x8c, 0x62, 0x66, 0xbb, 0x82, 0x9e, - 0xea, 0x67, 0x2f, 0x6b, 0xbc, 0xe4, 0x16, 0x60, 0x6f, 0x0b, 0x54, 0xf2, 0x58, 0xd6, 0xf0, 0xe0, - 0xd1, 0x0a, 0x18, 0x56, 0xfa, 0x5d, 0x2f, 0x19, 0x1b, 0xc3, 0xce, 0x42, 0x3f, 0x74, 0xcf, 0x1f, - 0x56, 0x2c, 0xeb, 0x32, 0xa5, 0x72, 0x97, 0xd8, 0x85, 0x1c, 0x30, 0xd5, 0xf6, 0x13, 0xc3, 0xe5, - 0x5f, 0x51, 0xa6, 0xfa, 0xec, 0x56, 0x8d, 0xc8, 0x03, 0x61, 0x7c, 0x2a, 0x62, 0xae, 0xa3, 0x6c, - 0x16, 0x80, 0xea, 0xb0, 0xae, 0xe2, 0x71, 0xb1, 0x11, 0x13, 0xf7, 0xde, 0xa0, 0x4c, 0x4a, 0x82, - 0x7a, 0xea, 0xc5, 0x9b, 0xf8, 0xfa, 0x07, 0x8d, 0xc3, 0x8d, 0x33, 0x4d, 0x9b, 0xd6, 0x76, 0x1b, - 0xb4, 0x14, 0x74, 0x96, 0x45, 0xba, 0xc5, 0x8a, 0x04, 0x7c, 0xca, 0xe7, 0xba, 0x2e, 0x2b, 0x19, - 0x6b, 0xf8, 0x31, 0x7f, 0x89, 0x61, 0xaf, 0x19, 0xa1, 0xcb, 0x3a, 0xf0, 0x90, 0xed, 0x4a, 0x5d, - 0xaf, 0xed, 0xd0, 0x55, 0x16, 0x32, 0x37, 0x8a, 0xfa, 0x80, 0x14, 0xe8, 0xbe, 0x7d, 0xfe, 0x38, - 0x99, 0x84, 0x82, 0x4c, 0xba, 0xdf, 0x53, 0x12, 0xf4, 0x6b, 0xf7, 0x21, 0x0a, 0x3f, 0xc4, 0xdd, - 0x00, 0x67, 0x0a, 0xb5, 0x7f, 0x8b, 0xf2, 0x93, 0x7b, 0xf5, 0xc0, 0xd4, 0xec, 0x22, 0x91, 0x32, - 0xe7, 0x19, 0x19, 0x7c, 0x00, 0x4a, 0x25, 0xba, 0x2b, 0x7e, 0x14, 0xa2, 0x1d, 0xaa, 0x36, 0x43, - 0x9d, 0x8a, 0x8f, 0x4f, 0x05, 0x00, 0x5d, 0x78, 0x43, 0xe7, 0x8a, 0x0a, 0x1b, 0x71, 0x89, 0x58, - 0x0c, 0xc0, 0x37, 0x06, 0xd4, 0xaa, 0x93, 0x1e, 0xc7, 0xd5, 0x8d, 0xbf, 0x08, 0xba, 0x76, 0xdd, - 0x93, 0x29, 0x59, 0x7e, 0xd7, 0xa1, 0xbf, 0x45, 0xb5, 0xfc, 0x11, 0x07, 0x17, 0xd0, 0x66, 0xf4, - 0x0c, 0x32, 0xff, 0xb7, 0x18, 0x55, 0x4d, 0x06, 0xdd, 0xc6, 0x60, 0x64, 0x29, 0xf7, 0xae, 0x99, - 0xfa, 0x23, 0x9a, 0x5d, 0xa4, 0xe2, 0x59, 0xd0, 0x97, 0xf2, 0x61, 0x46, 0x23, 0x4c, 0x24, 0x73, - 0x37, 0x52, 0x8d, 0x3c, 0xb3, 0x11, 0xe5, 0x21, 0x86, 0x9c, 0x63, 0x01, 0xc6, 0x5b, 0xf8, 0xd1, - 0x76, 0xbd, 0x2b, 0x07, 0x28, 0xf6, 0x85, 0xf2, 0x84, 0x76, 0x36, 0xb9, 0x98, 0x6f, 0x39, 0xdd, - 0xf0, 0xc6, 0xca, 0xee, 0x15, 0xb9, 0xf1, 0x60, 0x60, 0xbc, 0x5c, 0x51, 0x66, 0xb4, 0xe9, 0x2b, - 0x05, 0x65, 0xdf, 0x4e, 0x02, 0xa0, 0x4a, 0x96, 0xa3, 0x82, 0x09, 0x30, 0x7c, 0x1f, 0xac, 0x22, - 0xcc, 0x91, 0xbb, 0x5b, 0x0f, 0xd1, 0xf2, 0xc4, 0x46, 0x9d, 0x08, 0x6f, 0x00, 0x26, 0xe6, 0x63, - 0x65, 0xee, 0x06, 0x33, 0xd9, 0x1e, 0xb8, 0xcf, 0x55, 0xef, 0x9d, 0xd7, 0x75, 0x81, 0xa6, 0x6a, - 0x2a, 0x90, 0xf6, 0xe0, 0x07, 0xf5, 0x5b, 0x4d, 0x92, 0x21, 0x90, 0x88, 0x86, 0xd4, 0xc1, 0x6c, - 0xec, 0xb0, 0xae, 0x8a, 0xb1, 0x3a, 0xc0, 0xef, 0xc9, 0x8f, 0x8c, 0xc7, 0xcb, 0x35, 0x87, 0x8c, - 0x11, 0xd4, 0xc8, 0xc9, 0xff, 0xee, 0x90, 0x66, 0x69, 0x40, 0xa1, 0x67, 0x64, 0x7f, 0x4b, 0xbc, - 0x97, 0xb8, 0xe7, 0x37, 0x71, 0xd5, 0x73, 0xcc, 0x10, 0x04, 0x82, 0xb8, 0xb0, 0x00, 0x79, 0xad, - 0x1d, 0x0b, 0xd7, 0x1f, 0x28, 0xe8, 0x81, 0x04, 0x42, 0xfc, 0xa7, 0x08, 0x1c, 0xa0, 0x40, 0x4c, - 0x99, 0x76, 0x2c, 0x71, 0x8b, 0xd3, 0xcb, 0x62, 0x8a, 0xb4, 0x17, 0x6b, 0xe6, 0xda, 0xf1, 0x6e, - 0x88, 0x4c, 0xd9, 0x92, 0xa5, 0x51, 0x21, 0x23, 0xf7, 0x6c, 0xbb, 0x51, 0xce, 0xea, 0x18, 0xb5, - 0x90, 0xf9, 0xb7, 0xf2, 0x67, 0x1e, 0x3a, 0x4f, 0xdf, 0xe6, 0xe2, 0x3a, 0x73, 0xcb, 0x31, 0xb2, - 0x8b, 0xd4, 0xa1, 0x2a, 0x0e, 0xfd, 0xdb, 0xd7, 0xc4, 0x17, 0x59, 0xd7, 0x37, 0x94, 0xc8, 0xfe, - 0xf0, 0xcc, 0xa3, 0xb5, 0x74, 0x0c, 0x4d, 0xff, 0x1e, 0x51, 0x26, 0x1e, 0x6c, 0xfe, 0xe8, 0xea, - 0x26, 0xf3, 0x14, 0x6f, 0x06, 0x03, 0xc3, 0xb6, 0xfb, 0x59, 0x46, 0x26, 0x7e, 0x73, 0x1d, 0x8d, - 0xa4, 0xd8, 0x1a, 0x8a, 0x52, 0x57, 0xb3, 0xf8, 0xa5, 0xa7, 0x37, 0xec, 0xf3, 0xad, 0x66, 0xb6, - 0x6d, 0x6e, 0x09, 0x55, 0xa4, 0x00, 0x55, 0xff, 0xd1, 0x74, 0x57, 0x31, 0x03, 0xd6, 0x86, 0x3f, - 0x01, 0xd4, 0xd1, 0x56, 0xa6, 0x60, 0x48, 0x50, 0x72, 0x4d, 0xc7, 0xb1, 0x6b, 0x06, 0x34, 0xd9, - 0x68, 0xfa, 0xda, 0x20, 0x10, 0x5f, 0x0b, 0xcd, 0x5b, 0x69, 0x47, 0x6f, 0x97, 0xfd, 0xc4, 0x39, - 0xbd, 0x50, 0x23, 0xb8, 0x7d, 0xdf, 0xd0, 0xd9, 0x3f, 0xcc, 0x9e, 0xa5, 0xe7, 0x72, 0x9a, 0x4b, - 0x90, 0xe8, 0x34, 0xd6, 0x15, 0x26, 0x17, 0xe2, 0x6e, 0x8d, 0xa2, 0x9a, 0x66, 0x8d, 0xd2, 0x3c, - 0x0c, 0xb9, 0xdc, 0xd3, 0x85, 0x60, 0x03, 0x31, 0xba, 0x5d, 0x65, 0x30, 0xc9, 0x2d, 0x3f, 0x06, - 0xec, 0x2d, 0x50, 0x51, 0xba, 0x2b, 0x91, 0xda, 0xf0, 0xdc, 0xad, 0x2b, 0xbd, 0x4a, 0x41, 0x5f, - 0x27, 0x8a, 0x56, 0x84, 0xcb, 0xd5, 0x55, 0x55, 0x80, 0x9d, 0xfd, 0x97, 0x81, 0x3c, 0x64, 0xb5, - 0x6d, 0x19, 0x13, 0x41, 0xf2, 0x06, 0x3a, 0xcc, 0xd5, 0x12, 0x20, 0xed, 0xf9, 0x57, 0x85, 0x59, - 0x43, 0x9b, 0x1c, 0x06, 0x2e, 0xe2, 0xf5, 0x70, 0x6d, 0xca, 0xb4, 0x97, 0x5c, 0x40, 0x10, 0x3b, - 0xe8, 0xac, 0x1d, 0xfd, 0xbe, 0x6c, 0x72, 0x51, 0xab, 0x37, 0x93, 0x11, 0x89, 0x24, 0xc7, 0x2a, - 0xf4, 0x36, 0x9d, 0x74, 0xdb, 0xb5, 0xde, 0xda, 0x72, 0xdd, 0x4e, 0xa0, 0xc8, 0x2c, 0xde, 0xe8, - 0xf7, 0xbc, 0xa3, 0x5b, 0x38, 0xbd, 0x7d, 0xf4, 0xf0, 0xbf, 0x2c, 0x71, 0x4a, 0x07, 0xeb, 0x4d, - 0x1e, 0x47, 0xe6, 0xed, 0x04, 0x1a, 0x6d, 0x01, 0xf6, 0xd0, 0x39, 0x86, 0x8d, 0x8e, 0xa6, 0x28, - 0x99, 0x5b, 0x84, 0xb3, 0x0b, 0x7b, 0x5e, 0x99, 0x1f, 0x8e, 0x94, 0x98, 0xed, 0x39, 0x66, 0x14, - 0x0e, 0x16, 0x2b, 0x32, 0x48, 0x43, 0xbb, 0x16, 0x1d, 0x25, 0x16, 0x02, 0xa7, 0x32, 0x5b, 0x4b, - 0xb1, 0x99, 0xe9, 0x35, 0x51, 0x13, 0xb8, 0xe9, 0x91, 0x49, 0x2a, 0xeb, 0x0f, 0xba, 0x4e, 0xdf, - 0xa2, 0x0a, 0x14, 0x9d, 0x75, 0x43, 0xc6, 0x75, 0x27, 0x1f, 0x52, 0x91, 0x79, 0x77, 0x45, 0xb1, - 0xd1, 0x3b, 0x20, 0x88, 0x2d, 0x5a, 0x59, 0x58, 0xab, 0x84, 0x6c, 0xb7, 0x43, 0x35, 0x51, 0x70, - 0xb1, 0x4d, 0xc8, 0x95, 0xb8, 0x58, 0x1d, 0xca, 0x03, 0x2a, 0xc9, 0x33, 0xfc, 0xaa, 0xd1, 0xd6, - 0x27, 0xf9, 0xd5, 0x86, 0x0b, 0x1c, 0x2f, 0x0a, 0x94, 0x58, 0xc2, 0xee, 0x3f, 0x32, 0x0f, 0x49, - 0xd5, 0xca, 0x44, 0x56, 0xab, 0x08, 0x7f, 0x1c, 0x40, 0xa2, 0x52, 0x9c, 0x57, 0xc6, 0x61, 0xdf, - 0x33, 0x8e, 0xde, 0x0b, 0x56, 0xe8, 0x89, 0x0e, 0xe0, 0x19, 0x49, 0xd5, 0x0c, 0xef, 0x22, 0x97, - 0x07, 0x75, 0x4a, 0xcd, 0x6e, 0x62, 0xc7, 0xf8, 0x6f, 0x73, 0x7a, 0x4c, 0x8c, 0xbc, 0x98, 0x09, - 0xe0, 0x42, 0xfa, 0x61, 0x29, 0x41, 0x38, 0x98, 0x9f, 0x8f, 0x02, 0x0b, 0xb3, 0x54, 0xef, 0xa4, - 0x1d, 0xce, 0x45, 0xfe, 0xe9, 0x68, 0x3b, 0x5f, 0x38, 0xb8, 0x5e, 0x1a, 0xa9, 0xa6, 0x40, 0x49, - 0x68, 0x97, 0xad, 0x29, 0x42, 0x61, 0x4a, 0xc0, 0xc0, 0x1e, 0xc1, 0xb8, 0x14, 0xfe, 0xf4, 0x70, - 0x8c, 0x56, 0x35, 0x9f, 0xea, 0x90, 0x24, 0x5f, 0xb8, 0x62, 0x96, 0x50, 0x69, 0x5a, 0xc8, 0x82, - 0xa5, 0x89, 0xbe, 0x19, 0xa6, 0x2d, 0x09, 0x92, 0x1c, 0xc1, 0x63, 0x90, 0x88, 0x53, 0x4d, 0x7b, - 0x89, 0xae, 0xc2, 0x32, 0xa1, 0x52, 0x91, 0xac, 0x08, 0xd3, 0x19, 0x00, 0xe7, 0x04, 0x8d, 0x60, - 0x24, 0xa5, 0x6f, 0x19, 0x36, 0x4c, 0x7d, 0x2b, 0xdb, 0x79, 0xf1, 0x05, 0x29, 0xed, 0x7d, 0x5e, - 0x32, 0xe8, 0xb5, 0x89, 0x35, 0x8a, 0xaa, 0xcd, 0xaf, 0x0a, 0x88, 0xb5, 0x99, 0x67, 0x3c, 0xbb, - 0xf2, 0x0e, 0x79, 0xfb, 0xbf, 0xbb, 0xe4, 0xaf, 0x58, 0x78, 0xdb, 0xb2, 0x6e, 0xbf, 0xe1, 0x77, - 0x5e, 0x50, 0x23, 0xc6, 0x7d, 0x8b, 0x99, 0x59, 0x00, 0x01, 0x39, 0x56, 0x52, 0xc4, 0xa1, 0x37, - 0x0c, 0xb3, 0xa4, 0x13, 0x1b, 0x7d, 0x3c, 0xef, 0x30, 0xce, 0xcb, 0x5f, 0x7b, 0x69, 0xec, 0x57, - 0xc8, 0xa7, 0x87, 0xf1, 0x0e, 0x22, 0x0a, 0x02, 0x57, 0xc0, 0xe3, 0xf0, 0x79, 0x75, 0x8c, 0x12, - 0x3a, 0xd4, 0x34, 0x18, 0x9f, 0x55, 0x0d, 0x37, 0x7d, 0x87, 0x3c, 0x16, 0xd2, 0xfd, 0xa2, 0x4e, - 0x02, 0x6c, 0xad, 0x0d, 0x54, 0xd1, 0xb0, 0xaa, 0xd9, 0x64, 0x58, 0xdd, 0xf9, 0x0b, 0x24, 0x68, - 0xc4, 0x28, 0x69, 0xdd, 0x11, 0x00, 0x92, 0x72, 0x49, 0xd7, 0xda, 0x85, 0x16, 0xd9, 0xba, 0x43, - 0x09, 0x8a, 0x0b, 0x21, 0x46, 0x67, 0xb1, 0x77, 0x99, 0x73, 0xe2, 0x48, 0x5d, 0x5f, 0xba, 0x95, - 0x79, 0x55, 0xc7, 0xd9, 0x65, 0x86, 0xe5, 0x25, 0x92, 0x40, 0x07, 0xc4, 0x63, 0x67, 0xa1, 0x0e, - 0x96, 0xd8, 0x62, 0xfb, 0xe4, 0xe8, 0x3a, 0xa7, 0x5d, 0xca, 0x0b, 0xf7, 0x13, 0xc3, 0x30, 0xe0, - 0xa5, 0x4b, 0xc8, 0x74, 0x2c, 0x73, 0xac, 0xc2, 0x1f, 0x8c, 0xee, 0x59, 0x63, 0xee, 0xac, 0xc2, - 0x38, 0x6b, 0xe0, 0x96, 0x01, 0xc2, 0xf2, 0x21, 0x56, 0xf6, 0x0a, 0xe6, 0x7b, 0x60, 0xbe, 0x99, - 0x4d, 0xc8, 0xdd, 0x07, 0xf4, 0xa5, 0x48, 0x6b, 0x68, 0xf4, 0x52, 0x35, 0xa6, 0xe8, 0xeb, 0x14, - 0x80, 0xab, 0x02, 0xb6, 0x17, 0xf1, 0x99, 0x8e, 0x56, 0xe2, 0xf4, 0x7a, 0xfa, 0xb6, 0x5d, 0x8a, - 0x91, 0x4f, 0x93, 0xe4, 0x88, 0x5e, 0xf8, 0xed, 0xfc, 0x2c, 0xda, 0xe1, 0x67, 0x6f, 0x27, 0x8e, - 0x65, 0xf8, 0xdb, 0x72, 0xa9, 0x14, 0xc4, 0xf9, 0x62, 0x0c, 0x8c, 0x9f, 0xb1, 0x46, 0x9c, 0x60, - 0x94, 0xf2, 0x18, 0x7e, 0x8d, 0xd2, 0x46, 0x89, 0x8f, 0x68, 0xc1, 0xfa, 0xa0, 0x4e, 0x1f, 0x32, - 0xce, 0xb2, 0xc1, 0x84, 0xa4, 0x04, 0x82, 0x61, 0xe4, 0x28, 0xbc, 0x4c, 0x8e, 0x4f, 0x9b, 0x17, - 0xea, 0xe8, 0x11, 0xa8, 0x5e, 0x64, 0x9d, 0x69, 0x56, 0x31, 0x04, 0x92, 0x33, 0xc1, 0xc8, 0x53, - 0xc9, 0xbb, 0x57, 0x97, 0x40, 0x01, 0x57, 0x44, 0xd6, 0x0d, 0x16, 0xa8, 0xc6, 0x7d, 0x65, 0x6c, - 0x0c, 0xf1, 0xd7, 0xff, 0xab, 0xce, 0x56, 0xf3, 0xaf, 0xac, 0x6a, 0x94, 0x1d, 0x44, 0x80, 0x89, - 0x89, 0x9d, 0x0a, 0x2f, 0xc4, 0xfe, 0x27, 0x55, 0xdd, 0xaf, 0xf3, 0x5f, 0x84, 0x4c, 0x9e, 0x04, - 0x8e, 0x51, 0x94, 0x30, 0xc5, 0x83, 0xa7, 0xfe, 0x35, 0x5c, 0x55, 0xf8, 0x45, 0x01, 0xab, 0xbd, - 0x36, 0x0b, 0xaa, 0x49, 0xf0, 0xcb, 0xf5, 0xf0, 0x59, 0x60, 0x08, 0x7c, 0x41, 0xd5, 0x58, 0xde, - 0xfc, 0xc7, 0xf1, 0x30, 0xa1, 0xee, 0xd1, 0x93, 0xbd, 0xb0, 0xe4, 0x9d, 0xbc, 0x12, 0x9d, 0xa6, - 0x5a, 0x7a, 0xb7, 0xb9, 0x4c, 0x7b, 0x0e, 0xf4, 0xa4, 0xa6, 0x9d, 0x71, 0xec, 0xf0, 0x34, 0x26, - 0x4d, 0xd9, 0x6e, 0xca, 0x0f, 0x93, 0x26, 0xa3, 0x50, 0xd8, 0x52, 0x8b, 0x3e, 0x9a, 0x81, 0x3e, - 0xcf, 0xda, 0x74, 0xd1, 0x2d, 0xb5, 0xf5, 0x4c, 0xbc, 0xbf, 0x85, 0xc7, 0xba, 0x65, 0xe4, 0xf7, - 0x0f, 0x45, 0x00, 0x8a, 0x3f, 0x72, 0xf2, 0xd8, 0x8e, 0x10, 0xbc, 0x0b, 0x8c, 0x40, 0x03, 0xe1, - 0x96, 0x4d, 0x9d, 0xdd, 0xf6, 0x15, 0xaa, 0x5a, 0xce, 0x95, 0x0e, 0x90, 0x74, 0x18, 0x33, 0x73, - 0xd3, 0xcf, 0x2d, 0xa8, 0x38, 0xad, 0x5a, 0x7c, 0xd7, 0x31, 0xe9, 0xb9, 0x58, 0xde, 0xa8, 0x8f, - 0x1f, 0x18, 0x7b, 0xde, 0xd0, 0xf1, 0x4a, 0x6a, 0xd1, 0x86, 0xbc, 0xbb, 0x30, 0x74, 0xfe, 0x3d, - 0xb0, 0x44, 0x4a, 0xc5, 0xd4, 0xa2, 0xd5, 0xce, 0x02, 0x50, 0xfe, 0x13, 0x5e, 0x9e, 0x82, 0x2a, - 0xd8, 0x42, 0x08, 0x93, 0x77, 0x6e, 0x3b, 0xd8, 0xdc, 0x6c, 0xcf, 0xf9, 0x2e, 0x8f, 0x9f, 0x8d, - 0x7f, 0x8a, 0x7d, 0x4f, 0x83, 0x32, 0xa5, 0xee, 0x7e, 0xc8, 0xf9, 0x80, 0xef, 0xa8, 0xd4, 0xa4, - 0x60, 0x9a, 0x2b, 0x04, 0x6f, 0xb9, 0x4a, 0x03, 0xcd, 0x21, 0xa3, 0xa6, 0xb6, 0xe0, 0x92, 0x89, - 0xfc, 0x13, 0xf6, 0x2c, 0x69, 0x46, 0x9d, 0xd1, 0x1a, 0xdf, 0xa2, 0x95, 0x42, 0xe9, 0x4e, 0xfb, - 0xff, 0xd5, 0xbe, 0x2d, 0x39, 0x66, 0x4b, 0x87, 0x08, 0x05, 0x8b, 0x91, 0x10, 0x36, 0x41, 0x7e, - 0x1e, 0x08, 0x52, 0xeb, 0xe5, 0xdd, 0xd5, 0x1d, 0x30, 0x42, 0xbe, 0x06, 0x90, 0x17, 0x50, 0xdd, - 0x76, 0x31, 0x4d, 0xd9, 0xd9, 0x74, 0x00, 0xe9, 0x99, 0xc1, 0x1b, 0xaf, 0xb2, 0x4b, 0x67, 0x06, - 0xf3, 0x6c, 0xe7, 0x0d, 0xbb, 0xee, 0x3b, 0xd0, 0x05, 0xeb, 0xc5, 0xcd, 0x6b, 0xe9, 0xab, 0xe2, - 0x4f, 0xb0, 0x58, 0x33, 0x86, 0x76, 0xc6, 0x75, 0xc2, 0x9f, 0x42, 0xe6, 0xad, 0x95, 0x6c, 0x8f, - 0x65, 0x46, 0x7e, 0x68, 0x09, 0xb9, 0x2c, 0x2b, 0x66, 0xca, 0xce, 0x84, 0x80, 0x6a, 0xe5, 0x8a, - 0x40, 0x7c, 0xfd, 0xc2, 0xf9, 0x93, 0xf6, 0xa6, 0xa3, 0x9d, 0xa7, 0xa7, 0x15, 0xfc, 0xa0, 0xa6, - 0xe9, 0xc4, 0x32, 0x8f, 0x2b, 0xaa, 0x80, 0x88, 0xad, 0x8e, 0x0f, 0x63, 0xc9, 0x5b, 0x6e, 0x41, - 0xce, 0x59, 0x10, 0x14, 0x92, 0x4a, 0x42, 0x73, 0x33, 0xfe, 0x4f, 0xc3, 0xa4, 0xe3, 0x73, 0xaf, - 0x80, 0x65, 0xef, 0x3f, 0x89, 0x34, 0x16, 0x75, 0x48, 0x60, 0x6d, 0xc2, 0x36, 0x53, 0xba, 0x51, - 0x19, 0x13, 0x8a, 0xac, 0x86, 0xc5, 0x45, 0x75, 0x7c, 0x7f, 0x49, 0xd3, 0x1e, 0xad, 0x69, 0x8a, - 0xed, 0x2b, 0x8f, 0xcd, 0x48, 0xe8, 0x49, 0x97, 0x59, 0x48, 0xe7, 0xb4, 0xc8, 0xa7, 0x70, 0xe8, - 0xa4, 0x62, 0x47, 0x71, 0x6d, 0xa4, 0x60, 0x42, 0x0e, 0x91, 0x18, 0x6c, 0x7c, 0xdb, 0x19, 0xde, - 0x5f, 0xe2, 0xc2, 0xf3, 0x50, 0x96, 0x0d, 0x4a, 0x5e, 0xe9, 0xa9, 0x8c, 0x65, 0x13, 0x64, 0xa4, - 0x02, 0x82, 0x73, 0x04, 0xd0, 0x8a, 0x2e, 0x68, 0xe0, 0x34, 0x42, 0x5a, 0x69, 0x85, 0xa2, 0x87, - 0xde, 0xda, 0x6d, 0xc5, 0xa6, 0x92, 0x86, 0x12, 0x42, 0x27, 0x7f, 0x09, 0xfa, 0x8d, 0xc8, 0xf1, - 0x1a, 0xfc, 0x88, 0x8a, 0xe6, 0x66, 0x91, 0x30, 0xd1, 0x7a, 0xb8, 0xc5, 0x09, 0xc8, 0x56, 0x36, - 0x8f, 0x0a, 0x31, 0xa7, 0x0f, 0xaa, 0xb9, 0xf5, 0xa9, 0xbf, 0xbc, 0x1d, 0x1d, 0xe1, 0x15, 0xef, - 0x73, 0x98, 0x0f, 0x2b, 0xb1, 0x5d, 0xb5, 0x1a, 0xfd, 0xe5, 0xcb, 0xa2, 0xe3, 0x9d, 0x39, 0x27, - 0x99, 0x40, 0x7c, 0x9b, 0x96, 0xc4, 0xce, 0xbb, 0xa4, 0x4b, 0xe9, 0xfb, 0xf0, 0xe1, 0xe5, 0xb0, - 0xa0, 0x15, 0x3f, 0x69, 0x1b, 0xe2, 0xcf, 0xec, 0x65, 0xbe, 0x2b, 0xd7, 0xd5, 0x01, 0xed, 0x6d, - 0x96, 0xd9, 0xeb, 0xc4, 0xb0, 0x72, 0x6c, 0x15, 0xaa, 0xf3, 0xb7, 0xdf, 0xa7, 0xde, 0xb8, 0x2e, - 0xc8, 0x7d, 0xb0, 0xb7, 0x6e, 0x32, 0x46, 0xf9, 0xda, 0x0d, 0x85, 0x14, 0xdb, 0x3b, 0xa2, 0x87, - 0x64, 0xee, 0x4e, 0xeb, 0x8f, 0xf2, 0x38, 0xe9, 0x7f, 0x01, 0x58, 0x9a, 0xbd, 0xd5, 0x67, 0x29, - 0x4b, 0x9a, 0x27, 0x19, 0xea, 0x88, 0x89, 0x3a, 0x91, 0x9c, 0xa4, 0x75, 0xc2, 0xf3, 0xec, 0x3a, - 0x4c, 0xbb, 0x2b, 0xa5, 0x4f, 0x20, 0x82, 0xe1, 0xef, 0x1e, 0x7f, 0x6b, 0xbb, 0x8e, 0x9a, 0xe0, - 0xea, 0x31, 0x88, 0xdc, 0x7c, 0x32, 0xd9, 0xae, 0x01, 0xc2, 0xf2, 0x43, 0xe4, 0x7c, 0x0d, 0x4a, - 0xec, 0x1a, 0xbb, 0x97, 0x61, 0x01, 0x9b, 0x54, 0x2e, 0x2f, 0x70, 0xf1, 0xb6, 0x78, 0x7b, 0x89, - 0x9c, 0xa2, 0x39, 0xa4, 0x69, 0x9b, 0x9c, 0x91, 0x4f, 0x26, 0x67, 0x70, 0x5d, 0x3d, 0x79, 0x0a, - 0x75, 0x91, 0x55, 0x03, 0x27, 0xa0, 0x6c, 0x2e, 0xee, 0x1a, 0xa2, 0x62, 0x11, 0x3a, 0xc0, 0x26, - 0x8b, 0x31, 0xae, 0x15, 0x00, 0x26, 0x89, 0x21, 0x2d, 0xa7, 0xa4, 0x6c, 0x24, 0x58, 0x75, 0x5a, - 0x91, 0x54, 0x0c, 0x5e, 0x84, 0xec, 0x19, 0x02, 0x9e, 0x31, 0x56, 0xc6, 0x29, 0xdf, 0x43, 0xcb, - 0x7e, 0xf3, 0xc6, 0x2d, 0xeb, 0xef, 0xb4, 0x67, 0xce, 0x63, 0x50, 0x1c, 0xd6, 0x17, 0xf1, 0x7d, - 0xb1, 0x83, 0x55, 0x8f, 0x37, 0xd1, 0x34, 0xdb, 0x6e, 0x7c, 0x4c, 0x51, 0x9a, 0x48, 0x8c, 0x5c, - 0xa6, 0xd7, 0xfa, 0xbc, 0xd1, 0x9d, 0x4d, 0x05, 0xa6, 0x42, 0x3d, 0x3c, 0x96, 0x59, 0x65, 0x6c, - 0x5d, 0x50, 0x06, 0x35, 0xc2, 0x83, 0x7a, 0x85, 0xd5, 0x80, 0xf7, 0xdb, 0xd9, 0x15, 0x43, 0x4b, - 0x37, 0x1a, 0x16, 0xff, 0x0f, 0x25, 0x68, 0x96, 0xdc, 0x18, 0x34, 0x6c, 0x34, 0xd3, 0x23, 0x80, - 0xec, 0xb2, 0xa1, 0x67, 0x37, 0xdb, 0x7b, 0x55, 0xe8, 0xf9, 0xfc, 0xc9, 0xc7, 0xd5, 0x98, 0xe0, - 0xbd, 0x85, 0x72, 0x65, 0x27, 0xd4, 0x63, 0x50, 0x80, 0x0f, 0x8a, 0x95, 0x21, 0x4e, 0xaf, 0x5c, - 0xcd, 0x7c, 0x8f, 0xea, 0xf9, 0x4f, 0xd0, 0xc8, 0x28, 0x96, 0x02, 0xbf, 0x9c, 0xcf, 0x1f, 0xdd, - 0x93, 0xc8, 0xfa, 0x40, 0x7c, 0x90, 0x34, 0x8e, 0x48, 0x6d, 0x67, 0x84, 0x45, 0xde, 0xb4, 0xa4, - 0xe3, 0x43, 0xaf, 0xd8, 0x14, 0xe6, 0x2a, 0x6e, 0x73, 0xb1, 0xe5, 0xc1, 0x11, 0x52, 0xd8, 0x8b, - 0xfc, 0x72, 0x45, 0xb5, 0xb8, 0x1b, 0x61, 0x60, 0xa5, 0x01, 0x86, 0x35, 0x77, 0xe4, 0xf9, 0x9e, - 0xf4, 0x47, 0xa4, 0x15, 0x7d, 0x4d, 0x98, 0x72, 0xab, 0x9b, 0x17, 0xde, 0x76, 0xfc, 0x2e, 0x71, - 0x20, 0x60, 0xec, 0x94, 0x16, 0x0a, 0x41, 0x6f, 0x8a, 0x60, 0xba, 0xb4, 0x75, 0xb1, 0x0a, 0x9e, - 0xd7, 0x86, 0x41, 0x39, 0xe4, 0xb2, 0x6a, 0xd2, 0x48, 0x45, 0x4e, 0xb3, 0x9a, 0x67, 0x3d, 0x6d, - 0x20, 0xe7, 0x78, 0x3b, 0xd1, 0x59, 0x6c, 0x15, 0x63, 0x3f, 0x72, 0x44, 0x13, 0xa4, 0x39, 0x19, - 0x1e, 0x51, 0x4a, 0x6f, 0x5a, 0xbd, 0xbe, 0x1d, 0x93, 0x37, 0xde, 0x7f, 0x2b, 0x9e, 0x82, 0x46, - 0xe7, 0x9a, 0x3e, 0xac, 0x10, 0xbb, 0xd4, 0xce, 0x85, 0x06, 0xf0, 0xeb, 0x12, 0xa0, 0x39, 0x9f, - 0xe3, 0x09, 0xdf, 0x44, 0xd0, 0x46, 0xb0, 0xb8, 0x23, 0xc2, 0x1b, 0xb0, 0x3a, 0xe5, 0x40, 0xfb, - 0x04, 0xdb, 0x77, 0xad, 0xdd, 0xcf, 0x08, 0x30, 0x67, 0xf0, 0xd0, 0x0a, 0x84, 0x99, 0x35, 0xed, - 0xa2, 0xae, 0x3d, 0x94, 0x7e, 0xca, 0xac, 0x6f, 0xde, 0xe9, 0xb2, 0x71, 0x02, 0xbc, 0xfa, 0x0c, - 0xa5, 0x7f, 0xcb, 0x45, 0x31, 0x27, 0x47, 0xa9, 0x00, 0xf3, 0x7e, 0x25, 0x61, 0x60, 0xb2, 0xba, - 0x92, 0xf6, 0xb6, 0xdc, 0xfa, 0x20, 0xe8, 0xbe, 0x25, 0x8f, 0xf2, 0x42, 0x06, 0x95, 0xf0, 0x6f, - 0x09, 0x11, 0x04, 0x09, 0x9d, 0x51, 0xba, 0xeb, 0xa0, 0x71, 0xf5, 0x78, 0xe5, 0x4e, 0x0c, 0x86, - 0xfe, 0x81, 0x12, 0x86, 0xbe, 0x72, 0x0b, 0x5f, 0x82, 0x57, 0x8c, 0x55, 0x09, 0xe2, 0xaa, 0xde, - 0x37, 0x36, 0x1e, 0x4c, 0x0c, 0x9a, 0xfb, 0x2b, 0x00, 0x0e, 0x62, 0xe8, 0x28, 0xa1, 0x79, 0xa3, - 0x5b, 0x41, 0xf0, 0xa1, 0x70, 0xce, 0x66, 0x11, 0x33, 0x1e, 0x64, 0xf5, 0xe9, 0xa0, 0x24, 0x6b, - 0x0d, 0x14, 0x70, 0xdb, 0x9b, 0x18, 0x16, 0x27, 0x48, 0x6f, 0x0e, 0xe4, 0xf1, 0xab, 0x64, 0xeb, - 0x5c, 0xe6, 0x5e, 0xcf, 0x42, 0x63, 0xad, 0xe9, 0xa6, 0xb3, 0x5b, 0xab, 0x40, 0x07, 0x36, 0xca, - 0x93, 0xac, 0x4c, 0x33, 0x1e, 0x9c, 0x1f, 0x4a, 0x18, 0xc8, 0xed, 0x58, 0x1f, 0x00, 0xf2, 0x1c, - 0x4f, 0x4c, 0xc1, 0x27, 0x1e, 0x16, 0xb1, 0xa3, 0xba, 0xa7, 0x3a, 0x4a, 0x00, 0xd1, 0xc0, 0x78, - 0x8e, 0x8f, 0x9e, 0xce, 0xb7, 0x62, 0xbc, 0xc4, 0xb9, 0x70, 0x08, 0xcd, 0x1a, 0x99, 0x3b, 0xeb, - 0x12, 0xb2, 0x73, 0x08, 0x40, 0xe3, 0x16, 0x23, 0xa6, 0xfa, 0xfa, 0x76, 0xb2, 0xa0, 0x41, 0x52, - 0x0e, 0xdd, 0x0e, 0xbe, 0xb1, 0x34, 0xd6, 0x57, 0xe6, 0x27, 0xff, 0x60, 0x1c, 0x0c, 0x72, 0x77, - 0xb5, 0xf4, 0xe2, 0x6d, 0xf0, 0xf3, 0xa9, 0x27, 0x9e, 0xea, 0x58, 0xfc, 0x8d, 0xe2, 0x57, 0x14, - 0x26, 0x74, 0xa0, 0x6c, 0x49, 0x2a, 0xd3, 0x3b, 0xfe, 0xaa, 0x11, 0x58, 0x30, 0x6e, 0x0b, 0xb9, - 0xd8, 0x79, 0x13, 0xd2, 0x23, 0xac, 0x19, 0x30, 0xaa, 0xff, 0xa1, 0xda, 0x06, 0x78, 0x82, 0xf2, - 0x1b, 0xd4, 0xc2, 0x3c, 0xad, 0xc2, 0x2a, 0xba, 0x26, 0x06, 0x40, 0x61, 0xe4, 0x77, 0x9f, 0x83, - 0x37, 0x1b, 0xf3, 0x1b, 0x6f, 0x88, 0x62, 0xc5, 0xf7, 0x05, 0x41, 0x4c, 0xb2, 0x5c, 0x10, 0x14, - 0x54, 0x7c, 0x77, 0x36, 0xcf, 0x89, 0x58, 0x72, 0xe7, 0x3a, 0xf8, 0x88, 0xe1, 0x61, 0x89, 0x42, - 0xc7, 0x6c, 0x5d, 0xbd, 0x7f, 0xe3, 0x45, 0xc2, 0x34, 0x1b, 0xe7, 0x0b, 0x4e, 0xb1, 0x9c, 0x07, - 0xe0, 0x29, 0xe1, 0x95, 0x3c, 0x7b, 0x8a, 0x59, 0x06, 0xa7, 0x3f, 0x18, 0x44, 0x47, 0x83, 0xbe, - 0x30, 0x73, 0xa5, 0x93, 0xcf, 0xfa, 0xea, 0xc4, 0xf7, 0x7c, 0x98, 0xbf, 0x04, 0x53, 0x9e, 0x47, - 0x55, 0xc6, 0x1d, 0xa5, 0xaf, 0x8f, 0x0c, 0xd8, 0x7f, 0xcc, 0x6f, 0x71, 0x00, 0x5c, 0x9b, 0x0f, - 0x68, 0x51, 0xf5, 0x47, 0x5c, 0x90, 0x0b, 0x10, 0xb8, 0x4c, 0x08, 0x17, 0x0b, 0xc0, 0xcb, 0x97, - 0xcc, 0xb6, 0xba, 0xd9, 0xe7, 0x9d, 0xf6, 0x95, 0xbd, 0x07, 0xe3, 0xd7, 0x36, 0xd3, 0x47, 0x0c, - 0xb6, 0x87, 0x2a, 0xa6, 0x3c, 0x1f, 0x80, 0x3d, 0x4e, 0xcd, 0xee, 0xc8, 0xe1, 0x36, 0xde, 0x36, - 0x3d, 0xdb, 0x24, 0x77, 0x96, 0xf1, 0x7c, 0x9a, 0x52, 0xc6, 0xfc, 0x6e, 0x4c, 0x2b, 0x1f, 0x76, - 0x82, 0xcc, 0xd2, 0x3e, 0xf2, 0xd6, 0xe5, 0xb1, 0x1f, 0x3f, 0x9e, 0xb5, 0xcc, 0x51, 0xea, 0x80, - 0x8e, 0xe7, 0x27, 0xc4, 0x65, 0xe5, 0x2c, 0x62, 0xd1, 0x23, 0xd5, 0x9b, 0x97, 0x0f, 0xb3, 0xe4, - 0x15, 0xbf, 0xa6, 0xdc, 0x25, 0x89, 0x04, 0xef, 0xe2, 0xeb, 0x03, 0xe3, 0x70, 0xf7, 0x97, 0x02, - 0xe3, 0x43, 0x5c, 0x8e, 0xfb, 0xa0, 0x1c, 0x1c, 0x34, 0x0c, 0x68, 0x49, 0x8b, 0x69, 0x3e, 0xcb, - 0x0e, 0xee, 0xad, 0x98, 0x0c, 0xfd, 0xee, 0x31, 0x56, 0x8b, 0x86, 0x4d, 0x27, 0x14, 0x50, 0x5d, - 0x1c, 0x39, 0xf3, 0xf9, 0xc9, 0x88, 0x7d, 0x01, 0x14, 0x7b, 0xbb, 0x8c, 0xa2, 0xd2, 0xab, 0x53, - 0xfb, 0x5d, 0xe4, 0xd2, 0x2a, 0x0a, 0x31, 0xce, 0xd7, 0xb5, 0xab, 0x59, 0x95, 0x18, 0x64, 0x83, - 0xe2, 0x42, 0x3c, 0x49, 0x7e, 0x1d, 0x73, 0x96, 0xd4, 0xa4, 0x63, 0x9c, 0x3c, 0xe5, 0x43, 0xef, - 0x8f, 0x92, 0xc9, 0xc6, 0xc4, 0xc2, 0x3e, 0xf4, 0xcd, 0xe9, 0x4b, 0x3a, 0xc4, 0x75, 0xa3, 0x2f, - 0x50, 0x27, 0xc1, 0x99, 0xfe, 0x3f, 0x58, 0xa6, 0x7b, 0xf0, 0xac, 0x50, 0xed, 0x0a, 0xb3, 0xcd, - 0x43, 0x96, 0x85, 0x16, 0x6c, 0x64, 0xaf, 0x94, 0xb2, 0xa3, 0x1f, 0xbe, 0x48, 0x8d, 0x77, 0xa6, - 0x8d, 0x0a, 0x28, 0x87, 0x27, 0x29, 0x7d, 0x1c, 0x32, 0xd7, 0x3d, 0x2e, 0x3f, 0x68, 0x07, 0x55, - 0x33, 0xcc, 0x09, 0x40, 0xfb, 0xc8, 0x76, 0xd9, 0x1e, 0x7f, 0x63, 0xec, 0x05, 0xfe, 0x92, 0xd5, - 0x50, 0x5e, 0x5c, 0xc4, 0xd3, 0xb7, 0x0e, 0xb2, 0xc5, 0x91, 0x34, 0x80, 0xc9, 0x4d, 0x1b, 0x12, - 0xde, 0xdf, 0x00, 0x30, 0x10, 0x92, 0xff, 0xc8, 0x67, 0xd6, 0xe2, 0x36, 0x86, 0x0b, 0x3e, 0xab, - 0xd6, 0x1a, 0x60, 0x94, 0x64, 0x55, 0xaa, 0x7c, 0xca, 0x85, 0x59, 0x2b, 0x3a, 0x10, 0x5a, 0xcc, - 0x60, 0x34, 0xfd, 0x61, 0xa9, 0x11, 0xd2, 0xc3, 0x2f, 0x7f, 0x60, 0xe3, 0x64, 0x74, 0x5b, 0x02, - 0x65, 0x81, 0x64, 0xff, 0xe4, 0x9d, 0xec, 0x07, 0x18, 0xc1, 0x76, 0x76, 0xea, 0x86, 0x87, 0x15, - 0xba, 0x45, 0xe6, 0xa5, 0x50, 0x0f, 0x49, 0x51, 0x1b, 0x61, 0x3c, 0x62, 0xa4, 0xe5, 0x1c, 0xd2, - 0xf8, 0xd9, 0x78, 0x75, 0xe2, 0xbd, 0xf5, 0xa0, 0x3a, 0xff, 0x03, 0xde, 0x38, 0xc9, 0xc6, 0x69, - 0xc1, 0x5c, 0x8b, 0x1e, 0x89, 0x65, 0x4c, 0xc8, 0x9b, 0x49, 0x29, 0xad, 0x85, 0x1b, 0xa5, 0xf5, - 0x70, 0xed, 0x8f, 0x53, 0x3b, 0x58, 0xdf, 0x31, 0x75, 0x19, 0x4b, 0x29, 0xba, 0xa2, 0xb6, 0xda, - 0xdc, 0xcf, 0x38, 0x87, 0x8a, 0xb9, 0x34, 0x95, 0x99, 0x54, 0x1c, 0x73, 0x73, 0x87, 0xca, 0x64, - 0xcc, 0xaa, 0x8d, 0x79, 0x34, 0x37, 0x84, 0x90, 0xe3, 0x30, 0x6b, 0xcb, 0x95, 0xe9, 0x52, 0x13, - 0x3d, 0x4e, 0x12, 0xab, 0xb2, 0x5f, 0x50, 0x32, 0x38, 0x23, 0xb2, 0xfe, 0xb4, 0x93, 0xa8, 0x24, - 0xce, 0x96, 0x23, 0x44, 0x78, 0x74, 0x28, 0xea, 0x5a, 0x89, 0x81, 0x12, 0x2a, 0x4e, 0x4a, 0x40, - 0xf9, 0xcf, 0x79, 0x33, 0xdc, 0xe4, 0x22, 0x5b, 0x3a, 0xd9, 0x0f, 0xab, 0xe8, 0xa2, 0x81, 0xfb, - 0x7b, 0x69, 0xc2, 0x64, 0xb0, 0x92, 0x9a, 0xa8, 0x7b, 0x12, 0x8c, 0xf8, 0x16, 0xd2, 0x97, 0x8c, - 0xca, 0xf2, 0x8b, 0xdf, 0x0c, 0x19, 0xac, 0x40, 0xfb, 0x9c, 0x24, 0xa4, 0x9f, 0x5c, 0xda, 0xf5, - 0x18, 0x92, 0xcb, 0x72, 0xac, 0x3b, 0xad, 0x21, 0x15, 0xe2, 0x6c, 0x74, 0xc2, 0xda, 0x61, 0x54, - 0x98, 0xb8, 0x90, 0x52, 0x5d, 0x6f, 0x7c, 0x2f, 0xdd, 0x1a, 0x0e, 0xd5, 0x7b, 0x5f, 0xa6, 0xe1, - 0x2a, 0x27, 0x85, 0x23, 0x24, 0x6e, 0x6b, 0xf0, 0x1c, 0xac, 0x53, 0x8f, 0x02, 0xe4, 0x62, 0x80, - 0xc1, 0x20, 0x04, 0xb5, 0xa1, 0x9e, 0xac, 0x25, 0x0b, 0x9f, 0x75, 0x88, 0x3d, 0x23, 0x49, 0x8d, - 0x2b, 0x68, 0xde, 0x02, 0xb5, 0x5a, 0x36, 0x04, 0xa9, 0x15, 0x05, 0x42, 0x34, 0x2a, 0x92, 0xa1, - 0x6e, 0xab, 0x22, 0x7f, 0x1d, 0xd6, 0xea, 0xd8, 0x1e, 0x6d, 0x22, 0xeb, 0xac, 0xae, 0x5a, 0xcf, - 0x7c, 0xd0, 0xd6, 0x51, 0x6f, 0x83, 0xc0, 0xd7, 0xbd, 0xb4, 0x39, 0x08, 0xc8, 0x4f, 0xdd, 0x85, - 0xa8, 0x86, 0xed, 0x9e, 0x33, 0x64, 0xa9, 0xa7, 0x76, 0x43, 0x1a, 0x3f, 0x9f, 0x86, 0x0e, 0x45, - 0x82, 0xfa, 0xa7, 0x61, 0xb1, 0xef, 0x9e, 0x7f, 0xc6, 0x31, 0xa8, 0x25, 0x77, 0x71, 0x85, 0x88, - 0xd1, 0x57, 0xbf, 0xb7, 0xed, 0xef, 0x77, 0xfc, 0x36, 0xb0, 0x3a, 0xc8, 0x9a, 0xdc, 0x0c, 0x5e, - 0x12, 0x44, 0x12, 0x9e, 0x2b, 0x77, 0xaf, 0xf0, 0x60, 0xd5, 0xdd, 0x04, 0x78, 0xb2, 0x43, 0x4e, - 0xdb, 0xb8, 0x5c, 0xa0, 0x9a, 0x1c, 0x91, 0xa8, 0x57, 0xa8, 0xed, 0xf7, 0x07, 0x87, 0xcc, 0x2e, - 0xd8, 0x3a, 0x3f, 0xec, 0x03, 0xe8, 0x4d, 0xd8, 0x21, 0xd6, 0xb5, 0xf6, 0x35, 0x76, 0x6e, 0x27, - 0xed, 0x0f, 0x4c, 0x14, 0x6a, 0xd3, 0xee, 0x29, 0x8a, 0x2a, 0x36, 0x2f, 0x90, 0xf6, 0x4e, 0xa4, - 0x30, 0xda, 0x93, 0x89, 0x8d, 0x0d, 0xb0, 0xff, 0x39, 0x4a, 0x9d, 0x62, 0x07, 0xa1, 0x78, 0xdd, - 0x4a, 0x80, 0x0b, 0x8d, 0x47, 0xf0, 0x64, 0x03, 0x01, 0x04, 0x82, 0x19, 0x13, 0x55, 0x07, 0xeb, - 0xe5, 0xee, 0xaf, 0xf5, 0xf9, 0x0c, 0x43, 0x85, 0x52, 0xf4, 0x2f, 0xcc, 0x13, 0xc3, 0x42, 0x8b, - 0x86, 0x24, 0x2d, 0x67, 0x59, 0x58, 0x3a, 0x39, 0xca, 0xa4, 0x4d, 0x75, 0xd9, 0xbf, 0x94, 0x73, - 0x41, 0xa4, 0xdf, 0x78, 0x4c, 0x10, 0xd9, 0x26, 0x26, 0x02, 0xef, 0x44, 0xe5, 0xc8, 0xb6, 0xb9, - 0xd0, 0x68, 0x6f, 0x8d, 0xd5, 0xb2, 0x7e, 0x93, 0x6e, 0x70, 0xf7, 0x65, 0x15, 0x66, 0xfe, 0xf9, - 0x08, 0xb7, 0xed, 0xde, 0x1f, 0x0d, 0x8b, 0x8c, 0x15, 0xc0, 0x99, 0xfe, 0xfb, 0xd8, 0xb4, 0xe3, - 0x42, 0xde, 0x4a, 0x32, 0x46, 0x45, 0xf1, 0x6c, 0x43, 0xe7, 0xb1, 0x26, 0x76, 0xf2, 0x96, 0xcf, - 0x0a, 0x95, 0x22, 0x0e, 0x6e, 0xc9, 0xa3, 0xba, 0x40, 0x9c, 0x33, 0xd7, 0x97, 0xd7, 0xe5, 0xea, - 0xe7, 0x87, 0xbd, 0x16, 0x72, 0xa5, 0x4a, 0x0c, 0x21, 0x18, 0x3c, 0xc5, 0x9d, 0xc3, 0x83, 0xdf, - 0xb4, 0x48, 0xcb, 0xa7, 0xdc, 0xa0, 0x31, 0x12, 0x1f, 0xde, 0xbc, 0x89, 0xc5, 0x02, 0x72, 0xce, - 0x5f, 0x25, 0x3a, 0x47, 0x11, 0xec, 0xc6, 0x78, 0x13, 0x33, 0x89, 0x62, 0x53, 0xd9, 0x15, 0xf8, - 0x00, 0x34, 0x6c, 0x52, 0xa8, 0x4b, 0xb1, 0x4d, 0x25, 0x99, 0xb5, 0x9c, 0xdc, 0x0c, 0xe2, 0x7e, - 0x2e, 0x49, 0x3c, 0xae, 0x61, 0xd4, 0xef, 0x7c, 0x46, 0xc5, 0xf7, 0x79, 0x62, 0x5d, 0x0c, 0x20, - 0x13, 0x12, 0x12, 0xe7, 0xee, 0x1e, 0x19, 0x8b, 0x8c, 0x44, 0x1d, 0x8c, 0xa6, 0x21, 0x4a, 0x53, - 0x20, 0xd4, 0xc3, 0xc9, 0x04, 0xeb, 0xc3, 0x74, 0x1b, 0xfa, 0x83, 0xf2, 0x2d, 0x89, 0x64, 0xfb, - 0x94, 0x6a, 0xc8, 0x4d, 0x5b, 0xd4, 0xa7, 0x35, 0xf8, 0x82, 0xa4, 0x66, 0xfc, 0xae, 0x53, 0xce, - 0x55, 0x8e, 0xca, 0xb7, 0x90, 0xd4, 0xd5, 0x75, 0x4f, 0xf2, 0xb9, 0x49, 0xb5, 0x0b, 0x66, 0x79, - 0x48, 0x5b, 0xb2, 0xf8, 0x96, 0x95, 0x96, 0x3f, 0x43, 0xfc, 0xdc, 0x1e, 0xc1, 0xb4, 0x83, 0xb3, - 0x60, 0x5a, 0x0b, 0x09, 0x49, 0x50, 0x45, 0x54, 0x5f, 0x7b, 0xc5, 0xe3, 0x48, 0xfd, 0xc1, 0x99, - 0xef, 0xd9, 0x5a, 0x50, 0xb5, 0xe3, 0x7a, 0x2c, 0x98, 0xce, 0x43, 0x95, 0x62, 0x33, 0x7e, 0x0e, - 0x81, 0x73, 0xc9, 0x75, 0xc5, 0xcf, 0x5c, 0xf4, 0xd7, 0x04, 0x91, 0x69, 0x7f, 0x1c, 0x6e, 0x6d, - 0x1e, 0xcd, 0xcd, 0x55, 0x3c, 0x15, 0xd4, 0xfe, 0x30, 0xa1, 0x0c, 0x62, 0xbe, 0xde, 0xf8, 0x28, - 0x94, 0x9f, 0x23, 0xba, 0x3d, 0xaa, 0x64, 0x02, 0x92, 0xcf, 0xc9, 0x01, 0xf5, 0xa3, 0x93, 0xdc, - 0xed, 0x05, 0x3c, 0x05, 0x57, 0x77, 0x79, 0xb3, 0xc9, 0x39, 0x10, 0x25, 0x66, 0xe3, 0xdd, 0x7a, - 0xf0, 0x3f, 0x20, 0xf7, 0x65, 0x8d, 0x02, 0x42, 0x81, 0xdf, 0x68, 0x53, 0x5b, 0x94, 0x4c, 0xc4, - 0x86, 0x99, 0x75, 0x4e, 0xd0, 0xa3, 0x13, 0x75, 0xe7, 0x6a, 0xe3, 0xdb, 0x83, 0x87, 0xe1, 0xd2, - 0x73, 0x8e, 0x65, 0xb3, 0x34, 0xfe, 0x58, 0x84, 0x47, 0x78, 0x78, 0xd2, 0x22, 0x99, 0xba, 0x03, - 0x05, 0xac, 0xa2, 0xd2, 0xd1, 0x0f, 0xd5, 0x6e, 0x58, 0x07, 0x34, 0x03, 0x17, 0xb2, 0x56, 0x2d, - 0xf4, 0x85, 0xa1, 0xd2, 0xad, 0x1a, 0x89, 0x35, 0x03, 0xa8, 0x1f, 0x5c, 0x8c, 0x79, 0x35, 0x72, - 0x7f, 0xca, 0x2d, 0xc9, 0xc8, 0xd7, 0xcd, 0x05, 0x9b, 0xae, 0xc6, 0xa0, 0x37, 0x3d, 0x40, 0x67, - 0x8a, 0x4b, 0xd8, 0x1e, 0xce, 0xea, 0x35, 0x3e, 0x08, 0x3f, 0xd6, 0xb7, 0x26, 0x43, 0x61, 0xf9, - 0x38, 0xf5, 0x18, 0x44, 0xd1, 0x5a, 0x4e, 0xf0, 0xe9, 0xfa, 0x26, 0xdb, 0xce, 0x00, 0xa4, 0x6a, - 0xc0, 0xe6, 0x43, 0x97, 0x68, 0x18, 0x1b, 0x5d, 0xa1, 0xce, 0x4a, 0xf3, 0x7e, 0x47, 0xf8, 0x84, - 0x47, 0xfb, 0x89, 0x8f, 0x4c, 0x7b, 0x07, 0x6b, 0x56, 0x07, 0xab, 0x38, 0x79, 0x88, 0x91, 0xdb, - 0x5c, 0x95, 0x37, 0xf5, 0x4f, 0xc5, 0x75, 0x95, 0x93, 0x4d, 0x52, 0x68, 0x56, 0x33, 0x1e, 0x86, - 0x18, 0x4f, 0xbd, 0xda, 0x05, 0x69, 0x0f, 0x32, 0x54, 0xc1, 0x24, 0x9c, 0x74, 0x92, 0x85, 0xb6, - 0x13, 0xd5, 0x9f, 0xff, 0xaa, 0xda, 0x22, 0xea, 0x42, 0x42, 0x6e, 0xce, 0xf9, 0xed, 0x61, 0x89, - 0xd1, 0xa2, 0xe6, 0x85, 0x9b, 0x48, 0x8c, 0x12, 0xb6, 0xbd, 0x1d, 0xcd, 0xa4, 0x63, 0x55, 0xf7, - 0x8c, 0x63, 0x1f, 0x87, 0x77, 0xfc, 0xbd, 0x22, 0xe4, 0x41, 0x6d, 0x78, 0x96, 0x29, 0x29, 0xa3, - 0x07, 0x22, 0x14, 0x32, 0x28, 0xd7, 0x61, 0x55, 0xcb, 0x84, 0x3d, 0xc5, 0x20, 0x79, 0x25, 0x6e, - 0x92, 0x3d, 0x53, 0x43, 0x31, 0x23, 0x2c, 0x0f, 0x17, 0x01, 0x1b, 0xf7, 0xfd, 0xb5, 0x0b, 0xdf, - 0xa7, 0x3a, 0x74, 0xd9, 0xab, 0x49, 0x08, 0x16, 0x5c, 0x01, 0x86, 0xe8, 0xf9, 0x78, 0x70, 0xdd, - 0x02, 0x75, 0xb2, 0x32, 0xe4, 0xb7, 0xac, 0x16, 0xbe, 0x63, 0xa2, 0xdb, 0x79, 0x2f, 0x67, 0x30, - 0x74, 0x0f, 0xc2, 0xf5, 0x73, 0xe8, 0x65, 0xe0, 0xac, 0x78, 0x54, 0xac, 0xe9, 0xf7, 0xd1, 0x74, - 0x9c, 0xd6, 0xc6, 0xb2, 0x28, 0xc8, 0xfd, 0x75, 0x17, 0xdf, 0xfe, 0x36, 0x74, 0x1f, 0x69, 0xe3, - 0x69, 0x62, 0xa6, 0xe5, 0x62, 0x68, 0x6d, 0x36, 0xb5, 0xa6, 0x66, 0xc7, 0xdf, 0x8c, 0xe9, 0xb1, - 0xbe, 0x4c, 0x56, 0xb7, 0x3e, 0xae, 0x26, 0x93, 0xa6, 0xfc, 0x0c, 0x6d, 0x6e, 0xcf, 0x53, 0x06, - 0x9c, 0x9c, 0x1c, 0x1a, 0x53, 0xdb, 0xe4, 0x72, 0x3d, 0xd0, 0xb2, 0x92, 0xe5, 0x2d, 0x02, 0x3a, - 0x4d, 0x64, 0x6b, 0x2c, 0x6b, 0x28, 0x39, 0x95, 0xcd, 0xce, 0x34, 0x96, 0xf1, 0xfb, 0x11, 0x42, - 0x5e, 0x51, 0x76, 0x6c, 0xf4, 0xbf, 0xe0, 0xcf, 0x7c, 0x13, 0x43, 0x57, 0x88, 0x47, 0x9c, 0x03, - 0xbd, 0xfa, 0x0b, 0x5e, 0x85, 0xab, 0x39, 0xe2, 0xae, 0x7a, 0xa5, 0xd1, 0xa1, 0x88, 0xdf, 0xb8, - 0x03, 0x12, 0xb9, 0xfa, 0x6b, 0x8f, 0xd3, 0xd3, 0x31, 0x06, 0x4a, 0xa8, 0x61, 0x69, 0x1a, 0x6c, - 0x9a, 0x7b, 0x03, 0xea, 0x0d, 0x8f, 0x21, 0x45, 0x0f, 0x5c, 0x83, 0x40, 0xa8, 0x92, 0xbc, 0x51, - 0x31, 0xf3, 0x70, 0xaa, 0x46, 0xc6, 0x4c, 0xa7, 0x8b, 0xf3, 0xcc, 0x7d, 0x53, 0xeb, 0xd1, 0x33, - 0x83, 0x59, 0x5f, 0xe3, 0xed, 0xc6, 0x46, 0x21, 0x30, 0x3d, 0x74, 0x42, 0xef, 0x18, 0xdc, 0x55, - 0x4b, 0xe0, 0x37, 0x3a, 0x83, 0xe0, 0x94, 0x0a, 0xa2, 0x96, 0xfe, 0x06, 0x09, 0x41, 0x4a, 0xff, - 0x04, 0xc8, 0x3e, 0xd6, 0x1a, 0x02, 0x50, 0xbe, 0x43, 0xf2, 0xff, 0x36, 0xcc, 0x97, 0x0f, 0xbc, - 0x35, 0xee, 0x8c, 0x9d, 0xa6, 0xba, 0x53, 0xee, 0x5f, 0x53, 0xad, 0x82, 0xf3, 0x1d, 0x9a, 0x3a, - 0x1f, 0x71, 0x3d, 0x84, 0xc6, 0x39, 0x53, 0xee, 0xa7, 0x98, 0xbc, 0xd7, 0x20, 0xbb, 0x68, 0xd2, - 0x97, 0x66, 0x87, 0x53, 0xbc, 0x96, 0xb5, 0xbe, 0xfb, 0x51, 0x80, 0xf2, 0x82, 0x4a, 0x33, 0x8e, - 0xa7, 0x94, 0x92, 0x56, 0x2b, 0x20, 0xc1, 0xb6, 0x89, 0x0d, 0x3f, 0x29, 0xd9, 0x43, 0x31, 0x86, - 0xb0, 0x05, 0xa3, 0x6b, 0x1e, 0x2c, 0xe6, 0x71, 0xab, 0xc9, 0x41, 0x05, 0xd8, 0x77, 0x9f, 0x1d, - 0x28, 0x51, 0x33, 0xeb, 0x85, 0xcf, 0x7b, 0xf2, 0xc4, 0x83, 0xaa, 0x70, 0xb6, 0x84, 0x63, 0x4b, - 0x60, 0x79, 0xab, 0x09, 0x44, 0x1e, 0x9c, 0x82, 0x2d, 0x75, 0x09, 0x90, 0xec, 0xc6, 0x5b, 0x4b, - 0x95, 0x7f, 0x51, 0xec, 0xdd, 0xac, 0x30, 0xc8, 0x81, 0x42, 0x15, 0x2c, 0x47, 0x1d, 0xae, 0x23, - 0xb3, 0xbd, 0x7b, 0xef, 0x22, 0xee, 0xd5, 0x06, 0xad, 0x76, 0x2d, 0xf8, 0xfc, 0x26, 0xf4, 0xdb, - 0xb2, 0x3f, 0x59, 0x90, 0x32, 0x6f, 0xed, 0x94, 0x66, 0x7c, 0x51, 0x0f, 0xb6, 0x53, 0xca, 0x23, - 0xe3, 0xa4, 0x67, 0x20, 0xf0, 0x25, 0xad, 0xc4, 0x14, 0x63, 0x3b, 0x70, 0xff, 0xda, 0xd4, 0x5e, - 0xd6, 0x13, 0xaa, 0xfa, 0xed, 0xb2, 0xc0, 0x66, 0xa9, 0xb5, 0x1e, 0x0e, 0x05, 0x6f, 0x39, 0x89, - 0x1d, 0xce, 0x71, 0x71, 0x9a, 0xee, 0x0e, 0x59, 0x8c, 0x48, 0x9b, 0x81, 0x4b, 0x51, 0x21, 0xf3, - 0x07, 0x71, 0x6c, 0x90, 0xf7, 0x4c, 0xd7, 0xff, 0x22, 0xd9, 0x88, 0xaf, 0x12, 0xa7, 0xe2, 0x46, - 0xcc, 0x97, 0xbb, 0x2b, 0x0a, 0x70, 0x10, 0xc3, 0x7d, 0xeb, 0xf4, 0xe6, 0xcb, 0xa6, 0xee, 0xc4, - 0x88, 0x84, 0x49, 0xfd, 0xf8, 0x4f, 0x00, 0x9c, 0x78, 0x84, 0xc2, 0x3c, 0xfc, 0x80, 0xac, 0x87, - 0x52, 0x5c, 0xcc, 0x1f, 0x96, 0x8b, 0x86, 0x8c, 0xb2, 0x7a, 0xd6, 0xd7, 0x29, 0x1f, 0xe7, 0xb7, - 0x73, 0xef, 0xdf, 0xe3, 0xea, 0xdb, 0x8f, 0xbf, 0xe3, 0xc8, 0x58, 0xf6, 0x0e, 0xbd, 0x96, 0x1a, - 0xfb, 0xfe, 0x45, 0x8d, 0xe8, 0xf4, 0xc2, 0x80, 0xe3, 0x9c, 0x7a, 0x7e, 0x84, 0xc1, 0xac, 0x5b, - 0xf7, 0x25, 0x7e, 0x6d, 0xad, 0xac, 0x0e, 0x5e, 0x3d, 0x58, 0x75, 0x05, 0x22, 0x46, 0x8f, 0x1b, - 0x92, 0x46, 0xf6, 0xb2, 0xa9, 0x38, 0x94, 0x24, 0x5c, 0xfd, 0xbf, 0xe6, 0xf5, 0x4e, 0x6f, 0x13, - 0xe8, 0x4e, 0x75, 0x6d, 0x24, 0xa5, 0x4c, 0x89, 0x68, 0x8a, 0x38, 0xf5, 0x83, 0xff, 0x71, 0x35, - 0xa6, 0x36, 0xfb, 0xbe, 0xcb, 0x40, 0x6b, 0x96, 0xe2, 0x75, 0x7b, 0xcd, 0x11, 0x21, 0xdc, 0x6c, - 0x17, 0xae, 0x06, 0x13, 0x21, 0x1f, 0x9d, 0xdf, 0xbd, 0xde, 0x5d, 0x8f, 0xba, 0x9d, 0x0d, 0x5f, - 0x81, 0xb2, 0xcd, 0x09, 0xea, 0x0b, 0x70, 0x40, 0xbd, 0x22, 0x0d, 0xa6, 0x18, 0x04, 0x85, 0x8c, - 0xef, 0x42, 0xa2, 0xfe, 0xa3, 0x13, 0x95, 0x35, 0xa7, 0xff, 0xd6, 0x88, 0xa7, 0xcb, 0x2f, 0x07, - 0x93, 0x81, 0xbd, 0xf7, 0xaf, 0xcc, 0x78, 0xbc, 0x32, 0xfd, 0xe0, 0x48, 0xca, 0x19, 0x68, 0xdb, - 0xd8, 0xd8, 0x22, 0xe5, 0x34, 0xce, 0xcd, 0x72, 0x1b, 0x87, 0x6c, 0xc1, 0xc5, 0x46, 0xee, 0x15, - 0x85, 0xb1, 0x7b, 0xf9, 0x58, 0x2c, 0xa2, 0xcb, 0x42, 0xb5, 0x3a, 0xff, 0xeb, 0x20, 0x87, 0x66, - 0x8b, 0x55, 0x93, 0x26, 0x9a, 0x54, 0x0e, 0xc2, 0x18, 0x9f, 0xec, 0x0c, 0x5c, 0xaa, 0x13, 0x0e, - 0xfd, 0x35, 0xbc, 0xc8, 0x27, 0x90, 0x2f, 0x9d, 0x90, 0x15, 0x24, 0x5d, 0xd1, 0x04, 0x2d, 0xdb, - 0x07, 0x72, 0x1a, 0xd5, 0xc5, 0x4b, 0x62, 0xf7, 0x5e, 0x41, 0xdf, 0x2b, 0x86, 0xbf, 0xbe, 0xb8, - 0x8e, 0x75, 0x9b, 0x96, 0xbe, 0xa7, 0x49, 0xb7, 0x41, 0x69, 0xcf, 0x9e, 0x7a, 0xbd, 0xa6, 0xe9, - 0x2f, 0x80, 0x99, 0x14, 0x18, 0xff, 0xdf, 0x03, 0x65, 0x2f, 0xfd, 0xe5, 0xa1, 0x25, 0x61, 0x6c, - 0x3a, 0x8e, 0x2c, 0xdb, 0xc1, 0xd9, 0xe7, 0xa2, 0x70, 0x36, 0xd3, 0x3e, 0x18, 0x31, 0xaf, 0x84, - 0x4d, 0x37, 0x60, 0xd1, 0xd2, 0x31, 0x19, 0x63, 0x90, 0xcf, 0x4e, 0x24, 0xac, 0x86, 0x39, 0xf9, - 0xd4, 0x02, 0x1a, 0xd4, 0x0e, 0x7e, 0x11, 0x98, 0xf6, 0xc9, 0xeb, 0x86, 0x73, 0x83, 0xf7, 0x0c, - 0xc6, 0x08, 0xf8, 0x4a, 0xf4, 0x68, 0xd7, 0xbd, 0xd7, 0xe1, 0xf9, 0xe9, 0x0e, 0xfc, 0xba, 0xd4, - 0xa4, 0x14, 0x63, 0x55, 0x2a, 0xb8, 0x52, 0x93, 0x6e, 0x5e, 0x9c, 0x8f, 0x9d, 0x0d, 0x11, 0x8b, - 0x76, 0x8c, 0x06, 0x7a, 0xa5, 0x5d, 0x4f, 0xcb, 0x33, 0x5f, 0x77, 0xbb, 0x15, 0x63, 0x3a, 0x1a, - 0x11, 0xad, 0xce, 0x06, 0xc3, 0x7e, 0xbf, 0xe9, 0xa2, 0xba, 0x4d, 0x41, 0xe1, 0xc6, 0x1e, 0x10, - 0x60, 0x40, 0x91, 0x71, 0xbf, 0x8a, 0xb3, 0x1a, 0xaf, 0x7a, 0xea, 0x65, 0x7e, 0xca, 0x2b, 0x75, - 0xa6, 0x9c, 0x5a, 0x9a, 0x5d, 0x8c, 0x0e, 0x03, 0xae, 0x65, 0x6a, 0x33, 0xe8, 0x3d, 0x34, 0x8d, - 0x21, 0x51, 0x86, 0xfc, 0x57, 0x4f, 0xda, 0xc1, 0xb4, 0x68, 0x99, 0xc1, 0x0a, 0xfe, 0x82, 0x86, - 0x94, 0x90, 0x8e, 0xc7, 0x56, 0x49, 0xf3, 0xf2, 0x53, 0x4a, 0x45, 0x6a, 0x7d, 0x61, 0x5c, 0x1c, - 0xe0, 0xb7, 0xb0, 0x56, 0x63, 0x28, 0xac, 0x5a, 0x26, 0x6e, 0x91, 0x1e, 0x6e, 0x2b, 0x0a, 0x1b, - 0xe9, 0x77, 0xf8, 0x23, 0x4d, 0xd0, 0xb9, 0x1c, 0x69, 0xdc, 0xc5, 0x7f, 0x61, 0x08, 0xf1, 0x90, - 0xaf, 0xab, 0xb0, 0xd9, 0x46, 0xad, 0x06, 0x36, 0xc5, 0x39, 0x8c, 0x65, 0x2d, 0xe1, 0x0f, 0x2a, - 0x43, 0x9d, 0x6b, 0x0c, 0x40, 0xb9, 0x28, 0xfb, 0xd1, 0x1c, 0x8d, 0x32, 0xe5, 0x8a, 0xb9, 0x9c, - 0x0c, 0x35, 0x53, 0x8f, 0x16, 0xc1, 0x9f, 0xbc, 0x1d, 0x15, 0x05, 0xec, 0x63, 0x64, 0x1a, 0xeb, - 0xed, 0xbb, 0xd6, 0xf6, 0x2f, 0x3b, 0xf2, 0x77, 0x85, 0x3b, 0x44, 0x6e, 0x2a, 0x88, 0xff, 0xe1, - 0x81, 0xc6, 0xc1, 0x93, 0xe2, 0x69, 0x8b, 0xe9, 0x02, 0x2b, 0xb9, 0x6e, 0xa8, 0xe5, 0x30, 0x73, - 0x80, 0xb0, 0x4e, 0x92, 0x6e, 0x1f, 0x05, 0x55, 0x76, 0xa5, 0xba, 0x51, 0xf8, 0x6f, 0xd9, 0x3e, - 0xba, 0xd7, 0x2a, 0x67, 0x0f, 0x82, 0x52, 0x89, 0x25, 0x55, 0xfc, 0xab, 0x2c, 0x0c, 0x87, 0x00, - 0xc9, 0xbd, 0x1e, 0x46, 0xf3, 0xad, 0x0b, 0x44, 0x76, 0x23, 0x1f, 0x6f, 0x98, 0x73, 0x11, 0x50, - 0x1d, 0x50, 0x47, 0x9e, 0xca, 0x85, 0x1d, 0x16, 0x1e, 0x80, 0x0d, 0xc5, 0x2e, 0x0f, 0x2d, 0x94, - 0xb7, 0x76, 0x55, 0x62, 0x53, 0xcb, 0xb7, 0xe4, 0x9f, 0xb2, 0x5b, 0xed, 0x4d, 0x51, 0xf6, 0xeb, - 0x27, 0xe0, 0xaa, 0x2f, 0x8a, 0x3d, 0x23, 0x7f, 0x06, 0xa1, 0xf0, 0x21, 0x49, 0xa2, 0xf3, 0x2e, - 0x31, 0x1c, 0x93, 0xf6, 0x38, 0x86, 0x0e, 0x1c, 0x6f, 0x12, 0xb6, 0x6e, 0x1c, 0xc1, 0xbe, 0x9b, - 0x48, 0x11, 0x8b, 0x6a, 0x71, 0x14, 0x38, 0x74, 0xcd, 0x0f, 0xed, 0x5b, 0xa7, 0xae, 0x6d, 0xb1, - 0x34, 0xa6, 0xdd, 0x48, 0x01, 0x9d, 0x28, 0xa6, 0x9c, 0xde, 0xd6, 0x95, 0x27, 0x45, 0xcd, 0xdf, - 0xd8, 0x27, 0xad, 0x44, 0x48, 0x6b, 0x44, 0xe6, 0x87, 0x64, 0x60, 0xb1, 0x07, 0xd7, 0x71, 0x22, - 0x46, 0xed, 0x3a, 0x45, 0xf1, 0xd1, 0xa7, 0x82, 0xee, 0x53, 0x48, 0xd0, 0x99, 0x18, 0x56, 0x31, - 0x2b, 0x30, 0x7b, 0xbc, 0x46, 0x3e, 0xef, 0x0f, 0xff, 0xfe, 0xb7, 0xe7, 0x03, 0xa0, 0x10, 0x2e, - 0x6b, 0xbd, 0x70, 0xc5, 0x7f, 0x17, 0x46, 0x04, 0xf4, 0xc3, 0xa7, 0xad, 0x00, 0x2e, 0xb2, 0x1e, - 0x86, 0x27, 0x2c, 0x5e, 0xe1, 0x59, 0xde, 0xcf, 0x68, 0x24, 0xfb, 0xd6, 0xb6, 0x9b, 0x28, 0x01, - 0xbe, 0xf2, 0x3b, 0x5d, 0x7c, 0x9f, 0x2d, 0x3a, 0xc0, 0x42, 0xb5, 0xcf, 0x60, 0x64, 0x4d, 0x2d, - 0x3f, 0x84, 0x77, 0xa8, 0xd6, 0x61, 0xe4, 0xa0, 0x90, 0x31, 0x03, 0x3c, 0x07, 0xc7, 0xbd, 0xa7, - 0xc1, 0x76, 0x39, 0x54, 0x5c, 0xf9, 0x65, 0x69, 0xf3, 0x5e, 0xa3, 0xcc, 0xad, 0x59, 0x6d, 0x08, - 0x51, 0xdc, 0x12, 0xf8, 0x1d, 0x51, 0xf5, 0xaf, 0x0a, 0xb7, 0x52, 0x72, 0x1b, 0x1a, 0x41, 0x02, - 0x2f, 0x3a, 0x0c, 0x08, 0xf4, 0x8b, 0x32, 0x58, 0x88, 0xc6, 0x37, 0xa4, 0xca, 0x48, 0xf0, 0x69, - 0x63, 0x72, 0x9c, 0xfd, 0xac, 0x47, 0x11, 0xd0, 0x43, 0xd1, 0x66, 0x49, 0x05, 0x86, 0x8a, 0x37, - 0x58, 0xef, 0x41, 0x64, 0xfc, 0x02, 0xcd, 0xaa, 0xbb, 0x88, 0x16, 0x09, 0xac, 0x3b, 0x78, 0x71, - 0x7a, 0x49, 0x22, 0x6a, 0xd5, 0xe8, 0x39, 0xbe, 0x05, 0x00, 0x38, 0x3d, 0x5a, 0xf6, 0xcb, 0x73, - 0x6d, 0xdd, 0x15, 0xec, 0x83, 0x94, 0xe7, 0x3b, 0xc3, 0xaf, 0xd9, 0xef, 0xc7, 0xe0, 0x45, 0xbb, - 0x11, 0xf2, 0x21, 0x26, 0xef, 0xc8, 0x39, 0xe8, 0xc1, 0xcc, 0x38, 0x16, 0x83, 0x0f, 0x94, 0x75, - 0xbb, 0x7e, 0x20, 0x13, 0x07, 0x4d, 0xa4, 0x49, 0x68, 0xec, 0xd8, 0x1c, 0xd0, 0xf4, 0xa5, 0x5f, - 0xcd, 0xe6, 0x47, 0x38, 0xc4, 0x16, 0xd0, 0xb5, 0xd2, 0x9c, 0x91, 0xa3, 0xd6, 0x83, 0x9b, 0x3f, - 0x85, 0x7e, 0x70, 0x8e, 0x52, 0x94, 0x19, 0xe2, 0xa3, 0xf0, 0x9b, 0xec, 0x62, 0x7d, 0x34, 0x9f, - 0x9d, 0x12, 0xa9, 0xc6, 0x74, 0x0a, 0xc0, 0xda, 0xfd, 0x80, 0x01, 0x2f, 0x9e, 0x25, 0x03, 0x52, - 0xf7, 0x06, 0x2e, 0x59, 0x44, 0x25, 0xd7, 0x93, 0x12, 0xc4, 0x7a, 0xe7, 0xe6, 0x22, 0x78, 0xa3, - 0x31, 0x46, 0xb0, 0xcc, 0xe1, 0x28, 0xd2, 0x6e, 0x0b, 0x69, 0xc3, 0x4e, 0x66, 0x48, 0x43, 0xf5, - 0x1d, 0xc6, 0x4b, 0x2a, 0x7a, 0xd0, 0x28, 0x77, 0x4e, 0x86, 0xc5, 0x91, 0x48, 0x20, 0x87, 0xd4, - 0x28, 0x06, 0xba, 0xdd, 0xa8, 0xb7, 0x99, 0x02, 0x18, 0x7e, 0x6e, 0x42, 0x25, 0x2b, 0x08, 0xc6, - 0x35, 0x75, 0x66, 0xc6, 0xa3, 0xb6, 0x96, 0x75, 0x7d, 0x97, 0xb7, 0x44, 0x87, 0x6c, 0x74, 0x83, - 0xc8, 0x2d, 0x10, 0x4d, 0x00, 0x2d, 0xfb, 0xe9, 0x03, 0x8e, 0x1b, 0x3d, 0xba, 0x68, 0xfc, 0xdf, - 0xee, 0x80, 0x44, 0x96, 0xc9, 0x6a, 0x28, 0x30, 0xa7, 0x42, 0x76, 0x4d, 0xe6, 0xd9, 0xd1, 0xc8, - 0xea, 0x40, 0xe6, 0x44, 0xb2, 0x57, 0x7f, 0x49, 0xc9, 0x6c, 0x63, 0x2b, 0x5d, 0x90, 0x6c, 0x10, - 0xf0, 0x3a, 0x0f, 0x94, 0xe9, 0x6d, 0x3b, 0x58, 0x0c, 0x91, 0x97, 0x6a, 0x2c, 0x81, 0xa2, 0x21, - 0xef, 0xeb, 0x52, 0x3a, 0x6d, 0xd4, 0xf7, 0x0e, 0x20, 0x33, 0x90, 0xcc, 0xaf, 0x0c, 0x3f, 0x8e, - 0xf0, 0x32, 0x8f, 0x83, 0xbd, 0xbe, 0x11, 0x17, 0x24, 0xf2, 0x89, 0x7a, 0xb2, 0x06, 0xa8, 0x29, - 0x4e, 0x9e, 0x10, 0x00, 0xc7, 0x76, 0x50, 0x0b, 0xe6, 0xa3, 0xfe, 0x41, 0x8f, 0x27, 0x22, 0x71, - 0x86, 0x08, 0x36, 0x26, 0xc1, 0xeb, 0x38, 0xa7, 0x97, 0x2b, 0xd2, 0xc4, 0xf7, 0x80, 0xe2, 0xe8, - 0x4e, 0x12, 0x96, 0x86, 0x85, 0xf6, 0xa8, 0xb4, 0xb5, 0x7a, 0x68, 0x0f, 0xd1, 0x98, 0xae, 0x9c, - 0x57, 0x91, 0x6e, 0x11, 0x13, 0x8b, 0x82, 0x49, 0x61, 0xed, 0xc6, 0x87, 0x30, 0xf8, 0xf9, 0xbb, - 0x0d, 0x6a, 0x77, 0xa2, 0x40, 0x99, 0x4b, 0x0e, 0x8d, 0xdf, 0x27, 0x91, 0xee, 0x62, 0x1a, 0x41, - 0xc2, 0x31, 0x5a, 0x3b, 0x72, 0xfe, 0x3c, 0xae, 0xd1, 0x02, 0x83, 0xfe, 0x6a, 0xcf, 0x20, 0x73, - 0x95, 0xd8, 0xb6, 0x8f, 0x5c, 0xba, 0x8f, 0x7b, 0x61, 0x16, 0xb0, 0xb4, 0x03, 0x37, 0xc0, 0x1a, - 0xcf, 0x5f, 0xc2, 0x81, 0x5b, 0x4d, 0xf2, 0xfa, 0x67, 0x11, 0xa3, 0x11, 0x0c, 0x2b, 0xc3, 0x23, - 0xd5, 0x0f, 0x4c, 0xa3, 0xce, 0xc7, 0xc5, 0xb3, 0xb4, 0xf6, 0xbc, 0x77, 0xf6, 0x8a, 0xb6, 0x2d, - 0x32, 0x91, 0x45, 0x54, 0x3e, 0x20, 0x1f, 0x23, 0xfa, 0x1b, 0x8b, 0xcd, 0x42, 0x31, 0x2b, 0x33, - 0x00, 0x44, 0x54, 0x37, 0x53, 0x6e, 0xf5, 0xfd, 0x30, 0xba, 0x12, 0xa5, 0x71, 0x66, 0x8d, 0x19, - 0x09, 0xaa, 0xf2, 0x93, 0x96, 0xcb, 0x77, 0xc9, 0x60, 0x6d, 0x08, 0xc3, 0xf1, 0xcb, 0x4b, 0xb6, - 0xe5, 0xd5, 0x06, 0x1b, 0xab, 0x40, 0x70, 0x66, 0x6b, 0x9c, 0xc0, 0x35, 0x47, 0x22, 0xf2, 0x9e, - 0x93, 0x25, 0x7d, 0x93, 0x21, 0x83, 0xb9, 0xf6, 0x3b, 0x77, 0xc5, 0x75, 0x55, 0x23, 0xf4, 0x33, - 0x47, 0xfb, 0xb4, 0x3a, 0x02, 0xec, 0x5d, 0xe0, 0x52, 0xe4, 0x40, 0x6d, 0x17, 0x6c, 0x56, 0xf0, - 0x1b, 0xb8, 0xd7, 0xaf, 0xc6, 0x4c, 0xd3, 0x9b, 0x8a, 0x2a, 0x64, 0x6d, 0x63, 0xa8, 0x57, 0xaa, - 0xe4, 0x08, 0x5e, 0x6a, 0xdf, 0x77, 0x53, 0x17, 0x0f, 0x2c, 0x21, 0x51, 0x84, 0x9f, 0xe1, 0x36, - 0x17, 0x1a, 0xd7, 0xfa, 0xd1, 0x62, 0x26, 0x33, 0x89, 0xc6, 0x5f, 0x37, 0x3b, 0x6f, 0xd5, 0xfc, - 0x43, 0x09, 0xb4, 0x38, 0xf9, 0x2b, 0xd4, 0xda, 0xb3, 0x94, 0x2f, 0xe7, 0x44, 0x6a, 0xda, 0xe2, - 0xb7, 0x84, 0x2e, 0xa1, 0xa3, 0x51, 0x07, 0x85, 0x28, 0xd0, 0xff, 0x4c, 0x39, 0x05, 0x29, 0xe5, - 0xf7, 0x25, 0xb5, 0x35, 0xbc, 0x87, 0xb8, 0x15, 0x57, 0x33, 0x50, 0xe8, 0xa7, 0xb1, 0x8f, 0xff, - 0xcb, 0x15, 0x65, 0xcd, 0x38, 0x6c, 0x84, 0xa3, 0xe1, 0x9b, 0x49, 0x50, 0x41, 0x3e, 0xcc, 0xd8, - 0xdd, 0x06, 0x31, 0x2b, 0xc4, 0xa0, 0x85, 0xc9, 0x80, 0xd9, 0x0f, 0xed, 0x4e, 0x40, 0xf0, 0x5c, - 0x38, 0x12, 0x83, 0xfe, 0x41, 0x34, 0xe8, 0x9e, 0xdc, 0x21, 0x9c, 0x41, 0xbe, 0xc8, 0x7d, 0x40, - 0x91, 0x44, 0x4f, 0x0e, 0x63, 0xb7, 0x3a, 0xe3, 0xad, 0xc2, 0x6f, 0x7d, 0x85, 0xd6, 0xe3, 0x49, - 0x1a, 0x12, 0x4e, 0xac, 0x25, 0x6d, 0x1c, 0xde, 0x18, 0xdf, 0x4b, 0xaa, 0xef, 0x3a, 0xb7, 0x62, - 0x6a, 0x06, 0xb1, 0x7e, 0xb3, 0x09, 0xc5, 0x7f, 0xec, 0x9a, 0x4b, 0xe8, 0xae, 0x2a, 0xa8, 0x58, - 0x0a, 0x2e, 0xbf, 0x9d, 0x61, 0xaf, 0xa2, 0x65, 0x1c, 0xe0, 0x44, 0x8f, 0xe5, 0xad, 0x11, 0xd8, - 0xc3, 0xba, 0x66, 0x63, 0xee, 0x34, 0xbe, 0xe8, 0x31, 0xca, 0x02, 0x07, 0x98, 0x29, 0x4b, 0x1d, - 0x2d, 0xc6, 0x33, 0xd8, 0x95, 0x2c, 0x3a, 0x31, 0xb6, 0xbc, 0x2d, 0x7c, 0xbc, 0xbb, 0x86, 0xee, - 0x3e, 0xe3, 0x22, 0x34, 0x77, 0x63, 0x13, 0x76, 0x13, 0x3f, 0x2f, 0x78, 0xfa, 0x8f, 0x9e, 0x5e, - 0xa4, 0xa7, 0x91, 0x64, 0xfd, 0x4e, 0xed, 0xb2, 0x4e, 0xbd, 0x0f, 0x91, 0xa1, 0xbc, 0xf4, 0x0a, - 0xf0, 0x1e, 0xed, 0x27, 0x6e, 0x96, 0x3b, 0x64, 0x28, 0x1e, 0xac, 0x7d, 0x32, 0x8f, 0x05, 0x1b, - 0x57, 0x7c, 0xe1, 0x57, 0xea, 0x8f, 0x7b, 0x4a, 0xef, 0xb5, 0x87, 0x7e, 0x15, 0x00, 0xa1, 0x07, - 0x20, 0x95, 0xd4, 0xe7, 0x4a, 0x3d, 0x20, 0xad, 0x22, 0x1c, 0x79, 0xe7, 0xbd, 0x12, 0x73, 0xee, - 0x55, 0x61, 0x43, 0x43, 0x63, 0x84, 0x86, 0x22, 0x67, 0x84, 0x1e, 0x0e, 0x09, 0x9a, 0x78, 0x00, - 0xbb, 0xb2, 0x93, 0xb8, 0x96, 0xca, 0x75, 0xdf, 0x22, 0xdf, 0x80, 0x7d, 0xd4, 0xac, 0x18, 0x3e, - 0x9e, 0x27, 0x6d, 0xd3, 0x20, 0x45, 0x06, 0xf8, 0x42, 0xa6, 0x74, 0x95, 0x15, 0xc2, 0xf8, 0xc6, - 0x9f, 0x53, 0x89, 0xdb, 0x71, 0x0c, 0xa3, 0xbc, 0x16, 0xb1, 0x4f, 0xb8, 0x4b, 0xe4, 0x4f, 0x62, - 0xf6, 0x34, 0xef, 0x60, 0x6c, 0x3e, 0xbd, 0xeb, 0xd7, 0x65, 0x17, 0x41, 0x1d, 0x7c, 0x91, 0xb3, - 0xa1, 0x7d, 0xff, 0x41, 0xf6, 0x86, 0xfb, 0x88, 0xec, 0xa3, 0x1c, 0x32, 0x88, 0xa3, 0xef, 0xa8, - 0x1c, 0x68, 0x17, 0x92, 0x91, 0x25, 0xb3, 0x32, 0x7a, 0x91, 0xc1, 0x74, 0x43, 0xb9, 0xf8, 0x3d, - 0x07, 0xbd, 0xb9, 0xc8, 0xeb, 0x57, 0xe9, 0x05, 0x20, 0x5a, 0x0e, 0x67, 0x8e, 0xbf, 0x70, 0x7c, - 0x50, 0x0f, 0xbd, 0x47, 0x72, 0x78, 0xac, 0xc7, 0xf8, 0xea, 0xce, 0x63, 0xa9, 0x95, 0xf6, 0xcd, - 0x83, 0x96, 0xcb, 0x7a, 0xa5, 0xa8, 0xa8, 0x07, 0x43, 0x71, 0xe9, 0x34, 0x5c, 0x6d, 0xd8, 0xec, - 0x25, 0x1e, 0x95, 0x9a, 0xc6, 0x2d, 0x27, 0x48, 0x5c, 0x46, 0x8c, 0xf6, 0x9f, 0x2f, 0x4d, 0x0b, - 0xa3, 0xe9, 0x84, 0x9a, 0x43, 0xb7, 0x2b, 0xd8, 0xd2, 0x6b, 0x50, 0x67, 0x9d, 0xab, 0x61, 0xe1, - 0x08, 0xca, 0x2a, 0x0b, 0xd4, 0x9a, 0x1c, 0x03, 0xd0, 0x5e, 0xf5, 0xaf, 0xb2, 0xf8, 0x34, 0xd8, - 0x0c, 0xfc, 0xf7, 0x3a, 0x73, 0x38, 0x91, 0xe7, 0x8c, 0x67, 0x56, 0xa4, 0xa8, 0x44, 0xd6, 0xee, - 0x89, 0x06, 0x95, 0xa6, 0xf9, 0x05, 0x58, 0xd5, 0x13, 0xc6, 0x27, 0x28, 0x39, 0xa3, 0x32, 0x7b, - 0xc6, 0x61, 0xe2, 0x1e, 0x6e, 0x68, 0xd6, 0xf5, 0xd1, 0x1a, 0x68, 0x91, 0x5b, 0xa7, 0x62, 0x0a, - 0x8b, 0xe0, 0xa1, 0xa5, 0x44, 0x8c, 0x12, 0x80, 0xfa, 0x85, 0x7e, 0xd1, 0xfc, 0x21, 0x48, 0x60, - 0x59, 0xfb, 0xc5, 0x79, 0x49, 0x8f, 0xb9, 0xca, 0xc5, 0x76, 0x8d, 0xc3, 0x9e, 0xdf, 0x5e, 0x91, - 0x0a, 0x4a, 0x7a, 0x2c, 0xcd, 0x24, 0xbf, 0xcc, 0xe4, 0x6e, 0x4e, 0xd3, 0xb9, 0x5e, 0x1a, 0xc5, - 0x92, 0xf9, 0xde, 0x3a, 0xae, 0xb1, 0xb6, 0x48, 0xba, 0x46, 0xa7, 0x38, 0xa0, 0xf0, 0xe4, 0xe5, - 0x5f, 0xbc, 0xae, 0x3d, 0xda, 0xbe, 0xce, 0x70, 0xfb, 0x12, 0x67, 0x87, 0x6d, 0x55, 0xb7, 0xd5, - 0x31, 0x2a, 0xf2, 0xa8, 0x92, 0x6d, 0xd4, 0xb8, 0x54, 0x51, 0xba, 0xaf, 0x22, 0x11, 0x50, 0xe2, - 0xca, 0x48, 0x4f, 0xf4, 0x04, 0x4d, 0x47, 0x8a, 0x2c, 0xad, 0x48, 0x35, 0x5c, 0xaf, 0x44, 0x35, - 0xe6, 0xa8, 0x8c, 0x6c, 0x29, 0x04, 0x0a, 0x58, 0x3e, 0xce, 0x8c, 0x06, 0xb8, 0x21, 0x9f, 0x0c, - 0x55, 0x9c, 0x74, 0xab, 0x3a, 0x86, 0x6a, 0x37, 0x9d, 0xd5, 0xe5, 0x2e, 0x4f, 0xd0, 0xb3, 0x4b, - 0x60, 0x54, 0xcc, 0x53, 0x0b, 0xf3, 0x7f, 0xcd, 0x8c, 0xde, 0x0c, 0x7c, 0x79, 0x12, 0x95, 0x1b, - 0xdb, 0x7c, 0x65, 0x76, 0x77, 0x28, 0xb6, 0x24, 0xe9, 0x41, 0x29, 0x6e, 0xb8, 0xc4, 0x8e, 0x3b, - 0xb3, 0xaa, 0x3d, 0xc7, 0x5c, 0xb9, 0xe7, 0x2c, 0x05, 0xc2, 0x09, 0x8f, 0xc7, 0xc6, 0x65, 0x99, - 0x18, 0xd9, 0x30, 0xd9, 0x4b, 0x5f, 0x4e, 0xd5, 0xab, 0x24, 0xbf, 0x2a, 0x55, 0xbc, 0xae, 0x78, - 0x90, 0xd3, 0x3c, 0x46, 0xd6, 0xbd, 0xf3, 0x1c, 0x7b, 0xd7, 0x85, 0xf2, 0x14, 0xa4, 0xb0, 0x3b, - 0xa8, 0xc6, 0x2f, 0x02, 0x3f, 0x50, 0x6e, 0x31, 0x9c, 0x2f, 0x87, 0x3b, 0xe3, 0xcf, 0xf9, 0x9d, - 0x6c, 0xfc, 0xdb, 0x2a, 0xb5, 0x97, 0x96, 0xf3, 0x63, 0x5c, 0x02, 0x96, 0xdc, 0xd7, 0xdb, 0x56, - 0x4d, 0xee, 0x11, 0x8a, 0x22, 0x18, 0x2f, 0x8b, 0x8a, 0x71, 0xb1, 0xbf, 0x81, 0xbd, 0x64, 0x63, - 0xc4, 0x74, 0xdc, 0xa6, 0x11, 0xc8, 0x33, 0xd5, 0x74, 0xc2, 0x93, 0x2f, 0x9a, 0xdd, 0xc0, 0x6f, - 0x8f, 0xcf, 0xa6, 0x8a, 0xf4, 0x22, 0xd3, 0xa5, 0xd1, 0xbf, 0x17, 0x83, 0x53, 0x05, 0xff, 0x72, - 0x5a, 0xe2, 0x00, 0x11, 0x6b, 0x4e, 0x84, 0x1b, 0x46, 0x8b, 0x26, 0x96, 0xd5, 0x3e, 0xcf, 0x8c, - 0x76, 0x6d, 0xf3, 0x8c, 0x5f, 0x34, 0x79, 0xc0, 0x3c, 0xc8, 0xf4, 0xfc, 0xc6, 0x6a, 0xda, 0xc1, - 0x9d, 0x75, 0xd1, 0x74, 0xfa, 0x80, 0x22, 0xf9, 0x0a, 0x12, 0x20, 0x06, 0xbe, 0x5a, 0x7e, 0x96, - 0x1c, 0xe9, 0x22, 0xcc, 0xfd, 0x56, 0xf9, 0x2a, 0xf5, 0x97, 0xa8, 0x5f, 0x2e, 0xdb, 0x96, 0x8d, - 0x30, 0xbd, 0x60, 0x5b, 0x8e, 0x95, 0xea, 0xab, 0x4b, 0x45, 0xc1, 0x9d, 0xf0, 0xb2, 0x80, 0x85, - 0xbb, 0xc7, 0x64, 0xc3, 0x16, 0xcb, 0xb0, 0xc9, 0x03, 0x8b, 0x51, 0xa5, 0x6c, 0x15, 0x7d, 0x7a, - 0x5f, 0xf7, 0xb5, 0x1e, 0x4a, 0x01, 0x36, 0xf2, 0x19, 0x1f, 0x33, 0x63, 0xfe, 0x4f, 0x6d, 0xc4, - 0xd0, 0xdd, 0x19, 0xe0, 0xcf, 0xa7, 0x8c, 0xa2, 0xc1, 0x18, 0xeb, 0x88, 0x04, 0x59, 0x0b, 0x68, - 0x09, 0x84, 0x05, 0x4b, 0x85, 0x97, 0x85, 0x54, 0x89, 0x2f, 0x8c, 0xe0, 0xfc, 0x07, 0x24, 0xd3, - 0xd7, 0xb1, 0xf0, 0x90, 0x21, 0xb2, 0x4d, 0x38, 0x72, 0x59, 0x6f, 0x27, 0x25, 0x89, 0xd8, 0x86, - 0x27, 0x16, 0xab, 0x3a, 0xa1, 0x18, 0x0a, 0x54, 0xcd, 0x00, 0xbb, 0xb1, 0x9d, 0x07, 0xa1, 0x17, - 0xdb, 0xac, 0xa3, 0x51, 0x5f, 0xa8, 0x4b, 0x8a, 0xda, 0xcc, 0x8c, 0xd6, 0x7c, 0x3f, 0xe3, 0x9a, - 0xbf, 0x33, 0x94, 0xa4, 0x19, 0x52, 0xa9, 0x23, 0xc2, 0x85, 0x90, 0x44, 0x9c, 0xf3, 0x05, 0x3f, - 0xc9, 0xaf, 0xd1, 0xd6, 0x58, 0x7b, 0x2c, 0xd4, 0xac, 0x67, 0x56, 0x65, 0xe4, 0xa2, 0xb9, 0x56, - 0x7b, 0xb5, 0x66, 0xed, 0x9d, 0x1a, 0x42, 0xd0, 0x9f, 0x7b, 0x02, 0xbb, 0x22, 0xf0, 0x98, 0x20, - 0x5e, 0x2b, 0x9f, 0x5b, 0xe7, 0x99, 0xa1, 0xe8, 0x4e, 0x0b, 0xeb, 0x80, 0xde, 0xe8, 0xb6, 0xe6, - 0xdb, 0xba, 0xc2, 0xd2, 0x99, 0xb2, 0x6d, 0xdc, 0x17, 0x05, 0x63, 0x7e, 0xd4, 0x54, 0xba, 0xa6, - 0xd0, 0x0d, 0xac, 0xba, 0x64, 0x44, 0x23, 0x17, 0x2b, 0x68, 0x41, 0x2d, 0xb5, 0x2e, 0x00, 0x70, - 0xbf, 0x32, 0xfb, 0xf1, 0xb9, 0xfe, 0xd4, 0x51, 0x3e, 0xe8, 0x82, 0x61, 0x2b, 0xfc, 0x88, 0x90, - 0x1e, 0xb6, 0x1c, 0xd8, 0x2b, 0x9e, 0xfe, 0x7a, 0x08, 0xc4, 0xe2, 0x05, 0x58, 0x2f, 0x08, 0x5f, - 0x8f, 0xc1, 0x24, 0x2c, 0xb8, 0x77, 0x42, 0x63, 0xef, 0x51, 0x66, 0x51, 0x49, 0x5e, 0x5e, 0xae, - 0xd1, 0xfd, 0xc4, 0xd8, 0x3d, 0x4c, 0x37, 0x69, 0x68, 0xb1, 0x11, 0x47, 0x63, 0xef, 0x17, 0x73, - 0x61, 0x57, 0xb2, 0x81, 0xc8, 0x49, 0x8f, 0x2b, 0x0c, 0x3a, 0xf9, 0x94, 0x0c, 0x14, 0x59, 0x9e, - 0xa3, 0x6a, 0x94, 0x72, 0x0e, 0x2a, 0xea, 0xc8, 0xb9, 0x3a, 0xd0, 0x6d, 0x26, 0x7d, 0xad, 0x64, - 0x26, 0x8f, 0xd4, 0xe0, 0xed, 0x3d, 0x67, 0xc9, 0x8c, 0x6f, 0x8f, 0xd0, 0xe7, 0x4f, 0xdd, 0x56, - 0x11, 0x6b, 0x23, 0x58, 0xcf, 0xa7, 0x7f, 0xb4, 0x1e, 0x85, 0x28, 0x44, 0x50, 0xf6, 0x37, 0x72, - 0x68, 0x95, 0xf2, 0xb5, 0x3c, 0xe3, 0x07, 0xb8, 0x45, 0x85, 0x34, 0x0d, 0x6c, 0xcd, 0xa2, 0x16, - 0x20, 0x8f, 0x3f, 0x21, 0x35, 0xfa, 0xfb, 0xea, 0xb5, 0x78, 0xfb, 0x28, 0xc6, 0x2d, 0x58, 0x1a, - 0x01, 0x05, 0x57, 0x0b, 0xbc, 0xd0, 0x4e, 0xc5, 0x87, 0x70, 0x9b, 0x64, 0x3e, 0x9f, 0xdc, 0x5b, - 0xaa, 0x4e, 0x42, 0x60, 0x72, 0x56, 0x6e, 0x50, 0x43, 0x26, 0x7d, 0x89, 0xb5, 0x0e, 0xbd, 0x43, - 0x93, 0x6b, 0x9f, 0xcc, 0x24, 0xa2, 0x77, 0x95, 0x36, 0xe4, 0xdf, 0x67, 0xe6, 0x5b, 0x1f, 0xed, - 0xc6, 0x27, 0x70, 0x58, 0x0a, 0x7f, 0x23, 0xb4, 0xd0, 0x28, 0x52, 0xb4, 0x55, 0x2d, 0x4b, 0xeb, - 0x1a, 0xc6, 0xdf, 0xdb, 0xf7, 0x2a, 0xa8, 0xb2, 0xfa, 0x27, 0xa8, 0x76, 0xe3, 0x5f, 0xa9, 0x3b, - 0xf0, 0x0a, 0xb0, 0xde, 0x87, 0x08, 0xbb, 0x8b, 0x3e, 0xd2, 0xf3, 0x72, 0xac, 0xf9, 0x15, 0x6d, - 0x94, 0xbe, 0xe4, 0xd4, 0x65, 0xb2, 0x9e, 0xe1, 0xf9, 0x1c, 0x92, 0xf8, 0x15, 0xa5, 0x4b, 0x58, - 0x84, 0x8b, 0xfd, 0xbb, 0x25, 0x42, 0xc3, 0xc0, 0xb3, 0xaa, 0x30, 0x54, 0x09, 0x7d, 0x41, 0x26, - 0xdb, 0x04, 0xc4, 0xaa, 0xa2, 0x85, 0x09, 0xa9, 0x8a, 0x84, 0x8e, 0x8c, 0x01, 0x7d, 0xd7, 0x7b, - 0xdb, 0xf7, 0x59, 0x92, 0x3e, 0x73, 0xd1, 0x4d, 0x99, 0xf3, 0xea, 0xe4, 0xbc, 0x51, 0xb3, 0x8e, - 0xa5, 0x4b, 0x00, 0xe2, 0x24, 0x41, 0x65, 0x61, 0x8b, 0xab, 0x24, 0x5f, 0x91, 0xf2, 0x83, 0xf2, - 0xfd, 0x5d, 0x88, 0xb1, 0x31, 0x1a, 0x4d, 0x62, 0x50, 0xac, 0x93, 0x00, 0x6c, 0x9a, 0x8d, 0xc8, - 0xe8, 0x83, 0xff, 0x56, 0x3f, 0x08, 0xe0, 0x73, 0xb9, 0x36, 0xfc, 0xd8, 0x4e, 0x2f, 0x69, 0x59, - 0xd2, 0x47, 0x84, 0x1c, 0x84, 0xe7, 0xbc, 0x46, 0xce, 0x01, 0x9b, 0xdf, 0xd2, 0x32, 0xf2, 0x96, - 0x1b, 0x90, 0xc7, 0x3a, 0x49, 0x2f, 0x90, 0x7d, 0x74, 0x33, 0x5f, 0x50, 0x50, 0xfa, 0x70, 0xb6, - 0x70, 0x01, 0xc5, 0x09, 0x21, 0xf3, 0x36, 0x3d, 0xe8, 0x8a, 0x07, 0x1a, 0x8e, 0x47, 0x92, 0x4f, - 0x96, 0x61, 0x2d, 0xf6, 0x86, 0x8f, 0xe3, 0x1c, 0x88, 0x0a, 0xc4, 0xd7, 0xd0, 0xe5, 0xb1, 0x3d, - 0x1a, 0x5f, 0xb1, 0x80, 0x0f, 0x22, 0x64, 0xd8, 0x55, 0xec, 0x7f, 0xe1, 0xc8, 0x36, 0x53, 0x5d, - 0x01, 0xef, 0x50, 0xea, 0xe5, 0xaf, 0x58, 0x56, 0x26, 0x1d, 0xdc, 0xb6, 0xac, 0xbc, 0xba, 0x7d, - 0x62, 0x09, 0xb9, 0x36, 0x52, 0x09, 0x99, 0xd9, 0x5b, 0x7e, 0x57, 0x10, 0x2d, 0x6e, 0x10, 0x0a, - 0xd7, 0x16, 0x34, 0xd3, 0x83, 0xe9, 0xb9, 0x76, 0xac, 0x5f, 0xef, 0x7a, 0x78, 0xb8, 0x2d, 0x07, - 0xa1, 0x82, 0x9f, 0x2c, 0x50, 0xba, 0xb7, 0x87, 0xbe, 0x94, 0x4f, 0xf8, 0x3b, 0x21, 0xbf, 0xee, - 0x41, 0x85, 0xb8, 0x48, 0xc0, 0xb9, 0x7a, 0x2f, 0x8c, 0xfc, 0x1c, 0xfc, 0x7d, 0x19, 0xee, 0x94, - 0xb1, 0x16, 0xd6, 0xf0, 0xae, 0x67, 0x56, 0x2c, 0x55, 0x7c, 0xce, 0x08, 0xf4, 0xe3, 0xd2, 0x21, - 0xa0, 0x5d, 0xc7, 0x11, 0x3c, 0x26, 0xd3, 0x2b, 0xae, 0xc3, 0x98, 0xe6, 0x02, 0x5e, 0x7f, 0x69, - 0x80, 0x8f, 0xbb, 0xf6, 0x0d, 0x0a, 0x80, 0x26, 0x19, 0x76, 0x82, 0xae, 0xcd, 0xfa, 0xe3, 0x67, - 0x68, 0x3c, 0x2c, 0x1b, 0x94, 0x85, 0x32, 0xb3, 0xc2, 0xf3, 0xd7, 0xbd, 0xbd, 0xb5, 0x88, 0xd1, - 0xf5, 0x9f, 0xa2, 0x42, 0x69, 0x6f, 0xf7, 0xd8, 0x84, 0xc3, 0x60, 0x76, 0xce, 0x1c, 0x8c, 0x73, - 0xf4, 0x7e, 0x37, 0xe2, 0x5e, 0xd5, 0x47, 0x09, 0x13, 0x0d, 0x3e, 0xb1, 0xb4, 0x1f, 0x9d, 0x58, - 0xc1, 0x12, 0xb7, 0x94, 0xd5, 0xf1, 0x89, 0x62, 0x86, 0x79, 0x28, 0x7e, 0x2a, 0xd2, 0xfc, 0xee, - 0x6f, 0xc4, 0xd8, 0xe4, 0xa1, 0xfa, 0x82, 0xc0, 0x6a, 0x49, 0x88, 0xdd, 0xd1, 0xdb, 0x9c, 0xdd, - 0x09, 0x22, 0x57, 0x4f, 0x05, 0x48, 0x51, 0x0c, 0xb9, 0x23, 0xbe, 0xbe, 0x43, 0x6e, 0xe2, 0x7c, - 0x03, 0xfc, 0x05, 0xe6, 0x60, 0x79, 0x05, 0x73, 0xca, 0xcb, 0x30, 0xe8, 0x51, 0x41, 0xf2, 0x5b, - 0x39, 0x64, 0xef, 0x8a, 0x0b, 0x3a, 0x1f, 0xfa, 0x55, 0x01, 0xa0, 0x94, 0xf7, 0xc3, 0x7d, 0x83, - 0x65, 0x84, 0x23, 0xb8, 0x6a, 0x22, 0x75, 0x94, 0x3f, 0x01, 0x06, 0x3b, 0x12, 0x59, 0x07, 0xe5, - 0x18, 0x75, 0xe7, 0x8f, 0x33, 0xff, 0xbd, 0x3a, 0x1a, 0x52, 0xb3, 0x4b, 0x7f, 0x15, 0xcf, 0x6b, - 0x66, 0xa7, 0x2b, 0x1d, 0xae, 0x8b, 0x24, 0xa2, 0x8f, 0xfa, 0x16, 0xb6, 0x04, 0xb1, 0x4e, 0x50, - 0xab, 0xc6, 0x0f, 0xa1, 0xaf, 0xee, 0x4d, 0x5c, 0xe2, 0x88, 0xbb, 0xb7, 0x77, 0xf4, 0x7a, 0xe0, - 0x2b, 0x32, 0x56, 0x63, 0xe9, 0x24, 0xeb, 0x6a, 0xa8, 0x81, 0xb9, 0x93, 0x1f, 0x31, 0xd1, 0x59, - 0x55, 0xf3, 0xdb, 0xb4, 0x5a, 0xf1, 0x80, 0x77, 0xaf, 0x4f, 0xdb, 0x77, 0x3c, 0xbf, 0xd5, 0x54, - 0xb2, 0x25, 0xfa, 0xb1, 0xf3, 0x5f, 0x21, 0x7d, 0xd6, 0x22, 0x68, 0x76, 0x78, 0xd1, 0xce, 0xc4, - 0x6d, 0xdf, 0x79, 0x1a, 0x9d, 0x40, 0x4d, 0x5c, 0xba, 0xd1, 0x04, 0x32, 0xee, 0x52, 0x6b, 0x1f, - 0x4f, 0x01, 0xcf, 0x8f, 0xd3, 0x3b, 0x22, 0xc1, 0x9f, 0xdc, 0x21, 0xbd, 0xba, 0xc8, 0x03, 0x0c, - 0x65, 0xee, 0x63, 0xaa, 0x80, 0xba, 0x43, 0xf6, 0xd1, 0x90, 0xc4, 0xfa, 0xe1, 0x72, 0xc8, 0x55, - 0xb3, 0x08, 0xd2, 0x7d, 0xeb, 0x78, 0x14, 0x1f, 0x76, 0xbd, 0xe9, 0xcf, 0xb7, 0x6a, 0xc7, 0xea, - 0xe9, 0x3a, 0xb7, 0xa8, 0x13, 0x75, 0x64, 0x7a, 0x98, 0xad, 0xc0, 0xe2, 0xd5, 0x50, 0xe2, 0xce, - 0x22, 0xfe, 0x7a, 0xc7, 0xc1, 0xf9, 0xef, 0xeb, 0x82, 0xd2, 0x47, 0xc5, 0x21, 0x2a, 0xba, 0x91, - 0xa3, 0x73, 0x3e, 0x4f, 0x22, 0x64, 0x81, 0x7a, 0xc9, 0xde, 0x00, 0x43, 0xe8, 0x13, 0x5c, 0x3a, - 0xd7, 0x2a, 0x90, 0x6f, 0x88, 0x05, 0x37, 0x5b, 0x8f, 0x41, 0x7c, 0xb5, 0xa4, 0x66, 0x5b, 0x13, - 0xb0, 0x66, 0x01, 0x38, 0xc9, 0x10, 0x42, 0x54, 0x65, 0x4d, 0x16, 0x8f, 0xa9, 0xc6, 0xfa, 0x57, - 0xc0, 0x18, 0x26, 0x12, 0x7e, 0x78, 0xa6, 0xa1, 0x81, 0xc9, 0x28, 0xf4, 0x5e, 0xdb, 0x7f, 0xc2, - 0x6e, 0xa9, 0x29, 0x36, 0xf9, 0xee, 0x8f, 0xc5, 0x26, 0x3e, 0xd1, 0x3b, 0xd9, 0x0f, 0x48, 0x88, - 0x28, 0x48, 0xdf, 0xca, 0x85, 0x8a, 0x0a, 0x91, 0x17, 0x7e, 0xac, 0xa5, 0x63, 0x85, 0x8a, 0x31, - 0x2c, 0x47, 0x84, 0x30, 0x7e, 0xcc, 0x3c, 0xde, 0xd0, 0x8a, 0xe3, 0xc5, 0x26, 0x41, 0x52, 0x6e, - 0x9b, 0x5f, 0xb6, 0x87, 0x72, 0x10, 0x8c, 0x48, 0x9f, 0x99, 0x66, 0x6f, 0xd8, 0x3f, 0xd1, 0x09, - 0x60, 0xcb, 0x98, 0x01, 0x6c, 0x82, 0xdd, 0xaf, 0x1d, 0x48, 0x8c, 0xaa, 0x6f, 0x55, 0x89, 0x63, - 0x73, 0x88, 0x92, 0x26, 0x40, 0x86, 0x0d, 0x5c, 0xfc, 0x5b, 0x91, 0xa3, 0x74, 0xff, 0xa8, 0xd7, - 0x6e, 0x3b, 0xc0, 0xcf, 0x6b, 0x57, 0x02, 0x24, 0x49, 0x7f, 0xf0, 0x87, 0x43, 0x01, 0xd3, 0x31, - 0x2b, 0x2a, 0x24, 0x59, 0x7e, 0xd7, 0xdd, 0xb0, 0xe1, 0xd4, 0x9d, 0x51, 0x15, 0x3a, 0x9a, 0xab, - 0xbf, 0x56, 0xc6, 0x56, 0xf9, 0x46, 0x9a, 0xb0, 0x54, 0x8a, 0xad, 0x7d, 0x55, 0xc9, 0x0f, 0x5a, - 0x66, 0x6c, 0x87, 0xf0, 0xd5, 0x8f, 0x45, 0xc3, 0xa9, 0x2e, 0x38, 0x37, 0x12, 0x38, 0x89, 0xbb, - 0x95, 0x33, 0x3a, 0x32, 0xce, 0xcf, 0x8d, 0xcd, 0xc4, 0xbe, 0x85, 0xfe, 0xf5, 0xf9, 0x61, 0xaa, - 0x09, 0xde, 0x9e, 0x82, 0x4e, 0x3a, 0xc2, 0x84, 0x1c, 0x1d, 0x5d, 0x16, 0xb8, 0x3e, 0x69, 0xfe, - 0xfe, 0x51, 0x8d, 0xde, 0x04, 0xb4, 0x21, 0x58, 0xaf, 0x14, 0xb1, 0x26, 0x34, 0x53, 0x2c, 0x48, - 0xf9, 0xd4, 0x6e, 0x2a, 0x02, 0xef, 0x67, 0xf2, 0xc9, 0x54, 0x3b, 0x74, 0x11, 0x9a, 0xdb, 0xb1, - 0x3b, 0x74, 0x94, 0x59, 0x06, 0x0b, 0x78, 0xa3, 0x3c, 0x16, 0x16, 0x3f, 0x96, 0x96, 0xfc, 0xd3, - 0x60, 0x33, 0x8e, 0x36, 0x3d, 0x09, 0x6e, 0x3d, 0xc0, 0x2d, 0x1d, 0xbf, 0x72, 0x92, 0x2b, 0x32, - 0x1e, 0x75, 0x26, 0xf5, 0x59, 0x4d, 0xd6, 0x34, 0xaf, 0x9d, 0x50, 0xc0, 0x55, 0x1c, 0xa3, 0x8b, - 0x9f, 0x14, 0x23, 0xef, 0x57, 0x40, 0x1d, 0xbd, 0x61, 0x64, 0xf8, 0xcd, 0x8f, 0x9f, 0x75, 0x15, - 0xb1, 0x15, 0x4c, 0x65, 0x34, 0x87, 0xb1, 0x31, 0x91, 0x29, 0xe3, 0x12, 0x2d, 0x56, 0xec, 0xc4, - 0xa1, 0x73, 0x76, 0x6c, 0xd2, 0x5b, 0xc1, 0xc3, 0x9c, 0x7c, 0xdf, 0x8f, 0x85, 0xf3, 0x31, 0x01, - 0x8d, 0x02, 0x66, 0x13, 0x3d, 0xed, 0xee, 0x40, 0x3e, 0x24, 0xcb, 0x77, 0x88, 0xe8, 0x85, 0x58, - 0xeb, 0x55, 0xa8, 0xf8, 0x36, 0x07, 0xd4, 0x71, 0xe6, 0x4a, 0xc7, 0xd6, 0xc7, 0xfe, 0xcb, 0xe4, - 0x49, 0x04, 0xe0, 0xf7, 0xef, 0x2c, 0xa6, 0x86, 0x3a, 0xe2, 0xd2, 0xee, 0xf3, 0x5d, 0x75, 0x21, - 0x81, 0x65, 0x8f, 0xad, 0x89, 0x64, 0x59, 0x00, 0x90, 0xd3, 0x5d, 0xc0, 0xc9, 0xb1, 0xba, 0x02, - 0xa2, 0x68, 0xfb, 0xe8, 0x83, 0x0c, 0x05, 0x5b, 0xbb, 0xd9, 0x48, 0xbd, 0x13, 0xb5, 0x99, 0xfe, - 0x4d, 0xb0, 0xd7, 0x5d, 0xe0, 0x54, 0xd4, 0x6c, 0xb3, 0x7b, 0xf9, 0xa7, 0x64, 0xe2, 0xc6, 0x37, - 0xf2, 0x6a, 0x2f, 0x4a, 0x7f, 0x67, 0x35, 0x85, 0x1d, 0xea, 0xaf, 0x10, 0x9d, 0x0e, 0xb9, 0x57, - 0xd6, 0xcf, 0xdf, 0x61, 0xf0, 0xa3, 0xec, 0xea, 0x07, 0x56, 0xf9, 0x94, 0xa0, 0xb7, 0xe1, 0xd6, - 0x83, 0xe9, 0xff, 0x99, 0xa1, 0xb0, 0x7f, 0x2f, 0x07, 0xb2, 0xc6, 0x8e, 0x2d, 0x68, 0x9b, 0xf4, - 0x96, 0x63, 0x14, 0x97, 0xb3, 0x20, 0x27, 0x21, 0xad, 0x45, 0xd8, 0x62, 0xb9, 0x61, 0xff, 0xc2, - 0x88, 0xb1, 0xa8, 0x63, 0xe3, 0x05, 0x6f, 0x42, 0xb6, 0x3b, 0x85, 0xc7, 0x1a, 0xb1, 0x7a, 0xca, - 0xc0, 0xb5, 0x31, 0xfd, 0x9b, 0x44, 0x23, 0x25, 0x1a, 0x22, 0xab, 0x04, 0x10, 0x57, 0x99, 0xbb, - 0xb9, 0xdb, 0x37, 0x8b, 0x03, 0x4d, 0x1d, 0x81, 0xa8, 0x99, 0x98, 0xf7, 0x79, 0x1f, 0xdb, 0x39, - 0xde, 0x13, 0x9b, 0xac, 0x9f, 0xc7, 0x80, 0x17, 0x2b, 0x75, 0x56, 0x77, 0xa2, 0x98, 0x36, 0xf7, - 0x70, 0x05, 0x9d, 0x17, 0x3f, 0x4f, 0x0f, 0x74, 0x9f, 0xd5, 0x44, 0x11, 0xc8, 0xa6, 0x06, 0xb9, - 0x5e, 0x80, 0xe1, 0x03, 0x5d, 0x7e, 0x0e, 0x7f, 0x14, 0xc1, 0x66, 0x2b, 0x47, 0xeb, 0x04, 0x49, - 0x4a, 0x6c, 0x57, 0xcc, 0xe5, 0x11, 0x82, 0x3e, 0xb1, 0x97, 0x9d, 0xcf, 0x7c, 0xa5, 0xff, 0xb0, - 0x19, 0xbe, 0xb4, 0xcd, 0x90, 0x69, 0xc7, 0x7f, 0xd8, 0x11, 0xe8, 0x4b, 0x75, 0x9f, 0x05, 0xce, - 0x71, 0xe6, 0xc7, 0x53, 0x8d, 0x9d, 0x99, 0x84, 0xa4, 0xe9, 0x2b, 0xc6, 0xde, 0xca, 0x52, 0xb9, - 0x2d, 0x9f, 0x5f, 0xf3, 0xa4, 0x05, 0x39, 0xed, 0xe4, 0xe5, 0x0e, 0x34, 0x7d, 0x5f, 0x40, 0x37, - 0x03, 0x0f, 0xd1, 0x67, 0x91, 0x26, 0x6d, 0x7c, 0xad, 0xde, 0xda, 0x87, 0x90, 0x26, 0xd3, 0x15, - 0x67, 0xd3, 0xdc, 0x50, 0x3c, 0xec, 0x0c, 0x80, 0xc6, 0x82, 0x1e, 0x0c, 0xfe, 0x7c, 0xcd, 0x39, - 0x59, 0x36, 0xc0, 0xe1, 0xec, 0x82, 0xae, 0xf5, 0x47, 0x42, 0xf2, 0x89, 0xc0, 0x25, 0x1d, 0x1d, - 0x0f, 0x0e, 0x01, 0x2e, 0x31, 0x91, 0xc7, 0x08, 0x2c, 0x01, 0xeb, 0xa5, 0xda, 0x09, 0x0c, 0x7b, - 0x99, 0xcc, 0xa2, 0x1b, 0x9f, 0x67, 0x18, 0x7e, 0x2e, 0x1c, 0xf6, 0xa3, 0xd8, 0x48, 0x27, 0x27, - 0x8b, 0xc4, 0x5d, 0x15, 0x48, 0x32, 0xef, 0x88, 0xf6, 0x4b, 0x7d, 0x55, 0x9a, 0xf9, 0x5f, 0x76, - 0xa2, 0x5a, 0xce, 0xc5, 0xb3, 0x39, 0x74, 0x2e, 0x5b, 0x6c, 0xe7, 0xdd, 0xf5, 0x9c, 0xd1, 0x85, - 0xe9, 0x85, 0x41, 0x77, 0xd6, 0x5a, 0xc2, 0x69, 0x69, 0x23, 0xa1, 0xbb, 0xfe, 0xa5, 0x24, 0xad, - 0x93, 0x5b, 0x15, 0x8a, 0xd8, 0xfa, 0x9c, 0x53, 0x39, 0x09, 0xd6, 0x0b, 0xed, 0x15, 0x92, 0xb3, - 0x87, 0xac, 0x00, 0x59, 0xb7, 0x3c, 0xd7, 0xee, 0xa0, 0x24, 0xf4, 0x80, 0x4c, 0xf6, 0x03, 0x39, - 0x39, 0xa1, 0x2c, 0xe7, 0x3e, 0xbe, 0x44, 0xf1, 0x2a, 0x1d, 0x66, 0xc9, 0x74, 0x9b, 0x90, 0xbe, - 0x30, 0xfa, 0xd5, 0x44, 0x99, 0xb1, 0x2f, 0xd7, 0x5e, 0xe8, 0x49, 0xb9, 0x7f, 0x84, 0xc4, 0xa2, - 0xeb, 0xc9, 0xb8, 0x97, 0x4c, 0x49, 0x32, 0xa9, 0xb0, 0x07, 0xa2, 0x09, 0xff, 0x2a, 0x0a, 0x54, - 0x79, 0xa4, 0xf3, 0x97, 0x3a, 0x19, 0x17, 0x04, 0xfe, 0xa2, 0xdc, 0x8b, 0x06, 0x21, 0xdf, 0x23, - 0xd2, 0xad, 0x90, 0x3b, 0xc6, 0xa0, 0x36, 0x22, 0x7c, 0x03, 0x40, 0x11, 0x41, 0x6e, 0xc3, 0x16, - 0xd5, 0x97, 0x92, 0x51, 0x81, 0xca, 0xf6, 0x9b, 0x04, 0xc1, 0x25, 0xe7, 0x1c, 0x62, 0x06, 0xaa, - 0x14, 0x2a, 0x06, 0x0c, 0xb5, 0x9a, 0x08, 0x26, 0xae, 0x93, 0x79, 0xb4, 0xed, 0x7e, 0x99, 0x6a, - 0x9c, 0xf1, 0xe7, 0xbe, 0x38, 0xa5, 0xde, 0x81, 0x0b, 0xa8, 0xa7, 0x76, 0xc9, 0x0a, 0xef, 0xff, - 0x5c, 0x1f, 0x73, 0xd5, 0x1c, 0xe7, 0xfe, 0x4b, 0xc7, 0x17, 0x8b, 0x49, 0x7d, 0x9a, 0xb7, 0x7e, - 0x29, 0xfa, 0x26, 0x44, 0xb2, 0x49, 0xf6, 0x90, 0xd6, 0x10, 0xc4, 0x96, 0xad, 0x46, 0x93, 0x8a, - 0x82, 0xc0, 0x3d, 0x9f, 0x28, 0xfa, 0x4c, 0x54, 0xe6, 0xd4, 0x09, 0xc4, 0xd3, 0x1d, 0x83, 0xba, - 0x97, 0x76, 0x9b, 0x02, 0x11, 0x87, 0x12, 0xcc, 0x5c, 0x1a, 0x2c, 0x55, 0x6e, 0xcc, 0xdc, 0x4e, - 0x6d, 0x25, 0x7b, 0xac, 0x9e, 0xa7, 0x32, 0x0c, 0x60, 0x78, 0x49, 0xa4, 0x51, 0xfa, 0x7e, 0xa0, - 0x5b, 0x4e, 0x70, 0xa5, 0x41, 0xf2, 0x40, 0x09, 0x23, 0xa9, 0xbe, 0x7c, 0xd4, 0x93, 0x2f, 0x4e, - 0xbd, 0x6e, 0x37, 0xf7, 0x3a, 0xfd, 0x86, 0x3e, 0x45, 0x84, 0x4b, 0x22, 0xc6, 0xc3, 0x32, 0x21, - 0x1e, 0x80, 0x15, 0x09, 0x36, 0x17, 0xeb, 0x40, 0x74, 0xfe, 0xb6, 0xef, 0xfb, 0x05, 0xf7, 0xf1, - 0x30, 0x9b, 0x7d, 0xbf, 0x61, 0xf1, 0x39, 0x17, 0xee, 0x8d, 0xb7, 0xba, 0x2d, 0x65, 0xe7, 0x5d, - 0x1e, 0xbc, 0x19, 0x2f, 0x48, 0x9b, 0xa2, 0xc6, 0x2d, 0x2d, 0x34, 0x8c, 0xde, 0xc6, 0x62, 0x78, - 0x7d, 0x32, 0xcb, 0xa2, 0x7f, 0xe3, 0x6e, 0x81, 0xb7, 0xde, 0x4c, 0x21, 0xde, 0xd0, 0x13, 0xba, - 0xc4, 0x6f, 0xaa, 0xb3, 0xee, 0xcf, 0xcc, 0x26, 0x69, 0x18, 0xe9, 0x7c, 0x8f, 0xa6, 0xd6, 0x81, - 0xbb, 0xb3, 0xd4, 0x32, 0xa4, 0x87, 0x7c, 0x17, 0x11, 0x03, 0xd7, 0xe5, 0x72, 0xdd, 0x0c, 0x17, - 0x37, 0xb5, 0xac, 0x5f, 0xd4, 0xbb, 0x88, 0x4c, 0xd0, 0x21, 0xc7, 0x0a, 0xb3, 0xf8, 0x8e, 0x2e, - 0xbe, 0x58, 0xe9, 0x1e, 0xb4, 0xb9, 0x1f, 0x03, 0x46, 0x77, 0x7e, 0xf0, 0x41, 0xec, 0xad, 0x04, - 0x68, 0x67, 0x4f, 0x64, 0x34, 0xc7, 0xd4, 0xa7, 0x80, 0xd1, 0x9a, 0xc0, 0x47, 0x53, 0xb0, 0x05, - 0x06, 0x19, 0x1c, 0xcf, 0xc0, 0xc9, 0x4d, 0xfb, 0x71, 0xb8, 0xe3, 0xfb, 0x1d, 0x3d, 0x4c, 0xdb, - 0x46, 0xdf, 0xb2, 0xa6, 0xdf, 0x80, 0x24, 0x91, 0x75, 0x77, 0x92, 0x90, 0xff, 0xc0, 0x5f, 0xa5, - 0xd1, 0x34, 0x84, 0xda, 0xd7, 0xfb, 0x55, 0x6f, 0x5d, 0xa0, 0xd9, 0xfa, 0x6a, 0x36, 0x54, 0xeb, - 0x56, 0x88, 0x04, 0x49, 0x6c, 0x1e, 0x58, 0x42, 0x1f, 0xa1, 0x4e, 0xaf, 0x12, 0x6f, 0x8d, 0x4b, - 0x19, 0x73, 0x09, 0xee, 0xde, 0xbf, 0xa7, 0xef, 0x1b, 0x3a, 0xfd, 0x83, 0xe1, 0x15, 0x1f, 0xa1, - 0x67, 0x51, 0x38, 0xd8, 0x46, 0x3a, 0xb1, 0xce, 0xc1, 0xc8, 0x70, 0x24, 0x2f, 0x3e, 0x89, 0x81, - 0xb0, 0x5a, 0xc0, 0x94, 0x15, 0xc6, 0xe4, 0x84, 0x2f, 0x2d, 0x36, 0x55, 0x1d, 0xf5, 0x2e, 0x14, - 0xb7, 0xfd, 0x9c, 0x78, 0xbc, 0x45, 0x68, 0x71, 0x41, 0xb4, 0x50, 0x37, 0xf2, 0x45, 0xf1, 0xb3, - 0xcb, 0xe8, 0x46, 0x85, 0xfa, 0xdd, 0x49, 0xc4, 0x3a, 0x41, 0x7b, 0xd3, 0x91, 0x65, 0x3a, 0x55, - 0x25, 0xe1, 0x06, 0x69, 0x27, 0x8f, 0xed, 0x74, 0xb0, 0x10, 0xa0, 0xbb, 0x90, 0x5a, 0xca, 0x12, - 0x3f, 0xd3, 0xba, 0x80, 0xeb, 0x31, 0x6f, 0x77, 0x8d, 0x36, 0x3a, 0x7a, 0x31, 0x8a, 0xf8, 0x46, - 0x66, 0xdc, 0xeb, 0x43, 0xba, 0x28, 0x8b, 0x74, 0x6d, 0x00, 0x97, 0x6d, 0xe6, 0x7c, 0xdc, 0x25, - 0x4b, 0xcf, 0xc6, 0xec, 0x86, 0x59, 0xb0, 0x75, 0x51, 0x32, 0x54, 0x19, 0xb4, 0xd4, 0x65, 0x6c, - 0xb6, 0x72, 0x0e, 0xae, 0x84, 0x27, 0xb8, 0x5d, 0xf1, 0x58, 0x25, 0xce, 0xab, 0x52, 0xaf, 0x89, - 0x89, 0xb7, 0xf6, 0xc2, 0xb0, 0x0c, 0x4d, 0xba, 0xc3, 0x24, 0x32, 0xae, 0xd2, 0x40, 0xe0, 0x55, - 0x03, 0x20, 0x47, 0x0c, 0xca, 0x15, 0x65, 0xfc, 0xaa, 0x9b, 0xc5, 0xc1, 0x7f, 0x5b, 0x9b, 0x45, - 0xbd, 0x25, 0x97, 0x40, 0x07, 0xdc, 0xc8, 0xb6, 0x79, 0xf1, 0x45, 0x8f, 0xc6, 0x75, 0xff, 0xc0, - 0xdb, 0xc3, 0x78, 0xce, 0xfc, 0x2b, 0xf0, 0xdd, 0x90, 0x27, 0x4c, 0xc7, 0xfb, 0x2b, 0xd0, 0xa9, - 0x65, 0x8b, 0x1f, 0x9f, 0x7b, 0x65, 0x4e, 0x1d, 0x70, 0x48, 0x6e, 0x09, 0xc5, 0xb6, 0xf8, 0x65, - 0x3e, 0x0c, 0xe3, 0x4a, 0xb1, 0x17, 0x19, 0xcb, 0xc3, 0x67, 0xa7, 0xc9, 0xa2, 0x6d, 0xef, 0x1d, - 0xc9, 0xa7, 0x92, 0x6b, 0xbe, 0x28, 0x46, 0x99, 0x2a, 0xd6, 0x2e, 0x0c, 0xd6, 0xba, 0x79, 0x56, - 0x85, 0xef, 0xef, 0xc5, 0xd5, 0x70, 0xba, 0xdf, 0xfc, 0x96, 0x95, 0xf1, 0x80, 0x28, 0xf4, 0x70, - 0x2b, 0x3b, 0x96, 0x8b, 0x13, 0x0b, 0xd4, 0x09, 0x28, 0x85, 0x4a, 0x5d, 0x90, 0xd2, 0xaf, 0xe4, - 0xe2, 0xdc, 0xeb, 0x84, 0x8e, 0x60, 0x6a, 0xe6, 0x25, 0x61, 0x98, 0x0c, 0x89, 0xb5, 0xe3, 0x59, - 0xd3, 0x6d, 0xc2, 0x87, 0xcc, 0x39, 0xcf, 0xa3, 0x6c, 0x84, 0xb7, 0x01, 0x55, 0xd8, 0x6a, 0x8e, - 0x94, 0x41, 0x8a, 0xc7, 0x24, 0x79, 0xd2, 0xbe, 0x0a, 0x1e, 0x7d, 0xc9, 0xb7, 0x14, 0x13, 0x9c, - 0xd3, 0xc2, 0x65, 0xa4, 0x6b, 0xf4, 0x83, 0x71, 0x05, 0x86, 0xe3, 0x0a, 0x5b, 0xa5, 0xa7, 0x77, - 0x16, 0xc5, 0x3d, 0xec, 0xa8, 0x5d, 0x59, 0x7c, 0xc4, 0x64, 0xaf, 0xa2, 0x84, 0x14, 0xa9, 0x12, - 0xf0, 0x02, 0x2a, 0x62, 0x1a, 0x44, 0x49, 0xbf, 0x9a, 0xf4, 0xfe, 0xb3, 0x27, 0xc5, 0x4e, 0x17, - 0x65, 0xe5, 0x42, 0x71, 0x9c, 0x29, 0x98, 0x63, 0x3e, 0xb3, 0x42, 0x7a, 0x7e, 0xf3, 0xd5, 0x18, - 0x0e, 0x96, 0x57, 0x5d, 0x39, 0x4f, 0x68, 0xe7, 0xe2, 0xfe, 0x19, 0xb3, 0x79, 0x3b, 0xd3, 0x57, - 0xf1, 0xa6, 0x6b, 0xbd, 0x7a, 0xe4, 0xde, 0xc7, 0x95, 0x13, 0xac, 0xa3, 0x4f, 0x29, 0x32, 0x48, - 0xbe, 0x0f, 0x23, 0x68, 0x53, 0xdf, 0x00, 0x3d, 0x4c, 0x88, 0x1a, 0xf1, 0x8b, 0xec, 0x6c, 0xc2, - 0x7a, 0xb5, 0xda, 0x33, 0xfd, 0x32, 0x45, 0x70, 0xfd, 0xc2, 0x10, 0x20, 0x1e, 0x1e, 0x8f, 0x8c, - 0x9a, 0x50, 0x33, 0xdc, 0x7e, 0x39, 0x60, 0x21, 0x4a, 0x75, 0x3d, 0x57, 0xb7, 0x58, 0x96, 0xb4, - 0xba, 0x01, 0x83, 0xb2, 0xa5, 0xa6, 0xb7, 0x95, 0xb7, 0xbb, 0xbe, 0xa6, 0x4a, 0x48, 0x1a, 0xc7, - 0x4c, 0x56, 0x95, 0x13, 0x22, 0x5a, 0xa9, 0x15, 0x9a, 0xd2, 0xad, 0x57, 0x46, 0xd6, 0x6a, 0x5d, - 0x44, 0x77, 0x58, 0xa1, 0x20, 0xf5, 0x5b, 0x3d, 0x05, 0xa6, 0xef, 0x58, 0xb5, 0x4d, 0x9c, 0x5e, - 0x00, 0x52, 0x8e, 0x95, 0xea, 0xf6, 0xb7, 0x52, 0xce, 0xfc, 0xca, 0xfc, 0x14, 0x26, 0x30, 0xcf, - 0x2d, 0x37, 0x23, 0x7a, 0x10, 0x06, 0x98, 0x4e, 0x24, 0x1c, 0xa0, 0x53, 0xfb, 0xd2, 0x87, 0x85, - 0x00, 0xe7, 0x10, 0x61, 0x85, 0x7b, 0x8e, 0x05, 0xfb, 0x11, 0xf0, 0xb5, 0xb3, 0xb5, 0xa0, 0x98, - 0x07, 0x90, 0xc0, 0xe8, 0x70, 0x2d, 0xa0, 0xe8, 0xf4, 0x50, 0x3a, 0xb7, 0x9d, 0x1d, 0x29, 0xed, - 0x4e, 0x13, 0xe1, 0x0b, 0xd5, 0xcc, 0x9c, 0x84, 0x46, 0xb4, 0x30, 0x5b, 0xd4, 0x8f, 0x6c, 0x5c, - 0x36, 0xaa, 0x86, 0x69, 0xc6, 0x77, 0x07, 0x6e, 0x24, 0xe5, 0xa4, 0x40, 0x5e, 0x14, 0x5c, 0xab, - 0xd2, 0xb7, 0x83, 0xce, 0x71, 0x32, 0xbb, 0xa7, 0x6f, 0x6f, 0x53, 0xd4, 0x15, 0x34, 0xb8, 0x79, - 0xa3, 0xeb, 0xf1, 0x69, 0x56, 0x4a, 0xd1, 0x88, 0x98, 0x8f, 0x9c, 0x7a, 0x89, 0xc6, 0x5d, 0xb9, - 0xad, 0xd6, 0x3c, 0x01, 0xa5, 0xc9, 0xf6, 0x80, 0xd7, 0xfc, 0x90, 0xfb, 0x3d, 0x88, 0x5f, 0x51, - 0xa8, 0x5f, 0x4c, 0x79, 0x7f, 0x60, 0x52, 0xbd, 0x94, 0xaf, 0xd0, 0xc9, 0xb5, 0x4a, 0x45, 0x23, - 0xe6, 0x5b, 0x97, 0x4f, 0x50, 0x42, 0xc6, 0xe0, 0x4c, 0x28, 0x19, 0x0d, 0x7c, 0x6d, 0xa9, 0x8c, - 0xa4, 0x96, 0x0f, 0x8d, 0x60, 0xdb, 0x0d, 0x83, 0x99, 0x5c, 0xff, 0x53, 0xcd, 0xb8, 0x0f, 0x78, - 0x1b, 0x40, 0x1a, 0xf9, 0x1d, 0xdc, 0x75, 0x9c, 0x4d, 0x54, 0x6e, 0xb4, 0xb9, 0xf6, 0x24, 0xab, - 0xdb, 0xcf, 0xbd, 0x08, 0x2c, 0x6e, 0x4a, 0x9a, 0x67, 0x2d, 0xba, 0x91, 0x12, 0xb8, 0x89, 0x59, - 0x60, 0xdc, 0x59, 0x64, 0x52, 0x40, 0xf4, 0x6e, 0xb3, 0x98, 0xc5, 0x31, 0x38, 0x66, 0x72, 0x06, - 0x52, 0xab, 0x24, 0xf6, 0x71, 0xe4, 0x44, 0x7a, 0x87, 0x0b, 0x74, 0xdf, 0xbc, 0xbe, 0x0f, 0x86, - 0x9f, 0x5f, 0xc8, 0x01, 0x70, 0x6d, 0xb3, 0xa3, 0xbe, 0xf1, 0xa1, 0xc7, 0x9c, 0x9d, 0x0e, 0x0c, - 0x05, 0xa8, 0x51, 0x86, 0xd5, 0x00, 0x75, 0xe0, 0x93, 0x92, 0xe9, 0x07, 0xf7, 0x15, 0x08, 0xb0, - 0x0f, 0xc3, 0x52, 0xc3, 0x3c, 0xa4, 0xa3, 0xe7, 0xe1, 0x4d, 0xc8, 0x46, 0xc8, 0x9b, 0x06, 0xe8, - 0x06, 0x72, 0xf7, 0x2f, 0x08, 0x65, 0xa8, 0x86, 0xb7, 0x3e, 0x48, 0xe9, 0x6a, 0x71, 0x77, 0x59, - 0xb9, 0xc2, 0xdf, 0x7f, 0x97, 0xc9, 0x62, 0x7f, 0x16, 0x6d, 0x2a, 0xee, 0xeb, 0xf7, 0x50, 0x01, - 0xbf, 0xd0, 0xa9, 0x94, 0x7a, 0x7f, 0x8e, 0x37, 0xee, 0xdf, 0xda, 0x46, 0x3c, 0x5a, 0x2c, 0x59, - 0x36, 0xee, 0xe3, 0x63, 0xb9, 0x1b, 0xd9, 0x85, 0x2b, 0x3e, 0x72, 0x55, 0xaf, 0x6b, 0xc4, 0x9c, - 0xf3, 0xab, 0x7e, 0xfd, 0xe8, 0x1c, 0xa6, 0xee, 0x2e, 0x42, 0xe6, 0x00, 0xf5, 0xd5, 0xfe, 0x51, - 0xc1, 0x5c, 0x41, 0xae, 0x1c, 0x88, 0xa6, 0x6b, 0xef, 0x37, 0xc4, 0xd2, 0xc7, 0x52, 0x28, 0x0f, - 0x0f, 0x1e, 0xe4, 0x64, 0x46, 0xd7, 0x04, 0x04, 0xd6, 0xcc, 0xee, 0x97, 0x38, 0xf0, 0x60, 0x98, - 0x3e, 0x5f, 0x83, 0x66, 0xb9, 0x5a, 0x4a, 0xad, 0x6b, 0x24, 0x58, 0x22, 0xdb, 0x7c, 0xb4, 0x10, - 0x7d, 0x41, 0x6a, 0x5c, 0x95, 0xba, 0x27, 0x93, 0xbb, 0x83, 0x44, 0xfe, 0xac, 0xa9, 0x09, 0x71, - 0x6b, 0xb3, 0x3b, 0xca, 0x08, 0x62, 0x75, 0x19, 0xdf, 0x7a, 0x32, 0xf8, 0x1c, 0x54, 0xb4, 0x1d, - 0x64, 0xb0, 0x4a, 0x2d, 0x18, 0xd0, 0x3c, 0xa5, 0xfe, 0xaa, 0xe4, 0x0a, 0x42, 0x2a, 0x3c, 0x5e, - 0xc8, 0x04, 0x83, 0x70, 0x63, 0x0d, 0xbe, 0x43, 0x50, 0xd9, 0x3d, 0xc8, 0x0f, 0x91, 0x23, 0x5f, - 0xfc, 0x24, 0x37, 0x84, 0x3c, 0x0c, 0x23, 0x11, 0x43, 0x0b, 0x2e, 0x2b, 0xe6, 0xfb, 0xb2, 0x40, - 0xd8, 0x33, 0x6d, 0x8d, 0xbb, 0x6c, 0x0e, 0x02, 0xc1, 0x5d, 0x85, 0xca, 0x4c, 0x25, 0xbb, 0x30, - 0x03, 0x26, 0xd1, 0x99, 0x29, 0xa2, 0x14, 0xf4, 0xa3, 0x26, 0xf7, 0xa3, 0x04, 0x98, 0xea, 0xb0, - 0xdd, 0x3a, 0x14, 0xa7, 0x88, 0x43, 0xc6, 0x24, 0xf6, 0x2a, 0x46, 0x3b, 0x35, 0x1d, 0x55, 0x4c, - 0xac, 0x5a, 0x87, 0x31, 0xb4, 0x89, 0x95, 0x1a, 0xb7, 0x33, 0xb6, 0x53, 0xfe, 0x54, 0x06, 0x6d, - 0xf7, 0xc9, 0xba, 0x0a, 0x10, 0xf3, 0xb1, 0x7b, 0x71, 0x3d, 0xe2, 0xaf, 0x52, 0x25, 0x23, 0xd2, - 0xb1, 0x0b, 0x13, 0xfb, 0x6a, 0x9c, 0x8c, 0x0c, 0x58, 0x92, 0xed, 0x02, 0xa2, 0x9a, 0x80, 0x75, - 0xd2, 0x65, 0xb4, 0xc4, 0x12, 0x4a, 0x76, 0x92, 0xf3, 0xd4, 0xaf, 0xcf, 0x20, 0x99, 0xd2, 0xcc, - 0xab, 0x70, 0x49, 0xfe, 0x79, 0x7e, 0x7d, 0xa8, 0xce, 0x6f, 0x47, 0x48, 0x5e, 0xef, 0x3a, 0xff, - 0xe1, 0x6a, 0xc4, 0xa6, 0x25, 0x39, 0x61, 0x75, 0xf4, 0xac, 0x7a, 0x57, 0x1d, 0x07, 0x2c, 0xd0, - 0xdb, 0x70, 0xb9, 0x5b, 0xbe, 0x70, 0xca, 0x71, 0x73, 0x2d, 0x05, 0x07, 0xa9, 0x0d, 0x81, 0x49, - 0x73, 0x4b, 0xbb, 0xc4, 0x2a, 0x73, 0x9b, 0xd9, 0x18, 0xaf, 0x31, 0x87, 0x98, 0xfa, 0x57, 0xa7, - 0x28, 0x16, 0x25, 0xfa, 0x68, 0xf8, 0xaa, 0xc9, 0x3b, 0xe9, 0x36, 0xb3, 0xb5, 0xa5, 0x72, 0x43, - 0x01, 0xd7, 0x4b, 0x66, 0x07, 0x36, 0x30, 0xd3, 0x01, 0xec, 0x89, 0xc0, 0x0c, 0x24, 0x93, 0xe4, - 0xf9, 0xe7, 0xcd, 0xc4, 0x22, 0x29, 0xb9, 0x5b, 0xed, 0x67, 0xd8, 0xbe, 0x69, 0xa9, 0x1c, 0xba, - 0xcd, 0xf9, 0x4f, 0xf7, 0xc6, 0xbd, 0xb1, 0xf3, 0xd7, 0xcc, 0x2e, 0xbd, 0x04, 0xbb, 0x67, 0xaa, - 0xd0, 0x64, 0xd7, 0x0f, 0x81, 0x1d, 0x4c, 0xe5, 0x9d, 0xd3, 0x54, 0x0f, 0xc3, 0x53, 0x15, 0xaf, - 0x18, 0xeb, 0x5a, 0xbd, 0x07, 0x54, 0x1c, 0x89, 0xd7, 0x3a, 0x36, 0xb4, 0x88, 0x37, 0xb2, 0x31, - 0x8e, 0xd1, 0xd0, 0x42, 0xa1, 0x46, 0xed, 0x38, 0x63, 0x93, 0xed, 0xe8, 0x5d, 0x80, 0x1c, 0x64, - 0x39, 0x2d, 0x95, 0xce, 0xfc, 0x74, 0xd9, 0x5c, 0xc2, 0x6d, 0xfd, 0x69, 0x58, 0xca, 0x09, 0x27, - 0xea, 0x1d, 0x2c, 0x5f, 0xa9, 0x03, 0xb2, 0x4b, 0xb3, 0xea, 0x06, 0x75, 0xa5, 0x78, 0x01, 0x24, - 0x35, 0xa1, 0x7c, 0xb2, 0x4b, 0x09, 0x02, 0x36, 0xfc, 0x92, 0x2e, 0x17, 0x10, 0x38, 0x49, 0xe6, - 0xa5, 0x08, 0x67, 0x06, 0xa3, 0x89, 0x85, 0xcf, 0x01, 0x8b, 0x7b, 0x92, 0x18, 0xe5, 0xab, 0x6d, - 0x46, 0xdd, 0x74, 0x3a, 0xae, 0xb0, 0x26, 0x78, 0x4e, 0xd9, 0x59, 0x32, 0x00, 0xb5, 0x7e, 0xc0, - 0x79, 0xb2, 0xc1, 0x25, 0xd8, 0x24, 0x8a, 0x48, 0x45, 0xc4, 0x97, 0xff, 0xad, 0x99, 0x45, 0x65, - 0xb9, 0xed, 0x5d, 0x38, 0x97, 0xe1, 0x46, 0x6d, 0x3f, 0x95, 0x42, 0x59, 0x12, 0x45, 0x1e, 0x2b, - 0xd3, 0x61, 0xc4, 0x34, 0x5b, 0x16, 0xa3, 0x66, 0x13, 0x53, 0x2a, 0x2e, 0xac, 0xc6, 0xbc, 0x41, - 0xeb, 0xaa, 0xb1, 0xfd, 0xba, 0x5d, 0xde, 0x05, 0x5c, 0xf4, 0x09, 0x51, 0x96, 0x1d, 0x57, 0x11, - 0x49, 0x93, 0x30, 0xdb, 0x85, 0x62, 0xd2, 0x55, 0x95, 0xe5, 0x1b, 0x07, 0x80, 0x28, 0xf7, 0x21, - 0x3b, 0x09, 0xdb, 0xaf, 0x23, 0x55, 0xb8, 0x20, 0x7b, 0x27, 0x05, 0x7c, 0xd2, 0x38, 0x4d, 0x29, - 0x7d, 0xb2, 0xa4, 0xe0, 0x7e, 0xf9, 0xfb, 0x26, 0x7c, 0x26, 0x4b, 0xc8, 0x9a, 0x41, 0x35, 0xdc, - 0x9c, 0x23, 0x93, 0xe6, 0x8d, 0xb1, 0x8a, 0x4f, 0xf6, 0x2e, 0x84, 0x73, 0x88, 0xcb, 0xc8, 0xa9, - 0x66, 0xe6, 0x0d, 0xe9, 0x8b, 0x4e, 0xa1, 0x26, 0xe8, 0x59, 0x26, 0x92, 0x7b, 0x67, 0xa2, 0x64, - 0x47, 0xf6, 0xf8, 0xce, 0xb5, 0x3f, 0xe0, 0xbb, 0xfc, 0xc2, 0xe6, 0xb4, 0xa9, 0x10, 0x47, 0x49, - 0x0f, 0xac, 0x04, 0x66, 0xff, 0x79, 0x45, 0xcb, 0x1a, 0xd6, 0x45, 0xd1, 0x7f, 0xaf, 0xd1, 0xa7, - 0x1e, 0x17, 0xa0, 0x90, 0x68, 0x17, 0x88, 0x9c, 0x9f, 0x6a, 0xd5, 0xd3, 0xb6, 0x7c, 0xff, 0x3e, - 0xdd, 0x9c, 0xb2, 0xa2, 0x38, 0x10, 0xe8, 0xf9, 0xe7, 0xcc, 0x70, 0x97, 0xe4, 0xa2, 0xc9, 0x7f, - 0x60, 0xf6, 0xcb, 0x17, 0x4d, 0x0b, 0x79, 0x44, 0x0e, 0x21, 0x8e, 0xba, 0x21, 0xaa, 0x74, 0x03, - 0xaa, 0x48, 0xad, 0x0c, 0x0c, 0xb6, 0x26, 0xe3, 0xa8, 0xe7, 0x1d, 0xe7, 0x26, 0xe1, 0x29, 0x85, - 0x1e, 0x4c, 0x00, 0xe7, 0xcd, 0x74, 0x28, 0x73, 0x01, 0xe4, 0x6a, 0xb0, 0x8d, 0x9c, 0x88, 0x61, - 0x2f, 0xa4, 0xe4, 0xb9, 0xbb, 0xd3, 0x08, 0x58, 0x07, 0x6f, 0xe6, 0xc5, 0x37, 0xe5, 0xcf, 0xa9, - 0xbe, 0x00, 0x47, 0xc7, 0x59, 0x80, 0x84, 0x55, 0xf6, 0x66, 0x57, 0x85, 0x63, 0xb9, 0xc0, 0x12, - 0x51, 0x45, 0xc1, 0x21, 0xba, 0x06, 0x87, 0x06, 0x07, 0x50, 0x22, 0xcd, 0xa5, 0x54, 0x16, 0x6b, - 0xd4, 0xe2, 0x19, 0x58, 0x6f, 0xb5, 0x89, 0x35, 0x81, 0xbb, 0x34, 0xbc, 0xd9, 0xfd, 0x90, 0x5c, - 0x38, 0xf3, 0xd9, 0xf6, 0xaa, 0x88, 0x6e, 0x7a, 0x93, 0x2a, 0x9e, 0x86, 0x08, 0x30, 0x45, 0x88, - 0xce, 0xed, 0x6d, 0x05, 0x66, 0xe9, 0xd5, 0x23, 0x05, 0x1f, 0x24, 0xc2, 0xd1, 0x40, 0x80, 0xe4, - 0xf4, 0xef, 0x77, 0xf1, 0xa2, 0xf6, 0x01, 0x5a, 0x76, 0x34, 0x15, 0x43, 0x82, 0x52, 0xd4, 0x03, - 0x1e, 0xd8, 0x3c, 0x01, 0xc6, 0x5c, 0xda, 0xc6, 0x99, 0xa1, 0x4c, 0x7d, 0xbc, 0x5f, 0x8a, 0xb9, - 0xf4, 0xec, 0x50, 0x11, 0x21, 0xb1, 0x26, 0xca, 0xa8, 0x14, 0x81, 0x45, 0xcd, 0x43, 0x4a, 0xb7, - 0x76, 0x8d, 0x75, 0x93, 0x6e, 0x7e, 0x2c, 0x2c, 0x8a, 0x23, 0xb3, 0x95, 0xa3, 0xd2, 0x7b, 0xa8, - 0x6e, 0xa0, 0xb4, 0x90, 0x74, 0xed, 0x01, 0x3f, 0xbc, 0x24, 0x22, 0x0b, 0x15, 0x32, 0x69, 0xbf, - 0xf9, 0xfc, 0xfa, 0xc7, 0xe0, 0x80, 0x61, 0x06, 0x8a, 0x61, 0xb6, 0xb6, 0xa3, 0x44, 0x87, 0x0d, - 0xf7, 0x31, 0xf8, 0x7c, 0xba, 0x0b, 0xa7, 0xd8, 0x5c, 0xb5, 0x5b, 0x8e, 0x39, 0x1f, 0xfa, 0xe3, - 0x16, 0x91, 0x95, 0x88, 0x5f, 0x4f, 0xfc, 0x91, 0x2d, 0x86, 0xf3, 0xc9, 0xe7, 0xc0, 0xd6, 0xf1, - 0x8e, 0x31, 0xf1, 0x81, 0xbf, 0xd7, 0xc2, 0x73, 0xd1, 0x0e, 0x39, 0xe3, 0x54, 0x3b, 0x9e, 0xe9, - 0x26, 0xec, 0x26, 0xf9, 0x6f, 0xcc, 0xcd, 0x84, 0x11, 0x3b, 0x0f, 0x4d, 0xc7, 0x0d, 0xb2, 0x42, - 0xbb, 0x89, 0x9a, 0xaa, 0xec, 0x81, 0x81, 0x81, 0x58, 0xba, 0x46, 0x29, 0x52, 0xe1, 0x2e, 0x54, - 0xfb, 0x78, 0x2e, 0xf7, 0x02, 0x85, 0x80, 0x0c, 0x0d, 0x9a, 0x8a, 0xce, 0x17, 0x17, 0x86, 0x55, - 0x92, 0x54, 0x44, 0xba, 0x43, 0xa4, 0x14, 0x27, 0x1d, 0xb6, 0x6e, 0xcf, 0xbc, 0x65, 0x78, 0x3e, - 0x7a, 0xbc, 0xbe, 0xbb, 0x2c, 0x58, 0x9c, 0x25, 0x28, 0x02, 0xc8, 0x09, 0xe3, 0x24, 0x06, 0x52, - 0x28, 0x32, 0x52, 0xd8, 0x0b, 0xb0, 0x4e, 0xf0, 0x7c, 0xcb, 0xcc, 0xab, 0xcd, 0xed, 0x40, 0xa6, - 0xcb, 0x01, 0xb8, 0xc8, 0xdb, 0x29, 0xf3, 0x5d, 0xe9, 0x96, 0x15, 0x9f, 0xb0, 0xb6, 0x1e, 0x30, - 0x4b, 0xb8, 0xb3, 0x76, 0xc8, 0xd8, 0x40, 0xb8, 0xc2, 0x38, 0xc1, 0x22, 0x72, 0xa2, 0xc2, 0xdf, - 0xcb, 0xca, 0xef, 0xab, 0x04, 0xaf, 0x11, 0x46, 0xa3, 0x92, 0x0b, 0xa9, 0x58, 0x2d, 0x03, 0x17, - 0xed, 0x19, 0x84, 0xea, 0xd1, 0x0b, 0x49, 0x9f, 0x06, 0x3f, 0x8d, 0x04, 0x0d, 0x2e, 0xf6, 0x0d, - 0xf1, 0x67, 0xd5, 0x23, 0x0f, 0xf5, 0x51, 0xcb, 0x53, 0xc8, 0x77, 0xc9, 0x83, 0xd3, 0x68, 0x9b, - 0x72, 0x97, 0x28, 0xfe, 0x75, 0x15, 0x48, 0x06, 0xad, 0xe8, 0x5c, 0xd9, 0x31, 0x5a, 0x52, 0x0a, - 0x3e, 0x95, 0xa8, 0xeb, 0x50, 0x20, 0xa7, 0x28, 0x1e, 0xaa, 0xd0, 0xb9, 0x71, 0x32, 0xbc, 0xeb, - 0xb0, 0x25, 0x1f, 0x96, 0x19, 0xfc, 0xc2, 0x3a, 0x73, 0x83, 0x82, 0x6f, 0xff, 0xd7, 0x3d, 0xa5, - 0xbb, 0x2e, 0x6d, 0x1f, 0x6e, 0xf2, 0xbb, 0xd3, 0xa3, 0x42, 0x7c, 0x24, 0xb1, 0x8b, 0x5b, 0x8d, - 0xf6, 0x35, 0x95, 0x00, 0x08, 0xb2, 0x51, 0x05, 0x65, 0x23, 0xd6, 0xeb, 0x69, 0xba, 0x66, 0x13, - 0x9c, 0x05, 0xdc, 0xa1, 0xca, 0xce, 0x04, 0x96, 0x5e, 0xa8, 0xb2, 0x45, 0x35, 0x9b, 0xfb, 0x44, - 0xe0, 0x8c, 0xcc, 0x4b, 0x69, 0xe7, 0x26, 0x8b, 0xcb, 0x11, 0x17, 0x1f, 0x2a, 0x25, 0xaa, 0xcd, - 0x33, 0x24, 0xb0, 0xa6, 0x35, 0x3a, 0x69, 0x75, 0x09, 0xf1, 0xcd, 0x03, 0x2b, 0x2f, 0x60, 0x59, - 0xe3, 0x78, 0x20, 0xb1, 0xcb, 0x4a, 0x67, 0x9a, 0x47, 0xd9, 0x97, 0x7d, 0xc9, 0xac, 0x61, 0x07, - 0x70, 0xfd, 0x8e, 0xc0, 0x42, 0x95, 0x07, 0xe4, 0xef, 0x8b, 0xb4, 0xc0, 0x15, 0x55, 0x17, 0x5a, - 0x11, 0x39, 0x60, 0x2d, 0x2e, 0x91, 0xfe, 0x86, 0xdf, 0xa5, 0xb9, 0x55, 0x27, 0x2d, 0x3e, 0x62, - 0xb5, 0x86, 0xfd, 0x95, 0xbe, 0x6d, 0xe5, 0x9a, 0x55, 0x13, 0xbb, 0x9a, 0xf6, 0xc3, 0x65, 0x00, - 0xbb, 0x2e, 0x39, 0x3c, 0x35, 0x22, 0xc9, 0x9e, 0xf3, 0x4e, 0x9e, 0x96, 0x5b, 0x81, 0xb1, 0x94, - 0xfc, 0x29, 0x34, 0x7f, 0xf5, 0xdf, 0x0a, 0xc9, 0x7f, 0x01, 0x69, 0x72, 0x27, 0xf9, 0xef, 0x84, - 0xd5, 0x5a, 0x10, 0x83, 0x72, 0x6d, 0x1e, 0xc9, 0x96, 0x66, 0x62, 0x9e, 0x2c, 0xec, 0xd9, 0xa2, - 0x13, 0x9a, 0xdc, 0xab, 0xea, 0x4f, 0x50, 0x2e, 0xd9, 0x62, 0x89, 0x27, 0x98, 0xc8, 0xa7, 0x30, - 0x98, 0x58, 0x89, 0x82, 0x3c, 0x78, 0x79, 0xd4, 0xbb, 0x02, 0x0c, 0xc4, 0x0f, 0xcf, 0xc7, 0xb4, - 0x79, 0x18, 0x32, 0xda, 0xb0, 0x4c, 0xb4, 0x29, 0xf8, 0x32, 0xb1, 0xe8, 0x5d, 0x9a, 0x78, 0xaf, - 0xfa, 0xf3, 0x89, 0x97, 0x33, 0x93, 0xec, 0xae, 0x58, 0x65, 0xe9, 0xe9, 0xc1, 0x29, 0xfe, 0xff, - 0xec, 0xb0, 0xca, 0x54, 0x9a, 0xc5, 0x66, 0xad, 0x8a, 0xf1, 0x26, 0x18, 0x87, 0x42, 0x49, 0xbe, - 0x45, 0x3e, 0x3a, 0x2d, 0x08, 0x35, 0xb0, 0x19, 0x15, 0x59, 0x52, 0x23, 0xfb, 0x9f, 0x0b, 0x8a, - 0x61, 0x3c, 0x6e, 0x49, 0xe3, 0x19, 0x05, 0x2e, 0xbe, 0x15, 0x4f, 0xf9, 0xea, 0x79, 0x5c, 0x85, - 0x72, 0x12, 0x3f, 0xc7, 0xe5, 0x70, 0x10, 0x53, 0xef, 0xe3, 0xf1, 0x85, 0xa3, 0x55, 0x1c, 0x0b, - 0xb0, 0x4a, 0x72, 0x0c, 0x6c, 0x65, 0x85, 0x99, 0x9e, 0x75, 0x7f, 0xca, 0x85, 0x1d, 0x32, 0xad, - 0x95, 0xee, 0x7b, 0x5d, 0x23, 0x2e, 0x71, 0x4e, 0x5d, 0xf6, 0xb0, 0x7e, 0x70, 0xf0, 0x1e, 0xee, - 0x27, 0x94, 0xe9, 0x85, 0x85, 0xcd, 0x33, 0x55, 0xca, 0x31, 0xc5, 0x06, 0xcf, 0xf1, 0x97, 0x94, - 0xe5, 0x87, 0xbd, 0x22, 0x02, 0xce, 0xc2, 0xdf, 0x2e, 0xb4, 0x2d, 0x60, 0x78, 0xfe, 0xd9, 0x7d, - 0x43, 0xfd, 0x9d, 0xe9, 0x2f, 0x62, 0xa9, 0x4a, 0xf2, 0xc6, 0x62, 0xe8, 0x1e, 0x9c, 0x70, 0xc2, - 0xb4, 0xad, 0x4c, 0xb2, 0xf0, 0x51, 0x71, 0x79, 0xf7, 0xaf, 0x94, 0x6d, 0xfd, 0xb3, 0xd0, 0x4c, - 0x1a, 0x22, 0x35, 0x4e, 0x02, 0xf0, 0xb8, 0x21, 0x9b, 0x6d, 0xee, 0xff, 0x80, 0x50, 0xa4, 0xd5, - 0x9b, 0xfa, 0x82, 0x5b, 0x7c, 0x64, 0x16, 0x62, 0x42, 0x81, 0xc4, 0x82, 0x52, 0x5d, 0x78, 0x5b, - 0x0f, 0x34, 0x03, 0x8b, 0x0a, 0xc6, 0xfd, 0x7b, 0xeb, 0xf3, 0x25, 0xd2, 0xf1, 0xa4, 0x95, 0xba, - 0x5c, 0xbc, 0x6c, 0x93, 0xd5, 0x59, 0xf7, 0xd8, 0xa6, 0x3b, 0x69, 0x85, 0x5f, 0xfc, 0x77, 0x87, - 0x01, 0x1f, 0x95, 0xa1, 0x47, 0x1a, 0xb5, 0x1d, 0x17, 0x99, 0xd0, 0x05, 0x3f, 0x70, 0x64, 0x13, - 0x62, 0xa3, 0x67, 0x95, 0x37, 0x0d, 0xa8, 0xa7, 0x55, 0x75, 0x2c, 0x72, 0x2b, 0x08, 0x71, 0x24, - 0x88, 0x39, 0x80, 0xca, 0x4a, 0xfc, 0xf1, 0x15, 0xfb, 0x77, 0x22, 0x54, 0xfb, 0x23, 0x4c, 0x62, - 0x4d, 0x10, 0xd5, 0x48, 0xd5, 0x5f, 0x03, 0xb0, 0x79, 0x69, 0x25, 0xe5, 0x98, 0x1d, 0x14, 0x3d, - 0xb8, 0x66, 0xd4, 0xd8, 0xdc, 0x85, 0xde, 0x8a, 0x8d, 0xc0, 0x79, 0x74, 0x2e, 0xcc, 0xca, 0x70, - 0x46, 0xff, 0xa2, 0x35, 0x0b, 0x22, 0x9c, 0x87, 0xd0, 0x4a, 0x10, 0xa8, 0x44, 0x2b, 0xb6, 0x99, - 0x5e, 0xa5, 0xa3, 0x9d, 0xb7, 0x7b, 0x33, 0x46, 0x3d, 0xd8, 0xe5, 0xa2, 0x8f, 0x65, 0x73, 0x53, - 0x8a, 0x5e, 0x00, 0xb8, 0x80, 0x49, 0x02, 0x88, 0xc0, 0x71, 0x66, 0xef, 0x3d, 0xdd, 0x70, 0x95, - 0x98, 0xa8, 0x7b, 0x4c, 0xdf, 0xaa, 0xfd, 0x87, 0xf8, 0xf6, 0x5d, 0x92, 0xaa, 0xb4, 0x8b, 0xe0, - 0x84, 0x76, 0x01, 0x92, 0x92, 0x14, 0x92, 0x7f, 0x6d, 0x62, 0x5a, 0xed, 0xc9, 0x52, 0x57, 0xdb, - 0xab, 0x19, 0x01, 0x9a, 0x04, 0xc6, 0x94, 0x21, 0x1b, 0x70, 0x98, 0xdd, 0x46, 0x02, 0xd7, 0xf9, - 0x36, 0x09, 0x81, 0x00, 0x73, 0x12, 0x8e, 0x1a, 0xc8, 0x95, 0x8c, 0x25, 0x1b, 0x62, 0x5b, 0x89, - 0x8d, 0x1b, 0x3b, 0x6e, 0xc5, 0x1a, 0xee, 0x29, 0x43, 0xf5, 0xdf, 0x1c, 0xc7, 0xf1, 0xc7, 0x34, - 0x1d, 0xe2, 0x86, 0x38, 0x63, 0x09, 0x2d, 0x16, 0x08, 0x02, 0x00, 0x9f, 0x21, 0x5e, 0x4a, 0x5c, - 0x7d, 0x04, 0x79, 0xfe, 0xa2, 0x79, 0xce, 0x66, 0x4b, 0x99, 0x5e, 0x91, 0x77, 0xa3, 0x02, 0x6e, - 0x6b, 0x62, 0x74, 0x4c, 0xcd, 0xb5, 0x6f, 0x9f, 0x06, 0xeb, 0xee, 0x77, 0x72, 0xec, 0x96, 0x7f, - 0x09, 0x4b, 0x3d, 0xbb, 0x2c, 0x65, 0xaf, 0x35, 0x71, 0x65, 0x04, 0x57, 0x02, 0xd0, 0xe1, 0x19, - 0x25, 0xfb, 0x5d, 0xd6, 0x23, 0x38, 0x42, 0x9c, 0xe8, 0x3f, 0x94, 0x26, 0x6b, 0x92, 0x09, 0x30, - 0xb1, 0xa5, 0xfe, 0x43, 0x57, 0x7a, 0x01, 0xc7, 0x3f, 0x65, 0xe4, 0x7a, 0xc0, 0x4b, 0xdb, 0xf4, - 0x2b, 0x78, 0xb6, 0x5a, 0xd9, 0x9e, 0x5c, 0x14, 0x33, 0x43, 0x69, 0x2d, 0x17, 0x87, 0xbc, 0xa8, - 0xd7, 0x99, 0x13, 0xaf, 0x23, 0xa0, 0x1e, 0x0f, 0x2b, 0xec, 0x8a, 0x35, 0x9a, 0xd0, 0x22, 0x30, - 0xd1, 0x36, 0xd3, 0x26, 0xb7, 0x04, 0x29, 0x0c, 0x4e, 0xb4, 0x9c, 0x47, 0xa7, 0x12, 0x74, 0x28, - 0xb4, 0x22, 0x5e, 0xad, 0x21, 0x2c, 0xbb, 0x62, 0x69, 0xf4, 0x20, 0xf9, 0x22, 0x27, 0x8f, 0xb9, - 0x61, 0x9c, 0x59, 0x85, 0xbd, 0x24, 0xab, 0xba, 0x91, 0x1c, 0xa6, 0x4d, 0xb7, 0x01, 0x8c, 0x60, - 0x65, 0xd0, 0xba, 0xcc, 0x8a, 0x99, 0xeb, 0xfa, 0x3b, 0xfa, 0x2e, 0x1d, 0x8c, 0x38, 0x55, 0xe0, - 0x6c, 0x68, 0xc9, 0x51, 0x07, 0xff, 0x11, 0xb4, 0xf9, 0x92, 0xb0, 0xa0, 0x46, 0x4a, 0xf7, 0x58, - 0x79, 0x76, 0x29, 0x53, 0x82, 0x11, 0xc5, 0xb5, 0x18, 0x56, 0x6c, 0xaa, 0x4e, 0x68, 0xdf, 0x69, - 0x81, 0x67, 0xdf, 0x4e, 0x28, 0x78, 0x82, 0x0c, 0xfc, 0xbd, 0xeb, 0x61, 0xb6, 0x18, 0x6f, 0x84, - 0x37, 0x88, 0x77, 0x39, 0xdc, 0x3a, 0xf8, 0xdb, 0xa9, 0x93, 0xc4, 0x4b, 0xce, 0xd6, 0xbd, 0x6b, - 0xf7, 0x9f, 0x01, 0x60, 0x5b, 0xf4, 0x9f, 0x4f, 0xd1, 0xdd, 0x0b, 0xbe, 0x63, 0x8d, 0x09, 0x44, - 0xa6, 0xc8, 0xbf, 0x9e, 0x80, 0x8c, 0xf5, 0xdb, 0xc0, 0x81, 0x51, 0x98, 0x18, 0x6e, 0x23, 0xa2, - 0xce, 0x02, 0x7a, 0xc0, 0xa4, 0xdf, 0xac, 0xa0, 0x9f, 0x71, 0x33, 0xbe, 0x39, 0x9c, 0xc4, 0x0a, - 0xb8, 0xb6, 0xf2, 0x68, 0x28, 0x5b, 0x21, 0xcb, 0x95, 0x66, 0x2b, 0xa5, 0x51, 0xd9, 0x4f, 0xdc, - 0xd2, 0xf5, 0x12, 0x84, 0x89, 0x30, 0x2b, 0x06, 0x95, 0x93, 0x25, 0x80, 0x84, 0x4e, 0x5c, 0x77, - 0x97, 0x6a, 0x8f, 0x88, 0x76, 0x0a, 0xdc, 0x11, 0xff, 0x43, 0xf6, 0x2b, 0x61, 0xa1, 0x00, 0xfd, - 0xc2, 0x17, 0x96, 0xe6, 0xd1, 0x34, 0x1f, 0x01, 0x33, 0x79, 0x88, 0x72, 0x1c, 0xff, 0x35, 0x8d, - 0x7f, 0x46, 0x51, 0x4c, 0x13, 0xe7, 0xe3, 0x37, 0xd5, 0xf5, 0xd6, 0xa7, 0x43, 0xeb, 0x37, 0x2d, - 0xc1, 0xeb, 0xfd, 0x61, 0x38, 0xa5, 0xb5, 0x1b, 0x1c, 0x12, 0xba, 0xfb, 0xcf, 0xb6, 0x8d, 0xe2, - 0x31, 0xd7, 0x1e, 0xe8, 0x02, 0x5d, 0x80, 0x5c, 0x0b, 0x47, 0x97, 0x4d, 0xca, 0x43, 0x39, 0xd8, - 0xf0, 0x99, 0x51, 0x13, 0xdd, 0x9e, 0x44, 0x14, 0x6d, 0x06, 0x8a, 0x45, 0xbb, 0x99, 0x55, 0x6a, - 0x5b, 0x7d, 0x7d, 0x43, 0x6b, 0x31, 0x70, 0xcb, 0x15, 0x1a, 0x86, 0x8e, 0xf8, 0x94, 0xa1, 0xd6, - 0x83, 0x77, 0xe8, 0xe8, 0x08, 0x5e, 0xb3, 0x9a, 0x9a, 0x57, 0x0a, 0xb4, 0x40, 0x5a, 0x09, 0xc1, - 0x7c, 0x37, 0x8d, 0xae, 0xcb, 0xce, 0x78, 0x5f, 0x32, 0x39, 0xe8, 0xba, 0x9d, 0xcb, 0xad, 0xc7, - 0xcb, 0xb5, 0xd2, 0xd0, 0x46, 0xcc, 0x49, 0x2b, 0xf5, 0x65, 0x18, 0x6b, 0x1a, 0x9c, 0x45, 0xf5, - 0x7a, 0x77, 0x8e, 0x88, 0x87, 0xdb, 0xc3, 0xae, 0x7c, 0xa2, 0xde, 0x77, 0xf2, 0xf8, 0x2a, 0x19, - 0x3d, 0x50, 0xe4, 0x04, 0x84, 0xc0, 0xf3, 0xb2, 0xde, 0xf1, 0xc0, 0x22, 0x53, 0xd0, 0xda, 0x51, - 0x39, 0x6a, 0x93, 0x3a, 0x24, 0xe3, 0x95, 0xc0, 0x2a, 0xba, 0xee, 0x87, 0xf9, 0x6e, 0x51, 0x03, - 0x96, 0xb6, 0x2a, 0xcc, 0xe0, 0x2f, 0x07, 0x4d, 0xc6, 0x7d, 0x0c, 0x76, 0x9c, 0x2a, 0x63, 0x49, - 0x56, 0x93, 0x10, 0x09, 0xeb, 0x81, 0x0e, 0x10, 0xcd, 0x2a, 0x3f, 0xf1, 0xb8, 0xe8, 0xed, 0xf6, - 0x24, 0x42, 0x85, 0x95, 0x89, 0x6d, 0x8d, 0x82, 0xaf, 0x5f, 0x53, 0x86, 0x61, 0x62, 0x16, 0xfe, - 0x2e, 0x94, 0xe2, 0x00, 0x63, 0x7e, 0xe9, 0x75, 0xd5, 0x12, 0x65, 0x73, 0xa9, 0x35, 0xb8, 0x93, - 0xf3, 0xbd, 0x60, 0xe0, 0xd3, 0xac, 0x90, 0xbf, 0x54, 0x4f, 0x78, 0xa0, 0xaa, 0xd2, 0xab, 0x18, - 0xcf, 0xda, 0x83, 0xf3, 0xaa, 0x32, 0x1a, 0x29, 0x18, 0xfd, 0xf2, 0xbe, 0xaa, 0x33, 0xfd, 0xd3, - 0x1c, 0x48, 0x88, 0x89, 0x7a, 0xb4, 0x37, 0xb9, 0x96, 0xee, 0x76, 0x79, 0x84, 0x06, 0xa8, 0x0b, - 0x03, 0xef, 0x43, 0xa3, 0x63, 0xcf, 0x20, 0xe9, 0xd5, 0x88, 0x96, 0xcd, 0x30, 0x50, 0x79, 0x64, - 0x79, 0x4a, 0x69, 0xe8, 0x8f, 0x6b, 0x35, 0x8d, 0xbf, 0x6e, 0x00, 0xe9, 0xe7, 0x48, 0x62, 0xdc, - 0x1c, 0x08, 0x0a, 0x14, 0x25, 0xf4, 0x06, 0x25, 0x6d, 0x8f, 0x22, 0xda, 0x59, 0xb7, 0x38, 0xa4, - 0x80, 0xc0, 0x72, 0xae, 0x1b, 0x0d, 0xf2, 0x66, 0x30, 0x28, 0x35, 0x00, 0xd1, 0xc9, 0xde, 0x3a, - 0x9c, 0xb4, 0x3e, 0x50, 0x83, 0xfa, 0x7a, 0xdf, 0xf3, 0x76, 0xe6, 0x44, 0x11, 0x7d, 0xde, 0x58, - 0x37, 0x9a, 0x45, 0xa0, 0x2e, 0x87, 0xd9, 0xb3, 0xa6, 0x8e, 0x01, 0x00, 0x58, 0x87, 0x61, 0x34, - 0xfb, 0x4f, 0xbb, 0xef, 0x47, 0xbe, 0x24, 0x6b, 0x1e, 0x57, 0xc7, 0x7a, 0x9e, 0x0b, 0x61, 0xc4, - 0x2d, 0x93, 0x24, 0x75, 0x2a, 0x17, 0xbc, 0x79, 0x62, 0x15, 0x7f, 0x74, 0x17, 0x68, 0x41, 0xda, - 0x57, 0x63, 0x7e, 0x53, 0xf5, 0xe2, 0x81, 0xbb, 0x33, 0x54, 0x1e, 0xb8, 0x02, 0xee, 0x08, 0xd7, - 0x8f, 0xc0, 0xd0, 0xb7, 0xb5, 0xdd, 0xa6, 0x7d, 0x8c, 0x1f, 0x23, 0xe9, 0x7f, 0x65, 0x79, 0x13, - 0x01, 0x52, 0x1e, 0x93, 0x09, 0xc1, 0x44, 0xb6, 0x93, 0x3d, 0x58, 0xa9, 0xa6, 0x60, 0xcf, 0xaa, - 0x68, 0x1c, 0x34, 0x68, 0x30, 0x7e, 0xfa, 0xdd, 0x9e, 0xcf, 0xbc, 0x02, 0x91, 0x18, 0x33, 0x80, - 0xa3, 0xf9, 0x62, 0xac, 0x10, 0x1b, 0x7f, 0x83, 0x92, 0xa3, 0x15, 0xcd, 0x59, 0x33, 0xfc, 0x36, - 0x3b, 0xcc, 0x47, 0xff, 0xfb, 0x89, 0x7c, 0xbc, 0xc5, 0xd7, 0x49, 0x08, 0x47, 0xf9, 0x79, 0xe6, - 0x26, 0xad, 0x0b, 0x50, 0xb3, 0x19, 0xa5, 0x9a, 0x4b, 0x30, 0x34, 0xdf, 0xef, 0x72, 0xb6, 0x10, - 0xcc, 0xd7, 0xa0, 0x5b, 0xb9, 0x1a, 0xda, 0xb6, 0x31, 0x0a, 0x96, 0xfc, 0xe9, 0xba, 0xfe, 0x26, - 0xc8, 0x06, 0x55, 0xb4, 0xab, 0x9f, 0x0d, 0x0a, 0xdb, 0x74, 0xfa, 0xd6, 0x6f, 0x89, 0xf9, 0x44, - 0x6f, 0x68, 0xcf, 0xc4, 0xac, 0x70, 0xbe, 0x7a, 0x8f, 0x9e, 0x79, 0xd7, 0xeb, 0xcb, 0xa1, 0x6d, - 0x52, 0xad, 0x37, 0x5e, 0xdd, 0x30, 0x0e, 0x90, 0xf9, 0x29, 0x98, 0x3f, 0x62, 0x73, 0x94, 0xea, - 0x22, 0xcd, 0x3d, 0x91, 0x3a, 0xc6, 0x31, 0xfb, 0x5c, 0x1d, 0xa7, 0x34, 0x28, 0xfe, 0x0f, 0xc5, - 0x8e, 0x50, 0xbe, 0xc4, 0xd0, 0xf5, 0x31, 0x16, 0x2d, 0x2a, 0x90, 0x78, 0xf0, 0xaa, 0x25, 0xb7, - 0x1f, 0x3f, 0xf5, 0x83, 0x44, 0x45, 0x55, 0xc8, 0x5f, 0xe6, 0xad, 0x60, 0xb3, 0x0f, 0x0c, 0x0f, - 0xad, 0x04, 0xd0, 0xca, 0x1e, 0x38, 0xf8, 0xa2, 0xf2, 0xd4, 0x0a, 0x7d, 0x2e, 0x72, 0x7f, 0x18, - 0xda, 0xde, 0x88, 0xb2, 0xe3, 0xcc, 0x84, 0x25, 0x47, 0xac, 0xb0, 0x18, 0xb0, 0x9c, 0x6a, 0x1e, - 0xba, 0xae, 0x1d, 0xf1, 0xa2, 0xd7, 0x92, 0xb7, 0x5f, 0xb6, 0xf7, 0x9e, 0xc1, 0xe1, 0x92, 0xa5, - 0xc3, 0x00, 0x5e, 0x3d, 0x6d, 0x69, 0x29, 0x16, 0xfe, 0x30, 0x4e, 0x6c, 0xb6, 0xaf, 0xb1, 0x09, - 0xe6, 0xeb, 0x62, 0xcd, 0x8a, 0xa8, 0x9a, 0x5e, 0xca, 0x65, 0x7d, 0x6a, 0x36, 0x93, 0x40, 0xf9, - 0x2f, 0xad, 0x1b, 0x57, 0xb1, 0x58, 0x44, 0x55, 0x93, 0x15, 0xcb, 0x9c, 0xb2, 0xf1, 0x8d, 0x8a, - 0x7d, 0x5e, 0xd8, 0xc1, 0xbc, 0x0f, 0xb7, 0x24, 0x81, 0xd2, 0xd3, 0x4a, 0xf1, 0x95, 0xc1, 0xdc, - 0x84, 0xe6, 0x37, 0xa2, 0x10, 0xc5, 0xb2, 0xfc, 0xf9, 0xd3, 0x5b, 0x7b, 0x81, 0x1a, 0xa7, 0xac, - 0xd4, 0xf5, 0x5e, 0xd0, 0x05, 0x18, 0x57, 0x53, 0x88, 0xf9, 0xeb, 0x54, 0xbf, 0x3b, 0x29, 0xc5, - 0x5e, 0xb4, 0xc0, 0x07, 0xd8, 0x53, 0x98, 0x32, 0x04, 0xc6, 0x19, 0x0c, 0x96, 0xc3, 0x61, 0x7d, - 0xdc, 0x08, 0xdd, 0xe3, 0x2d, 0x7d, 0x9b, 0x42, 0x9c, 0xc3, 0x94, 0x9e, 0x6e, 0x7b, 0xcd, 0xe1, - 0x68, 0xdd, 0x67, 0x2d, 0xf5, 0x6c, 0xec, 0xd4, 0xc8, 0xd8, 0xe8, 0xcd, 0xa7, 0xdc, 0xe0, 0x23, - 0x72, 0xb5, 0x77, 0x53, 0x61, 0x10, 0xa1, 0xbd, 0x73, 0x8e, 0x06, 0xc2, 0x30, 0x33, 0xba, 0xca, - 0xd4, 0x12, 0xf9, 0x55, 0xba, 0x52, 0x13, 0x4c, 0xfb, 0xb2, 0xd8, 0x26, 0x4e, 0x99, 0xa8, 0x22, - 0x6f, 0xc4, 0x18, 0xfb, 0x44, 0xe0, 0xb1, 0xd5, 0xa2, 0xfb, 0x6d, 0xa7, 0x9d, 0x8d, 0x0b, 0x9d, - 0x5c, 0xb5, 0x76, 0xcb, 0x89, 0x37, 0x12, 0x4e, 0xba, 0x00, 0x42, 0x54, 0x16, 0x97, 0x8e, 0xb1, - 0x71, 0x9f, 0xb2, 0x25, 0x58, 0xda, 0x67, 0xaf, 0x9f, 0xa5, 0xaf, 0x42, 0x8c, 0x00, 0xab, 0x5e, - 0x24, 0x27, 0x7a, 0xb2, 0x44, 0xe8, 0x61, 0x03, 0xa3, 0x03, 0x8e, 0x8a, 0x85, 0xb7, 0xba, 0xe1, - 0x04, 0x1b, 0x8a, 0x01, 0xa5, 0x06, 0x2f, 0xf7, 0xbb, 0x8a, 0x9f, 0x3b, 0xe9, 0x36, 0xcd, 0xc4, - 0x46, 0x2a, 0x01, 0x48, 0x37, 0x04, 0x41, 0x28, 0xd7, 0xe2, 0x1e, 0x85, 0x26, 0x38, 0x51, 0xdc, - 0x3b, 0xd5, 0x88, 0x31, 0xe4, 0x41, 0xfb, 0x46, 0xed, 0x83, 0x5e, 0x29, 0x80, 0xe7, 0x1b, 0x19, - 0xed, 0xa3, 0xf6, 0x76, 0x39, 0x55, 0x63, 0xfc, 0x7e, 0xea, 0x0b, 0x3d, 0x7d, 0x64, 0x3e, 0xe6, - 0xb1, 0xde, 0x06, 0x6a, 0xce, 0x3b, 0x70, 0x7a, 0x5a, 0x2c, 0x59, 0x30, 0x6f, 0x30, 0xe3, 0x2f, - 0x4b, 0x65, 0x1c, 0xef, 0xec, 0x5d, 0x3e, 0xea, 0x2f, 0xf4, 0x6e, 0xb9, 0x42, 0xef, 0xfb, 0x18, - 0xfd, 0x7c, 0x31, 0xda, 0xd3, 0x40, 0x80, 0xb3, 0x05, 0x4b, 0x7a, 0xb4, 0x33, 0x3d, 0xf0, 0xb5, - 0x4a, 0x96, 0x9a, 0xc3, 0x6d, 0x9e, 0x36, 0x1d, 0x66, 0xfa, 0xb0, 0x66, 0xb8, 0xe7, 0x95, 0x9b, - 0xca, 0x18, 0x11, 0x87, 0xd7, 0xd3, 0xee, 0xa0, 0x19, 0xc2, 0x0c, 0x8b, 0xf7, 0x66, 0x67, 0xc3, - 0x9a, 0x70, 0x35, 0xd7, 0x44, 0xda, 0xaa, 0x34, 0x9a, 0x59, 0x15, 0xf9, 0x2c, 0xa5, 0x92, 0x94, - 0x38, 0x74, 0xaf, 0x3b, 0x7b, 0x66, 0xb7, 0x66, 0xc3, 0x0d, 0x1e, 0xbc, 0xc2, 0x0a, 0xfa, 0xb3, - 0xbc, 0xb2, 0x1d, 0x8b, 0xa4, 0x91, 0x46, 0x54, 0x2a, 0xf6, 0x62, 0xf9, 0xe1, 0x70, 0x55, 0x20, - 0x78, 0xb5, 0x6b, 0x72, 0xa1, 0xa3, 0x5b, 0x47, 0xf0, 0x5c, 0x40, 0x60, 0x03, 0xe0, 0xf0, 0xb4, - 0xd8, 0x8d, 0xe8, 0xb5, 0xd0, 0x59, 0x58, 0x4d, 0xea, 0x14, 0x5b, 0x7b, 0x97, 0x41, 0xc7, 0xe9, - 0x1f, 0x13, 0x68, 0x1f, 0x49, 0x13, 0xad, 0x3d, 0x27, 0x2a, 0xda, 0x3e, 0xa6, 0x08, 0xc8, 0x2d, - 0x73, 0xb8, 0xa9, 0x5f, 0x21, 0x85, 0x66, 0x58, 0x5d, 0x86, 0x55, 0xb9, 0x38, 0x7e, 0x98, 0xb6, - 0x9a, 0x1d, 0x2c, 0xe7, 0x9e, 0x37, 0x2b, 0x7b, 0x87, 0xbb, 0x43, 0x74, 0x08, 0xea, 0x3a, 0xe4, - 0x60, 0x26, 0x04, 0x32, 0xf6, 0x09, 0x62, 0xec, 0xf9, 0x3f, 0x71, 0x33, 0x6b, 0xe2, 0xfe, 0xff, - 0xa8, 0x82, 0x6c, 0x4c, 0x04, 0xbe, 0xd1, 0xb2, 0x13, 0xfe, 0x6d, 0x77, 0x32, 0xdb, 0xe5, 0x77, - 0x42, 0xed, 0x21, 0x68, 0xe8, 0x0f, 0xa7, 0xa7, 0x98, 0x75, 0x2d, 0x0e, 0x13, 0xfd, 0xdc, 0xdf, - 0x26, 0x95, 0x5f, 0xad, 0xa7, 0x6a, 0x51, 0x16, 0x49, 0xde, 0xd5, 0x67, 0xab, 0xd0, 0x40, 0x61, - 0xdd, 0xfc, 0x30, 0xd2, 0x64, 0x9c, 0x5d, 0xd9, 0xe2, 0x64, 0x3c, 0x23, 0x9b, 0x10, 0x78, 0x0b, - 0xc2, 0x0d, 0x67, 0x4c, 0xc2, 0x75, 0x88, 0x68, 0xcf, 0x61, 0x1a, 0x96, 0xe8, 0x80, 0xe6, 0xd0, - 0x02, 0x3a, 0x4c, 0x00, 0xe2, 0xb8, 0x8d, 0xd0, 0x32, 0x26, 0x00, 0xe9, 0x07, 0xff, 0xaf, 0x5e, - 0xc0, 0xfc, 0xf6, 0xb0, 0x1c, 0x02, 0xae, 0x3c, 0xe5, 0x9e, 0x12, 0x9c, 0x00, 0xc4, 0xd4, 0xe6, - 0x1a, 0x37, 0x72, 0xd2, 0x79, 0x1e, 0x9f, 0x7e, 0x76, 0x04, 0x1e, 0xfd, 0x8b, 0x27, 0x88, 0x9d, - 0x12, 0xa1, 0x33, 0xd1, 0xfa, 0x2a, 0x52, 0x9e, 0x6c, 0x33, 0x07, 0xed, 0xb8, 0x07, 0xc6, 0xec, - 0x07, 0x4f, 0xb6, 0xe1, 0x08, 0xcd, 0x58, 0xa8, 0x25, 0xdd, 0x8a, 0x57, 0xe4, 0xfe, 0x61, 0x2c, - 0xc7, 0x47, 0xfc, 0xd6, 0xa1, 0xc1, 0xf0, 0xbb, 0xea, 0xbb, 0x28, 0x6d, 0x55, 0xf9, 0x3a, 0xa8, - 0xb2, 0x07, 0x20, 0x2e, 0x7d, 0x37, 0x85, 0x2f, 0x10, 0x3f, 0x05, 0xbd, 0x38, 0xb3, 0xa0, 0xe4, - 0x75, 0x22, 0x8b, 0xd1, 0xab, 0x14, 0xc6, 0x67, 0x34, 0x02, 0x8e, 0xbf, 0x4f, 0xd1, 0x58, 0x9f, - 0x5e, 0xce, 0x60, 0xff, 0xb3, 0x8b, 0xc4, 0x1d, 0x9a, 0x1a, 0x6b, 0x4a, 0x60, 0xe6, 0x3f, 0xb5, - 0x72, 0x19, 0xcf, 0xf6, 0xdf, 0x89, 0x39, 0x68, 0xdf, 0x75, 0xfc, 0xb9, 0x79, 0xc2, 0xcd, 0xe6, - 0x89, 0xe2, 0x00, 0x14, 0xf1, 0xa1, 0x70, 0x26, 0xea, 0x7b, 0xa9, 0x95, 0xcf, 0xf8, 0x67, 0xd3, - 0x33, 0xd9, 0x3f, 0xc9, 0x1e, 0xa7, 0xeb, 0xa9, 0xe8, 0x82, 0xf2, 0xb8, 0xca, 0x42, 0x3a, 0x50, - 0xb8, 0x67, 0x32, 0x76, 0x29, 0x96, 0xc7, 0xd0, 0x7c, 0xd5, 0x55, 0xd9, 0xfa, 0xa4, 0x9a, 0xb4, - 0x06, 0x95, 0x28, 0xf2, 0x46, 0xb7, 0xba, 0x1b, 0x47, 0x1f, 0xdc, 0x0e, 0x9b, 0xc4, 0x91, 0xe2, - 0x67, 0x1c, 0xd9, 0x78, 0xd0, 0x10, 0x89, 0x6a, 0x5a, 0xa3, 0x4c, 0x84, 0xa7, 0x3e, 0x6b, 0xd1, - 0x71, 0xec, 0xeb, 0x11, 0xa6, 0x76, 0x80, 0x33, 0x7f, 0x30, 0x74, 0xde, 0x69, 0x56, 0x1d, 0x96, - 0x6f, 0x75, 0xef, 0x81, 0x95, 0xc2, 0xc6, 0x72, 0xd6, 0xe8, 0x90, 0xe7, 0x3c, 0x9d, 0x81, 0x46, - 0x72, 0x88, 0x66, 0xdc, 0xb0, 0x6e, 0x44, 0xb0, 0x9b, 0xcd, 0x65, 0xf0, 0x51, 0xb2, 0xa3, 0xcf, - 0x95, 0x4c, 0x82, 0x0e, 0xa7, 0x5d, 0x18, 0x8b, 0x48, 0xea, 0x2d, 0x44, 0x25, 0xb6, 0x9a, 0xf9, - 0x65, 0x07, 0x82, 0xfe, 0x65, 0xa3, 0x8a, 0xbf, 0xe2, 0x51, 0xb4, 0xc9, 0xb6, 0x81, 0x46, 0x3d, - 0x56, 0x21, 0xe9, 0x53, 0x31, 0xda, 0x67, 0xb4, 0x20, 0x6b, 0x4e, 0xb7, 0xec, 0x32, 0xc4, 0x0c, - 0x02, 0x9c, 0xe7, 0xe1, 0xbc, 0x16, 0x8d, 0xe7, 0x9e, 0x4e, 0x09, 0x22, 0xae, 0x6e, 0x63, 0xfa, - 0x24, 0xb2, 0x1c, 0xfa, 0xab, 0x90, 0xa0, 0x72, 0xc1, 0xb4, 0x9a, 0xa3, 0x6a, 0xbe, 0xab, 0x00, - 0x9b, 0x6a, 0xc0, 0x3a, 0x93, 0x64, 0x6e, 0xa5, 0x2c, 0x2c, 0x1f, 0x02, 0x7f, 0x6f, 0xc0, 0x06, - 0x26, 0x69, 0x2f, 0x0b, 0x99, 0xfe, 0x56, 0xf3, 0x3e, 0x59, 0xd0, 0x3b, 0x85, 0xff, 0xa0, 0xf7, - 0xb4, 0x92, 0xd8, 0x2b, 0x86, 0xf2, 0x17, 0x7d, 0xa0, 0xe0, 0xc9, 0xd7, 0xa9, 0xef, 0xa6, 0x7e, - 0xec, 0xff, 0x69, 0xe0, 0x6e, 0x8a, 0xb5, 0xd5, 0x32, 0x34, 0x51, 0x40, 0xd7, 0x29, 0x78, 0xa6, - 0x5e, 0xf3, 0xe7, 0x10, 0x97, 0xbb, 0x9c, 0x12, 0x63, 0x46, 0xff, 0xad, 0x56, 0x5e, 0x5e, 0x22, - 0x77, 0xd2, 0xff, 0x66, 0x4d, 0x56, 0xce, 0x84, 0xe3, 0x81, 0xb2, 0x6a, 0x20, 0x72, 0x84, 0x99, - 0x3c, 0xc4, 0xad, 0x5c, 0x35, 0xe1, 0x6e, 0x26, 0x47, 0xca, 0xe9, 0x71, 0x08, 0x6c, 0x04, 0xce, - 0x34, 0x8e, 0x61, 0x81, 0xd9, 0xa4, 0xf1, 0x8a, 0xbf, 0x20, 0x86, 0x90, 0x01, 0x58, 0xf2, 0x32, - 0x62, 0xe6, 0xc6, 0x93, 0x23, 0x2d, 0xb4, 0x86, 0x54, 0x08, 0x81, 0x74, 0x6c, 0xd5, 0x98, 0x66, - 0x96, 0xa7, 0x25, 0x98, 0xe5, 0xfa, 0x20, 0xff, 0x12, 0xc1, 0xad, 0xb8, 0xfc, 0x95, 0xfb, 0xe5, - 0xcc, 0x61, 0x46, 0xc5, 0xd1, 0x46, 0x04, 0x45, 0xd7, 0x44, 0x79, 0x7b, 0x60, 0xa0, 0xc8, 0x46, - 0xb5, 0x02, 0x78, 0x95, 0xa9, 0x41, 0x38, 0x3a, 0xdb, 0xb8, 0x2c, 0xbd, 0x53, 0x21, 0x4c, 0xaa, - 0x87, 0x40, 0x98, 0xb5, 0x56, 0xb4, 0xc3, 0xd1, 0x16, 0xcb, 0x56, 0x17, 0xcb, 0x89, 0xee, 0xf2, - 0xa9, 0x77, 0xc4, 0x0a, 0xe8, 0xb9, 0x3e, 0x52, 0x5c, 0x3d, 0x23, 0xaa, 0x27, 0x33, 0xa5, 0x1d, - 0x26, 0xa5, 0xe6, 0x87, 0x54, 0xbf, 0xe2, 0xcb, 0xcf, 0x07, 0xb4, 0xcd, 0x80, 0x87, 0xdc, 0x6f, - 0x8c, 0x7b, 0xbb, 0x67, 0x3e, 0x94, 0x12, 0xa5, 0xf9, 0x22, 0x56, 0x6c, 0x04, 0x96, 0x7c, 0x6c, - 0x8c, 0xf9, 0x15, 0x20, 0xd4, 0x61, 0xb0, 0x2d, 0x2f, 0xab, 0xd7, 0xec, 0x16, 0x06, 0x7a, 0xfe, - 0x2a, 0x1d, 0x09, 0x53, 0x38, 0xcb, 0xe2, 0x3c, 0x23, 0x4f, 0x44, 0x91, 0x37, 0x56, 0x19, 0x59, - 0x4f, 0x19, 0x53, 0x07, 0x82, 0x68, 0x85, 0x48, 0x47, 0x06, 0x37, 0x6c, 0xa4, 0x13, 0x57, 0x9f, - 0xb2, 0x66, 0x5f, 0xf3, 0x9c, 0x6c, 0x1f, 0x18, 0x56, 0x6c, 0xd9, 0x3d, 0x08, 0x06, 0xea, 0xd3, - 0x80, 0x62, 0xea, 0x0c, 0x52, 0x16, 0xe5, 0x53, 0xff, 0x68, 0x68, 0x7c, 0x82, 0xa4, 0x32, 0x60, - 0xbb, 0xd6, 0xef, 0x98, 0xd7, 0xe2, 0x8f, 0xce, 0xd8, 0x16, 0x56, 0xc7, 0x8d, 0xce, 0xc6, 0x6a, - 0x21, 0xd4, 0x92, 0xae, 0x12, 0x50, 0x34, 0x42, 0x76, 0x10, 0x72, 0xe1, 0xed, 0x16, 0x97, 0xbf, - 0x08, 0xc3, 0xcb, 0x60, 0x80, 0x1e, 0x80, 0xea, 0xec, 0x96, 0x5f, 0xdc, 0xfc, 0xf8, 0xea, 0x3f, - 0x76, 0x41, 0x00, 0x3d, 0xe3, 0x49, 0x84, 0x1e, 0x30, 0xae, 0x01, 0xaf, 0xbf, 0x18, 0x0d, 0x53, - 0xdd, 0xde, 0xb5, 0x63, 0xb1, 0xa9, 0x86, 0x7d, 0xb3, 0xa2, 0x2b, 0x2d, 0x4a, 0x60, 0x7d, 0x9b, - 0xc3, 0x4a, 0xe5, 0xb4, 0x84, 0xd7, 0xdc, 0x78, 0xfb, 0xdf, 0xf8, 0x58, 0x3a, 0x17, 0xa6, 0xd3, - 0xd7, 0x16, 0xaf, 0xab, 0x62, 0x8d, 0xad, 0xf5, 0xf6, 0xdb, 0xc9, 0x5e, 0x88, 0xab, 0x79, 0xaa, - 0x80, 0xdf, 0xcb, 0xf1, 0x46, 0x22, 0x99, 0xa0, 0x9a, 0x36, 0xdc, 0x0f, 0xa1, 0x35, 0x5b, 0xa2, - 0x84, 0x03, 0xfc, 0xe3, 0xd2, 0xbe, 0xe7, 0xae, 0x17, 0xbf, 0x24, 0x85, 0x07, 0x9e, 0xed, 0x49, - 0x7f, 0x20, 0x42, 0xa1, 0x1a, 0x49, 0x4b, 0x2c, 0xbc, 0x8b, 0x04, 0xe2, 0x68, 0x1e, 0xcb, 0xfa, - 0x8b, 0x75, 0xf8, 0x4f, 0x54, 0x2a, 0x26, 0xe6, 0x86, 0xe3, 0x4d, 0xf4, 0xb8, 0xe0, 0xb7, 0x0c, - 0xa8, 0x36, 0x32, 0x62, 0x21, 0xfd, 0x8b, 0xaa, 0x8d, 0x15, 0x77, 0x78, 0x77, 0xa2, 0xec, 0xf5, - 0x08, 0x73, 0x9e, 0xd7, 0xc4, 0xa3, 0xb5, 0x62, 0x19, 0x7f, 0xb3, 0x51, 0xf4, 0x23, 0x92, 0x26, - 0xdb, 0x7e, 0x05, 0x9a, 0x33, 0x1e, 0xd5, 0xb4, 0xbc, 0xa6, 0xb9, 0x48, 0x9b, 0xce, 0x0c, 0x52, - 0x9a, 0xca, 0xd8, 0x44, 0x9d, 0xfa, 0x7e, 0x86, 0xc2, 0x75, 0x2c, 0xee, 0x16, 0x61, 0x5f, 0x08, - 0x4a, 0xce, 0x3e, 0x19, 0x3f, 0x57, 0x69, 0x82, 0x9c, 0x8d, 0xdb, 0x4d, 0xce, 0x2c, 0x02, 0x24, - 0xf9, 0xb4, 0xb7, 0xd9, 0x5b, 0x44, 0x19, 0x07, 0x90, 0x79, 0x9d, 0xd9, 0xd0, 0x38, 0x4e, 0xd4, - 0x85, 0xbb, 0x3b, 0x89, 0xa7, 0xb5, 0x22, 0xae, 0xba, 0x99, 0x99, 0xa3, 0xa3, 0x80, 0x50, 0x70, - 0xc2, 0x26, 0xe6, 0xdc, 0x32, 0x96, 0x5c, 0x5b, 0xe9, 0x05, 0x0a, 0xd5, 0xcf, 0xa1, 0x46, 0xae, - 0x21, 0x41, 0xc0, 0xb6, 0x85, 0x51, 0xdc, 0x79, 0xd3, 0x0f, 0xf8, 0xb7, 0xb2, 0x04, 0x2e, 0x52, - 0x66, 0xfe, 0xdd, 0x14, 0xbe, 0x73, 0xc3, 0xf1, 0xc6, 0x79, 0x9a, 0x5f, 0x7f, 0x22, 0x67, 0xe3, - 0xeb, 0xf4, 0xf6, 0x07, 0xb5, 0x7c, 0x0e, 0x20, 0x2a, 0x47, 0x91, 0x4d, 0xec, 0xd1, 0x50, 0xf1, - 0xd0, 0x9d, 0xe1, 0x39, 0x76, 0x39, 0xaa, 0xea, 0x4c, 0x98, 0x89, 0xfa, 0x3e, 0xad, 0xcf, 0x79, - 0xd5, 0x09, 0xcd, 0x47, 0x92, 0x86, 0x8f, 0xdf, 0x31, 0x79, 0x90, 0x57, 0x7c, 0x07, 0x1f, 0x24, - 0xe0, 0x97, 0x51, 0xe4, 0xd6, 0x51, 0x3f, 0x7c, 0x83, 0x77, 0xa7, 0xb1, 0x9d, 0x70, 0x1f, 0xef, - 0x82, 0xdb, 0xe9, 0x8f, 0x41, 0xca, 0xae, 0x7a, 0x49, 0x8d, 0x91, 0xd9, 0x1e, 0x29, 0x17, 0x46, - 0x4c, 0xdb, 0xde, 0xef, 0xe1, 0xce, 0xba, 0xdf, 0xbf, 0xec, 0x06, 0x7e, 0xb0, 0xe2, 0x95, 0x4c, - 0x57, 0x52, 0xde, 0x53, 0xf4, 0x8d, 0xb7, 0x5f, 0x65, 0xec, 0x5b, 0xc9, 0xb8, 0xc0, 0x46, 0xf9, - 0x76, 0x03, 0x74, 0xe6, 0x81, 0x15, 0x65, 0x19, 0x54, 0x00, 0xcd, 0x46, 0xa2, 0x6e, 0x59, 0xa0, - 0x70, 0x70, 0x98, 0xef, 0xcb, 0xe0, 0xd6, 0xda, 0x97, 0xcc, 0x5a, 0xbe, 0x94, 0x80, 0x38, 0x51, - 0xde, 0x16, 0x47, 0x76, 0xa6, 0x6e, 0x1b, 0x83, 0xe8, 0xe5, 0x66, 0x0c, 0xca, 0x90, 0x9e, 0x9e, - 0x61, 0x1b, 0xd8, 0x2b, 0x4f, 0xb3, 0x49, 0x46, 0x2b, 0x7a, 0xdf, 0x3f, 0xa0, 0xa1, 0xff, 0xc5, - 0xdc, 0x26, 0xef, 0xd0, 0x0f, 0x0d, 0xe8, 0x70, 0xaa, 0xe1, 0xe0, 0x7b, 0x2b, 0x01, 0xf3, 0x1e, - 0xd3, 0xc0, 0x62, 0x4e, 0x18, 0x7d, 0x28, 0xcf, 0x4d, 0x9e, 0x2e, 0x1b, 0x56, 0xba, 0xdc, 0x42, - 0x8e, 0x66, 0x35, 0xbe, 0xdf, 0xf6, 0xc0, 0x8c, 0x90, 0x1f, 0x0a, 0x96, 0xc3, 0xc9, 0x40, 0x9e, - 0xed, 0xb8, 0x61, 0x06, 0x02, 0xb3, 0xc1, 0x5c, 0xfd, 0xa0, 0xc5, 0x6b, 0x29, 0x4a, 0xbf, 0x83, - 0x80, 0xf4, 0x01, 0xad, 0x36, 0x6c, 0xdb, 0x21, 0x8d, 0xcc, 0x71, 0xb4, 0xac, 0x12, 0x72, 0x61, - 0x27, 0x06, 0xbe, 0x4f, 0xb0, 0x7f, 0x50, 0x44, 0xe7, 0xfa, 0x6c, 0x9a, 0xb8, 0x6f, 0x3e, 0x9c, - 0x97, 0xb4, 0x51, 0x91, 0xb0, 0x76, 0x47, 0x08, 0x61, 0xda, 0xa9, 0x3d, 0x89, 0x2b, 0xe4, 0xf8, - 0xcd, 0x9e, 0x16, 0x6d, 0x77, 0x80, 0x15, 0x16, 0xca, 0xac, 0x60, 0x76, 0x81, 0x83, 0xdb, 0x7e, - 0xfc, 0xad, 0x27, 0x8d, 0x0e, 0x33, 0xc4, 0x22, 0x1d, 0x34, 0x8a, 0xf9, 0xc1, 0xc9, 0x87, 0xcd, - 0x11, 0xa7, 0x14, 0xb8, 0x44, 0xe4, 0x78, 0x59, 0xba, 0x35, 0x25, 0x61, 0xcb, 0xce, 0x41, 0xb0, - 0x5a, 0x04, 0xe2, 0x8d, 0x30, 0x45, 0xe1, 0x16, 0xd2, 0xca, 0x25, 0x77, 0x25, 0xc3, 0x67, 0x2e, - 0xf5, 0x98, 0x10, 0xf9, 0x1d, 0x56, 0x07, 0xe7, 0x1c, 0xd9, 0x8e, 0xe2, 0x88, 0x31, 0x4b, 0xd8, - 0xf8, 0x3f, 0x5c, 0x84, 0x66, 0x29, 0x4a, 0x9a, 0x82, 0x0a, 0x4d, 0xd8, 0xa7, 0x81, 0x63, 0xee, - 0x52, 0x1c, 0xd6, 0x18, 0x95, 0xba, 0x6b, 0x26, 0x26, 0x66, 0x9d, 0x28, 0x7c, 0x90, 0x0f, 0xe5, - 0x32, 0x0b, 0x56, 0x1f, 0x8d, 0x1e, 0x32, 0x49, 0xfa, 0x75, 0x07, 0xdd, 0xd1, 0x3c, 0x7f, 0xff, - 0xd7, 0x24, 0x02, 0xbd, 0x1f, 0x52, 0xed, 0xc2, 0xd2, 0x3b, 0x37, 0x0e, 0xa4, 0x69, 0x40, 0x72, - 0x64, 0xc9, 0xb7, 0x82, 0xf8, 0x92, 0x74, 0xe7, 0xfb, 0x45, 0x16, 0x90, 0xef, 0x5b, 0x11, 0xf9, - 0x67, 0xe3, 0xe5, 0x0e, 0x67, 0x77, 0x8d, 0xe5, 0x3c, 0xa8, 0xa5, 0x27, 0x27, 0x3d, 0xc0, 0x50, - 0xc7, 0xb4, 0x27, 0x36, 0x9b, 0x06, 0x08, 0x7c, 0x4a, 0xfb, 0x8b, 0xa2, 0x95, 0x3e, 0x7b, 0xa1, - 0x62, 0x80, 0x23, 0xb4, 0x48, 0xa6, 0x0c, 0xee, 0xe0, 0xd6, 0xf0, 0xbf, 0xfa, 0x76, 0x03, 0xf3, - 0xdf, 0xd3, 0xd3, 0x75, 0x72, 0x6d, 0x9d, 0x01, 0x2a, 0x33, 0x49, 0x17, 0x0b, 0x11, 0x6a, 0xdb, - 0x68, 0x89, 0x5e, 0x88, 0xf2, 0x8d, 0x00, 0x4c, 0x75, 0xdc, 0x4f, 0xf2, 0x69, 0x03, 0xab, 0x93, - 0x8b, 0x8d, 0xdc, 0x8c, 0x81, 0x6d, 0x9a, 0x0d, 0x00, 0x08, 0x63, 0xee, 0xf2, 0x81, 0x81, 0x53, - 0x7a, 0xf3, 0xe9, 0x16, 0x40, 0x4a, 0xea, 0x40, 0xb8, 0x90, 0x2c, 0x1a, 0x11, 0xb8, 0x4f, 0xe6, - 0x12, 0x0d, 0x3e, 0x02, 0x5a, 0xbb, 0x7e, 0x38, 0x1a, 0xba, 0xe8, 0x26, 0x02, 0xdc, 0x0e, 0xfc, - 0x0e, 0x62, 0x47, 0xd8, 0xa3, 0x91, 0xba, 0xda, 0x83, 0x3e, 0xb5, 0x0c, 0xe8, 0x38, 0xde, 0x56, - 0x5e, 0xbe, 0xeb, 0xda, 0x76, 0x3f, 0x12, 0x6c, 0x8f, 0xe1, 0x44, 0x78, 0xa2, 0xc3, 0x66, 0xc2, - 0x74, 0xe6, 0x10, 0xa4, 0xdb, 0x4a, 0x05, 0xa5, 0x5f, 0x5f, 0x14, 0x60, 0xad, 0x3d, 0xf7, 0x94, - 0x2f, 0x93, 0x92, 0xa0, 0xb9, 0x9e, 0x8f, 0xb3, 0x05, 0xfd, 0x14, 0x0b, 0x2d, 0x23, 0x8c, 0xce, - 0x18, 0x2d, 0xd4, 0x05, 0xa5, 0x37, 0xcd, 0x06, 0x37, 0xc5, 0xdd, 0x88, 0x33, 0x4e, 0x06, 0x7d, - 0xfe, 0x4c, 0x19, 0x86, 0xf0, 0xdd, 0x22, 0xa5, 0xe8, 0xb5, 0x4f, 0x2d, 0x17, 0x99, 0xdd, 0x8b, - 0x89, 0x1a, 0x6c, 0x8a, 0x9f, 0x38, 0xc4, 0x6b, 0xa7, 0x33, 0xbb, 0x2e, 0x2a, 0x67, 0x73, 0xd5, - 0x5b, 0xdf, 0xe9, 0xe6, 0x6f, 0xca, 0x04, 0xf0, 0x29, 0x60, 0x21, 0xa9, 0xa0, 0xc1, 0x6c, 0x47, - 0xd6, 0xe5, 0x2b, 0x4b, 0xe1, 0xdc, 0x03, 0xb7, 0x0f, 0x8e, 0x9a, 0xa9, 0xfb, 0x0c, 0x37, 0xd7, - 0x75, 0x5c, 0x93, 0x07, 0x5c, 0x28, 0x1d, 0x42, 0xd2, 0x42, 0xfa, 0x61, 0x87, 0x21, 0x30, 0xc4, - 0xf3, 0x1e, 0x44, 0xa0, 0x08, 0x43, 0xca, 0xab, 0x27, 0x12, 0x3d, 0xb0, 0x4b, 0x20, 0xbf, 0x51, - 0x3f, 0xf8, 0xa9, 0x29, 0x1e, 0xd7, 0x2b, 0x99, 0x81, 0xab, 0xd3, 0x89, 0xca, 0xe5, 0x71, 0xfb, - 0x54, 0xf8, 0xbe, 0x7f, 0xe9, 0x51, 0xbe, 0x9a, 0x9d, 0x42, 0x8b, 0x95, 0xb7, 0x91, 0x4e, 0x26, - 0x45, 0x95, 0xaf, 0x3f, 0x9a, 0x3a, 0xd7, 0x9a, 0xeb, 0x75, 0x7f, 0xcd, 0x30, 0xe6, 0xc2, 0x56, - 0x38, 0xb7, 0xcb, 0x3c, 0x71, 0x92, 0x25, 0x13, 0x82, 0x8c, 0x32, 0x8b, 0x99, 0x17, 0x25, 0x90, - 0xd0, 0xc8, 0x6c, 0x71, 0x0c, 0x1b, 0x04, 0xf0, 0xbb, 0xaa, 0x87, 0xcb, 0xce, 0xc3, 0xf1, 0x7f, - 0x6d, 0x10, 0x60, 0x28, 0x3c, 0xe3, 0xe4, 0xee, 0x03, 0x6b, 0x3b, 0x43, 0x91, 0x1d, 0x51, 0x15, - 0x78, 0x84, 0x3e, 0xbc, 0x8f, 0xec, 0x1a, 0xe0, 0xf9, 0x0e, 0x98, 0x4d, 0x88, 0x07, 0x06, 0xfc, - 0xef, 0x87, 0xa6, 0x7b, 0xea, 0xe5, 0x44, 0x85, 0xcc, 0x48, 0xe5, 0x4f, 0x42, 0x16, 0xed, 0xa0, - 0x31, 0x9b, 0x06, 0xdf, 0x84, 0x97, 0x8c, 0x58, 0x16, 0x19, 0xe9, 0x26, 0x35, 0xf3, 0xdc, 0x3b, - 0xc1, 0x92, 0x3d, 0x28, 0x6b, 0x4e, 0xf1, 0xac, 0x24, 0x34, 0x2e, 0x37, 0xe8, 0xea, 0xdb, 0xe5, - 0x05, 0xac, 0xf1, 0xd0, 0xa6, 0x16, 0x1b, 0x04, 0xc8, 0x1c, 0xaf, 0x8f, 0x35, 0xae, 0xf7, 0xa1, - 0xde, 0x82, 0x58, 0xaf, 0x03, 0x91, 0x32, 0x1f, 0xed, 0x88, 0x8d, 0x8c, 0x87, 0xf5, 0xb2, 0xc8, - 0x83, 0x88, 0x0f, 0x90, 0x03, 0xf3, 0xe2, 0xa1, 0x12, 0xb4, 0x1c, 0x55, 0xaa, 0xf5, 0xe4, 0xd2, - 0x02, 0x4c, 0x45, 0xde, 0xea, 0x54, 0x49, 0xc1, 0xb8, 0xc1, 0x07, 0x46, 0x82, 0xc2, 0x58, 0xb1, - 0x40, 0x00, 0x48, 0x45, 0xc8, 0xee, 0x88, 0xdb, 0x24, 0x67, 0x15, 0xeb, 0x79, 0xc8, 0xdd, 0xfd, - 0x12, 0xf9, 0x92, 0x61, 0x68, 0x3d, 0xc8, 0x32, 0xad, 0xde, 0x4f, 0x05, 0xee, 0x68, 0x1b, 0x8b, - 0x78, 0xfc, 0x69, 0x1e, 0x7c, 0xae, 0xb7, 0x68, 0x11, 0xa0, 0xc9, 0xd9, 0x5a, 0xa9, 0xd3, 0xe4, - 0x78, 0xfd, 0x0a, 0xda, 0xdd, 0x3e, 0x60, 0x2c, 0x29, 0xa8, 0x78, 0xf1, 0xaf, 0x88, 0x0d, 0x19, - 0x6c, 0x38, 0x67, 0x6f, 0x79, 0x8e, 0x1d, 0x54, 0x4f, 0x2c, 0xcc, 0x15, 0x9c, 0x38, 0xbf, 0x38, - 0x21, 0xab, 0x52, 0xf3, 0x83, 0xf1, 0x65, 0x48, 0x4d, 0xf4, 0xa8, 0xe0, 0x69, 0x1e, 0x82, 0xc8, - 0xc3, 0x3e, 0x79, 0xf0, 0xff, 0xba, 0xcc, 0x59, 0x70, 0x10, 0x32, 0x33, 0x77, 0x12, 0x1b, 0xf4, - 0xea, 0xdb, 0xf5, 0xdd, 0x46, 0x04, 0x1a, 0xfc, 0x2a, 0xb2, 0xf1, 0xd4, 0xbd, 0x15, 0xbb, 0x87, - 0x72, 0x36, 0x84, 0xef, 0x49, 0x9f, 0x93, 0xbf, 0x48, 0xfb, 0xf7, 0x6b, 0x5d, 0x4a, 0x27, 0x2d, - 0x8c, 0x3f, 0x81, 0x58, 0x66, 0xd9, 0xf7, 0x6a, 0xb0, 0x22, 0xb3, 0xb9, 0x7b, 0x5e, 0x32, 0x59, - 0x10, 0xc8, 0xc9, 0x07, 0xa4, 0x89, 0xe0, 0xdc, 0x84, 0xb0, 0x6f, 0xdd, 0x1b, 0xe7, 0x2d, 0x1e, - 0x57, 0x17, 0xe0, 0x40, 0xbe, 0xa9, 0x91, 0x31, 0x8b, 0x58, 0x8e, 0xa1, 0xd9, 0xdc, 0x70, 0xa6, - 0x95, 0x72, 0xf4, 0x4f, 0x93, 0x56, 0xf1, 0x36, 0x5b, 0x7a, 0x7b, 0xc7, 0xbb, 0xc5, 0x95, 0x7b, - 0x48, 0x26, 0xe5, 0x1c, 0xd7, 0xe1, 0xae, 0x77, 0xe6, 0xf2, 0xca, 0x31, 0x3a, 0x60, 0xc3, 0xbb, - 0x56, 0x2e, 0xc5, 0x6d, 0x20, 0xe4, 0xcc, 0x0a, 0x3c, 0x28, 0xcc, 0xbb, 0x5e, 0xae, 0xc8, 0xee, - 0x51, 0xd5, 0xf4, 0x70, 0xea, 0x1c, 0x47, 0xdf, 0x26, 0x5e, 0xde, 0xe9, 0x09, 0x92, 0x58, 0xfc, - 0xda, 0xc1, 0xd7, 0x38, 0x59, 0xb2, 0x7d, 0xae, 0x94, 0xf6, 0xf6, 0xd5, 0x36, 0xb0, 0xe2, 0x1f, - 0xba, 0xdc, 0xca, 0x2c, 0xf7, 0x5d, 0x00, 0x2f, 0xb6, 0x40, 0xa6, 0x90, 0xe5, 0xca, 0x52, 0x06, - 0x25, 0x52, 0xd8, 0x68, 0x0a, 0x40, 0x79, 0xd7, 0xd2, 0xea, 0x88, 0x3a, 0x51, 0x18, 0x33, 0xd7, - 0xa9, 0x17, 0x90, 0xa1, 0xa7, 0xcf, 0xad, 0x19, 0x8f, 0xa7, 0xcd, 0x94, 0xee, 0xd1, 0x6a, 0xa2, - 0x72, 0xcb, 0xdc, 0x5b, 0xaf, 0x44, 0x12, 0x91, 0x19, 0x34, 0x7f, 0x18, 0x07, 0xe8, 0x97, 0x4a, - 0x9b, 0x51, 0x2b, 0x55, 0x12, 0x01, 0x2a, 0xe2, 0x9e, 0xc5, 0xcb, 0x0c, 0xc7, 0x37, 0xc9, 0xd0, - 0x8c, 0xd7, 0x1d, 0xd3, 0x8a, 0x1f, 0x19, 0xa9, 0x25, 0xd1, 0x2e, 0x99, 0xf8, 0xab, 0x3d, 0xa5, - 0x72, 0x04, 0xcb, 0x61, 0xc8, 0xff, 0xd2, 0x39, 0x71, 0xcc, 0xbc, 0x57, 0x61, 0x5b, 0xa1, 0xa9, - 0x82, 0x60, 0xd6, 0xc9, 0x44, 0x31, 0x87, 0x1f, 0x2a, 0xb2, 0xda, 0xab, 0x00, 0x41, 0x86, 0x5e, - 0x73, 0x3b, 0x75, 0x12, 0x9a, 0x74, 0xb1, 0x80, 0xf7, 0x8a, 0x83, 0xe6, 0x03, 0x20, 0xa2, 0x69, - 0xe8, 0xac, 0xab, 0xc5, 0xc0, 0x67, 0x76, 0x9d, 0x0e, 0xb9, 0xe8, 0xc8, 0x0f, 0xcf, 0x60, 0xa2, - 0x80, 0x5e, 0xde, 0x58, 0x72, 0x5c, 0x7f, 0xf6, 0x9d, 0x21, 0xa2, 0x02, 0xdf, 0xea, 0xf8, 0x27, - 0xee, 0xde, 0x16, 0x66, 0xc4, 0x1f, 0xe8, 0x61, 0x69, 0x67, 0x8c, 0xd7, 0x8b, 0x83, 0xe7, 0x7e, - 0x0f, 0x3f, 0xa2, 0x7d, 0xc7, 0xd5, 0xfe, 0x04, 0x13, 0xfb, 0x3b, 0xa9, 0x30, 0x63, 0xc9, 0x42, - 0x54, 0x08, 0xb4, 0x51, 0xca, 0x2e, 0x1c, 0x42, 0xa7, 0xec, 0xb2, 0x7e, 0xd3, 0xdb, 0x5d, 0x54, - 0x17, 0x14, 0x99, 0x3f, 0xe5, 0xa9, 0xd7, 0x62, 0x49, 0x8e, 0xb7, 0x2f, 0xe2, 0x56, 0x5f, 0x44, - 0x67, 0xcd, 0x89, 0xb2, 0x57, 0xcb, 0x69, 0x4a, 0x11, 0x64, 0x37, 0xd0, 0x93, 0x48, 0x8a, 0x9a, - 0x4e, 0x44, 0xbd, 0x5e, 0x19, 0xce, 0x6d, 0x66, 0xea, 0x67, 0xbb, 0xe3, 0x0a, 0xc0, 0xab, 0xe8, - 0x93, 0x1e, 0x77, 0xe7, 0x08, 0x17, 0x63, 0x81, 0x41, 0xc4, 0xec, 0xf7, 0xa4, 0x69, 0xee, 0x5c, - 0x6c, 0x0f, 0xc2, 0x54, 0x50, 0x73, 0xd6, 0x31, 0x57, 0xef, 0xb1, 0x59, 0xb6, 0xb3, 0x9f, 0x6c, - 0xe1, 0x3a, 0x62, 0x67, 0xa7, 0x6e, 0xc7, 0xfa, 0x96, 0x8a, 0xec, 0x4f, 0x54, 0xce, 0x70, 0xc3, - 0xbb, 0xc8, 0xb5, 0xa6, 0x6a, 0xc1, 0x62, 0x9a, 0x42, 0x7a, 0x8d, 0xf4, 0xc5, 0xfa, 0x40, 0xc3, - 0xa0, 0x10, 0x80, 0xf6, 0x9c, 0x47, 0x99, 0xcf, 0xbb, 0xd1, 0x2b, 0xf6, 0xe7, 0xd7, 0xdd, 0x4e, - 0xbb, 0x00, 0x16, 0x2f, 0x0e, 0xd1, 0xcc, 0x29, 0x93, 0x80, 0xfa, 0xbc, 0x55, 0x31, 0x86, 0x9a, - 0xd5, 0x69, 0x62, 0x53, 0x9d, 0x33, 0x16, 0x9d, 0x10, 0xb2, 0x24, 0x0b, 0x45, 0x18, 0x93, 0x4a, - 0x15, 0x9c, 0x10, 0xb8, 0x97, 0xb3, 0xb7, 0xe1, 0x0c, 0x08, 0xac, 0x9e, 0x96, 0x23, 0x42, 0x0c, - 0x1a, 0xd8, 0xa5, 0xb7, 0x51, 0x29, 0x23, 0x37, 0x82, 0x2a, 0x0b, 0xb1, 0x92, 0xb2, 0x56, 0x4c, - 0x33, 0xf9, 0x8f, 0x75, 0x9f, 0xa9, 0x05, 0xcc, 0x87, 0xa0, 0x99, 0x0d, 0x2a, 0x39, 0x8d, 0x85, - 0x57, 0x13, 0xba, 0x1f, 0x78, 0x66, 0x62, 0x20, 0xdb, 0x62, 0xf4, 0x15, 0xd2, 0x43, 0x1e, 0xc0, - 0xd1, 0x1b, 0x10, 0x56, 0xff, 0x75, 0x3d, 0x00, 0xb4, 0x40, 0xc0, 0xf9, 0x65, 0x6b, 0x0e, 0xea, - 0x9a, 0xb8, 0xd0, 0xcc, 0x3a, 0xae, 0x11, 0x1c, 0x58, 0xba, 0x03, 0xbb, 0x6f, 0x32, 0xce, 0x50, - 0xb2, 0xd5, 0x5e, 0x26, 0x4a, 0x83, 0x13, 0x54, 0xb8, 0xe9, 0x4e, 0xa7, 0x3a, 0x3c, 0x26, 0xde, - 0x1b, 0xee, 0xe7, 0x49, 0x96, 0x64, 0xe3, 0x9e, 0x3b, 0x99, 0x99, 0xe0, 0xa4, 0x8f, 0x2f, 0x27, - 0x4a, 0x4c, 0x04, 0xd3, 0x58, 0xc7, 0x5b, 0x9c, 0x12, 0x07, 0xa2, 0x7f, 0x90, 0x29, 0xeb, 0xe4, - 0x37, 0x9f, 0xcd, 0x8f, 0xb4, 0xbf, 0xf5, 0x46, 0x66, 0xdb, 0x9e, 0x19, 0x1d, 0x34, 0x2d, 0x6b, - 0xf0, 0x10, 0xe7, 0x13, 0x2f, 0x1e, 0x38, 0x38, 0xc2, 0xce, 0xe8, 0x1b, 0x64, 0x08, 0x48, 0xd1, - 0xd4, 0xe9, 0xd5, 0xd4, 0xca, 0xe7, 0xc3, 0x40, 0x2e, 0xf2, 0x60, 0x87, 0xaf, 0xf5, 0x93, 0x17, - 0x35, 0x37, 0x1f, 0x95, 0x1f, 0x79, 0xc3, 0x9e, 0x6d, 0xb3, 0xc4, 0xb0, 0x8c, 0xd0, 0x4b, 0x26, - 0x8b, 0x02, 0xd2, 0x20, 0x38, 0xfd, 0x3f, 0xef, 0x27, 0x88, 0x69, 0xfe, 0x01, 0x31, 0x03, 0xfc, - 0x45, 0xe0, 0xa0, 0xe7, 0x30, 0x83, 0x4e, 0x2f, 0x76, 0x86, 0x96, 0x14, 0x3a, 0xc1, 0x56, 0x93, - 0x4a, 0xee, 0xdd, 0x28, 0xa0, 0x77, 0x48, 0x19, 0x7c, 0x9c, 0x47, 0xad, 0x9f, 0x47, 0xec, 0xeb, - 0x12, 0x5b, 0x1c, 0xf3, 0x49, 0xa8, 0x73, 0xc3, 0x64, 0xdf, 0x36, 0xc1, 0x2b, 0x08, 0x24, 0x90, - 0x63, 0x4d, 0x66, 0x33, 0xbd, 0x3c, 0x28, 0x0f, 0x3c, 0x0f, 0x87, 0xfd, 0x84, 0x8f, 0x09, 0xb9, - 0x3f, 0xfb, 0x2c, 0xab, 0x5d, 0x9c, 0xd0, 0xbf, 0x3f, 0x51, 0xba, 0x95, 0x33, 0xef, 0x67, 0xd0, - 0x5f, 0x08, 0x8e, 0xa5, 0x5e, 0xa4, 0x0f, 0x09, 0xd7, 0x67, 0xaf, 0xaf, 0x59, 0xf1, 0xef, 0x88, - 0x92, 0xdb, 0x66, 0x3d, 0x8a, 0x73, 0x88, 0x62, 0x7d, 0x0e, 0x18, 0xa4, 0x1c, 0x77, 0x26, 0xf8, - 0xe9, 0x9d, 0x9b, 0xec, 0xdf, 0xfc, 0x0c, 0xf7, 0x96, 0xcd, 0xc0, 0xd8, 0x44, 0x94, 0xfb, 0xca, - 0xad, 0x33, 0x4d, 0x93, 0xd3, 0xd2, 0x8f, 0xe7, 0xf3, 0x68, 0x04, 0x69, 0x26, 0xd0, 0x53, 0x55, - 0x04, 0x15, 0x33, 0x84, 0xc5, 0x34, 0x18, 0x08, 0x47, 0xf0, 0x8f, 0x06, 0x42, 0xe9, 0x73, 0xca, - 0x86, 0x81, 0x0c, 0x7e, 0x6c, 0xc5, 0x7b, 0x45, 0x09, 0x7a, 0xcc, 0xd9, 0x3c, 0xd9, 0x5f, 0xb1, - 0x6f, 0x05, 0xd7, 0xdf, 0x00, 0x61, 0x12, 0x41, 0x48, 0xbe, 0xca, 0xaa, 0xc3, 0xd6, 0xdf, 0xef, - 0x72, 0x26, 0x8c, 0xe3, 0x62, 0xc4, 0xc9, 0xa5, 0xb0, 0x51, 0x3e, 0xd5, 0x16, 0x91, 0xd3, 0xcf, - 0x36, 0x73, 0x63, 0x30, 0xcf, 0xf9, 0xf1, 0xe1, 0x1a, 0xce, 0xc2, 0x98, 0xae, 0x7b, 0x5f, 0xdc, - 0x07, 0xcc, 0x4d, 0xeb, 0x19, 0x9c, 0x78, 0x37, 0x1c, 0xbb, 0x69, 0x36, 0xc8, 0xb5, 0xcc, 0xdb, - 0x35, 0x8d, 0x97, 0xca, 0x40, 0x5d, 0xfc, 0x6a, 0xd9, 0x69, 0x28, 0xe3, 0x9d, 0x88, 0xba, 0x55, - 0x76, 0xca, 0x57, 0x22, 0x45, 0x47, 0xfe, 0x5f, 0x20, 0x9a, 0x34, 0x48, 0xde, 0x3d, 0x92, 0x42, - 0x36, 0x23, 0xd1, 0x50, 0x7d, 0x07, 0x67, 0x8d, 0x52, 0x2b, 0x1c, 0xea, 0xe0, 0x0c, 0xec, 0x71, - 0x4f, 0xac, 0x01, 0x31, 0xcd, 0x07, 0xcf, 0x14, 0x40, 0x3e, 0x58, 0xac, 0x7a, 0xec, 0x96, 0xa1, - 0x62, 0x71, 0xf5, 0x10, 0x90, 0x31, 0xb2, 0x6b, 0x5c, 0xcf, 0xbe, 0xc6, 0x9c, 0x87, 0x9e, 0xf4, - 0x45, 0x89, 0xb8, 0x52, 0x3e, 0x37, 0x08, 0xd3, 0xb8, 0x98, 0x6e, 0x64, 0x97, 0xcb, 0xc5, 0xc7, - 0x8a, 0xa6, 0x78, 0xb7, 0x0b, 0x59, 0x10, 0x0e, 0x7d, 0xcb, 0x44, 0xd9, 0x43, 0xf8, 0x30, 0xeb, - 0xa2, 0xe7, 0x76, 0x08, 0x96, 0x12, 0x22, 0xeb, 0x4a, 0x0a, 0xad, 0xfa, 0xd5, 0x88, 0x96, 0x68, - 0x55, 0x13, 0x20, 0x0a, 0xa3, 0x5a, 0xf7, 0x2d, 0x45, 0x20, 0x49, 0x99, 0xbf, 0xe1, 0x58, 0x01, - 0xb7, 0x25, 0x2a, 0xb9, 0x1f, 0x3e, 0x57, 0x13, 0x78, 0x61, 0xf4, 0x0d, 0xe2, 0xde, 0x8b, 0xeb, - 0x87, 0x49, 0xc1, 0x15, 0xa3, 0x43, 0xc4, 0x3f, 0xc0, 0x8d, 0x14, 0xaf, 0xa2, 0xfc, 0x32, 0x17, - 0x1f, 0xa5, 0x59, 0x4c, 0x57, 0x10, 0xc2, 0x9d, 0xa8, 0xe2, 0xd0, 0x95, 0x9b, 0x50, 0x1f, 0x4e, - 0xe7, 0xc1, 0xf6, 0x7c, 0xb3, 0xa0, 0xbe, 0x11, 0xf8, 0x26, 0x36, 0x84, 0x93, 0x13, 0xc3, 0xa9, - 0xa2, 0x95, 0xb8, 0xe1, 0x08, 0x23, 0x33, 0x5f, 0x5e, 0x3c, 0xa8, 0x7f, 0xcc, 0x6e, 0x19, 0x2c, - 0x05, 0xf6, 0x99, 0x12, 0x63, 0xa5, 0xe3, 0x47, 0xeb, 0x96, 0x4d, 0x5f, 0x57, 0xe0, 0x63, 0x59, - 0x68, 0x06, 0x5f, 0x6d, 0xaa, 0xfa, 0xba, 0x7b, 0x9a, 0xbf, 0x57, 0x99, 0xa3, 0xa2, 0xfd, 0x3d, - 0x6c, 0xda, 0xed, 0x61, 0xf7, 0x8b, 0xae, 0x5a, 0x08, 0x81, 0xf3, 0x8e, 0xf6, 0x28, 0xda, 0x24, - 0x69, 0x2d, 0xac, 0x03, 0x54, 0x6b, 0x47, 0x74, 0xd7, 0x7e, 0x70, 0x3e, 0xb3, 0xbc, 0x88, 0xbf, - 0x0a, 0x79, 0x8a, 0xec, 0x1f, 0xb7, 0xbd, 0x62, 0x0b, 0x33, 0x9f, 0xe4, 0xc6, 0xc4, 0x91, 0xc0, - 0x59, 0x49, 0x90, 0x5a, 0xa0, 0x51, 0x7b, 0xa9, 0x07, 0x4a, 0x19, 0x9e, 0x2a, 0x69, 0xb8, 0x0a, - 0x70, 0x75, 0xa2, 0x08, 0xe9, 0x6d, 0xfa, 0x22, 0x7c, 0x61, 0x89, 0xd0, 0x73, 0x05, 0x6f, 0xe5, - 0x82, 0x98, 0x72, 0xa4, 0xac, 0x41, 0x78, 0x41, 0xe8, 0x6d, 0xd6, 0x56, 0x3b, 0xfa, 0xc5, 0x9d, - 0x3e, 0x89, 0x16, 0x75, 0x59, 0x10, 0xe2, 0x39, 0x02, 0x04, 0xc0, 0x66, 0xaa, 0x59, 0xff, 0x21, - 0x0b, 0xca, 0x20, 0x82, 0x2b, 0x7d, 0xd3, 0x61, 0xb8, 0x73, 0x89, 0xc0, 0x41, 0xc2, 0x4b, 0xe2, - 0x29, 0xcd, 0xd8, 0xe6, 0xde, 0x40, 0x01, 0x12, 0x18, 0xe5, 0x7a, 0xfd, 0x90, 0x89, 0x15, 0x0a, - 0x5b, 0x65, 0xe1, 0x38, 0x93, 0x79, 0x93, 0x24, 0xa5, 0x75, 0x13, 0xdc, 0x4f, 0x26, 0xbf, 0xc0, - 0x5c, 0xc7, 0xea, 0x72, 0xb1, 0x3e, 0x30, 0x30, 0x24, 0xc1, 0x19, 0x1f, 0xf4, 0xf1, 0x77, 0x1a, - 0x95, 0x26, 0x57, 0xca, 0x51, 0x36, 0x70, 0x23, 0x41, 0x67, 0x51, 0x9d, 0xca, 0xd9, 0xd3, 0xce, - 0x52, 0xa8, 0x72, 0xba, 0x00, 0xb8, 0x11, 0x52, 0x64, 0xa2, 0x03, 0x7f, 0x6a, 0x45, 0xea, 0x6c, - 0x00, 0x40, 0x86, 0x40, 0x21, 0x4b, 0x61, 0x77, 0x40, 0x10, 0x95, 0xd0, 0x6d, 0x9e, 0xb7, 0xa1, - 0xbd, 0xfb, 0xee, 0x42, 0xf1, 0xe4, 0x4e, 0x40, 0xaa, 0x1e, 0x70, 0x40, 0x65, 0x9c, 0x9b, 0x87, - 0xf0, 0x83, 0x32, 0x7d, 0xef, 0x04, 0x41, 0x1a, 0xfb, 0x95, 0x39, 0x3f, 0x90, 0x7c, 0xc2, 0xb5, - 0x48, 0x5c, 0x21, 0xe1, 0x5d, 0x10, 0x8d, 0x26, 0x89, 0x3c, 0xc0, 0xe6, 0x9e, 0x27, 0x30, 0x4b, - 0x61, 0x08, 0x23, 0x31, 0x1c, 0xa0, 0x90, 0x70, 0xc1, 0x5a, 0x6a, 0x7d, 0x65, 0x78, 0xe9, 0x52, - 0xe0, 0x6a, 0x83, 0xbf, 0x93, 0x15, 0x5a, 0x0a, 0x7b, 0xbf, 0x6f, 0xe0, 0xf3, 0x11, 0xd5, 0x6e, - 0xd6, 0xd7, 0x28, 0xd0, 0x9f, 0x7f, 0xe7, 0x49, 0x7b, 0xdb, 0x47, 0x20, 0xae, 0x8f, 0xe8, 0x2b, - 0x74, 0x26, 0x77, 0xc5, 0x23, 0xe2, 0x53, 0x63, 0xc7, 0xe4, 0x5a, 0xd3, 0xab, 0x96, 0xb7, 0xf0, - 0xd3, 0x8a, 0x9e, 0x90, 0x3d, 0x7c, 0x22, 0xb0, 0x03, 0x55, 0x8f, 0x27, 0xf1, 0x6b, 0x09, 0x98, - 0xb2, 0x75, 0xe2, 0x8a, 0x2e, 0x1e, 0xb4, 0x67, 0x8b, 0xc8, 0xe6, 0xce, 0x95, 0x91, 0x14, 0xf6, - 0xd2, 0x67, 0x3a, 0xc7, 0x55, 0x2f, 0x20, 0x82, 0x75, 0x8c, 0xb6, 0x86, 0xa2, 0xcf, 0x3a, 0x8f, - 0x89, 0x36, 0x8b, 0x7b, 0x55, 0x56, 0x05, 0x27, 0x41, 0x82, 0xa7, 0x22, 0x74, 0xab, 0xd6, 0x4a, - 0x76, 0x80, 0x22, 0x44, 0x7c, 0xed, 0x02, 0x11, 0xd8, 0x21, 0x85, 0x58, 0x6c, 0xfa, 0xdd, 0xe4, - 0x86, 0xdb, 0x32, 0xd7, 0xeb, 0x49, 0x17, 0x87, 0x11, 0x50, 0x0c, 0x66, 0x57, 0x0e, 0x3a, 0xc6, - 0x31, 0x94, 0xbb, 0x1a, 0x3d, 0x26, 0x11, 0xae, 0x6e, 0xd9, 0x8b, 0x61, 0x43, 0xf4, 0x76, 0x13, - 0x89, 0x26, 0xe9, 0x53, 0x7e, 0xd2, 0xde, 0x2d, 0x17, 0x6b, 0xb4, 0x09, 0xbb, 0xad, 0x40, 0xbb, - 0x68, 0x46, 0xf7, 0x6e, 0x4d, 0xc9, 0x14, 0x76, 0xba, 0xb8, 0x22, 0x9b, 0x3b, 0x64, 0xc4, 0xfb, - 0x6a, 0x76, 0xb7, 0x35, 0xb6, 0x0f, 0xe7, 0x57, 0x39, 0xec, 0x2c, 0x07, 0x8b, 0x66, 0x72, 0x1b, - 0x49, 0x1c, 0x0b, 0x4f, 0xb1, 0x9b, 0x6f, 0x04, 0x44, 0xc6, 0x45, 0x88, 0x8d, 0xc4, 0xd1, 0x33, - 0xbd, 0x47, 0x12, 0xf6, 0x35, 0x42, 0xac, 0x67, 0x20, 0x8a, 0x7e, 0x0a, 0x43, 0x7a, 0x8b, 0x25, - 0xca, 0x18, 0x52, 0x96, 0xe4, 0x3c, 0x8c, 0xab, 0xeb, 0x72, 0x08, 0x03, 0x15, 0xc0, 0x98, 0x3a, - 0x1d, 0x00, 0x09, 0xc5, 0xc8, 0xdb, 0xf3, 0x3a, 0xe7, 0x41, 0x1b, 0x80, 0xbd, 0x89, 0x52, 0x88, - 0x2d, 0x38, 0xb4, 0x84, 0x56, 0x26, 0xed, 0x6f, 0x84, 0x5c, 0xc7, 0xbb, 0x5c, 0x37, 0xb3, 0xe2, - 0x55, 0xd2, 0xdc, 0xf5, 0xfc, 0xc9, 0xed, 0x5d, 0x63, 0xfc, 0xbb, 0x28, 0xa1, 0xe4, 0x37, 0x85, - 0x70, 0xa4, 0x60, 0x69, 0xaa, 0x35, 0xe2, 0xd4, 0xe1, 0xb7, 0x3a, 0xac, 0x01, 0xc0, 0x1f, 0xa2, - 0x57, 0x5a, 0x4b, 0xa2, 0xf0, 0x51, 0xd5, 0xee, 0xd8, 0x9f, 0x35, 0xb0, 0xfe, 0xe0, 0x8b, 0x0e, - 0x93, 0xa9, 0xd1, 0xe5, 0x4f, 0xef, 0xc3, 0xb9, 0x6e, 0x5a, 0x0c, 0x0f, 0xf0, 0x88, 0x42, 0x19, - 0x1e, 0x9e, 0x24, 0x38, 0x95, 0x30, 0x23, 0xe3, 0x7d, 0xd6, 0xdf, 0x1b, 0x5d, 0x85, 0x75, 0x76, - 0x7d, 0x77, 0x51, 0xc8, 0xae, 0x15, 0xb9, 0x91, 0x78, 0xfa, 0xd9, 0xe7, 0x54, 0x7c, 0x9c, 0x1b, - 0xc0, 0x15, 0x51, 0x61, 0x8e, 0x30, 0x2c, 0x2e, 0x3f, 0x28, 0x6b, 0xbf, 0xc6, 0x73, 0x91, 0x90, - 0xcf, 0xe7, 0x9a, 0xb7, 0x6d, 0xb7, 0x46, 0x39, 0x1d, 0x2f, 0x91, 0xd3, 0x7b, 0xc9, 0xd8, 0x46, - 0x13, 0x3a, 0x5b, 0x36, 0x0b, 0x1c, 0x11, 0x8e, 0x3d, 0xa1, 0xf0, 0xf5, 0xed, 0x73, 0x82, 0x44, - 0xaa, 0xa5, 0x43, 0x69, 0x00, 0x26, 0x93, 0x40, 0xa4, 0x34, 0x11, 0x97, 0xb6, 0xe1, 0x39, 0xc7, - 0x28, 0xfb, 0xad, 0x0a, 0x0a, 0x3b, 0xe0, 0x55, 0x30, 0x70, 0x9c, 0x41, 0xa1, 0x54, 0x40, 0x3b, - 0xcd, 0x1e, 0x53, 0x40, 0x5a, 0x8b, 0x63, 0xd0, 0x14, 0xb9, 0x63, 0xdb, 0x70, 0xd9, 0x2c, 0xbc, - 0x15, 0xa5, 0x91, 0xe6, 0xb5, 0xba, 0x1e, 0xb4, 0xf8, 0xf3, 0x79, 0x9b, 0xb4, 0xa7, 0xf3, 0x65, - 0x91, 0x1d, 0x10, 0x72, 0x72, 0x96, 0x06, 0x47, 0xef, 0xea, 0x60, 0x17, 0xe6, 0x5e, 0x9d, 0xbe, - 0x75, 0xb2, 0x30, 0xc6, 0x3b, 0x80, 0x0e, 0x96, 0xd5, 0xa0, 0x41, 0x07, 0xc8, 0xd8, 0x33, 0x54, - 0xd3, 0xb0, 0xe8, 0x23, 0xcd, 0x40, 0x58, 0xf8, 0x98, 0x62, 0xdd, 0x8f, 0x33, 0x3d, 0x08, 0x40, - 0x66, 0x5d, 0x91, 0x85, 0x8b, 0x2d, 0x4c, 0x8d, 0xb5, 0x93, 0xbc, 0x8a, 0x69, 0x37, 0x89, 0x16, - 0xdf, 0xe5, 0xe2, 0x01, 0xe6, 0xe1, 0x6c, 0x30, 0x42, 0x97, 0x8d, 0xd4, 0xcf, 0x44, 0xb5, 0x4d, - 0x11, 0xd0, 0x33, 0xd5, 0x58, 0xd0, 0x70, 0x66, 0x6a, 0x5d, 0x05, 0x32, 0x88, 0xc7, 0x97, 0x1a, - 0x1f, 0x6b, 0xcd, 0xd8, 0x01, 0x9a, 0xb4, 0x93, 0xf8, 0x39, 0x29, 0x39, 0x14, 0xb0, 0x1a, 0x3d, - 0x31, 0xe3, 0x82, 0xa3, 0x42, 0x0d, 0x0c, 0x67, 0xa7, 0x52, 0x7b, 0x3d, 0x02, 0xe3, 0x2f, 0x6e, - 0x52, 0x99, 0x07, 0x89, 0x37, 0x79, 0xa6, 0x77, 0xab, 0x03, 0xf0, 0xdb, 0x86, 0xff, 0x55, 0xab, - 0x6c, 0xa2, 0x82, 0xbe, 0xa0, 0x11, 0xa0, 0x8b, 0xbd, 0xe9, 0x08, 0x54, 0xe2, 0xef, 0x5a, 0x3b, - 0x7e, 0xd6, 0xa9, 0xeb, 0x81, 0x05, 0x44, 0x4c, 0x22, 0x45, 0xcd, 0xe3, 0x19, 0x11, 0x86, 0x67, - 0xab, 0xe8, 0x2e, 0x8f, 0x78, 0xd8, 0xa6, 0x02, 0xe4, 0x53, 0x21, 0x1e, 0x6e, 0x28, 0x60, 0xaf, - 0x2f, 0x85, 0x0a, 0xc5, 0x86, 0xf6, 0xa7, 0xe5, 0xb3, 0x1e, 0x7b, 0x3d, 0xf9, 0x34, 0x5e, 0x33, - 0x37, 0x90, 0x57, 0xd1, 0xb3, 0x73, 0xbc, 0x79, 0x7f, 0xc8, 0x2d, 0x07, 0x99, 0xad, 0x61, 0x32, - 0x61, 0x0d, 0x0a, 0xb9, 0xb0, 0x08, 0x97, 0xef, 0x55, 0x7b, 0xfb, 0x60, 0x15, 0xdf, 0x7a, 0x02, - 0xd2, 0x4d, 0x8d, 0xfd, 0x7d, 0xce, 0x51, 0xd9, 0x50, 0x85, 0x2c, 0xfb, 0x8e, 0xeb, 0x5e, 0x72, - 0x16, 0x3e, 0x7e, 0xbc, 0xde, 0x4e, 0x7a, 0xcb, 0xfb, 0x59, 0x83, 0x1f, 0x8e, 0x8a, 0x26, 0x3c, - 0x70, 0x5a, 0x3d, 0xbe, 0xed, 0x27, 0x70, 0xab, 0x13, 0x55, 0xd9, 0x08, 0x00, 0xc5, 0xde, 0x75, - 0xd5, 0x50, 0x09, 0x45, 0x23, 0x17, 0x0a, 0x1f, 0x55, 0x2e, 0x97, 0x94, 0xce, 0x78, 0xe9, 0x16, - 0x02, 0x5b, 0x08, 0xa8, 0xc2, 0xc0, 0x22, 0x08, 0x66, 0x0b, 0x7f, 0x8b, 0x79, 0xc8, 0xb1, 0x84, - 0xb4, 0x0a, 0x28, 0xf6, 0x21, 0x8d, 0x0f, 0xc9, 0xda, 0xfc, 0x2e, 0xcf, 0xc9, 0x2f, 0x27, 0x85, - 0x1a, 0xec, 0x1d, 0xa1, 0x74, 0x93, 0x07, 0x9c, 0x18, 0xb0, 0x24, 0xee, 0x0a, 0xbc, 0x06, 0x14, - 0x2f, 0xc4, 0x2c, 0x4a, 0xaf, 0x12, 0x7a, 0x39, 0x80, 0x1b, 0xa4, 0x56, 0x64, 0xc7, 0x34, 0x61, - 0xb8, 0xdd, 0x45, 0xa3, 0x1c, 0x9d, 0xe2, 0x70, 0xbc, 0x4f, 0x19, 0x1c, 0x03, 0xcd, 0x08, 0x3b, - 0x35, 0x0c, 0xdd, 0x5e, 0x84, 0x0a, 0xba, 0xc5, 0xe6, 0xd8, 0x39, 0x97, 0xcf, 0x40, 0x95, 0xf5, - 0xc9, 0x8c, 0x90, 0xa6, 0x3e, 0xb7, 0xd0, 0x7a, 0x17, 0x38, 0xa7, 0x8a, 0x81, 0x01, 0xce, 0x27, - 0xb2, 0x18, 0x99, 0xef, 0xd5, 0x27, 0xad, 0x4c, 0x13, 0xf6, 0x7e, 0x1b, 0x92, 0xcd, 0xef, 0x0d, - 0x90, 0x84, 0x39, 0xfe, 0x62, 0x40, 0xa5, 0x30, 0x84, 0xf3, 0x3c, 0xa1, 0xaa, 0x27, 0xfd, 0xfd, - 0x63, 0xb5, 0x5d, 0xa3, 0x49, 0x86, 0xc7, 0xd3, 0xa1, 0xd6, 0x30, 0xbb, 0x55, 0xe8, 0x50, 0xbb, - 0xba, 0x94, 0x35, 0xcd, 0x9c, 0x92, 0xf7, 0x64, 0x65, 0x2f, 0xfd, 0x66, 0xa5, 0xb1, 0x14, 0x4a, - 0x84, 0xaf, 0x55, 0x5a, 0x65, 0x30, 0x7d, 0xca, 0x22, 0x95, 0x9d, 0x45, 0x39, 0x78, 0x04, 0xb4, - 0xcf, 0x8c, 0xe6, 0xf2, 0x8c, 0xfa, 0x37, 0x46, 0x11, 0x71, 0x22, 0x46, 0xea, 0x93, 0xc3, 0x80, - 0x31, 0x79, 0x76, 0xc8, 0x93, 0x84, 0x17, 0xc5, 0x69, 0x89, 0x14, 0x2e, 0x8b, 0x0e, 0x88, 0xde, - 0x2b, 0x5c, 0xa7, 0x53, 0x69, 0x5f, 0x35, 0x5e, 0x06, 0x11, 0x57, 0xc7, 0x67, 0x04, 0x7e, 0x69, - 0xd0, 0x0a, 0x28, 0x89, 0x2f, 0x3d, 0x1f, 0xc8, 0x3d, 0x88, 0x74, 0x87, 0x09, 0x2d, 0x9d, 0x26, - 0x13, 0x89, 0x90, 0xce, 0xe2, 0x79, 0x63, 0x1a, 0xfc, 0x9e, 0x96, 0x45, 0x6f, 0x56, 0x72, 0xbb, - 0x62, 0xab, 0x8e, 0x49, 0x75, 0x1b, 0xeb, 0x2f, 0xfe, 0xbe, 0x2b, 0xa9, 0x15, 0xdd, 0x3a, 0xf4, - 0xa6, 0x43, 0xbe, 0x56, 0xcb, 0xbf, 0x61, 0x6b, 0x8b, 0xd7, 0x89, 0x8d, 0x3d, 0xe0, 0xfb, 0x91, - 0x59, 0x65, 0x02, 0x97, 0xb9, 0x3c, 0x10, 0xa1, 0x01, 0x32, 0xa5, 0xe4, 0x96, 0x8c, 0x13, 0x39, - 0xa7, 0x76, 0x69, 0x5f, 0x03, 0xa8, 0x44, 0x5d, 0xab, 0x6e, 0xfb, 0x72, 0x62, 0x21, 0xbc, 0x9c, - 0x5c, 0x80, 0x89, 0x84, 0xb8, 0x48, 0xa9, 0x47, 0xe6, 0xf7, 0x57, 0x7b, 0xa7, 0xef, 0x99, 0x06, - 0x2c, 0xcc, 0x38, 0x06, 0x32, 0xd0, 0xef, 0x4a, 0xe2, 0x98, 0xcd, 0x94, 0x39, 0xed, 0xdc, 0x99, - 0x77, 0x27, 0x78, 0x2c, 0xa4, 0xf0, 0x45, 0x1b, 0x75, 0x7d, 0x80, 0x42, 0x61, 0xba, 0x33, 0xa8, - 0xcf, 0xb2, 0x58, 0xc8, 0x21, 0x97, 0xd3, 0xb1, 0x35, 0xb9, 0x80, 0x6e, 0xb4, 0x77, 0x3a, 0x24, - 0xe5, 0xfc, 0x5d, 0x3d, 0x87, 0x49, 0x6a, 0x9d, 0x42, 0xa2, 0x73, 0x6d, 0xa1, 0x56, 0x80, 0xcf, - 0xa3, 0x92, 0x18, 0x24, 0x2f, 0x93, 0x9d, 0x14, 0x42, 0xc4, 0x3d, 0x5c, 0x62, 0xa6, 0xb1, 0x5d, - 0x1d, 0x02, 0xf9, 0x2e, 0x6e, 0x3a, 0x80, 0x55, 0xc3, 0x63, 0xa0, 0x4f, 0x23, 0xdf, 0x44, 0x1c, - 0xc4, 0xe2, 0xad, 0x7c, 0xd6, 0xbd, 0x4d, 0x91, 0x9e, 0x8f, 0x79, 0x1f, 0xc3, 0xd0, 0xfa, 0xd2, - 0x2d, 0xcf, 0x81, 0x6c, 0x48, 0xf3, 0x23, 0x0e, 0x06, 0xfe, 0x3a, 0xcb, 0x25, 0x60, 0xc1, 0x67, - 0xdd, 0xbe, 0xe3, 0xf4, 0x6d, 0x05, 0x2a, 0x2e, 0x3b, 0xe5, 0x15, 0x70, 0xbc, 0xb6, 0x60, 0x6f, - 0x38, 0x93, 0x8a, 0xfe, 0xac, 0x26, 0x01, 0x00, 0xb8, 0xf6, 0xe5, 0xb5, 0x02, 0xcd, 0x82, 0xb5, - 0xf8, 0xa5, 0x50, 0xc6, 0x02, 0x5b, 0x8f, 0x9a, 0xb1, 0xa4, 0x02, 0x08, 0xa0, 0xbd, 0xbc, 0xb1, - 0x74, 0xc1, 0xfd, 0xcd, 0xa9, 0x68, 0x70, 0x5a, 0xd4, 0xd3, 0xc1, 0x94, 0x6e, 0x08, 0xa0, 0xbc, - 0xd4, 0xff, 0xf5, 0xd4, 0xe1, 0x2a, 0xe1, 0x60, 0x5d, 0x41, 0x04, 0x98, 0x7c, 0xf8, 0x26, 0x6d, - 0x2f, 0xae, 0x3a, 0x26, 0xbe, 0x4e, 0x28, 0x0c, 0xb3, 0x94, 0xd5, 0x8b, 0xef, 0x0d, 0xcb, 0xaf, - 0xf8, 0x3c, 0xce, 0xa3, 0xbb, 0x90, 0x57, 0x6a, 0x3c, 0xc1, 0xfe, 0x84, 0x68, 0xfe, 0x35, 0xb1, - 0x02, 0xf0, 0xc5, 0xd1, 0xe5, 0xf9, 0xa5, 0x22, 0x37, 0x26, 0xfc, 0x97, 0xe0, 0xd7, 0x03, 0x04, - 0xb5, 0xd8, 0xc2, 0x7e, 0x0e, 0x04, 0x90, 0x1b, 0xbe, 0xc8, 0x06, 0x0e, 0x88, 0xef, 0x88, 0xdf, - 0xfa, 0x94, 0x21, 0xa9, 0x63, 0x29, 0x16, 0xac, 0x3c, 0x61, 0x7f, 0xbe, 0x29, 0xdc, 0x4e, 0x0f, - 0x57, 0x19, 0x68, 0x78, 0xa2, 0x92, 0x00, 0x92, 0xe3, 0xf6, 0xfa, 0x7b, 0xaa, 0xaa, 0xe9, 0x10, - 0x0d, 0xc3, 0xca, 0x18, 0xfd, 0xcc, 0x6d, 0x2e, 0xc6, 0xd7, 0xab, 0x37, 0x25, 0x3c, 0x80, 0x76, - 0xa0, 0xd6, 0x6a, 0x76, 0xf2, 0x00, 0xc4, 0x17, 0x43, 0x7a, 0x44, 0x3b, 0xaf, 0xfa, 0x9d, 0x08, - 0xcb, 0x92, 0x95, 0x0f, 0xda, 0xa2, 0x81, 0x96, 0xd4, 0x85, 0xfa, 0xfe, 0xe8, 0xba, 0x0a, 0xde, - 0x18, 0xe8, 0x3a, 0x1f, 0xa5, 0x33, 0x45, 0xb5, 0x5b, 0xd6, 0xeb, 0x55, 0xe6, 0xfd, 0x71, 0xc5, - 0x9e, 0x5a, 0x0f, 0xae, 0xfe, 0x06, 0x2e, 0x37, 0xaf, 0xd3, 0xac, 0x38, 0x1b, 0xba, 0x76, 0xd1, - 0xef, 0xaf, 0x62, 0xf2, 0xfb, 0xcf, 0xdc, 0x8e, 0x4b, 0x75, 0x81, 0xad, 0xa8, 0x9b, 0x94, 0x6a, - 0x06, 0x0d, 0x97, 0x48, 0xde, 0xab, 0xe7, 0x4c, 0x2f, 0xce, 0xaf, 0x8c, 0x72, 0x5f, 0x12, 0xb6, - 0x49, 0x10, 0xf3, 0x07, 0xb2, 0x48, 0x52, 0xff, 0x65, 0xc9, 0x04, 0xb0, 0x41, 0x05, 0xf6, 0x98, - 0xb9, 0xd9, 0x5c, 0x53, 0x55, 0x8b, 0xec, 0xb7, 0x6d, 0x82, 0xae, 0x74, 0xf2, 0xde, 0x56, 0x1e, - 0xb3, 0xc6, 0x41, 0x17, 0x23, 0xb5, 0x12, 0x25, 0x61, 0x34, 0xd2, 0x3c, 0x67, 0xfa, 0x19, 0xc1, - 0x24, 0x8b, 0xe5, 0xa3, 0x5c, 0x12, 0xc0, 0x0a, 0x36, 0xdd, 0xb2, 0x8b, 0xda, 0xfa, 0xd1, 0xa1, - 0xec, 0x28, 0x8a, 0x0d, 0x32, 0x37, 0x08, 0x0e, 0xb5, 0x97, 0x5b, 0xfd, 0x64, 0xe2, 0xd1, 0x9a, - 0xa7, 0xab, 0xdc, 0xfe, 0x95, 0x50, 0x4c, 0x87, 0x7b, 0xc5, 0x6c, 0x9d, 0x5d, 0x53, 0x46, 0x34, - 0xc0, 0x2e, 0xae, 0x73, 0xe8, 0x9f, 0xe1, 0x7b, 0x18, 0x7e, 0xc4, 0x2b, 0x20, 0x5e, 0x37, 0x2d, - 0xf5, 0x22, 0x8e, 0xf1, 0x9c, 0x76, 0x72, 0xf4, 0x4d, 0xc7, 0xb7, 0xce, 0x1c, 0x15, 0x30, 0x00, - 0xfc, 0xa0, 0x61, 0x74, 0x96, 0x50, 0x91, 0x9c, 0x7d, 0x9a, 0xb9, 0xe1, 0x5c, 0xe0, 0x30, 0x9b, - 0x12, 0x10, 0xdc, 0x33, 0xd9, 0x78, 0x5e, 0x80, 0x87, 0x85, 0xc1, 0x58, 0x89, 0xef, 0x37, 0x9f, - 0x41, 0x6c, 0x55, 0xa9, 0x22, 0x2f, 0xe9, 0x53, 0xdf, 0x98, 0x9f, 0x5d, 0x6c, 0xc6, 0x4e, 0x07, - 0x13, 0x66, 0x4e, 0x84, 0x9d, 0x10, 0x61, 0x45, 0x5e, 0x46, 0x34, 0xa3, 0x6a, 0x65, 0xa0, 0x59, - 0xfc, 0x4a, 0x88, 0x2e, 0x07, 0x06, 0x53, 0x69, 0xd3, 0x81, 0x6e, 0xf6, 0x20, 0x98, 0x21, 0x10, - 0xec, 0x5f, 0x05, 0xcc, 0x58, 0x62, 0x37, 0x3e, 0xb4, 0x38, 0xad, 0x6f, 0xa2, 0x49, 0x79, 0x4d, - 0xe0, 0x2f, 0xc0, 0x43, 0x97, 0x33, 0xad, 0x9a, 0x1a, 0xf5, 0xe5, 0xa3, 0xa4, 0x1c, 0xfe, 0x73, - 0xb8, 0x49, 0x18, 0xdb, 0x1c, 0x2c, 0x1a, 0xbe, 0x72, 0x66, 0x00, 0x00, 0xa6, 0xb3, 0x73, 0xf1, - 0xe6, 0x29, 0xe4, 0xd2, 0x6b, 0x8e, 0xc7, 0x0b, 0x98, 0x17, 0x3d, 0x1a, 0xda, 0xfa, 0xb1, 0x28, - 0x26, 0x32, 0xd2, 0x5a, 0xbe, 0x2f, 0x15, 0xcc, 0x07, 0x25, 0xad, 0xc0, 0xdf, 0x5c, 0x01, 0x75, - 0x63, 0x54, 0xb4, 0x83, 0x15, 0x57, 0x1d, 0x78, 0x8d, 0xc0, 0xfe, 0xf2, 0xda, 0x2d, 0xf1, 0x13, - 0x8c, 0xab, 0x28, 0xca, 0x08, 0xcc, 0xff, 0x23, 0x0f, 0x07, 0xbd, 0xc9, 0x4e, 0xd3, 0x4d, 0xd8, - 0xc3, 0x0f, 0x8b, 0xff, 0xea, 0x74, 0x1d, 0x0e, 0xb0, 0x28, 0xfd, 0xea, 0xb7, 0x60, 0x22, 0x58, - 0x00, 0xd8, 0xeb, 0xa1, 0x68, 0x15, 0xcd, 0x64, 0xdc, 0xd8, 0xc9, 0xd6, 0xe3, 0x6e, 0x88, 0x1b, - 0x04, 0x2f, 0x53, 0xf5, 0xb3, 0x24, 0x79, 0x29, 0xaa, 0x71, 0xa3, 0xae, 0xf3, 0xcd, 0x95, 0x79, - 0xfb, 0xe5, 0x5e, 0xe8, 0x65, 0xf6, 0xe6, 0xd7, 0xfe, 0x5c, 0xa3, 0xfb, 0xdd, 0xbf, 0x5e, 0x50, - 0xa9, 0xa3, 0x20, 0xb5, 0x4e, 0xe9, 0x60, 0x62, 0x16, 0xca, 0x63, 0x33, 0x31, 0xda, 0x0d, 0x4b, - 0x19, 0x97, 0xd7, 0xe8, 0xa8, 0x38, 0x14, 0x85, 0x17, 0xca, 0x7d, 0x26, 0x03, 0x0d, 0xa8, 0x79, - 0x88, 0x6a, 0x20, 0x59, 0xd9, 0x39, 0x33, 0x8f, 0x86, 0x58, 0xe5, 0xf2, 0x1d, 0x90, 0x88, 0x80, - 0xd4, 0xf3, 0x62, 0x6b, 0xf1, 0xc8, 0xff, 0x49, 0x1b, 0xa1, 0x48, 0xd1, 0xff, 0x30, 0x03, 0x68, - 0xa1, 0xbb, 0x04, 0x88, 0x46, 0x68, 0x62, 0xbc, 0xd4, 0x84, 0x7b, 0xd1, 0xe2, 0x5f, 0xbb, 0x44, - 0xd6, 0xbd, 0x50, 0xe4, 0xaa, 0x45, 0xd6, 0x8b, 0x51, 0xc6, 0x91, 0x43, 0x2c, 0x1c, 0x1e, 0x13, - 0xe5, 0x90, 0x03, 0xa3, 0xce, 0x09, 0xf1, 0x63, 0x85, 0xa9, 0x8a, 0x38, 0x55, 0x3f, 0xc1, 0xf9, - 0xad, 0xa9, 0xb2, 0x34, 0xbd, 0x49, 0x91, 0x58, 0xba, 0x65, 0x43, 0x0b, 0xb2, 0x7c, 0xe5, 0xc1, - 0x86, 0x18, 0xd6, 0xc1, 0x89, 0x16, 0x7b, 0x0b, 0xec, 0xbe, 0xa3, 0x51, 0xfb, 0xb3, 0x6e, 0x67, - 0xda, 0xa8, 0xc5, 0x24, 0x96, 0x5d, 0xb3, 0x50, 0xd8, 0x85, 0x09, 0x5f, 0xec, 0x12, 0xc4, 0x2b, - 0x71, 0xa7, 0xe6, 0xaa, 0x83, 0x7a, 0x2f, 0x08, 0xf1, 0x93, 0x0e, 0x3f, 0x99, 0xa1, 0xd4, 0xbc, - 0x8a, 0x69, 0xec, 0x1b, 0x0b, 0xb4, 0x21, 0xca, 0xa4, 0x71, 0x21, 0x23, 0x09, 0x10, 0xf3, 0xd0, - 0xb3, 0x7a, 0xac, 0x53, 0xbd, 0x88, 0xf7, 0x75, 0x7f, 0x99, 0x41, 0x45, 0xd2, 0xb3, 0xee, 0xfb, - 0x0c, 0x45, 0xc8, 0xa9, 0x95, 0x34, 0x19, 0xc5, 0x3b, 0xd5, 0x74, 0x2e, 0x8a, 0x5f, 0xcd, 0x21, - 0xb1, 0xb8, 0xb1, 0xfb, 0xaf, 0x13, 0xa3, 0x05, 0xda, 0x60, 0x7a, 0x31, 0x79, 0x52, 0x81, 0xd6, - 0xd4, 0x4b, 0x20, 0x2a, 0x52, 0x15, 0xc0, 0x2c, 0x9b, 0x3a, 0x24, 0x37, 0x0d, 0xcc, 0xfb, 0xa5, - 0x89, 0x0c, 0x68, 0x2c, 0xd1, 0x95, 0x9d, 0x12, 0x8b, 0x2b, 0x42, 0xcf, 0xc5, 0x5b, 0x68, 0xcb, - 0x34, 0x4d, 0x67, 0xf0, 0x49, 0x9f, 0xb5, 0xcf, 0x86, 0xde, 0x52, 0x71, 0xf2, 0xf2, 0x46, 0x20, - 0xc2, 0xb5, 0x30, 0x11, 0x2c, 0x5d, 0x2f, 0x2f, 0x5c, 0x7b, 0x9f, 0x1a, 0xe2, 0x63, 0x7e, 0x01, - 0x85, 0xd5, 0x84, 0x57, 0x6e, 0x51, 0xa5, 0xff, 0xb9, 0x6c, 0xc1, 0xdc, 0x63, 0xaf, 0x59, 0xb2, - 0x08, 0x15, 0xa8, 0xbd, 0x2d, 0x8a, 0x93, 0x07, 0x99, 0x3c, 0x33, 0x50, 0x86, 0x47, 0x11, 0xa2, - 0x3c, 0xe2, 0x15, 0x09, 0xf8, 0xb7, 0x29, 0x2a, 0x74, 0x1a, 0xea, 0xce, 0x90, 0x3f, 0xcc, 0x62, - 0xcb, 0x08, 0x13, 0xd1, 0x87, 0x8f, 0x24, 0x14, 0x72, 0xa9, 0xa0, 0x74, 0x6d, 0x9b, 0x62, 0x7b, - 0x3b, 0xad, 0xac, 0xfe, 0x2f, 0xa9, 0xda, 0x21, 0x31, 0xd6, 0x1a, 0x9c, 0x01, 0x0c, 0x73, 0x18, - 0xca, 0xf1, 0xe6, 0xbe, 0xfe, 0x17, 0xe4, 0x95, 0x09, 0xa9, 0x79, 0xfa, 0x81, 0x97, 0x1a, 0x73, - 0x9e, 0x72, 0x52, 0xc4, 0xa4, 0x7a, 0x2a, 0xad, 0x34, 0x46, 0x9e, 0xb1, 0xac, 0x63, 0x31, 0xe3, - 0xaf, 0xfc, 0xb9, 0x4d, 0x34, 0x4d, 0x7b, 0x5e, 0xfa, 0x75, 0xc6, 0x00, 0xe7, 0xe6, 0x2a, 0xa7, - 0xa4, 0xb4, 0xa9, 0x89, 0xbb, 0x7c, 0x63, 0xeb, 0x7e, 0x75, 0x6c, 0xc5, 0x58, 0x43, 0xe0, 0xb4, - 0xd4, 0x4c, 0xa6, 0x60, 0xd6, 0x08, 0x48, 0xdd, 0xe1, 0x4c, 0x26, 0x2a, 0x37, 0x8f, 0xbb, 0xaa, - 0x5d, 0x60, 0x39, 0x02, 0x53, 0x6a, 0x0b, 0xe9, 0x92, 0x35, 0x0b, 0xad, 0x9d, 0xc3, 0x4d, 0xd7, - 0x1e, 0x73, 0x41, 0x12, 0xaa, 0x24, 0x88, 0x74, 0x17, 0x30, 0x03, 0x88, 0xbb, 0xba, 0xe1, 0xfa, - 0xfe, 0x46, 0x29, 0x54, 0xf9, 0xd8, 0xbf, 0x04, 0xd7, 0x2f, 0x5d, 0x0e, 0x9f, 0x5e, 0xcd, 0x07, - 0x07, 0xbf, 0x23, 0xee, 0xbf, 0x2d, 0x83, 0x62, 0x80, 0x99, 0x74, 0x58, 0x58, 0xf8, 0xb3, 0x4d, - 0x90, 0xbb, 0xf6, 0xa0, 0x76, 0x9e, 0x8d, 0xd8, 0xb4, 0xdd, 0xa0, 0x1c, 0x68, 0x7b, 0xec, 0xe9, - 0xee, 0x46, 0x1b, 0x53, 0xce, 0x73, 0x31, 0x33, 0xe5, 0x85, 0xd2, 0xf0, 0xc4, 0xf2, 0x34, 0x60, - 0xbc, 0x0b, 0x8b, 0x2a, 0x7c, 0x81, 0x7e, 0x82, 0x82, 0x66, 0x33, 0x8c, 0x31, 0xd3, 0xfa, 0x43, - 0xab, 0xe3, 0x3a, 0xd5, 0x8b, 0x84, 0x5d, 0xc4, 0x95, 0x89, 0x61, 0x0b, 0x41, 0x22, 0xf2, 0x5f, - 0x98, 0xcc, 0x6e, 0xa0, 0x75, 0x17, 0x39, 0x7b, 0xec, 0x56, 0x57, 0x94, 0x31, 0xd7, 0xc0, 0x14, - 0x0b, 0x9c, 0x2f, 0x1b, 0x5f, 0x5c, 0xb4, 0xcd, 0xd9, 0x2a, 0x73, 0xdc, 0x4a, 0xf2, 0x54, 0xe4, - 0xb0, 0x31, 0x63, 0x8c, 0x79, 0x8a, 0xf4, 0x44, 0x6a, 0x6f, 0x66, 0xab, 0x65, 0xa7, 0xf5, 0x9e, - 0xc7, 0xef, 0x44, 0xe2, 0x78, 0x5c, 0xac, 0x20, 0xa3, 0xaa, 0x12, 0xcb, 0xed, 0xc0, 0x5f, 0x85, - 0x2a, 0xdb, 0xaa, 0x9b, 0xf9, 0xf4, 0x94, 0xb9, 0x53, 0xb3, 0x77, 0x7a, 0xa2, 0x99, 0xc5, 0x81, - 0x6f, 0xb7, 0x40, 0x9e, 0xbe, 0xa0, 0x18, 0xdb, 0x32, 0xd0, 0x2d, 0xf9, 0xd0, 0xe0, 0x32, 0x5e, - 0x27, 0xe6, 0x74, 0xbc, 0xe4, 0xd7, 0x5c, 0xb6, 0x03, 0x33, 0x51, 0xb7, 0xfc, 0x94, 0x3f, 0xec, - 0xdd, 0x0a, 0x09, 0x8a, 0x05, 0x6f, 0xda, 0x7a, 0xff, 0x02, 0x72, 0xb0, 0x0a, 0xdb, 0x65, 0x65, - 0x24, 0x96, 0xcc, 0xbb, 0xfb, 0x77, 0xf1, 0x6a, 0x4c, 0xc8, 0xd5, 0xc0, 0xa7, 0xe3, 0x4b, 0x80, - 0xd5, 0x31, 0x3c, 0x8a, 0x29, 0x32, 0x96, 0xa3, 0x61, 0x57, 0xaa, 0xaf, 0x96, 0x00, 0x67, 0x99, - 0x31, 0x58, 0x7f, 0xee, 0xe1, 0x5c, 0x57, 0x05, 0xd2, 0x76, 0x55, 0xeb, 0x5d, 0xa9, 0xa4, 0x1f, - 0x7e, 0x47, 0xf4, 0xf8, 0xa4, 0xdb, 0x3d, 0xa8, 0xbf, 0xfb, 0xf6, 0x02, 0x52, 0x1c, 0x42, 0x04, - 0xb8, 0xce, 0xc2, 0x6a, 0x2f, 0x43, 0xff, 0x6e, 0x4b, 0x18, 0x1f, 0x6a, 0x71, 0x5e, 0x1a, 0x18, - 0x91, 0x32, 0x35, 0x8c, 0x56, 0xbb, 0x5d, 0xc8, 0x3a, 0x95, 0x27, 0x07, 0x9d, 0xcf, 0x15, 0x71, - 0x54, 0xad, 0x7a, 0x84, 0x12, 0x42, 0x95, 0xf8, 0xdc, 0x8e, 0x89, 0x9b, 0x32, 0xa2, 0x1b, 0xd5, - 0xfb, 0x23, 0x32, 0x1a, 0xd5, 0x99, 0x73, 0x59, 0x5b, 0x67, 0xc8, 0x16, 0xcc, 0x9d, 0x1d, 0xc7, - 0x69, 0xf9, 0x68, 0xd6, 0xc2, 0x14, 0x4f, 0x6b, 0x1a, 0x40, 0x1a, 0x87, 0x44, 0xb4, 0x54, 0xb4, - 0x8e, 0x24, 0x67, 0x08, 0x8a, 0xc1, 0x43, 0x31, 0xc9, 0x2f, 0xc8, 0x34, 0x37, 0x39, 0xb4, 0x0e, - 0xdb, 0x25, 0x1a, 0xd3, 0x05, 0xe7, 0x6c, 0x1e, 0x16, 0x5a, 0x51, 0xb3, 0x44, 0x7f, 0x31, 0xfd, - 0xf6, 0xdf, 0x21, 0x8d, 0x65, 0xbe, 0x16, 0xc8, 0xc9, 0x91, 0x3d, 0x9f, 0x05, 0x3d, 0x4f, 0xe0, - 0x6b, 0x30, 0x32, 0xca, 0xdd, 0x21, 0x1f, 0x86, 0xec, 0xa1, 0xc0, 0x28, 0x38, 0xb2, 0x4a, 0x1a, - 0xbd, 0x0a, 0xf6, 0x3f, 0x92, 0x54, 0x56, 0x78, 0xe4, 0x2a, 0x40, 0x18, 0x0b, 0xe0, 0x17, 0x2e, - 0xf0, 0xec, 0x47, 0xe6, 0x1b, 0x10, 0x6f, 0xbe, 0x1c, 0x0b, 0x0a, 0xfd, 0x48, 0xed, 0xcd, 0x4a, - 0x79, 0x3b, 0x86, 0x8f, 0xca, 0x26, 0xdc, 0xa6, 0x1b, 0x65, 0x75, 0x6b, 0x93, 0x58, 0x8b, 0x76, - 0x7b, 0x36, 0x78, 0x92, 0xfc, 0x47, 0x7b, 0xc9, 0x22, 0xba, 0x99, 0x37, 0xec, 0xf1, 0x4f, 0x46, - 0xc9, 0xff, 0x31, 0x0e, 0xad, 0x38, 0x4a, 0x0a, 0xc1, 0xed, 0xcd, 0xf1, 0xb3, 0x22, 0x7f, 0x24, - 0xc8, 0x75, 0x6e, 0xcd, 0x6a, 0x1b, 0x7d, 0x22, 0x0c, 0x9e, 0xf7, 0xa6, 0x81, 0xcc, 0xe5, 0x8b, - 0xa1, 0x92, 0x97, 0xef, 0x9c, 0x40, 0x52, 0x1b, 0xa7, 0x4c, 0x02, 0xe7, 0xab, 0xe5, 0xc4, 0xaa, - 0xab, 0x93, 0x53, 0x1b, 0xdd, 0xe2, 0x33, 0xe8, 0x09, 0xeb, 0xb3, 0x8a, 0xf4, 0x68, 0xa9, 0xbc, - 0xf6, 0x77, 0x03, 0xf2, 0xd1, 0x58, 0x96, 0x0d, 0xb5, 0x77, 0x95, 0xa6, 0xce, 0xf8, 0x21, 0x09, - 0x96, 0xa6, 0x62, 0x01, 0x49, 0x68, 0x61, 0x7e, 0xe4, 0x96, 0xd0, 0xdb, 0x29, 0x30, 0x78, 0xeb, - 0x7e, 0x56, 0x5d, 0xa1, 0xc1, 0xcb, 0xde, 0x00, 0xda, 0x73, 0x61, 0x7c, 0xd9, 0x98, 0x62, 0x94, - 0xc7, 0x95, 0xd2, 0x3d, 0x2b, 0x5c, 0xa8, 0x5d, 0xe9, 0x3e, 0xf3, 0x92, 0x62, 0xe2, 0xb2, 0x76, - 0xbd, 0xff, 0xc3, 0x0f, 0x06, 0xd7, 0x8d, 0x66, 0xc5, 0xe0, 0x10, 0x02, 0x57, 0xca, 0xba, 0x0d, - 0x01, 0x60, 0x65, 0x2a, 0xa8, 0x26, 0x9e, 0xd5, 0x08, 0x2b, 0xb9, 0x1e, 0xe9, 0x01, 0x86, 0xf0, - 0x1d, 0xee, 0x59, 0x5e, 0xf6, 0x92, 0x3d, 0x1d, 0x42, 0x25, 0x88, 0x49, 0x65, 0x19, 0x12, 0x8d, - 0x25, 0xc8, 0xbe, 0xe9, 0x80, 0x62, 0xa4, 0x32, 0xff, 0xfd, 0x5c, 0x04, 0xeb, 0xb9, 0x43, 0x40, - 0x56, 0x83, 0x96, 0x30, 0x82, 0xa3, 0x6d, 0xc5, 0xae, 0x80, 0x58, 0x2f, 0xe2, 0x62, 0x23, 0x5a, - 0x83, 0x26, 0xe7, 0xee, 0x31, 0x73, 0x9d, 0xca, 0x35, 0xb3, 0xce, 0x77, 0x87, 0xea, 0x8b, 0x3f, - 0x87, 0xe5, 0xb8, 0x3a, 0x63, 0x4b, 0x3d, 0xbd, 0xd7, 0x5e, 0x1b, 0x73, 0x3d, 0xde, 0x17, 0x9e, - 0xe5, 0xa9, 0xa0, 0x5f, 0x7c, 0x74, 0xb8, 0xeb, 0xef, 0x79, 0x15, 0x12, 0x02, 0x77, 0xce, 0xdd, - 0x0a, 0xcd, 0x00, 0x6c, 0xac, 0x6a, 0x32, 0x0f, 0xb5, 0x25, 0x92, 0xde, 0x5d, 0x7a, 0x5b, 0x83, - 0x78, 0xd7, 0xbb, 0x08, 0xd2, 0xcf, 0xcd, 0x86, 0x36, 0x1c, 0x93, 0xb7, 0x64, 0x70, 0x86, 0x3d, - 0x4f, 0xf8, 0xf7, 0x54, 0xd3, 0x51, 0x97, 0xd2, 0x23, 0x24, 0xdc, 0xcd, 0xd4, 0xd3, 0x8b, 0x15, - 0x9e, 0x7d, 0xd0, 0xca, 0x09, 0x67, 0xe6, 0x67, 0x46, 0xc6, 0x55, 0xc0, 0x85, 0xab, 0x3c, 0x46, - 0x56, 0xb0, 0xd0, 0x26, 0x25, 0x57, 0x80, 0x42, 0x7a, 0x31, 0x9a, 0x2e, 0x0d, 0x39, 0x5d, 0x2c, - 0x52, 0x95, 0x89, 0xcf, 0x3b, 0xd1, 0xb2, 0x49, 0xda, 0xb4, 0xb2, 0x00, 0xa4, 0x04, 0x56, 0x8d, - 0x06, 0xb5, 0x5b, 0xa6, 0x4b, 0x7f, 0xb7, 0x71, 0x04, 0x8a, 0xd7, 0xed, 0xb1, 0xd3, 0x9b, 0x06, - 0xa9, 0xa1, 0x83, 0xe2, 0x0e, 0x6e, 0x37, 0x2c, 0xb5, 0x21, 0xdc, 0x24, 0x0a, 0x47, 0x9e, 0xe2, - 0x4c, 0xd4, 0x3e, 0x08, 0xe2, 0xff, 0xf9, 0xd8, 0x8d, 0x3a, 0x2a, 0x3b, 0xa6, 0x6c, 0x7d, 0x27, - 0xab, 0x23, 0xd4, 0x4b, 0xd7, 0xb4, 0x08, 0x04, 0xcd, 0xe7, 0xcf, 0x94, 0xd4, 0x87, 0x99, 0xac, - 0x4c, 0x01, 0xe3, 0xd4, 0x93, 0x9e, 0xaa, 0xef, 0xb4, 0x64, 0xcb, 0x5f, 0x85, 0xda, 0x97, 0x5a, - 0xb7, 0xba, 0x69, 0x2c, 0xe0, 0x4b, 0xa1, 0xe8, 0x9f, 0xa8, 0x54, 0xdd, 0x76, 0x1f, 0xef, 0x37, - 0xcc, 0x5c, 0x2f, 0x2a, 0xad, 0x8e, 0x3c, 0x73, 0x71, 0x00, 0x80, 0x01, 0x14, 0x1c, 0xc2, 0xd6, - 0x77, 0x4f, 0xd2, 0x3e, 0x86, 0x55, 0x00, 0xa8, 0x43, 0x7e, 0x8a, 0x37, 0xb3, 0xc9, 0x2d, 0xa9, - 0xa4, 0xff, 0xee, 0xc1, 0xbd, 0xf4, 0xbe, 0xd5, 0xa5, 0xc1, 0xe0, 0x3b, 0xd7, 0x4f, 0xe0, 0xf5, - 0x2e, 0x59, 0x97, 0xff, 0x1f, 0xe2, 0x7a, 0xbc, 0xf6, 0x3f, 0x52, 0xd7, 0xf1, 0x57, 0x0a, 0x31, - 0x36, 0x0b, 0xf9, 0xfc, 0x02, 0xa6, 0x32, 0xac, 0x2c, 0xc6, 0x4e, 0x73, 0x50, 0x41, 0xbe, 0x65, - 0xfb, 0x01, 0x5b, 0x76, 0x0f, 0x31, 0x9a, 0x81, 0x89, 0xe9, 0x9c, 0x07, 0x43, 0x35, 0x7b, 0x98, - 0xd4, 0x3a, 0x9d, 0x95, 0x70, 0x12, 0xd1, 0xee, 0x09, 0xf6, 0xc1, 0x7c, 0x0b, 0x4c, 0xd5, 0xc9, - 0x2b, 0x15, 0xa6, 0x51, 0x4d, 0x41, 0x34, 0x26, 0xc1, 0x3e, 0x17, 0x9d, 0x01, 0x98, 0x0a, 0xb2, - 0x1e, 0x61, 0xf3, 0xe8, 0x3d, 0x5a, 0x89, 0x6d, 0x41, 0x46, 0x93, 0xdd, 0x57, 0x0b, 0x87, 0x20, - 0xb3, 0x6b, 0xd0, 0x4d, 0xb9, 0x62, 0x64, 0x15, 0x8e, 0x0f, 0x8d, 0xe3, 0x18, 0xcb, 0x8a, 0x54, - 0x48, 0x34, 0x79, 0xa9, 0x65, 0x77, 0xee, 0x3f, 0x1a, 0x84, 0x5a, 0x18, 0xe9, 0x5b, 0x95, 0x84, - 0xf6, 0x80, 0xea, 0x18, 0x17, 0xab, 0x73, 0x5b, 0x4d, 0xbb, 0x28, 0xc5, 0xf8, 0x1c, 0x28, 0xeb, - 0x16, 0x5b, 0x3b, 0xde, 0x18, 0xa0, 0xee, 0x44, 0xd8, 0x3f, 0x6b, 0xe1, 0xe3, 0x54, 0x53, 0xab, - 0x8d, 0xde, 0xb6, 0x49, 0xc0, 0x57, 0x07, 0xb8, 0xcc, 0x8b, 0xb8, 0x0b, 0x0b, 0x92, 0x64, 0xa9, - 0x75, 0x02, 0x59, 0xd8, 0xc8, 0x04, 0x7e, 0xd1, 0xb0, 0x61, 0xeb, 0x1d, 0x7c, 0x67, 0x1c, 0xb8, - 0x72, 0x83, 0xf1, 0xeb, 0x8c, 0x6e, 0xe1, 0xb7, 0xe5, 0xda, 0xb5, 0xa5, 0xbf, 0x31, 0xb6, 0x33, - 0xfa, 0x4e, 0x3f, 0xba, 0x03, 0xe0, 0xb3, 0xbf, 0x11, 0x16, 0x9f, 0x43, 0x5c, 0xfb, 0x8d, 0xda, - 0x34, 0xbe, 0xb5, 0xce, 0x28, 0x6e, 0x36, 0x1d, 0x8c, 0x01, 0xef, 0xb5, 0xa0, 0xaa, 0x0b, 0xd1, - 0x72, 0x9c, 0xb2, 0x60, 0xe4, 0xfe, 0xf6, 0xd0, 0xd8, 0xd9, 0xea, 0x5c, 0x4b, 0x6e, 0x6b, 0xae, - 0xab, 0x46, 0xad, 0x87, 0x0a, 0x28, 0x2b, 0x8e, 0x3f, 0x43, 0x56, 0xad, 0x82, 0x7e, 0x14, 0xf8, - 0x2a, 0x53, 0x19, 0xd9, 0x8e, 0xdf, 0x37, 0xd9, 0x6c, 0x7f, 0xfa, 0x9f, 0x78, 0x0e, 0xa1, 0xa5, - 0xc3, 0x37, 0xb4, 0xd6, 0x60, 0x90, 0x8b, 0x24, 0x41, 0x52, 0x24, 0x82, 0x79, 0x5e, 0xcc, 0xc2, - 0x23, 0xca, 0x36, 0xd5, 0x79, 0x9f, 0x55, 0xea, 0xa1, 0xd9, 0xcc, 0x66, 0xcb, 0x46, 0xa7, 0x38, - 0x64, 0xe1, 0xa1, 0xb9, 0xd5, 0x99, 0x96, 0x07, 0xf0, 0x65, 0xa6, 0xd2, 0xa1, 0x72, 0xe2, 0x6c, - 0xc3, 0x61, 0x8c, 0xff, 0x75, 0x2a, 0xeb, 0x3c, 0x19, 0x68, 0xd6, 0xaf, 0x3f, 0x03, 0x1d, 0x0c, - 0x78, 0xdf, 0x8d, 0xd7, 0x71, 0x24, 0xf8, 0x84, 0x95, 0xad, 0x76, 0x1e, 0x63, 0xe4, 0xd6, 0xcf, - 0x4a, 0xcd, 0x36, 0x31, 0xb3, 0x06, 0x9f, 0xab, 0xb5, 0xb2, 0x3d, 0x8d, 0x64, 0x4c, 0x90, 0xaa, - 0x09, 0xdc, 0x28, 0xab, 0xcd, 0x09, 0x17, 0x75, 0xf1, 0x03, 0xc1, 0x5d, 0x0b, 0xbd, 0x91, 0x31, - 0x5e, 0x7c, 0x88, 0x82, 0xa8, 0xd7, 0x3c, 0xb0, 0x97, 0x95, 0x14, 0x12, 0x30, 0x4a, 0x17, 0xfc, - 0xbd, 0xc7, 0x6f, 0x8f, 0x3b, 0xb6, 0x34, 0x1a, 0xb3, 0xb8, 0xe0, 0xfe, 0xdf, 0x48, 0x1d, 0xd0, - 0xaa, 0x6d, 0xe4, 0x6e, 0x99, 0x5f, 0x77, 0x8a, 0x97, 0x73, 0xd0, 0xd9, 0xed, 0x0f, 0x7b, 0xa0, - 0xf2, 0xb0, 0x7e, 0xb5, 0x75, 0xae, 0x76, 0xaf, 0xf5, 0xce, 0x71, 0xdd, 0xf2, 0x43, 0x77, 0x95, - 0x1c, 0x56, 0xb3, 0x96, 0x72, 0x34, 0x11, 0x26, 0x21, 0xdb, 0x38, 0x91, 0x1e, 0xf8, 0x97, 0x59, - 0x35, 0x51, 0x67, 0x26, 0x60, 0x70, 0xa6, 0x21, 0x10, 0x8e, 0x36, 0xbf, 0xb0, 0xfe, 0x33, 0xff, - 0xf9, 0xe5, 0x1f, 0x61, 0xc7, 0x94, 0x56, 0xe2, 0x12, 0x91, 0x86, 0xa6, 0x8f, 0x38, 0x6c, 0x18, - 0x5f, 0x8f, 0x11, 0x0a, 0x9e, 0x1d, 0x45, 0x25, 0x8e, 0x2c, 0x60, 0x2d, 0x09, 0xfa, 0x0c, 0xdc, - 0x50, 0x4b, 0x7a, 0x52, 0x29, 0xbb, 0x13, 0x2f, 0x9b, 0x03, 0xbe, 0xdc, 0x0e, 0x42, 0x82, 0xec, - 0xe8, 0x7e, 0xdf, 0xe0, 0x50, 0x32, 0xdb, 0xf2, 0xcc, 0xf4, 0xef, 0x3d, 0x35, 0x0a, 0xe7, 0x88, - 0x65, 0x5a, 0x8c, 0x4f, 0x73, 0xb5, 0xa5, 0xf1, 0xb1, 0x57, 0xf8, 0xd8, 0xc1, 0x41, 0xfa, 0x10, - 0xe1, 0x50, 0x28, 0x17, 0xf3, 0x6c, 0x98, 0xb4, 0x12, 0x69, 0xaf, 0xad, 0xe4, 0xf8, 0xc4, 0x63, - 0x84, 0xba, 0x67, 0xc4, 0x41, 0x25, 0xfe, 0xa8, 0x73, 0xf4, 0xf9, 0xd9, 0x89, 0x8a, 0x74, 0xc9, - 0x2e, 0x57, 0x3f, 0x4c, 0x3c, 0xef, 0xca, 0xcb, 0x91, 0x98, 0xb7, 0x0b, 0x63, 0x79, 0xb5, 0x38, - 0xfe, 0xed, 0x7f, 0xcf, 0x9d, 0x3d, 0x55, 0x91, 0xea, 0x03, 0xe2, 0xec, 0x80, 0xe7, 0x5b, 0x7e, - 0x81, 0x94, 0x3f, 0xff, 0x8f, 0xde, 0x2c, 0x0c, 0xf9, 0x2b, 0xe9, 0x98, 0x93, 0xf5, 0x65, 0xc4, - 0x5c, 0x13, 0xa9, 0x8c, 0x52, 0x44, 0x62, 0xc5, 0x92, 0xa3, 0x6e, 0x5a, 0xdc, 0xde, 0xc8, 0xdf, - 0xa2, 0x8e, 0xba, 0xd8, 0x7d, 0xfa, 0x50, 0x84, 0x87, 0xc5, 0xfb, 0x2f, 0x9a, 0x81, 0x1e, 0xbb, - 0x0d, 0xed, 0x64, 0x62, 0x08, 0xc9, 0x40, 0x01, 0x96, 0xcb, 0x92, 0x82, 0x04, 0x55, 0x04, 0x6b, - 0xb2, 0x08, 0x3a, 0x52, 0x4e, 0x61, 0x4c, 0x85, 0xd7, 0xe0, 0x03, 0xfd, 0x04, 0x23, 0xbc, 0x99, - 0x1b, 0x9d, 0x0d, 0xac, 0xba, 0xdc, 0x22, 0xdc, 0x90, 0x65, 0xa0, 0x86, 0x6e, 0xa8, 0xb6, 0x29, - 0xbc, 0x79, 0xb9, 0xfe, 0x54, 0xfb, 0xdb, 0xa7, 0xec, 0x67, 0xa8, 0xbf, 0x6e, 0x36, 0xea, 0xdd, - 0xee, 0xce, 0x23, 0x13, 0xfd, 0x0d, 0xe9, 0x2e, 0xcb, 0x8a, 0x10, 0xdc, 0xd3, 0x06, 0xf6, 0x8c, - 0xd9, 0x60, 0xca, 0xc4, 0x85, 0x86, 0x1f, 0x85, 0x2a, 0x1c, 0x0c, 0x19, 0xce, 0x4a, 0x96, 0x65, - 0x5f, 0x65, 0x0b, 0xf2, 0xbc, 0x25, 0xef, 0x07, 0xad, 0x11, 0x46, 0xef, 0x34, 0x8d, 0x3f, 0x8f, - 0xc3, 0xe3, 0x85, 0xfc, 0x0b, 0x16, 0xb6, 0xcc, 0x6e, 0x58, 0x7c, 0xb5, 0x19, 0x7c, 0x0e, 0xef, - 0x38, 0x81, 0xd8, 0x58, 0xd0, 0xb9, 0x5b, 0x00, 0x65, 0x21, 0xca, 0xc0, 0x83, 0xa9, 0xe5, 0xf0, - 0x2b, 0x96, 0x84, 0x26, 0x28, 0xfd, 0xf1, 0x9a, 0x55, 0xf3, 0x15, 0x97, 0xda, 0xc3, 0x70, 0xac, - 0x18, 0x71, 0x1c, 0x6c, 0xf4, 0xad, 0x04, 0x81, 0xe6, 0x7d, 0x86, 0xad, 0x3c, 0x82, 0xe5, 0x6b, - 0x2f, 0xbd, 0x5a, 0x13, 0xf3, 0xb1, 0x7c, 0x8e, 0x83, 0x77, 0x18, 0x71, 0xb0, 0xd4, 0x0a, 0x2f, - 0xee, 0x27, 0xb3, 0x11, 0x49, 0x83, 0x07, 0xda, 0x29, 0xc7, 0x48, 0xc0, 0x4f, 0xce, 0x4c, 0x7d, - 0x6e, 0x33, 0x1d, 0x48, 0x24, 0x5f, 0x3f, 0x87, 0x14, 0x81, 0xbd, 0x68, 0xb6, 0xcb, 0xf0, 0xa8, - 0x42, 0xba, 0xf4, 0xaa, 0xbf, 0x25, 0x31, 0xc7, 0x6f, 0xea, 0x36, 0x32, 0xf3, 0xb4, 0xa3, 0xdf, - 0x7a, 0x54, 0x97, 0x5f, 0x78, 0x20, 0x88, 0x80, 0x26, 0x90, 0xfd, 0xbd, 0xd6, 0x7f, 0x74, 0x7a, - 0xf0, 0x3f, 0xc6, 0x30, 0x08, 0x0f, 0xd8, 0xd8, 0x98, 0x0e, 0x8d, 0x0a, 0xe2, 0xa9, 0xfa, 0x46, - 0x14, 0x49, 0x01, 0xc2, 0xab, 0xcf, 0xe0, 0x2f, 0xd7, 0xa9, 0x99, 0xb0, 0xed, 0x14, 0x9a, 0x2d, - 0xb8, 0xac, 0xa2, 0x72, 0x7b, 0xd4, 0x86, 0x79, 0x44, 0x52, 0xd5, 0x46, 0x34, 0xfe, 0x7b, 0xb8, - 0xb3, 0x1c, 0x17, 0x71, 0x53, 0xea, 0x00, 0x68, 0xd1, 0x09, 0x7d, 0xbd, 0xa5, 0xa0, 0x36, 0xa8, - 0x9e, 0xce, 0xc3, 0xad, 0x84, 0xbd, 0xe7, 0x6f, 0xbf, 0xe4, 0x17, 0x11, 0xb1, 0x4d, 0x5a, 0x22, - 0x10, 0xfa, 0xa0, 0xb5, 0x45, 0xbc, 0xed, 0x7a, 0xdd, 0x4a, 0xbb, 0x83, 0x38, 0x4f, 0x76, 0x4a, - 0xc4, 0xe3, 0x8e, 0x84, 0xa8, 0x11, 0xd9, 0x45, 0xcd, 0x43, 0x5e, 0xe6, 0x39, 0xe5, 0xcd, 0x73, - 0xe2, 0x15, 0x6a, 0xcb, 0x8a, 0x5a, 0x35, 0xf5, 0x57, 0xbc, 0x2f, 0x1b, 0xae, 0x38, 0x53, 0x91, - 0xad, 0x0a, 0x42, 0xb7, 0x0a, 0x5b, 0xe6, 0xc2, 0xe5, 0x3c, 0x07, 0xb1, 0xd3, 0x2f, 0x58, 0x44, - 0x2f, 0x21, 0x79, 0x8b, 0xc3, 0x18, 0x78, 0x19, 0x6a, 0x65, 0x0e, 0x83, 0xd4, 0x00, 0x6e, 0xe1, - 0xd0, 0x15, 0x76, 0x42, 0x3e, 0x98, 0xec, 0xda, 0xdc, 0x6b, 0x7f, 0x0c, 0x5e, 0x4b, 0x89, 0x81, - 0x5a, 0x67, 0xc0, 0x34, 0xc6, 0x58, 0x7f, 0x2b, 0xc8, 0x48, 0x6b, 0xb9, 0x25, 0x87, 0x9c, 0x04, - 0x78, 0x26, 0x3f, 0x2e, 0x20, 0x2d, 0x87, 0x0f, 0xf0, 0x80, 0xdf, 0x86, 0x0e, 0xe3, 0xba, 0xb0, - 0x45, 0xde, 0x1e, 0x5e, 0xe7, 0x6c, 0x6e, 0xa8, 0x84, 0xe3, 0xb0, 0x1e, 0xdf, 0xd8, 0x27, 0x8f, - 0x36, 0xf3, 0x2f, 0xc5, 0x09, 0x21, 0xfa, 0x47, 0xe8, 0x97, 0xa6, 0xb0, 0x7f, 0xe6, 0x9a, 0x4b, - 0x52, 0xbf, 0x88, 0xdc, 0x15, 0x47, 0xbc, 0xa6, 0x85, 0xb4, 0x28, 0x94, 0xe3, 0x20, 0x4b, 0x11, - 0xb2, 0xcb, 0x4c, 0x2f, 0x10, 0xb4, 0xf7, 0x94, 0x60, 0xf0, 0x7b, 0x25, 0xda, 0x16, 0x73, 0x40, - 0x78, 0x81, 0x37, 0xb5, 0x3a, 0xad, 0xfe, 0xfb, 0xa2, 0x4b, 0x90, 0x13, 0x5b, 0x59, 0xe5, 0xd5, - 0xcb, 0xc7, 0x72, 0xf4, 0x0b, 0x4f, 0x3c, 0x31, 0xee, 0x0e, 0xda, 0xe9, 0x58, 0x55, 0x04, 0x68, - 0xf7, 0x52, 0x4e, 0xc3, 0xe3, 0x64, 0x30, 0x1b, 0xd8, 0xda, 0x2f, 0x5f, 0xee, 0xa3, 0x50, 0x00, - 0xd1, 0x65, 0x12, 0x50, 0xf7, 0x89, 0xa4, 0x1e, 0x24, 0x7d, 0xb1, 0x28, 0x6a, 0x4b, 0x8d, 0x59, - 0x85, 0xb8, 0x21, 0x90, 0x17, 0x1d, 0xa3, 0xd1, 0xc6, 0xdf, 0xad, 0xad, 0x9d, 0x3f, 0x79, 0xa2, - 0x49, 0x0d, 0x5f, 0xe4, 0x3d, 0x8f, 0xfc, 0x81, 0x43, 0xa1, 0x53, 0x7d, 0xb6, 0x4f, 0xc5, 0xd2, - 0x71, 0xe9, 0x54, 0x31, 0x28, 0x73, 0x49, 0xd8, 0xd2, 0x1b, 0xf8, 0x4c, 0xf5, 0x04, 0x81, 0xb8, - 0xb4, 0x58, 0xcd, 0xc8, 0xde, 0x83, 0x58, 0xac, 0x21, 0x80, 0xd7, 0x1b, 0x30, 0x1e, 0x82, 0xbc, - 0xee, 0xf7, 0x4f, 0x25, 0xfd, 0xad, 0xe1, 0xb8, 0xa3, 0x65, 0x4a, 0x58, 0x28, 0x07, 0xa5, 0x1a, - 0xe8, 0x9b, 0x0b, 0xe6, 0x48, 0x54, 0x0e, 0x69, 0xfc, 0xb7, 0x57, 0xad, 0x97, 0xbb, 0xc8, 0xad, - 0xe0, 0x95, 0x5e, 0x34, 0xd5, 0xb5, 0x23, 0x0d, 0xe6, 0x7d, 0x2e, 0x80, 0xe5, 0xd1, 0xc4, 0x98, - 0x18, 0xf9, 0x37, 0x1f, 0x4a, 0x04, 0x9e, 0xb9, 0xc0, 0x17, 0xd3, 0x12, 0xd8, 0x7a, 0x61, 0xf7, - 0x61, 0x15, 0xb9, 0x76, 0x25, 0xca, 0x2a, 0x2d, 0xf0, 0x1c, 0x65, 0x81, 0xc4, 0x38, 0xd0, 0x2b, - 0x5f, 0xec, 0xbe, 0x37, 0x73, 0x07, 0xa2, 0x66, 0xe4, 0x0f, 0x4b, 0x86, 0x71, 0xd3, 0xa5, 0x2a, - 0x11, 0x16, 0x2b, 0x81, 0xc6, 0x72, 0xd4, 0xcb, 0x65, 0xe2, 0xa2, 0x94, 0x20, 0x06, 0xd0, 0xf8, - 0x1d, 0xef, 0x4c, 0x80, 0x52, 0x2f, 0x7e, 0x34, 0xcc, 0x67, 0x89, 0x74, 0x66, 0x20, 0x92, 0x55, - 0xc2, 0xd3, 0xaa, 0x6d, 0x49, 0xaf, 0xdc, 0x0c, 0x0f, 0x3f, 0xfd, 0xef, 0x98, 0x56, 0x14, 0x40, - 0xec, 0x10, 0xbb, 0xa6, 0x98, 0x38, 0x90, 0x50, 0x6a, 0x41, 0x33, 0x11, 0x5c, 0x9f, 0x16, 0xfb, - 0xf1, 0x90, 0xe5, 0x7f, 0x7d, 0x07, 0x16, 0xd4, 0x7e, 0xde, 0x26, 0xf9, 0x1d, 0x04, 0x37, 0xbf, - 0xa6, 0x50, 0xa7, 0x6a, 0xa2, 0x8a, 0xf1, 0xbb, 0x7f, 0x62, 0xe3, 0x71, 0x73, 0x27, 0xaf, 0x4b, - 0xe8, 0xc5, 0xdf, 0xe3, 0xbe, 0x37, 0xb8, 0x6f, 0xc3, 0x1f, 0xad, 0xc3, 0x53, 0xcd, 0xfe, 0x44, - 0xa4, 0x98, 0x85, 0x79, 0x79, 0x6b, 0xaf, 0x75, 0x84, 0x83, 0x54, 0xe3, 0xd3, 0xbf, 0x37, 0xbe, - 0x30, 0x53, 0x81, 0x4d, 0x01, 0xbb, 0x83, 0xe3, 0xb6, 0x7d, 0x1e, 0x4a, 0xd9, 0x90, 0x75, 0x39, - 0xcb, 0x93, 0x27, 0x83, 0xdf, 0x7c, 0x5c, 0x29, 0xfc, 0x2b, 0x71, 0xe1, 0xd5, 0x18, 0xd9, 0xcf, - 0x11, 0x6a, 0x18, 0xcd, 0xb9, 0xf7, 0xf9, 0x23, 0x94, 0x8d, 0x12, 0xaa, 0x12, 0xe1, 0x6d, 0xe9, - 0x02, 0xe7, 0x34, 0x3b, 0x16, 0x03, 0xd0, 0xd7, 0x87, 0x8a, 0xca, 0x2e, 0x75, 0x2e, 0x80, 0xd3, - 0xe3, 0x0d, 0xd9, 0xe6, 0xd2, 0x1b, 0x5b, 0x45, 0xb8, 0x19, 0xb0, 0x83, 0xca, 0xd8, 0xa9, 0xa4, - 0x65, 0xfc, 0x00, 0x00, 0xf3, 0x0a, 0x92, 0x4a, 0xcf, 0x2f, 0x0d, 0xf2, 0x8e, 0x12, 0xeb, 0x08, - 0x6e, 0x56, 0xb6, 0x97, 0xa2, 0x93, 0xb9, 0x66, 0x43, 0x04, 0xc9, 0x12, 0x3d, 0xb3, 0xd7, 0x6f, - 0xc1, 0x1e, 0x61, 0x60, 0xfd, 0xd8, 0x2f, 0x32, 0x5c, 0x9b, 0x10, 0x36, 0x13, 0x1b, 0x83, 0x58, - 0xd4, 0x2e, 0x36, 0x77, 0x52, 0xb0, 0x8e, 0x8e, 0xbd, 0x13, 0x29, 0x7f, 0x04, 0xc6, 0x1d, 0x8f, - 0x7e, 0x92, 0x54, 0x94, 0xa2, 0x41, 0x2f, 0x93, 0xcd, 0x1e, 0xe2, 0xb0, 0x3f, 0x94, 0x03, 0xbf, - 0x6a, 0x34, 0x97, 0xc2, 0xcc, 0xb9, 0x02, 0x34, 0xcd, 0x61, 0xd0, 0x79, 0xd5, 0x56, 0x60, 0x50, - 0x2d, 0x48, 0xf3, 0x42, 0x3c, 0x7b, 0x09, 0x0f, 0x82, 0x39, 0x0f, 0xbb, 0xa0, 0xc1, 0xc5, 0x65, - 0xc1, 0x03, 0x22, 0xa2, 0x4a, 0xc5, 0xd7, 0xfb, 0x4b, 0x56, 0xe0, 0xa0, 0xdf, 0xbb, 0x76, 0x9f, - 0x8f, 0x0b, 0x95, 0x74, 0x3e, 0xf3, 0x04, 0xcb, 0xa9, 0x42, 0xad, 0x5b, 0x0b, 0xc2, 0xf3, 0xe6, - 0x96, 0x6f, 0x1a, 0xd5, 0xf5, 0xbc, 0x2c, 0x6f, 0x39, 0x22, 0x6a, 0x11, 0xed, 0x37, 0x22, 0x36, - 0xde, 0xc6, 0xa0, 0x83, 0x41, 0x82, 0xf7, 0xa4, 0xd4, 0xc6, 0x7f, 0xe4, 0x96, 0xfd, 0x0c, 0xb9, - 0x26, 0xff, 0x14, 0x50, 0x3a, 0x14, 0x3f, 0x82, 0x41, 0xd7, 0x78, 0xa3, 0xf3, 0xc6, 0xab, 0x12, - 0xd4, 0x42, 0xb8, 0x15, 0x47, 0x4d, 0x2d, 0xb2, 0xc9, 0x50, 0xa8, 0x36, 0x72, 0xa7, 0xfd, 0x91, - 0x6a, 0x0c, 0xd2, 0x08, 0xe8, 0xfd, 0x69, 0x8c, 0xf8, 0xdd, 0x5b, 0x6e, 0xeb, 0x52, 0x6b, 0xed, - 0xee, 0x08, 0x79, 0x36, 0x2b, 0xa8, 0xdd, 0x2c, 0x53, 0xb6, 0xa8, 0xd7, 0xab, 0x65, 0x48, 0xfc, - 0x02, 0x16, 0x6e, 0x5b, 0xf0, 0x72, 0xbd, 0xcb, 0x2a, 0x00, 0xbb, 0xfd, 0xbc, 0x99, 0x57, 0xbb, - 0x3f, 0x8a, 0xa2, 0x6c, 0x4c, 0xb9, 0x0a, 0x38, 0x9b, 0xed, 0xef, 0x42, 0xe8, 0xe3, 0x33, 0xd0, - 0x09, 0x75, 0x01, 0x30, 0x5f, 0x1d, 0xac, 0x96, 0xd8, 0x94, 0x9d, 0x96, 0x18, 0x5b, 0x69, 0x39, - 0x88, 0xaa, 0x54, 0x0a, 0x92, 0x11, 0x21, 0xbb, 0x4a, 0xf0, 0xf6, 0x56, 0x8a, 0x6a, 0x97, 0xe3, - 0x55, 0x67, 0x2d, 0x9d, 0xfe, 0xd4, 0xa4, 0x3e, 0xa9, 0xa6, 0xa6, 0xe7, 0x15, 0x5a, 0xc7, 0xf9, - 0x49, 0xa0, 0x3b, 0xcd, 0x94, 0x3b, 0x74, 0xc6, 0x60, 0xfa, 0xc0, 0xc9, 0x28, 0xbf, 0x06, 0x57, - 0xd4, 0x44, 0x1c, 0x97, 0xf7, 0xfc, 0x22, 0x16, 0xf6, 0x3a, 0x84, 0x66, 0xb1, 0x73, 0xa8, 0x31, - 0x5f, 0x1e, 0x72, 0x78, 0xf1, 0xc7, 0xdd, 0x20, 0x5f, 0x75, 0xc6, 0x81, 0x20, 0xbf, 0xf2, 0x14, - 0x6e, 0x27, 0x36, 0x7b, 0x45, 0x63, 0x5e, 0x51, 0xd5, 0xd2, 0x1d, 0xb2, 0x0e, 0xd7, 0x8a, 0x21, - 0x11, 0xe3, 0xad, 0xd0, 0x00, 0x21, 0x73, 0x38, 0xfd, 0x0a, 0x58, 0x5a, 0x91, 0xd4, 0x2c, 0x24, - 0xf9, 0x3e, 0xe5, 0x84, 0xb6, 0xac, 0x6e, 0xfe, 0xa6, 0x45, 0xd9, 0x47, 0xe6, 0x65, 0xfa, 0x43, - 0x94, 0x63, 0xa5, 0x4b, 0x55, 0x63, 0x6f, 0xc7, 0x1d, 0x20, 0xfc, 0x7b, 0xfe, 0x78, 0x75, 0x01, - 0x30, 0x40, 0xf3, 0xa5, 0x3b, 0x88, 0x66, 0xcb, 0x6a, 0x48, 0xef, 0xed, 0x41, 0x1f, 0x19, 0x2d, - 0x6f, 0x6d, 0xde, 0x21, 0x37, 0xe0, 0x71, 0x88, 0xea, 0x00, 0x14, 0x65, 0x96, 0xd6, 0xb5, 0x63, - 0x79, 0x53, 0x99, 0xb7, 0xcd, 0x2a, 0x97, 0xe6, 0x61, 0x04, 0x28, 0xf6, 0x72, 0xeb, 0x33, 0xe1, - 0x49, 0xf2, 0x5f, 0xa4, 0x0f, 0xca, 0xcf, 0xf3, 0xa3, 0x59, 0x12, 0x66, 0x17, 0xed, 0x43, 0x78, - 0xa8, 0xe4, 0xfd, 0x2c, 0xaf, 0xe1, 0xf2, 0x68, 0xc4, 0x60, 0x31, 0x6a, 0x9a, 0x3e, 0x91, 0x05, - 0x0b, 0x42, 0xc9, 0xdc, 0xa4, 0x28, 0x63, 0xc7, 0x5b, 0x14, 0xe4, 0x2f, 0xaf, 0x4c, 0xc4, 0x90, - 0xdc, 0xa5, 0x57, 0xf5, 0x74, 0x82, 0x01, 0x24, 0x3f, 0x9e, 0xbd, 0x8a, 0x8c, 0x78, 0x95, 0x35, - 0xbb, 0x86, 0x30, 0x59, 0x35, 0x6e, 0xb2, 0xce, 0x44, 0xb3, 0x33, 0xb3, 0xb5, 0x88, 0x7c, 0x25, - 0xe3, 0x9d, 0x15, 0x6d, 0xff, 0xcc, 0x30, 0x4c, 0x3c, 0x48, 0xcf, 0x0f, 0x44, 0x23, 0x5d, 0x6b, - 0x22, 0x76, 0x37, 0x92, 0xcb, 0xd2, 0x95, 0x35, 0xe5, 0x1f, 0xe5, 0xc1, 0x7b, 0x08, 0x86, 0x37, - 0xf0, 0x0f, 0x43, 0x12, 0x88, 0xcb, 0x5e, 0x74, 0xa1, 0x64, 0xff, 0x14, 0x2c, 0xc9, 0x91, 0x85, - 0x1a, 0x08, 0xde, 0xe2, 0xea, 0xbb, 0xd9, 0xb2, 0x1d, 0x98, 0xd9, 0x83, 0x8c, 0x21, 0xfc, 0xda, - 0x68, 0x3e, 0x89, 0xac, 0x7a, 0x61, 0x65, 0x3e, 0xf3, 0xf6, 0x53, 0x26, 0x03, 0x0b, 0xe3, 0xf6, - 0xb7, 0x32, 0x48, 0x00, 0xb3, 0xcf, 0xaa, 0x93, 0x3a, 0x19, 0x69, 0x23, 0x50, 0x1d, 0xbd, 0xba, - 0x8e, 0x28, 0x45, 0x71, 0xe1, 0x99, 0x10, 0x88, 0xfd, 0x4e, 0x6f, 0x64, 0xf4, 0x6b, 0xd7, 0xd4, - 0x36, 0x65, 0xe7, 0x6b, 0x7c, 0xe2, 0x0c, 0x65, 0x28, 0x93, 0xcf, 0xbc, 0xa7, 0x12, 0x63, 0xdb, - 0x59, 0x99, 0x28, 0xad, 0x18, 0x66, 0xf9, 0x56, 0x67, 0x33, 0xa4, 0x77, 0x04, 0x0a, 0x78, 0x82, - 0xb1, 0xc1, 0xa6, 0xdc, 0xa9, 0x25, 0xc8, 0x4e, 0x62, 0xf8, 0x16, 0xc1, 0x70, 0x5e, 0x75, 0x39, - 0x7c, 0x4d, 0xfb, 0x71, 0x8f, 0xe0, 0x7e, 0x3b, 0x17, 0xdb, 0xe9, 0x10, 0xc3, 0x81, 0x42, 0x97, - 0x2f, 0xb6, 0xac, 0x78, 0x46, 0x86, 0xc5, 0x6f, 0x66, 0x0b, 0x42, 0x19, 0x78, 0x9d, 0xff, 0xc0, - 0x7b, 0x7c, 0x1c, 0xef, 0x39, 0x73, 0x82, 0xaa, 0xcd, 0xa0, 0xb7, 0xc4, 0x28, 0xd6, 0xdc, 0xbb, - 0x7c, 0x8d, 0x1b, 0x94, 0xd5, 0xc2, 0x54, 0x8b, 0x9c, 0x84, 0x87, 0x3a, 0xa8, 0x20, 0x55, 0x2f, - 0x5a, 0xd3, 0xec, 0x9b, 0x28, 0xd1, 0xf4, 0xa3, 0x74, 0xb4, 0x15, 0x90, 0x3d, 0xec, 0x46, 0xe7, - 0x0a, 0x15, 0xbf, 0xa2, 0xd4, 0x6d, 0x02, 0xae, 0x39, 0x3a, 0x33, 0xbf, 0x17, 0xd1, 0x60, 0x65, - 0x85, 0x7f, 0x10, 0x4e, 0xf3, 0x89, 0x9d, 0xfd, 0x2a, 0xdc, 0xfe, 0x46, 0xac, 0x4f, 0x5a, 0xea, - 0x92, 0x89, 0xfe, 0xc6, 0xce, 0x5d, 0x6e, 0x9b, 0x73, 0xc0, 0x8f, 0xfd, 0x38, 0x1c, 0x07, 0x31, - 0x99, 0x04, 0xe0, 0x7f, 0x4b, 0xc7, 0xba, 0xc7, 0xd4, 0x87, 0x88, 0x28, 0xdf, 0x17, 0x88, 0xd8, - 0xd2, 0x40, 0x50, 0xab, 0x2c, 0x77, 0x8b, 0x97, 0xf8, 0x18, 0xfb, 0xa8, 0x4e, 0x34, 0xdb, 0x47, - 0x01, 0x96, 0xde, 0xd8, 0x38, 0x9a, 0xa8, 0x6f, 0xc0, 0x4c, 0xf8, 0x55, 0x20, 0x9c, 0xb9, 0x2f, - 0xb4, 0x85, 0x92, 0x62, 0x7c, 0x20, 0xa7, 0xd1, 0x08, 0xca, 0x97, 0xa7, 0xd5, 0x01, 0xd3, 0x35, - 0x2c, 0xc2, 0xdb, 0x82, 0x90, 0x0b, 0xab, 0xa4, 0x54, 0xa8, 0x0e, 0x1e, 0xfa, 0xef, 0xe8, 0x49, - 0x79, 0x61, 0x3e, 0x17, 0xf1, 0x8b, 0x63, 0x16, 0x36, 0xa3, 0x99, 0xc0, 0x3a, 0x38, 0x37, 0xc7, - 0x1d, 0x48, 0x5f, 0xf0, 0xab, 0x90, 0x04, 0x57, 0x5f, 0x58, 0xdc, 0x54, 0x79, 0xc3, 0xf6, 0xe6, - 0x53, 0x6c, 0x1c, 0x60, 0x16, 0xd6, 0x37, 0xe7, 0x01, 0x55, 0x59, 0x25, 0x80, 0x52, 0x3e, 0x3c, - 0x53, 0x74, 0x63, 0x69, 0x1c, 0x0f, 0x57, 0x2b, 0x6a, 0xb4, 0xb1, 0xe6, 0x61, 0xcc, 0x15, 0x43, - 0x64, 0xe2, 0x23, 0x98, 0x21, 0x7b, 0x6e, 0x23, 0x69, 0x48, 0xef, 0x25, 0x14, 0xfa, 0x69, 0x79, - 0x93, 0x23, 0xca, 0x64, 0xff, 0xe3, 0x26, 0x75, 0x65, 0xd5, 0x29, 0xce, 0x68, 0xf2, 0xcb, 0x30, - 0xa8, 0x07, 0x12, 0x24, 0x35, 0x97, 0x2b, 0x8d, 0x5c, 0x43, 0x86, 0x9d, 0xa9, 0x64, 0x74, 0x5d, - 0x08, 0x7c, 0x5f, 0xc0, 0xc0, 0x02, 0x8b, 0xd9, 0xe2, 0x21, 0x2c, 0x32, 0x13, 0x55, 0xdc, 0x4c, - 0x8d, 0x02, 0xe9, 0xac, 0x61, 0x2d, 0xf0, 0x77, 0x2c, 0x46, 0x88, 0x7d, 0x42, 0x5b, 0xae, 0xb5, - 0xe7, 0xde, 0x9f, 0x2a, 0xeb, 0xd0, 0xff, 0x9b, 0x34, 0xbb, 0xf5, 0x07, 0x60, 0x47, 0x24, 0xa4, - 0xf0, 0xab, 0xce, 0xfb, 0xa3, 0xca, 0xf5, 0x2c, 0x19, 0x97, 0x6e, 0x50, 0x84, 0x63, 0xee, 0x4d, - 0x53, 0xa1, 0x9f, 0x79, 0x0f, 0xc9, 0x21, 0xf9, 0x46, 0xbe, 0x8c, 0xe0, 0x4a, 0x19, 0xcb, 0xdb, - 0xd1, 0x03, 0xb3, 0x5a, 0xf5, 0x0d, 0xaf, 0x67, 0x30, 0x5e, 0x30, 0x21, 0x08, 0x0d, 0xee, 0x01, - 0xe2, 0x0b, 0xe2, 0xe6, 0x80, 0x5b, 0xc0, 0xcc, 0xaf, 0xbb, 0x6d, 0xcf, 0x6e, 0xbf, 0x61, 0xd5, - 0xac, 0xe3, 0x71, 0x91, 0xea, 0x59, 0x84, 0xb2, 0x50, 0xad, 0xb1, 0xcc, 0x3a, 0x6f, 0x60, 0x04, - 0xfa, 0x64, 0x20, 0x9f, 0x6c, 0xaa, 0x53, 0x52, 0x6d, 0x91, 0xcc, 0x1a, 0x4f, 0xe5, 0x00, 0xd1, - 0xe2, 0x3a, 0x30, 0x6b, 0x49, 0xdb, 0x65, 0xa0, 0x25, 0x77, 0xb9, 0x47, 0x8b, 0x12, 0x6c, 0x42, - 0xca, 0x58, 0xcc, 0x94, 0x44, 0x4b, 0xaa, 0x00, 0xbb, 0x33, 0x1f, 0xa8, 0x10, 0x8b, 0xc2, 0xc8, - 0xd5, 0xb0, 0xd2, 0x2e, 0xf9, 0x83, 0x36, 0x07, 0x36, 0xae, 0x37, 0xba, 0x3f, 0x3d, 0xe6, 0xb1, - 0xb9, 0x88, 0xb4, 0xbc, 0x11, 0x6d, 0x3d, 0xc9, 0x1a, 0xca, 0x09, 0xdd, 0x20, 0x0f, 0xed, 0x00, - 0xe3, 0xea, 0xdb, 0x58, 0xc8, 0x4f, 0xf9, 0xa4, 0x3d, 0x1c, 0x2f, 0x65, 0xfa, 0x5f, 0x40, 0xf0, - 0x04, 0xfd, 0x0b, 0xd6, 0x78, 0xe8, 0x51, 0xc6, 0xfd, 0xea, 0x9d, 0xe7, 0xdd, 0xf3, 0xce, 0x87, - 0xa3, 0x7b, 0x04, 0x45, 0xc2, 0xce, 0x29, 0x59, 0x2b, 0x91, 0x71, 0x43, 0x87, 0x8e, 0x28, 0xdb, - 0x59, 0x16, 0x5b, 0xb0, 0x51, 0xa7, 0x63, 0x5b, 0x51, 0x51, 0x5f, 0x7b, 0xc0, 0x86, 0x89, 0x81, - 0x05, 0xf1, 0x35, 0x67, 0x26, 0x00, 0x81, 0xe9, 0x01, 0x0a, 0xea, 0x25, 0x92, 0x4d, 0x56, 0x03, - 0xef, 0xbf, 0x15, 0x57, 0x4c, 0x9d, 0x4a, 0x9e, 0x74, 0x20, 0x5f, 0xa5, 0x3e, 0xa3, 0xbd, 0xb2, - 0x6c, 0x58, 0x5e, 0x85, 0xc6, 0x1e, 0xd4, 0xa4, 0x22, 0xb7, 0x50, 0xe3, 0x0b, 0xa4, 0x64, 0x78, - 0x03, 0x7e, 0xf3, 0xb2, 0x0e, 0x25, 0x7f, 0xbb, 0x0f, 0xea, 0x62, 0x66, 0xf4, 0x5a, 0x30, 0x90, - 0x94, 0x3e, 0x16, 0x9b, 0x88, 0x32, 0xd1, 0xe1, 0x80, 0x4f, 0x5f, 0xba, 0x12, 0x10, 0x1f, 0x72, - 0xbb, 0x5d, 0x76, 0xf4, 0x42, 0x10, 0x1d, 0x87, 0xa6, 0xd0, 0xc9, 0x35, 0x71, 0x0b, 0x9c, 0xe6, - 0x08, 0x18, 0xd8, 0xa2, 0x69, 0x48, 0x69, 0xef, 0x3c, 0x2d, 0x59, 0x38, 0xd7, 0x7f, 0xf6, 0x0b, - 0xc0, 0x56, 0x27, 0xc1, 0x11, 0x0e, 0x27, 0xfa, 0x7c, 0x07, 0xec, 0x75, 0xdd, 0x31, 0x36, 0xac, - 0x3d, 0x02, 0x35, 0x80, 0xa2, 0xc3, 0x84, 0x56, 0x4b, 0x98, 0x04, 0xb3, 0x4b, 0xd0, 0xf9, 0x17, - 0x3c, 0x13, 0x30, 0x6d, 0x82, 0xc2, 0x6d, 0x36, 0x06, 0x14, 0xb0, 0xac, 0xef, 0xb4, 0xfb, 0x04, - 0x04, 0xf8, 0xa1, 0x93, 0xe0, 0xeb, 0x2f, 0x3f, 0xbd, 0x11, 0xe6, 0xa6, 0xe6, 0xd9, 0xd6, 0x64, - 0x92, 0x15, 0x4a, 0xc7, 0x2b, 0xf8, 0x29, 0x5c, 0xfe, 0x14, 0xf2, 0x67, 0xdc, 0x80, 0x04, 0xd0, - 0x7c, 0x3f, 0x72, 0x75, 0x4f, 0x09, 0x66, 0xc1, 0x95, 0xa6, 0xbb, 0x4e, 0x6a, 0x9d, 0xa4, 0x01, - 0x08, 0x26, 0x2b, 0x3f, 0x94, 0xa1, 0xc4, 0x6d, 0x64, 0xd5, 0x14, 0x31, 0x3a, 0x70, 0x3d, 0x7e, - 0x43, 0x8e, 0x25, 0xa9, 0x06, 0x64, 0xaa, 0x0e, 0xb5, 0x3a, 0x36, 0x16, 0xcd, 0x7d, 0xfa, 0xd1, - 0xee, 0xac, 0x23, 0xa6, 0x27, 0x4a, 0x6d, 0x4c, 0x7e, 0x3e, 0xe4, 0x7f, 0xa5, 0x8b, 0x2a, 0xd4, - 0x5a, 0xcf, 0x8a, 0x57, 0x5a, 0x29, 0xd0, 0x54, 0x72, 0xc1, 0x66, 0xbb, 0x5d, 0x85, 0xa8, 0x49, - 0x75, 0xd4, 0xd3, 0x78, 0x3a, 0x87, 0x48, 0x9d, 0x02, 0x03, 0x5a, 0xde, 0x30, 0x11, 0x3a, 0xc2, - 0x86, 0xad, 0xb1, 0x88, 0xc4, 0x37, 0x87, 0x83, 0xef, 0x74, 0xfc, 0x8b, 0xc2, 0x09, 0x14, 0x5a, - 0xb7, 0xa4, 0xf5, 0x75, 0xb1, 0x3b, 0xbd, 0x8a, 0xea, 0xd3, 0x76, 0x1c, 0xb9, 0x8d, 0x5b, 0x1a, - 0x77, 0x47, 0x42, 0x6f, 0x48, 0x9f, 0x11, 0x22, 0xa1, 0x58, 0x54, 0x7f, 0x97, 0xc1, 0x7f, 0xc4, - 0x38, 0x51, 0x9c, 0x00, 0x0d, 0xfa, 0x9d, 0x2a, 0xfe, 0xd0, 0x1e, 0x68, 0x81, 0xb9, 0x31, 0x95, - 0x17, 0x09, 0x0e, 0xfc, 0x61, 0xdb, 0x4b, 0xdc, 0x7b, 0x7c, 0x72, 0xb4, 0xe2, 0xef, 0xcb, 0x57, - 0x7f, 0x14, 0x4b, 0xa1, 0x76, 0xbb, 0x68, 0xf1, 0x9f, 0x24, 0xec, 0x50, 0xc7, 0x05, 0xb3, 0xec, - 0x85, 0xd5, 0xf1, 0xc9, 0xb7, 0x42, 0xfe, 0xc3, 0x8a, 0x42, 0xb2, 0x86, 0xde, 0xde, 0x2e, 0x8a, - 0xd5, 0x6b, 0x2e, 0xeb, 0xd3, 0x3c, 0x81, 0x9f, 0x72, 0x5c, 0x47, 0xba, 0x6c, 0xca, 0x14, 0x60, - 0xd8, 0xa1, 0xbb, 0x1e, 0x05, 0x0e, 0x5e, 0x5e, 0xf6, 0xf7, 0x90, 0xc8, 0xc8, 0x40, 0x3c, 0xa4, - 0xb8, 0xdd, 0xab, 0x13, 0xb6, 0x33, 0x7f, 0x2a, 0xf5, 0x98, 0xc8, 0xab, 0x5e, 0xc8, 0x9e, 0xfb, - 0x69, 0x81, 0xb8, 0x59, 0xa0, 0x94, 0x26, 0x78, 0x6a, 0x5e, 0x27, 0xc3, 0xab, 0x1b, 0x29, 0x3b, - 0xa0, 0x15, 0x58, 0x2a, 0x40, 0x73, 0x75, 0x50, 0xbd, 0x3e, 0x6c, 0x4a, 0x73, 0x1b, 0xcc, 0x44, - 0x03, 0xc8, 0x64, 0xbb, 0xa2, 0x90, 0xa5, 0x04, 0xc4, 0x49, 0x99, 0xd3, 0x68, 0x24, 0xdb, 0x37, - 0x65, 0x34, 0x65, 0x4f, 0x60, 0xad, 0x0a, 0x9b, 0x89, 0x23, 0xf9, 0xb3, 0x30, 0xd0, 0xab, 0x8f, - 0x33, 0x8f, 0x6a, 0x02, 0xa5, 0xd7, 0x18, 0x34, 0xab, 0x87, 0x6c, 0x82, 0xbe, 0xb5, 0x32, 0xfa, - 0xe7, 0xeb, 0x42, 0x37, 0x94, 0x60, 0xe6, 0xf2, 0x47, 0xf2, 0x31, 0x04, 0x92, 0x86, 0x1f, 0xc0, - 0x20, 0xcc, 0x9d, 0x1c, 0x24, 0x0a, 0xa8, 0x7b, 0x25, 0x4e, 0x2d, 0x4e, 0x3a, 0x95, 0x4e, 0xc3, - 0x12, 0x3b, 0xdd, 0x9e, 0x15, 0x17, 0xdf, 0xed, 0x50, 0xb4, 0xd9, 0x21, 0x89, 0xd2, 0x02, 0xdf, - 0x28, 0xb0, 0xc6, 0xbe, 0x87, 0x29, 0x56, 0x52, 0xd3, 0x38, 0xb1, 0xbe, 0xab, 0xd4, 0xbf, 0xaa, - 0x6c, 0x08, 0x78, 0x84, 0x8f, 0xfa, 0xa8, 0xe6, 0x98, 0x07, 0x53, 0x48, 0xc4, 0xc8, 0xd5, 0xdb, - 0xcf, 0x17, 0x83, 0x10, 0x58, 0x57, 0x35, 0x9b, 0xf2, 0x8b, 0xed, 0xee, 0xe2, 0x5e, 0x38, 0xeb, - 0x3b, 0x9d, 0xa1, 0x0a, 0xd6, 0x91, 0x0a, 0x21, 0x28, 0x33, 0x6c, 0xf2, 0x09, 0xa3, 0x67, 0xa5, - 0x4f, 0x8b, 0x18, 0x0f, 0xa7, 0xf9, 0x2b, 0x32, 0x3f, 0x88, 0x37, 0x61, 0x28, 0xce, 0xba, 0x31, - 0x67, 0xc9, 0xbb, 0x6a, 0xb2, 0x7d, 0x53, 0xad, 0x6d, 0x0f, 0xa2, 0xf1, 0x64, 0x8a, 0x4b, 0xac, - 0x11, 0x96, 0x53, 0xb3, 0x4c, 0x39, 0xb4, 0xa9, 0x14, 0xa9, 0xe8, 0xa8, 0x94, 0x0b, 0x32, 0xc4, - 0xa5, 0x70, 0x39, 0x5f, 0x73, 0x3a, 0x5b, 0x14, 0x53, 0x62, 0x1e, 0xcd, 0x7a, 0x27, 0x8b, 0x0d, - 0x72, 0xdc, 0xe6, 0x70, 0x77, 0xf2, 0x70, 0x4a, 0x83, 0x44, 0x6b, 0xeb, 0x20, 0x57, 0x10, 0xbd, - 0xe3, 0x16, 0x2e, 0xbd, 0x88, 0x36, 0xf1, 0xc5, 0x06, 0xd5, 0xd7, 0x47, 0xe3, 0xb0, 0x50, 0xb2, - 0x17, 0x38, 0x65, 0xc1, 0x5a, 0x43, 0x1d, 0x2c, 0x37, 0xf2, 0xcc, 0x08, 0x40, 0xf2, 0x88, 0x6f, - 0xf2, 0x4e, 0xe0, 0x4d, 0xd8, 0x51, 0x7e, 0x4d, 0x2b, 0xe7, 0x91, 0x5e, 0xdc, 0xc2, 0x5e, 0x58, - 0x20, 0xd8, 0xb9, 0x30, 0xf9, 0x4f, 0x0d, 0x2a, 0xcd, 0xc4, 0xcd, 0x4e, 0xda, 0x8f, 0xb3, 0x52, - 0x24, 0xaf, 0x4e, 0x65, 0x5e, 0xd2, 0x00, 0xca, 0xdf, 0x69, 0xa3, 0x82, 0x65, 0xf8, 0xce, 0x6a, - 0xe2, 0x51, 0x44, 0xec, 0x46, 0x77, 0xb8, 0x00, 0xee, 0x72, 0x8b, 0x13, 0x0d, 0xf7, 0x9f, 0x84, - 0x91, 0xb7, 0xc1, 0xed, 0xce, 0x68, 0xc4, 0x76, 0xc5, 0x91, 0x9b, 0xb5, 0xac, 0x6b, 0x00, 0xc9, - 0xaf, 0x17, 0x8b, 0x87, 0xa3, 0x01, 0x22, 0xaa, 0xc7, 0xda, 0xde, 0x12, 0xb4, 0x7c, 0xf6, 0x6f, - 0x74, 0xdc, 0x63, 0x60, 0xb6, 0x7b, 0x34, 0x8e, 0x3b, 0x4e, 0x36, 0x63, 0x9b, 0xb8, 0x1b, 0x98, - 0xc4, 0x28, 0x52, 0x81, 0xd7, 0x2d, 0x1a, 0x6e, 0x20, 0x0a, 0xa1, 0xb8, 0x89, 0x28, 0xd5, 0x57, - 0xeb, 0x1f, 0xba, 0x13, 0x1c, 0x5b, 0x25, 0x97, 0x2a, 0x2c, 0xf2, 0xae, 0x73, 0x63, 0x2f, 0x3a, - 0x59, 0xcd, 0x30, 0x36, 0x40, 0xb2, 0xb0, 0x5a, 0x17, 0xfd, 0x26, 0xb8, 0x83, 0x34, 0x23, 0xa6, - 0xea, 0x8e, 0x93, 0x07, 0x90, 0x6f, 0x65, 0x80, 0xf2, 0x9b, 0x60, 0xdb, 0xb7, 0x50, 0x19, 0x46, - 0x8c, 0xdd, 0x79, 0x67, 0x9a, 0xe2, 0x23, 0xde, 0x63, 0x44, 0xc5, 0x76, 0x38, 0x13, 0x55, 0x8a, - 0x58, 0xed, 0xd4, 0xb5, 0x83, 0x2c, 0x28, 0x73, 0xe2, 0x4e, 0xe0, 0x39, 0xf8, 0x4c, 0x89, 0x0c, - 0xae, 0xc8, 0x70, 0x14, 0xe5, 0x4a, 0xb1, 0xda, 0xff, 0x01, 0x06, 0xcf, 0xa0, 0x02, 0xfa, 0xae, - 0xa3, 0x95, 0x45, 0xe1, 0x62, 0x1c, 0x95, 0xea, 0xb7, 0xf3, 0x0a, 0x31, 0xb6, 0x02, 0x3d, 0xe0, - 0x30, 0xa8, 0xaa, 0xf4, 0xc8, 0x91, 0x2e, 0x88, 0xdf, 0xaf, 0xb0, 0x78, 0x93, 0x2f, 0x08, 0x95, - 0x42, 0x53, 0xc2, 0x92, 0xd4, 0x60, 0x9d, 0x96, 0x89, 0xd6, 0x8e, 0xdd, 0x26, 0xe2, 0xb0, 0x8d, - 0x6c, 0x5f, 0x6d, 0xd9, 0x33, 0x22, 0xbc, 0x45, 0x22, 0x35, 0x7e, 0x77, 0xf3, 0x1f, 0x7b, 0x1d, - 0x4f, 0x7d, 0x37, 0x27, 0xa4, 0x7e, 0xda, 0x4f, 0xf3, 0xc6, 0x3b, 0xfb, 0x4b, 0x1e, 0x5a, 0x5f, - 0xf3, 0xd1, 0xd5, 0x93, 0x6e, 0x30, 0x01, 0x2d, 0x4e, 0x90, 0xe1, 0x5b, 0xe4, 0x6c, 0xbe, 0xd2, - 0xa1, 0x80, 0x2d, 0x04, 0xc8, 0xfb, 0x0d, 0x67, 0xca, 0xe0, 0xe0, 0xeb, 0x67, 0xff, 0x89, 0x1a, - 0xf0, 0x77, 0xf8, 0xde, 0xd8, 0x43, 0xea, 0x8e, 0x9c, 0x46, 0x5b, 0x0f, 0x60, 0xea, 0x98, 0x1e, - 0x34, 0x69, 0x04, 0x52, 0x5e, 0xd4, 0x5d, 0x7f, 0x76, 0xdb, 0x87, 0xb5, 0xa6, 0x89, 0xee, 0xc0, - 0x2d, 0x30, 0xc7, 0x6f, 0xcc, 0x07, 0x8a, 0xc5, 0x8d, 0x8b, 0x1a, 0xca, 0xee, 0x84, 0xd3, 0xed, - 0xd3, 0xf3, 0xf4, 0x1f, 0x38, 0xdb, 0x87, 0x80, 0xea, 0x7f, 0x8a, 0xb3, 0xc5, 0x20, 0xe7, 0x0f, - 0x1e, 0xc3, 0x3a, 0x12, 0x61, 0x24, 0xf0, 0x53, 0x50, 0x0e, 0x8c, 0x5e, 0x92, 0x3c, 0xc9, 0xa2, - 0xc6, 0x93, 0xa3, 0xd3, 0xb1, 0x6a, 0xc7, 0x83, 0x81, 0x19, 0x8f, 0x18, 0x49, 0x8d, 0xb7, 0x8c, - 0x30, 0x1f, 0xc9, 0xa0, 0x6e, 0x59, 0x30, 0xdd, 0xc4, 0x01, 0x84, 0xee, 0x36, 0x0b, 0xf4, 0x08, - 0x3d, 0x8b, 0x12, 0x00, 0x89, 0x59, 0xcd, 0x5e, 0x16, 0x06, 0xc0, 0x26, 0xd7, 0xdf, 0x4a, 0xc2, - 0x7a, 0xc2, 0x70, 0xce, 0x38, 0xf6, 0x12, 0x29, 0xc9, 0x9d, 0x99, 0xc0, 0x80, 0x35, 0x23, 0x0d, - 0xaa, 0x0b, 0x58, 0xaa, 0x00, 0x91, 0x3a, 0x70, 0xbf, 0xa0, 0xf1, 0xb4, 0x20, 0xf7, 0x49, 0x06, - 0xed, 0xaf, 0x7a, 0x23, 0x77, 0x0e, 0x75, 0x9c, 0x08, 0x63, 0xc6, 0xf8, 0x58, 0x33, 0x72, 0x0a, - 0x68, 0x8c, 0xcd, 0x01, 0x3e, 0x2c, 0x00, 0x7b, 0xa0, 0x92, 0x1a, 0xd8, 0x34, 0x1d, 0x19, 0x81, - 0xf4, 0x4f, 0x0b, 0x58, 0x89, 0x43, 0x72, 0x6f, 0x90, 0x4f, 0x98, 0xbe, 0xe1, 0x40, 0x07, 0xd0, - 0x68, 0xa9, 0xe5, 0x65, 0x1e, 0x52, 0x97, 0xd4, 0x10, 0x41, 0x8d, 0x85, 0x9e, 0x46, 0xec, 0xb6, - 0x84, 0x25, 0xfd, 0x5e, 0x89, 0x4a, 0xf9, 0x95, 0x40, 0x03, 0x16, 0x23, 0xf3, 0xc4, 0xa6, 0x8e, - 0x5a, 0xb9, 0x89, 0xe6, 0x2f, 0xae, 0x00, 0x8e, 0xc6, 0xa5, 0xed, 0x79, 0xf6, 0x15, 0x25, 0x6e, - 0x32, 0x8a, 0x38, 0xb0, 0x9b, 0x5e, 0x75, 0xe8, 0x3d, 0x96, 0xbe, 0xff, 0xe2, 0x21, 0x95, 0xfe, - 0x02, 0x7d, 0x50, 0xe9, 0x10, 0x24, 0xf8, 0xd7, 0x6b, 0xa1, 0x48, 0x6b, 0xec, 0xf0, 0xd7, 0x25, - 0xfb, 0x1b, 0xe7, 0x92, 0x0c, 0x1a, 0x7d, 0x17, 0x39, 0xe6, 0x7f, 0xcf, 0xc7, 0x69, 0x0e, 0x18, - 0x86, 0x67, 0xd4, 0x53, 0x63, 0x89, 0x7a, 0x7a, 0xee, 0xff, 0xf6, 0xfd, 0x92, 0xd5, 0x4f, 0xd0, - 0x66, 0xe6, 0xeb, 0x26, 0xa7, 0x3b, 0x00, 0x81, 0x63, 0x7d, 0x51, 0x4c, 0x66, 0xf8, 0x01, 0x53, - 0xfd, 0x56, 0x22, 0xb1, 0x0b, 0x53, 0x65, 0xa6, 0x8f, 0x74, 0xcf, 0x9d, 0x37, 0x70, 0x28, 0xdc, - 0x00, 0xc5, 0x7c, 0xb0, 0x9c, 0x27, 0x81, 0xe8, 0x05, 0x3b, 0x80, 0xff, 0x58, 0xc1, 0x54, 0xc2, - 0x41, 0x6a, 0x13, 0x2e, 0x96, 0x29, 0x4f, 0xfd, 0x17, 0xe7, 0xee, 0x5f, 0xc6, 0x09, 0x38, 0x86, - 0x73, 0x7a, 0x56, 0xb5, 0x87, 0xcd, 0x80, 0x02, 0xb1, 0xa6, 0x1e, 0xa5, 0x19, 0xb3, 0xf2, 0xef, - 0xee, 0xc7, 0xa4, 0x7f, 0xf4, 0xf6, 0xc2, 0x4f, 0x51, 0x7f, 0x54, 0x65, 0xd4, 0x6d, 0xcf, 0xe4, - 0x78, 0xdd, 0x97, 0x4e, 0x18, 0xe4, 0x88, 0x6e, 0x51, 0x23, 0xf8, 0x4f, 0x65, 0x62, 0x6a, 0xbe, - 0x6b, 0x90, 0x24, 0x15, 0xf6, 0x6e, 0x4f, 0xfb, 0x15, 0x4b, 0xf3, 0xd6, 0x04, 0xc4, 0xe2, 0xaf, - 0x18, 0x93, 0x1d, 0x74, 0x12, 0x37, 0x33, 0xc2, 0x5d, 0x7a, 0xcd, 0x84, 0x1b, 0xab, 0xa4, 0x04, - 0xa6, 0xba, 0x01, 0x45, 0x2d, 0x89, 0x5b, 0x40, 0x00, 0xb6, 0xc3, 0x6f, 0x23, 0x53, 0xbd, 0x3a, - 0x0f, 0x81, 0x1f, 0x2c, 0x74, 0x72, 0x1a, 0x70, 0xe5, 0xf7, 0xcb, 0x81, 0xbe, 0x8e, 0xfb, 0x24, - 0xe1, 0xd1, 0xf9, 0xf1, 0xdf, 0xb9, 0x66, 0x16, 0xf0, 0x02, 0x03, 0xf0, 0x86, 0xcf, 0x8c, 0xb6, - 0x4a, 0x28, 0xa0, 0xe7, 0x6b, 0x26, 0x6c, 0xe5, 0x79, 0x69, 0x40, 0xe4, 0xfe, 0x10, 0xe7, 0x1d, - 0x66, 0xec, 0x9c, 0x4a, 0x69, 0xc7, 0xb2, 0x68, 0x74, 0xab, 0xf7, 0x10, 0x3e, 0x1e, 0xbf, 0x48, - 0xe4, 0x9a, 0x1f, 0xe2, 0xa7, 0x3e, 0x0c, 0x2a, 0x52, 0x12, 0xf2, 0xf7, 0xea, 0x46, 0x77, 0xcd, - 0x5a, 0x8d, 0x3d, 0x6b, 0x11, 0x73, 0xe2, 0x7e, 0x70, 0x2e, 0xb8, 0x61, 0x95, 0x71, 0x40, 0x6d, - 0x28, 0x03, 0x71, 0x2c, 0x79, 0xfa, 0x7c, 0xb6, 0xab, 0x5c, 0x80, 0x46, 0x85, 0x74, 0x1e, 0x6c, - 0x82, 0x7b, 0x1a, 0x46, 0xcb, 0x30, 0xfb, 0x55, 0x07, 0xf9, 0xd2, 0x8f, 0xed, 0x24, 0x4c, 0x31, - 0x84, 0xec, 0xb4, 0x9e, 0x30, 0xd4, 0x19, 0x79, 0x2f, 0xfe, 0x74, 0x37, 0x55, 0xdd, 0x01, 0x4a, - 0xfa, 0xdc, 0xd7, 0x56, 0x24, 0x84, 0x64, 0x82, 0x23, 0x32, 0xc8, 0x70, 0x1a, 0x93, 0xcd, 0xa1, - 0xd4, 0x43, 0x36, 0xef, 0xc0, 0xc0, 0x72, 0x6c, 0xe5, 0x70, 0x98, 0xbc, 0x7d, 0x1b, 0xfe, 0x77, - 0xaa, 0xd5, 0x5b, 0xa8, 0x0c, 0x58, 0x58, 0x62, 0xa6, 0x07, 0xba, 0x3b, 0x96, 0x92, 0x15, 0xb5, - 0x19, 0xaf, 0x87, 0x7c, 0x94, 0xe4, 0xd0, 0x58, 0x91, 0x13, 0x1e, 0x95, 0xa7, 0x1f, 0xce, 0x12, - 0x20, 0xb2, 0x37, 0x03, 0x46, 0x38, 0x04, 0x72, 0x21, 0xd0, 0x75, 0x4e, 0xbe, 0xe8, 0x06, 0x03, - 0xd7, 0x0d, 0x3d, 0xbc, 0x7c, 0xf2, 0x1a, 0xa0, 0x3e, 0xa3, 0xc7, 0x7f, 0x70, 0x77, 0x64, 0xc9, - 0xd7, 0xed, 0x69, 0xb3, 0x4f, 0x44, 0x60, 0x05, 0x15, 0x89, 0xb5, 0x39, 0x6b, 0x37, 0xf1, 0x2f, - 0xee, 0x2c, 0x45, 0x02, 0x48, 0xab, 0x01, 0x76, 0x7c, 0x69, 0x1a, 0x9e, 0xa3, 0xa4, 0x87, 0xb5, - 0x2d, 0xaa, 0x59, 0x52, 0x03, 0x86, 0xa0, 0x2a, 0xbe, 0xfa, 0x24, 0x86, 0xf0, 0x8d, 0x4f, 0x10, - 0xb8, 0x1a, 0x6d, 0x89, 0xbd, 0xfd, 0x58, 0x22, 0xce, 0x6f, 0xd2, 0xd9, 0x19, 0x9c, 0xfc, 0x79, - 0xae, 0x9b, 0x02, 0xe1, 0x57, 0xc8, 0x00, 0x63, 0xbe, 0xb8, 0x17, 0xef, 0x91, 0x1a, 0xd3, 0xcb, - 0xcd, 0x91, 0x0f, 0x94, 0xd3, 0x42, 0x3b, 0x76, 0x11, 0x53, 0x5e, 0xa2, 0x95, 0xe8, 0x11, 0x14, - 0x9c, 0x08, 0x46, 0x28, 0x64, 0x89, 0x23, 0x56, 0x24, 0xb7, 0x40, 0xd4, 0xd7, 0x1d, 0xa0, 0xb7, - 0x65, 0xd8, 0xb4, 0x1e, 0xb3, 0x8d, 0xf5, 0xb1, 0x34, 0xd1, 0x1b, 0xa5, 0x98, 0xfe, 0x86, 0x9f, - 0xee, 0xe0, 0xba, 0xf7, 0x29, 0x1e, 0x55, 0xdd, 0xe3, 0xcb, 0xb9, 0xd8, 0xe7, 0xe5, 0x75, 0xca, - 0xcf, 0xed, 0xb4, 0x27, 0x69, 0x59, 0x10, 0x3d, 0x45, 0x46, 0x44, 0x4d, 0x0a, 0x63, 0x70, 0x4b, - 0x5b, 0xb7, 0x80, 0x69, 0xe7, 0x38, 0x6a, 0xf5, 0xcd, 0x7f, 0xcd, 0x1a, 0xa4, 0xdd, 0x30, 0x9f, - 0xa2, 0x50, 0x88, 0x6a, 0x59, 0x2b, 0x36, 0x3c, 0x9d, 0x0e, 0x18, 0x1b, 0x9b, 0x67, 0xb1, 0x2a, - 0x9d, 0xc3, 0xe5, 0xc5, 0x82, 0x25, 0xf0, 0xca, 0x75, 0xb8, 0x81, 0x9a, 0x44, 0xcd, 0xe4, 0x45, - 0x1d, 0xab, 0x4b, 0x3b, 0x8e, 0xcb, 0x0e, 0x6e, 0x4f, 0x08, 0x56, 0xec, 0xeb, 0x56, 0x63, 0x3d, - 0x44, 0x16, 0x60, 0xe2, 0x1d, 0xac, 0xd4, 0xf4, 0x7e, 0x81, 0xd3, 0xa4, 0x19, 0x83, 0x5a, 0xb7, - 0x69, 0x03, 0x0a, 0x36, 0xbd, 0x98, 0x37, 0x94, 0x90, 0x7e, 0xcd, 0xb9, 0xdc, 0x1c, 0x40, 0x66, - 0xf4, 0x68, 0x10, 0x51, 0xcc, 0xb1, 0xcd, 0xe1, 0xe2, 0x9f, 0x34, 0x60, 0x4e, 0xc0, 0xd3, 0x4c, - 0x4e, 0x7e, 0xac, 0x64, 0xbb, 0xd8, 0x1d, 0x77, 0x0c, 0xde, 0x92, 0xf4, 0xe2, 0xd2, 0xed, 0x23, - 0xc8, 0xc5, 0x2c, 0xd5, 0xc9, 0x28, 0x90, 0xd5, 0x00, 0x29, 0x90, 0xd2, 0x16, 0x8a, 0xd9, 0xc9, - 0x76, 0x58, 0xe4, 0xc0, 0x1b, 0x5a, 0xda, 0x6c, 0x7f, 0xb6, 0xae, 0xcd, 0xa0, 0x62, 0x33, 0xde, - 0x12, 0x13, 0x8d, 0xa2, 0xc5, 0xbd, 0x7f, 0x66, 0x14, 0xdc, 0x21, 0xe6, 0x43, 0x19, 0xe5, 0x33, - 0x42, 0x08, 0xfb, 0x83, 0xea, 0xe9, 0xf9, 0x43, 0xff, 0xb3, 0xc9, 0x05, 0xca, 0xd9, 0x47, 0x80, - 0x0c, 0x1c, 0x25, 0x3a, 0x59, 0x8d, 0x2c, 0x05, 0x7b, 0x75, 0xdf, 0x1c, 0x2a, 0x10, 0xb7, 0x80, - 0x45, 0xaf, 0x6f, 0x11, 0x9b, 0xd6, 0x00, 0x29, 0xc3, 0xa4, 0x73, 0x4d, 0x9c, 0x06, 0xf2, 0xa3, - 0xbf, 0xd6, 0x2a, 0xfb, 0x8a, 0x67, 0xe9, 0xbe, 0x83, 0x7b, 0x57, 0xc1, 0x4c, 0x76, 0x8d, 0xe1, - 0x48, 0xef, 0xd3, 0x4d, 0x57, 0xc3, 0xce, 0x4b, 0xf3, 0x01, 0xb0, 0xcf, 0xf5, 0x84, 0x4b, 0xfa, - 0xca, 0x23, 0x7f, 0x67, 0xa2, 0xb7, 0xaf, 0x5c, 0x5f, 0xaa, 0xfa, 0x12, 0x19, 0xea, 0xcf, 0x04, - 0xc1, 0x79, 0x9f, 0x2d, 0x83, 0x81, 0x10, 0x7e, 0x36, 0x1c, 0x24, 0x2b, 0x6f, 0xc4, 0x1c, 0x11, - 0xe4, 0xf1, 0xc1, 0xc4, 0xec, 0xdf, 0x70, 0x62, 0x0a, 0xe4, 0x2d, 0xdb, 0xf1, 0xa2, 0x53, 0x22, - 0xd8, 0xeb, 0xbc, 0x62, 0x0b, 0xdf, 0x5d, 0xb9, 0xa8, 0x90, 0xa8, 0xbf, 0xda, 0x78, 0x21, 0xb5, - 0x46, 0x4f, 0x27, 0x91, 0x4e, 0x85, 0xaf, 0x62, 0x61, 0x64, 0x0e, 0x0d, 0xb6, 0x4b, 0x03, 0x2f, - 0x30, 0x60, 0x67, 0x84, 0x28, 0xa0, 0xe2, 0x88, 0xb2, 0x37, 0xf1, 0xfe, 0x6d, 0x94, 0x4c, 0x88, - 0x5d, 0x11, 0xe7, 0xfd, 0x55, 0x31, 0x02, 0x46, 0xf3, 0x9b, 0x62, 0xa6, 0x19, 0xb1, 0x20, 0x48, - 0x3f, 0xc1, 0xf2, 0xdc, 0x0a, 0x59, 0x0f, 0x8a, 0xc1, 0x57, 0xba, 0x4a, 0x91, 0x32, 0xaa, 0xf7, - 0xd2, 0x48, 0x79, 0xfd, 0x54, 0x46, 0x15, 0x83, 0x1c, 0x60, 0x0f, 0x52, 0x9b, 0x01, 0x17, 0x46, - 0x63, 0xa7, 0x10, 0x6a, 0x77, 0xcf, 0x35, 0xc7, 0x05, 0xf7, 0xf6, 0x53, 0x00, 0xf0, 0xe3, 0x86, - 0x05, 0x5c, 0x3a, 0x6e, 0xb5, 0x9e, 0xe8, 0x5d, 0x8b, 0xa0, 0x36, 0xca, 0x90, 0x28, 0x0d, 0x5a, - 0x71, 0xae, 0x03, 0xb8, 0x84, 0xfa, 0xe3, 0xe4, 0x7d, 0xc6, 0xdd, 0x5e, 0x91, 0x9a, 0xc2, 0x60, - 0x94, 0xf6, 0x01, 0x9e, 0xac, 0x95, 0x10, 0x2d, 0x57, 0x19, 0x67, 0x0d, 0xd7, 0x88, 0x55, 0x18, - 0x76, 0x13, 0xa9, 0xfd, 0xef, 0x04, 0x18, 0xc3, 0x42, 0xeb, 0x99, 0xfd, 0xe9, 0x91, 0x1a, 0x5d, - 0x05, 0xf0, 0x67, 0x1a, 0xf0, 0xb5, 0x6e, 0x9e, 0x8c, 0xca, 0xd3, 0x7c, 0x1f, 0x23, 0xcf, 0x06, - 0x7e, 0xd0, 0x1f, 0xb3, 0x88, 0x5b, 0x3e, 0xdf, 0x1c, 0x2b, 0x83, 0x46, 0x7c, 0x5d, 0xf5, 0xa7, - 0xb0, 0x88, 0xfd, 0xcc, 0xe2, 0x86, 0xab, 0xfc, 0x47, 0xe8, 0xff, 0x7e, 0xac, 0xf5, 0x70, 0xb0, - 0xd9, 0x95, 0x15, 0xe5, 0x63, 0x75, 0x02, 0x87, 0x46, 0xa0, 0x70, 0x3b, 0xd2, 0xb0, 0x8d, 0x9e, - 0x4c, 0xeb, 0x28, 0xa1, 0x9d, 0x8a, 0x8c, 0x11, 0xd8, 0xf7, 0xb7, 0x2f, 0x31, 0x8a, 0xc5, 0xea, - 0xbb, 0x02, 0x83, 0x66, 0x63, 0xe1, 0xcb, 0x80, 0xd1, 0x86, 0xf1, 0xda, 0xc0, 0x0a, 0x7e, 0x54, - 0x0d, 0xd5, 0xc9, 0x10, 0x94, 0x25, 0x07, 0x55, 0x5e, 0x40, 0x24, 0xa3, 0x98, 0x61, 0xaf, 0x72, - 0xb5, 0x35, 0x79, 0xe7, 0x96, 0x43, 0xff, 0x74, 0xe7, 0x15, 0x51, 0xcf, 0xd5, 0x62, 0xdf, 0x0d, - 0x76, 0x00, 0x5c, 0xc0, 0xc9, 0xfa, 0xd7, 0x33, 0xdf, 0x30, 0xfc, 0xbb, 0xa9, 0x45, 0x78, 0x85, - 0x94, 0x8c, 0x71, 0x85, 0x91, 0x68, 0x5b, 0x1d, 0x2e, 0x75, 0xbc, 0x41, 0x83, 0x66, 0xf5, 0x76, - 0x68, 0xcb, 0xe9, 0xfe, 0xe3, 0x88, 0x7b, 0x8b, 0x03, 0x7a, 0xad, 0x83, 0x6e, 0x70, 0x37, 0xe7, - 0xde, 0xf8, 0x4d, 0x46, 0x1d, 0xbf, 0x96, 0x5b, 0x57, 0x3c, 0x9f, 0x82, 0x5f, 0x71, 0x92, 0xea, - 0xa5, 0xe4, 0x36, 0x1a, 0x73, 0x34, 0xc8, 0xcf, 0x5d, 0x01, 0x1f, 0x33, 0xee, 0x75, 0x17, 0xf5, - 0x55, 0x01, 0xe6, 0x4b, 0x9a, 0xcd, 0xc1, 0x0f, 0x53, 0x83, 0xff, 0xcb, 0x83, 0x2f, 0x9c, 0xa0, - 0x05, 0x35, 0xa5, 0x63, 0x48, 0xf8, 0x43, 0x9b, 0x03, 0xc6, 0x46, 0x1c, 0xe2, 0xa1, 0xaa, 0xaa, - 0x4b, 0xd6, 0xad, 0xa3, 0x71, 0x82, 0x95, 0x95, 0xd2, 0x52, 0x6e, 0x7f, 0x8b, 0xfa, 0x6d, 0x02, - 0x0d, 0xef, 0x11, 0xaf, 0x88, 0x42, 0xcc, 0x12, 0xcf, 0x2c, 0xc2, 0x7f, 0x15, 0x8a, 0x71, 0x4e, - 0x24, 0xcf, 0xe2, 0x5a, 0x7b, 0x04, 0x44, 0x40, 0xf7, 0xbe, 0x36, 0x9f, 0xd7, 0xe4, 0xd0, 0x93, - 0x02, 0x25, 0x70, 0xed, 0x1a, 0xdf, 0xa1, 0xf8, 0xc8, 0x85, 0x63, 0x02, 0x62, 0xb6, 0xb5, 0xb9, - 0xc2, 0xfc, 0xdb, 0x91, 0xbd, 0x07, 0x5c, 0x30, 0x86, 0x8e, 0x84, 0x05, 0xed, 0x6a, 0x1b, 0x60, - 0x4d, 0xcd, 0xc3, 0x37, 0x91, 0x47, 0xf5, 0x72, 0xbf, 0xaa, 0xa9, 0x10, 0x27, 0xac, 0x19, 0xe0, - 0xe0, 0xea, 0x91, 0xfd, 0x8b, 0x9b, 0x24, 0x5b, 0x31, 0xae, 0x45, 0x80, 0x17, 0xbb, 0x81, 0x42, - 0xf5, 0x3a, 0xa2, 0xc6, 0x31, 0xa4, 0x6a, 0xdf, 0x6d, 0x8f, 0x3a, 0x6c, 0x55, 0x84, 0xf9, 0xdd, - 0x02, 0x61, 0xeb, 0x43, 0xdc, 0x16, 0xbf, 0x15, 0x05, 0x25, 0xff, 0xec, 0xa5, 0xb7, 0x82, 0x08, - 0x4c, 0xdc, 0xa8, 0xe5, 0xde, 0x72, 0x9c, 0x59, 0x03, 0x1b, 0x42, 0xcc, 0x11, 0x7c, 0xac, 0xbf, - 0xf4, 0xb2, 0xcb, 0x60, 0x5f, 0x6b, 0x32, 0xfb, 0xf2, 0x9c, 0x1b, 0x6a, 0x99, 0xc6, 0x86, 0x7e, - 0x6e, 0xf6, 0x79, 0xef, 0x73, 0xe9, 0x6b, 0x56, 0xa0, 0x8e, 0x49, 0xe4, 0xb2, 0x56, 0x4c, 0x1d, - 0xae, 0x5a, 0x2d, 0xc9, 0xc9, 0x86, 0xd0, 0x21, 0xa2, 0x5d, 0x50, 0xa9, 0x53, 0x5b, 0x97, 0x19, - 0x23, 0xbb, 0x54, 0x3f, 0xa6, 0xc5, 0xac, 0x5b, 0xf6, 0x83, 0x80, 0x4a, 0x3d, 0x02, 0xc6, 0xd5, - 0xc1, 0xa3, 0xa3, 0x3d, 0x3a, 0x1d, 0x32, 0x72, 0xbd, 0x1d, 0xde, 0xd8, 0x4c, 0x20, 0x78, 0x1c, - 0x2c, 0xbb, 0x64, 0x0c, 0x1d, 0x8b, 0x02, 0x60, 0xae, 0x52, 0x63, 0x4a, 0x9d, 0x68, 0x19, 0x6c, - 0x08, 0xab, 0x9c, 0x4e, 0x65, 0x0b, 0x98, 0x75, 0xea, 0x14, 0xf2, 0x1c, 0xdd, 0x61, 0xe8, 0xe3, - 0xc9, 0x9e, 0x9d, 0x65, 0x98, 0x28, 0x7c, 0x22, 0xd1, 0xd9, 0x62, 0x67, 0xb1, 0xf2, 0x85, 0x3c, - 0x6b, 0x57, 0x80, 0x28, 0x8a, 0x97, 0x4b, 0xd0, 0x57, 0x5e, 0x5e, 0xf8, 0xa9, 0xd1, 0x9c, 0x25, - 0x35, 0xb7, 0x56, 0x51, 0x98, 0x96, 0xc2, 0x27, 0x9e, 0xa9, 0xf0, 0x66, 0xc0, 0x82, 0x10, 0x07, - 0xe0, 0xfa, 0x6e, 0xef, 0x9a, 0xbc, 0x49, 0xe2, 0xd9, 0x22, 0x5e, 0xcd, 0x3f, 0xcf, 0xcd, 0x66, - 0xdd, 0x92, 0x2c, 0xca, 0xa3, 0x66, 0x2f, 0x55, 0xb5, 0x9a, 0xcb, 0x7d, 0x27, 0xac, 0x4f, 0xc7, - 0xd8, 0xf5, 0x72, 0x0f, 0x77, 0xd0, 0x83, 0xf4, 0x17, 0xac, 0x52, 0x7a, 0x2e, 0x84, 0xf5, 0xa6, - 0x57, 0x2f, 0x35, 0x78, 0xdb, 0x78, 0x42, 0x39, 0x2b, 0x90, 0x08, 0x02, 0xac, 0xb8, 0x0d, 0x79, - 0x2c, 0x2c, 0xa7, 0x40, 0xc9, 0x6c, 0x7f, 0xd5, 0xa9, 0x5a, 0x49, 0x4a, 0x2f, 0x0e, 0x07, 0xa4, - 0xb9, 0x22, 0x74, 0xda, 0x45, 0x78, 0xa4, 0xaf, 0x9e, 0xc4, 0x5a, 0xb7, 0x2b, 0x75, 0x40, 0xeb, - 0x71, 0x99, 0x4c, 0xbe, 0xdf, 0x82, 0x16, 0x54, 0x1f, 0x71, 0x5a, 0xc2, 0xbc, 0xab, 0x03, 0x48, - 0xb6, 0xf9, 0x65, 0x0b, 0x19, 0x06, 0xf9, 0xf5, 0xd5, 0x7b, 0xd6, 0xa6, 0x04, 0x2b, 0xf5, 0x80, - 0x7d, 0x3c, 0x4a, 0xb6, 0x98, 0x17, 0xb6, 0xd3, 0xe2, 0xd7, 0x0b, 0x5c, 0xba, 0x2d, 0x72, 0x51, - 0xff, 0x67, 0xc0, 0xa1, 0x72, 0xc3, 0xb9, 0xd7, 0xb8, 0xe5, 0x45, 0x0d, 0x67, 0x17, 0x2e, 0x79, - 0x20, 0x63, 0x94, 0x0b, 0x81, 0x6f, 0xe3, 0x3a, 0x2d, 0x6d, 0x4e, 0xcb, 0x1a, 0x7f, 0x58, 0xbe, - 0xac, 0x74, 0x38, 0x43, 0x23, 0x3e, 0xc4, 0xda, 0x1a, 0x84, 0x1d, 0xba, 0x81, 0x5e, 0x92, 0xd3, - 0xbc, 0xb2, 0x21, 0xd6, 0xb0, 0xd1, 0x40, 0xf6, 0xfc, 0x1e, 0x1b, 0x76, 0xc1, 0xd1, 0x7e, 0x39, - 0x10, 0xe0, 0x76, 0x80, 0x85, 0xfa, 0x37, 0x01, 0x1b, 0x2c, 0xba, 0xed, 0xba, 0xc8, 0x00, 0x2a, - 0x88, 0x41, 0x4b, 0x3a, 0x95, 0x16, 0x81, 0xf7, 0xbc, 0xdd, 0x99, 0x66, 0x3f, 0x31, 0xc7, 0xc9, - 0x05, 0xef, 0x7f, 0x78, 0x11, 0x7b, 0xa3, 0x6b, 0xad, 0x85, 0xb7, 0x3e, 0x11, 0x4b, 0x77, 0x99, - 0x7c, 0xb7, 0x34, 0x24, 0x15, 0x6b, 0x6f, 0x4f, 0xdb, 0x52, 0x01, 0x6f, 0x61, 0x46, 0x41, 0x9c, - 0x15, 0x8a, 0xd2, 0x45, 0xc6, 0x66, 0x98, 0x61, 0x94, 0xdd, 0xf2, 0x63, 0x61, 0xf8, 0xdc, 0x92, - 0x20, 0xe9, 0x82, 0x39, 0xd0, 0x58, 0x87, 0xdd, 0x10, 0x34, 0x80, 0xdf, 0x95, 0x43, 0xb5, 0x26, - 0xd3, 0x88, 0xd9, 0x86, 0xcd, 0xde, 0x36, 0xc6, 0x82, 0x16, 0x3d, 0x10, 0x54, 0x98, 0x23, 0xea, - 0xb4, 0xbe, 0x74, 0x67, 0x4f, 0x25, 0x76, 0x99, 0xa1, 0x4a, 0xd7, 0xda, 0xfd, 0x24, 0x31, 0x62, - 0xb2, 0xbc, 0xd2, 0xb0, 0x3d, 0x00, 0x97, 0x2a, 0x47, 0x85, 0x68, 0xf3, 0x9b, 0xaf, 0x22, 0xa7, - 0xf1, 0x6b, 0x04, 0xdb, 0x87, 0x82, 0x75, 0xc2, 0x0d, 0x1f, 0x07, 0xd2, 0x26, 0xee, 0x08, 0x6b, - 0x58, 0x1a, 0x6e, 0x89, 0xa8, 0x56, 0xf5, 0xa6, 0xb4, 0x3c, 0x19, 0x1f, 0x85, 0x4a, 0x2d, 0x24, - 0x10, 0xcb, 0x32, 0x27, 0x84, 0x0f, 0x58, 0x7c, 0xee, 0xdb, 0xc8, 0x72, 0x8e, 0x68, 0x65, 0x6a, - 0x1b, 0x65, 0x64, 0xc1, 0xda, 0xfd, 0xb9, 0x6e, 0x9a, 0x7b, 0x93, 0x7f, 0x89, 0x7f, 0x0a, 0xe9, - 0xd3, 0x5c, 0xfd, 0x3b, 0x91, 0xb1, 0x79, 0x6e, 0x6e, 0x8b, 0x28, 0x4a, 0x90, 0x04, 0x97, 0xf2, - 0x25, 0xd7, 0x36, 0xfe, 0x9f, 0x2a, 0x88, 0x21, 0x0e, 0xb4, 0x14, 0x4f, 0x14, 0x12, 0x45, 0x43, - 0x4d, 0x2e, 0xf0, 0x60, 0xff, 0xb3, 0x73, 0xd3, 0x18, 0x0f, 0xb3, 0x95, 0xdb, 0x71, 0xfe, 0x34, - 0xb8, 0x9d, 0x7e, 0x28, 0xb9, 0x1b, 0x66, 0x7c, 0x9f, 0x62, 0xea, 0x35, 0x95, 0xfb, 0x33, 0xca, - 0xab, 0x2b, 0xf3, 0xde, 0x8f, 0x0b, 0x1f, 0x75, 0x7a, 0x30, 0xd4, 0x63, 0xe6, 0xcf, 0x17, 0x14, - 0x3d, 0xb4, 0x7b, 0x89, 0xb0, 0x46, 0x4c, 0x4c, 0x97, 0x02, 0xf2, 0xdb, 0x88, 0x2b, 0x8b, 0xe9, - 0x78, 0xbd, 0x09, 0x68, 0x8c, 0x8e, 0x4f, 0x17, 0xe8, 0x01, 0x04, 0x36, 0xeb, 0xeb, 0x54, 0x26, - 0xdb, 0x77, 0xd3, 0x36, 0x24, 0x83, 0xbe, 0x8c, 0x52, 0xe7, 0x4a, 0x43, 0x87, 0x6b, 0x41, 0x0c, - 0x21, 0x85, 0xd4, 0x1c, 0xeb, 0x67, 0x28, 0xbd, 0x7b, 0x58, 0x14, 0xfa, 0xfc, 0x8e, 0x4f, 0x61, - 0x78, 0x2f, 0xd1, 0xcd, 0x66, 0xbc, 0xba, 0x64, 0x99, 0xc0, 0x1c, 0x6b, 0xae, 0x8c, 0xea, 0xe8, - 0x7b, 0xcc, 0xfc, 0x19, 0x7d, 0xe7, 0xb2, 0x58, 0x08, 0x52, 0xe0, 0x04, 0xfa, 0xa4, 0x37, 0x6c, - 0xeb, 0xf4, 0xb6, 0x74, 0xba, 0xcc, 0x38, 0x0c, 0xfb, 0x63, 0xf0, 0xfa, 0x7d, 0x00, 0x7c, 0x99, - 0x64, 0x28, 0x5f, 0x12, 0xe3, 0x91, 0xb2, 0x2d, 0xa4, 0x38, 0xec, 0x0e, 0x1b, 0xe2, 0x18, 0xb8, - 0xeb, 0xe2, 0x52, 0x3e, 0xea, 0x04, 0x8c, 0xa0, 0x80, 0x36, 0x82, 0x1c, 0x11, 0x74, 0x87, 0xcc, - 0x09, 0xb6, 0x8a, 0x90, 0x6d, 0xae, 0x1e, 0xbc, 0x42, 0x2e, 0x03, 0x2c, 0x93, 0x18, 0xd0, 0xab, - 0x75, 0x84, 0x2b, 0xc7, 0x3f, 0x16, 0xc0, 0xe9, 0x6b, 0x68, 0x27, 0x57, 0x0a, 0x43, 0x88, 0x61, - 0xa6, 0x3e, 0xcc, 0xe9, 0x8e, 0x3a, 0x3c, 0x1b, 0x73, 0xb7, 0xfd, 0xd2, 0xcd, 0xea, 0x45, 0xd5, - 0x59, 0xa0, 0x6f, 0x45, 0x42, 0x3a, 0x2d, 0x0e, 0x84, 0xdc, 0xde, 0x98, 0x65, 0x16, 0x2d, 0x61, - 0x77, 0x75, 0x84, 0x15, 0x6e, 0x0e, 0x67, 0xc6, 0xba, 0xe0, 0xb1, 0xc1, 0x6c, 0x68, 0xae, 0x6f, - 0x93, 0xc5, 0xa7, 0x1e, 0x45, 0x71, 0xd6, 0x30, 0xbd, 0x85, 0x10, 0x35, 0xa0, 0xc4, 0xbc, 0xf3, - 0x84, 0x11, 0x99, 0x8c, 0xa0, 0xfa, 0xc3, 0x5d, 0x50, 0x50, 0x41, 0xd6, 0x43, 0xdb, 0xa8, 0xb5, - 0x1e, 0x5b, 0x13, 0x79, 0x17, 0xb6, 0x13, 0x22, 0x0f, 0x90, 0xca, 0x0a, 0xbe, 0xac, 0x5d, 0xc5, - 0x52, 0xb9, 0x0e, 0x4b, 0x53, 0x66, 0x70, 0x6c, 0x93, 0x3b, 0xfa, 0x8d, 0x78, 0x92, 0x2e, 0xa5, - 0xd4, 0xd5, 0x9d, 0x2f, 0x9e, 0x74, 0x46, 0x68, 0x17, 0x4f, 0xd4, 0xd5, 0x0e, 0x0e, 0x1c, 0x5c, - 0x35, 0xcd, 0x4d, 0xf9, 0x4d, 0xdc, 0xde, 0xc2, 0xe0, 0x59, 0xcb, 0x2b, 0x51, 0x6b, 0x8a, 0xca, - 0x45, 0xe0, 0x41, 0x5b, 0xd1, 0x47, 0xe9, 0x04, 0x3c, 0x8c, 0x36, 0xcc, 0x8e, 0x22, 0x46, 0xc0, - 0x3d, 0xda, 0xc4, 0xde, 0x94, 0xdb, 0xcc, 0xfe, 0x13, 0x37, 0x3a, 0x92, 0x07, 0x34, 0xd3, 0xc6, - 0x3d, 0x6f, 0x45, 0x97, 0xb9, 0x06, 0xfc, 0x32, 0x58, 0x13, 0x32, 0x75, 0x60, 0x5e, 0x42, 0x9b, - 0x8b, 0x15, 0x97, 0x4c, 0x06, 0xd5, 0xb3, 0x7e, 0xb2, 0xbf, 0x0e, 0x95, 0x41, 0xdf, 0xdc, 0x9e, - 0xec, 0xbb, 0x48, 0x82, 0x05, 0x9b, 0x32, 0x17, 0xbf, 0xbb, 0xf2, 0xef, 0xb4, 0xed, 0x39, 0xe8, - 0xd9, 0x1f, 0x5f, 0x7b, 0x4e, 0xfe, 0xe6, 0xca, 0x59, 0x95, 0xe9, 0xf1, 0xc6, 0xa6, 0x35, 0xc0, - 0x49, 0xb3, 0x77, 0x84, 0x48, 0xac, 0x39, 0x2b, 0x42, 0x52, 0x63, 0xd8, 0x43, 0xbb, 0x76, 0x3a, - 0x19, 0x16, 0xf0, 0x50, 0x52, 0x82, 0xc1, 0x31, 0xfa, 0x46, 0x3f, 0xfe, 0x18, 0xdc, 0x3b, 0x0d, - 0x48, 0x9d, 0xf0, 0xcb, 0x23, 0x2e, 0x6d, 0x23, 0xa8, 0xbb, 0x2c, 0x0e, 0x68, 0x82, 0xd9, 0xa0, - 0x14, 0xe5, 0xc8, 0x1d, 0xd6, 0xc6, 0x48, 0xb6, 0xd9, 0x81, 0x9b, 0x61, 0x44, 0x16, 0x3d, 0x88, - 0x4e, 0xb4, 0xa7, 0xdb, 0xb0, 0xcf, 0x35, 0x53, 0x69, 0xf0, 0xbb, 0xc3, 0x89, 0xb4, 0xc6, 0xd8, - 0xea, 0xea, 0xfd, 0x95, 0x63, 0xaa, 0xad, 0x16, 0x0a, 0x9d, 0x4e, 0x6a, 0x43, 0x4e, 0x32, 0xd9, - 0x66, 0x4c, 0x3a, 0x5f, 0xb9, 0x0d, 0x32, 0x42, 0x70, 0x33, 0x88, 0x44, 0x48, 0x48, 0x75, 0x4d, - 0x24, 0x22, 0x71, 0xc1, 0xfa, 0x88, 0x82, 0xfd, 0x95, 0xff, 0xff, 0x4a, 0x91, 0x31, 0xac, 0xdc, - 0x19, 0x73, 0xe0, 0x25, 0x89, 0x7a, 0xfd, 0xdc, 0xf6, 0x64, 0x82, 0x47, 0x8b, 0xfa, 0x6b, 0x33, - 0x66, 0x55, 0x1c, 0x44, 0x76, 0xf4, 0x63, 0x73, 0x3e, 0x52, 0xf8, 0xe8, 0x10, 0xb0, 0xbd, 0xe2, - 0xae, 0xb1, 0xb0, 0x5f, 0x92, 0xa7, 0xe8, 0xda, 0x09, 0x3b, 0xe1, 0x0d, 0xf8, 0x9b, 0x35, 0x1d, - 0x91, 0xd4, 0xe3, 0xfc, 0x0d, 0xa7, 0xf5, 0xcf, 0x40, 0x3a, 0xf7, 0xdb, 0x2b, 0xb1, 0xcd, 0x14, - 0x47, 0x82, 0xaf, 0x04, 0x26, 0x75, 0x84, 0x64, 0xcc, 0x27, 0x1c, 0xfc, 0x51, 0xf1, 0xc8, 0xd0, - 0x7e, 0x43, 0xdc, 0x30, 0x49, 0x6d, 0x30, 0x33, 0xe1, 0xf9, 0xe7, 0x35, 0x5e, 0x60, 0xda, 0xcc, - 0x91, 0xa5, 0x84, 0x74, 0x89, 0x2a, 0xec, 0x6d, 0x00, 0xd4, 0xc0, 0x8c, 0x09, 0xa9, 0xa0, 0xf9, - 0x0b, 0x5b, 0xc3, 0x19, 0x69, 0xd6, 0xae, 0x1f, 0xd7, 0xcd, 0x87, 0x30, 0x97, 0xdc, 0x6a, 0x5f, - 0xaa, 0x69, 0x9f, 0x7e, 0x59, 0x22, 0xd4, 0x6f, 0x20, 0xd5, 0xb6, 0x22, 0x40, 0xd7, 0x10, 0x4b, - 0x08, 0x32, 0xdc, 0x1c, 0xa6, 0x41, 0x65, 0x1f, 0x57, 0x82, 0xd8, 0x2b, 0x4e, 0x34, 0x04, 0x66, - 0xaf, 0x55, 0x44, 0x31, 0xcb, 0xf6, 0xa2, 0xd8, 0x78, 0x49, 0x71, 0x1c, 0x8b, 0xc6, 0x72, 0xcf, - 0xc0, 0xbf, 0x7e, 0x3a, 0x85, 0x01, 0x77, 0x78, 0xb3, 0x98, 0x9f, 0x0d, 0x40, 0xed, 0x6c, 0x1f, - 0xbb, 0x85, 0xef, 0xf8, 0x92, 0x09, 0x9a, 0xa3, 0xf2, 0x2a, 0x98, 0xf3, 0x04, 0xd7, 0xad, 0x61, - 0xea, 0x86, 0x43, 0x87, 0x7d, 0x94, 0x1d, 0xe6, 0xc2, 0xfe, 0x9d, 0xfc, 0xfc, 0x32, 0x05, 0x1b, - 0x7d, 0x17, 0x3a, 0xd2, 0x84, 0xa2, 0x9a, 0x4e, 0x03, 0x09, 0x7f, 0x7f, 0x50, 0xe4, 0x70, 0x1e, - 0x3b, 0xa3, 0xf0, 0xca, 0x98, 0x1b, 0x27, 0x4e, 0x62, 0x40, 0x0d, 0x5b, 0x3d, 0x90, 0xcf, 0x4a, - 0x47, 0x07, 0xaf, 0x7d, 0xa8, 0xd5, 0x17, 0xf4, 0xa7, 0x36, 0x3f, 0xac, 0xfb, 0x83, 0xe1, 0x52, - 0x0a, 0xfb, 0x18, 0x63, 0x2a, 0xfd, 0xb0, 0x85, 0x85, 0x80, 0x01, 0x4e, 0xf9, 0x52, 0x78, 0xfc, - 0x95, 0xd3, 0xa0, 0x4e, 0x85, 0xa1, 0x7a, 0x9d, 0x4f, 0x84, 0xb8, 0x0b, 0x24, 0xdd, 0xd1, 0x24, - 0x9c, 0x44, 0x71, 0x30, 0x50, 0xd5, 0xb1, 0xe4, 0x9d, 0xdc, 0x22, 0x86, 0xed, 0x39, 0x82, 0xbe, - 0xc0, 0x73, 0xf3, 0x8d, 0x6e, 0x4f, 0xe2, 0x21, 0x0e, 0x82, 0xbf, 0x9f, 0x22, 0x17, 0x9b, 0x47, - 0xc7, 0x5a, 0x74, 0x18, 0x97, 0xfc, 0x65, 0xd9, 0x5e, 0x8e, 0xdd, 0xbd, 0xec, 0x8b, 0xa3, 0x3e, - 0xfe, 0x28, 0x1a, 0xb0, 0x7f, 0x08, 0x5e, 0xdb, 0x46, 0x6f, 0x9f, 0x8d, 0x93, 0x88, 0xc5, 0x3c, - 0x54, 0x85, 0xde, 0x8b, 0x53, 0x29, 0xc2, 0xa2, 0xee, 0x85, 0x42, 0xb8, 0xf1, 0x29, 0xdb, 0xa6, - 0x48, 0xce, 0xc3, 0xbb, 0x9a, 0xbd, 0x05, 0x89, 0xc9, 0xbd, 0x8c, 0xa1, 0x98, 0xc0, 0x76, 0xa3, - 0x7f, 0xcd, 0x4a, 0x14, 0xd6, 0x23, 0xad, 0x7f, 0x31, 0xb1, 0xf2, 0x74, 0xa1, 0x27, 0x3c, 0x5a, - 0x9b, 0xe6, 0x65, 0x20, 0x51, 0xfe, 0x9a, 0xf8, 0xcb, 0x6d, 0x72, 0x57, 0xe9, 0xab, 0x52, 0xc4, - 0x2b, 0x07, 0xfe, 0xe0, 0x78, 0x83, 0x26, 0x2d, 0xcd, 0xc1, 0xd8, 0x04, 0x37, 0x6a, 0x14, 0xe6, - 0xdf, 0x01, 0xe9, 0xad, 0xdc, 0xbf, 0x7c, 0x7d, 0x2e, 0xfe, 0xa2, 0xa3, 0x9e, 0xf5, 0x46, 0xbe, - 0xeb, 0x64, 0x27, 0x74, 0xa3, 0x12, 0xd2, 0x0c, 0x23, 0xb2, 0x11, 0x5e, 0x94, 0x5c, 0x12, 0x27, - 0xae, 0x8c, 0xbe, 0x03, 0xc7, 0xe1, 0x06, 0xae, 0x48, 0xfe, 0xe1, 0x0a, 0xa1, 0x20, 0xc6, 0xbe, - 0xc3, 0x3f, 0x28, 0x95, 0xbf, 0xd9, 0xd3, 0xe9, 0xd8, 0xe9, 0x62, 0xd5, 0xad, 0x66, 0xf0, 0xe7, - 0x34, 0xd7, 0x2c, 0x3d, 0x63, 0x08, 0x70, 0x9d, 0xd7, 0x84, 0xf3, 0x3c, 0x25, 0x10, 0x2b, 0xf1, - 0xaf, 0xe8, 0x4b, 0xe2, 0x82, 0x81, 0x24, 0xfb, 0x22, 0xb0, 0x24, 0x7a, 0xd3, 0x5d, 0x14, 0x0f, - 0x4b, 0x85, 0x01, 0xed, 0x0a, 0x11, 0xd7, 0x38, 0x01, 0x27, 0xa8, 0x8f, 0x2b, 0x0a, 0x1c, 0x87, - 0x5c, 0xab, 0xce, 0xc0, 0x41, 0x0a, 0x14, 0xe1, 0x22, 0x46, 0xa4, 0x85, 0x63, 0x9b, 0x14, 0x5d, - 0x91, 0x29, 0x1e, 0x10, 0x0d, 0xdf, 0x74, 0xfd, 0x06, 0xd1, 0x4a, 0x0e, 0x59, 0xcd, 0xd9, 0xe8, - 0xd4, 0x93, 0xc9, 0xbf, 0xac, 0x2f, 0x69, 0xbc, 0x8a, 0x8d, 0x2a, 0xa7, 0x93, 0x2b, 0x98, 0x87, - 0xb7, 0xcd, 0x0c, 0x9d, 0xdb, 0xb6, 0xe5, 0xa8, 0x52, 0x9f, 0x16, 0xd4, 0xe7, 0xf1, 0xd6, 0xbc, - 0x7b, 0x42, 0x34, 0x79, 0xa5, 0xf1, 0x6e, 0x1d, 0x1f, 0x6e, 0x99, 0xc7, 0xce, 0x0d, 0x72, 0xc7, - 0x4f, 0xf5, 0xd3, 0x1f, 0x48, 0x41, 0x1b, 0x6c, 0x5f, 0x1f, 0x31, 0x95, 0xc1, 0xce, 0xb0, 0x20, - 0x6e, 0xe1, 0xf5, 0xb8, 0xa6, 0x04, 0xfc, 0xad, 0x9c, 0xea, 0xd5, 0xbc, 0x4b, 0xb9, 0xb0, 0x03, - 0x4a, 0x9e, 0x0f, 0x6a, 0xcf, 0x4c, 0x69, 0x19, 0x32, 0xee, 0xb5, 0xff, 0x03, 0x76, 0x10, 0x88, - 0xc3, 0x46, 0xb1, 0x93, 0x62, 0x5b, 0x54, 0xca, 0x32, 0x59, 0x5b, 0x3f, 0x85, 0x5a, 0xcf, 0x17, - 0xa5, 0xf3, 0x44, 0xb6, 0x0f, 0x3b, 0x67, 0x14, 0x1f, 0xc1, 0x0a, 0x83, 0xbe, 0x96, 0x83, 0x4c, - 0xc5, 0x56, 0xbd, 0x0e, 0xa3, 0x2b, 0x9f, 0x0e, 0xe7, 0xa6, 0x01, 0x9c, 0x5d, 0x02, 0x4a, 0x86, - 0x92, 0xd3, 0x38, 0x6f, 0xfb, 0xce, 0x79, 0xf7, 0xc4, 0xc7, 0xaa, 0xac, 0x4c, 0x20, 0xea, 0x45, - 0x01, 0x84, 0x63, 0x2f, 0x28, 0x4a, 0x66, 0x13, 0x0f, 0xdc, 0x25, 0x15, 0x0d, 0xb2, 0x71, 0x2c, - 0x33, 0x92, 0x19, 0x64, 0xa8, 0xe2, 0xa4, 0xdc, 0xdd, 0xb3, 0x45, 0x43, 0xc6, 0x1f, 0x7a, 0xb7, - 0x88, 0x36, 0xa1, 0x39, 0x90, 0x44, 0x50, 0x17, 0x9a, 0x0e, 0x61, 0xea, 0xfb, 0x08, 0x9f, 0x39, - 0xae, 0xa0, 0x97, 0x18, 0xf9, 0xa8, 0x75, 0x7d, 0x43, 0x87, 0xd4, 0xc4, 0x3b, 0x82, 0xcb, 0x0d, - 0xb6, 0x2d, 0x14, 0xe5, 0xa4, 0xfc, 0xa4, 0x6c, 0x6e, 0xd5, 0xf0, 0x56, 0x46, 0x05, 0xfb, 0x4a, - 0x50, 0x24, 0xbc, 0xd4, 0xb2, 0xa2, 0x7e, 0xdd, 0xbd, 0x6a, 0x71, 0xe8, 0xea, 0x09, 0x26, 0xa0, - 0x8d, 0x01, 0x60, 0x69, 0xef, 0xcd, 0x4b, 0xda, 0xb4, 0xd1, 0x58, 0x44, 0x3c, 0x6e, 0x9e, 0x02, - 0x63, 0x56, 0x03, 0x69, 0x50, 0xa9, 0xfe, 0x72, 0x97, 0x2e, 0x1d, 0xc4, 0x70, 0x7b, 0x92, 0xa5, - 0xdf, 0x2b, 0x2b, 0x9a, 0x01, 0x20, 0x8b, 0xc7, 0x5b, 0x7a, 0x73, 0x49, 0xa6, 0x55, 0x86, 0xa8, - 0xe4, 0xe8, 0x35, 0x11, 0x49, 0x2a, 0x0f, 0xd9, 0x3a, 0x7c, 0x39, 0x86, 0x6a, 0x79, 0xc1, 0x3c, - 0x22, 0xbd, 0xbb, 0x7c, 0x99, 0x44, 0xaa, 0x1d, 0x22, 0x1c, 0x4f, 0xc9, 0x18, 0xaa, 0x13, 0xdf, - 0x98, 0x59, 0x57, 0x88, 0xac, 0x54, 0xf5, 0xe4, 0x3a, 0x27, 0x7a, 0x8a, 0xeb, 0x60, 0x59, 0x02, - 0x19, 0xe9, 0x37, 0xe4, 0x72, 0x68, 0x48, 0xdf, 0x13, 0x97, 0x71, 0x19, 0xa2, 0xf1, 0x63, 0xa7, - 0x9a, 0x19, 0x33, 0x96, 0x8d, 0xdc, 0xc0, 0xb1, 0xc5, 0x21, 0xe7, 0x58, 0x0d, 0xd3, 0x5a, 0x98, - 0xb2, 0xaa, 0xbf, 0x2c, 0x65, 0xb1, 0xbd, 0x00, 0x73, 0x9d, 0x8a, 0xca, 0xf0, 0x7c, 0xf8, 0xde, - 0xeb, 0x7d, 0x25, 0x67, 0x7e, 0xb0, 0x92, 0x18, 0xce, 0x5c, 0x8f, 0xb4, 0xdc, 0x85, 0xde, 0x4b, - 0x0e, 0xba, 0xc8, 0x88, 0xdf, 0xfc, 0xd8, 0xcf, 0x77, 0x48, 0x27, 0xce, 0xad, 0x59, 0xb8, 0x9d, - 0x49, 0x25, 0x11, 0x37, 0xa7, 0x04, 0x9d, 0xf9, 0x9f, 0x5b, 0x9b, 0x80, 0xf8, 0xea, 0x38, 0xed, - 0xce, 0x87, 0x9a, 0x12, 0xe5, 0xbe, 0x8f, 0xa0, 0xf1, 0xe7, 0xed, 0xa5, 0xa8, 0x56, 0xa8, 0xba, - 0x9b, 0x74, 0x56, 0x25, 0xc6, 0x78, 0x30, 0x57, 0x70, 0x72, 0x87, 0xef, 0x26, 0xc7, 0xd4, 0x92, - 0x99, 0xee, 0x0d, 0xc9, 0x9c, 0x3d, 0xbf, 0x58, 0x7a, 0x7a, 0x19, 0x46, 0x8a, 0xfb, 0xf3, 0xbc, - 0x44, 0x20, 0x52, 0x35, 0x8f, 0xef, 0x4e, 0xe6, 0xe2, 0x9b, 0xc7, 0x37, 0x3e, 0x99, 0xc8, 0x0a, - 0xde, 0xc5, 0x7f, 0x85, 0xe8, 0xc0, 0x19, 0xfb, 0x2a, 0xbf, 0xcc, 0xcb, 0x12, 0xa4, 0xd2, 0x4e, - 0x7f, 0x1f, 0x3d, 0x04, 0xed, 0xa3, 0x94, 0x61, 0x4d, 0x27, 0xae, 0x06, 0x56, 0xd6, 0xfa, 0x8b, - 0x80, 0x8d, 0x46, 0x33, 0x5c, 0x7c, 0xa6, 0xb8, 0x4b, 0x02, 0xd5, 0x34, 0x92, 0xff, 0x6c, 0x9b, - 0x3a, 0x04, 0x0a, 0x84, 0xd4, 0xb9, 0x8d, 0xe7, 0xf5, 0x69, 0xb5, 0x0b, 0xde, 0x8d, 0xe1, 0xeb, - 0x66, 0xc8, 0xd5, 0x25, 0xc3, 0xab, 0x4f, 0xe3, 0x29, 0x59, 0x06, 0x38, 0x58, 0x02, 0x6e, 0xd5, - 0x2c, 0xf1, 0x77, 0x65, 0x11, 0x76, 0x2a, 0x8a, 0x1b, 0x7f, 0xc0, 0xff, 0x23, 0x8c, 0x0a, 0x83, - 0x41, 0x67, 0x65, 0x94, 0x22, 0x68, 0x36, 0xe5, 0xf3, 0xf2, 0x07, 0xc5, 0xb8, 0x76, 0x25, 0xc5, - 0xf0, 0x83, 0x96, 0x00, 0xd8, 0x03, 0xc8, 0x9f, 0x3a, 0x80, 0x46, 0xf6, 0xec, 0xc8, 0xfc, 0x6c, - 0x56, 0xc4, 0x61, 0x8a, 0x46, 0xdf, 0x93, 0xdb, 0x3d, 0x1d, 0xb8, 0x73, 0xbb, 0xb3, 0x0b, 0xa6, - 0x26, 0xd3, 0xcc, 0x45, 0xaa, 0x56, 0x28, 0xf0, 0xe6, 0xb0, 0x03, 0xa7, 0x16, 0xb3, 0x3b, 0x4d, - 0x14, 0xe5, 0x10, 0x5d, 0x36, 0x52, 0x7c, 0xe0, 0xa8, 0x88, 0xa4, 0x4f, 0x8a, 0x21, 0x8f, 0x69, - 0x07, 0x85, 0xdb, 0x36, 0x2e, 0x5c, 0x5e, 0xce, 0x13, 0x25, 0x2e, 0x4d, 0xe7, 0xb0, 0x80, 0xfa, - 0xf9, 0xad, 0x63, 0xdc, 0x3b, 0x91, 0x28, 0x7c, 0x49, 0x0a, 0xa1, 0x2b, 0xd8, 0x3a, 0x34, 0x6a, - 0xd6, 0xe0, 0xaf, 0xfb, 0x41, 0x20, 0xdb, 0x91, 0x01, 0x36, 0x8b, 0x3b, 0x2f, 0x97, 0xbe, 0x33, - 0x4d, 0x93, 0x4c, 0x89, 0xeb, 0x24, 0xb4, 0x62, 0x6f, 0x38, 0xac, 0x7f, 0xa9, 0xb7, 0x60, 0x15, - 0x38, 0x17, 0xaa, 0x33, 0x94, 0x5f, 0x3f, 0x3c, 0x33, 0x3e, 0x41, 0xb8, 0x5f, 0x6d, 0x1d, 0xea, - 0x37, 0xad, 0x7b, 0xa7, 0x01, 0x41, 0x3b, 0xca, 0x1a, 0xe8, 0xf6, 0xb9, 0x8d, 0x4b, 0x4f, 0xda, - 0xa8, 0x44, 0x96, 0x30, 0x15, 0x8e, 0xf8, 0xf2, 0xc2, 0x96, 0x24, 0x70, 0x7f, 0xdf, 0xd5, 0x19, - 0x26, 0x53, 0x24, 0xca, 0x49, 0xa6, 0xf0, 0xde, 0x2c, 0x36, 0x45, 0x10, 0xde, 0xd2, 0x50, 0xbe, - 0x6d, 0xa8, 0x36, 0x49, 0x29, 0xf2, 0x85, 0x04, 0x27, 0x6a, 0x07, 0xc4, 0x63, 0x4f, 0x42, 0xf8, - 0xdf, 0xa3, 0xd3, 0x19, 0xbe, 0x53, 0x5d, 0xa8, 0xb8, 0x3c, 0x0b, 0x16, 0x46, 0x11, 0x70, 0xb9, - 0xef, 0xac, 0x1e, 0x1a, 0x17, 0x6a, 0x91, 0xa8, 0x55, 0xf1, 0xa6, 0xb1, 0x9a, 0x92, 0x89, 0x4f, - 0xf9, 0x65, 0x03, 0x75, 0x30, 0xf5, 0x81, 0xc3, 0x70, 0x22, 0x66, 0x80, 0x86, 0x8e, 0xb2, 0x20, - 0xad, 0x8f, 0x59, 0x94, 0x7a, 0xd9, 0x6c, 0xf9, 0xa4, 0x5e, 0x82, 0xb8, 0xe9, 0xf8, 0x9f, 0x9c, - 0xac, 0x2f, 0xaf, 0xea, 0x14, 0x80, 0x29, 0xe4, 0x31, 0xf4, 0x76, 0x45, 0x15, 0xd3, 0x45, 0x8c, - 0x17, 0xfb, 0x5c, 0x36, 0x1a, 0xf2, 0x2d, 0x4b, 0x35, 0xf7, 0x69, 0xee, 0xaa, 0x3e, 0xaf, 0xf6, - 0x73, 0x2a, 0xdd, 0x5c, 0xf0, 0x2a, 0xa3, 0x4f, 0x17, 0x9e, 0xb9, 0x5f, 0x9f, 0x1a, 0xc9, 0xd3, - 0xa9, 0xf9, 0x35, 0x58, 0x62, 0x4f, 0x28, 0x36, 0x2d, 0xce, 0x6e, 0x65, 0x64, 0x74, 0x72, 0x7f, - 0x3f, 0xf0, 0xb0, 0xef, 0xbc, 0xb1, 0x14, 0x0d, 0x0a, 0x87, 0x25, 0x2a, 0x91, 0x26, 0x14, 0x28, - 0x67, 0x1e, 0xe5, 0xcf, 0x85, 0x4f, 0x84, 0x50, 0x0f, 0x42, 0xf7, 0x1b, 0x65, 0x43, 0x48, 0x5f, - 0xf1, 0x76, 0xbe, 0x05, 0xc2, 0x46, 0x02, 0x5e, 0xa1, 0x53, 0xc8, 0x50, 0x10, 0x2e, 0x77, 0xb0, - 0x29, 0xd2, 0x2c, 0xdc, 0xb2, 0x5d, 0x91, 0xa2, 0x61, 0x0d, 0xa4, 0xac, 0x21, 0xf7, 0xe4, 0xe6, - 0x1d, 0x2b, 0xa6, 0xb1, 0x8e, 0xcb, 0xa2, 0x8d, 0x99, 0xd8, 0xf4, 0xfd, 0x26, 0x07, 0x21, 0x05, - 0x3d, 0x09, 0x65, 0x4b, 0x02, 0x56, 0xf8, 0xae, 0xeb, 0x72, 0x31, 0xb6, 0x11, 0x23, 0x83, 0x55, - 0xe4, 0x99, 0x5c, 0x21, 0x82, 0x28, 0xc2, 0xe5, 0xc7, 0xd2, 0x69, 0xc4, 0xac, 0xab, 0x51, 0x7e, - 0x78, 0x74, 0x38, 0x4c, 0x36, 0x27, 0xda, 0x67, 0x0e, 0x26, 0xa3, 0x41, 0xc9, 0xf3, 0xf5, 0x94, - 0xdd, 0x3a, 0x13, 0x12, 0x4a, 0xde, 0xea, 0xa1, 0x82, 0xda, 0xa7, 0xa3, 0xde, 0x73, 0x72, 0x5b, - 0x77, 0x94, 0xe3, 0x78, 0xba, 0xeb, 0xc3, 0xc0, 0xc1, 0xbe, 0xf9, 0xea, 0x1a, 0x98, 0x1f, 0xd4, - 0xeb, 0x3d, 0x18, 0x5b, 0x6e, 0x56, 0x2d, 0x6c, 0x1b, 0xc4, 0x5f, 0x84, 0xd0, 0x19, 0x52, 0xe4, - 0x5c, 0x01, 0xea, 0x75, 0x0d, 0x7d, 0xfb, 0xd8, 0x7b, 0xdc, 0x24, 0x0d, 0xed, 0x77, 0x78, 0x4c, - 0xf7, 0x89, 0x00, 0x60, 0x2a, 0xe1, 0x1b, 0xbc, 0x45, 0x0e, 0xde, 0x79, 0xe9, 0xc6, 0x57, 0xc0, - 0xdd, 0xa4, 0x6f, 0xf3, 0x49, 0x91, 0x90, 0x10, 0xe6, 0x74, 0x21, 0x72, 0x78, 0xd9, 0x34, 0x2e, - 0xd2, 0xee, 0x96, 0xc3, 0x3b, 0xd4, 0x79, 0xaf, 0x75, 0x3f, 0x34, 0x29, 0xd6, 0xc8, 0x29, 0x5e, - 0x15, 0xcf, 0xcf, 0x70, 0xfe, 0xc5, 0x41, 0x37, 0xe2, 0xf6, 0xca, 0xe0, 0x2e, 0x94, 0xed, 0x17, - 0xef, 0x35, 0x46, 0x25, 0xeb, 0x68, 0x1f, 0xea, 0xf0, 0x0d, 0x42, 0xea, 0x22, 0x8f, 0x14, 0x66, - 0x4c, 0x15, 0x71, 0x9d, 0xe1, 0xaa, 0x57, 0x48, 0xdf, 0xac, 0xc4, 0x66, 0x72, 0xf8, 0x61, 0xb0, - 0x2c, 0x6f, 0x7c, 0x1c, 0xda, 0xc3, 0xfd, 0xc3, 0x3b, 0x3e, 0x06, 0x49, 0x98, 0x86, 0xad, 0x90, - 0x5e, 0x07, 0x41, 0x25, 0x94, 0x98, 0xdb, 0xe6, 0xbb, 0x70, 0xaa, 0x29, 0x77, 0x7c, 0x05, 0xd6, - 0x57, 0xb6, 0x24, 0x67, 0xe8, 0xbe, 0x8d, 0x09, 0x8f, 0x58, 0xdc, 0x78, 0xc0, 0xdf, 0xbc, 0x7b, - 0xdb, 0x46, 0x4a, 0x7f, 0xef, 0x19, 0x64, 0x71, 0x65, 0x0f, 0xde, 0xe7, 0xfb, 0xd1, 0x87, 0xa8, - 0x1e, 0x51, 0x6c, 0x88, 0x57, 0x8f, 0x9e, 0x12, 0xda, 0xd9, 0x00, 0x10, 0x3c, 0x29, 0x4a, 0x85, - 0x7b, 0x0c, 0x45, 0x74, 0x06, 0xcb, 0xb9, 0x17, 0x64, 0x71, 0x91, 0x5c, 0x36, 0xb0, 0x73, 0x85, - 0x99, 0x34, 0xe9, 0x8a, 0x67, 0x68, 0xcf, 0x5a, 0x28, 0x5a, 0x9c, 0xf9, 0x54, 0x92, 0xa4, 0xf1, - 0x67, 0x7c, 0x0d, 0xde, 0x21, 0x88, 0x8d, 0xab, 0xe2, 0x90, 0x50, 0x09, 0xbc, 0xe0, 0xbd, 0x76, - 0xff, 0x1c, 0xed, 0xd2, 0x07, 0x5b, 0x50, 0xf4, 0xd9, 0xcd, 0x81, 0x78, 0x7b, 0x6e, 0x3e, 0xb2, - 0x98, 0x2e, 0x08, 0x98, 0x2c, 0xc1, 0x60, 0x00, 0x3e, 0x93, 0x0a, 0xe1, 0x3a, 0x87, 0x1b, 0x51, - 0xdd, 0x15, 0x2e, 0xf1, 0x99, 0x68, 0xa8, 0x4d, 0xc2, 0xa6, 0x19, 0x37, 0x28, 0x6f, 0x41, 0x9c, - 0x17, 0x67, 0x08, 0x11, 0x78, 0x97, 0x9b, 0x8d, 0xb6, 0x7e, 0x6c, 0x79, 0x26, 0x6e, 0x00, 0x38, - 0x19, 0x33, 0x39, 0x26, 0x46, 0x9e, 0xf6, 0x87, 0x68, 0x6b, 0x77, 0x97, 0x14, 0xcb, 0x23, 0xce, - 0x7a, 0x66, 0x3b, 0xb1, 0x29, 0x4a, 0x2f, 0x2c, 0xdf, 0xc0, 0x3e, 0xb9, 0xd4, 0x75, 0x0b, 0xe9, - 0x06, 0xc4, 0x9d, 0xf2, 0xdb, 0x86, 0x32, 0xca, 0x77, 0x18, 0xc0, 0xd1, 0x8a, 0xde, 0xd2, 0x92, - 0xce, 0x81, 0xf0, 0xcb, 0xdc, 0xc4, 0xcc, 0x78, 0x4f, 0x77, 0xd4, 0x37, 0xc7, 0x54, 0x2b, 0xea, - 0x36, 0x75, 0xa9, 0x19, 0xc9, 0xbf, 0x61, 0xa6, 0xe2, 0x6d, 0xf2, 0x39, 0x34, 0xd2, 0xd2, 0xa8, - 0x4f, 0x75, 0xe8, 0xc3, 0x6e, 0x18, 0x5c, 0x26, 0xaa, 0x84, 0xc0, 0x4f, 0x68, 0x17, 0x5b, 0xa5, - 0x85, 0x6a, 0x32, 0xc9, 0xed, 0xcc, 0x76, 0x5b, 0xa3, 0x34, 0x7d, 0x69, 0xa0, 0x08, 0x52, 0xf6, - 0xd7, 0x08, 0x23, 0x7f, 0xc3, 0x3c, 0xbb, 0xba, 0x4d, 0x48, 0xd7, 0xd1, 0xef, 0xa1, 0x4f, 0x31, - 0x60, 0x71, 0xd3, 0x33, 0x63, 0x78, 0x73, 0x9a, 0x98, 0x9b, 0x68, 0x72, 0x23, 0xef, 0x1a, 0x33, - 0xb7, 0xc9, 0x65, 0xfa, 0x54, 0x39, 0x2d, 0xda, 0x47, 0xe4, 0xa2, 0xa0, 0xb1, 0xd7, 0xbd, 0x01, - 0x3f, 0xbc, 0xfa, 0xd4, 0x35, 0x40, 0x07, 0x0c, 0xc7, 0x5b, 0x22, 0xf8, 0x1e, 0x50, 0x34, 0x08, - 0x1f, 0xe3, 0x7f, 0x48, 0x4d, 0x99, 0x90, 0xde, 0x06, 0x73, 0xe3, 0xd9, 0xb6, 0x8e, 0xf9, 0xb4, - 0x2c, 0x77, 0x12, 0x0f, 0x27, 0xf2, 0x69, 0x0e, 0xa6, 0xe3, 0xab, 0x57, 0xab, 0x1d, 0x46, 0x1c, - 0x9c, 0xb5, 0x6a, 0xd5, 0xb8, 0xfb, 0x53, 0xcc, 0x5c, 0x81, 0xf4, 0x33, 0x95, 0x6a, 0x82, 0x43, - 0xe0, 0x4b, 0xfd, 0x69, 0xe1, 0x83, 0xb8, 0x05, 0xeb, 0x7b, 0xdd, 0xff, 0x0c, 0x05, 0x11, 0xe7, - 0xef, 0xc0, 0x49, 0x03, 0xab, 0xab, 0x0e, 0xe3, 0xd3, 0xa8, 0x35, 0xfa, 0x58, 0x24, 0x10, 0x3d, - 0x9f, 0x1c, 0x4c, 0x50, 0xb7, 0xfe, 0x54, 0x61, 0x3a, 0x9a, 0x8f, 0xa5, 0xb1, 0xe9, 0x25, 0x45, - 0xcf, 0xf5, 0x5a, 0x9f, 0xf3, 0xba, 0x89, 0xd4, 0x6c, 0xff, 0x2b, 0x74, 0xa8, 0xb4, 0x35, 0x2a, - 0x2e, 0xfa, 0x54, 0xf6, 0xd3, 0xf1, 0xfb, 0x3f, 0xda, 0x2d, 0xf7, 0x03, 0xc2, 0x39, 0xec, 0xb5, - 0x62, 0x0a, 0xe5, 0xec, 0xd4, 0xb8, 0x27, 0xc0, 0xed, 0x8f, 0x13, 0xa9, 0xd9, 0x83, 0xb0, 0xdf, - 0x5a, 0x51, 0xc0, 0xe8, 0xa7, 0x5e, 0x41, 0xae, 0x81, 0x74, 0x35, 0xde, 0x04, 0x23, 0xe5, 0x8f, - 0x22, 0x2d, 0x5a, 0x66, 0x14, 0x34, 0x7d, 0xfc, 0xe4, 0xfa, 0x2d, 0xf1, 0x06, 0x1e, 0xc2, 0x82, - 0xeb, 0x29, 0xc5, 0x98, 0x62, 0xcb, 0x3c, 0x2e, 0xed, 0x44, 0x59, 0x0a, 0x7d, 0x16, 0x24, 0xe9, - 0x6b, 0xbc, 0xae, 0xc6, 0xe1, 0x30, 0xff, 0x53, 0x60, 0x50, 0x6a, 0x61, 0x67, 0xe5, 0x58, 0x1a, - 0x1f, 0xdc, 0xe6, 0xbb, 0xeb, 0x86, 0xcc, 0x81, 0x4f, 0x28, 0xef, 0xcf, 0x71, 0x06, 0x42, 0x06, - 0xef, 0xbf, 0x51, 0x6f, 0x84, 0x20, 0xd1, 0x80, 0x22, 0xed, 0x76, 0xbb, 0x00, 0xe2, 0x7d, 0x8f, - 0x03, 0xdd, 0x64, 0x19, 0x18, 0x01, 0x7a, 0x6c, 0x5a, 0x3e, 0xc3, 0x99, 0x12, 0x94, 0x2e, 0x03, - 0xac, 0xc7, 0x15, 0x0e, 0xb7, 0xee, 0x1e, 0x88, 0x26, 0xba, 0xf2, 0x5f, 0xf5, 0x23, 0xb6, 0x0f, - 0xd0, 0xe9, 0x8f, 0xb8, 0xf5, 0x4c, 0x69, 0x69, 0x32, 0x6a, 0x4c, 0x8f, 0x55, 0x7d, 0x6a, 0x4a, - 0xc0, 0xd3, 0xf1, 0x88, 0x71, 0xe7, 0xb4, 0xa2, 0x5b, 0xea, 0xff, 0x78, 0x3d, 0x1f, 0x52, 0x84, - 0x21, 0xb8, 0xf0, 0xe3, 0xc8, 0x74, 0x2b, 0x71, 0xf3, 0x7e, 0xb1, 0x17, 0x32, 0xac, 0x5e, 0x5b, - 0x7d, 0xcf, 0xd6, 0x06, 0xcd, 0xb9, 0xe4, 0x90, 0xd8, 0x76, 0x65, 0xce, 0x9d, 0x04, 0xa6, 0x9c, - 0xf0, 0xc8, 0xd5, 0x09, 0xc3, 0x27, 0x4b, 0x23, 0xbd, 0xf5, 0x14, 0xcc, 0x22, 0x86, 0xe2, 0xc1, - 0x2c, 0xee, 0x07, 0x1d, 0xbd, 0xed, 0xd6, 0x7a, 0xfb, 0x2a, 0x0d, 0x75, 0x4e, 0x17, 0x81, 0x0e, - 0xb8, 0x68, 0xf0, 0x17, 0x38, 0x86, 0x2a, 0x6c, 0xce, 0x26, 0x4b, 0xb8, 0x7f, 0xe4, 0xfb, 0x0e, - 0x2c, 0x24, 0xbe, 0xd8, 0x4c, 0x6a, 0x0e, 0x94, 0x3f, 0xcc, 0x69, 0xf8, 0x32, 0x09, 0xfa, 0x8f, - 0xc4, 0xe0, 0x36, 0xfb, 0xfc, 0x6f, 0x15, 0xb0, 0xdd, 0xba, 0x9b, 0xa2, 0x7c, 0x61, 0x83, 0x93, - 0x0f, 0x9a, 0x85, 0x8e, 0x88, 0x7c, 0xee, 0x7e, 0xc1, 0x1c, 0xe0, 0x05, 0x91, 0xaa, 0xf8, 0x3d, - 0xf9, 0x5d, 0x57, 0x73, 0x43, 0xe5, 0xf8, 0xed, 0x31, 0x65, 0x5f, 0x28, 0xc5, 0x45, 0x42, 0xca, - 0xc1, 0xb4, 0x9b, 0x5f, 0x1c, 0xad, 0x95, 0x8f, 0x07, 0xa8, 0xf5, 0xd5, 0xf3, 0x73, 0xef, 0x10, - 0x8d, 0x86, 0xd3, 0x51, 0x72, 0x67, 0xd1, 0x66, 0x0b, 0x68, 0x6a, 0xdd, 0x27, 0xf4, 0xeb, 0xe8, - 0xd8, 0x89, 0xd7, 0x32, 0xbc, 0x5c, 0x7a, 0xc7, 0xa4, 0x8d, 0x5a, 0xf0, 0x58, 0xda, 0x54, 0x47, - 0x6e, 0xb0, 0x0a, 0xb8, 0x4b, 0x26, 0xe1, 0x6b, 0x80, 0x0c, 0xaa, 0x7f, 0xf3, 0x8c, 0x82, 0x3b, - 0x2b, 0x18, 0xa3, 0x71, 0x7c, 0x86, 0x5c, 0xbe, 0x90, 0xba, 0x9d, 0x5c, 0x94, 0xfe, 0x35, 0xa3, - 0xab, 0x9e, 0xeb, 0xd5, 0x29, 0x5a, 0x52, 0x1a, 0xd3, 0x1f, 0xf9, 0x2d, 0x99, 0x94, 0x4f, 0x9c, - 0xcb, 0x75, 0x3f, 0xf3, 0xe7, 0xe5, 0x77, 0xbe, 0x5a, 0x49, 0xfc, 0x95, 0xc6, 0x97, 0x17, 0x07, - 0x16, 0xf6, 0xad, 0x52, 0x78, 0xd5, 0x41, 0xd1, 0xf0, 0x2d, 0x28, 0x3d, 0x5f, 0xbf, 0x00, 0xa4, - 0x01, 0xe6, 0x45, 0x81, 0xdf, 0xfb, 0x3c, 0x94, 0x92, 0x9f, 0x4e, 0xf5, 0x38, 0x22, 0x88, 0x2c, - 0x0b, 0xcb, 0x21, 0xd2, 0x40, 0xc2, 0xac, 0x77, 0xe6, 0x45, 0x67, 0xfc, 0xf8, 0xdd, 0x5e, 0x34, - 0xd1, 0x48, 0x0f, 0x91, 0x51, 0x1a, 0x5a, 0xfc, 0x6c, 0x87, 0x65, 0x94, 0x8c, 0xa5, 0xc2, 0x06, - 0xd3, 0xc3, 0x52, 0xc6, 0x9e, 0x45, 0xdc, 0x5f, 0x07, 0x8b, 0x6a, 0x55, 0x90, 0x73, 0x7a, 0xa4, - 0x59, 0x3d, 0xe3, 0x18, 0x6a, 0x97, 0xe2, 0x02, 0x49, 0xae, 0xea, 0x7a, 0x80, 0x60, 0x46, 0xda, - 0x64, 0xf1, 0x4a, 0x90, 0xd0, 0x27, 0x6c, 0x68, 0x92, 0x23, 0x4c, 0xdb, 0x03, 0x97, 0x15, 0x64, - 0x10, 0x62, 0xa5, 0xeb, 0xac, 0x05, 0x39, 0x69, 0xc0, 0xd5, 0x6d, 0x22, 0x30, 0x91, 0x00, 0x7f, - 0xe9, 0x90, 0x79, 0xfa, 0x7f, 0xa1, 0x60, 0x4a, 0x59, 0x8f, 0x3a, 0x65, 0xdd, 0xe7, 0x2d, 0xc3, - 0xab, 0xf7, 0x4d, 0x45, 0x00, 0xf3, 0x9b, 0xb4, 0x78, 0x2b, 0x7a, 0x0c, 0x9f, 0x18, 0xf2, 0x93, - 0x2a, 0x42, 0x79, 0xeb, 0x5e, 0x80, 0x11, 0x1d, 0x7f, 0x6b, 0xe7, 0x32, 0x87, 0x52, 0x52, 0xaa, - 0x99, 0xc5, 0x11, 0x5c, 0xd9, 0xf3, 0x57, 0x7a, 0x19, 0x5a, 0x68, 0x0f, 0x5d, 0xfb, 0x9d, 0x0d, - 0x57, 0x0c, 0x1a, 0x92, 0x70, 0x9a, 0x87, 0xed, 0xa9, 0x52, 0xc7, 0xdd, 0x36, 0x00, 0xa2, 0x1f, - 0xd1, 0x1a, 0xd1, 0x21, 0xb0, 0xa3, 0xb2, 0x18, 0x48, 0x2a, 0x3a, 0xeb, 0x6a, 0x3b, 0x5e, 0xf8, - 0x58, 0x65, 0xaf, 0x9f, 0xa6, 0x63, 0x3e, 0x0d, 0xf3, 0x9c, 0x20, 0x2c, 0x2b, 0x6c, 0x1e, 0xbe, - 0xb4, 0x8c, 0xa9, 0x9c, 0x77, 0x25, 0x26, 0x69, 0xc6, 0xb4, 0x2e, 0x36, 0xa5, 0xee, 0xc0, 0x0b, - 0x0a, 0xcc, 0x6c, 0x1a, 0x3a, 0xaa, 0x0f, 0xa8, 0x8e, 0xfd, 0x25, 0xa2, 0x00, 0x74, 0xfa, 0x0a, - 0x02, 0x54, 0x26, 0x5a, 0xe1, 0x7f, 0x70, 0x52, 0x67, 0x54, 0xdb, 0xa7, 0x03, 0xca, 0x69, 0x3d, - 0x93, 0xb3, 0x48, 0x9f, 0xd4, 0xc7, 0x6a, 0x9c, 0x55, 0x56, 0x29, 0xf3, 0xa0, 0xe9, 0x7a, 0x5f, - 0xc5, 0xb2, 0x44, 0xbf, 0x72, 0x75, 0xb3, 0x14, 0xbb, 0x66, 0xcc, 0x04, 0x5a, 0xaa, 0x1c, 0x28, - 0x38, 0x09, 0x6a, 0xb3, 0xfe, 0x22, 0x27, 0x0a, 0x39, 0xf3, 0x3d, 0xfb, 0x9b, 0x3e, 0x02, 0x17, - 0xae, 0xdc, 0xed, 0x88, 0x76, 0x19, 0x40, 0x05, 0x2c, 0xcf, 0xd4, 0x22, 0x41, 0x1d, 0xbd, 0x41, - 0xe6, 0x0e, 0xed, 0xfd, 0x2c, 0x67, 0x37, 0x50, 0x27, 0x0e, 0x3f, 0x31, 0x3d, 0x9a, 0x5e, 0xe7, - 0xac, 0x18, 0xb4, 0x55, 0xaa, 0x63, 0xa5, 0x58, 0xf2, 0x3d, 0x89, 0x93, 0xf5, 0xee, 0x0f, 0xf7, - 0x93, 0x24, 0x5e, 0x69, 0xf8, 0xe1, 0x40, 0xb1, 0x7e, 0xbb, 0xb5, 0x4f, 0xc9, 0x79, 0xe8, 0xf3, - 0xe0, 0xd0, 0x36, 0xd4, 0x7a, 0x4d, 0xe5, 0x0c, 0x71, 0x03, 0x5b, 0x29, 0xca, 0x89, 0x7a, 0xa4, - 0xe6, 0xd2, 0x9d, 0x58, 0x43, 0x13, 0xfb, 0x2a, 0xe0, 0x41, 0x97, 0xd7, 0x0b, 0x5a, 0x34, 0x07, - 0xed, 0x7c, 0x0c, 0xa5, 0x60, 0xea, 0x66, 0x31, 0x32, 0x6e, 0x91, 0x26, 0x1d, 0xa4, 0x9b, 0x32, - 0x44, 0x25, 0xbc, 0xbc, 0x25, 0x28, 0xa1, 0x33, 0x6c, 0x95, 0x59, 0xa3, 0x03, 0xfc, 0xbb, 0x63, - 0x99, 0x59, 0x28, 0x27, 0x8b, 0x47, 0x53, 0x59, 0x79, 0xe3, 0x42, 0x3c, 0xfd, 0x3c, 0x84, 0x65, - 0xd5, 0x43, 0x59, 0xb4, 0x9d, 0xbd, 0x18, 0xd7, 0x3f, 0x9f, 0x45, 0x4b, 0x47, 0x0c, 0x34, 0x3e, - 0xaf, 0xdd, 0x29, 0x37, 0x45, 0x67, 0xc6, 0xdc, 0x0c, 0xb9, 0xdb, 0x63, 0xe5, 0x6b, 0xcd, 0xf6, - 0x84, 0x3f, 0xf0, 0x6f, 0xcc, 0xfa, 0x71, 0x5f, 0x04, 0xbb, 0xaf, 0x9e, 0x01, 0x91, 0x19, 0x45, - 0xbf, 0x8c, 0xb9, 0x48, 0x28, 0x17, 0x3c, 0xa0, 0x3d, 0x90, 0x47, 0x38, 0xcd, 0xc4, 0xec, 0x3f, - 0xd6, 0xc7, 0xba, 0x8a, 0xbc, 0x33, 0xa9, 0x36, 0xc2, 0x58, 0x0a, 0x07, 0x4e, 0x20, 0x0d, 0x4e, - 0x0f, 0x8b, 0x84, 0x5b, 0x18, 0x54, 0xe8, 0x9e, 0x3e, 0xc4, 0xfe, 0xb4, 0xc4, 0xe4, 0x9a, 0x96, - 0x4d, 0x9a, 0x13, 0xff, 0xa2, 0x13, 0x53, 0xc8, 0xde, 0x7a, 0x58, 0x44, 0x2f, 0x2b, 0x31, 0xa2, - 0xf7, 0xd2, 0x51, 0x77, 0x2a, 0x7c, 0x88, 0xb2, 0xef, 0x35, 0x62, 0xce, 0x13, 0x5c, 0x1c, 0x08, - 0x44, 0x27, 0x79, 0xe7, 0x33, 0x24, 0x61, 0xb6, 0x59, 0x7e, 0x25, 0xda, 0x26, 0x78, 0x8b, 0x63, - 0x4e, 0x04, 0x9a, 0x15, 0xe1, 0x76, 0x71, 0x77, 0xde, 0x4d, 0x54, 0xfc, 0xdf, 0x59, 0xde, 0x4b, - 0x3f, 0x96, 0xcb, 0xba, 0x83, 0x4d, 0xc1, 0xc2, 0x58, 0x1f, 0x79, 0x0b, 0xad, 0x1d, 0xac, 0x0c, - 0xa4, 0xb9, 0x32, 0xb1, 0xcc, 0xc4, 0xee, 0x12, 0x09, 0x49, 0x3e, 0x04, 0xe2, 0xba, 0x20, 0x0c, - 0x19, 0x51, 0x80, 0xfc, 0xa6, 0x89, 0xb9, 0xb1, 0x9c, 0x66, 0x08, 0x8f, 0x45, 0x72, 0x9f, 0x44, - 0x1f, 0x3f, 0xa1, 0x32, 0x9b, 0xe0, 0x5a, 0xa4, 0x3d, 0xa1, 0xa7, 0x6e, 0x8d, 0xa5, 0xa1, 0x7e, - 0x8a, 0x35, 0x0a, 0xc8, 0x96, 0x5b, 0x4e, 0xd7, 0x0b, 0xe5, 0x6b, 0x05, 0xa2, 0xc1, 0x78, 0x97, - 0x90, 0x7a, 0xe7, 0x97, 0xb8, 0xb5, 0x2c, 0x0d, 0x01, 0x04, 0x9e, 0x29, 0x73, 0xee, 0xc8, 0x38, - 0xef, 0xf5, 0xbd, 0x0a, 0x27, 0xd9, 0x8b, 0x8e, 0xcb, 0xc0, 0x06, 0x42, 0x39, 0x17, 0x96, 0x19, - 0x5d, 0x48, 0x3b, 0x0b, 0xcb, 0x4f, 0xb5, 0x54, 0x6a, 0xf6, 0x9c, 0xbc, 0xd1, 0x2d, 0x74, 0x42, - 0x0d, 0x6f, 0x52, 0x24, 0xb8, 0xfc, 0xee, 0x3e, 0x05, 0x36, 0x24, 0xd5, 0xf2, 0xd4, 0x49, 0x27, - 0xa3, 0xae, 0x44, 0x84, 0x27, 0xb1, 0x85, 0x3c, 0xe6, 0xbd, 0x6f, 0xd9, 0x6f, 0x22, 0x59, 0xc5, - 0xca, 0x34, 0x70, 0x14, 0x1c, 0x3f, 0x0a, 0x38, 0x7e, 0xb2, 0xda, 0xb4, 0xaa, 0x36, 0x50, 0x36, - 0x99, 0x19, 0xb3, 0x3c, 0xae, 0xfd, 0x3f, 0x2e, 0x2e, 0xae, 0xc0, 0x95, 0x4f, 0xcf, 0x1c, 0x81, - 0x53, 0xf8, 0xce, 0xe5, 0xce, 0x42, 0xd4, 0x2c, 0x40, 0x61, 0xa5, 0x6d, 0x7d, 0x16, 0x90, 0x65, - 0x8c, 0x2e, 0x96, 0x3f, 0x1f, 0x65, 0xcc, 0x82, 0xf1, 0x65, 0xf0, 0x56, 0x95, 0xf0, 0xc7, 0xbe, - 0xd3, 0xb8, 0x89, 0x39, 0x5a, 0xb4, 0x3c, 0xb4, 0xca, 0x6b, 0xc2, 0x9c, 0x7a, 0x73, 0x2b, 0xf9, - 0x7c, 0xf7, 0x6b, 0x58, 0x10, 0xaf, 0x44, 0x6d, 0x88, 0x45, 0x6d, 0xc9, 0xd1, 0x11, 0x6e, 0x08, - 0x3f, 0x7d, 0x72, 0x5d, 0xf4, 0x83, 0xbf, 0xfa, 0x66, 0x85, 0x9c, 0xc4, 0xcc, 0xd3, 0xf2, 0xe1, - 0x6a, 0x36, 0x2e, 0xd7, 0xb9, 0xec, 0x3e, 0x94, 0x31, 0x6a, 0x15, 0x19, 0xd0, 0xea, 0xce, 0xc9, - 0x33, 0x70, 0xe5, 0xf2, 0xd9, 0x3f, 0x63, 0x1d, 0xed, 0x65, 0x04, 0xcc, 0xb9, 0xf0, 0x29, 0x90, - 0xc5, 0x57, 0x23, 0x8a, 0x3b, 0xd7, 0x9c, 0x95, 0x23, 0x6d, 0x64, 0x28, 0x7b, 0xc7, 0x08, 0xd3, - 0x98, 0x13, 0x27, 0xc6, 0xf7, 0x78, 0xd9, 0xa2, 0xc8, 0x97, 0x7d, 0x4e, 0x2e, 0x83, 0xaf, 0xdb, - 0xd3, 0x2d, 0xe6, 0x61, 0xbc, 0x8e, 0xc0, 0x9d, 0xf6, 0x4c, 0x1e, 0xb4, 0xfe, 0xc3, 0xa0, 0x11, - 0x46, 0x1b, 0xa7, 0xc8, 0xb9, 0xb1, 0xe9, 0xe9, 0xb7, 0x44, 0x86, 0xfe, 0x41, 0x7d, 0x26, 0x75, - 0x08, 0x0d, 0x96, 0xe3, 0x64, 0xb4, 0x7e, 0xe1, 0x01, 0x5b, 0x66, 0x29, 0x30, 0xa6, 0xa3, 0x22, - 0xd8, 0xc5, 0x3c, 0x5a, 0xe7, 0xfe, 0x2a, 0xdd, 0xfa, 0x95, 0xcc, 0x1e, 0xaa, 0xa0, 0x2a, 0x2a, - 0x0a, 0x93, 0x79, 0x5a, 0x49, 0xeb, 0x78, 0x84, 0x66, 0x29, 0x56, 0xca, 0x45, 0xab, 0x12, 0x68, - 0x9e, 0x0e, 0x64, 0xc3, 0x6d, 0x1a, 0x9e, 0xcb, 0xad, 0x9d, 0x28, 0x2b, 0xf2, 0x97, 0x92, 0x24, - 0xd7, 0x8e, 0x00, 0x6d, 0x89, 0xc6, 0xec, 0xf7, 0x7a, 0x48, 0x15, 0xaf, 0xa5, 0x3e, 0x78, 0x0e, - 0x37, 0xc4, 0xa7, 0x35, 0xdd, 0x44, 0x55, 0xc2, 0x35, 0xdd, 0x3c, 0x9a, 0x28, 0x36, 0x62, 0x0d, - 0x97, 0xd4, 0xf5, 0x2f, 0x6b, 0x49, 0xc5, 0xce, 0x30, 0xf7, 0xf2, 0x60, 0x83, 0x91, 0xf4, 0xdd, - 0xac, 0xf5, 0xe2, 0x20, 0x22, 0xa2, 0x97, 0x68, 0xb0, 0x1f, 0x17, 0x36, 0x50, 0xdb, 0x6c, 0x78, - 0x3a, 0x7a, 0x8c, 0x91, 0xd8, 0xb3, 0x23, 0x5d, 0x91, 0xdd, 0xac, 0xe5, 0xc3, 0x4a, 0x96, 0xdb, - 0x56, 0x0d, 0x29, 0xcb, 0xe7, 0x89, 0x8e, 0x11, 0x08, 0x26, 0xab, 0xc3, 0x0a, 0xdd, 0x50, 0xe2, - 0xb2, 0x20, 0x42, 0xce, 0xdc, 0xd3, 0x3d, 0x13, 0xb5, 0x12, 0xfb, 0x5d, 0xb7, 0xdd, 0x62, 0xc1, - 0xe5, 0x41, 0x1c, 0x57, 0x15, 0x5b, 0x9e, 0xdb, 0xc9, 0x9d, 0x99, 0x0e, 0xb5, 0x24, 0x49, 0x1b, - 0x76, 0x54, 0x43, 0xc4, 0xf0, 0x4a, 0x57, 0x43, 0x6a, 0x45, 0xf1, 0xc7, 0x61, 0x00, 0x4d, 0x2b, - 0x09, 0x54, 0x3c, 0x2e, 0x84, 0x91, 0x0f, 0xf7, 0x78, 0xeb, 0x4a, 0xea, 0x04, 0xf8, 0x89, 0x91, - 0x70, 0x01, 0x03, 0x1e, 0x6e, 0xd2, 0xa9, 0xad, 0x26, 0x8b, 0x75, 0x18, 0x97, 0x30, 0xb2, 0xdc, - 0x65, 0x5d, 0x82, 0xa9, 0xe4, 0x6f, 0x20, 0x09, 0x58, 0xa5, 0xcb, 0xe4, 0xfa, 0xf6, 0x02, 0x8b, - 0x92, 0x97, 0x93, 0x86, 0x18, 0xd8, 0x38, 0xcc, 0x76, 0x2f, 0xfa, 0xa1, 0xec, 0xaf, 0x4c, 0x3a, - 0xc7, 0x6a, 0xc7, 0x0e, 0xda, 0xf6, 0x69, 0x0b, 0x4c, 0x89, 0x68, 0x04, 0xbe, 0x24, 0x86, 0x09, - 0x61, 0x63, 0x5f, 0x66, 0x9f, 0x9f, 0xdd, 0xda, 0x10, 0x39, 0xa2, 0xdb, 0xbd, 0x38, 0xc9, 0x68, - 0x98, 0x7d, 0xc9, 0x6e, 0x1c, 0x4d, 0xf4, 0xb8, 0x40, 0x2e, 0xa5, 0x46, 0x44, 0xcd, 0x55, 0x55, - 0x87, 0x93, 0x80, 0xa5, 0x27, 0x76, 0x9e, 0x28, 0x56, 0xba, 0x0e, 0x0f, 0x87, 0x43, 0x0f, 0x79, - 0xa1, 0x4e, 0xb7, 0xb5, 0x36, 0x33, 0xe7, 0xbe, 0xe4, 0x9b, 0x52, 0x52, 0xb5, 0x7d, 0x46, 0xa2, - 0x32, 0xeb, 0x6f, 0x62, 0xe0, 0xcd, 0x83, 0xc4, 0x75, 0xe3, 0x61, 0x4f, 0x97, 0xc9, 0x3a, 0xa2, - 0xcd, 0x3d, 0x62, 0xe8, 0xcd, 0x3b, 0x82, 0xd7, 0x2f, 0x35, 0x1c, 0x83, 0x05, 0x39, 0x6e, 0x97, - 0xb0, 0x1d, 0x09, 0x97, 0x48, 0xfd, 0x5d, 0x39, 0x68, 0x8c, 0xc2, 0x94, 0xa4, 0xe9, 0xfd, 0x81, - 0xc0, 0x3d, 0xda, 0x13, 0xe0, 0xf8, 0xb7, 0xb0, 0xff, 0xfb, 0x2b, 0x3b, 0x70, 0x5c, 0xf3, 0xe6, - 0xaf, 0xac, 0x47, 0x17, 0xf2, 0xe9, 0xab, 0x37, 0x50, 0x3e, 0x03, 0xb5, 0xb4, 0x6c, 0x52, 0x67, - 0xdc, 0xf3, 0xab, 0x01, 0x3c, 0x8d, 0x36, 0xee, 0xe9, 0x0a, 0xc5, 0x04, 0x82, 0x8a, 0x2c, 0x65, - 0xa8, 0xc8, 0x72, 0xd4, 0xdc, 0x98, 0x47, 0x9e, 0xae, 0x33, 0x5d, 0xff, 0xe9, 0xad, 0x37, 0x4b, - 0xfb, 0x03, 0x9d, 0xb8, 0x7a, 0xb7, 0x96, 0x1d, 0x7d, 0xa4, 0x1a, 0xbd, 0x56, 0x99, 0xb5, 0x57, - 0x60, 0x0a, 0x7e, 0x35, 0x8e, 0x71, 0x54, 0x36, 0x62, 0x2d, 0x8c, 0x0a, 0x81, 0x76, 0xde, 0xf7, - 0x1a, 0xd9, 0x6b, 0xbd, 0xed, 0x29, 0xad, 0x5d, 0x61, 0x64, 0xa6, 0xcb, 0xf3, 0x6e, 0x52, 0xe0, - 0x4b, 0x02, 0xda, 0xd2, 0x06, 0x03, 0xae, 0x10, 0x9c, 0x2c, 0xbf, 0x2c, 0x7e, 0xd2, 0x6a, 0xec, - 0x8b, 0x62, 0xac, 0x1f, 0x26, 0x3e, 0xde, 0x77, 0x92, 0x09, 0x3c, 0x83, 0x49, 0x1e, 0xb8, 0x55, - 0x38, 0xfb, 0xfd, 0xfb, 0xa1, 0xd5, 0x6d, 0x23, 0x9d, 0xfc, 0x9a, 0x6b, 0xa0, 0x04, 0x0d, 0x22, - 0x8c, 0x03, 0x36, 0xc3, 0x1b, 0x52, 0x4b, 0xf3, 0x0e, 0x65, 0xc5, 0x50, 0xf9, 0xf7, 0x8b, 0x59, - 0xe1, 0x54, 0xbf, 0x2a, 0x0a, 0x0d, 0xef, 0x2d, 0x9e, 0x69, 0x41, 0xf9, 0x26, 0x2c, 0x4b, 0x74, - 0xcf, 0xc9, 0xed, 0x39, 0x8e, 0x7d, 0xdb, 0xc3, 0xa7, 0x3a, 0xca, 0x59, 0xd3, 0x11, 0x59, 0xaf, - 0x81, 0xc1, 0x6d, 0x44, 0xd1, 0x2a, 0x3a, 0xb5, 0x6e, 0x1b, 0x8f, 0x59, 0x55, 0x39, 0xf9, 0xc9, - 0x33, 0x3a, 0xde, 0xf1, 0x52, 0x82, 0x72, 0x28, 0xbe, 0x8d, 0x85, 0xfd, 0xed, 0x03, 0x60, 0x1e, - 0x38, 0x00, 0xd9, 0xb7, 0x1f, 0x75, 0xd3, 0x8e, 0x8c, 0x3f, 0x17, 0x55, 0x33, 0xc2, 0xfe, 0xcc, - 0xa9, 0x64, 0xb3, 0x6f, 0xbf, 0xe7, 0x58, 0x2d, 0xb0, 0xda, 0x66, 0x37, 0x30, 0x81, 0x00, 0x42, - 0x26, 0x1e, 0x17, 0xcc, 0x00, 0x6b, 0x7c, 0x2c, 0xf9, 0xa9, 0x25, 0xa2, 0x56, 0x0b, 0xeb, 0x1e, - 0x25, 0x3c, 0x4a, 0x41, 0x69, 0xab, 0x3c, 0xe1, 0x32, 0x40, 0xbb, 0xd5, 0x26, 0x43, 0x03, 0x70, - 0xa2, 0x2a, 0x9c, 0x81, 0xa8, 0x68, 0x9e, 0xb6, 0x61, 0xa2, 0x0e, 0x2b, 0xef, 0x0e, 0xe0, 0x08, - 0x66, 0x6c, 0x56, 0xbe, 0xc5, 0x68, 0xc4, 0xe2, 0x7a, 0x0f, 0x47, 0xff, 0xc9, 0x8e, 0xe0, 0xa6, - 0xa5, 0xd0, 0x2e, 0xee, 0xe2, 0x24, 0x39, 0xbf, 0x31, 0x3d, 0xea, 0xba, 0xe4, 0xc7, 0x00, 0x1d, - 0x9b, 0x36, 0x7f, 0x81, 0xc6, 0x07, 0x44, 0x0a, 0x7d, 0xd4, 0xe6, 0xbe, 0x2a, 0x91, 0x17, 0x3f, - 0x41, 0x92, 0xdf, 0xe5, 0x5a, 0x05, 0xec, 0x4c, 0x38, 0x56, 0x5c, 0x9b, 0xc7, 0xf1, 0xda, 0x6d, - 0x9b, 0x1f, 0xe4, 0x14, 0x73, 0xbe, 0xff, 0x1a, 0x83, 0xd6, 0x1c, 0x23, 0xbb, 0x6a, 0x0d, 0xac, - 0xfc, 0x73, 0xa4, 0x36, 0xc1, 0x3b, 0x14, 0x0a, 0xf0, 0x6a, 0x47, 0x91, 0x85, 0xc5, 0xbb, 0xff, - 0x41, 0xbe, 0xb8, 0x09, 0x72, 0xbf, 0x31, 0xb4, 0xf5, 0x27, 0x80, 0x81, 0x59, 0xec, 0xa8, 0x4b, - 0x8d, 0x32, 0xec, 0xb6, 0xd1, 0xbb, 0x52, 0x12, 0x99, 0x69, 0x8c, 0x6f, 0xc4, 0x2e, 0xe5, 0x47, - 0x01, 0xbe, 0xd9, 0x32, 0x0b, 0x5f, 0x90, 0xe1, 0xac, 0x8b, 0x80, 0x98, 0x85, 0xa4, 0xb9, 0xe2, - 0x3a, 0xc4, 0x42, 0x2e, 0xd9, 0x93, 0xbe, 0x97, 0x77, 0x44, 0xa7, 0x14, 0xcb, 0x24, 0xcf, 0xca, - 0x37, 0x06, 0x5a, 0x63, 0x71, 0xcb, 0x63, 0x7f, 0x19, 0xd8, 0x9c, 0x9c, 0x24, 0x13, 0x7f, 0xfe, - 0x04, 0x00, 0xb3, 0xa7, 0x90, 0x35, 0xbc, 0x78, 0x6a, 0xef, 0xf9, 0xbd, 0xd4, 0x1e, 0x0a, 0xd9, - 0x62, 0xe1, 0xa2, 0xa8, 0xec, 0xfd, 0x00, 0x80, 0xf2, 0x22, 0xa5, 0xd2, 0x86, 0x14, 0xb9, 0x1e, - 0x10, 0x0a, 0x2d, 0x4e, 0x09, 0xdf, 0x0b, 0x5b, 0xfa, 0xbe, 0x58, 0x73, 0xdc, 0x6c, 0x73, 0x93, - 0x39, 0x43, 0x44, 0xf0, 0x73, 0xeb, 0xc8, 0x14, 0xd3, 0xe8, 0xc8, 0x2e, 0xf6, 0x6e, 0xbe, 0x51, - 0x22, 0x71, 0x92, 0x5e, 0x07, 0x5f, 0xf5, 0x25, 0xf5, 0x3a, 0xc6, 0x05, 0xb5, 0x6a, 0xa6, 0x72, - 0xe9, 0x3f, 0x01, 0xcb, 0xb2, 0x35, 0x6b, 0x19, 0x06, 0x71, 0xa4, 0xbc, 0x01, 0x89, 0x2d, 0x28, - 0xe9, 0x96, 0xf7, 0xcc, 0x17, 0x9e, 0x9e, 0x5c, 0x93, 0x94, 0x79, 0xaa, 0xa9, 0xc4, 0x17, 0x19, - 0x30, 0xa9, 0xcf, 0xae, 0x4a, 0x54, 0x67, 0x57, 0x41, 0x4a, 0xc0, 0x90, 0xe8, 0xea, 0x11, 0x99, - 0x60, 0x25, 0xef, 0x20, 0x0b, 0x2a, 0x5c, 0x07, 0xc6, 0x1e, 0x29, 0x63, 0xbb, 0xa8, 0xfe, 0xde, - 0x19, 0xa7, 0xff, 0xd5, 0x21, 0x9a, 0xa3, 0x1e, 0x92, 0x3f, 0x68, 0xf0, 0xe2, 0xe8, 0x8a, 0x9d, - 0x62, 0xa7, 0xbf, 0x1b, 0x35, 0xb1, 0x38, 0x7d, 0xf3, 0xa6, 0x68, 0xb3, 0x31, 0x45, 0xb5, 0xc8, - 0x56, 0x07, 0xce, 0x43, 0x52, 0x21, 0x6a, 0xe3, 0xc4, 0x4d, 0xb6, 0xe5, 0xcd, 0xc8, 0xb1, 0xe5, - 0xa1, 0xc3, 0xd0, 0xf1, 0x2c, 0x52, 0x13, 0x1c, 0xed, 0xe9, 0xf8, 0xbf, 0x45, 0x6a, 0x9d, 0xb7, - 0x69, 0xa2, 0x62, 0x8c, 0xe2, 0x34, 0xa5, 0x62, 0x2a, 0x8b, 0x75, 0xf1, 0x4f, 0xaf, 0xfc, 0x86, - 0x43, 0x48, 0xb1, 0xe2, 0xc3, 0xd0, 0x85, 0xaf, 0xd1, 0x6b, 0x00, 0x8c, 0x97, 0xd1, 0x68, 0x32, - 0x4e, 0x6e, 0x2c, 0xcf, 0x65, 0x89, 0x36, 0xc3, 0xcd, 0x5f, 0x1d, 0x20, 0x7f, 0x5e, 0xca, 0x9e, - 0xa2, 0x5d, 0xa4, 0x5c, 0xf6, 0x32, 0x90, 0x13, 0xca, 0x7e, 0xa9, 0x2f, 0x4a, 0x16, 0xa9, 0x19, - 0x4f, 0x91, 0x60, 0xc1, 0x3d, 0xca, 0x85, 0x19, 0x5c, 0x15, 0x55, 0xa8, 0x05, 0xec, 0x40, 0x04, - 0x10, 0x28, 0xb1, 0x74, 0x3d, 0xc7, 0xc9, 0xfe, 0xef, 0xcc, 0xbc, 0x97, 0x2c, 0x21, 0xf2, 0x97, - 0xdc, 0xb7, 0x9e, 0x33, 0x09, 0x43, 0x9b, 0xf3, 0xb8, 0x77, 0x17, 0xbf, 0x55, 0xd1, 0x07, 0x72, - 0x6b, 0xd7, 0x6c, 0xc9, 0xbe, 0x80, 0xc8, 0xeb, 0x3c, 0x80, 0x47, 0x0d, 0x9c, 0xd6, 0x2a, 0x18, - 0x3b, 0x49, 0x79, 0xeb, 0xb1, 0x40, 0x46, 0xf8, 0x8c, 0x47, 0x4a, 0x95, 0xfc, 0x4d, 0x9a, 0x84, - 0xa6, 0x64, 0x6f, 0x85, 0x42, 0x2d, 0x85, 0x8e, 0x5f, 0x7c, 0x4b, 0xdd, 0x77, 0x40, 0x09, 0x6c, - 0xd9, 0x61, 0x75, 0xd7, 0xa4, 0xeb, 0xc7, 0xf5, 0xe3, 0xd0, 0x45, 0x7b, 0xef, 0xc1, 0x5f, 0xd5, - 0xb4, 0x0a, 0xc0, 0x27, 0xc5, 0x45, 0xec, 0xfe, 0xdf, 0x8e, 0x5e, 0x0c, 0x1e, 0x6a, 0xf5, 0x9a, - 0x49, 0x66, 0xf9, 0x31, 0x7a, 0xa2, 0x01, 0xbb, 0xea, 0x34, 0x53, 0x6d, 0x29, 0x80, 0x90, 0xa3, - 0x3e, 0x09, 0x8e, 0x72, 0xe1, 0x85, 0xf8, 0x9d, 0x01, 0x50, 0xd4, 0x39, 0x3c, 0xba, 0x28, 0x16, - 0x12, 0x89, 0x88, 0xd8, 0x6c, 0xb1, 0x31, 0x97, 0x2f, 0xdb, 0xe3, 0x28, 0x62, 0xbe, 0xbf, 0xfa, - 0x51, 0xf0, 0x5d, 0xba, 0xa5, 0x7b, 0xbf, 0xdf, 0xa3, 0x1f, 0x18, 0xf7, 0xce, 0x54, 0x2d, 0x87, - 0x5c, 0xf7, 0xeb, 0xaa, 0xcb, 0x86, 0x87, 0xd4, 0x62, 0x6e, 0x0c, 0x17, 0x39, 0x17, 0xf8, 0x5c, - 0x69, 0x9e, 0x80, 0xa9, 0x76, 0xe1, 0xd6, 0xc1, 0xab, 0xb2, 0xa9, 0x1c, 0x44, 0xe0, 0x3f, 0x3e, - 0xcb, 0x0c, 0x48, 0xa8, 0x11, 0x63, 0x1e, 0x83, 0xe4, 0x47, 0x1f, 0x5e, 0x2c, 0x9a, 0xb3, 0x43, - 0xf1, 0xe5, 0x78, 0x20, 0xff, 0x9b, 0xb2, 0xc4, 0x2a, 0x8b, 0x25, 0x6b, 0x12, 0x96, 0xb0, 0xd2, - 0xa7, 0x16, 0xe8, 0xda, 0x9b, 0xac, 0x46, 0xb4, 0x2d, 0xff, 0x97, 0xc0, 0x97, 0x97, 0xaf, 0x97, - 0x98, 0xbf, 0x71, 0x2a, 0x2e, 0xfd, 0x37, 0xda, 0x9e, 0x10, 0x36, 0xde, 0x8a, 0x89, 0x0d, 0xc3, - 0xa8, 0xa4, 0x1a, 0x03, 0x82, 0x16, 0x9d, 0xea, 0xfa, 0xd7, 0x5d, 0xc9, 0x6f, 0xb3, 0xc2, 0x69, - 0x66, 0x66, 0x67, 0xc9, 0x98, 0xf2, 0xb0, 0x71, 0x24, 0x21, 0x2a, 0x4d, 0x26, 0x7d, 0x7e, 0x9b, - 0x28, 0x72, 0xb8, 0xdd, 0x7c, 0xdf, 0xbd, 0x01, 0xb0, 0x3e, 0x06, 0x87, 0xdd, 0x3d, 0xcd, 0xaa, - 0xcb, 0xe3, 0x43, 0x06, 0x51, 0x20, 0xf4, 0x7e, 0x81, 0xdb, 0xe0, 0x6a, 0xc8, 0x74, 0x38, 0x9f, - 0xfd, 0x21, 0x86, 0x19, 0x15, 0x3b, 0xba, 0x71, 0x9a, 0x4a, 0xf3, 0xc3, 0x51, 0x33, 0x0d, 0x52, - 0x5b, 0xdd, 0xdf, 0xb8, 0x08, 0xa3, 0x38, 0xad, 0x96, 0xec, 0xb0, 0xbc, 0xd4, 0xe0, 0xef, 0xc1, - 0xa7, 0xfb, 0x63, 0xbd, 0x5c, 0x4f, 0x5b, 0x58, 0x48, 0x8c, 0x78, 0xcd, 0x64, 0x76, 0xbc, 0x40, - 0x27, 0xcf, 0xfe, 0xe1, 0xb7, 0xa0, 0xc2, 0xfe, 0x81, 0x8e, 0xd3, 0x83, 0x30, 0x6a, 0x41, 0x38, - 0x62, 0xbe, 0x2a, 0xc8, 0x45, 0xdc, 0x44, 0x03, 0x27, 0x12, 0x88, 0x45, 0x81, 0x1d, 0x2f, 0x07, - 0xfa, 0x9e, 0x46, 0x02, 0x62, 0xa7, 0xa1, 0x8d, 0xf1, 0x28, 0xaa, 0x32, 0x70, 0x42, 0xad, 0xc8, - 0x7f, 0x93, 0xb6, 0x24, 0x9a, 0xc6, 0x7d, 0x79, 0x45, 0x93, 0x98, 0xad, 0x4e, 0x31, 0xcb, 0x36, - 0xf7, 0xc4, 0x48, 0xce, 0x4b, 0x7e, 0x03, 0xf7, 0x53, 0x43, 0xa2, 0xb4, 0xb0, 0xc5, 0x9c, 0x6c, - 0xd8, 0x57, 0xde, 0xa2, 0x23, 0x5d, 0x3e, 0xfa, 0x2a, 0x96, 0x76, 0x9d, 0xb8, 0x48, 0x61, 0x44, - 0xbc, 0xe4, 0x46, 0xac, 0x17, 0x04, 0x03, 0x6b, 0xc8, 0x68, 0x65, 0x29, 0x2d, 0xa9, 0x8f, 0x07, - 0xd0, 0x38, 0x05, 0xf1, 0xfa, 0xca, 0x15, 0xca, 0xdb, 0xae, 0x2b, 0x1d, 0x6f, 0xb3, 0x4d, 0x7c, - 0x6a, 0x2c, 0x7c, 0x71, 0x0e, 0x5b, 0x0e, 0x76, 0xbf, 0xd7, 0x1f, 0xdf, 0xdf, 0x50, 0xcb, 0x95, - 0xe7, 0x06, 0xad, 0xbe, 0x47, 0x77, 0xae, 0x8e, 0x2c, 0x5b, 0x9f, 0x8e, 0x74, 0x09, 0x5b, 0xd2, - 0xf6, 0xde, 0x2d, 0x51, 0xda, 0x9d, 0x03, 0x17, 0x36, 0x43, 0x5f, 0xf6, 0xad, 0xcd, 0xe1, 0xdb, - 0x23, 0x3c, 0x56, 0x87, 0xe9, 0x17, 0xe6, 0xe5, 0xc7, 0x32, 0xab, 0x96, 0xb0, 0xe4, 0x94, 0x25, - 0xaf, 0xa7, 0x95, 0x6d, 0x53, 0x96, 0xff, 0x02, 0x8b, 0xdd, 0x58, 0xbb, 0x8c, 0xf4, 0xf8, 0xba, - 0x4a, 0xd7, 0x9e, 0xa7, 0x5d, 0x35, 0xd6, 0x84, 0x6c, 0x52, 0xa6, 0xa9, 0xbe, 0xb7, 0xa8, 0xec, - 0xd1, 0x41, 0x7a, 0x67, 0x13, 0x57, 0xe5, 0xf0, 0xc8, 0xc4, 0xc0, 0x4c, 0x17, 0x42, 0x57, 0x0a, - 0x8e, 0x71, 0xf3, 0x19, 0xb0, 0xae, 0xf1, 0xdd, 0x2f, 0xa5, 0x48, 0xee, 0x3b, 0x1e, 0x09, 0x08, - 0xe8, 0x6f, 0xa9, 0x06, 0x07, 0x09, 0xc3, 0x77, 0x31, 0x23, 0x44, 0x90, 0xf6, 0xd4, 0x4e, 0x81, - 0xd1, 0xb2, 0x7f, 0x3e, 0xfd, 0x69, 0x53, 0xa2, 0x1f, 0x96, 0x26, 0x1b, 0x9f, 0x68, 0x8b, 0x21, - 0x4d, 0x53, 0x03, 0x11, 0xbb, 0xcc, 0xad, 0xa1, 0x15, 0xb5, 0x6a, 0xf6, 0x53, 0x94, 0xec, 0xd3, - 0xbb, 0x09, 0x1d, 0x05, 0xf1, 0xa0, 0xbe, 0x67, 0xc6, 0xb1, 0x16, 0xcb, 0x1a, 0x78, 0x01, 0xf0, - 0x24, 0xc9, 0x2a, 0xc0, 0x8d, 0x0f, 0x10, 0x92, 0x87, 0x27, 0x12, 0x9c, 0x89, 0x33, 0xa6, 0xc8, - 0xd6, 0x06, 0x58, 0xe6, 0x61, 0x95, 0x89, 0xb5, 0xdc, 0x6e, 0xc1, 0x80, 0xc3, 0x76, 0x2d, 0x97, - 0xef, 0x3f, 0xd8, 0x4f, 0x77, 0xce, 0x85, 0xc9, 0xfb, 0x76, 0xce, 0x0f, 0xb3, 0xfa, 0x8c, 0x58, - 0xe6, 0x44, 0xbf, 0x11, 0x64, 0x4a, 0xc0, 0xfd, 0x4a, 0xeb, 0x08, 0xcb, 0x62, 0x4b, 0xcb, 0xc1, - 0x22, 0x21, 0x74, 0xa1, 0x28, 0x64, 0x7d, 0x5b, 0xa1, 0xd1, 0x14, 0xf7, 0x75, 0x9b, 0x25, 0x53, - 0x22, 0xb6, 0x31, 0x1b, 0xa1, 0xa3, 0x5a, 0xa1, 0x01, 0x17, 0x03, 0x1b, 0x79, 0x59, 0xf4, 0xeb, - 0x1b, 0xf7, 0xe0, 0x1b, 0xac, 0x71, 0x4d, 0xaf, 0xf2, 0x6a, 0xf2, 0xfe, 0x7d, 0x37, 0x6e, 0x61, - 0x19, 0x7f, 0x72, 0x11, 0xdc, 0xca, 0x5d, 0xd0, 0x30, 0x7d, 0x5c, 0xf3, 0x74, 0x60, 0x10, 0xb9, - 0xdc, 0x8d, 0x0c, 0x33, 0x61, 0x80, 0x38, 0x1a, 0x7f, 0xab, 0xa9, 0xc4, 0x6f, 0x09, 0x58, 0xf8, - 0xe4, 0xda, 0xa0, 0x0e, 0xb5, 0xb5, 0xeb, 0xb5, 0xb6, 0x87, 0xac, 0x71, 0x59, 0xe7, 0x22, 0xb3, - 0xc6, 0xe2, 0x70, 0x95, 0x7a, 0x5c, 0xe4, 0xd1, 0x3c, 0xe4, 0x84, 0x17, 0xbc, 0x1d, 0xb2, 0xca, - 0x4e, 0x77, 0xfc, 0x53, 0x76, 0xfc, 0x78, 0x38, 0xee, 0x12, 0xc3, 0x8d, 0xe4, 0x4a, 0x3b, 0x00, - 0x28, 0xf4, 0xb4, 0xc2, 0xdb, 0x25, 0xb6, 0xd5, 0x1c, 0x36, 0x97, 0x33, 0xb1, 0x2c, 0x6c, 0x8e, - 0x99, 0x2d, 0x7b, 0xcb, 0x51, 0x50, 0x92, 0xeb, 0xcc, 0x87, 0xbf, 0x80, 0x1d, 0xa8, 0x00, 0x4f, - 0x4d, 0xe5, 0xeb, 0x7a, 0x81, 0x1f, 0x4f, 0x61, 0x5d, 0x89, 0xc6, 0x41, 0x1c, 0xd0, 0xb9, 0xa2, - 0x1d, 0x09, 0x08, 0xa2, 0x70, 0x27, 0x38, 0x89, 0x69, 0xad, 0xf6, 0x49, 0x84, 0xd6, 0x72, 0x24, - 0x7f, 0xb6, 0x70, 0x5e, 0x33, 0xd7, 0x72, 0x57, 0xff, 0x3d, 0x46, 0x44, 0xcb, 0x39, 0x0c, 0x14, - 0x3f, 0x2b, 0x77, 0xe9, 0x1a, 0xba, 0x35, 0xd1, 0x56, 0x9c, 0x2d, 0x4e, 0x24, 0x8c, 0xae, 0x81, - 0x8c, 0xb8, 0x1c, 0x5d, 0x23, 0x9d, 0x41, 0x59, 0x7b, 0x72, 0x61, 0xcf, 0x8c, 0x3a, 0xf3, 0x1b, - 0x12, 0x6a, 0xa1, 0x6f, 0xc7, 0xc6, 0x92, 0x85, 0x3b, 0x44, 0x74, 0x23, 0x17, 0x1f, 0x9d, 0xa8, - 0x76, 0x2d, 0xd7, 0x80, 0xd7, 0x66, 0xcf, 0x6f, 0x4d, 0x13, 0x22, 0xfe, 0x39, 0x47, 0xc4, 0x56, - 0x17, 0xea, 0xf3, 0xcf, 0x42, 0x22, 0xa5, 0x99, 0x9a, 0xde, 0x5c, 0xa2, 0x65, 0x44, 0xad, 0x90, - 0x18, 0xc8, 0x5c, 0xb5, 0x7e, 0x18, 0xa7, 0x2c, 0xde, 0xb0, 0x70, 0xb7, 0xa2, 0x47, 0x55, 0x14, - 0xcf, 0x4f, 0xc9, 0x6e, 0x5b, 0x6b, 0x01, 0xac, 0x86, 0xd0, 0x88, 0xc1, 0x5e, 0x68, 0xbd, 0x75, - 0x78, 0x1e, 0xde, 0xfb, 0xcc, 0x73, 0xb4, 0x53, 0x6a, 0xed, 0x90, 0x1d, 0x5a, 0x45, 0x59, 0x4f, - 0x29, 0x96, 0x2b, 0xb7, 0x67, 0x63, 0xa1, 0x9c, 0xcb, 0x3e, 0x8b, 0xd6, 0xb2, 0x7d, 0xc5, 0xeb, - 0x45, 0x20, 0x28, 0x44, 0xb4, 0xfd, 0xd3, 0x0e, 0xd1, 0xcf, 0x36, 0x42, 0xa7, 0xa2, 0xc6, 0x3f, - 0x32, 0x50, 0x56, 0xcc, 0x16, 0xd6, 0x06, 0x5f, 0xbe, 0x3c, 0x56, 0x71, 0xca, 0xb9, 0x47, 0x30, - 0xd5, 0x8e, 0x50, 0x5e, 0xc4, 0x0d, 0x15, 0x15, 0x95, 0x89, 0x27, 0x44, 0x72, 0x06, 0xc2, 0x09, - 0x63, 0x74, 0x43, 0x13, 0x04, 0x18, 0x8a, 0xbd, 0x78, 0x1e, 0x49, 0x8c, 0x8b, 0x7a, 0x8a, 0x83, - 0xd9, 0x45, 0x1f, 0x2f, 0xaa, 0x84, 0xe6, 0x11, 0xd4, 0x14, 0x3e, 0x64, 0x1a, 0x19, 0x83, 0x85, - 0xc8, 0x1f, 0xbe, 0xd0, 0x51, 0xca, 0x79, 0xd4, 0x6a, 0x21, 0x07, 0x54, 0x75, 0xac, 0x5d, 0x21, - 0x08, 0xe4, 0x2d, 0x54, 0x8b, 0x49, 0xfc, 0xfb, 0xd7, 0xdb, 0x95, 0xaa, 0x20, 0x36, 0x78, 0x16, - 0x97, 0xae, 0xd9, 0x55, 0x70, 0x6e, 0x54, 0xd3, 0xbb, 0x44, 0x00, 0x2a, 0x95, 0x6d, 0x75, 0x2b, - 0x81, 0x87, 0x16, 0x06, 0x9e, 0x5b, 0x83, 0x3e, 0xce, 0x26, 0x33, 0x77, 0x04, 0x61, 0x2e, 0x39, - 0x3e, 0x9c, 0x25, 0xa0, 0xc3, 0x4c, 0x0e, 0x3c, 0xbe, 0x79, 0x81, 0xe4, 0xad, 0x10, 0x86, 0xae, - 0x87, 0xeb, 0x81, 0x3e, 0xbe, 0xef, 0x62, 0x80, 0x5e, 0x78, 0x21, 0x4a, 0x48, 0x9c, 0xe5, 0x17, - 0x72, 0x2e, 0x6d, 0x99, 0xf0, 0x05, 0x11, 0xeb, 0x14, 0x0f, 0xf0, 0xf6, 0xa0, 0x49, 0xde, 0x5b, - 0x8e, 0x0a, 0xcd, 0x79, 0x4e, 0x89, 0x02, 0x92, 0x97, 0xb1, 0xde, 0xde, 0x37, 0xd1, 0xa3, 0x6c, - 0x50, 0xf6, 0xa2, 0x93, 0x04, 0x0c, 0xaa, 0x4b, 0xc0, 0x90, 0x34, 0x29, 0x0b, 0x0d, 0xb1, 0xb7, - 0xb6, 0x6c, 0x19, 0xab, 0x4c, 0xdb, 0xf1, 0xbf, 0xe3, 0xe4, 0x4e, 0xcb, 0x0e, 0xcc, 0xca, 0x66, - 0x11, 0x7e, 0x4c, 0x3a, 0x11, 0x1b, 0xd0, 0x7d, 0x2b, 0x5f, 0x3a, 0x02, 0x9b, 0x56, 0x52, 0x1e, - 0xa3, 0x1f, 0x1e, 0x74, 0xe0, 0x2a, 0xfd, 0xc5, 0x92, 0xdf, 0xca, 0xc2, 0x87, 0xcc, 0x43, 0x3f, - 0x5f, 0x19, 0xbd, 0xd1, 0x63, 0xb9, 0x3a, 0x06, 0xe3, 0xb8, 0xae, 0x2c, 0x79, 0x86, 0x1e, 0x0b, - 0xb8, 0xaf, 0x2c, 0xdd, 0xd7, 0xb5, 0x9e, 0x2e, 0xd0, 0x94, 0xb6, 0xaa, 0xa8, 0x0c, 0x94, 0x2e, - 0x4e, 0xac, 0x31, 0x93, 0xac, 0x29, 0xa7, 0xcb, 0xa9, 0xe9, 0x95, 0xed, 0xf5, 0xa8, 0xaa, 0x19, - 0xf8, 0x8f, 0xd8, 0x63, 0xaa, 0x1d, 0x80, 0x5b, 0x16, 0x1e, 0x12, 0x35, 0x27, 0x6d, 0x49, 0x88, - 0x47, 0x2a, 0x4a, 0x7a, 0xe4, 0x42, 0x45, 0x7d, 0x50, 0xf5, 0x99, 0x5d, 0x04, 0x89, 0x20, 0x3c, - 0x76, 0x47, 0xbd, 0xdf, 0x98, 0xea, 0x90, 0x24, 0xe9, 0x26, 0xd2, 0x45, 0x99, 0xa0, 0x00, 0x36, - 0x76, 0x92, 0x9d, 0xeb, 0x34, 0x3f, 0x4c, 0x5d, 0x3d, 0xe6, 0xc7, 0x7b, 0x5e, 0xff, 0x47, 0xcf, - 0xe6, 0xd9, 0x86, 0x6e, 0x45, 0x22, 0x49, 0xe5, 0xf0, 0xcf, 0x88, 0xea, 0x8f, 0x8d, 0x4e, 0xda, - 0xdf, 0x58, 0x96, 0x7a, 0x03, 0x5e, 0x43, 0x71, 0x29, 0x26, 0xcf, 0xae, 0x13, 0x54, 0xa2, 0x71, - 0xdc, 0x33, 0x6e, 0xd0, 0x0c, 0x14, 0xdc, 0x32, 0x36, 0x03, 0xca, 0x06, 0x74, 0x2f, 0x76, 0xd9, - 0x0f, 0x4e, 0xfd, 0x81, 0x32, 0x96, 0x6d, 0xbb, 0x80, 0xb8, 0x9c, 0x18, 0xf1, 0xf7, 0xb9, 0xab, - 0x7a, 0xce, 0x60, 0x16, 0x94, 0x4a, 0x5b, 0xc1, 0xf2, 0x58, 0xcd, 0x31, 0xdb, 0xed, 0x2f, 0x90, - 0x6b, 0x4b, 0xbd, 0xf3, 0x20, 0xea, 0x38, 0x3a, 0xe5, 0x27, 0xd2, 0x3d, 0xa9, 0xa7, 0xdd, 0x99, - 0xea, 0xf3, 0x44, 0xc5, 0x09, 0xc2, 0x4d, 0xb7, 0xa5, 0x48, 0x77, 0xd4, 0xf6, 0xb2, 0x6f, 0x5a, - 0x49, 0x75, 0x74, 0x44, 0x2a, 0xba, 0x0d, 0xbf, 0x46, 0x5b, 0x9c, 0x1d, 0x32, 0x20, 0x23, 0x12, - 0x15, 0x14, 0x56, 0xab, 0x83, 0xfd, 0x60, 0x90, 0x1a, 0xa8, 0x6e, 0x27, 0x08, 0x20, 0x41, 0x4e, - 0xe8, 0xad, 0x2e, 0x14, 0x06, 0x87, 0x1c, 0x8d, 0x39, 0x58, 0x72, 0xc1, 0x0b, 0x97, 0x21, 0x5f, - 0xbd, 0x2a, 0x01, 0x98, 0xf6, 0xa4, 0xc0, 0x9e, 0x07, 0x5c, 0x7e, 0xa7, 0x4c, 0xa8, 0x27, 0xdd, - 0x82, 0x5f, 0x92, 0x92, 0x43, 0x6a, 0x99, 0x1b, 0xe5, 0x08, 0xe9, 0x1a, 0xbc, 0x30, 0x01, 0x37, - 0x80, 0x96, 0xb7, 0x5b, 0x92, 0x03, 0xa8, 0x65, 0x57, 0x1d, 0xfd, 0xf5, 0x70, 0x54, 0x19, 0xa7, - 0x39, 0xb1, 0xd0, 0x1c, 0xea, 0x74, 0x5d, 0xe4, 0xa1, 0x28, 0xb2, 0xb3, 0xd3, 0x74, 0xce, 0x0f, - 0xcb, 0xc6, 0x60, 0xf3, 0x56, 0xa6, 0x8f, 0xe6, 0x28, 0x87, 0xd5, 0xf6, 0xdb, 0x1e, 0xf1, 0x16, - 0x71, 0x50, 0xdc, 0xb2, 0x60, 0x9c, 0x46, 0xba, 0x35, 0xc4, 0x0a, 0xe9, 0xe8, 0xdf, 0x2a, 0x3e, - 0xfc, 0x58, 0x25, 0xb0, 0x33, 0x0d, 0x50, 0x9f, 0xb7, 0xf9, 0x9d, 0xbe, 0xd1, 0xcd, 0xcc, 0x70, - 0x55, 0x38, 0xf6, 0x02, 0x68, 0x52, 0x01, 0x66, 0x2c, 0xdf, 0x03, 0x60, 0x28, 0x45, 0x3b, 0x36, - 0x4b, 0xf8, 0xbd, 0x95, 0x66, 0x8a, 0xda, 0xdf, 0xab, 0x4d, 0x52, 0xa9, 0xb6, 0x76, 0x99, 0x83, - 0x85, 0x1a, 0xd1, 0xb1, 0x98, 0xc7, 0x40, 0xb1, 0xcc, 0x04, 0x3f, 0x60, 0x79, 0xa6, 0x29, 0x26, - 0x23, 0x7b, 0x63, 0x4a, 0x89, 0x7d, 0x9b, 0x5e, 0xe5, 0xd6, 0x8c, 0xcc, 0x9a, 0xc5, 0x47, 0x9d, - 0xcf, 0xae, 0xe0, 0x8f, 0x66, 0x0b, 0x74, 0x40, 0xa1, 0xa5, 0xdf, 0xe2, 0x40, 0x52, 0xb5, 0xda, - 0xb6, 0xa4, 0x36, 0xbb, 0x0b, 0xfc, 0x6c, 0x05, 0x37, 0xe1, 0x2f, 0x41, 0x26, 0x28, 0xdf, 0x9b, - 0x4b, 0x6a, 0x55, 0xe5, 0x4b, 0xc1, 0xec, 0x81, 0x47, 0x9f, 0x71, 0x3f, 0xd0, 0x94, 0x21, 0x57, - 0x4b, 0x8c, 0x5f, 0x74, 0x3b, 0xf8, 0x74, 0xef, 0x3f, 0x92, 0xd3, 0x8c, 0x44, 0xc1, 0xdf, 0x6a, - 0xe7, 0x08, 0xd1, 0x56, 0xf6, 0x7e, 0x4f, 0xed, 0x37, 0x45, 0x56, 0xe3, 0xb8, 0xa2, 0x69, 0xe7, - 0x15, 0x7e, 0x28, 0xe3, 0xf8, 0xdf, 0xdd, 0x28, 0xf1, 0x1d, 0x16, 0xc6, 0xae, 0x60, 0x38, 0x98, - 0xd0, 0x00, 0xc4, 0x02, 0xcb, 0xc5, 0x1b, 0x6c, 0xe7, 0xc9, 0xda, 0x28, 0xd4, 0x2c, 0xea, 0x9d, - 0xae, 0xb9, 0x76, 0xe1, 0xfb, 0x66, 0x88, 0xf4, 0xb8, 0xf4, 0xf3, 0x63, 0x69, 0x8f, 0x28, 0xc0, - 0x59, 0x86, 0xff, 0x2b, 0xeb, 0x4a, 0x00, 0xba, 0x9e, 0xd8, 0x8e, 0x02, 0x9f, 0xdb, 0xe3, 0x43, - 0xe7, 0x91, 0xe7, 0x4a, 0x89, 0x9a, 0xb0, 0x53, 0xd1, 0x37, 0xfa, 0xd9, 0xcb, 0x0c, 0xca, 0x41, - 0xc1, 0xc8, 0xca, 0x04, 0x14, 0xa9, 0x95, 0x61, 0x9c, 0x3d, 0xde, 0xb9, 0xcf, 0xc6, 0x71, 0xfa, - 0x9c, 0xcc, 0xe6, 0x9f, 0x1c, 0x7f, 0xbd, 0xb5, 0x57, 0xee, 0xfa, 0xe8, 0x99, 0xb6, 0x10, 0xf9, - 0x9d, 0xbc, 0x38, 0x54, 0x51, 0xca, 0xab, 0x10, 0xa0, 0x57, 0xdf, 0xcc, 0x84, 0xd8, 0xd1, 0x97, - 0x81, 0xf7, 0x38, 0x55, 0xcc, 0x8e, 0x61, 0x35, 0xcf, 0xc0, 0x74, 0x52, 0x8e, 0xde, 0x3a, 0x6c, - 0x59, 0x90, 0x52, 0x6a, 0x43, 0x03, 0x40, 0x15, 0xd4, 0xc8, 0x96, 0x77, 0xcc, 0x59, 0x62, 0x3c, - 0xdb, 0x67, 0xd7, 0x20, 0xa8, 0x1c, 0x5e, 0xc4, 0x9d, 0x6e, 0x29, 0xf5, 0xc6, 0x7e, 0x1e, 0x3e, - 0x65, 0x1d, 0xe1, 0x86, 0x6b, 0xd1, 0xaf, 0xab, 0xaa, 0x76, 0x22, 0x0a, 0xe3, 0xd0, 0xa0, 0xeb, - 0xe4, 0x17, 0xb6, 0x61, 0x9f, 0xf5, 0x42, 0xde, 0xe2, 0x0b, 0xbe, 0x38, 0x59, 0xb6, 0xb9, 0x0d, - 0xe2, 0x48, 0x47, 0x4e, 0xee, 0x19, 0x98, 0x38, 0x91, 0x6e, 0x24, 0x32, 0x35, 0x9e, 0xe0, 0x02, - 0x70, 0xb7, 0xef, 0x7d, 0xe1, 0x9d, 0x04, 0x39, 0xad, 0x07, 0x40, 0x32, 0xc2, 0xca, 0xed, 0xb1, - 0xa3, 0x89, 0x8c, 0xa8, 0x01, 0x4c, 0x4a, 0x16, 0xec, 0xbb, 0xd1, 0x13, 0x3a, 0xed, 0x71, 0x89, - 0x07, 0x8d, 0xa0, 0x8d, 0x3d, 0xa4, 0x2b, 0x66, 0x00, 0xec, 0xda, 0x32, 0xf4, 0xba, 0xe8, 0x3e, - 0x4d, 0x30, 0x28, 0x05, 0xd7, 0xe9, 0x94, 0xae, 0x87, 0x63, 0x44, 0xfc, 0x6c, 0x0b, 0x78, 0x31, - 0x97, 0xab, 0xe4, 0x1f, 0x59, 0x75, 0xa2, 0x59, 0x08, 0x53, 0x79, 0x24, 0x07, 0x9d, 0x9d, 0xbf, - 0x50, 0xe5, 0x74, 0x2b, 0x12, 0x0d, 0x33, 0x4f, 0x6c, 0x66, 0x56, 0x8e, 0xdf, 0x3c, 0xf5, 0x76, - 0xbc, 0xb0, 0x70, 0x08, 0xa0, 0x8c, 0xb0, 0xf8, 0x44, 0x61, 0x0f, 0xe2, 0x76, 0xaf, 0xcb, 0xec, - 0x04, 0xc2, 0x67, 0x48, 0x9d, 0x4e, 0xe8, 0xa0, 0xcd, 0xc0, 0x7d, 0x82, 0x68, 0x49, 0xfd, 0x9f, - 0x09, 0x1c, 0xc2, 0xcd, 0x52, 0x07, 0x2d, 0x2b, 0x97, 0xe9, 0x3b, 0xe4, 0x12, 0x0f, 0x12, 0xaf, - 0x8f, 0x66, 0x70, 0x34, 0x19, 0x9c, 0xfe, 0x5d, 0xd9, 0xf1, 0xdd, 0x6e, 0x70, 0x16, 0x98, 0x12, - 0x02, 0xff, 0x7a, 0xf6, 0x01, 0xc2, 0x49, 0x90, 0xaa, 0xd2, 0xcd, 0xc0, 0xe1, 0xe5, 0x83, 0xe5, - 0xe0, 0x5d, 0xa9, 0x73, 0xfa, 0x6f, 0x20, 0x91, 0x9e, 0xf3, 0xc4, 0x03, 0xe7, 0xe0, 0x38, 0x78, - 0x19, 0x3e, 0x34, 0x21, 0x97, 0x93, 0xf9, 0x39, 0x66, 0xcc, 0x55, 0xf4, 0xd0, 0xd0, 0x17, 0x1a, - 0xa4, 0x5b, 0x8c, 0x01, 0x97, 0xac, 0xce, 0xd3, 0x5e, 0x53, 0xc2, 0x02, 0xb0, 0x4a, 0xfc, 0x62, - 0x35, 0xbf, 0xfe, 0xf1, 0x2c, 0xfd, 0x9e, 0x64, 0xec, 0x22, 0xdf, 0x83, 0x02, 0xc2, 0xc4, 0x22, - 0xbc, 0x1b, 0x17, 0x5a, 0xda, 0x42, 0x4f, 0x2f, 0xc5, 0x53, 0x1f, 0x1a, 0xf7, 0x5e, 0x91, 0x8d, - 0x88, 0xd0, 0xef, 0x10, 0x60, 0xa4, 0xdd, 0x77, 0x3d, 0x13, 0xd6, 0x24, 0xc1, 0x23, 0x0d, 0x7f, - 0x7b, 0xe1, 0x0e, 0x16, 0x29, 0x12, 0x7e, 0x9a, 0x2f, 0x71, 0xc5, 0x37, 0xa5, 0xa2, 0xa7, 0xd5, - 0xe9, 0x41, 0x9b, 0xaf, 0xe8, 0xf4, 0xea, 0xc2, 0xb4, 0xe9, 0x5f, 0x66, 0x41, 0xf8, 0x9b, 0x3f, - 0x43, 0x32, 0x70, 0x9f, 0xa0, 0x14, 0x67, 0x4e, 0xa4, 0x28, 0xb6, 0x85, 0x32, 0x03, 0x2c, 0x29, - 0xc7, 0x4f, 0xa6, 0x74, 0x94, 0x5b, 0xa8, 0x5c, 0x95, 0x1f, 0x1c, 0x5b, 0x69, 0xfc, 0x30, 0xc5, - 0x8d, 0x34, 0x7c, 0xf6, 0xd8, 0xad, 0x60, 0x14, 0x9c, 0x18, 0x2d, 0x50, 0x50, 0x4f, 0xf8, 0x0c, - 0xe6, 0xc5, 0x92, 0x7c, 0x9c, 0x38, 0xd8, 0xac, 0x44, 0x2f, 0x9f, 0x8f, 0x5a, 0x9c, 0x54, 0x66, - 0x77, 0x75, 0xb4, 0xbf, 0xf9, 0x8a, 0xda, 0x8e, 0x2a, 0xee, 0xfe, 0x8c, 0x5b, 0xef, 0x57, 0xc9, - 0x24, 0xe7, 0x19, 0x65, 0x6a, 0x02, 0x83, 0x5a, 0x76, 0x1a, 0xae, 0xbb, 0xfe, 0x90, 0xb0, 0x35, - 0x57, 0xc1, 0x28, 0x5b, 0x62, 0x7c, 0x89, 0x47, 0x2c, 0xe3, 0xa3, 0x34, 0x0b, 0x54, 0x10, 0x11, - 0x5c, 0x46, 0x26, 0x8b, 0x3b, 0xe6, 0xe0, 0x95, 0x06, 0x38, 0xea, 0x82, 0x35, 0xa2, 0x9d, 0x03, - 0x30, 0x7d, 0x95, 0x3c, 0xc4, 0xc0, 0xf5, 0x23, 0x8d, 0x92, 0x6b, 0x09, 0xa7, 0x5c, 0xc3, 0x06, - 0x6c, 0x43, 0xd8, 0x7c, 0xd7, 0x65, 0x9a, 0x7c, 0xbe, 0x8c, 0xd2, 0xec, 0x45, 0x7c, 0x25, 0xe4, - 0x0e, 0x5a, 0x07, 0xff, 0x51, 0xab, 0x5a, 0x8d, 0xa9, 0x27, 0xa5, 0x58, 0x8e, 0xd7, 0x6f, 0xed, - 0xfe, 0x9b, 0x54, 0x86, 0x37, 0xd2, 0xd8, 0xb2, 0x29, 0x6c, 0x2b, 0x4e, 0x99, 0x2c, 0x59, 0xd7, - 0x17, 0xf5, 0x23, 0x30, 0x0b, 0x9a, 0xc3, 0x67, 0xf4, 0x63, 0xfc, 0xf0, 0x35, 0x14, 0x67, 0xa4, - 0xd5, 0xa7, 0xd7, 0x9d, 0xef, 0x25, 0x2b, 0xc8, 0x1e, 0x7e, 0x44, 0x83, 0x0a, 0x7b, 0x64, 0x16, - 0xaf, 0x7e, 0x99, 0x9c, 0xc9, 0x33, 0xbc, 0x09, 0xc8, 0x5f, 0x22, 0x41, 0xfb, 0xe1, 0x0c, 0xea, - 0xfa, 0x16, 0x74, 0x6c, 0x2c, 0xb5, 0xa8, 0xa2, 0xb1, 0x41, 0x12, 0xf6, 0xe6, 0xb5, 0x68, 0x94, - 0xa6, 0x9a, 0x36, 0x30, 0x8d, 0x2f, 0x6c, 0xa1, 0x4a, 0x16, 0x4b, 0xfc, 0xa0, 0xb0, 0x94, 0x1f, - 0xfd, 0xf3, 0x18, 0xf6, 0xcf, 0xba, 0xb7, 0x4f, 0x75, 0xa0, 0x41, 0xad, 0x49, 0x3a, 0xae, 0xc1, - 0x0a, 0x52, 0x7b, 0xde, 0x8e, 0xe9, 0x10, 0xd1, 0xa9, 0xa6, 0x0e, 0x62, 0x96, 0xd1, 0x33, 0x2d, - 0xad, 0x09, 0xb2, 0x3f, 0xa3, 0x1d, 0x56, 0x9c, 0x1a, 0x6b, 0xfc, 0xd7, 0xcb, 0xbd, 0x8c, 0xe6, - 0x74, 0x72, 0x6d, 0x90, 0xda, 0x29, 0x94, 0x09, 0x0c, 0x57, 0x3d, 0xa7, 0x79, 0x4e, 0x7c, 0xfd, - 0x1a, 0x0b, 0x72, 0xce, 0x15, 0x06, 0x85, 0xbb, 0xa5, 0xc6, 0x50, 0xa7, 0x8a, 0x7e, 0x5e, 0x20, - 0xa5, 0x17, 0xcb, 0x58, 0xe4, 0x23, 0x27, 0xbb, 0x24, 0xac, 0xef, 0x04, 0x30, 0xcb, 0x8c, 0xd4, - 0x67, 0x41, 0x1a, 0xaa, 0x0e, 0x40, 0x43, 0x6f, 0x06, 0x9d, 0xb7, 0x02, 0x17, 0x6b, 0xd8, 0xd3, - 0x9c, 0x6c, 0x4b, 0xf0, 0x79, 0x14, 0x88, 0x6a, 0xc5, 0x63, 0xc9, 0x4d, 0x5a, 0x5a, 0x73, 0xd2, - 0xc4, 0x24, 0xdf, 0xe2, 0x01, 0x4e, 0x15, 0x4f, 0x75, 0x47, 0x7c, 0x94, 0x2d, 0xa5, 0x7b, 0xfc, - 0x14, 0x12, 0x93, 0xe1, 0x99, 0x56, 0x7a, 0x91, 0xfe, 0xb1, 0xe3, 0x27, 0x40, 0xd4, 0x23, 0xdf, - 0x8f, 0x1f, 0x84, 0x75, 0x0f, 0x0d, 0x58, 0x09, 0x2e, 0x5a, 0xca, 0xcc, 0x16, 0xff, 0x53, 0x51, - 0xb3, 0x0f, 0x1f, 0x52, 0x54, 0x82, 0xf0, 0xb7, 0x64, 0x40, 0x65, 0xf4, 0xea, 0xb0, 0x3e, 0x05, - 0x24, 0x82, 0xae, 0x48, 0x78, 0xc6, 0xc7, 0x4c, 0xd3, 0xbd, 0xb6, 0x67, 0x8b, 0xec, 0xc7, 0x31, - 0x04, 0xa5, 0x2b, 0xe6, 0xa3, 0xd2, 0x72, 0xe7, 0x01, 0xa2, 0x06, 0x19, 0x1b, 0xe5, 0x55, 0x4a, - 0xc4, 0xb7, 0x2e, 0x0c, 0xbf, 0xc5, 0x68, 0xe6, 0xb0, 0x27, 0x94, 0x78, 0xa0, 0xf9, 0x22, 0xd1, - 0x13, 0x91, 0x6b, 0x30, 0xbb, 0x5f, 0x15, 0x3f, 0xfb, 0xef, 0x4d, 0x0c, 0x8f, 0x9b, 0xd3, 0xea, - 0x3c, 0xca, 0xf2, 0xde, 0xe9, 0xfb, 0x86, 0xfb, 0xb5, 0x1c, 0x3b, 0x9d, 0x1b, 0x42, 0x00, 0xe5, - 0xd5, 0x00, 0xe2, 0x1a, 0x72, 0xad, 0x6f, 0x6c, 0x2d, 0x6a, 0x42, 0x9e, 0xa8, 0xae, 0x73, 0x2b, - 0x71, 0x3d, 0xb9, 0x73, 0xae, 0x41, 0x73, 0xee, 0x44, 0x97, 0xcf, 0x7d, 0xc7, 0x1c, 0x79, 0x76, - 0xa7, 0x23, 0xec, 0x2d, 0xa9, 0xfb, 0x1f, 0xfb, 0x9a, 0x98, 0x7b, 0xb6, 0x2e, 0xb0, 0x70, 0xa5, - 0x9c, 0x42, 0xd3, 0x2c, 0xe9, 0xa0, 0xe6, 0x00, 0x1d, 0x2e, 0x4d, 0x12, 0x1e, 0x3e, 0xad, 0x00, - 0x91, 0xcf, 0xc3, 0x45, 0x9a, 0x0f, 0x8f, 0xc9, 0x22, 0xc6, 0x5e, 0xa2, 0x3b, 0x89, 0xa3, 0x9c, - 0xe1, 0x3b, 0x36, 0x2b, 0x33, 0x20, 0x6b, 0x31, 0x2b, 0x91, 0x5a, 0x38, 0x95, 0xf8, 0xf6, 0x7d, - 0x51, 0xb3, 0x1a, 0xf6, 0xe8, 0x47, 0xa3, 0x10, 0xec, 0xb6, 0x71, 0xbe, 0xf4, 0x4f, 0x25, 0x67, - 0xf2, 0x88, 0xa1, 0xed, 0x72, 0x4b, 0x7a, 0xea, 0xe9, 0x8a, 0xb1, 0xdb, 0xd2, 0x6c, 0x09, 0xd3, - 0x03, 0x06, 0x00, 0xec, 0xeb, 0x9b, 0x0c, 0x7a, 0x5a, 0x3d, 0xe8, 0x88, 0x33, 0x9a, 0x1f, 0x4e, - 0x50, 0x7d, 0x5a, 0x1c, 0x2b, 0xf5, 0x1d, 0x24, 0x7b, 0x92, 0x60, 0xd3, 0xe6, 0x88, 0xcd, 0x0c, - 0x99, 0x6b, 0x51, 0xa8, 0x58, 0xd8, 0x9f, 0x0e, 0x1d, 0xa0, 0xc4, 0xd5, 0x9b, 0x8a, 0xa8, 0xe4, - 0x97, 0x11, 0xde, 0xa7, 0x03, 0x52, 0x9a, 0xcf, 0xdd, 0x86, 0x92, 0x78, 0x4b, 0x52, 0xd0, 0x7d, - 0xcf, 0x11, 0x89, 0x70, 0x1e, 0x16, 0x1c, 0x3c, 0x3d, 0x1e, 0x81, 0x97, 0x7c, 0xb2, 0x7a, 0xf1, - 0x2e, 0x07, 0xfa, 0x6d, 0x4e, 0x27, 0xa9, 0x45, 0xbc, 0xfc, 0x02, 0x68, 0x72, 0x23, 0xe0, 0xff, - 0x23, 0xd8, 0x13, 0x83, 0x6a, 0xfd, 0xf4, 0x8a, 0x25, 0x23, 0x31, 0x97, 0xee, 0x46, 0x60, 0x3a, - 0xc5, 0xb4, 0x29, 0xb0, 0x80, 0x76, 0x92, 0x60, 0xde, 0x04, 0x62, 0x18, 0x52, 0x28, 0xcb, 0x90, - 0x3c, 0x85, 0x5f, 0xea, 0xea, 0xb6, 0xc5, 0x4a, 0xc3, 0x89, 0x17, 0x22, 0x69, 0x64, 0xa0, 0xa6, - 0x2c, 0x2e, 0x5d, 0xb9, 0xd6, 0x33, 0xa9, 0x10, 0x35, 0xe4, 0x3e, 0x7e, 0xa7, 0x4a, 0x14, 0x8b, - 0x67, 0x38, 0xe2, 0x0f, 0xc0, 0x71, 0xd3, 0x40, 0x58, 0x19, 0x06, 0x92, 0xa3, 0x79, 0x0d, 0xd6, - 0xd1, 0x4d, 0xd8, 0x4c, 0x99, 0x47, 0x72, 0x78, 0xff, 0x6a, 0x71, 0xce, 0xbf, 0xf5, 0x06, 0x85, - 0xef, 0x8b, 0x15, 0x78, 0xa9, 0xba, 0x20, 0x49, 0x9f, 0xae, 0x6f, 0xbd, 0x1f, 0xd0, 0x22, 0x59, - 0x03, 0x63, 0x84, 0xa8, 0x6f, 0x1d, 0x17, 0x7b, 0xb5, 0x54, 0x69, 0x11, 0x14, 0x63, 0xe7, 0x0d, - 0xb2, 0x32, 0xe4, 0x82, 0xfd, 0xf6, 0xb0, 0x77, 0x1a, 0xb1, 0xdd, 0xd6, 0xa2, 0x0a, 0xe1, 0x8f, - 0x56, 0xb0, 0x81, 0x33, 0x3a, 0x37, 0xee, 0x6b, 0x5f, 0x19, 0x70, 0xa5, 0xc2, 0x98, 0xd6, 0x8f, - 0xf9, 0x3e, 0x56, 0x5f, 0x0b, 0x43, 0x1d, 0x75, 0x21, 0xcd, 0x9a, 0xbc, 0xbc, 0xfa, 0xff, 0x4c, - 0xe6, 0x1c, 0xe6, 0x78, 0xc3, 0xb5, 0x9b, 0x8f, 0x13, 0x0d, 0x3a, 0x5c, 0x65, 0x2b, 0xf2, 0x37, - 0x32, 0x7f, 0xe1, 0xae, 0xcb, 0xb4, 0x28, 0x30, 0xd8, 0x03, 0xbd, 0x6a, 0xb7, 0x13, 0x9a, 0xd2, - 0xfb, 0xfb, 0xa3, 0xe9, 0xa6, 0xe3, 0x96, 0x40, 0xb6, 0x6d, 0xb9, 0x6e, 0x79, 0x5d, 0xf6, 0xc5, - 0xe5, 0x30, 0xf5, 0x07, 0x5f, 0xf9, 0x1b, 0x0e, 0xe0, 0xbd, 0x11, 0x85, 0x0d, 0x0d, 0xea, 0x53, - 0x58, 0xad, 0x01, 0x83, 0x87, 0xba, 0x7a, 0x62, 0x10, 0x07, 0x56, 0x59, 0x5f, 0x91, 0x67, 0x40, - 0x52, 0x46, 0x6e, 0x3f, 0xa0, 0xcd, 0xe8, 0xf9, 0x1d, 0xbe, 0x59, 0x40, 0x98, 0xd4, 0x9b, 0xd2, - 0x11, 0x58, 0xd0, 0xfe, 0x13, 0xec, 0xe0, 0x64, 0x71, 0x0c, 0xeb, 0x54, 0xfe, 0x95, 0xe6, 0x87, - 0x82, 0x19, 0x08, 0xdb, 0x96, 0x72, 0xdd, 0xac, 0x3c, 0xd3, 0xb5, 0x0c, 0x2d, 0xb6, 0x05, 0x01, - 0x1f, 0x5b, 0xa3, 0xe9, 0xf6, 0x2e, 0x08, 0x70, 0x8a, 0xa6, 0xe1, 0xce, 0x90, 0xfc, 0x45, 0xd0, - 0xb0, 0x5e, 0xe6, 0x67, 0x23, 0x8d, 0x38, 0x1a, 0xfe, 0xfe, 0x8e, 0xa3, 0x14, 0xca, 0x9c, 0xaf, - 0xac, 0x89, 0xa8, 0x4a, 0x57, 0x1e, 0xc3, 0x59, 0x89, 0xd0, 0x2e, 0x6f, 0x9c, 0xc7, 0xf0, 0x40, - 0xea, 0x74, 0x4c, 0xbc, 0xab, 0xb0, 0x7c, 0x95, 0xdf, 0x6b, 0xba, 0x7a, 0x08, 0x8b, 0x88, 0x34, - 0x4e, 0x82, 0x88, 0x86, 0xba, 0xff, 0x4f, 0x47, 0xe3, 0x39, 0x66, 0x72, 0x29, 0xf9, 0x74, 0xef, - 0x2f, 0x8e, 0x85, 0x70, 0x8a, 0xe9, 0x56, 0x40, 0xf3, 0x8a, 0x95, 0x4d, 0x0e, 0x29, 0xe1, 0xbd, - 0x78, 0x73, 0x35, 0xfd, 0x7b, 0x93, 0x46, 0xd2, 0x37, 0xce, 0x8a, 0x72, 0x9c, 0x7f, 0x81, 0x57, - 0xe9, 0x42, 0x35, 0x05, 0xae, 0x67, 0x01, 0x3e, 0x6d, 0x47, 0x40, 0x54, 0xb8, 0x9c, 0xae, 0xfc, - 0x20, 0x4a, 0x3d, 0xfc, 0xc6, 0x01, 0x2f, 0x87, 0xfb, 0x6e, 0x4e, 0x94, 0x83, 0x2c, 0x23, 0x03, - 0xf2, 0xa6, 0xd3, 0x09, 0x3d, 0x3c, 0x96, 0x59, 0xc3, 0xf5, 0x54, 0x75, 0xf9, 0x71, 0xab, 0x3a, - 0xc7, 0x7e, 0x0e, 0x41, 0x04, 0xfd, 0x17, 0x32, 0xc7, 0xde, 0x80, 0x54, 0xbc, 0x60, 0xf3, 0x97, - 0xc2, 0x23, 0x14, 0x6b, 0x7c, 0x57, 0x05, 0xb9, 0x01, 0x7b, 0x05, 0x08, 0xa1, 0x41, 0xf1, 0xb3, - 0xee, 0xa6, 0x4d, 0x4a, 0xec, 0x17, 0x55, 0x87, 0xdb, 0x0e, 0xc1, 0xd9, 0xbe, 0x31, 0xf7, 0x1c, - 0x08, 0x2e, 0x25, 0xc2, 0x32, 0xe7, 0x4c, 0x64, 0x38, 0xed, 0x2c, 0xd1, 0xe8, 0x03, 0x4c, 0xde, - 0xda, 0x97, 0x2d, 0x3b, 0xd0, 0x16, 0xbf, 0xb0, 0xfd, 0x2c, 0x44, 0x1b, 0x08, 0x61, 0x72, 0xbd, - 0x3a, 0x00, 0x66, 0x72, 0x68, 0x28, 0x8b, 0xc7, 0xd2, 0xf2, 0x4a, 0x5f, 0xf1, 0xbe, 0x4d, 0x39, - 0xb2, 0xbc, 0x22, 0xdb, 0x20, 0x4c, 0xfe, 0x14, 0xb8, 0x35, 0xb6, 0x41, 0xea, 0x43, 0x56, 0x09, - 0x4f, 0x3f, 0x04, 0x85, 0x09, 0x20, 0xe3, 0xfa, 0x0d, 0xa8, 0xeb, 0x89, 0x6e, 0x8d, 0x26, 0x41, - 0xf1, 0x6f, 0x7e, 0xf2, 0x73, 0xcd, 0xef, 0x43, 0xeb, 0x0a, 0xd5, 0x4b, 0xcb, 0x18, 0xb1, 0x90, - 0xd4, 0xe9, 0x6d, 0xcb, 0xe0, 0x4e, 0x78, 0x72, 0xd5, 0x2c, 0x80, 0x5c, 0xd7, 0x06, 0xf4, 0xed, - 0xa6, 0xe5, 0x33, 0x94, 0xca, 0x6c, 0xe2, 0x61, 0x31, 0x2e, 0x5a, 0xfe, 0xb3, 0x2d, 0x0a, 0x16, - 0xd7, 0xd8, 0xde, 0x25, 0x5e, 0x1b, 0xef, 0x12, 0x6b, 0x4b, 0x16, 0x7d, 0xe7, 0x11, 0x0f, 0xfb, - 0x82, 0xc9, 0x49, 0x62, 0x18, 0x48, 0xf0, 0x25, 0xac, 0x71, 0x57, 0xab, 0xb3, 0xf2, 0xe9, 0x5c, - 0x92, 0xac, 0xbc, 0x89, 0x37, 0xc9, 0x80, 0xfa, 0xc0, 0xc8, 0xeb, 0x9b, 0xb9, 0x4c, 0x91, 0x97, - 0x3d, 0xe9, 0xbe, 0x14, 0x84, 0x8c, 0x9e, 0xa8, 0x16, 0x0c, 0xdb, 0xf1, 0x56, 0x6b, 0x85, 0xbd, - 0x3f, 0xb4, 0xa4, 0xc7, 0x37, 0x7c, 0xc2, 0x69, 0x1b, 0x6d, 0xde, 0x78, 0x62, 0x4d, 0xbf, 0xe9, - 0xd2, 0x43, 0xb5, 0x01, 0xcf, 0x90, 0x78, 0xe7, 0xb4, 0x13, 0x8d, 0x4c, 0x5d, 0x43, 0x6d, 0x4a, - 0x3d, 0x24, 0xa7, 0x23, 0x73, 0x0b, 0xc7, 0xdd, 0x66, 0x20, 0xcd, 0x63, 0x74, 0xd4, 0xde, 0x6a, - 0xb1, 0xfe, 0x43, 0x30, 0xd3, 0x39, 0xcf, 0x2f, 0x21, 0xaa, 0xe8, 0xe8, 0xf0, 0x13, 0xf6, 0x13, - 0x21, 0x37, 0x36, 0x6e, 0x4f, 0x4f, 0xc0, 0xb0, 0x52, 0xdc, 0xdd, 0xf0, 0xb0, 0xfd, 0xac, 0x41, - 0xf9, 0xa1, 0x17, 0xc6, 0x0b, 0x58, 0x50, 0x2b, 0x71, 0x1e, 0xe0, 0xec, 0x6e, 0x67, 0xfa, 0xca, - 0x1a, 0x3d, 0xb5, 0x07, 0x93, 0x8e, 0x6c, 0xbc, 0x43, 0xbb, 0x19, 0x19, 0x42, 0x98, 0xd5, 0x5f, - 0xc2, 0xca, 0x47, 0xad, 0x60, 0xb3, 0x1f, 0x84, 0x9e, 0xb1, 0x8f, 0x07, 0xd7, 0x3a, 0x6e, 0x73, - 0x7c, 0xfe, 0x85, 0x47, 0xbf, 0x4a, 0x2f, 0xdd, 0xb9, 0xe6, 0x40, 0xed, 0xfd, 0x52, 0x98, 0x4e, - 0x93, 0xf0, 0xdf, 0x10, 0xb7, 0xd3, 0x49, 0x85, 0x9a, 0x1b, 0xc2, 0x8a, 0x69, 0xb1, 0x85, 0xf2, - 0x7c, 0xc6, 0x80, 0xbf, 0x53, 0x32, 0x14, 0xaa, 0xde, 0x04, 0x1a, 0x80, 0xf3, 0x7c, 0xbe, 0xf3, - 0x47, 0x89, 0x16, 0xea, 0xce, 0x98, 0x92, 0xf7, 0xb8, 0xec, 0xf4, 0xe4, 0x59, 0xbe, 0x3b, 0x59, - 0x83, 0x92, 0x47, 0x10, 0x53, 0x63, 0xee, 0xc3, 0x35, 0x58, 0x6e, 0x64, 0x1f, 0x88, 0xa5, 0x3a, - 0x26, 0xac, 0xda, 0x3a, 0xc7, 0xe1, 0xe9, 0x06, 0x4c, 0x90, 0xee, 0x43, 0xf7, 0xcf, 0x31, 0xe7, - 0x6d, 0x0f, 0xcc, 0x31, 0x70, 0x3e, 0x35, 0x91, 0xbd, 0xf7, 0xd7, 0x0d, 0xca, 0xf1, 0xe3, 0x3b, - 0x1f, 0x5c, 0x83, 0xc8, 0x5d, 0x8b, 0x0c, 0x62, 0xe5, 0x26, 0x0b, 0x71, 0xce, 0x3b, 0xd1, 0x5f, - 0x5f, 0x3e, 0xde, 0x9e, 0xa3, 0x8d, 0x52, 0xd0, 0x19, 0x99, 0x36, 0x1a, 0x4d, 0xe7, 0xb4, 0xe0, - 0x8f, 0xbd, 0xe6, 0x81, 0x36, 0xad, 0x6f, 0x6f, 0xbc, 0x2a, 0x1d, 0x8e, 0xd9, 0x7d, 0x66, 0xa4, - 0xcb, 0x42, 0x19, 0x8f, 0x22, 0x0c, 0x57, 0x4f, 0xb4, 0xde, 0x99, 0xed, 0xf2, 0x3c, 0xa9, 0x5e, - 0x14, 0x04, 0x82, 0x13, 0xfe, 0xc3, 0xe2, 0x33, 0x95, 0xeb, 0xa2, 0x27, 0xbe, 0x58, 0xf4, 0x81, - 0x83, 0x40, 0x8e, 0xb7, 0x2c, 0x21, 0x83, 0xb8, 0x82, 0xe1, 0x6e, 0xd2, 0xf3, 0xba, 0xd8, 0x43, - 0xc6, 0x38, 0xc2, 0xc1, 0x2d, 0x3e, 0xa6, 0x4b, 0x4d, 0x3d, 0xb0, 0xd6, 0x7f, 0x78, 0xc6, 0xc9, - 0xc9, 0x0a, 0xf9, 0xe3, 0x4c, 0x89, 0x63, 0x96, 0xce, 0xb3, 0xee, 0x34, 0x39, 0xca, 0x15, 0x09, - 0x96, 0xfb, 0x0e, 0x50, 0xd7, 0xd6, 0xf4, 0xef, 0xd2, 0x43, 0x53, 0xf1, 0x5a, 0x2f, 0x21, 0x95, - 0x92, 0xc6, 0x98, 0x67, 0xb5, 0x26, 0xe5, 0x24, 0xfb, 0x8a, 0x7a, 0x9e, 0x8b, 0xbf, 0x05, 0x0c, - 0xb6, 0x59, 0x2f, 0x8c, 0x0c, 0x50, 0xf1, 0xe0, 0x05, 0xdc, 0xe2, 0x4a, 0x8c, 0x3a, 0x29, 0x5d, - 0x4c, 0x4b, 0x1b, 0x63, 0x44, 0xdb, 0x1b, 0x81, 0x4d, 0x92, 0x8a, 0xce, 0x8a, 0x01, 0x35, 0xf8, - 0x57, 0x59, 0x78, 0xde, 0xd1, 0x20, 0x31, 0x41, 0x40, 0x4d, 0x98, 0x02, 0xb6, 0x61, 0x62, 0xca, - 0x06, 0x4b, 0xa5, 0x6d, 0x05, 0xdf, 0x58, 0x53, 0x88, 0xee, 0xe5, 0xec, 0x0f, 0x72, 0x83, 0x3b, - 0x72, 0x79, 0x1a, 0x89, 0x71, 0x35, 0x0e, 0xbd, 0x91, 0x67, 0x2f, 0x61, 0x10, 0xfb, 0x5f, 0x24, - 0x97, 0xf9, 0xb3, 0x91, 0xb7, 0xb7, 0x84, 0xd6, 0x65, 0x09, 0x11, 0xf9, 0xa4, 0x53, 0x76, 0x61, - 0x9e, 0x38, 0x7d, 0xf9, 0xdf, 0xa0, 0x4a, 0x8f, 0x76, 0x98, 0xf9, 0xd3, 0xc8, 0x48, 0x02, 0xe2, - 0x86, 0x68, 0x8e, 0xec, 0xea, 0x24, 0xe2, 0x05, 0xf0, 0xe8, 0xd6, 0xf2, 0x47, 0x40, 0x44, 0xa9, - 0x4a, 0xe6, 0xdd, 0x7e, 0xcd, 0x1a, 0x07, 0x62, 0xee, 0xfc, 0x9c, 0xf4, 0xdd, 0xb5, 0xf5, 0x99, - 0x09, 0xac, 0xf7, 0xc2, 0xa4, 0xff, 0x91, 0xac, 0x87, 0xf0, 0x60, 0x92, 0x10, 0xf8, 0x27, 0xb7, - 0x36, 0x6c, 0x0f, 0x21, 0x9e, 0xf5, 0x3b, 0xfb, 0xa9, 0x48, 0xb8, 0xd7, 0x92, 0x4f, 0x6d, 0xf4, - 0xe8, 0x27, 0x4b, 0xc1, 0x6d, 0x86, 0x43, 0x54, 0x31, 0x53, 0xef, 0xbc, 0x3a, 0xd8, 0xfb, 0xbb, - 0x1b, 0xed, 0x09, 0x34, 0x7d, 0xc9, 0x70, 0x72, 0xa7, 0x66, 0xe1, 0x34, 0x25, 0xd6, 0x7f, 0x41, - 0xcf, 0xb9, 0x58, 0xfe, 0x0f, 0x09, 0x41, 0x30, 0xbb, 0x0a, 0xac, 0x1d, 0x2c, 0xdf, 0xf4, 0x41, - 0xf2, 0xbc, 0x92, 0x68, 0xcd, 0x57, 0x6c, 0x12, 0x90, 0x1f, 0x3d, 0xdd, 0x93, 0xf4, 0xd4, 0x58, - 0x9e, 0x07, 0x1a, 0x87, 0x02, 0x2b, 0x36, 0xed, 0x4d, 0x9d, 0xc8, 0x9a, 0xbe, 0x9b, 0xc4, 0x6a, - 0x71, 0xa2, 0xbb, 0x3a, 0x7a, 0x8b, 0x7f, 0xd6, 0x6c, 0x53, 0xef, 0xec, 0xb1, 0x9e, 0xdd, 0x6a, - 0x13, 0x7e, 0xf1, 0xf6, 0xbb, 0x33, 0xe1, 0x75, 0x4a, 0x5a, 0x2a, 0xf4, 0xff, 0x40, 0xca, 0x9a, - 0x6d, 0xed, 0xb7, 0x57, 0xe4, 0x78, 0x6b, 0xfa, 0xda, 0x07, 0xde, 0x97, 0xac, 0x2f, 0xcf, 0x34, - 0x89, 0x58, 0xd2, 0x95, 0x29, 0x77, 0x52, 0x2f, 0x6d, 0x83, 0x9f, 0xd4, 0xfd, 0x0f, 0x2a, 0x8a, - 0x89, 0x71, 0x51, 0x41, 0xa9, 0xf6, 0x1c, 0x08, 0xd3, 0x84, 0x04, 0x71, 0xfa, 0xff, 0x20, 0x86, - 0x50, 0x5a, 0x39, 0xbc, 0xe0, 0x03, 0xe2, 0x9e, 0x75, 0xca, 0x2d, 0xa3, 0xec, 0x54, 0xbe, 0x51, - 0x0a, 0xc0, 0xa5, 0xb2, 0xb5, 0x18, 0xd7, 0x06, 0xda, 0x05, 0x12, 0x2a, 0xf6, 0x6d, 0x1e, 0x0d, - 0x57, 0xed, 0x37, 0x9a, 0xed, 0x2a, 0xb3, 0xa6, 0xcd, 0x9f, 0x8b, 0x68, 0x02, 0x3b, 0x93, 0x86, - 0xf1, 0xc2, 0x7f, 0xfa, 0x5e, 0x1e, 0x7f, 0xda, 0xc5, 0xa9, 0x30, 0xda, 0x15, 0x07, 0x34, 0xe2, - 0x2b, 0xff, 0x16, 0x42, 0x6b, 0xee, 0x57, 0x67, 0x0b, 0xc2, 0xc7, 0xe9, 0x1d, 0x4d, 0x21, 0x13, - 0xf0, 0x49, 0x5b, 0xf8, 0xd4, 0xff, 0x8d, 0x0c, 0xc4, 0x99, 0x21, 0xc0, 0xb0, 0x16, 0x87, 0x94, - 0xef, 0xc4, 0x44, 0xdc, 0x70, 0x9b, 0x24, 0x88, 0xaf, 0x33, 0xa0, 0x8d, 0x3e, 0x9a, 0xeb, 0xbe, - 0x8d, 0x2b, 0x24, 0xe6, 0x62, 0xf7, 0x86, 0x87, 0x89, 0x8d, 0x98, 0x71, 0x35, 0x41, 0x61, 0x10, - 0xda, 0xe3, 0x1d, 0x55, 0x05, 0x7c, 0xef, 0xc1, 0x80, 0xeb, 0x1f, 0x4d, 0x2c, 0xc6, 0xb6, 0x9c, - 0x56, 0xc4, 0xb0, 0x4f, 0xe1, 0x0c, 0x71, 0x45, 0xa9, 0x04, 0x5c, 0x8e, 0x8e, 0x91, 0xe8, 0xd5, - 0x5c, 0xef, 0x44, 0x68, 0x37, 0x1a, 0x09, 0xcc, 0x4b, 0xe2, 0x2b, 0xaf, 0xab, 0xe6, 0xce, 0x5b, - 0xdd, 0x82, 0x9f, 0x55, 0x3a, 0xe5, 0xbe, 0x7f, 0x6f, 0x9c, 0x73, 0xd9, 0x35, 0xe3, 0x98, 0xd3, - 0x27, 0xb4, 0x28, 0xb0, 0xe7, 0xb9, 0xaf, 0xe5, 0x33, 0x27, 0x27, 0x37, 0xa2, 0x4e, 0xd9, 0x9c, - 0x19, 0x97, 0xb7, 0x94, 0xb7, 0xd3, 0x6f, 0x6c, 0x3a, 0xfe, 0x27, 0x0c, 0x78, 0x54, 0x35, 0x1e, - 0xdc, 0x39, 0x26, 0x26, 0x43, 0x32, 0x0b, 0xf1, 0x68, 0x1a, 0x4a, 0x13, 0x3b, 0xed, 0x66, 0xcd, - 0xfe, 0xc6, 0x84, 0x12, 0xa2, 0x98, 0xe1, 0x43, 0x93, 0x73, 0x8a, 0xa3, 0x2c, 0x8f, 0x7a, 0x5f, - 0x37, 0xe9, 0x4d, 0x60, 0x1c, 0x46, 0xf0, 0x94, 0x41, 0xc0, 0xed, 0xbf, 0xf3, 0x07, 0x9b, 0x11, - 0x32, 0x0e, 0x9f, 0x43, 0xe1, 0xc3, 0x44, 0x5c, 0xbf, 0x32, 0xe7, 0x14, 0x8e, 0xf3, 0x69, 0x1d, - 0x57, 0xa1, 0x8e, 0x6a, 0x7b, 0xd8, 0xf6, 0x7c, 0x61, 0x80, 0x44, 0x6d, 0x29, 0xdf, 0xa9, 0x81, - 0xa2, 0x1a, 0x25, 0xba, 0x16, 0x3b, 0x92, 0xc2, 0x62, 0xde, 0x93, 0x1b, 0xc3, 0xa8, 0xc1, 0x4e, - 0x26, 0xbf, 0x89, 0x63, 0x50, 0xeb, 0xc0, 0x11, 0xd0, 0x75, 0xeb, 0xb7, 0xd1, 0xff, 0xa7, 0xbe, - 0xab, 0x54, 0x5a, 0xc7, 0x39, 0x7b, 0xe2, 0xed, 0x48, 0xcd, 0xb0, 0x54, 0xd0, 0xce, 0x68, 0xdf, - 0x37, 0xb8, 0x21, 0x1b, 0xda, 0x7a, 0x07, 0xb5, 0x95, 0x25, 0xff, 0xd5, 0x78, 0xf1, 0x98, 0x6e, - 0x37, 0x5f, 0x56, 0xf4, 0x49, 0xe7, 0x42, 0x82, 0xd4, 0xf4, 0xcb, 0x8e, 0x41, 0x90, 0xca, 0x71, - 0x9c, 0x08, 0x86, 0x63, 0x69, 0xba, 0xf9, 0xba, 0xb5, 0x68, 0xb6, 0xf0, 0xfa, 0x77, 0x41, 0xd6, - 0x23, 0x01, 0xfd, 0x8e, 0x3f, 0x36, 0x2d, 0x35, 0xe8, 0xa0, 0xc9, 0xf8, 0x8a, 0xe1, 0x15, 0xcb, - 0xee, 0x87, 0x25, 0x61, 0x0d, 0xb1, 0xda, 0x2d, 0x9f, 0xe2, 0x20, 0xd3, 0xa9, 0xb6, 0x97, 0x29, - 0xd4, 0x06, 0x09, 0x7f, 0x9a, 0x63, 0xb1, 0x09, 0x08, 0x12, 0x9b, 0x67, 0x40, 0x6c, 0x6c, 0xe9, - 0x54, 0x1b, 0x89, 0x5e, 0x7c, 0xfa, 0x1a, 0x32, 0xd1, 0x15, 0x4f, 0xf4, 0x96, 0xdf, 0xe2, 0xc7, - 0x3e, 0xb5, 0x68, 0x06, 0xe0, 0x0e, 0xeb, 0xae, 0x51, 0x6a, 0x96, 0x47, 0x2f, 0xb0, 0xac, 0x2a, - 0x63, 0x42, 0xb4, 0xd9, 0xb2, 0xc4, 0x58, 0xa0, 0xab, 0x6b, 0xa5, 0x6b, 0xd7, 0xaa, 0xfd, 0xed, - 0x21, 0x28, 0x36, 0xd7, 0xbb, 0x34, 0x0e, 0xbe, 0x5a, 0x2e, 0x59, 0x92, 0xd6, 0xde, 0x48, 0xed, - 0xec, 0x53, 0x62, 0xb8, 0x94, 0xfa, 0x7d, 0xe8, 0xe0, 0xeb, 0x94, 0xef, 0x65, 0x9a, 0x1e, 0x58, - 0xb8, 0xaf, 0x02, 0x81, 0x40, 0x34, 0x27, 0xc3, 0xe9, 0xcf, 0x13, 0xa1, 0x45, 0x85, 0x19, 0xa7, - 0x72, 0x52, 0xd6, 0x38, 0xc1, 0xa4, 0xdc, 0x35, 0x53, 0xd3, 0x00, 0x21, 0xea, 0x5e, 0xa0, 0x51, - 0x08, 0x23, 0x16, 0xd5, 0xc9, 0xad, 0x8a, 0xab, 0x07, 0xa1, 0x9c, 0xab, 0x47, 0x98, 0x54, 0x2c, - 0xde, 0x3c, 0x13, 0x8b, 0xda, 0x31, 0x76, 0xe7, 0x7d, 0xe1, 0x4d, 0x03, 0xb4, 0xc5, 0x3a, 0x04, - 0x95, 0x6d, 0x3e, 0xe9, 0xa3, 0x5a, 0x67, 0x05, 0x7d, 0xa2, 0x5e, 0x23, 0xd2, 0x14, 0x1b, 0x8d, - 0x90, 0x86, 0x24, 0x76, 0xfd, 0x0e, 0xc3, 0xca, 0xe5, 0x5d, 0xd3, 0xac, 0x01, 0xa6, 0xe4, 0x93, - 0x15, 0xda, 0x47, 0xde, 0x62, 0xdc, 0xed, 0xa7, 0x55, 0x3a, 0xf5, 0x80, 0x35, 0x93, 0x99, 0xee, - 0x6a, 0x87, 0x9e, 0x6c, 0xa0, 0x79, 0x9f, 0xcd, 0x1b, 0xff, 0x02, 0xe3, 0x58, 0x60, 0x6d, 0x19, - 0x95, 0xd4, 0xbb, 0xa1, 0xd1, 0xff, 0x89, 0xce, 0xe5, 0x3d, 0x61, 0x79, 0x73, 0xbd, 0x4a, 0x7a, - 0x15, 0x11, 0x83, 0x72, 0xec, 0x4d, 0xb2, 0xfa, 0xa8, 0xdd, 0x86, 0x78, 0xb7, 0x61, 0x01, 0x68, - 0xff, 0xe2, 0x4c, 0xa9, 0x62, 0x1b, 0x7e, 0x7e, 0xc9, 0x5e, 0xad, 0xc5, 0x38, 0x01, 0x98, 0x5c, - 0x9e, 0x2d, 0x30, 0x72, 0xca, 0x35, 0xc4, 0xdc, 0xe1, 0xff, 0x2c, 0x24, 0x52, 0xdd, 0xd7, 0x8a, - 0xb0, 0x6c, 0x14, 0x1d, 0x84, 0x97, 0x54, 0xa4, 0xe4, 0x6a, 0x0a, 0xc9, 0xf2, 0x49, 0xa8, 0xf4, - 0xff, 0xe0, 0xb5, 0x4e, 0xcb, 0xec, 0x6f, 0x51, 0xca, 0x13, 0x24, 0x94, 0x59, 0xaf, 0x2c, 0xba, - 0xd6, 0xb8, 0xe1, 0xea, 0x45, 0xcd, 0x75, 0xae, 0x6c, 0x2f, 0xd2, 0x4d, 0x21, 0x66, 0x59, 0x51, - 0x8c, 0xe9, 0xef, 0x5a, 0x8b, 0x56, 0x32, 0x18, 0xfd, 0xe0, 0xc3, 0xde, 0x33, 0x5c, 0x2e, 0xaa, - 0xe9, 0x59, 0x2d, 0xa1, 0x5e, 0x1d, 0x52, 0xe1, 0x71, 0x75, 0x8c, 0xe2, 0x04, 0xce, 0x3e, 0xd2, - 0x6a, 0x0d, 0x35, 0x56, 0x66, 0xc1, 0x60, 0x40, 0x1e, 0x22, 0x0c, 0x00, 0x5b, 0xed, 0xa3, 0x77, - 0x86, 0xe3, 0xd8, 0xb0, 0x84, 0xc7, 0xc4, 0x35, 0x61, 0xe0, 0x2d, 0x72, 0xd7, 0x10, 0xe3, 0xa7, - 0x27, 0x3e, 0xbe, 0x75, 0x3c, 0x21, 0x80, 0xcd, 0xf4, 0xff, 0xf6, 0x7d, 0x08, 0x08, 0x20, 0xf6, - 0xa4, 0x41, 0xe5, 0x55, 0x27, 0xab, 0xbd, 0x4a, 0xbe, 0x30, 0xde, 0x7b, 0x5f, 0xca, 0xba, 0x22, - 0xc0, 0x29, 0xfb, 0xfc, 0x94, 0xd1, 0xb9, 0x8c, 0xce, 0xff, 0xc6, 0x60, 0xe4, 0x4b, 0x8d, 0xec, - 0x11, 0xef, 0x19, 0xef, 0xff, 0xb7, 0x5e, 0x3c, 0x33, 0x28, 0x0a, 0x32, 0x3d, 0x15, 0x36, 0x47, - 0xd3, 0x50, 0xff, 0xcb, 0x7f, 0x6b, 0x28, 0xf9, 0x4f, 0x44, 0x8a, 0xb2, 0x24, 0x38, 0xf7, 0x8b, - 0x67, 0x91, 0x9d, 0x49, 0xd9, 0xfa, 0x4d, 0x96, 0xc6, 0xc8, 0x94, 0xcf, 0xb4, 0x72, 0x3f, 0x89, - 0xbd, 0xc0, 0x1d, 0xff, 0x06, 0xed, 0x86, 0x3b, 0xcb, 0x7e, 0x62, 0x02, 0xee, 0x7f, 0x40, 0x57, - 0x02, 0xc6, 0x03, 0x5f, 0x34, 0x68, 0xef, 0x83, 0x1d, 0x2a, 0xbd, 0x17, 0xfc, 0x2f, 0xb2, 0x63, - 0x4f, 0x37, 0x99, 0x40, 0x2e, 0x6d, 0x6b, 0x67, 0x77, 0x58, 0x35, 0x84, 0x0e, 0x9a, 0xd1, 0x15, - 0xbf, 0xdf, 0xa5, 0x35, 0x2f, 0x24, 0xcd, 0x8b, 0x4b, 0xb7, 0x5d, 0x7e, 0x97, 0xd8, 0xbc, 0x35, - 0x27, 0xd2, 0xc8, 0x89, 0x2d, 0x81, 0x8a, 0x26, 0x26, 0x28, 0x83, 0x21, 0x40, 0x26, 0x4f, 0x50, - 0x9f, 0xe0, 0xa3, 0x22, 0x2c, 0x2a, 0x16, 0x25, 0xfe, 0x84, 0xbd, 0x42, 0x1c, 0xc0, 0x3e, 0xd6, - 0xe9, 0xbe, 0x71, 0x76, 0xe0, 0x86, 0x84, 0x01, 0x3b, 0xfd, 0xf9, 0xb6, 0x22, 0x84, 0x12, 0x11, - 0x6b, 0x11, 0x29, 0x13, 0xc4, 0x37, 0x4a, 0x98, 0x9a, 0xe7, 0x67, 0x7d, 0x31, 0x0a, 0x49, 0x2d, - 0x62, 0x6d, 0xa9, 0x32, 0xc2, 0x69, 0x50, 0xef, 0xe3, 0x0f, 0x87, 0x61, 0x2a, 0x65, 0xcf, 0x38, - 0xbc, 0x73, 0x59, 0xf2, 0x82, 0xe8, 0x00, 0xd4, 0x62, 0xbe, 0x65, 0xaf, 0x52, 0x81, 0xfd, 0xc7, - 0xd2, 0xe0, 0x74, 0x1c, 0xc9, 0x6f, 0x54, 0x96, 0xfc, 0x15, 0x31, 0x14, 0x3e, 0x68, 0xd1, 0x31, - 0x46, 0xdf, 0xda, 0xc5, 0x53, 0xb6, 0x5f, 0x44, 0x55, 0x69, 0x96, 0x0b, 0xe5, 0xf0, 0x05, 0xbb, - 0xd7, 0x71, 0x7a, 0xd2, 0x56, 0x5e, 0x25, 0xed, 0x8b, 0xa9, 0x52, 0x9a, 0x9e, 0xe9, 0xd0, 0x2d, - 0x14, 0x5b, 0x07, 0x7c, 0xaa, 0x48, 0xac, 0xf9, 0x7c, 0x2d, 0x25, 0x4e, 0xe1, 0x1d, 0xb0, 0x6d, - 0xd6, 0x29, 0x40, 0x8e, 0x3d, 0xe5, 0x4e, 0x38, 0x6e, 0xac, 0xfe, 0x2f, 0xee, 0x53, 0xab, 0x90, - 0xf6, 0x3b, 0x55, 0x51, 0x5d, 0x4a, 0x6e, 0x63, 0xa9, 0xaf, 0x28, 0xc2, 0x08, 0x24, 0xed, 0x68, - 0x49, 0xed, 0x45, 0x12, 0x5d, 0x0c, 0x6f, 0xff, 0x3a, 0xe4, 0xf6, 0x1a, 0x81, 0x97, 0xcf, 0xf9, - 0xdf, 0x57, 0x5d, 0xef, 0xc1, 0x20, 0xff, 0xfe, 0x13, 0xa5, 0xe3, 0xf2, 0xc3, 0x4e, 0x52, 0xb2, - 0xdf, 0x40, 0xa4, 0x78, 0x81, 0x72, 0xa7, 0x06, 0x92, 0xe7, 0xa3, 0x00, 0xe2, 0x2e, 0xca, 0x86, - 0xa1, 0x72, 0x5c, 0x1b, 0x5a, 0xc4, 0xf5, 0x2c, 0x7a, 0xd6, 0x35, 0xbf, 0x4d, 0x67, 0xba, 0x23, - 0xc5, 0x29, 0x63, 0xae, 0x5d, 0x5b, 0x82, 0x4c, 0xb1, 0x02, 0x81, 0x0f, 0x16, 0x0e, 0x1d, 0x2a, - 0x47, 0xb7, 0xa3, 0x9c, 0x64, 0xe1, 0xf3, 0x68, 0x73, 0xa8, 0x56, 0xb8, 0x41, 0x39, 0x40, 0xd8, - 0x01, 0x9b, 0xe1, 0x10, 0xbf, 0x0f, 0x1e, 0x44, 0x5c, 0xc4, 0x64, 0x31, 0x92, 0x9b, 0x49, 0x13, - 0xbe, 0xc8, 0xe7, 0x8c, 0x22, 0x43, 0x45, 0x67, 0x72, 0x73, 0xfd, 0x36, 0x29, 0x8a, 0x28, 0xec, - 0xe4, 0xc6, 0x7f, 0x7c, 0x7b, 0x11, 0x61, 0x0f, 0xf0, 0x83, 0xbe, 0xd0, 0x5b, 0x48, 0xfe, 0xae, - 0x36, 0xc3, 0xe8, 0x43, 0xb5, 0xe8, 0xae, 0x8e, 0x53, 0x5e, 0x69, 0x94, 0x22, 0xad, 0xa6, 0xf9, - 0x8f, 0x16, 0x04, 0x58, 0x81, 0x85, 0x1d, 0x64, 0xa2, 0x3a, 0x52, 0x93, 0x09, 0x2f, 0x30, 0x1a, - 0xf2, 0x5c, 0x7b, 0xea, 0x1f, 0x42, 0x18, 0xf0, 0xb1, 0xcc, 0x49, 0x51, 0x24, 0x0b, 0x8d, 0x31, - 0x96, 0x10, 0x7e, 0xc5, 0x1c, 0xbb, 0x85, 0x44, 0xec, 0x21, 0x66, 0x9e, 0x37, 0xbf, 0x1f, 0x45, - 0x79, 0xf4, 0x10, 0x5a, 0x91, 0x2c, 0x66, 0x78, 0x55, 0x56, 0x52, 0xd1, 0x20, 0x35, 0xf0, 0xfd, - 0x28, 0x63, 0x0a, 0xe0, 0x72, 0x25, 0x36, 0x0e, 0x15, 0xf0, 0x31, 0x62, 0x26, 0x0b, 0xc4, 0x40, - 0x7f, 0xac, 0x84, 0xaa, 0xc0, 0x9c, 0xf8, 0xdd, 0x4b, 0xdd, 0xf0, 0x7a, 0xc7, 0x7b, 0x07, 0x86, - 0x60, 0xbc, 0x42, 0x3a, 0xab, 0xe9, 0x32, 0xe7, 0xf4, 0x8b, 0x8f, 0xa5, 0xa6, 0x26, 0x4e, 0x03, - 0xaf, 0x6b, 0x05, 0x35, 0x29, 0x28, 0x40, 0x74, 0x93, 0xdc, 0x30, 0x15, 0x53, 0x00, 0x7d, 0x28, - 0x9e, 0x3b, 0xb5, 0x24, 0x70, 0x9f, 0xff, 0xe3, 0xdc, 0xff, 0x41, 0xe5, 0x94, 0xcf, 0xd1, 0x08, - 0x65, 0xe5, 0x64, 0x28, 0xcb, 0xc3, 0x2d, 0x9a, 0x80, 0xdd, 0x15, 0x9f, 0x79, 0x01, 0xb5, 0x43, - 0x82, 0x8c, 0x57, 0x46, 0x04, 0x84, 0xd6, 0xce, 0xc4, 0x63, 0x14, 0xed, 0x2c, 0x86, 0x6b, 0x47, - 0x04, 0xcd, 0x77, 0x4e, 0xc3, 0x1f, 0x3f, 0x15, 0x31, 0x71, 0x6a, 0xb0, 0xb4, 0x48, 0x24, 0xff, - 0xb9, 0x51, 0xec, 0xd5, 0x2a, 0xa6, 0xf4, 0x14, 0x52, 0x34, 0x77, 0x1e, 0x0d, 0x11, 0xf2, 0xf9, - 0x48, 0x87, 0x36, 0xcb, 0x7e, 0x90, 0xee, 0xab, 0xf2, 0x50, 0xfc, 0x35, 0x2a, 0xe4, 0x57, 0xc1, - 0x95, 0x67, 0xac, 0xa4, 0xb6, 0x00, 0x56, 0xf7, 0x79, 0xd1, 0xce, 0x22, 0x4a, 0x1f, 0x34, 0x11, - 0x00, 0xbd, 0x9b, 0x51, 0xe9, 0x7d, 0x28, 0xc4, 0x0a, 0x30, 0x9b, 0x05, 0x9c, 0xd3, 0x27, 0xc7, - 0x84, 0xc4, 0x9c, 0x47, 0x8e, 0xf1, 0x59, 0xdd, 0x69, 0x42, 0x64, 0x1c, 0xee, 0xb0, 0x3e, 0x84, - 0xda, 0x7a, 0x15, 0x8d, 0xc8, 0x2a, 0x29, 0x4b, 0x27, 0x0b, 0x6f, 0x5a, 0xd9, 0x81, 0x0c, 0x71, - 0x31, 0xf4, 0xec, 0xfd, 0x39, 0x4f, 0xe2, 0x89, 0x0d, 0xb0, 0x0b, 0x05, 0x5f, 0xca, 0x99, 0xe3, - 0x1b, 0x2e, 0xab, 0xc1, 0xd0, 0x5b, 0x6a, 0x11, 0x49, 0xa5, 0xdd, 0x9f, 0xb5, 0x8d, 0xd6, 0x9a, - 0x8b, 0x0f, 0xf3, 0xb7, 0xfd, 0x9b, 0x1c, 0x20, 0xbc, 0xb5, 0x7e, 0xf8, 0xd7, 0x86, 0xac, 0x55, - 0xbb, 0x4c, 0x3b, 0x9b, 0x54, 0xf3, 0xd9, 0xfa, 0xfd, 0x61, 0x24, 0x26, 0xd7, 0x69, 0xaa, 0x61, - 0x6a, 0xac, 0xdd, 0x7b, 0xbf, 0x42, 0x51, 0x25, 0x6b, 0xc4, 0x9a, 0xd3, 0x07, 0xd3, 0x50, 0x91, - 0x9e, 0x11, 0xb2, 0x17, 0x35, 0xc6, 0x1c, 0xd4, 0xed, 0xa0, 0xaa, 0xe8, 0xec, 0xc6, 0x5c, 0xa7, - 0x9f, 0x82, 0x83, 0x6c, 0x51, 0x23, 0x9d, 0x5b, 0x9f, 0x4d, 0x01, 0x72, 0xf4, 0x73, 0x57, 0xbb, - 0x24, 0xa5, 0x97, 0x0c, 0x38, 0x17, 0x71, 0x07, 0x74, 0xb6, 0x59, 0xfc, 0xda, 0xe1, 0x9b, 0x1b, - 0x0d, 0x18, 0x57, 0x9c, 0x4d, 0x11, 0xf8, 0x4d, 0x93, 0x06, 0xf2, 0xbe, 0x2c, 0x33, 0x6b, 0x07, - 0x1e, 0x1e, 0xdc, 0x54, 0x5e, 0xa8, 0x95, 0x97, 0x70, 0x77, 0xea, 0x52, 0xc4, 0xef, 0x0f, 0x79, - 0x3b, 0x92, 0x78, 0x98, 0x7d, 0x14, 0x77, 0x86, 0xe1, 0x9e, 0x80, 0x55, 0x29, 0xdc, 0xfc, 0xbe, - 0x77, 0xb9, 0x1b, 0xb1, 0xb9, 0x10, 0x08, 0x6d, 0xcd, 0xea, 0x3b, 0xb8, 0x1b, 0xbc, 0x41, 0xf2, - 0x72, 0xff, 0x3e, 0xb8, 0x95, 0x32, 0x35, 0x49, 0x2a, 0xfb, 0xbc, 0xf1, 0x42, 0x4b, 0x9b, 0xab, - 0x2a, 0x9e, 0x91, 0xd6, 0x22, 0xdc, 0xe1, 0xdf, 0x97, 0xe0, 0x4b, 0x23, 0x74, 0x0d, 0xaa, 0xf3, - 0x24, 0x42, 0xb3, 0xd9, 0x4e, 0xdd, 0xbd, 0xfd, 0xfc, 0x06, 0x4d, 0xa4, 0x22, 0xf2, 0xa5, 0xa1, - 0x8e, 0x5b, 0x14, 0xb6, 0x64, 0x4e, 0x4e, 0x59, 0xfd, 0xd7, 0x44, 0xec, 0xbf, 0xaf, 0xc9, 0x89, - 0x4d, 0xd5, 0x5e, 0xc2, 0x0e, 0xbf, 0x8c, 0x87, 0x35, 0xc9, 0x95, 0x85, 0x1f, 0xd1, 0xff, 0x37, - 0xca, 0x38, 0xe7, 0xd1, 0x30, 0x5d, 0xe9, 0x29, 0x17, 0xb7, 0x22, 0xcd, 0x47, 0x62, 0x08, 0xdd, - 0x9f, 0xa0, 0x80, 0xab, 0x72, 0x64, 0x9a, 0x39, 0xda, 0x6f, 0xfb, 0xc4, 0x7d, 0x50, 0xc6, 0x68, - 0x4e, 0x2a, 0x9e, 0x8c, 0xf9, 0x00, 0x21, 0xa7, 0x51, 0xf5, 0xd6, 0x72, 0x65, 0xc7, 0x63, 0x71, - 0xdc, 0x14, 0x89, 0x22, 0xda, 0x1c, 0x85, 0x8e, 0xb0, 0xc8, 0xb2, 0x0d, 0x0c, 0xdd, 0x89, 0x30, - 0x5d, 0x52, 0x5e, 0xd8, 0x0a, 0xa2, 0x29, 0x91, 0x68, 0x92, 0xf1, 0xcb, 0x71, 0x69, 0xfe, 0x2c, - 0xb1, 0xe1, 0x3a, 0x92, 0x9b, 0x9e, 0xa0, 0x36, 0x66, 0x9b, 0xbe, 0xe2, 0xde, 0xe9, 0xc9, 0xed, - 0x22, 0x7e, 0xed, 0x53, 0x76, 0x6d, 0xb5, 0x36, 0x5e, 0x5b, 0xf9, 0xfb, 0x8f, 0x33, 0x99, 0xe3, - 0xca, 0xc8, 0x14, 0x1b, 0xcd, 0x58, 0x14, 0xfa, 0x27, 0x7d, 0x47, 0x3a, 0x2c, 0x09, 0x11, 0xef, - 0xfa, 0xcd, 0x7a, 0xa6, 0xa8, 0x3c, 0x8a, 0x86, 0xf0, 0xd3, 0x08, 0xbd, 0x79, 0xed, 0xa0, 0x7d, - 0xf6, 0x41, 0x5d, 0x5c, 0xb8, 0xe8, 0xd9, 0x11, 0x15, 0xf6, 0xf6, 0xfe, 0xf8, 0xeb, 0xaf, 0xf4, - 0x43, 0xc8, 0x4a, 0xe3, 0x5e, 0xc7, 0x9b, 0x5b, 0x89, 0xdc, 0x49, 0xaa, 0x75, 0x73, 0x1d, 0x14, - 0x3a, 0x12, 0x8d, 0x00, 0x7b, 0x36, 0x50, 0x31, 0x68, 0x8a, 0xdc, 0x13, 0xfe, 0xf2, 0xab, 0x40, - 0x61, 0xd7, 0x9e, 0xe9, 0x6e, 0x23, 0x0f, 0x17, 0xd7, 0x6a, 0x15, 0xc7, 0x0f, 0xea, 0x4a, 0x96, - 0xef, 0x36, 0xaa, 0x30, 0x4f, 0x94, 0xb8, 0x3a, 0xa1, 0x23, 0xec, 0xae, 0x05, 0xc2, 0x06, 0x25, - 0xd9, 0x7f, 0xec, 0xb9, 0x06, 0x2e, 0x57, 0x84, 0xe5, 0xca, 0xc1, 0xaa, 0xcc, 0x9d, 0x45, 0xcf, - 0x8b, 0x5c, 0x92, 0x64, 0xa5, 0x95, 0x8b, 0x3a, 0xca, 0xe5, 0x91, 0xf8, 0x07, 0x37, 0xb2, 0x81, - 0xcd, 0xd6, 0xfc, 0xd3, 0x86, 0xbf, 0xdd, 0xa3, 0x84, 0xe7, 0xa5, 0x36, 0xcb, 0xc4, 0x87, 0xb7, - 0x61, 0x97, 0x8e, 0x1f, 0x54, 0x4e, 0x47, 0xe3, 0x38, 0x8e, 0x31, 0x27, 0x5e, 0x33, 0x3d, 0xf2, - 0x65, 0xf7, 0x32, 0x9a, 0x1e, 0x2c, 0x79, 0xc2, 0x0c, 0xea, 0x1d, 0x8d, 0x58, 0x2d, 0x40, 0x12, - 0xbd, 0x6a, 0x70, 0xd6, 0x6a, 0x78, 0x7e, 0x50, 0x76, 0xc2, 0x46, 0x59, 0x5c, 0x6d, 0x47, 0x37, - 0xce, 0xfd, 0x69, 0xfd, 0x38, 0x00, 0x1c, 0x67, 0xef, 0xb2, 0x6c, 0x3c, 0x8a, 0x4e, 0xe0, 0x5a, - 0xae, 0xbf, 0xa1, 0x07, 0x3c, 0x63, 0x81, 0x97, 0xdf, 0x91, 0x64, 0xde, 0xa3, 0x27, 0x0a, 0x0d, - 0x8a, 0x4e, 0x25, 0x5b, 0x2f, 0x08, 0x96, 0x77, 0xf0, 0x91, 0xe4, 0xb2, 0x06, 0xf8, 0xa4, 0x56, - 0x1a, 0xe7, 0xce, 0x96, 0xd0, 0xcc, 0x66, 0xbb, 0x78, 0xc1, 0x5c, 0x8a, 0xd2, 0x3c, 0xbc, 0x81, - 0x3d, 0xf4, 0xa6, 0x4e, 0xda, 0x76, 0xf0, 0x39, 0xf4, 0x31, 0x05, 0x9c, 0x9b, 0x1f, 0x81, 0xa7, - 0xe7, 0xf2, 0x41, 0xc5, 0x51, 0xe1, 0xa7, 0x54, 0xea, 0x76, 0xf8, 0xfc, 0xe2, 0x11, 0x6a, 0x98, - 0xb5, 0x1f, 0x6a, 0x1c, 0x7a, 0xa6, 0x4e, 0x1d, 0x99, 0x67, 0xb3, 0x1c, 0xfb, 0x14, 0x13, 0x0c, - 0x3f, 0xf4, 0xa7, 0x63, 0x1e, 0x5c, 0x0d, 0xb8, 0xe1, 0xda, 0x18, 0xc4, 0x86, 0x56, 0x82, 0xaa, - 0x5b, 0x91, 0x79, 0xe4, 0xef, 0xba, 0xb5, 0xcd, 0x0f, 0x41, 0x09, 0xb5, 0x7f, 0x73, 0x01, 0xcb, - 0x9e, 0x4f, 0xdc, 0x6a, 0xac, 0x21, 0x17, 0xf3, 0x39, 0x5e, 0x8f, 0x29, 0xe4, 0x95, 0x9f, 0x09, - 0x26, 0xe9, 0x33, 0x44, 0xec, 0x3f, 0x59, 0x2d, 0xb2, 0x09, 0xde, 0xa1, 0x01, 0xea, 0xe5, 0x6c, - 0xbc, 0x48, 0x13, 0xad, 0x1e, 0xc8, 0x9d, 0xba, 0x3d, 0xde, 0x56, 0x5b, 0xb4, 0xc0, 0xcb, 0x9b, - 0x44, 0xe6, 0x13, 0x59, 0x63, 0x1f, 0xad, 0x32, 0x0d, 0x59, 0x9e, 0x04, 0xee, 0xdf, 0xa1, 0x92, - 0x99, 0x76, 0x0f, 0x44, 0xdc, 0xda, 0xcb, 0xc3, 0x46, 0xbb, 0x2d, 0xca, 0x24, 0x49, 0x6b, 0x92, - 0x7c, 0xa4, 0xe3, 0x6e, 0xf8, 0xc0, 0x82, 0x5a, 0x44, 0x15, 0x4c, 0x38, 0xfe, 0x33, 0xe1, 0x5d, - 0x8e, 0x0c, 0xaa, 0x66, 0x71, 0x78, 0x49, 0x0f, 0xdd, 0x2c, 0x1b, 0x7b, 0xe1, 0xf4, 0xea, 0xc4, - 0x74, 0xc8, 0x04, 0x06, 0x97, 0x44, 0x7d, 0x10, 0x5c, 0x13, 0x05, 0xc9, 0x01, 0x08, 0x60, 0xb7, - 0x3a, 0x4c, 0xea, 0xb5, 0x2e, 0xc8, 0x68, 0xcc, 0x99, 0x83, 0xd6, 0x83, 0xe4, 0xab, 0x03, 0x8a, - 0x97, 0xb1, 0xac, 0xc7, 0xc9, 0xf4, 0xdb, 0x9b, 0xa4, 0x68, 0x78, 0xbd, 0x20, 0x0e, 0xa5, 0x86, - 0xa2, 0x21, 0xb9, 0xee, 0x78, 0x88, 0xc2, 0xc3, 0x0d, 0x89, 0x5e, 0x55, 0x7f, 0x93, 0xc8, 0xce, - 0xb3, 0xb8, 0x89, 0xa6, 0xb2, 0x0a, 0x2f, 0xbe, 0xfd, 0x75, 0xe5, 0x3c, 0xa4, 0xab, 0xf1, 0xaa, - 0x2e, 0xf8, 0xe1, 0x85, 0x61, 0x58, 0xed, 0x51, 0x85, 0xaf, 0x5f, 0x0e, 0x79, 0x8b, 0xd9, 0xf1, - 0x7a, 0xd5, 0x0c, 0x77, 0x07, 0x83, 0xe6, 0x09, 0x7b, 0x9f, 0xa7, 0x87, 0x66, 0x2f, 0x6a, 0xa7, - 0xbc, 0x84, 0x30, 0x9e, 0xaa, 0x71, 0x21, 0xdf, 0x56, 0xda, 0x82, 0xa0, 0xf6, 0xf3, 0xcf, 0xcd, - 0x89, 0x0e, 0x42, 0xab, 0xcf, 0x69, 0xfe, 0x45, 0xb7, 0x63, 0xcf, 0x33, 0x8a, 0xa1, 0x93, 0x5e, - 0x19, 0x57, 0x18, 0x1d, 0xdd, 0xef, 0x7a, 0x82, 0xd4, 0xe2, 0xbe, 0x62, 0x0c, 0xb9, 0x49, 0x3d, - 0x87, 0xe0, 0x00, 0xa9, 0x97, 0xc0, 0xc6, 0xa4, 0xbe, 0xa9, 0x63, 0x82, 0x2a, 0x23, 0xb8, 0x76, - 0x00, 0x03, 0x8f, 0x17, 0x17, 0x4d, 0xe4, 0xc6, 0xb3, 0xf7, 0x4f, 0x52, 0x1e, 0x38, 0x9c, 0x9c, - 0xd6, 0x97, 0x7d, 0x74, 0x64, 0x3c, 0xc1, 0x5e, 0x9f, 0xd4, 0xfe, 0xc4, 0x1b, 0x9c, 0x8e, 0x62, - 0x51, 0x31, 0x78, 0x16, 0xdb, 0x55, 0x3b, 0x81, 0x8e, 0xbc, 0x2f, 0xc7, 0x0c, 0xe5, 0x3f, 0x93, - 0xd0, 0xde, 0xe9, 0x6d, 0xb4, 0xdc, 0x75, 0xbb, 0xb9, 0x01, 0x60, 0xb4, 0x16, 0xbe, 0x66, 0xba, - 0xf1, 0xca, 0x29, 0x22, 0xd2, 0x7b, 0x35, 0x03, 0x27, 0xc2, 0xfb, 0x0f, 0x9f, 0xdd, 0xeb, 0x5a, - 0x0f, 0xdb, 0xf1, 0xec, 0x64, 0x2d, 0x72, 0x2d, 0xca, 0x4f, 0x96, 0x84, 0x76, 0xe7, 0x50, 0x47, - 0x34, 0x31, 0x4a, 0xba, 0x47, 0x25, 0x43, 0x2c, 0xfe, 0xab, 0x1a, 0x95, 0xbf, 0xbb, 0xe7, 0x6d, - 0x0f, 0x7f, 0x4f, 0xcb, 0x7e, 0xe4, 0xa0, 0x14, 0x00, 0x1b, 0xa4, 0x3b, 0x8d, 0x9a, 0xc2, 0xbb, - 0x01, 0xfe, 0x79, 0xd2, 0xbd, 0x86, 0x94, 0x2e, 0x97, 0x33, 0xe4, 0xf1, 0x23, 0x26, 0x42, 0x9f, - 0x22, 0xdf, 0x2b, 0x72, 0x09, 0x9b, 0xbf, 0x8e, 0xc4, 0xbb, 0xec, 0x86, 0x29, 0xdb, 0xed, 0xc2, - 0x86, 0x06, 0x32, 0x68, 0x10, 0x2a, 0x5e, 0x4a, 0x0b, 0x2b, 0xab, 0xfb, 0x5e, 0x64, 0x60, 0xfe, - 0x5b, 0xdd, 0x44, 0x56, 0xff, 0x71, 0xae, 0xc6, 0x2b, 0x72, 0x06, 0xae, 0x5e, 0x2f, 0x81, 0x68, - 0xa4, 0x59, 0x23, 0xc9, 0x4a, 0x2f, 0x74, 0x95, 0x26, 0xb4, 0x7a, 0x12, 0xac, 0xe8, 0x6e, 0x6d, - 0x6d, 0xd6, 0x44, 0xd1, 0x9c, 0xa6, 0x3a, 0xf0, 0x9a, 0x74, 0x77, 0x39, 0x77, 0x64, 0x52, 0x66, - 0x01, 0x07, 0x59, 0xb3, 0xc6, 0xf8, 0x65, 0x4b, 0x46, 0xe4, 0x9c, 0xfd, 0x4f, 0x76, 0xea, 0xe0, - 0xbb, 0xd3, 0xb8, 0x94, 0x0c, 0xc2, 0x39, 0x5a, 0x1d, 0xbf, 0xd9, 0x33, 0x3f, 0x23, 0xd8, 0x43, - 0xe4, 0x84, 0x3a, 0x0a, 0xe6, 0x47, 0x0f, 0xf6, 0x2a, 0xcc, 0xb9, 0xf8, 0xc4, 0xb4, 0xb7, 0x3f, - 0xdd, 0x5d, 0x4e, 0x09, 0x3d, 0xf1, 0x35, 0x49, 0xe8, 0x3d, 0xcf, 0xab, 0x56, 0xe0, 0x96, 0x06, - 0xb0, 0xf4, 0xfd, 0xd4, 0x3d, 0x4f, 0xc6, 0x64, 0x1a, 0x95, 0xff, 0x68, 0x79, 0xe6, 0x9e, 0x3e, - 0x82, 0xda, 0xec, 0xbf, 0x2f, 0x90, 0xe8, 0x08, 0x71, 0x43, 0x10, 0x9b, 0x52, 0x84, 0x3f, 0x87, - 0xaf, 0xc6, 0xbe, 0x3b, 0x41, 0x22, 0x7d, 0xce, 0x9d, 0xbc, 0x17, 0x07, 0xd4, 0xc1, 0x40, 0xab, - 0x3a, 0x7a, 0x34, 0xfc, 0xb0, 0x79, 0x03, 0xb7, 0x62, 0xdb, 0x8f, 0xaa, 0xd6, 0x79, 0xae, 0xaa, - 0x05, 0xf8, 0x8e, 0x49, 0xd1, 0x18, 0x75, 0x09, 0xbc, 0x0b, 0xf1, 0x6c, 0xeb, 0x32, 0xd8, 0x36, - 0x2d, 0xe1, 0x03, 0x50, 0x44, 0x39, 0xff, 0xe5, 0x63, 0xfd, 0x64, 0x98, 0x29, 0x84, 0x73, 0x5f, - 0x31, 0x0a, 0xf4, 0xd2, 0x56, 0xb8, 0xae, 0x1a, 0xcf, 0x6a, 0xc2, 0xa3, 0x90, 0x78, 0xe5, 0x45, - 0xcd, 0x6e, 0xbc, 0x79, 0x58, 0x41, 0x9d, 0x68, 0x4e, 0x60, 0x80, 0x5c, 0x8d, 0xe7, 0x58, 0x0d, - 0x05, 0x91, 0x84, 0x5c, 0x9a, 0x34, 0x9d, 0x6f, 0x73, 0xf9, 0xf6, 0x38, 0x03, 0xd0, 0xb5, 0x91, - 0x47, 0x8f, 0x1b, 0xd1, 0xd9, 0x80, 0x75, 0x1d, 0x4f, 0x1e, 0x05, 0x68, 0xc4, 0x5d, 0x43, 0xdf, - 0x03, 0x5f, 0x7b, 0xc2, 0x90, 0x83, 0x1a, 0x0a, 0xd1, 0x2a, 0x16, 0x78, 0x9b, 0xc1, 0x0c, 0xb3, - 0x22, 0x68, 0x8f, 0x00, 0x5c, 0x0a, 0x25, 0xbe, 0x8d, 0x3e, 0xe0, 0xb1, 0x1b, 0xe7, 0x87, 0xd0, - 0x09, 0xd2, 0xa3, 0xbe, 0xa4, 0x2d, 0xd0, 0xc2, 0x8c, 0x88, 0xa9, 0x1f, 0x3d, 0xc7, 0x2c, 0x26, - 0x03, 0xfe, 0xbd, 0xa2, 0xfa, 0x07, 0x1a, 0x71, 0x79, 0xc7, 0x93, 0x58, 0xf7, 0xce, 0xf5, 0x96, - 0x8e, 0xc7, 0x19, 0x37, 0x93, 0x90, 0xa2, 0x61, 0xdf, 0x46, 0x00, 0x4c, 0xee, 0x72, 0x9e, 0xa4, - 0xa3, 0xf0, 0x67, 0xdf, 0xe5, 0x77, 0x56, 0xe2, 0xe0, 0xbd, 0xa3, 0x8b, 0xaf, 0xad, 0x7d, 0xae, - 0x8b, 0x5b, 0xe7, 0xea, 0x88, 0x8c, 0x9b, 0x4e, 0xba, 0xa7, 0x36, 0xa0, 0x48, 0x3e, 0x42, 0xd7, - 0xe2, 0xf3, 0xa1, 0xcd, 0x2b, 0xa4, 0x2d, 0x40, 0x1b, 0xb8, 0xa5, 0xce, 0x95, 0xa2, 0x36, 0x76, - 0x4e, 0x86, 0xcd, 0xfb, 0xfc, 0x1a, 0x2e, 0xc4, 0xe1, 0x46, 0x75, 0x27, 0xe4, 0x27, 0x44, 0x3a, - 0x23, 0x17, 0xd3, 0xc4, 0xec, 0x63, 0xa0, 0x89, 0xb4, 0x62, 0x4d, 0x8b, 0x5c, 0xfc, 0x6c, 0x53, - 0xda, 0x31, 0x4e, 0x5c, 0x31, 0x30, 0x9e, 0xb2, 0x6c, 0xac, 0x8c, 0xd9, 0x4a, 0x55, 0xeb, 0x4c, - 0x70, 0x8d, 0xa6, 0x6a, 0xed, 0xe5, 0xc6, 0xcc, 0xbd, 0xef, 0x76, 0x0e, 0xa6, 0x39, 0x92, 0xff, - 0x40, 0x94, 0x3a, 0xb9, 0xe0, 0xe7, 0xe8, 0xcb, 0xb6, 0x55, 0x52, 0x5d, 0xa5, 0x64, 0xb8, 0x7b, - 0xc4, 0x93, 0xb5, 0x71, 0x6f, 0xff, 0xc3, 0xa0, 0x91, 0x51, 0x12, 0xa1, 0x4d, 0x97, 0x89, 0x37, - 0xdb, 0xb4, 0x83, 0x71, 0xed, 0xdb, 0xa3, 0x5f, 0x0d, 0x15, 0x0a, 0x99, 0x21, 0x9f, 0x7f, 0x82, - 0x96, 0x63, 0xb3, 0xa7, 0x63, 0x94, 0xc2, 0xd1, 0xa5, 0x0c, 0x5a, 0xd6, 0x55, 0xed, 0x3b, 0xb8, - 0x6d, 0xb7, 0x95, 0x1b, 0x6b, 0xbd, 0x43, 0xe0, 0x95, 0xca, 0x9b, 0x73, 0x14, 0x20, 0x1b, 0xce, - 0xc2, 0x1b, 0xcd, 0x2e, 0xcf, 0x7e, 0x5d, 0x8e, 0x26, 0x44, 0xc5, 0xfb, 0xd4, 0x92, 0xa2, 0xf8, - 0x31, 0x86, 0xef, 0x5e, 0xad, 0xe6, 0xca, 0xc5, 0x3b, 0xb5, 0x06, 0xf6, 0xe5, 0x26, 0xf0, 0xcb, - 0x52, 0xc3, 0xbf, 0xce, 0xce, 0xf0, 0x08, 0xe6, 0xf7, 0x1c, 0x7b, 0xe8, 0xbd, 0xd6, 0xa0, 0xbd, - 0x73, 0xce, 0x6d, 0xd1, 0x0f, 0x7d, 0x96, 0xf5, 0xe6, 0xda, 0x7a, 0x8d, 0xc4, 0x9d, 0xa0, 0xaa, - 0xdd, 0xc8, 0xa2, 0x46, 0x94, 0xbf, 0x31, 0xdc, 0x2c, 0xeb, 0xe1, 0xba, 0x5d, 0x42, 0x10, 0xab, - 0x8f, 0x5d, 0xd1, 0x1b, 0x71, 0x87, 0xff, 0x7b, 0x73, 0xeb, 0xbb, 0xce, 0xe8, 0x82, 0x3e, 0xc5, - 0x51, 0xbf, 0x61, 0x0b, 0x67, 0x42, 0xdd, 0x87, 0x09, 0x43, 0xd0, 0x5a, 0xee, 0x7c, 0x4e, 0xfd, - 0xf8, 0x8e, 0xf4, 0xda, 0x6a, 0xf9, 0xa4, 0x59, 0xec, 0x69, 0xa9, 0x85, 0x04, 0x06, 0xf4, 0x4e, - 0x3f, 0xcc, 0xf2, 0x55, 0x71, 0x03, 0x11, 0x39, 0x3d, 0xcb, 0xb6, 0x74, 0x1c, 0x3b, 0x75, 0xf8, - 0x44, 0x55, 0x00, 0x12, 0x7f, 0x2a, 0xfd, 0x9c, 0xf8, 0x5d, 0xa4, 0x84, 0xa2, 0xe4, 0x9f, 0x03, - 0xf9, 0x19, 0xf5, 0x85, 0x2c, 0x09, 0x80, 0x98, 0x6d, 0xc1, 0x21, 0x8f, 0x92, 0xf0, 0x58, 0xb6, - 0x4f, 0xf5, 0x78, 0xf5, 0xd1, 0xc7, 0x22, 0xe9, 0x0d, 0xab, 0x23, 0xe6, 0xcf, 0x14, 0xcd, 0xe8, - 0xb4, 0x4c, 0xde, 0x1c, 0x77, 0x74, 0x81, 0x9a, 0x60, 0x00, 0x9f, 0x99, 0x4b, 0x30, 0xec, 0x06, - 0xee, 0xe3, 0xd8, 0x41, 0x3d, 0xae, 0xce, 0xdd, 0x62, 0xdf, 0xa8, 0xc4, 0x87, 0x96, 0x17, 0xd0, - 0x80, 0x14, 0x3c, 0xe0, 0x55, 0x49, 0xe0, 0xae, 0x9c, 0x49, 0xea, 0xec, 0x24, 0x16, 0xcf, 0x9f, - 0xeb, 0x55, 0x4c, 0xc7, 0x91, 0xd0, 0x9d, 0x10, 0x14, 0x91, 0x93, 0xf3, 0xd9, 0x95, 0x6e, 0xea, - 0x90, 0x99, 0xe0, 0xb3, 0xe2, 0x78, 0x34, 0x8e, 0x32, 0x04, 0xfc, 0x9d, 0x10, 0xee, 0x8a, 0xa5, - 0x80, 0xe1, 0xfb, 0x1c, 0xd2, 0x31, 0xcf, 0x04, 0x2c, 0x4d, 0xa6, 0xc2, 0x1d, 0x16, 0xd3, 0x4f, - 0x98, 0x21, 0xe4, 0x25, 0xf4, 0x79, 0xca, 0xb6, 0x99, 0xe7, 0x64, 0x08, 0x67, 0x85, 0x9c, 0x46, - 0xa8, 0x70, 0xb1, 0x87, 0x0d, 0xae, 0x6f, 0x3c, 0x1e, 0x73, 0xf9, 0xe8, 0x9a, 0xcb, 0x40, 0x49, - 0x7c, 0x28, 0x8c, 0x5e, 0x11, 0xa4, 0xc8, 0x34, 0x6b, 0xff, 0x97, 0x1d, 0x06, 0x81, 0x54, 0x56, - 0xca, 0x40, 0xed, 0xf2, 0x34, 0x0d, 0xa8, 0x09, 0xef, 0xa9, 0x1d, 0xaa, 0xb9, 0xe3, 0x5f, 0x06, - 0x4f, 0xf8, 0x80, 0xf0, 0x32, 0xda, 0x9a, 0xc4, 0xf4, 0x83, 0x6d, 0x1a, 0x36, 0x5b, 0x46, 0x15, - 0x90, 0x4f, 0x23, 0x42, 0xda, 0xc4, 0xbf, 0x8d, 0x0a, 0x96, 0x25, 0x11, 0x55, 0x06, 0xa6, 0x0d, - 0x12, 0x41, 0x90, 0x90, 0x30, 0x8e, 0x97, 0x9d, 0x5d, 0xf2, 0x16, 0x1f, 0x1c, 0xd7, 0x91, 0xe6, - 0x6b, 0x0a, 0x7d, 0x24, 0xa6, 0xcd, 0x12, 0x50, 0x66, 0x74, 0xe2, 0xb7, 0x37, 0xdc, 0x78, 0x66, - 0xd1, 0x76, 0x34, 0x3c, 0xd3, 0xb9, 0xd6, 0x8a, 0xab, 0x90, 0x00, 0x25, 0xb2, 0xa8, 0x88, 0xf2, - 0x15, 0x26, 0x74, 0x04, 0xe1, 0xc4, 0x4a, 0x0b, 0xa6, 0x41, 0x92, 0x6a, 0x49, 0x98, 0x26, 0x8e, - 0xe3, 0x5f, 0x0f, 0x20, 0x73, 0x4e, 0x8c, 0xda, 0x96, 0xfe, 0x44, 0xcb, 0x5c, 0x4d, 0x5b, 0xbc, - 0x0a, 0x2c, 0x9a, 0x96, 0x06, 0xc6, 0x9f, 0x4d, 0xe5, 0x31, 0xcd, 0xd8, 0x77, 0x88, 0x8b, 0x2a, - 0x02, 0x90, 0x34, 0x46, 0x80, 0x79, 0xfb, 0x7d, 0x7d, 0xad, 0xa7, 0xbb, 0x43, 0x4e, 0xff, 0x39, - 0x70, 0x0d, 0x0a, 0x3b, 0xbd, 0xcd, 0x3a, 0xcf, 0xc5, 0xbb, 0xcd, 0xb4, 0x84, 0xba, 0x25, 0x83, - 0xe6, 0xf6, 0xb7, 0xe4, 0x30, 0x0e, 0xd5, 0x32, 0x93, 0x1a, 0xd6, 0xd1, 0x9b, 0x0a, 0x1a, 0xaa, - 0xb0, 0x01, 0xff, 0x02, 0x24, 0x76, 0x2b, 0x53, 0x8a, 0x30, 0x8b, 0x35, 0x2a, 0x83, 0x93, 0x22, - 0xc7, 0x13, 0x29, 0xd3, 0x78, 0x96, 0x0f, 0x90, 0x8b, 0xed, 0xa8, 0x1a, 0xa9, 0x42, 0x7b, 0xff, - 0xe8, 0x5f, 0xc8, 0x24, 0xdd, 0x4d, 0x37, 0xc7, 0xaf, 0x8d, 0xe3, 0x21, 0x2f, 0xeb, 0xd6, 0x78, - 0xf4, 0xab, 0x07, 0xad, 0xf7, 0x54, 0x93, 0x07, 0x0a, 0x04, 0xbd, 0xde, 0xc4, 0x67, 0xc4, 0x63, - 0xc5, 0x9f, 0xdf, 0xf6, 0x6d, 0xad, 0x2a, 0x18, 0xd5, 0xde, 0x6d, 0xf0, 0x59, 0x9a, 0x34, 0xfa, - 0xbe, 0x4a, 0x3a, 0x01, 0xde, 0xfc, 0x16, 0xcc, 0x52, 0xf7, 0x85, 0x55, 0xff, 0xb1, 0x40, 0xfa, - 0xce, 0x7a, 0xc9, 0x71, 0xdd, 0xc4, 0x52, 0x9a, 0xa0, 0xec, 0x3b, 0x04, 0x1e, 0x05, 0xb3, 0x6b, - 0x32, 0xf2, 0x05, 0xd3, 0xd4, 0xe7, 0xb2, 0x58, 0x34, 0x72, 0x73, 0x85, 0xf4, 0x04, 0x3b, 0x9e, - 0xe8, 0x2f, 0xda, 0x7a, 0x00, 0x3d, 0xcd, 0x2c, 0xe6, 0x96, 0x42, 0xf4, 0x0e, 0x81, 0x37, 0x68, - 0x2d, 0xc8, 0x87, 0x4d, 0x13, 0xf2, 0xeb, 0xa1, 0x8c, 0x81, 0xb1, 0x2d, 0xa4, 0xbe, 0xd5, 0xd4, - 0x2d, 0x33, 0x52, 0xad, 0x5e, 0x5d, 0xd4, 0x8e, 0x09, 0x47, 0x0b, 0xf0, 0x86, 0xa2, 0xdb, 0x2c, - 0x7a, 0xe9, 0xda, 0xc2, 0xee, 0xe0, 0x70, 0x02, 0x9d, 0xd3, 0x05, 0xd0, 0xee, 0x77, 0x16, 0x44, - 0x90, 0x5e, 0x08, 0xdf, 0x27, 0x4f, 0xf9, 0xbd, 0x45, 0x88, 0x2e, 0xff, 0x6e, 0xc9, 0x1a, 0x98, - 0x3c, 0x76, 0x37, 0x17, 0xae, 0x41, 0x3a, 0x0e, 0xf8, 0x96, 0x38, 0xe7, 0x43, 0x8f, 0x01, 0x31, - 0xab, 0xb9, 0x67, 0xe5, 0x79, 0x4f, 0x7c, 0xaa, 0x18, 0xeb, 0xa9, 0x40, 0xce, 0x94, 0x52, 0x5d, - 0x21, 0x89, 0x92, 0x50, 0xfd, 0x6d, 0x4c, 0x97, 0xdd, 0xca, 0x1b, 0x59, 0xc8, 0xa8, 0x65, 0xb7, - 0xff, 0x34, 0xf2, 0x65, 0x8d, 0x0c, 0x33, 0x65, 0x96, 0x6f, 0x6d, 0x2a, 0xc4, 0xea, 0x70, 0x0a, - 0x93, 0x7d, 0xd5, 0x19, 0x7e, 0xd7, 0xab, 0xdb, 0xad, 0x6f, 0x93, 0x4d, 0x96, 0xb6, 0xc0, 0xd4, - 0x4a, 0x40, 0x3f, 0x75, 0xdf, 0x43, 0x48, 0x34, 0x70, 0x88, 0xc2, 0x61, 0xf0, 0x48, 0xe2, 0x1a, - 0xe2, 0x31, 0x7b, 0xa5, 0x2c, 0x6d, 0xdb, 0x88, 0x95, 0x16, 0x63, 0xe5, 0x96, 0x34, 0xbe, 0x0b, - 0x45, 0xcb, 0x39, 0x72, 0x5c, 0x0e, 0xe5, 0x82, 0x1e, 0x8e, 0xa5, 0x30, 0x9b, 0xf2, 0xdb, 0x9c, - 0x58, 0xd2, 0xfa, 0x8e, 0x52, 0x0f, 0xe2, 0x9e, 0x9d, 0x21, 0x52, 0xe8, 0x6b, 0xe5, 0x20, 0x84, - 0x37, 0x4d, 0x29, 0xe4, 0x42, 0x42, 0xb3, 0xe7, 0x7c, 0xc0, 0x50, 0x6b, 0x71, 0x60, 0x53, 0x4f, - 0x68, 0xce, 0x5c, 0x16, 0xbc, 0x11, 0xe2, 0x46, 0x7d, 0x9e, 0xee, 0x93, 0x1c, 0x34, 0x4a, 0xc6, - 0xd3, 0xd9, 0x68, 0xe0, 0x71, 0x17, 0xf7, 0xb9, 0x15, 0x89, 0x84, 0x8b, 0x57, 0xe3, 0x91, 0x0d, - 0x67, 0x3d, 0xc9, 0x92, 0xff, 0x31, 0x77, 0x6b, 0x99, 0xd0, 0x12, 0xdc, 0xa8, 0x23, 0x6b, 0xaa, - 0x46, 0xf4, 0x29, 0x47, 0x08, 0xd8, 0x5b, 0x56, 0x22, 0x85, 0xf4, 0xeb, 0x9a, 0xa7, 0x18, 0xb3, - 0x4d, 0x82, 0xd2, 0x66, 0xab, 0x74, 0xb4, 0x4b, 0x3e, 0x0f, 0x94, 0x50, 0x6e, 0xe0, 0xd7, 0xcf, - 0xc9, 0x2e, 0x4b, 0x4b, 0x20, 0xf5, 0x0c, 0xd6, 0x5a, 0x84, 0xe3, 0xe5, 0xc6, 0x75, 0xe7, 0xd9, - 0x1d, 0x47, 0xf0, 0x80, 0xb0, 0x79, 0x0a, 0x1f, 0x8f, 0xa7, 0xdc, 0x0b, 0x90, 0x6b, 0x6e, 0xf1, - 0x14, 0xa2, 0xd2, 0x22, 0xbe, 0xda, 0xdd, 0x76, 0x01, 0xab, 0xb5, 0xb9, 0x83, 0x9b, 0xf8, 0xd3, - 0xeb, 0x7a, 0x2d, 0xb2, 0x67, 0xe9, 0x03, 0x05, 0x74, 0x76, 0xd8, 0xa6, 0xa4, 0xec, 0x3a, 0x0d, - 0x73, 0xc1, 0x5b, 0x2b, 0x39, 0x43, 0xe6, 0x51, 0xc7, 0xf8, 0x06, 0x73, 0x1f, 0x68, 0x6f, 0xe2, - 0x7f, 0x0e, 0x9f, 0x7b, 0xec, 0x47, 0xfa, 0x3a, 0x9a, 0x77, 0xdb, 0xb4, 0xff, 0x4c, 0x72, 0xf6, - 0x75, 0x8d, 0xb6, 0x4e, 0x60, 0x76, 0x96, 0x49, 0xac, 0x8a, 0x87, 0x93, 0x28, 0xb6, 0xbd, 0x8d, - 0x0a, 0xdf, 0xa3, 0x6a, 0x6b, 0x53, 0xaf, 0x59, 0xdf, 0x62, 0x56, 0x21, 0x67, 0x68, 0x2a, 0xf4, - 0x67, 0xe9, 0x91, 0x29, 0xc5, 0x24, 0x45, 0x2a, 0x5c, 0xad, 0x79, 0xee, 0x24, 0x56, 0x9a, 0x02, - 0x5d, 0x71, 0xad, 0x2e, 0xbb, 0x89, 0x93, 0x90, 0x34, 0x8a, 0x21, 0x3f, 0x87, 0xcc, 0xb8, 0xef, - 0x67, 0x59, 0x15, 0x4a, 0xda, 0x2f, 0xb9, 0x76, 0x55, 0x94, 0x01, 0xdb, 0xe8, 0xde, 0xfe, 0x92, - 0x44, 0x79, 0x02, 0x90, 0x52, 0x6b, 0xe1, 0x5c, 0x08, 0x15, 0x6b, 0x10, 0x79, 0x35, 0x51, 0xae, - 0xbd, 0xf4, 0x79, 0xb1, 0x4e, 0xec, 0x89, 0x35, 0x0e, 0xe3, 0xa1, 0xb4, 0x36, 0x7b, 0xa7, 0xe5, - 0x9d, 0x8d, 0x92, 0x64, 0x18, 0xb3, 0xe6, 0x51, 0x4d, 0x59, 0xd5, 0x1d, 0x91, 0xdf, 0x14, 0xfe, - 0xb2, 0x69, 0xcb, 0xd5, 0xb1, 0x28, 0x21, 0x4b, 0x51, 0xa9, 0x73, 0x5b, 0x3f, 0x64, 0x90, 0xf7, - 0x0e, 0x47, 0xa1, 0x12, 0x6f, 0x84, 0x5f, 0xe0, 0x10, 0x91, 0xaf, 0x85, 0x14, 0xed, 0x93, 0x76, - 0x47, 0xa9, 0x2f, 0xf7, 0x62, 0xb7, 0xf7, 0xc4, 0x8a, 0x26, 0xbf, 0x83, 0x7d, 0xfe, 0x35, 0x5b, - 0x65, 0x47, 0xe7, 0x2a, 0xe7, 0x2c, 0x43, 0x98, 0xe0, 0x3f, 0xaa, 0x82, 0xe0, 0x2d, 0x23, 0x9c, - 0x78, 0xe8, 0xb4, 0x26, 0x20, 0x6d, 0x66, 0x63, 0x62, 0xfa, 0xfa, 0xd0, 0x95, 0x6d, 0x12, 0xac, - 0x25, 0x71, 0x39, 0xc9, 0x7c, 0x76, 0x5f, 0xb8, 0xa6, 0xfd, 0xcf, 0x2f, 0x7e, 0xd3, 0x00, 0x84, - 0xef, 0xfc, 0x03, 0xd0, 0x61, 0x3b, 0x8e, 0x30, 0xdb, 0x75, 0x2a, 0xba, 0xa2, 0xaa, 0xc1, 0x15, - 0x6a, 0xcc, 0x41, 0xcb, 0xc3, 0x3e, 0x3f, 0xd3, 0x6d, 0x14, 0x06, 0x04, 0xf8, 0xc5, 0x47, 0x66, - 0xa4, 0xcd, 0x99, 0x50, 0x67, 0xe6, 0x60, 0xfd, 0x37, 0x1d, 0x1f, 0xb0, 0x24, 0xa8, 0x71, 0x46, - 0x61, 0x3b, 0x2b, 0xdf, 0x99, 0xd4, 0x1c, 0xf5, 0x2f, 0x31, 0x17, 0xad, 0xa7, 0x51, 0x70, 0xcf, - 0xde, 0x52, 0x6b, 0x86, 0x9e, 0x8d, 0x99, 0x64, 0xe1, 0x3a, 0xcf, 0x16, 0xa5, 0x7a, 0x83, 0xd2, - 0x81, 0x14, 0x22, 0x43, 0x62, 0xd8, 0x7f, 0xbc, 0x05, 0xee, 0x97, 0x5a, 0xf6, 0x91, 0x9a, 0x95, - 0xcd, 0x1c, 0x70, 0x9a, 0xec, 0x34, 0xbe, 0x70, 0xe3, 0xb4, 0xcf, 0x04, 0x72, 0x3b, 0xf7, 0x38, - 0x49, 0xa8, 0xcb, 0x49, 0x9a, 0x16, 0x3f, 0x16, 0x0b, 0xe9, 0x85, 0x26, 0xf7, 0xb2, 0xc8, 0x63, - 0x1c, 0x59, 0x58, 0xdb, 0xb3, 0x30, 0x14, 0x60, 0x08, 0x5a, 0xc5, 0xb1, 0x65, 0xd8, 0x74, 0x61, - 0xda, 0xfb, 0xa4, 0xd6, 0xac, 0x4e, 0x7f, 0x4b, 0x47, 0xfd, 0x8e, 0x76, 0xfa, 0x1f, 0xb8, 0xa4, - 0x8b, 0x25, 0xb0, 0xfb, 0xf3, 0xd6, 0x7e, 0xe1, 0x37, 0xf1, 0x37, 0xbe, 0x64, 0x70, 0xab, 0x17, - 0xcc, 0xa6, 0x08, 0x91, 0x70, 0xf2, 0xb8, 0x04, 0x6f, 0x39, 0xb7, 0x33, 0x17, 0xde, 0xd1, 0x57, - 0xc2, 0xe2, 0x65, 0xba, 0xb0, 0xe5, 0x70, 0xe8, 0xd8, 0xcb, 0xdb, 0x7b, 0x83, 0x6c, 0x4d, 0x14, - 0x1a, 0x58, 0x93, 0x8c, 0x92, 0xbf, 0xfa, 0x0d, 0xb4, 0x66, 0xcd, 0x3e, 0xf2, 0x9c, 0x5f, 0x6a, - 0xea, 0x6a, 0xd9, 0x9d, 0xb1, 0x50, 0xfe, 0x76, 0x53, 0xf2, 0x56, 0xcf, 0xea, 0x64, 0x41, 0xbf, - 0xe1, 0x6f, 0xa0, 0xd5, 0x95, 0xdf, 0x67, 0xdc, 0x01, 0x40, 0xd4, 0x34, 0x59, 0x9f, 0xfd, 0xce, - 0x0d, 0x1e, 0xbe, 0x73, 0x48, 0x99, 0xd8, 0x3e, 0xe4, 0xbb, 0x30, 0x49, 0x87, 0xb2, 0x6d, 0x04, - 0x2b, 0x8b, 0xf2, 0x8c, 0x00, 0xfc, 0x8a, 0x89, 0x8f, 0x93, 0x84, 0x8f, 0x97, 0x08, 0x65, 0x7f, - 0x90, 0x28, 0x80, 0x32, 0x36, 0x2c, 0x01, 0x61, 0xf8, 0x50, 0x12, 0xc7, 0xeb, 0x9f, 0x66, 0x05, - 0x4d, 0x16, 0xfe, 0xd9, 0x50, 0x42, 0xbf, 0x8a, 0xcd, 0xe5, 0x60, 0xc6, 0x20, 0xa4, 0x9e, 0xd1, - 0x2f, 0xc2, 0x5c, 0x67, 0x0e, 0x09, 0x02, 0xbe, 0xa6, 0x02, 0x17, 0xee, 0x94, 0xe9, 0xfa, 0x3a, - 0xf2, 0xdf, 0xbb, 0x66, 0x44, 0x34, 0xb8, 0x0e, 0x86, 0xfe, 0x20, 0x92, 0x0b, 0x58, 0x8d, 0xcb, - 0x5c, 0x4d, 0x69, 0x79, 0x87, 0x19, 0x41, 0x61, 0x6e, 0xb8, 0x31, 0xc5, 0x43, 0x22, 0xe5, 0xd1, - 0xed, 0xe1, 0x11, 0x71, 0x6b, 0x99, 0x50, 0xea, 0x90, 0x9c, 0x46, 0x33, 0xf8, 0xfe, 0x90, 0x82, - 0x35, 0xd3, 0xed, 0xf4, 0x80, 0x8d, 0x10, 0x4b, 0x28, 0x27, 0xdb, 0xcd, 0xf0, 0x11, 0x67, 0xf1, - 0xf6, 0xa1, 0x81, 0xea, 0x42, 0x1b, 0xda, 0x10, 0xf9, 0xd6, 0xca, 0x08, 0x17, 0x42, 0x85, 0x6b, - 0x7d, 0x0b, 0x4c, 0x21, 0x26, 0xd0, 0xdc, 0x66, 0x5b, 0xef, 0x1f, 0x36, 0x69, 0x92, 0x7f, 0x81, - 0xcf, 0xfc, 0x92, 0x5f, 0xd2, 0x89, 0x63, 0x41, 0x04, 0x29, 0xd4, 0x33, 0xe7, 0x79, 0x77, 0xba, - 0x8b, 0xcc, 0x9c, 0x0d, 0x28, 0x34, 0x5e, 0xf6, 0x0e, 0x23, 0xc8, 0xf0, 0xa5, 0x4f, 0xd5, 0x57, - 0xee, 0x31, 0x63, 0x6f, 0x95, 0xa0, 0xd5, 0x46, 0x94, 0xe2, 0x08, 0xa8, 0x98, 0xca, 0x58, 0xf4, - 0x5b, 0x43, 0x1a, 0xf5, 0x6f, 0x2b, 0xb7, 0xaa, 0xe2, 0x8e, 0x8c, 0x93, 0x32, 0xaa, 0x0a, 0x6c, - 0xc0, 0x65, 0xaa, 0xd3, 0x0a, 0x86, 0xb4, 0x9e, 0xb3, 0x4f, 0x5e, 0x41, 0x61, 0x61, 0xe4, 0xba, - 0xa8, 0x92, 0x7c, 0x71, 0xfc, 0x30, 0x89, 0x63, 0xea, 0xe9, 0x05, 0x05, 0xd3, 0xc2, 0xfe, 0x9f, - 0x8d, 0x9b, 0x30, 0x54, 0xb4, 0x4f, 0x07, 0xef, 0xad, 0x92, 0x33, 0x92, 0x1c, 0xdd, 0x45, 0xdf, - 0xe7, 0xfd, 0xc3, 0xc4, 0x1a, 0xa8, 0x9d, 0xc8, 0xd8, 0x51, 0x44, 0xd3, 0x2a, 0x02, 0x46, 0x0d, - 0x5e, 0x3a, 0x74, 0xee, 0xd1, 0xbc, 0x88, 0x75, 0x7f, 0x07, 0xd1, 0x8e, 0x92, 0xd6, 0xe6, 0xba, - 0x5c, 0x88, 0xb3, 0xbe, 0xd7, 0x0b, 0xdd, 0xe7, 0xf9, 0x52, 0x88, 0xa8, 0x4b, 0x91, 0x21, 0x58, - 0x50, 0xf7, 0xb6, 0xaf, 0x73, 0x94, 0x3d, 0xbc, 0x19, 0xb4, 0x99, 0xdd, 0xcc, 0x4b, 0x77, 0x43, - 0x53, 0x6d, 0xc2, 0x9d, 0xdd, 0x90, 0x1a, 0xaa, 0xa2, 0x23, 0xf2, 0xe2, 0xfc, 0x02, 0x4a, 0x56, - 0x9b, 0x11, 0x05, 0xd1, 0x78, 0x7d, 0x82, 0x8d, 0x8f, 0xf4, 0xe3, 0x48, 0xd4, 0x8a, 0xd6, 0x97, - 0x32, 0x33, 0xb5, 0x8a, 0xab, 0xce, 0x6b, 0x6a, 0x34, 0x7e, 0x77, 0x00, 0xe3, 0x7e, 0x42, 0x42, - 0xe3, 0x5b, 0xe1, 0xb5, 0xfe, 0x29, 0xf0, 0x34, 0xa6, 0xc9, 0xf7, 0xeb, 0x88, 0xd6, 0x5e, 0x20, - 0x5e, 0xb6, 0xac, 0xc0, 0x6d, 0xca, 0xdb, 0x6c, 0xf0, 0x26, 0xa5, 0x6e, 0x85, 0xaf, 0x75, 0x98, - 0x71, 0x66, 0x5b, 0xb5, 0xeb, 0x10, 0x78, 0x25, 0xa9, 0x6d, 0x5e, 0x65, 0xaf, 0x72, 0x47, 0x13, - 0x04, 0x06, 0x55, 0xe1, 0x27, 0xa0, 0x83, 0x23, 0x13, 0x51, 0xd6, 0xe5, 0x67, 0x40, 0x4b, 0xcb, - 0x1d, 0xe4, 0x2a, 0x0c, 0x52, 0xc7, 0x24, 0x07, 0x0b, 0x9f, 0xb1, 0x90, 0x1e, 0xff, 0xe8, 0x23, - 0x39, 0xdb, 0xd3, 0xb8, 0xf1, 0xd3, 0xf3, 0xd5, 0xf2, 0xf8, 0xee, 0xa9, 0x43, 0x31, 0xf6, 0x18, - 0x04, 0xb8, 0xf6, 0x3e, 0xd0, 0x1b, 0xba, 0x66, 0xfa, 0x69, 0xe8, 0xcc, 0x5d, 0xd4, 0x94, 0xb4, - 0xd2, 0x02, 0x7c, 0x6b, 0xb0, 0xee, 0x56, 0x0e, 0x0f, 0xe5, 0x62, 0x80, 0xca, 0x40, 0xe6, 0xf1, - 0x14, 0x74, 0x9d, 0xbf, 0x15, 0x2b, 0xa4, 0x15, 0x2e, 0x51, 0xb5, 0xb3, 0xf8, 0x7c, 0xa3, 0x7d, - 0x86, 0xaa, 0x81, 0x8e, 0xa9, 0xcb, 0x5d, 0x0b, 0x8b, 0x37, 0x01, 0x3c, 0xe0, 0x01, 0xbd, 0x67, - 0x16, 0xc5, 0x1a, 0x6d, 0x67, 0x3a, 0x3e, 0x35, 0x02, 0xcb, 0xec, 0x8a, 0x3c, 0xef, 0x8c, 0xf4, - 0xdd, 0x20, 0x2e, 0xb2, 0x5e, 0x59, 0x24, 0x62, 0xdc, 0x34, 0x29, 0xf4, 0x63, 0x8f, 0x96, 0xe2, - 0x07, 0xb2, 0x19, 0xfc, 0x83, 0x38, 0xe7, 0x79, 0x42, 0x1d, 0x51, 0xd4, 0xeb, 0xf4, 0xe9, 0x5f, - 0xe2, 0x1a, 0xf3, 0x8f, 0xcb, 0x28, 0xdb, 0x29, 0x51, 0xcb, 0x9a, 0x7d, 0x13, 0x4b, 0x79, 0xba, - 0xee, 0x34, 0x8a, 0x20, 0x7c, 0xd7, 0x9c, 0xf2, 0x06, 0x3e, 0x62, 0xd3, 0x94, 0xba, 0x02, 0x63, - 0x8c, 0x70, 0x30, 0x62, 0x9c, 0xdc, 0xcb, 0x75, 0x72, 0xb6, 0xd5, 0x19, 0x25, 0xd5, 0x99, 0x46, - 0x25, 0x50, 0xb3, 0x9c, 0xbb, 0x4e, 0x60, 0xd7, 0x04, 0x93, 0x2e, 0xbb, 0xed, 0x14, 0x36, 0xb8, - 0x19, 0xe6, 0xa7, 0xf1, 0x5b, 0xa7, 0xec, 0xbe, 0x1a, 0xe1, 0x2e, 0xe7, 0xca, 0x53, 0xc1, 0x80, - 0x29, 0xc0, 0xa0, 0xf4, 0x16, 0x65, 0x65, 0x75, 0x39, 0x81, 0x7a, 0x8b, 0x1e, 0x68, 0xb8, 0xd1, - 0xc7, 0xe6, 0xd0, 0xa2, 0x3d, 0xd2, 0x08, 0x59, 0xf9, 0x94, 0x7c, 0x8a, 0xc8, 0x9f, 0xa7, 0x42, - 0x3d, 0xe3, 0xf1, 0xc3, 0x1c, 0x13, 0x02, 0x52, 0x2e, 0xfb, 0x9b, 0x14, 0x3b, 0x72, 0x6a, 0x45, - 0xae, 0x4e, 0xd9, 0xe5, 0x5d, 0x38, 0x7d, 0x98, 0x2b, 0x2a, 0x3e, 0xf0, 0x53, 0x26, 0xd1, 0xb9, - 0x31, 0xff, 0xa4, 0x35, 0xdf, 0x5f, 0x5a, 0x12, 0x8f, 0xe8, 0x46, 0xe5, 0x09, 0xef, 0x76, 0x7b, - 0x2b, 0x1b, 0x4c, 0x53, 0xe0, 0x71, 0x37, 0x5c, 0xde, 0x3d, 0x08, 0x77, 0x66, 0x6d, 0xba, 0x12, - 0x9a, 0x35, 0x4d, 0xd8, 0x36, 0xe1, 0x8a, 0x2c, 0x31, 0x80, 0x66, 0xf2, 0x63, 0x27, 0xbd, 0x1e, - 0x3d, 0x83, 0xec, 0x1c, 0x18, 0x70, 0xa6, 0xb1, 0x16, 0x33, 0xab, 0x1d, 0x03, 0x12, 0x74, 0x6c, - 0x43, 0x87, 0xe8, 0x89, 0x84, 0xfc, 0xbd, 0xaf, 0x48, 0x77, 0x13, 0x6a, 0x41, 0xa6, 0x51, 0x6b, - 0x89, 0xe2, 0x77, 0x3d, 0x81, 0x87, 0xdd, 0x8a, 0x3e, 0xd3, 0x1d, 0xf1, 0xff, 0x8f, 0xbc, 0x4f, - 0x92, 0xb3, 0x3c, 0x2d, 0xa0, 0x0c, 0x83, 0x10, 0x44, 0xd3, 0x31, 0xd3, 0xaf, 0x1c, 0xcc, 0x41, - 0x4a, 0xa1, 0x7d, 0xf2, 0x0b, 0xfd, 0xb7, 0x0c, 0xba, 0x26, 0x4d, 0x28, 0xc1, 0x3e, 0x4f, 0x5f, - 0x37, 0x72, 0x91, 0x60, 0x59, 0x57, 0x4c, 0x5f, 0x14, 0x50, 0xfe, 0xba, 0x5d, 0xca, 0xcf, 0x7f, - 0x92, 0x76, 0xd1, 0x84, 0x47, 0xd2, 0x4f, 0x71, 0xb5, 0xe8, 0x2c, 0xe8, 0x6c, 0x81, 0x35, 0x1a, - 0x8a, 0x3c, 0x86, 0xe0, 0xaa, 0xb7, 0x0b, 0x6f, 0xdd, 0x4b, 0xc9, 0xd2, 0x0d, 0x7b, 0x6d, 0x17, - 0x93, 0x3f, 0x59, 0xd6, 0xa5, 0x53, 0x98, 0x9e, 0x37, 0xd2, 0x10, 0x55, 0x7f, 0x88, 0x97, 0xc3, - 0x91, 0x1c, 0xc3, 0x03, 0xeb, 0x27, 0x50, 0x2c, 0x9c, 0xff, 0xaa, 0x8c, 0x6d, 0x8f, 0x7d, 0xd4, - 0x90, 0xe1, 0x68, 0xcf, 0x11, 0x18, 0xc7, 0x26, 0xcb, 0xd0, 0x00, 0xf2, 0xef, 0x1f, 0x3b, 0xe4, - 0x2c, 0xcf, 0x12, 0xdf, 0xee, 0x5c, 0x5e, 0x6a, 0xf1, 0x2b, 0x40, 0xc4, 0x8a, 0xa4, 0xd8, 0xb8, - 0x2d, 0x55, 0x57, 0x41, 0x99, 0xda, 0xf6, 0x3e, 0xfa, 0x0a, 0xb9, 0x8d, 0x04, 0x60, 0x78, 0x48, - 0xf3, 0x1f, 0xae, 0x03, 0xf6, 0x03, 0xed, 0xcc, 0x6c, 0x06, 0xe6, 0xad, 0xf9, 0x20, 0xd9, 0xad, - 0xe5, 0x16, 0xbd, 0xda, 0x7a, 0xcd, 0xd8, 0x73, 0x9e, 0x13, 0x46, 0x89, 0xbb, 0x1e, 0xcc, 0xad, - 0x12, 0xfb, 0xda, 0x2d, 0x19, 0x8c, 0x03, 0x92, 0x32, 0x99, 0x47, 0x65, 0x93, 0x68, 0x63, 0x27, - 0x21, 0xc8, 0x6f, 0x99, 0x78, 0xa0, 0xea, 0xc6, 0x7d, 0xe8, 0x78, 0xfa, 0x32, 0x7c, 0x74, 0x2d, - 0x78, 0xf0, 0x6c, 0xf4, 0xc4, 0x24, 0x2c, 0x05, 0x18, 0xdc, 0x8a, 0x26, 0x33, 0x24, 0xbc, 0xb5, - 0x6c, 0x1d, 0xc6, 0x84, 0x80, 0xb6, 0x8d, 0x4d, 0x11, 0xa5, 0x2e, 0xdc, 0x52, 0xa1, 0xb1, 0x31, - 0x8f, 0x15, 0x3f, 0xc6, 0xae, 0xd5, 0x5a, 0x00, 0x93, 0x9f, 0x08, 0x17, 0x2f, 0xba, 0x4d, 0x45, - 0xcd, 0xbe, 0xf3, 0x75, 0x95, 0x1a, 0x7e, 0x4d, 0xa6, 0xd5, 0x58, 0x2c, 0xff, 0x97, 0xbc, 0xe6, - 0x39, 0xe5, 0x96, 0x6c, 0x76, 0xe6, 0x2a, 0x19, 0x6d, 0x5a, 0x41, 0x0c, 0x36, 0x4b, 0x77, 0x38, - 0x9a, 0xf4, 0x0a, 0x00, 0x56, 0x1d, 0xc0, 0x07, 0x85, 0xdb, 0x03, 0x01, 0x35, 0x71, 0x0f, 0x57, - 0xed, 0x33, 0x85, 0x25, 0x70, 0x9a, 0x27, 0xc8, 0x3c, 0x90, 0x7e, 0x06, 0x49, 0x4f, 0x4d, 0x51, - 0x61, 0xee, 0x33, 0x4c, 0x74, 0x91, 0x89, 0xa5, 0x81, 0x77, 0x51, 0x04, 0x74, 0xfb, 0xc6, 0xa7, - 0xa5, 0x98, 0x6d, 0x2a, 0x32, 0xd2, 0x6d, 0xa3, 0x11, 0x16, 0xc9, 0x7b, 0x3f, 0xc4, 0xf0, 0x29, - 0x88, 0x56, 0x4a, 0x03, 0x00, 0xd7, 0x24, 0x4f, 0x00, 0x98, 0xd1, 0xec, 0x25, 0x55, 0x07, 0x13, - 0xa3, 0xa9, 0x39, 0x4b, 0xb3, 0xde, 0x90, 0x19, 0x68, 0x52, 0x9c, 0x6f, 0x99, 0x4e, 0x30, 0x65, - 0xff, 0x6b, 0x8d, 0x43, 0x58, 0x97, 0x00, 0x35, 0x7e, 0x8d, 0xa1, 0xa6, 0x16, 0x02, 0x33, 0xcb, - 0xd3, 0xb0, 0x99, 0xe7, 0xc8, 0x12, 0x02, 0xa4, 0x06, 0xd7, 0xeb, 0xc6, 0x79, 0xa8, 0x97, 0x0e, - 0xd4, 0x4b, 0x58, 0xd4, 0xae, 0x6a, 0x4a, 0x32, 0x06, 0xea, 0x29, 0x87, 0xfa, 0xbe, 0xf7, 0x36, - 0x4c, 0xe5, 0x74, 0x1c, 0xa0, 0x63, 0x80, 0x69, 0x73, 0x43, 0x3a, 0xa2, 0xf2, 0x00, 0x54, 0x19, - 0x49, 0x3c, 0x81, 0x3c, 0xa5, 0x56, 0xed, 0x79, 0x97, 0x1d, 0x0d, 0x4b, 0x9c, 0x29, 0x4e, 0x50, - 0x9b, 0x47, 0x2d, 0xfb, 0xff, 0xc2, 0x55, 0x3b, 0x99, 0xa0, 0x13, 0x9f, 0xc2, 0xf1, 0xf0, 0xa3, - 0xbc, 0x9f, 0xfa, 0x69, 0x0e, 0x43, 0x53, 0xb5, 0xc9, 0x8a, 0xf0, 0xf5, 0x22, 0x91, 0xa7, 0x6b, - 0xa6, 0x2d, 0x76, 0xbd, 0xfd, 0xb4, 0x8a, 0x65, 0x1a, 0x0d, 0x63, 0x7a, 0x99, 0x92, 0xfa, 0x61, - 0xce, 0xda, 0x2b, 0x5d, 0x71, 0x1c, 0xc6, 0x0d, 0x88, 0x1a, 0x76, 0x3d, 0xc4, 0xa6, 0xba, 0x40, - 0x30, 0xc0, 0x0e, 0xa5, 0x1b, 0x54, 0x46, 0xf0, 0x81, 0x84, 0x7d, 0x6e, 0xbf, 0xe2, 0x17, 0x5f, - 0xdb, 0xad, 0xeb, 0xb4, 0xa6, 0xa8, 0x84, 0x00, 0xfd, 0xe6, 0x5e, 0x3a, 0x36, 0x40, 0x0b, 0x8b, - 0x44, 0x0b, 0x49, 0xf6, 0x8e, 0xd6, 0xca, 0x18, 0x1d, 0xe6, 0x57, 0x60, 0xd4, 0x72, 0x12, 0x64, - 0x4a, 0x25, 0x64, 0x0b, 0x1b, 0xa6, 0x4f, 0xe5, 0x1f, 0x79, 0xb9, 0xcd, 0xc9, 0x71, 0x9a, 0x20, - 0xd1, 0xbf, 0xd5, 0xf9, 0x21, 0xe6, 0x80, 0xf8, 0xa0, 0x01, 0xfb, 0xca, 0x21, 0xc3, 0x56, 0xf6, - 0xb8, 0x5d, 0xa4, 0xfd, 0x7c, 0xb1, 0xdb, 0x35, 0xd3, 0x41, 0x2e, 0xd6, 0xb5, 0x97, 0xd1, 0x5b, - 0x8c, 0x48, 0x8b, 0x02, 0x23, 0x7d, 0xbe, 0x31, 0x0e, 0x95, 0xf8, 0x6e, 0x16, 0x8d, 0xb1, 0xcd, - 0x3a, 0x52, 0xa3, 0x15, 0xa5, 0xd4, 0x48, 0x45, 0xa3, 0xaa, 0xa0, 0x17, 0x58, 0xd2, 0x1d, 0xe4, - 0x6b, 0x6b, 0xb5, 0x22, 0xc1, 0x75, 0xa0, 0xb0, 0x7d, 0xc4, 0x86, 0x6e, 0xa4, 0xe8, 0xdb, 0xc5, - 0x49, 0x83, 0xf4, 0x50, 0x9c, 0x14, 0x29, 0xde, 0x7b, 0xbe, 0xd7, 0xe2, 0x36, 0xfc, 0x6f, 0x22, - 0x2f, 0xa8, 0x31, 0x64, 0xd6, 0x98, 0xa6, 0xa8, 0x55, 0x07, 0xc6, 0x60, 0x1a, 0xd8, 0xba, 0x8c, - 0xe1, 0xf8, 0xa4, 0xa6, 0xed, 0xa3, 0xec, 0xeb, 0x2f, 0x1c, 0x44, 0x83, 0xcf, 0xb1, 0x15, 0x37, - 0xae, 0x56, 0x40, 0xa9, 0xf2, 0xcc, 0xc3, 0xee, 0xf8, 0x1f, 0x97, 0xff, 0x49, 0x05, 0x84, 0xd9, - 0xe9, 0xd4, 0x3e, 0x0e, 0xf4, 0xbe, 0xa3, 0x32, 0x40, 0x3b, 0x6e, 0x30, 0xa2, 0x0f, 0x71, 0x63, - 0x41, 0x19, 0x81, 0xef, 0x67, 0x4b, 0x68, 0x27, 0x83, 0xe3, 0x50, 0x9b, 0x13, 0x73, 0x45, 0x3b, - 0x72, 0x0b, 0x6c, 0x28, 0xb9, 0x3a, 0x8e, 0x44, 0x47, 0xbe, 0x6a, 0x90, 0xb7, 0xdf, 0xf3, 0x42, - 0xc6, 0xee, 0x0b, 0xf4, 0xc8, 0x21, 0x10, 0xfb, 0x1b, 0xe3, 0x54, 0x79, 0x9b, 0xce, 0xf9, 0x3b, - 0xbb, 0x03, 0x2d, 0x4a, 0xe6, 0x65, 0xf1, 0x07, 0x7e, 0x40, 0xcf, 0x76, 0xd8, 0x6a, 0xb6, 0xeb, - 0xb0, 0xba, 0xef, 0xfc, 0x8f, 0x96, 0xa2, 0x45, 0xbe, 0x8f, 0x35, 0x7e, 0xd2, 0xba, 0x32, 0x34, - 0xe1, 0x1f, 0x50, 0xbb, 0xe6, 0x40, 0x6a, 0x16, 0x6e, 0xa7, 0x74, 0xf8, 0x71, 0x1f, 0x8b, 0x3b, - 0x95, 0xf6, 0xad, 0x02, 0x6e, 0xaa, 0xb2, 0x20, 0x4d, 0x5e, 0x2c, 0xd4, 0x8a, 0xbd, 0x7e, 0x26, - 0x07, 0xc7, 0xb5, 0x87, 0xfa, 0x1a, 0x2e, 0x10, 0xc6, 0x1a, 0x9a, 0x61, 0x8b, 0x14, 0x61, 0x1e, - 0x80, 0xaa, 0x70, 0x79, 0xe8, 0xe4, 0x82, 0xf5, 0x18, 0xbe, 0x2a, 0xf1, 0xbf, 0xc1, 0x95, 0x93, - 0xd8, 0x56, 0x9e, 0xe2, 0x3c, 0x2e, 0xe3, 0x8f, 0x35, 0x34, 0x56, 0xfa, 0x8c, 0x63, 0xaa, 0xe8, - 0x13, 0x35, 0x68, 0xe2, 0xf7, 0xce, 0x28, 0xb1, 0x97, 0xaa, 0x6b, 0xb1, 0x06, 0xda, 0x80, 0x88, - 0x81, 0x68, 0x69, 0x9e, 0xa6, 0x86, 0x1e, 0xdb, 0xd4, 0xc5, 0x33, 0x7f, 0x63, 0x91, 0xcd, 0xc2, - 0xbe, 0xeb, 0xdd, 0x27, 0xe4, 0xa1, 0x6b, 0x55, 0x34, 0x66, 0x8b, 0xed, 0xba, 0xe0, 0x71, 0xf6, - 0x3b, 0xaa, 0xe7, 0xa8, 0xf7, 0x3f, 0x98, 0x40, 0xbe, 0x68, 0x68, 0xcc, 0xff, 0xa3, 0x41, 0xb3, - 0xa5, 0x58, 0xb6, 0xea, 0x5d, 0xb4, 0xa2, 0xba, 0x19, 0x28, 0xf2, 0xe9, 0xe5, 0x59, 0xdb, 0xc7, - 0x84, 0x78, 0xdd, 0xb0, 0x87, 0x69, 0xcf, 0xf4, 0x2b, 0x65, 0xd0, 0xe4, 0x16, 0x76, 0x32, 0xe0, - 0x9b, 0xdd, 0x63, 0x41, 0x3e, 0xa6, 0xc8, 0xcf, 0x7b, 0xe5, 0x7e, 0x65, 0x74, 0xcf, 0xcc, 0xac, - 0x9f, 0xd0, 0x6c, 0x16, 0x38, 0x16, 0xb2, 0x81, 0x01, 0xc1, 0x1e, 0x7d, 0x5c, 0x72, 0x2d, 0x76, - 0x02, 0xfe, 0xb1, 0x87, 0xce, 0x6d, 0xb1, 0x80, 0x17, 0x29, 0xe1, 0xa1, 0xa3, 0x9a, 0xd1, 0x7a, - 0x1a, 0xbf, 0xfd, 0xd3, 0xee, 0x3b, 0xd8, 0xce, 0xea, 0x8c, 0x2c, 0x4f, 0x51, 0x21, 0x50, 0x09, - 0x3f, 0xf0, 0x33, 0xf1, 0x9c, 0xaa, 0xce, 0x6e, 0xe7, 0xae, 0x08, 0xd5, 0x7b, 0x27, 0x63, 0x31, - 0x6f, 0xfa, 0xfa, 0x59, 0xf6, 0xc5, 0xaa, 0x91, 0xb0, 0xe1, 0xf5, 0x4d, 0x18, 0x87, 0x4e, 0xd7, - 0x8c, 0xf3, 0x8e, 0x4b, 0x78, 0x0a, 0x34, 0x1c, 0xa3, 0x53, 0xe8, 0xc9, 0xac, 0xba, 0x4b, 0x8d, - 0x8e, 0xfc, 0x9a, 0x42, 0x61, 0xfe, 0xef, 0xdf, 0xbb, 0x54, 0x2b, 0xa0, 0x1d, 0x00, 0x9f, 0xad, - 0x79, 0x4b, 0x38, 0x30, 0xc0, 0x0e, 0xcf, 0xbc, 0xe8, 0xb8, 0xe8, 0x0e, 0x84, 0x24, 0x11, 0x76, - 0xb3, 0x0a, 0x79, 0xfb, 0x69, 0x5c, 0xef, 0x9b, 0x2f, 0x6a, 0x5f, 0x52, 0x70, 0xb0, 0x40, 0x37, - 0x6a, 0x54, 0x7a, 0x72, 0x14, 0x0f, 0xed, 0xeb, 0xaa, 0xfc, 0x1a, 0x5c, 0xb1, 0x75, 0x3e, 0x09, - 0xe3, 0xec, 0x03, 0x5b, 0x4d, 0xf1, 0x7b, 0x29, 0x63, 0xef, 0xa6, 0x9f, 0x30, 0x57, 0x44, 0xbd, - 0xe0, 0x5c, 0x2c, 0x71, 0x8a, 0xf9, 0x80, 0x6b, 0x02, 0x8e, 0xd1, 0x43, 0xbb, 0xfb, 0xa2, 0xbf, - 0x97, 0x2c, 0xeb, 0xf8, 0xc6, 0x92, 0x21, 0x2d, 0x09, 0xa3, 0x51, 0x32, 0x66, 0x42, 0x29, 0xf9, - 0xd9, 0xc8, 0x60, 0x04, 0xc0, 0x5b, 0x9d, 0xa2, 0x72, 0x81, 0x34, 0x16, 0x02, 0xbe, 0x5e, 0xcf, - 0x1a, 0xdf, 0xdc, 0x7c, 0x31, 0x33, 0xb5, 0xe1, 0xb1, 0x06, 0xd9, 0xec, 0x72, 0x19, 0x2b, 0x69, - 0x31, 0x8a, 0x79, 0xc3, 0x31, 0x90, 0x2c, 0x65, 0x37, 0xe4, 0x03, 0x6a, 0xff, 0x20, 0x46, 0x7e, - 0xc2, 0x30, 0xda, 0x63, 0x6c, 0xc1, 0xb2, 0xec, 0x70, 0x57, 0x48, 0xaa, 0xf1, 0x2b, 0x26, 0x63, - 0x99, 0x18, 0xa6, 0xc6, 0xe9, 0x69, 0x59, 0x5b, 0xe5, 0x04, 0x09, 0x1c, 0x8e, 0x7c, 0xd1, 0x9f, - 0x86, 0x75, 0x86, 0xb7, 0x34, 0x47, 0x22, 0x37, 0x24, 0xc4, 0x91, 0x47, 0x8a, 0x25, 0xd4, 0x50, - 0xde, 0xb4, 0x54, 0x90, 0x4e, 0xea, 0x87, 0xe0, 0xe7, 0x57, 0x50, 0xae, 0x2e, 0xb9, 0x2f, 0x31, - 0x17, 0xf0, 0x84, 0xff, 0xc4, 0x60, 0xc9, 0xf1, 0xab, 0xe1, 0x50, 0x92, 0x0c, 0x13, 0x51, 0x04, - 0xcf, 0x4e, 0x3c, 0x9b, 0x16, 0xbf, 0xf2, 0xa4, 0x41, 0x5c, 0xc6, 0x2c, 0x6a, 0x2c, 0xc7, 0xaf, - 0x5d, 0x7b, 0xec, 0xf7, 0x67, 0x3d, 0xc0, 0xa4, 0xc2, 0xe9, 0x48, 0x0e, 0x0d, 0x36, 0x49, 0x95, - 0xc6, 0x89, 0xd9, 0x59, 0x73, 0x12, 0xe2, 0x1f, 0xd1, 0x57, 0xfc, 0x8f, 0xc2, 0xcb, 0x53, 0x7b, - 0x4a, 0x0c, 0xc0, 0x73, 0x7f, 0x82, 0x95, 0xf5, 0xcb, 0x11, 0xa8, 0x60, 0x9e, 0xb3, 0x95, 0xbc, - 0x65, 0x78, 0x20, 0x19, 0xd2, 0x11, 0xb4, 0x43, 0x67, 0xa7, 0xca, 0xc2, 0x14, 0xdb, 0x76, 0x18, - 0xb9, 0xd3, 0x33, 0xa2, 0x19, 0x5b, 0x7e, 0xe7, 0xe1, 0xe6, 0x05, 0x9e, 0xca, 0x1c, 0x7d, 0xfb, - 0x7e, 0x57, 0x65, 0x4c, 0xf7, 0xbf, 0x11, 0x64, 0xf6, 0x4d, 0x09, 0x5f, 0xbd, 0x4d, 0x85, 0xcd, - 0x75, 0x30, 0x99, 0x32, 0x2c, 0xb2, 0x96, 0xd0, 0xbd, 0x47, 0x13, 0xb9, 0xb9, 0x24, 0x74, 0xe8, - 0x80, 0x2f, 0x43, 0x6c, 0xee, 0x98, 0x66, 0x48, 0xbb, 0x1d, 0x20, 0x90, 0x78, 0x51, 0x8f, 0xcb, - 0x86, 0xad, 0x5d, 0x8b, 0xaf, 0x6e, 0xf7, 0x8e, 0xa4, 0x3f, 0xa0, 0xf7, 0x3b, 0x02, 0xf8, 0x81, - 0x00, 0x73, 0xc3, 0xd0, 0x49, 0x5d, 0x6f, 0x05, 0xe8, 0x87, 0x93, 0xea, 0xdf, 0x6e, 0x3b, 0x5f, - 0xa9, 0x6d, 0xd6, 0xfe, 0xaa, 0x08, 0x50, 0x55, 0x28, 0x1e, 0x90, 0xac, 0x04, 0xda, 0x86, 0xbe, - 0xfe, 0x9a, 0x74, 0x61, 0x9e, 0x8e, 0xac, 0x14, 0x9e, 0x05, 0x6b, 0x4d, 0xa4, 0x1b, 0x1f, 0x1d, - 0xe3, 0x35, 0xee, 0x45, 0xa5, 0x40, 0xa9, 0x7e, 0x44, 0xf1, 0x23, 0xc2, 0x9b, 0xcd, 0xf4, 0x18, - 0x70, 0xb5, 0x7a, 0xb2, 0xd0, 0x76, 0x5b, 0xce, 0x2c, 0x8c, 0x59, 0x59, 0x6c, 0x9c, 0x02, 0x69, - 0xb6, 0xb2, 0x46, 0x2c, 0x0f, 0x54, 0xa8, 0x48, 0x78, 0x60, 0x7a, 0x3a, 0x35, 0x11, 0x41, 0x12, - 0x14, 0x01, 0xaf, 0xe0, 0x65, 0x47, 0x39, 0x2a, 0x9a, 0xf9, 0x6e, 0x6e, 0x72, 0x6c, 0x14, 0x4b, - 0xdc, 0x7a, 0x05, 0x69, 0x5d, 0xed, 0x75, 0x8a, 0xbc, 0xc4, 0x35, 0xb1, 0x18, 0xc1, 0xc2, 0xb0, - 0x6c, 0x77, 0x5a, 0x01, 0xbf, 0xd3, 0x93, 0xc4, 0xf5, 0x2f, 0x5c, 0x1e, 0x3a, 0xca, 0x2c, 0x35, - 0x62, 0x49, 0xa7, 0x09, 0x27, 0x87, 0x91, 0x07, 0x57, 0xe3, 0xa6, 0xdf, 0x9e, 0xe4, 0x6d, 0x0a, - 0xd4, 0xca, 0xb7, 0xb4, 0xae, 0xf3, 0x21, 0xa5, 0xda, 0x2b, 0x65, 0xf6, 0x9d, 0xea, 0x62, 0xfe, - 0xd8, 0xce, 0x70, 0x50, 0xa3, 0x98, 0x40, 0xfa, 0xdf, 0x0d, 0xc7, 0xdd, 0xe4, 0x73, 0x51, 0xae, - 0x9b, 0x87, 0xb4, 0xdf, 0x2d, 0x77, 0xe3, 0xb8, 0xce, 0x23, 0xaf, 0xe1, 0xc3, 0x77, 0x3b, 0x9a, - 0xcd, 0x23, 0xe0, 0x6d, 0x0d, 0x37, 0x62, 0xe1, 0xaf, 0x8a, 0x7e, 0x8d, 0xbb, 0x4a, 0xeb, 0x9d, - 0x74, 0x81, 0x20, 0x42, 0x1b, 0x32, 0x68, 0x56, 0x56, 0xee, 0xae, 0x3f, 0xf7, 0xe7, 0xf4, 0x97, - 0x4d, 0x15, 0x0c, 0xb4, 0x2e, 0xd0, 0x65, 0x15, 0x11, 0xab, 0x24, 0x7e, 0xa3, 0xe9, 0x02, 0x52, - 0xe9, 0x77, 0x0f, 0x6e, 0x0a, 0xd2, 0x0f, 0x35, 0xe4, 0xd5, 0xba, 0x19, 0x47, 0x92, 0xfc, 0x9d, - 0x81, 0x76, 0x9e, 0x6a, 0x36, 0x7b, 0x05, 0xaf, 0x4b, 0x2e, 0x0d, 0xa8, 0x0c, 0x88, 0x97, 0x65, - 0x31, 0xa1, 0xb9, 0x40, 0x73, 0x4c, 0xe5, 0xf0, 0xdd, 0x22, 0x1f, 0x0b, 0x9e, 0x0a, 0xa4, 0x31, - 0x7a, 0xe2, 0x9e, 0x5d, 0x25, 0x83, 0x0f, 0x81, 0x22, 0x7f, 0x30, 0x93, 0x8b, 0x75, 0xde, 0x19, - 0x04, 0xd7, 0xe5, 0x00, 0xff, 0x34, 0x92, 0x89, 0xf1, 0x39, 0xb4, 0x32, 0x71, 0xaa, 0xce, 0xa3, - 0x89, 0x6c, 0x85, 0xe4, 0x2d, 0xa7, 0xc4, 0x10, 0x49, 0x03, 0xe4, 0xfc, 0xcd, 0x87, 0xd7, 0x03, - 0xde, 0x28, 0x34, 0x96, 0x03, 0x6f, 0xdf, 0x76, 0x6d, 0x68, 0x87, 0x0f, 0xe9, 0x8d, 0x1e, 0x13, - 0x0c, 0xe0, 0x27, 0xb0, 0x84, 0x6d, 0x62, 0xff, 0x3e, 0x89, 0x02, 0xc3, 0x1c, 0x32, 0x28, 0x73, - 0x9c, 0x56, 0x22, 0x07, 0x12, 0x18, 0x3e, 0x56, 0xb1, 0x20, 0x9e, 0x18, 0xd5, 0xb6, 0x50, 0x63, - 0x86, 0x16, 0x6c, 0xdf, 0x11, 0xd3, 0xe0, 0xe1, 0x43, 0xcf, 0xdb, 0x45, 0x80, 0xed, 0x2b, 0xc4, - 0x99, 0xbb, 0x23, 0x9a, 0xfa, 0x0f, 0xba, 0x38, 0x51, 0xd8, 0x0b, 0xf7, 0x43, 0xf6, 0xc4, 0x15, - 0xd0, 0x59, 0x0c, 0xcd, 0x45, 0xa1, 0x96, 0x8d, 0x97, 0xee, 0x8c, 0xa5, 0x3e, 0xb6, 0xcb, 0x7e, - 0x4f, 0x2b, 0xb7, 0x78, 0xba, 0x0b, 0x67, 0xa4, 0x51, 0xde, 0xf8, 0x9c, 0xc2, 0x73, 0xb1, 0x7f, - 0xff, 0x94, 0x45, 0x28, 0x3a, 0xaa, 0xb6, 0xc5, 0x16, 0xa3, 0xe4, 0xc0, 0x54, 0xf7, 0x04, 0x73, - 0x8d, 0xa2, 0x61, 0x18, 0x66, 0x80, 0x28, 0x35, 0xc0, 0x72, 0x02, 0xcf, 0x61, 0x70, 0x59, 0x75, - 0x20, 0x44, 0x7b, 0x62, 0xe7, 0x46, 0x23, 0x73, 0x88, 0x63, 0xc5, 0x4a, 0x0e, 0x38, 0xa9, 0x57, - 0xa8, 0x7f, 0x2f, 0xac, 0x2e, 0xae, 0x71, 0x70, 0xf2, 0xb6, 0x35, 0x2c, 0x14, 0x82, 0x59, 0xf3, - 0xf5, 0x6b, 0xa1, 0xa8, 0x63, 0xcd, 0x14, 0x18, 0x06, 0xd6, 0xd8, 0x1e, 0x64, 0x83, 0xe0, 0x24, - 0xc7, 0xb3, 0x28, 0x13, 0x7a, 0x3f, 0x37, 0xd5, 0x85, 0x6b, 0x29, 0x9e, 0xa5, 0x66, 0xb6, 0x8d, - 0xd2, 0x9c, 0x16, 0xd0, 0x1b, 0x2b, 0x51, 0xc0, 0xf9, 0xfc, 0xf2, 0xdd, 0x73, 0xbc, 0x25, 0x6b, - 0x57, 0x42, 0xee, 0xa9, 0x4b, 0x3b, 0xda, 0x04, 0xa8, 0xe1, 0x13, 0x4f, 0xb8, 0x5c, 0x52, 0x3e, - 0xb9, 0xd1, 0x43, 0x40, 0xe7, 0x41, 0x2d, 0x82, 0x99, 0x22, 0x13, 0xf4, 0xee, 0x02, 0x43, 0xba, - 0x7e, 0x4c, 0x35, 0xfe, 0xaa, 0x38, 0xb1, 0xf9, 0xf5, 0x84, 0xf4, 0x13, 0x34, 0xe7, 0x3a, 0x53, - 0x05, 0x72, 0xcd, 0x84, 0x37, 0xca, 0x6b, 0x1f, 0x33, 0x84, 0xa2, 0xfe, 0x6a, 0xe0, 0x80, 0x37, - 0xb5, 0x4f, 0xba, 0xc0, 0x0e, 0x79, 0xcf, 0x3c, 0x9c, 0x9a, 0xc2, 0x65, 0x5e, 0x5d, 0xd2, 0xfb, - 0xc5, 0x8c, 0x59, 0xa1, 0x07, 0x34, 0x03, 0x6b, 0xac, 0x0e, 0xf1, 0xc6, 0x6d, 0x17, 0xe7, 0xe6, - 0x27, 0xec, 0xcd, 0xf3, 0xa3, 0xce, 0x08, 0x8c, 0x80, 0x83, 0x60, 0xc0, 0x5f, 0xee, 0x9d, 0x47, - 0xbd, 0x71, 0xae, 0x6c, 0xec, 0x1c, 0x30, 0x93, 0x8c, 0x83, 0x3d, 0x6a, 0xb8, 0x5b, 0x95, 0x07, - 0x07, 0x3a, 0x64, 0x68, 0xbb, 0x11, 0xea, 0x62, 0x43, 0x81, 0x80, 0x9c, 0x89, 0x56, 0x52, 0xf9, - 0x67, 0xa0, 0x52, 0xdf, 0x19, 0x60, 0x6b, 0x35, 0xae, 0x1d, 0x88, 0xcb, 0xfc, 0x08, 0x86, 0xa0, - 0xea, 0x6b, 0xed, 0x98, 0xb1, 0xc2, 0x75, 0x53, 0x57, 0x29, 0xe3, 0x33, 0x3d, 0x32, 0x14, 0xd4, - 0x45, 0x55, 0x96, 0x7c, 0xd6, 0x3a, 0x44, 0xb8, 0xb9, 0xe2, 0xff, 0xa1, 0x74, 0x27, 0x9f, 0xc3, - 0x90, 0xb9, 0xa2, 0xb9, 0x06, 0xf7, 0x27, 0x99, 0xf0, 0x6a, 0x74, 0x7d, 0x2a, 0x0e, 0xc9, 0x08, - 0x85, 0x58, 0x3a, 0x7b, 0x23, 0x38, 0x04, 0xf5, 0xcb, 0xd6, 0x66, 0x68, 0xcc, 0xd7, 0x23, 0xbd, - 0x4d, 0x63, 0x8c, 0x69, 0xdc, 0x04, 0xa7, 0x37, 0xcf, 0xb5, 0x2e, 0x0b, 0x81, 0x88, 0x23, 0x59, - 0x22, 0xb5, 0x36, 0xf9, 0xd5, 0xae, 0x9c, 0x9c, 0x02, 0xbe, 0x10, 0x24, 0x2b, 0x98, 0x32, 0xaa, - 0x62, 0x98, 0x1e, 0xb8, 0x59, 0x5c, 0x3f, 0x51, 0x21, 0xdf, 0x2e, 0x75, 0x98, 0xf7, 0x96, 0x82, - 0xd9, 0xb2, 0xc0, 0x47, 0xd7, 0xdc, 0xc8, 0xfa, 0xfd, 0x19, 0xf5, 0xe5, 0x3d, 0x4f, 0x4d, 0x91, - 0x06, 0x25, 0x11, 0x0c, 0xd0, 0xac, 0x2e, 0xb2, 0x79, 0xb3, 0x2b, 0x70, 0xe7, 0x93, 0x66, 0x81, - 0xc6, 0x0b, 0x14, 0xf0, 0x59, 0x17, 0xa2, 0x88, 0xef, 0xbc, 0x53, 0x6f, 0xf9, 0x04, 0xf6, 0x3a, - 0xea, 0x09, 0x6d, 0xd7, 0x0b, 0xc6, 0x1e, 0xeb, 0x22, 0x83, 0x10, 0x84, 0xa5, 0x31, 0x22, 0xd5, - 0x81, 0x8f, 0x37, 0x13, 0x8a, 0xcc, 0xf4, 0x42, 0x64, 0x82, 0x00, 0x2b, 0xd8, 0x88, 0xa9, 0x0d, - 0xb5, 0x99, 0xba, 0x38, 0x2e, 0x8f, 0xbb, 0x33, 0x90, 0xc9, 0x4f, 0xcb, 0x2e, 0xb3, 0x87, 0x7b, - 0xde, 0x40, 0xe5, 0xec, 0x51, 0xb6, 0x19, 0x82, 0x35, 0xc2, 0x33, 0xea, 0xdd, 0x6c, 0x06, 0x00, - 0x13, 0x21, 0x9c, 0x5b, 0xc9, 0x17, 0x41, 0x4e, 0xdc, 0x5a, 0xdf, 0x19, 0x50, 0x60, 0x05, 0x4b, - 0xa4, 0x23, 0x1b, 0x76, 0x2a, 0x47, 0x24, 0xbe, 0x92, 0x36, 0xaf, 0x3e, 0x3b, 0x64, 0x0a, 0x60, - 0x63, 0xd6, 0x4c, 0xf9, 0x4d, 0x68, 0x1b, 0x6f, 0xeb, 0xf2, 0x1f, 0x28, 0x3b, 0xaf, 0x32, 0x03, - 0xba, 0x00, 0x4e, 0xf1, 0x83, 0x80, 0xea, 0x6d, 0xdf, 0x1f, 0xe3, 0x76, 0x91, 0x97, 0x5a, 0x90, - 0x30, 0x59, 0x3c, 0x61, 0x5f, 0x3b, 0xa7, 0x07, 0xc8, 0x03, 0x36, 0x1f, 0xe2, 0xe1, 0x08, 0x4f, - 0xb7, 0xa7, 0xda, 0x13, 0x93, 0xb3, 0xee, 0x0f, 0x84, 0xff, 0x92, 0xc0, 0x7d, 0x45, 0x9d, 0x82, - 0xb9, 0x71, 0x66, 0x66, 0xaf, 0xb9, 0x9e, 0x94, 0x1d, 0xef, 0x6b, 0x04, 0xb8, 0x33, 0x05, 0xc5, - 0xaa, 0xe8, 0xdd, 0xd5, 0x1f, 0xd1, 0x7f, 0xa2, 0xe3, 0xe4, 0xcb, 0xf7, 0x71, 0xef, 0x18, 0x5d, - 0xc0, 0x56, 0x59, 0xb8, 0x17, 0xcf, 0x81, 0x44, 0xd5, 0x43, 0x21, 0x63, 0x30, 0x43, 0xc9, 0xdb, - 0xaf, 0x90, 0x47, 0x2b, 0x8a, 0x3f, 0x2b, 0xa2, 0x06, 0x4b, 0x21, 0xd2, 0x44, 0x97, 0xde, 0x9c, - 0xaa, 0x04, 0x75, 0xe9, 0xff, 0x61, 0x71, 0x18, 0x84, 0x2d, 0xff, 0x80, 0x5c, 0x11, 0x28, 0xd0, - 0x43, 0x65, 0x1d, 0x47, 0x1c, 0xd1, 0x2e, 0xbe, 0xe8, 0x27, 0xb9, 0x8a, 0xbd, 0xda, 0x5c, 0xd5, - 0x23, 0x5a, 0x80, 0xbc, 0x56, 0x03, 0xc4, 0xe6, 0xac, 0x3b, 0x87, 0x60, 0x05, 0x42, 0xc6, 0x57, - 0x4d, 0xc7, 0x61, 0x88, 0x6d, 0xdf, 0x59, 0xd7, 0xdd, 0x59, 0xf2, 0x08, 0xbe, 0x3d, 0x8e, 0x4f, - 0xc5, 0x5d, 0x9f, 0x99, 0x08, 0xce, 0xd7, 0x79, 0xd2, 0xff, 0x07, 0x36, 0x36, 0xed, 0x88, 0x51, - 0xfd, 0x79, 0x07, 0x48, 0x3e, 0xca, 0xd0, 0x04, 0x10, 0x19, 0x78, 0x3b, 0x8f, 0x94, 0xbd, 0x12, - 0x95, 0x6b, 0x5c, 0xfc, 0x1f, 0x94, 0xa3, 0x2b, 0xdc, 0xd4, 0xdc, 0xdb, 0x5c, 0xaa, 0x9e, 0x9e, - 0x3e, 0xeb, 0xf3, 0x63, 0x5f, 0xe5, 0x47, 0x06, 0x73, 0xbb, 0xa4, 0x09, 0x9f, 0x7a, 0xf9, 0x36, - 0x50, 0x77, 0x75, 0x60, 0x26, 0xe3, 0xf0, 0xb2, 0x54, 0x1b, 0x99, 0x4a, 0x81, 0x5a, 0x3a, 0x8b, - 0xe9, 0x89, 0x36, 0xd5, 0x8e, 0x14, 0x1e, 0x7b, 0x73, 0xf7, 0x89, 0xbd, 0x3a, 0xb2, 0xaf, 0x53, - 0x10, 0x67, 0xfc, 0x52, 0x93, 0x28, 0x12, 0x59, 0x63, 0xcb, 0xaf, 0x66, 0x9d, 0xc1, 0x16, 0xba, - 0x05, 0xf6, 0x09, 0x11, 0x3d, 0x71, 0x62, 0xab, 0x14, 0x9f, 0xe1, 0xe7, 0x8d, 0xb6, 0x6a, 0x18, - 0xbb, 0x95, 0xe0, 0xfd, 0x55, 0x89, 0xfc, 0xe0, 0x8c, 0xd2, 0x6c, 0x7d, 0x46, 0x69, 0x40, 0x81, - 0xc1, 0x4f, 0xd9, 0x54, 0xe8, 0xf7, 0x80, 0x3d, 0xf2, 0x84, 0xd3, 0xff, 0x44, 0xfa, 0x72, 0x90, - 0xd1, 0xfa, 0xd6, 0x66, 0x58, 0xfe, 0x3d, 0x00, 0xef, 0xc4, 0x64, 0x15, 0xfb, 0x5f, 0xff, 0xa9, - 0x30, 0xdc, 0x31, 0xf3, 0xff, 0xb6, 0xe3, 0xef, 0xdf, 0x57, 0x7e, 0x51, 0x15, 0x2c, 0xe7, 0x74, - 0xfb, 0xe0, 0xc3, 0x81, 0x2b, 0x3d, 0x6f, 0xbc, 0x2c, 0x74, 0x2b, 0xf5, 0x3a, 0x10, 0x0c, 0x94, - 0xec, 0x44, 0x76, 0x18, 0x30, 0x92, 0x1a, 0xb8, 0x3e, 0xfb, 0xf7, 0xb7, 0xb2, 0xfe, 0x91, 0x10, - 0xa8, 0x41, 0x36, 0xe1, 0x9f, 0xfc, 0x72, 0xf3, 0xaf, 0x45, 0x65, 0xb8, 0x99, 0x9d, 0x20, 0x7f, - 0xe2, 0x80, 0x9b, 0x74, 0x74, 0xfe, 0x41, 0x5d, 0xd4, 0x9a, 0x97, 0x71, 0xe4, 0xea, 0xf6, 0x56, - 0xec, 0x06, 0xb7, 0x68, 0x6e, 0x60, 0xc6, 0xe4, 0x90, 0x23, 0x21, 0xbd, 0x5e, 0x9a, 0xb5, 0xba, - 0x1a, 0xda, 0xaf, 0x11, 0x4c, 0xa4, 0xc5, 0x0a, 0x01, 0x7c, 0xb6, 0x12, 0xeb, 0x88, 0xf1, 0x91, - 0x61, 0x47, 0xc4, 0xd7, 0xd5, 0xc4, 0x4d, 0xb2, 0x7d, 0xe3, 0x04, 0xde, 0x27, 0xea, 0x36, 0xa2, - 0x0c, 0xd3, 0x2e, 0x50, 0x26, 0x20, 0xe9, 0x54, 0x37, 0xb8, 0x98, 0x84, 0x4f, 0x21, 0xd7, 0x62, - 0x83, 0xe1, 0xf7, 0x01, 0x59, 0xf1, 0xbf, 0xe3, 0x44, 0xb7, 0x93, 0x3d, 0xf1, 0x86, 0x46, 0xff, - 0xbc, 0x7b, 0x92, 0x47, 0xf0, 0x5a, 0x39, 0xd8, 0xc0, 0x5f, 0x48, 0x8b, 0x0f, 0xb0, 0xcb, 0x03, - 0xce, 0x26, 0x5c, 0x5e, 0xb5, 0x88, 0x39, 0xb3, 0xb1, 0x18, 0x3a, 0x0d, 0xa5, 0x2f, 0xa2, 0x6b, - 0x3f, 0x10, 0x43, 0xb8, 0x95, 0x54, 0x5a, 0x49, 0xc7, 0x20, 0x2b, 0x28, 0x5b, 0x8a, 0xa7, 0x68, - 0xa8, 0x5d, 0x09, 0xfe, 0xe0, 0xb2, 0xd8, 0x36, 0xdd, 0x6d, 0xae, 0xd4, 0xcc, 0xd7, 0x7d, 0x44, - 0x7f, 0x34, 0x12, 0x8d, 0x70, 0xbd, 0x6f, 0x8f, 0xda, 0x66, 0xb3, 0x19, 0x9b, 0x1b, 0x98, 0xc1, - 0xca, 0xc1, 0x5b, 0xce, 0x37, 0x6a, 0x6d, 0xf6, 0x0b, 0x6e, 0x07, 0xe1, 0x69, 0x7a, 0x1a, 0xa3, - 0x25, 0xad, 0xa2, 0x00, 0x47, 0xd6, 0x3a, 0x15, 0x0b, 0xe0, 0x52, 0x75, 0xe9, 0x21, 0x56, 0xf6, - 0xde, 0x4a, 0x12, 0x68, 0x61, 0x7b, 0x84, 0xb0, 0x90, 0xd1, 0xb9, 0xa6, 0xf7, 0x40, 0xa0, 0xa2, - 0x87, 0xd1, 0x39, 0xdb, 0x3a, 0x6a, 0x76, 0xd3, 0x10, 0xe2, 0x7f, 0x06, 0xf6, 0xc0, 0x0e, 0x0f, - 0x85, 0x7e, 0x90, 0xf2, 0x18, 0x17, 0x9e, 0x44, 0x0b, 0x96, 0x87, 0x8f, 0x84, 0xf9, 0x8e, 0xdd, - 0x19, 0xea, 0x43, 0x21, 0x28, 0xfb, 0x97, 0x8d, 0xa1, 0xd4, 0xb6, 0x48, 0x75, 0xad, 0xd3, 0x80, - 0xc6, 0xf9, 0xe2, 0x5b, 0x38, 0x14, 0x16, 0xd1, 0x5c, 0x3b, 0xe6, 0x77, 0x82, 0x53, 0xf5, 0x23, - 0x1a, 0xca, 0x58, 0x93, 0x09, 0xeb, 0xb4, 0x69, 0x5d, 0x5a, 0x28, 0x8d, 0xfb, 0xef, 0x23, 0x24, - 0x3b, 0x31, 0x02, 0xca, 0x1a, 0xc1, 0x01, 0x06, 0x2f, 0x1a, 0x4b, 0xc1, 0x16, 0xfb, 0x9d, 0x20, - 0x05, 0xc4, 0x7e, 0xe8, 0xa3, 0x8d, 0xd3, 0x97, 0x72, 0xbf, 0x09, 0x03, 0x70, 0xa3, 0x98, 0xfc, - 0xd4, 0xfe, 0x60, 0xbf, 0x07, 0x51, 0xb7, 0xd5, 0x44, 0x31, 0x4b, 0xa5, 0x64, 0x19, 0xd6, 0xd8, - 0xfc, 0x26, 0x33, 0xab, 0x00, 0xb6, 0x51, 0x5a, 0x83, 0x70, 0xc9, 0x57, 0x34, 0xdb, 0x37, 0xb6, - 0x45, 0xcc, 0xe0, 0x38, 0x11, 0x53, 0x6f, 0x11, 0xf6, 0xf3, 0x04, 0x48, 0x82, 0x69, 0x39, 0x6c, - 0x86, 0x64, 0x51, 0x63, 0xac, 0x84, 0x63, 0xc1, 0x65, 0x50, 0xaf, 0x9e, 0xb6, 0x3c, 0x6b, 0xfe, - 0x29, 0x11, 0xed, 0x5d, 0xa9, 0x02, 0x9d, 0x14, 0x7f, 0xce, 0x40, 0xbe, 0x95, 0x7e, 0x9c, 0xb3, - 0xe0, 0xa5, 0x59, 0x4c, 0x79, 0x37, 0xa5, 0x61, 0xcf, 0x09, 0x30, 0x57, 0x09, 0x58, 0xd1, 0x4e, - 0x51, 0xd6, 0x08, 0x7c, 0xf5, 0x1e, 0x21, 0xe2, 0xa6, 0x68, 0x16, 0x8f, 0xfc, 0xdf, 0x87, 0xdf, - 0xda, 0xd1, 0xbb, 0x8e, 0xd4, 0x46, 0xb6, 0xd2, 0x56, 0xf3, 0x0e, 0x06, 0xf5, 0x0e, 0x0c, 0x31, - 0x0c, 0xf6, 0x35, 0x68, 0xa3, 0xdc, 0x8b, 0x45, 0xa6, 0x50, 0xf6, 0xe5, 0x85, 0xf4, 0x98, 0x32, - 0x5c, 0x08, 0x9b, 0xcb, 0x50, 0x23, 0x5e, 0xc5, 0xe5, 0x78, 0x6b, 0x7a, 0xbf, 0x1c, 0x71, 0xe4, - 0xb2, 0x06, 0x3e, 0x79, 0xf4, 0xe7, 0xfa, 0x5f, 0x13, 0x1b, 0x61, 0x50, 0xae, 0x98, 0xc1, 0x83, - 0x43, 0x90, 0x9c, 0xbd, 0x62, 0xf2, 0xc1, 0x55, 0x05, 0x27, 0xd9, 0x5d, 0x0f, 0xc4, 0x43, 0x9b, - 0xaa, 0x11, 0x4c, 0x11, 0x41, 0xec, 0x9a, 0xe6, 0x13, 0x62, 0x9b, 0x29, 0xce, 0x38, 0x2a, 0xf9, - 0x89, 0x7a, 0x30, 0x3c, 0xc1, 0xef, 0x05, 0x7c, 0xdf, 0xc8, 0x0e, 0x7d, 0x59, 0xb0, 0x86, 0xfd, - 0xf0, 0xc6, 0x01, 0x2f, 0x8d, 0xe2, 0xa8, 0xf4, 0x96, 0x21, 0x90, 0x2b, 0xa4, 0x45, 0x6e, 0x9c, - 0xd1, 0xaa, 0x34, 0x00, 0x7f, 0x7c, 0x75, 0x7c, 0xdb, 0xa4, 0x3c, 0xce, 0xac, 0xc0, 0x1a, 0xde, - 0x91, 0xb6, 0xec, 0x93, 0x61, 0x67, 0x5d, 0x1d, 0x9e, 0x8a, 0xe6, 0x21, 0xce, 0x91, 0x17, 0xf2, - 0x03, 0xa2, 0xf5, 0xac, 0x67, 0xa4, 0xa8, 0xdd, 0xc2, 0xc8, 0x30, 0x1d, 0xe1, 0xb7, 0x00, 0x2c, - 0x97, 0x94, 0x4d, 0x67, 0x0b, 0x53, 0x17, 0x4d, 0x2b, 0x79, 0x71, 0xee, 0x99, 0x77, 0xc6, 0x8a, - 0x6d, 0x5d, 0x61, 0x06, 0xc3, 0x14, 0xfd, 0x95, 0xa0, 0x62, 0x25, 0xc0, 0x75, 0x37, 0x99, 0xab, - 0x8f, 0x0f, 0x8f, 0x9f, 0xb2, 0xa5, 0xd6, 0x4e, 0xd1, 0x6f, 0x1f, 0x43, 0xfd, 0x77, 0x81, 0x1c, - 0x77, 0x06, 0x0f, 0xda, 0x63, 0x4d, 0xfb, 0x5e, 0xf7, 0xd5, 0x04, 0x35, 0x92, 0x9c, 0x93, 0x0c, - 0x98, 0x9d, 0xb6, 0x2a, 0x90, 0xb8, 0x6c, 0x66, 0x3f, 0x13, 0xc2, 0x85, 0x2a, 0x95, 0xe4, 0xfb, - 0x99, 0xec, 0x6f, 0x69, 0x6d, 0x49, 0x45, 0xdf, 0xb8, 0x7a, 0x32, 0xb6, 0xb9, 0xdc, 0x43, 0x4e, - 0x49, 0xe6, 0x55, 0x71, 0xf0, 0xf9, 0xa9, 0x56, 0x85, 0xc1, 0xc2, 0xa1, 0x0c, 0x88, 0xc8, 0x9f, - 0x2f, 0x86, 0x9e, 0xb1, 0x05, 0xb8, 0x65, 0xdf, 0x59, 0xee, 0x29, 0x27, 0xb9, 0xd5, 0xb9, 0x13, - 0xb3, 0xea, 0xcc, 0x40, 0x73, 0x7c, 0x2e, 0xc8, 0xe2, 0x81, 0x79, 0xc6, 0x83, 0x99, 0x1f, 0xec, - 0x3d, 0xdb, 0x18, 0x04, 0xf8, 0x78, 0x23, 0x74, 0xf3, 0x45, 0x3f, 0xf7, 0x32, 0xd7, 0x6c, 0xa1, - 0x72, 0x31, 0xdc, 0x67, 0x21, 0xb0, 0xe7, 0x95, 0xb7, 0xb9, 0xee, 0x7a, 0xa4, 0x62, 0x9f, 0x0b, - 0x28, 0x88, 0x7a, 0xcc, 0xa0, 0x21, 0x46, 0x1b, 0x46, 0x36, 0xb3, 0x8b, 0x75, 0x5a, 0x45, 0xde, - 0x10, 0x90, 0x98, 0xba, 0xf1, 0x80, 0x97, 0xfc, 0xf1, 0x33, 0x83, 0x6f, 0x17, 0xf5, 0xdb, 0x12, - 0x9d, 0x71, 0xee, 0xde, 0xc1, 0x86, 0x8c, 0x89, 0x56, 0x03, 0x53, 0x00, 0x69, 0x8a, 0x0e, 0xf6, - 0x2a, 0x26, 0x0e, 0x61, 0xd0, 0xd5, 0xf5, 0xcf, 0x29, 0x47, 0x10, 0xe7, 0x10, 0x48, 0x7b, 0xd1, - 0x72, 0x54, 0x24, 0xb4, 0xec, 0x43, 0xa5, 0x65, 0xba, 0x65, 0xb2, 0x5c, 0x0e, 0x80, 0xbb, 0x7d, - 0x65, 0x7b, 0x2c, 0x4f, 0xe1, 0x2b, 0x50, 0x88, 0xfb, 0x9b, 0x1d, 0xf4, 0xfa, 0x73, 0xea, 0x91, - 0x98, 0xdd, 0x9e, 0xe9, 0xd4, 0xb9, 0xfe, 0x7f, 0x7f, 0xa9, 0x69, 0x97, 0x48, 0x35, 0xcf, 0x22, - 0xbd, 0x40, 0xbd, 0x5b, 0x4b, 0x28, 0xfe, 0xa9, 0x81, 0x00, 0x70, 0x2d, 0x74, 0x22, 0x88, 0x42, - 0x5c, 0xe0, 0x72, 0xfe, 0x78, 0x46, 0x59, 0x82, 0xad, 0x53, 0x95, 0x8c, 0xbb, 0x1d, 0xc3, 0xd4, - 0x8d, 0xee, 0x29, 0xa5, 0x07, 0x22, 0x51, 0x68, 0x70, 0xaf, 0x67, 0x72, 0x38, 0x27, 0x1d, 0xc9, - 0xbb, 0x2d, 0xb9, 0x2d, 0xb4, 0xcc, 0x40, 0x4e, 0x70, 0x3a, 0x85, 0xdd, 0xf2, 0xd1, 0x27, 0xe8, - 0xdb, 0x36, 0x5a, 0xc3, 0xcf, 0x92, 0xb2, 0xfe, 0xd0, 0xac, 0xa6, 0x26, 0x68, 0xdb, 0x08, 0xda, - 0xa5, 0xb9, 0x06, 0xbf, 0x33, 0x4a, 0x3e, 0x67, 0xcf, 0x7a, 0x26, 0x61, 0x83, 0xca, 0x01, 0x04, - 0x72, 0x18, 0x88, 0xd5, 0xf6, 0xa8, 0x14, 0xc2, 0xd3, 0x58, 0xd2, 0x51, 0x27, 0xb5, 0x58, 0x4d, - 0x67, 0x49, 0x78, 0x00, 0xa2, 0x64, 0xbf, 0xd2, 0xd4, 0x71, 0x40, 0x81, 0xc8, 0xac, 0xd5, 0x2f, - 0xad, 0x93, 0x08, 0x58, 0x0f, 0xbc, 0x29, 0xe1, 0x6a, 0x56, 0x84, 0xe8, 0x28, 0xc2, 0x78, 0x6c, - 0x50, 0x64, 0x5d, 0x48, 0xf4, 0x5f, 0xd9, 0xa3, 0x38, 0xfb, 0x5b, 0x31, 0x62, 0x47, 0x0e, 0x56, - 0x9e, 0x77, 0xfc, 0xc0, 0x66, 0x02, 0x20, 0x01, 0x34, 0x0a, 0x74, 0xb4, 0xc7, 0xc1, 0xc0, 0x1e, - 0x7a, 0xd4, 0xe2, 0xcc, 0x0e, 0xf3, 0x66, 0x5b, 0x19, 0xfe, 0xb3, 0x77, 0x7e, 0x05, 0x18, 0xfd, - 0x20, 0x06, 0x1b, 0xbb, 0x90, 0xeb, 0x5a, 0x5e, 0xc8, 0xf6, 0x3e, 0x44, 0x33, 0xe4, 0x28, 0xf3, - 0x89, 0xc9, 0xd0, 0xfc, 0xac, 0x4f, 0xcb, 0x53, 0xbf, 0x5f, 0xca, 0xfe, 0x14, 0x44, 0xf6, 0x77, - 0x04, 0x83, 0x8a, 0x84, 0x72, 0xaa, 0x45, 0xa2, 0xd1, 0x32, 0xea, 0xdd, 0x35, 0xbe, 0x57, 0xa5, - 0x65, 0xc0, 0x67, 0xe6, 0x73, 0x8b, 0xdf, 0x69, 0x66, 0xf5, 0x7b, 0x16, 0x98, 0x63, 0x6d, 0xb9, - 0x8c, 0x99, 0x17, 0x13, 0xba, 0xd1, 0xbf, 0x61, 0xcc, 0x4a, 0xe8, 0x96, 0xdb, 0x78, 0x35, 0x60, - 0xfd, 0x1f, 0xc9, 0xf4, 0x54, 0xbc, 0xc2, 0x1e, 0x89, 0xd6, 0x6e, 0xd9, 0xb5, 0xf3, 0xc4, 0xcb, - 0x24, 0x5b, 0x72, 0xf8, 0x77, 0xd5, 0xc0, 0xa9, 0x54, 0xdb, 0x27, 0xc3, 0x04, 0xf2, 0x09, 0xcc, - 0x23, 0x1b, 0xf2, 0x0d, 0x15, 0xdf, 0x58, 0x27, 0x09, 0x85, 0xfe, 0x10, 0x81, 0xbd, 0xe7, 0x92, - 0xb3, 0xde, 0x49, 0xe7, 0x23, 0x8e, 0xee, 0xf6, 0x52, 0x4a, 0x66, 0x23, 0x3f, 0xf9, 0xca, 0x13, - 0x48, 0xd8, 0x0f, 0x2a, 0xc5, 0x82, 0xe7, 0x5a, 0xb3, 0x88, 0xf5, 0x73, 0xdf, 0x64, 0x6a, 0xdc, - 0xe4, 0x58, 0xc7, 0x70, 0x23, 0xce, 0xb5, 0x24, 0x04, 0xa6, 0xa0, 0x88, 0x93, 0xa8, 0x6b, 0x33, - 0x5d, 0x6a, 0x80, 0x46, 0x3d, 0xc8, 0x34, 0x4e, 0xf1, 0xa5, 0x73, 0x45, 0x56, 0x7c, 0x64, 0xc9, - 0x5f, 0xf0, 0x04, 0x47, 0x7b, 0xb4, 0x0a, 0xda, 0x7e, 0x20, 0x06, 0x54, 0xd1, 0x62, 0x0b, 0x6d, - 0x1f, 0x62, 0x7b, 0xf6, 0xf8, 0x76, 0x3f, 0x15, 0xb6, 0xb8, 0xdd, 0xd5, 0x50, 0xab, 0x50, 0xf3, - 0x56, 0x6c, 0x25, 0x54, 0x9f, 0xd8, 0x5c, 0xd9, 0xf5, 0x05, 0x37, 0x0f, 0x83, 0x87, 0x6c, 0x5c, - 0xdd, 0xf1, 0xd3, 0x0a, 0xa6, 0x44, 0x93, 0x1e, 0x26, 0xab, 0x17, 0xd5, 0x8d, 0x2d, 0x0d, 0xfd, - 0x41, 0x0c, 0xe3, 0x98, 0x91, 0x50, 0xcb, 0xdb, 0x0e, 0x85, 0x51, 0xbb, 0xee, 0x86, 0x7f, 0x3a, - 0x49, 0x4c, 0x2b, 0x0c, 0x6f, 0x78, 0x91, 0xd5, 0x68, 0x12, 0x38, 0x3f, 0x3e, 0x47, 0x10, 0xb4, - 0xac, 0xc1, 0xb8, 0xd0, 0xb8, 0xcd, 0x5e, 0x8b, 0x4f, 0x1c, 0x8c, 0x69, 0x8c, 0x78, 0xb1, 0x89, - 0x74, 0x86, 0x8f, 0x93, 0xd3, 0x2a, 0x8b, 0x83, 0x3e, 0x4e, 0xca, 0xfd, 0x83, 0x58, 0x95, 0x43, - 0xd1, 0xbe, 0x53, 0x58, 0x78, 0xb3, 0x95, 0x10, 0x06, 0x92, 0x50, 0x89, 0xee, 0x25, 0x09, 0x5c, - 0x75, 0x4c, 0xb3, 0x1d, 0x6b, 0x41, 0x14, 0xf5, 0x66, 0xd8, 0xd2, 0xce, 0xe1, 0xef, 0xe8, 0x3d, - 0x59, 0xec, 0xb6, 0xd8, 0xea, 0x8e, 0x82, 0x55, 0x09, 0xd3, 0x43, 0x09, 0x30, 0x2a, 0xc4, 0x8a, - 0x2c, 0x11, 0xb1, 0x72, 0xdf, 0x94, 0xd8, 0xd6, 0x41, 0x48, 0x49, 0x5d, 0x35, 0x66, 0xe1, 0xf0, - 0x8d, 0x95, 0xc5, 0x8d, 0xce, 0xc6, 0xc1, 0x82, 0x35, 0x9a, 0xce, 0xe2, 0x95, 0xe6, 0xd3, 0x2b, - 0x7a, 0xae, 0xb6, 0x33, 0x35, 0xcb, 0x0d, 0xc6, 0x2a, 0xe9, 0x6c, 0xa0, 0x68, 0xf3, 0x6b, 0x94, - 0x32, 0x51, 0x63, 0x60, 0x70, 0xfe, 0x53, 0xd7, 0x0c, 0x98, 0x07, 0xb7, 0xbe, 0x25, 0x53, 0x21, - 0x5c, 0x2f, 0xe0, 0xf4, 0x21, 0x9c, 0x81, 0x0b, 0x8a, 0xae, 0x3b, 0x23, 0x8a, 0x68, 0x2f, 0x23, - 0x79, 0x73, 0x9e, 0xb7, 0x52, 0x41, 0xd1, 0x9f, 0x1a, 0xdc, 0x9e, 0x3d, 0x98, 0xce, 0x32, 0x10, - 0x99, 0xb7, 0x44, 0xad, 0x49, 0xe6, 0x1b, 0x31, 0x82, 0x0f, 0x46, 0x5b, 0x6b, 0xf4, 0xd7, 0x74, - 0x0d, 0x7b, 0x3b, 0xea, 0x5c, 0x22, 0x84, 0x7b, 0x96, 0xc2, 0xab, 0xe3, 0x9f, 0x1a, 0xa3, 0x4f, - 0xd5, 0x2a, 0xc2, 0x12, 0x4a, 0xf8, 0x95, 0x78, 0x0f, 0x0c, 0xd4, 0x5d, 0x61, 0x40, 0xa1, 0x83, - 0xea, 0xfa, 0xf9, 0x2e, 0xe7, 0x70, 0xc2, 0xa4, 0xd5, 0x66, 0xdf, 0x32, 0x0c, 0xb5, 0x73, 0xae, - 0x61, 0xdc, 0x46, 0x58, 0xed, 0x01, 0x75, 0xc4, 0x78, 0xd6, 0x1c, 0x46, 0x33, 0x9b, 0xf3, 0x85, - 0xfd, 0xd3, 0x1b, 0x14, 0xcb, 0x4a, 0x43, 0xa1, 0x26, 0x18, 0x41, 0x42, 0x2a, 0xac, 0x7f, 0x73, - 0xdd, 0x90, 0x7f, 0xda, 0xf8, 0xe4, 0x4d, 0x08, 0x42, 0xdf, 0x05, 0x77, 0x78, 0xa6, 0x3f, 0xcc, - 0x47, 0x67, 0xc8, 0xd6, 0x10, 0xaf, 0x36, 0x76, 0x00, 0xaa, 0x4a, 0x22, 0xb7, 0xae, 0xf2, 0xe9, - 0xee, 0xee, 0x30, 0xf0, 0x95, 0xca, 0xb0, 0xf8, 0xbc, 0xc5, 0x83, 0x97, 0x49, 0xbc, 0x40, 0x30, - 0xaf, 0x71, 0xfb, 0x36, 0x3b, 0x83, 0xe6, 0xff, 0xaf, 0xf1, 0xda, 0xd3, 0x80, 0x1b, 0x2d, 0x08, - 0xf3, 0xc2, 0xaf, 0xab, 0x5c, 0xa8, 0xc1, 0x00, 0x2d, 0xb7, 0x5d, 0xba, 0x5a, 0x3f, 0xf3, 0x0f, - 0xdd, 0x51, 0x9e, 0x93, 0x04, 0xa4, 0xcf, 0x02, 0xd5, 0x16, 0x55, 0xd3, 0xc9, 0x59, 0xc4, 0x11, - 0x8f, 0xe8, 0xdd, 0x4f, 0x37, 0xa9, 0xb2, 0xec, 0xe7, 0x88, 0x85, 0x12, 0x04, 0x7e, 0x06, 0x13, - 0x96, 0x30, 0x1c, 0x3e, 0x5c, 0x70, 0x0c, 0x98, 0xb2, 0x06, 0x1c, 0xe1, 0xe2, 0x61, 0xf3, 0xef, - 0x44, 0x7b, 0xc8, 0xb2, 0x98, 0x16, 0x25, 0x6a, 0xcf, 0x4a, 0xff, 0x1d, 0x12, 0x1f, 0x2f, 0xcf, - 0x3d, 0x7b, 0xfd, 0x46, 0xa5, 0x1b, 0x5d, 0x81, 0xb4, 0x92, 0x8b, 0x32, 0x2c, 0xc9, 0x77, 0x13, - 0x6f, 0x37, 0x7a, 0xfb, 0x1f, 0x77, 0xa0, 0x54, 0xd9, 0xe4, 0x28, 0x97, 0xcf, 0x79, 0x01, 0xf2, - 0x7f, 0x37, 0xb5, 0xfa, 0x2a, 0x81, 0x08, 0x01, 0xec, 0xf1, 0x73, 0x3e, 0x9e, 0xc9, 0xa5, 0xc6, - 0xd5, 0x2c, 0x0a, 0x07, 0x6b, 0x25, 0x2e, 0x3f, 0x87, 0x1d, 0xd0, 0xd0, 0x61, 0xfc, 0xd5, 0xaf, - 0xb6, 0x44, 0x14, 0x81, 0x54, 0x4b, 0xba, 0x3e, 0x86, 0xef, 0xc5, 0x45, 0x97, 0xd1, 0x94, 0x3a, - 0x13, 0x5c, 0x7c, 0x66, 0x12, 0x6d, 0xea, 0x94, 0xcb, 0xa0, 0x15, 0x6b, 0x02, 0x59, 0xc8, 0x61, - 0x8c, 0x9e, 0xb6, 0xdb, 0x31, 0x8b, 0x29, 0xe1, 0x15, 0x84, 0x7e, 0xc5, 0xd9, 0xfc, 0x72, 0x62, - 0x4a, 0x0f, 0xe8, 0x2e, 0x1a, 0x1d, 0x08, 0xf5, 0x1d, 0x4e, 0x34, 0x15, 0x07, 0xd9, 0x48, 0xad, - 0x65, 0x5e, 0x2d, 0xc4, 0x47, 0x9e, 0x31, 0xc2, 0x7d, 0x56, 0x61, 0xda, 0x6f, 0x68, 0x29, 0xa8, - 0x32, 0x41, 0x74, 0xd6, 0x6a, 0xb1, 0x2d, 0x25, 0x52, 0xf6, 0xd5, 0xd9, 0x9d, 0x53, 0x67, 0x5d, - 0x87, 0x3d, 0xb3, 0xb1, 0x1b, 0xab, 0x3b, 0x8c, 0x9f, 0xfc, 0x6e, 0x3f, 0x5d, 0xe7, 0x99, 0x8f, - 0x70, 0x19, 0x0c, 0x1c, 0x1e, 0x9f, 0x3d, 0xfa, 0xc9, 0x28, 0x05, 0x2e, 0x8e, 0x05, 0x89, 0xd9, - 0x7a, 0xae, 0x46, 0xdd, 0xe3, 0x0f, 0xb4, 0xa6, 0x25, 0x94, 0x0e, 0x94, 0xd5, 0xf4, 0xb2, 0x2f, - 0x57, 0x27, 0x72, 0x1a, 0x50, 0xea, 0xd4, 0xce, 0xac, 0xa4, 0xaa, 0x28, 0x13, 0x75, 0x0a, 0xdf, - 0xf2, 0x0d, 0x06, 0x75, 0x98, 0x69, 0x09, 0xf4, 0xc1, 0x7a, 0xaa, 0xc2, 0x15, 0x6a, 0x76, 0xa3, - 0x45, 0xb9, 0x7b, 0xf6, 0x0c, 0xa5, 0xde, 0x43, 0x79, 0x72, 0x18, 0xe8, 0x9d, 0xb4, 0x91, 0xf5, - 0x34, 0x65, 0xcf, 0x2c, 0x43, 0x0a, 0x2f, 0xcc, 0x25, 0x4f, 0xfe, 0xbd, 0x3a, 0x95, 0xf9, 0xa6, - 0x9a, 0x54, 0x43, 0x31, 0xec, 0x79, 0xa2, 0xb3, 0x9f, 0x74, 0xaa, 0xde, 0xb7, 0x10, 0x67, 0x6c, - 0xa1, 0x94, 0x26, 0xb4, 0xee, 0x79, 0x5f, 0x41, 0x86, 0xfd, 0x45, 0xaa, 0xac, 0xe9, 0x95, 0xfa, - 0xd8, 0x82, 0x1c, 0x13, 0xca, 0x1a, 0x49, 0x05, 0x16, 0x57, 0x62, 0xbc, 0x65, 0xca, 0x2b, 0xc0, - 0x36, 0x78, 0x8d, 0x3f, 0x0e, 0x31, 0x0c, 0x93, 0x22, 0x69, 0xb6, 0xe3, 0x8c, 0xfb, 0xeb, 0xd7, - 0xac, 0xb3, 0x40, 0x78, 0x3b, 0xbb, 0xc0, 0x4a, 0xb5, 0x2e, 0xd5, 0xdd, 0x63, 0x13, 0x1a, 0xd8, - 0x92, 0xe8, 0x22, 0xa4, 0xd6, 0xea, 0xec, 0x00, 0x25, 0xfe, 0xe2, 0xcd, 0xc4, 0xeb, 0x13, 0x92, - 0x2b, 0x08, 0x02, 0x40, 0xf7, 0x85, 0xc2, 0x4f, 0x86, 0xea, 0xcc, 0xd9, 0xdd, 0x59, 0x8b, 0x3b, - 0x2b, 0x04, 0xfa, 0x34, 0x1d, 0x3e, 0xef, 0x65, 0xff, 0xcf, 0x54, 0x12, 0x4e, 0xa1, 0xb6, 0x80, - 0x9f, 0x5c, 0xf9, 0x72, 0xc8, 0xd5, 0x65, 0x00, 0xb8, 0x55, 0xf6, 0xaa, 0x7c, 0x92, 0x42, 0x3d, - 0x33, 0xfb, 0x85, 0x55, 0x19, 0x06, 0x0c, 0xd5, 0x85, 0x9e, 0xbb, 0xd1, 0xc4, 0xa9, 0x20, 0x6a, - 0xc7, 0xb2, 0x66, 0xa6, 0x02, 0xc8, 0x81, 0x82, 0x13, 0xfc, 0x44, 0xb0, 0xc0, 0x92, 0x61, 0x9b, - 0xf6, 0x6d, 0xe8, 0xeb, 0xd9, 0x6b, 0x58, 0xc0, 0x21, 0xe0, 0x5e, 0x9e, 0xc0, 0x20, 0xa9, 0x9f, - 0xcb, 0x24, 0x49, 0xa1, 0x69, 0x0a, 0x07, 0x19, 0x5b, 0x1c, 0x7a, 0x8d, 0x34, 0x64, 0x8d, 0xf5, - 0xa5, 0x14, 0x94, 0xe9, 0x91, 0x96, 0xd4, 0x3f, 0x45, 0xc8, 0x7a, 0x5b, 0xae, 0x0f, 0x2f, 0xdf, - 0x29, 0x88, 0x93, 0xba, 0x04, 0xdd, 0xcf, 0x74, 0x24, 0xab, 0xbc, 0xb3, 0x14, 0xbd, 0x70, 0xe2, - 0xa1, 0x64, 0x28, 0x4c, 0x33, 0x0a, 0xac, 0x57, 0xa3, 0x84, 0x98, 0x3c, 0x8f, 0x47, 0x77, 0x58, - 0xcc, 0xfc, 0x41, 0xf6, 0xaa, 0x2f, 0xb7, 0x4c, 0x36, 0x43, 0x7b, 0x37, 0x92, 0xa8, 0x08, 0xd9, - 0x49, 0x43, 0xd8, 0x38, 0x14, 0x25, 0xb2, 0x78, 0xe6, 0xa3, 0xf8, 0x47, 0x04, 0x8e, 0xb4, 0xb3, - 0x99, 0x07, 0x47, 0x91, 0xdc, 0x37, 0xb1, 0x4e, 0x0b, 0x98, 0x22, 0xbe, 0x80, 0xc6, 0x80, 0xb6, - 0x7a, 0x5d, 0xea, 0x89, 0x65, 0x0b, 0x58, 0x56, 0x04, 0x0b, 0xcf, 0xa6, 0xb7, 0xab, 0x2d, 0x7e, - 0x08, 0x72, 0x88, 0x32, 0x9b, 0xcd, 0xf5, 0xda, 0x82, 0xb4, 0x09, 0x79, 0xb4, 0x30, 0x82, 0x52, - 0x06, 0x45, 0x31, 0x5b, 0xac, 0x5b, 0xb2, 0x9c, 0x0d, 0xe1, 0xc7, 0xaf, 0x52, 0xf8, 0x16, 0x08, - 0xa7, 0xe4, 0x53, 0x4e, 0x3c, 0x95, 0x6c, 0xd3, 0xc7, 0x77, 0xab, 0xae, 0xe9, 0x72, 0x9a, 0xee, - 0x80, 0xb6, 0x53, 0x19, 0x2e, 0xab, 0xe3, 0xbf, 0x77, 0x36, 0xc1, 0xd5, 0xda, 0x6a, 0xd0, 0xaf, - 0xc7, 0xc7, 0x6f, 0x6c, 0x0b, 0x5e, 0xea, 0x9e, 0x2b, 0x82, 0xbc, 0x88, 0x7b, 0x5c, 0xd2, 0x57, - 0xb1, 0xde, 0x36, 0x11, 0x83, 0xf0, 0xa9, 0xff, 0xed, 0x22, 0x48, 0x3e, 0xee, 0xe7, 0x5c, 0x2d, - 0x20, 0x5f, 0x88, 0x5f, 0xd6, 0x8d, 0xa8, 0x3d, 0xa3, 0x04, 0x0d, 0xeb, 0x82, 0x86, 0xc4, 0x3f, - 0xff, 0x69, 0x60, 0xd0, 0x4d, 0x93, 0xb7, 0x52, 0xeb, 0xe9, 0xa0, 0x85, 0x5c, 0x19, 0x3a, 0x9d, - 0x60, 0xd2, 0xa5, 0x6f, 0xcc, 0xd9, 0x51, 0x37, 0x19, 0xcb, 0xa7, 0x28, 0xf1, 0xd5, 0xa7, 0xc0, - 0x92, 0x96, 0x10, 0x67, 0xe8, 0x99, 0xf7, 0xd7, 0xe4, 0xfd, 0xdd, 0x6c, 0x99, 0x57, 0x71, 0x0a, - 0x1a, 0x57, 0x58, 0x0f, 0xca, 0x3c, 0x94, 0x62, 0xbd, 0x69, 0x4c, 0x65, 0x59, 0xa7, 0x18, 0x69, - 0x74, 0xaa, 0x42, 0x60, 0x1a, 0x2a, 0x23, 0x11, 0xa7, 0x69, 0xf7, 0x67, 0x6e, 0xb3, 0xbc, 0x98, - 0xb3, 0x04, 0x9e, 0xb3, 0xc7, 0xe3, 0x5d, 0x54, 0xcb, 0x16, 0xb5, 0x75, 0x42, 0xc1, 0xb2, 0xe5, - 0xb3, 0x04, 0x41, 0x32, 0xba, 0xd9, 0x06, 0x3e, 0xb7, 0x9c, 0x14, 0x95, 0xdc, 0x86, 0x36, 0x8e, - 0x2e, 0x18, 0x7c, 0xaf, 0x44, 0x1d, 0x5c, 0x2c, 0x9a, 0x72, 0x9d, 0xf2, 0x37, 0x07, 0x9a, 0xbe, - 0x3b, 0xac, 0xb6, 0x5e, 0xba, 0x3a, 0x75, 0x35, 0x1a, 0x2c, 0x5e, 0xe9, 0xd5, 0x98, 0x7d, 0x93, - 0x75, 0x9f, 0x7a, 0x82, 0x9d, 0xfe, 0xd9, 0xde, 0x1c, 0x1e, 0x56, 0x9e, 0x19, 0x25, 0xd4, 0xbb, - 0x3b, 0x68, 0x31, 0x4f, 0x02, 0xd4, 0x33, 0x48, 0x12, 0x37, 0xa6, 0x70, 0x50, 0x85, 0x4a, 0x87, - 0xc8, 0x7c, 0x64, 0x27, 0x43, 0x53, 0x0e, 0x5a, 0xcf, 0x7a, 0x17, 0x29, 0xcf, 0xa0, 0xba, 0xb2, - 0xb4, 0x60, 0x39, 0xa6, 0x2b, 0x7b, 0xfd, 0xe8, 0xee, 0x22, 0x1e, 0x79, 0xaf, 0x6e, 0xbb, 0x5c, - 0x35, 0x1a, 0x69, 0xc5, 0x84, 0x48, 0x01, 0x8f, 0x82, 0xc0, 0x0f, 0x00, 0x20, 0x5f, 0xdd, 0x1e, - 0x31, 0xd5, 0x77, 0x85, 0x3e, 0x9b, 0x45, 0xd9, 0x1d, 0xaa, 0x64, 0x27, 0x55, 0xf9, 0x1c, 0x29, - 0xdc, 0xd5, 0xfc, 0x55, 0xdf, 0x30, 0x42, 0x0a, 0x85, 0xfe, 0x7c, 0xf3, 0xab, 0x0e, 0xbb, 0x61, - 0xa2, 0x1d, 0x4d, 0xc8, 0xaf, 0x40, 0x85, 0xf9, 0x73, 0xc3, 0x70, 0xba, 0xe9, 0xa9, 0x36, 0xd7, - 0xef, 0x3f, 0x28, 0x84, 0x07, 0x3c, 0x9c, 0x60, 0x4a, 0x89, 0x4d, 0x42, 0x67, 0xde, 0xb6, 0x30, - 0x5f, 0x19, 0x5f, 0x13, 0x0a, 0x94, 0x0b, 0x7c, 0x89, 0x54, 0x91, 0xd1, 0xeb, 0x3f, 0x1b, 0x1c, - 0xce, 0xbc, 0x16, 0xad, 0x17, 0x83, 0xaf, 0x47, 0xfe, 0xe9, 0xdd, 0x01, 0x28, 0x31, 0xab, 0x21, - 0x1a, 0x91, 0x48, 0xfb, 0xd1, 0x58, 0x42, 0xb3, 0x4b, 0xe1, 0x8a, 0x89, 0x41, 0xfc, 0x10, 0xc7, - 0xf0, 0x2a, 0xb9, 0x36, 0x3e, 0xa5, 0xc1, 0xed, 0xf8, 0x11, 0xb2, 0x9f, 0x0f, 0x64, 0x9b, 0x84, - 0x49, 0xea, 0xd5, 0x6a, 0xa3, 0x90, 0x0d, 0x12, 0xc2, 0xbf, 0xc9, 0xbc, 0x62, 0xd8, 0xfd, 0x17, - 0x39, 0xb9, 0xba, 0xbe, 0x78, 0xf3, 0x3c, 0x41, 0xdc, 0x37, 0x0a, 0xe5, 0x8e, 0x99, 0x13, 0xbe, - 0xf5, 0x9e, 0x2b, 0xc0, 0xe3, 0x5e, 0x08, 0xcc, 0x66, 0x8a, 0xf9, 0xf1, 0x47, 0x78, 0x78, 0x42, - 0xb1, 0x91, 0xb0, 0x2f, 0x8f, 0x88, 0xf3, 0xb6, 0x3e, 0xad, 0xf0, 0xea, 0x2e, 0x48, 0x76, 0x33, - 0xd0, 0x1e, 0xc0, 0xc0, 0xb1, 0x07, 0xfd, 0xd3, 0x2d, 0x2b, 0x8d, 0x26, 0xd1, 0x3c, 0xc7, 0x34, - 0xc9, 0xec, 0xea, 0x95, 0xa3, 0xd8, 0xc2, 0x2a, 0xfd, 0x57, 0xec, 0x18, 0x44, 0x6a, 0x3a, 0x40, - 0x21, 0x58, 0xf2, 0x06, 0xb3, 0xf2, 0xf4, 0xb0, 0xf8, 0x2d, 0x0b, 0x31, 0x71, 0x5f, 0xe1, 0x37, - 0xcf, 0x7b, 0x0d, 0xb2, 0xe7, 0x74, 0x45, 0x8c, 0x95, 0xbc, 0x90, 0x50, 0x66, 0xec, 0xaf, 0x78, - 0x78, 0xde, 0x0d, 0x31, 0x03, 0x59, 0x1f, 0x15, 0x7e, 0x35, 0xf4, 0xcb, 0x4f, 0x12, 0xbe, 0xa8, - 0xfb, 0xdc, 0x9d, 0xa0, 0x91, 0x80, 0x9a, 0xd4, 0x79, 0xda, 0xac, 0xcd, 0x61, 0x41, 0x0f, 0x61, - 0x3f, 0xdf, 0xe5, 0x7c, 0xf5, 0xf2, 0xcd, 0x28, 0x87, 0x36, 0x55, 0x15, 0x76, 0x61, 0x1b, 0xcc, - 0x71, 0xe2, 0x49, 0x0f, 0xd5, 0x24, 0x60, 0x4d, 0x39, 0x20, 0xe3, 0x99, 0x10, 0xfe, 0x4a, 0x8e, - 0xc1, 0x93, 0x19, 0x64, 0x35, 0x10, 0x30, 0x7b, 0x7d, 0xae, 0x2d, 0x31, 0x49, 0xa2, 0x84, 0xb9, - 0x4c, 0x8f, 0x70, 0xf0, 0x66, 0x85, 0x3f, 0x71, 0x63, 0x51, 0xdc, 0x1b, 0x12, 0x3a, 0xf3, 0xd5, - 0xa1, 0x5e, 0xa6, 0x40, 0x29, 0x08, 0x39, 0x20, 0xed, 0xec, 0x58, 0xb4, 0xbb, 0xac, 0x67, 0x94, - 0x54, 0x6a, 0x93, 0xf5, 0xfa, 0x41, 0xd6, 0x9a, 0x7a, 0xa2, 0xad, 0x8c, 0x85, 0xa6, 0xf9, 0x44, - 0x7b, 0xe8, 0x1d, 0xed, 0x64, 0xca, 0xda, 0x53, 0x1e, 0x1b, 0xb2, 0x84, 0xa4, 0x46, 0xd3, 0xb9, - 0x99, 0xab, 0xaa, 0x81, 0x80, 0x27, 0xcc, 0x52, 0x7f, 0x95, 0x90, 0x84, 0x34, 0x4f, 0x29, 0x44, - 0x08, 0xba, 0xb3, 0xcb, 0x44, 0x54, 0xfc, 0x02, 0x20, 0xde, 0x09, 0xe0, 0x79, 0x39, 0x4c, 0x83, - 0x67, 0x81, 0xc2, 0xbc, 0xd3, 0x62, 0x2b, 0x85, 0xd2, 0x46, 0x5e, 0x92, 0x30, 0x87, 0x5a, 0xd1, - 0xd1, 0xa5, 0x25, 0x96, 0x55, 0x89, 0x79, 0x0e, 0xbb, 0x05, 0xf1, 0x87, 0x03, 0xa6, 0x4d, 0xf9, - 0x15, 0xb3, 0x07, 0xf5, 0xa5, 0x5d, 0x2d, 0xb9, 0x28, 0xc9, 0x0f, 0xe8, 0x41, 0xda, 0xaa, 0xc7, - 0xed, 0x33, 0xb2, 0xcf, 0xd4, 0x8b, 0x5f, 0x99, 0x59, 0x86, 0x9e, 0xa8, 0xc6, 0xd8, 0xc8, 0xe7, - 0x20, 0xcd, 0xfd, 0xbf, 0x10, 0xe2, 0xa9, 0x25, 0x9b, 0xa4, 0x7a, 0xa7, 0xab, 0xac, 0x7b, 0x30, - 0x08, 0xd0, 0xb6, 0x2d, 0x18, 0xf0, 0x66, 0x31, 0xb6, 0x58, 0x22, 0x77, 0xa1, 0x84, 0x8f, 0xdf, - 0x3e, 0x5a, 0x32, 0x3d, 0xa8, 0xa0, 0xe1, 0xd2, 0xee, 0x0b, 0xf1, 0xc0, 0x47, 0x18, 0x62, 0x43, - 0x95, 0x7b, 0x6f, 0x17, 0x96, 0xb5, 0xc2, 0x93, 0xe5, 0x2d, 0x67, 0xfc, 0x12, 0x52, 0x31, 0xc8, - 0x15, 0x0f, 0x82, 0xf0, 0x97, 0xa8, 0xa1, 0xdb, 0x1f, 0x8a, 0xd5, 0xa9, 0xb3, 0xa3, 0x08, 0x37, - 0x14, 0xb1, 0x16, 0xa7, 0x1c, 0x4e, 0x95, 0x8c, 0x7d, 0xe2, 0xe2, 0x9c, 0x92, 0x27, 0xac, 0x4f, - 0xcf, 0xf2, 0x71, 0xd2, 0x0d, 0xa3, 0x0b, 0x10, 0xe3, 0x89, 0xa3, 0xc7, 0x19, 0xa3, 0x38, 0x58, - 0xa4, 0xb5, 0x65, 0x9f, 0xd0, 0xd4, 0x8f, 0x79, 0x5e, 0xdc, 0xda, 0xb8, 0x68, 0xd1, 0x31, 0x20, - 0x0e, 0x10, 0x9c, 0x13, 0xc5, 0x06, 0xea, 0x72, 0xf1, 0x54, 0x2a, 0x66, 0x12, 0xea, 0x49, 0x3e, - 0x95, 0x2b, 0xce, 0x80, 0xe1, 0x20, 0xc4, 0xd2, 0xe5, 0x2d, 0xae, 0x39, 0x84, 0x71, 0x4c, 0xf6, - 0xad, 0x5d, 0x76, 0xa0, 0xd9, 0xd1, 0x70, 0x41, 0x98, 0xa4, 0x13, 0xa7, 0xff, 0xca, 0xee, 0x80, - 0x22, 0x16, 0xd9, 0x16, 0xc4, 0xcf, 0x39, 0xad, 0xb4, 0xa0, 0x31, 0x04, 0x35, 0xf9, 0x94, 0x08, - 0xfc, 0x42, 0x97, 0x04, 0xad, 0x48, 0x8f, 0x1f, 0x9c, 0xe6, 0x17, 0x34, 0x7d, 0x84, 0x28, 0x03, - 0x88, 0x1f, 0x0f, 0xe9, 0x23, 0x9f, 0xf7, 0x97, 0x3a, 0xdd, 0xbd, 0x4b, 0x27, 0x79, 0xa7, 0xeb, - 0xcb, 0x62, 0x1d, 0x8e, 0xf4, 0xac, 0x57, 0x1e, 0x9a, 0x88, 0x65, 0x02, 0x7e, 0xaa, 0x21, 0x4d, - 0x32, 0x47, 0x38, 0xa4, 0x1d, 0x1f, 0x11, 0x98, 0x65, 0xa4, 0x77, 0x83, 0xde, 0x17, 0x55, 0xb2, - 0x21, 0x7e, 0xad, 0xe8, 0x3e, 0x63, 0x11, 0xc0, 0xe6, 0x5c, 0xd2, 0x66, 0x92, 0x1d, 0x22, 0x9d, - 0x26, 0x30, 0x05, 0xb5, 0xae, 0xa3, 0x38, 0x40, 0x74, 0xd9, 0x43, 0x97, 0x58, 0x13, 0x54, 0x9a, - 0x86, 0xfd, 0xc2, 0x70, 0x5f, 0x27, 0x4e, 0x5c, 0x74, 0xb1, 0xb2, 0x1f, 0xaa, 0x27, 0x35, 0xd5, - 0x80, 0xfd, 0x03, 0x1f, 0x92, 0x2a, 0x6d, 0x54, 0x76, 0xa8, 0xb2, 0x82, 0x72, 0x83, 0xc7, 0x43, - 0x0c, 0xe0, 0x08, 0xa1, 0x01, 0x3b, 0x53, 0x80, 0x4a, 0xf1, 0xd8, 0x90, 0x78, 0xb3, 0xcc, 0x05, - 0xff, 0x77, 0xa3, 0x48, 0x54, 0x64, 0xe6, 0xb3, 0x15, 0xf5, 0xa4, 0xc0, 0x1d, 0xf8, 0x12, 0xd4, - 0x7f, 0xfa, 0x88, 0x4b, 0x1a, 0x20, 0x2e, 0x03, 0x9d, 0xe9, 0x76, 0xb3, 0xa4, 0x33, 0xfc, 0xe0, - 0x97, 0x18, 0x46, 0xc8, 0x05, 0xb2, 0xbf, 0x40, 0x11, 0x4f, 0xb2, 0x8e, 0xbe, 0x22, 0xb2, 0xe8, - 0x97, 0x9c, 0xac, 0x67, 0xfb, 0x0a, 0x8e, 0x3b, 0x54, 0xf1, 0x4b, 0xce, 0xda, 0x5d, 0xac, 0xc6, - 0x37, 0x1b, 0xcc, 0x91, 0x23, 0x0f, 0x54, 0x56, 0xf5, 0x17, 0x81, 0x60, 0xde, 0xa3, 0x79, 0x59, - 0x21, 0xf2, 0xbc, 0x77, 0x43, 0xc3, 0xea, 0x35, 0x8b, 0x5a, 0xe0, 0x6b, 0xf2, 0xac, 0x12, 0xf0, - 0xf3, 0x4b, 0xbf, 0x6b, 0x6f, 0x20, 0x47, 0xa7, 0x47, 0xb4, 0x74, 0xbc, 0x75, 0xd8, 0x61, 0x2d, - 0xe0, 0x80, 0xd7, 0xb0, 0xa4, 0x3b, 0x3a, 0x24, 0x92, 0xb5, 0x29, 0x42, 0x45, 0xbc, 0xa4, 0xb0, - 0xd2, 0xed, 0x04, 0xf4, 0x13, 0xf9, 0x99, 0x7e, 0x87, 0x86, 0x37, 0x24, 0xb2, 0x9a, 0x4c, 0x78, - 0x4f, 0x8e, 0x6b, 0x66, 0x19, 0x26, 0xa8, 0x75, 0x28, 0x7d, 0x03, 0x40, 0xd7, 0x18, 0xda, 0xfd, - 0x74, 0xc6, 0x77, 0x20, 0xbd, 0x57, 0x77, 0xa0, 0x27, 0x35, 0x3e, 0xf5, 0xf2, 0x52, 0xf4, 0xca, - 0xcd, 0x5f, 0xc0, 0x3a, 0x58, 0xfa, 0xac, 0x1f, 0x2f, 0x9b, 0xf6, 0x90, 0xbc, 0xcb, 0xa8, 0xf5, - 0x65, 0x97, 0xa8, 0x5e, 0x45, 0x72, 0x5e, 0xe0, 0x11, 0x56, 0x4d, 0xb1, 0xb1, 0x9e, 0xe8, 0x42, - 0xfb, 0x01, 0x00, 0x94, 0x15, 0x65, 0xa7, 0x8f, 0x40, 0xfd, 0x80, 0xe4, 0x61, 0x98, 0x8f, 0x6b, - 0xea, 0x59, 0x45, 0xa6, 0x45, 0x25, 0xc6, 0x64, 0xfc, 0xde, 0x2d, 0x12, 0x7e, 0x47, 0xb0, 0x1d, - 0x7e, 0x2e, 0xa9, 0x44, 0x6e, 0xd9, 0x9e, 0xf3, 0x53, 0x76, 0x6a, 0xa6, 0x41, 0x8a, 0xfd, 0xe0, - 0xf4, 0x69, 0xff, 0xe4, 0x67, 0x5f, 0xa8, 0x0e, 0xf7, 0xc3, 0xfc, 0x26, 0x2c, 0x91, 0xa0, 0x1b, - 0x8b, 0xe5, 0xf6, 0x06, 0xb2, 0xb6, 0x7f, 0x6f, 0xb0, 0xa7, 0x70, 0xc2, 0x22, 0xc0, 0x23, 0x0d, - 0xa7, 0x75, 0x7b, 0x7e, 0x2c, 0x28, 0xe8, 0x4d, 0xe0, 0x95, 0x6a, 0x28, 0x2f, 0xa4, 0xd5, 0xa2, - 0x18, 0xbb, 0xe1, 0x97, 0xa8, 0x12, 0x7d, 0xd0, 0xb8, 0xe0, 0xd6, 0xed, 0x9a, 0x4c, 0xc9, 0xdb, - 0xd3, 0xf5, 0x91, 0xcd, 0xa4, 0x69, 0xde, 0x40, 0xa7, 0xe9, 0x08, 0xb5, 0xbc, 0x60, 0x07, 0x07, - 0xc0, 0xc2, 0x78, 0xd3, 0x00, 0x8d, 0xc6, 0x43, 0x90, 0x0e, 0xdf, 0x77, 0x6a, 0x15, 0x1a, 0x02, - 0xc5, 0xf6, 0x88, 0x7b, 0x31, 0xf4, 0x15, 0x63, 0x58, 0x71, 0x20, 0x9b, 0xcd, 0xed, 0xa0, 0x99, - 0xec, 0xfb, 0x33, 0x38, 0xf3, 0xdd, 0xab, 0x86, 0xfa, 0x0c, 0x3d, 0xe8, 0x08, 0x5f, 0xe7, 0xbc, - 0x80, 0x8e, 0x1f, 0x06, 0xe7, 0x45, 0x41, 0xe7, 0xcf, 0xd9, 0x57, 0x1e, 0xed, 0xf0, 0x94, 0xbc, - 0xbb, 0x41, 0xdb, 0x44, 0x4f, 0xc2, 0xab, 0xd9, 0xb6, 0x4e, 0xea, 0xe4, 0xf6, 0x5c, 0x3c, 0x06, - 0xb7, 0xe7, 0xb9, 0x09, 0x6b, 0x43, 0x12, 0x18, 0x86, 0x90, 0xda, 0x03, 0x72, 0x1a, 0xcb, 0x8b, - 0x15, 0x72, 0x5b, 0x33, 0xbb, 0x1a, 0x33, 0xf3, 0x1c, 0xbb, 0x88, 0x32, 0x11, 0x88, 0x04, 0x0f, - 0xbe, 0x91, 0x19, 0x0d, 0xf2, 0xa8, 0x04, 0xea, 0xe6, 0x4f, 0xc2, 0xa0, 0xb2, 0xf7, 0x2b, 0x6e, - 0x16, 0x9a, 0x30, 0x1a, 0xe7, 0x6b, 0xd5, 0x28, 0xa5, 0xda, 0x83, 0xc1, 0x3d, 0x69, 0xda, 0x7a, - 0xbe, 0xcf, 0x52, 0x9e, 0x5b, 0x35, 0x75, 0x63, 0x16, 0x5c, 0x9f, 0x7a, 0xbe, 0x62, 0xf6, 0xcf, - 0xa3, 0x17, 0x5d, 0x27, 0xdf, 0xac, 0x12, 0xb0, 0xd6, 0x19, 0x6b, 0xe2, 0x96, 0xfd, 0x73, 0xba, - 0xaf, 0x4c, 0xb9, 0xa3, 0xd3, 0x75, 0xfa, 0xcc, 0x25, 0xef, 0xf6, 0x7d, 0xf9, 0x3f, 0xd1, 0x91, - 0xd5, 0x6b, 0xa6, 0x5c, 0x09, 0x04, 0x1a, 0x42, 0x40, 0x0b, 0xd7, 0xc8, 0x03, 0x0e, 0x4a, 0x96, - 0xaa, 0xab, 0x0c, 0xae, 0x92, 0x3d, 0x8d, 0xf7, 0xde, 0xb6, 0x7d, 0x21, 0x01, 0xda, 0xfd, 0xee, - 0x3a, 0x1f, 0x33, 0xcb, 0xa8, 0x83, 0x67, 0xa9, 0x2f, 0x46, 0xe7, 0xb2, 0x77, 0x9c, 0x1a, 0xbb, - 0x54, 0x9c, 0xb3, 0xce, 0x8e, 0x21, 0xb9, 0xd7, 0xff, 0x84, 0x04, 0x29, 0xd4, 0xaf, 0x28, 0x26, - 0xd8, 0x9b, 0x63, 0x77, 0x57, 0x90, 0xa5, 0x11, 0xef, 0xbb, 0x15, 0x88, 0xeb, 0x90, 0x4f, 0x4a, - 0x93, 0x62, 0x38, 0x06, 0x27, 0x24, 0x5a, 0xc9, 0xce, 0x0d, 0xc7, 0xd7, 0xf8, 0xa2, 0x3a, 0x95, - 0x9b, 0xe4, 0x9a, 0x78, 0x02, 0x3a, 0xad, 0xbd, 0x2e, 0x62, 0x58, 0x15, 0x24, 0xda, 0x2d, 0x29, - 0x98, 0x4a, 0x99, 0x85, 0x20, 0xfd, 0xc3, 0xe1, 0xdb, 0x71, 0x56, 0xc5, 0xf6, 0x0d, 0xb0, 0x11, - 0x1a, 0x1b, 0x02, 0x74, 0x72, 0xf6, 0xdd, 0x6c, 0xe7, 0x00, 0xe3, 0x6d, 0x2f, 0x64, 0x0b, 0xdc, - 0x0f, 0x16, 0x0f, 0x2c, 0x85, 0x6c, 0x1c, 0xea, 0x2e, 0xc7, 0x83, 0xa3, 0xe8, 0xd3, 0xb3, 0x45, - 0x7b, 0x70, 0x3a, 0x0a, 0x9d, 0x00, 0xf1, 0x7d, 0xbb, 0xbd, 0x54, 0x18, 0x48, 0x17, 0x0f, 0xd4, - 0x17, 0x77, 0x6a, 0xc5, 0x2b, 0x88, 0xe0, 0x7b, 0x84, 0xb7, 0xad, 0xa3, 0xaf, 0x5a, 0x59, 0x93, - 0x92, 0xda, 0xd0, 0xe5, 0x2b, 0xca, 0xb9, 0x0b, 0x88, 0x8d, 0x74, 0xdb, 0xcb, 0x32, 0x32, 0x0b, - 0x54, 0x98, 0xe9, 0x92, 0x27, 0x73, 0xdb, 0x1f, 0xe0, 0x60, 0x11, 0xb1, 0x70, 0x76, 0x38, 0xbb, - 0xdf, 0x32, 0x6b, 0x37, 0xba, 0x78, 0x07, 0x10, 0x4f, 0xc6, 0xa8, 0xb7, 0x4c, 0x31, 0xa8, 0x5a, - 0x33, 0xfe, 0x5f, 0xc6, 0x34, 0x23, 0xbe, 0x65, 0x8a, 0xfb, 0x44, 0x61, 0xf7, 0x8a, 0x17, 0x4a, - 0xe3, 0xcc, 0x0f, 0xf9, 0x32, 0x91, 0xe0, 0x93, 0xca, 0xf3, 0x21, 0x22, 0x5f, 0x30, 0x59, 0x07, - 0x40, 0xe6, 0x80, 0x85, 0xd3, 0x74, 0x50, 0x8b, 0x2d, 0x12, 0xc7, 0x7a, 0xd3, 0x16, 0x42, 0xfe, - 0xe1, 0xcb, 0xf4, 0xe8, 0x27, 0x98, 0xb6, 0x89, 0x77, 0x39, 0x37, 0x34, 0xe7, 0x3d, 0xc7, 0xcf, - 0xbd, 0xf2, 0xe6, 0x6d, 0x0a, 0xb9, 0x34, 0x6a, 0xfe, 0xd0, 0xdf, 0x9d, 0x34, 0x97, 0xad, 0xc7, - 0xb1, 0x42, 0x3a, 0xb3, 0x08, 0xfa, 0xb7, 0x2d, 0x88, 0xed, 0xff, 0x82, 0xdf, 0x12, 0x13, 0x90, - 0x01, 0x40, 0xcb, 0x59, 0xa6, 0x80, 0x9c, 0x36, 0x5f, 0xfd, 0x21, 0xe5, 0x34, 0x08, 0x85, 0x71, - 0xf7, 0xd8, 0x6d, 0xd6, 0xbf, 0x76, 0x49, 0x52, 0xa9, 0xf1, 0x21, 0x26, 0xb4, 0xa7, 0x74, 0xed, - 0x9f, 0x96, 0x80, 0x8f, 0x4b, 0x9b, 0x64, 0xd7, 0x42, 0x9e, 0xe4, 0xc3, 0x5a, 0xdd, 0xfd, 0x43, - 0x32, 0xf6, 0x6a, 0x88, 0x71, 0x96, 0xc4, 0xe4, 0x5c, 0xf3, 0xa3, 0x0d, 0x76, 0xb3, 0x42, 0x98, - 0x93, 0x84, 0xbf, 0xc2, 0x16, 0x59, 0x84, 0x68, 0x2b, 0x9c, 0xd7, 0x32, 0x60, 0x9c, 0x9d, 0x9f, - 0x47, 0xcf, 0x8a, 0xa4, 0x80, 0x3d, 0xd1, 0x25, 0xcc, 0xc7, 0x90, 0xdf, 0xa5, 0x14, 0x51, 0x3c, - 0x1b, 0x12, 0x4a, 0x89, 0x7f, 0x0b, 0x61, 0x49, 0x30, 0x86, 0xc5, 0x58, 0x3a, 0xe4, 0x4f, 0xc5, - 0xf6, 0xb5, 0xc9, 0x56, 0x94, 0xa8, 0xfa, 0xed, 0xeb, 0x0e, 0xdc, 0x37, 0x52, 0xa5, 0x01, 0xda, - 0x38, 0xae, 0xc9, 0x96, 0x7c, 0x75, 0xa6, 0xb8, 0x59, 0x7c, 0x4c, 0x08, 0xbb, 0xe1, 0x9f, 0x73, - 0xa8, 0x65, 0xf5, 0x12, 0xbe, 0x6a, 0xb5, 0x64, 0x36, 0x68, 0x89, 0xa2, 0x3d, 0xcc, 0x6e, 0x5d, - 0x14, 0x41, 0xd6, 0x74, 0x09, 0x09, 0x4e, 0x24, 0x57, 0x60, 0xfe, 0x28, 0xb3, 0xc5, 0xa4, 0xe4, - 0xd4, 0xeb, 0x85, 0x34, 0xfc, 0xd0, 0xed, 0x3e, 0xa5, 0xec, 0x1b, 0x42, 0x6e, 0x06, 0x72, 0xc5, - 0x55, 0xba, 0xc1, 0xf2, 0x7b, 0xb3, 0xf8, 0x3a, 0x10, 0x08, 0x20, 0xa8, 0xb3, 0xb9, 0x03, 0x53, - 0xfc, 0x20, 0xe1, 0x32, 0xab, 0xb0, 0x04, 0xc6, 0x76, 0x0f, 0x73, 0xf5, 0xe0, 0x9c, 0xac, 0x2c, - 0xb9, 0x06, 0x75, 0x5e, 0xe9, 0x2f, 0x5f, 0x35, 0x3d, 0x3d, 0x3c, 0x98, 0xda, 0x84, 0x71, 0xb6, - 0x95, 0x90, 0x97, 0x25, 0x67, 0xde, 0x57, 0xd9, 0x63, 0x65, 0xe4, 0x66, 0x19, 0x3d, 0xc9, 0xd1, - 0x13, 0x4c, 0xb2, 0x86, 0xd4, 0xbf, 0x68, 0x5f, 0x1d, 0x07, 0x24, 0x5b, 0xd7, 0x7d, 0x04, 0xd3, - 0xd1, 0x86, 0xf1, 0xce, 0xc8, 0xdb, 0x52, 0x81, 0x7b, 0xa8, 0x78, 0x40, 0xf6, 0xf7, 0xa1, 0x28, - 0x39, 0xfc, 0xac, 0x2b, 0xbf, 0x8f, 0x3d, 0x4d, 0x1d, 0x9f, 0x71, 0x17, 0x88, 0x5c, 0xfb, 0x76, - 0x44, 0xd4, 0xe6, 0xb4, 0x42, 0x56, 0x92, 0xd5, 0x47, 0xc9, 0xbe, 0xf7, 0xed, 0x9e, 0xc1, 0xcc, - 0xcb, 0x83, 0x67, 0x65, 0x5f, 0xa5, 0x06, 0x65, 0x32, 0x8b, 0x2b, 0x27, 0x94, 0x76, 0x65, 0xcd, - 0xd8, 0xbd, 0xfe, 0xef, 0xed, 0x83, 0x82, 0xf4, 0xd3, 0xc0, 0x03, 0xdf, 0xa9, 0x0d, 0xb9, 0x23, - 0x32, 0x3f, 0x27, 0xd4, 0x72, 0xa6, 0xa1, 0xd4, 0xea, 0xfe, 0xef, 0x08, 0x7e, 0xe2, 0x05, 0x8e, - 0x92, 0xd8, 0x71, 0x9b, 0x3c, 0x06, 0x6b, 0xed, 0x70, 0xd4, 0xec, 0x37, 0xba, 0x8f, 0x33, 0xd2, - 0x79, 0x90, 0xc7, 0xff, 0x14, 0xd9, 0x18, 0x8f, 0x34, 0xa2, 0x63, 0xd8, 0x1b, 0x75, 0xe3, 0x69, - 0x39, 0xac, 0xbc, 0x66, 0xcf, 0x88, 0xde, 0x1c, 0xe7, 0xd0, 0xc9, 0x43, 0x2d, 0x7b, 0x1c, 0x7f, - 0x10, 0xac, 0xf8, 0x05, 0xdc, 0xa3, 0x2a, 0x8f, 0x5f, 0x7b, 0xc5, 0x0b, 0xfc, 0x9e, 0x91, 0xcf, - 0x84, 0xc7, 0x99, 0x83, 0x78, 0xea, 0x3a, 0xe3, 0x90, 0x9d, 0x76, 0x85, 0xfe, 0xf6, 0x17, 0xcf, - 0xfa, 0xe9, 0x58, 0x51, 0x38, 0xb2, 0x9d, 0xdd, 0xe8, 0x06, 0xc2, 0x75, 0x0c, 0x31, 0x45, 0x64, - 0xfc, 0xd3, 0xf9, 0x04, 0xda, 0x02, 0x28, 0xcf, 0x10, 0xfc, 0x7a, 0xf2, 0x1f, 0x56, 0x00, 0x4f, - 0x01, 0x99, 0x85, 0xd6, 0xe0, 0x38, 0x88, 0x38, 0x0f, 0xc2, 0x7b, 0x45, 0x3b, 0x21, 0xee, 0x21, - 0xe3, 0xf4, 0x57, 0x42, 0x01, 0xc5, 0xa3, 0xa7, 0xb8, 0xfd, 0x1e, 0x79, 0xb3, 0x91, 0x2a, 0x33, - 0x47, 0x8a, 0x3a, 0x72, 0xce, 0x45, 0xaa, 0x31, 0x2b, 0x3e, 0x83, 0x7b, 0x3f, 0x64, 0xdb, 0x4a, - 0xad, 0x18, 0x0c, 0x4a, 0x12, 0x91, 0xe1, 0x80, 0x6b, 0x7e, 0xcf, 0xad, 0xce, 0x02, 0xc1, 0x6d, - 0x58, 0x5d, 0x10, 0x28, 0x75, 0xc2, 0x06, 0xb3, 0x1d, 0x38, 0xde, 0xa1, 0xc7, 0x5e, 0x63, 0x11, - 0xa9, 0x2a, 0x7e, 0x4d, 0xa5, 0x28, 0x3e, 0xd1, 0xdc, 0xe1, 0xe5, 0x7f, 0x32, 0xe6, 0x80, 0x19, - 0xa4, 0x02, 0xf9, 0x91, 0xf8, 0x23, 0x8e, 0xd6, 0x4c, 0x61, 0xc1, 0xd8, 0xc6, 0xee, 0x03, 0x3f, - 0x98, 0x0e, 0xea, 0xdd, 0x4d, 0xdc, 0x55, 0x7c, 0x4f, 0x38, 0x48, 0x0a, 0x79, 0x9e, 0x14, 0x72, - 0xd2, 0x8e, 0x93, 0xcc, 0xd2, 0xc5, 0x8d, 0x20, 0xbe, 0xef, 0xd9, 0x76, 0x66, 0xf7, 0x06, 0x1f, - 0xdf, 0x5f, 0xf7, 0x3d, 0x07, 0x1b, 0x1b, 0x04, 0xd7, 0x8c, 0x81, 0x8b, 0x4e, 0xe2, 0x58, 0xeb, - 0x9a, 0x71, 0x68, 0x9e, 0xff, 0xb1, 0xf8, 0xe5, 0x0b, 0xf7, 0x49, 0x8c, 0x07, 0xed, 0x31, 0xa6, - 0x09, 0xc8, 0x95, 0x00, 0xaf, 0xef, 0xa1, 0xb0, 0x2b, 0x04, 0x39, 0xbe, 0x0c, 0x9b, 0x7c, 0x91, - 0x63, 0xb3, 0xc7, 0x2b, 0xfc, 0x5b, 0xb1, 0xfc, 0xad, 0xe8, 0x5f, 0x1f, 0xf5, 0xe3, 0xae, 0x31, - 0x97, 0xf0, 0x87, 0xb6, 0x64, 0xcb, 0x98, 0x11, 0xd3, 0x4d, 0x10, 0x36, 0xec, 0x28, 0xef, 0x1a, - 0x30, 0xbc, 0x72, 0xd5, 0xd4, 0x48, 0x1a, 0xcd, 0x69, 0x46, 0xcb, 0xf9, 0x37, 0xd7, 0xae, 0xc6, - 0x8e, 0x1a, 0x19, 0xa5, 0x88, 0xf6, 0x1d, 0xc3, 0x81, 0x95, 0x2f, 0x85, 0x7f, 0xc2, 0xa5, 0x7c, - 0x83, 0x65, 0x73, 0x33, 0x9f, 0xab, 0x97, 0x2b, 0x36, 0xee, 0x97, 0x11, 0xe5, 0x1e, 0x0c, 0x15, - 0x90, 0x37, 0x4d, 0xea, 0x3c, 0xea, 0x0e, 0xca, 0x2d, 0x34, 0xd2, 0x90, 0xf3, 0x5e, 0x33, 0xac, - 0xb0, 0x73, 0xd9, 0x7f, 0x69, 0xb6, 0xa4, 0x35, 0x62, 0x73, 0xcd, 0x10, 0x5b, 0xbf, 0xb1, 0x13, - 0xdd, 0x2f, 0x85, 0xa8, 0x1a, 0x60, 0x7c, 0xcc, 0xab, 0x58, 0x47, 0x4d, 0x37, 0x54, 0x31, 0xce, - 0x8a, 0xe4, 0xf5, 0x29, 0x62, 0xd8, 0x7b, 0x58, 0x64, 0x9e, 0x5a, 0x65, 0x37, 0x14, 0xbd, 0x9e, - 0xef, 0xc5, 0xe1, 0x62, 0xf5, 0x32, 0xf0, 0x9f, 0x6a, 0xbd, 0xe2, 0xd8, 0x3a, 0x8f, 0xee, 0xb6, - 0xc5, 0x1b, 0xb3, 0xf7, 0x2f, 0x26, 0x67, 0x3e, 0x22, 0xe3, 0x8b, 0xde, 0xbe, 0xc7, 0xaf, 0x7c, - 0x49, 0x10, 0x12, 0xc7, 0x94, 0x52, 0x6d, 0x55, 0x62, 0x1f, 0xf5, 0xd0, 0xab, 0x8b, 0xc9, 0x25, - 0x45, 0x6f, 0xeb, 0x04, 0x88, 0x46, 0xa5, 0x5c, 0x76, 0x97, 0xa1, 0x11, 0x43, 0x62, 0x82, 0xe9, - 0x32, 0xd9, 0x07, 0x61, 0xdb, 0xe1, 0x11, 0x98, 0x10, 0xcc, 0x69, 0x39, 0x9e, 0xcf, 0x04, 0x28, - 0x18, 0x03, 0x1f, 0x43, 0xcc, 0x6d, 0x22, 0x77, 0xf2, 0xc9, 0x82, 0x61, 0xd3, 0x10, 0x66, 0xf3, - 0x83, 0xf0, 0xe2, 0x36, 0xff, 0xa7, 0xaf, 0x9e, 0xa3, 0xf9, 0x55, 0x38, 0xa0, 0xa9, 0x91, 0x1f, - 0x86, 0xd8, 0x7c, 0x29, 0x8c, 0xcd, 0x1c, 0x2e, 0x44, 0xbc, 0xa1, 0x8e, 0x5d, 0xe7, 0xea, 0x7b, - 0xf3, 0x04, 0xb5, 0x98, 0xd0, 0xc9, 0xe4, 0x4e, 0xa8, 0xa8, 0xf9, 0xd1, 0x49, 0xa2, 0x8d, 0xd8, - 0x00, 0x77, 0xb5, 0x29, 0xdd, 0x83, 0x2f, 0xba, 0x63, 0xf3, 0xf5, 0x45, 0x97, 0x95, 0x85, 0xe9, - 0x2d, 0xb2, 0x4f, 0x84, 0x67, 0xf8, 0x0f, 0x7f, 0x54, 0xa0, 0xa7, 0x8f, 0x3b, 0xf5, 0x2b, 0xb1, - 0x89, 0xb8, 0x94, 0x05, 0x63, 0x77, 0xe9, 0x67, 0x98, 0x29, 0x5d, 0xa7, 0x66, 0x4e, 0xc0, 0xf3, - 0xe7, 0x33, 0xf8, 0x33, 0xad, 0x78, 0x9f, 0x7b, 0x7c, 0x98, 0xd4, 0xec, 0x6b, 0x66, 0xbd, 0xbd, - 0xa9, 0xcd, 0x6d, 0xa3, 0xfe, 0xec, 0xcf, 0x7d, 0x83, 0x73, 0x3b, 0xa0, 0x12, 0xfe, 0xbe, 0xe0, - 0xe0, 0x33, 0x4c, 0x4e, 0xff, 0x01, 0x40, 0x3c, 0x1a, 0xf9, 0x37, 0x77, 0x08, 0x81, 0xd5, 0xb3, - 0xeb, 0x16, 0x2f, 0xb5, 0xe0, 0x91, 0x8a, 0x6f, 0xa7, 0xa1, 0x34, 0x63, 0xd7, 0xa1, 0x7b, 0x52, - 0x56, 0x10, 0x20, 0x52, 0x10, 0xc0, 0x75, 0x25, 0xde, 0xf1, 0x50, 0x55, 0x96, 0x0a, 0xb7, 0x69, - 0xff, 0xdd, 0xe6, 0x42, 0xc0, 0xc7, 0x43, 0x20, 0x03, 0xb4, 0x63, 0xf8, 0x7f, 0xc9, 0x5d, 0x1c, - 0x8b, 0x7a, 0x28, 0x05, 0x55, 0xda, 0x1d, 0x46, 0x55, 0x04, 0xd7, 0xde, 0x56, 0x4e, 0xee, 0x4b, - 0x88, 0x18, 0x1b, 0x21, 0xbf, 0xdb, 0xe5, 0xee, 0xf7, 0xb6, 0x1c, 0x21, 0x27, 0x82, 0xaf, 0x76, - 0xc9, 0xcb, 0x7b, 0xdd, 0x35, 0x8f, 0x63, 0x2c, 0xd1, 0x6d, 0xf9, 0xf8, 0x5d, 0xab, 0x5d, 0xc8, - 0x59, 0x8b, 0xa9, 0x99, 0x1c, 0x88, 0xe5, 0x2b, 0x66, 0x71, 0x5f, 0xe8, 0x4e, 0x7d, 0xe1, 0x2c, - 0xc2, 0x4a, 0xc6, 0xfe, 0xbc, 0xfb, 0x0c, 0x8d, 0xe7, 0x48, 0xa4, 0x00, 0x3f, 0xc4, 0xae, 0x6d, - 0x02, 0x10, 0x43, 0x0b, 0x7a, 0x1a, 0x28, 0xb7, 0xfa, 0x3f, 0xe0, 0xbf, 0x79, 0xad, 0x8f, 0xa6, - 0xa0, 0xa7, 0x3a, 0x9c, 0xbd, 0x64, 0x1f, 0xf4, 0x4f, 0x2b, 0x18, 0x08, 0xc7, 0x4f, 0xb8, 0x86, - 0x44, 0xfe, 0x2d, 0x73, 0x15, 0xa3, 0xef, 0x58, 0xc3, 0x94, 0xc2, 0x0e, 0x3e, 0x0f, 0xcf, 0xef, - 0xb8, 0x56, 0x73, 0x7d, 0x68, 0x7e, 0xaf, 0x97, 0x25, 0x49, 0x9c, 0xec, 0xe1, 0xfb, 0x18, 0xd4, - 0x46, 0xbc, 0xd0, 0xae, 0xca, 0x82, 0x82, 0xe9, 0xfe, 0x6f, 0xbf, 0x09, 0x8d, 0x25, 0x19, 0x93, - 0xe8, 0x1a, 0x8b, 0x9e, 0x35, 0x8e, 0xe1, 0x48, 0x43, 0xa0, 0x09, 0xc2, 0x6d, 0x1e, 0xaa, 0x8c, - 0x7c, 0xe1, 0x57, 0x4b, 0x6b, 0xc4, 0x5d, 0x75, 0xf1, 0x40, 0xaf, 0xc7, 0x2e, 0xc0, 0x2e, 0xd4, - 0x08, 0x68, 0x63, 0x15, 0x9d, 0xeb, 0x9e, 0xad, 0x8a, 0x1f, 0xd7, 0x2a, 0x2b, 0xd2, 0x57, 0x1d, - 0xa8, 0x3d, 0x2d, 0x7d, 0xbe, 0xb8, 0x4b, 0x08, 0x22, 0x37, 0xd7, 0xa9, 0xb4, 0x4b, 0x1c, 0xdf, - 0xa5, 0x99, 0xf3, 0x67, 0x7b, 0x64, 0xff, 0x27, 0xac, 0x75, 0x59, 0x8e, 0x0e, 0x1e, 0xc4, 0x75, - 0xf1, 0xdf, 0xf8, 0x91, 0x49, 0xcf, 0x6b, 0xf7, 0x87, 0x2f, 0xac, 0x37, 0x6d, 0x59, 0x16, 0x1f, - 0x3d, 0xcf, 0xcc, 0xce, 0x23, 0xe4, 0xe0, 0x60, 0xf9, 0xf1, 0xd3, 0x9f, 0x05, 0x72, 0x51, 0x51, - 0xdb, 0x30, 0xa3, 0x62, 0xf3, 0xed, 0x18, 0x03, 0x8a, 0xfe, 0xf1, 0x10, 0xc3, 0x4f, 0x14, 0xe7, - 0x37, 0x09, 0x01, 0xb1, 0xea, 0xec, 0x35, 0xbe, 0xbf, 0x6c, 0xff, 0x91, 0x05, 0x79, 0x40, 0x7f, - 0x5b, 0xea, 0x16, 0xa2, 0xaf, 0xcd, 0x9b, 0xfd, 0xc7, 0xa0, 0x20, 0xc6, 0x09, 0x34, 0x6f, 0x5d, - 0xc3, 0x10, 0xc2, 0xc5, 0x3d, 0xf4, 0xdb, 0xab, 0xf3, 0x8b, 0x2a, 0xc7, 0x37, 0x43, 0x77, 0xe2, - 0x95, 0xcc, 0x1c, 0x71, 0xce, 0x23, 0x74, 0xeb, 0x61, 0x39, 0x67, 0xcf, 0xb9, 0x46, 0x70, 0xda, - 0x15, 0x89, 0x07, 0xf0, 0x49, 0x40, 0xa4, 0xc5, 0x85, 0xb9, 0xdd, 0x88, 0x52, 0x1b, 0x63, 0x9d, - 0x9f, 0x7d, 0x5b, 0x37, 0x5d, 0xfb, 0x74, 0x33, 0x71, 0xb5, 0x44, 0xb6, 0x99, 0x6f, 0x0f, 0x9f, - 0xba, 0x2f, 0x13, 0xfa, 0xff, 0x27, 0xa6, 0x23, 0x8b, 0xd8, 0xb2, 0xae, 0xaf, 0xf7, 0x1f, 0x55, - 0x99, 0x5d, 0x5b, 0x9d, 0x13, 0x92, 0xb9, 0x5e, 0x2d, 0xc9, 0x40, 0xb2, 0x51, 0x8e, 0xd9, 0x41, - 0x7e, 0x83, 0x43, 0x65, 0x1f, 0x81, 0x6f, 0x64, 0x94, 0x15, 0x2f, 0xe5, 0x84, 0xf6, 0xf5, 0x8a, - 0x68, 0x85, 0xde, 0x90, 0x9c, 0x9d, 0xfd, 0x66, 0xfc, 0x9f, 0x83, 0x76, 0x5b, 0x2a, 0xdf, 0x05, - 0x21, 0xd1, 0xef, 0xa8, 0xc7, 0xaa, 0x36, 0x31, 0x66, 0xdf, 0x82, 0xc9, 0x53, 0x0c, 0x4e, 0x44, - 0x9b, 0xef, 0x81, 0xaf, 0xd3, 0x47, 0x02, 0x23, 0xe5, 0x2a, 0x06, 0xd7, 0x59, 0xc2, 0xac, 0xf2, - 0x58, 0x9e, 0x64, 0x06, 0x33, 0x5f, 0x43, 0x9f, 0x9a, 0xb2, 0x38, 0x71, 0x28, 0xb6, 0xd2, 0xe5, - 0xac, 0xaa, 0x7a, 0xe0, 0xf9, 0xbd, 0xfa, 0x07, 0xed, 0x2c, 0x29, 0x7b, 0x3c, 0xd8, 0xcb, 0x3f, - 0x40, 0xcc, 0xe8, 0x03, 0xf0, 0x9d, 0x80, 0x88, 0x62, 0x45, 0x69, 0xa8, 0x02, 0x3e, 0xb3, 0x75, - 0x5f, 0xa7, 0x77, 0xb3, 0x47, 0xbc, 0xfd, 0x38, 0x28, 0xd6, 0xf5, 0xbc, 0xf9, 0x61, 0x6e, 0xaa, - 0xbc, 0x21, 0x7f, 0x94, 0x27, 0xd0, 0x49, 0x41, 0x63, 0x44, 0x50, 0xa6, 0xd3, 0x01, 0xb2, 0x11, - 0xc5, 0xd6, 0x12, 0x61, 0x3d, 0xdb, 0x9d, 0x74, 0x49, 0xf8, 0xb4, 0xc2, 0x1b, 0x04, 0x7a, 0x9a, - 0xf5, 0x19, 0x8b, 0x62, 0x0b, 0xc7, 0x39, 0x1b, 0x82, 0xab, 0x71, 0x01, 0x18, 0xc4, 0x3b, 0x19, - 0xed, 0xb1, 0x68, 0x3c, 0x53, 0xf5, 0xff, 0x5b, 0x0c, 0x7a, 0xae, 0xdd, 0x84, 0x40, 0x84, 0x6f, - 0x84, 0x7f, 0x44, 0xc2, 0xad, 0xe9, 0x98, 0x92, 0x03, 0xda, 0x5a, 0xbd, 0x0f, 0x0c, 0x69, 0xef, - 0xb6, 0xab, 0x61, 0xa6, 0xe7, 0xbb, 0x0b, 0x9d, 0xae, 0xa3, 0x40, 0x6e, 0x55, 0xcb, 0x89, 0x80, - 0xcd, 0xc1, 0xbc, 0x04, 0x2e, 0xac, 0xc8, 0xe3, 0x17, 0x59, 0xd8, 0x0e, 0xf7, 0x1d, 0x0c, 0x18, - 0xd2, 0x61, 0x78, 0x7f, 0x96, 0xab, 0xdb, 0xd2, 0x60, 0xa9, 0xbf, 0xec, 0x24, 0x0b, 0xf4, 0x11, - 0x5f, 0x7a, 0x61, 0x3f, 0x8e, 0x08, 0xd0, 0xaa, 0xe4, 0x7e, 0xf3, 0x1b, 0xe2, 0x6b, 0x47, 0x0d, - 0x7c, 0x72, 0xec, 0x73, 0xf2, 0x85, 0xf2, 0xfa, 0x5c, 0x84, 0xaf, 0x05, 0x76, 0xec, 0x18, 0xce, - 0x08, 0x43, 0xe9, 0x3a, 0x9a, 0xd0, 0x35, 0x5c, 0xb6, 0x69, 0xef, 0x50, 0xbc, 0x54, 0x82, 0xc1, - 0xc9, 0xd8, 0x7b, 0xf9, 0x18, 0x67, 0x07, 0x72, 0x50, 0x35, 0x5b, 0x00, 0x0a, 0xa2, 0xe5, 0x99, - 0x8d, 0x9f, 0x5a, 0xe1, 0x6d, 0x73, 0x80, 0x41, 0x5b, 0xff, 0xd8, 0xa1, 0x35, 0x4c, 0x26, 0x76, - 0x21, 0x80, 0xc1, 0x2d, 0x1e, 0xc6, 0x96, 0x28, 0xf0, 0x59, 0xd7, 0x25, 0x44, 0xac, 0x8d, 0xf4, - 0x4b, 0x0b, 0x4c, 0x11, 0xed, 0x6a, 0xcb, 0x09, 0xf8, 0x59, 0xd0, 0x9c, 0xc2, 0x16, 0x28, 0xff, - 0xe6, 0x89, 0x2f, 0x67, 0x31, 0xe3, 0x6b, 0x16, 0x14, 0xef, 0xf1, 0x98, 0x22, 0xf7, 0x58, 0xe3, - 0x93, 0x91, 0xdd, 0x4b, 0xa2, 0x96, 0xd6, 0x81, 0xa8, 0x5b, 0x7b, 0x54, 0x55, 0x08, 0xc6, 0x96, - 0xee, 0x67, 0x44, 0x3c, 0xe4, 0x50, 0xbc, 0x14, 0x5b, 0x7a, 0x93, 0x24, 0x72, 0x2e, 0xdb, 0x26, - 0x17, 0x56, 0x7b, 0x27, 0x16, 0x74, 0x04, 0xc9, 0xf1, 0xfb, 0x46, 0x54, 0xd1, 0xc3, 0x51, 0xeb, - 0xeb, 0x6a, 0xfb, 0xc5, 0x7d, 0xc3, 0x17, 0x25, 0x12, 0x72, 0x51, 0x82, 0x85, 0xfa, 0x3a, 0xdd, - 0x13, 0xe4, 0xdf, 0x42, 0x02, 0x4c, 0x44, 0x96, 0xfa, 0xe4, 0x80, 0xcf, 0x48, 0x34, 0x81, 0xda, - 0x3e, 0x31, 0x13, 0xc7, 0x3d, 0x34, 0xd7, 0x11, 0x33, 0xa1, 0x1b, 0xd6, 0xdb, 0x57, 0xdb, 0x26, - 0xb0, 0x3e, 0xde, 0xab, 0x6a, 0x63, 0xbf, 0xf5, 0x09, 0x17, 0xa5, 0x38, 0x9b, 0x5d, 0x7f, 0x88, - 0xe4, 0x52, 0xa6, 0x50, 0x4b, 0xca, 0xdf, 0x13, 0xa9, 0xcc, 0x78, 0x0e, 0x2b, 0x95, 0x20, 0xb4, - 0x30, 0xfb, 0x10, 0x1e, 0xe8, 0x63, 0x8a, 0x69, 0xaa, 0x19, 0x57, 0x14, 0x5d, 0x70, 0x72, 0xd8, - 0xb8, 0x6a, 0x03, 0x80, 0xc0, 0xd7, 0x7c, 0xa0, 0xbd, 0x9d, 0x12, 0x01, 0xf9, 0x1f, 0x1c, 0xca, - 0x49, 0x74, 0xc0, 0x91, 0x2b, 0xf9, 0xfa, 0x02, 0x3b, 0xeb, 0x3b, 0xb1, 0x05, 0x49, 0x60, 0x90, - 0xea, 0xda, 0xae, 0x97, 0x2b, 0xe9, 0xe0, 0x46, 0xc3, 0xc3, 0xa9, 0x9e, 0x47, 0x46, 0x4d, 0xc2, - 0xfd, 0xc9, 0xa2, 0xf4, 0xfd, 0xa2, 0x21, 0xb6, 0x6f, 0xcb, 0xe7, 0xa8, 0x0c, 0x1f, 0xfe, 0xc6, - 0x05, 0xcc, 0x04, 0xda, 0xc6, 0xf3, 0xcb, 0x87, 0xfe, 0x12, 0x57, 0x93, 0x4a, 0xf5, 0xaf, 0x39, - 0x5a, 0x7d, 0x4a, 0x2d, 0x23, 0xe3, 0x90, 0xc1, 0x54, 0x8c, 0x83, 0x4f, 0x90, 0x86, 0xa4, 0xa4, - 0xe5, 0x7c, 0x6c, 0x6c, 0x34, 0x0a, 0xd2, 0x05, 0xc4, 0xd5, 0x39, 0x0f, 0x80, 0x10, 0x33, 0x10, - 0xfc, 0xea, 0x5f, 0xf4, 0x29, 0x48, 0xb3, 0x80, 0x6a, 0xd5, 0xea, 0x5e, 0xe8, 0xd3, 0x95, 0x59, - 0xd2, 0x6f, 0x88, 0x97, 0x02, 0xcb, 0xe3, 0x74, 0xb2, 0xb9, 0x1a, 0xeb, 0x7d, 0x95, 0xca, 0x58, - 0x70, 0x61, 0x95, 0xd4, 0x1b, 0x32, 0x5f, 0x3f, 0x43, 0x57, 0xed, 0x0b, 0xa1, 0x6f, 0x95, 0x89, - 0x05, 0xb4, 0xe3, 0x19, 0x29, 0x87, 0x3a, 0x11, 0x3b, 0x67, 0x14, 0xcc, 0x5c, 0x89, 0x59, 0xc5, - 0x66, 0x1d, 0x74, 0x0d, 0xd3, 0x80, 0xee, 0xf0, 0xcb, 0x98, 0x15, 0x95, 0xdd, 0x5c, 0x3d, 0xc2, - 0xef, 0x6c, 0x8d, 0xc9, 0xb2, 0xd8, 0xc6, 0x37, 0x31, 0x10, 0xb0, 0xe2, 0xd6, 0x30, 0x3a, 0xc7, - 0x40, 0x3b, 0x7a, 0x79, 0x15, 0x3e, 0x2c, 0x81, 0xce, 0xb5, 0xd2, 0x29, 0xe5, 0x5e, 0x7e, 0xec, - 0xc3, 0x63, 0xb6, 0xc6, 0x8d, 0x0a, 0xa4, 0xbd, 0x97, 0x92, 0xd9, 0x71, 0xae, 0x3e, 0x74, 0x83, - 0x82, 0xaa, 0xd9, 0x9b, 0x3f, 0x9f, 0xd8, 0x4d, 0x32, 0xce, 0xa6, 0x05, 0x85, 0x47, 0x19, 0x57, - 0x9f, 0xee, 0xe7, 0x7d, 0xcf, 0x90, 0xc7, 0x28, 0x90, 0x69, 0x86, 0xf5, 0xd4, 0xba, 0x1c, 0x0a, - 0xe0, 0xff, 0x98, 0x92, 0x94, 0x96, 0x75, 0x09, 0xc7, 0x8f, 0x70, 0xfd, 0x1f, 0x73, 0x7c, 0x59, - 0x3a, 0xdc, 0x7c, 0x54, 0xc1, 0x5e, 0xa6, 0x1a, 0x7b, 0xfb, 0xe4, 0x78, 0xe3, 0xae, 0x8a, 0xdd, - 0x03, 0x66, 0x96, 0x77, 0xa4, 0x7b, 0xb9, 0xc8, 0x47, 0x3a, 0xa8, 0xa7, 0x7c, 0x83, 0x81, 0xc6, - 0x43, 0x83, 0x12, 0x27, 0x24, 0xc1, 0xe8, 0x82, 0xad, 0xce, 0x76, 0x7e, 0xf6, 0x50, 0x63, 0xc0, - 0xb1, 0x7c, 0x1e, 0x48, 0x45, 0x06, 0x75, 0x1c, 0xd2, 0xbe, 0xb9, 0x82, 0xe4, 0x07, 0x6d, 0x7c, - 0x22, 0x91, 0xb9, 0xfc, 0x58, 0xfc, 0xcb, 0xfc, 0x76, 0x19, 0xc3, 0xdf, 0x92, 0xff, 0x1a, 0x99, - 0xc1, 0xad, 0x52, 0x0f, 0xee, 0x4b, 0xfb, 0x93, 0x47, 0x3e, 0xa3, 0xa0, 0x47, 0x1e, 0x74, 0xba, - 0x43, 0xe2, 0x38, 0xe3, 0x9a, 0xb2, 0x7f, 0xed, 0x12, 0x96, 0x7a, 0xdf, 0xaf, 0x7e, 0xf6, 0x7f, - 0x07, 0xae, 0x6e, 0x61, 0x50, 0xd6, 0x2b, 0x08, 0x84, 0x53, 0x32, 0x30, 0xd9, 0xd2, 0x13, 0x46, - 0x6c, 0x40, 0xed, 0x1d, 0xb5, 0xb4, 0x49, 0x66, 0x34, 0xf6, 0xa0, 0xc1, 0x13, 0x06, 0xa9, 0x0d, - 0xeb, 0xf0, 0xb4, 0x37, 0xf9, 0x31, 0x0f, 0x35, 0x9d, 0x00, 0xc9, 0xf1, 0x78, 0xf9, 0x43, 0x4c, - 0x98, 0x9b, 0x53, 0x64, 0xc6, 0xe2, 0x97, 0x59, 0xe6, 0x44, 0x9f, 0x0b, 0xdc, 0xa2, 0x71, 0xe3, - 0xcf, 0xd8, 0xb8, 0xea, 0x6e, 0x06, 0x74, 0x75, 0x5e, 0x0f, 0x18, 0x65, 0x2a, 0x9a, 0x4f, 0x6e, - 0x14, 0x84, 0xaa, 0x7f, 0x97, 0x07, 0x52, 0xa2, 0x09, 0x96, 0x65, 0xe2, 0xd9, 0x01, 0x55, 0xce, - 0xd5, 0x0e, 0x1a, 0x22, 0x52, 0xe0, 0x4a, 0x54, 0x99, 0x99, 0x81, 0x12, 0xe1, 0x68, 0x78, 0x57, - 0x24, 0x20, 0xee, 0xe5, 0x33, 0x10, 0xac, 0x86, 0x36, 0xdb, 0x72, 0xd4, 0xc0, 0x19, 0x37, 0x74, - 0x74, 0xa8, 0x0e, 0xa7, 0x58, 0x93, 0x7f, 0xeb, 0x73, 0xe4, 0x16, 0x92, 0xed, 0xc4, 0x3b, 0xd1, - 0xd5, 0xf7, 0x7e, 0xbf, 0xcd, 0x8e, 0x7c, 0xe8, 0x41, 0xfa, 0x1a, 0x2e, 0x47, 0xb5, 0x93, 0x8d, - 0xd8, 0x48, 0x41, 0x38, 0x82, 0x38, 0xaf, 0xc8, 0xd6, 0x45, 0xef, 0xed, 0xf7, 0x7a, 0x37, 0x8d, - 0x30, 0xa3, 0x6c, 0xb7, 0xc8, 0xdd, 0x17, 0x45, 0x66, 0x47, 0x5e, 0xf0, 0x81, 0x5a, 0x85, 0x83, - 0x37, 0x7b, 0xa6, 0xc8, 0x5e, 0x92, 0x83, 0x7d, 0xb3, 0xb8, 0x07, 0x00, 0x4e, 0x53, 0xdb, 0x81, - 0xe8, 0xe6, 0x83, 0x58, 0x70, 0x92, 0xb1, 0x86, 0xb1, 0x3f, 0xa1, 0x80, 0xa6, 0x82, 0x16, 0x0b, - 0xa7, 0xc0, 0xeb, 0x9e, 0x8d, 0x26, 0xa5, 0x8d, 0x17, 0x1b, 0x30, 0xa9, 0x6a, 0xd7, 0x74, 0xbc, - 0x99, 0xdf, 0x38, 0xaf, 0x5e, 0xfa, 0x0c, 0x66, 0x99, 0x5f, 0xb4, 0xb7, 0x0f, 0x26, 0xf8, 0x88, - 0x1e, 0x4f, 0x2e, 0x60, 0xe2, 0x1a, 0x60, 0x9a, 0x24, 0xc3, 0x5c, 0x64, 0xe8, 0xa9, 0x78, 0x96, - 0x03, 0x34, 0x27, 0x93, 0xea, 0x35, 0x39, 0x1c, 0x66, 0xac, 0x57, 0xfb, 0x94, 0x17, 0xe3, 0x4e, - 0xe4, 0xc6, 0x4d, 0x49, 0x5d, 0xbf, 0x09, 0xba, 0xb8, 0x3c, 0xce, 0xc2, 0xc5, 0x6b, 0xb4, 0xfd, - 0xbd, 0x91, 0xdd, 0x46, 0xd2, 0x04, 0x5d, 0xb8, 0x5b, 0xa0, 0x6e, 0x8e, 0xd4, 0x2b, 0x79, 0x9d, - 0x63, 0x97, 0x08, 0xcb, 0x47, 0x21, 0x03, 0x06, 0x4a, 0x03, 0x0a, 0xa5, 0x01, 0x3a, 0xba, 0x5a, - 0x11, 0x58, 0x39, 0x41, 0x60, 0xbd, 0x4c, 0xb0, 0xb6, 0x9d, 0xe4, 0x9a, 0x53, 0x13, 0x69, 0xa5, - 0x0f, 0x6c, 0x9f, 0xaf, 0x13, 0x16, 0x45, 0x5f, 0xf6, 0x71, 0x35, 0xe9, 0xc8, 0xd3, 0x43, 0xfc, - 0x6c, 0x12, 0x37, 0x7b, 0x81, 0xcf, 0x67, 0xca, 0x84, 0x2e, 0x90, 0x1c, 0x50, 0xb6, 0xdb, 0x90, - 0xb5, 0x71, 0xa1, 0xc8, 0x52, 0x6e, 0x93, 0xec, 0x87, 0x0c, 0x20, 0x72, 0xf4, 0x9d, 0xb7, 0x72, - 0xdf, 0x90, 0x92, 0x10, 0x9a, 0x1b, 0xde, 0x4e, 0xb7, 0xb6, 0x7a, 0x00, 0x3e, 0xf4, 0x90, 0xbf, - 0xff, 0x4e, 0xe2, 0xff, 0x8c, 0x3e, 0x7a, 0x35, 0x0f, 0x10, 0xb9, 0xce, 0x73, 0xc7, 0xd3, 0xd4, - 0x1c, 0x18, 0xec, 0xa9, 0xb9, 0x38, 0xff, 0x28, 0x3f, 0xd3, 0xa5, 0x53, 0x42, 0xd2, 0xdf, 0x12, - 0xe8, 0xbc, 0x10, 0x20, 0x93, 0xac, 0x80, 0x58, 0x00, 0x7b, 0x4f, 0xaa, 0x4c, 0xc7, 0xe0, 0xa6, - 0x3d, 0x4e, 0x0f, 0xb4, 0xff, 0x2d, 0x89, 0xe3, 0x9f, 0xb4, 0x92, 0xa9, 0xd8, 0x3f, 0x07, 0x4f, - 0xb9, 0x67, 0xfd, 0xdf, 0x14, 0x60, 0xaa, 0x8f, 0xf4, 0x1a, 0x00, 0xcd, 0x48, 0xef, 0xdc, 0x3e, - 0x91, 0xa7, 0x1b, 0x05, 0x3b, 0x57, 0xe8, 0x7d, 0x13, 0x5e, 0x53, 0xd5, 0xf5, 0xf9, 0x13, 0xab, - 0xd3, 0x53, 0xa9, 0xf6, 0xc2, 0x66, 0x83, 0xfa, 0x02, 0x47, 0x3f, 0x62, 0xfe, 0x36, 0x0f, 0x00, - 0x0e, 0x20, 0x23, 0x3e, 0xce, 0xe3, 0x03, 0xc2, 0xab, 0x2d, 0x7c, 0x9e, 0x60, 0x87, 0xd5, 0x5f, - 0x1d, 0x22, 0x14, 0xca, 0x74, 0xe5, 0x2d, 0xbb, 0x9c, 0xc0, 0x23, 0x87, 0x7d, 0xc3, 0xb3, 0x8a, - 0x73, 0x18, 0x33, 0x5d, 0x25, 0x08, 0x3d, 0x7a, 0xaf, 0x82, 0xae, 0xc4, 0xde, 0x79, 0x53, 0x66, - 0x02, 0x87, 0x7c, 0xa8, 0xa7, 0x0b, 0x38, 0x0e, 0xed, 0x2c, 0xee, 0x2c, 0x5b, 0x37, 0x56, 0x4b, - 0xfc, 0x8c, 0x1a, 0x8b, 0x06, 0x57, 0xc8, 0xc4, 0x95, 0x96, 0x41, 0xd5, 0x9a, 0x8d, 0x58, 0xbb, - 0x7e, 0x50, 0x4e, 0xe3, 0x2c, 0xb6, 0x66, 0xe9, 0x1d, 0x0a, 0xe2, 0xab, 0x1a, 0x25, 0x41, 0xc1, - 0xe3, 0xdd, 0x88, 0xfb, 0xd1, 0x42, 0x70, 0x75, 0xaf, 0x95, 0x94, 0xf7, 0xde, 0xc5, 0x93, 0x8a, - 0xda, 0x1b, 0x95, 0x75, 0x30, 0x84, 0x79, 0x82, 0xd6, 0x52, 0x10, 0x79, 0xf4, 0x9a, 0x85, 0xb3, - 0xd5, 0x00, 0x98, 0x4f, 0x09, 0x93, 0xe2, 0xb7, 0x53, 0x30, 0xa8, 0x58, 0xfa, 0xbe, 0xdd, 0x14, - 0x3e, 0x31, 0xad, 0xc2, 0x54, 0x26, 0x7b, 0x05, 0x89, 0x74, 0xaa, 0xe6, 0x0d, 0x73, 0xae, 0x5d, - 0x74, 0x8e, 0x1a, 0x7e, 0xb4, 0xd8, 0x0c, 0xd5, 0xb1, 0xca, 0x04, 0xf8, 0x8c, 0x5f, 0x72, 0x0a, - 0x2c, 0x66, 0x95, 0x5b, 0x20, 0x2e, 0x85, 0xed, 0xb8, 0x68, 0x37, 0x72, 0x8d, 0x28, 0xdf, 0xab, - 0x44, 0x80, 0xa2, 0xb5, 0x86, 0x11, 0xc1, 0xb7, 0x6a, 0x52, 0xf5, 0x00, 0x76, 0x91, 0x04, 0xc9, - 0xfa, 0xff, 0x9d, 0x5e, 0xf6, 0x59, 0x46, 0xc2, 0x46, 0x2b, 0xb2, 0xda, 0x15, 0x74, 0x06, 0x9c, - 0x19, 0x79, 0x45, 0xe4, 0x3b, 0xa6, 0x36, 0x42, 0x20, 0xa2, 0xaa, 0x11, 0xc9, 0x96, 0x88, 0xcc, - 0xeb, 0xdf, 0xd2, 0x8a, 0x3f, 0x4c, 0xa4, 0x83, 0x03, 0x7a, 0xde, 0x7d, 0x72, 0xef, 0x93, 0x9c, - 0x48, 0xea, 0xfd, 0xcd, 0x7f, 0xe4, 0xe7, 0x30, 0xf1, 0x79, 0x79, 0x37, 0xd7, 0xc2, 0x70, 0x78, - 0xa8, 0x86, 0x52, 0xff, 0x99, 0xbd, 0xab, 0x74, 0xcf, 0xa4, 0x35, 0x14, 0xd4, 0xef, 0xf4, 0xdb, - 0xd5, 0x1b, 0x6b, 0xa0, 0x38, 0x55, 0x53, 0x44, 0xff, 0x33, 0x7c, 0xcc, 0x1b, 0x13, 0xf0, 0xdc, - 0x16, 0xfb, 0x66, 0x9e, 0xc4, 0x85, 0xeb, 0x9c, 0xfc, 0x9d, 0xb8, 0xa6, 0x06, 0xab, 0xd2, 0x4b, - 0xe9, 0x3e, 0xbe, 0x2e, 0x04, 0xc7, 0x33, 0x67, 0x03, 0xdb, 0x8b, 0x1c, 0x77, 0x4b, 0x72, 0xee, - 0xaf, 0x73, 0x16, 0x32, 0x1a, 0x83, 0x4a, 0x37, 0x6b, 0x9b, 0x98, 0xf3, 0xc8, 0x1a, 0xb9, 0x01, - 0x91, 0x2d, 0xee, 0x2b, 0x83, 0x0c, 0x91, 0xd8, 0xd9, 0x63, 0x8f, 0xc7, 0x71, 0xe9, 0x74, 0xe1, - 0x07, 0xfb, 0xe1, 0xf6, 0x27, 0xf4, 0x58, 0xcc, 0x1e, 0x5b, 0x94, 0x21, 0x2c, 0x69, 0x72, 0x1f, - 0x69, 0xc5, 0x09, 0x98, 0xed, 0x74, 0xee, 0x14, 0x5e, 0x0f, 0x17, 0xe8, 0xef, 0x43, 0x9d, 0x7b, - 0x89, 0x67, 0x31, 0x57, 0xe0, 0x90, 0x60, 0xf0, 0xd2, 0xdb, 0xdc, 0x5b, 0x49, 0x84, 0x4c, 0x2b, - 0xf0, 0xd7, 0x86, 0x3f, 0x09, 0x8f, 0xa4, 0x9a, 0x08, 0xe0, 0x9e, 0x6a, 0x50, 0x4d, 0x1b, 0x41, - 0xe3, 0xdc, 0x41, 0x53, 0x96, 0x77, 0x86, 0x48, 0xa7, 0xa8, 0x9f, 0xf4, 0x62, 0x5b, 0x52, 0xef, - 0x7e, 0x34, 0xa3, 0xbb, 0xf2, 0x3a, 0xaa, 0xe7, 0x3a, 0x48, 0xe8, 0x33, 0x33, 0xa2, 0xb3, 0xc5, - 0xe0, 0xc0, 0x40, 0x15, 0x59, 0xa0, 0x9e, 0xcb, 0x17, 0x77, 0x51, 0x60, 0x84, 0x4a, 0x93, 0x9d, - 0xe7, 0xad, 0x02, 0x0c, 0xfa, 0x37, 0xe4, 0x45, 0x78, 0x9f, 0x4b, 0x0a, 0xce, 0x2a, 0x9f, 0xe2, - 0xc0, 0x61, 0xe8, 0xc3, 0xfd, 0x8d, 0x92, 0x49, 0xf9, 0x56, 0x6c, 0x2f, 0x68, 0x0a, 0x19, 0xc2, - 0x25, 0x7f, 0x1b, 0xc1, 0x35, 0x72, 0x55, 0xca, 0xf0, 0x1b, 0x9b, 0x36, 0x87, 0x53, 0xf7, 0x9f, - 0x5c, 0xd2, 0x0b, 0x93, 0x38, 0x04, 0x6b, 0x99, 0x19, 0xe3, 0x7e, 0x43, 0xfb, 0xb1, 0xaa, 0x49, - 0xa3, 0x51, 0x90, 0x87, 0x71, 0x85, 0xce, 0xbe, 0xfc, 0xe3, 0x7c, 0x66, 0x79, 0xe9, 0x4e, 0xac, - 0xd8, 0x4e, 0x2b, 0xdf, 0x9f, 0x41, 0x7e, 0x15, 0x52, 0x4d, 0x20, 0xb3, 0xde, 0x9a, 0x0d, 0x43, - 0x57, 0x27, 0xd9, 0x32, 0x8b, 0x2d, 0x8f, 0x67, 0x14, 0x7c, 0x0c, 0xed, 0x08, 0x7e, 0x11, 0x0a, - 0xad, 0x0c, 0x77, 0x67, 0xcc, 0x6c, 0x76, 0x34, 0x7a, 0x2f, 0xa6, 0x13, 0xda, 0xab, 0xab, 0x6f, - 0xc8, 0x5d, 0xfd, 0xf4, 0x53, 0x25, 0x04, 0xc0, 0xe6, 0x82, 0x9e, 0x5c, 0x13, 0xf8, 0x43, 0x67, - 0x69, 0x0f, 0x5f, 0x2d, 0x34, 0xe8, 0x59, 0xa5, 0xce, 0x5e, 0xe9, 0xe7, 0xa6, 0x6a, 0x05, 0xb3, - 0x61, 0x5d, 0xd5, 0xb2, 0x42, 0xd9, 0x91, 0x82, 0xdc, 0x8d, 0x05, 0x99, 0xd9, 0xf0, 0xb2, 0x8f, - 0xb8, 0x74, 0xa0, 0xe7, 0xee, 0x27, 0x92, 0x8e, 0x01, 0x12, 0x07, 0xd4, 0x56, 0x81, 0xd1, 0x88, - 0xd4, 0x48, 0x0f, 0x9d, 0xeb, 0xe6, 0x8e, 0x1e, 0x21, 0x35, 0xcb, 0x67, 0x6a, 0xb5, 0xa5, 0xdc, - 0xab, 0x31, 0xc5, 0xb1, 0x23, 0x4b, 0x10, 0x4f, 0x67, 0x69, 0x44, 0x60, 0xe2, 0xde, 0xe8, 0x46, - 0x25, 0x84, 0x0b, 0x55, 0x6c, 0x4e, 0x70, 0x83, 0x55, 0xa0, 0x41, 0x93, 0xa1, 0x48, 0x5e, 0x60, - 0x91, 0xe2, 0xd8, 0x07, 0x78, 0xd7, 0x7f, 0xd0, 0x87, 0x32, 0x19, 0x64, 0xed, 0x17, 0x09, 0xaf, - 0x3c, 0x93, 0x8b, 0xaa, 0xc4, 0x6e, 0xa2, 0x50, 0x85, 0x7b, 0xf8, 0xa1, 0x6c, 0x93, 0x34, 0x07, - 0x8f, 0x93, 0x50, 0xf3, 0x43, 0xe8, 0x3c, 0x8c, 0x33, 0x10, 0x8d, 0xf3, 0x41, 0xf5, 0x07, 0xb8, - 0xa8, 0xea, 0x10, 0x27, 0x31, 0x6c, 0xe8, 0xfc, 0x1d, 0x40, 0x43, 0x96, 0xf8, 0x3a, 0x64, 0x20, - 0x64, 0x65, 0xaa, 0x5c, 0x63, 0xbd, 0x85, 0x72, 0x2a, 0x70, 0x69, 0x08, 0x0f, 0xf4, 0xfc, 0xe0, - 0x7a, 0xf6, 0x9b, 0x33, 0x2b, 0xc4, 0x42, 0xf4, 0x74, 0xe4, 0x10, 0x5f, 0x88, 0xa3, 0x7b, 0x12, - 0x03, 0x5b, 0xb4, 0x55, 0xaf, 0x6d, 0xdf, 0xdd, 0xd0, 0x8d, 0xf0, 0xd9, 0xa3, 0xbf, 0xe3, 0x14, - 0xe0, 0x6e, 0x4b, 0x56, 0xc2, 0xf9, 0x0f, 0x46, 0x32, 0xd8, 0x24, 0xf7, 0xca, 0xce, 0xbd, 0xb9, - 0x18, 0xa3, 0x10, 0x2e, 0x8a, 0xb0, 0xe9, 0x6e, 0xc4, 0x14, 0xf3, 0xb1, 0x49, 0x40, 0xac, 0x70, - 0xb4, 0x3d, 0x31, 0x9a, 0x04, 0x97, 0xff, 0x02, 0x91, 0x6e, 0x08, 0x53, 0x59, 0xeb, 0x9f, 0x1e, - 0xb5, 0x52, 0x21, 0x69, 0xaa, 0x03, 0x11, 0xc6, 0xf4, 0x40, 0x7c, 0x96, 0xda, 0x58, 0x41, 0xec, - 0xf4, 0xa9, 0x04, 0x11, 0x0e, 0x87, 0x0d, 0xcc, 0x6d, 0xe1, 0x9d, 0xcd, 0x79, 0x40, 0xaf, 0x8a, - 0xf4, 0x4c, 0x04, 0xda, 0x84, 0x9a, 0x09, 0x20, 0x8e, 0xe0, 0x8e, 0x9a, 0x72, 0x22, 0x53, 0xb7, - 0x92, 0x44, 0x23, 0xaf, 0x81, 0xa2, 0xad, 0x3a, 0xad, 0x5a, 0x95, 0xc3, 0xcb, 0xfc, 0x23, 0x12, - 0x55, 0xbf, 0x56, 0x62, 0xdf, 0x01, 0xa6, 0xe4, 0xd4, 0x0f, 0x3a, 0x80, 0xb6, 0xe7, 0x40, 0xdf, - 0xc0, 0x06, 0x24, 0xe4, 0x47, 0xbb, 0xaf, 0x28, 0x33, 0xe4, 0x5f, 0x4c, 0x3c, 0x1a, 0x21, 0x7d, - 0x4a, 0x41, 0xcf, 0x28, 0xff, 0x2d, 0xc5, 0x74, 0x74, 0xeb, 0x32, 0xc2, 0x75, 0xe9, 0x36, 0x6b, - 0xd6, 0xca, 0x45, 0x70, 0x07, 0x7d, 0xe7, 0x21, 0x49, 0xd8, 0xc2, 0x5a, 0x17, 0x18, 0x0b, 0xb3, - 0x95, 0x90, 0x64, 0x15, 0x2a, 0xf4, 0x23, 0xd4, 0x56, 0x80, 0x57, 0xe2, 0xb8, 0xdf, 0xd2, 0x27, - 0x71, 0x3f, 0x26, 0x8a, 0x5a, 0x97, 0x67, 0xda, 0x9d, 0x99, 0x65, 0x75, 0x81, 0x32, 0xd1, 0x59, - 0x20, 0x81, 0x94, 0x90, 0x8b, 0x12, 0x84, 0x1f, 0xfa, 0x57, 0x24, 0x2f, 0x8a, 0xc2, 0x56, 0x9f, - 0xd6, 0x3d, 0x6f, 0xdf, 0xe5, 0xee, 0x44, 0x92, 0x76, 0xe1, 0x67, 0x3d, 0x0e, 0x1b, 0x8e, 0x99, - 0x6d, 0x67, 0xb3, 0x0f, 0xc6, 0xb2, 0x7a, 0x8b, 0x5f, 0x40, 0x7d, 0xd7, 0x78, 0xfe, 0x80, 0x1c, - 0xbc, 0x57, 0x50, 0x24, 0xa3, 0x2a, 0xd3, 0x95, 0x73, 0xfc, 0xdb, 0x80, 0xd6, 0xfc, 0x38, 0xd8, - 0xfb, 0x45, 0x62, 0xdc, 0xf2, 0x38, 0x0d, 0x42, 0xa3, 0x64, 0x7b, 0x13, 0x45, 0xd5, 0x7a, 0xfd, - 0x61, 0x43, 0x64, 0xfc, 0xa6, 0xdc, 0x8f, 0xcc, 0x37, 0x68, 0xac, 0x88, 0x22, 0x8f, 0x05, 0x51, - 0xc2, 0x6f, 0xc4, 0x44, 0x44, 0x3e, 0xcb, 0xaa, 0x03, 0x4b, 0xd7, 0xbd, 0xda, 0xb8, 0x44, 0x31, - 0x0b, 0x45, 0x56, 0x9b, 0x01, 0x8e, 0x1d, 0x07, 0xb5, 0xa5, 0x1c, 0xb9, 0x98, 0x18, 0x70, 0xc8, - 0x0a, 0xab, 0x79, 0xaa, 0x78, 0xff, 0xd3, 0xf1, 0x90, 0xb6, 0x36, 0x6f, 0x15, 0x9b, 0x6b, 0x23, - 0x1d, 0x2f, 0xe6, 0xea, 0x70, 0xab, 0xa3, 0xf6, 0x58, 0xf0, 0xf0, 0xdb, 0x47, 0x42, 0x5e, 0x9e, - 0x82, 0xae, 0xec, 0x88, 0x16, 0x5c, 0xcc, 0x1c, 0xcd, 0xae, 0x94, 0x5b, 0xa3, 0xc5, 0xda, 0xf8, - 0x01, 0x19, 0x7f, 0x81, 0x96, 0xb8, 0x8b, 0x6a, 0xf8, 0x5f, 0x94, 0xe4, 0x8f, 0xdc, 0xc5, 0xfd, - 0x74, 0x47, 0x44, 0xfd, 0xe7, 0x7f, 0x6f, 0x88, 0x13, 0xca, 0x2f, 0xcc, 0x03, 0x1c, 0xfd, 0xcb, - 0x84, 0x80, 0x29, 0xd2, 0x37, 0x89, 0x71, 0x7b, 0x50, 0xcb, 0xee, 0x26, 0x65, 0xac, 0x51, 0xf0, - 0x34, 0x09, 0x9f, 0xe8, 0xd4, 0x63, 0x9d, 0xe2, 0x62, 0xda, 0x01, 0x40, 0x6f, 0xec, 0xac, 0xc2, - 0x9d, 0x8e, 0xd3, 0xa6, 0x2d, 0x1d, 0x7a, 0x7a, 0x43, 0xb9, 0xfb, 0xda, 0x3d, 0x0f, 0xdb, 0xec, - 0xcb, 0xa8, 0xac, 0xac, 0x8d, 0xb7, 0x0a, 0x3f, 0xf9, 0xba, 0x4c, 0x77, 0x0d, 0xb0, 0x8b, 0x9a, - 0x5e, 0x91, 0x85, 0x47, 0x88, 0x10, 0x3c, 0xed, 0x3a, 0x0b, 0x2d, 0x06, 0xc9, 0xdc, 0x04, 0xc3, - 0x67, 0x87, 0x9e, 0xda, 0x7e, 0x04, 0xe6, 0x1b, 0xae, 0xa7, 0x80, 0x30, 0xe6, 0x38, 0x72, 0x2a, - 0x44, 0x0d, 0x16, 0xee, 0xee, 0xf6, 0xd6, 0xb7, 0x83, 0x10, 0x58, 0xea, 0x7f, 0x29, 0xf6, 0xba, - 0x60, 0x88, 0xf3, 0x2a, 0x54, 0xae, 0x3a, 0xcf, 0x35, 0x48, 0x66, 0xf8, 0xc6, 0x07, 0x87, 0xf0, - 0xb8, 0x28, 0x34, 0xa7, 0x4f, 0x8c, 0x94, 0xdc, 0x64, 0x02, 0xdf, 0xff, 0xb9, 0xa1, 0x56, 0x70, - 0x55, 0x8b, 0x0b, 0xc3, 0x92, 0x0a, 0xe9, 0x44, 0x49, 0x96, 0xa8, 0x68, 0x86, 0x40, 0xb4, 0x60, - 0x13, 0xe0, 0x67, 0x72, 0xd3, 0xa1, 0xab, 0xc0, 0x90, 0x0f, 0xaf, 0x0a, 0xd6, 0x1e, 0x35, 0xa8, - 0x90, 0x81, 0x49, 0x8a, 0xcc, 0x92, 0x2c, 0xef, 0xf1, 0xfa, 0x45, 0x1b, 0x51, 0xa5, 0x51, 0xc3, - 0x80, 0x4c, 0x38, 0x17, 0xae, 0x0d, 0xb8, 0xdb, 0x5c, 0x9f, 0xdc, 0x35, 0x85, 0x0e, 0x27, 0x3c, - 0x03, 0xeb, 0x7a, 0x9e, 0xf0, 0xc3, 0xd6, 0xcc, 0x67, 0x7f, 0x35, 0xbd, 0x9a, 0x9b, 0x93, 0xe9, - 0xad, 0xcd, 0xb9, 0xde, 0xe5, 0x38, 0x6d, 0x8c, 0x24, 0x2e, 0x89, 0x0e, 0xd7, 0xea, 0xd8, 0x60, - 0x1e, 0x2f, 0x85, 0xf8, 0xd1, 0x4c, 0x2f, 0x01, 0x81, 0xc1, 0x7f, 0x12, 0xa6, 0x19, 0x41, 0x78, - 0x14, 0x48, 0x88, 0x05, 0xd7, 0x9c, 0x38, 0xc9, 0x0c, 0x9f, 0xd9, 0x20, 0xf9, 0x19, 0xa7, 0x0a, - 0x77, 0x67, 0x50, 0xdc, 0xc6, 0xa0, 0xae, 0xe7, 0xa3, 0xc3, 0x4b, 0x0a, 0x99, 0xa5, 0x09, 0x15, - 0x3b, 0x55, 0x4d, 0x14, 0x7c, 0xc9, 0xcc, 0xe7, 0x7c, 0x36, 0xf9, 0xf5, 0x95, 0x48, 0x15, 0x06, - 0xef, 0x11, 0xb9, 0xfb, 0x9c, 0x05, 0x36, 0xca, 0xae, 0x33, 0x97, 0x95, 0xe6, 0xd9, 0x27, 0x22, - 0x3f, 0x11, 0x9d, 0xc4, 0xac, 0x69, 0xfd, 0x7a, 0xc7, 0x8e, 0xcf, 0x10, 0x07, 0x0f, 0x72, 0xe4, - 0x02, 0x8f, 0x1c, 0xad, 0xf6, 0x1b, 0xf2, 0x4b, 0x14, 0xe4, 0x4c, 0x10, 0xea, 0x68, 0x99, 0xb6, - 0x41, 0x28, 0x73, 0x49, 0x75, 0x15, 0x2d, 0xb6, 0x8e, 0x6b, 0x23, 0xba, 0x55, 0x1c, 0x7e, 0x0d, - 0x85, 0xda, 0x26, 0xe5, 0x54, 0x6e, 0x1a, 0x0c, 0x16, 0x57, 0x43, 0xbe, 0x38, 0xee, 0xa4, 0xde, - 0x9c, 0xc6, 0xee, 0x40, 0x9c, 0x50, 0xdf, 0x3e, 0x02, 0x27, 0xe6, 0xcf, 0xa3, 0x3b, 0xbd, 0xef, - 0xdb, 0xd6, 0xca, 0x99, 0x9f, 0x92, 0x1a, 0x29, 0xa3, 0x2b, 0x77, 0x4f, 0x41, 0xf1, 0x9f, 0xcd, - 0xf4, 0x6f, 0x9f, 0x31, 0x78, 0x01, 0xc9, 0x01, 0x02, 0xa7, 0x6a, 0xcf, 0x8a, 0xa5, 0x93, 0x98, - 0xfa, 0x67, 0xac, 0xd7, 0xe8, 0x9a, 0x9f, 0x98, 0xf9, 0x27, 0xcc, 0x4b, 0xa9, 0x00, 0x2c, 0x7a, - 0x16, 0xaf, 0xc1, 0xcd, 0xee, 0xde, 0xeb, 0x31, 0x9b, 0x82, 0x96, 0xd7, 0xac, 0xc3, 0xcb, 0xd3, - 0x26, 0x58, 0x01, 0x89, 0x29, 0xef, 0x0c, 0xd5, 0xf3, 0x2c, 0x88, 0xf5, 0x40, 0x66, 0x71, 0x4a, - 0xa3, 0xc0, 0xfd, 0x42, 0x19, 0xf3, 0x0a, 0xa7, 0x71, 0xe8, 0x56, 0x12, 0x44, 0x3e, 0x49, 0xd4, - 0xf3, 0xa0, 0x24, 0x6a, 0x36, 0xac, 0x37, 0x04, 0xc2, 0xfc, 0x9d, 0xe9, 0xc7, 0x4d, 0x1a, 0x4e, - 0xcb, 0xc1, 0xa5, 0xe2, 0xb9, 0x69, 0x79, 0xfb, 0x16, 0x0a, 0x04, 0x23, 0x4a, 0xb2, 0x33, 0x44, - 0x04, 0xe9, 0xf3, 0xa4, 0xc8, 0xac, 0x0b, 0xc8, 0xe7, 0x52, 0x06, 0x6b, 0x61, 0x6a, 0x52, 0xb4, - 0xeb, 0x31, 0x02, 0xe0, 0xcd, 0xd7, 0x7a, 0x93, 0x8b, 0x1c, 0x93, 0xc5, 0xe3, 0xe9, 0x6d, 0x6c, - 0x00, 0xad, 0x31, 0x07, 0x1c, 0x67, 0x1f, 0x6d, 0xa8, 0xa9, 0x0f, 0x93, 0x93, 0xf2, 0xd0, 0xe7, - 0x20, 0xc9, 0xa8, 0xde, 0x16, 0xea, 0xa7, 0xed, 0xd5, 0x72, 0x28, 0x96, 0x96, 0x13, 0x61, 0x78, - 0x38, 0xc7, 0x71, 0xfa, 0xa2, 0x7e, 0x7e, 0x7f, 0x1c, 0x0d, 0x36, 0x33, 0x81, 0xbd, 0xf9, 0xf5, - 0xe6, 0x69, 0xeb, 0x39, 0xeb, 0x06, 0xa3, 0x8b, 0xa4, 0x8e, 0x58, 0x53, 0x08, 0xf5, 0x79, 0x51, - 0xfe, 0xed, 0x34, 0xb1, 0x76, 0xf6, 0x48, 0x2c, 0x9a, 0x0e, 0x00, 0x1b, 0x7b, 0x58, 0x62, 0xdb, - 0x48, 0x6b, 0x24, 0xfe, 0xfa, 0x08, 0xa2, 0xc7, 0xab, 0xe7, 0xf5, 0x8e, 0xef, 0xf4, 0xf2, 0xb6, - 0xad, 0xcc, 0x2f, 0x1f, 0x2c, 0x45, 0x3d, 0x36, 0x81, 0xb6, 0x7a, 0x4c, 0xc1, 0x71, 0xf6, 0x0e, - 0xe9, 0xd8, 0x75, 0x0b, 0xf6, 0xf5, 0xb7, 0xf5, 0x06, 0xcd, 0x75, 0x38, 0x7a, 0x41, 0x51, 0xe9, - 0x4a, 0x9f, 0x4e, 0x3c, 0x8e, 0x47, 0x6f, 0x80, 0x46, 0xb0, 0x4a, 0xc2, 0x1b, 0x0c, 0xf7, 0x43, - 0x47, 0xd1, 0x4e, 0x34, 0x5c, 0xf6, 0x2a, 0xff, 0xda, 0x2e, 0xd0, 0x47, 0xaf, 0x94, 0x90, 0x6a, - 0x49, 0xfc, 0x53, 0x44, 0x62, 0x68, 0xf1, 0xdc, 0x46, 0xb7, 0x5e, 0x29, 0xe6, 0x95, 0xa8, 0xc2, - 0x3d, 0x5b, 0xa7, 0x68, 0x5c, 0x88, 0x65, 0x53, 0xe3, 0x4b, 0x73, 0xbb, 0x40, 0x25, 0x70, 0x6d, - 0x60, 0x02, 0x42, 0x12, 0x54, 0xff, 0xea, 0xd4, 0xa5, 0x0b, 0xa5, 0x68, 0x7c, 0x13, 0x7f, 0xea, - 0xb7, 0x74, 0xc6, 0x61, 0xbb, 0x03, 0x68, 0x45, 0x57, 0xd2, 0xf1, 0x59, 0xea, 0xcb, 0xd2, 0xbc, - 0xb5, 0x5e, 0xfd, 0x8e, 0x0b, 0xa7, 0x9f, 0xa9, 0x09, 0xc5, 0x00, 0x2b, 0xd9, 0x37, 0xf3, 0x68, - 0xd2, 0x86, 0xf3, 0x3e, 0x27, 0x28, 0xd2, 0xe3, 0x30, 0x50, 0xea, 0xde, 0x7f, 0xe7, 0x63, 0x38, - 0xcd, 0xa0, 0xe9, 0x05, 0x12, 0x3b, 0xa3, 0x54, 0xbb, 0xa5, 0xa6, 0x36, 0x8f, 0x80, 0x9d, 0x90, - 0x83, 0x99, 0x11, 0x39, 0xe6, 0x8e, 0xd2, 0xe8, 0xb5, 0xf1, 0x02, 0x72, 0x97, 0x8c, 0x1c, 0x60, - 0x43, 0x86, 0x7a, 0xb5, 0x98, 0x26, 0xf0, 0xd4, 0xae, 0x44, 0x96, 0x05, 0x62, 0x91, 0xac, 0x71, - 0xdd, 0x75, 0x06, 0xb7, 0x49, 0xad, 0x74, 0xad, 0x28, 0x40, 0x85, 0x34, 0x3a, 0xe8, 0xea, 0x34, - 0x43, 0xa3, 0xe6, 0x38, 0x5c, 0xfb, 0x08, 0xed, 0x82, 0xcc, 0x28, 0x90, 0xcc, 0x75, 0xbd, 0xe1, - 0x7b, 0xdd, 0xff, 0xa9, 0x5e, 0x18, 0x4a, 0x16, 0x60, 0x2e, 0xc7, 0x97, 0x38, 0x73, 0xb2, 0x2b, - 0xef, 0xa1, 0x5d, 0x93, 0x7c, 0xee, 0x28, 0x3b, 0xa4, 0x01, 0xec, 0xb3, 0x1e, 0x45, 0x51, 0x1d, - 0xe9, 0xaf, 0xbb, 0xa4, 0x1f, 0x4c, 0xe1, 0xa2, 0xa7, 0x9e, 0x6e, 0xe4, 0xcf, 0xbc, 0xa6, 0x1b, - 0x95, 0x58, 0x2c, 0x1c, 0x68, 0x41, 0xa7, 0x94, 0xe6, 0x36, 0x37, 0x00, 0x18, 0x81, 0x95, 0xa6, - 0x54, 0x83, 0xa5, 0x5a, 0x7f, 0xa5, 0x11, 0x05, 0xef, 0x0d, 0xfe, 0x2d, 0x5e, 0xd3, 0xc3, 0xd5, - 0x17, 0x0f, 0xcd, 0x32, 0xd2, 0xa9, 0x94, 0x7e, 0xb6, 0x8f, 0x69, 0x30, 0xbf, 0x75, 0x39, 0xe4, - 0xfa, 0xf6, 0xd3, 0x83, 0xb3, 0x23, 0xcc, 0xbd, 0xbf, 0x97, 0x78, 0x12, 0x7f, 0x1c, 0x94, 0x75, - 0x3a, 0x44, 0xce, 0xdd, 0x51, 0x9e, 0x31, 0xe5, 0xed, 0x8b, 0x6e, 0xb7, 0x34, 0xa3, 0x10, 0x4e, - 0x7e, 0x92, 0x46, 0xae, 0x4d, 0x11, 0x9a, 0xb3, 0x15, 0x93, 0xe7, 0xe6, 0x4d, 0x35, 0x4c, 0x57, - 0xaa, 0x0f, 0x0e, 0xb4, 0x33, 0xba, 0xa4, 0x73, 0xf3, 0xf3, 0x3c, 0xbf, 0xd4, 0x39, 0x75, 0x2e, - 0x0b, 0x0b, 0x89, 0x9e, 0x27, 0xbb, 0xce, 0xc5, 0xab, 0x07, 0xab, 0x6f, 0x73, 0xc9, 0x18, 0x29, - 0x96, 0xaf, 0x9b, 0xf9, 0xd3, 0x48, 0x6d, 0xe3, 0xb6, 0x76, 0x2d, 0x4b, 0x13, 0xd3, 0xdb, 0xc3, - 0x75, 0x2d, 0xec, 0x65, 0xb7, 0xb8, 0x0d, 0x43, 0x22, 0xc7, 0xd8, 0x3a, 0x5a, 0x01, 0xf7, 0x9e, - 0xaa, 0x3a, 0xc8, 0xbf, 0xc1, 0x86, 0x62, 0x6a, 0x20, 0xc4, 0xdf, 0x17, 0x44, 0x2d, 0x65, 0x8b, - 0xba, 0x44, 0xbb, 0x75, 0xc7, 0x40, 0x7b, 0x1d, 0xc0, 0xad, 0x24, 0xb9, 0x11, 0x97, 0xb6, 0xa4, - 0x80, 0xaf, 0x48, 0x19, 0xc4, 0x6f, 0x4e, 0xe7, 0x23, 0x51, 0xc2, 0x3e, 0x00, 0x46, 0xd7, 0x56, - 0xdb, 0x81, 0xac, 0x43, 0x5c, 0x7c, 0x73, 0x1b, 0x03, 0xd1, 0xe2, 0x1f, 0xe0, 0x75, 0x60, 0xf2, - 0x6d, 0x86, 0x27, 0x90, 0xde, 0x8a, 0x48, 0xe1, 0x04, 0x3f, 0x2b, 0x2a, 0xba, 0x4d, 0x4e, 0x03, - 0x20, 0xc2, 0xf4, 0xfc, 0x58, 0x6e, 0x4e, 0x89, 0x06, 0xa6, 0x08, 0x6f, 0xfd, 0x1d, 0xfe, 0xd0, - 0xd0, 0x8d, 0xfd, 0x66, 0xe8, 0x98, 0x98, 0x7f, 0x9e, 0xae, 0x11, 0x04, 0xa1, 0x96, 0x49, 0x6c, - 0x60, 0x91, 0x4b, 0x49, 0xca, 0x63, 0x03, 0xf9, 0xf2, 0x83, 0x37, 0x20, 0x79, 0x59, 0x15, 0x17, - 0x28, 0x71, 0x2e, 0x0b, 0xc9, 0xbb, 0x55, 0x25, 0x8d, 0x46, 0xf8, 0x54, 0x4d, 0xb4, 0x1f, 0xf5, - 0x8c, 0x7a, 0x77, 0xea, 0x66, 0x4d, 0x99, 0x55, 0xee, 0x4b, 0x68, 0xc7, 0x04, 0x7f, 0xc4, 0xe6, - 0x80, 0xba, 0x47, 0xc9, 0x38, 0x33, 0x02, 0x51, 0xf7, 0x3d, 0x52, 0x10, 0xef, 0xac, 0xb3, 0xba, - 0x68, 0x7b, 0x98, 0x88, 0xdf, 0xf5, 0xd9, 0xf5, 0xda, 0xd0, 0xc3, 0x15, 0x68, 0x16, 0x3b, 0xb9, - 0xb6, 0x1a, 0x75, 0x81, 0x85, 0xbe, 0x60, 0xe9, 0x18, 0xcd, 0x60, 0xd3, 0x50, 0xc8, 0x6d, 0x5d, - 0xfd, 0x9b, 0x54, 0xf7, 0x65, 0x52, 0x70, 0x84, 0x5b, 0xe5, 0x11, 0x7c, 0x4d, 0x9d, 0x3d, 0x03, - 0x47, 0x8f, 0x27, 0xf1, 0x0d, 0xd4, 0xc2, 0x7b, 0xe9, 0xd7, 0x14, 0x22, 0xf6, 0xe4, 0xd2, 0x8c, - 0x81, 0x77, 0xe2, 0xc5, 0xac, 0x7c, 0xd4, 0xb6, 0xe5, 0xcd, 0xb2, 0x01, 0x71, 0x5e, 0xee, 0xd8, - 0x2e, 0x51, 0x89, 0xe3, 0xa0, 0xf4, 0x3d, 0x02, 0x1e, 0x0f, 0x7b, 0x17, 0x36, 0x2d, 0x8a, 0xd9, - 0x56, 0xed, 0x21, 0xf3, 0xfc, 0xd6, 0x79, 0x5e, 0x8e, 0x6b, 0x14, 0xe7, 0x14, 0xf5, 0xff, 0x77, - 0xc2, 0x2f, 0xbc, 0x91, 0xd2, 0x65, 0xd4, 0x19, 0x7b, 0x44, 0x56, 0xe3, 0xb9, 0x09, 0xef, 0xb8, - 0x7d, 0x9f, 0x72, 0xf8, 0xe8, 0xb2, 0x6c, 0x43, 0xaa, 0x90, 0x5e, 0xfc, 0x95, 0x91, 0x3f, 0x4a, - 0x00, 0x44, 0xee, 0xe1, 0x71, 0x4a, 0x11, 0x1f, 0x37, 0x50, 0xe6, 0x0d, 0xce, 0xea, 0x21, 0xde, - 0x6b, 0x3c, 0x28, 0x43, 0xb3, 0x6a, 0x1d, 0xc2, 0xbc, 0xa8, 0x13, 0x3a, 0x4d, 0x57, 0x0d, 0xf1, - 0xc4, 0x7c, 0x0c, 0x82, 0x98, 0x14, 0x6b, 0xd0, 0xf0, 0x22, 0xae, 0xa6, 0xf7, 0xc8, 0x3b, 0x30, - 0xd9, 0xfc, 0x5e, 0x90, 0x35, 0x81, 0xe4, 0x84, 0x19, 0xe9, 0xa2, 0x7c, 0xaa, 0xfa, 0x44, 0x09, - 0xfd, 0x5e, 0x5a, 0x73, 0x87, 0xd1, 0x2f, 0x73, 0xf6, 0x60, 0xb7, 0x58, 0x8b, 0x67, 0x31, 0x47, - 0x26, 0xdc, 0xc4, 0xcf, 0xef, 0xf8, 0x9d, 0xce, 0xdf, 0x7e, 0x83, 0xdc, 0x76, 0x71, 0x3a, 0x21, - 0x88, 0x0f, 0x47, 0x38, 0xf5, 0x0f, 0x5a, 0x65, 0xfe, 0x71, 0xf0, 0xf9, 0x59, 0xd8, 0x06, 0x38, - 0x6b, 0x93, 0xcb, 0x9b, 0x48, 0x33, 0xf4, 0xe9, 0x1b, 0x4a, 0x95, 0x5a, 0xb4, 0x73, 0x9f, 0x2a, - 0x44, 0x19, 0xda, 0xc2, 0x29, 0xf0, 0x26, 0x48, 0xa7, 0x1b, 0xa3, 0x57, 0xda, 0x47, 0x1e, 0xcb, - 0x0e, 0x88, 0x80, 0x1b, 0xaa, 0x61, 0x55, 0x12, 0x5c, 0xb7, 0x38, 0xc2, 0x57, 0x14, 0x0b, 0x29, - 0x96, 0x59, 0x0d, 0x57, 0xac, 0xf9, 0x09, 0xea, 0x85, 0x5b, 0xb1, 0x91, 0x3f, 0x90, 0x99, 0x99, - 0x3c, 0x79, 0xdc, 0x27, 0xfb, 0x5d, 0xa0, 0x6d, 0x87, 0x5b, 0xd0, 0x1e, 0x4c, 0x9a, 0x68, 0x6b, - 0x5f, 0x64, 0x7d, 0x19, 0x93, 0x34, 0x33, 0xf6, 0xe0, 0xc4, 0x41, 0x5b, 0x46, 0x06, 0x51, 0xd2, - 0x0a, 0xcb, 0x33, 0xbe, 0x2d, 0x03, 0xbb, 0x7c, 0xdb, 0xfc, 0x3b, 0x7d, 0xf8, 0xfc, 0x3b, 0xc2, - 0x53, 0xca, 0xb6, 0x10, 0xb3, 0x46, 0xc8, 0x78, 0x26, 0xa8, 0x74, 0x49, 0x40, 0x5f, 0x6b, 0x8b, - 0x41, 0xee, 0xa7, 0x9f, 0xab, 0x0e, 0x58, 0x8c, 0x56, 0x45, 0x03, 0xbb, 0xe8, 0x51, 0x15, 0xe3, - 0x7d, 0x92, 0x2a, 0xc0, 0x4b, 0xc6, 0xd1, 0xf8, 0xf4, 0xf1, 0xc4, 0xd1, 0x0b, 0xa0, 0xf8, 0x16, - 0x4d, 0x0b, 0xf8, 0x6a, 0x15, 0x36, 0x05, 0xac, 0xfb, 0x38, 0xf8, 0x51, 0x11, 0x31, 0x77, 0x48, - 0x5c, 0xec, 0xfe, 0xed, 0x6f, 0x4f, 0xb0, 0x80, 0x36, 0x89, 0xb4, 0xdd, 0xce, 0x8c, 0x83, 0x95, - 0x60, 0x7e, 0x09, 0x1c, 0x69, 0xae, 0xe8, 0x62, 0x95, 0x93, 0x0f, 0xe4, 0x84, 0x32, 0x9a, 0xee, - 0x72, 0xc2, 0x1b, 0x85, 0x18, 0x8d, 0xfa, 0x95, 0xb2, 0xc6, 0xf5, 0x4c, 0x5b, 0x81, 0x60, 0x3a, - 0x52, 0x16, 0xde, 0x00, 0x0e, 0x26, 0x40, 0xcd, 0xee, 0x5a, 0x4c, 0xcd, 0x30, 0x16, 0x28, 0xf7, - 0xf8, 0x42, 0x33, 0xc2, 0xe5, 0xbf, 0xd3, 0xe0, 0x1c, 0xaa, 0xbb, 0x01, 0x98, 0x65, 0xf9, 0x8b, - 0xa8, 0xb3, 0x12, 0x39, 0x01, 0xb5, 0x98, 0x74, 0x43, 0xe8, 0x0f, 0xa6, 0xba, 0x71, 0xac, 0xff, - 0xda, 0x02, 0x0a, 0x7a, 0x0e, 0xc7, 0xcb, 0x3b, 0x54, 0xb7, 0xc6, 0x89, 0x95, 0x99, 0xec, 0xf6, - 0xb6, 0xaa, 0xc2, 0x6c, 0xc7, 0x24, 0x24, 0xfc, 0x8b, 0xe2, 0x05, 0xbd, 0x7b, 0x8e, 0xd6, 0x98, - 0x70, 0xfb, 0x19, 0x9f, 0xb1, 0x4e, 0x24, 0x42, 0x15, 0x01, 0x49, 0x30, 0x03, 0x61, 0x20, 0x40, - 0x5a, 0x84, 0x1d, 0x10, 0xf6, 0x6b, 0x12, 0x16, 0x7e, 0x79, 0x45, 0x3a, 0x89, 0x29, 0x2e, 0xc9, - 0x86, 0xd7, 0x8a, 0x38, 0x1b, 0x2b, 0x3a, 0x09, 0x84, 0x3a, 0x37, 0x9d, 0x8f, 0xbf, 0x56, 0x5a, - 0xec, 0xe5, 0x7c, 0xff, 0xca, 0xa0, 0xd2, 0x10, 0x88, 0xc4, 0xc3, 0xb2, 0x49, 0x87, 0x11, 0xb5, - 0x22, 0xc3, 0x47, 0xe3, 0xbc, 0x16, 0xb1, 0x48, 0x63, 0x2f, 0x80, 0xb4, 0x1e, 0x5c, 0x94, 0x85, - 0xaa, 0xf8, 0xf6, 0x81, 0x18, 0xde, 0x4d, 0x3f, 0x94, 0x6c, 0xcc, 0x05, 0x0a, 0xcb, 0xa6, 0x2a, - 0xfa, 0x46, 0x04, 0x92, 0xfd, 0xde, 0xda, 0xed, 0xc5, 0x6c, 0x76, 0x8f, 0xfc, 0xc0, 0x76, 0x1d, - 0x3a, 0xd9, 0xc1, 0x65, 0x91, 0x0d, 0xfe, 0x6e, 0x9b, 0x6f, 0x60, 0x40, 0xaf, 0xc7, 0x49, 0x0a, - 0x7f, 0x6d, 0xaa, 0xb9, 0xe0, 0x40, 0xae, 0xce, 0x01, 0x0a, 0x6b, 0x80, 0x8d, 0x76, 0x28, 0x6e, - 0x22, 0xd1, 0x01, 0x46, 0x86, 0x50, 0x4c, 0xdb, 0x1b, 0xda, 0x49, 0xbc, 0xaf, 0x2e, 0x74, 0xcf, - 0x35, 0xfa, 0x40, 0x08, 0x12, 0x93, 0x20, 0x1d, 0xe8, 0x7f, 0xf6, 0x53, 0x0f, 0x83, 0x8f, 0x9e, - 0x93, 0x35, 0x54, 0xbb, 0x3c, 0x90, 0x27, 0x88, 0xb8, 0xae, 0x85, 0xb9, 0xe2, 0x90, 0x85, 0x4d, - 0xea, 0xbf, 0xba, 0x08, 0xa4, 0x9c, 0xf8, 0x4c, 0x67, 0xfb, 0xbf, 0xa4, 0x72, 0x42, 0xc6, 0x13, - 0xda, 0xc2, 0x70, 0x23, 0xa4, 0xae, 0xf4, 0xf2, 0x76, 0x77, 0x5a, 0xc2, 0xcc, 0x09, 0xb7, 0xd3, - 0x41, 0xa9, 0x6f, 0x22, 0xe4, 0x2f, 0x17, 0xd8, 0x61, 0xd2, 0xf9, 0x03, 0x60, 0x53, 0x9b, 0x11, - 0x16, 0x1c, 0x05, 0x3d, 0x5c, 0xa2, 0x03, 0x2e, 0x0f, 0x8b, 0x85, 0x0a, 0xbe, 0xf1, 0xfb, 0x62, - 0xf0, 0xb0, 0x5d, 0x14, 0xf0, 0x3d, 0x02, 0x07, 0x75, 0x20, 0x85, 0x94, 0x01, 0xb5, 0x06, 0x80, - 0x63, 0xf5, 0xb4, 0x6e, 0xa0, 0x47, 0x55, 0x29, 0xc2, 0x4b, 0x5b, 0x72, 0xb5, 0x24, 0x4b, 0x54, - 0x52, 0x63, 0xe7, 0xc1, 0xaf, 0xca, 0x2d, 0xcc, 0x05, 0x44, 0x2b, 0xf5, 0xfb, 0x2a, 0x61, 0x8e, - 0x3f, 0xae, 0x25, 0xa3, 0x10, 0xec, 0x0a, 0x7e, 0x22, 0xfc, 0xb6, 0x27, 0xe9, 0x5e, 0x56, 0x70, - 0x4b, 0xbe, 0x21, 0x4d, 0x12, 0x97, 0x32, 0x29, 0x86, 0x69, 0x20, 0x02, 0xa4, 0x82, 0x04, 0x54, - 0x8a, 0xb2, 0x57, 0xa6, 0x96, 0xb2, 0x6d, 0xd6, 0xbb, 0x64, 0x86, 0xad, 0xf4, 0x0e, 0xc3, 0xc7, - 0xa5, 0xcb, 0xaa, 0x22, 0xc6, 0x1b, 0xca, 0x3c, 0x1e, 0xec, 0xca, 0xa4, 0xe8, 0x79, 0xea, 0xd9, - 0xad, 0x62, 0xf4, 0xed, 0x3b, 0xb6, 0x2a, 0xcc, 0x1f, 0xb1, 0x4a, 0x06, 0x66, 0x3b, 0xa7, 0x83, - 0x65, 0x93, 0x21, 0x84, 0xa9, 0x74, 0x88, 0xd3, 0x2e, 0xca, 0xfa, 0xbc, 0x92, 0xf1, 0xa5, 0xc6, - 0x53, 0xa5, 0xd2, 0xf4, 0xc3, 0x60, 0x0f, 0x02, 0xb0, 0x7a, 0x60, 0x43, 0xc0, 0x94, 0x79, 0xa2, - 0x57, 0x21, 0x7e, 0xdb, 0x72, 0x7a, 0xf6, 0x52, 0xa8, 0xe0, 0x15, 0x4f, 0x8b, 0xd2, 0x8c, 0x79, - 0xc5, 0x0b, 0xc9, 0xe0, 0x45, 0x48, 0xe2, 0x8f, 0x25, 0xda, 0xba, 0xd7, 0x79, 0xbf, 0xa3, 0x20, - 0xb5, 0xf3, 0xd2, 0x1c, 0xf7, 0xe0, 0x03, 0xa6, 0x40, 0xc1, 0xac, 0xfa, 0x30, 0x2a, 0xae, 0xed, - 0xa5, 0xaa, 0x2c, 0x67, 0xda, 0x98, 0x57, 0x00, 0x0d, 0x5a, 0x64, 0x70, 0xf0, 0x8a, 0x98, 0x31, - 0x6c, 0xdb, 0x5b, 0xe2, 0x8f, 0xc9, 0xe2, 0xa7, 0xda, 0xb3, 0xfd, 0x98, 0xd1, 0x97, 0x94, 0xca, - 0x0c, 0xa3, 0x47, 0x7e, 0x21, 0xc8, 0x1f, 0xaa, 0x66, 0xe2, 0xc2, 0x03, 0xcd, 0xf1, 0x6e, 0x54, - 0x81, 0x97, 0xd0, 0xfa, 0xc8, 0xb0, 0x01, 0xab, 0x67, 0xf5, 0x7f, 0x3e, 0xfe, 0x5d, 0x5b, 0x8a, - 0x37, 0x4f, 0x10, 0x21, 0x0e, 0x89, 0xce, 0x22, 0x59, 0xa0, 0x03, 0xa4, 0x7a, 0xef, 0xe9, 0x88, - 0x9f, 0x07, 0x16, 0x5d, 0x6a, 0x35, 0xc9, 0xf6, 0xcd, 0x17, 0x28, 0x57, 0xb6, 0x18, 0x77, 0xb5, - 0x26, 0x3f, 0x63, 0xbd, 0xe7, 0xc3, 0x5b, 0xcf, 0x8e, 0xe8, 0xd7, 0x07, 0xf3, 0x8b, 0xcd, 0x8a, - 0xea, 0x93, 0xa0, 0x7a, 0x69, 0x98, 0x06, 0xe8, 0xaf, 0xfc, 0xa9, 0x73, 0xe9, 0xea, 0x5d, 0x4a, - 0x7d, 0xc3, 0xc6, 0x72, 0x11, 0xec, 0xd2, 0x70, 0x1a, 0x6e, 0x31, 0xcb, 0x01, 0xdc, 0x4e, 0x75, - 0x88, 0x32, 0xf6, 0xb7, 0x4b, 0xb9, 0xb9, 0x92, 0xa5, 0x44, 0x80, 0x0f, 0xad, 0x3e, 0x21, 0x5f, - 0x6f, 0xc3, 0xdc, 0x82, 0xdd, 0x82, 0x04, 0x7d, 0x5d, 0xdc, 0xa3, 0xf6, 0xf2, 0xc9, 0x2b, 0x6a, - 0x5c, 0xd7, 0x7c, 0x9e, 0x9a, 0x55, 0xd3, 0x46, 0x93, 0x2b, 0xb3, 0x8d, 0x14, 0xda, 0x7a, 0x61, - 0x42, 0xea, 0xe0, 0x63, 0x0d, 0xd6, 0x24, 0x9b, 0xae, 0xec, 0x63, 0x48, 0xf9, 0xc7, 0xf8, 0x88, - 0x7a, 0xa6, 0xb8, 0x93, 0xe2, 0x84, 0x5a, 0xfc, 0x15, 0x98, 0xdf, 0x59, 0xfe, 0x46, 0x16, 0x58, - 0x39, 0xfb, 0xff, 0x17, 0x8f, 0xd5, 0x3d, 0x5b, 0x71, 0xce, 0x90, 0xaa, 0x3c, 0xd4, 0x9e, 0x9d, - 0x1c, 0xb9, 0x3a, 0xcb, 0xac, 0xff, 0xea, 0xbd, 0x96, 0x2e, 0x01, 0x60, 0xd0, 0x6a, 0xc1, 0x12, - 0xb8, 0xfb, 0xde, 0x09, 0x8b, 0x39, 0x41, 0x43, 0x34, 0x5e, 0x41, 0xed, 0x13, 0xfa, 0x88, 0xaa, - 0x0e, 0x9f, 0xff, 0xf4, 0xa2, 0x73, 0x51, 0x69, 0x34, 0x44, 0x6a, 0x01, 0x5e, 0x56, 0x28, 0x07, - 0xfb, 0xa3, 0xfb, 0x1b, 0x69, 0xe8, 0x45, 0x19, 0xf5, 0x56, 0x41, 0x74, 0x66, 0x45, 0x75, 0x2b, - 0xa7, 0x9a, 0xcb, 0xf4, 0xfa, 0xd8, 0xb5, 0xec, 0xb0, 0xe2, 0x84, 0xd4, 0x9e, 0x28, 0xa7, 0x7f, - 0x53, 0xbc, 0x14, 0x1a, 0xc8, 0x20, 0x65, 0x41, 0x3a, 0xdf, 0x18, 0xcb, 0xf3, 0x76, 0x1d, 0x93, - 0x8a, 0x6d, 0xd2, 0x2b, 0xae, 0x36, 0xa8, 0x29, 0x09, 0xbe, 0xaa, 0xa7, 0xa4, 0x07, 0x72, 0xc6, - 0xcb, 0x94, 0x75, 0x71, 0xe7, 0x1b, 0xe9, 0x6a, 0x0a, 0x13, 0x4f, 0xfa, 0xd3, 0xe5, 0x95, 0x83, - 0x1e, 0x2f, 0x92, 0x9b, 0xdd, 0x16, 0x5c, 0x07, 0xcf, 0xb8, 0x1a, 0x03, 0xec, 0xb8, 0xe8, 0x30, - 0x58, 0x76, 0xd9, 0x3a, 0x74, 0x91, 0x4a, 0xdc, 0x26, 0x3e, 0xb9, 0xeb, 0x64, 0xe2, 0xe7, 0xc0, - 0x9c, 0x0e, 0xbe, 0x6a, 0xc9, 0xad, 0x3b, 0x47, 0xf9, 0x6e, 0x74, 0x1d, 0x33, 0xe4, 0xb0, 0x59, - 0x08, 0x92, 0x8f, 0xe7, 0x9f, 0x88, 0xd3, 0x78, 0xd2, 0x86, 0xa0, 0xd9, 0xe1, 0x68, 0x75, 0x14, - 0x10, 0x6d, 0x11, 0x0f, 0x07, 0xc7, 0x52, 0x4a, 0xbf, 0x27, 0x6c, 0x3e, 0x0f, 0x27, 0x16, 0x63, - 0xb2, 0x9b, 0x2c, 0xcd, 0x83, 0x03, 0xae, 0x0d, 0xc1, 0x88, 0x60, 0x8c, 0x75, 0xaa, 0xb2, 0x73, - 0xaf, 0x83, 0x2c, 0xc7, 0x4f, 0x20, 0x31, 0xa5, 0x9e, 0x36, 0xa2, 0xd9, 0x11, 0x5b, 0x4f, 0x22, - 0x36, 0x95, 0xc7, 0x9b, 0xd5, 0xf0, 0x6c, 0xb0, 0x86, 0x2f, 0x4a, 0xdf, 0xa4, 0x9b, 0xaa, 0x00, - 0x13, 0x3c, 0x5d, 0xb2, 0x7d, 0x49, 0x3c, 0x8e, 0xe9, 0xd4, 0xe3, 0xb1, 0xe7, 0x2c, 0xe7, 0x41, - 0xc3, 0x82, 0x6e, 0xbc, 0xbf, 0x6c, 0x74, 0xf2, 0x84, 0x04, 0xa7, 0x70, 0xc3, 0x8a, 0x64, 0x1a, - 0xd3, 0xe6, 0xb7, 0x05, 0xc1, 0xed, 0xfe, 0xf5, 0x62, 0x67, 0xe7, 0x10, 0xbb, 0xa4, 0xb5, 0xb3, - 0xd1, 0x69, 0x47, 0xe4, 0x27, 0x95, 0xea, 0x9a, 0xb1, 0x63, 0x7b, 0x41, 0xff, 0xee, 0x0f, 0x38, - 0x59, 0xe2, 0x20, 0xa1, 0x88, 0xa6, 0x35, 0x6d, 0x2f, 0x43, 0x74, 0x82, 0x72, 0xc4, 0x71, 0xf0, - 0x27, 0x08, 0xcc, 0xad, 0x64, 0x29, 0x3c, 0x54, 0xa6, 0x38, 0x1e, 0x4b, 0xa2, 0x34, 0x72, 0x1d, - 0xdd, 0x8d, 0xa9, 0x91, 0x98, 0x5d, 0x2e, 0x43, 0xa5, 0xe9, 0xb1, 0xc3, 0x92, 0xd5, 0x1b, 0xec, - 0x66, 0x9f, 0xc2, 0x54, 0xa3, 0x57, 0x71, 0xe1, 0xcf, 0x0b, 0xaf, 0x57, 0x54, 0x48, 0xc9, 0xeb, - 0xa7, 0x33, 0xa4, 0xf4, 0x90, 0xeb, 0xab, 0xd6, 0x40, 0xd6, 0x04, 0x6e, 0x9c, 0xde, 0x7e, 0x6c, - 0x11, 0x24, 0x8c, 0xa4, 0x6e, 0x6b, 0x29, 0x15, 0x19, 0xf2, 0x67, 0x06, 0x7c, 0xfc, 0xc0, 0x7d, - 0x5d, 0x83, 0x56, 0xe6, 0x69, 0x26, 0xcb, 0xda, 0x0c, 0x72, 0x85, 0x1f, 0x64, 0xb8, 0x65, 0x63, - 0xab, 0x17, 0x60, 0x7f, 0xa8, 0x1d, 0x1d, 0x47, 0x22, 0x01, 0x26, 0x69, 0xce, 0xf0, 0xbe, 0xc7, - 0xc3, 0x07, 0x81, 0x92, 0x30, 0x9f, 0x4b, 0x73, 0xad, 0x28, 0xe2, 0x57, 0x10, 0x3b, 0x75, 0x4d, - 0xbc, 0x67, 0x82, 0x64, 0x0e, 0xa1, 0xfd, 0xb6, 0xed, 0xcf, 0x82, 0xf0, 0x70, 0xd7, 0x1f, 0xcc, - 0xf0, 0xb2, 0x59, 0x86, 0x55, 0xd4, 0xb2, 0xe5, 0x29, 0xff, 0xcb, 0xfb, 0x11, 0x57, 0x5a, 0x15, - 0x55, 0xdb, 0x64, 0x0c, 0xa1, 0xbd, 0xd5, 0xf8, 0xa0, 0x71, 0x46, 0xdd, 0x72, 0xc5, 0x1d, 0x1c, - 0x97, 0x68, 0x8c, 0xc8, 0x47, 0xb0, 0xa9, 0x71, 0x3c, 0x21, 0xdb, 0xdc, 0x9e, 0x99, 0xf2, 0xb3, - 0x82, 0x2b, 0xd5, 0x3c, 0xec, 0xde, 0xc8, 0x94, 0xfa, 0x20, 0xd5, 0xcc, 0x67, 0x38, 0xa9, 0x40, - 0xe0, 0x31, 0x51, 0x22, 0x55, 0x96, 0xfc, 0x23, 0x45, 0x0e, 0x1c, 0xd9, 0x44, 0xe2, 0x3c, 0xef, - 0x5a, 0xa4, 0xb3, 0xf4, 0xce, 0x68, 0xa0, 0xfa, 0x9c, 0xaf, 0xf4, 0x21, 0x9e, 0xb4, 0xbe, 0x84, - 0x4e, 0x95, 0x7b, 0xb2, 0x72, 0x7d, 0x89, 0xaa, 0x9f, 0x7c, 0x11, 0x6a, 0x58, 0xfd, 0x06, 0x83, - 0x65, 0xe5, 0x54, 0x0f, 0x13, 0xeb, 0x0b, 0x54, 0x9b, 0x08, 0xa3, 0x15, 0xcd, 0x22, 0xf5, 0xfe, - 0xde, 0xf9, 0x86, 0x30, 0x10, 0xa1, 0xc4, 0x76, 0xeb, 0xd7, 0x81, 0x6b, 0x54, 0xd0, 0x7f, 0x8c, - 0x8f, 0x4e, 0xb1, 0x5c, 0x2c, 0xc9, 0x72, 0xf9, 0x94, 0xd3, 0xc2, 0xa2, 0x4d, 0x76, 0xd4, 0x17, - 0xfc, 0x3a, 0x43, 0x7c, 0xa8, 0x66, 0x9b, 0x6e, 0x65, 0x00, 0xf3, 0x4b, 0x17, 0x3f, 0x49, 0x39, - 0x9d, 0x3e, 0x43, 0x56, 0x73, 0x55, 0xbe, 0xd5, 0x9c, 0x13, 0x71, 0x85, 0x21, 0x02, 0x17, 0x96, - 0x97, 0xb4, 0xa1, 0x96, 0xc0, 0xbf, 0x99, 0xb5, 0x75, 0xd6, 0x02, 0x36, 0x57, 0x22, 0xac, 0x87, - 0xb3, 0x85, 0x48, 0xad, 0xa4, 0x5a, 0x44, 0x11, 0xc6, 0xf5, 0xc2, 0xff, 0x3e, 0xbc, 0x11, 0x73, - 0xf6, 0xa2, 0xac, 0x94, 0x17, 0x8f, 0xda, 0xf5, 0x98, 0x8a, 0xc7, 0x43, 0xcb, 0x0e, 0xec, 0xfc, - 0xc6, 0x21, 0xd9, 0xbb, 0xbd, 0x09, 0x79, 0x9c, 0xde, 0x02, 0x6f, 0xfe, 0x86, 0xf0, 0xfe, 0x1c, - 0xcf, 0x40, 0x28, 0x4d, 0x20, 0x6b, 0xef, 0x8a, 0x64, 0x58, 0x2c, 0xd6, 0x47, 0x86, 0x3f, 0x62, - 0x11, 0x0f, 0xda, 0x55, 0x7d, 0xd6, 0x31, 0x00, 0x60, 0xeb, 0x57, 0xd3, 0x44, 0xc4, 0x21, 0x26, - 0xc3, 0x1c, 0xdf, 0x44, 0xfd, 0x51, 0xea, 0xc9, 0xd7, 0xff, 0xf8, 0xcc, 0x3e, 0x67, 0x31, 0xc3, - 0x89, 0x68, 0x26, 0x46, 0x26, 0x90, 0x67, 0x57, 0x11, 0x1a, 0x2a, 0xde, 0x44, 0x58, 0xde, 0x18, - 0xdd, 0x95, 0x4c, 0x05, 0x59, 0xd7, 0xee, 0x56, 0x51, 0xf6, 0xf8, 0x22, 0x24, 0x29, 0x94, 0x88, - 0xa3, 0x42, 0xed, 0xa2, 0xfc, 0x68, 0x1c, 0x83, 0xc9, 0xaa, 0xa3, 0x05, 0x12, 0x05, 0xb4, 0x02, - 0xe3, 0x38, 0x27, 0x19, 0x20, 0x69, 0x52, 0x47, 0x07, 0x71, 0x2f, 0xd6, 0xb7, 0x1b, 0x29, 0x86, - 0xdd, 0x77, 0xbd, 0x4e, 0x4e, 0xe1, 0x7c, 0x5b, 0xce, 0xed, 0xfc, 0x49, 0x0e, 0x6c, 0x16, 0xc2, - 0x6c, 0x4b, 0x73, 0x01, 0xf7, 0xbe, 0xee, 0x49, 0x7a, 0xd7, 0xb7, 0x83, 0xd8, 0x5c, 0x43, 0x00, - 0xa0, 0x0c, 0xb0, 0xb2, 0xdc, 0x92, 0xd6, 0x1a, 0x3f, 0x33, 0x6d, 0x40, 0x0c, 0x56, 0x6b, 0xd1, - 0x7f, 0x0d, 0x9d, 0xcb, 0x96, 0x98, 0x33, 0xdb, 0xf7, 0xc7, 0x44, 0xe3, 0x07, 0x33, 0xc9, 0xba, - 0x03, 0x4e, 0xff, 0x1a, 0x10, 0x62, 0x0a, 0x9c, 0x8d, 0xed, 0x9e, 0x39, 0xcc, 0x09, 0xa7, 0x91, - 0x29, 0x05, 0x89, 0x9d, 0x45, 0xe6, 0x14, 0xd8, 0x67, 0x3c, 0x1a, 0xbe, 0x47, 0x02, 0xdf, 0x69, - 0x4c, 0xf0, 0x21, 0x11, 0xe7, 0xd6, 0x93, 0x8f, 0x14, 0xac, 0xee, 0x7e, 0x1d, 0x8a, 0x16, 0x98, - 0x82, 0x64, 0xa7, 0xcd, 0xeb, 0x9d, 0x06, 0x00, 0xac, 0x5f, 0x46, 0xe8, 0xd8, 0x96, 0x55, 0x3f, - 0x66, 0x43, 0x4d, 0xba, 0xcd, 0xf4, 0xd3, 0xff, 0x9d, 0x31, 0x30, 0x09, 0xb4, 0x52, 0x08, 0xbe, - 0xab, 0xc6, 0x85, 0x7f, 0x77, 0x30, 0xd9, 0xbb, 0x04, 0x96, 0x3b, 0x38, 0xfe, 0x80, 0x33, 0x7a, - 0xd9, 0xfd, 0xd8, 0x65, 0x49, 0x0f, 0x98, 0x12, 0x41, 0x1e, 0xc2, 0xba, 0x2d, 0xd0, 0x9e, 0xd6, - 0xcb, 0xe4, 0xcf, 0xa6, 0xcc, 0xb5, 0x2d, 0x7d, 0x2b, 0xdb, 0xce, 0x8a, 0x42, 0xa4, 0xe6, 0xa6, - 0xf3, 0x51, 0x8f, 0xd8, 0x6f, 0xea, 0xfb, 0x8b, 0x92, 0xa1, 0x68, 0x0f, 0xe1, 0xec, 0x27, 0xb8, - 0xaf, 0x00, 0x90, 0x59, 0x3c, 0x40, 0x14, 0x78, 0x08, 0xbc, 0x26, 0x2e, 0x58, 0xad, 0xd7, 0x13, - 0xe8, 0x94, 0x4a, 0xc0, 0xa5, 0x84, 0xf2, 0x30, 0x7b, 0x20, 0x44, 0xed, 0xe6, 0xc3, 0x24, 0xa7, - 0x75, 0xf3, 0x9b, 0x6e, 0xbd, 0x55, 0xf4, 0xab, 0x5c, 0x2b, 0xc9, 0xb9, 0xe0, 0xb4, 0xce, 0x97, - 0xc0, 0xda, 0x99, 0xfb, 0xd1, 0x11, 0x4c, 0x5a, 0x49, 0x3d, 0x3f, 0xea, 0xa9, 0x5f, 0x91, 0xac, - 0xd7, 0x8d, 0x98, 0x6a, 0x0c, 0x2c, 0xcc, 0xdb, 0x1c, 0x9a, 0x94, 0x7f, 0x0a, 0x59, 0x13, 0x2e, - 0x64, 0x73, 0xbf, 0xb5, 0xa9, 0xd5, 0xb5, 0x05, 0xe8, 0x4d, 0x2d, 0x57, 0x18, 0x25, 0x1b, 0xc7, - 0x9b, 0x81, 0x08, 0xce, 0x3c, 0x30, 0xe3, 0xd0, 0xae, 0x26, 0x55, 0xb6, 0x09, 0xef, 0xc6, 0x33, - 0x5e, 0x07, 0xcc, 0x42, 0xfe, 0x2c, 0x23, 0x35, 0xa0, 0x1e, 0x70, 0xb5, 0x57, 0xc8, 0x4a, 0x04, - 0x87, 0xa7, 0x88, 0xba, 0x9c, 0x0c, 0x85, 0xee, 0xd5, 0x19, 0x88, 0x32, 0x7e, 0x7f, 0x66, 0x8c, - 0x42, 0x15, 0x94, 0x34, 0xec, 0x7a, 0x2c, 0x99, 0x4a, 0xa3, 0x36, 0x3a, 0x91, 0x13, 0xac, 0xeb, - 0x91, 0xec, 0x51, 0x5b, 0x27, 0x31, 0x48, 0x02, 0x34, 0x98, 0xd9, 0x42, 0x6a, 0x0f, 0x1f, 0x30, - 0x9b, 0x53, 0x2c, 0xf9, 0x26, 0xe7, 0x76, 0xb7, 0x27, 0x89, 0x85, 0x60, 0x7d, 0xe5, 0x9d, 0xd3, - 0x86, 0xbb, 0x63, 0x49, 0x7f, 0xbd, 0x35, 0xfa, 0x5c, 0x07, 0x52, 0xf2, 0x93, 0x36, 0x77, 0xe3, - 0xb8, 0xc1, 0xfa, 0x93, 0x5b, 0x5e, 0xb6, 0x9e, 0x7a, 0x26, 0x66, 0x50, 0x89, 0x10, 0xe8, 0x6e, - 0x7b, 0x23, 0x98, 0x53, 0x3b, 0x91, 0x65, 0x63, 0xcc, 0xcb, 0x8a, 0xf5, 0xf5, 0x7c, 0x4b, 0x82, - 0xe9, 0x32, 0xe3, 0x19, 0x56, 0x53, 0x81, 0x95, 0x51, 0x41, 0x78, 0x32, 0x4c, 0x97, 0x14, 0xe6, - 0x20, 0x45, 0x9d, 0xd2, 0xde, 0xd5, 0xd8, 0x0f, 0x6e, 0xf4, 0xd2, 0x37, 0xb7, 0xfa, 0x30, 0x34, - 0x31, 0x65, 0xa2, 0xba, 0x13, 0x54, 0xa4, 0x15, 0x58, 0x76, 0x68, 0xa6, 0x30, 0x2f, 0xbf, 0xd8, - 0x8a, 0xca, 0x4b, 0x3a, 0x9a, 0x13, 0xf7, 0xfc, 0x21, 0x7d, 0x66, 0x77, 0xd8, 0x59, 0x4a, 0xa2, - 0x5e, 0xaa, 0x98, 0xfe, 0xa1, 0x57, 0x82, 0x69, 0x3c, 0xa1, 0x4a, 0x0f, 0x24, 0xd5, 0x38, 0xfe, - 0x85, 0xd4, 0x5f, 0x7d, 0xb7, 0x73, 0x02, 0x50, 0x0e, 0x73, 0xeb, 0xb7, 0x61, 0x65, 0xab, 0x74, - 0x78, 0x21, 0xe6, 0xe4, 0x4f, 0x82, 0x0f, 0x6b, 0xef, 0x2a, 0xb5, 0x11, 0xca, 0xa2, 0x6f, 0xf9, - 0xe8, 0xd0, 0x8b, 0x28, 0x4c, 0xa5, 0x34, 0xcd, 0xe1, 0x11, 0x5b, 0x10, 0xf0, 0x20, 0x56, 0xfe, - 0x65, 0xb4, 0x47, 0xed, 0xe3, 0xd7, 0x82, 0x9c, 0x73, 0xff, 0xe3, 0x28, 0xd5, 0xbe, 0x2e, 0x41, - 0x79, 0x23, 0x57, 0xe6, 0xf6, 0xc1, 0x1b, 0x19, 0x5c, 0xb5, 0xaa, 0xb5, 0xd2, 0xf7, 0xc0, 0xe8, - 0xe9, 0x6b, 0x83, 0x2d, 0x51, 0xfd, 0x79, 0x81, 0xbf, 0x92, 0x2d, 0x2d, 0x99, 0x3f, 0xbd, 0xa3, - 0x77, 0xe8, 0x59, 0x9c, 0xe8, 0xa3, 0xec, 0x60, 0x36, 0x82, 0x7f, 0xf5, 0x6e, 0x6d, 0x68, 0xbc, - 0x76, 0xd6, 0x6b, 0xc6, 0x5d, 0xf2, 0xb7, 0x48, 0x42, 0x2c, 0xa8, 0x59, 0x7b, 0xf3, 0xf1, 0x5c, - 0xea, 0x70, 0x2e, 0x0b, 0xaa, 0xe3, 0x97, 0x4a, 0x56, 0xb7, 0x44, 0x8f, 0x7a, 0x28, 0xe3, 0xa5, - 0x4b, 0x97, 0xfe, 0x81, 0xde, 0xf2, 0xbf, 0xf5, 0xbf, 0xc9, 0xc8, 0x3e, 0xf7, 0x12, 0x7d, 0x5d, - 0x59, 0x8d, 0x74, 0xf4, 0x3b, 0x71, 0xad, 0x84, 0xde, 0x24, 0x96, 0x94, 0x15, 0x57, 0x8b, 0x8f, - 0x8c, 0x6f, 0x20, 0x46, 0xfd, 0x97, 0xe8, 0x8b, 0x69, 0x2b, 0x69, 0x1e, 0x9d, 0xcd, 0xe7, 0xeb, - 0x12, 0x37, 0x11, 0x56, 0x38, 0x55, 0x43, 0x8d, 0xde, 0x49, 0xcc, 0x24, 0xc6, 0xd3, 0x2d, 0xca, - 0x22, 0x26, 0xd5, 0x6e, 0xd6, 0xca, 0x5c, 0xcd, 0x0c, 0x15, 0xcb, 0x97, 0xa9, 0x58, 0x20, 0xdd, - 0xaf, 0xcc, 0x92, 0xa6, 0xf8, 0xf6, 0x0f, 0x65, 0xf0, 0x32, 0xf1, 0xbb, 0x55, 0x3b, 0x8d, 0xdd, - 0x6d, 0xd7, 0x5d, 0x34, 0x04, 0x0d, 0x4d, 0xb1, 0xbf, 0x4b, 0x63, 0x69, 0xb5, 0x93, 0x04, 0x24, - 0x62, 0x47, 0xea, 0x63, 0xe3, 0x78, 0xd3, 0x61, 0xd1, 0x01, 0x3d, 0x6b, 0x72, 0xe3, 0x26, 0xd3, - 0x65, 0xd4, 0xcd, 0x64, 0x4e, 0x2f, 0x71, 0xaa, 0xe0, 0x23, 0x9f, 0x28, 0xec, 0xa6, 0x55, 0x93, - 0x36, 0xb6, 0x94, 0x4b, 0x0d, 0xe3, 0x36, 0xf5, 0xbd, 0x3e, 0xb3, 0xe2, 0xf5, 0xf3, 0x22, 0xcd, - 0x7d, 0xd2, 0x76, 0x42, 0xe9, 0x80, 0x58, 0xcc, 0x57, 0xc8, 0x79, 0xa2, 0xfb, 0x5b, 0x23, 0x39, - 0xe8, 0xce, 0x18, 0x76, 0xa1, 0x0b, 0x48, 0x89, 0x61, 0xdf, 0x95, 0xc6, 0x0d, 0x04, 0x0d, 0x25, - 0x60, 0xfd, 0x90, 0x22, 0x69, 0xc4, 0xae, 0x02, 0xd5, 0x1c, 0x64, 0xcf, 0xe4, 0x32, 0xd7, 0x5e, - 0xb1, 0x93, 0x02, 0xc4, 0x5d, 0xe8, 0x61, 0x38, 0xbf, 0xe5, 0xa3, 0x47, 0x01, 0xb2, 0x3a, 0xe7, - 0xf0, 0x28, 0x32, 0x36, 0x49, 0x20, 0xa1, 0x05, 0x61, 0x15, 0xd5, 0xa6, 0xcf, 0x43, 0x49, 0x40, - 0xac, 0x06, 0xc6, 0xe7, 0x70, 0xe2, 0xd8, 0x76, 0xee, 0xd0, 0xb9, 0xbf, 0xa9, 0xf9, 0xe2, 0x91, - 0x23, 0xcd, 0x9c, 0x16, 0xa1, 0x17, 0x4b, 0xc9, 0xab, 0xa0, 0x5d, 0x10, 0xfb, 0xa3, 0x75, 0x0d, - 0x9e, 0xd7, 0x68, 0x3e, 0x48, 0x54, 0x40, 0x5f, 0xa7, 0xcb, 0xd6, 0xce, 0xbd, 0x13, 0x99, 0x02, - 0x11, 0xec, 0xe4, 0xa0, 0x89, 0x03, 0x67, 0xb0, 0xe5, 0x37, 0x99, 0x41, 0xd3, 0x08, 0xec, 0xeb, - 0x5c, 0xf7, 0xd2, 0x7f, 0xcf, 0x7e, 0xbe, 0x3e, 0xc1, 0xfe, 0xfd, 0x2f, 0xc8, 0xda, 0x9c, 0x3b, - 0x31, 0x3c, 0x03, 0xe9, 0x76, 0x1e, 0x72, 0x3f, 0xfd, 0xf3, 0x1b, 0x2c, 0xac, 0x00, 0xa9, 0xc1, - 0xe6, 0xe4, 0xfb, 0x1d, 0x74, 0x84, 0x41, 0x48, 0x8f, 0x5f, 0x33, 0x5f, 0xaf, 0x20, 0xa8, 0x9b, - 0x51, 0xa2, 0x66, 0xa4, 0xf2, 0x9e, 0x72, 0x13, 0xd5, 0xda, 0xd9, 0xf4, 0x64, 0xa9, 0x2d, 0x7f, - 0xb2, 0xe5, 0x81, 0x4c, 0x9a, 0x5c, 0x47, 0x14, 0x5f, 0x74, 0x26, 0xc2, 0xa7, 0xc0, 0x90, 0x08, - 0xb7, 0x7a, 0x8f, 0xca, 0x01, 0xf4, 0xa9, 0xce, 0x2b, 0x6c, 0x60, 0x0b, 0x18, 0x6c, 0x15, 0x09, - 0x47, 0xdb, 0x54, 0xdd, 0xf1, 0xdf, 0xd8, 0x43, 0x51, 0x53, 0xe8, 0x08, 0x0e, 0x56, 0xba, 0xd7, - 0x94, 0xbf, 0x6b, 0x50, 0x8b, 0x24, 0xff, 0xe0, 0x2e, 0xbf, 0x73, 0xc4, 0xb8, 0xe3, 0xeb, 0xcc, - 0x9b, 0x0a, 0xfa, 0x7d, 0xf7, 0x59, 0xed, 0xd8, 0x7e, 0x0a, 0x4e, 0x8b, 0x26, 0xad, 0x16, 0xf9, - 0x5e, 0xb8, 0xff, 0x75, 0x28, 0xb8, 0xe3, 0xdc, 0xff, 0x8e, 0x2b, 0xa7, 0x37, 0xbf, 0x4e, 0x38, - 0xb5, 0x2a, 0x71, 0x89, 0xaf, 0x47, 0x9e, 0x76, 0x72, 0x40, 0x0f, 0xec, 0xe2, 0x0a, 0xeb, 0x5e, - 0xc5, 0xc2, 0x8d, 0x49, 0x3a, 0xcc, 0x8e, 0xa1, 0xef, 0x16, 0x98, 0x02, 0xe7, 0xde, 0x06, 0xb0, - 0x4d, 0x58, 0x91, 0x99, 0x9e, 0xf9, 0x73, 0x35, 0xae, 0xbf, 0x77, 0x5c, 0x08, 0x0e, 0x58, 0x1d, - 0x47, 0xdf, 0xf1, 0xc6, 0x6f, 0x5d, 0xd4, 0x44, 0x0e, 0x17, 0x1a, 0xdd, 0x17, 0x40, 0x54, 0xa7, - 0xdb, 0x7c, 0x8d, 0x0f, 0xfd, 0xec, 0x33, 0x32, 0xfa, 0x95, 0x0b, 0xef, 0x25, 0x2f, 0x38, 0x5c, - 0xdc, 0x9f, 0x60, 0xab, 0x91, 0xb7, 0x5a, 0xe8, 0x24, 0xd0, 0x0a, 0xf3, 0x03, 0x75, 0x5b, 0x61, - 0x45, 0xa5, 0x78, 0x36, 0x2c, 0x82, 0x63, 0x7c, 0x7d, 0xc9, 0x29, 0x4e, 0xad, 0x1d, 0x59, 0xd7, - 0x7e, 0xcb, 0x77, 0x35, 0x20, 0x36, 0x3b, 0x69, 0x15, 0x54, 0x9d, 0xc7, 0x28, 0x23, 0x2b, 0x8b, - 0x10, 0xc5, 0x47, 0xbe, 0x60, 0x70, 0x47, 0x6c, 0xba, 0x61, 0xcc, 0x50, 0xde, 0x21, 0xea, 0x09, - 0x30, 0xd9, 0x77, 0x6b, 0xa0, 0x89, 0x29, 0xc6, 0xbc, 0xdb, 0x3f, 0x20, 0x83, 0x00, 0x08, 0x55, - 0x3a, 0x33, 0x63, 0xeb, 0xe5, 0xf6, 0xb0, 0x5e, 0xef, 0xcd, 0x16, 0x99, 0x2e, 0xd0, 0xdd, 0x21, - 0x02, 0x83, 0xcf, 0xc3, 0xb3, 0x82, 0x96, 0x90, 0x9c, 0xc7, 0x63, 0x78, 0xed, 0x2a, 0xf1, 0x34, - 0x96, 0x28, 0xad, 0x31, 0xdc, 0x28, 0xbe, 0xcd, 0x5f, 0xdc, 0x52, 0xd2, 0xbe, 0x2b, 0xf5, 0xbd, - 0x25, 0x2d, 0x00, 0x6d, 0x0c, 0xc7, 0xfd, 0x17, 0x5e, 0x93, 0xf7, 0xa1, 0xe4, 0x6c, 0x43, 0x78, - 0xe7, 0x06, 0x95, 0xf1, 0x65, 0x0f, 0xf9, 0xb3, 0x20, 0x15, 0x34, 0x02, 0xc1, 0xe0, 0x10, 0xe1, - 0x6a, 0xec, 0x58, 0x68, 0xa8, 0x2b, 0xfe, 0xef, 0x6d, 0xe7, 0xf7, 0xcf, 0xf7, 0x69, 0x98, 0x80, - 0xf5, 0x37, 0x92, 0x90, 0x8c, 0x5b, 0xba, 0x58, 0x98, 0x00, 0x71, 0x75, 0x84, 0xd3, 0x23, 0x35, - 0xb4, 0x08, 0x44, 0x17, 0xd9, 0x44, 0xda, 0xff, 0x34, 0x55, 0xb2, 0x89, 0x93, 0xf0, 0xf8, 0xaf, - 0x24, 0x92, 0x43, 0x7b, 0xe1, 0xf2, 0x79, 0xe4, 0xef, 0x8e, 0xc0, 0x86, 0x7c, 0xbf, 0x77, 0xd6, - 0x77, 0x3e, 0x9d, 0x8d, 0xd1, 0xab, 0x2d, 0xb5, 0xb2, 0x82, 0xec, 0xa1, 0x9a, 0x8e, 0x90, 0xb7, - 0x19, 0x19, 0xe4, 0xf8, 0xd5, 0x13, 0xff, 0x64, 0x18, 0x09, 0x98, 0x64, 0x66, 0xac, 0xde, 0x81, - 0xaa, 0x5e, 0xea, 0x60, 0x5c, 0xf0, 0xb2, 0x81, 0x67, 0x39, 0x52, 0xeb, 0x49, 0x5f, 0x15, 0x17, - 0xc0, 0x8d, 0xcc, 0x5f, 0x71, 0x61, 0x15, 0x61, 0x98, 0x78, 0x1c, 0x76, 0x47, 0x11, 0x95, 0x7c, - 0xb9, 0x67, 0x92, 0x91, 0x8a, 0x51, 0x65, 0x8e, 0x58, 0xd2, 0xae, 0xbc, 0x8f, 0x83, 0x5c, 0x13, - 0x00, 0x6e, 0xe0, 0xc5, 0x31, 0xcf, 0x25, 0xb3, 0xbc, 0x7d, 0xe5, 0xec, 0xd6, 0xef, 0x65, 0x7f, - 0x9a, 0x70, 0x38, 0xcc, 0x08, 0x4e, 0x92, 0xee, 0x78, 0x88, 0xb7, 0x8c, 0xaf, 0x6c, 0x2f, 0xb7, - 0xce, 0xad, 0x20, 0x97, 0x1d, 0x0a, 0xf9, 0xe4, 0x0f, 0x13, 0x02, 0xde, 0x8b, 0x69, 0x0f, 0xb6, - 0x78, 0x4e, 0x2a, 0x91, 0xd0, 0x6b, 0x6b, 0x0b, 0x69, 0xc7, 0xee, 0x92, 0x30, 0x6e, 0x84, 0x01, - 0xb3, 0xd8, 0x8a, 0x85, 0xe5, 0x31, 0xed, 0xa4, 0xbf, 0x26, 0xa0, 0x60, 0x66, 0x22, 0xd9, 0x6d, - 0x8c, 0x90, 0x4c, 0xc2, 0xc0, 0x9c, 0x34, 0xb0, 0xe6, 0x00, 0x8c, 0x20, 0x4f, 0xa2, 0x04, 0xd4, - 0xb3, 0xc3, 0xb1, 0x4c, 0x80, 0xae, 0xf8, 0x06, 0x24, 0x0a, 0x94, 0xd3, 0xb8, 0x2e, 0x2c, 0x97, - 0x49, 0x95, 0x6e, 0x6e, 0xd7, 0xe1, 0x23, 0x92, 0x4c, 0x67, 0xeb, 0x6e, 0x6a, 0xfa, 0x19, 0x07, - 0xa1, 0xe7, 0xce, 0xb6, 0x4f, 0xda, 0x73, 0x70, 0xb0, 0xbf, 0x2f, 0x03, 0x68, 0x96, 0xa5, 0x08, - 0x13, 0xc4, 0xc3, 0xa1, 0x0d, 0xb4, 0x87, 0x2e, 0x67, 0x86, 0xcd, 0x23, 0x05, 0x0b, 0xc2, 0x32, - 0xae, 0xb2, 0xc3, 0x28, 0x6b, 0x52, 0x04, 0xfe, 0xa3, 0x2d, 0x88, 0xd6, 0x2a, 0xcd, 0x3e, 0x4a, - 0x85, 0x33, 0xfa, 0x62, 0xd7, 0x4c, 0x68, 0x23, 0xfc, 0x62, 0xde, 0x2b, 0xa2, 0x9a, 0x96, 0xdd, - 0xc7, 0x5a, 0x03, 0xe6, 0x48, 0x56, 0x72, 0xc4, 0x16, 0x51, 0x5c, 0x5f, 0xa4, 0xa8, 0x40, 0x1f, - 0xeb, 0xb0, 0xf8, 0xa7, 0x4e, 0x88, 0x28, 0xa9, 0xc5, 0x29, 0x99, 0xce, 0x8d, 0x0e, 0xbe, 0xd5, - 0xdb, 0x2e, 0xe4, 0xf9, 0x31, 0xe9, 0x94, 0x1e, 0x14, 0xb9, 0xd3, 0x28, 0xa3, 0xc4, 0x75, 0x80, - 0x43, 0x9a, 0xbf, 0xdc, 0xb4, 0x55, 0x74, 0xcf, 0xee, 0xd9, 0x24, 0xa2, 0x24, 0xb4, 0x6d, 0xec, - 0xf4, 0xc7, 0xc9, 0x81, 0xf1, 0x0c, 0x8c, 0xfb, 0xe0, 0xb7, 0x9f, 0xd8, 0x24, 0xb1, 0xd6, 0xb1, - 0xbb, 0x85, 0xb3, 0xd8, 0x07, 0x5b, 0x0a, 0x08, 0x3f, 0xe8, 0x19, 0xba, 0xcd, 0xcd, 0xfc, 0x78, - 0x4a, 0x39, 0x31, 0x77, 0xef, 0xea, 0x26, 0x26, 0xa1, 0x8c, 0xb9, 0x66, 0xac, 0x39, 0x39, 0x41, - 0x7e, 0xb3, 0x46, 0x22, 0x47, 0x4c, 0xb5, 0xa2, 0x69, 0x6e, 0x44, 0x06, 0x1d, 0x66, 0xfb, 0xd7, - 0xe0, 0xeb, 0x1e, 0x2b, 0xcd, 0xf6, 0xf8, 0xa7, 0xf1, 0x86, 0x27, 0xbd, 0x83, 0x37, 0xfd, 0x1c, - 0x23, 0x70, 0xec, 0xda, 0x07, 0x34, 0x30, 0xce, 0x91, 0x4a, 0x42, 0x97, 0x0b, 0x1d, 0x57, 0x2b, - 0x8f, 0x37, 0x92, 0xcf, 0x4b, 0x9e, 0xbb, 0xaa, 0x1a, 0x0b, 0x19, 0xc4, 0x7d, 0xc4, 0xf1, 0x25, - 0x0d, 0x6a, 0xc5, 0xa7, 0x35, 0x59, 0x4a, 0xc1, 0xa9, 0x67, 0x86, 0x38, 0x6a, 0x5a, 0x1d, 0xdb, - 0x89, 0x47, 0x85, 0xca, 0x38, 0x10, 0xa4, 0xf9, 0xa8, 0xf0, 0xf6, 0x5c, 0x18, 0x07, 0xc8, 0x94, - 0x66, 0x4a, 0x4e, 0x21, 0x59, 0x2d, 0x9b, 0xb1, 0xa6, 0xdb, 0x7b, 0x1a, 0xe3, 0xf7, 0xe6, 0xbd, - 0x0e, 0xe0, 0x12, 0x35, 0xd9, 0x31, 0x7f, 0xf4, 0xb5, 0x69, 0xd9, 0x01, 0x44, 0x2d, 0x8c, 0x47, - 0xa9, 0xec, 0xe0, 0x04, 0x4c, 0xa1, 0x4c, 0x34, 0xd1, 0x2b, 0x41, 0x1b, 0xa2, 0x6b, 0x2b, 0x28, - 0x77, 0x6f, 0x9a, 0xee, 0x4e, 0x35, 0x19, 0x82, 0xb2, 0x7c, 0x39, 0x05, 0x11, 0x9e, 0xb2, 0xf2, - 0xb2, 0xb1, 0x0a, 0x61, 0xc7, 0x7c, 0xa2, 0xd0, 0xa2, 0xf2, 0xdc, 0xba, 0x20, 0x0e, 0x45, 0x3b, - 0xb3, 0xae, 0x7c, 0x28, 0x93, 0x89, 0x04, 0xc9, 0xf3, 0x9e, 0x90, 0x51, 0xb4, 0x27, 0xce, 0x8d, - 0x1c, 0xa9, 0x3b, 0xc3, 0xb7, 0x9c, 0x6e, 0xa4, 0x8f, 0x76, 0x69, 0xfc, 0x27, 0x95, 0x67, 0x81, - 0x9e, 0x7f, 0xc8, 0x54, 0x69, 0x61, 0xc9, 0xbe, 0x21, 0x0b, 0x0b, 0xcc, 0x05, 0x3d, 0xff, 0x0c, - 0x7a, 0x65, 0x51, 0x19, 0x25, 0xe4, 0x3b, 0x63, 0xa3, 0x35, 0x2e, 0x83, 0x94, 0x06, 0x63, 0xf2, - 0x8e, 0xd3, 0x04, 0x72, 0x2d, 0xe7, 0x68, 0x9e, 0xa2, 0x15, 0xc4, 0x16, 0xb2, 0x99, 0x1e, 0xfd, - 0xfd, 0xfa, 0x6a, 0xe9, 0xd9, 0xe6, 0x50, 0x2a, 0xdc, 0x4c, 0x01, 0xa8, 0xf6, 0xac, 0xb4, 0x26, - 0x32, 0xb8, 0x68, 0xf9, 0x1b, 0x00, 0x0a, 0xed, 0x7a, 0x95, 0x5d, 0x37, 0x62, 0xc2, 0x5a, 0x73, - 0x64, 0x1a, 0x3c, 0x9e, 0xc8, 0x6e, 0xf7, 0x61, 0xc9, 0x42, 0xf5, 0x86, 0xf6, 0xc8, 0x29, 0x21, - 0xc0, 0x2e, 0x8b, 0x9b, 0x99, 0x40, 0xfe, 0xc0, 0x41, 0x18, 0xab, 0x9f, 0x74, 0x49, 0xc6, 0x39, - 0x28, 0xb7, 0x4e, 0xad, 0xd0, 0xb5, 0xa4, 0xbb, 0x5b, 0x1b, 0x13, 0x3f, 0x0e, 0x09, 0x16, 0xe5, - 0x4a, 0x9b, 0xb7, 0x96, 0x36, 0xbb, 0x8a, 0x69, 0xef, 0x8a, 0xca, 0x7c, 0x2e, 0x24, 0x74, 0xcb, - 0x91, 0xa8, 0x05, 0xc5, 0x1f, 0x6e, 0x17, 0x03, 0xde, 0xa9, 0xce, 0x07, 0xef, 0x7a, 0x74, 0x46, - 0xe3, 0x18, 0xab, 0x29, 0x10, 0x17, 0x0b, 0x73, 0x23, 0x4e, 0x4c, 0x50, 0x7d, 0x5d, 0x37, 0x10, - 0x1b, 0x2b, 0x1b, 0xa7, 0x4d, 0x2b, 0x26, 0x08, 0x9e, 0xbe, 0xf7, 0x9f, 0x0e, 0x47, 0x4c, 0xe8, - 0x10, 0x7f, 0x24, 0xf8, 0x18, 0x08, 0xd4, 0xf6, 0x4d, 0x3d, 0xe7, 0xce, 0xed, 0x31, 0xfc, 0x55, - 0xef, 0x25, 0xe2, 0x54, 0xc8, 0x8c, 0x16, 0x4c, 0x95, 0xb2, 0x97, 0x98, 0x3a, 0x53, 0x7c, 0xa5, - 0xee, 0x2e, 0xc7, 0xe1, 0x17, 0xe2, 0xf0, 0xc8, 0xfc, 0xa3, 0x67, 0xdc, 0xbc, 0x94, 0xd8, 0x71, - 0xe5, 0xee, 0x18, 0xc3, 0x1d, 0x74, 0x7c, 0x75, 0xab, 0x1b, 0x08, 0xa1, 0x8a, 0xcb, 0x14, 0xdb, - 0x94, 0x60, 0x07, 0x72, 0xc6, 0xa2, 0xfb, 0xf0, 0xf5, 0x55, 0xc6, 0x67, 0x40, 0x3d, 0xd5, 0xb8, - 0x30, 0x50, 0x42, 0x81, 0xbb, 0xc5, 0x99, 0x95, 0x3d, 0x5f, 0x2a, 0xf0, 0xdc, 0x58, 0xd4, 0x37, - 0x31, 0xed, 0x1c, 0x34, 0x01, 0x3a, 0xf8, 0x60, 0xb3, 0x46, 0x32, 0x99, 0xe3, 0xd5, 0x7c, 0x08, - 0x90, 0xcf, 0xf0, 0xca, 0x3b, 0x9d, 0x9d, 0x18, 0x58, 0x88, 0x73, 0x3f, 0x1e, 0x44, 0x2c, 0x28, - 0x7f, 0x74, 0xb6, 0xef, 0x8b, 0x39, 0x67, 0x31, 0x38, 0x66, 0x36, 0x26, 0x93, 0xd7, 0x76, 0x18, - 0x80, 0x0c, 0xa0, 0x3f, 0x94, 0x6a, 0x9e, 0x3a, 0xec, 0x1d, 0x1a, 0x1a, 0x61, 0x49, 0x30, 0xe3, - 0x9d, 0x73, 0x7b, 0x05, 0x2a, 0xd5, 0xfa, 0x6f, 0xa9, 0x93, 0x7e, 0xb5, 0x7a, 0x69, 0xe8, 0x8d, - 0xad, 0xc4, 0x0a, 0x7f, 0x90, 0x06, 0xa9, 0x0c, 0xac, 0x58, 0x43, 0x75, 0x86, 0x8b, 0x4d, 0x79, - 0x60, 0x4f, 0xed, 0xc0, 0x0b, 0x93, 0xdb, 0x23, 0xd8, 0x15, 0x00, 0xf3, 0x25, 0xaf, 0x7f, 0x02, - 0xde, 0xb7, 0x4c, 0x17, 0xaa, 0x0d, 0xd1, 0x1b, 0x9b, 0x4c, 0x4f, 0xe9, 0x11, 0x94, 0x4d, 0xfa, - 0xaf, 0xc7, 0x38, 0x1c, 0xc8, 0xe5, 0x31, 0xea, 0xae, 0x36, 0xe7, 0x81, 0x6a, 0xc3, 0x98, 0xe3, - 0x17, 0x4c, 0x95, 0xa2, 0x3c, 0x8c, 0x8a, 0x42, 0xa8, 0x09, 0x61, 0xf2, 0xd3, 0x5f, 0xa9, 0xbe, - 0x68, 0x0a, 0x87, 0xb6, 0x74, 0x20, 0xad, 0xe1, 0x2f, 0x51, 0x53, 0x1d, 0x92, 0x26, 0xac, 0x92, - 0x40, 0xea, 0x06, 0x0b, 0x57, 0xf2, 0x36, 0x35, 0xbe, 0xc0, 0xbd, 0x1b, 0xf7, 0x00, 0xf6, 0x14, - 0x61, 0x57, 0xa3, 0xc1, 0xaa, 0xcb, 0x58, 0x71, 0xe9, 0x65, 0x90, 0x0e, 0x8b, 0x25, 0x9b, 0xd0, - 0xe6, 0xdb, 0xe8, 0xff, 0x05, 0xd6, 0x24, 0x7a, 0x34, 0xc8, 0xda, 0xde, 0x5b, 0x65, 0x98, 0xb7, - 0xbe, 0x22, 0x3b, 0x67, 0xb0, 0xb9, 0x3c, 0xd2, 0x28, 0xea, 0x47, 0x94, 0xf1, 0x9f, 0x50, 0xa3, - 0x4a, 0x37, 0xab, 0x51, 0x09, 0x3d, 0xf3, 0x55, 0x14, 0xea, 0xde, 0x3a, 0xaa, 0xa0, 0x1a, 0xb2, - 0x1d, 0x32, 0x2d, 0x7a, 0x1c, 0xbf, 0x69, 0xff, 0x21, 0x55, 0x75, 0xdc, 0x1f, 0xf4, 0x1d, 0x3d, - 0x54, 0x74, 0x1a, 0x05, 0x37, 0xc4, 0x1a, 0x65, 0x9a, 0x76, 0x49, 0x72, 0x7d, 0xa1, 0xb0, 0xbe, - 0xf9, 0x95, 0x3c, 0xb7, 0xf5, 0xa9, 0x24, 0xc6, 0x6d, 0xb4, 0xee, 0xb9, 0xd6, 0x5b, 0x04, 0xc5, - 0x26, 0xf3, 0x44, 0xe8, 0x68, 0x97, 0x8b, 0x16, 0x76, 0x32, 0x26, 0xa6, 0xb3, 0x33, 0x82, 0xb6, - 0x62, 0x6e, 0xb3, 0x5e, 0x8a, 0xc9, 0xfd, 0x76, 0x3c, 0x99, 0xe6, 0x5a, 0xd1, 0x60, 0x8b, 0x7d, - 0x84, 0xb4, 0xc5, 0x07, 0xd6, 0xb3, 0x94, 0x7e, 0xfd, 0x62, 0x8c, 0xd9, 0xac, 0x22, 0x49, 0x9c, - 0x9e, 0x09, 0x6e, 0xc2, 0x1f, 0x17, 0x50, 0xeb, 0x03, 0x2b, 0x4e, 0xb8, 0x7b, 0x89, 0x35, 0x46, - 0xb6, 0xb9, 0x20, 0xa9, 0xe5, 0x27, 0xa2, 0x61, 0x77, 0xf4, 0x4f, 0xb2, 0xeb, 0x71, 0xea, 0x47, - 0xe2, 0xc1, 0x33, 0x94, 0x7b, 0x2c, 0xc5, 0xf7, 0xa1, 0x02, 0xe6, 0x7e, 0xb6, 0x36, 0x96, 0xd8, - 0x28, 0x41, 0x29, 0xed, 0x19, 0x4c, 0x14, 0x50, 0x21, 0x22, 0x5a, 0x72, 0xa2, 0xec, 0x21, 0xb4, - 0x76, 0xf3, 0xee, 0x8b, 0xd9, 0x34, 0x8b, 0xb8, 0x70, 0x30, 0x59, 0x97, 0x60, 0x1a, 0x12, 0xed, - 0xd6, 0xaa, 0xa0, 0x28, 0xc5, 0xf4, 0xf7, 0x98, 0x7d, 0x3a, 0xec, 0xae, 0x71, 0xa8, 0x44, 0x5a, - 0xb8, 0x15, 0x64, 0xf7, 0x67, 0xf2, 0x5c, 0xf3, 0xd8, 0x5a, 0xde, 0x45, 0x56, 0xc0, 0x75, 0xc3, - 0xfb, 0x7e, 0xcc, 0x43, 0xf5, 0xc2, 0x47, 0x60, 0xa4, 0x64, 0x39, 0x2e, 0x5d, 0x71, 0x0b, 0xb3, - 0xda, 0x5e, 0xf2, 0xc0, 0x53, 0x18, 0xd1, 0xa3, 0xdb, 0x51, 0xb8, 0xcd, 0x40, 0xbb, 0x55, 0x88, - 0x44, 0x69, 0x49, 0xf9, 0x72, 0x0b, 0xcd, 0xdf, 0x52, 0xdc, 0xce, 0x14, 0x6a, 0x1f, 0x09, 0x6c, - 0x35, 0xd9, 0xc8, 0x84, 0xb9, 0xd9, 0x95, 0xdc, 0xcc, 0x62, 0x0b, 0xe2, 0x89, 0xd6, 0xc2, 0x23, - 0x3d, 0x2b, 0x1a, 0xf4, 0x6b, 0x6d, 0x03, 0x2c, 0xa7, 0xfa, 0x14, 0x2b, 0xc1, 0xe7, 0xdb, 0x85, - 0xe8, 0xda, 0xd9, 0xeb, 0xd6, 0x90, 0x9e, 0xd3, 0x5a, 0x69, 0x77, 0x72, 0x70, 0x12, 0x9b, 0xe8, - 0x02, 0xbe, 0x95, 0x60, 0xee, 0x22, 0x4c, 0x88, 0x93, 0x45, 0x42, 0xff, 0x62, 0x48, 0x9c, 0x4f, - 0xbb, 0x15, 0x06, 0xc5, 0x0e, 0x16, 0x9f, 0x3c, 0x04, 0x30, 0xa2, 0x8b, 0x36, 0x4d, 0x6c, 0x3c, - 0x6d, 0x81, 0xe3, 0x8c, 0xc5, 0x0e, 0xfd, 0x4a, 0x99, 0xf6, 0x0d, 0x81, 0x2c, 0x80, 0x3e, 0xd7, - 0x77, 0x91, 0x29, 0x15, 0x38, 0x33, 0xf6, 0x03, 0xaa, 0x6e, 0x6d, 0x7e, 0x89, 0xe2, 0xbe, 0xfb, - 0xdb, 0xf3, 0x98, 0xad, 0xb3, 0x25, 0xb9, 0x38, 0x6a, 0xfe, 0x2d, 0x11, 0x6f, 0x34, 0x9c, 0x6c, - 0x7d, 0xe3, 0x8f, 0xf1, 0x1d, 0xf0, 0xc9, 0xef, 0xe8, 0xe6, 0x2f, 0xa3, 0x2b, 0xea, 0x9e, 0xf1, - 0xf4, 0x53, 0xd6, 0x11, 0xf1, 0xcf, 0x84, 0xce, 0xd6, 0xb0, 0x3f, 0xd5, 0x72, 0x78, 0x8c, 0x81, - 0x88, 0x03, 0x7b, 0x7c, 0xa0, 0xe0, 0x4b, 0x75, 0x58, 0xd5, 0x45, 0x21, 0xdd, 0x4c, 0xa1, 0x99, - 0xb5, 0x3f, 0xa0, 0xe3, 0x1a, 0x57, 0xaa, 0xec, 0x11, 0x56, 0x28, 0x8c, 0xe8, 0x35, 0x4b, 0x4b, - 0xd3, 0x5c, 0xe1, 0x1d, 0x33, 0xd6, 0x9f, 0x9b, 0x7d, 0x01, 0x17, 0xd3, 0x25, 0xd4, 0x76, 0xb2, - 0x7c, 0xd3, 0x7a, 0xff, 0xd8, 0x29, 0xfd, 0x5e, 0x76, 0xe2, 0x45, 0xe1, 0xae, 0x9b, 0x36, 0xe4, - 0x0b, 0xec, 0xed, 0xd2, 0x2b, 0x96, 0x88, 0x2a, 0x90, 0x27, 0xc8, 0xf1, 0xff, 0x95, 0x34, 0x8d, - 0xd9, 0x7a, 0x05, 0x4a, 0x07, 0x81, 0x34, 0xd2, 0x47, 0xd5, 0x93, 0xc1, 0xb0, 0x85, 0x1c, 0xa5, - 0x08, 0x88, 0xeb, 0xc8, 0x85, 0x2c, 0xe2, 0x28, 0x3b, 0xf2, 0xba, 0x70, 0xe6, 0x0b, 0xd2, 0xc7, - 0xce, 0x04, 0x00, 0xa0, 0xba, 0x7c, 0xee, 0xab, 0xab, 0x00, 0x00, 0x9b, 0x11, 0x6e, 0x11, 0x9a, - 0x77, 0x7b, 0x5a, 0x3a, 0xa3, 0x9b, 0xa8, 0xd9, 0x49, 0x09, 0xd0, 0x6e, 0x23, 0x65, 0x92, 0x4c, - 0x41, 0xd2, 0x08, 0xca, 0x8b, 0x76, 0x81, 0x03, 0x7a, 0x67, 0xa1, 0x77, 0xff, 0x7c, 0xad, 0x7b, - 0x49, 0xeb, 0xe5, 0x59, 0xef, 0x63, 0x39, 0xe0, 0x54, 0x22, 0x26, 0x5e, 0xe7, 0x02, 0xd3, 0x9a, - 0x7b, 0x34, 0xe6, 0xaf, 0x3a, 0x48, 0x14, 0xae, 0x89, 0xfe, 0xbf, 0x08, 0x2b, 0xe7, 0x6f, 0x88, - 0x07, 0xa8, 0xf9, 0xc5, 0x0e, 0xc7, 0x72, 0xed, 0xd8, 0xef, 0x4b, 0x85, 0x64, 0xdb, 0xe6, 0x24, - 0xc4, 0x74, 0x5e, 0xad, 0xdf, 0xed, 0x41, 0xc2, 0xc1, 0x1d, 0x48, 0xbe, 0x5b, 0x62, 0xa0, 0x09, - 0xca, 0x6a, 0xe1, 0x66, 0x46, 0x07, 0xd1, 0xb7, 0xdc, 0x7d, 0x6e, 0xc1, 0x13, 0x14, 0x95, 0xfc, - 0x7d, 0x8d, 0xfc, 0xa7, 0xb3, 0x0e, 0x61, 0x51, 0x33, 0x05, 0xa0, 0x44, 0x64, 0x7a, 0x07, 0xd1, - 0x14, 0x09, 0x9d, 0xbd, 0x1d, 0xdf, 0x45, 0xef, 0xe7, 0xa0, 0xcc, 0x2a, 0xf5, 0x36, 0xa0, 0x82, - 0x34, 0xdf, 0xb5, 0x08, 0x4c, 0x45, 0xd5, 0x23, 0xd6, 0x61, 0x66, 0x52, 0xa6, 0x1a, 0x9d, 0x64, - 0xfe, 0xcf, 0x21, 0x00, 0x0b, 0xac, 0xcc, 0x4a, 0x4a, 0x25, 0x13, 0xbc, 0x90, 0x9b, 0xd5, 0x40, - 0x75, 0x1e, 0x9e, 0x5e, 0x11, 0x63, 0x82, 0x19, 0x45, 0xfd, 0x1b, 0xd7, 0x2e, 0x86, 0x2d, 0x96, - 0xae, 0xc5, 0x3b, 0x5b, 0xea, 0x83, 0x5b, 0x95, 0xb6, 0xde, 0x7e, 0xfb, 0xa7, 0x67, 0x44, 0xd5, - 0xaf, 0x20, 0x3c, 0xc5, 0x20, 0x33, 0xd7, 0x08, 0x1b, 0x4d, 0xb3, 0xaf, 0x45, 0xd5, 0x80, 0xda, - 0x8a, 0xdf, 0x6f, 0x4e, 0xb1, 0x4e, 0xbf, 0xd0, 0x01, 0x1c, 0x36, 0xd4, 0x01, 0x4e, 0x9b, 0xb8, - 0xe7, 0x96, 0x28, 0x66, 0x9a, 0x9a, 0xe9, 0x27, 0x73, 0x5d, 0x98, 0x6f, 0x81, 0x1d, 0xdb, 0x1b, - 0x1b, 0xf5, 0x18, 0xac, 0x90, 0x9c, 0x02, 0x23, 0x97, 0x4a, 0xf8, 0x01, 0x5c, 0x60, 0xe5, 0xe7, - 0xe0, 0xfb, 0x56, 0x44, 0xcd, 0xac, 0x1e, 0x50, 0xcb, 0xf9, 0x72, 0xfb, 0xf4, 0xd6, 0xbf, 0x0f, - 0xde, 0x95, 0x0a, 0x1e, 0x6f, 0x71, 0x0f, 0x7d, 0x9a, 0x0b, 0xef, 0x52, 0xdf, 0x90, 0x6b, 0xf4, - 0x3c, 0xdc, 0x99, 0x20, 0xaa, 0x4b, 0x53, 0x41, 0x59, 0x26, 0x07, 0xbd, 0x09, 0xf5, 0x2b, 0xfa, - 0xe7, 0x93, 0xda, 0xe7, 0x00, 0x57, 0xde, 0xf8, 0x86, 0x74, 0x29, 0xdb, 0x86, 0x30, 0xbc, 0xb0, - 0x5a, 0xd7, 0x50, 0x22, 0xe1, 0xfc, 0x17, 0x02, 0x2f, 0x86, 0x24, 0x1b, 0xbf, 0xc5, 0xf2, 0xeb, - 0x23, 0x7c, 0xf0, 0x65, 0x65, 0x51, 0x75, 0xdf, 0xe2, 0x77, 0x8b, 0x02, 0xdb, 0xba, 0x64, 0xde, - 0x94, 0xa1, 0xdf, 0x08, 0x37, 0x98, 0xeb, 0xc9, 0xbd, 0x94, 0xaf, 0xec, 0x5e, 0xe3, 0xd6, 0x64, - 0x2c, 0x30, 0x66, 0x1a, 0x07, 0x28, 0x98, 0x83, 0xd5, 0x60, 0x5b, 0xff, 0x66, 0xc3, 0xf1, 0x7c, - 0x59, 0x36, 0x02, 0x58, 0x0d, 0xd4, 0x48, 0x01, 0xbc, 0x92, 0xff, 0x4b, 0x65, 0xaf, 0x52, 0xb5, - 0x5e, 0xa2, 0x7a, 0xdd, 0xfb, 0x46, 0x84, 0x50, 0xaf, 0xcd, 0x5d, 0x2d, 0x26, 0xe1, 0x18, 0x0a, - 0x1e, 0xb1, 0x25, 0x6e, 0xdb, 0x83, 0x72, 0x7d, 0xce, 0xf6, 0xae, 0xf7, 0x72, 0x38, 0xf0, 0xd5, - 0xf6, 0x55, 0x6c, 0x2c, 0xc3, 0xcd, 0xdc, 0x08, 0x41, 0x01, 0xb6, 0xe6, 0x1b, 0x3f, 0x45, 0x9f, - 0x7a, 0xd3, 0xfc, 0xdf, 0x6d, 0x9c, 0x3a, 0xec, 0x3e, 0xed, 0xe9, 0x59, 0x19, 0x8e, 0x6d, 0x77, - 0x1d, 0x0e, 0x4d, 0x16, 0x1d, 0x28, 0xe1, 0xd2, 0x4b, 0xa8, 0x5e, 0xbd, 0xff, 0x18, 0x0d, 0xe5, - 0x11, 0xc9, 0x38, 0x7d, 0xd8, 0xd7, 0xa3, 0xb8, 0xa5, 0x5c, 0xdc, 0x8c, 0xbd, 0xb2, 0xb6, 0x5a, - 0x15, 0x6b, 0x5b, 0xa9, 0xa5, 0x34, 0xd5, 0x76, 0xb2, 0x57, 0x75, 0x86, 0xbe, 0x8b, 0x19, 0x17, - 0xd8, 0x99, 0xfc, 0x18, 0x40, 0xe8, 0x43, 0x47, 0x1a, 0x47, 0x89, 0x17, 0x72, 0x5b, 0x0d, 0x06, - 0x28, 0xd3, 0xf5, 0x37, 0xa7, 0x2f, 0x99, 0xa5, 0x67, 0xda, 0x1b, 0x66, 0x57, 0xc0, 0x45, 0x05, - 0x24, 0xbc, 0xab, 0x83, 0x4e, 0xc5, 0x8b, 0x5d, 0xfc, 0xd4, 0x77, 0x53, 0x32, 0x68, 0x50, 0x80, - 0x18, 0x86, 0x57, 0x67, 0x3f, 0x4a, 0x76, 0xba, 0x5a, 0x19, 0xd3, 0x31, 0xdf, 0xbc, 0x7a, 0x18, - 0x5b, 0x1f, 0x00, 0xb8, 0xa6, 0x26, 0x8a, 0x4d, 0xa1, 0x6c, 0x5f, 0xe3, 0x23, 0x85, 0x1c, 0xc6, - 0xb7, 0xf1, 0xe1, 0xc4, 0xaf, 0x07, 0x37, 0x89, 0xda, 0x7b, 0x80, 0x2f, 0x01, 0xff, 0xed, 0xb8, - 0x5a, 0x72, 0x7b, 0x8c, 0x20, 0xfd, 0x6b, 0xa9, 0xcf, 0xed, 0x88, 0x6e, 0xbc, 0xa6, 0x38, 0x74, - 0x09, 0xba, 0x1d, 0xe8, 0x9b, 0x81, 0x72, 0x59, 0x28, 0x94, 0xe4, 0x7a, 0x95, 0xb5, 0x72, 0x2c, - 0x97, 0xa8, 0x8e, 0xf2, 0x07, 0x8b, 0x6a, 0xff, 0x39, 0x27, 0x8c, 0xd7, 0x24, 0xdd, 0x56, 0x8b, - 0x11, 0x67, 0x20, 0x91, 0x81, 0x2c, 0x9c, 0xb1, 0xd0, 0x4a, 0x28, 0x20, 0xd3, 0x2e, 0x85, 0xbf, - 0xd1, 0xc9, 0x5c, 0x48, 0x71, 0x06, 0xf7, 0x8a, 0x0b, 0x3d, 0xa5, 0x57, 0xb8, 0xf1, 0x3c, 0x02, - 0x20, 0xbc, 0xe9, 0x07, 0x0f, 0xe3, 0x9d, 0x03, 0xfd, 0xdc, 0x5e, 0xcf, 0x17, 0x2c, 0x15, 0xa7, - 0x3f, 0x73, 0xb2, 0xc3, 0x9f, 0x53, 0x92, 0xfc, 0x7a, 0x02, 0x41, 0x09, 0x64, 0x64, 0x02, 0xf1, - 0x08, 0xd9, 0xf4, 0x27, 0x9f, 0xfd, 0x2f, 0x90, 0x45, 0x0c, 0x36, 0x19, 0x17, 0x16, 0x98, 0xae, - 0x78, 0x77, 0x0a, 0xde, 0x95, 0x59, 0x0c, 0x97, 0xec, 0xc7, 0xdb, 0xd0, 0xd1, 0xc7, 0x6b, 0xd1, - 0x51, 0x33, 0x08, 0x52, 0x99, 0x2e, 0xe0, 0xe4, 0xbb, 0xa7, 0x79, 0x4c, 0x6e, 0x55, 0x23, 0x0c, - 0x42, 0x8d, 0x92, 0xa9, 0x07, 0x79, 0x82, 0x54, 0x8b, 0x86, 0x52, 0x58, 0x05, 0xcf, 0x93, 0x49, - 0x2d, 0x42, 0xe4, 0xa4, 0x68, 0x84, 0xa2, 0x6e, 0xa0, 0x52, 0x66, 0xce, 0xa8, 0x63, 0xb6, 0xd9, - 0x76, 0xe3, 0x36, 0xe3, 0xbc, 0x3c, 0x45, 0x86, 0xc7, 0x97, 0x9b, 0x67, 0x99, 0x8a, 0x8b, 0x26, - 0x13, 0x7d, 0xd4, 0x52, 0xaa, 0x16, 0x0a, 0x0c, 0x41, 0x42, 0x42, 0x3c, 0xfb, 0x12, 0x96, 0x04, - 0xa1, 0x23, 0xe0, 0x2c, 0xcb, 0x38, 0x9d, 0x7c, 0x5c, 0x10, 0xa7, 0x52, 0x7d, 0xfd, 0xc4, 0x54, - 0x9d, 0x87, 0x8a, 0x3b, 0x7c, 0xe5, 0x88, 0xda, 0x80, 0x5b, 0x13, 0xfa, 0xeb, 0xcb, 0x7f, 0xd6, - 0x54, 0x67, 0x6c, 0x19, 0x4f, 0x96, 0x21, 0x3e, 0x97, 0xd3, 0xf6, 0xff, 0x84, 0x9f, 0x5c, 0x5e, - 0x41, 0x34, 0x99, 0x30, 0x7c, 0x0d, 0x81, 0x66, 0x9b, 0x2c, 0xef, 0x43, 0x15, 0x6a, 0x60, 0x7f, - 0x20, 0xe5, 0x17, 0xcf, 0x82, 0x9b, 0x8c, 0x39, 0x84, 0x5a, 0x0b, 0x26, 0x69, 0xe4, 0xbc, 0x4c, - 0xb6, 0x63, 0x5d, 0x85, 0x9a, 0xe9, 0x3b, 0x23, 0x8c, 0x7b, 0xb6, 0x4a, 0x2b, 0x0d, 0x88, 0x70, - 0x96, 0x6b, 0xc4, 0x25, 0x37, 0x3a, 0x99, 0xf5, 0x06, 0x04, 0x49, 0xcc, 0xe2, 0x3d, 0xa5, 0x55, - 0x6c, 0xbf, 0xac, 0x3c, 0x50, 0xc6, 0x1b, 0x25, 0x63, 0x1f, 0xec, 0x0d, 0x7a, 0x8d, 0x0c, 0x6a, - 0x5d, 0xa7, 0xc2, 0xef, 0x18, 0xe4, 0x5b, 0x7a, 0x4e, 0xa1, 0xde, 0x6e, 0x6d, 0x4d, 0x6b, 0x14, - 0x97, 0xe2, 0xaf, 0x52, 0xf3, 0x28, 0x79, 0xd5, 0x8d, 0xcb, 0x91, 0xb4, 0xbd, 0xdc, 0x85, 0x05, - 0xa4, 0xb2, 0x90, 0x62, 0x2d, 0xb7, 0x23, 0xad, 0xdb, 0x4e, 0xd5, 0xcf, 0x3a, 0x48, 0x68, 0xc6, - 0x40, 0x91, 0xe0, 0xd9, 0xe7, 0xb7, 0xfe, 0xc8, 0x8a, 0x91, 0x27, 0xb8, 0x85, 0x47, 0x7a, 0x67, - 0x9f, 0x00, 0x34, 0xa1, 0x4e, 0x99, 0x15, 0x06, 0x30, 0xff, 0x72, 0x36, 0x29, 0x43, 0xbc, 0xa4, - 0x69, 0x0b, 0x61, 0x12, 0x6d, 0x2b, 0x6a, 0x9a, 0xe4, 0xff, 0x28, 0x8b, 0xe7, 0xbe, 0xc7, 0x4c, - 0x70, 0x70, 0xd6, 0x79, 0xde, 0x23, 0xb8, 0x69, 0xc6, 0xf0, 0x86, 0xe6, 0x69, 0x8d, 0x59, 0xbb, - 0xb3, 0xdd, 0x08, 0x17, 0x08, 0x87, 0xa6, 0x81, 0x6c, 0x35, 0xab, 0x69, 0xa5, 0x52, 0x78, 0xe1, - 0xb0, 0xd2, 0x52, 0xa5, 0xbd, 0x50, 0xbc, 0x25, 0xcc, 0xd2, 0x3a, 0xf2, 0x29, 0x89, 0xac, 0xdc, - 0x9e, 0x36, 0x66, 0xdb, 0x0d, 0x21, 0x85, 0xd1, 0x6d, 0x3d, 0xd2, 0xa8, 0xc8, 0x39, 0xc7, 0xe1, - 0xab, 0xa9, 0xa9, 0x9a, 0x7b, 0x5c, 0x49, 0x65, 0x4d, 0x2a, 0x26, 0x41, 0xeb, 0x30, 0x31, 0x61, - 0xc7, 0x43, 0xd6, 0xf1, 0x27, 0xe6, 0xe2, 0xec, 0xd6, 0x83, 0x6a, 0xd9, 0x4a, 0xfc, 0xca, 0xd0, - 0x5f, 0xab, 0x9d, 0xa0, 0xc3, 0xbd, 0x67, 0x6a, 0x73, 0xe2, 0x78, 0xd7, 0x4d, 0x87, 0x89, 0x59, - 0x75, 0x91, 0x69, 0xfe, 0x71, 0x8e, 0x8d, 0x5b, 0x96, 0x2f, 0x06, 0x62, 0x25, 0x44, 0x5e, 0x25, - 0xd2, 0x20, 0x6d, 0xf3, 0xca, 0xce, 0xdf, 0xc0, 0x88, 0x01, 0x21, 0xa5, 0x52, 0xc1, 0xa4, 0xd6, - 0xfe, 0xdb, 0xf7, 0x29, 0x41, 0x7f, 0xe1, 0x79, 0x58, 0x77, 0xdc, 0xf3, 0xfb, 0x6d, 0x45, 0xcd, - 0x8c, 0xfb, 0x0d, 0x1f, 0x20, 0x70, 0x2c, 0x7f, 0x56, 0xb0, 0x2e, 0xff, 0x98, 0x5c, 0x24, 0x6b, - 0xe3, 0xd2, 0xda, 0x78, 0x7f, 0xdf, 0x15, 0x44, 0x99, 0x28, 0x13, 0x41, 0xce, 0xb5, 0x99, 0xa0, - 0x7b, 0xdb, 0x7f, 0xb0, 0x80, 0xca, 0xb4, 0x31, 0xfe, 0xc5, 0x49, 0xaf, 0xf8, 0x8f, 0x36, 0xf8, - 0x6a, 0xba, 0x56, 0x4b, 0x9b, 0xc0, 0x0d, 0x2c, 0xc3, 0x55, 0x6b, 0x4e, 0x8b, 0xcb, 0xf8, 0x3f, - 0xff, 0x53, 0x5c, 0x59, 0xe5, 0xff, 0x05, 0x3f, 0x25, 0xaa, 0xca, 0x3e, 0xcd, 0x7c, 0xb3, 0x16, - 0xea, 0xad, 0xe4, 0x8a, 0x78, 0xff, 0xd2, 0x1d, 0xe5, 0xb7, 0xd7, 0xc7, 0x4e, 0xa3, 0x93, 0xcb, - 0x18, 0xb6, 0xb6, 0xf0, 0x74, 0x01, 0x4b, 0xd7, 0xac, 0x43, 0xc4, 0x4f, 0x6a, 0xa2, 0x73, 0x26, - 0x57, 0x4d, 0xfc, 0x1a, 0xcb, 0x2b, 0x73, 0x8d, 0x36, 0xda, 0xf3, 0x4e, 0x69, 0x31, 0x39, 0x89, - 0xaa, 0xcb, 0xb7, 0xa9, 0xa3, 0x0d, 0xcc, 0xfe, 0x16, 0xb3, 0xf5, 0x6c, 0xc7, 0xc4, 0xbc, 0x99, - 0xa1, 0xad, 0x96, 0x3c, 0xb5, 0x9b, 0x60, 0xb8, 0x4f, 0x43, 0xac, 0x76, 0x2f, 0x1d, 0xce, 0xe9, - 0xda, 0x79, 0x21, 0x4d, 0x79, 0x97, 0x42, 0x77, 0xde, 0xce, 0x94, 0xda, 0xa7, 0x69, 0x27, 0xcf, - 0x88, 0x7f, 0x73, 0x5d, 0x93, 0x0a, 0x64, 0x78, 0x89, 0xc0, 0xbf, 0x39, 0x81, 0x53, 0x59, 0x03, - 0xee, 0x3e, 0x9f, 0x3d, 0x37, 0xb4, 0xd9, 0xab, 0xce, 0x7c, 0x74, 0x95, 0x62, 0xc8, 0xc2, 0x86, - 0x28, 0x40, 0x2c, 0x6d, 0xa6, 0x40, 0x59, 0x9a, 0xf5, 0x3a, 0x9d, 0x18, 0xf8, 0x7b, 0xa8, 0x75, - 0x22, 0x02, 0x02, 0xb3, 0xd3, 0xb7, 0xad, 0x0c, 0x44, 0xc1, 0xee, 0x4c, 0x28, 0x4b, 0xf3, 0x0c, - 0x8d, 0x39, 0x7b, 0xe3, 0x50, 0x3d, 0x3d, 0x50, 0x1f, 0x1c, 0xdc, 0xd5, 0xb4, 0xa9, 0x4a, 0xf1, - 0x6c, 0x5c, 0xe2, 0x71, 0x0b, 0x0f, 0xee, 0x1e, 0x6e, 0x66, 0x49, 0xee, 0x26, 0x96, 0x20, 0x9b, - 0x2e, 0xd6, 0xb8, 0x0d, 0x15, 0xaa, 0x86, 0xdd, 0x64, 0x4b, 0xf8, 0x8e, 0x8f, 0xa7, 0x80, 0xf3, - 0x5c, 0xc1, 0x74, 0x34, 0xe7, 0x55, 0x04, 0xbb, 0xbc, 0x3f, 0x98, 0x17, 0x83, 0xa1, 0x6a, 0x56, - 0xfb, 0x1e, 0xe5, 0xf8, 0x95, 0x2a, 0xa7, 0xdf, 0x6c, 0x17, 0x59, 0x53, 0x06, 0x84, 0x28, 0x80, - 0x78, 0x55, 0x6a, 0x80, 0x10, 0x18, 0xad, 0x04, 0xa7, 0x43, 0xe8, 0x03, 0x42, 0x88, 0x2f, 0x95, - 0x4e, 0x4a, 0x63, 0x02, 0x2b, 0xcb, 0x3a, 0x96, 0x39, 0x4f, 0xbe, 0x46, 0xcd, 0x07, 0x22, 0xe4, - 0xcf, 0x2f, 0x15, 0x0e, 0x67, 0x18, 0x55, 0x9f, 0x04, 0x96, 0xe4, 0x39, 0x1b, 0x9f, 0x14, 0x5c, - 0xc5, 0xbd, 0x5d, 0x58, 0x58, 0xfe, 0x22, 0xbd, 0xe0, 0x46, 0x85, 0x37, 0x04, 0x54, 0xa2, 0xaf, - 0x74, 0xff, 0xa9, 0xb6, 0x95, 0x6f, 0xe6, 0xe0, 0x4a, 0x6b, 0x03, 0x18, 0x3b, 0xec, 0x23, 0xc3, - 0x1d, 0xbf, 0x5a, 0x02, 0x2a, 0x01, 0x62, 0xd4, 0x08, 0xd4, 0xc3, 0xd0, 0xc8, 0x24, 0xa4, 0x56, - 0x18, 0x4e, 0x0a, 0x41, 0x4c, 0x77, 0xd6, 0x90, 0x1d, 0x7c, 0x0e, 0x77, 0x50, 0xa8, 0x43, 0xfb, - 0x47, 0x62, 0x07, 0xf7, 0xc5, 0xf7, 0xb8, 0x2b, 0xd7, 0x20, 0x44, 0x23, 0x6c, 0x1b, 0xa1, 0xac, - 0x7c, 0x68, 0x0f, 0x9a, 0xda, 0xfc, 0x2c, 0x0a, 0x99, 0xbb, 0xd1, 0x05, 0xce, 0x13, 0xe5, 0xc1, - 0xcf, 0x26, 0x90, 0x01, 0x90, 0x55, 0x80, 0xb7, 0x6c, 0x22, 0x50, 0xce, 0x57, 0xf3, 0xba, 0xfe, - 0x98, 0x0b, 0x6e, 0x00, 0x02, 0x7f, 0x4c, 0xa9, 0xea, 0xe6, 0x67, 0x94, 0x08, 0x41, 0x73, 0x11, - 0x47, 0x2b, 0x94, 0x9d, 0xea, 0x57, 0xc0, 0xbd, 0xe9, 0xbb, 0xa7, 0x6a, 0x2c, 0xa5, 0x53, 0xf4, - 0x77, 0x88, 0x59, 0x94, 0x76, 0x9b, 0x7f, 0xec, 0xf9, 0x41, 0x6b, 0xb6, 0x4b, 0xa0, 0xd5, 0xf2, - 0x29, 0xe4, 0x57, 0x43, 0x17, 0xbe, 0xa8, 0x54, 0x6e, 0xa1, 0x99, 0x8c, 0x4d, 0x75, 0x9d, 0x94, - 0x53, 0x58, 0x17, 0x19, 0x4f, 0x24, 0xbf, 0xde, 0xc0, 0x30, 0xcc, 0x7f, 0x74, 0xb4, 0x5d, 0x39, - 0x1a, 0xd6, 0xfc, 0x4a, 0x58, 0xa2, 0xdd, 0x1b, 0xe4, 0x54, 0xfe, 0x25, 0xd6, 0xb2, 0x90, 0xb8, - 0x26, 0x7c, 0xd6, 0xdb, 0x88, 0x5b, 0x97, 0x00, 0x29, 0x26, 0x89, 0xdf, 0x23, 0xe2, 0x8e, 0x58, - 0xaf, 0xed, 0x55, 0x4a, 0x08, 0xdc, 0x98, 0x56, 0x85, 0x1e, 0xfa, 0x9f, 0x95, 0x97, 0xde, 0x94, - 0x75, 0xd5, 0xb4, 0xdb, 0x6d, 0x6e, 0xf6, 0xc7, 0xe8, 0x14, 0x3e, 0x09, 0x33, 0xdb, 0x2f, 0x05, - 0x7f, 0xac, 0xd3, 0x37, 0x65, 0xf7, 0x24, 0x36, 0x4c, 0x93, 0xc5, 0xd6, 0x22, 0xf4, 0x78, 0x72, - 0x83, 0x69, 0x87, 0x38, 0x46, 0x3d, 0xdf, 0x9b, 0x5a, 0x42, 0x1e, 0xda, 0x39, 0xa2, 0x8a, 0x8b, - 0x4d, 0x97, 0xde, 0x2a, 0xd0, 0x9e, 0x31, 0xa3, 0x07, 0x06, 0xb3, 0xe3, 0x60, 0x3b, 0x79, 0xbf, - 0x7a, 0x70, 0x42, 0x97, 0xa8, 0x68, 0xe5, 0x7b, 0xac, 0x44, 0x27, 0xa0, 0x24, 0x78, 0x5a, 0x50, - 0x17, 0xc6, 0xea, 0x74, 0x42, 0x9e, 0x57, 0xcc, 0x3d, 0x14, 0x8b, 0x8f, 0x49, 0x87, 0xef, 0x55, - 0x90, 0xc9, 0xd8, 0x8b, 0x32, 0x60, 0xc5, 0x11, 0x1b, 0xf8, 0x15, 0x6a, 0xca, 0xcb, 0xf6, 0x57, - 0x77, 0xf4, 0x5a, 0x09, 0xdb, 0xb9, 0xbe, 0x82, 0xcb, 0xde, 0xc2, 0xf4, 0xcc, 0x13, 0xb0, 0xfe, - 0xf3, 0x9f, 0xe2, 0x03, 0x35, 0xb0, 0x05, 0x48, 0x6e, 0xf1, 0xb8, 0x08, 0xec, 0x21, 0xf9, 0x45, - 0xf7, 0x46, 0x49, 0x80, 0xdd, 0x5d, 0x0e, 0xa0, 0xd7, 0xed, 0xf2, 0x3a, 0x49, 0x7c, 0x17, 0x8a, - 0x2f, 0x40, 0x4c, 0x9a, 0x16, 0x9f, 0xb6, 0xd9, 0x97, 0x6d, 0x3f, 0x80, 0xf1, 0x1d, 0x48, 0x37, - 0xbc, 0x95, 0x3c, 0x37, 0xc7, 0x40, 0x55, 0xa0, 0xf6, 0x36, 0x15, 0x2c, 0x11, 0x38, 0xa6, 0x54, - 0x9c, 0x3c, 0xbd, 0x04, 0x25, 0xce, 0x28, 0xd1, 0xf5, 0xf9, 0x38, 0x20, 0x78, 0x7c, 0xf7, 0xa1, - 0x60, 0x6f, 0xad, 0x8f, 0x3b, 0xdc, 0x01, 0x93, 0x29, 0xb4, 0xca, 0xf6, 0x5b, 0xee, 0x37, 0x90, - 0x08, 0xfb, 0x3f, 0xe5, 0x6d, 0xb8, 0xfd, 0x4a, 0xe3, 0xca, 0xb8, 0x25, 0x61, 0x5e, 0x52, 0x39, - 0x78, 0x90, 0x2a, 0xf2, 0xfb, 0x0b, 0x8b, 0xf2, 0x68, 0x86, 0x62, 0x2b, 0x58, 0x9d, 0x49, 0x18, - 0x39, 0x05, 0x42, 0xbd, 0xdf, 0x0c, 0xdf, 0x92, 0x4d, 0xde, 0xf7, 0x4b, 0xd9, 0x01, 0xfc, 0xd4, - 0x36, 0x9b, 0x80, 0x48, 0x09, 0xbd, 0x17, 0x0d, 0x52, 0xde, 0xc4, 0x3a, 0x00, 0x94, 0x3a, 0x33, - 0xd5, 0xa1, 0xe1, 0x9b, 0x2e, 0x57, 0x1d, 0xef, 0xcd, 0x7c, 0x5b, 0xf3, 0xec, 0xd8, 0x9e, 0x66, - 0xc9, 0x63, 0xe8, 0xc4, 0xc1, 0xaa, 0x67, 0x7e, 0x67, 0xf1, 0xde, 0x32, 0x05, 0x12, 0x5e, 0xad, - 0x7f, 0xcf, 0xac, 0x1f, 0x18, 0x52, 0xa0, 0xe4, 0x98, 0xa9, 0x15, 0x8a, 0xee, 0x71, 0xc2, 0xa1, - 0xd2, 0xeb, 0xd6, 0x26, 0x53, 0x38, 0x21, 0x91, 0x73, 0x1c, 0x62, 0x8f, 0xab, 0x3b, 0xd8, 0xc9, - 0x88, 0x35, 0x07, 0xaf, 0xfe, 0xf8, 0xc0, 0x72, 0xa8, 0x7b, 0xf3, 0x78, 0xaf, 0x86, 0x06, 0xe9, - 0x7f, 0x39, 0x7f, 0x90, 0x76, 0x69, 0xb6, 0x8e, 0x3b, 0x7e, 0x5e, 0x9b, 0x9f, 0xf8, 0x11, 0xa1, - 0x8e, 0x34, 0x30, 0xde, 0x17, 0x17, 0xd8, 0xea, 0xf2, 0x05, 0x62, 0x7a, 0x1f, 0xbd, 0x6c, 0x13, - 0x9c, 0xe4, 0x96, 0x09, 0xdd, 0x9b, 0xc0, 0x87, 0x5a, 0x6f, 0xc4, 0x99, 0xc6, 0x33, 0xaa, 0x19, - 0x89, 0x79, 0x56, 0x30, 0x11, 0x54, 0xf9, 0x66, 0x20, 0x86, 0x3e, 0x78, 0x24, 0xdf, 0xc3, 0x44, - 0x8c, 0xde, 0xee, 0x52, 0x8c, 0x28, 0x99, 0xac, 0x14, 0x88, 0x25, 0x65, 0x6f, 0x77, 0xba, 0xf9, - 0x92, 0xc6, 0xd6, 0x76, 0xc7, 0xd6, 0xfe, 0x44, 0x5e, 0x1c, 0x73, 0x1b, 0x5b, 0x67, 0x16, 0x7a, - 0x3b, 0x87, 0x0e, 0xaf, 0x11, 0xd4, 0xc0, 0x2f, 0x28, 0x82, 0xe2, 0xeb, 0x81, 0x42, 0x17, 0x67, - 0xec, 0xa6, 0xa7, 0x0a, 0xd6, 0xb5, 0xcb, 0x84, 0xc8, 0xe3, 0xd0, 0x1d, 0xd8, 0x08, 0x05, 0x78, - 0xed, 0xa2, 0x4d, 0xb0, 0x66, 0x54, 0x4a, 0xc3, 0x81, 0x0e, 0xf8, 0x36, 0xc7, 0x89, 0x9b, 0x51, - 0x98, 0x26, 0xd7, 0xd1, 0xdb, 0xca, 0xd3, 0x45, 0xac, 0x8e, 0x01, 0x3c, 0x0c, 0x96, 0x2a, 0x7e, - 0xbb, 0x0e, 0xf0, 0xf4, 0xf6, 0x67, 0x0d, 0xc1, 0x07, 0xd0, 0xd9, 0xc1, 0x60, 0xd5, 0xa8, 0x3e, - 0x11, 0x36, 0xa4, 0x6a, 0x5d, 0x96, 0x37, 0x56, 0xbd, 0x5a, 0x71, 0x01, 0x0a, 0xde, 0xc4, 0xa7, - 0x25, 0x18, 0x6d, 0x5e, 0x06, 0xfc, 0xd5, 0xb5, 0xbe, 0xfb, 0xe6, 0x2e, 0x95, 0xa7, 0x4f, 0x54, - 0xb1, 0xc1, 0xb6, 0xaa, 0xfb, 0xb1, 0x26, 0x74, 0x35, 0x78, 0x42, 0x8d, 0x32, 0xf5, 0x5c, 0x6f, - 0x7c, 0xb8, 0x36, 0xa3, 0x07, 0x11, 0x46, 0x13, 0x97, 0x16, 0x87, 0xd1, 0x60, 0x97, 0xba, 0xca, - 0x5a, 0x92, 0xf2, 0x27, 0x7d, 0xd1, 0xcd, 0x32, 0xaa, 0xfc, 0x1f, 0xcb, 0x9a, 0xc5, 0x8e, 0x65, - 0xe0, 0xae, 0x7c, 0x81, 0xc5, 0x3d, 0xfe, 0x6d, 0xe5, 0xa8, 0x87, 0x04, 0xff, 0xe4, 0x50, 0xa3, - 0x3d, 0x20, 0x0a, 0xc3, 0xd7, 0x4e, 0xb0, 0xf7, 0x0a, 0x03, 0x7a, 0x68, 0xae, 0x71, 0x4a, 0x0f, - 0xee, 0x35, 0x5c, 0x3a, 0x92, 0x21, 0xb0, 0x30, 0xfb, 0x92, 0xad, 0x80, 0xc5, 0x4c, 0x3a, 0x71, - 0x1f, 0x3a, 0xe8, 0x42, 0x3a, 0xa8, 0xe6, 0x04, 0xd6, 0xd3, 0x75, 0x6d, 0x29, 0xa9, 0xb3, 0x15, - 0x7d, 0x0e, 0x88, 0x82, 0xc6, 0x4b, 0x3c, 0xf0, 0x3a, 0x8c, 0x68, 0x96, 0xbf, 0xdd, 0x80, 0xae, - 0x68, 0x4b, 0xe8, 0x05, 0x85, 0xe0, 0x05, 0x8c, 0x42, 0x21, 0xfd, 0xea, 0x3f, 0x9f, 0x79, 0xf8, - 0x03, 0xfc, 0x05, 0x01, 0xf5, 0xd7, 0xdd, 0x55, 0x8b, 0x54, 0xb6, 0xec, 0x72, 0xb1, 0xc4, 0xc9, - 0xe6, 0x68, 0x24, 0xd7, 0x8e, 0xa1, 0x7c, 0x5b, 0xe7, 0x19, 0x5c, 0xfb, 0xf1, 0x39, 0xd4, 0x28, - 0x6d, 0x69, 0xb4, 0x2d, 0xb4, 0xab, 0x98, 0x30, 0x62, 0x20, 0xfc, 0x58, 0xd0, 0x8e, 0x2f, 0x8b, - 0x84, 0xc6, 0x8b, 0xf7, 0xa6, 0x18, 0xae, 0x0c, 0xa5, 0x78, 0x76, 0xb2, 0x83, 0xa3, 0x0b, 0xb3, - 0x9c, 0x71, 0x58, 0x14, 0x71, 0xb1, 0xf3, 0x45, 0xdc, 0x89, 0x46, 0x8c, 0x1f, 0x41, 0x76, 0x0c, - 0x27, 0x0f, 0x3f, 0x52, 0xf4, 0x38, 0xca, 0xa2, 0x1a, 0xfe, 0x49, 0x93, 0x66, 0x94, 0x33, 0xe5, - 0x48, 0x75, 0xeb, 0xfb, 0x0c, 0xfa, 0x25, 0xa1, 0xdb, 0x5b, 0x66, 0x69, 0x17, 0x3e, 0x78, 0xa7, - 0x7b, 0x25, 0xc2, 0xda, 0xe4, 0x60, 0xd2, 0x8a, 0xb6, 0xed, 0xd0, 0xd6, 0xc3, 0x2c, 0x85, 0xa6, - 0x9f, 0xf6, 0x60, 0xf2, 0x74, 0x02, 0xb6, 0x02, 0x3b, 0xbd, 0x62, 0x17, 0x97, 0x13, 0x1b, 0x12, - 0x0b, 0x09, 0xb4, 0x95, 0x43, 0x72, 0xcc, 0xcd, 0xa4, 0x73, 0xdb, 0xbd, 0xfd, 0xc7, 0x7c, 0xd5, - 0x1c, 0x30, 0xe8, 0x85, 0x96, 0x2b, 0x80, 0x2a, 0xb1, 0x19, 0x19, 0xe7, 0x41, 0x18, 0x50, 0xce, - 0x5b, 0x9e, 0x8e, 0xdb, 0x11, 0x9d, 0x28, 0x60, 0x8e, 0x48, 0xe4, 0x54, 0xdc, 0xc9, 0xed, 0x5d, - 0x48, 0x0b, 0x4f, 0x28, 0xef, 0xeb, 0x0d, 0x61, 0x0b, 0xc0, 0x9e, 0x61, 0xce, 0xbf, 0xb9, 0xa3, - 0x27, 0x36, 0xe5, 0xb7, 0x98, 0x06, 0xce, 0x98, 0x9e, 0xca, 0x72, 0xf6, 0xc3, 0xc6, 0x6f, 0x8c, - 0xe0, 0x2b, 0x07, 0xeb, 0x63, 0x3f, 0xca, 0x53, 0x63, 0xd0, 0x5c, 0x4b, 0x9a, 0x98, 0x8f, 0xd8, - 0x8a, 0x4f, 0x49, 0x9b, 0xd5, 0x86, 0x7c, 0x48, 0xe1, 0x4f, 0xa6, 0x30, 0xfb, 0xc8, 0xe9, 0x0f, - 0x10, 0x47, 0xfd, 0x80, 0x25, 0x5b, 0xbe, 0x6a, 0x7b, 0x52, 0x0c, 0x33, 0x75, 0xc0, 0xaf, 0xfe, - 0x0b, 0x17, 0x5d, 0x41, 0x8e, 0x73, 0xb7, 0x4b, 0x5a, 0x5b, 0x45, 0x48, 0x63, 0x4d, 0x2a, 0xce, - 0x81, 0xfe, 0x61, 0xac, 0x80, 0xeb, 0x96, 0x9b, 0xf8, 0xfa, 0x1f, 0x0f, 0x61, 0x12, 0x35, 0xe2, - 0x3b, 0x0d, 0xa6, 0x6d, 0x51, 0x6a, 0xa2, 0xa0, 0xbb, 0x6d, 0xe0, 0x56, 0x91, 0x8f, 0xdb, 0xa6, - 0x48, 0xfd, 0xc6, 0x84, 0xa4, 0xdc, 0x23, 0x95, 0x85, 0x97, 0x6e, 0x26, 0x5a, 0xb4, 0x1a, 0xed, - 0xf8, 0x76, 0xa0, 0x0a, 0xdd, 0xc7, 0xf9, 0x8e, 0x5e, 0x83, 0xef, 0x11, 0xc8, 0xcb, 0x94, 0x0c, - 0xce, 0x19, 0x78, 0xae, 0x8a, 0x6e, 0x4a, 0x80, 0x86, 0xca, 0x82, 0x64, 0x68, 0x13, 0x0a, 0xb3, - 0x2e, 0x95, 0x65, 0xd8, 0x78, 0x79, 0xb5, 0x29, 0xe7, 0x7d, 0x9a, 0x60, 0x46, 0x34, 0xbc, 0x75, - 0xbb, 0x1f, 0x89, 0xdb, 0x84, 0x3f, 0x51, 0x15, 0x0c, 0xa8, 0x5e, 0x2e, 0xac, 0xb6, 0xf2, 0xa6, - 0xa2, 0xa8, 0xed, 0xc2, 0x7d, 0x26, 0xa0, 0x6f, 0x09, 0x45, 0x7c, 0x09, 0xa1, 0x6b, 0x5c, 0xd8, - 0x78, 0x50, 0x33, 0x72, 0xc6, 0xd4, 0x1e, 0xd0, 0x21, 0x27, 0x76, 0x60, 0x1c, 0xfe, 0x7c, 0x19, - 0x32, 0x11, 0x85, 0xac, 0x2c, 0xa8, 0x50, 0x9f, 0xdd, 0x79, 0x29, 0x0c, 0x03, 0x2c, 0x93, 0x82, - 0x34, 0x7c, 0x95, 0xc2, 0xa2, 0xf6, 0x34, 0x64, 0x97, 0x97, 0x55, 0x4a, 0xda, 0xd3, 0xa6, 0x4d, - 0xf7, 0x7d, 0x67, 0x2d, 0x83, 0x5b, 0xf3, 0x6b, 0x25, 0x39, 0xf6, 0xf5, 0xf8, 0x4b, 0x1e, 0xeb, - 0xd3, 0x2f, 0xb1, 0xdb, 0xab, 0x94, 0x86, 0xb0, 0xa2, 0x23, 0xc0, 0xe6, 0xf0, 0xa7, 0xf2, 0x4a, - 0x45, 0xa6, 0x55, 0x67, 0x6d, 0x6a, 0x48, 0x8a, 0x7a, 0x27, 0x6d, 0xa0, 0xd7, 0xc4, 0x0f, 0x3d, - 0x29, 0xd3, 0x9b, 0x7a, 0xf3, 0x72, 0xe6, 0xa9, 0x1f, 0x08, 0x1b, 0x9b, 0x77, 0x39, 0x44, 0x72, - 0xd1, 0x37, 0x58, 0xe9, 0x60, 0xcc, 0xfc, 0xc8, 0xad, 0x07, 0x32, 0x9b, 0x19, 0x1d, 0x3d, 0x42, - 0xab, 0xbb, 0x77, 0xea, 0x6b, 0x07, 0x60, 0xae, 0x6e, 0x6e, 0x4a, 0x3d, 0x77, 0xf1, 0x8b, 0x18, - 0xe3, 0x11, 0x41, 0x90, 0x48, 0x74, 0x66, 0x6f, 0xcd, 0x14, 0xea, 0xd8, 0xa5, 0xa9, 0x5b, 0xe2, - 0xd9, 0xe6, 0xcd, 0x2a, 0xb5, 0x02, 0xd7, 0x14, 0x78, 0xfc, 0x8e, 0xe1, 0xa3, 0xc0, 0x01, 0xfa, - 0x12, 0x5b, 0x6b, 0x81, 0x80, 0x1d, 0xa7, 0x4f, 0xfc, 0xb4, 0x0f, 0xf3, 0xc4, 0x8b, 0xac, 0x63, - 0x1e, 0xc1, 0xc4, 0x92, 0x43, 0xff, 0xef, 0x96, 0xc0, 0xe7, 0xaf, 0x5e, 0x3c, 0xb3, 0x7e, 0x9f, - 0xe5, 0x8d, 0xdb, 0x4d, 0x09, 0xfd, 0x32, 0xed, 0x6d, 0xf9, 0xf8, 0x4e, 0x25, 0x88, 0x52, 0x94, - 0x55, 0xf5, 0x5f, 0xb7, 0xa7, 0x70, 0xaa, 0x1f, 0x5d, 0xd1, 0xbf, 0x12, 0xf1, 0x00, 0x73, 0x30, - 0x94, 0x6c, 0x2e, 0x15, 0x8b, 0xcf, 0x75, 0x21, 0x16, 0x95, 0xbc, 0x96, 0x89, 0xb5, 0x8d, 0x78, - 0xe2, 0xba, 0xcd, 0xae, 0x2d, 0x90, 0x03, 0x95, 0x7d, 0x5f, 0x75, 0xbd, 0xc4, 0xb9, 0xbf, 0x28, - 0x5f, 0xf2, 0x3e, 0x05, 0x7e, 0xf7, 0x33, 0xa7, 0x8f, 0xdf, 0x45, 0x71, 0x8f, 0x64, 0x66, 0x81, - 0x63, 0x16, 0x8d, 0x08, 0x53, 0x2c, 0xc8, 0x2f, 0x88, 0xdc, 0xa0, 0xc8, 0x21, 0xfe, 0x15, 0x81, - 0x29, 0xaf, 0xce, 0xa4, 0x1e, 0x59, 0xa9, 0x67, 0x48, 0x5d, 0x19, 0xf3, 0xf1, 0x12, 0xbf, 0x00, - 0xd0, 0xdf, 0x42, 0x87, 0xf7, 0x5a, 0xab, 0x75, 0x5a, 0x4f, 0x46, 0x2a, 0x84, 0xfa, 0x2e, 0xf1, - 0x43, 0xbb, 0x66, 0xe4, 0x77, 0x68, 0x96, 0xed, 0x8c, 0x6e, 0x6b, 0x72, 0xd8, 0xc3, 0xbb, 0x51, - 0x76, 0x1a, 0x49, 0xba, 0xc7, 0xb6, 0xf4, 0x83, 0xc4, 0x9b, 0xbb, 0x35, 0x97, 0x44, 0xff, 0xa0, - 0x31, 0xd6, 0xbf, 0x80, 0x44, 0x2e, 0xd6, 0x52, 0x6c, 0xbd, 0x5d, 0xca, 0xe5, 0x8c, 0xba, 0x65, - 0x5f, 0x7f, 0x29, 0x06, 0x26, 0x53, 0xd2, 0xca, 0xe6, 0xba, 0x48, 0xb4, 0x9d, 0x5f, 0x52, 0x4e, - 0xa5, 0x76, 0xb5, 0xdb, 0xf9, 0xe1, 0xa0, 0xf6, 0x18, 0x6e, 0x18, 0x6c, 0x5d, 0x21, 0xff, 0x46, - 0xea, 0xcb, 0xc8, 0x9a, 0x11, 0x28, 0xe4, 0x90, 0x99, 0x26, 0x1e, 0xb7, 0xf4, 0x77, 0x74, 0xda, - 0xad, 0x34, 0xb4, 0xbc, 0x36, 0x40, 0x39, 0x5f, 0xae, 0xe9, 0x75, 0x2f, 0x97, 0x8d, 0x23, 0xda, - 0xf9, 0xe6, 0x4d, 0xf6, 0x8d, 0x40, 0xf7, 0x0d, 0x27, 0xb1, 0x76, 0x58, 0x3c, 0xd4, 0xb4, 0x01, - 0xf6, 0xd4, 0x63, 0x63, 0x02, 0xcf, 0x38, 0x29, 0xbc, 0x0b, 0xd3, 0x14, 0x02, 0xa0, 0xc5, 0x03, - 0xaf, 0x1a, 0x7f, 0x89, 0xfc, 0xe1, 0x74, 0xdf, 0xb5, 0x51, 0x13, 0x41, 0x3f, 0x18, 0x3b, 0xfb, - 0x0f, 0x30, 0xa8, 0x1c, 0x3f, 0x26, 0x8c, 0xd7, 0xf8, 0x2b, 0x01, 0xed, 0xdb, 0xfb, 0xb0, 0xde, - 0xa5, 0x7f, 0xe2, 0x01, 0x8b, 0xdb, 0x03, 0x76, 0x15, 0xde, 0xca, 0xdc, 0xf0, 0x47, 0x25, 0xbb, - 0x1b, 0x66, 0xcb, 0x57, 0x8d, 0x18, 0x5b, 0x34, 0xbd, 0xb4, 0xa5, 0xc1, 0xc6, 0xf2, 0x3a, 0xf2, - 0xe3, 0x99, 0x54, 0x3b, 0xea, 0xb3, 0x34, 0xdd, 0xb8, 0x90, 0xdb, 0xb1, 0x1f, 0x1a, 0x08, 0xc4, - 0xdb, 0x90, 0xc9, 0xb5, 0xa9, 0x4c, 0x6b, 0x69, 0x32, 0xab, 0x82, 0x13, 0xaf, 0x13, 0x3f, 0x47, - 0x15, 0xcf, 0xd5, 0x0b, 0x2c, 0xd2, 0x13, 0x54, 0x72, 0xa2, 0xfd, 0x9b, 0x0b, 0x92, 0xd0, 0xaa, - 0x28, 0xcf, 0x32, 0xe4, 0x12, 0x79, 0x23, 0x01, 0x79, 0xf6, 0x3a, 0x32, 0x93, 0xe7, 0xdf, 0xfe, - 0x10, 0x4e, 0xe5, 0xb1, 0x12, 0xb4, 0xff, 0x1f, 0xa8, 0x38, 0x84, 0x83, 0xa6, 0xec, 0x28, 0x39, - 0x7f, 0x25, 0xfd, 0x81, 0x42, 0xdb, 0xca, 0x81, 0x19, 0xca, 0xbc, 0x66, 0x3f, 0xde, 0xe6, 0x89, - 0x17, 0x90, 0x61, 0x1b, 0xc9, 0xcd, 0xa9, 0x7e, 0x59, 0x9f, 0xde, 0x06, 0xa4, 0xa6, 0x1f, 0xc4, - 0x60, 0x41, 0x2f, 0x66, 0xd0, 0x63, 0xea, 0x12, 0x39, 0x7b, 0x1d, 0x68, 0x97, 0x2d, 0x69, 0x92, - 0xef, 0x30, 0x1e, 0x85, 0x99, 0x29, 0xfb, 0xe5, 0xc6, 0x4b, 0x27, 0x9a, 0xfa, 0x40, 0x69, 0x81, - 0xf4, 0x06, 0x2d, 0x4c, 0x86, 0xb1, 0xf1, 0x25, 0x90, 0x88, 0x9e, 0xdf, 0xec, 0x69, 0xd5, 0x2c, - 0x09, 0x18, 0x23, 0xc6, 0x97, 0xbb, 0xb2, 0x58, 0x86, 0x4c, 0xac, 0xd8, 0x58, 0x4e, 0xdd, 0x45, - 0x7d, 0x0a, 0x11, 0x06, 0xe8, 0x0d, 0xf5, 0x09, 0x36, 0x3f, 0x80, 0x49, 0xd9, 0xa9, 0x77, 0xc3, - 0xb3, 0x79, 0xce, 0x14, 0x3f, 0x84, 0x20, 0x55, 0xd0, 0x24, 0xfd, 0x6c, 0x1b, 0xd9, 0x80, 0x48, - 0x01, 0x7f, 0xb0, 0x3a, 0xc6, 0x8c, 0x53, 0x74, 0x55, 0xee, 0x22, 0x85, 0x4f, 0x0b, 0x57, 0xfe, - 0x90, 0x92, 0xe3, 0xdb, 0xcc, 0xcc, 0xce, 0x3d, 0x03, 0x31, 0xf5, 0xba, 0x80, 0xfb, 0xae, 0x45, - 0xb2, 0xe0, 0xbe, 0x03, 0x14, 0x1f, 0x55, 0x47, 0x3d, 0x7e, 0xed, 0xac, 0x66, 0x46, 0x05, 0x9b, - 0xab, 0xa4, 0x7f, 0xbd, 0x80, 0x8c, 0xbd, 0x96, 0x5b, 0x2c, 0x99, 0xfd, 0x63, 0xae, 0xd7, 0xf1, - 0x24, 0xdc, 0x93, 0x16, 0xd6, 0x4c, 0xec, 0x46, 0x4a, 0x2e, 0x6e, 0x34, 0x5f, 0x5a, 0x29, 0x55, - 0x4b, 0x81, 0x51, 0xcb, 0x6a, 0xe8, 0x28, 0xbf, 0x9c, 0x36, 0x23, 0x15, 0xbd, 0x4b, 0xf2, 0xe0, - 0x13, 0x48, 0xf0, 0xa7, 0x37, 0x40, 0xd2, 0xf0, 0x9e, 0x69, 0x34, 0x27, 0x55, 0xa0, 0xa3, 0x60, - 0x5e, 0xc1, 0xa3, 0x56, 0x3a, 0x36, 0x66, 0xef, 0x1a, 0xf2, 0x72, 0x55, 0xf5, 0x38, 0x75, 0xec, - 0x83, 0xdc, 0x38, 0x82, 0x47, 0x60, 0x3c, 0xe5, 0xce, 0xe0, 0xe5, 0x62, 0xdf, 0xa8, 0x02, 0xff, - 0xa3, 0x53, 0x2e, 0x74, 0xd2, 0x25, 0x9e, 0x98, 0x09, 0xc0, 0x82, 0x12, 0x90, 0xf0, 0xdf, 0x77, - 0xae, 0x3d, 0x5b, 0x43, 0x81, 0x56, 0x16, 0x6b, 0xda, 0x88, 0x41, 0x13, 0x78, 0x89, 0xda, 0x93, - 0xbb, 0x72, 0x97, 0x5d, 0xed, 0xfb, 0x1b, 0xbf, 0x98, 0xa7, 0x12, 0x42, 0xb3, 0x83, 0x39, 0x13, - 0x6b, 0xca, 0xc3, 0x6d, 0x49, 0x88, 0x01, 0xab, 0x00, 0xef, 0x88, 0xbb, 0x73, 0x98, 0x46, 0x3a, - 0x3f, 0x60, 0x11, 0xbd, 0x42, 0xec, 0xea, 0x34, 0xc7, 0xfe, 0xee, 0xa5, 0x1b, 0x90, 0x14, 0x98, - 0xff, 0x1d, 0x00, 0x83, 0xeb, 0x03, 0xbb, 0xc9, 0x47, 0x44, 0x7c, 0x2a, 0xb2, 0x44, 0x49, 0xde, - 0x77, 0xc0, 0x34, 0x51, 0xf4, 0x3d, 0x5d, 0x6d, 0x3e, 0x6c, 0xd7, 0x04, 0x18, 0x33, 0x9b, 0x93, - 0x54, 0xbd, 0x68, 0x65, 0xb6, 0x55, 0xcc, 0x36, 0x69, 0x8e, 0x7a, 0x8e, 0xca, 0x02, 0x81, 0x2e, - 0x70, 0x75, 0x6b, 0x77, 0x1a, 0x16, 0x81, 0xdc, 0x37, 0xa8, 0xe9, 0xe9, 0x96, 0x8e, 0xf9, 0x68, - 0x11, 0x02, 0x8e, 0x74, 0x11, 0xae, 0x59, 0x4b, 0x0b, 0xde, 0x39, 0x2c, 0xe4, 0x47, 0x41, 0x5f, - 0x14, 0x09, 0x4a, 0x3c, 0x77, 0xf7, 0x2d, 0xd2, 0x3b, 0xc7, 0x96, 0x2f, 0xf2, 0x90, 0x5b, 0x5c, - 0x48, 0x0b, 0x8e, 0x67, 0x2d, 0xdd, 0xa2, 0xc2, 0x8b, 0x8d, 0xb4, 0xb1, 0x26, 0xa2, 0x7a, 0x2c, - 0x27, 0x8e, 0xff, 0x63, 0x38, 0x3e, 0xdf, 0x6d, 0x81, 0xad, 0x07, 0x7b, 0x5e, 0x9e, 0xf9, 0x03, - 0x23, 0x06, 0x78, 0x3a, 0x28, 0xc7, 0x46, 0x37, 0x87, 0x34, 0xcb, 0x69, 0x31, 0xff, 0xb5, 0x50, - 0x99, 0xed, 0xfd, 0xac, 0xb3, 0xf6, 0x99, 0xf1, 0x6a, 0xff, 0x16, 0x4d, 0x17, 0xd0, 0xac, 0x01, - 0x45, 0x54, 0x44, 0x64, 0x0b, 0x3f, 0x21, 0xec, 0x6c, 0x30, 0xca, 0x31, 0xec, 0xc6, 0x47, 0xa1, - 0x30, 0x25, 0x86, 0x9e, 0x27, 0xce, 0x6b, 0xa1, 0x77, 0x29, 0x7a, 0xf7, 0xe6, 0x3b, 0xe8, 0x94, - 0xbf, 0x99, 0xcf, 0x6b, 0x1c, 0x83, 0x33, 0xda, 0xdc, 0x61, 0xd2, 0x85, 0x2d, 0x88, 0xdb, 0x98, - 0x0d, 0x57, 0xb7, 0x19, 0xa5, 0x49, 0x84, 0xd6, 0xca, 0xbb, 0xba, 0xea, 0x0d, 0x15, 0xb7, 0x0d, - 0xb2, 0x6e, 0xb6, 0xb6, 0xdd, 0xd8, 0xc7, 0x3c, 0x8e, 0x00, 0x36, 0x5d, 0x4e, 0x9d, 0x9c, 0xdc, - 0xd6, 0x7b, 0x51, 0x7a, 0x1c, 0x82, 0x2d, 0x1d, 0x86, 0x8a, 0x5a, 0xcd, 0x52, 0x84, 0x74, 0x60, - 0xe5, 0x8f, 0x4e, 0x12, 0x51, 0x65, 0x10, 0x70, 0x20, 0x99, 0x20, 0xb6, 0x65, 0x4a, 0x4b, 0xb1, - 0xb5, 0x9c, 0x27, 0xdb, 0x06, 0xa9, 0xbd, 0x49, 0x90, 0x7f, 0x1d, 0x42, 0x51, 0x79, 0x97, 0x98, - 0x21, 0xbd, 0xa2, 0x22, 0xcb, 0xe6, 0x82, 0xe9, 0x47, 0x87, 0x55, 0x5a, 0x62, 0x8f, 0x61, 0x00, - 0x8f, 0x5c, 0xd1, 0x20, 0x0f, 0x1b, 0xb4, 0xe7, 0x2e, 0xbc, 0x38, 0x11, 0x98, 0x33, 0xca, 0x46, - 0xa4, 0x37, 0x81, 0xbc, 0xc0, 0xa7, 0xae, 0xbf, 0xe1, 0x02, 0x8e, 0x9c, 0x15, 0x31, 0xc3, 0x19, - 0x1f, 0x77, 0xed, 0x62, 0x8f, 0x89, 0xb5, 0x21, 0x09, 0xcd, 0xbc, 0x4b, 0xb3, 0x8b, 0xe1, 0x3a, - 0x3b, 0xf3, 0x07, 0x0f, 0xed, 0x1f, 0xd2, 0xf4, 0x5b, 0x1e, 0xe0, 0xd1, 0xdd, 0x58, 0x5e, 0x86, - 0xda, 0x7e, 0x0b, 0xf8, 0x5c, 0x15, 0xf4, 0x39, 0x35, 0x25, 0x41, 0x5e, 0x21, 0x03, 0x02, 0x55, - 0x0a, 0x39, 0x1e, 0x53, 0xb3, 0x30, 0xc5, 0xa6, 0xc0, 0xde, 0xbf, 0x83, 0x77, 0x51, 0x84, 0x02, - 0x1f, 0x0a, 0x18, 0x84, 0xfe, 0x43, 0x83, 0x02, 0xea, 0x5a, 0xed, 0xeb, 0x30, 0x73, 0x09, 0x8c, - 0xbf, 0xf7, 0x17, 0xf9, 0x5d, 0xfa, 0x09, 0x3e, 0xdc, 0xd6, 0x8d, 0x02, 0x59, 0xe4, 0x3b, 0x7d, - 0x7c, 0xad, 0xea, 0x42, 0xae, 0xd7, 0xec, 0x11, 0x78, 0xad, 0x94, 0xc6, 0x21, 0xd4, 0x8c, 0x91, - 0x5b, 0x81, 0xd9, 0xaf, 0x13, 0x12, 0xd6, 0x2c, 0xc9, 0x31, 0xb8, 0x12, 0xe9, 0xc9, 0x4a, 0xaf, - 0xdf, 0xed, 0x3a, 0xb4, 0x3e, 0x66, 0x88, 0x59, 0xbb, 0xbe, 0x15, 0x8c, 0xcf, 0x7e, 0xe5, 0x03, - 0xfa, 0x4a, 0x61, 0x03, 0xee, 0xeb, 0x7a, 0x54, 0xaf, 0xfd, 0x54, 0xb5, 0xf0, 0x10, 0xea, 0x8a, - 0x80, 0xd9, 0xbf, 0x1d, 0x60, 0xf6, 0xd5, 0xc1, 0x7d, 0x4d, 0x67, 0x28, 0xce, 0xfb, 0x81, 0x14, - 0x47, 0x82, 0x85, 0x43, 0x2e, 0xc4, 0x3f, 0xb6, 0xdd, 0x62, 0xda, 0x65, 0xe8, 0x02, 0xb2, 0x2d, - 0xb9, 0xd1, 0x54, 0x5b, 0xa2, 0xc6, 0xc6, 0xf0, 0xef, 0xb7, 0x1d, 0xb0, 0xec, 0x5e, 0x2c, 0x73, - 0x9b, 0x01, 0x56, 0xec, 0x82, 0x37, 0xd3, 0x1e, 0x29, 0x67, 0x13, 0xf1, 0x69, 0xe6, 0xe9, 0xe2, - 0xcc, 0xab, 0xb2, 0x2c, 0x02, 0x3a, 0xf4, 0x80, 0x4a, 0x61, 0xfa, 0xef, 0xef, 0x49, 0xe3, 0xc1, - 0x24, 0x6b, 0x91, 0x3f, 0xa1, 0x5e, 0x7a, 0xb7, 0x2d, 0xa1, 0x85, 0xae, 0xe3, 0x80, 0x3e, 0x7c, - 0x19, 0x93, 0x76, 0x33, 0x8c, 0x42, 0x64, 0xef, 0x3f, 0x32, 0x6e, 0xab, 0x0e, 0x6c, 0xe3, 0x3a, - 0x53, 0x4e, 0xca, 0x4d, 0xb6, 0xfb, 0x14, 0x3c, 0x59, 0xfb, 0x17, 0x21, 0x00, 0xbf, 0xc4, 0x42, - 0x4c, 0x69, 0x04, 0x5f, 0x01, 0x41, 0xa6, 0x93, 0xc5, 0xa6, 0x3a, 0xeb, 0x72, 0x1b, 0x20, 0x9f, - 0x42, 0xfe, 0x9e, 0x60, 0xaa, 0xbf, 0x7c, 0x36, 0x19, 0xa2, 0xe7, 0x8f, 0x86, 0x9a, 0x5d, 0x67, - 0x55, 0x12, 0xdd, 0x29, 0x3d, 0x8e, 0x0a, 0xc1, 0xf1, 0x11, 0x5a, 0x6d, 0x05, 0x95, 0x49, 0xf0, - 0xb5, 0x07, 0xc0, 0xff, 0x14, 0xf5, 0xf0, 0x97, 0x93, 0xe0, 0x45, 0x01, 0x30, 0xf6, 0xc2, 0x27, - 0x7a, 0xd1, 0x2b, 0x77, 0x7c, 0xed, 0xa6, 0x77, 0xad, 0x86, 0x4c, 0x7d, 0x6c, 0xa8, 0xd2, 0x04, - 0x7a, 0x93, 0xac, 0x04, 0xff, 0x20, 0x4e, 0xd9, 0x79, 0x98, 0xa5, 0x75, 0xa2, 0xa1, 0xd8, 0x37, - 0xce, 0x2b, 0xc3, 0xb2, 0xf6, 0xe0, 0x2c, 0x2e, 0x2f, 0x3c, 0x9b, 0x19, 0x6a, 0xb2, 0xfc, 0x6e, - 0xc2, 0x40, 0x90, 0xa5, 0x53, 0x3b, 0x59, 0xde, 0x0e, 0xee, 0xd0, 0x70, 0xef, 0x43, 0x73, 0x45, - 0x9e, 0xaf, 0xfd, 0xbf, 0x64, 0xcc, 0x57, 0xa5, 0xcb, 0xb5, 0x3c, 0x54, 0x24, 0xc8, 0x32, 0xea, - 0xe8, 0x4d, 0x3d, 0x3f, 0x74, 0x61, 0xef, 0x0d, 0x52, 0xae, 0x08, 0xf6, 0x44, 0x8f, 0x17, 0x7b, - 0xa3, 0xcf, 0x0b, 0x33, 0xa1, 0x13, 0xb0, 0x68, 0x1a, 0x39, 0xf1, 0xfb, 0x6a, 0x12, 0xbc, 0x41, - 0x8d, 0xc5, 0x2a, 0x7e, 0xba, 0x81, 0xb2, 0x8d, 0x23, 0x5e, 0xd0, 0xd3, 0x26, 0x3a, 0x90, 0x9c, - 0x2b, 0x63, 0xd4, 0xf1, 0xba, 0x28, 0x47, 0x3b, 0x0e, 0xb3, 0xfc, 0xda, 0x98, 0x10, 0x3f, 0x72, - 0xcb, 0x31, 0x05, 0x57, 0x19, 0x35, 0x61, 0xac, 0x58, 0x02, 0xb7, 0x50, 0x9f, 0xdc, 0xfe, 0x8f, - 0x7b, 0x7a, 0xbf, 0xe3, 0xb2, 0x2c, 0x6c, 0xde, 0x49, 0x29, 0xc1, 0x27, 0xc2, 0xd5, 0xef, 0x6b, - 0x0a, 0x5a, 0x80, 0x38, 0xd4, 0x46, 0xc7, 0x9e, 0x32, 0xfd, 0xc9, 0x51, 0xde, 0xde, 0xb8, 0x4e, - 0x89, 0xee, 0x97, 0x7c, 0xda, 0x7d, 0xde, 0x0b, 0x42, 0xf7, 0x18, 0x52, 0xb8, 0x9e, 0x92, 0x55, - 0x0d, 0xf9, 0x50, 0x76, 0x70, 0xec, 0x49, 0xf8, 0x89, 0xae, 0xf1, 0x63, 0x77, 0x35, 0x8a, 0x7c, - 0xbf, 0x35, 0x50, 0xb8, 0x90, 0x40, 0x69, 0x40, 0x63, 0x4e, 0x32, 0x19, 0xa3, 0xa5, 0xc0, 0x67, - 0x59, 0x54, 0x15, 0x9b, 0x43, 0x29, 0x38, 0x7e, 0xcc, 0xa2, 0x3f, 0x0f, 0xe8, 0xee, 0x14, 0x99, - 0xef, 0x09, 0x7e, 0xf4, 0xc9, 0xb4, 0x84, 0x36, 0xa4, 0x51, 0x46, 0x63, 0xdc, 0x46, 0xbc, 0x0e, - 0xc6, 0x49, 0xff, 0xec, 0x94, 0x0a, 0x2c, 0x14, 0x43, 0xcc, 0x24, 0x35, 0xb0, 0x76, 0x4b, 0xf6, - 0xa0, 0x15, 0x32, 0x0c, 0x47, 0xfd, 0x8e, 0xcb, 0x03, 0xc4, 0xd4, 0x76, 0xa9, 0x0e, 0xb3, 0x55, - 0xf6, 0xd4, 0x16, 0xc1, 0x6f, 0xf7, 0x8d, 0xc9, 0xc2, 0x0d, 0xac, 0xa6, 0xfc, 0x6c, 0xf4, 0xb6, - 0x5c, 0x70, 0xf4, 0x37, 0xe5, 0x55, 0x8d, 0xfc, 0xd3, 0xc7, 0xb2, 0xae, 0xaa, 0xd5, 0x1f, 0xbc, - 0x9e, 0xba, 0x8e, 0xb1, 0x24, 0x2e, 0xf9, 0x5b, 0x01, 0xf5, 0x52, 0xca, 0x2e, 0xec, 0x03, 0xa7, - 0xb9, 0xf4, 0xf6, 0x62, 0x4e, 0x56, 0x28, 0x61, 0x73, 0x41, 0x51, 0x65, 0xe1, 0xa2, 0xce, 0x10, - 0x4c, 0x0d, 0x60, 0xf4, 0x74, 0xed, 0x92, 0x2b, 0x96, 0xa6, 0x13, 0x77, 0x6f, 0x74, 0x24, 0x6e, - 0x26, 0x29, 0x91, 0x3f, 0x28, 0xda, 0xc0, 0xd4, 0x92, 0x36, 0x01, 0x8c, 0x6f, 0xb7, 0x9f, 0x20, - 0x28, 0x30, 0x12, 0xd4, 0x6e, 0x4a, 0x65, 0xa2, 0x73, 0x0d, 0xf3, 0x4e, 0x91, 0x21, 0xfe, 0xb0, - 0x75, 0x0f, 0x44, 0x37, 0xdc, 0x96, 0x93, 0xe2, 0x5c, 0x03, 0xd7, 0xb9, 0x45, 0x22, 0x17, 0x8d, - 0xdc, 0xcf, 0x4f, 0x0b, 0x72, 0x2d, 0x72, 0xda, 0x22, 0xf3, 0x1a, 0xba, 0x7a, 0xf1, 0x4c, 0xae, - 0xd4, 0xe6, 0x1b, 0x7d, 0x40, 0x64, 0xcf, 0xf3, 0x9f, 0xc0, 0x02, 0x26, 0x84, 0x86, 0x33, 0x50, - 0xda, 0x2a, 0x7c, 0x7c, 0xad, 0xc4, 0x3a, 0x10, 0x42, 0xfd, 0xae, 0x7f, 0x82, 0xf7, 0xfc, 0x90, - 0x17, 0xc1, 0xe8, 0x0d, 0x7c, 0x8e, 0x38, 0x43, 0xb5, 0xfa, 0x82, 0x66, 0x2e, 0xe3, 0x20, 0xc9, - 0x17, 0x6e, 0x3d, 0xc8, 0xb7, 0x3b, 0x72, 0xaa, 0x4c, 0x0d, 0x64, 0xb9, 0x6e, 0xa6, 0xa9, 0x03, - 0x7c, 0xdb, 0x03, 0x4c, 0x8a, 0xe8, 0x59, 0xe6, 0x8b, 0x88, 0x89, 0x26, 0x2f, 0x08, 0xb2, 0xa1, - 0x93, 0xdd, 0x04, 0x2f, 0xd1, 0xf3, 0xbc, 0x82, 0x62, 0xd0, 0xec, 0x63, 0xd4, 0xb8, 0x30, 0xc7, - 0xfd, 0xd5, 0xc8, 0x72, 0x39, 0x2e, 0xae, 0x8c, 0xb2, 0xd0, 0x2b, 0x4b, 0xb2, 0x06, 0xee, 0xc3, - 0xcc, 0xd4, 0xc4, 0x98, 0x98, 0x5c, 0xd2, 0x64, 0x73, 0x5a, 0x31, 0x12, 0x61, 0x3a, 0x97, 0x10, - 0xbd, 0xd1, 0xbd, 0xed, 0x9c, 0xa2, 0x0e, 0x8e, 0x72, 0x2b, 0x30, 0x5f, 0xdf, 0xd4, 0x85, 0x08, - 0x70, 0xf7, 0x7c, 0xf1, 0x28, 0xf8, 0xcf, 0x74, 0x40, 0x39, 0xf3, 0xa5, 0x08, 0xc1, 0xdf, 0x12, - 0x7f, 0xa9, 0x5d, 0xfd, 0x3c, 0x39, 0x82, 0xe8, 0xcc, 0x73, 0xa7, 0xe1, 0x6b, 0x68, 0x06, 0xb4, - 0x72, 0x25, 0xa6, 0x9d, 0x53, 0xca, 0x91, 0x51, 0x8b, 0xa0, 0x35, 0x5d, 0xfb, 0x17, 0xfd, 0x4d, - 0x52, 0xd5, 0x49, 0x9b, 0x88, 0xe2, 0xa2, 0xaf, 0xb0, 0xee, 0x45, 0xca, 0x10, 0xda, 0x39, 0xb7, - 0x68, 0x8c, 0x8b, 0x04, 0x1f, 0x55, 0x63, 0x7a, 0x09, 0xde, 0x23, 0x6e, 0xd4, 0xe7, 0x3f, 0x8b, - 0x88, 0x9b, 0xd2, 0x44, 0xc1, 0x6f, 0xda, 0x7b, 0xba, 0x0a, 0xd9, 0x37, 0xe1, 0x9b, 0x7c, 0x99, - 0xcf, 0x51, 0x2b, 0x3d, 0x69, 0xbe, 0x6c, 0xf9, 0x52, 0xfe, 0x2c, 0xd3, 0x74, 0xdc, 0x6f, 0xc9, - 0x23, 0x76, 0x66, 0xca, 0x0f, 0xe0, 0x56, 0xc5, 0xf0, 0xfc, 0xe3, 0x7b, 0x29, 0xb1, 0x92, 0x73, - 0xfe, 0xe4, 0x87, 0x48, 0x12, 0x7d, 0xdb, 0x22, 0x33, 0x62, 0x50, 0xd8, 0xaa, 0xd3, 0x55, 0x53, - 0x5c, 0x39, 0x25, 0xbb, 0x9d, 0x11, 0x9a, 0xb2, 0x39, 0x7f, 0x10, 0xb7, 0x17, 0xf1, 0x04, 0x4c, - 0x77, 0x9e, 0xc0, 0x0c, 0x62, 0x2f, 0xbb, 0xc6, 0xb6, 0x5f, 0xe3, 0xa9, 0xd1, 0x5d, 0xb6, 0xe8, - 0x16, 0xee, 0x9a, 0x79, 0x8c, 0x2b, 0xb0, 0xce, 0xc5, 0x8d, 0xce, 0x3e, 0xfb, 0xb8, 0x5c, 0xdb, - 0x6b, 0xf5, 0x38, 0x39, 0xbb, 0xf7, 0x05, 0xa4, 0x60, 0xa5, 0x5d, 0xee, 0x4d, 0x85, 0x1b, 0xf7, - 0x6d, 0xb1, 0x8e, 0x84, 0x45, 0x7a, 0x78, 0x91, 0x77, 0x64, 0x80, 0x2b, 0x4d, 0xcc, 0xb5, 0xb9, - 0xe1, 0xbd, 0x1a, 0x73, 0x35, 0xd3, 0x01, 0xf9, 0x78, 0xf1, 0x4e, 0x19, 0xed, 0x10, 0x14, 0x16, - 0x60, 0xb4, 0x15, 0xf6, 0x1c, 0x4b, 0x57, 0xd7, 0x72, 0x47, 0x19, 0x6a, 0x58, 0xdc, 0x93, 0x47, - 0x74, 0xba, 0x99, 0xe2, 0x1b, 0xe1, 0x27, 0xfd, 0xcd, 0xbc, 0xa5, 0xdc, 0x99, 0x7d, 0x4a, 0x33, - 0x25, 0x27, 0x61, 0x31, 0xee, 0x2c, 0x96, 0xee, 0x6c, 0x43, 0xee, 0x3a, 0x0f, 0x0a, 0x37, 0xd2, - 0xcb, 0xc9, 0xb3, 0x5d, 0x70, 0xf2, 0x0f, 0x0a, 0xed, 0xeb, 0xf6, 0x81, 0xc0, 0xbf, 0x40, 0xfa, - 0xad, 0xdb, 0x84, 0x84, 0x21, 0xdc, 0x0d, 0x29, 0x70, 0x78, 0xfa, 0x15, 0xb8, 0xff, 0x13, 0x43, - 0x49, 0x2a, 0x29, 0xdc, 0xf4, 0x87, 0x33, 0x3e, 0x7b, 0xfc, 0xa4, 0x6f, 0x64, 0x1d, 0xfe, 0x94, - 0x52, 0xf6, 0x2d, 0x2e, 0x5e, 0xc5, 0x82, 0x24, 0x48, 0x3a, 0x40, 0x74, 0xc6, 0xee, 0xe6, 0xb2, - 0xba, 0x4a, 0x83, 0xd6, 0x27, 0x5d, 0x8f, 0x43, 0x92, 0x4b, 0x2f, 0xab, 0x62, 0x3e, 0xd6, 0x44, - 0x32, 0x82, 0x9b, 0x11, 0xcd, 0xe0, 0xba, 0x61, 0x19, 0x90, 0x2a, 0xaf, 0x1d, 0xcd, 0x99, 0xa0, - 0x0a, 0x2f, 0xf0, 0x21, 0x73, 0x2c, 0xc7, 0xc2, 0xcf, 0x45, 0xcf, 0x6e, 0x24, 0xb2, 0xbe, 0xfe, - 0x32, 0x36, 0xf1, 0x47, 0xe3, 0x79, 0x4b, 0xe1, 0xcd, 0xef, 0x9f, 0xfb, 0xd2, 0xc0, 0xc1, 0x41, - 0xc9, 0xb0, 0xf8, 0x1b, 0xc6, 0x30, 0x41, 0xb6, 0xc1, 0x83, 0x16, 0xb0, 0x81, 0xb3, 0xc0, 0xc0, - 0xc4, 0x84, 0x4a, 0xb8, 0x1f, 0x1e, 0x8f, 0x95, 0x70, 0x7a, 0xdb, 0xe8, 0xb2, 0x71, 0xf3, 0xf7, - 0xb4, 0xcb, 0x5e, 0x8b, 0x55, 0xf0, 0x6f, 0x5a, 0x61, 0xe7, 0xd0, 0x6f, 0x08, 0x31, 0xa3, 0xb4, - 0xbb, 0x14, 0xdb, 0xdd, 0xc2, 0x6a, 0x74, 0x0e, 0xd3, 0x59, 0x07, 0x28, 0x10, 0xa8, 0x2d, 0x4d, - 0x46, 0xcc, 0xfd, 0xcf, 0xd8, 0x65, 0x8e, 0xa3, 0x00, 0x8b, 0xd9, 0xf0, 0x5d, 0x21, 0x1e, 0xcc, - 0xbb, 0x2c, 0x4f, 0x8c, 0x7c, 0xd8, 0xe2, 0x91, 0x70, 0x01, 0x1f, 0x2d, 0xeb, 0xa1, 0x17, 0x36, - 0xa5, 0x75, 0x68, 0x9d, 0xe3, 0x2e, 0xd7, 0x4f, 0xe8, 0x6e, 0xe1, 0xeb, 0x3e, 0x42, 0x7f, 0xb1, - 0x29, 0x3f, 0x9c, 0xb5, 0x86, 0x6d, 0xc7, 0x23, 0xcf, 0x23, 0x41, 0x2d, 0x92, 0xdd, 0x34, 0x73, - 0x7f, 0x3f, 0x8f, 0x3a, 0x86, 0x32, 0x91, 0x7d, 0xae, 0xde, 0x11, 0x68, 0x1c, 0x9f, 0x13, 0x71, - 0x17, 0x8f, 0x8e, 0xac, 0xdb, 0x71, 0x15, 0x18, 0x11, 0x96, 0x1e, 0x0b, 0x76, 0x14, 0x4b, 0xce, - 0x7a, 0x6a, 0x92, 0x11, 0xe5, 0x51, 0xc0, 0x5f, 0x54, 0xd0, 0x94, 0x7f, 0x89, 0xb2, 0x0c, 0x60, - 0xe2, 0x9d, 0xf1, 0x87, 0xa8, 0x1c, 0xf4, 0xb0, 0xbe, 0xa4, 0x92, 0x98, 0x73, 0xf9, 0xfe, 0x56, - 0x6d, 0xb9, 0x55, 0x04, 0xad, 0x62, 0x48, 0x0e, 0xd4, 0x8d, 0x83, 0x5f, 0xe3, 0x73, 0x7c, 0xd3, - 0xa8, 0x4a, 0xe3, 0x23, 0x4d, 0x58, 0x62, 0x52, 0x76, 0x4f, 0xf7, 0x6b, 0xb9, 0xc1, 0x63, 0x54, - 0xb8, 0xb1, 0x6f, 0xcd, 0xbb, 0x1f, 0x9a, 0x85, 0x17, 0x32, 0xac, 0xe1, 0x1a, 0xf6, 0x5e, 0x67, - 0x82, 0x19, 0x0d, 0x87, 0x90, 0x80, 0xce, 0xfe, 0x4f, 0x8c, 0xdd, 0xd7, 0x4c, 0x8a, 0xfd, 0x0b, - 0xf9, 0xff, 0x4a, 0x14, 0x01, 0xd2, 0x9d, 0x2a, 0x5b, 0x8f, 0x74, 0x83, 0x00, 0xf9, 0x81, 0x40, - 0x2a, 0x97, 0xfb, 0x9b, 0xf4, 0x31, 0xe6, 0xc3, 0xb3, 0x02, 0x86, 0x83, 0x33, 0x88, 0x5a, 0x31, - 0x45, 0x55, 0xd3, 0x0c, 0xca, 0xe3, 0x94, 0x5d, 0xd7, 0xa1, 0x2b, 0xf8, 0x96, 0xc4, 0xfb, 0x56, - 0xf1, 0x64, 0x00, 0xea, 0xb0, 0x9b, 0x96, 0xbd, 0xf6, 0x3f, 0x68, 0xfa, 0x1a, 0xc3, 0x2f, 0x7a, - 0xe5, 0x27, 0xda, 0x7c, 0x21, 0x16, 0xea, 0x61, 0xb1, 0x20, 0xc7, 0xd8, 0x6b, 0x97, 0xcf, 0x40, - 0x9a, 0x66, 0x98, 0x3d, 0x6a, 0x9e, 0xd1, 0xb3, 0xd4, 0xc8, 0x0d, 0x6c, 0x87, 0x6b, 0xfd, 0x62, - 0x6b, 0x1a, 0xbd, 0xeb, 0x7f, 0x86, 0xea, 0x4c, 0x65, 0x96, 0xba, 0x77, 0x8f, 0x67, 0x36, 0x76, - 0x70, 0x7d, 0xee, 0x79, 0xbd, 0xe3, 0x5b, 0x02, 0x62, 0x15, 0x21, 0xf9, 0x23, 0xeb, 0x89, 0x49, - 0x0e, 0x42, 0xca, 0x2c, 0x23, 0xea, 0xca, 0x72, 0x12, 0x4c, 0x45, 0x4c, 0x43, 0xb4, 0x22, 0xa9, - 0xb4, 0x51, 0xea, 0x17, 0xed, 0x5c, 0x18, 0x68, 0x07, 0x71, 0x4e, 0xe5, 0x0a, 0x6e, 0x30, 0xd2, - 0x46, 0x3a, 0xa0, 0x93, 0xee, 0x13, 0x43, 0xed, 0x72, 0xf8, 0xc8, 0x45, 0xba, 0x04, 0x7f, 0x37, - 0xa4, 0x17, 0x24, 0x33, 0x32, 0x7c, 0x72, 0xf0, 0x2a, 0x09, 0x4d, 0x28, 0xa5, 0x53, 0x7b, 0x04, - 0xe0, 0xc6, 0x97, 0xb2, 0xc7, 0x4f, 0xce, 0x9b, 0xbc, 0x93, 0xcb, 0x49, 0x91, 0xb3, 0xd1, 0xf9, - 0xb9, 0x84, 0x37, 0x63, 0xab, 0xb5, 0xbf, 0x43, 0x3f, 0x2f, 0x32, 0x9c, 0x0b, 0x65, 0xd5, 0x9b, - 0x29, 0x07, 0x7b, 0x44, 0x1a, 0xeb, 0xb4, 0xad, 0xfc, 0xc4, 0xc1, 0x36, 0xd8, 0xe9, 0x05, 0x96, - 0xbb, 0xcc, 0xd5, 0x6d, 0x5b, 0xb6, 0xe1, 0x40, 0xb8, 0x92, 0x5c, 0xc4, 0xc0, 0x09, 0xa1, 0xcd, - 0x67, 0x09, 0xe6, 0x3a, 0xf4, 0x64, 0x6d, 0xf0, 0x85, 0x55, 0xb6, 0xb0, 0xbe, 0xe7, 0xa4, 0xbf, - 0xd2, 0x86, 0xfd, 0x5c, 0xb9, 0xa1, 0x4a, 0x92, 0x39, 0x6e, 0xb2, 0xb7, 0x8f, 0xae, 0xb6, 0xf6, - 0x17, 0xe1, 0x7e, 0xc0, 0xb5, 0x90, 0x80, 0xde, 0xca, 0xc9, 0x75, 0x28, 0xa3, 0x1a, 0x23, 0x61, - 0x0d, 0x08, 0x23, 0x62, 0x9e, 0x8e, 0xb5, 0x25, 0x52, 0x69, 0xda, 0x5f, 0x57, 0xba, 0xdb, 0x85, - 0x29, 0xae, 0x09, 0x59, 0xd8, 0x7d, 0xd0, 0x21, 0xad, 0x21, 0x58, 0x47, 0x46, 0xea, 0x92, 0x81, - 0x75, 0x8b, 0xc5, 0xe9, 0xee, 0x98, 0xd0, 0xb7, 0xfe, 0x01, 0x54, 0x77, 0x80, 0xa2, 0x4a, 0xdd, - 0x48, 0x53, 0x78, 0x82, 0xf2, 0x73, 0xfd, 0x97, 0x47, 0xa7, 0xd9, 0x46, 0xcf, 0x6a, 0xb2, 0x99, - 0x22, 0x8f, 0x74, 0xac, 0x7e, 0xdb, 0xdf, 0xe2, 0x79, 0x19, 0xa7, 0xe0, 0x94, 0xe2, 0x2c, 0x43, - 0x45, 0x79, 0xf1, 0x00, 0x08, 0x98, 0x73, 0x46, 0x21, 0x94, 0x47, 0xb9, 0xa7, 0xc7, 0x66, 0xa7, - 0x4e, 0x5c, 0x97, 0x16, 0x90, 0xed, 0xf3, 0x0a, 0x6c, 0xe3, 0x1b, 0xe5, 0xfd, 0x67, 0xd6, 0xec, - 0x06, 0x7a, 0x60, 0x8e, 0xd9, 0xfc, 0x65, 0xa8, 0x82, 0x74, 0xb5, 0x42, 0xe4, 0xc0, 0x73, 0x31, - 0x3f, 0xb3, 0xe6, 0xf3, 0x7f, 0x32, 0x38, 0xeb, 0xde, 0xfb, 0x88, 0x05, 0xdc, 0xd3, 0xe3, 0x02, - 0x3b, 0x4f, 0xfa, 0x3c, 0xc1, 0x63, 0x86, 0xe8, 0x4b, 0x30, 0x2e, 0xcf, 0x2d, 0x25, 0xb2, 0xde, - 0x1a, 0x21, 0x93, 0xb1, 0xcd, 0x09, 0xb7, 0xd2, 0x25, 0x57, 0xdf, 0x49, 0x0b, 0xf2, 0x84, 0xf1, - 0x2b, 0xa7, 0xa5, 0x00, 0x8e, 0xcd, 0x63, 0xfd, 0x9e, 0xf6, 0x83, 0x8f, 0x37, 0x42, 0x45, 0x1b, - 0x01, 0x4a, 0xbc, 0xe8, 0x5a, 0x60, 0xb4, 0xd3, 0x1a, 0x94, 0x3c, 0x93, 0x1f, 0xa2, 0xc3, 0xe2, - 0x1c, 0xda, 0x0f, 0xd9, 0x95, 0x14, 0xea, 0x27, 0xce, 0x52, 0x47, 0x3e, 0xdc, 0x96, 0x8b, 0x22, - 0xea, 0xd0, 0xa5, 0x7d, 0x73, 0x5f, 0xff, 0xd3, 0x69, 0x26, 0x6d, 0x1b, 0xce, 0xd3, 0xe8, 0x39, - 0x98, 0xcf, 0x45, 0x9a, 0x1b, 0x10, 0x04, 0x06, 0x5d, 0x13, 0x58, 0x2b, 0x9a, 0xbb, 0xcf, 0x3a, - 0x8b, 0xda, 0x05, 0x18, 0x9a, 0x79, 0xac, 0xa0, 0xe1, 0x7e, 0xbc, 0x98, 0x06, 0x4b, 0x8e, 0xf5, - 0x71, 0x62, 0x77, 0xad, 0xc6, 0x85, 0x3d, 0x87, 0xd8, 0x00, 0x9e, 0xb4, 0x39, 0x0e, 0x9f, 0x56, - 0x03, 0xee, 0x0d, 0xf6, 0xcd, 0xe0, 0xdc, 0xf4, 0xeb, 0xc9, 0x0b, 0xba, 0xb7, 0xb2, 0xd4, 0x0c, - 0x6e, 0x1b, 0x1d, 0xbc, 0x74, 0x09, 0x59, 0xe1, 0x54, 0x3c, 0xbc, 0x03, 0x4a, 0x15, 0xe5, 0x54, - 0x89, 0x8d, 0xb6, 0x01, 0x60, 0x26, 0xa8, 0xd9, 0xef, 0x50, 0x38, 0x91, 0x6b, 0xa3, 0xc5, 0x51, - 0x1e, 0x0b, 0x18, 0x4b, 0x63, 0x91, 0x11, 0xcb, 0x16, 0x0c, 0xfc, 0x23, 0xc8, 0x01, 0xb9, 0x25, - 0xed, 0xa7, 0xce, 0x0a, 0x3f, 0x39, 0x95, 0x0d, 0x45, 0x9c, 0x6a, 0x9e, 0xaf, 0x19, 0x5f, 0x2b, - 0x6b, 0x7a, 0xa2, 0xd6, 0x6a, 0x94, 0x49, 0x13, 0x1f, 0x79, 0x2e, 0x24, 0x7a, 0x69, 0xe6, 0x96, - 0xf6, 0x58, 0x59, 0xa1, 0x62, 0xcf, 0x20, 0x21, 0x79, 0x4a, 0x62, 0x71, 0xd3, 0x85, 0x2c, 0x21, - 0xd0, 0x79, 0x55, 0xb9, 0x3e, 0x84, 0x27, 0x56, 0xd9, 0x92, 0x4d, 0x1b, 0xf1, 0xa5, 0xd8, 0xc4, - 0xe8, 0x2b, 0x2f, 0x15, 0x27, 0xee, 0x73, 0x00, 0xc6, 0x11, 0x9f, 0xfb, 0xa5, 0x2f, 0x00, 0x9d, - 0xd4, 0x24, 0xf8, 0x56, 0x26, 0x48, 0x65, 0x01, 0xe6, 0x63, 0xc0, 0xc8, 0x8f, 0xcd, 0xd6, 0xef, - 0x5d, 0xef, 0xfb, 0x2a, 0xc5, 0x58, 0x35, 0x37, 0xfa, 0xf1, 0xdd, 0x7d, 0x35, 0x19, 0xc6, 0x2e, - 0xd2, 0x5f, 0x34, 0x53, 0xa2, 0xf9, 0x37, 0x2d, 0x8a, 0x6b, 0x33, 0xc0, 0x29, 0xd4, 0x36, 0x45, - 0xb7, 0x3d, 0xc5, 0xa6, 0x74, 0xee, 0x9f, 0x66, 0xcf, 0x7d, 0xbd, 0xfb, 0x96, 0xbf, 0xc9, 0xbc, - 0x52, 0x95, 0xc7, 0xc1, 0x56, 0x76, 0x74, 0x11, 0xc2, 0x84, 0x7c, 0xa4, 0x43, 0xb2, 0x7c, 0xf7, - 0x0a, 0xc9, 0x92, 0x83, 0x4c, 0xe0, 0xd6, 0x29, 0x6d, 0x42, 0x4d, 0x81, 0x18, 0x9f, 0x82, 0xdc, - 0x6e, 0x79, 0x5a, 0x03, 0x87, 0x8c, 0xcd, 0xe8, 0xe1, 0xc8, 0x1c, 0xc6, 0x13, 0x53, 0x3f, 0xf6, - 0x03, 0x12, 0x62, 0x7f, 0x62, 0xcf, 0x19, 0x82, 0xa5, 0xbb, 0x8d, 0x8a, 0xff, 0x2a, 0x6b, 0xfe, - 0x48, 0x0f, 0x1e, 0x6f, 0x63, 0xbb, 0x5d, 0x70, 0xa7, 0x8b, 0x12, 0x0a, 0x96, 0x00, 0x30, 0x46, - 0xc1, 0xf9, 0x76, 0x59, 0x4d, 0xd8, 0xe4, 0x66, 0x9e, 0x7e, 0xb8, 0x5c, 0x2f, 0x64, 0x78, 0xab, - 0x53, 0x8e, 0x7b, 0x09, 0x05, 0x35, 0x75, 0x9d, 0x9b, 0xa7, 0xcc, 0x8b, 0x18, 0x3d, 0x43, 0xfc, - 0x56, 0xe8, 0x1e, 0xe7, 0x81, 0x14, 0x2d, 0xcb, 0x2b, 0xd8, 0x86, 0xf6, 0x83, 0xb9, 0x0f, 0x19, - 0x63, 0xe9, 0x17, 0x19, 0xfa, 0x66, 0xa2, 0x3d, 0xa8, 0xdf, 0x82, 0xb6, 0x7a, 0x88, 0x46, 0xa0, - 0xff, 0x3e, 0x33, 0xe1, 0xb7, 0x8a, 0x75, 0xe8, 0x9d, 0xa9, 0x14, 0xe9, 0x12, 0x79, 0x9a, 0x05, - 0x97, 0x31, 0xef, 0x7c, 0xb3, 0x20, 0xf8, 0xd1, 0xf4, 0x85, 0xf9, 0x04, 0x66, 0x29, 0x21, 0xb6, - 0xce, 0x51, 0x4e, 0xb2, 0xd7, 0xf8, 0xad, 0x6e, 0x83, 0x63, 0x92, 0xb6, 0x9e, 0x3c, 0x81, 0x4d, - 0x8d, 0x2e, 0x35, 0x6e, 0x33, 0x3e, 0xf4, 0xb3, 0xa3, 0xa8, 0x1a, 0x9a, 0x92, 0x63, 0xcf, 0xe6, - 0xfd, 0xad, 0x9e, 0x96, 0x83, 0x69, 0xf9, 0xb3, 0x20, 0x41, 0x18, 0x43, 0xbf, 0xe6, 0xe5, 0xcc, - 0x74, 0xab, 0x73, 0xd2, 0x89, 0x12, 0x65, 0x65, 0x5c, 0xc2, 0xe0, 0xea, 0xb7, 0x7d, 0xd8, 0xc6, - 0x39, 0x87, 0x99, 0xbc, 0x44, 0xf1, 0x46, 0xa2, 0x90, 0xb4, 0x5d, 0xd8, 0x7d, 0xa3, 0xae, 0xd8, - 0xfc, 0x6c, 0x12, 0xa4, 0x53, 0xc3, 0xb0, 0x71, 0xfc, 0x70, 0x39, 0x00, 0x85, 0x83, 0xa1, 0x5f, - 0xe8, 0x17, 0x59, 0xe2, 0xaa, 0xc0, 0xad, 0x92, 0x2c, 0x54, 0x12, 0xf0, 0x9f, 0x75, 0x64, 0xd6, - 0x3f, 0x5d, 0xb2, 0xd5, 0x95, 0x27, 0x73, 0x8a, 0x0f, 0xc5, 0xab, 0x42, 0xac, 0x4b, 0x13, 0x75, - 0x49, 0xa3, 0x90, 0xa4, 0xc2, 0x7b, 0xbc, 0x1d, 0x61, 0xce, 0x5a, 0x6e, 0x76, 0x95, 0xb4, 0x13, - 0x41, 0x6e, 0x30, 0x4a, 0x06, 0x0e, 0x50, 0xc7, 0x24, 0xfb, 0xe9, 0x0e, 0xcc, 0x6e, 0x53, 0xf6, - 0x33, 0x22, 0x70, 0x26, 0x6d, 0xa0, 0x04, 0x3f, 0xf0, 0xba, 0x90, 0x59, 0xa6, 0x43, 0x97, 0x33, - 0xba, 0x81, 0xde, 0x53, 0x91, 0x60, 0x6e, 0x53, 0x95, 0x24, 0xdb, 0x2f, 0xe6, 0xf0, 0x75, 0xfe, - 0xc7, 0xa4, 0x92, 0x7f, 0xb7, 0x20, 0xc5, 0xda, 0x9b, 0x9d, 0x98, 0xd4, 0xa1, 0x52, 0x7b, 0x75, - 0x16, 0xb1, 0xaa, 0x6e, 0x29, 0x5a, 0xd2, 0xdc, 0xc1, 0x11, 0x78, 0xaa, 0x6e, 0x1a, 0x9c, 0x06, - 0x2e, 0xe1, 0xcd, 0x54, 0x85, 0x95, 0x8f, 0x2c, 0x4f, 0x33, 0xee, 0x93, 0x44, 0xcb, 0x08, 0xa1, - 0x67, 0x36, 0x31, 0xa1, 0x8f, 0xb3, 0xe4, 0xec, 0x6f, 0x5c, 0x17, 0xfd, 0xba, 0x33, 0xe4, 0x09, - 0xb2, 0x5c, 0x24, 0x6c, 0x02, 0x02, 0x47, 0x7a, 0xc6, 0x45, 0x32, 0xbd, 0x8c, 0x25, 0xed, 0x9e, - 0x21, 0x9b, 0xae, 0x74, 0xfc, 0x52, 0x6b, 0x63, 0xcb, 0x36, 0x24, 0x30, 0x37, 0x81, 0x2d, 0x3e, - 0xd9, 0xae, 0x0d, 0xec, 0x92, 0x79, 0x16, 0x3b, 0x16, 0x75, 0x6d, 0x18, 0x4b, 0x91, 0xf2, 0x02, - 0x9d, 0xd5, 0xc1, 0x69, 0xe0, 0x19, 0xb4, 0x3c, 0x56, 0xcc, 0xc5, 0xe2, 0x37, 0xbb, 0x11, 0xf5, - 0x73, 0x07, 0xca, 0x7c, 0x2c, 0x55, 0xca, 0xae, 0xe0, 0x54, 0x84, 0x7d, 0xa1, 0xe0, 0x02, 0x3b, - 0xe9, 0xaa, 0x81, 0xd3, 0xf9, 0xa5, 0xee, 0xde, 0xa0, 0x98, 0xda, 0xfb, 0x07, 0xf3, 0x99, 0xf2, - 0xd5, 0x71, 0x04, 0x46, 0x6b, 0x9e, 0x31, 0x16, 0x63, 0x14, 0x79, 0x1c, 0xe3, 0x32, 0xf7, 0xa0, - 0xf5, 0xc9, 0x70, 0x74, 0x46, 0xf2, 0x56, 0x2b, 0xb2, 0xbc, 0x7d, 0x04, 0x40, 0xeb, 0x24, 0x48, - 0x0c, 0xaa, 0x67, 0x84, 0x96, 0x83, 0xdd, 0xd0, 0x38, 0xff, 0x0c, 0xf3, 0xd1, 0x14, 0xac, 0xb9, - 0x88, 0x0d, 0xda, 0x89, 0x34, 0xd2, 0x3a, 0x93, 0x39, 0x33, 0x0f, 0x36, 0x8d, 0x9b, 0x04, 0xde, - 0x11, 0xe4, 0xcb, 0xdf, 0x13, 0x62, 0x7f, 0xe5, 0x3d, 0x5f, 0x4f, 0x96, 0x89, 0x44, 0xc8, 0xba, - 0x58, 0xeb, 0xb2, 0x80, 0x36, 0xe1, 0x01, 0xaa, 0xca, 0x43, 0xbf, 0x8c, 0x37, 0xc1, 0x39, 0xb9, - 0x0c, 0x8d, 0xad, 0xf2, 0x88, 0xcc, 0x4b, 0x1f, 0xc9, 0x08, 0xdf, 0x1c, 0xf2, 0x09, 0xb0, 0xaa, - 0xb8, 0xb5, 0x13, 0x21, 0x0b, 0x83, 0x67, 0xae, 0xe1, 0xa4, 0xfa, 0x95, 0x24, 0xf2, 0x38, 0xa3, - 0x63, 0x20, 0x20, 0x50, 0x19, 0xf4, 0xb5, 0xa2, 0xa1, 0xac, 0xf4, 0x52, 0x8f, 0xa1, 0xf8, 0xb4, - 0x2a, 0x29, 0x6e, 0x8a, 0x85, 0x0f, 0x2e, 0x18, 0x32, 0xbe, 0x26, 0x14, 0xe2, 0xd3, 0xcc, 0xd4, - 0x6c, 0xde, 0xc4, 0xf0, 0x5c, 0xc9, 0x34, 0xf5, 0xc6, 0xb9, 0xe5, 0xc1, 0x45, 0x7f, 0x6e, 0xc8, - 0xd0, 0x7f, 0xe8, 0x97, 0x83, 0xd3, 0x89, 0xcd, 0xb5, 0xbc, 0x9e, 0x66, 0xfb, 0xd9, 0x13, 0x7a, - 0xba, 0x90, 0xa0, 0x2e, 0xc1, 0x4f, 0xd1, 0x2f, 0xb5, 0x67, 0x47, 0x14, 0xca, 0xe0, 0x4f, 0x2e, - 0x18, 0x61, 0xc6, 0x80, 0xe2, 0xe9, 0x7e, 0x39, 0xa0, 0x8b, 0x7e, 0x90, 0x87, 0xad, 0x24, 0x7a, - 0x2f, 0xce, 0xea, 0xa9, 0x57, 0x37, 0x85, 0x83, 0x55, 0x1e, 0xd1, 0x1b, 0xbf, 0xcb, 0xcb, 0x13, - 0x7c, 0x12, 0xc5, 0x51, 0x33, 0x41, 0x67, 0xb0, 0xd2, 0xbe, 0x5d, 0xe8, 0x62, 0x2a, 0xb4, 0x3f, - 0xb0, 0x47, 0x0d, 0x32, 0x27, 0x10, 0x4a, 0x87, 0xac, 0xc1, 0xa8, 0xed, 0x4a, 0xa5, 0x1f, 0x9a, - 0x49, 0x39, 0x3f, 0xfb, 0x06, 0x3f, 0x14, 0x7f, 0xc6, 0x90, 0xfe, 0x1f, 0xd6, 0x8d, 0xba, 0x6c, - 0x04, 0x34, 0x5e, 0x70, 0xbe, 0xe9, 0x6c, 0x1e, 0xcf, 0xfa, 0xa2, 0x1d, 0xab, 0xe1, 0xe3, 0x9e, - 0x2e, 0xd8, 0x94, 0xb1, 0xd5, 0x95, 0x75, 0x32, 0x3a, 0xc5, 0xae, 0xfb, 0xf8, 0xc7, 0xaa, 0xb0, - 0xb6, 0x16, 0xdc, 0x96, 0x7c, 0xe4, 0x2f, 0x91, 0x63, 0x93, 0x0a, 0xa9, 0x39, 0x71, 0xac, 0x39, - 0x82, 0x40, 0x16, 0x5c, 0x6a, 0xfd, 0x67, 0xd8, 0x85, 0xaf, 0xeb, 0x5e, 0x5b, 0x1d, 0x1f, 0x56, - 0x38, 0x26, 0x86, 0x04, 0x08, 0xda, 0x04, 0x6b, 0x7f, 0x82, 0x46, 0x42, 0x4d, 0xb6, 0x53, 0xf8, - 0xbe, 0x78, 0x09, 0xaa, 0xbc, 0xf0, 0xd3, 0xab, 0x60, 0x03, 0x8e, 0x28, 0x0f, 0x9f, 0x7e, 0x9f, - 0xc3, 0xcc, 0x1a, 0x47, 0x6e, 0x3e, 0xe0, 0x0c, 0x99, 0x54, 0x5a, 0xa2, 0xc8, 0x04, 0x97, 0x0a, - 0xad, 0xcf, 0xbd, 0xbc, 0x8a, 0xb6, 0xb1, 0x92, 0x91, 0x0e, 0xb8, 0xa2, 0x47, 0x63, 0x1e, 0x7b, - 0x15, 0x1d, 0xa3, 0x20, 0xb8, 0xe3, 0xbe, 0x31, 0x97, 0xf0, 0x38, 0x44, 0x5f, 0xab, 0xf9, 0xee, - 0xbd, 0x91, 0x40, 0x1c, 0x46, 0x89, 0xe0, 0xe2, 0x7a, 0xd0, 0x6e, 0x45, 0xf5, 0xd4, 0x1f, 0x97, - 0x85, 0x3e, 0x51, 0x38, 0x43, 0x5d, 0x05, 0x5d, 0xb6, 0x54, 0x83, 0xe7, 0xee, 0x6b, 0x57, 0xf9, - 0x45, 0xc0, 0xff, 0xaf, 0x5c, 0xbe, 0x49, 0xe4, 0xd6, 0xdb, 0xd5, 0xab, 0xc9, 0x75, 0xf1, 0x39, - 0x21, 0x5d, 0x0f, 0xe0, 0x8d, 0x39, 0x7d, 0xb1, 0x23, 0xeb, 0x99, 0xe5, 0xc1, 0x40, 0x2f, 0x74, - 0xb9, 0xb8, 0x1e, 0xe7, 0xa8, 0xb0, 0x58, 0x83, 0x1a, 0xe5, 0x71, 0x5c, 0xfb, 0x54, 0xdc, 0x8b, - 0x76, 0x5d, 0xe7, 0xa3, 0x78, 0x1b, 0xc5, 0x9e, 0xb1, 0xcf, 0xb4, 0xd7, 0xc8, 0xbe, 0xa0, 0xc7, - 0x98, 0xcd, 0x41, 0x98, 0x23, 0x6c, 0x83, 0xb6, 0x6c, 0x37, 0x9c, 0x08, 0x2d, 0xd3, 0x5d, 0xa3, - 0x84, 0xfc, 0x5b, 0x26, 0xdd, 0x5f, 0x1a, 0x92, 0x10, 0x91, 0xf5, 0xa0, 0x2a, 0x78, 0xa1, 0x0f, - 0x21, 0xa8, 0x66, 0xdb, 0xec, 0x37, 0x07, 0x77, 0xaf, 0x9a, 0x17, 0xaa, 0xb7, 0x3f, 0xe2, 0xd8, - 0xcc, 0x80, 0x7e, 0x74, 0x72, 0x63, 0x70, 0xac, 0x12, 0x2e, 0x82, 0x5c, 0xd5, 0xf7, 0x33, 0x0b, - 0xfe, 0xab, 0x35, 0x64, 0x4a, 0x69, 0xa8, 0x87, 0x63, 0xbe, 0x5b, 0x4b, 0x15, 0x4e, 0x28, 0x87, - 0xb5, 0x51, 0xbc, 0x9b, 0x7a, 0xeb, 0xb8, 0xe4, 0x86, 0x27, 0xb9, 0xaf, 0xad, 0xe9, 0x30, 0xae, - 0xde, 0x46, 0x29, 0x8b, 0xb7, 0x29, 0x84, 0xd7, 0x8c, 0xf6, 0xdd, 0x6f, 0x12, 0xba, 0x58, 0x0d, - 0xe2, 0x15, 0x73, 0x5d, 0xb4, 0x3d, 0x2e, 0x93, 0x1e, 0x8e, 0xfb, 0xad, 0xaa, 0xb0, 0xac, 0x63, - 0x37, 0xb1, 0x6d, 0x83, 0x26, 0xa2, 0x73, 0x2e, 0x93, 0xef, 0xee, 0x53, 0x74, 0xae, 0x7b, 0x01, - 0x63, 0xe2, 0x2b, 0xbe, 0xda, 0xa5, 0xe5, 0x1c, 0x2d, 0x6e, 0xc5, 0x3f, 0x42, 0x5f, 0xb3, 0xce, - 0xfd, 0xcf, 0x6f, 0x55, 0xe3, 0x7a, 0x79, 0x18, 0xc1, 0xff, 0x61, 0x2f, 0x05, 0x69, 0xf7, 0x3f, - 0x44, 0x59, 0x1d, 0x91, 0x6b, 0x84, 0xb3, 0x80, 0x33, 0xb2, 0x82, 0x23, 0x32, 0xc5, 0x18, 0x1e, - 0x7e, 0x64, 0x38, 0xba, 0x2e, 0x8a, 0xa0, 0x77, 0x22, 0x89, 0x05, 0xcf, 0x5f, 0xd4, 0x2c, 0x45, - 0x65, 0xa5, 0xb4, 0x10, 0x37, 0xaa, 0x95, 0x3e, 0x49, 0x62, 0xa1, 0x82, 0x37, 0x8f, 0x9e, 0x10, - 0x4e, 0x6e, 0x9d, 0x40, 0xc7, 0x95, 0x05, 0xca, 0xfd, 0xe9, 0xf1, 0x73, 0x5d, 0x04, 0x84, 0x81, - 0x79, 0x0e, 0x80, 0x54, 0x2b, 0x86, 0x91, 0x4b, 0x7b, 0xe9, 0x70, 0xad, 0x22, 0x95, 0x01, 0x17, - 0x1b, 0xf0, 0x8c, 0x85, 0x3b, 0x8b, 0x50, 0xc5, 0x5f, 0x56, 0x86, 0x3a, 0xaa, 0x96, 0x2f, 0xec, - 0x1f, 0xaa, 0xa7, 0x0e, 0x91, 0x50, 0x72, 0x5a, 0xec, 0x9c, 0x80, 0x92, 0x84, 0x4e, 0xff, 0xa7, - 0x91, 0x07, 0xe8, 0x59, 0xc6, 0x84, 0x11, 0x2c, 0x6e, 0xc5, 0xdf, 0x2c, 0x96, 0xd0, 0x68, 0x87, - 0x6b, 0x07, 0xae, 0x7c, 0x9e, 0x41, 0x8c, 0xbd, 0x99, 0x0d, 0xc3, 0x1f, 0x7d, 0xcf, 0xe7, 0x54, - 0xce, 0x3f, 0xad, 0xc1, 0x63, 0x44, 0x5d, 0x2c, 0x3a, 0x9b, 0x9e, 0xbd, 0x17, 0x90, 0x87, 0xe1, - 0x71, 0xb6, 0xe6, 0xe7, 0xc0, 0x08, 0x54, 0x53, 0x40, 0x30, 0x29, 0x60, 0x24, 0xbe, 0x4e, 0x6b, - 0x77, 0x2b, 0x75, 0x0d, 0x35, 0x80, 0xf2, 0x26, 0xe1, 0x48, 0x30, 0xdc, 0xf2, 0xb7, 0x39, 0x03, - 0x25, 0x9d, 0xce, 0x92, 0x74, 0x7e, 0x3f, 0xe6, 0xf7, 0x64, 0xe9, 0x98, 0xee, 0xae, 0x53, 0x7b, - 0x9e, 0x05, 0x25, 0x8a, 0x01, 0xd7, 0xa2, 0xeb, 0x5d, 0xef, 0xd5, 0x95, 0x97, 0x7a, 0x59, 0x40, - 0xe1, 0x23, 0x7a, 0xdd, 0x1e, 0x75, 0xcb, 0xbe, 0xc7, 0x5f, 0xeb, 0x0f, 0x83, 0xd9, 0x78, 0x27, - 0xd7, 0xb1, 0xf2, 0xb4, 0x54, 0x22, 0x2b, 0xcd, 0x7b, 0xa9, 0xde, 0x87, 0x3b, 0xc4, 0x5a, 0xef, - 0xd2, 0x18, 0xde, 0x24, 0x60, 0x63, 0x69, 0x8b, 0xd9, 0xe3, 0x63, 0xee, 0x4a, 0xc4, 0x24, 0x44, - 0x0f, 0x30, 0xda, 0x7d, 0x26, 0x7a, 0xd7, 0xd2, 0x43, 0x1f, 0xa7, 0x8f, 0xa7, 0xd0, 0xdd, 0x6f, - 0x59, 0x25, 0x57, 0xdd, 0x62, 0xd6, 0x13, 0x14, 0xdb, 0x8a, 0x07, 0x51, 0xc6, 0xf8, 0x81, 0xd9, - 0x0e, 0x17, 0x13, 0xfb, 0xe5, 0xd6, 0x76, 0x4f, 0x8c, 0x72, 0x88, 0xf1, 0x93, 0xae, 0x82, 0x88, - 0xf9, 0xd2, 0xaf, 0x07, 0x63, 0x25, 0xe0, 0xd7, 0xeb, 0x27, 0x4b, 0x76, 0x9b, 0xf1, 0xbf, 0xaf, - 0x62, 0xf8, 0x25, 0x6c, 0x23, 0x3e, 0x78, 0xad, 0xa0, 0x5d, 0x4f, 0xb9, 0xe5, 0x31, 0xbc, 0x1f, - 0x9f, 0xad, 0x14, 0xa5, 0xd7, 0xef, 0x91, 0x70, 0xa3, 0x0a, 0xcf, 0xe6, 0x60, 0x9f, 0xc4, 0xc8, - 0xcc, 0xcf, 0xb9, 0x29, 0xb5, 0x00, 0x5c, 0xcc, 0x36, 0xe0, 0x86, 0x5a, 0xd3, 0x15, 0xa6, 0x23, - 0xfc, 0xfe, 0x27, 0x59, 0x40, 0x9e, 0x99, 0x6d, 0x20, 0x7f, 0xaa, 0xd7, 0xd2, 0xd5, 0x06, 0x95, - 0xe1, 0x80, 0x25, 0x6f, 0xb2, 0xd1, 0x46, 0xfa, 0xd2, 0xdf, 0x0c, 0xd9, 0xce, 0xf8, 0x3c, 0xc7, - 0xc0, 0x96, 0x2b, 0x7e, 0x13, 0x8d, 0x92, 0x64, 0x5a, 0x99, 0x57, 0xf8, 0x96, 0xfc, 0xa8, 0xdb, - 0x43, 0x1e, 0xe8, 0x47, 0x35, 0x25, 0x6f, 0xd5, 0xb7, 0x0a, 0xf0, 0x48, 0x3e, 0x55, 0x2a, 0x09, - 0xf2, 0x70, 0x59, 0xf8, 0x3d, 0x9c, 0x28, 0x55, 0x07, 0x0a, 0x4c, 0x6f, 0x68, 0xb6, 0x71, 0x83, - 0xa4, 0x54, 0x05, 0x1c, 0xf9, 0xef, 0x6d, 0x3b, 0xea, 0x93, 0x02, 0x64, 0x3a, 0xd9, 0xbb, 0xde, - 0xc5, 0xca, 0xec, 0x77, 0x4c, 0xe5, 0x4d, 0x83, 0x83, 0xad, 0x6e, 0x28, 0xdd, 0x21, 0x44, 0xdc, - 0x83, 0x8d, 0x7a, 0x97, 0x42, 0x71, 0x28, 0x4a, 0x6d, 0x50, 0x7a, 0x68, 0x6e, 0x0f, 0x82, 0x45, - 0x4f, 0xd2, 0x2c, 0x13, 0x9e, 0xc4, 0xd6, 0x5c, 0xb5, 0xc5, 0x7e, 0x0d, 0xd0, 0xf5, 0xc1, 0xbd, - 0x1d, 0x00, 0x8f, 0x93, 0xcb, 0xe9, 0x8d, 0xd9, 0xc9, 0xe7, 0xe4, 0x75, 0xda, 0xd0, 0xce, 0xc8, - 0x7d, 0x06, 0x18, 0xc6, 0x25, 0xcb, 0x24, 0xee, 0x3b, 0xda, 0x1e, 0x13, 0xff, 0xc3, 0xf2, 0x0b, - 0x32, 0x3f, 0x44, 0x5a, 0xe9, 0x00, 0xc7, 0x5f, 0x2d, 0x32, 0xf1, 0x38, 0x3e, 0x69, 0xec, 0x61, - 0xec, 0x35, 0x47, 0x60, 0x7e, 0x23, 0xdf, 0x85, 0xeb, 0xee, 0xc5, 0x2e, 0xb5, 0x3e, 0x98, 0x84, - 0x8d, 0x0d, 0x45, 0x63, 0x8c, 0x7c, 0x8e, 0xec, 0x08, 0x27, 0x32, 0xe9, 0x8f, 0xb2, 0xd9, 0xa3, - 0xbd, 0x57, 0xb3, 0x2a, 0x7c, 0xaa, 0xd4, 0xa0, 0x59, 0x29, 0x11, 0x64, 0x2b, 0xa7, 0xef, 0xf4, - 0x20, 0xd8, 0xd0, 0xf2, 0xe6, 0x44, 0x19, 0x4d, 0xf7, 0x86, 0x6d, 0xc0, 0x68, 0x04, 0xc6, 0x09, - 0x79, 0x0a, 0x9c, 0x2a, 0xd0, 0xda, 0xc2, 0x8a, 0x6c, 0x27, 0x01, 0xdf, 0xf1, 0x78, 0x5b, 0x27, - 0xcd, 0x5c, 0xa0, 0x9c, 0x8a, 0xdb, 0xea, 0x33, 0x3d, 0xf9, 0xd4, 0xff, 0x95, 0x03, 0x67, 0xbb, - 0x25, 0x11, 0xd6, 0x4f, 0x15, 0x5c, 0x64, 0x44, 0x50, 0xc2, 0x4a, 0xfb, 0xe8, 0x81, 0xad, 0x3d, - 0x4c, 0xb5, 0xe6, 0x9d, 0xad, 0x30, 0xd6, 0x58, 0xe1, 0xe3, 0x90, 0x95, 0xfc, 0x35, 0x60, 0xa0, - 0x34, 0x15, 0x75, 0x64, 0xb5, 0x3b, 0x68, 0x47, 0x79, 0x8b, 0x74, 0xe6, 0x28, 0xe1, 0xad, 0xb7, - 0x30, 0x12, 0xfc, 0x6a, 0xe7, 0xcc, 0x43, 0x76, 0xb6, 0x22, 0xa3, 0x86, 0xba, 0x68, 0xa3, 0x68, - 0xd4, 0xf4, 0x67, 0xe4, 0xff, 0xa2, 0x01, 0x60, 0xd2, 0xd6, 0x7b, 0x5e, 0x9e, 0x08, 0x96, 0xff, - 0x8d, 0xa2, 0x3e, 0xe9, 0xfd, 0x75, 0x66, 0x51, 0x69, 0x88, 0x21, 0xd9, 0xff, 0x33, 0x6c, 0xd4, - 0xad, 0xc8, 0xc4, 0xe8, 0x64, 0x95, 0x7c, 0x89, 0xb0, 0x30, 0x4b, 0xd6, 0x82, 0x30, 0x26, 0xf8, - 0xda, 0xe3, 0x79, 0x24, 0x0f, 0x3d, 0xf8, 0xbf, 0x21, 0x7a, 0xf8, 0xe4, 0xd0, 0xff, 0x99, 0x73, - 0xea, 0xe2, 0x55, 0x24, 0xa4, 0x40, 0xfd, 0xf8, 0x8c, 0xe7, 0x9e, 0x23, 0x0f, 0xaa, 0xb5, 0xc3, - 0x00, 0x78, 0x80, 0xe5, 0x50, 0x47, 0x81, 0x66, 0x59, 0x3f, 0x61, 0xdc, 0x91, 0x75, 0xed, 0x27, - 0xe4, 0xbb, 0x3e, 0x80, 0x74, 0x7b, 0xd3, 0x9d, 0x0e, 0x13, 0x45, 0x50, 0x1d, 0xb2, 0x56, 0xc8, - 0x3d, 0x78, 0x5b, 0xc8, 0x08, 0xfd, 0xad, 0xde, 0x64, 0x31, 0xda, 0x33, 0x3e, 0x7e, 0x60, 0xc3, - 0x78, 0xe7, 0xfe, 0xaf, 0xab, 0x65, 0x13, 0x99, 0x57, 0xb3, 0x3c, 0xcc, 0xdf, 0xcc, 0x14, 0x1c, - 0x5f, 0x80, 0x88, 0xc1, 0xd6, 0x0b, 0x8e, 0x4b, 0x55, 0xf2, 0x43, 0x27, 0x7d, 0x59, 0xfd, 0xe2, - 0xc4, 0x38, 0x9d, 0xc8, 0xbb, 0x96, 0x6f, 0x51, 0x02, 0xab, 0x51, 0x6e, 0x66, 0xdc, 0x67, 0x1d, - 0x96, 0x63, 0x15, 0xcd, 0x58, 0x9e, 0xcf, 0xa0, 0xea, 0x0e, 0x24, 0x1f, 0x52, 0x8a, 0x8e, 0xcc, - 0x22, 0x04, 0xc1, 0x01, 0xbd, 0x83, 0x93, 0xd5, 0x6d, 0x23, 0x59, 0x3a, 0xb9, 0x71, 0xa7, 0x35, - 0x7b, 0x89, 0x09, 0x17, 0x4b, 0x00, 0x36, 0x07, 0xca, 0xc7, 0x35, 0xdb, 0x2d, 0x5d, 0x5e, 0x22, - 0x71, 0xed, 0xf5, 0xe9, 0x26, 0x4d, 0x48, 0x47, 0x82, 0x91, 0x50, 0xfa, 0xab, 0x90, 0x8e, 0xd8, - 0x68, 0x6b, 0xde, 0x6c, 0x64, 0x31, 0x24, 0x44, 0x1a, 0xbf, 0x11, 0xb8, 0x59, 0x03, 0x5a, 0x5b, - 0x33, 0xfe, 0x24, 0x23, 0x8e, 0x3f, 0x2f, 0x7c, 0xb1, 0x53, 0x68, 0x14, 0x84, 0x4f, 0x36, 0xeb, - 0x43, 0xda, 0x0a, 0x04, 0x8d, 0x88, 0xf9, 0x5a, 0x31, 0x14, 0x9e, 0x61, 0x9a, 0x3d, 0xb4, 0x1f, - 0x7f, 0x2f, 0xf2, 0x43, 0x0e, 0x7f, 0x61, 0x06, 0x35, 0xd4, 0x4f, 0x67, 0x62, 0x86, 0xb4, 0x7e, - 0x51, 0x75, 0x31, 0xc2, 0xe5, 0xf5, 0x74, 0xf4, 0xdc, 0x6f, 0xf4, 0x6f, 0x4e, 0x3f, 0xc1, 0x39, - 0xd2, 0x7a, 0x0a, 0xbd, 0xe3, 0x41, 0x74, 0xac, 0x3d, 0x5f, 0xfb, 0x37, 0xcd, 0xde, 0x6c, 0x2c, - 0xe3, 0x1d, 0x58, 0xbc, 0x10, 0x2b, 0x1a, 0x1c, 0x03, 0x4d, 0xf8, 0x32, 0x05, 0x59, 0x82, 0x77, - 0x68, 0xd8, 0x79, 0x97, 0xe0, 0x7f, 0x24, 0xa3, 0x69, 0xe0, 0x87, 0x13, 0x59, 0x8e, 0xdb, 0x18, - 0xd9, 0xea, 0x64, 0xa8, 0x22, 0xb2, 0x85, 0x9e, 0x78, 0x99, 0x05, 0xaa, 0x57, 0xdc, 0x48, 0x08, - 0xbe, 0x20, 0x41, 0x6e, 0x1c, 0xe4, 0x8f, 0x13, 0x57, 0x6d, 0xc1, 0xa2, 0x15, 0x05, 0x6a, 0xa4, - 0x55, 0x16, 0x72, 0x92, 0xb8, 0x98, 0xd6, 0x79, 0xc3, 0x1f, 0xc8, 0xe1, 0x88, 0xcf, 0xcd, 0x76, - 0x22, 0x3b, 0xb4, 0xb5, 0xc7, 0x79, 0xfd, 0xaa, 0x6b, 0x3c, 0x4b, 0xed, 0x7e, 0x28, 0x8f, 0x21, - 0xb0, 0xbc, 0x88, 0x2c, 0x41, 0xe9, 0xd4, 0xb8, 0xe2, 0xf3, 0xef, 0xcf, 0xf9, 0xe4, 0xd6, 0x67, - 0xf8, 0x2c, 0xbc, 0x4e, 0x8c, 0xb8, 0x40, 0x27, 0x61, 0x89, 0xf9, 0x0b, 0x49, 0x17, 0x83, 0xcc, - 0xb8, 0xe2, 0x45, 0x2d, 0xe1, 0x0a, 0x0f, 0x45, 0x99, 0x13, 0x19, 0x23, 0x92, 0xf1, 0x4d, 0x02, - 0xf0, 0xcc, 0xde, 0xb8, 0x76, 0xa5, 0xce, 0xc8, 0x57, 0xdf, 0x19, 0xd9, 0x33, 0x35, 0x9e, 0xb6, - 0x39, 0xb8, 0xaf, 0xfb, 0x3d, 0x2b, 0x3d, 0xe8, 0x15, 0x68, 0x7d, 0xc5, 0x9b, 0x38, 0x39, 0xe3, - 0x27, 0x3b, 0xcc, 0xef, 0x8b, 0xe3, 0xb3, 0xfc, 0x4e, 0xeb, 0x9b, 0xba, 0x0e, 0x3c, 0x80, 0x9d, - 0x57, 0xc2, 0x19, 0x25, 0xe9, 0x38, 0x4a, 0x22, 0x50, 0x67, 0xae, 0x74, 0x8d, 0xea, 0x19, 0x3e, - 0x65, 0x3c, 0x6a, 0x9e, 0x6f, 0x7b, 0xd4, 0xce, 0x70, 0xea, 0xe8, 0xb3, 0xd2, 0xc0, 0xde, 0x9a, - 0x5d, 0x0a, 0xcc, 0xde, 0xa0, 0xc0, 0x0b, 0x19, 0x01, 0x79, 0x8d, 0xde, 0xbf, 0xc4, 0x54, 0xf6, - 0xb3, 0xbb, 0xdf, 0x91, 0x83, 0x47, 0x39, 0xfb, 0xa4, 0x41, 0xfb, 0x74, 0x90, 0xf6, 0x2e, 0xe6, - 0x7d, 0x75, 0x9a, 0x86, 0x0f, 0xbb, 0x40, 0x51, 0x78, 0x48, 0xf4, 0xa2, 0xb6, 0x3b, 0x53, 0x61, - 0xcf, 0x7d, 0x89, 0xb7, 0x58, 0x03, 0x34, 0xfb, 0x92, 0x52, 0xff, 0x1e, 0xe9, 0xe1, 0x87, 0x39, - 0x26, 0xa1, 0x42, 0xf4, 0xe6, 0x0f, 0xcc, 0xa5, 0x2e, 0x83, 0x6f, 0x54, 0x75, 0x93, 0xa8, 0x20, - 0x9a, 0xcc, 0x59, 0x56, 0xe2, 0x59, 0x17, 0x74, 0xc1, 0x99, 0xe7, 0xc6, 0xe8, 0xbc, 0xf0, 0x88, - 0x9b, 0x65, 0x54, 0xa4, 0xcb, 0xfb, 0xdc, 0xb6, 0xa2, 0xef, 0xfe, 0x18, 0xa8, 0x91, 0xee, 0x08, - 0x94, 0x01, 0x38, 0x52, 0x07, 0xeb, 0x0d, 0xe7, 0xda, 0xaa, 0xf4, 0x31, 0xd3, 0x64, 0xa1, 0xd5, - 0xf0, 0xed, 0x12, 0x90, 0xdc, 0x28, 0xe1, 0x77, 0x9b, 0x0e, 0x4c, 0x0f, 0xb4, 0x4e, 0x78, 0xfa, - 0x6a, 0xf4, 0xd3, 0x43, 0x24, 0x85, 0xb0, 0xa5, 0x79, 0x2e, 0xfe, 0x71, 0xad, 0xae, 0xd7, 0x1a, - 0xf4, 0x0b, 0x8e, 0x9e, 0x0b, 0xf4, 0x4c, 0xda, 0x38, 0x88, 0x6b, 0x5a, 0x12, 0x47, 0xd6, 0x0a, - 0x77, 0xf9, 0x6a, 0x37, 0x2d, 0xe2, 0xa5, 0xe0, 0xa7, 0x9c, 0xab, 0xbd, 0xe8, 0xef, 0x81, 0x7e, - 0xc3, 0x22, 0xe5, 0x8f, 0xff, 0xa2, 0x1e, 0xaf, 0x2a, 0xfe, 0xc5, 0xb4, 0xf3, 0xfc, 0x49, 0x3e, - 0x78, 0xfa, 0xb1, 0xc3, 0x56, 0xfc, 0x4b, 0xbe, 0x9b, 0xdd, 0x87, 0xd0, 0x33, 0x96, 0xfb, 0x83, - 0x4e, 0xe5, 0x08, 0x36, 0xb4, 0x13, 0xd1, 0xc5, 0x43, 0x13, 0x38, 0x05, 0xf1, 0x35, 0x82, 0xf0, - 0x68, 0xf8, 0x13, 0x96, 0xbe, 0x53, 0x79, 0xde, 0xfc, 0x12, 0xc1, 0xdd, 0xf1, 0x7a, 0x6c, 0x59, - 0xb5, 0xb3, 0xfd, 0x90, 0x75, 0x0c, 0xef, 0xca, 0x37, 0x03, 0x5f, 0x58, 0x72, 0x14, 0x04, 0x7a, - 0x02, 0x06, 0x74, 0xc8, 0xaa, 0x07, 0xc4, 0x89, 0x7a, 0x15, 0xa8, 0x88, 0x1f, 0x08, 0x9e, 0xb9, - 0x1b, 0x53, 0x32, 0x1b, 0xa2, 0x24, 0x54, 0x6f, 0xef, 0x59, 0xa6, 0x09, 0x7d, 0x00, 0xc0, 0x02, - 0xd1, 0x00, 0x09, 0xe7, 0x52, 0xb0, 0x53, 0x08, 0x8f, 0xc5, 0xe5, 0xf0, 0x98, 0x1d, 0xbb, 0xb7, - 0x8b, 0xee, 0xaf, 0x89, 0x5d, 0xaa, 0xfc, 0xc5, 0x96, 0xc7, 0xa3, 0x94, 0x4c, 0x96, 0xd0, 0x1f, - 0xef, 0x96, 0x59, 0x61, 0x66, 0x17, 0x21, 0x24, 0x30, 0xf8, 0x9c, 0x3e, 0x61, 0x72, 0x40, 0x1d, - 0xf6, 0x5d, 0x33, 0xd0, 0xee, 0x1f, 0xbb, 0x72, 0x21, 0xcd, 0xf4, 0x6a, 0x32, 0x7b, 0xc3, 0xf4, - 0x3d, 0x0e, 0x5b, 0xe9, 0x9f, 0x28, 0x18, 0xf2, 0xe0, 0xd4, 0xb3, 0x0b, 0x5e, 0xa3, 0xeb, 0x35, - 0xe0, 0xa4, 0xa2, 0xce, 0xb4, 0xfe, 0x7e, 0xde, 0x05, 0x2e, 0xab, 0x81, 0xad, 0x84, 0x74, 0x9f, - 0x66, 0xce, 0xd9, 0xc6, 0x78, 0x1a, 0x84, 0x50, 0xe2, 0xfa, 0x73, 0x9c, 0xc7, 0x20, 0x41, 0x01, - 0x2e, 0x71, 0xfb, 0xb0, 0x77, 0xd6, 0xb0, 0xb8, 0x86, 0xf7, 0xd5, 0x66, 0x99, 0xa6, 0x82, 0x02, - 0x87, 0x8c, 0xa8, 0x8d, 0x5e, 0x47, 0x7d, 0x57, 0x1d, 0xde, 0x15, 0xf1, 0x3d, 0x09, 0xa9, 0xe4, - 0xa5, 0xaf, 0x23, 0x63, 0xd8, 0xa5, 0x93, 0xef, 0x97, 0xd1, 0x42, 0xd7, 0x88, 0x9c, 0x77, 0xd0, - 0xf1, 0x19, 0x11, 0x6a, 0x0d, 0x0c, 0x6d, 0xa6, 0x5a, 0xc9, 0x09, 0x7e, 0x62, 0xcf, 0x86, 0xbc, - 0xa4, 0x3d, 0x93, 0xe7, 0xfd, 0x6a, 0x92, 0xd2, 0x00, 0x77, 0x6e, 0xb0, 0x52, 0xda, 0xd0, 0x21, - 0x5f, 0x46, 0x8b, 0x06, 0x57, 0x68, 0x08, 0xa6, 0x83, 0xf4, 0x30, 0xf1, 0xce, 0x61, 0x18, 0x9a, - 0xb3, 0x85, 0x80, 0x0b, 0x66, 0xdf, 0x24, 0x8d, 0x78, 0xe0, 0x32, 0x92, 0x6b, 0x58, 0x93, 0xf8, - 0x23, 0x25, 0x1f, 0xa1, 0x7a, 0xfd, 0x07, 0x22, 0x1f, 0xa1, 0xfb, 0x81, 0x7f, 0xc2, 0xda, 0xa1, - 0x12, 0xbd, 0xe6, 0x03, 0x18, 0x1e, 0x9e, 0x9e, 0x21, 0xf6, 0xf9, 0x73, 0xc6, 0xc9, 0xa1, 0x47, - 0x1e, 0xef, 0x4a, 0x3b, 0x08, 0x8c, 0xdf, 0x63, 0xc4, 0xe2, 0x57, 0x04, 0x88, 0x18, 0xc7, 0x77, - 0x8e, 0x49, 0x3e, 0xda, 0xb6, 0x52, 0x3f, 0xe9, 0x10, 0x67, 0x94, 0xc8, 0x71, 0xbb, 0x8d, 0x2b, - 0xf3, 0x9a, 0xb3, 0x77, 0xce, 0x6e, 0x8a, 0xb5, 0x07, 0x34, 0xe9, 0xdd, 0x9f, 0x7c, 0xa2, 0xe3, - 0x19, 0x49, 0x3b, 0x1b, 0x73, 0xe0, 0x07, 0x80, 0x81, 0x50, 0x7e, 0xc3, 0xc5, 0x69, 0x58, 0x3a, - 0xaa, 0xe8, 0xc7, 0x5e, 0xef, 0xe3, 0x34, 0x00, 0x75, 0x70, 0xab, 0x4c, 0x05, 0x24, 0xd9, 0x79, - 0xd3, 0xfa, 0x89, 0x9d, 0x22, 0x98, 0x66, 0xd1, 0x6d, 0x9d, 0x57, 0x68, 0xd5, 0x25, 0xa6, 0x7f, - 0xf4, 0x72, 0xaa, 0x96, 0x26, 0x0a, 0x07, 0x0a, 0xc9, 0x44, 0x6f, 0x14, 0x5d, 0x43, 0xa8, 0xeb, - 0x5e, 0xae, 0x2a, 0xad, 0x4b, 0x49, 0xea, 0x63, 0x84, 0xc1, 0xba, 0x5f, 0x6b, 0xbf, 0x4e, 0xf6, - 0x82, 0x91, 0xb8, 0xb4, 0xce, 0x79, 0xb4, 0x13, 0xe2, 0x39, 0xc1, 0x70, 0x49, 0x10, 0x37, 0x65, - 0xd8, 0xfd, 0xe5, 0x70, 0xc0, 0x64, 0xa0, 0x04, 0x61, 0xf0, 0xad, 0xc2, 0x2b, 0x5f, 0x73, 0x2e, - 0x80, 0x0d, 0x45, 0x6c, 0x1b, 0xb5, 0xbe, 0x86, 0x75, 0xe2, 0xbe, 0x52, 0x26, 0xd2, 0x12, 0x94, - 0x58, 0x3a, 0xf3, 0x8a, 0x49, 0xab, 0xef, 0x20, 0x69, 0x17, 0x59, 0x6d, 0x93, 0xec, 0x5a, 0xf2, - 0xa1, 0x5d, 0x4f, 0xa9, 0xbb, 0x14, 0x0a, 0x7c, 0xc1, 0xa6, 0x93, 0xda, 0xc5, 0x4f, 0x0d, 0x7f, - 0xc4, 0x69, 0x4f, 0x62, 0x64, 0xac, 0x04, 0x83, 0x9f, 0xcc, 0x6b, 0xac, 0xe4, 0xe7, 0xc5, 0x11, - 0x80, 0x36, 0xf4, 0xd2, 0x09, 0x92, 0x71, 0xb9, 0x3f, 0x69, 0x2b, 0xb1, 0x7e, 0x16, 0xcb, 0x2d, - 0xad, 0x8d, 0x65, 0xe8, 0x21, 0x9c, 0x8d, 0x37, 0x02, 0xdd, 0xc8, 0xf5, 0x66, 0xe4, 0x63, 0x65, - 0x17, 0xde, 0xcc, 0x9b, 0x6b, 0x8c, 0xb0, 0x8c, 0x2b, 0x22, 0x27, 0xd7, 0xc2, 0xf6, 0x01, 0x35, - 0x73, 0x50, 0xbe, 0xc1, 0xe8, 0xaa, 0x1a, 0xce, 0xdb, 0x5a, 0x05, 0xd6, 0xf1, 0x9b, 0xf1, 0x9f, - 0x5c, 0xb3, 0xb1, 0x42, 0xf4, 0xb2, 0x93, 0xf2, 0x9e, 0x26, 0x15, 0x12, 0x29, 0xd5, 0x97, 0x0e, - 0x8d, 0xe8, 0x03, 0x62, 0xb8, 0xc2, 0x9b, 0xbd, 0x64, 0x58, 0x28, 0x86, 0xf1, 0x40, 0x15, 0x05, - 0x59, 0xd0, 0x92, 0xbf, 0x5b, 0x6d, 0x61, 0xf0, 0xcf, 0xd2, 0x6d, 0xf2, 0xff, 0x28, 0x3c, 0x46, - 0xc1, 0xe1, 0x40, 0x7e, 0x22, 0x42, 0x22, 0xe3, 0x0f, 0x13, 0x05, 0x28, 0x24, 0xf9, 0xcd, 0x9b, - 0xfd, 0x4c, 0x85, 0x60, 0xec, 0x94, 0x4c, 0x0e, 0xff, 0xd2, 0x08, 0xc3, 0x17, 0xc6, 0xe4, 0x46, - 0x4a, 0x27, 0x69, 0x38, 0x95, 0x36, 0x02, 0xa6, 0xe6, 0x62, 0xd0, 0x6e, 0x59, 0x62, 0x54, 0x61, - 0xcc, 0xbd, 0xb3, 0xdd, 0x76, 0x78, 0x96, 0x2c, 0x35, 0x6f, 0xb3, 0xb9, 0x50, 0x70, 0xe5, 0x17, - 0x0d, 0x8a, 0x76, 0xb6, 0xeb, 0xc0, 0x13, 0xb6, 0x51, 0xf3, 0x44, 0x2e, 0x01, 0x35, 0x87, 0x07, - 0x38, 0xae, 0x12, 0x6f, 0x93, 0x12, 0xc6, 0xf2, 0xbb, 0xc1, 0x55, 0x0c, 0x7d, 0x3e, 0xe8, 0xb3, - 0xf0, 0x40, 0xf0, 0x96, 0xd6, 0x74, 0x95, 0xc4, 0x7d, 0x3a, 0x14, 0x8b, 0xf2, 0x05, 0x75, 0xf6, - 0x9a, 0xe4, 0xb3, 0x9f, 0x7b, 0xab, 0xa0, 0xd3, 0x16, 0x66, 0xcd, 0x12, 0x48, 0x74, 0x1f, 0x2a, - 0xad, 0x8c, 0xd8, 0x76, 0x56, 0x49, 0x81, 0x5a, 0x7a, 0x2b, 0x0e, 0xc0, 0xbe, 0x1f, 0x81, 0x28, - 0x7d, 0x5d, 0x02, 0xb9, 0xda, 0x8c, 0x39, 0xf1, 0x50, 0x82, 0xd5, 0x89, 0x79, 0xd9, 0xd4, 0xbd, - 0x03, 0x45, 0x7f, 0xb7, 0x7e, 0xde, 0x9e, 0x4d, 0x14, 0xa4, 0x50, 0xb4, 0x9a, 0xdc, 0x9a, 0xb4, - 0xc7, 0xf7, 0xbb, 0x57, 0xd9, 0xc6, 0x3a, 0x25, 0xc7, 0x5e, 0xa5, 0x58, 0x3a, 0xf0, 0x2e, 0x04, - 0xdd, 0xb4, 0xe7, 0xa6, 0x16, 0xc4, 0x33, 0x91, 0x40, 0x4c, 0x10, 0xc0, 0x15, 0x5d, 0x08, 0xce, - 0xe2, 0x80, 0xaf, 0x1a, 0x35, 0x69, 0x8a, 0xc4, 0xe1, 0x59, 0xfb, 0xd2, 0x9e, 0x69, 0xe2, 0x32, - 0x8f, 0x71, 0x4c, 0xd2, 0x1a, 0xee, 0x21, 0x35, 0x43, 0xaf, 0xdf, 0x66, 0x70, 0x74, 0x68, 0x99, - 0xc4, 0x79, 0x2b, 0xe4, 0x6a, 0x64, 0x37, 0x74, 0xa1, 0x7b, 0x7c, 0x1f, 0xac, 0x98, 0xf8, 0x92, - 0xdc, 0xf4, 0xcd, 0xac, 0xfe, 0x18, 0x41, 0x4a, 0xf3, 0xee, 0xd2, 0x8f, 0xe6, 0xc4, 0x94, 0x36, - 0xfc, 0xfd, 0x96, 0x18, 0x46, 0x05, 0x82, 0x9b, 0x46, 0x22, 0xef, 0x07, 0x54, 0xa2, 0xda, 0x20, - 0x6e, 0xd9, 0x42, 0x75, 0x5f, 0x4a, 0x33, 0x6e, 0xbd, 0xca, 0xde, 0xaf, 0xae, 0xc0, 0x8c, 0x72, - 0x92, 0x20, 0x46, 0x27, 0x95, 0xe9, 0x09, 0xcb, 0xf2, 0x46, 0xe9, 0x6b, 0x5d, 0x04, 0xd1, 0x02, - 0xb6, 0xad, 0x37, 0xa3, 0x53, 0x48, 0x46, 0xa3, 0x05, 0x93, 0xd7, 0xbc, 0xd0, 0xc5, 0x7c, 0xea, - 0x6a, 0x31, 0x65, 0x24, 0x64, 0x9a, 0x6c, 0x2b, 0x33, 0xb2, 0x87, 0xa1, 0x22, 0xb3, 0x65, 0xbd, - 0x62, 0x94, 0x91, 0xea, 0x09, 0x72, 0xa1, 0xe7, 0xee, 0x71, 0x5a, 0xc6, 0xde, 0x1a, 0xae, 0x6b, - 0x29, 0x8c, 0xa5, 0x7d, 0xdf, 0xcf, 0x8f, 0x33, 0x0f, 0xbc, 0xa7, 0x7f, 0x2c, 0x94, 0x09, 0x64, - 0x61, 0xfc, 0xc7, 0x4b, 0x18, 0xc4, 0x70, 0x59, 0x38, 0xd4, 0x88, 0x7f, 0xa6, 0x80, 0x49, 0x76, - 0x87, 0x54, 0xa7, 0x32, 0xf0, 0xe2, 0x91, 0x25, 0x32, 0xfa, 0xd4, 0xf6, 0xc2, 0x31, 0x5d, 0x75, - 0x20, 0x95, 0x94, 0x76, 0x46, 0xf3, 0xd5, 0x79, 0x23, 0x05, 0x26, 0xa7, 0x5a, 0x86, 0xdd, 0x23, - 0x70, 0x09, 0xc5, 0x65, 0x14, 0xa4, 0x9b, 0x8c, 0xac, 0xe2, 0x09, 0xac, 0x44, 0x99, 0x4b, 0xea, - 0x51, 0x74, 0x37, 0x1d, 0x08, 0xd9, 0x82, 0x74, 0x32, 0x30, 0xa3, 0x6b, 0x5e, 0x8f, 0xfe, 0x0b, - 0x34, 0xfd, 0x1d, 0x5a, 0x7e, 0x32, 0xe9, 0x4c, 0x4e, 0xbd, 0x68, 0xba, 0x1a, 0x9c, 0x09, 0xb8, - 0x91, 0x5c, 0x98, 0x9f, 0xd7, 0xb7, 0x8e, 0xfe, 0xc3, 0xcf, 0x81, 0xab, 0xcf, 0x82, 0x08, 0x57, - 0x16, 0x74, 0x96, 0x77, 0x97, 0xe3, 0x7b, 0xcf, 0xf5, 0x71, 0xd6, 0x69, 0x19, 0x80, 0xa1, 0x16, - 0xb9, 0xa1, 0x9f, 0x5e, 0xe6, 0x9c, 0xcc, 0xae, 0x0f, 0xa9, 0x2a, 0x09, 0xa1, 0x0d, 0x99, 0xba, - 0x1c, 0xe0, 0x80, 0xa2, 0x7c, 0xc8, 0xbf, 0x86, 0x36, 0x7e, 0xaa, 0x72, 0xaa, 0x12, 0x36, 0x19, - 0xda, 0xbd, 0xc7, 0xa6, 0xc9, 0x9e, 0x86, 0xc0, 0xa2, 0x07, 0x15, 0xf7, 0xf8, 0x84, 0x02, 0xfb, - 0x86, 0xba, 0x18, 0x09, 0x1c, 0x62, 0xd5, 0xdd, 0x14, 0x5d, 0x37, 0xb8, 0x87, 0x97, 0xe9, 0xdb, - 0x52, 0xe4, 0x9e, 0x64, 0xdc, 0x95, 0xb0, 0xc3, 0xca, 0x4f, 0x37, 0xc0, 0xb0, 0x50, 0x1a, 0x89, - 0xd0, 0xd5, 0x5a, 0xf6, 0xc1, 0x31, 0x85, 0x6f, 0x7b, 0x1f, 0x92, 0x39, 0x25, 0x8e, 0xef, 0x96, - 0xbd, 0x71, 0xab, 0xc7, 0x9b, 0x7f, 0xcb, 0xd0, 0xaf, 0xd5, 0xe9, 0xbd, 0xd7, 0x28, 0x26, 0x0f, - 0x8f, 0xa2, 0xdf, 0xd2, 0x80, 0x21, 0xfd, 0x1c, 0xdc, 0xf5, 0x86, 0xc5, 0x17, 0x03, 0xd3, 0x9f, - 0xc6, 0x89, 0x18, 0xa2, 0x0c, 0xe0, 0x1e, 0xfd, 0xc3, 0xbf, 0x02, 0xeb, 0x1f, 0x18, 0x95, 0x0a, - 0x36, 0xe3, 0xfa, 0x27, 0x50, 0x3a, 0xfa, 0x96, 0xc1, 0x18, 0xdd, 0x88, 0x9c, 0xeb, 0x65, 0x22, - 0x30, 0xc2, 0xfa, 0xd3, 0xb9, 0xaf, 0x08, 0x58, 0xbe, 0x11, 0x14, 0xdf, 0x87, 0xb2, 0x78, 0x5c, - 0x66, 0xc3, 0xf8, 0xb8, 0x6e, 0x7a, 0x98, 0x35, 0x23, 0x42, 0xfc, 0x47, 0x24, 0x69, 0xbe, 0x7b, - 0xa7, 0x81, 0x94, 0x6a, 0xb2, 0x38, 0x39, 0xe0, 0x6d, 0xbb, 0x71, 0xdf, 0x2e, 0x9b, 0xb3, 0xc6, - 0x19, 0x5a, 0xca, 0x5b, 0x51, 0xbf, 0xc9, 0x0e, 0xac, 0xe5, 0x47, 0xfd, 0xa7, 0xfe, 0x84, 0x2f, - 0xbb, 0x98, 0xbd, 0x3a, 0x5d, 0xcf, 0x51, 0xd3, 0x9a, 0xdd, 0x97, 0x59, 0xfc, 0xfd, 0xbb, 0xeb, - 0x36, 0x60, 0x6a, 0xb6, 0x64, 0x0a, 0x38, 0x7b, 0xf6, 0xd0, 0xc1, 0xb7, 0x1f, 0xd7, 0xf5, 0xac, - 0xb0, 0x11, 0xa2, 0xae, 0x8d, 0xcd, 0x88, 0x3e, 0xe0, 0xe2, 0xa9, 0x05, 0x8b, 0x71, 0x1c, 0x3a, - 0x7c, 0x35, 0x75, 0x96, 0xe8, 0x85, 0x09, 0xa9, 0x59, 0xa8, 0x31, 0xab, 0x88, 0x7b, 0x64, 0x25, - 0x34, 0xbb, 0x4f, 0x4c, 0x1b, 0x68, 0x9c, 0xdd, 0x0f, 0x7f, 0x60, 0xf8, 0x70, 0xad, 0x1e, 0x8d, - 0xef, 0x13, 0x67, 0x95, 0x68, 0xb6, 0x47, 0x71, 0x80, 0xc0, 0x85, 0xa4, 0x8d, 0x8f, 0xc5, 0xb3, - 0x86, 0x5f, 0x68, 0xcf, 0x02, 0xd1, 0xac, 0xf9, 0x9d, 0x05, 0xbe, 0xdd, 0x39, 0x3a, 0xae, 0x2b, - 0xf2, 0x0e, 0x9f, 0xfb, 0x83, 0xc3, 0xfd, 0x9f, 0x47, 0x47, 0xda, 0xd6, 0x49, 0xbd, 0x7f, 0x26, - 0x8c, 0xf5, 0x53, 0x5e, 0xce, 0x2b, 0xfd, 0xaf, 0xcc, 0x3f, 0x2e, 0x2a, 0x87, 0x9d, 0x29, 0xd6, - 0xb3, 0x8f, 0xeb, 0x45, 0x06, 0xd9, 0x2a, 0x6e, 0x80, 0x1e, 0xd0, 0x0c, 0x87, 0xa0, 0x36, 0x67, - 0x36, 0x43, 0x36, 0x83, 0x0a, 0x46, 0x80, 0xe9, 0x97, 0xcf, 0xe2, 0x40, 0xcd, 0xcd, 0x26, 0xe7, - 0x27, 0x5d, 0x14, 0x9a, 0xc3, 0x58, 0xf6, 0x68, 0x4b, 0x40, 0x8e, 0x62, 0xc8, 0x49, 0x69, 0x08, - 0xa7, 0xce, 0x86, 0xfd, 0x9f, 0x2c, 0x8f, 0x1b, 0x5f, 0x16, 0xfe, 0xab, 0x73, 0x67, 0x54, 0x6f, - 0x4c, 0x88, 0x1b, 0x03, 0xf5, 0xcf, 0x48, 0xe7, 0xd8, 0xf2, 0x59, 0xa4, 0x51, 0x85, 0x31, 0xa3, - 0xbb, 0xae, 0xcf, 0x18, 0x34, 0xd6, 0x6a, 0x92, 0x09, 0x79, 0xb6, 0x18, 0x86, 0x02, 0xa2, 0x0f, - 0x48, 0x1e, 0x80, 0x17, 0x2e, 0xc6, 0xee, 0x52, 0x51, 0xa8, 0xa4, 0x4d, 0xe2, 0x72, 0x26, 0xd4, - 0x4b, 0x62, 0x49, 0xce, 0xe1, 0x4f, 0xeb, 0x55, 0x9c, 0xa0, 0x0d, 0x5b, 0xc0, 0xc0, 0x34, 0x30, - 0xed, 0x5f, 0x03, 0x10, 0x0c, 0x5f, 0xa4, 0x15, 0xe2, 0x90, 0x48, 0x4e, 0xf8, 0x9c, 0x83, 0x5d, - 0xb1, 0x9a, 0x16, 0xaf, 0x83, 0xf3, 0xc8, 0xfe, 0xc3, 0xda, 0xef, 0xc4, 0xa6, 0x74, 0x8f, 0xa9, - 0xdf, 0x21, 0x08, 0x81, 0x5e, 0x10, 0x0e, 0xca, 0x5e, 0x01, 0x00, 0x9e, 0xb8, 0xe5, 0x8d, 0xb6, - 0x29, 0xd8, 0xd9, 0x29, 0xe2, 0x35, 0x74, 0x98, 0x4c, 0xbb, 0x8c, 0x3a, 0x03, 0x3a, 0x27, 0x58, - 0x9d, 0xdd, 0xbc, 0xc1, 0xe3, 0x42, 0xab, 0x7f, 0x5f, 0x47, 0x2e, 0x6a, 0x03, 0xa3, 0xcf, 0xc8, - 0x18, 0xed, 0x97, 0xb5, 0xbc, 0x1c, 0xc8, 0x2d, 0x91, 0x99, 0x61, 0x8e, 0x84, 0x61, 0x2c, 0x6d, - 0x17, 0xa0, 0x39, 0x7a, 0x71, 0x5e, 0x89, 0x9f, 0xe7, 0x2d, 0x24, 0x5a, 0x8d, 0x0f, 0x8c, 0x9b, - 0x2b, 0x3a, 0x6a, 0xd5, 0x56, 0x82, 0x1e, 0x1b, 0x40, 0xbc, 0x2a, 0x7b, 0xeb, 0xa4, 0x3d, 0xa0, - 0xb5, 0x39, 0x86, 0xc8, 0x5e, 0x35, 0xb9, 0x33, 0x0f, 0x92, 0x5c, 0x67, 0x8b, 0x24, 0x1f, 0x1f, - 0x28, 0x99, 0x40, 0x9a, 0x0a, 0xd7, 0xf0, 0x58, 0xa8, 0x48, 0x2b, 0x9b, 0x41, 0x75, 0x06, 0x24, - 0x68, 0x89, 0x1b, 0x65, 0x62, 0x54, 0xa0, 0x8c, 0x2e, 0xe0, 0x67, 0x79, 0x80, 0x0d, 0x12, 0x24, - 0xa2, 0xc8, 0xa1, 0x4c, 0xb7, 0xfc, 0xdf, 0x1f, 0x03, 0x3c, 0x4c, 0xbf, 0x3e, 0x03, 0x5d, 0x93, - 0xd3, 0xa1, 0x9a, 0x79, 0x89, 0x4d, 0xc2, 0xe5, 0x6b, 0xc7, 0x60, 0x71, 0x59, 0x0a, 0xc6, 0x6f, - 0x4b, 0xed, 0x24, 0x30, 0xe2, 0xa3, 0x15, 0xc5, 0xce, 0xcc, 0x2d, 0xa2, 0x05, 0xa4, 0x5e, 0xfc, - 0x60, 0x22, 0x83, 0xf2, 0xb8, 0x97, 0x74, 0xd9, 0x33, 0x5f, 0xa4, 0x4d, 0x09, 0xe7, 0xfd, 0x8a, - 0x08, 0xc1, 0xdc, 0x85, 0x10, 0xad, 0x9f, 0x4d, 0xd4, 0x1a, 0xe9, 0xe6, 0xf2, 0x2c, 0xdb, 0xdd, - 0xec, 0x04, 0x9d, 0xc9, 0x21, 0xc0, 0xda, 0xbc, 0xda, 0x6e, 0xd4, 0xda, 0x7a, 0xb0, 0x7e, 0xbb, - 0xa3, 0x36, 0x6d, 0xe5, 0x8e, 0xfb, 0xbb, 0x0c, 0x0e, 0xee, 0x30, 0xc6, 0x24, 0x16, 0xd7, 0x9b, - 0x15, 0x82, 0xe8, 0xdf, 0x83, 0xd6, 0xfb, 0xce, 0x5d, 0xad, 0xdc, 0xe7, 0x38, 0xa0, 0x20, 0xd0, - 0xa6, 0xa7, 0x1a, 0xf6, 0x5b, 0xca, 0x68, 0x98, 0x86, 0x02, 0x83, 0x67, 0x24, 0xd7, 0xaf, 0x7b, - 0x5b, 0xc6, 0x67, 0xd6, 0x0c, 0xa4, 0xb3, 0xf5, 0x61, 0x4c, 0xae, 0x81, 0xb6, 0xc5, 0x36, 0x45, - 0xfe, 0x9d, 0xe5, 0x85, 0x19, 0x9a, 0x3e, 0x28, 0x35, 0x34, 0x34, 0xde, 0xb1, 0x97, 0x8c, 0xad, - 0x95, 0x97, 0x41, 0x82, 0x0c, 0xed, 0x4f, 0xf1, 0x59, 0x36, 0x7a, 0xd1, 0xa6, 0x99, 0x53, 0xba, - 0x67, 0x24, 0x8a, 0xe4, 0xfc, 0x1d, 0x79, 0x84, 0xf2, 0xc3, 0x83, 0x90, 0x8a, 0xfb, 0x78, 0x41, - 0x10, 0x34, 0xb0, 0xfb, 0xa4, 0x7f, 0xb0, 0xde, 0xf3, 0xae, 0xca, 0x13, 0x1a, 0x11, 0xd0, 0x4b, - 0x1a, 0xbb, 0x97, 0x33, 0xc4, 0x5b, 0x2a, 0x69, 0xe2, 0x61, 0xf2, 0xcb, 0x79, 0x17, 0xba, 0x88, - 0x77, 0x81, 0x3a, 0x09, 0x69, 0x2a, 0x2f, 0x7f, 0x52, 0xa0, 0x37, 0xbe, 0xae, 0x58, 0x3b, 0xf9, - 0x77, 0x9b, 0x5d, 0xf8, 0x30, 0x37, 0xb1, 0x6d, 0x42, 0xc9, 0xa6, 0x09, 0xb3, 0x41, 0xcd, 0xd5, - 0x62, 0xf4, 0xe6, 0x16, 0x38, 0x63, 0x62, 0x7a, 0x87, 0xbe, 0x73, 0xdb, 0xf2, 0xfb, 0x0c, 0x89, - 0x1d, 0xa3, 0x7b, 0xc0, 0x0b, 0xd4, 0xfd, 0xe7, 0x97, 0x33, 0xa6, 0xfb, 0xdf, 0x8c, 0x1f, 0x58, - 0x9c, 0x74, 0x2d, 0x31, 0x0c, 0xd8, 0xfd, 0xc9, 0xf4, 0x42, 0x56, 0x0e, 0x97, 0xc2, 0x49, 0x7d, - 0xf3, 0xf1, 0x7b, 0x1a, 0x99, 0x04, 0xdb, 0xf7, 0x06, 0x25, 0x24, 0xb3, 0x74, 0xb3, 0x84, 0x19, - 0x2f, 0xea, 0x05, 0x85, 0x00, 0x23, 0xe0, 0x63, 0x51, 0x27, 0x25, 0x36, 0x5d, 0x70, 0xe2, 0x2a, - 0xb6, 0x12, 0xb8, 0x55, 0xfa, 0x5f, 0x9c, 0x27, 0x66, 0xaa, 0x7f, 0xec, 0x2d, 0xb9, 0xc5, 0xc8, - 0x1d, 0x84, 0x55, 0x2f, 0x31, 0x1a, 0xc0, 0x85, 0xb3, 0xeb, 0x7c, 0x7f, 0x0d, 0xd3, 0x9a, 0xdb, - 0x38, 0xea, 0x5b, 0xde, 0xc7, 0x5d, 0x5f, 0xf3, 0x74, 0x83, 0x80, 0x50, 0x11, 0xe8, 0x6f, 0x52, - 0x6e, 0x9d, 0x47, 0x38, 0x6c, 0xaf, 0x37, 0xe3, 0x11, 0xab, 0x9f, 0x3a, 0x3e, 0x61, 0x69, 0xb5, - 0xb9, 0x1c, 0x41, 0xc7, 0x5a, 0x14, 0xaf, 0x0a, 0xc0, 0x15, 0xe5, 0xa9, 0x0a, 0xd0, 0x04, 0x0b, - 0x0b, 0xcd, 0xa2, 0xab, 0xc6, 0x50, 0x2e, 0xd4, 0x74, 0xf3, 0xca, 0xdb, 0x5a, 0x18, 0x7c, 0xf1, - 0x7c, 0x46, 0xed, 0x45, 0x6a, 0x71, 0x4d, 0x0b, 0xbe, 0x25, 0x8f, 0xb5, 0x09, 0x7a, 0xe7, 0xfe, - 0x14, 0xc2, 0x1d, 0xfd, 0xad, 0x91, 0xef, 0x00, 0x62, 0xc6, 0xd1, 0x28, 0xa0, 0x3e, 0xcc, 0xe4, - 0x8e, 0x51, 0xd6, 0x66, 0x4a, 0xd6, 0x78, 0xc8, 0x0c, 0x5d, 0x6e, 0xba, 0x0b, 0xae, 0x03, 0xa4, - 0x4e, 0x56, 0xe8, 0x87, 0xd6, 0x22, 0xfc, 0xca, 0x41, 0xc2, 0xec, 0x52, 0xd6, 0x20, 0x90, 0x06, - 0x2a, 0xa0, 0x5c, 0xea, 0xf0, 0xb1, 0x86, 0xb0, 0xd3, 0x7b, 0xc6, 0xd2, 0x84, 0xa3, 0x6a, 0xc5, - 0x1a, 0xf2, 0x7c, 0x85, 0xd2, 0xb0, 0xe4, 0x3d, 0xb6, 0xc3, 0xa6, 0x37, 0xe7, 0xfa, 0x4e, 0x2a, - 0xdb, 0xa0, 0xf9, 0x77, 0xba, 0x06, 0xa0, 0x70, 0x88, 0x49, 0xe2, 0x07, 0x4f, 0xee, 0x1a, 0x82, - 0xc1, 0x5e, 0xf5, 0xb2, 0xbb, 0xdd, 0x3b, 0x23, 0xa6, 0xd9, 0xda, 0x8c, 0x5f, 0xfe, 0x7a, 0xd3, - 0xc6, 0x3c, 0x07, 0x9a, 0x83, 0x32, 0x9d, 0x3e, 0x2c, 0x03, 0x76, 0x14, 0x3e, 0x62, 0x8c, 0x90, - 0x5f, 0xbe, 0x83, 0x9b, 0x1e, 0x97, 0xef, 0xb3, 0x4c, 0x48, 0xbe, 0xcd, 0xf5, 0x59, 0x75, 0xed, - 0xc4, 0x5e, 0x73, 0x04, 0x21, 0xb5, 0x41, 0x94, 0xd6, 0xf3, 0x93, 0xb7, 0xa1, 0x49, 0x21, 0x48, - 0x27, 0xee, 0x32, 0xc7, 0x93, 0x1f, 0x87, 0x84, 0xf2, 0x9d, 0xba, 0xd3, 0xf4, 0x44, 0xc5, 0xf9, - 0xdb, 0x2d, 0xcd, 0xf4, 0x43, 0x0f, 0xf6, 0x74, 0xfc, 0x79, 0x8b, 0xfc, 0x22, 0x7e, 0x75, 0x16, - 0xab, 0x32, 0x66, 0x40, 0x90, 0xf2, 0x75, 0xdc, 0xb3, 0x15, 0x6c, 0xc8, 0xfe, 0x5d, 0xc0, 0x00, - 0xdf, 0x00, 0x0e, 0x28, 0x18, 0x4c, 0xf7, 0x07, 0x41, 0x02, 0x9b, 0xd4, 0xf1, 0x12, 0xb9, 0x71, - 0x04, 0xcf, 0x61, 0xc6, 0x1e, 0x27, 0x48, 0x3d, 0x43, 0x9b, 0x19, 0xca, 0x9a, 0x4f, 0x3c, 0x9d, - 0x1e, 0x0a, 0xbc, 0x72, 0x2b, 0xb4, 0x77, 0xce, 0x35, 0x41, 0xd3, 0x8f, 0xcd, 0xcf, 0xe6, 0x89, - 0xf5, 0x52, 0x1d, 0x7e, 0x7b, 0xb5, 0x34, 0xa8, 0xeb, 0x8d, 0x76, 0xd4, 0x07, 0xcf, 0xae, 0x16, - 0xf0, 0x8e, 0x84, 0xd5, 0xb3, 0x22, 0xef, 0xdf, 0xd1, 0x0e, 0xef, 0xe2, 0x1a, 0xdb, 0x43, 0x5e, - 0x48, 0xca, 0xd6, 0x4c, 0xd3, 0x96, 0x52, 0x2a, 0xaf, 0xb8, 0xab, 0x48, 0xa2, 0x07, 0x31, 0xda, - 0x0d, 0x88, 0x37, 0xaa, 0x14, 0x83, 0x4b, 0xde, 0x5f, 0x2c, 0xdc, 0xf3, 0xea, 0xb7, 0xfe, 0x8e, - 0x2a, 0x73, 0x8f, 0x6b, 0xdc, 0xf0, 0x98, 0x9d, 0x34, 0x84, 0xca, 0xb6, 0xf1, 0x5c, 0x60, 0x21, - 0x1b, 0x8a, 0x5f, 0xed, 0xc4, 0x37, 0x5d, 0x07, 0x9d, 0x16, 0xe2, 0x74, 0x8c, 0xbc, 0xc8, 0x90, - 0xc9, 0xb3, 0xf2, 0x3e, 0xa4, 0x3e, 0xa0, 0xd7, 0xb9, 0xa5, 0x44, 0x02, 0x7f, 0xa3, 0xa4, 0xcf, - 0xcf, 0xc8, 0xdf, 0xd4, 0x8e, 0x9d, 0xdd, 0xcc, 0x7c, 0xab, 0xc3, 0xec, 0x9a, 0x6c, 0x2a, 0x4f, - 0x53, 0x98, 0x57, 0x4a, 0x94, 0x95, 0x86, 0xd1, 0x57, 0x68, 0x3b, 0xc7, 0x44, 0x18, 0x3f, 0x15, - 0x66, 0x95, 0xfc, 0xd9, 0x19, 0xe9, 0x86, 0x08, 0x1b, 0x0e, 0xf2, 0x74, 0x5c, 0xb5, 0x1a, 0x1b, - 0x71, 0x44, 0xdc, 0x8b, 0xb0, 0xd5, 0xe8, 0x10, 0x5a, 0x0a, 0xd2, 0x74, 0x36, 0xf8, 0xec, 0x8b, - 0x33, 0x52, 0x2b, 0x76, 0xb2, 0x1d, 0x22, 0xc8, 0xfc, 0xeb, 0x84, 0x4d, 0x22, 0x3c, 0x89, 0x49, - 0x9f, 0x6b, 0x54, 0xcc, 0x93, 0xfe, 0x0f, 0x1a, 0x75, 0x67, 0xf3, 0x77, 0x56, 0xf5, 0xed, 0x53, - 0xa6, 0x6b, 0xdf, 0x7f, 0xa2, 0x00, 0x47, 0xde, 0xee, 0x50, 0x02, 0xaa, 0x73, 0x36, 0x79, 0xda, - 0x37, 0xe0, 0x51, 0x4e, 0xc1, 0xa6, 0x84, 0x72, 0xbf, 0xc7, 0x47, 0xe8, 0x6e, 0x8d, 0x02, 0x45, - 0x00, 0xf3, 0xf3, 0x1b, 0xc4, 0x73, 0xbf, 0x61, 0xa4, 0xf9, 0x93, 0x2d, 0xd4, 0x8c, 0x0f, 0xeb, - 0x1d, 0x20, 0x98, 0x6d, 0x91, 0x1e, 0x0f, 0x52, 0xaa, 0xe1, 0xd9, 0x31, 0xfc, 0x8e, 0xa3, 0x41, - 0xa8, 0x3c, 0x9c, 0x84, 0x0c, 0x11, 0xcc, 0x1e, 0xd4, 0xdf, 0x37, 0x3f, 0x21, 0x70, 0xe1, 0xd8, - 0x95, 0xee, 0xae, 0x2a, 0xe3, 0x38, 0x13, 0xa1, 0x25, 0xa6, 0x9f, 0x25, 0x07, 0x6b, 0x4b, 0x86, - 0xda, 0x5c, 0x1e, 0x75, 0xa3, 0x8d, 0xd9, 0x66, 0x9b, 0xff, 0x08, 0x8f, 0xb0, 0x94, 0xaa, 0x5d, - 0xf9, 0xae, 0xfa, 0xf1, 0x30, 0xd3, 0x21, 0xdb, 0x68, 0xa7, 0x1a, 0xaf, 0x21, 0x79, 0xfe, 0x7b, - 0xf4, 0x7b, 0x86, 0xc2, 0xc6, 0x6a, 0xfc, 0xbf, 0x1a, 0x53, 0x08, 0xc9, 0x93, 0x5e, 0xb5, 0x7f, - 0x77, 0x5a, 0xf6, 0xa4, 0x76, 0x90, 0x41, 0x61, 0x37, 0x7e, 0x60, 0xcc, 0xe1, 0xfc, 0x9b, 0xb7, - 0xf1, 0x16, 0xbe, 0x63, 0xf3, 0x1f, 0xea, 0xf8, 0xb4, 0x48, 0xc4, 0x00, 0x1d, 0x4d, 0x15, 0xdb, - 0x53, 0x7b, 0xbb, 0x4c, 0x3d, 0x74, 0xf7, 0x0c, 0x73, 0x92, 0x7f, 0x63, 0x49, 0x9d, 0xd8, 0xfb, - 0xd8, 0xa5, 0x7a, 0xb8, 0x44, 0xde, 0xc8, 0xae, 0x92, 0x14, 0xb3, 0xfa, 0xd6, 0xb5, 0xc8, 0x19, - 0x56, 0xf5, 0x82, 0x31, 0x6f, 0xb9, 0x23, 0x4b, 0x73, 0xb4, 0xb8, 0xf4, 0x39, 0x0f, 0x3f, 0x92, - 0x5e, 0x44, 0x29, 0x94, 0x7e, 0x1d, 0x8e, 0x58, 0x57, 0x0f, 0xab, 0xa6, 0x66, 0x7d, 0x0c, 0x7b, - 0x98, 0xfe, 0x51, 0x4e, 0x55, 0x47, 0x84, 0x6f, 0xe4, 0x2b, 0x21, 0xca, 0x2f, 0x7f, 0xc9, 0xab, - 0x64, 0x64, 0xf6, 0xa0, 0x88, 0x2a, 0x26, 0x9e, 0x07, 0xc2, 0xde, 0xa5, 0x09, 0xc5, 0x68, 0xa1, - 0x4e, 0xd1, 0xbd, 0xa7, 0xad, 0x53, 0xd9, 0x35, 0x15, 0x75, 0x1f, 0x5a, 0x1d, 0x09, 0x76, 0x8c, - 0xbf, 0xf8, 0xe3, 0x3f, 0x35, 0x63, 0x71, 0x08, 0x56, 0x00, 0x2e, 0x9a, 0xf9, 0x00, 0xac, 0xc5, - 0x74, 0x67, 0x8f, 0x47, 0xca, 0x3d, 0xea, 0xdd, 0x48, 0x10, 0x98, 0x80, 0xf0, 0x62, 0xcc, 0x25, - 0x11, 0x33, 0xd7, 0xb3, 0xa6, 0x06, 0x17, 0x06, 0x3f, 0x6e, 0xf9, 0xf2, 0xcf, 0x63, 0x9e, 0x19, - 0x34, 0xf5, 0xf0, 0xaf, 0x27, 0xbd, 0xa9, 0x63, 0x2c, 0x13, 0xde, 0x3d, 0x2d, 0x5d, 0xed, 0xba, - 0xbe, 0x2a, 0x66, 0xd3, 0x06, 0x6b, 0x50, 0xfb, 0x0c, 0xb0, 0x7d, 0x16, 0x29, 0x7c, 0x0a, 0x35, - 0x24, 0xcf, 0xb1, 0x59, 0x35, 0x0b, 0x39, 0xb5, 0xf1, 0x55, 0x63, 0xce, 0x58, 0x01, 0x4c, 0x96, - 0x4c, 0x44, 0x0f, 0xa3, 0xa9, 0x0a, 0x29, 0x75, 0xf0, 0x11, 0xcd, 0x9f, 0xd8, 0x16, 0x0c, 0x9c, - 0xeb, 0x76, 0x99, 0xb2, 0xa2, 0x15, 0xf9, 0xad, 0x5b, 0x2b, 0x00, 0xfe, 0x00, 0x30, 0xd5, 0xd1, - 0x00, 0x72, 0x7e, 0x8f, 0xed, 0x6f, 0x68, 0x40, 0x23, 0x8f, 0x30, 0x03, 0x0f, 0xa7, 0x6e, 0x4c, - 0xa9, 0xe0, 0xb1, 0x72, 0x3c, 0x64, 0xdd, 0x54, 0xdb, 0x4b, 0x72, 0xe5, 0x06, 0x1e, 0x0b, 0xd1, - 0xf2, 0x8b, 0x33, 0xd5, 0x06, 0x8a, 0x4d, 0xdf, 0x74, 0x0f, 0xa3, 0x8f, 0xec, 0x4e, 0xe8, 0x9d, - 0x15, 0x28, 0x9c, 0x99, 0x76, 0xe4, 0x13, 0x73, 0x44, 0xea, 0x11, 0xba, 0xbd, 0xda, 0x91, 0xac, - 0x5d, 0x20, 0xd5, 0x26, 0xa2, 0x21, 0xc7, 0xa4, 0xc5, 0x76, 0xf5, 0x37, 0x9d, 0x95, 0xbf, 0x54, - 0x5a, 0xf4, 0x70, 0x42, 0x27, 0xfb, 0xb7, 0x1c, 0x42, 0x06, 0x09, 0x9d, 0xf3, 0x67, 0x3f, 0xce, - 0x9e, 0xb1, 0xb9, 0xf6, 0xab, 0xa2, 0x42, 0x9c, 0xa9, 0x4b, 0xa1, 0xbd, 0x05, 0x93, 0x10, 0x26, - 0x8e, 0x31, 0x7e, 0x6b, 0x3a, 0x81, 0x9d, 0xc2, 0x54, 0x95, 0xc4, 0x90, 0x10, 0x43, 0x3f, 0xe5, - 0x34, 0x94, 0xab, 0x2d, 0xb8, 0xff, 0x60, 0xe4, 0xcc, 0x3b, 0x7d, 0xfd, 0xc4, 0x3c, 0x06, 0x20, - 0xd8, 0x45, 0xa0, 0xfa, 0x27, 0x43, 0x5a, 0xc3, 0x34, 0x31, 0x5c, 0xa0, 0xd4, 0xf7, 0xb8, 0x97, - 0xe8, 0x7e, 0x3a, 0xe6, 0x07, 0xc1, 0xe3, 0xcf, 0x54, 0x9e, 0xa8, 0x19, 0x75, 0xfc, 0x7b, 0x14, - 0x05, 0xc8, 0x70, 0x1f, 0x76, 0x0b, 0x6c, 0x95, 0x0c, 0x9c, 0xb1, 0x6c, 0x23, 0x99, 0xfd, 0xa5, - 0xa1, 0xfb, 0xb4, 0x06, 0x2a, 0xfd, 0x01, 0xbc, 0x7c, 0x25, 0xca, 0x24, 0x83, 0x2f, 0xb5, 0xe3, - 0xbb, 0x66, 0x15, 0xcc, 0x48, 0x4b, 0xbb, 0x14, 0xb1, 0x34, 0x49, 0x3d, 0xc1, 0xce, 0x2c, 0xb8, - 0x19, 0x00, 0x64, 0xe3, 0x9f, 0x24, 0x3b, 0x77, 0xbb, 0x96, 0x4c, 0xd7, 0x6d, 0xce, 0x74, 0x67, - 0xcd, 0x19, 0x7e, 0x12, 0xdc, 0xf0, 0x0a, 0x6d, 0x12, 0xd7, 0xf0, 0x8a, 0xe0, 0x3e, 0x87, 0x06, - 0x4b, 0x28, 0xdc, 0x6c, 0x84, 0x2a, 0xd9, 0x53, 0xb8, 0x7e, 0xdc, 0xff, 0x75, 0xdb, 0xf7, 0xd1, - 0x86, 0x23, 0xb4, 0x5f, 0x25, 0x8b, 0xd3, 0xe9, 0xe1, 0x8b, 0x92, 0xe9, 0xda, 0xea, 0xca, 0xeb, - 0x4e, 0xe1, 0x37, 0x04, 0x9a, 0x76, 0x9e, 0x26, 0xa5, 0x8d, 0xb2, 0xaf, 0x6d, 0x54, 0x2f, 0xb3, - 0x19, 0xe0, 0xed, 0xdb, 0x61, 0xd7, 0xdd, 0x0d, 0xe6, 0x93, 0xc9, 0x93, 0x09, 0x55, 0x8c, 0xc8, - 0x7e, 0xe3, 0x08, 0x2d, 0x3b, 0x8d, 0x7d, 0x8e, 0x2d, 0xc4, 0x51, 0x5a, 0xb9, 0xf2, 0x20, 0x0e, - 0xd1, 0xdc, 0x2a, 0xa3, 0x3b, 0xa4, 0x62, 0x01, 0xce, 0x5d, 0xd8, 0xe2, 0x4f, 0x49, 0xea, 0xd6, - 0xd6, 0xef, 0xa7, 0x49, 0x84, 0xd4, 0x93, 0x89, 0xc7, 0x76, 0xa2, 0x7f, 0xe8, 0x4f, 0x26, 0x41, - 0x89, 0x26, 0xe6, 0xe5, 0xf3, 0x88, 0x2a, 0xb0, 0x4f, 0xbf, 0x69, 0x48, 0x3b, 0x46, 0xca, 0xd5, - 0x7e, 0xb1, 0x6f, 0x99, 0xc3, 0xc2, 0xa8, 0xed, 0x26, 0xf5, 0x48, 0x35, 0x9f, 0xac, 0x20, 0x33, - 0xbf, 0x8c, 0x0e, 0x3a, 0x2a, 0xb3, 0xf6, 0x41, 0x15, 0x1b, 0x50, 0x5f, 0x77, 0x34, 0xcf, 0x13, - 0x8d, 0x89, 0x3c, 0x65, 0x89, 0x77, 0x62, 0x1b, 0xfc, 0x65, 0x97, 0x05, 0xdd, 0x39, 0x00, 0x9e, - 0x2f, 0xa3, 0x4b, 0x4a, 0xe6, 0xd2, 0xe2, 0x71, 0x8f, 0xe7, 0xb2, 0x02, 0xc2, 0x6f, 0x03, 0x9c, - 0x17, 0x6f, 0x23, 0xdd, 0xd2, 0xb9, 0x54, 0x75, 0xea, 0xfa, 0xfb, 0x45, 0xd8, 0xb4, 0xe9, 0xf0, - 0x08, 0x75, 0xb9, 0x4b, 0xaa, 0x0e, 0xa8, 0x89, 0x2b, 0x20, 0x22, 0xf2, 0xcd, 0x16, 0x8c, 0x1f, - 0xa3, 0xd7, 0x38, 0xa9, 0xd7, 0x3b, 0x03, 0x71, 0x01, 0x08, 0x0c, 0xf3, 0x49, 0xe1, 0x08, 0x1e, - 0xaf, 0x29, 0xb8, 0xbd, 0x27, 0x44, 0x4a, 0x6f, 0x2a, 0x48, 0xde, 0xa6, 0x4a, 0x3c, 0xd3, 0x97, - 0x8a, 0x79, 0x8d, 0xee, 0x38, 0x67, 0xe6, 0x24, 0xce, 0x4d, 0x36, 0x14, 0x54, 0x28, 0x32, 0x2d, - 0xed, 0x74, 0xeb, 0x66, 0xc4, 0x2f, 0x1b, 0x2f, 0xf3, 0xf5, 0x2a, 0xe6, 0x47, 0xa1, 0x9a, 0x00, - 0x20, 0xde, 0x19, 0xfb, 0x4c, 0x53, 0x14, 0xde, 0x69, 0x7d, 0x9a, 0xbf, 0x0f, 0xa1, 0xcf, 0x98, - 0x93, 0x7b, 0xf4, 0x17, 0x53, 0x11, 0xf9, 0xbb, 0x1c, 0x5a, 0x67, 0xaa, 0x51, 0x48, 0xf5, 0xc1, - 0xa8, 0x77, 0x51, 0xaa, 0xc4, 0xba, 0xa0, 0xcc, 0x02, 0xfd, 0x21, 0x44, 0x44, 0xe5, 0xe0, 0x04, - 0x00, 0x67, 0xdc, 0x7d, 0x95, 0x30, 0xf8, 0x24, 0xa1, 0xa0, 0x80, 0x9b, 0x0f, 0xb1, 0x80, 0xac, - 0x1c, 0x82, 0x64, 0x51, 0x86, 0x6b, 0x43, 0xd6, 0xa6, 0xff, 0x6b, 0xf2, 0xa5, 0x77, 0x6b, 0xdb, - 0x55, 0xb8, 0x76, 0xc9, 0x9c, 0xf2, 0x1a, 0x90, 0x93, 0x3f, 0xa1, 0xce, 0x44, 0x07, 0x2c, 0x09, - 0x37, 0xde, 0x0c, 0x61, 0xc8, 0x2d, 0xa8, 0xf0, 0xbb, 0xa9, 0x74, 0xdf, 0xdd, 0x20, 0x74, 0xfe, - 0x43, 0xf4, 0xb0, 0x9d, 0xca, 0x59, 0x42, 0xd7, 0xf1, 0x90, 0xff, 0x6a, 0x4c, 0xfb, 0x7b, 0xfa, - 0xb1, 0x39, 0x14, 0x3b, 0xb7, 0x79, 0xfc, 0x0d, 0xa7, 0xbb, 0xe1, 0xab, 0x90, 0x6e, 0x94, 0x4b, - 0x6f, 0x40, 0x75, 0x22, 0xaf, 0xc7, 0x1d, 0xc5, 0xc2, 0x10, 0x6b, 0x4b, 0xe3, 0xa0, 0x31, 0x82, - 0x29, 0xc3, 0x79, 0x8e, 0xe8, 0x9a, 0xa9, 0x39, 0x89, 0x01, 0x7c, 0xa1, 0x37, 0x38, 0x4a, 0x0c, - 0xe3, 0x79, 0xe7, 0x86, 0xbc, 0xd1, 0x1d, 0xf4, 0x43, 0x7f, 0xb0, 0x49, 0x7a, 0x2e, 0x94, 0xd8, - 0xac, 0x61, 0x1f, 0x0e, 0x7d, 0x11, 0xc7, 0xea, 0x79, 0x02, 0x6b, 0xc4, 0xba, 0x67, 0x90, 0x94, - 0x90, 0xe6, 0x8c, 0x94, 0x03, 0xca, 0x02, 0x70, 0x8e, 0xb4, 0x70, 0x7f, 0xb0, 0xd9, 0x59, 0xad, - 0xe5, 0x91, 0x91, 0x8d, 0x42, 0x04, 0x25, 0xdb, 0x39, 0x7e, 0xba, 0xd7, 0x18, 0xf6, 0xff, 0xc8, - 0x97, 0xad, 0xe2, 0x78, 0x71, 0xb2, 0x33, 0x4f, 0xee, 0x97, 0xba, 0x02, 0xf1, 0x1f, 0x1d, 0x31, - 0xc9, 0xf7, 0x0c, 0x91, 0xb6, 0xac, 0x7e, 0x59, 0x22, 0xf9, 0x83, 0xd7, 0xf6, 0x67, 0x39, 0x68, - 0x16, 0xb0, 0x89, 0xca, 0x98, 0xcd, 0x67, 0xc9, 0x90, 0x30, 0x3a, 0xf2, 0xba, 0xe8, 0x2e, 0x24, - 0x20, 0x63, 0xc5, 0xb0, 0x59, 0xb9, 0x5d, 0x15, 0x5e, 0x6a, 0x93, 0xf9, 0x2a, 0x3c, 0x4e, 0x9b, - 0xd4, 0x1a, 0x5f, 0xeb, 0x92, 0x56, 0xec, 0x33, 0x4b, 0x69, 0x22, 0x62, 0x82, 0x9a, 0x15, 0x8a, - 0xd7, 0x79, 0xd6, 0x24, 0xe4, 0x66, 0x6a, 0x4e, 0xeb, 0x51, 0xb6, 0x18, 0x1a, 0xf5, 0xe1, 0x72, - 0xda, 0x70, 0xdc, 0xb4, 0x27, 0x1e, 0xac, 0x71, 0x8c, 0xeb, 0xfa, 0x83, 0x73, 0x5e, 0x62, 0x61, - 0xef, 0x29, 0x51, 0x1d, 0x02, 0xca, 0x04, 0xea, 0x16, 0x41, 0xd1, 0x21, 0x1e, 0xcb, 0xb6, 0xea, - 0x3b, 0x9d, 0xe3, 0x58, 0x78, 0x33, 0x28, 0x82, 0x7d, 0x77, 0xad, 0x01, 0x45, 0x2f, 0x57, 0xb4, - 0xd6, 0x93, 0x71, 0xfd, 0x80, 0xed, 0xb7, 0x68, 0xff, 0x2c, 0xd1, 0x86, 0x4d, 0xb6, 0x7f, 0x31, - 0x33, 0xd5, 0x09, 0x04, 0x6c, 0x6e, 0x1d, 0x8b, 0xa4, 0xf2, 0x02, 0x5b, 0x77, 0x9e, 0x13, 0x2e, - 0x14, 0x69, 0x64, 0xf2, 0xa3, 0x0e, 0xa6, 0x1b, 0x5c, 0xb5, 0x93, 0x79, 0xc6, 0xd0, 0x7a, 0xf3, - 0x9a, 0x23, 0x0a, 0x65, 0x09, 0x91, 0x5e, 0x7d, 0xe9, 0xe1, 0x96, 0xe3, 0x26, 0x5c, 0xde, 0x14, - 0xc2, 0x63, 0xa4, 0xa4, 0x71, 0xe5, 0xd6, 0x75, 0x08, 0x2d, 0xb9, 0x22, 0x3e, 0xe7, 0x89, 0xb7, - 0x0a, 0x95, 0x47, 0x64, 0x51, 0x65, 0x6f, 0xb6, 0xc1, 0xb8, 0xaf, 0x0b, 0x6b, 0x2c, 0x17, 0x1d, - 0xe3, 0x8c, 0x54, 0x5b, 0xab, 0xc9, 0xec, 0xa9, 0x84, 0xb9, 0x85, 0x35, 0xac, 0x11, 0x29, 0x18, - 0x90, 0xdc, 0x1e, 0x50, 0x1c, 0x45, 0x7c, 0xbf, 0xc6, 0xee, 0x36, 0xf6, 0x12, 0xec, 0x6f, 0x67, - 0xa0, 0xcf, 0x29, 0x5f, 0x2d, 0x6a, 0x1c, 0xe7, 0x29, 0x2a, 0x67, 0x9f, 0x18, 0x8b, 0x72, 0xe8, - 0x5f, 0xda, 0xec, 0x2d, 0xd9, 0x22, 0xed, 0x39, 0xbe, 0xde, 0x08, 0x3c, 0x83, 0xf0, 0xa6, 0x70, - 0x86, 0xd4, 0xe8, 0x0e, 0x9f, 0x4b, 0x8d, 0x9b, 0x55, 0x32, 0x56, 0xb6, 0xd9, 0xbd, 0x39, 0x9d, - 0xe1, 0xec, 0x21, 0x60, 0xa0, 0x37, 0xed, 0x9d, 0x6c, 0x93, 0x66, 0x22, 0xbd, 0xec, 0x43, 0x1d, - 0xa3, 0x50, 0x39, 0x5b, 0x82, 0x7a, 0x69, 0x1f, 0x00, 0x94, 0x36, 0xb9, 0x51, 0xac, 0xf2, 0x50, - 0x17, 0xf6, 0x55, 0xc5, 0xcd, 0x7a, 0x9e, 0x4d, 0x6d, 0xce, 0x23, 0x05, 0x22, 0xf8, 0xf7, 0x98, - 0xb3, 0xb0, 0xc0, 0x5a, 0x6c, 0x4b, 0xce, 0xf7, 0x9f, 0x9a, 0x0b, 0xa9, 0x69, 0xa7, 0x43, 0xc9, - 0x4e, 0xf6, 0xe4, 0xc7, 0xa3, 0x61, 0x23, 0x81, 0x93, 0x79, 0x16, 0xda, 0x79, 0xf9, 0x08, 0xa8, - 0xcd, 0x4c, 0x14, 0xab, 0xf1, 0x3e, 0x10, 0x38, 0x77, 0x1a, 0xff, 0x0e, 0xd4, 0x14, 0x6b, 0x46, - 0x08, 0xaa, 0x3d, 0x47, 0x97, 0x4b, 0xb8, 0x93, 0xdd, 0xcb, 0xd7, 0xf7, 0xe9, 0x6b, 0x03, 0xed, - 0x4a, 0x79, 0xd8, 0x9b, 0xe8, 0x48, 0x13, 0x66, 0xfa, 0x40, 0xac, 0xaa, 0x79, 0x31, 0x5b, 0x2c, - 0x52, 0xdd, 0x5f, 0x40, 0x7b, 0x49, 0x7b, 0xf7, 0x03, 0x2a, 0x56, 0x82, 0x9a, 0x89, 0x52, 0x14, - 0xb9, 0x02, 0x22, 0x5c, 0xd3, 0xa2, 0x8e, 0x1b, 0x48, 0x13, 0x96, 0xa0, 0x95, 0x32, 0xc9, 0xe7, - 0xbc, 0xba, 0x5f, 0xd4, 0x30, 0x39, 0xd9, 0xa5, 0x8e, 0x48, 0x8f, 0x42, 0xcb, 0x18, 0xef, 0xcf, - 0x5a, 0xc5, 0x2f, 0x71, 0xc7, 0x43, 0x00, 0x99, 0xd2, 0xeb, 0xe5, 0x58, 0x92, 0xce, 0xda, 0xa7, - 0xab, 0x48, 0x1e, 0x4a, 0xa2, 0x60, 0x12, 0x39, 0x3d, 0x6a, 0x57, 0xb0, 0x4f, 0x38, 0x4f, 0x36, - 0x93, 0x09, 0x49, 0x8f, 0x2c, 0x3e, 0x60, 0xd0, 0x8f, 0x33, 0x30, 0xf4, 0x93, 0x40, 0x72, 0xaf, - 0x4f, 0x77, 0xf7, 0x13, 0x06, 0xde, 0x04, 0xee, 0xa1, 0xaf, 0xfa, 0xb3, 0xa5, 0x9c, 0x7e, 0xc8, - 0xad, 0x9c, 0x16, 0x91, 0x94, 0xb9, 0x6e, 0x47, 0xb2, 0xfe, 0x3a, 0x09, 0x73, 0x62, 0x1e, 0xd5, - 0xa2, 0x4a, 0xc5, 0x3c, 0xc8, 0x83, 0x19, 0xd9, 0xe6, 0x99, 0x94, 0x5f, 0x30, 0xed, 0x63, 0xcf, - 0x13, 0xc6, 0x55, 0xc8, 0xc7, 0x5f, 0xb9, 0x5e, 0x4f, 0xe2, 0xfb, 0xb3, 0x47, 0x8b, 0xee, 0xd8, - 0xc3, 0xf7, 0x0c, 0x68, 0xfa, 0x14, 0x66, 0x71, 0x46, 0xa0, 0x66, 0x6b, 0xde, 0xaa, 0xf0, 0xc1, - 0x8b, 0xdd, 0xe1, 0xc1, 0xd0, 0xd7, 0xe9, 0x62, 0xc0, 0xbc, 0x8e, 0xf0, 0x65, 0xcf, 0x39, 0x54, - 0x61, 0x75, 0xb7, 0xe7, 0x6e, 0x3d, 0x0c, 0xb6, 0x48, 0x13, 0x6a, 0xba, 0x5e, 0x42, 0x69, 0x53, - 0x0d, 0x62, 0xbb, 0xb2, 0x18, 0x83, 0x6c, 0x40, 0xfc, 0x01, 0x8f, 0xa0, 0x10, 0xbb, 0x45, 0x4c, - 0x74, 0xbe, 0x53, 0x91, 0xbf, 0x22, 0x5c, 0x3b, 0x62, 0x60, 0x1a, 0xa0, 0xe2, 0x73, 0x89, 0x83, - 0xa3, 0xc4, 0x6a, 0xcf, 0x3a, 0x3b, 0x98, 0xca, 0x70, 0xe5, 0xfe, 0x71, 0xad, 0x0b, 0x2b, 0x4c, - 0xc6, 0x0e, 0xb7, 0x3e, 0x20, 0x70, 0x52, 0x98, 0x2e, 0x39, 0xcc, 0x72, 0xfe, 0x99, 0x08, 0x7c, - 0xfa, 0x46, 0x05, 0x46, 0x30, 0xbd, 0x20, 0x69, 0x3b, 0x7e, 0x64, 0x83, 0x90, 0xce, 0x81, 0x52, - 0x51, 0xb1, 0x13, 0xff, 0x5b, 0x4e, 0x73, 0xec, 0x4b, 0x9a, 0xdd, 0xe8, 0x8f, 0xce, 0x57, 0x5f, - 0x6f, 0x5a, 0xe5, 0xbc, 0xda, 0x7c, 0xe1, 0x6a, 0x7f, 0x08, 0x09, 0xb0, 0x6f, 0x8e, 0x44, 0x72, - 0x36, 0xbc, 0x98, 0x66, 0xaf, 0xfb, 0xc1, 0xdd, 0x81, 0x40, 0x1e, 0xe1, 0x15, 0x9a, 0x2e, 0x04, - 0x24, 0xd3, 0x0a, 0x55, 0xf0, 0x00, 0x6d, 0x53, 0xd2, 0x7b, 0x73, 0x9e, 0x23, 0x5b, 0x0f, 0xf5, - 0xd8, 0x5a, 0x06, 0xa0, 0x02, 0xe7, 0x74, 0xf9, 0x56, 0x16, 0x6c, 0xd3, 0xee, 0xbb, 0xa6, 0x96, - 0x4f, 0xd9, 0xe5, 0x0e, 0x98, 0xe7, 0x0f, 0xf6, 0xa0, 0xd5, 0xee, 0x27, 0x3c, 0xa0, 0xff, 0x81, - 0xf9, 0xc0, 0xf6, 0xa7, 0x79, 0x1f, 0x9f, 0x7f, 0x6a, 0x7b, 0x97, 0x9a, 0x84, 0x14, 0xe1, 0x82, - 0xb7, 0xfc, 0x6c, 0x13, 0x85, 0xd0, 0x67, 0x25, 0xa3, 0x57, 0x0d, 0x53, 0x69, 0xe6, 0x6b, 0x36, - 0xe4, 0x25, 0xe2, 0x33, 0xc7, 0x90, 0x15, 0x67, 0x3a, 0xef, 0xe6, 0x72, 0x3e, 0xdf, 0xad, 0x11, - 0x51, 0x2e, 0x98, 0xc7, 0x79, 0x18, 0x59, 0x19, 0x7a, 0xd2, 0xbb, 0xfa, 0x10, 0x46, 0xec, 0x07, - 0xeb, 0x38, 0x78, 0x69, 0x9c, 0x9a, 0xf9, 0x15, 0x11, 0xcd, 0xb1, 0xa9, 0x58, 0x83, 0x96, 0x05, - 0x5c, 0x71, 0xab, 0x00, 0xfe, 0x2b, 0x26, 0x61, 0xb3, 0x36, 0x65, 0x08, 0xab, 0x21, 0x1b, 0xaa, - 0x44, 0x3a, 0x63, 0x8d, 0xbd, 0x54, 0xa8, 0x0f, 0x14, 0x8f, 0x73, 0xde, 0x32, 0x99, 0xec, 0x9a, - 0x6f, 0xe3, 0xc4, 0x21, 0x63, 0xad, 0x56, 0x02, 0x55, 0x36, 0x3e, 0xb4, 0x7f, 0xd3, 0x07, 0x18, - 0xc5, 0xdb, 0x40, 0xb2, 0xe7, 0xaa, 0x81, 0x92, 0x4c, 0x27, 0x02, 0x38, 0x3d, 0x65, 0x0f, 0xc8, - 0xfb, 0x66, 0x87, 0x22, 0xd1, 0xc6, 0x07, 0xf6, 0x46, 0x43, 0xfb, 0xad, 0xd0, 0x4e, 0xdb, 0xde, - 0xe3, 0x4c, 0x9d, 0x22, 0x3c, 0x52, 0x30, 0xab, 0x5e, 0xee, 0x75, 0x0b, 0x26, 0x75, 0x16, 0x3f, - 0x94, 0xb3, 0xa5, 0x59, 0x4d, 0xd4, 0x4a, 0xb0, 0x84, 0xb0, 0x35, 0x85, 0xa5, 0x54, 0xbd, 0xe7, - 0x1b, 0xf6, 0x5d, 0x82, 0x53, 0xf2, 0xa9, 0x90, 0x15, 0x52, 0x5c, 0x8f, 0xf4, 0xe7, 0xa7, 0xe0, - 0xc1, 0x58, 0x31, 0xe2, 0xe2, 0x7d, 0xc6, 0x5c, 0x58, 0x08, 0x36, 0xbf, 0x60, 0xd5, 0x26, 0x22, - 0x57, 0x51, 0x15, 0xbb, 0x2b, 0xe6, 0xb0, 0x7b, 0x19, 0x6a, 0xa6, 0x7d, 0x5e, 0x26, 0x6a, 0x97, - 0x71, 0x7c, 0x25, 0x69, 0x5c, 0x17, 0x82, 0x34, 0xbe, 0x1f, 0x0a, 0x08, 0xc1, 0xd4, 0x25, 0x0c, - 0x6d, 0x40, 0xbb, 0xdb, 0x7e, 0xe3, 0x1e, 0xfa, 0x37, 0x95, 0xd9, 0x71, 0x24, 0x51, 0x56, 0x10, - 0xb5, 0x1d, 0x4f, 0xa3, 0xc5, 0xa4, 0xf6, 0x1f, 0xa4, 0x48, 0x0f, 0x5b, 0x36, 0x4a, 0x3a, 0x9d, - 0xbc, 0xf9, 0xc2, 0x8f, 0xaa, 0x2c, 0x28, 0x49, 0x09, 0xf6, 0x0e, 0x0f, 0xfa, 0x29, 0x0b, 0xd3, - 0x95, 0x67, 0x57, 0x42, 0xdd, 0xf9, 0x4c, 0xfa, 0x4b, 0x08, 0x7f, 0x95, 0x26, 0xc0, 0x2f, 0xd0, - 0x13, 0xd6, 0x8d, 0xf7, 0x9f, 0x1b, 0x49, 0x1e, 0xe9, 0xd1, 0xee, 0x3f, 0x22, 0x55, 0xd8, 0x57, - 0xc8, 0x01, 0x5f, 0x03, 0xe0, 0x49, 0xed, 0x90, 0x3f, 0x94, 0x68, 0x86, 0x77, 0x32, 0xa7, 0xcc, - 0x0d, 0xe8, 0x33, 0xe7, 0x3c, 0x7e, 0x67, 0x31, 0x60, 0x5f, 0xd6, 0x94, 0xfa, 0x42, 0x36, 0x23, - 0x77, 0x40, 0x66, 0x6a, 0x86, 0x64, 0xc8, 0x55, 0x03, 0x52, 0x0a, 0x9f, 0x98, 0x29, 0x3b, 0x15, - 0x3b, 0x4d, 0x06, 0x93, 0x36, 0x2b, 0x02, 0xee, 0x48, 0x70, 0xcc, 0x21, 0xb3, 0x25, 0xd7, 0x66, - 0xa3, 0xc2, 0x78, 0xa4, 0x45, 0x80, 0x0a, 0x68, 0x6d, 0x04, 0x6b, 0x1f, 0x78, 0x5f, 0xf7, 0xb0, - 0xfb, 0xc2, 0x4d, 0xe5, 0x16, 0x0c, 0xe8, 0xe7, 0xdb, 0xdd, 0xba, 0x39, 0xc4, 0x57, 0x50, 0x28, - 0xef, 0xe3, 0x28, 0xc7, 0x6d, 0x2e, 0x38, 0xb6, 0x0f, 0x15, 0xf7, 0xfb, 0xe7, 0xf2, 0x56, 0x95, - 0xa7, 0x67, 0xd6, 0x66, 0x10, 0xb8, 0x87, 0x60, 0xf3, 0xbe, 0xe8, 0x00, 0x36, 0x0c, 0xf4, 0x6b, - 0xce, 0x8c, 0xf5, 0x46, 0xad, 0x04, 0xf8, 0x81, 0x88, 0x4b, 0x7e, 0xf2, 0x1b, 0x33, 0x01, 0x62, - 0xa5, 0x24, 0x38, 0xac, 0xec, 0x78, 0xc2, 0x52, 0xec, 0xd4, 0x37, 0x59, 0xe9, 0x90, 0x68, 0x20, - 0xd7, 0x6c, 0x3b, 0xef, 0xae, 0x0a, 0x12, 0x7c, 0x5b, 0xd9, 0x8e, 0x3a, 0x5c, 0xac, 0xa4, 0x61, - 0x2b, 0x0c, 0x3b, 0x94, 0xfb, 0x19, 0x09, 0xfa, 0x94, 0x16, 0xb6, 0xf5, 0x44, 0xe5, 0xa2, 0x1b, - 0x2d, 0x51, 0x04, 0x58, 0x52, 0x2b, 0xa0, 0x17, 0x39, 0xca, 0x26, 0x37, 0x63, 0x16, 0x34, 0x7d, - 0x5e, 0xca, 0xb7, 0xa2, 0xa6, 0x79, 0xe8, 0x52, 0x54, 0x3c, 0xc5, 0x02, 0x94, 0xe9, 0x6e, 0x12, - 0xca, 0x45, 0x46, 0xa6, 0x1f, 0x02, 0x4c, 0x17, 0xcf, 0x6f, 0x72, 0x86, 0x56, 0x50, 0xc5, 0xbc, - 0xe3, 0x10, 0x34, 0xfe, 0x05, 0x01, 0x05, 0xa2, 0x30, 0xac, 0xc0, 0x1e, 0x1f, 0x7a, 0x29, 0x77, - 0xc9, 0xef, 0xbf, 0x06, 0x1e, 0x00, 0xa4, 0x65, 0x54, 0xd7, 0x98, 0x45, 0xb7, 0x95, 0xf5, 0x2c, - 0xa9, 0x68, 0x4d, 0x9d, 0x51, 0xfd, 0x97, 0xd7, 0xc4, 0xc7, 0x79, 0x3c, 0xe7, 0xe4, 0x03, 0x8f, - 0xdf, 0xbe, 0x3e, 0x0e, 0x6a, 0xe9, 0x9c, 0xbe, 0x7c, 0xcf, 0xbd, 0x2f, 0x9e, 0xab, 0x1d, 0xfa, - 0xb3, 0x2a, 0x27, 0x27, 0x3f, 0xa8, 0xee, 0xd9, 0xd6, 0xae, 0x81, 0x70, 0x5f, 0x88, 0x7a, 0x1a, - 0xe3, 0xa3, 0x8f, 0x36, 0xb6, 0xf0, 0xfc, 0x6e, 0xe8, 0x10, 0x51, 0x53, 0xc9, 0x90, 0x42, 0x04, - 0xb2, 0x9f, 0xae, 0xf5, 0xf8, 0x1b, 0x94, 0x28, 0xe3, 0x0e, 0x05, 0x15, 0xe2, 0x0b, 0xbd, 0xbd, - 0xa7, 0x86, 0xd4, 0x93, 0xa6, 0x6f, 0x85, 0x3b, 0x8b, 0xa8, 0x0c, 0x74, 0x5d, 0xe2, 0x08, 0xdf, - 0x35, 0x3d, 0xcd, 0x50, 0x49, 0xd0, 0x04, 0xb3, 0xd4, 0xb0, 0x58, 0x6b, 0xb0, 0xe0, 0x4e, 0x2d, - 0x3b, 0xb8, 0x35, 0x5a, 0xc0, 0x4e, 0xdb, 0xe1, 0xb3, 0x33, 0x6b, 0x7f, 0xfc, 0x7a, 0x76, 0x27, - 0x29, 0x6e, 0xa5, 0xc1, 0x9c, 0x61, 0xa5, 0xf7, 0xd7, 0x0c, 0x5f, 0x51, 0x66, 0xa6, 0x89, 0xce, - 0xae, 0x22, 0x6b, 0x73, 0x8e, 0xa2, 0x8b, 0x44, 0x92, 0x98, 0xb6, 0x20, 0xce, 0x2b, 0xd5, 0xeb, - 0x28, 0x85, 0xac, 0x8f, 0xee, 0xa7, 0x5b, 0x76, 0x00, 0x0b, 0x46, 0x4e, 0xc1, 0x7f, 0xb9, 0x86, - 0x59, 0x15, 0x7b, 0x38, 0x30, 0xe7, 0x03, 0xf9, 0xf4, 0x19, 0xf2, 0xf6, 0x8e, 0xcb, 0xe6, 0x44, - 0xec, 0x2c, 0xcc, 0x7b, 0x00, 0x1d, 0x6b, 0x18, 0x32, 0x95, 0xb3, 0xf5, 0x20, 0x41, 0x8c, 0xe6, - 0x12, 0xd7, 0x0c, 0x8e, 0xaf, 0x84, 0x29, 0x56, 0x9b, 0x1f, 0xe0, 0xb6, 0xa3, 0x42, 0xdb, 0xdb, - 0x88, 0xd5, 0x85, 0x5b, 0x78, 0x06, 0x21, 0xdb, 0x2b, 0x7d, 0x47, 0x7e, 0xe4, 0x74, 0x35, 0xf6, - 0xf3, 0x0f, 0x2c, 0x1d, 0xee, 0xae, 0xd4, 0xc2, 0x69, 0x65, 0x3e, 0xec, 0xb2, 0x98, 0xe1, 0x62, - 0x8a, 0xb9, 0x21, 0x41, 0x23, 0x58, 0x27, 0x3d, 0x16, 0x32, 0x73, 0xe5, 0x25, 0x28, 0xa3, 0x1d, - 0x9f, 0xb4, 0xbc, 0x0a, 0x26, 0x9b, 0x63, 0xb9, 0xef, 0x2c, 0xad, 0x61, 0xce, 0x84, 0x9f, 0x9d, - 0xfb, 0xa9, 0x58, 0xb8, 0x85, 0x30, 0xad, 0xf3, 0xad, 0x92, 0xcc, 0x49, 0x4c, 0x34, 0xb1, 0x0d, - 0xbf, 0xb1, 0xa6, 0xab, 0x16, 0x45, 0x66, 0x20, 0x9d, 0xb9, 0x02, 0x7d, 0xf7, 0xaa, 0x8f, 0x13, - 0x68, 0xd4, 0xab, 0xb9, 0x23, 0xcc, 0xeb, 0x8e, 0x40, 0x86, 0x31, 0x77, 0x39, 0xd0, 0xda, 0x14, - 0xbd, 0x5e, 0x80, 0xb6, 0x21, 0x0b, 0x54, 0x19, 0x24, 0x31, 0xcb, 0xb5, 0x76, 0x09, 0xe5, 0x97, - 0xc4, 0x88, 0xa9, 0x18, 0x16, 0x6d, 0x6d, 0xa6, 0x1a, 0x1a, 0x58, 0x76, 0x02, 0x27, 0x73, 0xc9, - 0xdc, 0x1b, 0xcd, 0x0f, 0xbe, 0xbc, 0x0e, 0x95, 0xa4, 0x00, 0x76, 0x87, 0xa1, 0xb3, 0x35, 0x26, - 0x79, 0x9c, 0x76, 0xd6, 0x64, 0x2b, 0x37, 0xec, 0xcc, 0x0f, 0xb5, 0x25, 0x59, 0xce, 0xa7, 0xf0, - 0x45, 0x60, 0xe0, 0x1b, 0xe9, 0xb9, 0x39, 0x00, 0xdc, 0x68, 0x3e, 0x91, 0x58, 0x86, 0x42, 0x34, - 0xee, 0xc2, 0xe8, 0xda, 0xb7, 0x1d, 0x24, 0xfa, 0x6a, 0x4a, 0xa9, 0xc7, 0x7b, 0x17, 0xdc, 0xc8, - 0xd9, 0xff, 0xfc, 0x86, 0xbf, 0x81, 0xa4, 0x82, 0x86, 0xb4, 0xc0, 0x98, 0x20, 0x16, 0x35, 0xa9, - 0xb2, 0xdf, 0xf3, 0x5a, 0x0e, 0xcf, 0x8c, 0x0a, 0xe3, 0x06, 0x56, 0x48, 0x5d, 0xce, 0xe2, 0x8f, - 0x97, 0x7e, 0x9e, 0x19, 0xa1, 0x23, 0x98, 0x2e, 0x6f, 0x86, 0xed, 0xdb, 0x91, 0xcc, 0xf8, 0x29, - 0xbf, 0xf1, 0x2c, 0x70, 0xb4, 0x84, 0x04, 0xfd, 0x21, 0x3b, 0xf4, 0xf7, 0x82, 0x6e, 0xb5, 0x9c, - 0xd0, 0x5e, 0xde, 0x8c, 0xb5, 0x52, 0xaf, 0xcd, 0xc4, 0x34, 0x5e, 0xb7, 0x2e, 0xfd, 0xe6, 0x1e, - 0x77, 0x78, 0xe5, 0x6f, 0xa5, 0x7c, 0x98, 0x4e, 0xbc, 0x11, 0xff, 0x03, 0xb0, 0x59, 0xc3, 0x76, - 0xf6, 0x14, 0x51, 0xa1, 0x5e, 0x20, 0x7f, 0xce, 0xaa, 0x52, 0x7e, 0x6e, 0xcb, 0xa8, 0xe8, 0xef, - 0x52, 0x4a, 0x38, 0xf2, 0x38, 0xfb, 0x4e, 0xdc, 0x9c, 0xd1, 0xdc, 0xb7, 0xf9, 0xf9, 0x43, 0x1f, - 0x56, 0x17, 0x18, 0x21, 0x0e, 0xee, 0xca, 0x9e, 0x8a, 0x01, 0x00, 0xbc, 0xcd, 0x66, 0x66, 0x61, - 0xee, 0xf9, 0x04, 0x84, 0x06, 0xf4, 0x8a, 0x8b, 0x0a, 0x36, 0xa6, 0x8f, 0xd1, 0xfa, 0x13, 0x5c, - 0x83, 0xd2, 0x6c, 0x4c, 0xdd, 0x14, 0x2d, 0xff, 0x07, 0xd0, 0x0b, 0x8d, 0x38, 0xc7, 0xd7, 0xbf, - 0x7d, 0x47, 0xfb, 0x27, 0x91, 0xdf, 0x5d, 0x35, 0x04, 0x73, 0x6f, 0x25, 0xea, 0x1f, 0xb3, 0x02, - 0xf8, 0x9e, 0x52, 0xce, 0xb8, 0xfc, 0x4b, 0x78, 0xa4, 0x3a, 0x36, 0x2a, 0x04, 0xe2, 0x7b, 0xfc, - 0xd7, 0x40, 0x37, 0xb2, 0xc1, 0x27, 0xd6, 0x57, 0x2b, 0x11, 0x24, 0x9b, 0xc3, 0x6d, 0x93, 0x30, - 0x84, 0x1e, 0xac, 0x47, 0x4c, 0x16, 0xa6, 0x76, 0x75, 0x5a, 0xa9, 0xb9, 0x12, 0x15, 0xe1, 0xa2, - 0xcc, 0xf3, 0xb1, 0xc3, 0xc9, 0xb1, 0xc9, 0x49, 0x90, 0x86, 0x14, 0x2a, 0x69, 0xc0, 0x3e, 0x3e, - 0xbb, 0x65, 0x69, 0x9e, 0x9a, 0x54, 0x19, 0xcd, 0x19, 0xa9, 0x10, 0x56, 0x73, 0xbb, 0x01, 0xd3, - 0x20, 0xa8, 0xe2, 0xbe, 0xf0, 0xdb, 0x2b, 0xc7, 0x33, 0x35, 0x30, 0xf1, 0xfb, 0x08, 0x61, 0x07, - 0x19, 0x5e, 0x76, 0x62, 0x19, 0x15, 0x4d, 0xc7, 0x52, 0xcd, 0xb7, 0x3a, 0xd5, 0xc4, 0x28, 0xae, - 0xdd, 0x64, 0x22, 0xab, 0x0f, 0xdf, 0x19, 0xd1, 0x1d, 0x68, 0xcd, 0xdc, 0x07, 0x5c, 0x79, 0xad, - 0x8c, 0xf1, 0x1e, 0x9e, 0x3d, 0x47, 0xa7, 0x2c, 0x23, 0xdd, 0x1b, 0x49, 0x8c, 0xaa, 0x3b, 0x6d, - 0x8a, 0xa3, 0x90, 0x17, 0x6c, 0x5c, 0x05, 0x86, 0x53, 0x33, 0x48, 0x07, 0x20, 0xa6, 0xfe, 0x72, - 0xd0, 0x90, 0x59, 0x82, 0xb8, 0x48, 0x58, 0x9d, 0x87, 0x17, 0xc2, 0x21, 0x29, 0x73, 0x8c, 0x2b, - 0x46, 0xb7, 0xe2, 0xc1, 0x10, 0x69, 0xa8, 0x5c, 0xc1, 0xfe, 0xa7, 0x2d, 0xce, 0x45, 0x85, 0x0a, - 0xb5, 0xd0, 0xce, 0x0e, 0xa1, 0xb0, 0x34, 0x36, 0x55, 0x65, 0x0a, 0x07, 0x0b, 0x59, 0x3d, 0x21, - 0x24, 0xf5, 0x73, 0x03, 0xde, 0xe7, 0xfa, 0x77, 0x88, 0xe2, 0x0a, 0x8a, 0xa8, 0x11, 0xe1, 0x8e, - 0x06, 0x27, 0xc7, 0x8a, 0x1d, 0x84, 0xd7, 0x05, 0xad, 0x7b, 0xe4, 0x73, 0xa5, 0xe3, 0x64, 0x5a, - 0x6d, 0x84, 0xfa, 0xd3, 0x35, 0x69, 0x44, 0x97, 0x29, 0x7d, 0xfd, 0x9d, 0x30, 0x5f, 0x7b, 0x5f, - 0xac, 0xe0, 0xeb, 0xbc, 0x81, 0x46, 0xc0, 0xc3, 0xc8, 0xbf, 0x03, 0x1c, 0xf9, 0xe1, 0x35, 0x3b, - 0xa3, 0x28, 0x06, 0xdb, 0xd1, 0x9d, 0xde, 0x4e, 0x6c, 0xf8, 0x01, 0xa4, 0x76, 0xcf, 0x98, 0x89, - 0x50, 0x3f, 0xf3, 0xab, 0xe9, 0xdd, 0x87, 0xbf, 0xd2, 0xd1, 0xce, 0xef, 0x98, 0x9a, 0xb3, 0x02, - 0x45, 0x75, 0x2a, 0x8a, 0x97, 0xaa, 0xea, 0x5d, 0x74, 0xdb, 0x51, 0x26, 0x37, 0xc0, 0xd7, 0x60, - 0xb3, 0x79, 0x7a, 0x11, 0xd2, 0x7b, 0xd7, 0xad, 0xc7, 0xfe, 0x3b, 0x7d, 0x91, 0x9f, 0xbc, 0x69, - 0x46, 0x7d, 0xdd, 0x3b, 0x0f, 0x2c, 0x8b, 0x0c, 0x94, 0xc5, 0xd2, 0x7e, 0x48, 0xc7, 0x51, 0xe1, - 0x87, 0xc8, 0xb8, 0x9d, 0x7c, 0x96, 0xa9, 0xb2, 0xf2, 0xe2, 0x3d, 0x16, 0xce, 0x1e, 0xd8, 0x78, - 0xa6, 0x9e, 0xdd, 0xed, 0x14, 0x68, 0x50, 0x1c, 0x69, 0xb2, 0x06, 0x98, 0x93, 0xb3, 0xcc, 0xf9, - 0xc1, 0xdb, 0x7a, 0xca, 0xd3, 0xa5, 0xe8, 0x06, 0x36, 0xa1, 0x70, 0x0a, 0x1a, 0x92, 0x50, 0xa0, - 0xb4, 0x99, 0x52, 0x5e, 0x67, 0x91, 0xa3, 0xcf, 0x95, 0xdf, 0xc5, 0xa1, 0xc4, 0xb8, 0x87, 0x37, - 0xc6, 0xff, 0x2b, 0xd9, 0xd2, 0x94, 0xe3, 0x95, 0xa0, 0xa0, 0x73, 0x69, 0x9b, 0x7a, 0x1e, 0x28, - 0xf2, 0xc4, 0x41, 0x3e, 0xd2, 0x76, 0x71, 0xdf, 0x95, 0x2a, 0xa9, 0x5e, 0x7a, 0x3d, 0x9f, 0xc6, - 0x28, 0x4c, 0xba, 0x8e, 0xc2, 0xf6, 0x83, 0x2d, 0x98, 0x50, 0x6d, 0x6b, 0x34, 0x23, 0x42, 0x4a, - 0x3d, 0xb7, 0xa7, 0x16, 0xdb, 0x1b, 0x0d, 0xbd, 0x67, 0x93, 0x70, 0xa4, 0x49, 0xf2, 0xec, 0x1c, - 0xf9, 0x51, 0x21, 0x42, 0x47, 0x6f, 0x32, 0x4d, 0xe1, 0x4f, 0xd3, 0x3c, 0xcc, 0xd3, 0x30, 0x87, - 0x5e, 0x11, 0x06, 0x9f, 0xc8, 0x02, 0x5e, 0xde, 0x3a, 0x79, 0x3d, 0x3a, 0x99, 0xb1, 0xbb, 0x57, - 0xe1, 0x6d, 0x0a, 0xc9, 0x01, 0x85, 0xd2, 0x61, 0xea, 0x84, 0x90, 0x0a, 0x3f, 0x9c, 0x52, 0x55, - 0xb5, 0x97, 0x73, 0x2f, 0x7b, 0x9a, 0x48, 0x33, 0x68, 0x7e, 0x55, 0x1e, 0x3c, 0x8c, 0x53, 0x5c, - 0x1f, 0x1d, 0xa1, 0xde, 0x1a, 0x86, 0x67, 0x80, 0x55, 0x7d, 0x6d, 0x23, 0xa4, 0x7a, 0x9f, 0xa1, - 0x02, 0x58, 0xe0, 0x4c, 0xc0, 0x9b, 0x36, 0x20, 0x14, 0xb3, 0x09, 0xa9, 0x49, 0x10, 0x65, 0x0c, - 0x0c, 0xac, 0xe3, 0xe4, 0x5e, 0xab, 0x57, 0x21, 0x2e, 0x37, 0xa4, 0x75, 0x32, 0xd2, 0xbb, 0xea, - 0x33, 0xfc, 0xf2, 0xb4, 0x4f, 0xbc, 0x53, 0x49, 0xff, 0x8f, 0xce, 0xd0, 0x8d, 0xf2, 0xfc, 0x5c, - 0xc6, 0x74, 0x32, 0xf2, 0xd2, 0xac, 0xe2, 0x5f, 0xbe, 0x9f, 0xfa, 0x6d, 0x15, 0x6e, 0x02, 0x88, - 0x7c, 0x76, 0xc3, 0xa8, 0xa0, 0xf5, 0x41, 0xc5, 0x5c, 0x7c, 0x8d, 0xae, 0x2b, 0x13, 0xfd, 0xfe, - 0x10, 0x89, 0xc3, 0xb6, 0x70, 0xa1, 0xff, 0x5b, 0x8c, 0x2f, 0x2e, 0x6f, 0xc7, 0x1d, 0x87, 0xcf, - 0x18, 0xc0, 0xb1, 0x52, 0x9a, 0x63, 0x74, 0xcc, 0x8c, 0x5f, 0x5f, 0x4b, 0xfd, 0x63, 0x98, 0x6d, - 0x48, 0x70, 0x75, 0x2f, 0xe7, 0x0c, 0x3f, 0x21, 0x50, 0x02, 0xd7, 0xab, 0xcb, 0xd0, 0x1b, 0x1a, - 0x5e, 0x1c, 0x9f, 0xf0, 0x59, 0x66, 0x9d, 0xaa, 0xa5, 0xe5, 0x2c, 0x3b, 0x58, 0xc9, 0xc6, 0x84, - 0x82, 0x84, 0x1e, 0xab, 0xc0, 0x7d, 0x92, 0x11, 0x6d, 0xa5, 0xa8, 0x2f, 0xb0, 0x0a, 0x70, 0x34, - 0x6f, 0xf9, 0x93, 0xb7, 0x94, 0xe1, 0x83, 0x47, 0xf2, 0x9c, 0x7e, 0x6d, 0x86, 0x7e, 0xe8, 0x68, - 0xf1, 0x85, 0xf0, 0x87, 0x9f, 0xb2, 0x68, 0x61, 0x46, 0x24, 0xd2, 0xc1, 0x11, 0x8a, 0xc5, 0x55, - 0x17, 0xbe, 0x70, 0xc9, 0xd7, 0xad, 0xbe, 0xee, 0x10, 0x01, 0x34, 0x4a, 0xd8, 0xc9, 0x57, 0x54, - 0x4d, 0x34, 0xa6, 0x39, 0x5a, 0x0e, 0x2a, 0x0a, 0x20, 0xef, 0x9b, 0x8a, 0x7e, 0xf0, 0x3b, 0x64, - 0xb1, 0x52, 0x13, 0x76, 0x1c, 0x7a, 0x5a, 0x57, 0x9c, 0x80, 0xfe, 0xe7, 0xbf, 0x05, 0x4e, 0x58, - 0xa4, 0xfc, 0x58, 0xd7, 0x29, 0x9f, 0x8c, 0xca, 0x17, 0xa7, 0x0d, 0x54, 0xef, 0xca, 0x01, 0x76, - 0x5b, 0xe9, 0x1c, 0x44, 0xea, 0x41, 0x85, 0x24, 0x4d, 0xb8, 0x84, 0xe2, 0x4d, 0x60, 0xbb, 0x05, - 0xe2, 0x20, 0xca, 0x4e, 0x3a, 0x08, 0xee, 0xcf, 0x63, 0xef, 0x6a, 0x49, 0xab, 0x97, 0x43, 0xca, - 0x77, 0x67, 0x82, 0x08, 0xe6, 0xff, 0x8a, 0x56, 0xaf, 0x01, 0x5f, 0x15, 0xc5, 0x57, 0xac, 0xa6, - 0xf6, 0x1f, 0xee, 0x56, 0x54, 0xc2, 0x1d, 0x8c, 0xf8, 0xfe, 0xc9, 0x1d, 0x45, 0x36, 0xe5, 0xfe, - 0x0b, 0xa4, 0xaa, 0x79, 0xa3, 0xbc, 0x0f, 0x1c, 0xa4, 0xac, 0xa6, 0xa8, 0x03, 0x73, 0xd8, 0x46, - 0xda, 0xcd, 0xb6, 0x73, 0xa9, 0xb6, 0x0c, 0x11, 0xfb, 0x37, 0xa0, 0x50, 0xa4, 0xf7, 0xd5, 0xea, - 0xeb, 0x99, 0x4d, 0xa9, 0xaf, 0x29, 0xe7, 0xb9, 0xdc, 0x2d, 0x6b, 0x59, 0xeb, 0xea, 0x4d, 0x4d, - 0x8b, 0xea, 0x64, 0x7e, 0xd5, 0x76, 0xc1, 0x64, 0xe4, 0x33, 0x86, 0xf8, 0x91, 0x3d, 0x63, 0xde, - 0x01, 0xa0, 0x2f, 0x86, 0xff, 0x22, 0x96, 0x77, 0xcd, 0xd3, 0xb4, 0x25, 0x9f, 0x2e, 0x6f, 0xa0, - 0x24, 0x88, 0x5d, 0x1b, 0xda, 0x70, 0x41, 0x9b, 0x1d, 0x01, 0x5d, 0x17, 0x16, 0x78, 0x56, 0xaa, - 0x77, 0xba, 0xc4, 0x1b, 0xf2, 0x7a, 0x03, 0x83, 0x08, 0x9f, 0x4a, 0x9e, 0xcd, 0xe0, 0x77, 0x58, - 0xd0, 0xc0, 0x83, 0xad, 0x4d, 0x12, 0xc2, 0x33, 0x18, 0x66, 0xd8, 0x05, 0x5f, 0x22, 0xbd, 0xe9, - 0xc8, 0x39, 0x03, 0x03, 0xa5, 0xc6, 0x04, 0x14, 0xb5, 0x76, 0xd1, 0x8a, 0x3f, 0xab, 0xd0, 0x90, - 0xc1, 0xfb, 0x83, 0xcd, 0x8d, 0x73, 0xe7, 0x13, 0xd0, 0xd0, 0xdf, 0xcc, 0xa5, 0x6f, 0xbc, 0x79, - 0x97, 0x0e, 0x45, 0x22, 0x97, 0x7d, 0xaf, 0x7a, 0x5d, 0x9f, 0xc7, 0x22, 0xec, 0xc5, 0xe9, 0x2a, - 0x0a, 0x3e, 0x36, 0x63, 0xb3, 0x6c, 0xf5, 0xf8, 0xe0, 0x8e, 0x47, 0x4b, 0x9f, 0x75, 0xa1, 0x8e, - 0xa9, 0x4c, 0x46, 0xa9, 0x1d, 0x92, 0xc7, 0x30, 0x04, 0x18, 0x3c, 0xa4, 0x5c, 0x12, 0xeb, 0x8b, - 0xfa, 0x8c, 0x04, 0x8d, 0xa1, 0x61, 0x2f, 0xe2, 0xda, 0x53, 0x6a, 0x4f, 0x62, 0xfb, 0x8d, 0x66, - 0x76, 0x7e, 0x86, 0xd2, 0x07, 0x9a, 0x6f, 0xd2, 0x1a, 0xb2, 0x4e, 0x98, 0xa3, 0x67, 0xd3, 0x94, - 0xa0, 0x63, 0x21, 0x15, 0x82, 0xca, 0xe2, 0x2d, 0x72, 0x5d, 0x5b, 0x62, 0x13, 0xee, 0x16, 0xfb, - 0x55, 0xbb, 0xa9, 0xa3, 0x9f, 0x20, 0xd7, 0xc9, 0x38, 0x31, 0x30, 0xcd, 0xcb, 0xff, 0x1b, 0x37, - 0xb5, 0xae, 0x6e, 0x1d, 0x36, 0xa1, 0x47, 0xae, 0xc5, 0x3d, 0x05, 0x9d, 0xa1, 0x2c, 0x02, 0x8f, - 0xe7, 0xf1, 0x13, 0x68, 0x54, 0x2f, 0xf3, 0xfa, 0xcc, 0xfc, 0x00, 0xcf, 0xc2, 0x53, 0x25, 0xd7, - 0xfe, 0x93, 0x36, 0xd3, 0x5f, 0xd1, 0xbf, 0x20, 0x07, 0xdd, 0xff, 0x4a, 0x94, 0x47, 0xef, 0x33, - 0x60, 0x53, 0xdb, 0x79, 0x32, 0xb2, 0xc4, 0x25, 0xe7, 0x5a, 0x16, 0xcc, 0x97, 0x11, 0x71, 0x74, - 0x45, 0x01, 0x43, 0x02, 0xe9, 0x65, 0xa6, 0xc6, 0x23, 0x2b, 0x2f, 0x5a, 0x4f, 0xcc, 0x90, 0x77, - 0xce, 0x05, 0xca, 0xe5, 0xe5, 0x3e, 0x32, 0x16, 0xe6, 0xc8, 0x5b, 0x96, 0x53, 0x0e, 0xec, 0x31, - 0x59, 0xba, 0x53, 0xdd, 0x8b, 0xf3, 0x79, 0x2a, 0xca, 0x5d, 0x6c, 0xa6, 0x7b, 0x15, 0xea, 0xc0, - 0x9a, 0x6e, 0xf9, 0xad, 0x1c, 0xe9, 0xa5, 0xe2, 0x51, 0x61, 0xf3, 0xcc, 0x5b, 0x12, 0xde, 0x47, - 0xdc, 0x84, 0x83, 0x25, 0xe3, 0x4d, 0x63, 0x10, 0xb8, 0xb7, 0xe0, 0x26, 0xb3, 0xad, 0xbf, 0x2d, - 0x83, 0xea, 0x4c, 0xf9, 0x78, 0x37, 0x29, 0xc6, 0xde, 0xa9, 0x99, 0xe8, 0x9a, 0xd0, 0x13, 0x7e, - 0xba, 0x3a, 0xa5, 0xdb, 0x35, 0xea, 0x72, 0xa4, 0x0c, 0xa9, 0x5a, 0x19, 0x03, 0x62, 0x3d, 0x42, - 0x44, 0x8c, 0x01, 0x7d, 0x79, 0x9a, 0xf8, 0x5b, 0x38, 0x0a, 0x9f, 0xb2, 0x38, 0x95, 0x48, 0x04, - 0x2a, 0x0e, 0x9e, 0x3e, 0xd6, 0x73, 0x00, 0xfc, 0x7f, 0xe0, 0xd7, 0x4f, 0x84, 0x9b, 0x00, 0xa8, - 0xb3, 0x9e, 0xa9, 0x64, 0xdc, 0xdb, 0x33, 0x2b, 0x5a, 0xa6, 0x63, 0x87, 0x21, 0x4f, 0xdf, 0x65, - 0x93, 0xc9, 0x81, 0xb1, 0x24, 0x1f, 0x26, 0x31, 0x64, 0x1a, 0xfe, 0xda, 0x46, 0x05, 0x5b, 0x12, - 0x9b, 0x67, 0x7a, 0xeb, 0xfe, 0x9e, 0x5b, 0xc5, 0x3c, 0x44, 0x11, 0xf0, 0x24, 0x7b, 0x66, 0xb4, - 0x91, 0x55, 0x52, 0x30, 0x15, 0x4c, 0x98, 0xac, 0xc9, 0x0b, 0x27, 0xab, 0x49, 0xe3, 0x2a, 0x68, - 0xf8, 0x73, 0x16, 0xcd, 0xcc, 0x07, 0x68, 0xb7, 0xb6, 0x10, 0x15, 0xc2, 0xed, 0xde, 0x76, 0x9b, - 0xdd, 0x79, 0x30, 0x67, 0xa3, 0x81, 0xee, 0x94, 0x88, 0x67, 0x6a, 0x8b, 0x0a, 0xf9, 0x30, 0x6e, - 0x34, 0xeb, 0x69, 0x3e, 0x26, 0xf2, 0x6d, 0x02, 0xd7, 0x3d, 0x49, 0x08, 0xe0, 0xd6, 0x8d, 0x6f, - 0xfa, 0x1e, 0xed, 0x19, 0xaf, 0xd8, 0xc9, 0x25, 0x51, 0xe6, 0x91, 0x8c, 0x3d, 0xb4, 0xd5, 0xa2, - 0x6f, 0x21, 0x43, 0x08, 0x81, 0xd9, 0x52, 0x5a, 0x54, 0x5c, 0xb9, 0xac, 0x52, 0xda, 0x7f, 0x58, - 0x29, 0x9c, 0x87, 0x17, 0xee, 0x1b, 0xfb, 0x5c, 0x15, 0xbc, 0x55, 0x18, 0x8d, 0x07, 0x76, 0xed, - 0x66, 0xf5, 0x5d, 0xd7, 0xc0, 0xa1, 0x90, 0x57, 0xb3, 0x3e, 0xd3, 0xd0, 0x45, 0x1f, 0x34, 0x45, - 0xe1, 0x5f, 0x7f, 0x49, 0xf6, 0x6d, 0xb6, 0xc1, 0x2f, 0x4e, 0x0d, 0x89, 0xbf, 0x26, 0xfb, 0x89, - 0x55, 0x56, 0x6f, 0xea, 0xcb, 0x5a, 0x86, 0x86, 0x98, 0xa2, 0x31, 0x8b, 0x39, 0xff, 0xee, 0x8a, - 0x8f, 0xd7, 0xe9, 0xdc, 0xbe, 0xe2, 0x92, 0xf4, 0x12, 0xd8, 0x45, 0xbb, 0xbe, 0x13, 0x6e, 0xda, - 0x27, 0x77, 0xae, 0x21, 0x05, 0xd2, 0x93, 0x54, 0xa1, 0x85, 0x8e, 0x46, 0xdd, 0xaf, 0x44, 0xd7, - 0x6e, 0x94, 0xde, 0xc2, 0x72, 0x04, 0x48, 0xca, 0x5b, 0x9b, 0x6e, 0x65, 0x90, 0x46, 0xc6, 0x9f, - 0xe6, 0xf9, 0x32, 0x2a, 0x95, 0x2f, 0x61, 0x74, 0xbb, 0x6e, 0x27, 0x22, 0x50, 0xab, 0xc8, 0xb0, - 0x41, 0x88, 0x8d, 0x3e, 0x8c, 0x72, 0x94, 0x01, 0x00, 0x36, 0xd0, 0xf6, 0x30, 0xde, 0xdd, 0xae, - 0xcd, 0xdb, 0xf4, 0x58, 0xe6, 0x86, 0x09, 0xba, 0x4b, 0x34, 0xb9, 0x00, 0xd9, 0x79, 0x87, 0xca, - 0x9a, 0x00, 0x68, 0xcf, 0x39, 0x18, 0xcc, 0x0f, 0x6d, 0xed, 0x38, 0xce, 0xb6, 0xfb, 0xfe, 0x97, - 0x2f, 0x26, 0x8e, 0xc8, 0x41, 0xa3, 0x62, 0x36, 0xf5, 0x28, 0xf0, 0x1b, 0x1c, 0x5f, 0x80, 0x76, - 0x9c, 0x75, 0x28, 0x59, 0x42, 0x3c, 0xbd, 0x6c, 0x3e, 0xbd, 0x6d, 0xb7, 0x11, 0x08, 0x7a, 0x08, - 0x58, 0xf2, 0x1d, 0x55, 0xf9, 0x31, 0xf9, 0x08, 0xbb, 0xe4, 0x77, 0x7e, 0xd2, 0xaf, 0xfa, 0x55, - 0x81, 0xba, 0xa2, 0xf4, 0xa1, 0xdd, 0x1a, 0x5e, 0x7b, 0xd7, 0x9c, 0xd0, 0x21, 0x43, 0xb3, 0x12, - 0xb6, 0x76, 0x30, 0xb9, 0xa3, 0xb9, 0x23, 0xfc, 0x24, 0x64, 0x52, 0x5c, 0xfc, 0xab, 0x57, 0x63, - 0x5e, 0xd7, 0xa7, 0x11, 0x26, 0xea, 0x7e, 0x2a, 0xaf, 0xc4, 0xd8, 0xe0, 0xd2, 0xb0, 0x8e, 0x83, - 0x97, 0x57, 0x2f, 0x1f, 0x18, 0xe6, 0xfb, 0x6e, 0xb1, 0x5a, 0x9a, 0x7a, 0x84, 0x63, 0xcb, 0x5e, - 0xe9, 0x18, 0xf8, 0xf1, 0xb3, 0x16, 0x0b, 0xe4, 0x8c, 0x1f, 0xa5, 0x83, 0x25, 0x2c, 0x96, 0x4d, - 0x69, 0x6d, 0x8c, 0x61, 0x35, 0xd6, 0xf9, 0x84, 0xe7, 0xf6, 0xcf, 0xfa, 0xf5, 0x0d, 0xf0, 0xf1, - 0xef, 0x5e, 0x91, 0x4f, 0x44, 0x78, 0xb0, 0x0d, 0x12, 0x7a, 0x5a, 0x0a, 0x84, 0x82, 0xbe, 0x41, - 0xc2, 0x48, 0x4f, 0xca, 0x14, 0x3d, 0xe2, 0x76, 0xf3, 0x82, 0x18, 0x5f, 0x6d, 0x7f, 0x1a, 0x8d, - 0x0d, 0x55, 0x63, 0xaa, 0x77, 0x58, 0xbe, 0x9c, 0xa2, 0xa4, 0x15, 0x76, 0x2d, 0x4f, 0x33, 0xfa, - 0x7f, 0xd6, 0xe3, 0xe9, 0x85, 0xbd, 0xf7, 0xd9, 0x87, 0x06, 0x23, 0x92, 0xdc, 0xc4, 0x60, 0xb6, - 0xba, 0xb2, 0x05, 0xa1, 0x11, 0x44, 0x3a, 0xde, 0x2d, 0x8f, 0x32, 0x9f, 0x16, 0x9b, 0x03, 0x12, - 0xa9, 0xe3, 0x40, 0x48, 0x3f, 0x2b, 0xa5, 0xb8, 0x52, 0x80, 0x31, 0x66, 0xe7, 0x3b, 0xb0, 0xe3, - 0xd9, 0xff, 0x93, 0x37, 0x34, 0xee, 0x54, 0x9a, 0x36, 0xaa, 0xa6, 0xfd, 0x4b, 0x24, 0x4e, 0x9e, - 0xb2, 0xab, 0xd9, 0x9f, 0xa5, 0xe4, 0x67, 0xe3, 0x1d, 0x8b, 0x70, 0xca, 0x58, 0x0c, 0x0c, 0x35, - 0x6d, 0x69, 0x97, 0xd1, 0xdc, 0xf7, 0x19, 0x3f, 0x05, 0x02, 0x78, 0xf4, 0x5f, 0xb0, 0x69, 0xa9, - 0xfc, 0xc3, 0xbf, 0xf3, 0x65, 0xbc, 0x98, 0x8f, 0x67, 0x3a, 0xfe, 0x6b, 0xf2, 0x98, 0xc8, 0x26, - 0x77, 0x00, 0x4d, 0xed, 0x8d, 0xd5, 0x57, 0x98, 0xb8, 0x87, 0x4f, 0x67, 0x11, 0xbf, 0xd6, 0x75, - 0x2c, 0x39, 0xd3, 0xd4, 0xb7, 0x2b, 0xa7, 0xb8, 0xbf, 0xa7, 0xd0, 0x40, 0xe4, 0x2f, 0x9c, 0x01, - 0xce, 0x28, 0x5d, 0xac, 0x3a, 0xde, 0x66, 0x82, 0xd7, 0xc6, 0xa2, 0xb1, 0xc3, 0x71, 0xab, 0xfe, - 0xc4, 0x8d, 0x17, 0xca, 0x32, 0x9c, 0xfc, 0xa4, 0x91, 0x70, 0xf3, 0xea, 0x82, 0x52, 0xaa, 0xc3, - 0x32, 0x13, 0x06, 0x06, 0xa0, 0xc4, 0x82, 0xed, 0xce, 0xff, 0x92, 0x1b, 0x91, 0xf4, 0x0f, 0x8c, - 0x2a, 0x97, 0xe2, 0x87, 0xdd, 0xfc, 0xd3, 0xb4, 0xda, 0xb6, 0x55, 0xa9, 0xf6, 0xb0, 0xb8, 0xfb, - 0x79, 0x54, 0x82, 0x79, 0x96, 0xf3, 0x7b, 0x8c, 0xe1, 0x0f, 0xca, 0x4c, 0xa7, 0x3b, 0xb8, 0xac, - 0x52, 0x3c, 0xb0, 0x81, 0x3c, 0x70, 0x88, 0x0e, 0x3e, 0x3c, 0xac, 0x7b, 0xc7, 0xfa, 0xbc, 0xa7, - 0x37, 0x56, 0x46, 0x80, 0xb0, 0x20, 0x3a, 0xfa, 0x4a, 0xeb, 0x68, 0x8e, 0x8f, 0xf9, 0xc5, 0xf2, - 0x4d, 0x4a, 0x4f, 0x93, 0x50, 0x84, 0xc9, 0xcb, 0x0d, 0x6c, 0x11, 0xf5, 0x51, 0x0f, 0xbc, 0x32, - 0xa4, 0x8d, 0x33, 0x2b, 0xe3, 0x6e, 0x0c, 0x5d, 0x73, 0x35, 0xd3, 0xf7, 0x61, 0x8f, 0x8a, 0x4c, - 0xdb, 0xfd, 0xe3, 0xbf, 0xcd, 0x7c, 0x2a, 0xbd, 0x42, 0xc2, 0x40, 0xcb, 0x04, 0xed, 0x08, 0xbb, - 0xc7, 0xd0, 0x94, 0x5d, 0x77, 0x2f, 0x84, 0xdc, 0xff, 0x89, 0xff, 0x39, 0x9d, 0x5c, 0x5d, 0x1e, - 0x16, 0xfe, 0xbc, 0xed, 0x5d, 0x31, 0xdf, 0xdf, 0xcd, 0xe5, 0xd1, 0x0b, 0x2c, 0x83, 0x5f, 0x9d, - 0xe4, 0xac, 0xb6, 0x2c, 0xa6, 0xfa, 0x4a, 0x0d, 0x16, 0xd2, 0x20, 0x94, 0xb5, 0x4d, 0xd6, 0x47, - 0x55, 0xb4, 0x65, 0x90, 0x3d, 0x89, 0x98, 0x1a, 0xbf, 0xd5, 0xbb, 0x3e, 0xce, 0xdb, 0xf3, 0x76, - 0x2b, 0x04, 0xa1, 0xd1, 0xf9, 0xd8, 0x03, 0x92, 0xaf, 0x50, 0x73, 0x6d, 0x43, 0x0e, 0x85, 0x34, - 0x5b, 0x68, 0x17, 0xd8, 0x1d, 0x26, 0xe4, 0x17, 0xe5, 0xb7, 0xa7, 0x64, 0x27, 0x69, 0xf6, 0xa3, - 0x95, 0x8f, 0xb8, 0x81, 0x17, 0x6f, 0xbf, 0x7b, 0x02, 0x92, 0x9e, 0x74, 0x60, 0x7c, 0x78, 0xc0, - 0x04, 0x94, 0x8c, 0xd2, 0x8c, 0xd1, 0xc3, 0xec, 0x07, 0xcb, 0x35, 0xaa, 0x47, 0x4b, 0x01, 0xdc, - 0x14, 0xc0, 0xba, 0xb6, 0x1e, 0xe5, 0x83, 0xee, 0xf4, 0x81, 0x12, 0xeb, 0x9c, 0x2d, 0x58, 0x4c, - 0x1f, 0xd8, 0x3e, 0x15, 0x0e, 0x78, 0xb4, 0x27, 0xf3, 0x1e, 0xc4, 0xbc, 0x8c, 0x20, 0xc7, 0x3e, - 0x55, 0xdb, 0x03, 0x9e, 0x32, 0x14, 0x44, 0xfd, 0xd6, 0xdc, 0xaf, 0x03, 0xc0, 0x2d, 0x33, 0x0a, - 0xf4, 0x27, 0x14, 0xdf, 0xa2, 0x47, 0x48, 0x1b, 0x69, 0xc3, 0x68, 0x0d, 0x1d, 0xaa, 0x03, 0x92, - 0x07, 0x9f, 0x9f, 0xe6, 0x0f, 0x95, 0xdc, 0xcb, 0x29, 0x0f, 0x50, 0x51, 0xb7, 0x04, 0x85, 0xe6, - 0x48, 0x54, 0x19, 0x90, 0x55, 0xcb, 0xc2, 0x39, 0xfd, 0x25, 0xf9, 0x4b, 0x7c, 0x6b, 0x76, 0x33, - 0x55, 0xb8, 0x38, 0xd6, 0x3b, 0x2e, 0x0b, 0xe0, 0x95, 0xe2, 0x44, 0x4d, 0x2e, 0xca, 0x48, 0x16, - 0x55, 0x4a, 0x31, 0xed, 0x7b, 0x00, 0xbe, 0x1d, 0x1f, 0x44, 0xdc, 0x15, 0xd2, 0xa7, 0xab, 0xae, - 0x67, 0xe1, 0x1b, 0x52, 0xd4, 0xc5, 0xca, 0x29, 0x8e, 0x87, 0x47, 0x4f, 0x0a, 0x8c, 0x35, 0xe8, - 0x34, 0x5b, 0x75, 0xf3, 0xde, 0xcc, 0x6b, 0x9c, 0xa7, 0x6f, 0xbf, 0x12, 0x7d, 0x62, 0x71, 0x04, - 0x9f, 0x66, 0x13, 0x4a, 0x19, 0x93, 0x43, 0x4c, 0x68, 0x4c, 0xf0, 0xf6, 0xab, 0x0b, 0xfb, 0xc1, - 0x76, 0x8f, 0x8f, 0xd9, 0x03, 0xa6, 0xdc, 0xad, 0x26, 0x8e, 0x6a, 0x5a, 0x0f, 0x3c, 0x4f, 0x07, - 0x9c, 0xd8, 0xdf, 0x97, 0xb8, 0x1c, 0xe1, 0x44, 0xd4, 0xcc, 0x98, 0x0a, 0xfc, 0xfd, 0x3a, 0x51, - 0xa3, 0xef, 0x47, 0xad, 0xd8, 0xfd, 0x85, 0xba, 0xe8, 0xab, 0xe1, 0xa6, 0xab, 0xd4, 0xc9, 0x9e, - 0x5e, 0x5e, 0xf6, 0xe2, 0x94, 0x20, 0x9d, 0xc9, 0x13, 0x39, 0xa0, 0xa2, 0xe9, 0x8c, 0x79, 0xa6, - 0xb2, 0xfd, 0x78, 0x9a, 0x9e, 0x97, 0x47, 0x3b, 0xb6, 0xc9, 0xd1, 0xee, 0x64, 0x81, 0xe3, 0x2c, - 0x40, 0x45, 0x93, 0x48, 0x4c, 0x6f, 0xb4, 0xac, 0x4f, 0x01, 0xa0, 0x6e, 0x36, 0x0d, 0x86, 0xf9, - 0x6a, 0xbc, 0x24, 0xc4, 0x0a, 0x77, 0x51, 0x94, 0xfd, 0x12, 0x58, 0xb9, 0xda, 0xa0, 0x8f, 0x91, - 0x32, 0x8a, 0x7f, 0xc1, 0x06, 0xd2, 0x40, 0xbb, 0x1c, 0x69, 0xc4, 0x2d, 0x96, 0x97, 0x72, 0x5c, - 0xf2, 0x02, 0x5d, 0x86, 0xc1, 0xf4, 0x34, 0x17, 0x54, 0xd4, 0x00, 0x27, 0xb2, 0x6a, 0x11, 0xf9, - 0x39, 0xf5, 0x9e, 0x41, 0x4c, 0x71, 0x2d, 0x7e, 0xc3, 0x81, 0x32, 0x20, 0x91, 0xf8, 0x7b, 0x09, - 0x52, 0xbc, 0x50, 0x9d, 0x36, 0xd9, 0x84, 0x46, 0xa7, 0x36, 0xfd, 0x93, 0x5c, 0x18, 0xba, 0x1b, - 0xbe, 0x50, 0x81, 0xfc, 0x7f, 0x30, 0xe7, 0x2c, 0x08, 0xe3, 0xab, 0x1b, 0x86, 0x72, 0x16, 0x5c, - 0x72, 0x83, 0x99, 0xc4, 0x8e, 0x21, 0x5b, 0x46, 0xf6, 0xa9, 0x64, 0xe0, 0x3b, 0xee, 0xff, 0x07, - 0xe2, 0x04, 0x70, 0x88, 0x6a, 0xda, 0x0b, 0x3d, 0xf1, 0xfa, 0x48, 0x2a, 0xf1, 0x1e, 0x32, 0xc2, - 0x4e, 0x33, 0x2c, 0x61, 0xbc, 0xf1, 0xa5, 0x8d, 0xe1, 0x15, 0xf1, 0x40, 0x33, 0x86, 0xaa, 0x19, - 0xf6, 0x3b, 0xdb, 0xc8, 0x19, 0xe8, 0xaf, 0x8e, 0xdb, 0xec, 0x6c, 0xb9, 0xdc, 0xb5, 0xed, 0xf4, - 0x6b, 0x75, 0x34, 0x68, 0x4e, 0xb0, 0xd1, 0x92, 0x3a, 0x2d, 0x65, 0xb1, 0x8f, 0xde, 0x91, 0x6f, - 0x17, 0x94, 0x9a, 0x96, 0x17, 0xee, 0xfe, 0xf7, 0x0f, 0x3b, 0xa1, 0x42, 0x64, 0xb4, 0xe2, 0xac, - 0x23, 0x34, 0x76, 0x54, 0x26, 0xf4, 0x21, 0xbd, 0xe1, 0x8f, 0xe6, 0x84, 0x89, 0x91, 0x9e, 0x31, - 0x9d, 0xb8, 0x91, 0xdf, 0xed, 0x76, 0x87, 0xe1, 0xc9, 0x08, 0x6d, 0x2d, 0x16, 0x0d, 0x8c, 0x13, - 0x01, 0x70, 0xe7, 0xe3, 0xe6, 0xc4, 0xde, 0xe7, 0xbe, 0x58, 0xc8, 0xe3, 0x4f, 0x88, 0x54, 0xf9, - 0x29, 0xe2, 0x5b, 0xd3, 0xc0, 0xaa, 0x65, 0x10, 0x5a, 0x67, 0x3e, 0x0f, 0x5c, 0x64, 0x53, 0xc6, - 0xeb, 0x2d, 0xbd, 0x30, 0xa2, 0x95, 0xcd, 0xe0, 0xd8, 0xad, 0xd1, 0x1b, 0xdf, 0x6e, 0x66, 0x7c, - 0x90, 0x2a, 0x6d, 0x5f, 0x02, 0x1e, 0xaa, 0x4b, 0xa9, 0x05, 0x4f, 0x52, 0xa1, 0xbf, 0x48, 0x81, - 0x92, 0x96, 0x6f, 0xeb, 0x92, 0xe7, 0x5a, 0x67, 0x42, 0xff, 0xc5, 0x0a, 0x67, 0x71, 0x17, 0xcf, - 0x58, 0x0e, 0xaf, 0xeb, 0x58, 0x1a, 0xfe, 0xb6, 0xbe, 0xb4, 0x2d, 0x9f, 0x4a, 0x62, 0x1e, 0x21, - 0x58, 0xff, 0x99, 0x84, 0xfc, 0x37, 0x99, 0xbb, 0x25, 0x7b, 0x62, 0xd1, 0x8e, 0xa4, 0x9e, 0xc5, - 0x16, 0xbb, 0xfb, 0xae, 0xe4, 0x0b, 0x4e, 0x00, 0xb5, 0x4c, 0x8f, 0xe0, 0x95, 0x45, 0xcc, 0x31, - 0x5a, 0xbb, 0x5c, 0xc7, 0x47, 0x2c, 0x17, 0xcc, 0x28, 0x8a, 0xf7, 0x06, 0x2f, 0x59, 0x27, 0xaf, - 0x98, 0x79, 0x82, 0x06, 0xe7, 0x20, 0x20, 0x12, 0x42, 0x24, 0x7a, 0x7f, 0x2d, 0xc3, 0x6a, 0x02, - 0xf7, 0xac, 0x9f, 0x68, 0xff, 0x02, 0x3d, 0xc5, 0x4e, 0x5d, 0x1b, 0x54, 0xc5, 0xc4, 0xab, 0x78, - 0xa1, 0xea, 0x81, 0xc2, 0x9a, 0xfd, 0x7d, 0xda, 0xdc, 0x3a, 0x30, 0x2c, 0x51, 0xb2, 0x03, 0x2b, - 0x15, 0x49, 0xcd, 0xd7, 0xf1, 0x06, 0xe8, 0x63, 0x22, 0x38, 0x4f, 0x09, 0xac, 0x9c, 0x60, 0xca, - 0xc1, 0xa7, 0x80, 0x93, 0x44, 0x9a, 0xc6, 0xc0, 0x55, 0xd0, 0xb9, 0x25, 0xc2, 0xbb, 0x4c, 0x05, - 0x18, 0xae, 0x59, 0xe1, 0xa7, 0x14, 0x13, 0x96, 0x22, 0x45, 0x5c, 0x86, 0x00, 0x97, 0x0d, 0x70, - 0x34, 0xb2, 0xe4, 0x22, 0x58, 0xe0, 0xe5, 0x05, 0xdd, 0xc3, 0x08, 0x5a, 0xa4, 0x57, 0x63, 0xca, - 0x12, 0x0e, 0xf3, 0x49, 0xbc, 0xf1, 0x01, 0xce, 0x5b, 0x67, 0x9b, 0xaf, 0x88, 0x62, 0x2c, 0x02, - 0xa6, 0xaf, 0x10, 0xef, 0x26, 0xeb, 0x35, 0xde, 0x69, 0xd2, 0x8a, 0x77, 0xe4, 0xd2, 0x0b, 0x17, - 0xbe, 0xcc, 0x48, 0xe8, 0x05, 0x98, 0xd7, 0x2f, 0xcf, 0xcf, 0xdf, 0x90, 0x6f, 0x79, 0x65, 0xf2, - 0xf9, 0x38, 0x62, 0x0d, 0xbf, 0x1f, 0x5b, 0xe8, 0xdc, 0x1e, 0x74, 0xf1, 0x3c, 0xbb, 0xec, 0x5b, - 0x75, 0xf0, 0x3e, 0x69, 0xc5, 0xf2, 0xde, 0x15, 0xe5, 0xe0, 0x31, 0xce, 0x94, 0xb5, 0x02, 0x39, - 0x69, 0x8a, 0x27, 0x0e, 0x98, 0xf5, 0xc6, 0x27, 0x84, 0xda, 0x4b, 0xe5, 0x86, 0xe8, 0x7e, 0x38, - 0x91, 0xcf, 0xda, 0x8a, 0x39, 0x21, 0x2e, 0x09, 0xc7, 0xe0, 0xf2, 0xdc, 0x04, 0x34, 0x39, 0x3b, - 0x97, 0xf4, 0x35, 0x05, 0xc7, 0x53, 0x93, 0x69, 0x3f, 0x46, 0x63, 0xb8, 0x41, 0x68, 0x4d, 0x5c, - 0xe3, 0x27, 0x60, 0xd4, 0x3e, 0x76, 0xc0, 0x60, 0x03, 0x4d, 0x81, 0x54, 0x95, 0xbe, 0x81, 0x03, - 0xa9, 0xb4, 0x6f, 0x02, 0x92, 0xa9, 0x0b, 0xd5, 0x3e, 0x2a, 0x4e, 0x05, 0x60, 0x1e, 0x80, 0x99, - 0xdd, 0x79, 0xb5, 0x78, 0xec, 0x7c, 0x3e, 0x9a, 0xa1, 0x25, 0xdc, 0x78, 0xaa, 0x9f, 0x2c, 0xbf, - 0x6c, 0x75, 0x28, 0xaf, 0xb1, 0x16, 0xd3, 0x75, 0xfb, 0xd7, 0x8f, 0x76, 0x49, 0xc4, 0x2f, 0x11, - 0xa9, 0xcc, 0x6d, 0x6a, 0x8d, 0xeb, 0xce, 0x40, 0x4a, 0xc0, 0xbc, 0xef, 0x4d, 0xd7, 0xde, 0x2f, - 0x1d, 0xc5, 0x00, 0x79, 0x55, 0x76, 0xeb, 0x78, 0x79, 0x42, 0x3d, 0x73, 0x2f, 0xf9, 0x7b, 0x6f, - 0x26, 0x04, 0xab, 0xc9, 0x45, 0x1d, 0xf2, 0xaf, 0x9b, 0xd7, 0x5c, 0x99, 0xad, 0xb3, 0x52, 0x0c, - 0x7e, 0xda, 0xf8, 0x33, 0x57, 0x19, 0x75, 0x94, 0x97, 0xbd, 0x2e, 0x9c, 0xd6, 0x79, 0xda, 0xd8, - 0x19, 0x04, 0x97, 0xdf, 0x92, 0x2c, 0xb4, 0x04, 0xbf, 0x3a, 0x1d, 0xd6, 0xa4, 0x59, 0x63, 0xfe, - 0x7e, 0x15, 0x0a, 0xa5, 0x88, 0xe3, 0xb0, 0x50, 0xae, 0x22, 0x6c, 0x19, 0x00, 0xda, 0x27, 0xb0, - 0x98, 0x2e, 0xb0, 0xb5, 0x7b, 0x80, 0x5e, 0xa4, 0x42, 0x43, 0x25, 0x2b, 0x33, 0xb1, 0xf9, 0x69, - 0x43, 0xdd, 0x19, 0x64, 0xcf, 0x54, 0x53, 0x80, 0xa3, 0x21, 0x1e, 0x0e, 0x7c, 0xda, 0xdf, 0x51, - 0x20, 0x96, 0x5f, 0x51, 0xe0, 0xa6, 0x96, 0xaf, 0xe6, 0xd5, 0x02, 0x77, 0x19, 0xe8, 0xc8, 0x6b, - 0x02, 0xe4, 0x79, 0x53, 0xe9, 0xaf, 0xfb, 0x1f, 0xc0, 0x05, 0x70, 0x59, 0x9e, 0x42, 0xda, 0x04, - 0x58, 0x61, 0x62, 0xe3, 0xb5, 0xa7, 0xa8, 0xd5, 0x7c, 0x90, 0x10, 0x60, 0x52, 0x77, 0x80, 0xe7, - 0x43, 0x56, 0x43, 0x75, 0x4d, 0x11, 0x0b, 0xc2, 0x10, 0x64, 0xc4, 0x36, 0xac, 0x33, 0x1a, 0x46, - 0x1e, 0xb0, 0xe8, 0x1e, 0x9a, 0x6b, 0x88, 0x45, 0x68, 0x92, 0x45, 0x9a, 0x2b, 0x65, 0x73, 0xdc, - 0x99, 0x22, 0xe4, 0x10, 0x4b, 0x7e, 0x30, 0x9d, 0x4c, 0x45, 0x5f, 0x7a, 0xa7, 0x15, 0x4e, 0x7c, - 0x55, 0xb2, 0xa0, 0xc3, 0xb2, 0x31, 0xfb, 0x40, 0x7f, 0xcd, 0xf0, 0x06, 0xa6, 0xf1, 0x77, 0xcc, - 0xf0, 0xe7, 0xc3, 0xd6, 0x3d, 0x1b, 0x19, 0x9b, 0x8e, 0x26, 0x08, 0x26, 0xd4, 0x36, 0xc9, 0x8b, - 0x66, 0x0f, 0x68, 0x4e, 0x1a, 0xec, 0x69, 0xfa, 0xd6, 0x36, 0x18, 0x9f, 0xe4, 0xa2, 0x17, 0xe7, - 0xad, 0xad, 0xdf, 0x65, 0xd3, 0x6c, 0x53, 0xdd, 0xef, 0x5d, 0x03, 0x2a, 0xfd, 0x6b, 0xa4, 0xc8, - 0x19, 0x7f, 0x91, 0x1d, 0xad, 0xf2, 0xc1, 0x3b, 0x09, 0x5e, 0x81, 0x76, 0x32, 0x16, 0x18, 0x8e, - 0xa0, 0x89, 0x27, 0x69, 0x02, 0x81, 0x35, 0xfe, 0x4f, 0x2d, 0x1a, 0x0f, 0x2e, 0x08, 0x66, 0xa8, - 0xf4, 0x01, 0xf3, 0x87, 0xec, 0x7e, 0xb8, 0x27, 0x24, 0x5f, 0xde, 0x8d, 0x71, 0xbf, 0x32, 0x6a, - 0x7e, 0x88, 0xc6, 0x05, 0x48, 0x71, 0x99, 0x38, 0x45, 0x8d, 0xa6, 0x28, 0xf9, 0xf9, 0x69, 0xa1, - 0xc6, 0xf7, 0xfc, 0xf3, 0x76, 0xe2, 0x60, 0x39, 0x2b, 0x33, 0x55, 0x74, 0xa5, 0x93, 0xaa, 0x50, - 0x01, 0x6e, 0xc5, 0xfe, 0x8a, 0x02, 0x1d, 0x64, 0xbe, 0x61, 0xa9, 0x08, 0x5b, 0x62, 0x28, 0x2e, - 0x99, 0xae, 0xed, 0x29, 0x26, 0x9a, 0x7c, 0x62, 0xd1, 0x7f, 0x0c, 0xec, 0xaf, 0xfc, 0x10, 0x35, - 0x01, 0x17, 0xfc, 0x02, 0x4d, 0xff, 0x8b, 0xb5, 0x96, 0xf0, 0x02, 0x09, 0x3c, 0xf5, 0x71, 0x82, - 0x60, 0xef, 0x4e, 0x04, 0xe9, 0x5d, 0x63, 0xc3, 0x89, 0x75, 0x82, 0x59, 0xe4, 0x6a, 0x69, 0x0a, - 0x30, 0x3c, 0x68, 0x01, 0x1f, 0xa5, 0x0a, 0xb9, 0xe0, 0xb6, 0x77, 0x12, 0xd5, 0x8f, 0xdc, 0x3f, - 0x8c, 0xb2, 0x00, 0xd4, 0x72, 0xa0, 0x30, 0xbb, 0x8b, 0xa7, 0xd7, 0xbd, 0x83, 0x8d, 0x2a, 0x6b, - 0x67, 0x7f, 0x17, 0x76, 0x4f, 0x27, 0x27, 0x82, 0x1d, 0x69, 0xc0, 0xc6, 0x0c, 0x81, 0x98, 0x27, - 0xe9, 0xf1, 0xac, 0xbf, 0x0d, 0x7d, 0x34, 0xf2, 0xfa, 0x58, 0xc2, 0xcc, 0x49, 0x0a, 0x95, 0x87, - 0x2e, 0xff, 0x01, 0x05, 0x46, 0x90, 0xbb, 0x6a, 0x7d, 0x53, 0x01, 0xf2, 0xcc, 0x05, 0x82, 0x0c, - 0x67, 0x1b, 0x20, 0xdf, 0x9d, 0x63, 0x84, 0xea, 0x31, 0x02, 0x99, 0x0c, 0x68, 0xfe, 0xfe, 0x81, - 0xdd, 0x78, 0x8c, 0xf7, 0x44, 0x73, 0x92, 0x47, 0x14, 0xd0, 0xb4, 0xc0, 0xb1, 0xd9, 0x34, 0xdd, - 0xb0, 0x0a, 0x59, 0xad, 0x47, 0x69, 0x23, 0x20, 0xde, 0x49, 0x54, 0x3a, 0x41, 0x60, 0x49, 0xf6, - 0x25, 0xb5, 0xfe, 0x35, 0xd6, 0x2a, 0x3e, 0x13, 0x45, 0x31, 0x18, 0x0f, 0x7d, 0x72, 0x68, 0x49, - 0x7b, 0xe8, 0x80, 0xa3, 0xd7, 0x2c, 0x18, 0xa6, 0xc7, 0x28, 0x7b, 0x12, 0x61, 0x27, 0x11, 0x50, - 0xa0, 0xa4, 0x8a, 0x53, 0x78, 0x89, 0x56, 0x6b, 0xaf, 0x98, 0x13, 0xcb, 0x26, 0x8b, 0x46, 0x1d, - 0x67, 0x67, 0xae, 0x22, 0xdb, 0x3f, 0x00, 0x1d, 0xab, 0x58, 0x72, 0x3d, 0x56, 0x76, 0xf1, 0x4d, - 0x73, 0x0c, 0x2b, 0xb7, 0x38, 0xbb, 0x0a, 0x67, 0x5f, 0xeb, 0x92, 0x35, 0x3b, 0xa8, 0x35, 0xe8, - 0x09, 0x39, 0x8d, 0x3c, 0x60, 0x58, 0xc9, 0xb0, 0x4e, 0xe3, 0xd6, 0xff, 0x55, 0xef, 0xee, 0x18, - 0xe7, 0x05, 0x16, 0xdd, 0x0b, 0xb3, 0x5d, 0x26, 0x82, 0xa9, 0xa5, 0xb4, 0x1f, 0x25, 0x48, 0x1a, - 0x4b, 0x49, 0x41, 0x97, 0xa9, 0xe9, 0x97, 0xb6, 0x23, 0x9e, 0xdf, 0x6c, 0x98, 0xe2, 0x0e, 0x4e, - 0x4c, 0x4e, 0x54, 0x0f, 0x91, 0x92, 0x7e, 0x1d, 0xed, 0x24, 0x70, 0xf4, 0x65, 0x41, 0x74, 0x88, - 0xd4, 0x85, 0x7e, 0x42, 0x5a, 0x35, 0xae, 0xed, 0x82, 0x75, 0xf1, 0x4e, 0xbd, 0x37, 0xd7, 0x6c, - 0x86, 0x3f, 0x4a, 0xa7, 0x8c, 0xe5, 0xf3, 0xda, 0x3b, 0x31, 0xba, 0x41, 0x58, 0x76, 0x7f, 0x75, - 0x55, 0xac, 0xdb, 0xd9, 0xb0, 0xe7, 0xa3, 0x81, 0xc0, 0xb2, 0xb6, 0x56, 0x15, 0x28, 0x30, 0xb7, - 0xd9, 0x77, 0x8e, 0x49, 0x6a, 0xa3, 0x2f, 0x40, 0xe5, 0xc1, 0x47, 0xb6, 0x41, 0xea, 0xf7, 0xa2, - 0xe6, 0x37, 0x17, 0xb9, 0xd1, 0x9b, 0xeb, 0xca, 0xf4, 0x18, 0xe8, 0x43, 0x76, 0xa1, 0x93, 0x49, - 0x47, 0xc4, 0xfa, 0xbf, 0x43, 0x15, 0x18, 0x95, 0x42, 0x56, 0x5d, 0xb7, 0xa3, 0xef, 0xc2, 0x8d, - 0x71, 0x96, 0x11, 0x2d, 0x04, 0xc3, 0xa9, 0xcd, 0xf4, 0xf6, 0x46, 0x99, 0xb9, 0xb3, 0x30, 0x9d, - 0x1e, 0x51, 0x4a, 0x35, 0x73, 0x21, 0x3a, 0xae, 0x10, 0x01, 0x57, 0xfd, 0x9e, 0x39, 0x9a, 0x67, - 0x7f, 0x39, 0x4d, 0xe6, 0x17, 0x31, 0xe7, 0x06, 0x97, 0x40, 0x82, 0x46, 0x8f, 0xb5, 0x42, 0xfe, - 0x42, 0x76, 0x95, 0xa6, 0x37, 0x62, 0xad, 0x96, 0x39, 0xb6, 0xcc, 0x17, 0x8d, 0xdc, 0x53, 0x76, - 0xcc, 0xdb, 0xcf, 0x76, 0xb6, 0x93, 0x8d, 0xe4, 0x2f, 0x6e, 0x53, 0xa7, 0x6b, 0x2e, 0x9d, 0xf8, - 0xa2, 0xe4, 0x57, 0x8e, 0xec, 0x1b, 0x67, 0x84, 0x26, 0x92, 0x76, 0xef, 0xc9, 0x6b, 0xed, 0xed, - 0xb4, 0xbf, 0xf6, 0x4a, 0xef, 0x1c, 0xb0, 0xd3, 0x14, 0x87, 0xbf, 0x96, 0x1d, 0x23, 0x27, 0xbf, - 0x72, 0x1d, 0x4a, 0x78, 0xf8, 0x20, 0x5e, 0xc0, 0xed, 0x57, 0x17, 0x77, 0x9d, 0x78, 0xe5, 0xa1, - 0xb4, 0xf4, 0x78, 0x99, 0x19, 0xe6, 0x50, 0xc8, 0xc9, 0x50, 0x03, 0x9d, 0x7c, 0xe9, 0xc1, 0xc5, - 0x7d, 0x60, 0x59, 0xcc, 0x66, 0xc3, 0x52, 0x42, 0x9e, 0x30, 0xe1, 0xfe, 0x8a, 0x6f, 0x0c, 0x41, - 0x20, 0xe4, 0x4b, 0x9f, 0x98, 0x03, 0x2b, 0x50, 0xcb, 0x1e, 0x2f, 0x12, 0x04, 0xc3, 0xfc, 0x04, - 0xe3, 0x53, 0x2c, 0x66, 0x92, 0xf3, 0x5e, 0x77, 0x8a, 0xee, 0xec, 0x1e, 0x43, 0x8d, 0x72, 0xad, - 0x92, 0xf2, 0x6e, 0x1e, 0xff, 0x35, 0xfc, 0xad, 0x0e, 0x89, 0xb3, 0x25, 0x22, 0xbe, 0x71, 0x7f, - 0x5c, 0xf9, 0x44, 0x9c, 0xd9, 0x7d, 0x19, 0xf6, 0x33, 0xea, 0x1a, 0xd9, 0x5e, 0x4e, 0xa6, 0xb8, - 0x07, 0x8d, 0xd9, 0x21, 0x74, 0x9e, 0x14, 0xbf, 0xaa, 0x29, 0xb5, 0xbf, 0x45, 0x93, 0x71, 0xa2, - 0x52, 0x72, 0x4a, 0x04, 0x9a, 0x6b, 0x64, 0x97, 0xc9, 0xfb, 0x43, 0xdd, 0x6f, 0x75, 0xaf, 0xbe, - 0x8b, 0x83, 0x75, 0x1e, 0x3b, 0x8a, 0xf2, 0x3f, 0xb7, 0x52, 0x16, 0x99, 0x08, 0x70, 0x23, 0x03, - 0xf0, 0x3c, 0xe0, 0xab, 0xbd, 0x31, 0xdf, 0x00, 0xe8, 0x2a, 0xbb, 0xb2, 0x62, 0x4b, 0x22, 0x71, - 0x4a, 0x57, 0x47, 0xf3, 0x17, 0xd3, 0x25, 0xe0, 0x97, 0x31, 0x98, 0x06, 0xad, 0xb5, 0x45, 0xcd, - 0xc0, 0xeb, 0xe4, 0xca, 0x28, 0xf4, 0x16, 0xc5, 0xf6, 0x99, 0xb5, 0x6a, 0x74, 0x3c, 0x2b, 0xde, - 0x39, 0x47, 0xa3, 0x47, 0x92, 0x21, 0xa8, 0x28, 0x67, 0x15, 0x74, 0x41, 0x07, 0x1b, 0x6f, 0x9f, - 0xcc, 0x68, 0x76, 0xa6, 0x74, 0x69, 0x81, 0x9c, 0x00, 0x7b, 0xb3, 0xd9, 0x48, 0x9c, 0xc1, 0x7c, - 0xec, 0x41, 0x79, 0xd6, 0x51, 0xb5, 0xd2, 0x45, 0xaf, 0x0b, 0xc6, 0xae, 0x96, 0x7f, 0xfe, 0x7d, - 0x35, 0x29, 0x81, 0xd7, 0x6f, 0x48, 0xec, 0x02, 0xbb, 0xbf, 0x01, 0x3b, 0xb7, 0x38, 0xa2, 0xd3, - 0xaa, 0x15, 0x54, 0x9b, 0xec, 0xe1, 0x44, 0xf3, 0x79, 0x74, 0x3d, 0xc5, 0xe6, 0xc9, 0x26, 0x97, - 0x5f, 0x83, 0x3f, 0x0b, 0x61, 0xab, 0x79, 0x00, 0x56, 0x92, 0x93, 0xaf, 0x68, 0xdc, 0xc7, 0xf8, - 0x05, 0xdd, 0xc1, 0x64, 0x61, 0x5b, 0x60, 0xb8, 0x1c, 0xaf, 0x93, 0x79, 0xf5, 0xd0, 0x50, 0x57, - 0xa2, 0x7d, 0x9a, 0x63, 0xc9, 0x49, 0xdd, 0x11, 0xd0, 0x88, 0x57, 0xcd, 0xbd, 0x2f, 0x87, 0xb2, - 0x33, 0xa4, 0xe3, 0xd1, 0x09, 0x5f, 0x41, 0xf4, 0x13, 0xaa, 0xa9, 0xa4, 0x0f, 0x6c, 0x31, 0x3a, - 0xb4, 0x0e, 0x4d, 0x57, 0x2e, 0x49, 0x72, 0x18, 0x9e, 0x71, 0x10, 0x21, 0x6f, 0xd6, 0x0e, 0x04, - 0x6a, 0xbd, 0x2f, 0xfe, 0x32, 0x7c, 0x95, 0xf9, 0x42, 0xf1, 0x7c, 0x97, 0x81, 0x81, 0x7c, 0x63, - 0xf6, 0xd2, 0x71, 0x85, 0x33, 0x2f, 0x15, 0x58, 0xbf, 0xf9, 0x49, 0x25, 0x87, 0xe0, 0xe1, 0xd1, - 0x0e, 0x30, 0x8f, 0x33, 0xba, 0x23, 0xd4, 0x04, 0xc7, 0x92, 0xa6, 0xc8, 0x80, 0xb1, 0xaf, 0x77, - 0x16, 0x09, 0x8e, 0xda, 0x9d, 0xb7, 0x0a, 0x5b, 0x51, 0x9c, 0xa9, 0xca, 0x81, 0xfc, 0x1d, 0x91, - 0xf5, 0xe5, 0xef, 0x25, 0x59, 0x0a, 0x08, 0x6f, 0x08, 0x75, 0xd1, 0xba, 0x48, 0x35, 0x46, 0x5c, - 0xae, 0x12, 0x20, 0x50, 0x5c, 0xff, 0xda, 0x95, 0x37, 0xe6, 0x20, 0xa1, 0xed, 0xcc, 0x20, 0x62, - 0x1f, 0x2e, 0xc7, 0x62, 0x1f, 0xcc, 0x72, 0x88, 0x80, 0xa5, 0x1c, 0x7d, 0x12, 0xb2, 0x06, 0xb1, - 0xc4, 0x3d, 0x97, 0xe6, 0xf7, 0xe2, 0x0b, 0x46, 0xec, 0xc8, 0x33, 0x66, 0x34, 0x40, 0xbd, 0xc9, - 0x14, 0x1d, 0xed, 0x0d, 0x25, 0x79, 0x63, 0x41, 0xd2, 0x03, 0x35, 0x31, 0x2b, 0x4e, 0xa5, 0x7b, - 0xdf, 0xa4, 0x2d, 0x4b, 0x3b, 0x99, 0xe9, 0x08, 0xe2, 0x17, 0xdf, 0xfb, 0x89, 0x8e, 0x60, 0xf6, - 0xef, 0x79, 0x82, 0xad, 0xe0, 0xa5, 0x9f, 0x92, 0xd4, 0xa8, 0x2d, 0xca, 0xcd, 0xab, 0x1f, 0x38, - 0x7e, 0xe0, 0x6b, 0x84, 0x99, 0x7f, 0x36, 0x69, 0xe0, 0xe1, 0xc1, 0x47, 0xe0, 0x2d, 0x2b, 0x4a, - 0x5e, 0x39, 0xb4, 0x10, 0x00, 0xe6, 0x4b, 0x11, 0x54, 0x20, 0x90, 0x7a, 0x33, 0x3f, 0xee, 0x5f, - 0x47, 0x33, 0x2f, 0xb3, 0x44, 0x30, 0x8d, 0x6a, 0x74, 0xe2, 0x26, 0x5f, 0x76, 0x4f, 0x78, 0x01, - 0x6a, 0xee, 0x00, 0xcd, 0xd7, 0x3e, 0xab, 0x18, 0x07, 0x16, 0x33, 0xde, 0xb2, 0xb4, 0x36, 0xa6, - 0xdd, 0xf4, 0x51, 0xe5, 0xd7, 0x98, 0xf0, 0x90, 0x60, 0xab, 0xf2, 0x08, 0xb5, 0x62, 0x40, 0x85, - 0xb8, 0x06, 0x0d, 0xf9, 0x57, 0xb4, 0x73, 0x72, 0x58, 0xee, 0x6c, 0xdb, 0x79, 0x6c, 0x4a, 0x3b, - 0x29, 0x4e, 0xe2, 0x91, 0x1b, 0x4b, 0x3d, 0xd1, 0xf4, 0xab, 0xa7, 0x7d, 0xad, 0xfa, 0x9a, 0x40, - 0x7b, 0xf9, 0x10, 0x1d, 0x52, 0xff, 0xcd, 0x6d, 0xeb, 0xc2, 0x26, 0x2a, 0x80, 0x93, 0x46, 0xf0, - 0x18, 0xd3, 0x5f, 0x7f, 0x7c, 0xc4, 0x21, 0xe4, 0x74, 0x90, 0x48, 0x55, 0x4f, 0xf3, 0xea, 0xa5, - 0xe5, 0xd3, 0xf6, 0x1b, 0x70, 0x20, 0xbc, 0xb5, 0xa8, 0xde, 0xa9, 0x94, 0xc9, 0xde, 0xae, 0xff, - 0x76, 0x4e, 0x93, 0xdb, 0xbb, 0x4c, 0x57, 0x66, 0x57, 0x53, 0x5c, 0xb2, 0x35, 0x4d, 0x6f, 0xfc, - 0xef, 0xe6, 0x6a, 0x17, 0x57, 0xb1, 0x38, 0x51, 0xb4, 0xb1, 0xac, 0x4a, 0xf5, 0xaf, 0xbb, 0x9b, - 0xc2, 0xb1, 0x74, 0x31, 0x77, 0xc1, 0x8d, 0xe1, 0x59, 0xb0, 0x38, 0xb4, 0x9d, 0xaa, 0x11, 0x8a, - 0x17, 0x58, 0x33, 0xd2, 0x1b, 0x6f, 0xda, 0x8a, 0xb0, 0xc8, 0x17, 0x7e, 0x87, 0x8d, 0x05, 0x09, - 0xe7, 0xbd, 0x46, 0x4b, 0x69, 0x2a, 0x4d, 0xae, 0x60, 0x50, 0x9e, 0x09, 0x2e, 0x49, 0xe5, 0x30, - 0xca, 0x4f, 0x01, 0xdf, 0xc6, 0x9b, 0xfe, 0x88, 0x2f, 0x40, 0x58, 0x72, 0x49, 0xf0, 0xb8, 0xe5, - 0x4d, 0xb3, 0xda, 0xf7, 0x27, 0xe1, 0x68, 0x04, 0x91, 0xc1, 0x0c, 0xcf, 0xa2, 0xce, 0x94, 0x1f, - 0x5c, 0x40, 0x1c, 0xa2, 0xc9, 0xed, 0x91, 0xf7, 0x45, 0x7b, 0x2e, 0x7b, 0x6e, 0x34, 0xef, 0x14, - 0xb8, 0xad, 0x3c, 0xa7, 0x9f, 0xc6, 0xb2, 0x82, 0x15, 0x43, 0xfe, 0x4f, 0xe7, 0x0d, 0xac, 0xe6, - 0xa5, 0xf9, 0x85, 0x6c, 0x27, 0xd1, 0xa1, 0x51, 0x56, 0x8b, 0x69, 0x7a, 0xb1, 0xa8, 0x3f, 0xef, - 0xfd, 0x8e, 0xcf, 0x18, 0x53, 0x95, 0x61, 0x1f, 0xa7, 0xa1, 0x79, 0x46, 0xc6, 0x11, 0x7e, 0x3d, - 0x1f, 0x03, 0x6b, 0xbc, 0x86, 0x09, 0xda, 0xc4, 0xf3, 0xb0, 0x0e, 0x3a, 0xa3, 0xac, 0xba, 0x7f, - 0x5c, 0xdd, 0x76, 0xef, 0x10, 0x53, 0x8d, 0x30, 0x7d, 0xeb, 0x29, 0x64, 0x68, 0x8a, 0xea, 0x46, - 0x81, 0x87, 0xe7, 0xca, 0xcb, 0xdb, 0x4c, 0x78, 0xa4, 0x98, 0xe0, 0x7f, 0xd3, 0x38, 0x3e, 0x58, - 0x73, 0xb8, 0x1b, 0xd6, 0x49, 0x61, 0x75, 0x57, 0xb6, 0x8b, 0x14, 0x92, 0x5d, 0x1e, 0x2f, 0xf7, - 0x71, 0xd2, 0x9f, 0xd7, 0xfe, 0xe5, 0x21, 0xb7, 0x35, 0xb5, 0x1a, 0x43, 0xd6, 0x8c, 0x72, 0x96, - 0x03, 0xac, 0x46, 0x0f, 0xa3, 0x63, 0xcd, 0x72, 0x73, 0xdb, 0x2a, 0x79, 0x54, 0x45, 0xd7, 0x43, - 0x8c, 0x7f, 0xa6, 0xfa, 0x40, 0xb0, 0x82, 0xa0, 0xa1, 0xd3, 0xcf, 0x00, 0x8b, 0x4e, 0xb4, 0xed, - 0xc0, 0x29, 0x4c, 0xb9, 0xf4, 0xec, 0x74, 0x2e, 0x71, 0xf1, 0xb5, 0xcf, 0x3e, 0x2d, 0x99, 0xa6, - 0xc0, 0xa5, 0xd6, 0xea, 0x8e, 0x4f, 0x26, 0x18, 0xd7, 0xad, 0xc7, 0x39, 0x6f, 0xe3, 0x9a, 0xa7, - 0x2a, 0x69, 0x73, 0x51, 0x38, 0xcf, 0x9a, 0x75, 0xd5, 0x34, 0x6d, 0x6e, 0x52, 0x38, 0x22, 0x68, - 0x8a, 0xa0, 0x48, 0xab, 0x2e, 0xd5, 0x2a, 0xd7, 0x8a, 0x21, 0xda, 0xf8, 0x35, 0xd1, 0x48, 0x30, - 0xd7, 0xb5, 0x23, 0x1e, 0x1f, 0xed, 0xed, 0x41, 0xba, 0x89, 0xe4, 0x40, 0xd2, 0x7d, 0x8d, 0xee, - 0x77, 0x59, 0x1a, 0x13, 0xef, 0xa4, 0xce, 0x30, 0xa0, 0x1d, 0x9c, 0x24, 0xd5, 0x2c, 0x8d, 0x2b, - 0x85, 0xec, 0xcf, 0x13, 0x46, 0xb7, 0x76, 0x17, 0x1a, 0x08, 0x78, 0xc5, 0x04, 0x6b, 0x1c, 0x8b, - 0x3f, 0x2f, 0xe3, 0xfd, 0x5c, 0x1e, 0x8d, 0x49, 0xd7, 0xa7, 0x75, 0x9e, 0x7a, 0x7c, 0x96, 0xa1, - 0x7d, 0x17, 0x43, 0x1a, 0x6e, 0x72, 0x46, 0xa8, 0xbc, 0x43, 0xf6, 0xd2, 0xed, 0x60, 0x3a, 0xc3, - 0x52, 0x11, 0xd6, 0x15, 0x84, 0xde, 0xd4, 0xb2, 0x41, 0xfa, 0x3a, 0xc0, 0x4a, 0x75, 0x63, 0x28, - 0x4b, 0xfc, 0xd3, 0x58, 0xe5, 0x54, 0xfb, 0x94, 0xd5, 0x56, 0x8d, 0xd6, 0x5e, 0x46, 0x91, 0x96, - 0x03, 0x47, 0x2d, 0x94, 0x4d, 0xe5, 0x4e, 0x0d, 0xa1, 0x1b, 0x6f, 0x75, 0xd6, 0x52, 0xe8, 0xd3, - 0xb8, 0x95, 0x00, 0x5d, 0xc4, 0x7b, 0x9d, 0x50, 0xe1, 0x08, 0xd8, 0xa8, 0x87, 0x66, 0x99, 0xa9, - 0x9d, 0x20, 0x88, 0xdc, 0xea, 0xbc, 0xc2, 0x79, 0xc5, 0x79, 0x86, 0xad, 0x43, 0xfa, 0x78, 0x1d, - 0x11, 0x0c, 0x08, 0xeb, 0xe4, 0x9e, 0x6d, 0x49, 0xae, 0x9e, 0x7f, 0xb8, 0xbf, 0xcd, 0xe3, 0x12, - 0x1e, 0x03, 0xc9, 0xe4, 0xaa, 0x3e, 0xe9, 0x3e, 0x95, 0x9d, 0x88, 0x42, 0x10, 0xf1, 0x03, 0x51, - 0xf6, 0xd9, 0xcd, 0x1c, 0xcb, 0x54, 0xa6, 0xdf, 0x06, 0x4d, 0x16, 0x95, 0xe4, 0xb7, 0xaf, 0x9c, - 0x9d, 0x58, 0x14, 0xf5, 0xf8, 0xf7, 0xa0, 0x87, 0x77, 0x95, 0xff, 0x86, 0x72, 0x8d, 0x75, 0x7d, - 0x17, 0xec, 0x07, 0xfb, 0xad, 0x0d, 0xad, 0xf0, 0x9a, 0x89, 0x8b, 0x6c, 0xe4, 0x46, 0x4b, 0x4d, - 0xce, 0xd9, 0x69, 0xb4, 0x65, 0x29, 0x09, 0x7e, 0x9b, 0xe5, 0xb7, 0x12, 0xb0, 0x00, 0x6f, 0xc0, - 0x80, 0x30, 0xcd, 0x74, 0x78, 0xe3, 0x6c, 0x48, 0xfb, 0xd5, 0xf3, 0x45, 0x36, 0x02, 0x41, 0x2c, - 0xf7, 0x93, 0x2f, 0xcb, 0x47, 0x4c, 0x2c, 0x78, 0x54, 0x78, 0xa9, 0xa0, 0x70, 0x24, 0x42, 0x98, - 0x15, 0x31, 0xfb, 0x65, 0x2a, 0xf1, 0x04, 0x4d, 0x48, 0x14, 0x2d, 0xcc, 0x1a, 0xf7, 0x8d, 0x91, - 0xc7, 0x89, 0x1a, 0x70, 0xde, 0x85, 0x05, 0xf7, 0x62, 0xe8, 0x33, 0x49, 0xe5, 0x63, 0x21, 0x36, - 0xcb, 0xe6, 0x22, 0xaa, 0x23, 0x49, 0x38, 0xfc, 0x53, 0x73, 0xa8, 0x29, 0x7f, 0xbd, 0x1d, 0xa9, - 0x33, 0xe2, 0x86, 0x5c, 0xb7, 0x20, 0xdc, 0xb5, 0x51, 0x17, 0xed, 0x65, 0xaa, 0x45, 0xac, 0x25, - 0x0c, 0x8a, 0xb9, 0xd2, 0x6a, 0x46, 0x81, 0x22, 0x0a, 0x54, 0x73, 0xb4, 0x9a, 0xab, 0x33, 0x38, - 0xe3, 0x65, 0x07, 0x33, 0x4a, 0xed, 0xa3, 0xa5, 0x97, 0x06, 0x37, 0xce, 0xb8, 0x23, 0xcd, 0x90, - 0xfa, 0x86, 0xc5, 0xe6, 0xeb, 0xf1, 0x1c, 0xac, 0x73, 0xca, 0xf9, 0x16, 0x7d, 0x80, 0xdf, 0x1f, - 0xf3, 0x02, 0xb9, 0x72, 0x23, 0x6e, 0x60, 0xfb, 0x2b, 0x48, 0x26, 0x39, 0xc3, 0xcc, 0x1b, 0x22, - 0x52, 0x0c, 0xd1, 0x52, 0xf3, 0x6b, 0x54, 0x2e, 0x37, 0xb3, 0xf0, 0x10, 0xf1, 0x07, 0xc8, 0x54, - 0x72, 0x04, 0x00, 0x4c, 0x53, 0x59, 0x3c, 0x63, 0x79, 0x6a, 0xac, 0x01, 0x76, 0x53, 0x09, 0x7d, - 0xf7, 0x5f, 0x88, 0x5e, 0x18, 0x71, 0x7d, 0x3f, 0xd8, 0xcb, 0x4e, 0x16, 0xc4, 0x84, 0x2a, 0xfd, - 0x19, 0xf9, 0xac, 0xaf, 0xb7, 0xb9, 0x8f, 0x91, 0x47, 0x63, 0x0e, 0x71, 0x21, 0x98, 0x57, 0x14, - 0x66, 0x0a, 0x91, 0x48, 0x2a, 0x6b, 0x9b, 0x37, 0x09, 0x79, 0x52, 0xde, 0x70, 0xef, 0xb2, 0x92, - 0xf8, 0x92, 0xed, 0x7e, 0x00, 0x34, 0xf9, 0x9e, 0x9e, 0x18, 0xb9, 0x77, 0xe8, 0xd3, 0x00, 0xd8, - 0xb8, 0x27, 0x30, 0x23, 0xe9, 0x14, 0x9b, 0x09, 0x17, 0xbb, 0x2b, 0x66, 0x56, 0x04, 0xcd, 0xe2, - 0xe1, 0xfe, 0x29, 0x69, 0x0d, 0x78, 0x1e, 0xbd, 0x10, 0x99, 0x6b, 0xad, 0x84, 0x43, 0xbc, 0x04, - 0x84, 0xa1, 0xa2, 0x67, 0xd1, 0xff, 0xd3, 0xc4, 0xc0, 0x2d, 0x09, 0x8a, 0x6f, 0x02, 0x64, 0x67, - 0xe4, 0x00, 0xe3, 0x8c, 0xbc, 0x0a, 0x86, 0x17, 0xc3, 0xdc, 0x4f, 0xd7, 0x44, 0xa7, 0x9a, 0xb8, - 0x9a, 0xd0, 0x34, 0xe5, 0x7e, 0x9c, 0x25, 0xd2, 0x49, 0x9d, 0x97, 0x0e, 0x5d, 0x59, 0xab, 0xef, - 0x89, 0x6e, 0x12, 0x79, 0x84, 0x55, 0x7a, 0x61, 0xdc, 0xbe, 0x98, 0xc7, 0xc1, 0x46, 0xf9, 0xfc, - 0xe6, 0x18, 0x64, 0x0c, 0xb8, 0x27, 0x8d, 0xfb, 0x21, 0xd1, 0x0f, 0x10, 0x2c, 0xd3, 0x38, 0x45, - 0x18, 0xa6, 0x99, 0x5b, 0x69, 0x53, 0xdd, 0x29, 0x88, 0x72, 0xdc, 0x82, 0xb2, 0x0f, 0x6a, 0xb2, - 0x0e, 0xe9, 0x72, 0x89, 0x70, 0x57, 0xf8, 0x80, 0xd8, 0xeb, 0x95, 0xc5, 0x3c, 0x8a, 0xb1, 0xf3, - 0x5b, 0xa8, 0xca, 0xf4, 0xa7, 0x7d, 0x4f, 0x02, 0xb4, 0xf7, 0x59, 0xdc, 0x5d, 0x31, 0xeb, 0x55, - 0xfc, 0x1a, 0x4b, 0x6b, 0x07, 0xe1, 0x96, 0x44, 0x0d, 0x9f, 0x8d, 0x99, 0x55, 0x4c, 0x32, 0xbb, - 0xe6, 0xe9, 0x57, 0xd9, 0xcd, 0xad, 0x37, 0xd6, 0x05, 0x2b, 0x97, 0x5a, 0xc9, 0xf9, 0xd0, 0x8f, - 0xf6, 0x01, 0xb1, 0x52, 0xf3, 0x58, 0xe9, 0x45, 0x96, 0xf2, 0xb4, 0x40, 0xb8, 0x9b, 0x5e, 0xff, - 0xcb, 0x57, 0xc9, 0xe2, 0xd0, 0x70, 0x0c, 0xa0, 0x13, 0x85, 0xf8, 0xfa, 0x36, 0x58, 0xfa, 0x8a, - 0xf1, 0x0a, 0xbc, 0x4c, 0x90, 0x34, 0x77, 0xbe, 0x67, 0x67, 0xaa, 0x76, 0x03, 0xcc, 0xe3, 0x4d, - 0x7d, 0xb7, 0x17, 0xfb, 0x88, 0x33, 0x34, 0x01, 0x7b, 0xcc, 0xa0, 0x86, 0xff, 0x6d, 0x2a, 0xa3, - 0xe8, 0x4c, 0x9b, 0x09, 0xae, 0x01, 0xe9, 0x69, 0x2a, 0x84, 0xed, 0x33, 0x74, 0xfb, 0xdb, 0x75, - 0xa0, 0xd7, 0xb1, 0xa6, 0x10, 0x2d, 0x64, 0x89, 0x01, 0x41, 0xf3, 0x60, 0x9f, 0x83, 0x26, 0x23, - 0x43, 0x02, 0x95, 0x09, 0x98, 0x31, 0x75, 0x5c, 0x77, 0x31, 0x7d, 0x0d, 0xd5, 0x00, 0xe0, 0xa5, - 0x62, 0x48, 0xaa, 0x0a, 0x77, 0x88, 0x07, 0x9f, 0x3a, 0xe2, 0xa4, 0xc3, 0x6e, 0xc7, 0x98, 0xa8, - 0x33, 0xf7, 0xc7, 0x6b, 0x27, 0x89, 0xcb, 0x62, 0x8f, 0xcf, 0x88, 0x7e, 0x7b, 0x95, 0x79, 0x5e, - 0x89, 0x43, 0x02, 0x43, 0xd6, 0x78, 0xe9, 0x9e, 0x58, 0x85, 0x42, 0x9d, 0x37, 0x40, 0x31, 0xd3, - 0xb2, 0xd8, 0x29, 0x10, 0xaf, 0xd8, 0x85, 0x6c, 0x06, 0x38, 0x26, 0x30, 0x16, 0xbb, 0x7d, 0xed, - 0xdc, 0x15, 0x3d, 0x05, 0x6a, 0x41, 0x07, 0x94, 0xf8, 0x47, 0x2c, 0xce, 0xc0, 0x6f, 0x00, 0xc4, - 0x35, 0x25, 0x52, 0x70, 0x7f, 0xa5, 0x00, 0x22, 0x00, 0xc0, 0xdf, 0xa1, 0xe4, 0xbc, 0x84, 0x01, - 0x87, 0x48, 0x79, 0x8e, 0x5c, 0x50, 0x5f, 0xd7, 0xc8, 0x40, 0x32, 0xab, 0xf0, 0x49, 0xd1, 0x81, - 0x8c, 0xab, 0xa1, 0x24, 0x3f, 0x56, 0xd1, 0x66, 0x19, 0xfa, 0x66, 0x5c, 0x59, 0xa9, 0x68, 0x20, - 0xa9, 0x17, 0x4a, 0x18, 0x35, 0xe2, 0x48, 0xca, 0xd8, 0x95, 0x1a, 0x38, 0x0d, 0x25, 0xbd, 0x0e, - 0x11, 0xb2, 0x1c, 0xc5, 0xca, 0x84, 0xb2, 0x95, 0x4e, 0xff, 0xfc, 0xca, 0x62, 0xa6, 0x47, 0x40, - 0x5d, 0xf5, 0xbb, 0x35, 0xbb, 0x47, 0x3e, 0x76, 0x6a, 0xba, 0xa8, 0x89, 0x85, 0x79, 0xc9, 0x62, - 0x9e, 0x3a, 0xf6, 0x5f, 0x12, 0x00, 0xb1, 0x75, 0x39, 0xbc, 0x40, 0x45, 0xd0, 0xaf, 0xc8, 0xab, - 0x10, 0xf6, 0x75, 0x5d, 0x3a, 0xe2, 0xf8, 0xc9, 0x94, 0x00, 0xf1, 0x5a, 0x50, 0x48, 0x18, 0x66, - 0xf2, 0x42, 0x5b, 0x29, 0xd6, 0xd8, 0xce, 0x77, 0xd0, 0xce, 0x08, 0x1e, 0x3e, 0x89, 0x26, 0x16, - 0x6f, 0x6c, 0xc9, 0x76, 0x84, 0xd2, 0xbe, 0xd7, 0xad, 0xd9, 0x90, 0xb8, 0x15, 0xfb, 0x40, 0x89, - 0xfa, 0x57, 0xdc, 0x3b, 0x25, 0x44, 0x43, 0x2c, 0x16, 0x05, 0x26, 0x2c, 0xb6, 0x63, 0x19, 0xda, - 0x74, 0xa2, 0x00, 0xbf, 0x7b, 0xe6, 0x32, 0x0f, 0xc9, 0x5e, 0xa1, 0x77, 0xf2, 0xe8, 0xd1, 0xa5, - 0xe3, 0x7e, 0x41, 0xa4, 0x3c, 0x30, 0x92, 0x15, 0x57, 0x7c, 0x55, 0x52, 0xcf, 0x63, 0x72, 0x45, - 0xfb, 0x0f, 0x9f, 0xb9, 0x45, 0xd5, 0xaf, 0xc2, 0x65, 0x43, 0x6b, 0x4d, 0x3a, 0xd4, 0x29, 0xd6, - 0x21, 0x33, 0xce, 0x07, 0x89, 0x18, 0x06, 0xb1, 0x1b, 0x78, 0xb8, 0x43, 0xed, 0x83, 0x3b, 0x66, - 0xca, 0x4e, 0xd4, 0x08, 0xfa, 0xc8, 0xe5, 0x11, 0xac, 0x85, 0x4b, 0xe1, 0xac, 0xe7, 0x1b, 0x7c, - 0x87, 0x7c, 0xe3, 0x30, 0x87, 0x23, 0x8b, 0x02, 0x3e, 0x8c, 0x7e, 0x53, 0x1f, 0x33, 0x1f, 0x0d, - 0x45, 0x0f, 0x08, 0x85, 0x7c, 0x08, 0xea, 0xca, 0x0c, 0x16, 0x79, 0x12, 0x10, 0x40, 0x42, 0x0b, - 0x9a, 0xec, 0xc6, 0xc9, 0xa5, 0x79, 0x49, 0xc3, 0x5f, 0xa8, 0xb9, 0x49, 0x79, 0x61, 0x22, 0x2c, - 0x5b, 0x6d, 0x3e, 0x51, 0x4d, 0x0f, 0xa2, 0x6e, 0xf1, 0x88, 0xf3, 0x24, 0xcd, 0xc0, 0x27, 0xc4, - 0x1c, 0x76, 0xa2, 0x86, 0x4d, 0x0e, 0xa0, 0x22, 0x22, 0x3f, 0x21, 0xde, 0x7e, 0xa3, 0x2a, 0xa3, - 0x75, 0x0d, 0xc5, 0xce, 0xf4, 0x13, 0x92, 0xdf, 0x81, 0xd8, 0x73, 0xa7, 0x7c, 0x29, 0x77, 0xd6, - 0xd6, 0xd7, 0xdd, 0x96, 0xe6, 0x03, 0x7c, 0xb4, 0xcb, 0x61, 0xd9, 0xb7, 0x42, 0x60, 0x5e, 0x91, - 0x81, 0xe2, 0xde, 0xcc, 0xf9, 0x61, 0x5d, 0x1b, 0x38, 0xb0, 0x47, 0x3c, 0xff, 0xfa, 0xc2, 0xc5, - 0x74, 0x7f, 0x06, 0x39, 0xe4, 0x14, 0x02, 0x0b, 0x62, 0xed, 0x4c, 0x9b, 0x3c, 0x20, 0xff, 0x3a, - 0x9d, 0xac, 0x97, 0xc0, 0x09, 0xbc, 0x38, 0x3f, 0x82, 0xb7, 0xbd, 0x76, 0x1d, 0x4d, 0x8d, 0x4f, - 0x77, 0x3b, 0x1c, 0x70, 0x3f, 0xcc, 0x27, 0xb0, 0xbe, 0x03, 0xfd, 0xbf, 0x00, 0x43, 0xdd, 0x14, - 0xce, 0x85, 0xa6, 0x8f, 0xc9, 0x32, 0xac, 0x96, 0x27, 0x26, 0xae, 0x23, 0x3b, 0x39, 0xaa, 0x22, - 0xbf, 0x14, 0x28, 0x1c, 0xd7, 0x76, 0x50, 0x1c, 0x7c, 0x36, 0xfd, 0x22, 0xd0, 0x82, 0x65, 0xd3, - 0x2d, 0x19, 0xa2, 0x96, 0xac, 0xc3, 0x05, 0x36, 0x97, 0x17, 0xb9, 0x65, 0x4c, 0x39, 0xdb, 0x40, - 0xf7, 0xbb, 0xe9, 0x17, 0x73, 0xdd, 0x02, 0xf6, 0x57, 0x40, 0x45, 0x06, 0x20, 0x08, 0xb8, 0x08, - 0xed, 0xd8, 0x51, 0x98, 0xa6, 0x5a, 0x83, 0xdb, 0x46, 0xf4, 0x52, 0x71, 0xe5, 0x0d, 0xd8, 0xb2, - 0xc3, 0xda, 0x0a, 0x3d, 0xfb, 0x52, 0x6a, 0x47, 0x3d, 0xb7, 0x1a, 0x1f, 0xdd, 0xde, 0xa5, 0x87, - 0x86, 0x3a, 0x78, 0x94, 0xc1, 0xdb, 0xa3, 0xf5, 0x0b, 0x50, 0x60, 0x71, 0x28, 0xe4, 0x1f, 0xfa, - 0x8e, 0xb3, 0xb4, 0x24, 0x9e, 0x35, 0xb6, 0xa9, 0x30, 0x18, 0x6a, 0x9a, 0x59, 0x86, 0x00, 0x34, - 0x67, 0xf4, 0x0a, 0x12, 0x34, 0x56, 0xde, 0xdc, 0x63, 0xc2, 0x84, 0xad, 0x42, 0xd2, 0x71, 0x7f, - 0xd3, 0xab, 0x63, 0x58, 0x01, 0xcc, 0x35, 0x3e, 0x50, 0xbd, 0x90, 0xa5, 0x07, 0x62, 0xf6, 0xd8, - 0xd4, 0x72, 0x00, 0x80, 0xf1, 0x32, 0x78, 0xd2, 0x82, 0xb1, 0x8c, 0x6c, 0x87, 0x45, 0x2e, 0xdf, - 0x54, 0x1a, 0x6c, 0xae, 0x4c, 0x14, 0xa7, 0x34, 0x24, 0x5d, 0x71, 0x41, 0xd9, 0x7e, 0xcb, 0xe9, - 0x72, 0xeb, 0xd8, 0xf2, 0x61, 0x4c, 0x47, 0x8e, 0xd7, 0xc1, 0xba, 0xf3, 0x47, 0x9a, 0xad, 0x80, - 0xad, 0x7e, 0x09, 0xdd, 0x98, 0xb3, 0x07, 0xae, 0xc6, 0x12, 0x60, 0x67, 0xfd, 0x9b, 0x19, 0x62, - 0xde, 0x03, 0x61, 0x2a, 0xd8, 0x80, 0x56, 0xb8, 0x7e, 0x49, 0x03, 0x1a, 0x2c, 0x1b, 0x42, 0x34, - 0x0d, 0x60, 0x22, 0x38, 0xca, 0xd6, 0x29, 0x5c, 0xdf, 0x97, 0x81, 0xc1, 0x69, 0xb2, 0xfd, 0x1d, - 0xee, 0x13, 0xb7, 0xc4, 0x84, 0xaf, 0x19, 0xab, 0x2a, 0x49, 0x38, 0x1b, 0x18, 0xd0, 0x6a, 0x0c, - 0x37, 0x7e, 0x31, 0xf8, 0x7a, 0x30, 0x63, 0xe1, 0xe5, 0x06, 0xbd, 0x56, 0x73, 0x30, 0x04, 0x4f, - 0xcd, 0x8f, 0xe4, 0x87, 0xdb, 0x96, 0x0a, 0xad, 0xd7, 0xf9, 0x4d, 0x3d, 0xa4, 0xd6, 0x10, 0xdc, - 0x84, 0xf1, 0xf0, 0x10, 0x6b, 0xce, 0x8b, 0x71, 0xd9, 0x14, 0x5e, 0x09, 0x1e, 0x42, 0x39, 0xe9, - 0xb9, 0x8e, 0x4b, 0xa2, 0xe8, 0x5e, 0xde, 0xe6, 0x27, 0xcf, 0x55, 0xcb, 0x43, 0x79, 0xfd, 0xf2, - 0x4e, 0xba, 0x7d, 0xd6, 0xb3, 0xbf, 0x3b, 0x06, 0xcd, 0x93, 0x22, 0xee, 0x8c, 0x82, 0xfc, 0x77, - 0x36, 0xa8, 0x7b, 0x64, 0x12, 0x90, 0xc8, 0x5f, 0x45, 0x21, 0x69, 0xf0, 0x34, 0x07, 0xa6, 0xc5, - 0x0e, 0x19, 0x0e, 0x7d, 0xc1, 0x2c, 0xca, 0x7c, 0x8d, 0x4b, 0x65, 0xba, 0xb0, 0x3f, 0x92, 0x7d, - 0xdd, 0x19, 0xb3, 0xfa, 0x55, 0xb8, 0x69, 0x32, 0x78, 0xb6, 0xf6, 0x43, 0x83, 0x9e, 0xdc, 0xb2, - 0x88, 0x6e, 0xad, 0x4f, 0xdb, 0xa7, 0xd1, 0xe4, 0xaa, 0x9f, 0xc3, 0xf2, 0xbf, 0xd2, 0x55, 0xaa, - 0x8e, 0xe6, 0x6d, 0xb8, 0x61, 0x10, 0x0d, 0xc9, 0xdf, 0xb1, 0x5a, 0x68, 0xa0, 0xcc, 0xfe, 0x03, - 0xf6, 0x3a, 0x72, 0xbf, 0x48, 0xa9, 0x04, 0xff, 0xc0, 0x74, 0x32, 0xa6, 0xb4, 0x87, 0x77, 0xd5, - 0xf2, 0x8b, 0x32, 0xa3, 0xe6, 0xb4, 0xa2, 0xd5, 0x3c, 0x61, 0xea, 0x2f, 0x64, 0x81, 0x29, 0xdd, - 0xe0, 0xa4, 0x47, 0xc1, 0x59, 0xdf, 0xa2, 0xc5, 0xf6, 0x85, 0xd1, 0x5c, 0x46, 0x1a, 0x7e, 0xb1, - 0xb1, 0x7c, 0x37, 0xe1, 0xb6, 0x73, 0x4d, 0xdb, 0xc1, 0x59, 0x45, 0x91, 0x2c, 0x17, 0x18, 0x1a, - 0x69, 0x26, 0x94, 0x73, 0x02, 0x90, 0xc2, 0x84, 0x67, 0x66, 0x32, 0x2e, 0x14, 0xa6, 0x5c, 0x4a, - 0x1a, 0x4b, 0xbd, 0x06, 0x05, 0x52, 0x72, 0x08, 0x46, 0x27, 0xaf, 0xa6, 0x2f, 0xf3, 0x9b, 0x43, - 0x4e, 0x46, 0xd3, 0x1c, 0x31, 0x9d, 0x98, 0xab, 0xed, 0xaa, 0x19, 0x35, 0x58, 0xc0, 0xba, 0x75, - 0xea, 0xdc, 0xa1, 0x11, 0x1e, 0x3c, 0x07, 0x30, 0xd0, 0xce, 0xb5, 0x87, 0x93, 0x68, 0x7c, 0xf3, - 0xa7, 0xd3, 0x2a, 0x50, 0x72, 0x25, 0x9e, 0xd8, 0x4d, 0xd0, 0xb2, 0xe2, 0x5a, 0x04, 0xd5, 0x3c, - 0x29, 0x1c, 0x5f, 0x3e, 0x87, 0x06, 0xbe, 0x19, 0x7c, 0x71, 0x60, 0xe5, 0xc6, 0x5c, 0x97, 0x77, - 0x93, 0x99, 0x70, 0xc2, 0xaf, 0x02, 0xdc, 0x74, 0x52, 0xc6, 0x33, 0x79, 0xbe, 0x1a, 0x7d, 0x9b, - 0xfd, 0xa1, 0x28, 0x53, 0xf3, 0x96, 0xd2, 0x36, 0x67, 0xd0, 0x49, 0xe8, 0xb5, 0xb7, 0xb0, 0x88, - 0x78, 0xe1, 0x45, 0x8e, 0x2e, 0x84, 0xa3, 0xa7, 0xde, 0xb9, 0x03, 0x5f, 0x66, 0xda, 0x0d, 0x75, - 0x72, 0xbe, 0x73, 0xb5, 0x85, 0xd0, 0xe3, 0xcb, 0x6f, 0xf9, 0x58, 0xf6, 0xd1, 0x9b, 0x7a, 0x58, - 0x6f, 0x8e, 0x3b, 0x4d, 0xd4, 0x3d, 0x3b, 0x4e, 0x2e, 0x5b, 0x69, 0x38, 0x7e, 0xee, 0x95, 0x98, - 0x5c, 0x67, 0xdb, 0xae, 0xb2, 0x2f, 0x4a, 0x83, 0xac, 0x48, 0x8e, 0xcb, 0x16, 0x5b, 0xd6, 0xe1, - 0xea, 0x67, 0xd4, 0x8b, 0x61, 0xa4, 0xae, 0x57, 0x5b, 0xc2, 0x91, 0x5d, 0x53, 0xaf, 0xbf, 0x6b, - 0x9d, 0x56, 0x78, 0xfc, 0x3f, 0xcc, 0xcb, 0x90, 0xc9, 0x56, 0x16, 0x8a, 0xfd, 0xa3, 0xcb, 0xdf, - 0x3b, 0x56, 0xf2, 0x2e, 0x15, 0xa6, 0x5c, 0x60, 0x13, 0xf4, 0x44, 0x49, 0xdd, 0x7e, 0x52, 0x19, - 0xca, 0xd0, 0x7b, 0xbb, 0xa6, 0x49, 0x37, 0xc5, 0xc8, 0xb2, 0x3b, 0x51, 0xb9, 0xdf, 0x62, 0xa4, - 0x09, 0x75, 0xc8, 0xc8, 0x99, 0xe1, 0x8a, 0x64, 0x58, 0x20, 0x46, 0x20, 0x4a, 0x45, 0x3b, 0x7f, - 0x1e, 0x85, 0x33, 0x81, 0x65, 0x75, 0xf4, 0x97, 0xca, 0xdf, 0xda, 0xa4, 0x9f, 0x76, 0x35, 0x5d, - 0x7b, 0x60, 0x73, 0x2e, 0xee, 0xd1, 0x37, 0xa8, 0xb8, 0xe9, 0xf8, 0xe3, 0x03, 0xf4, 0x25, 0x7a, - 0x4b, 0x78, 0xc8, 0xda, 0xd2, 0x7c, 0x53, 0x77, 0xb2, 0x3d, 0x41, 0xeb, 0x14, 0x42, 0x42, 0x0f, - 0x65, 0x7e, 0x05, 0xa0, 0x33, 0x43, 0x57, 0xc2, 0xc2, 0x4f, 0x27, 0x73, 0xc4, 0xbe, 0xf1, 0x3a, - 0x16, 0xbf, 0x89, 0xc9, 0xe6, 0x28, 0xc3, 0x91, 0x5f, 0xbc, 0x9d, 0xfb, 0x0f, 0x19, 0x4c, 0x5a, - 0x1c, 0x3e, 0xac, 0xdd, 0x25, 0x1b, 0x28, 0x46, 0x48, 0x9c, 0x0f, 0xe1, 0x16, 0xe1, 0x55, 0x38, - 0x06, 0x7d, 0x4b, 0xef, 0xdc, 0x1a, 0x90, 0x03, 0xe9, 0x23, 0x6e, 0xf5, 0x9c, 0x5f, 0x1a, 0x95, - 0xe1, 0xb9, 0x76, 0x99, 0xcd, 0x8c, 0xc0, 0x7f, 0x80, 0x00, 0xed, 0x43, 0x9b, 0xae, 0x8d, 0x98, - 0x60, 0x43, 0xd8, 0x49, 0x15, 0xde, 0xdb, 0x0a, 0xc4, 0x58, 0xa1, 0xcb, 0xc7, 0xec, 0x22, 0x50, - 0xba, 0x2c, 0x42, 0x04, 0xc1, 0x1c, 0x7b, 0xfd, 0xa0, 0x05, 0xd2, 0x83, 0xdf, 0x28, 0x87, 0x4b, - 0x45, 0x6d, 0x57, 0xf7, 0x8a, 0x9f, 0x07, 0xf5, 0x1f, 0x22, 0x82, 0xf3, 0x63, 0x6c, 0xae, 0xf3, - 0x44, 0x8c, 0xe1, 0x22, 0xe6, 0xd7, 0x8e, 0x8e, 0x32, 0xb7, 0x78, 0x05, 0x92, 0xd9, 0x52, 0x9f, - 0xac, 0x81, 0x37, 0x0f, 0xb7, 0xc8, 0x35, 0x89, 0xf0, 0xf4, 0xa4, 0x44, 0x9b, 0xb3, 0xf7, 0xea, - 0xfb, 0x41, 0xa5, 0x0c, 0x43, 0xc3, 0x5a, 0xe2, 0xd6, 0xcd, 0x29, 0xab, 0x2d, 0x87, 0x52, 0xef, - 0xeb, 0x27, 0xa0, 0xc0, 0x7a, 0xdb, 0x6b, 0x92, 0xa4, 0xb9, 0x8d, 0x33, 0xbb, 0xab, 0x2d, 0x93, - 0x0b, 0x05, 0x26, 0x1b, 0x05, 0x5c, 0xe2, 0xbc, 0xdc, 0x09, 0xf1, 0x97, 0x8b, 0xae, 0xd3, 0x13, - 0x8b, 0x0e, 0xb9, 0x35, 0x45, 0x34, 0x33, 0xee, 0x45, 0xee, 0x13, 0xf4, 0x9d, 0x8f, 0xc1, 0x78, - 0x3a, 0x26, 0x65, 0x09, 0xf2, 0xdd, 0x35, 0x11, 0x53, 0xb9, 0x1c, 0xee, 0x9c, 0x26, 0x81, 0x36, - 0x96, 0xfa, 0x68, 0xea, 0x9e, 0xae, 0xa4, 0xb7, 0x0a, 0x22, 0xf7, 0x52, 0x2d, 0x63, 0x6e, 0xd5, - 0xf3, 0xf6, 0x4f, 0x86, 0xfa, 0xe7, 0x0a, 0xb3, 0x03, 0x96, 0x59, 0xe7, 0x54, 0x7e, 0xba, 0xed, - 0x9e, 0x2f, 0x67, 0x0b, 0xe2, 0x89, 0xc3, 0xed, 0x6f, 0x9f, 0x6d, 0x31, 0x55, 0xe3, 0xcd, 0x37, - 0xf9, 0xe6, 0x82, 0x6e, 0x9a, 0xa4, 0x31, 0x48, 0x10, 0xf6, 0x0b, 0x6d, 0x6a, 0xd6, 0x4e, 0x13, - 0xe0, 0x51, 0x67, 0xb7, 0xe1, 0xf0, 0xd9, 0x47, 0x69, 0x07, 0xcd, 0xd2, 0x9f, 0x96, 0xf3, 0x3f, - 0xc7, 0x43, 0x94, 0xa8, 0xd3, 0xe1, 0x0e, 0x02, 0x85, 0xc1, 0xe5, 0x1e, 0x3a, 0xdf, 0x2d, 0x78, - 0xbd, 0x62, 0xe1, 0x79, 0x51, 0x46, 0xc2, 0xbb, 0x30, 0x1f, 0x15, 0x10, 0x25, 0xa5, 0xa8, 0x74, - 0xcb, 0x97, 0x4c, 0x3c, 0xc0, 0x97, 0x12, 0xa4, 0x30, 0xf8, 0xb4, 0xa7, 0xef, 0xe4, 0x1f, 0x96, - 0x54, 0xc1, 0x59, 0x4f, 0x6b, 0x8e, 0xa9, 0xbb, 0x99, 0x13, 0x43, 0xd1, 0x65, 0x36, 0xac, 0xae, - 0xeb, 0xb4, 0x23, 0x0e, 0x62, 0x2a, 0x48, 0x69, 0xc6, 0x6b, 0xb3, 0xc9, 0xe9, 0x2b, 0x23, 0x5b, - 0x40, 0x62, 0xe8, 0xb0, 0x26, 0xcd, 0x67, 0x6d, 0x92, 0x69, 0x9c, 0x8d, 0x91, 0x4f, 0xce, 0xa9, - 0x27, 0x45, 0xbe, 0xed, 0x82, 0x7d, 0x9f, 0x50, 0x2a, 0x05, 0x25, 0x0f, 0x7d, 0xa6, 0x71, 0x8b, - 0xd7, 0x1b, 0xa8, 0x02, 0x8d, 0xe1, 0x0d, 0x4b, 0x37, 0x74, 0x7f, 0x6d, 0x55, 0xb5, 0x91, 0xe9, - 0xcb, 0x15, 0x9b, 0xc2, 0x51, 0x4f, 0x1b, 0xb3, 0xf1, 0x1f, 0x4e, 0xf3, 0xc7, 0xd8, 0x01, 0x9d, - 0xab, 0x7d, 0x5a, 0x9b, 0xb6, 0x3c, 0x2d, 0xbc, 0x64, 0xa7, 0xb4, 0x91, 0x19, 0x4d, 0x6c, 0x61, - 0x77, 0xa1, 0x93, 0x9c, 0x45, 0x88, 0x57, 0x4d, 0x93, 0x09, 0x12, 0x08, 0xf8, 0xc6, 0xab, 0xb6, - 0x3e, 0x7e, 0x25, 0x2a, 0xeb, 0xcf, 0xa3, 0x6e, 0xa9, 0x14, 0x4b, 0xd4, 0xa3, 0xf7, 0x50, 0xd1, - 0x41, 0x39, 0xbe, 0x34, 0x3b, 0x92, 0x80, 0x61, 0x7a, 0x71, 0x05, 0x86, 0x9a, 0x32, 0x28, 0xa3, - 0x03, 0x37, 0xb7, 0xe6, 0x96, 0x5d, 0x73, 0xf4, 0x10, 0xde, 0x15, 0x7b, 0x43, 0xad, 0x3b, 0x7c, - 0xe8, 0x46, 0xf2, 0x4b, 0x19, 0x03, 0x0b, 0xfd, 0x0c, 0xf6, 0x5b, 0x3f, 0x52, 0xba, 0x99, 0x6b, - 0xf9, 0x6d, 0x3e, 0xb9, 0x5d, 0xa6, 0x09, 0x29, 0x3c, 0x00, 0x50, 0xb6, 0x61, 0x02, 0x6d, 0xe9, - 0x15, 0x39, 0x99, 0xe9, 0x8f, 0x91, 0x22, 0xe7, 0x5a, 0x25, 0x64, 0xe5, 0xd2, 0xcd, 0x5c, 0x31, - 0xd5, 0x3d, 0xb8, 0xf6, 0xa0, 0x62, 0xf1, 0x1c, 0xdd, 0xa4, 0x89, 0x90, 0x06, 0x0f, 0xa6, 0x35, - 0x55, 0xe0, 0x80, 0x4d, 0x7a, 0x2c, 0x2c, 0x92, 0x88, 0x46, 0x72, 0xa1, 0x43, 0x3c, 0x9d, 0x51, - 0x95, 0x25, 0x52, 0x43, 0x90, 0x33, 0x8a, 0x6f, 0xe7, 0x35, 0x2d, 0x94, 0x90, 0xcb, 0x2c, 0x5b, - 0x6e, 0x60, 0x18, 0xa9, 0xb2, 0x69, 0x83, 0xf1, 0x28, 0x1a, 0xb1, 0x45, 0xfb, 0xff, 0x12, 0xda, - 0x44, 0x37, 0x01, 0x27, 0x23, 0x6f, 0xd8, 0xfe, 0xc1, 0x8c, 0xe6, 0x89, 0xf6, 0xf5, 0x74, 0x55, - 0xff, 0x8a, 0xe4, 0x93, 0xfb, 0x58, 0x27, 0x7d, 0x52, 0x9c, 0xb1, 0x56, 0x23, 0x07, 0xee, 0x34, - 0x15, 0x4e, 0x33, 0xc7, 0xe5, 0x0a, 0x99, 0x59, 0x99, 0x26, 0x75, 0x5b, 0xa9, 0x2f, 0x10, 0x8f, - 0x67, 0x9c, 0xd7, 0x54, 0x54, 0x99, 0x8c, 0xd2, 0xa7, 0x45, 0x01, 0x2e, 0xf6, 0x98, 0xfe, 0x58, - 0xe3, 0x1a, 0xf9, 0x8b, 0x3d, 0x34, 0xba, 0xf2, 0xbf, 0xcc, 0x29, 0x81, 0x15, 0x92, 0x91, 0x06, - 0x7f, 0x64, 0xf0, 0xc0, 0xec, 0x3a, 0xe4, 0x32, 0xaf, 0x4c, 0x56, 0xa3, 0xf1, 0x7c, 0xa0, 0x8f, - 0x7d, 0xfc, 0xcb, 0x0b, 0x8d, 0xef, 0x78, 0x35, 0x40, 0x70, 0x6e, 0x2c, 0x6f, 0xc3, 0x57, 0x0a, - 0xcd, 0x58, 0x0b, 0x1a, 0xe9, 0x1c, 0xf0, 0xfe, 0x21, 0x90, 0xe7, 0xa3, 0x7c, 0x71, 0xf8, 0x68, - 0x6b, 0xf9, 0xf8, 0xf6, 0x40, 0x27, 0x90, 0xf9, 0x91, 0xd3, 0x88, 0x0e, 0x24, 0xd2, 0x3e, 0x2c, - 0xc1, 0x4e, 0x45, 0xb5, 0x6a, 0x12, 0xe1, 0x7f, 0x7f, 0xe2, 0x34, 0x42, 0xda, 0x1f, 0x99, 0xe6, - 0xb9, 0x0f, 0x09, 0xd4, 0x73, 0xae, 0x09, 0x49, 0x2a, 0x22, 0x89, 0xdb, 0x7c, 0x9d, 0x65, 0x65, - 0x65, 0xdb, 0x7b, 0x07, 0x53, 0xd4, 0xcb, 0x3d, 0xfd, 0x36, 0x31, 0xae, 0x42, 0x34, 0x0a, 0x2a, - 0xf7, 0xe0, 0xdf, 0xc0, 0xf0, 0xba, 0x86, 0x3c, 0xad, 0xb6, 0x12, 0x1f, 0x18, 0x9a, 0xc7, 0x59, - 0x51, 0x0e, 0x1d, 0x6b, 0x40, 0xf3, 0x54, 0xb4, 0xf7, 0x1c, 0x44, 0x96, 0xc9, 0xbe, 0xc5, 0xcb, - 0x91, 0xe6, 0x90, 0xc3, 0x4b, 0x58, 0x9b, 0x8a, 0xce, 0xa0, 0xb1, 0x3b, 0x0d, 0x54, 0x5e, 0xe3, - 0xf9, 0x3b, 0x98, 0xc8, 0x14, 0xfd, 0x88, 0x65, 0x6b, 0xdc, 0x12, 0x32, 0x5f, 0x9b, 0xd4, 0x0e, - 0x25, 0x3e, 0x0f, 0x32, 0xf7, 0x67, 0x9f, 0x23, 0xd7, 0xbd, 0xbf, 0x34, 0x5e, 0xaf, 0x3c, 0x01, - 0x24, 0x48, 0x10, 0x09, 0x74, 0x44, 0x5d, 0x26, 0x0b, 0xb1, 0xa4, 0xdf, 0x76, 0xae, 0xe5, 0x00, - 0xde, 0x3f, 0x6a, 0x10, 0xf4, 0xca, 0x42, 0x72, 0x81, 0xe0, 0xe7, 0xbf, 0x97, 0xbd, 0x08, 0x59, - 0x68, 0x3b, 0x4a, 0x51, 0x10, 0x63, 0x3a, 0xbc, 0xb8, 0x90, 0xa8, 0x96, 0x48, 0x9d, 0x83, 0xcf, - 0x41, 0xd3, 0x2a, 0x22, 0xf1, 0x7c, 0xb6, 0x83, 0xb6, 0x71, 0x3c, 0xc6, 0x83, 0x82, 0x56, 0x91, - 0x34, 0x4c, 0x91, 0x1b, 0x3f, 0x3c, 0x1e, 0x39, 0x9d, 0x14, 0x99, 0x93, 0x4a, 0xf4, 0x50, 0x31, - 0xe1, 0x59, 0xb0, 0x51, 0x3f, 0xf5, 0xa1, 0xa2, 0x02, 0x45, 0xdd, 0x0e, 0x37, 0xaa, 0xfc, 0x7a, - 0x67, 0x8a, 0x78, 0xae, 0xdb, 0x7d, 0xe0, 0x55, 0x1a, 0xf0, 0x06, 0x79, 0x77, 0xa6, 0x64, 0x35, - 0x17, 0x42, 0x0e, 0xc0, 0x91, 0x40, 0xfb, 0x36, 0xfe, 0x80, 0xea, 0x81, 0xd0, 0x21, 0x34, 0xc9, - 0xe0, 0xca, 0xf6, 0xa4, 0x09, 0x91, 0x75, 0x4c, 0xc4, 0xf2, 0xf4, 0xb2, 0x06, 0x4e, 0xf3, 0x9d, - 0xe4, 0xca, 0xcd, 0x37, 0x80, 0xee, 0xab, 0xe4, 0x88, 0xd1, 0x4f, 0xcd, 0xc5, 0x2a, 0xfb, 0xe7, - 0x0c, 0xa0, 0x79, 0x11, 0xf7, 0x9e, 0x22, 0x57, 0x5e, 0x8a, 0xa6, 0x05, 0x6a, 0xcb, 0xa3, 0x83, - 0x08, 0xa4, 0xe6, 0x91, 0x45, 0xaa, 0x53, 0x4f, 0xd1, 0x9d, 0x32, 0x00, 0x64, 0x14, 0x11, 0x35, - 0x3d, 0xe4, 0x57, 0x3c, 0x9f, 0x9f, 0x7e, 0x52, 0xf0, 0xcc, 0xff, 0x2d, 0x94, 0xf9, 0x5b, 0x51, - 0x60, 0xe7, 0x58, 0x50, 0x61, 0x61, 0x3a, 0xa3, 0xdd, 0xdc, 0x5b, 0x66, 0xe7, 0x10, 0x3e, 0x8f, - 0x7e, 0x2d, 0xa8, 0x6d, 0x1c, 0x70, 0x7f, 0x40, 0x8c, 0x38, 0x02, 0x0d, 0xef, 0x1e, 0x90, 0xa2, - 0x41, 0x73, 0x9b, 0xd2, 0x74, 0x30, 0xb7, 0x78, 0x74, 0xba, 0xd8, 0xb7, 0x0d, 0x8b, 0x75, 0x49, - 0xbd, 0x3e, 0x1d, 0x50, 0x81, 0x1a, 0x16, 0xf2, 0x98, 0x5d, 0xdc, 0x68, 0xef, 0x15, 0x72, 0x56, - 0x4c, 0xaa, 0x18, 0x17, 0xb4, 0xd3, 0x8b, 0x86, 0xf6, 0x1d, 0x5d, 0x30, 0x30, 0xbd, 0x54, 0x8a, - 0xa5, 0xcf, 0x84, 0xca, 0xde, 0xde, 0x1c, 0x5e, 0x5c, 0x1f, 0x13, 0x32, 0x76, 0xb2, 0xd1, 0xd9, - 0xa4, 0x4f, 0xdd, 0xf4, 0x6e, 0x1c, 0x98, 0xc9, 0xf2, 0xa0, 0xfb, 0x74, 0x4e, 0xb9, 0xd4, 0xb0, - 0x2c, 0xde, 0x8b, 0x6b, 0x77, 0x8e, 0xaa, 0xf3, 0x36, 0x2e, 0x2d, 0xa9, 0xdd, 0xc2, 0xe8, 0x91, - 0x53, 0x76, 0x9b, 0xe6, 0x6b, 0x57, 0x84, 0x53, 0x32, 0x97, 0x7b, 0xab, 0x17, 0x14, 0x8b, 0xab, - 0x86, 0x38, 0x39, 0xbc, 0x00, 0xb4, 0x27, 0xac, 0x98, 0x3f, 0x77, 0x3a, 0x0c, 0x10, 0xa1, 0xc0, - 0x09, 0x48, 0xce, 0x18, 0xd7, 0xb9, 0xb1, 0xee, 0xc6, 0xab, 0x81, 0xc5, 0x13, 0xc1, 0x48, 0x1a, - 0xe0, 0xda, 0x50, 0x53, 0xc6, 0x5e, 0x44, 0xe3, 0xe7, 0x3f, 0x60, 0x89, 0x45, 0x2d, 0x36, 0x44, - 0xfc, 0x9a, 0x88, 0xb0, 0x5c, 0x4f, 0x72, 0x18, 0xd5, 0xeb, 0x61, 0x2d, 0x25, 0xa3, 0xc2, 0x6b, - 0x38, 0xea, 0x9f, 0xac, 0x06, 0x07, 0x59, 0xef, 0xec, 0x78, 0xad, 0x87, 0xc8, 0x9f, 0x62, 0x70, - 0x11, 0xb3, 0xbd, 0x84, 0xcb, 0x4a, 0xe2, 0x2a, 0x25, 0xc8, 0x68, 0x7a, 0x49, 0xe7, 0x2a, 0xad, - 0xaa, 0x5d, 0xb2, 0xdb, 0xcd, 0xe4, 0x1d, 0xb0, 0x75, 0x20, 0xaf, 0x66, 0xc9, 0x12, 0x9e, 0x6a, - 0x2d, 0x60, 0x5a, 0x7a, 0x36, 0x7b, 0xa8, 0x68, 0xca, 0xcc, 0xc5, 0xff, 0xea, 0x53, 0x28, 0xae, - 0x9b, 0x9f, 0xaa, 0x02, 0x23, 0x3c, 0x20, 0x46, 0x59, 0xde, 0x45, 0x39, 0xcb, 0xe8, 0x57, 0xf5, - 0x88, 0x39, 0x27, 0x49, 0x40, 0x4a, 0xac, 0xf5, 0x3f, 0x83, 0x7d, 0x32, 0xed, 0x24, 0x39, 0x8f, - 0xeb, 0x7e, 0x24, 0x8a, 0x77, 0x30, 0x79, 0x02, 0xa7, 0x09, 0x04, 0xdc, 0x0c, 0xf4, 0x55, 0x6d, - 0xbb, 0xf0, 0xca, 0x27, 0x3f, 0xdc, 0x25, 0x7f, 0x0f, 0xc8, 0x12, 0x85, 0x4a, 0x02, 0xb4, 0xc4, - 0xc6, 0x76, 0xb5, 0xe6, 0x86, 0x3a, 0x74, 0x45, 0x3b, 0x56, 0xe3, 0xd3, 0xf5, 0x8c, 0x1d, 0x4e, - 0xf8, 0xe3, 0x52, 0xc8, 0x62, 0x71, 0x10, 0x16, 0x22, 0xb7, 0x69, 0x4e, 0xfd, 0x41, 0x4e, 0x6b, - 0x0c, 0x60, 0x80, 0x0e, 0x5a, 0x26, 0xd1, 0xdb, 0x01, 0x07, 0x7c, 0x6c, 0xc0, 0x84, 0x60, 0x06, - 0x7d, 0xf4, 0x7a, 0x73, 0xd8, 0x2c, 0xa2, 0x5b, 0x6e, 0x38, 0x63, 0x99, 0xdc, 0x2d, 0xb6, 0x0e, - 0x27, 0x54, 0xb1, 0xe6, 0x08, 0x16, 0x9b, 0x28, 0x75, 0x20, 0x7c, 0x34, 0xd4, 0x58, 0xdc, 0xaf, - 0x81, 0x9b, 0x45, 0x83, 0x00, 0x8f, 0x56, 0xe5, 0xfe, 0xf7, 0xe1, 0xbb, 0x3c, 0xb9, 0x1f, 0x2b, - 0x86, 0x64, 0x1c, 0x0b, 0xc0, 0x75, 0x02, 0x8d, 0xad, 0x2e, 0xcf, 0x9f, 0x0f, 0x3a, 0x19, 0xef, - 0x03, 0x3d, 0xe7, 0x12, 0xb2, 0x19, 0xfc, 0x20, 0xaf, 0x92, 0xdf, 0xd6, 0xa4, 0x2c, 0x1e, 0x26, - 0xf6, 0xad, 0x76, 0x2b, 0x3f, 0xb9, 0xf4, 0x5e, 0xb8, 0x09, 0xd2, 0x2d, 0xbd, 0x67, 0xa7, 0xe5, - 0xef, 0x5a, 0xfd, 0x71, 0x83, 0xf3, 0xec, 0x0d, 0xdb, 0x3f, 0x84, 0x9f, 0x59, 0x7c, 0xe9, 0x79, - 0x1d, 0xd1, 0xae, 0xbe, 0xc8, 0x89, 0xd1, 0x60, 0x51, 0x24, 0xb1, 0xad, 0x63, 0x50, 0x23, 0x7a, - 0xbb, 0x77, 0x7b, 0xbc, 0xa1, 0x49, 0xda, 0xe2, 0xa0, 0x15, 0x39, 0x62, 0x8d, 0x80, 0x8a, 0x9a, - 0x55, 0xda, 0x8f, 0x18, 0x4a, 0x17, 0xc3, 0xf8, 0xab, 0x88, 0xea, 0x6e, 0xe1, 0xde, 0x89, 0xb5, - 0x36, 0xf6, 0xbe, 0x75, 0x25, 0x79, 0x3e, 0x1f, 0x01, 0x54, 0x93, 0xea, 0x27, 0x2e, 0x04, 0xce, - 0x70, 0x2a, 0xfa, 0x58, 0x67, 0x02, 0xab, 0x3d, 0x1c, 0x9e, 0xdd, 0x4a, 0xc4, 0x91, 0xc8, 0x0d, - 0x49, 0xa9, 0xf9, 0x7f, 0xe6, 0xcc, 0xac, 0x11, 0x17, 0xec, 0xc2, 0xb5, 0x96, 0x2b, 0x34, 0x6c, - 0xd3, 0x4c, 0xca, 0x01, 0x18, 0x4b, 0x8e, 0xf2, 0x02, 0xba, 0x02, 0x3b, 0xa7, 0x9d, 0xd7, 0x05, - 0x64, 0x93, 0x4e, 0x7c, 0xf1, 0x6a, 0xa9, 0x4a, 0x6c, 0x33, 0x53, 0xac, 0xc1, 0xda, 0x1e, 0xa6, - 0xf1, 0xb3, 0x82, 0xb4, 0xaa, 0x09, 0x1a, 0x00, 0xcf, 0x73, 0x05, 0x49, 0xdb, 0xbd, 0x29, 0x53, - 0x32, 0xda, 0x15, 0x24, 0x0e, 0x62, 0xf9, 0xad, 0x12, 0x35, 0x5e, 0x4b, 0xbd, 0xfc, 0x02, 0x69, - 0x61, 0x69, 0xb5, 0x51, 0x01, 0x96, 0xe8, 0x79, 0x4a, 0x2d, 0x06, 0xcb, 0xd1, 0xaf, 0x0b, 0x10, - 0xd9, 0x81, 0x82, 0x4b, 0xd8, 0x05, 0x13, 0xc6, 0xa4, 0x8c, 0xb1, 0x7a, 0x68, 0xad, 0x54, 0xa8, - 0x6e, 0x48, 0x49, 0x88, 0xbf, 0xf0, 0x42, 0x94, 0x2b, 0x67, 0x2a, 0x07, 0xfa, 0x5c, 0xf3, 0xe5, - 0x17, 0x03, 0xba, 0x37, 0xf9, 0x2d, 0x09, 0x25, 0x5c, 0x27, 0x92, 0xcf, 0xb7, 0xf5, 0x26, 0x42, - 0x3b, 0xdb, 0x2f, 0xbe, 0x27, 0xab, 0x25, 0x37, 0x2b, 0x40, 0xe4, 0xba, 0xc3, 0x19, 0x26, 0x4b, - 0x51, 0x6a, 0x6f, 0xc2, 0xc9, 0x9e, 0xba, 0xac, 0xf4, 0x22, 0xd0, 0x2d, 0xc9, 0xaa, 0xa0, 0x71, - 0x3b, 0xd8, 0x20, 0xfa, 0x06, 0x53, 0x85, 0xe7, 0x5a, 0x65, 0x14, 0x8f, 0x6f, 0x7b, 0x0f, 0x4c, - 0xf4, 0x9c, 0x91, 0x21, 0xc9, 0x20, 0xeb, 0x61, 0x38, 0x69, 0x2f, 0xb5, 0xb2, 0x37, 0x57, 0x2a, - 0x51, 0x55, 0xd7, 0x5a, 0xf5, 0xd2, 0xa4, 0xe6, 0x0b, 0xb4, 0x8e, 0xa8, 0x21, 0x87, 0x1a, 0x58, - 0x29, 0xe5, 0x6b, 0xfb, 0xde, 0x5e, 0xb1, 0x52, 0x0f, 0x27, 0x93, 0xf0, 0x43, 0xbb, 0x22, 0xab, - 0xd8, 0x42, 0xea, 0x0d, 0x9b, 0x11, 0xaa, 0xcd, 0xd5, 0x2f, 0xe3, 0xcf, 0x13, 0x56, 0xfb, 0x2c, - 0x48, 0x4b, 0x86, 0xfe, 0x40, 0xbd, 0xa4, 0x7e, 0x68, 0x57, 0x46, 0x62, 0xfe, 0x63, 0xd1, 0xe8, - 0x30, 0xaa, 0xcf, 0xad, 0xe9, 0x0d, 0xed, 0x63, 0xe0, 0x7f, 0x0f, 0xc5, 0xcc, 0x59, 0x22, 0x8d, - 0x73, 0xbd, 0x86, 0xf6, 0x91, 0x23, 0xcb, 0xa9, 0xe1, 0x65, 0x41, 0xb4, 0x52, 0xe3, 0x00, 0x40, - 0xf0, 0xac, 0x39, 0x5b, 0xed, 0x78, 0x02, 0xbc, 0x1d, 0xde, 0xf0, 0x89, 0xfe, 0x4b, 0x25, 0xf2, - 0x05, 0x9a, 0xc1, 0x8c, 0x7f, 0xa8, 0x0f, 0xb3, 0x74, 0x6e, 0x72, 0x90, 0x1a, 0x77, 0x06, 0xbc, - 0xf9, 0xaa, 0x0a, 0xb8, 0x81, 0xf2, 0xbc, 0xf0, 0x87, 0x72, 0xec, 0x54, 0x61, 0xc7, 0xb1, 0x8a, - 0xea, 0xdd, 0x1d, 0x0d, 0x8a, 0x3b, 0x7a, 0x09, 0x3b, 0x7c, 0xc4, 0x6f, 0xb6, 0x40, 0x97, 0xc7, - 0x47, 0xd0, 0x19, 0x08, 0x9b, 0xb7, 0x78, 0x6b, 0x8f, 0x54, 0x52, 0x6c, 0x81, 0xc3, 0xee, 0xc6, - 0xe7, 0x6c, 0x21, 0x51, 0x42, 0x52, 0xbf, 0xeb, 0x66, 0x54, 0x55, 0xe7, 0x0b, 0x0a, 0x89, 0xb6, - 0xaa, 0x3d, 0xad, 0xfa, 0xa1, 0xc9, 0xe2, 0x72, 0x88, 0x01, 0x46, 0x70, 0x03, 0x4b, 0x97, 0xc3, - 0xe5, 0x32, 0x0e, 0x5c, 0x1c, 0x76, 0x2b, 0x1c, 0x0d, 0x50, 0x84, 0x66, 0x98, 0x4b, 0x70, 0xf5, - 0x20, 0xad, 0xa0, 0xf3, 0xab, 0xa6, 0x7e, 0x1f, 0x7e, 0x0f, 0x50, 0xdf, 0x8b, 0x83, 0x09, 0xd3, - 0x1e, 0x53, 0x4b, 0xf2, 0x6e, 0xe1, 0xe7, 0x23, 0x07, 0x85, 0x66, 0xd2, 0x98, 0x4e, 0x72, 0x18, - 0xe6, 0x36, 0x18, 0x8b, 0xd7, 0x3b, 0x5d, 0xa8, 0x48, 0xf4, 0xeb, 0x4c, 0xd4, 0xaf, 0x1a, 0x75, - 0x24, 0xf5, 0x7c, 0xe7, 0x3a, 0xdb, 0xfc, 0xe4, 0x47, 0xb6, 0xdd, 0x22, 0x8c, 0x60, 0x08, 0x62, - 0xd4, 0x87, 0x63, 0xf7, 0x6f, 0x31, 0xe1, 0x84, 0xed, 0x0c, 0x4a, 0xff, 0x52, 0x51, 0x92, 0x1c, - 0xf7, 0xa2, 0x1d, 0x9a, 0xac, 0xe2, 0x6e, 0x26, 0xad, 0xb3, 0xa1, 0x63, 0x01, 0xff, 0x29, 0x7b, - 0x55, 0xe2, 0x56, 0xce, 0x6e, 0x02, 0xa6, 0x9c, 0x98, 0x99, 0x69, 0xbb, 0x0b, 0x2b, 0x69, 0x15, - 0x7d, 0x33, 0x3b, 0xb5, 0x53, 0x80, 0xe4, 0xd8, 0xfd, 0x30, 0x28, 0x05, 0x9f, 0x2a, 0x64, 0x90, - 0xcd, 0x29, 0x10, 0xb3, 0x1d, 0x0d, 0x19, 0x88, 0x30, 0xfe, 0x17, 0x01, 0x2d, 0x83, 0x66, 0xd3, - 0x69, 0xe1, 0x62, 0x19, 0x74, 0x7f, 0xc9, 0xe8, 0x2f, 0xf4, 0xe3, 0x86, 0x33, 0xd4, 0x60, 0x6b, - 0x53, 0x94, 0xd9, 0x90, 0x12, 0x48, 0x7c, 0x5b, 0x41, 0x50, 0x72, 0x6b, 0x70, 0x37, 0x52, 0xd0, - 0x34, 0xaa, 0xb3, 0xaf, 0x83, 0x70, 0x87, 0xa9, 0x81, 0x42, 0x38, 0xa7, 0xb4, 0xd6, 0x53, 0x0b, - 0xbf, 0x7a, 0xe1, 0xb9, 0x6c, 0x0b, 0xcc, 0xb6, 0xda, 0x10, 0x90, 0xaf, 0x44, 0x0b, 0xf7, 0x81, - 0x04, 0xd2, 0xc2, 0x91, 0xc2, 0x07, 0x8d, 0x13, 0x17, 0x6a, 0x6e, 0xeb, 0x93, 0x6e, 0x02, 0xfc, - 0xa5, 0xb7, 0x8f, 0xab, 0xd5, 0x40, 0x3f, 0xac, 0x12, 0x31, 0x8f, 0xc1, 0x40, 0x1d, 0x52, 0x4f, - 0x57, 0x9e, 0x1d, 0x92, 0x18, 0x0f, 0xf6, 0xfb, 0x36, 0x06, 0x2e, 0xe8, 0x13, 0xa4, 0xd1, 0x53, - 0x8f, 0x55, 0xb5, 0xa2, 0x49, 0xe8, 0xa6, 0x8c, 0xe8, 0x1a, 0x99, 0xf9, 0x24, 0xb7, 0xf6, 0x4e, - 0x43, 0x26, 0xa5, 0xe5, 0xd9, 0xb3, 0x0d, 0x59, 0x28, 0x54, 0x1f, 0x0b, 0xb5, 0x85, 0x4b, 0x44, - 0xff, 0x2c, 0xaa, 0x49, 0xa9, 0x01, 0x19, 0x57, 0xbd, 0x7f, 0xfb, 0xb3, 0x4e, 0xf7, 0x8f, 0x0b, - 0xb4, 0xdb, 0xeb, 0x94, 0xd3, 0xc7, 0x32, 0x51, 0x6e, 0x03, 0xb6, 0x75, 0x5b, 0x25, 0x40, 0xb3, - 0x90, 0x55, 0x73, 0x87, 0xfc, 0x5f, 0xdf, 0xba, 0xd4, 0x1c, 0x49, 0x3c, 0x69, 0x70, 0x4f, 0xe9, - 0xb3, 0x05, 0x24, 0x39, 0x23, 0x36, 0x3f, 0xcb, 0x0a, 0x4c, 0xaa, 0xcf, 0x5b, 0x14, 0x71, 0x95, - 0x2f, 0xaf, 0x6b, 0x21, 0x00, 0xf4, 0xf6, 0x7e, 0xd7, 0xdf, 0xa3, 0xba, 0xfa, 0xf2, 0xef, 0x2c, - 0x75, 0x77, 0xf6, 0xd1, 0x0c, 0xfa, 0xca, 0x94, 0x68, 0x77, 0x99, 0x74, 0x77, 0x47, 0xbb, 0xc0, - 0x3e, 0xf6, 0xea, 0x5b, 0xba, 0x29, 0xe5, 0x68, 0x82, 0xec, 0xd5, 0x9c, 0x0b, 0x3d, 0x13, 0xa4, - 0x56, 0x14, 0x9a, 0x6b, 0xdc, 0xdb, 0xb5, 0x90, 0x21, 0x18, 0xda, 0x18, 0x82, 0xe1, 0x9b, 0x6d, - 0xb3, 0x1e, 0x14, 0xa4, 0x8b, 0x58, 0x27, 0x81, 0xd5, 0xd6, 0x2d, 0xf5, 0x3c, 0x81, 0x0b, 0x1e, - 0xf2, 0xcc, 0xb6, 0x1a, 0x41, 0xdc, 0x0d, 0xd3, 0xfe, 0xec, 0xf7, 0x7f, 0x65, 0x28, 0xde, 0xc2, - 0xb8, 0x76, 0xfe, 0xb6, 0x38, 0xb9, 0xe4, 0xa7, 0x5a, 0x43, 0xe7, 0x15, 0xa8, 0x3e, 0x24, 0xd1, - 0x40, 0xa3, 0xc9, 0x9e, 0xca, 0x36, 0x44, 0xa2, 0x78, 0x58, 0x6f, 0xd9, 0x20, 0x92, 0xcb, 0x47, - 0x4b, 0x03, 0x69, 0xe9, 0x8a, 0x42, 0x18, 0x5d, 0xe3, 0x39, 0x95, 0x2b, 0x7e, 0x05, 0x09, 0xc2, - 0x99, 0x82, 0x2d, 0x18, 0x04, 0x0b, 0xd4, 0x94, 0xf0, 0xd6, 0x3e, 0x25, 0x1f, 0x50, 0x83, 0x75, - 0x0a, 0xa0, 0x91, 0xe0, 0x55, 0x02, 0x41, 0x7b, 0xb9, 0x09, 0x7a, 0x4f, 0xdd, 0x90, 0x46, 0x6b, - 0x61, 0x42, 0x9e, 0x95, 0x46, 0x90, 0x58, 0x40, 0xa0, 0x6d, 0xeb, 0x0b, 0x29, 0xb7, 0x30, 0xf8, - 0x8c, 0xe5, 0x13, 0xbc, 0x86, 0xe6, 0x1d, 0x61, 0x6a, 0x17, 0xed, 0x7b, 0xe9, 0x8b, 0xbc, 0x17, - 0x24, 0x41, 0x54, 0x2a, 0x00, 0x20, 0xfa, 0xb2, 0xe6, 0xf1, 0x3b, 0x97, 0x16, 0x8a, 0x98, 0xa3, - 0xb6, 0xec, 0x52, 0x55, 0x54, 0xb2, 0xcb, 0x8a, 0x04, 0x0a, 0x6e, 0x57, 0x92, 0x25, 0x56, 0xb6, - 0x90, 0x19, 0x83, 0x6f, 0xb7, 0xdb, 0x07, 0x93, 0xfa, 0xe8, 0xa7, 0x5d, 0xcf, 0x41, 0xc0, 0x02, - 0x6b, 0x1c, 0x19, 0x26, 0xe9, 0x48, 0xd1, 0x2e, 0x4e, 0x37, 0x10, 0x9b, 0x6a, 0x3d, 0x2d, 0x14, - 0x3c, 0xa2, 0x07, 0x3c, 0xc7, 0x69, 0x3c, 0x85, 0x5a, 0x63, 0xc7, 0xd5, 0x41, 0x7f, 0x11, 0x02, - 0xd9, 0x03, 0x0a, 0x90, 0x45, 0x17, 0x48, 0xdb, 0x78, 0x26, 0xfd, 0x6f, 0xc9, 0x14, 0xbe, 0x07, - 0x0a, 0x9a, 0x4f, 0xa3, 0x58, 0x61, 0x46, 0xd7, 0xd2, 0xa6, 0x20, 0x1f, 0xca, 0xdc, 0xc5, 0x7f, - 0x21, 0x2b, 0xf5, 0x7c, 0xbf, 0x15, 0x95, 0x74, 0xcf, 0x68, 0x48, 0x42, 0xeb, 0x85, 0xdd, 0x77, - 0x8d, 0xd1, 0x84, 0xe0, 0xa2, 0x79, 0x6f, 0xc2, 0x1d, 0xd0, 0x2f, 0xae, 0x24, 0x89, 0x9f, 0xf9, - 0x21, 0xfc, 0x74, 0x0b, 0xcd, 0xc9, 0x50, 0xda, 0xf6, 0x9d, 0xf5, 0xf3, 0x76, 0xa9, 0x0f, 0x2b, - 0x04, 0x74, 0x30, 0xad, 0xec, 0x3e, 0xc0, 0x88, 0x47, 0x26, 0xc0, 0xc1, 0x64, 0xd8, 0x05, 0x5e, - 0x8e, 0x48, 0xda, 0xf0, 0x32, 0x4e, 0x7c, 0x7a, 0xf2, 0x5e, 0xe8, 0x6d, 0xae, 0x21, 0x6a, 0x43, - 0x85, 0xd1, 0x1b, 0x1a, 0x42, 0x4f, 0xef, 0x51, 0xf8, 0x0e, 0x40, 0x03, 0xdc, 0x68, 0x97, 0x83, - 0xea, 0xcb, 0x6c, 0xc7, 0xd5, 0x8e, 0x8e, 0x9b, 0xbf, 0x0d, 0x76, 0xf6, 0xe2, 0x32, 0x11, 0x51, - 0x7d, 0x98, 0x4a, 0x58, 0xdd, 0x96, 0x28, 0x8f, 0x31, 0xad, 0x56, 0x54, 0x10, 0xb7, 0x44, 0x0a, - 0x10, 0x04, 0x81, 0xd1, 0xc1, 0x5a, 0x5d, 0x44, 0xd4, 0xd8, 0x60, 0xa7, 0x14, 0xce, 0x2a, 0x71, - 0x79, 0x4b, 0x60, 0xdd, 0x83, 0x0d, 0x39, 0x88, 0x39, 0x81, 0x4d, 0x01, 0x00, 0xb6, 0x9b, 0xa8, - 0x56, 0xc2, 0xc6, 0x74, 0x4d, 0x25, 0xe0, 0xe5, 0x43, 0x29, 0x70, 0xad, 0x14, 0xca, 0x92, 0xd2, - 0x7d, 0x14, 0xb4, 0x0b, 0xdb, 0x98, 0x10, 0x7a, 0x9f, 0x98, 0x0f, 0x2e, 0x08, 0x79, 0xb0, 0xbb, - 0xa9, 0x16, 0xc3, 0xda, 0x1e, 0xfa, 0x20, 0x47, 0x55, 0x50, 0x87, 0x48, 0x68, 0xa8, 0xc0, 0x1b, - 0xc5, 0x8a, 0x31, 0x31, 0x4f, 0xc4, 0x8c, 0xfe, 0xa8, 0x90, 0xaf, 0x8a, 0x02, 0x83, 0x15, 0x4c, - 0xd1, 0x4f, 0xdb, 0x2c, 0x1f, 0xb2, 0xcd, 0x2e, 0x0b, 0x81, 0x21, 0xb5, 0xb4, 0x41, 0x5e, 0x75, - 0x85, 0x02, 0xf4, 0x5e, 0xba, 0x14, 0x13, 0xc2, 0xf6, 0xa5, 0xcc, 0xc0, 0xb5, 0xf2, 0xcb, 0x3b, - 0xa7, 0x99, 0x33, 0x36, 0x52, 0x25, 0x7a, 0xcf, 0xb8, 0x75, 0x3a, 0x82, 0xab, 0x44, 0xc8, 0x03, - 0xce, 0x91, 0x0a, 0xd6, 0xb5, 0xb9, 0xa7, 0xad, 0xc4, 0x7d, 0xd5, 0xc7, 0x9e, 0xa8, 0x63, 0x0d, - 0x0f, 0xda, 0x6a, 0x3a, 0x5a, 0xf1, 0xc2, 0x1e, 0x84, 0x6a, 0x44, 0x5b, 0x16, 0xa2, 0x9b, 0xf9, - 0x70, 0x7c, 0xc0, 0xeb, 0x8c, 0x05, 0x4b, 0x55, 0x68, 0xf0, 0x9f, 0x36, 0x99, 0x9e, 0x1a, 0xf3, - 0x91, 0x33, 0xb5, 0xe3, 0xc4, 0x35, 0x11, 0x73, 0xbb, 0x71, 0x9b, 0x3b, 0x8f, 0x67, 0x4c, 0x45, - 0x70, 0x3e, 0x16, 0x4d, 0x9c, 0xb1, 0x33, 0x5b, 0xf2, 0x10, 0x03, 0xbc, 0xed, 0x28, 0x9e, 0x58, - 0xda, 0x04, 0xd0, 0x27, 0xfb, 0xd3, 0x39, 0xf4, 0x6f, 0xef, 0xb0, 0x37, 0x74, 0x61, 0x2e, 0xa9, - 0xd9, 0x79, 0x9a, 0xe1, 0x5d, 0xc8, 0xdf, 0x60, 0x21, 0xda, 0x5b, 0x32, 0xf3, 0xe8, 0x1a, 0x14, - 0x83, 0xf0, 0x20, 0x06, 0x4b, 0x60, 0xbd, 0x26, 0x9d, 0x6b, 0x1c, 0x8a, 0xce, 0x24, 0x65, 0xf5, - 0x7f, 0x20, 0x20, 0x71, 0x8f, 0xbf, 0x21, 0xfa, 0xd2, 0xb2, 0x61, 0xdb, 0x27, 0xf1, 0x5a, 0x1d, - 0x46, 0x08, 0x60, 0x05, 0xe7, 0x16, 0xea, 0x56, 0x71, 0xb2, 0x33, 0xe9, 0x2f, 0xc4, 0x86, 0xae, - 0x0e, 0x2b, 0xc0, 0x35, 0x03, 0x80, 0x8e, 0x52, 0x28, 0x01, 0x3c, 0x1d, 0x48, 0xd4, 0xce, 0x1e, - 0x00, 0x75, 0x9a, 0x71, 0xcd, 0xba, 0x16, 0xca, 0x97, 0xc5, 0x26, 0x20, 0x92, 0x59, 0x6c, 0x51, - 0x52, 0x58, 0x75, 0xaf, 0x2e, 0x8f, 0x38, 0xf5, 0xc7, 0x34, 0x87, 0x3f, 0x6b, 0xf6, 0xfc, 0x3c, - 0x55, 0x0f, 0xa1, 0xe9, 0x2a, 0xe9, 0x36, 0xa7, 0x3d, 0x4c, 0xad, 0x24, 0x1d, 0xae, 0x77, 0xa9, - 0x1b, 0x97, 0x50, 0xf2, 0xf2, 0x50, 0xd5, 0x43, 0x7d, 0x22, 0x65, 0xf6, 0x1e, 0x67, 0x67, 0x61, - 0xe7, 0x6b, 0xc9, 0x5c, 0x41, 0x9b, 0xbc, 0x58, 0x07, 0x11, 0x28, 0x03, 0x59, 0x51, 0xc1, 0x52, - 0x91, 0x38, 0xe4, 0x16, 0x46, 0x17, 0xf6, 0x92, 0xce, 0x88, 0x90, 0xa2, 0x1c, 0xff, 0xa0, 0x09, - 0x85, 0x5f, 0x7d, 0xc6, 0xbf, 0x1f, 0x28, 0x85, 0xba, 0x49, 0x49, 0x9f, 0x1e, 0x19, 0x14, 0x4a, - 0xc2, 0x13, 0xba, 0xad, 0x57, 0x72, 0x13, 0x18, 0x91, 0x9e, 0x86, 0x94, 0xac, 0x3e, 0xd4, 0x26, - 0x51, 0xac, 0x97, 0x5f, 0x93, 0xa0, 0x62, 0x05, 0xc4, 0x1c, 0xbe, 0xeb, 0x82, 0x33, 0x22, 0x87, - 0xc7, 0xd8, 0xd1, 0x34, 0x7e, 0xbf, 0xb0, 0x94, 0xbd, 0x01, 0x7a, 0x49, 0x64, 0x3d, 0xeb, 0x9c, - 0xbe, 0xe1, 0xcc, 0x13, 0x68, 0x5b, 0x21, 0xd7, 0xe5, 0x69, 0xf3, 0xef, 0xf1, 0x17, 0x5b, 0xae, - 0xac, 0xd9, 0x2d, 0x97, 0x68, 0x8e, 0x14, 0x71, 0xbe, 0xb2, 0xe4, 0x47, 0xce, 0xb5, 0x6c, 0xeb, - 0x49, 0x4b, 0x55, 0x31, 0xaa, 0x96, 0x04, 0xe8, 0xf5, 0x94, 0xe2, 0x55, 0xd0, 0x57, 0x7b, 0x4a, - 0x07, 0xf0, 0x0c, 0x11, 0x9b, 0x73, 0xee, 0x5e, 0x5c, 0xca, 0x60, 0x3d, 0x77, 0x0c, 0x58, 0x02, - 0x5e, 0x9e, 0x05, 0xfb, 0xbe, 0xad, 0x00, 0xe9, 0xd8, 0xbd, 0xc0, 0x29, 0xde, 0x08, 0x49, 0xef, - 0x76, 0xa7, 0x4f, 0xd6, 0x3c, 0xa8, 0x0f, 0x44, 0x11, 0xd8, 0xa3, 0x5a, 0x02, 0x15, 0xfc, 0x51, - 0x39, 0x92, 0x2c, 0xcd, 0xb9, 0x08, 0x21, 0xaf, 0xb8, 0x78, 0x7c, 0x71, 0xff, 0x25, 0x3d, 0xfa, - 0x4e, 0xd3, 0x9b, 0xea, 0x0d, 0x62, 0x89, 0x38, 0xe1, 0x50, 0x61, 0xd7, 0x5b, 0xa5, 0xab, 0x25, - 0x50, 0x87, 0xa8, 0xde, 0xab, 0xc2, 0x9d, 0x18, 0x29, 0x96, 0xad, 0x0e, 0x19, 0x89, 0x9e, 0x8a, - 0xda, 0x3e, 0x8a, 0x8a, 0xbd, 0x60, 0x94, 0x53, 0x36, 0x21, 0x3a, 0xf5, 0xbd, 0x32, 0xa0, 0x20, - 0xfc, 0xb5, 0xc1, 0x06, 0xe2, 0x61, 0x01, 0x97, 0x24, 0x4c, 0x2c, 0x60, 0x24, 0xfa, 0xf1, 0xb4, - 0x3d, 0xdd, 0xcc, 0xd5, 0xa7, 0x99, 0x95, 0x22, 0x96, 0x61, 0xbc, 0x73, 0x6d, 0x04, 0xb9, 0xcb, - 0x6b, 0xb1, 0xd5, 0xa7, 0xf5, 0x27, 0x50, 0x6f, 0xa2, 0x00, 0x9f, 0x26, 0x2b, 0x3f, 0x83, 0x03, - 0x20, 0x14, 0xda, 0x80, 0x58, 0xa3, 0x5c, 0x3a, 0xe3, 0x46, 0x4a, 0xc4, 0x40, 0x3b, 0xf2, 0xac, - 0xb4, 0xaa, 0x7d, 0xe5, 0x0a, 0x21, 0x4c, 0xcd, 0xa5, 0xa8, 0xee, 0x5d, 0x48, 0xfa, 0x84, 0x77, - 0x09, 0xcb, 0xe7, 0x75, 0x21, 0x6c, 0x31, 0x89, 0x21, 0x66, 0xb5, 0x19, 0x25, 0xbd, 0x4e, 0x46, - 0x90, 0x3f, 0x3e, 0x9d, 0xe6, 0x5a, 0x65, 0x8c, 0xad, 0xa7, 0xde, 0x96, 0xe5, 0x1e, 0x2f, 0x7f, - 0x10, 0xca, 0x08, 0x70, 0x6f, 0x35, 0x4b, 0xfe, 0xa8, 0x45, 0xf0, 0xa9, 0x7e, 0x9c, 0x30, 0x76, - 0x4c, 0x61, 0x61, 0x73, 0x03, 0x02, 0xdb, 0x4d, 0xad, 0xa5, 0xcb, 0xdd, 0x19, 0x33, 0x21, 0xdd, - 0xa8, 0x6e, 0x84, 0xd7, 0x03, 0xc3, 0x0a, 0x46, 0x59, 0x6e, 0x9d, 0x37, 0x4a, 0xd8, 0xd6, 0x2a, - 0x63, 0xa0, 0x22, 0x88, 0x73, 0x6c, 0x9e, 0xd2, 0x56, 0x59, 0x28, 0x96, 0x81, 0xba, 0xa1, 0x28, - 0xcf, 0x6f, 0xea, 0x36, 0x09, 0x19, 0x61, 0x93, 0x08, 0x20, 0x6a, 0x7a, 0x97, 0x6f, 0x60, 0x4b, - 0xbc, 0x49, 0x83, 0xbf, 0x39, 0x36, 0x9e, 0x75, 0xfb, 0x6c, 0x71, 0xd1, 0x23, 0xf1, 0xa9, 0x72, - 0xd9, 0xe7, 0xd4, 0x70, 0x53, 0x2c, 0x15, 0x3d, 0x2d, 0xfa, 0x44, 0xf4, 0x0d, 0xdd, 0xda, 0xd3, - 0x53, 0x4c, 0xf2, 0xe2, 0x5c, 0x29, 0x3e, 0x5c, 0xeb, 0xc4, 0xdd, 0xea, 0xf4, 0x75, 0x6e, 0x1d, - 0x20, 0xac, 0x3e, 0xdb, 0xde, 0x41, 0x59, 0x5c, 0x4b, 0x4c, 0x2c, 0xbb, 0xf5, 0x39, 0x43, 0x95, - 0x1c, 0x3f, 0x2b, 0x22, 0x58, 0x57, 0xe9, 0x4a, 0x1c, 0x7e, 0x63, 0xcd, 0x6a, 0xda, 0x23, 0x1b, - 0x31, 0xf4, 0x61, 0x06, 0x8c, 0x4d, 0x72, 0x83, 0x67, 0xc3, 0xc7, 0x01, 0xd4, 0x16, 0xf3, 0xa7, - 0xf4, 0x6f, 0xc4, 0xe0, 0xdf, 0xbb, 0xdd, 0x30, 0x60, 0x1b, 0x54, 0xd1, 0x49, 0xdc, 0x2f, 0x52, - 0x8b, 0xb5, 0x29, 0x7f, 0x72, 0x20, 0xb4, 0x24, 0x89, 0x17, 0x15, 0x4c, 0x82, 0x30, 0xc2, 0x96, - 0xa2, 0xcb, 0x68, 0xb5, 0xb9, 0xdb, 0xde, 0x9e, 0x98, 0xe6, 0x5f, 0x88, 0xb0, 0xa2, 0xd5, 0x1f, - 0x8a, 0x97, 0x69, 0x62, 0xe7, 0x6e, 0xbb, 0xf3, 0x0d, 0xb6, 0x11, 0x7c, 0xcf, 0xb8, 0xc6, 0xcf, - 0xc5, 0x90, 0x68, 0x65, 0x73, 0xb2, 0x84, 0x98, 0xed, 0x60, 0x76, 0x1f, 0x9f, 0x27, 0x3f, 0x27, - 0x75, 0xf1, 0xa5, 0x06, 0x87, 0xfa, 0x8f, 0x21, 0x2b, 0x41, 0x17, 0xa6, 0xbf, 0x99, 0xdb, 0x04, - 0xb3, 0x5a, 0x1a, 0x85, 0x0b, 0xc1, 0x78, 0xfd, 0xe7, 0xb9, 0xa0, 0x18, 0xfa, 0xfe, 0xa0, 0x48, - 0x33, 0x16, 0x67, 0x56, 0xd3, 0xad, 0x8a, 0xd0, 0xba, 0x16, 0xe0, 0x5f, 0x45, 0x8c, 0xf1, 0x7a, - 0x09, 0x80, 0xdf, 0x54, 0x4e, 0x75, 0xc9, 0x89, 0x31, 0x45, 0x45, 0x3a, 0x3c, 0x72, 0xcc, 0x17, - 0x30, 0x43, 0x45, 0x9c, 0xb8, 0xe8, 0xf1, 0xf5, 0xf9, 0xcb, 0x16, 0xb4, 0xe5, 0xb3, 0xe3, 0x4d, - 0xc2, 0xd9, 0x5f, 0x13, 0x50, 0x6e, 0x3d, 0xf7, 0x14, 0x72, 0x4f, 0xa4, 0x20, 0xf6, 0xeb, 0xfe, - 0x95, 0x1a, 0xa0, 0x67, 0xf7, 0xfa, 0x3f, 0xa6, 0x1c, 0x7b, 0x54, 0xe8, 0x39, 0xb8, 0x04, 0x56, - 0xd6, 0x61, 0xb3, 0xce, 0xaa, 0xe6, 0xca, 0x53, 0xf9, 0xbe, 0x4a, 0xdb, 0x6d, 0xff, 0x38, 0xd8, - 0x20, 0x9c, 0xee, 0x2b, 0xcc, 0xff, 0x72, 0xa0, 0x74, 0xac, 0xf1, 0xb1, 0x82, 0x20, 0xaf, 0xbd, - 0x9a, 0x56, 0x1b, 0xa6, 0xee, 0x6a, 0x75, 0x03, 0xae, 0x3c, 0xb0, 0xa8, 0x6c, 0x91, 0x26, 0xae, - 0x53, 0x5b, 0x85, 0x38, 0x3c, 0xd5, 0x4c, 0x44, 0xb9, 0x49, 0x37, 0xfc, 0x34, 0x0c, 0xbc, 0xb9, - 0xb9, 0x6d, 0x0b, 0x2a, 0xe2, 0xb4, 0x36, 0xac, 0x22, 0x2e, 0xcc, 0x5e, 0x10, 0xc9, 0x0b, 0x9a, - 0x97, 0x32, 0xc2, 0xed, 0x3c, 0x6c, 0x79, 0xdd, 0x47, 0xff, 0x7f, 0x9f, 0x7f, 0x6a, 0x4c, 0x1d, - 0xa1, 0xbf, 0x38, 0x96, 0x91, 0x80, 0x06, 0xbc, 0xf8, 0x90, 0xbd, 0x6a, 0xaf, 0x5b, 0xb9, 0x23, - 0x19, 0x54, 0x4f, 0xfd, 0xe4, 0x27, 0x7a, 0xc3, 0x22, 0xa0, 0x16, 0x15, 0x4f, 0x5a, 0x7a, 0x2e, - 0x19, 0x21, 0x5e, 0x2e, 0x30, 0xc2, 0xca, 0xa6, 0xe4, 0x86, 0x0f, 0x21, 0xac, 0x83, 0xe0, 0xbc, - 0xc3, 0x36, 0xea, 0x05, 0x59, 0x98, 0x4c, 0x50, 0x27, 0x08, 0xd3, 0x8b, 0x03, 0x50, 0x4c, 0xcb, - 0xf4, 0x6d, 0xb5, 0x0b, 0x64, 0xcf, 0xd4, 0x60, 0x7c, 0x8a, 0x11, 0x7b, 0x2e, 0x24, 0xaa, 0x0e, - 0x72, 0x6f, 0xbe, 0x07, 0xcf, 0x78, 0x2b, 0x31, 0x80, 0x56, 0xf4, 0x53, 0x16, 0x1b, 0x3f, 0x13, - 0x0d, 0xc3, 0x29, 0xcb, 0x11, 0x51, 0x89, 0x90, 0x5d, 0x41, 0x71, 0x49, 0x15, 0xc6, 0xee, 0xe0, - 0x67, 0x7a, 0xef, 0x2c, 0xec, 0xd5, 0xd6, 0xe2, 0xcd, 0x54, 0x4e, 0x4b, 0x8f, 0xb7, 0x8a, 0xf1, - 0xf9, 0x28, 0x68, 0x6c, 0x9a, 0x78, 0x65, 0x60, 0xb3, 0x77, 0x2f, 0xd0, 0x9b, 0xed, 0xe4, 0xf3, - 0xba, 0x8a, 0x47, 0xcd, 0x31, 0x57, 0x2a, 0xaa, 0xfc, 0x48, 0xca, 0x87, 0xed, 0x61, 0xde, 0xe8, - 0x9d, 0x53, 0xbd, 0xe1, 0x50, 0x30, 0x2e, 0xc3, 0xaf, 0xa7, 0x65, 0x0e, 0x49, 0x87, 0xde, 0x07, - 0xcd, 0x00, 0x72, 0x23, 0x95, 0x5c, 0x42, 0xd5, 0xb4, 0x12, 0xaf, 0x1d, 0x2f, 0x30, 0xc0, 0x98, - 0xa0, 0xc4, 0xf0, 0xfc, 0xab, 0x13, 0xef, 0xd4, 0x66, 0x58, 0x12, 0x1d, 0xb4, 0xbf, 0xcf, 0xf3, - 0x7a, 0x56, 0xf2, 0xa8, 0x2e, 0x42, 0x6b, 0xbf, 0xaa, 0x2c, 0xc2, 0xfe, 0x20, 0x97, 0xca, 0x9f, - 0x05, 0xa7, 0xbd, 0x4b, 0x5f, 0x99, 0x97, 0x26, 0x3d, 0xc7, 0xed, 0x18, 0x4a, 0xcf, 0x28, 0x71, - 0x15, 0xc5, 0xc2, 0x27, 0xae, 0x47, 0x51, 0x49, 0x32, 0x50, 0x45, 0x6c, 0xcf, 0x44, 0x1f, 0xab, - 0x80, 0x3f, 0x66, 0xbe, 0x66, 0x33, 0x2e, 0xc5, 0xd4, 0xdf, 0x90, 0xc4, 0x75, 0x6e, 0xa1, 0x93, - 0x05, 0x35, 0xa2, 0xb8, 0x8d, 0x81, 0x00, 0x25, 0x6a, 0x32, 0xca, 0xe6, 0x6a, 0xc2, 0x7d, 0xd2, - 0xc7, 0xd0, 0x5a, 0xf5, 0x5b, 0x1d, 0x15, 0xe7, 0xaa, 0x31, 0xf0, 0x3b, 0xe7, 0xb1, 0x76, 0x36, - 0x8c, 0xeb, 0xcc, 0x71, 0x1f, 0x45, 0xac, 0xa3, 0xe0, 0xde, 0x2e, 0x16, 0xef, 0xd1, 0xcf, 0x2f, - 0x83, 0xe3, 0xca, 0x2b, 0x7a, 0xdd, 0x29, 0x80, 0x4f, 0x38, 0xb7, 0x60, 0xc1, 0xcd, 0xc1, 0x97, - 0x9d, 0x9e, 0xc5, 0x8d, 0x28, 0xcd, 0x11, 0x74, 0x97, 0x92, 0x76, 0x65, 0x91, 0x41, 0x3c, 0xf1, - 0xab, 0x33, 0x7d, 0xf1, 0x00, 0xe9, 0x2c, 0xd0, 0x07, 0xcd, 0xec, 0x66, 0x79, 0x2a, 0x8b, 0x7b, - 0x5f, 0xc3, 0x5f, 0x72, 0x54, 0x7b, 0x20, 0x91, 0x97, 0xfe, 0xc6, 0x9c, 0x46, 0x73, 0x92, 0x44, - 0x88, 0xa9, 0xf8, 0x4c, 0xa2, 0x10, 0x5e, 0xe6, 0xb7, 0x7b, 0x03, 0x50, 0xc7, 0x2b, 0x3a, 0x9d, - 0xcf, 0x91, 0x87, 0xb0, 0x92, 0x3b, 0xb8, 0x0e, 0xd2, 0x80, 0xad, 0xa2, 0x55, 0xd0, 0xe2, 0xec, - 0xd1, 0x78, 0xea, 0xb7, 0x82, 0x4e, 0xcc, 0x7d, 0xe3, 0xfe, 0x47, 0x45, 0x9a, 0xa8, 0xb9, 0x10, - 0x7b, 0x59, 0x16, 0x2c, 0x0d, 0x28, 0x3e, 0xc0, 0xd2, 0x8b, 0x93, 0x7c, 0xfe, 0x32, 0xb0, 0x9e, - 0xce, 0x84, 0x94, 0x25, 0x59, 0x31, 0xde, 0x74, 0xc8, 0x8f, 0x11, 0x56, 0xe4, 0x96, 0x37, 0x38, - 0x0b, 0x86, 0x36, 0xb6, 0x49, 0x7e, 0x9b, 0xac, 0x69, 0xab, 0x07, 0x22, 0xf7, 0x88, 0xe4, 0x34, - 0x89, 0x5c, 0x43, 0x85, 0x08, 0xb4, 0x92, 0x0d, 0x23, 0x12, 0xcb, 0xcb, 0xc1, 0x8d, 0x5f, 0x99, - 0x61, 0x72, 0xac, 0xc0, 0x19, 0x3b, 0xec, 0x2e, 0xec, 0x00, 0xb5, 0xee, 0xde, 0x19, 0x46, 0xc0, - 0xd6, 0x5a, 0x20, 0x03, 0x48, 0xee, 0x15, 0x88, 0xfc, 0x65, 0xa6, 0xe8, 0xa4, 0x88, 0xc4, 0x89, - 0x08, 0x35, 0xb0, 0xe0, 0x0b, 0x42, 0x1f, 0xd6, 0x30, 0xd0, 0x68, 0x1e, 0x1c, 0xbd, 0x18, 0xb2, - 0x0e, 0xbc, 0xa6, 0xca, 0xba, 0x0d, 0xf6, 0x22, 0xbb, 0xd4, 0xd3, 0xee, 0x59, 0xb6, 0x92, 0x5c, - 0x52, 0xa9, 0x51, 0x98, 0x5d, 0xd2, 0xe7, 0x23, 0x93, 0x17, 0x8d, 0xc9, 0x7a, 0xdf, 0xa1, 0x11, - 0xc6, 0x33, 0xa4, 0x0a, 0x54, 0x8e, 0x96, 0x9b, 0x60, 0xc7, 0x94, 0xa3, 0x2c, 0x6d, 0xaf, 0x9c, - 0xa6, 0xb0, 0x3a, 0x0e, 0x7d, 0x2d, 0xd4, 0xdb, 0x4f, 0x2a, 0x01, 0xe5, 0x5e, 0x89, 0x79, 0xc6, - 0x56, 0xb3, 0x14, 0x5a, 0x5f, 0x79, 0xa9, 0xc4, 0x06, 0xb2, 0xe7, 0xc8, 0xe3, 0xba, 0x3f, 0xf9, - 0x59, 0x84, 0xd5, 0xf3, 0xbd, 0xc1, 0x7e, 0xf1, 0x4a, 0xbf, 0x1e, 0x84, 0x09, 0x20, 0x7b, 0x85, - 0x29, 0x47, 0x5f, 0x38, 0xfd, 0x8f, 0x80, 0x35, 0x70, 0x2f, 0x2f, 0xc6, 0xc9, 0xd6, 0x0e, 0xd4, - 0x2a, 0xbb, 0x47, 0x0b, 0xb8, 0xd4, 0x98, 0x03, 0xd2, 0xc3, 0xe4, 0xe3, 0xbe, 0x69, 0xf1, 0x4e, - 0xc1, 0x0a, 0x3c, 0xd5, 0x10, 0x1d, 0x5a, 0xd0, 0x10, 0x78, 0xa8, 0x36, 0x4e, 0xde, 0x94, 0x6d, - 0x1f, 0xe6, 0x0b, 0xca, 0x49, 0x4c, 0x0a, 0x14, 0xd4, 0x63, 0x60, 0x4b, 0xde, 0x63, 0xeb, 0xc4, - 0x62, 0x99, 0xda, 0xba, 0x3e, 0xeb, 0xbc, 0xde, 0xd1, 0xbf, 0x12, 0xa7, 0xb1, 0xbb, 0x8a, 0x90, - 0x0d, 0x58, 0x9c, 0x6d, 0xf2, 0x96, 0xb7, 0x54, 0xc0, 0xfa, 0xa5, 0xb1, 0x82, 0x31, 0x57, 0x48, - 0x6c, 0x79, 0xf5, 0x90, 0xa4, 0xdc, 0x73, 0xf8, 0xa3, 0x38, 0x8d, 0x5c, 0xd5, 0x4d, 0x2e, 0x2b, - 0xf8, 0xcc, 0x6a, 0xd2, 0x5a, 0x4e, 0xfd, 0xfd, 0x87, 0xc6, 0xb0, 0x40, 0x08, 0x3f, 0x45, 0x95, - 0x64, 0xae, 0xc7, 0xea, 0x48, 0x3a, 0xd0, 0xb8, 0xfb, 0x3d, 0x1d, 0x14, 0x03, 0x7e, 0xf9, 0xdd, - 0x80, 0xa7, 0x39, 0xab, 0x63, 0x56, 0xb4, 0x1f, 0x20, 0x1e, 0x09, 0x3a, 0xd3, 0xa0, 0x6e, 0x8c, - 0x89, 0x62, 0x19, 0xac, 0x38, 0x85, 0x07, 0x4e, 0x9d, 0x5b, 0x76, 0x1a, 0xf1, 0x09, 0x4a, 0x8b, - 0x81, 0x2f, 0x39, 0x10, 0xbe, 0xf1, 0x9d, 0x5c, 0x61, 0x5e, 0x13, 0x3c, 0x53, 0xd9, 0x69, 0x58, - 0x40, 0x55, 0x6b, 0x32, 0xe9, 0x86, 0xce, 0x0f, 0xc5, 0x05, 0xa1, 0x1a, 0xf3, 0xdb, 0xb2, 0x42, - 0x53, 0x26, 0x48, 0x9f, 0xa7, 0xc3, 0xd0, 0xb1, 0xe0, 0x20, 0x06, 0x9b, 0xe2, 0x30, 0xa2, 0xb0, - 0x28, 0x57, 0x12, 0x20, 0x95, 0x06, 0x91, 0x37, 0xcb, 0xd7, 0xea, 0x22, 0x39, 0x4b, 0x4a, 0x2a, - 0x42, 0x8f, 0x9f, 0x33, 0xea, 0xa7, 0xd3, 0x35, 0xa7, 0x63, 0x36, 0xbe, 0xe3, 0xfd, 0x68, 0x1a, - 0xce, 0x13, 0x24, 0x08, 0x68, 0x12, 0x64, 0xab, 0x3f, 0x3e, 0x9f, 0xab, 0x31, 0xeb, 0x8a, 0x7f, - 0xdd, 0x9f, 0xa4, 0x3d, 0xbe, 0xe5, 0x14, 0x66, 0x00, 0xec, 0x5b, 0x4f, 0xb0, 0xe3, 0xb4, 0x50, - 0xa2, 0xe5, 0x74, 0xe9, 0x78, 0xd2, 0x8b, 0x3d, 0x5b, 0xb2, 0xeb, 0xeb, 0xc2, 0x6e, 0xd5, 0x8e, - 0x52, 0x15, 0x27, 0x17, 0x5d, 0x56, 0xe4, 0x3c, 0x9b, 0xe1, 0xae, 0xbf, 0xf0, 0xa8, 0xc9, 0x94, - 0xeb, 0x63, 0x42, 0x2c, 0x50, 0xaf, 0x90, 0xf3, 0xd2, 0xf7, 0x47, 0x88, 0x90, 0x29, 0x42, 0x75, - 0x48, 0x8d, 0xdb, 0x8f, 0xfd, 0xe3, 0xc7, 0x60, 0xbe, 0xb4, 0xb4, 0xe8, 0xaa, 0x9f, 0x6c, 0x04, - 0x25, 0x6b, 0xd8, 0xc6, 0x5d, 0xf5, 0x6b, 0x23, 0xd3, 0x56, 0x60, 0xf1, 0xba, 0x4a, 0xad, 0x8b, - 0x7b, 0xa1, 0xc6, 0x40, 0x24, 0xf3, 0xef, 0x49, 0x4e, 0x45, 0x81, 0x4a, 0xa8, 0x23, 0xfb, 0xb1, - 0x29, 0xb1, 0xfb, 0xad, 0x9f, 0xfb, 0x12, 0xf9, 0x4b, 0x56, 0x2c, 0xf7, 0x94, 0x7f, 0xef, 0xcd, - 0x76, 0x49, 0x97, 0xc8, 0xee, 0xfd, 0x54, 0x6a, 0x67, 0xc7, 0xc4, 0x96, 0xdf, 0xcd, 0xc6, 0xc2, - 0xbc, 0x9c, 0xf0, 0xdf, 0x27, 0x8b, 0xc0, 0xad, 0x43, 0x84, 0x69, 0xdd, 0x9f, 0x73, 0x07, 0x48, - 0x0a, 0xaa, 0xdc, 0x3b, 0xa9, 0xce, 0x26, 0x69, 0x21, 0x27, 0x27, 0x4f, 0x9a, 0x79, 0xfc, 0xb4, - 0x7c, 0x4b, 0xdb, 0xd8, 0x1d, 0x3e, 0xbf, 0x97, 0x3f, 0x45, 0x85, 0xa1, 0x6d, 0xfd, 0x9b, 0x51, - 0xd5, 0x9d, 0xd7, 0xe2, 0x46, 0x64, 0x7e, 0xae, 0x25, 0xac, 0x42, 0x29, 0x93, 0x06, 0x12, 0x26, - 0x7d, 0x3f, 0xb8, 0x7f, 0xff, 0xad, 0x88, 0xac, 0x64, 0x2c, 0xb0, 0xbd, 0xc3, 0x45, 0xe0, 0xea, - 0x0d, 0xd5, 0x2a, 0x91, 0x58, 0x3c, 0x93, 0x4c, 0x0e, 0x63, 0xf8, 0x2b, 0x92, 0x63, 0xd9, 0xe6, - 0x57, 0x75, 0x37, 0xaf, 0x3f, 0xb2, 0xf4, 0xb1, 0x21, 0x71, 0x83, 0x13, 0x75, 0x73, 0xb4, 0x85, - 0x64, 0x82, 0x6a, 0x5f, 0x5e, 0xf9, 0x64, 0xea, 0x65, 0x62, 0x51, 0x2f, 0xd0, 0x28, 0x13, 0x8d, - 0x3a, 0x4e, 0x5f, 0x76, 0x6d, 0xd5, 0xbe, 0xb0, 0x14, 0xb0, 0xd4, 0x76, 0xc9, 0x11, 0x4d, 0x99, - 0xae, 0x39, 0xdf, 0x92, 0x96, 0x8a, 0x91, 0x6c, 0x5c, 0xf8, 0xe0, 0x44, 0xc9, 0xa9, 0x0e, 0x4b, - 0x83, 0x13, 0xdc, 0x57, 0x2d, 0xbb, 0x71, 0x3c, 0x00, 0x5b, 0x7f, 0x7a, 0x78, 0xc7, 0x37, 0x32, - 0xcc, 0x66, 0x86, 0x8d, 0x8f, 0xf3, 0x57, 0x9c, 0x85, 0xc3, 0x86, 0x4e, 0x27, 0x78, 0x1b, 0x3d, - 0x5d, 0x2f, 0xb6, 0x82, 0xb7, 0xb0, 0xdf, 0x53, 0xb9, 0xde, 0x59, 0x39, 0x4d, 0x7f, 0x3a, 0x9f, - 0x79, 0x65, 0x02, 0xee, 0xa6, 0x56, 0xce, 0x9f, 0xf3, 0xdd, 0xb1, 0x73, 0xf8, 0x4d, 0x47, 0x36, - 0x3f, 0x49, 0x76, 0x50, 0xc9, 0x8c, 0xfb, 0x6a, 0x08, 0xa0, 0x46, 0x32, 0x3b, 0xd4, 0x30, 0x1e, - 0x1b, 0x87, 0xe1, 0x0e, 0x85, 0x0e, 0xaa, 0xc1, 0xda, 0x3f, 0xcb, 0x38, 0xd0, 0x6c, 0x78, 0x82, - 0x75, 0x3d, 0xb0, 0xa2, 0x70, 0x62, 0x1a, 0x44, 0x06, 0xa4, 0xce, 0xd5, 0xc7, 0x41, 0x18, 0x6b, - 0x96, 0xf7, 0x3c, 0xfa, 0xb0, 0x95, 0xee, 0x62, 0xbb, 0x6c, 0xa6, 0xe8, 0xcb, 0x8f, 0x15, 0x49, - 0xe1, 0xd0, 0xb4, 0x00, 0x57, 0x62, 0xb8, 0x3c, 0xe4, 0xc5, 0xe4, 0x44, 0xaf, 0x11, 0x45, 0xb7, - 0x93, 0x54, 0xe4, 0x82, 0x87, 0x5a, 0x12, 0x39, 0x46, 0xa8, 0xa9, 0xf4, 0x86, 0x06, 0x94, 0x6e, - 0x78, 0x81, 0xe8, 0x47, 0x43, 0x66, 0x5c, 0xda, 0x40, 0xe4, 0xbf, 0x71, 0x73, 0x40, 0xd8, 0x59, - 0xd3, 0x1f, 0xef, 0x0d, 0x2d, 0x97, 0xcb, 0x56, 0x87, 0x43, 0xe6, 0x2e, 0xee, 0x1c, 0xd3, 0x62, - 0x84, 0x4c, 0x80, 0xfd, 0x13, 0x51, 0xb5, 0x8f, 0xba, 0x49, 0xd5, 0x29, 0x8c, 0xf7, 0xdf, 0x89, - 0x4d, 0x01, 0x43, 0x01, 0x21, 0x56, 0x5b, 0x70, 0x13, 0x5e, 0xfb, 0xce, 0x2b, 0x0b, 0xdd, 0xd8, - 0x48, 0x11, 0x74, 0x58, 0x27, 0x0d, 0x03, 0x5f, 0xe0, 0x7c, 0x74, 0xb4, 0x75, 0x97, 0xda, 0x17, - 0xbd, 0xf4, 0xc2, 0xba, 0x89, 0xf7, 0x51, 0x1b, 0x77, 0x3f, 0x11, 0x5f, 0x9f, 0xcd, 0xce, 0x00, - 0x71, 0x64, 0x60, 0x0a, 0xb4, 0x54, 0xcf, 0x9f, 0x66, 0xf6, 0xd2, 0xeb, 0x15, 0xd7, 0x72, 0x6f, - 0x77, 0x4b, 0x04, 0x11, 0x73, 0xec, 0x62, 0x36, 0x68, 0xd6, 0x86, 0x86, 0x77, 0x82, 0xbf, 0x75, - 0x15, 0x3d, 0xea, 0xd6, 0xbc, 0x45, 0xaf, 0xd2, 0x1e, 0x7a, 0x67, 0x35, 0x74, 0x1c, 0xe0, 0x41, - 0xaf, 0xae, 0xd3, 0x6d, 0x57, 0x57, 0xcc, 0x16, 0xde, 0xa5, 0xdf, 0xdb, 0xe8, 0x8d, 0xec, 0x68, - 0x04, 0xd3, 0x70, 0x34, 0x87, 0xbd, 0xa0, 0x4e, 0xf4, 0xf5, 0x3a, 0xf2, 0x23, 0x14, 0x5e, 0x6b, - 0xcb, 0x40, 0x29, 0x0e, 0x2c, 0xac, 0xc0, 0x88, 0xcb, 0xe8, 0x85, 0x3b, 0x00, 0xa6, 0xe1, 0x10, - 0xdd, 0x9e, 0x9e, 0xc2, 0xb8, 0x5f, 0xcf, 0x1c, 0xff, 0xf1, 0x07, 0x72, 0xe5, 0xc3, 0x3f, 0x4b, - 0xc4, 0xd4, 0x56, 0x37, 0x13, 0x55, 0x52, 0xc3, 0xc8, 0x26, 0x81, 0xbc, 0x0c, 0x53, 0x0a, 0x37, - 0xcd, 0xe3, 0x83, 0x6b, 0x3e, 0x06, 0x94, 0x05, 0x4b, 0x00, 0xe4, 0x39, 0xf1, 0x86, 0xf8, 0x41, - 0x60, 0xfa, 0x16, 0x9b, 0xa5, 0x17, 0xbf, 0xcf, 0x17, 0xa3, 0x53, 0x0e, 0x08, 0xa5, 0x02, 0x9a, - 0x51, 0xdb, 0x10, 0x81, 0x57, 0x55, 0xf3, 0xdc, 0x8d, 0xb9, 0x10, 0x37, 0x53, 0xc0, 0x41, 0xaa, - 0x26, 0xa1, 0xee, 0x9b, 0xe6, 0x56, 0x7b, 0x97, 0xc7, 0xbc, 0xcf, 0xe6, 0x66, 0x66, 0xa0, 0xfa, - 0xe1, 0x8a, 0x86, 0x05, 0xc9, 0x95, 0x4a, 0x9d, 0xb4, 0xbd, 0x0c, 0x03, 0xd4, 0x3f, 0xf5, 0xe6, - 0xdd, 0xa9, 0x6b, 0xaf, 0xd2, 0xd4, 0x9d, 0xff, 0xad, 0x8a, 0x60, 0xa1, 0xed, 0xd8, 0x78, 0xcc, - 0xc1, 0xa1, 0x36, 0x4b, 0xb7, 0xbd, 0xa4, 0xd7, 0x33, 0x09, 0xc8, 0xc2, 0xd5, 0xec, 0x0e, 0x2b, - 0x09, 0x80, 0x01, 0x21, 0xc8, 0x44, 0xd2, 0xa7, 0x61, 0x93, 0xca, 0xfe, 0x91, 0xed, 0xc2, 0x95, - 0xc9, 0x54, 0xe5, 0x4a, 0xff, 0x02, 0xf5, 0x72, 0xbd, 0xb7, 0x26, 0x3f, 0x01, 0x3d, 0xe8, 0x08, - 0xab, 0x0b, 0x87, 0x39, 0x22, 0x66, 0x9c, 0x36, 0x36, 0x5f, 0x65, 0x0d, 0xea, 0x02, 0x5f, 0xa1, - 0x2c, 0x24, 0x78, 0x8b, 0x27, 0xe4, 0x05, 0xd8, 0x5e, 0xb0, 0x71, 0x61, 0x14, 0x78, 0x10, 0xac, - 0x07, 0xb1, 0x77, 0x4b, 0xe1, 0x8d, 0x1a, 0xf3, 0x71, 0x1f, 0x45, 0x52, 0x68, 0x23, 0x3b, 0xe5, - 0x4b, 0x28, 0xbb, 0xbe, 0x1e, 0x58, 0x4f, 0xf3, 0x93, 0xda, 0x87, 0x88, 0x0b, 0x7f, 0xa7, 0x5f, - 0xd7, 0x1b, 0x2b, 0x3e, 0xae, 0x4a, 0xae, 0x45, 0xff, 0x09, 0xea, 0xa7, 0x5f, 0x60, 0x75, 0x32, - 0x1e, 0xb3, 0xcd, 0x7a, 0xf4, 0x09, 0xca, 0x7f, 0x46, 0xc5, 0xcd, 0x58, 0x06, 0x2a, 0xd4, 0xbf, - 0x7c, 0x34, 0x6a, 0x29, 0xe8, 0x7d, 0x73, 0xa4, 0xe0, 0x0b, 0x72, 0x8a, 0x69, 0x43, 0x40, 0x3d, - 0x09, 0xca, 0x3f, 0xcf, 0xd6, 0xfc, 0x84, 0x15, 0x35, 0x4c, 0x51, 0x66, 0x51, 0x56, 0x12, 0x57, - 0x1c, 0xe1, 0x94, 0xc0, 0xb7, 0xa1, 0xda, 0x3c, 0x89, 0x31, 0xe4, 0x3d, 0x3e, 0x9a, 0xaa, 0x79, - 0x55, 0xab, 0xee, 0xa1, 0x21, 0x23, 0xec, 0xf0, 0x57, 0x32, 0x85, 0x71, 0x3d, 0xb9, 0xec, 0xe4, - 0xbc, 0x85, 0xc1, 0x7c, 0x1f, 0xfd, 0x22, 0x18, 0x1f, 0xdf, 0xb2, 0x66, 0xf8, 0x68, 0x64, 0x37, - 0x76, 0x34, 0xa4, 0x1d, 0xda, 0x7f, 0xf0, 0x19, 0x2b, 0x0b, 0x12, 0x85, 0x06, 0x0f, 0x64, 0x4e, - 0x8c, 0xc4, 0x5f, 0x63, 0x11, 0xec, 0x8d, 0xf1, 0xee, 0x54, 0xf4, 0x73, 0x92, 0xf6, 0x18, 0xbc, - 0xeb, 0xbe, 0x92, 0x88, 0x98, 0xe0, 0x8b, 0x50, 0x5a, 0x8c, 0xce, 0x07, 0x38, 0xae, 0xf0, 0x7b, - 0x30, 0xe3, 0xd1, 0x80, 0xba, 0x06, 0x0e, 0x88, 0x92, 0x68, 0x8a, 0x06, 0xc3, 0xa5, 0xb0, 0xbc, - 0x0a, 0xfd, 0xdd, 0xd9, 0x0d, 0x75, 0xf3, 0xe4, 0x90, 0xb5, 0x19, 0xa6, 0x12, 0x9a, 0x4e, 0x05, - 0x03, 0xa3, 0xaf, 0x76, 0x2f, 0x9e, 0x29, 0x63, 0x29, 0x57, 0x25, 0x78, 0x31, 0xaa, 0x40, 0xf2, - 0xb3, 0xbc, 0x6e, 0xc5, 0xa4, 0xb9, 0x5e, 0x73, 0x21, 0xeb, 0x24, 0x84, 0x60, 0x74, 0x57, 0xb1, - 0x80, 0xa8, 0x23, 0x49, 0x82, 0x5d, 0xbb, 0x59, 0xd0, 0x54, 0x2b, 0x43, 0x49, 0xa3, 0x05, 0xd8, - 0xc7, 0x91, 0x8c, 0x6f, 0x92, 0xbd, 0xa6, 0xfb, 0xfd, 0xb6, 0x97, 0xc5, 0xa0, 0x57, 0xec, 0x87, - 0xfd, 0xce, 0xad, 0x28, 0xfc, 0xb7, 0x22, 0x3c, 0xe4, 0xb7, 0x9b, 0x3f, 0x26, 0x71, 0x79, 0x81, - 0x27, 0x39, 0x75, 0xc7, 0x05, 0xed, 0x8e, 0xa2, 0x00, 0x40, 0xd9, 0x0f, 0xf9, 0x08, 0x2a, 0x3b, - 0xee, 0xd2, 0x3a, 0x61, 0x56, 0x26, 0xb4, 0xfe, 0xf3, 0xe0, 0xb7, 0x0f, 0xab, 0x98, 0x0d, 0x7d, - 0x30, 0xb8, 0x92, 0x25, 0x38, 0xa2, 0xc3, 0x99, 0xc1, 0xdd, 0xd3, 0x65, 0x6a, 0x0c, 0x89, 0x8e, - 0xfc, 0xa8, 0xeb, 0xaa, 0x9f, 0x3f, 0x03, 0x73, 0xc2, 0xb0, 0x9b, 0x49, 0xac, 0x64, 0x2a, 0xd0, - 0x25, 0xc7, 0xee, 0x91, 0x43, 0xd3, 0xce, 0x08, 0xcf, 0x14, 0x80, 0x66, 0x49, 0xf9, 0x52, 0x31, - 0x82, 0x7f, 0x50, 0x61, 0x72, 0xed, 0x36, 0x9c, 0xc5, 0xb4, 0x0a, 0xac, 0x4a, 0x77, 0xb8, 0x0e, - 0xcb, 0x6e, 0x97, 0xfa, 0x5a, 0xdf, 0x65, 0x8a, 0x00, 0xdd, 0xf8, 0xae, 0xf2, 0x1c, 0x24, 0xc2, - 0x41, 0x87, 0x23, 0x7e, 0x6f, 0xda, 0xfc, 0x5d, 0x26, 0x27, 0x5c, 0x39, 0xa8, 0x17, 0x3f, 0x0b, - 0x05, 0x19, 0xdb, 0x84, 0x71, 0x88, 0xe9, 0x1e, 0x8b, 0x95, 0x6b, 0x71, 0x3f, 0x37, 0xe5, 0xbb, - 0xcc, 0xd6, 0x52, 0xbb, 0xa4, 0x1c, 0x8b, 0x47, 0xb4, 0xbd, 0x83, 0x7d, 0x7c, 0xff, 0x9e, 0x13, - 0xb1, 0x24, 0x15, 0xf7, 0x15, 0x42, 0x66, 0x0a, 0x7c, 0xf0, 0xe0, 0x1d, 0x47, 0xb5, 0xa5, 0xc8, - 0x37, 0x9d, 0x57, 0xb4, 0xc0, 0x81, 0xc1, 0x5b, 0x02, 0xdd, 0x5b, 0xdb, 0xa8, 0x0b, 0x59, 0xd8, - 0x06, 0xbf, 0xd8, 0x65, 0x26, 0xc5, 0x05, 0x50, 0x8c, 0xcb, 0x23, 0x77, 0xac, 0x05, 0xfc, 0x89, - 0x62, 0xec, 0xcd, 0x79, 0x36, 0x2b, 0x1e, 0xbb, 0x5c, 0xfe, 0x21, 0x7a, 0xbf, 0x96, 0x3b, 0x14, - 0x6b, 0x1f, 0xd2, 0xbb, 0x18, 0x41, 0x67, 0x26, 0xc7, 0xe2, 0x12, 0x00, 0xa9, 0xd6, 0xc9, 0x74, - 0x03, 0x61, 0xbf, 0xa5, 0xf1, 0xac, 0x54, 0x88, 0x23, 0x1f, 0x60, 0x1e, 0xbc, 0x14, 0x35, 0x0d, - 0x99, 0xf3, 0x69, 0x3c, 0xd0, 0x5c, 0xb0, 0xaa, 0xf3, 0x48, 0xc3, 0xe7, 0x4d, 0xd6, 0x74, 0x6b, - 0xd5, 0x21, 0x0a, 0x45, 0xd7, 0x04, 0x60, 0x2e, 0xfa, 0x49, 0x63, 0x0f, 0xc9, 0x48, 0x72, 0xaf, - 0xbd, 0x69, 0x5c, 0xc4, 0x99, 0xd9, 0x86, 0xea, 0xf8, 0xac, 0x19, 0x27, 0xfa, 0x75, 0x54, 0xdd, - 0x65, 0x55, 0xbf, 0x6a, 0xdd, 0xf9, 0x60, 0x96, 0x8f, 0x93, 0x94, 0xd4, 0xc7, 0x01, 0xf6, 0xc0, - 0x4a, 0xbf, 0xcd, 0x4a, 0xad, 0xb8, 0x89, 0x91, 0x19, 0xdf, 0x93, 0xbe, 0x46, 0xac, 0x71, 0x08, - 0xd6, 0xe0, 0x6a, 0x1d, 0x12, 0x50, 0x26, 0xdf, 0xb7, 0xd5, 0x68, 0x8f, 0x1c, 0x72, 0x5c, 0xce, - 0x7a, 0x43, 0xfb, 0x82, 0x8e, 0xf5, 0x5d, 0x46, 0xd3, 0xde, 0x43, 0x3b, 0x16, 0xab, 0x85, 0x44, - 0x88, 0xf9, 0x32, 0x98, 0x94, 0xb1, 0x5e, 0x42, 0xc4, 0xa5, 0xc2, 0xc2, 0xff, 0x4c, 0x9a, 0xd2, - 0x28, 0x16, 0x3a, 0x75, 0x01, 0xd8, 0x0d, 0xf7, 0x21, 0x41, 0x1e, 0xca, 0x37, 0x2b, 0xba, 0x2a, - 0x02, 0xc8, 0x87, 0x6b, 0xef, 0xa1, 0x48, 0xdd, 0x0e, 0xb6, 0xef, 0xb5, 0x93, 0xc6, 0xcc, 0x46, - 0x98, 0x53, 0x8e, 0x45, 0x7b, 0x3f, 0xf7, 0xd4, 0x47, 0x92, 0x72, 0xa3, 0x65, 0x64, 0xeb, 0x2c, - 0xcc, 0x64, 0x09, 0x18, 0xa6, 0x8c, 0x15, 0x05, 0xb3, 0x4a, 0xee, 0x91, 0xb2, 0x93, 0x2d, 0x11, - 0x8f, 0x78, 0x46, 0x00, 0xd1, 0x26, 0x02, 0x20, 0x1d, 0x82, 0xdc, 0xc4, 0xd0, 0xfd, 0x66, 0xfb, - 0x66, 0xb6, 0x08, 0x1f, 0xd2, 0xad, 0xeb, 0xbb, 0x69, 0x95, 0xaf, 0xec, 0xbe, 0x18, 0x19, 0x39, - 0x93, 0xfb, 0x51, 0x10, 0x74, 0x9f, 0x9e, 0x40, 0x6e, 0xcd, 0x29, 0xf9, 0x2a, 0xcb, 0x26, 0x54, - 0x87, 0x25, 0xaf, 0xe4, 0xd7, 0x1c, 0x6b, 0xec, 0x66, 0x2e, 0xa4, 0x1b, 0x1e, 0x21, 0x27, 0x27, - 0xab, 0x91, 0xa2, 0x89, 0x3a, 0x61, 0xcb, 0xee, 0xf1, 0x91, 0xe3, 0x35, 0x5a, 0xbe, 0xd2, 0x42, - 0xa6, 0x15, 0x76, 0xc6, 0x9a, 0x24, 0xf2, 0xd2, 0xe3, 0x04, 0xc4, 0x5d, 0x69, 0x02, 0x58, 0xc4, - 0x12, 0xe1, 0x0a, 0xad, 0xde, 0x6f, 0x86, 0xed, 0xf0, 0x61, 0xf3, 0x39, 0x3b, 0x8f, 0x46, 0x86, - 0xdc, 0x96, 0x15, 0x87, 0x46, 0x0b, 0x18, 0xaa, 0x2d, 0xfa, 0x6f, 0xf3, 0xdb, 0x4a, 0x48, 0xd4, - 0x28, 0x20, 0x9d, 0x71, 0x26, 0xf4, 0xd5, 0x72, 0x28, 0x78, 0xa4, 0x5b, 0xf6, 0xb6, 0x37, 0x9e, - 0xc6, 0xc3, 0x5e, 0xd5, 0x61, 0xf9, 0xfe, 0x90, 0x62, 0xaf, 0xa8, 0x5b, 0x46, 0x0e, 0xef, 0xa3, - 0x00, 0x34, 0x4f, 0xd0, 0x48, 0x91, 0x77, 0xc1, 0x9c, 0xa5, 0xbc, 0x54, 0xf8, 0x82, 0x13, 0x00, - 0x33, 0x36, 0x73, 0x13, 0x98, 0xff, 0x3b, 0x67, 0x01, 0xc8, 0xee, 0x90, 0xdd, 0x85, 0x73, 0xa6, - 0x17, 0xce, 0xcb, 0xb0, 0x3a, 0x00, 0x17, 0x0c, 0x48, 0x5f, 0x03, 0x60, 0x15, 0x51, 0x69, 0xda, - 0x8f, 0xe6, 0x38, 0x5d, 0x73, 0xfd, 0x08, 0xf5, 0x2d, 0x2c, 0x05, 0xa4, 0xa9, 0xcb, 0xc9, 0x78, - 0xee, 0x63, 0xba, 0x5c, 0x35, 0xe9, 0x7d, 0x8e, 0x10, 0xce, 0xad, 0x18, 0x3d, 0x70, 0x43, 0x1c, - 0x92, 0xfe, 0x7a, 0x58, 0xbd, 0xa7, 0xd8, 0x02, 0x5f, 0x55, 0x76, 0x76, 0xfb, 0xa4, 0xf4, 0xad, - 0xec, 0x7b, 0x47, 0xc0, 0xaa, 0xcd, 0x67, 0xed, 0x61, 0xc6, 0xf0, 0xf7, 0x66, 0xe6, 0x46, 0x6d, - 0x63, 0xeb, 0x36, 0xc1, 0x45, 0xd9, 0x9b, 0x9b, 0x22, 0x90, 0x42, 0x84, 0xed, 0x4b, 0x5b, 0x81, - 0x7a, 0x90, 0xe7, 0xf5, 0x31, 0x22, 0xae, 0xbe, 0xab, 0x20, 0xc1, 0xcd, 0x92, 0x7f, 0xe9, 0x2a, - 0x1e, 0xe2, 0xe4, 0x2a, 0xe0, 0x4b, 0xd9, 0x12, 0x10, 0xe3, 0x27, 0xa1, 0xc7, 0xcc, 0xbd, 0xd5, - 0x99, 0xda, 0xa6, 0x6f, 0x30, 0xc0, 0xf1, 0xf9, 0xe1, 0x4c, 0xa1, 0x36, 0xa3, 0x46, 0xcb, 0x3e, - 0x9b, 0xe1, 0x77, 0xe9, 0x8b, 0x6a, 0xdd, 0xd2, 0xa5, 0xa8, 0x52, 0x1f, 0x47, 0x47, 0xde, 0x0c, - 0xcc, 0x45, 0x7e, 0xbc, 0x60, 0x64, 0xaa, 0x6d, 0x5e, 0x1a, 0x9a, 0x5d, 0x64, 0x45, 0x4c, 0x32, - 0x7f, 0xc3, 0x46, 0x69, 0x04, 0xf0, 0x89, 0x22, 0x2a, 0x2a, 0xb2, 0x59, 0x23, 0xcb, 0xf9, 0x4d, - 0x6b, 0x6d, 0x6f, 0x2b, 0xd0, 0x74, 0x35, 0xf0, 0x04, 0xdf, 0x75, 0x5f, 0x94, 0xc2, 0xe6, 0x4c, - 0x9f, 0x07, 0x3a, 0x9d, 0xa5, 0x13, 0x04, 0x75, 0x38, 0x34, 0xaa, 0x2b, 0xfa, 0x22, 0x2e, 0xb9, - 0x96, 0x9d, 0xbb, 0x81, 0x06, 0x1f, 0x9a, 0x3b, 0x06, 0x37, 0x30, 0x13, 0x64, 0x41, 0x4d, 0xf3, - 0xc7, 0x4b, 0x53, 0x69, 0xa1, 0x7d, 0xc8, 0x12, 0x7c, 0xe9, 0x04, 0x4d, 0x47, 0x78, 0x16, 0xe0, - 0x1b, 0x43, 0x0d, 0xf2, 0xc1, 0x2f, 0x28, 0xf5, 0xa9, 0x57, 0x63, 0x25, 0xdb, 0x26, 0x08, 0xeb, - 0x93, 0xb3, 0xe7, 0x2e, 0xa4, 0x88, 0x56, 0x64, 0xfd, 0x45, 0xcf, 0x58, 0x57, 0x4e, 0x93, 0x45, - 0x35, 0x56, 0x26, 0x9d, 0xd3, 0x9e, 0xee, 0x34, 0x9b, 0x9b, 0x6c, 0xe6, 0xb1, 0x80, 0x26, 0x9e, - 0xa4, 0x97, 0x5a, 0xe2, 0x1e, 0x61, 0x51, 0x1f, 0x66, 0x92, 0x37, 0xc6, 0x27, 0x5b, 0x58, 0x58, - 0xdf, 0xdf, 0x4a, 0xce, 0x1e, 0x4c, 0xe4, 0x4e, 0x43, 0x98, 0xcb, 0x7d, 0x1a, 0x36, 0xa5, 0x24, - 0x15, 0xf3, 0x9a, 0xdb, 0x0a, 0xb1, 0x9c, 0x8e, 0x7e, 0x8a, 0x5e, 0x47, 0xa8, 0x6f, 0x89, 0xdc, - 0x68, 0x86, 0x99, 0x21, 0x93, 0xb6, 0xe1, 0x0c, 0xa0, 0x55, 0x65, 0x0e, 0x6d, 0xf6, 0x28, 0xd7, - 0x74, 0x82, 0x0d, 0xe0, 0xf2, 0x6d, 0x70, 0xf9, 0xd1, 0x5b, 0x12, 0x23, 0x89, 0x64, 0xfb, 0x78, - 0x58, 0xb9, 0x1d, 0x3b, 0xa7, 0x6a, 0xa6, 0x20, 0x57, 0x22, 0x10, 0xb3, 0xf5, 0xb9, 0xd3, 0x78, - 0x15, 0x16, 0xa8, 0x10, 0xd2, 0xb6, 0x1d, 0x51, 0x1c, 0xd1, 0xee, 0x1b, 0x4e, 0xa2, 0x89, 0xe8, - 0xdb, 0x9c, 0x82, 0x1e, 0xea, 0x12, 0x8f, 0x00, 0x09, 0x5a, 0xae, 0x5a, 0xfe, 0x57, 0x27, 0xc4, - 0x78, 0x18, 0x43, 0x66, 0xd5, 0x14, 0x79, 0x12, 0x06, 0x8b, 0xcc, 0xab, 0x01, 0xbb, 0xe1, 0x51, - 0x78, 0xd3, 0x4e, 0x73, 0x92, 0xc2, 0xc5, 0x01, 0x1d, 0x4a, 0xb5, 0xc6, 0x69, 0xc0, 0xcb, 0xb9, - 0xf2, 0xdf, 0xde, 0xfe, 0xb2, 0x16, 0xac, 0xa8, 0xd7, 0xc6, 0x45, 0xe4, 0xa9, 0xb9, 0xd5, 0x91, - 0x1a, 0x25, 0x75, 0x6b, 0x68, 0x95, 0x6d, 0x0c, 0x9f, 0x7a, 0x41, 0x01, 0x31, 0x91, 0x84, 0x97, - 0xea, 0x79, 0x5a, 0xa3, 0xd6, 0x1d, 0xb4, 0xe9, 0xca, 0x3d, 0x76, 0x72, 0x1e, 0xa2, 0x31, 0x08, - 0xc8, 0x2e, 0xc3, 0xcc, 0x46, 0xa9, 0x87, 0xbc, 0xf0, 0x5d, 0xac, 0xb2, 0xb8, 0xea, 0x18, 0x24, - 0x43, 0xe5, 0x3c, 0x1d, 0xbc, 0xb7, 0xdf, 0x93, 0xec, 0x20, 0x5d, 0x9e, 0x4a, 0x42, 0xb1, 0xca, - 0x4d, 0x7a, 0xbb, 0xd2, 0x50, 0x34, 0xb6, 0xbb, 0xf2, 0xb9, 0xde, 0xf4, 0x2c, 0x98, 0xc6, 0xfb, - 0x51, 0x95, 0x0e, 0xcb, 0x57, 0xe8, 0xcc, 0x55, 0x70, 0x04, 0xa4, 0x97, 0x46, 0x7b, 0xa2, 0xd3, - 0xc8, 0xb3, 0x67, 0x1a, 0x42, 0x66, 0xd1, 0x28, 0xee, 0x63, 0x03, 0xce, 0x78, 0x0c, 0xef, 0x6b, - 0xa1, 0xe9, 0x55, 0x4c, 0x9e, 0x87, 0xdf, 0x4b, 0xd5, 0xa6, 0x0c, 0xdc, 0xe1, 0x23, 0xfd, 0x06, - 0xb2, 0x19, 0xd6, 0x7a, 0x77, 0xb0, 0x61, 0xbb, 0x7b, 0xd7, 0xca, 0xff, 0x75, 0x5a, 0x6f, 0xc3, - 0xf9, 0xb1, 0x54, 0xb4, 0x6e, 0x28, 0x94, 0xdf, 0x5a, 0xcb, 0x19, 0x93, 0x48, 0x8d, 0xb9, 0x2c, - 0xf3, 0x86, 0x2f, 0xdc, 0x96, 0x92, 0x84, 0xa1, 0x03, 0xe5, 0x98, 0xf4, 0xb0, 0x87, 0x0b, 0x6a, - 0x49, 0x01, 0xcb, 0xc7, 0x20, 0x37, 0x44, 0x70, 0x46, 0x11, 0x43, 0x4b, 0xcb, 0xaf, 0x13, 0xd8, - 0xd0, 0x1a, 0xce, 0xc1, 0x63, 0x3f, 0xde, 0xa4, 0x66, 0xcb, 0x6b, 0xba, 0x78, 0xbe, 0x02, 0x08, - 0x12, 0x5e, 0x08, 0xa2, 0x92, 0xa8, 0xa1, 0xef, 0xfb, 0xd0, 0xbf, 0x7e, 0x18, 0xf5, 0xb5, 0x9c, - 0x04, 0xf6, 0xaf, 0xba, 0x5f, 0xdc, 0xf8, 0x02, 0x3a, 0x81, 0x8f, 0x87, 0x74, 0x1f, 0x13, 0xb8, - 0x0d, 0xb7, 0xa8, 0x7d, 0x50, 0x73, 0x02, 0xb8, 0xcb, 0xe8, 0xcb, 0x54, 0xbc, 0xc7, 0x2f, 0xf7, - 0x85, 0xbb, 0x8e, 0x27, 0x1b, 0xd7, 0x3f, 0x5b, 0x2c, 0xc0, 0xa5, 0xdf, 0x05, 0x29, 0x39, 0x5d, - 0x58, 0xa2, 0x4a, 0x1f, 0xd3, 0x06, 0xc8, 0xf3, 0x2d, 0x72, 0x39, 0xed, 0xb4, 0x00, 0x1b, 0x2d, - 0xde, 0x53, 0x4b, 0xf7, 0x0d, 0x24, 0x74, 0x6d, 0x48, 0x37, 0x2d, 0x05, 0x29, 0xfc, 0x41, 0xd1, - 0x2a, 0x56, 0xa2, 0x1e, 0x52, 0x0d, 0x21, 0xb5, 0xbf, 0x2c, 0x90, 0xe8, 0x97, 0xe6, 0x80, 0x3d, - 0x59, 0xa7, 0x96, 0xc6, 0x06, 0xa3, 0x46, 0x8a, 0x49, 0xe5, 0x42, 0xda, 0x12, 0x1d, 0xa2, 0x20, - 0xd5, 0xa9, 0xe3, 0x39, 0x5d, 0xfd, 0x6c, 0x00, 0xc9, 0xde, 0x1b, 0xc1, 0x6c, 0x57, 0x87, 0xa1, - 0x1e, 0xce, 0x90, 0x0e, 0x5e, 0xc3, 0xba, 0x56, 0xfd, 0xa7, 0x64, 0x3c, 0xff, 0x44, 0xee, 0xd4, - 0x75, 0xde, 0x1a, 0x99, 0x75, 0x5f, 0xea, 0x5a, 0xcf, 0x15, 0x93, 0xe9, 0xa6, 0xf0, 0xa0, 0xc1, - 0x2c, 0xe4, 0x18, 0x8a, 0xc8, 0x89, 0x7f, 0xb8, 0xd5, 0x94, 0x36, 0xe4, 0x32, 0xe3, 0x47, 0xcf, - 0x66, 0x63, 0x99, 0xfb, 0xee, 0xce, 0xc8, 0x31, 0x94, 0xd4, 0x6a, 0xa8, 0x7a, 0xa0, 0xf2, 0x0d, - 0x7a, 0xff, 0x2a, 0xe9, 0x5b, 0x2e, 0xf1, 0x85, 0xd7, 0x93, 0x1f, 0xd6, 0x57, 0xd6, 0xc5, 0x48, - 0xaa, 0x82, 0x94, 0xb8, 0x51, 0xd8, 0x38, 0x6d, 0xfd, 0xfb, 0xd8, 0xb7, 0xe9, 0x7a, 0x7a, 0xdd, - 0xd1, 0x4a, 0x23, 0x26, 0x23, 0xa7, 0x9d, 0x90, 0xcd, 0x85, 0x47, 0x7b, 0xe3, 0xa1, 0x9d, 0x95, - 0x44, 0x6c, 0x60, 0x77, 0xf8, 0xe6, 0xf0, 0x44, 0x00, 0x98, 0x8e, 0x04, 0x50, 0x40, 0x24, 0x58, - 0xe1, 0x0c, 0xb4, 0xbe, 0x1c, 0xf6, 0x28, 0x71, 0xbb, 0xf0, 0xa8, 0x11, 0xea, 0x61, 0xba, 0x7d, - 0x7f, 0xc7, 0x43, 0x95, 0x7c, 0x6e, 0xf7, 0x1f, 0xed, 0x0d, 0x99, 0x16, 0x15, 0x8f, 0xf5, 0x63, - 0x77, 0xd0, 0x18, 0xb5, 0xbc, 0x5a, 0xa5, 0x38, 0x8a, 0x61, 0x2d, 0xe7, 0x8c, 0xbf, 0xff, 0x10, - 0x35, 0x28, 0x59, 0xd3, 0x25, 0x0b, 0x89, 0x6c, 0x65, 0x4c, 0xd4, 0xcb, 0x54, 0x6a, 0x61, 0xd9, - 0xa1, 0xd3, 0x3c, 0x07, 0xf1, 0x80, 0x0f, 0x37, 0x3f, 0x72, 0x5e, 0xef, 0x9a, 0x5f, 0x34, 0x67, - 0xf4, 0xc3, 0x7b, 0xbf, 0xfc, 0xf6, 0x9b, 0xb0, 0x11, 0x97, 0xf7, 0xb1, 0xf7, 0x80, 0x74, 0x12, - 0xbb, 0x80, 0x8a, 0xb8, 0x64, 0x2f, 0x95, 0xdb, 0xf5, 0x23, 0x58, 0xf2, 0x10, 0x47, 0x72, 0x5d, - 0x44, 0x0e, 0xe4, 0xef, 0x20, 0x19, 0x33, 0x4e, 0xd8, 0x70, 0xf9, 0x34, 0x9c, 0xae, 0xd6, 0x97, - 0x68, 0x1a, 0xaf, 0x86, 0xd5, 0x56, 0xea, 0x47, 0xe5, 0xe0, 0x40, 0x39, 0xde, 0x0d, 0x64, 0x34, - 0x0f, 0x98, 0xa7, 0x29, 0xa6, 0x36, 0x12, 0x88, 0xaf, 0x61, 0x86, 0xf7, 0xb2, 0x7d, 0x86, 0x5e, - 0x35, 0xb4, 0x63, 0xa4, 0x54, 0x8d, 0x54, 0x49, 0xc7, 0x95, 0x1d, 0x92, 0xb8, 0x93, 0xc7, 0x86, - 0x90, 0x09, 0x7f, 0xab, 0xb5, 0x6e, 0xcf, 0xe7, 0x1f, 0x10, 0x72, 0x5b, 0x22, 0x1a, 0x39, 0x70, - 0xab, 0xb8, 0xb1, 0x82, 0x2c, 0xdf, 0x23, 0x23, 0x82, 0x83, 0x53, 0x1c, 0xec, 0xc0, 0x97, 0x17, - 0xc0, 0x7e, 0x8f, 0xd3, 0xd5, 0x72, 0xa3, 0xbf, 0xbd, 0xd5, 0xc6, 0x7e, 0xc7, 0x72, 0xe0, 0x70, - 0x87, 0xc7, 0x03, 0xbe, 0xa2, 0x4a, 0xb2, 0xa7, 0xd5, 0xc0, 0xca, 0x34, 0xa1, 0x8e, 0xc6, 0x74, - 0x7d, 0x99, 0xe1, 0x6b, 0x66, 0x24, 0xf9, 0x33, 0x79, 0xbb, 0x2b, 0x24, 0x56, 0xf4, 0xa5, 0xb3, - 0xec, 0x9c, 0x80, 0x10, 0x2c, 0x4f, 0x4c, 0x86, 0x50, 0x8b, 0x6a, 0xf2, 0x76, 0x77, 0xab, 0x7c, - 0xf6, 0x9d, 0x54, 0xec, 0x0b, 0x15, 0xe0, 0x0f, 0x76, 0xbf, 0x83, 0xfb, 0x02, 0x77, 0x2b, 0x11, - 0x7b, 0x95, 0xc9, 0x85, 0x82, 0xb3, 0x9f, 0x98, 0x3d, 0x86, 0x3e, 0xfd, 0xfd, 0x5e, 0x9a, 0x00, - 0xa6, 0x44, 0xa7, 0xe2, 0x4d, 0xd2, 0x30, 0x49, 0xb2, 0x6f, 0x61, 0x10, 0xe7, 0x96, 0x8b, 0x8e, - 0x2f, 0x31, 0xee, 0x4c, 0xa1, 0xf4, 0xaf, 0xf2, 0xdc, 0xdb, 0xab, 0x77, 0x1d, 0xe2, 0xfe, 0xb3, - 0x2e, 0x55, 0xee, 0x78, 0x3e, 0xa2, 0x9e, 0xec, 0x65, 0xf7, 0x95, 0x74, 0x62, 0x28, 0x17, 0x64, - 0x7f, 0xee, 0xf0, 0xc4, 0xda, 0x61, 0xae, 0x19, 0x1b, 0xe9, 0xae, 0xc8, 0x75, 0x55, 0xac, 0xfa, - 0x0c, 0x4d, 0x5e, 0x38, 0xf3, 0x9e, 0x63, 0xc0, 0x2c, 0x4f, 0x56, 0xe9, 0xb7, 0xfc, 0x24, 0xed, - 0xff, 0xcc, 0xf3, 0xb2, 0x34, 0x66, 0x52, 0xc6, 0x75, 0xe8, 0x4c, 0x31, 0xa5, 0xc4, 0xae, 0x11, - 0x3f, 0x1d, 0x4c, 0xd3, 0x47, 0xd2, 0x87, 0xb1, 0x6c, 0x9c, 0x08, 0xa0, 0xf6, 0x39, 0xac, 0x99, - 0x8e, 0x2c, 0x06, 0x4f, 0x68, 0x88, 0x1f, 0xbb, 0x73, 0x14, 0x47, 0xf5, 0x49, 0x4f, 0xe7, 0xdc, - 0x0e, 0xd5, 0x90, 0xc1, 0xdb, 0x4f, 0xcc, 0x6c, 0x9b, 0x40, 0x68, 0xb8, 0x32, 0x90, 0xf2, 0x87, - 0x90, 0x34, 0x91, 0x76, 0x71, 0xfa, 0xa6, 0x35, 0x36, 0x8c, 0x70, 0xff, 0xd9, 0x14, 0x7d, 0x52, - 0x77, 0x14, 0x88, 0x12, 0x44, 0x46, 0xd7, 0xc3, 0xd2, 0xe3, 0x23, 0x60, 0x34, 0x78, 0xe3, 0x2b, - 0xe3, 0xdc, 0xfa, 0x90, 0xb5, 0xf6, 0x5b, 0x27, 0xde, 0x25, 0x54, 0xe3, 0x1b, 0x8c, 0xbb, 0xe2, - 0x66, 0x62, 0xc4, 0xbe, 0x11, 0x6a, 0xa0, 0x90, 0xfc, 0xfb, 0xdf, 0x9d, 0xaf, 0xf6, 0x6d, 0x96, - 0x3b, 0x38, 0xf0, 0xd2, 0x8c, 0x73, 0x3c, 0xe1, 0xd1, 0x61, 0x1a, 0xc8, 0x07, 0x3a, 0xd4, 0xc5, - 0x79, 0xf1, 0x89, 0xb6, 0xa2, 0xc9, 0x90, 0x25, 0x4f, 0x8c, 0x09, 0xe3, 0x51, 0x7b, 0xea, 0x0c, - 0xcb, 0xd0, 0x05, 0x23, 0x04, 0x90, 0x37, 0x9e, 0xd1, 0x7d, 0x80, 0x05, 0x6a, 0x71, 0x9e, 0x18, - 0xe8, 0x85, 0x0b, 0x1c, 0x26, 0xc8, 0xe1, 0xd2, 0x95, 0x3d, 0xdf, 0xd3, 0xa2, 0x27, 0x68, 0xe9, - 0xb2, 0x88, 0xd5, 0x7c, 0x22, 0x7b, 0x95, 0x2d, 0x76, 0x8c, 0xca, 0x96, 0xc9, 0x2e, 0xd8, 0x16, - 0x98, 0xad, 0xeb, 0xc2, 0x19, 0x4e, 0x76, 0xa7, 0x2e, 0x52, 0x4c, 0x57, 0xff, 0x28, 0x76, 0x85, - 0x6c, 0xfc, 0xb6, 0x6a, 0x46, 0x26, 0xb7, 0x81, 0x34, 0xc9, 0x74, 0x1a, 0xd5, 0x2b, 0xb3, 0xbd, - 0xaf, 0xd5, 0xaf, 0x7c, 0x9f, 0xd5, 0x4e, 0x24, 0x75, 0x83, 0xb7, 0x4c, 0x06, 0xeb, 0x3e, 0x98, - 0x12, 0x36, 0x09, 0x91, 0xa7, 0xb6, 0x6b, 0xa7, 0x0b, 0x1a, 0x42, 0x71, 0xb8, 0x16, 0x13, 0x9d, - 0x0f, 0x9a, 0xd2, 0x6e, 0x8c, 0x04, 0x39, 0x19, 0x32, 0xe0, 0x96, 0xf4, 0x27, 0xe3, 0x60, 0xdf, - 0x8f, 0x54, 0x90, 0xf0, 0xa8, 0xba, 0x32, 0x76, 0x29, 0x34, 0xef, 0xcd, 0xd0, 0x6f, 0xbc, 0x4e, - 0x97, 0xd0, 0x7c, 0xe6, 0x50, 0xd9, 0x73, 0x01, 0x81, 0x28, 0x97, 0x8d, 0xfe, 0x4e, 0x86, 0x52, - 0x30, 0x1a, 0x8d, 0x2a, 0x11, 0x0e, 0xc1, 0x14, 0xff, 0xef, 0x8d, 0x6f, 0x65, 0xfe, 0x6c, 0x87, - 0xc4, 0x9d, 0x6c, 0x26, 0x2c, 0x2c, 0xf9, 0x72, 0x7b, 0x41, 0x35, 0x47, 0x28, 0x9f, 0xc7, 0x51, - 0x03, 0xe3, 0x89, 0x3b, 0x4f, 0xb2, 0xde, 0x71, 0xe7, 0x26, 0x5d, 0x67, 0xee, 0xcf, 0x39, 0xbe, - 0x87, 0x13, 0x7d, 0x4e, 0xc3, 0x29, 0x46, 0x23, 0xab, 0x3c, 0xf6, 0xc1, 0x39, 0xf2, 0xb8, 0x68, - 0xea, 0x31, 0x11, 0x66, 0x68, 0xc7, 0x6c, 0xa6, 0x59, 0xfb, 0x72, 0xa1, 0xad, 0x45, 0x32, 0xbf, - 0xd8, 0xae, 0x24, 0x07, 0x7d, 0xaf, 0x0d, 0x50, 0xcc, 0xf7, 0x29, 0xb1, 0x66, 0x38, 0x63, 0x8f, - 0xf4, 0xa8, 0x53, 0xe7, 0x61, 0xfd, 0xbf, 0xd0, 0x99, 0x3f, 0xf0, 0x45, 0xe5, 0xde, 0x1a, 0x43, - 0xe0, 0x7c, 0xac, 0xb8, 0x9d, 0xa2, 0xe1, 0x8a, 0x9b, 0x4b, 0xa3, 0x3c, 0xcf, 0xf8, 0x31, 0xe2, - 0xae, 0x73, 0x32, 0xb0, 0x55, 0x68, 0xe2, 0x70, 0x8c, 0x3e, 0x6b, 0x53, 0x8d, 0x60, 0x19, 0x04, - 0xc5, 0x3c, 0x02, 0x2b, 0xbb, 0x60, 0x42, 0xaf, 0x7c, 0x46, 0x76, 0xd8, 0x4d, 0x7a, 0x03, 0xcc, - 0x15, 0x9d, 0x18, 0x5a, 0x02, 0x8c, 0x17, 0xaa, 0xab, 0xaf, 0xd6, 0x7f, 0x6e, 0x7e, 0xdd, 0xf7, - 0x32, 0x3e, 0x6a, 0x72, 0x51, 0x3e, 0xf7, 0x22, 0xfe, 0x34, 0x93, 0x51, 0x00, 0xb2, 0xed, 0x1d, - 0xe1, 0xfb, 0x91, 0x70, 0x86, 0xa2, 0xae, 0x3a, 0x88, 0x09, 0xad, 0xa4, 0xb5, 0x1c, 0x57, 0x82, - 0x67, 0x0a, 0xe5, 0xe9, 0x10, 0x32, 0x27, 0x79, 0x05, 0xa8, 0x68, 0x55, 0x67, 0x61, 0xf6, 0x1e, - 0x18, 0x38, 0x28, 0xd1, 0x1b, 0x5a, 0x9c, 0xc8, 0xd6, 0x15, 0xf9, 0xe7, 0xc9, 0xd9, 0xe3, 0x21, - 0x3c, 0x9d, 0x0f, 0x0d, 0xce, 0xd5, 0x0e, 0x45, 0xde, 0xa8, 0x35, 0x6b, 0x70, 0x36, 0xb9, 0x05, - 0xcf, 0x6b, 0xa2, 0x96, 0x8b, 0x98, 0xde, 0x2e, 0x64, 0x48, 0x6a, 0x27, 0xc1, 0x03, 0x0b, 0x9d, - 0xb5, 0x63, 0xbe, 0xaf, 0xf0, 0x51, 0x55, 0x03, 0x15, 0xe0, 0x87, 0x5c, 0x61, 0x77, 0x44, 0x04, - 0xaf, 0x4a, 0x51, 0x91, 0xef, 0x66, 0x99, 0xf2, 0x1b, 0x11, 0x11, 0x74, 0xc7, 0x85, 0x6d, 0x20, - 0xa5, 0xa5, 0x10, 0xb8, 0xec, 0x0d, 0xd4, 0x24, 0x0b, 0x22, 0x28, 0xb6, 0x43, 0x1d, 0x01, 0x3b, - 0xa0, 0xd1, 0x1e, 0x55, 0xaa, 0x4d, 0x3c, 0xc7, 0x95, 0x1e, 0xa2, 0x5d, 0x19, 0x3f, 0xdf, 0xa5, - 0x4f, 0xec, 0x66, 0xcf, 0x54, 0x32, 0x37, 0xc0, 0x61, 0xb7, 0xe2, 0xa8, 0x26, 0xcf, 0x70, 0x28, - 0xc8, 0x35, 0xcb, 0xd4, 0x6b, 0xf6, 0x5c, 0x4a, 0x4d, 0xee, 0x3f, 0x4e, 0xba, 0x90, 0x11, 0x87, - 0x0a, 0xf0, 0x02, 0x52, 0x9d, 0x9c, 0xa4, 0x51, 0x11, 0xcd, 0xe8, 0x8e, 0x6a, 0xe3, 0x23, 0x27, - 0x79, 0x76, 0x7d, 0x1f, 0xe6, 0xec, 0x47, 0x03, 0x67, 0x0d, 0xfb, 0x16, 0x54, 0x8f, 0xe5, 0x85, - 0xcf, 0x82, 0x40, 0x21, 0xcb, 0x63, 0x89, 0x85, 0xb3, 0x91, 0xca, 0x21, 0xe9, 0xa2, 0xb5, 0x7f, - 0x44, 0xbb, 0xc0, 0x5b, 0x2a, 0x5c, 0x46, 0xab, 0xc6, 0x28, 0xd0, 0x9a, 0xfc, 0xae, 0x84, 0xf9, - 0x2e, 0x79, 0xb4, 0x9a, 0xc4, 0x74, 0x3f, 0xc4, 0xcb, 0xa6, 0x82, 0x5e, 0xf2, 0x67, 0x10, 0xcf, - 0x5f, 0xbe, 0x69, 0xd0, 0x43, 0x75, 0x77, 0x12, 0xe7, 0xaf, 0xba, 0x0f, 0x29, 0x41, 0x78, 0xdd, - 0x79, 0xcb, 0x74, 0x5a, 0xb7, 0x35, 0xc1, 0x51, 0x21, 0xce, 0xfd, 0xda, 0xb8, 0x91, 0xb4, 0xb6, - 0x4b, 0x58, 0xe3, 0x86, 0x02, 0x35, 0x26, 0x49, 0x5c, 0xbd, 0xed, 0x2a, 0x36, 0x54, 0x52, 0xb8, - 0xdc, 0x4a, 0xfa, 0x3d, 0x18, 0x42, 0x85, 0x54, 0xc4, 0x7a, 0xfb, 0x66, 0x61, 0x16, 0xc5, 0xd7, - 0xd6, 0x04, 0xcd, 0x00, 0x8c, 0x59, 0x9a, 0x95, 0x89, 0x45, 0x4a, 0x06, 0x93, 0x01, 0x08, 0x93, - 0x52, 0xd4, 0xc3, 0x0a, 0x02, 0xc6, 0x40, 0x0b, 0x96, 0x58, 0x9c, 0xd7, 0x13, 0xf3, 0xcc, 0xb3, - 0x08, 0xd5, 0x03, 0x6e, 0x2e, 0x24, 0x0c, 0x91, 0x05, 0x68, 0x54, 0xf6, 0xf7, 0x4b, 0x4e, 0xdf, - 0xe4, 0xc0, 0xcd, 0x9f, 0x6c, 0x02, 0x96, 0x49, 0x30, 0x51, 0x1a, 0x0b, 0xa1, 0xf6, 0x32, 0x5d, - 0x05, 0x7a, 0xc4, 0x59, 0x80, 0x3d, 0x1b, 0x81, 0x0b, 0x55, 0x63, 0xb8, 0x57, 0xb8, 0x03, 0xc5, - 0x34, 0xcb, 0x2e, 0x2c, 0x4a, 0x53, 0x85, 0x74, 0x7c, 0xab, 0xed, 0x59, 0x1e, 0x81, 0x41, 0x91, - 0x03, 0x27, 0x63, 0x9d, 0x32, 0xfe, 0xe8, 0x40, 0x81, 0x62, 0x00, 0x04, 0xd7, 0x31, 0x36, 0x6a, - 0x7d, 0xfd, 0x06, 0x45, 0x31, 0xfe, 0xff, 0x53, 0xa4, 0xa9, 0xe4, 0xbb, 0xba, 0x4f, 0xcd, 0xd4, - 0xd1, 0x51, 0xfe, 0xdd, 0x7f, 0x01, 0x66, 0x5f, 0x22, 0xe6, 0xb3, 0xcd, 0xcf, 0x7b, 0xa8, 0x6c, - 0x66, 0x3d, 0xd0, 0xae, 0x5f, 0x14, 0x3d, 0x4e, 0xa2, 0xf9, 0x06, 0x6d, 0xfe, 0x4f, 0x32, 0x4f, - 0xd5, 0xc9, 0x69, 0x59, 0xa4, 0x4a, 0x15, 0xea, 0x0e, 0xbb, 0xbf, 0x7f, 0xc5, 0xf6, 0x52, 0x98, - 0x7a, 0xf9, 0xb0, 0x39, 0x7b, 0x96, 0x33, 0x17, 0x38, 0x4d, 0x15, 0x7c, 0x52, 0x9f, 0x14, 0xaa, - 0x25, 0x75, 0xbd, 0x7b, 0x77, 0x16, 0x80, 0xde, 0x67, 0x7f, 0x82, 0x46, 0x7d, 0x55, 0xf7, 0x40, - 0x25, 0x55, 0x1d, 0x0a, 0xfd, 0xcc, 0x3f, 0x92, 0x0d, 0x28, 0x2e, 0xe8, 0x61, 0x4f, 0xbe, 0x67, - 0x63, 0xd7, 0x1b, 0x3d, 0x1d, 0xe2, 0xb0, 0x99, 0xa3, 0x62, 0x2a, 0xe6, 0xa6, 0x28, 0x5d, 0x7a, - 0xe1, 0x25, 0xeb, 0x96, 0xe4, 0x56, 0x77, 0xf4, 0xc5, 0xc9, 0xff, 0x78, 0xd5, 0x4f, 0x44, 0xb0, - 0x4e, 0xc7, 0x0b, 0xb0, 0xaf, 0x75, 0xf1, 0x2e, 0x37, 0xf2, 0x30, 0x8f, 0x26, 0x90, 0x2c, 0xbb, - 0x82, 0xa3, 0x32, 0x91, 0x97, 0x2b, 0xe2, 0x9f, 0x6c, 0xcb, 0xda, 0x1d, 0x6d, 0x82, 0xf7, 0xf9, - 0x32, 0xc7, 0x2a, 0x7b, 0x87, 0x64, 0x71, 0x2c, 0xd3, 0x5e, 0xe2, 0x52, 0xf8, 0x37, 0x3c, 0x9b, - 0x47, 0xa1, 0x43, 0x5f, 0x40, 0x19, 0x08, 0x5a, 0x95, 0x52, 0xb2, 0x7d, 0x7a, 0x06, 0x1a, 0xae, - 0x14, 0x15, 0xd3, 0xf4, 0x70, 0xb0, 0x96, 0x74, 0x77, 0x94, 0x3a, 0xda, 0xf3, 0x20, 0x6b, 0xce, - 0x0b, 0xb0, 0x07, 0x62, 0xc3, 0x79, 0x21, 0xe1, 0x55, 0x9b, 0x41, 0xe2, 0x64, 0x7c, 0xae, 0x6a, - 0xee, 0x2c, 0x5a, 0xbd, 0xe9, 0x6f, 0xd6, 0x25, 0x65, 0x9a, 0x3d, 0xfe, 0x26, 0xcf, 0x0c, 0x9e, - 0x3f, 0xcc, 0x19, 0x96, 0x8c, 0x0c, 0x49, 0x86, 0x86, 0x37, 0xc6, 0xfd, 0x4e, 0x1a, 0x9e, 0x67, - 0x36, 0x3f, 0x9c, 0x72, 0x93, 0xd0, 0x79, 0x1f, 0x53, 0x6c, 0xa6, 0x55, 0x94, 0x10, 0x45, 0x7d, - 0xc2, 0x86, 0xe9, 0x45, 0x81, 0x6e, 0x53, 0x98, 0x56, 0x07, 0x44, 0x4a, 0xde, 0xc2, 0xa6, 0x46, - 0x19, 0xfd, 0x06, 0x86, 0x06, 0x68, 0xc7, 0xa2, 0x19, 0xfa, 0x78, 0x05, 0x8d, 0xcd, 0x7c, 0x2f, - 0x5f, 0x3d, 0x89, 0x33, 0x5a, 0x83, 0x91, 0x30, 0x6a, 0x32, 0x7c, 0xe2, 0xf8, 0x70, 0x7a, 0x19, - 0x3d, 0xbd, 0xd5, 0x33, 0x14, 0x23, 0x06, 0x9c, 0x48, 0xf3, 0xce, 0x4f, 0x40, 0x59, 0x30, 0xfb, - 0x9d, 0x64, 0x6c, 0x0c, 0xa7, 0xe8, 0x51, 0xdf, 0xf4, 0x0c, 0x2d, 0x75, 0x51, 0x91, 0x6e, 0x81, - 0x6a, 0xa1, 0xd7, 0x3b, 0xb7, 0xac, 0xb3, 0xf8, 0x87, 0xe9, 0xdb, 0x2a, 0xc8, 0x94, 0x4d, 0x6f, - 0x74, 0xa8, 0x4f, 0xb7, 0x3a, 0x0a, 0x95, 0xa4, 0x26, 0x7b, 0x75, 0x37, 0xb3, 0x75, 0x0f, 0x76, - 0x8b, 0x0b, 0xfd, 0xbb, 0x46, 0xa0, 0xc2, 0xb4, 0x2f, 0x4a, 0x53, 0xe6, 0xc2, 0xec, 0xa2, 0x47, - 0x69, 0x83, 0x27, 0xbf, 0x04, 0x7a, 0xfc, 0x26, 0xa4, 0x24, 0x87, 0xd6, 0xf4, 0x04, 0x08, 0x7f, - 0x83, 0x6e, 0xee, 0x03, 0x80, 0x62, 0x63, 0x3f, 0xd0, 0x3e, 0xe8, 0x8b, 0xfb, 0x04, 0xd6, 0xc2, - 0x19, 0x3d, 0x49, 0x46, 0xe3, 0x76, 0xd1, 0x0c, 0xb8, 0xc4, 0xd4, 0xc5, 0x0c, 0x7d, 0x59, 0xbf, - 0x7e, 0x09, 0x98, 0x52, 0x0d, 0x56, 0x44, 0xc6, 0x23, 0x17, 0x2b, 0x76, 0xf0, 0xe3, 0x8b, 0x65, - 0xef, 0x1d, 0x52, 0xfa, 0x66, 0x93, 0xd2, 0x97, 0xa4, 0x86, 0xeb, 0x06, 0x22, 0xdb, 0xfb, 0x1b, - 0x0b, 0x96, 0x4c, 0xf2, 0x47, 0x68, 0xd5, 0x0e, 0xfb, 0xb3, 0xfd, 0x99, 0x40, 0x0d, 0x0e, 0x67, - 0x6a, 0x22, 0x1f, 0xe2, 0xd2, 0xf5, 0xf1, 0x0a, 0xbf, 0xc1, 0xe2, 0x75, 0xf5, 0xbc, 0x82, 0x09, - 0xe7, 0x2b, 0x8b, 0x16, 0xd7, 0x8e, 0x59, 0x1f, 0x2b, 0xb5, 0xa4, 0x86, 0x08, 0x55, 0xef, 0xdb, - 0xab, 0xc8, 0xe2, 0x28, 0x29, 0x7e, 0xea, 0xa6, 0x54, 0xde, 0x27, 0xfd, 0x48, 0x30, 0x47, 0x81, - 0x51, 0x49, 0x41, 0xdf, 0xcc, 0x7c, 0x27, 0xa3, 0x05, 0xe1, 0xd7, 0xf1, 0xd9, 0x8c, 0x5f, 0xa5, - 0x72, 0x88, 0x92, 0xa8, 0x06, 0xdc, 0xc3, 0x3c, 0x11, 0xd9, 0xad, 0x58, 0xaf, 0x78, 0x56, 0xb0, - 0xcb, 0x42, 0x46, 0xba, 0x33, 0x2d, 0x68, 0xaf, 0xb5, 0x31, 0xc6, 0x3a, 0x61, 0x57, 0x0e, 0xd7, - 0x95, 0x1d, 0x7d, 0xa8, 0x9a, 0x50, 0xd8, 0x5f, 0xd7, 0xa6, 0xe3, 0x49, 0xb4, 0xbf, 0x8c, 0x0d, - 0x44, 0x5b, 0x97, 0x54, 0x28, 0x8d, 0x2f, 0x52, 0x66, 0x5e, 0x92, 0x38, 0x5d, 0x05, 0xf4, 0x54, - 0xbc, 0xec, 0x34, 0x11, 0x08, 0x84, 0xe4, 0x0f, 0xc5, 0xce, 0x30, 0xf8, 0xeb, 0xeb, 0x29, 0x70, - 0x0c, 0x2b, 0x73, 0xc8, 0x26, 0x1c, 0x6b, 0x02, 0x30, 0x09, 0xa6, 0x59, 0x8a, 0xd0, 0x6e, 0x5c, - 0xee, 0x34, 0xf8, 0x3f, 0x26, 0x71, 0x75, 0xe9, 0x9e, 0xb8, 0x1a, 0xb1, 0xdf, 0x40, 0x55, 0xb2, - 0x37, 0x92, 0x9f, 0xe5, 0xa8, 0x3d, 0xc5, 0xac, 0x1a, 0x24, 0xe8, 0xd3, 0x03, 0xb9, 0xf5, 0xef, - 0xa9, 0x32, 0x5a, 0xc5, 0x12, 0x19, 0x7b, 0xe6, 0x09, 0xe0, 0xc9, 0xcc, 0x84, 0xc2, 0xa9, 0x26, - 0x71, 0x88, 0x70, 0x29, 0x48, 0x8d, 0xb0, 0x50, 0x61, 0xdb, 0x9d, 0xfe, 0x05, 0xbb, 0xfb, 0x35, - 0xb6, 0x41, 0xdf, 0x29, 0xa7, 0xed, 0x7b, 0x5a, 0x34, 0x4c, 0x27, 0x67, 0x37, 0x27, 0xee, 0x09, - 0xe0, 0xdc, 0x6f, 0x21, 0xe8, 0x20, 0x4f, 0x3c, 0x03, 0xe3, 0xcd, 0xe9, 0x50, 0xac, 0x1b, 0x76, - 0xc7, 0x8c, 0x4d, 0x59, 0x6d, 0xf3, 0xf9, 0x3a, 0x23, 0xd9, 0x90, 0x61, 0x63, 0xa2, 0x3a, 0x87, - 0x9c, 0x02, 0x0b, 0x5b, 0xb2, 0xde, 0x40, 0x19, 0x31, 0x42, 0x64, 0x9f, 0x36, 0xf1, 0x76, 0xad, - 0x9d, 0x02, 0x6b, 0x45, 0xa6, 0x43, 0xcb, 0x2f, 0x2d, 0x86, 0x61, 0x96, 0xe4, 0x2a, 0xc7, 0xf0, - 0xf5, 0x29, 0xdd, 0x01, 0x0c, 0xfa, 0xb0, 0x92, 0x2b, 0x39, 0xbe, 0x03, 0x50, 0x96, 0x62, 0x16, - 0x09, 0x3a, 0xee, 0x3e, 0x75, 0xff, 0x74, 0xcc, 0x3c, 0x32, 0x76, 0xff, 0xcc, 0x94, 0x53, 0x5f, - 0x53, 0x67, 0xbe, 0xbd, 0xa7, 0x2e, 0xde, 0x38, 0x24, 0xca, 0xb4, 0x78, 0x31, 0x9e, 0xc7, 0x5c, - 0x80, 0xdd, 0x56, 0x9c, 0x28, 0x70, 0xfc, 0x03, 0x4b, 0x9e, 0x03, 0xe1, 0x55, 0x7e, 0xc5, 0x5f, - 0xc1, 0xa5, 0xf3, 0x78, 0xa8, 0x7c, 0xae, 0xb5, 0x60, 0xfd, 0x20, 0xe4, 0x06, 0xf8, 0x3c, 0xe2, - 0xde, 0xa4, 0x3e, 0xe2, 0x9f, 0x32, 0x91, 0x74, 0x65, 0xda, 0xbd, 0xe8, 0xb3, 0x42, 0x9d, 0x56, - 0xbc, 0x9f, 0x3b, 0xec, 0xdf, 0x0e, 0xf5, 0xd1, 0xc3, 0x3c, 0xa7, 0x45, 0x7a, 0x15, 0xa1, 0xb6, - 0xfc, 0x75, 0xeb, 0x18, 0x39, 0x75, 0x2e, 0x90, 0x7f, 0xaa, 0x30, 0x00, 0xb9, 0xad, 0x3f, 0xfd, - 0xbb, 0xb3, 0x3f, 0xf8, 0x21, 0x53, 0x73, 0x57, 0x57, 0x16, 0xfe, 0x79, 0x04, 0xd2, 0x95, 0x06, - 0xfd, 0x79, 0xb1, 0x3a, 0xd8, 0xc7, 0xef, 0xfd, 0xc4, 0xbe, 0x6b, 0x6a, 0x68, 0x05, 0x3a, 0x67, - 0x40, 0xdf, 0x63, 0x38, 0xb0, 0xd7, 0x82, 0x67, 0x35, 0x64, 0x8a, 0x98, 0x6f, 0xb1, 0xd1, 0x73, - 0x35, 0xba, 0x99, 0x65, 0x29, 0xd2, 0x2e, 0x7a, 0xf7, 0xe8, 0x6b, 0x37, 0x6a, 0xf8, 0xad, 0x8a, - 0x95, 0xf5, 0xa2, 0xdb, 0xb7, 0x55, 0xbe, 0xac, 0x7b, 0x68, 0x60, 0x46, 0x7c, 0x77, 0x07, 0xf5, - 0xef, 0x17, 0xbb, 0x6f, 0xe5, 0x37, 0x98, 0x33, 0x06, 0x11, 0x94, 0x00, 0xd6, 0x31, 0x85, 0xe2, - 0xe6, 0xb1, 0x80, 0x6e, 0x4e, 0x32, 0xd9, 0x3e, 0x71, 0xb4, 0x2c, 0x70, 0x20, 0xf6, 0x19, 0xbf, - 0x25, 0x69, 0x17, 0x6b, 0x33, 0x0f, 0xbf, 0x82, 0xb3, 0x98, 0x6f, 0x81, 0x6a, 0xb0, 0x53, 0x00, - 0x7c, 0xcb, 0xcc, 0x01, 0xf8, 0x3f, 0x75, 0x19, 0x17, 0xca, 0xf4, 0xcd, 0x04, 0xf8, 0x01, 0x9f, - 0x33, 0x88, 0x52, 0xe6, 0xba, 0xcc, 0x91, 0x1e, 0x52, 0x6a, 0xb9, 0x48, 0x0d, 0x36, 0x17, 0x03, - 0x5c, 0xee, 0x06, 0xf5, 0x3d, 0x8f, 0x0d, 0xc8, 0x6e, 0x90, 0xc4, 0x81, 0xcd, 0x2b, 0x97, 0xad, - 0xe3, 0xf7, 0xa6, 0xc4, 0xa9, 0x2b, 0x56, 0xef, 0x05, 0x7e, 0x13, 0xc8, 0x2a, 0x5b, 0xa6, 0x67, - 0xa0, 0x4f, 0x47, 0x41, 0xf2, 0x1b, 0x1c, 0xcf, 0x59, 0x18, 0x1c, 0x32, 0xbe, 0x4c, 0xa7, 0x68, - 0x8e, 0x62, 0x4a, 0xfd, 0x5a, 0xc7, 0x3b, 0x3c, 0xdf, 0x38, 0xd8, 0xb8, 0x54, 0x65, 0xbe, 0x16, - 0x59, 0x80, 0x1d, 0xcb, 0xb0, 0x9c, 0x03, 0x4c, 0x5f, 0xca, 0x54, 0x1a, 0x4a, 0x0d, 0xb3, 0x31, - 0x90, 0xbd, 0x15, 0x01, 0xe5, 0x8e, 0x1e, 0x7b, 0xa9, 0x01, 0x46, 0x0d, 0x31, 0x82, 0x23, 0xb3, - 0x64, 0x57, 0x52, 0xca, 0x92, 0xd3, 0x1b, 0xc6, 0x86, 0x13, 0xc5, 0x58, 0x08, 0x31, 0xe0, 0xdf, - 0x93, 0xb7, 0x2c, 0xcf, 0xd1, 0x90, 0x2b, 0xc8, 0x20, 0x4b, 0xa5, 0x60, 0x78, 0xa2, 0x48, 0xe0, - 0xf9, 0xb2, 0xab, 0x2b, 0x53, 0xf4, 0x45, 0x64, 0x5b, 0x04, 0x57, 0x6a, 0x3d, 0x40, 0x82, 0xc8, - 0x85, 0x88, 0xc4, 0xa2, 0x60, 0x25, 0xc5, 0xd2, 0x09, 0x93, 0x54, 0x71, 0x92, 0xdd, 0x2d, 0x54, - 0x9c, 0x28, 0xf7, 0x1a, 0x29, 0x62, 0xc3, 0x18, 0x45, 0x78, 0x15, 0x92, 0xa0, 0xb2, 0xe8, 0x81, - 0xd8, 0x61, 0x7f, 0xc5, 0x88, 0xbb, 0xc8, 0x78, 0x08, 0x9d, 0x11, 0xc4, 0x7a, 0xd2, 0x0b, 0x38, - 0xbb, 0x25, 0x0c, 0x47, 0xd2, 0xb7, 0xad, 0x8a, 0x61, 0x8f, 0x2e, 0xbc, 0x0b, 0xe3, 0x54, 0xd7, - 0x07, 0x14, 0x63, 0xcb, 0x88, 0x25, 0x58, 0x28, 0xf8, 0x14, 0x2e, 0xee, 0x10, 0xf2, 0x58, 0xe9, - 0xba, 0x12, 0x95, 0xc5, 0x51, 0x9b, 0xc9, 0xdb, 0x0c, 0x63, 0xf5, 0xa9, 0x0f, 0xad, 0x1e, 0xa4, - 0x13, 0xe1, 0xcb, 0x3e, 0x18, 0x93, 0x8e, 0x28, 0xe0, 0xad, 0x8a, 0x05, 0xe0, 0xb6, 0x7f, 0xf4, - 0x6c, 0x19, 0x69, 0xb9, 0x5a, 0x9a, 0x55, 0xba, 0x1e, 0x9e, 0x5a, 0x25, 0x3e, 0x0c, 0xc2, 0x22, - 0x25, 0xa4, 0x76, 0x16, 0x42, 0xa4, 0xe3, 0xd7, 0x0d, 0x1c, 0xff, 0x91, 0xb2, 0x09, 0xfa, 0xd1, - 0xa3, 0x5d, 0x13, 0xcc, 0x19, 0xb4, 0x69, 0x84, 0xd2, 0x0c, 0x51, 0xf8, 0xd3, 0x87, 0x5c, 0xa7, - 0x4f, 0x24, 0x10, 0x39, 0x8b, 0x63, 0x49, 0xad, 0x6b, 0x4a, 0x0c, 0x67, 0x69, 0x8a, 0x50, 0xcc, - 0x7b, 0x8f, 0x65, 0x76, 0x88, 0xa0, 0x78, 0x22, 0x9c, 0x2c, 0xb0, 0x00, 0xc4, 0x87, 0x11, 0x88, - 0x95, 0xf4, 0x01, 0x75, 0x26, 0x09, 0x70, 0xb6, 0x60, 0xe3, 0x9a, 0x5f, 0xc2, 0x9c, 0xf7, 0x92, - 0x3d, 0x1a, 0x74, 0x7e, 0xb8, 0xd2, 0x56, 0xcb, 0xad, 0xb6, 0x68, 0x27, 0x4a, 0x9f, 0xbf, 0xce, - 0x49, 0x92, 0x35, 0xe8, 0xdd, 0x2f, 0x4a, 0x77, 0x3a, 0x2d, 0xeb, 0xf7, 0xe0, 0x24, 0x45, 0x5e, - 0x14, 0x19, 0xb9, 0x77, 0xeb, 0xe0, 0x3b, 0x44, 0x76, 0x9b, 0xc2, 0xb0, 0x56, 0x66, 0x7e, 0xee, - 0x01, 0xa7, 0xf0, 0xb3, 0x3c, 0xa2, 0x03, 0xdc, 0x0a, 0xf0, 0x48, 0x17, 0xd0, 0xfd, 0xc3, 0xf6, - 0x43, 0x70, 0xa5, 0xb5, 0xe7, 0x3a, 0x61, 0xa6, 0xa2, 0x3c, 0x44, 0xa4, 0xa4, 0x68, 0x99, 0x29, - 0x33, 0x08, 0x36, 0x98, 0x44, 0x38, 0x23, 0x2e, 0x06, 0xee, 0x82, 0xd7, 0x30, 0xc8, 0x29, 0xe3, - 0xd2, 0xff, 0x6d, 0xba, 0x76, 0x79, 0x05, 0xb0, 0xa1, 0x14, 0xd8, 0x5c, 0xb6, 0xd3, 0x31, 0x0f, - 0xa7, 0x15, 0x8f, 0xfd, 0x60, 0x30, 0xbb, 0x53, 0xe4, 0x8a, 0xf8, 0x7f, 0x68, 0xba, 0xae, 0x11, - 0x07, 0x5d, 0xa3, 0x85, 0x02, 0x11, 0x0c, 0x6a, 0x85, 0xd8, 0x2d, 0x4e, 0xa8, 0x16, 0x8a, 0x9b, - 0xda, 0xb2, 0x0a, 0xda, 0xe1, 0x88, 0x30, 0xef, 0x11, 0x5f, 0xbc, 0xcb, 0x27, 0x6f, 0x36, 0xc1, - 0x25, 0x1f, 0xd8, 0xf1, 0x54, 0x24, 0xd2, 0x4c, 0x33, 0xdc, 0x6d, 0x1b, 0xbe, 0xdf, 0x69, 0x1a, - 0xe6, 0xdd, 0xd5, 0xe5, 0xc8, 0x5f, 0xad, 0xb6, 0x78, 0x85, 0x34, 0x7d, 0x43, 0x79, 0xf2, 0x8d, - 0x4d, 0xe1, 0xfa, 0x48, 0xa2, 0x23, 0x40, 0xf5, 0xa9, 0x55, 0xca, 0x32, 0x2c, 0x57, 0x08, 0x70, - 0xf1, 0x7a, 0xab, 0xb3, 0x51, 0x1e, 0x11, 0x0e, 0x48, 0x4f, 0x4e, 0xd0, 0xc4, 0x1c, 0x9e, 0xf0, - 0x58, 0x17, 0xf8, 0xc6, 0xf3, 0xc3, 0x49, 0x0f, 0x98, 0x1d, 0x5d, 0x6a, 0xf9, 0x38, 0xdf, 0x16, - 0x13, 0x30, 0x7c, 0x07, 0x98, 0x6d, 0xa9, 0xb9, 0x3c, 0x10, 0x6f, 0x1e, 0xcd, 0x22, 0xc4, 0x00, - 0xc9, 0x3e, 0x0c, 0x7e, 0x59, 0xe9, 0x67, 0xa9, 0x33, 0x25, 0x43, 0x79, 0xeb, 0x95, 0x2d, 0xba, - 0xe1, 0x0f, 0xfc, 0x46, 0x8c, 0x40, 0x10, 0x48, 0xd2, 0xdf, 0x75, 0x04, 0x5c, 0xae, 0xa7, 0xd7, - 0x18, 0x81, 0x2a, 0x0c, 0x25, 0x20, 0xfb, 0xbf, 0xbf, 0x03, 0x23, 0xb5, 0x88, 0xcc, 0xf0, 0x4b, - 0x47, 0xae, 0x8d, 0xca, 0x21, 0xa6, 0x1f, 0x88, 0xed, 0xa0, 0xda, 0x9e, 0x64, 0xa6, 0xf5, 0x1e, - 0x62, 0x08, 0x99, 0xfa, 0x63, 0xb1, 0x70, 0xec, 0x5b, 0xd5, 0x48, 0xe1, 0xc7, 0x6d, 0xfe, 0x78, - 0x76, 0x97, 0xf2, 0x08, 0x75, 0x10, 0x76, 0xb1, 0x09, 0xba, 0x61, 0x61, 0x7f, 0x20, 0xb2, 0xee, - 0x1b, 0xee, 0x88, 0x59, 0x5b, 0x9d, 0xa7, 0x6b, 0x4f, 0x91, 0x6a, 0x95, 0x78, 0x8e, 0xcf, 0x3c, - 0x6e, 0x69, 0x90, 0x26, 0xf9, 0x59, 0xc0, 0x57, 0xff, 0xef, 0x06, 0x16, 0x69, 0x5c, 0xea, 0xf9, - 0xaa, 0xcf, 0xfd, 0x38, 0x1d, 0xef, 0x74, 0xfb, 0xf4, 0x3a, 0xb5, 0x27, 0x84, 0xd3, 0x85, 0x06, - 0xc4, 0x6f, 0xd3, 0x27, 0xcf, 0xe1, 0x0c, 0x5a, 0xed, 0xb0, 0x37, 0xa6, 0x30, 0x46, 0x80, 0xa5, - 0xc0, 0x1d, 0x06, 0x8b, 0x33, 0x10, 0xac, 0x02, 0x1e, 0xdb, 0xf7, 0xcc, 0xd5, 0xfd, 0x54, 0x03, - 0xea, 0x66, 0x39, 0x8c, 0x61, 0xb2, 0xf8, 0x8a, 0x51, 0xed, 0x79, 0x62, 0xf8, 0x44, 0x86, 0x30, - 0x8f, 0x47, 0x58, 0x3c, 0xad, 0x33, 0x7a, 0xb8, 0x66, 0x00, 0xb5, 0xc1, 0xfc, 0x4b, 0xb7, 0x64, - 0x55, 0xdc, 0xf5, 0x51, 0x3a, 0xfe, 0x14, 0x5c, 0x68, 0x31, 0x55, 0xd8, 0xa5, 0x51, 0xd3, 0xc9, - 0xfd, 0xa8, 0x3b, 0xca, 0xbb, 0x35, 0x1e, 0x8f, 0x4b, 0xaf, 0x30, 0x06, 0x9b, 0xa2, 0xed, 0x16, - 0x3b, 0xfa, 0xac, 0xc4, 0x07, 0xe3, 0x4f, 0x26, 0x24, 0x88, 0x2f, 0x80, 0xe0, 0x8d, 0x19, 0x22, - 0x68, 0x16, 0x65, 0x27, 0x09, 0xd1, 0xb8, 0x18, 0xf5, 0xde, 0xb8, 0xa8, 0x4b, 0x0a, 0x74, 0xf9, - 0x91, 0x44, 0x64, 0x0a, 0x67, 0x64, 0xf6, 0xf8, 0x76, 0xa1, 0x6d, 0xb1, 0xf9, 0xe1, 0xe0, 0x60, - 0xec, 0x88, 0x65, 0x19, 0xf8, 0xfb, 0x9b, 0x26, 0x7b, 0x7e, 0x0a, 0x5f, 0x45, 0x71, 0x23, 0x1b, - 0xd8, 0xd6, 0x61, 0x1c, 0x31, 0x57, 0x91, 0xa4, 0xc7, 0x5e, 0x02, 0xd9, 0x96, 0x3c, 0x77, 0xaa, - 0xe3, 0xf4, 0xdc, 0xe6, 0xfc, 0x5b, 0x24, 0x3d, 0x76, 0xe7, 0x53, 0x11, 0x4c, 0xc9, 0x78, 0x17, - 0xba, 0x76, 0x49, 0xb0, 0x39, 0xa5, 0x40, 0xa2, 0x34, 0x3c, 0xd9, 0xca, 0x39, 0x88, 0x22, 0x41, - 0x11, 0x88, 0x52, 0x5e, 0x69, 0x0f, 0x40, 0x2b, 0x6b, 0xaf, 0x6e, 0x73, 0xb8, 0x15, 0x47, 0x88, - 0xc7, 0x42, 0xf9, 0x3e, 0xc1, 0xc9, 0x72, 0x16, 0x9e, 0x85, 0x84, 0x68, 0x4f, 0xef, 0x20, 0xd4, - 0x7f, 0xf8, 0x87, 0x52, 0xc0, 0x10, 0xec, 0xd5, 0x05, 0xb7, 0x2e, 0x97, 0xf6, 0xe9, 0x74, 0xce, - 0xef, 0xea, 0x42, 0x4c, 0x0d, 0x31, 0x56, 0x28, 0xa0, 0x7b, 0x2c, 0x76, 0xa2, 0xcb, 0x0b, 0xa8, - 0x97, 0xda, 0x6f, 0x8c, 0x07, 0xe6, 0x26, 0x07, 0xb9, 0x1d, 0x4a, 0xd3, 0x5b, 0x4a, 0x9d, 0xa7, - 0x02, 0x99, 0x15, 0xf5, 0x9a, 0xb9, 0xe4, 0xe7, 0x9c, 0x05, 0xec, 0x4c, 0x1b, 0xd9, 0xc7, 0x07, - 0xac, 0x22, 0x0e, 0xd7, 0x41, 0x0b, 0x46, 0xec, 0x06, 0xfa, 0x20, 0xa3, 0xd3, 0x9d, 0x60, 0x78, - 0x02, 0x4f, 0x62, 0x0f, 0xd6, 0x34, 0xab, 0x9a, 0xbb, 0x4d, 0xd2, 0x3b, 0x8a, 0x7f, 0xa7, 0xa2, - 0xad, 0x42, 0xd4, 0x32, 0x0c, 0x5e, 0xbf, 0x79, 0x4e, 0xc6, 0xfa, 0x34, 0xe5, 0x09, 0x45, 0xa9, - 0xf8, 0x49, 0x2d, 0xf7, 0x8a, 0x0a, 0x6e, 0xdc, 0x9f, 0x07, 0x63, 0x72, 0xd2, 0xf1, 0x68, 0x32, - 0x71, 0xab, 0x07, 0x37, 0x0a, 0x47, 0x29, 0xf7, 0xfd, 0xba, 0x4d, 0x1f, 0x60, 0x0f, 0x78, 0x0d, - 0x63, 0x86, 0x20, 0xc9, 0x37, 0x8e, 0xaf, 0x3c, 0xcf, 0x0e, 0xd3, 0x34, 0xca, 0xd8, 0x6e, 0xa6, - 0xb7, 0xec, 0xd8, 0x1c, 0x3a, 0x63, 0x00, 0xba, 0xb1, 0xe4, 0xb8, 0xdf, 0x71, 0xaa, 0x7b, 0x90, - 0x6c, 0x54, 0xb4, 0x78, 0x9d, 0xfb, 0xcc, 0x0d, 0x12, 0x83, 0x16, 0xdb, 0x59, 0xc3, 0xf6, 0xa9, - 0x7e, 0x52, 0xed, 0xd4, 0xe9, 0xbd, 0x10, 0x8b, 0x2f, 0x37, 0xf3, 0x8b, 0x64, 0x81, 0x0c, 0x8a, - 0x1e, 0x2f, 0xd8, 0xb1, 0x0d, 0xf1, 0x97, 0x25, 0x5a, 0xf7, 0x4c, 0x00, 0x0b, 0xfd, 0x60, 0x3d, - 0x7d, 0x2a, 0x4b, 0x2b, 0xa5, 0xb7, 0xf7, 0x87, 0xb3, 0x6f, 0x38, 0xd7, 0x33, 0xaf, 0x0e, 0x66, - 0x6c, 0xc0, 0x02, 0x48, 0x9a, 0x6e, 0x8f, 0x21, 0x8c, 0x7e, 0xb6, 0x10, 0x3b, 0xe3, 0x9d, 0xed, - 0x18, 0xa0, 0x45, 0x92, 0x6b, 0xfe, 0xd7, 0x1d, 0x10, 0xb8, 0x15, 0x4b, 0x7e, 0x20, 0x13, 0x47, - 0x71, 0xe6, 0x95, 0x95, 0x06, 0xc4, 0x1d, 0xa6, 0x29, 0x71, 0x92, 0xc2, 0xdc, 0xcb, 0x39, 0xe5, - 0x9c, 0x7e, 0x74, 0xcb, 0x31, 0x9f, 0xd7, 0xdd, 0xd5, 0xf2, 0xa9, 0x39, 0xcb, 0x6b, 0xad, 0x90, - 0xed, 0xca, 0x8e, 0x4b, 0x41, 0x15, 0xdc, 0x01, 0x36, 0x53, 0xbc, 0x15, 0x02, 0x3a, 0x72, 0xb3, - 0xe3, 0x66, 0x5d, 0xea, 0x1f, 0x8e, 0x80, 0xaa, 0xed, 0x28, 0xa0, 0xf0, 0x3e, 0x81, 0x0c, 0x07, - 0x4b, 0xa8, 0x9f, 0xc5, 0x48, 0x38, 0xfe, 0xae, 0x8f, 0xaa, 0x2e, 0x4c, 0x86, 0xde, 0x6d, 0x59, - 0x8d, 0x19, 0xec, 0xdb, 0xb5, 0x8b, 0x85, 0x5a, 0x3a, 0x44, 0x53, 0xa8, 0x87, 0x81, 0xc5, 0x35, - 0xe7, 0xcb, 0x9c, 0xf8, 0xc6, 0xff, 0xe9, 0xbc, 0x53, 0x83, 0x25, 0x31, 0xe8, 0x89, 0x01, 0xa6, - 0x73, 0xa7, 0xfc, 0xda, 0xb8, 0xc2, 0x34, 0xe0, 0x08, 0xc4, 0xd7, 0x1c, 0x16, 0x7f, 0x7f, 0xa6, - 0x72, 0xed, 0xc7, 0x97, 0x1a, 0x9d, 0x7f, 0x2b, 0xb7, 0x64, 0x6d, 0x5e, 0xe8, 0xc5, 0x91, 0xcd, - 0xcb, 0xb4, 0x7c, 0x4a, 0xe3, 0x7b, 0x50, 0xe9, 0x7d, 0xe8, 0xc1, 0xd4, 0x32, 0x25, 0xef, 0xf4, - 0xaa, 0xca, 0xf0, 0xf3, 0x3c, 0x8d, 0x9f, 0x36, 0xd2, 0xf9, 0x90, 0xcf, 0xf5, 0x8b, 0xc4, 0x49, - 0x96, 0x8d, 0x88, 0xef, 0x2e, 0xca, 0xf8, 0xad, 0x9b, 0x5e, 0x3c, 0xf2, 0x7e, 0xf1, 0xd9, 0x5b, - 0xee, 0xe3, 0x6a, 0xf8, 0xad, 0x90, 0x4d, 0x65, 0x38, 0x47, 0xc8, 0x95, 0xc5, 0xb7, 0x36, 0xae, - 0xb9, 0x92, 0xce, 0x39, 0x52, 0x8e, 0xad, 0x6b, 0x31, 0xf6, 0xe9, 0x7a, 0xaa, 0xaf, 0x05, 0x09, - 0x10, 0x7d, 0x06, 0x5d, 0x90, 0x34, 0x21, 0x8a, 0xc3, 0x5e, 0x95, 0xd8, 0xaf, 0x80, 0x84, 0x49, - 0x38, 0x32, 0xed, 0xaa, 0x9d, 0x4e, 0x27, 0x36, 0x11, 0xc7, 0xe3, 0xc0, 0xb4, 0x2b, 0x00, 0xa3, - 0xa1, 0xa9, 0xb0, 0xef, 0x6b, 0x40, 0xe5, 0x35, 0x74, 0x23, 0xa1, 0xed, 0x2a, 0x10, 0x39, 0x81, - 0xf5, 0x85, 0x15, 0xce, 0x78, 0x54, 0xae, 0x1a, 0x52, 0xde, 0xd1, 0x7b, 0xe5, 0xa3, 0x14, 0x65, - 0x28, 0x5b, 0xa6, 0xaa, 0xa8, 0x77, 0xee, 0x99, 0xc9, 0xc8, 0xb4, 0xad, 0xd6, 0xbc, 0x37, 0x1f, - 0x2f, 0xd7, 0x95, 0xba, 0xab, 0x65, 0x0d, 0x2e, 0x4d, 0xf0, 0xb2, 0x59, 0xc5, 0x9c, 0x09, 0x1c, - 0x53, 0x39, 0x2d, 0xab, 0x1e, 0x1c, 0x51, 0xef, 0x83, 0x86, 0xca, 0xbe, 0xa3, 0x1b, 0xbb, 0xca, - 0xc5, 0xd7, 0xd6, 0x0d, 0xf1, 0x38, 0xb2, 0xf3, 0xee, 0x14, 0xe5, 0x8e, 0xfb, 0x7b, 0xd4, 0xec, - 0x04, 0x57, 0x07, 0x3b, 0x02, 0xac, 0x2f, 0x5b, 0x23, 0x32, 0xa0, 0x6d, 0xe3, 0xf5, 0xf7, 0x24, - 0x3d, 0x91, 0x0f, 0xbc, 0x5c, 0xe4, 0x21, 0xf9, 0x23, 0xed, 0x64, 0x99, 0xf6, 0x15, 0xbc, 0x71, - 0x24, 0x96, 0xe8, 0xe0, 0x97, 0x9f, 0x81, 0x3e, 0xea, 0xde, 0x41, 0x4e, 0x25, 0x26, 0x92, 0xf7, - 0x72, 0x61, 0x16, 0x92, 0xa7, 0xe8, 0xf9, 0x0d, 0x44, 0x36, 0xf6, 0x03, 0x9a, 0xdd, 0xec, 0xec, - 0x02, 0x37, 0xc5, 0x92, 0x4d, 0x48, 0x19, 0xc0, 0xc8, 0xbc, 0x4d, 0x5b, 0xb0, 0x51, 0x96, 0xf5, - 0x7d, 0x8c, 0xf2, 0x6b, 0xf3, 0xc9, 0x69, 0xa4, 0xd8, 0x68, 0x4e, 0x45, 0x25, 0x2e, 0xd3, 0xba, - 0x13, 0xcc, 0x70, 0xeb, 0x86, 0x1d, 0xb5, 0x4c, 0x81, 0xf9, 0x3c, 0x03, 0x2b, 0xc7, 0x3f, 0x30, - 0xf1, 0x49, 0xc2, 0x0b, 0x85, 0xe9, 0x67, 0x5f, 0xcd, 0x55, 0x39, 0x03, 0x52, 0xaa, 0xcc, 0x2e, - 0x80, 0x80, 0x4e, 0x63, 0x98, 0xbe, 0x5e, 0x8a, 0x92, 0x59, 0x43, 0x8e, 0x4c, 0x68, 0xed, 0xfe, - 0xf9, 0x87, 0x2d, 0xf3, 0x83, 0x89, 0x0d, 0xa8, 0x6b, 0x3f, 0x23, 0x0e, 0x0e, 0xe0, 0xae, 0x21, - 0x7e, 0x29, 0x03, 0x2c, 0xe2, 0x76, 0x53, 0x8a, 0x50, 0x68, 0x7b, 0x04, 0x08, 0x62, 0x17, 0xef, - 0x98, 0xb7, 0x62, 0xb8, 0xd5, 0x6e, 0x4a, 0x78, 0x06, 0xb8, 0xfa, 0x24, 0x4e, 0x73, 0x4b, 0xaa, - 0x2a, 0x6b, 0x51, 0x4e, 0x11, 0x28, 0x00, 0xcd, 0xf8, 0x74, 0xcc, 0x82, 0xf8, 0xa7, 0x90, 0x2b, - 0xf8, 0xdc, 0x11, 0x2b, 0x16, 0xf6, 0x5e, 0x0f, 0x27, 0x5f, 0x0c, 0xf7, 0xe0, 0xbb, 0x68, 0xdf, - 0x2d, 0x4e, 0xdb, 0x35, 0xdb, 0xbc, 0x54, 0x4f, 0x3c, 0xf4, 0xc0, 0x19, 0x2b, 0xe0, 0xb1, 0x3f, - 0x5c, 0x1e, 0xdd, 0xe4, 0x45, 0xb0, 0x76, 0xcb, 0x06, 0xa7, 0xf3, 0xb0, 0x46, 0xfa, 0x7b, 0xbf, - 0xd6, 0x87, 0x49, 0x24, 0xc3, 0xe1, 0x82, 0xf6, 0x5b, 0x1d, 0xc0, 0xcd, 0x5b, 0xe5, 0xbf, 0x48, - 0x4f, 0x53, 0x65, 0x9b, 0xaa, 0x93, 0x28, 0xae, 0x97, 0xf7, 0x75, 0x0a, 0xd1, 0x3f, 0x41, 0x5f, - 0xb5, 0x2d, 0x63, 0x30, 0xc4, 0x25, 0x3b, 0x86, 0xe2, 0x19, 0xba, 0x62, 0xdc, 0x3e, 0x0b, 0x02, - 0xcb, 0xe8, 0xc0, 0x8b, 0xa8, 0x14, 0x0b, 0xf2, 0xe5, 0xc3, 0x7d, 0xff, 0x56, 0xed, 0x11, 0xbf, - 0x95, 0xad, 0xe1, 0xd0, 0xa3, 0x77, 0xf8, 0x0d, 0xa0, 0x1e, 0x74, 0x7b, 0x13, 0xc6, 0x5b, 0x58, - 0xe8, 0x3c, 0xf7, 0x39, 0x39, 0x59, 0x4c, 0xda, 0x58, 0x9d, 0xa7, 0x77, 0xe1, 0x18, 0x69, 0xad, - 0x33, 0xa4, 0xa1, 0xb6, 0x06, 0xd2, 0x74, 0x42, 0x1f, 0xe4, 0x53, 0x6a, 0xe0, 0x1f, 0xdf, 0x9a, - 0x96, 0x3a, 0xeb, 0x7d, 0x11, 0xfa, 0xc7, 0x91, 0x3d, 0x02, 0x79, 0xc2, 0xed, 0x44, 0x1a, 0x1e, - 0x98, 0xa9, 0x84, 0x99, 0xd3, 0xf2, 0x32, 0xe9, 0xcb, 0x81, 0x72, 0x75, 0xec, 0x08, 0xef, 0x00, - 0x92, 0xed, 0xd5, 0xeb, 0xf2, 0x98, 0x7b, 0x7e, 0xf9, 0xe5, 0xec, 0x3f, 0xa3, 0x9a, 0x4e, 0xc7, - 0x08, 0x08, 0x9d, 0xab, 0x3f, 0xb5, 0x16, 0xfc, 0x1f, 0x85, 0xa7, 0x03, 0x5b, 0x36, 0xa6, 0x25, - 0xdc, 0xa6, 0xe0, 0xed, 0x62, 0x81, 0x4d, 0xc7, 0x3c, 0x66, 0xea, 0xd5, 0x11, 0x21, 0x46, 0x48, - 0xa3, 0xd2, 0xe1, 0x9f, 0xf4, 0x8d, 0xfa, 0x06, 0x60, 0x87, 0x8a, 0xff, 0xbd, 0xaf, 0x3a, 0xa8, - 0x10, 0xde, 0x93, 0x25, 0x12, 0xf3, 0x05, 0xcc, 0x1f, 0x3c, 0x45, 0x65, 0xaf, 0xf0, 0xbb, 0x9e, - 0xc2, 0x09, 0xee, 0x79, 0x54, 0x2a, 0x46, 0x7c, 0x2b, 0x75, 0x4e, 0xc8, 0x37, 0x37, 0x1d, 0x1e, - 0x6b, 0xcc, 0x18, 0xad, 0x43, 0x3f, 0x3b, 0x01, 0x63, 0xba, 0x0e, 0x50, 0xe7, 0xf2, 0x31, 0x01, - 0x69, 0xe6, 0xe2, 0x73, 0x35, 0xb6, 0xc5, 0x89, 0x83, 0xbe, 0xf8, 0xf4, 0xe1, 0xc7, 0x05, 0x83, - 0x86, 0xdd, 0x62, 0x2a, 0x69, 0x64, 0xc7, 0xba, 0x18, 0x3d, 0x5c, 0xcf, 0x6a, 0xb9, 0xba, 0xc9, - 0x41, 0x7e, 0x15, 0x7e, 0x99, 0xf2, 0x08, 0xc5, 0xe0, 0xb7, 0x45, 0xdf, 0x13, 0xb7, 0xa1, 0x11, - 0xac, 0x87, 0xde, 0x26, 0x2f, 0xbd, 0x52, 0x20, 0x4c, 0x08, 0x9a, 0x55, 0xbb, 0x7e, 0x48, 0x2a, - 0xda, 0xa4, 0xc1, 0x74, 0xe9, 0x42, 0x65, 0x8c, 0x10, 0xf8, 0xc0, 0xa8, 0x23, 0x05, 0x75, 0xb4, - 0x32, 0x05, 0x3a, 0xbe, 0x2a, 0x00, 0xf2, 0x90, 0x87, 0xbf, 0x1d, 0x3e, 0x12, 0x81, 0xa3, 0xb5, - 0x2a, 0x1f, 0x6b, 0x20, 0x45, 0x48, 0x77, 0x70, 0x1b, 0x0d, 0x1f, 0xc6, 0x94, 0x50, 0x1d, 0xf5, - 0x09, 0x66, 0x50, 0x8a, 0xed, 0x7e, 0xbe, 0x85, 0xa6, 0x32, 0xf0, 0x4b, 0x96, 0xb2, 0x2f, 0x4b, - 0x80, 0x31, 0x29, 0xad, 0xf5, 0x85, 0xab, 0xdc, 0x46, 0xcc, 0x62, 0x29, 0xb2, 0xb6, 0xfc, 0x6c, - 0x90, 0x88, 0x80, 0xe8, 0xbb, 0x8e, 0x87, 0xba, 0xdb, 0x81, 0x78, 0x3d, 0x9f, 0x99, 0x5d, 0xad, - 0xa2, 0xb2, 0x9d, 0x16, 0x97, 0x15, 0x9a, 0x8f, 0xa6, 0xb0, 0xb1, 0x01, 0x52, 0xbf, 0x69, 0x25, - 0xe0, 0xa9, 0x09, 0x86, 0xb0, 0x8b, 0xef, 0x3a, 0x6a, 0xd3, 0x1c, 0xf5, 0x8a, 0xfc, 0x10, 0x33, - 0x95, 0x9a, 0xb1, 0xef, 0xaf, 0x6d, 0x10, 0xd6, 0x9a, 0xca, 0xc4, 0x6c, 0x20, 0xde, 0x90, 0x32, - 0x82, 0xd3, 0x4f, 0x27, 0x51, 0x0b, 0xa9, 0x81, 0xe5, 0x8d, 0xe8, 0xce, 0x56, 0xf5, 0x8d, 0x5c, - 0x30, 0x47, 0x34, 0x94, 0xcb, 0x1b, 0xd5, 0xee, 0x63, 0x64, 0x9a, 0x03, 0x9d, 0x84, 0xcc, 0x84, - 0xe7, 0x73, 0x6f, 0x36, 0x21, 0xc0, 0xd0, 0x27, 0xc2, 0x0a, 0x92, 0x98, 0x73, 0xd4, 0x2d, 0x83, - 0x3f, 0x33, 0xa4, 0x8d, 0xa0, 0xcb, 0x9a, 0x23, 0xe8, 0x28, 0x85, 0x3a, 0x91, 0x5c, 0x5e, 0x4c, - 0x42, 0xa4, 0xa3, 0x91, 0xab, 0xdf, 0xf8, 0xdc, 0xe6, 0x7b, 0x49, 0xd1, 0x53, 0x21, 0x6a, 0x78, - 0x1d, 0x58, 0x58, 0xff, 0xaa, 0x01, 0x91, 0x3f, 0x44, 0x09, 0x86, 0x1b, 0x8e, 0xf7, 0xbd, 0x2a, - 0xdf, 0x64, 0xac, 0xed, 0xc9, 0x51, 0xcd, 0xe4, 0x94, 0xac, 0xab, 0x00, 0x85, 0xb6, 0x85, 0x9c, - 0x05, 0xf0, 0xee, 0x76, 0xb0, 0x1f, 0xcb, 0xe1, 0xf8, 0x58, 0x6b, 0x15, 0x2f, 0xe6, 0x7a, 0x33, - 0x95, 0x4e, 0xb4, 0xa0, 0x5c, 0x84, 0x5f, 0x29, 0x9d, 0xc5, 0xe3, 0x0f, 0x5e, 0x53, 0x3c, 0x05, - 0xd8, 0x91, 0x85, 0x99, 0xd4, 0x44, 0x0f, 0xf4, 0xde, 0x7c, 0xf4, 0x89, 0x50, 0xb5, 0xca, 0x81, - 0xa8, 0x07, 0xa6, 0x25, 0xfa, 0x42, 0xba, 0x84, 0x04, 0xc0, 0x64, 0xed, 0x46, 0xc9, 0x8b, 0xcb, - 0x48, 0x97, 0x3e, 0x76, 0xeb, 0x19, 0x19, 0x1a, 0x1b, 0x7a, 0xfc, 0xa1, 0x07, 0xd1, 0x7f, 0x9f, - 0x3b, 0x1d, 0x3b, 0xac, 0x6a, 0x88, 0xb1, 0xe6, 0x20, 0x05, 0x02, 0x32, 0xc0, 0x36, 0x29, 0x24, - 0x79, 0x6e, 0x34, 0xe2, 0x59, 0x89, 0xf1, 0x7e, 0x81, 0xca, 0x9e, 0x49, 0x1e, 0x72, 0x84, 0x24, - 0x90, 0xf1, 0x77, 0x78, 0x66, 0x9e, 0x90, 0x01, 0x61, 0x52, 0x25, 0x51, 0x79, 0x8d, 0x12, 0xe3, - 0xa2, 0x5a, 0x6c, 0x50, 0x10, 0x3e, 0x9a, 0x3d, 0x0c, 0x77, 0xda, 0x51, 0xd9, 0x1d, 0x1f, 0xe8, - 0x25, 0xfd, 0xc7, 0x1d, 0x64, 0xb0, 0xf9, 0xb6, 0x52, 0x73, 0xa4, 0x9e, 0xd2, 0x20, 0xd4, 0x40, - 0x5b, 0x97, 0x26, 0xfc, 0x97, 0xcc, 0xd1, 0x84, 0x91, 0xf5, 0x36, 0xed, 0xd0, 0x52, 0x50, 0x7a, - 0x04, 0xd8, 0xb5, 0x51, 0xe9, 0xd0, 0x92, 0x5d, 0x6f, 0x5d, 0x56, 0x92, 0x13, 0xfb, 0xfb, 0xdc, - 0x29, 0x40, 0x73, 0x78, 0x1e, 0xbe, 0xe5, 0x76, 0x7d, 0xf0, 0x66, 0x98, 0x74, 0xd6, 0x9b, 0x5c, - 0x18, 0x89, 0xfe, 0x1e, 0xd5, 0xf4, 0xff, 0xfb, 0x8d, 0x3f, 0xbd, 0x0b, 0xc1, 0xba, 0x25, 0xa4, - 0xc1, 0xc6, 0x67, 0xe8, 0x4f, 0x26, 0xdd, 0xf8, 0x16, 0x42, 0x97, 0x16, 0x0f, 0xd3, 0xc0, 0xaa, - 0x8c, 0x13, 0x6a, 0x80, 0x15, 0xf5, 0x8a, 0x08, 0x1b, 0x89, 0x2e, 0x70, 0xa7, 0xbb, 0xe1, 0x54, - 0x67, 0x18, 0xbc, 0x98, 0x6a, 0xc0, 0x70, 0xa0, 0xb3, 0x3b, 0x61, 0xfe, 0x05, 0x65, 0x1a, 0x40, - 0xed, 0x92, 0xf8, 0x3e, 0x23, 0x6c, 0x09, 0x89, 0x2e, 0x2e, 0xf7, 0xd3, 0xb4, 0x27, 0xaa, 0x1a, - 0x30, 0x6a, 0xff, 0x50, 0x6f, 0x11, 0x9a, 0x99, 0x31, 0x13, 0xd2, 0xd8, 0xfb, 0xd4, 0xc7, 0x09, - 0x15, 0xa5, 0xc6, 0x85, 0x4a, 0x95, 0x4f, 0x71, 0xb3, 0xf7, 0x54, 0x87, 0xec, 0x7b, 0xd9, 0xf6, - 0x3a, 0x79, 0xf4, 0x47, 0x6c, 0x62, 0xc6, 0x77, 0xd2, 0x08, 0xb4, 0x87, 0xce, 0xec, 0x7f, 0x09, - 0x74, 0xa3, 0x7b, 0x64, 0xac, 0x2f, 0x1c, 0x2c, 0x5c, 0x50, 0xa7, 0xc5, 0x34, 0x0f, 0x37, 0x09, - 0x9f, 0xab, 0xfe, 0x47, 0xce, 0xeb, 0x43, 0x56, 0xcc, 0x52, 0xd4, 0xe1, 0x31, 0x27, 0xf4, 0xf8, - 0x29, 0xc4, 0x97, 0xb1, 0xb1, 0x87, 0xb3, 0x1f, 0xe1, 0x76, 0x41, 0x4f, 0xec, 0x5d, 0xd6, 0x72, - 0xe6, 0x34, 0x06, 0x9f, 0xa1, 0xd7, 0x3a, 0x7e, 0x60, 0xa6, 0x72, 0x28, 0xd0, 0x57, 0x71, 0x49, - 0x12, 0x05, 0x94, 0xe3, 0x1a, 0xca, 0x27, 0x78, 0xfc, 0x16, 0x68, 0x5f, 0xc0, 0x1b, 0xea, 0x6d, - 0x90, 0x94, 0x6b, 0xd6, 0x71, 0x20, 0x02, 0xd4, 0xc8, 0x75, 0xdc, 0xeb, 0x9f, 0x6b, 0x1b, 0x64, - 0xc2, 0xae, 0xae, 0xb9, 0x78, 0xf6, 0xac, 0x45, 0x8c, 0x74, 0x60, 0x9c, 0xf2, 0xc9, 0x8d, 0x77, - 0x30, 0xce, 0xf7, 0xa0, 0x49, 0x72, 0x28, 0x19, 0x32, 0x8f, 0xaf, 0x5b, 0xf4, 0x10, 0x79, 0x96, - 0xee, 0xe7, 0xce, 0xd6, 0x2f, 0x27, 0x54, 0x5e, 0x37, 0x68, 0x06, 0x41, 0xad, 0x59, 0xdd, 0x03, - 0x84, 0xd6, 0x66, 0xd6, 0xc0, 0xf1, 0xb7, 0x69, 0x92, 0xdc, 0x75, 0x42, 0x3d, 0xa1, 0xec, 0xc9, - 0xc1, 0x31, 0x62, 0x78, 0xb0, 0x35, 0x23, 0xd4, 0xf5, 0x55, 0xdd, 0x4a, 0xee, 0x81, 0xc5, 0x3c, - 0xe4, 0xf5, 0xf5, 0x65, 0xbc, 0x9b, 0x84, 0x9f, 0x64, 0xdd, 0x59, 0xf6, 0x80, 0xa3, 0x5a, 0x3f, - 0xe1, 0xcb, 0x85, 0x0e, 0x0f, 0x51, 0x1b, 0xa1, 0xe6, 0xa3, 0xd4, 0x89, 0x9e, 0x4a, 0xe7, 0xc9, - 0x25, 0xfb, 0x67, 0x8e, 0xf3, 0x77, 0x2a, 0x63, 0x50, 0xc5, 0x90, 0xb4, 0x84, 0xf7, 0xd5, 0x6b, - 0x39, 0x16, 0xd1, 0x52, 0xd5, 0xc6, 0x97, 0xbb, 0x7b, 0xba, 0x49, 0x7e, 0x16, 0x57, 0xea, 0x0a, - 0x53, 0xf3, 0x6d, 0x9f, 0xa1, 0xb0, 0x35, 0x09, 0x23, 0x28, 0x3d, 0xa1, 0x40, 0x47, 0xb0, 0x8c, - 0x80, 0x71, 0x3a, 0x01, 0xb6, 0x07, 0x7e, 0x87, 0xb1, 0x2d, 0x96, 0x76, 0xe8, 0xb6, 0xed, 0xc8, - 0x79, 0x53, 0xc4, 0xb8, 0x13, 0xb4, 0x96, 0x81, 0x06, 0x94, 0x00, 0x9f, 0x34, 0xb6, 0x62, 0x9f, - 0xf1, 0xf3, 0x20, 0x92, 0xa0, 0x20, 0xcf, 0x3a, 0x96, 0x47, 0xb0, 0xbf, 0xe3, 0xed, 0x81, 0xba, - 0xcc, 0xbe, 0x0b, 0x9d, 0x60, 0x47, 0xb8, 0xf0, 0xca, 0x8c, 0x77, 0x6a, 0x87, 0x35, 0x86, 0x68, - 0xde, 0xe8, 0x9f, 0x2c, 0xb7, 0x88, 0xb4, 0x15, 0xa6, 0xdb, 0x7a, 0xe2, 0x61, 0xc0, 0xfd, 0x32, - 0xd3, 0x2b, 0x86, 0x90, 0xd1, 0xf7, 0xfd, 0xa9, 0xb8, 0xa9, 0x6d, 0x77, 0xb8, 0xc5, 0xd4, 0x54, - 0x97, 0x42, 0x3e, 0xce, 0x7c, 0xe4, 0x8f, 0xd7, 0x1a, 0x45, 0x28, 0xad, 0xd9, 0x5a, 0x25, 0x7a, - 0xf6, 0x6d, 0x0d, 0x79, 0xab, 0xb7, 0x04, 0xab, 0xc3, 0x50, 0x94, 0x62, 0x2c, 0xf0, 0x42, 0x45, - 0x60, 0x16, 0xaa, 0x9e, 0x73, 0xf6, 0x3f, 0x8b, 0x84, 0x5d, 0x10, 0xb7, 0x00, 0x3b, 0xc6, 0xb0, - 0xb7, 0xc5, 0x58, 0x0c, 0xd4, 0x1c, 0xc3, 0x70, 0x46, 0x03, 0x3c, 0x67, 0xc9, 0x67, 0x9b, 0x55, - 0xe5, 0xd3, 0xc5, 0x29, 0x86, 0x4c, 0xcb, 0x89, 0x31, 0xf5, 0xa4, 0x8a, 0x06, 0x86, 0x2c, 0x29, - 0xf5, 0x68, 0x07, 0x33, 0xf2, 0xb6, 0x0b, 0x92, 0x53, 0x04, 0x58, 0x95, 0x32, 0x15, 0xe8, 0x4a, - 0x0d, 0x57, 0xb0, 0x65, 0x85, 0x69, 0x51, 0xea, 0x4f, 0x61, 0x7b, 0x6d, 0x98, 0xca, 0xc6, 0xa9, - 0x65, 0x2d, 0x7a, 0x41, 0x1f, 0xf0, 0xea, 0x7e, 0xa5, 0x4f, 0xf5, 0x41, 0x1b, 0x3e, 0x1c, 0x8f, - 0x4a, 0x23, 0x01, 0xa7, 0xeb, 0x38, 0xec, 0x18, 0x83, 0xde, 0x1b, 0x1d, 0x9f, 0x8e, 0x97, 0xd4, - 0xb5, 0xe8, 0x54, 0xe1, 0xab, 0xed, 0x6f, 0xce, 0x69, 0x9b, 0x35, 0xc2, 0x01, 0x50, 0xc9, 0x1e, - 0x03, 0x41, 0xdb, 0x1b, 0x10, 0xa6, 0x87, 0x06, 0x19, 0x03, 0xf0, 0x36, 0x52, 0x96, 0xda, 0x58, - 0x06, 0x0d, 0x98, 0x33, 0xb5, 0x83, 0xab, 0x0e, 0x57, 0x70, 0x58, 0x0e, 0x4f, 0x35, 0x4a, 0xf1, - 0x06, 0x86, 0x8a, 0x3d, 0x64, 0x33, 0xc5, 0x47, 0x8a, 0xfc, 0x27, 0xe5, 0x63, 0x9d, 0x15, 0x5f, - 0xe2, 0xb0, 0x04, 0xe6, 0x32, 0x7b, 0x2c, 0x53, 0x70, 0xad, 0x60, 0x94, 0x21, 0x0f, 0x52, 0x5c, - 0x65, 0x45, 0x7e, 0x6c, 0xd0, 0xf8, 0x03, 0xde, 0x9d, 0x44, 0x32, 0xa3, 0x6a, 0x08, 0xc7, 0xab, - 0x31, 0xcb, 0x8d, 0x60, 0xd3, 0x7d, 0x28, 0xfb, 0x4a, 0x40, 0xa1, 0x38, 0x4a, 0x20, 0x1c, 0xee, - 0x05, 0xa1, 0xec, 0xa8, 0x52, 0x9f, 0x4d, 0x96, 0x0c, 0x73, 0xb2, 0x16, 0xdc, 0xc5, 0x93, 0x55, - 0x36, 0xf2, 0xf4, 0xf2, 0x7e, 0x42, 0x1a, 0x7e, 0x5e, 0xcc, 0x35, 0x3c, 0xc7, 0xf9, 0x64, 0xff, - 0xb5, 0x61, 0x86, 0x5a, 0x3e, 0xd7, 0x9a, 0x00, 0x1b, 0x21, 0xe9, 0x8b, 0x75, 0x5a, 0xbd, 0xdb, - 0x76, 0xf6, 0x29, 0xc8, 0x57, 0xfc, 0x5e, 0xe3, 0xcf, 0x21, 0xfb, 0x99, 0x37, 0x53, 0x51, 0xdf, - 0xc7, 0x60, 0x99, 0x4e, 0x42, 0xcc, 0x84, 0x5c, 0x48, 0xf9, 0xee, 0x8c, 0x03, 0x99, 0x3f, 0xd3, - 0x21, 0xac, 0x09, 0xe0, 0x58, 0x52, 0x25, 0x30, 0x20, 0x60, 0xf9, 0xda, 0xe6, 0x35, 0x5e, 0xc4, - 0x2a, 0x80, 0xdf, 0x79, 0x51, 0xe1, 0x41, 0xf7, 0x64, 0x40, 0x33, 0x8a, 0x95, 0x5a, 0x3e, 0xbd, - 0x71, 0x96, 0x1a, 0xfe, 0x77, 0xef, 0x96, 0xc6, 0x9a, 0xb2, 0x54, 0x86, 0x8a, 0x94, 0x1e, 0xf8, - 0x77, 0x33, 0x91, 0xc0, 0x60, 0x77, 0x23, 0x8b, 0x9f, 0xe7, 0x4a, 0x76, 0x62, 0x20, 0x44, 0x3e, - 0x40, 0xf0, 0x77, 0xd9, 0xeb, 0x8f, 0xbd, 0xfc, 0x98, 0xc6, 0x06, 0xc8, 0xc9, 0x0a, 0x8e, 0x31, - 0xf7, 0x53, 0xa1, 0x2b, 0x35, 0xbc, 0x05, 0x71, 0x82, 0xe5, 0x8b, 0x7f, 0x8c, 0x17, 0x23, 0xf9, - 0xd8, 0x4e, 0x24, 0x87, 0x44, 0x76, 0xf5, 0x2a, 0x6e, 0x6c, 0x31, 0x23, 0xdd, 0x5d, 0x82, 0x0f, - 0xdf, 0x2b, 0x60, 0x0f, 0x32, 0xa3, 0xc5, 0xfe, 0x30, 0xc3, 0x6e, 0x8d, 0x32, 0x4c, 0x64, 0x69, - 0x31, 0x18, 0x52, 0xfa, 0x5d, 0xa7, 0x0e, 0x13, 0x4a, 0xe8, 0x57, 0x35, 0x35, 0xb6, 0x50, 0x3c, - 0x46, 0x9a, 0x9c, 0x3f, 0x59, 0xe7, 0x0d, 0xf0, 0x3b, 0xf7, 0xbd, 0xc4, 0xaa, 0x1c, 0x8e, 0xba, - 0x31, 0x2e, 0x01, 0xe3, 0x3b, 0xcd, 0xc3, 0x65, 0xae, 0x23, 0x07, 0x4d, 0xe8, 0x58, 0xc3, 0x3a, - 0xff, 0xb9, 0x7b, 0xc7, 0xd4, 0xe2, 0x5d, 0x53, 0xe2, 0x41, 0x13, 0x8a, 0x37, 0x10, 0x73, 0x87, - 0x97, 0x78, 0x90, 0x70, 0xa1, 0x0e, 0xe5, 0xdc, 0xa3, 0x10, 0xc2, 0x10, 0x70, 0xff, 0x95, 0x5d, - 0xad, 0x2f, 0xd8, 0x4c, 0x80, 0xeb, 0x27, 0x79, 0x68, 0x23, 0xf3, 0xa3, 0x8f, 0xd8, 0xf8, 0x96, - 0x06, 0xdd, 0x01, 0x04, 0x81, 0xe9, 0xad, 0x66, 0x30, 0x75, 0x69, 0x00, 0x0d, 0x40, 0x89, 0x06, - 0xa2, 0x62, 0x6d, 0xd6, 0xda, 0xe4, 0xb0, 0xc8, 0x5e, 0xd9, 0x11, 0x77, 0x5e, 0x73, 0xec, 0xab, - 0xca, 0xdd, 0xa3, 0xc4, 0x41, 0xf6, 0x42, 0xee, 0xa8, 0xb5, 0x12, 0x49, 0x17, 0x34, 0x35, 0x33, - 0x02, 0x10, 0xdd, 0x9d, 0x92, 0xa4, 0x07, 0xca, 0xe9, 0x0c, 0x76, 0x42, 0x20, 0x31, 0x64, 0x43, - 0x3a, 0x50, 0xab, 0x4d, 0xaf, 0xbc, 0x2d, 0xcb, 0x49, 0xec, 0x87, 0x3c, 0xbd, 0x15, 0x30, 0xaf, - 0x98, 0x09, 0xd1, 0xcf, 0x74, 0x53, 0x2c, 0x50, 0x3e, 0x22, 0xee, 0xc3, 0x27, 0x99, 0xee, 0x9d, - 0x68, 0xbc, 0x6e, 0x95, 0x6f, 0x1f, 0xed, 0x50, 0x3c, 0xe1, 0x27, 0x35, 0x8c, 0xd7, 0xfe, 0xd9, - 0x7a, 0xb2, 0x58, 0x43, 0x29, 0x5c, 0x84, 0x25, 0x68, 0xf4, 0xe8, 0x52, 0xea, 0xce, 0x03, 0x30, - 0x44, 0xb9, 0xa3, 0x7e, 0x73, 0xb6, 0x9c, 0xa2, 0x5f, 0x6a, 0x0c, 0x63, 0x68, 0x36, 0x1a, 0xec, - 0xc4, 0x2b, 0x52, 0x9a, 0xd2, 0xf4, 0x63, 0xf5, 0x31, 0x6a, 0xb9, 0x6c, 0x47, 0x9a, 0x04, 0x38, - 0x4c, 0x34, 0x89, 0xa4, 0xa0, 0xbe, 0x0c, 0xaf, 0xb1, 0xf9, 0x92, 0xd6, 0x8b, 0x51, 0xab, 0xfe, - 0xdc, 0x11, 0xa6, 0x29, 0x1c, 0xc8, 0x4f, 0xbe, 0xd9, 0x3f, 0x0c, 0xba, 0x59, 0x81, 0xba, 0x7b, - 0xb2, 0x49, 0x3a, 0x60, 0x1e, 0x3a, 0x9c, 0xd1, 0xe9, 0xa5, 0x1d, 0xc4, 0x9a, 0x7a, 0xb0, 0xf0, - 0xe5, 0x9e, 0x02, 0x0c, 0x52, 0x45, 0x11, 0x7c, 0xa4, 0x75, 0xb8, 0x65, 0x19, 0x91, 0xed, 0x16, - 0x0a, 0x68, 0x9e, 0xef, 0x26, 0x35, 0x57, 0x5f, 0x68, 0x4b, 0x57, 0x36, 0x41, 0x68, 0x14, 0xe4, - 0x5e, 0xe6, 0x3c, 0x80, 0xe8, 0xf8, 0x12, 0x97, 0xd0, 0x2e, 0x6a, 0x8f, 0x09, 0x2f, 0xc9, 0x3d, - 0x66, 0x94, 0x21, 0xf2, 0xce, 0x77, 0x98, 0x02, 0xe1, 0xf3, 0x39, 0xa9, 0xad, 0x12, 0x5c, 0x9a, - 0x9f, 0xb2, 0x27, 0xab, 0x99, 0x1f, 0xb1, 0xf3, 0xa4, 0x0e, 0x2e, 0x87, 0x38, 0x7a, 0x27, 0x61, - 0x18, 0x20, 0x64, 0xc3, 0xc2, 0x31, 0xdf, 0xf9, 0x1d, 0x4c, 0xbd, 0x19, 0x21, 0x24, 0x72, 0x32, - 0x7c, 0x75, 0xd3, 0x55, 0x75, 0x78, 0xaa, 0x31, 0x94, 0x52, 0x1a, 0x91, 0xdd, 0xed, 0xae, 0xf4, - 0x25, 0x3e, 0x79, 0x49, 0x9a, 0xe5, 0xd6, 0x49, 0x10, 0x46, 0x50, 0x9c, 0xa3, 0x11, 0x9c, 0xdb, - 0xe5, 0xf5, 0x75, 0xdd, 0xd8, 0x9b, 0x2d, 0x27, 0xe3, 0x40, 0x36, 0x5a, 0x18, 0x1a, 0x10, 0xcf, - 0x89, 0x05, 0x49, 0x9c, 0x8c, 0x7e, 0x21, 0x8f, 0xd4, 0xdd, 0x17, 0x7b, 0x50, 0x15, 0xb7, 0x1c, - 0xed, 0xaa, 0xe8, 0xc8, 0xbb, 0x9e, 0xe6, 0x59, 0xac, 0x20, 0x13, 0x63, 0xd9, 0x67, 0xdc, 0x35, - 0x47, 0xa7, 0xdf, 0x32, 0x5e, 0x1c, 0x06, 0x29, 0x7e, 0x3d, 0x12, 0x0b, 0x09, 0xce, 0xb3, 0xc4, - 0x16, 0x22, 0x73, 0x83, 0x9d, 0x86, 0xa5, 0x6d, 0xcd, 0x4b, 0x37, 0x42, 0x05, 0x52, 0x78, 0x1e, - 0x91, 0x11, 0x84, 0x86, 0x86, 0x09, 0x4e, 0x38, 0xb9, 0x75, 0x29, 0x0f, 0x85, 0x61, 0x42, 0xb3, - 0x6f, 0x0e, 0x78, 0x09, 0x59, 0xca, 0x23, 0x10, 0xd7, 0x11, 0x54, 0x1f, 0x62, 0x24, 0x82, 0xbc, - 0x3a, 0x2f, 0x5a, 0x22, 0x7c, 0xba, 0xa9, 0x93, 0xea, 0x1b, 0x3c, 0xe3, 0x88, 0x16, 0x27, 0xeb, - 0x57, 0xb9, 0x7f, 0xa9, 0x53, 0x75, 0x29, 0xa1, 0xf1, 0x10, 0xb6, 0x9f, 0xa1, 0xd6, 0xda, 0x97, - 0x1d, 0xea, 0x89, 0xaf, 0xb1, 0x87, 0x1d, 0x9e, 0x52, 0xed, 0x7b, 0xa0, 0x67, 0x73, 0x29, 0x24, - 0xb3, 0x3a, 0x42, 0x6c, 0xcc, 0xdc, 0x10, 0x0c, 0x1c, 0xdc, 0xc7, 0x1f, 0x33, 0xf5, 0x59, 0xa8, - 0x7c, 0xe8, 0x5d, 0xd7, 0x4b, 0x63, 0x7d, 0x38, 0x15, 0x6b, 0x85, 0x41, 0xe5, 0x4c, 0xd2, 0x03, - 0x77, 0x7b, 0x90, 0x11, 0x14, 0x2c, 0x71, 0xe2, 0x9b, 0xd6, 0x10, 0xa6, 0x67, 0xea, 0xf0, 0x77, - 0x22, 0x32, 0xcc, 0x4d, 0x45, 0xe2, 0xde, 0x2d, 0x5c, 0x77, 0x96, 0x41, 0x55, 0x0c, 0xfa, 0xd6, - 0x41, 0x29, 0x5f, 0xea, 0x54, 0x56, 0xb2, 0xc5, 0x22, 0xdf, 0x9e, 0x99, 0x3a, 0x54, 0x0f, 0x09, - 0xb6, 0xc0, 0xf3, 0xbc, 0x8c, 0xe5, 0x42, 0x6a, 0x86, 0xb4, 0x0b, 0x2e, 0x29, 0x40, 0x8e, 0xc2, - 0xba, 0x97, 0x5b, 0x70, 0x4b, 0x6b, 0x47, 0xc1, 0xb8, 0x1f, 0x84, 0x90, 0x45, 0x2b, 0x3d, 0x33, - 0xe0, 0x9f, 0xa6, 0xee, 0xa9, 0x71, 0x42, 0xfa, 0x5e, 0x01, 0x5f, 0x52, 0x40, 0x9a, 0x01, 0xed, - 0x19, 0xee, 0xfa, 0x4d, 0x49, 0x97, 0x44, 0xb3, 0x6b, 0x80, 0xdb, 0x60, 0x0f, 0x4a, 0xbf, 0xc1, - 0xe2, 0x43, 0xb6, 0x05, 0x72, 0x10, 0x20, 0xc7, 0xe2, 0xf7, 0xab, 0xf7, 0x9c, 0xee, 0x4e, 0x40, - 0x1b, 0x5d, 0xdc, 0x6a, 0x95, 0xf4, 0x92, 0x35, 0x8e, 0x36, 0x15, 0x78, 0xe6, 0x7e, 0xb0, 0xf2, - 0x2d, 0xc2, 0x5b, 0xa2, 0x64, 0x3b, 0x9d, 0x68, 0xe7, 0x6e, 0x55, 0x15, 0xc3, 0x02, 0x40, 0xdf, - 0xca, 0xb3, 0xe3, 0x43, 0x36, 0xed, 0x88, 0x27, 0x89, 0x86, 0x80, 0xe7, 0xc7, 0xa1, 0xc1, 0x74, - 0xbd, 0xc1, 0x63, 0xaa, 0xd7, 0x2e, 0xc4, 0xb2, 0x98, 0xa3, 0xa6, 0x7c, 0x15, 0xe2, 0x9c, 0x75, - 0x04, 0x9b, 0xd0, 0xdd, 0x5a, 0x6a, 0x88, 0x65, 0xf7, 0x74, 0xbf, 0xd5, 0x02, 0xa4, 0xe2, 0xc7, - 0x53, 0x3d, 0x15, 0xbf, 0xb5, 0x9b, 0x59, 0x39, 0xc7, 0xb9, 0x61, 0x85, 0xbd, 0x71, 0xbb, 0x09, - 0x20, 0x42, 0xbc, 0x52, 0x9d, 0x42, 0x7a, 0xba, 0x34, 0xc6, 0xf0, 0xf3, 0x85, 0xb6, 0x6d, 0x7b, - 0xaf, 0x1e, 0xf8, 0x24, 0xe3, 0x34, 0xfc, 0xfe, 0x76, 0x0f, 0xa4, 0xee, 0xc5, 0x7c, 0x86, 0xb6, - 0xbb, 0x1c, 0xd5, 0x62, 0x03, 0xbf, 0x86, 0x18, 0x68, 0xda, 0xc0, 0x8f, 0x9d, 0xe2, 0xe8, 0xaa, - 0x1d, 0x78, 0x20, 0x6f, 0x1d, 0xa0, 0xeb, 0xea, 0x9a, 0x85, 0x93, 0x48, 0xa1, 0xbc, 0x73, 0x2b, - 0xb6, 0xad, 0xdb, 0xaa, 0x95, 0x29, 0xab, 0x58, 0x6d, 0x2b, 0x71, 0xc9, 0x3b, 0x12, 0x5c, 0x19, - 0xa6, 0xdb, 0x60, 0x0d, 0x69, 0x47, 0x0d, 0x3d, 0x1a, 0x11, 0xe9, 0x7d, 0x06, 0x02, 0x99, 0x51, - 0x2b, 0x29, 0x4c, 0x41, 0x71, 0xf6, 0xff, 0xdd, 0x2b, 0x82, 0xb7, 0x13, 0x79, 0xd3, 0x70, 0x45, - 0x5b, 0xe2, 0x8c, 0xa2, 0xed, 0xf7, 0x0c, 0xe8, 0x58, 0xf4, 0x79, 0x73, 0x3b, 0x7a, 0xc5, 0xce, - 0x7a, 0x01, 0xd4, 0xd6, 0x63, 0x7a, 0xe5, 0xa6, 0x94, 0xa4, 0x12, 0x89, 0xca, 0xc8, 0xb4, 0x7b, - 0xcd, 0xb4, 0xdd, 0x9b, 0x3d, 0x96, 0x3c, 0xc1, 0xb2, 0x18, 0x48, 0xc5, 0x94, 0x13, 0xb7, 0xba, - 0xb0, 0xa8, 0xd0, 0xec, 0x3f, 0x5c, 0xf2, 0xec, 0x0d, 0x99, 0xf8, 0xe7, 0xa6, 0xbe, 0x5b, 0x6a, - 0xc8, 0xfc, 0x0d, 0xfb, 0x8a, 0xd4, 0xf8, 0xae, 0x0e, 0xcd, 0x6e, 0xe5, 0x2e, 0x2f, 0x24, 0xa6, - 0x38, 0x55, 0x05, 0x34, 0xd5, 0xfd, 0xa3, 0x1a, 0x18, 0xfa, 0xfc, 0x79, 0x4d, 0x9c, 0xc0, 0x84, - 0xda, 0x34, 0x6d, 0xa7, 0x51, 0xab, 0xbf, 0x4e, 0x9e, 0xfa, 0xd6, 0x08, 0x27, 0x9f, 0xb1, 0xd3, - 0x87, 0x94, 0xb9, 0xd1, 0x8a, 0x37, 0xb3, 0x72, 0x4c, 0x67, 0x49, 0x8f, 0xfd, 0x06, 0xc2, 0x43, - 0x64, 0x78, 0x9c, 0x17, 0xf7, 0xf7, 0x02, 0xfb, 0x71, 0xa9, 0x32, 0x5d, 0x6a, 0x5b, 0x8d, 0x7d, - 0x96, 0xf4, 0x3f, 0x7a, 0xf9, 0xa7, 0xfa, 0x48, 0xa8, 0xb5, 0x54, 0x9a, 0x83, 0xfc, 0x99, 0x95, - 0x99, 0x81, 0xda, 0xc0, 0xea, 0x00, 0xb9, 0xa6, 0x7f, 0xe9, 0x12, 0x92, 0x81, 0xc7, 0x32, 0x1f, - 0x91, 0x29, 0xca, 0x95, 0x1b, 0x33, 0x0e, 0x2e, 0xf1, 0x5c, 0x5a, 0xb6, 0x75, 0x90, 0x77, 0x61, - 0x5d, 0xbf, 0xe4, 0x6f, 0x55, 0xac, 0x1b, 0xd4, 0x5c, 0x16, 0x25, 0xf1, 0xed, 0xaa, 0x6c, 0xf1, - 0x4d, 0x02, 0x21, 0x97, 0x12, 0x03, 0x5d, 0x4a, 0xdb, 0x00, 0x38, 0x69, 0xc5, 0x9c, 0x18, 0x70, - 0x4a, 0xf9, 0x7d, 0xd3, 0xcd, 0x09, 0xde, 0xb4, 0x28, 0xd3, 0x20, 0xe8, 0x04, 0x55, 0x5c, 0x6d, - 0x85, 0xb5, 0x41, 0xd1, 0x37, 0xa0, 0xd0, 0xf9, 0x1d, 0xfb, 0x61, 0x57, 0xb0, 0x05, 0x5f, 0xcc, - 0xf6, 0x67, 0x73, 0xd1, 0xf8, 0x78, 0x9c, 0x05, 0x85, 0xa8, 0x9c, 0xa4, 0x2d, 0x97, 0x88, 0xa1, - 0x6d, 0x6c, 0x13, 0xfb, 0x6c, 0xf5, 0x83, 0xf5, 0xf9, 0xd5, 0x01, 0xe5, 0xa9, 0x81, 0xc6, 0x48, - 0x2a, 0x5a, 0x2b, 0x65, 0x80, 0x8b, 0xc4, 0x55, 0xe2, 0xf9, 0xe7, 0x29, 0x98, 0x23, 0xe7, 0xd5, - 0xb3, 0x49, 0xd6, 0x17, 0xcf, 0x70, 0x07, 0x25, 0x93, 0xbe, 0x9f, 0x5d, 0xc9, 0x7c, 0x6c, 0xd0, - 0x0a, 0xf9, 0xf5, 0xf4, 0x0c, 0xa8, 0x37, 0xb2, 0xe8, 0xca, 0x73, 0xf2, 0xe9, 0xd5, 0x3e, 0xfc, - 0x90, 0xbf, 0x0a, 0xd4, 0xb2, 0xec, 0x68, 0x5c, 0xc6, 0xe7, 0xd5, 0xd4, 0xa8, 0x59, 0xfb, 0x8a, - 0xf5, 0x93, 0xae, 0x37, 0x9e, 0x56, 0x00, 0x97, 0x8a, 0x23, 0xc0, 0xee, 0x94, 0xd9, 0x14, 0xab, - 0x9b, 0xf6, 0x60, 0xab, 0x54, 0x17, 0x5f, 0xff, 0x7a, 0x80, 0x36, 0x4f, 0x6c, 0xbb, 0xff, 0x07, - 0x7d, 0x88, 0xe0, 0xad, 0x96, 0x29, 0x17, 0x0c, 0x7a, 0x01, 0xd2, 0xce, 0x49, 0xe4, 0x4f, 0x5a, - 0xfa, 0xbf, 0xec, 0x82, 0x75, 0x06, 0x2a, 0x13, 0x06, 0x35, 0xf5, 0x9e, 0x23, 0x62, 0xe7, 0x42, - 0x4e, 0x48, 0x6d, 0x95, 0xe7, 0x9f, 0xde, 0xd3, 0xd5, 0x3d, 0x6f, 0x87, 0xdc, 0x86, 0xcd, 0xda, - 0xb5, 0xe1, 0xa4, 0xdc, 0x5a, 0xd6, 0x9f, 0x89, 0xeb, 0x4e, 0x32, 0xc0, 0x93, 0x86, 0xf0, 0xbb, - 0xf1, 0x07, 0xd2, 0x50, 0x82, 0xce, 0xb1, 0x90, 0xb5, 0x78, 0xf7, 0xa8, 0x77, 0x36, 0x08, 0x48, - 0xd5, 0x2a, 0x83, 0xa8, 0xf8, 0x0b, 0xd9, 0xef, 0x21, 0x45, 0x3e, 0xf5, 0x7c, 0x68, 0x23, 0xb2, - 0x09, 0x8e, 0xee, 0x6a, 0xcc, 0x08, 0x5f, 0x25, 0x6f, 0xe6, 0xcb, 0x1c, 0x7f, 0x56, 0x79, 0x9a, - 0x2e, 0x81, 0xf8, 0x07, 0x5b, 0x4c, 0x05, 0x88, 0x5a, 0x87, 0x42, 0x28, 0xf8, 0x45, 0xc6, 0x85, - 0x19, 0x04, 0xe9, 0xa0, 0x74, 0x4d, 0x3f, 0x4b, 0x99, 0x7a, 0x59, 0x66, 0x40, 0x4f, 0x55, 0x99, - 0x0b, 0xe1, 0x89, 0x05, 0x0f, 0x23, 0x94, 0x19, 0xb8, 0x4e, 0x0a, 0x80, 0xdf, 0x67, 0xc1, 0x52, - 0xca, 0x52, 0xba, 0x62, 0xf4, 0x32, 0x98, 0xa9, 0x97, 0xa6, 0xab, 0xef, 0x68, 0x54, 0x43, 0x61, - 0x2d, 0xc9, 0x42, 0x45, 0xb6, 0x85, 0xb1, 0x7c, 0x5e, 0x06, 0x04, 0x13, 0x4d, 0x15, 0x43, 0x9d, - 0x96, 0xae, 0x60, 0x31, 0xb1, 0x22, 0x37, 0xaa, 0x92, 0x21, 0x5d, 0xd8, 0x0f, 0x33, 0xca, 0x85, - 0x2d, 0x51, 0x52, 0xed, 0xe7, 0x27, 0x89, 0xb0, 0x33, 0x06, 0x47, 0x5f, 0x1c, 0x71, 0xd9, 0xd1, - 0xe5, 0x1c, 0x47, 0x38, 0xe9, 0xa5, 0x50, 0x0f, 0x60, 0x3d, 0xd5, 0xe9, 0xdc, 0x97, 0xcd, 0x63, - 0xed, 0x4c, 0x0a, 0xf5, 0x5e, 0x54, 0xfe, 0xa9, 0x84, 0x27, 0x83, 0x6f, 0x85, 0x0a, 0xca, 0xc4, - 0x22, 0xd7, 0xf3, 0x0f, 0xa2, 0xa2, 0x08, 0xeb, 0x70, 0xe3, 0xb0, 0x0d, 0x70, 0x4e, 0x9f, 0xab, - 0x75, 0x51, 0x12, 0x1a, 0x64, 0x86, 0xf3, 0x5b, 0xde, 0xb8, 0x95, 0x7e, 0xe4, 0x5b, 0xd1, 0x08, - 0x15, 0x26, 0x46, 0x81, 0x89, 0x1a, 0xf0, 0x3e, 0x6c, 0xa7, 0x62, 0x94, 0x43, 0xd6, 0x2c, 0x70, - 0x2b, 0x88, 0x91, 0xbd, 0x79, 0x01, 0x17, 0xb5, 0xd9, 0xf6, 0xc6, 0x57, 0xcb, 0xa4, 0x02, 0x0e, - 0xb7, 0xa3, 0x54, 0x67, 0xc4, 0x28, 0x5c, 0xa1, 0x04, 0x35, 0x70, 0xcf, 0x21, 0x76, 0xd5, 0x91, - 0x16, 0x64, 0xd6, 0x76, 0xeb, 0xe7, 0xd7, 0x5c, 0x35, 0x36, 0x65, 0xfc, 0x71, 0x4b, 0x6d, 0xe4, - 0x04, 0x5c, 0xab, 0x3d, 0x3a, 0x62, 0xaf, 0x7f, 0xbe, 0x28, 0x23, 0xba, 0x81, 0x44, 0xa8, 0x61, - 0x3d, 0x2b, 0x69, 0x9e, 0x19, 0x9a, 0xae, 0x47, 0xa9, 0x02, 0x12, 0x0c, 0x19, 0xf9, 0x4f, 0x90, - 0x43, 0x29, 0x0d, 0xf9, 0x02, 0x48, 0x49, 0xbc, 0x59, 0x00, 0x3f, 0x0a, 0x34, 0x62, 0x8f, 0x1f, - 0x57, 0x8a, 0xe7, 0xb9, 0xa4, 0x83, 0x87, 0x3e, 0x7f, 0xdf, 0xbf, 0x82, 0x0e, 0xf2, 0xec, 0x6e, - 0xb4, 0x0b, 0x14, 0x59, 0x7c, 0x68, 0x1f, 0x22, 0x54, 0xb3, 0xdb, 0x8e, 0xc9, 0xaa, 0xc1, 0xd2, - 0x94, 0x1d, 0xd4, 0xda, 0xc3, 0xcf, 0x8e, 0x30, 0x92, 0x49, 0xc9, 0x7a, 0x2c, 0x09, 0x60, 0x23, - 0x6b, 0x20, 0x73, 0xc1, 0xfe, 0xae, 0xad, 0xd7, 0x49, 0x77, 0x69, 0x5a, 0xa5, 0xc6, 0xee, 0x2d, - 0xbe, 0xaa, 0x59, 0x35, 0x10, 0xbc, 0xd5, 0x04, 0x3c, 0x37, 0xfd, 0x35, 0x43, 0x8e, 0x82, 0xa6, - 0x5d, 0x77, 0x69, 0xd2, 0xa5, 0x34, 0xc1, 0xea, 0xce, 0x9e, 0xf7, 0xb4, 0x3e, 0x1e, 0x09, 0x6e, - 0x8f, 0x20, 0x5a, 0xe1, 0x7c, 0xf4, 0x3b, 0x91, 0xda, 0xe8, 0xb6, 0x76, 0x99, 0x3b, 0x06, 0x5a, - 0xd9, 0x56, 0xdf, 0x84, 0xb2, 0xc6, 0x88, 0x92, 0xd6, 0xd4, 0xff, 0x54, 0xc3, 0x81, 0xe1, 0x79, - 0x57, 0xf6, 0xc9, 0x2e, 0x1c, 0x1a, 0x79, 0xe0, 0x2f, 0x30, 0x5c, 0x15, 0x37, 0x4d, 0x47, 0x68, - 0xa0, 0xa3, 0x0c, 0x55, 0x80, 0x90, 0x7b, 0xfd, 0xf2, 0x42, 0x69, 0x5f, 0x05, 0x77, 0x30, 0xcc, - 0x80, 0x54, 0xa2, 0x7e, 0x13, 0x71, 0x0a, 0xc0, 0xc1, 0x96, 0xeb, 0x0c, 0xca, 0x12, 0x5a, 0x36, - 0x9a, 0xff, 0x6d, 0x1f, 0xb7, 0x12, 0x12, 0x74, 0x66, 0xe3, 0xa0, 0x10, 0xbc, 0xfb, 0xeb, 0x18, - 0x9e, 0xaa, 0x38, 0x2e, 0xec, 0xa0, 0x03, 0x06, 0xb4, 0x39, 0x3a, 0x63, 0x69, 0xa6, 0x38, 0xdc, - 0xde, 0x7d, 0x35, 0xab, 0x13, 0x6e, 0x75, 0x98, 0x4d, 0x88, 0xd7, 0x1b, 0x60, 0xbb, 0x1c, 0xbe, - 0x87, 0x04, 0x96, 0xd8, 0x0d, 0x71, 0x82, 0x17, 0xbc, 0x10, 0x6e, 0xca, 0x27, 0x4c, 0x05, 0xfe, - 0x9a, 0xaa, 0x2a, 0x57, 0x14, 0xd1, 0x52, 0xfc, 0x4b, 0x7d, 0xac, 0x4b, 0x68, 0xe8, 0xc0, 0xf1, - 0x22, 0x31, 0x73, 0xde, 0x84, 0xd5, 0x33, 0x41, 0x20, 0xa9, 0xe0, 0x80, 0x1a, 0x8f, 0x84, 0x5a, - 0x16, 0xcd, 0xae, 0xdb, 0xae, 0xe3, 0x09, 0xb6, 0xd5, 0x96, 0x15, 0x22, 0x8b, 0x4d, 0x4e, 0xf0, - 0x9e, 0x43, 0xf2, 0xc3, 0x69, 0x24, 0xb8, 0xf3, 0xb4, 0x3a, 0xc1, 0xfc, 0x45, 0xe3, 0xcf, 0x2a, - 0xd0, 0x15, 0x7f, 0x98, 0x8a, 0x6f, 0xef, 0x9d, 0xd0, 0xaf, 0x57, 0xe0, 0x04, 0x8a, 0x60, 0x18, - 0x91, 0x5e, 0xce, 0xb9, 0xc7, 0x4d, 0x47, 0x94, 0x79, 0x63, 0x01, 0xe7, 0xce, 0xa6, 0x1a, 0xd6, - 0x63, 0xc8, 0x38, 0x6b, 0x72, 0xd7, 0x57, 0xe6, 0x5c, 0x21, 0xdb, 0x0b, 0x17, 0x67, 0x90, 0x63, - 0xe2, 0xdb, 0xe6, 0x25, 0x2c, 0xab, 0x01, 0xfe, 0x5d, 0x77, 0x88, 0x62, 0x1a, 0xe5, 0x7f, 0x0c, - 0x03, 0x81, 0x7e, 0x30, 0xec, 0x06, 0x76, 0x38, 0x93, 0x6e, 0xf0, 0xe4, 0xbd, 0xd3, 0xc8, 0xa9, - 0x92, 0x88, 0xde, 0x2d, 0x35, 0x21, 0xd8, 0xaa, 0x85, 0x3c, 0x99, 0x7a, 0x5c, 0x62, 0xce, 0xd8, - 0xa9, 0x6f, 0xf6, 0x71, 0xdf, 0x0f, 0xeb, 0x06, 0xaa, 0x31, 0xd0, 0x04, 0x04, 0x0b, 0x27, 0x2e, - 0x8d, 0xf6, 0x39, 0x4f, 0x78, 0xaf, 0xaf, 0xee, 0x3c, 0x69, 0xc2, 0x1d, 0x90, 0xec, 0x38, 0xad, - 0xdb, 0x92, 0xca, 0x99, 0x89, 0xa6, 0x7f, 0x05, 0xab, 0xb7, 0x08, 0x97, 0x64, 0x42, 0x26, 0x1f, - 0x41, 0x8b, 0x57, 0x3e, 0x3f, 0xc2, 0xde, 0x34, 0xed, 0x14, 0x47, 0x74, 0xd8, 0xee, 0xc1, 0x62, - 0x7e, 0x7c, 0xe6, 0xd5, 0x41, 0x30, 0x34, 0x2b, 0x57, 0xf3, 0x4d, 0x97, 0x4e, 0xbb, 0x66, 0x36, - 0x1a, 0x27, 0xe8, 0xbe, 0xe5, 0x63, 0x58, 0x08, 0xce, 0xdc, 0x4a, 0xa3, 0x8a, 0xf2, 0x6a, 0xb1, - 0x5a, 0xdf, 0x85, 0x66, 0x09, 0x5f, 0x46, 0x1b, 0x92, 0x84, 0x3b, 0x50, 0x65, 0x27, 0xa4, 0x00, - 0x07, 0x8f, 0x4c, 0x70, 0x71, 0xd1, 0xcf, 0x83, 0x09, 0x66, 0x20, 0xfe, 0x1f, 0x22, 0xc2, 0x2e, - 0x7c, 0xec, 0x43, 0x24, 0xbc, 0xf0, 0x38, 0x32, 0x71, 0x3c, 0x29, 0xda, 0x61, 0x71, 0x02, 0x49, - 0xc3, 0x0e, 0xe7, 0xad, 0x13, 0x34, 0xe4, 0x1c, 0x89, 0xda, 0xf9, 0x44, 0xa7, 0xc6, 0x7e, 0xe1, - 0x77, 0x5d, 0xee, 0x14, 0x29, 0x46, 0x46, 0xf1, 0xdb, 0xc5, 0x36, 0xe4, 0x7b, 0xe8, 0xad, 0xce, - 0xde, 0x23, 0x28, 0x9e, 0x61, 0x65, 0x61, 0xcc, 0x47, 0x56, 0xf2, 0x88, 0x48, 0x1a, 0x7d, 0xaa, - 0xd4, 0x50, 0x8f, 0x0d, 0x48, 0xdb, 0x91, 0xe6, 0xa8, 0xea, 0x8c, 0xa0, 0xc4, 0xae, 0x4d, 0x57, - 0xfb, 0x9a, 0xe1, 0x54, 0x50, 0xb2, 0x1e, 0xd7, 0x97, 0x1a, 0xe7, 0x4b, 0xc8, 0xc6, 0xeb, 0x03, - 0x40, 0x32, 0xb6, 0x6a, 0x5c, 0x2a, 0x51, 0xb8, 0xb2, 0x1c, 0x57, 0x54, 0x40, 0x41, 0x8e, 0x30, - 0x85, 0xfd, 0xf1, 0x19, 0x48, 0x64, 0x26, 0x88, 0xc6, 0x5f, 0x90, 0xd9, 0x94, 0xf6, 0x56, 0x29, - 0xe6, 0x30, 0x64, 0x70, 0x57, 0xc7, 0x46, 0xe6, 0x24, 0x46, 0xf6, 0x62, 0x00, 0x1b, 0x64, 0xaa, - 0xbc, 0xe9, 0x80, 0x21, 0x80, 0xdf, 0x37, 0x13, 0x43, 0x84, 0x1c, 0x6d, 0x50, 0xca, 0x0f, 0xb6, - 0xad, 0xf0, 0x04, 0x8a, 0x4e, 0xc6, 0x65, 0x82, 0x6a, 0x98, 0xbc, 0x5e, 0x22, 0x99, 0x98, 0x1e, - 0x66, 0xed, 0x4d, 0x94, 0x8b, 0xfb, 0x87, 0x3c, 0xf5, 0x4c, 0x6d, 0x25, 0xd8, 0x9f, 0x7f, 0x5e, - 0xac, 0x74, 0xc6, 0xe8, 0x70, 0x4b, 0x24, 0xe2, 0xf3, 0xc3, 0x0f, 0x44, 0x58, 0x47, 0x06, 0xd8, - 0xdc, 0xab, 0x3d, 0x2e, 0x39, 0xf9, 0x70, 0xc0, 0xf1, 0x5b, 0xc8, 0xb1, 0xf3, 0xc8, 0x91, 0xb9, - 0x29, 0x76, 0x08, 0x3a, 0x4c, 0xd8, 0xd0, 0x87, 0x83, 0x69, 0xff, 0x15, 0xa4, 0x23, 0x20, 0x18, - 0xf6, 0x8e, 0x5c, 0xd1, 0x6d, 0x88, 0xf5, 0x1e, 0x71, 0x02, 0x79, 0x10, 0x91, 0x96, 0xcd, 0xd1, - 0x55, 0xf3, 0x56, 0x65, 0x61, 0xff, 0xd2, 0xa3, 0x0f, 0x74, 0x07, 0x1d, 0xee, 0xdb, 0x99, 0xd9, - 0x6f, 0x60, 0xc2, 0x93, 0x22, 0x54, 0x4e, 0x3d, 0x6a, 0xba, 0x4b, 0xeb, 0x9c, 0x78, 0x7f, 0xca, - 0x4a, 0x38, 0x4f, 0xfe, 0x6b, 0xb5, 0x7a, 0xbf, 0x16, 0x32, 0x34, 0x04, 0x32, 0xb8, 0xe7, 0x21, - 0x01, 0x69, 0xfc, 0x3e, 0xdb, 0x35, 0xc7, 0xde, 0x75, 0x49, 0xa3, 0x55, 0x6c, 0x67, 0x75, 0xd9, - 0x06, 0x74, 0x2b, 0xce, 0x8f, 0xf3, 0xd9, 0x35, 0xae, 0x19, 0x80, 0xec, 0xa9, 0xe1, 0x4e, 0x5c, - 0xc9, 0xaf, 0x12, 0x26, 0x7f, 0xb7, 0xf1, 0xff, 0x11, 0x21, 0x52, 0x7a, 0xcb, 0xc8, 0x43, 0xb9, - 0xf3, 0xd4, 0x40, 0x25, 0xfc, 0xda, 0x0b, 0x63, 0x00, 0x7c, 0x71, 0x6e, 0xf3, 0x21, 0x6e, 0x0c, - 0x01, 0x14, 0xf8, 0x11, 0x6f, 0xbb, 0xfc, 0x4c, 0x25, 0x65, 0x22, 0xa8, 0x6c, 0xea, 0xf7, 0xfd, - 0x09, 0x96, 0x06, 0x86, 0x86, 0xfc, 0xf5, 0xa4, 0x2a, 0xdf, 0x2f, 0x19, 0x59, 0xb0, 0x90, 0x1a, - 0x6a, 0x70, 0x29, 0x4e, 0x6d, 0x17, 0x66, 0xae, 0x00, 0xa0, 0x65, 0x6e, 0x52, 0x63, 0xd2, 0x3f, - 0x58, 0x8e, 0x80, 0x1e, 0x2a, 0x1e, 0x23, 0x87, 0x95, 0x2a, 0x84, 0xd4, 0xf4, 0xee, 0x3b, 0xe8, - 0x08, 0x8d, 0x90, 0xbb, 0x92, 0xc8, 0xcb, 0xaf, 0x85, 0x78, 0x6f, 0x1b, 0x4c, 0x9e, 0x45, 0xbc, - 0x06, 0xfe, 0xfe, 0x19, 0x53, 0xa0, 0x22, 0x13, 0x3a, 0x98, 0x04, 0xdb, 0xf7, 0xb0, 0xce, 0x34, - 0x3a, 0x0b, 0xa6, 0x84, 0x3e, 0x2f, 0x81, 0xd7, 0xa4, 0x0f, 0x84, 0xcd, 0xac, 0x04, 0xb4, 0x40, - 0x13, 0xa7, 0x44, 0xb7, 0x7c, 0x2a, 0x30, 0x10, 0x2c, 0x50, 0x90, 0x5f, 0xb7, 0x55, 0x4b, 0x04, - 0x2a, 0xe9, 0xa0, 0x29, 0x44, 0x24, 0x9b, 0x07, 0xc0, 0x0c, 0x4e, 0xb9, 0x61, 0x08, 0xc3, 0x0a, - 0x69, 0x9c, 0x1f, 0x9c, 0xad, 0x71, 0xbe, 0xeb, 0x49, 0x33, 0x05, 0xe7, 0x2c, 0x54, 0x7f, 0xc8, - 0x53, 0x00, 0x51, 0xd6, 0xa7, 0xed, 0x86, 0x1a, 0xc0, 0x52, 0xc1, 0x43, 0xe4, 0xf0, 0x04, 0x0f, - 0xec, 0x0c, 0x6e, 0x60, 0x95, 0xe3, 0xef, 0x02, 0x1a, 0xc7, 0x47, 0x24, 0x84, 0x3d, 0xa8, 0x99, - 0x3f, 0x58, 0xbf, 0xcb, 0x5c, 0xa8, 0xbf, 0x74, 0x8e, 0x62, 0x24, 0x7d, 0xe2, 0x63, 0x5b, 0x52, - 0x99, 0x34, 0x57, 0x9d, 0x14, 0x43, 0x17, 0x99, 0x4a, 0xb4, 0x53, 0xba, 0x7e, 0xab, 0x37, 0x9e, - 0xe2, 0x59, 0x6e, 0x3c, 0xe7, 0x1b, 0x08, 0xa0, 0x79, 0x94, 0x66, 0xd4, 0x0b, 0x9f, 0x71, 0xdb, - 0xd9, 0x4c, 0xb9, 0x6f, 0x0b, 0xb6, 0xde, 0x67, 0x9b, 0x9f, 0xe0, 0x69, 0xda, 0x87, 0x47, 0x1c, - 0xd4, 0xf7, 0x6c, 0x46, 0x46, 0xb3, 0xc9, 0x0f, 0x7d, 0x71, 0x2b, 0x06, 0x03, 0x70, 0x26, 0xc3, - 0xb0, 0xf5, 0x55, 0xa5, 0xb3, 0x8d, 0x20, 0x3d, 0xb9, 0xb7, 0xb5, 0x2b, 0x8a, 0xed, 0x5f, 0xc9, - 0xb3, 0xa7, 0xc6, 0x05, 0x5a, 0x3f, 0x3d, 0x2a, 0x32, 0x4d, 0xf0, 0x33, 0xf9, 0x6b, 0xb4, 0xdd, - 0x2e, 0xef, 0x7e, 0x80, 0x29, 0xab, 0x85, 0x2f, 0xcc, 0x4b, 0x88, 0xef, 0x08, 0x6d, 0xd6, 0xed, - 0x3f, 0x07, 0x71, 0x53, 0xde, 0xa0, 0x19, 0x03, 0x90, 0x9d, 0x23, 0xe1, 0xfb, 0x70, 0xa3, 0x3e, - 0x55, 0x74, 0x58, 0x65, 0x0d, 0xbb, 0x53, 0x0e, 0x8b, 0x95, 0x00, 0xfd, 0x73, 0xeb, 0x7e, 0xa9, - 0x5d, 0x02, 0x11, 0x18, 0x83, 0x16, 0x81, 0xdf, 0x19, 0x03, 0x50, 0x54, 0xa2, 0xc5, 0x91, 0xac, - 0x65, 0x53, 0x6b, 0x9d, 0xa9, 0x31, 0x0e, 0x2e, 0x07, 0x0d, 0x6a, 0xfc, 0xcf, 0x73, 0xf6, 0x3c, - 0x2c, 0x96, 0x66, 0xcd, 0xe7, 0xec, 0x72, 0xbd, 0xa0, 0xa3, 0x0a, 0xe9, 0x4d, 0xa3, 0xfc, 0xc5, - 0xde, 0x66, 0xc8, 0xa4, 0x55, 0x23, 0x05, 0xe7, 0x72, 0xe6, 0x3a, 0xfd, 0xe9, 0x16, 0x40, 0xc1, - 0x6b, 0x12, 0x0a, 0x7f, 0x3d, 0x73, 0x13, 0x84, 0xdf, 0xb3, 0xa9, 0xbc, 0x57, 0x22, 0xce, 0xc8, - 0x2d, 0x6c, 0x9b, 0x55, 0x60, 0x3b, 0xe2, 0x73, 0x53, 0x19, 0xa8, 0xe0, 0xcc, 0xb7, 0x0f, 0x87, - 0xd2, 0x18, 0xfa, 0x09, 0x81, 0xa1, 0x04, 0x67, 0x36, 0x60, 0x9f, 0x91, 0xc5, 0xb5, 0x90, 0x11, - 0x32, 0x42, 0x86, 0xe2, 0x65, 0xdc, 0x6e, 0xde, 0xa8, 0x4b, 0x37, 0x71, 0x50, 0x3b, 0x2f, 0xa0, - 0x87, 0x51, 0xc3, 0x25, 0xc6, 0xe1, 0x11, 0x7a, 0xc4, 0xc5, 0xb9, 0xf0, 0xd3, 0x8b, 0xa9, 0xa4, - 0x83, 0xbc, 0x28, 0xb6, 0xbe, 0x28, 0x6e, 0xa9, 0x8c, 0x55, 0x2e, 0x8f, 0x53, 0x8f, 0xcd, 0xdc, - 0x66, 0x64, 0x11, 0xb0, 0x0f, 0xc4, 0x7f, 0x2a, 0x80, 0xd2, 0x43, 0x43, 0x94, 0xea, 0x04, 0x9c, - 0x39, 0x59, 0x5f, 0x4f, 0xc2, 0x2e, 0x8e, 0xdb, 0x5d, 0xc2, 0x8e, 0x61, 0x5d, 0x18, 0x33, 0x78, - 0x11, 0x4d, 0xe2, 0x85, 0xf8, 0x19, 0x27, 0xea, 0xab, 0xa8, 0x19, 0x2f, 0xe5, 0xf1, 0xe9, 0x4d, - 0xb7, 0xc3, 0x1d, 0xf9, 0x6f, 0x96, 0x78, 0x32, 0x56, 0x7b, 0xdb, 0xa9, 0xea, 0x95, 0xb8, 0xcf, - 0xc1, 0xcf, 0x62, 0xce, 0x81, 0x9a, 0x24, 0xad, 0xcd, 0xda, 0x13, 0x3c, 0xed, 0x65, 0x8a, 0x94, - 0x3b, 0x38, 0xdc, 0xec, 0x69, 0x36, 0x00, 0x48, 0x3b, 0x10, 0xbd, 0xe0, 0xd4, 0xec, 0x04, 0xc7, - 0xa9, 0x4f, 0x3c, 0x2b, 0x76, 0x8c, 0x47, 0xf5, 0xf1, 0xac, 0xa3, 0xeb, 0x49, 0xe5, 0x31, 0x35, - 0xff, 0x9e, 0x6d, 0x3c, 0xbb, 0xa0, 0x67, 0x6d, 0x4e, 0xfd, 0xb2, 0x20, 0xe2, 0x87, 0xa6, 0x39, - 0xe1, 0x13, 0x67, 0x34, 0x56, 0xb1, 0x33, 0xb4, 0xd3, 0x5d, 0x18, 0x76, 0x4f, 0x56, 0xce, 0x0f, - 0x3d, 0x01, 0xdd, 0x43, 0x1f, 0x30, 0x07, 0x60, 0x45, 0x76, 0x00, 0xff, 0x5b, 0x86, 0xc4, 0x54, - 0x09, 0x38, 0x3c, 0x6a, 0xf6, 0xc4, 0x7d, 0x9c, 0x5c, 0x03, 0x31, 0x73, 0x8c, 0xc0, 0xe4, 0x44, - 0x59, 0xd6, 0x2f, 0x5f, 0xe9, 0xf7, 0xa1, 0xc2, 0x66, 0x56, 0x8b, 0x88, 0xe9, 0x2c, 0x02, 0x95, - 0xb4, 0x30, 0xde, 0xa4, 0xd1, 0x27, 0xd7, 0x25, 0x42, 0x37, 0x97, 0x24, 0x98, 0x38, 0x79, 0xf9, - 0xe0, 0xe4, 0xc4, 0xbb, 0x28, 0xcf, 0x3d, 0x55, 0x2b, 0x6c, 0x0a, 0x49, 0x7a, 0xb0, 0x3b, 0x03, - 0x3a, 0x64, 0x08, 0x51, 0xbe, 0x1e, 0x0c, 0xcf, 0x93, 0xa9, 0xa2, 0xf9, 0x2c, 0x6a, 0xf9, 0xde, - 0x4b, 0x81, 0x2a, 0xcb, 0xc8, 0xe6, 0x8c, 0xa9, 0xa7, 0x87, 0x11, 0xc6, 0x44, 0xfc, 0x0d, 0x83, - 0x42, 0x58, 0x81, 0xaa, 0x5f, 0xf7, 0x60, 0xe8, 0xdd, 0x2d, 0x07, 0x41, 0x62, 0xee, 0xd2, 0x31, - 0x9b, 0xe4, 0x6e, 0x4d, 0xaf, 0x05, 0x5a, 0xb4, 0x6a, 0x3d, 0xed, 0x5f, 0xf0, 0x10, 0x4a, 0xe0, - 0x28, 0x48, 0x70, 0xbd, 0x04, 0x2c, 0xce, 0xa9, 0x12, 0x58, 0xef, 0x77, 0x62, 0xe2, 0x2e, 0xf6, - 0x04, 0x0d, 0x87, 0x0b, 0xe0, 0xa0, 0x9f, 0xce, 0xa8, 0x6f, 0xce, 0xe4, 0xfb, 0x31, 0x5a, 0xde, - 0x4f, 0xa6, 0x15, 0x56, 0x9a, 0x90, 0x21, 0x58, 0x91, 0x40, 0x9b, 0x14, 0x00, 0xbd, 0x89, 0x09, - 0x75, 0xa7, 0x30, 0x57, 0x45, 0x8a, 0x83, 0xf7, 0x64, 0x41, 0xb8, 0x42, 0x6e, 0x3b, 0x94, 0x81, - 0x40, 0xde, 0x36, 0x77, 0x16, 0x09, 0x20, 0xb7, 0xe3, 0x8d, 0x6b, 0xfe, 0x4b, 0xdd, 0x10, 0x03, - 0xc0, 0x1c, 0x01, 0x81, 0x6a, 0x46, 0x1b, 0xb0, 0x75, 0x7f, 0x47, 0xf8, 0x4f, 0xf4, 0x6a, 0xfd, - 0x65, 0xc8, 0xbe, 0x6a, 0x58, 0xcb, 0xeb, 0x58, 0x55, 0xf7, 0xfb, 0x84, 0x3f, 0x78, 0x9d, 0x1a, - 0x3c, 0x43, 0x4a, 0xac, 0x2f, 0xb3, 0x67, 0x44, 0xb0, 0x58, 0xb4, 0x81, 0xff, 0x2f, 0x12, 0x75, - 0xd9, 0x2c, 0xa7, 0x8a, 0x7b, 0x1b, 0xa2, 0x91, 0x69, 0x49, 0xff, 0x8b, 0xc0, 0xff, 0xe8, 0xc2, - 0x57, 0x67, 0xdd, 0xce, 0x74, 0x54, 0xf1, 0xff, 0x4c, 0x0e, 0x87, 0x8f, 0x46, 0xb2, 0xd7, 0x09, - 0x82, 0xc6, 0xed, 0x02, 0x46, 0x46, 0xc8, 0x12, 0xa6, 0x30, 0x63, 0xf8, 0x35, 0xa9, 0xd0, 0x48, - 0x60, 0x31, 0x6b, 0x82, 0x85, 0xb5, 0xba, 0x8f, 0x9f, 0x86, 0xcc, 0x32, 0x1f, 0x21, 0xd8, 0xa8, - 0xf0, 0xb7, 0x2a, 0x84, 0xc2, 0xa4, 0xb6, 0x77, 0xc2, 0x2c, 0x55, 0xe2, 0x1a, 0x72, 0x2c, 0x9e, - 0xc9, 0x9b, 0xf0, 0x95, 0x14, 0x26, 0x67, 0xb7, 0x5f, 0x62, 0x42, 0x72, 0x48, 0x1f, 0xdb, 0x9d, - 0x6b, 0xcb, 0x6c, 0xe1, 0x49, 0x8b, 0x29, 0x0c, 0x7f, 0x06, 0x3a, 0xa3, 0x09, 0xa7, 0x05, 0x4c, - 0xd6, 0xbb, 0xfe, 0x44, 0x61, 0x21, 0xf1, 0xf1, 0xa0, 0x5a, 0xdd, 0x8b, 0x90, 0xe5, 0x25, 0xb0, - 0x6c, 0xd3, 0xd1, 0xca, 0xf8, 0xc5, 0x34, 0x5b, 0x8c, 0x93, 0x8a, 0xaa, 0xb7, 0x6f, 0x80, 0x70, - 0xee, 0xf4, 0xfa, 0x61, 0x89, 0x19, 0x00, 0xeb, 0xe1, 0xd9, 0xee, 0x94, 0xc0, 0xfc, 0xb7, 0xf5, - 0xec, 0x58, 0x8d, 0x79, 0xf4, 0x62, 0xe3, 0x3d, 0x32, 0x86, 0xe3, 0x20, 0xb4, 0xb6, 0xe3, 0x74, - 0x1e, 0x5e, 0x1f, 0x58, 0xcb, 0x6d, 0x94, 0xfa, 0x32, 0xdc, 0x34, 0x34, 0x3c, 0x3a, 0x14, 0x8b, - 0xff, 0x86, 0x4c, 0x56, 0x8b, 0x51, 0xde, 0x86, 0x91, 0xc1, 0x99, 0x67, 0xf2, 0xf6, 0x5c, 0x1b, - 0x9d, 0x69, 0x05, 0x59, 0xf7, 0xee, 0xc2, 0x15, 0xd5, 0x86, 0x02, 0xd5, 0x61, 0xeb, 0x89, 0x7d, - 0x3f, 0x05, 0xbc, 0x9e, 0x8b, 0x86, 0x9b, 0xe2, 0xa5, 0xb1, 0xf4, 0xc5, 0x43, 0xa8, 0x4b, 0x4e, - 0x21, 0x62, 0xa1, 0xdb, 0x86, 0x49, 0xfb, 0x10, 0x90, 0x1e, 0x50, 0xb3, 0x25, 0xbb, 0x24, 0xaa, - 0xdd, 0xf6, 0x5e, 0x80, 0x9e, 0xdb, 0x28, 0x18, 0xad, 0x27, 0xbf, 0x80, 0xcb, 0xfd, 0x05, 0x3f, - 0x10, 0xd6, 0x68, 0xa7, 0x7e, 0x21, 0x8c, 0xd0, 0x32, 0x1b, 0xe5, 0xdf, 0x10, 0x84, 0x52, 0xa6, - 0xbe, 0x12, 0xc1, 0x36, 0x98, 0xd9, 0x13, 0x38, 0xcb, 0x5b, 0x65, 0x08, 0xfb, 0x49, 0xad, 0xa4, - 0xe3, 0x6a, 0x03, 0x80, 0x8a, 0x06, 0x65, 0x70, 0xf1, 0x47, 0x29, 0x38, 0xde, 0x1f, 0xdf, 0xff, - 0x91, 0x11, 0xa2, 0x99, 0x57, 0xd2, 0xb5, 0x8d, 0xba, 0xe8, 0x6e, 0xa2, 0x60, 0xcd, 0x1b, 0xbc, - 0xbf, 0xc4, 0xd6, 0xe9, 0x0b, 0xd5, 0x9e, 0xc4, 0x5e, 0x76, 0xed, 0xa4, 0x8f, 0xcc, 0xfd, 0x8f, - 0xc9, 0xef, 0xcc, 0x39, 0xce, 0x73, 0xd8, 0x44, 0x0a, 0xd8, 0x82, 0x8d, 0x9e, 0x2b, 0x55, 0x7f, - 0xc0, 0x39, 0x28, 0xdc, 0x84, 0x05, 0x1f, 0x5d, 0xb2, 0x96, 0x5b, 0xac, 0x33, 0x7e, 0xe6, 0x48, - 0xa9, 0xd1, 0x2a, 0x3e, 0x11, 0x02, 0x8d, 0x03, 0x15, 0x5a, 0x9c, 0x9c, 0xb5, 0x26, 0x84, 0x1b, - 0x25, 0xff, 0xda, 0x85, 0xd2, 0x8b, 0xcf, 0x2d, 0x75, 0xb8, 0x3c, 0x3e, 0xd9, 0xfb, 0x16, 0x78, - 0xae, 0xf6, 0x81, 0x32, 0xe2, 0x4e, 0x38, 0x0c, 0x44, 0x49, 0x74, 0x09, 0xe4, 0x73, 0x0f, 0xcd, - 0xca, 0x9a, 0x07, 0xb4, 0x16, 0x57, 0xbf, 0x5b, 0xc4, 0xbc, 0xc7, 0x6c, 0x46, 0xeb, 0xfe, 0xf1, - 0x14, 0xd7, 0xc8, 0x59, 0x9e, 0xcb, 0x7f, 0x99, 0x29, 0xd2, 0x20, 0xe7, 0x17, 0x6f, 0x49, 0x94, - 0x3b, 0x8b, 0x90, 0x8e, 0x54, 0xb0, 0xb4, 0x4c, 0x05, 0x69, 0xd0, 0x64, 0xa9, 0x79, 0x25, 0x66, - 0xce, 0x8b, 0xfd, 0x68, 0xdc, 0x2d, 0x64, 0x63, 0x90, 0xef, 0x98, 0x0a, 0x40, 0x88, 0xf3, 0xa5, - 0x35, 0xe1, 0xa6, 0x3f, 0x32, 0xa1, 0xc1, 0x2e, 0xcd, 0x0f, 0xb5, 0x6b, 0x98, 0xbf, 0x39, 0x28, - 0xbb, 0xb2, 0x35, 0x95, 0x79, 0x5d, 0xf6, 0x14, 0x0e, 0x76, 0xd2, 0xc8, 0x03, 0x19, 0x87, 0x7b, - 0x4c, 0x11, 0x32, 0xd9, 0x93, 0xb3, 0x54, 0xaa, 0x2e, 0x89, 0x16, 0x39, 0x81, 0xbf, 0x55, 0xae, - 0xe4, 0x95, 0x2c, 0xa4, 0xdc, 0x77, 0xf0, 0x0a, 0x95, 0x6b, 0x2e, 0xcc, 0xbb, 0xe1, 0x6b, 0xf5, - 0xfd, 0x4d, 0xc8, 0xc4, 0x6c, 0x58, 0x55, 0x8d, 0x54, 0x54, 0xc1, 0x1d, 0x1f, 0x1a, 0xde, 0x75, - 0xbd, 0x11, 0x0b, 0xe8, 0xaa, 0xaa, 0xf5, 0x6e, 0xbd, 0x8f, 0x0b, 0xc1, 0xc4, 0x5b, 0x10, 0xa5, - 0xb3, 0x19, 0x0a, 0x34, 0xec, 0x67, 0x44, 0x7f, 0x18, 0x95, 0x39, 0x4f, 0x10, 0x54, 0x47, 0x3a, - 0xdc, 0x7e, 0xed, 0xb1, 0x57, 0xc4, 0xeb, 0x41, 0x14, 0x23, 0x52, 0xee, 0xf8, 0x59, 0xe3, 0x8c, - 0xdd, 0xd8, 0x37, 0x65, 0x4d, 0x35, 0x61, 0x76, 0x54, 0x37, 0x62, 0xcf, 0x42, 0x06, 0x32, 0xda, - 0x43, 0xb4, 0x5b, 0xff, 0xc7, 0x5e, 0x90, 0x82, 0x14, 0x23, 0xf2, 0x3a, 0xd7, 0x16, 0x1a, 0x4e, - 0x9b, 0xe8, 0x23, 0xf3, 0x56, 0xbf, 0xdc, 0xf5, 0x4b, 0x18, 0x13, 0xff, 0xc6, 0x93, 0x39, 0x90, - 0x5d, 0xe7, 0xd9, 0x7d, 0x85, 0x8e, 0x9f, 0x91, 0x08, 0xc6, 0xd9, 0xdb, 0x29, 0xd7, 0xad, 0x67, - 0xce, 0x7a, 0xbf, 0x1e, 0xe3, 0xec, 0x82, 0x5d, 0x57, 0x75, 0xe9, 0x9c, 0xaa, 0xa8, 0x6d, 0xfa, - 0xb9, 0x59, 0xd7, 0x58, 0x81, 0xd8, 0x23, 0x16, 0x53, 0x27, 0x1a, 0x66, 0x39, 0x66, 0x00, 0xa0, - 0xe0, 0xe4, 0xf5, 0x0e, 0x58, 0x37, 0x3e, 0x08, 0x30, 0x8c, 0x1e, 0x5a, 0xf6, 0xb7, 0xef, 0xa9, - 0x28, 0x07, 0x63, 0xdd, 0xbe, 0xd4, 0xcb, 0xd6, 0x63, 0x17, 0x11, 0x4c, 0x1f, 0x92, 0x5f, 0x52, - 0xdc, 0x2a, 0xd5, 0xa6, 0xd5, 0x05, 0x20, 0x3f, 0x6c, 0xd0, 0xde, 0xc4, 0x59, 0xc6, 0x18, 0xb8, - 0x8d, 0xcf, 0xb2, 0xa8, 0x6a, 0x09, 0x10, 0xaa, 0x9b, 0xac, 0x50, 0x39, 0x40, 0xd0, 0xdd, 0x36, - 0x6e, 0x63, 0xfa, 0x37, 0x4a, 0x9f, 0xf7, 0xaa, 0x0b, 0xd7, 0x6f, 0xc3, 0xc8, 0xfe, 0x88, 0x05, - 0xea, 0xee, 0x26, 0x59, 0x7b, 0xc7, 0x75, 0x8b, 0xc9, 0x9e, 0x1f, 0xb7, 0x73, 0xbf, 0x72, 0x9c, - 0xf1, 0x60, 0x5c, 0x24, 0xa4, 0x3d, 0xcc, 0xea, 0xd6, 0x18, 0x71, 0x42, 0x9f, 0xb1, 0x59, 0x1a, - 0xf3, 0x0f, 0xa1, 0xfd, 0xbe, 0x29, 0x34, 0x6f, 0x0e, 0x46, 0x08, 0x22, 0x64, 0xff, 0x30, 0xd4, - 0x4f, 0x03, 0x9a, 0x05, 0x0f, 0x07, 0x43, 0x42, 0xc6, 0xcd, 0xa3, 0x72, 0x1b, 0x17, 0x1e, 0x0a, - 0x56, 0x61, 0x17, 0x03, 0x5c, 0x02, 0x01, 0xb4, 0x99, 0xad, 0x1d, 0xd6, 0x51, 0xc8, 0x68, 0x2f, - 0x17, 0x21, 0xc4, 0x17, 0xed, 0xe4, 0x4d, 0x0a, 0xbe, 0xe2, 0x3f, 0xf0, 0x78, 0x8d, 0x57, 0x29, - 0x7e, 0x1f, 0x2f, 0x43, 0x00, 0x21, 0x94, 0x5e, 0x8b, 0x10, 0x11, 0x85, 0x1f, 0xde, 0x58, 0xea, - 0x62, 0x6d, 0x45, 0x5f, 0x6e, 0xf5, 0x9d, 0xdd, 0xa3, 0x50, 0xfa, 0x5a, 0xe1, 0x8d, 0x9d, 0x6f, - 0xd4, 0x73, 0xf7, 0xa2, 0x83, 0x0e, 0xaa, 0xa3, 0x1d, 0x3e, 0x0d, 0xdd, 0xf7, 0x90, 0x4b, 0x57, - 0x61, 0xfa, 0xb0, 0xdd, 0xe6, 0x30, 0xad, 0xe2, 0xd8, 0xc2, 0x47, 0x95, 0x78, 0xd7, 0xbe, 0x2e, - 0x6d, 0xae, 0x26, 0x36, 0xa7, 0x76, 0x7c, 0xcb, 0x7b, 0xcb, 0x7d, 0xfc, 0xf5, 0x50, 0xaa, 0x03, - 0x52, 0xdf, 0x8b, 0xd1, 0xbb, 0x28, 0x93, 0x99, 0x3a, 0xf9, 0x26, 0xe4, 0x3b, 0x2e, 0x42, 0x09, - 0x2e, 0x95, 0xfa, 0x7f, 0xf4, 0xf7, 0x5f, 0x87, 0x67, 0x7a, 0x11, 0x3a, 0x5b, 0x4f, 0xaa, 0x2e, - 0x5b, 0xdc, 0x66, 0x04, 0x16, 0x17, 0x59, 0x59, 0xd8, 0xc9, 0x60, 0xf0, 0xfe, 0x0f, 0x46, 0x74, - 0x1e, 0x82, 0x92, 0xcb, 0xde, 0x9d, 0xce, 0x7a, 0xa6, 0x17, 0x3f, 0xf8, 0x32, 0x80, 0x7f, 0x6f, - 0xdf, 0xa9, 0xd2, 0x87, 0x0f, 0xd5, 0x0b, 0x5d, 0x80, 0x07, 0xd6, 0x0d, 0x80, 0x10, 0x42, 0x1a, - 0xa1, 0x42, 0x49, 0x47, 0xbf, 0x49, 0xf6, 0x65, 0x5f, 0xce, 0xba, 0xf1, 0x8e, 0x9a, 0xbc, 0xa1, - 0x3e, 0x66, 0x64, 0x6c, 0xcc, 0x81, 0x37, 0x59, 0x2a, 0xb7, 0xda, 0x6f, 0x90, 0x21, 0x29, 0x13, - 0x57, 0x78, 0x0d, 0x7c, 0x4e, 0x34, 0x71, 0xc7, 0x8e, 0xe4, 0xa9, 0x63, 0x25, 0xf0, 0x2b, 0x62, - 0x6e, 0xfd, 0x5e, 0xb4, 0x95, 0xf2, 0x35, 0x6b, 0x9d, 0xe9, 0xe0, 0x7b, 0x61, 0xab, 0x8d, 0x72, - 0xaa, 0xad, 0x17, 0xcf, 0x67, 0x1c, 0x4a, 0xb7, 0x65, 0x80, 0x06, 0xba, 0x02, 0xb4, 0x79, 0x72, - 0x16, 0x63, 0x0d, 0x28, 0x3b, 0x41, 0x0a, 0xe8, 0xcb, 0xd6, 0x41, 0xfd, 0x89, 0x0d, 0xaf, 0x6e, - 0x82, 0x43, 0xb3, 0x26, 0x5e, 0x1d, 0x92, 0x7a, 0x1e, 0xbd, 0x6f, 0x82, 0xef, 0xfe, 0xa5, 0x4a, - 0xe1, 0x00, 0x80, 0x15, 0x4d, 0xe9, 0xa6, 0xf1, 0x2d, 0x69, 0xc9, 0x6f, 0x98, 0x41, 0x0d, 0x02, - 0x0a, 0x3a, 0x31, 0x5e, 0xc7, 0x87, 0xb6, 0x19, 0x01, 0x71, 0xb2, 0x1a, 0x19, 0xce, 0xc5, 0x36, - 0xd0, 0xcf, 0x74, 0xba, 0xc3, 0xce, 0xd9, 0x6b, 0x84, 0x48, 0x5c, 0xfe, 0x4c, 0x9a, 0xec, 0xc9, - 0xb6, 0x2a, 0x1e, 0xcf, 0x88, 0x59, 0x74, 0x42, 0xb0, 0xfd, 0xae, 0x22, 0x6f, 0x30, 0xcc, 0xed, - 0x87, 0x12, 0x98, 0xe1, 0xb4, 0x0a, 0x81, 0x7c, 0xaa, 0xbf, 0xa5, 0x25, 0xf6, 0xb7, 0xb9, 0xfd, - 0x51, 0x96, 0xe8, 0x2b, 0x52, 0xa1, 0x44, 0xa1, 0xe9, 0x4b, 0xc1, 0x83, 0x11, 0xa2, 0xb7, 0x4e, - 0x1d, 0x5f, 0xff, 0xb1, 0x2d, 0x0c, 0x07, 0x39, 0xc7, 0x3a, 0xbc, 0x04, 0x45, 0x5f, 0x4a, 0x2b, - 0x85, 0x53, 0xb7, 0x66, 0x03, 0x36, 0xeb, 0x44, 0x1d, 0xfe, 0xcd, 0xc4, 0x73, 0x22, 0xc8, 0x6d, - 0xe8, 0xee, 0x5b, 0x57, 0xbd, 0xf4, 0xeb, 0xaf, 0x53, 0xee, 0x81, 0xe3, 0xff, 0xfd, 0x86, 0x11, - 0xad, 0x09, 0xe3, 0xb4, 0x78, 0x8d, 0x44, 0x56, 0xe9, 0xa1, 0xfe, 0x9e, 0x32, 0x35, 0x87, 0x01, - 0x03, 0x17, 0xd8, 0x14, 0x0b, 0xc5, 0x94, 0x41, 0xf8, 0x08, 0x50, 0xc2, 0x43, 0x73, 0xf7, 0x6b, - 0x54, 0xff, 0x57, 0xe5, 0x3b, 0xa3, 0xfd, 0xba, 0xb6, 0xd8, 0x59, 0xde, 0x5d, 0x1a, 0xa6, 0x4f, - 0x02, 0xfd, 0x5a, 0xed, 0x4e, 0xb9, 0x8b, 0x32, 0xdf, 0x86, 0xdf, 0x00, 0xb7, 0xb3, 0x3c, 0x7f, - 0x4d, 0x6e, 0x11, 0x79, 0x88, 0xc8, 0x0b, 0x4b, 0xbd, 0x6a, 0x09, 0x09, 0x5c, 0xbe, 0xf7, 0x69, - 0x78, 0x55, 0x8d, 0xa4, 0xaf, 0x80, 0x9a, 0x1d, 0x0e, 0x33, 0x48, 0xf4, 0xfc, 0x11, 0x46, 0xd7, - 0x99, 0x50, 0xa2, 0xb2, 0x88, 0xcb, 0x3a, 0x43, 0xc6, 0x46, 0x84, 0x86, 0xb6, 0xb5, 0x99, 0xc4, - 0x2f, 0x77, 0xec, 0x82, 0x65, 0x6c, 0x90, 0x3c, 0x84, 0xf5, 0x95, 0xfc, 0x05, 0xb6, 0x75, 0x5d, - 0x75, 0x45, 0xbe, 0xa5, 0x3c, 0xec, 0xfd, 0x36, 0x32, 0x1c, 0xab, 0x75, 0xda, 0x48, 0x75, 0x11, - 0xaa, 0xd3, 0xce, 0x06, 0x92, 0xff, 0x65, 0xf1, 0x7e, 0x93, 0xf6, 0x4d, 0xe2, 0xa2, 0x1f, 0x31, - 0x9d, 0xe5, 0xc3, 0x3e, 0xdc, 0x55, 0x6c, 0xa6, 0xea, 0xcb, 0xe2, 0x89, 0x1b, 0x87, 0x82, 0xa8, - 0xe5, 0xed, 0x71, 0x4b, 0x9d, 0xec, 0x26, 0x71, 0x10, 0x8b, 0xe1, 0xe9, 0x3a, 0x50, 0xf0, 0x01, - 0xc3, 0x60, 0x71, 0x68, 0xb2, 0x56, 0x86, 0x8a, 0xe2, 0x42, 0x4c, 0xa1, 0x96, 0xb9, 0x18, 0xfd, - 0x2a, 0x40, 0x22, 0x7b, 0xa2, 0x54, 0xbf, 0x5c, 0xcf, 0x76, 0x29, 0xaa, 0x8a, 0xda, 0x0f, 0x47, - 0x42, 0xbe, 0xf7, 0xb8, 0x85, 0xd4, 0xcb, 0xc5, 0x7d, 0x75, 0x71, 0x94, 0x8e, 0xcf, 0xdb, 0x86, - 0x83, 0x7b, 0xad, 0x03, 0x34, 0x68, 0x2e, 0x9e, 0xf5, 0x93, 0x52, 0x27, 0x4b, 0xf4, 0x44, 0x67, - 0xa0, 0xec, 0x3d, 0xd8, 0xbd, 0x1c, 0xb9, 0xa7, 0x57, 0x1f, 0xea, 0x75, 0x71, 0xcd, 0xcb, 0x0d, - 0x4b, 0x4c, 0xb3, 0xba, 0x65, 0x16, 0x40, 0x7e, 0xf3, 0x39, 0xfc, 0xa2, 0x82, 0x13, 0x91, 0x74, - 0x9d, 0xde, 0xc3, 0xf6, 0x67, 0x3a, 0x64, 0x5d, 0xeb, 0x78, 0x61, 0x7d, 0xb5, 0xbb, 0x48, 0xe6, - 0x71, 0x61, 0xa8, 0x22, 0x1e, 0xe5, 0x18, 0xd7, 0x75, 0x7d, 0x80, 0xee, 0x63, 0x03, 0xe3, 0xe5, - 0xa7, 0xe3, 0x8e, 0x5e, 0xef, 0x85, 0x8e, 0x6f, 0xf9, 0x8f, 0xfa, 0x32, 0x73, 0xbe, 0xe6, 0xb5, - 0x1c, 0x42, 0x46, 0x58, 0x31, 0x30, 0xc9, 0x2c, 0x57, 0xea, 0xf4, 0x36, 0x46, 0x89, 0x80, 0xe3, - 0x2d, 0x6a, 0x73, 0xb8, 0xab, 0x6c, 0x8f, 0x02, 0x40, 0x07, 0xfc, 0x68, 0xa2, 0x63, 0x96, 0xd6, - 0x96, 0x05, 0xee, 0x47, 0x57, 0x51, 0xf2, 0x16, 0xd8, 0xdd, 0xd1, 0x89, 0xb8, 0x30, 0x83, 0x99, - 0x96, 0xb0, 0xbf, 0x42, 0xae, 0x64, 0x25, 0x16, 0x3f, 0x83, 0x3e, 0xef, 0xfc, 0xe7, 0x67, 0xad, - 0x62, 0xb3, 0x57, 0x94, 0x5d, 0x91, 0xa3, 0x66, 0x7d, 0x5e, 0xfc, 0xc6, 0x7f, 0xba, 0xd1, 0x5d, - 0xa1, 0x2d, 0x26, 0xd8, 0x40, 0xf3, 0x6d, 0xcd, 0x65, 0x98, 0x14, 0x45, 0x81, 0xe2, 0xee, 0x3d, - 0xa6, 0xbe, 0x69, 0x9e, 0x97, 0xa1, 0xb6, 0x2b, 0x79, 0x18, 0x22, 0x72, 0x4f, 0xc7, 0xc3, 0xc6, - 0x45, 0x62, 0xe7, 0xdd, 0x19, 0xe8, 0xeb, 0xc7, 0x8e, 0x1d, 0x9b, 0x3a, 0x6d, 0x83, 0xb4, 0xa2, - 0x7c, 0x37, 0x05, 0x88, 0x81, 0x84, 0xd6, 0x69, 0xc2, 0x07, 0x84, 0x0d, 0xc4, 0x4d, 0x6d, 0x41, - 0xeb, 0x75, 0x37, 0x6a, 0x09, 0x97, 0xe7, 0xcf, 0xf1, 0x3f, 0xb5, 0x0e, 0xe8, 0x64, 0xec, 0x80, - 0xac, 0x9b, 0x1e, 0xb3, 0xe0, 0x06, 0x1b, 0xf7, 0xd3, 0x33, 0x16, 0xb7, 0x50, 0xf9, 0x8d, 0x89, - 0x63, 0xbe, 0xe6, 0xe9, 0x1b, 0x35, 0x67, 0xfd, 0xd6, 0xc8, 0xaa, 0x93, 0x84, 0xeb, 0x53, 0x55, - 0x1c, 0xaa, 0x74, 0xa5, 0x3b, 0xcf, 0x17, 0xf2, 0x07, 0xf7, 0x42, 0xff, 0x13, 0xdc, 0x84, 0x22, - 0x1a, 0x82, 0x32, 0x09, 0xff, 0x79, 0xab, 0x0c, 0x44, 0x97, 0x04, 0x91, 0x27, 0x16, 0xd4, 0x13, - 0x70, 0xb3, 0x2b, 0x0d, 0x5b, 0x4b, 0x2a, 0x77, 0xa8, 0x59, 0x69, 0x87, 0x7a, 0x96, 0xd1, 0x82, - 0xcd, 0x18, 0x9f, 0xa7, 0x75, 0xb4, 0x56, 0x27, 0xf7, 0xb7, 0xab, 0x0e, 0x64, 0xeb, 0xda, 0x16, - 0xb1, 0x15, 0x60, 0x1c, 0x76, 0xd7, 0xf5, 0x0e, 0xa7, 0x72, 0x60, 0xae, 0xd6, 0x51, 0x91, 0xbd, - 0xea, 0x47, 0x27, 0x0f, 0xc2, 0xc5, 0x25, 0x62, 0xc0, 0xd5, 0x2c, 0xd6, 0x72, 0x8a, 0x97, 0x45, - 0xd9, 0x29, 0xc7, 0x77, 0x5d, 0x5d, 0xfb, 0xe1, 0x73, 0xfa, 0x8c, 0x98, 0xf3, 0x95, 0x96, 0x01, - 0x0c, 0xda, 0x14, 0xe7, 0x73, 0xea, 0x70, 0xef, 0x9c, 0x64, 0xec, 0x9d, 0x18, 0xa8, 0xd5, 0x2c, - 0xf1, 0xf9, 0x5b, 0xbb, 0x2f, 0x4c, 0x66, 0x4e, 0xb7, 0x68, 0x36, 0x35, 0x5e, 0xa1, 0x09, 0x4c, - 0x91, 0xd3, 0x10, 0xb0, 0xa7, 0xe0, 0x96, 0xec, 0xa7, 0x01, 0x0a, 0xb5, 0x8c, 0x32, 0x69, 0xed, - 0x41, 0xae, 0xd7, 0x8e, 0x09, 0x44, 0x19, 0xf8, 0xe6, 0x83, 0x0e, 0xcf, 0x09, 0x2f, 0xcd, 0xde, - 0xc1, 0xff, 0x84, 0x79, 0x3c, 0x37, 0xd0, 0x53, 0xa4, 0x27, 0xb5, 0xd8, 0xd9, 0xb5, 0x35, 0x05, - 0xd8, 0x03, 0x99, 0x4e, 0x86, 0x92, 0xf3, 0xed, 0x62, 0x19, 0x62, 0x7a, 0x13, 0xd2, 0x2e, 0x51, - 0xa3, 0x03, 0x16, 0xaf, 0x0b, 0xe4, 0x50, 0xfe, 0xfe, 0x16, 0x2a, 0x1a, 0x97, 0xd0, 0xc0, 0x65, - 0xf9, 0x23, 0x4d, 0x25, 0xc8, 0xa3, 0xd6, 0x78, 0x6a, 0x45, 0x6f, 0x41, 0xa3, 0x6b, 0x4c, 0xdf, - 0xf3, 0xb0, 0xef, 0x2f, 0x50, 0x32, 0x86, 0x73, 0x3b, 0x2e, 0x75, 0xb9, 0x71, 0x9f, 0xb0, 0x30, - 0xd8, 0x1a, 0x88, 0xf1, 0x95, 0x58, 0x99, 0x01, 0xc1, 0x64, 0x1c, 0xd9, 0xfb, 0x48, 0x2a, 0x8a, - 0x22, 0x2f, 0x0a, 0xfd, 0x78, 0xce, 0x7a, 0xdf, 0x82, 0x0f, 0x4b, 0x54, 0x9c, 0x4e, 0xec, 0x83, - 0x99, 0x53, 0x4d, 0x71, 0x9f, 0x26, 0x36, 0xcf, 0xed, 0x37, 0xe4, 0xc3, 0x19, 0xdc, 0x96, 0x02, - 0xc0, 0x66, 0x22, 0xbb, 0xeb, 0xb2, 0x47, 0xa7, 0x5b, 0xac, 0x43, 0x85, 0xf4, 0xa1, 0xc2, 0x45, - 0x28, 0x12, 0xab, 0x4f, 0x24, 0x5d, 0xa5, 0x7d, 0x22, 0xd2, 0xce, 0x0d, 0xae, 0x03, 0xf9, 0x6a, - 0xdf, 0xbf, 0x37, 0x8b, 0xf7, 0xa6, 0x64, 0x23, 0xa9, 0x2b, 0x19, 0x06, 0x28, 0x43, 0x37, 0xc3, - 0x42, 0xaf, 0x6d, 0xf6, 0xa2, 0x3f, 0x8e, 0x6a, 0xbd, 0xae, 0x51, 0x9f, 0xe9, 0x6a, 0x70, 0x8b, - 0xa1, 0xba, 0x4c, 0xb2, 0x5e, 0xe5, 0xf3, 0x8e, 0x98, 0x2e, 0xfb, 0x34, 0x4a, 0x5a, 0x08, 0x45, - 0xf0, 0x48, 0x2c, 0xc4, 0x3d, 0x5d, 0xf2, 0x56, 0x82, 0x04, 0x4f, 0x9b, 0xb0, 0x3e, 0x28, 0xa5, - 0x07, 0x38, 0xf8, 0x7e, 0x97, 0xc0, 0x95, 0x5d, 0xc4, 0x3a, 0x06, 0xf8, 0x77, 0xd4, 0x58, 0x6e, - 0x71, 0x9d, 0x6a, 0x8d, 0x4a, 0xb5, 0xaf, 0x15, 0x8f, 0xb3, 0xeb, 0x84, 0xfe, 0xa6, 0x75, 0x16, - 0xa1, 0x9d, 0x41, 0x00, 0x64, 0x87, 0x4f, 0x92, 0x5b, 0x0c, 0xf6, 0xf7, 0x7c, 0x30, 0x3c, 0x65, - 0x6f, 0x2b, 0xe1, 0x1e, 0x89, 0xec, 0x37, 0x0d, 0xa2, 0x7f, 0x66, 0x8e, 0x45, 0x2d, 0x8c, 0x3f, - 0x3e, 0x04, 0x92, 0x09, 0x6f, 0x07, 0x1e, 0xc6, 0x92, 0x6d, 0x2f, 0xab, 0xa5, 0xc0, 0x6f, 0x02, - 0x43, 0x0d, 0xbb, 0xc5, 0xd4, 0x4e, 0x13, 0xb8, 0x5f, 0x4c, 0x46, 0x37, 0x7b, 0x5e, 0x48, 0xb8, - 0x6e, 0xb4, 0x37, 0xe9, 0xcd, 0xf3, 0x7a, 0x25, 0x1b, 0x39, 0xf2, 0xa1, 0xc6, 0x4f, 0x16, 0x0d, - 0x32, 0xa5, 0x6d, 0x56, 0x67, 0x58, 0x25, 0xa2, 0xaa, 0x85, 0x1c, 0x06, 0xef, 0x6b, 0xa1, 0xc8, - 0x52, 0x28, 0xc6, 0x65, 0x4d, 0xd0, 0x70, 0xef, 0xcc, 0x42, 0xf4, 0xb9, 0xb3, 0xb3, 0x2a, 0xf5, - 0xc1, 0x66, 0x5d, 0x05, 0xa0, 0xcf, 0xed, 0x98, 0x36, 0x58, 0x5c, 0xc5, 0xde, 0xa7, 0x14, 0x56, - 0x6d, 0x43, 0xf8, 0xaa, 0x4c, 0xd2, 0xdf, 0xb3, 0x27, 0x67, 0x40, 0x43, 0xb8, 0x32, 0x5c, 0xb9, - 0xa4, 0xe6, 0x8e, 0x4d, 0x80, 0xf1, 0xfa, 0x4e, 0x50, 0x60, 0xdc, 0x5b, 0x28, 0x44, 0x5b, 0xe1, - 0x75, 0x5a, 0x12, 0x35, 0x24, 0x55, 0x55, 0x69, 0x70, 0x68, 0xa1, 0xa3, 0x68, 0x8f, 0xaf, 0xee, - 0x25, 0x33, 0xef, 0x70, 0x92, 0x91, 0xe2, 0x23, 0xc0, 0x07, 0x60, 0x9c, 0xea, 0xc4, 0x47, 0x8a, - 0x0d, 0x8c, 0x1a, 0x06, 0x18, 0x28, 0x85, 0x34, 0xea, 0x69, 0x89, 0xb8, 0x4e, 0xb1, 0x5f, 0x3c, - 0x1f, 0x0c, 0x50, 0xef, 0x7e, 0x44, 0xaa, 0x09, 0x54, 0xa7, 0xd1, 0x1c, 0xdf, 0x43, 0xc2, 0x3c, - 0xd8, 0x38, 0x2a, 0x63, 0xc0, 0xfe, 0xf0, 0xd0, 0x27, 0x24, 0xd7, 0xd3, 0xc8, 0x6f, 0xb6, 0x76, - 0x22, 0x9e, 0xe2, 0xe8, 0x5e, 0xe2, 0x01, 0x1f, 0xbc, 0xc1, 0xa2, 0x7d, 0xd3, 0xfc, 0xe4, 0x34, - 0x1a, 0x1a, 0x50, 0x93, 0x53, 0x30, 0xe0, 0x50, 0x2f, 0x6f, 0x3e, 0xb5, 0xcf, 0xd4, 0x8f, 0xd6, - 0x87, 0x71, 0x3f, 0xab, 0xb0, 0x30, 0x83, 0x4d, 0x07, 0x9e, 0xe4, 0x2f, 0x86, 0x46, 0x48, 0x31, - 0x9a, 0x2e, 0xf8, 0x8b, 0xb7, 0xbf, 0xb0, 0x5d, 0xf3, 0xf6, 0x8b, 0xa7, 0x40, 0x05, 0x4f, 0xbe, - 0xf7, 0x8c, 0x20, 0xc6, 0xac, 0x8c, 0x37, 0x62, 0xe5, 0x17, 0x52, 0xd5, 0xab, 0x37, 0xa0, 0xb0, - 0x0c, 0x2c, 0x5d, 0x92, 0x6a, 0x79, 0xa6, 0x2d, 0x4f, 0xde, 0xa9, 0x87, 0xe3, 0xde, 0x7e, 0xaf, - 0x17, 0x76, 0x3a, 0x43, 0xe9, 0x44, 0xb5, 0x3c, 0x4e, 0xf5, 0x9b, 0x8f, 0x60, 0x96, 0x6e, 0xf8, - 0x61, 0x7a, 0xa5, 0x83, 0x41, 0x06, 0x0c, 0xaf, 0xec, 0x7f, 0x00, 0xe3, 0x74, 0x29, 0x69, 0xd5, - 0x26, 0xc7, 0x36, 0xc2, 0x26, 0x4e, 0xef, 0x24, 0xbb, 0x22, 0xe0, 0xd9, 0x6d, 0x91, 0x3b, 0xa1, - 0xd0, 0x1e, 0xf5, 0xff, 0x57, 0x66, 0x15, 0x68, 0x73, 0xe2, 0xbf, 0x05, 0x6a, 0xda, 0xd5, 0x0b, - 0xbc, 0x68, 0x9a, 0x2e, 0x25, 0x10, 0x8f, 0x3a, 0xa3, 0xfd, 0xe1, 0xd3, 0x7b, 0xdd, 0x29, 0xbc, - 0x0e, 0xfa, 0x01, 0x15, 0x84, 0x48, 0xcc, 0x0e, 0xf0, 0xa3, 0xc1, 0xee, 0xd0, 0x23, 0x98, 0x36, - 0x80, 0x5b, 0x0c, 0xd8, 0xdf, 0xfc, 0x55, 0x72, 0x09, 0x99, 0x5a, 0x97, 0xe3, 0xc7, 0x89, 0xdc, - 0x6f, 0xbf, 0xa2, 0xd7, 0x9c, 0xa4, 0xb7, 0x36, 0x3e, 0x72, 0x09, 0x89, 0x61, 0xb9, 0x27, 0x45, - 0x78, 0xe7, 0x3d, 0xa8, 0xff, 0x08, 0x36, 0x08, 0x3d, 0x43, 0x53, 0x30, 0x83, 0x24, 0x63, 0x39, - 0x7f, 0x3f, 0x40, 0x0d, 0x31, 0xc5, 0x3c, 0xf0, 0x31, 0x91, 0x6f, 0x6c, 0x98, 0x53, 0x33, 0xb3, - 0x37, 0x3d, 0x5e, 0xf6, 0x88, 0xf5, 0xbd, 0x9b, 0xb9, 0xe3, 0x2c, 0xb2, 0xd0, 0x1c, 0xfc, 0x43, - 0x70, 0x49, 0x81, 0x4d, 0x06, 0x70, 0xe4, 0xc8, 0x3f, 0x23, 0x62, 0x98, 0x84, 0x83, 0xb9, 0x86, - 0xa0, 0xf9, 0x5c, 0x41, 0x2e, 0x37, 0xe4, 0x51, 0x92, 0x6a, 0xf7, 0x0d, 0x60, 0xdc, 0x59, 0xaf, - 0x5e, 0x20, 0x41, 0x67, 0x45, 0x00, 0x53, 0x68, 0x1f, 0xbe, 0x92, 0x81, 0xb4, 0x84, 0xf7, 0x1c, - 0x6b, 0x40, 0x47, 0x9a, 0xbe, 0x3a, 0xc3, 0xcd, 0xda, 0x6c, 0xfd, 0x26, 0x1d, 0xc3, 0x28, 0xa0, - 0xda, 0xd8, 0xed, 0xbe, 0xca, 0xa6, 0x82, 0xe0, 0x35, 0x7f, 0x9a, 0x74, 0xab, 0xb9, 0xf4, 0xbd, - 0xd2, 0x9f, 0x82, 0x91, 0x87, 0x2d, 0xb7, 0x47, 0x77, 0xa9, 0x42, 0xc3, 0x98, 0x3f, 0x99, 0xab, - 0xc0, 0x05, 0xd2, 0xab, 0x4a, 0xdc, 0xb6, 0xc5, 0xcd, 0xd9, 0xf0, 0xe4, 0x54, 0x64, 0xa2, 0x22, - 0xd2, 0xb5, 0x5e, 0x95, 0xb4, 0x46, 0x5f, 0xa9, 0x46, 0xa7, 0x59, 0x4b, 0x3b, 0x0d, 0x46, 0x97, - 0x97, 0x29, 0x9c, 0x84, 0xb6, 0x84, 0xeb, 0xdc, 0x19, 0xaf, 0x18, 0xe2, 0xba, 0x9d, 0x53, 0x07, - 0xe2, 0xdd, 0x05, 0x3b, 0x78, 0xd4, 0x11, 0x52, 0x27, 0x39, 0x49, 0x15, 0xae, 0x50, 0x01, 0xe5, - 0xe8, 0x7c, 0x83, 0xb5, 0xe9, 0x2a, 0xc9, 0xdd, 0x28, 0x9b, 0x10, 0x63, 0xe7, 0xf9, 0x71, 0x1b, - 0xfa, 0x95, 0xef, 0xcb, 0xd9, 0x0b, 0x61, 0x6f, 0x48, 0x87, 0x14, 0x38, 0xdf, 0x7c, 0xcc, 0x61, - 0xf3, 0x88, 0xbd, 0xd0, 0xf7, 0x47, 0x99, 0xbc, 0x29, 0x75, 0xa2, 0x9f, 0x91, 0xac, 0xd0, 0xc2, - 0xb3, 0x82, 0x71, 0x7e, 0x25, 0x19, 0xb5, 0xaa, 0xf0, 0x0d, 0x93, 0xb5, 0x89, 0xeb, 0x23, 0x1e, - 0xd0, 0x3f, 0x46, 0x6a, 0x2d, 0x7e, 0xf5, 0x32, 0x9a, 0x07, 0xca, 0x0e, 0x5c, 0xa9, 0xe6, 0xdc, - 0x3f, 0x5e, 0xb4, 0x18, 0xed, 0x4d, 0xee, 0xdc, 0xd4, 0x37, 0xc0, 0x10, 0x17, 0xbf, 0xb2, 0x28, - 0xbe, 0xfc, 0x11, 0x16, 0x46, 0x89, 0x84, 0xa0, 0xed, 0x1f, 0x9d, 0xca, 0x38, 0xe8, 0x56, 0x81, - 0xf0, 0xb6, 0xf1, 0x25, 0x7b, 0x1d, 0xd0, 0xf5, 0x7f, 0xb4, 0xf1, 0x8f, 0x79, 0x24, 0xb5, 0xd9, - 0xf9, 0x5d, 0xc6, 0x4f, 0x50, 0x6e, 0x54, 0x6d, 0xa5, 0x44, 0x6a, 0xb3, 0x74, 0x15, 0x6b, 0x9d, - 0x2e, 0x08, 0xef, 0x96, 0xae, 0xb8, 0x51, 0xc9, 0xf3, 0xc3, 0xfc, 0x91, 0xef, 0x21, 0x88, 0x7b, - 0x5e, 0xa8, 0x2b, 0x84, 0x86, 0xf8, 0x9c, 0xaa, 0x0f, 0x50, 0xe9, 0xbf, 0x1d, 0xaf, 0x26, 0x74, - 0xf8, 0xfe, 0x53, 0xa4, 0x93, 0x5d, 0xfb, 0xb5, 0x0a, 0x2c, 0x2c, 0x58, 0xde, 0x26, 0x3b, 0x2f, - 0xe1, 0x85, 0xa6, 0x7a, 0x77, 0x76, 0x21, 0x86, 0x90, 0x91, 0x04, 0x82, 0xc6, 0x3e, 0x6d, 0x0b, - 0x1b, 0x27, 0x3c, 0x8d, 0x27, 0x33, 0xac, 0xb2, 0xc1, 0xf7, 0x73, 0x7a, 0x7d, 0x01, 0x0f, 0xde, - 0x08, 0xfb, 0x89, 0x93, 0xfd, 0x3a, 0x81, 0x0b, 0xfd, 0x3c, 0xcd, 0x39, 0xfb, 0x0f, 0x97, 0x93, - 0x86, 0xb9, 0x5d, 0x70, 0xc4, 0xb7, 0xd3, 0x8f, 0x66, 0x66, 0x81, 0x91, 0x1b, 0x18, 0x78, 0xbe, - 0xb8, 0xda, 0xc5, 0x73, 0x33, 0x0e, 0x9a, 0xd5, 0x6a, 0x5b, 0x6a, 0xed, 0x5e, 0xa9, 0x27, 0x30, - 0xe1, 0xa4, 0xda, 0x50, 0xb8, 0x1f, 0x01, 0xd0, 0x0b, 0x2e, 0xe4, 0x9d, 0x34, 0xec, 0xf6, 0xce, - 0xc8, 0x60, 0x9a, 0x8a, 0x9f, 0x0d, 0xa8, 0x2e, 0xbf, 0x2b, 0x11, 0xe1, 0x2c, 0x63, 0xad, 0x08, - 0xd3, 0xbb, 0x60, 0x94, 0xa8, 0x45, 0x08, 0xe1, 0x66, 0xe5, 0x15, 0x4d, 0x11, 0x1b, 0xfd, 0xae, - 0x66, 0xa9, 0xf8, 0x09, 0xc7, 0xac, 0x9e, 0xd0, 0x1e, 0xa3, 0x4d, 0x82, 0x93, 0x02, 0x58, 0xb2, - 0x06, 0xfe, 0x2a, 0xf3, 0x1b, 0x93, 0xcc, 0xaf, 0x53, 0x35, 0x3b, 0x7f, 0x02, 0x7e, 0xc4, 0xf8, - 0xd9, 0xfa, 0xa1, 0xa7, 0xb0, 0x1b, 0x1b, 0x04, 0x33, 0x72, 0xde, 0x37, 0x90, 0x37, 0xbe, 0xe5, - 0xc8, 0x2e, 0x6e, 0x76, 0x80, 0xf8, 0xdd, 0x21, 0x77, 0xa1, 0xdb, 0x57, 0xc2, 0xf1, 0x9a, 0xa9, - 0x29, 0x37, 0xbb, 0x99, 0xaf, 0x0f, 0x93, 0xce, 0x4f, 0x3e, 0x2f, 0x0c, 0xfe, 0x78, 0x39, 0xb3, - 0x53, 0x96, 0xad, 0xc4, 0xc6, 0x5f, 0x12, 0xb0, 0x23, 0xfb, 0x6b, 0x64, 0x88, 0xd5, 0xc3, 0xa4, - 0xcb, 0x3c, 0x77, 0x47, 0xa1, 0xaf, 0xeb, 0xb8, 0x66, 0x08, 0xb0, 0xce, 0x00, 0x7e, 0x71, 0xbe, - 0x46, 0xa6, 0xb9, 0xa5, 0x01, 0x98, 0xff, 0x25, 0x54, 0xba, 0x98, 0xe0, 0xe5, 0xba, 0xa6, 0x85, - 0x32, 0xd4, 0x06, 0xd2, 0x06, 0xba, 0xe0, 0xe6, 0x50, 0xee, 0x61, 0x8d, 0x3d, 0xf8, 0xd1, 0x7f, - 0xf0, 0xb3, 0x18, 0x2a, 0xb5, 0xa8, 0x51, 0xf2, 0xd6, 0x45, 0x81, 0x1e, 0xb4, 0xc0, 0x55, 0x84, - 0x70, 0x8b, 0xbf, 0x41, 0x2b, 0x6c, 0x05, 0x81, 0x77, 0x73, 0xfe, 0x63, 0x90, 0xad, 0x0f, 0xca, - 0x8d, 0x14, 0x4f, 0xc7, 0xbf, 0x99, 0x6e, 0x69, 0xdd, 0xfa, 0x5a, 0xa5, 0x9a, 0x5e, 0xf4, 0xe5, - 0x8c, 0x9f, 0x61, 0x22, 0xb9, 0x46, 0xa1, 0xe1, 0xf6, 0x72, 0x87, 0x9d, 0x0b, 0x2a, 0x09, 0xa9, - 0xbb, 0xf3, 0xc6, 0x7f, 0x7f, 0x7e, 0x22, 0x30, 0x6b, 0x43, 0x69, 0xa6, 0x53, 0xf9, 0x42, 0x75, - 0x70, 0xbe, 0x7d, 0xa0, 0x11, 0x2a, 0x12, 0xa7, 0xfc, 0xa2, 0xe8, 0x9b, 0x57, 0x30, 0xc2, 0xaa, - 0x10, 0xcd, 0x13, 0xc7, 0xbb, 0x37, 0xd8, 0xfd, 0xcb, 0xd4, 0x4d, 0x50, 0x2a, 0xc2, 0x74, 0x52, - 0xc3, 0xab, 0xf4, 0x37, 0xf0, 0x8a, 0x5c, 0x78, 0x5e, 0xdc, 0x2a, 0x6e, 0xe3, 0x9c, 0xec, 0x10, - 0x93, 0x21, 0x37, 0x8b, 0xb6, 0xbc, 0x40, 0x8a, 0x60, 0xe9, 0x5f, 0x4c, 0x7e, 0xfc, 0x05, 0x37, - 0xc5, 0x49, 0x6f, 0x5d, 0x6f, 0xd8, 0xdf, 0xbc, 0x1c, 0xc3, 0x34, 0xe6, 0xf4, 0xf1, 0x68, 0xe5, - 0x62, 0x6d, 0x83, 0x06, 0x89, 0x10, 0xdf, 0x53, 0xb2, 0xe5, 0x1a, 0x62, 0x4a, 0xfe, 0x0d, 0x62, - 0x91, 0x46, 0x8b, 0x8c, 0x02, 0xa2, 0x2f, 0x54, 0xb3, 0xe6, 0xe3, 0x64, 0x00, 0x87, 0x39, 0x04, - 0xb2, 0x3c, 0x47, 0x4f, 0xd7, 0xd2, 0x95, 0xbd, 0x08, 0x53, 0xe5, 0xcd, 0x28, 0x26, 0xf2, 0x68, - 0x8b, 0xcb, 0xdd, 0x24, 0x9c, 0xaa, 0xdc, 0xff, 0xe6, 0xf8, 0x8b, 0x16, 0xaa, 0x32, 0x0d, 0xd1, - 0xc9, 0x3a, 0xb2, 0x97, 0x38, 0x21, 0xb3, 0x40, 0x13, 0x74, 0x5b, 0xda, 0xe8, 0xf0, 0x27, 0xad, - 0xf1, 0xc3, 0x2f, 0xdb, 0xe8, 0x55, 0x8c, 0x04, 0x1b, 0x90, 0xdb, 0x11, 0xac, 0xc7, 0x0d, 0xc8, - 0x65, 0x82, 0x51, 0x12, 0x2d, 0x68, 0x2c, 0x29, 0x62, 0x08, 0xfc, 0x53, 0x0b, 0x35, 0x7c, 0xd3, - 0xf4, 0xdc, 0x65, 0x49, 0x25, 0xa9, 0x9d, 0x9b, 0x9a, 0xfd, 0xde, 0xd5, 0xea, 0xa0, 0x86, 0x7b, - 0x80, 0x7e, 0x69, 0x15, 0x26, 0x28, 0xac, 0xcc, 0x6f, 0xfa, 0x44, 0xb9, 0xc2, 0x2d, 0x5b, 0xc9, - 0x11, 0x3e, 0xc7, 0xef, 0x80, 0x28, 0xe7, 0x23, 0x57, 0x47, 0x22, 0xd2, 0xa7, 0x99, 0x7f, 0x22, - 0xb3, 0x7f, 0x1e, 0x49, 0xe1, 0x4e, 0x41, 0xfb, 0xbc, 0x4f, 0x35, 0xdc, 0x61, 0xd1, 0x55, 0x9b, - 0xf7, 0xba, 0xec, 0x58, 0xb8, 0x3a, 0x5d, 0xbe, 0xae, 0xd3, 0x34, 0x52, 0x63, 0xe3, 0x75, 0x67, - 0xa6, 0x2f, 0x98, 0xbc, 0xc7, 0xb8, 0x39, 0xde, 0x5c, 0x17, 0x2d, 0x8d, 0xbd, 0xad, 0xd4, 0x7f, - 0x57, 0x70, 0x46, 0xc0, 0x6b, 0x09, 0x40, 0x5b, 0x19, 0x25, 0x51, 0xe5, 0x05, 0x3a, 0xc5, 0x9d, - 0x30, 0xcf, 0xa3, 0xe7, 0x5c, 0x6b, 0x0f, 0x68, 0xe2, 0xc5, 0xe7, 0xd6, 0x80, 0x0c, 0x2d, 0x75, - 0x55, 0x58, 0x70, 0x6b, 0x49, 0xf4, 0xde, 0x0a, 0x8e, 0x34, 0x46, 0x92, 0xa5, 0xdf, 0xf2, 0x2e, - 0xd9, 0x35, 0xb7, 0xf4, 0x75, 0xce, 0xee, 0xad, 0x72, 0x84, 0xbe, 0x82, 0x99, 0x58, 0xdd, 0xa8, - 0x39, 0xf8, 0x88, 0xcf, 0xc2, 0xe0, 0xc6, 0x98, 0x04, 0xe7, 0x35, 0x38, 0x9c, 0xbd, 0xed, 0xc6, - 0x04, 0xbd, 0xd9, 0x12, 0xc8, 0x2f, 0x20, 0xf0, 0x27, 0x6a, 0xb5, 0xa6, 0x6f, 0xc7, 0xd2, 0xa5, - 0x64, 0xb5, 0xaf, 0xd4, 0xe0, 0x6f, 0x87, 0x74, 0x23, 0xc3, 0xb7, 0x31, 0x20, 0x89, 0xaa, 0xea, - 0x6b, 0x81, 0xa7, 0x59, 0xab, 0x67, 0x72, 0x9f, 0xc8, 0x37, 0xd9, 0x5b, 0xbb, 0x0e, 0x5a, 0x75, - 0x8f, 0x61, 0x12, 0xc5, 0x5b, 0xd8, 0x5d, 0x3c, 0xcc, 0x94, 0xea, 0x38, 0xcd, 0x37, 0xa3, 0xdf, - 0x18, 0x9c, 0x81, 0x30, 0x73, 0xda, 0x59, 0xe9, 0x4f, 0xb4, 0x97, 0xc7, 0x1d, 0xd8, 0x3c, 0x48, - 0xbf, 0xc9, 0x00, 0xa0, 0x64, 0x7d, 0x81, 0x54, 0x2b, 0xb1, 0x4f, 0x20, 0x4d, 0xdb, 0xba, 0x6e, - 0x32, 0xc6, 0xd3, 0xcb, 0x53, 0xfa, 0x42, 0x1a, 0x36, 0x74, 0x83, 0xd0, 0xcd, 0x3a, 0xf5, 0x3e, - 0x53, 0x70, 0x06, 0x22, 0x01, 0xae, 0x05, 0x1e, 0xd8, 0x3c, 0x5c, 0x32, 0xbe, 0xdf, 0xa9, 0xbb, - 0x4c, 0xd2, 0x4f, 0x66, 0x2b, 0x99, 0xcb, 0xc0, 0x7c, 0x21, 0x18, 0xf1, 0xd4, 0x6e, 0xa4, 0xe3, - 0x0a, 0x95, 0xf3, 0xfb, 0x6a, 0xce, 0xb8, 0xe4, 0xdb, 0x59, 0x34, 0xdf, 0xd2, 0x7c, 0xe1, 0xbd, - 0xc0, 0xfc, 0x7a, 0x82, 0x09, 0x0f, 0x5d, 0x96, 0x7a, 0x8f, 0x33, 0x00, 0xea, 0x60, 0xae, 0x1d, - 0xc9, 0xe1, 0xc5, 0x1e, 0x98, 0x56, 0xf9, 0x16, 0x6f, 0xcb, 0x7e, 0x9f, 0x85, 0x35, 0x6a, 0x91, - 0x47, 0x14, 0xb6, 0xcc, 0xf6, 0x25, 0x1a, 0x3d, 0xf2, 0x6e, 0x0d, 0x3b, 0x39, 0x7d, 0x07, 0x07, - 0xbf, 0xc2, 0xf4, 0x81, 0x0f, 0x80, 0x2e, 0xde, 0x6a, 0x9e, 0x98, 0x67, 0xbd, 0xd8, 0xcc, 0x1c, - 0x64, 0xc3, 0xb6, 0x6e, 0x7c, 0xd8, 0x71, 0x91, 0x4d, 0x64, 0x84, 0xec, 0x03, 0xd1, 0x20, 0xf5, - 0x37, 0x1e, 0x0e, 0x02, 0xdf, 0x88, 0x15, 0x47, 0x5a, 0x82, 0x45, 0xf7, 0x6a, 0x71, 0x8d, 0xe1, - 0x94, 0xd0, 0x26, 0x6a, 0x46, 0xd3, 0x00, 0x1e, 0x8f, 0x09, 0x96, 0x1b, 0x40, 0x12, 0x15, 0xc6, - 0x8b, 0x2a, 0x99, 0xc0, 0x4c, 0xbc, 0x65, 0x21, 0x5a, 0x66, 0xa2, 0x62, 0x9e, 0xf0, 0xa7, 0x78, - 0x43, 0x8b, 0x70, 0x00, 0x30, 0x75, 0xee, 0x2d, 0x29, 0xb2, 0xe8, 0xa7, 0xf4, 0xaa, 0xed, 0xb9, - 0x60, 0x15, 0x67, 0x41, 0x69, 0xd4, 0x24, 0x0d, 0x3d, 0xc9, 0xae, 0xe8, 0xba, 0x7d, 0x92, 0xdd, - 0x4a, 0xde, 0x33, 0xbb, 0x87, 0xc7, 0xd0, 0x77, 0x1c, 0x5d, 0x09, 0x06, 0x95, 0x9b, 0x31, 0x12, - 0x9c, 0x0b, 0xec, 0x83, 0xd8, 0xe7, 0xca, 0x67, 0x45, 0xde, 0x4c, 0x72, 0x89, 0xc0, 0x45, 0xa1, - 0x10, 0xbc, 0x64, 0x29, 0xae, 0x9d, 0xf8, 0x17, 0x63, 0x2f, 0x33, 0xd4, 0x3c, 0xbe, 0x44, 0x8f, - 0x0e, 0xad, 0x2a, 0x46, 0xdd, 0x5a, 0xf2, 0x96, 0x57, 0x49, 0x64, 0x2a, 0x30, 0x34, 0x5b, 0x19, - 0x6e, 0x94, 0xda, 0xf9, 0x9a, 0x8d, 0xda, 0xbd, 0xa9, 0x92, 0x00, 0x96, 0xd8, 0x17, 0x84, 0x45, - 0xd3, 0xdc, 0xf7, 0xea, 0xcf, 0xfc, 0x63, 0x96, 0xcf, 0x37, 0xd5, 0x2a, 0x79, 0x5a, 0x54, 0xed, - 0x7d, 0x1e, 0x6f, 0xd4, 0x72, 0x43, 0x30, 0xa0, 0x8b, 0xbb, 0x04, 0x45, 0xce, 0x79, 0xbf, 0xcf, - 0x22, 0x47, 0x72, 0x4a, 0x1d, 0xff, 0x79, 0x21, 0xd6, 0x8a, 0x08, 0x28, 0xfd, 0x02, 0x1d, 0xb3, - 0xc1, 0x17, 0x77, 0xc6, 0xe4, 0xa0, 0xf3, 0xa7, 0xbf, 0x2e, 0x6d, 0xaf, 0xef, 0x27, 0x3c, 0x43, - 0x4e, 0x00, 0x29, 0x2d, 0xef, 0x69, 0xd4, 0x76, 0x56, 0x8b, 0xbe, 0x6e, 0xa0, 0x62, 0x67, 0x15, - 0x98, 0x3e, 0xba, 0x22, 0x4a, 0xb4, 0x40, 0x8f, 0x9b, 0xc6, 0xce, 0x95, 0x3b, 0x8e, 0xbc, 0xc9, - 0x53, 0x3f, 0xc1, 0xa8, 0x67, 0x9b, 0x94, 0x7a, 0xe5, 0x65, 0x29, 0xe4, 0xd0, 0x57, 0xd3, 0xd0, - 0x06, 0xe4, 0xd6, 0x90, 0x60, 0xf1, 0xb6, 0x8b, 0xed, 0xdf, 0x03, 0xf4, 0x8e, 0xf5, 0x0f, 0x60, - 0x9c, 0x5d, 0xa1, 0x47, 0xaf, 0x77, 0x02, 0x24, 0x9c, 0x25, 0xa2, 0x94, 0x2a, 0x35, 0x38, 0xfb, - 0x15, 0xd9, 0xae, 0x35, 0x38, 0x36, 0x4a, 0xde, 0x08, 0x3c, 0xc1, 0x40, 0x45, 0xf2, 0x94, 0x7c, - 0x09, 0x8a, 0x86, 0xf8, 0x35, 0xd7, 0x84, 0x5c, 0xe3, 0x88, 0x0d, 0x15, 0x29, 0xef, 0xca, 0x0c, - 0x31, 0x93, 0x95, 0x1e, 0x60, 0x79, 0x92, 0x43, 0xcd, 0x81, 0x3e, 0xd2, 0x86, 0x63, 0x24, 0x26, - 0xb0, 0x89, 0x29, 0x4b, 0x93, 0xf4, 0x7d, 0x95, 0xb6, 0xf0, 0x28, 0xbc, 0x61, 0x9e, 0x5b, 0x5b, - 0x42, 0xb1, 0x4a, 0x9c, 0x48, 0x56, 0x68, 0x17, 0xf0, 0xa4, 0x5e, 0x61, 0x14, 0x13, 0x87, 0x86, - 0x30, 0x70, 0x91, 0xb6, 0xd0, 0x9c, 0xde, 0x31, 0x13, 0x6b, 0x40, 0x1c, 0x8d, 0x1b, 0xe9, 0x55, - 0xd9, 0x3b, 0x84, 0x16, 0x4a, 0xf2, 0x53, 0x03, 0x93, 0xce, 0xbf, 0xc2, 0x8e, 0xb4, 0x1e, 0x0a, - 0x57, 0x2c, 0x57, 0x7e, 0xb0, 0x72, 0x53, 0xd9, 0xe7, 0xa8, 0x4a, 0x01, 0x2f, 0x98, 0x0d, 0x20, - 0x03, 0x15, 0xce, 0x28, 0xca, 0x16, 0xf9, 0xb2, 0x44, 0x2a, 0xc9, 0xe7, 0x4f, 0xd5, 0xb7, 0x7b, - 0x8d, 0xe8, 0x7b, 0x78, 0xea, 0xd5, 0x14, 0xfe, 0x97, 0x57, 0x52, 0x49, 0x3a, 0xf7, 0x51, 0x57, - 0xff, 0x6b, 0xa6, 0xeb, 0xd0, 0xab, 0x8d, 0xe0, 0xa1, 0xfb, 0xd0, 0x77, 0x27, 0x33, 0x26, 0x85, - 0xd9, 0xa9, 0x7d, 0xda, 0xcd, 0xc6, 0x10, 0xb8, 0xf8, 0x4f, 0xc7, 0xc7, 0x48, 0xca, 0x69, 0x1d, - 0x73, 0x56, 0x34, 0xd1, 0x3d, 0x0f, 0xb0, 0x20, 0xec, 0x6b, 0x51, 0xbd, 0xc1, 0xce, 0x18, 0x8a, - 0x85, 0x7f, 0xa5, 0x39, 0xa2, 0x45, 0x08, 0x01, 0x0f, 0x8c, 0x86, 0x36, 0x2e, 0x56, 0xff, 0x67, - 0x78, 0x38, 0x5a, 0xf2, 0xa8, 0x82, 0x12, 0xc5, 0x9c, 0x03, 0xc2, 0x4e, 0x16, 0xda, 0x36, 0x53, - 0xa8, 0xba, 0xc1, 0x43, 0xb6, 0x35, 0x11, 0xaa, 0xc9, 0x4f, 0x06, 0x00, 0x5d, 0x42, 0x6c, 0x23, - 0xcd, 0xd8, 0xcd, 0xb2, 0x26, 0x20, 0x01, 0x47, 0xe6, 0x65, 0x47, 0x34, 0x91, 0xd5, 0x59, 0xe5, - 0x79, 0x66, 0x82, 0x05, 0xf2, 0x28, 0x94, 0x41, 0x16, 0xc3, 0xa6, 0x69, 0x8c, 0x79, 0x4a, 0x5d, - 0x0c, 0xe0, 0x78, 0xa8, 0x1e, 0xd7, 0x30, 0x84, 0xeb, 0xef, 0x9c, 0x42, 0x98, 0x0a, 0x6d, 0xa9, - 0xf5, 0x4a, 0x7d, 0x0d, 0xf7, 0x42, 0xcc, 0xaf, 0xe3, 0x45, 0x90, 0x31, 0x59, 0x3d, 0xc7, 0x13, - 0x7c, 0xcf, 0xef, 0xfd, 0xda, 0x59, 0xb9, 0x74, 0x98, 0xeb, 0xa3, 0xb1, 0x9a, 0xdc, 0x6a, 0xe2, - 0x28, 0x79, 0x28, 0xd7, 0xe5, 0x43, 0x34, 0x74, 0x0c, 0x4a, 0xd4, 0xc7, 0x43, 0x88, 0xb3, 0x54, - 0x40, 0x48, 0x28, 0xab, 0x62, 0x6b, 0xd6, 0xff, 0x0e, 0xf6, 0x9f, 0xe6, 0x8a, 0xaf, 0x72, 0x99, - 0xb0, 0xfe, 0xed, 0x62, 0xee, 0x61, 0x1b, 0xd9, 0x26, 0x68, 0x4e, 0x69, 0xce, 0x2e, 0x7c, 0x1f, - 0x44, 0x0d, 0x83, 0xc3, 0x95, 0xbb, 0x99, 0x25, 0xf5, 0x64, 0xb2, 0xfe, 0x81, 0x53, 0x26, 0xee, - 0x2b, 0xa3, 0x96, 0x30, 0x46, 0x42, 0x13, 0x8e, 0x38, 0xae, 0x91, 0x20, 0x9a, 0xf3, 0x71, 0x8e, - 0x9a, 0x3c, 0xe5, 0x74, 0x9e, 0x89, 0xb6, 0x25, 0x3f, 0x00, 0xbd, 0xee, 0xed, 0x3e, 0x36, 0x56, - 0xd7, 0x5f, 0xb2, 0xbf, 0x4b, 0x12, 0x5b, 0xa9, 0xc9, 0xfc, 0xb0, 0xee, 0x72, 0x2d, 0x5e, 0xd6, - 0x7a, 0xb0, 0x79, 0x76, 0x86, 0x35, 0x36, 0xd5, 0x52, 0xab, 0x90, 0x87, 0xa4, 0x0f, 0xc0, 0x02, - 0x61, 0x29, 0x39, 0x95, 0x31, 0x56, 0xa4, 0x2c, 0x8c, 0xa3, 0xb1, 0x2e, 0x81, 0xfd, 0x6c, 0x6d, - 0xc8, 0xf3, 0xe8, 0x92, 0xf4, 0xd3, 0x06, 0x40, 0x45, 0x5b, 0x7b, 0xcf, 0xf8, 0x65, 0x1a, 0xc6, - 0x33, 0x80, 0x01, 0x6a, 0x1f, 0xc3, 0x5e, 0xdc, 0xd5, 0x23, 0xcf, 0x72, 0x68, 0xbb, 0x7e, 0x80, - 0x93, 0xba, 0x61, 0xc3, 0x25, 0x76, 0xdf, 0x69, 0x11, 0xcd, 0x12, 0xee, 0x95, 0xda, 0xaf, 0xb7, - 0x44, 0xc0, 0x2e, 0x77, 0x44, 0xce, 0x47, 0x2a, 0xbc, 0x0a, 0x4d, 0xdf, 0x08, 0xcf, 0x0e, 0xd0, - 0xc7, 0x64, 0x09, 0x7b, 0xaf, 0xb8, 0xab, 0x2e, 0xfc, 0xde, 0xab, 0x8b, 0x98, 0x82, 0x55, 0x30, - 0x3b, 0x7a, 0x2a, 0x0b, 0x63, 0x91, 0xfa, 0xe4, 0xde, 0xf5, 0xc7, 0x3a, 0x28, 0x52, 0x85, 0x2b, - 0x80, 0x3a, 0xf1, 0xa1, 0x8f, 0xbf, 0x87, 0x5c, 0x09, 0xf9, 0x3f, 0x60, 0xce, 0x09, 0x09, 0x66, - 0x38, 0x89, 0x57, 0xb9, 0xf0, 0xe0, 0x6f, 0x38, 0x03, 0x38, 0x7c, 0x26, 0x00, 0x73, 0x7b, 0xf1, - 0x2a, 0x31, 0x74, 0xc2, 0xad, 0x0e, 0x8d, 0xfe, 0x4c, 0xdb, 0xd7, 0xed, 0xec, 0x5d, 0x1c, 0xef, - 0xce, 0x73, 0xf4, 0x53, 0x2f, 0xba, 0xa1, 0x11, 0xe7, 0x48, 0xd9, 0xae, 0x31, 0x93, 0x84, 0x66, - 0xc2, 0x71, 0xb9, 0x6c, 0x8b, 0x1b, 0x6c, 0x01, 0x47, 0xac, 0xa9, 0x1c, 0xbf, 0xad, 0x3a, 0x6e, - 0xbf, 0x1d, 0xe7, 0x4c, 0xe4, 0x64, 0x2b, 0xa2, 0x33, 0x64, 0x89, 0xd0, 0x0d, 0xee, 0xfd, 0xd1, - 0xb0, 0x11, 0xde, 0xfc, 0xd0, 0xb2, 0xae, 0xa9, 0xa2, 0xf5, 0x5c, 0x9e, 0xd1, 0xe3, 0xa1, 0xa3, - 0xff, 0x1d, 0xb4, 0x4c, 0xd8, 0x8b, 0xad, 0x91, 0x2a, 0x0c, 0xa6, 0x3f, 0x0b, 0xaf, 0x0b, 0xb9, - 0x1c, 0x09, 0xcb, 0x48, 0xb2, 0x7e, 0x5a, 0x51, 0xb9, 0xce, 0xfd, 0xfa, 0x08, 0x2e, 0x90, 0x9d, - 0x68, 0x2b, 0xc4, 0x38, 0x63, 0xab, 0x24, 0x20, 0x53, 0x67, 0x28, 0x08, 0x1a, 0x84, 0xb6, 0x7c, - 0x3b, 0x12, 0xf2, 0x6d, 0x4d, 0xa9, 0x82, 0xc8, 0xf8, 0xa7, 0xba, 0x92, 0x97, 0x2e, 0x6b, 0xdb, - 0xfc, 0x23, 0xd3, 0xab, 0x8f, 0xdf, 0xd0, 0x90, 0xd5, 0x29, 0x80, 0x29, 0x46, 0xa9, 0x77, 0x34, - 0x52, 0x4f, 0xa0, 0x27, 0xa1, 0xf5, 0x4d, 0xa7, 0x33, 0x1c, 0x8d, 0xc5, 0x33, 0xd1, 0x11, 0x9d, - 0x9e, 0x78, 0x3f, 0xa5, 0x47, 0xf9, 0x09, 0x05, 0xcb, 0xa2, 0x7b, 0x04, 0x8c, 0xc3, 0xa4, 0xb9, - 0x8c, 0xfa, 0x17, 0x62, 0x60, 0xda, 0x95, 0x62, 0xe2, 0xd3, 0x09, 0x76, 0xeb, 0x86, 0xdf, 0xe6, - 0x59, 0x0b, 0x86, 0x8e, 0x96, 0xb8, 0xf9, 0x42, 0x76, 0xcb, 0xbc, 0x4a, 0x1d, 0xc1, 0x3a, 0x37, - 0x7f, 0xe9, 0x8e, 0xcc, 0x6d, 0x1e, 0x52, 0x21, 0x90, 0x21, 0xa9, 0x57, 0xe7, 0x64, 0xee, 0x4a, - 0x5a, 0x3f, 0x33, 0x64, 0x83, 0xeb, 0xf7, 0xb8, 0x7e, 0x19, 0x70, 0xfb, 0x83, 0x8f, 0x8e, 0x61, - 0xfe, 0x06, 0x21, 0xa2, 0xd6, 0x93, 0x59, 0xdd, 0x49, 0xd6, 0x02, 0xc9, 0xad, 0x36, 0x2a, 0x34, - 0xb0, 0xdd, 0x73, 0x69, 0x22, 0x44, 0x31, 0x36, 0x5f, 0x6c, 0x80, 0x43, 0x1a, 0x5f, 0x3d, 0x24, - 0xea, 0x05, 0x7b, 0x58, 0x4d, 0x15, 0x73, 0xac, 0x24, 0x17, 0x01, 0x8c, 0xfc, 0x09, 0xaa, 0x37, - 0x55, 0xdd, 0x3e, 0xe1, 0xd7, 0x7e, 0xeb, 0xde, 0x62, 0xd9, 0xa1, 0x53, 0xb8, 0x0a, 0x3f, 0xbd, - 0x6c, 0x8e, 0x7f, 0x02, 0x08, 0x7f, 0xf4, 0x8a, 0x0a, 0xc6, 0x87, 0x33, 0x05, 0xa6, 0xa8, 0xb9, - 0x83, 0x18, 0x97, 0xab, 0xbd, 0xf2, 0xbf, 0x5e, 0x3f, 0x4d, 0x7e, 0x6c, 0x23, 0xe7, 0xfc, 0xaa, - 0x68, 0x44, 0x51, 0x09, 0x65, 0xeb, 0xd8, 0x7b, 0x0f, 0xad, 0x5b, 0x1d, 0x66, 0x09, 0x3c, 0x82, - 0xfb, 0x8b, 0x9e, 0xac, 0x9a, 0x5c, 0xf2, 0xa9, 0xab, 0x9a, 0x15, 0x9e, 0xbe, 0xd4, 0x80, 0xa3, - 0x5f, 0x9b, 0xa1, 0x1f, 0xd6, 0x7f, 0x29, 0x10, 0x33, 0xfb, 0x71, 0xc9, 0x3e, 0x42, 0xd6, 0xf0, - 0x11, 0xd7, 0xa1, 0x82, 0x07, 0x32, 0x04, 0x1a, 0x15, 0x2a, 0x19, 0xb4, 0x54, 0xb1, 0xe6, 0xb7, - 0x83, 0xdb, 0x6c, 0xff, 0xcc, 0xce, 0xf0, 0x09, 0x88, 0x26, 0x65, 0x4a, 0x7c, 0x06, 0x3d, 0x8e, - 0x97, 0xb1, 0x08, 0x53, 0x19, 0x39, 0x3b, 0x38, 0xaa, 0xcf, 0x36, 0xa6, 0x8f, 0xc8, 0x1f, 0xbd, - 0x4d, 0x0b, 0xf4, 0xe5, 0x5a, 0x45, 0xe5, 0xa6, 0xf9, 0x91, 0xce, 0x7f, 0x66, 0x1d, 0x2e, 0xbd, - 0xdb, 0x91, 0x2b, 0x3c, 0xdc, 0xf3, 0x1c, 0xb8, 0xf0, 0x74, 0xd2, 0xcd, 0x4b, 0x2e, 0x2f, 0x77, - 0xec, 0xe5, 0xd5, 0xa3, 0xed, 0x07, 0xbe, 0xe1, 0x09, 0x86, 0xcc, 0x18, 0x44, 0x96, 0x8c, 0xd2, - 0xa1, 0x5d, 0x68, 0xb4, 0x39, 0x8e, 0xeb, 0x8a, 0xda, 0x19, 0x7b, 0x57, 0xca, 0x9a, 0xda, 0xef, - 0xa6, 0xfa, 0x46, 0xb3, 0xdc, 0x2a, 0xd6, 0x53, 0x2c, 0x7c, 0xf0, 0x28, 0x1c, 0x11, 0x70, 0x05, - 0x8e, 0xba, 0xc5, 0xc9, 0x6c, 0x1e, 0x1b, 0x4d, 0x4d, 0xb3, 0x00, 0xf2, 0x3b, 0xd1, 0x46, 0xe0, - 0x40, 0x98, 0x3b, 0xf6, 0xff, 0x74, 0xa9, 0x5d, 0x19, 0xb0, 0x48, 0x68, 0x75, 0xdf, 0x4a, 0xbc, - 0xed, 0x85, 0xfe, 0xbb, 0x1b, 0x89, 0x00, 0x06, 0xf0, 0x7a, 0x1a, 0xeb, 0x3b, 0xd9, 0x58, 0xf0, - 0x97, 0x5e, 0x37, 0xd7, 0xf9, 0xc8, 0xf4, 0xba, 0xc5, 0x79, 0x40, 0x4d, 0x35, 0xf8, 0x99, 0xfa, - 0x59, 0xab, 0x3d, 0x93, 0x05, 0x8c, 0x83, 0x2b, 0xaa, 0xf0, 0xc6, 0xf6, 0x47, 0x98, 0xcd, 0x51, - 0xab, 0x72, 0xb8, 0x90, 0x43, 0x68, 0xd2, 0xc0, 0x06, 0xe0, 0x74, 0xc0, 0x2a, 0x26, 0xba, 0xc2, - 0xe9, 0x99, 0x3a, 0xed, 0x22, 0xfc, 0x15, 0x35, 0xe4, 0x97, 0x5e, 0xc2, 0xe3, 0x36, 0x0e, 0x4e, - 0x3e, 0x42, 0x74, 0xe6, 0x6d, 0xc0, 0x06, 0x37, 0xab, 0x73, 0x06, 0x40, 0x32, 0x9b, 0x3f, 0xb5, - 0x07, 0x77, 0x46, 0x62, 0x62, 0x39, 0x2f, 0x38, 0x70, 0x2b, 0xb4, 0x78, 0xed, 0x08, 0x17, 0x98, - 0xb7, 0x0e, 0x3c, 0x86, 0xc6, 0xc0, 0xb4, 0xce, 0x63, 0x8a, 0x95, 0x25, 0xbc, 0x96, 0x2d, 0xab, - 0xdb, 0x7c, 0x12, 0x92, 0xb7, 0x3c, 0x6d, 0x19, 0xfc, 0x3a, 0x58, 0x7c, 0x67, 0x15, 0x7f, 0xb8, - 0xc3, 0x73, 0x16, 0xc8, 0x65, 0x51, 0xee, 0xf5, 0x0a, 0x6f, 0xfb, 0xe9, 0xb8, 0x5f, 0x6a, 0xc6, - 0xa5, 0xc0, 0x83, 0xa2, 0xc0, 0x8b, 0xed, 0xc1, 0xf3, 0xbb, 0xab, 0x44, 0x01, 0x0d, 0xc4, 0xfa, - 0x68, 0x6c, 0x35, 0x7a, 0xf8, 0x7a, 0xf9, 0xd5, 0x13, 0x03, 0x9e, 0x15, 0xb2, 0xc8, 0x3a, 0x1e, - 0x53, 0x18, 0x20, 0x40, 0x80, 0x3f, 0xb5, 0x67, 0x38, 0x8d, 0x3d, 0xd8, 0xea, 0x7d, 0x21, 0xae, - 0xde, 0x17, 0x77, 0x44, 0xbf, 0x83, 0x86, 0xc9, 0x6c, 0xe8, 0x25, 0x20, 0x01, 0xdc, 0x37, 0x64, - 0x40, 0xf1, 0xde, 0xdc, 0x1f, 0x27, 0xdf, 0xbb, 0xf0, 0x32, 0x31, 0x93, 0x13, 0x0e, 0x6c, 0x91, - 0x37, 0xdd, 0xf6, 0xcc, 0x93, 0xf8, 0xa2, 0x62, 0x52, 0xc8, 0xa1, 0x0d, 0xce, 0x56, 0x99, 0xac, - 0xdd, 0x64, 0xd4, 0x94, 0x5e, 0x8f, 0xa5, 0x00, 0x3a, 0xcf, 0xbe, 0x65, 0x6a, 0x94, 0xb5, 0xd0, - 0x47, 0x1b, 0x65, 0xda, 0x1a, 0xf2, 0x12, 0x04, 0x73, 0xec, 0xc6, 0x80, 0xaa, 0x43, 0x0f, 0x63, - 0x80, 0xc0, 0x13, 0xdd, 0xda, 0xfd, 0xf7, 0xcd, 0x72, 0xd6, 0xab, 0xaf, 0x60, 0xa5, 0xae, 0x5f, - 0x11, 0x7c, 0xb3, 0x93, 0xbc, 0x0c, 0x9f, 0x6a, 0x52, 0x8a, 0x9a, 0xa2, 0x8b, 0x64, 0xc0, 0x6d, - 0x8d, 0xfd, 0xfc, 0xc5, 0x8d, 0xb5, 0xe7, 0x41, 0x21, 0x50, 0xea, 0x1e, 0x5b, 0x08, 0x49, 0xbe, - 0x77, 0x5a, 0xc8, 0x26, 0x3f, 0xa4, 0xc4, 0x78, 0x64, 0x72, 0xde, 0x05, 0x2c, 0xec, 0xbe, 0xa6, - 0x06, 0x71, 0xbe, 0x57, 0xc4, 0x69, 0xdf, 0xf4, 0x51, 0xe7, 0xbd, 0x2e, 0x46, 0xdf, 0x3c, 0x78, - 0x63, 0x51, 0xf7, 0x4d, 0x9d, 0x38, 0x63, 0xc3, 0xfc, 0x9c, 0xfd, 0x19, 0xf3, 0x30, 0xd9, 0xe1, - 0x9e, 0xeb, 0xaf, 0x87, 0xe0, 0x9c, 0x86, 0xca, 0x5f, 0x88, 0x6c, 0x48, 0x58, 0xf7, 0xb0, 0x2f, - 0x17, 0x63, 0x23, 0x23, 0x3b, 0xd8, 0xdf, 0x3a, 0x78, 0x39, 0x46, 0x5d, 0x99, 0xfc, 0x7f, 0xb8, - 0x0f, 0xe2, 0xc4, 0xb6, 0x5c, 0x24, 0x53, 0xc9, 0x73, 0x7b, 0x68, 0x64, 0xda, 0x30, 0xee, 0x92, - 0x34, 0x1d, 0xef, 0x9e, 0xef, 0x64, 0x34, 0xbb, 0xa6, 0xb4, 0x22, 0x8e, 0xda, 0xff, 0x49, 0x89, - 0xc7, 0x24, 0xc4, 0xe7, 0x87, 0x7c, 0x90, 0x30, 0xa7, 0xff, 0x63, 0xae, 0x5e, 0x56, 0xe3, 0xc3, - 0x8b, 0xbc, 0x9b, 0x55, 0xee, 0x92, 0xf7, 0x81, 0xbe, 0xde, 0x1d, 0x78, 0x9f, 0x67, 0x3a, 0xb3, - 0xca, 0x11, 0xa7, 0x49, 0xba, 0xb4, 0x6a, 0xbd, 0x0b, 0x49, 0x7c, 0xf3, 0x86, 0xc9, 0xf0, 0xfc, - 0xcb, 0xe0, 0xa9, 0xf7, 0x35, 0xa2, 0x86, 0x4e, 0x14, 0xf4, 0xe1, 0xfd, 0x87, 0x92, 0x1b, 0x07, - 0x8e, 0xb5, 0xa9, 0xd0, 0xc6, 0xb8, 0xa2, 0xe6, 0x71, 0xee, 0x44, 0x63, 0xbe, 0xc0, 0xf5, 0x61, - 0x0c, 0x02, 0x70, 0xc8, 0x61, 0x18, 0x8c, 0xdf, 0x0e, 0xf4, 0x34, 0x2f, 0x2c, 0x06, 0x7c, 0xcd, - 0xb6, 0x96, 0x03, 0xf5, 0xd3, 0xa8, 0x91, 0x14, 0xb2, 0x02, 0xa4, 0xca, 0xad, 0x25, 0x0a, 0xc7, - 0xe4, 0x80, 0x24, 0xb0, 0x88, 0x1c, 0xd8, 0x5e, 0xeb, 0x65, 0x8e, 0x27, 0x81, 0xe1, 0xd8, 0xf3, - 0x71, 0x39, 0x2c, 0xd7, 0xdc, 0x22, 0x69, 0x23, 0x1e, 0xda, 0x8a, 0x27, 0x7b, 0xc5, 0x9a, 0x79, - 0x47, 0x22, 0xa9, 0x50, 0x49, 0x0b, 0xe6, 0x66, 0x17, 0x93, 0x00, 0x57, 0x0e, 0x9a, 0xca, 0x79, - 0xb0, 0x5b, 0x74, 0x03, 0x24, 0x4f, 0xfb, 0xa4, 0xb7, 0x91, 0x60, 0xba, 0x99, 0x76, 0x80, 0x48, - 0xcf, 0x79, 0x65, 0x12, 0x88, 0x4c, 0x08, 0xd3, 0x99, 0xef, 0xf7, 0x30, 0x44, 0x8d, 0x95, 0x5c, - 0xab, 0x4e, 0x7c, 0x15, 0x20, 0x00, 0x4f, 0x2a, 0xa8, 0x77, 0x9a, 0x59, 0xe9, 0x7b, 0xa8, 0x7f, - 0x13, 0x85, 0xb7, 0xe6, 0xef, 0x4b, 0x52, 0x16, 0x41, 0xfe, 0xb2, 0xe4, 0x94, 0xb4, 0x93, 0x45, - 0xfb, 0xc6, 0xcd, 0x7b, 0x4d, 0x22, 0x30, 0xb8, 0x79, 0x7d, 0x98, 0x25, 0x8b, 0xc7, 0x04, 0x1c, - 0xa9, 0xbe, 0x59, 0x22, 0x06, 0xc5, 0xad, 0xb1, 0xca, 0xa7, 0x57, 0xe0, 0xf6, 0x30, 0x7e, 0x47, - 0xd5, 0x51, 0x68, 0x10, 0x78, 0x57, 0xa6, 0xfc, 0xe8, 0xea, 0xcb, 0x73, 0x99, 0x41, 0x88, 0xb7, - 0x76, 0xf9, 0x11, 0x79, 0x2a, 0x23, 0x32, 0xab, 0x21, 0x00, 0x4f, 0x3b, 0x25, 0x87, 0x59, 0xe3, - 0xe5, 0xca, 0xf2, 0x80, 0xb6, 0x35, 0x90, 0x98, 0x95, 0x05, 0xd0, 0xa6, 0x81, 0xed, 0xa8, 0xc0, - 0x91, 0x2b, 0x24, 0xd8, 0x4f, 0x2d, 0x99, 0x16, 0x9d, 0x1f, 0x1e, 0x46, 0xaf, 0x65, 0xd0, 0x8e, - 0x69, 0xb7, 0xe7, 0xf3, 0xca, 0x20, 0x38, 0x45, 0xf8, 0xd0, 0xd7, 0x5c, 0x94, 0x7f, 0x63, 0x6d, - 0x0f, 0x56, 0x67, 0x80, 0x98, 0x6c, 0xa9, 0x46, 0x79, 0xea, 0x51, 0x41, 0xab, 0x98, 0x87, 0x22, - 0x3b, 0x9f, 0xc9, 0xc6, 0xd5, 0x59, 0x5d, 0xa9, 0xc9, 0xbb, 0xe1, 0x8b, 0xf0, 0x19, 0x86, 0xe3, - 0xa9, 0xbd, 0xea, 0x8a, 0x14, 0x3d, 0xf0, 0xeb, 0x37, 0x94, 0x4c, 0x47, 0x6c, 0xee, 0x1f, 0x90, - 0x19, 0x24, 0xc1, 0x34, 0xb4, 0xc0, 0xd5, 0x60, 0x4c, 0x87, 0x1f, 0x4d, 0x7f, 0x2c, 0xa8, 0x86, - 0x52, 0xb5, 0x46, 0xe4, 0x31, 0x26, 0xfc, 0x1c, 0x8c, 0xf5, 0xda, 0xde, 0x20, 0xdd, 0xf4, 0x0b, - 0x7b, 0xf8, 0x8a, 0x83, 0x1f, 0xd7, 0xd2, 0x1d, 0x65, 0x68, 0x74, 0xdf, 0x06, 0xce, 0x4f, 0xc9, - 0x50, 0xc7, 0xb1, 0xba, 0x36, 0x37, 0x98, 0x49, 0xb2, 0x13, 0x84, 0xbd, 0x63, 0x49, 0x21, 0x76, - 0x92, 0x10, 0x92, 0x62, 0x62, 0xf1, 0xe9, 0xd6, 0x71, 0x39, 0xa5, 0x5a, 0x49, 0x36, 0x4b, 0x14, - 0x3b, 0xa6, 0xde, 0x62, 0xef, 0x35, 0x9f, 0xfa, 0xf7, 0x24, 0x3f, 0x7a, 0xdf, 0xd2, 0x36, 0xe3, - 0xdc, 0xf4, 0x94, 0x7d, 0x3b, 0x33, 0xd2, 0x34, 0x4d, 0x30, 0xf6, 0xe6, 0xe4, 0x9b, 0x25, 0xd1, - 0x82, 0x95, 0x95, 0x93, 0x7c, 0xaf, 0xb5, 0x1f, 0xe2, 0x77, 0xd1, 0x91, 0xdf, 0xf4, 0x14, 0xe5, - 0xc2, 0xda, 0x91, 0x2b, 0x81, 0x9a, 0xd7, 0x32, 0xab, 0x44, 0x0b, 0x98, 0xbc, 0x74, 0xaf, 0x01, - 0xc7, 0xce, 0xdf, 0x7b, 0x3f, 0xb1, 0xd9, 0x2b, 0xe7, 0x24, 0x8b, 0x5e, 0xe5, 0x36, 0x02, 0x0a, - 0xd8, 0x0b, 0x01, 0x89, 0xae, 0xff, 0xff, 0x53, 0xc1, 0x43, 0xeb, 0xbd, 0x84, 0x71, 0xfa, 0x4c, - 0x8a, 0xfa, 0x59, 0x08, 0xb8, 0xf2, 0xcd, 0x5a, 0x43, 0x3d, 0x84, 0x90, 0x5e, 0xed, 0x46, 0xbc, - 0x4e, 0x85, 0x25, 0x4f, 0x26, 0x41, 0xa0, 0x3e, 0xc4, 0x39, 0xac, 0x1e, 0xac, 0x94, 0xe0, 0x3a, - 0x7e, 0xc5, 0x84, 0xf5, 0xd0, 0xbd, 0xa6, 0x24, 0x32, 0x0c, 0x30, 0x75, 0xef, 0xfe, 0x72, 0xf6, - 0x0f, 0xcd, 0xa0, 0xd0, 0x95, 0x8f, 0x0d, 0xe2, 0xa5, 0xb6, 0xd0, 0xd1, 0x37, 0x00, 0x1f, 0x99, - 0x5c, 0xaf, 0xd3, 0xeb, 0x06, 0x37, 0x18, 0x07, 0x19, 0xc4, 0x95, 0xdc, 0x37, 0xdf, 0x20, 0xe5, - 0xf8, 0xa8, 0xfc, 0xd1, 0x3b, 0xd9, 0xfd, 0xed, 0x73, 0x3d, 0xd6, 0x83, 0xcf, 0x7e, 0xd9, 0xea, - 0xf4, 0x36, 0x08, 0xcc, 0xc5, 0x64, 0x16, 0xa7, 0x93, 0x28, 0xc0, 0x29, 0x7f, 0x1a, 0xe8, 0x28, - 0xc6, 0x28, 0x92, 0xcb, 0xb2, 0x94, 0xca, 0x58, 0xc5, 0x59, 0xbb, 0xc1, 0x97, 0xac, 0x74, 0xd8, - 0xc5, 0x3f, 0xf2, 0x67, 0x2b, 0xd9, 0xc1, 0x8c, 0x78, 0x6d, 0x31, 0x91, 0x4b, 0xe7, 0x17, 0x87, - 0xe1, 0xbb, 0xea, 0x00, 0xb4, 0x84, 0x7f, 0xda, 0x57, 0xf3, 0x85, 0x0b, 0xf1, 0x3d, 0xaf, 0xbc, - 0x7a, 0xfa, 0xc4, 0x49, 0x67, 0x77, 0x9f, 0x5e, 0x57, 0xbc, 0x52, 0xa2, 0xb0, 0x1f, 0x3d, 0x11, - 0xae, 0x84, 0xb8, 0x27, 0x31, 0x2e, 0xc1, 0x2f, 0xfc, 0x3b, 0x4c, 0x14, 0xe1, 0x54, 0x7f, 0xf5, - 0x88, 0x4c, 0x49, 0x2b, 0xbf, 0x04, 0x19, 0xb2, 0x2d, 0x88, 0x17, 0x78, 0x0b, 0x4e, 0x23, 0x00, - 0x88, 0xab, 0x06, 0x12, 0xd4, 0xe7, 0x75, 0x69, 0xed, 0x18, 0xf1, 0x60, 0x66, 0x1d, 0x61, 0x3e, - 0x55, 0x7b, 0x90, 0x3f, 0x0f, 0x0f, 0x97, 0x76, 0x41, 0x90, 0x58, 0x5d, 0x3d, 0xc9, 0x7a, 0x5e, - 0x7a, 0x5b, 0xea, 0x24, 0x06, 0xb5, 0xac, 0xa5, 0x07, 0x93, 0xab, 0x90, 0xdb, 0xbf, 0x80, 0x2d, - 0x9d, 0xd2, 0x7d, 0x9b, 0x59, 0x81, 0x27, 0x10, 0x7c, 0x9c, 0xd0, 0x57, 0xab, 0xc3, 0xd5, 0x80, - 0x07, 0x61, 0xf3, 0x0f, 0xdb, 0x7e, 0xc0, 0xef, 0xe8, 0xe5, 0xab, 0xf6, 0x22, 0xbb, 0x82, 0xd5, - 0xe9, 0xf2, 0x90, 0xde, 0x74, 0x1d, 0xce, 0xa2, 0x80, 0x4a, 0x13, 0xc8, 0x42, 0x4b, 0xfe, 0xff, - 0xd8, 0x3c, 0x17, 0x1e, 0xb2, 0x8d, 0x39, 0x29, 0x72, 0x19, 0x66, 0x2c, 0x2d, 0x6e, 0x16, 0xf5, - 0x81, 0x77, 0x4a, 0x03, 0xef, 0x2d, 0xba, 0x7e, 0xa3, 0xd9, 0x76, 0x06, 0x41, 0xab, 0x50, 0x76, - 0x49, 0x47, 0x33, 0x17, 0x37, 0x75, 0xba, 0x65, 0x13, 0x28, 0x62, 0x51, 0xd1, 0xbb, 0x76, 0xa1, - 0x1c, 0xa3, 0x82, 0xcb, 0xdd, 0x0d, 0x33, 0x27, 0xbf, 0x41, 0x99, 0x16, 0x50, 0x57, 0x53, 0xf0, - 0x3e, 0x46, 0xa8, 0x18, 0x23, 0x11, 0x5f, 0xe2, 0x05, 0x9a, 0xcf, 0xea, 0x83, 0x64, 0x7b, 0x54, - 0x87, 0x23, 0x33, 0xbc, 0x3f, 0xc2, 0x71, 0x1c, 0x6c, 0xce, 0xdc, 0x8f, 0x45, 0xf1, 0x41, 0x81, - 0x6e, 0xf5, 0x18, 0xa4, 0x7d, 0xbf, 0x1f, 0x44, 0xdd, 0xad, 0x6a, 0x96, 0x7f, 0x00, 0xdf, 0x68, - 0xe6, 0xe4, 0xe7, 0xc8, 0x99, 0x61, 0x43, 0x9d, 0x98, 0x81, 0xe9, 0x43, 0xd8, 0x82, 0xe7, 0x69, - 0xed, 0xb9, 0xb0, 0xe0, 0x93, 0xdd, 0xd9, 0x28, 0x04, 0x6d, 0xab, 0x99, 0x86, 0x34, 0xec, 0x1a, - 0xa9, 0xe1, 0xe0, 0x2d, 0xce, 0x81, 0x15, 0xdd, 0x6e, 0xe1, 0xbd, 0xa3, 0x07, 0xd9, 0x3d, 0xf9, - 0xcf, 0x21, 0xe9, 0x40, 0x3b, 0xa6, 0x8b, 0xab, 0x3e, 0xdc, 0x66, 0x4a, 0x15, 0x75, 0xab, 0xbe, - 0x08, 0x2b, 0xb1, 0xde, 0xc6, 0x01, 0x04, 0x95, 0xcb, 0x27, 0xfe, 0x14, 0x76, 0x29, 0x1c, 0x12, - 0xb7, 0x74, 0xa9, 0x9b, 0x22, 0x54, 0x1a, 0x13, 0x75, 0xce, 0xd2, 0x27, 0xff, 0xc3, 0x9b, 0x51, - 0xb7, 0x6a, 0xee, 0xd9, 0x59, 0x22, 0x02, 0xbb, 0x4d, 0x37, 0xae, 0x72, 0x5e, 0x49, 0x08, 0xf6, - 0xe2, 0x69, 0x99, 0x02, 0xe8, 0x62, 0x08, 0xb6, 0x54, 0xeb, 0x41, 0x0a, 0xae, 0xd7, 0xdb, 0x1e, - 0x2c, 0x0a, 0x80, 0x5d, 0x41, 0x89, 0x58, 0xc6, 0x6f, 0xa0, 0x28, 0x97, 0xd7, 0xa4, 0x0d, 0x91, - 0x14, 0xf2, 0x9f, 0x02, 0x33, 0x20, 0xeb, 0x80, 0xc9, 0x06, 0xb1, 0xea, 0x43, 0x64, 0x76, 0x6f, - 0xfd, 0x15, 0x03, 0xf3, 0x25, 0x30, 0x45, 0x9f, 0xba, 0x52, 0x9b, 0x0f, 0x27, 0xf4, 0xae, 0x51, - 0x75, 0xab, 0xf8, 0x70, 0x9e, 0xb1, 0x85, 0xca, 0xd6, 0x6a, 0xcb, 0x7c, 0xb8, 0xc4, 0xff, 0xe3, - 0xaf, 0x32, 0x42, 0x7c, 0x55, 0x33, 0x87, 0x8f, 0xb8, 0x43, 0x40, 0xb3, 0x1a, 0x04, 0x93, 0x7b, - 0xb7, 0x78, 0x24, 0x72, 0xab, 0x5f, 0xce, 0x4d, 0xde, 0x05, 0xf4, 0x99, 0xbf, 0xa6, 0xc7, 0x54, - 0x23, 0x2c, 0x19, 0x7b, 0x55, 0x96, 0x9e, 0x2f, 0x4b, 0x63, 0x6f, 0xe8, 0x6f, 0x28, 0x47, 0x45, - 0x0e, 0x0d, 0xda, 0x39, 0x73, 0x31, 0xba, 0x1b, 0xc3, 0x8d, 0x81, 0x0c, 0x6a, 0xdf, 0x7d, 0x5f, - 0xca, 0xb6, 0x36, 0x18, 0xc7, 0x9a, 0xc2, 0x3d, 0xfa, 0x41, 0xde, 0x56, 0xbf, 0x6a, 0x18, 0x6c, - 0x8a, 0xcf, 0x9f, 0xfc, 0xc8, 0x3c, 0x6f, 0xbc, 0x19, 0xaf, 0xa1, 0x31, 0x15, 0xa1, 0x80, 0x4c, - 0xf4, 0x5b, 0x78, 0x3a, 0x1a, 0x68, 0xd0, 0xf3, 0x23, 0x5e, 0xc6, 0x59, 0x95, 0xdc, 0xd2, 0x0e, - 0x58, 0x51, 0xc2, 0x15, 0xf4, 0x46, 0x8c, 0xc1, 0x12, 0x04, 0x9c, 0x7a, 0x41, 0xeb, 0x78, 0xf8, - 0xe8, 0xac, 0xd7, 0xce, 0xcb, 0x7a, 0x04, 0xa5, 0xde, 0xad, 0x85, 0xf3, 0xec, 0x6c, 0xd3, 0xec, - 0x25, 0x37, 0x18, 0x78, 0x8b, 0xf3, 0xec, 0x1b, 0x6f, 0xd6, 0x1e, 0x36, 0xd5, 0x08, 0x2e, 0x75, - 0xda, 0x68, 0x09, 0x3f, 0x1d, 0x62, 0x2e, 0x12, 0x4c, 0x5e, 0x21, 0x35, 0x98, 0xd3, 0x41, 0x87, - 0xb1, 0x78, 0xd4, 0x59, 0x7d, 0x2b, 0xfd, 0xd1, 0x58, 0x5d, 0x72, 0x32, 0x17, 0x4f, 0x6e, 0x18, - 0xd7, 0x5f, 0xc8, 0x2c, 0xe5, 0x31, 0x18, 0x90, 0x33, 0xd2, 0x2e, 0x8a, 0xff, 0x26, 0xd7, 0x7e, - 0x07, 0x73, 0xa0, 0x0e, 0x02, 0xcf, 0x90, 0x2e, 0xb0, 0x98, 0xca, 0xb5, 0xe7, 0xc6, 0x6b, 0xce, - 0x6c, 0xe6, 0x95, 0xc8, 0x32, 0x8b, 0xce, 0xf6, 0x2f, 0xaf, 0x17, 0x96, 0x5a, 0xcb, 0x6d, 0x1a, - 0x36, 0xc7, 0x08, 0xe6, 0x62, 0xfc, 0x8e, 0xc5, 0x4f, 0x0e, 0xb3, 0x46, 0x4b, 0x18, 0x88, 0xc9, - 0xd3, 0x75, 0x9b, 0xba, 0x49, 0xe5, 0x0d, 0x34, 0xf0, 0x9f, 0x49, 0x8b, 0x1f, 0xb7, 0x76, 0x3b, - 0xa8, 0x3d, 0x97, 0x71, 0xff, 0x4b, 0xe0, 0x16, 0x93, 0xc2, 0x4d, 0x20, 0x74, 0x20, 0xa4, 0x4b, - 0xbf, 0xcb, 0x7d, 0x18, 0x39, 0x4f, 0xfa, 0x8a, 0xd0, 0x31, 0x4f, 0x95, 0xd8, 0xad, 0xd5, 0x4f, - 0xf4, 0x82, 0xed, 0x4d, 0x3c, 0x91, 0x69, 0x1b, 0xf7, 0xe3, 0x2b, 0x49, 0x5b, 0xe8, 0x96, 0xc1, - 0x92, 0x50, 0xa8, 0x17, 0x2d, 0xb6, 0x93, 0x24, 0xd0, 0x67, 0x68, 0x3a, 0x8f, 0xc2, 0x19, 0x73, - 0x81, 0x8a, 0xa0, 0x63, 0xd3, 0x70, 0xa4, 0x02, 0xf3, 0xcc, 0xf5, 0xc3, 0xfe, 0x94, 0xce, 0xf6, - 0x15, 0x9e, 0x73, 0x9e, 0x8e, 0xc7, 0x4e, 0x50, 0x8a, 0xe3, 0x79, 0x73, 0xc6, 0x38, 0xb5, 0x11, - 0x84, 0x69, 0xc7, 0xa1, 0xe2, 0x9c, 0x74, 0x96, 0x06, 0xa5, 0x98, 0xf2, 0x01, 0x0e, 0xab, 0xe4, - 0x6d, 0x6f, 0x29, 0xe8, 0xc1, 0xb5, 0x81, 0xbb, 0x82, 0x2b, 0xf9, 0xcf, 0x80, 0x1a, 0xc1, 0xa1, - 0x50, 0x5c, 0x33, 0xfd, 0xfa, 0x8a, 0x47, 0xd3, 0x51, 0x1b, 0x14, 0x75, 0xac, 0xcf, 0xaa, 0xc4, - 0x07, 0xfd, 0x2a, 0xf8, 0xae, 0x2d, 0xe2, 0x18, 0x9e, 0xf9, 0x9d, 0xfe, 0xf3, 0x2a, 0xdc, 0x39, - 0xa0, 0x23, 0x79, 0xa4, 0xf3, 0x09, 0x2b, 0x34, 0x0f, 0x76, 0x47, 0xcc, 0xc8, 0x27, 0x18, 0x0f, - 0x78, 0xfd, 0x9f, 0x63, 0x59, 0x4f, 0x96, 0xd3, 0x34, 0xdc, 0xc1, 0xed, 0xdf, 0x2b, 0xb1, 0xff, - 0xc5, 0x97, 0x65, 0x11, 0xb5, 0xec, 0x08, 0x79, 0x3c, 0x10, 0x6c, 0x8f, 0x70, 0x81, 0xba, 0x3a, - 0x9a, 0x40, 0xb8, 0x9d, 0xd7, 0x2b, 0x68, 0x9f, 0xcf, 0x9f, 0xb5, 0xf3, 0xcb, 0x7c, 0x3c, 0x32, - 0x70, 0xa2, 0x6b, 0x20, 0xf8, 0x31, 0xc3, 0x49, 0x8a, 0xc8, 0xb2, 0x40, 0x9d, 0x7a, 0x8b, 0x9f, - 0x0c, 0x05, 0x8a, 0x93, 0x2f, 0xcf, 0x24, 0x73, 0x88, 0x21, 0x08, 0xe0, 0x0d, 0xef, 0xe3, 0xae, - 0x63, 0xfa, 0xcf, 0x96, 0x0f, 0x12, 0x82, 0x96, 0xe5, 0x42, 0xd9, 0xd3, 0xfe, 0x29, 0x86, 0xb8, - 0x3a, 0xe6, 0xbc, 0x8c, 0x20, 0x75, 0xbb, 0x79, 0xbe, 0xb5, 0x1e, 0x82, 0x55, 0xf5, 0x1d, 0x98, - 0x99, 0xe9, 0x91, 0x3b, 0x2e, 0xf8, 0x73, 0x7e, 0x2c, 0x52, 0x07, 0x73, 0x7b, 0x05, 0xae, 0x82, - 0x69, 0x97, 0x0e, 0x87, 0xd8, 0x52, 0x5d, 0xa4, 0x32, 0xfe, 0x3a, 0x06, 0xf2, 0x1e, 0xe9, 0x56, - 0xc7, 0x4b, 0xb2, 0xfd, 0xc2, 0x7f, 0x99, 0xe9, 0x06, 0x02, 0x61, 0x53, 0x52, 0x07, 0xe0, 0x56, - 0x63, 0xc4, 0x84, 0x4a, 0x1a, 0x02, 0x3c, 0x10, 0xa5, 0x1e, 0xa9, 0xf3, 0x97, 0x21, 0x4a, 0x41, - 0x4c, 0x06, 0xae, 0x2c, 0xd7, 0xd6, 0x33, 0x36, 0xb7, 0x98, 0xf7, 0x95, 0x76, 0x20, 0x0f, 0x7c, - 0xea, 0x6c, 0xa8, 0xf4, 0x8d, 0xe0, 0x42, 0xf8, 0x2c, 0x99, 0xca, 0x5a, 0xdf, 0x30, 0x6e, 0x5c, - 0x8c, 0xf4, 0x0b, 0x33, 0x8a, 0x90, 0x26, 0xf8, 0xc4, 0xcf, 0x22, 0x4e, 0x03, 0xfd, 0xa1, 0x73, - 0x6f, 0x89, 0x39, 0xa3, 0x02, 0x17, 0x29, 0x29, 0xcd, 0xb6, 0xd5, 0xbd, 0xcc, 0xe1, 0x2b, 0x34, - 0xd6, 0x92, 0x0e, 0xd4, 0xe9, 0x81, 0x42, 0xd8, 0x8f, 0xf4, 0x26, 0xfc, 0xf5, 0x75, 0x8f, 0xa1, - 0xb6, 0x06, 0xc0, 0x5c, 0xff, 0x23, 0x24, 0xfb, 0x60, 0xe4, 0x5d, 0xd7, 0x98, 0xb3, 0x70, 0x5e, - 0x32, 0x91, 0xaf, 0x08, 0x0c, 0x94, 0xca, 0x3c, 0x50, 0xdd, 0x01, 0x42, 0x13, 0x14, 0xf6, 0x21, - 0x1d, 0x61, 0x02, 0xe5, 0x3e, 0x61, 0xf3, 0x68, 0xd2, 0x1c, 0xa6, 0xfa, 0xfe, 0xf0, 0x0c, 0xcf, - 0xaa, 0x58, 0x82, 0x56, 0x93, 0xf8, 0xd1, 0xc7, 0x24, 0x06, 0xa2, 0x5a, 0x6f, 0x37, 0xc7, 0xcb, - 0x11, 0x04, 0xc7, 0x2b, 0x3f, 0xd1, 0x13, 0x3c, 0x6f, 0x13, 0x53, 0xf4, 0x3a, 0x92, 0x5a, 0xb4, - 0xb1, 0xd8, 0x43, 0x48, 0x7e, 0xc5, 0xaa, 0xa9, 0xa9, 0xe8, 0x4f, 0xd5, 0x39, 0x3f, 0x7d, 0x51, - 0xaf, 0xe2, 0x7f, 0xf2, 0xc1, 0x23, 0x5c, 0x8a, 0x0a, 0x74, 0xe8, 0x74, 0xc2, 0xa4, 0xb8, 0x18, - 0xf4, 0x98, 0x99, 0x4b, 0xdf, 0x2a, 0x20, 0x34, 0x4c, 0xd5, 0x79, 0xa2, 0x83, 0xdb, 0x51, 0x8a, - 0x72, 0x0a, 0x7b, 0x4c, 0x0f, 0x51, 0x04, 0x1b, 0x3b, 0x9d, 0x04, 0x06, 0x2c, 0x1c, 0x53, 0xa2, - 0x43, 0xc3, 0xc6, 0x2b, 0xa4, 0x2e, 0x55, 0x1d, 0x61, 0xc7, 0x60, 0x98, 0x70, 0xd9, 0x6b, 0x5c, - 0x44, 0xe7, 0x0d, 0xdb, 0xa0, 0x7e, 0xde, 0x8c, 0x35, 0x19, 0x07, 0x92, 0xfe, 0x38, 0x19, 0x5a, - 0x20, 0xd0, 0x80, 0x82, 0x8d, 0x49, 0x8b, 0x4a, 0x2b, 0xbf, 0x72, 0x1e, 0xde, 0xa7, 0x5d, 0xda, - 0xdf, 0xfb, 0x4e, 0x86, 0x11, 0x26, 0x20, 0x57, 0x82, 0x7e, 0xeb, 0x3d, 0x52, 0x08, 0xec, 0xfa, - 0x85, 0x35, 0x00, 0xca, 0x80, 0xde, 0x1d, 0x4b, 0x3c, 0x43, 0x4e, 0x33, 0x0b, 0x28, 0x6d, 0x80, - 0xbf, 0x51, 0x50, 0x98, 0x11, 0xba, 0xa8, 0xc2, 0xff, 0xde, 0x14, 0x25, 0xfe, 0x6f, 0x20, 0xaa, - 0xc4, 0xee, 0xef, 0x48, 0x88, 0x5e, 0xab, 0x97, 0x61, 0x23, 0x61, 0x9a, 0x94, 0xf4, 0xf4, 0x64, - 0xb3, 0x05, 0x75, 0x69, 0x02, 0xd3, 0xd6, 0x0f, 0x11, 0xbc, 0xcc, 0x76, 0xef, 0x12, 0x23, 0x06, - 0x6c, 0xe9, 0x1e, 0x43, 0xa0, 0x62, 0x4e, 0xe9, 0xd8, 0x57, 0x81, 0xd5, 0x50, 0x8d, 0xa8, 0x5b, - 0xda, 0x86, 0x82, 0xb8, 0x1d, 0x0d, 0x72, 0xaf, 0x91, 0x51, 0xd8, 0xba, 0x9a, 0x1b, 0xe3, 0xf0, - 0x01, 0x3a, 0xb2, 0x19, 0xaa, 0xfd, 0x09, 0xe8, 0xcc, 0x8f, 0x6b, 0x47, 0x07, 0xb2, 0x55, 0x6a, - 0x4f, 0xa9, 0x64, 0x2a, 0xce, 0x08, 0xff, 0x44, 0xeb, 0x96, 0x07, 0xc3, 0xa2, 0xe1, 0x49, 0xce, - 0xe6, 0xcd, 0xbe, 0xdb, 0x87, 0xe7, 0x97, 0xe9, 0xab, 0x4d, 0x0a, 0x1d, 0xbf, 0xc2, 0x03, 0x1a, - 0xa1, 0xb1, 0x40, 0x6f, 0xa1, 0x73, 0xc0, 0xe8, 0x3d, 0x96, 0x47, 0xa6, 0x56, 0xab, 0x95, 0x40, - 0xca, 0x75, 0x00, 0x06, 0x38, 0x54, 0xf7, 0x40, 0x96, 0x8b, 0xea, 0x4a, 0x18, 0x8d, 0x91, 0x8b, - 0x3b, 0xf5, 0xd2, 0xf7, 0x2e, 0xd9, 0x93, 0x73, 0xa6, 0x55, 0xdd, 0xf0, 0x85, 0x70, 0x97, 0x17, - 0x49, 0x7c, 0x4b, 0x3b, 0x70, 0xba, 0x39, 0x9a, 0x8d, 0xc3, 0x0d, 0x53, 0xaa, 0x4f, 0xab, 0x5d, - 0x9c, 0x55, 0x98, 0xc5, 0xae, 0xb1, 0x01, 0xc1, 0x6b, 0xba, 0xa3, 0x38, 0xb5, 0xfb, 0x78, 0xa5, - 0x21, 0xbb, 0x0f, 0x0a, 0x6e, 0x71, 0xe1, 0xfe, 0xf7, 0x76, 0x49, 0x2a, 0xf6, 0x44, 0xcd, 0x6e, - 0x00, 0xb9, 0xae, 0x0f, 0x95, 0xf0, 0x43, 0x63, 0x4d, 0x06, 0x7b, 0xc4, 0x63, 0x06, 0x3e, 0x6d, - 0x86, 0x8a, 0xfb, 0x9f, 0xd0, 0x6b, 0x96, 0x8b, 0x2b, 0x56, 0xe4, 0xf3, 0x65, 0xdf, 0xb9, 0x68, - 0xd4, 0xf5, 0x18, 0x1e, 0x44, 0xeb, 0xfc, 0xc1, 0x5c, 0xea, 0x68, 0xaf, 0xee, 0xda, 0xd7, 0xa7, - 0x82, 0x1e, 0x45, 0x05, 0x98, 0x3e, 0x05, 0x81, 0x08, 0x2b, 0x1c, 0xdd, 0x5c, 0xe9, 0x6a, 0x5f, - 0xb4, 0xb4, 0xba, 0x44, 0x8b, 0x0b, 0x47, 0x50, 0x21, 0x97, 0xfc, 0x80, 0x8b, 0xe6, 0xf8, 0xd6, - 0xb1, 0x72, 0xf1, 0x1b, 0x41, 0x9e, 0x66, 0xe9, 0xe7, 0xe9, 0x5a, 0xc2, 0x43, 0x4f, 0x6e, 0x87, - 0x86, 0xf7, 0x2b, 0xab, 0x52, 0x99, 0xf9, 0x20, 0x09, 0x13, 0x4a, 0xcf, 0xb8, 0x63, 0xb8, 0x3c, - 0xf6, 0x09, 0x54, 0x3a, 0x1c, 0x1d, 0x97, 0x42, 0x75, 0xe9, 0x34, 0x66, 0xfb, 0xf9, 0xf2, 0xae, - 0x3b, 0x18, 0x69, 0x69, 0x2d, 0x7b, 0x7f, 0xaa, 0x32, 0x87, 0x90, 0x08, 0x11, 0x30, 0x92, 0x74, - 0x07, 0x1b, 0x24, 0x63, 0xb1, 0xd0, 0xa4, 0x29, 0xea, 0x2c, 0xfc, 0xd0, 0xc6, 0xd4, 0x3d, 0x66, - 0x49, 0x03, 0xf8, 0x9d, 0x8f, 0x52, 0x76, 0x2a, 0x35, 0xa2, 0x61, 0x1e, 0x3e, 0x9d, 0xca, 0x4d, - 0x46, 0x53, 0x06, 0xd6, 0x1d, 0xb5, 0xc3, 0x24, 0x17, 0x92, 0xdd, 0x17, 0x6f, 0xaf, 0xed, 0x01, - 0x9a, 0x03, 0x98, 0x7b, 0xbf, 0x0e, 0xad, 0xc4, 0xfe, 0xd2, 0xdc, 0xe6, 0xa3, 0x7c, 0x50, 0x67, - 0x0d, 0x10, 0xaf, 0x5e, 0xc6, 0xf2, 0xd2, 0xfe, 0x02, 0x0b, 0xdd, 0xee, 0x41, 0xa2, 0x5d, 0x23, - 0xb8, 0x3f, 0x50, 0xd4, 0xa5, 0x0b, 0x52, 0x88, 0x1e, 0xed, 0x28, 0xbf, 0x1c, 0x56, 0xbc, 0x20, - 0x64, 0x4b, 0xfa, 0xa4, 0x4e, 0x06, 0xbe, 0x18, 0xed, 0x81, 0xd7, 0x90, 0x91, 0xaf, 0x6a, 0xaf, - 0x27, 0xce, 0xfc, 0x59, 0xfe, 0x5b, 0x69, 0x5f, 0x06, 0x55, 0xac, 0x78, 0x69, 0xa4, 0x5c, 0x90, - 0x9f, 0x95, 0xce, 0x30, 0xe0, 0x85, 0x30, 0xdf, 0x7d, 0xe6, 0x46, 0x9f, 0x05, 0x80, 0x2d, 0x24, - 0x64, 0x55, 0x12, 0x13, 0xe6, 0x65, 0x02, 0x04, 0x52, 0x20, 0x94, 0x0f, 0x82, 0xcc, 0x53, 0x34, - 0xab, 0xf3, 0x68, 0x6e, 0x65, 0x1b, 0x42, 0x4f, 0xea, 0x1c, 0x05, 0xba, 0x6a, 0x0e, 0xe3, 0x42, - 0x8b, 0x51, 0xe0, 0x42, 0xd0, 0x33, 0xf3, 0x67, 0x76, 0xeb, 0x68, 0x78, 0x65, 0x24, 0x4f, 0x4e, - 0x47, 0x0c, 0x18, 0x92, 0x40, 0x70, 0xe1, 0x4d, 0x02, 0xa7, 0xe3, 0xc2, 0xe3, 0x54, 0x4d, 0xaf, - 0x8a, 0x6e, 0x26, 0x4d, 0x9f, 0xfe, 0x00, 0xe1, 0xbe, 0x9a, 0x27, 0x49, 0xe1, 0xb1, 0xce, 0xf8, - 0xbd, 0xf0, 0x1d, 0x05, 0x62, 0xae, 0x79, 0x97, 0xb5, 0xa6, 0x4e, 0x20, 0xc9, 0xd7, 0x69, 0xcb, - 0x42, 0x07, 0x00, 0x26, 0x3e, 0x58, 0x76, 0x59, 0x2d, 0xe8, 0x08, 0xda, 0x85, 0x37, 0x5f, 0x39, - 0xea, 0xee, 0xa5, 0x5a, 0xf1, 0x87, 0x34, 0xdd, 0xd8, 0x32, 0xc7, 0x92, 0xdb, 0x54, 0xea, 0xdf, - 0x7e, 0x4b, 0x42, 0x9f, 0xb0, 0xa9, 0x58, 0x54, 0xa1, 0xfd, 0x42, 0xff, 0x04, 0x77, 0xbb, 0xa9, - 0x71, 0x1c, 0xe0, 0xde, 0x58, 0xae, 0x56, 0x8a, 0xe5, 0x9c, 0x51, 0x92, 0x11, 0x74, 0x3e, 0x98, - 0xb3, 0xa3, 0xf7, 0x33, 0x7a, 0x26, 0xa5, 0x0a, 0x31, 0x4a, 0x35, 0xb9, 0xcf, 0x23, 0x2e, 0x08, - 0x21, 0x75, 0x8d, 0x1b, 0x6b, 0x89, 0x7d, 0x72, 0x92, 0xbc, 0xb0, 0xe0, 0x3c, 0xfc, 0x00, 0xf6, - 0x2d, 0x31, 0x41, 0x03, 0x49, 0x2c, 0xb2, 0xb8, 0xa9, 0x8a, 0xa3, 0xed, 0x54, 0xd7, 0x06, 0x2b, - 0xf6, 0x2c, 0x7b, 0xf8, 0x0d, 0x25, 0x2d, 0x43, 0x7c, 0x2f, 0x77, 0xaa, 0x8b, 0xaa, 0x0c, 0xa3, - 0xec, 0x4a, 0xe0, 0x59, 0x75, 0xc9, 0xba, 0xa1, 0xfe, 0x58, 0x68, 0x66, 0x01, 0xed, 0x0e, 0xea, - 0x6f, 0xc2, 0x0e, 0x5a, 0xd0, 0xc4, 0xca, 0xdb, 0xf3, 0xa9, 0x4a, 0x83, 0x1e, 0x73, 0x06, 0xcb, - 0x8a, 0x42, 0x51, 0xd6, 0xef, 0x24, 0xfe, 0x82, 0x17, 0x7d, 0x98, 0x31, 0x71, 0xf9, 0xc4, 0x46, - 0x36, 0x79, 0x09, 0xdb, 0x4a, 0x8b, 0x8f, 0x86, 0x40, 0x00, 0x11, 0xac, 0xe8, 0x56, 0x99, 0xdd, - 0xe7, 0x7e, 0x7b, 0xdd, 0x8d, 0x23, 0xe0, 0x0b, 0x30, 0xe8, 0x77, 0x21, 0xa4, 0xc1, 0x7c, 0x79, - 0x9e, 0x90, 0x73, 0x86, 0x90, 0xf0, 0xb7, 0x25, 0x40, 0x98, 0x73, 0xa6, 0xc0, 0x9c, 0x12, 0xe9, - 0xe4, 0x8c, 0x57, 0x5f, 0xe0, 0x34, 0x69, 0xfe, 0x98, 0x4e, 0xdd, 0x6c, 0xf2, 0x0e, 0x11, 0x47, - 0xab, 0xdd, 0xa9, 0x01, 0x1a, 0x97, 0x02, 0xba, 0xb3, 0x18, 0x2f, 0xa1, 0x8f, 0xbf, 0x51, 0xbd, - 0x96, 0x07, 0x17, 0x7d, 0x1b, 0x13, 0x47, 0xdc, 0xfb, 0x29, 0x52, 0xab, 0xb8, 0x78, 0xd5, 0xc1, - 0x35, 0x47, 0x42, 0x57, 0xd8, 0xb6, 0xa3, 0x9c, 0xba, 0xdf, 0x5d, 0x63, 0x7b, 0xea, 0xc1, 0xd3, - 0xd0, 0xe7, 0xc2, 0x3a, 0x38, 0xf4, 0x54, 0xc2, 0x88, 0xbd, 0xf1, 0x68, 0x1b, 0x3e, 0xdc, 0x1b, - 0x3b, 0x20, 0x25, 0x77, 0x8a, 0x31, 0x21, 0xf4, 0x51, 0x35, 0x1e, 0x10, 0xbb, 0xf4, 0x51, 0xb3, - 0x36, 0x41, 0xc6, 0x93, 0xba, 0x0f, 0x93, 0xd6, 0x89, 0x48, 0x7f, 0x6d, 0xfa, 0xa5, 0xc8, 0xd4, - 0x45, 0x61, 0x60, 0x5d, 0x42, 0xab, 0x5b, 0x9f, 0x05, 0x0c, 0x96, 0xe7, 0xf8, 0xbe, 0x98, 0x6b, - 0x9b, 0x9e, 0xc8, 0xb7, 0xd3, 0x14, 0x41, 0x3c, 0x7f, 0xce, 0x9c, 0xb0, 0x7a, 0x6d, 0xfb, 0xd3, - 0xab, 0x05, 0x46, 0x30, 0xf5, 0xde, 0x1e, 0x72, 0x9a, 0xb4, 0xd1, 0x0a, 0x2e, 0x8a, 0x29, 0x86, - 0x0f, 0x5f, 0xcb, 0x9d, 0x11, 0x8e, 0x98, 0x10, 0xa3, 0x16, 0x0c, 0x0e, 0x8d, 0x39, 0x43, 0x03, - 0x7a, 0x10, 0xed, 0xe1, 0x96, 0x91, 0x81, 0x9b, 0x7c, 0xd8, 0x6a, 0xaa, 0x1c, 0x0e, 0xc9, 0x11, - 0x8e, 0xe0, 0x57, 0x96, 0x2c, 0x97, 0x60, 0x99, 0x16, 0xb7, 0xe2, 0x50, 0x55, 0x83, 0x74, 0xad, - 0xe0, 0x50, 0xcf, 0x84, 0x0e, 0x31, 0xd1, 0x86, 0x7a, 0x87, 0x29, 0xf8, 0xec, 0xf5, 0x19, 0xe9, - 0x0d, 0xc7, 0x3e, 0x0f, 0x5e, 0x89, 0x2f, 0x33, 0xf7, 0x78, 0x6d, 0xcb, 0x43, 0x8b, 0xe6, 0x23, - 0xa4, 0x90, 0x54, 0xc5, 0x97, 0x2c, 0xac, 0x6e, 0x28, 0xb2, 0x16, 0xfc, 0xbf, 0x68, 0xef, 0xbd, - 0x77, 0xf3, 0xeb, 0x9f, 0xd4, 0x81, 0xb1, 0x43, 0x98, 0x2c, 0xec, 0xa4, 0x4d, 0xb1, 0x0e, 0x0f, - 0xd9, 0x2f, 0x97, 0x3b, 0xa8, 0x23, 0x8c, 0x22, 0x0e, 0xd8, 0x3a, 0xbf, 0x9d, 0xa5, 0x60, 0x3e, - 0x27, 0xee, 0x4e, 0xb4, 0xd7, 0xa2, 0x4f, 0xa1, 0xcb, 0x36, 0x3a, 0x47, 0xfe, 0x66, 0x7f, 0x47, - 0xfb, 0x44, 0x1e, 0x57, 0xe7, 0xbc, 0x42, 0xda, 0xf9, 0x7e, 0xfa, 0x4c, 0x0a, 0xca, 0x3c, 0x4b, - 0x39, 0x46, 0x17, 0x92, 0xca, 0x84, 0xe1, 0xc4, 0xb9, 0x55, 0x5b, 0xee, 0x19, 0x61, 0x50, 0x90, - 0x5e, 0xf2, 0xae, 0xec, 0x5d, 0xad, 0x38, 0x4a, 0x46, 0xd1, 0xcf, 0xdb, 0x47, 0x14, 0xd5, 0x33, - 0x82, 0x9f, 0x00, 0x9a, 0x51, 0xb9, 0x12, 0x67, 0xc8, 0x3f, 0x53, 0x2d, 0xa6, 0xa9, 0x37, 0xe3, - 0x92, 0x03, 0xf1, 0xa9, 0x04, 0xc3, 0xb4, 0x9c, 0x06, 0x14, 0x61, 0x16, 0xb6, 0x56, 0x53, 0xce, - 0x73, 0xe4, 0x5b, 0xbe, 0xf4, 0x38, 0x22, 0x4e, 0x83, 0x93, 0x31, 0xa5, 0x9a, 0x93, 0xc9, 0xa8, - 0x40, 0x39, 0xcd, 0xac, 0x75, 0x44, 0xd6, 0x12, 0x8d, 0x1e, 0x15, 0xec, 0xa7, 0x94, 0x2e, 0xf7, - 0x6e, 0x1e, 0xa8, 0x8c, 0x1b, 0x3b, 0xfa, 0x93, 0x4c, 0x5f, 0x1e, 0xce, 0x1d, 0x68, 0x85, 0x59, - 0x2a, 0xec, 0x89, 0x3b, 0x78, 0x1a, 0xed, 0x6f, 0x56, 0x3a, 0xbe, 0x2d, 0xe9, 0x23, 0x2a, 0x86, - 0xb5, 0x3e, 0x2b, 0xa4, 0x25, 0x81, 0x6b, 0xd7, 0x41, 0x3a, 0x84, 0xa1, 0x6b, 0xa8, 0xe1, 0xe4, - 0x0f, 0x8c, 0x53, 0x3f, 0x78, 0x80, 0x84, 0x7c, 0xcd, 0x6d, 0x4b, 0xe9, 0x0c, 0x23, 0xd0, 0xe8, - 0x30, 0x20, 0xba, 0x15, 0x08, 0xe9, 0x7c, 0xf9, 0x52, 0x11, 0x01, 0xc8, 0x05, 0x05, 0x54, 0xf5, - 0xa8, 0x79, 0x9b, 0x43, 0xb6, 0xc1, 0x73, 0xb1, 0x9c, 0x3d, 0x15, 0xfc, 0x28, 0xd8, 0xbd, 0xb3, - 0x2a, 0x1c, 0xe7, 0x83, 0xf9, 0xda, 0x97, 0xd9, 0xfd, 0xff, 0xf2, 0xd7, 0xbf, 0xa9, 0x5e, 0x22, - 0x83, 0x0a, 0x3f, 0x80, 0x0b, 0x92, 0xe3, 0x1e, 0xfb, 0xf3, 0x5a, 0xf2, 0x7f, 0x7d, 0x80, 0x7b, - 0xcf, 0x80, 0x81, 0xe6, 0xb9, 0x48, 0x5f, 0x3b, 0xb6, 0xba, 0x21, 0xb0, 0xfb, 0x47, 0x5c, 0x23, - 0x6f, 0x33, 0xb0, 0x90, 0xf2, 0x50, 0x8b, 0xfe, 0x92, 0xd5, 0xca, 0xed, 0xf8, 0x04, 0xd3, 0x07, - 0x8e, 0xfd, 0x6f, 0x45, 0x2f, 0x4c, 0xb6, 0x38, 0x16, 0xf2, 0x54, 0xf0, 0xa6, 0x23, 0x70, 0x5f, - 0xef, 0x1c, 0x48, 0xf3, 0xa0, 0x4a, 0xe7, 0xf5, 0x8b, 0x4a, 0x77, 0xce, 0x03, 0x97, 0x40, 0xd4, - 0x1c, 0xd5, 0xe1, 0x6e, 0xf1, 0x9e, 0x1a, 0x86, 0x0b, 0x4d, 0x91, 0xb5, 0x24, 0xed, 0x26, 0x0d, - 0x40, 0x50, 0x38, 0x7b, 0xc4, 0xd4, 0x92, 0x9f, 0x4e, 0x4b, 0xcb, 0xa0, 0xaa, 0x3b, 0xbd, 0x0a, - 0x63, 0xd7, 0x8a, 0x2d, 0x82, 0x0e, 0x0f, 0xe0, 0x86, 0xd4, 0xce, 0xe7, 0x9d, 0x2c, 0x01, 0xed, - 0x11, 0x98, 0x63, 0x83, 0x8a, 0xc8, 0xbc, 0x22, 0x4d, 0xa0, 0x48, 0x9b, 0x36, 0x79, 0x1a, 0xba, - 0x4c, 0xf0, 0xd5, 0xd7, 0x30, 0x81, 0x5f, 0x46, 0xa1, 0xcf, 0x86, 0x21, 0x4c, 0x11, 0x1e, 0x41, - 0x41, 0x8c, 0x27, 0xc3, 0xa9, 0x7f, 0xfd, 0xc5, 0x67, 0x8a, 0x41, 0xfe, 0x5d, 0x4e, 0xf5, 0x8a, - 0x59, 0xe4, 0x56, 0x12, 0x2a, 0x76, 0x89, 0x13, 0x55, 0x95, 0x80, 0x09, 0xd3, 0xd0, 0xe0, 0x52, - 0x5c, 0x08, 0x3f, 0xbf, 0xd5, 0xc7, 0x9b, 0xbb, 0x96, 0x27, 0xef, 0x9b, 0x9c, 0x93, 0x1c, 0xf8, - 0x58, 0xdf, 0x80, 0x81, 0xe6, 0x19, 0xfe, 0x82, 0x47, 0xcd, 0xf7, 0x40, 0xaa, 0x8b, 0xee, 0xe0, - 0xe1, 0xf6, 0xc9, 0x23, 0x58, 0xf8, 0xef, 0x7f, 0xfc, 0x8d, 0x1b, 0x39, 0xf7, 0x1a, 0x20, 0x75, - 0x5b, 0x78, 0x2d, 0xd7, 0x98, 0x93, 0x14, 0x2f, 0x0b, 0xc5, 0x78, 0xc6, 0x30, 0x1b, 0x12, 0x4f, - 0x7c, 0xbf, 0x1a, 0x68, 0x4d, 0xcd, 0xab, 0xbf, 0xc5, 0xcf, 0x6d, 0x0d, 0xea, 0x9e, 0x0e, 0x8c, - 0xad, 0x03, 0x15, 0x15, 0xc7, 0x55, 0x5d, 0xea, 0x75, 0x54, 0x83, 0xdc, 0xf7, 0x10, 0x27, 0xbf, - 0x0c, 0x9d, 0xaf, 0x58, 0xc4, 0x44, 0x79, 0x20, 0xe9, 0x27, 0x91, 0x44, 0x41, 0x64, 0x6f, 0xba, - 0x24, 0x8b, 0xca, 0xb4, 0x52, 0x22, 0xdd, 0xdb, 0x94, 0x0e, 0xdb, 0x48, 0x4f, 0x99, 0x5b, 0x44, - 0xec, 0x4c, 0x9d, 0x89, 0xe3, 0xb8, 0x5c, 0xf9, 0xa5, 0x45, 0xf4, 0x76, 0x55, 0x36, 0xbf, 0x08, - 0xdd, 0x3e, 0xdf, 0x3e, 0xb9, 0x74, 0x31, 0x71, 0xf8, 0x8b, 0x5a, 0xc8, 0xb2, 0x67, 0x4e, 0x20, - 0x2d, 0x5b, 0x35, 0x86, 0xf0, 0x9e, 0x12, 0x38, 0xf7, 0xc9, 0x4b, 0x5c, 0x33, 0x93, 0x7f, 0x65, - 0x40, 0x51, 0x64, 0x9e, 0xaf, 0x9f, 0x4c, 0x99, 0xb3, 0xdd, 0x17, 0x1c, 0x5b, 0x31, 0xce, 0x8b, - 0x0e, 0x42, 0x70, 0xed, 0x45, 0x01, 0x82, 0xe8, 0x30, 0x81, 0x6a, 0x5b, 0x0a, 0x1d, 0xc2, 0xc5, - 0xbc, 0xd3, 0x88, 0xee, 0x39, 0x0a, 0xae, 0xa2, 0xca, 0xa3, 0x83, 0x80, 0xbb, 0x0d, 0x0b, 0xf9, - 0xf9, 0x85, 0xed, 0x92, 0xb8, 0x79, 0x2c, 0xe6, 0x1f, 0x04, 0x53, 0xee, 0xd8, 0xbb, 0x7b, 0x29, - 0x0f, 0x08, 0x41, 0x6f, 0x37, 0x9e, 0xa8, 0x9f, 0xab, 0xc3, 0xc9, 0xf5, 0xe0, 0x3e, 0x05, 0x66, - 0xe0, 0xf4, 0x4d, 0xb8, 0x02, 0xa5, 0xcb, 0xe9, 0x99, 0xf5, 0xe7, 0xf5, 0x32, 0x34, 0xd6, 0x66, - 0xda, 0x3d, 0xa2, 0xc7, 0x95, 0xf8, 0x6f, 0xc3, 0xe9, 0xcb, 0x9c, 0x98, 0xa2, 0x08, 0xc7, 0xe4, - 0x6f, 0x11, 0x6b, 0xb3, 0xa3, 0xb1, 0x63, 0x2b, 0xd5, 0x29, 0x10, 0x7a, 0x77, 0x97, 0xb6, 0x19, - 0xde, 0x9c, 0x07, 0xa5, 0x6c, 0x81, 0x17, 0xd4, 0x10, 0x1b, 0x4a, 0xb6, 0xbc, 0x44, 0xe1, 0x8b, - 0x29, 0x05, 0x30, 0x62, 0xe1, 0x0c, 0xc2, 0x00, 0x3f, 0x70, 0xd7, 0x09, 0xe4, 0xeb, 0x97, 0x2b, - 0x18, 0xcf, 0xf1, 0x74, 0x1c, 0xd3, 0xdf, 0x91, 0x9c, 0xf3, 0x48, 0x72, 0xe9, 0x6a, 0xf9, 0xd7, - 0xd6, 0xbb, 0x55, 0x7d, 0xfe, 0x2c, 0xcb, 0xe4, 0x54, 0x2b, 0xd9, 0xce, 0xc7, 0xbe, 0x5e, 0xbe, - 0xd4, 0xfd, 0x40, 0x48, 0x79, 0xec, 0x19, 0xe5, 0x0b, 0xb5, 0xb2, 0x9a, 0xb7, 0xad, 0x5e, 0x35, - 0x19, 0x07, 0xd9, 0xca, 0xfc, 0xf2, 0x0a, 0x9d, 0x82, 0x40, 0x5c, 0x23, 0xdb, 0x3a, 0xb2, 0x0e, - 0x6b, 0x4e, 0x78, 0xe4, 0xe8, 0xe1, 0xfa, 0x8b, 0x19, 0x49, 0x12, 0x14, 0x9d, 0x07, 0x5b, 0xee, - 0x60, 0x81, 0x6e, 0xd0, 0x79, 0xc3, 0xd9, 0xdd, 0x46, 0x3c, 0x21, 0xcd, 0x09, 0x7a, 0x41, 0x71, - 0x22, 0x95, 0x36, 0x3d, 0xf5, 0x84, 0xb2, 0xe1, 0xa0, 0xed, 0xa4, 0xb3, 0x7c, 0x60, 0x9f, 0x66, - 0xf4, 0x8e, 0x73, 0x08, 0xcc, 0x76, 0xf1, 0x03, 0x16, 0x03, 0x26, 0x49, 0x6a, 0xd2, 0x36, 0xd5, - 0xdb, 0xbf, 0xaa, 0x11, 0x48, 0x91, 0x27, 0x51, 0x5c, 0x26, 0x85, 0x83, 0xb0, 0xf3, 0xb6, 0x97, - 0x5f, 0x2a, 0x71, 0xc8, 0x5b, 0x1d, 0x21, 0xcf, 0xeb, 0x05, 0xc8, 0x32, 0x4d, 0xb2, 0x7d, 0x18, - 0xe6, 0x5c, 0xbe, 0xa3, 0x9e, 0x4a, 0x7d, 0xe3, 0x91, 0xfd, 0x69, 0x5d, 0xd4, 0xf6, 0xc3, 0x07, - 0xb0, 0x6f, 0xdb, 0xba, 0xaa, 0xd2, 0x52, 0x61, 0x7a, 0xd8, 0x55, 0x69, 0xf7, 0x81, 0xbd, 0x80, - 0xd6, 0xf9, 0xce, 0x42, 0x1b, 0x5d, 0x17, 0x26, 0xac, 0x8c, 0xa3, 0xa8, 0xc7, 0x0d, 0xa6, 0xc2, - 0xdc, 0x8e, 0xd0, 0xdb, 0xe1, 0x67, 0x13, 0x68, 0x89, 0x6d, 0x85, 0xd7, 0xac, 0x76, 0xec, 0x11, - 0xb6, 0x71, 0x42, 0xba, 0x6c, 0x27, 0x3d, 0x6b, 0xa4, 0x5d, 0xa6, 0x53, 0xd7, 0x90, 0x05, 0x9a, - 0xbc, 0xec, 0x9e, 0xf3, 0xe5, 0x4e, 0x1e, 0xb2, 0x53, 0x12, 0xa9, 0xf0, 0x78, 0x0b, 0x0d, 0x6e, - 0xfc, 0x81, 0x0e, 0xf5, 0x41, 0xea, 0x45, 0x95, 0x8c, 0xf7, 0x4b, 0xf5, 0x96, 0x66, 0xfd, 0x18, - 0x56, 0x5e, 0x39, 0xbd, 0xe6, 0x06, 0x63, 0x49, 0x38, 0x71, 0x64, 0x26, 0xa1, 0x41, 0x42, 0xb7, - 0x49, 0x28, 0x77, 0xe4, 0x2f, 0x38, 0x1b, 0x3e, 0x14, 0x86, 0xa6, 0xb4, 0xd7, 0x98, 0xc6, 0xad, - 0x9b, 0xaf, 0xda, 0x02, 0xee, 0x77, 0xbb, 0x33, 0x11, 0x06, 0x40, 0xc0, 0xb6, 0xf9, 0x9e, 0xaa, - 0x2f, 0x58, 0x1a, 0xe1, 0x41, 0x86, 0xfe, 0x3e, 0x51, 0xfc, 0xa3, 0x60, 0x36, 0xd3, 0x5f, 0x15, - 0xe1, 0x3d, 0x04, 0xa0, 0xad, 0x12, 0xa2, 0xcd, 0x62, 0x10, 0xaf, 0x5b, 0x69, 0xe8, 0xf3, 0x14, - 0x50, 0x55, 0x02, 0x3e, 0x1a, 0x1d, 0x70, 0x7c, 0x9f, 0x2b, 0x15, 0xf4, 0x08, 0x3f, 0xaf, 0x5b, - 0x34, 0xb5, 0x8c, 0xe5, 0x3b, 0x18, 0x02, 0x6c, 0xab, 0xb4, 0x6b, 0x11, 0x87, 0x44, 0x6c, 0xc5, - 0xa4, 0xfc, 0x00, 0x2e, 0x58, 0xbd, 0x01, 0x53, 0xe0, 0x90, 0x65, 0x28, 0x89, 0xd4, 0x73, 0x54, - 0x2b, 0xb5, 0x33, 0x87, 0x7e, 0x50, 0x12, 0x4c, 0xff, 0x07, 0x69, 0xc9, 0x0f, 0x6e, 0x5a, 0xda, - 0xdd, 0x69, 0xfb, 0xcd, 0xf1, 0x08, 0x0d, 0xc9, 0x90, 0x51, 0xbd, 0x19, 0xe0, 0x00, 0x3e, 0xa7, - 0xf1, 0xe8, 0x0d, 0x27, 0x13, 0xb1, 0xce, 0x19, 0x6e, 0x48, 0x4b, 0x52, 0x5b, 0x76, 0x2a, 0xb3, - 0xd3, 0x50, 0x32, 0x55, 0x9c, 0x7b, 0xaf, 0x49, 0x0e, 0x2d, 0xfb, 0x86, 0x89, 0xb6, 0x87, 0xfc, - 0xef, 0x76, 0xe6, 0xb1, 0x30, 0x25, 0x86, 0xb2, 0x3f, 0x53, 0x71, 0x70, 0x52, 0x3a, 0x5a, 0x31, - 0x30, 0xfc, 0xd5, 0xa6, 0xd9, 0xe3, 0xdd, 0x28, 0xc8, 0x01, 0xf4, 0x3b, 0xcc, 0xab, 0xdf, 0x97, - 0x5c, 0x1b, 0x52, 0xa0, 0xb9, 0x00, 0x54, 0xa5, 0x5a, 0xd0, 0xf8, 0x66, 0x6f, 0xa1, 0x44, 0xfb, - 0x0c, 0xac, 0x37, 0x61, 0xc8, 0x66, 0x99, 0x2e, 0x2a, 0x05, 0x08, 0x7b, 0x2e, 0x27, 0xc3, 0xb6, - 0x78, 0x3f, 0xcd, 0xc7, 0xed, 0x1d, 0x31, 0x4e, 0xb3, 0xdc, 0xbe, 0x38, 0x1c, 0xc4, 0x8f, 0x93, - 0x0e, 0x8b, 0x16, 0xb2, 0x4e, 0x79, 0x2a, 0x3d, 0x69, 0xc6, 0x82, 0x3d, 0x12, 0xe3, 0x8a, 0xcd, - 0xa7, 0x3a, 0xb1, 0x9e, 0x74, 0xe4, 0x98, 0x11, 0xb2, 0x3a, 0x72, 0x8b, 0x64, 0xe2, 0x3a, 0x74, - 0x8d, 0x2a, 0x25, 0x57, 0x91, 0x54, 0x9b, 0x41, 0xe0, 0x85, 0x32, 0xd0, 0x27, 0xd9, 0xb3, 0xa1, - 0xc7, 0x0f, 0xf2, 0x64, 0x1c, 0xa9, 0xbc, 0x3e, 0x80, 0x78, 0x04, 0x36, 0xe7, 0x06, 0xc2, 0xd6, - 0x83, 0xae, 0x40, 0x7d, 0x69, 0x8b, 0xa4, 0x99, 0x26, 0xd6, 0x67, 0x81, 0xca, 0x7e, 0xb2, 0x1d, - 0xb3, 0xe1, 0x05, 0x67, 0x1b, 0xf5, 0x37, 0x81, 0x30, 0x7e, 0xdf, 0x95, 0x73, 0xea, 0x58, 0x2f, - 0x26, 0x1d, 0xfc, 0xba, 0x81, 0xdc, 0x2d, 0xf8, 0x15, 0xa9, 0xc5, 0xae, 0x74, 0x28, 0x6a, 0xd6, - 0x53, 0x69, 0x98, 0xda, 0x06, 0x7c, 0x28, 0x62, 0xdf, 0xb7, 0xe0, 0x41, 0x6d, 0x1c, 0xd1, 0xfc, - 0x60, 0xfd, 0x24, 0xb1, 0xa0, 0xbc, 0x8c, 0x4b, 0xf3, 0xaf, 0x0f, 0x56, 0x80, 0x86, 0x65, 0xb4, - 0x25, 0x1e, 0xb7, 0x5d, 0xbf, 0xce, 0x4e, 0xf6, 0x28, 0x77, 0x08, 0x54, 0x1d, 0xd6, 0xea, 0x16, - 0x78, 0x33, 0x86, 0x1f, 0xf9, 0x48, 0xfa, 0xd8, 0xbc, 0x45, 0x29, 0x68, 0xc6, 0xb5, 0x10, 0x92, - 0x16, 0xca, 0x86, 0x27, 0x8c, 0x6e, 0x47, 0xda, 0x8d, 0x58, 0xba, 0x1f, 0xe4, 0x9d, 0x04, 0x44, - 0x73, 0xa2, 0x05, 0x78, 0x6f, 0x03, 0x03, 0xaa, 0x0a, 0x02, 0x10, 0x0f, 0xc3, 0x90, 0x86, 0xf9, - 0x9c, 0x07, 0xa6, 0x6f, 0x5d, 0x6a, 0x9a, 0xee, 0x45, 0x7f, 0xbe, 0xb1, 0x3b, 0xba, 0x08, 0x9e, - 0xb2, 0xbb, 0x67, 0x04, 0xdc, 0xb8, 0x99, 0x42, 0x4d, 0x0e, 0x6a, 0x43, 0xe2, 0x48, 0x1f, 0x7c, - 0x38, 0x07, 0xad, 0x05, 0x23, 0x4d, 0xa0, 0x13, 0x9f, 0xe0, 0x12, 0x13, 0x0a, 0x2d, 0x1c, 0xda, - 0xf6, 0x10, 0xf6, 0x35, 0xb8, 0x02, 0x8b, 0xde, 0x75, 0xd7, 0x26, 0xa0, 0x08, 0x99, 0x0d, 0x02, - 0x72, 0x55, 0x99, 0x65, 0x8c, 0x3b, 0xce, 0xd6, 0xa0, 0x06, 0xfe, 0xb4, 0x0e, 0x07, 0xf2, 0x9a, - 0x5c, 0x1a, 0x77, 0x47, 0xd0, 0x1c, 0x25, 0x41, 0x63, 0xfe, 0x55, 0x73, 0x09, 0x5b, 0x53, 0x6c, - 0xe2, 0x2a, 0xc4, 0x44, 0x6f, 0x5e, 0xcb, 0xfc, 0xab, 0xf7, 0x8e, 0xc7, 0x38, 0x93, 0x97, 0xab, - 0x19, 0xa2, 0x91, 0x3b, 0x61, 0xbe, 0x02, 0x73, 0x59, 0x4a, 0x61, 0x22, 0x6e, 0x22, 0x50, 0x13, - 0xf9, 0x3f, 0xc1, 0x8e, 0x62, 0xed, 0x36, 0x0e, 0x91, 0xea, 0xec, 0x2d, 0x9c, 0xfd, 0x39, 0xc1, - 0xe5, 0x3d, 0xb0, 0x7e, 0x51, 0xbf, 0x9f, 0x52, 0x9a, 0x1a, 0x95, 0xdc, 0x0b, 0x4c, 0x8e, 0x57, - 0x57, 0x0f, 0xcb, 0xcb, 0x0a, 0x52, 0x52, 0xc0, 0x18, 0xbf, 0x7c, 0x52, 0xa8, 0x3e, 0xd0, 0x6a, - 0xcd, 0xc3, 0x84, 0x74, 0xbe, 0x93, 0xe4, 0x0c, 0x31, 0xab, 0xd1, 0xec, 0xb7, 0x90, 0x0f, 0x20, - 0x9d, 0x36, 0xa9, 0x3b, 0xf9, 0x41, 0x2c, 0x03, 0xe7, 0xe7, 0x2c, 0x1f, 0x6f, 0x87, 0x01, 0x62, - 0x68, 0xe5, 0x39, 0x9c, 0x3f, 0x8d, 0xb9, 0x5f, 0x9d, 0x8f, 0x35, 0x70, 0x37, 0x64, 0xc1, 0xc5, - 0x02, 0x5a, 0xb3, 0x5c, 0x58, 0x56, 0xcd, 0x7e, 0xb6, 0xd7, 0x38, 0x4c, 0xd5, 0x9c, 0x2f, 0x35, - 0xeb, 0x94, 0x5b, 0x82, 0x82, 0x71, 0xba, 0x2f, 0x05, 0xac, 0xe8, 0x73, 0xed, 0x3e, 0x9e, 0x5b, - 0xe1, 0x76, 0x1a, 0xc3, 0x9d, 0x94, 0xdc, 0xfd, 0x4e, 0x55, 0x2b, 0x44, 0xd6, 0xf4, 0x44, 0xdf, - 0xb9, 0xb4, 0xa6, 0xa7, 0xe7, 0x35, 0x15, 0x08, 0xcf, 0xfb, 0xcd, 0xc0, 0x22, 0x92, 0x7f, 0x1a, - 0xd3, 0xb3, 0x13, 0xb0, 0x6b, 0x2d, 0x23, 0x85, 0xc6, 0xe2, 0xf2, 0xca, 0x12, 0x88, 0x56, 0x49, - 0xf9, 0x98, 0x62, 0x40, 0x3c, 0xd5, 0x56, 0xcf, 0x25, 0x74, 0xa5, 0x49, 0x4f, 0x9f, 0x46, 0x63, - 0x1d, 0xce, 0x50, 0xe2, 0x75, 0x2f, 0x68, 0xe9, 0x44, 0x12, 0x9f, 0x54, 0xcc, 0xd3, 0xc9, 0x73, - 0x3b, 0xbc, 0x28, 0x45, 0x67, 0x06, 0xf1, 0x40, 0xfb, 0xb7, 0x30, 0x1f, 0x5f, 0xea, 0x27, 0x46, - 0x3c, 0x04, 0x85, 0xa3, 0x5a, 0x5b, 0x15, 0x4f, 0x03, 0x83, 0x56, 0x8a, 0xc6, 0x37, 0x72, 0x22, - 0xd3, 0xc4, 0x43, 0x1f, 0xc8, 0xcb, 0xc6, 0xdb, 0xb7, 0xf5, 0x44, 0x3c, 0x95, 0xb5, 0xd7, 0xad, - 0x08, 0xd0, 0xc6, 0xc7, 0xe8, 0x48, 0x30, 0x0d, 0xe8, 0x49, 0x65, 0x96, 0xbb, 0x79, 0x3b, 0x96, - 0xf1, 0x83, 0x4e, 0x75, 0xf6, 0xe4, 0xc0, 0x55, 0x09, 0x77, 0x2f, 0x5b, 0xce, 0x6c, 0xd1, 0x78, - 0x50, 0x97, 0xd1, 0x52, 0x66, 0x91, 0x1f, 0xa0, 0xba, 0xb8, 0xbd, 0x74, 0x64, 0x8b, 0x16, 0x37, - 0x79, 0x2e, 0x34, 0x0b, 0xf6, 0x99, 0x00, 0x0c, 0xd4, 0x66, 0xc0, 0xc3, 0xae, 0xf9, 0x38, 0xb2, - 0x47, 0x8a, 0x31, 0x3a, 0x1c, 0x5d, 0xfe, 0x55, 0x61, 0xc5, 0x86, 0x64, 0x13, 0xc1, 0x95, 0xf3, - 0x3a, 0xc0, 0xef, 0x28, 0x7b, 0x52, 0xf2, 0x76, 0x97, 0x6a, 0xb3, 0x17, 0xb1, 0xac, 0xbe, 0xba, - 0xc2, 0xec, 0xc3, 0xf9, 0x2e, 0x56, 0x80, 0x74, 0x34, 0x68, 0x68, 0x11, 0x1b, 0xec, 0xc9, 0x51, - 0x7b, 0x12, 0x49, 0x81, 0x15, 0x8b, 0x50, 0xb0, 0x88, 0x1c, 0x6a, 0x03, 0xb4, 0x30, 0x83, 0x02, - 0x8e, 0x98, 0x19, 0x42, 0xa1, 0xf6, 0x63, 0xad, 0xcd, 0x88, 0x6d, 0x79, 0x49, 0xc2, 0xb7, 0x8e, - 0xb8, 0x0c, 0x90, 0x31, 0xfe, 0xa0, 0xb0, 0xb6, 0xfa, 0x95, 0x63, 0x31, 0x35, 0x25, 0x0a, 0x1a, - 0x32, 0x28, 0xac, 0x91, 0x30, 0xba, 0x6e, 0xb7, 0x91, 0x12, 0xdc, 0x88, 0x2d, 0x4f, 0x8c, 0x49, - 0x3a, 0xb2, 0x49, 0xf4, 0xeb, 0xdc, 0x81, 0xc9, 0x30, 0xb1, 0x55, 0xbd, 0x75, 0x8a, 0xfc, 0x1d, - 0x55, 0xd2, 0x12, 0x2b, 0x20, 0x7f, 0xb8, 0xbe, 0xa5, 0x2d, 0x01, 0xf9, 0x55, 0xfb, 0xb2, 0x92, - 0xec, 0xf2, 0x92, 0xab, 0x11, 0xe9, 0xbe, 0xb6, 0x42, 0xab, 0xe8, 0x90, 0xec, 0x57, 0x1e, 0x4b, - 0x82, 0x6e, 0xdc, 0x19, 0xae, 0xbd, 0xb3, 0x1a, 0x37, 0xdd, 0x30, 0x05, 0x26, 0xd0, 0x2b, 0x02, - 0xb8, 0x3d, 0x78, 0x8b, 0x5c, 0xcc, 0xa4, 0xe6, 0xdf, 0x11, 0x53, 0x13, 0x51, 0x24, 0x61, 0x4f, - 0x7e, 0x19, 0x47, 0x71, 0xe5, 0x87, 0x29, 0xca, 0xc9, 0x80, 0xf2, 0x05, 0x8c, 0xbd, 0x78, 0x12, - 0x56, 0x2e, 0x00, 0xa9, 0x4f, 0x63, 0x5e, 0x6c, 0x8d, 0x3c, 0xa3, 0x4e, 0xe4, 0x96, 0x8c, 0xcb, - 0x31, 0xcc, 0x8d, 0x0a, 0xb2, 0x30, 0x59, 0x69, 0xfd, 0xfe, 0x66, 0x82, 0xd9, 0x4a, 0xf3, 0x95, - 0x3d, 0xed, 0x1f, 0x07, 0xa3, 0xf0, 0xf7, 0x38, 0x64, 0xc3, 0xc2, 0x2a, 0xc4, 0xd3, 0x82, 0x49, - 0xd4, 0x06, 0x78, 0xed, 0xc8, 0xc3, 0x41, 0x8d, 0x54, 0x9b, 0xc5, 0x1b, 0x7a, 0xfd, 0x49, 0x5f, - 0xc1, 0xc7, 0x28, 0xa8, 0x1e, 0x15, 0x7a, 0xb3, 0xa5, 0xbf, 0x27, 0x13, 0x16, 0xe5, 0x36, 0xe5, - 0xdc, 0x8c, 0x49, 0xf1, 0x41, 0x30, 0x0f, 0x14, 0xeb, 0xd3, 0xe0, 0x74, 0xe3, 0x9e, 0xbe, 0x96, - 0xc8, 0xc2, 0x06, 0x30, 0xc9, 0xdf, 0xf6, 0x39, 0xaa, 0x84, 0x33, 0x5d, 0x4f, 0xa5, 0xa8, 0x57, - 0x21, 0x8d, 0x28, 0x4e, 0x98, 0x74, 0x6a, 0x7e, 0x7e, 0x67, 0xee, 0xdc, 0x3c, 0x7d, 0x64, 0xfc, - 0xfb, 0x67, 0xf4, 0x69, 0x91, 0x11, 0x52, 0xc4, 0xd8, 0xd3, 0x80, 0x4f, 0x52, 0x01, 0x0f, 0xdf, - 0x1c, 0x91, 0x46, 0xed, 0x71, 0xee, 0x26, 0xf2, 0x46, 0x72, 0x7a, 0xa6, 0xd7, 0x13, 0x17, 0xd1, - 0xe7, 0xfc, 0xa6, 0x50, 0xee, 0x9f, 0xfe, 0x16, 0x3a, 0xf1, 0x0a, 0xd2, 0xa0, 0xcb, 0x18, 0x32, - 0xb5, 0x7b, 0x2e, 0xb1, 0xbe, 0x0e, 0xaa, 0xd2, 0x56, 0x00, 0xd3, 0xc6, 0x72, 0x21, 0xc8, 0x48, - 0x2e, 0x98, 0xe1, 0x98, 0xa8, 0x08, 0x9a, 0xff, 0xd2, 0x01, 0x2c, 0x40, 0x0d, 0xf1, 0x76, 0xe4, - 0x7c, 0x35, 0x39, 0xbd, 0x5f, 0x20, 0x92, 0x39, 0xe1, 0xf3, 0xd9, 0x2a, 0x6f, 0xe5, 0xf2, 0x04, - 0xb3, 0x82, 0x77, 0xce, 0x7f, 0xea, 0x22, 0xae, 0xfa, 0xc4, 0x35, 0x41, 0x28, 0xe7, 0x89, 0x45, - 0xd6, 0x7a, 0x9b, 0x20, 0xb4, 0x52, 0xf0, 0x1f, 0x56, 0x6a, 0xa4, 0x71, 0xf5, 0xa4, 0x38, 0x7e, - 0x9c, 0x75, 0xc6, 0x8a, 0xa3, 0x3b, 0xb5, 0xa8, 0xcf, 0x49, 0x0f, 0x58, 0x41, 0x45, 0x14, 0xd0, - 0x6e, 0x8f, 0x11, 0xd0, 0x95, 0x18, 0xff, 0xa1, 0xe1, 0x79, 0xf1, 0x6b, 0x4a, 0x70, 0xe8, 0xc5, - 0x61, 0x15, 0x0d, 0xd6, 0xb4, 0x7d, 0x63, 0x3f, 0x3f, 0xb7, 0x5d, 0x44, 0xa3, 0x8b, 0x2a, 0x0d, - 0x8d, 0x57, 0x40, 0x46, 0x29, 0x7c, 0x63, 0xf7, 0xa1, 0xa0, 0xfe, 0xee, 0xa8, 0x2e, 0x83, 0xe7, - 0x70, 0x0d, 0x82, 0x74, 0xdd, 0x40, 0x13, 0xc6, 0x93, 0xe7, 0xfc, 0x0e, 0x59, 0xff, 0xeb, 0xe6, - 0xbb, 0x53, 0xe2, 0x1e, 0xb8, 0xad, 0x27, 0x6a, 0xc5, 0x4e, 0xb4, 0xd8, 0x90, 0x28, 0xb3, 0x08, - 0xa7, 0x44, 0x33, 0x7c, 0xe9, 0xe5, 0x10, 0x36, 0xf4, 0x89, 0x3a, 0xa6, 0x82, 0xf3, 0x8f, 0xfe, - 0x4f, 0x54, 0x29, 0x5d, 0x86, 0x5f, 0x84, 0x2d, 0xb1, 0x84, 0xfc, 0xd2, 0x5d, 0x94, 0x74, 0x54, - 0xfa, 0x37, 0x5f, 0x39, 0x5c, 0x99, 0xa4, 0x8e, 0x43, 0xa6, 0x98, 0x9d, 0xec, 0xba, 0xef, 0xdc, - 0x59, 0x9d, 0xcd, 0x8e, 0xdd, 0xf4, 0x3e, 0x0f, 0x5c, 0x04, 0xaf, 0x2a, 0x45, 0x99, 0x81, 0x24, - 0x55, 0x91, 0x4a, 0x30, 0x86, 0x43, 0xe5, 0x04, 0x0e, 0x43, 0xc8, 0x18, 0xa8, 0x3e, 0x19, 0x4a, - 0xcb, 0x82, 0xdd, 0x3a, 0x64, 0x04, 0x1e, 0xa1, 0x37, 0x53, 0x75, 0xd1, 0x2d, 0x2a, 0x05, 0xc2, - 0x46, 0x87, 0xd3, 0xb3, 0x33, 0x95, 0xa7, 0x88, 0x51, 0x93, 0xe5, 0x77, 0xdc, 0xa4, 0x93, 0xf8, - 0x77, 0xda, 0x03, 0xcd, 0x55, 0xb3, 0xdd, 0x09, 0xc2, 0x3f, 0x5d, 0x7c, 0xf4, 0x07, 0x1f, 0xdc, - 0x9b, 0x05, 0xbd, 0xe2, 0x37, 0xde, 0x3f, 0x5b, 0x76, 0xc0, 0x53, 0x0e, 0x20, 0xb1, 0x6c, 0xb0, - 0x77, 0x41, 0x55, 0x60, 0x6a, 0x06, 0xa4, 0x22, 0xd9, 0xd6, 0xa7, 0xc5, 0xac, 0xea, 0x92, 0xdc, - 0x3d, 0xfc, 0x88, 0x4a, 0x91, 0x5e, 0xda, 0x06, 0x15, 0xa8, 0x24, 0x3f, 0x65, 0x47, 0xc0, 0xe5, - 0xe7, 0xd1, 0x69, 0x0c, 0x9f, 0xb6, 0x73, 0x59, 0xe0, 0x8f, 0xa5, 0x91, 0x0a, 0x87, 0x99, 0x4c, - 0x09, 0x20, 0x09, 0x5b, 0x93, 0xe2, 0x57, 0x37, 0x15, 0x56, 0xd2, 0x9a, 0xa2, 0x48, 0xcd, 0xd1, - 0xa9, 0x9e, 0x43, 0xdf, 0x70, 0x6b, 0x86, 0xa8, 0x69, 0x61, 0xbd, 0x3d, 0x70, 0x14, 0x81, 0x2c, - 0x59, 0x32, 0x9f, 0x94, 0x3b, 0x14, 0x1a, 0x62, 0xb7, 0x49, 0x29, 0xbd, 0x55, 0x1c, 0x4d, 0x54, - 0x01, 0xa3, 0x6b, 0x5d, 0xd7, 0x43, 0xc7, 0x3d, 0x1f, 0xb0, 0x1f, 0xf2, 0x40, 0x53, 0x90, 0x08, - 0x0a, 0x61, 0x79, 0xbf, 0x86, 0xf8, 0x68, 0x8c, 0xf7, 0x0e, 0x64, 0x98, 0x93, 0x2a, 0x5e, 0xeb, - 0x5e, 0x61, 0x87, 0x01, 0x69, 0x83, 0x54, 0xaf, 0xae, 0xa4, 0x07, 0x5b, 0x5f, 0x26, 0xf2, 0xe5, - 0xcc, 0x94, 0xc4, 0x50, 0x14, 0x9a, 0x60, 0x89, 0xb4, 0x03, 0xb0, 0x79, 0x12, 0x19, 0x16, 0x60, - 0xe3, 0x68, 0x30, 0xe4, 0x35, 0x08, 0x7b, 0xa6, 0x30, 0xf7, 0xac, 0x40, 0x6d, 0x90, 0xc9, 0x79, - 0x63, 0x25, 0x3a, 0x88, 0xbe, 0x7e, 0x7b, 0x10, 0xd1, 0x55, 0xf4, 0x44, 0x3f, 0x96, 0x7e, 0xbb, - 0xee, 0xc3, 0x04, 0x5b, 0xae, 0x26, 0x41, 0x48, 0xd4, 0x8a, 0x67, 0x8c, 0xe2, 0xd3, 0x83, 0xcc, - 0x29, 0x12, 0x14, 0x00, 0x4a, 0xcc, 0x57, 0xfd, 0x15, 0x7f, 0x52, 0x97, 0xbd, 0x9f, 0x67, 0xb1, - 0x23, 0x24, 0xd9, 0x11, 0x83, 0x7c, 0x61, 0xb5, 0xab, 0x80, 0xb7, 0xca, 0x6a, 0x38, 0xfe, 0x45, - 0xcc, 0xc4, 0xf3, 0xb2, 0x2b, 0x13, 0x62, 0x0f, 0x8d, 0xc7, 0x17, 0xd5, 0x71, 0x8d, 0xd8, 0x74, - 0x23, 0x26, 0x1f, 0xa2, 0x91, 0x2d, 0x42, 0xab, 0x94, 0x25, 0x07, 0x25, 0x22, 0x37, 0x3a, 0x10, - 0x10, 0x9a, 0xc4, 0x09, 0x09, 0x29, 0x86, 0xed, 0xbf, 0x53, 0x10, 0xc1, 0x35, 0x55, 0x63, 0xef, - 0x72, 0x2b, 0x2e, 0x71, 0xae, 0x64, 0x11, 0x3d, 0xf2, 0x3f, 0x94, 0xff, 0xfe, 0x34, 0x66, 0x14, - 0x9c, 0x71, 0x37, 0x2f, 0xb9, 0x6c, 0x08, 0x38, 0x0a, 0xb6, 0xa0, 0x4c, 0x23, 0x17, 0xcd, 0xcf, - 0x1c, 0xac, 0xc3, 0x94, 0x8f, 0xb5, 0x0c, 0x38, 0xcf, 0x49, 0xe6, 0x9d, 0x38, 0xcc, 0xf7, 0xaf, - 0xa1, 0xf6, 0x7c, 0x64, 0x07, 0xbf, 0x70, 0x53, 0xfa, 0x00, 0x7f, 0x24, 0xe9, 0x24, 0x2a, 0x02, - 0x46, 0xcb, 0xcf, 0x87, 0x70, 0x88, 0x4d, 0x75, 0xb2, 0x2a, 0xfd, 0x22, 0x0c, 0x74, 0xcd, 0x94, - 0x1d, 0x38, 0x6d, 0x48, 0x1a, 0x0b, 0x63, 0x56, 0x91, 0x04, 0x73, 0xdf, 0xb5, 0x12, 0x68, 0x7a, - 0x56, 0xfb, 0xe4, 0x20, 0x19, 0x9a, 0xbc, 0x0d, 0x82, 0xd5, 0x6f, 0xb3, 0x76, 0xaf, 0x1f, 0x68, - 0xa9, 0x4f, 0x01, 0xe3, 0xac, 0xc9, 0xbe, 0xc1, 0xe7, 0x55, 0x0c, 0x77, 0x00, 0x7d, 0xf3, 0x73, - 0x7c, 0x5f, 0x73, 0x51, 0x82, 0xf5, 0xb2, 0x3b, 0x58, 0xf4, 0xde, 0xff, 0x9f, 0xb8, 0xe2, 0xdb, - 0x34, 0x97, 0xa8, 0xea, 0xb9, 0xda, 0xfa, 0xc4, 0xdc, 0x1f, 0x60, 0x6b, 0xeb, 0x08, 0xa6, 0x5f, - 0xad, 0x16, 0x41, 0xe4, 0x2c, 0xed, 0x67, 0x25, 0x19, 0xe7, 0x1a, 0x21, 0x8a, 0x44, 0xb1, 0x2e, - 0xfd, 0x5d, 0x8e, 0x9a, 0xfb, 0xc1, 0xbd, 0xfa, 0x2a, 0xd3, 0x97, 0xf3, 0x17, 0xb5, 0x00, 0x44, - 0x3a, 0x55, 0x44, 0x34, 0x16, 0xa4, 0xa5, 0x21, 0xd1, 0xd6, 0x00, 0xb5, 0xda, 0x56, 0x53, 0xdd, - 0xfc, 0x82, 0xa2, 0x4e, 0x57, 0x58, 0xe8, 0x27, 0x49, 0xcb, 0xd3, 0xc0, 0x6d, 0x1e, 0x15, 0xce, - 0x41, 0xc1, 0x1f, 0xe7, 0xf7, 0xa1, 0x1b, 0xc2, 0x3f, 0xd5, 0x67, 0xea, 0xb1, 0xa4, 0xf6, 0x3c, - 0xb4, 0x57, 0x88, 0xe2, 0x6c, 0x6a, 0x1a, 0xd5, 0xe7, 0x1a, 0x87, 0xe8, 0xc7, 0x83, 0x31, 0x3a, - 0xf0, 0x6d, 0x63, 0x48, 0x4e, 0x9c, 0xac, 0x3a, 0xff, 0x7b, 0xbd, 0x2b, 0xd1, 0x3a, 0xd2, 0xd6, - 0x4f, 0xb3, 0x0b, 0x33, 0x0d, 0xf1, 0x58, 0xfc, 0x8f, 0x6c, 0x20, 0x46, 0xef, 0xd3, 0x4c, 0xbb, - 0x20, 0x17, 0x19, 0x65, 0x31, 0x84, 0x76, 0x8c, 0x6d, 0xb3, 0xd1, 0x32, 0x35, 0x6a, 0x95, 0xf0, - 0x30, 0x14, 0xb0, 0xc2, 0xb6, 0x35, 0x77, 0x6f, 0x4d, 0xa2, 0x1d, 0x70, 0xb6, 0x6a, 0xa2, 0x57, - 0xe1, 0xeb, 0xef, 0x34, 0xf4, 0x62, 0x95, 0xf7, 0xa5, 0x5b, 0x2f, 0xc8, 0x68, 0x85, 0xdf, 0x8a, - 0x56, 0x26, 0x53, 0x0f, 0xdb, 0x83, 0xb5, 0x25, 0x65, 0xfd, 0xdb, 0x12, 0xa2, 0x70, 0x5a, 0x9c, - 0xff, 0x0a, 0x10, 0xb1, 0x18, 0xf8, 0x14, 0xef, 0xf2, 0x9c, 0x7b, 0xc8, 0x47, 0xc3, 0xfa, 0x44, - 0x33, 0x2c, 0xcc, 0x53, 0xd4, 0x05, 0x98, 0x52, 0xac, 0x2a, 0xda, 0xab, 0x23, 0xf6, 0xb1, 0xa8, - 0x1b, 0xe1, 0x0e, 0x79, 0x08, 0xeb, 0x8d, 0xa8, 0x7c, 0x1d, 0xa0, 0x51, 0x5a, 0xd0, 0x55, 0xe8, - 0xe1, 0x08, 0x5e, 0x29, 0x7e, 0xc1, 0x1a, 0x43, 0x01, 0xff, 0x81, 0x8f, 0xa8, 0x8a, 0x93, 0xb1, - 0xcf, 0xd0, 0x45, 0x63, 0x2e, 0xdb, 0xec, 0x8b, 0x9d, 0x25, 0x4b, 0x25, 0xac, 0x6f, 0x47, 0x59, - 0x76, 0xbd, 0x6f, 0x7e, 0xa0, 0xd1, 0x2c, 0xbf, 0x05, 0x51, 0x43, 0x6a, 0x5f, 0xa8, 0x91, 0xc2, - 0x70, 0xed, 0x45, 0x45, 0x82, 0x59, 0x97, 0xb9, 0x49, 0x7b, 0x59, 0x46, 0xef, 0x06, 0x85, 0x93, - 0xd5, 0xf1, 0x81, 0x91, 0x0c, 0xd8, 0xa9, 0x1b, 0x4c, 0xab, 0x2d, 0xad, 0x52, 0xfb, 0x79, 0xf9, - 0x07, 0x71, 0xba, 0x5f, 0x98, 0xde, 0xbd, 0xd4, 0x3c, 0x6e, 0x0e, 0x9b, 0x58, 0xe2, 0x2e, 0xd1, - 0xe6, 0xfc, 0x51, 0x78, 0x1c, 0x13, 0x21, 0x4d, 0xdd, 0x38, 0xf4, 0x53, 0xa6, 0x5a, 0x49, 0x73, - 0xbd, 0x53, 0xd7, 0x92, 0xbc, 0xfd, 0xc1, 0x1e, 0x3d, 0x09, 0x17, 0x7e, 0x17, 0x8e, 0x2a, 0x62, - 0xe1, 0x67, 0x02, 0x2e, 0x29, 0x0f, 0xd8, 0x1e, 0x13, 0x53, 0xce, 0x16, 0x62, 0xc5, 0x2a, 0xc7, - 0xf3, 0x34, 0xf5, 0x7c, 0x49, 0xa0, 0x6e, 0x23, 0x06, 0xa6, 0xc1, 0xca, 0x5e, 0x8a, 0x67, 0x4e, - 0x74, 0x6f, 0xb5, 0x49, 0xe7, 0x80, 0x43, 0xdd, 0xec, 0x58, 0x98, 0x75, 0x41, 0x56, 0x1e, 0xbf, - 0x56, 0x6e, 0x71, 0xee, 0xa4, 0x3e, 0xd1, 0x64, 0xaa, 0x43, 0x6e, 0xfb, 0x61, 0x52, 0xf5, 0x2f, - 0x42, 0x6a, 0xb4, 0x7d, 0x1e, 0x63, 0xd9, 0x72, 0x73, 0x67, 0xa8, 0x58, 0x78, 0x49, 0xc5, 0x83, - 0xae, 0x57, 0x31, 0xeb, 0x3a, 0x9e, 0xe7, 0x1d, 0xd9, 0x5f, 0xac, 0x43, 0x49, 0x83, 0x5b, 0x7d, - 0x37, 0x7c, 0x8c, 0x80, 0x34, 0xa5, 0xcb, 0xbf, 0xd3, 0xef, 0xb9, 0xb8, 0xa3, 0x68, 0x54, 0x23, - 0xb0, 0x9e, 0xb4, 0xa8, 0xde, 0xe6, 0x48, 0x3a, 0xb5, 0x8c, 0x4b, 0x5c, 0x55, 0x3f, 0x8d, 0x10, - 0xf6, 0xad, 0x17, 0xb4, 0xb4, 0x44, 0x04, 0xbe, 0xca, 0x51, 0x5b, 0xc8, 0xce, 0x10, 0x5a, 0x7f, - 0xa8, 0x00, 0xa3, 0xe6, 0xf8, 0x6a, 0xba, 0xc1, 0x1a, 0x79, 0xe2, 0x9b, 0xfd, 0x6d, 0x67, 0xba, - 0xb7, 0x28, 0xae, 0xfd, 0xd0, 0xfe, 0xb2, 0xb6, 0x09, 0x69, 0xc2, 0xba, 0x0c, 0xe0, 0xe7, 0x8b, - 0x55, 0xa4, 0x98, 0x96, 0xd5, 0x2b, 0x7b, 0x65, 0xce, 0xad, 0xed, 0x60, 0x43, 0x4a, 0xc5, 0x47, - 0xd9, 0xda, 0xc8, 0x6c, 0x8f, 0x96, 0xc8, 0xbd, 0x39, 0x22, 0xae, 0xc7, 0x7e, 0x20, 0x86, 0xa3, - 0x05, 0xf6, 0xb6, 0x09, 0x11, 0xca, 0x33, 0x18, 0x88, 0x55, 0x5c, 0xfb, 0x07, 0xbb, 0x38, 0x29, - 0x41, 0x67, 0xc2, 0x52, 0xbe, 0xca, 0x7f, 0x74, 0x7c, 0x37, 0xef, 0x03, 0x44, 0xc2, 0x88, 0xca, - 0x54, 0x63, 0x49, 0xd5, 0xca, 0x17, 0xe5, 0x5b, 0x96, 0xd3, 0xa9, 0x6d, 0x8b, 0x96, 0x33, 0x71, - 0x0a, 0x79, 0xff, 0xd0, 0xb5, 0xa4, 0x1f, 0x50, 0xcc, 0x08, 0xb5, 0xfd, 0x8b, 0xc6, 0xe6, 0x1f, - 0xcd, 0xbb, 0x6e, 0x24, 0xfa, 0x20, 0xcc, 0x64, 0x1e, 0xa0, 0xe5, 0x7c, 0x6d, 0x40, 0x0e, 0xb7, - 0x0d, 0x3c, 0xa6, 0xd5, 0x6e, 0x6f, 0xaa, 0xe9, 0x08, 0x85, 0xd3, 0x7b, 0x3f, 0x07, 0x3c, 0x40, - 0x2e, 0x0a, 0xca, 0x23, 0x41, 0x0c, 0xa3, 0x38, 0x15, 0x83, 0x21, 0x92, 0x3d, 0x49, 0x97, 0x88, - 0xb6, 0xfa, 0xed, 0xcd, 0x28, 0xdf, 0x34, 0xc3, 0xe7, 0x28, 0x18, 0x07, 0x6f, 0x72, 0x41, 0xc6, - 0x40, 0xd3, 0x15, 0x26, 0x96, 0xe1, 0xcd, 0x0e, 0xbe, 0xac, 0x52, 0x67, 0x9d, 0xe7, 0x69, 0x46, - 0x68, 0x67, 0x50, 0x8c, 0x08, 0x10, 0xbe, 0xab, 0x2d, 0xa4, 0xaf, 0xa7, 0x5f, 0xdf, 0x14, 0x51, - 0x3b, 0xb6, 0x96, 0xc8, 0xdd, 0x5c, 0xc8, 0xf5, 0x13, 0x15, 0x1e, 0xc3, 0x73, 0x80, 0x53, 0x84, - 0x05, 0x47, 0x9e, 0xc6, 0x58, 0xe4, 0x45, 0x03, 0x8d, 0xbe, 0x3d, 0x1a, 0x89, 0x1c, 0xe3, 0xe9, - 0x18, 0xb2, 0xbb, 0x38, 0x0b, 0x7f, 0xcf, 0x2a, 0x03, 0x58, 0x20, 0x2c, 0xd9, 0x0a, 0xf4, 0xe8, - 0x1a, 0xc8, 0xa6, 0xad, 0xb5, 0x64, 0x9b, 0x2c, 0x5e, 0x4c, 0x68, 0xb8, 0x43, 0x4f, 0x96, 0x8d, - 0x0d, 0x6e, 0xbc, 0xf6, 0xe1, 0xfe, 0x6e, 0xbf, 0x20, 0x2e, 0xf1, 0xe1, 0x81, 0x44, 0x62, 0x6a, - 0x33, 0xa5, 0x34, 0x73, 0xf3, 0x73, 0x57, 0x82, 0x8f, 0xe8, 0x34, 0x69, 0xa8, 0x9c, 0xa2, 0x61, - 0x20, 0xb1, 0xba, 0xd1, 0x9c, 0xd6, 0x51, 0x62, 0x2e, 0x69, 0x8b, 0x12, 0xdf, 0x03, 0xd5, 0xc0, - 0x18, 0x47, 0xf3, 0x56, 0x47, 0xe0, 0xe0, 0x65, 0xde, 0x39, 0x1a, 0xf7, 0xd1, 0x85, 0x8d, 0xa9, - 0x3f, 0x30, 0xaa, 0x99, 0x0f, 0xcd, 0x4a, 0xe1, 0x70, 0xfc, 0x5d, 0x08, 0xc2, 0x25, 0x6d, 0xc6, - 0xfa, 0xb8, 0x78, 0x23, 0x07, 0xa9, 0xca, 0xd8, 0x5e, 0x1a, 0x70, 0x03, 0xfd, 0x48, 0x74, 0x3f, - 0x7b, 0x8c, 0xc1, 0x94, 0x5c, 0xf7, 0x1d, 0x83, 0xb0, 0x80, 0x0c, 0x7f, 0x46, 0x18, 0x08, 0x45, - 0xc6, 0xa5, 0xd0, 0xfc, 0x1a, 0x19, 0xf8, 0x2b, 0xca, 0xbe, 0x21, 0x9c, 0x7d, 0x4f, 0x92, 0x75, - 0x17, 0x4f, 0x94, 0xde, 0xdd, 0x00, 0x44, 0x1a, 0x60, 0xbd, 0x86, 0x17, 0x19, 0x5d, 0x68, 0x4b, - 0x67, 0x08, 0xe6, 0x8f, 0xb8, 0x6f, 0x28, 0x81, 0x4e, 0x99, 0x6c, 0x7f, 0x3a, 0x6e, 0x13, 0x08, - 0x39, 0x73, 0x48, 0x9a, 0x4a, 0xe0, 0xb4, 0x54, 0x7d, 0xe6, 0xd7, 0xda, 0x3f, 0x83, 0x0b, 0x8a, - 0x20, 0x6b, 0x74, 0x61, 0x8a, 0x73, 0xc3, 0xf7, 0xd9, 0x81, 0x80, 0x50, 0xee, 0x72, 0x85, 0xf9, - 0x7e, 0x4f, 0x5b, 0x24, 0xac, 0xff, 0x64, 0x05, 0x0e, 0xbc, 0x79, 0xeb, 0xc4, 0x4e, 0x3b, 0x94, - 0xae, 0xbc, 0x05, 0xd5, 0x72, 0x65, 0xb3, 0xed, 0x74, 0x02, 0x54, 0x5f, 0x7e, 0x42, 0xf8, 0x74, - 0xbf, 0x97, 0xe9, 0x10, 0x56, 0xa8, 0xdc, 0x02, 0x9b, 0x7f, 0xdc, 0x12, 0x4d, 0x3c, 0x5a, 0x9d, - 0x4c, 0x54, 0xc3, 0x19, 0xfb, 0xf1, 0x34, 0xe1, 0x69, 0xb1, 0xe5, 0x16, 0x50, 0x79, 0x3d, 0x90, - 0x5c, 0x37, 0xc3, 0x4e, 0xc3, 0x56, 0x98, 0xb3, 0xcb, 0xb3, 0xa4, 0xb8, 0x2f, 0xbc, 0x5f, 0x8d, - 0xc1, 0xc9, 0xc9, 0xca, 0x4b, 0xac, 0x0a, 0x0c, 0x0d, 0x03, 0x7a, 0x97, 0x69, 0x60, 0xe5, 0x2a, - 0xc8, 0x63, 0xc4, 0x6d, 0xc7, 0xf8, 0xfe, 0x2d, 0x24, 0x17, 0xb3, 0x3f, 0x67, 0xe5, 0xc4, 0xec, - 0xd7, 0xf4, 0x06, 0xe8, 0x04, 0x92, 0x4c, 0x79, 0xe2, 0xc9, 0x7f, 0x22, 0xb8, 0x1a, 0x33, 0xe5, - 0x4d, 0x4c, 0x57, 0x2a, 0xb5, 0x30, 0x6b, 0x28, 0x7e, 0xb9, 0x5e, 0x92, 0x0a, 0x4f, 0x83, 0xa9, - 0xde, 0x14, 0xfa, 0x1d, 0x97, 0xf7, 0x71, 0xcc, 0xfa, 0xfa, 0x7d, 0x5d, 0xe4, 0xf8, 0xcf, 0x58, - 0x93, 0x4f, 0x32, 0x37, 0xdb, 0x4d, 0x07, 0xf0, 0x48, 0x59, 0x3a, 0x1c, 0xd8, 0xb8, 0xc5, 0xe8, - 0x0c, 0x0d, 0x5c, 0xf6, 0xd2, 0x39, 0xee, 0x84, 0xe8, 0x29, 0xa6, 0x3b, 0xf8, 0x0a, 0xf2, 0x7a, - 0xfe, 0x07, 0xa0, 0xb5, 0xda, 0xdd, 0xc2, 0x02, 0x4e, 0x60, 0x3a, 0x2f, 0x2a, 0x45, 0x7c, 0x55, - 0xe3, 0x07, 0x06, 0xcc, 0xfd, 0xa9, 0x32, 0x7c, 0x8c, 0x3c, 0xba, 0xe6, 0xf0, 0x9d, 0x05, 0xeb, - 0xd7, 0xf5, 0xdc, 0x8c, 0x45, 0xee, 0x7d, 0xf7, 0xae, 0xa9, 0xde, 0xc3, 0x78, 0x7f, 0xa3, 0x66, - 0xa3, 0x20, 0xba, 0x93, 0x74, 0x05, 0xed, 0xa6, 0xf1, 0xb1, 0xf6, 0xc8, 0x96, 0xf4, 0xaa, 0xcc, - 0x6f, 0xf5, 0x22, 0x91, 0x13, 0xd0, 0xef, 0x43, 0x59, 0x25, 0xaa, 0xdd, 0xb0, 0x48, 0xd6, 0x4b, - 0x2c, 0x10, 0x0a, 0xa1, 0x5a, 0xa4, 0x98, 0xf8, 0x0f, 0x48, 0x8e, 0xd1, 0x24, 0x1e, 0x83, 0xa5, - 0x7d, 0x41, 0x07, 0xd2, 0x71, 0x49, 0x66, 0x9b, 0x1d, 0x80, 0xb0, 0x98, 0xd2, 0x3a, 0xec, 0x06, - 0xea, 0xdc, 0x6f, 0x7c, 0xff, 0x2f, 0x7b, 0xe2, 0xfb, 0xe3, 0xb1, 0x87, 0x18, 0xa1, 0x94, 0xb8, - 0x0d, 0x42, 0xd6, 0x05, 0x98, 0x87, 0xbc, 0x57, 0x23, 0x36, 0x80, 0x45, 0x87, 0x6a, 0x53, 0xe7, - 0xa1, 0x46, 0x11, 0xbb, 0x2b, 0xea, 0xbe, 0xf9, 0xe8, 0x68, 0x18, 0x54, 0x38, 0x99, 0x68, 0x99, - 0x7b, 0x05, 0x4a, 0x45, 0xa1, 0xa3, 0xb7, 0xec, 0x20, 0x5c, 0xf2, 0x36, 0xea, 0x07, 0x07, 0x42, - 0x70, 0x0c, 0xf5, 0x30, 0xd0, 0xaf, 0x8d, 0x0d, 0xa4, 0xc8, 0x65, 0xfd, 0x43, 0x41, 0x14, 0xc0, - 0x6f, 0x86, 0x0d, 0x4b, 0xca, 0x47, 0x7c, 0xc4, 0xec, 0x5e, 0x22, 0x88, 0x5d, 0x23, 0x8a, 0x68, - 0xc7, 0x88, 0x33, 0x5d, 0xc9, 0x9b, 0xdd, 0x23, 0xf8, 0x68, 0x29, 0xf3, 0xa4, 0xb5, 0x31, 0x61, - 0x07, 0x01, 0x7c, 0xca, 0x59, 0xa3, 0xe7, 0x54, 0x03, 0x4e, 0x95, 0x8d, 0xbf, 0x89, 0x0b, 0xf8, - 0xb1, 0x5c, 0x7c, 0xf4, 0x71, 0x91, 0xe0, 0x80, 0x0d, 0xb8, 0x6d, 0xb2, 0x96, 0xdc, 0xa7, 0xa5, - 0x90, 0x42, 0xb6, 0x03, 0xde, 0x17, 0x51, 0xb9, 0xd8, 0x1d, 0x44, 0x4d, 0x90, 0x1a, 0x1b, 0xea, - 0x53, 0xc5, 0xe5, 0x9f, 0xeb, 0x9e, 0x85, 0x06, 0x79, 0x67, 0x2b, 0x39, 0x57, 0xb8, 0x0f, 0x70, - 0xef, 0x17, 0xcb, 0x20, 0xb1, 0x59, 0x72, 0x1a, 0xc1, 0x58, 0x47, 0x96, 0x0b, 0xcb, 0x50, 0x98, - 0xa5, 0xb2, 0x5e, 0x0d, 0xbb, 0xe5, 0x30, 0x0d, 0x17, 0x86, 0x26, 0xea, 0x0b, 0x6b, 0x73, 0x83, - 0x00, 0xdd, 0x7f, 0xae, 0x34, 0x84, 0xe7, 0x45, 0x0d, 0x0e, 0x5f, 0x75, 0x40, 0xe6, 0xb3, 0x98, - 0x35, 0x30, 0xe5, 0x9a, 0x97, 0xfd, 0x58, 0x8e, 0x27, 0x09, 0x89, 0xc3, 0xa5, 0x89, 0xec, 0x4f, - 0x1e, 0xea, 0x2d, 0x58, 0xec, 0x8f, 0x34, 0x6b, 0x91, 0x42, 0xdb, 0xff, 0xef, 0x49, 0xba, 0x83, - 0x00, 0x7f, 0x85, 0xb8, 0x4a, 0xce, 0x9c, 0x55, 0xf9, 0x84, 0x01, 0x86, 0x23, 0x93, 0x7f, 0x97, - 0x9e, 0x21, 0x9c, 0xdb, 0x53, 0xd8, 0xe5, 0x87, 0x30, 0xc8, 0xe3, 0x2e, 0xda, 0x75, 0xd4, 0xec, - 0xe2, 0x4a, 0xd2, 0x68, 0x5c, 0xc7, 0x35, 0x08, 0x77, 0x75, 0x6f, 0x91, 0x85, 0x23, 0x7b, 0x94, - 0xd0, 0x9d, 0x23, 0x9b, 0x35, 0xec, 0x1e, 0x8d, 0x8b, 0x32, 0x47, 0xf7, 0x16, 0x6b, 0x59, 0x8a, - 0x2d, 0x6f, 0xdf, 0x52, 0xee, 0xd3, 0x42, 0x98, 0x58, 0xfb, 0xa2, 0x40, 0xad, 0xbc, 0x78, 0x55, - 0x0f, 0xab, 0xab, 0xf7, 0x53, 0x3a, 0x75, 0xcd, 0xf5, 0x98, 0xa0, 0xca, 0x8c, 0x90, 0x0a, 0x29, - 0xc9, 0xc4, 0xc9, 0x88, 0x83, 0x47, 0x37, 0xea, 0xb6, 0x9d, 0x08, 0xda, 0x60, 0xf7, 0x54, 0x5d, - 0xa8, 0x81, 0x1f, 0x1b, 0x48, 0xb3, 0xe4, 0x4e, 0xde, 0x33, 0xe5, 0x1d, 0x88, 0xf0, 0x46, 0x8c, - 0x8d, 0x3c, 0x57, 0x40, 0x3b, 0x25, 0x43, 0xe6, 0xf3, 0x23, 0x16, 0x46, 0x96, 0x12, 0x8f, 0x55, - 0x53, 0xa2, 0x01, 0x23, 0x14, 0x7e, 0xcf, 0x6d, 0xbe, 0xae, 0xd0, 0xc5, 0x61, 0xea, 0xd2, 0x85, - 0xcd, 0x3c, 0xd7, 0xff, 0x3d, 0x27, 0xe7, 0xca, 0x3b, 0x86, 0x4e, 0xd1, 0x6f, 0x3b, 0x09, 0xdf, - 0x06, 0x60, 0x3d, 0xcb, 0x1b, 0xc5, 0x77, 0xb0, 0x7b, 0xe4, 0x5e, 0x15, 0x6b, 0xb1, 0x17, 0xe3, - 0xd4, 0x21, 0x11, 0x9f, 0x5b, 0x93, 0x68, 0x1e, 0xa2, 0xad, 0x4c, 0xf6, 0xdb, 0x2e, 0xa9, 0x58, - 0x95, 0xef, 0x5b, 0x64, 0xb0, 0x1d, 0x57, 0x7f, 0x53, 0x84, 0xeb, 0xfe, 0xef, 0xe8, 0xce, 0x79, - 0x58, 0x52, 0x0d, 0x4d, 0x33, 0x45, 0x71, 0x70, 0xc5, 0x44, 0x36, 0xfe, 0x7a, 0xd6, 0x5e, 0x13, - 0x2f, 0xd5, 0xc7, 0xf4, 0x45, 0x20, 0xab, 0xae, 0x2c, 0xd8, 0xfa, 0x78, 0xf2, 0x49, 0x82, 0xc9, - 0x11, 0x84, 0x46, 0x79, 0x91, 0x1c, 0xd0, 0xd5, 0x5c, 0x98, 0xf6, 0x62, 0xd2, 0xfc, 0xd4, 0xc4, - 0xc8, 0x5d, 0x0b, 0x08, 0x34, 0xcf, 0x6d, 0xff, 0x46, 0x15, 0x03, 0xf2, 0x22, 0x86, 0xd7, 0x82, - 0xde, 0x71, 0xc0, 0x26, 0xd8, 0x69, 0x07, 0x8c, 0x05, 0x2e, 0x49, 0x2e, 0x8e, 0x74, 0xfb, 0xb3, - 0x20, 0x39, 0xd4, 0xec, 0x68, 0x74, 0x79, 0x49, 0x1d, 0x84, 0x42, 0x26, 0xe5, 0x56, 0x86, 0xe7, - 0xe0, 0x7f, 0x69, 0xf4, 0xcc, 0xf4, 0xca, 0x71, 0x6e, 0xe8, 0x4f, 0x65, 0xca, 0x4b, 0xf2, 0xb8, - 0xd8, 0x98, 0x73, 0xe1, 0x20, 0x55, 0xf9, 0xb9, 0xb8, 0xe9, 0x89, 0x02, 0xd9, 0xc6, 0xf9, 0x2d, - 0xbd, 0x5b, 0xd3, 0x40, 0xa0, 0x5c, 0xe0, 0x3d, 0x14, 0x30, 0x81, 0x9a, 0x12, 0x1e, 0xa2, 0xe8, - 0x22, 0x3b, 0x49, 0x07, 0x34, 0x4d, 0xd2, 0xcf, 0xe0, 0xa2, 0x62, 0xb9, 0x13, 0x71, 0xa9, 0x33, - 0x51, 0x76, 0xa5, 0x37, 0x8a, 0x73, 0xb2, 0xa3, 0xc9, 0x48, 0xa0, 0x38, 0x6d, 0x8c, 0x07, 0x90, - 0xa2, 0x49, 0xbd, 0x3a, 0x47, 0x8b, 0x30, 0x65, 0x3a, 0x68, 0xfc, 0x0b, 0x59, 0xc1, 0xaa, 0x40, - 0xfb, 0x21, 0x84, 0x93, 0x8c, 0x87, 0x19, 0x90, 0x69, 0x42, 0x4e, 0x77, 0x9d, 0xdc, 0xcc, 0x7c, - 0xd7, 0xdf, 0x12, 0x8a, 0x73, 0x69, 0x5c, 0x0a, 0x4c, 0x42, 0x5a, 0x5e, 0xd5, 0x0f, 0x92, 0xf9, - 0x78, 0x50, 0x4d, 0xa5, 0x5a, 0xd4, 0xcc, 0x8e, 0xc1, 0x77, 0x21, 0x05, 0xfc, 0x07, 0x27, 0xf2, - 0x36, 0x46, 0x91, 0x76, 0x27, 0xa9, 0x24, 0x32, 0x15, 0x36, 0x88, 0x3a, 0x72, 0x04, 0xdd, 0x6f, - 0x55, 0x6f, 0xc6, 0x04, 0x14, 0x70, 0x6d, 0xb2, 0x0e, 0x88, 0xca, 0xb7, 0x2d, 0x7e, 0x83, 0xeb, - 0xf7, 0xbb, 0x7d, 0xe7, 0x75, 0xc9, 0x88, 0x94, 0x5b, 0x7a, 0xee, 0x1d, 0x83, 0x25, 0xa3, 0x01, - 0x93, 0xeb, 0x27, 0x2a, 0x7a, 0xbc, 0x52, 0xea, 0x8a, 0xac, 0xbb, 0x38, 0xd3, 0x01, 0x59, 0xb7, - 0xa8, 0xf8, 0xcd, 0xf7, 0x55, 0x63, 0x06, 0x4a, 0x48, 0x69, 0xc6, 0xb7, 0xbe, 0xe0, 0xeb, 0x0d, - 0x5a, 0xa3, 0x03, 0xb6, 0xbf, 0x61, 0xb5, 0xb5, 0x89, 0x22, 0xf3, 0x53, 0x4b, 0xa9, 0xa4, 0x38, - 0xf5, 0x75, 0x87, 0xeb, 0x0e, 0x1a, 0x83, 0xe5, 0x83, 0x54, 0x23, 0x87, 0xae, 0xf7, 0x43, 0x46, - 0x78, 0x9c, 0x23, 0x40, 0xf0, 0xe2, 0x52, 0x04, 0x46, 0x12, 0xda, 0xdc, 0x50, 0x7a, 0xb6, 0x13, - 0x41, 0xcf, 0xbf, 0x93, 0x48, 0xe3, 0xaa, 0x37, 0xb0, 0xc6, 0x18, 0x68, 0x3d, 0x21, 0xbf, 0x26, - 0x9b, 0xc4, 0x2f, 0xa8, 0x13, 0xeb, 0x84, 0x9a, 0xe6, 0x2b, 0x43, 0x76, 0x92, 0x8f, 0xef, 0x6b, - 0xbf, 0x92, 0xa0, 0x3a, 0x97, 0xde, 0xff, 0xa1, 0xde, 0x40, 0x31, 0x1e, 0xf9, 0xf1, 0x84, 0x89, - 0x39, 0x7d, 0x5c, 0xd3, 0xcf, 0x3e, 0xdc, 0xc0, 0x1c, 0x2c, 0x0d, 0x7b, 0x22, 0x21, 0x95, 0x70, - 0x85, 0x66, 0x3b, 0x9b, 0x4b, 0x70, 0x69, 0xb9, 0x79, 0x54, 0x92, 0x63, 0xd5, 0x41, 0xac, 0x63, - 0x26, 0x4f, 0x97, 0xf0, 0x22, 0xba, 0xa8, 0x9d, 0xba, 0xf1, 0x01, 0xf6, 0x81, 0xfa, 0x29, 0xc0, - 0x50, 0x7a, 0xf5, 0x22, 0x4b, 0xc2, 0x54, 0x75, 0x0f, 0x94, 0x2b, 0x00, 0x84, 0xbd, 0x00, 0x6b, - 0xca, 0xd2, 0xd8, 0x76, 0xa7, 0xf0, 0x91, 0x78, 0x92, 0xc5, 0x7a, 0x7f, 0x78, 0x8f, 0xe1, 0xbc, - 0x74, 0xd3, 0xab, 0xc8, 0x81, 0x7a, 0x4a, 0x08, 0xf8, 0x00, 0xed, 0x65, 0x5f, 0x79, 0xda, 0xf0, - 0xc1, 0xfc, 0x15, 0x43, 0x1c, 0x67, 0x05, 0x78, 0xab, 0x3b, 0x49, 0x29, 0x87, 0xa7, 0x5c, 0x90, - 0x71, 0xca, 0x80, 0x10, 0xc2, 0x88, 0x1c, 0x2a, 0xd6, 0x9e, 0x92, 0x21, 0xb9, 0xa1, 0xe2, 0x82, - 0x51, 0x0c, 0x60, 0x61, 0x07, 0x17, 0x3e, 0x3f, 0x64, 0xb7, 0xac, 0xa2, 0xc6, 0x10, 0x9a, 0x57, - 0xd2, 0xd0, 0x86, 0x92, 0x3c, 0x15, 0x96, 0x41, 0x3d, 0x13, 0x74, 0xd2, 0x64, 0xa3, 0x4a, 0x4b, - 0x16, 0x5c, 0x8b, 0x5f, 0x13, 0x6b, 0xf3, 0xed, 0xca, 0xdc, 0xa0, 0x59, 0x2f, 0x9e, 0x91, 0xeb, - 0x12, 0xc2, 0xfb, 0x89, 0x57, 0x8f, 0xc2, 0x0b, 0x22, 0x3a, 0x7f, 0xc9, 0x5a, 0x49, 0x5b, 0x9e, - 0x22, 0x4e, 0x93, 0xd6, 0xcf, 0xc4, 0x26, 0x82, 0x9d, 0xdd, 0x0f, 0x61, 0xc1, 0x95, 0x7c, 0xb0, - 0x33, 0x9e, 0xce, 0xce, 0xd9, 0x4f, 0x2a, 0x54, 0x46, 0xc1, 0xd7, 0xc3, 0xee, 0x30, 0xee, 0x35, - 0xc1, 0xe2, 0x44, 0xca, 0x17, 0x41, 0xc2, 0x79, 0xc1, 0x39, 0x78, 0xc8, 0x11, 0x12, 0xb1, 0x7b, - 0x2a, 0x63, 0xc4, 0x49, 0xdc, 0x76, 0x19, 0x7d, 0x9f, 0x94, 0x60, 0x04, 0x04, 0x19, 0x99, 0xbc, - 0x4d, 0x64, 0x15, 0x0e, 0x3e, 0x1d, 0x7c, 0x61, 0x28, 0x51, 0x58, 0x0f, 0xf5, 0xa3, 0x66, 0xfb, - 0xac, 0xb7, 0xc5, 0xe5, 0xf0, 0xea, 0xbe, 0xee, 0x3a, 0xc2, 0x01, 0xe5, 0xb4, 0xde, 0x06, 0x2c, - 0xee, 0x5f, 0xd2, 0x5e, 0xeb, 0x12, 0x81, 0x76, 0x47, 0x4e, 0x30, 0xd5, 0xe8, 0xaf, 0x9b, 0x9d, - 0x2a, 0x3b, 0xbf, 0xd4, 0x64, 0xb4, 0x5d, 0xe7, 0x87, 0x54, 0xc7, 0x7b, 0xc3, 0x3a, 0x59, 0xd3, - 0x3d, 0x62, 0xec, 0x41, 0x8b, 0x70, 0xac, 0xe9, 0x96, 0x2f, 0xe1, 0xd0, 0x93, 0x2f, 0x9b, 0x2a, - 0x40, 0x9c, 0x43, 0xe5, 0x47, 0xf6, 0xf8, 0x36, 0xb2, 0x5f, 0xe3, 0x05, 0x40, 0x79, 0x71, 0xa3, - 0x32, 0xbb, 0x64, 0xf8, 0x28, 0x10, 0x41, 0x3a, 0xa8, 0xe3, 0x15, 0x3c, 0x4d, 0x91, 0x0b, 0xf3, - 0x2a, 0x21, 0xc6, 0xdc, 0x22, 0xed, 0x2b, 0x2c, 0x98, 0x98, 0xa4, 0xd2, 0x34, 0x2c, 0x74, 0x32, - 0x80, 0x3c, 0x81, 0x93, 0xa3, 0x6e, 0xab, 0xd6, 0x1d, 0xd0, 0x2f, 0x88, 0x87, 0x47, 0xde, 0x44, - 0x4d, 0xf0, 0x83, 0x65, 0xa5, 0xdd, 0xde, 0xcc, 0x0b, 0x2e, 0x15, 0x2b, 0x18, 0xf3, 0x34, 0xbc, - 0x07, 0xf9, 0x0b, 0x76, 0xea, 0x67, 0x58, 0x35, 0xae, 0xdd, 0x14, 0x61, 0xff, 0x6a, 0xc9, 0xbe, - 0x6c, 0x6c, 0xe2, 0x6b, 0x5c, 0x8c, 0xa4, 0xab, 0x59, 0xf5, 0xaf, 0x0c, 0xa1, 0x5c, 0xb7, 0x3f, - 0xba, 0x58, 0xa6, 0x22, 0x5f, 0x97, 0x94, 0x2c, 0x94, 0xd1, 0xf5, 0x0f, 0x74, 0xa3, 0xc6, 0x7d, - 0xdf, 0x96, 0x93, 0x07, 0x8d, 0xf6, 0x1c, 0xd8, 0x08, 0x81, 0x6e, 0xef, 0x17, 0x2f, 0xc0, 0x6c, - 0x36, 0xf0, 0x44, 0xe5, 0xa1, 0x42, 0xe8, 0x7d, 0x54, 0x22, 0xc4, 0x31, 0x88, 0xa7, 0xba, 0x07, - 0x6c, 0x5f, 0x7f, 0x98, 0x85, 0xd9, 0xe1, 0x6c, 0xf5, 0x20, 0xed, 0xd1, 0x3c, 0x25, 0x55, 0xf9, - 0x46, 0x3a, 0xe0, 0x21, 0x85, 0xb0, 0x60, 0xce, 0x7c, 0x4f, 0x8b, 0x32, 0x4d, 0xc1, 0x26, 0x04, - 0xa4, 0x09, 0xb6, 0xc2, 0x8a, 0xa4, 0x3e, 0xe9, 0x33, 0xdf, 0x2b, 0xf3, 0xaf, 0xa1, 0x45, 0x69, - 0xd5, 0x8c, 0x3a, 0xf8, 0x2d, 0x77, 0x1c, 0x74, 0x23, 0x82, 0x3d, 0x09, 0x82, 0xbb, 0x45, 0x60, - 0xf2, 0x72, 0xb8, 0xbf, 0xdd, 0x01, 0x43, 0xf4, 0x53, 0xed, 0xb6, 0x41, 0xf3, 0xe0, 0x01, 0x0a, - 0xea, 0x0b, 0x73, 0xcf, 0x82, 0x26, 0xea, 0xc0, 0x7e, 0x1e, 0x92, 0x6c, 0xba, 0x48, 0xae, 0x99, - 0xa0, 0xad, 0xe1, 0x25, 0xb5, 0xbd, 0x39, 0xfd, 0x85, 0xde, 0x1a, 0xdc, 0xc5, 0xc0, 0xb4, 0x85, - 0xdc, 0xd6, 0x20, 0x04, 0x56, 0x2f, 0xb4, 0x6f, 0x18, 0x21, 0x04, 0xc8, 0x3e, 0xd2, 0xd8, 0x6f, - 0x1c, 0x30, 0xce, 0xe1, 0x61, 0x4f, 0xc5, 0xff, 0xc8, 0x15, 0xa1, 0x22, 0x20, 0xf8, 0x90, 0xa8, - 0xa2, 0x80, 0x70, 0x4e, 0x80, 0xfa, 0x0c, 0xd8, 0xc4, 0x16, 0x30, 0x6b, 0xaf, 0xea, 0x9e, 0x4e, - 0x1f, 0x57, 0x6a, 0x38, 0x20, 0x54, 0x81, 0x42, 0x01, 0x9e, 0xe7, 0xd8, 0x55, 0x59, 0x28, 0xc5, - 0x24, 0xbf, 0xac, 0x55, 0x61, 0xa0, 0xeb, 0x0f, 0xb0, 0xab, 0x67, 0xdc, 0xc3, 0x34, 0xe4, 0x25, - 0xbc, 0xd7, 0x17, 0x78, 0x32, 0x5e, 0x80, 0x11, 0xf4, 0x59, 0x32, 0x1c, 0xf0, 0xa0, 0xe3, 0x1e, - 0x36, 0xf5, 0x2c, 0x5c, 0x7d, 0xb5, 0x2c, 0x52, 0x35, 0x6f, 0x77, 0xd1, 0xbb, 0xa5, 0x2e, 0x50, - 0xc6, 0xb5, 0x9a, 0x53, 0x8f, 0x03, 0xf3, 0xf9, 0x9b, 0xd8, 0x28, 0x8c, 0xec, 0xef, 0x6e, 0x48, - 0xf7, 0xdd, 0x61, 0xf7, 0x02, 0x75, 0xcd, 0x78, 0x9e, 0x99, 0x91, 0x54, 0xcd, 0x6d, 0x55, 0x42, - 0xfe, 0xda, 0xb3, 0x59, 0x4e, 0xb8, 0xd8, 0xd5, 0x7d, 0x8b, 0xe1, 0xfe, 0x77, 0x00, 0x87, 0x9b, - 0x68, 0x39, 0xe7, 0x3e, 0x41, 0x01, 0x31, 0x08, 0xa3, 0xb4, 0x24, 0x0d, 0xac, 0xdd, 0xfc, 0xec, - 0xa6, 0xe1, 0x07, 0x93, 0x05, 0x18, 0x29, 0xd8, 0x45, 0xb2, 0x54, 0x5d, 0x9a, 0x8b, 0xbb, 0x70, - 0x55, 0x17, 0x2c, 0x9d, 0x80, 0x4b, 0xf1, 0xc8, 0xe3, 0xb3, 0xf1, 0x75, 0x0f, 0x93, 0x76, 0x58, - 0x0f, 0x7e, 0xca, 0x02, 0x77, 0x2b, 0x35, 0x05, 0x11, 0x79, 0xfe, 0x6b, 0x3f, 0x66, 0x84, 0xe8, - 0x43, 0xc9, 0x31, 0x32, 0x1e, 0x63, 0x89, 0x78, 0xa6, 0x3b, 0x89, 0x30, 0x55, 0x53, 0x30, 0x10, - 0xf6, 0x22, 0x98, 0x08, 0x1e, 0xac, 0x08, 0xbc, 0x52, 0x99, 0x8c, 0x92, 0x07, 0x02, 0x4a, 0xbf, - 0x97, 0xbf, 0x7f, 0x98, 0xa5, 0x5b, 0x29, 0xd3, 0x96, 0x8e, 0x54, 0x1f, 0x74, 0xad, 0x69, 0x82, - 0xc2, 0xe5, 0x63, 0x4d, 0x03, 0xa5, 0xfa, 0x1c, 0xa7, 0x14, 0x38, 0x47, 0x2f, 0x3f, 0x0c, 0x57, - 0x5f, 0x13, 0x76, 0x0b, 0xa3, 0xde, 0xa3, 0xdc, 0x14, 0xa5, 0xf3, 0xff, 0x65, 0x2f, 0x3a, 0x17, - 0xff, 0x16, 0xe3, 0x3d, 0xbd, 0xcb, 0x14, 0xd9, 0x25, 0x94, 0x14, 0xd3, 0x9b, 0xc6, 0xe9, 0x82, - 0x81, 0x36, 0x05, 0x94, 0xc8, 0xb9, 0xce, 0x77, 0x33, 0x50, 0xe1, 0x7a, 0x61, 0x64, 0x9b, 0xd3, - 0xf3, 0x1d, 0x3b, 0xc0, 0x0c, 0x33, 0x8f, 0x71, 0xdd, 0xef, 0x36, 0x48, 0x32, 0x8f, 0x6a, 0x85, - 0x1e, 0x9c, 0x23, 0xab, 0xfc, 0x6f, 0x23, 0xae, 0x57, 0x73, 0x4c, 0x81, 0xb3, 0x7d, 0x0a, 0x41, - 0x18, 0xcd, 0x64, 0xb5, 0xe6, 0xf8, 0xce, 0x30, 0xfc, 0x4e, 0xba, 0xd5, 0x9d, 0x2d, 0x49, 0xf5, - 0x51, 0xdd, 0xb5, 0xb5, 0xd0, 0x20, 0x97, 0x24, 0x6c, 0x7a, 0xec, 0x99, 0x1d, 0x87, 0xda, 0xb9, - 0x70, 0xfe, 0xed, 0xd4, 0x02, 0x82, 0x42, 0x0d, 0x21, 0x81, 0x69, 0x33, 0xa3, 0x19, 0x2d, 0x4a, - 0x6e, 0x22, 0x01, 0x00, 0x52, 0x9d, 0x78, 0x95, 0x92, 0x38, 0x5e, 0xce, 0x0e, 0x14, 0xb9, 0xc2, - 0x28, 0x63, 0x0f, 0x5c, 0xa2, 0x7c, 0xb7, 0x38, 0xf5, 0x05, 0x0e, 0x9f, 0xa1, 0xeb, 0x51, 0xa8, - 0xde, 0x2f, 0x0c, 0x80, 0x22, 0xcf, 0xbd, 0xde, 0xf2, 0x77, 0x49, 0x4a, 0x28, 0x48, 0x2b, 0xb6, - 0xb3, 0x27, 0x9e, 0x2b, 0x65, 0x8d, 0xc2, 0x1d, 0xc8, 0x18, 0x24, 0x6e, 0x42, 0x12, 0x7f, 0xcf, - 0x25, 0xbd, 0xb8, 0x65, 0x38, 0x21, 0xf1, 0x2a, 0xc8, 0xbc, 0xd0, 0xaf, 0x7f, 0xef, 0xa0, 0x59, - 0x37, 0xc6, 0x43, 0x20, 0x64, 0x8f, 0x27, 0xb0, 0x25, 0x7a, 0xd5, 0x75, 0x9a, 0x88, 0x9c, 0x84, - 0xce, 0xda, 0xeb, 0xc8, 0xf5, 0xc0, 0x58, 0x5e, 0x8f, 0xd5, 0x7d, 0x7c, 0xdc, 0x69, 0x74, 0x3f, - 0xbd, 0x1d, 0xdf, 0x97, 0x84, 0x05, 0x4b, 0xe7, 0xc1, 0x08, 0x6e, 0xf2, 0x6c, 0x71, 0x2a, 0xd5, - 0x5f, 0xba, 0xfe, 0x29, 0x9b, 0x20, 0x09, 0x3a, 0xf7, 0xe8, 0xfe, 0xe7, 0xe4, 0x5f, 0x2b, 0xbc, - 0x55, 0xd7, 0x9d, 0xfd, 0x89, 0xa8, 0x45, 0x16, 0xe9, 0xbe, 0x7b, 0x02, 0x3a, 0x84, 0xc8, 0xfe, - 0xd0, 0x87, 0x5a, 0x8d, 0xe9, 0xa8, 0xe1, 0x14, 0x49, 0x8e, 0xd9, 0xba, 0x40, 0x6b, 0xfa, 0x03, - 0x63, 0x6f, 0x46, 0x8f, 0x1e, 0xdf, 0xb7, 0xe9, 0x3f, 0x02, 0x26, 0xef, 0xf9, 0x8a, 0x47, 0xc4, - 0x06, 0x4d, 0x92, 0xfb, 0x71, 0xc4, 0xb7, 0x26, 0x8a, 0xbd, 0xbc, 0x9c, 0xe6, 0x62, 0xf2, 0x22, - 0xa0, 0x3c, 0x27, 0x1e, 0x28, 0x68, 0xd6, 0x92, 0xf0, 0x0b, 0x3c, 0xed, 0x30, 0x19, 0x4f, 0xc7, - 0xe3, 0x7f, 0xb3, 0x03, 0x7a, 0x98, 0x94, 0xb9, 0x95, 0x40, 0x34, 0x7f, 0x84, 0x60, 0x62, 0x27, - 0xa8, 0x39, 0xbb, 0x0a, 0x95, 0x70, 0xaa, 0x86, 0x75, 0x09, 0xf4, 0x44, 0x5b, 0xeb, 0x3e, 0xe2, - 0xf4, 0xa9, 0xd6, 0x01, 0x05, 0x5b, 0x04, 0xee, 0xff, 0xec, 0xb5, 0x48, 0x37, 0x9a, 0x54, 0xeb, - 0x92, 0x66, 0xec, 0x65, 0x62, 0x3c, 0x67, 0xfb, 0x8e, 0x99, 0xa2, 0x37, 0x0b, 0x31, 0xfc, 0xea, - 0x18, 0x30, 0x30, 0xff, 0xcc, 0x56, 0x10, 0xd6, 0xa9, 0xe0, 0xa7, 0xea, 0xb5, 0x2d, 0x21, 0x36, - 0xdc, 0xd1, 0x8f, 0x08, 0x93, 0xb9, 0xb4, 0x92, 0xf5, 0xaf, 0xdd, 0x7f, 0xcb, 0xf1, 0x52, 0xc8, - 0xe0, 0xae, 0x0a, 0xdf, 0xef, 0x86, 0x20, 0x86, 0x01, 0x17, 0x67, 0x87, 0x44, 0xd1, 0xf1, 0xbe, - 0xf2, 0x15, 0x6a, 0xbb, 0x36, 0xf6, 0x94, 0xcd, 0x0e, 0xd1, 0x86, 0xc5, 0x34, 0x03, 0xd0, 0x17, - 0x95, 0x91, 0xcb, 0xfb, 0x26, 0xa5, 0x22, 0xaf, 0x1c, 0x3d, 0xcc, 0xbc, 0x94, 0x4e, 0xcd, 0xe4, - 0xf6, 0x1a, 0x09, 0x58, 0xe4, 0x29, 0x13, 0x2c, 0xba, 0x0d, 0xfd, 0x79, 0xcc, 0x00, 0xb3, 0xf0, - 0x9a, 0xfe, 0x23, 0xe1, 0xd8, 0xe0, 0x6c, 0x58, 0xf2, 0x0a, 0xa5, 0x6a, 0x55, 0xd8, 0x67, 0xee, - 0x3a, 0xc7, 0x84, 0xc9, 0x3e, 0x38, 0x1c, 0x09, 0xed, 0x8e, 0x32, 0x81, 0x0f, 0xa9, 0x25, 0xf1, - 0x39, 0x4e, 0x7c, 0xb1, 0x37, 0x6c, 0x9f, 0xfd, 0x61, 0x8f, 0xc8, 0x0c, 0x12, 0x94, 0xe9, 0x06, - 0x34, 0x65, 0x02, 0x5a, 0xee, 0xb1, 0x3b, 0x08, 0x13, 0xc9, 0xbb, 0x9b, 0x0d, 0x6f, 0xd1, 0x40, - 0x4d, 0x55, 0x19, 0xe7, 0x31, 0x3e, 0x24, 0x61, 0x91, 0xed, 0x6b, 0xbc, 0x67, 0x31, 0xd8, 0x32, - 0x41, 0x95, 0x0f, 0xc1, 0xcb, 0x27, 0x5e, 0x45, 0x43, 0xcb, 0x52, 0xe1, 0x89, 0x39, 0x2b, 0x6a, - 0xa6, 0x9e, 0xdd, 0xf4, 0x8a, 0xf7, 0x4a, 0x74, 0x72, 0x42, 0x1a, 0x48, 0x97, 0xea, 0xce, 0x93, - 0xce, 0x12, 0xf8, 0xb7, 0xab, 0x7d, 0x59, 0xf5, 0x76, 0x97, 0x05, 0x82, 0x90, 0xd9, 0x90, 0xe5, - 0xfd, 0xf7, 0x23, 0x40, 0x6a, 0x4a, 0x8f, 0x57, 0xab, 0x87, 0x67, 0x20, 0xa4, 0x36, 0x37, 0xf8, - 0x44, 0xb0, 0x69, 0x0f, 0xb1, 0xca, 0x16, 0x49, 0xb0, 0xd2, 0x35, 0x29, 0xdc, 0xd3, 0x99, 0x18, - 0xc0, 0xb3, 0xd3, 0xf8, 0xb8, 0xfc, 0xe3, 0x94, 0x60, 0xa0, 0x51, 0x9c, 0xa7, 0xd9, 0xbc, 0xa3, - 0x64, 0x91, 0xba, 0x44, 0x82, 0xc4, 0xce, 0x5d, 0x40, 0x20, 0x3b, 0x0a, 0x84, 0x00, 0x5f, 0xbc, - 0xb3, 0x0e, 0xa3, 0x98, 0x05, 0xd7, 0x72, 0x15, 0xcd, 0x9d, 0x44, 0xb9, 0xcc, 0x0e, 0x3a, 0x3e, - 0x44, 0x1b, 0x22, 0x3e, 0x9b, 0xc3, 0x58, 0x03, 0x0c, 0xf9, 0x14, 0x70, 0xac, 0x09, 0xf9, 0xad, - 0xfb, 0x06, 0x6e, 0xae, 0xdd, 0xd0, 0x7a, 0x6f, 0x39, 0x95, 0x3a, 0xe0, 0x61, 0x77, 0x41, 0x95, - 0x1e, 0xc8, 0x0d, 0xdd, 0x58, 0x7f, 0x07, 0x78, 0x8b, 0x61, 0xe5, 0x16, 0x01, 0x3e, 0x0c, 0xea, - 0xbd, 0x05, 0x37, 0x98, 0x66, 0x9d, 0xe5, 0x6c, 0x10, 0x48, 0xb2, 0x1c, 0x53, 0x70, 0xe7, 0x58, - 0xff, 0xbe, 0xda, 0x17, 0x07, 0x22, 0x46, 0xa3, 0xad, 0xb3, 0xb9, 0x95, 0xe6, 0xc8, 0x4c, 0x8a, - 0x19, 0x0b, 0x7f, 0xb3, 0x77, 0xd9, 0x2e, 0x19, 0x0a, 0xc1, 0x93, 0xc4, 0xd5, 0x1c, 0x38, 0x1d, - 0x7f, 0x2c, 0x3f, 0x89, 0x78, 0xc5, 0x37, 0x2f, 0xaa, 0xf5, 0xc4, 0x67, 0x08, 0xcd, 0x7b, 0x5d, - 0x7e, 0x9c, 0x34, 0xf4, 0x60, 0xbd, 0x57, 0xf8, 0x1e, 0x6b, 0xd1, 0x5a, 0x5d, 0x41, 0xbf, 0x4c, - 0x36, 0xb4, 0x60, 0x4b, 0x93, 0x41, 0x8e, 0xc8, 0xae, 0xe7, 0x4e, 0xff, 0x50, 0xb6, 0x3c, 0x14, - 0x29, 0xe9, 0x0d, 0x26, 0x4e, 0x79, 0xef, 0xa8, 0xd1, 0xcd, 0x9e, 0xf3, 0x8d, 0x9b, 0x7d, 0x2b, - 0x32, 0x73, 0x57, 0x0e, 0x27, 0x83, 0x6a, 0xe7, 0xa2, 0xb6, 0xab, 0xd8, 0xef, 0xea, 0xcd, 0x4b, - 0x65, 0xf1, 0x3d, 0x0b, 0x73, 0x4b, 0x13, 0xd0, 0x08, 0xb4, 0x8c, 0x88, 0x46, 0xf7, 0xdd, 0x34, - 0x83, 0xd2, 0xdb, 0xef, 0xa5, 0x85, 0xff, 0x9b, 0x9d, 0x40, 0x9a, 0x6c, 0xe5, 0xb2, 0xf1, 0x67, - 0x67, 0x45, 0xd6, 0xc1, 0x74, 0x00, 0xd0, 0xa6, 0xed, 0xfa, 0x76, 0x9b, 0x7b, 0xfb, 0x4c, 0x68, - 0xa7, 0x40, 0x5f, 0xca, 0x23, 0x7a, 0xf5, 0xd9, 0x1c, 0x23, 0xfd, 0xa8, 0xdb, 0x5c, 0x91, 0x9b, - 0xe7, 0x31, 0xc5, 0x9f, 0xa6, 0xde, 0x55, 0x53, 0xa5, 0x28, 0x38, 0x53, 0xd0, 0xba, 0xcd, 0x32, - 0xb8, 0x65, 0x87, 0x09, 0x24, 0xa2, 0x41, 0x11, 0xeb, 0xf8, 0x1c, 0x25, 0xb9, 0x23, 0x3d, 0xc4, - 0x06, 0xd8, 0x63, 0xbf, 0xb8, 0xf4, 0xa1, 0xf1, 0xe8, 0x98, 0xea, 0x5e, 0x29, 0xdf, 0xf2, 0xf1, - 0xf7, 0x8e, 0x21, 0xcf, 0x0c, 0x9f, 0x4a, 0xa4, 0xe3, 0x77, 0x96, 0xdc, 0xec, 0x47, 0xbb, 0x64, - 0x42, 0x08, 0x61, 0xfc, 0xa3, 0xef, 0xa9, 0x4b, 0x70, 0x7c, 0x62, 0xf7, 0xe6, 0xcd, 0xa8, 0xe6, - 0xc8, 0x16, 0xda, 0x94, 0x68, 0xfa, 0xaa, 0x1b, 0xd0, 0x2f, 0x92, 0xfd, 0xbc, 0x84, 0x7f, 0x2d, - 0xbf, 0x82, 0x09, 0x0e, 0xe8, 0xc0, 0x7b, 0x3a, 0xe0, 0xc0, 0xe9, 0x7d, 0xdf, 0xe1, 0xb1, 0x72, - 0x8f, 0x40, 0x6b, 0x4d, 0x6e, 0xeb, 0x19, 0xb0, 0xc2, 0x04, 0xd1, 0x58, 0x10, 0xbf, 0x07, 0x95, - 0xd3, 0x89, 0x7e, 0xd0, 0x3c, 0x07, 0x13, 0xed, 0x76, 0xd0, 0x77, 0x7a, 0x8b, 0x70, 0x56, 0x82, - 0x79, 0xc6, 0x28, 0x79, 0xa6, 0xe2, 0x75, 0x43, 0x4a, 0x77, 0x75, 0x19, 0x85, 0x87, 0x7d, 0xf9, - 0x7a, 0x83, 0x9c, 0x07, 0x3a, 0xa8, 0xc0, 0x27, 0x1d, 0x6a, 0x49, 0x6d, 0x56, 0x3d, 0x07, 0x3c, - 0x73, 0xbb, 0xb0, 0xdd, 0x3e, 0x2a, 0xed, 0x6f, 0x74, 0x72, 0xb9, 0x85, 0xc6, 0x84, 0x11, 0xe1, - 0xe0, 0xd7, 0x80, 0x41, 0xad, 0x36, 0x31, 0x22, 0x66, 0x75, 0xc6, 0xeb, 0x31, 0xdc, 0x32, 0x72, - 0x4d, 0x1b, 0xbf, 0x5c, 0x14, 0xfb, 0xfa, 0x8f, 0x3b, 0x12, 0xb7, 0xca, 0x89, 0xc8, 0xd5, 0x6d, - 0x1d, 0xf4, 0xc7, 0x65, 0x27, 0xbe, 0xe5, 0xd7, 0x4d, 0x7f, 0xd5, 0xd7, 0x38, 0xbc, 0x06, 0x5b, - 0x3d, 0x6b, 0x2c, 0x5e, 0x53, 0x45, 0x8d, 0xc5, 0x9c, 0x82, 0x98, 0xc2, 0x1f, 0x8b, 0x1e, 0xa8, - 0x78, 0xe6, 0x7e, 0x05, 0x83, 0xca, 0xa2, 0xbd, 0x52, 0x49, 0x57, 0x8a, 0xf6, 0xff, 0xcd, 0xb5, - 0xb9, 0x61, 0x22, 0x07, 0xca, 0x29, 0x65, 0x1b, 0xd3, 0xe0, 0x85, 0x6b, 0xd2, 0xdc, 0xd4, 0x5d, - 0xed, 0x72, 0x61, 0x13, 0x6d, 0x3f, 0xd4, 0x3f, 0x9f, 0x25, 0xd4, 0x6b, 0xa2, 0x55, 0xfd, 0x8e, - 0xba, 0x38, 0xfb, 0xe1, 0x3e, 0x3c, 0x63, 0xf5, 0xff, 0x55, 0xca, 0x1e, 0xbe, 0xa6, 0x71, 0x3a, - 0x38, 0xdb, 0xfb, 0xb8, 0x93, 0x10, 0x8e, 0x2d, 0x3f, 0x2d, 0x92, 0x2e, 0xe4, 0x61, 0x64, 0xae, - 0x4a, 0xd2, 0x12, 0x11, 0x60, 0x7c, 0xea, 0xff, 0x82, 0x7a, 0x18, 0xb7, 0xc6, 0xb5, 0xb2, 0xb1, - 0x4b, 0x66, 0x41, 0x6e, 0xa2, 0x70, 0x9a, 0x17, 0xa9, 0x33, 0x6e, 0x89, 0xf8, 0xc2, 0x26, 0x33, - 0x71, 0x67, 0xd5, 0x44, 0xad, 0x97, 0xe0, 0xae, 0x08, 0xd0, 0x92, 0x63, 0x54, 0xad, 0x53, 0xf4, - 0xdf, 0x5e, 0xe2, 0x63, 0xa3, 0x96, 0x3f, 0x3f, 0x7b, 0x95, 0xdc, 0x7d, 0x8c, 0x09, 0x7e, 0x40, - 0x88, 0x64, 0x79, 0x62, 0x31, 0x56, 0x93, 0xb3, 0x21, 0xcf, 0xb1, 0x3f, 0x28, 0x5c, 0x01, 0x90, - 0x88, 0xb8, 0x07, 0x45, 0xe9, 0x41, 0x8a, 0x53, 0xfd, 0xc1, 0x25, 0x74, 0xdb, 0xaa, 0xe0, 0xbb, - 0xd7, 0xd1, 0xf7, 0xc6, 0xd8, 0x1b, 0xdb, 0x3c, 0x17, 0xb6, 0xfd, 0x78, 0xea, 0xde, 0xdb, 0x6b, - 0x00, 0xc0, 0x7b, 0x93, 0xd1, 0x37, 0x89, 0xf9, 0x7d, 0x6c, 0x28, 0xb2, 0x3a, 0x34, 0xea, 0x2a, - 0xfd, 0x11, 0xbe, 0xf5, 0x4a, 0xb2, 0x23, 0xff, 0x6a, 0xa4, 0xfd, 0xc3, 0x45, 0xf2, 0xea, 0xf4, - 0x16, 0x15, 0x25, 0x2e, 0x80, 0x2d, 0xec, 0xf8, 0x2b, 0x40, 0x1c, 0x48, 0x29, 0x55, 0x5e, 0x72, - 0x5b, 0x5d, 0xe9, 0x44, 0xd3, 0xb4, 0xf5, 0x20, 0xe6, 0x23, 0xd3, 0xa6, 0x1d, 0xe5, 0x68, 0x6b, - 0x8c, 0xf5, 0xe9, 0x69, 0xb5, 0x89, 0xc2, 0xb8, 0x97, 0xca, 0x41, 0x53, 0xd1, 0x10, 0x60, 0x42, - 0x35, 0xd0, 0x88, 0xd7, 0x78, 0xa3, 0xec, 0x81, 0x0b, 0x6d, 0x34, 0x02, 0xb5, 0x50, 0xab, 0x00, - 0x1d, 0x4b, 0xe7, 0xa5, 0x71, 0xdd, 0x91, 0x39, 0xa9, 0xcf, 0x2f, 0xdc, 0xbc, 0x3b, 0xbb, 0x31, - 0x3c, 0x39, 0xfc, 0x4c, 0x91, 0x81, 0xed, 0x7c, 0xd0, 0xc9, 0xa8, 0x3e, 0xa1, 0x0f, 0xf7, 0x8e, - 0x5d, 0xd0, 0xa3, 0xf8, 0xc7, 0x49, 0xc1, 0x2a, 0xbe, 0xcf, 0x96, 0x74, 0x74, 0x3d, 0xaf, 0xcc, - 0xfe, 0x21, 0x62, 0x2e, 0xa2, 0x5b, 0x6e, 0x00, 0x7a, 0xe0, 0xae, 0x6f, 0xdd, 0xe6, 0x0f, 0x6f, - 0xfe, 0x04, 0x06, 0xb6, 0xcb, 0x4a, 0xcf, 0x17, 0x87, 0x0d, 0x64, 0x1d, 0x47, 0xeb, 0xe6, 0x62, - 0x13, 0x33, 0x4c, 0x90, 0xc5, 0xb8, 0xba, 0x7d, 0x24, 0x18, 0x07, 0x0f, 0x5b, 0x5b, 0xfb, 0x7d, - 0x29, 0xc8, 0x5a, 0x08, 0xae, 0x19, 0x29, 0x5c, 0x9d, 0xd3, 0xf0, 0xcc, 0x3c, 0x98, 0x8a, 0x1b, - 0x22, 0xea, 0x68, 0xf2, 0xdb, 0xb9, 0x5d, 0xbf, 0x2a, 0x84, 0xf7, 0x99, 0x47, 0x07, 0xe6, 0x5f, - 0x91, 0x09, 0x7c, 0x6b, 0xa1, 0x83, 0xa2, 0x2a, 0x87, 0xeb, 0x36, 0x4a, 0x4f, 0xdb, 0x92, 0xf9, - 0x37, 0xe4, 0x09, 0x0c, 0xd2, 0xea, 0x58, 0xd5, 0x3f, 0x15, 0xd0, 0xd5, 0x6f, 0x03, 0x3d, 0x87, - 0x11, 0xbc, 0xa4, 0x6f, 0xdc, 0xbd, 0x2c, 0x8e, 0xe9, 0xa9, 0x60, 0x47, 0xdc, 0x04, 0x38, 0x8c, - 0x20, 0x59, 0x07, 0x1a, 0xce, 0x2e, 0x9d, 0x2c, 0xb3, 0xe2, 0x37, 0x9a, 0xa2, 0xe3, 0x1b, 0x37, - 0x26, 0x1f, 0x09, 0x67, 0x18, 0x63, 0xb0, 0x62, 0xbb, 0xd7, 0xce, 0xec, 0x23, 0xa0, 0x2e, 0xd4, - 0x6e, 0x2d, 0xf9, 0xf6, 0xb1, 0x1a, 0x15, 0x5b, 0x2f, 0xa9, 0x07, 0x75, 0x1c, 0xd9, 0xeb, 0x1d, - 0x6d, 0x7a, 0x44, 0x3a, 0xb5, 0x4e, 0x54, 0x67, 0x38, 0x09, 0x26, 0x37, 0x79, 0xdf, 0x71, 0x2f, - 0x07, 0x7f, 0x97, 0x17, 0x7d, 0xa0, 0x92, 0x71, 0x48, 0x80, 0xe7, 0xe2, 0x9e, 0x1e, 0x43, 0xfa, - 0x08, 0x00, 0x07, 0x66, 0xf3, 0x3e, 0x19, 0x58, 0x85, 0x61, 0x2e, 0x3e, 0x59, 0xd9, 0xa8, 0x7f, - 0xc8, 0x9f, 0xb7, 0x8d, 0x2e, 0x1c, 0x16, 0xfa, 0x9e, 0x42, 0x53, 0x32, 0x35, 0xe7, 0x76, 0xd0, - 0xac, 0x73, 0xba, 0x0e, 0x8a, 0x76, 0x6f, 0xd8, 0x22, 0xd7, 0x71, 0xef, 0x8e, 0x73, 0xa4, 0xfb, - 0x0f, 0x1e, 0x23, 0xa7, 0xcb, 0x8f, 0x68, 0x40, 0x39, 0x33, 0x9d, 0xfc, 0x16, 0x2e, 0x6c, 0x95, - 0x38, 0x56, 0xcc, 0x24, 0xc1, 0xcf, 0x8d, 0x2d, 0x29, 0xdf, 0x66, 0x21, 0xef, 0xf0, 0xd9, 0xe4, - 0x3a, 0x80, 0x4a, 0x94, 0xec, 0xde, 0x33, 0x8c, 0x77, 0x50, 0xf7, 0x74, 0xc1, 0x2e, 0xea, 0x9a, - 0x0c, 0x43, 0x81, 0x86, 0x45, 0x1e, 0x38, 0x7c, 0x44, 0x02, 0xd9, 0x2a, 0x27, 0xc5, 0xf4, 0x32, - 0xc1, 0x8f, 0x55, 0x8d, 0xdb, 0x29, 0x2f, 0x65, 0xde, 0x24, 0xca, 0xee, 0x38, 0xc9, 0xb1, 0x32, - 0xc6, 0xa6, 0x01, 0xcb, 0x65, 0xd0, 0x83, 0x3c, 0x6c, 0xbd, 0x21, 0x7e, 0x6f, 0xd8, 0x2c, 0x09, - 0x4b, 0x62, 0xea, 0xad, 0xea, 0x8d, 0xfd, 0xd1, 0x00, 0xbc, 0xd7, 0xbc, 0xa4, 0x69, 0x15, 0x21, - 0xcd, 0xeb, 0x9f, 0x23, 0xb4, 0xf7, 0x09, 0xef, 0x78, 0xc9, 0x79, 0x47, 0x42, 0x20, 0x4b, 0xe8, - 0x05, 0x52, 0xad, 0x3a, 0xab, 0xcc, 0x58, 0xb8, 0x59, 0x7d, 0xce, 0x21, 0xfa, 0xfe, 0xf8, 0xe4, - 0x97, 0xda, 0x2d, 0xd6, 0xfc, 0x25, 0x2a, 0x04, 0x9e, 0x5a, 0x74, 0x7f, 0xd5, 0x2a, 0x7c, 0x42, - 0xf1, 0xa1, 0x17, 0xdc, 0x73, 0x6d, 0xef, 0xe6, 0x59, 0xc8, 0x15, 0x9b, 0x44, 0x90, 0x5c, 0x01, - 0xf3, 0x6c, 0x71, 0x1b, 0x84, 0x43, 0xe6, 0x76, 0x71, 0x31, 0x72, 0xcf, 0x2f, 0x64, 0x2b, 0x13, - 0xc4, 0x2f, 0x30, 0x90, 0xcf, 0xc2, 0x2c, 0xcc, 0x00, 0x5b, 0xfd, 0xc7, 0x16, 0xb2, 0x4d, 0x31, - 0x02, 0xb0, 0x78, 0xf1, 0xd8, 0x4f, 0xc6, 0xdf, 0xc7, 0xd0, 0x1b, 0xc3, 0xc5, 0x63, 0x0f, 0xfb, - 0x46, 0x17, 0x0b, 0x7e, 0x51, 0xc2, 0x2a, 0xb1, 0x15, 0xcd, 0x89, 0xab, 0xec, 0x1c, 0x66, 0x4b, - 0xb7, 0xae, 0xcb, 0xa5, 0x90, 0xc2, 0xd7, 0xf7, 0x8a, 0x1b, 0x6b, 0x65, 0xe1, 0xc3, 0x8e, 0xcf, - 0xd7, 0x51, 0x85, 0x77, 0x4a, 0xd4, 0xb0, 0xdf, 0x1c, 0x08, 0xf7, 0xe2, 0xf1, 0x5c, 0x7c, 0x3d, - 0xdb, 0x8f, 0x8b, 0xbe, 0xf1, 0xb3, 0x22, 0x94, 0x39, 0xf2, 0x77, 0x71, 0x8a, 0xbe, 0x9e, 0x01, - 0xbe, 0x31, 0x65, 0xe3, 0xc1, 0x07, 0xa1, 0xe5, 0x1f, 0x01, 0x9a, 0x79, 0x10, 0xf5, 0x06, 0x4a, - 0x17, 0x89, 0x2d, 0x53, 0x61, 0x4f, 0x41, 0x61, 0xc9, 0x5f, 0xda, 0x0c, 0x09, 0x27, 0xa7, 0x12, - 0x08, 0x28, 0x5c, 0xa9, 0x7b, 0x53, 0xa3, 0xa3, 0x6f, 0xc0, 0xf7, 0x0f, 0xea, 0x4e, 0x93, 0x0b, - 0x2d, 0x63, 0x5f, 0xe3, 0xfe, 0x6d, 0xfd, 0xe3, 0x3a, 0xb8, 0x97, 0x3d, 0x32, 0x9b, 0x81, 0x8e, - 0x0c, 0x3b, 0xf2, 0xc6, 0xb2, 0x06, 0x8f, 0x01, 0x67, 0x0c, 0x1d, 0xd0, 0x70, 0x97, 0xe8, 0x57, - 0xc6, 0x19, 0xc3, 0x31, 0x1b, 0x35, 0x6b, 0x74, 0x34, 0x8f, 0x28, 0x80, 0x66, 0xf3, 0xdf, 0x61, - 0x44, 0xd4, 0x55, 0x85, 0x46, 0x12, 0x38, 0xc4, 0xb2, 0xf9, 0x07, 0xe5, 0x94, 0x77, 0xc4, 0x08, - 0x91, 0x89, 0xa2, 0x2e, 0xaf, 0x1d, 0x22, 0xe7, 0x77, 0xf2, 0x25, 0x69, 0xec, 0xcf, 0xa5, 0xb1, - 0xff, 0xdc, 0x9d, 0xa1, 0xbb, 0xc3, 0xee, 0xd2, 0x71, 0x9c, 0x9b, 0x69, 0x10, 0x35, 0x98, 0xa8, - 0x5a, 0x21, 0x37, 0xdb, 0xea, 0x8a, 0xfc, 0x87, 0x63, 0x5c, 0xbe, 0xc7, 0x91, 0x21, 0x7c, 0xcc, - 0x07, 0x25, 0xd2, 0xd9, 0x27, 0x7a, 0xf8, 0xeb, 0xdf, 0xaf, 0xea, 0x89, 0x3d, 0x9b, 0x4b, 0x2a, - 0xac, 0x37, 0x18, 0xe4, 0xc3, 0xb5, 0xf1, 0xa6, 0x44, 0x73, 0x4b, 0x55, 0xef, 0xba, 0xed, 0xbc, - 0x77, 0x89, 0x6e, 0x7b, 0x79, 0xfe, 0x67, 0xb2, 0xb9, 0xc0, 0x12, 0x57, 0x85, 0x26, 0x42, 0xa2, - 0x0b, 0x8c, 0x72, 0xfb, 0xc9, 0x7a, 0xa2, 0xbd, 0x2b, 0xaa, 0x8e, 0x79, 0xe7, 0xda, 0x99, 0xfe, - 0x1b, 0xb9, 0xf6, 0x77, 0xef, 0x4d, 0x70, 0x6f, 0x61, 0x80, 0xf1, 0xd4, 0x40, 0x8b, 0xe0, 0x27, - 0x0f, 0x14, 0x35, 0x67, 0x62, 0x1e, 0xe6, 0x15, 0x12, 0xb7, 0x7d, 0x2a, 0xb6, 0xca, 0x46, 0xeb, - 0xcb, 0x6b, 0x84, 0x87, 0xc9, 0x14, 0x34, 0x0b, 0x31, 0xe8, 0xed, 0xa1, 0x8c, 0x6e, 0x71, 0x50, - 0x94, 0xe5, 0x7c, 0xa2, 0x99, 0x80, 0x92, 0xe7, 0xdc, 0xc6, 0x02, 0xe0, 0xfb, 0xcc, 0x8b, 0x81, - 0x18, 0x2c, 0x95, 0xf5, 0xe6, 0xdc, 0x88, 0xd3, 0x28, 0x12, 0xdb, 0x2f, 0xe6, 0xcb, 0x81, 0x32, - 0x4f, 0xfb, 0x00, 0x9b, 0xc8, 0x93, 0xf4, 0x6c, 0xcf, 0x70, 0xd8, 0x1a, 0x0a, 0xb7, 0xb6, 0x8d, - 0xbe, 0xc1, 0x44, 0x52, 0x1b, 0x9f, 0x98, 0xee, 0xc1, 0xb4, 0xf6, 0x38, 0xa4, 0x28, 0x88, 0x27, - 0xa0, 0x64, 0x0a, 0xce, 0x23, 0x4c, 0x04, 0x64, 0x0e, 0x1b, 0xf5, 0x25, 0xe3, 0x1a, 0x72, 0x7f, - 0x79, 0x45, 0x53, 0x4a, 0x38, 0x3e, 0xb7, 0x37, 0xe2, 0x0d, 0x57, 0x91, 0x7d, 0x21, 0x0b, 0xcc, - 0x8b, 0xe6, 0x54, 0x3c, 0x0b, 0x13, 0x53, 0x81, 0x3e, 0x9e, 0x78, 0x44, 0x29, 0xcc, 0x05, 0x6d, - 0x68, 0x2a, 0xc7, 0xef, 0x93, 0x74, 0x31, 0x90, 0x4f, 0x92, 0xe4, 0x64, 0x14, 0xb1, 0xd5, 0xfa, - 0xae, 0xbe, 0xc6, 0xca, 0x65, 0x77, 0x8c, 0x83, 0x5e, 0x44, 0xe3, 0x5b, 0x60, 0x07, 0x25, 0x0e, - 0x0b, 0x49, 0xd9, 0xde, 0x9c, 0x04, 0xb6, 0x57, 0x1e, 0xc4, 0x1d, 0xed, 0xcb, 0xa1, 0xaf, 0xe8, - 0xfb, 0x7d, 0xa2, 0x4c, 0x2b, 0xa9, 0x91, 0x91, 0x20, 0xbe, 0x08, 0x47, 0xa9, 0xf3, 0x36, 0x11, - 0x96, 0xcc, 0x50, 0x3e, 0xdd, 0x81, 0x63, 0x2c, 0xe4, 0x8e, 0x01, 0x2e, 0x28, 0xc3, 0x41, 0xaa, - 0x98, 0x15, 0x60, 0xf1, 0x14, 0xfc, 0xe8, 0xa8, 0x79, 0xf2, 0x1b, 0x06, 0x12, 0xf6, 0x44, 0x47, - 0xe9, 0xb9, 0x28, 0x56, 0x21, 0x84, 0x36, 0xe5, 0x50, 0x85, 0x4c, 0x0b, 0x7c, 0xf8, 0x12, 0x2e, - 0xca, 0x97, 0xae, 0xe7, 0xa6, 0x03, 0x1d, 0x6b, 0xcf, 0xd1, 0xf3, 0xc7, 0x0b, 0x74, 0x67, 0xee, - 0xe8, 0xe5, 0xf2, 0x3d, 0xf8, 0x8a, 0x06, 0x61, 0x5a, 0x1f, 0x74, 0x0d, 0x67, 0x6b, 0x97, 0xa1, - 0xae, 0xcb, 0x93, 0x63, 0x94, 0x08, 0x0e, 0xa2, 0x07, 0x09, 0x08, 0x69, 0x24, 0x24, 0x02, 0x72, - 0xda, 0x18, 0xf6, 0x3b, 0xce, 0x89, 0xdf, 0x10, 0x62, 0xce, 0xa7, 0xe1, 0x36, 0x20, 0x17, 0x8f, - 0xa2, 0x2b, 0xd3, 0xfc, 0x0a, 0xef, 0x50, 0xe9, 0x87, 0x3c, 0xdc, 0xba, 0xec, 0xab, 0x88, 0x56, - 0x1e, 0x0c, 0x66, 0xad, 0x11, 0x38, 0x80, 0x0d, 0xd9, 0xbf, 0x7c, 0xcb, 0xc4, 0xa2, 0x67, 0xf6, - 0x64, 0x85, 0x2a, 0xf2, 0x82, 0x83, 0x6c, 0x38, 0x92, 0xf6, 0xf2, 0xb1, 0x7d, 0xf3, 0xbd, 0xea, - 0x6f, 0x88, 0x65, 0xd7, 0x0b, 0x4f, 0x9e, 0xda, 0xa0, 0x1e, 0xb1, 0xda, 0x86, 0x92, 0x42, 0xca, - 0x59, 0x46, 0x22, 0x16, 0xe7, 0xc0, 0x13, 0xd6, 0xfd, 0xda, 0xb2, 0x4a, 0x53, 0x3a, 0xf5, 0x63, - 0x91, 0x2f, 0x8b, 0xbc, 0x7c, 0x43, 0xf2, 0x37, 0xfd, 0x3e, 0x5e, 0xcd, 0x23, 0x79, 0x37, 0xc2, - 0x3e, 0x47, 0xaf, 0xe9, 0xbf, 0x94, 0x56, 0xdc, 0xa3, 0x90, 0xbe, 0x3b, 0xb1, 0x58, 0x80, 0x75, - 0xf2, 0x03, 0x67, 0xd3, 0x7a, 0x2c, 0xa7, 0xb1, 0x27, 0x16, 0x1e, 0x08, 0x43, 0x84, 0x83, 0x16, - 0x1b, 0x49, 0x0d, 0xf9, 0x88, 0xe5, 0x2d, 0x30, 0x1f, 0x22, 0x11, 0xa7, 0x09, 0x36, 0xab, 0xbc, - 0x96, 0x52, 0xde, 0x31, 0x3e, 0x6b, 0x99, 0xd3, 0x50, 0xc8, 0x6f, 0xb8, 0x37, 0xe1, 0x56, 0x3a, - 0x8f, 0x7d, 0x11, 0xab, 0x8c, 0xac, 0xb7, 0xb8, 0xb9, 0x78, 0x16, 0x18, 0x9d, 0x41, 0xf9, 0x7a, - 0xfc, 0x60, 0x33, 0x79, 0x02, 0x32, 0xa3, 0x24, 0x95, 0xf8, 0x28, 0x80, 0x3a, 0xfa, 0x7a, 0xbf, - 0x7c, 0xd8, 0xba, 0xb5, 0x31, 0xcd, 0xe4, 0x99, 0xa2, 0x67, 0x01, 0x7d, 0xd5, 0xb8, 0x60, 0x57, - 0xc6, 0xdd, 0x48, 0x7f, 0x8c, 0x25, 0xf9, 0x5c, 0xb0, 0x34, 0x87, 0xf0, 0xe0, 0x91, 0x3d, 0xb0, - 0x91, 0xfd, 0xe6, 0x50, 0x83, 0x6b, 0xa2, 0xb7, 0xe4, 0xe1, 0x9b, 0x68, 0xd3, 0x78, 0x05, 0x93, - 0x89, 0xfc, 0x8d, 0x45, 0x89, 0x39, 0xad, 0xc8, 0xc3, 0xe0, 0x7a, 0x29, 0xed, 0xe9, 0xd5, 0x3b, - 0xcb, 0x6b, 0x81, 0x3c, 0xa9, 0xf1, 0x61, 0x25, 0x4f, 0x9c, 0xf3, 0x6a, 0x63, 0xc7, 0xb6, 0x3f, - 0x9f, 0x77, 0x0e, 0xc2, 0x76, 0x0e, 0x80, 0x91, 0xd9, 0x71, 0xa3, 0x52, 0x95, 0x84, 0x53, 0x65, - 0x09, 0x52, 0x64, 0x50, 0xe6, 0x12, 0xfd, 0xe0, 0x1a, 0xc4, 0x15, 0x96, 0x32, 0x30, 0x59, 0x6b, - 0xa9, 0x14, 0x23, 0xd3, 0xec, 0x17, 0x94, 0xc2, 0xa4, 0xe9, 0x37, 0x11, 0x73, 0x40, 0xec, 0xd0, - 0x11, 0x63, 0x24, 0xae, 0x60, 0x14, 0xa0, 0xbf, 0x50, 0x20, 0x86, 0xcb, 0x69, 0x32, 0xa6, 0xa6, - 0x52, 0x50, 0xae, 0x09, 0x1f, 0xef, 0x9a, 0xbe, 0x75, 0xee, 0x92, 0x79, 0x6a, 0xb6, 0x8a, 0x8f, - 0x4b, 0x8d, 0x6e, 0xc9, 0x82, 0xe4, 0x47, 0x70, 0x13, 0x1a, 0xe0, 0x8f, 0x27, 0x83, 0x27, 0x0a, - 0xd7, 0x78, 0xbe, 0x47, 0xc9, 0x13, 0xf5, 0x33, 0xae, 0x79, 0x7d, 0xdf, 0x2d, 0x85, 0xb4, 0x88, - 0x0f, 0xe3, 0x1a, 0x25, 0x61, 0x69, 0x4c, 0x9b, 0x24, 0x52, 0xc5, 0x48, 0x0f, 0x47, 0xff, 0x24, - 0x03, 0xb1, 0xc4, 0x7b, 0x4c, 0xc4, 0xda, 0xb2, 0x26, 0x42, 0x4d, 0x9f, 0x36, 0x4e, 0x2a, 0x86, - 0xb3, 0x6d, 0xc0, 0x60, 0xac, 0x2c, 0xf0, 0xba, 0xae, 0x27, 0xf6, 0xfa, 0xfb, 0x16, 0xc0, 0xce, - 0xa8, 0x3b, 0xb0, 0x6b, 0xe6, 0x4a, 0x5b, 0x16, 0xf4, 0xe5, 0x14, 0x98, 0xf8, 0xa3, 0xd5, 0xf5, - 0x72, 0xd3, 0x89, 0xef, 0xaf, 0x59, 0x79, 0x58, 0x0b, 0x31, 0x06, 0x40, 0xa7, 0xbe, 0x46, 0xf8, - 0x00, 0x10, 0x87, 0xa4, 0xb5, 0x1f, 0xb9, 0x0e, 0x7a, 0xdc, 0xed, 0x94, 0xa5, 0xc3, 0x7d, 0x6a, - 0x44, 0x7d, 0xd0, 0xe6, 0xb0, 0x74, 0xf8, 0xf3, 0xad, 0xcd, 0xab, 0xa2, 0x6b, 0xe9, 0x64, 0x8d, - 0x07, 0x0c, 0x48, 0x5a, 0xc4, 0xa1, 0x0e, 0xdb, 0x72, 0x1c, 0x10, 0x2b, 0x55, 0xef, 0xf0, 0xb9, - 0xc4, 0x1e, 0x0e, 0x57, 0xed, 0xa1, 0x3e, 0x0c, 0x69, 0xb4, 0x5b, 0x7a, 0xf8, 0x59, 0xe9, 0xe7, - 0x7a, 0xe1, 0x7e, 0xd9, 0x71, 0x14, 0x40, 0x73, 0xa8, 0x2c, 0x37, 0xd9, 0x8b, 0x58, 0xe5, 0x65, - 0x55, 0x40, 0xd3, 0x56, 0x46, 0x79, 0x44, 0x8e, 0xe2, 0x5f, 0x09, 0x98, 0x5b, 0x11, 0x0b, 0x18, - 0xe9, 0xc4, 0xe6, 0xae, 0xd6, 0xfc, 0xa9, 0x56, 0xac, 0x5f, 0x7b, 0x42, 0x1e, 0x28, 0x51, 0xec, - 0xb0, 0x91, 0x29, 0x79, 0xc5, 0x8c, 0x3b, 0x0e, 0x25, 0x27, 0x0c, 0x0b, 0xe7, 0x89, 0xcd, 0xeb, - 0x5b, 0x10, 0xce, 0x99, 0x71, 0x36, 0x43, 0x99, 0x7d, 0xef, 0x52, 0x6e, 0xe5, 0xd6, 0x2f, 0xcb, - 0x2a, 0x75, 0xaa, 0x42, 0xd5, 0x67, 0x94, 0x25, 0x9f, 0xa5, 0xfa, 0x9a, 0xfe, 0x0d, 0x83, 0x68, - 0xec, 0xda, 0x0f, 0x91, 0xa7, 0xec, 0xa5, 0x55, 0xd1, 0x4f, 0x9f, 0x24, 0xa3, 0xba, 0xf5, 0x52, - 0x19, 0xe3, 0xdd, 0xee, 0x1c, 0xa6, 0xbd, 0x31, 0xba, 0x22, 0xd2, 0x0d, 0x99, 0xed, 0xc1, 0x2b, - 0x33, 0xdf, 0x7f, 0x75, 0x49, 0x31, 0xdd, 0x9d, 0x87, 0x70, 0xce, 0x83, 0x2b, 0x2c, 0xd1, 0xc5, - 0xf1, 0xee, 0x7c, 0xb8, 0x1e, 0x75, 0xad, 0xd4, 0x84, 0x30, 0x0d, 0x22, 0x7f, 0xad, 0xae, 0x3c, - 0x5d, 0xdc, 0x72, 0x57, 0xfa, 0xed, 0x2d, 0x05, 0x46, 0x1b, 0x3f, 0x46, 0xf9, 0xfd, 0x34, 0xc7, - 0x8e, 0x26, 0x57, 0xd1, 0x72, 0xda, 0x9e, 0x42, 0xe2, 0x06, 0xc9, 0x5a, 0x99, 0x09, 0x58, 0xc0, - 0x89, 0xde, 0xe8, 0x30, 0x57, 0xd0, 0xf6, 0x46, 0x34, 0x07, 0x6d, 0x67, 0xbc, 0xf5, 0x12, 0x3e, - 0xd1, 0x5e, 0x32, 0x05, 0xcc, 0x6c, 0xa0, 0x76, 0xd9, 0x94, 0x8a, 0x1d, 0x77, 0x49, 0xb2, 0x26, - 0x20, 0x1c, 0xcd, 0xb7, 0x90, 0xa3, 0xc7, 0xa2, 0x34, 0x12, 0x0d, 0x93, 0xd0, 0x19, 0x03, 0x52, - 0x35, 0x1b, 0xc5, 0x5c, 0x08, 0x6a, 0x70, 0xfd, 0x0a, 0xb4, 0xfa, 0x39, 0xe6, 0x35, 0xb8, 0xda, - 0x94, 0xd3, 0xee, 0x28, 0x73, 0x66, 0x91, 0x44, 0x1e, 0x98, 0x19, 0xd0, 0x90, 0xd8, 0x4f, 0xe6, - 0x97, 0x11, 0x94, 0xa7, 0xff, 0x7a, 0xa5, 0x45, 0x5c, 0x9c, 0xe6, 0xfd, 0xc1, 0x01, 0xdf, 0x88, - 0x45, 0x0e, 0x98, 0x20, 0xb7, 0xa7, 0xee, 0xe8, 0x16, 0xb5, 0xb5, 0x4c, 0x46, 0x10, 0x16, 0xc8, - 0xd9, 0xbe, 0xd6, 0xab, 0x33, 0x11, 0xbe, 0x01, 0x39, 0xf5, 0x0c, 0x01, 0x39, 0xd5, 0xb3, 0x0d, - 0xa1, 0x51, 0x51, 0x96, 0xcc, 0x9c, 0x1f, 0x70, 0xce, 0x03, 0xb8, 0x90, 0xa6, 0xf7, 0x9e, 0x4c, - 0x37, 0xbe, 0x0c, 0x27, 0x25, 0x69, 0x41, 0xa7, 0x8f, 0xa6, 0xd9, 0x54, 0x79, 0xba, 0x91, 0x74, - 0x5b, 0xcd, 0x2b, 0x22, 0x2f, 0xe1, 0x98, 0x38, 0xde, 0x82, 0xe6, 0x18, 0xd5, 0x4f, 0x95, 0x85, - 0x47, 0xae, 0x25, 0x1a, 0x52, 0x23, 0x07, 0x09, 0xfa, 0x39, 0x5f, 0xdf, 0x6f, 0x82, 0xf0, 0x67, - 0x32, 0xe1, 0x0c, 0x29, 0x3b, 0xdc, 0x66, 0x5d, 0x1f, 0x4b, 0xf9, 0xc8, 0x0e, 0x28, 0x7f, 0x47, - 0x11, 0x3f, 0x6a, 0x71, 0x57, 0x95, 0xe2, 0x3a, 0x1b, 0x0c, 0x96, 0xcf, 0x2c, 0xaa, 0xe7, 0x41, - 0xaf, 0x0a, 0x88, 0xdc, 0x15, 0x00, 0x93, 0x4d, 0x5b, 0x90, 0x57, 0xd0, 0x3d, 0x9d, 0x50, 0x36, - 0x46, 0x5a, 0xc3, 0x7c, 0xb9, 0x2a, 0xe8, 0x91, 0x5b, 0x4c, 0x33, 0x39, 0x09, 0x6b, 0x59, 0xa1, - 0xb3, 0x7c, 0x89, 0x90, 0x1f, 0x84, 0x72, 0x7a, 0xc4, 0xce, 0x7d, 0x40, 0x70, 0x62, 0x8f, 0x4f, - 0xfb, 0xd8, 0xa2, 0x2b, 0x97, 0x4a, 0xe9, 0xe3, 0x80, 0x25, 0x42, 0x59, 0xe9, 0x4d, 0x1b, 0xb9, - 0x67, 0x27, 0xbf, 0x51, 0xda, 0xf1, 0xc8, 0x68, 0xc1, 0xa1, 0x93, 0x6d, 0x3e, 0x62, 0xda, 0x7b, - 0xde, 0xa1, 0xd6, 0xa3, 0x40, 0xf0, 0xa5, 0xf3, 0x31, 0x2d, 0x68, 0x0a, 0xd6, 0x12, 0xb7, 0x71, - 0xe2, 0x1d, 0x46, 0x0d, 0xf4, 0x27, 0x0a, 0xcb, 0xb3, 0x2e, 0x8c, 0x61, 0xa1, 0xba, 0xef, 0xab, - 0x22, 0x9e, 0xe1, 0x59, 0xb5, 0x6b, 0x0e, 0x3b, 0x4a, 0x43, 0x4c, 0x34, 0x91, 0x6b, 0x11, 0x48, - 0x89, 0x5a, 0x26, 0x24, 0x83, 0xed, 0xe7, 0xf9, 0x46, 0xf6, 0x31, 0x95, 0x49, 0x67, 0x92, 0xd8, - 0x6e, 0x47, 0xf7, 0xb1, 0x1a, 0xbe, 0xb8, 0x58, 0x0b, 0x4f, 0x78, 0x8b, 0x7d, 0xa7, 0xaa, 0x72, - 0xbb, 0x83, 0xe6, 0xad, 0x69, 0xc0, 0xe1, 0x50, 0x62, 0x7a, 0x5c, 0x2e, 0xfd, 0x06, 0x6e, 0xad, - 0xa8, 0x02, 0x0e, 0x0b, 0x42, 0x1d, 0xb1, 0x20, 0xd5, 0x82, 0x47, 0xec, 0x35, 0xb1, 0x98, 0xfd, - 0xdc, 0xdb, 0x30, 0xf2, 0x8d, 0x37, 0x18, 0xde, 0xdb, 0x92, 0x10, 0xb4, 0x3e, 0x7b, 0xb6, 0x64, - 0xb3, 0x0e, 0x5f, 0x5d, 0xc8, 0x47, 0x46, 0xfa, 0xa4, 0xad, 0xbc, 0x33, 0x9a, 0xc1, 0x5d, 0xe7, - 0x1a, 0xc2, 0xdb, 0x6c, 0xec, 0x8c, 0x08, 0x1f, 0x24, 0x6d, 0x93, 0x8c, 0x76, 0xbd, 0x59, 0xb3, - 0x32, 0x69, 0x49, 0x30, 0x57, 0x67, 0xf6, 0x65, 0xe4, 0x57, 0xd3, 0x94, 0xa0, 0x94, 0x4f, 0xda, - 0xef, 0x85, 0x8c, 0xfe, 0x83, 0x1a, 0x1f, 0x3d, 0xd6, 0xe0, 0x19, 0x9d, 0x8d, 0x0c, 0x60, 0x6c, - 0xd7, 0x52, 0x2b, 0x40, 0x8b, 0xfb, 0xee, 0x1a, 0x1d, 0x89, 0x49, 0xc9, 0xe7, 0x94, 0x27, 0x77, - 0x92, 0x59, 0x79, 0x3f, 0xf8, 0x23, 0x7f, 0x3a, 0x04, 0xce, 0x61, 0xd5, 0x23, 0x45, 0xef, 0x5e, - 0xb2, 0x81, 0x70, 0x24, 0x8a, 0x71, 0x6c, 0x0c, 0x93, 0xef, 0xfa, 0x07, 0x4d, 0x42, 0xf2, 0x6f, - 0x3b, 0xa9, 0x96, 0xdd, 0x33, 0xd9, 0xdb, 0x39, 0xa1, 0x36, 0xfa, 0x4a, 0x05, 0x41, 0x28, 0x90, - 0x77, 0xd6, 0x80, 0xf9, 0x6c, 0x93, 0xc2, 0x2e, 0xb0, 0xfd, 0x52, 0x21, 0x69, 0xe1, 0x2d, 0x76, - 0xe6, 0x24, 0x8b, 0x16, 0x1f, 0xed, 0x06, 0x14, 0xb4, 0x3c, 0x14, 0x12, 0x5a, 0x43, 0x9c, 0xd5, - 0x02, 0x6e, 0xb4, 0x62, 0x34, 0x41, 0x14, 0x14, 0xa4, 0xe4, 0xaa, 0xb4, 0x23, 0x9d, 0x8e, 0xca, - 0x1e, 0x11, 0xaf, 0x1f, 0x91, 0xe9, 0x8e, 0x49, 0x0f, 0x91, 0x3b, 0x83, 0x31, 0xd7, 0x88, 0x12, - 0xb3, 0xfe, 0xc1, 0xf9, 0x79, 0x8b, 0xf0, 0x36, 0xf2, 0x01, 0x8f, 0x99, 0x0c, 0x66, 0xfc, 0x5c, - 0xa4, 0x60, 0x93, 0xa4, 0x6f, 0x08, 0x2d, 0x3b, 0x85, 0x59, 0xbe, 0x70, 0x63, 0x4f, 0x67, 0xa9, - 0xe6, 0x6b, 0xc6, 0x70, 0x68, 0x48, 0xea, 0xa2, 0x14, 0xe2, 0xe4, 0x3c, 0x3a, 0xf5, 0x88, 0x1e, - 0x53, 0x78, 0xb1, 0x1f, 0x51, 0x8f, 0x25, 0x7d, 0x68, 0x49, 0x83, 0x4a, 0xba, 0x44, 0xc0, 0x43, - 0x81, 0x23, 0xaf, 0x1d, 0xa6, 0x8b, 0x34, 0x42, 0x88, 0x94, 0x04, 0xf0, 0x9d, 0x32, 0xc2, 0xc3, - 0x1b, 0x0e, 0xb0, 0xca, 0x93, 0x07, 0xf7, 0xbc, 0x7a, 0xf7, 0xa8, 0x5e, 0x44, 0xae, 0xea, 0x02, - 0x2c, 0x9e, 0xfc, 0xe7, 0x45, 0x3c, 0x12, 0x75, 0xac, 0xe0, 0xf3, 0x41, 0x8d, 0xfe, 0xc9, 0xda, - 0x78, 0x46, 0x92, 0x7c, 0xaf, 0xde, 0xd4, 0xc3, 0x33, 0xe3, 0xa1, 0xd9, 0x0d, 0x71, 0x12, 0xc8, - 0x6e, 0x28, 0x46, 0x21, 0xac, 0x09, 0xa2, 0x91, 0xa0, 0xc2, 0x23, 0xbb, 0x1b, 0x7e, 0x8e, 0x11, - 0x74, 0x22, 0x9f, 0x0e, 0x35, 0x69, 0xb0, 0x34, 0xf5, 0x78, 0x09, 0x12, 0x92, 0xb7, 0x65, 0x0f, - 0x30, 0x87, 0xb2, 0x26, 0xd5, 0xfc, 0x84, 0xcb, 0x20, 0xe5, 0x78, 0x00, 0xc8, 0x1e, 0x3f, 0x84, - 0x2a, 0xce, 0x33, 0x3c, 0xe8, 0xbf, 0xde, 0x16, 0x6e, 0xa1, 0x88, 0x8c, 0x0b, 0xa5, 0x93, 0x14, - 0x15, 0x31, 0xf0, 0xe4, 0xb4, 0xc6, 0xfc, 0x05, 0xc4, 0x49, 0x5f, 0xb2, 0x43, 0x45, 0x0e, 0x2b, - 0x13, 0x77, 0x8b, 0xfa, 0xef, 0xec, 0xfb, 0xe9, 0x37, 0xe2, 0x46, 0x59, 0x6e, 0xce, 0x73, 0xde, - 0x94, 0xcb, 0x57, 0x4c, 0xc7, 0x35, 0xe8, 0xbf, 0x26, 0x06, 0x42, 0xbf, 0xcf, 0x51, 0x3d, 0xd6, - 0xd1, 0x1a, 0xd3, 0x1d, 0x21, 0x06, 0x91, 0xfa, 0x81, 0x35, 0xa7, 0x09, 0x6e, 0xa7, 0xc6, 0x49, - 0x3e, 0x44, 0xf8, 0x02, 0x2c, 0x22, 0x90, 0x07, 0x02, 0x02, 0x1b, 0x19, 0xf2, 0x4c, 0x10, 0x1d, - 0xf4, 0x9c, 0x31, 0x94, 0x8c, 0xa0, 0xf3, 0xe7, 0xfe, 0xf2, 0xcf, 0xe5, 0x8b, 0xee, 0x76, 0xe6, - 0xfc, 0xc8, 0x79, 0x54, 0xe8, 0xc9, 0x9f, 0x88, 0x1c, 0x40, 0x9d, 0xc4, 0x33, 0x3b, 0x18, 0x2a, - 0x67, 0x95, 0x02, 0x45, 0x30, 0xff, 0x3a, 0x1b, 0x72, 0x31, 0x84, 0xfe, 0x50, 0x5b, 0x8d, 0x1d, - 0x2a, 0x6b, 0x1a, 0x63, 0xb5, 0xd2, 0x3a, 0xb0, 0xeb, 0x3b, 0x71, 0x50, 0x3e, 0xe3, 0xcc, 0xe0, - 0x4c, 0x6a, 0x36, 0x84, 0x7a, 0x3d, 0xa7, 0x27, 0x99, 0xc4, 0xb5, 0x8c, 0xbd, 0x73, 0x6c, 0x04, - 0x4d, 0xa3, 0x07, 0x4a, 0x09, 0x4f, 0x9b, 0xff, 0x82, 0x1e, 0x89, 0x82, 0x7a, 0xa1, 0xbf, 0xea, - 0x26, 0xd2, 0xdf, 0x0f, 0x7c, 0xfe, 0xe7, 0xe8, 0x31, 0xf4, 0x54, 0x5c, 0xd3, 0x7a, 0xab, 0xd1, - 0x54, 0xb5, 0xb5, 0x7f, 0x73, 0xa1, 0x48, 0x9b, 0x4e, 0xbb, 0x4f, 0x18, 0x89, 0xf5, 0x7b, 0x56, - 0x7b, 0x87, 0x29, 0x7f, 0x24, 0x08, 0x74, 0x93, 0x24, 0xe5, 0xdb, 0xd2, 0xfe, 0x4c, 0x91, 0xf6, - 0xa6, 0x8d, 0x49, 0x09, 0xc1, 0xb2, 0xa4, 0xb6, 0x43, 0x00, 0x05, 0x86, 0xf2, 0xba, 0xae, 0xba, - 0x33, 0x77, 0x02, 0x53, 0xf9, 0x7a, 0x3f, 0x9a, 0xab, 0x95, 0xe1, 0x14, 0x9e, 0xba, 0xb9, 0x49, - 0x62, 0x68, 0x00, 0x86, 0xda, 0xf8, 0x2a, 0xe2, 0x8c, 0x8b, 0x16, 0xfa, 0x18, 0xae, 0x1e, 0xf0, - 0x46, 0x2d, 0xaa, 0xfd, 0xb8, 0x65, 0x38, 0x74, 0xf0, 0x1b, 0x7c, 0xb2, 0x00, 0x99, 0x58, 0xff, - 0x04, 0xfb, 0xee, 0x8b, 0xdf, 0x16, 0x73, 0x61, 0x15, 0x24, 0x3b, 0x8a, 0x1e, 0x20, 0x1c, 0xc6, - 0x5b, 0x2a, 0x71, 0x66, 0x89, 0x19, 0x64, 0x44, 0xd7, 0xf3, 0x04, 0xe4, 0xa4, 0xbf, 0x32, 0x15, - 0x6c, 0x1f, 0x2c, 0x8e, 0xeb, 0x32, 0xbb, 0xb0, 0x84, 0xb8, 0x6a, 0xe4, 0x58, 0x3c, 0x10, 0x01, - 0xfe, 0x02, 0x7c, 0xe2, 0x6a, 0x9a, 0xfd, 0x38, 0xca, 0xa1, 0x26, 0x46, 0xfe, 0x0b, 0xfc, 0x09, - 0x5f, 0x59, 0xe0, 0x03, 0x4e, 0xb3, 0x26, 0xec, 0xd3, 0x39, 0x29, 0x68, 0xee, 0xea, 0x1c, 0x8a, - 0x0a, 0x6a, 0xf0, 0x97, 0x40, 0x5c, 0x05, 0x7b, 0xe2, 0x90, 0xfb, 0x30, 0xa1, 0x2f, 0x8c, 0x1a, - 0x97, 0xb2, 0xe7, 0x70, 0x3e, 0xaf, 0x24, 0x36, 0x1f, 0x4b, 0xe8, 0x0a, 0x08, 0x57, 0xd6, 0x49, - 0x14, 0xe6, 0xd4, 0xae, 0x6f, 0xed, 0xe3, 0x3c, 0x65, 0x0b, 0x48, 0xa8, 0xaf, 0x65, 0xb3, 0x12, - 0x52, 0xae, 0x37, 0x2d, 0x19, 0x26, 0xb0, 0x85, 0xc8, 0xe3, 0xc0, 0x05, 0x15, 0x71, 0x97, 0xae, - 0x79, 0x6b, 0x6f, 0xa5, 0x2c, 0x57, 0x39, 0x9d, 0x21, 0x17, 0x1a, 0xec, 0x0b, 0x35, 0xb0, 0xa5, - 0x7e, 0x7b, 0x76, 0xd4, 0x68, 0x4a, 0x0d, 0x6a, 0x49, 0x40, 0xfe, 0xbb, 0x8e, 0x39, 0xbe, 0xf9, - 0xcc, 0xec, 0x10, 0x7d, 0xaa, 0xf7, 0xb0, 0xac, 0x27, 0xe7, 0x7b, 0x29, 0x5c, 0x57, 0xaa, 0x47, - 0x0c, 0x0e, 0xe1, 0xbf, 0x5d, 0xc7, 0xef, 0x25, 0x21, 0xaa, 0x74, 0x01, 0x01, 0x95, 0xcc, 0x71, - 0x83, 0x61, 0x23, 0x2d, 0x58, 0xef, 0xcc, 0x9b, 0xba, 0x5b, 0x7b, 0x1f, 0xbd, 0x3c, 0xfd, 0x37, - 0xa9, 0xca, 0x97, 0x2d, 0x34, 0x41, 0x33, 0x9a, 0xb6, 0x68, 0xd8, 0x87, 0x72, 0xbf, 0x0e, 0x66, - 0x48, 0xad, 0x83, 0x67, 0xec, 0xaf, 0x07, 0x9b, 0x74, 0x6c, 0x50, 0xfe, 0xd4, 0x9c, 0xbb, 0xe5, - 0xdc, 0x65, 0x0c, 0xa7, 0xed, 0x50, 0x59, 0xa7, 0x58, 0x54, 0x40, 0x1a, 0xe4, 0xb2, 0xfd, 0x11, - 0x1b, 0x71, 0x23, 0xfc, 0x2d, 0x82, 0x66, 0xfc, 0x28, 0x6a, 0xcc, 0xa3, 0x29, 0x38, 0x79, 0xcd, - 0x8b, 0x4d, 0xcc, 0xbe, 0xb5, 0x2f, 0x1a, 0x6a, 0xf5, 0x5e, 0x95, 0x61, 0xc9, 0x3f, 0xdd, 0xd5, - 0x2d, 0xca, 0xda, 0x61, 0xf1, 0x86, 0x8f, 0x4f, 0x13, 0x30, 0xe9, 0x2c, 0x71, 0xb2, 0x7c, 0xe9, - 0x81, 0xb7, 0x6d, 0xf3, 0x19, 0x3a, 0xdd, 0x70, 0x1e, 0xf7, 0x98, 0xd2, 0x85, 0x24, 0x08, 0xf6, - 0x96, 0xeb, 0x9f, 0xca, 0xa4, 0x3b, 0x43, 0x7c, 0x1a, 0x83, 0x9d, 0x61, 0xcf, 0x01, 0xf1, 0xb2, - 0xc4, 0xb5, 0x92, 0x91, 0xdd, 0xa4, 0x4f, 0x9e, 0x0d, 0xd4, 0xed, 0xb0, 0xa5, 0x92, 0x17, 0x15, - 0xda, 0xd2, 0x43, 0xdf, 0x04, 0x3c, 0x1c, 0x0f, 0x82, 0x34, 0x55, 0x73, 0xee, 0x79, 0xbd, 0x4f, - 0x94, 0xbb, 0x2d, 0xcf, 0xd6, 0xa1, 0x65, 0xd9, 0x41, 0xbc, 0x07, 0xe0, 0x38, 0xaf, 0x4d, 0x95, - 0xac, 0xb1, 0xcf, 0x74, 0x3c, 0xb6, 0xd9, 0x94, 0x3f, 0x1d, 0xef, 0x60, 0x3c, 0x3d, 0x62, 0x79, - 0xbd, 0x9e, 0xf7, 0xbb, 0xfe, 0x11, 0xe8, 0x7c, 0x31, 0x7f, 0xd0, 0xeb, 0x75, 0x60, 0x2c, 0x74, - 0x38, 0x53, 0x37, 0x3a, 0x82, 0x36, 0xee, 0xd1, 0x56, 0x3f, 0x79, 0x32, 0xac, 0x54, 0xc3, 0x9c, - 0xb7, 0xef, 0x92, 0xd3, 0x37, 0x12, 0x91, 0x7a, 0x0c, 0x59, 0x0d, 0x5c, 0xd9, 0x69, 0x25, 0xfa, - 0x1c, 0x8d, 0x33, 0xbc, 0xc0, 0x9d, 0xa3, 0x1e, 0x5d, 0x77, 0xa5, 0xc5, 0x29, 0xb3, 0x95, 0x53, - 0x12, 0xad, 0x9b, 0x39, 0xbb, 0xbe, 0x48, 0xa5, 0x8c, 0x9d, 0xac, 0x83, 0x2f, 0x0a, 0x0a, 0xe9, - 0x6c, 0x0d, 0x56, 0x62, 0xc5, 0x1f, 0x04, 0xa9, 0xa8, 0xb5, 0x5e, 0x51, 0xc1, 0x0f, 0x44, 0x42, - 0xa8, 0xf6, 0xbb, 0xc4, 0x5c, 0x68, 0x44, 0xdc, 0x55, 0x9f, 0x1d, 0x1f, 0xff, 0xe0, 0x61, 0x1b, - 0xf3, 0x84, 0x0e, 0x04, 0xdd, 0x9b, 0x2b, 0x64, 0x3c, 0x62, 0x78, 0x8b, 0x8e, 0x6a, 0x02, 0x3d, - 0x45, 0xc9, 0xd6, 0xee, 0x28, 0xb6, 0xf8, 0x60, 0x70, 0xe0, 0xdd, 0x5e, 0xc8, 0x9e, 0x84, 0x1e, - 0xe9, 0x07, 0x9b, 0xdf, 0x68, 0x19, 0x43, 0x70, 0xe9, 0xd9, 0xa0, 0x18, 0xcf, 0x60, 0x0d, 0x8f, - 0xe0, 0xdb, 0x78, 0x4e, 0xd8, 0xdb, 0x08, 0x0f, 0x4c, 0x31, 0x11, 0xe4, 0xc0, 0x1c, 0x0f, 0xc8, - 0xba, 0x02, 0x73, 0x35, 0x5f, 0xd3, 0x54, 0x77, 0x61, 0xab, 0x0a, 0x4c, 0x3e, 0x67, 0xd7, 0xa4, - 0x0f, 0x0e, 0x3b, 0x49, 0x6a, 0xb3, 0x77, 0x8d, 0x09, 0x0f, 0xcd, 0x23, 0x67, 0x5f, 0x9b, 0xc1, - 0xb7, 0xe3, 0xa7, 0xfb, 0xba, 0xd5, 0x18, 0x6d, 0x77, 0x6b, 0xd4, 0xf5, 0xbe, 0x67, 0x33, 0x72, - 0xf9, 0x73, 0x91, 0xfb, 0x44, 0x21, 0x8e, 0xa7, 0xd8, 0xa4, 0xc7, 0xce, 0x62, 0x12, 0x0f, 0x4a, - 0x70, 0x18, 0x31, 0xdc, 0x22, 0x81, 0x27, 0x0d, 0x3d, 0x18, 0x63, 0x11, 0xfb, 0x89, 0xd2, 0x0d, - 0x0b, 0x11, 0xd4, 0xb2, 0xc2, 0x6b, 0x5f, 0xfa, 0xf8, 0x6d, 0x2c, 0x4f, 0xed, 0x9e, 0x45, 0xfc, - 0xcf, 0x8d, 0x0a, 0x8c, 0x4d, 0x84, 0xe8, 0x8b, 0x0e, 0xd7, 0x73, 0x7c, 0xb8, 0x46, 0xc6, 0x5c, - 0x40, 0x3a, 0xb6, 0x67, 0x3a, 0x71, 0x1c, 0x3b, 0xa5, 0x68, 0xbf, 0x21, 0x02, 0x6d, 0x61, 0xe1, - 0x68, 0x71, 0xf2, 0xab, 0x05, 0xde, 0x0b, 0x27, 0x3a, 0x60, 0x09, 0x66, 0xe8, 0x55, 0x6d, 0x53, - 0x3c, 0xfe, 0x83, 0xb7, 0x41, 0xfb, 0x7d, 0xb8, 0x8a, 0x29, 0x54, 0x47, 0xd3, 0x1c, 0xaf, 0x85, - 0xf9, 0x43, 0x61, 0x10, 0x7d, 0x81, 0x94, 0x24, 0xd7, 0x32, 0x68, 0x27, 0x6b, 0x99, 0xa5, 0xb4, - 0xfe, 0x19, 0xe2, 0x25, 0xce, 0x35, 0x78, 0x18, 0xbb, 0x47, 0xd3, 0xed, 0x9d, 0x94, 0xd5, 0x61, - 0xfa, 0xee, 0x8b, 0x77, 0x69, 0x87, 0x48, 0x23, 0x0f, 0x21, 0x07, 0x5f, 0x21, 0x4f, 0xbc, 0x58, - 0x2c, 0xf8, 0x34, 0x80, 0x3a, 0x4d, 0x8b, 0x7c, 0xdd, 0x89, 0xdf, 0xc4, 0xaa, 0x03, 0x5f, 0x76, - 0x81, 0xe2, 0xbd, 0xc8, 0x23, 0xdd, 0x1f, 0xfb, 0x50, 0x4b, 0xd9, 0x29, 0x9b, 0xd1, 0xa7, 0x09, - 0x81, 0xcd, 0xce, 0x39, 0xfd, 0xbb, 0xd5, 0x66, 0xd2, 0xe7, 0x5e, 0xa4, 0x3f, 0x2c, 0x7f, 0x56, - 0x68, 0x44, 0xa0, 0x7b, 0x05, 0xc9, 0x48, 0x5b, 0xe6, 0xd2, 0xf9, 0x99, 0x21, 0x7c, 0xc0, 0xc0, - 0x45, 0xd1, 0x04, 0x96, 0xca, 0x2a, 0x04, 0x7d, 0xe8, 0xbc, 0x5f, 0x99, 0x5b, 0x7d, 0x1e, 0x09, - 0x17, 0x11, 0x44, 0x8c, 0x23, 0xf1, 0xc1, 0xc7, 0x0f, 0x06, 0x73, 0xd0, 0x40, 0x78, 0x0f, 0x38, - 0x0b, 0x65, 0x34, 0x8c, 0xdf, 0xe9, 0x69, 0x38, 0xbe, 0x2d, 0xc1, 0xf1, 0xd7, 0xc0, 0x10, 0x16, - 0x91, 0xa3, 0xf6, 0xfc, 0xd9, 0xa7, 0xcc, 0x7f, 0x18, 0xe0, 0x91, 0x8f, 0x1e, 0x3c, 0x2f, 0x1f, - 0x7f, 0x4f, 0x4c, 0x2a, 0x7c, 0x8c, 0x63, 0x55, 0xf0, 0xfd, 0x7b, 0x98, 0x66, 0xee, 0x6e, 0x06, - 0x0d, 0x70, 0xc8, 0xd3, 0x67, 0xcb, 0x29, 0xaf, 0xb0, 0xef, 0xc6, 0xf8, 0xbb, 0xf2, 0xa5, 0x8a, - 0x52, 0x87, 0xed, 0xa5, 0xac, 0x11, 0x54, 0xc8, 0x18, 0x1d, 0xe9, 0xca, 0x78, 0xa1, 0x2d, 0x80, - 0x4a, 0xc7, 0xad, 0x49, 0xfb, 0x12, 0xba, 0xd3, 0xba, 0x19, 0xe0, 0x71, 0xd1, 0xce, 0x75, 0x15, - 0x21, 0xb2, 0x72, 0x1a, 0x2d, 0x2b, 0x21, 0xfc, 0xa3, 0xd5, 0xc2, 0x5b, 0x0c, 0x24, 0xa1, 0x99, - 0xd5, 0x7e, 0x44, 0x6b, 0xc6, 0xc3, 0x58, 0x9f, 0x62, 0xfc, 0x4d, 0x83, 0xb6, 0x6c, 0xcb, 0xa1, - 0xac, 0x98, 0x29, 0x4b, 0x15, 0x69, 0xaf, 0xd4, 0x44, 0x23, 0x50, 0x66, 0xcd, 0x22, 0x2d, 0x6d, - 0x72, 0xbe, 0x82, 0x02, 0xbc, 0xe3, 0xbf, 0xbf, 0x71, 0x63, 0xfd, 0x46, 0xb6, 0x44, 0xfe, 0x1c, - 0x45, 0xb9, 0xc9, 0x2e, 0xc9, 0x25, 0x23, 0xe6, 0xd0, 0xa0, 0x96, 0xd5, 0x1d, 0xd6, 0x98, 0xc5, - 0xe7, 0x06, 0x68, 0x39, 0xce, 0x2f, 0x50, 0xb7, 0xdc, 0xa3, 0x2b, 0x91, 0x34, 0xd2, 0x8e, 0x98, - 0xf9, 0x68, 0xf9, 0x52, 0x61, 0xb0, 0x92, 0xd9, 0x78, 0x41, 0x8c, 0xa3, 0xb1, 0x04, 0x2c, 0x5a, - 0xc6, 0x83, 0x64, 0x7a, 0xf3, 0x60, 0x80, 0xe0, 0xf5, 0x07, 0x20, 0xb8, 0x9f, 0x27, 0x18, 0x6b, - 0xeb, 0xa1, 0x39, 0x40, 0x16, 0x2c, 0x47, 0xf9, 0x1a, 0x7b, 0x0f, 0x8f, 0x4d, 0x7e, 0xab, 0x57, - 0x52, 0xd1, 0xf1, 0x77, 0x94, 0xda, 0x38, 0x9f, 0xe4, 0xff, 0x37, 0x82, 0x17, 0xa7, 0xd4, 0xfe, - 0xf7, 0xa9, 0x74, 0xb0, 0x29, 0x97, 0x75, 0xa3, 0xf8, 0x8a, 0xa1, 0xdc, 0xfb, 0xe5, 0x4f, 0xf2, - 0x70, 0xdd, 0x4b, 0x86, 0x3a, 0xc2, 0x3e, 0xf9, 0xd9, 0x5a, 0x67, 0x0f, 0x95, 0xf4, 0xf4, 0x05, - 0x07, 0xd0, 0x87, 0x2a, 0x7e, 0xd4, 0xb9, 0x81, 0x73, 0x11, 0x2c, 0xff, 0xce, 0x9f, 0xf7, 0x8b, - 0x27, 0xa3, 0xd9, 0x47, 0x95, 0x6f, 0x9a, 0xd5, 0x1c, 0x1f, 0x70, 0x90, 0xb1, 0x09, 0x02, 0xb0, - 0x8b, 0x95, 0xcf, 0xe1, 0xa6, 0xd1, 0xc6, 0xc8, 0xd0, 0x94, 0x9f, 0x77, 0xfd, 0x36, 0x1e, 0x93, - 0xb2, 0xb0, 0x7e, 0x4b, 0xb9, 0x07, 0x5d, 0x2f, 0xdd, 0x45, 0xee, 0x7c, 0x55, 0x1d, 0x5a, 0x9c, - 0xb3, 0xeb, 0x2b, 0xa4, 0xfe, 0x09, 0xed, 0xa8, 0x69, 0x13, 0xe6, 0xdd, 0xcc, 0x56, 0x5e, 0x08, - 0x5b, 0xd7, 0x6b, 0x41, 0x15, 0x1c, 0x9e, 0xf6, 0x4e, 0x34, 0x3b, 0x20, 0x4a, 0x7b, 0x13, 0x4f, - 0xbe, 0x83, 0x5a, 0x29, 0x28, 0xdf, 0xf6, 0xc2, 0x0a, 0x35, 0x70, 0x12, 0xd4, 0x04, 0x71, 0x66, - 0xcc, 0x19, 0xaf, 0xb2, 0xfe, 0x80, 0x43, 0xa4, 0x49, 0x4b, 0x89, 0x5b, 0x15, 0xba, 0x8b, 0x24, - 0x26, 0x98, 0x2a, 0xd0, 0x13, 0x3c, 0x3d, 0xd6, 0x19, 0xfc, 0xfd, 0x2f, 0x71, 0x9d, 0x77, 0xf1, - 0x55, 0x00, 0x4e, 0x46, 0x18, 0x5e, 0xe5, 0xfe, 0x6f, 0x66, 0x48, 0x0b, 0x4b, 0x24, 0x90, 0xd5, - 0x91, 0xd6, 0x51, 0xcb, 0xaf, 0xd1, 0xab, 0x78, 0x7c, 0x7f, 0xaf, 0x1d, 0x27, 0xec, 0x87, 0x59, - 0xc3, 0xef, 0xcf, 0xaa, 0xe7, 0x76, 0x59, 0x83, 0x43, 0xb8, 0xb9, 0x98, 0x93, 0xae, 0x43, 0x11, - 0x5e, 0x90, 0x98, 0x19, 0xd2, 0xb1, 0xd7, 0x7d, 0xc3, 0x79, 0xa3, 0x8b, 0x7b, 0x47, 0x6a, 0x2c, - 0xf9, 0x3c, 0xfa, 0xf2, 0xe6, 0xf4, 0x0d, 0xc2, 0x96, 0x06, 0x69, 0xfd, 0x06, 0x96, 0x9b, 0xed, - 0x25, 0x78, 0x26, 0x54, 0x58, 0xcb, 0xa1, 0x1c, 0xa1, 0x1f, 0x1b, 0x74, 0x6c, 0x6f, 0x93, 0x24, - 0x4b, 0x0b, 0x0e, 0x78, 0xc4, 0xc9, 0x52, 0xff, 0xc3, 0x56, 0x41, 0x6d, 0x02, 0x6c, 0x3c, 0x36, - 0xc6, 0x95, 0x13, 0x50, 0x84, 0x69, 0x02, 0x0a, 0xf5, 0x22, 0x36, 0xf1, 0x09, 0x6e, 0x6c, 0x79, - 0x64, 0xbc, 0x8c, 0xbb, 0x3a, 0xca, 0x3b, 0x4c, 0x29, 0xd3, 0xa2, 0x05, 0x2c, 0xb5, 0xe9, 0xf4, - 0xb0, 0xc3, 0x98, 0xca, 0x14, 0x2c, 0xb0, 0xb1, 0xad, 0xa4, 0x34, 0x96, 0xcf, 0x5e, 0xed, 0xda, - 0x30, 0x03, 0xb5, 0x85, 0x3d, 0x71, 0x08, 0x98, 0x17, 0x81, 0x8d, 0xc3, 0xae, 0xad, 0x46, 0x9a, - 0xf9, 0xfc, 0x10, 0xc3, 0xa7, 0x0f, 0x8a, 0xfc, 0x90, 0xd3, 0xd2, 0x50, 0x8f, 0x43, 0x16, 0x5e, - 0x5a, 0x86, 0x32, 0xf7, 0x0a, 0x22, 0xa4, 0x35, 0x5b, 0xa4, 0x0f, 0x57, 0x5e, 0x92, 0xd9, 0x7a, - 0xca, 0x04, 0xb8, 0x9d, 0xe2, 0x50, 0xec, 0xf6, 0x3f, 0xec, 0x9f, 0x5e, 0x2a, 0x32, 0x4d, 0xa1, - 0xc1, 0x8a, 0x05, 0xff, 0xbd, 0x31, 0xde, 0x45, 0x01, 0x85, 0x26, 0xf6, 0xc3, 0x69, 0xe5, 0xf4, - 0x81, 0x90, 0x98, 0xe7, 0xad, 0xee, 0xd5, 0x46, 0x9b, 0xd6, 0x80, 0xcc, 0x81, 0x82, 0x2c, 0xde, - 0x80, 0xd2, 0x3d, 0xc7, 0x0a, 0xe4, 0xaf, 0x11, 0x17, 0xa9, 0x94, 0xaf, 0xe1, 0xff, 0xae, 0x70, - 0xbf, 0xb3, 0x61, 0x33, 0x4f, 0xfa, 0x42, 0x65, 0x55, 0x86, 0x21, 0x1b, 0x90, 0xf9, 0xa6, 0x06, - 0x48, 0x5b, 0xe2, 0xd0, 0xab, 0xcf, 0xef, 0x74, 0x4e, 0xac, 0x34, 0x21, 0xa1, 0xd0, 0x63, 0x1a, - 0x2c, 0xfd, 0xd2, 0x72, 0x55, 0x51, 0xa3, 0x4f, 0xd2, 0x9f, 0x9a, 0x3e, 0xaa, 0xcb, 0x7a, 0x90, - 0xad, 0xbb, 0x74, 0x53, 0xfb, 0x9c, 0x6f, 0xb8, 0x8c, 0xc0, 0x58, 0x92, 0x39, 0x3d, 0x3f, 0xd5, - 0x2b, 0x5f, 0x86, 0x8f, 0x81, 0x9d, 0x3e, 0x9e, 0xa0, 0x42, 0x24, 0xf9, 0xd3, 0x3d, 0xd5, 0x03, - 0x70, 0xf4, 0xd8, 0xa4, 0x7e, 0xa7, 0xb9, 0x23, 0x1b, 0xc0, 0xa8, 0x5f, 0x8a, 0xe1, 0x48, 0x26, - 0x29, 0xce, 0xd9, 0x9c, 0x58, 0x8d, 0x2e, 0xdd, 0x62, 0xef, 0xff, 0x2b, 0xfe, 0xf4, 0xf7, 0x5f, - 0x5a, 0x9c, 0x98, 0x4b, 0x17, 0xe2, 0xf3, 0xbe, 0x7e, 0x67, 0x94, 0xd6, 0xb4, 0xca, 0x47, 0xd1, - 0x86, 0xbf, 0x96, 0x0c, 0x81, 0x96, 0xac, 0x18, 0xdd, 0xc8, 0xe0, 0x72, 0x97, 0x74, 0x26, 0xa5, - 0x66, 0x82, 0xfd, 0x54, 0x2b, 0xe9, 0x0e, 0x1a, 0xc4, 0x50, 0xe9, 0xff, 0x1e, 0x41, 0x96, 0x4c, - 0x18, 0xa7, 0x86, 0x4b, 0x36, 0x25, 0xb3, 0x67, 0xfa, 0x92, 0x0f, 0xb3, 0xed, 0x04, 0xff, 0x82, - 0x63, 0x09, 0x94, 0x86, 0x23, 0xbf, 0x14, 0xe1, 0x76, 0x0a, 0x1a, 0x12, 0x39, 0x7c, 0x8d, 0xde, - 0x6b, 0x1f, 0xa7, 0x14, 0x94, 0x03, 0x73, 0xbc, 0x26, 0x46, 0x93, 0xcc, 0xb7, 0x5a, 0x5c, 0xf8, - 0xc0, 0xb6, 0x13, 0x73, 0xe5, 0xc3, 0x63, 0xe9, 0x4a, 0xc7, 0xa5, 0x20, 0x4f, 0xb7, 0xb5, 0x5b, - 0x7b, 0x27, 0xc7, 0x45, 0x05, 0x49, 0x4a, 0x92, 0x59, 0x09, 0xb0, 0xc5, 0xa4, 0xf5, 0xc4, 0xfc, - 0x62, 0x58, 0x98, 0x41, 0x6a, 0xb3, 0x2e, 0x05, 0x39, 0x82, 0xfe, 0xaa, 0x3b, 0x26, 0xb2, 0x79, - 0x64, 0xf7, 0xa1, 0x15, 0xc7, 0xb4, 0xaf, 0xa4, 0xc8, 0x98, 0x9b, 0x02, 0xc8, 0xff, 0xf5, 0x8a, - 0x5c, 0x77, 0x3d, 0xfa, 0xcf, 0x2b, 0x91, 0x3d, 0x1e, 0x43, 0xdc, 0xee, 0x12, 0xbb, 0xf1, 0x04, - 0x91, 0x1f, 0xea, 0x2f, 0xea, 0x39, 0xd3, 0x0c, 0xb6, 0xae, 0x8f, 0xb7, 0x77, 0x3f, 0xed, 0x19, - 0x35, 0x98, 0xf3, 0xb3, 0xde, 0x14, 0x31, 0x4e, 0xba, 0x9d, 0xcc, 0xd8, 0xfa, 0xac, 0x2b, 0xd0, - 0x3c, 0xbc, 0x37, 0xd5, 0x9f, 0x85, 0x22, 0x37, 0xf3, 0xfb, 0x5e, 0xbf, 0xd6, 0x04, 0x2d, 0x53, - 0x40, 0xf1, 0x95, 0x41, 0x26, 0x71, 0xde, 0x92, 0x4e, 0x74, 0x59, 0x6c, 0x1e, 0xab, 0x06, 0x80, - 0xd8, 0x21, 0xdf, 0xe6, 0x5e, 0xe8, 0x97, 0x15, 0x92, 0x85, 0x7b, 0xc4, 0xc9, 0x7b, 0x72, 0xfb, - 0x9b, 0x0b, 0x8f, 0xb0, 0x6c, 0x0d, 0xfb, 0x05, 0xb1, 0xc4, 0x10, 0x19, 0x1a, 0xb1, 0x53, 0xd3, - 0xe5, 0x5e, 0x6c, 0x11, 0xe7, 0x6c, 0x82, 0xdc, 0x22, 0xf2, 0xd3, 0xa2, 0x84, 0x73, 0x72, 0xe4, - 0x57, 0x76, 0xf1, 0x1b, 0x97, 0x01, 0x89, 0xf6, 0xd5, 0x44, 0x62, 0x51, 0x23, 0x73, 0xe9, 0x9d, - 0xb3, 0x06, 0xb3, 0x98, 0xd8, 0xa5, 0x57, 0x4e, 0xad, 0xc0, 0xf8, 0xd9, 0xb5, 0xd7, 0xf1, 0x4b, - 0x75, 0x98, 0x79, 0x49, 0x62, 0xff, 0x01, 0xfe, 0xec, 0x6e, 0xee, 0xeb, 0x77, 0xe4, 0x21, 0xd1, - 0x1f, 0x29, 0xc2, 0xdb, 0xc4, 0x09, 0x0a, 0xa2, 0x4a, 0x15, 0x44, 0x1b, 0x5e, 0x71, 0xd3, 0x61, - 0xff, 0x33, 0x9d, 0x80, 0xdb, 0x6e, 0xa5, 0x9a, 0x8d, 0x0a, 0x84, 0xf1, 0x23, 0x14, 0x2c, 0x30, - 0x4c, 0xd3, 0xb8, 0xa3, 0x75, 0x40, 0x5d, 0xbf, 0x53, 0xfc, 0xf4, 0x72, 0xd2, 0x45, 0x06, 0xb6, - 0x0c, 0xf7, 0xcc, 0xf9, 0xf3, 0x86, 0x35, 0xdd, 0x0f, 0x44, 0xd1, 0x53, 0x7c, 0xca, 0x4c, 0x35, - 0x56, 0xfa, 0x76, 0x35, 0x6e, 0x74, 0x32, 0x10, 0x88, 0xbc, 0x2d, 0x4b, 0xbb, 0xd0, 0x5f, 0x11, - 0x6e, 0x00, 0xcb, 0xa2, 0x1e, 0x66, 0x07, 0x91, 0xfe, 0x2d, 0x12, 0x7f, 0x76, 0xd4, 0xc1, 0x54, - 0x35, 0x2d, 0xb4, 0xad, 0xc0, 0x29, 0xdf, 0xdc, 0xd1, 0x5d, 0xc3, 0x4d, 0x94, 0xa6, 0x58, 0x61, - 0xa8, 0x8c, 0x07, 0xba, 0xb6, 0xfe, 0xff, 0xb0, 0x1d, 0x7e, 0x4b, 0xc1, 0x87, 0x86, 0x87, 0xf1, - 0xc1, 0x04, 0x68, 0xc1, 0x3d, 0xf4, 0xf3, 0x16, 0x8e, 0x3b, 0x2f, 0x11, 0xbe, 0x54, 0x7d, 0x0f, - 0xe1, 0x54, 0xea, 0xbf, 0x93, 0xcf, 0x15, 0xcc, 0x84, 0xc4, 0x04, 0x38, 0x91, 0x80, 0xad, 0xfa, - 0x51, 0x10, 0xf4, 0xb2, 0x80, 0x63, 0x65, 0x35, 0x16, 0x30, 0xdd, 0x26, 0xed, 0x7a, 0xa6, 0x8e, - 0x8a, 0xd0, 0x37, 0x02, 0x94, 0x44, 0x08, 0x33, 0x27, 0x2f, 0xf7, 0x5d, 0xcd, 0x9a, 0xaa, 0x52, - 0x1b, 0x8b, 0xf1, 0x7b, 0x3d, 0x99, 0x9f, 0xbe, 0x09, 0x63, 0xdf, 0x5a, 0x29, 0xad, 0xfd, 0xdf, - 0xdb, 0xde, 0x14, 0x6c, 0x55, 0x12, 0x57, 0xf1, 0xd4, 0xc7, 0x85, 0x03, 0x7c, 0x5e, 0xd3, 0xb7, - 0x73, 0x30, 0xd7, 0x17, 0xf3, 0x42, 0xee, 0x51, 0xf5, 0xa7, 0x6b, 0x4d, 0x6d, 0x9a, 0x35, 0x60, - 0xed, 0xaa, 0x1e, 0xae, 0x68, 0x9a, 0x2e, 0x2e, 0xe0, 0x51, 0x11, 0x47, 0x22, 0x5b, 0xcf, 0x14, - 0x8e, 0xcf, 0x55, 0x7e, 0x24, 0x67, 0xb3, 0xbc, 0x39, 0x8c, 0xc9, 0xd1, 0x7c, 0x6c, 0xa8, 0x35, - 0xac, 0x3b, 0x86, 0xe4, 0x87, 0x23, 0xc5, 0x61, 0x35, 0x0a, 0xbf, 0xb8, 0xa5, 0x35, 0x89, 0x6b, - 0xba, 0x77, 0x7a, 0x33, 0xed, 0x5c, 0x4e, 0xd6, 0x57, 0x20, 0x45, 0x5b, 0xa1, 0xe1, 0xeb, 0x61, - 0xf1, 0xec, 0x5c, 0xc9, 0xf6, 0x3d, 0x70, 0x56, 0xc3, 0xff, 0x41, 0x17, 0xe6, 0x37, 0xd6, 0x2f, - 0xfc, 0xfd, 0x69, 0x89, 0x38, 0x0f, 0x9d, 0x1d, 0xc3, 0x61, 0x61, 0x12, 0x5f, 0x5b, 0xc9, 0x18, - 0xf7, 0x73, 0x5b, 0x15, 0xd1, 0xe0, 0x9e, 0xb3, 0xbf, 0x7b, 0x74, 0x79, 0x10, 0xcd, 0x41, 0x6c, - 0x89, 0x8d, 0x86, 0xa9, 0x35, 0x8a, 0x0f, 0x5b, 0xba, 0x0d, 0x6e, 0x3b, 0x19, 0xd0, 0x9d, 0xf5, - 0x50, 0x65, 0x93, 0xfc, 0x7c, 0xa0, 0xab, 0x60, 0x3e, 0x7e, 0x0f, 0x8d, 0x21, 0x23, 0x0e, 0xd0, - 0x93, 0x6f, 0x87, 0xa5, 0x44, 0xcb, 0x17, 0x17, 0x4e, 0x0e, 0x8a, 0x80, 0xf7, 0x15, 0xfb, 0x98, - 0x43, 0xd7, 0x06, 0xb3, 0x2f, 0x11, 0x01, 0xc3, 0x72, 0x4b, 0xb5, 0xa4, 0x25, 0x7a, 0xe7, 0x54, - 0xa6, 0x3c, 0x10, 0xf3, 0x40, 0x83, 0x9b, 0xf6, 0x86, 0xbf, 0x79, 0x76, 0xa1, 0xad, 0x04, 0x5b, - 0x04, 0x05, 0x1f, 0xd9, 0x4c, 0x27, 0x2d, 0x8a, 0xd0, 0xdf, 0x28, 0xc4, 0x44, 0x8e, 0xf6, 0x92, - 0x2b, 0x15, 0x75, 0x4a, 0x7d, 0x2f, 0x93, 0xce, 0xcf, 0xbc, 0x02, 0xe3, 0x83, 0x00, 0x9c, 0x4f, - 0x28, 0x7b, 0x06, 0x1c, 0xcd, 0x20, 0x0d, 0x70, 0xd4, 0xd3, 0x59, 0x88, 0xcf, 0x69, 0x89, 0x1c, - 0xa6, 0x76, 0x57, 0xfa, 0xde, 0x08, 0xaf, 0xe4, 0x5b, 0x71, 0xa3, 0x5b, 0x29, 0x4a, 0x75, 0x56, - 0x53, 0x51, 0xf5, 0x8f, 0x9d, 0x10, 0x7c, 0x23, 0x43, 0x05, 0x88, 0x0e, 0xfa, 0x0b, 0x81, 0x4a, - 0x48, 0xbc, 0x7e, 0x0c, 0x7f, 0xb0, 0x13, 0xd3, 0x3d, 0xa8, 0x92, 0x76, 0xee, 0xcf, 0xf7, 0x49, - 0x12, 0x08, 0x7f, 0xdf, 0xa8, 0x55, 0x0e, 0x53, 0x00, 0xdf, 0xd8, 0xe4, 0x2e, 0xc7, 0x0a, 0x94, - 0x03, 0xc7, 0x74, 0x42, 0x49, 0x66, 0x50, 0xad, 0xd8, 0xf6, 0xf6, 0x6f, 0xbd, 0x9a, 0x16, 0xcb, - 0xc8, 0x0b, 0xdf, 0xb4, 0x88, 0x49, 0xc1, 0xc7, 0x6c, 0x0e, 0x1e, 0x8f, 0x94, 0x94, 0xae, 0x20, - 0xaf, 0xdf, 0x49, 0xa7, 0x8e, 0xe9, 0xd6, 0xbe, 0x0f, 0x36, 0xa9, 0x61, 0xaa, 0x29, 0x9c, 0x6d, - 0x28, 0x85, 0x1a, 0x99, 0xbf, 0x09, 0xe2, 0xae, 0xc4, 0x45, 0x27, 0xd6, 0x7d, 0x15, 0x3c, 0x12, - 0x1b, 0xa1, 0xb0, 0xfa, 0x51, 0xe8, 0xc4, 0x21, 0xa0, 0xec, 0xa0, 0xd0, 0x9c, 0x36, 0xa9, 0xd7, - 0xe9, 0xc5, 0x35, 0x6d, 0x96, 0xfc, 0xfd, 0x30, 0x0e, 0x98, 0xa4, 0x0e, 0x64, 0x56, 0xfb, 0x21, - 0x09, 0x3c, 0x6f, 0xc3, 0xcf, 0xa5, 0x1b, 0x51, 0x02, 0x31, 0x0a, 0x28, 0xeb, 0xca, 0x00, 0x27, - 0x65, 0x34, 0x7a, 0xda, 0x8a, 0xbe, 0x6b, 0xc0, 0xf2, 0x44, 0x69, 0x23, 0xea, 0x27, 0xc6, 0xb1, - 0x88, 0x65, 0x52, 0x74, 0xc8, 0xfc, 0x05, 0x41, 0x6b, 0x44, 0x2f, 0x24, 0xa6, 0x53, 0x59, 0x91, - 0xad, 0xb1, 0x77, 0x75, 0xee, 0x3f, 0x31, 0xaa, 0x2b, 0xeb, 0x7e, 0xfb, 0xd4, 0xc1, 0x71, 0x31, - 0x2c, 0x93, 0x2d, 0xcc, 0xc8, 0xf1, 0x39, 0xc3, 0x5c, 0x75, 0xd1, 0x3a, 0xcd, 0x09, 0xe5, 0xf4, - 0x8e, 0xa8, 0xe1, 0xf5, 0x13, 0xc4, 0xb5, 0xa7, 0x84, 0xd0, 0x25, 0x96, 0x90, 0x97, 0x35, 0x12, - 0xaa, 0xb7, 0x0f, 0xe8, 0x8d, 0x34, 0x08, 0xf3, 0x76, 0x5f, 0x12, 0x5e, 0x6c, 0xc2, 0xcf, 0xd1, - 0xfb, 0xd6, 0x5c, 0xd6, 0x80, 0x48, 0x58, 0x1c, 0xb0, 0x79, 0xb0, 0x40, 0x7c, 0xb5, 0xf1, 0x60, - 0xdb, 0x6d, 0xdc, 0x15, 0x58, 0xab, 0x5b, 0xbd, 0x80, 0xde, 0xd5, 0x6e, 0x7f, 0xa1, 0xb2, 0xac, - 0x9c, 0x84, 0x14, 0xf5, 0x5a, 0x01, 0x96, 0x4d, 0x82, 0x40, 0x7e, 0xf9, 0x75, 0xef, 0xd8, 0x54, - 0xae, 0xb8, 0x4b, 0x46, 0xe5, 0xf7, 0x76, 0xef, 0x27, 0xae, 0x35, 0x8a, 0x37, 0xee, 0xe1, 0x61, - 0x3f, 0x29, 0xb6, 0xc6, 0x2e, 0xa9, 0x83, 0x8a, 0x6d, 0x94, 0x01, 0x14, 0x7c, 0xff, 0x61, 0x94, - 0xe4, 0xb1, 0x90, 0x86, 0xda, 0xd4, 0x5c, 0xf7, 0x24, 0x7c, 0x1b, 0x9d, 0xb7, 0x5c, 0xee, 0x78, - 0x72, 0x84, 0x7a, 0x0c, 0x27, 0xea, 0xad, 0x65, 0x92, 0xb5, 0x62, 0x68, 0x4f, 0x62, 0x17, 0xeb, - 0x72, 0xb8, 0x13, 0xd5, 0x88, 0x97, 0xba, 0xaf, 0xd0, 0xa8, 0x46, 0xd0, 0x8f, 0x64, 0x20, 0xe4, - 0x83, 0xa6, 0x6d, 0x65, 0xe3, 0x46, 0x9d, 0xb3, 0x6e, 0x37, 0xe5, 0xc1, 0x7f, 0xc5, 0x48, 0x3d, - 0xcb, 0x3f, 0xa9, 0x8a, 0x28, 0x0f, 0xf5, 0xe1, 0x77, 0x31, 0x08, 0xad, 0x2f, 0x80, 0x17, 0x25, - 0x4f, 0xa4, 0x93, 0x4a, 0xc6, 0x48, 0x17, 0x54, 0x7d, 0x42, 0x47, 0x7e, 0xca, 0x3d, 0x14, 0x10, - 0x06, 0x81, 0x4c, 0x5e, 0xe8, 0x8e, 0x90, 0x4d, 0x0f, 0x5c, 0x9b, 0x38, 0xaa, 0x2f, 0xc0, 0x63, - 0xbc, 0x9d, 0xfb, 0x84, 0x0e, 0xff, 0xa9, 0x11, 0x43, 0xb4, 0xec, 0x94, 0xf6, 0x23, 0x43, 0x7d, - 0x1d, 0xe4, 0xb0, 0x87, 0x30, 0x68, 0x41, 0xcc, 0x8c, 0x8d, 0x83, 0x05, 0x33, 0x8c, 0x15, 0xc3, - 0x46, 0x57, 0x69, 0x34, 0x7f, 0x85, 0xce, 0x3b, 0xa6, 0x9e, 0x32, 0x7e, 0x48, 0xf6, 0x12, 0x46, - 0xb9, 0x59, 0xc4, 0x53, 0xb1, 0x5e, 0x7e, 0xcd, 0x07, 0x4e, 0x68, 0xf1, 0x67, 0x4c, 0x7a, 0xa5, - 0x3a, 0xf7, 0x12, 0x40, 0x23, 0xe5, 0x78, 0xeb, 0x43, 0xae, 0x72, 0xc5, 0x5d, 0x3e, 0x19, 0xa9, - 0x42, 0x1d, 0x7e, 0x6d, 0x04, 0x80, 0xb2, 0xeb, 0xe2, 0x33, 0xad, 0x4b, 0x63, 0xc2, 0x89, 0xb6, - 0x23, 0xd0, 0xfc, 0x51, 0x7e, 0x68, 0x94, 0x33, 0x38, 0x39, 0x0c, 0xca, 0xb9, 0xb5, 0xd9, 0x50, - 0x47, 0xd1, 0xe2, 0x47, 0xba, 0x92, 0xac, 0x51, 0xa9, 0x74, 0x75, 0x83, 0x78, 0xd4, 0x47, 0x32, - 0xba, 0x6f, 0xe2, 0x8d, 0x5c, 0xaa, 0x3e, 0xb8, 0xa2, 0xc7, 0xe7, 0xc5, 0x6d, 0x9c, 0x03, 0x6a, - 0xb6, 0xab, 0x91, 0x38, 0xba, 0xdd, 0x25, 0xa6, 0x04, 0x38, 0xf1, 0x95, 0x85, 0x39, 0x7e, 0x17, - 0xcf, 0x1e, 0x02, 0x9e, 0x3b, 0xc5, 0xe0, 0x5c, 0xc9, 0xaa, 0xf8, 0xa7, 0x85, 0x23, 0xa8, 0x32, - 0x06, 0xb1, 0x46, 0xb9, 0x48, 0xb5, 0xce, 0x7c, 0xa9, 0x42, 0xc4, 0xd3, 0xbb, 0xb9, 0xb8, 0xe6, - 0xda, 0xbd, 0xd4, 0xd4, 0xab, 0xc5, 0xc4, 0xaf, 0xed, 0x8f, 0x97, 0xeb, 0x9f, 0x17, 0xb3, 0x92, - 0x77, 0xe5, 0x4f, 0x71, 0x99, 0x42, 0x31, 0x84, 0x3b, 0x28, 0x91, 0x5d, 0xac, 0x04, 0xa7, 0xd5, - 0x64, 0x30, 0x6e, 0x73, 0x60, 0x1e, 0xaa, 0x42, 0x2e, 0xb5, 0x50, 0xfc, 0x18, 0x60, 0x6a, 0xef, - 0xd9, 0xb5, 0xed, 0x3e, 0xd1, 0x2d, 0x9e, 0xd4, 0xc5, 0xa3, 0x8f, 0xa0, 0x0a, 0x9c, 0xfb, 0x70, - 0xbf, 0xc5, 0x21, 0x25, 0x9a, 0xaa, 0x7a, 0xbb, 0xbb, 0xff, 0x37, 0x7d, 0x16, 0x11, 0x59, 0xa6, - 0x24, 0x25, 0xf3, 0x18, 0x3b, 0x47, 0xf2, 0xef, 0xf5, 0x4e, 0x32, 0x5b, 0x28, 0xa2, 0x7a, 0xe7, - 0xf2, 0xad, 0xb8, 0x63, 0x59, 0xa1, 0xee, 0xbf, 0x61, 0x4e, 0xa2, 0xe1, 0xf1, 0x92, 0x1e, 0x4e, - 0xfc, 0xdb, 0x7b, 0x76, 0x01, 0xdf, 0x56, 0xda, 0x22, 0x3c, 0xbf, 0x78, 0x47, 0x0c, 0x7c, 0x8c, - 0x61, 0xa8, 0x88, 0x59, 0x65, 0x83, 0x54, 0x18, 0xf5, 0xff, 0x64, 0xa2, 0x4a, 0xa4, 0x10, 0x4f, - 0x2b, 0xdc, 0x77, 0x27, 0xb5, 0xb9, 0x0e, 0x72, 0x3e, 0x57, 0x23, 0xd0, 0xd9, 0xc4, 0x7e, 0xc6, - 0x53, 0xb0, 0x08, 0x32, 0xa4, 0x5b, 0x69, 0x2f, 0x9d, 0x5b, 0x62, 0xaf, 0xb8, 0x90, 0x7d, 0x7b, - 0x79, 0x39, 0xfe, 0x5b, 0xe4, 0x5c, 0x9a, 0xcf, 0x26, 0x46, 0x3d, 0xf2, 0x44, 0xb4, 0xa0, 0x94, - 0xd7, 0x0b, 0x41, 0x84, 0x56, 0x01, 0x9a, 0x87, 0x53, 0x38, 0x91, 0xd0, 0x43, 0xe4, 0xe1, 0x0b, - 0x9e, 0x66, 0xe8, 0x02, 0xdf, 0xae, 0xf7, 0x38, 0x38, 0x83, 0x45, 0xbc, 0x79, 0x53, 0xae, 0x48, - 0xd1, 0xad, 0xd4, 0x3e, 0x15, 0x8e, 0xdb, 0x0f, 0xd8, 0x77, 0xd2, 0xe2, 0x26, 0x6f, 0xf4, 0x44, - 0x1a, 0x30, 0xd8, 0x76, 0x8d, 0x3c, 0xb5, 0x9c, 0x96, 0xf0, 0x78, 0xb9, 0xc2, 0x6c, 0xa5, 0x5b, - 0x6b, 0x40, 0x35, 0x1a, 0xff, 0x76, 0xf8, 0xde, 0x14, 0xcd, 0x96, 0xe0, 0x20, 0x7e, 0x0c, 0x92, - 0xd7, 0x3f, 0x46, 0xa8, 0x33, 0x54, 0x1c, 0xba, 0x52, 0xc6, 0x8c, 0x81, 0x67, 0x7c, 0x82, 0x1b, - 0x0f, 0xbf, 0xe2, 0xa8, 0x8f, 0x66, 0xdf, 0xa5, 0x5c, 0x21, 0xc9, 0xfc, 0x03, 0x88, 0xb9, 0x22, - 0xe6, 0x11, 0x36, 0xe0, 0x06, 0x39, 0x08, 0xf3, 0x2c, 0xd0, 0xd9, 0xc1, 0x70, 0x4b, 0x8a, 0xf6, - 0xcc, 0xe4, 0x9d, 0xee, 0x4f, 0x13, 0xb1, 0xe1, 0xa1, 0xca, 0x6b, 0x6d, 0xff, 0x14, 0x58, 0x8f, - 0x1c, 0xdf, 0x8d, 0xd5, 0x2d, 0x03, 0x77, 0x80, 0xf6, 0xdd, 0xdb, 0xc2, 0x69, 0x3b, 0x25, 0xd4, - 0xd1, 0xbd, 0x5f, 0x62, 0x3c, 0x8c, 0x2c, 0xc1, 0xae, 0x65, 0xfa, 0x4e, 0x0f, 0x7c, 0x13, 0x95, - 0xc2, 0x54, 0xda, 0xdd, 0xe2, 0x78, 0x21, 0xaa, 0x90, 0x84, 0x0d, 0xeb, 0x81, 0x7d, 0x1d, 0x4e, - 0xd7, 0x9f, 0xef, 0x4f, 0x5f, 0xcc, 0x5b, 0x6b, 0x09, 0x4e, 0x8b, 0xe0, 0x74, 0x04, 0x71, 0xd7, - 0xb4, 0x7d, 0xc6, 0xe4, 0xa2, 0xfe, 0x92, 0x83, 0x2a, 0x9d, 0x13, 0xf1, 0xba, 0x73, 0x0d, 0xab, - 0x8e, 0x9a, 0xe4, 0xad, 0xce, 0xea, 0xcc, 0x17, 0x37, 0xfc, 0xff, 0x83, 0x19, 0xd2, 0x7f, 0xbe, - 0x84, 0xc6, 0x79, 0xbb, 0x40, 0xb6, 0x23, 0xc1, 0x42, 0xae, 0xd5, 0x76, 0x9c, 0xe4, 0xcb, 0xeb, - 0xed, 0x20, 0xe1, 0x90, 0x92, 0xdb, 0x2f, 0x80, 0x09, 0x85, 0xcc, 0x21, 0x47, 0xe6, 0xb2, 0x42, - 0x55, 0xdd, 0xb7, 0xf3, 0x48, 0x30, 0xbd, 0x52, 0x4f, 0x4c, 0xd5, 0xeb, 0x48, 0x7a, 0x47, 0xb7, - 0x25, 0xd1, 0xc0, 0x09, 0xfd, 0x63, 0xd1, 0x29, 0x49, 0x59, 0x2c, 0x09, 0x5d, 0xf2, 0x17, 0xfb, - 0xe2, 0x22, 0xec, 0x74, 0xbb, 0x70, 0x67, 0x75, 0xa0, 0xf4, 0x18, 0xfd, 0x8c, 0x91, 0xa2, 0x40, - 0xb5, 0x17, 0x48, 0xc4, 0xc4, 0xba, 0xfd, 0x3a, 0x04, 0x02, 0x6a, 0xce, 0x56, 0x6a, 0xec, 0x09, - 0xb9, 0xfc, 0x87, 0x14, 0xa0, 0xf9, 0xba, 0x5f, 0x9a, 0x03, 0x01, 0x25, 0xf6, 0x4d, 0x86, 0x0b, - 0xf6, 0x84, 0x24, 0x83, 0x00, 0xc4, 0x89, 0xb1, 0x6b, 0x85, 0xad, 0xb5, 0x39, 0x24, 0x4b, 0x2b, - 0x56, 0xe3, 0x6c, 0xbe, 0xa6, 0x2d, 0x72, 0xfe, 0x1b, 0x9b, 0x75, 0xfc, 0xee, 0x04, 0x9f, 0xb5, - 0xdc, 0xad, 0x96, 0xb2, 0xd9, 0x37, 0x0d, 0xcb, 0x4c, 0xfc, 0x9e, 0xee, 0x01, 0x1e, 0x37, 0xde, - 0xa5, 0x22, 0x89, 0x78, 0xb1, 0x58, 0x1d, 0xbd, 0x97, 0x90, 0x6a, 0xe2, 0xc9, 0x7b, 0x14, 0x58, - 0x20, 0x91, 0xea, 0xf3, 0x78, 0x96, 0xc2, 0xcb, 0xa5, 0x4b, 0x9d, 0xb1, 0xbd, 0x1b, 0xf9, 0xa9, - 0xf0, 0xd4, 0x7a, 0x40, 0x88, 0x38, 0x16, 0x32, 0xd2, 0xa2, 0xfe, 0xe6, 0x04, 0xb0, 0x5e, 0x03, - 0x33, 0xca, 0x98, 0xd3, 0x1a, 0x17, 0x86, 0x3b, 0x0f, 0xf4, 0x8b, 0x58, 0xa1, 0x5b, 0x99, 0xbd, - 0x0f, 0x88, 0x51, 0x40, 0xd9, 0x11, 0xb9, 0xea, 0xf6, 0xe2, 0xf7, 0xfb, 0x2b, 0x86, 0x5a, 0x57, - 0x82, 0xdc, 0x02, 0xd4, 0xe7, 0x8f, 0x88, 0x75, 0x25, 0x34, 0x14, 0xec, 0x14, 0x6d, 0x5a, 0xf1, - 0xbe, 0x2e, 0x3f, 0xad, 0x03, 0xdf, 0xfb, 0x96, 0xcd, 0x88, 0x57, 0x37, 0xbc, 0x7e, 0xfc, 0x36, - 0x8a, 0x3a, 0xef, 0x20, 0x61, 0x20, 0x40, 0xf8, 0x74, 0x53, 0xf4, 0x1e, 0x77, 0xac, 0xa1, 0x13, - 0x4c, 0x3d, 0x3b, 0x1f, 0x85, 0xf0, 0xe1, 0x86, 0x6f, 0x22, 0xd3, 0x15, 0x71, 0xd5, 0x27, 0xe2, - 0xe5, 0xcc, 0x89, 0x40, 0x2f, 0xaf, 0xf0, 0xdf, 0x7d, 0x3f, 0x81, 0x63, 0xd6, 0x53, 0xb9, 0xaa, - 0xca, 0x7b, 0x6b, 0xa2, 0xdc, 0xc2, 0x6e, 0xee, 0x18, 0x0e, 0x61, 0x56, 0xb8, 0xf5, 0xd9, 0xb2, - 0x88, 0xf0, 0xdd, 0x91, 0x66, 0x62, 0xa7, 0x3d, 0x97, 0xbf, 0x23, 0xdf, 0x23, 0x23, 0x50, 0x39, - 0xa6, 0x2d, 0xc8, 0xa5, 0x01, 0x3f, 0x47, 0x0b, 0xe7, 0x23, 0x47, 0xdf, 0xc0, 0x65, 0x64, 0xa3, - 0x9a, 0x78, 0xa0, 0x57, 0x2c, 0xa8, 0x5c, 0x3f, 0xd6, 0x7a, 0xd0, 0xde, 0xa4, 0x24, 0xee, 0xa5, - 0xb8, 0x35, 0x3a, 0xcc, 0xe0, 0x9c, 0x6d, 0x76, 0x14, 0xd9, 0x13, 0x87, 0x2e, 0x16, 0xf8, 0xbf, - 0x37, 0x93, 0x76, 0x58, 0xd8, 0xc2, 0x9a, 0xca, 0xdf, 0xed, 0xcf, 0xec, 0x97, 0xbd, 0xa5, 0x0c, - 0x96, 0x5a, 0x13, 0x01, 0xcd, 0xce, 0xed, 0xa2, 0xd9, 0x7d, 0xbf, 0x08, 0x0b, 0x42, 0xa0, 0xaf, - 0x45, 0x9f, 0x8c, 0x20, 0x22, 0xda, 0xf7, 0xed, 0xc4, 0x9a, 0x80, 0x93, 0x9f, 0x2c, 0xbe, 0x73, - 0x05, 0x38, 0x59, 0xbc, 0x09, 0x91, 0xd5, 0x7c, 0xda, 0xcc, 0x8f, 0xaa, 0xeb, 0x13, 0xdd, 0x6d, - 0xed, 0x35, 0x88, 0x37, 0x84, 0x27, 0x6f, 0x19, 0x50, 0x33, 0xd5, 0xb3, 0x84, 0xf6, 0x92, 0x18, - 0x2e, 0x46, 0xe4, 0xd8, 0xb5, 0xf2, 0xe8, 0x01, 0x2d, 0xce, 0x67, 0x9c, 0xe4, 0xa6, 0x19, 0xc2, - 0x33, 0x67, 0x65, 0xc3, 0x09, 0xeb, 0x92, 0xfe, 0xad, 0xc1, 0x78, 0x7f, 0xd8, 0xaa, 0xce, 0x21, - 0xa6, 0x17, 0x6e, 0x4f, 0x7a, 0x31, 0x9a, 0x86, 0xf5, 0x4d, 0x5c, 0x7a, 0x68, 0x3b, 0xa0, 0x1b, - 0xd9, 0x89, 0x11, 0xd7, 0x40, 0xb2, 0xf7, 0xd0, 0x47, 0x91, 0x8d, 0xd3, 0x7b, 0xf3, 0x91, 0xc0, - 0xf8, 0xad, 0x10, 0x5e, 0xc8, 0xc0, 0xf3, 0x92, 0x8c, 0xd4, 0x57, 0xa8, 0xb8, 0xd9, 0xd8, 0xb0, - 0xc0, 0xaf, 0xa2, 0x3f, 0x47, 0x1c, 0x80, 0x62, 0x67, 0x4e, 0x1d, 0x51, 0xa8, 0x8e, 0xc6, 0x4e, - 0xfb, 0x9f, 0x20, 0x3f, 0xe5, 0x52, 0x87, 0x6a, 0x6f, 0xff, 0xeb, 0xdd, 0x01, 0x60, 0x47, 0xef, - 0xea, 0x77, 0x8a, 0x8f, 0x0b, 0x2b, 0x29, 0x61, 0x57, 0xd8, 0x96, 0x5e, 0x44, 0x61, 0xb2, 0x21, - 0xe5, 0x93, 0x89, 0x47, 0xcc, 0xe9, 0x6d, 0xa6, 0xe9, 0x4a, 0x20, 0x0b, 0x07, 0x03, 0xa2, 0x8c, - 0x3f, 0xec, 0x6a, 0xe0, 0x29, 0x77, 0x2d, 0x3b, 0x61, 0x5d, 0x8a, 0x37, 0xf0, 0x8b, 0x61, 0x03, - 0x40, 0x71, 0x62, 0x23, 0x41, 0x88, 0xf1, 0x85, 0x7a, 0x79, 0xc9, 0x0e, 0xaf, 0xd7, 0x42, 0x47, - 0x09, 0xbc, 0xf4, 0x6f, 0x9c, 0xc8, 0xcb, 0x9e, 0xf9, 0xec, 0xd6, 0xb5, 0x64, 0x64, 0xb6, 0x75, - 0x5c, 0x5e, 0x72, 0xd4, 0xca, 0x6f, 0x51, 0x8b, 0x58, 0x25, 0x34, 0x01, 0x66, 0xf2, 0x88, 0xdd, - 0x47, 0x95, 0x8e, 0x99, 0xdc, 0xf9, 0x94, 0x38, 0xd5, 0x0f, 0x67, 0xaa, 0x2a, 0x67, 0x5d, 0x1f, - 0x34, 0xa9, 0x07, 0xdc, 0x6d, 0xbd, 0xa8, 0x06, 0x05, 0xda, 0x5c, 0xde, 0x3f, 0xa3, 0x88, 0xc5, - 0xb4, 0xd1, 0x5e, 0x80, 0xe7, 0x0f, 0xde, 0xb0, 0x6f, 0xd6, 0x8f, 0x6f, 0xa9, 0x14, 0x72, 0x1e, - 0x48, 0x78, 0x91, 0xa9, 0x8b, 0x48, 0x52, 0xa8, 0x46, 0x01, 0x71, 0x73, 0x83, 0xb3, 0x52, 0xfc, - 0x1b, 0x35, 0x88, 0xfe, 0x09, 0x72, 0x3b, 0xc7, 0x40, 0x0a, 0x72, 0x6f, 0x15, 0x12, 0x56, 0x77, - 0xdc, 0x1c, 0xeb, 0xc3, 0x1a, 0xa4, 0x60, 0x63, 0x88, 0x10, 0xc7, 0xbe, 0x35, 0xd8, 0xff, 0x96, - 0xbc, 0xb6, 0x69, 0xa7, 0xa6, 0xf8, 0x8c, 0xb2, 0x93, 0x18, 0x41, 0x2a, 0xcb, 0x49, 0x05, 0x61, - 0x06, 0xa4, 0x09, 0x58, 0x9b, 0x4f, 0xca, 0x1a, 0xa8, 0x04, 0x51, 0x26, 0x7c, 0x19, 0x42, 0x4c, - 0x43, 0xba, 0x73, 0x26, 0xda, 0xe3, 0xcf, 0x80, 0x12, 0x59, 0x53, 0x8e, 0x52, 0xf4, 0x11, 0xf3, - 0x24, 0x4e, 0x03, 0x22, 0xd6, 0xda, 0x6e, 0xa8, 0x6f, 0x88, 0x2e, 0x82, 0x93, 0xc8, 0x90, 0x4b, - 0x92, 0xf7, 0x4f, 0x62, 0x3c, 0xb5, 0xa3, 0x54, 0xaf, 0xc8, 0xeb, 0x03, 0x19, 0x7e, 0x75, 0xfa, - 0xa8, 0xc2, 0x76, 0xa6, 0x2b, 0xa1, 0x81, 0x39, 0x3a, 0xe5, 0x95, 0x40, 0x1c, 0xdf, 0x45, 0xa3, - 0xa2, 0x67, 0x42, 0xfe, 0xee, 0x37, 0x28, 0x4c, 0x95, 0x1e, 0x00, 0x9f, 0x3f, 0xe9, 0x9c, 0x3b, - 0xa6, 0xe2, 0x8d, 0x91, 0x44, 0x1e, 0xb9, 0x3a, 0x74, 0xdd, 0xe2, 0x59, 0x07, 0x37, 0x6a, 0x3f, - 0x18, 0xea, 0x99, 0x09, 0x45, 0xb7, 0xdb, 0xfa, 0xa8, 0x2f, 0x1c, 0x8e, 0xe4, 0x5c, 0x22, 0x69, - 0x57, 0xe7, 0x5d, 0x8e, 0x26, 0xbb, 0x84, 0x5f, 0xc2, 0x7b, 0xac, 0x94, 0x63, 0x7f, 0x1a, 0x75, - 0x9b, 0xf6, 0x93, 0x11, 0xb4, 0x4a, 0xf2, 0x88, 0x3f, 0x48, 0xd3, 0xc1, 0xa8, 0x2d, 0xeb, 0x01, - 0xc9, 0x3c, 0x1b, 0x77, 0x27, 0x34, 0x07, 0xac, 0xc1, 0x16, 0x6d, 0x7a, 0x16, 0x0d, 0x9c, 0x93, - 0x61, 0xca, 0xf4, 0x8f, 0xd5, 0x77, 0x91, 0xe8, 0x1b, 0x97, 0xf7, 0xe3, 0x7c, 0x20, 0xc2, 0xe4, - 0xfa, 0x59, 0x2d, 0xb1, 0x1c, 0x28, 0x8d, 0x86, 0x1d, 0xdd, 0xc7, 0x02, 0x7f, 0x1a, 0xe5, 0xb0, - 0xd8, 0xd3, 0x54, 0xcc, 0x98, 0x73, 0xc9, 0x33, 0x1d, 0xe6, 0xaa, 0xa8, 0x2f, 0x6e, 0x63, 0xd0, - 0xda, 0xff, 0x38, 0x8a, 0xab, 0x57, 0x93, 0xaa, 0x4c, 0x89, 0x25, 0x6d, 0xd5, 0x17, 0x43, 0x3d, - 0x2f, 0x42, 0x16, 0x91, 0x95, 0x81, 0x50, 0x6f, 0x48, 0x7f, 0xa4, 0x46, 0xcf, 0xec, 0x45, 0xc0, - 0x0f, 0x01, 0xf6, 0x03, 0x84, 0xa2, 0x18, 0x15, 0xd4, 0x12, 0xf9, 0x41, 0xa5, 0xf0, 0x98, 0x69, - 0x21, 0x43, 0x96, 0xde, 0x30, 0x82, 0x57, 0xa9, 0xa4, 0x39, 0x87, 0x8d, 0x2d, 0x46, 0xa7, 0x4b, - 0xef, 0x61, 0x8a, 0xba, 0x18, 0x8d, 0xbc, 0x76, 0x4a, 0xd8, 0x52, 0x49, 0x52, 0xd3, 0x76, 0x2d, - 0x8f, 0xd4, 0x0f, 0x1d, 0x9a, 0x4f, 0x92, 0x20, 0xa5, 0xc7, 0x4f, 0xe9, 0x29, 0x7f, 0x0e, 0x62, - 0xe7, 0x6a, 0xe1, 0x43, 0xc5, 0x4f, 0xc5, 0xce, 0x16, 0xda, 0x66, 0xef, 0x66, 0x95, 0xf4, 0x70, - 0x0f, 0x5d, 0xef, 0x44, 0x08, 0xa7, 0xc5, 0x98, 0xb9, 0xbc, 0x5f, 0xc0, 0x48, 0x2f, 0x3e, 0x9a, - 0x00, 0x61, 0x82, 0xc7, 0x2d, 0xad, 0x9e, 0x1b, 0x3c, 0x85, 0x1f, 0x31, 0xc6, 0x23, 0xa7, 0xd5, - 0x54, 0x30, 0x9e, 0xf1, 0xfe, 0x8c, 0xe5, 0x44, 0xf8, 0xd9, 0x26, 0x49, 0x39, 0x77, 0x9d, 0x26, - 0x50, 0x1a, 0xb1, 0x95, 0x4c, 0xb0, 0x2b, 0x1f, 0x04, 0xcc, 0x00, 0xbb, 0x7d, 0x79, 0x4b, 0x3b, - 0x40, 0xad, 0x70, 0x62, 0xb3, 0xde, 0xd6, 0x30, 0x29, 0x69, 0x1c, 0x4e, 0x5a, 0xc0, 0x0e, 0x53, - 0xab, 0xcc, 0x73, 0x6b, 0xf4, 0x3c, 0xd0, 0x45, 0x44, 0x9f, 0xf1, 0x42, 0xea, 0x4b, 0x74, 0x72, - 0x6c, 0x6f, 0x6c, 0x50, 0x22, 0xc0, 0xb8, 0xde, 0x17, 0xfa, 0xb4, 0x98, 0x58, 0x88, 0x56, 0x55, - 0x63, 0xc5, 0xb0, 0x0f, 0x2e, 0xbb, 0x79, 0xbd, 0xe7, 0x1a, 0xf5, 0x26, 0x54, 0xdf, 0xc6, 0xdd, - 0x9f, 0xce, 0x5f, 0x58, 0x7a, 0xed, 0x41, 0xf6, 0xbb, 0x9b, 0x24, 0xff, 0x3f, 0xda, 0x1f, 0xf4, - 0xdc, 0x65, 0x23, 0xe9, 0xf7, 0x0f, 0xe4, 0x80, 0x29, 0x96, 0x51, 0x9e, 0x6d, 0x85, 0xf9, 0x68, - 0x7f, 0x65, 0xae, 0xdb, 0xca, 0xf7, 0x61, 0x7f, 0xd1, 0x16, 0x7e, 0xc2, 0x2f, 0xaa, 0xdb, 0x54, - 0xca, 0x3b, 0x61, 0xee, 0xac, 0x9c, 0x6c, 0x9c, 0x32, 0x18, 0xce, 0xe9, 0xac, 0x39, 0xf1, 0x3f, - 0x4f, 0xd5, 0x0b, 0xd0, 0xa6, 0xf4, 0x0f, 0xc5, 0x5f, 0x93, 0x0c, 0x61, 0xa2, 0x0d, 0x01, 0xfa, - 0x40, 0x7a, 0x4a, 0xed, 0x7a, 0x2f, 0x6e, 0x04, 0x5e, 0xed, 0xd1, 0x43, 0x55, 0x05, 0x3d, 0x71, - 0x72, 0x1f, 0x48, 0xd6, 0x4a, 0x2d, 0x8e, 0xb1, 0x5a, 0x06, 0xef, 0x78, 0x70, 0x6e, 0xa6, 0x1c, - 0x24, 0x31, 0xee, 0x15, 0x31, 0xe2, 0x37, 0x7f, 0x4a, 0xba, 0xbb, 0xcf, 0x2d, 0x09, 0x20, 0xec, - 0x33, 0x04, 0xa8, 0x1c, 0xae, 0x6f, 0x84, 0xb9, 0xf6, 0xcb, 0x32, 0xe7, 0x26, 0x3b, 0xa4, 0x7c, - 0x86, 0x59, 0xa4, 0x4b, 0xc8, 0xba, 0xa0, 0x78, 0x22, 0x46, 0xe3, 0x76, 0x34, 0x3d, 0xe8, 0xba, - 0xcd, 0xfe, 0x07, 0x9b, 0xdf, 0xf1, 0x8e, 0x07, 0xa7, 0x89, 0x87, 0xa5, 0xfb, 0xc4, 0x18, 0x74, - 0xca, 0x35, 0x7a, 0x35, 0x28, 0x7d, 0x77, 0x2a, 0x90, 0x30, 0x5c, 0x75, 0xa8, 0x07, 0xa0, 0x46, - 0x7b, 0x3c, 0x44, 0xcd, 0x6e, 0xc8, 0x4a, 0xc4, 0x25, 0x71, 0x8e, 0x79, 0xa2, 0x99, 0x3c, 0x7c, - 0xb6, 0xb7, 0x19, 0x7f, 0x3d, 0xa1, 0xaf, 0x3c, 0x29, 0x53, 0x41, 0x8f, 0x0f, 0xda, 0x47, 0x84, - 0x15, 0x54, 0x3e, 0x53, 0xbc, 0xcf, 0xe6, 0x82, 0x81, 0x22, 0x45, 0xf2, 0x5e, 0x3d, 0x8c, 0xc5, - 0x1d, 0x25, 0xc9, 0x10, 0x66, 0xc5, 0x65, 0xa6, 0xa6, 0x6d, 0x5a, 0xf6, 0xf2, 0x74, 0x2b, 0xcc, - 0x75, 0x93, 0x82, 0x45, 0x0b, 0xaf, 0xb2, 0x34, 0xe6, 0x10, 0xc4, 0x87, 0x4c, 0x88, 0x04, 0xf1, - 0x26, 0x32, 0x79, 0x53, 0xaf, 0x8b, 0x5a, 0x51, 0x31, 0xf4, 0xbd, 0x62, 0xc4, 0x41, 0xbf, 0x8f, - 0x7e, 0x92, 0x07, 0x38, 0x80, 0xa6, 0x6e, 0xb0, 0x36, 0xd9, 0xa3, 0x43, 0x1f, 0x32, 0xc1, 0xec, - 0xfc, 0x3f, 0xda, 0xe8, 0xbf, 0xf5, 0x30, 0x42, 0x11, 0xa0, 0x82, 0x68, 0xba, 0x31, 0x9a, 0x79, - 0xa8, 0x73, 0x0b, 0x58, 0x2d, 0xba, 0xbc, 0x9d, 0x7b, 0x0c, 0xbc, 0xb7, 0xd7, 0x3e, 0x48, 0x39, - 0x96, 0xe2, 0xcf, 0xd0, 0xce, 0x6c, 0x91, 0x15, 0x1c, 0x53, 0xc2, 0x55, 0xc0, 0x37, 0x14, 0x71, - 0x17, 0x3a, 0x49, 0xfa, 0x86, 0xe4, 0xbd, 0xf7, 0x66, 0x39, 0x8e, 0xe3, 0xa5, 0xc9, 0x86, 0x12, - 0x1b, 0xbb, 0x03, 0xcd, 0xc4, 0xa4, 0x15, 0x9f, 0xb1, 0xe6, 0xfd, 0xf7, 0x12, 0x61, 0x92, 0xb8, - 0x11, 0x6e, 0x8f, 0xc1, 0xd3, 0xe2, 0x88, 0x4d, 0x36, 0x01, 0x58, 0x62, 0x01, 0x05, 0x0c, 0x06, - 0xad, 0x02, 0x43, 0x26, 0x2e, 0x5f, 0x1d, 0xc4, 0xa5, 0x08, 0xd0, 0x4a, 0x93, 0x80, 0xc7, 0xaa, - 0x1e, 0xa1, 0x15, 0xae, 0x0d, 0x08, 0xd4, 0xe6, 0x08, 0x15, 0xba, 0x33, 0x85, 0x6b, 0x2e, 0x9e, - 0x3f, 0x0e, 0x8d, 0x3c, 0x2b, 0x21, 0x45, 0x61, 0xcd, 0x62, 0xd7, 0xe8, 0xd6, 0x4c, 0xa2, 0x85, - 0xa2, 0x1c, 0xb7, 0xd8, 0xe6, 0xbf, 0xc5, 0x70, 0x3d, 0x7a, 0x85, 0x6a, 0x88, 0xe8, 0xf0, 0x9c, - 0x70, 0x5e, 0xdd, 0xcb, 0x39, 0xee, 0x3f, 0x21, 0xeb, 0x00, 0x90, 0x47, 0x0b, 0x3a, 0x23, 0x5f, - 0xad, 0x91, 0x98, 0xe4, 0x33, 0x6f, 0x3e, 0x6f, 0x87, 0xfc, 0xcb, 0x53, 0x0d, 0xc9, 0x8d, 0x36, - 0xf0, 0xe0, 0xb4, 0xeb, 0xcd, 0x40, 0x17, 0xd5, 0xf3, 0xab, 0x59, 0x7f, 0x86, 0xe6, 0x82, 0xb6, - 0xb2, 0xec, 0xcd, 0x88, 0xc0, 0x64, 0x30, 0x88, 0xd5, 0xeb, 0x5e, 0x77, 0xbd, 0xa6, 0x45, 0x46, - 0x1d, 0xa0, 0x79, 0x45, 0x48, 0x53, 0x70, 0x3f, 0x54, 0x9d, 0xb0, 0x43, 0x38, 0x24, 0xd6, 0x86, - 0xb6, 0x86, 0x47, 0xcb, 0xd9, 0xd8, 0x58, 0xf5, 0x5f, 0xbd, 0x33, 0x97, 0x49, 0x57, 0xc4, 0x30, - 0x5c, 0x54, 0xbc, 0x88, 0x52, 0x12, 0xed, 0x68, 0x6f, 0xc3, 0xb2, 0x81, 0x7f, 0x2b, 0xf5, 0x71, - 0x1a, 0x12, 0x44, 0x12, 0x7f, 0xe8, 0x75, 0x49, 0x25, 0x74, 0x88, 0x5c, 0xc7, 0xda, 0x71, 0x16, - 0xff, 0xfc, 0x9e, 0xf2, 0x4a, 0xac, 0x78, 0x8a, 0xf7, 0xef, 0x67, 0xc1, 0x2f, 0x4d, 0xc9, 0x28, - 0x55, 0xae, 0x77, 0x24, 0x22, 0x12, 0xe1, 0x73, 0xb2, 0x16, 0xe7, 0x56, 0xc0, 0x13, 0xd1, 0xd4, - 0xe8, 0x0e, 0x9c, 0xc6, 0x0b, 0x08, 0x36, 0xf0, 0x8e, 0x7b, 0xa9, 0x1f, 0x6a, 0x79, 0x0e, 0x4a, - 0xe1, 0x80, 0x25, 0x22, 0x6c, 0x84, 0x9f, 0xb6, 0x6b, 0x86, 0x42, 0xd9, 0x80, 0x9d, 0x99, 0xf6, - 0x0c, 0x5b, 0x5c, 0xce, 0xd8, 0xbc, 0x10, 0x10, 0xd5, 0xbb, 0xf7, 0x4e, 0x3f, 0x4a, 0xba, 0xab, - 0xf2, 0x9d, 0x91, 0x9c, 0x5a, 0x28, 0xfc, 0x28, 0xee, 0x1b, 0xdb, 0x07, 0x06, 0xa9, 0x40, 0x57, - 0x07, 0x6a, 0xb7, 0xc8, 0x7e, 0x33, 0xf1, 0x4b, 0x06, 0x75, 0x8e, 0xde, 0xb4, 0x48, 0xeb, 0x8f, - 0xb5, 0x32, 0xcb, 0x5b, 0x26, 0xad, 0x7f, 0xae, 0xa6, 0x6a, 0x58, 0x33, 0xb6, 0xe2, 0x7f, 0xf1, - 0xa3, 0x40, 0x09, 0x74, 0x1f, 0x31, 0x3e, 0x75, 0x48, 0xba, 0x26, 0xaf, 0x66, 0x0c, 0xe2, 0xf6, - 0x72, 0xbc, 0x2b, 0x1f, 0x4a, 0xd7, 0x3c, 0x0b, 0xf3, 0xef, 0x85, 0x51, 0xf8, 0xdd, 0x27, 0x77, - 0xb5, 0xf1, 0x77, 0x51, 0xc3, 0x0e, 0x27, 0x6e, 0xe8, 0xdd, 0x06, 0x64, 0xd4, 0x04, 0x37, 0x9e, - 0x5a, 0x08, 0x87, 0xdf, 0x59, 0x0d, 0x21, 0x31, 0xdc, 0xc1, 0xb5, 0x91, 0xc0, 0xd7, 0xed, 0x5c, - 0x3e, 0xde, 0xd6, 0xc6, 0x59, 0x36, 0xe5, 0x52, 0xbb, 0xff, 0x6e, 0xed, 0xe2, 0xc7, 0x5e, 0x6d, - 0xa9, 0x13, 0x00, 0xda, 0xdf, 0x9b, 0x81, 0x2f, 0x42, 0x17, 0x3a, 0x29, 0xaa, 0x02, 0x09, 0x7b, - 0x7c, 0x44, 0x31, 0x90, 0x16, 0x89, 0x0c, 0xbf, 0x48, 0x57, 0xb5, 0xf9, 0x8e, 0x61, 0x78, 0x0b, - 0xaa, 0x47, 0xfc, 0xe0, 0x0f, 0x10, 0x12, 0x3e, 0x9b, 0x1b, 0x44, 0x41, 0xb7, 0xcf, 0xaf, 0x31, - 0x4e, 0xdd, 0x87, 0xb5, 0xe0, 0xfa, 0x4d, 0x9d, 0x80, 0x83, 0xf7, 0xc1, 0x02, 0x2c, 0x81, 0xa5, - 0x28, 0xa5, 0xfb, 0x08, 0xf1, 0x1b, 0x01, 0x2a, 0x0b, 0xea, 0x63, 0x05, 0xdf, 0x85, 0x26, 0x65, - 0xe0, 0xa2, 0x79, 0xbd, 0xf4, 0xb7, 0x43, 0x87, 0x99, 0x63, 0xb6, 0x01, 0xeb, 0xd2, 0x2f, 0x03, - 0xb1, 0xde, 0x5b, 0xd7, 0xa1, 0xe2, 0x36, 0x3a, 0x6a, 0x3a, 0xc9, 0xf7, 0x5d, 0xc9, 0x9f, 0x0b, - 0xa3, 0xc6, 0x23, 0x12, 0xbc, 0xfb, 0x46, 0x70, 0x98, 0x5c, 0x07, 0x17, 0xa3, 0x80, 0xb4, 0xeb, - 0xdf, 0x91, 0x19, 0x6e, 0x1b, 0xc4, 0xb6, 0x42, 0x81, 0x4c, 0xf3, 0x0d, 0x87, 0x9b, 0xd3, 0xaf, - 0x0d, 0xf0, 0x2c, 0x31, 0x28, 0x9d, 0x96, 0x3b, 0xb3, 0x06, 0x25, 0x36, 0xa1, 0x2b, 0x0b, 0xb6, - 0x41, 0xc5, 0xbb, 0x59, 0xe6, 0x1b, 0x98, 0xaa, 0xa7, 0x99, 0xee, 0xbf, 0x58, 0xb9, 0x0a, 0x85, - 0xc8, 0xfd, 0xdc, 0x58, 0x03, 0x88, 0x0c, 0xe9, 0x76, 0x66, 0x17, 0x28, 0x4d, 0xaf, 0x80, 0xc9, - 0x75, 0x4f, 0x94, 0xad, 0xa5, 0x3b, 0x12, 0x25, 0x04, 0x54, 0x48, 0x90, 0x8d, 0x9b, 0x08, 0xc2, - 0x88, 0x49, 0x3c, 0xdb, 0xc5, 0x06, 0xcd, 0x57, 0xab, 0x86, 0x9c, 0xe8, 0xb5, 0x2d, 0x1b, 0x0b, - 0xb2, 0xa5, 0x03, 0x98, 0xd2, 0x26, 0x15, 0x9a, 0xe0, 0xf3, 0xf5, 0xdb, 0x14, 0x89, 0xf3, 0x17, - 0x98, 0x7a, 0x91, 0xee, 0x54, 0x76, 0xc9, 0x97, 0x79, 0xd4, 0x1e, 0x87, 0xe5, 0x7b, 0x80, 0x96, - 0xa5, 0x60, 0x92, 0x17, 0x7d, 0x70, 0x6c, 0x87, 0xb6, 0x67, 0x9e, 0xeb, 0xba, 0xb7, 0x59, 0xd7, - 0x12, 0x20, 0x89, 0xc0, 0x85, 0xc4, 0x31, 0x5f, 0x2f, 0xe4, 0x0d, 0xaf, 0xb1, 0xa9, 0x53, 0xab, - 0x86, 0xae, 0xf2, 0x6a, 0x0b, 0xe1, 0xe2, 0x8b, 0xec, 0xca, 0x8a, 0xbb, 0x01, 0x1d, 0xa7, 0x9e, - 0xc9, 0x58, 0x05, 0x0b, 0xf7, 0xab, 0x03, 0xcb, 0xe5, 0xb7, 0x31, 0x7a, 0xb5, 0x7c, 0x41, 0x92, - 0x6a, 0xa4, 0xec, 0xbc, 0x7c, 0x0e, 0xa6, 0x57, 0x1a, 0x3c, 0x18, 0x0b, 0xb3, 0x97, 0xe0, 0x47, - 0x84, 0x1b, 0xd1, 0xd3, 0x20, 0xbd, 0x93, 0x76, 0x62, 0xd3, 0x60, 0x55, 0x5b, 0xd5, 0xbb, 0x72, - 0x2e, 0xb0, 0xee, 0xec, 0x4b, 0x48, 0xfb, 0x82, 0x03, 0x92, 0x57, 0xcd, 0x27, 0x1f, 0x3b, 0x10, - 0xd5, 0xb3, 0xbf, 0xf4, 0xfd, 0xbc, 0x46, 0xb8, 0x84, 0x28, 0x3a, 0x86, 0x5a, 0x86, 0x63, 0xf2, - 0xee, 0x9b, 0x62, 0x71, 0x63, 0xd6, 0x0f, 0xb9, 0xb2, 0x2a, 0x02, 0x63, 0x38, 0x8e, 0xcf, 0x0f, - 0xe8, 0xda, 0x87, 0x2e, 0x81, 0xc1, 0x9f, 0x8b, 0xf5, 0xdc, 0xfe, 0xe6, 0xee, 0xdd, 0x04, 0x1c, - 0x4b, 0x97, 0x84, 0x3d, 0xed, 0x09, 0x9a, 0x5a, 0x6a, 0x4a, 0xf6, 0xc3, 0x9e, 0x56, 0x71, 0xc7, - 0xd5, 0x6b, 0x59, 0x8d, 0xe1, 0xde, 0x0c, 0x68, 0x4c, 0x3a, 0x1e, 0xf2, 0x10, 0x19, 0xd9, 0x9c, - 0xb3, 0xf9, 0x7a, 0x7c, 0x8b, 0x8d, 0xc0, 0xb4, 0xe1, 0x6e, 0xb3, 0x4d, 0x56, 0x5b, 0x86, 0xa3, - 0xd1, 0x64, 0x1d, 0x6e, 0xea, 0x5a, 0x60, 0x8c, 0x61, 0xc3, 0x15, 0x9f, 0x53, 0xf4, 0x5f, 0x8a, - 0x9a, 0x2f, 0x4c, 0xf7, 0x33, 0x61, 0xb9, 0x76, 0x53, 0x33, 0x38, 0xfa, 0x8a, 0x7f, 0xe3, 0x86, - 0xee, 0xf9, 0xde, 0x3c, 0x42, 0xea, 0x3c, 0x73, 0x95, 0x1b, 0x48, 0x63, 0x0b, 0x50, 0xba, 0xed, - 0x39, 0x50, 0xe4, 0x15, 0x1e, 0x46, 0x6e, 0x0a, 0x2e, 0xa0, 0xe1, 0x50, 0x5f, 0xd1, 0xfb, 0xdb, - 0x35, 0x0d, 0xe9, 0x11, 0x14, 0x6d, 0xd4, 0x26, 0xae, 0x9c, 0x03, 0x72, 0x45, 0x42, 0xa4, 0xd6, - 0x9b, 0x5e, 0x36, 0x92, 0x27, 0x1d, 0xef, 0x16, 0xdc, 0x9b, 0x06, 0xa2, 0xc1, 0xfb, 0xda, 0xe1, - 0x21, 0x81, 0x81, 0x85, 0x03, 0xa8, 0x43, 0x7d, 0x92, 0xe4, 0x04, 0xe4, 0x9b, 0x98, 0xe6, 0x2d, - 0xb9, 0xbb, 0xe4, 0xab, 0xf9, 0xc5, 0xd9, 0xbc, 0x26, 0x32, 0x49, 0x1f, 0x8f, 0x42, 0x27, 0x51, - 0xd1, 0x0c, 0xb3, 0x4b, 0x55, 0xfa, 0x77, 0xbb, 0xfa, 0x9d, 0x9e, 0x59, 0xf3, 0xc6, 0x6e, 0x05, - 0x7f, 0x22, 0x24, 0xdf, 0x9a, 0x00, 0x5b, 0x44, 0x12, 0xf5, 0x60, 0xbb, 0x50, 0x0a, 0xbd, 0xd2, - 0xf9, 0xe5, 0xcb, 0x63, 0x2b, 0xda, 0x15, 0x9a, 0x6f, 0x62, 0x90, 0x6f, 0x74, 0x1c, 0x82, 0x8d, - 0xf8, 0xf1, 0x8f, 0x41, 0x16, 0x71, 0xfd, 0x04, 0x56, 0xa8, 0x92, 0xdd, 0x9f, 0x00, 0x07, 0x77, - 0xf6, 0x36, 0x79, 0x13, 0xfa, 0x3d, 0x26, 0x23, 0x53, 0x6d, 0x34, 0x0a, 0x4e, 0x88, 0x13, 0xb4, - 0x55, 0xcc, 0x4e, 0x35, 0x2a, 0xee, 0xe0, 0xe2, 0xf5, 0xff, 0xa7, 0xf9, 0x66, 0x65, 0xfc, 0x87, - 0xa6, 0xc9, 0x2a, 0xfa, 0x2f, 0x40, 0xd1, 0xc7, 0x30, 0xd2, 0x40, 0x82, 0xb6, 0xe1, 0x35, 0x35, - 0xe0, 0xde, 0x52, 0x27, 0x8d, 0x1c, 0xa7, 0x46, 0x81, 0xec, 0x29, 0xe5, 0xc4, 0xcb, 0x31, 0xfc, - 0x7d, 0x9f, 0x0d, 0xe1, 0xb2, 0x93, 0x64, 0x5c, 0x9c, 0xe6, 0xe7, 0xfc, 0x5a, 0xf2, 0x99, 0xde, - 0xe0, 0xf2, 0xe0, 0xd1, 0x54, 0x8f, 0x09, 0x43, 0x11, 0x20, 0x32, 0xb9, 0x9c, 0x97, 0xa1, 0xcc, - 0x7b, 0xeb, 0x1e, 0x43, 0xdc, 0x45, 0xfa, 0xd0, 0xb7, 0x44, 0x0d, 0x72, 0xb6, 0xe3, 0x4d, 0x1f, - 0x0d, 0xdf, 0x4b, 0xce, 0x85, 0x70, 0x49, 0xd9, 0xc7, 0x54, 0xfd, 0xd8, 0x55, 0xb5, 0x4c, 0x28, - 0xe0, 0x40, 0xb0, 0xea, 0xeb, 0xef, 0x2b, 0x76, 0xf6, 0xc0, 0x7e, 0x5c, 0x0c, 0x5e, 0x19, 0xd1, - 0x82, 0xc3, 0xea, 0xbb, 0x38, 0x6f, 0x4e, 0x62, 0x9f, 0xe1, 0x8f, 0x24, 0x27, 0x87, 0xf8, 0x79, - 0x68, 0x34, 0x71, 0x0d, 0x46, 0xb2, 0xa2, 0x6d, 0xb8, 0xcf, 0x8b, 0xec, 0x22, 0x10, 0xbc, 0x8f, - 0x19, 0x2e, 0xe0, 0xee, 0xdb, 0xcf, 0x20, 0x62, 0xbf, 0xf6, 0xa0, 0xce, 0x9e, 0x1c, 0x75, 0x5f, - 0x14, 0x20, 0xf0, 0x0e, 0x9e, 0x1f, 0x41, 0x73, 0x9f, 0xf5, 0x38, 0x8c, 0x29, 0x00, 0xca, 0xcc, - 0x40, 0xde, 0x24, 0x8e, 0x31, 0xc9, 0x5f, 0x4c, 0xb4, 0x58, 0xd8, 0x96, 0xba, 0xf6, 0x83, 0xdf, - 0x10, 0x49, 0xb6, 0x56, 0x6d, 0xbc, 0x48, 0x71, 0x53, 0x37, 0x01, 0x43, 0x23, 0x6b, 0x61, 0x96, - 0x49, 0x95, 0x48, 0x2b, 0x73, 0xa9, 0x68, 0x7c, 0x27, 0x9b, 0x22, 0x6e, 0x9c, 0x1f, 0x40, 0xfc, - 0x05, 0xf1, 0xa3, 0x50, 0x41, 0xb8, 0x7e, 0xc8, 0xe5, 0x70, 0x87, 0xd3, 0xd0, 0xa5, 0x6d, 0x3c, - 0x2b, 0x87, 0xd8, 0x00, 0x7c, 0xd7, 0x81, 0x0d, 0x0e, 0xea, 0x11, 0x5c, 0xdf, 0x43, 0xe0, 0xa8, - 0x79, 0x62, 0xf0, 0xdb, 0x47, 0xbd, 0x25, 0x79, 0x3d, 0xe2, 0x98, 0xdf, 0x06, 0x94, 0x13, 0x53, - 0xf6, 0xaa, 0x7c, 0x04, 0xfd, 0x50, 0xe3, 0x93, 0x98, 0x68, 0x5a, 0x40, 0xb9, 0x75, 0x11, 0x99, - 0x02, 0x52, 0xfe, 0x67, 0x5b, 0xbe, 0x78, 0x2e, 0x46, 0xcf, 0x38, 0xb7, 0xdc, 0x43, 0x0b, 0xb3, - 0x67, 0x70, 0x0e, 0x2e, 0xae, 0x1a, 0x9b, 0xb3, 0xb3, 0x33, 0x30, 0x5f, 0xa2, 0x3f, 0x88, 0x25, - 0xd2, 0x61, 0x97, 0x54, 0x0e, 0x46, 0x6a, 0x48, 0x84, 0xb0, 0xb7, 0x12, 0x18, 0x7a, 0x3e, 0x7b, - 0x49, 0xd5, 0x25, 0xef, 0x6d, 0x7d, 0xcc, 0x2d, 0x42, 0x3c, 0xbd, 0x38, 0x6b, 0x90, 0x7c, 0x3d, - 0x66, 0x5e, 0x1d, 0x2d, 0x54, 0xde, 0xcf, 0x97, 0x39, 0x7e, 0x98, 0xf0, 0x95, 0x38, 0x72, 0x35, - 0xe9, 0xab, 0xdc, 0x85, 0x9d, 0x83, 0x8d, 0x85, 0x8e, 0x5e, 0xdc, 0xa6, 0x30, 0xef, 0xe3, 0x42, - 0xc0, 0xb0, 0x63, 0xd0, 0x4e, 0xa9, 0x5d, 0xf6, 0xc8, 0x60, 0x18, 0x09, 0xe3, 0xf2, 0xff, 0x58, - 0x4a, 0x53, 0x32, 0xfb, 0x9d, 0x0f, 0xb1, 0x25, 0x2f, 0x1a, 0xcd, 0xe8, 0x47, 0x80, 0xe0, 0x48, - 0xfa, 0xfd, 0x3a, 0xf4, 0x30, 0xe9, 0x7c, 0x66, 0x83, 0xdb, 0xfd, 0x81, 0x41, 0x3f, 0xde, 0xcf, - 0xcf, 0x08, 0x52, 0x52, 0xc8, 0x18, 0x6d, 0xaa, 0x8b, 0x47, 0xa3, 0xd4, 0x97, 0x64, 0xae, 0xe4, - 0x60, 0x5c, 0x35, 0x23, 0x8a, 0x66, 0x40, 0x71, 0x52, 0x5a, 0x51, 0x7a, 0x69, 0x45, 0x7d, 0x7d, - 0x89, 0x79, 0x43, 0x70, 0x2b, 0xba, 0xe7, 0x13, 0xf6, 0x95, 0xf8, 0x00, 0x63, 0x5e, 0x6b, 0xce, - 0x24, 0x67, 0xa4, 0xc2, 0x83, 0x89, 0x45, 0xaf, 0x36, 0x69, 0x47, 0xbb, 0x12, 0x83, 0x67, 0x09, - 0xbf, 0xef, 0xbe, 0xae, 0x7c, 0x4d, 0x58, 0xdf, 0xa8, 0xd7, 0x1d, 0x79, 0xaa, 0x0e, 0x5a, 0x1d, - 0xd7, 0x37, 0x23, 0x87, 0x0d, 0x69, 0x59, 0xf0, 0x69, 0x42, 0xc5, 0x4e, 0x40, 0x06, 0x22, 0x47, - 0x64, 0x38, 0xd1, 0x6b, 0x20, 0xca, 0x38, 0x91, 0xc0, 0x90, 0x9f, 0xed, 0x1e, 0x9d, 0xd5, 0x60, - 0x82, 0x7c, 0x22, 0x98, 0xd1, 0xc2, 0x25, 0xd2, 0xd7, 0xca, 0xd7, 0xe9, 0x45, 0xdd, 0xc0, 0x7f, - 0xdb, 0xed, 0xde, 0xb0, 0x6d, 0x80, 0x7e, 0x1a, 0xbc, 0x1f, 0xd4, 0x15, 0xa9, 0x50, 0x25, 0x8e, - 0xc4, 0x90, 0x9f, 0xb0, 0x86, 0x2a, 0xe9, 0x76, 0x03, 0x8a, 0x53, 0xca, 0x1e, 0xdd, 0x1b, 0xee, - 0x75, 0x12, 0xc7, 0xeb, 0x6a, 0x9f, 0x18, 0x5d, 0xa6, 0xa7, 0x21, 0x9d, 0x10, 0x72, 0xe1, 0xa0, - 0x1a, 0x8d, 0x7c, 0x94, 0x92, 0xb0, 0x72, 0x97, 0x8f, 0x51, 0x3c, 0xa8, 0x9a, 0xa7, 0x9f, 0x94, - 0x64, 0x89, 0x79, 0x7c, 0xc0, 0xe6, 0x13, 0x64, 0x96, 0x2a, 0x91, 0x8c, 0x5b, 0xd5, 0x2f, 0x3e, - 0x35, 0x27, 0xcc, 0xb3, 0x9f, 0x1e, 0xe7, 0x6c, 0x8f, 0x8f, 0x83, 0xd7, 0x11, 0x87, 0xe7, 0xab, - 0xbf, 0x9d, 0xc6, 0x90, 0x46, 0x17, 0x9b, 0xfc, 0x56, 0xa5, 0xf9, 0x06, 0x30, 0x45, 0x4d, 0xa0, - 0x3c, 0xd7, 0xa4, 0x5d, 0xe7, 0x78, 0xdb, 0xaf, 0xcd, 0x39, 0x21, 0xda, 0x25, 0xab, 0xc7, 0x3f, - 0x42, 0x3f, 0x1e, 0x98, 0x0d, 0x1c, 0xe0, 0x4a, 0xe1, 0x51, 0x9e, 0x0b, 0xb3, 0x65, 0xe7, 0x47, - 0xfc, 0x32, 0x38, 0x44, 0xd4, 0x71, 0xc5, 0xdc, 0xc1, 0x82, 0x73, 0x4c, 0x68, 0xa4, 0x35, 0x17, - 0x1c, 0x3c, 0x92, 0xc5, 0xf4, 0x10, 0x68, 0x91, 0x4e, 0xa9, 0x64, 0x34, 0x65, 0xb0, 0xf1, 0x43, - 0x46, 0xfe, 0x44, 0xce, 0xaa, 0x67, 0xa1, 0xd5, 0x25, 0xd9, 0x85, 0x54, 0xab, 0x47, 0x6b, 0x10, - 0x4e, 0x80, 0x9c, 0xad, 0xc3, 0x37, 0xa2, 0x55, 0x4b, 0x4a, 0x1e, 0x1e, 0x42, 0xf3, 0x2e, 0x45, - 0x30, 0x3a, 0xbc, 0x02, 0xd2, 0xb2, 0x17, 0x5a, 0xd8, 0x0e, 0x05, 0xea, 0xe2, 0xc3, 0x6f, 0x55, - 0xb3, 0xf6, 0x5e, 0xa1, 0x02, 0xe3, 0x10, 0xb5, 0xf3, 0xcf, 0x89, 0xad, 0xce, 0x5f, 0x0f, 0xe0, - 0x7a, 0xc9, 0xea, 0x96, 0x31, 0x05, 0x58, 0xf7, 0xaf, 0xb5, 0x73, 0x26, 0xe9, 0xf2, 0x36, 0x3b, - 0x61, 0x9f, 0x6b, 0x93, 0x1f, 0x4e, 0xb0, 0x30, 0xad, 0x0f, 0xdb, 0xe0, 0xf0, 0x97, 0xd9, 0x5e, - 0x19, 0x92, 0xc8, 0xac, 0xed, 0xc0, 0x1f, 0x8b, 0xef, 0x67, 0x91, 0xd2, 0xfc, 0xd0, 0xac, 0xab, - 0x8e, 0xc0, 0xb9, 0xbb, 0x41, 0xac, 0xbd, 0x2d, 0xb3, 0x92, 0x0d, 0x49, 0x7c, 0x29, 0xad, 0xbf, - 0xfe, 0x76, 0xef, 0x2d, 0xfc, 0x26, 0x3a, 0xc0, 0x52, 0x57, 0xfd, 0x8b, 0xa7, 0x61, 0x95, 0xb6, - 0x1b, 0x3f, 0x0e, 0x59, 0x15, 0x7a, 0x13, 0xf0, 0x84, 0x98, 0xd4, 0xf3, 0xb8, 0x93, 0x0f, 0x45, - 0x61, 0x39, 0x5e, 0x9e, 0xaf, 0x28, 0x92, 0x6d, 0x50, 0x61, 0x4e, 0xe9, 0xae, 0x28, 0xeb, 0x02, - 0x42, 0x15, 0x25, 0x45, 0xe4, 0x26, 0x5a, 0xc4, 0xbf, 0x49, 0x76, 0x7e, 0x4f, 0x36, 0x5d, 0xe4, - 0x5c, 0x85, 0x27, 0x3b, 0xe8, 0x3a, 0xda, 0x11, 0x61, 0xd2, 0xc4, 0x84, 0x08, 0xeb, 0x51, 0x4a, - 0x89, 0xbd, 0x94, 0x63, 0xb2, 0x9b, 0xb1, 0xbe, 0xae, 0x1e, 0x83, 0x24, 0x9e, 0xc1, 0xbf, 0x71, - 0x8b, 0x6e, 0x55, 0x1f, 0xc7, 0xf5, 0xb1, 0xe9, 0xe0, 0xe2, 0xf2, 0x8e, 0x89, 0xa1, 0x71, 0x55, - 0x52, 0x6a, 0xee, 0xcc, 0xf3, 0x09, 0xbd, 0x31, 0xcd, 0xa9, 0xc3, 0x2e, 0xe9, 0x8b, 0xe9, 0xd0, - 0xb1, 0x4f, 0x23, 0x12, 0x79, 0x43, 0x9a, 0x80, 0xdf, 0xcc, 0x1a, 0xf2, 0xfd, 0xc8, 0x88, 0x3d, - 0x8c, 0xfa, 0x70, 0x07, 0xa8, 0x13, 0xc5, 0x9c, 0xc6, 0xda, 0x3e, 0x89, 0xa1, 0x17, 0xe4, 0x60, - 0x69, 0x7e, 0xb7, 0xf9, 0x9a, 0x1b, 0x01, 0xa1, 0x25, 0x56, 0x05, 0x73, 0xf6, 0x38, 0xf2, 0xb8, - 0x1c, 0x26, 0x6c, 0xd7, 0x83, 0x4b, 0x5a, 0x2b, 0xab, 0x87, 0x03, 0xf1, 0x96, 0x04, 0x9f, 0xc0, - 0x5b, 0x1a, 0x28, 0x98, 0x07, 0x6e, 0xbf, 0x98, 0x9d, 0x25, 0x77, 0x37, 0x85, 0xf2, 0xd2, 0xeb, - 0xe4, 0x39, 0xab, 0x24, 0xda, 0x92, 0x30, 0x36, 0xf5, 0x09, 0x7a, 0xf1, 0x3e, 0x91, 0x34, 0x77, - 0x92, 0x1e, 0x55, 0x25, 0x4c, 0x37, 0x84, 0xc5, 0x69, 0xe8, 0x29, 0xb8, 0xe5, 0x0f, 0xc9, 0x49, - 0x8d, 0xbc, 0x42, 0x1d, 0x8b, 0xa7, 0xe9, 0x94, 0xbd, 0x11, 0x5b, 0xf9, 0xbe, 0xd5, 0xcd, 0x65, - 0xb8, 0xa4, 0xc5, 0xeb, 0x71, 0x1e, 0xf4, 0x3b, 0x7d, 0x3e, 0xb9, 0x8f, 0xd2, 0xfa, 0xb4, 0xe0, - 0x72, 0x04, 0xbd, 0x6a, 0xc8, 0x17, 0xd5, 0x1f, 0x98, 0x7b, 0x83, 0xff, 0xd6, 0x71, 0xf7, 0xd2, - 0xa8, 0xde, 0xc7, 0x3a, 0xae, 0x3d, 0x32, 0x00, 0x4d, 0x15, 0x1e, 0x80, 0x63, 0x0c, 0x6f, 0x87, - 0x8a, 0x02, 0x80, 0x42, 0x37, 0xc4, 0x79, 0xf0, 0x9d, 0xaa, 0x08, 0x79, 0x8b, 0x04, 0x86, 0xc2, - 0xd0, 0xa3, 0x80, 0x93, 0x0d, 0x1f, 0x25, 0xc4, 0x32, 0xbd, 0xdb, 0xca, 0xb4, 0x74, 0x2b, 0xa9, - 0x97, 0x99, 0x59, 0x9a, 0xea, 0x15, 0xd1, 0x9e, 0x20, 0x53, 0x47, 0x71, 0xb4, 0x54, 0xa7, 0x45, - 0xf7, 0x25, 0x54, 0x14, 0xbb, 0x39, 0xf6, 0xcc, 0xe7, 0x9e, 0x50, 0x69, 0x94, 0xb1, 0x05, 0xd1, - 0x1e, 0xa3, 0x82, 0x36, 0xaa, 0xff, 0xdc, 0x64, 0xce, 0x4e, 0xf9, 0xaf, 0x50, 0x10, 0x46, 0xe2, - 0xf0, 0x22, 0xdd, 0xe4, 0x3a, 0xba, 0x7e, 0xfb, 0x56, 0xb0, 0xa5, 0xaf, 0xaa, 0xc4, 0x70, 0x6e, - 0x8d, 0x0e, 0xab, 0xf4, 0x2f, 0x9d, 0xe3, 0x47, 0x6a, 0xf4, 0x0f, 0x9e, 0x30, 0xa4, 0x14, 0x6d, - 0xc7, 0x91, 0xb8, 0x43, 0xa1, 0x16, 0x92, 0x3f, 0xcf, 0x6d, 0x54, 0x34, 0xcd, 0x96, 0xcc, 0x70, - 0x29, 0x6c, 0x4f, 0xaf, 0xa9, 0x6f, 0xfb, 0x05, 0x04, 0xf1, 0x80, 0xe0, 0x9a, 0xa5, 0x4d, 0xa4, - 0x89, 0xe9, 0x67, 0x3d, 0x0a, 0x10, 0xf1, 0x51, 0x8f, 0x43, 0x86, 0x05, 0xe9, 0x36, 0x81, 0x90, - 0x3e, 0xe1, 0x8a, 0xa3, 0x06, 0xad, 0x69, 0xb8, 0x22, 0x87, 0x07, 0x48, 0x88, 0x60, 0x80, 0xda, - 0x63, 0x8d, 0x94, 0xa3, 0xe2, 0x51, 0x4b, 0x01, 0xf1, 0xb6, 0x99, 0xba, 0xc0, 0x89, 0x8a, 0xec, - 0x30, 0x7a, 0xe9, 0xa4, 0x0e, 0x95, 0x5b, 0x42, 0x77, 0x89, 0x54, 0x46, 0xef, 0x21, 0x1a, 0xb1, - 0x07, 0xe3, 0x86, 0x3e, 0x03, 0xd4, 0x4d, 0xd8, 0xc8, 0xe3, 0xa8, 0xed, 0x28, 0x27, 0x08, 0x0b, - 0x9e, 0xbc, 0x24, 0xaa, 0x5c, 0x60, 0x10, 0x49, 0xc9, 0x84, 0x0b, 0x4b, 0x58, 0x3e, 0x5a, 0xb6, - 0x7e, 0x51, 0x0b, 0x64, 0x55, 0x44, 0xc9, 0xe4, 0xb8, 0x71, 0xa9, 0x3a, 0x76, 0x1e, 0xe2, 0xd3, - 0x37, 0x9a, 0x96, 0x54, 0x57, 0xa0, 0xb4, 0x4e, 0x35, 0x7a, 0x97, 0x2c, 0x68, 0x32, 0x69, 0x38, - 0x56, 0x36, 0xc0, 0x72, 0xc3, 0x7f, 0xf2, 0xc3, 0xc0, 0x67, 0x33, 0xeb, 0x57, 0x37, 0x2d, 0x41, - 0x74, 0x38, 0x91, 0x0c, 0x73, 0xbf, 0xf6, 0x57, 0xd3, 0x7a, 0x03, 0xc2, 0xb4, 0x64, 0x6f, 0x1c, - 0x5f, 0xe6, 0xf3, 0x35, 0x52, 0x82, 0x00, 0x6b, 0xf2, 0x09, 0x6d, 0xf6, 0x02, 0x85, 0x9a, 0x2c, - 0x37, 0x64, 0x7c, 0x55, 0xc7, 0xf7, 0xf4, 0x91, 0x6f, 0xb8, 0x0c, 0x6c, 0xb4, 0xbb, 0x73, 0xcc, - 0xea, 0x04, 0xeb, 0x68, 0x41, 0x71, 0x86, 0xc0, 0x8b, 0x51, 0xec, 0x43, 0x17, 0x04, 0xe7, 0x3e, - 0xba, 0x77, 0xc4, 0x58, 0x92, 0x72, 0x65, 0x79, 0x48, 0x23, 0x23, 0xde, 0xab, 0x4f, 0xfc, 0xb2, - 0xfb, 0x79, 0x17, 0xa0, 0x45, 0x74, 0xdb, 0xcf, 0x1b, 0x79, 0x77, 0x82, 0xf0, 0x7d, 0x9b, 0x02, - 0x18, 0x9a, 0x07, 0x18, 0x8d, 0x90, 0x4b, 0x52, 0xac, 0xd0, 0x9a, 0x9e, 0x93, 0x74, 0xdc, 0x4f, - 0xc3, 0x34, 0x05, 0xcb, 0x33, 0x92, 0x17, 0x80, 0x15, 0x64, 0xda, 0x24, 0xec, 0x24, 0x61, 0x14, - 0x79, 0x6a, 0x61, 0x2a, 0x83, 0xe1, 0x7a, 0xb5, 0xf3, 0x9b, 0xa9, 0x42, 0x80, 0x8a, 0x88, 0xc0, - 0x7e, 0xb0, 0x41, 0x36, 0x20, 0x68, 0x7a, 0x5f, 0x50, 0x9d, 0x5c, 0x2c, 0x54, 0x71, 0x42, 0x26, - 0x47, 0x47, 0x56, 0x28, 0x4d, 0x71, 0xa5, 0x3c, 0xd6, 0x30, 0xf0, 0xbf, 0xb1, 0x0e, 0xd2, 0xbe, - 0xd5, 0x77, 0xe4, 0xab, 0x3f, 0x52, 0xe5, 0x83, 0xdf, 0x34, 0x73, 0xbb, 0x9b, 0x6f, 0xfc, 0x0d, - 0x28, 0xda, 0xe2, 0xe3, 0x2e, 0x44, 0x5f, 0x21, 0x45, 0x1e, 0xf4, 0x1a, 0xc2, 0xf5, 0x3a, 0x4f, - 0xe5, 0xd9, 0x45, 0x5a, 0xe2, 0x6b, 0xd5, 0xf1, 0x61, 0x0d, 0x47, 0x71, 0xe4, 0x6a, 0xda, 0x2f, - 0x51, 0x69, 0xd0, 0x32, 0x87, 0x54, 0xc1, 0x8e, 0xc3, 0xe4, 0x17, 0x8b, 0x63, 0x73, 0x7d, 0x4f, - 0x87, 0xc3, 0xbc, 0x4e, 0x17, 0x98, 0x58, 0xd9, 0xc3, 0xb9, 0x26, 0xc4, 0x9c, 0xaf, 0xd9, 0xf1, - 0x1c, 0x71, 0xbf, 0xa3, 0x38, 0xf2, 0x00, 0xd5, 0x82, 0xa7, 0x80, 0x7a, 0x7b, 0x23, 0x55, 0x35, - 0x01, 0x4b, 0x41, 0x18, 0x1c, 0xe8, 0xc3, 0x66, 0xf9, 0xa9, 0x80, 0x3b, 0xea, 0x87, 0x0a, 0xb5, - 0x24, 0x5e, 0x33, 0xf4, 0x46, 0xc7, 0xcc, 0xf2, 0x74, 0x80, 0x0b, 0xaf, 0x52, 0xe7, 0xf9, 0xbd, - 0x85, 0x0f, 0x38, 0xba, 0x87, 0xb5, 0xac, 0x49, 0x18, 0xcf, 0xb5, 0x80, 0x50, 0x68, 0x9d, 0x4b, - 0x36, 0x2b, 0x93, 0x5a, 0xb8, 0xc7, 0xcf, 0x1e, 0xfa, 0x60, 0x66, 0xa1, 0x23, 0x2f, 0x58, 0xba, - 0x07, 0xa9, 0x10, 0x31, 0x87, 0x5e, 0x90, 0xfa, 0x49, 0xf8, 0xba, 0x2a, 0xf0, 0x49, 0x92, 0xbe, - 0xab, 0x37, 0x7d, 0x9b, 0x0f, 0x07, 0x5f, 0x41, 0xb1, 0x92, 0xaa, 0xa0, 0x0f, 0xd6, 0x93, 0x22, - 0xcb, 0xd6, 0x60, 0xde, 0xf1, 0xf6, 0x7d, 0xad, 0x97, 0xdd, 0x29, 0xff, 0xd4, 0x17, 0x74, 0x57, - 0x14, 0x47, 0xfb, 0xc0, 0x7c, 0x62, 0xd5, 0x4a, 0x87, 0x08, 0xa2, 0xb4, 0xd9, 0x71, 0x9f, 0x97, - 0x8c, 0x34, 0x3a, 0x15, 0x7e, 0xde, 0xcb, 0xc0, 0xe9, 0x12, 0x95, 0x2a, 0x28, 0x62, 0xeb, 0x45, - 0xc1, 0xb2, 0x23, 0xd5, 0x39, 0x08, 0x00, 0x29, 0x31, 0x03, 0xc1, 0x6e, 0xe7, 0x13, 0xe1, 0x35, - 0x6a, 0x4b, 0xf4, 0x0b, 0x7d, 0xe6, 0x41, 0x3a, 0x04, 0x67, 0x50, 0x1e, 0x87, 0xfe, 0x34, 0xd1, - 0xf4, 0xc6, 0xc9, 0xba, 0x27, 0x55, 0x0c, 0xef, 0x0a, 0xfb, 0xba, 0xfa, 0xe4, 0x60, 0xf9, 0xb6, - 0x70, 0xdd, 0xb6, 0x04, 0x9d, 0x7e, 0x5a, 0xd9, 0xb1, 0xf8, 0xe9, 0x9b, 0xa0, 0xca, 0xd0, 0x79, - 0xa6, 0x2f, 0x78, 0xd4, 0xbe, 0x50, 0x34, 0xee, 0x38, 0x4e, 0x76, 0x63, 0xc6, 0x3e, 0x8b, 0x00, - 0x2e, 0x48, 0xc5, 0x1c, 0x01, 0x66, 0x93, 0xe8, 0xb9, 0x0a, 0x8b, 0x9d, 0x19, 0xd2, 0x0d, 0xa2, - 0x17, 0x5f, 0xb1, 0x98, 0xdd, 0x93, 0x4e, 0x49, 0xe6, 0x5c, 0x4a, 0x71, 0x84, 0x09, 0xe0, 0x21, - 0xc5, 0xa9, 0xfd, 0x90, 0xb5, 0x6d, 0xed, 0x1e, 0x38, 0x37, 0xef, 0x89, 0xe0, 0xd5, 0x81, 0xf7, - 0xdc, 0xec, 0x18, 0x27, 0x01, 0x08, 0x44, 0x4c, 0x69, 0xac, 0xf6, 0x0f, 0x3c, 0xad, 0x37, 0x80, - 0xe1, 0x31, 0xe5, 0x40, 0xb3, 0x21, 0xc8, 0x7f, 0xed, 0xf7, 0x71, 0x48, 0xc2, 0x87, 0x22, 0x73, - 0xf9, 0x3a, 0x32, 0x47, 0x4b, 0x73, 0xc5, 0xcc, 0x52, 0x38, 0x13, 0xbe, 0x8f, 0xf7, 0x6d, 0x7a, - 0x2e, 0x13, 0x4d, 0x1e, 0xee, 0x49, 0x94, 0xdc, 0x68, 0x98, 0xcb, 0xde, 0xd6, 0xc2, 0xee, 0x35, - 0xc7, 0x94, 0x5e, 0xa5, 0xf9, 0x84, 0x96, 0x3e, 0xf2, 0x8c, 0xec, 0x3b, 0xcc, 0x1b, 0x76, 0xab, - 0x15, 0x28, 0x05, 0x41, 0x03, 0x60, 0x02, 0x62, 0x3e, 0x99, 0x46, 0xcb, 0x0b, 0x4c, 0x7c, 0xcc, - 0xec, 0xd5, 0x11, 0x40, 0x07, 0xb6, 0x96, 0x57, 0x85, 0xf0, 0xcb, 0xfc, 0x9b, 0x89, 0xec, 0x5d, - 0xae, 0xdb, 0x18, 0x50, 0x8d, 0xdf, 0xba, 0xe7, 0x05, 0xe7, 0x1d, 0x2c, 0x1e, 0x22, 0x2d, 0xc8, - 0x73, 0xae, 0x19, 0xb0, 0x34, 0xd0, 0xa0, 0xdd, 0x06, 0x56, 0x6a, 0x6b, 0x11, 0xfc, 0x50, 0xf9, - 0xe0, 0xa9, 0xca, 0xc7, 0x74, 0x50, 0xe6, 0x15, 0xa3, 0x13, 0xa9, 0xb5, 0x90, 0x27, 0xed, 0x0e, - 0x98, 0x4a, 0xe8, 0x22, 0x54, 0xfe, 0x3a, 0xc8, 0xe8, 0xdb, 0xe1, 0x69, 0x5b, 0x7e, 0x2d, 0x44, - 0x87, 0x05, 0x5a, 0x53, 0xb4, 0xb0, 0x24, 0x6d, 0xb3, 0xe8, 0x8f, 0xd0, 0x1a, 0x69, 0xfe, 0x60, - 0x34, 0x49, 0x14, 0x84, 0x6a, 0x10, 0x8d, 0xea, 0x08, 0x22, 0xb2, 0xdc, 0x4f, 0x1e, 0xb6, 0x43, - 0x77, 0x05, 0xd7, 0x7d, 0x60, 0xb7, 0x03, 0x9c, 0x8a, 0x3c, 0x26, 0xfe, 0xa1, 0x46, 0x4a, 0xa8, - 0x5a, 0x28, 0x66, 0x6f, 0x0c, 0x02, 0xbc, 0x69, 0x38, 0x4d, 0x93, 0xdf, 0xf5, 0xfb, 0x7c, 0xb3, - 0x42, 0xfb, 0x6e, 0x20, 0x1f, 0x45, 0x72, 0x6a, 0x6a, 0x43, 0x43, 0xb2, 0xbe, 0x5d, 0x2b, 0x79, - 0xb5, 0x45, 0xa2, 0x40, 0x4e, 0x93, 0x34, 0x21, 0x09, 0x0b, 0x00, 0x91, 0x30, 0x0e, 0x54, 0x9e, - 0xeb, 0x68, 0xda, 0x8d, 0x83, 0xab, 0x16, 0xc1, 0x1c, 0xe8, 0xd6, 0xe6, 0xcb, 0x72, 0x49, 0x41, - 0xf8, 0xe5, 0x2d, 0x81, 0x8b, 0x93, 0x8b, 0xb7, 0x49, 0x21, 0xeb, 0xcb, 0x01, 0x5e, 0x26, 0x77, - 0xb4, 0x7c, 0x28, 0x71, 0x78, 0x97, 0xaf, 0xbb, 0x2b, 0x98, 0xcd, 0xc7, 0x4a, 0xb5, 0x5a, 0xf7, - 0x86, 0x5b, 0x4b, 0x5d, 0xe4, 0xe8, 0x53, 0xa7, 0x8a, 0x2e, 0x35, 0x38, 0x2a, 0x2a, 0xba, 0x2a, - 0x06, 0x05, 0x08, 0xf5, 0x25, 0xd2, 0xb7, 0x95, 0x5c, 0xb4, 0x49, 0x7c, 0x6f, 0xfa, 0x79, 0x4e, - 0x55, 0x94, 0xe7, 0x6a, 0x3d, 0x28, 0xcc, 0xc3, 0x0e, 0x3a, 0xe5, 0xc4, 0xeb, 0x06, 0x93, 0x65, - 0xa2, 0x5d, 0xce, 0x49, 0x85, 0x93, 0xf5, 0xf9, 0x3c, 0x84, 0x73, 0x07, 0x53, 0xfd, 0x40, 0xc8, - 0xc4, 0x7d, 0xea, 0x0e, 0xc2, 0xad, 0x31, 0x8b, 0x94, 0xfc, 0x39, 0x27, 0x85, 0x65, 0x80, 0x58, - 0x74, 0x6f, 0x28, 0x5d, 0x3a, 0x07, 0xe2, 0x40, 0x67, 0x0e, 0xb8, 0x5e, 0xfd, 0xea, 0x63, 0xbf, - 0x91, 0xa4, 0x71, 0x52, 0xad, 0x4d, 0x61, 0xd1, 0x0a, 0x54, 0x3d, 0x2a, 0x07, 0x2d, 0xe9, 0x01, - 0x9e, 0x50, 0x38, 0xd7, 0xf8, 0xe5, 0x30, 0xa1, 0x3c, 0xef, 0x7f, 0xe2, 0x96, 0x29, 0x90, 0x76, - 0x0a, 0xf0, 0xa2, 0xc0, 0x8e, 0x20, 0x41, 0x23, 0x9c, 0xb1, 0xf4, 0x46, 0xe7, 0x14, 0x2e, 0x53, - 0xa3, 0xbc, 0xd6, 0x83, 0x7e, 0x5d, 0x91, 0x1f, 0x7f, 0x61, 0x87, 0x99, 0x36, 0xb0, 0x21, 0x99, - 0x08, 0x55, 0x75, 0x90, 0xc9, 0x35, 0x97, 0x98, 0xea, 0xd8, 0xb5, 0xa8, 0xf6, 0x08, 0xab, 0x79, - 0xd4, 0x3a, 0x31, 0xca, 0xf1, 0xf6, 0x4e, 0xbf, 0x61, 0xf9, 0x73, 0xfb, 0x01, 0x2c, 0x12, 0x3a, - 0xa3, 0x98, 0xda, 0x69, 0x48, 0xdc, 0x22, 0xde, 0xe9, 0x8c, 0xd5, 0x28, 0xff, 0xea, 0xe8, 0x7e, - 0xea, 0xd6, 0x98, 0x2a, 0xc1, 0x7b, 0x6d, 0x09, 0xa2, 0x1a, 0x2f, 0x50, 0x3e, 0xa0, 0x0c, 0xaa, - 0x10, 0x5b, 0xbf, 0x0f, 0x2f, 0xcf, 0x14, 0xef, 0xa5, 0xa1, 0x56, 0xa3, 0x5c, 0x75, 0xc8, 0xa5, - 0xc8, 0x63, 0x7a, 0xf2, 0x93, 0x01, 0xa3, 0x5a, 0x39, 0x3c, 0x3a, 0x65, 0x98, 0xe6, 0x0e, 0x66, - 0xbc, 0xc0, 0xf2, 0x8f, 0x64, 0x06, 0x35, 0xe9, 0x88, 0xb5, 0xaf, 0xf5, 0x08, 0x94, 0x8c, 0x55, - 0xa8, 0x0a, 0x1f, 0x99, 0xdf, 0xce, 0x8d, 0x35, 0x67, 0x69, 0x7f, 0x7c, 0xf9, 0x14, 0xba, 0xfd, - 0x3e, 0xa3, 0xc0, 0x07, 0x82, 0xc7, 0xe8, 0x3b, 0x8b, 0x0c, 0xc0, 0xd9, 0x6a, 0x47, 0x0f, 0xa0, - 0x48, 0xc9, 0x3e, 0x4e, 0x0e, 0x64, 0xe6, 0xbc, 0x21, 0x2c, 0x3c, 0x2c, 0x83, 0x48, 0xde, 0xfc, - 0x28, 0x10, 0x0b, 0x69, 0xed, 0x31, 0xf6, 0x1e, 0x6e, 0xff, 0x29, 0x72, 0x11, 0x1d, 0x3f, 0x1d, - 0xd7, 0xa3, 0x3c, 0xc5, 0xff, 0x7d, 0xcd, 0x4e, 0x99, 0xcd, 0xec, 0x98, 0xc2, 0xa3, 0x8c, 0x26, - 0x1e, 0xea, 0x90, 0xe4, 0x36, 0x04, 0xab, 0x2b, 0xae, 0x7d, 0x3f, 0x40, 0xd6, 0xb7, 0x52, 0xd0, - 0x7f, 0x29, 0x6b, 0xcd, 0x9f, 0x46, 0x7b, 0x1e, 0xa6, 0xc8, 0x63, 0xea, 0xd0, 0xe7, 0x5a, 0xa1, - 0x33, 0x8b, 0xa5, 0x48, 0x13, 0x1b, 0x03, 0x0b, 0x8a, 0x88, 0x63, 0xc3, 0xbe, 0xd9, 0x3f, 0x98, - 0xcb, 0xaa, 0xc5, 0x3e, 0xeb, 0x61, 0x52, 0x37, 0xf8, 0x0e, 0x88, 0x4b, 0x6a, 0x37, 0x38, 0x2a, - 0xfa, 0x3a, 0x20, 0x53, 0x69, 0x25, 0x08, 0x33, 0xc1, 0x0c, 0xa6, 0xac, 0xe9, 0xfe, 0xdb, 0xae, - 0x57, 0x97, 0x86, 0x72, 0xed, 0xee, 0x27, 0xcb, 0x10, 0xce, 0x8c, 0xb4, 0x5c, 0x07, 0xfb, 0x85, - 0x93, 0x72, 0x63, 0xec, 0x5f, 0xba, 0x73, 0x84, 0xab, 0xdf, 0xf8, 0xcc, 0xeb, 0x34, 0xab, 0x2d, - 0x8a, 0x77, 0x30, 0xda, 0xb6, 0x57, 0x4a, 0x2b, 0x2d, 0x38, 0xdc, 0x0e, 0xe2, 0x6f, 0x64, 0x60, - 0x13, 0x62, 0xd9, 0xbe, 0x1b, 0xbf, 0x18, 0x9d, 0xdc, 0x83, 0xac, 0x73, 0x04, 0x0c, 0x1a, 0x54, - 0x8d, 0xd1, 0x71, 0x42, 0x70, 0xd0, 0x55, 0x55, 0x5f, 0xcf, 0x3d, 0x60, 0x95, 0x47, 0xc0, 0xaa, - 0x2d, 0xf4, 0x0c, 0x20, 0x37, 0xd0, 0x97, 0x42, 0x5e, 0x44, 0xbb, 0x37, 0xf2, 0x05, 0x9b, 0x8e, - 0x63, 0xed, 0xd8, 0x54, 0xcb, 0x80, 0xd6, 0x08, 0x2a, 0x75, 0x3e, 0xca, 0xde, 0x88, 0x9e, 0xeb, - 0x8b, 0xbd, 0x96, 0x49, 0x9e, 0x44, 0x15, 0x7d, 0xce, 0x12, 0x6e, 0x5a, 0x5d, 0xf1, 0xd6, 0xda, - 0x46, 0xc5, 0xac, 0x04, 0x6c, 0x46, 0x36, 0xe0, 0x1c, 0x0b, 0xbd, 0xa6, 0xbc, 0x31, 0xd3, 0x10, - 0x3b, 0x61, 0x65, 0xe5, 0xc9, 0x40, 0x79, 0x71, 0x17, 0x3b, 0x42, 0x83, 0x73, 0xdf, 0xd4, 0x56, - 0x80, 0x68, 0x18, 0xad, 0x3d, 0x82, 0x8b, 0xda, 0x45, 0x87, 0x14, 0x26, 0x54, 0x33, 0xd6, 0xc1, - 0x53, 0x73, 0x12, 0x13, 0x2d, 0xdc, 0xb1, 0x3f, 0xd2, 0x26, 0x7d, 0x05, 0x1f, 0x76, 0xaf, 0x86, - 0x18, 0x33, 0xbc, 0x9f, 0x63, 0x83, 0x87, 0x70, 0x5f, 0x17, 0x58, 0x35, 0xde, 0x18, 0x5e, 0x0d, - 0x96, 0x0b, 0x9f, 0xb1, 0x28, 0xf0, 0x4c, 0xec, 0x12, 0xe1, 0xff, 0xb6, 0x95, 0x61, 0xfc, 0x9d, - 0x67, 0x2b, 0x07, 0x67, 0x35, 0xdb, 0x31, 0xa4, 0x7c, 0x3f, 0x50, 0xc2, 0x2f, 0x5c, 0xb6, 0x19, - 0xbc, 0xa0, 0xc3, 0xff, 0xfe, 0x44, 0x48, 0x2e, 0xdb, 0x2f, 0x41, 0x73, 0x4e, 0xe2, 0x6e, 0x44, - 0x6b, 0x3f, 0xa9, 0xc9, 0x21, 0x4f, 0xea, 0x16, 0x13, 0x03, 0xfb, 0x55, 0x42, 0xe8, 0x9d, 0xcb, - 0xea, 0x06, 0x54, 0x34, 0x2c, 0x78, 0xfc, 0x37, 0xd5, 0xea, 0xf9, 0xb3, 0x08, 0x67, 0x46, 0xcf, - 0x9c, 0x9d, 0xe1, 0xd5, 0x66, 0x64, 0xf4, 0x26, 0x50, 0xbe, 0xde, 0x97, 0x23, 0xcb, 0x48, 0x77, - 0x26, 0x59, 0xd9, 0xd2, 0xcc, 0x5d, 0x6e, 0x9f, 0xb7, 0x86, 0xe9, 0x2d, 0xc5, 0x54, 0xb9, 0xac, - 0x52, 0x7e, 0x7b, 0x09, 0x42, 0xab, 0x98, 0xd2, 0x63, 0x45, 0xfa, 0x63, 0x14, 0xaf, 0xb3, 0xdb, - 0x32, 0x1c, 0x07, 0x4e, 0xcc, 0x9b, 0x2c, 0x76, 0x45, 0x66, 0x44, 0x62, 0xe9, 0x35, 0x3e, 0x82, - 0x5f, 0x7f, 0xfc, 0x2d, 0x77, 0x3b, 0x83, 0x63, 0x3b, 0xd6, 0xfd, 0xfc, 0x2e, 0x02, 0xd2, 0x6a, - 0xd9, 0xc9, 0xcb, 0xaf, 0x36, 0x9d, 0x7b, 0xfe, 0xaa, 0xb7, 0x79, 0xf2, 0xbd, 0xb4, 0xe0, 0x86, - 0x54, 0x01, 0xa3, 0x16, 0xdf, 0x90, 0x15, 0x48, 0x2f, 0xe6, 0xbd, 0xf4, 0x3c, 0x02, 0xf1, 0x55, - 0x07, 0x8a, 0xe6, 0xcd, 0x11, 0x71, 0xcf, 0xbd, 0x62, 0x7b, 0x02, 0xb7, 0x47, 0xac, 0x69, 0x2b, - 0x34, 0xf8, 0xec, 0xa4, 0x55, 0x9c, 0x1c, 0xca, 0x26, 0xbf, 0x75, 0xed, 0xfc, 0xad, 0x5b, 0x3a, - 0xbd, 0x24, 0xe5, 0x17, 0x3d, 0xb9, 0x39, 0x38, 0x33, 0xb5, 0x00, 0xda, 0x6f, 0xe5, 0xb2, 0x8b, - 0xda, 0x49, 0x96, 0xad, 0x6d, 0x05, 0x99, 0xdc, 0x01, 0x99, 0x05, 0xb6, 0xc0, 0x63, 0x64, 0xcb, - 0x94, 0x73, 0xa8, 0x47, 0x4a, 0xa3, 0x8f, 0x1b, 0x1a, 0x1d, 0xfb, 0xd6, 0x1c, 0xc1, 0x88, 0xd8, - 0x68, 0x5b, 0x5f, 0xa3, 0x54, 0x95, 0xb9, 0xf3, 0x5f, 0x28, 0x67, 0x33, 0xa7, 0x3f, 0x3b, 0xd9, - 0x96, 0x34, 0x95, 0x9f, 0x73, 0x5e, 0xb4, 0x1e, 0x6c, 0x3a, 0x99, 0x21, 0x5d, 0x74, 0x79, 0xe9, - 0x73, 0x6f, 0xc7, 0xb9, 0x23, 0x05, 0xb3, 0x45, 0xff, 0x5c, 0xfe, 0xdc, 0xc2, 0x38, 0x21, 0x87, - 0x4c, 0x84, 0x48, 0x94, 0xe3, 0xfd, 0x27, 0xf4, 0xe3, 0x57, 0xeb, 0xf5, 0xbb, 0x9e, 0x4e, 0x6a, - 0x3a, 0xbf, 0x6b, 0x68, 0xa9, 0x62, 0x5b, 0xec, 0x57, 0x34, 0x52, 0x7b, 0x76, 0x5d, 0x12, 0x24, - 0x7e, 0xef, 0x33, 0x2d, 0xa7, 0xe8, 0x7a, 0xd0, 0x79, 0x37, 0x29, 0x3c, 0x88, 0x62, 0x30, 0xa6, - 0x5a, 0xe0, 0xc7, 0x2b, 0x20, 0xcf, 0x9a, 0xf0, 0x67, 0x35, 0x1d, 0xb4, 0x70, 0xd7, 0x66, 0xf7, - 0x34, 0xde, 0x5c, 0x2a, 0xa7, 0xd2, 0x6d, 0xc1, 0xfe, 0xc3, 0x72, 0xd4, 0x65, 0x67, 0xff, 0x41, - 0xab, 0x26, 0x32, 0xc9, 0xf8, 0x5f, 0x64, 0x67, 0x55, 0x93, 0x0b, 0xe1, 0xf9, 0x98, 0xcc, 0x55, - 0xe9, 0x28, 0x36, 0xfe, 0xb9, 0x09, 0xd6, 0x4f, 0xbc, 0x6a, 0x0a, 0x3f, 0x50, 0x53, 0xd4, 0x08, - 0xb8, 0x3d, 0x78, 0x66, 0x62, 0x83, 0x55, 0xf7, 0x1e, 0x56, 0x57, 0xd9, 0x10, 0x00, 0xc4, 0xa2, - 0xaa, 0xfe, 0x2b, 0x49, 0xe1, 0xbe, 0x1b, 0x9c, 0xff, 0xd6, 0x59, 0xb9, 0x73, 0x9a, 0x5e, 0x78, - 0x26, 0x99, 0xd0, 0x39, 0x76, 0xf1, 0xc6, 0x20, 0xae, 0xad, 0x6c, 0x06, 0xdf, 0xed, 0x30, 0x29, - 0x21, 0xa7, 0x40, 0xea, 0xce, 0x4b, 0xa6, 0x76, 0xf7, 0xed, 0x21, 0xac, 0x80, 0x5c, 0x10, 0xb3, - 0x97, 0x63, 0x3e, 0x44, 0x7f, 0x08, 0x1c, 0xb9, 0x63, 0x36, 0xb3, 0x9b, 0x36, 0x7d, 0x75, 0x17, - 0xaa, 0xf5, 0x8d, 0x91, 0xbb, 0xa1, 0x9e, 0xc1, 0x57, 0x84, 0x3b, 0x8b, 0xd9, 0x56, 0x65, 0x87, - 0x15, 0x5c, 0xf6, 0x15, 0x94, 0xe6, 0x84, 0x4c, 0x00, 0x8e, 0x68, 0x46, 0xd7, 0xfd, 0x43, 0x85, - 0x00, 0x67, 0x05, 0xbc, 0xbe, 0x10, 0xdd, 0x58, 0x45, 0x5b, 0x6f, 0x80, 0x09, 0xf4, 0x5e, 0x7f, - 0x85, 0x43, 0x31, 0xed, 0xf3, 0xad, 0x08, 0x2f, 0x28, 0x2e, 0x09, 0x4d, 0xbc, 0x15, 0x27, 0x61, - 0x7a, 0x9c, 0xbb, 0x23, 0x17, 0x85, 0x15, 0x13, 0x30, 0x7c, 0x26, 0xe5, 0xb7, 0xfa, 0x83, 0xbd, - 0x34, 0xf1, 0xae, 0xb8, 0xa0, 0xbb, 0xad, 0xf8, 0x71, 0x53, 0xac, 0x30, 0x23, 0x4e, 0xe9, 0x83, - 0x05, 0xc6, 0xe6, 0x9c, 0x32, 0x31, 0x7c, 0xa0, 0x74, 0xa9, 0xe1, 0xf9, 0xab, 0x07, 0x91, 0x08, - 0xcf, 0x33, 0xe3, 0x91, 0x42, 0x41, 0x01, 0xf5, 0x63, 0x06, 0xc5, 0xa8, 0x5f, 0x62, 0x69, 0xd8, - 0xf9, 0x05, 0x7d, 0x1a, 0x7f, 0x02, 0x46, 0xcc, 0xb9, 0x4c, 0xf4, 0x77, 0x05, 0x02, 0xd1, 0x54, - 0xbc, 0xf8, 0x3e, 0xd8, 0x9b, 0x60, 0x6f, 0xda, 0x12, 0xee, 0xfc, 0x53, 0x87, 0x69, 0x8e, 0x40, - 0x6e, 0x74, 0x42, 0x5b, 0x95, 0xcd, 0x8a, 0xc9, 0x9f, 0x75, 0xc5, 0x49, 0xa9, 0x8d, 0x97, 0x31, - 0x02, 0x36, 0xdd, 0x45, 0x61, 0x59, 0x26, 0x87, 0x69, 0xbd, 0x28, 0xb7, 0x9c, 0x7e, 0x39, 0xcf, - 0x02, 0xad, 0x0e, 0xdc, 0x85, 0xba, 0x03, 0xf3, 0x9d, 0xd3, 0x0d, 0x1d, 0x28, 0x62, 0xa2, 0xc0, - 0xcc, 0x44, 0x52, 0x68, 0xb5, 0x27, 0x0d, 0x12, 0xc6, 0x60, 0xa5, 0xad, 0x01, 0xe7, 0xfc, 0x7f, - 0x42, 0x5a, 0xab, 0x3f, 0xc9, 0xc4, 0x29, 0xab, 0x1c, 0x6b, 0x3a, 0x86, 0x63, 0x46, 0x1c, 0xfb, - 0x51, 0x69, 0xe1, 0x8f, 0x31, 0x18, 0x3e, 0xd1, 0x97, 0x77, 0x6d, 0xfd, 0x43, 0x09, 0x8e, 0xd1, - 0x11, 0x8d, 0x99, 0xd3, 0x85, 0x88, 0x2a, 0xb5, 0xbb, 0x4d, 0xa1, 0x46, 0x4d, 0xa3, 0x35, 0x6a, - 0x77, 0x86, 0xf0, 0x72, 0xd8, 0xf2, 0x15, 0xbc, 0xd4, 0x4b, 0x46, 0x19, 0xe9, 0x60, 0xd3, 0xc9, - 0x30, 0x08, 0x9e, 0xeb, 0x6c, 0xee, 0xd4, 0xd8, 0x02, 0x5b, 0x1b, 0x3f, 0x47, 0x1b, 0xdd, 0x70, - 0xbe, 0x52, 0x36, 0x0e, 0x23, 0x80, 0xd2, 0x3b, 0xf5, 0x2a, 0xdb, 0x11, 0x1c, 0xe5, 0xea, 0x0e, - 0x1e, 0xc5, 0x28, 0xa9, 0x3c, 0x16, 0x09, 0xcc, 0x4f, 0x38, 0x47, 0x32, 0x82, 0xd4, 0xab, 0xd6, - 0x1b, 0x54, 0x7e, 0xd2, 0xb1, 0xbb, 0xcb, 0x1e, 0xba, 0xb5, 0x65, 0x60, 0x4e, 0x0a, 0xf7, 0xb6, - 0xa6, 0x61, 0x4f, 0x9a, 0xb2, 0x55, 0x73, 0x71, 0xdf, 0x18, 0x66, 0xa8, 0x17, 0x0f, 0x92, 0xa2, - 0xc0, 0x78, 0x93, 0xfc, 0xfc, 0xe9, 0x9e, 0xaa, 0x2d, 0xee, 0x05, 0x7b, 0x95, 0x11, 0x44, 0x1b, - 0xf9, 0xb0, 0x86, 0x07, 0x6b, 0x15, 0xa4, 0x09, 0xcb, 0x83, 0xdb, 0xf9, 0x23, 0x18, 0x8b, 0xe7, - 0x02, 0x23, 0xa6, 0xbb, 0xe0, 0x2f, 0x82, 0x9a, 0xef, 0x8e, 0x33, 0xa4, 0x53, 0xf9, 0xfd, 0x53, - 0x3c, 0x85, 0xd5, 0x87, 0xf0, 0xc1, 0x7f, 0x2c, 0xef, 0x85, 0x32, 0xd8, 0x3a, 0x15, 0xe7, 0x28, - 0x2f, 0x37, 0xe0, 0xa4, 0xd3, 0xf2, 0xa4, 0xa3, 0x54, 0x32, 0xea, 0x2f, 0xfa, 0x99, 0xdb, 0xb5, - 0x43, 0xad, 0x29, 0xe2, 0x17, 0x3d, 0x09, 0xe3, 0x14, 0x0e, 0x94, 0x20, 0x0d, 0x2c, 0x37, 0xa7, - 0x41, 0x3d, 0x64, 0x1c, 0x1f, 0xba, 0x67, 0xc7, 0x6b, 0x06, 0x88, 0x9d, 0x9a, 0x60, 0x3b, 0x61, - 0x38, 0xec, 0x05, 0x69, 0x23, 0x93, 0x28, 0xed, 0xa9, 0xb0, 0xab, 0x8e, 0x4d, 0xc6, 0xb1, 0x04, - 0x27, 0x09, 0x20, 0xad, 0x40, 0xaf, 0x98, 0x10, 0x7b, 0x99, 0x71, 0x14, 0x5f, 0x2a, 0xbf, 0x6c, - 0x1f, 0x7a, 0x95, 0x0a, 0x86, 0xbc, 0x63, 0x82, 0xe1, 0x27, 0x96, 0x9b, 0xb6, 0x6a, 0x61, 0xb5, - 0x74, 0x56, 0xfc, 0x9b, 0x9d, 0xcf, 0xf9, 0xd2, 0x50, 0xe9, 0x20, 0x4f, 0x87, 0xc9, 0x64, 0x71, - 0xff, 0x52, 0x08, 0xb5, 0x44, 0x97, 0xd4, 0xc6, 0x5e, 0x2c, 0x68, 0xc6, 0x13, 0x24, 0x16, 0x65, - 0x01, 0xde, 0xa2, 0x28, 0x59, 0xa8, 0x53, 0x65, 0xdd, 0x3d, 0x3b, 0x5f, 0xc8, 0xd3, 0xfa, 0xa2, - 0x63, 0xaa, 0xf0, 0x83, 0xc6, 0xa1, 0xc2, 0x09, 0xb3, 0xca, 0x4b, 0xf1, 0x41, 0x86, 0xef, 0x0b, - 0xdf, 0x2f, 0x7e, 0xe6, 0xe4, 0x84, 0xc2, 0x58, 0xba, 0x19, 0x68, 0xec, 0x87, 0xa8, 0xea, 0xe5, - 0x49, 0x2e, 0x8c, 0x00, 0x22, 0x3f, 0x08, 0x21, 0x06, 0x73, 0x3f, 0x47, 0xc3, 0x4c, 0x2c, 0x35, - 0x66, 0xb2, 0x52, 0x62, 0x6d, 0x68, 0x1e, 0x02, 0x0b, 0x36, 0x1a, 0x19, 0xe3, 0xee, 0xd9, 0xbc, - 0x2d, 0xca, 0x66, 0x1d, 0x52, 0xae, 0x36, 0x66, 0x92, 0x7a, 0x69, 0x0f, 0xd2, 0xf1, 0x06, 0x92, - 0xb6, 0x8a, 0x27, 0xa9, 0x25, 0x1b, 0x15, 0x53, 0xb0, 0x4d, 0xd7, 0x72, 0x88, 0x8c, 0x75, 0x8b, - 0x2a, 0xf7, 0xd4, 0x25, 0x1d, 0xe1, 0x23, 0x57, 0x2b, 0x96, 0xf6, 0x7f, 0xf1, 0x6e, 0x86, 0xa3, - 0xe6, 0x90, 0x22, 0xa5, 0x2e, 0x86, 0xde, 0x16, 0x4d, 0xe2, 0x92, 0x7c, 0x62, 0xbb, 0x3e, 0xbe, - 0xf1, 0x3b, 0x4d, 0xa8, 0x65, 0x77, 0x4e, 0xd9, 0x15, 0x30, 0xd8, 0xa1, 0x14, 0xa9, 0x13, 0x4c, - 0xc0, 0x10, 0xbe, 0x2f, 0xf8, 0xa4, 0x59, 0xa1, 0xc6, 0x8f, 0x54, 0x2e, 0xba, 0xbd, 0x4a, 0x6c, - 0x66, 0xf6, 0x95, 0x31, 0x30, 0x4d, 0xf9, 0x37, 0xfe, 0x18, 0x47, 0x96, 0xb6, 0x53, 0x18, 0xa2, - 0x71, 0xe1, 0x55, 0x40, 0xb4, 0x63, 0x81, 0xb4, 0x14, 0xcd, 0x50, 0x69, 0x21, 0xba, 0x3a, 0x3a, - 0x7c, 0x91, 0x73, 0x04, 0x3d, 0xfe, 0xbb, 0x14, 0xa0, 0xc5, 0x04, 0xb2, 0xf7, 0xaf, 0x61, 0x25, - 0x8e, 0x03, 0x1d, 0xd2, 0x04, 0x69, 0xd1, 0x6e, 0xe3, 0x6e, 0xed, 0xc5, 0x13, 0x69, 0xa2, 0x4b, - 0x38, 0x92, 0xc1, 0xf6, 0xbd, 0x51, 0x66, 0xaf, 0x65, 0xa0, 0x22, 0xca, 0xee, 0x0d, 0xf9, 0x75, - 0xb6, 0x7f, 0xfa, 0xb9, 0x9b, 0xbe, 0x23, 0x0d, 0x1e, 0x45, 0xab, 0x58, 0x4d, 0xcf, 0x9a, 0xec, - 0x04, 0xd3, 0x66, 0xb5, 0xb3, 0x95, 0x77, 0x89, 0x7d, 0xbb, 0x91, 0xfc, 0x4a, 0xca, 0x3a, 0x86, - 0xf1, 0x5f, 0x5f, 0x29, 0x25, 0x09, 0x75, 0x14, 0x5e, 0xd2, 0xd4, 0x84, 0x41, 0x78, 0x42, 0x3c, - 0xb0, 0xd3, 0xb7, 0x2c, 0x5a, 0x07, 0xb2, 0xec, 0xcb, 0x15, 0xab, 0xb8, 0x1f, 0x42, 0x0d, 0x46, - 0x78, 0xb4, 0x12, 0x60, 0x43, 0xb6, 0x12, 0xab, 0x1c, 0x98, 0xea, 0xcd, 0xe0, 0x4d, 0x12, 0x0b, - 0x1e, 0x92, 0x10, 0x7f, 0xf5, 0xe6, 0x77, 0xfe, 0x10, 0x55, 0x46, 0xbe, 0x4a, 0x3e, 0xd8, 0x86, - 0x3d, 0x47, 0xdb, 0x89, 0x87, 0x51, 0x51, 0x11, 0xa9, 0xe8, 0xf7, 0xc3, 0x9d, 0xa0, 0x09, 0x63, - 0xe7, 0xbb, 0x53, 0xb9, 0x14, 0x9a, 0x09, 0xb4, 0x74, 0x97, 0x2a, 0x84, 0xcc, 0xfb, 0x72, 0x86, - 0xa0, 0xdc, 0xb8, 0xa5, 0x68, 0x55, 0x2c, 0x68, 0xf3, 0x40, 0x9a, 0x19, 0xdd, 0x9c, 0x54, 0xa9, - 0x0c, 0xe9, 0xae, 0x68, 0xb3, 0xf2, 0x59, 0x6d, 0x03, 0x45, 0x3d, 0x9b, 0x20, 0xa5, 0xe3, 0x70, - 0x7f, 0x26, 0xb1, 0x6a, 0x9d, 0x14, 0xf4, 0x08, 0xab, 0x9a, 0x9e, 0x48, 0x4d, 0x5b, 0x16, 0x02, - 0xfb, 0xd8, 0x12, 0x82, 0xfc, 0xf9, 0x1f, 0x3e, 0x2b, 0x27, 0x8f, 0x4e, 0xca, 0x2c, 0x45, 0xf4, - 0x4b, 0x1f, 0xe2, 0x18, 0x38, 0x7e, 0x2b, 0xe5, 0x38, 0xd1, 0xb6, 0x21, 0x4d, 0xb2, 0x09, 0xec, - 0xfb, 0x24, 0x8a, 0x19, 0x93, 0x6a, 0x1d, 0xf1, 0xd8, 0x2f, 0xd1, 0x74, 0x4b, 0x8d, 0x50, 0x0f, - 0xb7, 0xeb, 0xcc, 0x55, 0xfb, 0x78, 0xb9, 0xc4, 0x72, 0xdf, 0xbd, 0x53, 0x2b, 0x52, 0x0c, 0xd6, - 0xd3, 0xca, 0x48, 0x7e, 0xa0, 0x96, 0x78, 0x89, 0x12, 0x40, 0x77, 0x68, 0x1b, 0x28, 0x0a, 0xb3, - 0x2e, 0xb5, 0x90, 0xd3, 0x41, 0xd2, 0xb5, 0x6c, 0xb7, 0x55, 0xf2, 0xc2, 0xec, 0xe8, 0xc3, 0x4b, - 0xa6, 0x21, 0x47, 0x29, 0xd0, 0xc2, 0x75, 0x95, 0xca, 0xbe, 0xf3, 0xfb, 0xc2, 0x19, 0x6a, 0xe9, - 0xf5, 0xa7, 0xd8, 0xc5, 0x45, 0x20, 0xf3, 0x4f, 0xb7, 0x79, 0x13, 0x55, 0x2a, 0xf5, 0x82, 0x9a, - 0x4e, 0x6d, 0x06, 0x80, 0xb1, 0x77, 0xb3, 0xa0, 0x7d, 0x64, 0xb9, 0xf9, 0xd4, 0x26, 0xa2, 0xe6, - 0xb0, 0x10, 0x47, 0x66, 0x3b, 0xd9, 0xa9, 0x46, 0x1f, 0x87, 0x3a, 0xed, 0xd0, 0x61, 0x4f, 0x7f, - 0x70, 0x3c, 0xde, 0x81, 0xea, 0x8b, 0x6a, 0x91, 0x9f, 0x2d, 0xde, 0x1e, 0x1c, 0x04, 0x8e, 0x01, - 0x9f, 0x28, 0xb9, 0xd4, 0x29, 0x86, 0x80, 0x35, 0xd3, 0x75, 0xe5, 0x07, 0xbb, 0xaa, 0x64, 0x67, - 0x45, 0x57, 0xa6, 0x8c, 0xa1, 0xc4, 0x99, 0x53, 0x36, 0x0c, 0x30, 0x50, 0x59, 0x5e, 0x9b, 0xff, - 0x0b, 0x6b, 0x1b, 0x2c, 0xb2, 0x44, 0x05, 0x5f, 0x6e, 0x36, 0x7f, 0x98, 0x63, 0x7c, 0xa8, 0x19, - 0xbc, 0x62, 0xda, 0xe4, 0x2c, 0x0b, 0x16, 0x02, 0x14, 0xd6, 0x3d, 0xa4, 0x93, 0xb6, 0xd9, 0x8a, - 0x53, 0x36, 0x6a, 0x9a, 0x51, 0x81, 0xf5, 0x90, 0xad, 0x48, 0x45, 0xe4, 0x90, 0x56, 0x38, 0x7f, - 0x69, 0x52, 0x27, 0x6b, 0x6b, 0xe6, 0xdb, 0x14, 0x84, 0x09, 0x73, 0x5c, 0xde, 0xf3, 0x63, 0xdb, - 0x39, 0xfe, 0x10, 0xd8, 0xb9, 0x3a, 0x33, 0x57, 0x15, 0x64, 0x1f, 0x89, 0x3d, 0x57, 0xcd, 0xeb, - 0x7c, 0x94, 0x53, 0x4f, 0x11, 0xc0, 0x6e, 0x2b, 0x20, 0x8f, 0xff, 0x10, 0xca, 0x65, 0x5f, 0x54, - 0x4d, 0x34, 0x62, 0x98, 0xfe, 0xde, 0x0e, 0x00, 0x84, 0x14, 0x8a, 0xed, 0xcf, 0x16, 0xa0, 0xbb, - 0xe7, 0xde, 0x8e, 0x7e, 0xd1, 0x95, 0x04, 0xa4, 0xa0, 0x1d, 0xf5, 0xb9, 0x80, 0x60, 0xea, 0xb7, - 0xb2, 0x8f, 0x4d, 0x84, 0x3e, 0x97, 0x68, 0x83, 0xc1, 0x97, 0xa8, 0x2b, 0x63, 0x82, 0x73, 0x78, - 0xad, 0x21, 0x5e, 0x22, 0xfc, 0xa2, 0x7d, 0x31, 0x9a, 0x99, 0xcc, 0x50, 0x22, 0xca, 0x05, 0x48, - 0xe1, 0xb0, 0xf0, 0xbd, 0xa3, 0x0d, 0x0b, 0x10, 0x34, 0x33, 0xdf, 0x81, 0x4c, 0x97, 0x73, 0x4d, - 0x91, 0x81, 0x9e, 0x7e, 0x28, 0x18, 0x96, 0xd7, 0x32, 0xba, 0x9a, 0x1b, 0x86, 0x56, 0xe2, 0x1b, - 0x87, 0xc1, 0x4a, 0x9d, 0x9b, 0xdd, 0xfb, 0xc4, 0x82, 0x20, 0xf8, 0xe2, 0xdd, 0x35, 0x00, 0xeb, - 0xbe, 0x45, 0x95, 0x67, 0x34, 0xfb, 0xef, 0x88, 0x3b, 0x29, 0x63, 0x39, 0x36, 0x08, 0x9c, 0xbf, - 0xe1, 0xc8, 0x71, 0x6b, 0xc9, 0x95, 0x84, 0x7b, 0xf0, 0x70, 0x7d, 0x9d, 0x6e, 0x6a, 0xa0, 0xfe, - 0x56, 0xb3, 0xcd, 0x5f, 0x3c, 0x5b, 0x50, 0x91, 0x5c, 0x85, 0xc5, 0x77, 0x60, 0xc9, 0x42, 0x7d, - 0x8b, 0x55, 0xf5, 0xcf, 0x81, 0x93, 0x76, 0xf1, 0xd6, 0x75, 0xe6, 0xca, 0x1f, 0xc4, 0x14, 0x10, - 0x5d, 0x72, 0x30, 0xfa, 0xa6, 0x4c, 0xa0, 0xb0, 0x48, 0x58, 0x3d, 0x75, 0xfb, 0x94, 0x27, 0xc7, - 0x40, 0x6f, 0xba, 0xe6, 0x1b, 0xa4, 0x96, 0x18, 0x61, 0xa2, 0x3e, 0xf5, 0xf3, 0x49, 0xa4, 0xa3, - 0x3a, 0x22, 0x83, 0xb4, 0xdf, 0xc8, 0xcb, 0x8f, 0x9d, 0xda, 0x8e, 0x0c, 0xe2, 0x59, 0x68, 0xe0, - 0xc8, 0x2e, 0xa6, 0xb6, 0xc2, 0x3c, 0x91, 0xbb, 0x6b, 0xa7, 0x97, 0xc6, 0xab, 0x19, 0xfd, 0xbd, - 0xef, 0xca, 0xf4, 0x2b, 0x89, 0x6c, 0x75, 0x4a, 0x84, 0xa4, 0xae, 0x0b, 0x5f, 0xf7, 0x24, 0xcd, - 0xfc, 0xa1, 0xdd, 0x3f, 0x42, 0x3c, 0x49, 0xac, 0x21, 0x30, 0x39, 0x4d, 0x43, 0x8f, 0xe1, 0xa9, - 0x0c, 0x0a, 0x83, 0x9c, 0x45, 0xb8, 0x30, 0x2b, 0x7e, 0x37, 0xb6, 0x81, 0xb0, 0x97, 0xaa, 0x67, - 0xf4, 0x38, 0xd4, 0x48, 0x5a, 0xd6, 0xab, 0x54, 0x3b, 0x24, 0x42, 0x4f, 0xbc, 0x60, 0xe8, 0x10, - 0xbf, 0xb0, 0xe9, 0x91, 0x6a, 0xec, 0xc8, 0xd1, 0x27, 0x19, 0xeb, 0x26, 0xf6, 0x21, 0x29, 0xbc, - 0x15, 0xf1, 0x37, 0x2e, 0x45, 0x82, 0xd1, 0x5a, 0x42, 0xa2, 0x5a, 0xca, 0xd4, 0x6e, 0x96, 0x99, - 0x9d, 0xe3, 0x3e, 0x15, 0xe1, 0x98, 0x53, 0x17, 0x05, 0x94, 0xf0, 0xc7, 0x09, 0x63, 0xec, 0xca, - 0x5e, 0xb5, 0xa6, 0x26, 0xc8, 0x52, 0x45, 0x21, 0x94, 0xe2, 0xa2, 0x0b, 0x7d, 0x06, 0xa7, 0x87, - 0x92, 0xb9, 0xac, 0xb9, 0x71, 0x8f, 0x20, 0xe7, 0x60, 0x67, 0x44, 0xf5, 0x02, 0x42, 0xbb, 0xd5, - 0xf9, 0x74, 0xa4, 0x20, 0xb8, 0x97, 0x9e, 0xe5, 0xb4, 0x30, 0x13, 0x53, 0xdc, 0xac, 0x0a, 0x49, - 0xff, 0xeb, 0x12, 0x59, 0x06, 0x24, 0xef, 0x53, 0xbd, 0xdb, 0x46, 0x15, 0xd4, 0x5b, 0xf0, 0x6f, - 0x26, 0x01, 0x75, 0x1d, 0xb5, 0x43, 0xad, 0x86, 0xdf, 0x6b, 0x25, 0x36, 0xc7, 0xb3, 0xeb, 0x3d, - 0x92, 0x9d, 0x46, 0x27, 0x2a, 0xea, 0x34, 0xfa, 0x93, 0x9a, 0xfa, 0x28, 0xc9, 0xe8, 0x06, 0x29, - 0x25, 0x01, 0x96, 0x5d, 0x02, 0xf8, 0x6c, 0x9a, 0x34, 0x74, 0xc5, 0x9f, 0x24, 0xde, 0x73, 0xe7, - 0xcc, 0x89, 0xbf, 0xb9, 0x14, 0x98, 0xd1, 0xbc, 0xfe, 0x81, 0xb6, 0xf7, 0xb4, 0xee, 0x93, 0xf6, - 0x30, 0x93, 0x12, 0xe5, 0xdb, 0x2f, 0x97, 0xca, 0x6e, 0x6d, 0x97, 0xd8, 0x32, 0xb2, 0x9d, 0xfe, - 0x6b, 0x95, 0xc4, 0xfc, 0x0a, 0xc0, 0xdb, 0x8f, 0xd1, 0xd1, 0x25, 0x4c, 0x8a, 0xb1, 0x07, 0x3e, - 0xd6, 0xca, 0x88, 0xb2, 0xeb, 0xfe, 0x99, 0x84, 0x29, 0xd6, 0xdb, 0x32, 0xc8, 0x89, 0x90, 0xd4, - 0xec, 0xf0, 0xc6, 0xf5, 0x83, 0x90, 0xb7, 0x46, 0x4d, 0x14, 0xd6, 0xf1, 0xa3, 0xb2, 0xbf, 0x83, - 0x7a, 0x87, 0xb9, 0x1b, 0x2f, 0xf6, 0xb8, 0x7d, 0xee, 0xb6, 0x2d, 0x82, 0xcd, 0x19, 0x3b, 0x53, - 0x25, 0x17, 0x69, 0x6c, 0x44, 0x9f, 0xb4, 0x84, 0x1f, 0x23, 0xc0, 0x38, 0xd5, 0x39, 0xed, 0x97, - 0x82, 0x4e, 0xf1, 0x8f, 0xe6, 0x2c, 0x76, 0x16, 0xd4, 0x2e, 0x41, 0xcb, 0x37, 0x7b, 0x79, 0x81, - 0x95, 0xf9, 0x99, 0x90, 0xb9, 0x2b, 0x7f, 0x0f, 0x33, 0x1b, 0x24, 0xa5, 0xf7, 0x28, 0xdf, 0x1e, - 0xa7, 0x13, 0xef, 0x71, 0x42, 0xa5, 0x8f, 0x75, 0x21, 0xf4, 0xd3, 0xdc, 0xad, 0xef, 0x82, 0x5b, - 0x76, 0xac, 0x4a, 0x0d, 0xd3, 0x68, 0xd4, 0xe3, 0x76, 0x2a, 0x52, 0x3c, 0x1d, 0x42, 0x31, 0x5f, - 0xe1, 0xea, 0x02, 0x54, 0x9c, 0x9f, 0xf9, 0x6a, 0x01, 0x02, 0xe5, 0xb5, 0x0a, 0xef, 0x7a, 0x51, - 0x5a, 0x76, 0x11, 0xdf, 0x33, 0x71, 0x0c, 0x10, 0xcc, 0x06, 0x4a, 0x7e, 0x31, 0x89, 0xa9, 0x45, - 0xed, 0x3e, 0x44, 0x3c, 0x5b, 0xcb, 0xcf, 0x39, 0x61, 0x18, 0xb9, 0x24, 0x96, 0x2a, 0x47, 0x58, - 0xdb, 0x28, 0x65, 0x04, 0x13, 0x65, 0xa6, 0xe2, 0xe4, 0xd8, 0x9b, 0x74, 0x27, 0x2d, 0x10, 0x5d, - 0x2d, 0x6b, 0x57, 0x10, 0x89, 0xda, 0x70, 0x40, 0xa9, 0x6e, 0x49, 0x2d, 0x54, 0xdb, 0x03, 0x26, - 0x5f, 0x19, 0x71, 0x6e, 0x6b, 0x07, 0x23, 0x6b, 0xed, 0xe4, 0xcb, 0x7d, 0xb1, 0xbf, 0x07, 0xfa, - 0x95, 0xc9, 0xe4, 0x1f, 0xcf, 0x07, 0x2a, 0x82, 0xd2, 0x4b, 0xbf, 0xd2, 0x22, 0x0f, 0x10, 0x18, - 0x52, 0xf2, 0xd6, 0x61, 0x87, 0xfb, 0x61, 0xc9, 0xb4, 0x92, 0x55, 0x42, 0x7b, 0x36, 0x8b, 0x75, - 0x47, 0x0d, 0x6e, 0xab, 0x2b, 0xe0, 0x4b, 0xab, 0x30, 0x6e, 0xbf, 0x4d, 0x20, 0x51, 0xbe, 0xe1, - 0x4e, 0x14, 0x76, 0xa3, 0x46, 0x00, 0x97, 0x04, 0x5b, 0xeb, 0x64, 0x7f, 0x6b, 0x70, 0xe2, 0x85, - 0x49, 0xf9, 0x14, 0x96, 0x89, 0x8e, 0xbe, 0xe2, 0xe5, 0x12, 0x46, 0xae, 0x9b, 0x68, 0xf7, 0x02, - 0x1e, 0x11, 0xec, 0x5f, 0x5e, 0xcb, 0x4c, 0x90, 0xe9, 0x5f, 0xd7, 0x45, 0xa8, 0x6d, 0xfe, 0xde, - 0x68, 0xe5, 0x3f, 0x58, 0x8f, 0x12, 0xb3, 0x9d, 0x64, 0xa0, 0x5e, 0x27, 0xf4, 0xac, 0xfb, 0x7d, - 0x77, 0x6f, 0x24, 0x2c, 0xe4, 0x1b, 0x57, 0x1b, 0x15, 0xb7, 0x88, 0xe9, 0x30, 0x05, 0xfc, 0x49, - 0x20, 0xaa, 0x09, 0xcc, 0xfc, 0xae, 0x5b, 0x71, 0xb3, 0xb3, 0x38, 0x03, 0xee, 0x05, 0x49, 0x2a, - 0x84, 0xe2, 0xbd, 0xa6, 0xa8, 0xa8, 0x3d, 0x50, 0x27, 0x03, 0xa3, 0x16, 0x86, 0x56, 0x68, 0x37, - 0xb4, 0x05, 0xd0, 0xef, 0x7c, 0x54, 0x9b, 0x38, 0xca, 0xff, 0x39, 0x2e, 0xf4, 0xfa, 0x25, 0x88, - 0xdf, 0x1c, 0x4a, 0xa8, 0x14, 0xd7, 0x4f, 0xea, 0xf7, 0x5c, 0xbe, 0xa2, 0xe3, 0x3e, 0x2c, 0xac, - 0x4a, 0xb2, 0xf6, 0xfd, 0x9a, 0x08, 0xfb, 0xcf, 0xd7, 0xdb, 0x9f, 0x4f, 0xe7, 0x4f, 0xa1, 0x43, - 0x16, 0xee, 0x01, 0xb9, 0xc2, 0x4f, 0xfb, 0xd9, 0x09, 0xaf, 0x0a, 0x7f, 0x4b, 0x91, 0x44, 0x2e, - 0xb7, 0x42, 0xe6, 0x0b, 0x76, 0x7c, 0x14, 0x69, 0xb8, 0xf4, 0x04, 0xf3, 0x2c, 0x28, 0xc1, 0x34, - 0x5a, 0xfb, 0x48, 0xfa, 0x81, 0x77, 0x04, 0x4f, 0xcb, 0x69, 0xe7, 0x60, 0xfa, 0xd7, 0xa2, 0x5c, - 0xa5, 0xa4, 0x4a, 0xdb, 0x77, 0xc0, 0x7b, 0xd9, 0xef, 0x49, 0x86, 0x56, 0xae, 0x31, 0x8f, 0xfa, - 0xce, 0xd8, 0xbd, 0x66, 0xe7, 0xd1, 0x04, 0x11, 0x7d, 0x63, 0xd8, 0x9d, 0xf6, 0xb9, 0x45, 0x9a, - 0xdd, 0xae, 0x35, 0xa0, 0x7d, 0x1c, 0x2b, 0x5f, 0xf7, 0xca, 0xe5, 0x8e, 0x73, 0x6a, 0x06, 0x11, - 0xfe, 0x68, 0xc0, 0x55, 0xa6, 0xbe, 0x6a, 0xf4, 0xff, 0x6e, 0xa4, 0x7e, 0x30, 0xfe, 0x9b, 0x8d, - 0xeb, 0xb2, 0x53, 0x57, 0x27, 0xf4, 0xd3, 0x47, 0x3c, 0xb0, 0x82, 0x61, 0x0a, 0x26, 0x22, 0x54, - 0x23, 0x19, 0x8e, 0xd6, 0xef, 0x7a, 0xbe, 0xf1, 0xb5, 0xaa, 0x4d, 0x2a, 0x64, 0x5a, 0xc4, 0x50, - 0x49, 0x50, 0xfe, 0x7f, 0x6a, 0x53, 0x70, 0xdc, 0xa9, 0xd3, 0x89, 0x65, 0xb2, 0xb3, 0x84, 0x8e, - 0x71, 0x30, 0x08, 0xc2, 0x84, 0x05, 0x79, 0x7a, 0x05, 0x53, 0xe9, 0xf0, 0xee, 0xc1, 0xa4, 0x4c, - 0x7b, 0xd3, 0x56, 0x73, 0x9c, 0x9d, 0xca, 0x9e, 0x43, 0xe7, 0xd6, 0x88, 0x9c, 0xa7, 0x78, 0x74, - 0xe9, 0x75, 0x73, 0x97, 0x88, 0x85, 0x36, 0x05, 0xec, 0xe5, 0x80, 0x24, 0x09, 0x82, 0x85, 0xb8, - 0x69, 0xa7, 0x07, 0xa3, 0x4f, 0xec, 0x3c, 0x28, 0x4c, 0x2f, 0x70, 0x4e, 0x93, 0x91, 0x5d, 0x6a, - 0x4b, 0x97, 0xec, 0x82, 0x53, 0x27, 0xc6, 0x94, 0xcc, 0xb5, 0xc5, 0xab, 0x94, 0x11, 0x32, 0x53, - 0x43, 0x10, 0x56, 0x68, 0x98, 0x8a, 0xa7, 0xf2, 0xbe, 0x55, 0xac, 0xb5, 0x5c, 0x39, 0x30, 0xac, - 0xd1, 0xa2, 0xcc, 0x56, 0x07, 0x8c, 0x84, 0x89, 0xe8, 0x45, 0x13, 0xb2, 0xbe, 0x14, 0x2b, 0x9c, - 0x6d, 0xb4, 0xed, 0x0e, 0x2c, 0x9d, 0x0f, 0x3f, 0x6e, 0x7b, 0x98, 0x8c, 0x47, 0xac, 0xc2, 0xb1, - 0x03, 0x85, 0xcb, 0x36, 0xf2, 0xdd, 0x91, 0x4a, 0xe4, 0xcc, 0x31, 0xb9, 0xbc, 0x0b, 0x66, 0x4c, - 0x62, 0x92, 0x03, 0x5c, 0xf2, 0x9d, 0xb7, 0xa4, 0xc8, 0x48, 0xf6, 0xbf, 0x8b, 0x18, 0xaa, 0xe1, - 0x41, 0xd3, 0x8a, 0x76, 0xa2, 0x17, 0x35, 0xf3, 0xec, 0xeb, 0x6b, 0x8a, 0xd4, 0x84, 0x74, 0xa0, - 0x93, 0x94, 0xbf, 0xda, 0xf7, 0xfb, 0x39, 0xf2, 0xae, 0xf0, 0x5f, 0xf6, 0xe4, 0x41, 0xe2, 0xbb, - 0x5c, 0xef, 0x71, 0xc3, 0xfe, 0x7d, 0xf1, 0x47, 0xd3, 0x22, 0xe1, 0x33, 0x7b, 0xca, 0x7e, 0xf9, - 0xbc, 0x3e, 0xa0, 0x11, 0x68, 0xc0, 0xd5, 0x9e, 0xf5, 0xa8, 0x17, 0x93, 0x23, 0x89, 0xc9, 0xca, - 0x7c, 0xde, 0xc5, 0x76, 0x90, 0x58, 0x0d, 0xf6, 0x8a, 0x05, 0x5a, 0x52, 0xcb, 0xdc, 0x5b, 0xf4, - 0x4e, 0xd3, 0x16, 0x32, 0xd5, 0xc2, 0xab, 0xde, 0x05, 0xdf, 0xcf, 0xc9, 0x65, 0x91, 0xf1, 0xb8, - 0xed, 0x87, 0xe4, 0x4d, 0x22, 0x4f, 0x5e, 0x32, 0xf6, 0x11, 0xc9, 0x0b, 0x39, 0xb0, 0xc8, 0x30, - 0xac, 0xcf, 0xbc, 0xff, 0x7e, 0x17, 0xe5, 0x47, 0x18, 0x09, 0x9f, 0xa5, 0xec, 0xb6, 0xa4, 0x0e, - 0xf6, 0x1f, 0x28, 0x30, 0xb0, 0xa0, 0xf6, 0x24, 0x11, 0x5a, 0x46, 0x99, 0x29, 0xfd, 0x82, 0x34, - 0x92, 0xd7, 0x87, 0xcc, 0xab, 0x81, 0xab, 0x47, 0xc6, 0xb3, 0xff, 0x72, 0xaf, 0x2f, 0x63, 0x4c, - 0xb6, 0xe6, 0xa9, 0x61, 0xa7, 0xe2, 0x4e, 0xef, 0xda, 0xec, 0xac, 0x97, 0xe8, 0x53, 0x75, 0x30, - 0x3d, 0x13, 0x72, 0xa7, 0x88, 0x7d, 0x40, 0x36, 0x84, 0x0c, 0x33, 0xa6, 0x1d, 0x20, 0x69, 0xc4, - 0xe8, 0x33, 0xee, 0xc5, 0xa0, 0x22, 0x50, 0xe0, 0x22, 0x8f, 0xff, 0xeb, 0x39, 0x9b, 0xe9, 0xa8, - 0x51, 0x18, 0x03, 0xb5, 0x93, 0xec, 0x78, 0x7a, 0x1a, 0x56, 0x1d, 0x4b, 0x65, 0xe5, 0x8d, 0x69, - 0xd4, 0x57, 0x6d, 0x97, 0x2e, 0xae, 0x14, 0x36, 0xba, 0xf2, 0xcc, 0x68, 0x1d, 0xa2, 0x39, 0x97, - 0x88, 0x18, 0x1a, 0x54, 0x2d, 0x71, 0xa1, 0x12, 0x2e, 0xc2, 0xf9, 0xb4, 0x07, 0xbc, 0x34, 0xff, - 0x9c, 0xb6, 0x55, 0xe3, 0x2b, 0xf5, 0x8f, 0xa4, 0x72, 0xbd, 0xd8, 0x48, 0x2c, 0xbb, 0xcc, 0x51, - 0xfe, 0xd9, 0x6e, 0xed, 0x46, 0xbb, 0xda, 0x15, 0x55, 0x15, 0x87, 0x8d, 0xc0, 0xa8, 0x86, 0x62, - 0x45, 0x53, 0x24, 0x71, 0x65, 0xdd, 0x1b, 0xbb, 0x81, 0x3b, 0x8c, 0xa7, 0x32, 0xb8, 0x78, 0x46, - 0x34, 0x87, 0x17, 0xa8, 0x56, 0x97, 0xf4, 0xee, 0x53, 0x38, 0xe9, 0x6e, 0x26, 0xbf, 0xd7, 0xb6, - 0x12, 0x82, 0x92, 0x47, 0xfb, 0x07, 0xf8, 0xac, 0xca, 0xb5, 0x9c, 0xeb, 0x11, 0x4a, 0x22, 0xa8, - 0xe2, 0xe1, 0xe1, 0x77, 0x81, 0xa8, 0x9c, 0x01, 0x2c, 0xbb, 0x03, 0xf7, 0xea, 0xcf, 0xf2, 0xe0, - 0x2a, 0xba, 0x38, 0x27, 0xfb, 0x9c, 0x4d, 0xd1, 0xc0, 0x85, 0x86, 0xa9, 0x04, 0x3d, 0x24, 0xfd, - 0xa6, 0xf5, 0x16, 0x06, 0xcf, 0x6d, 0x90, 0x7b, 0x4d, 0x3d, 0xb3, 0x07, 0x7f, 0xb2, 0xba, 0x16, - 0x94, 0xb6, 0xd0, 0x11, 0x98, 0x15, 0xa5, 0x73, 0x7a, 0xf8, 0xbd, 0xb7, 0x26, 0xb9, 0x77, 0xe3, - 0x73, 0xda, 0x7a, 0x2f, 0x4e, 0xfe, 0x1b, 0xd6, 0x3f, 0x3a, 0x26, 0x76, 0x62, 0x44, 0xfc, 0x02, - 0x03, 0xc8, 0x47, 0x46, 0xeb, 0xf4, 0xb3, 0x39, 0xbc, 0xca, 0x3c, 0xe8, 0xb5, 0x9a, 0x11, 0xb5, - 0x52, 0x97, 0x40, 0xfa, 0xff, 0x61, 0x07, 0xb5, 0x8d, 0xd3, 0xb1, 0xc0, 0x9b, 0xa7, 0x72, 0xdb, - 0x95, 0xda, 0x06, 0xb2, 0xca, 0x8c, 0x81, 0x4e, 0x24, 0x77, 0x79, 0xa8, 0x5d, 0x97, 0x90, 0x3a, - 0xc2, 0x71, 0xac, 0x70, 0x9b, 0x54, 0x18, 0xe8, 0xda, 0x3e, 0xff, 0x65, 0x22, 0xf8, 0xdb, 0xca, - 0xbf, 0xcf, 0x82, 0x68, 0xf2, 0x4e, 0x0b, 0xe8, 0xb8, 0x2a, 0x9e, 0xeb, 0x24, 0xd1, 0x68, 0x1b, - 0xb3, 0x54, 0xf4, 0x0e, 0x58, 0x03, 0x2c, 0xc1, 0xff, 0x49, 0xdc, 0xad, 0x4d, 0x17, 0x51, 0xca, - 0xb2, 0xae, 0x81, 0xcd, 0x43, 0xc9, 0xfc, 0xb0, 0xbf, 0x5d, 0xcc, 0x40, 0x0e, 0x8b, 0x19, 0x67, - 0xc0, 0xd6, 0x69, 0x48, 0x30, 0x8b, 0xb3, 0x44, 0x7f, 0x97, 0xa7, 0x54, 0x6a, 0xc6, 0xa8, 0x77, - 0xbf, 0xac, 0x6d, 0x3b, 0xa5, 0xb6, 0xd5, 0x9e, 0x52, 0x7b, 0xeb, 0x14, 0x30, 0x07, 0x63, 0x7b, - 0x43, 0xb3, 0x5c, 0x71, 0x22, 0x94, 0x87, 0x56, 0x25, 0x02, 0x48, 0x2f, 0xcf, 0x39, 0x51, 0xf9, - 0x83, 0x3e, 0xb9, 0xb0, 0xa0, 0xad, 0x05, 0x99, 0x44, 0xdc, 0xbd, 0xf0, 0x40, 0x3a, 0x7f, 0x4c, - 0x2a, 0xeb, 0x2e, 0x28, 0x94, 0xb4, 0xfc, 0x7a, 0x31, 0x9f, 0xf7, 0x75, 0x5d, 0xac, 0xeb, 0x5b, - 0x37, 0x7c, 0x27, 0x38, 0x46, 0xe4, 0x0f, 0x06, 0xd8, 0x14, 0x29, 0xa7, 0x7b, 0x41, 0xf5, 0x92, - 0x2e, 0x5a, 0x21, 0x28, 0x38, 0x2b, 0x34, 0x25, 0xf5, 0xae, 0x67, 0x8e, 0x20, 0x96, 0x98, 0x3b, - 0x9c, 0xe5, 0x1b, 0xa3, 0x76, 0x6a, 0x66, 0x81, 0x90, 0x38, 0xdd, 0xdc, 0xc9, 0x83, 0x91, 0x76, - 0x5f, 0xba, 0x8c, 0x47, 0x2d, 0xe3, 0x0c, 0x14, 0x59, 0x7d, 0x9a, 0x5b, 0x07, 0x4c, 0x00, 0xe4, - 0x80, 0xd4, 0xba, 0x04, 0xc0, 0xd0, 0xeb, 0x41, 0x4e, 0x5b, 0x6c, 0x58, 0x2e, 0xba, 0xca, 0x9e, - 0x36, 0xbc, 0x83, 0x4f, 0x1d, 0x3b, 0x62, 0x95, 0xac, 0xc9, 0xda, 0x74, 0x0e, 0x1f, 0x69, 0x59, - 0xae, 0xbe, 0x91, 0x14, 0x5a, 0x93, 0xa6, 0xf9, 0x12, 0x81, 0x0f, 0x5f, 0x16, 0xce, 0xf9, 0x28, - 0x1f, 0xfa, 0xed, 0x97, 0x93, 0x13, 0xb3, 0xb7, 0xfe, 0x59, 0x56, 0x71, 0x28, 0xe5, 0x2a, 0x92, - 0x69, 0x07, 0x20, 0x40, 0xa6, 0xa2, 0x5b, 0x55, 0xcf, 0xf3, 0xfb, 0xec, 0x4a, 0x7c, 0x73, 0xb1, - 0xe6, 0xcf, 0xf8, 0x44, 0x79, 0xb5, 0x10, 0x14, 0x5a, 0xc2, 0x35, 0xad, 0x4f, 0x4a, 0x92, 0x8c, - 0xd9, 0x8d, 0xc8, 0x25, 0x46, 0xfd, 0xba, 0x93, 0x32, 0xb6, 0xaf, 0xc3, 0xa2, 0x12, 0xcb, 0xb8, - 0x8a, 0xa7, 0x9a, 0xbb, 0x25, 0xaf, 0x93, 0x12, 0xea, 0x5e, 0x75, 0x57, 0x9b, 0x6d, 0x27, 0x71, - 0xd3, 0xf1, 0xa5, 0x45, 0x78, 0x4a, 0x6f, 0x87, 0x78, 0x35, 0xb0, 0x06, 0x35, 0xde, 0xda, 0x93, - 0xf1, 0xd4, 0x27, 0xca, 0x55, 0x91, 0x3c, 0xcd, 0x4e, 0xc0, 0x7b, 0x90, 0x32, 0xdc, 0x5b, 0x61, - 0x11, 0xe4, 0x01, 0x45, 0xe5, 0xa0, 0x78, 0x1a, 0x5c, 0x9b, 0xac, 0x50, 0x6d, 0xd7, 0x0d, 0x65, - 0xb4, 0x66, 0x3c, 0x29, 0xd5, 0xac, 0xa8, 0x92, 0x30, 0x64, 0x20, 0x6a, 0xf6, 0xf0, 0x58, 0x72, - 0xb0, 0x01, 0x17, 0xf1, 0x7e, 0xe1, 0xbe, 0x8a, 0x15, 0xda, 0x67, 0x09, 0xec, 0xa7, 0x83, 0x81, - 0xff, 0x01, 0x5c, 0x59, 0x2f, 0x4c, 0x75, 0xe3, 0x2f, 0xe0, 0xbf, 0x48, 0x16, 0xb2, 0x2b, 0x61, - 0x51, 0x16, 0x79, 0x04, 0x05, 0x97, 0x3f, 0x3c, 0xbc, 0x0e, 0xdd, 0x78, 0xd4, 0xe1, 0x66, 0xcd, - 0x2a, 0x48, 0x76, 0x70, 0xa6, 0x0c, 0x03, 0x21, 0x06, 0x64, 0x85, 0x32, 0x2f, 0x59, 0x18, 0x98, - 0xfb, 0xa4, 0x9d, 0xd7, 0xf8, 0x35, 0x1d, 0xc1, 0x90, 0xe0, 0xa9, 0xa9, 0xf7, 0x6d, 0x7b, 0xbd, - 0x87, 0x43, 0x4f, 0x93, 0xa2, 0x86, 0x39, 0x8f, 0x2c, 0xdd, 0x85, 0xde, 0x18, 0x4c, 0xe8, 0x45, - 0xa7, 0xdd, 0x54, 0x93, 0xb1, 0x70, 0xeb, 0x9d, 0x16, 0xc9, 0x84, 0xd7, 0x86, 0xb5, 0xe0, 0xf5, - 0x94, 0x90, 0xe8, 0x5e, 0x5c, 0x9b, 0x97, 0xcd, 0xdd, 0xc8, 0x87, 0xea, 0x5a, 0x36, 0xcc, 0xf3, - 0x8c, 0x2d, 0xab, 0x91, 0xe1, 0x5c, 0xde, 0x7d, 0x77, 0x5f, 0xf9, 0x97, 0x5a, 0x76, 0x09, 0x87, - 0xcd, 0x76, 0xad, 0xa2, 0x6f, 0x0c, 0x57, 0xe1, 0x75, 0xb6, 0xb4, 0x85, 0x80, 0x97, 0xfc, 0x73, - 0x55, 0xcf, 0xb2, 0x4b, 0x7b, 0xb0, 0x09, 0x94, 0x26, 0x5e, 0x91, 0x11, 0x98, 0x0e, 0x1f, 0xd0, - 0xe1, 0x4a, 0x53, 0xf9, 0x81, 0x9a, 0x7a, 0xdf, 0xb2, 0x39, 0xc3, 0x00, 0x1a, 0x5b, 0xf9, 0xa5, - 0xf5, 0xf5, 0x97, 0x5d, 0x43, 0x03, 0x06, 0xef, 0xf4, 0xbc, 0xfb, 0x17, 0x72, 0xc7, 0x4f, 0x7e, - 0x85, 0xfa, 0xa6, 0x81, 0x68, 0xff, 0xc0, 0xd3, 0xe0, 0x72, 0x0d, 0xa8, 0x06, 0xbd, 0x12, 0xe8, - 0xf0, 0x31, 0x9a, 0x69, 0x46, 0xe5, 0x5d, 0x3b, 0x28, 0xff, 0x05, 0x43, 0xf0, 0xdf, 0x96, 0x03, - 0x1f, 0x94, 0x12, 0xd5, 0x79, 0x2d, 0xa6, 0x20, 0x93, 0xa1, 0x90, 0xd5, 0x67, 0x7f, 0xc0, 0x68, - 0x6a, 0x78, 0x67, 0x42, 0xa2, 0x42, 0x4f, 0x9e, 0x2c, 0xab, 0x64, 0x2a, 0x1e, 0x9b, 0x9c, 0x7b, - 0x5e, 0x7a, 0x89, 0x34, 0xb1, 0xb5, 0x5f, 0xa2, 0xa8, 0xd5, 0x68, 0x11, 0xc5, 0x0e, 0x85, 0x82, - 0x01, 0x99, 0x32, 0x6b, 0xc2, 0xf6, 0xf9, 0x2a, 0x45, 0xfd, 0x7c, 0x04, 0x41, 0x7b, 0xfc, 0x06, - 0xbf, 0xf8, 0x60, 0x1d, 0xb4, 0xfe, 0xa8, 0x03, 0x8d, 0x3b, 0xa8, 0xd7, 0x75, 0x89, 0xbe, 0x87, - 0x91, 0x04, 0xb7, 0xf9, 0x87, 0xcb, 0xbd, 0x6e, 0x6e, 0x1a, 0x46, 0xf3, 0x25, 0x3b, 0xb7, 0x2f, - 0x16, 0xa6, 0x80, 0x44, 0xec, 0xc7, 0x34, 0x3e, 0xdf, 0xac, 0xdb, 0x92, 0xa2, 0x7b, 0xdf, 0x33, - 0xe3, 0x5e, 0x41, 0x4b, 0x73, 0x9e, 0x0d, 0x6c, 0xc2, 0xf7, 0xa1, 0x1f, 0x6d, 0x2d, 0xc1, 0xea, - 0x84, 0x6e, 0x07, 0xa4, 0x11, 0xdd, 0x0a, 0x3e, 0x0e, 0x52, 0xb3, 0x69, 0xbb, 0xf7, 0xe7, 0xe8, - 0x48, 0x6b, 0x49, 0x8e, 0x03, 0x75, 0xd0, 0x71, 0xcf, 0xcd, 0xb4, 0x71, 0x8a, 0x9c, 0x7b, 0xb8, - 0x86, 0xb4, 0x49, 0x38, 0xd3, 0x94, 0x01, 0xf3, 0x6f, 0xef, 0x0a, 0xbb, 0x91, 0x68, 0xd6, 0xc3, - 0x95, 0x60, 0xb2, 0xa6, 0x90, 0x7b, 0xbc, 0xf4, 0x70, 0x6c, 0x77, 0x1b, 0xc2, 0x0b, 0x95, 0x6e, - 0xc2, 0x81, 0x2d, 0xb2, 0x75, 0x0f, 0x24, 0xf0, 0xf9, 0xce, 0xe9, 0x74, 0xf8, 0x94, 0xfd, 0xd0, - 0x5e, 0x2e, 0xa7, 0x77, 0x14, 0x86, 0xa8, 0xc2, 0x9e, 0x3c, 0x96, 0x4a, 0x89, 0x73, 0x3c, 0xf0, - 0x87, 0x43, 0x0e, 0x2a, 0x9c, 0x54, 0x02, 0xa8, 0xf1, 0x4d, 0x5e, 0x51, 0xc0, 0xe5, 0xfa, 0x4f, - 0x86, 0xae, 0x80, 0x76, 0x30, 0x38, 0x98, 0x76, 0x87, 0xb4, 0x05, 0x4c, 0x23, 0x29, 0x3a, 0x8a, - 0xe9, 0x35, 0xac, 0xfd, 0xfd, 0x64, 0xb0, 0x03, 0xdc, 0x91, 0x3a, 0x4d, 0x46, 0x15, 0x86, 0x33, - 0x58, 0xc6, 0x28, 0xd7, 0x9f, 0xea, 0x5e, 0x10, 0xe7, 0xc3, 0xf5, 0x91, 0x98, 0xa2, 0xc0, 0x61, - 0x7d, 0xdf, 0xd2, 0x6a, 0xb2, 0x7c, 0x83, 0x92, 0x4b, 0x22, 0x8c, 0xa2, 0x2e, 0xba, 0xf5, 0xa4, - 0x7e, 0xf5, 0x77, 0xac, 0xf1, 0xb0, 0x56, 0x32, 0xc8, 0xba, 0x05, 0xfa, 0x24, 0x66, 0xbf, 0xdf, - 0xd0, 0xdd, 0x0f, 0xf8, 0x23, 0x9d, 0xba, 0x99, 0xc9, 0xdb, 0x78, 0x6a, 0x67, 0xa0, 0x7b, 0x42, - 0x39, 0x27, 0x66, 0xa9, 0xc2, 0x93, 0xc6, 0x0e, 0xb6, 0x7f, 0x67, 0x50, 0xdb, 0x0c, 0xca, 0x9b, - 0xcc, 0xdb, 0xc6, 0xba, 0xab, 0xe8, 0xad, 0xe6, 0xfa, 0x4f, 0xa2, 0x4b, 0x4e, 0x1c, 0xc1, 0x16, - 0x74, 0xbf, 0xb4, 0x85, 0xa0, 0x6f, 0x18, 0x55, 0x64, 0xc7, 0x9e, 0x64, 0x4c, 0x7f, 0xc7, 0x2e, - 0xfd, 0x6d, 0x0f, 0x69, 0xbb, 0x23, 0xef, 0xe2, 0x20, 0xf0, 0x81, 0xff, 0x0f, 0xaf, 0x29, 0x1c, - 0x5d, 0xc4, 0xfe, 0x68, 0x5f, 0x44, 0x60, 0x84, 0xbb, 0x78, 0xc9, 0x78, 0x2a, 0x5f, 0x8e, 0xb7, - 0xb3, 0xd6, 0xeb, 0xfe, 0x15, 0x7f, 0xde, 0xc4, 0xe6, 0x46, 0x56, 0x7a, 0x45, 0x36, 0x4e, 0xd6, - 0xa1, 0x48, 0x51, 0x0a, 0xa9, 0xe6, 0x63, 0x89, 0xb5, 0xf5, 0xd4, 0x6d, 0xa7, 0xc3, 0x01, 0xd5, - 0x16, 0xd7, 0x71, 0xf3, 0xf8, 0xcf, 0x67, 0x13, 0xc4, 0x60, 0x68, 0x0d, 0x58, 0xa2, 0x08, 0x1d, - 0x20, 0x64, 0x0f, 0x4c, 0x0f, 0xd4, 0x4b, 0x59, 0x11, 0x13, 0xf1, 0x8d, 0xd4, 0x3f, 0xaa, 0x3a, - 0xe4, 0x6e, 0x87, 0x05, 0x67, 0x3d, 0x10, 0x2d, 0x8d, 0xdb, 0x36, 0xf6, 0x7f, 0x12, 0x50, 0x45, - 0x39, 0x56, 0x7d, 0x21, 0x4f, 0x3d, 0xd5, 0x0c, 0x50, 0x67, 0x6d, 0xd6, 0x3e, 0xec, 0xd1, 0x5a, - 0x17, 0x2f, 0xd4, 0xb0, 0x24, 0xbd, 0xfe, 0x11, 0x41, 0x4a, 0xbb, 0x7d, 0x3f, 0x9c, 0x32, 0xcc, - 0x0c, 0x71, 0xb7, 0x38, 0xfc, 0xd7, 0xb0, 0xb3, 0xee, 0xcd, 0xce, 0xe9, 0x07, 0xd1, 0x3b, 0xa4, - 0xa7, 0xf2, 0xe8, 0x47, 0x69, 0xf8, 0x74, 0xe7, 0x21, 0x8f, 0x7a, 0xbf, 0x39, 0xe3, 0x0e, 0xa1, - 0xd8, 0x6e, 0x5c, 0x62, 0x2f, 0x87, 0xd3, 0x6d, 0xbb, 0x6a, 0xd3, 0x0f, 0x5f, 0x87, 0x9b, 0x0e, - 0xfd, 0x16, 0x1a, 0x05, 0xbe, 0xf0, 0x0c, 0xb6, 0xd7, 0x7c, 0xa0, 0x0e, 0xf1, 0x16, 0x80, 0xb8, - 0x99, 0x43, 0x76, 0x65, 0x39, 0x98, 0x53, 0x1a, 0xb4, 0xee, 0x0d, 0x9c, 0x10, 0xbe, 0x7e, 0x66, - 0xb7, 0x75, 0xec, 0x20, 0xd5, 0x21, 0xa0, 0xb7, 0x31, 0x85, 0xd5, 0x4b, 0x31, 0x7e, 0x05, 0x6a, - 0xcf, 0x13, 0x6c, 0x9a, 0xf1, 0x9e, 0xee, 0x7c, 0x31, 0xad, 0x41, 0xaa, 0x8c, 0xfd, 0x26, 0x5f, - 0x0d, 0xf7, 0x38, 0x27, 0x2c, 0xf8, 0x5f, 0x40, 0xa8, 0x46, 0x49, 0x96, 0x3a, 0xc6, 0x01, 0xc1, - 0xfa, 0xfc, 0x78, 0x76, 0x09, 0x66, 0x10, 0xda, 0x7b, 0xbd, 0x14, 0x00, 0x00, 0xfe, 0x87, 0x56, - 0xbd, 0x0b, 0x31, 0x00, 0xfa, 0x23, 0x57, 0xa3, 0x71, 0x8c, 0x52, 0xf5, 0x61, 0x12, 0x59, 0x21, - 0xdb, 0x9e, 0x30, 0x03, 0xc4, 0xa1, 0x85, 0x5c, 0x56, 0x42, 0x5c, 0xcb, 0x00, 0x99, 0x60, 0x8d, - 0x6d, 0xf2, 0xc7, 0x8b, 0x79, 0x71, 0xd9, 0x81, 0xef, 0xbc, 0x46, 0x8e, 0x11, 0x12, 0x69, 0x84, - 0xf3, 0x4c, 0x45, 0x7d, 0x70, 0xe7, 0x48, 0xac, 0xc2, 0xdb, 0x3c, 0x3c, 0xaa, 0x85, 0x59, 0x6e, - 0x26, 0x35, 0x33, 0x85, 0xab, 0xd4, 0xcd, 0x6b, 0x6b, 0xfa, 0x0b, 0x72, 0x26, 0xa1, 0x71, 0x7f, - 0x20, 0x7d, 0xf0, 0x39, 0xb7, 0x80, 0xdc, 0xb0, 0xf7, 0xaa, 0xc8, 0x86, 0xc6, 0x57, 0xc7, 0x08, - 0xd4, 0x86, 0xbc, 0xba, 0x83, 0xe4, 0xe2, 0x26, 0x5a, 0xfd, 0x66, 0x7f, 0x6f, 0xf1, 0x01, 0x89, - 0xdf, 0xbe, 0x06, 0x0c, 0xb2, 0x46, 0x8e, 0xb5, 0x53, 0x51, 0x6e, 0x4e, 0x9e, 0xd6, 0x46, 0x13, - 0x05, 0x30, 0xb4, 0xf2, 0xeb, 0x91, 0x89, 0xb7, 0x81, 0x0a, 0x5a, 0x5b, 0x75, 0x31, 0x0b, 0xfc, - 0x60, 0xaa, 0x65, 0x1b, 0x23, 0x91, 0x6b, 0x8f, 0x55, 0x46, 0x48, 0x66, 0x46, 0xd5, 0xa9, 0x9a, - 0x1c, 0xa0, 0x9b, 0xf5, 0xb6, 0x49, 0x38, 0x67, 0xfe, 0x30, 0x53, 0x0d, 0x82, 0x9e, 0xb1, 0x93, - 0x77, 0x30, 0xf7, 0x41, 0xc0, 0xa9, 0xbe, 0xba, 0xc5, 0x34, 0x21, 0xb0, 0xf1, 0xc1, 0xe8, 0x72, - 0xd8, 0x0f, 0xd7, 0xe5, 0x1d, 0xa6, 0x2c, 0x79, 0x43, 0x56, 0x6a, 0xee, 0xd1, 0x33, 0x8f, 0x28, - 0x5e, 0x40, 0x33, 0x86, 0xa6, 0xa4, 0x3e, 0x74, 0xf1, 0x23, 0x1d, 0xd7, 0xb9, 0x4c, 0x90, 0x7f, - 0x0d, 0x7e, 0x22, 0x27, 0xdd, 0x95, 0x4e, 0xf3, 0x90, 0x0e, 0x7d, 0x2a, 0x6a, 0x5c, 0x0b, 0x7c, - 0x5e, 0x28, 0x02, 0xe1, 0x4e, 0xf1, 0x16, 0xaa, 0xd0, 0x69, 0xc5, 0x57, 0xf3, 0x96, 0xf2, 0x21, - 0xd9, 0x3a, 0x17, 0x6e, 0x3a, 0xf4, 0xc9, 0x23, 0xc5, 0xa5, 0x7a, 0x4c, 0xec, 0x81, 0x8b, 0x6b, - 0x96, 0x69, 0x4d, 0xe5, 0xfa, 0xe7, 0x10, 0xfd, 0x2a, 0x93, 0xcb, 0x59, 0x3d, 0xaf, 0x92, 0x20, - 0xbd, 0x5b, 0x99, 0x68, 0x0b, 0x95, 0xb2, 0xca, 0x61, 0xb4, 0x90, 0x77, 0xe6, 0x3c, 0x6f, 0xbd, - 0xa6, 0x51, 0xa7, 0x9f, 0x1b, 0x9e, 0x79, 0xf8, 0x17, 0x83, 0x8c, 0xe4, 0x40, 0x31, 0x48, 0x85, - 0x34, 0x1c, 0x0a, 0x47, 0xa7, 0xef, 0xf3, 0x3b, 0xec, 0x1a, 0xd8, 0x4c, 0xd9, 0x6a, 0x8d, 0x21, - 0x03, 0x1b, 0x43, 0xd8, 0x73, 0xca, 0x2a, 0x3f, 0x36, 0x39, 0xef, 0xb4, 0xa4, 0xcc, 0x2b, 0xbb, - 0x90, 0x36, 0x67, 0x2c, 0x3e, 0xe1, 0xac, 0x40, 0xcc, 0xeb, 0xa5, 0x4f, 0xaa, 0xc0, 0x52, 0x0c, - 0x49, 0x22, 0xab, 0x58, 0x98, 0xc4, 0xf8, 0x9e, 0xee, 0x75, 0x7c, 0x6d, 0x0c, 0xb9, 0x66, 0xec, - 0x69, 0x4f, 0x16, 0x15, 0xcb, 0xf1, 0x61, 0x40, 0x5a, 0x50, 0x89, 0xae, 0xf1, 0xce, 0xee, 0x6c, - 0x11, 0x08, 0x12, 0xe1, 0x5c, 0x4c, 0xae, 0x28, 0xc4, 0xab, 0x19, 0x73, 0xdb, 0xe1, 0xab, 0x66, - 0x25, 0x2c, 0x14, 0xc1, 0xe0, 0x7a, 0xd3, 0xa4, 0x9b, 0x03, 0xba, 0xb3, 0x57, 0xfc, 0x85, 0xab, - 0xbc, 0x73, 0xaa, 0x98, 0x20, 0xc9, 0x8e, 0x39, 0xec, 0x5b, 0xb6, 0x1b, 0xeb, 0x1f, 0x77, 0x2c, - 0x35, 0xa1, 0x81, 0xb8, 0x2c, 0x34, 0xbb, 0x3c, 0xd0, 0x87, 0x97, 0xf6, 0xc7, 0xce, 0x8f, 0xaf, - 0x47, 0x9c, 0xf4, 0x33, 0xab, 0x66, 0xc4, 0xd7, 0x79, 0x94, 0xe5, 0x4a, 0xc6, 0xff, 0xc8, 0xe4, - 0x62, 0xd8, 0x53, 0x4d, 0x52, 0xbb, 0x0e, 0xaa, 0x09, 0x40, 0x96, 0x38, 0x89, 0xe9, 0x63, 0xef, - 0x35, 0x71, 0xc5, 0x15, 0xf4, 0x9d, 0x36, 0x67, 0x52, 0x9a, 0x91, 0xb7, 0x5d, 0xdb, 0xb1, 0x9f, - 0x17, 0x20, 0x6d, 0x6d, 0x8f, 0x1d, 0xa0, 0x3f, 0x06, 0xc0, 0xd1, 0x6f, 0x04, 0xdd, 0x56, 0x81, - 0x69, 0x3b, 0xe9, 0x5d, 0x1d, 0x87, 0xda, 0x1a, 0xa5, 0x76, 0xd6, 0xcf, 0x78, 0xe0, 0xec, 0x55, - 0x73, 0xd5, 0x0b, 0x0a, 0x7d, 0x3d, 0xaf, 0xb5, 0xee, 0x58, 0x5d, 0x98, 0x95, 0x34, 0x30, 0x8b, - 0x41, 0x67, 0x2d, 0x49, 0x28, 0xbb, 0x08, 0x5c, 0xcd, 0x8b, 0x91, 0x82, 0x41, 0xaa, 0x74, 0x0f, - 0x18, 0x71, 0x4b, 0x2f, 0x19, 0xb7, 0x9e, 0xa3, 0x26, 0x56, 0x17, 0xca, 0x52, 0x6b, 0x60, 0x89, - 0xe3, 0x93, 0x71, 0x3a, 0x59, 0x33, 0xaf, 0x27, 0x8f, 0x1c, 0x70, 0x6d, 0x5d, 0xa2, 0x7e, 0xd1, - 0x0d, 0x50, 0x7e, 0xb3, 0x98, 0x27, 0xdc, 0x5b, 0x9f, 0xb3, 0x6a, 0x1d, 0x30, 0x40, 0x7b, 0xd1, - 0x7c, 0xc6, 0xde, 0xa0, 0x77, 0x28, 0xf1, 0x80, 0x54, 0x9c, 0x69, 0xde, 0x86, 0x4d, 0xd5, 0x0e, - 0x2f, 0xe9, 0xf4, 0x09, 0x1e, 0x56, 0x3a, 0xd4, 0xad, 0xad, 0xff, 0x5b, 0x97, 0x9a, 0xd7, 0x09, - 0x5a, 0xc4, 0xbf, 0x2a, 0x69, 0x32, 0xed, 0xe9, 0x35, 0x71, 0xea, 0xce, 0x6f, 0xe3, 0x0c, 0xdd, - 0xad, 0x9c, 0x52, 0x45, 0xa2, 0x59, 0x8c, 0x78, 0x27, 0x8b, 0xbd, 0x73, 0xc0, 0x85, 0x51, 0x1c, - 0x3e, 0xff, 0xf8, 0x08, 0x4c, 0xb5, 0xfe, 0xeb, 0x75, 0x9b, 0xbb, 0x0c, 0x7c, 0x2d, 0xf9, 0xc9, - 0xfb, 0x24, 0x06, 0x34, 0x65, 0xa1, 0x28, 0xc5, 0xee, 0x25, 0xac, 0xfc, 0x72, 0xca, 0x42, 0x9e, - 0x43, 0xb3, 0x7e, 0x10, 0x6b, 0x66, 0xc1, 0xae, 0x1f, 0xd4, 0xc2, 0xfc, 0x9f, 0x11, 0x80, 0x06, - 0x2a, 0x36, 0xa8, 0xe4, 0x07, 0x7c, 0x67, 0x3e, 0x16, 0xdf, 0x79, 0x33, 0x21, 0x58, 0x29, 0x2e, - 0x97, 0xe6, 0xfb, 0x07, 0x73, 0xee, 0xf7, 0xd0, 0xff, 0x85, 0x68, 0x1f, 0xfa, 0x8a, 0xaa, 0x74, - 0x78, 0x10, 0x84, 0x0c, 0xeb, 0x12, 0x9a, 0xcd, 0xcd, 0xc5, 0xdc, 0xe4, 0xa2, 0xc3, 0x93, 0xe7, - 0x53, 0x42, 0x6e, 0xb6, 0xf1, 0xba, 0x59, 0x4d, 0x4f, 0x7f, 0xc8, 0x85, 0x80, 0x54, 0x1d, 0xd7, - 0x47, 0xdf, 0x86, 0x04, 0xf8, 0x51, 0x7f, 0x18, 0xae, 0x40, 0x36, 0x11, 0xef, 0xf7, 0xe5, 0xb3, - 0x52, 0x9d, 0x84, 0xe8, 0x69, 0xb6, 0x30, 0x01, 0x51, 0x7d, 0x5c, 0xd6, 0x26, 0x59, 0x5c, 0x9b, - 0xcb, 0x70, 0x97, 0xe0, 0xe2, 0x1d, 0xf8, 0x0e, 0x12, 0x01, 0xdd, 0x88, 0xb6, 0x48, 0x37, 0xed, - 0x06, 0xa0, 0x95, 0x6b, 0x21, 0x20, 0x6a, 0xe7, 0x6a, 0xc5, 0x2a, 0xa2, 0x5e, 0xf9, 0xd1, 0xd5, - 0x9b, 0x8d, 0xa3, 0xc0, 0x87, 0x08, 0xcc, 0xb8, 0x04, 0x6d, 0xeb, 0x85, 0xca, 0x1d, 0x0f, 0xc2, - 0x7a, 0x7f, 0xc6, 0x7a, 0x7d, 0x17, 0xdf, 0xa4, 0xe1, 0x75, 0xe7, 0x6c, 0xd0, 0xeb, 0x1e, 0xab, - 0x19, 0xb9, 0xaf, 0xa7, 0xb7, 0xfb, 0x30, 0x56, 0xdc, 0x54, 0x42, 0x47, 0xdd, 0x24, 0x2a, 0xb9, - 0x61, 0x01, 0xba, 0x30, 0x3e, 0x21, 0x37, 0x63, 0xee, 0x65, 0x74, 0x61, 0xad, 0x62, 0x86, 0x54, - 0x08, 0x60, 0x1e, 0xf4, 0xa0, 0x54, 0x98, 0x46, 0x68, 0xdc, 0xcf, 0x2e, 0x16, 0x24, 0xce, 0xee, - 0xa4, 0xba, 0x93, 0x58, 0xba, 0x2a, 0x86, 0xab, 0xe0, 0x1d, 0x9b, 0x3b, 0x98, 0x4f, 0x61, 0xf1, - 0x50, 0x7c, 0x30, 0x5f, 0x8b, 0x91, 0xef, 0x4b, 0x60, 0xac, 0x0a, 0xf2, 0xc4, 0x2c, 0x51, 0x55, - 0xb1, 0x16, 0xbe, 0x1a, 0xaf, 0x09, 0x47, 0x44, 0x82, 0x3f, 0x62, 0x88, 0x2f, 0x06, 0x7e, 0xf4, - 0xe0, 0x82, 0x0c, 0x10, 0x49, 0x14, 0x17, 0x88, 0xca, 0xbc, 0x66, 0xc5, 0x9e, 0x4f, 0xff, 0xb6, - 0xa7, 0x16, 0x5a, 0xf0, 0xf2, 0xc7, 0x36, 0xbc, 0x30, 0x87, 0x57, 0xb2, 0xff, 0x82, 0xf3, 0x06, - 0xd0, 0xf9, 0xcb, 0x38, 0x93, 0xc0, 0x0b, 0xac, 0x2a, 0xf4, 0x1f, 0x17, 0x7a, 0x72, 0xbb, 0x17, - 0x5e, 0xca, 0xa4, 0x47, 0xfd, 0xba, 0xd4, 0x1a, 0x52, 0xf5, 0x37, 0xdc, 0x1c, 0x6e, 0x6f, 0x19, - 0x77, 0x02, 0x22, 0x4e, 0x15, 0x22, 0xc1, 0x28, 0xad, 0x42, 0x05, 0xfb, 0x04, 0xac, 0xc3, 0x98, - 0x86, 0x34, 0xa6, 0x65, 0x4e, 0xf5, 0x57, 0xd8, 0x84, 0x01, 0x35, 0x07, 0x3a, 0x30, 0xc9, 0x24, - 0xe9, 0xfe, 0x7e, 0x52, 0x5c, 0x9d, 0x92, 0x69, 0xf5, 0xf8, 0xf0, 0x56, 0xc9, 0x80, 0xb4, 0xe2, - 0xe1, 0xe8, 0x7b, 0x15, 0x34, 0x21, 0x51, 0x78, 0xae, 0x23, 0xd5, 0xbc, 0x90, 0x47, 0x4e, 0xcb, - 0x8b, 0x05, 0xb0, 0x8f, 0x1f, 0x4f, 0x0e, 0x7e, 0xd9, 0x27, 0xd6, 0x89, 0xf9, 0x37, 0xaa, 0xda, - 0xcb, 0x4d, 0x1b, 0x50, 0x9a, 0x9b, 0x78, 0x91, 0xfb, 0x1f, 0x8a, 0x43, 0x45, 0x3b, 0xd2, 0xea, - 0xd0, 0x1a, 0xe3, 0x82, 0xb9, 0x6f, 0x8c, 0x16, 0x79, 0x16, 0x0c, 0x90, 0x9d, 0x78, 0x6d, 0x0b, - 0x29, 0xc9, 0xb1, 0x9b, 0xd2, 0x35, 0x7b, 0xef, 0x24, 0x6c, 0x5a, 0x99, 0xc5, 0x75, 0x6a, 0x8a, - 0x3a, 0xc2, 0x9c, 0xfc, 0x75, 0xde, 0xc8, 0xfa, 0xb2, 0xbf, 0xc5, 0xf6, 0x0f, 0x3e, 0x4a, 0xde, - 0x2b, 0xf6, 0xbc, 0x73, 0x1b, 0x7d, 0xd8, 0x5a, 0x87, 0x93, 0x88, 0x6b, 0xf0, 0xe6, 0x8b, 0xe8, - 0x2f, 0x58, 0x31, 0xc1, 0xc6, 0x31, 0x6e, 0xe5, 0x3b, 0x70, 0xfe, 0x95, 0xf5, 0x29, 0xf6, 0xd0, - 0x44, 0x2f, 0x34, 0x66, 0xa2, 0xfa, 0x1a, 0x94, 0xe5, 0xca, 0x0b, 0xe1, 0x8d, 0x45, 0xad, 0xf9, - 0xb4, 0xe9, 0x21, 0x13, 0xf1, 0x3e, 0x3a, 0xda, 0x0d, 0xc7, 0xd7, 0xe2, 0xc1, 0x63, 0x3e, 0x83, - 0xbe, 0x54, 0x03, 0xea, 0xa8, 0x4f, 0x94, 0x88, 0x74, 0x17, 0xf2, 0xb5, 0xad, 0xe6, 0x97, 0xd6, - 0x48, 0x24, 0x74, 0x97, 0x16, 0x80, 0x72, 0xbb, 0x9a, 0x1f, 0xa6, 0x7f, 0xff, 0xb7, 0x4d, 0x4a, - 0xec, 0x5b, 0x00, 0xfa, 0x70, 0xd0, 0x67, 0x1f, 0xbd, 0xa1, 0x16, 0x15, 0xdf, 0xca, 0x29, 0x2c, - 0xce, 0x3b, 0xd9, 0x87, 0x15, 0x84, 0xc3, 0xcf, 0x98, 0x01, 0xb2, 0xa5, 0xc5, 0x5b, 0xb9, 0xe3, - 0x56, 0x25, 0x88, 0xb2, 0x99, 0xd1, 0x89, 0x92, 0x61, 0x52, 0x26, 0x62, 0x55, 0x6c, 0xee, 0x77, - 0xdb, 0xa9, 0x19, 0xe2, 0x2b, 0xec, 0x43, 0xea, 0xaf, 0x1f, 0x16, 0x9d, 0x38, 0x1d, 0x2a, 0xbc, - 0x24, 0x0b, 0xb9, 0xe5, 0xca, 0x16, 0xb1, 0xfc, 0xcb, 0x3a, 0x46, 0x89, 0x01, 0x07, 0x62, 0xfb, - 0x9c, 0xd8, 0x76, 0xa8, 0x0f, 0x3e, 0x4d, 0x59, 0x3b, 0x27, 0xcd, 0xdc, 0xf4, 0x4f, 0x07, 0x30, - 0x4d, 0xf8, 0xe6, 0x7e, 0xe8, 0x08, 0xde, 0xbd, 0x6d, 0x70, 0x27, 0xcc, 0x3a, 0xe1, 0xde, 0x2c, - 0x01, 0x64, 0xcc, 0x57, 0x20, 0xb5, 0x84, 0xdb, 0xe9, 0xb1, 0xd7, 0x1b, 0x2c, 0x2e, 0xa8, 0x65, - 0x4d, 0x46, 0x18, 0x18, 0xe6, 0x05, 0x88, 0xa9, 0xad, 0x75, 0x7f, 0x67, 0x67, 0xb6, 0x12, 0x6f, - 0x5f, 0xdd, 0x50, 0xce, 0x0f, 0x6c, 0x7f, 0x6b, 0x90, 0x68, 0xae, 0xec, 0xfc, 0x12, 0x5d, 0x37, - 0xbc, 0x81, 0x5d, 0x96, 0x96, 0x56, 0x20, 0x32, 0x5c, 0xc2, 0x1c, 0xaa, 0xfe, 0xa7, 0x53, 0x56, - 0x39, 0xf1, 0x2a, 0x67, 0x69, 0x1c, 0xe9, 0x35, 0x8d, 0x39, 0x61, 0xab, 0xac, 0xe9, 0x93, 0x77, - 0x0a, 0x3b, 0x62, 0xb4, 0x9d, 0xaf, 0xf0, 0xb9, 0x3e, 0xab, 0x8f, 0xfb, 0x98, 0xd2, 0x8c, 0x89, - 0x90, 0x5e, 0x87, 0x0d, 0x40, 0x68, 0xf8, 0x55, 0x0b, 0x13, 0xc7, 0xc9, 0xcf, 0xed, 0xb6, 0xe3, - 0xb4, 0xc9, 0x14, 0x1b, 0x81, 0xd7, 0x3b, 0xb3, 0x27, 0x10, 0x41, 0x0b, 0x02, 0x19, 0xeb, 0x12, - 0x30, 0x0e, 0xfc, 0x34, 0xd2, 0x1b, 0x90, 0x9b, 0xf5, 0x47, 0xe7, 0x90, 0xff, 0x32, 0x31, 0x78, - 0x4e, 0x96, 0x45, 0xc4, 0x18, 0xda, 0x62, 0x74, 0x4e, 0xca, 0xbe, 0x51, 0x04, 0x1e, 0x76, 0x11, - 0xe4, 0xeb, 0xfd, 0x30, 0xd3, 0xb2, 0xab, 0x4c, 0x84, 0xd8, 0xb9, 0x05, 0xca, 0x52, 0xb8, 0x78, - 0x70, 0xc4, 0x27, 0x11, 0xe7, 0x09, 0xd1, 0xa1, 0x49, 0xe7, 0x7b, 0x8a, 0x1e, 0xa3, 0x5a, 0x21, - 0xd2, 0x59, 0xb2, 0xba, 0x9a, 0x27, 0x3b, 0x28, 0xb4, 0x8e, 0xd7, 0xeb, 0xc1, 0x33, 0x25, 0xcf, - 0xd8, 0xc3, 0x3e, 0xe0, 0x19, 0xf2, 0xc5, 0x88, 0xc9, 0xba, 0x3a, 0x12, 0xa1, 0x13, 0x5d, 0xb7, - 0xa0, 0xdd, 0x6d, 0x5f, 0x83, 0x30, 0x99, 0x90, 0x2d, 0xc1, 0x34, 0x22, 0x5d, 0x27, 0x94, 0x48, - 0x89, 0xc3, 0xe3, 0x26, 0x71, 0x9b, 0x5c, 0xdd, 0xd2, 0x4c, 0x14, 0xa7, 0x30, 0x06, 0x0d, 0x16, - 0x6a, 0xf4, 0x35, 0x50, 0xc0, 0xed, 0xa5, 0xe8, 0xfe, 0x6d, 0xe9, 0x29, 0x0d, 0x1f, 0xf3, 0x8e, - 0x80, 0xbb, 0x80, 0x75, 0xbe, 0x52, 0x4e, 0xa8, 0x9c, 0xcb, 0x1c, 0x71, 0xf6, 0x20, 0xbe, 0x2f, - 0x5d, 0x13, 0x11, 0x46, 0xa1, 0x31, 0x25, 0x9b, 0x89, 0x4d, 0x3b, 0x8c, 0x52, 0x48, 0x5b, 0xb5, - 0x6e, 0xd8, 0x90, 0xba, 0xc1, 0xb3, 0xef, 0x8b, 0x90, 0xfb, 0x00, 0x9a, 0x4d, 0x56, 0x12, 0xf4, - 0x6e, 0x04, 0xf3, 0x13, 0x35, 0x10, 0x01, 0xcb, 0x61, 0xed, 0xea, 0x01, 0xa9, 0x06, 0x16, 0xb3, - 0x08, 0x50, 0x20, 0x08, 0x3c, 0x1f, 0x93, 0xe5, 0xf0, 0x3f, 0x03, 0x24, 0xd8, 0x26, 0x9c, 0x67, - 0xcb, 0x4b, 0x51, 0x09, 0x03, 0xf7, 0x2b, 0xc3, 0x53, 0x4c, 0xc9, 0x30, 0xb6, 0x55, 0xaf, 0x32, - 0xeb, 0xe4, 0x59, 0xf4, 0x73, 0x68, 0x99, 0xdb, 0x79, 0xdb, 0xe5, 0x52, 0xed, 0xe3, 0xb5, 0x8e, - 0xaf, 0x3b, 0x7f, 0x58, 0xc8, 0xdb, 0x0f, 0x09, 0xce, 0x2e, 0x0b, 0x85, 0x91, 0x19, 0x25, 0x86, - 0x11, 0x58, 0xb6, 0xd2, 0xe7, 0x7e, 0x55, 0xd2, 0xfa, 0xa4, 0x93, 0x9e, 0xc2, 0x48, 0x77, 0xa4, - 0xcb, 0x06, 0x4e, 0xa2, 0xef, 0xc3, 0xed, 0x5d, 0x4a, 0x00, 0x0c, 0x21, 0x11, 0xb4, 0xa9, 0xfc, - 0x50, 0x7b, 0x4e, 0x02, 0x44, 0x22, 0xf1, 0x62, 0x07, 0x3b, 0xd1, 0x76, 0xa0, 0xb6, 0x8b, 0xf7, - 0x1c, 0x56, 0x1e, 0xf4, 0x74, 0xdf, 0x1e, 0x3d, 0x87, 0x21, 0xd7, 0x49, 0x26, 0xab, 0x44, 0x5e, - 0x85, 0xec, 0xa9, 0x7f, 0xa1, 0x68, 0x5b, 0xa5, 0x8c, 0x42, 0x02, 0x51, 0x55, 0xb0, 0x9e, 0x8a, - 0x63, 0x0d, 0xc0, 0xa7, 0x0a, 0x09, 0xe1, 0x22, 0x91, 0xf5, 0x2d, 0x7f, 0x15, 0x63, 0x50, 0xd0, - 0x5a, 0x84, 0xff, 0x72, 0x0c, 0xeb, 0x41, 0x7b, 0x19, 0xf2, 0x88, 0x26, 0x1e, 0xbf, 0x9c, 0x3e, - 0x13, 0xf9, 0xae, 0x2c, 0x82, 0x17, 0x73, 0x4f, 0x84, 0x3e, 0xf5, 0x57, 0xa5, 0x31, 0x65, 0x05, - 0x76, 0xaa, 0xbe, 0xbd, 0xcf, 0x33, 0x8e, 0xd7, 0xad, 0x5c, 0xae, 0x23, 0x38, 0xe5, 0xe4, 0xaa, - 0x08, 0xba, 0xd5, 0x53, 0x68, 0xb0, 0x7e, 0x35, 0xae, 0x8e, 0x2c, 0x6c, 0xfe, 0x87, 0x9c, 0x9e, - 0x4a, 0x38, 0x43, 0x65, 0xa3, 0x61, 0xae, 0xbf, 0x28, 0x1d, 0x9c, 0x56, 0xf3, 0x8e, 0x30, 0x12, - 0x66, 0x1f, 0x60, 0x13, 0x8a, 0x45, 0x31, 0xb4, 0x96, 0x99, 0xe6, 0x7c, 0x51, 0xf9, 0x55, 0x30, - 0x2a, 0x43, 0x29, 0xe9, 0x23, 0x7d, 0x22, 0x87, 0x30, 0x95, 0xed, 0x66, 0x7a, 0xba, 0xe4, 0x65, - 0x69, 0x0e, 0x3b, 0x3f, 0xbd, 0x63, 0xa9, 0x55, 0xef, 0xff, 0x36, 0x8e, 0x96, 0x7a, 0x36, 0x38, - 0xdf, 0x6e, 0x6f, 0x4b, 0xf9, 0xc0, 0xdd, 0x35, 0xc0, 0x2a, 0xb8, 0x74, 0x27, 0xa3, 0x9b, 0x07, - 0x8f, 0x14, 0xf7, 0x15, 0xf3, 0x6d, 0xb4, 0x53, 0x12, 0x07, 0xa1, 0xa0, 0x8a, 0xfd, 0x3e, 0x45, - 0xd5, 0xf2, 0x3a, 0x4f, 0xe8, 0x61, 0xd3, 0x33, 0x86, 0xdf, 0x80, 0xc7, 0x68, 0x3b, 0x83, 0x1a, - 0xab, 0x58, 0xd1, 0x92, 0xeb, 0x62, 0x46, 0x6f, 0xfc, 0x4e, 0x55, 0x1a, 0x1b, 0x43, 0xa1, 0x89, - 0x88, 0xc8, 0xfa, 0x80, 0x73, 0x40, 0xa3, 0x0d, 0x9a, 0x25, 0xb7, 0x21, 0x02, 0xb6, 0xa2, 0x63, - 0xed, 0xdd, 0x90, 0x46, 0xf7, 0xde, 0xe8, 0x31, 0xf7, 0x37, 0x16, 0x2a, 0x8b, 0x6a, 0x77, 0xe0, - 0x0f, 0xe6, 0x12, 0x14, 0x0d, 0x73, 0x3f, 0x64, 0xd2, 0xa8, 0xed, 0x41, 0xeb, 0x76, 0x00, 0xdb, - 0x71, 0xbf, 0x3f, 0xd8, 0x01, 0xdc, 0x7b, 0x80, 0x06, 0xb3, 0xdd, 0xd3, 0xef, 0xcc, 0x78, 0x5c, - 0x05, 0xbc, 0xf0, 0x64, 0x65, 0x47, 0x01, 0xc7, 0x84, 0x2d, 0x4c, 0x41, 0xd1, 0x7d, 0xcb, 0xeb, - 0x39, 0x7c, 0xf0, 0xf4, 0xe0, 0x97, 0x85, 0xfd, 0x41, 0xc8, 0x98, 0x8e, 0x0e, 0xb8, 0x49, 0x16, - 0x9a, 0xeb, 0x6d, 0xa6, 0x61, 0x1b, 0x65, 0xee, 0x8e, 0xcd, 0xe1, 0xee, 0x99, 0x6d, 0xe7, 0x57, - 0xc1, 0x3e, 0x2f, 0x3b, 0xf7, 0xdb, 0xc9, 0xa1, 0x75, 0xd3, 0xb1, 0xe8, 0x46, 0x09, 0x04, 0x3f, - 0x6c, 0xf8, 0xba, 0xe7, 0xad, 0x84, 0xae, 0xab, 0xc9, 0xab, 0x5d, 0x74, 0x84, 0xbf, 0xdd, 0xf5, - 0xad, 0x31, 0xf6, 0x9c, 0xdc, 0x69, 0xf4, 0xc4, 0x31, 0x33, 0x06, 0x3f, 0x06, 0xb3, 0x2b, 0x4c, - 0x74, 0xe2, 0x2d, 0x17, 0x01, 0x06, 0xb3, 0x07, 0x95, 0x84, 0x49, 0x03, 0x15, 0xd9, 0x65, 0x43, - 0x1b, 0xb2, 0x91, 0x8b, 0xcf, 0x54, 0x41, 0x6e, 0x39, 0x1d, 0xa9, 0xaa, 0xa2, 0xc4, 0xc3, 0x98, - 0x9b, 0x2f, 0x37, 0x30, 0xb6, 0x82, 0xdb, 0xe5, 0xe7, 0xa9, 0x16, 0xaa, 0xb5, 0x30, 0x9c, 0x0d, - 0x24, 0xa7, 0x84, 0xc9, 0xe0, 0x8b, 0x48, 0xc4, 0x9b, 0x44, 0x7e, 0x41, 0x6c, 0x83, 0x39, 0x69, - 0x45, 0xab, 0xc4, 0xed, 0xa6, 0x4d, 0x5b, 0x4d, 0x57, 0x12, 0xed, 0x69, 0x1e, 0x95, 0x12, 0x2b, - 0xc1, 0x40, 0x12, 0x31, 0xf3, 0xcf, 0xa0, 0x4d, 0x1c, 0x35, 0xda, 0x39, 0xbd, 0x5b, 0xcc, 0x71, - 0x45, 0x72, 0x45, 0xc0, 0xec, 0xf8, 0xee, 0x5d, 0x83, 0xdb, 0xf9, 0x27, 0xc7, 0xa2, 0xd9, 0x39, - 0x3b, 0xa2, 0x60, 0x55, 0x4a, 0xd9, 0xe2, 0xa4, 0x99, 0xb8, 0xd9, 0xbe, 0x48, 0xe8, 0x98, 0x55, - 0x83, 0xb0, 0x42, 0x10, 0x51, 0x83, 0x5e, 0xbf, 0x83, 0x93, 0xfa, 0x9d, 0x05, 0xaa, 0x3f, 0x48, - 0xf9, 0x41, 0x5a, 0x48, 0xef, 0x78, 0x8d, 0xcb, 0x9b, 0x5c, 0x80, 0x7a, 0xcf, 0x7f, 0x9c, 0x53, - 0x98, 0xe6, 0x0b, 0x53, 0x3d, 0x77, 0xcf, 0x06, 0xa4, 0x88, 0xbb, 0x6a, 0x01, 0x15, 0xbd, 0x7e, - 0xbe, 0x00, 0xa6, 0x8d, 0x02, 0xa3, 0xed, 0xe2, 0x44, 0xce, 0x5c, 0x49, 0x4c, 0xf8, 0xf7, 0x3c, - 0xfe, 0x60, 0x7b, 0x10, 0xf5, 0xc5, 0xd3, 0xbd, 0x3f, 0xf5, 0x67, 0x00, 0xc1, 0x6f, 0xf8, 0x4c, - 0x3b, 0x47, 0x51, 0xaf, 0x55, 0xb2, 0x0c, 0x6a, 0x07, 0xcf, 0x20, 0x4a, 0xb7, 0x43, 0xa6, 0x2f, - 0x7c, 0x86, 0x4f, 0x8f, 0x09, 0xe4, 0xc2, 0x62, 0x76, 0xcb, 0x03, 0x9b, 0x2e, 0xe5, 0x93, 0x51, - 0x6d, 0x64, 0x0e, 0xa1, 0xde, 0xb5, 0x38, 0x0e, 0x44, 0x6b, 0x47, 0x8a, 0x7c, 0x03, 0x91, 0x43, - 0x9d, 0x04, 0x9d, 0xd3, 0x25, 0x4d, 0x84, 0x45, 0x1d, 0xc6, 0xed, 0xa8, 0x2a, 0xf5, 0xdc, 0xfd, - 0x7d, 0x5f, 0x52, 0x83, 0x2e, 0xce, 0x1d, 0x25, 0x6c, 0xf5, 0x7b, 0x62, 0xd9, 0x03, 0xf3, 0xda, - 0xd8, 0xf1, 0xea, 0x9f, 0x95, 0x9d, 0x35, 0x96, 0x6c, 0x2e, 0xf7, 0x9b, 0x39, 0xda, 0x9e, 0xae, - 0xf3, 0x21, 0xf5, 0xf0, 0x39, 0x36, 0x81, 0x2c, 0xde, 0xde, 0x90, 0xf2, 0x49, 0x77, 0x32, 0x60, - 0x5b, 0xaf, 0x45, 0x3b, 0x64, 0xa8, 0x06, 0x08, 0xb7, 0x51, 0x13, 0xd5, 0xc6, 0x5c, 0x52, 0x65, - 0x81, 0x11, 0xea, 0xed, 0x31, 0xd5, 0x4f, 0x34, 0xbe, 0xcb, 0xeb, 0xeb, 0x21, 0xd3, 0x9a, 0xb1, - 0x82, 0x14, 0xb0, 0x60, 0x43, 0xa4, 0xfa, 0xe8, 0x0e, 0x28, 0x53, 0xcf, 0xea, 0x28, 0x29, 0x26, - 0x4b, 0x41, 0xbe, 0x00, 0xb6, 0xd8, 0x96, 0x0f, 0x0f, 0x00, 0x99, 0x19, 0xa2, 0xbf, 0x56, 0x2c, - 0xe0, 0xaf, 0xdd, 0xaf, 0x94, 0x22, 0xc5, 0x2b, 0x63, 0xca, 0x3a, 0x7d, 0xe1, 0x00, 0xcd, 0xc6, - 0xa5, 0x9d, 0xa2, 0xf0, 0x09, 0x3f, 0x6e, 0xa2, 0x92, 0xd8, 0xc4, 0x13, 0xeb, 0xe8, 0x5e, 0x5d, - 0x00, 0xa9, 0xce, 0x6e, 0x7d, 0x8c, 0xce, 0xe5, 0x36, 0x26, 0x71, 0x29, 0x8c, 0x98, 0x9b, 0x05, - 0x56, 0x4b, 0x4c, 0x17, 0x4e, 0xa1, 0x0b, 0x40, 0x17, 0xdd, 0x0e, 0x04, 0xb4, 0x70, 0x6b, 0x07, - 0x60, 0x47, 0xdc, 0x59, 0x2d, 0xea, 0x1d, 0x64, 0x7c, 0x4a, 0x62, 0x45, 0x1a, 0xb0, 0x35, 0x7e, - 0x02, 0x2c, 0xc6, 0xa6, 0x3a, 0xbc, 0x47, 0xa6, 0xb3, 0xb7, 0x37, 0x47, 0x54, 0x84, 0xd5, 0x46, - 0x99, 0x03, 0x54, 0xeb, 0x17, 0x49, 0x11, 0x85, 0x3d, 0x50, 0xeb, 0x34, 0xfb, 0xae, 0x9d, 0x60, - 0x47, 0x22, 0xb4, 0x39, 0x2b, 0x54, 0xec, 0x93, 0xeb, 0x80, 0x09, 0xc2, 0xe8, 0x3f, 0x79, 0xb9, - 0x04, 0xd0, 0xbe, 0xa1, 0x5a, 0xa1, 0x14, 0xcd, 0x55, 0xc6, 0xdb, 0x54, 0xa1, 0x55, 0x58, 0x05, - 0xfb, 0x25, 0xfc, 0xfd, 0x2a, 0xf1, 0xbe, 0x0a, 0x90, 0xf4, 0xa6, 0x7f, 0x2c, 0x1a, 0x80, 0x18, - 0x80, 0x11, 0xa8, 0xe2, 0x81, 0x64, 0xb4, 0x3e, 0x27, 0xbd, 0x30, 0x6a, 0x11, 0x3e, 0x8c, 0x83, - 0x0e, 0xfe, 0x2a, 0x05, 0x7f, 0x49, 0x03, 0xcd, 0xe5, 0x58, 0xf1, 0xc0, 0x38, 0x2b, 0x6b, 0x7a, - 0x6c, 0x72, 0x99, 0x47, 0x46, 0xfe, 0xad, 0x97, 0x9b, 0xc9, 0x64, 0x36, 0x56, 0x6a, 0x49, 0xf1, - 0x59, 0xf1, 0xc6, 0xee, 0xf8, 0x7c, 0xbd, 0xe5, 0xff, 0x2b, 0x7d, 0x3e, 0xab, 0x35, 0x10, 0x1f, - 0x97, 0xa9, 0xf2, 0x08, 0x03, 0x7e, 0xc5, 0x26, 0x81, 0xea, 0x00, 0xbd, 0xba, 0x16, 0xfe, 0x25, - 0x52, 0x21, 0x20, 0x3a, 0x2c, 0x5d, 0xa8, 0xc1, 0x40, 0x55, 0x96, 0x32, 0x48, 0xb1, 0xbf, 0x71, - 0xea, 0x8e, 0x61, 0xa1, 0x12, 0x37, 0x76, 0x98, 0xea, 0x41, 0x7f, 0x69, 0x1f, 0xcd, 0xf8, 0xd4, - 0x4c, 0x2b, 0x70, 0x55, 0xf0, 0xcf, 0x71, 0x04, 0x4c, 0x29, 0x5f, 0x8f, 0xaa, 0x0e, 0x1f, 0x0d, - 0xe4, 0xbc, 0xc3, 0xdf, 0x69, 0x93, 0xa0, 0xdd, 0x23, 0x84, 0x94, 0xb4, 0x9b, 0x64, 0xac, 0x89, - 0x34, 0xdf, 0xa5, 0xd8, 0x46, 0x71, 0x30, 0x33, 0x20, 0xee, 0x65, 0xbc, 0x3a, 0x54, 0x90, 0xf4, - 0xa7, 0x04, 0x5d, 0xf4, 0xe7, 0xb8, 0x04, 0xb7, 0x70, 0x0d, 0xd7, 0xf8, 0x37, 0x41, 0xd5, 0x77, - 0x0e, 0xf0, 0x10, 0x73, 0x71, 0x6a, 0x85, 0xd9, 0x53, 0x82, 0xe7, 0x8e, 0xe6, 0x9b, 0xea, 0x11, - 0xd3, 0x53, 0xee, 0x25, 0x0d, 0x27, 0xd2, 0x6e, 0x79, 0xbb, 0x5d, 0xa4, 0x95, 0xf6, 0xa7, 0xe0, - 0x04, 0x91, 0x44, 0xd7, 0x85, 0xc5, 0xd7, 0x2a, 0x46, 0x34, 0x77, 0xec, 0xdf, 0xca, 0xa4, 0x46, - 0xaa, 0x0a, 0xb3, 0xff, 0x56, 0xbe, 0xcf, 0x96, 0xe0, 0x4a, 0x0a, 0xeb, 0xd4, 0x90, 0x31, 0xc2, - 0x9f, 0xde, 0xfd, 0xe5, 0x3f, 0x48, 0x16, 0xd7, 0xa8, 0x80, 0xc9, 0xfb, 0xce, 0x4d, 0x2f, 0x80, - 0xee, 0x06, 0x6c, 0x72, 0xab, 0x52, 0xa8, 0x59, 0xda, 0x9c, 0xbb, 0x6e, 0x22, 0x27, 0xd0, 0x5d, - 0x9b, 0x41, 0x6d, 0x58, 0x88, 0x96, 0x81, 0x6a, 0x0d, 0x32, 0x75, 0x72, 0xe7, 0x52, 0x1e, 0x09, - 0x7c, 0xad, 0xe2, 0xa6, 0x15, 0xcf, 0xe4, 0x26, 0xe6, 0x38, 0xee, 0x5c, 0x0c, 0xe2, 0x04, 0x5d, - 0xa9, 0xe9, 0x4f, 0x07, 0xe1, 0xea, 0x3b, 0x85, 0xc2, 0x7e, 0xb0, 0xa2, 0x52, 0x59, 0x88, 0x07, - 0x90, 0xe4, 0xa5, 0x08, 0x28, 0x22, 0x5e, 0xaf, 0x7c, 0x01, 0x45, 0x8d, 0x58, 0xf6, 0xd9, 0x0f, - 0x60, 0xd2, 0xc7, 0x6b, 0x1b, 0x1c, 0x69, 0xe2, 0xc3, 0x80, 0x7c, 0x2b, 0xb9, 0x1d, 0xf9, 0x1d, - 0xe4, 0x36, 0xd0, 0x10, 0xc7, 0xb8, 0x66, 0xe9, 0xa6, 0x56, 0x5f, 0xac, 0xa0, 0xda, 0x43, 0xbe, - 0xd5, 0xc7, 0x04, 0x76, 0x37, 0xc3, 0xe7, 0x5f, 0x77, 0x5b, 0xd6, 0x68, 0x53, 0xb7, 0xb4, 0x5a, - 0x5a, 0x0c, 0xce, 0x09, 0x4d, 0x9a, 0x08, 0x92, 0x24, 0xdd, 0xe6, 0x68, 0x78, 0x44, 0x37, 0xb2, - 0xf4, 0xdd, 0xeb, 0x3d, 0x1e, 0x04, 0x7a, 0x84, 0xb2, 0x16, 0xd6, 0x8a, 0xf2, 0xe9, 0x45, 0x8a, - 0x53, 0xc4, 0xb8, 0x0f, 0x43, 0x58, 0x2b, 0x9d, 0x90, 0x71, 0x8a, 0xf0, 0x4d, 0x91, 0x13, 0x91, - 0x6c, 0x7c, 0x3a, 0x38, 0x5b, 0x8c, 0x9f, 0x6e, 0xb7, 0x31, 0x53, 0x32, 0x62, 0xcc, 0x65, 0xd2, - 0xc5, 0x5c, 0xbe, 0x90, 0x56, 0x75, 0x15, 0xab, 0xb3, 0x3a, 0x8f, 0x2a, 0xdb, 0x81, 0x4d, 0xe0, - 0x33, 0x12, 0x09, 0x99, 0xbf, 0xf5, 0x11, 0x0f, 0xd2, 0x48, 0xbf, 0x5a, 0xea, 0xf6, 0x56, 0xcc, - 0x25, 0x1f, 0xcf, 0xf3, 0x8b, 0x7f, 0x2c, 0x83, 0x21, 0xa5, 0x61, 0x66, 0xda, 0x34, 0x26, 0x1e, - 0xac, 0x88, 0xdc, 0x12, 0xb5, 0x5e, 0x55, 0x22, 0x0e, 0xcb, 0x49, 0xe1, 0xca, 0x8f, 0xaa, 0x88, - 0x5b, 0x99, 0xfd, 0x32, 0xb5, 0xeb, 0xa0, 0xea, 0xfc, 0x8b, 0x42, 0x51, 0x93, 0x9b, 0x20, 0x97, - 0xc8, 0xd8, 0x34, 0x7f, 0x0e, 0x62, 0xe3, 0x47, 0x26, 0xad, 0xd7, 0xa2, 0xc6, 0x75, 0xc3, 0x1a, - 0xd6, 0x08, 0xd2, 0x35, 0x41, 0x89, 0x3e, 0x46, 0x66, 0x55, 0xc9, 0xe5, 0x0d, 0xf5, 0x77, 0xd5, - 0xda, 0xff, 0x21, 0x86, 0x7b, 0x1f, 0x38, 0xe7, 0xca, 0xf9, 0xde, 0x1d, 0x41, 0xdc, 0x27, 0x36, - 0xe1, 0x79, 0x10, 0x10, 0x84, 0x1c, 0x98, 0x77, 0x9a, 0x5f, 0xb8, 0xb8, 0x5c, 0xf6, 0x5b, 0xa8, - 0x9a, 0xd7, 0xc4, 0x4d, 0x8c, 0x75, 0x38, 0xe2, 0x79, 0x9f, 0xc4, 0xe3, 0xf9, 0xae, 0xd1, 0x07, - 0x4f, 0x76, 0x6c, 0x03, 0x23, 0xe6, 0x7c, 0xb7, 0xcd, 0x39, 0x5c, 0xa3, 0x87, 0xbf, 0x20, 0xd3, - 0x63, 0xa6, 0xed, 0x2e, 0x5c, 0xf4, 0xe9, 0xb7, 0xc0, 0x5f, 0xb7, 0x4e, 0xf6, 0xb1, 0x95, 0xac, - 0xf4, 0x59, 0x25, 0x52, 0x9b, 0x84, 0xf1, 0x66, 0x95, 0x34, 0x28, 0x37, 0x60, 0x4d, 0x13, 0x96, - 0x37, 0xc7, 0x54, 0xab, 0xe4, 0x45, 0x32, 0x78, 0x59, 0x11, 0x80, 0xa8, 0x73, 0xe8, 0xa6, 0x5b, - 0x2b, 0x91, 0xb7, 0x37, 0xf7, 0x30, 0x23, 0x1d, 0xc2, 0x11, 0x75, 0xf3, 0x61, 0x2a, 0x9a, 0x16, - 0x22, 0x8e, 0x75, 0x45, 0xad, 0xd6, 0xcd, 0xaa, 0xef, 0x40, 0x0a, 0xaa, 0xf0, 0xb0, 0xf2, 0xca, - 0x48, 0xb9, 0x78, 0x86, 0xb7, 0xed, 0xee, 0xbf, 0x69, 0xf9, 0x85, 0x31, 0xb7, 0x8d, 0x24, 0x63, - 0xa9, 0x9f, 0xd7, 0xf5, 0x33, 0x66, 0x39, 0xeb, 0x49, 0xaa, 0xad, 0xc4, 0x0e, 0xe6, 0x34, 0x34, - 0x67, 0x7d, 0xe8, 0x44, 0x24, 0xe8, 0x97, 0x93, 0xaa, 0x06, 0x07, 0x47, 0x79, 0xc6, 0x43, 0xbb, - 0x18, 0x7c, 0x9e, 0x9e, 0x35, 0x61, 0x8d, 0x25, 0xc8, 0xf5, 0xd0, 0x90, 0x3f, 0xa2, 0x9e, 0xaa, - 0x85, 0xba, 0x6f, 0xf5, 0x53, 0xd6, 0x83, 0x5f, 0x5a, 0xce, 0x30, 0x6c, 0xa4, 0xb9, 0x8e, 0xba, - 0x7a, 0x35, 0x99, 0xa8, 0xfc, 0x1b, 0x6d, 0x12, 0x1d, 0x0d, 0x42, 0x08, 0x96, 0x12, 0x58, 0x0c, - 0x81, 0x42, 0x6c, 0x6c, 0xda, 0x5e, 0x77, 0x49, 0xcb, 0x49, 0xb6, 0xed, 0x85, 0xe1, 0x10, 0x6b, - 0xda, 0xe2, 0xa5, 0x88, 0x27, 0x9c, 0x2f, 0xb4, 0x2a, 0xb8, 0x20, 0x95, 0xd8, 0x88, 0x4f, 0x2e, - 0xca, 0xfd, 0x9c, 0x31, 0xb4, 0x78, 0xc1, 0x2f, 0xd6, 0xb8, 0x6f, 0xca, 0xef, 0x14, 0x5e, 0x34, - 0x28, 0x68, 0xcd, 0x64, 0x1b, 0x51, 0x2a, 0x77, 0x51, 0x9c, 0x25, 0xc5, 0x6a, 0xe8, 0xb2, 0x92, - 0xf0, 0xcc, 0xfe, 0x93, 0x53, 0x28, 0xe5, 0x6b, 0x02, 0x43, 0x15, 0x4a, 0x54, 0xb0, 0xf8, 0x7e, - 0x01, 0xd5, 0xb5, 0x14, 0xcb, 0x4d, 0xb9, 0x00, 0xa6, 0x12, 0x5a, 0xd2, 0xd8, 0xd3, 0xbe, 0x50, - 0x29, 0xdc, 0xc5, 0x50, 0x83, 0xe1, 0x4f, 0xce, 0x05, 0x41, 0x7e, 0xdb, 0x6d, 0x61, 0x23, 0x80, - 0x6d, 0x60, 0x9a, 0x76, 0x90, 0x76, 0x12, 0x38, 0xf3, 0x9f, 0xf9, 0x17, 0xd9, 0x8c, 0x8c, 0xed, - 0xc7, 0xd9, 0x32, 0x38, 0xda, 0xec, 0xb2, 0x8d, 0x44, 0xd6, 0xae, 0xf3, 0x14, 0xa2, 0xa6, 0x70, - 0x07, 0x42, 0x28, 0xbb, 0xd8, 0x04, 0x69, 0x83, 0x33, 0xed, 0x41, 0xb0, 0x7a, 0xed, 0x7b, 0x18, - 0x74, 0xa1, 0x41, 0x8b, 0xef, 0xf7, 0x3b, 0x5d, 0xc2, 0xcb, 0x00, 0x63, 0x7d, 0x7f, 0x1e, 0x33, - 0xc9, 0x9e, 0x17, 0x96, 0xf1, 0x34, 0x43, 0xb2, 0x87, 0x12, 0xa4, 0xb0, 0xf0, 0x17, 0x09, 0x5a, - 0x38, 0x1e, 0xf8, 0x6c, 0xcf, 0x9d, 0x80, 0x2f, 0x1b, 0xfa, 0x36, 0x84, 0xb5, 0xd6, 0xf9, 0x5e, - 0x2f, 0x19, 0x6c, 0x64, 0xb7, 0x8d, 0x29, 0x47, 0x7c, 0x45, 0xb8, 0x0d, 0x6c, 0x5a, 0xeb, 0x9c, - 0x74, 0xc6, 0xc4, 0x80, 0x43, 0x89, 0x68, 0x0f, 0x7e, 0x44, 0x54, 0x4a, 0xfc, 0xbd, 0x05, 0x75, - 0x8f, 0x65, 0x87, 0xcc, 0x15, 0x40, 0x42, 0x8a, 0xa5, 0xe9, 0x66, 0x56, 0x2a, 0x26, 0x35, 0x8b, - 0xa2, 0xe8, 0xbe, 0x43, 0x69, 0xf7, 0x86, 0xb7, 0xf9, 0xc0, 0x0c, 0xae, 0x9d, 0xc6, 0x7f, 0xb7, - 0xd3, 0x4d, 0x95, 0xb1, 0x68, 0xda, 0x43, 0xb0, 0xe1, 0x97, 0x10, 0x0b, 0x5e, 0x4f, 0x7b, 0x07, - 0x45, 0x2e, 0xdf, 0xd6, 0x1b, 0xc4, 0x00, 0x32, 0x4a, 0x5e, 0x5f, 0xdc, 0xff, 0x55, 0x54, 0xf9, - 0x78, 0xfc, 0x68, 0xc1, 0xb3, 0xa6, 0xff, 0xee, 0x27, 0x7a, 0x32, 0x0e, 0x25, 0xd0, 0x1e, 0xd4, - 0x63, 0x15, 0x0f, 0x29, 0xc9, 0xeb, 0xfd, 0xf0, 0x0c, 0xd3, 0x48, 0x54, 0x0f, 0x93, 0x70, 0x1c, - 0x1a, 0xf9, 0x25, 0x8d, 0xd8, 0x96, 0x8b, 0x10, 0xd9, 0x22, 0xd7, 0x0e, 0x66, 0xdb, 0x11, 0xd4, - 0x75, 0x48, 0xae, 0x35, 0x47, 0xc0, 0x9a, 0x57, 0xf3, 0x82, 0xd9, 0x8f, 0xe7, 0x6d, 0x5d, 0x2b, - 0x67, 0xca, 0xae, 0x1c, 0xb1, 0x78, 0x6f, 0x45, 0x8c, 0x34, 0x7b, 0x90, 0xb5, 0xbb, 0x5e, 0x1f, - 0x15, 0x70, 0xa9, 0x68, 0xb5, 0x9c, 0x0f, 0x9a, 0xf9, 0x04, 0xad, 0xa6, 0xdc, 0x25, 0x54, 0x63, - 0x76, 0x73, 0x09, 0xcc, 0x34, 0xd9, 0x7e, 0x35, 0x1b, 0xcc, 0xf1, 0x5a, 0xe9, 0x39, 0x1d, 0x90, - 0xba, 0x50, 0x9b, 0x6c, 0x68, 0x2d, 0x7b, 0x42, 0xa1, 0xcd, 0xd4, 0xed, 0xc5, 0x0a, 0xb4, 0xa9, - 0x91, 0x17, 0xa7, 0x2b, 0xa8, 0x70, 0x69, 0x98, 0x5f, 0x14, 0x92, 0x24, 0xbe, 0xfd, 0x6a, 0x20, - 0xe2, 0x87, 0x38, 0x90, 0x22, 0x93, 0xbc, 0x52, 0x7b, 0x16, 0x03, 0xf6, 0x51, 0xe8, 0xd9, 0xfa, - 0x33, 0x5f, 0xce, 0xa9, 0x5d, 0xa3, 0x0f, 0x34, 0x71, 0xc5, 0xde, 0xba, 0x54, 0x59, 0xd6, 0x59, - 0x2f, 0xbe, 0x93, 0xfe, 0x97, 0xfd, 0x27, 0x71, 0xb2, 0x32, 0xcd, 0xa5, 0xe0, 0x54, 0x4d, 0xab, - 0xb2, 0xdf, 0x38, 0x24, 0x13, 0xdd, 0x83, 0x07, 0xb2, 0xfd, 0x6a, 0x5f, 0x08, 0x98, 0x2a, 0x7a, - 0x26, 0xd2, 0x9f, 0x79, 0xb2, 0x4b, 0x3c, 0x2b, 0x98, 0x3f, 0x29, 0xa4, 0x07, 0x83, 0xfd, 0xa9, - 0xcd, 0x6f, 0xf5, 0xde, 0xfb, 0x5b, 0x2d, 0xf4, 0x07, 0x59, 0x2b, 0x28, 0x27, 0x38, 0xb6, 0x26, - 0xbe, 0xee, 0x75, 0xbd, 0x21, 0x0c, 0xab, 0xcf, 0xdc, 0xa4, 0x00, 0x7f, 0x1b, 0x1f, 0xc7, 0x45, - 0xbb, 0x54, 0xb4, 0x6e, 0xc0, 0xe2, 0xab, 0x54, 0x72, 0xb0, 0x34, 0xbc, 0x81, 0x08, 0x1d, 0x69, - 0x21, 0x1b, 0xf8, 0xff, 0xe7, 0x4f, 0x93, 0x0a, 0xfc, 0x90, 0x5f, 0x83, 0xb9, 0x54, 0x5d, 0xfc, - 0xca, 0xb3, 0x96, 0xd0, 0x67, 0xec, 0x63, 0x72, 0xfe, 0x71, 0x8b, 0x13, 0xba, 0xd7, 0x2e, 0x0a, - 0xe2, 0x42, 0xbb, 0xb9, 0x91, 0xdd, 0x7c, 0x0d, 0xda, 0x1b, 0x3b, 0x81, 0xca, 0xc8, 0xc9, 0x62, - 0x4d, 0xbd, 0xe6, 0x50, 0xda, 0x14, 0xe2, 0xfe, 0x03, 0xed, 0x1c, 0x8a, 0x21, 0x72, 0x6b, 0x43, - 0xde, 0x33, 0x24, 0x7a, 0x45, 0xf3, 0xcf, 0xd1, 0x7f, 0x59, 0xea, 0xcb, 0xed, 0x4b, 0x3e, 0x9b, - 0x7d, 0xf8, 0xf4, 0x74, 0xce, 0x21, 0x4e, 0xe4, 0x6f, 0x74, 0x63, 0x9b, 0x35, 0xa1, 0x4d, 0x9c, - 0xd5, 0x16, 0x01, 0x47, 0xb7, 0x72, 0xe8, 0x80, 0x42, 0xdb, 0x8b, 0x17, 0xf8, 0xd1, 0x98, 0x29, - 0xd6, 0x7d, 0xe9, 0x21, 0xa5, 0x07, 0x8a, 0xcb, 0x32, 0xc7, 0xb0, 0x96, 0xf9, 0x9b, 0x80, 0x62, - 0x3c, 0x3b, 0x61, 0x1e, 0xc1, 0xc4, 0x65, 0x25, 0x0b, 0xb9, 0x69, 0x79, 0xcd, 0x91, 0xce, 0xc1, - 0x7c, 0x26, 0x49, 0x1e, 0x8a, 0x08, 0x86, 0xcf, 0x12, 0x87, 0x4f, 0x0a, 0x87, 0x13, 0x2f, 0x4f, - 0x7a, 0x28, 0xe6, 0x16, 0x42, 0xd9, 0xf7, 0x7a, 0x52, 0x8c, 0x0c, 0x2d, 0xf6, 0x3f, 0x83, 0x97, - 0x01, 0xad, 0x0b, 0xed, 0xfd, 0xe0, 0x12, 0xd8, 0x6e, 0x3e, 0x6a, 0x4b, 0xe5, 0x4d, 0x9d, 0x09, - 0x50, 0xc9, 0xfe, 0xbf, 0xee, 0x51, 0xf6, 0xea, 0x92, 0xca, 0xd6, 0x77, 0xd7, 0x37, 0x55, 0x4a, - 0x15, 0xca, 0x2f, 0x9a, 0x37, 0xc3, 0xd4, 0x80, 0x50, 0x71, 0xa1, 0x8a, 0x74, 0xcf, 0xd4, 0xfd, - 0x96, 0xba, 0x53, 0xdf, 0xce, 0xe2, 0xb9, 0x47, 0x1d, 0x86, 0x9f, 0xf4, 0xc2, 0xac, 0xd9, 0x5d, - 0x1d, 0x4a, 0xe8, 0xfb, 0x20, 0x84, 0x62, 0xc1, 0xf6, 0xde, 0xa6, 0x38, 0xde, 0x13, 0x52, 0x06, - 0x98, 0xe6, 0x42, 0x4a, 0xea, 0xa2, 0xc5, 0x2a, 0xcb, 0x69, 0x9c, 0xdf, 0x5c, 0x26, 0x70, 0xe0, - 0x7a, 0xc6, 0x62, 0xc1, 0xf1, 0x23, 0x04, 0x7f, 0x8d, 0xcd, 0x14, 0x12, 0xde, 0x80, 0x69, 0x37, - 0xe7, 0xde, 0xb5, 0x95, 0x96, 0x3d, 0x48, 0x46, 0xaa, 0x34, 0x45, 0xe2, 0x99, 0xb4, 0x4c, 0xe5, - 0xbe, 0xda, 0x8e, 0xdb, 0xcb, 0xd9, 0x7f, 0xa4, 0x12, 0xdb, 0x99, 0x4f, 0x8d, 0x4d, 0x78, 0x4a, - 0x9a, 0x6a, 0x4b, 0x4c, 0x1a, 0xc7, 0x3e, 0x65, 0xc6, 0xd6, 0x04, 0x62, 0x76, 0x8b, 0xf8, 0x28, - 0x10, 0x46, 0x39, 0x2d, 0x9b, 0x01, 0x6d, 0x2c, 0xed, 0xff, 0x13, 0x61, 0xf9, 0x27, 0x7d, 0xf0, - 0xc9, 0x0d, 0x79, 0x9a, 0xb6, 0xce, 0x54, 0x2f, 0x3c, 0xa0, 0x46, 0xcf, 0x96, 0xc5, 0x18, 0x79, - 0xc1, 0x5b, 0xd0, 0xa6, 0x26, 0xbb, 0xb6, 0x9f, 0xe0, 0x13, 0xa0, 0xa4, 0x51, 0x8a, 0xe0, 0x59, - 0xd3, 0x7b, 0x5f, 0xbb, 0x83, 0xac, 0x87, 0xf9, 0x39, 0x1b, 0xef, 0x2d, 0x6e, 0x32, 0x87, 0xd7, - 0x4c, 0x64, 0xba, 0x27, 0xab, 0x23, 0xdd, 0x1f, 0xd4, 0x81, 0xba, 0xb8, 0x53, 0xdc, 0x4c, 0x27, - 0x70, 0x5b, 0xd4, 0x90, 0x6e, 0x15, 0xb4, 0xd7, 0x39, 0x47, 0x3e, 0x50, 0x27, 0x86, 0xda, 0x4e, - 0xdc, 0x2d, 0xb3, 0xd8, 0x6f, 0x61, 0x34, 0x0b, 0xa3, 0x5f, 0x03, 0x80, 0xc2, 0x46, 0xa7, 0x86, - 0x03, 0xef, 0xf6, 0x33, 0x6b, 0x43, 0x99, 0xcc, 0xb9, 0xbf, 0xfc, 0xb5, 0x4e, 0x9b, 0x69, 0x83, - 0xad, 0x2d, 0x9b, 0xca, 0x38, 0x37, 0xfe, 0xc2, 0x24, 0x8b, 0x3a, 0xd3, 0xeb, 0xbe, 0xc0, 0x00, - 0xd4, 0x54, 0x64, 0xa9, 0x5a, 0x39, 0x2c, 0xcf, 0xcf, 0x6f, 0x89, 0xf1, 0x2b, 0x78, 0x1d, 0x77, - 0xad, 0x1a, 0xdb, 0xf8, 0x6b, 0xed, 0x7b, 0xd6, 0xb5, 0x9f, 0x78, 0x60, 0xe1, 0x45, 0x70, 0x42, - 0x2c, 0xd3, 0xff, 0x6e, 0xa0, 0xb6, 0x77, 0x9f, 0xd7, 0xae, 0xd3, 0xba, 0xfc, 0x27, 0x0a, 0xbf, - 0xa1, 0xab, 0x5b, 0xf2, 0x65, 0x09, 0x4f, 0xeb, 0xbe, 0xab, 0xeb, 0xf5, 0xcd, 0xde, 0x4b, 0xc7, - 0xe3, 0x56, 0xe0, 0x98, 0x17, 0x25, 0x4d, 0x2d, 0x8e, 0xbc, 0x8e, 0x7a, 0xf0, 0xad, 0x50, 0xda, - 0x09, 0xc0, 0x32, 0x05, 0x8f, 0x46, 0x5b, 0x05, 0xac, 0xdb, 0x7b, 0xfe, 0x21, 0xba, 0x51, 0x79, - 0x1c, 0x26, 0xc2, 0x94, 0xa4, 0xba, 0x1e, 0xb5, 0xbf, 0xb3, 0xf4, 0x47, 0xae, 0x43, 0xb2, 0xb6, - 0x72, 0x01, 0x69, 0xb1, 0x63, 0xce, 0xfc, 0xad, 0x05, 0x89, 0x20, 0x73, 0xeb, 0xb6, 0xfb, 0x1c, - 0x5f, 0xb0, 0x0e, 0x4c, 0x55, 0x85, 0x9d, 0x5e, 0xa1, 0x3f, 0xd4, 0x15, 0x0d, 0x6e, 0x01, 0x17, - 0xd5, 0x71, 0x24, 0x9b, 0x38, 0x6a, 0xe0, 0x8a, 0x32, 0x19, 0x1d, 0xd5, 0x68, 0xcf, 0x55, 0xf4, - 0xfd, 0x99, 0x0b, 0x74, 0xeb, 0x52, 0x45, 0x7e, 0x78, 0x29, 0x31, 0x22, 0x7d, 0x71, 0x8a, 0xfa, - 0x5c, 0x3e, 0x09, 0x17, 0x41, 0x05, 0x5a, 0xee, 0x9a, 0xd1, 0x25, 0xc6, 0x3f, 0xdd, 0x12, 0x03, - 0x51, 0x8f, 0x48, 0x90, 0x51, 0x4f, 0x44, 0xee, 0x2c, 0xc6, 0xf4, 0x92, 0x72, 0x14, 0xba, 0x40, - 0x40, 0xf0, 0xc8, 0xed, 0x8b, 0x76, 0x72, 0xe1, 0x9c, 0x44, 0x59, 0x9c, 0xe8, 0x3c, 0xac, 0x35, - 0x7d, 0x27, 0xb3, 0xdf, 0xa9, 0xae, 0x48, 0x8c, 0x76, 0xf9, 0x5d, 0xa1, 0x12, 0xb9, 0x29, 0xfb, - 0x68, 0x68, 0x04, 0x6f, 0xe1, 0x5f, 0xb0, 0x78, 0x86, 0xe9, 0x89, 0xe3, 0x83, 0xc0, 0xf9, 0x16, - 0x18, 0x22, 0xbb, 0x52, 0x87, 0x03, 0x48, 0xab, 0x65, 0xc1, 0xc1, 0x28, 0xd3, 0xad, 0x90, 0x0d, - 0xf0, 0x62, 0x84, 0xb2, 0xf1, 0x94, 0x10, 0xd5, 0x14, 0xa4, 0x0d, 0x5c, 0x2c, 0x72, 0x45, 0xa6, - 0xb2, 0xab, 0x40, 0xe3, 0xd2, 0x04, 0xe1, 0x70, 0x4b, 0xb7, 0x01, 0x36, 0x77, 0x24, 0xda, 0xf9, - 0x38, 0xf9, 0x5c, 0x41, 0xb3, 0x82, 0x99, 0xb4, 0xe5, 0x3e, 0x65, 0x9d, 0x91, 0x46, 0xd9, 0x67, - 0x15, 0x5b, 0xa8, 0x8d, 0x50, 0x84, 0x56, 0xbf, 0xc7, 0xbf, 0x35, 0x02, 0x10, 0x76, 0xcc, 0xfa, - 0x46, 0x0c, 0xb5, 0x06, 0xb6, 0x0d, 0xaa, 0x4b, 0xd1, 0x15, 0x76, 0x69, 0xb7, 0x00, 0x16, 0x8b, - 0x3e, 0x0c, 0x0a, 0x41, 0x64, 0x8e, 0xd4, 0x40, 0x0c, 0x73, 0x4a, 0xeb, 0xf9, 0xe9, 0x80, 0xfc, - 0x6e, 0xd3, 0x52, 0xcb, 0x75, 0x92, 0x78, 0xe4, 0x39, 0x9b, 0x0a, 0x43, 0xbd, 0x53, 0xff, 0xc9, - 0xf9, 0x49, 0x36, 0x01, 0x55, 0x77, 0x60, 0x00, 0x4e, 0x78, 0x39, 0xd0, 0x75, 0x42, 0x72, 0xde, - 0x02, 0x88, 0xfd, 0xbc, 0x7d, 0xda, 0x82, 0x7a, 0x4a, 0x1c, 0x19, 0x38, 0xe4, 0x89, 0xf5, 0x0d, - 0xc8, 0xa4, 0xf6, 0xf3, 0xb5, 0x99, 0x0d, 0xf0, 0x4e, 0xd9, 0x9b, 0x31, 0xdf, 0x15, 0x3d, 0x60, - 0x9e, 0x6a, 0x20, 0xcc, 0x22, 0x21, 0xe7, 0x30, 0xa1, 0xe4, 0x70, 0x47, 0x77, 0xa1, 0xd2, 0x9f, - 0x96, 0xcb, 0x84, 0xf5, 0x34, 0x39, 0x00, 0xfe, 0x1a, 0xb8, 0xb7, 0xda, 0x9b, 0xa3, 0x3f, 0xb8, - 0x4c, 0x2c, 0x60, 0xbc, 0xf1, 0x7d, 0x8e, 0xfb, 0x9a, 0xa2, 0x76, 0x0c, 0x6c, 0x27, 0x19, 0xeb, - 0xe4, 0x6f, 0x8a, 0x28, 0xaf, 0x39, 0x40, 0xee, 0x4a, 0x26, 0xa8, 0x9d, 0x9c, 0x63, 0x57, 0x7e, - 0xbc, 0x6e, 0x13, 0xeb, 0x7c, 0xc5, 0x43, 0x8b, 0x23, 0x41, 0x04, 0x56, 0xb3, 0x2a, 0x64, 0xe1, - 0x3c, 0x81, 0x4a, 0x36, 0x83, 0x3f, 0xa2, 0x39, 0xe9, 0x02, 0xc6, 0x18, 0xfb, 0x14, 0x96, 0x0e, - 0x31, 0x8e, 0xb2, 0xb9, 0xd1, 0xf8, 0x51, 0x1a, 0x68, 0xb4, 0xc6, 0x3a, 0xd4, 0x62, 0x69, 0xb0, - 0xcd, 0x32, 0x9a, 0x4e, 0x14, 0xeb, 0xf7, 0x17, 0xba, 0xcc, 0x9f, 0xb6, 0xa7, 0x4d, 0x6f, 0x2a, - 0x4d, 0x24, 0xdc, 0xd7, 0x09, 0xdc, 0xc6, 0x30, 0x10, 0x64, 0x75, 0xee, 0xe8, 0x27, 0xed, 0xdb, - 0x7e, 0x41, 0x21, 0xea, 0x81, 0x4d, 0x15, 0x87, 0xe5, 0x2c, 0xd5, 0x9f, 0x8f, 0x52, 0x5f, 0x01, - 0x6a, 0x6c, 0x21, 0xaa, 0xc3, 0xc1, 0x32, 0x15, 0x99, 0x5a, 0xf2, 0x37, 0xfd, 0xe6, 0x20, 0x27, - 0x25, 0x00, 0x7e, 0x22, 0xee, 0xde, 0x5a, 0xc9, 0x97, 0xbb, 0x85, 0x10, 0x43, 0x8d, 0x26, 0x62, - 0x22, 0xeb, 0xad, 0xd6, 0xef, 0x9e, 0xbb, 0x93, 0xa8, 0xcf, 0x6a, 0x22, 0xe1, 0x61, 0x37, 0xd7, - 0x44, 0x2e, 0x52, 0xbf, 0x24, 0xa3, 0xa5, 0x1e, 0xfd, 0xea, 0xf4, 0x67, 0xec, 0x0b, 0x63, 0x7b, - 0xa0, 0x0e, 0x8c, 0x76, 0x49, 0xdb, 0xa2, 0x55, 0x4d, 0x90, 0xb8, 0xba, 0x96, 0x93, 0x85, 0xc1, - 0x17, 0xfe, 0xa7, 0x78, 0x58, 0x18, 0x47, 0x8d, 0x11, 0x74, 0x30, 0x49, 0x60, 0xd3, 0xce, 0xab, - 0x8f, 0x1d, 0x24, 0x13, 0x9d, 0x88, 0xd6, 0x97, 0x20, 0x6e, 0x81, 0x0a, 0x33, 0xf6, 0x2c, 0x6c, - 0x65, 0xdb, 0x47, 0x65, 0xc8, 0x6e, 0x2b, 0xf1, 0xd5, 0xe1, 0x86, 0xbf, 0xf8, 0x03, 0x8c, 0x41, - 0x3d, 0x5a, 0xe3, 0x9f, 0x02, 0xf0, 0x5d, 0x1c, 0xde, 0x79, 0x75, 0x1e, 0x57, 0xa0, 0xba, 0x4e, - 0x2e, 0xa6, 0x07, 0x5b, 0x53, 0xc9, 0x17, 0x89, 0x96, 0x4c, 0x2f, 0x6d, 0x53, 0x10, 0xbd, 0xad, - 0x9e, 0x12, 0xbb, 0xad, 0xb2, 0x2c, 0x66, 0x64, 0x35, 0x85, 0x91, 0xc7, 0xf0, 0x1f, 0x20, 0x5d, - 0xb0, 0x4a, 0x1d, 0x01, 0x27, 0x77, 0xb4, 0x17, 0x1c, 0xda, 0xc7, 0x3f, 0xb0, 0xa4, 0x03, 0x40, - 0x77, 0xdd, 0xef, 0xe2, 0x95, 0xd5, 0x03, 0xb0, 0x0d, 0x2e, 0x97, 0x8f, 0x86, 0x9e, 0x36, 0xfe, - 0x40, 0x68, 0xf8, 0xe9, 0x08, 0x83, 0xcb, 0x9d, 0xfb, 0xb4, 0x47, 0x92, 0xe1, 0xf7, 0xf7, 0x75, - 0x0e, 0x00, 0x28, 0x54, 0x80, 0xea, 0x1c, 0xe6, 0x35, 0x1d, 0x05, 0x8f, 0x41, 0xb8, 0xba, 0x28, - 0x0e, 0x27, 0x44, 0xe8, 0x9f, 0x17, 0x5d, 0x93, 0xac, 0x2e, 0x5f, 0x6e, 0x84, 0x0e, 0x8f, 0xa3, - 0xa7, 0x28, 0x5f, 0x08, 0xeb, 0x30, 0x5b, 0x15, 0x15, 0x81, 0x9c, 0x19, 0x25, 0xd6, 0xbd, 0x1f, - 0x40, 0x77, 0x71, 0x73, 0xab, 0x9b, 0xb7, 0x8f, 0x6d, 0x4c, 0x1c, 0x95, 0xbc, 0xef, 0xa2, 0x03, - 0x55, 0xdb, 0x71, 0x85, 0xf1, 0x48, 0x71, 0xea, 0x71, 0xc6, 0x93, 0x67, 0x62, 0xe2, 0x64, 0x71, - 0x16, 0xf1, 0x01, 0x96, 0x21, 0xf0, 0xb8, 0x77, 0x0f, 0x11, 0xfe, 0x8d, 0xf1, 0xfb, 0xd5, 0x49, - 0xdc, 0xe0, 0x1c, 0xa6, 0xbf, 0x09, 0xa0, 0x82, 0xfc, 0x1f, 0xae, 0x9a, 0x7e, 0xf6, 0x7f, 0x24, - 0x9f, 0x5b, 0x21, 0x6d, 0x99, 0x66, 0xb7, 0x43, 0x85, 0x2e, 0x4a, 0xda, 0x20, 0xa5, 0xe5, 0xaa, - 0x4c, 0xe6, 0x3c, 0x1a, 0x93, 0xb1, 0xfb, 0x27, 0x36, 0x47, 0x34, 0x23, 0xdb, 0xff, 0x2e, 0x57, - 0x04, 0xe9, 0xa7, 0xcf, 0x3d, 0x17, 0x0b, 0x58, 0xe6, 0x8a, 0x84, 0x96, 0x74, 0x24, 0xe1, 0xea, - 0x37, 0xe3, 0xa1, 0xb6, 0xb7, 0x20, 0x19, 0x6a, 0x17, 0x3e, 0x30, 0x4a, 0xa1, 0xf4, 0x71, 0xb2, - 0xa3, 0x5a, 0x6f, 0x25, 0x6c, 0xd3, 0x57, 0xdf, 0x36, 0xdc, 0x6c, 0xf7, 0x7b, 0x15, 0x6c, 0x44, - 0x2d, 0x41, 0xce, 0x4b, 0x06, 0x69, 0x71, 0x6b, 0x5b, 0x53, 0x85, 0xb0, 0xab, 0xc9, 0x91, 0x43, - 0x8c, 0x4e, 0x0e, 0x01, 0xab, 0x8e, 0x79, 0x36, 0x46, 0x27, 0x5c, 0xd5, 0x9a, 0x9f, 0xef, 0xd8, - 0x73, 0x30, 0xc0, 0x6a, 0x1f, 0x75, 0xc6, 0xdc, 0xe4, 0x11, 0x4f, 0xee, 0xa0, 0xf7, 0x9f, 0xc9, - 0x07, 0x6b, 0x83, 0xd3, 0x66, 0x3d, 0x71, 0x3e, 0xea, 0x32, 0x23, 0x15, 0xb2, 0x0e, 0x80, 0x2e, - 0x4b, 0xc1, 0x11, 0x23, 0x3a, 0x3a, 0x9d, 0xe0, 0x3b, 0xfb, 0x2a, 0x7a, 0xa2, 0x64, 0x9b, 0xca, - 0x6c, 0x67, 0xf8, 0x01, 0x2e, 0x83, 0xec, 0xec, 0xdf, 0x65, 0xcf, 0x57, 0xb3, 0x96, 0x24, 0x28, - 0xd9, 0x9f, 0xaf, 0x8e, 0x05, 0x35, 0x62, 0xa7, 0xa7, 0x21, 0x79, 0x44, 0x4f, 0x7f, 0xb2, 0xbf, - 0xec, 0x33, 0xb8, 0xc4, 0x45, 0x7c, 0xfc, 0x27, 0xf3, 0x5a, 0x02, 0xad, 0x1c, 0xeb, 0xc7, 0x85, - 0x10, 0xec, 0x1c, 0xf7, 0x81, 0x9f, 0xd1, 0x5f, 0x63, 0xbb, 0xb2, 0x01, 0x7f, 0x18, 0xbc, 0x51, - 0x96, 0x7f, 0xee, 0x2d, 0x02, 0x30, 0x72, 0x5a, 0x91, 0xf6, 0x6c, 0xdc, 0xd1, 0x3f, 0x10, 0xeb, - 0x64, 0x61, 0x70, 0xf9, 0x15, 0x14, 0x2c, 0xa4, 0x65, 0x67, 0xa5, 0x20, 0xf7, 0xd0, 0x7d, 0xf9, - 0x3f, 0x5f, 0x59, 0xfd, 0x5d, 0x8a, 0x47, 0x8d, 0x0e, 0xae, 0x02, 0xeb, 0x7a, 0x43, 0x19, 0xa5, - 0x02, 0x29, 0xbc, 0xcb, 0xac, 0x9d, 0xf6, 0x58, 0xb1, 0xbf, 0xe8, 0xde, 0x16, 0x0e, 0xec, 0x77, - 0xe2, 0x1a, 0x5a, 0x98, 0x08, 0xac, 0x37, 0xe6, 0x40, 0xb4, 0x9f, 0x1a, 0x0e, 0xa5, 0x34, 0x07, - 0x32, 0xda, 0x55, 0x00, 0xac, 0xdd, 0xbc, 0xbf, 0xe4, 0xc8, 0x2e, 0x30, 0xef, 0x30, 0x4a, 0x9d, - 0xca, 0x8e, 0xe0, 0xf5, 0x58, 0x07, 0x8f, 0x63, 0x98, 0x35, 0x92, 0x64, 0x81, 0xa8, 0x5c, 0x77, - 0x6e, 0xa4, 0xc6, 0x8a, 0x46, 0xba, 0x44, 0xc8, 0xd5, 0x36, 0x2c, 0xea, 0x74, 0x49, 0x87, 0x82, - 0x11, 0x52, 0x0f, 0x70, 0x72, 0x6e, 0x86, 0x50, 0x93, 0x99, 0xb3, 0x8f, 0xc1, 0x71, 0xdc, 0xf3, - 0x2c, 0xa5, 0x02, 0x08, 0x27, 0xa5, 0x95, 0xdd, 0xb7, 0x6f, 0xe9, 0x2a, 0xf4, 0xeb, 0xbc, 0x6b, - 0xbf, 0xb1, 0x8a, 0x04, 0x65, 0xdc, 0xf0, 0xc0, 0xee, 0x08, 0xcf, 0xb8, 0x98, 0x9f, 0xe5, 0x6e, - 0x9a, 0x8c, 0x72, 0x2e, 0x39, 0x58, 0x61, 0x5f, 0x4d, 0x62, 0xb2, 0xf1, 0x36, 0xfa, 0x45, 0xe4, - 0x98, 0xeb, 0x75, 0xa6, 0x4c, 0x38, 0x72, 0x4a, 0xec, 0xe8, 0x30, 0x2d, 0xf1, 0x6b, 0x7b, 0x8d, - 0x53, 0x4a, 0xd7, 0xcc, 0xf1, 0x00, 0x76, 0x34, 0x00, 0x08, 0x11, 0x88, 0x95, 0xce, 0x7c, 0x3c, - 0xaf, 0x77, 0xfa, 0x25, 0x4b, 0xb0, 0x66, 0x8f, 0xbe, 0xc0, 0xd9, 0x7a, 0xfb, 0x5c, 0x04, 0xef, - 0xbf, 0x0f, 0x4b, 0x6a, 0x55, 0xaa, 0x03, 0xee, 0x96, 0x5d, 0x16, 0x74, 0x67, 0x50, 0x60, 0xcb, - 0x1e, 0xe0, 0x44, 0xd3, 0xf8, 0x0b, 0xa6, 0x67, 0xc3, 0x7c, 0x27, 0xe5, 0x2c, 0xa4, 0x72, 0xd5, - 0x29, 0x6b, 0x1d, 0xa1, 0x0e, 0xd1, 0x42, 0x7e, 0xe9, 0x30, 0x6e, 0xb9, 0xf5, 0xcf, 0x5b, 0xe1, - 0xd1, 0x33, 0x92, 0x2a, 0xf4, 0xbe, 0x50, 0x06, 0x94, 0x29, 0x4f, 0x60, 0x12, 0x8e, 0x21, 0x1f, - 0x70, 0x41, 0xe9, 0xc0, 0x4a, 0x10, 0xd4, 0x0a, 0xb6, 0xc3, 0xf9, 0x16, 0xfb, 0xf2, 0x54, 0xe0, - 0x84, 0x54, 0xe0, 0xe7, 0x8a, 0xeb, 0x0d, 0x79, 0xa3, 0x6c, 0xf8, 0x1c, 0x19, 0x2f, 0xae, 0xc8, - 0xa8, 0xeb, 0xb4, 0xca, 0x0e, 0xf8, 0x71, 0x45, 0x78, 0x60, 0x9d, 0xa9, 0x89, 0x7c, 0x01, 0x10, - 0xa1, 0x06, 0x88, 0x78, 0x7e, 0x85, 0xba, 0xe0, 0x45, 0x18, 0x6a, 0xe8, 0x5c, 0xfa, 0x83, 0xb7, - 0xbb, 0xb6, 0x2f, 0x2d, 0x1f, 0x8b, 0x22, 0x9c, 0x14, 0x86, 0x03, 0x19, 0x84, 0x03, 0xda, 0x48, - 0x23, 0x67, 0xfd, 0x2a, 0x6a, 0x9b, 0x6b, 0x7e, 0x85, 0xd7, 0x83, 0x3b, 0x2a, 0x82, 0xf7, 0x69, - 0x36, 0xfc, 0x6a, 0x49, 0x44, 0x17, 0xf8, 0x72, 0xcc, 0x83, 0x3c, 0xb3, 0x0d, 0x94, 0x9b, 0xd0, - 0x4d, 0x80, 0x22, 0x57, 0xe6, 0xea, 0x3a, 0x8f, 0x46, 0x08, 0x4c, 0x12, 0x5e, 0x1a, 0xb2, 0x3f, - 0xbb, 0x6d, 0xd4, 0x03, 0x14, 0xfa, 0x47, 0x17, 0x6c, 0x58, 0x65, 0x17, 0x7f, 0x90, 0x81, 0x01, - 0x5c, 0xc8, 0x15, 0x46, 0x53, 0x14, 0xc8, 0xa3, 0xc6, 0xfe, 0x5d, 0x59, 0x29, 0x7b, 0x87, 0x6d, - 0xc7, 0x1a, 0x1d, 0x07, 0x14, 0x7e, 0xa8, 0x83, 0x8b, 0x27, 0x75, 0x2e, 0x9e, 0xe5, 0x2d, 0x79, - 0x1e, 0xcc, 0xc7, 0x84, 0x26, 0x63, 0x4e, 0x92, 0x32, 0x69, 0x6f, 0x47, 0xb8, 0x9d, 0x6b, 0x70, - 0xc9, 0x9e, 0xd4, 0xda, 0xac, 0x0d, 0x86, 0xcb, 0x8c, 0x01, 0x8a, 0xb2, 0x99, 0x68, 0xc4, 0x05, - 0x3d, 0x87, 0x8a, 0x15, 0x39, 0x8a, 0x13, 0x3f, 0x99, 0xf6, 0x19, 0x43, 0x82, 0x13, 0x2b, 0xdc, - 0x80, 0x9e, 0x6e, 0xb2, 0x1a, 0xa1, 0xbc, 0x85, 0xf6, 0xa6, 0x76, 0xfd, 0x92, 0x96, 0x1a, 0xe7, - 0x15, 0x07, 0xd1, 0x6a, 0x2a, 0x14, 0x67, 0x16, 0x45, 0x98, 0x3d, 0x04, 0x7d, 0x0e, 0xb2, 0x79, - 0xd3, 0x51, 0x85, 0x4f, 0x42, 0xdb, 0xbf, 0xca, 0x13, 0xa1, 0x20, 0x52, 0x14, 0x3a, 0x27, 0x47, - 0x3e, 0xc3, 0x7e, 0xf2, 0xb0, 0xb0, 0xc7, 0xdb, 0x1e, 0x22, 0x39, 0x1d, 0x49, 0x88, 0x57, 0x5b, - 0xfa, 0x5a, 0xa7, 0x6b, 0x51, 0xca, 0xff, 0x14, 0x18, 0x47, 0x67, 0x3a, 0x10, 0x0d, 0x3b, 0x50, - 0x96, 0xa6, 0x66, 0x2b, 0xe1, 0xee, 0x19, 0xc6, 0xd4, 0x73, 0x37, 0x4a, 0x6f, 0x71, 0x0f, 0x75, - 0xd6, 0x71, 0xff, 0xf8, 0x8c, 0x11, 0x75, 0xef, 0x1f, 0xe4, 0x25, 0xc2, 0x2b, 0x38, 0x8a, 0xce, - 0xde, 0xee, 0x36, 0x3f, 0xab, 0xd0, 0xa0, 0x81, 0xb4, 0xfe, 0x1d, 0xe8, 0xfc, 0x57, 0xf0, 0x03, - 0x10, 0x73, 0x98, 0x87, 0x81, 0x73, 0x93, 0x43, 0xad, 0xac, 0xa1, 0xf2, 0x1c, 0x7e, 0x0a, 0x7b, - 0x29, 0xe9, 0xf6, 0xb5, 0xe9, 0x68, 0x92, 0x81, 0x63, 0x35, 0x4c, 0x4b, 0xe0, 0x42, 0x13, 0xb3, - 0x48, 0x2d, 0x55, 0x18, 0x2e, 0xea, 0x33, 0xfa, 0xc0, 0xdb, 0x3d, 0x14, 0x67, 0x94, 0x6b, 0x7c, - 0xdd, 0x7e, 0x00, 0xe3, 0x6f, 0x56, 0x29, 0x0f, 0x35, 0xfd, 0x19, 0xa6, 0xa1, 0x6b, 0xd4, 0x3e, - 0x3d, 0x06, 0xc9, 0x84, 0x95, 0xa6, 0xca, 0x5a, 0xf8, 0x0e, 0x22, 0xa3, 0x23, 0x52, 0xd7, 0xbc, - 0x34, 0xa7, 0xe8, 0xb3, 0xea, 0xa7, 0x2f, 0x3d, 0x51, 0x2d, 0x76, 0x9f, 0x25, 0xf8, 0x4c, 0x86, - 0x5a, 0x79, 0xb7, 0x5a, 0x76, 0x15, 0x9c, 0x05, 0x8d, 0xdd, 0x1e, 0x00, 0xe3, 0xfa, 0xc2, 0xf7, - 0x45, 0xb9, 0xa6, 0x0c, 0x83, 0x94, 0x71, 0xc7, 0x23, 0x59, 0x24, 0x9f, 0xad, 0xf6, 0xb6, 0x04, - 0x77, 0x26, 0x33, 0xea, 0xa8, 0xec, 0xe7, 0x87, 0x75, 0x31, 0x0f, 0x41, 0x43, 0x2b, 0xe2, 0x38, - 0xe7, 0xcd, 0x1f, 0xd3, 0xb6, 0xe4, 0x56, 0x56, 0x8e, 0x36, 0xb8, 0x28, 0xf2, 0xb4, 0x92, 0xcf, - 0x49, 0x6d, 0x75, 0x31, 0x38, 0x9d, 0x68, 0x88, 0x73, 0x10, 0x35, 0x1a, 0x50, 0x76, 0xb1, 0x94, - 0xb8, 0x86, 0xd1, 0x74, 0x9d, 0xf4, 0x05, 0x34, 0xf5, 0x91, 0x4c, 0xd5, 0x45, 0x50, 0xbb, 0xf4, - 0x1f, 0x68, 0x66, 0x99, 0x17, 0x19, 0x7c, 0x8b, 0x0e, 0xa9, 0x49, 0xd7, 0x3a, 0xbb, 0x06, 0x4e, - 0x90, 0x2a, 0xb3, 0x7e, 0xc1, 0x64, 0xd4, 0xb3, 0xac, 0xac, 0x46, 0x47, 0x19, 0x8f, 0x78, 0x01, - 0x7a, 0xcf, 0x7b, 0xf6, 0x65, 0x32, 0x15, 0x28, 0x66, 0x78, 0xf5, 0x4c, 0x62, 0xa9, 0x48, 0xfc, - 0x9a, 0x36, 0x9e, 0xaf, 0x60, 0xb0, 0xde, 0xd6, 0xb4, 0xe5, 0xaa, 0xa7, 0x08, 0x93, 0xa0, 0x42, - 0xcb, 0x9c, 0x1f, 0xe4, 0xfd, 0xa0, 0x54, 0xe5, 0xa4, 0x43, 0x1a, 0x80, 0x02, 0x0b, 0x4b, 0xd8, - 0x8b, 0xd7, 0xf4, 0x5a, 0x8f, 0x73, 0x07, 0x55, 0x43, 0x04, 0x09, 0xcc, 0x2d, 0xc3, 0x96, 0x8f, - 0xa4, 0xea, 0x84, 0x19, 0x98, 0x83, 0xc9, 0x93, 0xae, 0x66, 0x90, 0xff, 0x87, 0xb2, 0x81, 0xbe, - 0x3b, 0x6c, 0x24, 0xe6, 0x18, 0xe1, 0x52, 0x19, 0x0e, 0x27, 0x76, 0xff, 0xb3, 0x7c, 0x63, 0xb1, - 0x60, 0x6b, 0x7f, 0x61, 0xcc, 0xc9, 0x99, 0x59, 0xbd, 0x94, 0x19, 0xe3, 0xb8, 0xe4, 0x25, 0x9b, - 0x2b, 0x80, 0xdf, 0x2c, 0xb1, 0xf2, 0xb6, 0xe8, 0x33, 0x3e, 0x4c, 0x44, 0xa5, 0x58, 0x50, 0xb4, - 0xa3, 0xef, 0x19, 0xad, 0x38, 0x9c, 0x07, 0xf6, 0x8f, 0xa0, 0x54, 0xd4, 0x39, 0x74, 0x25, 0xed, - 0x88, 0x4d, 0x8f, 0x65, 0x29, 0xb9, 0xca, 0xa5, 0x98, 0x69, 0xb8, 0x5f, 0xf4, 0x33, 0x67, 0xff, - 0x49, 0x8e, 0x36, 0xe0, 0x1f, 0x9b, 0xdf, 0x16, 0x5b, 0x8d, 0xaa, 0xc4, 0x0b, 0xe0, 0x33, 0xc4, - 0x0a, 0xb9, 0xce, 0x84, 0xf6, 0x9d, 0x51, 0xeb, 0xa1, 0xe8, 0xab, 0xaa, 0xe8, 0xe0, 0xec, 0x21, - 0x6e, 0xed, 0x44, 0x21, 0xd6, 0x1f, 0x0d, 0x28, 0xe3, 0x96, 0xde, 0xa7, 0x3a, 0x8a, 0x7a, 0x06, - 0x84, 0x06, 0x18, 0x68, 0xa6, 0xa3, 0x14, 0xf4, 0x57, 0xa4, 0x7e, 0xea, 0x09, 0xc7, 0x19, 0x73, - 0xb2, 0x1f, 0xde, 0xd4, 0x18, 0x4a, 0x49, 0x7b, 0xd7, 0x08, 0x81, 0x8d, 0x34, 0xaf, 0x7a, 0xbe, - 0x6b, 0x54, 0x42, 0x57, 0x71, 0x19, 0x1e, 0x1f, 0x9e, 0x67, 0xaf, 0x0f, 0x80, 0x73, 0x7a, 0x9d, - 0x68, 0x57, 0x73, 0x0d, 0xf5, 0xb1, 0xfb, 0x51, 0xa5, 0xa6, 0xc8, 0x2b, 0xd7, 0xb4, 0x66, 0x44, - 0x58, 0xfe, 0xd2, 0x97, 0xbb, 0xbd, 0x28, 0x83, 0xc7, 0xc6, 0x6b, 0x77, 0x4a, 0x2f, 0xdb, 0xaf, - 0x19, 0x67, 0xcf, 0xb4, 0x0b, 0x65, 0xd9, 0x35, 0xe0, 0x26, 0x57, 0xae, 0xd3, 0x29, 0x4b, 0xf4, - 0x95, 0xe6, 0xb6, 0xa1, 0xf3, 0xcb, 0xc3, 0x14, 0x3c, 0xaa, 0x26, 0x04, 0x2a, 0x7f, 0x68, 0x44, - 0x0d, 0x8f, 0x3a, 0xfc, 0x6a, 0x6a, 0x3d, 0xed, 0x21, 0xf2, 0x36, 0x32, 0xe4, 0x74, 0xec, 0xa1, - 0x5f, 0xff, 0xad, 0x92, 0x00, 0xf1, 0x99, 0xb9, 0xb9, 0x1e, 0xab, 0x25, 0xdd, 0xef, 0x17, 0xf9, - 0x63, 0xed, 0xe5, 0xb9, 0x0a, 0x50, 0xb0, 0xca, 0x1c, 0xff, 0xb3, 0x26, 0xf6, 0x33, 0x12, 0xc4, - 0x78, 0x63, 0xac, 0xc5, 0x95, 0x4c, 0x3b, 0x77, 0x64, 0x00, 0x61, 0x2d, 0xd9, 0xed, 0xc9, 0xe0, - 0x5c, 0x34, 0xa9, 0x78, 0xa7, 0xeb, 0x7e, 0x8a, 0x29, 0xce, 0x06, 0x0e, 0x9e, 0xbf, 0xbf, 0x95, - 0x15, 0x2d, 0xd4, 0x20, 0xe8, 0x3c, 0x63, 0x38, 0x41, 0xd2, 0x3d, 0xb3, 0x07, 0x9e, 0xe1, 0x01, - 0x91, 0xf5, 0x92, 0x52, 0xc8, 0x2b, 0xec, 0xe6, 0xdb, 0x44, 0x75, 0x96, 0xe6, 0xda, 0xc3, 0x72, - 0x3d, 0xcc, 0x15, 0xff, 0xfc, 0x93, 0x75, 0xf9, 0x85, 0x02, 0x7d, 0x96, 0x32, 0x3d, 0xc0, 0xac, - 0xe5, 0x62, 0xe6, 0x98, 0x97, 0x1d, 0x83, 0xe5, 0x89, 0x95, 0x76, 0x86, 0x11, 0x44, 0x0e, 0xcf, - 0x32, 0xc5, 0xbc, 0x32, 0x97, 0xaf, 0x52, 0x7e, 0x06, 0xe9, 0x7e, 0x4c, 0x12, 0xa2, 0x85, 0xda, - 0x5a, 0x45, 0x35, 0xb6, 0x25, 0xfe, 0x91, 0x2c, 0x21, 0xb6, 0x02, 0xb4, 0x1d, 0x7c, 0x7c, 0xd2, - 0x30, 0x6f, 0xae, 0x09, 0xdd, 0x24, 0x9b, 0x47, 0x43, 0xdb, 0x2f, 0x80, 0x6a, 0x9c, 0xbc, 0x3a, - 0x3c, 0x2a, 0xc0, 0x57, 0xcc, 0x3e, 0x17, 0xda, 0x63, 0x7f, 0x02, 0x76, 0x64, 0x52, 0xc2, 0xf4, - 0x75, 0xd1, 0xd9, 0xb9, 0x72, 0xbf, 0xa7, 0x27, 0x88, 0xd1, 0x47, 0x93, 0x3b, 0x4e, 0xe1, 0x42, - 0x37, 0x60, 0xe5, 0x8e, 0x73, 0xeb, 0xf8, 0xf8, 0x1a, 0x28, 0x42, 0x10, 0x53, 0x34, 0xfe, 0xe0, - 0x8e, 0x80, 0x7b, 0x83, 0xac, 0x4f, 0xaa, 0xea, 0xe5, 0xbf, 0x4f, 0x6d, 0xc4, 0x26, 0x5a, 0x9f, - 0x06, 0x2e, 0xde, 0x11, 0x45, 0x10, 0xc1, 0x4c, 0x4d, 0x20, 0x1d, 0x47, 0x02, 0x71, 0xb5, 0x37, - 0xdc, 0xf8, 0xa1, 0x4c, 0xfa, 0x06, 0xb7, 0x4a, 0x4b, 0x86, 0xd8, 0x24, 0x7a, 0x09, 0x93, 0x14, - 0xa7, 0x24, 0x7e, 0x0b, 0x4a, 0xd3, 0xd2, 0x71, 0x2a, 0x9f, 0x9c, 0xdf, 0xeb, 0x20, 0xd2, 0x44, - 0x93, 0xfb, 0xc6, 0xc6, 0x09, 0xef, 0x99, 0xea, 0x0c, 0x05, 0xb0, 0x39, 0xb8, 0xb2, 0xea, 0x21, - 0x18, 0x46, 0x7d, 0x0f, 0x8b, 0xdc, 0xa3, 0xd4, 0xc8, 0xb6, 0xcb, 0xe9, 0x73, 0xa9, 0xc5, 0x02, - 0x29, 0x6e, 0x01, 0x82, 0xd4, 0x3e, 0x3c, 0x16, 0x7c, 0xd8, 0x36, 0x83, 0x47, 0x82, 0xf2, 0x63, - 0x3a, 0xda, 0x46, 0x24, 0x09, 0x7b, 0x78, 0x47, 0x73, 0xe7, 0xbf, 0xcc, 0xb1, 0xbd, 0xf4, 0x5c, - 0xe9, 0xed, 0xa6, 0x14, 0xe7, 0x8f, 0x93, 0xa9, 0x24, 0xeb, 0xb6, 0xb3, 0xdc, 0x36, 0xad, 0x94, - 0x37, 0x56, 0x93, 0xd7, 0xbc, 0x7b, 0xa7, 0xb9, 0x93, 0xd8, 0x7a, 0x63, 0x85, 0x6c, 0x3c, 0xe1, - 0x35, 0x9a, 0x03, 0xb2, 0xab, 0x35, 0xb3, 0x96, 0x00, 0x44, 0x3a, 0xe7, 0x0f, 0x1b, 0x56, 0xe0, - 0xe4, 0xf1, 0x02, 0x1c, 0x92, 0xb6, 0x7c, 0xdd, 0x46, 0x8c, 0x1e, 0x00, 0xfc, 0x7f, 0x2e, 0xe5, - 0x6b, 0x44, 0xb6, 0xe5, 0x1e, 0xa4, 0x99, 0x2e, 0x3e, 0xcf, 0xb1, 0x6b, 0x24, 0x84, 0xc2, 0x4d, - 0x44, 0xfc, 0x38, 0xa9, 0xbb, 0xce, 0x71, 0x10, 0x06, 0x14, 0x94, 0x93, 0x7c, 0x55, 0xa3, 0xc6, - 0xb0, 0x77, 0xe1, 0x4e, 0xcf, 0x63, 0x96, 0x37, 0x0e, 0x0f, 0xc9, 0xb2, 0x77, 0xa7, 0x6e, 0xc7, - 0x05, 0xc9, 0xb2, 0x63, 0x11, 0x06, 0x2b, 0x51, 0xa8, 0x3b, 0x19, 0x92, 0x71, 0x95, 0x26, 0xbd, - 0xec, 0xcc, 0x77, 0x67, 0x03, 0x72, 0x5b, 0x4c, 0x1e, 0xad, 0x1a, 0x6f, 0x85, 0x33, 0xa1, 0xc1, - 0x7c, 0xc4, 0x39, 0x3d, 0x8a, 0xbc, 0xf1, 0x74, 0xc8, 0x02, 0x8b, 0xca, 0x0a, 0x46, 0x58, 0xbf, - 0x1a, 0x1a, 0x2d, 0x33, 0xcc, 0x28, 0x91, 0xaf, 0x4e, 0xff, 0x46, 0x0b, 0xf0, 0x23, 0x29, 0x56, - 0x89, 0xf5, 0xda, 0xc0, 0x78, 0x3c, 0xf8, 0x72, 0xc3, 0x37, 0xe1, 0x21, 0x4e, 0xcf, 0xab, 0x16, - 0xcf, 0x0c, 0xbc, 0x67, 0xa6, 0x6e, 0x32, 0xa2, 0xbb, 0xfc, 0x93, 0x28, 0x40, 0x5d, 0x9f, 0x99, - 0xf1, 0x9c, 0x14, 0xa6, 0x8d, 0x68, 0xc6, 0x21, 0x3c, 0x48, 0x40, 0x8a, 0x4b, 0xca, 0x24, 0x4c, - 0xae, 0x69, 0x72, 0xcb, 0xb1, 0x53, 0xfe, 0xd1, 0xb0, 0x9e, 0x74, 0x9b, 0xc4, 0xe5, 0x78, 0xd8, - 0xb8, 0x72, 0x8d, 0x23, 0x62, 0x08, 0xa5, 0x31, 0x1b, 0x8d, 0xb0, 0xd3, 0x7c, 0xdf, 0x92, 0x94, - 0xea, 0x17, 0x48, 0xd0, 0xd7, 0x25, 0x4c, 0x1a, 0xe5, 0xad, 0x44, 0x9d, 0x20, 0x0f, 0x91, 0x89, - 0x6b, 0xe4, 0x28, 0xaf, 0x94, 0xc0, 0x12, 0x01, 0x37, 0x54, 0xe9, 0x09, 0xda, 0xa5, 0xc2, 0x80, - 0x95, 0xfa, 0xdd, 0x0b, 0x10, 0xaf, 0xf4, 0x5e, 0x2a, 0x13, 0x4c, 0xe9, 0xbe, 0xbd, 0x2d, 0xa1, - 0x80, 0x6e, 0xd9, 0x83, 0x75, 0x48, 0x6f, 0x55, 0x87, 0x8a, 0x30, 0xeb, 0x08, 0x9b, 0x0b, 0xe4, - 0x30, 0xc7, 0x24, 0x5b, 0x96, 0x7d, 0x70, 0x36, 0xa1, 0x96, 0xee, 0x04, 0x2c, 0xea, 0x7f, 0x38, - 0xa6, 0x77, 0x4b, 0xc0, 0x39, 0x7e, 0x6d, 0x6a, 0xa3, 0xfd, 0x4c, 0x0c, 0x4a, 0x06, 0xd6, 0x3a, - 0x78, 0xe1, 0xbb, 0x75, 0xb0, 0xe3, 0x9d, 0xb0, 0xa7, 0x48, 0x02, 0xae, 0x7a, 0xaa, 0xa2, 0x08, - 0x19, 0x4d, 0x4c, 0x18, 0xc7, 0xed, 0x6c, 0xc1, 0x73, 0x4a, 0x2b, 0x53, 0x75, 0x89, 0x17, 0x2f, - 0x41, 0x7c, 0x25, 0x9e, 0x40, 0x60, 0xfb, 0x63, 0x24, 0xb6, 0x4e, 0x41, 0xab, 0x5e, 0xdf, 0x2d, - 0xea, 0x9d, 0x7b, 0xf2, 0x9e, 0xcb, 0xcb, 0x1f, 0xcd, 0x9c, 0x70, 0xbe, 0x1d, 0x72, 0x64, 0x41, - 0xd6, 0xf7, 0xad, 0x53, 0x49, 0xc8, 0xec, 0xbb, 0xec, 0xeb, 0x88, 0x03, 0x92, 0x72, 0x1e, 0x98, - 0x10, 0xde, 0x25, 0x6e, 0xa4, 0xa9, 0xc1, 0x19, 0x69, 0x75, 0xde, 0x0c, 0x28, 0xf5, 0x68, 0x3a, - 0x17, 0x77, 0x9a, 0x22, 0xc4, 0x0a, 0xab, 0x39, 0xdf, 0x69, 0xa9, 0x99, 0x51, 0x92, 0x9a, 0x8c, - 0x29, 0x56, 0x77, 0xc9, 0x29, 0xb1, 0xb0, 0x2e, 0x00, 0x00, 0xe2, 0xe7, 0xb8, 0xf5, 0x96, 0xab, - 0x80, 0x41, 0xe0, 0x91, 0x2b, 0xd0, 0xe9, 0x48, 0x55, 0xf5, 0xeb, 0x7f, 0x6b, 0x1b, 0x50, 0x6d, - 0xc3, 0x50, 0x77, 0x97, 0x6d, 0x67, 0x35, 0x0b, 0xb5, 0xc0, 0x59, 0xb0, 0x74, 0x24, 0xa7, 0x1c, - 0x31, 0x92, 0x89, 0xfc, 0x51, 0xff, 0x3d, 0xbb, 0x61, 0x41, 0x0c, 0x61, 0x6c, 0xaa, 0x09, 0xaf, - 0x28, 0xb3, 0x63, 0x12, 0x8a, 0x9d, 0x22, 0xa6, 0xef, 0x4d, 0xef, 0x24, 0xa7, 0x01, 0x54, 0x19, - 0x53, 0xee, 0xdb, 0x7c, 0x7c, 0xb2, 0x9a, 0x44, 0x61, 0x74, 0x15, 0x0f, 0x2d, 0xba, 0x95, 0x60, - 0xf2, 0xa0, 0x8a, 0x81, 0x0a, 0xc7, 0xd8, 0x25, 0x81, 0x94, 0xd2, 0x5d, 0xd2, 0x69, 0xed, 0x6e, - 0xac, 0x33, 0xa5, 0x71, 0xc8, 0x1f, 0x0e, 0xef, 0x8a, 0x18, 0x30, 0x0b, 0xe4, 0xdf, 0x9b, 0xa9, - 0x63, 0x6c, 0x70, 0x8d, 0x54, 0x71, 0x61, 0x3d, 0x38, 0x3d, 0x23, 0xeb, 0xf3, 0x15, 0x18, 0xff, - 0x7d, 0xc2, 0x9a, 0x34, 0x1a, 0xf3, 0xe9, 0xf0, 0xd6, 0x95, 0x58, 0xa3, 0x5a, 0x61, 0x2a, 0x6c, - 0xee, 0x6d, 0xb3, 0x12, 0x8b, 0xc4, 0x68, 0x08, 0xf8, 0xe8, 0xa7, 0xd8, 0x76, 0xbe, 0x53, 0xd4, - 0x70, 0x46, 0x89, 0x3b, 0x52, 0x82, 0xc6, 0xe7, 0xdf, 0x6e, 0x41, 0x12, 0xc6, 0x94, 0xd8, 0xdb, - 0x7f, 0x98, 0x5f, 0xcb, 0xd4, 0x1a, 0x94, 0x58, 0xa5, 0x77, 0xa6, 0xc5, 0x1e, 0x79, 0xfd, 0x93, - 0x83, 0x7e, 0x9a, 0x82, 0xed, 0xb1, 0x24, 0xa8, 0x75, 0x11, 0xb4, 0x1f, 0x4c, 0xf2, 0x95, 0xa7, - 0x0f, 0x36, 0x9b, 0x58, 0xb3, 0x86, 0x2c, 0x11, 0x5b, 0x2a, 0x66, 0x43, 0xe9, 0x98, 0x60, 0xc9, - 0xda, 0xed, 0xdd, 0x3d, 0x5d, 0x39, 0x53, 0xf0, 0x8e, 0x50, 0x77, 0xdf, 0x8f, 0x1d, 0x15, 0x36, - 0x1d, 0x6f, 0x4c, 0x5d, 0x2e, 0xb1, 0x43, 0x35, 0x54, 0x5f, 0x44, 0xcc, 0x40, 0xc1, 0xc7, 0x24, - 0x9d, 0xdc, 0x6e, 0x3c, 0x5f, 0xf0, 0x24, 0x57, 0x18, 0xd7, 0xe5, 0x5a, 0xe2, 0xbb, 0x1f, 0x9d, - 0x22, 0xf9, 0x1a, 0x9d, 0x6d, 0x82, 0xd0, 0x1d, 0xa0, 0xb4, 0xc1, 0xb5, 0xd3, 0xb9, 0xe1, 0x34, - 0xc7, 0x63, 0xfc, 0xf0, 0x9c, 0x2a, 0x66, 0x0c, 0x30, 0xb0, 0x90, 0x9b, 0xed, 0x05, 0xdf, 0x9d, - 0x72, 0x2a, 0x16, 0x2d, 0xb2, 0x98, 0xdb, 0x41, 0x98, 0x03, 0xff, 0x0b, 0x6c, 0xa1, 0xf9, 0x45, - 0x73, 0xfc, 0xed, 0x4f, 0xfe, 0x84, 0xc2, 0x1a, 0x55, 0x7d, 0x81, 0x81, 0xf4, 0x19, 0x45, 0xdf, - 0xfb, 0x65, 0xed, 0x99, 0x4f, 0x3b, 0x70, 0x17, 0xde, 0x43, 0xb4, 0x42, 0xca, 0x0a, 0x58, 0xae, - 0xe2, 0xda, 0x95, 0x5d, 0x39, 0xe6, 0x60, 0xda, 0x87, 0xf1, 0x73, 0xf1, 0xb4, 0xc5, 0xee, 0x11, - 0xb0, 0x23, 0x93, 0x2e, 0x81, 0xc7, 0x5b, 0x06, 0x7c, 0x05, 0xa7, 0x91, 0xa7, 0xd3, 0xe1, 0xfc, - 0x0a, 0xdc, 0x62, 0xad, 0xee, 0x18, 0x5b, 0x4a, 0xfe, 0x60, 0x47, 0x7f, 0xee, 0xfb, 0x97, 0x85, - 0x59, 0xb8, 0xca, 0x93, 0x91, 0xb2, 0xcf, 0x07, 0x6e, 0x0c, 0x6a, 0x80, 0x69, 0xcb, 0xde, 0x19, - 0x7c, 0x57, 0x46, 0xc6, 0x16, 0x10, 0x7a, 0x7f, 0x48, 0xf3, 0xde, 0xe4, 0x7c, 0x2c, 0x02, 0x12, - 0xce, 0x86, 0x87, 0x3f, 0x62, 0xd5, 0xea, 0x57, 0x02, 0xcb, 0x7a, 0x05, 0xf3, 0xd1, 0x28, 0x18, - 0x4f, 0x98, 0x58, 0xe4, 0x04, 0x4d, 0xdc, 0x58, 0x40, 0x85, 0x75, 0x5e, 0x13, 0x84, 0x4c, 0x92, - 0x83, 0x59, 0xe1, 0xc1, 0x73, 0x4c, 0xfc, 0x4d, 0x7e, 0xda, 0x13, 0xa1, 0xfe, 0xea, 0xaa, 0xde, - 0x93, 0xb2, 0x1b, 0x2a, 0x6f, 0x58, 0x82, 0x67, 0xed, 0x4f, 0xde, 0x4a, 0xdf, 0x7b, 0x1d, 0x22, - 0x8d, 0xc3, 0xa7, 0xa4, 0x68, 0x78, 0x8a, 0x13, 0xbe, 0x5a, 0xb4, 0xd4, 0x01, 0xdb, 0x0c, 0x23, - 0xf7, 0x52, 0xd6, 0x6c, 0xdc, 0x40, 0xcf, 0xc0, 0xb2, 0x83, 0x09, 0x3b, 0xee, 0xa5, 0x12, 0xae, - 0x54, 0x59, 0x21, 0xda, 0x3d, 0x8f, 0x57, 0x8f, 0x82, 0xa9, 0xf8, 0x6d, 0x76, 0x51, 0x33, 0x53, - 0xfe, 0x55, 0x6f, 0x3b, 0x36, 0x94, 0x34, 0x6d, 0xaf, 0x2a, 0x03, 0x42, 0x55, 0x6b, 0xaf, 0x7c, - 0x78, 0x84, 0xa3, 0x87, 0x20, 0x0c, 0x1a, 0x76, 0xd7, 0xeb, 0x4a, 0xfe, 0x40, 0x4d, 0xa6, 0x1d, - 0x62, 0x42, 0x1a, 0x31, 0x01, 0x16, 0xef, 0xae, 0xd2, 0xe2, 0xc6, 0x88, 0x55, 0x38, 0x88, 0xec, - 0x40, 0xf2, 0x3e, 0x53, 0xc8, 0x2e, 0x33, 0x94, 0xcb, 0x5c, 0x5f, 0x10, 0x24, 0xde, 0x48, 0x4c, - 0x2f, 0xa4, 0x0a, 0xb0, 0xea, 0x09, 0x3e, 0x61, 0x1c, 0x1d, 0xce, 0xdb, 0x53, 0x84, 0xd4, 0xe4, - 0x67, 0x33, 0xfb, 0xa2, 0xfe, 0xe5, 0x45, 0x51, 0x69, 0x80, 0x1d, 0x14, 0xe8, 0x50, 0x72, 0x9a, - 0x88, 0x55, 0x68, 0xf2, 0xac, 0x3a, 0xdc, 0xe0, 0x58, 0x1e, 0xe1, 0xab, 0x28, 0xc3, 0x3b, 0xd0, - 0x47, 0x8c, 0x27, 0xce, 0x3f, 0xed, 0x42, 0xbb, 0x60, 0x42, 0x52, 0xc4, 0x6e, 0x00, 0xb9, 0x4c, - 0xa5, 0x4d, 0xda, 0xe6, 0xf5, 0xc7, 0xd3, 0x3a, 0xfe, 0x07, 0x9f, 0xd1, 0xdc, 0xbf, 0xcd, 0xbe, - 0x10, 0x86, 0x14, 0x3b, 0xf5, 0xad, 0x56, 0x4d, 0x51, 0x25, 0xe1, 0x1f, 0xe6, 0xaa, 0x98, 0xb2, - 0x8c, 0xce, 0xb4, 0x43, 0x0c, 0x29, 0x64, 0x9a, 0x4b, 0x90, 0x95, 0xa8, 0x29, 0xb9, 0xbe, 0xd0, - 0x34, 0xfc, 0xf3, 0x14, 0x78, 0x5f, 0xb4, 0x27, 0x71, 0xca, 0x09, 0xab, 0xcb, 0xb2, 0xc2, 0xf2, - 0x70, 0x6d, 0x53, 0x20, 0x46, 0x37, 0x65, 0x52, 0x9f, 0x79, 0x27, 0x32, 0xf9, 0x03, 0x17, 0x28, - 0x3a, 0x1e, 0xe9, 0xfb, 0x0a, 0x3a, 0xf0, 0x2c, 0x64, 0x62, 0x02, 0x65, 0x5d, 0x47, 0x2a, 0x40, - 0xb5, 0xb9, 0x70, 0x60, 0xc3, 0x4d, 0x1b, 0xf7, 0xbf, 0x0e, 0xa5, 0x86, 0x94, 0x81, 0x42, 0xe0, - 0x72, 0xed, 0x28, 0xdd, 0xde, 0x59, 0xb9, 0x4d, 0x4f, 0xde, 0x2e, 0x65, 0x44, 0x1c, 0x98, 0xed, - 0x8b, 0x18, 0xde, 0x1e, 0xe1, 0xd2, 0x72, 0xd2, 0x02, 0x25, 0x3a, 0xa9, 0xad, 0xec, 0x9f, 0x62, - 0xe2, 0xe8, 0xb2, 0x83, 0xea, 0x7d, 0xca, 0xe4, 0xeb, 0x7b, 0x9d, 0x9d, 0x42, 0x1f, 0xf2, 0xef, - 0x96, 0xdf, 0x45, 0xfa, 0x49, 0xb8, 0x2b, 0xd4, 0xb7, 0x0b, 0x29, 0x06, 0x6d, 0xa7, 0xb7, 0xc8, - 0xc2, 0x55, 0xaa, 0x17, 0xae, 0xf5, 0xab, 0x3e, 0x08, 0xf9, 0x00, 0x5d, 0xd0, 0xbe, 0x9b, 0x7c, - 0x8d, 0xc0, 0x10, 0x7b, 0x44, 0xae, 0x5f, 0xd3, 0xa1, 0x84, 0xea, 0x37, 0xaf, 0x32, 0xc9, 0x83, - 0xd0, 0x5b, 0x2f, 0xfa, 0xcb, 0x7d, 0x99, 0xf2, 0xcf, 0x5e, 0xd4, 0xba, 0x9a, 0xed, 0x35, 0x72, - 0x03, 0x61, 0xe1, 0x1f, 0xe2, 0xb5, 0xba, 0x25, 0xd5, 0xc6, 0xa8, 0x69, 0x44, 0x92, 0x56, 0xb5, - 0x68, 0x32, 0xec, 0xab, 0x41, 0x95, 0x1d, 0xb6, 0xa0, 0x2b, 0x3d, 0x73, 0x83, 0x64, 0x6e, 0x5c, - 0x62, 0xed, 0xbe, 0xf7, 0xc4, 0x55, 0x14, 0x8d, 0x0c, 0x9c, 0xd4, 0xb4, 0xf6, 0x41, 0x2f, 0xd3, - 0x16, 0x26, 0xdc, 0x4d, 0x0c, 0x45, 0x31, 0x39, 0x36, 0xa0, 0xf8, 0x06, 0x56, 0xd5, 0xdb, 0x28, - 0x33, 0xc0, 0x51, 0x69, 0x41, 0x01, 0x83, 0x27, 0xc6, 0x34, 0xbf, 0xa7, 0xc9, 0x28, 0xbb, 0x39, - 0x4a, 0x19, 0xab, 0xe8, 0x9f, 0xf1, 0x3a, 0xc1, 0xb8, 0xfb, 0x6d, 0xe8, 0x7a, 0x11, 0x47, 0x25, - 0x4e, 0xad, 0xe3, 0x10, 0x3e, 0xfa, 0x21, 0x49, 0xad, 0x39, 0x85, 0x98, 0xb7, 0xb5, 0x08, 0xa7, - 0x3a, 0xba, 0x72, 0x64, 0x87, 0xc9, 0xc3, 0x1c, 0xee, 0x5a, 0xe5, 0x6e, 0x2f, 0xcc, 0x5e, 0xf1, - 0x5d, 0x28, 0xa7, 0x51, 0x25, 0xa4, 0x1c, 0xa5, 0x49, 0xb7, 0x9a, 0x47, 0x2d, 0x27, 0xf0, 0xbd, - 0x90, 0xc0, 0xa5, 0xc0, 0xc3, 0xa5, 0xcb, 0x6a, 0x1f, 0x62, 0xc3, 0x40, 0x30, 0x40, 0x7c, 0x05, - 0x60, 0x4c, 0x71, 0x08, 0x52, 0xe3, 0xb6, 0x14, 0xdc, 0x72, 0x08, 0xa9, 0xf8, 0xea, 0xe1, 0xe3, - 0x62, 0xf4, 0x1d, 0xed, 0x3e, 0xa1, 0x15, 0x1a, 0x17, 0xa2, 0x90, 0xfc, 0xab, 0x32, 0x2a, 0xec, - 0x87, 0x13, 0xee, 0xa1, 0xaf, 0x4f, 0x60, 0xc6, 0xbb, 0x76, 0x3d, 0x9f, 0xe3, 0x16, 0x5c, 0x7f, - 0x7f, 0xfb, 0x73, 0x6d, 0x97, 0xf8, 0xfd, 0xf3, 0x88, 0x02, 0xb0, 0x83, 0xdc, 0x59, 0x3e, 0xd3, - 0x12, 0x31, 0x33, 0x0d, 0x83, 0xfb, 0xf7, 0xc2, 0xa3, 0x26, 0x93, 0xcc, 0x0c, 0xf7, 0x33, 0x0c, - 0x5f, 0x4e, 0x66, 0x89, 0x74, 0xd2, 0x08, 0xa7, 0x15, 0x8c, 0xfb, 0x07, 0x4c, 0xea, 0xf6, 0x10, - 0x4c, 0xcb, 0x88, 0x77, 0xbf, 0x8f, 0x54, 0xe5, 0x02, 0x6a, 0xf6, 0xf1, 0x35, 0x13, 0x80, 0x00, - 0x05, 0x96, 0x5c, 0x0c, 0x70, 0x9c, 0xfb, 0xda, 0x0a, 0x13, 0xd8, 0x32, 0x97, 0xba, 0x16, 0x19, - 0x9d, 0x11, 0xc8, 0xc3, 0x70, 0xca, 0xcf, 0xac, 0xba, 0x01, 0x19, 0x5a, 0xde, 0xd9, 0x18, 0xee, - 0xca, 0xb6, 0xe9, 0x2b, 0x09, 0xc5, 0xac, 0x7e, 0xe9, 0x66, 0x00, 0x98, 0x03, 0x82, 0x67, 0xf6, - 0xdc, 0xbc, 0x89, 0x28, 0x19, 0x9c, 0x62, 0x38, 0x5c, 0x40, 0xb3, 0xd7, 0xc2, 0xdf, 0x14, 0x02, - 0x93, 0x2a, 0x09, 0xd4, 0x4b, 0xea, 0x34, 0x94, 0x32, 0x77, 0x3f, 0xe3, 0x13, 0x3c, 0x1c, 0xc8, - 0x23, 0x3d, 0x90, 0xd3, 0x55, 0xd0, 0x45, 0x52, 0xba, 0xef, 0x80, 0xa0, 0x89, 0x70, 0x48, 0x55, - 0xc9, 0x74, 0x00, 0xcc, 0x8f, 0x74, 0xb6, 0xa6, 0x66, 0xc9, 0x7e, 0x44, 0xa2, 0x0f, 0xda, 0x6d, - 0x91, 0xa2, 0x7b, 0xd7, 0xb1, 0x3f, 0xfe, 0xb5, 0x55, 0x76, 0xb3, 0x9f, 0xd5, 0x38, 0xed, 0xde, - 0xc9, 0x58, 0x91, 0xfa, 0x0f, 0x6f, 0x3f, 0xa8, 0x66, 0x8e, 0xca, 0x5b, 0xfb, 0x73, 0xa8, 0x59, - 0x4c, 0x97, 0x48, 0x97, 0xf9, 0x96, 0xb2, 0x43, 0x99, 0xf6, 0xdd, 0x7f, 0x60, 0xe1, 0x11, 0x9a, - 0xb3, 0x4c, 0xb9, 0xac, 0xfd, 0xb9, 0x15, 0xae, 0xca, 0xa6, 0x35, 0x64, 0x3a, 0xed, 0xb2, 0x32, - 0xed, 0x58, 0x6f, 0x6d, 0xa2, 0x47, 0xc1, 0x7a, 0xcb, 0x10, 0x45, 0xf6, 0x0a, 0xdc, 0xb2, 0x52, - 0xac, 0x47, 0x27, 0x08, 0x9d, 0xd0, 0x92, 0xe2, 0x7e, 0x8e, 0xb0, 0x31, 0xe4, 0x80, 0x7f, 0xf8, - 0x56, 0xa9, 0xd5, 0x5f, 0x3b, 0x49, 0xbf, 0x87, 0x16, 0xcf, 0xa2, 0x2a, 0x3d, 0xf9, 0xb7, 0xa4, - 0x82, 0xe8, 0x66, 0x93, 0x74, 0xef, 0x83, 0x26, 0x60, 0x1f, 0xd5, 0xdd, 0x9f, 0xe3, 0xce, 0x6e, - 0x53, 0xc6, 0x5b, 0xa3, 0x39, 0xa7, 0xa6, 0x65, 0x6e, 0x47, 0x16, 0x82, 0x56, 0xd5, 0x27, 0x33, - 0x25, 0x52, 0xeb, 0xfe, 0x96, 0xb8, 0xfd, 0x1f, 0x1c, 0x76, 0xba, 0xda, 0xce, 0x4c, 0x30, 0xc9, - 0xd8, 0xcc, 0x3a, 0x02, 0x53, 0x7f, 0x16, 0x11, 0x7e, 0x84, 0xee, 0xae, 0x12, 0x79, 0xbd, 0x7b, - 0x3c, 0xfd, 0x14, 0x5c, 0x1a, 0x89, 0xfa, 0x7c, 0x2f, 0x90, 0x4a, 0xf9, 0xd6, 0xdb, 0xbb, 0x2b, - 0xb6, 0x5f, 0x54, 0xae, 0x67, 0x33, 0x21, 0x2a, 0xff, 0xc2, 0xdb, 0xea, 0xb4, 0x5a, 0xe7, 0x57, - 0x62, 0xc9, 0xc7, 0x47, 0xda, 0x61, 0xdc, 0x17, 0xbd, 0x46, 0x39, 0x78, 0xd4, 0xe8, 0x65, 0xa1, - 0xca, 0x53, 0xbe, 0xc2, 0x28, 0x49, 0x27, 0x79, 0x31, 0x6f, 0xba, 0x79, 0xf6, 0x9d, 0xd0, 0xaa, - 0x77, 0x64, 0x7c, 0xa9, 0x61, 0x38, 0xdf, 0xf1, 0x94, 0x91, 0x7b, 0x2b, 0xd9, 0x74, 0x8c, 0x62, - 0x8a, 0x8b, 0xd9, 0xb1, 0x3c, 0x9f, 0x5e, 0xd2, 0xd0, 0x28, 0xef, 0xc1, 0x47, 0x27, 0x54, 0x7f, - 0x9c, 0xd6, 0x4e, 0xda, 0xba, 0x9d, 0x36, 0x08, 0xd1, 0x7a, 0x87, 0x93, 0x51, 0xb7, 0xd8, 0x67, - 0x6e, 0xca, 0x74, 0xcd, 0x15, 0xee, 0xb3, 0xef, 0x0e, 0x0e, 0x49, 0xe0, 0x27, 0x3d, 0x6f, 0xe9, - 0x13, 0x22, 0x12, 0xd4, 0x96, 0x5c, 0x0d, 0xc9, 0x48, 0x21, 0x1b, 0x13, 0xc1, 0x9e, 0x6d, 0x60, - 0x21, 0xc3, 0xad, 0x95, 0x83, 0xad, 0xc7, 0x25, 0x26, 0x29, 0x67, 0x88, 0xaa, 0x3c, 0x68, 0x3a, - 0x91, 0x6a, 0x07, 0xb1, 0x60, 0x49, 0x3f, 0x7d, 0x2e, 0x9d, 0x1e, 0x30, 0x7a, 0x55, 0x2b, 0xb9, - 0x44, 0x75, 0x96, 0xad, 0x91, 0x83, 0x57, 0x25, 0x51, 0x5a, 0x35, 0x3d, 0xf2, 0x45, 0xb6, 0x61, - 0xc4, 0x09, 0xe4, 0x6b, 0x46, 0x00, 0x5c, 0x2a, 0x24, 0x78, 0xec, 0x82, 0xa2, 0xb3, 0x32, 0xd4, - 0x15, 0x14, 0x3d, 0x99, 0x9c, 0xac, 0x75, 0xca, 0xc2, 0x7d, 0xaa, 0xf7, 0x9a, 0xa3, 0x04, 0x94, - 0xba, 0x20, 0x9b, 0x83, 0x1f, 0xf4, 0x91, 0xb9, 0x97, 0xe7, 0x04, 0x2b, 0x6f, 0x23, 0x0d, 0x68, - 0x47, 0xfd, 0x2c, 0x1e, 0x88, 0xc6, 0x7a, 0x1d, 0x82, 0xf9, 0x95, 0xaa, 0x29, 0xd1, 0xa5, 0x7d, - 0xb7, 0x80, 0x15, 0x4f, 0x20, 0xbf, 0x0f, 0x81, 0x84, 0xbf, 0x31, 0xfe, 0xc1, 0x0c, 0x15, 0x3d, - 0xed, 0xa2, 0x44, 0x43, 0x5e, 0xb8, 0x09, 0xad, 0x09, 0x6b, 0xa4, 0xdb, 0x6e, 0x73, 0x84, 0xce, - 0xbe, 0x73, 0xa6, 0x97, 0x76, 0x35, 0xf3, 0x29, 0x57, 0xbf, 0x87, 0xef, 0x58, 0x7e, 0x42, 0xa5, - 0x62, 0x84, 0xf5, 0x5a, 0xc4, 0x18, 0x43, 0xb1, 0x3a, 0x49, 0x04, 0xe6, 0x6e, 0x6a, 0xef, 0x6a, - 0x97, 0xf0, 0xbf, 0x2c, 0x82, 0x4b, 0x97, 0x6c, 0x9f, 0xfc, 0x68, 0xed, 0x2a, 0x1b, 0xde, 0xe4, - 0x4c, 0x96, 0xb3, 0x5e, 0x8e, 0x04, 0x22, 0x9a, 0x33, 0x8b, 0x57, 0x78, 0x3a, 0x41, 0xac, 0x18, - 0x3b, 0xd4, 0x7d, 0x24, 0x93, 0x3a, 0x5e, 0x10, 0xc6, 0x39, 0xfd, 0x6e, 0x73, 0xce, 0x9d, 0x00, - 0x35, 0x58, 0x64, 0x7d, 0xa8, 0x8a, 0xff, 0x7b, 0x8b, 0x6c, 0xc5, 0xbd, 0x4b, 0x6d, 0x70, 0x94, - 0xa4, 0x42, 0xa5, 0x81, 0xd3, 0xdb, 0xa3, 0x09, 0xb0, 0x30, 0xa9, 0xeb, 0xf4, 0xd6, 0xb6, 0x94, - 0x4b, 0x4d, 0x19, 0x2f, 0xcc, 0x86, 0x40, 0xe9, 0x57, 0x88, 0xb5, 0x62, 0x21, 0x6d, 0x7f, 0x02, - 0x5a, 0x8f, 0xe4, 0x00, 0x5f, 0x60, 0xeb, 0xda, 0x73, 0x44, 0x54, 0x26, 0xd7, 0xaf, 0xc7, 0x9a, - 0xb8, 0x4a, 0xdd, 0x3b, 0x48, 0x09, 0x02, 0x46, 0x37, 0xb6, 0x71, 0x54, 0xd4, 0xa3, 0x74, 0xba, - 0x3b, 0x69, 0xd2, 0xda, 0x2d, 0xbb, 0xc4, 0x41, 0x57, 0x98, 0x02, 0x7c, 0xd6, 0x98, 0x68, 0x01, - 0x29, 0xe3, 0xb2, 0x82, 0xa7, 0xfe, 0xc3, 0xb0, 0x68, 0x85, 0x26, 0xaa, 0x32, 0xd2, 0x7b, 0x35, - 0x76, 0xfd, 0x1b, 0x2a, 0x32, 0x8e, 0x65, 0x7e, 0xbf, 0x9b, 0xcc, 0x2c, 0xfc, 0xda, 0x9a, 0xc9, - 0xa0, 0xbb, 0x50, 0x34, 0xf1, 0x6e, 0x0b, 0x92, 0x2e, 0x87, 0x90, 0xf7, 0x76, 0x1a, 0xfd, 0x30, - 0x23, 0xc3, 0x5c, 0x2b, 0xc4, 0xc5, 0x65, 0x60, 0xa9, 0x84, 0x5e, 0x2c, 0x3c, 0xb8, 0x61, 0x81, - 0xa8, 0xb9, 0xab, 0x1b, 0xce, 0xbe, 0x78, 0x1d, 0xce, 0x17, 0x8a, 0xea, 0x28, 0xb3, 0x6a, 0xf9, - 0x01, 0xfa, 0xe0, 0xf5, 0x8b, 0xc9, 0x5a, 0x62, 0x70, 0x46, 0x07, 0x3d, 0xf4, 0x6e, 0x26, 0x49, - 0xbf, 0xaa, 0xea, 0x79, 0x0e, 0x2b, 0xec, 0xdd, 0x9b, 0xd8, 0x5f, 0xb9, 0x69, 0x49, 0x2c, 0xa5, - 0xd5, 0x23, 0x87, 0xfb, 0xbf, 0xb1, 0xca, 0x9a, 0x78, 0x20, 0xda, 0x17, 0x42, 0xa0, 0x09, 0xd0, - 0x55, 0x56, 0x24, 0x6b, 0x9a, 0x87, 0xe8, 0x0d, 0xb3, 0xdd, 0x88, 0x21, 0xd4, 0x90, 0xf1, 0x15, - 0x44, 0xe4, 0x83, 0x13, 0xbc, 0x88, 0x43, 0xf3, 0x63, 0x38, 0xbb, 0xe7, 0x2d, 0x70, 0x92, 0xb7, - 0xe3, 0xba, 0x5f, 0x5e, 0xb5, 0xef, 0x20, 0x7c, 0x96, 0x64, 0x4b, 0x49, 0xd7, 0x69, 0x40, 0x2a, - 0xa2, 0x41, 0x80, 0x93, 0xd7, 0xcd, 0x3d, 0x13, 0xda, 0x9c, 0x96, 0x40, 0xfc, 0x5e, 0x9b, 0xa2, - 0xf1, 0xa1, 0x67, 0x49, 0x5f, 0xa7, 0x94, 0x38, 0x1a, 0x42, 0x89, 0xe7, 0x40, 0x0e, 0x2b, 0x99, - 0x5d, 0x1d, 0xbf, 0x61, 0xf8, 0x86, 0x49, 0x79, 0xdf, 0x82, 0xb6, 0x98, 0xf3, 0xdf, 0x72, 0x9f, - 0x3f, 0xad, 0x5e, 0xc5, 0x18, 0x2f, 0xea, 0x9e, 0x9a, 0x29, 0xeb, 0x04, 0xb2, 0x2e, 0xf0, 0x4c, - 0x2d, 0xe8, 0x98, 0x3d, 0xcb, 0x64, 0x77, 0x94, 0x9a, 0x2f, 0x60, 0x1e, 0x6f, 0x59, 0x04, 0x29, - 0xcb, 0xd0, 0xc7, 0xa1, 0x93, 0xb9, 0x64, 0xc5, 0xf1, 0x15, 0x2e, 0x3b, 0xe1, 0x02, 0x86, 0x01, - 0xbf, 0x96, 0x55, 0xde, 0xbc, 0x3c, 0x6e, 0xcb, 0xf6, 0xe1, 0x27, 0x52, 0x20, 0xf2, 0x2e, 0xfc, - 0x5a, 0xe7, 0x2b, 0xd4, 0xc2, 0xd1, 0x96, 0x56, 0x7f, 0x16, 0xfb, 0x04, 0xb0, 0xe1, 0xc4, 0x8a, - 0x3d, 0xb9, 0xcd, 0x69, 0xe7, 0x62, 0x8c, 0x12, 0xb5, 0x40, 0x05, 0xe9, 0xfe, 0x70, 0xac, 0xf3, - 0x81, 0x6c, 0x6b, 0x0e, 0xdb, 0xce, 0x77, 0x2d, 0x51, 0x65, 0x26, 0x57, 0xc2, 0x10, 0x28, 0xa6, - 0xe2, 0x4a, 0x91, 0x50, 0xc5, 0x02, 0xb3, 0x76, 0x5a, 0x42, 0x7f, 0x07, 0x23, 0x33, 0x70, 0x3e, - 0x50, 0x87, 0x54, 0x5b, 0xee, 0x14, 0x00, 0x19, 0x96, 0x37, 0xc2, 0x56, 0x3b, 0x79, 0x57, 0x99, - 0x26, 0x7b, 0x1d, 0xf7, 0x80, 0x28, 0x07, 0x8c, 0x7b, 0x01, 0x9c, 0x5e, 0x12, 0x62, 0xb9, 0x69, - 0xef, 0xfb, 0x88, 0xcb, 0xbe, 0xdd, 0x2d, 0x36, 0xff, 0x6c, 0x3f, 0x45, 0x6e, 0xfc, 0x0e, 0xf9, - 0xb4, 0x2a, 0x98, 0x13, 0xe1, 0xe9, 0x4b, 0x58, 0x34, 0x2f, 0x6f, 0xb2, 0x3b, 0xce, 0xa6, 0xe6, - 0x1c, 0xcd, 0xc2, 0x74, 0xd0, 0x6d, 0x50, 0x39, 0x53, 0xb9, 0x86, 0x63, 0x7f, 0xe8, 0x3f, 0xb9, - 0xc1, 0x12, 0x08, 0x62, 0xa5, 0x63, 0x6c, 0xe6, 0x98, 0xb8, 0x6c, 0xfd, 0xca, 0x98, 0xbf, 0xba, - 0xc3, 0x10, 0x3e, 0x1e, 0x63, 0xdc, 0x26, 0xe5, 0x3d, 0xfe, 0x70, 0x2c, 0xde, 0x70, 0xd0, 0xcc, - 0x98, 0x13, 0xc6, 0xa7, 0x50, 0x5f, 0x15, 0x99, 0x85, 0x96, 0xcc, 0xc6, 0xe3, 0x40, 0xbd, 0x6a, - 0xee, 0x13, 0x5a, 0xe5, 0x39, 0xb0, 0x1c, 0x0c, 0xd2, 0xd3, 0xe5, 0x90, 0xb5, 0xed, 0x71, 0xee, - 0xfc, 0xfa, 0x60, 0xe5, 0x9e, 0x90, 0xa9, 0x23, 0x77, 0x70, 0xdf, 0x00, 0xae, 0xdc, 0x11, 0x34, - 0x4c, 0xba, 0x52, 0x83, 0x59, 0xec, 0x6e, 0xc4, 0xba, 0x9a, 0x6d, 0xf4, 0x65, 0x21, 0xb8, 0xf3, - 0xa9, 0x85, 0x5c, 0x5c, 0x91, 0x44, 0x73, 0xb7, 0x2b, 0x9b, 0xac, 0x7e, 0xf3, 0x03, 0x2a, 0x68, - 0x5e, 0xc3, 0xc0, 0x0a, 0x81, 0x68, 0x9e, 0xa1, 0x5f, 0x68, 0x04, 0x76, 0x69, 0x7e, 0x11, 0x3a, - 0x94, 0x4c, 0x93, 0xdf, 0xc2, 0x0b, 0xc6, 0x94, 0x94, 0x86, 0xf2, 0x68, 0x0c, 0xe2, 0x59, 0x48, - 0xa9, 0xed, 0x3e, 0x21, 0x9a, 0x30, 0xc5, 0x8e, 0xbf, 0xd4, 0x08, 0xfc, 0x43, 0xc9, 0xf8, 0x32, - 0x2a, 0x84, 0xff, 0xac, 0x64, 0x10, 0xe8, 0x77, 0xc9, 0x6f, 0x5a, 0x01, 0x28, 0xb7, 0xda, 0xb2, - 0xb2, 0x84, 0x3d, 0xf4, 0xc5, 0x0b, 0x3d, 0x31, 0x58, 0x37, 0x0b, 0xe3, 0xb3, 0x59, 0x7f, 0xfb, - 0xe5, 0x9f, 0x79, 0xf2, 0x79, 0x22, 0xd9, 0x0f, 0x39, 0xbe, 0xb8, 0x1e, 0xfd, 0xd3, 0x9a, 0xc8, - 0x88, 0x6d, 0xe5, 0xc4, 0x2b, 0xc5, 0x60, 0xe1, 0x09, 0x63, 0x55, 0x97, 0x0f, 0xf4, 0xa2, 0xd6, - 0xe9, 0x64, 0xa1, 0x3d, 0xb0, 0xcd, 0xf2, 0xb7, 0x79, 0x8c, 0x87, 0xd7, 0xae, 0xc0, 0x2c, 0x8d, - 0x41, 0x6a, 0x9b, 0x49, 0x54, 0xf6, 0xa0, 0x0f, 0x8e, 0xaa, 0xde, 0xbd, 0x26, 0xcc, 0xf3, 0x48, - 0xe0, 0x3b, 0x46, 0x73, 0x5e, 0x8e, 0x22, 0x6e, 0x7f, 0x73, 0x1d, 0xe7, 0x27, 0x10, 0xe0, 0x30, - 0x30, 0x52, 0x8f, 0x12, 0xc3, 0x32, 0x2b, 0x3f, 0xe3, 0x2d, 0x3d, 0x4c, 0x34, 0x65, 0x72, 0x96, - 0x41, 0x8a, 0x3f, 0x19, 0x46, 0xba, 0x06, 0xa5, 0x36, 0x15, 0xe2, 0x4f, 0x7b, 0x02, 0xfe, 0x94, - 0x91, 0x38, 0xdf, 0xba, 0x51, 0x43, 0x3c, 0xbc, 0x6c, 0xd1, 0xd9, 0x11, 0xa4, 0xc6, 0x4d, 0x55, - 0xfd, 0x48, 0x6f, 0x74, 0x95, 0x8b, 0x46, 0x26, 0x96, 0xa4, 0x9b, 0x9f, 0xc4, 0x7f, 0xf5, 0xeb, - 0x9e, 0x3a, 0x16, 0x36, 0x5c, 0x9b, 0xea, 0xe0, 0x97, 0x45, 0xcb, 0x17, 0xb9, 0xaa, 0xf8, 0x11, - 0x8e, 0x05, 0x2e, 0x68, 0xec, 0xc2, 0x81, 0x8d, 0x52, 0xcd, 0x4a, 0x81, 0x1b, 0x90, 0x8b, 0x9e, - 0x04, 0xe4, 0x00, 0x35, 0x16, 0xef, 0x17, 0x63, 0x80, 0x28, 0xf5, 0x09, 0x79, 0x13, 0x5f, 0xa3, - 0xc3, 0xdb, 0x05, 0x1b, 0x3c, 0xa6, 0xca, 0x35, 0xa2, 0x20, 0xb6, 0xe1, 0xdd, 0xdc, 0xbf, 0x1b, - 0xed, 0xd9, 0x90, 0xd2, 0x20, 0x37, 0x72, 0x89, 0xa5, 0xdf, 0x3b, 0xbb, 0x67, 0xd2, 0x4f, 0xb1, - 0xd0, 0x12, 0x41, 0xe3, 0x57, 0x82, 0x51, 0xb3, 0x24, 0x55, 0x84, 0x49, 0x5b, 0x84, 0x37, 0xba, - 0x08, 0xf0, 0xae, 0x34, 0x30, 0x1c, 0xae, 0xb0, 0xa0, 0x3d, 0x74, 0xd0, 0x76, 0x66, 0xcd, 0x53, - 0xd4, 0x96, 0x7e, 0x72, 0x71, 0x1e, 0xc6, 0x06, 0x9b, 0x7e, 0xf4, 0x07, 0xdd, 0x59, 0xe1, 0x43, - 0x3c, 0x46, 0x30, 0x28, 0x30, 0xb1, 0x68, 0x03, 0x13, 0xab, 0x8f, 0x8a, 0xa6, 0x5b, 0x2f, 0x74, - 0xdf, 0x68, 0xf5, 0xf2, 0x05, 0x12, 0x72, 0xa4, 0x55, 0x0b, 0x17, 0xe8, 0xf7, 0xd9, 0x39, 0x80, - 0xe7, 0xa1, 0xb7, 0xbf, 0x7a, 0x88, 0x2c, 0x7a, 0x86, 0x02, 0x8d, 0x4f, 0x26, 0x73, 0x5b, 0x8a, - 0x74, 0x99, 0xc5, 0x0f, 0xe3, 0xf3, 0xd4, 0xd0, 0x69, 0xa0, 0x80, 0x42, 0xf3, 0x9d, 0xa7, 0xdb, - 0x7b, 0x95, 0xcb, 0xcb, 0x95, 0x27, 0x80, 0x1f, 0x0e, 0xef, 0x10, 0x3a, 0xa7, 0x9d, 0x9b, 0x78, - 0x45, 0xca, 0x96, 0x3c, 0xcf, 0xcd, 0xe6, 0x66, 0xc2, 0x9e, 0xe3, 0x19, 0x9b, 0x2a, 0xfc, 0xe3, - 0xb7, 0x47, 0x87, 0x79, 0xd5, 0x80, 0x8e, 0x1d, 0xb1, 0x7b, 0x61, 0x6a, 0x27, 0x84, 0x28, 0xd3, - 0x62, 0x9e, 0x5d, 0xf9, 0xd6, 0x87, 0x88, 0x4f, 0xf9, 0x16, 0xbb, 0x8e, 0x66, 0x25, 0x82, 0x9b, - 0x86, 0x41, 0x94, 0xd4, 0x8f, 0x08, 0xdb, 0xca, 0x15, 0xa9, 0x99, 0x78, 0x91, 0x51, 0x05, 0xdc, - 0x51, 0x20, 0x1c, 0x08, 0xd1, 0x89, 0x19, 0xb9, 0xfa, 0x80, 0xa3, 0x57, 0x07, 0x25, 0x75, 0x57, - 0x15, 0x28, 0xfe, 0xdb, 0x47, 0xf1, 0x11, 0xd2, 0xb7, 0x73, 0x6d, 0x85, 0x20, 0x11, 0x61, 0xf8, - 0xc8, 0x21, 0xde, 0x5c, 0x98, 0xc6, 0x92, 0xce, 0x4e, 0x46, 0xfc, 0xf8, 0x06, 0x5d, 0x85, 0xae, - 0x8b, 0xf0, 0x28, 0x04, 0x65, 0xa6, 0x89, 0x61, 0x8e, 0xf1, 0xab, 0x35, 0xa6, 0x16, 0x67, 0xfa, - 0xae, 0x27, 0x88, 0x25, 0xc0, 0xfd, 0x22, 0x55, 0xfb, 0xdf, 0x44, 0x92, 0xf7, 0x98, 0xcb, 0xdb, - 0xce, 0x7c, 0xc3, 0x1c, 0xad, 0xd5, 0x9e, 0x6c, 0x9e, 0x22, 0x61, 0x31, 0x00, 0x5d, 0xcb, 0xaf, - 0xee, 0xa6, 0xce, 0x6a, 0x58, 0x46, 0x05, 0x2a, 0xc8, 0x5b, 0xd4, 0x04, 0xff, 0x80, 0x10, 0xa2, - 0x7a, 0x25, 0x74, 0xc1, 0x63, 0xd6, 0xe3, 0x3f, 0x08, 0x42, 0x13, 0x19, 0x33, 0xfe, 0x36, 0xfc, - 0x46, 0x1b, 0x34, 0xd4, 0xe4, 0x65, 0x2b, 0x73, 0xe2, 0x08, 0x5b, 0x72, 0x90, 0xe3, 0xdf, 0x17, - 0xe2, 0xc8, 0x98, 0x5d, 0xfd, 0xd3, 0x0f, 0xe4, 0x1b, 0xfb, 0x5c, 0xff, 0x44, 0x17, 0x6f, 0xc7, - 0x7c, 0x64, 0x89, 0xa7, 0x98, 0x91, 0x3f, 0xda, 0xa5, 0x79, 0xaa, 0x3a, 0x93, 0x5e, 0x46, 0x1e, - 0x48, 0x8e, 0x3d, 0x13, 0x91, 0x7a, 0xf1, 0x96, 0xb7, 0x3d, 0x1f, 0xd5, 0xd6, 0x23, 0x61, 0x91, - 0x30, 0x4f, 0x2e, 0xd3, 0xe9, 0x6e, 0xae, 0xa4, 0xdb, 0x1e, 0x68, 0x4c, 0x95, 0xbf, 0xdb, 0xfa, - 0x5f, 0x79, 0x1e, 0xd6, 0x56, 0xfe, 0xa1, 0x32, 0xc0, 0xdb, 0xa9, 0x9d, 0x91, 0x63, 0x3c, 0xdd, - 0x51, 0xa7, 0x26, 0xf3, 0x94, 0x85, 0x83, 0x42, 0x69, 0x1d, 0xe1, 0x73, 0x6e, 0x95, 0xfd, 0xf9, - 0xe2, 0xb3, 0x88, 0x5e, 0x3e, 0x17, 0x27, 0xb0, 0x38, 0x07, 0x1c, 0xec, 0x41, 0x3f, 0x5b, 0xba, - 0x8a, 0xa5, 0xe0, 0xaf, 0xad, 0x71, 0xfa, 0x22, 0x70, 0x87, 0xa9, 0x7b, 0x7f, 0x41, 0x95, 0x49, - 0xbc, 0xeb, 0x14, 0x5c, 0x3f, 0x52, 0x0f, 0x8d, 0xbb, 0x63, 0x0e, 0x69, 0xd3, 0xe1, 0xf5, 0x94, - 0xf6, 0x7e, 0x11, 0x79, 0xab, 0xb8, 0x1d, 0xa4, 0x32, 0x5e, 0xb0, 0x2f, 0x3a, 0x0f, 0x38, 0x96, - 0x91, 0x1b, 0x92, 0xc3, 0x54, 0x1d, 0x4c, 0x8e, 0x74, 0x98, 0xa4, 0xc3, 0xb3, 0xe7, 0xf7, 0x1b, - 0x0b, 0x6f, 0x34, 0xdf, 0xfe, 0xf3, 0x7e, 0x72, 0xd4, 0x35, 0xec, 0xef, 0x55, 0x95, 0xf1, 0x65, - 0xed, 0xc3, 0x45, 0x3e, 0xcf, 0x0e, 0x14, 0x4b, 0x6b, 0xe0, 0xfd, 0x27, 0x90, 0x9b, 0x94, 0x65, - 0x03, 0x29, 0xb1, 0x43, 0x93, 0xd1, 0x64, 0x95, 0x98, 0x4e, 0x75, 0xbf, 0x6d, 0x7b, 0x05, 0x45, - 0x97, 0x82, 0xbb, 0xae, 0xee, 0xde, 0x22, 0x8b, 0x99, 0xfe, 0xaa, 0x8d, 0x95, 0x30, 0x81, 0xb1, - 0x87, 0xfe, 0x94, 0x55, 0xe2, 0x73, 0x91, 0x44, 0x6b, 0x4d, 0x9c, 0x75, 0xb9, 0xb2, 0x8d, 0x5d, - 0xe3, 0x50, 0xaf, 0x45, 0x0e, 0xdc, 0xc4, 0x95, 0xe0, 0xda, 0x48, 0x86, 0x8a, 0xe9, 0xa0, 0x4f, - 0xc9, 0xcd, 0x00, 0x11, 0x45, 0x49, 0xf4, 0xaa, 0x85, 0x58, 0xd0, 0xf0, 0x0d, 0xac, 0x77, 0xcb, - 0x6e, 0xb0, 0x80, 0x7d, 0x42, 0xf0, 0xda, 0xc9, 0x6f, 0xd2, 0xb8, 0x29, 0xc2, 0xa6, 0xd5, 0x47, - 0x56, 0x8d, 0x69, 0xcf, 0x66, 0x13, 0x2a, 0xaf, 0x57, 0x33, 0x75, 0xf6, 0x9d, 0x12, 0xc6, 0xf8, - 0x18, 0x97, 0xe2, 0x13, 0x01, 0x36, 0x46, 0xc8, 0xb1, 0x7e, 0x26, 0x2c, 0xeb, 0x74, 0xce, 0x81, - 0x7a, 0x17, 0x08, 0xbc, 0xb3, 0xe0, 0xda, 0x6c, 0x94, 0x34, 0x1a, 0x22, 0xfb, 0x63, 0x6c, 0xc8, - 0x66, 0x48, 0x13, 0xdd, 0x0b, 0x02, 0xc4, 0x91, 0x9b, 0x6e, 0x98, 0x06, 0x6c, 0x19, 0x16, 0xf6, - 0xcf, 0x94, 0x07, 0x78, 0xbd, 0xbc, 0x02, 0xdb, 0x6f, 0x44, 0x76, 0x9b, 0xf5, 0xe0, 0x71, 0x99, - 0x05, 0xbd, 0xd9, 0xd9, 0x9a, 0x03, 0xc3, 0x50, 0x3b, 0xc2, 0x59, 0xe6, 0x9a, 0xf6, 0xf8, 0xd8, - 0x77, 0xdc, 0x37, 0x70, 0xdc, 0x44, 0x41, 0x6c, 0x3b, 0x2b, 0x7a, 0xd4, 0x60, 0x8c, 0x5f, 0x75, - 0x50, 0xcd, 0xa0, 0xd5, 0x78, 0x0c, 0x3c, 0x8d, 0x7d, 0x16, 0x65, 0x49, 0xb1, 0x38, 0x62, 0x33, - 0x0b, 0xd3, 0x1a, 0x44, 0xcd, 0x34, 0x95, 0x4d, 0xfc, 0xfc, 0xa8, 0x9f, 0xb4, 0xcc, 0xd2, 0x73, - 0xf4, 0x43, 0xc1, 0x85, 0x7d, 0x63, 0x82, 0xe9, 0x6e, 0x2d, 0x7b, 0x7a, 0x72, 0xf9, 0xf7, 0xdb, - 0x50, 0xe3, 0x71, 0xec, 0x70, 0x35, 0xdf, 0x02, 0x07, 0xaa, 0x37, 0xda, 0x14, 0xd7, 0xe6, 0x01, - 0xb0, 0x67, 0x8f, 0x87, 0xd0, 0xec, 0xa3, 0x94, 0xa5, 0x94, 0x85, 0xc2, 0x1f, 0xd9, 0x62, 0xd4, - 0xfb, 0x7b, 0x00, 0xfd, 0xe7, 0x97, 0x1c, 0x58, 0x85, 0xed, 0x8f, 0x9f, 0x1a, 0xb4, 0x86, 0xff, - 0x77, 0xc1, 0x15, 0x5d, 0x3f, 0xd3, 0xc8, 0xb5, 0x16, 0xfe, 0x30, 0xd6, 0x24, 0xc5, 0x1b, 0x4d, - 0xaf, 0x87, 0x65, 0xa0, 0xb9, 0x10, 0x6d, 0x77, 0x64, 0x5b, 0x68, 0xb5, 0x3d, 0x05, 0x82, 0xef, - 0x8b, 0xaa, 0x53, 0xc4, 0xbd, 0x9f, 0x63, 0xba, 0x8d, 0x32, 0xb1, 0xa8, 0xbf, 0x84, 0xba, 0x05, - 0x60, 0x85, 0x4f, 0xe6, 0x93, 0xe6, 0x8d, 0x0b, 0xe1, 0xea, 0x75, 0x4c, 0xc6, 0x33, 0x13, 0x84, - 0x46, 0x7f, 0xcb, 0x02, 0x21, 0xac, 0x6b, 0xd5, 0x11, 0xa4, 0x70, 0x20, 0x5f, 0x66, 0xcc, 0x01, - 0xae, 0x97, 0xe8, 0xbc, 0xab, 0x79, 0x58, 0x66, 0x31, 0x18, 0xff, 0x66, 0xcc, 0xcc, 0x9e, 0x36, - 0xc2, 0x53, 0x3c, 0x49, 0xac, 0xb6, 0x24, 0x66, 0x7e, 0x30, 0xe2, 0x37, 0x37, 0x80, 0x32, 0x26, - 0xbe, 0xbf, 0xad, 0xcf, 0x89, 0x65, 0x5e, 0xaa, 0x96, 0xd3, 0x6f, 0xaf, 0x06, 0x89, 0x0d, 0xb3, - 0x8a, 0xa5, 0x08, 0x70, 0xb3, 0xc7, 0x0c, 0x6c, 0x49, 0xae, 0x3a, 0x53, 0x6a, 0xf9, 0xb3, 0xac, - 0x71, 0xc6, 0x38, 0x6c, 0x06, 0x22, 0xc0, 0x06, 0xd2, 0xa1, 0x90, 0xc4, 0x6e, 0xa0, 0xdb, 0x36, - 0xe8, 0x37, 0x85, 0x0e, 0x43, 0x8a, 0x95, 0x57, 0x7e, 0x9a, 0x39, 0x43, 0x80, 0x7e, 0xc0, 0xac, - 0xd7, 0xae, 0x66, 0xad, 0x89, 0x87, 0xa8, 0xe3, 0x6f, 0x97, 0x25, 0x73, 0xa3, 0x45, 0xbc, 0xa2, - 0xaa, 0x37, 0x53, 0x52, 0xba, 0x83, 0x49, 0x6a, 0x1d, 0x1a, 0x0d, 0x7f, 0xc7, 0x0b, 0xfc, 0xee, - 0x0c, 0xf3, 0xd3, 0x89, 0x9d, 0xad, 0x3f, 0x45, 0x10, 0x78, 0x5d, 0xa8, 0xd4, 0xbd, 0xac, 0xe6, - 0xb9, 0xa7, 0x49, 0xff, 0x5d, 0x99, 0xd8, 0x25, 0x64, 0x4e, 0x95, 0x1f, 0xac, 0xa2, 0x70, 0xbd, - 0x58, 0xec, 0xe2, 0x78, 0xa8, 0x41, 0xbc, 0xd8, 0xdc, 0x7e, 0x53, 0x80, 0xf9, 0xc1, 0x04, 0x8e, - 0x38, 0x36, 0x1c, 0x04, 0xc6, 0x2e, 0x4b, 0x62, 0xf5, 0xd9, 0x7c, 0x75, 0x8c, 0x05, 0x78, 0x61, - 0x42, 0xe7, 0xcc, 0x0d, 0xd8, 0x8e, 0x71, 0x95, 0x26, 0x73, 0xd5, 0xcb, 0xe2, 0xc7, 0x64, 0xae, - 0xbf, 0x32, 0x23, 0xbb, 0x5d, 0x7e, 0xe5, 0xeb, 0x3e, 0x06, 0xef, 0x89, 0x36, 0x0e, 0x04, 0xbb, - 0xdb, 0x66, 0x70, 0x3f, 0xee, 0x43, 0x89, 0x2a, 0x39, 0x09, 0xcf, 0xc2, 0x9a, 0x70, 0x5e, 0x35, - 0x04, 0x99, 0x37, 0x3a, 0xa5, 0x56, 0x13, 0xc2, 0x0a, 0x5f, 0xcf, 0x33, 0xbd, 0x5a, 0x3e, 0x3d, - 0xf8, 0x9f, 0x3d, 0x1b, 0x51, 0x74, 0x10, 0x44, 0x5a, 0x29, 0xc1, 0x11, 0x0d, 0x2f, 0x71, 0x01, - 0xe6, 0xe2, 0x36, 0x3b, 0x6a, 0x8c, 0xe7, 0x4b, 0x07, 0xd3, 0x59, 0x5e, 0x82, 0xde, 0xdc, 0x67, - 0x7f, 0x55, 0x1c, 0x2e, 0xa8, 0xb1, 0x23, 0x2f, 0xf7, 0x4f, 0x9f, 0x9c, 0xf6, 0x78, 0x0e, 0x6a, - 0xb3, 0x57, 0x65, 0x85, 0x77, 0xa9, 0xb5, 0x61, 0x88, 0x44, 0xcc, 0x75, 0x20, 0xf3, 0xa6, 0x94, - 0x63, 0x43, 0x41, 0x83, 0xf1, 0x8c, 0x04, 0xb6, 0xe1, 0xd2, 0xd1, 0xe7, 0xd5, 0x4a, 0x27, 0xa5, - 0x01, 0x0f, 0xe1, 0x79, 0xff, 0x2b, 0x39, 0x87, 0x66, 0xb5, 0x36, 0x2c, 0x77, 0xd6, 0x17, 0x55, - 0x40, 0xbc, 0xf5, 0x15, 0x58, 0x34, 0x73, 0x98, 0xe2, 0x9f, 0x1f, 0xa1, 0x67, 0xb1, 0xa0, 0x83, - 0xd6, 0xc9, 0x59, 0x17, 0x57, 0xe4, 0x64, 0x0e, 0x1d, 0x54, 0x13, 0xc9, 0xbd, 0xa5, 0x6c, 0x3e, - 0xc7, 0xb2, 0x45, 0xa4, 0x9e, 0x87, 0xb6, 0x42, 0x0a, 0x94, 0xd5, 0xd4, 0x0e, 0xd7, 0xf4, 0x1d, - 0xa8, 0xa3, 0x41, 0xe7, 0x78, 0xc4, 0x7e, 0xe9, 0x5a, 0xee, 0xd7, 0x72, 0x2e, 0xd3, 0x90, 0x3e, - 0xdb, 0xfd, 0xec, 0xfa, 0x5d, 0x9c, 0xea, 0xb9, 0x11, 0xd8, 0x39, 0x75, 0x08, 0x70, 0x1f, 0xe5, - 0x3f, 0x47, 0xfc, 0xa4, 0x1b, 0xbf, 0x69, 0x21, 0x79, 0x2a, 0xa7, 0xa6, 0x24, 0x80, 0xc5, 0xa8, - 0x0c, 0xdd, 0xb8, 0xaa, 0x6d, 0x0e, 0xbd, 0xb0, 0xff, 0x6d, 0x05, 0xbf, 0x0a, 0x80, 0x69, 0x18, - 0xfa, 0xa5, 0x7b, 0xd0, 0x06, 0x19, 0x53, 0x85, 0x93, 0x2a, 0xf2, 0x27, 0x8d, 0xaf, 0x09, 0xc2, - 0x8a, 0x5a, 0xeb, 0xb7, 0x7a, 0x70, 0x86, 0xd0, 0x97, 0xb9, 0x7e, 0xe7, 0x67, 0xf2, 0x6c, 0x44, - 0xb5, 0x3a, 0xa3, 0xb6, 0x22, 0xf4, 0x4f, 0x06, 0x53, 0x67, 0x6a, 0x85, 0xf2, 0x22, 0x7b, 0x22, - 0xde, 0xd8, 0x98, 0x02, 0xde, 0xfe, 0xbd, 0xf1, 0x5c, 0xea, 0x12, 0x26, 0x41, 0x37, 0x7f, 0x3c, - 0x9e, 0x88, 0xe7, 0xd7, 0x8f, 0x6b, 0x96, 0x6d, 0x88, 0xf7, 0x4d, 0xb3, 0x03, 0xb4, 0x0d, 0xb4, - 0xc0, 0x94, 0xfc, 0xd6, 0xe7, 0x77, 0x2a, 0x57, 0x44, 0xe4, 0xe7, 0xff, 0xa8, 0x58, 0xc5, 0x00, - 0x8f, 0x6a, 0xea, 0x78, 0x18, 0xeb, 0xf6, 0x57, 0x09, 0x3b, 0x9c, 0x41, 0xed, 0x63, 0x1c, 0xe0, - 0xca, 0xaa, 0x7e, 0xe6, 0xa8, 0x12, 0xfb, 0xcf, 0x1f, 0xd7, 0x14, 0xa6, 0x0e, 0x8c, 0xea, 0x2e, - 0xa6, 0xeb, 0x82, 0xed, 0x79, 0x3d, 0xbc, 0xed, 0xce, 0xdf, 0xca, 0xed, 0x56, 0x4c, 0xdf, 0x28, - 0x5e, 0xd8, 0x9a, 0x37, 0x4d, 0xb2, 0x40, 0xde, 0x21, 0x8d, 0x78, 0xa1, 0x97, 0x1b, 0x06, 0x18, - 0x19, 0xa0, 0xba, 0x25, 0xea, 0x2d, 0x4c, 0x96, 0xb4, 0x06, 0x85, 0x66, 0x14, 0x82, 0x4b, 0x1f, - 0xc5, 0x17, 0x92, 0xec, 0xe2, 0x16, 0x21, 0xdb, 0x46, 0x01, 0xa3, 0xce, 0x01, 0xeb, 0xb2, 0x79, - 0x64, 0x00, 0x19, 0x59, 0x59, 0xe1, 0xeb, 0x78, 0x4d, 0x5d, 0x4d, 0x42, 0x78, 0xf8, 0x59, 0xe5, - 0x9c, 0xd4, 0x98, 0x95, 0x7b, 0x3a, 0x19, 0x78, 0x77, 0x75, 0x2e, 0x0f, 0x88, 0x0b, 0xf5, 0x34, - 0x41, 0xef, 0xaf, 0xa6, 0x53, 0x01, 0xcd, 0xb9, 0xa8, 0x9d, 0x5c, 0x84, 0x7e, 0x81, 0xd0, 0x9f, - 0xa9, 0xee, 0xea, 0x87, 0xbe, 0xce, 0x29, 0xbb, 0x54, 0xb3, 0x36, 0x5b, 0x04, 0x2a, 0x14, 0x6a, - 0x7c, 0x26, 0xa0, 0xb9, 0x75, 0x39, 0x77, 0x32, 0x11, 0x25, 0x3b, 0x52, 0x8a, 0x70, 0x4d, 0xe2, - 0x81, 0x68, 0x0a, 0x38, 0xf5, 0x1b, 0x74, 0x7d, 0xee, 0x18, 0x13, 0xf9, 0x82, 0xa1, 0x5c, 0x82, - 0xa6, 0x4d, 0x3f, 0x29, 0x4d, 0x1e, 0x39, 0xc6, 0x3b, 0xe7, 0x9d, 0xdb, 0xba, 0xe4, 0xc5, 0xdf, - 0x74, 0x30, 0x69, 0xc7, 0x01, 0x2f, 0x56, 0x6b, 0x97, 0x77, 0x16, 0x5e, 0x63, 0x61, 0x57, 0xee, - 0xf1, 0x9f, 0x7c, 0xbf, 0x8e, 0x44, 0x9a, 0x55, 0xd0, 0xa0, 0xef, 0xa3, 0x5a, 0x97, 0x90, 0x79, - 0xf4, 0x8c, 0x06, 0xb6, 0x84, 0x57, 0xfd, 0xd2, 0xd1, 0x7f, 0xcc, 0x3f, 0xd8, 0xb3, 0xbe, 0x2d, - 0xc0, 0xae, 0xc6, 0x2b, 0xb6, 0x58, 0x64, 0xa1, 0x0c, 0x2d, 0xcb, 0x41, 0x6d, 0xb5, 0x93, 0x87, - 0xa6, 0x3e, 0xc6, 0xa4, 0x01, 0x70, 0x05, 0xcf, 0xdd, 0x70, 0x58, 0x3e, 0xca, 0x8c, 0x16, 0xef, - 0xe3, 0x2d, 0x04, 0xcc, 0x61, 0x02, 0xfc, 0xfc, 0xf2, 0xbd, 0x3a, 0xae, 0xbc, 0xe2, 0x0e, 0x80, - 0x95, 0xd8, 0xf4, 0xc3, 0x56, 0x3a, 0xbe, 0x90, 0x0a, 0xc6, 0x28, 0x11, 0xaa, 0x35, 0x58, 0xd7, - 0xa4, 0x2f, 0x21, 0x3b, 0xb1, 0xa7, 0xf0, 0xf7, 0x4a, 0xf5, 0x28, 0x47, 0xcb, 0xdd, 0x9c, 0x7f, - 0x41, 0x15, 0x55, 0xb6, 0x52, 0x9d, 0x9f, 0xe9, 0xa7, 0xda, 0x64, 0x2c, 0x83, 0x83, 0xc6, 0xe1, - 0x10, 0x44, 0x2c, 0x03, 0x82, 0x0b, 0x53, 0x0a, 0x7b, 0xc0, 0x7f, 0x33, 0x60, 0x16, 0x13, 0x78, - 0x71, 0xd8, 0xc1, 0xa9, 0x4b, 0x71, 0xae, 0x62, 0x1c, 0x94, 0xac, 0x6b, 0xc1, 0x11, 0x8a, 0x28, - 0x13, 0x6d, 0x8b, 0x3f, 0x1f, 0x1d, 0x49, 0xfb, 0x04, 0x75, 0xd2, 0x17, 0x89, 0xf4, 0x28, 0x0d, - 0x09, 0xc8, 0x31, 0x77, 0x8c, 0x94, 0xaf, 0x3f, 0x82, 0x94, 0x58, 0xa1, 0x91, 0xec, 0x6c, 0x37, - 0x3d, 0x83, 0xaa, 0x87, 0x62, 0xba, 0x84, 0x88, 0xad, 0x28, 0x7c, 0x68, 0xbe, 0x13, 0x19, 0xe0, - 0xe3, 0xf2, 0xfa, 0x5f, 0x99, 0xe4, 0xb7, 0x76, 0xba, 0x16, 0xdf, 0xc0, 0xec, 0x04, 0x46, 0xde, - 0x68, 0xc3, 0xe9, 0xf6, 0x1a, 0x24, 0x85, 0x01, 0xf0, 0xad, 0x89, 0xe6, 0x94, 0xd5, 0x00, 0x86, - 0x3e, 0xcb, 0x64, 0x14, 0x28, 0xf5, 0xab, 0x6d, 0x7d, 0xad, 0xb5, 0x50, 0x06, 0xd9, 0x9b, 0x84, - 0x9a, 0xc3, 0xce, 0xdb, 0x4d, 0xd0, 0x79, 0x54, 0xb0, 0x7d, 0xc5, 0xf4, 0xba, 0xbe, 0x6d, 0x24, - 0xc0, 0xdf, 0x89, 0xd3, 0xd7, 0x8f, 0xb6, 0xbd, 0xa7, 0xec, 0x30, 0x0e, 0xe2, 0x32, 0x8d, 0x39, - 0x05, 0x16, 0xd4, 0x13, 0xb6, 0xa1, 0x1a, 0x15, 0xf4, 0xbc, 0xc7, 0x63, 0x1b, 0xcb, 0x20, 0x04, - 0x0e, 0x92, 0x05, 0x4c, 0x18, 0xb3, 0xc2, 0x60, 0xbc, 0xaa, 0xa3, 0x29, 0xf1, 0x4e, 0xb0, 0xf4, - 0x1e, 0x3d, 0x0f, 0xd7, 0xfd, 0xcc, 0xc5, 0xea, 0x86, 0xf8, 0xe3, 0x4d, 0xdc, 0x20, 0xa4, 0x20, - 0xe2, 0x5e, 0x2f, 0x72, 0x54, 0xd7, 0x0d, 0xb4, 0x3e, 0x34, 0x23, 0xf9, 0x7b, 0xeb, 0x1f, 0x65, - 0x41, 0x80, 0x2c, 0x5d, 0x34, 0xdf, 0xce, 0x18, 0x52, 0xcd, 0x72, 0x20, 0x83, 0x51, 0x76, 0x3c, - 0x27, 0xe4, 0xdb, 0xbc, 0x48, 0x65, 0xba, 0xef, 0x6b, 0xfb, 0xfa, 0xc0, 0x86, 0x28, 0xd2, 0x9a, - 0x3e, 0x72, 0xb9, 0x62, 0x4c, 0x55, 0x23, 0x17, 0xf2, 0xba, 0xef, 0x6d, 0xcd, 0x5d, 0x41, 0x1b, - 0x1f, 0x64, 0x3f, 0x7d, 0x05, 0xec, 0xd1, 0x07, 0xa1, 0xd9, 0x58, 0x38, 0x62, 0xbc, 0xb7, 0xa9, - 0x22, 0x6b, 0x28, 0x07, 0xb6, 0x43, 0x6d, 0xb0, 0x0c, 0x81, 0xac, 0x5a, 0x8b, 0x56, 0xf7, 0x09, - 0x99, 0x52, 0x6c, 0x08, 0x11, 0x1c, 0xed, 0x6c, 0xe2, 0x46, 0x2c, 0xc9, 0x8d, 0x19, 0xe2, 0x3f, - 0x28, 0xe6, 0x51, 0x49, 0x06, 0xfe, 0xed, 0xcf, 0x82, 0x93, 0x62, 0xf9, 0x33, 0x77, 0xd4, 0x47, - 0x62, 0x0b, 0xc9, 0xe8, 0x13, 0x6b, 0xa2, 0x9e, 0x4e, 0x05, 0x32, 0x54, 0xd4, 0x6d, 0xdc, 0x15, - 0x48, 0x80, 0xd0, 0x4e, 0x49, 0x5f, 0x66, 0x15, 0x4d, 0x00, 0x82, 0xf8, 0x83, 0xc9, 0xa8, 0x9e, - 0x2b, 0x98, 0xfc, 0xc9, 0xca, 0xd4, 0xa0, 0x8a, 0x9a, 0x4d, 0xe4, 0x3e, 0x70, 0xa8, 0xec, 0xed, - 0x68, 0x5d, 0x39, 0x57, 0xe5, 0x59, 0xf0, 0xa5, 0x02, 0x0b, 0x42, 0x73, 0x08, 0x2c, 0x5c, 0x40, - 0x6b, 0x23, 0x11, 0xd9, 0x04, 0x7f, 0x8b, 0xce, 0x75, 0x66, 0xc2, 0x6a, 0x25, 0x37, 0xf4, 0x5f, - 0x32, 0xa8, 0xe1, 0x6e, 0xc3, 0x94, 0x2a, 0x8e, 0x7c, 0xe3, 0xde, 0x4c, 0xaf, 0x65, 0x47, 0x9e, - 0x47, 0xe5, 0x99, 0x64, 0x36, 0x82, 0x03, 0xdd, 0x37, 0x92, 0x4d, 0xc2, 0x7e, 0x3e, 0xd3, 0x10, - 0x7a, 0x49, 0x86, 0x43, 0xfb, 0xaa, 0x12, 0xc6, 0xdd, 0x02, 0x0f, 0xb8, 0x0f, 0x7f, 0xd6, 0x53, - 0xa8, 0xf6, 0xaa, 0x2c, 0x36, 0x92, 0x3a, 0xbc, 0xf6, 0x9d, 0xf4, 0xb0, 0xf0, 0x50, 0x24, 0x09, - 0x42, 0xce, 0x3d, 0x6d, 0x50, 0xf1, 0x6b, 0x23, 0x2c, 0x10, 0xd2, 0x6e, 0x49, 0x27, 0x2c, 0xea, - 0x51, 0xa4, 0x14, 0x18, 0xf6, 0x39, 0x73, 0x75, 0x6c, 0x10, 0x53, 0xc8, 0x56, 0x6e, 0xf2, 0xeb, - 0x3f, 0x2a, 0x7c, 0x3c, 0x2a, 0x99, 0x92, 0xbf, 0x43, 0x05, 0x45, 0x91, 0x46, 0x4a, 0x06, 0x0f, - 0x11, 0x85, 0x94, 0x73, 0x30, 0xe9, 0x74, 0xdb, 0xbc, 0xde, 0x92, 0xcf, 0x8a, 0x22, 0x36, 0x44, - 0xb3, 0x76, 0x89, 0x40, 0x9e, 0x80, 0x8d, 0xad, 0x72, 0x6c, 0x18, 0x4b, 0x71, 0x47, 0xae, 0x28, - 0x47, 0x09, 0x7a, 0xe7, 0xfa, 0xf8, 0xd6, 0xd8, 0x9d, 0xda, 0x48, 0x0a, 0xeb, 0x7a, 0xb8, 0x5c, - 0xe2, 0xae, 0x42, 0xf1, 0x95, 0x44, 0x8d, 0x79, 0x37, 0x31, 0x7d, 0x7d, 0xff, 0x33, 0x8b, 0x5c, - 0xcd, 0x53, 0x00, 0xaa, 0x5c, 0xcb, 0x96, 0x7b, 0x30, 0x67, 0xd4, 0x0a, 0x50, 0x01, 0xac, 0xac, - 0x0c, 0x29, 0xa8, 0x1c, 0x11, 0xc8, 0x8b, 0x34, 0x7c, 0x08, 0xc1, 0xe7, 0xd2, 0x2a, 0xec, 0xbe, - 0x2a, 0x64, 0x43, 0xdc, 0xe8, 0xb1, 0x8f, 0xcf, 0x6b, 0x73, 0xbc, 0xf1, 0xa8, 0xc1, 0x38, 0x0b, - 0x37, 0xb1, 0xcb, 0x6c, 0xcd, 0xa8, 0xa7, 0x7d, 0x85, 0x74, 0xad, 0x20, 0x5a, 0xd3, 0x23, 0xb6, - 0x6d, 0x29, 0x6c, 0x76, 0x11, 0x8a, 0x10, 0xff, 0x56, 0x08, 0x02, 0x45, 0xa1, 0x1a, 0xf8, 0xc4, - 0x97, 0x7c, 0xe1, 0x1e, 0x31, 0x18, 0x81, 0xd9, 0x87, 0x7b, 0xf6, 0xf7, 0x82, 0x7a, 0x92, 0x8a, - 0xbc, 0x44, 0xc8, 0x68, 0xec, 0x8e, 0x86, 0x7d, 0x7e, 0xa6, 0x80, 0x16, 0x31, 0xaf, 0x39, 0x94, - 0x70, 0x63, 0xfb, 0xcb, 0x42, 0x12, 0x52, 0x8d, 0x50, 0xba, 0xd2, 0x10, 0x6b, 0x3f, 0xd3, 0x38, - 0x89, 0x58, 0xdd, 0x04, 0xc8, 0x1b, 0xdb, 0xb1, 0x31, 0x8c, 0x8c, 0x69, 0xc3, 0xdd, 0x45, 0x61, - 0x5d, 0x5a, 0x4a, 0x52, 0x1f, 0xd5, 0x7b, 0xcb, 0x3b, 0x2e, 0x33, 0x2b, 0x26, 0xa8, 0xf7, 0xfa, - 0x77, 0x84, 0x50, 0x6a, 0xdd, 0x57, 0x5d, 0xb7, 0x4a, 0x6c, 0xe6, 0xa8, 0x4e, 0xe2, 0xe0, 0xd5, - 0x65, 0x64, 0xab, 0x63, 0x3c, 0x75, 0x9f, 0x4b, 0x37, 0xc6, 0x77, 0xf1, 0xf4, 0x8f, 0x35, 0x5d, - 0x84, 0x58, 0x2b, 0x26, 0x4e, 0x4b, 0x43, 0xc0, 0x23, 0xde, 0x16, 0xc7, 0xa7, 0x60, 0xf1, 0x84, - 0xde, 0xaf, 0x88, 0x7f, 0x4f, 0x8d, 0xce, 0x36, 0x19, 0x4a, 0x69, 0x87, 0x62, 0xaa, 0x99, 0xa6, - 0xb3, 0x40, 0xe8, 0xde, 0x54, 0xf2, 0x34, 0x17, 0x7e, 0x6c, 0x8d, 0x5f, 0xb5, 0x18, 0x98, 0xac, - 0x00, 0xbe, 0xfb, 0x46, 0x40, 0x8f, 0x82, 0x9c, 0x4a, 0xdd, 0x44, 0x96, 0x35, 0xf9, 0x44, 0xb5, - 0xfc, 0xca, 0xf5, 0x84, 0xe1, 0x1b, 0x1e, 0x22, 0x6c, 0x82, 0x4c, 0xbc, 0x27, 0xe6, 0x6d, 0xc5, - 0xe7, 0x36, 0x88, 0x80, 0xfa, 0x49, 0x51, 0x34, 0xea, 0x7e, 0xc4, 0xfb, 0x5b, 0xe3, 0x78, 0xdb, - 0xba, 0xb7, 0x2b, 0xcc, 0xbe, 0xf4, 0xf1, 0x51, 0xac, 0x44, 0x5f, 0x22, 0xf2, 0x4c, 0xc9, 0x6b, - 0xa9, 0x4a, 0xca, 0x01, 0x32, 0x91, 0xcc, 0xe2, 0x23, 0xe0, 0xdc, 0xcb, 0xd4, 0x39, 0x88, 0x39, - 0xa6, 0x43, 0x3b, 0x8b, 0x50, 0x10, 0x32, 0xa0, 0x57, 0xdc, 0x32, 0x4a, 0xde, 0x28, 0xa8, 0x9b, - 0x62, 0xdf, 0xeb, 0xd2, 0xb3, 0x10, 0x58, 0x3e, 0xdf, 0x61, 0xbe, 0xb5, 0xbe, 0x21, 0xa2, 0x25, - 0xea, 0xc6, 0x93, 0xcb, 0x4a, 0x65, 0xb0, 0xdc, 0x24, 0x06, 0xb6, 0x83, 0x58, 0xb9, 0x73, 0x74, - 0x2f, 0x88, 0xc1, 0x88, 0x94, 0x7c, 0x98, 0x96, 0x19, 0x20, 0x31, 0x14, 0x20, 0x99, 0x7a, 0x4c, - 0xa3, 0xf7, 0x2a, 0x8f, 0x0b, 0x65, 0x49, 0x2b, 0x27, 0x24, 0x92, 0x3e, 0xe1, 0x0c, 0x35, 0x03, - 0x98, 0x4b, 0xa2, 0x7b, 0x47, 0xa0, 0x75, 0xb9, 0x7a, 0x7e, 0x90, 0x9f, 0x63, 0xe3, 0xfc, 0x01, - 0x84, 0xeb, 0x32, 0x30, 0xce, 0x9a, 0x1c, 0xb9, 0xac, 0xef, 0x03, 0x3d, 0xc5, 0x4d, 0x94, 0x90, - 0x90, 0x1d, 0xee, 0x2b, 0xf4, 0xdd, 0xd6, 0x0f, 0xa3, 0x95, 0x05, 0xa4, 0x2f, 0xa4, 0x11, 0xc3, - 0x06, 0xcb, 0x68, 0x86, 0x11, 0x1e, 0x2c, 0xcb, 0x3e, 0x39, 0xb6, 0x07, 0x90, 0x4b, 0x00, 0xa0, - 0xe1, 0x1c, 0x49, 0xa4, 0x8d, 0xba, 0xd4, 0xf0, 0x28, 0xee, 0xf0, 0x83, 0x78, 0x38, 0xf6, 0x18, - 0xb8, 0xb4, 0x7f, 0x46, 0xba, 0xaa, 0x13, 0x93, 0xa3, 0x7a, 0x63, 0xc6, 0xfe, 0x20, 0x66, 0x4d, - 0x4c, 0x65, 0x02, 0xf3, 0xb0, 0x64, 0x82, 0x26, 0x13, 0x75, 0x5a, 0x99, 0x5b, 0xe8, 0x7b, 0xbd, - 0xda, 0x46, 0x75, 0x2c, 0x7e, 0x30, 0xe4, 0x21, 0xf6, 0x65, 0x75, 0xd0, 0xcc, 0xa0, 0x1f, 0xd5, - 0x84, 0x3c, 0x4b, 0xc0, 0x82, 0xf6, 0xd6, 0x5c, 0x92, 0xd6, 0xd3, 0x36, 0x3c, 0x87, 0x48, 0x71, - 0xfe, 0xc0, 0xf0, 0x2d, 0xfe, 0x17, 0x4f, 0x91, 0x8e, 0xda, 0x4b, 0xfa, 0x6c, 0x6f, 0x20, 0x2b, - 0xea, 0xb9, 0xd6, 0xf6, 0x89, 0x81, 0xfe, 0x15, 0x27, 0x6e, 0x9b, 0xc3, 0xcc, 0x58, 0x38, 0xf3, - 0x18, 0x66, 0x4b, 0xce, 0xfb, 0x2d, 0xe0, 0x47, 0x73, 0xc7, 0x83, 0x65, 0x2f, 0x9b, 0x43, 0xcc, - 0x62, 0xa8, 0x2c, 0xd6, 0x0d, 0x70, 0x1e, 0xbb, 0xdc, 0xa6, 0x97, 0x84, 0xe1, 0x19, 0xf3, 0xfb, - 0x35, 0xb8, 0x9d, 0x97, 0x23, 0x87, 0x12, 0x66, 0x99, 0x1e, 0x0f, 0x85, 0x03, 0x37, 0x21, 0x12, - 0x9b, 0x08, 0x10, 0x27, 0x9d, 0x60, 0xef, 0xed, 0x1b, 0x2d, 0x0f, 0x85, 0x54, 0x7c, 0xb7, 0xe0, - 0x96, 0xee, 0x2f, 0xe3, 0x27, 0xb6, 0xaa, 0xe3, 0x82, 0x81, 0x81, 0xbf, 0x00, 0x99, 0xa3, 0xda, - 0xa8, 0x52, 0x2f, 0xa3, 0x41, 0x2f, 0x09, 0x55, 0xeb, 0x49, 0x29, 0xe5, 0x01, 0xcf, 0x41, 0xf2, - 0x8c, 0x79, 0x51, 0xd5, 0xd1, 0x18, 0x94, 0x92, 0xa0, 0xf4, 0xdc, 0xe3, 0x88, 0xea, 0x1f, 0x22, - 0xf6, 0xea, 0x57, 0x48, 0xaa, 0x30, 0x48, 0x2b, 0x88, 0x71, 0xd4, 0xd6, 0xfa, 0x1d, 0xce, 0x51, - 0xa0, 0x5e, 0x87, 0x53, 0x74, 0x9b, 0xe8, 0x10, 0xee, 0x3e, 0xb7, 0x5d, 0xb8, 0xc2, 0x67, 0x19, - 0x91, 0xe1, 0xa3, 0x93, 0x89, 0x6c, 0xaa, 0xed, 0x60, 0x2e, 0x5b, 0xd7, 0xe8, 0xe6, 0xc6, 0xb7, - 0xc1, 0x6a, 0x52, 0xbb, 0x6e, 0x7e, 0x84, 0x2c, 0xcc, 0x8a, 0x12, 0x1b, 0xff, 0x18, 0x2f, 0x9a, - 0x59, 0x1f, 0x1d, 0x4d, 0x20, 0xb5, 0x35, 0x62, 0x3f, 0xaf, 0xeb, 0x8d, 0xd7, 0x5f, 0x4a, 0x89, - 0x06, 0xfa, 0xd0, 0xdc, 0xfd, 0xa1, 0x40, 0x68, 0xed, 0x62, 0xb2, 0x62, 0x1d, 0x15, 0xef, 0x7d, - 0xe7, 0xdb, 0xe6, 0x1c, 0x8d, 0x3d, 0x88, 0xc0, 0xdc, 0x3a, 0x1e, 0x61, 0xd0, 0xe2, 0xb8, 0x7b, - 0x04, 0xae, 0x06, 0xdf, 0x8b, 0x83, 0x81, 0x50, 0xe8, 0x53, 0x95, 0x30, 0xf1, 0xfb, 0xf7, 0x62, - 0x2e, 0xe9, 0x8c, 0x7a, 0xf6, 0x45, 0x9e, 0x64, 0xcd, 0x66, 0xae, 0x94, 0xec, 0x8c, 0xda, 0x31, - 0x96, 0x1f, 0xaf, 0xcf, 0x9a, 0x48, 0x63, 0xba, 0x41, 0xba, 0x2c, 0xbc, 0x89, 0x1a, 0x3f, 0x88, - 0x09, 0x44, 0x45, 0xf5, 0xcf, 0xa4, 0xcb, 0x24, 0x70, 0x88, 0xb0, 0xf4, 0xb2, 0x02, 0x72, 0x99, - 0xd1, 0xff, 0x5d, 0xeb, 0xef, 0x7e, 0x17, 0xa5, 0xd1, 0xb2, 0x8a, 0xf9, 0x28, 0xdc, 0x42, 0xc2, - 0x5d, 0x50, 0x5e, 0xa9, 0x7b, 0x1c, 0xc4, 0x6f, 0x8f, 0x5c, 0x6a, 0x4a, 0x94, 0x69, 0x38, 0x74, - 0x8d, 0x94, 0x96, 0x8c, 0xee, 0x17, 0x71, 0xa5, 0xbc, 0x8c, 0x01, 0x4e, 0x85, 0xe1, 0x9e, 0x95, - 0x7b, 0x67, 0x22, 0xbc, 0xd4, 0x3b, 0x04, 0xa3, 0xe3, 0x25, 0xa7, 0x52, 0x49, 0x4e, 0x1f, 0x8f, - 0xf0, 0xbe, 0xfc, 0xf6, 0xea, 0xaf, 0x8b, 0xd2, 0x3b, 0xfa, 0x13, 0x79, 0x24, 0x2e, 0xd9, 0x55, - 0x16, 0x07, 0x56, 0xdd, 0xff, 0x89, 0x1e, 0xda, 0xd8, 0x5b, 0x63, 0x9e, 0xbb, 0x64, 0xd2, 0x38, - 0xed, 0xe3, 0xda, 0xfc, 0xda, 0x57, 0xe2, 0xb3, 0xee, 0xdc, 0x24, 0x48, 0x42, 0x50, 0xcc, 0xe3, - 0x77, 0x88, 0xea, 0x62, 0x98, 0xc9, 0x55, 0x27, 0x8f, 0x51, 0xc0, 0xb8, 0x29, 0xef, 0xff, 0x26, - 0x71, 0xed, 0x8a, 0x93, 0x50, 0xc0, 0x93, 0xe2, 0x95, 0xc7, 0xee, 0xad, 0xef, 0x3b, 0x50, 0xc5, - 0xf8, 0x15, 0xda, 0x2e, 0x3c, 0x82, 0x49, 0xe8, 0x55, 0x9b, 0x78, 0xf8, 0xbb, 0x86, 0x0a, 0x3a, - 0x27, 0xe4, 0x7d, 0xe0, 0xbd, 0x02, 0x02, 0x09, 0x29, 0xf8, 0x85, 0x43, 0xc0, 0x5a, 0x9d, 0x43, - 0xda, 0xc4, 0xd5, 0x8b, 0x79, 0x44, 0x7c, 0x70, 0xfe, 0x8b, 0x98, 0xf8, 0x55, 0xc1, 0x2c, 0x27, - 0x3e, 0x5b, 0x09, 0x08, 0xd5, 0x62, 0x15, 0x8c, 0x48, 0x2a, 0xa4, 0x3a, 0xb6, 0xe5, 0x6d, 0xa6, - 0xef, 0x4e, 0xaa, 0x2e, 0x2a, 0xd6, 0x24, 0x72, 0xf2, 0x8f, 0xbb, 0x64, 0xa7, 0xb4, 0x74, 0xf3, - 0x71, 0xef, 0xf1, 0x2f, 0xf3, 0xfb, 0x5f, 0x21, 0x57, 0x3a, 0x90, 0xe1, 0xd6, 0x8a, 0x1e, 0x1a, - 0x41, 0xe6, 0x95, 0x9d, 0x2b, 0x7b, 0xc1, 0xb6, 0x87, 0xc6, 0x71, 0x0a, 0x61, 0x90, 0xbe, 0x8b, - 0x9c, 0xac, 0x0e, 0x6c, 0xf0, 0xac, 0x71, 0x3f, 0x29, 0xcb, 0x71, 0xd5, 0x34, 0x0a, 0xa9, 0x46, - 0xf5, 0x59, 0x00, 0xbb, 0xb0, 0x8d, 0x3c, 0x3f, 0x09, 0x43, 0x14, 0x03, 0x3c, 0x32, 0xa9, 0xfe, - 0xea, 0xe0, 0xfe, 0xab, 0x8c, 0x84, 0x0f, 0xc6, 0x3f, 0xa8, 0x4d, 0x09, 0xb7, 0xd3, 0xae, 0xa9, - 0x57, 0x59, 0x97, 0x59, 0xb3, 0xda, 0x2b, 0x08, 0x17, 0xa1, 0xb0, 0x6a, 0x54, 0x6e, 0x1e, 0xa9, - 0xa1, 0x69, 0xcf, 0x64, 0x7f, 0xcd, 0xd3, 0x52, 0xf5, 0xda, 0xf0, 0x8b, 0x56, 0x27, 0x15, 0x77, - 0xc3, 0x50, 0xb3, 0x24, 0x65, 0x43, 0x91, 0xcc, 0x47, 0xf2, 0x47, 0x0a, 0xa4, 0x6e, 0x5f, 0x0e, - 0x89, 0x05, 0x91, 0x91, 0x84, 0x88, 0x9f, 0xd9, 0x6d, 0xb7, 0xbc, 0xa7, 0x0f, 0x99, 0x7a, 0x00, - 0x87, 0x5a, 0x9a, 0xc7, 0x08, 0xdc, 0x7d, 0xca, 0x12, 0xcf, 0x64, 0x82, 0xc0, 0x3d, 0x9a, 0xf9, - 0xf0, 0x4f, 0xcc, 0x30, 0xe7, 0x83, 0x04, 0x27, 0x19, 0x1c, 0x73, 0xfe, 0xc0, 0x52, 0x5a, 0x95, - 0x33, 0x79, 0x7f, 0xab, 0x42, 0x1d, 0x73, 0x8d, 0x08, 0xdd, 0x16, 0x6c, 0xd6, 0x0e, 0x94, 0xf0, - 0xa7, 0xc3, 0xb8, 0xff, 0x49, 0x66, 0x48, 0xf7, 0xd0, 0x13, 0x5b, 0xc7, 0x7e, 0xb5, 0x5a, 0x55, - 0x9d, 0x3b, 0x22, 0x04, 0x60, 0xcf, 0x9b, 0x3d, 0xf2, 0xb5, 0xde, 0x57, 0x1d, 0x51, 0xc8, 0xfd, - 0xf2, 0x82, 0xcb, 0xb7, 0x9c, 0x47, 0x17, 0xfc, 0x6f, 0xf2, 0x13, 0xd6, 0x43, 0xae, 0x7e, 0xa7, - 0x2b, 0x64, 0x4e, 0x9a, 0x3c, 0xdc, 0xd5, 0xd7, 0xad, 0xe8, 0x7c, 0xfb, 0xbb, 0x97, 0xa8, 0x94, - 0x40, 0xb3, 0xa1, 0x4c, 0x6a, 0x39, 0x09, 0x67, 0xfe, 0x28, 0x45, 0x54, 0xeb, 0x88, 0xca, 0xf2, - 0xa1, 0x34, 0x3c, 0xf3, 0x17, 0x22, 0xce, 0x47, 0x77, 0x23, 0xe8, 0x0d, 0xde, 0xa7, 0x3a, 0x50, - 0x7f, 0x98, 0x7e, 0xf7, 0x3d, 0x46, 0xc8, 0xd0, 0x8d, 0x60, 0x63, 0xa4, 0x0b, 0x16, 0xe0, 0x20, - 0xed, 0x81, 0x2a, 0x37, 0xfe, 0xc5, 0xb3, 0xd0, 0x66, 0x55, 0x0b, 0x07, 0xd6, 0xfc, 0x63, 0x37, - 0xb1, 0xd5, 0xbd, 0x3c, 0x0b, 0xf8, 0x3c, 0x54, 0x05, 0xd2, 0x71, 0xc1, 0x56, 0x23, 0x8a, 0xb5, - 0x7c, 0xbd, 0x36, 0xae, 0xdb, 0xcf, 0xda, 0x13, 0xab, 0x04, 0x84, 0x65, 0x01, 0x53, 0x2f, 0x24, - 0xa7, 0x5a, 0x8f, 0x19, 0xb0, 0x8c, 0x3a, 0x9f, 0xa3, 0xa8, 0x52, 0x48, 0xc0, 0xcf, 0xc9, 0x19, - 0x55, 0x9c, 0x63, 0x54, 0x0b, 0xee, 0x4a, 0x5b, 0x67, 0xb4, 0x88, 0xc3, 0x08, 0x9a, 0x2c, 0xd2, - 0x8f, 0x90, 0xb0, 0x60, 0x90, 0x6a, 0x1e, 0x75, 0xb7, 0x7f, 0xd0, 0xfc, 0x36, 0xf6, 0xb5, 0x39, - 0x38, 0xdc, 0xb3, 0xf1, 0xf5, 0x3d, 0x0e, 0x86, 0x6c, 0xf5, 0x12, 0x5c, 0xb7, 0x78, 0x2f, 0x56, - 0x0e, 0xcd, 0x62, 0x29, 0x00, 0x88, 0x05, 0x2a, 0xad, 0x92, 0xd2, 0xc3, 0x19, 0xca, 0xba, 0x58, - 0x2e, 0x3b, 0x45, 0x1c, 0x84, 0x22, 0x5f, 0x71, 0x8a, 0xbc, 0xf8, 0x8b, 0x04, 0x2d, 0x3a, 0xd7, - 0x46, 0x71, 0x06, 0x02, 0x41, 0xda, 0x21, 0xf5, 0x71, 0xaa, 0x30, 0xdc, 0xcd, 0x8b, 0xf8, 0xb2, - 0xed, 0xb3, 0xb8, 0x19, 0x18, 0x37, 0x7f, 0x71, 0xee, 0x77, 0xa2, 0x5e, 0x5a, 0xac, 0xf1, 0xbd, - 0x9c, 0x5f, 0xbd, 0xf5, 0x14, 0x37, 0xa7, 0x05, 0x0f, 0x31, 0xde, 0xa9, 0x36, 0x55, 0x8a, 0xc5, - 0xb7, 0x3a, 0x2b, 0x71, 0x41, 0x1d, 0x79, 0xfb, 0xdc, 0x3f, 0x40, 0xc7, 0xc8, 0x2e, 0x6e, 0xe9, - 0xdc, 0x00, 0xb6, 0x0d, 0x24, 0x82, 0x2f, 0x2c, 0x00, 0xdb, 0x34, 0xa9, 0x7f, 0x45, 0xc0, 0x2b, - 0xee, 0xc3, 0x9b, 0xfa, 0x0b, 0x81, 0xb1, 0x69, 0x27, 0x59, 0xfe, 0x77, 0xb9, 0x4c, 0xbb, 0xbc, - 0xaf, 0xa5, 0x7c, 0xd3, 0xc7, 0xc1, 0x3b, 0x5e, 0x01, 0x51, 0x5e, 0x4a, 0xf1, 0xad, 0xc8, 0xda, - 0xdf, 0xe0, 0x02, 0xf7, 0x9f, 0x42, 0x9f, 0x98, 0x1f, 0x74, 0x08, 0x69, 0x2d, 0x09, 0x89, 0xd4, - 0xa2, 0x09, 0xd8, 0xf0, 0xf4, 0xbe, 0x09, 0x49, 0x49, 0x0c, 0xcd, 0xf3, 0x96, 0xee, 0x16, 0x44, - 0x54, 0xf6, 0x71, 0x09, 0x48, 0x91, 0x6d, 0xf3, 0xe5, 0xe5, 0x1b, 0x2f, 0xfe, 0x20, 0xa8, 0xef, - 0x61, 0x61, 0xcc, 0x80, 0xf4, 0x40, 0x82, 0xae, 0x4c, 0x16, 0x40, 0x6e, 0x27, 0xbf, 0x7e, 0xc4, - 0xe8, 0xbc, 0x71, 0x1f, 0xb2, 0x4d, 0x38, 0x3e, 0xaa, 0x47, 0xca, 0x93, 0x4d, 0x63, 0x20, 0x0f, - 0x2c, 0x14, 0xf4, 0x08, 0xda, 0xaf, 0x32, 0xe1, 0xde, 0xfa, 0xca, 0x0d, 0x69, 0xc3, 0xf4, 0xfa, - 0x6b, 0xda, 0xd9, 0x29, 0x91, 0x5e, 0x7b, 0x3a, 0x40, 0x8f, 0x33, 0xb5, 0xc0, 0x6a, 0x4c, 0x48, - 0x15, 0x31, 0xd2, 0xc5, 0x9f, 0x93, 0xf6, 0x8e, 0xd9, 0x9f, 0x2c, 0xe0, 0x2d, 0x4e, 0x07, 0x7f, - 0x64, 0x6a, 0xc2, 0x70, 0x2b, 0x66, 0x52, 0xd1, 0xf9, 0x50, 0xc9, 0xbe, 0x09, 0x81, 0x3b, 0xf2, - 0x10, 0x00, 0x2b, 0x6b, 0x7b, 0x73, 0x7e, 0xee, 0x75, 0x97, 0x2a, 0x58, 0xe3, 0x1d, 0x54, 0x30, - 0x73, 0xad, 0xfb, 0x53, 0xff, 0xa1, 0x25, 0x6f, 0xb7, 0x58, 0x31, 0x68, 0xc7, 0xf0, 0xea, 0xa6, - 0xca, 0x64, 0x2a, 0x04, 0x62, 0x23, 0x02, 0x9f, 0xce, 0x27, 0x86, 0xe6, 0xcf, 0xaa, 0x45, 0x5c, - 0xbf, 0x9a, 0x05, 0x50, 0x7c, 0x84, 0x82, 0xda, 0xf0, 0x21, 0xf1, 0xf1, 0xd9, 0x23, 0xac, 0x04, - 0xe0, 0x20, 0x11, 0x68, 0x3f, 0x10, 0x45, 0xe2, 0x2a, 0xdd, 0x42, 0xab, 0xc8, 0x84, 0xf8, 0xd8, - 0xaa, 0x85, 0x0e, 0x41, 0x73, 0xe7, 0xcc, 0x03, 0x99, 0x1a, 0x0a, 0x97, 0x89, 0x1a, 0xb2, 0x28, - 0x14, 0xb3, 0x05, 0xc4, 0x5a, 0x87, 0xd9, 0xe1, 0x51, 0x3c, 0x8d, 0x33, 0xf2, 0xd0, 0x20, 0x0c, - 0xab, 0xa6, 0x49, 0x82, 0x23, 0xfe, 0xe7, 0xfe, 0xb3, 0xad, 0xda, 0x81, 0x08, 0x41, 0xb7, 0x8c, - 0xd4, 0xe4, 0xde, 0x6b, 0xe2, 0xc8, 0x2f, 0xd7, 0x29, 0x24, 0x0f, 0xf3, 0x04, 0xa1, 0x6a, 0x2a, - 0x66, 0x3a, 0x9b, 0x0e, 0xb3, 0x54, 0x51, 0x98, 0x1e, 0x94, 0xec, 0xfc, 0xa6, 0x42, 0x1f, 0x8b, - 0x00, 0x88, 0x14, 0x9c, 0xd5, 0x5b, 0x1e, 0x51, 0x33, 0xed, 0xd8, 0x16, 0x2b, 0xc8, 0x4d, 0xea, - 0xca, 0x2c, 0x9d, 0xf1, 0x0e, 0xe9, 0x90, 0xc8, 0x16, 0x84, 0xc0, 0xd7, 0x09, 0x8d, 0x65, 0x62, - 0x9e, 0xbc, 0xfc, 0xef, 0x73, 0xf8, 0xd6, 0xfb, 0xac, 0xe0, 0xe5, 0x20, 0xb8, 0xfa, 0xc1, 0xbc, - 0xe4, 0xc5, 0x4f, 0x3b, 0x89, 0x06, 0xc5, 0x4d, 0xc8, 0x38, 0x7e, 0xaa, 0xde, 0x1a, 0x4f, 0x2e, - 0xe1, 0xb0, 0xa9, 0xc8, 0x6f, 0x9d, 0xac, 0x03, 0xa8, 0xb5, 0x27, 0x34, 0x77, 0xd2, 0x18, 0x77, - 0x78, 0xa9, 0xfd, 0x62, 0x9a, 0xfc, 0xfc, 0xbc, 0x67, 0xa9, 0xaa, 0x71, 0xe0, 0x22, 0x49, 0x9c, - 0x71, 0x33, 0xe2, 0xc3, 0xf4, 0x1b, 0xca, 0x5b, 0xfd, 0x37, 0xc8, 0x63, 0x52, 0x67, 0x90, 0x8e, - 0x97, 0x34, 0x97, 0x45, 0xfa, 0xa7, 0xd0, 0x33, 0xc4, 0xc3, 0xd6, 0x7d, 0xbe, 0x71, 0x03, 0x4e, - 0xee, 0x9f, 0x85, 0x2a, 0xd9, 0xca, 0x23, 0xc1, 0x1e, 0x27, 0xf2, 0x50, 0xda, 0xae, 0x76, 0x4a, - 0x14, 0xef, 0x7b, 0x13, 0x42, 0xb0, 0xfa, 0xc0, 0x4f, 0x96, 0xa1, 0xf0, 0x91, 0x78, 0x1d, 0x9b, - 0x79, 0xe3, 0xf3, 0x3a, 0x81, 0x7f, 0x40, 0xae, 0x42, 0xa9, 0xf4, 0x9f, 0x04, 0xcc, 0xea, 0x83, - 0xac, 0xa3, 0xbe, 0x65, 0xcf, 0x33, 0x4a, 0xcd, 0x64, 0x87, 0xa3, 0x0e, 0xe4, 0xa8, 0x45, 0x0f, - 0x43, 0x2a, 0x53, 0x00, 0x42, 0x31, 0x80, 0x3b, 0xbe, 0x6d, 0xd8, 0xc5, 0xfa, 0xfc, 0xbd, 0x66, - 0xcb, 0x4d, 0x5f, 0x07, 0xfe, 0xf5, 0xdd, 0x53, 0x96, 0x6f, 0xa5, 0x35, 0xe4, 0x71, 0x75, 0x5a, - 0x9e, 0x88, 0x42, 0x83, 0x67, 0xd0, 0xbe, 0x7a, 0x30, 0x92, 0xe1, 0xd0, 0x91, 0xda, 0xcd, 0xb0, - 0x99, 0xc4, 0xb7, 0x5f, 0x9d, 0x1b, 0x6f, 0x24, 0x18, 0x1d, 0xe2, 0x6f, 0x09, 0x93, 0xd5, 0xb8, - 0x1b, 0x1c, 0xcf, 0x03, 0x9f, 0xb6, 0x66, 0x89, 0x48, 0xfd, 0x22, 0xda, 0x42, 0x11, 0x3e, 0xd0, - 0x24, 0x2e, 0xdc, 0x17, 0xc8, 0x6b, 0xa7, 0x46, 0x76, 0x47, 0xf8, 0x48, 0xeb, 0xcd, 0x85, 0x0d, - 0x0c, 0xe0, 0x1b, 0xfe, 0xe5, 0xf6, 0x1b, 0xf8, 0x4d, 0x81, 0x85, 0x94, 0x48, 0x93, 0xbe, 0x39, - 0xd3, 0xe6, 0x0d, 0x94, 0x49, 0xf8, 0xfb, 0x8f, 0xed, 0x1c, 0x44, 0x89, 0xc3, 0x0c, 0xc1, 0x3f, - 0xeb, 0x74, 0x20, 0x25, 0x9d, 0xf5, 0x21, 0x21, 0x5b, 0xc8, 0xce, 0x16, 0xc8, 0x46, 0xc5, 0x8b, - 0xc7, 0x61, 0xef, 0x99, 0x08, 0x2a, 0x31, 0x7c, 0x4e, 0xbd, 0x69, 0x32, 0xa7, 0x9e, 0xdd, 0xba, - 0xa8, 0x40, 0x50, 0x62, 0x0c, 0xaa, 0x27, 0xb4, 0x84, 0x5e, 0x5f, 0xf0, 0x50, 0x37, 0x57, 0xff, - 0x53, 0x76, 0xbe, 0x66, 0x92, 0x89, 0x7a, 0x38, 0x3b, 0xe3, 0x1c, 0x7c, 0x0e, 0x30, 0x22, 0x15, - 0xb0, 0x86, 0x23, 0xb9, 0x71, 0x88, 0x7f, 0xc7, 0x5f, 0x37, 0xe7, 0x71, 0x72, 0xf8, 0x70, 0xba, - 0x4e, 0xca, 0xa6, 0x34, 0xff, 0xd6, 0x3b, 0xd0, 0xc7, 0x79, 0x73, 0x5a, 0x97, 0x2d, 0x95, 0x84, - 0xd6, 0xc8, 0x0f, 0x3c, 0xa9, 0x58, 0x32, 0x4c, 0xdf, 0xe9, 0x74, 0xd4, 0x29, 0x6c, 0xc1, 0xed, - 0x80, 0x0f, 0xfe, 0xda, 0xef, 0x53, 0xd7, 0xbf, 0xce, 0x11, 0x3e, 0xae, 0x24, 0xa4, 0x97, 0x78, - 0x55, 0x9f, 0x18, 0xc8, 0x4f, 0x03, 0x0d, 0x4d, 0x6f, 0x48, 0xa1, 0x9d, 0x4b, 0xf0, 0x1f, 0xdd, - 0x9e, 0xfd, 0x16, 0xed, 0x1b, 0x00, 0x6a, 0x85, 0x54, 0xf8, 0xca, 0xa8, 0x34, 0xea, 0x92, 0x96, - 0x6c, 0x21, 0x45, 0x1f, 0x00, 0x18, 0x95, 0xd4, 0xf0, 0xa6, 0x47, 0x92, 0x7d, 0x8c, 0xa1, 0x0a, - 0x77, 0x22, 0x41, 0x2a, 0xcb, 0x76, 0x2b, 0xe2, 0x25, 0xf9, 0x40, 0x11, 0x81, 0xf7, 0xe0, 0xb2, - 0x4c, 0x67, 0x80, 0xe6, 0x21, 0xa9, 0xd6, 0x51, 0x3f, 0xf7, 0x0b, 0x26, 0x8b, 0xc0, 0x42, 0x20, - 0xb4, 0xa4, 0x1e, 0x2e, 0x7f, 0xca, 0x4c, 0x12, 0xb4, 0xb3, 0x2f, 0xee, 0x0c, 0xef, 0x58, 0xef, - 0xcc, 0x38, 0x24, 0x1e, 0x6e, 0x4b, 0xa5, 0x81, 0x5d, 0x89, 0xa8, 0x31, 0x91, 0x7d, 0x04, 0x51, - 0xc0, 0x66, 0xfe, 0x52, 0xc6, 0xf1, 0xb3, 0x32, 0x2a, 0x97, 0x48, 0xeb, 0x78, 0x22, 0x37, 0x19, - 0x23, 0x0c, 0x27, 0x9e, 0x01, 0x17, 0xe4, 0xf1, 0x7b, 0xd8, 0x54, 0x2d, 0x5b, 0x43, 0x65, 0x29, - 0xb7, 0x0c, 0xf2, 0xbb, 0x6a, 0x26, 0x9d, 0xb0, 0x42, 0x14, 0x5d, 0x7b, 0x35, 0xbc, 0x07, 0xb2, - 0xa4, 0x46, 0x64, 0x3b, 0xe8, 0xc8, 0x47, 0x75, 0xb9, 0x01, 0x07, 0x30, 0xdd, 0x73, 0x6d, 0x8f, - 0xfe, 0xb0, 0x78, 0x26, 0x4e, 0xd0, 0x0a, 0x93, 0xa8, 0x98, 0x04, 0x78, 0x3a, 0xc1, 0x82, 0x4e, - 0xf0, 0x37, 0x64, 0x97, 0x77, 0xf4, 0x2f, 0x42, 0xa7, 0x59, 0x40, 0xf3, 0xf7, 0x7f, 0x34, 0x4e, - 0xe2, 0x2a, 0x34, 0x54, 0xce, 0xbd, 0x55, 0x92, 0xcd, 0xd8, 0x3c, 0xfa, 0xc3, 0x15, 0x2d, 0x1f, - 0xbf, 0x24, 0x0b, 0xb0, 0xd8, 0x49, 0x49, 0x38, 0xf0, 0xfa, 0x69, 0xec, 0xdd, 0x53, 0x2e, 0x79, - 0x2b, 0x19, 0xc0, 0x6d, 0xbe, 0x28, 0x85, 0xc6, 0x65, 0xcb, 0x2a, 0xff, 0x68, 0x69, 0x39, 0xa5, - 0x9f, 0x22, 0xd8, 0xa8, 0x7d, 0xcc, 0x03, 0x4e, 0x2b, 0x5d, 0x56, 0xfd, 0xe8, 0x60, 0x74, 0x68, - 0x95, 0x3f, 0x07, 0x18, 0xd6, 0x52, 0xcd, 0xf9, 0x9c, 0xc1, 0x93, 0x1a, 0x9d, 0xd0, 0xf8, 0xa6, - 0x00, 0xec, 0xb3, 0x1e, 0x1b, 0x32, 0xe7, 0xa7, 0x72, 0x76, 0xef, 0xce, 0xa7, 0x36, 0xbf, 0x50, - 0xd9, 0x94, 0xe9, 0xac, 0x6c, 0xad, 0x4e, 0x40, 0x86, 0x99, 0x4a, 0xb0, 0x95, 0xf6, 0xfe, 0x08, - 0x98, 0xe1, 0xa1, 0x57, 0xe2, 0x15, 0xc2, 0xda, 0xef, 0x24, 0x5a, 0x2e, 0xf8, 0x83, 0x77, 0xff, - 0x7e, 0xe8, 0xce, 0xda, 0xd5, 0x80, 0x84, 0xe2, 0x9a, 0x3e, 0x22, 0x83, 0x13, 0xf6, 0xe4, 0x52, - 0xbd, 0x6a, 0x47, 0x70, 0xbb, 0xd3, 0x95, 0x28, 0x7a, 0x8c, 0x20, 0x22, 0xdd, 0xbc, 0x21, 0x1e, - 0x57, 0x1c, 0x30, 0xd7, 0x0e, 0xc5, 0xd8, 0xb9, 0x3b, 0xcc, 0xbb, 0x5c, 0x2c, 0x4d, 0xa4, 0x05, - 0x10, 0x4c, 0x7b, 0xf7, 0xfb, 0xdb, 0xfa, 0xca, 0xda, 0xe8, 0xcc, 0xdd, 0x16, 0x07, 0x97, 0x90, - 0x2f, 0x25, 0xc8, 0xad, 0x36, 0xa6, 0xb5, 0x2d, 0x48, 0x86, 0x25, 0x56, 0xa3, 0xc9, 0xe6, 0xf6, - 0x91, 0x91, 0xe5, 0x64, 0xa7, 0x6c, 0xa7, 0x3a, 0x70, 0x3b, 0xae, 0xf9, 0x17, 0x18, 0x36, 0x3b, - 0x5d, 0x01, 0xe4, 0x11, 0x5c, 0xaa, 0xed, 0x3a, 0x2d, 0x2a, 0xac, 0x17, 0xc8, 0xaa, 0xc8, 0xf3, - 0x63, 0x4d, 0x40, 0x50, 0x4b, 0xa2, 0xe8, 0x11, 0x18, 0xeb, 0x8e, 0x8d, 0x00, 0x77, 0xa0, 0x32, - 0xe7, 0x13, 0x61, 0x87, 0xe3, 0x4f, 0xa4, 0xd4, 0x95, 0xb2, 0xed, 0x06, 0xee, 0xb5, 0x0b, 0x65, - 0x57, 0x79, 0x5d, 0x33, 0xfe, 0x18, 0x0f, 0x67, 0x49, 0xc1, 0xf6, 0x4a, 0x85, 0x07, 0x8e, 0x1a, - 0x31, 0xc5, 0x7e, 0xbb, 0x8f, 0x71, 0xca, 0x0b, 0x78, 0x7e, 0x31, 0xef, 0x85, 0xa7, 0xe0, 0x85, - 0xcf, 0x1d, 0x8b, 0xb0, 0xfa, 0x54, 0xb2, 0xf9, 0xf1, 0x26, 0x89, 0xf2, 0x22, 0xa1, 0x7f, 0xd2, - 0x39, 0x35, 0x19, 0xeb, 0xb3, 0x8b, 0x8c, 0x3a, 0x58, 0xfa, 0xed, 0x5f, 0xed, 0xaa, 0x04, 0xd2, - 0x15, 0x82, 0x7c, 0xbb, 0xd2, 0x38, 0x1f, 0xbf, 0x35, 0x17, 0x3f, 0x1b, 0x6b, 0x58, 0xff, 0x63, - 0x00, 0xae, 0x53, 0xa0, 0x08, 0x1c, 0x7e, 0x24, 0x7c, 0x83, 0x05, 0xa3, 0xec, 0xfe, 0x27, 0x1b, - 0x70, 0x77, 0x39, 0x2f, 0x92, 0x61, 0xef, 0x7a, 0x0a, 0xcd, 0xfa, 0x23, 0xb8, 0x90, 0xef, 0x68, - 0xaa, 0x40, 0x33, 0x4e, 0xea, 0x47, 0x82, 0xb3, 0x35, 0x8b, 0xf7, 0x9e, 0xf3, 0xef, 0x96, 0xfe, - 0x6d, 0x7b, 0xe2, 0x0f, 0x81, 0x74, 0xf9, 0xb8, 0x8b, 0x73, 0xf1, 0x06, 0xfa, 0x73, 0x62, 0xb6, - 0xd2, 0xd9, 0x57, 0x93, 0x58, 0x9f, 0x12, 0x58, 0x63, 0x81, 0xbb, 0x38, 0x7d, 0x1a, 0xed, 0x2a, - 0x4e, 0xc7, 0xe3, 0xae, 0xdb, 0x7e, 0x53, 0x97, 0x8a, 0xb4, 0x4e, 0x33, 0x0d, 0x93, 0xd4, 0xb9, - 0x33, 0xda, 0x36, 0xdf, 0x45, 0x77, 0x6e, 0x95, 0xf2, 0x85, 0xf1, 0xea, 0xe4, 0xfc, 0x14, 0xbb, - 0x61, 0x3b, 0xf2, 0xbc, 0xeb, 0x0f, 0xc9, 0x10, 0x14, 0x9b, 0xa8, 0xd9, 0x70, 0x4d, 0x07, 0x1b, - 0x39, 0xc1, 0x78, 0x7d, 0x0f, 0x7d, 0x40, 0x03, 0x34, 0x1e, 0xed, 0xa6, 0xc2, 0xe8, 0x64, 0xf8, - 0xa0, 0xa5, 0xe7, 0x96, 0x9d, 0x49, 0x30, 0xea, 0xea, 0x93, 0x45, 0xf3, 0x22, 0xd4, 0x8b, 0xe6, - 0xb3, 0x8c, 0x6e, 0xaf, 0xb3, 0x11, 0x86, 0xd9, 0x4d, 0x12, 0x97, 0xb1, 0x97, 0x75, 0xc3, 0xee, - 0x9b, 0x37, 0x6f, 0x82, 0xfe, 0x42, 0xc3, 0x2e, 0x5b, 0x64, 0x91, 0xdf, 0x53, 0xda, 0x69, 0xf5, - 0x5f, 0xc2, 0x47, 0x07, 0xc0, 0xaf, 0xa0, 0x6a, 0xfd, 0xf8, 0xf2, 0x08, 0x5c, 0x70, 0x11, 0x78, - 0x77, 0xb5, 0xc3, 0xa5, 0x83, 0x48, 0xa6, 0xc5, 0xf0, 0x2d, 0x44, 0xa0, 0x2a, 0x8e, 0xb0, 0x86, - 0x82, 0xd3, 0x14, 0x69, 0x46, 0x3e, 0x81, 0x9b, 0x41, 0x82, 0x9f, 0xb5, 0x29, 0x2e, 0xbb, 0xd4, - 0xa4, 0x4a, 0x2c, 0x9f, 0xd3, 0x2e, 0x15, 0xcb, 0xc8, 0x75, 0xf4, 0x6e, 0x8a, 0x76, 0xad, 0x1b, - 0x81, 0x5a, 0xd0, 0x6e, 0xe1, 0x2b, 0x39, 0xdd, 0x55, 0xb8, 0x3e, 0x30, 0xb3, 0xe6, 0xf7, 0xfd, - 0x1f, 0xfd, 0x04, 0x3c, 0x1c, 0xb6, 0xfe, 0x7c, 0x15, 0xee, 0x56, 0x02, 0xd0, 0xed, 0x28, 0xe5, - 0x17, 0xe8, 0x75, 0x11, 0x96, 0x71, 0x10, 0x09, 0x97, 0xb7, 0x51, 0x67, 0xa5, 0xac, 0x63, 0x9f, - 0x19, 0xe8, 0x02, 0x64, 0xe2, 0xff, 0x10, 0x74, 0xf1, 0xd8, 0x6f, 0xd6, 0x7a, 0x0e, 0x6f, 0x62, - 0xf6, 0x1b, 0xf0, 0xa2, 0xbf, 0xdd, 0x2f, 0x11, 0x14, 0x37, 0x52, 0xee, 0x56, 0xf3, 0x2b, 0x9c, - 0xc0, 0xd3, 0x5c, 0x70, 0x49, 0x36, 0xb9, 0x18, 0xc0, 0x2f, 0x92, 0x9b, 0x09, 0x1f, 0xb2, 0x32, - 0x81, 0x19, 0xff, 0x2b, 0x0c, 0x96, 0x16, 0x83, 0x51, 0x4c, 0x9b, 0x07, 0x50, 0xa6, 0xa1, 0x7e, - 0x90, 0x4f, 0x07, 0x30, 0xee, 0xc4, 0x95, 0x3a, 0xdb, 0x27, 0x43, 0xac, 0x69, 0x3e, 0xd3, 0x3b, - 0xfa, 0x4c, 0x30, 0xe8, 0x90, 0x6c, 0x5a, 0x9a, 0x8f, 0x08, 0xd3, 0x47, 0xc4, 0x11, 0xea, 0xa2, - 0x12, 0x7a, 0x76, 0x75, 0x49, 0x99, 0x65, 0x45, 0x5e, 0x59, 0x0c, 0x31, 0x38, 0x5f, 0x9a, 0x8c, - 0xb0, 0x76, 0x8c, 0x82, 0xa1, 0x3a, 0xa2, 0xe0, 0x3c, 0x1c, 0xcd, 0x4e, 0x02, 0xfe, 0x46, 0xf8, - 0x83, 0xb0, 0x61, 0x1f, 0xa4, 0x5a, 0xff, 0xe5, 0x4b, 0x11, 0x42, 0x11, 0x23, 0xcd, 0x32, 0xc0, - 0x5e, 0x34, 0x62, 0xbb, 0xdd, 0x89, 0x96, 0xc5, 0x86, 0x1d, 0xc9, 0xfd, 0x37, 0x51, 0x40, 0x58, - 0xb1, 0x75, 0x28, 0xca, 0xda, 0xe2, 0x54, 0xfd, 0xde, 0x1b, 0x8e, 0x7d, 0xc1, 0x52, 0xba, 0x81, - 0x69, 0x27, 0xbe, 0x33, 0xe4, 0xc4, 0xac, 0xdc, 0x3a, 0x8e, 0x45, 0xa0, 0xca, 0x58, 0x51, 0x7d, - 0x35, 0x96, 0x45, 0xb9, 0x4e, 0x76, 0xa3, 0x88, 0xa5, 0x05, 0x47, 0x53, 0xdb, 0xf1, 0x58, 0xc3, - 0x60, 0x12, 0xf2, 0x49, 0x81, 0x22, 0x8a, 0xdb, 0xd8, 0x6c, 0x4c, 0x9b, 0x76, 0x63, 0x90, 0x6c, - 0xd8, 0x4c, 0x6a, 0x2b, 0xd3, 0xb9, 0x74, 0x49, 0xf8, 0x62, 0xad, 0x45, 0xc5, 0x85, 0x19, 0x06, - 0xa2, 0x35, 0x40, 0x63, 0x78, 0xef, 0xca, 0x48, 0x93, 0x4c, 0x69, 0x7f, 0xac, 0xbb, 0xf9, 0xd4, - 0x27, 0x7d, 0x5f, 0xfe, 0x13, 0xc9, 0xa4, 0x69, 0xc8, 0x91, 0xc6, 0xfa, 0xf5, 0x72, 0x9b, 0x30, - 0xd7, 0x06, 0x2c, 0xb4, 0xb7, 0xfd, 0x71, 0x62, 0x5b, 0xe1, 0xca, 0xe0, 0x6e, 0x93, 0x3f, 0x28, - 0x98, 0xa5, 0x8e, 0xb5, 0xe7, 0x83, 0x7c, 0x79, 0xe1, 0x3c, 0x1f, 0x8b, 0x7f, 0x6a, 0x0c, 0xa7, - 0x17, 0x81, 0xcb, 0x3f, 0xe6, 0xc3, 0x6e, 0x67, 0x05, 0xbb, 0xaa, 0xef, 0x41, 0x98, 0xaa, 0x49, - 0xbc, 0x0f, 0xd1, 0x24, 0x36, 0xde, 0xb9, 0x0b, 0x17, 0xed, 0x5d, 0xc4, 0xef, 0x23, 0x86, 0x59, - 0xbc, 0xd5, 0x35, 0x32, 0xbf, 0xce, 0x1e, 0x2b, 0xab, 0xb2, 0x9b, 0xd8, 0x03, 0xd7, 0x63, 0x95, - 0x62, 0xe1, 0x50, 0x41, 0x19, 0xec, 0xd6, 0xff, 0x7b, 0x12, 0x40, 0x91, 0x4f, 0xa0, 0xc7, 0xbb, - 0xb5, 0x15, 0xa7, 0xaf, 0xac, 0x03, 0x5b, 0xbf, 0x55, 0x1c, 0x09, 0x1d, 0x42, 0x65, 0x5f, 0x72, - 0xa6, 0xff, 0x05, 0xbd, 0x86, 0xcb, 0xc8, 0x1d, 0x7a, 0xd2, 0x67, 0x1f, 0x2e, 0x05, 0xaf, 0xf4, - 0x09, 0xb0, 0xbd, 0x1f, 0x89, 0x54, 0xc8, 0x91, 0x51, 0xd0, 0x45, 0xb1, 0x1f, 0xe9, 0x17, 0x88, - 0x08, 0xc4, 0x46, 0xe5, 0x72, 0xc9, 0xe9, 0x26, 0x65, 0x96, 0xee, 0xf8, 0x61, 0x81, 0x61, 0xa7, - 0x68, 0x03, 0x8a, 0x64, 0xa8, 0x47, 0xfa, 0x44, 0xbd, 0x9e, 0x91, 0xf6, 0xbe, 0xbe, 0xfb, 0x28, - 0xd3, 0xa4, 0xf7, 0x08, 0x3e, 0x93, 0x01, 0x58, 0x6c, 0x65, 0xb1, 0xc3, 0x5e, 0x1b, 0x4c, 0xef, - 0x25, 0xb4, 0xb2, 0x99, 0x08, 0xe9, 0xcb, 0xae, 0x18, 0xe8, 0x06, 0xf6, 0x26, 0xe9, 0x20, 0x5b, - 0xbc, 0x5f, 0x02, 0xf5, 0xd4, 0x6b, 0xd7, 0x9a, 0x74, 0x54, 0x6b, 0x4d, 0xc8, 0x45, 0x95, 0x39, - 0xec, 0x77, 0x23, 0xce, 0x2f, 0xfa, 0xcb, 0xab, 0xa7, 0x6f, 0x0f, 0x0e, 0x5d, 0xb8, 0x8c, 0x1c, - 0x5f, 0xef, 0x10, 0xb2, 0x2b, 0x6c, 0x8f, 0x3f, 0x15, 0x08, 0x7c, 0xb9, 0x80, 0x68, 0x6d, 0x12, - 0x2f, 0x9e, 0xb5, 0xea, 0x7d, 0x7d, 0xff, 0x44, 0xc5, 0x1a, 0x0e, 0x80, 0xf8, 0x47, 0x18, 0x10, - 0x21, 0x49, 0x66, 0xd7, 0xd7, 0xee, 0x83, 0xcb, 0x58, 0x37, 0x1c, 0x53, 0x0b, 0xa4, 0x2a, 0x88, - 0xba, 0xfc, 0x12, 0x00, 0x51, 0x9c, 0x12, 0xfa, 0x71, 0x74, 0x8f, 0xf2, 0x9b, 0x19, 0x4a, 0xf7, - 0x07, 0x22, 0xa7, 0x18, 0x3c, 0xa1, 0x9d, 0xe3, 0xa2, 0xea, 0x25, 0xb9, 0xbd, 0x0a, 0xc4, 0x87, - 0xb4, 0x59, 0xc9, 0xb8, 0x44, 0x00, 0x70, 0xa6, 0x94, 0xb7, 0x06, 0x13, 0x8e, 0x3f, 0x6f, 0x9a, - 0x34, 0x39, 0x43, 0x89, 0x63, 0x0e, 0x9d, 0xff, 0x79, 0x64, 0x05, 0x88, 0x4e, 0x13, 0x64, 0x35, - 0x95, 0xab, 0x07, 0x08, 0x0d, 0x5d, 0xb7, 0x2f, 0x37, 0x90, 0xdb, 0x95, 0x23, 0xc5, 0xfe, 0x63, - 0xab, 0x27, 0x24, 0xec, 0x9e, 0x37, 0xcb, 0xc0, 0x4a, 0x4f, 0xc9, 0xde, 0xe1, 0xe5, 0x31, 0xa4, - 0xfd, 0xb9, 0xf6, 0x34, 0xe8, 0x02, 0x22, 0x6e, 0x75, 0xae, 0x91, 0xf8, 0xea, 0xb3, 0xa9, 0x9e, - 0x6d, 0xc5, 0xd4, 0xa1, 0x74, 0xe5, 0x64, 0x5e, 0xd6, 0x87, 0xd4, 0x82, 0x2f, 0xce, 0x0e, 0xd9, - 0x68, 0xc6, 0x7e, 0x56, 0x5c, 0xd2, 0xd3, 0x7e, 0xd1, 0xf0, 0x0a, 0x92, 0x19, 0x05, 0x3b, 0x7c, - 0x39, 0x5a, 0x60, 0x78, 0x96, 0x31, 0x71, 0x68, 0xab, 0x42, 0x35, 0x5b, 0x77, 0x57, 0x0c, 0xe9, - 0x4a, 0xf9, 0xbe, 0x51, 0xfd, 0x2b, 0x18, 0x79, 0x27, 0xa1, 0xcb, 0xfb, 0xea, 0x03, 0xf2, 0x5f, - 0x16, 0x37, 0x0f, 0xfa, 0x47, 0xdc, 0x14, 0xbc, 0x27, 0x83, 0x88, 0x7a, 0xf2, 0x3b, 0xfb, 0x7f, - 0x65, 0x6d, 0xab, 0xa8, 0x06, 0x6f, 0xb1, 0x41, 0xed, 0xdd, 0x2f, 0x48, 0x22, 0x94, 0x6b, 0x9d, - 0x14, 0xc7, 0x53, 0xb7, 0x6a, 0x9c, 0x44, 0x12, 0x53, 0x6a, 0xab, 0x3f, 0xa3, 0xf1, 0x6d, 0x5e, - 0x11, 0x1e, 0xd8, 0x7e, 0x4a, 0xef, 0x9a, 0x7a, 0x20, 0xd0, 0xdb, 0x1a, 0x8a, 0xda, 0xe9, 0x3f, - 0x30, 0xfc, 0xff, 0x6f, 0xf2, 0x7d, 0xf7, 0xb4, 0x45, 0x4f, 0x35, 0xf2, 0x82, 0x3d, 0x39, 0x94, - 0x4c, 0x02, 0x8a, 0xfa, 0x24, 0xa4, 0xeb, 0x2c, 0xad, 0x43, 0x75, 0x0a, 0xc0, 0x71, 0xb2, 0x9f, - 0x0d, 0x40, 0x44, 0x66, 0x1a, 0x23, 0xeb, 0x7b, 0xf2, 0x28, 0x0e, 0xc0, 0xe3, 0x77, 0xc4, 0xb9, - 0x5a, 0xf3, 0x35, 0xf5, 0xde, 0x1c, 0x25, 0x83, 0xdc, 0x49, 0x5d, 0x48, 0x69, 0x81, 0xc2, 0xae, - 0x9b, 0xce, 0x3d, 0x72, 0x8f, 0x02, 0x71, 0xee, 0x04, 0xe9, 0x41, 0xeb, 0x25, 0x8f, 0xae, 0xa8, - 0xde, 0x4b, 0xe1, 0xb7, 0x36, 0x7e, 0x94, 0x4d, 0x8b, 0xac, 0x9d, 0xaf, 0xa6, 0xf2, 0x0c, 0x40, - 0x48, 0xbc, 0x69, 0x76, 0xe3, 0xd8, 0xd4, 0x0b, 0x97, 0xa6, 0x70, 0x1d, 0x44, 0xe1, 0xdd, 0x37, - 0x86, 0x5d, 0xf0, 0xb4, 0x8f, 0xb6, 0xaa, 0x59, 0x6e, 0x6b, 0xca, 0x59, 0x32, 0x3c, 0x32, 0xa5, - 0x31, 0x1d, 0xa2, 0x67, 0x9a, 0xd7, 0x86, 0x28, 0x27, 0x73, 0x3a, 0x02, 0x10, 0x0e, 0x49, 0xd7, - 0xab, 0xf3, 0x42, 0x2e, 0xbb, 0x12, 0x04, 0xbc, 0x36, 0x15, 0x69, 0x79, 0x4f, 0x10, 0x53, 0xeb, - 0x81, 0xcc, 0x5f, 0xff, 0x80, 0x0e, 0x3e, 0x3d, 0xd6, 0xae, 0xe5, 0xac, 0x5d, 0x17, 0x02, 0x25, - 0x85, 0x10, 0x3e, 0x9d, 0xd7, 0x45, 0x8d, 0xb0, 0x20, 0x06, 0x5c, 0xf8, 0x66, 0x00, 0x5c, 0x46, - 0x87, 0x72, 0x3e, 0xce, 0x37, 0x60, 0xa7, 0x44, 0xb2, 0x41, 0x65, 0x04, 0x3d, 0xa0, 0x9d, 0x61, - 0x8e, 0xed, 0x80, 0xfe, 0xb6, 0x47, 0x8a, 0x39, 0xc9, 0x5e, 0xcb, 0x10, 0x56, 0xe3, 0xd0, 0xd1, - 0xa4, 0x77, 0x7e, 0xc6, 0x06, 0x3c, 0x97, 0x02, 0x35, 0x6a, 0xb3, 0x58, 0xdf, 0x9e, 0x68, 0x9c, - 0x4a, 0xe2, 0x76, 0x4b, 0x3e, 0x7d, 0x66, 0x37, 0x1a, 0x94, 0xd7, 0x7d, 0xdd, 0xeb, 0x39, 0x90, - 0x4d, 0xdb, 0x84, 0x70, 0x4c, 0xe1, 0x92, 0x28, 0xe4, 0xd8, 0xf5, 0x47, 0x79, 0xa7, 0x1c, 0x3e, - 0x31, 0xbf, 0xa3, 0xed, 0x80, 0xc1, 0xca, 0xc5, 0xb5, 0xe6, 0x8e, 0x92, 0xf8, 0xb4, 0xab, 0x54, - 0xf2, 0xa7, 0x30, 0xa0, 0x11, 0xbe, 0x8c, 0x11, 0xc1, 0xb9, 0xb6, 0x2e, 0x25, 0xe0, 0xcd, 0xc4, - 0x1b, 0xb9, 0x73, 0xf3, 0xb5, 0x54, 0x95, 0xe5, 0xca, 0x1b, 0x67, 0x9c, 0x77, 0x52, 0x0c, 0x7a, - 0xb2, 0x1a, 0xe7, 0x0d, 0x22, 0x49, 0x02, 0x84, 0x6a, 0x2a, 0x0b, 0xe9, 0xf7, 0xd0, 0x8c, 0x0d, - 0x34, 0xaa, 0x6b, 0xe8, 0x73, 0x8e, 0x85, 0xbb, 0xd9, 0x6d, 0xfc, 0xbe, 0xb3, 0x04, 0x09, 0x58, - 0xc8, 0xbd, 0x8d, 0x75, 0x8d, 0x59, 0x70, 0x16, 0x4e, 0xbc, 0xae, 0x4b, 0x84, 0x4f, 0xe8, 0x05, - 0xb1, 0x0a, 0xf9, 0xa2, 0xd7, 0xaa, 0x93, 0x35, 0xe6, 0x95, 0xe3, 0x1c, 0xf6, 0x1a, 0x1c, 0x71, - 0xa0, 0x38, 0xad, 0xa7, 0x05, 0xa2, 0x5f, 0x4c, 0xf4, 0xc9, 0x89, 0x23, 0xc1, 0x9b, 0x79, 0xbe, - 0x34, 0x73, 0x61, 0x50, 0x85, 0xac, 0xca, 0xef, 0x45, 0x83, 0xfe, 0x76, 0x74, 0x94, 0xf4, 0xcb, - 0x9c, 0x3e, 0x76, 0x3a, 0x60, 0x18, 0x05, 0x1e, 0x21, 0x2a, 0xee, 0x41, 0x91, 0xf9, 0xd8, 0xec, - 0x3b, 0x2b, 0x2d, 0x87, 0xa8, 0xd6, 0x49, 0x3a, 0x07, 0x93, 0xaf, 0xaf, 0xac, 0xe5, 0x00, 0xa0, - 0x41, 0x82, 0xfd, 0xab, 0x32, 0xb8, 0x74, 0x39, 0xf5, 0x81, 0x10, 0xa4, 0xde, 0xcc, 0x6a, 0xed, - 0xa1, 0x59, 0x07, 0x07, 0x7a, 0x4c, 0xe8, 0x03, 0xc5, 0xce, 0xb2, 0x98, 0xe5, 0x36, 0x58, 0x21, - 0x58, 0x55, 0x2d, 0x61, 0xa7, 0xfd, 0xa8, 0x1b, 0x20, 0xf7, 0xb6, 0x60, 0x9a, 0x82, 0x8a, 0xa3, - 0xc6, 0x45, 0x3d, 0x4e, 0x08, 0x03, 0xfc, 0x1d, 0x3e, 0x7e, 0x3c, 0xfa, 0x4a, 0x6d, 0x59, 0xec, - 0xf8, 0xce, 0xa6, 0x87, 0x06, 0xfd, 0xde, 0x00, 0xc6, 0x7f, 0x9e, 0x85, 0xde, 0xc1, 0x1f, 0xe9, - 0x8f, 0x28, 0x00, 0x08, 0x6e, 0xf5, 0x37, 0xc4, 0xa4, 0x99, 0x88, 0xb3, 0xe3, 0xca, 0x4e, 0xf7, - 0x10, 0xeb, 0x1e, 0x3d, 0xf0, 0xc7, 0x0e, 0x94, 0x19, 0x90, 0x49, 0x7e, 0x51, 0x04, 0x70, 0x39, - 0xd8, 0x93, 0x90, 0xd8, 0xa4, 0x9c, 0x21, 0xd6, 0x37, 0xe4, 0x9a, 0x72, 0x78, 0xf7, 0xc2, 0x5a, - 0x0a, 0x9e, 0xc8, 0x33, 0x15, 0x0c, 0xff, 0x13, 0x1f, 0x80, 0x42, 0x59, 0xe5, 0x55, 0xc8, 0x40, - 0x4d, 0x5f, 0x59, 0xcc, 0xb3, 0xbf, 0x80, 0xc3, 0xaa, 0x71, 0xa6, 0x96, 0x56, 0x41, 0xba, 0x1b, - 0x4a, 0xb9, 0xf9, 0xc5, 0x54, 0xaf, 0x47, 0x66, 0x08, 0xe8, 0x23, 0xd1, 0x11, 0x27, 0xcf, 0x62, - 0x2e, 0xe9, 0x58, 0xcf, 0xd7, 0x6b, 0x67, 0x9e, 0xba, 0x7b, 0x20, 0xc2, 0x84, 0x8b, 0xc4, 0x56, - 0x37, 0x4c, 0xc5, 0x41, 0x91, 0x1e, 0x92, 0x88, 0x1e, 0x12, 0x9f, 0x7e, 0x75, 0xe1, 0xcf, 0x98, - 0xa9, 0xdc, 0x46, 0x00, 0xba, 0x56, 0x52, 0xc7, 0x38, 0xbb, 0xe9, 0x47, 0xb3, 0xfc, 0x04, 0x59, - 0x97, 0x4e, 0x58, 0x44, 0xc6, 0xbb, 0x1a, 0x0d, 0x17, 0xe2, 0x13, 0x52, 0x0a, 0xbd, 0x99, 0x29, - 0x99, 0xd7, 0x91, 0x99, 0x8b, 0xaa, 0x5a, 0xd5, 0xef, 0xa0, 0x08, 0x04, 0xbc, 0xbc, 0x58, 0x01, - 0x5e, 0xf7, 0xe4, 0x36, 0x4b, 0xed, 0x7c, 0x85, 0x96, 0x73, 0x60, 0x2a, 0x33, 0xfb, 0x39, 0xa4, - 0x7b, 0x7e, 0x5f, 0xf3, 0xf0, 0xd9, 0x20, 0x29, 0x57, 0xc6, 0x76, 0x3b, 0x4f, 0x1d, 0xf8, 0x65, - 0xdf, 0xea, 0x41, 0x69, 0x6c, 0x7e, 0x1c, 0xf2, 0xfb, 0xf0, 0xeb, 0x57, 0xcd, 0x1f, 0x30, 0xa1, - 0x2e, 0xe9, 0x24, 0xa6, 0x6e, 0x8b, 0x38, 0x6d, 0x92, 0x29, 0x23, 0x98, 0x56, 0x73, 0xd0, 0xfb, - 0x33, 0x50, 0xcb, 0x06, 0xb2, 0xf1, 0xea, 0xb4, 0xdf, 0x7f, 0x82, 0x6e, 0x32, 0xd2, 0x51, 0xc6, - 0xe0, 0xcc, 0x87, 0x56, 0xf9, 0x37, 0x24, 0xf5, 0xac, 0x2e, 0xbc, 0x89, 0xe7, 0x1d, 0xd1, 0x57, - 0x5f, 0xc4, 0x23, 0x9b, 0xff, 0x4a, 0x8c, 0xaf, 0x40, 0x4b, 0x56, 0xce, 0xba, 0xef, 0x25, 0xf5, - 0xac, 0x12, 0x8c, 0xf3, 0xee, 0x73, 0x2f, 0x47, 0xc4, 0x11, 0xdc, 0x13, 0x89, 0xb5, 0xc8, 0x86, - 0x2b, 0x5e, 0x7c, 0x01, 0xa0, 0xca, 0x00, 0x4f, 0x15, 0x89, 0x43, 0x8f, 0x4d, 0x6a, 0xa6, 0xe4, - 0xf1, 0xb4, 0x0b, 0xfc, 0x5f, 0xd7, 0xce, 0xbf, 0xcb, 0xe8, 0x85, 0x15, 0x41, 0xf3, 0xf1, 0xc9, - 0xbd, 0xde, 0xa0, 0x85, 0xfb, 0x71, 0xa1, 0x2a, 0xbb, 0xbd, 0xa6, 0x8d, 0xf3, 0x0c, 0x26, 0x3e, - 0x25, 0xbc, 0xc2, 0x73, 0x0b, 0x41, 0x78, 0x9f, 0xa4, 0x72, 0x02, 0x00, 0x2a, 0x18, 0x37, 0x1c, - 0x4d, 0x8c, 0x19, 0x45, 0xc9, 0x35, 0x46, 0x4a, 0x93, 0x68, 0x81, 0x32, 0xcc, 0xbf, 0x9e, 0x99, - 0x15, 0x68, 0xf8, 0xaf, 0x17, 0x94, 0x15, 0x8f, 0x36, 0x7d, 0x19, 0x87, 0x54, 0x86, 0x1b, 0x55, - 0x04, 0xf2, 0x35, 0x6e, 0xd7, 0x33, 0x62, 0x6a, 0x70, 0x8e, 0xc4, 0x5c, 0xf1, 0x11, 0x74, 0xe3, - 0xff, 0x8a, 0xc2, 0x29, 0xdc, 0x46, 0x1d, 0x92, 0x6e, 0xe0, 0x0e, 0xcc, 0x7d, 0xcb, 0x2b, 0x91, - 0x5b, 0x9d, 0xd6, 0x7a, 0x85, 0xfa, 0x78, 0xa9, 0xc5, 0x7f, 0x29, 0x15, 0xf3, 0xc3, 0xbf, 0x00, - 0x0e, 0x4b, 0x68, 0xbe, 0x75, 0xfb, 0x21, 0xe7, 0xb2, 0x21, 0xeb, 0x7a, 0xcd, 0x2e, 0xd3, 0x63, - 0x31, 0x88, 0x49, 0x04, 0xf3, 0xd9, 0x75, 0x14, 0x93, 0xea, 0xb7, 0x08, 0x66, 0x03, 0x2d, 0xed, - 0x32, 0x97, 0x0d, 0x76, 0x1d, 0x2d, 0x28, 0x7e, 0x41, 0x10, 0xc4, 0x0f, 0x49, 0x2c, 0xa7, 0xc3, - 0xf7, 0xd1, 0x13, 0xb5, 0x3e, 0x0e, 0x93, 0xa4, 0xaa, 0x1c, 0x6a, 0x35, 0x11, 0xa4, 0x92, 0x75, - 0xe9, 0xd1, 0x7b, 0x10, 0x81, 0xb8, 0x3c, 0xcb, 0xc5, 0x3d, 0x33, 0xeb, 0xa0, 0xc0, 0x08, 0xe5, - 0x16, 0xa8, 0x0b, 0x70, 0xbd, 0x48, 0xfd, 0xe6, 0x0a, 0x06, 0x1b, 0xa2, 0xbe, 0xe3, 0xcf, 0x5e, - 0xf2, 0xc8, 0x42, 0x8f, 0xa6, 0x40, 0x34, 0x7c, 0x4e, 0x9e, 0x1a, 0x6e, 0x7d, 0x3e, 0x60, 0xa4, - 0xd6, 0x64, 0xab, 0x2d, 0x49, 0x03, 0xe2, 0x30, 0x6e, 0x5b, 0x0a, 0x21, 0xfa, 0xd7, 0xe7, 0x62, - 0xdb, 0x04, 0xe7, 0x9d, 0x2b, 0xef, 0x9e, 0x68, 0x64, 0x6a, 0x75, 0xd7, 0xff, 0x97, 0x1b, 0x51, - 0xa8, 0x5b, 0x83, 0x5e, 0xcc, 0xbd, 0xca, 0xf1, 0x52, 0x66, 0x28, 0x75, 0x16, 0x7c, 0x2a, 0x47, - 0xd9, 0x6d, 0x87, 0x3a, 0x02, 0x2c, 0x4e, 0xa6, 0x77, 0xa7, 0xd9, 0x0b, 0x97, 0x7d, 0xe6, 0x51, - 0x1b, 0xa4, 0x77, 0xa5, 0x0e, 0x15, 0xf5, 0xce, 0x2e, 0xd1, 0xb9, 0xde, 0x9f, 0x85, 0xd6, 0xe2, - 0x59, 0xae, 0xba, 0xae, 0x30, 0x06, 0xb3, 0x5e, 0xe4, 0xb5, 0xb6, 0x91, 0x49, 0xef, 0xa3, 0x87, - 0x3b, 0x89, 0xdd, 0x3b, 0x7d, 0xc7, 0x2c, 0x11, 0x65, 0x99, 0x2e, 0xdd, 0x80, 0x92, 0x0c, 0xe7, - 0x03, 0x18, 0x64, 0x0c, 0x07, 0xcb, 0x87, 0x03, 0xfd, 0x94, 0xd9, 0xbd, 0x1a, 0x8c, 0xbd, 0x79, - 0xdd, 0xda, 0xe8, 0x2e, 0x67, 0x61, 0x13, 0x2a, 0x4a, 0x65, 0x75, 0x1d, 0x42, 0x23, 0xd4, 0x6d, - 0xff, 0x01, 0x56, 0x43, 0x84, 0x96, 0x1b, 0x74, 0x66, 0xc0, 0xde, 0x66, 0x6a, 0xa4, 0xcf, 0x6d, - 0x67, 0xdd, 0xbd, 0xe3, 0xbd, 0x62, 0xf8, 0x96, 0xcb, 0xe5, 0xc7, 0x35, 0x50, 0x99, 0xe9, 0x04, - 0xc5, 0xb1, 0x3d, 0xf0, 0xab, 0x56, 0xb1, 0xa5, 0x99, 0x1f, 0x86, 0x47, 0x50, 0x21, 0xc2, 0x1b, - 0xf7, 0xab, 0x7c, 0x34, 0x48, 0x1c, 0x60, 0x0b, 0x55, 0x09, 0x2a, 0x2b, 0x4b, 0xce, 0x71, 0x7f, - 0x51, 0xca, 0x25, 0xc6, 0x5e, 0xdf, 0xa7, 0x49, 0x18, 0xc8, 0x49, 0x6f, 0xe9, 0x42, 0xf3, 0xc3, - 0x46, 0xab, 0xf4, 0x8f, 0xa9, 0x43, 0xba, 0x7c, 0x86, 0x63, 0xaf, 0xae, 0x4c, 0x63, 0xe7, 0x69, - 0x33, 0x9b, 0x4d, 0x53, 0x1b, 0xb2, 0x26, 0xd4, 0x4b, 0xdd, 0x8f, 0x70, 0x31, 0x77, 0xff, 0x82, - 0xe7, 0x03, 0xd6, 0xc5, 0x03, 0x96, 0x50, 0xeb, 0xce, 0x0d, 0x5a, 0xb8, 0x72, 0x54, 0xb7, 0xd6, - 0xfb, 0x53, 0x25, 0x64, 0x4b, 0x47, 0xaa, 0xc5, 0xea, 0x81, 0x5f, 0xf8, 0x12, 0x64, 0x25, 0x48, - 0x63, 0x38, 0xc2, 0x23, 0x6f, 0x4d, 0xa1, 0xa0, 0x4f, 0xa3, 0x8c, 0x06, 0x1a, 0x6a, 0xe4, 0x7d, - 0x2d, 0xc6, 0x9b, 0x93, 0x7e, 0x28, 0x06, 0xab, 0x7f, 0xb7, 0x26, 0x00, 0x73, 0x39, 0xee, 0xfc, - 0x0e, 0xf2, 0x29, 0x58, 0x1e, 0xc2, 0x91, 0x52, 0xea, 0x93, 0x7b, 0xd8, 0x94, 0x57, 0x5a, 0x23, - 0x14, 0xeb, 0x0d, 0x5f, 0x31, 0x42, 0xc4, 0x79, 0x80, 0x8d, 0x1d, 0xd8, 0xd6, 0x7c, 0xc0, 0x06, - 0x27, 0x36, 0xd6, 0xf8, 0xc2, 0xee, 0x78, 0xd7, 0x0e, 0x7a, 0x3c, 0x4c, 0x7d, 0xc8, 0xa6, 0x00, - 0x21, 0x1e, 0x16, 0x5f, 0x44, 0x80, 0x15, 0x38, 0x44, 0x0e, 0xe8, 0x32, 0x26, 0xfe, 0xb7, 0x52, - 0x62, 0x84, 0x98, 0x4e, 0xa3, 0xc0, 0x9b, 0x4a, 0xfc, 0x9e, 0x65, 0x9d, 0xea, 0x1f, 0x6f, 0xc7, - 0x1a, 0x30, 0xe2, 0x3f, 0x18, 0xa2, 0x93, 0x1b, 0x9f, 0xd7, 0xd1, 0xec, 0x5c, 0x1e, 0x97, 0x7e, - 0xec, 0x60, 0x1a, 0xa4, 0x57, 0x06, 0x15, 0xe8, 0x61, 0x12, 0xa6, 0x0a, 0x95, 0x1c, 0x19, 0x04, - 0xa1, 0x31, 0xfd, 0xfb, 0x0e, 0xb6, 0x30, 0x4b, 0xc7, 0xd5, 0x7a, 0x68, 0x57, 0x65, 0xc7, 0x1e, - 0x61, 0x53, 0x59, 0x26, 0xf5, 0x5d, 0xd2, 0x37, 0xfd, 0xb3, 0x73, 0x94, 0xdb, 0x66, 0x52, 0x06, - 0x0c, 0xf8, 0xf7, 0x13, 0x75, 0x95, 0x84, 0x1d, 0xfd, 0xee, 0x4a, 0x04, 0x65, 0x9c, 0x96, 0xf0, - 0xb9, 0x58, 0x4c, 0x36, 0x6d, 0x8b, 0xc5, 0x1a, 0x4e, 0x98, 0x97, 0xa6, 0xbb, 0xe8, 0xf2, 0x08, - 0xa4, 0x4f, 0xed, 0xaf, 0x96, 0x1c, 0xeb, 0x9b, 0x12, 0x9f, 0x59, 0x96, 0x1b, 0xfe, 0xf1, 0xbc, - 0x87, 0x33, 0x53, 0x7b, 0x02, 0xa3, 0x5e, 0x6d, 0x82, 0xa3, 0xac, 0xd8, 0x74, 0x5d, 0x8c, 0xb9, - 0xa1, 0xf1, 0xe5, 0x99, 0x18, 0xb7, 0xaa, 0x79, 0xf8, 0x1e, 0x7f, 0xc3, 0x4b, 0x1d, 0x13, 0x31, - 0x12, 0x46, 0x9b, 0x34, 0x8e, 0x51, 0xe3, 0x96, 0xc0, 0xab, 0x1b, 0xa7, 0x49, 0xf4, 0x05, 0x75, - 0xe7, 0xdd, 0x73, 0x2d, 0x1b, 0xfb, 0x12, 0x56, 0xc8, 0x30, 0x76, 0x72, 0xa8, 0x82, 0xac, 0x86, - 0x38, 0x1a, 0xf8, 0xc6, 0x30, 0x93, 0x23, 0xa3, 0xc9, 0x08, 0x48, 0x6f, 0x4d, 0x8b, 0x31, 0x56, - 0x42, 0xff, 0xf3, 0xdb, 0xf0, 0xd2, 0x03, 0x17, 0xac, 0x31, 0x90, 0xe6, 0x3d, 0xa3, 0x9a, 0x32, - 0xe5, 0x1d, 0x14, 0x9c, 0xba, 0xcf, 0x6f, 0x16, 0x32, 0x20, 0xfd, 0xf7, 0xe7, 0x22, 0xcf, 0xfe, - 0x9d, 0x8a, 0x57, 0xfc, 0xd0, 0x31, 0xa7, 0xd9, 0x65, 0xd8, 0x86, 0xeb, 0xb0, 0x90, 0xb0, 0x6a, - 0x21, 0xdf, 0x57, 0xc8, 0x17, 0x0c, 0x35, 0xfc, 0x5c, 0x20, 0x51, 0x9d, 0xba, 0x64, 0x5b, 0xaf, - 0x25, 0x83, 0x70, 0x23, 0x6c, 0xdf, 0x64, 0x99, 0x11, 0xe6, 0xef, 0xdc, 0x54, 0x5a, 0xf6, 0xaf, - 0x4e, 0xb6, 0xd3, 0x61, 0xe4, 0x0f, 0x1d, 0x30, 0x94, 0xb2, 0x82, 0x5f, 0x8d, 0x78, 0x5d, 0x5a, - 0xfa, 0xa6, 0xc3, 0x9b, 0x68, 0xb8, 0xad, 0xf1, 0x15, 0x20, 0x06, 0x88, 0x1e, 0x8f, 0xbc, 0xc7, - 0x6a, 0xe8, 0x9e, 0x9f, 0xb8, 0x91, 0xbb, 0x30, 0xc7, 0x2f, 0x3b, 0xd7, 0x94, 0x9b, 0x69, 0x47, - 0x9f, 0x5b, 0x00, 0xf6, 0x78, 0xbb, 0xae, 0x02, 0xf1, 0xed, 0x45, 0x51, 0x0c, 0xec, 0xc6, 0x96, - 0x28, 0x16, 0xce, 0x29, 0x2d, 0x89, 0xac, 0x83, 0x5e, 0x91, 0xc0, 0x31, 0x88, 0x2d, 0xee, 0x91, - 0x28, 0xe6, 0x9e, 0x34, 0x3a, 0x74, 0x08, 0x78, 0xad, 0x42, 0x97, 0x6f, 0xea, 0x94, 0x91, 0x0a, - 0x6f, 0x89, 0x09, 0x47, 0x7d, 0xd2, 0xa4, 0x10, 0x42, 0x3b, 0xb4, 0xe8, 0x8b, 0x1d, 0x73, 0xcb, - 0xd8, 0xec, 0x50, 0xff, 0x9b, 0x5d, 0x8e, 0xd2, 0x41, 0x58, 0x9a, 0xdf, 0x45, 0xa4, 0x7f, 0x22, - 0x89, 0x39, 0x79, 0xc7, 0x87, 0xe9, 0x19, 0x4f, 0xb2, 0x07, 0xfa, 0xfe, 0x21, 0xa1, 0xff, 0x65, - 0xe5, 0xca, 0xf9, 0xfd, 0xdf, 0xba, 0x17, 0xaa, 0x9a, 0x58, 0x13, 0x38, 0x9b, 0xaa, 0x43, 0xe4, - 0x15, 0x49, 0xb2, 0xcf, 0xac, 0x2b, 0xce, 0xd9, 0x21, 0x12, 0x04, 0xd5, 0xb3, 0x7f, 0xe2, 0xe9, - 0x2e, 0xc9, 0x79, 0x8c, 0x7b, 0x16, 0x90, 0xf4, 0x8f, 0x72, 0x56, 0x37, 0xac, 0x92, 0x69, 0x73, - 0x24, 0x22, 0x8d, 0x10, 0x61, 0x72, 0xec, 0x3b, 0x7b, 0x08, 0x4c, 0x94, 0x3e, 0xca, 0x3a, 0xd8, - 0xe4, 0xfc, 0xda, 0xb6, 0xb7, 0x1e, 0x29, 0x18, 0xd4, 0xde, 0xf4, 0x34, 0x81, 0x07, 0xdc, 0x3d, - 0x86, 0xb2, 0x76, 0xe3, 0x05, 0x25, 0x49, 0x93, 0x0b, 0x39, 0xb6, 0xfe, 0xe1, 0x23, 0x24, 0x5c, - 0xfc, 0x78, 0x39, 0x78, 0xd2, 0x1d, 0x9b, 0x73, 0x05, 0x0b, 0xe3, 0x36, 0xf4, 0x51, 0xe2, 0x57, - 0xa1, 0xdc, 0xed, 0x1e, 0xb3, 0x98, 0xdd, 0xce, 0xc4, 0x16, 0x96, 0x24, 0xc9, 0xea, 0x03, 0x93, - 0x57, 0xfa, 0xa2, 0x89, 0xd9, 0xa0, 0xc3, 0x55, 0x15, 0x24, 0x50, 0xc3, 0xf8, 0x4e, 0x71, 0x11, - 0xb8, 0x88, 0xd4, 0x8a, 0x29, 0x28, 0xff, 0x93, 0xac, 0xc3, 0xcc, 0x24, 0xe7, 0xf3, 0xbf, 0x77, - 0x24, 0x02, 0x13, 0x7d, 0x06, 0xe4, 0xad, 0x4a, 0x82, 0x34, 0xc9, 0x0d, 0xa2, 0xc7, 0xdd, 0x87, - 0x84, 0x84, 0x8f, 0x75, 0x04, 0x97, 0x18, 0xc2, 0x94, 0x1b, 0xa5, 0x10, 0xd3, 0x9e, 0x04, 0xe9, - 0x44, 0x73, 0x58, 0xfb, 0xb9, 0x4e, 0x62, 0x81, 0xe2, 0xe2, 0x86, 0x19, 0xeb, 0xcf, 0x6b, 0x1b, - 0x37, 0x36, 0xe0, 0xda, 0xdc, 0xaf, 0x66, 0xfc, 0x3f, 0xb1, 0xe3, 0x68, 0x55, 0x16, 0x2e, 0xd8, - 0x0f, 0xc5, 0x81, 0x66, 0x55, 0x55, 0xa2, 0xa6, 0xf6, 0x4a, 0xfb, 0x06, 0xcf, 0x50, 0xf3, 0xba, - 0x1c, 0xde, 0xc6, 0xb1, 0x3c, 0x4f, 0xec, 0x3f, 0x0f, 0x72, 0xd8, 0xa7, 0x41, 0x67, 0x65, 0x7f, - 0x49, 0x17, 0xbd, 0xb6, 0xed, 0x4a, 0xa6, 0x93, 0x0b, 0x4f, 0xf4, 0x03, 0x93, 0x6a, 0xb8, 0x5d, - 0x0e, 0x2b, 0x59, 0x91, 0xf6, 0x1a, 0xc9, 0xef, 0x3d, 0x4a, 0x40, 0x4b, 0xd9, 0x99, 0x68, 0xb3, - 0xa6, 0xa7, 0x03, 0xe8, 0x45, 0x3b, 0xf1, 0xa0, 0x5e, 0x58, 0xb8, 0x08, 0x06, 0x87, 0x6a, 0x13, - 0xa7, 0x14, 0x4d, 0x62, 0x91, 0xe4, 0x69, 0x66, 0x68, 0x78, 0x6b, 0xbd, 0x5d, 0x97, 0x40, 0xa6, - 0x74, 0x60, 0xdb, 0x80, 0x88, 0xf3, 0xe8, 0x9b, 0xc3, 0x17, 0x76, 0xe1, 0x4e, 0x54, 0x94, 0x06, - 0xc0, 0x25, 0xbc, 0xf8, 0xd0, 0xf8, 0x2a, 0x19, 0xa2, 0xb7, 0xc4, 0x45, 0x00, 0x36, 0x83, 0xda, - 0xbf, 0xe1, 0x56, 0x46, 0x41, 0x62, 0x35, 0xfc, 0x6e, 0xdc, 0x03, 0xfe, 0x0d, 0x23, 0xdc, 0x5b, - 0xbf, 0x9d, 0x59, 0x64, 0xd5, 0x98, 0xbb, 0x47, 0x38, 0xa2, 0xc6, 0x85, 0x1c, 0xb1, 0x1e, 0x9b, - 0xf5, 0x4d, 0xab, 0xa4, 0xff, 0x6c, 0xf9, 0xa5, 0x21, 0xcf, 0x7e, 0x44, 0x25, 0xe0, 0x52, 0xfb, - 0x15, 0xb3, 0x7c, 0x8c, 0xc2, 0xc3, 0x8b, 0x7f, 0x09, 0x57, 0x43, 0xc0, 0x8f, 0xc7, 0x33, 0xdf, - 0xaf, 0xd3, 0xeb, 0x90, 0x0c, 0xb7, 0x4e, 0xec, 0x02, 0x50, 0xe7, 0x40, 0x56, 0x32, 0xa1, 0x59, - 0x8c, 0xf4, 0x3e, 0x39, 0x54, 0x8a, 0x03, 0x3f, 0xf3, 0xc6, 0x0f, 0xb4, 0x48, 0xf7, 0x15, 0x5c, - 0x09, 0xba, 0x28, 0xcb, 0xa1, 0x40, 0xf3, 0x4b, 0x58, 0x7d, 0xd4, 0xfa, 0x25, 0x04, 0xa8, 0x19, - 0x48, 0xc6, 0xa2, 0x8e, 0x71, 0xd6, 0x60, 0x90, 0x09, 0x1b, 0x95, 0xf1, 0x32, 0x70, 0x02, 0x7d, - 0xf3, 0x96, 0xae, 0x17, 0xb4, 0xd6, 0x05, 0x92, 0x70, 0xe8, 0x38, 0x11, 0x7c, 0xb8, 0x81, 0x30, - 0xb5, 0xb0, 0x58, 0x88, 0xb3, 0x41, 0x7b, 0x9e, 0x67, 0xef, 0xfa, 0x0e, 0xad, 0xea, 0xc1, 0x71, - 0x62, 0x6d, 0xe7, 0x25, 0x34, 0x9d, 0xda, 0x4f, 0xc0, 0xa3, 0xee, 0x19, 0x17, 0xbd, 0x43, 0xd6, - 0xac, 0x4d, 0xbb, 0xaf, 0x7f, 0xca, 0x30, 0xe8, 0xc4, 0xee, 0x85, 0x52, 0x73, 0x60, 0xd9, 0xfd, - 0xea, 0x83, 0x6a, 0xfd, 0xf3, 0x25, 0x87, 0x2e, 0x2b, 0x5a, 0xe0, 0xfa, 0x14, 0x20, 0x38, 0xbb, - 0xfb, 0x65, 0x10, 0x9b, 0xfb, 0xe9, 0x76, 0xf7, 0xdc, 0x3e, 0xae, 0x05, 0xc2, 0xc3, 0x98, 0x33, - 0xf8, 0x7d, 0x7d, 0xd9, 0x3b, 0xd1, 0xce, 0x37, 0xbc, 0xd1, 0x31, 0x36, 0xe3, 0xfb, 0xe8, 0x45, - 0xf1, 0xe0, 0x0f, 0xe4, 0xf7, 0x47, 0xa1, 0x68, 0xeb, 0x66, 0x92, 0x5a, 0x7d, 0x02, 0xdf, 0x81, - 0x50, 0x47, 0x79, 0x46, 0xbd, 0x24, 0xde, 0x04, 0xb8, 0x46, 0x11, 0x7c, 0x5e, 0x30, 0xa5, 0x88, - 0xfe, 0xbc, 0x3e, 0xdb, 0x12, 0x49, 0x22, 0x37, 0x7b, 0x33, 0x2e, 0x2f, 0x98, 0xe6, 0x93, 0x0f, - 0xb2, 0x3f, 0x4b, 0xce, 0xf4, 0x78, 0x01, 0x1a, 0x73, 0x3f, 0x4f, 0x66, 0x31, 0x84, 0x9c, 0x93, - 0x4f, 0x1f, 0x99, 0x78, 0xf7, 0x5b, 0x29, 0xb3, 0xce, 0x29, 0xdf, 0x4a, 0xd5, 0x29, 0x9a, 0x75, - 0x23, 0x25, 0x0f, 0xc7, 0x28, 0x36, 0x09, 0x78, 0x6f, 0x01, 0x8c, 0xbb, 0xa4, 0x90, 0xf7, 0xa9, - 0x7b, 0x84, 0x42, 0xa6, 0x9a, 0x2d, 0x7e, 0x32, 0x7a, 0x44, 0xb6, 0x26, 0xee, 0xa5, 0x82, 0xa8, - 0x35, 0x99, 0x4c, 0x60, 0x36, 0x9c, 0x2c, 0x94, 0xb3, 0x47, 0xf2, 0x61, 0xba, 0x02, 0xea, 0xd5, - 0xb4, 0x39, 0x59, 0x54, 0x2e, 0x05, 0x75, 0x73, 0xcf, 0x58, 0xb1, 0x81, 0xbd, 0x11, 0x40, 0x42, - 0x2c, 0xd7, 0x87, 0xfc, 0x4c, 0xa1, 0xc0, 0x7d, 0x88, 0x32, 0xb3, 0xb4, 0x51, 0x33, 0xc2, 0xc7, - 0x83, 0xa1, 0x82, 0x1a, 0xe3, 0xcd, 0xde, 0xfd, 0xb4, 0x0f, 0xb1, 0x96, 0x37, 0x40, 0x65, 0x73, - 0xd8, 0x81, 0x20, 0x6a, 0x45, 0x56, 0xce, 0x11, 0x6e, 0xb8, 0x46, 0xd1, 0xd6, 0x02, 0x1f, 0x4f, - 0xa3, 0x01, 0x47, 0x22, 0xe5, 0xde, 0x7b, 0xa3, 0x05, 0x6a, 0x55, 0x5b, 0xa9, 0xf9, 0x34, 0x42, - 0x27, 0x46, 0x56, 0x4c, 0x1d, 0x35, 0xe0, 0xd9, 0x0b, 0xb7, 0xa1, 0xcd, 0x5f, 0x7b, 0xff, 0xda, - 0xd1, 0xd5, 0x01, 0xf5, 0x01, 0x55, 0x6f, 0x63, 0xc7, 0xe0, 0x4b, 0xad, 0x14, 0xa9, 0x7d, 0x9c, - 0x3f, 0x93, 0x64, 0x92, 0xa3, 0x0a, 0x9e, 0x5b, 0x2f, 0x00, 0x49, 0xc7, 0xf2, 0x72, 0xb3, 0xdf, - 0xec, 0xe1, 0x03, 0x9e, 0xab, 0x0b, 0xb9, 0x22, 0x43, 0x8e, 0xb9, 0xf5, 0x74, 0x30, 0x7d, 0x3f, - 0x8d, 0x81, 0x54, 0x0b, 0x9e, 0x7a, 0x98, 0xb9, 0x26, 0xa6, 0xfb, 0x5e, 0xaf, 0x21, 0x65, 0x80, - 0xb3, 0x0c, 0x29, 0x1b, 0x80, 0xb8, 0x32, 0x66, 0xe2, 0x83, 0x38, 0x19, 0xfd, 0xe7, 0xf3, 0x79, - 0xe9, 0x30, 0xaa, 0x8b, 0x51, 0xc2, 0xf8, 0x9a, 0x9a, 0x17, 0x1f, 0x44, 0x53, 0x2d, 0x4c, 0x99, - 0xb2, 0x4e, 0xb0, 0xd2, 0x0c, 0x5f, 0xcc, 0x6d, 0x86, 0x2e, 0x42, 0x22, 0x79, 0xbf, 0x82, 0x13, - 0xa2, 0x7c, 0xf1, 0x80, 0x76, 0x5f, 0x7b, 0xd5, 0xb0, 0x1d, 0xdc, 0xe9, 0x94, 0x8e, 0xf5, 0x34, - 0xcd, 0xf8, 0xf4, 0x72, 0x43, 0xa4, 0x6b, 0x36, 0x41, 0xc5, 0x99, 0xf8, 0x3f, 0x67, 0xf2, 0x47, - 0xe7, 0x50, 0x0a, 0xfc, 0x3f, 0xdf, 0x8b, 0x2d, 0x33, 0x8c, 0x13, 0x5c, 0x04, 0x3d, 0xcb, 0x84, - 0xef, 0x98, 0x06, 0xe6, 0x0f, 0x64, 0x78, 0x2a, 0xb8, 0x69, 0x81, 0x59, 0xbe, 0x4b, 0x95, 0x2d, - 0x91, 0x90, 0xdd, 0x67, 0x0d, 0xa7, 0x97, 0x7e, 0x5e, 0x62, 0x4f, 0x2a, 0x1c, 0x3f, 0x0c, 0x58, - 0x02, 0x8d, 0x29, 0xd7, 0xf0, 0xea, 0xaf, 0xda, 0xfd, 0x5f, 0x26, 0x2f, 0x85, 0x84, 0x14, 0x0c, - 0x3f, 0xb8, 0xab, 0xe0, 0x6f, 0xe2, 0x9c, 0x9c, 0xd3, 0xfa, 0x0a, 0xb0, 0x44, 0xbf, 0xea, 0xa6, - 0xe1, 0x4e, 0xe2, 0xb5, 0x59, 0x77, 0x1b, 0x81, 0xef, 0xea, 0x3f, 0x14, 0x43, 0x34, 0x86, 0x19, - 0xfb, 0xaf, 0xa6, 0xb0, 0x6f, 0xcb, 0x2a, 0xbf, 0xf7, 0x21, 0x9e, 0x41, 0x2c, 0xc6, 0x94, 0xb4, - 0x16, 0x7a, 0x95, 0x87, 0x10, 0x9e, 0xb5, 0x63, 0x7f, 0xb9, 0x2c, 0x23, 0x4f, 0xdd, 0x94, 0x89, - 0xf6, 0x1a, 0x89, 0x99, 0x6f, 0x38, 0x3a, 0x3a, 0x0d, 0xdf, 0x56, 0x0b, 0xf6, 0xae, 0xf6, 0xfc, - 0x74, 0x23, 0x4a, 0x97, 0xf2, 0x35, 0x6c, 0xea, 0xfa, 0xb0, 0x0d, 0x9d, 0xc5, 0x1c, 0xca, 0x12, - 0x8f, 0x0c, 0x80, 0x2f, 0x26, 0xeb, 0x5f, 0xda, 0xb6, 0x88, 0xa8, 0x59, 0xa8, 0xe5, 0xeb, 0x89, - 0x7a, 0xed, 0x13, 0x61, 0xf1, 0x60, 0x11, 0x83, 0x0a, 0xee, 0x99, 0x6d, 0xfb, 0x59, 0xa9, 0x29, - 0xf2, 0x5a, 0x84, 0x21, 0x7c, 0x3e, 0xf9, 0x42, 0x02, 0xf4, 0xeb, 0x06, 0x4c, 0x76, 0xcf, 0x6f, - 0x9f, 0xc2, 0x96, 0xfd, 0x9f, 0x8a, 0x10, 0x36, 0xf6, 0x41, 0x79, 0x7c, 0x68, 0xa3, 0x43, 0x9a, - 0x09, 0x34, 0xb4, 0x43, 0xb0, 0x1c, 0x1f, 0xf5, 0x6f, 0xb8, 0x67, 0xae, 0xe6, 0xb0, 0x54, 0xb2, - 0x46, 0x49, 0x1b, 0x9e, 0x8d, 0xa6, 0x0b, 0xa3, 0xf5, 0x98, 0xa4, 0xdd, 0xfe, 0x25, 0xe0, 0xe5, - 0xb5, 0x69, 0x9b, 0xfe, 0xeb, 0xff, 0xd9, 0xb5, 0xd8, 0xe0, 0x5a, 0x0d, 0xd5, 0x72, 0x27, 0xda, - 0x45, 0xf8, 0x8a, 0xa9, 0xb5, 0xbf, 0x26, 0x6d, 0x89, 0x15, 0x52, 0x28, 0xae, 0xbf, 0xf2, 0x67, - 0x57, 0x86, 0x31, 0x41, 0xf6, 0x5e, 0x2b, 0x65, 0x47, 0xb9, 0x97, 0x0c, 0x64, 0xae, 0x53, 0x60, - 0xdb, 0x4e, 0x36, 0x06, 0xff, 0x73, 0xd1, 0x78, 0x7f, 0x39, 0xa6, 0xdb, 0x62, 0xd3, 0x88, 0xa3, - 0xbf, 0x61, 0x3d, 0xc1, 0x11, 0x73, 0x67, 0x75, 0xcf, 0xc7, 0x8d, 0x4d, 0x9d, 0x8a, 0x2f, 0xbd, - 0xa4, 0xb0, 0x57, 0x5d, 0x8b, 0xab, 0x7d, 0xa6, 0x3a, 0x14, 0x3b, 0x36, 0x68, 0xeb, 0xd0, 0xaa, - 0x8b, 0x81, 0xac, 0x99, 0x44, 0x44, 0xcd, 0x35, 0xcc, 0x8e, 0xb0, 0x6b, 0xfc, 0xad, 0xc5, 0xb5, - 0xc4, 0xe2, 0x2b, 0x93, 0x61, 0x29, 0x88, 0x2f, 0x6a, 0x70, 0x7d, 0x79, 0x26, 0x16, 0x50, 0xcf, - 0x63, 0xe9, 0x10, 0xe7, 0x40, 0xda, 0x97, 0xce, 0x52, 0x0e, 0x60, 0x62, 0x78, 0x63, 0xbe, 0x5b, - 0xe0, 0xec, 0x56, 0xa9, 0xfd, 0x60, 0x20, 0x68, 0xe3, 0xde, 0x58, 0xbb, 0xb6, 0x85, 0x1e, 0x00, - 0xc9, 0x13, 0x0b, 0xca, 0x8e, 0x0c, 0x08, 0xb2, 0x52, 0xef, 0x10, 0x76, 0x2b, 0x14, 0x5e, 0xb7, - 0xc1, 0x64, 0x74, 0xd7, 0x61, 0x0f, 0x41, 0xa6, 0xfd, 0x30, 0x1f, 0xf3, 0x49, 0x37, 0x21, 0x56, - 0x78, 0x58, 0x0f, 0x6e, 0x10, 0xa5, 0x55, 0x6e, 0xfa, 0x07, 0x86, 0xb8, 0xe2, 0x6e, 0x0f, 0x62, - 0x34, 0xcb, 0x1e, 0xac, 0x8f, 0x1e, 0x16, 0x46, 0x82, 0xca, 0x0d, 0x83, 0x61, 0x5f, 0x11, 0xa1, - 0x9e, 0xf1, 0x7c, 0xab, 0xe2, 0xeb, 0x98, 0x4f, 0xdf, 0x72, 0x3b, 0x79, 0xdb, 0x80, 0xea, 0xf3, - 0x89, 0x7e, 0x59, 0x07, 0x1c, 0x3d, 0x27, 0x69, 0x18, 0x0a, 0x61, 0xee, 0x5f, 0xd1, 0x1c, 0x59, - 0x2f, 0x1e, 0xa2, 0xc3, 0xcb, 0xdd, 0x91, 0x78, 0xc0, 0xcf, 0x05, 0x00, 0xe0, 0x4e, 0xed, 0x36, - 0x6e, 0x5c, 0x48, 0x08, 0x9b, 0x1a, 0x84, 0x77, 0x24, 0xa8, 0x7e, 0x4f, 0x8e, 0xc2, 0xe4, 0xf7, - 0x62, 0xfc, 0xa6, 0xec, 0x39, 0x8b, 0x3a, 0x07, 0xcb, 0xe8, 0x0e, 0x63, 0xa1, 0x82, 0x9f, 0xfd, - 0x29, 0x16, 0xdf, 0xa7, 0xef, 0xc6, 0x5b, 0xc9, 0xd7, 0xbc, 0xc2, 0x89, 0xdc, 0x27, 0xc1, 0x89, - 0x50, 0x82, 0x99, 0xf9, 0xd4, 0x1c, 0x08, 0x51, 0x20, 0x80, 0x5e, 0xc7, 0xf3, 0xe2, 0x92, 0x13, - 0x40, 0xbd, 0xff, 0xd0, 0x73, 0x95, 0x09, 0x99, 0x11, 0x73, 0x24, 0xa1, 0x3e, 0x44, 0xf7, 0x56, - 0x46, 0xc0, 0xd3, 0x78, 0x42, 0x11, 0xc5, 0xc3, 0x83, 0x50, 0x40, 0x4c, 0xf2, 0x8a, 0xbf, 0xe1, - 0xb2, 0xf6, 0x7b, 0x36, 0x72, 0xc0, 0xef, 0xbd, 0xb2, 0xf2, 0x8e, 0xb9, 0x5f, 0xc3, 0xfb, 0x0d, - 0x20, 0x92, 0xfb, 0x9d, 0xaa, 0x98, 0xe8, 0x64, 0xdc, 0x0c, 0x24, 0x68, 0x40, 0x60, 0xe8, 0xae, - 0x7d, 0x5a, 0x01, 0x44, 0xc6, 0x5a, 0xd1, 0x3d, 0x9c, 0xfe, 0x83, 0x4e, 0x1f, 0x68, 0x6d, 0x09, - 0x2e, 0xa7, 0xa7, 0x32, 0x49, 0x5f, 0xd8, 0xa6, 0x26, 0x76, 0x09, 0x84, 0xea, 0x94, 0xd3, 0x49, - 0x2b, 0xd2, 0x96, 0x69, 0xcf, 0x34, 0x52, 0x5a, 0xe8, 0x8b, 0xb5, 0x17, 0xf2, 0x8b, 0x3f, 0x92, - 0xda, 0x6f, 0xfd, 0xa0, 0x94, 0xfc, 0xfa, 0x7d, 0x58, 0x38, 0x64, 0x95, 0x06, 0x5e, 0x3b, 0xee, - 0x67, 0x3b, 0x71, 0x49, 0x2b, 0x67, 0xde, 0xf6, 0x4f, 0xa2, 0x84, 0x92, 0xcd, 0x91, 0xa8, 0x6b, - 0x6a, 0xe7, 0x45, 0xca, 0x5a, 0x0f, 0x9c, 0xb2, 0x6a, 0x6c, 0x9e, 0x74, 0x61, 0xf4, 0xe1, 0x7c, - 0x21, 0x31, 0xbd, 0xf7, 0x41, 0x61, 0x08, 0xf4, 0x6c, 0xf4, 0x5a, 0x00, 0x1e, 0xde, 0xf3, 0x3e, - 0x00, 0x58, 0x71, 0x2a, 0xb6, 0x44, 0x9b, 0xfd, 0x10, 0xd4, 0x0a, 0xfa, 0x5f, 0x9f, 0xe3, 0x1e, - 0x93, 0x71, 0x52, 0x03, 0x05, 0x78, 0xd7, 0x7b, 0x8f, 0x11, 0xba, 0x9d, 0x0a, 0x56, 0x15, 0x8e, - 0x3d, 0xb1, 0xae, 0xce, 0x2a, 0x7b, 0x6b, 0x84, 0xad, 0x01, 0xc4, 0xea, 0x05, 0x8a, 0x67, 0x01, - 0xaf, 0xfd, 0x63, 0x4e, 0x54, 0x49, 0x9b, 0x41, 0x83, 0x6f, 0x0f, 0x83, 0xd2, 0x3d, 0xed, 0x81, - 0x51, 0xf2, 0x10, 0xb0, 0xbc, 0x26, 0x61, 0x58, 0xf6, 0xf2, 0x05, 0x68, 0x12, 0xca, 0x8b, 0xe9, - 0x4a, 0x4a, 0x7d, 0x7d, 0x24, 0x00, 0x6d, 0x4d, 0x5c, 0xb5, 0x40, 0xc4, 0x9f, 0x9c, 0x16, 0xbc, - 0x7b, 0x15, 0xeb, 0x8a, 0x29, 0x83, 0x57, 0x60, 0x42, 0xb7, 0x9c, 0x2b, 0xf8, 0xcb, 0x2b, 0xe6, - 0x47, 0x87, 0x7c, 0x81, 0xbf, 0x65, 0xee, 0x27, 0x3e, 0x18, 0xee, 0xb1, 0x85, 0x9c, 0x9f, 0xd0, - 0x4d, 0xe9, 0xf5, 0xee, 0xbb, 0x29, 0x8a, 0xc6, 0x9b, 0x16, 0x04, 0xe7, 0x16, 0x89, 0x1c, 0x05, - 0xe1, 0xce, 0x82, 0x93, 0x9c, 0x9b, 0xd4, 0x5a, 0xab, 0x5c, 0xdd, 0x84, 0xaf, 0x43, 0x61, 0x08, - 0x69, 0x18, 0x17, 0x5a, 0xd1, 0x52, 0x3a, 0xfc, 0xda, 0x00, 0x8f, 0x05, 0x62, 0x39, 0x36, 0xc4, - 0xa2, 0x15, 0x72, 0xcd, 0x11, 0xc5, 0x86, 0x1c, 0x35, 0xec, 0x27, 0x34, 0x92, 0x7e, 0xa3, 0x10, - 0x17, 0x35, 0x9f, 0x22, 0x5d, 0x47, 0x60, 0x54, 0x2b, 0x30, 0x6f, 0xb4, 0xf7, 0xcf, 0x97, 0x17, - 0x4d, 0x3d, 0x93, 0x70, 0x58, 0x86, 0x7c, 0xa1, 0x9c, 0x55, 0x76, 0x63, 0x64, 0xfa, 0xb7, 0x1d, - 0x20, 0x3f, 0xcd, 0x0c, 0x35, 0xf1, 0x73, 0x68, 0x4f, 0x15, 0x69, 0xeb, 0x3b, 0x25, 0x47, 0xe3, - 0xaf, 0x0a, 0x4e, 0x56, 0x78, 0x50, 0xb3, 0xf8, 0x85, 0x04, 0x06, 0xdb, 0xa1, 0x02, 0xa8, 0x2f, - 0x7f, 0x26, 0x3b, 0x6a, 0xb2, 0x63, 0x94, 0xf0, 0x39, 0xc0, 0xb0, 0x0b, 0x02, 0xd1, 0x72, 0x66, - 0xbb, 0x99, 0x98, 0x09, 0x97, 0xe2, 0x4b, 0xeb, 0x47, 0x7c, 0xe6, 0xc6, 0x41, 0xd2, 0xb9, 0x15, - 0xfc, 0xfd, 0x44, 0x3b, 0x45, 0xe4, 0xfb, 0xe0, 0xbf, 0xcc, 0x63, 0x4b, 0x87, 0x77, 0x2a, 0xf0, - 0x6a, 0x22, 0xfc, 0x5d, 0x11, 0xd8, 0xf8, 0xc8, 0x91, 0x63, 0x3b, 0x51, 0x01, 0x01, 0x8e, 0xb3, - 0x7b, 0x3d, 0xb4, 0xbb, 0xb8, 0xf6, 0x02, 0x93, 0x5d, 0x89, 0x83, 0x49, 0x03, 0x14, 0x30, 0x7f, - 0x85, 0x22, 0xa9, 0x0c, 0x4a, 0x13, 0x9b, 0xd1, 0xf7, 0x0b, 0xfd, 0x26, 0x3b, 0x6a, 0x46, 0xca, - 0x99, 0x42, 0xa8, 0x7b, 0xa3, 0x04, 0x6c, 0xe3, 0x66, 0x60, 0xeb, 0x3e, 0xb0, 0xde, 0x1d, 0x17, - 0x15, 0x48, 0x24, 0x16, 0x1f, 0x7c, 0x61, 0xda, 0xa9, 0x12, 0x90, 0x0c, 0x5c, 0x58, 0xc9, 0x8f, - 0x1b, 0x36, 0xfd, 0x46, 0xe4, 0x7e, 0x53, 0xda, 0x97, 0x96, 0x16, 0x78, 0xbb, 0x06, 0xb9, 0x6f, - 0x57, 0x58, 0xf5, 0x95, 0x5a, 0xab, 0xd3, 0x7e, 0x7d, 0x8d, 0xda, 0x79, 0x3c, 0x50, 0xb6, 0x68, - 0x17, 0xf2, 0xd5, 0xcb, 0xa5, 0x57, 0x19, 0x56, 0x8c, 0xcf, 0x94, 0x09, 0x98, 0x78, 0x30, 0x6e, - 0x0a, 0x28, 0xfa, 0xf4, 0xac, 0x19, 0xec, 0xf9, 0x7d, 0x05, 0x68, 0x82, 0xaa, 0x82, 0x9c, 0x98, - 0x8d, 0x7d, 0x92, 0x78, 0x24, 0xba, 0xb9, 0x6b, 0x73, 0xc4, 0x79, 0x0f, 0xff, 0xc6, 0xee, 0xe5, - 0x8c, 0x1b, 0x8a, 0xd3, 0x27, 0x7c, 0x1c, 0xf7, 0x96, 0x80, 0xc3, 0xed, 0xaa, 0xa8, 0x32, 0xea, - 0x3a, 0xef, 0x3d, 0xc5, 0x03, 0x88, 0x3e, 0x8b, 0x6d, 0x67, 0x16, 0x14, 0xb8, 0x7e, 0x9b, 0x15, - 0xb8, 0x68, 0x5a, 0x2a, 0x47, 0xf7, 0xea, 0x39, 0x77, 0x95, 0xd1, 0xca, 0xb8, 0xa4, 0x24, 0x5c, - 0xbe, 0xb1, 0xc8, 0x02, 0x58, 0x15, 0x08, 0xd6, 0xa7, 0xf7, 0x3f, 0x2d, 0x7a, 0x26, 0xca, 0x0c, - 0x6f, 0xb4, 0x28, 0x4d, 0xea, 0xde, 0x3c, 0xcb, 0x64, 0x8f, 0x5a, 0xfb, 0x78, 0x8e, 0xcf, 0x9c, - 0x2c, 0x20, 0x9b, 0x7a, 0xe1, 0x82, 0xcb, 0x27, 0xd6, 0xc2, 0x1c, 0x76, 0x48, 0x47, 0xfd, 0xff, - 0x26, 0xff, 0x05, 0xd8, 0x8f, 0x98, 0x47, 0x87, 0xa7, 0x49, 0x35, 0xa5, 0xa4, 0xfc, 0x3a, 0x98, - 0xfa, 0xb3, 0x9f, 0x3e, 0x97, 0xc8, 0xe7, 0x44, 0x1b, 0x60, 0x78, 0xaa, 0xae, 0x82, 0xbd, 0xee, - 0x6c, 0x75, 0x16, 0x4d, 0x98, 0x1d, 0x92, 0x6e, 0xf1, 0xb3, 0xd2, 0x78, 0xeb, 0x2b, 0x31, 0x0a, - 0xac, 0xba, 0x68, 0xe9, 0x00, 0xd1, 0x11, 0xc2, 0x0e, 0x73, 0x11, 0x8b, 0x53, 0x0c, 0xa6, 0xc9, - 0x7f, 0xd2, 0x62, 0x0c, 0x82, 0x70, 0x66, 0x62, 0x0e, 0x31, 0xb5, 0x07, 0x47, 0x71, 0xd1, 0xdf, - 0x5c, 0x96, 0x0d, 0xce, 0x25, 0xd5, 0xf7, 0xa0, 0x05, 0x23, 0x47, 0x65, 0xc2, 0x0b, 0xee, 0x0f, - 0x80, 0xd0, 0x93, 0xf6, 0x95, 0xd3, 0x78, 0x0f, 0xac, 0x0c, 0x71, 0xab, 0x8e, 0x92, 0x96, 0x5c, - 0xaa, 0x34, 0xa9, 0x0f, 0x72, 0xae, 0xbc, 0x58, 0xf1, 0x3d, 0x59, 0x18, 0x57, 0x9c, 0x73, 0xb9, - 0xcd, 0x86, 0x90, 0x90, 0x00, 0x02, 0x90, 0x4c, 0x44, 0xc0, 0x8f, 0x73, 0x16, 0x85, 0x8d, 0x54, - 0x54, 0xd5, 0x3a, 0x16, 0x41, 0x9d, 0x41, 0x67, 0x55, 0x3b, 0x68, 0xe2, 0x94, 0x24, 0x26, 0x93, - 0xff, 0xca, 0x75, 0xb8, 0x62, 0x74, 0x9d, 0x7c, 0x96, 0xda, 0x0c, 0x94, 0x90, 0x7e, 0x74, 0xdd, - 0xe5, 0xad, 0x8b, 0xcb, 0xc9, 0xe4, 0xa7, 0xac, 0x01, 0x62, 0xb0, 0x5a, 0x8d, 0xfa, 0x73, 0x04, - 0xc7, 0xf3, 0x2b, 0xeb, 0xb4, 0xc4, 0xf3, 0x2b, 0x56, 0x63, 0xeb, 0x39, 0x44, 0xbf, 0xf4, 0x81, - 0xf8, 0x2f, 0x20, 0xc9, 0x0f, 0xfb, 0x4e, 0xeb, 0x17, 0x0c, 0x49, 0xec, 0x34, 0x9f, 0x8f, 0xac, - 0x1d, 0x96, 0xa1, 0x0b, 0x97, 0xf4, 0x3d, 0x86, 0x7b, 0x3f, 0x94, 0xf8, 0x80, 0x11, 0xdd, 0xd6, - 0x8e, 0xd5, 0x22, 0xe2, 0xb5, 0x63, 0xe6, 0x8f, 0x35, 0xe5, 0xf8, 0xb2, 0x81, 0x2c, 0xfa, 0xf1, - 0x92, 0x85, 0x77, 0xf7, 0x4f, 0x4d, 0x78, 0xf1, 0xdd, 0x2a, 0x68, 0xdc, 0x13, 0x5d, 0x56, 0x6c, - 0x37, 0x6f, 0x38, 0xb7, 0xe4, 0xd8, 0xbb, 0x30, 0x97, 0x57, 0x6b, 0x7e, 0x77, 0x7a, 0xce, 0x4d, - 0x59, 0x48, 0x6e, 0x88, 0x70, 0xf4, 0x69, 0xf4, 0x82, 0x0b, 0xc8, 0x66, 0xcf, 0x69, 0x12, 0x0e, - 0xd5, 0xc5, 0x9c, 0x97, 0xc1, 0x15, 0xb1, 0x0c, 0x9f, 0x16, 0x75, 0xa5, 0xce, 0x54, 0x2f, 0x2f, - 0x0b, 0xc5, 0x45, 0x50, 0xec, 0x7e, 0x38, 0x8a, 0x40, 0x26, 0x29, 0xd9, 0x8c, 0x97, 0x25, 0x0c, - 0xa1, 0xdb, 0x17, 0xe0, 0x7e, 0x98, 0x35, 0xc4, 0x7c, 0x08, 0x6d, 0x04, 0x2f, 0xfe, 0x63, 0xc4, - 0xf2, 0xfe, 0x7e, 0xba, 0xee, 0x6a, 0x02, 0x25, 0xb1, 0x32, 0x8a, 0x57, 0x57, 0xfe, 0x5c, 0xc1, - 0xa4, 0xdc, 0x35, 0xdb, 0x54, 0x24, 0x48, 0x76, 0x24, 0xe2, 0x3c, 0xd1, 0xd7, 0xd4, 0xb2, 0x79, - 0x48, 0x17, 0xdd, 0x14, 0x5c, 0xb1, 0xa1, 0x0a, 0x42, 0x95, 0x5e, 0xf7, 0x03, 0x3c, 0xd3, 0xcf, - 0x68, 0x5e, 0xb8, 0x3e, 0x60, 0xca, 0x47, 0xd5, 0x19, 0x5f, 0x97, 0xf0, 0x94, 0xa5, 0x08, 0xec, - 0xb2, 0xed, 0xe8, 0x6c, 0x43, 0x14, 0xa8, 0xbb, 0x61, 0x46, 0x68, 0x70, 0x79, 0x8d, 0x4d, 0x63, - 0x90, 0xdc, 0xac, 0xef, 0x51, 0x11, 0xbc, 0x31, 0xdc, 0x17, 0xbc, 0x45, 0xc2, 0x68, 0x29, 0x4e, - 0x69, 0x19, 0xc4, 0x6c, 0x26, 0x72, 0x55, 0x2a, 0xb6, 0xb6, 0xf3, 0xf7, 0xd2, 0x70, 0xa6, 0x27, - 0x0d, 0xba, 0xd1, 0xf9, 0x0e, 0x35, 0x11, 0x02, 0x88, 0xe4, 0x50, 0x1b, 0x47, 0x24, 0x73, 0xbe, - 0x30, 0x12, 0x05, 0x1a, 0x4f, 0xb6, 0x35, 0x92, 0xeb, 0x4c, 0x40, 0x6e, 0xff, 0x00, 0xb1, 0x3a, - 0xf2, 0x79, 0x5a, 0xff, 0x00, 0xa3, 0x0b, 0x39, 0x99, 0x09, 0xc6, 0x4a, 0x30, 0x7d, 0x0c, 0x33, - 0xa4, 0x25, 0xc4, 0xda, 0xe3, 0x25, 0x66, 0x61, 0xaf, 0x6f, 0x27, 0xc2, 0x9c, 0xd9, 0x5a, 0x01, - 0x33, 0x2a, 0x55, 0x3f, 0xe6, 0xd8, 0xbe, 0x83, 0x37, 0xd5, 0x98, 0xb2, 0x32, 0xe6, 0x02, 0x01, - 0xf4, 0x4f, 0x1f, 0x8b, 0xa4, 0x30, 0xe8, 0xc6, 0x23, 0xec, 0x20, 0x3b, 0x54, 0x15, 0x30, 0x01, - 0x28, 0x4b, 0x8a, 0x63, 0xf3, 0x6e, 0x66, 0x9b, 0x76, 0x83, 0xca, 0x7a, 0xdf, 0x8d, 0x0a, 0x48, - 0x59, 0xdb, 0x7e, 0xae, 0xc7, 0xc6, 0x5a, 0x46, 0x79, 0x31, 0x33, 0xdc, 0x14, 0xa8, 0xcd, 0x80, - 0x12, 0x7e, 0xde, 0x94, 0xa1, 0x13, 0x57, 0x52, 0x4e, 0xf3, 0x81, 0xdd, 0x3f, 0xd7, 0xbd, 0xb3, - 0x39, 0x50, 0x6d, 0x7c, 0x31, 0x40, 0x24, 0x49, 0x59, 0xca, 0x9b, 0xe3, 0x55, 0x07, 0x01, 0xdd, - 0xfe, 0x89, 0x22, 0x6d, 0x81, 0xda, 0x48, 0xdf, 0xa4, 0x4e, 0xe9, 0x14, 0x29, 0x84, 0x8e, 0xa6, - 0x63, 0x83, 0x32, 0x34, 0x1d, 0x8c, 0xa5, 0xfb, 0x53, 0x83, 0x5f, 0x7a, 0x5a, 0xc1, 0x66, 0xad, - 0x51, 0x74, 0x8f, 0xdc, 0x26, 0x1f, 0x09, 0xd2, 0x56, 0x18, 0x22, 0x8f, 0xa3, 0xda, 0x0c, 0x61, - 0x4c, 0x65, 0xe2, 0x4c, 0x11, 0x34, 0x50, 0xeb, 0xae, 0x5d, 0x81, 0x9b, 0x3e, 0x7b, 0xb1, 0x4e, - 0x83, 0x97, 0xf6, 0xff, 0x44, 0x29, 0xde, 0xdc, 0xa6, 0xe7, 0x64, 0x88, 0x45, 0xbb, 0x2f, 0xc9, - 0x27, 0x6b, 0xfd, 0xcb, 0x10, 0x05, 0xda, 0x01, 0xa5, 0xde, 0xec, 0xbf, 0x64, 0x8c, 0x43, 0x65, - 0x1b, 0xea, 0x6d, 0xbb, 0x1a, 0xa4, 0xd7, 0x77, 0x5c, 0xce, 0xeb, 0x5e, 0xda, 0x05, 0xcd, 0x72, - 0x8c, 0x08, 0xb6, 0xc6, 0x5a, 0x32, 0x67, 0x3b, 0x06, 0x57, 0x19, 0xa4, 0x7a, 0x8b, 0x53, 0xc9, - 0x60, 0xec, 0xdc, 0x37, 0x00, 0x21, 0x05, 0x8b, 0xad, 0x25, 0xdb, 0x57, 0xcf, 0xb7, 0xe6, 0x48, - 0x28, 0xa4, 0xfd, 0xc7, 0x9c, 0xdd, 0x31, 0x56, 0x6c, 0x05, 0xb9, 0x1b, 0x70, 0xca, 0xfe, 0xf3, - 0x0a, 0xc0, 0xe6, 0x0c, 0xed, 0xa4, 0xe5, 0xbb, 0x07, 0xaf, 0xb8, 0x4e, 0x11, 0x35, 0x78, 0xe0, - 0xac, 0x7e, 0x3b, 0xdd, 0x43, 0xea, 0xf7, 0x81, 0x31, 0x25, 0xaa, 0x34, 0x2e, 0xb7, 0xe4, 0x51, - 0xa1, 0xb7, 0xe2, 0x16, 0x62, 0xb9, 0x96, 0xc6, 0x09, 0x0a, 0x7f, 0xc1, 0x4b, 0xee, 0xdb, 0xbb, - 0x0f, 0x99, 0x83, 0x67, 0xf9, 0x40, 0xd8, 0x1a, 0x3b, 0xe0, 0x50, 0x3c, 0x42, 0x80, 0x59, 0x7c, - 0x49, 0x11, 0xe7, 0xcb, 0x85, 0x4b, 0xc7, 0x38, 0x2f, 0xf5, 0x68, 0x17, 0xd7, 0xc4, 0x83, 0x9e, - 0x8c, 0xcc, 0x24, 0xb5, 0xd2, 0x56, 0xfb, 0xb3, 0xa3, 0xe1, 0x0e, 0x0b, 0xab, 0x26, 0x77, 0x2d, - 0x87, 0x47, 0x52, 0x02, 0x86, 0x7c, 0xd7, 0xe6, 0xef, 0x19, 0xb2, 0x7e, 0xa4, 0xcf, 0xd5, 0x39, - 0x9c, 0x3a, 0x77, 0xd4, 0xb0, 0x4f, 0xf1, 0xc7, 0x80, 0x3e, 0xc8, 0x44, 0x33, 0xbf, 0xfe, 0x0b, - 0x12, 0x70, 0x70, 0x5d, 0xe1, 0x2d, 0xe8, 0x79, 0xd1, 0x78, 0xb3, 0x72, 0x8b, 0xed, 0xaa, 0xde, - 0xef, 0x61, 0x98, 0xab, 0xe3, 0x2d, 0xea, 0x70, 0x62, 0x0e, 0x38, 0x21, 0x5d, 0x81, 0xab, 0xda, - 0xb8, 0xc8, 0xc6, 0xe4, 0x0a, 0x81, 0xc6, 0x65, 0x82, 0x72, 0xa0, 0x6d, 0x45, 0x69, 0x11, 0xed, - 0xfc, 0x2b, 0xe0, 0x07, 0xcb, 0x91, 0x99, 0xdb, 0x55, 0x1e, 0xf7, 0x0a, 0xd8, 0x62, 0x2e, 0xd2, - 0xd7, 0xc5, 0x29, 0x81, 0x75, 0x6b, 0xb2, 0x7b, 0xe3, 0xab, 0xfc, 0xea, 0xda, 0xcd, 0x14, 0xbe, - 0xac, 0x3f, 0xdd, 0xe3, 0xe8, 0x33, 0x78, 0xc1, 0xdd, 0x64, 0x2c, 0x54, 0x50, 0xd4, 0x62, 0xd6, - 0xa7, 0xc7, 0x1a, 0x10, 0xdd, 0x1e, 0x00, 0xd0, 0x68, 0xf9, 0x67, 0x76, 0xcc, 0x46, 0x11, 0x23, - 0xe4, 0x01, 0x0c, 0x8c, 0x6e, 0x0d, 0xe5, 0x3f, 0xbb, 0x4b, 0x47, 0xd6, 0xa3, 0x25, 0x1f, 0xd3, - 0x01, 0x68, 0xc6, 0x37, 0xe0, 0x3f, 0xa7, 0xdf, 0xf5, 0x24, 0x41, 0xd1, 0x1f, 0x18, 0x96, 0xa4, - 0x28, 0xa5, 0x37, 0xa0, 0x40, 0xa9, 0xc8, 0x1f, 0x87, 0x79, 0xee, 0xdc, 0xe2, 0xda, 0xb2, 0x13, - 0xc3, 0x44, 0x67, 0x85, 0xa0, 0x4f, 0xca, 0x36, 0x4b, 0x1a, 0x25, 0xc9, 0xdf, 0x06, 0xf9, 0xa0, - 0x35, 0x4d, 0x8a, 0x95, 0x3e, 0x76, 0x69, 0x97, 0x6c, 0x9d, 0x23, 0x45, 0xde, 0x41, 0xd8, 0x1b, - 0x44, 0x2a, 0xb3, 0x50, 0xf0, 0x6f, 0xcb, 0x73, 0xb2, 0xc8, 0x38, 0x1e, 0x0a, 0x96, 0xc1, 0x5e, - 0xc8, 0x28, 0x91, 0x62, 0xd4, 0xc4, 0x7e, 0xd8, 0x87, 0xb5, 0xc8, 0xfb, 0x84, 0x2e, 0x98, 0xe9, - 0xdd, 0xb6, 0xce, 0x9e, 0xc7, 0x25, 0x0d, 0xf9, 0x9f, 0x0d, 0xcb, 0x1e, 0x1e, 0x6f, 0x00, 0xbb, - 0x6a, 0x06, 0xa4, 0x72, 0xf2, 0x92, 0xab, 0x36, 0x09, 0x6a, 0x2b, 0x18, 0x3c, 0x31, 0x9d, 0x2d, - 0x77, 0x3d, 0x83, 0x4a, 0xbe, 0xa7, 0xdf, 0xf2, 0x96, 0x0c, 0xb1, 0xe0, 0xe3, 0xe9, 0xcb, 0x44, - 0x9a, 0x0c, 0x95, 0x84, 0x68, 0xab, 0x98, 0x91, 0x8d, 0xbb, 0x08, 0xf7, 0x07, 0xd8, 0x21, 0x5c, - 0x6a, 0x3c, 0x41, 0xfa, 0xbc, 0x32, 0x24, 0x9e, 0x1b, 0x67, 0x6e, 0xd8, 0x71, 0x0a, 0x94, 0xa8, - 0x2b, 0x7d, 0x83, 0x6c, 0x50, 0x43, 0xf9, 0x52, 0x95, 0x7f, 0x20, 0x71, 0xa3, 0xf9, 0x79, 0x04, - 0x25, 0x9a, 0x22, 0xdb, 0xd9, 0xa1, 0x7f, 0x06, 0xb0, 0x88, 0x5d, 0x19, 0x98, 0x36, 0x23, 0xca, - 0xad, 0xff, 0x32, 0x34, 0x18, 0xda, 0xd8, 0xbf, 0x66, 0x41, 0x11, 0xc3, 0xc3, 0x65, 0xaa, 0x79, - 0x92, 0x1d, 0x51, 0xf3, 0x81, 0x95, 0x53, 0xd6, 0x1e, 0x3e, 0x77, 0xf9, 0xc4, 0x76, 0x47, 0xa2, - 0x7f, 0x7e, 0xab, 0xa4, 0xbb, 0x39, 0xf6, 0xf5, 0x3c, 0x20, 0x23, 0x9a, 0xdd, 0x86, 0x4d, 0xe9, - 0x83, 0xc0, 0x0a, 0x21, 0x40, 0x35, 0x23, 0xab, 0x39, 0xf7, 0xf9, 0x13, 0x6c, 0xde, 0x69, 0x02, - 0x95, 0xac, 0x80, 0x4c, 0x07, 0x81, 0xaa, 0x55, 0x11, 0x8f, 0xe2, 0xd3, 0x98, 0x31, 0x0d, 0x49, - 0x71, 0x95, 0x6a, 0xfd, 0x28, 0x7d, 0x81, 0x23, 0x17, 0x8a, 0x43, 0xc9, 0x71, 0xb4, 0x44, 0x1c, - 0x6a, 0xef, 0xae, 0x71, 0x25, 0x4f, 0xfc, 0x41, 0xc7, 0x1a, 0x46, 0x84, 0x91, 0xba, 0x00, 0xce, - 0xeb, 0x1e, 0x96, 0xa8, 0xdd, 0xf7, 0xe5, 0xa2, 0x79, 0xb8, 0xf5, 0x2f, 0x32, 0x1f, 0xd6, 0x8d, - 0xad, 0xed, 0xbb, 0x73, 0xd6, 0x8c, 0x52, 0x89, 0x90, 0x7d, 0xa4, 0x5e, 0x1e, 0x0c, 0x3c, 0x83, - 0x2f, 0x69, 0xb9, 0x7e, 0xc3, 0x4a, 0x00, 0x23, 0xf9, 0x79, 0xfe, 0x00, 0x3f, 0xe7, 0xe3, 0xb0, - 0x5e, 0xd5, 0x9a, 0xf9, 0xb7, 0x6b, 0xf7, 0x10, 0x8d, 0x76, 0x3a, 0x15, 0x53, 0x7a, 0x54, 0x64, - 0xd3, 0xcf, 0xa6, 0x08, 0x59, 0x34, 0xf5, 0xc7, 0x23, 0x49, 0x8e, 0xc7, 0x9c, 0x01, 0xda, 0x63, - 0x0b, 0xe0, 0xa6, 0xc4, 0xa8, 0xeb, 0x6e, 0xb3, 0x49, 0x7f, 0xf3, 0x4e, 0x13, 0x09, 0xa0, 0x2d, - 0xf2, 0x1f, 0x05, 0xaa, 0xb6, 0xe5, 0x1f, 0x9f, 0xf6, 0xce, 0x02, 0xfc, 0x12, 0xb1, 0x2b, 0x8c, - 0x8e, 0xa0, 0x38, 0x56, 0xf9, 0x02, 0xfb, 0x8c, 0x02, 0x18, 0xde, 0xec, 0xe9, 0xc1, 0x0f, 0x16, - 0x16, 0x5b, 0xc7, 0xe6, 0xc8, 0xa0, 0x1d, 0x50, 0xec, 0x24, 0x2a, 0x8a, 0xfc, 0x46, 0x18, 0x6c, - 0x86, 0xfb, 0x1f, 0xee, 0x47, 0xdd, 0x64, 0x99, 0x58, 0x07, 0xb6, 0x59, 0x3a, 0x60, 0x12, 0x1d, - 0x88, 0x28, 0x77, 0x5f, 0x7a, 0x7e, 0x4d, 0x88, 0x3b, 0xa0, 0x8b, 0x12, 0x70, 0xfa, 0x49, 0x29, - 0x20, 0x29, 0xd9, 0xbb, 0xa9, 0x21, 0xc0, 0x21, 0x4c, 0xc0, 0xe3, 0x20, 0xda, 0x84, 0x70, 0x9f, - 0x2c, 0xdd, 0xee, 0xb3, 0x84, 0x11, 0xcb, 0x59, 0xc8, 0x2c, 0xc4, 0xb0, 0xb7, 0xee, 0x91, 0x58, - 0x68, 0x3a, 0x28, 0x9a, 0x9d, 0xee, 0xd3, 0x8b, 0x45, 0x5f, 0x2e, 0x34, 0x89, 0xe1, 0x7a, 0x83, - 0x43, 0x52, 0x75, 0x37, 0x71, 0xe2, 0x9f, 0xd2, 0xe3, 0xa6, 0x2f, 0x12, 0x10, 0xbd, 0x9e, 0x67, - 0x01, 0x10, 0x98, 0x26, 0x8e, 0xfc, 0x89, 0x6d, 0x69, 0xfc, 0xb8, 0xac, 0x11, 0xe8, 0xd8, 0x93, - 0x1e, 0xc9, 0x42, 0xa5, 0xd8, 0x7b, 0x8a, 0xc4, 0x76, 0xe7, 0xda, 0xcd, 0xbd, 0x96, 0xf7, 0xab, - 0x50, 0x91, 0x3f, 0xd4, 0x27, 0x41, 0x34, 0xc7, 0x47, 0xd2, 0xab, 0x1e, 0xc2, 0x60, 0x72, 0x6a, - 0xa1, 0xa4, 0x62, 0x9e, 0xcb, 0x7e, 0xff, 0x2a, 0xbd, 0xfb, 0x65, 0x07, 0x21, 0xf3, 0x9e, 0x8e, - 0xf5, 0x2a, 0x3b, 0xf0, 0xf9, 0x3d, 0xc8, 0x35, 0xde, 0xee, 0xaa, 0xa4, 0xa0, 0xab, 0x80, 0x5a, - 0x58, 0x75, 0x34, 0x05, 0xfc, 0xe3, 0x53, 0xb4, 0x08, 0x35, 0x07, 0x34, 0xf7, 0xcf, 0x35, 0x63, - 0xcf, 0x25, 0x1f, 0x23, 0xc3, 0x80, 0x89, 0xa1, 0xc3, 0xf2, 0xf3, 0x60, 0xcb, 0xa0, 0x63, 0x7a, - 0x65, 0x03, 0xe3, 0xd1, 0x7b, 0x38, 0xd0, 0x61, 0x7f, 0x4b, 0x66, 0x55, 0xf0, 0xfe, 0x8b, 0xef, - 0xf8, 0xf0, 0x80, 0xaf, 0x77, 0x7b, 0xd0, 0x2d, 0x67, 0x6c, 0xdc, 0xb0, 0xac, 0x18, 0x5e, 0x2f, - 0x8a, 0xec, 0x99, 0x68, 0xbb, 0x43, 0x9a, 0x97, 0xd8, 0xa2, 0x63, 0x88, 0x86, 0x8f, 0x24, 0xeb, - 0xb2, 0xd8, 0x7b, 0xa6, 0x23, 0xcb, 0x88, 0xf4, 0x17, 0x52, 0xc2, 0xb7, 0x3e, 0x97, 0xc9, 0x93, - 0x1b, 0xaa, 0xa1, 0xf9, 0xc8, 0xa7, 0x6a, 0x39, 0x9a, 0xe1, 0xc5, 0xa1, 0x5f, 0xb2, 0xff, 0x9d, - 0x71, 0x53, 0xf8, 0x05, 0x36, 0xe3, 0x7c, 0x81, 0xc7, 0x1d, 0xd2, 0xd4, 0xb5, 0x33, 0x03, 0x94, - 0xf1, 0x07, 0xe1, 0x08, 0x06, 0xee, 0xa0, 0x4e, 0xab, 0xc6, 0x69, 0x6a, 0xd5, 0x4a, 0xaf, 0x99, - 0x33, 0x0d, 0x13, 0xe9, 0x99, 0xbd, 0x50, 0xb9, 0x78, 0x61, 0x8a, 0xb6, 0x4d, 0x56, 0x4a, 0x5d, - 0xd2, 0xb3, 0x5b, 0x8c, 0x25, 0xd8, 0xef, 0x0d, 0xd1, 0x53, 0x85, 0xce, 0xdf, 0x44, 0x95, 0x6b, - 0xed, 0x5b, 0xf1, 0x0c, 0x4a, 0xcd, 0xca, 0xea, 0x5e, 0x42, 0x25, 0xd9, 0x05, 0x3a, 0x81, 0xda, - 0xa2, 0x36, 0x5f, 0x8a, 0x7d, 0x35, 0xd1, 0x44, 0xd7, 0xf8, 0x6b, 0x3b, 0xd3, 0x9b, 0x78, 0xc0, - 0x5c, 0x5c, 0x4b, 0x77, 0x65, 0x5e, 0x6b, 0xd2, 0x1a, 0x97, 0x92, 0xf4, 0x6d, 0x96, 0xb7, 0x60, - 0x61, 0x0d, 0x1a, 0xa6, 0x64, 0xfd, 0xf3, 0x29, 0x9f, 0x0c, 0x92, 0xf9, 0xcd, 0x57, 0x42, 0xdc, - 0x66, 0xb2, 0xa1, 0x2d, 0xef, 0x01, 0xe3, 0x19, 0x43, 0xb4, 0xcd, 0x74, 0x9e, 0xc0, 0x04, 0xe7, - 0xea, 0xce, 0x9d, 0xe6, 0x90, 0x2b, 0x05, 0xa0, 0x14, 0x3d, 0xe6, 0x56, 0x58, 0x2f, 0xdf, 0x80, - 0xcc, 0x66, 0xb7, 0xc5, 0x58, 0xae, 0xed, 0x81, 0x77, 0xc8, 0x91, 0x6b, 0x4b, 0xa8, 0x58, 0x7e, - 0x37, 0xc0, 0x3c, 0x43, 0xb0, 0x49, 0x17, 0xb9, 0x12, 0xdb, 0x22, 0x55, 0xf8, 0xa7, 0xdf, 0x9d, - 0x65, 0x43, 0xed, 0xd5, 0xd5, 0xe4, 0x4f, 0xdb, 0xa3, 0x16, 0xcd, 0x7f, 0xf8, 0x8c, 0x07, 0x58, - 0x1a, 0xed, 0x3b, 0x29, 0xc9, 0xe5, 0xd9, 0x8d, 0x1e, 0x21, 0xd1, 0xe1, 0xdd, 0x50, 0xca, 0x7e, - 0x77, 0x09, 0x5d, 0x72, 0x1f, 0x1e, 0x70, 0x96, 0x9f, 0x8d, 0xde, 0xc0, 0xfd, 0xef, 0x3e, 0x84, - 0xcf, 0xd4, 0xcb, 0xa3, 0x5e, 0xcf, 0xdf, 0xd7, 0x0f, 0xe2, 0x9a, 0xcc, 0x3e, 0x52, 0x0e, 0xd6, - 0xac, 0x69, 0x9e, 0xec, 0x2f, 0x45, 0x20, 0x17, 0x28, 0x34, 0x9a, 0x8e, 0x5e, 0xb7, 0x09, 0x04, - 0x57, 0xa4, 0x17, 0xba, 0x45, 0x3e, 0xcf, 0xec, 0x2d, 0x83, 0xf0, 0x0e, 0x9a, 0xff, 0xad, 0x04, - 0x36, 0x97, 0x4c, 0xcf, 0xb6, 0xa2, 0x37, 0x7b, 0xa5, 0xfa, 0xa9, 0x25, 0x88, 0xd9, 0x71, 0xb0, - 0x2b, 0xc0, 0xd8, 0xf5, 0x22, 0x59, 0x29, 0x75, 0xa2, 0x56, 0xa8, 0x32, 0x2b, 0xdb, 0xae, 0x3a, - 0x3c, 0x02, 0x1a, 0x3c, 0x23, 0xf9, 0xab, 0xe0, 0x77, 0x15, 0xf6, 0x34, 0x15, 0x39, 0x3c, 0x83, - 0xbe, 0xec, 0xac, 0xaa, 0xd6, 0x02, 0xd0, 0x56, 0x9d, 0x14, 0x38, 0x3b, 0x52, 0x45, 0xd9, 0x40, - 0x7f, 0x79, 0xe2, 0xb6, 0xeb, 0xe9, 0x9f, 0xa9, 0x4b, 0xb3, 0x1e, 0x3f, 0x92, 0xc0, 0x6d, 0xd0, - 0x6e, 0x78, 0x02, 0x72, 0xc2, 0x73, 0x0f, 0x89, 0x3b, 0x99, 0x44, 0x0b, 0xa9, 0xde, 0x18, 0xae, - 0xe6, 0x6f, 0xf9, 0x33, 0xb5, 0x94, 0x12, 0x66, 0x38, 0x66, 0xc2, 0x67, 0xb2, 0x12, 0x5d, 0x83, - 0xc3, 0x42, 0x8d, 0xd0, 0x04, 0x3b, 0x4d, 0x76, 0x47, 0xfb, 0x56, 0xec, 0xa6, 0x17, 0xe2, 0x7f, - 0x5c, 0xc4, 0xf4, 0xa4, 0x2e, 0xf5, 0x6a, 0xdf, 0x92, 0xe6, 0x76, 0x37, 0xbe, 0x43, 0xa0, 0x07, - 0xe7, 0xb3, 0x52, 0x50, 0x74, 0x5d, 0x89, 0x4a, 0x8c, 0xbe, 0xc9, 0x6e, 0xfe, 0x75, 0xac, 0xe7, - 0x96, 0x1d, 0xfc, 0xd6, 0x97, 0xc1, 0x8e, 0x45, 0x32, 0xa6, 0xe0, 0xc6, 0x45, 0x09, 0x87, 0xcf, - 0x00, 0x8e, 0x16, 0x6f, 0x88, 0xd5, 0x04, 0xf6, 0x49, 0xd4, 0xa2, 0x44, 0x09, 0x33, 0xad, 0xf8, - 0x9b, 0xe8, 0x98, 0xfa, 0x0c, 0x2c, 0x5f, 0xad, 0x2b, 0x05, 0xb2, 0xdb, 0x44, 0xd8, 0xa1, 0xd7, - 0x78, 0xf2, 0xba, 0xec, 0x8d, 0xfe, 0xe8, 0xa6, 0xb3, 0xb6, 0xf0, 0xb7, 0x68, 0x7b, 0x9f, 0xfb, - 0x8f, 0x52, 0xfc, 0x08, 0x9a, 0x5f, 0xf7, 0x5e, 0x4f, 0xac, 0x75, 0x83, 0x01, 0x1f, 0x2f, 0xdc, - 0x93, 0x46, 0xec, 0x85, 0x92, 0xaf, 0xb5, 0x10, 0xdc, 0xdb, 0x23, 0x33, 0x57, 0x5a, 0xbb, 0x12, - 0x7c, 0xc2, 0x87, 0x25, 0x49, 0x20, 0xf9, 0xab, 0xf6, 0x15, 0xb3, 0xf8, 0x7d, 0x26, 0x08, 0xed, - 0x4d, 0xd0, 0xa0, 0x42, 0xc0, 0xdb, 0x44, 0xd4, 0x12, 0xa9, 0xa1, 0x1f, 0x3f, 0x3b, 0xe6, 0x86, - 0x22, 0x3a, 0x03, 0x22, 0xa9, 0xed, 0x2b, 0x44, 0x2e, 0xce, 0xf7, 0xf9, 0x41, 0x6c, 0x3d, 0x6a, - 0x72, 0x9e, 0x33, 0x8c, 0x38, 0xb1, 0x6e, 0xce, 0x44, 0x7d, 0x59, 0x2c, 0x38, 0x9b, 0xba, 0x3c, - 0xb2, 0xe4, 0x45, 0xd7, 0xb0, 0x3b, 0xe6, 0xef, 0xfc, 0x28, 0x0b, 0x45, 0x99, 0xcb, 0xe3, 0x57, - 0x32, 0xf2, 0x1d, 0x37, 0xf0, 0x7d, 0x38, 0x01, 0x34, 0x69, 0x51, 0xdc, 0x80, 0xbe, 0xf2, 0x31, - 0x5f, 0x2a, 0xcd, 0xf1, 0xfe, 0x2d, 0xd9, 0x98, 0xc6, 0x0f, 0xc6, 0x60, 0x03, 0xbd, 0xa0, 0xe7, - 0x2e, 0xd0, 0x24, 0x81, 0x4c, 0x67, 0xb0, 0xc1, 0xae, 0x51, 0xfa, 0xa3, 0x04, 0x9a, 0xe2, 0x5f, - 0x2c, 0x69, 0x40, 0xb8, 0x5b, 0x6b, 0x3f, 0xc2, 0xad, 0x7a, 0x4c, 0xbb, 0xe5, 0x0f, 0x60, 0x6e, - 0xf3, 0x5e, 0xd9, 0xf2, 0xdb, 0x21, 0x57, 0x86, 0x0b, 0x76, 0xe2, 0x69, 0x07, 0x7e, 0x3e, 0x19, - 0xfa, 0xd9, 0x96, 0xbf, 0x99, 0xe5, 0x10, 0x32, 0x10, 0xd7, 0xe1, 0x7e, 0xa9, 0xe8, 0x51, 0xfc, - 0x99, 0x4e, 0x3a, 0xe5, 0xdd, 0xa8, 0xdc, 0x92, 0x90, 0x9d, 0x42, 0x89, 0xec, 0xa1, 0xd0, 0x2b, - 0x09, 0x04, 0x56, 0x75, 0x5e, 0x57, 0xe9, 0x35, 0x7c, 0x37, 0xb8, 0x9a, 0xd2, 0x09, 0xe4, 0x80, - 0x64, 0xd4, 0x05, 0xf3, 0xb4, 0x07, 0x98, 0x37, 0xdb, 0x5b, 0x86, 0x1b, 0xce, 0xe1, 0x31, 0x25, - 0x27, 0xf1, 0x69, 0xbe, 0x57, 0xe7, 0xec, 0xed, 0x59, 0x3c, 0xc5, 0xa2, 0x38, 0x79, 0x70, 0x6f, - 0x14, 0x5f, 0xf6, 0xdb, 0x53, 0x18, 0x70, 0x77, 0x62, 0xe7, 0xfb, 0x0d, 0x1c, 0x27, 0xc6, 0x2a, - 0x26, 0x2e, 0xd1, 0xd8, 0xd0, 0xa6, 0xab, 0xa1, 0xf4, 0x28, 0xdb, 0x3f, 0x03, 0x29, 0x95, 0x44, - 0x41, 0xd2, 0x07, 0xf5, 0x9c, 0x13, 0xa1, 0xf4, 0xff, 0xcc, 0x9c, 0x28, 0xf0, 0x82, 0xc4, 0x81, - 0x80, 0xdb, 0x5d, 0x72, 0x68, 0x6e, 0x7b, 0x15, 0x44, 0x41, 0x8c, 0x49, 0x42, 0x6c, 0x10, 0x7a, - 0x84, 0x79, 0xc0, 0xe0, 0x8a, 0x97, 0xd0, 0xef, 0x9f, 0x55, 0xe5, 0x50, 0x0c, 0x4e, 0xb5, 0x22, - 0xb7, 0x97, 0xef, 0x07, 0x9c, 0x53, 0x61, 0x6c, 0xd1, 0xe9, 0x4c, 0x14, 0x6a, 0x76, 0xfa, 0xeb, - 0xf1, 0x41, 0x60, 0x84, 0xfb, 0x60, 0x34, 0xd4, 0xe1, 0xe3, 0xbd, 0x3f, 0xb1, 0x14, 0xa5, 0x09, - 0xe6, 0x34, 0xb8, 0xb7, 0xa8, 0x0a, 0xb7, 0x73, 0x32, 0x46, 0x87, 0x03, 0x6e, 0x75, 0xe8, 0x69, - 0xdc, 0x15, 0x9c, 0x4a, 0xf2, 0xab, 0xf7, 0x80, 0xd0, 0x47, 0x7a, 0xbc, 0x00, 0x71, 0xae, 0x23, - 0x2f, 0xab, 0xa7, 0x9a, 0xbd, 0xae, 0x0e, 0x62, 0x79, 0xdb, 0x13, 0x9a, 0x3a, 0xba, 0x2e, 0x21, - 0xa5, 0x3e, 0xa0, 0x56, 0xd8, 0x50, 0x90, 0x07, 0x8c, 0x2a, 0xa4, 0x37, 0x6c, 0x29, 0x84, 0x37, - 0x9b, 0x04, 0x50, 0x75, 0x0c, 0xe4, 0xc9, 0x50, 0x45, 0x68, 0x0e, 0x25, 0x51, 0x06, 0xc6, 0xdb, - 0xf3, 0x96, 0xe1, 0x5b, 0xf1, 0x45, 0x35, 0xb8, 0xec, 0x39, 0x9d, 0xf4, 0xce, 0x4d, 0xdc, 0xe9, - 0xfb, 0xc9, 0x29, 0x50, 0x33, 0x4d, 0xec, 0xb1, 0x7a, 0xf2, 0x52, 0x61, 0x96, 0xa1, 0xe9, 0xab, - 0xa0, 0x72, 0xf7, 0xc7, 0x79, 0x61, 0x3a, 0x43, 0xd4, 0x1b, 0x72, 0xb6, 0x3e, 0xba, 0x2b, 0x95, - 0xd2, 0x36, 0xf7, 0x00, 0xca, 0xed, 0x2b, 0xbd, 0x60, 0xc4, 0xe8, 0x4d, 0xe7, 0x5e, 0x51, 0xbd, - 0x2b, 0xb5, 0xec, 0x10, 0x15, 0x59, 0xec, 0xe0, 0x89, 0x3b, 0xa9, 0x38, 0x29, 0xc2, 0xdb, 0x18, - 0xcd, 0xe3, 0x39, 0xcd, 0xbc, 0x5f, 0xcb, 0xd2, 0x08, 0x0f, 0x8f, 0x5c, 0xa6, 0xd8, 0xc8, 0xfc, - 0xa3, 0xf4, 0x88, 0x98, 0xf5, 0x6a, 0xf7, 0x2e, 0x49, 0x26, 0xd7, 0x38, 0xc8, 0xbd, 0x75, 0x2b, - 0x71, 0x16, 0x2e, 0xda, 0xc4, 0x09, 0x02, 0xab, 0x47, 0x67, 0xe1, 0xab, 0x16, 0xd8, 0xbb, 0x5b, - 0xcb, 0x08, 0xcc, 0x01, 0x49, 0x85, 0x31, 0x5b, 0xa2, 0xdb, 0x2b, 0xba, 0x29, 0x71, 0xb2, 0xa6, - 0xd7, 0x94, 0x47, 0xa4, 0x52, 0x55, 0x16, 0x48, 0xdd, 0xf5, 0x6e, 0x49, 0xf5, 0x72, 0x81, 0xfc, - 0x0e, 0xed, 0xae, 0x36, 0xe0, 0x1f, 0x68, 0x47, 0x70, 0xc2, 0xfb, 0xa9, 0x7e, 0xec, 0x11, 0xb2, - 0xb3, 0x5f, 0x92, 0xc8, 0x86, 0x2f, 0xc3, 0x6a, 0x01, 0x7c, 0x06, 0x68, 0x6d, 0x98, 0x46, 0xde, - 0x02, 0x5a, 0x6c, 0xc1, 0xed, 0x0d, 0x64, 0x01, 0x7f, 0xaa, 0x00, 0xcb, 0xc2, 0x76, 0x79, 0x84, - 0x49, 0xff, 0xe0, 0xe0, 0xce, 0x10, 0x84, 0x81, 0x58, 0x66, 0xe0, 0x0a, 0xab, 0x70, 0x65, 0xea, - 0x54, 0x11, 0x4d, 0xf5, 0x6b, 0x15, 0x2c, 0x15, 0x3c, 0xab, 0xf5, 0x22, 0x25, 0x2a, 0xd1, 0xea, - 0x11, 0x5f, 0x12, 0x45, 0xbb, 0x06, 0xdb, 0x6f, 0x03, 0x1f, 0x57, 0xfa, 0xef, 0x96, 0x63, 0x7e, - 0xe1, 0xe2, 0xc5, 0xbf, 0x53, 0x8b, 0xa0, 0x71, 0x70, 0xb2, 0x76, 0x59, 0x7a, 0x5a, 0xab, 0xd7, - 0x08, 0x86, 0x86, 0x48, 0x55, 0x10, 0xbb, 0x5d, 0xa1, 0x90, 0x35, 0xb5, 0x0c, 0xcd, 0x1f, 0xbe, - 0xa3, 0x89, 0x3b, 0x7e, 0x6d, 0x22, 0x22, 0xc0, 0x1b, 0x48, 0x8e, 0x12, 0xad, 0xbc, 0x59, 0x01, - 0xa5, 0x05, 0x6d, 0x11, 0x10, 0x74, 0xb0, 0xe9, 0xb5, 0xad, 0x9a, 0xa8, 0x66, 0xa3, 0xe4, 0x7f, - 0x60, 0x04, 0xb8, 0x61, 0x59, 0xaa, 0x51, 0xd5, 0x5b, 0x0c, 0x58, 0x68, 0xb3, 0xfd, 0x02, 0xca, - 0x75, 0x51, 0x9c, 0x99, 0x71, 0x59, 0x21, 0xd5, 0xe5, 0xa3, 0x2a, 0xab, 0x34, 0x90, 0x6f, 0xf8, - 0x73, 0xb6, 0x89, 0x84, 0xd8, 0xde, 0x8d, 0x93, 0x7c, 0x70, 0x27, 0xaf, 0x46, 0x7c, 0xc7, 0x73, - 0x5e, 0x83, 0x80, 0x86, 0x6c, 0x06, 0xb1, 0xa0, 0x86, 0xcf, 0x99, 0xf1, 0x74, 0xcb, 0x28, 0x8b, - 0x3a, 0x5d, 0x8d, 0x96, 0xc4, 0x56, 0x3c, 0x44, 0x1c, 0x56, 0x43, 0x30, 0xd4, 0x64, 0x4d, 0xa4, - 0x71, 0xa2, 0x5f, 0x6a, 0xf2, 0xfc, 0x3d, 0x12, 0xc3, 0x19, 0x68, 0x51, 0x65, 0x79, 0x80, 0x65, - 0x43, 0x2b, 0x12, 0x5f, 0x49, 0x01, 0x20, 0xe1, 0xf1, 0xa3, 0x49, 0x20, 0x00, 0x5f, 0xa9, 0xe1, - 0xc6, 0x93, 0xf8, 0x49, 0x59, 0x80, 0xe0, 0x18, 0xfa, 0xdc, 0xfd, 0xe4, 0xcd, 0xaa, 0x7a, 0xaa, - 0x4f, 0xf9, 0xe7, 0xd4, 0x59, 0x3d, 0x0b, 0x8f, 0x42, 0x95, 0xf2, 0x45, 0xc6, 0xc0, 0xde, 0xb7, - 0x67, 0xa7, 0x3b, 0xb8, 0x3e, 0x2b, 0xa2, 0x8d, 0x63, 0xc4, 0xcf, 0x01, 0x3b, 0xda, 0x39, 0xd0, - 0xc2, 0x75, 0x26, 0x41, 0xe0, 0xa4, 0xff, 0x20, 0x43, 0x0a, 0x6d, 0x27, 0xc9, 0x45, 0x33, 0x56, - 0xaa, 0x29, 0x58, 0x61, 0x67, 0xbe, 0xa4, 0xe1, 0xa4, 0xc8, 0x26, 0xd5, 0xd1, 0xbe, 0xaf, 0x1b, - 0x0a, 0x76, 0xdb, 0x4e, 0x1f, 0x0a, 0x41, 0x33, 0x1a, 0x57, 0xa5, 0x2e, 0x56, 0x95, 0x78, 0x3c, - 0xe1, 0x84, 0x9a, 0xc2, 0x47, 0x81, 0x02, 0xb4, 0xda, 0xee, 0x4d, 0xa1, 0x39, 0x06, 0xb3, 0x60, - 0x01, 0xf5, 0x5e, 0xf0, 0xaa, 0x10, 0x85, 0xa3, 0xaa, 0x13, 0x15, 0x13, 0x42, 0x34, 0xde, 0xe1, - 0x45, 0x44, 0x4b, 0x79, 0xed, 0x06, 0xe5, 0x1a, 0xdf, 0xfe, 0xa4, 0x61, 0x1f, 0x8c, 0x0d, 0x42, - 0xc9, 0x18, 0x52, 0x6e, 0xab, 0x96, 0x51, 0xe2, 0xe6, 0x87, 0xba, 0xdc, 0x2d, 0xc0, 0xc9, 0xd1, - 0xd4, 0xc4, 0xe7, 0xed, 0xa7, 0xa0, 0x66, 0x34, 0x0a, 0xf3, 0x59, 0x17, 0x42, 0xb8, 0x7a, 0x3f, - 0x13, 0xbb, 0xed, 0x92, 0xfa, 0x05, 0x27, 0x65, 0x0a, 0x47, 0x58, 0xe0, 0x3c, 0x25, 0xc7, 0xb7, - 0x71, 0x79, 0x7c, 0xcb, 0x6b, 0xc4, 0x2f, 0x08, 0x08, 0xb5, 0x0e, 0x33, 0x39, 0x21, 0x6f, 0x4d, - 0x07, 0x17, 0xaa, 0x4e, 0xf8, 0x8c, 0x60, 0xc9, 0x13, 0x80, 0xdc, 0x0e, 0x13, 0xb6, 0xc3, 0x10, - 0x3b, 0xb1, 0x66, 0x22, 0x20, 0x67, 0xb5, 0x73, 0x40, 0xec, 0xcd, 0xa1, 0x1b, 0xb2, 0xd0, 0x7c, - 0xad, 0x09, 0x06, 0x34, 0x69, 0x37, 0xa4, 0x6d, 0x94, 0x7a, 0x89, 0x25, 0x1f, 0xff, 0x69, 0x41, - 0x88, 0xab, 0x05, 0x4c, 0xb8, 0xdd, 0x46, 0xd9, 0x9c, 0xf5, 0x54, 0xe4, 0x37, 0x12, 0xa7, 0x83, - 0xe2, 0x4a, 0xe9, 0x85, 0xd1, 0x79, 0xa0, 0x74, 0x59, 0xe1, 0x0d, 0x00, 0x4d, 0x83, 0x0c, 0xf7, - 0xa9, 0x80, 0xda, 0x05, 0x50, 0x1c, 0xc2, 0x4d, 0x1c, 0x4a, 0x70, 0x9f, 0xaa, 0xe5, 0x58, 0x00, - 0xd4, 0xdc, 0xa7, 0xfe, 0x65, 0x3a, 0xc0, 0x81, 0x4f, 0x60, 0xbe, 0x85, 0x77, 0xde, 0xb0, 0x58, - 0xd8, 0x0d, 0x71, 0xc2, 0x5e, 0x9b, 0x70, 0x5a, 0x89, 0x2d, 0x2d, 0x3a, 0x9e, 0x73, 0x8b, 0x76, - 0xa9, 0x1a, 0x7e, 0x73, 0xe1, 0x73, 0x87, 0xe7, 0x3a, 0xab, 0xea, 0x41, 0x08, 0x4f, 0xea, 0x38, - 0x7b, 0x4f, 0x93, 0x39, 0xe8, 0x9d, 0x2e, 0x09, 0x9b, 0xf8, 0xb6, 0x4c, 0xd7, 0x73, 0x23, 0xff, - 0xe0, 0x4f, 0x69, 0x07, 0x93, 0x56, 0xc8, 0xe4, 0xa6, 0xee, 0x3a, 0x4a, 0xa6, 0x24, 0xf5, 0xf2, - 0x3e, 0xab, 0x74, 0xc3, 0x53, 0x4c, 0xd2, 0x36, 0x44, 0xcc, 0xae, 0xdb, 0xa0, 0x21, 0x88, 0x91, - 0x56, 0x0e, 0x88, 0xd2, 0x45, 0xeb, 0x10, 0x49, 0x36, 0x45, 0xbb, 0x3d, 0xc5, 0xd0, 0x1b, 0xa0, - 0xa6, 0x4c, 0x33, 0x50, 0x1d, 0x1a, 0x40, 0xbf, 0x24, 0x1f, 0x8f, 0x0e, 0x17, 0x88, 0xf6, 0xa5, - 0x3c, 0x12, 0x77, 0xdc, 0xa1, 0xf1, 0xfb, 0xea, 0xef, 0xc1, 0x9a, 0xd0, 0x10, 0x41, 0x15, 0xb8, - 0x2f, 0xaa, 0x98, 0x50, 0xc2, 0xaa, 0x1a, 0x27, 0x96, 0x3c, 0x3a, 0x60, 0xc1, 0x0f, 0x71, 0xfc, - 0x33, 0x20, 0xd3, 0x7f, 0x30, 0x51, 0xdf, 0x66, 0xea, 0x7d, 0xcd, 0xd0, 0x98, 0x79, 0x2a, 0xe4, - 0x3d, 0x55, 0xfc, 0xb7, 0x16, 0x65, 0x26, 0x7d, 0xff, 0xd3, 0x76, 0x4f, 0xc9, 0x92, 0x2d, 0x1a, - 0x5d, 0x58, 0xcb, 0x2c, 0x03, 0xee, 0xbf, 0x6b, 0xe8, 0xdc, 0x16, 0xf7, 0x13, 0x0a, 0x73, 0x9b, - 0xce, 0x5d, 0xf2, 0x32, 0x49, 0xe0, 0xc7, 0xbe, 0xd2, 0xd2, 0x2e, 0x34, 0x2c, 0x1e, 0x4b, 0x40, - 0x26, 0x3c, 0x71, 0x9f, 0xf7, 0xba, 0xb3, 0x4b, 0x83, 0x25, 0xf3, 0x3b, 0x6e, 0x20, 0xb6, 0xb6, - 0x5f, 0xec, 0x8a, 0x84, 0x82, 0x79, 0x96, 0xc9, 0xbe, 0x80, 0x7e, 0x12, 0x97, 0x09, 0x9f, 0xfb, - 0xb0, 0x9d, 0xa3, 0x17, 0x48, 0xa5, 0x86, 0xe2, 0x99, 0x44, 0xee, 0x09, 0xf3, 0x32, 0x8d, 0x96, - 0x17, 0x4b, 0x00, 0x3f, 0x29, 0xf6, 0x4c, 0xac, 0xcc, 0x32, 0x0a, 0x47, 0xfd, 0x17, 0xf7, 0xc5, - 0xe1, 0xcc, 0x18, 0x11, 0x14, 0x14, 0x66, 0xdb, 0x97, 0xc3, 0x40, 0x84, 0xd6, 0x36, 0xa3, 0xed, - 0xc5, 0x6d, 0x06, 0x3e, 0xbf, 0x03, 0xc0, 0x19, 0x59, 0x7c, 0x5f, 0x43, 0xec, 0xc8, 0xc0, 0x8e, - 0xbd, 0x62, 0x98, 0xa9, 0x2e, 0x20, 0xad, 0xdb, 0x4f, 0xf5, 0x9a, 0x20, 0x4c, 0x9c, 0x27, 0x67, - 0x12, 0x58, 0x94, 0x8d, 0x0c, 0x57, 0x17, 0xf8, 0x7a, 0xb3, 0x16, 0x90, 0xd1, 0xb8, 0x54, 0x80, - 0x73, 0xa5, 0x99, 0x1b, 0x74, 0xf6, 0x59, 0x5b, 0xa3, 0x9c, 0xeb, 0x83, 0x83, 0x2a, 0x7e, 0x79, - 0x00, 0x15, 0xfd, 0xe2, 0xec, 0xf4, 0xc3, 0xab, 0xaa, 0xf2, 0x62, 0xc1, 0x94, 0xbe, 0x08, 0xe7, - 0x5f, 0xbd, 0xdb, 0xb8, 0xe7, 0x2e, 0xd9, 0x88, 0xb5, 0x38, 0x45, 0xbe, 0xfc, 0x64, 0x4a, 0x19, - 0x3a, 0x4e, 0x55, 0xda, 0x8b, 0x6d, 0xe2, 0xf5, 0x5f, 0xe7, 0x1e, 0xed, 0x18, 0xd4, 0xe9, 0x7b, - 0xa4, 0xc2, 0xbb, 0x6e, 0xfa, 0x1a, 0x53, 0xaf, 0x82, 0xdd, 0x64, 0x68, 0x66, 0x73, 0x06, 0x8e, - 0x77, 0x66, 0xed, 0x7d, 0xbe, 0x95, 0x43, 0xb8, 0xb1, 0xac, 0x1b, 0xff, 0x2e, 0xa9, 0x66, 0x15, - 0x0d, 0xda, 0x5d, 0xa0, 0xb5, 0xac, 0x3d, 0x5d, 0x48, 0x94, 0x1f, 0x45, 0xc5, 0x92, 0xb3, 0x9c, - 0x9b, 0xaa, 0xfa, 0x73, 0xe3, 0xf6, 0x07, 0x6f, 0xaf, 0x8c, 0x28, 0x47, 0xc9, 0x4f, 0xc2, 0x04, - 0x72, 0xc9, 0xc5, 0x44, 0xba, 0x11, 0x51, 0xba, 0xf4, 0x95, 0x1d, 0x64, 0x50, 0x15, 0x6e, 0xd4, - 0xc7, 0x71, 0x6c, 0xd9, 0x81, 0x7d, 0xb9, 0xfb, 0xc6, 0x10, 0x53, 0x0b, 0x23, 0xae, 0x0f, 0xa3, - 0x7c, 0x53, 0xb3, 0x85, 0xa3, 0x3a, 0xc0, 0xa8, 0xdc, 0xe6, 0x60, 0x3c, 0x03, 0xc1, 0x6f, 0x8b, - 0xa9, 0xec, 0x3d, 0xab, 0xdc, 0x37, 0x00, 0x9f, 0xc5, 0x53, 0xfc, 0x49, 0xa9, 0xe7, 0xa1, 0xf4, - 0xfb, 0x9a, 0x4d, 0xc0, 0xde, 0x47, 0x61, 0xea, 0x46, 0x89, 0xa0, 0xa9, 0x5f, 0x9a, 0x2b, 0x05, - 0xcb, 0x54, 0xb9, 0x87, 0xd7, 0xd0, 0xe1, 0x5e, 0xa0, 0x08, 0xf9, 0xf0, 0x23, 0xc8, 0xfd, 0x74, - 0x61, 0xcd, 0xab, 0x85, 0x9d, 0x5b, 0x8f, 0x15, 0xef, 0x29, 0x2f, 0x80, 0x13, 0x70, 0x81, 0x93, - 0x3b, 0xe0, 0x0e, 0xf9, 0xbb, 0xa6, 0xfc, 0x04, 0xb4, 0xcb, 0x9e, 0x75, 0xf8, 0x8e, 0xfc, 0xf1, - 0x68, 0x54, 0xfc, 0x6c, 0xfe, 0x04, 0x3a, 0xf8, 0xb7, 0xf6, 0x5d, 0xcb, 0x1a, 0x9d, 0x6f, 0x33, - 0x5d, 0xe3, 0xcc, 0xe2, 0xa8, 0x81, 0x11, 0x09, 0xc5, 0x00, 0x59, 0xad, 0xb3, 0xf5, 0x60, 0xcf, - 0x51, 0xe0, 0x2d, 0x26, 0x4a, 0xc4, 0x8c, 0xae, 0xc8, 0xd0, 0xb0, 0x23, 0xd5, 0x84, 0x08, 0x07, - 0x65, 0x57, 0x55, 0x6f, 0x83, 0x76, 0xf9, 0x5e, 0x64, 0x06, 0x15, 0x25, 0xed, 0x80, 0x20, 0xce, - 0xc9, 0x90, 0x69, 0x2f, 0x41, 0x22, 0x49, 0x51, 0xdd, 0x17, 0x1a, 0x9b, 0x80, 0xf1, 0x93, 0x54, - 0x6e, 0xf4, 0x1c, 0xc1, 0x74, 0x78, 0x1b, 0x2e, 0x0a, 0xf8, 0x74, 0x16, 0xd4, 0x34, 0x95, 0x6b, - 0xf4, 0xc6, 0xf9, 0x3b, 0x3d, 0xa2, 0x8c, 0x2c, 0x55, 0x83, 0x0e, 0x9e, 0xd8, 0x34, 0x89, 0x07, - 0x9f, 0xd5, 0x1c, 0x6b, 0x12, 0x74, 0x5c, 0xc5, 0x04, 0xa1, 0x1a, 0x2b, 0x52, 0x92, 0x35, 0x8b, - 0x02, 0x8f, 0x9d, 0xc7, 0x9c, 0x7c, 0xc9, 0xde, 0x34, 0x72, 0x89, 0x06, 0xfe, 0x05, 0x6f, 0x76, - 0x6f, 0x7d, 0x52, 0x52, 0x64, 0x75, 0x04, 0xf3, 0xb8, 0xe8, 0xf3, 0x77, 0x8d, 0x20, 0x34, 0x59, - 0xc7, 0xfe, 0x5b, 0xc8, 0x8f, 0xc5, 0x45, 0xcb, 0x77, 0xd3, 0xa5, 0x56, 0xf8, 0xa4, 0xe5, 0xa2, - 0x55, 0x80, 0x73, 0xad, 0x96, 0xac, 0xdc, 0xa4, 0x3d, 0x60, 0xc4, 0x27, 0xae, 0x86, 0x92, 0xa2, - 0xdd, 0x28, 0xd1, 0x53, 0x73, 0x89, 0xa8, 0x1c, 0x21, 0x7b, 0x23, 0x15, 0xda, 0x05, 0xf8, 0x0b, - 0x1e, 0x76, 0x4c, 0x3d, 0x2d, 0x7a, 0xda, 0x24, 0xfd, 0xae, 0x34, 0xd4, 0x9f, 0x22, 0xff, 0x27, - 0x34, 0x29, 0x33, 0x6e, 0x17, 0xf1, 0x4f, 0xf6, 0x31, 0xd0, 0xc5, 0xc1, 0x46, 0x3f, 0xa7, 0xce, - 0xc8, 0x72, 0x54, 0x7e, 0x58, 0xc1, 0x10, 0x58, 0x6c, 0xec, 0x8f, 0xc7, 0xfe, 0xe0, 0x39, 0x93, - 0xe8, 0x95, 0x37, 0xfc, 0x13, 0x2d, 0xcb, 0xd4, 0x44, 0x5e, 0x05, 0x50, 0x0e, 0x91, 0x15, 0xdb, - 0x64, 0x83, 0x98, 0xde, 0x8b, 0x3e, 0xc7, 0x36, 0x32, 0x24, 0x7f, 0x50, 0xa1, 0xc8, 0x2c, 0xdd, - 0x66, 0x7d, 0xc9, 0xd4, 0xc5, 0x31, 0x41, 0x84, 0x5e, 0x8c, 0x5b, 0xa4, 0x93, 0xa5, 0x16, 0x59, - 0x1e, 0xd5, 0xed, 0x83, 0x30, 0x45, 0x0e, 0x53, 0x9b, 0x8b, 0xc8, 0x7e, 0x12, 0x4e, 0x93, 0xbc, - 0x2d, 0x65, 0x9e, 0xf6, 0x7b, 0x1e, 0x63, 0xdb, 0xdc, 0x27, 0x91, 0xd2, 0x0c, 0x06, 0x94, 0xe7, - 0x1a, 0x33, 0x40, 0x46, 0xee, 0x76, 0xc3, 0x8d, 0x90, 0x2b, 0x42, 0xe9, 0xa0, 0xad, 0xfd, 0xe6, - 0x5d, 0x21, 0x94, 0x4c, 0x4f, 0x38, 0xce, 0x1b, 0x6c, 0xdf, 0x0a, 0x22, 0x62, 0xaf, 0x9a, 0x3c, - 0xa4, 0x0a, 0x9f, 0x02, 0xad, 0xc9, 0xa8, 0x8d, 0x0d, 0xcf, 0xee, 0x55, 0x51, 0x04, 0xcb, 0x05, - 0xc6, 0xdb, 0xd2, 0xc3, 0x20, 0xcf, 0x4d, 0x6b, 0xe6, 0xca, 0xb7, 0x57, 0xe7, 0x98, 0xca, 0x7b, - 0xe8, 0xcb, 0xaf, 0xef, 0xce, 0x23, 0x0b, 0xa3, 0x39, 0x21, 0xc6, 0x57, 0x80, 0x71, 0xb6, 0x06, - 0xe4, 0x2b, 0x7c, 0x8e, 0x14, 0x22, 0xf5, 0xee, 0xe3, 0xec, 0x33, 0xff, 0x08, 0xcb, 0xf5, 0x14, - 0x19, 0x3b, 0x9e, 0x7b, 0xa1, 0x03, 0x5d, 0xe0, 0x07, 0x0d, 0x95, 0x8a, 0x06, 0x2e, 0xa4, 0x2b, - 0x7f, 0xd2, 0x34, 0x44, 0xaf, 0xad, 0x4b, 0x5f, 0x12, 0xbd, 0x5d, 0xbf, 0x69, 0x36, 0x86, 0x62, - 0xf0, 0x19, 0xc4, 0xa1, 0x79, 0x80, 0x9a, 0x67, 0xd1, 0xad, 0x76, 0x93, 0x60, 0xc7, 0x21, 0x81, - 0xc2, 0x55, 0x79, 0x54, 0x84, 0x86, 0xcd, 0x5e, 0xb0, 0x55, 0x7e, 0x8c, 0x7b, 0xd0, 0x02, 0x74, - 0x65, 0xcc, 0x51, 0xcf, 0x13, 0x7f, 0x5c, 0x8a, 0xc1, 0xb9, 0x1c, 0x06, 0x2a, 0x22, 0x95, 0xd9, - 0x9f, 0x99, 0x9a, 0x62, 0x36, 0x4d, 0xb1, 0x92, 0xe6, 0xc5, 0x14, 0x8f, 0x91, 0xb1, 0x08, 0x8a, - 0x92, 0xd9, 0xb2, 0x8f, 0xa6, 0xb3, 0x60, 0xe4, 0x7d, 0x9e, 0x9b, 0xde, 0x3f, 0x70, 0x7d, 0x0c, - 0x57, 0x86, 0x46, 0x98, 0x26, 0x89, 0x4f, 0x2a, 0x3f, 0x85, 0x3f, 0x4f, 0x0d, 0x6e, 0x78, 0x6e, - 0x92, 0x48, 0xa3, 0x9f, 0x1b, 0xc9, 0xd1, 0x38, 0x31, 0xfa, 0xcb, 0xf4, 0x6a, 0x82, 0xf8, 0x43, - 0x53, 0x13, 0x6d, 0x5d, 0xae, 0x92, 0x4d, 0xd9, 0x69, 0x95, 0x8d, 0xe8, 0x1d, 0x8f, 0x39, 0x55, - 0xe3, 0x57, 0x63, 0x58, 0x0f, 0x88, 0x09, 0x83, 0x54, 0x83, 0x3c, 0x9e, 0x8a, 0x40, 0x5f, 0x34, - 0xf0, 0x76, 0x74, 0xdc, 0x27, 0x48, 0xb4, 0x87, 0x25, 0xcb, 0x86, 0xd0, 0x7b, 0x0b, 0x5b, 0xa1, - 0x0b, 0x80, 0x92, 0xec, 0xe0, 0x3c, 0xe1, 0x43, 0x00, 0x77, 0xdc, 0x16, 0x04, 0xeb, 0x24, 0xc0, - 0x65, 0x39, 0x9b, 0xc4, 0x7c, 0xd7, 0x0d, 0x0a, 0xa9, 0x73, 0x03, 0x19, 0xb5, 0x45, 0x92, 0x43, - 0x65, 0x11, 0xb7, 0xb1, 0x64, 0x6a, 0xa1, 0xff, 0x2a, 0xb6, 0x73, 0x86, 0x36, 0xb7, 0xfb, 0xcc, - 0x3a, 0x18, 0x81, 0xb0, 0x31, 0xed, 0x3b, 0xa3, 0xe5, 0x79, 0x36, 0x70, 0xed, 0x76, 0x22, 0x4b, - 0xe5, 0xa4, 0xd5, 0xca, 0x97, 0x97, 0x6b, 0xe9, 0x8d, 0x3f, 0xd0, 0x71, 0xd1, 0x12, 0xd5, 0x25, - 0x2c, 0xb8, 0xe8, 0xaf, 0xd6, 0x67, 0x67, 0x44, 0x61, 0x03, 0x59, 0x58, 0x16, 0x23, 0xa0, 0xe0, - 0x9e, 0x70, 0xef, 0x52, 0x6d, 0x75, 0xe2, 0xac, 0x8c, 0xa3, 0x4f, 0x8f, 0x7c, 0xd7, 0x10, 0xe2, - 0xa9, 0xfe, 0x09, 0xfd, 0xbf, 0xba, 0x5b, 0x1a, 0x14, 0x5f, 0xa6, 0xd8, 0x51, 0x2a, 0xd2, 0x65, - 0xb4, 0x44, 0xf3, 0x7e, 0x5e, 0x49, 0xef, 0xd2, 0x00, 0xbf, 0xda, 0x42, 0xc3, 0x9a, 0x94, 0x79, - 0x8a, 0xa8, 0x5e, 0xd8, 0x68, 0x84, 0x89, 0x4a, 0x6f, 0x43, 0x6a, 0xd6, 0x6a, 0x20, 0x8b, 0xd9, - 0x85, 0x1a, 0x04, 0x27, 0x90, 0xef, 0xf3, 0x1a, 0x08, 0xdd, 0x8e, 0xfa, 0xe4, 0x87, 0x14, 0xa9, - 0x37, 0x4f, 0xc7, 0xc2, 0x31, 0x24, 0xe1, 0x5e, 0x04, 0x74, 0xf5, 0x37, 0x72, 0xbe, 0xc8, 0x05, - 0xe4, 0x32, 0x1d, 0x65, 0xd3, 0xd2, 0x31, 0xc1, 0xa3, 0x65, 0x20, 0xbc, 0x07, 0x32, 0xf4, 0x32, - 0xb5, 0x72, 0xd0, 0x37, 0xb7, 0x53, 0x04, 0xbb, 0x69, 0xd3, 0x4e, 0x15, 0xc1, 0x1c, 0xdd, 0x3f, - 0x9b, 0x4c, 0x73, 0xbc, 0xff, 0x57, 0x07, 0x9e, 0x41, 0x89, 0x3d, 0xd5, 0xf7, 0x2b, 0x15, 0xcb, - 0x0d, 0x1f, 0x7d, 0xc7, 0x7c, 0xaf, 0x78, 0x9d, 0xb6, 0x3f, 0xbc, 0xe5, 0xdb, 0xe9, 0xc5, 0x90, - 0x75, 0x75, 0x82, 0x58, 0x62, 0x8e, 0xce, 0x19, 0x11, 0x05, 0xc4, 0x90, 0x79, 0xb9, 0xf2, 0x23, - 0xed, 0x73, 0x47, 0xa0, 0x67, 0x67, 0xee, 0x20, 0x29, 0x6f, 0xb3, 0x28, 0x61, 0x91, 0x31, 0x2e, - 0xca, 0x90, 0x8d, 0x94, 0x37, 0x08, 0x77, 0x40, 0xf5, 0x7b, 0xe7, 0xd6, 0xd3, 0x55, 0x13, 0xc8, - 0x10, 0x9c, 0x8f, 0xac, 0x30, 0x3c, 0x9b, 0x3b, 0x43, 0xbe, 0xab, 0x86, 0xa7, 0xbd, 0x91, 0x43, - 0x0d, 0x4f, 0xfc, 0xd0, 0xc2, 0x7e, 0x04, 0x6b, 0x49, 0xbe, 0xd3, 0x7a, 0xc3, 0x3f, 0x26, 0x03, - 0xad, 0x26, 0x37, 0x15, 0x35, 0xc4, 0xe0, 0xa7, 0xaa, 0x2e, 0x2b, 0x62, 0x18, 0x4b, 0x7d, 0x4f, - 0xda, 0xe7, 0xfd, 0x73, 0x8f, 0x3b, 0xfc, 0x30, 0x35, 0xe2, 0xff, 0x4b, 0xa0, 0x0a, 0x0b, 0x16, - 0x0c, 0x24, 0x8f, 0xc6, 0x1f, 0x4d, 0xdb, 0x89, 0x62, 0xb4, 0x85, 0xac, 0x99, 0xd0, 0x7e, 0xc5, - 0xe5, 0xe8, 0x3b, 0x40, 0x98, 0x97, 0x39, 0x71, 0x8e, 0x78, 0x7c, 0x25, 0xb3, 0x37, 0xe5, 0x94, - 0xc6, 0x8b, 0x50, 0x84, 0x9d, 0x6b, 0xff, 0xce, 0x28, 0xb7, 0x85, 0xc7, 0xe6, 0x31, 0x73, 0x05, - 0x2e, 0x99, 0x19, 0xc6, 0x69, 0x46, 0x58, 0x65, 0x5f, 0x8d, 0x3c, 0x51, 0x07, 0xd8, 0x2e, 0xf3, - 0x2b, 0x1c, 0x8e, 0xa4, 0x5e, 0x4f, 0x50, 0x36, 0xd4, 0x1f, 0x9e, 0x24, 0xf2, 0x55, 0x08, 0x42, - 0xe0, 0x11, 0xaf, 0x1f, 0xb1, 0xff, 0xe1, 0x09, 0x12, 0x3e, 0x0d, 0xf5, 0xdc, 0x0a, 0x14, 0x04, - 0x97, 0xf1, 0x5c, 0x33, 0xde, 0xca, 0xca, 0x30, 0x80, 0xf7, 0x72, 0xf6, 0x24, 0x67, 0x17, 0x39, - 0xa0, 0xbd, 0x09, 0x0c, 0xa7, 0xbb, 0x64, 0x10, 0x9a, 0x35, 0x77, 0x8c, 0x40, 0x61, 0xf8, 0xd5, - 0x36, 0x1d, 0x31, 0xde, 0x09, 0xf9, 0x13, 0x33, 0xaf, 0x28, 0xcb, 0x02, 0xda, 0x73, 0x74, 0x24, - 0x0a, 0x80, 0x3f, 0xce, 0x87, 0xaf, 0x6f, 0x77, 0x2e, 0xe9, 0xb2, 0x66, 0xca, 0x2b, 0x45, 0x7c, - 0x30, 0xfa, 0x19, 0x39, 0x49, 0xe6, 0x36, 0x64, 0x45, 0x3f, 0xd6, 0x69, 0xb9, 0x1a, 0x5a, 0x63, - 0x13, 0xcd, 0x42, 0x63, 0x41, 0xca, 0xb1, 0x6f, 0xc8, 0x35, 0x3e, 0x5c, 0xbd, 0x35, 0x70, 0xe2, - 0x25, 0x7d, 0xf7, 0x4f, 0xea, 0xce, 0x1b, 0xc5, 0x2b, 0x11, 0xf7, 0x62, 0x9b, 0x03, 0x05, 0x16, - 0x6a, 0xb5, 0xa1, 0x0c, 0x06, 0x73, 0x5c, 0x9e, 0x78, 0x81, 0xc3, 0x7b, 0x4a, 0x44, 0xb5, 0x29, - 0x7f, 0xc8, 0xae, 0x99, 0xf5, 0x80, 0xc3, 0xe2, 0x92, 0x83, 0x87, 0xfb, 0x9a, 0xa9, 0x69, 0x41, - 0x73, 0x5b, 0xbf, 0x75, 0x64, 0x93, 0x5b, 0x75, 0x85, 0x2d, 0x0c, 0x3a, 0x15, 0xf4, 0xbb, 0xbc, - 0x46, 0x67, 0x76, 0x7b, 0x7e, 0xd4, 0x85, 0xa9, 0xbd, 0xd7, 0x7b, 0xc4, 0xcb, 0xa0, 0x79, 0x75, - 0xcf, 0x6d, 0xa5, 0x6d, 0x04, 0x7e, 0x2c, 0xd4, 0xc6, 0xf9, 0xc1, 0xf4, 0x77, 0x64, 0xbf, 0x76, - 0x69, 0x21, 0xf8, 0x4e, 0xff, 0x26, 0xd6, 0x68, 0xb8, 0x4e, 0x0c, 0xc9, 0x62, 0xa4, 0xb8, 0xfd, - 0x91, 0x23, 0x64, 0xae, 0x32, 0xf7, 0x52, 0x55, 0x6c, 0x3c, 0x3a, 0xc6, 0xc2, 0xbd, 0xbd, 0x5d, - 0x03, 0xe4, 0x1c, 0x76, 0xb7, 0x34, 0x32, 0xf2, 0x48, 0x71, 0x69, 0xc2, 0xa9, 0xb3, 0x3a, 0x37, - 0xc7, 0xa3, 0x99, 0x2f, 0x31, 0x04, 0x82, 0x10, 0x30, 0xb2, 0x72, 0x35, 0xb2, 0x34, 0x51, 0xa2, - 0x2d, 0x72, 0x90, 0x6b, 0x93, 0x51, 0xa1, 0xa8, 0x44, 0xcc, 0x20, 0x37, 0x2f, 0x4f, 0x66, 0x1d, - 0x46, 0xf0, 0xc8, 0xd9, 0x4e, 0x7b, 0x05, 0x26, 0xf2, 0x35, 0xd6, 0xda, 0x49, 0xcf, 0xf5, 0x32, - 0x2f, 0xe0, 0x21, 0x3b, 0x87, 0xfb, 0xc7, 0xf4, 0xc4, 0x00, 0x19, 0x57, 0xb8, 0x02, 0x05, 0x11, - 0xe4, 0x95, 0xb2, 0xcd, 0xf9, 0xfa, 0xb0, 0x27, 0x36, 0x8d, 0x56, 0x79, 0x41, 0x43, 0x05, 0xf8, - 0x67, 0x54, 0xef, 0xcc, 0x2e, 0x1a, 0xa3, 0x1f, 0x99, 0x24, 0xfe, 0x08, 0x17, 0x84, 0xaf, 0x53, - 0x84, 0x23, 0xe3, 0x12, 0x4e, 0x64, 0x69, 0x29, 0x7d, 0x07, 0x29, 0xcc, 0x24, 0xed, 0xc2, 0x09, - 0xbc, 0x69, 0x12, 0xfc, 0xb9, 0x6f, 0x9a, 0x72, 0xdb, 0x9e, 0x8e, 0xa7, 0x60, 0xe8, 0x63, 0x19, - 0x25, 0xad, 0x4c, 0x66, 0xaf, 0x58, 0x48, 0x01, 0xe4, 0xb4, 0x18, 0x24, 0xb7, 0xab, 0xa3, 0x7b, - 0x15, 0x38, 0xdd, 0x5d, 0x06, 0x90, 0x38, 0x89, 0x1f, 0x50, 0x62, 0x22, 0x3d, 0x44, 0x29, 0x3f, - 0x6b, 0x1a, 0x29, 0xba, 0x65, 0x3a, 0x0a, 0x91, 0xea, 0x04, 0x9e, 0x27, 0x00, 0xd7, 0xe5, 0xc7, - 0xe8, 0x87, 0x3d, 0x1a, 0xf2, 0xd3, 0xce, 0x2b, 0x3c, 0xf4, 0xed, 0x8a, 0x33, 0x15, 0x6d, 0xb4, - 0x0d, 0x8c, 0xc0, 0x6c, 0x3e, 0x49, 0x7e, 0xad, 0x24, 0x28, 0x93, 0x20, 0x07, 0x2b, 0x75, 0xd8, - 0x05, 0xfd, 0x15, 0x2b, 0x8d, 0x9e, 0xa6, 0x59, 0xd2, 0x63, 0x51, 0xca, 0x37, 0xc0, 0x45, 0x1c, - 0x80, 0x5a, 0x53, 0x13, 0x33, 0x24, 0x5b, 0x7f, 0x36, 0xbc, 0xf9, 0xc4, 0x82, 0x19, 0x52, 0x6f, - 0xe8, 0x89, 0xc0, 0x84, 0x19, 0x63, 0x67, 0xe0, 0xbc, 0x20, 0xdb, 0x53, 0xc4, 0x70, 0xbc, 0xc6, - 0xe9, 0x5e, 0xfc, 0xf5, 0x2d, 0x9a, 0x25, 0xf7, 0x01, 0x44, 0xdc, 0x2b, 0xea, 0x0a, 0xfc, 0xb7, - 0x58, 0x66, 0xe5, 0xc3, 0xf4, 0x41, 0x1b, 0x8a, 0x75, 0x28, 0xb4, 0x9b, 0xc6, 0x30, 0xa9, 0xe5, - 0x45, 0x04, 0x1f, 0x3e, 0x55, 0x51, 0x78, 0x2f, 0x1e, 0x6a, 0x10, 0xb4, 0xc5, 0x78, 0x74, 0x45, - 0x30, 0x9c, 0x28, 0x2d, 0x32, 0xb3, 0x91, 0xf9, 0xd5, 0xf8, 0xf6, 0xb0, 0x9b, 0xa3, 0xc1, 0xe2, - 0xb0, 0x32, 0x71, 0x91, 0xef, 0xab, 0xba, 0x54, 0x0c, 0x76, 0x18, 0x37, 0x2b, 0x3e, 0x13, 0xac, - 0xa5, 0xc1, 0x56, 0xed, 0x69, 0x80, 0x86, 0x6a, 0xf6, 0x56, 0xed, 0x0b, 0xfa, 0x14, 0x1f, 0xda, - 0x95, 0x24, 0x57, 0x26, 0xdb, 0x29, 0xca, 0xfe, 0x59, 0x95, 0x3a, 0xf1, 0x54, 0xc1, 0x6b, 0xe6, - 0x6f, 0x45, 0x06, 0xe9, 0x20, 0x2f, 0x55, 0x8e, 0x45, 0x96, 0x16, 0xe4, 0x87, 0x18, 0xcd, 0x1c, - 0x99, 0x04, 0x5e, 0x61, 0xcf, 0x70, 0x53, 0xcd, 0xc2, 0x17, 0x51, 0x8d, 0x10, 0xbf, 0x32, 0x6d, - 0x1e, 0x6b, 0xcc, 0x5e, 0xd5, 0x2d, 0x3e, 0x75, 0x45, 0x97, 0x8c, 0xaa, 0x07, 0x95, 0xda, 0x31, - 0xff, 0x58, 0x0f, 0x6e, 0xd4, 0x7d, 0x07, 0x2b, 0x73, 0xaf, 0x7f, 0x1a, 0x1a, 0xbf, 0x25, 0xa5, - 0xdc, 0x94, 0xa2, 0x7b, 0x18, 0x3c, 0x48, 0xbf, 0x18, 0x9b, 0x8b, 0x03, 0x1c, 0x95, 0xa6, 0xca, - 0x33, 0xa2, 0xe8, 0xd7, 0x0a, 0x4e, 0x6c, 0x97, 0xe9, 0x2f, 0x4c, 0xfe, 0x9d, 0xaf, 0xc9, 0x57, - 0x1f, 0xc0, 0xaa, 0xcc, 0xaa, 0xc6, 0xd9, 0x8e, 0xa5, 0x6a, 0x6c, 0x07, 0x03, 0x5f, 0x2e, 0x57, - 0xe7, 0x9d, 0xa0, 0x30, 0x07, 0xd5, 0x0b, 0x1c, 0xc8, 0x92, 0x13, 0x5c, 0x53, 0x8b, 0xbd, 0x43, - 0xd3, 0x16, 0x2a, 0xb4, 0x45, 0x0f, 0xf7, 0x48, 0x55, 0xf4, 0x06, 0xbc, 0x70, 0x40, 0xf5, 0x7e, - 0x4d, 0xaf, 0x99, 0x24, 0xbf, 0x3b, 0xae, 0x43, 0x90, 0x7d, 0x30, 0xf4, 0x8f, 0xb2, 0x8e, 0x24, - 0x99, 0x6f, 0x11, 0x8a, 0x06, 0xcc, 0x0d, 0xc2, 0xd5, 0xfd, 0x92, 0x2c, 0xaf, 0x00, 0xee, 0x55, - 0xd1, 0xf2, 0xa1, 0x6f, 0xdc, 0xc3, 0x3e, 0x37, 0x0a, 0xd8, 0xa9, 0xe7, 0xbd, 0x30, 0x71, 0xb9, - 0xb3, 0xf2, 0x9d, 0xb1, 0x77, 0x7b, 0x09, 0x40, 0x96, 0x25, 0x49, 0x5b, 0x4f, 0xa2, 0x62, 0x4b, - 0x61, 0x60, 0x01, 0xb8, 0x72, 0x0a, 0x44, 0xfd, 0xb4, 0xbf, 0xe1, 0xde, 0x2c, 0x65, 0x6e, 0xdb, - 0x20, 0x1c, 0x2f, 0x6d, 0x66, 0x71, 0x00, 0x7c, 0x17, 0x6e, 0xd9, 0x4b, 0x61, 0xac, 0x1f, 0xcf, - 0x80, 0x38, 0xb6, 0x5d, 0x51, 0x26, 0x1f, 0x32, 0x41, 0xca, 0xbc, 0xc4, 0x56, 0x00, 0x92, 0xe9, - 0x00, 0xe3, 0x07, 0x5a, 0x4f, 0xe3, 0x5a, 0xcd, 0x08, 0xbf, 0x22, 0x69, 0xae, 0x85, 0xae, 0xf1, - 0x62, 0x67, 0xb9, 0x82, 0x92, 0x98, 0xf6, 0x44, 0xbc, 0x60, 0x1b, 0x01, 0xcc, 0x70, 0x9a, 0x68, - 0xdc, 0x05, 0x1b, 0xb4, 0xfd, 0x7a, 0x69, 0x99, 0xbe, 0x55, 0x6c, 0xa0, 0xcd, 0xa7, 0x3d, 0xa7, - 0x84, 0x44, 0x8e, 0x6b, 0x6c, 0xe5, 0x3e, 0x3c, 0x24, 0x77, 0xf0, 0xc0, 0x1d, 0xf6, 0xcb, 0xd1, - 0x24, 0x14, 0xe6, 0x46, 0x68, 0x36, 0x0b, 0x57, 0xb3, 0xb1, 0xfc, 0x49, 0xf7, 0x6b, 0xb5, 0x33, - 0x13, 0xef, 0xe7, 0x04, 0xd2, 0x4f, 0xd7, 0x8f, 0xe6, 0xce, 0x34, 0x42, 0x98, 0x75, 0x5d, 0xf3, - 0x1b, 0x9a, 0xd2, 0x59, 0x84, 0x2d, 0xca, 0x03, 0x25, 0xea, 0xb9, 0x58, 0x20, 0x49, 0x74, 0x6f, - 0xc4, 0xb5, 0xc2, 0x0c, 0x9f, 0xa5, 0x06, 0x58, 0xc9, 0xbd, 0x51, 0x2d, 0x8b, 0x6a, 0x81, 0x08, - 0xff, 0xce, 0xc9, 0x91, 0x74, 0x1c, 0x78, 0xa5, 0x34, 0x15, 0x6d, 0x70, 0x52, 0xec, 0x5f, 0xd1, - 0x2b, 0xa2, 0x78, 0x64, 0x44, 0xbb, 0x6f, 0x5e, 0xd3, 0x7c, 0xa6, 0xd3, 0xc3, 0xa2, 0x63, 0xc4, - 0x1e, 0x72, 0x54, 0x32, 0x12, 0x01, 0x32, 0x74, 0x45, 0x44, 0xe9, 0x13, 0x0f, 0xbb, 0x25, 0xd6, - 0xe5, 0x11, 0x68, 0xef, 0x02, 0xc6, 0xe5, 0xa7, 0x09, 0x3d, 0x15, 0xd1, 0xf5, 0x9d, 0xc0, 0x67, - 0xe3, 0x4e, 0x7f, 0x02, 0x91, 0x31, 0x47, 0xc5, 0x54, 0xc9, 0xcc, 0xa8, 0xfb, 0xe7, 0x9f, 0xa0, - 0xce, 0x47, 0xa9, 0x32, 0xa2, 0xe9, 0xca, 0xf6, 0x05, 0xe6, 0xb2, 0xc6, 0xd3, 0xbd, 0x7c, 0xea, - 0x10, 0x1e, 0x2a, 0x61, 0xd2, 0x96, 0x88, 0x44, 0x7a, 0x49, 0x00, 0x2b, 0x3b, 0x92, 0x60, 0x3f, - 0x5a, 0xc8, 0xdb, 0xad, 0x25, 0x3e, 0x6c, 0x2e, 0x78, 0xbc, 0x97, 0x24, 0xaa, 0x45, 0xb3, 0xf7, - 0xa0, 0x3f, 0xd7, 0xf9, 0xf2, 0x36, 0x01, 0xe9, 0xec, 0x65, 0x2f, 0x8c, 0x94, 0x6c, 0x84, 0x58, - 0x22, 0x80, 0xd7, 0x41, 0x38, 0x7c, 0xf3, 0xdc, 0xb9, 0x51, 0xee, 0x7c, 0x52, 0xcc, 0x1b, 0xac, - 0xf4, 0xd0, 0x3c, 0x4a, 0xa9, 0xda, 0xb1, 0xa0, 0x19, 0xf2, 0xc1, 0xcc, 0xcb, 0xec, 0x8f, 0xa1, - 0xaa, 0xdd, 0x7e, 0xc3, 0x7d, 0x4e, 0x05, 0xd1, 0xd9, 0xde, 0x8e, 0xbc, 0xd9, 0x1f, 0xbf, 0x8a, - 0x39, 0xee, 0x32, 0xbe, 0x07, 0x46, 0x73, 0xca, 0xea, 0x83, 0x95, 0x71, 0x02, 0xe9, 0x53, 0xec, - 0x5f, 0x33, 0x44, 0x61, 0x1a, 0x4e, 0x70, 0xc6, 0x59, 0xf8, 0x77, 0xa0, 0x69, 0xc0, 0xf1, 0x9d, - 0x56, 0x2c, 0xf3, 0x01, 0x22, 0x6c, 0x42, 0xaa, 0x98, 0x15, 0xe3, 0x48, 0x92, 0x38, 0x7f, 0x3b, - 0xf6, 0xc3, 0x13, 0x35, 0xf3, 0x55, 0xf5, 0x86, 0x3c, 0xc1, 0x21, 0xeb, 0x26, 0x96, 0x07, 0x99, - 0x85, 0xf5, 0x17, 0xe7, 0xab, 0xe2, 0xcf, 0xb2, 0x76, 0xe9, 0x2b, 0xde, 0xc6, 0x6d, 0x54, 0x8d, - 0x8c, 0xfd, 0x73, 0x71, 0xa7, 0xbb, 0xd1, 0x64, 0x73, 0x4b, 0x79, 0xe1, 0x9d, 0xfd, 0x70, 0x47, - 0x80, 0xbb, 0x0f, 0x23, 0xa0, 0xa6, 0x7d, 0x3d, 0xc4, 0x0f, 0x83, 0xcb, 0x35, 0xdc, 0x4c, 0x75, - 0x49, 0x8c, 0x61, 0xac, 0xdc, 0x5f, 0x98, 0xf0, 0x47, 0xdc, 0x84, 0x47, 0xc1, 0x08, 0x39, 0x8a, - 0x93, 0xd7, 0xdc, 0xbe, 0xb8, 0x1c, 0x26, 0x2f, 0x66, 0x2a, 0x1d, 0x33, 0xbb, 0x67, 0x50, 0xbb, - 0x2c, 0xcf, 0x90, 0x5e, 0x31, 0x80, 0x19, 0x3e, 0x57, 0x42, 0xf9, 0x1e, 0x97, 0xc0, 0xed, 0xaa, - 0x25, 0xe6, 0xbb, 0x76, 0xa0, 0x07, 0x05, 0x77, 0x42, 0xcb, 0xe6, 0x0c, 0xb5, 0x3c, 0xf8, 0x3f, - 0xe2, 0x5c, 0x19, 0x12, 0x1d, 0xee, 0xd2, 0x6a, 0xd0, 0x90, 0xd5, 0xc6, 0x81, 0x92, 0x8f, 0x2b, - 0x5d, 0xd5, 0x1b, 0x12, 0xb0, 0xfb, 0x58, 0x1c, 0x21, 0xf1, 0x69, 0x8f, 0x26, 0x6c, 0xd5, 0x39, - 0xf4, 0x93, 0xd0, 0x1a, 0xf1, 0x8c, 0x24, 0xeb, 0xa8, 0x5e, 0xc8, 0xab, 0xec, 0x76, 0xaf, 0x11, - 0xb6, 0x0e, 0xb8, 0x38, 0x08, 0x25, 0xaa, 0x18, 0xa5, 0x61, 0xa7, 0x84, 0x8c, 0x60, 0x87, 0x8b, - 0xe5, 0x6b, 0xe6, 0x30, 0xac, 0x24, 0x5d, 0xe6, 0x6c, 0xfb, 0xb3, 0x84, 0xaa, 0x2d, 0x5a, 0x53, - 0x50, 0xf0, 0x87, 0x4a, 0xd4, 0x1c, 0xd2, 0x58, 0x64, 0xf4, 0xa9, 0xb4, 0x31, 0xa2, 0x3d, 0x7b, - 0x74, 0x47, 0xbc, 0x4f, 0x44, 0x41, 0xe8, 0xda, 0xdf, 0x6b, 0x4b, 0x2c, 0x91, 0x50, 0xf3, 0x4c, - 0x6e, 0xc7, 0x9a, 0x78, 0x8c, 0x5d, 0xb6, 0x4c, 0x16, 0x69, 0xa2, 0xa1, 0xee, 0xee, 0x53, 0x37, - 0x93, 0x61, 0x13, 0xa2, 0x34, 0x33, 0x9a, 0xa1, 0xa1, 0x9c, 0x85, 0x3c, 0x1a, 0xfe, 0xb6, 0x76, - 0x08, 0xe5, 0x16, 0x67, 0x96, 0xe7, 0x04, 0xf2, 0x71, 0x98, 0x40, 0xef, 0x77, 0xfc, 0x82, 0x2b, - 0x23, 0xc1, 0x2e, 0xb2, 0x97, 0x3c, 0xd5, 0xb9, 0xcd, 0xb8, 0x62, 0x3f, 0x97, 0x5c, 0xd1, 0x2f, - 0xde, 0x2b, 0x2c, 0x95, 0x56, 0x17, 0xea, 0x6a, 0x58, 0x22, 0xa7, 0x07, 0xc3, 0xaf, 0x0a, 0x69, - 0x57, 0x9b, 0x97, 0x2b, 0x16, 0xcb, 0xda, 0x84, 0x3c, 0xd2, 0xe1, 0x7c, 0x81, 0xb5, 0xf5, 0xb3, - 0xc8, 0x84, 0x3d, 0x99, 0xe4, 0x65, 0x87, 0xe7, 0x19, 0x63, 0xf7, 0x65, 0x91, 0xa1, 0x59, 0x7a, - 0xab, 0x00, 0x5d, 0xa6, 0x05, 0x98, 0xbd, 0xdf, 0xff, 0xe6, 0x4d, 0x8f, 0x46, 0x6b, 0x25, 0x1f, - 0x70, 0x28, 0x2d, 0xc6, 0xc5, 0x1c, 0x80, 0x98, 0x0c, 0x60, 0xb0, 0x77, 0x05, 0xd5, 0x9b, 0x30, - 0x6f, 0x04, 0xff, 0xe7, 0x45, 0x91, 0xd2, 0x6c, 0xba, 0xe9, 0x6f, 0x97, 0xee, 0xf9, 0x9c, 0x15, - 0x28, 0xdd, 0x33, 0x10, 0xe4, 0x54, 0xef, 0x0e, 0xce, 0xa1, 0x45, 0x80, 0x80, 0x7e, 0xff, 0xa1, - 0x79, 0x5c, 0x04, 0x92, 0xd4, 0xa0, 0x9e, 0xe8, 0xea, 0x4a, 0x5a, 0x7d, 0xe1, 0x07, 0x75, 0x20, - 0x5e, 0x52, 0x42, 0x63, 0x46, 0xe6, 0x7a, 0x0d, 0x59, 0x68, 0xf8, 0x19, 0x64, 0x42, 0xe7, 0xc4, - 0x6c, 0x3d, 0x8d, 0x70, 0xb7, 0x21, 0xee, 0xac, 0xf7, 0xfc, 0x82, 0x1e, 0xe1, 0x75, 0x23, 0x8f, - 0xc3, 0xc0, 0xc8, 0x3b, 0x13, 0x77, 0x68, 0x3b, 0x89, 0xa1, 0x9a, 0x9e, 0xc1, 0x0b, 0xe9, 0x6d, - 0xd9, 0x94, 0xb1, 0x0c, 0x23, 0x46, 0xb2, 0x24, 0x1f, 0x5a, 0xb3, 0x61, 0x0b, 0xc0, 0x16, 0x22, - 0x33, 0xf7, 0x78, 0xad, 0xc0, 0x3c, 0xd4, 0xce, 0xb8, 0x7e, 0x5b, 0x41, 0x15, 0x34, 0xc5, 0xbf, - 0x0b, 0x0a, 0x26, 0xf8, 0x14, 0x7e, 0x83, 0xda, 0xa1, 0xc6, 0xc9, 0x9a, 0x47, 0x73, 0x02, 0x6d, - 0x63, 0xe0, 0x93, 0x46, 0xd8, 0x4e, 0xd7, 0x76, 0x3f, 0x7e, 0x64, 0xfe, 0xb8, 0x85, 0x06, 0x6b, - 0xbf, 0xb5, 0x9e, 0x80, 0xb3, 0x9b, 0x89, 0xc4, 0xe8, 0xc8, 0x0f, 0xfb, 0x7b, 0xc5, 0xd7, 0x24, - 0x34, 0xe4, 0x79, 0x9a, 0xf2, 0x65, 0x36, 0x26, 0xf6, 0x07, 0x82, 0xee, 0x04, 0x49, 0x7c, 0xaa, - 0xca, 0x8a, 0xa9, 0x11, 0x22, 0x63, 0x84, 0xf9, 0xf0, 0x2f, 0xc0, 0x76, 0xdc, 0x14, 0xc6, 0x7d, - 0xb7, 0xaf, 0xba, 0x97, 0x85, 0xa4, 0x35, 0xb8, 0xfe, 0xf1, 0x32, 0x51, 0x36, 0x22, 0xd9, 0x27, - 0x8c, 0xad, 0x9b, 0x36, 0xac, 0x40, 0xe4, 0x33, 0x35, 0xc4, 0x31, 0xd4, 0x7d, 0x5e, 0x36, 0x10, - 0xb3, 0x1b, 0xbb, 0xbb, 0x02, 0xb3, 0xdc, 0x91, 0xab, 0x9c, 0xef, 0x48, 0xc5, 0xe6, 0x2c, 0x45, - 0x1e, 0x07, 0x04, 0xd0, 0x9b, 0xe8, 0x86, 0x6a, 0xad, 0x2b, 0x5e, 0x1d, 0x41, 0x19, 0x0c, 0xaf, - 0x22, 0x40, 0x55, 0xe6, 0xee, 0xd7, 0xd9, 0x51, 0x92, 0xeb, 0x00, 0xda, 0x08, 0x89, 0xef, 0xf2, - 0xb1, 0xc0, 0x60, 0xa2, 0x59, 0x78, 0x5d, 0x07, 0x20, 0xd2, 0xce, 0x58, 0x8c, 0xd2, 0x11, 0xdf, - 0xf2, 0x6f, 0x5c, 0x93, 0x0a, 0xd4, 0x07, 0x77, 0x06, 0x35, 0x01, 0x9c, 0xe7, 0x70, 0x6f, 0xbb, - 0x20, 0x64, 0x69, 0x2e, 0xb5, 0x90, 0x8f, 0xb2, 0xd1, 0xac, 0x73, 0x2b, 0xfc, 0xec, 0x0a, 0x20, - 0x49, 0x9e, 0xb1, 0x50, 0x1d, 0x7b, 0x6d, 0x93, 0x7c, 0xba, 0x52, 0x6f, 0x24, 0xd9, 0x8e, 0xc6, - 0xd0, 0x8d, 0xe2, 0x1f, 0xda, 0xf7, 0x20, 0x7b, 0x58, 0xfc, 0x72, 0x63, 0x8b, 0xe9, 0x14, 0xc8, - 0x56, 0x33, 0x19, 0xcf, 0x82, 0xc5, 0x7b, 0x6b, 0x8c, 0xa1, 0xcf, 0x7a, 0xe7, 0xa0, 0xf3, 0xe1, - 0x08, 0x61, 0x91, 0x02, 0x39, 0xfc, 0xbb, 0xe5, 0xaf, 0x75, 0xc2, 0x2e, 0x61, 0x35, 0xc8, 0x9c, - 0xdc, 0x0e, 0xad, 0xaf, 0x75, 0xcd, 0x1d, 0xa6, 0x1c, 0xc8, 0xda, 0x89, 0x8d, 0xb0, 0xa2, 0x46, - 0x0b, 0xdc, 0x4f, 0xc1, 0xa3, 0x06, 0xa8, 0x2c, 0x40, 0xb1, 0x49, 0x8c, 0xb6, 0xc0, 0x61, 0x45, - 0xa9, 0xc0, 0x78, 0x45, 0xbe, 0x9a, 0xd0, 0xb8, 0xa0, 0x53, 0xb5, 0x51, 0x9d, 0xc6, 0x9a, 0x07, - 0x21, 0xbf, 0x2d, 0x79, 0x35, 0xbb, 0x1e, 0x1b, 0xab, 0x3c, 0xa1, 0x00, 0x5a, 0x8d, 0x6b, 0x16, - 0x4c, 0xc7, 0x64, 0x48, 0xc1, 0x56, 0x57, 0xad, 0xc6, 0x9b, 0xc3, 0x2d, 0x4a, 0x07, 0xd7, 0x97, - 0xf8, 0x55, 0x5d, 0x36, 0x10, 0x97, 0xad, 0x2b, 0x1b, 0xb3, 0x29, 0x92, 0x4f, 0x19, 0x01, 0x18, - 0x43, 0x33, 0x6d, 0x42, 0xe6, 0xb8, 0x9c, 0xed, 0xd8, 0x01, 0xe5, 0xef, 0xdc, 0xaf, 0x89, 0x27, - 0x99, 0x7e, 0x84, 0x7f, 0xd1, 0x6b, 0xca, 0x41, 0xbe, 0x09, 0xbb, 0xe2, 0x78, 0x40, 0x3c, 0x7f, - 0x1d, 0x69, 0xb8, 0x0b, 0x48, 0x8d, 0xb9, 0x77, 0xe3, 0xc4, 0x88, 0x93, 0x64, 0xd8, 0xad, 0xa3, - 0xd0, 0xe7, 0x46, 0xc7, 0xbd, 0xb7, 0xbf, 0xe1, 0xdc, 0x7e, 0xd4, 0x4f, 0x46, 0x9e, 0x95, 0x0d, - 0xae, 0xe9, 0xe0, 0xfd, 0x6c, 0xd5, 0x56, 0x53, 0x6c, 0xa7, 0x24, 0xea, 0x20, 0xe2, 0xd8, 0xa8, - 0xa0, 0x0d, 0x8e, 0xb7, 0xaa, 0x19, 0x7e, 0x85, 0x4d, 0x34, 0xc0, 0xf8, 0x73, 0xc4, 0xa5, 0xe7, - 0xd6, 0x4e, 0x0d, 0x65, 0xb6, 0xae, 0x01, 0x4b, 0xd3, 0x71, 0xea, 0xec, 0x66, 0x6f, 0x35, 0x81, - 0x37, 0x53, 0xef, 0x81, 0x2b, 0xd2, 0x49, 0xab, 0x89, 0x8a, 0xff, 0x8f, 0x46, 0x9d, 0xb9, 0x5c, - 0x18, 0x12, 0x13, 0x5c, 0x3f, 0xcc, 0x32, 0x23, 0xc0, 0x4f, 0xb2, 0xda, 0x5a, 0x3d, 0xb7, 0x75, - 0xc7, 0xd1, 0x57, 0xc6, 0x5c, 0x38, 0x9b, 0x91, 0xcd, 0x66, 0xa0, 0x08, 0x79, 0xb4, 0x1b, 0xa1, - 0x11, 0xe2, 0xbb, 0x4d, 0x21, 0x27, 0xc0, 0xdb, 0x21, 0x89, 0x5d, 0xdd, 0xf7, 0x4e, 0xd5, 0x40, - 0xa0, 0x75, 0x7f, 0xe5, 0xd4, 0x49, 0x7f, 0xd9, 0x22, 0x28, 0xfe, 0x74, 0x0b, 0xe5, 0x0a, 0xcd, - 0x8e, 0x72, 0x82, 0xc7, 0x55, 0x83, 0xf6, 0x90, 0x4f, 0xfd, 0x2c, 0xd5, 0x76, 0x39, 0xad, 0xc2, - 0xcc, 0x9f, 0x4b, 0x56, 0x25, 0xa6, 0xe4, 0x8c, 0x84, 0x71, 0xc0, 0xde, 0xb3, 0x61, 0x39, 0xe4, - 0xac, 0x11, 0xd5, 0xa0, 0x6f, 0x6b, 0x2e, 0x49, 0x7d, 0x80, 0xe5, 0xee, 0xed, 0x41, 0xf2, 0x63, - 0xd7, 0xad, 0x98, 0x34, 0x88, 0x4a, 0xc7, 0x52, 0x0a, 0xe7, 0xe9, 0x3e, 0xf7, 0xf2, 0x81, 0xdd, - 0x75, 0x30, 0xec, 0xaf, 0x3f, 0xc3, 0x89, 0x79, 0xa8, 0x75, 0x0e, 0xb5, 0xb6, 0x50, 0x58, 0x94, - 0x15, 0x2d, 0xb5, 0x92, 0xb4, 0x66, 0xa9, 0xca, 0xd9, 0x35, 0x76, 0x90, 0x52, 0x5e, 0x4d, 0x0c, - 0x8f, 0xae, 0x2d, 0x86, 0xba, 0x71, 0x69, 0x9d, 0xc4, 0xb4, 0x30, 0xb7, 0x8b, 0xdb, 0xca, 0x5b, - 0xac, 0x7d, 0xa7, 0x0f, 0xab, 0x46, 0xd5, 0xbd, 0x03, 0xea, 0x64, 0x46, 0x50, 0xba, 0x78, 0xc5, - 0xfc, 0xac, 0x88, 0xf4, 0xed, 0x40, 0x66, 0x32, 0xd3, 0x53, 0x67, 0x87, 0x70, 0x71, 0x9d, 0x57, - 0x0d, 0x1e, 0x31, 0x01, 0xfd, 0x29, 0x42, 0x0b, 0x64, 0x15, 0x22, 0xa1, 0x5a, 0xe7, 0xe2, 0xe6, - 0x67, 0x00, 0x29, 0x51, 0xd9, 0xe8, 0x9f, 0x4e, 0xeb, 0xfb, 0xf0, 0xb7, 0xf1, 0xdb, 0x7b, 0x15, - 0xbf, 0x1f, 0x24, 0x2d, 0xb2, 0x59, 0x1e, 0x7c, 0x19, 0x36, 0x9f, 0x09, 0x01, 0x5d, 0x4d, 0xc1, - 0xb8, 0x4a, 0xeb, 0xa1, 0x90, 0x65, 0x1d, 0xdc, 0x1e, 0x42, 0x1a, 0x75, 0x2a, 0x9e, 0xb4, 0xa4, - 0x38, 0x9c, 0x2d, 0xa3, 0x09, 0xc1, 0x62, 0xd0, 0xc4, 0xc1, 0x4a, 0x15, 0xbf, 0x94, 0x09, 0x57, - 0xb8, 0x51, 0x33, 0x9d, 0xf3, 0x84, 0x17, 0x4a, 0xb2, 0xa5, 0xcb, 0x2f, 0x32, 0x27, 0x9c, 0x69, - 0x3a, 0x9d, 0x8f, 0x21, 0x60, 0x01, 0x4c, 0x05, 0xa6, 0x82, 0x5f, 0x54, 0xc7, 0x8c, 0x49, 0x07, - 0xa2, 0x92, 0xa1, 0x23, 0x12, 0x93, 0xaa, 0xf0, 0xc0, 0x53, 0xfb, 0x73, 0xa8, 0xe2, 0xac, 0x6a, - 0xa0, 0x81, 0x0e, 0xf1, 0xca, 0x0c, 0x5a, 0x62, 0xf3, 0x38, 0xfe, 0x61, 0xcd, 0xb9, 0x08, 0x73, - 0x17, 0x0b, 0x3b, 0x98, 0x24, 0x3d, 0xeb, 0x93, 0xac, 0xb3, 0x84, 0x3f, 0x31, 0x0d, 0x0a, 0xc3, - 0xb9, 0xc3, 0x85, 0x52, 0x1d, 0x4f, 0x39, 0x0e, 0x01, 0x32, 0x3c, 0x75, 0x83, 0x0a, 0x7a, 0xcd, - 0x08, 0xb9, 0x9f, 0x3a, 0xa0, 0xd6, 0x1c, 0xc6, 0x78, 0xd9, 0x73, 0xa9, 0x57, 0x7f, 0x1d, 0xad, - 0x6f, 0xc8, 0xdb, 0x93, 0x28, 0x05, 0x84, 0x06, 0x3f, 0x4d, 0x55, 0x84, 0xcb, 0x23, 0xab, 0x50, - 0xc3, 0x74, 0xae, 0x9f, 0x71, 0x64, 0xa4, 0x3d, 0x5a, 0x34, 0xe4, 0x45, 0x58, 0x66, 0x36, 0x93, - 0x98, 0x15, 0xe9, 0xe7, 0x5f, 0x05, 0xce, 0xae, 0x7e, 0x42, 0x5b, 0x56, 0x75, 0x53, 0x00, 0xe1, - 0x83, 0xb7, 0x8e, 0x6e, 0x75, 0x5d, 0x34, 0xa2, 0xba, 0x16, 0x61, 0x00, 0xd2, 0xd2, 0x5d, 0x78, - 0xb2, 0xa7, 0x2e, 0x07, 0xcc, 0x89, 0xae, 0xcd, 0xa1, 0x8b, 0x16, 0xa6, 0xeb, 0xb3, 0xa9, 0x9c, - 0x9a, 0x3b, 0xe1, 0x6e, 0x45, 0xd5, 0xf6, 0xd6, 0xa2, 0xca, 0x90, 0x0b, 0x12, 0xb3, 0xcd, 0xfc, - 0x0a, 0xe6, 0xcd, 0xc5, 0x6f, 0x3a, 0x34, 0x4a, 0x7d, 0xef, 0x1b, 0x65, 0xff, 0xd0, 0x76, 0x47, - 0xf3, 0xda, 0xd7, 0x6a, 0xa2, 0xf9, 0x7d, 0x9a, 0x1d, 0xa3, 0xce, 0x25, 0x17, 0x39, 0x09, 0x39, - 0xb8, 0xb1, 0x8f, 0x0f, 0x9e, 0x5c, 0x3f, 0x4f, 0xf6, 0x6e, 0x4d, 0x12, 0xcd, 0x0c, 0x5b, 0x50, - 0xb4, 0x3b, 0x43, 0x97, 0x81, 0x6e, 0x25, 0x91, 0xa9, 0x00, 0x09, 0x2e, 0x4d, 0x7e, 0x30, 0x95, - 0xd7, 0xb2, 0x4c, 0xe1, 0xbc, 0x9b, 0xe9, 0x33, 0x94, 0x04, 0xaf, 0x88, 0xd3, 0x4c, 0xb1, 0x16, - 0xa3, 0xe2, 0x78, 0x8a, 0xae, 0x06, 0xaa, 0x32, 0xf2, 0xce, 0x22, 0xf3, 0x57, 0xef, 0x88, 0x81, - 0xe0, 0x30, 0x81, 0xd9, 0xfa, 0x9c, 0x9f, 0x2e, 0xd6, 0xff, 0xc2, 0x89, 0x0e, 0x85, 0x99, 0x04, - 0x0f, 0x46, 0x5b, 0xcd, 0xaf, 0xdd, 0x7b, 0x97, 0x01, 0x8b, 0x55, 0x95, 0xf1, 0xc0, 0x4d, 0xa7, - 0x12, 0x39, 0x9b, 0x27, 0x83, 0xbc, 0xa3, 0xc2, 0x77, 0xe9, 0x6b, 0x8e, 0xbc, 0x24, 0x24, 0x16, - 0x60, 0x2f, 0x4f, 0x13, 0x55, 0x3e, 0x5b, 0x26, 0xfc, 0xad, 0x7d, 0xd3, 0x21, 0x00, 0x3f, 0xa2, - 0xf4, 0xa5, 0x57, 0x7c, 0xe8, 0x67, 0xb2, 0x7c, 0x31, 0xad, 0xf4, 0x9e, 0x4f, 0x5c, 0xcf, 0x27, - 0x32, 0x3a, 0xdb, 0xf0, 0xe8, 0xc6, 0x24, 0x44, 0x1c, 0x97, 0xcd, 0x12, 0x47, 0xf8, 0xad, 0x58, - 0x8d, 0xda, 0x4f, 0x5c, 0x6c, 0x0e, 0x25, 0x05, 0x6b, 0xde, 0x4a, 0xd8, 0x09, 0xb1, 0x8f, 0x69, - 0xdd, 0xe8, 0x20, 0x50, 0x20, 0x26, 0xbe, 0xcb, 0x0e, 0x31, 0xd0, 0x4c, 0x3e, 0x08, 0x84, 0x05, - 0x0b, 0x36, 0x3f, 0x00, 0xfa, 0x13, 0xa0, 0xbd, 0xbd, 0x90, 0xdc, 0xa8, 0x39, 0x92, 0x04, 0x30, - 0x64, 0x2d, 0xbf, 0x6b, 0xf0, 0x6c, 0x51, 0x36, 0x60, 0x76, 0xce, 0xb7, 0x9e, 0xcc, 0x1d, 0x5d, - 0xaf, 0xad, 0xec, 0x54, 0xdb, 0xaf, 0x5b, 0x98, 0xbc, 0xa4, 0x8d, 0x72, 0x35, 0xfb, 0x8a, 0x93, - 0xa0, 0x17, 0x70, 0xd2, 0x40, 0x7e, 0xb4, 0x1c, 0x90, 0xe2, 0xe7, 0x46, 0x49, 0x31, 0x11, 0xbb, - 0x7c, 0xbe, 0x86, 0x00, 0xd8, 0x8a, 0x12, 0x74, 0x75, 0xe6, 0x55, 0x58, 0x8d, 0x67, 0xfa, 0x6e, - 0x63, 0x0e, 0x30, 0xf9, 0x5c, 0x55, 0x42, 0x2d, 0xfe, 0xa3, 0xb9, 0x63, 0xd9, 0x99, 0x57, 0xc1, - 0x26, 0xa7, 0x22, 0xa6, 0x85, 0xf7, 0xa8, 0x5b, 0x7a, 0x35, 0xd3, 0x2f, 0x62, 0x3a, 0xe7, 0xe3, - 0xbc, 0x09, 0xc7, 0x17, 0x52, 0x02, 0x28, 0x3a, 0x90, 0x7d, 0xc8, 0xcb, 0x52, 0xd7, 0x28, 0x07, - 0x26, 0x56, 0xfd, 0x0e, 0x94, 0xc6, 0x1b, 0xa4, 0x8e, 0x49, 0xd4, 0x7b, 0x76, 0x99, 0x60, 0x05, - 0x80, 0x66, 0xb8, 0xac, 0xe4, 0xef, 0x2d, 0x78, 0xec, 0xa9, 0xa3, 0x27, 0xc7, 0x20, 0x09, 0xc5, - 0x90, 0x1d, 0xb7, 0xd1, 0xde, 0xfe, 0x0d, 0xe8, 0xbe, 0x2d, 0x01, 0x8e, 0x23, 0x88, 0x7a, 0xfc, - 0xa2, 0xc9, 0x50, 0xbb, 0x77, 0xd2, 0xfd, 0x13, 0x34, 0x81, 0x4f, 0xe8, 0x78, 0xa6, 0x9f, 0x78, - 0xaf, 0x40, 0x11, 0x90, 0xff, 0xb0, 0xb1, 0x29, 0x61, 0xd3, 0xb4, 0xe2, 0xf3, 0x39, 0xfc, 0x41, - 0x97, 0x17, 0xab, 0x0c, 0xac, 0x42, 0x51, 0x62, 0xa7, 0xa3, 0xc1, 0x19, 0x92, 0xbf, 0xd6, 0xe4, - 0xe6, 0xa0, 0x73, 0x9e, 0x9d, 0x73, 0xc6, 0xd6, 0x19, 0xd3, 0xda, 0x38, 0x32, 0x5c, 0xaf, 0xdc, - 0xcf, 0x8e, 0x44, 0x60, 0x6a, 0x87, 0xab, 0xac, 0x5b, 0x7c, 0x6a, 0x72, 0xaf, 0x23, 0x7e, 0x88, - 0x46, 0xa2, 0x17, 0x18, 0x2c, 0x99, 0x58, 0xf4, 0xbc, 0x27, 0xf8, 0xfe, 0x3d, 0x79, 0x73, 0xfc, - 0x0b, 0x7a, 0xcb, 0xe0, 0x05, 0xc2, 0xbc, 0x5d, 0x6d, 0x9b, 0x54, 0x54, 0xdd, 0x7c, 0x27, 0x36, - 0xe0, 0x5e, 0xdc, 0x51, 0x6f, 0xe5, 0xf7, 0x0c, 0xc4, 0x73, 0x7f, 0xf4, 0xb3, 0xf5, 0xd4, 0x16, - 0x06, 0x15, 0x47, 0xa4, 0xd2, 0x36, 0x32, 0x61, 0xf3, 0x48, 0xee, 0xc3, 0x27, 0x69, 0x05, 0x1d, - 0xb1, 0xec, 0xb7, 0x4c, 0x49, 0x98, 0x05, 0x23, 0x58, 0x0a, 0xf4, 0x5b, 0x70, 0xc7, 0x90, 0x9e, - 0x22, 0x10, 0xe8, 0x48, 0xc8, 0x86, 0x52, 0x45, 0xbb, 0xd8, 0x3e, 0x46, 0x09, 0x0b, 0x1d, 0x77, - 0xb2, 0xba, 0x47, 0x9f, 0x23, 0x1d, 0x6f, 0xe1, 0xf9, 0xca, 0x31, 0x18, 0x17, 0x19, 0x01, 0x91, - 0x34, 0x55, 0xbb, 0x22, 0x5f, 0xfa, 0x72, 0x08, 0x63, 0xe8, 0x6b, 0x8b, 0x53, 0xdb, 0x2e, 0x25, - 0x8b, 0x3f, 0x91, 0xfc, 0xc1, 0xc2, 0x9e, 0x9e, 0xc1, 0x1f, 0x5a, 0xfc, 0xaa, 0xd6, 0x2a, 0xaa, - 0x89, 0xf6, 0xd1, 0x10, 0x5e, 0xcf, 0x06, 0x16, 0xfa, 0x04, 0x8f, 0x95, 0x2c, 0xe7, 0x88, 0x60, - 0x6c, 0x09, 0xd8, 0xc5, 0xc9, 0xe4, 0xa0, 0x5b, 0x2f, 0x36, 0x02, 0x22, 0x01, 0x38, 0xfb, 0xc9, - 0xbc, 0x7a, 0x90, 0xe0, 0x3b, 0x3f, 0xaa, 0xf5, 0x3a, 0x5d, 0x20, 0x3d, 0xe2, 0x5e, 0x65, 0x51, - 0x46, 0x57, 0x27, 0x59, 0x72, 0x38, 0xba, 0x54, 0x8b, 0x0e, 0xc0, 0x5a, 0xa3, 0x0c, 0x2c, 0x03, - 0x29, 0xcf, 0x4d, 0x1e, 0xb5, 0x30, 0x7d, 0xd5, 0x9f, 0x8e, 0x52, 0x4d, 0x28, 0x6f, 0x6c, 0xa5, - 0x6c, 0xeb, 0xd1, 0x04, 0x7f, 0xcf, 0x9f, 0xa3, 0xfc, 0x96, 0x55, 0x71, 0xca, 0x8f, 0x32, 0x15, - 0xae, 0x26, 0xeb, 0x3c, 0x21, 0x27, 0x16, 0xca, 0xce, 0xf8, 0x45, 0x0b, 0xd3, 0xe8, 0x81, 0xe2, - 0x03, 0x5d, 0xcb, 0x10, 0x26, 0x9f, 0x74, 0x53, 0xe8, 0x46, 0xf3, 0x41, 0xb5, 0x1b, 0x45, 0x15, - 0xa0, 0x9c, 0x49, 0x38, 0x05, 0xbc, 0x8a, 0x6e, 0xbe, 0x1e, 0xa1, 0x7c, 0x85, 0x63, 0xbb, 0x35, - 0xba, 0xea, 0x88, 0x15, 0x7a, 0x7c, 0x96, 0xf3, 0xc9, 0xf7, 0xc6, 0xff, 0x45, 0xae, 0x09, 0xc2, - 0x24, 0xd7, 0xdb, 0x48, 0x76, 0x77, 0xde, 0xd5, 0x2a, 0xc0, 0x50, 0x7e, 0x9a, 0x06, 0x44, 0xd5, - 0xde, 0xd5, 0x1d, 0x32, 0xd7, 0x9a, 0x72, 0x80, 0xff, 0x34, 0x43, 0xdb, 0x0e, 0x58, 0x92, 0x22, - 0x72, 0x59, 0x58, 0x4e, 0x06, 0x75, 0x06, 0x2d, 0x01, 0x34, 0xc3, 0x5f, 0x5c, 0x12, 0x1b, 0x2d, - 0xdd, 0xfe, 0x0b, 0x55, 0x67, 0x1e, 0xe4, 0x46, 0xaf, 0x9b, 0xf3, 0xdb, 0xe5, 0xcc, 0xe6, 0x52, - 0x8f, 0x72, 0x59, 0xd8, 0xc2, 0x8c, 0xc3, 0xe4, 0x8a, 0x91, 0x4b, 0x54, 0xa7, 0xf6, 0x33, 0x33, - 0x05, 0x34, 0xbe, 0xdb, 0xea, 0x86, 0xd5, 0x5f, 0xae, 0xbb, 0x1a, 0xe4, 0x7d, 0xed, 0xfd, 0x88, - 0x3f, 0xd2, 0xe9, 0x96, 0x70, 0xb6, 0x6c, 0x66, 0x7b, 0x9c, 0x8f, 0xe6, 0x78, 0xf5, 0xde, 0x32, - 0xd7, 0xa6, 0x84, 0x97, 0x1a, 0xfc, 0xbd, 0x0b, 0x14, 0xf6, 0x55, 0x7d, 0x65, 0x11, 0x1e, 0xfb, - 0xab, 0x5c, 0x38, 0xa1, 0xa6, 0x2d, 0xd6, 0x04, 0xc3, 0x95, 0x22, 0x98, 0x5b, 0xc7, 0xf9, 0x5d, - 0x1e, 0x36, 0xd0, 0x77, 0xe4, 0xf6, 0xb0, 0x30, 0x90, 0x86, 0x42, 0x2a, 0x5a, 0xc6, 0x9c, 0xc6, - 0xdf, 0x2b, 0x34, 0x9d, 0xec, 0x91, 0x35, 0x9d, 0x92, 0xa2, 0x6b, 0x16, 0x45, 0x5e, 0xbe, 0xdd, - 0x4e, 0xcb, 0xae, 0x35, 0x32, 0xcf, 0x9d, 0x7b, 0x3b, 0xe5, 0x27, 0xda, 0xe9, 0x0b, 0x3e, 0x6c, - 0xc8, 0x9e, 0xae, 0x1c, 0x69, 0x76, 0x16, 0x28, 0x3d, 0x72, 0xfa, 0x0d, 0xc6, 0xc4, 0xc0, 0xb5, - 0xcf, 0x1c, 0x73, 0x54, 0x43, 0x84, 0xbd, 0x7b, 0x1e, 0x28, 0xc1, 0xd9, 0xf0, 0xbf, 0x5a, 0xbe, - 0x87, 0xed, 0xfe, 0x0d, 0x1c, 0xeb, 0x38, 0x4b, 0x1d, 0xd9, 0xbe, 0x2f, 0x59, 0x6c, 0x5f, 0x37, - 0x9d, 0x6e, 0x4a, 0xba, 0x07, 0xa9, 0xe4, 0x74, 0x41, 0xd0, 0x85, 0x5c, 0xce, 0x66, 0x00, 0xa9, - 0xe0, 0xc7, 0x3c, 0x23, 0x83, 0x5c, 0x12, 0x6f, 0xe1, 0x70, 0x30, 0xea, 0x1b, 0x10, 0x64, 0xc2, - 0x3f, 0xd0, 0x2d, 0x81, 0xb6, 0x6b, 0x1e, 0xdf, 0x8e, 0xe6, 0x49, 0xb9, 0x45, 0x0f, 0x2f, 0x63, - 0x4f, 0x0e, 0xa1, 0x7f, 0xa4, 0x20, 0x1e, 0x25, 0x99, 0x99, 0xb2, 0x06, 0x2d, 0xb7, 0xb3, 0x30, - 0xc2, 0xc9, 0x35, 0xb6, 0xf3, 0x08, 0x9f, 0x2a, 0xd7, 0x21, 0xe5, 0xcd, 0x4b, 0x2a, 0x5f, 0xdc, - 0xb5, 0xfb, 0xdb, 0x74, 0xae, 0x25, 0x8d, 0x0e, 0x84, 0xd7, 0xc7, 0xcc, 0x82, 0x47, 0xd0, 0x3c, - 0x46, 0x29, 0xe5, 0x58, 0xde, 0x92, 0x07, 0xcf, 0x9a, 0xb6, 0x6c, 0x6c, 0x99, 0xb7, 0x03, 0xc1, - 0xef, 0x22, 0x80, 0x0b, 0x17, 0x92, 0x70, 0xa6, 0xf5, 0x6f, 0x4b, 0xa7, 0xcf, 0x67, 0x29, 0x0f, - 0xcc, 0xb0, 0xce, 0xea, 0x63, 0xd5, 0xbe, 0xb3, 0xc0, 0x0c, 0x6b, 0x25, 0x75, 0x23, 0x80, 0xe8, - 0x7d, 0x1a, 0xb0, 0xcb, 0xbf, 0x2a, 0x99, 0xb7, 0x3d, 0x28, 0xe7, 0x4c, 0xd2, 0x66, 0xa2, 0xe6, - 0xad, 0x10, 0xc5, 0x19, 0xb8, 0xf0, 0x6c, 0xda, 0x7b, 0xe0, 0x30, 0xa9, 0xd1, 0x2a, 0x9f, 0xb9, - 0xac, 0x5e, 0x99, 0xf7, 0xa9, 0x1f, 0x6d, 0xa0, 0xfc, 0x93, 0x5c, 0x74, 0x5c, 0xda, 0x03, 0xdc, - 0xf6, 0xa5, 0xb7, 0x27, 0x04, 0x37, 0xfb, 0xa9, 0x4c, 0x83, 0xa9, 0xe9, 0xaf, 0x75, 0xd1, 0x6d, - 0x34, 0xcb, 0x82, 0x9e, 0x04, 0xb1, 0x94, 0xbb, 0xcd, 0xeb, 0x81, 0x47, 0xf3, 0x90, 0x50, 0x4c, - 0xfc, 0x20, 0x6a, 0x8c, 0x43, 0x46, 0x2b, 0xd3, 0xf8, 0x69, 0x81, 0x17, 0xfc, 0x5e, 0x4e, 0xa1, - 0x33, 0x07, 0x5e, 0xd9, 0x4a, 0x87, 0xcf, 0xf4, 0xfb, 0x82, 0x35, 0x23, 0xb1, 0x3c, 0xf2, 0x60, - 0xdc, 0xee, 0xc8, 0xc6, 0xff, 0x89, 0xf1, 0x4e, 0x33, 0x32, 0xe1, 0xff, 0xef, 0x33, 0x79, 0xbb, - 0xd4, 0x9d, 0x2c, 0x21, 0x71, 0x61, 0xa8, 0x2b, 0x56, 0x3f, 0x13, 0x0c, 0x7c, 0xfc, 0x57, 0x39, - 0x57, 0xf1, 0x54, 0x3b, 0xff, 0x01, 0x20, 0x48, 0x5e, 0x68, 0xce, 0xca, 0x4a, 0x87, 0x3c, 0x41, - 0xce, 0xfd, 0x8e, 0x18, 0x12, 0x22, 0xb0, 0xe5, 0x8e, 0xf9, 0x1f, 0x06, 0x9e, 0xd4, 0xf8, 0x3f, - 0x4d, 0xc2, 0x78, 0x55, 0x36, 0x89, 0xe4, 0x4e, 0xcf, 0x0c, 0xaf, 0xd6, 0xc9, 0xaa, 0x0a, 0xb5, - 0x42, 0x64, 0xd7, 0x0d, 0x02, 0x16, 0xea, 0x0b, 0x23, 0xb2, 0xaf, 0x3d, 0xac, 0xaa, 0x23, 0x77, - 0x05, 0x58, 0x86, 0x53, 0x83, 0x8e, 0x3f, 0x6c, 0x49, 0x82, 0x1c, 0xa1, 0x34, 0xc0, 0x11, 0x96, - 0x36, 0x4a, 0xd8, 0xcc, 0x35, 0xbb, 0x46, 0x73, 0x93, 0xf9, 0x1a, 0xf6, 0x66, 0x08, 0x5c, 0xf7, - 0x78, 0x83, 0x82, 0x0c, 0x8e, 0x05, 0xd1, 0x2c, 0x90, 0x87, 0x05, 0xaa, 0x1d, 0x4b, 0x7b, 0x41, - 0x54, 0xf5, 0x21, 0x24, 0x6c, 0x79, 0x61, 0x30, 0x2d, 0xd1, 0x45, 0xd7, 0xf6, 0xcf, 0xd5, 0xf7, - 0xe8, 0x3a, 0xa4, 0xd9, 0xf3, 0xc8, 0x31, 0xf7, 0x1a, 0x8b, 0x4d, 0x1f, 0xee, 0x9a, 0xb4, 0x66, - 0xbd, 0xc1, 0x9f, 0x0f, 0x77, 0xb7, 0xf5, 0x82, 0x4e, 0x2a, 0x25, 0xe5, 0x99, 0x52, 0xd1, 0x4b, - 0x39, 0xbb, 0xec, 0x67, 0x4f, 0x5a, 0x20, 0x90, 0x51, 0x9b, 0xf8, 0x2b, 0xba, 0x7a, 0xee, 0x8e, - 0x82, 0x8b, 0xed, 0xd7, 0x9d, 0xe6, 0x42, 0xfc, 0xa4, 0xdd, 0x20, 0x49, 0x91, 0x2b, 0x53, 0xc7, - 0x61, 0x58, 0x92, 0x60, 0xa5, 0x31, 0x40, 0x56, 0x06, 0x06, 0xf4, 0x2b, 0x26, 0x62, 0x2e, 0x71, - 0xcb, 0xd6, 0x1f, 0xfc, 0x57, 0xeb, 0xfd, 0x33, 0x79, 0x4a, 0x9d, 0x1f, 0x3e, 0x6d, 0xf5, 0x13, - 0x5f, 0x4f, 0x7e, 0xf1, 0x66, 0x7a, 0xf2, 0x87, 0xd1, 0x27, 0xfd, 0x2c, 0x89, 0x8a, 0xcb, 0xc8, - 0x92, 0xdd, 0x8c, 0x2b, 0x30, 0x7a, 0xf1, 0x50, 0x3e, 0x7b, 0x77, 0x16, 0xb0, 0x4a, 0x5f, 0x24, - 0x44, 0x85, 0x78, 0x2c, 0xb0, 0x6e, 0x5c, 0x31, 0x41, 0x6b, 0xe3, 0x27, 0x99, 0xc5, 0x8c, 0x0a, - 0xae, 0x86, 0x08, 0xc7, 0x6f, 0xef, 0x80, 0x22, 0x51, 0x5d, 0x97, 0x7c, 0x59, 0x4b, 0xba, 0xa7, - 0x88, 0xe2, 0x0e, 0x5f, 0x01, 0x14, 0xc3, 0x29, 0x06, 0x43, 0x0a, 0x94, 0x14, 0x1b, 0x2d, 0xfb, - 0x3b, 0x9d, 0xda, 0x5c, 0x7c, 0x03, 0x5e, 0x96, 0x7a, 0x76, 0xc5, 0x97, 0x72, 0xcf, 0x04, 0x9c, - 0x77, 0xa5, 0xff, 0x87, 0xb7, 0x73, 0x07, 0x23, 0x74, 0x14, 0x06, 0x51, 0xef, 0xce, 0x5c, 0xf1, - 0x4b, 0xf1, 0x33, 0x95, 0x6e, 0xd9, 0x16, 0x3c, 0xfe, 0x10, 0x6c, 0x75, 0x45, 0x0c, 0x8a, 0x18, - 0x8c, 0x8f, 0x7b, 0xcf, 0x08, 0x00, 0x2b, 0xe6, 0x87, 0x4e, 0xcb, 0xe2, 0xda, 0xde, 0xf7, 0xdd, - 0x1a, 0x4a, 0xb3, 0xa7, 0xc7, 0x23, 0xf1, 0x55, 0x84, 0xb0, 0x37, 0xd5, 0x71, 0xc6, 0xd6, 0x91, - 0xa7, 0xf3, 0x88, 0x02, 0xcc, 0xb3, 0x50, 0x51, 0x1e, 0x4d, 0xff, 0x07, 0xec, 0x18, 0x40, 0x3c, - 0xe1, 0x80, 0xab, 0x33, 0xf2, 0xdd, 0x48, 0x74, 0x2b, 0xc4, 0x4e, 0x41, 0x95, 0x1a, 0xd8, 0x8b, - 0xbc, 0x71, 0x24, 0xad, 0xb1, 0x63, 0xed, 0x26, 0x07, 0xbf, 0x2a, 0x53, 0x81, 0x2d, 0xee, 0x79, - 0x28, 0x7d, 0x53, 0x3b, 0xad, 0x0b, 0x2d, 0x52, 0x3e, 0x0b, 0x55, 0x63, 0xd9, 0xb9, 0xb2, 0x1f, - 0x24, 0x06, 0xf4, 0x0d, 0xdb, 0x24, 0x9e, 0x3a, 0xca, 0x3a, 0x63, 0x86, 0x9b, 0x1e, 0xf9, 0xc6, - 0x40, 0x43, 0xd1, 0x02, 0xad, 0xae, 0xc5, 0xd7, 0x76, 0xe0, 0x54, 0xcb, 0x54, 0x51, 0xce, 0x9f, - 0x63, 0xc4, 0x0e, 0xd1, 0x48, 0x75, 0x96, 0xa7, 0x87, 0xae, 0x9c, 0x3a, 0x79, 0x1b, 0x0e, 0x53, - 0x41, 0x7b, 0xfa, 0x74, 0x02, 0x00, 0x97, 0x2b, 0xf3, 0xb7, 0xde, 0x9c, 0x96, 0xcf, 0x66, 0x4d, - 0x3f, 0x12, 0x13, 0x76, 0xdd, 0xcb, 0x07, 0xf8, 0x96, 0xf3, 0xfc, 0xf5, 0x9e, 0x6c, 0x09, 0xe9, - 0x58, 0xaf, 0x0a, 0x77, 0x01, 0x79, 0xc3, 0x72, 0x46, 0xad, 0x12, 0x0b, 0x0f, 0xea, 0xde, 0xd5, - 0x27, 0x0e, 0xe0, 0x9e, 0x84, 0x7c, 0x50, 0x59, 0xe9, 0xbe, 0xa0, 0x27, 0xf5, 0x3a, 0xa5, 0x2e, - 0x65, 0x10, 0x50, 0xcd, 0x63, 0x62, 0x4c, 0x3b, 0x6d, 0x5b, 0xa0, 0x31, 0x6a, 0x63, 0x91, 0xd6, - 0x7f, 0x85, 0x50, 0xa8, 0x0b, 0xfd, 0x67, 0x90, 0x53, 0xdc, 0x40, 0xd3, 0x79, 0x74, 0xcc, 0x64, - 0xd7, 0xe0, 0xf8, 0x09, 0x47, 0x77, 0xb7, 0x1e, 0x13, 0x5d, 0x99, 0xdd, 0x56, 0x1d, 0x77, 0xc9, - 0x0a, 0x58, 0x12, 0x34, 0x83, 0x3b, 0xa7, 0xe4, 0x11, 0xd2, 0x8c, 0x5d, 0x5f, 0x15, 0x9f, 0x81, - 0xae, 0x1b, 0x69, 0xd7, 0x2f, 0x64, 0x8a, 0xc9, 0xba, 0xc6, 0x69, 0xc8, 0xb2, 0xfb, 0x4f, 0xea, - 0xc1, 0xe2, 0x30, 0x2d, 0x88, 0x0e, 0x88, 0xec, 0x5d, 0x00, 0x7a, 0x05, 0x15, 0x4a, 0x0f, 0xd6, - 0x33, 0xf9, 0xb5, 0xd0, 0xd0, 0x76, 0x09, 0x7c, 0x29, 0x75, 0x31, 0xff, 0x91, 0x4b, 0xd1, 0x6b, - 0xa5, 0x63, 0x04, 0xda, 0x1a, 0x64, 0xd6, 0xb4, 0x91, 0x3a, 0x8b, 0x0e, 0x6b, 0xc5, 0x88, 0x00, - 0x68, 0x91, 0x23, 0x98, 0x0d, 0x79, 0x96, 0x17, 0x64, 0x2e, 0x26, 0xe1, 0x82, 0x00, 0x7e, 0x51, - 0xbc, 0x95, 0x27, 0x86, 0xd1, 0x70, 0x25, 0x91, 0x69, 0x69, 0x57, 0x3a, 0x3f, 0x8e, 0x06, 0x8d, - 0x96, 0x64, 0x3b, 0xdc, 0x0f, 0x8b, 0x25, 0x0d, 0x8a, 0x19, 0xd8, 0xa8, 0x94, 0x02, 0xed, 0x59, - 0x27, 0x08, 0xfc, 0x7e, 0x0b, 0xb3, 0x27, 0x1c, 0xc1, 0xab, 0xc7, 0xef, 0x95, 0x4f, 0x5a, 0x35, - 0xc1, 0x11, 0x97, 0x2c, 0x09, 0x41, 0x22, 0x4c, 0x0d, 0x54, 0xa1, 0x48, 0x83, 0x32, 0x88, 0x4e, - 0x75, 0x3d, 0xe4, 0xb7, 0x44, 0x86, 0xf5, 0x13, 0x28, 0x1a, 0x98, 0x43, 0xab, 0xff, 0x78, 0x39, - 0xd9, 0xff, 0x34, 0x64, 0xb1, 0xa8, 0x96, 0x86, 0x06, 0x64, 0x77, 0x55, 0x6e, 0xf6, 0x17, 0x1a, - 0x3d, 0x99, 0xf2, 0x2a, 0x6e, 0x26, 0xbb, 0x6a, 0x2f, 0xc0, 0xe1, 0xc2, 0x8e, 0x36, 0x9a, 0xbb, - 0x80, 0x2d, 0x1c, 0x4d, 0xf5, 0x64, 0x4a, 0x6f, 0x2b, 0x39, 0x35, 0x14, 0x41, 0x35, 0x34, 0x33, - 0xf0, 0x40, 0x7f, 0x5b, 0xdb, 0x59, 0x52, 0x0e, 0xc9, 0x93, 0x47, 0xe7, 0x15, 0xea, 0x82, 0x0f, - 0x05, 0x86, 0xd7, 0x7b, 0xd4, 0x54, 0x5b, 0x7f, 0xe5, 0x49, 0x33, 0xdb, 0x64, 0x70, 0xac, 0x11, - 0x64, 0x44, 0xae, 0x79, 0x99, 0x45, 0xa7, 0xc1, 0x6b, 0x08, 0x90, 0xb9, 0x56, 0x64, 0x1f, 0xb8, - 0x58, 0x86, 0xd1, 0x5e, 0xf4, 0x7c, 0x8e, 0x76, 0x49, 0xeb, 0x5b, 0xf9, 0x21, 0x1c, 0x16, 0xf8, - 0x35, 0x2c, 0x95, 0xd4, 0xaf, 0x6e, 0x88, 0x68, 0x7a, 0x1c, 0xe2, 0xba, 0x6e, 0xf7, 0x71, 0xb8, - 0xb2, 0x7d, 0xb1, 0xb0, 0x0c, 0x3e, 0x27, 0x22, 0xb9, 0x0f, 0x9e, 0xfe, 0x04, 0x4d, 0x7d, 0x79, - 0xb5, 0x6a, 0x4f, 0x56, 0xf5, 0x7d, 0x26, 0x46, 0x78, 0x1f, 0x65, 0x5c, 0x42, 0x1f, 0xa1, 0xdf, - 0x80, 0xb3, 0x3d, 0x1c, 0xbb, 0x38, 0x9d, 0x49, 0x7f, 0x72, 0xfb, 0x1f, 0xbf, 0xf0, 0x27, 0x08, - 0x89, 0x39, 0xe6, 0x47, 0xf4, 0x24, 0x37, 0x8e, 0xea, 0xca, 0x10, 0x88, 0x2b, 0x0c, 0x75, 0x21, - 0xda, 0x77, 0xeb, 0x5b, 0xfd, 0xe8, 0xdd, 0x57, 0x49, 0xc0, 0xf7, 0xb9, 0x92, 0xf7, 0xad, 0xf5, - 0x5b, 0x5b, 0xa1, 0xf5, 0xae, 0xba, 0xbd, 0xf4, 0xa8, 0xc0, 0xa9, 0x97, 0x13, 0x2c, 0x7b, 0xf7, - 0xd5, 0x47, 0x1f, 0x76, 0xa2, 0x3f, 0x64, 0x88, 0x15, 0x47, 0x86, 0xf9, 0x9a, 0x5f, 0x8a, 0x59, - 0xf5, 0xe5, 0xdb, 0xd7, 0x11, 0x3c, 0x0d, 0xa3, 0x85, 0xf3, 0xbb, 0x6b, 0x04, 0x4e, 0x86, 0x1f, - 0x3d, 0x69, 0x44, 0xd3, 0x84, 0xc3, 0x9d, 0x08, 0x51, 0xb1, 0x34, 0xbe, 0x02, 0xc6, 0xd3, 0xa5, - 0x62, 0xaf, 0xed, 0x35, 0x2c, 0x96, 0xc6, 0x3e, 0xdd, 0xf8, 0xfd, 0x8d, 0x72, 0x7d, 0xdc, 0x06, - 0x90, 0x93, 0x4b, 0x08, 0xd1, 0x6e, 0x82, 0x79, 0x5e, 0x0c, 0x4a, 0xed, 0x96, 0x53, 0x01, 0xf7, - 0x48, 0x8d, 0x1a, 0x30, 0x20, 0xaa, 0x96, 0x71, 0x80, 0x10, 0xf9, 0x0d, 0xfc, 0x1e, 0xb0, 0x05, - 0x16, 0xdd, 0x1f, 0x9d, 0xe3, 0x05, 0x79, 0x1b, 0xef, 0xdb, 0x7a, 0xa5, 0x54, 0x74, 0xd6, 0x63, - 0x77, 0x17, 0x6b, 0xa4, 0x50, 0xe8, 0x8d, 0x50, 0x93, 0xab, 0xdd, 0x3e, 0x1d, 0x98, 0x49, 0xa2, - 0x9a, 0x69, 0xbc, 0xa1, 0x8a, 0xad, 0x17, 0xc7, 0xc4, 0xde, 0x09, 0x66, 0x12, 0x65, 0x8f, 0x64, - 0xdd, 0x1b, 0x3b, 0xc3, 0xcc, 0x51, 0xb0, 0xcc, 0x8a, 0x4a, 0xa1, 0x46, 0xf0, 0x6e, 0x75, 0xe4, - 0x42, 0xd4, 0x42, 0xf4, 0xae, 0x61, 0x1c, 0x6f, 0x75, 0xa4, 0x39, 0x9f, 0xc7, 0x26, 0x4f, 0x3a, - 0x47, 0x90, 0x93, 0x08, 0x65, 0xc1, 0xed, 0x55, 0x2a, 0x55, 0x0c, 0x71, 0x99, 0xf5, 0xb8, 0x04, - 0x55, 0x12, 0x02, 0x5f, 0xe9, 0xb3, 0x3a, 0x78, 0xff, 0x5b, 0x32, 0xce, 0x92, 0xbc, 0xe6, 0xc9, - 0x63, 0x8a, 0x16, 0x7e, 0x8d, 0xbf, 0x7c, 0x59, 0xde, 0xfb, 0xea, 0xa0, 0x16, 0x4e, 0x9f, 0x4d, - 0x73, 0x5b, 0x8d, 0xba, 0x5a, 0x90, 0x90, 0x9a, 0x2f, 0xe5, 0xc5, 0xf6, 0x08, 0x4d, 0x7b, 0x25, - 0xec, 0x42, 0xfb, 0x9a, 0x2e, 0xc9, 0xaf, 0xe1, 0xb2, 0x0d, 0xff, 0x75, 0x57, 0xa2, 0x4f, 0xf0, - 0x9e, 0x10, 0x36, 0x10, 0x19, 0x59, 0x08, 0x27, 0x83, 0xa4, 0x67, 0x73, 0xc3, 0xbf, 0x3c, 0xd0, - 0x37, 0xb1, 0xc5, 0x08, 0x82, 0xa4, 0xfa, 0xfe, 0x74, 0xbd, 0x36, 0x4d, 0x45, 0x21, 0x45, 0x7d, - 0x9b, 0x3c, 0xf0, 0x5f, 0x9f, 0x9f, 0x46, 0x70, 0x33, 0x72, 0x33, 0x18, 0x01, 0x55, 0x16, 0x40, - 0x23, 0xea, 0x1d, 0x4d, 0xff, 0x18, 0x76, 0x28, 0xd4, 0x1b, 0x9b, 0xab, 0x16, 0x18, 0x67, 0xbb, - 0xf2, 0x95, 0xf3, 0xd9, 0x72, 0xab, 0x79, 0x1a, 0x68, 0x33, 0x1f, 0xfe, 0x76, 0x41, 0x95, 0xa7, - 0x71, 0x1d, 0x3f, 0x25, 0xfc, 0x87, 0x0e, 0xf3, 0x9d, 0xd7, 0xdf, 0x45, 0xc0, 0xcf, 0x0a, 0xab, - 0x88, 0xf2, 0xbc, 0xf6, 0xde, 0xa3, 0x30, 0xe6, 0x84, 0x17, 0xe8, 0x5c, 0x8e, 0xcc, 0x08, 0x18, - 0xa4, 0xf3, 0x6d, 0x43, 0xd1, 0x3c, 0x22, 0xc8, 0x7d, 0xf8, 0x46, 0x83, 0xb5, 0x2b, 0xf8, 0x5b, - 0xb9, 0xe3, 0xa2, 0x2f, 0x39, 0xc1, 0x37, 0xf2, 0xf6, 0xf1, 0x97, 0xdb, 0x5d, 0x03, 0x6b, 0x83, - 0x9f, 0x2a, 0x8a, 0x3d, 0xa8, 0x2c, 0x29, 0xa1, 0x63, 0x80, 0x91, 0xab, 0x5c, 0x88, 0x8e, 0x8d, - 0x9e, 0x31, 0x89, 0xf5, 0x1b, 0xa4, 0x62, 0xdd, 0x4b, 0x25, 0x33, 0x2a, 0x42, 0x5d, 0x88, 0xb7, - 0x41, 0xb1, 0x4b, 0x40, 0xff, 0xbd, 0xee, 0xee, 0xcb, 0x1b, 0x3f, 0xb7, 0x9e, 0x4e, 0x10, 0xd6, - 0xdc, 0x9b, 0x9d, 0xc3, 0x70, 0x66, 0x3d, 0x40, 0xa3, 0x68, 0x2e, 0x77, 0x74, 0xf1, 0xc5, 0xd4, - 0x41, 0xd3, 0x8d, 0xaf, 0xad, 0xc9, 0x49, 0x47, 0xfc, 0xba, 0xfa, 0x0b, 0x0d, 0x52, 0xc7, 0xde, - 0x4d, 0xd2, 0xe5, 0x1f, 0xc8, 0x06, 0xe3, 0xbc, 0x7f, 0x20, 0x9b, 0xd5, 0xf7, 0xb2, 0x8e, 0x3a, - 0xf8, 0xe8, 0xd1, 0x85, 0x8a, 0x19, 0xed, 0x24, 0xdd, 0x13, 0xf1, 0xe5, 0xd2, 0x1b, 0x40, 0xf4, - 0x85, 0xed, 0x86, 0x21, 0x9c, 0xb6, 0xfe, 0x3c, 0x9e, 0xfb, 0x94, 0x44, 0xc4, 0x43, 0x19, 0x2d, - 0x77, 0xfe, 0xa8, 0x49, 0xbe, 0x40, 0x55, 0xad, 0xe5, 0x9f, 0x04, 0x67, 0xff, 0x45, 0xcd, 0x35, - 0xe5, 0xc6, 0x28, 0x61, 0xed, 0x40, 0x79, 0x02, 0x84, 0x0d, 0x34, 0x70, 0xb1, 0x92, 0x9c, 0x68, - 0x90, 0x26, 0x78, 0x0c, 0x19, 0x97, 0xbd, 0x0b, 0x91, 0x24, 0x6f, 0x17, 0x61, 0xe5, 0x63, 0x60, - 0x61, 0x09, 0x7b, 0xec, 0x98, 0xbb, 0xad, 0x7b, 0xbc, 0xaa, 0x92, 0xa7, 0x88, 0xd3, 0x2d, 0x23, - 0x5d, 0x79, 0x31, 0x40, 0x50, 0x95, 0x33, 0xb9, 0x5c, 0x48, 0x0a, 0x77, 0x37, 0x63, 0x3a, 0x09, - 0xed, 0x98, 0x5e, 0x89, 0x16, 0xac, 0xe1, 0x5f, 0x1e, 0x68, 0x7e, 0x7d, 0xce, 0xbf, 0x6a, 0xd7, - 0x41, 0xb5, 0x11, 0x7b, 0xfe, 0x6f, 0xec, 0xf1, 0xdc, 0x8b, 0x4c, 0x0c, 0xd1, 0xf0, 0xea, 0x9f, - 0x55, 0xb1, 0xfc, 0x3a, 0xfa, 0x6b, 0x58, 0x16, 0x26, 0xdb, 0x9e, 0xf1, 0x94, 0xce, 0xa9, 0x2f, - 0xed, 0x8f, 0x45, 0x5f, 0xad, 0x5a, 0x2b, 0x86, 0xe0, 0x8f, 0xdc, 0x96, 0xf9, 0xdc, 0xb8, 0x4c, - 0x1b, 0xdb, 0xd9, 0xa3, 0xe4, 0xf0, 0x94, 0x5f, 0x35, 0x0e, 0x89, 0xd5, 0x23, 0xc5, 0xb4, 0x2f, - 0x8b, 0xfd, 0xba, 0x61, 0xf1, 0x49, 0x38, 0xc1, 0x0d, 0x48, 0x6f, 0x93, 0x5b, 0xf3, 0x5e, 0xdf, - 0x21, 0x94, 0xd4, 0x51, 0x74, 0xc7, 0x0b, 0x55, 0x7b, 0xa1, 0xc9, 0xe3, 0x3d, 0x0c, 0x60, 0x1d, - 0xa6, 0x7f, 0x3c, 0xe7, 0x41, 0xfb, 0xe9, 0x40, 0x14, 0x2c, 0x9c, 0xf4, 0x22, 0x2a, 0xe6, 0x57, - 0x69, 0xef, 0x3c, 0x59, 0x4b, 0x8e, 0x61, 0x52, 0x61, 0x43, 0x22, 0xe5, 0x45, 0x42, 0xbe, 0xaf, - 0x97, 0xc9, 0x6d, 0x1b, 0x41, 0x06, 0x4e, 0x30, 0x20, 0x0c, 0x9a, 0x6e, 0xf2, 0x46, 0x4b, 0xe8, - 0x7f, 0xfc, 0xa1, 0x13, 0xe8, 0x67, 0x56, 0x19, 0x8d, 0x04, 0x15, 0xdf, 0xfb, 0xfc, 0x6a, 0xd0, - 0xe5, 0x23, 0xc3, 0xc6, 0x4e, 0x02, 0x31, 0x70, 0x93, 0x16, 0x48, 0x23, 0x82, 0xba, 0x73, 0xc3, - 0x6f, 0x18, 0x66, 0x14, 0xa1, 0x68, 0x9a, 0x54, 0xeb, 0xbd, 0x87, 0x34, 0xa7, 0x36, 0xf7, 0x34, - 0x47, 0xac, 0x6a, 0x29, 0x41, 0x06, 0x6b, 0x28, 0x20, 0x46, 0xd3, 0x22, 0xdc, 0x6a, 0x91, 0xaa, - 0xa3, 0x09, 0xd0, 0x13, 0xdc, 0x49, 0x0a, 0x57, 0xa9, 0x19, 0xa3, 0x57, 0x1b, 0x8f, 0xf8, 0x24, - 0xe0, 0x43, 0xbf, 0x53, 0x94, 0xf3, 0x80, 0xec, 0x23, 0xd2, 0xcc, 0xbc, 0x7f, 0xfb, 0x80, 0x44, - 0x19, 0x40, 0xac, 0xcd, 0x31, 0x61, 0xae, 0xab, 0x7e, 0xe2, 0xbb, 0xa1, 0x27, 0xba, 0xf0, 0x5b, - 0x29, 0xe8, 0x58, 0xe3, 0x14, 0xd3, 0x17, 0x73, 0xb1, 0x11, 0xf4, 0x13, 0xc4, 0xf5, 0xe9, 0xd9, - 0xea, 0xb9, 0x7b, 0x08, 0xf7, 0x9b, 0xfc, 0xe9, 0xa3, 0x8d, 0xce, 0xd8, 0xd4, 0x54, 0x97, 0xa1, - 0x74, 0x7d, 0x3d, 0xe6, 0x69, 0xa1, 0x3c, 0xcd, 0x8c, 0xcc, 0x41, 0x98, 0x09, 0xf7, 0xf2, 0xc0, - 0x60, 0x09, 0x21, 0x44, 0x8e, 0x1a, 0xab, 0x0b, 0x12, 0x30, 0xee, 0xf5, 0xbc, 0x9e, 0x66, 0xf2, - 0x38, 0x11, 0xa8, 0x83, 0x2e, 0x82, 0xc9, 0x31, 0xb2, 0x45, 0x9b, 0xcf, 0x37, 0x60, 0x90, 0xaf, - 0x2c, 0x4a, 0x44, 0xe2, 0x16, 0xb1, 0xea, 0xf0, 0x5c, 0x1b, 0x67, 0x5b, 0xa2, 0x78, 0x9a, 0xdb, - 0xb0, 0x5a, 0x4b, 0x5a, 0xda, 0xe7, 0xeb, 0x82, 0x2e, 0xc7, 0x0d, 0x07, 0xec, 0xef, 0x19, 0x61, - 0x57, 0x9b, 0xf1, 0x50, 0xf9, 0x6f, 0xec, 0x9c, 0xe2, 0xcc, 0x00, 0x99, 0x67, 0xf2, 0x73, 0xb7, - 0xeb, 0x78, 0x57, 0x26, 0xef, 0xa0, 0xbb, 0x4d, 0xc7, 0xec, 0x1c, 0x3a, 0xd7, 0x09, 0xb4, 0x79, - 0x04, 0x1d, 0x97, 0xee, 0x2e, 0x0f, 0x94, 0x4f, 0xec, 0x86, 0x0b, 0xb2, 0x4f, 0x78, 0xa9, 0x2e, - 0x51, 0xb4, 0x9a, 0x74, 0x2f, 0x00, 0x72, 0x8b, 0xd3, 0x25, 0x27, 0xa4, 0xf5, 0xca, 0x68, 0xcc, - 0x1c, 0x1e, 0x28, 0x4e, 0x79, 0x38, 0xd1, 0xe9, 0xa4, 0xbd, 0x7a, 0xcd, 0x40, 0x60, 0x1b, 0xa4, - 0xb8, 0x3c, 0x9b, 0xb5, 0x2d, 0x48, 0xc5, 0xbe, 0x1e, 0x73, 0xbf, 0xf4, 0x3c, 0x6e, 0xb3, 0x3d, - 0x06, 0x31, 0xe1, 0x26, 0xc9, 0x5e, 0x24, 0x51, 0xe2, 0xe3, 0xaf, 0x24, 0x04, 0x25, 0xaf, 0x1e, - 0xc5, 0x74, 0x77, 0x8b, 0xb2, 0x07, 0x16, 0x10, 0xe2, 0xf8, 0x64, 0xd5, 0x9b, 0x15, 0x32, 0x16, - 0x3c, 0xb7, 0xe3, 0x81, 0xf6, 0xd4, 0xf3, 0x0f, 0x7b, 0xee, 0xad, 0x21, 0x96, 0x79, 0x0e, 0xa4, - 0x8a, 0xa9, 0x5b, 0x3f, 0xda, 0x6f, 0x80, 0xd7, 0x39, 0x44, 0x75, 0x5a, 0xf4, 0xac, 0x26, 0xed, - 0xeb, 0xd0, 0x4e, 0x7a, 0x92, 0x85, 0xad, 0x85, 0x12, 0xc9, 0xb6, 0x3b, 0x63, 0xe8, 0x9d, 0x0d, - 0xc4, 0x80, 0x20, 0x8d, 0x4c, 0xe3, 0x1a, 0x87, 0x09, 0x35, 0xb2, 0x49, 0x48, 0xc2, 0xf2, 0x54, - 0xde, 0xe9, 0xaa, 0xd1, 0x31, 0xbb, 0xff, 0xe5, 0x72, 0x11, 0x81, 0xe8, 0xec, 0xf5, 0xf4, 0xe9, - 0xfa, 0x9e, 0x9a, 0x9e, 0xa9, 0x75, 0x4b, 0x65, 0xf6, 0x0d, 0x4f, 0x39, 0x35, 0xb6, 0x4d, 0x63, - 0x65, 0xcb, 0xaa, 0x5a, 0x4a, 0xc7, 0x80, 0x55, 0xe7, 0x31, 0x6c, 0x51, 0x21, 0xf9, 0x94, 0x88, - 0x55, 0xda, 0x8f, 0x93, 0x37, 0x85, 0xa7, 0x63, 0xcf, 0xdb, 0xde, 0x08, 0x0a, 0x8e, 0x0b, 0xd2, - 0xcf, 0xeb, 0x6f, 0xa7, 0x3b, 0xc5, 0x19, 0xec, 0xfe, 0xdc, 0x44, 0x57, 0xe0, 0xdf, 0xae, 0x2c, - 0xce, 0x43, 0x0e, 0xd0, 0xea, 0xbc, 0xac, 0x8a, 0x64, 0xa3, 0xc6, 0x63, 0xdc, 0x82, 0x64, 0x5a, - 0x94, 0x79, 0x7f, 0x69, 0x90, 0x39, 0x42, 0x81, 0xd9, 0x34, 0xb8, 0x90, 0xbb, 0x76, 0xb0, 0x92, - 0xde, 0x00, 0x14, 0x11, 0x54, 0xe7, 0xc6, 0xde, 0x24, 0x29, 0xf3, 0x48, 0x8d, 0xc7, 0x3d, 0x56, - 0x32, 0x1d, 0x5b, 0xdb, 0x2a, 0xff, 0x0e, 0x60, 0x63, 0x92, 0xac, 0xbe, 0x87, 0xef, 0xc7, 0x0f, - 0xa1, 0xc3, 0xe8, 0x54, 0xd3, 0x47, 0xcc, 0x11, 0xe5, 0xd6, 0xaf, 0xe1, 0x47, 0x70, 0x9d, 0xfe, - 0x17, 0x08, 0x11, 0x4a, 0x11, 0xdf, 0xaa, 0xe1, 0x15, 0x29, 0xf4, 0x1d, 0x64, 0xff, 0x05, 0x38, - 0x78, 0x8a, 0xe7, 0x28, 0x50, 0x04, 0x49, 0x5f, 0x5e, 0xc1, 0xfe, 0x98, 0xae, 0xd3, 0x62, 0x52, - 0xa7, 0x83, 0xc7, 0x09, 0x72, 0x76, 0x2d, 0x77, 0xc4, 0x16, 0x7a, 0x6c, 0x06, 0x42, 0x6d, 0xe1, - 0x28, 0x5d, 0xc7, 0xf0, 0xdf, 0x11, 0xce, 0x84, 0x4d, 0x51, 0xb7, 0x13, 0x5e, 0xa4, 0xbd, 0xd7, - 0x0e, 0xe1, 0x71, 0xf5, 0x5a, 0x1e, 0x1e, 0xf1, 0x4f, 0x69, 0x7f, 0xbf, 0xca, 0xfc, 0x9b, 0xb4, - 0xf4, 0x4a, 0xb2, 0x65, 0xa7, 0xe9, 0x1f, 0x72, 0x23, 0x9f, 0x6a, 0xb2, 0x39, 0xf6, 0x20, 0xf3, - 0x50, 0xd2, 0x5a, 0x34, 0x5d, 0x15, 0xc0, 0xfc, 0x8e, 0x00, 0x6e, 0xd8, 0x8c, 0x0d, 0xab, 0x8d, - 0x78, 0x56, 0xe8, 0x94, 0x06, 0xfd, 0x68, 0x09, 0x6c, 0x79, 0x81, 0x20, 0x25, 0xdb, 0xba, 0x99, - 0xc4, 0x7c, 0xe2, 0xe7, 0xd6, 0x67, 0xb4, 0x77, 0xb6, 0x40, 0xbb, 0xfa, 0x18, 0x6b, 0x29, 0x04, - 0x5d, 0x20, 0x85, 0xea, 0xc7, 0xab, 0x1c, 0xe4, 0x5e, 0x90, 0xfa, 0x50, 0x3c, 0xf7, 0xba, 0x8d, - 0x40, 0x39, 0x30, 0x6e, 0xf7, 0xb2, 0x35, 0x98, 0x91, 0x61, 0x71, 0xf1, 0xef, 0x95, 0x6e, 0xec, - 0x24, 0xb0, 0x6f, 0x77, 0x84, 0xf9, 0x1d, 0x6a, 0x1a, 0xfc, 0xf0, 0xbb, 0x2d, 0xaf, 0x26, 0x36, - 0x6e, 0xb7, 0xf4, 0xcc, 0x54, 0xbc, 0xb9, 0xeb, 0x9a, 0xa9, 0x39, 0xf8, 0x18, 0x6b, 0x86, 0x46, - 0xaa, 0x7d, 0x44, 0x3d, 0x61, 0xc5, 0xb1, 0x0a, 0xff, 0x02, 0xcf, 0x3f, 0x18, 0x81, 0x29, 0x53, - 0x36, 0xb3, 0xb9, 0x16, 0xd5, 0x94, 0xe0, 0x30, 0x71, 0x0d, 0x16, 0x39, 0xd0, 0xec, 0xb4, 0x7c, - 0x12, 0x1d, 0x90, 0xba, 0x3f, 0x17, 0xa5, 0x64, 0x99, 0x6b, 0xc7, 0x5f, 0x00, 0xee, 0x52, 0x34, - 0xaa, 0x91, 0xcf, 0x76, 0x1d, 0xf7, 0x87, 0xa1, 0xf1, 0x32, 0x11, 0x97, 0x9c, 0x13, 0x8b, 0x0b, - 0xaa, 0xa6, 0x8c, 0x1a, 0xd1, 0x82, 0xdb, 0x8a, 0x0c, 0x76, 0x39, 0x41, 0x69, 0xef, 0x7d, 0xe2, - 0x38, 0x0c, 0x59, 0xa7, 0x99, 0x08, 0x65, 0x46, 0x62, 0x07, 0x9c, 0xea, 0x4d, 0xc0, 0x80, 0x27, - 0x4b, 0x64, 0x2a, 0x81, 0x44, 0x55, 0x02, 0x17, 0x1d, 0xe1, 0x47, 0x0d, 0x94, 0xea, 0x84, 0x8a, - 0x90, 0x43, 0xca, 0x6d, 0x6b, 0xd1, 0xb5, 0xc3, 0x0c, 0x31, 0xbe, 0x92, 0xc2, 0x3a, 0x98, 0xa8, - 0x63, 0x71, 0xab, 0xb4, 0x61, 0xde, 0xcf, 0x6d, 0xbf, 0xf4, 0x4f, 0xf0, 0x7e, 0xdb, 0x47, 0xaf, - 0x8f, 0x64, 0x2d, 0x80, 0x3a, 0xe1, 0x3a, 0x4b, 0x06, 0x19, 0xd9, 0x76, 0x1f, 0xff, 0xfe, 0x2a, - 0xcf, 0xdb, 0xe6, 0xbf, 0x41, 0xa6, 0x50, 0xd8, 0xfd, 0x8f, 0x06, 0x61, 0x53, 0xe7, 0x89, 0x85, - 0x77, 0xde, 0x2b, 0xea, 0xab, 0x56, 0x1f, 0x35, 0x09, 0xa1, 0x29, 0x3a, 0x80, 0x5e, 0x42, 0x37, - 0xc5, 0x3d, 0x97, 0x7f, 0xb7, 0x63, 0x93, 0x4a, 0x3b, 0xe1, 0xd8, 0x2a, 0xe4, 0x3e, 0xd7, 0xdc, - 0xc3, 0xb3, 0xac, 0xc1, 0x86, 0x20, 0x94, 0x69, 0x49, 0x30, 0xfe, 0x46, 0x81, 0xca, 0xf6, 0x2e, - 0x8c, 0xa4, 0xab, 0x93, 0xeb, 0xee, 0x09, 0x05, 0x58, 0x91, 0xfb, 0x26, 0x08, 0x6b, 0xd1, 0x9b, - 0xa2, 0x98, 0x4c, 0xfc, 0x74, 0x56, 0xcc, 0x70, 0xaf, 0x5b, 0xf1, 0x42, 0x5f, 0x0e, 0x70, 0x50, - 0x99, 0x18, 0xda, 0x7b, 0x2f, 0x09, 0x36, 0xd2, 0x58, 0x30, 0xd2, 0xbf, 0x7f, 0x5d, 0xd8, 0x43, - 0x4d, 0x6e, 0x09, 0xdc, 0xfa, 0xc7, 0x58, 0x3c, 0x7d, 0x32, 0x06, 0x31, 0xd1, 0x05, 0x95, 0xed, - 0x41, 0x15, 0xb1, 0x97, 0xdb, 0x9e, 0x4c, 0x9a, 0x26, 0xbe, 0x03, 0xd9, 0x95, 0x14, 0xfa, 0xd3, - 0x5e, 0x40, 0x4e, 0x33, 0x27, 0xa8, 0xbc, 0xb4, 0x63, 0x65, 0x46, 0x1b, 0x0a, 0xe2, 0xf7, 0x4e, - 0x80, 0x7f, 0xfa, 0x40, 0x1c, 0x1c, 0x45, 0xb1, 0xab, 0xd1, 0x71, 0x8b, 0xbc, 0x9a, 0x57, 0x36, - 0x37, 0x51, 0xe0, 0x22, 0xae, 0xfa, 0x69, 0xcd, 0x8f, 0xd6, 0x94, 0x21, 0xac, 0xed, 0x4c, 0xd0, - 0x60, 0x75, 0xd1, 0x73, 0x21, 0x48, 0xfd, 0x18, 0x76, 0xa1, 0xfd, 0xd5, 0xeb, 0xcf, 0xe5, 0x2b, - 0x38, 0xb7, 0x98, 0xcd, 0xe2, 0xe2, 0x35, 0xbf, 0xb5, 0x02, 0x13, 0xce, 0xa4, 0x35, 0xde, 0x94, - 0xa9, 0x2e, 0xe8, 0x4f, 0x34, 0xc0, 0xa3, 0x32, 0xc7, 0xc3, 0x0c, 0xfc, 0xe3, 0xaa, 0x93, 0x9f, - 0x03, 0x1d, 0x28, 0x11, 0x6d, 0xf0, 0x05, 0x29, 0x45, 0x01, 0xb2, 0x9c, 0x2d, 0x71, 0x52, 0x24, - 0xcd, 0x5d, 0x1a, 0xc4, 0x70, 0x12, 0xc5, 0xdf, 0x9e, 0x49, 0x71, 0xcb, 0x23, 0xbe, 0xfd, 0x69, - 0x61, 0xb1, 0x48, 0x3f, 0xbc, 0x52, 0xf2, 0x6a, 0xa3, 0x48, 0xb0, 0xba, 0x76, 0x54, 0xdf, 0xab, - 0xfd, 0x82, 0x1e, 0x79, 0x8d, 0x8b, 0x8b, 0x47, 0x11, 0x67, 0xff, 0x07, 0x80, 0x00, 0x1c, 0xed, - 0xa0, 0x8d, 0x00, 0x3f, 0xfd, 0x74, 0xd6, 0xc0, 0x62, 0x59, 0xd1, 0xb7, 0xb9, 0x9b, 0xa7, 0xee, - 0x81, 0x51, 0x8b, 0x0c, 0x21, 0x14, 0x8e, 0x96, 0x18, 0x1c, 0x89, 0x0b, 0xf4, 0xe2, 0x90, 0x8f, - 0x90, 0x73, 0xb8, 0x7c, 0x82, 0xe0, 0xd7, 0x7b, 0xfd, 0x3c, 0xff, 0xac, 0x9a, 0x6d, 0x7c, 0xd5, - 0xf4, 0xcf, 0xaf, 0x88, 0x36, 0x99, 0x11, 0x92, 0x40, 0x4b, 0x1d, 0xbb, 0x06, 0x34, 0xac, 0xd4, - 0xa7, 0xa3, 0xf4, 0xe3, 0x20, 0x93, 0xb8, 0x0e, 0xc6, 0xbc, 0xbb, 0xe3, 0xcd, 0x11, 0x21, 0x3e, - 0x67, 0xe4, 0x04, 0x08, 0x25, 0x83, 0xfb, 0x4a, 0x2f, 0x8c, 0xdc, 0xf1, 0xe1, 0xfc, 0x50, 0xee, - 0x80, 0xa2, 0xab, 0xd9, 0xf8, 0xd8, 0xab, 0x2a, 0x09, 0xf7, 0x3f, 0x6d, 0x61, 0x87, 0xa5, 0xce, - 0x28, 0x97, 0xe8, 0x98, 0x70, 0x20, 0x1c, 0x3f, 0x6d, 0x13, 0x11, 0x2f, 0x62, 0x76, 0x4c, 0x9a, - 0x3b, 0x63, 0xf8, 0xbf, 0xf2, 0x9e, 0xf6, 0x52, 0x0e, 0xc0, 0xb0, 0xb9, 0xf6, 0x90, 0xd9, 0x9a, - 0x2f, 0x6b, 0x4b, 0x62, 0x4d, 0x67, 0xcb, 0xd9, 0x7a, 0x89, 0x24, 0x43, 0x45, 0x3d, 0x57, 0x5a, - 0x33, 0xeb, 0xa2, 0x70, 0x70, 0x5a, 0x37, 0xd6, 0x3e, 0xc3, 0x82, 0x36, 0x06, 0x0b, 0x1f, 0x39, - 0x3d, 0xaa, 0x44, 0x80, 0xf2, 0xf5, 0x5d, 0x67, 0xd5, 0x28, 0xa6, 0x14, 0x63, 0xda, 0xf3, 0xb5, - 0x80, 0x8a, 0x67, 0x53, 0x18, 0x14, 0x57, 0xd1, 0x09, 0xb4, 0x62, 0x50, 0xca, 0x10, 0x12, 0xd1, - 0x5d, 0xca, 0x07, 0xd0, 0x03, 0xdd, 0xbb, 0x3a, 0x88, 0xe1, 0x30, 0x6f, 0xde, 0x84, 0x10, 0x37, - 0xf7, 0x3d, 0x39, 0x7f, 0x34, 0x07, 0x4e, 0xe5, 0xa3, 0xb8, 0xd0, 0x99, 0xe4, 0xbd, 0x95, 0x03, - 0x82, 0x36, 0x25, 0x18, 0xe4, 0x38, 0x7b, 0x70, 0xa6, 0x45, 0xc3, 0x93, 0x27, 0xa2, 0x4d, 0xc6, - 0xa1, 0x2e, 0xdd, 0xb8, 0xc9, 0xd4, 0x4d, 0xd2, 0x43, 0xc7, 0x03, 0xe2, 0xf1, 0x77, 0xd5, 0xaf, - 0xfa, 0xae, 0x94, 0xaf, 0x28, 0x47, 0x4c, 0xc5, 0xa9, 0x35, 0xdf, 0xeb, 0xa7, 0xeb, 0x42, 0xc6, - 0x7a, 0x30, 0x24, 0x1f, 0x70, 0x27, 0xe3, 0xba, 0x03, 0xc3, 0xe4, 0x29, 0x1d, 0xa6, 0x9b, 0x1c, - 0x68, 0x23, 0xeb, 0x65, 0x5f, 0x15, 0xb3, 0xe5, 0x02, 0x43, 0x37, 0x25, 0x0a, 0xe9, 0x3a, 0xfc, - 0xdd, 0x5a, 0x8e, 0x0b, 0xc0, 0x1a, 0x45, 0xba, 0xce, 0x9d, 0x39, 0x0d, 0x0d, 0x80, 0x3c, 0x37, - 0x63, 0x07, 0x4e, 0x78, 0x6a, 0xc3, 0x90, 0x4c, 0x2d, 0x79, 0xa3, 0x01, 0x73, 0xf0, 0x0a, 0xd5, - 0x38, 0x78, 0x79, 0x50, 0x07, 0xbd, 0xcb, 0xc4, 0x4e, 0xef, 0x54, 0xdd, 0xe5, 0xe5, 0x7f, 0x7c, - 0x91, 0x9a, 0xad, 0x87, 0x31, 0xdf, 0xd7, 0x35, 0x81, 0x0f, 0xb4, 0x9f, 0x0f, 0xad, 0x23, 0xc7, - 0x37, 0x93, 0x89, 0xcd, 0x8e, 0x5e, 0xa9, 0x58, 0xe7, 0xc6, 0xa7, 0x30, 0xc0, 0x9d, 0x34, 0x12, - 0x7b, 0x06, 0x3a, 0xba, 0x49, 0x95, 0x0f, 0x9a, 0x2a, 0x8d, 0xa3, 0xde, 0x89, 0x63, 0x3d, 0x3e, - 0x4f, 0x9c, 0xa8, 0xca, 0xc6, 0xb3, 0x2a, 0x4a, 0x96, 0xe9, 0xf0, 0x25, 0x1b, 0x65, 0x4c, 0x53, - 0xce, 0xec, 0x0e, 0x4f, 0x69, 0xe1, 0xe0, 0xcd, 0x87, 0x5d, 0x06, 0xcf, 0x5d, 0x3f, 0x3d, 0xc3, - 0xad, 0xd3, 0x8d, 0xa7, 0xfa, 0x9d, 0x4b, 0x7f, 0x80, 0x21, 0x9c, 0x1d, 0x5b, 0x99, 0xd2, 0xbb, - 0x4a, 0xa4, 0xf7, 0x6b, 0x9b, 0x63, 0x79, 0x6d, 0x51, 0x14, 0x77, 0x63, 0xf0, 0x8b, 0xf2, 0xff, - 0x29, 0x0a, 0x7d, 0xc7, 0x27, 0xfc, 0x9d, 0xcf, 0xbc, 0x14, 0xef, 0x7b, 0xb6, 0xfd, 0x1f, 0xef, - 0xb4, 0x50, 0xfc, 0x6f, 0x86, 0x71, 0xe7, 0x34, 0x07, 0xd9, 0x94, 0xc5, 0x20, 0x0a, 0xe5, 0xb0, - 0xbe, 0xfc, 0x59, 0xc2, 0xf9, 0x9f, 0x4e, 0xb3, 0x6f, 0x92, 0x14, 0xa8, 0xef, 0xc3, 0x1b, 0x9e, - 0xf8, 0x24, 0x3a, 0xe7, 0x81, 0x19, 0x15, 0x06, 0xed, 0xde, 0x56, 0xe2, 0x56, 0x02, 0xb5, 0xd4, - 0xa5, 0x2c, 0xfa, 0x00, 0x69, 0x52, 0xdb, 0xa7, 0x29, 0xe6, 0xa1, 0xab, 0xbd, 0xd3, 0xee, 0x9f, - 0x18, 0xfa, 0x41, 0x77, 0x88, 0xc9, 0x21, 0xe3, 0xa2, 0x81, 0xba, 0x63, 0xa8, 0x73, 0xec, 0xa7, - 0xf8, 0x85, 0xf8, 0x07, 0x23, 0x12, 0xa7, 0x18, 0x6e, 0x17, 0xf6, 0x47, 0x8e, 0x5c, 0x9c, 0xa6, - 0x9b, 0x3d, 0x1e, 0x45, 0x7a, 0xb5, 0x89, 0x0f, 0xb5, 0xd4, 0xd9, 0xbd, 0xbb, 0x6c, 0x90, 0xa1, - 0xbd, 0xfb, 0x2a, 0xac, 0x0d, 0xc4, 0x8f, 0xa0, 0x98, 0x04, 0xdb, 0x04, 0x9a, 0x2e, 0x4b, 0xdc, - 0x7a, 0x22, 0x50, 0x3d, 0x8a, 0xd2, 0x3f, 0xe2, 0x8c, 0xc5, 0x71, 0xb6, 0x44, 0xc9, 0x6c, 0x9f, - 0x12, 0x05, 0xcc, 0xe9, 0x37, 0xd2, 0x68, 0xd8, 0x85, 0xdd, 0xde, 0xcb, 0x30, 0x1a, 0xbb, 0x66, - 0x7b, 0x34, 0x36, 0x3a, 0x0c, 0x0e, 0x61, 0xfe, 0x31, 0x0e, 0x5f, 0xc7, 0xe4, 0x13, 0x9e, 0xf7, - 0x18, 0xad, 0x96, 0x66, 0x75, 0xdf, 0xd6, 0x27, 0x35, 0xc0, 0x6d, 0x79, 0x24, 0x49, 0x0b, 0xe6, - 0x0a, 0x73, 0xcf, 0x00, 0xa2, 0x7f, 0xaa, 0x95, 0x9b, 0xf9, 0x44, 0xdf, 0xf3, 0xf6, 0xf6, 0xac, - 0xb3, 0xd0, 0x6d, 0x00, 0xf2, 0xeb, 0x5a, 0xd4, 0x5d, 0x2e, 0x86, 0xb5, 0xb7, 0x04, 0x9f, 0x01, - 0x86, 0xcc, 0xcf, 0x80, 0xce, 0x42, 0x94, 0xa7, 0xcd, 0x46, 0xe6, 0xc3, 0x93, 0x99, 0x67, 0x46, - 0x23, 0x72, 0x42, 0x0d, 0x7c, 0xe3, 0x75, 0xba, 0xe4, 0x3d, 0xaf, 0xb8, 0x9d, 0x6f, 0x3f, 0x69, - 0xbc, 0xe3, 0x83, 0xbc, 0x38, 0x8d, 0x43, 0x5d, 0x0c, 0x13, 0x8d, 0xf3, 0x1b, 0x1d, 0x6d, 0xcb, - 0xe4, 0x6f, 0xe0, 0x27, 0x0a, 0x32, 0x89, 0x53, 0xc9, 0xfb, 0xea, 0xa7, 0xcc, 0x54, 0x68, 0x0d, - 0xc8, 0x61, 0xeb, 0x4a, 0xd0, 0xa1, 0x66, 0x5d, 0xae, 0xba, 0xd3, 0x70, 0xe2, 0x0a, 0x7f, 0xd1, - 0xa7, 0x1f, 0xa8, 0xee, 0x8a, 0xf5, 0x57, 0x8f, 0x14, 0x1b, 0x69, 0x42, 0xae, 0x56, 0x53, 0x10, - 0x0e, 0x4f, 0xfa, 0x92, 0xe9, 0x08, 0xca, 0x92, 0x89, 0xc3, 0x8c, 0x7b, 0x97, 0xff, 0xe4, 0xe9, - 0x05, 0x32, 0x2a, 0xcd, 0x3b, 0x21, 0x4d, 0x46, 0xc7, 0x44, 0x29, 0xc6, 0xcb, 0xd3, 0xe4, 0x51, - 0x06, 0xe7, 0x30, 0xd8, 0xed, 0x1b, 0xbc, 0x38, 0x37, 0xcd, 0xc7, 0xf0, 0x55, 0xd2, 0x1b, 0x41, - 0x36, 0x2d, 0x48, 0xc8, 0x14, 0xad, 0x26, 0xf9, 0x26, 0x5d, 0x33, 0x8a, 0xab, 0x5f, 0x95, 0xc4, - 0x78, 0x3f, 0xae, 0x3e, 0x32, 0x84, 0x93, 0x72, 0x88, 0xf2, 0x6a, 0xeb, 0xa1, 0x07, 0x07, 0x18, - 0xd8, 0x2d, 0x29, 0xd7, 0xdb, 0xa3, 0x39, 0x1c, 0x21, 0xad, 0x2c, 0x2e, 0x2d, 0xb5, 0x03, 0x44, - 0xa6, 0xab, 0xc5, 0xf3, 0xab, 0x4d, 0xb6, 0x9b, 0xcf, 0x6c, 0x8d, 0x58, 0x6a, 0xa3, 0x28, 0xd0, - 0x1d, 0x86, 0x65, 0x45, 0x78, 0x92, 0x83, 0x9e, 0x9d, 0xf3, 0x92, 0xaa, 0xc7, 0x7f, 0xef, 0x24, - 0xa0, 0x35, 0x25, 0xfc, 0x40, 0x3c, 0xc4, 0xfc, 0x06, 0xe1, 0x1c, 0xc4, 0xe9, 0x20, 0x4b, 0x33, - 0x65, 0xe7, 0xd0, 0x8a, 0x68, 0xb5, 0x24, 0x96, 0xee, 0x5b, 0x89, 0x43, 0x20, 0x3e, 0x40, 0x27, - 0x57, 0x94, 0xc0, 0x4a, 0x5f, 0xea, 0x5a, 0x6c, 0x42, 0x8d, 0x27, 0xb7, 0xa6, 0x91, 0x2e, 0xe2, - 0x63, 0x2a, 0x4e, 0x78, 0xc6, 0x22, 0x9e, 0x12, 0x90, 0x9c, 0xb4, 0xe8, 0x47, 0x3a, 0xf3, 0x2e, - 0x28, 0xf2, 0x99, 0x1c, 0xf1, 0xf2, 0x47, 0x55, 0x2b, 0x99, 0x94, 0x53, 0x60, 0x35, 0xd8, 0xe1, - 0xf6, 0xbb, 0xb4, 0x5d, 0x90, 0x3c, 0x90, 0x55, 0xe5, 0xd2, 0x43, 0x62, 0x7a, 0x89, 0x57, 0x56, - 0x24, 0x9a, 0xe8, 0x67, 0x39, 0x56, 0xfb, 0x69, 0xe5, 0x6a, 0xc2, 0x63, 0x03, 0x74, 0xd6, 0x19, - 0x41, 0xb5, 0x4c, 0xd7, 0xb7, 0xa7, 0x32, 0x35, 0x25, 0xf4, 0x08, 0xb2, 0x6c, 0xc7, 0x62, 0xaa, - 0xf3, 0x4e, 0x8e, 0x28, 0x96, 0x6e, 0x59, 0x9d, 0x73, 0x6f, 0x4d, 0x7f, 0x24, 0x94, 0x5e, 0xc4, - 0xc1, 0xa8, 0x36, 0x0b, 0xdd, 0x22, 0xa3, 0xca, 0xe7, 0x85, 0x5b, 0x10, 0x92, 0xa4, 0xbc, 0x1b, - 0xf1, 0x0a, 0x96, 0xc2, 0x8e, 0x4b, 0x5a, 0x8e, 0xb2, 0xa6, 0x6e, 0xbe, 0x48, 0x52, 0x0f, 0x05, - 0x89, 0xd3, 0xc3, 0x14, 0x63, 0xf4, 0xa5, 0x6b, 0x10, 0x04, 0x39, 0x85, 0x06, 0xd9, 0x55, 0x57, - 0xa2, 0x90, 0x38, 0xfc, 0x2b, 0x6f, 0x7d, 0x0b, 0xc8, 0x1d, 0x36, 0x22, 0xbd, 0xd5, 0xa9, 0xfe, - 0x21, 0xca, 0x5a, 0x97, 0x40, 0x80, 0x95, 0xe2, 0x8d, 0xb6, 0xa0, 0xf1, 0x9a, 0x94, 0xb8, 0x1f, - 0x68, 0x50, 0x9f, 0xe1, 0x69, 0x47, 0xcc, 0xa9, 0x66, 0x96, 0xf9, 0xfd, 0xba, 0x20, 0x3a, 0x00, - 0x92, 0x76, 0x47, 0xbc, 0xc4, 0x85, 0xf5, 0x14, 0x58, 0x28, 0xc1, 0x77, 0x97, 0xf6, 0x8a, 0x6a, - 0xe3, 0xf6, 0x3c, 0x78, 0xe0, 0xa5, 0x0d, 0x1b, 0x92, 0x74, 0xff, 0x8b, 0xd6, 0x51, 0x8e, 0x5a, - 0xbb, 0x0d, 0xe6, 0x53, 0x81, 0xb9, 0xdc, 0x95, 0xd4, 0xc2, 0x9f, 0xd9, 0x4e, 0x9d, 0xea, 0xab, - 0x44, 0xe1, 0xff, 0x06, 0x1e, 0xef, 0x15, 0xd3, 0x51, 0x20, 0x51, 0xc4, 0x89, 0x54, 0xd6, 0xc1, - 0xce, 0x37, 0xd6, 0x6c, 0x38, 0xb3, 0xfc, 0x65, 0x50, 0x46, 0x7c, 0x9b, 0xd4, 0x5d, 0xab, 0x25, - 0xc0, 0xbb, 0xb5, 0xdf, 0xaf, 0x0a, 0xe0, 0xc0, 0xee, 0x56, 0xd6, 0xee, 0x7a, 0xad, 0xf1, 0xf2, - 0x00, 0xe6, 0x95, 0xc9, 0xfb, 0x5e, 0x19, 0x57, 0x8f, 0x30, 0x6b, 0xf9, 0x20, 0xa1, 0xfe, 0x83, - 0x70, 0x27, 0x91, 0x81, 0x23, 0xb6, 0xf7, 0xea, 0x54, 0x9b, 0xc3, 0xd0, 0x45, 0x6f, 0xc3, 0x47, - 0xdd, 0xa4, 0xf9, 0xbe, 0x00, 0x33, 0x7d, 0x18, 0xee, 0xfb, 0x19, 0xa2, 0x35, 0xc2, 0x73, 0x3b, - 0x66, 0xf1, 0x52, 0x8e, 0x51, 0x89, 0x25, 0xb3, 0x1f, 0x43, 0x72, 0x49, 0x45, 0x56, 0x57, 0x2e, - 0x5c, 0x9d, 0x3a, 0x0a, 0x4a, 0xae, 0xf7, 0xba, 0x06, 0x67, 0x29, 0xd1, 0xa7, 0xde, 0x29, 0xc3, - 0xe5, 0xba, 0xc9, 0x89, 0xe3, 0xc1, 0xf6, 0x41, 0x0e, 0x8d, 0x96, 0x2c, 0xf5, 0xe6, 0x7e, 0xcd, - 0x25, 0x8f, 0x1c, 0x63, 0x38, 0x23, 0xf0, 0x68, 0xe0, 0x7f, 0x2f, 0x41, 0xde, 0x33, 0x9f, 0xb1, - 0x04, 0x49, 0xb0, 0x48, 0x45, 0xec, 0x60, 0xfc, 0xe5, 0xb2, 0x58, 0x0a, 0x51, 0xce, 0x60, 0x0d, - 0xcd, 0x61, 0x50, 0x00, 0x1a, 0x72, 0xe3, 0xb5, 0x43, 0x29, 0x09, 0x65, 0xfb, 0x6f, 0xb0, 0x1e, - 0x21, 0x0b, 0x2b, 0x05, 0xd4, 0x70, 0x7f, 0x77, 0x4b, 0x14, 0x86, 0x0a, 0x3d, 0x05, 0xe8, 0x1b, - 0xaa, 0x64, 0x52, 0x1c, 0xeb, 0x65, 0xb6, 0x8f, 0x12, 0x08, 0x0a, 0x06, 0xd7, 0x09, 0x68, 0xbf, - 0x33, 0x86, 0xc3, 0xda, 0xb9, 0xf4, 0x1d, 0x24, 0xba, 0x5a, 0x45, 0x54, 0x29, 0xc6, 0x6a, 0x5c, - 0x76, 0x29, 0x51, 0x0b, 0x6f, 0x2f, 0x11, 0xfc, 0x92, 0x78, 0x7a, 0xc4, 0x7b, 0x38, 0x11, 0xbd, - 0x54, 0x74, 0xac, 0xdb, 0x38, 0xeb, 0xa8, 0xc1, 0xf0, 0xf2, 0x13, 0x11, 0xff, 0x05, 0x13, 0xec, - 0x74, 0x3f, 0xeb, 0x72, 0x1e, 0x05, 0xe8, 0x40, 0x15, 0x3c, 0x6e, 0x45, 0x71, 0x02, 0xc2, 0xf3, - 0x24, 0xaa, 0xc3, 0xed, 0xa1, 0x84, 0x1c, 0xac, 0xa2, 0xb2, 0x2d, 0xbc, 0x9d, 0x85, 0xcc, 0xb9, - 0x4d, 0x4a, 0xf4, 0x0d, 0x33, 0x67, 0x94, 0x28, 0xf5, 0x80, 0x77, 0xe8, 0x48, 0xa7, 0x8c, 0xea, - 0x22, 0xc8, 0x5a, 0x6e, 0xec, 0x00, 0x0c, 0x39, 0x1a, 0x57, 0xc1, 0x75, 0xab, 0x43, 0x2e, 0x9b, - 0xcb, 0x52, 0xee, 0xba, 0x88, 0x16, 0x4c, 0x47, 0x82, 0x02, 0xea, 0xa0, 0x14, 0xb6, 0x76, 0x9d, - 0x50, 0x7f, 0xa9, 0xf6, 0x03, 0x9b, 0xc8, 0x4b, 0x42, 0x3a, 0xab, 0x2c, 0x02, 0x6f, 0x7e, 0xd7, - 0x9c, 0xd9, 0xd2, 0x92, 0x9c, 0xde, 0x16, 0xee, 0x50, 0x95, 0xf5, 0xfe, 0x78, 0xf5, 0x8b, 0xb8, - 0x8b, 0x9b, 0x7e, 0x71, 0x4d, 0xfc, 0xbc, 0xbb, 0x4b, 0x13, 0x04, 0xb2, 0x8f, 0xc8, 0x38, 0x93, - 0xd7, 0x1e, 0x42, 0xe9, 0x40, 0x88, 0x6e, 0x2a, 0x96, 0x51, 0xbd, 0x15, 0x05, 0xed, 0xd8, 0x47, - 0x47, 0x78, 0xd7, 0x09, 0x15, 0xee, 0xd3, 0xeb, 0xdd, 0x72, 0xf0, 0x5b, 0xae, 0xc3, 0x68, 0x51, - 0xb5, 0x96, 0x34, 0x4d, 0x07, 0x7f, 0x5f, 0xb7, 0xe6, 0x8c, 0xe6, 0x47, 0x0f, 0x49, 0x4c, 0x67, - 0x95, 0xee, 0x4a, 0x90, 0x9e, 0x79, 0x07, 0xd9, 0x56, 0xa1, 0x2c, 0xc9, 0x67, 0xa9, 0x3a, 0x3c, - 0x19, 0x82, 0xa1, 0x61, 0x4d, 0x08, 0xd3, 0x0f, 0xc8, 0x8f, 0xe6, 0x7b, 0xd3, 0x09, 0xde, 0x34, - 0xb3, 0xed, 0xac, 0x31, 0x1b, 0x82, 0xea, 0xcb, 0xa1, 0x34, 0x35, 0x36, 0x56, 0xa8, 0x11, 0xd0, - 0x4f, 0xff, 0x72, 0xdc, 0x2a, 0x44, 0x23, 0x85, 0x01, 0xcf, 0xdb, 0x86, 0xa6, 0x85, 0x6e, 0xe8, - 0xb5, 0x81, 0xfc, 0x29, 0x2e, 0x52, 0x6a, 0x0e, 0xad, 0x23, 0x41, 0xcc, 0x80, 0x73, 0x82, 0x74, - 0x4c, 0x42, 0x42, 0x78, 0xcc, 0x06, 0xab, 0x58, 0x7b, 0xac, 0xea, 0xf1, 0x36, 0x6a, 0xac, 0x00, - 0xc2, 0x1e, 0x45, 0xaa, 0xfb, 0xdb, 0x1b, 0xf1, 0xad, 0x25, 0x93, 0x29, 0x03, 0x50, 0x54, 0xd9, - 0x0c, 0x24, 0x86, 0x12, 0xcb, 0xa0, 0x1d, 0x7d, 0x8f, 0xee, 0xf9, 0xd3, 0x00, 0xde, 0x49, 0xf3, - 0xef, 0xff, 0x8f, 0xfd, 0x99, 0x90, 0x63, 0xd7, 0xac, 0xbd, 0x33, 0x7a, 0xf7, 0x9c, 0xff, 0x57, - 0x12, 0x32, 0x54, 0x7c, 0x5e, 0xcf, 0xf2, 0x24, 0x53, 0x88, 0x6d, 0x58, 0x20, 0x86, 0x4d, 0x0d, - 0x5b, 0x22, 0xc4, 0xed, 0x2e, 0x8d, 0x04, 0x50, 0x71, 0x88, 0x9e, 0x63, 0xdc, 0x00, 0x37, 0xcc, - 0x78, 0x6e, 0x22, 0x7c, 0xdf, 0xb8, 0x42, 0xf2, 0xe8, 0xd4, 0x1b, 0xd3, 0x91, 0x52, 0x16, 0x21, - 0x0c, 0xa2, 0x69, 0x9e, 0x26, 0xc6, 0x8f, 0x01, 0x36, 0x45, 0x2b, 0x3e, 0xc6, 0x3e, 0xd1, 0xfe, - 0x10, 0xd7, 0x65, 0x2d, 0x32, 0xa5, 0x29, 0x11, 0x29, 0x3d, 0x0c, 0x48, 0xc1, 0xa2, 0xb2, 0x7c, - 0x1d, 0x8f, 0x64, 0x74, 0xee, 0xd2, 0x70, 0x82, 0x16, 0x3e, 0x71, 0xa2, 0xda, 0x49, 0xc2, 0x1b, - 0xc5, 0xcb, 0x05, 0x87, 0x92, 0x24, 0x2d, 0x58, 0xa7, 0x9f, 0x0a, 0x76, 0x50, 0x33, 0x75, 0x4f, - 0xbc, 0xfc, 0xfd, 0xc9, 0x12, 0x51, 0x63, 0x0f, 0x3c, 0xe0, 0x91, 0x91, 0xf4, 0x72, 0x7e, 0xc0, - 0xd7, 0xb2, 0x24, 0x09, 0xb9, 0x4a, 0xa8, 0x63, 0xcc, 0x43, 0xcf, 0x88, 0xc9, 0x0e, 0xe0, 0x6f, - 0x85, 0xad, 0x6b, 0x99, 0xdd, 0xeb, 0xba, 0xdd, 0xf6, 0x83, 0xce, 0x81, 0x93, 0xda, 0x26, 0x15, - 0x77, 0x06, 0xee, 0x29, 0x80, 0x7f, 0xa5, 0xec, 0x01, 0x8f, 0x6f, 0x5b, 0xfe, 0xb2, 0x28, 0x8c, - 0x88, 0xd9, 0x7e, 0xfa, 0x1e, 0x17, 0x97, 0x4f, 0x55, 0xd4, 0x5d, 0x2c, 0x7b, 0x77, 0x76, 0x33, - 0x7c, 0xaf, 0x26, 0x87, 0x4e, 0x9d, 0xd2, 0x74, 0xed, 0xc9, 0x45, 0xa8, 0xe9, 0x50, 0xa5, 0xc5, - 0xbe, 0xef, 0x0e, 0xb8, 0x2d, 0x6f, 0x10, 0xff, 0x2d, 0x34, 0x7d, 0x76, 0x32, 0x34, 0x67, 0xc2, - 0x14, 0xaf, 0x5f, 0xd0, 0x72, 0xce, 0x62, 0xb8, 0xb6, 0x06, 0x87, 0xe1, 0x1c, 0x05, 0x93, 0xfc, - 0xcb, 0x17, 0x10, 0xf4, 0xf2, 0x6d, 0x43, 0xf2, 0x36, 0x3b, 0x7c, 0x76, 0xdc, 0xd8, 0xd8, 0x94, - 0xed, 0x25, 0xee, 0x8e, 0xe5, 0xbd, 0xa3, 0xc8, 0x87, 0x07, 0x0d, 0x5b, 0x21, 0x11, 0x37, 0xe3, - 0xde, 0xb8, 0x19, 0x2e, 0x0c, 0x62, 0x82, 0x0d, 0x63, 0x8b, 0xc8, 0xc2, 0x95, 0x3d, 0x59, 0x0d, - 0x87, 0x3e, 0x2a, 0x75, 0xdf, 0x53, 0x28, 0x97, 0x2d, 0xeb, 0x85, 0xd8, 0x23, 0x16, 0x0e, 0x22, - 0xde, 0x7a, 0x4b, 0x1b, 0xbd, 0xeb, 0x65, 0x8a, 0x2a, 0xc6, 0x71, 0x8d, 0x11, 0x5c, 0xa6, 0xdf, - 0xd3, 0x22, 0xce, 0x21, 0xfc, 0xb6, 0xa0, 0xf3, 0x15, 0x1b, 0xe2, 0x08, 0x36, 0xb4, 0x7e, 0x4a, - 0x7d, 0xe6, 0x52, 0x3f, 0x3a, 0x4f, 0x6b, 0x9a, 0xa7, 0x14, 0xab, 0x74, 0x8f, 0xb6, 0x51, 0x3b, - 0x59, 0xa9, 0x4c, 0x22, 0x44, 0x3b, 0x08, 0x40, 0x82, 0xa1, 0xcd, 0x66, 0x7f, 0xce, 0x66, 0xf5, - 0x40, 0xf3, 0x6c, 0x81, 0x09, 0x46, 0x53, 0x74, 0x33, 0x58, 0x0b, 0x4f, 0xb4, 0x0d, 0x8e, 0x3e, - 0x38, 0x6f, 0xa5, 0x79, 0xea, 0x73, 0x33, 0x21, 0x34, 0xa2, 0xbe, 0x58, 0xc8, 0xf5, 0x54, 0x6a, - 0x71, 0x15, 0x80, 0xb7, 0xa1, 0x9f, 0x54, 0x31, 0x1a, 0xbf, 0x00, 0x6f, 0xfa, 0xf5, 0xc1, 0x2b, - 0x5c, 0x16, 0xf4, 0x13, 0xc9, 0x13, 0x84, 0x85, 0xb2, 0xe7, 0xde, 0xdf, 0x0c, 0xfb, 0xd0, 0xf8, - 0x9e, 0x8a, 0xe8, 0xe3, 0x93, 0x0f, 0xa2, 0x12, 0xd9, 0x8e, 0x92, 0xd1, 0x7e, 0x15, 0xb6, 0x0f, - 0x2f, 0x84, 0xb0, 0x48, 0x77, 0xdf, 0xb9, 0x98, 0x68, 0xba, 0xb8, 0xe6, 0x98, 0xac, 0x43, 0xf6, - 0x46, 0x07, 0xa9, 0xcd, 0x3c, 0x3d, 0xb4, 0x52, 0xe9, 0x9e, 0x42, 0x29, 0x15, 0x35, 0x7c, 0xee, - 0xfc, 0x35, 0x67, 0x1a, 0x5b, 0xd6, 0xcd, 0xab, 0x34, 0xe6, 0x9c, 0x37, 0x7f, 0x98, 0xc0, 0xf9, - 0xbf, 0xda, 0x0b, 0x8f, 0xe1, 0xbc, 0x54, 0x68, 0x33, 0x0f, 0xec, 0x8a, 0xc3, 0x7e, 0x70, 0xb4, - 0x8a, 0xcd, 0x86, 0x44, 0x76, 0x08, 0xf7, 0xff, 0x0c, 0xb7, 0x19, 0x7a, 0x21, 0xc0, 0x93, 0x0b, - 0x01, 0x6b, 0x54, 0x57, 0x40, 0x78, 0x23, 0x7b, 0x16, 0x63, 0xc9, 0x6e, 0xc7, 0x23, 0xd1, 0xf5, - 0xa7, 0x35, 0x44, 0x40, 0x02, 0x84, 0x49, 0x97, 0x04, 0xc0, 0xc8, 0x7f, 0x3e, 0xd6, 0xf2, 0xf7, - 0x28, 0x2b, 0x2b, 0x46, 0x77, 0x45, 0x6d, 0x2d, 0xbe, 0x50, 0xa4, 0xdf, 0xda, 0xad, 0x85, 0x6b, - 0x80, 0xc5, 0x92, 0xee, 0x83, 0xe4, 0x8a, 0x0f, 0x58, 0x1f, 0xa7, 0x67, 0xbf, 0x37, 0x7d, 0x2a, - 0x44, 0x4d, 0x3c, 0x93, 0xf0, 0x9e, 0xf9, 0x1e, 0x7f, 0xa0, 0x28, 0xea, 0x8e, 0x3c, 0xcd, 0xdb, - 0xfc, 0x92, 0xc8, 0xdc, 0x44, 0x10, 0xb3, 0x5b, 0xc1, 0x7d, 0x2e, 0x77, 0x37, 0x66, 0x74, 0x04, - 0x47, 0x3f, 0x4a, 0xbf, 0x3f, 0x63, 0x28, 0x0a, 0xb7, 0xa4, 0xc4, 0x99, 0x1c, 0xe4, 0xfa, 0x05, - 0x02, 0x5b, 0xef, 0x62, 0xbf, 0x6c, 0x34, 0xa9, 0x13, 0x94, 0xd0, 0x98, 0x78, 0xe1, 0x8d, 0xb6, - 0xff, 0x68, 0xd8, 0xd2, 0x3f, 0xcb, 0xbb, 0x79, 0xed, 0x00, 0x20, 0x6e, 0x36, 0xc8, 0xe4, 0xab, - 0xa0, 0x5b, 0x50, 0x06, 0xee, 0x55, 0xb8, 0x54, 0x8a, 0xed, 0x39, 0x2a, 0xef, 0x2b, 0x71, 0x6e, - 0xe0, 0x59, 0x15, 0x7e, 0xf4, 0x8e, 0xcc, 0x7a, 0x1a, 0x00, 0xce, 0x2f, 0xad, 0x27, 0x60, 0x26, - 0x90, 0xcb, 0xfc, 0xd9, 0xe8, 0xa8, 0x84, 0x46, 0x9f, 0x0b, 0x8e, 0xf1, 0x5d, 0x5b, 0xbb, 0xd1, - 0xe7, 0x59, 0x64, 0x13, 0x40, 0xf7, 0xa6, 0xb1, 0xf8, 0xfa, 0xfc, 0xb1, 0xdc, 0xc5, 0xd0, 0x16, - 0x5e, 0x1d, 0xce, 0x1c, 0xe5, 0xd1, 0x94, 0x97, 0x93, 0xf1, 0x59, 0xd2, 0xfc, 0xad, 0x66, 0x3f, - 0xab, 0x6b, 0xc8, 0x6c, 0xf2, 0xc4, 0x88, 0xc7, 0x20, 0x1c, 0xf5, 0x7d, 0x00, 0xfc, 0x57, 0x28, - 0x4f, 0xb8, 0xeb, 0x8a, 0x21, 0x4a, 0x26, 0xca, 0x71, 0x8e, 0x8e, 0xd8, 0xf7, 0xc1, 0xb5, 0x60, - 0xad, 0xdd, 0x68, 0x2d, 0x6a, 0xd2, 0x8c, 0x18, 0x45, 0xb2, 0xa1, 0x24, 0x4f, 0x01, 0x52, 0x96, - 0x0b, 0x07, 0xd2, 0x62, 0x0a, 0xf7, 0x9a, 0x94, 0x76, 0x45, 0x88, 0x85, 0xe9, 0xb0, 0x8a, 0xcf, - 0x48, 0x34, 0xb9, 0x11, 0xcd, 0x9c, 0x3e, 0xbe, 0x63, 0xba, 0x8a, 0xb2, 0x8d, 0xd9, 0x07, 0x0d, - 0xb0, 0x9b, 0x9f, 0x5f, 0x1b, 0x78, 0x98, 0xa2, 0x3c, 0x8a, 0x46, 0x8b, 0x56, 0xf4, 0x22, 0x0b, - 0xfb, 0x0e, 0x00, 0x87, 0x8c, 0x26, 0xe5, 0x94, 0x6b, 0x12, 0xb1, 0x80, 0xbb, 0x42, 0x20, 0xc7, - 0x26, 0x97, 0x72, 0x0d, 0xae, 0x27, 0x42, 0x43, 0x95, 0x7b, 0x0f, 0x32, 0x61, 0xe7, 0x82, 0xb8, - 0xe9, 0xfd, 0xa8, 0x5c, 0x03, 0xda, 0x85, 0x83, 0x33, 0x4b, 0xe4, 0x6f, 0x01, 0x12, 0xf7, 0x15, - 0x16, 0x7f, 0x87, 0xef, 0x5a, 0xce, 0x69, 0x4c, 0xc2, 0x93, 0x62, 0x5c, 0x4c, 0x80, 0x20, 0xf3, - 0x43, 0xf4, 0x19, 0xf9, 0x25, 0xce, 0xc4, 0x05, 0x0e, 0x16, 0xc3, 0x08, 0x4d, 0xe4, 0x7a, 0x8d, - 0xc4, 0x3b, 0xad, 0x73, 0x2d, 0xb1, 0xb3, 0x3f, 0x13, 0x51, 0xbd, 0xaf, 0x91, 0xc2, 0xaf, 0x6b, - 0xd6, 0x46, 0xca, 0x35, 0xf5, 0x1b, 0x0d, 0xad, 0x7e, 0xae, 0x0c, 0x24, 0x13, 0x99, 0xa7, 0xaf, - 0xc1, 0x0e, 0x28, 0x88, 0xeb, 0x66, 0xc6, 0xa5, 0x37, 0x8f, 0xd2, 0x97, 0x5a, 0x06, 0x2f, 0xa6, - 0x92, 0x9e, 0x27, 0x8f, 0x41, 0x3f, 0x15, 0x3d, 0x37, 0x02, 0xd1, 0x79, 0xe1, 0xd3, 0xe1, 0x12, - 0x18, 0x18, 0x64, 0xf6, 0xb9, 0x5e, 0x93, 0xdc, 0x19, 0x79, 0x83, 0xca, 0xa6, 0xdd, 0x35, 0xee, - 0x73, 0xa3, 0x64, 0xa5, 0xef, 0xb8, 0x99, 0xe9, 0xf8, 0xd5, 0xd9, 0xf1, 0x9d, 0xfb, 0x31, 0x93, - 0xed, 0x89, 0x91, 0xa5, 0x6a, 0x1b, 0x51, 0xa9, 0xdf, 0xe8, 0x94, 0x27, 0x1f, 0x79, 0xfd, 0x46, - 0xa1, 0xcb, 0x0a, 0xb6, 0x52, 0x10, 0xe1, 0xd9, 0x79, 0xd1, 0x7c, 0xda, 0xad, 0x16, 0xb3, 0x7d, - 0x71, 0x80, 0x5c, 0xdf, 0xcf, 0xbd, 0x2c, 0x42, 0x9d, 0x58, 0x30, 0xc2, 0xc3, 0x57, 0x04, 0x03, - 0xab, 0xbb, 0x2d, 0xa0, 0xdf, 0x18, 0xdb, 0x72, 0x70, 0x24, 0xe4, 0x5b, 0x74, 0x1a, 0x3e, 0x16, - 0xe8, 0xcb, 0x84, 0x72, 0x8e, 0x2a, 0x1d, 0x63, 0xe6, 0x62, 0x8a, 0x17, 0x4e, 0xf4, 0x76, 0xb5, - 0x4c, 0xcd, 0x7e, 0x72, 0x5b, 0xb4, 0x88, 0xe4, 0xf8, 0x64, 0x23, 0x13, 0xa2, 0xaf, 0xd8, 0xe7, - 0x40, 0x1c, 0xaf, 0x84, 0x9b, 0xd6, 0xc3, 0xee, 0xdd, 0x6b, 0xa6, 0xf2, 0x8e, 0xf3, 0x33, 0x79, - 0xde, 0x7d, 0x95, 0xf2, 0xd0, 0x4d, 0xd0, 0xfa, 0x05, 0xdb, 0x58, 0x69, 0x53, 0x9c, 0x9e, 0xbf, - 0xcf, 0xa6, 0x02, 0xa6, 0x8e, 0xe2, 0xd8, 0x37, 0x5e, 0x79, 0x23, 0x18, 0xae, 0xc0, 0x8b, 0x6c, - 0xfa, 0xde, 0x4b, 0xa8, 0x96, 0x16, 0x0c, 0x87, 0xda, 0xd7, 0x80, 0x2a, 0xca, 0x76, 0xa0, 0x0d, - 0x1d, 0x7a, 0x77, 0xa4, 0x20, 0x1a, 0xb6, 0x1a, 0x94, 0x25, 0x86, 0xdb, 0xc1, 0x58, 0x0b, 0xb8, - 0x97, 0x55, 0x86, 0xb8, 0xdc, 0xcf, 0x8f, 0x39, 0x1e, 0x5e, 0xf6, 0x28, 0x13, 0xa9, 0x3e, 0x4b, - 0xa2, 0x23, 0xef, 0xc3, 0x5e, 0xad, 0x5d, 0x36, 0xed, 0x91, 0xc6, 0x46, 0x93, 0x3a, 0x04, 0x56, - 0x65, 0xc7, 0x27, 0xbd, 0x9e, 0xb8, 0xf1, 0xcf, 0x1a, 0x80, 0x1f, 0xdd, 0x21, 0xad, 0x0b, 0xbf, - 0xeb, 0x60, 0xda, 0x8d, 0x54, 0x0f, 0x8a, 0x23, 0x08, 0x13, 0xf0, 0xf5, 0x8c, 0x25, 0x43, 0xd7, - 0x26, 0x21, 0x98, 0x46, 0xa5, 0x85, 0x3d, 0x10, 0x63, 0x9a, 0x29, 0x3f, 0x9a, 0x45, 0x15, 0x5b, - 0xbe, 0x8e, 0x22, 0x80, 0x06, 0xd3, 0xeb, 0x95, 0x33, 0x1c, 0x2a, 0xec, 0xd0, 0x45, 0x52, 0x8d, - 0xbc, 0x4e, 0x68, 0xd1, 0xb2, 0x85, 0xe3, 0x60, 0xa9, 0x76, 0x84, 0x17, 0xb7, 0xe4, 0xf0, 0xec, - 0xc9, 0xd7, 0x5a, 0xfa, 0x4d, 0x01, 0x48, 0x48, 0x1f, 0xd9, 0x97, 0x89, 0x20, 0x4b, 0x09, 0x4e, - 0x84, 0xc1, 0xdb, 0x03, 0xde, 0x0c, 0x10, 0x78, 0x8e, 0xce, 0xc3, 0x05, 0xf7, 0x49, 0x79, 0xe4, - 0x63, 0xbc, 0x87, 0x29, 0x6b, 0xf5, 0x7a, 0xf0, 0x7c, 0x1b, 0x29, 0xe2, 0x1a, 0x82, 0x6d, 0x87, - 0x32, 0x2d, 0x18, 0x6b, 0x1a, 0x81, 0xf5, 0xbc, 0x09, 0xbe, 0xa7, 0x14, 0x71, 0x9b, 0xc7, 0xe9, - 0x56, 0x50, 0xf7, 0x1a, 0x02, 0x9b, 0xa9, 0x48, 0x44, 0x5e, 0x30, 0xe1, 0x70, 0x02, 0x69, 0xf7, - 0xad, 0x6b, 0x9d, 0x6a, 0x87, 0xc7, 0xf6, 0x91, 0x9a, 0x3c, 0x77, 0x8e, 0x0e, 0xf3, 0x07, 0x37, - 0x49, 0x27, 0xe2, 0xbc, 0x79, 0x5a, 0x4e, 0x79, 0x92, 0x7a, 0x2c, 0x49, 0x8e, 0x72, 0x5b, 0xcd, - 0x12, 0x2d, 0x4d, 0x8b, 0x3b, 0xee, 0xf8, 0x33, 0x7a, 0x6b, 0x15, 0x8e, 0x14, 0xb5, 0x21, 0x5e, - 0x7b, 0x96, 0xc4, 0xcf, 0x2e, 0x8a, 0x33, 0xfb, 0x1d, 0x7b, 0xf4, 0xab, 0x10, 0x69, 0x05, 0x8b, - 0x97, 0x85, 0xb8, 0xf5, 0x19, 0x04, 0xcd, 0x66, 0xc0, 0xa5, 0x3f, 0x7d, 0x77, 0x47, 0x6a, 0x49, - 0x59, 0xaa, 0x30, 0xd7, 0x8b, 0xaa, 0xde, 0x38, 0x3a, 0xc7, 0x41, 0x79, 0xfd, 0xaa, 0x8a, 0xde, - 0xe9, 0x38, 0x0d, 0x57, 0xe2, 0x4d, 0xa2, 0x37, 0x79, 0x41, 0x1b, 0xef, 0x8f, 0x9b, 0x58, 0x26, - 0xe4, 0x1b, 0x75, 0x68, 0x06, 0x90, 0xd1, 0xd8, 0x11, 0x61, 0x15, 0xb1, 0x96, 0x94, 0xd9, 0x0d, - 0xc4, 0xb5, 0x5a, 0x5b, 0x5d, 0x8f, 0xba, 0x44, 0xe2, 0x2c, 0x01, 0x3c, 0x34, 0xea, 0x76, 0x63, - 0x61, 0xf3, 0xf2, 0xa9, 0x77, 0x82, 0x5d, 0x1c, 0x7b, 0xd0, 0x38, 0x82, 0xbc, 0x48, 0xeb, 0x41, - 0x9e, 0xe7, 0x29, 0x80, 0xfd, 0x07, 0xbf, 0x56, 0xec, 0x16, 0xf3, 0x13, 0x6f, 0x35, 0x04, 0x28, - 0xf3, 0x2d, 0xec, 0xeb, 0x79, 0x15, 0xef, 0x48, 0x5a, 0xf3, 0x31, 0x97, 0xdf, 0x73, 0xbd, 0xd9, - 0xaa, 0x4b, 0x11, 0xb2, 0xc6, 0xdb, 0x9a, 0x7e, 0x01, 0x1d, 0xcf, 0xf8, 0x75, 0xd2, 0xaa, 0x15, - 0x11, 0x1d, 0xc7, 0xf1, 0x0c, 0x90, 0xdd, 0x81, 0xab, 0x06, 0xa5, 0xf4, 0x47, 0xd7, 0x57, 0x66, - 0xd1, 0x0b, 0xb2, 0xb3, 0x66, 0xdc, 0xed, 0x2b, 0xb5, 0x0a, 0xb5, 0xc3, 0x9b, 0x59, 0x45, 0x21, - 0x0d, 0xd7, 0xa1, 0x29, 0xa9, 0x93, 0x39, 0xae, 0x26, 0xd2, 0x6d, 0x1e, 0xb2, 0x60, 0x80, 0x44, - 0xe1, 0xf9, 0xe8, 0xed, 0xa5, 0xa6, 0x1e, 0x84, 0x36, 0x24, 0xf9, 0x7f, 0xca, 0xca, 0x6c, 0xf6, - 0x8d, 0x6f, 0xf7, 0x3e, 0x70, 0xe6, 0x05, 0x6f, 0x3e, 0xfd, 0x93, 0x0c, 0xd7, 0xc3, 0xa3, 0xfd, - 0xed, 0xcd, 0xc8, 0x51, 0x65, 0xf2, 0x18, 0xec, 0x30, 0x5a, 0xb1, 0xce, 0x89, 0x71, 0xb2, 0x61, - 0x2b, 0x33, 0xfc, 0x54, 0x31, 0x52, 0xad, 0x25, 0xee, 0xba, 0x45, 0x54, 0x3e, 0x97, 0x45, 0x20, - 0x5c, 0x6b, 0x98, 0x62, 0xd0, 0x3f, 0x3e, 0x74, 0xba, 0xc8, 0xdf, 0xc4, 0xb1, 0xa3, 0xe8, 0x73, - 0xfa, 0x26, 0xc2, 0xd8, 0x20, 0x6f, 0x24, 0x62, 0x9d, 0xce, 0xad, 0xdf, 0x06, 0x35, 0x90, 0x07, - 0x87, 0xc2, 0xe1, 0x3a, 0xe8, 0xcc, 0x86, 0x0f, 0xd2, 0x51, 0x0d, 0x6c, 0x02, 0x5e, 0xca, 0x83, - 0x48, 0xee, 0xe6, 0xa6, 0x9c, 0x16, 0x95, 0x80, 0x1e, 0x05, 0x03, 0x40, 0xbb, 0xcc, 0xeb, 0x84, - 0xb5, 0x0e, 0xd8, 0x85, 0x04, 0x55, 0x21, 0x52, 0xf7, 0xec, 0xc4, 0x1b, 0xa3, 0xd2, 0xc1, 0x48, - 0x14, 0xb7, 0x76, 0xb9, 0xaa, 0x57, 0xce, 0x9a, 0x97, 0x57, 0x3a, 0xf3, 0x02, 0xd7, 0xeb, 0x87, - 0x17, 0x65, 0x87, 0xf5, 0x4d, 0xde, 0xf0, 0xcd, 0x85, 0xca, 0x0f, 0x4d, 0x13, 0x68, 0x1e, 0x6d, - 0x20, 0xbd, 0xe2, 0x3f, 0xb1, 0x48, 0xf4, 0xfa, 0x50, 0x67, 0xfb, 0xcc, 0x0f, 0x55, 0x1d, 0x51, - 0x05, 0x50, 0xd2, 0x87, 0x54, 0x80, 0x0f, 0x15, 0x68, 0x08, 0x4a, 0x38, 0x4f, 0x7e, 0x5a, 0xee, - 0xd6, 0x5b, 0x36, 0x85, 0x36, 0xca, 0x53, 0xec, 0x93, 0x6b, 0xf0, 0xa5, 0x99, 0xc7, 0x34, 0x28, - 0x3c, 0x25, 0x5c, 0xa3, 0x8b, 0xa9, 0x1c, 0xfa, 0x26, 0x77, 0xd5, 0x8e, 0x16, 0x3d, 0x7f, 0xdb, - 0x6d, 0xdb, 0xb6, 0x39, 0x63, 0xec, 0xc9, 0x99, 0xb3, 0x70, 0x38, 0x69, 0x75, 0xe3, 0xff, 0xf0, - 0x14, 0x75, 0x4e, 0x20, 0x73, 0x03, 0xcd, 0xf9, 0x59, 0xcf, 0x93, 0x7c, 0xf7, 0x93, 0xf0, 0x39, - 0xde, 0x21, 0xe1, 0x26, 0x91, 0xc8, 0x6f, 0x4c, 0x43, 0x42, 0x8d, 0x1a, 0xcf, 0xdf, 0x90, 0x7e, - 0x1d, 0xaf, 0x06, 0xb7, 0x05, 0x20, 0x40, 0x61, 0x55, 0x7b, 0xc3, 0x3b, 0x98, 0x4c, 0x47, 0xb4, - 0xf8, 0xb4, 0xae, 0x69, 0x99, 0x8d, 0xea, 0x3b, 0x99, 0x4e, 0xd2, 0x17, 0x28, 0xd8, 0xb1, 0x27, - 0x52, 0x7d, 0xcf, 0x18, 0x88, 0xd0, 0x06, 0xf3, 0x36, 0x42, 0xea, 0x99, 0xb3, 0xdb, 0x8a, 0xab, - 0x46, 0x83, 0x94, 0xb4, 0xdc, 0x78, 0x52, 0xbe, 0x20, 0x4d, 0xf4, 0x6f, 0xe4, 0xb1, 0x09, 0xa6, - 0x49, 0xa1, 0x8e, 0xdd, 0xff, 0x37, 0xe2, 0x5f, 0x8e, 0xab, 0xa2, 0x8d, 0x74, 0x56, 0xe9, 0x44, - 0xa3, 0x97, 0xa0, 0xdf, 0x0d, 0x37, 0x32, 0xdd, 0x60, 0x2b, 0x09, 0xab, 0xfb, 0x1b, 0x2a, 0x9a, - 0x4b, 0x2a, 0xc6, 0xfc, 0xc3, 0x8e, 0x2b, 0x89, 0xba, 0xb5, 0xb8, 0xf8, 0x03, 0x71, 0xed, 0x7f, - 0xc5, 0x8d, 0x08, 0xf5, 0x01, 0x0a, 0xfc, 0xc4, 0x27, 0x21, 0x8b, 0x8b, 0x9d, 0x0b, 0x69, 0x44, - 0x94, 0xad, 0x17, 0xb5, 0x27, 0x0a, 0x66, 0x42, 0xb3, 0xb5, 0x4c, 0x01, 0xfc, 0x2e, 0x7a, 0xf3, - 0x3a, 0x71, 0x29, 0x45, 0xf5, 0x20, 0x1d, 0x02, 0x9a, 0x10, 0x72, 0xe3, 0xf3, 0xf3, 0xbc, 0x61, - 0x5e, 0x94, 0xe6, 0xbc, 0x43, 0xdf, 0x9c, 0x54, 0xe4, 0x14, 0x8b, 0xe5, 0xb8, 0x50, 0x1e, 0x98, - 0x19, 0xa6, 0xd9, 0xc1, 0x60, 0x2d, 0xab, 0x07, 0x67, 0x13, 0xe5, 0x23, 0x81, 0x16, 0x62, 0x4b, - 0xb9, 0x99, 0xf9, 0x80, 0x71, 0xcd, 0x7c, 0x8b, 0x04, 0xf2, 0xb5, 0xd2, 0x76, 0xb9, 0x38, 0x69, - 0x54, 0x26, 0x35, 0xc3, 0xaa, 0x32, 0x6b, 0x3d, 0x92, 0xf8, 0x84, 0x21, 0x5d, 0x98, 0x40, 0xa5, - 0xf9, 0x66, 0xc5, 0x3d, 0xca, 0xf2, 0x4e, 0x50, 0xfd, 0x39, 0x5c, 0xea, 0x8c, 0xe0, 0x0d, 0x1a, - 0x30, 0xbf, 0x6d, 0x1f, 0xbe, 0xed, 0x02, 0x1a, 0xc7, 0x28, 0xa3, 0x2d, 0x15, 0xe2, 0x40, 0xbe, - 0xc7, 0xac, 0x36, 0x6b, 0x30, 0xa4, 0xa6, 0xaa, 0x11, 0xca, 0x4a, 0x9d, 0x26, 0x1a, 0x9b, 0x9d, - 0x73, 0x48, 0xc2, 0xbb, 0x5c, 0x22, 0x5b, 0x53, 0x27, 0x17, 0xfa, 0x27, 0x75, 0x82, 0xeb, 0x0b, - 0xd7, 0xf5, 0x11, 0x59, 0xcf, 0xfb, 0x48, 0x93, 0x81, 0x44, 0x4d, 0x9f, 0xab, 0x68, 0x90, 0x8f, - 0x30, 0x14, 0xc2, 0x94, 0x62, 0xe2, 0xd8, 0xfb, 0x80, 0x5e, 0x08, 0x1d, 0x5d, 0xb6, 0x9c, 0x2d, - 0x81, 0x41, 0xcd, 0xa3, 0x91, 0xec, 0x70, 0x45, 0x33, 0x47, 0x23, 0x13, 0xe4, 0x4e, 0xbe, 0xf5, - 0x83, 0x22, 0xa4, 0xda, 0xd7, 0x72, 0x4f, 0x1d, 0x2c, 0x48, 0x4e, 0x32, 0x89, 0xb5, 0xa4, 0xa6, - 0x2a, 0x39, 0x47, 0x98, 0xb5, 0x83, 0x2f, 0x83, 0x49, 0x77, 0x96, 0x97, 0x98, 0xbb, 0x78, 0x33, - 0xd1, 0x3e, 0xb5, 0xc4, 0xe7, 0xcf, 0x1a, 0x08, 0x1d, 0x64, 0x77, 0x74, 0x33, 0x54, 0xaa, 0x38, - 0xb8, 0x06, 0x1f, 0x7c, 0xc9, 0x8b, 0x38, 0x1d, 0x96, 0x3c, 0xd0, 0x2a, 0x6b, 0xcd, 0x52, 0xa8, - 0x61, 0xc2, 0x98, 0x9c, 0x9d, 0xac, 0x4f, 0xad, 0x29, 0x9e, 0xf9, 0xa9, 0x1a, 0xb3, 0xda, 0xb9, - 0x6c, 0x80, 0xcb, 0xd6, 0x45, 0x71, 0xd9, 0xe8, 0xa9, 0x79, 0x77, 0x60, 0x13, 0x56, 0xf4, 0xc6, - 0xe3, 0x76, 0x7c, 0xda, 0xdc, 0x6c, 0xfc, 0x1a, 0xe7, 0xe3, 0x5f, 0x51, 0x78, 0x61, 0x1c, 0xac, - 0xe6, 0x99, 0xdc, 0xa0, 0xf2, 0xde, 0x81, 0x4f, 0xe2, 0xe0, 0x79, 0x27, 0xde, 0xcb, 0x2b, 0x38, - 0xcc, 0xa0, 0xa4, 0x10, 0xd9, 0x13, 0x47, 0x3b, 0x40, 0xe9, 0x82, 0x8f, 0x78, 0x11, 0x2d, 0x47, - 0x1f, 0xf6, 0x80, 0xc8, 0xf8, 0xd2, 0x0e, 0xbe, 0x7c, 0xd1, 0xe3, 0x12, 0xc5, 0xb7, 0x3b, 0xa0, - 0x6f, 0x5a, 0x26, 0x4e, 0xf5, 0x3a, 0xd6, 0xb7, 0x88, 0xf8, 0xa8, 0x2a, 0x18, 0x88, 0x4c, 0x1a, - 0xea, 0x23, 0x89, 0xe4, 0xf5, 0x65, 0x88, 0x10, 0xe1, 0x84, 0xa3, 0xce, 0x2b, 0xdb, 0x79, 0xe6, - 0x85, 0x7a, 0x9e, 0x08, 0xe4, 0xfd, 0xa7, 0xc1, 0x1d, 0x3f, 0x8b, 0x15, 0xa2, 0x4a, 0xbe, 0x1d, - 0xd6, 0xa1, 0x2e, 0xe2, 0x81, 0x41, 0xc5, 0x74, 0x81, 0xf9, 0xd2, 0x07, 0xa1, 0x67, 0xa8, 0xb4, - 0xcb, 0x28, 0xdb, 0x1a, 0x58, 0xd1, 0x19, 0xd6, 0x2a, 0x92, 0xd9, 0x3c, 0x1a, 0x11, 0x3a, 0x86, - 0x58, 0xb4, 0x37, 0x35, 0x85, 0x53, 0x89, 0x18, 0x82, 0xf1, 0x09, 0xb9, 0x76, 0x9e, 0x2f, 0x34, - 0xca, 0xb2, 0xa6, 0xdf, 0xed, 0xa6, 0x4d, 0x65, 0x6a, 0x3b, 0x8d, 0xe8, 0xd3, 0x92, 0x7e, 0x2c, - 0x4b, 0x4f, 0x5c, 0x5b, 0xe3, 0xb7, 0x09, 0xe5, 0x33, 0x8f, 0x2f, 0xf8, 0xad, 0xf7, 0x17, 0xc7, - 0x81, 0xa7, 0xe7, 0x19, 0x62, 0x54, 0x64, 0xfe, 0xcb, 0x75, 0x57, 0xab, 0xbc, 0x9c, 0xb4, 0x89, - 0xc8, 0xa6, 0x85, 0x0c, 0xcd, 0xfc, 0x92, 0x8f, 0xa8, 0x45, 0x5f, 0x3d, 0x7d, 0x8d, 0x42, 0x49, - 0x5e, 0xb2, 0x7a, 0x23, 0x66, 0x9d, 0x5b, 0xb2, 0x6b, 0x13, 0x8f, 0xd6, 0x0b, 0x95, 0x7d, 0x8f, - 0xef, 0x2e, 0x8b, 0xc6, 0x4f, 0xa0, 0x7c, 0xed, 0x55, 0xbd, 0x6c, 0x6a, 0xb1, 0x4b, 0x89, 0x79, - 0xdc, 0x55, 0x9b, 0x8d, 0x58, 0x9d, 0x29, 0x25, 0x90, 0x95, 0x1b, 0x81, 0xe9, 0x37, 0x9a, 0x08, - 0xa9, 0x45, 0xd6, 0xaa, 0x66, 0x45, 0xf8, 0x08, 0x9b, 0x54, 0x8c, 0x6b, 0x84, 0x1b, 0x50, 0xaa, - 0xb6, 0xc4, 0xd8, 0x48, 0xaf, 0x2b, 0x6d, 0x71, 0x8d, 0xa7, 0x46, 0x51, 0x7b, 0x17, 0x5e, 0x2b, - 0x73, 0xd1, 0x20, 0x9d, 0x83, 0x94, 0x9c, 0x29, 0xda, 0x64, 0xae, 0x82, 0x10, 0xa1, 0x6a, 0x7e, - 0x12, 0x06, 0x4d, 0xc3, 0x02, 0xe8, 0x06, 0x5d, 0xba, 0xa3, 0x58, 0x13, 0xbb, 0x09, 0x2e, 0xf3, - 0x3e, 0x6e, 0xf5, 0xfb, 0x08, 0xc5, 0xc1, 0xa9, 0x1b, 0xda, 0x57, 0x09, 0xe9, 0x26, 0x07, 0x63, - 0x53, 0x03, 0xcb, 0x4b, 0xbc, 0xeb, 0x0f, 0x95, 0x69, 0x8b, 0x67, 0xaa, 0x0c, 0xd4, 0x7d, 0xc3, - 0x0e, 0xf3, 0x27, 0x69, 0x4d, 0x72, 0x9a, 0x61, 0x6e, 0x26, 0x0b, 0x2e, 0xd7, 0x6b, 0xf4, 0x42, - 0x8f, 0x92, 0xd5, 0x79, 0x3e, 0xec, 0x87, 0xd0, 0x45, 0xec, 0xd5, 0x6d, 0xad, 0x14, 0x75, 0x6a, - 0x34, 0x50, 0x4e, 0x7a, 0x46, 0x31, 0xbd, 0x81, 0xde, 0x3f, 0x97, 0xbe, 0xdb, 0x7d, 0x92, 0x0a, - 0xf9, 0xac, 0xac, 0x69, 0xcf, 0xc3, 0xbe, 0xa3, 0xfb, 0x26, 0x7e, 0x7e, 0xf6, 0xc9, 0x2c, 0x24, - 0xf7, 0xbe, 0xaa, 0xff, 0x42, 0x03, 0x11, 0x73, 0xd1, 0x68, 0x84, 0xe0, 0x9a, 0xe9, 0xbf, 0x96, - 0x9a, 0x4b, 0x54, 0x38, 0x49, 0x27, 0x94, 0x6b, 0x86, 0x3c, 0xd0, 0x3b, 0xfd, 0x1c, 0xf5, 0x7a, - 0x69, 0x3e, 0x92, 0x4d, 0x1f, 0x97, 0xbc, 0xfc, 0x75, 0x51, 0x6a, 0xa5, 0xe2, 0xdf, 0x5a, 0x9d, - 0x59, 0x4a, 0x75, 0xfa, 0x5a, 0x46, 0xaa, 0xed, 0x46, 0x39, 0x34, 0x1d, 0x14, 0xe6, 0x66, 0xdb, - 0x49, 0x14, 0x37, 0x0e, 0x6b, 0x58, 0xc1, 0x2d, 0xe6, 0x4a, 0x46, 0x95, 0xa3, 0xe2, 0xce, 0x0b, - 0x94, 0x67, 0x3f, 0x9e, 0xf2, 0xb9, 0xff, 0x1e, 0xe4, 0x67, 0xa4, 0x18, 0x02, 0x03, 0x9d, 0xdd, - 0x95, 0x87, 0x74, 0x29, 0xe9, 0x6f, 0x00, 0x91, 0x49, 0x3b, 0xd6, 0x6f, 0xeb, 0xd6, 0x5a, 0x4a, - 0xb6, 0xf2, 0x16, 0x01, 0xf1, 0x33, 0x56, 0xb5, 0xee, 0x25, 0x54, 0x43, 0x29, 0xed, 0xa2, 0x53, - 0x0b, 0xa3, 0x62, 0xe4, 0xad, 0x9e, 0x71, 0x2a, 0x39, 0x31, 0xc2, 0xa7, 0xae, 0xe0, 0x28, 0x66, - 0x01, 0x5a, 0xf4, 0x97, 0x4c, 0x08, 0xd6, 0xaf, 0x79, 0x02, 0x54, 0x3c, 0xb5, 0x3d, 0xd9, 0xf1, - 0xa3, 0xf2, 0x09, 0xd5, 0x36, 0x25, 0xcc, 0x4d, 0x38, 0x6b, 0x33, 0xd2, 0x90, 0x6b, 0x29, 0x06, - 0x9d, 0x3f, 0xbf, 0xe9, 0xaa, 0x93, 0xca, 0x7a, 0x45, 0xd2, 0xf3, 0x05, 0xc3, 0x55, 0xd3, 0xbb, - 0x0c, 0xcf, 0xca, 0xca, 0x98, 0x23, 0xa1, 0x59, 0x14, 0xfc, 0xfb, 0x99, 0xe0, 0xca, 0x62, 0xdd, - 0xec, 0x9d, 0x83, 0xdd, 0xec, 0x7a, 0xfa, 0x95, 0x79, 0x9e, 0x3a, 0xea, 0x41, 0x99, 0x5f, 0xb9, - 0xd7, 0xcf, 0xcf, 0x08, 0x72, 0x32, 0x01, 0x65, 0x01, 0xbd, 0xcd, 0xed, 0xa0, 0xc6, 0x50, 0xf2, - 0x67, 0xee, 0xc6, 0x2b, 0x27, 0xc6, 0x3d, 0xc3, 0xff, 0x96, 0x2a, 0xd4, 0xd8, 0x3c, 0x45, 0x09, - 0x19, 0x0b, 0x05, 0xc3, 0xb7, 0xd8, 0x5d, 0x69, 0x9c, 0x90, 0x90, 0xca, 0xbb, 0x09, 0xec, 0xca, - 0x1f, 0xcf, 0x5d, 0xb1, 0x6d, 0xeb, 0x6e, 0x6f, 0x45, 0x92, 0x38, 0xe4, 0x22, 0xb4, 0x1f, 0x68, - 0x2e, 0xe6, 0x80, 0x2d, 0xd5, 0xb1, 0x22, 0x7a, 0xa1, 0x43, 0x5f, 0x11, 0x94, 0xa8, 0xe6, 0xb3, - 0xc0, 0xbf, 0xca, 0xf4, 0x52, 0xe6, 0x84, 0xf8, 0x8d, 0x8c, 0xcc, 0x8b, 0xaa, 0x84, 0xdf, 0x9b, - 0xd2, 0x9a, 0xdc, 0x42, 0xc5, 0xb6, 0x30, 0x81, 0xc0, 0xf7, 0x25, 0x93, 0x21, 0xe5, 0x58, 0x2c, - 0xae, 0xdb, 0xef, 0x82, 0x10, 0x8b, 0x7a, 0xb8, 0x19, 0x1a, 0xd9, 0x22, 0x7e, 0x55, 0xd4, 0xc2, - 0xb3, 0x8a, 0xbd, 0xee, 0x91, 0x23, 0xa8, 0x09, 0x46, 0x31, 0x13, 0xba, 0xfa, 0x38, 0x7a, 0xed, - 0x55, 0x3b, 0xfd, 0xca, 0x01, 0xf9, 0x61, 0x4e, 0x71, 0x2c, 0xe7, 0x6c, 0x7d, 0x7e, 0xc6, 0xae, - 0xb4, 0x60, 0x66, 0x14, 0x32, 0x1b, 0x37, 0x2e, 0x89, 0x17, 0x7f, 0x15, 0x63, 0x59, 0x47, 0x9b, - 0xee, 0x98, 0xea, 0x20, 0xd9, 0x2b, 0xfd, 0x93, 0xe9, 0x0f, 0xa0, 0x17, 0xc5, 0x95, 0x2c, 0x05, - 0xe9, 0x3d, 0x8a, 0x55, 0xef, 0x6c, 0xc2, 0x9c, 0xab, 0x50, 0x22, 0xee, 0x87, 0xcf, 0xfc, 0x93, - 0x42, 0x00, 0xec, 0xcd, 0xa0, 0xe8, 0xde, 0xd8, 0xe3, 0x32, 0x89, 0x8c, 0xc3, 0x3c, 0xe5, 0x01, - 0xe1, 0x24, 0x0c, 0x95, 0x6b, 0x39, 0x79, 0x20, 0xa5, 0xb8, 0xac, 0x60, 0xfd, 0xc1, 0x8b, 0xde, - 0xee, 0xd0, 0x80, 0x5b, 0xb7, 0x44, 0xfb, 0x41, 0x02, 0x2d, 0xa0, 0xb0, 0xa1, 0x62, 0xfc, 0xd5, - 0x5f, 0x33, 0x24, 0x0e, 0xed, 0xcb, 0x59, 0x42, 0xd8, 0x9c, 0x10, 0x5c, 0x1d, 0x46, 0x91, 0x02, - 0xe8, 0xe4, 0x31, 0x4a, 0xe7, 0x3e, 0x87, 0x46, 0x46, 0x2c, 0xb6, 0xbf, 0x67, 0x64, 0x1b, 0xd0, - 0x24, 0x84, 0xda, 0x27, 0xb5, 0xec, 0xea, 0x1b, 0xbf, 0x1d, 0xac, 0xdd, 0x4d, 0x7d, 0x96, 0xdf, - 0x25, 0x2c, 0x08, 0xb8, 0x3a, 0x50, 0x6f, 0x69, 0x45, 0x23, 0xbe, 0x29, 0xa0, 0x46, 0x1f, 0x6a, - 0xed, 0x40, 0xb1, 0x74, 0x12, 0xf0, 0xe6, 0x24, 0xe9, 0x6d, 0xce, 0x07, 0x2f, 0xd9, 0xdc, 0x9f, - 0x34, 0xd7, 0xdc, 0xc6, 0xa7, 0x95, 0x58, 0x3a, 0x26, 0xb2, 0x85, 0x7c, 0x65, 0x44, 0x76, 0xa0, - 0xd8, 0xe8, 0xf3, 0x84, 0xd6, 0xaf, 0x56, 0x3d, 0x85, 0xe6, 0xf2, 0x4f, 0xaa, 0x5b, 0xe1, 0x15, - 0x33, 0x44, 0x6d, 0xa1, 0xd2, 0x59, 0x2b, 0x8f, 0x36, 0x41, 0x78, 0x1a, 0x88, 0xfe, 0x4f, 0x86, - 0xd9, 0xba, 0xe1, 0x9b, 0xa9, 0xd6, 0x68, 0x51, 0x07, 0x9b, 0xf3, 0x70, 0x25, 0x99, 0x7b, 0xf9, - 0x0c, 0xc7, 0x7e, 0x8b, 0x12, 0x01, 0x1c, 0xaf, 0xd4, 0x21, 0xd8, 0x5a, 0xa6, 0xf9, 0xb1, 0x8b, - 0xfd, 0x90, 0x01, 0x10, 0x8b, 0x37, 0x44, 0x5a, 0x1b, 0x55, 0x44, 0x02, 0x8d, 0x49, 0xce, 0x93, - 0x67, 0x8f, 0x67, 0x0b, 0x97, 0x92, 0xc2, 0xd2, 0xfa, 0xbe, 0xa0, 0x47, 0xe9, 0xe6, 0xa1, 0x3a, - 0xe5, 0x59, 0x57, 0xb1, 0xba, 0xc5, 0xfc, 0x47, 0x5e, 0x82, 0x0e, 0x0b, 0x38, 0x81, 0xc8, 0x3e, - 0x2f, 0x00, 0x62, 0xe3, 0x8f, 0x19, 0xd9, 0xde, 0x0c, 0x02, 0x05, 0x40, 0xfd, 0xb7, 0x44, 0xf7, - 0x4e, 0xf5, 0x09, 0x88, 0x56, 0x3a, 0xf6, 0xbf, 0x52, 0xe3, 0x38, 0x7c, 0x90, 0x1c, 0x99, 0xc9, - 0x40, 0x6c, 0x92, 0x8d, 0x74, 0xc3, 0xee, 0xf7, 0xd8, 0x26, 0x8f, 0x44, 0xc7, 0x78, 0x80, 0xd9, - 0x37, 0x8b, 0x33, 0xa2, 0xf4, 0x85, 0xed, 0xec, 0xb2, 0x0f, 0xa8, 0x8a, 0x0a, 0xb3, 0xe7, 0x51, - 0x0c, 0x19, 0xea, 0x6d, 0xcc, 0x84, 0x9b, 0x79, 0xcc, 0x10, 0x6b, 0xfc, 0xba, 0xc6, 0x42, 0x8b, - 0x7b, 0x80, 0x73, 0xdd, 0x59, 0x1a, 0xa9, 0x82, 0x36, 0x96, 0xfa, 0x1a, 0x6a, 0xd6, 0xc7, 0x07, - 0x12, 0x06, 0x04, 0xa4, 0x5e, 0x28, 0xcc, 0xca, 0x01, 0x85, 0xeb, 0x5e, 0x52, 0x26, 0x20, 0x75, - 0x0a, 0x44, 0x83, 0x64, 0x35, 0x90, 0x76, 0xd9, 0xbc, 0xa3, 0x30, 0xa0, 0x77, 0xde, 0xd8, 0x77, - 0xc5, 0xc2, 0x77, 0x5d, 0x24, 0xa7, 0x74, 0xa8, 0x11, 0xdc, 0xd2, 0xfb, 0x2f, 0xf5, 0x6a, 0x59, - 0x75, 0x41, 0xc1, 0x04, 0x29, 0x72, 0x1d, 0x91, 0x7d, 0x85, 0x9a, 0x6c, 0x93, 0xe4, 0xcc, 0xba, - 0xe2, 0xbd, 0xc9, 0x31, 0x68, 0x96, 0x16, 0x5d, 0x5f, 0x43, 0x0f, 0xca, 0x7d, 0xd1, 0x35, 0x6b, - 0x47, 0x0d, 0x7a, 0xed, 0x8b, 0x9c, 0x4e, 0x17, 0x82, 0x33, 0x97, 0x6e, 0x62, 0xdd, 0xb2, 0xf0, - 0xd8, 0xde, 0x77, 0xe5, 0xd7, 0x3d, 0x58, 0xde, 0x44, 0x91, 0xa5, 0x34, 0xd0, 0x5d, 0x65, 0x16, - 0xba, 0x1d, 0xe2, 0x46, 0xeb, 0x81, 0xd8, 0xb1, 0xfb, 0x64, 0x57, 0x24, 0xa8, 0x49, 0x06, 0x8c, - 0xd9, 0xf7, 0xcf, 0x73, 0x45, 0xb3, 0x9e, 0x88, 0xf3, 0x11, 0xa7, 0x8b, 0x94, 0xfb, 0xf2, 0x12, - 0x89, 0x1b, 0xa7, 0x6e, 0x90, 0x8a, 0x84, 0x74, 0xcc, 0x3e, 0x8d, 0xb0, 0x3c, 0x0f, 0xbb, 0x3e, - 0xc0, 0x25, 0x77, 0x6a, 0x81, 0x2b, 0xbb, 0xb6, 0x60, 0x9d, 0x97, 0x12, 0xab, 0x87, 0xbf, 0x11, - 0x8d, 0xd4, 0x1c, 0xb9, 0x14, 0x48, 0x01, 0x97, 0xd3, 0x70, 0xa8, 0x20, 0x58, 0x91, 0x82, 0xcd, - 0x39, 0x97, 0x12, 0x87, 0x7d, 0x5d, 0x43, 0xc4, 0x88, 0x24, 0x57, 0xe7, 0xa0, 0x0c, 0xdf, 0xeb, - 0x1a, 0x06, 0x6e, 0xc7, 0x66, 0xf4, 0xfd, 0x02, 0x30, 0xe7, 0x51, 0x57, 0xbf, 0xd2, 0x39, 0xd1, - 0x2b, 0x88, 0xa6, 0xff, 0xe7, 0x2a, 0x9d, 0x41, 0xb3, 0x07, 0x1f, 0xd9, 0xd2, 0xaa, 0x98, 0xb6, - 0xc1, 0x16, 0x7b, 0x5f, 0xd4, 0x43, 0xca, 0xfd, 0x56, 0x61, 0x83, 0x6a, 0xb3, 0xee, 0x31, 0xfe, - 0xe3, 0x8a, 0x81, 0x94, 0xd5, 0x40, 0x40, 0x72, 0x83, 0x8c, 0x74, 0x05, 0x59, 0x47, 0x8d, 0x8a, - 0x80, 0x9c, 0x4b, 0x40, 0x88, 0xe5, 0xd6, 0xf9, 0xfe, 0x26, 0x7c, 0x13, 0x64, 0xd0, 0xf1, 0x20, - 0x96, 0xe9, 0xa0, 0xb7, 0x92, 0x37, 0x65, 0x9e, 0xab, 0x8f, 0xc2, 0x2b, 0x0a, 0x92, 0x3c, 0xa5, - 0xdf, 0x24, 0x80, 0x9e, 0x76, 0x30, 0xd2, 0xfe, 0x5e, 0xda, 0x2f, 0x2c, 0xb4, 0x04, 0x8d, 0xe6, - 0x72, 0x21, 0x4b, 0xad, 0x16, 0x3e, 0xbb, 0x23, 0xfe, 0xce, 0x0f, 0x30, 0x74, 0xb7, 0x16, 0x7d, - 0x84, 0xfc, 0x36, 0x26, 0x92, 0x97, 0x1d, 0xc7, 0x31, 0xb5, 0x78, 0xf6, 0x49, 0xc8, 0x0e, 0x2c, - 0xe9, 0xa7, 0x10, 0x7f, 0x04, 0x26, 0xdf, 0x84, 0x39, 0x89, 0x99, 0xd6, 0xf7, 0x75, 0x6e, 0x3f, - 0x7a, 0x6b, 0x66, 0x3a, 0x06, 0x36, 0x26, 0xc2, 0xf2, 0x73, 0xf1, 0xee, 0x00, 0xce, 0x53, 0x70, - 0xcc, 0x9f, 0xfd, 0xae, 0xeb, 0x18, 0xaf, 0x77, 0x93, 0x56, 0x37, 0x05, 0xd6, 0x20, 0x98, 0xe3, - 0xb6, 0xc2, 0xc8, 0x5b, 0x3f, 0x06, 0x95, 0xb7, 0xcb, 0x27, 0x55, 0x35, 0x84, 0x5b, 0x62, 0x8c, - 0x72, 0xee, 0x2e, 0xdd, 0x2d, 0x54, 0xe1, 0x74, 0x0d, 0x2c, 0xb2, 0xcd, 0x8c, 0x76, 0x2a, 0x89, - 0xb5, 0x72, 0x99, 0x5d, 0x3c, 0x75, 0xb0, 0xa4, 0xc3, 0x33, 0xfe, 0x11, 0xc8, 0x11, 0xd7, 0xba, - 0x53, 0x1a, 0xff, 0xee, 0x18, 0x31, 0x0f, 0x1e, 0x7b, 0x10, 0xb4, 0x3e, 0x50, 0xc5, 0x46, 0x4f, - 0xfd, 0xdb, 0xf1, 0x54, 0x44, 0x22, 0x33, 0x2e, 0x3f, 0xd7, 0x93, 0x08, 0xa9, 0x64, 0xc1, 0x82, - 0xf5, 0x92, 0xff, 0xcc, 0xb8, 0xc0, 0x8d, 0xeb, 0xc8, 0x69, 0x8f, 0x79, 0x01, 0x7e, 0x50, 0x44, - 0xe4, 0xc6, 0x0f, 0x4c, 0x80, 0xb2, 0x2c, 0x66, 0xff, 0x41, 0x55, 0x43, 0x2c, 0x91, 0xc2, 0x3a, - 0xe4, 0x2c, 0x69, 0x2e, 0xd1, 0x2c, 0xf7, 0xc1, 0x48, 0xdd, 0xb0, 0x28, 0x71, 0xd8, 0xe7, 0x9c, - 0xeb, 0x9d, 0x22, 0xdd, 0x30, 0x7c, 0xad, 0x42, 0x37, 0x6c, 0xe8, 0xf4, 0xa5, 0xb0, 0x11, 0xcb, - 0x33, 0xe0, 0xe1, 0x7a, 0xf8, 0xdf, 0x4a, 0x82, 0xeb, 0x48, 0xb4, 0xee, 0xdf, 0x99, 0xff, 0xcf, - 0xe2, 0xc3, 0xe2, 0x45, 0x4f, 0xbb, 0xb6, 0xc5, 0x00, 0x05, 0x34, 0x6a, 0x82, 0xbc, 0xac, 0xf2, - 0x51, 0xdb, 0x95, 0x85, 0x62, 0xbe, 0xc8, 0x5f, 0xf6, 0x35, 0x1f, 0x06, 0x32, 0x36, 0xf7, 0xe9, - 0xbd, 0x09, 0x84, 0xec, 0xa7, 0xfe, 0x72, 0xae, 0x12, 0x76, 0xfd, 0x0a, 0xd0, 0x0b, 0x57, 0x40, - 0x7c, 0x17, 0x1c, 0xbc, 0x70, 0xfc, 0xb0, 0xde, 0xc0, 0xce, 0xf3, 0x4f, 0xb0, 0xf1, 0x57, 0x57, - 0x6a, 0x67, 0x63, 0x15, 0xcd, 0xc5, 0xc5, 0x4b, 0x5f, 0x1c, 0x06, 0xc6, 0x4f, 0x21, 0x30, 0x22, - 0xcd, 0xad, 0xf4, 0xb0, 0x14, 0xd2, 0xe8, 0xb2, 0x09, 0xdf, 0x57, 0xf9, 0xab, 0x44, 0x0f, 0xd3, - 0xf4, 0x8a, 0x9f, 0xac, 0xea, 0xe1, 0x2c, 0x0c, 0x52, 0xa8, 0xf4, 0x26, 0xef, 0x99, 0x97, 0x22, - 0x1a, 0x4f, 0x6a, 0xd7, 0xce, 0xba, 0x0b, 0x32, 0x0b, 0xe5, 0xf0, 0xc5, 0xa7, 0xce, 0xb3, 0xd5, - 0xc2, 0xe5, 0x24, 0x62, 0x38, 0x46, 0x56, 0x08, 0xae, 0x6d, 0x27, 0x9d, 0x4f, 0x79, 0xb6, 0x35, - 0x70, 0xfc, 0x6d, 0x35, 0x6c, 0xd1, 0xce, 0xe0, 0xdd, 0x9f, 0x3f, 0x98, 0x89, 0x8a, 0x38, 0x2c, - 0x0d, 0xcc, 0x5e, 0x02, 0x1f, 0x05, 0x95, 0xaa, 0xac, 0xa6, 0xb3, 0x74, 0xde, 0xaa, 0x60, 0xad, - 0x5d, 0x41, 0x02, 0x24, 0xc3, 0xd0, 0x38, 0x53, 0x1a, 0x83, 0x40, 0x42, 0xf8, 0x67, 0xda, 0x0f, - 0xd0, 0xfd, 0x83, 0xb6, 0x59, 0xf6, 0xce, 0x10, 0xdc, 0x7c, 0x3e, 0x18, 0x26, 0x34, 0xbf, 0x6a, - 0xb9, 0x25, 0x30, 0xb8, 0x80, 0x16, 0xfe, 0x07, 0x83, 0x33, 0x7a, 0xd8, 0x33, 0x6c, 0x72, 0x2d, - 0x97, 0xda, 0x6e, 0x39, 0xd6, 0x5f, 0x01, 0x14, 0xec, 0x71, 0xcc, 0x4a, 0xfb, 0x12, 0xc7, 0x65, - 0x1f, 0x98, 0x14, 0x78, 0xcc, 0x35, 0x9e, 0x71, 0x04, 0x39, 0x91, 0x8a, 0xe1, 0xcf, 0xa6, 0x13, - 0xf0, 0xfc, 0xe7, 0x97, 0xb4, 0xdb, 0x22, 0x63, 0xbe, 0x68, 0x4c, 0x42, 0xa3, 0x90, 0xcd, 0xa0, - 0x6d, 0x25, 0xda, 0x6d, 0x63, 0xb5, 0x91, 0xc6, 0x4b, 0x77, 0xa7, 0x83, 0x2c, 0x19, 0x7a, 0x70, - 0x20, 0x6c, 0x2f, 0xae, 0x63, 0x43, 0x58, 0xc5, 0x61, 0xe0, 0xcc, 0x24, 0xa7, 0x57, 0x2b, 0xdb, - 0xb0, 0x72, 0x1f, 0x0a, 0xef, 0x4b, 0xa0, 0xad, 0x02, 0x52, 0x98, 0xf8, 0x0e, 0x4a, 0xc1, 0xd2, - 0x95, 0xe1, 0x1f, 0x87, 0xe1, 0xbb, 0x5f, 0xc8, 0x01, 0xf4, 0xc8, 0x03, 0xa1, 0x14, 0x8b, 0x7c, - 0x03, 0xc2, 0x9a, 0x4d, 0xed, 0xf3, 0x39, 0xc0, 0x65, 0xfe, 0xe7, 0xe4, 0x6d, 0x04, 0x1f, 0xf1, - 0x65, 0xe0, 0xa7, 0x33, 0x57, 0x69, 0x04, 0xcc, 0x22, 0x3b, 0xf2, 0xb2, 0x75, 0xd1, 0xad, 0x79, - 0x94, 0xb9, 0x6d, 0x85, 0xa5, 0xc2, 0x08, 0x81, 0xc5, 0xaf, 0xa2, 0x69, 0xb7, 0x95, 0x7c, 0x6a, - 0x15, 0x9a, 0xb9, 0x00, 0x67, 0x90, 0x97, 0x5d, 0xd2, 0xe8, 0xc8, 0xce, 0x41, 0x68, 0xaa, 0x4c, - 0x90, 0x1d, 0x2c, 0xfc, 0x1c, 0x04, 0x88, 0x85, 0xcb, 0x68, 0x67, 0x88, 0x7c, 0x94, 0xea, 0x5c, - 0x2c, 0x73, 0x6c, 0x9e, 0xb9, 0x62, 0x5b, 0xa1, 0x64, 0xd4, 0x0a, 0x91, 0x94, 0xf4, 0x40, 0x13, - 0x89, 0xba, 0xe9, 0x6b, 0x1f, 0x1f, 0xcc, 0x2a, 0xe1, 0x2c, 0x9a, 0x9b, 0x48, 0x9e, 0x97, 0xc6, - 0x5c, 0x3e, 0x33, 0x45, 0xa9, 0xe7, 0xba, 0x58, 0x1d, 0x3a, 0x9e, 0xf0, 0xfd, 0x04, 0x26, 0xb6, - 0x96, 0x66, 0xfc, 0x17, 0xd2, 0x42, 0xce, 0xf0, 0x1d, 0x45, 0x09, 0x40, 0x9a, 0x19, 0x01, 0xdb, - 0xdb, 0x7a, 0x8f, 0xb4, 0x74, 0x5b, 0x1c, 0x0e, 0x0e, 0x9f, 0x44, 0x3d, 0x39, 0xea, 0x36, 0x23, - 0x0e, 0x08, 0x2f, 0x4a, 0x1f, 0x79, 0x8e, 0x92, 0x9d, 0x26, 0x39, 0x38, 0xb7, 0x41, 0x49, 0xeb, - 0x0f, 0x4b, 0xd9, 0xb7, 0xbf, 0xfe, 0xa8, 0xfc, 0x04, 0x1e, 0x98, 0x09, 0x72, 0xd6, 0x16, 0xb7, - 0x60, 0x16, 0x34, 0x86, 0x9e, 0x97, 0x6f, 0xcb, 0x84, 0x1f, 0xba, 0xd0, 0x3b, 0xda, 0x3d, 0xfe, - 0x71, 0xf9, 0xc2, 0x24, 0x96, 0x2e, 0x64, 0xea, 0xfd, 0xef, 0x3a, 0x27, 0xd0, 0xb7, 0x6b, 0xcf, - 0x19, 0x57, 0xbe, 0xce, 0xd1, 0x8d, 0x41, 0xcd, 0x18, 0x56, 0x8e, 0x23, 0x8e, 0x1a, 0x52, 0x20, - 0xdb, 0x97, 0x9c, 0x9b, 0xcb, 0x31, 0xdf, 0xcc, 0x43, 0x1b, 0x07, 0xb6, 0x01, 0xd3, 0x28, 0x3f, - 0xd4, 0x5d, 0x67, 0xa5, 0xc7, 0xcf, 0xba, 0xde, 0x10, 0x69, 0xc1, 0x13, 0xae, 0xee, 0xd9, 0x3a, - 0x46, 0xd7, 0x95, 0x41, 0x83, 0x96, 0xdb, 0x39, 0xa8, 0x53, 0x7c, 0x95, 0x83, 0xd3, 0x44, 0xb6, - 0x0a, 0x54, 0xb4, 0x2f, 0x4f, 0xa1, 0x7a, 0xe9, 0x20, 0x55, 0x36, 0xb3, 0x4e, 0xfb, 0x5c, 0x45, - 0x77, 0x29, 0xcd, 0x9e, 0x5c, 0x85, 0x56, 0x84, 0x93, 0xa1, 0x9d, 0x94, 0x1c, 0xf5, 0x54, 0xac, - 0xb4, 0xe2, 0xd2, 0x31, 0x86, 0xd6, 0x84, 0x87, 0xbb, 0x44, 0x61, 0x60, 0x25, 0x67, 0x53, 0xc2, - 0x66, 0xb5, 0xe6, 0x7b, 0x64, 0x67, 0x84, 0xf8, 0x89, 0xec, 0xa7, 0xe2, 0xc8, 0x24, 0x48, 0x37, - 0x62, 0xf5, 0x55, 0x3b, 0x04, 0xb7, 0xfd, 0x2a, 0x5d, 0x95, 0xcd, 0xeb, 0xa9, 0x61, 0x80, 0x74, - 0x7e, 0x2c, 0xef, 0x19, 0x73, 0x72, 0x81, 0x83, 0x56, 0x56, 0xab, 0x22, 0xaa, 0x14, 0xc8, 0xcd, - 0x94, 0xdd, 0x27, 0x4a, 0x96, 0xd3, 0x5c, 0x43, 0x35, 0xfd, 0x12, 0x61, 0x0b, 0x4f, 0x11, 0xb3, - 0x32, 0x85, 0x6f, 0xa9, 0x14, 0xdf, 0x58, 0xdd, 0x79, 0xde, 0x39, 0xe4, 0xf0, 0xbb, 0x45, 0x1f, - 0xc8, 0xdf, 0x1b, 0xb2, 0xd1, 0xd1, 0x7c, 0xb5, 0x38, 0x97, 0x7b, 0x17, 0x4c, 0xa3, 0xa5, 0xc7, - 0x0c, 0x41, 0x1e, 0xbb, 0x1e, 0x4e, 0x34, 0x20, 0x60, 0xf3, 0xcd, 0x6a, 0xe4, 0xae, 0x1d, 0x59, - 0x02, 0x6c, 0xdc, 0x24, 0x42, 0x7a, 0xa2, 0x9b, 0xdc, 0x5d, 0x5a, 0xaa, 0xf7, 0x20, 0x4d, 0xe9, - 0xf1, 0xdc, 0x4d, 0xc6, 0x1b, 0x69, 0xdb, 0xc9, 0xcf, 0x4f, 0x34, 0xcd, 0x0d, 0x3f, 0x20, 0x18, - 0xb2, 0x06, 0x17, 0xe3, 0x0a, 0x65, 0x4c, 0x28, 0xbd, 0xc8, 0x70, 0xaf, 0x14, 0xcb, 0x24, 0xfb, - 0x69, 0x5e, 0x63, 0x71, 0x03, 0xda, 0xff, 0x42, 0xdb, 0xd1, 0xbb, 0x6c, 0xfd, 0xdc, 0x38, 0x0d, - 0xe1, 0x69, 0x09, 0x05, 0x94, 0x7f, 0xb0, 0x21, 0x8e, 0x16, 0xc4, 0x9c, 0xe0, 0x66, 0xd5, 0xe8, - 0x63, 0x3e, 0x04, 0x8a, 0x2e, 0x83, 0xbc, 0x1c, 0x49, 0xaa, 0x76, 0x2b, 0x49, 0x29, 0x24, 0x5a, - 0xf5, 0xfd, 0x35, 0xad, 0x29, 0x48, 0x7a, 0x08, 0x51, 0xf1, 0x94, 0xc6, 0x16, 0x74, 0x10, 0x6f, - 0xfb, 0x48, 0xa5, 0xb4, 0x45, 0xed, 0xae, 0x82, 0xd9, 0x36, 0xa0, 0xde, 0x3c, 0x75, 0x61, 0x99, - 0x69, 0xf4, 0x04, 0x1b, 0xc9, 0xd3, 0x53, 0xc3, 0xff, 0x55, 0x7c, 0xad, 0x92, 0xf5, 0x1e, 0x0d, - 0xa1, 0x0d, 0xbb, 0xc0, 0xab, 0x49, 0x11, 0x8f, 0xb0, 0x95, 0xf5, 0x70, 0xa7, 0xb7, 0x9d, 0xe5, - 0xfe, 0x92, 0xc6, 0x26, 0xe2, 0x2d, 0xdc, 0x2e, 0x5f, 0x97, 0x47, 0x52, 0x62, 0x92, 0x85, 0x39, - 0xa1, 0x16, 0x45, 0x4c, 0x34, 0x0a, 0xe3, 0xf3, 0x35, 0x1d, 0xcf, 0xc3, 0x29, 0x1b, 0xeb, 0xd5, - 0x72, 0x40, 0xd4, 0x7b, 0x14, 0x7a, 0xf9, 0xa5, 0x65, 0x3f, 0xdb, 0x51, 0xc5, 0x98, 0x90, 0xa3, - 0x2f, 0x1d, 0x31, 0xda, 0xdf, 0x66, 0x9d, 0x9c, 0x77, 0x88, 0x43, 0x45, 0x61, 0x11, 0x11, 0x1a, - 0x75, 0xe0, 0x70, 0xb5, 0xae, 0x7f, 0xc6, 0x4c, 0xf0, 0x91, 0x3e, 0x3f, 0xf5, 0xd4, 0x34, 0x35, - 0xd6, 0x7b, 0xb5, 0x7d, 0xe9, 0x33, 0x93, 0xed, 0x45, 0x61, 0x64, 0xdf, 0x07, 0x65, 0xd4, 0xf1, - 0x6a, 0x2b, 0xff, 0xad, 0x4c, 0x1a, 0x54, 0x19, 0x27, 0x41, 0x10, 0xa3, 0x26, 0x86, 0xef, 0x73, - 0x38, 0x74, 0x38, 0x57, 0xad, 0xa1, 0x89, 0x22, 0x22, 0x13, 0x4c, 0x3d, 0xc4, 0xf6, 0x30, 0x92, - 0x62, 0xe4, 0xd8, 0x47, 0x34, 0xc4, 0x04, 0x94, 0xb5, 0xb1, 0x5c, 0xdf, 0xb1, 0xbc, 0x5f, 0x93, - 0xfb, 0xb3, 0xcb, 0x4c, 0x31, 0x61, 0xec, 0xfa, 0xf8, 0x6c, 0x95, 0xb4, 0x56, 0xbd, 0xf2, 0x98, - 0xd0, 0xd4, 0xbf, 0xe8, 0x7f, 0x77, 0x8d, 0x3f, 0x84, 0xc1, 0x93, 0x86, 0xd7, 0xab, 0xb6, 0x85, - 0xd0, 0x76, 0x3a, 0xb4, 0xb2, 0x83, 0x6e, 0xab, 0x29, 0x97, 0x51, 0x99, 0x22, 0x23, 0xe2, 0x55, - 0x2a, 0x4f, 0x8a, 0x18, 0xd6, 0x0c, 0x74, 0xc3, 0xcd, 0x4a, 0xd8, 0xe9, 0xfa, 0x4e, 0x81, 0xce, - 0xfe, 0x52, 0x3d, 0x52, 0xb0, 0x67, 0x7f, 0x41, 0x2e, 0x55, 0xf0, 0xd1, 0x4c, 0xe9, 0x05, 0x7b, - 0x31, 0xc9, 0x24, 0x8a, 0xb8, 0x60, 0x0c, 0x18, 0xeb, 0xba, 0x25, 0x19, 0x57, 0xf5, 0xe1, 0xbe, - 0xab, 0x50, 0xb5, 0xe4, 0xb1, 0xc7, 0x8d, 0xaa, 0x85, 0xdc, 0x34, 0xe9, 0x9b, 0x03, 0x5a, 0x17, - 0x68, 0x68, 0x39, 0x03, 0xe8, 0x90, 0x50, 0x6b, 0xd5, 0x0a, 0xf4, 0x3f, 0x02, 0xfe, 0x3e, 0xa0, - 0x35, 0xf5, 0xe7, 0xdf, 0x54, 0xef, 0x54, 0x44, 0xd6, 0xb8, 0x26, 0x89, 0xff, 0x93, 0x7f, 0x7b, - 0x18, 0xb3, 0x20, 0x07, 0xd0, 0xd3, 0x69, 0x05, 0x3d, 0x3a, 0x44, 0x76, 0xfa, 0xc4, 0x63, 0x2a, - 0xe5, 0x96, 0x3a, 0xd8, 0x99, 0x2b, 0x04, 0x9d, 0x60, 0x8c, 0xa4, 0x69, 0xe8, 0x9d, 0x08, 0xe6, - 0x19, 0x19, 0x83, 0xa0, 0x17, 0x00, 0x61, 0x2f, 0x03, 0x3b, 0xab, 0xc5, 0xe5, 0xc6, 0x8b, 0x9c, - 0x1e, 0x1c, 0x37, 0xdb, 0xf6, 0x85, 0xfb, 0x0a, 0xf9, 0xb8, 0x96, 0xcc, 0x8f, 0x19, 0x41, 0xb9, - 0x05, 0x9e, 0xef, 0x2c, 0x46, 0x05, 0xf2, 0xe8, 0x88, 0x3e, 0x72, 0x7e, 0x87, 0xd6, 0x93, 0xa3, - 0x5f, 0x3e, 0x35, 0x29, 0xec, 0x78, 0x47, 0xe3, 0xbb, 0xff, 0xa0, 0x5d, 0x1b, 0x64, 0x9a, 0x96, - 0x10, 0x76, 0x25, 0x18, 0xfd, 0x52, 0x89, 0x4a, 0x0b, 0xcc, 0xba, 0xb8, 0x44, 0x59, 0x5e, 0x74, - 0x6d, 0xd6, 0xe1, 0xe3, 0x1f, 0x98, 0xe5, 0xa0, 0xec, 0xa1, 0x7d, 0x8b, 0x4f, 0x91, 0x1b, 0xd3, - 0x3a, 0x3b, 0xda, 0x12, 0xd9, 0xb1, 0x7e, 0x70, 0x69, 0x2e, 0xaf, 0xfa, 0xf5, 0x3d, 0x61, 0x70, - 0x3a, 0x42, 0xcf, 0xf8, 0x7b, 0x6d, 0x2c, 0x75, 0x69, 0x37, 0x3f, 0x53, 0xcc, 0x6b, 0x0b, 0xbf, - 0xbc, 0xa2, 0x1f, 0x8f, 0xce, 0x0a, 0x70, 0x40, 0x81, 0xaf, 0x22, 0xbb, 0x0e, 0x8c, 0x34, 0x90, - 0x9f, 0x27, 0x6d, 0x59, 0x7e, 0x85, 0xbe, 0xa0, 0x65, 0xaa, 0x33, 0x78, 0xd4, 0xda, 0xb9, 0xae, - 0x42, 0x15, 0x73, 0x2a, 0x53, 0x61, 0x35, 0x9f, 0x62, 0x4e, 0x74, 0x85, 0xe4, 0x03, 0x18, 0xa5, - 0x66, 0x3b, 0x42, 0x66, 0x76, 0x15, 0x73, 0x3f, 0xd4, 0x52, 0xaa, 0xd9, 0xcc, 0x2b, 0x08, 0xcc, - 0x3c, 0x96, 0x8b, 0x77, 0xc4, 0xa5, 0xe8, 0x5b, 0x6c, 0xb2, 0xfd, 0x8f, 0x6b, 0x9d, 0x75, 0x45, - 0x14, 0x73, 0xf8, 0xf5, 0x2a, 0x2d, 0xa4, 0x3e, 0xc3, 0xf2, 0xd3, 0x81, 0xbb, 0xa8, 0x5b, 0xd4, - 0x5e, 0xea, 0x5b, 0xd3, 0x55, 0x39, 0x9a, 0x32, 0xe8, 0xca, 0xcd, 0x5e, 0x8f, 0x06, 0x60, 0xa3, - 0x50, 0x80, 0x3e, 0x95, 0x3e, 0x73, 0xa1, 0xc8, 0x4b, 0x15, 0x8f, 0x99, 0x01, 0x95, 0x68, 0xf9, - 0xe0, 0xd2, 0x4c, 0x09, 0x94, 0x14, 0x12, 0xc0, 0x35, 0x1e, 0x94, 0xa3, 0x5a, 0x93, 0xa6, 0x6f, - 0xb4, 0x9f, 0xe2, 0x1d, 0x5e, 0xd7, 0x8f, 0x27, 0x8d, 0x75, 0x05, 0x99, 0xf4, 0x18, 0xf0, 0xaa, - 0x38, 0xb2, 0xef, 0x14, 0x9c, 0x8f, 0x67, 0x9a, 0x6b, 0xc7, 0x2c, 0x67, 0xba, 0x39, 0x8a, 0x87, - 0xaf, 0xed, 0x3b, 0x8c, 0xe2, 0x86, 0xc4, 0x02, 0xc1, 0xd5, 0x0c, 0x40, 0x8d, 0xf5, 0x32, 0x5e, - 0x3b, 0x18, 0xf3, 0xa1, 0x91, 0x8f, 0xa5, 0xa2, 0x77, 0xde, 0xdc, 0x03, 0x41, 0x26, 0xcb, 0x37, - 0xfa, 0x11, 0x3e, 0xf5, 0x99, 0x48, 0x3e, 0x9d, 0x1f, 0xd3, 0xae, 0xc3, 0xec, 0x0f, 0xbb, 0x3e, - 0x70, 0x52, 0xe1, 0xdd, 0x05, 0x0f, 0xaa, 0x5e, 0x9d, 0xee, 0xf6, 0xa0, 0x87, 0x23, 0x3b, 0x65, - 0xbf, 0xd1, 0x47, 0x2a, 0x6f, 0xba, 0x3d, 0x41, 0x27, 0x5e, 0xfb, 0x5c, 0xd3, 0x9e, 0x78, 0x6e, - 0x83, 0xa5, 0x11, 0xde, 0x00, 0x40, 0xf6, 0xe7, 0x89, 0x29, 0x9e, 0xa7, 0x95, 0x9e, 0x78, 0xf8, - 0x7a, 0x07, 0xf7, 0xb4, 0x14, 0x41, 0xc2, 0x9d, 0x75, 0x23, 0xf8, 0xde, 0xba, 0x50, 0x2a, 0xd7, - 0x94, 0xed, 0x7d, 0x2e, 0x72, 0x5c, 0xa9, 0x53, 0x55, 0x6b, 0x01, 0xca, 0x1b, 0xbb, 0x89, 0x6a, - 0x92, 0xa9, 0x03, 0x47, 0x3e, 0xa6, 0x5a, 0x60, 0x81, 0x0a, 0xd4, 0x79, 0x8f, 0x22, 0x81, 0x45, - 0xfa, 0xba, 0x4b, 0x11, 0x9f, 0xec, 0x48, 0x9c, 0xbb, 0x49, 0x89, 0xeb, 0x71, 0x9b, 0x35, 0x0f, - 0xf3, 0xe3, 0xf0, 0x1b, 0xe0, 0x28, 0x7a, 0x16, 0x8a, 0x52, 0xd9, 0x7e, 0xaf, 0x81, 0xcb, 0xeb, - 0x00, 0x13, 0x6a, 0x2e, 0x91, 0xca, 0xed, 0xba, 0xc0, 0x97, 0x55, 0xb8, 0x7e, 0x35, 0x88, 0xbb, - 0x85, 0xab, 0x06, 0xa4, 0x44, 0x08, 0xe0, 0x6a, 0x9e, 0x34, 0x0f, 0xba, 0x79, 0x45, 0x17, 0xfd, - 0x2d, 0xbb, 0xb3, 0xb0, 0xf6, 0xd4, 0xe3, 0x88, 0x57, 0x12, 0x49, 0x69, 0xe3, 0xf3, 0xbb, 0xe8, - 0x53, 0x5d, 0xc1, 0x58, 0xa1, 0xc4, 0x44, 0x89, 0xe5, 0x64, 0xe0, 0xf8, 0x76, 0x6f, 0x88, 0x74, - 0xcb, 0x73, 0x22, 0xbc, 0xcd, 0xe0, 0x4e, 0xe5, 0xfc, 0x76, 0x73, 0x64, 0x85, 0x22, 0xe0, 0x7f, - 0x2d, 0x32, 0xe1, 0x8e, 0xfc, 0x51, 0xb2, 0x93, 0xc2, 0x7b, 0x61, 0x45, 0x40, 0x8d, 0xbb, 0x9b, - 0xc5, 0x72, 0x4c, 0xe2, 0xf7, 0x31, 0x75, 0x1e, 0xc9, 0x36, 0xde, 0xdc, 0xb8, 0x79, 0x92, 0x03, - 0x79, 0x6d, 0xb8, 0x9f, 0x4e, 0x64, 0x68, 0x7f, 0xa5, 0xfb, 0x17, 0x28, 0x68, 0xb7, 0xe7, 0x40, - 0x66, 0x96, 0x57, 0xd3, 0xee, 0x9b, 0x85, 0x97, 0x25, 0xde, 0x3d, 0x84, 0xb6, 0x42, 0x83, 0xad, - 0xe8, 0xd7, 0x05, 0x14, 0x84, 0xa6, 0xfa, 0xe7, 0x36, 0xf7, 0x72, 0xaf, 0xe0, 0x6e, 0x75, 0x1d, - 0xf3, 0xf1, 0x2b, 0xbe, 0x26, 0x2e, 0xff, 0xf4, 0xbf, 0x1f, 0xc7, 0xdb, 0xd2, 0x55, 0xb3, 0x43, - 0x32, 0xe3, 0x0e, 0xbc, 0x37, 0xaa, 0x32, 0xb2, 0x4b, 0x5b, 0x98, 0x13, 0x59, 0xfa, 0x07, 0x5b, - 0x5f, 0x20, 0x47, 0xe1, 0x8e, 0x5c, 0xf5, 0x3a, 0xfd, 0x69, 0xf6, 0x72, 0x44, 0xb0, 0xb5, 0x0e, - 0x51, 0x3a, 0x75, 0xb5, 0x16, 0x67, 0x13, 0xd4, 0xa5, 0xd6, 0xcf, 0xa1, 0x36, 0x27, 0x5e, 0x9f, - 0x8e, 0xdb, 0x60, 0x7e, 0x93, 0x5c, 0x69, 0xb3, 0xc0, 0x40, 0xb7, 0x87, 0x97, 0x57, 0x90, 0x23, - 0x63, 0xc3, 0x6e, 0xdc, 0x9d, 0xfe, 0xf3, 0xa4, 0xc9, 0x4b, 0x70, 0x6f, 0x81, 0xdd, 0x34, 0x23, - 0x86, 0xef, 0x67, 0x0c, 0x83, 0xe0, 0x75, 0x98, 0x7e, 0x15, 0xc2, 0x3f, 0x23, 0x16, 0x92, 0x8f, - 0xea, 0x58, 0xf8, 0x17, 0xa4, 0x30, 0x42, 0x9e, 0x4c, 0xf4, 0x44, 0x8d, 0x39, 0x1e, 0xa6, 0x91, - 0x8a, 0x15, 0xb2, 0xfd, 0xb1, 0x77, 0xa7, 0x8c, 0x52, 0x7f, 0x2d, 0x84, 0x5d, 0x9c, 0x62, 0x83, - 0xbf, 0xd0, 0x4a, 0x04, 0x71, 0x9d, 0xcc, 0x8c, 0x6c, 0x65, 0x5c, 0x29, 0x89, 0xc7, 0xd7, 0xca, - 0xd1, 0xc0, 0x39, 0x01, 0x49, 0x45, 0x4e, 0x42, 0x9a, 0xd6, 0x3a, 0xf2, 0xec, 0xff, 0xaf, 0x67, - 0x8b, 0x93, 0xfc, 0xef, 0x4e, 0x78, 0x6a, 0xa8, 0xc3, 0x59, 0x1e, 0x17, 0x5f, 0xe6, 0xdb, 0x3e, - 0x2a, 0xbc, 0x09, 0x41, 0xf8, 0x1d, 0x2d, 0x68, 0xb7, 0xd0, 0x54, 0xc2, 0xbc, 0x7e, 0x17, 0x45, - 0x88, 0x38, 0xb3, 0x00, 0xb7, 0x7a, 0x93, 0x46, 0x63, 0xbf, 0x4b, 0x71, 0xeb, 0xa5, 0x63, 0x18, - 0x1d, 0x1a, 0x9c, 0x96, 0x83, 0x03, 0x7d, 0x2f, 0x44, 0xe2, 0xc9, 0xd4, 0x18, 0x3e, 0xbb, 0x03, - 0xc5, 0xe0, 0xb9, 0x6d, 0x2e, 0xc8, 0xeb, 0x60, 0x83, 0xe1, 0x7c, 0x32, 0xdf, 0x82, 0xec, 0xaa, - 0x2a, 0x54, 0xa3, 0x78, 0x60, 0xbf, 0x01, 0xf1, 0xe3, 0xb7, 0x4a, 0xf4, 0x46, 0x05, 0x9a, 0x37, - 0x05, 0xba, 0xb8, 0x8f, 0xa8, 0x0f, 0xc6, 0x1a, 0x6d, 0x9e, 0xe4, 0x7d, 0x49, 0xda, 0xbf, 0xed, - 0xed, 0x81, 0xac, 0x00, 0xef, 0x25, 0x58, 0x32, 0x5a, 0x8a, 0xb1, 0x83, 0xe5, 0xc7, 0xda, 0x33, - 0x8b, 0xf5, 0x9b, 0xcd, 0x37, 0x63, 0x4c, 0x7b, 0xb4, 0x60, 0x6a, 0xa7, 0x55, 0x94, 0x4c, 0x5a, - 0x3a, 0xf0, 0x62, 0x05, 0x9d, 0x2a, 0x72, 0x26, 0xe9, 0x9b, 0x6c, 0xa4, 0x72, 0x6f, 0xaf, 0xbe, - 0xd6, 0x0b, 0x8b, 0x6f, 0x9d, 0x17, 0x16, 0x76, 0xc6, 0x36, 0xce, 0x65, 0x80, 0xb8, 0x07, 0x1a, - 0x7f, 0x18, 0xbc, 0x73, 0xd6, 0x39, 0x36, 0x7f, 0x48, 0xf3, 0xfd, 0xf8, 0xdc, 0x1f, 0x0e, 0xa3, - 0x3e, 0x95, 0x62, 0xe8, 0x4d, 0x22, 0xbf, 0xfd, 0x12, 0xac, 0x32, 0x0f, 0xf9, 0x89, 0x1d, 0x7f, - 0xf0, 0x23, 0x9a, 0x2b, 0x7e, 0xd3, 0x77, 0x32, 0xbc, 0x5f, 0xa2, 0xc5, 0x73, 0x5d, 0xd4, 0xd5, - 0x08, 0x21, 0x3e, 0x9e, 0x2d, 0x9f, 0xd3, 0x48, 0x46, 0x57, 0x4a, 0x36, 0xa9, 0xdd, 0x23, 0xa4, - 0xc7, 0x14, 0x8c, 0x65, 0x91, 0x6f, 0x33, 0x2b, 0x3c, 0xcc, 0x56, 0x2a, 0xe3, 0xd1, 0x50, 0xe4, - 0xea, 0x00, 0x95, 0x56, 0x5c, 0xe1, 0xc4, 0xf4, 0xfb, 0xa9, 0x64, 0x77, 0x43, 0x42, 0x4f, 0x58, - 0x2f, 0x9d, 0xa5, 0x04, 0x0a, 0xb1, 0xa7, 0xcd, 0x72, 0x45, 0x6a, 0x7c, 0xc8, 0x04, 0xbc, 0x23, - 0x7d, 0x7d, 0x62, 0x5c, 0x85, 0x1c, 0x63, 0x47, 0x88, 0xbc, 0xe5, 0x40, 0x6e, 0xb6, 0x8b, 0x36, - 0xcc, 0x05, 0xe1, 0xa8, 0xc1, 0x59, 0xf2, 0x20, 0x22, 0x22, 0xa7, 0xae, 0x10, 0x0a, 0xcf, 0x3f, - 0xd8, 0xdb, 0x56, 0x0c, 0xee, 0xb5, 0xd0, 0xeb, 0xce, 0x79, 0xbf, 0x10, 0xf8, 0x1a, 0x59, 0xca, - 0xf5, 0xba, 0x2d, 0xd7, 0xa3, 0x0c, 0x58, 0x2b, 0xea, 0xd2, 0x9f, 0x97, 0x35, 0x63, 0xcd, 0x09, - 0x31, 0xc9, 0x10, 0xcb, 0xab, 0x01, 0x71, 0x6b, 0x44, 0x25, 0x8a, 0x96, 0x83, 0x2c, 0x7e, 0xee, - 0xae, 0xd0, 0x0f, 0xe5, 0x08, 0xe3, 0xa1, 0x31, 0x49, 0x23, 0x49, 0xe6, 0xe1, 0xa6, 0x12, 0x81, - 0xf9, 0x52, 0xba, 0x37, 0x88, 0xa8, 0xf1, 0x71, 0xe3, 0x5c, 0x13, 0x92, 0xc4, 0xda, 0xc4, 0xd1, - 0x0f, 0x90, 0x53, 0x8b, 0x87, 0x3a, 0x1c, 0x3c, 0x77, 0x35, 0x9e, 0x83, 0xb6, 0xc5, 0xb9, 0x47, - 0x4c, 0x15, 0x1e, 0xb0, 0xfe, 0xc0, 0x04, 0x26, 0x0b, 0xda, 0xf6, 0x95, 0x32, 0x71, 0xd7, 0x7c, - 0xfa, 0xf4, 0x74, 0xdd, 0x31, 0xb1, 0xcc, 0x58, 0x87, 0xd4, 0x46, 0xc6, 0x81, 0xd5, 0x72, 0x1c, - 0x43, 0x70, 0xf8, 0x74, 0x9d, 0x43, 0xf4, 0x65, 0xa3, 0xc6, 0x8e, 0x14, 0xb9, 0x69, 0x59, 0x32, - 0xa1, 0xf7, 0xe6, 0xe8, 0xd7, 0x0f, 0xcb, 0xc2, 0xc7, 0x6e, 0xad, 0x28, 0x22, 0x66, 0x3b, 0xae, - 0x95, 0x2f, 0x02, 0x8e, 0x42, 0x9b, 0x03, 0x54, 0x54, 0x86, 0x81, 0x66, 0xc9, 0x81, 0x00, 0xdf, - 0x40, 0x66, 0xc2, 0xd2, 0x32, 0xbe, 0x61, 0xe9, 0x91, 0xae, 0x03, 0x1a, 0x14, 0xe3, 0x9b, 0xf0, - 0xd9, 0x36, 0x56, 0x95, 0x1a, 0x86, 0x5a, 0x3f, 0x56, 0xcc, 0x6a, 0x3d, 0xa8, 0xca, 0xee, 0xd2, - 0x12, 0x67, 0x9f, 0x40, 0xe3, 0xc0, 0xe4, 0x78, 0x3e, 0x32, 0x50, 0x92, 0xd8, 0xa4, 0x8c, 0x7f, - 0x62, 0x0d, 0xe0, 0x27, 0xf7, 0x53, 0xcb, 0x8c, 0x11, 0x1c, 0x00, 0x29, 0x9a, 0x10, 0xa3, 0x1e, - 0x13, 0xfe, 0x0d, 0x00, 0x95, 0xda, 0xa8, 0xfe, 0xe3, 0x32, 0xed, 0x8a, 0x26, 0x69, 0xcc, 0x58, - 0xe7, 0x07, 0xe9, 0xa9, 0x28, 0xab, 0x55, 0x68, 0x60, 0x50, 0x04, 0x20, 0x67, 0x07, 0x50, 0xea, - 0xcd, 0x55, 0xf1, 0xec, 0xee, 0x34, 0x23, 0x80, 0x29, 0x17, 0xce, 0xb7, 0x15, 0x8a, 0x8c, 0x64, - 0xf0, 0xeb, 0x0f, 0x6e, 0x80, 0x5d, 0xae, 0x92, 0x08, 0x1d, 0xbc, 0x89, 0x81, 0x4a, 0x6a, 0x9e, - 0x75, 0x76, 0xdb, 0x32, 0x7f, 0xbf, 0x13, 0x08, 0x97, 0xc9, 0x22, 0x71, 0xd5, 0x93, 0x90, 0x16, - 0x83, 0x0b, 0xf6, 0x99, 0x58, 0x2a, 0x70, 0xd8, 0x35, 0x4e, 0x6b, 0x57, 0x9f, 0xa3, 0x0c, 0x99, - 0x2a, 0xb7, 0x7d, 0xea, 0xa6, 0xa7, 0x40, 0x04, 0xbe, 0xff, 0xff, 0x41, 0xa3, 0x6b, 0xd2, 0xd0, - 0x7b, 0xbc, 0xeb, 0xb0, 0xbe, 0x19, 0x3a, 0xbd, 0xc1, 0xe9, 0xb2, 0xc6, 0x9e, 0x81, 0x1c, 0xf0, - 0xd3, 0xf8, 0x4a, 0xc2, 0x5d, 0xb1, 0xb9, 0x50, 0x91, 0x90, 0x24, 0xf8, 0xf1, 0x0f, 0x24, 0x57, - 0x02, 0x68, 0x70, 0xfe, 0xb3, 0x1c, 0xba, 0x6e, 0x8b, 0x96, 0x5e, 0xec, 0x09, 0x71, 0x73, 0xdd, - 0xb1, 0xe0, 0x5c, 0x78, 0xc0, 0xe7, 0xde, 0xb1, 0xab, 0x14, 0x12, 0x67, 0xa4, 0xaa, 0xe6, 0xb8, - 0xa3, 0x6a, 0xcd, 0x29, 0x33, 0xd1, 0xeb, 0x68, 0x18, 0xb6, 0x1a, 0xd0, 0x89, 0x41, 0xff, 0xb3, - 0x8c, 0xdb, 0x66, 0x81, 0x51, 0x46, 0x25, 0xc0, 0xd2, 0x59, 0x51, 0xda, 0x73, 0x56, 0xe2, 0x95, - 0x8b, 0x67, 0x07, 0xbf, 0xdd, 0x32, 0x57, 0x1c, 0x9b, 0x9a, 0x31, 0xcb, 0xb2, 0x2f, 0xf9, 0xc5, - 0xe7, 0xbd, 0x6d, 0x24, 0xaf, 0xd1, 0x55, 0xf4, 0xb7, 0x1a, 0x1c, 0x3c, 0x2f, 0x67, 0x6b, 0x69, - 0xd9, 0x7e, 0xa3, 0x8c, 0x14, 0x56, 0x16, 0x02, 0x22, 0x7b, 0xfd, 0xe4, 0x1b, 0x8e, 0xb0, 0x8d, - 0x6a, 0xc9, 0xce, 0x9b, 0x82, 0xd4, 0x40, 0x34, 0xb2, 0xe8, 0x2c, 0xf4, 0x63, 0xfc, 0x0b, 0x04, - 0xb6, 0x8c, 0x4a, 0xae, 0x08, 0x33, 0x1f, 0x5b, 0x1c, 0x25, 0x72, 0x71, 0x12, 0x9d, 0x5c, 0xef, - 0x99, 0x69, 0xc1, 0x21, 0xfc, 0x32, 0x45, 0xaa, 0xac, 0x9a, 0xa0, 0x07, 0xbe, 0x97, 0xa3, 0x41, - 0x9d, 0xe1, 0x18, 0x23, 0x73, 0xfd, 0x22, 0x4b, 0xc5, 0x32, 0x98, 0x0e, 0xd7, 0xc8, 0xd5, 0x0a, - 0xf6, 0xa1, 0x85, 0x3e, 0xa5, 0x6e, 0xde, 0x5c, 0x2e, 0xcb, 0x0e, 0x1e, 0x88, 0xfa, 0xd6, 0x33, - 0x49, 0x3b, 0xb6, 0xb7, 0xf6, 0x3f, 0xd1, 0x74, 0x0e, 0x91, 0xf6, 0x52, 0x74, 0xad, 0xe9, 0x28, - 0xf7, 0x1c, 0x42, 0x99, 0x2a, 0x86, 0x2a, 0xee, 0x56, 0x5e, 0x44, 0x85, 0xab, 0x09, 0xc5, 0x5f, - 0x7f, 0x78, 0x6c, 0x7b, 0x15, 0xc5, 0xda, 0xd5, 0x11, 0xe6, 0xd7, 0xc8, 0xef, 0x47, 0x30, 0x5b, - 0x02, 0x39, 0x02, 0x87, 0x01, 0x33, 0xf0, 0xbc, 0xed, 0xd9, 0x44, 0x6c, 0xeb, 0xdc, 0x3d, 0xa8, - 0x9f, 0x33, 0x98, 0x85, 0x63, 0x71, 0xe0, 0x4f, 0xc6, 0xfe, 0xeb, 0xf9, 0xcc, 0x5b, 0x01, 0xd6, - 0xa8, 0x52, 0x34, 0x9f, 0x8d, 0xc6, 0x4b, 0x7f, 0xc9, 0xdc, 0x23, 0x3c, 0xa7, 0x36, 0xb7, 0x09, - 0x10, 0x52, 0x24, 0x38, 0x8e, 0xec, 0x9d, 0x99, 0x85, 0x61, 0xcf, 0x4b, 0x7a, 0xeb, 0xce, 0xbf, - 0xc8, 0xe2, 0x1b, 0xad, 0xfd, 0xd7, 0x01, 0xb0, 0x30, 0xde, 0xff, 0x56, 0xce, 0x69, 0x16, 0xfd, - 0x4d, 0xf0, 0x69, 0x98, 0x53, 0xc9, 0x05, 0x2c, 0x6c, 0x32, 0x83, 0x9f, 0xdc, 0xdb, 0x77, 0x07, - 0x6d, 0x9a, 0x0f, 0x9f, 0xcf, 0xf8, 0x66, 0x97, 0xf0, 0x6f, 0x3f, 0x2f, 0x8f, 0x0a, 0xb9, 0x76, - 0x33, 0xce, 0x0b, 0x10, 0x86, 0x22, 0x64, 0x09, 0x96, 0x3e, 0xdc, 0xa7, 0x1f, 0x45, 0xc2, 0x0b, - 0x17, 0x9e, 0x5b, 0x62, 0x9d, 0x6a, 0xf8, 0xfe, 0x6c, 0xe9, 0xc2, 0xb2, 0xd4, 0x3c, 0xc7, 0xed, - 0x23, 0x93, 0xc2, 0x3a, 0x21, 0x5d, 0x35, 0x6c, 0x71, 0x83, 0x48, 0xb4, 0x79, 0x6d, 0xfb, 0x58, - 0x6b, 0x14, 0x20, 0xa0, 0x33, 0xdb, 0x63, 0x71, 0x7e, 0x26, 0x13, 0x6a, 0x10, 0x33, 0x8c, 0x85, - 0xc2, 0xae, 0xbc, 0xfd, 0x4d, 0xd3, 0xce, 0xfa, 0xc7, 0x38, 0x53, 0x0d, 0x69, 0xa6, 0x16, 0xfe, - 0x14, 0xf6, 0x0f, 0x10, 0x9d, 0xab, 0x6a, 0x64, 0x91, 0x8b, 0x21, 0xa5, 0x4f, 0x20, 0x08, 0xa5, - 0xc0, 0x48, 0x40, 0xb5, 0x91, 0xf6, 0x7b, 0xb7, 0xcf, 0x90, 0x14, 0xe9, 0x4c, 0x33, 0x5b, 0x7c, - 0x03, 0x1c, 0x25, 0xd5, 0x3e, 0x62, 0x0c, 0x5a, 0x6c, 0x6d, 0xd1, 0xac, 0xe4, 0xcf, 0xe4, 0x79, - 0x40, 0x51, 0x7b, 0xf4, 0xd5, 0xac, 0xf2, 0x71, 0x3e, 0x14, 0xc3, 0x45, 0x89, 0x62, 0x2a, 0xf6, - 0x05, 0x03, 0xd3, 0x79, 0x08, 0x7e, 0xd5, 0x97, 0xc7, 0x6c, 0xbd, 0xb1, 0xf9, 0x6f, 0xda, 0x65, - 0xa2, 0x2c, 0xfb, 0x68, 0xbd, 0xe1, 0x19, 0xf6, 0x46, 0xc3, 0x80, 0x4d, 0xfa, 0x4a, 0xeb, 0x60, - 0xb3, 0x6f, 0x1b, 0xae, 0x4b, 0xd4, 0x8c, 0xa4, 0xeb, 0xc1, 0x41, 0xeb, 0x3c, 0xb1, 0x5c, 0x8e, - 0x96, 0x7b, 0xb5, 0xa8, 0x26, 0x37, 0x8c, 0x29, 0xfa, 0x85, 0x5e, 0xfb, 0xb5, 0x9f, 0xe9, 0x9d, - 0xf2, 0xca, 0x4e, 0x4d, 0x4e, 0x76, 0x42, 0x60, 0x94, 0xf8, 0xa4, 0xe5, 0x87, 0x45, 0xaa, 0x52, - 0x9b, 0x9d, 0x84, 0xa6, 0xc9, 0x75, 0x72, 0x84, 0xc3, 0xb7, 0x70, 0x75, 0xb0, 0x41, 0x16, 0x16, - 0xb8, 0x64, 0xe9, 0x3b, 0x44, 0x6c, 0xff, 0xd0, 0x2f, 0x67, 0x3b, 0x0c, 0x94, 0x1f, 0xec, 0x36, - 0x7f, 0x79, 0xcc, 0xc3, 0x94, 0x43, 0xef, 0x65, 0xb5, 0xbc, 0x42, 0x64, 0x5c, 0x06, 0xb9, 0x48, - 0xe0, 0x4f, 0x90, 0xf1, 0x23, 0x03, 0x96, 0x94, 0x39, 0x9d, 0x3a, 0xf3, 0x93, 0x3c, 0x4c, 0x75, - 0x56, 0x0a, 0x03, 0x05, 0xb3, 0xbe, 0x81, 0x82, 0x9e, 0x86, 0xf5, 0x4b, 0xee, 0x05, 0x4a, 0xc0, - 0xfe, 0x81, 0x6b, 0x64, 0x3a, 0x15, 0xfc, 0xa2, 0x93, 0x7f, 0xe0, 0x0d, 0xdb, 0x05, 0xbc, 0x8e, - 0xc9, 0xf6, 0xd1, 0x5c, 0xf5, 0xfd, 0x37, 0x59, 0xa3, 0x4d, 0x5d, 0xc7, 0x4e, 0xea, 0xb3, 0xc8, - 0x71, 0x83, 0x8e, 0x76, 0x06, 0xe3, 0x68, 0xf0, 0x8b, 0x7f, 0x0a, 0x54, 0xa5, 0xe6, 0xf4, 0x7e, - 0x25, 0x71, 0x51, 0x49, 0xb8, 0x30, 0x63, 0x24, 0x48, 0x3c, 0x11, 0xa7, 0xdb, 0x8d, 0xf3, 0xba, - 0xb3, 0x89, 0x68, 0xd0, 0xb9, 0x6f, 0xf9, 0x42, 0x66, 0x2d, 0x67, 0xc7, 0xfc, 0x14, 0x89, 0x2a, - 0x8d, 0x64, 0xae, 0xd7, 0x93, 0x93, 0x1b, 0xaf, 0x2e, 0x6d, 0x7b, 0x25, 0x83, 0xe6, 0xb9, 0x0a, - 0xc3, 0xf3, 0xc7, 0x3e, 0x71, 0x2f, 0x82, 0x21, 0xfa, 0x45, 0x73, 0xf8, 0xc9, 0x41, 0x8a, 0xa6, - 0x1d, 0x76, 0x40, 0xb8, 0x3f, 0x52, 0x75, 0xb1, 0xd0, 0xbc, 0xa6, 0x4e, 0x23, 0x42, 0x2d, 0x3a, - 0xe5, 0x1c, 0x37, 0x57, 0x4d, 0x11, 0xbf, 0xe4, 0x6b, 0x50, 0xc4, 0x7f, 0xdf, 0x2f, 0x35, 0xbd, - 0x50, 0x1c, 0x97, 0x10, 0xfe, 0x89, 0x45, 0x63, 0x55, 0xe8, 0xd5, 0x35, 0x2b, 0x5f, 0xa2, 0x85, - 0xa7, 0xbe, 0x33, 0x4a, 0x46, 0xaa, 0xe0, 0xcc, 0x73, 0x9b, 0xfa, 0x54, 0x36, 0x77, 0xce, 0x7f, - 0xc3, 0xa4, 0x07, 0xe2, 0x92, 0x34, 0x47, 0x8a, 0x41, 0x8d, 0x0f, 0x93, 0x12, 0x3f, 0x3f, 0xb7, - 0x98, 0x82, 0xbc, 0x08, 0xbb, 0x42, 0x12, 0xda, 0x91, 0x43, 0x35, 0xfc, 0x82, 0x94, 0x86, 0x0d, - 0x38, 0x56, 0xcc, 0x3e, 0x77, 0x05, 0x95, 0xb4, 0xa2, 0xd3, 0xf4, 0x91, 0xa2, 0x15, 0xe5, 0x8e, - 0xe2, 0x0a, 0x24, 0x53, 0x2d, 0x27, 0x26, 0xc0, 0x7e, 0xe2, 0xa9, 0x70, 0x70, 0xc8, 0x75, 0xd5, - 0xf8, 0xbe, 0x5e, 0x11, 0xdc, 0x1b, 0x8e, 0x5c, 0x5e, 0xee, 0x6a, 0xd9, 0xed, 0x11, 0x08, 0xf8, - 0xf4, 0xa8, 0x53, 0x95, 0x25, 0x58, 0xed, 0x59, 0xf9, 0xa6, 0x1c, 0x3f, 0x8e, 0x93, 0x69, 0x1c, - 0x4f, 0x0c, 0x55, 0xa7, 0xf1, 0x2a, 0xf7, 0x1e, 0x33, 0x9a, 0x27, 0xfd, 0x17, 0x0b, 0xcd, 0xae, - 0x16, 0x02, 0x7b, 0x5b, 0xb0, 0xd7, 0xd4, 0x1c, 0x5d, 0x33, 0x75, 0xe2, 0x66, 0xb1, 0x5f, 0x52, - 0x23, 0xf3, 0xc6, 0x51, 0xf3, 0x5b, 0x8e, 0x38, 0xb2, 0xa8, 0x75, 0x5b, 0x39, 0x3a, 0x5d, 0x64, - 0x91, 0x5d, 0xca, 0x68, 0x25, 0xf9, 0x4a, 0xa5, 0x89, 0xe1, 0x74, 0xae, 0x8e, 0xcf, 0xd3, 0x1a, - 0xde, 0x78, 0xeb, 0xa4, 0xf0, 0x9a, 0xae, 0x2a, 0xab, 0x27, 0xe3, 0x3a, 0xcf, 0x50, 0xa9, 0x5a, - 0xfe, 0x12, 0x24, 0x3b, 0xaa, 0xf5, 0x0f, 0xe1, 0x0e, 0x39, 0xe4, 0xd3, 0xc5, 0x7b, 0x3f, 0xed, - 0x0b, 0xc2, 0x32, 0x4e, 0xe9, 0x33, 0xfb, 0x04, 0xdb, 0xcc, 0xc2, 0xee, 0xa7, 0x44, 0xdb, 0x5a, - 0x59, 0xde, 0xa9, 0xae, 0x11, 0xa9, 0x0b, 0x5c, 0x95, 0x19, 0xc0, 0xf4, 0x40, 0x6c, 0x9b, 0x1e, - 0x04, 0xbd, 0x81, 0xfc, 0x0a, 0x48, 0x93, 0x94, 0xc6, 0x87, 0xec, 0x91, 0x63, 0x0d, 0xed, 0xea, - 0x85, 0xbc, 0xaf, 0xf2, 0x85, 0x2d, 0xdd, 0xe5, 0x91, 0xf3, 0xaa, 0xea, 0xbb, 0x0e, 0xe8, 0xb0, - 0x51, 0xe8, 0xbf, 0xed, 0xac, 0x4b, 0x16, 0x5f, 0x1e, 0xc1, 0xa1, 0xfc, 0x1e, 0x35, 0x3d, 0x97, - 0x69, 0x8a, 0x07, 0x24, 0x07, 0xf2, 0xb0, 0x35, 0xd0, 0xa5, 0xdc, 0x81, 0xb0, 0x3e, 0x70, 0x43, - 0x06, 0x0f, 0xa8, 0xbb, 0x24, 0x3e, 0x58, 0x9d, 0x0d, 0x7a, 0xab, 0x66, 0x92, 0x51, 0x91, 0x9b, - 0xdf, 0x83, 0xba, 0x13, 0x75, 0x1c, 0x32, 0xeb, 0x1c, 0xc2, 0x3e, 0xfd, 0x46, 0x30, 0xeb, 0x82, - 0x38, 0x5d, 0x5d, 0xab, 0x96, 0xf3, 0xe1, 0xf0, 0xc7, 0xad, 0x46, 0x14, 0x71, 0xbd, 0xfc, 0x7b, - 0xc2, 0xe7, 0x23, 0x4a, 0x25, 0x84, 0xa0, 0xb1, 0x61, 0x85, 0xd5, 0x9f, 0x5a, 0x9c, 0x99, 0xe9, - 0x6a, 0x70, 0xfc, 0xcf, 0x57, 0x93, 0xcc, 0xe9, 0x68, 0xe9, 0x11, 0xab, 0x1b, 0x85, 0x3b, 0x66, - 0x4b, 0xf7, 0x0f, 0xb3, 0x61, 0xd2, 0xbf, 0x02, 0xac, 0xe4, 0xd5, 0x97, 0xe3, 0xce, 0xf0, 0xed, - 0xe0, 0x50, 0xc8, 0x27, 0x7e, 0xa0, 0x46, 0x04, 0xd5, 0x1b, 0x22, 0x42, 0x34, 0x14, 0xd6, 0x13, - 0x79, 0x73, 0x6a, 0x8f, 0xde, 0xb2, 0x37, 0x24, 0xa9, 0xb4, 0x7d, 0x8b, 0x29, 0x28, 0xef, 0x07, - 0x48, 0x3e, 0x96, 0x21, 0x59, 0x96, 0x9f, 0x00, 0xc9, 0xdf, 0xc6, 0xef, 0xe9, 0x9f, 0xd6, 0xdd, - 0x63, 0x62, 0x12, 0x4c, 0x49, 0xbf, 0xc4, 0x4e, 0x62, 0x4d, 0xca, 0x4f, 0xce, 0xfc, 0x7f, 0x1f, - 0x93, 0x32, 0x0b, 0xc1, 0x80, 0xcd, 0xab, 0xe5, 0xec, 0x15, 0xb9, 0x30, 0x61, 0x74, 0x5c, 0x17, - 0x2f, 0x4c, 0xf2, 0x1d, 0xfb, 0x3f, 0x76, 0x2e, 0x4d, 0xc1, 0xd6, 0x7b, 0x90, 0x99, 0x8d, 0x79, - 0xcf, 0xff, 0xcb, 0x6d, 0xb1, 0x5d, 0xdc, 0x2d, 0x42, 0x46, 0x29, 0x0f, 0xa1, 0x91, 0xa3, 0xc6, - 0x87, 0x8a, 0x24, 0x73, 0xa4, 0x92, 0x42, 0x2c, 0x56, 0xdd, 0xe3, 0xaf, 0x4a, 0x3d, 0xe5, 0xb7, - 0x46, 0x6e, 0xf1, 0xfd, 0xca, 0x1a, 0x3e, 0x59, 0x29, 0xa1, 0xc2, 0xcc, 0xe4, 0xca, 0x7d, 0xfc, - 0x5e, 0xcb, 0x66, 0xa7, 0x5e, 0xd0, 0x33, 0xed, 0x4e, 0x68, 0x4b, 0x82, 0xa9, 0x2d, 0x75, 0x3c, - 0xfb, 0x8f, 0xd3, 0x29, 0x3e, 0x29, 0x63, 0x89, 0xfa, 0xe4, 0xcc, 0x5e, 0xdc, 0xbd, 0xef, 0xae, - 0x48, 0x94, 0x33, 0xe6, 0x43, 0x65, 0xf8, 0x4b, 0xa6, 0xe7, 0x80, 0xc9, 0xff, 0x28, 0xd1, 0xb2, - 0x9d, 0x22, 0xe9, 0x67, 0xa0, 0x3b, 0x5f, 0x28, 0x67, 0x55, 0xbb, 0xbd, 0xb0, 0x5c, 0xca, 0x9f, - 0x56, 0x74, 0x56, 0x7f, 0x93, 0xef, 0xb1, 0xa0, 0x13, 0x36, 0xf1, 0x34, 0x92, 0x6b, 0x51, 0xb1, - 0x12, 0x38, 0x0d, 0xde, 0x8c, 0x75, 0x3b, 0x89, 0xa7, 0xf6, 0x55, 0xf6, 0xdb, 0xf9, 0x9c, 0x92, - 0x5a, 0x2a, 0x65, 0x55, 0x28, 0x90, 0x01, 0x4f, 0xac, 0xb7, 0x15, 0xcd, 0x8f, 0x6f, 0xf9, 0xff, - 0xa1, 0xa1, 0xaf, 0x70, 0xa3, 0x19, 0xba, 0xf4, 0x00, 0x2b, 0x58, 0xf2, 0xe3, 0x51, 0x51, 0x7c, - 0xcd, 0x5e, 0xaa, 0x1d, 0xa2, 0xf0, 0x9e, 0x7e, 0xcd, 0x32, 0x6b, 0x95, 0x74, 0xf2, 0x72, 0x73, - 0xd4, 0x26, 0x04, 0x17, 0xa0, 0x13, 0x18, 0xf9, 0x71, 0x10, 0xcb, 0xe0, 0x71, 0x6c, 0x79, 0x5b, - 0xcb, 0xb6, 0xad, 0x60, 0xe5, 0xa0, 0x01, 0x36, 0x29, 0xf6, 0x1e, 0x95, 0xe0, 0x0b, 0xba, 0xf1, - 0x31, 0x19, 0xfa, 0xb6, 0x43, 0xf3, 0xd9, 0x53, 0xcc, 0xea, 0x27, 0x22, 0x2a, 0x5e, 0xd5, 0x5b, - 0x9b, 0x5b, 0x71, 0xc5, 0x39, 0x71, 0xf3, 0xa2, 0x68, 0x6b, 0xfd, 0x54, 0xfb, 0x2b, 0x3f, 0x39, - 0x7b, 0xdc, 0x90, 0x05, 0xab, 0x4e, 0xda, 0x26, 0xac, 0xed, 0xd7, 0xd1, 0x35, 0x89, 0x18, 0x10, - 0xf5, 0xc8, 0x67, 0x1e, 0x93, 0x1b, 0x96, 0xab, 0x67, 0x3c, 0xc2, 0x79, 0x0b, 0xc3, 0x1e, 0xf8, - 0xc6, 0xed, 0x90, 0x78, 0x35, 0x9e, 0x32, 0x87, 0xa9, 0x1a, 0x1f, 0x13, 0x3b, 0x5c, 0x08, 0x83, - 0x62, 0xd2, 0x8a, 0x2f, 0x0d, 0x3a, 0xa5, 0x96, 0x56, 0x58, 0x59, 0x25, 0x35, 0x7f, 0x1a, 0xf9, - 0xfc, 0xbe, 0x02, 0x73, 0xb9, 0xf8, 0xc1, 0xad, 0x62, 0x57, 0x1c, 0x75, 0xc8, 0xab, 0x45, 0xe7, - 0x11, 0x85, 0xa4, 0x2f, 0x2a, 0x5c, 0xbd, 0x38, 0xd6, 0x61, 0xb7, 0xda, 0xce, 0xd3, 0x7e, 0xa5, - 0x19, 0x10, 0x44, 0x4e, 0x99, 0x30, 0x45, 0x99, 0x54, 0xe0, 0x77, 0x5b, 0xca, 0x02, 0xd8, 0xb0, - 0x4b, 0xd7, 0xe2, 0x7c, 0xda, 0x19, 0xab, 0x7d, 0xec, 0x6e, 0x08, 0x01, 0xce, 0xbf, 0xb8, 0x38, - 0x9f, 0x16, 0xe9, 0xc3, 0x81, 0xab, 0x19, 0x05, 0x44, 0x77, 0xe3, 0x2e, 0x56, 0xa0, 0x0d, 0x47, - 0x93, 0x24, 0xc8, 0x9a, 0x72, 0x2e, 0xe1, 0x97, 0x00, 0xd3, 0x1e, 0x08, 0x25, 0x70, 0x33, 0x0d, - 0xc2, 0x7e, 0x9e, 0xc0, 0x2e, 0xf7, 0x93, 0xcc, 0xc6, 0xca, 0x84, 0x1d, 0x51, 0x57, 0x55, 0xa8, - 0x7b, 0xc2, 0x7b, 0xf2, 0x28, 0x2c, 0x8c, 0xd7, 0x5f, 0x05, 0xe6, 0x96, 0x93, 0xef, 0x2b, 0x30, - 0x72, 0x48, 0xd3, 0x4c, 0x52, 0x40, 0xe1, 0x1f, 0xbf, 0x66, 0xb8, 0xc3, 0x3f, 0x43, 0x32, 0x6e, - 0x17, 0x7d, 0x5d, 0x4a, 0xcf, 0xff, 0x60, 0x2a, 0xc3, 0x53, 0xb0, 0xa3, 0x79, 0xff, 0x34, 0xe5, - 0x3a, 0x85, 0x8f, 0x7c, 0xd0, 0x92, 0x88, 0x3f, 0xc7, 0x64, 0x40, 0xf6, 0x3c, 0x7f, 0xa2, 0x2e, - 0x12, 0xaa, 0xba, 0x02, 0x6a, 0x74, 0x75, 0x4d, 0x37, 0xe5, 0xa5, 0xcb, 0xbf, 0x1c, 0x76, 0x7b, - 0xc9, 0x44, 0x8a, 0x8d, 0x7a, 0xa3, 0xb7, 0xcc, 0x1b, 0x93, 0x5d, 0xaf, 0xe1, 0x7f, 0x32, 0x18, - 0xb1, 0xb1, 0xfd, 0x4b, 0xf4, 0x79, 0x11, 0x1d, 0x49, 0x65, 0xb0, 0x97, 0x93, 0x9b, 0x69, 0xc3, - 0x6b, 0x11, 0x20, 0xb6, 0xc8, 0x96, 0x43, 0xc1, 0x12, 0xfd, 0x83, 0x96, 0x82, 0xe9, 0x7d, 0xef, - 0x10, 0xe2, 0x37, 0x2f, 0x95, 0x47, 0xd0, 0x8c, 0x6b, 0xe8, 0x47, 0xbf, 0x16, 0x63, 0xc4, 0xf3, - 0xde, 0x3e, 0x44, 0x57, 0xfd, 0x42, 0xd1, 0x74, 0x83, 0xb4, 0x29, 0xba, 0xc5, 0xd6, 0x60, 0x97, - 0x6d, 0x80, 0xc5, 0xb4, 0x66, 0x5b, 0x71, 0x77, 0xed, 0x1f, 0xaa, 0x08, 0x92, 0x97, 0x4d, 0xd7, - 0x8c, 0xe9, 0x35, 0x2b, 0xfc, 0xec, 0xd2, 0x4a, 0x45, 0xf9, 0x2f, 0xbc, 0x88, 0xd3, 0xc6, 0xf2, - 0xc6, 0xc5, 0x12, 0x49, 0x14, 0xfd, 0xf2, 0xfb, 0x8e, 0x66, 0x8d, 0x3d, 0x40, 0x7f, 0xfb, 0xea, - 0x59, 0xfa, 0x1d, 0x47, 0x45, 0xa0, 0x68, 0x32, 0x34, 0x51, 0x56, 0x55, 0xa6, 0x34, 0xcf, 0x92, - 0x8a, 0x99, 0xbd, 0x80, 0x32, 0x49, 0x6a, 0x36, 0x58, 0x42, 0xc0, 0xc0, 0xed, 0x84, 0xe4, 0xcd, - 0xee, 0x57, 0x5b, 0x3d, 0xd3, 0xb9, 0xfd, 0x32, 0xb0, 0x61, 0x6e, 0x76, 0x8c, 0xee, 0xb5, 0x16, - 0x9f, 0x17, 0x82, 0x38, 0x61, 0x11, 0x4b, 0x32, 0xc4, 0xb6, 0x8a, 0x4c, 0x1b, 0xb2, 0xab, 0xe9, - 0x11, 0x9b, 0x5e, 0x8c, 0x41, 0x6f, 0xf2, 0xad, 0x02, 0xc7, 0xea, 0x01, 0x88, 0xc6, 0x5d, 0x05, - 0xff, 0xf4, 0x30, 0xa1, 0xae, 0x71, 0x78, 0xed, 0xac, 0xc5, 0x76, 0x02, 0x8c, 0x51, 0x34, 0xe8, - 0x56, 0xcd, 0x3b, 0xdd, 0x0e, 0xd3, 0x65, 0x47, 0xe8, 0xab, 0xfc, 0x71, 0xf1, 0x30, 0x3b, 0x62, - 0x3b, 0x98, 0x2b, 0xfa, 0x56, 0x3d, 0xc1, 0x80, 0x18, 0x3a, 0x95, 0x17, 0x59, 0x78, 0x8f, 0xb0, - 0xb6, 0x09, 0x23, 0x7c, 0x23, 0x3c, 0xf6, 0xb8, 0x4f, 0x52, 0x9e, 0xfb, 0xf8, 0xa2, 0xaa, 0x72, - 0xf8, 0x71, 0x74, 0x68, 0xf7, 0xef, 0xd9, 0xaf, 0xf5, 0xf8, 0xa4, 0x5b, 0x36, 0x19, 0x29, 0x85, - 0x2b, 0x3f, 0x04, 0x41, 0xb4, 0x0f, 0x05, 0x33, 0x65, 0x6a, 0xb8, 0x66, 0x86, 0xaf, 0x6e, 0xcf, - 0xaf, 0x6f, 0x19, 0x6b, 0x7f, 0x05, 0x9e, 0xa8, 0x61, 0x33, 0x79, 0x2e, 0x8a, 0x3e, 0xea, 0x92, - 0x3a, 0x33, 0xe5, 0x23, 0xbf, 0xcf, 0xf8, 0xd8, 0x7b, 0x5e, 0x1f, 0xd3, 0x7d, 0x4e, 0x5a, 0x2b, - 0xb8, 0x41, 0x1a, 0x5b, 0x67, 0x38, 0xcf, 0xf9, 0xb7, 0xa7, 0x4d, 0x80, 0x19, 0x35, 0xc4, 0xf6, - 0xa1, 0x6d, 0x48, 0xab, 0xb5, 0x09, 0x01, 0x03, 0x7c, 0xfa, 0xbd, 0x7e, 0x57, 0x7d, 0x07, 0x5a, - 0x50, 0x18, 0xee, 0x67, 0xf1, 0x0f, 0x2c, 0xf8, 0x13, 0xfd, 0x80, 0xa5, 0xf7, 0x6a, 0x6f, 0x60, - 0x80, 0x47, 0xca, 0xea, 0xc4, 0xa5, 0x7d, 0xfd, 0xa5, 0x54, 0x11, 0x0f, 0x2c, 0x48, 0xc6, 0x40, - 0xae, 0x0a, 0x50, 0xe9, 0xe3, 0x00, 0xc8, 0xf7, 0x39, 0x00, 0xc7, 0xc7, 0x55, 0x4f, 0x84, 0xb2, - 0x67, 0x1e, 0x79, 0xd1, 0x65, 0xdf, 0xd0, 0x72, 0x2d, 0x9f, 0x77, 0x55, 0x75, 0x26, 0x03, 0xd3, - 0x57, 0x03, 0x24, 0xf6, 0xde, 0x44, 0xe8, 0x43, 0xf5, 0xee, 0x93, 0x37, 0x57, 0x50, 0xd2, 0xd9, - 0xca, 0x95, 0xeb, 0xbe, 0xf7, 0xea, 0x60, 0x4a, 0x32, 0x2d, 0x39, 0xe7, 0xf4, 0xc8, 0x91, 0xa4, - 0xd9, 0x25, 0x44, 0x43, 0x9e, 0x2e, 0x83, 0xf9, 0xfd, 0x13, 0x35, 0xf0, 0x95, 0x24, 0x7d, 0xd0, - 0x26, 0xb0, 0x13, 0x5b, 0x37, 0x43, 0xc1, 0xae, 0xef, 0x4c, 0xfa, 0xe4, 0x09, 0xeb, 0x9d, 0xe3, - 0x07, 0x73, 0xd8, 0xb7, 0x26, 0xf9, 0x81, 0x17, 0x3f, 0x6b, 0x58, 0x9a, 0xb7, 0xdc, 0x6e, 0x2d, - 0x9c, 0x1a, 0xef, 0xb6, 0xde, 0x33, 0x96, 0x78, 0xb3, 0x03, 0x0e, 0x80, 0x1a, 0x42, 0xb3, 0x0c, - 0x44, 0xf0, 0xc0, 0xb2, 0x27, 0xca, 0xa4, 0xf8, 0xf9, 0x5e, 0x42, 0x5c, 0xee, 0xfa, 0x07, 0xca, - 0x33, 0x9d, 0x99, 0xd6, 0x1a, 0xe8, 0x0b, 0x27, 0xfd, 0xc5, 0xf5, 0xbe, 0xc9, 0x30, 0x88, 0xff, - 0x7d, 0x6f, 0x23, 0x47, 0xfb, 0x7f, 0x0d, 0x29, 0xb0, 0xbb, 0xbb, 0xfa, 0x12, 0xc1, 0x04, 0xa8, - 0x1e, 0x93, 0xfa, 0xb1, 0x24, 0x5c, 0xfe, 0xfb, 0xf2, 0x2c, 0x2f, 0x4e, 0xbe, 0xfe, 0x12, 0x84, - 0x84, 0x65, 0x69, 0x34, 0x62, 0x22, 0xd7, 0xa1, 0x87, 0x51, 0x81, 0x83, 0x1f, 0xa9, 0xa5, 0xb6, - 0xf4, 0x83, 0x07, 0x86, 0x91, 0x22, 0xcf, 0x3a, 0x44, 0x53, 0xed, 0x33, 0x09, 0x01, 0xbf, 0x1a, - 0x3d, 0x57, 0x0e, 0x22, 0xc7, 0x16, 0x86, 0x53, 0x53, 0x51, 0xec, 0xbd, 0xb1, 0x38, 0xe8, 0xd8, - 0x90, 0xab, 0x49, 0xc3, 0xa3, 0xeb, 0x6f, 0x1f, 0x4e, 0x19, 0x29, 0xea, 0x30, 0x6e, 0xb8, 0x23, - 0x33, 0x69, 0x4d, 0x4a, 0xbe, 0xc2, 0x74, 0xe9, 0x21, 0x75, 0xaf, 0x87, 0x07, 0xe3, 0xe0, 0xe9, - 0xd8, 0x7e, 0x49, 0xf4, 0x9c, 0xb4, 0x9c, 0x1d, 0xe4, 0xc9, 0x96, 0x09, 0xd2, 0xc3, 0xc3, 0x2b, - 0x10, 0x49, 0x51, 0x98, 0xd9, 0x2e, 0xa3, 0xa0, 0x3d, 0x03, 0x69, 0x45, 0x58, 0x78, 0xf2, 0xaa, - 0x57, 0x4a, 0x76, 0x7e, 0x95, 0xce, 0xc9, 0xaa, 0xa9, 0xb9, 0x94, 0x8f, 0xfb, 0x0b, 0xdd, 0x45, - 0x43, 0x2c, 0x6e, 0x8b, 0xbf, 0x72, 0xf3, 0x14, 0x1c, 0x3c, 0x34, 0x44, 0x0f, 0x6c, 0x1e, 0xcc, - 0xf3, 0x3d, 0x6a, 0x9c, 0xc2, 0xf5, 0x0f, 0x9d, 0x88, 0x66, 0xae, 0xc8, 0x45, 0x8e, 0x4f, 0xa2, - 0xb4, 0x63, 0xfd, 0x87, 0x4d, 0xb3, 0xd6, 0x6b, 0xf8, 0xe6, 0x9f, 0x2c, 0x5e, 0xc5, 0x3e, 0x97, - 0xb7, 0x2f, 0x01, 0xde, 0xe8, 0x49, 0x3a, 0xee, 0xd3, 0xa6, 0x42, 0x4d, 0xe0, 0x7a, 0xe0, 0x59, - 0x34, 0x3f, 0x04, 0xf2, 0x17, 0x9c, 0x74, 0x59, 0x22, 0xff, 0xae, 0x47, 0xf7, 0x46, 0xc0, 0x46, - 0xbf, 0x47, 0x37, 0x8b, 0x90, 0x05, 0x2e, 0x4d, 0x55, 0xa5, 0x3a, 0xf6, 0x1e, 0xfb, 0x1a, 0xf5, - 0x79, 0x3f, 0x9a, 0xcd, 0xf4, 0xa6, 0x8f, 0x93, 0x3b, 0xe0, 0xb5, 0xb9, 0xff, 0x34, 0x9e, 0x23, - 0x10, 0x69, 0x05, 0xdd, 0x53, 0x17, 0x76, 0x2d, 0x38, 0x11, 0x7e, 0xd8, 0xcd, 0xd0, 0xe0, 0x6f, - 0xa2, 0xe9, 0x3c, 0x2f, 0x07, 0xd5, 0xd0, 0x5f, 0x25, 0xb8, 0xad, 0xc0, 0x9c, 0x9a, 0xd2, 0x49, - 0x88, 0x34, 0x5f, 0xda, 0x7b, 0x10, 0xec, 0x1f, 0xcc, 0x29, 0xfe, 0x27, 0x86, 0xf3, 0x2f, 0xd8, - 0x0f, 0x55, 0x8c, 0x8a, 0x4d, 0x2e, 0x94, 0x52, 0xe9, 0x84, 0x11, 0x61, 0x24, 0xca, 0x55, 0x67, - 0x0e, 0xe4, 0x02, 0x7b, 0x02, 0x42, 0xcc, 0xbb, 0x1d, 0xe8, 0xd3, 0xd4, 0x3e, 0xa4, 0xfb, 0xa3, - 0xdd, 0xb7, 0x23, 0x34, 0x33, 0xf4, 0x7e, 0x21, 0x1e, 0x18, 0x13, 0x2f, 0x59, 0x02, 0xca, 0x84, - 0x65, 0x23, 0x9c, 0xac, 0xfd, 0xac, 0x18, 0xe7, 0x58, 0x9a, 0xde, 0xcc, 0xd2, 0x5d, 0xdf, 0xda, - 0x72, 0x8d, 0xe0, 0x94, 0xe5, 0xc3, 0x1a, 0x1e, 0x21, 0xce, 0x87, 0x8a, 0xdc, 0xe8, 0x81, 0xb4, - 0x7c, 0x3d, 0xfc, 0x67, 0x60, 0x72, 0x73, 0xd8, 0x9c, 0xef, 0x85, 0x6b, 0x8f, 0x0e, 0x0b, 0x67, - 0x84, 0xb3, 0xc3, 0x7e, 0x10, 0xa5, 0x00, 0x1f, 0x09, 0x46, 0x97, 0x6c, 0x08, 0x83, 0xc0, 0x66, - 0x19, 0x29, 0xb1, 0xd0, 0xf8, 0xec, 0x2f, 0x8d, 0x2d, 0xa4, 0x79, 0x05, 0xa8, 0x5f, 0x85, 0x8e, - 0x6e, 0x4c, 0xae, 0x6b, 0x22, 0xc4, 0x75, 0xc3, 0x45, 0xf6, 0xac, 0xec, 0x23, 0x40, 0x75, 0x23, - 0x16, 0xb1, 0x06, 0x52, 0x45, 0x0b, 0x21, 0xeb, 0x8a, 0x8d, 0x1c, 0xaf, 0xa5, 0x85, 0x1d, 0x46, - 0x8f, 0x80, 0x87, 0x71, 0x6a, 0x9e, 0x47, 0x24, 0x57, 0x94, 0x38, 0x1f, 0x7a, 0x5e, 0xda, 0xab, - 0x1d, 0xdd, 0x7f, 0x59, 0xbd, 0x81, 0xad, 0x3b, 0xa4, 0x2d, 0x34, 0x74, 0x16, 0x4f, 0xe3, 0xf0, - 0xb2, 0xba, 0x06, 0x87, 0x1d, 0xa5, 0x7f, 0x52, 0x52, 0xe8, 0xff, 0xfd, 0xcd, 0x32, 0x2f, 0x94, - 0xab, 0xf5, 0x7d, 0xa5, 0xe1, 0xcc, 0x5e, 0x06, 0x5c, 0xf0, 0x65, 0xa7, 0x0c, 0x86, 0x24, 0x1b, - 0xd4, 0x80, 0xbb, 0x1e, 0x3a, 0x27, 0xd1, 0xb9, 0xac, 0xa4, 0x8c, 0x36, 0xba, 0x6a, 0x97, 0x0f, - 0x25, 0x58, 0x47, 0x7c, 0x84, 0xb3, 0x1f, 0x97, 0x4d, 0x9c, 0x5d, 0x61, 0x80, 0xf3, 0xdb, 0x90, - 0x1c, 0xec, 0x10, 0x59, 0x91, 0x70, 0xb1, 0x20, 0x54, 0xcb, 0x50, 0x62, 0x59, 0x10, 0x0c, 0x56, - 0x47, 0xfb, 0xfb, 0x22, 0x25, 0xc1, 0xdf, 0xf6, 0xb1, 0xf9, 0x0c, 0x91, 0x88, 0x1e, 0x53, 0x56, - 0x8a, 0xde, 0xb3, 0x55, 0x49, 0x99, 0x32, 0xa3, 0x0c, 0xb9, 0xe4, 0xc9, 0xbe, 0x8d, 0x35, 0x32, - 0x11, 0xab, 0x11, 0x6a, 0x19, 0xa5, 0xdb, 0xcd, 0x98, 0xae, 0xcd, 0x40, 0xa4, 0x56, 0x57, 0xcb, - 0x4c, 0xf0, 0x2a, 0xc1, 0xa1, 0x6b, 0x7e, 0xb2, 0xb7, 0x96, 0x74, 0x79, 0x47, 0x12, 0x3f, 0x34, - 0x13, 0xf6, 0x2f, 0xcd, 0x06, 0xfc, 0xc7, 0x12, 0x9c, 0x0e, 0x5c, 0x0f, 0x20, 0xd0, 0x64, 0xf7, - 0xd5, 0x49, 0x94, 0xa1, 0xb0, 0x09, 0xf6, 0x34, 0xc9, 0x5e, 0xba, 0xa4, 0xab, 0x8f, 0x07, 0x32, - 0xcd, 0x32, 0x53, 0xa0, 0x51, 0xb5, 0xe7, 0x6e, 0x84, 0xdf, 0x3a, 0xe5, 0x47, 0xc0, 0xbf, 0xa5, - 0x28, 0x2a, 0xa3, 0xba, 0x8c, 0x95, 0x13, 0xab, 0x63, 0xe6, 0x2d, 0x48, 0xd9, 0xb3, 0xb8, 0xea, - 0x05, 0x21, 0x5f, 0x19, 0x84, 0x12, 0x6c, 0x2f, 0x71, 0xaa, 0xe4, 0xd2, 0xe2, 0x1b, 0x02, 0x9a, - 0xd9, 0xb3, 0x79, 0x9f, 0xcd, 0xcf, 0xe7, 0x9d, 0x46, 0xa9, 0x86, 0xb3, 0xd9, 0xd4, 0xe8, 0x8b, - 0x40, 0x62, 0x7b, 0x02, 0xbb, 0xb3, 0x9c, 0x69, 0x05, 0xcf, 0x1b, 0x77, 0xe3, 0x6d, 0x94, 0x26, - 0x1e, 0x08, 0xcc, 0xa6, 0xba, 0x88, 0x99, 0x8a, 0x3a, 0x92, 0x40, 0xb5, 0xcf, 0x94, 0xc2, 0x2c, - 0xf5, 0x85, 0xf0, 0xfd, 0x21, 0xa2, 0xa0, 0x36, 0x65, 0x3f, 0x45, 0x77, 0x8e, 0x6d, 0x7f, 0x60, - 0x6f, 0x96, 0xbd, 0x6c, 0x83, 0x22, 0x3c, 0x9e, 0x2b, 0xce, 0x17, 0xed, 0xd3, 0x14, 0x71, 0xf2, - 0x6e, 0xd5, 0xb1, 0x1a, 0xaf, 0x12, 0x20, 0x51, 0x3e, 0x1e, 0x7d, 0x13, 0x40, 0xc3, 0x95, 0x92, - 0x3f, 0x1f, 0xa6, 0xa8, 0xa4, 0x50, 0x05, 0x11, 0xaa, 0x51, 0xc9, 0xe1, 0x91, 0x70, 0x24, 0xa5, - 0xab, 0xe6, 0x07, 0x43, 0x86, 0xa5, 0xc2, 0xc2, 0x87, 0xd9, 0x82, 0x37, 0x69, 0xd8, 0xcb, 0x33, - 0xea, 0x5f, 0x53, 0x50, 0xaa, 0xed, 0x35, 0xa5, 0x37, 0x5c, 0x7b, 0x4b, 0x40, 0x66, 0xdb, 0xad, - 0xcf, 0xf4, 0xb6, 0xcd, 0x16, 0x1c, 0xa6, 0xbf, 0xbd, 0xa5, 0x05, 0xa6, 0x34, 0xf4, 0x2c, 0xfb, - 0xd7, 0x04, 0xc1, 0x79, 0xa9, 0xeb, 0x5f, 0x4f, 0x5c, 0x40, 0x58, 0x24, 0x0c, 0x1d, 0x42, 0x18, - 0x19, 0x38, 0x7f, 0x82, 0x79, 0x02, 0x46, 0x99, 0xee, 0x77, 0x0a, 0x7b, 0x56, 0x46, 0x2d, 0x40, - 0xec, 0xc0, 0xff, 0x55, 0xd0, 0xa1, 0xc0, 0x13, 0x80, 0xa5, 0x2c, 0x92, 0xf4, 0x68, 0xbf, 0xa7, - 0xd0, 0xff, 0x49, 0x0f, 0xdd, 0x94, 0x79, 0x32, 0xd1, 0x07, 0x00, 0x2b, 0xda, 0x94, 0xe4, 0x8e, - 0x61, 0x2d, 0xb7, 0x9d, 0x2d, 0x76, 0x31, 0x53, 0x1e, 0x21, 0x80, 0x6f, 0xd5, 0xbf, 0xdd, 0x18, - 0xc0, 0x01, 0xa4, 0x4c, 0x43, 0x08, 0x86, 0x14, 0xc2, 0xf8, 0x16, 0xb8, 0x8d, 0xe7, 0xba, 0x06, - 0xd1, 0xd6, 0x02, 0xf1, 0x52, 0xa0, 0xa1, 0xa6, 0x0e, 0xe0, 0x38, 0x76, 0xdc, 0x71, 0x14, 0xe8, - 0x8d, 0xef, 0x8b, 0x5a, 0x44, 0x2d, 0x3d, 0xdf, 0xad, 0x0a, 0x14, 0x3e, 0xc4, 0x08, 0x7a, 0x8c, - 0xc6, 0xd1, 0xe8, 0xdd, 0x10, 0x6d, 0x27, 0x72, 0xf6, 0x7c, 0xb8, 0x91, 0xd8, 0xca, 0xcb, 0xaa, - 0x2c, 0xb4, 0x6b, 0x0d, 0xba, 0xac, 0xd7, 0xd2, 0x6d, 0x1e, 0x98, 0x0f, 0xf9, 0xa4, 0x6e, 0xe3, - 0x1c, 0xfc, 0xc0, 0x20, 0x05, 0xd0, 0x2a, 0x3c, 0x5b, 0xba, 0x5a, 0x9c, 0x2c, 0x27, 0x0b, 0xb0, - 0x61, 0x86, 0x04, 0x2f, 0x8e, 0x13, 0xd6, 0x7b, 0xc6, 0x64, 0x54, 0x83, 0xe8, 0x5f, 0x60, 0x86, - 0xc3, 0xac, 0x9d, 0x7c, 0x76, 0x8e, 0xa9, 0xb8, 0x16, 0x77, 0x1a, 0x3d, 0x89, 0x69, 0x2e, 0x64, - 0x39, 0xcd, 0x83, 0xfc, 0x89, 0xe1, 0x7a, 0x33, 0xcf, 0xa2, 0xde, 0x5e, 0xe2, 0x2a, 0x09, 0xfa, - 0xc8, 0xcc, 0x28, 0xad, 0x7c, 0xe1, 0xba, 0x3a, 0xcf, 0x28, 0xed, 0x4d, 0xa9, 0xdf, 0x9c, 0x85, - 0xc5, 0x6c, 0x4d, 0x94, 0x93, 0x3e, 0xd1, 0x42, 0x5f, 0x39, 0x15, 0x76, 0xb8, 0x96, 0x6f, 0x21, - 0xa1, 0x17, 0xde, 0x96, 0xc8, 0x1d, 0x58, 0x25, 0xd6, 0x41, 0x0b, 0x08, 0x63, 0xef, 0x88, 0x09, - 0x91, 0xe1, 0xc9, 0xfd, 0x46, 0xff, 0x7e, 0x59, 0x6f, 0x57, 0x36, 0xed, 0x7b, 0x89, 0x19, 0x0a, - 0x41, 0x17, 0x5a, 0x2a, 0x5c, 0x9f, 0x03, 0x3f, 0x0b, 0x93, 0x68, 0x90, 0x58, 0x50, 0x4a, 0x7f, - 0x9f, 0x52, 0xbd, 0xa1, 0xb3, 0xd2, 0x88, 0x66, 0xb3, 0xe4, 0x77, 0xfd, 0x3f, 0x63, 0x79, 0x98, - 0x4e, 0xed, 0x2d, 0x92, 0x39, 0x15, 0x32, 0x6f, 0x82, 0x0f, 0xaf, 0xf1, 0x43, 0xef, 0xd2, 0x5c, - 0x74, 0xca, 0x23, 0xdc, 0xe9, 0x0f, 0x7e, 0x2c, 0x79, 0x1d, 0xbb, 0x4c, 0x06, 0xd8, 0x24, 0x19, - 0x49, 0xce, 0xc9, 0xdb, 0x4e, 0xce, 0xe0, 0xbb, 0xa2, 0x8e, 0x7b, 0xa0, 0x2d, 0x1e, 0xe1, 0x18, - 0xc5, 0x8b, 0xb3, 0xda, 0xb4, 0x26, 0xf0, 0x1f, 0xca, 0xcc, 0x12, 0xe2, 0x6e, 0xf8, 0x62, 0x57, - 0xf8, 0xd8, 0xa5, 0xea, 0x67, 0xf9, 0xa2, 0x71, 0x02, 0xf5, 0x60, 0x0b, 0xdc, 0x5e, 0xdc, 0xbd, - 0x9c, 0xbd, 0xf3, 0x64, 0x78, 0x3c, 0x28, 0xf0, 0x2e, 0xa3, 0x11, 0x79, 0xe4, 0xf8, 0xcd, 0xc7, - 0x12, 0xc5, 0x0e, 0x54, 0x7a, 0xc4, 0x3f, 0x62, 0x8d, 0x3f, 0xae, 0x16, 0xb3, 0x5b, 0xa8, 0x3c, - 0x92, 0x29, 0x92, 0x60, 0x75, 0xaa, 0xf4, 0xf8, 0x1c, 0x93, 0xd2, 0x17, 0x5e, 0x18, 0x66, 0xab, - 0x7a, 0xa2, 0x6b, 0x9d, 0x4f, 0x37, 0x7d, 0x1b, 0x61, 0xa9, 0xb6, 0x2d, 0xb7, 0xab, 0x45, 0x02, - 0x70, 0x15, 0x52, 0xba, 0xb5, 0xc6, 0x46, 0x6e, 0x6e, 0x06, 0xdd, 0x30, 0x01, 0xf2, 0xb8, 0xdd, - 0x92, 0xb2, 0x93, 0x45, 0x12, 0x72, 0x3e, 0x24, 0x0c, 0x73, 0x06, 0x5c, 0xd1, 0x53, 0x6f, 0x4d, - 0x03, 0xf0, 0xbe, 0x06, 0x5b, 0xbc, 0x9b, 0x68, 0x40, 0xec, 0xc0, 0x7f, 0xc6, 0xa1, 0x5d, 0x2f, - 0xe2, 0xb8, 0x92, 0x2d, 0xbf, 0xc6, 0xb6, 0xe5, 0x11, 0xda, 0x8b, 0xd3, 0x44, 0x28, 0x05, 0x96, - 0x9d, 0x3d, 0x6a, 0xe3, 0xb4, 0x42, 0xc8, 0x96, 0x46, 0xf7, 0xc2, 0x1d, 0xd1, 0x88, 0x31, 0x0f, - 0xfa, 0x98, 0x2a, 0x0e, 0xb1, 0x73, 0xce, 0xac, 0x6a, 0x42, 0xb5, 0xa2, 0x72, 0x94, 0x34, 0xb8, - 0xec, 0xb6, 0x51, 0x95, 0xd0, 0xf3, 0x6a, 0x8d, 0x2b, 0x2f, 0x19, 0x23, 0x2b, 0x6b, 0xa1, 0x36, - 0x54, 0xa1, 0x49, 0xc7, 0x02, 0x89, 0x29, 0xf8, 0xd1, 0x73, 0x64, 0xe1, 0x31, 0xa0, 0x0f, 0xf0, - 0x92, 0x7a, 0xcd, 0x6b, 0x4c, 0x0f, 0x66, 0x16, 0x8d, 0x06, 0x6b, 0xd1, 0x97, 0xed, 0x63, 0x3a, - 0xe0, 0x8a, 0x95, 0x90, 0x83, 0xb9, 0xd7, 0xe5, 0x80, 0xfd, 0xb9, 0x2a, 0xce, 0xeb, 0xbd, 0x24, - 0x4d, 0xec, 0x3c, 0x88, 0x16, 0xd6, 0xed, 0xca, 0xa6, 0x40, 0x7f, 0xec, 0x37, 0x23, 0x8d, 0x3a, - 0x67, 0xc9, 0x36, 0x1e, 0x8f, 0x60, 0x80, 0x7c, 0x00, 0x73, 0x8b, 0x12, 0x77, 0x92, 0xa4, 0xeb, - 0xcc, 0x8e, 0x5d, 0xe2, 0x96, 0x7a, 0x80, 0xee, 0x33, 0x4f, 0xb1, 0x27, 0xa5, 0xa7, 0x4e, 0xe6, - 0x31, 0x4f, 0x61, 0xe4, 0xc7, 0x78, 0xd3, 0x5a, 0x8a, 0xea, 0xd5, 0x5b, 0x08, 0xe3, 0x9c, 0x0a, - 0x1d, 0xf0, 0x46, 0x26, 0x5a, 0x18, 0xa2, 0xf3, 0xda, 0x71, 0xa2, 0xcb, 0x75, 0x93, 0x92, 0x4c, - 0x7d, 0xee, 0x1b, 0x3b, 0x7a, 0x11, 0x0a, 0x1a, 0x7e, 0xf6, 0x94, 0xf5, 0x8a, 0xed, 0x1a, 0x71, - 0xe3, 0xa1, 0x79, 0x9b, 0xa1, 0x25, 0xde, 0x73, 0x8b, 0x64, 0x54, 0x47, 0x95, 0xf8, 0x0b, 0x74, - 0x57, 0x44, 0x8f, 0x08, 0x0c, 0xbe, 0x9e, 0x81, 0xaa, 0xdc, 0x1d, 0x52, 0x72, 0x57, 0xcf, 0xf0, - 0x65, 0xbd, 0xb4, 0xd6, 0x6a, 0xc9, 0x20, 0x43, 0x71, 0xd7, 0x4c, 0x30, 0xd4, 0xec, 0xfe, 0xea, - 0x72, 0x16, 0x70, 0x92, 0x32, 0x2d, 0xc6, 0xa6, 0x4c, 0x3c, 0xa0, 0x4a, 0xf5, 0xb5, 0x29, 0x05, - 0x02, 0x03, 0xbd, 0x4e, 0x62, 0x60, 0x7e, 0xea, 0x8a, 0x45, 0xdf, 0xe7, 0xc3, 0xf3, 0x20, 0x66, - 0xc1, 0xcf, 0x54, 0x18, 0x6e, 0xca, 0x57, 0x1f, 0xd7, 0x68, 0x22, 0x7b, 0x72, 0x2b, 0x54, 0x54, - 0x1d, 0x9a, 0xb6, 0x4e, 0x64, 0x52, 0xed, 0x16, 0x29, 0x0f, 0x88, 0x3b, 0x25, 0x04, 0x67, 0x3d, - 0xb6, 0x74, 0x1f, 0x77, 0x9e, 0x54, 0xb4, 0x6f, 0x6a, 0x79, 0xba, 0x92, 0x0a, 0x5f, 0xf0, 0xa2, - 0x06, 0x65, 0x98, 0x25, 0x0c, 0xff, 0x76, 0x30, 0x02, 0x3d, 0x52, 0x16, 0xc7, 0x5d, 0xf1, 0x96, - 0x41, 0x54, 0xbf, 0x32, 0x06, 0x90, 0x40, 0xcb, 0xca, 0x07, 0xff, 0xb0, 0xc1, 0x1e, 0x98, 0x76, - 0x08, 0xbd, 0x59, 0xdd, 0x60, 0x43, 0x27, 0x8e, 0xfe, 0x31, 0xcc, 0x40, 0x28, 0x58, 0xae, 0x98, - 0x1b, 0x4a, 0x85, 0xd9, 0x55, 0x76, 0xc3, 0xd2, 0xee, 0xa6, 0x02, 0x4d, 0x99, 0x2b, 0x54, 0xd1, - 0xb1, 0x3c, 0x20, 0x4f, 0xe0, 0x13, 0x53, 0xe3, 0xd0, 0xf5, 0x0b, 0x7b, 0xd7, 0xd7, 0x8a, 0xec, - 0x92, 0x90, 0x22, 0x28, 0x4e, 0x28, 0xea, 0x66, 0x57, 0x99, 0x66, 0x9d, 0x4e, 0x6a, 0x81, 0xb1, - 0x30, 0x79, 0x4f, 0x2a, 0x22, 0x12, 0x21, 0xdf, 0x07, 0xd9, 0x5b, 0xf2, 0xa9, 0x81, 0x18, 0xf6, - 0xdb, 0x12, 0xea, 0x56, 0x51, 0x43, 0xb7, 0x76, 0x54, 0xf1, 0xe1, 0x1f, 0xc0, 0x47, 0xae, 0xd5, - 0x4e, 0xcc, 0x33, 0x46, 0x0b, 0x69, 0xcf, 0x43, 0x05, 0xe3, 0x7f, 0xfe, 0x05, 0x33, 0x8d, 0x54, - 0xe9, 0x3a, 0x66, 0xc5, 0xc1, 0x84, 0xc3, 0x0f, 0x9f, 0x88, 0x8c, 0x6f, 0x07, 0xa2, 0x2a, 0x32, - 0x16, 0xa0, 0xc2, 0xab, 0xc8, 0x85, 0x69, 0xbf, 0x1e, 0xcb, 0x1e, 0xf4, 0x9d, 0x59, 0xba, 0x5a, - 0xe0, 0xc2, 0xdd, 0x94, 0x06, 0x90, 0x18, 0x16, 0x0c, 0x75, 0x5f, 0x65, 0x20, 0x58, 0xfe, 0xb4, - 0x35, 0xaa, 0xc8, 0xdb, 0xd4, 0x2b, 0x3f, 0x7f, 0x4d, 0x52, 0x95, 0xa1, 0xf3, 0x51, 0x83, 0xfa, - 0xe1, 0x9e, 0x62, 0x83, 0x69, 0xb3, 0x20, 0x31, 0x1d, 0x52, 0x40, 0x66, 0xb8, 0x56, 0x08, 0x39, - 0x11, 0xab, 0xd9, 0x0c, 0xb3, 0x63, 0x01, 0x3f, 0x14, 0x72, 0xc7, 0x9c, 0xda, 0xa2, 0x72, 0x87, - 0xb1, 0xc8, 0x33, 0xcb, 0xda, 0x40, 0xd9, 0x25, 0xd6, 0x1e, 0xec, 0xa2, 0x94, 0xf1, 0x85, 0x20, - 0x00, 0x32, 0x33, 0x64, 0x65, 0x34, 0x6b, 0x80, 0x1c, 0x8e, 0x8b, 0x1f, 0xc0, 0x09, 0xba, 0xbc, - 0xac, 0x75, 0x38, 0xda, 0xc0, 0xb8, 0x6a, 0x6c, 0xe6, 0xd5, 0xec, 0x88, 0xec, 0x5c, 0x7a, 0xc9, - 0x6f, 0x49, 0xe8, 0xe1, 0x85, 0x50, 0x16, 0x8e, 0xc1, 0x31, 0x89, 0x7f, 0x8e, 0x6c, 0x91, 0xad, - 0xc7, 0xcd, 0x06, 0x52, 0x19, 0x22, 0x45, 0x4b, 0xac, 0xd1, 0xea, 0x59, 0xee, 0xab, 0x93, 0x3a, - 0x0f, 0xe1, 0x06, 0x38, 0xcf, 0xd3, 0x2b, 0xfb, 0xbc, 0x32, 0xc5, 0xab, 0xab, 0x94, 0xcd, 0xd3, - 0x4f, 0xa8, 0x8a, 0x53, 0x97, 0x00, 0x13, 0xee, 0xd3, 0x44, 0xc2, 0x8b, 0x08, 0xd6, 0xc6, 0xf6, - 0xa1, 0x7b, 0x0e, 0x96, 0xa7, 0x6a, 0x31, 0xb7, 0xe0, 0x26, 0x70, 0xb0, 0x7b, 0x05, 0x15, 0x42, - 0xc9, 0x32, 0x3d, 0xb6, 0xb3, 0x61, 0xeb, 0xdb, 0x60, 0x95, 0x24, 0xdf, 0x8a, 0xe0, 0x21, 0x04, - 0x5c, 0x0f, 0xa2, 0x44, 0xff, 0x9c, 0xe1, 0xd0, 0xb9, 0xe3, 0x19, 0x72, 0xe0, 0xb9, 0x0b, 0x8f, - 0xa7, 0xed, 0x5c, 0xc7, 0x01, 0x14, 0x5d, 0x2a, 0xcb, 0x21, 0x9f, 0x7c, 0x58, 0x31, 0x0d, 0xde, - 0x9f, 0x57, 0x21, 0x2b, 0x3a, 0xb6, 0x41, 0x0a, 0x61, 0x11, 0xde, 0xff, 0x10, 0x42, 0x30, 0x95, - 0xed, 0x28, 0x01, 0x59, 0xe0, 0xd7, 0x31, 0x68, 0x34, 0x2d, 0x79, 0xa2, 0x3a, 0xf5, 0xa9, 0x51, - 0x2a, 0xa9, 0xb6, 0xb9, 0x81, 0x5f, 0xb8, 0x8d, 0xb8, 0xd5, 0x90, 0x63, 0x80, 0xd4, 0x55, 0x93, - 0xff, 0xc5, 0x71, 0xfb, 0x91, 0x81, 0xcb, 0x66, 0x61, 0x6c, 0x83, 0x99, 0x67, 0x10, 0xf3, 0xf0, - 0x00, 0xf7, 0x9a, 0x55, 0xfe, 0xad, 0xdd, 0xce, 0x25, 0xf1, 0xef, 0x67, 0xbc, 0x8d, 0x7e, 0xf1, - 0xb2, 0x64, 0x74, 0x93, 0x1f, 0xde, 0x70, 0x7c, 0x6c, 0x9e, 0x3a, 0x77, 0x6b, 0x3a, 0x8d, 0x5a, - 0x54, 0x6e, 0xc9, 0x7a, 0xec, 0x9d, 0xa2, 0x64, 0x3b, 0x46, 0xfb, 0x07, 0xfc, 0xa2, 0x99, 0x51, - 0xd6, 0xbb, 0x7c, 0x5f, 0xc6, 0x90, 0xda, 0xb2, 0xb1, 0x65, 0xf8, 0x86, 0x5b, 0xcf, 0xbe, 0xbe, - 0xa2, 0xe2, 0x1f, 0x9d, 0x0d, 0x0f, 0x83, 0xa1, 0xa3, 0xf6, 0x51, 0x06, 0xf0, 0xf9, 0x14, 0x91, - 0xa2, 0x3b, 0x5a, 0x7a, 0xe9, 0xb6, 0x54, 0x2d, 0x08, 0x9e, 0xf3, 0x3f, 0x71, 0x13, 0xe6, 0x12, - 0xdd, 0x22, 0x8b, 0xd0, 0x59, 0x68, 0xa5, 0x2d, 0x5c, 0xad, 0x54, 0x26, 0x2c, 0x7b, 0x1b, 0x87, - 0x02, 0x05, 0x29, 0x71, 0x4c, 0xae, 0x9a, 0x3c, 0x93, 0x9c, 0x61, 0x01, 0x4e, 0x7b, 0xe0, 0xf9, - 0x4c, 0xe6, 0x9f, 0x7d, 0x92, 0x93, 0x69, 0xd7, 0x45, 0xdf, 0x00, 0x4d, 0x20, 0xb5, 0xe2, 0xde, - 0xf0, 0x6c, 0xd1, 0x7e, 0xe8, 0xa6, 0x87, 0xd8, 0xa0, 0x13, 0xfd, 0x1a, 0xff, 0x32, 0xa1, 0x58, - 0x11, 0xe7, 0x96, 0x19, 0x76, 0xba, 0x25, 0x97, 0x17, 0x57, 0xb2, 0xae, 0x4e, 0x0a, 0x8b, 0x4a, - 0x83, 0x7e, 0xb8, 0xf2, 0xde, 0xf9, 0xdb, 0x3f, 0x06, 0xe8, 0x81, 0x4e, 0x6e, 0x66, 0xef, 0x8a, - 0x14, 0x94, 0x7a, 0x87, 0x87, 0x34, 0x2d, 0xf4, 0x5c, 0x9f, 0x36, 0xb0, 0xa3, 0x07, 0xe7, 0x0c, - 0x7b, 0x52, 0x7c, 0x56, 0x25, 0xd8, 0xcf, 0xf3, 0xad, 0xb2, 0x9b, 0x41, 0x4a, 0x95, 0x6a, 0xac, - 0x0c, 0x0d, 0x3e, 0x9d, 0x66, 0x43, 0xd4, 0x74, 0xe9, 0x02, 0xf3, 0x92, 0x91, 0xbd, 0x9f, 0x5f, - 0xbb, 0x1a, 0x94, 0x4c, 0xbd, 0x44, 0xbc, 0xb4, 0x7d, 0x7a, 0xe5, 0xf6, 0x9b, 0xa9, 0xac, 0x17, - 0x9b, 0x00, 0x2a, 0xb3, 0x3f, 0xfa, 0x27, 0x5f, 0x22, 0x09, 0x00, 0x9a, 0x9c, 0x31, 0x3f, 0x28, - 0x4a, 0xe9, 0x4c, 0xc2, 0xaf, 0xac, 0xa3, 0x8e, 0xe6, 0xb5, 0x1c, 0xbf, 0x6f, 0x51, 0x20, 0xe3, - 0xb3, 0xed, 0x9e, 0x7f, 0x5a, 0x00, 0x42, 0xe4, 0x36, 0xea, 0x6c, 0x7d, 0x25, 0x85, 0xc3, 0xc1, - 0xfa, 0xbe, 0x7d, 0x76, 0x59, 0x06, 0xc0, 0x57, 0x1f, 0xf5, 0x5e, 0xf2, 0xa0, 0xab, 0x3c, 0xa5, - 0xb0, 0xaa, 0xeb, 0xfb, 0x98, 0xd4, 0x50, 0x4e, 0x91, 0x63, 0xa3, 0x49, 0x97, 0xcf, 0xf9, 0x63, - 0xbb, 0x02, 0x9a, 0x7c, 0x59, 0x7b, 0xff, 0xb6, 0x99, 0xf9, 0x9e, 0x66, 0x0d, 0xb2, 0x9f, 0x15, - 0x26, 0x56, 0xb8, 0x18, 0xf9, 0x8e, 0xa0, 0x1a, 0x90, 0x2b, 0x02, 0x4e, 0x52, 0x08, 0x1f, 0x6f, - 0x48, 0x89, 0x47, 0xd5, 0xb7, 0x46, 0xbd, 0x8f, 0xb8, 0x59, 0xf4, 0x53, 0x45, 0xa2, 0x16, 0x77, - 0x09, 0x57, 0xe3, 0x25, 0xfc, 0x24, 0xe0, 0x4e, 0x21, 0xdc, 0x63, 0xd6, 0x2e, 0xad, 0xcc, 0x71, - 0x03, 0x15, 0x56, 0xd8, 0x58, 0xce, 0xb6, 0x84, 0xae, 0xda, 0x6a, 0xa7, 0xfc, 0x7f, 0x2b, 0xc7, - 0x65, 0xb5, 0x7f, 0x83, 0x39, 0x12, 0x06, 0x12, 0x8a, 0xcd, 0xb5, 0xd2, 0x7f, 0xef, 0x09, 0x99, - 0xa3, 0x20, 0x8a, 0x33, 0x69, 0x3f, 0xf0, 0x8a, 0xa8, 0xd5, 0x74, 0xeb, 0xd9, 0xbb, 0xac, 0xd9, - 0x5b, 0xc6, 0xa8, 0x8f, 0xa9, 0x2b, 0x7b, 0x83, 0x19, 0x20, 0xeb, 0xd6, 0x9b, 0xa6, 0xdb, 0xe8, - 0x72, 0x9e, 0xdb, 0x51, 0x16, 0x15, 0x29, 0x70, 0x42, 0x50, 0x65, 0xcb, 0xe8, 0xce, 0x87, 0xc7, - 0x77, 0x53, 0x7d, 0x8d, 0xbe, 0x39, 0xb7, 0xe1, 0xca, 0x1d, 0x8d, 0x15, 0x80, 0x18, 0xba, 0x54, - 0xce, 0xb3, 0x36, 0x5b, 0x2d, 0x79, 0xed, 0xfb, 0xe9, 0x44, 0x6e, 0xe2, 0x59, 0x0a, 0xe6, 0x84, - 0x57, 0xf9, 0xe2, 0x02, 0xce, 0xc8, 0xb3, 0x35, 0x7a, 0x3c, 0x19, 0x61, 0x3c, 0x94, 0x1c, 0xeb, - 0xd8, 0x6c, 0x03, 0x53, 0x1a, 0xcf, 0x35, 0x41, 0xf7, 0xd0, 0x2e, 0x45, 0x00, 0x6a, 0x56, 0xb2, - 0x16, 0x51, 0x0a, 0x93, 0xf2, 0xaf, 0x9a, 0xd3, 0x6c, 0xc4, 0x76, 0x6f, 0x63, 0x4d, 0x28, 0x6b, - 0x20, 0xa6, 0x4a, 0x91, 0x43, 0x97, 0x29, 0x00, 0x9c, 0x81, 0x63, 0x9b, 0xe7, 0xcb, 0x8b, 0x6a, - 0xb2, 0xa2, 0xef, 0xe5, 0x53, 0x8a, 0x15, 0x8c, 0x94, 0xd3, 0x0a, 0x16, 0x94, 0x8b, 0xec, 0xab, - 0x2b, 0xbf, 0xf0, 0x90, 0x1f, 0xf5, 0x48, 0x0d, 0x1a, 0xa2, 0x94, 0x3e, 0x76, 0xef, 0xd3, 0x7d, - 0xd7, 0xd6, 0xaa, 0xc9, 0x92, 0x3a, 0xd5, 0x2d, 0x3e, 0xce, 0xc0, 0x85, 0x55, 0x51, 0xba, 0x13, - 0xb1, 0xb7, 0x91, 0xe2, 0xe5, 0xd9, 0x64, 0x7e, 0xeb, 0xff, 0xa0, 0xe1, 0x52, 0xe2, 0x9b, 0xd5, - 0x92, 0x26, 0x78, 0x41, 0x98, 0x69, 0x09, 0x80, 0x76, 0x25, 0xc4, 0xcf, 0x45, 0xe7, 0xbb, 0x8e, - 0x0b, 0x4a, 0x74, 0x4d, 0xda, 0x2c, 0x6d, 0xdd, 0x8c, 0x35, 0x6c, 0x06, 0x78, 0xc7, 0x9e, 0x3d, - 0x96, 0xd6, 0xd3, 0x6e, 0xce, 0x80, 0x35, 0xba, 0xdf, 0x87, 0xb9, 0x85, 0x8d, 0xec, 0x87, 0xfa, - 0x7b, 0xea, 0xdd, 0x3f, 0xcf, 0xaf, 0x77, 0x57, 0x1f, 0xb4, 0xb3, 0x7b, 0x87, 0xe1, 0xcc, 0x19, - 0xcf, 0x0a, 0xcf, 0xb8, 0x82, 0xcc, 0x3e, 0xa4, 0x35, 0x78, 0xdb, 0x92, 0x5a, 0x66, 0xee, 0xc5, - 0xc3, 0xfe, 0xb8, 0x63, 0x26, 0xe5, 0xd2, 0xfb, 0x07, 0xbb, 0x51, 0x54, 0x9f, 0x50, 0x3c, 0x39, - 0xa9, 0x12, 0x0b, 0x1e, 0x0c, 0x56, 0x22, 0x92, 0x99, 0x3e, 0x84, 0x63, 0x1f, 0x2c, 0x4a, 0x6b, - 0x24, 0xcb, 0x92, 0x98, 0xfc, 0xca, 0xb7, 0xbe, 0x03, 0x64, 0x9e, 0x85, 0xb1, 0xdc, 0x33, 0xc1, - 0x31, 0x44, 0x27, 0xb2, 0x75, 0x64, 0x18, 0x5a, 0x89, 0xa1, 0xe9, 0x3d, 0x10, 0x37, 0x1e, 0x54, - 0x41, 0x13, 0x1a, 0x23, 0xa4, 0xe1, 0x6e, 0x61, 0xfb, 0x47, 0xf3, 0xb9, 0xae, 0x98, 0x55, 0xdc, - 0x7e, 0x0d, 0x54, 0x16, 0x6c, 0xe4, 0x1b, 0x8e, 0x44, 0x3c, 0xdf, 0xff, 0x1c, 0xf5, 0x38, 0x3f, - 0xc4, 0x66, 0x34, 0x0e, 0xc5, 0x0d, 0x73, 0x28, 0x09, 0x58, 0x61, 0x0d, 0x2a, 0xb8, 0x17, 0xc5, - 0xa0, 0x0b, 0xbc, 0x73, 0x35, 0xe0, 0xc6, 0x64, 0x35, 0x40, 0x38, 0xce, 0xd5, 0x62, 0x86, 0x61, - 0x3c, 0x65, 0x7d, 0xe0, 0x69, 0x87, 0x00, 0x61, 0xd6, 0x76, 0x4f, 0x57, 0xb8, 0x78, 0x6e, 0xd4, - 0xcb, 0xb4, 0x78, 0x68, 0xb8, 0xdf, 0xa4, 0x09, 0x77, 0x04, 0x31, 0xdb, 0x47, 0x20, 0x07, 0xe7, - 0x3e, 0x09, 0xf7, 0xd9, 0x69, 0x20, 0x7d, 0x41, 0xf2, 0xc0, 0xd9, 0xed, 0x44, 0x16, 0x9b, 0xf6, - 0xd0, 0xdb, 0x95, 0x6c, 0x30, 0x72, 0x11, 0xdc, 0x8d, 0xd9, 0x57, 0xc9, 0x82, 0x3c, 0x8e, 0x73, - 0xc1, 0xaa, 0xb3, 0x9a, 0x28, 0xcc, 0xe4, 0x42, 0xd1, 0x09, 0x23, 0x88, 0x2b, 0xf3, 0xdf, 0x03, - 0x60, 0x9b, 0xd0, 0x8c, 0x9e, 0x12, 0xd7, 0x1b, 0x7d, 0x37, 0xe4, 0x63, 0xa9, 0x12, 0xa1, 0xd7, - 0x18, 0x0d, 0xd6, 0xc1, 0xa5, 0xac, 0x04, 0xf4, 0xce, 0x94, 0xe7, 0x37, 0xcd, 0xf0, 0x79, 0x0d, - 0x5e, 0x0e, 0x8e, 0x45, 0x1c, 0xd6, 0x16, 0x1c, 0x4c, 0x78, 0xb9, 0x2e, 0x13, 0xbd, 0xe6, 0x0f, - 0x3b, 0xb2, 0xd7, 0xcb, 0xc1, 0x15, 0x81, 0xe8, 0xe3, 0x47, 0xe1, 0x41, 0x87, 0x3a, 0xa2, 0xe6, - 0xb7, 0xf4, 0xaf, 0xa3, 0xbd, 0xad, 0x17, 0x37, 0x86, 0x89, 0x9d, 0x74, 0x9a, 0x97, 0x9d, 0x07, - 0xb5, 0xc0, 0xa5, 0x6c, 0x2a, 0xf3, 0x77, 0x69, 0xbb, 0xa8, 0xb8, 0xa1, 0xd4, 0xdf, 0x6d, 0xa3, - 0x97, 0x3d, 0xb9, 0xb0, 0x50, 0xa7, 0xa0, 0x2f, 0xe9, 0xbd, 0x52, 0x39, 0x6d, 0x9c, 0x8d, 0x0a, - 0xd1, 0x52, 0xbd, 0x0d, 0xf0, 0x1d, 0x9e, 0x7f, 0x5e, 0x98, 0xf5, 0x0c, 0x40, 0x7d, 0x78, 0xca, - 0x72, 0x19, 0x8f, 0xfb, 0x5c, 0x78, 0x30, 0x8d, 0x27, 0xa9, 0xfd, 0xdd, 0x95, 0xfd, 0xa5, 0x59, - 0x8b, 0xb3, 0x7b, 0x41, 0x02, 0x9f, 0x0a, 0x2d, 0xb0, 0x52, 0x54, 0x8e, 0xd1, 0x64, 0x31, 0x96, - 0xb2, 0xfc, 0xf6, 0x20, 0x3a, 0xbb, 0x0b, 0xe2, 0x09, 0x09, 0x3c, 0x42, 0xb2, 0x05, 0x6f, 0x7d, - 0x15, 0x77, 0xa1, 0xff, 0x00, 0x5d, 0x56, 0x06, 0x19, 0xc8, 0xcb, 0x68, 0xa1, 0xc6, 0x39, 0x9e, - 0xbe, 0x44, 0x6c, 0x9e, 0x36, 0x56, 0xaf, 0xb8, 0xa3, 0x7d, 0xae, 0x73, 0x2b, 0xbb, 0x2b, 0xda, - 0x84, 0xa3, 0x0a, 0x0e, 0x27, 0x6f, 0xa1, 0x37, 0x18, 0x16, 0xf9, 0x2c, 0xa4, 0x2a, 0xb1, 0x74, - 0x95, 0x14, 0xd1, 0x39, 0x50, 0xcd, 0x75, 0x0f, 0x52, 0x78, 0x42, 0x7d, 0x47, 0xaa, 0x2e, 0x73, - 0x90, 0xe8, 0x28, 0x8a, 0x13, 0x4e, 0xde, 0x74, 0x39, 0x4d, 0x7c, 0xab, 0x92, 0xd2, 0xd7, 0xc7, - 0xab, 0x4f, 0x3a, 0xa8, 0x7c, 0x55, 0x85, 0x35, 0xc4, 0x1c, 0x09, 0x64, 0x99, 0x6b, 0x18, 0xb3, - 0x1e, 0x36, 0xe9, 0xc8, 0xa8, 0x56, 0xb5, 0xd4, 0xe6, 0xab, 0xb9, 0xfd, 0xe9, 0x03, 0x9b, 0x32, - 0x04, 0x35, 0x8a, 0x12, 0x89, 0x96, 0x86, 0xcb, 0x0b, 0xaf, 0xf7, 0x1c, 0x0a, 0xd3, 0x19, 0xd5, - 0x85, 0xef, 0xbc, 0x27, 0xa6, 0x0f, 0xe8, 0x33, 0x84, 0x6a, 0xc4, 0x53, 0xc3, 0xfb, 0xa4, 0x92, - 0x3f, 0x92, 0x8e, 0x7c, 0x12, 0x45, 0x47, 0x09, 0x4b, 0xd0, 0x1a, 0x54, 0xf3, 0x5e, 0x86, 0xd5, - 0x4c, 0x5f, 0x7b, 0x15, 0xc7, 0x41, 0x91, 0x22, 0x8d, 0x62, 0x1a, 0xd8, 0x23, 0xca, 0xbf, 0xda, - 0x2c, 0x8e, 0x51, 0xc3, 0x89, 0xa6, 0x17, 0x74, 0x8e, 0x46, 0x6c, 0xa4, 0xb0, 0x23, 0x7e, 0xed, - 0xb8, 0xea, 0x28, 0x15, 0xa3, 0x84, 0xab, 0xd2, 0xea, 0x79, 0xfc, 0x56, 0xbf, 0xe7, 0x89, 0xda, - 0x6c, 0x87, 0xdb, 0x6c, 0xe5, 0x14, 0x11, 0x82, 0x00, 0xc8, 0x28, 0xbf, 0x77, 0x75, 0xa6, 0x6e, - 0x97, 0x5f, 0x63, 0xe6, 0x1f, 0x01, 0x64, 0xa8, 0xa9, 0x44, 0xf1, 0xac, 0xec, 0x4a, 0xbd, 0xcc, - 0x6c, 0xf6, 0xea, 0x4a, 0xa2, 0x01, 0xe3, 0x80, 0x2a, 0xf9, 0x9a, 0x34, 0x4a, 0x02, 0xa4, 0x8b, - 0x4c, 0x30, 0x0f, 0x7f, 0x3d, 0x99, 0xe9, 0x3a, 0x12, 0x91, 0x1b, 0x7c, 0x54, 0x72, 0x05, 0x37, - 0xce, 0x16, 0x10, 0x80, 0xf2, 0x5c, 0xaa, 0x8f, 0xbe, 0x89, 0x4d, 0x48, 0x0a, 0x58, 0xdc, 0x6c, - 0x11, 0xc9, 0x36, 0xb7, 0xbe, 0xb0, 0x45, 0xa8, 0xc9, 0xac, 0x09, 0x8f, 0x0b, 0x85, 0x05, 0x03, - 0x83, 0x53, 0x65, 0x94, 0xf9, 0xfb, 0xc6, 0x5e, 0x20, 0xe1, 0x22, 0x13, 0x9e, 0x92, 0x5c, 0xa5, - 0x2f, 0x62, 0x19, 0xf1, 0x8c, 0xbe, 0x82, 0xe6, 0xf1, 0x72, 0x4c, 0x76, 0xd6, 0x48, 0xc5, 0x53, - 0x8e, 0xf1, 0xb6, 0xdd, 0xe5, 0xb7, 0xce, 0x45, 0x9f, 0x13, 0xa6, 0xa1, 0x99, 0x31, 0x28, 0xbf, - 0x71, 0xfe, 0x36, 0x14, 0xfb, 0x9c, 0xb8, 0x49, 0x13, 0x5d, 0xbc, 0x3e, 0x76, 0x04, 0x26, 0x99, - 0x01, 0x11, 0x6f, 0xc5, 0xc7, 0x6a, 0xf6, 0xc1, 0xda, 0x77, 0xab, 0x88, 0x0d, 0xd3, 0x0e, 0xae, - 0x12, 0xef, 0x7b, 0x53, 0xab, 0xd6, 0xd7, 0x59, 0x6c, 0x6f, 0x49, 0x47, 0xad, 0x4b, 0xcd, 0x7d, - 0x70, 0xff, 0x01, 0xef, 0x92, 0x2e, 0xc1, 0x24, 0xba, 0xcb, 0xa2, 0x6a, 0x74, 0x33, 0xbb, 0xa3, - 0xd6, 0x57, 0x36, 0x67, 0x3e, 0xed, 0xf3, 0x36, 0xf7, 0x9e, 0xa3, 0xb6, 0xe8, 0x8d, 0x92, 0xd8, - 0x56, 0xe8, 0x0e, 0x23, 0x03, 0x44, 0x70, 0x25, 0xc9, 0x9b, 0xb3, 0x92, 0x12, 0x71, 0x74, 0xe8, - 0x11, 0xfb, 0x74, 0x21, 0xe6, 0x87, 0x5f, 0x63, 0xbf, 0xd0, 0xc4, 0x06, 0x1a, 0x9f, 0x4c, 0x63, - 0x34, 0xc6, 0x47, 0x09, 0x35, 0x1e, 0xd2, 0x0f, 0xdb, 0x98, 0x70, 0xad, 0xb9, 0xd5, 0x0e, 0x53, - 0xe3, 0x13, 0xde, 0xdb, 0x5a, 0x6e, 0x41, 0x3e, 0x66, 0xb0, 0xed, 0xa1, 0xf2, 0x93, 0x41, 0xa2, - 0x18, 0x23, 0x35, 0x84, 0xe6, 0x8e, 0xce, 0x48, 0x4d, 0x0d, 0x94, 0x15, 0x47, 0x5b, 0x76, 0xf4, - 0x93, 0x3a, 0x88, 0x8b, 0xcd, 0x50, 0xde, 0x19, 0x03, 0x0b, 0x58, 0x6c, 0xec, 0x0a, 0x82, 0xd7, - 0x91, 0x48, 0x12, 0x8f, 0x37, 0x4f, 0x9f, 0xec, 0x99, 0x9f, 0x9d, 0x65, 0xd6, 0xfa, 0x9a, 0x28, - 0xe4, 0xfe, 0x13, 0x8a, 0x8b, 0xdd, 0xae, 0x60, 0xf9, 0xf1, 0x55, 0xe2, 0xb4, 0x92, 0xe8, 0x77, - 0xd7, 0xf6, 0x0f, 0x3a, 0x4b, 0x91, 0x73, 0xea, 0xd2, 0xaf, 0x1d, 0x74, 0x87, 0xe2, 0x61, 0xf0, - 0x2d, 0xc2, 0xb5, 0xf3, 0xa1, 0x77, 0x89, 0x7a, 0xd1, 0x88, 0x27, 0xf3, 0x13, 0x7d, 0x95, 0x8c, - 0x45, 0x26, 0xaa, 0x16, 0xc8, 0x0b, 0xc2, 0x81, 0x1a, 0x7f, 0x09, 0x0a, 0x89, 0xf9, 0x3a, 0x02, - 0xf4, 0x83, 0x3f, 0x57, 0x35, 0xda, 0x6c, 0xc2, 0x5a, 0x9f, 0x57, 0xb8, 0xcc, 0xbe, 0x6f, 0x95, - 0x35, 0x19, 0x98, 0x48, 0x3d, 0x06, 0x5a, 0x58, 0xe2, 0xb3, 0x70, 0x3a, 0xa8, 0x53, 0xc0, 0x2e, - 0x7a, 0xf9, 0x7a, 0x89, 0xc5, 0x6a, 0x93, 0xde, 0xbc, 0x4d, 0x23, 0xb0, 0x5e, 0xcd, 0xfd, 0x60, - 0x7a, 0xee, 0x68, 0x9b, 0x62, 0xca, 0x77, 0xec, 0x72, 0xa4, 0x68, 0x44, 0xc1, 0xa7, 0x9f, 0x85, - 0xb2, 0xc7, 0xe2, 0xfb, 0xd5, 0x2a, 0xeb, 0xcd, 0x1e, 0x33, 0xa7, 0x35, 0x8f, 0x0f, 0x91, 0x79, - 0x4c, 0x25, 0x8f, 0x9a, 0xac, 0xfd, 0x7e, 0x09, 0x39, 0x1b, 0xb7, 0xe5, 0xb5, 0xb5, 0x46, 0xfe, - 0xeb, 0x33, 0xb5, 0xc6, 0x27, 0x5c, 0x87, 0x9a, 0x43, 0xaa, 0x54, 0x50, 0xdb, 0xe9, 0xfa, 0x0b, - 0x9b, 0x8d, 0x85, 0x20, 0x54, 0xea, 0xd0, 0xf8, 0xd4, 0xe0, 0x7f, 0xf9, 0x44, 0x09, 0x63, 0x0d, - 0xff, 0x08, 0x93, 0xf1, 0x28, 0xdf, 0xe4, 0x13, 0xdb, 0xff, 0x32, 0xf9, 0xd5, 0xc4, 0x90, 0xc7, - 0x93, 0x9b, 0xa6, 0xcb, 0x19, 0x26, 0x70, 0x01, 0xa2, 0x26, 0x64, 0x68, 0x4a, 0x80, 0x71, 0x49, - 0x9b, 0x42, 0x68, 0xa6, 0xd1, 0x4f, 0xa2, 0x0f, 0x5b, 0x31, 0x12, 0x68, 0x50, 0xb3, 0x16, 0x93, - 0xb6, 0xf7, 0x2a, 0x87, 0x1c, 0xe1, 0x3a, 0x7f, 0x06, 0x99, 0x51, 0xad, 0xe8, 0x0a, 0x46, 0x44, - 0xcb, 0x9a, 0xa6, 0x08, 0x38, 0x2b, 0xbb, 0xa2, 0x84, 0x3e, 0xe3, 0x60, 0x89, 0x3f, 0xae, 0xb5, - 0x9b, 0x53, 0xc0, 0x8b, 0xf7, 0x9d, 0x41, 0xa9, 0x09, 0x67, 0x76, 0x5d, 0xd1, 0x25, 0x29, 0xf7, - 0x45, 0x1b, 0x45, 0xd8, 0xf5, 0x2b, 0x30, 0xb3, 0xea, 0x1e, 0x5b, 0xae, 0x62, 0x34, 0x69, 0xbf, - 0x92, 0xa0, 0x00, 0x62, 0xd7, 0xfb, 0x7e, 0x78, 0x82, 0x90, 0x84, 0x8a, 0xd2, 0xee, 0x7b, 0xbe, - 0xeb, 0x66, 0x91, 0xc1, 0x87, 0xe8, 0x04, 0xaa, 0xef, 0x4e, 0x2f, 0x4f, 0xa2, 0x27, 0x1c, 0x23, - 0x33, 0x6e, 0xd4, 0x86, 0x5d, 0xf5, 0x8a, 0x34, 0x3b, 0x50, 0xc3, 0x0b, 0x86, 0x44, 0x8e, 0x7b, - 0xcf, 0x5b, 0x74, 0x3b, 0x1f, 0xd8, 0x20, 0x6a, 0x5a, 0xaa, 0xce, 0x4c, 0x03, 0xc9, 0xbb, 0x82, - 0x46, 0x3e, 0x18, 0x81, 0x39, 0x62, 0x52, 0x3f, 0x4d, 0x98, 0x5e, 0x55, 0x60, 0x01, 0xf9, 0x15, - 0xd9, 0x01, 0x42, 0x2d, 0xd2, 0xac, 0xba, 0x1b, 0x7c, 0x0d, 0xba, 0x48, 0x13, 0x6a, 0x25, 0x7c, - 0x65, 0x9a, 0x06, 0xdf, 0x61, 0x6d, 0x0f, 0xac, 0x53, 0xfc, 0x95, 0xba, 0x98, 0xc0, 0x74, 0x54, - 0x9a, 0x72, 0xed, 0x28, 0x93, 0x36, 0x14, 0x4c, 0xcb, 0xa6, 0xc7, 0x77, 0xa9, 0x3c, 0xe3, 0x23, - 0xa0, 0xa8, 0xf3, 0xa3, 0x2f, 0x29, 0xc4, 0x2f, 0x2c, 0xb0, 0xd9, 0xc8, 0x41, 0x47, 0xb3, 0x41, - 0x33, 0xef, 0xdf, 0x42, 0xdf, 0x76, 0xa9, 0x25, 0xdc, 0xdc, 0x77, 0xb4, 0x42, 0xc4, 0x64, 0xc8, - 0x6c, 0xf5, 0x50, 0x88, 0x77, 0x54, 0x50, 0x71, 0x33, 0x0d, 0x9e, 0x60, 0x46, 0xaf, 0xd9, 0x9d, - 0x08, 0xa6, 0x90, 0x6a, 0xa1, 0x47, 0x2a, 0x60, 0xdf, 0x02, 0x68, 0xe3, 0x46, 0x7b, 0xb5, 0x4d, - 0x6a, 0xb5, 0xbc, 0x0d, 0x1b, 0xb1, 0xf5, 0x72, 0x73, 0x48, 0x9e, 0xe0, 0x40, 0xd5, 0xb4, 0xe2, - 0xbb, 0x26, 0x25, 0xae, 0xc6, 0xe6, 0x26, 0x7a, 0xd0, 0xef, 0x91, 0xf4, 0x75, 0xb4, 0xf8, 0xb5, - 0x5f, 0x3d, 0x04, 0x56, 0x6d, 0x51, 0x5a, 0xf0, 0x22, 0xc9, 0xde, 0xd3, 0x06, 0xb3, 0xeb, 0xe1, - 0x60, 0x92, 0xeb, 0x1f, 0x5d, 0xb2, 0xbe, 0x12, 0x73, 0x8d, 0x5c, 0x9f, 0xaa, 0x66, 0xdb, 0xf9, - 0xa5, 0x6c, 0x3b, 0xb1, 0x44, 0x2b, 0xac, 0xf9, 0x1b, 0x6d, 0x25, 0xd0, 0x3e, 0x31, 0x18, 0x53, - 0x56, 0xa2, 0xfd, 0x63, 0x4a, 0x34, 0xae, 0x81, 0x56, 0xdc, 0xb9, 0xe8, 0xcf, 0x72, 0xf9, 0xf0, - 0xd0, 0xa5, 0x3e, 0x78, 0xc5, 0x30, 0x09, 0xf3, 0x02, 0xbf, 0x6f, 0xbc, 0xed, 0x7c, 0x28, 0x10, - 0xf6, 0x2b, 0x3f, 0xd2, 0x65, 0xce, 0xd3, 0xe0, 0xe1, 0x36, 0x05, 0x39, 0x61, 0xe2, 0xf6, 0x97, - 0x33, 0x4b, 0x6e, 0x76, 0x3f, 0x30, 0x2d, 0xc5, 0x92, 0x74, 0xa1, 0x49, 0x93, 0x4e, 0xf3, 0x43, - 0xf5, 0x99, 0x0c, 0x04, 0x6f, 0xff, 0xcb, 0xbf, 0x25, 0xc5, 0xd2, 0xd6, 0xef, 0x1f, 0x37, 0x83, - 0xfa, 0xa7, 0x8c, 0x8a, 0xcb, 0x89, 0x5d, 0x2d, 0x78, 0xb1, 0x57, 0xe6, 0x08, 0xb6, 0x11, 0x7b, - 0x1d, 0x6b, 0x37, 0xcb, 0x73, 0x12, 0xa4, 0x3f, 0xcd, 0x25, 0xf2, 0x29, 0xb4, 0xd0, 0xac, 0xf4, - 0xe4, 0x83, 0xca, 0xe8, 0xc5, 0x88, 0xf7, 0x76, 0xe0, 0xad, 0x3b, 0xb0, 0xd7, 0x9c, 0x8d, 0xa2, - 0x59, 0xf0, 0xf2, 0x56, 0xf5, 0x71, 0x78, 0x89, 0x91, 0xd6, 0x1f, 0x64, 0x56, 0x96, 0xfd, 0xcb, - 0x69, 0x6f, 0x1c, 0x5c, 0x0d, 0x2a, 0x14, 0x86, 0xe0, 0x04, 0x15, 0xd5, 0xd5, 0xf8, 0x70, 0x89, - 0x13, 0x6b, 0x13, 0xaf, 0x30, 0x5b, 0xbf, 0x7a, 0xb6, 0xfb, 0xdb, 0x1a, 0xc3, 0x5d, 0x79, 0x54, - 0x38, 0x43, 0xcf, 0x60, 0x73, 0x94, 0xcc, 0x1a, 0xdd, 0x82, 0xb7, 0x26, 0x8d, 0xe4, 0x13, 0xdd, - 0x9a, 0x82, 0xc3, 0x90, 0x6a, 0x01, 0xb1, 0x4c, 0x91, 0xdc, 0x79, 0xba, 0xe8, 0xec, 0x0f, 0xc6, - 0xae, 0x9d, 0x88, 0x9c, 0xa1, 0xf5, 0xb4, 0x0a, 0x4e, 0x23, 0x3c, 0xd4, 0xd3, 0xbf, 0xb0, 0x94, - 0x9f, 0x77, 0x9a, 0x60, 0x56, 0xb7, 0x3a, 0xcf, 0x3a, 0x90, 0xef, 0xf9, 0xe4, 0x15, 0x7d, 0x2a, - 0xf5, 0x7a, 0x4d, 0x37, 0x5f, 0xac, 0x4f, 0xe0, 0x11, 0xd7, 0x03, 0xac, 0x53, 0x6c, 0x06, 0x5b, - 0xff, 0x5b, 0x5b, 0x27, 0x6b, 0x8a, 0x20, 0x8b, 0xa1, 0xd2, 0x59, 0x32, 0x62, 0x54, 0x69, 0x0b, - 0x5c, 0x36, 0xb8, 0x9d, 0x61, 0xbb, 0x92, 0xcf, 0xa0, 0x5f, 0x69, 0x19, 0x7c, 0x4b, 0xb5, 0xa5, - 0xee, 0xaf, 0xcc, 0x1d, 0x17, 0x6c, 0x45, 0x66, 0xa7, 0x5e, 0x85, 0x40, 0xb5, 0x15, 0xe1, 0xe9, - 0xe1, 0x46, 0x61, 0x73, 0x84, 0xcf, 0x07, 0xc9, 0x79, 0x61, 0x5c, 0x66, 0xff, 0xac, 0x9f, 0x7c, - 0xa8, 0x61, 0x98, 0x0d, 0xef, 0x8a, 0x38, 0xd1, 0xa8, 0x3c, 0x89, 0x76, 0xc5, 0xcf, 0x44, 0x58, - 0x95, 0x11, 0x62, 0xe6, 0x5b, 0xb3, 0xe4, 0xc6, 0x23, 0x1b, 0xed, 0x09, 0xbd, 0x73, 0xdb, 0xd2, - 0x01, 0xbf, 0xb8, 0xd3, 0x7e, 0x11, 0xda, 0xec, 0x0a, 0xae, 0x1b, 0x69, 0x1c, 0x8b, 0xed, 0x68, - 0x9a, 0x1e, 0xfc, 0xf6, 0xa0, 0x81, 0x76, 0xf7, 0xe1, 0x25, 0x57, 0xe3, 0xba, 0x88, 0x23, 0x3e, - 0xdc, 0x83, 0x88, 0xff, 0x61, 0x2c, 0x0e, 0xb5, 0xde, 0xc5, 0x1c, 0x76, 0x0d, 0x12, 0x33, 0x34, - 0x8d, 0xc3, 0x12, 0xdb, 0x33, 0xdf, 0x84, 0xe5, 0xda, 0x40, 0x87, 0xa1, 0x16, 0xbc, 0x65, 0xa7, - 0xf3, 0x05, 0xa6, 0x10, 0x48, 0xff, 0x87, 0xe8, 0xcc, 0xb5, 0x1f, 0x9f, 0x5d, 0x13, 0x71, 0x60, - 0xb0, 0xbe, 0xd0, 0x8a, 0x13, 0x2a, 0x3b, 0xd9, 0x54, 0x2a, 0xd7, 0x3c, 0x55, 0x01, 0x88, 0x52, - 0x25, 0x2f, 0x22, 0xce, 0x0a, 0x77, 0xa7, 0x39, 0x3c, 0x42, 0xc9, 0x22, 0xba, 0x4d, 0xcc, 0xe5, - 0xc1, 0x41, 0xda, 0x1e, 0xd4, 0x25, 0x6c, 0xbd, 0xeb, 0x42, 0x7a, 0xc0, 0xb5, 0x68, 0x3e, 0xa4, - 0xa0, 0x21, 0x3a, 0x43, 0x03, 0xe6, 0x29, 0x6c, 0xfb, 0xba, 0xdf, 0xc6, 0x5a, 0x45, 0x19, 0x6b, - 0x37, 0xa0, 0xc5, 0x58, 0xf1, 0x3b, 0xc0, 0x5c, 0x32, 0x09, 0x69, 0xe1, 0x46, 0xd6, 0x78, 0x02, - 0xa7, 0x69, 0x8e, 0x5c, 0x95, 0x20, 0x61, 0xd1, 0x8a, 0xbb, 0x44, 0x57, 0x24, 0x1c, 0x07, 0xfb, - 0xaf, 0x8b, 0x4e, 0x9d, 0x14, 0x20, 0x6c, 0x03, 0x4f, 0xbc, 0x94, 0xaf, 0x94, 0xe3, 0x6d, 0x6e, - 0xab, 0xac, 0xcb, 0x09, 0x1b, 0x56, 0xd9, 0x9a, 0xfd, 0xc8, 0xee, 0x77, 0xa3, 0x2a, 0x57, 0xc0, - 0x35, 0xbe, 0xa2, 0xa3, 0x8d, 0x74, 0xc0, 0x9a, 0x34, 0x48, 0xfc, 0xb4, 0x0f, 0xe2, 0xb5, 0x15, - 0x8b, 0x84, 0x0c, 0x4f, 0x30, 0x68, 0x5a, 0xb8, 0xa7, 0xbc, 0xa9, 0xde, 0xf4, 0x41, 0x30, 0x35, - 0x45, 0x7b, 0x14, 0x61, 0x31, 0xc8, 0x27, 0x92, 0x08, 0xde, 0x0b, 0x17, 0x15, 0xc7, 0x71, 0xc7, - 0x6f, 0x06, 0x82, 0x5a, 0x6d, 0x62, 0x70, 0xe2, 0x1c, 0x18, 0x87, 0x6d, 0x7f, 0x95, 0x98, 0x70, - 0xde, 0x3c, 0xeb, 0x1e, 0xc4, 0x8c, 0x21, 0xcf, 0xb9, 0x20, 0xa0, 0xec, 0x05, 0xe0, 0x41, 0x74, - 0xa1, 0xb4, 0xeb, 0xab, 0x1d, 0xde, 0x0b, 0xe5, 0x66, 0x23, 0x9f, 0x3e, 0xa0, 0x02, 0x70, 0xb8, - 0x61, 0x7e, 0x45, 0xac, 0xe0, 0x59, 0x14, 0xba, 0x11, 0x22, 0x50, 0x2e, 0x2d, 0x63, 0xfd, 0x5b, - 0x6a, 0x9c, 0x9b, 0xc4, 0x77, 0xa5, 0xab, 0x97, 0xe8, 0xd9, 0xc5, 0xf5, 0x18, 0x7d, 0xa2, 0x1f, - 0x19, 0xda, 0xe3, 0xff, 0x7b, 0xe9, 0x3e, 0x52, 0x93, 0x22, 0xb8, 0x01, 0xc4, 0xcd, 0xb2, 0x8f, - 0x2a, 0x1b, 0x2d, 0x5a, 0x6b, 0x7b, 0x91, 0x08, 0xd1, 0x8c, 0xf4, 0x85, 0x1e, 0xca, 0xa1, 0x17, - 0x34, 0xae, 0xbe, 0x42, 0x16, 0xf3, 0x5f, 0x31, 0x4a, 0xee, 0xca, 0x74, 0x17, 0x35, 0xc0, 0x22, - 0xad, 0x8a, 0x34, 0x31, 0x04, 0xff, 0x95, 0x84, 0x9f, 0xd7, 0x84, 0x68, 0x3e, 0xd0, 0x46, 0x5b, - 0x8b, 0x53, 0x06, 0x63, 0x32, 0x84, 0xd7, 0x30, 0xc2, 0x43, 0xf4, 0x5e, 0x62, 0x06, 0x61, 0x1b, - 0x48, 0x3a, 0xa7, 0x3e, 0x2c, 0x89, 0x35, 0x65, 0xd3, 0x46, 0xa2, 0x08, 0xec, 0x8f, 0xa8, 0x40, - 0xe6, 0xca, 0x4e, 0xa5, 0xfa, 0xc4, 0x49, 0x08, 0x20, 0xd5, 0x15, 0x6c, 0xee, 0x4e, 0x7a, 0x22, - 0x6c, 0x8d, 0x84, 0xfb, 0xdd, 0xf1, 0xdf, 0xfe, 0x6b, 0x36, 0x6f, 0x22, 0xa3, 0x1e, 0x63, 0x45, - 0x09, 0x88, 0x6a, 0x52, 0x13, 0xc4, 0x5d, 0x13, 0x0e, 0x81, 0xb5, 0xd1, 0x33, 0x3e, 0x41, 0xae, - 0x41, 0x36, 0xde, 0xb5, 0x91, 0xca, 0xa3, 0xc6, 0xb2, 0x44, 0x27, 0xd2, 0xcf, 0xfc, 0xcf, 0xb7, - 0xe4, 0xf8, 0x6d, 0x6a, 0xa5, 0x12, 0x5d, 0x4a, 0x57, 0xc4, 0x73, 0x5a, 0x56, 0x65, 0x66, 0x9e, - 0xbc, 0xd8, 0xb8, 0x81, 0xe1, 0xa5, 0xdf, 0x17, 0x82, 0x76, 0x4e, 0x09, 0x66, 0x70, 0x1c, 0x19, - 0xf0, 0x9a, 0x5c, 0x2b, 0x11, 0xeb, 0xca, 0xae, 0x90, 0xf1, 0x89, 0x36, 0x85, 0xb0, 0x4e, 0xb5, - 0xdb, 0xaa, 0xe9, 0xdd, 0x6a, 0x6e, 0x92, 0x07, 0xce, 0x4a, 0x74, 0xb2, 0x12, 0x90, 0x77, 0x47, - 0x47, 0x78, 0x14, 0x2e, 0x54, 0x7d, 0x37, 0x17, 0x50, 0x4b, 0xf0, 0x09, 0x6c, 0x5c, 0x50, 0xb0, - 0x3e, 0x30, 0x25, 0x22, 0x52, 0x1e, 0x72, 0xb2, 0xe6, 0x50, 0x91, 0xf3, 0x7e, 0xa8, 0x08, 0x30, - 0x27, 0xfb, 0x07, 0x13, 0x6d, 0xce, 0x4d, 0x23, 0x48, 0xc8, 0xec, 0x24, 0xf1, 0x1d, 0x9e, 0x45, - 0x7e, 0x48, 0x37, 0x8e, 0xc7, 0x96, 0xc5, 0x02, 0x78, 0xd4, 0x32, 0x5e, 0x31, 0x95, 0x28, 0x1e, - 0x5a, 0xb5, 0x67, 0x37, 0xf5, 0xac, 0xb4, 0x5b, 0xb3, 0xac, 0x0e, 0xa5, 0x77, 0x27, 0x1c, 0xf9, - 0xba, 0x8e, 0x9f, 0xd0, 0xf3, 0x24, 0x20, 0xa5, 0xee, 0xb4, 0xf8, 0xcd, 0x42, 0xaf, 0x34, 0xc3, - 0xde, 0xa8, 0x76, 0xf7, 0x0a, 0xd1, 0x35, 0x86, 0x3d, 0x99, 0x4d, 0x47, 0xb0, 0x0a, 0x07, 0xf3, - 0xc2, 0xe1, 0xb0, 0x34, 0xe2, 0xf5, 0xac, 0x25, 0xf7, 0xeb, 0x91, 0x83, 0xcc, 0xe4, 0x58, 0xc0, - 0x1f, 0xdc, 0x1d, 0xab, 0xf0, 0xcf, 0xdf, 0xc9, 0x38, 0xe4, 0xab, 0xdb, 0x61, 0x30, 0x79, 0xd1, - 0x9f, 0xde, 0xad, 0xf7, 0x82, 0xef, 0xea, 0x13, 0x90, 0xdd, 0xaa, 0xd4, 0xf9, 0xea, 0x5b, 0x6c, - 0x9f, 0x02, 0x11, 0x34, 0xcb, 0x0f, 0x56, 0x37, 0xcc, 0xd8, 0x2e, 0x37, 0x23, 0x38, 0xff, 0x75, - 0x88, 0x1b, 0x90, 0x4e, 0xe9, 0x68, 0x91, 0x42, 0xc9, 0x68, 0x34, 0x28, 0xef, 0x63, 0x57, 0x81, - 0x93, 0x06, 0x97, 0xb5, 0x26, 0x01, 0x0a, 0x3d, 0x68, 0xf0, 0xac, 0x64, 0x84, 0xd5, 0x52, 0x4b, - 0xa4, 0x60, 0xdb, 0x70, 0x12, 0x27, 0xb4, 0x88, 0x03, 0xd0, 0xab, 0xfa, 0x4b, 0x8f, 0xec, 0xb3, - 0x1c, 0x05, 0x15, 0x8e, 0x23, 0xf6, 0xa2, 0x27, 0x82, 0x91, 0xd4, 0xc7, 0xc2, 0xe9, 0x42, 0xde, - 0x70, 0xc9, 0x67, 0xb0, 0x04, 0x7a, 0xc4, 0xa6, 0xd3, 0xbf, 0x07, 0xa1, 0xab, 0x9b, 0x89, 0x37, - 0xfe, 0x70, 0x15, 0x78, 0x99, 0x33, 0x9a, 0xf0, 0xd4, 0x19, 0x36, 0x50, 0x2f, 0x81, 0x1c, 0x15, - 0x5b, 0x36, 0xa4, 0x40, 0xaa, 0xde, 0x9b, 0x79, 0xf3, 0xdf, 0x25, 0xe2, 0x1e, 0xc3, 0x9a, 0xb5, - 0xb2, 0xf3, 0x2e, 0x70, 0x8b, 0x6a, 0xa8, 0x20, 0x9c, 0xbb, 0x9b, 0xb4, 0xd7, 0x20, 0x82, 0x97, - 0xbd, 0x41, 0x3b, 0x8f, 0xab, 0x11, 0x7d, 0x86, 0xbe, 0x9b, 0xee, 0x70, 0x84, 0x0d, 0xea, 0x8a, - 0x35, 0xe3, 0xfa, 0xf5, 0x1f, 0xac, 0xce, 0x33, 0xfa, 0x35, 0x71, 0xfe, 0xe6, 0x9e, 0xce, 0x22, - 0x2e, 0x80, 0x24, 0x76, 0x22, 0x90, 0x4f, 0xe8, 0xf3, 0x0a, 0x65, 0xee, 0x07, 0xe8, 0xd4, 0xd9, - 0x9c, 0x04, 0xe3, 0x75, 0x9f, 0xec, 0x98, 0x59, 0xbc, 0x8d, 0x96, 0x6a, 0xf8, 0x0c, 0x23, 0xc5, - 0x6e, 0x85, 0x70, 0xd2, 0x84, 0x5f, 0xcc, 0xef, 0x7d, 0x62, 0x7b, 0x87, 0x9c, 0x9e, 0x15, 0xd7, - 0x9a, 0x7a, 0xd9, 0x5a, 0x7d, 0x4e, 0x5d, 0x51, 0xdd, 0xe1, 0x3c, 0xea, 0x6e, 0xd3, 0x36, 0x83, - 0x35, 0x16, 0x82, 0xf7, 0xde, 0x51, 0x6c, 0x61, 0x68, 0xcb, 0xf1, 0x57, 0x7e, 0x07, 0xe7, 0xf5, - 0x83, 0x6d, 0xfd, 0xc7, 0x52, 0xc1, 0xbc, 0x66, 0x41, 0x47, 0x15, 0x78, 0xe0, 0xc5, 0x00, 0xac, - 0x59, 0xc0, 0x7e, 0x9e, 0xd7, 0x23, 0xcf, 0x2a, 0x07, 0xa9, 0x72, 0x62, 0xf9, 0x55, 0xe7, 0x8b, - 0xed, 0x7f, 0xb9, 0x2b, 0xff, 0x83, 0xfb, 0x26, 0x77, 0xc0, 0x7c, 0x36, 0x19, 0x41, 0xfa, 0x8a, - 0x01, 0x6e, 0xba, 0x7a, 0xc8, 0x16, 0x00, 0x4a, 0x7d, 0x50, 0xc2, 0xac, 0x6b, 0xc6, 0xaf, 0xc7, - 0x97, 0xb8, 0x53, 0x18, 0x39, 0x5b, 0x5b, 0xa9, 0x49, 0x04, 0x6f, 0x61, 0x62, 0xf3, 0xcd, 0xeb, - 0x14, 0x71, 0xe3, 0x15, 0x42, 0x0e, 0x07, 0x99, 0x3b, 0xe3, 0x93, 0x27, 0x90, 0xd6, 0x18, 0xea, - 0x82, 0xf1, 0x95, 0x0c, 0xb3, 0xc1, 0xb1, 0xb0, 0x78, 0x63, 0x20, 0xfc, 0x48, 0xd9, 0xd9, 0x24, - 0x50, 0xd5, 0x2b, 0x13, 0x2b, 0xcf, 0x7f, 0xca, 0xc3, 0xac, 0x6a, 0x24, 0xf3, 0x05, 0xac, 0x0f, - 0x02, 0xd3, 0x74, 0x4a, 0x13, 0x6f, 0x13, 0x21, 0xe1, 0x55, 0x1b, 0x6f, 0xbb, 0x44, 0x58, 0x88, - 0xbc, 0x2a, 0xf2, 0x21, 0x13, 0x64, 0x30, 0x52, 0x84, 0x56, 0xe1, 0x83, 0x02, 0xb4, 0xe3, 0xc7, - 0x4d, 0xbc, 0x43, 0x87, 0x6f, 0x86, 0xaf, 0x82, 0x99, 0x01, 0x85, 0xa5, 0x57, 0x1f, 0x18, 0xc8, - 0xea, 0xb9, 0x17, 0x69, 0x57, 0x9a, 0xe7, 0x37, 0xbd, 0x9e, 0x4e, 0x81, 0x54, 0xea, 0xd8, 0x27, - 0x63, 0x94, 0xd2, 0x81, 0xbe, 0x4f, 0xc5, 0x25, 0x84, 0x4c, 0x00, 0x72, 0x46, 0x6a, 0x4d, 0x98, - 0x96, 0x5c, 0xd3, 0xcb, 0x6c, 0x57, 0xd3, 0xa3, 0x85, 0x78, 0x0b, 0x56, 0xbd, 0x30, 0x86, 0x6e, - 0x4c, 0xaa, 0x79, 0x82, 0xbb, 0x79, 0xcb, 0x18, 0xf7, 0xfa, 0x1e, 0xfb, 0x18, 0x1f, 0x13, 0x89, - 0x2d, 0x0d, 0x63, 0xe3, 0xc6, 0x9f, 0xcb, 0xc4, 0x14, 0x01, 0x38, 0x77, 0x09, 0x1c, 0xcf, 0xe0, - 0xb9, 0x74, 0x37, 0xaf, 0x62, 0x38, 0x26, 0xd7, 0x25, 0x6c, 0x91, 0x5c, 0x20, 0x0c, 0xf0, 0x17, - 0x0b, 0xe5, 0xba, 0x41, 0x03, 0xe7, 0xed, 0x0e, 0xcd, 0x71, 0xe4, 0x70, 0xe9, 0xe7, 0xa9, 0x84, - 0x86, 0xbd, 0xa7, 0xcc, 0xcf, 0x2e, 0xf6, 0x06, 0xb5, 0x2c, 0xc5, 0x98, 0xc1, 0xae, 0xbd, 0x34, - 0xe8, 0xca, 0x89, 0xf3, 0xb9, 0x58, 0xa3, 0xe5, 0xeb, 0xb0, 0x66, 0x7e, 0x04, 0xf6, 0x50, 0xeb, - 0x9e, 0x9d, 0x5f, 0x9b, 0xf3, 0x29, 0xcc, 0x38, 0x08, 0xdc, 0x3a, 0x65, 0xf0, 0x14, 0x25, 0xa5, - 0x69, 0x7d, 0xd6, 0xfa, 0x0e, 0xb8, 0x76, 0xa1, 0x0a, 0xaa, 0x46, 0x60, 0x0f, 0x73, 0x43, 0x76, - 0x02, 0xc5, 0x5f, 0x0b, 0xe2, 0x38, 0x5d, 0x9f, 0x9f, 0xac, 0xa6, 0x2f, 0x05, 0xa4, 0xce, 0x12, - 0x6d, 0x59, 0xed, 0x6c, 0x70, 0x97, 0x0e, 0x1f, 0x83, 0xfd, 0x9f, 0xb5, 0x4c, 0x2b, 0x5a, 0x47, - 0xb4, 0xcb, 0x48, 0xbf, 0x0c, 0x74, 0x94, 0x08, 0xe6, 0x9c, 0xb7, 0xc4, 0x26, 0x78, 0xdf, 0x46, - 0x1e, 0x92, 0xcb, 0x57, 0xce, 0x6b, 0x37, 0x7d, 0x37, 0x87, 0x48, 0x0c, 0xe2, 0x53, 0x6c, 0xf5, - 0x25, 0xa1, 0xf6, 0x76, 0x03, 0xd8, 0x3b, 0xa8, 0xaa, 0x8f, 0x12, 0xfe, 0xeb, 0x40, 0x54, 0x5e, - 0x1d, 0x71, 0x77, 0xa8, 0xaa, 0xff, 0x65, 0x69, 0x7c, 0xa1, 0xec, 0x66, 0x0a, 0x3b, 0x7a, 0x56, - 0x8c, 0x2a, 0x35, 0x18, 0x55, 0xd8, 0x26, 0x72, 0x0d, 0x6e, 0x00, 0x86, 0xc4, 0x52, 0x63, 0x34, - 0x1c, 0x11, 0x9b, 0xad, 0x12, 0xca, 0x7a, 0x47, 0x76, 0x14, 0xca, 0xc4, 0x94, 0xa7, 0x53, 0x5b, - 0x6e, 0xae, 0x6a, 0xaf, 0xf0, 0x10, 0x46, 0x75, 0x48, 0x1a, 0xe7, 0xcf, 0xd3, 0x5b, 0x6d, 0x3e, - 0xa9, 0x02, 0x83, 0x2b, 0xc7, 0x55, 0x9d, 0xa7, 0xc7, 0x22, 0xc5, 0xca, 0xb2, 0xfa, 0x6e, 0xc7, - 0xe6, 0xe4, 0x36, 0x29, 0x16, 0x8b, 0xca, 0xa3, 0x18, 0x7e, 0x9e, 0x9e, 0xa0, 0x94, 0xd4, 0x84, - 0xe0, 0xb4, 0x37, 0xea, 0x74, 0x2f, 0xf6, 0x7f, 0x10, 0x8c, 0xcb, 0xdd, 0x49, 0x9e, 0x14, 0xc8, - 0x5a, 0x60, 0x7d, 0x13, 0x8b, 0x4a, 0xe6, 0xbc, 0xaf, 0x73, 0x0a, 0xed, 0x87, 0x13, 0x66, 0x15, - 0xc5, 0x4b, 0x91, 0xdc, 0xad, 0xf1, 0x98, 0xc7, 0x9c, 0xe2, 0x29, 0x3d, 0xec, 0x22, 0x00, 0x1e, - 0xd6, 0xb6, 0xb6, 0x6d, 0x3d, 0x52, 0x83, 0x40, 0x80, 0xe8, 0xcc, 0x2a, 0x23, 0x43, 0x66, 0x8a, - 0xbf, 0xc8, 0x7b, 0x9e, 0x3d, 0xbe, 0xe3, 0x6e, 0x7b, 0x13, 0xf5, 0xf6, 0x23, 0x56, 0xc1, 0xb5, - 0xa5, 0x10, 0xfb, 0x0e, 0x3b, 0xbe, 0xa5, 0x53, 0x1b, 0x88, 0xe0, 0x7c, 0xfe, 0xa8, 0x8d, 0xb2, - 0x25, 0xde, 0x52, 0x69, 0xd4, 0x52, 0x28, 0x01, 0xb5, 0x42, 0x61, 0x40, 0xd5, 0x0c, 0x58, 0x00, - 0x74, 0xd1, 0x80, 0xe0, 0xab, 0x2c, 0x7a, 0xe9, 0x53, 0xe3, 0x76, 0xff, 0x85, 0x39, 0xbf, 0xa3, - 0xf4, 0x4a, 0xa9, 0x59, 0x4b, 0x88, 0xef, 0xad, 0xe7, 0x69, 0x34, 0xf6, 0x1b, 0xdc, 0x3e, 0x85, - 0xa3, 0x60, 0x05, 0x95, 0x25, 0x0c, 0xd8, 0xd3, 0xbc, 0xaf, 0xd3, 0xa5, 0x9b, 0x9f, 0x20, 0x13, - 0xa2, 0x5a, 0xb2, 0x9b, 0x25, 0xa0, 0xd8, 0x1b, 0xe5, 0xd1, 0xf7, 0x8b, 0x01, 0x08, 0x88, 0xde, - 0x1c, 0x19, 0x5e, 0x74, 0x92, 0xd1, 0xe2, 0xd6, 0xc4, 0x9c, 0xf2, 0xc2, 0x92, 0x9f, 0xe7, 0x0a, - 0xc6, 0x8f, 0xfe, 0x84, 0xc3, 0xba, 0x43, 0x7a, 0xe8, 0x22, 0x4c, 0x74, 0x45, 0x83, 0x56, 0xef, - 0x88, 0x8c, 0x5e, 0x95, 0x8c, 0xdc, 0x26, 0x48, 0xc9, 0x5e, 0x53, 0x6d, 0xa3, 0x96, 0x4d, 0x4f, - 0xe8, 0xc1, 0x70, 0x20, 0xba, 0x33, 0xc2, 0xd3, 0x63, 0xdd, 0x2d, 0x1c, 0x23, 0x50, 0x36, 0x27, - 0x31, 0xb7, 0xd0, 0x1a, 0x2b, 0x29, 0xd1, 0xdf, 0x69, 0x01, 0x27, 0xc9, 0xff, 0x6b, 0xc2, 0x9c, - 0xcb, 0x88, 0xc9, 0x60, 0xd2, 0xf5, 0x7b, 0x1d, 0x22, 0x05, 0x04, 0x58, 0xc9, 0x85, 0x1e, 0x2d, - 0x83, 0x0d, 0x76, 0x45, 0x60, 0x96, 0x50, 0x8a, 0x05, 0xc8, 0x01, 0xe1, 0xbb, 0xac, 0x06, 0xa6, - 0x13, 0xe6, 0xf7, 0x43, 0xfb, 0x48, 0xef, 0xd3, 0x2a, 0x07, 0xfe, 0xed, 0x85, 0x9a, 0x00, 0x1d, - 0x8f, 0x8f, 0xe8, 0xe6, 0xd6, 0xe8, 0x12, 0x9b, 0x52, 0x1b, 0x24, 0x43, 0xb0, 0xec, 0x14, 0x71, - 0xee, 0xca, 0x78, 0xfb, 0xf8, 0xba, 0x6e, 0xc6, 0x45, 0x9e, 0xc7, 0xf2, 0x33, 0x04, 0x12, 0x0c, - 0x3e, 0x03, 0x9b, 0x35, 0xf5, 0xaa, 0xc5, 0x32, 0xd6, 0xdc, 0xc6, 0xe2, 0x84, 0x72, 0x15, 0x63, - 0x70, 0xd3, 0x10, 0x64, 0x4d, 0x55, 0x91, 0x6a, 0x0f, 0xab, 0x11, 0xca, 0x81, 0x3c, 0xfd, 0x68, - 0x4a, 0x97, 0x0d, 0xa3, 0xc7, 0x6f, 0x30, 0x88, 0xd8, 0x9e, 0x08, 0x0c, 0x31, 0xe1, 0x5f, 0x31, - 0xbe, 0xe8, 0x84, 0x97, 0xdd, 0xe5, 0x04, 0x11, 0x07, 0xca, 0xff, 0x61, 0x4f, 0x42, 0xae, 0x48, - 0x07, 0x86, 0x08, 0x2b, 0xf1, 0xd1, 0x60, 0x7b, 0x91, 0xda, 0x09, 0x5a, 0x54, 0x0c, 0xf3, 0x33, - 0x1d, 0x0b, 0xff, 0xa6, 0xf4, 0x0b, 0xf1, 0x59, 0xbc, 0x72, 0x41, 0xf3, 0xaa, 0x8f, 0x17, 0x43, - 0x18, 0x54, 0xbd, 0xc8, 0xd0, 0xaf, 0xcd, 0x5d, 0x35, 0x38, 0x3e, 0xb8, 0xfe, 0xe4, 0x41, 0x67, - 0x7f, 0x44, 0xfe, 0x6a, 0xc7, 0x2d, 0x0d, 0x82, 0x2b, 0xe0, 0xc5, 0xe7, 0x1f, 0xf0, 0xb3, 0xbf, - 0x15, 0xcf, 0xbc, 0xee, 0xca, 0x06, 0xc7, 0xf1, 0xdd, 0x6d, 0x1e, 0x10, 0xbb, 0xd5, 0x87, 0xef, - 0x98, 0xd6, 0x33, 0xba, 0xba, 0x94, 0x0c, 0x4d, 0x55, 0x3e, 0xcd, 0x42, 0x21, 0x5a, 0xd8, 0x94, - 0x00, 0x20, 0x15, 0x3f, 0x34, 0x59, 0x8e, 0x99, 0xf8, 0x8f, 0xb7, 0x45, 0x8a, 0x71, 0x85, 0x16, - 0x67, 0x21, 0x08, 0xde, 0x24, 0x9c, 0x25, 0x9a, 0xa4, 0x53, 0xef, 0xb9, 0xa6, 0xd7, 0x2d, 0x1a, - 0x67, 0xaf, 0x8f, 0x65, 0x7f, 0x89, 0x2a, 0xa4, 0x73, 0x3a, 0x0e, 0xd2, 0x4d, 0x45, 0xac, 0x5b, - 0xb4, 0x1b, 0x15, 0x83, 0x89, 0xaa, 0x14, 0x1b, 0x4a, 0xfc, 0x90, 0x2b, 0xb7, 0x02, 0x83, 0x0c, - 0xd5, 0xc7, 0x28, 0x4d, 0x09, 0x00, 0x58, 0x4d, 0x88, 0x7c, 0x99, 0xd5, 0xc6, 0x1b, 0xd7, 0x8f, - 0xd6, 0x62, 0x3c, 0xd0, 0x14, 0x72, 0x6e, 0xb9, 0x07, 0xb1, 0xd4, 0x39, 0x37, 0x81, 0x5f, 0x77, - 0xe3, 0x8a, 0x56, 0x25, 0xeb, 0x7e, 0x76, 0x2a, 0xe3, 0x58, 0xae, 0x0d, 0x57, 0xd5, 0xc7, 0x7a, - 0x66, 0x3c, 0x11, 0x48, 0xfa, 0xfb, 0x5d, 0x1b, 0xed, 0xa7, 0xfd, 0xd6, 0x05, 0xa7, 0xe2, 0x35, - 0x69, 0x52, 0xe7, 0xe3, 0x01, 0x41, 0x2c, 0x26, 0xab, 0x43, 0x8d, 0xa9, 0x00, 0x91, 0x09, 0xe4, - 0x90, 0x81, 0x7f, 0xae, 0xd5, 0x2d, 0x30, 0xd7, 0x56, 0x36, 0xf2, 0xba, 0xdd, 0x5d, 0x55, 0x50, - 0x1c, 0x2d, 0xba, 0x5b, 0xa8, 0xcf, 0xcb, 0x55, 0xc6, 0x24, 0x81, 0x6a, 0x58, 0x99, 0x62, 0x0e, - 0xd9, 0x45, 0x5a, 0xb3, 0x3b, 0xb7, 0x61, 0x73, 0x60, 0xf7, 0xdd, 0xfb, 0x81, 0x18, 0x16, 0xa8, - 0xae, 0xa4, 0xe2, 0x59, 0xb9, 0x2d, 0x2b, 0xc1, 0xd1, 0x49, 0xd5, 0x7e, 0x4f, 0xc0, 0x68, 0xfe, - 0x3f, 0x9f, 0x13, 0x3e, 0xee, 0x3e, 0x59, 0xe2, 0x8c, 0x2e, 0x14, 0x11, 0xfe, 0x82, 0x6d, 0x35, - 0xaf, 0x6b, 0x45, 0x15, 0x77, 0x43, 0x7d, 0xa1, 0xb2, 0x52, 0xbf, 0x14, 0x64, 0xf2, 0xab, 0x2a, - 0x75, 0x56, 0x51, 0x1c, 0x35, 0x57, 0x8a, 0xa6, 0xff, 0x4c, 0x9e, 0xf5, 0xf3, 0x87, 0x57, 0x6e, - 0x9d, 0xc0, 0xb0, 0x29, 0x29, 0xa3, 0x23, 0xfa, 0xbf, 0xb5, 0xad, 0xeb, 0xf7, 0x01, 0x16, 0xc4, - 0x98, 0xd3, 0x4e, 0x1a, 0x8e, 0x53, 0xb6, 0xec, 0x6e, 0x69, 0xd1, 0x74, 0xcc, 0x8f, 0x83, 0xc1, - 0x94, 0x39, 0x16, 0xfd, 0xeb, 0x52, 0xdc, 0x81, 0xc4, 0xb0, 0xdd, 0xce, 0x27, 0xb5, 0x28, 0xc2, - 0x44, 0xad, 0xa4, 0x64, 0xf9, 0x99, 0x85, 0xba, 0xa7, 0xfb, 0x66, 0x2c, 0xd5, 0x90, 0x4b, 0x7d, - 0xa6, 0x85, 0x43, 0xe2, 0xfa, 0x2e, 0xe6, 0xca, 0x07, 0x9d, 0x50, 0xb3, 0xde, 0x7b, 0xa5, 0x31, - 0x0c, 0x38, 0x0f, 0x5a, 0xb1, 0x1d, 0xcb, 0x06, 0xb0, 0x0c, 0x92, 0x81, 0x95, 0xde, 0x56, 0x3f, - 0x87, 0x01, 0xa5, 0x68, 0x1a, 0x35, 0x17, 0x2d, 0x18, 0x3d, 0x8f, 0x5b, 0x35, 0x48, 0xc4, 0xfd, - 0x19, 0xfa, 0xf3, 0x94, 0xe3, 0x2f, 0x6e, 0x4f, 0xa1, 0x59, 0x55, 0x14, 0xc9, 0xc1, 0x65, 0xb6, - 0xd5, 0x6d, 0x8f, 0x47, 0x32, 0xd8, 0x63, 0xd6, 0x44, 0xf3, 0x52, 0x20, 0x1a, 0x77, 0x4d, 0xdc, - 0xf9, 0xc7, 0x6d, 0x09, 0x7c, 0x77, 0x1b, 0x5f, 0x80, 0xb9, 0x73, 0xaa, 0x27, 0xa9, 0x9e, 0xdd, - 0x5e, 0xfc, 0x20, 0x77, 0x63, 0x6b, 0x0d, 0xae, 0xd3, 0xd5, 0xb1, 0x93, 0x49, 0x52, 0x68, 0x43, - 0x47, 0x73, 0x19, 0xd3, 0x11, 0x38, 0x40, 0xbd, 0x04, 0xbd, 0xce, 0xe1, 0x59, 0x23, 0x5a, 0x13, - 0x2b, 0xcb, 0xf4, 0xbb, 0xed, 0x27, 0x48, 0x4c, 0x84, 0xe5, 0x58, 0x2d, 0x97, 0xfb, 0xa3, 0x63, - 0x06, 0x46, 0x9c, 0xae, 0x1f, 0x68, 0xb2, 0x4e, 0x6c, 0x0f, 0x4d, 0xff, 0xce, 0x6b, 0xa8, 0xc1, - 0x57, 0x97, 0x33, 0x54, 0xbb, 0xaf, 0x5f, 0x29, 0x38, 0xf8, 0x36, 0x4e, 0xe7, 0xd7, 0x66, 0x5f, - 0x9f, 0xe8, 0xe6, 0x0c, 0x0c, 0xe7, 0xe5, 0x30, 0x2a, 0x18, 0xed, 0x3a, 0x75, 0xfc, 0xdc, 0xcd, - 0xe1, 0x6a, 0xba, 0xbd, 0x24, 0x9b, 0x2f, 0xaf, 0x46, 0xb0, 0xfd, 0x40, 0x88, 0x23, 0x1c, 0x12, - 0xfe, 0x0b, 0x74, 0x30, 0xe2, 0x16, 0xa9, 0xa4, 0x53, 0xc6, 0x5b, 0xf9, 0x1a, 0xb6, 0xa6, 0xed, - 0xfe, 0x37, 0x64, 0x9d, 0xbe, 0xc9, 0x8c, 0x20, 0x66, 0xe1, 0x6b, 0x10, 0x0c, 0xef, 0x3b, 0x75, - 0x7a, 0xeb, 0x67, 0x27, 0x07, 0x32, 0x01, 0x8f, 0x5a, 0xb3, 0xc0, 0x9e, 0xa0, 0x44, 0xdc, 0xee, - 0xa2, 0xe3, 0x27, 0x32, 0xd6, 0xc2, 0x68, 0x24, 0xf0, 0x57, 0xec, 0x11, 0x0d, 0xc2, 0xb2, 0x1d, - 0xe5, 0xfc, 0x1e, 0x80, 0xef, 0xab, 0x86, 0x22, 0x5f, 0xd2, 0x3b, 0xf0, 0xb8, 0xf4, 0xcb, 0x25, - 0xf9, 0xe8, 0x35, 0x9e, 0x83, 0xf0, 0x98, 0xda, 0xd2, 0x21, 0x90, 0x8c, 0xba, 0x99, 0xb7, 0xd3, - 0x87, 0xe7, 0x58, 0x3f, 0xe7, 0xae, 0xc4, 0xb3, 0x03, 0xed, 0x87, 0xcd, 0x2c, 0x0c, 0xf6, 0xfe, - 0xf1, 0x54, 0x44, 0x09, 0x81, 0x54, 0x43, 0x72, 0xf6, 0x13, 0x9d, 0xc9, 0xc8, 0x28, 0xf8, 0x47, - 0xef, 0x9b, 0x7a, 0x04, 0x29, 0x60, 0xf6, 0x0c, 0xdf, 0xd2, 0xe5, 0x3f, 0x19, 0xde, 0x45, 0xe3, - 0x6f, 0xc8, 0xa1, 0x71, 0xb2, 0x9b, 0x64, 0xb8, 0x56, 0xfc, 0xde, 0xd1, 0x70, 0x9b, 0x12, 0x8b, - 0x88, 0x21, 0x9e, 0xa6, 0x25, 0x1e, 0x55, 0x03, 0x19, 0x62, 0x0c, 0x03, 0xff, 0xaa, 0x19, 0x1e, - 0x67, 0xe5, 0x68, 0x17, 0x75, 0x92, 0xf2, 0xe8, 0x73, 0x51, 0x46, 0x6a, 0xb1, 0xc0, 0xfc, 0x3a, - 0xb2, 0x84, 0x77, 0x8d, 0xdc, 0xac, 0x32, 0xd5, 0xfd, 0x3e, 0x23, 0xfb, 0x2e, 0xd0, 0x07, 0x85, - 0x3a, 0x69, 0x99, 0x46, 0xb4, 0x0b, 0x63, 0xbf, 0xf1, 0xb1, 0xa3, 0xa4, 0x65, 0xd7, 0xaf, 0x16, - 0x67, 0xcc, 0xb4, 0xa0, 0x8a, 0xf0, 0x1b, 0xf0, 0x35, 0x28, 0xeb, 0x94, 0xeb, 0xdf, 0xa9, 0x18, - 0xc2, 0x49, 0x9c, 0xd8, 0xee, 0x5a, 0xde, 0xa6, 0xae, 0xd8, 0x65, 0x12, 0x75, 0x85, 0x7c, 0xcb, - 0xbf, 0x67, 0xd5, 0xca, 0x62, 0xf4, 0xb5, 0xdc, 0xcd, 0xff, 0x38, 0xde, 0xdb, 0x47, 0x20, 0x97, - 0xd9, 0x27, 0xde, 0xfe, 0x30, 0x22, 0xdd, 0xc1, 0x4d, 0xf6, 0x15, 0x31, 0x17, 0x26, 0x96, 0x68, - 0x1f, 0xcc, 0x10, 0xbe, 0x1d, 0x37, 0xd2, 0xe2, 0xd7, 0x5c, 0x1a, 0x15, 0x19, 0x91, 0xf2, 0xf8, - 0xd4, 0x76, 0x84, 0xdb, 0xed, 0x76, 0xb3, 0xa2, 0x6d, 0xfc, 0xc0, 0x3c, 0x2e, 0x56, 0x90, 0x69, - 0xe7, 0xa8, 0x20, 0xf5, 0xdc, 0x99, 0xea, 0x23, 0x89, 0x1d, 0x37, 0xe2, 0xda, 0x57, 0xfa, 0x1e, - 0x1f, 0xa7, 0x10, 0xf5, 0x2a, 0xc7, 0x25, 0x0c, 0xe3, 0x0f, 0x33, 0x15, 0x60, 0x5a, 0x60, 0x90, - 0xaa, 0xdb, 0x6b, 0xdc, 0x99, 0x44, 0x31, 0x24, 0xbd, 0x99, 0x58, 0x2c, 0x27, 0x98, 0x8c, 0x14, - 0x67, 0x4c, 0xb4, 0x0e, 0x6c, 0xe3, 0x64, 0xf5, 0xec, 0xf9, 0x2d, 0x1d, 0x0e, 0xf3, 0xa2, 0x56, - 0x0c, 0x47, 0x28, 0x74, 0x6f, 0xbd, 0x48, 0x21, 0x5f, 0x75, 0x47, 0xa8, 0x7a, 0xf0, 0x2c, 0x62, - 0xbc, 0x51, 0xa4, 0xdc, 0xd3, 0x73, 0x1a, 0xc1, 0x67, 0x6a, 0xa2, 0x13, 0x8d, 0x55, 0x0b, 0xf0, - 0x49, 0x59, 0x63, 0x6e, 0x67, 0xcb, 0x50, 0xad, 0xc5, 0x2d, 0x69, 0x02, 0x73, 0x76, 0xe2, 0xf9, - 0x9f, 0xbe, 0xec, 0x41, 0x6f, 0xdf, 0xb4, 0x64, 0xcc, 0x15, 0x64, 0xf5, 0x00, 0xf8, 0x41, 0x4b, - 0x5e, 0x65, 0x5a, 0x84, 0xd0, 0xc4, 0x86, 0xb1, 0x96, 0xec, 0x71, 0x3f, 0xc1, 0xeb, 0xc9, 0xa6, - 0xba, 0x00, 0x70, 0x43, 0xb3, 0x0f, 0xab, 0x27, 0x8f, 0x66, 0x08, 0x55, 0x82, 0xa2, 0x5c, 0xe9, - 0x07, 0x5b, 0x87, 0x66, 0x4f, 0xb6, 0x39, 0x5b, 0xc1, 0xa3, 0xaf, 0xba, 0xf7, 0xb2, 0x51, 0x27, - 0xbf, 0xe7, 0x93, 0xfc, 0xfc, 0x86, 0xce, 0xcc, 0xe3, 0x48, 0x8d, 0xbe, 0xa6, 0xc5, 0xb4, 0x7c, - 0xce, 0x24, 0xc3, 0xe8, 0xee, 0x67, 0xc1, 0xdc, 0x9d, 0xd8, 0x31, 0x5f, 0x6b, 0x8d, 0x78, 0xcb, - 0x8a, 0xb1, 0xf5, 0xba, 0xf0, 0xd1, 0xe2, 0xe8, 0xa9, 0x54, 0xa5, 0x4b, 0x7f, 0xa9, 0x7e, 0xc9, - 0xa1, 0xbe, 0x38, 0x0e, 0x0e, 0xe8, 0x62, 0xa6, 0xdb, 0x86, 0x3c, 0x7b, 0x72, 0x76, 0x53, 0xb2, - 0x7f, 0x79, 0xb2, 0xbf, 0xbf, 0x18, 0x3e, 0x06, 0xab, 0x90, 0x71, 0xb4, 0x0d, 0x05, 0x62, 0x59, - 0xd1, 0xcc, 0x9e, 0x4b, 0x94, 0xb0, 0x93, 0x12, 0xe8, 0xff, 0xd9, 0xc5, 0xff, 0x59, 0x1e, 0x05, - 0x7e, 0x22, 0x8a, 0xc6, 0xe6, 0x4f, 0x55, 0x9a, 0x67, 0xa0, 0x58, 0x63, 0x6b, 0xac, 0x61, 0x5c, - 0x35, 0x99, 0x7d, 0xf7, 0xe0, 0xfe, 0xc8, 0x4c, 0x71, 0x89, 0x25, 0x57, 0x44, 0x9a, 0x96, 0x95, - 0xfe, 0x46, 0xc8, 0xa0, 0xc2, 0x39, 0x89, 0xea, 0xf5, 0xae, 0x83, 0x86, 0x93, 0xc1, 0x8c, 0xfe, - 0xce, 0x05, 0xfc, 0x73, 0x99, 0xfa, 0x34, 0x85, 0x57, 0xb0, 0xe2, 0x24, 0x34, 0xae, 0x1a, 0x27, - 0x0a, 0xb3, 0xd8, 0x4f, 0xaa, 0xe9, 0xac, 0x7f, 0x3b, 0xd3, 0x36, 0x71, 0xf3, 0xcc, 0xda, 0xb8, - 0x9a, 0x62, 0xdd, 0x06, 0xd4, 0xb1, 0xd5, 0x39, 0xfb, 0x44, 0xf0, 0x5d, 0x74, 0xdd, 0x7c, 0x7c, - 0x14, 0xd2, 0x40, 0x84, 0x59, 0xde, 0x5d, 0x7c, 0x78, 0x9b, 0x07, 0x6e, 0x0e, 0x74, 0x30, 0xac, - 0x4b, 0xb2, 0x9e, 0x91, 0xc5, 0x3b, 0x68, 0xf0, 0x5b, 0x88, 0xb8, 0x28, 0xed, 0xb3, 0x1a, 0x42, - 0xb5, 0x8f, 0x77, 0x82, 0xb7, 0xde, 0xe3, 0x91, 0x15, 0x97, 0xfb, 0xa9, 0x4c, 0xbd, 0x08, 0x8e, - 0x0f, 0x16, 0xc1, 0x21, 0xc1, 0xdc, 0x32, 0xb0, 0xcc, 0x5e, 0xbe, 0x38, 0x17, 0xcd, 0xca, 0x47, - 0xe7, 0x05, 0xfe, 0x03, 0x29, 0x7d, 0xc2, 0x74, 0xb8, 0x0a, 0x27, 0x13, 0x3d, 0xb7, 0x29, 0x76, - 0x72, 0xaf, 0x9b, 0x38, 0xf8, 0x99, 0xc5, 0xa9, 0x56, 0xc3, 0x9a, 0x43, 0x0f, 0x7e, 0xb7, 0x4c, - 0x40, 0xba, 0xe4, 0xa5, 0x3b, 0x2e, 0x3b, 0xaa, 0x07, 0x6d, 0x13, 0x7c, 0x2b, 0x45, 0x71, 0x09, - 0x14, 0x3c, 0x3b, 0x81, 0x7e, 0x56, 0xa2, 0x88, 0xbb, 0x23, 0x54, 0xa4, 0xf1, 0x8c, 0x6a, 0x40, - 0x38, 0xf0, 0xba, 0xd7, 0x33, 0xba, 0x3d, 0x97, 0x7a, 0x34, 0x4a, 0xcb, 0x47, 0x67, 0xe7, 0x41, - 0x7c, 0x3f, 0xcb, 0x8c, 0x48, 0xb1, 0x68, 0x19, 0x5e, 0xe6, 0x21, 0xdd, 0x40, 0x8c, 0xae, 0xe7, - 0x57, 0xae, 0x01, 0x61, 0xc3, 0xb7, 0xbb, 0x05, 0x3f, 0x05, 0x04, 0x55, 0x23, 0xa1, 0x72, 0x8e, - 0x09, 0x3d, 0x90, 0x31, 0x1a, 0xe9, 0x91, 0x55, 0x39, 0xe1, 0x74, 0x71, 0xdc, 0x67, 0xf8, 0x34, - 0xb6, 0x77, 0x24, 0x27, 0x54, 0x16, 0xd2, 0xb2, 0xdc, 0xdb, 0xb5, 0xa3, 0xb3, 0x3c, 0x75, 0xf4, - 0x1f, 0xaf, 0x73, 0x18, 0xfb, 0x45, 0x69, 0x35, 0x38, 0xdf, 0x62, 0x7f, 0x0d, 0x4c, 0x15, 0xf9, - 0x81, 0xec, 0x4b, 0x94, 0xd8, 0x32, 0x90, 0x18, 0xad, 0x9d, 0x03, 0xba, 0xdb, 0x0c, 0x3a, 0xa6, - 0xa4, 0x22, 0xb8, 0x86, 0xfd, 0x0f, 0xea, 0xff, 0xc1, 0x44, 0x97, 0x2e, 0xe5, 0xe2, 0xf2, 0xcb, - 0x25, 0x90, 0x72, 0xd6, 0xc2, 0x0e, 0x64, 0x4c, 0x7b, 0xfb, 0x36, 0xb5, 0x97, 0x8b, 0x1c, 0xee, - 0x85, 0xf2, 0x55, 0xf4, 0x47, 0xf9, 0x81, 0x89, 0xbe, 0x7e, 0x91, 0x06, 0x3b, 0x07, 0x38, 0x70, - 0x53, 0x3d, 0x75, 0xba, 0xe7, 0x42, 0xd8, 0x5e, 0x30, 0xd8, 0x71, 0x05, 0x86, 0xe8, 0xa9, 0xdd, - 0x26, 0x50, 0x38, 0x22, 0xc9, 0x39, 0x11, 0x34, 0x3b, 0xae, 0xbd, 0x3e, 0xb9, 0x30, 0x51, 0x5f, - 0x60, 0x2e, 0x25, 0x9a, 0xbe, 0xc2, 0x85, 0xc1, 0xf9, 0x6c, 0xd1, 0xa4, 0xe3, 0xcd, 0xb7, 0x41, - 0x39, 0xac, 0xf8, 0x4d, 0xdd, 0x91, 0xb4, 0x2d, 0x09, 0x06, 0x62, 0xc3, 0x52, 0x2c, 0xcc, 0x7f, - 0x9f, 0x4c, 0xb5, 0xaa, 0x56, 0x26, 0xda, 0x43, 0x46, 0xe1, 0x19, 0x35, 0x40, 0x9e, 0x4f, 0x69, - 0xd7, 0xee, 0x09, 0x59, 0x73, 0x8a, 0xc4, 0x62, 0x23, 0x10, 0xd2, 0xf3, 0x9c, 0xda, 0x5c, 0xa8, - 0x8e, 0x26, 0xdc, 0x14, 0x52, 0xf6, 0x07, 0x3e, 0x7e, 0xa4, 0x8a, 0xf0, 0x95, 0xc8, 0x72, 0x80, - 0xc1, 0xfb, 0x5d, 0x67, 0xf8, 0x3f, 0xb3, 0x85, 0xd5, 0x7b, 0xb2, 0x7a, 0x8b, 0x6f, 0xf4, 0x8d, - 0x8d, 0x2a, 0x34, 0x29, 0x04, 0x3a, 0x4d, 0xf0, 0x48, 0xf6, 0xeb, 0xab, 0x55, 0x95, 0x0d, 0x4a, - 0x97, 0xc3, 0xe1, 0x89, 0x9b, 0x1b, 0xb4, 0xb7, 0x10, 0x3f, 0xba, 0xac, 0xd1, 0x21, 0xe7, 0x0a, - 0xb6, 0x67, 0x66, 0x42, 0x5c, 0xc5, 0x1a, 0xa3, 0x1b, 0x95, 0x8c, 0xb9, 0x10, 0x53, 0x40, 0xf2, - 0x75, 0xdf, 0x56, 0xf6, 0xc7, 0xbc, 0x67, 0xa3, 0x23, 0xf8, 0x91, 0xc5, 0xd3, 0xb5, 0x07, 0x16, - 0xd7, 0x20, 0x90, 0x8a, 0x75, 0x3e, 0xef, 0x40, 0xe5, 0x1f, 0x50, 0x58, 0x73, 0x94, 0xbb, 0xf1, - 0x8d, 0xa0, 0xbd, 0x81, 0x28, 0xb0, 0xdc, 0x61, 0xe1, 0x98, 0x47, 0x5c, 0x45, 0x3e, 0x41, 0xb2, - 0xc7, 0x40, 0xb4, 0x46, 0x52, 0xa0, 0x18, 0x8f, 0x81, 0x25, 0xda, 0xd1, 0x5e, 0x77, 0x57, 0x9b, - 0x43, 0x92, 0xe0, 0xfd, 0xb5, 0xdf, 0x5e, 0xcb, 0x81, 0xac, 0x92, 0xff, 0xc3, 0xdd, 0x2e, 0xd6, - 0x2e, 0x6d, 0x43, 0xd3, 0xcf, 0x69, 0x90, 0x3b, 0x13, 0xb7, 0x8f, 0x99, 0x43, 0xbe, 0x5a, 0x83, - 0xd4, 0xfc, 0xa4, 0xc1, 0x74, 0x6f, 0x0f, 0xf1, 0x39, 0xe6, 0xab, 0x92, 0xf0, 0xf3, 0x6c, 0xea, - 0x3f, 0xba, 0x4f, 0xce, 0xf3, 0x2b, 0x64, 0xf6, 0xdd, 0xa5, 0xa9, 0xe6, 0x61, 0x5b, 0x10, 0xcf, - 0xae, 0x8d, 0xa1, 0xa2, 0x7d, 0xf4, 0x4c, 0x5c, 0x36, 0x61, 0x3d, 0xdd, 0x67, 0xb3, 0x30, 0xe6, - 0x32, 0xbe, 0xa0, 0x79, 0x2c, 0xc4, 0x3b, 0x42, 0x28, 0x41, 0x1b, 0x38, 0x23, 0x4e, 0x71, 0x38, - 0x8b, 0x29, 0x25, 0xff, 0xc6, 0x4a, 0x70, 0x98, 0x64, 0x8a, 0xf4, 0xa4, 0xb3, 0xf8, 0x9e, 0xef, - 0x93, 0x49, 0x87, 0x51, 0x55, 0x1e, 0xd4, 0xe8, 0xeb, 0x25, 0x4c, 0xf7, 0xa0, 0xbf, 0x74, 0xca, - 0x84, 0x31, 0xcb, 0x4e, 0x75, 0xfc, 0x6f, 0x31, 0x3f, 0xcb, 0x54, 0x1b, 0x4f, 0x61, 0xcb, 0xe9, - 0x81, 0x44, 0xc2, 0xdc, 0xa6, 0x75, 0x50, 0x25, 0xcc, 0xd5, 0xf4, 0xb3, 0x98, 0x03, 0x0c, 0xa9, - 0x8b, 0x53, 0x76, 0xf3, 0x03, 0x68, 0x4a, 0x31, 0xf8, 0x54, 0xc9, 0x4a, 0x31, 0x99, 0xd0, 0x33, - 0x32, 0xba, 0xe5, 0x93, 0x62, 0x31, 0x07, 0x81, 0xaf, 0x2c, 0x9a, 0xe1, 0x96, 0x7a, 0x8f, 0xb0, - 0xd0, 0x00, 0x7b, 0xc7, 0xf8, 0xd6, 0x79, 0x4c, 0x71, 0x47, 0xdc, 0xd0, 0x2b, 0x19, 0xfb, 0xf5, - 0x3b, 0xdd, 0x3a, 0xe3, 0x9e, 0x59, 0x02, 0xd7, 0x5b, 0xc2, 0x21, 0x13, 0x1d, 0xd7, 0x5b, 0x4a, - 0xaa, 0x7d, 0xd0, 0x53, 0x1a, 0x9b, 0xf8, 0x83, 0xde, 0x88, 0x22, 0x31, 0xe4, 0x0e, 0x63, 0xc0, - 0xd6, 0x21, 0xd1, 0x1a, 0xab, 0x4b, 0x03, 0x62, 0xaa, 0xc5, 0x42, 0xb4, 0x08, 0xfb, 0xa7, 0x31, - 0x59, 0x87, 0xe8, 0x3e, 0x6e, 0x21, 0x03, 0x34, 0xcc, 0xaa, 0xb2, 0xa2, 0x33, 0xd0, 0xa7, 0x61, - 0xf5, 0xa7, 0x0b, 0x5d, 0x38, 0x1e, 0x9b, 0x32, 0x8c, 0x60, 0xa1, 0x61, 0xb1, 0xca, 0x23, 0x32, - 0x8a, 0x05, 0x57, 0xfd, 0x71, 0xca, 0x3a, 0x55, 0x32, 0x50, 0x1e, 0xd9, 0xd0, 0x23, 0xb6, 0x76, - 0x38, 0x17, 0x50, 0x87, 0xc3, 0x20, 0x5a, 0x01, 0xbf, 0x72, 0x3a, 0xfb, 0xb2, 0x48, 0x67, 0x5c, - 0xbe, 0x38, 0xbb, 0x4a, 0x24, 0xce, 0x23, 0xee, 0x5b, 0xfd, 0x49, 0x37, 0xbf, 0xc3, 0xdb, 0xd8, - 0x16, 0xbf, 0x11, 0xc8, 0x46, 0xc1, 0x1d, 0x47, 0x15, 0x54, 0xd5, 0xf7, 0x2c, 0x71, 0x68, 0x39, - 0x26, 0xb2, 0xe3, 0xcf, 0x43, 0x25, 0x65, 0xe5, 0x8f, 0xcc, 0x32, 0x7e, 0x91, 0x66, 0xfa, 0x1e, - 0xf8, 0xc3, 0xd8, 0xc8, 0x7b, 0xde, 0x33, 0x0d, 0xaa, 0xa0, 0x2f, 0x2e, 0x28, 0xd9, 0x8a, 0xd6, - 0x7b, 0xfd, 0x73, 0x83, 0x33, 0x1d, 0xb0, 0xcb, 0xbf, 0x24, 0x17, 0xfc, 0x84, 0x99, 0x33, 0xe5, - 0x24, 0xf9, 0xa9, 0x23, 0x9c, 0xbe, 0xd4, 0x5b, 0x89, 0x77, 0x04, 0x5c, 0x8d, 0x16, 0x99, 0xea, - 0x7c, 0x67, 0xfe, 0x5d, 0xe3, 0x37, 0xc3, 0xda, 0x8b, 0x53, 0x10, 0xe9, 0x3b, 0x43, 0x60, 0x2a, - 0x96, 0x5b, 0xf8, 0x3c, 0x4f, 0x75, 0xef, 0xcf, 0x10, 0x65, 0x59, 0xb0, 0x46, 0xce, 0x30, 0xf2, - 0x2a, 0x39, 0xe9, 0xe5, 0x88, 0xef, 0x39, 0xd4, 0x8a, 0x68, 0x0a, 0x10, 0xda, 0x85, 0x44, 0xc3, - 0xc1, 0xfb, 0x34, 0x97, 0x8f, 0x73, 0x09, 0xb1, 0xa0, 0xd5, 0x7e, 0x24, 0x90, 0xd0, 0x08, 0x89, - 0x27, 0x2c, 0x19, 0x88, 0x04, 0xb4, 0x43, 0x45, 0x41, 0x8c, 0x4f, 0x44, 0xb2, 0xe7, 0xe7, 0x1c, - 0xd0, 0x02, 0xa7, 0xe4, 0xee, 0x81, 0x73, 0x19, 0x78, 0x08, 0xbb, 0xd0, 0xa7, 0x17, 0xc6, 0xcc, - 0x5a, 0xdc, 0xd4, 0x36, 0x82, 0x8c, 0x4a, 0xb3, 0x96, 0x8f, 0xfc, 0xf0, 0x8d, 0x94, 0xad, 0xac, - 0x48, 0x06, 0xe3, 0x1a, 0x5f, 0xaf, 0xd1, 0xc0, 0x6b, 0x90, 0x5b, 0xcc, 0x44, 0x88, 0xae, 0x45, - 0xb4, 0x79, 0x13, 0x65, 0xd1, 0x86, 0x18, 0xa2, 0x8c, 0x9d, 0xb3, 0xb7, 0x6d, 0xe4, 0x9b, 0xc2, - 0x9e, 0xad, 0x06, 0x7f, 0xdc, 0x4e, 0xd5, 0xc2, 0xaa, 0x41, 0x81, 0xca, 0x31, 0x07, 0xb8, 0x47, - 0x66, 0xba, 0x49, 0x62, 0xcb, 0x6a, 0xf3, 0xb1, 0xfd, 0x54, 0xb8, 0x2d, 0x4e, 0x93, 0xea, 0x72, - 0x35, 0x15, 0x9e, 0x9b, 0xdf, 0x6d, 0x0b, 0x36, 0x57, 0xb5, 0xa0, 0xdb, 0x9f, 0x7b, 0x7e, 0x9d, - 0x3b, 0xd3, 0x1c, 0xa1, 0x0e, 0xe6, 0xf4, 0x51, 0x97, 0xd6, 0xa1, 0x46, 0x68, 0xcb, 0x84, 0x67, - 0x73, 0x4b, 0xc6, 0xad, 0x64, 0xaa, 0xe1, 0xb1, 0x7f, 0x85, 0x36, 0x26, 0xe0, 0x95, 0xf1, 0x91, - 0x7f, 0x30, 0x78, 0x1a, 0x82, 0xe8, 0x75, 0x7b, 0x10, 0x0c, 0x40, 0x56, 0xf4, 0x4c, 0xc1, 0x57, - 0x99, 0xb9, 0xc0, 0xca, 0x81, 0x01, 0x56, 0xa1, 0x24, 0x6f, 0x83, 0xfa, 0x79, 0xdb, 0x85, 0x3f, - 0xe8, 0x8b, 0x95, 0x3b, 0x1a, 0xde, 0x10, 0x82, 0xc4, 0x3e, 0x5d, 0x5f, 0xcb, 0x23, 0xed, 0x3b, - 0xbd, 0xea, 0x94, 0x59, 0x63, 0x1f, 0x3f, 0x6d, 0x1b, 0x67, 0xe8, 0x38, 0xea, 0x8a, 0x8c, 0x45, - 0x66, 0x4e, 0xb1, 0xe5, 0x81, 0x56, 0x99, 0x91, 0xfe, 0xba, 0x64, 0x26, 0x37, 0x9e, 0x06, 0x9a, - 0xcc, 0x8d, 0x14, 0x87, 0x95, 0xa1, 0x5e, 0x21, 0xd4, 0x21, 0xfc, 0x18, 0x84, 0xaa, 0xf0, 0x18, - 0x78, 0x46, 0x37, 0xf8, 0x98, 0xce, 0x06, 0x6a, 0x70, 0xe8, 0xf4, 0x2e, 0xc0, 0x31, 0xb7, 0x21, - 0x53, 0x02, 0x14, 0x3a, 0x5a, 0xef, 0x0b, 0xe6, 0x27, 0x85, 0x1f, 0xd2, 0xaf, 0xa6, 0x74, 0xe2, - 0x71, 0x51, 0xd9, 0xb1, 0xcf, 0x5a, 0x51, 0xf3, 0x83, 0x51, 0xc1, 0x24, 0x71, 0xdc, 0x92, 0xa8, - 0x53, 0x0d, 0x59, 0xd7, 0x5f, 0xa1, 0x07, 0x4f, 0xbb, 0x96, 0xec, 0x05, 0x14, 0xdb, 0x95, 0x5b, - 0xab, 0xb2, 0xa2, 0x09, 0x6f, 0xcc, 0xbe, 0xe2, 0x05, 0x42, 0x04, 0x2f, 0xa0, 0xf2, 0x6b, 0xf6, - 0x96, 0x5b, 0x91, 0x9e, 0x0b, 0x53, 0xfe, 0x47, 0x8d, 0x89, 0xd7, 0x8f, 0x68, 0xa4, 0x0d, 0x2f, - 0xf6, 0x98, 0x3d, 0xd4, 0xe2, 0x9b, 0xf6, 0xa3, 0x8c, 0xd6, 0x39, 0x24, 0x9d, 0xf3, 0x8c, 0xc1, - 0x0a, 0x5f, 0xf5, 0xae, 0x86, 0x3f, 0x99, 0x83, 0xba, 0x92, 0x7f, 0x5b, 0xd7, 0x0d, 0x57, 0xbd, - 0xdf, 0x6e, 0xd6, 0xea, 0x89, 0x1a, 0x52, 0x3e, 0xca, 0x82, 0xce, 0xec, 0xd9, 0x4f, 0xf1, 0xa8, - 0x9a, 0xcc, 0x47, 0xcf, 0xce, 0x83, 0x20, 0x0e, 0x47, 0x49, 0x08, 0x33, 0xcd, 0x19, 0x6f, 0x2b, - 0xa7, 0x21, 0xdd, 0x82, 0x9e, 0xb6, 0x49, 0x98, 0x67, 0xce, 0xd8, 0x7f, 0xa2, 0xb3, 0x43, 0xb2, - 0x3c, 0x1b, 0x24, 0x72, 0x50, 0x8d, 0xcf, 0x4b, 0x8d, 0x68, 0x16, 0x3d, 0xaf, 0x76, 0xd3, 0x18, - 0x11, 0x92, 0xdb, 0xf9, 0x5d, 0x67, 0x90, 0x2a, 0x1d, 0x3a, 0x86, 0x8a, 0x33, 0x08, 0x4d, 0x3b, - 0x0e, 0x8a, 0x35, 0x9f, 0x98, 0xed, 0x1a, 0x01, 0xe7, 0x7e, 0x41, 0x7b, 0xfe, 0x2b, 0xc7, 0xea, - 0x31, 0xa1, 0x5d, 0x50, 0xc5, 0x53, 0x50, 0xea, 0x0d, 0xaf, 0xfe, 0xe0, 0xd5, 0x2a, 0x40, 0x12, - 0x94, 0x0c, 0xfa, 0x54, 0xf7, 0xfa, 0x00, 0x00, 0xda, 0x2f, 0x2a, 0x05, 0x1e, 0x97, 0x50, 0x70, - 0x92, 0xd7, 0x61, 0x03, 0x6b, 0x45, 0x2e, 0xcd, 0xb7, 0x80, 0xdc, 0x30, 0x13, 0x89, 0x33, 0x5b, - 0xaf, 0x44, 0x64, 0x5e, 0x78, 0xa5, 0x3f, 0x5e, 0x71, 0xd5, 0x41, 0xc9, 0x79, 0x38, 0x92, 0xb8, - 0x29, 0xd0, 0xaa, 0xcb, 0xc4, 0xbd, 0xfc, 0xa9, 0xc0, 0x08, 0x78, 0x9a, 0xf8, 0x14, 0x74, 0x87, - 0x3f, 0x55, 0x64, 0x8d, 0x08, 0x4b, 0x82, 0x19, 0xb3, 0x98, 0xdb, 0xe6, 0x17, 0xd7, 0x48, 0xe9, - 0x6c, 0x8f, 0x1f, 0x58, 0xca, 0x75, 0xb0, 0x34, 0xc9, 0xb0, 0xc6, 0x0a, 0xfd, 0xda, 0x7d, 0x48, - 0x10, 0x3b, 0x05, 0x24, 0xbb, 0x27, 0x13, 0xf1, 0x86, 0xd2, 0xbe, 0x69, 0x5a, 0xb0, 0xe7, 0x5b, - 0x74, 0xff, 0x12, 0x16, 0x89, 0xe3, 0x14, 0x75, 0x0a, 0x4c, 0x7e, 0x94, 0xf0, 0xaa, 0x08, 0x08, - 0x1d, 0x70, 0xb3, 0xfc, 0xb8, 0xac, 0x88, 0x83, 0xb9, 0x1b, 0x55, 0x65, 0x5c, 0xab, 0x06, 0xda, - 0xe6, 0x32, 0x99, 0x9f, 0x0e, 0xdf, 0x68, 0x4e, 0xb6, 0x2d, 0x70, 0xe8, 0x55, 0xac, 0x42, 0xeb, - 0xa9, 0x6d, 0x12, 0x58, 0x61, 0x43, 0x31, 0x33, 0xfc, 0x61, 0x24, 0xd4, 0x21, 0x77, 0x22, 0x33, - 0xf7, 0xa0, 0x83, 0xbf, 0x91, 0x3a, 0xd6, 0x1c, 0xf1, 0x86, 0xb6, 0x2f, 0x51, 0xdd, 0xef, 0xff, - 0x01, 0xdd, 0x78, 0xf5, 0x9c, 0x46, 0x65, 0xe7, 0x9c, 0x24, 0x86, 0xa4, 0xe4, 0xe1, 0x2a, 0xb4, - 0x98, 0x7e, 0xf6, 0x41, 0x3c, 0x92, 0x9a, 0xab, 0x28, 0x3e, 0xbc, 0xc5, 0x79, 0x0e, 0x59, 0x40, - 0x53, 0xc4, 0x41, 0x66, 0x4a, 0x0a, 0x25, 0xe2, 0x96, 0x66, 0xaa, 0x88, 0x8f, 0xee, 0x6f, 0xbe, - 0xf6, 0x7d, 0x0f, 0x1c, 0x71, 0xb0, 0x2f, 0xc4, 0x26, 0x80, 0x87, 0xc4, 0x99, 0x10, 0x87, 0xf0, - 0x5b, 0x4f, 0xf4, 0xb4, 0xf6, 0x44, 0x87, 0x8e, 0x52, 0x8e, 0xbd, 0x1b, 0x62, 0x72, 0x81, 0xe7, - 0x2d, 0x86, 0x19, 0xcc, 0x96, 0x24, 0x92, 0xbc, 0x33, 0x98, 0x30, 0x86, 0xdb, 0xca, 0x7f, 0xf7, - 0x85, 0x80, 0x5f, 0xf7, 0xd8, 0xcd, 0xcd, 0x86, 0x7a, 0x82, 0x3c, 0x07, 0x79, 0x56, 0x7d, 0x31, - 0x99, 0xa9, 0x4e, 0x65, 0x8f, 0x30, 0x23, 0xc4, 0xe7, 0x31, 0x56, 0x0b, 0xf6, 0x38, 0x1a, 0x2e, - 0x91, 0x45, 0xef, 0xd5, 0x09, 0x1b, 0x60, 0x2b, 0xc0, 0xc6, 0xaf, 0xb0, 0x5d, 0x21, 0xa5, 0x90, - 0xe6, 0x7e, 0x44, 0xf2, 0xf9, 0x5e, 0x89, 0xcb, 0xca, 0x19, 0x8f, 0xe5, 0xad, 0xe0, 0xa6, 0x7d, - 0xdd, 0x15, 0x21, 0x9a, 0x39, 0x8c, 0x70, 0x53, 0x37, 0x72, 0xbf, 0x59, 0x5e, 0x32, 0xd6, 0x09, - 0xd5, 0x9b, 0x59, 0x26, 0x05, 0x06, 0xd5, 0x1e, 0x57, 0x02, 0xbc, 0xcc, 0x2a, 0xc0, 0x72, 0xee, - 0xc5, 0x7f, 0xb7, 0xb0, 0xe7, 0x73, 0x26, 0xc1, 0x23, 0x69, 0x1b, 0x20, 0x72, 0x32, 0x8c, 0xc8, - 0x9f, 0x3e, 0x78, 0x48, 0xde, 0xb4, 0x46, 0x3a, 0x36, 0xcb, 0xa0, 0x36, 0xc0, 0x61, 0x17, 0xa8, - 0x20, 0x89, 0xb6, 0xb1, 0x16, 0x3b, 0x82, 0x61, 0x60, 0xaf, 0x12, 0x62, 0xed, 0x1a, 0x1e, 0x0f, - 0xff, 0x8b, 0xfc, 0x14, 0x76, 0x56, 0xa4, 0xe5, 0x55, 0xf0, 0xe1, 0xa2, 0x38, 0xdb, 0xfc, 0xb3, - 0xa8, 0xb4, 0xa0, 0x96, 0x16, 0x60, 0x26, 0xdb, 0xee, 0x8d, 0x0f, 0x91, 0xbc, 0x2b, 0x1f, 0xe3, - 0xa9, 0xf1, 0x3e, 0xdf, 0x36, 0x17, 0x72, 0xa8, 0x19, 0xac, 0x83, 0x23, 0x4c, 0xe5, 0x03, 0x0c, - 0xdb, 0xeb, 0xa3, 0xdd, 0xa8, 0x8a, 0x47, 0x0c, 0xeb, 0x0d, 0x19, 0xff, 0xe7, 0x19, 0x89, 0x11, - 0x3b, 0x2e, 0x49, 0xf3, 0xb3, 0x02, 0xaf, 0x8e, 0x50, 0x55, 0x4f, 0xde, 0x67, 0x27, 0x7d, 0x9f, - 0x5e, 0x0d, 0x92, 0x25, 0xf8, 0x69, 0xf0, 0x4b, 0x4d, 0xdd, 0xb2, 0x31, 0x92, 0x00, 0xa0, 0x18, - 0x68, 0x3e, 0xd0, 0xb9, 0xe8, 0x0b, 0x3b, 0xa7, 0x6a, 0x75, 0xcc, 0x62, 0x41, 0xcc, 0x3e, 0x4d, - 0xb2, 0xc8, 0x29, 0x81, 0xb0, 0x76, 0x8e, 0x0a, 0x77, 0xaf, 0x7b, 0x93, 0x1b, 0x5a, 0x73, 0x72, - 0xda, 0xba, 0x45, 0x46, 0xde, 0xcc, 0xc7, 0xcd, 0x73, 0xc4, 0x9b, 0xb6, 0xc6, 0xd2, 0x46, 0x3d, - 0x9d, 0x21, 0x7d, 0x99, 0xa7, 0x7d, 0x30, 0x00, 0x4d, 0x2b, 0x34, 0xd5, 0x93, 0x4f, 0xc2, 0x71, - 0xa7, 0x34, 0xe9, 0x84, 0x30, 0xc8, 0x9e, 0xdf, 0xe2, 0xc6, 0xc3, 0x20, 0xeb, 0x8b, 0xe9, 0x28, - 0x48, 0x88, 0x79, 0xe8, 0x8d, 0x01, 0x7d, 0x36, 0xbe, 0x75, 0xc1, 0xdf, 0xcd, 0x3a, 0xe7, 0x7c, - 0x09, 0x4b, 0x65, 0x40, 0xbe, 0x0e, 0x17, 0x57, 0x0a, 0x30, 0x99, 0xff, 0x06, 0xed, 0xbb, 0x40, - 0xe2, 0x3d, 0xd1, 0xcc, 0xe2, 0xa2, 0x3c, 0x73, 0x61, 0x06, 0x1e, 0xaa, 0x7e, 0xc8, 0xa2, 0x0c, - 0xc2, 0x41, 0x60, 0x07, 0xb9, 0x16, 0x70, 0xc8, 0xc9, 0x5c, 0xed, 0xd8, 0x69, 0x6f, 0x90, 0xcd, - 0x18, 0x61, 0x53, 0x05, 0x38, 0xb5, 0xc6, 0xe6, 0x62, 0xa8, 0x37, 0x6d, 0x3a, 0x64, 0xa0, 0xac, - 0x94, 0x3a, 0xc3, 0x99, 0xd3, 0x0a, 0x0b, 0x8d, 0x04, 0x70, 0x2b, 0xbd, 0xc8, 0x7c, 0x6a, 0x3b, - 0xc4, 0xf3, 0xdd, 0x37, 0x6f, 0x94, 0x82, 0xb3, 0x58, 0xc5, 0x78, 0xf4, 0x47, 0x4c, 0xca, 0xab, - 0x6e, 0x29, 0x62, 0x0f, 0x71, 0xb0, 0xa3, 0x9b, 0x47, 0x98, 0xba, 0x61, 0x62, 0xf1, 0x03, 0x19, - 0xc4, 0x4e, 0x6e, 0xc5, 0xba, 0x53, 0x9e, 0x77, 0x46, 0x28, 0xe5, 0xd1, 0x17, 0x86, 0x18, 0xd9, - 0x33, 0xbd, 0x44, 0x60, 0x4b, 0xe3, 0xfa, 0xce, 0x3f, 0x89, 0xcf, 0x08, 0x57, 0xab, 0x32, 0xe7, - 0xff, 0xe3, 0x40, 0xca, 0x16, 0xc4, 0x79, 0x74, 0x92, 0x36, 0x03, 0x95, 0xaf, 0x59, 0x90, 0xa0, - 0x20, 0x8f, 0x94, 0x1e, 0xfa, 0x2a, 0x27, 0x8b, 0xa5, 0xc8, 0x35, 0x62, 0x49, 0x72, 0xcc, 0xeb, - 0x6a, 0x44, 0x24, 0x11, 0xd1, 0xd8, 0x40, 0xce, 0x99, 0x25, 0xe7, 0xda, 0xd0, 0xe3, 0x33, 0xa8, - 0xed, 0xe8, 0x7a, 0x46, 0x5a, 0xb2, 0xe0, 0x3b, 0xe7, 0x66, 0xcb, 0xc6, 0x24, 0x38, 0x59, 0x9b, - 0xc7, 0x03, 0xef, 0x67, 0x8a, 0x87, 0x07, 0x3d, 0xdb, 0x02, 0x4b, 0xab, 0x5b, 0xd6, 0xb1, 0x03, - 0x8c, 0xfe, 0x91, 0x17, 0xce, 0xa4, 0x5f, 0x87, 0xcd, 0x4e, 0x36, 0x88, 0x2d, 0xe2, 0x67, 0x4b, - 0x0b, 0x79, 0x9b, 0x0e, 0x27, 0x64, 0x0a, 0xfa, 0x34, 0xeb, 0x52, 0x45, 0x3f, 0x4a, 0x9e, 0xa8, - 0x66, 0xff, 0xe4, 0xb8, 0xac, 0x0d, 0x6f, 0x39, 0x0e, 0x5e, 0x86, 0x9b, 0x30, 0xdd, 0xbd, 0x1f, - 0x5e, 0x85, 0x0e, 0xc0, 0x9b, 0x00, 0x82, 0xd1, 0xe2, 0xad, 0x97, 0x70, 0x3f, 0x93, 0x7c, 0x88, - 0x47, 0x6d, 0x5d, 0x93, 0xe3, 0x4f, 0x39, 0x03, 0xe8, 0x9e, 0x81, 0x53, 0xbb, 0xcf, 0x7b, 0x3b, - 0x5c, 0x19, 0xb5, 0x08, 0x69, 0xa4, 0xff, 0x64, 0x5a, 0x77, 0xa7, 0x97, 0x87, 0x2c, 0xf1, 0xf3, - 0x5b, 0xec, 0x61, 0xc6, 0xe8, 0x5b, 0xe4, 0x1a, 0xc1, 0x81, 0x8b, 0x95, 0xc6, 0x76, 0xb2, 0x1d, - 0xba, 0xa4, 0xce, 0xb4, 0xc7, 0x2f, 0x7d, 0xec, 0x19, 0x96, 0xf8, 0xb5, 0x3f, 0x59, 0x0a, 0xc8, - 0x1a, 0x2d, 0xd8, 0xb7, 0xe7, 0xd5, 0xa1, 0xc6, 0x2a, 0x8a, 0x07, 0x85, 0xb4, 0x20, 0x32, 0xdf, - 0xf1, 0x9c, 0x7e, 0xc9, 0x4e, 0x9c, 0x3f, 0x24, 0x53, 0xce, 0x7b, 0x6e, 0x10, 0x6c, 0x37, 0x08, - 0x43, 0xe0, 0xb5, 0x97, 0xdd, 0x9f, 0xe9, 0xbc, 0x0b, 0x77, 0xaf, 0xd5, 0x98, 0x94, 0xc9, 0x35, - 0x37, 0x25, 0x96, 0x7e, 0xb2, 0x5d, 0xb8, 0x99, 0x77, 0xef, 0xd4, 0x7d, 0xc5, 0x09, 0x19, 0x92, - 0xbc, 0x50, 0x39, 0xad, 0x84, 0xab, 0x35, 0x2f, 0x5c, 0xcb, 0xd1, 0xc1, 0x21, 0xfd, 0x71, 0x48, - 0xa9, 0x28, 0x5c, 0x3e, 0x4c, 0x38, 0x0c, 0x39, 0x66, 0xff, 0x6d, 0x28, 0x4e, 0xf5, 0xf2, 0xfb, - 0x56, 0x7e, 0xe4, 0xbc, 0xcf, 0xfc, 0xdd, 0xa6, 0x3e, 0xd9, 0xfb, 0xd6, 0x68, 0x16, 0x9c, 0x9e, - 0xc3, 0x31, 0xcf, 0x59, 0xe9, 0xc1, 0xa8, 0x14, 0x6c, 0x9e, 0xae, 0x54, 0xaf, 0x5b, 0xae, 0x61, - 0x6b, 0xad, 0xb7, 0x7f, 0xec, 0x98, 0x4e, 0x13, 0xe1, 0x19, 0x7d, 0x59, 0xf0, 0xb9, 0x0f, 0x0a, - 0xfe, 0xde, 0x57, 0x97, 0xd7, 0x95, 0x0d, 0x35, 0xd7, 0x41, 0xbf, 0x12, 0x20, 0xc5, 0x8a, 0xb8, - 0x6d, 0x3b, 0x08, 0x20, 0xf3, 0xc5, 0x92, 0x93, 0x0e, 0x9f, 0x1e, 0x42, 0x3d, 0xea, 0xa5, 0x36, - 0xf3, 0x29, 0xc0, 0x5f, 0xae, 0xef, 0x36, 0x7b, 0x6d, 0x69, 0xb4, 0x9d, 0x38, 0x94, 0x00, 0x0a, - 0x86, 0x2c, 0xe3, 0x48, 0x52, 0xc9, 0xb6, 0x80, 0x33, 0xce, 0xc2, 0x16, 0x01, 0x7a, 0x62, 0x2b, - 0x3d, 0x8f, 0xa3, 0xe1, 0xa9, 0xdf, 0x96, 0xc4, 0x66, 0x46, 0xce, 0x5f, 0xff, 0x22, 0x44, 0xee, - 0xf0, 0x67, 0x73, 0xdc, 0x67, 0x82, 0x86, 0x2f, 0x48, 0xe7, 0x15, 0x3a, 0x8e, 0x5f, 0xa7, 0x68, - 0x0a, 0xc2, 0xcb, 0x85, 0xc9, 0xde, 0x70, 0xaf, 0x8c, 0x9b, 0xb8, 0xf4, 0x95, 0x64, 0xd9, 0x4e, - 0x61, 0xd2, 0xb5, 0x19, 0xd9, 0x0e, 0x76, 0x50, 0xc4, 0xef, 0xd8, 0x52, 0x29, 0x88, 0xdc, 0x57, - 0x42, 0xc9, 0x59, 0x93, 0xae, 0xa8, 0x88, 0x8b, 0x15, 0x2c, 0xf2, 0x2d, 0x2d, 0xb8, 0x34, 0x03, - 0x7e, 0xe0, 0x32, 0x43, 0x52, 0x54, 0xc4, 0x3e, 0xa4, 0xe2, 0x28, 0xb0, 0x96, 0x9b, 0xb0, 0xfc, - 0x29, 0xc9, 0x48, 0xd1, 0x0a, 0xa0, 0x9d, 0x6d, 0xc8, 0x6b, 0x37, 0xa7, 0x4f, 0xa4, 0x5a, 0x67, - 0x5c, 0xb3, 0x72, 0x88, 0x38, 0x1a, 0x68, 0x37, 0xf3, 0xa0, 0xf8, 0xca, 0x83, 0x33, 0x27, 0x26, - 0x11, 0xa1, 0xe1, 0x2a, 0x85, 0x68, 0xc0, 0xc8, 0xb1, 0x08, 0xf8, 0x1f, 0x51, 0xb5, 0x8b, 0x26, - 0x6e, 0x34, 0x88, 0x45, 0xdc, 0xf4, 0xcb, 0x4e, 0x86, 0x02, 0x82, 0x57, 0x07, 0xff, 0x30, 0x47, - 0x32, 0x79, 0x3a, 0xfa, 0x1d, 0xd1, 0x38, 0x77, 0xa0, 0x2b, 0x43, 0xc1, 0x44, 0xbe, 0x63, 0x87, - 0xf6, 0x43, 0x26, 0xf3, 0x97, 0x14, 0x35, 0xa8, 0x3b, 0xf1, 0x95, 0xfe, 0x7a, 0x49, 0xae, 0x5a, - 0xfc, 0x82, 0x79, 0x93, 0x36, 0x4a, 0x83, 0x15, 0x8b, 0xc9, 0x19, 0x5b, 0xef, 0x7d, 0xaa, 0x98, - 0x3c, 0x78, 0x35, 0x1b, 0x6e, 0x65, 0xcd, 0x48, 0x8a, 0xc9, 0xb8, 0x4e, 0xfd, 0x14, 0xb7, 0x8f, - 0xe8, 0xb9, 0x7e, 0x29, 0x1c, 0x3e, 0x50, 0x9e, 0x16, 0xad, 0x80, 0xaf, 0x17, 0x0a, 0x55, 0x41, - 0x44, 0x61, 0x40, 0x98, 0x23, 0x30, 0x45, 0xaa, 0x4c, 0xe2, 0xab, 0xee, 0x82, 0x72, 0x8f, 0x13, - 0xa7, 0x47, 0xea, 0x88, 0x7e, 0x23, 0x1e, 0x74, 0x3a, 0x2b, 0x60, 0x2a, 0x6c, 0x97, 0x9b, 0x71, - 0x7c, 0xbc, 0x41, 0x87, 0xa2, 0xb6, 0x3e, 0xb1, 0xd7, 0x9a, 0xbb, 0x79, 0xa9, 0x74, 0xe4, 0x94, - 0x01, 0xf7, 0x04, 0x50, 0x09, 0xdd, 0xa6, 0xc8, 0x09, 0x5b, 0xa3, 0xa5, 0xb9, 0x51, 0x4d, 0x5d, - 0xae, 0xb4, 0x14, 0x7f, 0x37, 0xfc, 0x86, 0x13, 0x2e, 0x1b, 0x7b, 0xab, 0x1d, 0x7e, 0xb9, 0xd4, - 0x91, 0x7d, 0xf2, 0x6e, 0x5a, 0x06, 0x22, 0x9c, 0x37, 0xef, 0x01, 0x97, 0x25, 0xb5, 0x92, 0xf7, - 0x95, 0x5b, 0x24, 0x53, 0xa8, 0xce, 0xa0, 0x86, 0x5e, 0x6a, 0xff, 0x11, 0x48, 0x26, 0xa5, 0x8d, - 0x89, 0xf9, 0x9f, 0x95, 0xe3, 0xd4, 0x54, 0xeb, 0xb6, 0x76, 0xda, 0x7b, 0x5a, 0xfa, 0x8b, 0x17, - 0xf6, 0x4c, 0x3d, 0xe9, 0x02, 0x1d, 0x33, 0x2c, 0x2d, 0x16, 0x65, 0xe1, 0xe9, 0x50, 0xdd, 0x17, - 0x32, 0x8b, 0xf0, 0x1f, 0x8e, 0xec, 0x6e, 0x32, 0x1b, 0x4f, 0x8d, 0xe2, 0x3f, 0x55, 0x3d, 0x88, - 0xb6, 0x03, 0xce, 0x83, 0x6b, 0x46, 0xff, 0x5a, 0x79, 0x11, 0x0b, 0x4c, 0x23, 0x99, 0x58, 0xd2, - 0xc6, 0x4e, 0x38, 0xba, 0x27, 0x58, 0x8c, 0x15, 0x53, 0x42, 0xa7, 0x62, 0x9a, 0x09, 0x0b, 0x60, - 0x48, 0x56, 0x02, 0x63, 0x88, 0x89, 0x3f, 0x4c, 0x01, 0x7d, 0xe8, 0xfd, 0x65, 0xad, 0x97, 0x12, - 0x6e, 0x92, 0xd4, 0xf3, 0x44, 0x73, 0xee, 0x73, 0x77, 0x14, 0xcd, 0xe0, 0xce, 0x20, 0xf7, 0x09, - 0x39, 0x38, 0x15, 0xc7, 0x90, 0x0a, 0xc9, 0xe5, 0xe3, 0x7c, 0x07, 0x93, 0xf2, 0xcb, 0x24, 0x52, - 0x6f, 0xe6, 0x6e, 0xae, 0x3c, 0x24, 0x66, 0x83, 0x28, 0x4f, 0xd9, 0xb5, 0x68, 0x7e, 0x1f, 0x39, - 0x11, 0x68, 0x34, 0x29, 0xc9, 0xd2, 0xff, 0xfe, 0x63, 0x56, 0x65, 0xa6, 0x53, 0x55, 0x2a, 0x9b, - 0xca, 0x4b, 0xd0, 0xd1, 0xf6, 0x6e, 0x26, 0x21, 0x1b, 0x2b, 0xa9, 0xfa, 0xb5, 0x3d, 0x6c, 0xc8, - 0xfc, 0x66, 0x2f, 0x64, 0x73, 0xb7, 0x0d, 0x64, 0x20, 0xd8, 0x35, 0x40, 0x50, 0x0b, 0xf3, 0xeb, - 0xc5, 0x45, 0x8e, 0xbc, 0x05, 0x14, 0x9d, 0x1b, 0x0a, 0x86, 0xad, 0xc3, 0x9c, 0x53, 0xc4, 0xd7, - 0x1b, 0x7b, 0x38, 0xdc, 0x4c, 0xc7, 0x66, 0xed, 0x99, 0xc2, 0x50, 0x54, 0x9a, 0x05, 0x0b, 0xd7, - 0x01, 0x67, 0x75, 0xe4, 0x74, 0x67, 0xd7, 0x73, 0x81, 0x16, 0xb2, 0xec, 0x68, 0x85, 0x3b, 0x3c, - 0x3d, 0x83, 0x44, 0x5b, 0xb1, 0x14, 0x06, 0x68, 0xe2, 0x52, 0xb0, 0xb3, 0x5f, 0xad, 0xa3, 0xc2, - 0xa4, 0x9f, 0x3b, 0xfd, 0xf0, 0xd0, 0x3e, 0x75, 0xf7, 0x7a, 0xf9, 0x15, 0x9a, 0x47, 0x16, 0x74, - 0xa4, 0x33, 0x6b, 0x71, 0x72, 0x7b, 0x30, 0x21, 0x6c, 0xaa, 0x38, 0x57, 0xcc, 0xcd, 0x23, 0x4b, - 0x34, 0x01, 0xf0, 0x3b, 0x8d, 0x63, 0x92, 0xe8, 0xac, 0x99, 0x89, 0xe6, 0x7e, 0xae, 0xda, 0xe0, - 0x93, 0x5c, 0x75, 0x54, 0x42, 0xd1, 0x4b, 0xcb, 0xe0, 0x75, 0x0b, 0x30, 0xf1, 0xa2, 0x7c, 0x36, - 0xc2, 0x98, 0xc8, 0xba, 0x6c, 0xa4, 0xfa, 0x12, 0x4f, 0x57, 0xcb, 0xa7, 0x0c, 0xac, 0xa3, 0xe5, - 0xa4, 0xf3, 0xa6, 0xfb, 0x13, 0x8b, 0xa0, 0x1b, 0x56, 0x9b, 0xa3, 0x45, 0x94, 0x52, 0xc7, 0xc6, - 0x2c, 0x13, 0x49, 0xe7, 0xc4, 0x53, 0x0f, 0xb2, 0x2f, 0x9f, 0x38, 0x70, 0xf8, 0xc0, 0x55, 0x2f, - 0x46, 0x33, 0x5c, 0x83, 0xfb, 0x97, 0x7d, 0xd1, 0xb3, 0x52, 0xaf, 0xa3, 0xfa, 0x47, 0x2d, 0x4a, - 0x0e, 0x9f, 0xce, 0xe8, 0x88, 0x61, 0x73, 0x7a, 0x58, 0x1b, 0xa3, 0xa3, 0xd5, 0x84, 0x4f, 0xb9, - 0xfe, 0x33, 0x76, 0x5a, 0x69, 0x6b, 0x5b, 0x91, 0xeb, 0xd9, 0x4b, 0x6f, 0xe6, 0xf4, 0xd4, 0x36, - 0xee, 0xc0, 0x24, 0x59, 0x5e, 0x3b, 0x3e, 0x0c, 0x71, 0xae, 0xe6, 0xdc, 0x92, 0xfd, 0x26, 0x22, - 0x45, 0x06, 0xcc, 0x64, 0xdd, 0x4c, 0x2b, 0x04, 0x5e, 0x7a, 0xd5, 0x09, 0x1d, 0x33, 0x14, 0x19, - 0xee, 0x24, 0x5e, 0xc5, 0x55, 0xce, 0xfc, 0xb8, 0x84, 0x52, 0xb8, 0x21, 0x73, 0xdf, 0x62, 0x53, - 0xe5, 0xd1, 0xbf, 0x78, 0xbb, 0x9b, 0x50, 0x56, 0xb0, 0x39, 0x7b, 0xec, 0xe3, 0x9a, 0x44, 0xb6, - 0x48, 0xac, 0x90, 0xc2, 0xac, 0x9d, 0xe5, 0xb5, 0x35, 0x24, 0x53, 0x4c, 0x49, 0x56, 0x6d, 0x24, - 0xc7, 0x17, 0xa4, 0xdc, 0x09, 0x9c, 0xd1, 0x0c, 0x49, 0x8c, 0x90, 0x54, 0xf6, 0xfe, 0xe7, 0x55, - 0xc2, 0x17, 0x89, 0x22, 0x58, 0xa6, 0xe5, 0xba, 0x33, 0xa3, 0xd7, 0x36, 0x00, 0xbe, 0xbd, 0xcb, - 0x46, 0xc6, 0x7f, 0xc4, 0xb0, 0x00, 0xf3, 0xc4, 0xe8, 0xfa, 0xf8, 0x78, 0xa3, 0x3a, 0x44, 0xf1, - 0xe3, 0x7f, 0x66, 0xd7, 0x80, 0x74, 0x0f, 0xa8, 0xff, 0x47, 0x53, 0x0c, 0x5c, 0x48, 0x58, 0xb1, - 0xd7, 0x48, 0x40, 0x7f, 0x7e, 0x69, 0x58, 0x6a, 0x00, 0xcb, 0xe3, 0x60, 0x1a, 0x5e, 0x2d, 0x11, - 0x62, 0x68, 0xfa, 0x2b, 0xa1, 0xcb, 0x72, 0xa0, 0x34, 0x13, 0xe3, 0xae, 0x03, 0xbb, 0xb9, 0x4a, - 0x8b, 0x7b, 0xb7, 0x50, 0x90, 0x76, 0xad, 0x7a, 0xa3, 0xce, 0x5e, 0x9c, 0xb9, 0x28, 0x97, 0xeb, - 0xe2, 0x19, 0x56, 0x82, 0xe4, 0xa8, 0xb4, 0x82, 0x82, 0xbc, 0xa7, 0x3f, 0x91, 0x93, 0xf9, 0xed, - 0x5e, 0x45, 0x7d, 0x40, 0x7f, 0x5b, 0x14, 0x58, 0x5a, 0xc9, 0x09, 0x44, 0x25, 0x2e, 0x96, 0xbd, - 0xb8, 0x45, 0xeb, 0x0e, 0x33, 0xc5, 0xbf, 0x35, 0xb8, 0xba, 0xb1, 0xcf, 0xf4, 0xb8, 0xa1, 0x58, - 0xff, 0xcd, 0x60, 0x00, 0x50, 0x02, 0x6b, 0x5b, 0xee, 0x12, 0xfe, 0xfc, 0x52, 0xa8, 0x1f, 0x0d, - 0xe0, 0x93, 0x84, 0x07, 0x07, 0x8e, 0x00, 0xbc, 0xa1, 0x09, 0xc2, 0x17, 0x27, 0x2e, 0xea, 0x81, - 0x50, 0xcf, 0x37, 0xff, 0x92, 0x44, 0x53, 0xe5, 0x39, 0x27, 0x01, 0xcf, 0x10, 0x62, 0x3e, 0x8d, - 0xb1, 0xc2, 0x15, 0xed, 0xcf, 0x2e, 0xfa, 0x21, 0xfa, 0xcc, 0x67, 0xf5, 0x16, 0xe0, 0x2c, 0xf8, - 0x8b, 0xa7, 0xc6, 0x01, 0x91, 0x03, 0x12, 0x22, 0xb9, 0x9b, 0xd5, 0x03, 0x5c, 0x19, 0xcb, 0x8e, - 0x8f, 0xd6, 0x57, 0x75, 0xe4, 0xda, 0x4e, 0x76, 0x61, 0x16, 0xb4, 0xeb, 0x30, 0x65, 0x3e, 0x14, - 0xaa, 0xe6, 0x50, 0xe6, 0xc2, 0x15, 0x15, 0xed, 0x07, 0x84, 0x17, 0xf2, 0x1f, 0x39, 0x8a, 0x5e, - 0xbd, 0x76, 0xc9, 0x21, 0x5f, 0x8a, 0x93, 0x1c, 0xb7, 0x0e, 0xf6, 0x26, 0xe0, 0x81, 0x75, 0x7b, - 0x3c, 0x8b, 0x13, 0x42, 0xaf, 0x22, 0x1e, 0x67, 0x43, 0x09, 0xbd, 0x71, 0xa8, 0xb2, 0xdf, 0x55, - 0x68, 0x31, 0x15, 0x6c, 0xe6, 0x4f, 0x23, 0xdb, 0x94, 0x59, 0xb8, 0x39, 0x8b, 0x73, 0xa6, 0x19, - 0xda, 0x10, 0xf9, 0x1a, 0x05, 0xa0, 0xe2, 0x96, 0x26, 0x6b, 0x0f, 0xa8, 0x66, 0xdb, 0xd2, 0x0c, - 0xcb, 0x72, 0x11, 0x62, 0xc3, 0xf2, 0x89, 0x7e, 0xa4, 0x78, 0x76, 0x9f, 0x6c, 0x68, 0x8e, 0x66, - 0xe8, 0x44, 0x77, 0x86, 0x8b, 0x37, 0x16, 0x54, 0x71, 0x72, 0x03, 0x12, 0xfc, 0xcb, 0x83, 0x8a, - 0x3b, 0x9d, 0xa6, 0x9e, 0x50, 0x9f, 0x98, 0x3f, 0x5a, 0xfb, 0xff, 0x4b, 0x18, 0xb1, 0xa2, 0x4b, - 0xd4, 0xf8, 0xe3, 0xad, 0xa2, 0xf0, 0xd9, 0x02, 0x03, 0x7a, 0x51, 0x7e, 0x1e, 0xfb, 0xfe, 0xe3, - 0x48, 0xb0, 0xd4, 0x72, 0xf5, 0x6c, 0x7e, 0x75, 0xad, 0xf0, 0x90, 0xb1, 0x28, 0x0c, 0x7b, 0x67, - 0xe9, 0x4c, 0x4c, 0x54, 0x28, 0x65, 0x71, 0x12, 0xa8, 0x3a, 0xc9, 0x81, 0x83, 0x05, 0x91, 0xbb, - 0xa1, 0xf3, 0x85, 0x07, 0x31, 0x22, 0xdf, 0x2b, 0xe1, 0x9a, 0xd7, 0x83, 0x6f, 0x6c, 0xf9, 0x37, - 0x64, 0x79, 0x05, 0x22, 0x60, 0x79, 0xcc, 0x1b, 0xc6, 0xe5, 0x83, 0xa1, 0x41, 0x0a, 0xb1, 0x5c, - 0x93, 0x2d, 0xbb, 0x47, 0x41, 0xa1, 0x99, 0x74, 0x4b, 0x13, 0x0b, 0x10, 0x9e, 0x39, 0xb5, 0x6d, - 0x12, 0xf0, 0xac, 0x00, 0xb5, 0x07, 0xaf, 0x4b, 0xdf, 0x22, 0x18, 0x91, 0x3d, 0xce, 0x63, 0x1b, - 0x87, 0x3d, 0x5a, 0x24, 0xf6, 0x23, 0x9e, 0x65, 0x29, 0x3d, 0xce, 0x34, 0x71, 0x73, 0x37, 0xc0, - 0xc5, 0xde, 0xd0, 0x3e, 0x54, 0xe9, 0x4f, 0x4a, 0x45, 0x0a, 0x34, 0x0b, 0xd8, 0x00, 0x52, 0x24, - 0xaf, 0x2c, 0x94, 0x23, 0x36, 0xda, 0x5f, 0x90, 0x39, 0x96, 0xe6, 0x6e, 0x5c, 0x60, 0xd5, 0x40, - 0x6f, 0x7b, 0x44, 0x1a, 0x81, 0x6a, 0x79, 0x4c, 0x31, 0xcf, 0xb2, 0x8f, 0x34, 0x53, 0xdc, 0x8a, - 0x8d, 0x41, 0x1c, 0x72, 0xe1, 0x47, 0x89, 0x1c, 0x35, 0xf8, 0xe0, 0x13, 0xd4, 0x4e, 0xb5, 0xfc, - 0x3a, 0x67, 0x9b, 0xd9, 0xd6, 0x7b, 0x0e, 0xfc, 0x0f, 0x3a, 0xf7, 0x3d, 0x35, 0x4e, 0xb5, 0x5b, - 0x8c, 0x1c, 0x41, 0xac, 0xfa, 0xe7, 0xff, 0x09, 0x13, 0x3d, 0x57, 0xdb, 0x53, 0xb0, 0xf0, 0x76, - 0x40, 0xd3, 0x97, 0xda, 0xdd, 0xc0, 0x55, 0x73, 0x00, 0x33, 0xe4, 0x0d, 0x65, 0xde, 0x8c, 0x97, - 0x9b, 0x49, 0xe8, 0x2d, 0xa5, 0x17, 0x73, 0xea, 0x10, 0xe5, 0xac, 0xbb, 0x6b, 0x10, 0xd3, 0x94, - 0xb3, 0x26, 0xcf, 0x5c, 0x76, 0xda, 0xbe, 0x5e, 0xaa, 0x77, 0xfc, 0x50, 0x2e, 0x8e, 0xda, 0x4a, - 0x64, 0x52, 0xb3, 0xab, 0x13, 0x53, 0x56, 0x6b, 0x56, 0x65, 0x5d, 0x60, 0x82, 0xc5, 0xc5, 0x65, - 0x91, 0x2d, 0x46, 0xf7, 0x47, 0x73, 0xed, 0xc4, 0xc0, 0xc0, 0xeb, 0xf4, 0xf0, 0x19, 0x16, 0x05, - 0x57, 0xc8, 0xcf, 0x51, 0x71, 0x49, 0x51, 0xc2, 0x24, 0x36, 0x35, 0x41, 0x9e, 0x69, 0x56, 0xd8, - 0x51, 0x3d, 0xf8, 0x4c, 0x01, 0xf1, 0x9e, 0x7d, 0x67, 0xd4, 0x2f, 0x26, 0x69, 0x5c, 0x75, 0xb1, - 0xf6, 0x6a, 0x49, 0x62, 0x0a, 0x82, 0x86, 0x82, 0x89, 0x14, 0x50, 0x91, 0x65, 0x4f, 0xec, 0xcb, - 0x25, 0x9d, 0xb3, 0xc5, 0xc5, 0x76, 0xa1, 0x3a, 0xf0, 0x08, 0x36, 0x80, 0x27, 0x1f, 0xb2, 0x91, - 0xdc, 0x18, 0xe5, 0x8d, 0x83, 0xe0, 0xe6, 0x55, 0xb8, 0xb5, 0xfd, 0xdc, 0x5a, 0x34, 0xf7, 0xd9, - 0xfb, 0xdf, 0x8b, 0x95, 0xa3, 0x6b, 0x56, 0xf5, 0x98, 0xd2, 0x70, 0x06, 0xf4, 0x8e, 0xe3, 0x54, - 0x1f, 0xf2, 0xfd, 0x36, 0xaf, 0x27, 0xcc, 0x87, 0x51, 0x27, 0x40, 0xb4, 0x88, 0xb0, 0xe2, 0xf4, - 0xe9, 0xe6, 0x19, 0x83, 0x81, 0xca, 0x32, 0xf0, 0x2b, 0xea, 0xfc, 0xb6, 0x16, 0x3d, 0xc7, 0x35, - 0x09, 0x78, 0x12, 0x4d, 0x26, 0xdd, 0xf2, 0xa5, 0xa4, 0xaa, 0x9e, 0x04, 0xad, 0xf8, 0x8e, 0x08, - 0x96, 0x1a, 0x0e, 0x95, 0x7f, 0xbf, 0xd6, 0x41, 0xb5, 0x13, 0xce, 0xf5, 0x10, 0xfc, 0x88, 0x75, - 0xdb, 0x39, 0x9f, 0xba, 0xd5, 0xb8, 0xc1, 0xcc, 0x13, 0x20, 0x09, 0x29, 0xef, 0xb6, 0x8d, 0x21, - 0x3a, 0xbc, 0x6f, 0x4a, 0xee, 0x32, 0x95, 0x01, 0x35, 0xff, 0xbe, 0x5b, 0x10, 0x31, 0x71, 0x90, - 0x80, 0x63, 0xb9, 0x97, 0xe8, 0xca, 0x5f, 0x20, 0xee, 0xee, 0xb7, 0xaf, 0xa0, 0xc8, 0x6a, 0x82, - 0xac, 0x79, 0xe5, 0x3e, 0xf1, 0xde, 0x3a, 0x8e, 0x58, 0x04, 0x1c, 0x8c, 0x82, 0x25, 0x13, 0x16, - 0x54, 0xc1, 0xdc, 0xc1, 0x96, 0xfd, 0x53, 0xa4, 0x1a, 0xcf, 0x35, 0x55, 0xe7, 0x72, 0x10, 0xdf, - 0x61, 0xa9, 0xc9, 0xad, 0xd1, 0xe7, 0xb9, 0x97, 0x23, 0x58, 0x0d, 0x98, 0xc6, 0x75, 0xdf, 0x7c, - 0xd7, 0x0e, 0xad, 0xf3, 0x2f, 0xee, 0x2c, 0xa0, 0xb7, 0x86, 0x90, 0xef, 0x7d, 0x17, 0xba, 0xc7, - 0x40, 0xa8, 0x34, 0xa4, 0x24, 0x80, 0x93, 0x1e, 0xed, 0x4c, 0x3c, 0x81, 0x26, 0xf8, 0x47, 0xa9, - 0x21, 0x05, 0xe8, 0xcd, 0x68, 0xb2, 0x38, 0x44, 0x6a, 0xf5, 0x01, 0x67, 0x12, 0x31, 0x0b, 0x66, - 0xcf, 0xba, 0x50, 0xcc, 0x57, 0x20, 0x75, 0xc0, 0x59, 0x09, 0x38, 0x5d, 0x6c, 0xc3, 0x8d, 0xf5, - 0x5f, 0x2e, 0x79, 0x35, 0x6d, 0xbb, 0x6b, 0x99, 0x16, 0x2d, 0x8e, 0xa4, 0x9e, 0xf1, 0xd8, 0xe9, - 0x9e, 0x2e, 0x31, 0xc9, 0xf1, 0x0a, 0xe2, 0x45, 0x54, 0xd7, 0x1c, 0x7e, 0xe1, 0xb1, 0x93, 0x27, - 0xf8, 0xc9, 0x4c, 0x6d, 0x48, 0x1a, 0x8b, 0x46, 0xdf, 0xcb, 0x69, 0xc8, 0x66, 0xd0, 0x7b, 0x9c, - 0x16, 0xe2, 0x9d, 0x17, 0xbf, 0x89, 0xf4, 0xb2, 0x19, 0x20, 0xfb, 0x69, 0x02, 0x53, 0x9e, 0xc4, - 0x17, 0x93, 0x94, 0x92, 0xa1, 0x7f, 0xb6, 0xa2, 0x38, 0x50, 0x73, 0xcb, 0x7b, 0xb4, 0x67, 0xe0, - 0x4c, 0x7e, 0xd9, 0xf0, 0xa2, 0x5c, 0x9b, 0x4b, 0xc1, 0x90, 0x78, 0x64, 0x7d, 0x60, 0xe1, 0xe3, - 0x5c, 0xd2, 0x05, 0x1e, 0x6b, 0xec, 0xbe, 0xd8, 0xbe, 0x26, 0x77, 0x4c, 0xd8, 0xfc, 0x7d, 0xf6, - 0xca, 0xb1, 0x5c, 0x3c, 0x13, 0xdc, 0xd5, 0x69, 0x91, 0x9a, 0x02, 0xf0, 0xaa, 0x49, 0x80, 0xeb, - 0x2f, 0xa0, 0x6a, 0xdd, 0x42, 0xfb, 0xcc, 0xa2, 0x36, 0x04, 0xd0, 0x33, 0x7e, 0x98, 0x79, 0x69, - 0xda, 0x77, 0xac, 0xaa, 0x83, 0x79, 0x72, 0x67, 0xf0, 0x91, 0x51, 0x62, 0x80, 0x49, 0xd0, 0xaf, - 0x90, 0xc5, 0xbb, 0xa6, 0x8d, 0xa2, 0xf7, 0x3a, 0x8a, 0x51, 0x4e, 0x8d, 0x12, 0x12, 0xda, 0xdc, - 0xd8, 0x85, 0xaa, 0x22, 0x49, 0xa4, 0x42, 0x53, 0x94, 0x33, 0xfc, 0x10, 0x2e, 0xb4, 0x43, 0x00, - 0xf8, 0x0e, 0xa2, 0x18, 0x3b, 0x1c, 0xcb, 0x24, 0x74, 0x94, 0x34, 0x18, 0xdc, 0x8d, 0x1f, 0xcf, - 0x70, 0x57, 0x41, 0x7a, 0xc8, 0xdd, 0xac, 0x2d, 0xa1, 0x83, 0xb9, 0xd7, 0x5b, 0x00, 0x1b, 0xbf, - 0xe9, 0xa6, 0x7d, 0x1c, 0x62, 0xe4, 0xd3, 0xdc, 0xf9, 0x9f, 0xf4, 0x7f, 0x9e, 0x4f, 0x68, 0x71, - 0x94, 0xc0, 0x41, 0x37, 0x61, 0xe2, 0x03, 0xc3, 0xb4, 0xf0, 0xf8, 0x04, 0x1a, 0xd0, 0x31, 0x76, - 0x0c, 0x87, 0xdc, 0x7f, 0xf4, 0x25, 0x8d, 0xe9, 0x92, 0x6d, 0x46, 0xb6, 0xad, 0x2a, 0x2d, 0x0f, - 0xa3, 0x1a, 0x3e, 0xdf, 0xf4, 0xf0, 0xad, 0x46, 0x6e, 0x2d, 0x0c, 0x8c, 0xfb, 0x5f, 0x13, 0x40, - 0x74, 0x44, 0x69, 0x1d, 0xbf, 0x8f, 0x55, 0xb4, 0xdd, 0x28, 0x32, 0x71, 0x6d, 0x5f, 0x4c, 0xac, - 0x34, 0xe0, 0x2f, 0x09, 0x5f, 0x9a, 0xf4, 0xe6, 0x6f, 0x5a, 0x40, 0xa9, 0x97, 0x41, 0xc3, 0x43, - 0x78, 0x4f, 0x36, 0x2a, 0x69, 0xfd, 0x75, 0xef, 0x30, 0x25, 0x44, 0xde, 0xe8, 0xd1, 0x8b, 0x78, - 0xa3, 0xbf, 0xc6, 0x7b, 0xf7, 0x1e, 0xca, 0x61, 0xdb, 0x0a, 0xdc, 0x63, 0x95, 0xb0, 0x5b, 0x37, - 0x12, 0xdd, 0x2e, 0x67, 0x45, 0xb1, 0x73, 0xf1, 0x66, 0xfe, 0x98, 0xcc, 0xf6, 0xf2, 0x5c, 0x64, - 0xb8, 0x6c, 0x6a, 0x6e, 0x7f, 0x18, 0xa8, 0x92, 0xe2, 0x3c, 0xe5, 0x28, 0xf5, 0x56, 0xfb, 0x33, - 0x62, 0xef, 0x00, 0x5b, 0x5e, 0xb2, 0x24, 0x31, 0x11, 0x2e, 0x9f, 0xed, 0xd5, 0x99, 0x21, 0xd4, - 0x11, 0x16, 0x7c, 0x2e, 0xa6, 0x5b, 0xa0, 0xc3, 0x1a, 0xa9, 0x60, 0xb2, 0xbd, 0x2f, 0x5e, 0xde, - 0x0b, 0xe1, 0x75, 0x31, 0xcf, 0x5c, 0xee, 0x96, 0xa0, 0x85, 0xb7, 0x2c, 0xaf, 0x5e, 0xd3, 0x38, - 0x2f, 0xbf, 0xb9, 0x9c, 0x48, 0x0d, 0x71, 0xd6, 0x4b, 0xf4, 0xbe, 0x21, 0x24, 0x5c, 0x0c, 0x75, - 0x37, 0x8c, 0xc9, 0x65, 0xcb, 0xe0, 0x0b, 0x19, 0x27, 0x0f, 0x12, 0x7c, 0x68, 0x9d, 0x2d, 0x2b, - 0x50, 0x6e, 0x9d, 0x58, 0x0d, 0xb3, 0x6d, 0xe0, 0x31, 0x6f, 0x81, 0x81, 0x2e, 0xe4, 0x16, 0x7b, - 0xc5, 0x19, 0x01, 0x53, 0x1d, 0xc6, 0x46, 0x50, 0x22, 0x43, 0x0d, 0xff, 0x0b, 0xbe, 0x88, 0x74, - 0x1c, 0xbe, 0xc8, 0x87, 0xb5, 0x1d, 0x9d, 0x31, 0xe0, 0xf6, 0x86, 0x40, 0x94, 0xc7, 0x38, 0x8e, - 0xed, 0x7b, 0xb8, 0xd7, 0x5b, 0xdd, 0xb4, 0x63, 0x42, 0x19, 0x10, 0x3f, 0x1d, 0xbb, 0xe4, 0x5c, - 0xa2, 0x75, 0x69, 0x0e, 0xa4, 0x3e, 0xf6, 0x2e, 0x30, 0xd4, 0xfe, 0x7f, 0x4f, 0xa5, 0xde, 0x2c, - 0xb2, 0x96, 0xbb, 0xc2, 0xbd, 0x95, 0x59, 0x09, 0x18, 0xa1, 0x65, 0xcc, 0x10, 0x9c, 0xbe, 0xc9, - 0x14, 0x16, 0xb4, 0x0f, 0xc3, 0x32, 0x52, 0xb7, 0x12, 0x60, 0xfc, 0x53, 0x00, 0x27, 0x79, 0x62, - 0x5c, 0xd1, 0xf7, 0x8a, 0x55, 0xaa, 0xef, 0xb7, 0x55, 0x2f, 0x5c, 0xc3, 0x5a, 0x84, 0xed, 0x74, - 0x60, 0x43, 0x19, 0xa8, 0x01, 0x0e, 0x9e, 0x11, 0xe4, 0x74, 0x38, 0x84, 0xf7, 0xaa, 0xaa, 0x07, - 0x87, 0x00, 0xa7, 0xd1, 0xc4, 0xaa, 0xe5, 0x84, 0xd4, 0xeb, 0x46, 0x3c, 0xd3, 0x02, 0x9c, 0xd8, - 0x50, 0x6d, 0xe6, 0xc0, 0xa2, 0x6c, 0xfb, 0xa4, 0xf6, 0xdb, 0xc1, 0x45, 0x3d, 0x65, 0x5f, 0xae, - 0x43, 0x9c, 0xd7, 0xc3, 0x4e, 0x29, 0x81, 0x52, 0xb8, 0x97, 0x58, 0xd3, 0xa8, 0xa8, 0x67, 0x62, - 0x35, 0xe9, 0x9e, 0x17, 0xf7, 0x16, 0xc2, 0x58, 0xe2, 0x80, 0x0e, 0x50, 0x12, 0xa7, 0x22, 0xdb, - 0x0b, 0xb2, 0x89, 0xc5, 0xad, 0x68, 0xd7, 0x50, 0x2a, 0x67, 0x8c, 0xfa, 0xe4, 0x87, 0xc5, 0x39, - 0x9a, 0x15, 0x24, 0xcd, 0xc5, 0x5e, 0xfe, 0x08, 0x47, 0x55, 0xeb, 0x56, 0xf5, 0x6b, 0xb5, 0x14, - 0xd1, 0x44, 0xe5, 0xde, 0xbd, 0xcd, 0x97, 0xda, 0xda, 0xd8, 0x41, 0x8b, 0xc0, 0x1b, 0x30, 0x8d, - 0x1c, 0x3b, 0xb1, 0x2d, 0x5f, 0x34, 0x69, 0x4f, 0x11, 0x70, 0xd7, 0x90, 0xa7, 0x24, 0x6e, 0xec, - 0xd8, 0xd2, 0x9a, 0x8f, 0xa0, 0x69, 0xb8, 0xfb, 0xd0, 0x24, 0x40, 0x89, 0x82, 0x79, 0xf1, 0x6a, - 0xaf, 0x7f, 0xcb, 0x47, 0xa5, 0xf3, 0x93, 0xe7, 0xa9, 0xc8, 0xcb, 0x19, 0x09, 0x4b, 0x2d, 0xf6, - 0x4d, 0xe0, 0x31, 0x24, 0x9c, 0x98, 0xcf, 0xd7, 0xe4, 0x11, 0xcb, 0x1a, 0x62, 0xd6, 0xd6, 0x4e, - 0x82, 0x00, 0x9e, 0xe3, 0xe0, 0x86, 0x80, 0xde, 0x34, 0x7a, 0xf7, 0xab, 0xf4, 0x4f, 0xc0, 0xde, - 0x02, 0x36, 0xdf, 0x5b, 0x3b, 0x0f, 0x41, 0x67, 0xda, 0x08, 0x29, 0xcc, 0xfa, 0x5d, 0x78, 0x47, - 0xdd, 0xf1, 0x4a, 0xf5, 0x8d, 0x4f, 0xd2, 0xf6, 0xd5, 0x97, 0x2e, 0x39, 0xce, 0x1b, 0xc3, 0x88, - 0x0f, 0x29, 0xd4, 0x1a, 0x3e, 0xce, 0xfd, 0xf7, 0xf0, 0xb7, 0xe3, 0xd8, 0xf1, 0x06, 0x8f, 0xad, - 0x30, 0x82, 0x00, 0x2d, 0x35, 0x56, 0xcf, 0x7a, 0x63, 0x71, 0xa0, 0xfa, 0xf3, 0x0e, 0x02, 0x6a, - 0x8e, 0x64, 0xb7, 0x1f, 0x0f, 0x15, 0x65, 0x81, 0x9c, 0x6a, 0x5b, 0xa1, 0xe2, 0x2a, 0xdb, 0x75, - 0x20, 0x80, 0xca, 0x65, 0x96, 0xb1, 0x7e, 0xda, 0x09, 0x5b, 0xed, 0x6c, 0x5e, 0x89, 0x47, 0x42, - 0xee, 0x9e, 0x98, 0xdd, 0x22, 0x70, 0x5b, 0x6f, 0x07, 0x01, 0x5a, 0xb4, 0x2c, 0xe7, 0x89, 0x74, - 0x66, 0xd6, 0x0a, 0x02, 0x6b, 0x44, 0x7c, 0x4e, 0x9f, 0xad, 0x59, 0x86, 0xd8, 0x8f, 0x73, 0x49, - 0xa0, 0x52, 0xaa, 0x61, 0xdb, 0xa5, 0x0b, 0x27, 0x87, 0x45, 0x3c, 0x37, 0x11, 0x94, 0x70, 0x37, - 0xc1, 0x68, 0xe5, 0x6b, 0x51, 0x73, 0xaf, 0x9f, 0x06, 0xcd, 0x46, 0x9e, 0xcc, 0x7e, 0xb7, 0xfc, - 0xfa, 0xad, 0x19, 0xf1, 0xc9, 0xb3, 0xb7, 0xb8, 0x9d, 0x14, 0x8f, 0x24, 0x27, 0x15, 0x96, 0xf7, - 0xe3, 0x79, 0xd0, 0x48, 0xde, 0xb0, 0x44, 0x15, 0x34, 0x96, 0x23, 0x22, 0xb8, 0xc7, 0xfc, 0xfa, - 0x08, 0x28, 0xa7, 0x7e, 0x7a, 0xa9, 0x9a, 0x6c, 0x07, 0x6b, 0x2a, 0xa2, 0x9e, 0x59, 0xbe, 0x9f, - 0xed, 0x30, 0xbf, 0xf2, 0x6f, 0x34, 0x7d, 0x87, 0x7e, 0x20, 0x77, 0xe8, 0x73, 0x3d, 0xa0, 0xc0, - 0xfe, 0x6b, 0x66, 0x95, 0xdd, 0x07, 0x11, 0x05, 0xf3, 0x07, 0x4b, 0x2b, 0x03, 0x77, 0xc2, 0xfd, - 0xef, 0x3e, 0xa5, 0x8c, 0x7e, 0x85, 0x50, 0xe9, 0x05, 0x5e, 0x38, 0x2d, 0xf1, 0xb4, 0x50, 0x9f, - 0xf9, 0x0f, 0x67, 0x47, 0x04, 0x07, 0x73, 0x75, 0x67, 0xb2, 0x56, 0xcf, 0xef, 0x64, 0xa4, 0x6b, - 0x2d, 0x5e, 0x4f, 0x21, 0x4c, 0x34, 0x10, 0xa2, 0xe0, 0x88, 0x87, 0xc3, 0x02, 0x29, 0xa8, 0xb6, - 0xa4, 0x60, 0xc4, 0x73, 0xc1, 0x95, 0x04, 0xa2, 0x2b, 0xa6, 0x21, 0xe2, 0xde, 0x08, 0xd8, 0x8e, - 0x91, 0x32, 0x87, 0x9f, 0x2e, 0x66, 0x6f, 0x5c, 0xc6, 0xf2, 0x1e, 0x15, 0x78, 0x1b, 0x91, 0x62, - 0x2c, 0x8d, 0x75, 0xc8, 0x1c, 0xe7, 0x56, 0x5a, 0x65, 0xd8, 0x87, 0xfb, 0x14, 0x46, 0x77, 0xac, - 0x8e, 0xfe, 0x6f, 0xea, 0x3a, 0x0c, 0xa4, 0x59, 0x96, 0x68, 0x54, 0x4c, 0xf2, 0x60, 0x57, 0x96, - 0xa9, 0x0c, 0x83, 0x75, 0xb8, 0xcb, 0xad, 0x3a, 0xc3, 0x1f, 0xe9, 0x7b, 0x21, 0x61, 0x3a, 0xb3, - 0x65, 0x82, 0xc9, 0xdd, 0xed, 0x4d, 0x72, 0x98, 0x7f, 0x29, 0x6e, 0x96, 0x5b, 0x53, 0xc1, 0xe8, - 0x84, 0xe6, 0xad, 0x6f, 0x63, 0x0c, 0x2f, 0x94, 0x6b, 0x6d, 0x0e, 0x5f, 0x2d, 0x9f, 0x09, 0x49, - 0xa6, 0x15, 0xa7, 0x04, 0xa5, 0x27, 0xec, 0x39, 0x43, 0x8b, 0xea, 0x97, 0xb8, 0xf9, 0x26, 0x01, - 0x7e, 0x1d, 0x67, 0x71, 0x3b, 0xb0, 0x2f, 0xa1, 0x1e, 0x2b, 0x47, 0xb8, 0x04, 0xc5, 0xdd, 0xd6, - 0x4b, 0x0c, 0xa4, 0x2e, 0xca, 0xfa, 0x52, 0x9a, 0xb6, 0xfa, 0x42, 0x3c, 0x06, 0x44, 0x39, 0xcd, - 0x26, 0x82, 0xd9, 0xa5, 0x9c, 0x2d, 0xf2, 0x97, 0x0c, 0x52, 0x2f, 0xc4, 0xa1, 0xc3, 0xec, 0x08, - 0xe1, 0x74, 0xfb, 0x55, 0x2c, 0x83, 0x80, 0x9e, 0x55, 0x4a, 0x07, 0x7c, 0x39, 0x4a, 0xf7, 0x3f, - 0xce, 0x14, 0x0a, 0x74, 0xde, 0xf1, 0x08, 0xa5, 0xe3, 0x74, 0xda, 0x3f, 0x0e, 0xe7, 0x17, 0xe5, - 0x31, 0xea, 0x4b, 0x37, 0x7b, 0x06, 0x02, 0xee, 0x79, 0x95, 0x2a, 0x92, 0xa2, 0x52, 0x74, 0xf2, - 0xe8, 0x9a, 0xb4, 0xdb, 0xe4, 0x15, 0x08, 0x80, 0xa9, 0x9c, 0xba, 0xc7, 0x9b, 0xff, 0x8a, 0x2f, - 0x34, 0x39, 0x7e, 0xf4, 0x7a, 0xab, 0x83, 0x03, 0xdd, 0xcd, 0x85, 0x3a, 0x20, 0xa8, 0xd1, 0x0b, - 0x5e, 0x26, 0x5f, 0x23, 0xdb, 0x38, 0x33, 0x30, 0x50, 0x3a, 0x85, 0x3a, 0x57, 0x88, 0xa5, 0x9f, - 0xb8, 0x51, 0xa1, 0xc5, 0xd5, 0x0b, 0x2c, 0x65, 0x16, 0xb5, 0x9b, 0x39, 0x82, 0x95, 0x5b, 0xa8, - 0x40, 0x96, 0xa7, 0x84, 0x4d, 0x15, 0x7b, 0x1f, 0x8a, 0xa6, 0xf9, 0xc5, 0xa9, 0x1d, 0x72, 0x37, - 0x76, 0xaa, 0x82, 0xd6, 0xb2, 0x8a, 0x52, 0xf4, 0x3c, 0x89, 0xd4, 0x62, 0xa5, 0x13, 0xf3, 0x58, - 0x12, 0xf5, 0x88, 0x89, 0x0b, 0x9c, 0x21, 0xa6, 0xc3, 0xd9, 0x9b, 0xb7, 0xc3, 0x6e, 0x43, 0x6e, - 0xf1, 0x53, 0x5e, 0x77, 0xb6, 0x2b, 0x62, 0x35, 0x6b, 0x03, 0x16, 0x51, 0x38, 0xdc, 0xd2, 0x96, - 0x29, 0x96, 0xf9, 0x9e, 0x90, 0x63, 0x1f, 0x15, 0x2d, 0xfb, 0x84, 0x6d, 0xb3, 0x2f, 0xcd, 0xb5, - 0xa5, 0xbe, 0x4c, 0x9e, 0xb9, 0xbd, 0x9c, 0x58, 0xfb, 0x29, 0xb0, 0x8e, 0x65, 0x44, 0xbe, 0xe2, - 0x86, 0xa5, 0x13, 0xc8, 0xa4, 0x06, 0x00, 0x6c, 0xd5, 0x6c, 0xdd, 0xbb, 0x49, 0xf4, 0xf1, 0x9f, - 0x1d, 0x9c, 0x24, 0xc4, 0x52, 0x17, 0xb3, 0xeb, 0x34, 0x1a, 0x6a, 0x88, 0x07, 0x33, 0xcd, 0x35, - 0x8e, 0xf5, 0xe6, 0xd8, 0x4d, 0x8b, 0x16, 0x72, 0xaa, 0x75, 0x6d, 0x6c, 0xc2, 0x52, 0xea, 0x36, - 0x68, 0x69, 0x90, 0xa6, 0xef, 0x3c, 0x8d, 0x8a, 0x0f, 0x22, 0xd0, 0x7f, 0x0d, 0x41, 0x06, 0x70, - 0x06, 0x77, 0x4d, 0x7d, 0x05, 0x17, 0xa9, 0xa7, 0x6e, 0x3f, 0x54, 0x01, 0x21, 0x0b, 0x30, 0xed, - 0xb2, 0xec, 0xec, 0x08, 0xcb, 0xdb, 0xe0, 0xd3, 0x5c, 0x71, 0x76, 0x13, 0x54, 0x28, 0x9f, 0xa1, - 0x06, 0x87, 0x5c, 0x21, 0x53, 0x89, 0x75, 0x50, 0xef, 0x35, 0x11, 0x24, 0x31, 0x0c, 0x5e, 0xc5, - 0x51, 0x17, 0x7f, 0xe3, 0x29, 0x64, 0x0e, 0x5d, 0x24, 0xf7, 0x58, 0x58, 0xc5, 0x5d, 0xc4, 0x0f, - 0x9b, 0x9b, 0x83, 0x9e, 0x44, 0xe7, 0xdf, 0x1c, 0x5f, 0x21, 0x97, 0x83, 0xbc, 0x29, 0xad, 0xa6, - 0xc8, 0xef, 0x50, 0x2a, 0xe7, 0x3a, 0x2a, 0xc8, 0x15, 0x16, 0xaf, 0xae, 0x13, 0x57, 0xb6, 0x90, - 0x8b, 0x8f, 0x56, 0x04, 0x4b, 0xc8, 0x3e, 0x82, 0x32, 0xec, 0xaf, 0x4c, 0x05, 0x03, 0x95, 0xa0, - 0x53, 0x73, 0x41, 0x3b, 0x6d, 0xaf, 0x39, 0xa5, 0x8d, 0xdc, 0x4f, 0x8e, 0xbc, 0xb2, 0x98, 0x95, - 0x51, 0x8d, 0x1b, 0x49, 0xc3, 0x9b, 0x04, 0xd9, 0x54, 0x72, 0xe8, 0x0b, 0xcc, 0x0e, 0x28, 0x5f, - 0x01, 0x65, 0xd3, 0x3b, 0xe6, 0xdf, 0xa7, 0x7f, 0x13, 0xb9, 0x00, 0xb3, 0x0e, 0xb4, 0x8b, 0x3c, - 0xff, 0x25, 0x7f, 0xc9, 0xdb, 0x6e, 0x41, 0x28, 0x6d, 0x68, 0x00, 0xdb, 0x60, 0xca, 0xbb, 0xb3, - 0xbc, 0x1f, 0x1c, 0xd8, 0xe1, 0x4e, 0x62, 0xfc, 0x7b, 0x62, 0xad, 0x9f, 0xb7, 0x6e, 0x6a, 0xee, - 0x37, 0xc8, 0xa0, 0xd6, 0x55, 0x71, 0x62, 0xdd, 0xbb, 0x98, 0x25, 0x19, 0xd3, 0x1a, 0x8a, 0x4b, - 0x1f, 0x6b, 0x96, 0x0b, 0x0b, 0x88, 0xa0, 0x22, 0x9e, 0x62, 0xf0, 0xc9, 0x53, 0x65, 0xcc, 0x80, - 0xf1, 0x8e, 0x9f, 0xa3, 0x4c, 0xb3, 0x83, 0x2f, 0x6c, 0x94, 0x97, 0x0c, 0x69, 0xa3, 0x20, 0x6e, - 0xed, 0x14, 0xc7, 0x4d, 0x3a, 0xb6, 0x84, 0x32, 0x85, 0xeb, 0xf9, 0xdc, 0x5f, 0xef, 0x65, 0x1f, - 0xa2, 0x5d, 0x59, 0xfe, 0xf8, 0xd4, 0x4c, 0xff, 0x0b, 0xd8, 0x8f, 0xbd, 0x39, 0x4c, 0xb8, 0xd1, - 0x06, 0x38, 0xc4, 0x2c, 0x3e, 0xdc, 0x5d, 0x4f, 0x15, 0xb8, 0xcd, 0x33, 0xe0, 0xab, 0xf5, 0x5b, - 0x8a, 0xa5, 0x15, 0x8c, 0x43, 0xe4, 0x90, 0x5a, 0x17, 0x67, 0xa2, 0xd3, 0xcf, 0xe2, 0x3f, 0x8e, - 0xfc, 0xe4, 0x67, 0x4f, 0xf5, 0x9d, 0xd1, 0xb1, 0xae, 0xbb, 0x9b, 0xa1, 0x7b, 0x91, 0x61, 0xdd, - 0xc5, 0xf5, 0x76, 0xba, 0xd1, 0xcb, 0x99, 0x2e, 0xd6, 0x11, 0xab, 0x90, 0x60, 0x9a, 0x63, 0x55, - 0x11, 0x35, 0x4a, 0xaa, 0x69, 0x36, 0x45, 0xb5, 0x8f, 0x4c, 0x09, 0x93, 0xed, 0xab, 0xfb, 0x00, - 0x7a, 0xbe, 0xf9, 0xaf, 0x97, 0x1f, 0x64, 0x7f, 0x6c, 0x41, 0x14, 0xff, 0xf4, 0x4a, 0x22, 0x0c, - 0xd8, 0x5d, 0x56, 0xdf, 0x25, 0x68, 0xd0, 0x99, 0x46, 0xfa, 0xcd, 0xed, 0xcf, 0x81, 0x56, 0x15, - 0x11, 0xa0, 0xb1, 0x08, 0xff, 0x3b, 0x7f, 0xff, 0x65, 0xda, 0x65, 0xa2, 0x78, 0x96, 0x84, 0x24, - 0x16, 0x91, 0x11, 0x3b, 0x5c, 0x29, 0x88, 0x69, 0x10, 0xd1, 0x15, 0xb0, 0xb1, 0xb8, 0x00, 0xdd, - 0x69, 0xd5, 0x8a, 0x7c, 0x66, 0xd4, 0xef, 0xfa, 0xd7, 0xd0, 0x44, 0xf1, 0x78, 0x6c, 0xd5, 0x7a, - 0xbe, 0xa3, 0x54, 0xe1, 0x7f, 0xe2, 0x2c, 0x4d, 0x87, 0x4b, 0xf4, 0xb3, 0xfd, 0xa9, 0xea, 0xcb, - 0x5d, 0x81, 0x4e, 0x40, 0x9a, 0xfa, 0x97, 0xb9, 0x51, 0xdd, 0x6b, 0x31, 0x71, 0xf1, 0x1d, 0x97, - 0x60, 0x42, 0xcc, 0x50, 0x18, 0x33, 0xe5, 0x87, 0x35, 0x3d, 0x26, 0x4d, 0xe7, 0xd5, 0x4e, 0x3c, - 0x63, 0x26, 0xf6, 0x87, 0x55, 0xf9, 0x94, 0xd3, 0x22, 0x3c, 0xb7, 0x61, 0xb7, 0x6b, 0xda, 0x5e, - 0x99, 0x5f, 0xe2, 0x83, 0x0f, 0xf7, 0x86, 0x76, 0x10, 0xf5, 0x3c, 0xa3, 0x33, 0xd2, 0x66, 0xbc, - 0x4b, 0xfe, 0x51, 0x8d, 0x96, 0xe6, 0xe6, 0x96, 0x68, 0x83, 0xfb, 0x79, 0x1c, 0xa7, 0xc9, 0xf8, - 0xfb, 0x2b, 0x74, 0x4c, 0xc6, 0x8e, 0xae, 0x86, 0x93, 0xf3, 0xa6, 0xd2, 0xe0, 0x7c, 0xb4, 0x59, - 0x05, 0x3e, 0xc2, 0x3c, 0x01, 0x13, 0xe8, 0x4b, 0x74, 0x14, 0x82, 0xae, 0xe2, 0x2f, 0xb9, 0xdc, - 0xa1, 0x8d, 0xf6, 0x83, 0xf0, 0x9c, 0x47, 0xb4, 0x81, 0xc1, 0xbb, 0xc1, 0xa7, 0xf8, 0x94, 0x48, - 0xe0, 0xe6, 0x12, 0xd7, 0xb1, 0xab, 0xc6, 0x77, 0x36, 0xf1, 0x69, 0x4d, 0x58, 0x21, 0x70, 0x6a, - 0x5d, 0xd5, 0xf3, 0xb3, 0x03, 0xd7, 0xe7, 0x2c, 0xa4, 0x42, 0x51, 0x02, 0x54, 0xcd, 0xec, 0x24, - 0xdd, 0x71, 0xad, 0x90, 0xa9, 0x98, 0xea, 0x69, 0x3f, 0xda, 0xb2, 0xdc, 0xbc, 0x5a, 0x69, 0x4a, - 0x5f, 0xce, 0x87, 0xc4, 0xaf, 0x0c, 0x1d, 0x56, 0x6d, 0xb9, 0x82, 0x20, 0x9c, 0x3d, 0xdd, 0xe9, - 0xb4, 0x5b, 0x8b, 0x6b, 0x56, 0x50, 0xc4, 0xe9, 0xd0, 0x94, 0x14, 0x2f, 0x7a, 0x30, 0xc6, 0x82, - 0xfa, 0x9f, 0x5a, 0x73, 0xeb, 0x3d, 0x7e, 0x78, 0xad, 0x29, 0x05, 0x90, 0x43, 0x6e, 0xdc, 0xad, - 0xdc, 0x7c, 0xae, 0xee, 0x95, 0x0b, 0x13, 0x51, 0x4d, 0x4a, 0x4a, 0x07, 0xb6, 0x11, 0xe7, 0x52, - 0x6e, 0x6b, 0x66, 0x4d, 0xa0, 0x3c, 0x9a, 0x99, 0x10, 0x91, 0xef, 0x1b, 0x44, 0xbd, 0xca, 0x46, - 0xf2, 0x1d, 0x3f, 0x7a, 0x96, 0x37, 0xc0, 0x6a, 0xfc, 0xbc, 0x3c, 0xd6, 0x58, 0xf7, 0xc0, 0xf0, - 0x92, 0xca, 0x62, 0xfc, 0xa1, 0xd9, 0x97, 0x4b, 0x32, 0x85, 0xda, 0x12, 0x18, 0x14, 0xb9, 0x93, - 0x6b, 0x74, 0xd3, 0x8c, 0x3d, 0xdf, 0xd4, 0x2d, 0x15, 0x59, 0x04, 0xcb, 0xa5, 0x01, 0xf4, 0xa3, - 0x16, 0x27, 0xf5, 0xe0, 0xbd, 0xcc, 0xb2, 0x68, 0x65, 0x60, 0xf1, 0x57, 0x4d, 0x5d, 0xdd, 0xfb, - 0xe5, 0x20, 0x72, 0x69, 0x9f, 0x69, 0x6e, 0x8a, 0x75, 0x08, 0xf0, 0xcc, 0x63, 0x97, 0xa5, 0xd1, - 0xb5, 0xb7, 0x26, 0xc5, 0xc3, 0x81, 0xa3, 0xa0, 0x6f, 0xa4, 0xf7, 0x21, 0xa7, 0x22, 0x90, 0xca, - 0xc2, 0x16, 0x2f, 0xe2, 0xf2, 0xed, 0xa5, 0xa0, 0xb6, 0x9e, 0x0c, 0xd4, 0x9f, 0xe0, 0x1d, 0x3d, - 0x12, 0x4e, 0x7b, 0x70, 0x72, 0x5e, 0x85, 0x8a, 0xfc, 0x85, 0xe6, 0x20, 0xee, 0x6f, 0xc9, 0xd7, - 0xb5, 0xb1, 0x80, 0x7e, 0x1a, 0x59, 0x57, 0xeb, 0xe4, 0xad, 0xc2, 0x64, 0x1d, 0x95, 0x6e, 0x1a, - 0x3d, 0xcf, 0x2b, 0x4c, 0xbd, 0x41, 0x10, 0xfd, 0xd8, 0x5b, 0x5a, 0xd8, 0xa9, 0xa8, 0x79, 0x0d, - 0xd8, 0xb6, 0xf3, 0xed, 0x60, 0x54, 0x83, 0x78, 0x35, 0x87, 0xb6, 0x46, 0xb6, 0x52, 0x35, 0xbb, - 0x52, 0x3b, 0x79, 0xe1, 0x95, 0x67, 0xcd, 0x69, 0x0c, 0x31, 0x05, 0xa3, 0x29, 0x91, 0xa7, 0xf8, - 0x56, 0x18, 0xb5, 0x84, 0xc1, 0x27, 0x7b, 0x80, 0x5b, 0x10, 0x8a, 0x74, 0xdf, 0xc3, 0x69, 0x89, - 0x8f, 0x17, 0xb3, 0x8e, 0xe1, 0xdc, 0xf7, 0x0b, 0xb7, 0x1e, 0x7a, 0x61, 0xad, 0x21, 0x1b, 0x48, - 0x65, 0x3e, 0x9d, 0x77, 0xfa, 0x82, 0xdf, 0x5c, 0xb3, 0x42, 0x4e, 0x08, 0xe4, 0x13, 0x18, 0x6e, - 0xbd, 0xd1, 0x39, 0x79, 0x46, 0x66, 0xdd, 0x4d, 0x72, 0xf2, 0xfa, 0x76, 0x2c, 0x42, 0x83, 0xe9, - 0x94, 0xf8, 0x65, 0x55, 0xf4, 0x81, 0x57, 0x92, 0x2d, 0x0e, 0x52, 0xbe, 0x88, 0x0c, 0xc1, 0xeb, - 0xd3, 0x33, 0xbc, 0xfe, 0x5b, 0xc1, 0xfb, 0xe1, 0xbd, 0x67, 0xc1, 0xd1, 0xb4, 0xbb, 0x8f, 0x73, - 0x23, 0xd1, 0xa7, 0x28, 0x11, 0x97, 0x4d, 0x05, 0xef, 0xf7, 0xbc, 0x39, 0x9e, 0x45, 0x83, 0x4c, - 0x8d, 0x31, 0xfb, 0x2d, 0x33, 0xb1, 0xbb, 0x37, 0x40, 0xc7, 0x4f, 0x12, 0xcc, 0x8c, 0x31, 0xbe, - 0x1e, 0x0c, 0x28, 0x3a, 0x72, 0x48, 0x2b, 0xb3, 0x39, 0x8b, 0x46, 0xa5, 0xfc, 0x93, 0x52, 0x61, - 0x3d, 0xd8, 0xfe, 0x20, 0xf3, 0x97, 0x9e, 0x21, 0x85, 0xf1, 0x77, 0xfc, 0x21, 0xcc, 0xa1, 0x68, - 0xd7, 0xda, 0x09, 0xc9, 0xf1, 0x78, 0xbb, 0x87, 0x19, 0xcd, 0x89, 0x2a, 0x5f, 0x7c, 0xa2, 0xd0, - 0x19, 0x5d, 0x98, 0x45, 0x54, 0xa6, 0x2b, 0xb8, 0x29, 0xc2, 0xcc, 0xd7, 0x1a, 0x5c, 0xb4, 0x7a, - 0x17, 0xe8, 0x20, 0xb1, 0xe8, 0xd7, 0xba, 0xf1, 0xda, 0xe3, 0x63, 0xc9, 0x4f, 0x49, 0xd9, 0x4b, - 0xd3, 0x1c, 0xbd, 0x2f, 0x3c, 0xf3, 0xac, 0x65, 0xcb, 0xe8, 0x6d, 0x34, 0xb3, 0x32, 0xb5, 0x3c, - 0x0e, 0x3e, 0x05, 0x1c, 0x1f, 0x16, 0xf0, 0x49, 0x23, 0xd7, 0x07, 0xfc, 0x37, 0x1e, 0xc1, 0xa6, - 0x62, 0x2a, 0x30, 0xb8, 0xcd, 0xbd, 0xfb, 0xc0, 0xf4, 0x19, 0x0a, 0x76, 0x21, 0xd5, 0x8f, 0xd2, - 0x23, 0xae, 0xa9, 0x91, 0xf3, 0xc4, 0x76, 0xab, 0x97, 0x3d, 0x61, 0x0c, 0xc4, 0x58, 0xdf, 0x62, - 0xbb, 0x58, 0x00, 0xc1, 0xb9, 0x97, 0xc1, 0xb0, 0x6b, 0xdb, 0x57, 0x7b, 0x55, 0x5b, 0xd3, 0x76, - 0xd5, 0x27, 0x5e, 0x85, 0x9e, 0x8e, 0x4c, 0xbd, 0xeb, 0xef, 0x3b, 0x79, 0x7f, 0x5d, 0x2f, 0xea, - 0x00, 0x34, 0x64, 0x96, 0x41, 0x6a, 0xa2, 0x56, 0x05, 0xe7, 0xdb, 0x3e, 0x39, 0x16, 0x22, 0x2c, - 0xf0, 0x0a, 0xf6, 0x11, 0x60, 0x17, 0x5a, 0x49, 0x20, 0x37, 0xc9, 0x6b, 0xbc, 0x97, 0x59, 0x54, - 0x00, 0x8f, 0xc3, 0x22, 0x64, 0xf3, 0x15, 0xaa, 0xb0, 0x04, 0xba, 0x80, 0x68, 0x29, 0x0d, 0xa6, - 0x7d, 0x6d, 0x45, 0xbd, 0xc7, 0xe4, 0x3d, 0x46, 0x03, 0xa0, 0x84, 0xfb, 0x76, 0x94, 0x1f, 0x29, - 0xf9, 0xa3, 0xc9, 0xab, 0x79, 0xdc, 0x34, 0xc6, 0x62, 0x74, 0x98, 0x57, 0x42, 0x5d, 0x4d, 0x2b, - 0xc5, 0x57, 0x75, 0x65, 0x56, 0x4c, 0x96, 0xb1, 0x91, 0xa4, 0xc1, 0xb6, 0xb7, 0xbe, 0xea, 0x92, - 0x17, 0x8f, 0x0c, 0x0c, 0x2e, 0xf9, 0x00, 0xb7, 0x18, 0x8f, 0x02, 0xd0, 0x4d, 0x68, 0x59, 0x74, - 0x70, 0x8e, 0x79, 0x65, 0x4c, 0xed, 0xc0, 0x71, 0x03, 0x96, 0x0a, 0x93, 0x99, 0x8c, 0xe3, 0x34, - 0xbd, 0x0c, 0xd5, 0x55, 0x9e, 0xbd, 0xba, 0x01, 0x2d, 0x75, 0x94, 0xa5, 0x3b, 0x0e, 0xfd, 0xb1, - 0x37, 0x81, 0x0c, 0x14, 0x9d, 0x86, 0x7c, 0x37, 0x3c, 0xc2, 0xe7, 0x76, 0xd5, 0x05, 0x5e, 0x45, - 0x33, 0xd0, 0x17, 0x1e, 0x7f, 0x8f, 0x64, 0x48, 0x75, 0x04, 0x2f, 0xbe, 0x03, 0x14, 0xa2, 0x11, - 0x5c, 0xe6, 0x4a, 0x1e, 0x09, 0x55, 0x4c, 0xe4, 0x43, 0x37, 0xd0, 0xda, 0xf9, 0x97, 0xb7, 0x15, - 0x63, 0x74, 0x35, 0x62, 0x51, 0xbc, 0xe6, 0x1c, 0x6a, 0xa7, 0xed, 0x05, 0x6f, 0xcf, 0x5d, 0xb4, - 0x39, 0xce, 0x68, 0xba, 0xe3, 0x5a, 0x85, 0xf8, 0x6e, 0x43, 0xe6, 0x12, 0x22, 0x7c, 0xae, 0xb7, - 0x5a, 0xd9, 0x1f, 0x08, 0x87, 0xab, 0x84, 0x3c, 0x2c, 0x3b, 0x57, 0x53, 0x2d, 0x7a, 0xe2, 0xa2, - 0x33, 0x9a, 0x31, 0x05, 0xab, 0x95, 0x77, 0xa6, 0xdf, 0x21, 0x94, 0x4a, 0xe5, 0x4b, 0xff, 0xc9, - 0x43, 0xbf, 0xe2, 0x6a, 0x23, 0x81, 0x22, 0x05, 0x6d, 0xd6, 0x50, 0xb5, 0x61, 0x1b, 0xcc, 0x3a, - 0xbe, 0x61, 0x20, 0x82, 0xf1, 0x86, 0xba, 0xa9, 0xd1, 0x40, 0x17, 0xa7, 0xe0, 0x55, 0x78, 0x59, - 0xc5, 0xfd, 0xe2, 0xee, 0xb8, 0xce, 0x67, 0x9b, 0x84, 0x66, 0xda, 0x02, 0x5a, 0xcc, 0x77, 0x57, - 0xc3, 0xd9, 0x03, 0xf2, 0xbf, 0xa2, 0x5f, 0x69, 0x3a, 0x9a, 0x7e, 0xbf, 0xa3, 0x4a, 0x39, 0x38, - 0x8a, 0xcf, 0xe7, 0x73, 0x10, 0xc8, 0xc9, 0xd1, 0xb2, 0x56, 0x2a, 0x24, 0x87, 0x1e, 0xf8, 0x83, - 0xe6, 0x3f, 0xf8, 0xdd, 0xcd, 0x67, 0x03, 0x3b, 0xae, 0xf1, 0xaa, 0x37, 0x4f, 0x33, 0x56, 0xd1, - 0x08, 0x02, 0xb7, 0x6b, 0xcb, 0x75, 0xbf, 0x3c, 0xd0, 0x4b, 0x75, 0xf8, 0x93, 0x48, 0x10, 0x25, - 0x2b, 0x13, 0xd9, 0x3c, 0xe1, 0xd0, 0x17, 0x4a, 0x94, 0xd4, 0x6a, 0x3e, 0xec, 0x10, 0xbc, 0xaf, - 0xf3, 0x69, 0x80, 0x29, 0x55, 0xd0, 0xc6, 0x1d, 0x77, 0x05, 0x15, 0xf4, 0x77, 0x8d, 0x6a, 0x4e, - 0x5b, 0x41, 0x4c, 0xcf, 0x1d, 0x67, 0xaf, 0x2e, 0xe2, 0x47, 0xdd, 0x37, 0xff, 0x80, 0x62, 0xc8, - 0xd1, 0xe1, 0xf4, 0x51, 0xd6, 0x86, 0x07, 0xee, 0xfb, 0x7d, 0x4d, 0x4d, 0x0e, 0x35, 0x06, 0x7d, - 0xa9, 0x5f, 0xc6, 0xf0, 0xd2, 0xc9, 0x9f, 0x4a, 0xb1, 0x21, 0x46, 0xfc, 0x5e, 0xb0, 0x18, 0x89, - 0xc7, 0xbc, 0xfc, 0x22, 0xce, 0xfb, 0x20, 0xa6, 0xe5, 0x19, 0x6b, 0xc4, 0x08, 0x81, 0xfd, 0x43, - 0x7b, 0xe9, 0x0a, 0x3e, 0xd6, 0x41, 0x29, 0xee, 0x69, 0x43, 0xe2, 0x33, 0x0f, 0xbd, 0x4c, 0xe3, - 0xca, 0x02, 0xa4, 0x85, 0x57, 0x07, 0x5a, 0x02, 0x37, 0xf4, 0xac, 0xaf, 0xbe, 0x9e, 0x8e, 0x37, - 0xe8, 0xe1, 0x9a, 0xbb, 0x15, 0x47, 0xb9, 0x46, 0x6e, 0xa2, 0xbf, 0x68, 0xef, 0x51, 0x9a, 0x8c, - 0xb3, 0xa4, 0xb1, 0xa1, 0xf9, 0x5c, 0xe7, 0xed, 0xd0, 0x68, 0xa0, 0x84, 0x27, 0x41, 0x9a, 0xc5, - 0x78, 0x06, 0x3c, 0xf4, 0x6b, 0x86, 0x7e, 0x82, 0x8c, 0xa3, 0x2e, 0xc6, 0x40, 0x58, 0x3f, 0x3b, - 0x60, 0x22, 0xd9, 0x25, 0xa5, 0x18, 0x45, 0xf9, 0x5f, 0x48, 0x29, 0x0a, 0xb0, 0xf5, 0x48, 0x58, - 0x70, 0xfb, 0x90, 0x52, 0x0b, 0xd4, 0x5d, 0x94, 0x36, 0x8a, 0x8a, 0xf4, 0x7e, 0xe1, 0xab, 0x61, - 0xa8, 0x69, 0xe8, 0xb6, 0x15, 0x2b, 0x4c, 0x13, 0x18, 0x0e, 0x72, 0x3c, 0x5b, 0x32, 0xf5, 0x7c, - 0xa6, 0xb2, 0xfb, 0xab, 0x53, 0x58, 0x37, 0x9b, 0x3f, 0xed, 0x3e, 0xa6, 0x75, 0x20, 0x53, 0x23, - 0x56, 0x3c, 0xc5, 0xae, 0xc0, 0x49, 0x9c, 0x33, 0x56, 0xd4, 0xe5, 0x13, 0xa5, 0x69, 0x59, 0x3e, - 0xaa, 0x4f, 0x1e, 0x9b, 0xe7, 0x5c, 0xa9, 0xb2, 0x59, 0xae, 0x3a, 0x36, 0xfd, 0x48, 0xad, 0xe8, - 0x11, 0xc7, 0xf5, 0xca, 0xdd, 0x84, 0x7c, 0xe1, 0x89, 0xf8, 0x7c, 0x4d, 0xa7, 0x21, 0x58, 0x08, - 0xa2, 0xb4, 0x81, 0x7b, 0x5b, 0x99, 0x1e, 0x73, 0x08, 0xed, 0x66, 0x39, 0x32, 0xb2, 0x91, 0x69, - 0x2f, 0x6c, 0x30, 0x46, 0x49, 0xfb, 0xe5, 0xe4, 0xdb, 0xb1, 0x27, 0x48, 0x0e, 0x15, 0x6d, 0x06, - 0x6f, 0x85, 0x13, 0xee, 0xe9, 0x68, 0x60, 0x00, 0x1f, 0xb9, 0x3e, 0x4c, 0x8c, 0x5f, 0xff, 0xd4, - 0x38, 0x73, 0xaf, 0x3d, 0xb7, 0x93, 0x36, 0xc5, 0x61, 0x9d, 0xac, 0xda, 0x9c, 0xf4, 0xf2, 0x4d, - 0x2e, 0x26, 0x94, 0x56, 0xf1, 0x74, 0xb8, 0x34, 0x6d, 0xa5, 0x36, 0x01, 0x30, 0x13, 0x13, 0x7f, - 0x84, 0xbb, 0x46, 0xde, 0x4d, 0x93, 0xc8, 0x16, 0x47, 0x02, 0xc3, 0x1e, 0xa4, 0x45, 0x00, 0x32, - 0xa2, 0x0b, 0x32, 0x58, 0xf0, 0xd9, 0xe4, 0x7e, 0x7c, 0x3f, 0x55, 0x43, 0x35, 0x14, 0x73, 0x9e, - 0x83, 0x2b, 0xce, 0x0f, 0x4f, 0xd5, 0xf9, 0xea, 0x42, 0x03, 0x3c, 0x7d, 0x38, 0x25, 0x50, 0x40, - 0x32, 0xbf, 0x35, 0x21, 0x15, 0x23, 0x4d, 0x24, 0x58, 0x91, 0xa4, 0x06, 0x07, 0x9d, 0xdd, 0xe1, - 0x50, 0xf0, 0xa1, 0xce, 0x67, 0x5c, 0x37, 0x4b, 0x63, 0x82, 0xea, 0xba, 0xbd, 0xec, 0x92, 0x27, - 0x6d, 0xd5, 0x9e, 0x7d, 0x32, 0x23, 0x02, 0xc2, 0xe0, 0x94, 0x5a, 0x3c, 0xb6, 0x90, 0x17, 0x37, - 0xc3, 0xfe, 0xd0, 0x7c, 0x66, 0xd7, 0xf0, 0xfc, 0xe5, 0xbe, 0x0c, 0x70, 0xb2, 0x10, 0xc6, 0x7b, - 0xdf, 0xdc, 0xe5, 0x9d, 0x4d, 0x54, 0xb8, 0x2e, 0x96, 0xe2, 0x6b, 0xb5, 0x30, 0xab, 0xf0, 0x04, - 0x99, 0x62, 0x67, 0x3c, 0xa4, 0x02, 0xcc, 0x54, 0xc0, 0x04, 0x75, 0xfb, 0xde, 0x12, 0x38, 0x3b, - 0x23, 0xe7, 0x1c, 0x0b, 0x54, 0xb4, 0x35, 0xd0, 0xf0, 0xc1, 0xd9, 0x7a, 0xd5, 0xa0, 0x5c, 0xf6, - 0xd7, 0x9f, 0x3a, 0xdb, 0xcf, 0x5b, 0x19, 0x7b, 0xaa, 0x8f, 0x8a, 0x45, 0xe7, 0x7a, 0xfd, 0xfd, - 0x6b, 0xa4, 0xa6, 0x42, 0x98, 0xed, 0xb5, 0xd1, 0xd8, 0x7e, 0xf1, 0x4e, 0x61, 0xc3, 0x62, 0xc2, - 0x3f, 0xa9, 0x8c, 0x4c, 0x0c, 0x1e, 0x68, 0xd8, 0x86, 0x7e, 0x74, 0xab, 0xee, 0x60, 0x4c, 0xd8, - 0x37, 0x0f, 0x57, 0xc0, 0x65, 0x9d, 0xed, 0x93, 0xcf, 0xd6, 0x56, 0xa6, 0x43, 0x91, 0xb5, 0xfb, - 0xd7, 0xeb, 0x16, 0x66, 0x51, 0x12, 0x7b, 0xad, 0xc7, 0x08, 0xa2, 0xbc, 0xae, 0x10, 0x6c, 0x88, - 0x54, 0xc3, 0x80, 0x15, 0x75, 0x17, 0xcb, 0xee, 0xa0, 0x7f, 0xff, 0xf7, 0x28, 0xa1, 0x91, 0x52, - 0x1a, 0xa6, 0x12, 0x3d, 0x09, 0x8a, 0x9d, 0x74, 0x5a, 0xa5, 0xaa, 0x86, 0x1e, 0xec, 0x9c, 0xae, - 0x9f, 0x66, 0xa5, 0x0d, 0x8c, 0x32, 0x24, 0x00, 0xea, 0xa9, 0x85, 0x09, 0xcc, 0x25, 0xb7, 0xa5, - 0xdc, 0x7a, 0x42, 0x47, 0xc0, 0x76, 0xaa, 0xec, 0xf8, 0xc6, 0x55, 0xb7, 0xc1, 0x8a, 0xeb, 0xde, - 0x35, 0x6a, 0x4d, 0xd7, 0xf2, 0x99, 0x0a, 0x44, 0x53, 0x2d, 0x76, 0x3b, 0x89, 0x84, 0x0b, 0xb7, - 0xbb, 0x25, 0x77, 0xc4, 0xb5, 0x6a, 0x79, 0x2d, 0x04, 0x67, 0x65, 0x24, 0xa7, 0x36, 0x17, 0x7f, - 0x04, 0x34, 0x98, 0xd5, 0xa4, 0x01, 0x29, 0xff, 0x4a, 0x99, 0x4c, 0x95, 0x40, 0x91, 0x13, 0x6d, - 0x04, 0x67, 0x1e, 0xa4, 0xde, 0xf3, 0x5b, 0x0d, 0xad, 0xba, 0x5d, 0x9b, 0x3f, 0xb8, 0xff, 0x9c, - 0x17, 0xad, 0xcb, 0x49, 0x4b, 0xa4, 0xc1, 0x8e, 0x97, 0xf3, 0x2d, 0x84, 0xc8, 0xbc, 0x6b, 0x44, - 0x5f, 0xa7, 0x8f, 0x4d, 0x05, 0x91, 0x47, 0x37, 0x1e, 0x65, 0x27, 0x11, 0x81, 0x87, 0x29, 0x6b, - 0x61, 0x8b, 0x20, 0xbe, 0x99, 0x08, 0x0a, 0x1e, 0xbb, 0x5e, 0xd2, 0x24, 0x8d, 0x58, 0x69, 0x33, - 0xbe, 0x2b, 0xa4, 0x20, 0xdf, 0xfb, 0x89, 0x3d, 0x78, 0xb2, 0x84, 0xa0, 0x8f, 0x9e, 0x4d, 0xb3, - 0xf6, 0x0c, 0xac, 0x84, 0x69, 0x2e, 0x50, 0x61, 0x8b, 0x92, 0x86, 0xde, 0x58, 0xb3, 0x9b, 0xe4, - 0x8e, 0x7b, 0xac, 0x8c, 0x3b, 0xd4, 0x44, 0x67, 0x83, 0x3b, 0xe9, 0x1f, 0xd0, 0x79, 0x26, 0xa9, - 0x8b, 0x6b, 0xa3, 0x80, 0xab, 0xee, 0x43, 0x95, 0xa6, 0x10, 0x3f, 0xe0, 0xd8, 0x73, 0x8a, 0x52, - 0x6d, 0x4a, 0x45, 0xc5, 0x9f, 0x90, 0xa5, 0x57, 0x27, 0xbf, 0x87, 0xf7, 0x39, 0xda, 0x74, 0x68, - 0x56, 0xb2, 0xbc, 0x84, 0x05, 0xdc, 0x8a, 0xae, 0xf3, 0x35, 0x14, 0x7a, 0xa7, 0x17, 0x44, 0x36, - 0x83, 0xb4, 0xc2, 0xa9, 0x33, 0x99, 0xa3, 0x8d, 0xac, 0xe0, 0x10, 0x0f, 0x12, 0x68, 0x98, 0xc3, - 0xf7, 0xa6, 0xdb, 0x6a, 0x39, 0x03, 0x36, 0xba, 0x56, 0xe8, 0x46, 0x85, 0xd3, 0x88, 0x29, 0x0c, - 0xc1, 0x28, 0x2c, 0x07, 0xfb, 0x9e, 0x75, 0x88, 0x18, 0xb5, 0xe3, 0x63, 0x12, 0x1d, 0x58, 0x5e, - 0x05, 0xea, 0x4f, 0xbb, 0x8c, 0x55, 0x50, 0x4e, 0xb8, 0x6d, 0xaf, 0x9a, 0x6a, 0xaf, 0x84, 0x5e, - 0x15, 0x01, 0x49, 0x00, 0xe7, 0xaf, 0xce, 0x1b, 0x46, 0x55, 0x21, 0xf3, 0x85, 0x2e, 0xb4, 0x14, - 0x1a, 0x14, 0xcd, 0xb9, 0x45, 0x58, 0x4e, 0xec, 0x0a, 0xf4, 0x57, 0x67, 0x70, 0xd3, 0x42, 0x26, - 0x21, 0x8c, 0x7f, 0xa5, 0xf0, 0xa7, 0xd3, 0x17, 0x94, 0xa4, 0xa2, 0x66, 0x62, 0x53, 0x12, 0xc9, - 0x9c, 0x34, 0x8d, 0x90, 0xfb, 0x61, 0x06, 0x4e, 0x8b, 0x49, 0x6e, 0xa1, 0xc4, 0x34, 0xca, 0x21, - 0x19, 0x31, 0xe5, 0xb2, 0x47, 0x26, 0xc5, 0x84, 0x42, 0xf1, 0x17, 0x50, 0xe0, 0xc4, 0x38, 0x96, - 0x43, 0xfe, 0xf3, 0x62, 0x8e, 0x8c, 0x43, 0x0e, 0x29, 0x1e, 0x3c, 0xfe, 0x4d, 0xa9, 0x53, 0x7f, - 0xa5, 0x2e, 0x1e, 0x1c, 0xef, 0x02, 0xe4, 0x6a, 0x69, 0x81, 0x74, 0xb0, 0xc0, 0x9f, 0xc8, 0xcb, - 0xe5, 0x1c, 0x5f, 0x28, 0x99, 0x3a, 0x42, 0x6c, 0x89, 0xd9, 0xca, 0xef, 0x32, 0x00, 0xa1, 0xa2, - 0x1a, 0x8c, 0x7d, 0xa0, 0x0a, 0x1c, 0xe4, 0x94, 0x5b, 0x8c, 0xc1, 0xd0, 0xd1, 0x97, 0x70, 0xd9, - 0xa1, 0xbb, 0x89, 0x30, 0x9d, 0x9d, 0x78, 0x1f, 0x00, 0x28, 0xb2, 0x34, 0xf3, 0x55, 0x3d, 0x10, - 0xa1, 0x87, 0xb1, 0x23, 0xd3, 0x49, 0x36, 0x90, 0x83, 0x05, 0x8c, 0xd0, 0x47, 0x18, 0xb0, 0xb1, - 0x49, 0x06, 0x2f, 0x93, 0x36, 0xb9, 0x3c, 0xc1, 0x68, 0x77, 0x38, 0x77, 0x7b, 0x1d, 0x22, 0x8f, - 0xc0, 0xdc, 0x7f, 0xcd, 0xe5, 0x68, 0x8a, 0x75, 0xbe, 0x5e, 0x58, 0xa8, 0xdd, 0x1e, 0x6d, 0x0c, - 0xef, 0xf3, 0xf1, 0xa2, 0x68, 0x36, 0x71, 0xff, 0x25, 0x0a, 0x49, 0x86, 0xc9, 0x8b, 0xa0, 0x93, - 0xd7, 0x33, 0xe1, 0x16, 0x11, 0x5d, 0xb0, 0xa3, 0x0f, 0xe5, 0x3a, 0x90, 0x59, 0x6c, 0x5d, 0xab, - 0x22, 0x9d, 0x08, 0x78, 0x64, 0xbd, 0x2e, 0xf3, 0x1e, 0x71, 0x29, 0x96, 0x1b, 0xad, 0x86, 0xd9, - 0x3c, 0x07, 0xca, 0x8f, 0x31, 0x77, 0x6b, 0x36, 0xd9, 0x02, 0xa5, 0xd6, 0x64, 0x4d, 0x4e, 0xfb, - 0xe5, 0x4b, 0x68, 0x24, 0x49, 0x9d, 0xb1, 0x02, 0xed, 0xc8, 0xe1, 0x34, 0xfb, 0xe0, 0xa2, 0xfb, - 0xbf, 0x53, 0x55, 0x3a, 0x5d, 0xdf, 0x19, 0x4d, 0x7f, 0xb9, 0xcd, 0xa4, 0xa3, 0x63, 0x40, 0x26, - 0x25, 0xd9, 0x67, 0x72, 0xe5, 0xd5, 0xe8, 0xd1, 0x59, 0x97, 0x52, 0x9f, 0xd8, 0xbe, 0x9f, 0xcb, - 0x23, 0x14, 0xc9, 0x1b, 0xdf, 0x73, 0x28, 0x31, 0x50, 0x17, 0x6a, 0x97, 0x2d, 0xde, 0x3a, 0x7c, - 0xb8, 0xf0, 0x4f, 0xdc, 0x04, 0x69, 0x02, 0x32, 0x00, 0xcd, 0xa2, 0x16, 0xc8, 0x30, 0x68, 0xa8, - 0x65, 0x87, 0x7f, 0x00, 0x6f, 0x7f, 0xdb, 0x75, 0x5f, 0xd3, 0xb5, 0xc5, 0xf5, 0x91, 0x7e, 0x1e, - 0x68, 0xaa, 0x46, 0x18, 0x07, 0xba, 0xa3, 0x81, 0xca, 0xc5, 0x57, 0xdb, 0x96, 0x8c, 0xb9, 0x39, - 0x48, 0x01, 0xf1, 0xaa, 0x34, 0xb3, 0x3b, 0x87, 0xe7, 0xe1, 0x3e, 0xbd, 0x5a, 0x57, 0x3a, 0xfc, - 0x76, 0x44, 0x87, 0x27, 0xb4, 0x37, 0x21, 0x25, 0xcf, 0xd0, 0x24, 0x3f, 0xdb, 0x19, 0xf7, 0xad, - 0x59, 0xa0, 0xb7, 0xaa, 0x73, 0xd5, 0xa6, 0x58, 0x9c, 0x7f, 0xab, 0xbf, 0x59, 0x6c, 0x2b, 0x35, - 0x4e, 0x61, 0x1d, 0xf2, 0x78, 0x74, 0xa1, 0xdc, 0x2c, 0x34, 0xdc, 0xe2, 0x8a, 0x59, 0x3c, 0xb9, - 0x56, 0x90, 0x96, 0x27, 0xba, 0x57, 0x9c, 0xa9, 0x64, 0x57, 0xbd, 0x80, 0xd8, 0x98, 0xb8, 0x72, - 0x74, 0xb6, 0x25, 0xf2, 0xef, 0x71, 0xa3, 0x7c, 0xe6, 0xdf, 0x40, 0x89, 0x56, 0x6f, 0x21, 0xb1, - 0x7a, 0xb5, 0x3e, 0xa4, 0x95, 0xb3, 0xe2, 0xb2, 0x7e, 0xd6, 0xda, 0xa8, 0x3e, 0x73, 0x0c, 0xae, - 0xb8, 0x7d, 0xfa, 0x1b, 0x9e, 0x49, 0xee, 0x6f, 0xab, 0x03, 0xa6, 0x19, 0x84, 0xc3, 0xa5, 0x14, - 0x74, 0x51, 0xe2, 0xcd, 0xd1, 0x10, 0xa9, 0x2f, 0x48, 0x1f, 0x8d, 0xeb, 0x1f, 0x7e, 0x96, 0x37, - 0x78, 0xa3, 0x71, 0x24, 0xbc, 0xce, 0xbb, 0xb8, 0xb7, 0x59, 0xa1, 0xee, 0x9f, 0xce, 0x57, 0xa8, - 0xdd, 0x9d, 0x39, 0xdb, 0x04, 0xcf, 0x3d, 0x61, 0x88, 0xc1, 0x9a, 0x05, 0xd9, 0xee, 0x26, 0x10, - 0xcd, 0x3f, 0x2c, 0xfe, 0x1b, 0x15, 0x8d, 0x17, 0x69, 0xc4, 0x89, 0x53, 0x87, 0x39, 0xa9, 0x98, - 0xb3, 0x65, 0xb9, 0x18, 0x2f, 0x29, 0xed, 0x89, 0x90, 0x2b, 0x47, 0x05, 0x89, 0x73, 0xa3, 0x5c, - 0xb6, 0x88, 0x27, 0x7b, 0xf3, 0xfa, 0xcc, 0xba, 0x1d, 0xd8, 0xcb, 0x22, 0x3d, 0xe4, 0xb2, 0x14, - 0x16, 0xfe, 0x40, 0x42, 0x9b, 0x0a, 0xe0, 0x60, 0xd5, 0x01, 0x21, 0x74, 0x3b, 0x78, 0xf5, 0x7f, - 0x25, 0xa7, 0x46, 0xfd, 0xe8, 0xa1, 0x4d, 0x3b, 0x67, 0xe1, 0xa0, 0x0f, 0x41, 0xef, 0x90, 0x92, - 0x8a, 0x1c, 0x70, 0x5b, 0xf7, 0x93, 0xad, 0x76, 0x70, 0x21, 0x1a, 0x04, 0x51, 0x36, 0x2c, 0x50, - 0x82, 0x01, 0x81, 0x2a, 0xf2, 0x45, 0x71, 0xb8, 0xb5, 0x9a, 0xc8, 0x73, 0x6a, 0xde, 0x69, 0xdc, - 0x64, 0x4f, 0x06, 0x2f, 0x54, 0x17, 0xa7, 0x32, 0x51, 0x07, 0xda, 0xbb, 0xcc, 0x94, 0x0a, 0xbb, - 0x33, 0x48, 0xe7, 0x6e, 0xd4, 0xa9, 0xd9, 0x6c, 0x0a, 0x4c, 0xb3, 0xba, 0x1b, 0x8e, 0x63, 0x38, - 0x17, 0x50, 0xce, 0xab, 0x4e, 0xba, 0x60, 0x95, 0x03, 0x74, 0x90, 0x0d, 0x83, 0xe5, 0xe7, 0x3a, - 0x78, 0xab, 0x2a, 0x3b, 0xb0, 0x2e, 0x61, 0x65, 0x2a, 0xa4, 0x59, 0x7d, 0x10, 0x8d, 0x7c, 0xf0, - 0x4c, 0xf4, 0x4c, 0x85, 0xe0, 0xbc, 0xa4, 0xbe, 0x60, 0xb7, 0x89, 0xca, 0xe1, 0xb8, 0x5d, 0x82, - 0xf0, 0x5f, 0x8a, 0xaa, 0x40, 0x6d, 0x5f, 0xc0, 0xa1, 0x49, 0xe0, 0xec, 0xb0, 0x0a, 0x07, 0x39, - 0xa6, 0x6e, 0xfb, 0xcb, 0xf0, 0xc5, 0x1f, 0x35, 0xf2, 0x30, 0xb7, 0xf6, 0x16, 0x4a, 0x01, 0x99, - 0xab, 0x2c, 0x7e, 0x8a, 0xe4, 0x1f, 0x04, 0x71, 0x44, 0x0c, 0xe2, 0x59, 0x39, 0x87, 0x42, 0x1b, - 0x8c, 0x22, 0xec, 0x49, 0x76, 0xea, 0xa3, 0x35, 0x12, 0x47, 0xa4, 0xd2, 0x7b, 0xe6, 0x9f, 0x70, - 0x51, 0x33, 0x75, 0xaf, 0x1c, 0xe8, 0x88, 0x88, 0x49, 0xc8, 0xa9, 0x3d, 0x8a, 0xae, 0xdb, 0x1e, - 0x3e, 0x58, 0x93, 0x96, 0xf7, 0x27, 0xe1, 0xa8, 0x3e, 0xdc, 0xc9, 0x45, 0xc3, 0xe9, 0xaa, 0xe4, - 0xb5, 0x84, 0x00, 0x05, 0x68, 0x83, 0x97, 0xb2, 0x72, 0xfd, 0x7c, 0xdc, 0xdb, 0xb0, 0x4b, 0x39, - 0xca, 0x0b, 0x3e, 0xb8, 0x13, 0xce, 0x8f, 0xea, 0x63, 0xca, 0xd6, 0xf2, 0x2a, 0x65, 0xe4, 0xd8, - 0x8d, 0xd7, 0xbb, 0x59, 0xf8, 0x10, 0xf2, 0xcf, 0x9c, 0x1d, 0x3f, 0x70, 0x28, 0xc3, 0x3e, 0x70, - 0x0c, 0x77, 0x99, 0xed, 0xf7, 0x21, 0x28, 0x1f, 0x1f, 0x2d, 0x01, 0xce, 0xa4, 0x7c, 0xbf, 0x34, - 0x41, 0xe5, 0x4f, 0xfc, 0xf4, 0x92, 0x98, 0x12, 0x3e, 0xbd, 0x7c, 0x78, 0xdf, 0x82, 0x2c, 0xd4, - 0x5a, 0x93, 0x22, 0x7f, 0xb3, 0xd5, 0x74, 0xd2, 0x80, 0xd1, 0xcc, 0xb5, 0x84, 0x5a, 0x74, 0x23, - 0xe9, 0x4c, 0xf3, 0xdf, 0xd2, 0x7f, 0xf1, 0xfe, 0x5b, 0x78, 0xd7, 0x6b, 0xd3, 0xfb, 0xd6, 0x60, - 0x1d, 0x7d, 0x67, 0x14, 0x61, 0xc6, 0xe3, 0xc1, 0x95, 0x63, 0xe4, 0x14, 0x66, 0x12, 0x84, 0xbe, - 0xc3, 0x45, 0x91, 0xe8, 0x5d, 0x23, 0x0f, 0xae, 0x91, 0xbe, 0x6c, 0x03, 0x63, 0xc7, 0x8d, 0xbc, - 0x52, 0xc9, 0x9c, 0xb2, 0x4e, 0xa7, 0x16, 0xc4, 0x5b, 0xb5, 0x36, 0x6e, 0xc6, 0x36, 0x2a, 0xae, - 0x22, 0x0d, 0xf4, 0xae, 0xc1, 0xc8, 0x63, 0xdf, 0x36, 0x67, 0x13, 0x9a, 0xbb, 0x67, 0x56, 0x72, - 0x41, 0x4e, 0x69, 0x21, 0x75, 0xe2, 0xde, 0xf9, 0x1e, 0x04, 0xbd, 0x29, 0x68, 0xb2, 0x83, 0x51, - 0x23, 0x3a, 0xa1, 0x43, 0x68, 0xae, 0xae, 0xa2, 0xfb, 0x60, 0xd4, 0xfa, 0x37, 0xd1, 0x4a, 0x10, - 0xe0, 0x94, 0xf9, 0x45, 0x24, 0x6b, 0xb5, 0x06, 0x19, 0x80, 0x9a, 0x39, 0xfd, 0xc5, 0xf5, 0xec, - 0x40, 0xf4, 0xa2, 0x3e, 0x7c, 0x88, 0x73, 0xdb, 0xa8, 0x82, 0xe2, 0x09, 0xbb, 0xe2, 0xd0, 0x50, - 0x72, 0x29, 0x2a, 0x09, 0x54, 0xef, 0xa9, 0xc2, 0x9a, 0xf6, 0xc8, 0x7d, 0x39, 0x26, 0xa1, 0x77, - 0x9b, 0x03, 0xac, 0x1c, 0x10, 0xc0, 0xf4, 0x9e, 0x6e, 0x87, 0xe5, 0xba, 0xe4, 0x4e, 0x6b, 0xd9, - 0xce, 0x36, 0xa1, 0x1f, 0x32, 0x34, 0xe8, 0x50, 0xb0, 0xd5, 0xb7, 0xc7, 0x02, 0x55, 0x0d, 0xa6, - 0x23, 0x58, 0x16, 0xe0, 0xee, 0x8b, 0xd0, 0xce, 0x5b, 0xf6, 0x8b, 0x05, 0xa2, 0x1c, 0xd1, 0x15, - 0xe8, 0xd0, 0x87, 0x31, 0x59, 0x9d, 0xb4, 0xdf, 0x12, 0xbd, 0x91, 0x00, 0x43, 0xae, 0x6a, 0xd0, - 0x8e, 0x48, 0x45, 0x01, 0xa2, 0xdb, 0x1a, 0x3f, 0x3f, 0x8e, 0x8c, 0x04, 0x2d, 0x05, 0x45, 0xf7, - 0xf2, 0x4e, 0xea, 0xb9, 0x9e, 0x31, 0x67, 0x76, 0x94, 0x7f, 0x1a, 0xdf, 0x1d, 0x19, 0x21, 0xb1, - 0x3b, 0x75, 0x51, 0xc5, 0xa0, 0xc9, 0x0c, 0x78, 0x02, 0xf4, 0x26, 0x5a, 0xc0, 0x3b, 0x7c, 0x5a, - 0xc4, 0xa3, 0x2f, 0x54, 0x5d, 0x28, 0x53, 0xad, 0xa5, 0x60, 0x9d, 0x72, 0xb7, 0xc6, 0x43, 0xab, - 0x0e, 0x33, 0x0c, 0xf8, 0x23, 0x35, 0x7c, 0x00, 0x4f, 0x56, 0x9c, 0x3f, 0x57, 0xa4, 0xa2, 0x5a, - 0x6c, 0xef, 0xc8, 0x58, 0x7f, 0x52, 0x34, 0x27, 0x4a, 0x52, 0xef, 0x8c, 0xa2, 0x7d, 0xf7, 0x1f, - 0xc6, 0x9d, 0xa5, 0x50, 0x6a, 0x7e, 0x04, 0x21, 0x2d, 0x89, 0x96, 0xd5, 0x75, 0x2b, 0x2a, 0x4f, - 0xe0, 0xb6, 0xa5, 0x66, 0xb0, 0x16, 0x7f, 0x70, 0x61, 0xb6, 0x57, 0x27, 0x10, 0x49, 0x6b, 0xf3, - 0x29, 0xbc, 0x77, 0x5f, 0x85, 0x17, 0x7e, 0x56, 0xca, 0x7a, 0x5e, 0x24, 0x13, 0xa0, 0xf2, 0x71, - 0xd2, 0x15, 0x3c, 0x77, 0xdd, 0x01, 0x7f, 0x95, 0xee, 0xd8, 0xd6, 0x64, 0x4a, 0x8a, 0x44, 0x17, - 0x09, 0x63, 0x29, 0x26, 0x04, 0xc0, 0x08, 0xa3, 0xdc, 0xb6, 0xb7, 0x06, 0x24, 0x1f, 0xe8, 0x79, - 0x3f, 0xde, 0x87, 0xd1, 0x58, 0xab, 0xbb, 0x7d, 0xda, 0xb8, 0x76, 0xac, 0xa4, 0x3c, 0x8b, 0x36, - 0xfd, 0x3b, 0x32, 0xdc, 0x34, 0xd7, 0xcd, 0xda, 0x74, 0xc2, 0xb5, 0x0a, 0x82, 0x6e, 0x09, 0xc0, - 0xef, 0x9c, 0x2c, 0x0e, 0x65, 0x32, 0xa8, 0x24, 0x07, 0x96, 0xbd, 0xbf, 0x2f, 0xbd, 0x55, 0x97, - 0x09, 0xab, 0xa3, 0x2c, 0x00, 0x7b, 0x3e, 0x2f, 0x12, 0x63, 0x05, 0xe7, 0x8e, 0xdd, 0xf1, 0x44, - 0x7e, 0x2b, 0xe0, 0x35, 0x9d, 0x1c, 0x7f, 0x65, 0x84, 0x51, 0x87, 0xf5, 0xf3, 0x5d, 0x39, 0x1c, - 0x41, 0xed, 0x56, 0x1c, 0x30, 0x6c, 0xf3, 0x42, 0x7f, 0x04, 0xb2, 0xa9, 0xe6, 0xae, 0xc1, 0x7c, - 0xd2, 0x22, 0x77, 0xc2, 0x58, 0xb4, 0x9f, 0x51, 0x7e, 0x87, 0x64, 0x41, 0xd1, 0x68, 0xf6, 0xed, - 0xa1, 0xc3, 0x97, 0x75, 0x9a, 0x4a, 0x49, 0x62, 0x0a, 0xd4, 0xeb, 0xc1, 0x38, 0x0a, 0x8c, 0x7b, - 0xef, 0x6c, 0x5f, 0x15, 0x4f, 0xbc, 0x5a, 0xc2, 0xdc, 0x28, 0x81, 0xa9, 0xf8, 0xbd, 0x53, 0xd0, - 0x4c, 0x6d, 0x70, 0xc6, 0x12, 0xb3, 0xe8, 0x38, 0x2c, 0x55, 0xc4, 0x0c, 0xe1, 0xd3, 0x08, 0x04, - 0x53, 0xaa, 0x6e, 0x1d, 0x1a, 0xe2, 0x8a, 0xfa, 0xca, 0xb7, 0x12, 0x87, 0xa2, 0x03, 0xc9, 0x1c, - 0x29, 0x08, 0x1d, 0x22, 0x74, 0xf9, 0xde, 0x81, 0xd6, 0xdd, 0x97, 0xb9, 0x6b, 0x4b, 0x4b, 0xd4, - 0x70, 0xd3, 0x3d, 0x50, 0xc0, 0x3a, 0xfb, 0x0b, 0x3b, 0x40, 0x27, 0x3f, 0xc5, 0xae, 0xa0, 0x59, - 0x3d, 0x5f, 0xec, 0x4e, 0xc8, 0x1c, 0x92, 0x85, 0xe5, 0x5b, 0x31, 0xce, 0x97, 0x90, 0xef, 0x61, - 0x45, 0x3e, 0x48, 0x3f, 0x6b, 0x7b, 0x2e, 0x60, 0x19, 0xd2, 0x2f, 0x12, 0xff, 0xa1, 0xbe, 0x5f, - 0x2e, 0x34, 0xe0, 0xae, 0x5b, 0xea, 0xb3, 0x32, 0x88, 0x66, 0x43, 0xd9, 0x4e, 0x04, 0x09, 0xf2, - 0xf8, 0x0e, 0x5d, 0xc7, 0xdb, 0x88, 0xca, 0xc9, 0x3b, 0x71, 0xb3, 0xaa, 0xe3, 0xf1, 0x97, 0x0f, - 0xd9, 0x57, 0xb9, 0x8a, 0xea, 0x5e, 0xe3, 0xbb, 0x53, 0x2e, 0xfe, 0x08, 0x56, 0xfd, 0x34, 0xf5, - 0xef, 0xff, 0x11, 0xb3, 0x6b, 0x62, 0x50, 0x90, 0xad, 0x15, 0x44, 0x63, 0x26, 0x45, 0x5a, 0xbb, - 0x35, 0x49, 0x91, 0x96, 0xe2, 0x7f, 0xd3, 0x97, 0x4e, 0x2e, 0x38, 0x1e, 0x0d, 0x73, 0x6e, 0xce, - 0x67, 0xe4, 0xbb, 0x96, 0x97, 0x92, 0x39, 0x60, 0xa7, 0xe8, 0x5f, 0xcb, 0x44, 0xe4, 0x09, 0x7d, - 0x6e, 0x95, 0x74, 0x93, 0xa5, 0x08, 0x08, 0x3a, 0x31, 0xcd, 0x16, 0x4f, 0x82, 0xab, 0xe1, 0xef, - 0x44, 0x66, 0x33, 0xa4, 0x80, 0x67, 0xa6, 0x8e, 0xc3, 0x31, 0xa9, 0x88, 0x1e, 0xdf, 0xe9, 0xea, - 0x4e, 0xdc, 0x5d, 0x11, 0x18, 0x3c, 0x49, 0xa2, 0xab, 0x36, 0xf2, 0xed, 0xb5, 0x99, 0x29, 0xe0, - 0xe9, 0x4b, 0x36, 0xf3, 0xf9, 0xe2, 0x73, 0xae, 0x93, 0xe2, 0xc9, 0x37, 0xce, 0xfa, 0xa7, 0x30, - 0xfa, 0x50, 0xa9, 0xe3, 0xf6, 0x00, 0xd3, 0xfe, 0x1c, 0x21, 0x33, 0x5f, 0xa2, 0x5b, 0x12, 0x40, - 0x58, 0x6c, 0xdd, 0x00, 0x8b, 0x88, 0xf3, 0xbb, 0x59, 0x80, 0xc3, 0x70, 0x1a, 0x0b, 0x6d, 0xca, - 0x36, 0x42, 0xa3, 0xbe, 0x0d, 0x90, 0x30, 0xe3, 0x98, 0x42, 0x27, 0x33, 0x07, 0xbf, 0x24, 0x73, - 0x99, 0xf5, 0x3c, 0xda, 0x44, 0xe5, 0xdd, 0xfb, 0x48, 0x98, 0x12, 0x3b, 0xb1, 0x99, 0x58, 0xdb, - 0x5f, 0xd3, 0xd2, 0x37, 0xa3, 0xd5, 0x90, 0x77, 0x22, 0x71, 0xef, 0x5d, 0x28, 0x9a, 0xdb, 0x6f, - 0x62, 0x08, 0x22, 0xcc, 0x50, 0x9c, 0xfd, 0x4c, 0x86, 0x51, 0xe5, 0xba, 0x03, 0xfb, 0x3d, 0x6c, - 0x30, 0xc8, 0x25, 0x16, 0x04, 0x82, 0x49, 0x12, 0x92, 0x71, 0x25, 0x66, 0xd3, 0x60, 0xe8, 0x36, - 0x16, 0xa9, 0x5f, 0x14, 0x81, 0x01, 0xc4, 0xd2, 0x17, 0x6d, 0x17, 0x54, 0x02, 0xf4, 0xd0, 0x8d, - 0x1e, 0xd8, 0x0b, 0xac, 0x03, 0x9d, 0x74, 0x56, 0x5a, 0x7a, 0x0f, 0x86, 0x5e, 0xd0, 0x3e, 0x9b, - 0xab, 0x7c, 0xe0, 0x1b, 0xe4, 0x3a, 0x06, 0xf6, 0xd4, 0x43, 0x7a, 0xe2, 0xde, 0x90, 0xc2, 0x1d, - 0xd3, 0xcf, 0xca, 0x81, 0x6c, 0xd3, 0xa1, 0xc4, 0x16, 0x5f, 0xfd, 0x8e, 0x0d, 0x7a, 0x03, 0x7f, - 0xa3, 0x92, 0x56, 0xf3, 0xb4, 0x09, 0xfb, 0x48, 0x3a, 0xb3, 0x40, 0xc3, 0xc4, 0x93, 0xc4, 0x97, - 0xdf, 0x7d, 0x6b, 0xdd, 0x32, 0xa3, 0x86, 0xec, 0x7c, 0x6a, 0x77, 0x38, 0x26, 0xf5, 0x8c, 0xf7, - 0x3a, 0x10, 0x5a, 0xbf, 0xad, 0x09, 0x30, 0xeb, 0x0b, 0x36, 0xb1, 0x6e, 0xdb, 0x39, 0x39, 0xaa, - 0xef, 0xe6, 0xae, 0xc6, 0x48, 0xb8, 0xdd, 0x71, 0x67, 0xeb, 0x2c, 0xd9, 0x70, 0xeb, 0xa4, 0xb6, - 0x65, 0x56, 0x20, 0x4b, 0x92, 0x58, 0x7b, 0x02, 0x99, 0x89, 0x9d, 0x46, 0x2c, 0x73, 0x86, 0x61, - 0x80, 0xf8, 0x08, 0x87, 0xa3, 0xad, 0xd8, 0x87, 0x43, 0x45, 0x7a, 0xe4, 0x8d, 0x8b, 0x70, 0xf3, - 0x91, 0xa8, 0xd9, 0x85, 0xa1, 0x5e, 0x24, 0x6f, 0xc2, 0x31, 0xfd, 0x7f, 0x88, 0xe6, 0x98, 0xa4, - 0x6e, 0xd2, 0x80, 0x12, 0x2c, 0x40, 0xc6, 0x9c, 0x99, 0xab, 0x12, 0x73, 0xb3, 0xf8, 0x0c, 0x5e, - 0xb2, 0x30, 0xd5, 0xcd, 0xf3, 0xc9, 0x3a, 0xfe, 0xab, 0x1d, 0x74, 0x0e, 0x66, 0x12, 0xcd, 0xb2, - 0xca, 0x81, 0x2f, 0x2d, 0xc4, 0xd3, 0x6a, 0x8b, 0xa2, 0x81, 0x8c, 0x9e, 0xdb, 0xb9, 0xdc, 0x94, - 0xf8, 0x34, 0x39, 0x39, 0x3f, 0xe1, 0xaf, 0x22, 0x47, 0xc8, 0x07, 0xba, 0x9f, 0x0b, 0x9d, 0x4e, - 0x30, 0x1c, 0x06, 0xcc, 0xb2, 0xa8, 0xca, 0x8d, 0xa5, 0x22, 0xa1, 0x21, 0x84, 0xbf, 0x32, 0x33, - 0x93, 0x3d, 0x2e, 0x0d, 0xef, 0xde, 0x4f, 0x92, 0xab, 0x25, 0x96, 0xb6, 0x2a, 0xf5, 0xa6, 0xf9, - 0xb5, 0xef, 0xc6, 0x11, 0xac, 0xc7, 0x07, 0x56, 0xdc, 0x03, 0x40, 0x75, 0x25, 0xbb, 0x2e, 0xff, - 0x4f, 0x53, 0xb1, 0x7b, 0xe9, 0x09, 0xc1, 0x8f, 0xaf, 0x55, 0xce, 0xac, 0x55, 0x88, 0x8c, 0xe9, - 0x61, 0x4a, 0x82, 0x77, 0x7b, 0x87, 0x49, 0xe5, 0x3a, 0x58, 0xae, 0x70, 0xb1, 0xc4, 0x32, 0x63, - 0xb6, 0x84, 0x13, 0x26, 0x71, 0x84, 0x27, 0x79, 0xe5, 0xb0, 0x4c, 0x7b, 0x26, 0x1f, 0x89, 0xaf, - 0x49, 0xbf, 0x6b, 0x44, 0xe5, 0x4e, 0xb3, 0x0e, 0xb2, 0x59, 0xce, 0x86, 0x8b, 0x8b, 0xc8, 0xbe, - 0xd3, 0xeb, 0x5f, 0x11, 0x20, 0x36, 0x3b, 0xe4, 0xfd, 0x63, 0x6a, 0x88, 0xa5, 0x03, 0x2c, 0x41, - 0x69, 0xe3, 0xf3, 0x7d, 0xd3, 0xf2, 0xba, 0x4f, 0x72, 0x12, 0x18, 0x1d, 0xea, 0xb6, 0x5e, 0x3b, - 0x0f, 0x3a, 0x18, 0x1c, 0xae, 0x1d, 0x03, 0xfe, 0xc1, 0x53, 0x96, 0x4d, 0xa8, 0xdd, 0x3d, 0x33, - 0x1a, 0x7b, 0xe1, 0x16, 0x90, 0x6e, 0x18, 0x41, 0x5d, 0x6d, 0xe3, 0x4b, 0xf8, 0xf6, 0x2c, 0x87, - 0x07, 0x06, 0xfe, 0x4d, 0x0b, 0x91, 0xe4, 0xbe, 0x44, 0x5a, 0xed, 0x8b, 0x6c, 0x8a, 0x0d, 0xc6, - 0xc5, 0xf0, 0x57, 0xb7, 0x40, 0xc4, 0x26, 0xb1, 0x9b, 0x6f, 0xa6, 0xce, 0x8d, 0x94, 0x6f, 0x6e, - 0x73, 0x15, 0x7f, 0x04, 0xdb, 0xad, 0xa1, 0x59, 0x8a, 0xf5, 0x72, 0xdd, 0xe2, 0x26, 0xc6, 0x9a, - 0x4a, 0x60, 0x8c, 0x83, 0xdd, 0x5a, 0x39, 0xa0, 0x41, 0xce, 0xcf, 0xbc, 0x27, 0x0a, 0xb1, 0x75, - 0x09, 0xea, 0x8f, 0x5f, 0x7b, 0x36, 0x21, 0xcf, 0x38, 0x07, 0x36, 0xc4, 0x83, 0x44, 0x44, 0x7d, - 0xd9, 0x7c, 0x26, 0xf8, 0x94, 0xd4, 0x75, 0x9f, 0x6d, 0xa2, 0x4b, 0x84, 0x0d, 0x79, 0x41, 0xb1, - 0x27, 0x56, 0x8d, 0x4a, 0xba, 0x73, 0x29, 0xb6, 0x6b, 0x7d, 0xd8, 0xad, 0x39, 0xe1, 0x38, 0xd4, - 0x61, 0xa4, 0x30, 0x41, 0xae, 0xa5, 0x38, 0xc7, 0xba, 0x8a, 0xf4, 0x1e, 0xe3, 0x44, 0x1b, 0x35, - 0x48, 0x31, 0x83, 0x96, 0xb6, 0x45, 0xfa, 0x1e, 0x45, 0xcd, 0xe4, 0x97, 0x19, 0xaa, 0x36, 0x82, - 0x91, 0x22, 0x30, 0xa2, 0xe3, 0xee, 0x84, 0x92, 0xc5, 0x1d, 0xb3, 0x79, 0x29, 0xa6, 0xd6, 0x9e, - 0x86, 0x5b, 0x77, 0xec, 0xbe, 0x6c, 0xc2, 0xd1, 0xba, 0x1e, 0x5b, 0x7c, 0x0a, 0x45, 0x76, 0xe6, - 0xce, 0xcd, 0x72, 0xca, 0xc9, 0x6a, 0xed, 0x0e, 0xa9, 0x2f, 0x6c, 0xe1, 0xcb, 0x6d, 0x5c, 0xcb, - 0x98, 0x04, 0x80, 0xc8, 0x81, 0xe2, 0x83, 0x71, 0xd8, 0x37, 0x68, 0x61, 0xb4, 0xe0, 0xfa, 0x02, - 0x0d, 0x5d, 0xff, 0x71, 0x5d, 0x33, 0x86, 0xc0, 0xf1, 0x7c, 0x2a, 0xfa, 0xac, 0xdb, 0xe3, 0x6a, - 0x01, 0xe2, 0xe8, 0x27, 0xc4, 0xfc, 0x9d, 0x4f, 0xe3, 0x6d, 0x80, 0x35, 0x17, 0x18, 0xfa, 0xa8, - 0x21, 0x6b, 0xe6, 0xe2, 0xa7, 0x14, 0x62, 0x56, 0xf6, 0xd8, 0xad, 0xc2, 0x86, 0xc2, 0xf2, 0x15, - 0xcf, 0x59, 0x03, 0x17, 0x4f, 0x38, 0x76, 0x44, 0x15, 0x1a, 0xa0, 0xe7, 0x74, 0x1c, 0x10, 0x75, - 0xd1, 0x5a, 0xa5, 0xe6, 0xe7, 0x87, 0x36, 0x9a, 0x4b, 0xbc, 0x57, 0xc1, 0xbc, 0xaa, 0x86, 0x9b, - 0x89, 0x17, 0x57, 0x24, 0xea, 0x8a, 0x55, 0x1c, 0xac, 0xab, 0x80, 0x83, 0xe3, 0x86, 0x54, 0x20, - 0x85, 0x54, 0x91, 0x1c, 0xc1, 0xe3, 0x2a, 0x22, 0x7a, 0x53, 0x3e, 0x85, 0xec, 0x89, 0x9d, 0x59, - 0xba, 0x7a, 0x5c, 0xdc, 0x1c, 0x5b, 0x92, 0xba, 0x55, 0xb3, 0xc1, 0x69, 0xce, 0x70, 0x5c, 0xa8, - 0x84, 0xb1, 0xb1, 0x12, 0xa4, 0x4e, 0xd9, 0x0d, 0xf8, 0x39, 0x7f, 0x9f, 0x64, 0x68, 0xa1, 0xa7, - 0xcd, 0x88, 0x83, 0xc6, 0xa4, 0x92, 0x4a, 0xc4, 0x10, 0x9b, 0xb6, 0x01, 0x74, 0xe9, 0xd8, 0x86, - 0x58, 0xd5, 0xe9, 0x8d, 0xc7, 0xe8, 0x54, 0xb5, 0x7f, 0x28, 0x08, 0x6e, 0x9f, 0x13, 0x1f, 0xdf, - 0xc8, 0xdc, 0x64, 0x96, 0x12, 0x3d, 0x05, 0xa4, 0x01, 0x4b, 0x89, 0xcd, 0xe2, 0x3d, 0x1f, 0xef, - 0xd3, 0xb5, 0xa6, 0x08, 0x49, 0x1e, 0x60, 0xfe, 0x0d, 0x6f, 0xe8, 0x6c, 0x9e, 0x90, 0xf9, 0xea, - 0x46, 0x7d, 0xb3, 0xff, 0xd1, 0xeb, 0x54, 0x23, 0xcd, 0xa9, 0x70, 0x59, 0x85, 0x2d, 0xdb, 0x5a, - 0xfe, 0x81, 0x55, 0x64, 0x1a, 0x37, 0xcf, 0x70, 0x34, 0xa6, 0x34, 0x39, 0x18, 0x17, 0x35, 0x29, - 0x09, 0xd8, 0x55, 0xa5, 0x0e, 0x6a, 0xa7, 0x45, 0x75, 0x70, 0xd2, 0x92, 0x94, 0xa1, 0x96, 0x6f, - 0xc2, 0xd9, 0x3e, 0x40, 0x03, 0x43, 0x6b, 0x17, 0x73, 0x5e, 0x2c, 0x10, 0x98, 0xa4, 0xea, 0x37, - 0xfc, 0xcb, 0xcb, 0x0b, 0x76, 0x9f, 0x87, 0x86, 0x55, 0x0a, 0xd5, 0x2d, 0xa6, 0xe2, 0xe1, 0x4c, - 0x71, 0xad, 0xe5, 0xe3, 0x38, 0xa6, 0xc4, 0x69, 0x26, 0x94, 0xad, 0x21, 0x72, 0x96, 0x55, 0x54, - 0x92, 0xd7, 0x56, 0x12, 0xc2, 0xb9, 0xc9, 0x28, 0xe7, 0x8c, 0x1e, 0x50, 0xd7, 0xc1, 0xf5, 0xe4, - 0x56, 0xd9, 0xae, 0x76, 0xb6, 0x18, 0x5b, 0xe9, 0x1c, 0x8f, 0x55, 0x3c, 0x20, 0x19, 0x8e, 0xd3, - 0xe8, 0x7b, 0x89, 0xb7, 0xbd, 0xa3, 0x99, 0x35, 0x6c, 0x2f, 0xc7, 0xc0, 0x6c, 0x3e, 0x59, 0x0e, - 0x80, 0xea, 0xf5, 0x9e, 0x96, 0xd6, 0x71, 0x26, 0x7d, 0x7d, 0x75, 0x84, 0xd2, 0x8d, 0x19, 0xc4, - 0x0a, 0x70, 0xbe, 0xab, 0xec, 0xce, 0x93, 0x6f, 0x93, 0x5c, 0x7a, 0x65, 0x00, 0xbb, 0x05, 0xde, - 0x9a, 0x67, 0xd4, 0x6e, 0x9a, 0xd1, 0x3a, 0xc5, 0xe0, 0xfd, 0x2b, 0x89, 0xcf, 0x17, 0x93, 0x66, - 0x4a, 0x07, 0x97, 0xb4, 0xcf, 0xb4, 0x58, 0xa2, 0x29, 0xa1, 0xb9, 0x9a, 0x92, 0xac, 0xf2, 0x04, - 0xe5, 0xcf, 0xee, 0x4d, 0x4c, 0xeb, 0x25, 0x4f, 0x66, 0xab, 0x1d, 0x8c, 0xca, 0xb0, 0x5c, 0x93, - 0xfe, 0x1b, 0x76, 0x4f, 0x08, 0x2b, 0x1e, 0x2b, 0xfa, 0x9b, 0xc5, 0xda, 0x30, 0xda, 0x3f, 0x6a, - 0xd0, 0x66, 0x31, 0x2c, 0x48, 0xc6, 0xf4, 0xef, 0xd7, 0x8a, 0xb1, 0x99, 0xd4, 0x05, 0xa1, 0x0b, - 0x26, 0x54, 0x38, 0x43, 0xce, 0x95, 0xd3, 0xe5, 0x24, 0xf5, 0xa1, 0x9a, 0x2f, 0xa0, 0x23, 0x5c, - 0x79, 0x59, 0x5e, 0x37, 0x6c, 0x89, 0xbb, 0x5c, 0xee, 0xe5, 0xef, 0x48, 0xe0, 0x05, 0xaf, 0x30, - 0xef, 0x9f, 0x26, 0xd5, 0x8c, 0x62, 0xa7, 0xaa, 0x8c, 0xd3, 0xaf, 0x02, 0x4d, 0x3a, 0x81, 0x91, - 0x47, 0xae, 0x2f, 0x92, 0x4b, 0x50, 0xc6, 0xba, 0xa3, 0x2b, 0x3a, 0x13, 0x00, 0xeb, 0xca, 0x04, - 0x0e, 0xbc, 0xab, 0x9f, 0x82, 0x80, 0x7a, 0xd0, 0x5f, 0xbb, 0x0d, 0xf2, 0x10, 0x52, 0xae, 0xf7, - 0x59, 0xf3, 0x1d, 0xa0, 0x7c, 0x7a, 0x39, 0x78, 0xc8, 0xf8, 0x07, 0x5e, 0x58, 0x06, 0xd1, 0xa8, - 0xef, 0x94, 0x41, 0xc3, 0xa2, 0x82, 0xeb, 0x8b, 0x69, 0x47, 0x9d, 0x0a, 0xae, 0x89, 0x01, 0x67, - 0xf7, 0x4f, 0xaf, 0x1d, 0xd3, 0xb1, 0x9d, 0xc5, 0xff, 0x7a, 0x2f, 0x03, 0x05, 0x02, 0xb8, 0x9e, - 0x52, 0xf3, 0xd5, 0xb7, 0x64, 0xb7, 0x9f, 0x2c, 0x4a, 0x70, 0xa1, 0x8e, 0x49, 0x6a, 0xb2, 0x0c, - 0xa9, 0x65, 0xa9, 0x26, 0x71, 0x06, 0xe4, 0xba, 0x32, 0x32, 0xaf, 0x52, 0xac, 0x72, 0xb3, 0x4e, - 0x94, 0x6f, 0x37, 0xfa, 0x63, 0xa5, 0x52, 0xa4, 0x52, 0x50, 0x24, 0xb1, 0x6a, 0x67, 0x22, 0xfb, - 0xfa, 0x6c, 0xb2, 0x03, 0xf0, 0x17, 0xc3, 0x14, 0xdb, 0xbd, 0x27, 0x69, 0x35, 0x47, 0x0a, 0x76, - 0xe7, 0x62, 0x61, 0x5e, 0x37, 0xfe, 0x9d, 0xc9, 0x34, 0xe4, 0x26, 0x97, 0xd8, 0x27, 0x84, 0x59, - 0x66, 0xec, 0x77, 0xc8, 0xa4, 0x80, 0xde, 0x9a, 0xe9, 0x66, 0x30, 0xbe, 0x53, 0xcc, 0xfe, 0x31, - 0x4e, 0x62, 0xa4, 0x38, 0xcc, 0x1e, 0xcf, 0x30, 0x3b, 0x9d, 0xf3, 0x53, 0x3e, 0xe5, 0xfa, 0xf7, - 0xc4, 0x04, 0xc4, 0xfc, 0xaf, 0x54, 0xcc, 0xd4, 0x93, 0x90, 0x37, 0xad, 0x94, 0x82, 0xce, 0xd5, - 0x12, 0xa4, 0x85, 0x0d, 0x92, 0x6f, 0x1d, 0xf5, 0x3a, 0xaa, 0x61, 0xd2, 0x26, 0x4c, 0x4c, 0xde, - 0x38, 0xdc, 0x5b, 0xda, 0xdf, 0x70, 0x8a, 0x02, 0xc5, 0xce, 0x03, 0x6a, 0x0c, 0x87, 0xae, 0xab, - 0x06, 0x97, 0x04, 0x35, 0x58, 0x65, 0x41, 0x62, 0x32, 0x75, 0xf3, 0xea, 0xfa, 0x30, 0x65, 0x1d, - 0x0f, 0xcb, 0x8b, 0xbc, 0x1d, 0xf1, 0xa2, 0x7a, 0xb7, 0x87, 0xa3, 0x73, 0xd6, 0xc9, 0x7a, 0x7b, - 0x81, 0x9c, 0x82, 0xc6, 0x73, 0xb5, 0xa6, 0xf3, 0x95, 0xb8, 0x71, 0x49, 0xa6, 0x04, 0x87, 0xf3, - 0xed, 0x15, 0xe9, 0xe0, 0xf9, 0x1e, 0x4d, 0x3e, 0x85, 0x18, 0xef, 0x0a, 0x89, 0x27, 0xe9, 0xe8, - 0x66, 0xe0, 0xa6, 0x52, 0x79, 0x7a, 0xee, 0x66, 0x79, 0xd8, 0x1f, 0x74, 0x7b, 0xed, 0xe0, 0x9b, - 0x4f, 0xe8, 0xe7, 0x21, 0x6e, 0x7e, 0x7f, 0x82, 0x0e, 0xae, 0xa2, 0xe5, 0x9c, 0x7e, 0x69, 0x07, - 0xf7, 0x28, 0x31, 0xc1, 0xaf, 0x20, 0x3e, 0x01, 0x4b, 0x63, 0xc8, 0x9b, 0xcf, 0xcf, 0x90, 0x91, - 0xb3, 0x36, 0x4f, 0xac, 0x79, 0xf6, 0x2b, 0x0a, 0x3b, 0xa4, 0x63, 0x4c, 0x38, 0x18, 0xf5, 0x9e, - 0xad, 0xb3, 0x4b, 0x61, 0x42, 0x45, 0x60, 0x4c, 0x04, 0x41, 0x61, 0xe6, 0x0c, 0x94, 0x5e, 0x1a, - 0x42, 0x36, 0x22, 0x29, 0x08, 0x42, 0x36, 0x84, 0xaa, 0x48, 0x33, 0xbe, 0x6a, 0xe1, 0x33, 0x54, - 0xa4, 0x4a, 0x06, 0x0e, 0x4e, 0xa6, 0xc2, 0x58, 0xde, 0xb8, 0x36, 0xcb, 0xdc, 0xb5, 0xf3, 0x95, - 0xa1, 0x24, 0x09, 0xf4, 0xdf, 0xf3, 0xad, 0xbb, 0x3c, 0x66, 0x9e, 0xaf, 0x29, 0xfc, 0x86, 0xa1, - 0xf9, 0xa0, 0xd8, 0x78, 0x25, 0xe0, 0xea, 0xe0, 0xa3, 0xca, 0xb5, 0x82, 0x36, 0x7d, 0xf1, 0x98, - 0x10, 0x70, 0xce, 0x42, 0x7f, 0x43, 0xc9, 0xa4, 0x85, 0x45, 0xb8, 0x57, 0x2f, 0x89, 0xa7, 0x13, - 0x6c, 0xdb, 0xf4, 0x0c, 0x58, 0x28, 0x6a, 0x90, 0x34, 0xcb, 0xbc, 0xa1, 0xb9, 0x8b, 0x8c, 0xbf, - 0x55, 0x4e, 0x5f, 0x72, 0x54, 0x86, 0xf6, 0x1c, 0xdc, 0x75, 0x64, 0xf1, 0x82, 0xaf, 0xdf, 0xfc, - 0x0a, 0xbf, 0xc4, 0xe6, 0x87, 0xe0, 0xd1, 0xee, 0x57, 0xab, 0x69, 0x41, 0x2b, 0x77, 0x67, 0x66, - 0x0d, 0xe9, 0xc2, 0xe7, 0x94, 0x7b, 0x97, 0xd0, 0xd1, 0xb5, 0x2a, 0xd9, 0xc8, 0x82, 0x84, 0x76, - 0xbd, 0x0e, 0x6a, 0x26, 0xb0, 0x6f, 0x43, 0x12, 0x4b, 0x8b, 0x83, 0x58, 0xae, 0xbc, 0x17, 0x1f, - 0x42, 0x01, 0xe2, 0x34, 0x4a, 0x69, 0x7d, 0xf6, 0x85, 0x42, 0xca, 0x4e, 0xaa, 0xe0, 0xc4, 0x1e, - 0x5e, 0xef, 0x03, 0xcc, 0xed, 0x5f, 0xde, 0x93, 0xff, 0xbe, 0x12, 0x9e, 0x55, 0x14, 0x88, 0xaf, - 0xb0, 0x09, 0x75, 0x08, 0x39, 0xcd, 0x0d, 0x35, 0xec, 0x34, 0xd8, 0x64, 0xfd, 0x2f, 0x88, 0xd9, - 0x8c, 0x0a, 0x90, 0x55, 0x50, 0xf1, 0xa3, 0x36, 0xd8, 0x99, 0xab, 0x4f, 0xbb, 0x4c, 0x91, 0x85, - 0x09, 0xb5, 0x31, 0x5a, 0xef, 0x78, 0x32, 0x55, 0xb1, 0xcc, 0x0e, 0x0c, 0xa6, 0xeb, 0xb0, 0x3b, - 0xd8, 0x3e, 0x4e, 0xf4, 0xa8, 0x19, 0xd5, 0x77, 0x6a, 0x17, 0xd8, 0x18, 0x83, 0x74, 0x61, 0x28, - 0x08, 0xe7, 0x51, 0x1f, 0x0e, 0x71, 0x03, 0x0a, 0x0e, 0x8a, 0xf4, 0xec, 0x0d, 0xb2, 0x7b, 0x8b, - 0x04, 0xae, 0xec, 0xbe, 0x0f, 0x85, 0x70, 0x9a, 0x2e, 0x4b, 0xac, 0x36, 0x9e, 0x00, 0x92, 0x30, - 0x5c, 0x83, 0x59, 0xa0, 0x55, 0xe9, 0x31, 0x53, 0xf1, 0x84, 0x23, 0x9f, 0x4e, 0x99, 0xb0, 0xa2, - 0x8c, 0x8f, 0x7e, 0x94, 0x3a, 0x91, 0x82, 0x24, 0x9b, 0x73, 0x7d, 0x1e, 0xfe, 0xb8, 0xe1, 0xdb, - 0x72, 0x87, 0x36, 0x39, 0xc6, 0x44, 0x32, 0xd7, 0x8c, 0x9a, 0xdc, 0xb9, 0x59, 0xdf, 0xa2, 0x01, - 0xfc, 0xa9, 0xab, 0xb2, 0xb6, 0x5a, 0x55, 0xdb, 0xb7, 0xc9, 0xdd, 0x30, 0xc7, 0xbd, 0xe9, 0x51, - 0x0c, 0x0d, 0x06, 0xed, 0xec, 0xd6, 0x03, 0x6e, 0x9a, 0xbc, 0x25, 0xa0, 0xff, 0xb1, 0x93, 0x61, - 0xd1, 0xf9, 0xc6, 0x88, 0x79, 0xbe, 0x22, 0xec, 0x52, 0x5f, 0xa6, 0x6a, 0xbb, 0x29, 0xd7, 0x31, - 0x92, 0x82, 0x31, 0x62, 0x6b, 0xe6, 0xe0, 0x39, 0x46, 0x7b, 0x08, 0xf3, 0xed, 0xe2, 0xe3, 0x65, - 0x45, 0xab, 0xa4, 0x9e, 0x5e, 0xfd, 0x78, 0x69, 0x95, 0x2b, 0xcc, 0x59, 0xe8, 0xff, 0x38, 0x95, - 0x8a, 0x2a, 0xf3, 0x12, 0xc3, 0x73, 0xe9, 0x60, 0x1d, 0x19, 0xab, 0xb6, 0xe8, 0x29, 0xe0, 0x31, - 0xae, 0x63, 0x3f, 0xb7, 0x02, 0x32, 0x73, 0x13, 0xb8, 0xee, 0x14, 0x2a, 0x44, 0xf2, 0xb1, 0xac, - 0xde, 0xeb, 0xb8, 0xba, 0x4c, 0xf8, 0x81, 0x49, 0xd8, 0x49, 0xf0, 0x34, 0xb5, 0x7a, 0x94, 0x31, - 0x37, 0x21, 0xce, 0xca, 0x0f, 0xc6, 0x3f, 0xa5, 0x3a, 0xfb, 0xe0, 0x1a, 0xb4, 0x52, 0xb8, 0xd9, - 0x40, 0xfc, 0x98, 0x61, 0xab, 0x36, 0x3c, 0x2d, 0xb7, 0x7f, 0x6f, 0x77, 0xe4, 0x70, 0xc1, 0x67, - 0x7f, 0xfa, 0x94, 0x01, 0x43, 0xab, 0xc3, 0xb3, 0xca, 0xd4, 0x07, 0x52, 0xad, 0x05, 0x16, 0x2b, - 0xf4, 0xd4, 0x16, 0x5a, 0x79, 0xcf, 0xee, 0x3d, 0xcc, 0xfa, 0xc3, 0x47, 0xa9, 0x5f, 0x75, 0x47, - 0x9d, 0x1a, 0x80, 0xef, 0x9a, 0x91, 0x85, 0xd6, 0x6f, 0xd5, 0xf1, 0x52, 0x55, 0xf1, 0xe2, 0xb6, - 0xaa, 0x3a, 0x46, 0x3c, 0xda, 0x61, 0xcb, 0x0a, 0xe9, 0xfe, 0x65, 0x17, 0x8a, 0xf9, 0x79, 0x7f, - 0x70, 0x45, 0xda, 0xb1, 0x00, 0x5e, 0x29, 0x58, 0xd8, 0xcc, 0xce, 0x29, 0xe3, 0x84, 0x76, 0xe0, - 0xcd, 0x21, 0x4b, 0x8e, 0xa4, 0x51, 0x9f, 0xbe, 0xfa, 0xcf, 0x4f, 0xe0, 0xdf, 0xa6, 0x2f, 0x10, - 0x7e, 0x36, 0x76, 0x36, 0xc4, 0x7b, 0xb5, 0xa8, 0xc3, 0xda, 0x25, 0x4d, 0xae, 0xed, 0x89, 0x0e, - 0xff, 0x66, 0xbf, 0xc3, 0xdf, 0x25, 0xd3, 0x02, 0xa7, 0x45, 0xf9, 0x4f, 0xc5, 0xdc, 0xb4, 0x83, - 0x1e, 0x21, 0x64, 0xd9, 0x9a, 0x16, 0x64, 0x05, 0xe3, 0x23, 0xc1, 0xcf, 0x22, 0x87, 0xcf, 0x1e, - 0xbe, 0x1a, 0x92, 0xed, 0xb4, 0xa1, 0xd8, 0x9d, 0x6a, 0x1d, 0xfc, 0x8d, 0x48, 0x40, 0x42, 0x1a, - 0xb1, 0xfe, 0x00, 0x5c, 0x6f, 0x55, 0x29, 0x79, 0xba, 0x55, 0x1a, 0x11, 0xa2, 0x20, 0x89, 0xc6, - 0x3b, 0x8b, 0xa3, 0x16, 0xf8, 0x39, 0x84, 0x63, 0xe3, 0xd3, 0x72, 0xc6, 0xa2, 0x01, 0xf3, 0xef, - 0x33, 0xe9, 0xe5, 0xcc, 0xce, 0x2a, 0x8d, 0x3f, 0xed, 0x57, 0x5f, 0xa6, 0xe8, 0x1a, 0xb6, 0x49, - 0x78, 0x1d, 0xac, 0x74, 0x5b, 0xa2, 0xe4, 0xb3, 0xd1, 0x28, 0xa9, 0xd3, 0x82, 0xfc, 0x49, 0xf9, - 0x26, 0xa9, 0x7e, 0x07, 0xbe, 0xb9, 0x4c, 0x6e, 0x73, 0x3e, 0xdc, 0x6a, 0xcf, 0xcc, 0xd5, 0x1b, - 0xd6, 0x28, 0x26, 0x84, 0xfc, 0x0d, 0xe6, 0xeb, 0x7a, 0x6b, 0xd8, 0xde, 0x53, 0x90, 0x25, 0x45, - 0xb4, 0xa0, 0x21, 0x31, 0xbd, 0x3c, 0x7e, 0x03, 0x02, 0x66, 0xb1, 0x14, 0x73, 0xc4, 0x59, 0x18, - 0xc2, 0xa2, 0x0b, 0x4b, 0x3c, 0x90, 0x87, 0x3d, 0x8d, 0x8e, 0xf7, 0xa2, 0x22, 0x1d, 0xd7, 0xb0, - 0x9b, 0x6c, 0x9e, 0x24, 0x47, 0xcc, 0x5b, 0xdf, 0xed, 0x95, 0xc8, 0xa8, 0x02, 0xd8, 0xe5, 0xab, - 0xe4, 0x5c, 0x1d, 0x50, 0xaa, 0xec, 0xe9, 0x71, 0x60, 0x65, 0x56, 0x83, 0xa0, 0xa5, 0xdb, 0x52, - 0xb1, 0xb0, 0x40, 0x10, 0x49, 0x69, 0xc7, 0x8a, 0x35, 0x11, 0x3b, 0xce, 0x92, 0x50, 0xad, 0x0c, - 0x69, 0x70, 0xdf, 0xed, 0x97, 0x36, 0x28, 0x4c, 0xab, 0x86, 0x46, 0xbb, 0x52, 0x0a, 0x95, 0x10, - 0xc6, 0x27, 0xe1, 0x63, 0xc1, 0x1f, 0xab, 0x3e, 0xb2, 0x0a, 0x55, 0x76, 0xa1, 0xc7, 0x78, 0x34, - 0x41, 0x39, 0x55, 0x66, 0x2c, 0xbd, 0x85, 0x92, 0x2d, 0x5d, 0xef, 0x0e, 0xba, 0x17, 0x88, 0x5e, - 0xa1, 0x9c, 0xb8, 0x9e, 0x55, 0x57, 0x4b, 0x55, 0xe7, 0xe5, 0x4f, 0x52, 0x1e, 0x5b, 0xaf, 0x30, - 0xc3, 0xdc, 0x6d, 0xa4, 0xeb, 0xc0, 0xf1, 0x3a, 0x3f, 0x28, 0xde, 0x9d, 0x25, 0x99, 0x5b, 0x80, - 0x90, 0x15, 0x23, 0xee, 0x80, 0x00, 0x3a, 0x52, 0x1e, 0x27, 0x53, 0x36, 0xf7, 0xf2, 0x36, 0x55, - 0xfd, 0xcd, 0xb6, 0xfc, 0xdc, 0xee, 0x38, 0x4e, 0x7e, 0x5a, 0x29, 0xab, 0x0a, 0xe2, 0xcd, 0x1c, - 0x70, 0xac, 0xea, 0x4f, 0x91, 0x4c, 0x8d, 0x0e, 0xa2, 0xef, 0xd7, 0x08, 0x29, 0xc1, 0xe6, 0x59, - 0x89, 0x5b, 0x61, 0x70, 0x07, 0x0a, 0x44, 0x99, 0xc1, 0x94, 0xc4, 0x8e, 0x22, 0x4f, 0x2f, 0xa6, - 0x17, 0x51, 0xe2, 0xc3, 0xac, 0xf5, 0x4f, 0x29, 0x6b, 0xd0, 0x04, 0x4a, 0xcb, 0x6f, 0x9b, 0xeb, - 0x34, 0x3c, 0x69, 0x45, 0x04, 0x03, 0x42, 0xee, 0x00, 0xc5, 0x52, 0xed, 0xcb, 0x9f, 0x63, 0xcc, - 0x5f, 0xd2, 0xf9, 0x1d, 0xc3, 0xec, 0x11, 0xf0, 0xc2, 0x54, 0x1f, 0xbc, 0x91, 0x80, 0x5c, 0x6f, - 0xf6, 0xe8, 0xcd, 0xc7, 0xbf, 0x29, 0x85, 0x46, 0xf4, 0xaa, 0xac, 0x4c, 0x82, 0x29, 0xc2, 0x51, - 0x09, 0x52, 0x46, 0x35, 0xc9, 0x20, 0x17, 0xf4, 0x56, 0xba, 0x63, 0xf8, 0x98, 0x94, 0x22, 0x30, - 0xfb, 0x15, 0xe4, 0xf3, 0xa4, 0x4b, 0x09, 0x0d, 0x19, 0x4a, 0x64, 0xf4, 0xeb, 0x7b, 0x57, 0x59, - 0x7e, 0x8e, 0x09, 0xa4, 0x1b, 0x32, 0x26, 0x2f, 0x5e, 0x57, 0x36, 0x3f, 0x4a, 0xfa, 0x4d, 0x10, - 0x9b, 0x5a, 0xec, 0x02, 0x53, 0x4e, 0x38, 0xbe, 0x06, 0xa5, 0x7c, 0x00, 0x66, 0x6e, 0x2b, 0xe4, - 0x0b, 0x5d, 0x74, 0x60, 0xe6, 0x11, 0xf2, 0x33, 0x04, 0x8e, 0x21, 0x2b, 0xc6, 0x83, 0xc7, 0x29, - 0x46, 0xc2, 0xf3, 0xbe, 0x26, 0x4f, 0xe3, 0x79, 0x00, 0x82, 0xac, 0x6e, 0xe2, 0x18, 0x36, 0x08, - 0xf0, 0x51, 0xbd, 0x41, 0x8c, 0xd3, 0xd8, 0x4d, 0x15, 0xb3, 0xca, 0x57, 0x49, 0x6c, 0x65, 0x9b, - 0x85, 0x74, 0xf4, 0xcf, 0xed, 0xb5, 0x98, 0x11, 0x00, 0x51, 0x0e, 0xf0, 0xa1, 0x2e, 0xcf, 0x37, - 0x81, 0x09, 0xdb, 0x37, 0xa8, 0xef, 0xc1, 0xdf, 0xfc, 0xd8, 0x24, 0x41, 0x99, 0xa0, 0x53, 0x12, - 0x6c, 0x08, 0x34, 0xad, 0x5f, 0xf4, 0x35, 0x7b, 0x27, 0xf7, 0xe2, 0x34, 0x4b, 0xdd, 0xf6, 0xb3, - 0xb6, 0xb8, 0xb1, 0x5a, 0xda, 0x59, 0x3d, 0x35, 0x2f, 0xc2, 0x88, 0x71, 0xde, 0x68, 0x98, 0x4f, - 0x0f, 0x2f, 0x8c, 0xa7, 0x4d, 0x20, 0xf8, 0x16, 0x0a, 0xff, 0x43, 0x91, 0xc7, 0xe3, 0x12, 0x51, - 0xa6, 0xac, 0x9b, 0x46, 0x41, 0x6b, 0xf8, 0x45, 0xea, 0x9a, 0xc6, 0x14, 0xa6, 0xed, 0x44, 0x90, - 0xe5, 0x6f, 0x52, 0x9c, 0xd7, 0xc8, 0x1c, 0x7d, 0x2b, 0x06, 0xe7, 0xf0, 0x68, 0x1c, 0xc7, 0x89, - 0x2f, 0x38, 0xfc, 0x51, 0x4c, 0x9f, 0xec, 0x2c, 0x3e, 0xdc, 0x40, 0x3d, 0xef, 0x39, 0x42, 0x76, - 0xea, 0x35, 0x2d, 0x15, 0x87, 0x18, 0x93, 0xdc, 0x86, 0x3a, 0x52, 0xed, 0x20, 0xbe, 0x85, 0x19, - 0xbd, 0x4e, 0x3b, 0x32, 0x5c, 0x99, 0x71, 0x8e, 0xe7, 0xcc, 0x83, 0x4d, 0xeb, 0xb8, 0xaf, 0xb4, - 0x75, 0x18, 0x8e, 0x9b, 0xa4, 0x23, 0xff, 0x84, 0xa5, 0x79, 0x5e, 0x96, 0x94, 0x78, 0x47, 0x1d, - 0x0b, 0xd8, 0x7f, 0x2e, 0x29, 0x6f, 0x41, 0xf1, 0xe2, 0xbf, 0x10, 0x8e, 0xa5, 0x63, 0xad, 0x79, - 0xc2, 0xa7, 0x48, 0x4c, 0xfe, 0xa0, 0xc5, 0x3e, 0xd0, 0xee, 0x29, 0x0c, 0x1b, 0x8b, 0x2c, 0x1b, - 0x86, 0x9d, 0x89, 0x6c, 0xf8, 0xc5, 0xfb, 0xa4, 0x2d, 0x8a, 0x12, 0x3f, 0xbd, 0x3a, 0xaa, 0x66, - 0x3f, 0xb4, 0xec, 0x42, 0xf9, 0x02, 0x79, 0xd8, 0xad, 0x4b, 0xb3, 0xfd, 0xf7, 0xf9, 0x64, 0x7a, - 0x8d, 0x0e, 0x1c, 0x73, 0xbb, 0x84, 0x4a, 0xc9, 0x5c, 0x02, 0xbc, 0x59, 0xb8, 0x8d, 0x28, 0x59, - 0x97, 0xf3, 0x01, 0x7e, 0xdc, 0x5d, 0x40, 0x6c, 0x82, 0xf6, 0xd9, 0xca, 0xbc, 0x2a, 0x4a, 0x2c, - 0xbc, 0xac, 0xf3, 0x3b, 0xfa, 0xd6, 0x26, 0x83, 0xd9, 0xac, 0x2a, 0xc4, 0x6b, 0xfa, 0x0d, 0xcc, - 0x3a, 0x0a, 0x6e, 0xb0, 0xc1, 0xa6, 0x43, 0x85, 0xe7, 0x86, 0x41, 0x06, 0x51, 0xd0, 0x96, 0xeb, - 0xc5, 0x60, 0x12, 0xaf, 0x52, 0xbb, 0x5c, 0x26, 0x73, 0xa9, 0xcf, 0x9b, 0x71, 0x78, 0x08, 0x1a, - 0xb2, 0x1b, 0x93, 0x32, 0x6a, 0xae, 0x81, 0x3a, 0xa7, 0x25, 0x7e, 0xa0, 0xea, 0x52, 0x1c, 0xc8, - 0x7b, 0x93, 0x39, 0xe9, 0xe9, 0xce, 0x01, 0x7c, 0x89, 0x4a, 0xad, 0x28, 0xba, 0x37, 0xf5, 0x79, - 0xe8, 0x9f, 0xd7, 0x69, 0xfe, 0x83, 0x90, 0x2b, 0xf6, 0x14, 0xf5, 0xbc, 0x99, 0x83, 0x7e, 0xd6, - 0xd7, 0x86, 0x57, 0x55, 0xeb, 0xa8, 0x3f, 0x1a, 0xe2, 0x7d, 0xee, 0x3d, 0xa8, 0x36, 0x01, 0xb0, - 0xe1, 0xf4, 0xa3, 0x08, 0x31, 0x5d, 0x2a, 0x6b, 0x45, 0x52, 0xd4, 0xa0, 0x9d, 0x29, 0x97, 0x0b, - 0x9c, 0x35, 0x3c, 0xb7, 0xba, 0x66, 0xba, 0x06, 0x6c, 0x9e, 0xcd, 0xbe, 0x0e, 0x80, 0x39, 0xc8, - 0xff, 0xd4, 0x06, 0x29, 0xb2, 0x4c, 0xf7, 0xfb, 0x61, 0x09, 0xf8, 0xb2, 0xa8, 0xb6, 0x94, 0x8b, - 0xc5, 0x2a, 0xd6, 0x77, 0xfc, 0x41, 0x32, 0xec, 0x2a, 0xc6, 0xbb, 0x5d, 0xba, 0xc5, 0x94, 0xc2, - 0x7d, 0x66, 0x72, 0x05, 0x69, 0x7d, 0xcf, 0x48, 0x0c, 0xff, 0xe3, 0x7b, 0xf1, 0xc5, 0x9b, 0x8a, - 0xd7, 0x3a, 0xc2, 0x44, 0x6a, 0x25, 0x05, 0xd5, 0xd8, 0xe2, 0x9e, 0x7d, 0xd2, 0x49, 0x88, 0x0c, - 0x4d, 0x69, 0x72, 0x34, 0x82, 0x77, 0x30, 0x4f, 0x71, 0xca, 0x48, 0x26, 0x36, 0x7e, 0x4e, 0x98, - 0xf1, 0x51, 0x79, 0x84, 0xb4, 0x81, 0xae, 0x4f, 0x9f, 0xeb, 0xae, 0xae, 0xd4, 0x05, 0x91, 0xe9, - 0xee, 0x98, 0xbb, 0xf2, 0xdb, 0x03, 0xcf, 0xa0, 0xc6, 0x47, 0x37, 0x1e, 0x13, 0x3b, 0x9d, 0xe5, - 0xd3, 0x55, 0x70, 0x01, 0x7d, 0xe8, 0x23, 0xef, 0x73, 0x4f, 0x4e, 0x06, 0x17, 0xed, 0x36, 0xee, - 0x98, 0x69, 0xa7, 0x63, 0x45, 0x92, 0x35, 0x52, 0x14, 0x71, 0x2a, 0xbd, 0xe6, 0xac, 0xcf, 0x0c, - 0xe6, 0x12, 0x69, 0xee, 0xf7, 0x17, 0x6d, 0xd9, 0x35, 0x11, 0x05, 0xff, 0x95, 0xa5, 0x52, 0x54, - 0xde, 0x14, 0x18, 0x5e, 0xfc, 0x43, 0x4a, 0x74, 0xf7, 0x76, 0xa2, 0xc3, 0xa5, 0xd3, 0x3d, 0x6c, - 0x80, 0x21, 0xd2, 0xbf, 0x01, 0x1b, 0x6e, 0x85, 0xab, 0xfb, 0xaa, 0xd3, 0x07, 0xf2, 0x02, 0x86, - 0x0e, 0xb2, 0x7b, 0xb9, 0x76, 0xec, 0x7b, 0x86, 0xdc, 0x8d, 0xd0, 0xfd, 0x39, 0x0e, 0x92, 0x9d, - 0xca, 0x01, 0x47, 0x7c, 0x9d, 0xbb, 0x17, 0x82, 0xe4, 0xfe, 0xc8, 0xe3, 0xbb, 0x45, 0xa2, 0x5d, - 0xab, 0xc1, 0xd2, 0x10, 0xa7, 0x52, 0x21, 0x8b, 0xd1, 0x4a, 0x4b, 0x12, 0x27, 0x10, 0xd2, 0xff, - 0xab, 0xe0, 0xee, 0xe2, 0x59, 0xad, 0xc1, 0xd5, 0xf7, 0x48, 0x2a, 0xb9, 0x0c, 0xe6, 0x8c, 0x67, - 0x45, 0xe0, 0x0a, 0x0b, 0x5d, 0x23, 0x8e, 0x4f, 0xb8, 0xd3, 0x6b, 0x77, 0x00, 0x60, 0xa9, 0xef, - 0x1d, 0xdb, 0x56, 0xf5, 0x13, 0xc8, 0xd5, 0xd6, 0xcc, 0x6c, 0x9e, 0xcf, 0x40, 0x0b, 0x9f, 0xb4, - 0xb6, 0x9f, 0x56, 0xae, 0x5a, 0x46, 0x66, 0x06, 0x25, 0xe4, 0x8f, 0x33, 0xa6, 0x8c, 0xf5, 0xf2, - 0xb0, 0xe9, 0x1e, 0x46, 0xb4, 0x92, 0xea, 0xe0, 0x89, 0x9f, 0x6a, 0xe4, 0xcf, 0x48, 0x91, 0x81, - 0xaa, 0xa9, 0xcb, 0xbd, 0x8c, 0xfe, 0x87, 0x8b, 0xce, 0x54, 0xae, 0xb9, 0x76, 0x46, 0xe4, 0x3f, - 0x64, 0x76, 0x56, 0x2a, 0xdf, 0xda, 0xc3, 0xac, 0xdb, 0x00, 0xef, 0x83, 0xcb, 0xdd, 0x10, 0xe4, - 0xdf, 0x66, 0x18, 0x79, 0x66, 0xbe, 0x75, 0x17, 0xdf, 0xd5, 0xea, 0x30, 0x18, 0xe3, 0x26, 0x70, - 0x68, 0x06, 0xae, 0x7a, 0xa2, 0x93, 0x4b, 0x76, 0x69, 0x72, 0xd3, 0x2c, 0xb2, 0x87, 0x6e, 0x9c, - 0xd2, 0x12, 0x75, 0xfc, 0xb6, 0x5b, 0xae, 0x72, 0x6b, 0xfd, 0x26, 0x6f, 0xa4, 0x7a, 0x03, 0x5e, - 0xdd, 0xb0, 0xe6, 0x97, 0xa5, 0x4c, 0x9a, 0xd5, 0x38, 0x9e, 0x66, 0xaf, 0x43, 0x5b, 0x5a, 0x16, - 0x63, 0x0c, 0x16, 0xf7, 0x64, 0xe7, 0xcb, 0x7f, 0x6d, 0x6e, 0xe9, 0xc5, 0xb9, 0x66, 0x8a, 0x13, - 0xc6, 0x34, 0x2b, 0x48, 0x53, 0x3e, 0x49, 0xf5, 0xdf, 0xc1, 0xf8, 0x3c, 0x57, 0xf8, 0x9f, 0xf8, - 0xd3, 0x40, 0xa2, 0xb6, 0xf0, 0x1a, 0x9e, 0xe5, 0xa7, 0xe1, 0xa1, 0x44, 0x14, 0x0e, 0x42, 0x19, - 0xa4, 0x43, 0x6f, 0x32, 0x90, 0xc9, 0x40, 0x88, 0x4c, 0xb9, 0x6f, 0xc9, 0x7c, 0xc1, 0x79, 0xc3, - 0x7e, 0x43, 0x0c, 0xc7, 0x1c, 0xce, 0x29, 0x6f, 0x5e, 0x30, 0x19, 0x50, 0xf2, 0xb7, 0x6e, 0xa5, - 0x86, 0xde, 0x29, 0x5a, 0x8e, 0x5b, 0xe6, 0xcf, 0xbb, 0x74, 0x44, 0xb9, 0x6a, 0xca, 0xaa, 0x2c, - 0xde, 0x66, 0xdc, 0xd9, 0xdf, 0xd3, 0xef, 0x08, 0x4d, 0x66, 0xcd, 0x47, 0x76, 0x54, 0xf1, 0x23, - 0x08, 0xf5, 0xc8, 0x8b, 0xfc, 0x32, 0x4c, 0x96, 0xdb, 0x76, 0xf4, 0xdd, 0x55, 0x0c, 0x6a, 0x4f, - 0xa3, 0x87, 0x7e, 0xe9, 0x19, 0x90, 0x86, 0x18, 0x61, 0x36, 0x12, 0x19, 0x0c, 0x15, 0x3b, 0x43, - 0x9b, 0x9b, 0x08, 0x42, 0x64, 0x17, 0xd1, 0x26, 0x04, 0x56, 0xf2, 0x62, 0x2c, 0x0a, 0x98, 0x58, - 0xf2, 0xa4, 0x93, 0x27, 0x1f, 0x67, 0xd0, 0x6d, 0xe8, 0xa0, 0xf2, 0x6b, 0x0f, 0xbc, 0xcc, 0x53, - 0xf5, 0x1d, 0xef, 0x54, 0x48, 0x68, 0x46, 0x12, 0x5e, 0x0d, 0x72, 0x45, 0x27, 0xa2, 0x2f, 0xa3, - 0xde, 0x4a, 0x9d, 0x44, 0x1c, 0x69, 0xfc, 0x66, 0x37, 0xf9, 0x3a, 0x60, 0x03, 0x86, 0x3b, 0xa6, - 0x41, 0x8a, 0xb4, 0xd5, 0x33, 0x9d, 0xdf, 0x17, 0xa7, 0xfb, 0x72, 0xd1, 0x33, 0xff, 0x47, 0x75, - 0x74, 0xc8, 0x8b, 0xda, 0x8d, 0x68, 0xd6, 0xbd, 0x02, 0x73, 0x78, 0x9e, 0x88, 0x5a, 0x96, 0xd1, - 0x77, 0x84, 0xe7, 0x8e, 0xb1, 0xb1, 0xaf, 0x09, 0x01, 0x92, 0x21, 0x38, 0xa9, 0x8a, 0xae, 0x98, - 0xa1, 0xfd, 0x73, 0xef, 0xab, 0xbc, 0x87, 0x6b, 0x02, 0x62, 0x4b, 0xf1, 0xa9, 0x1d, 0x89, 0x13, - 0xb8, 0x73, 0x22, 0x68, 0xf5, 0x8d, 0xd0, 0x55, 0x7d, 0xbb, 0x8d, 0x59, 0x62, 0xee, 0x0b, 0x7e, - 0xd7, 0xc9, 0xb0, 0xaf, 0x7a, 0x59, 0x34, 0xb7, 0xda, 0x18, 0xb3, 0x24, 0x99, 0x16, 0x32, 0xae, - 0x7c, 0xba, 0x87, 0x72, 0xff, 0x36, 0x10, 0x02, 0x9f, 0x95, 0x54, 0xca, 0x68, 0xfb, 0x10, 0x7e, - 0x64, 0x9c, 0xe3, 0xcb, 0xd5, 0xeb, 0x42, 0xbc, 0x5c, 0xff, 0xf0, 0x5c, 0x64, 0x3c, 0xc5, 0xa0, - 0x8c, 0xe2, 0x7c, 0xd4, 0x63, 0xe7, 0x65, 0x2d, 0x7b, 0x2c, 0x51, 0xd8, 0xec, 0xa9, 0x4a, 0x1b, - 0xc7, 0x02, 0xca, 0xb2, 0xfa, 0xc6, 0x34, 0xec, 0x13, 0x5c, 0x07, 0x10, 0x09, 0x25, 0xdc, 0x13, - 0x96, 0x2f, 0x12, 0xaa, 0xb9, 0x41, 0x2c, 0x63, 0x14, 0x08, 0x3f, 0x07, 0x65, 0x0b, 0x75, 0xb4, - 0x89, 0x4e, 0x09, 0x1b, 0xd4, 0x62, 0xea, 0x12, 0x75, 0xf2, 0x14, 0xee, 0x66, 0x18, 0x67, 0xf4, - 0xb8, 0x0a, 0x08, 0x10, 0x15, 0x97, 0xdd, 0x47, 0x83, 0x4e, 0x24, 0x1a, 0xbf, 0x8a, 0xe1, 0x3d, - 0x33, 0x59, 0x59, 0xb6, 0x2a, 0x89, 0xff, 0x4d, 0x66, 0x2c, 0x4f, 0xbf, 0x4a, 0x9d, 0x07, 0xb7, - 0x04, 0x5d, 0x97, 0xc1, 0xc0, 0x44, 0x8e, 0xa8, 0x03, 0xe0, 0x88, 0xfe, 0x22, 0x32, 0xb6, 0x72, - 0xc0, 0xbf, 0x78, 0xa3, 0x2f, 0x90, 0xe8, 0xef, 0xe0, 0xeb, 0xaf, 0xbb, 0x86, 0x95, 0x51, 0xaa, - 0x47, 0x0a, 0xe5, 0x61, 0x35, 0xb1, 0x99, 0x61, 0xd8, 0x81, 0x40, 0x2e, 0xc1, 0xec, 0xd4, 0x96, - 0x8c, 0x66, 0xa0, 0x33, 0x42, 0x8a, 0xc0, 0x7f, 0x50, 0x54, 0xbc, 0x4e, 0x06, 0x5b, 0xda, 0x60, - 0x59, 0x5b, 0x0b, 0xe5, 0xc3, 0x41, 0xb2, 0x0a, 0x5c, 0xc5, 0xf3, 0xa9, 0xa8, 0xe6, 0x2c, 0xfa, - 0xe1, 0x1d, 0xe7, 0xf4, 0x42, 0x65, 0xdd, 0xfa, 0x9a, 0xb3, 0xf1, 0x16, 0x7a, 0x13, 0x55, 0x97, - 0xfa, 0x12, 0x9d, 0x98, 0x7f, 0x26, 0x88, 0x73, 0xe7, 0x53, 0xbc, 0x32, 0xf4, 0x0b, 0xa8, 0xaa, - 0x23, 0x3f, 0x41, 0x09, 0xe0, 0xd6, 0x13, 0x83, 0x77, 0xbc, 0xd9, 0x2e, 0x70, 0x3c, 0x39, 0xa5, - 0x4a, 0x2f, 0x20, 0x61, 0xd1, 0xd6, 0x8c, 0x59, 0x4c, 0x5c, 0x0f, 0x85, 0x54, 0xf3, 0xf1, 0x19, - 0xa5, 0x09, 0x06, 0x3d, 0x93, 0xb0, 0x79, 0x17, 0x0c, 0x9c, 0xcd, 0xfc, 0x84, 0x85, 0x20, 0x34, - 0x56, 0xdb, 0x10, 0xd1, 0x0c, 0xe8, 0x73, 0x23, 0xda, 0x9c, 0xf6, 0x23, 0xa4, 0x36, 0x58, 0x2a, - 0xff, 0xe4, 0xcc, 0x01, 0xc9, 0xac, 0x80, 0x5f, 0x74, 0x8a, 0x50, 0x30, 0x76, 0x09, 0x40, 0x5a, - 0x5b, 0x45, 0x92, 0xee, 0x12, 0x3e, 0x6f, 0x3c, 0xec, 0xa5, 0x5a, 0xb8, 0x1e, 0xb2, 0x91, 0x3a, - 0x3f, 0x29, 0xe8, 0x0f, 0x05, 0x4d, 0xfc, 0x57, 0x68, 0x64, 0xa1, 0x53, 0x16, 0x82, 0x2a, 0x77, - 0xc9, 0xcc, 0x18, 0x95, 0x67, 0xe5, 0x5e, 0x58, 0x84, 0xd0, 0xdb, 0xd7, 0x96, 0x6b, 0xd6, 0x36, - 0xb5, 0x7a, 0x8d, 0x08, 0xaa, 0x95, 0x2b, 0x79, 0x95, 0x8e, 0xe6, 0xfc, 0xe9, 0xb3, 0xa5, 0x10, - 0x5c, 0x4b, 0xa1, 0xd2, 0xb1, 0xa3, 0x7a, 0x1c, 0xa7, 0xae, 0x49, 0x37, 0x71, 0xa7, 0xac, 0x6b, - 0xf4, 0x9b, 0x43, 0x90, 0xc7, 0xa4, 0xd5, 0xde, 0x88, 0xda, 0x76, 0x02, 0xde, 0xdd, 0x78, 0x56, - 0x43, 0x63, 0x33, 0x6f, 0x4a, 0x04, 0x30, 0xed, 0xc6, 0x90, 0x46, 0x6d, 0x9b, 0x16, 0xc0, 0x3b, - 0x6d, 0xea, 0xad, 0x88, 0x1e, 0x7e, 0x52, 0xf9, 0x12, 0x9e, 0xaf, 0x47, 0x15, 0x97, 0x65, 0x11, - 0x14, 0xc2, 0x8c, 0x58, 0x06, 0x08, 0x5e, 0xe7, 0x32, 0x73, 0x07, 0xed, 0x8b, 0x8c, 0xb1, 0x97, - 0xbf, 0x17, 0x95, 0x7f, 0xe4, 0xed, 0x38, 0xac, 0x32, 0x6b, 0x71, 0x59, 0xa3, 0xa6, 0x4a, 0x2c, - 0x70, 0x25, 0xad, 0xe6, 0x7a, 0x7d, 0xd6, 0x84, 0x2d, 0xa6, 0x08, 0x54, 0x97, 0x37, 0xcf, 0xf0, - 0x44, 0x1e, 0x1b, 0x57, 0x46, 0xe8, 0xce, 0xf5, 0xac, 0x00, 0x14, 0x5c, 0xec, 0xf0, 0xc8, 0x75, - 0xf5, 0x32, 0xa2, 0x0f, 0xca, 0x40, 0x28, 0x55, 0x73, 0x89, 0x5c, 0x85, 0x76, 0x61, 0x91, 0x69, - 0xbd, 0x39, 0xaf, 0x00, 0x4a, 0x62, 0x6e, 0x9d, 0x55, 0x50, 0x93, 0x1e, 0x3f, 0x2f, 0x58, 0x5e, - 0xb9, 0x9d, 0x36, 0x6d, 0x94, 0x68, 0x44, 0x38, 0x2b, 0xb3, 0x42, 0xe7, 0x0c, 0x71, 0xa3, 0xee, - 0xa9, 0xad, 0xc4, 0xad, 0x54, 0xb5, 0x21, 0x35, 0x0c, 0x77, 0x07, 0x62, 0x00, 0x5d, 0xed, 0x9f, - 0xbc, 0x9c, 0x27, 0x1b, 0x6c, 0x0c, 0x48, 0x11, 0x00, 0xf4, 0xa7, 0x57, 0x7e, 0xc1, 0x98, 0xe6, - 0xdd, 0x8a, 0x88, 0xa2, 0xb5, 0xfd, 0x6b, 0x52, 0x02, 0x81, 0x04, 0xc6, 0xeb, 0x0c, 0x84, 0x33, - 0x7b, 0x55, 0xd4, 0x17, 0x5d, 0xd0, 0xdb, 0x5f, 0xca, 0xf1, 0x41, 0xc9, 0x37, 0x36, 0xdd, 0x6d, - 0xb6, 0xb2, 0x06, 0xf5, 0xcf, 0xd8, 0x95, 0x63, 0x98, 0x07, 0x98, 0xdd, 0x22, 0xe0, 0x47, 0xe7, - 0x9c, 0x9f, 0x14, 0x3e, 0x73, 0x7e, 0x21, 0x2b, 0xab, 0xde, 0x5a, 0xe9, 0x6e, 0x4f, 0x2b, 0x09, - 0xde, 0x97, 0xc9, 0xc1, 0x0c, 0x06, 0x8d, 0x22, 0xf2, 0xbf, 0xd2, 0x10, 0xe5, 0x3a, 0xf9, 0x13, - 0xde, 0xe6, 0x74, 0xfd, 0x6e, 0xb1, 0x2e, 0x1e, 0xa1, 0xf0, 0x16, 0x2c, 0x2d, 0x66, 0x53, 0x1f, - 0x02, 0xe8, 0xaf, 0xcc, 0x27, 0xe3, 0x29, 0x1d, 0x25, 0x7d, 0x7c, 0x64, 0x76, 0x30, 0x69, 0xea, - 0x7c, 0xb8, 0x80, 0x6b, 0xe4, 0x1d, 0x0e, 0xbf, 0x14, 0x79, 0x9f, 0xc1, 0x14, 0xab, 0xcc, 0x00, - 0xb2, 0x0f, 0x8f, 0x35, 0xae, 0xe7, 0x21, 0x1c, 0x47, 0xf2, 0x5f, 0x7e, 0x60, 0x59, 0x79, 0x89, - 0x0e, 0x22, 0x76, 0xab, 0xab, 0x8c, 0x52, 0xc4, 0xd6, 0xce, 0x8f, 0xbf, 0xd9, 0xa7, 0xb9, 0x73, - 0xb5, 0x80, 0x25, 0x94, 0x79, 0x1e, 0x6f, 0x99, 0xd4, 0xff, 0x13, 0x82, 0xe4, 0x1b, 0x48, 0x42, - 0x30, 0x53, 0x7d, 0x7d, 0x6e, 0x81, 0xed, 0x32, 0xed, 0xcd, 0xd6, 0x7e, 0x5e, 0x09, 0x89, 0x0e, - 0x13, 0x80, 0x52, 0x03, 0x24, 0xab, 0xb2, 0x6d, 0xd4, 0x37, 0x8d, 0x1c, 0x1a, 0x7f, 0x0a, 0x86, - 0x7d, 0x0d, 0x18, 0x50, 0x74, 0x1e, 0x01, 0x71, 0x1c, 0xeb, 0x74, 0xd8, 0x39, 0x6b, 0x0a, 0x5c, - 0x26, 0x54, 0x49, 0xcd, 0xf4, 0xb2, 0xbc, 0x97, 0x17, 0x77, 0x14, 0x9b, 0x18, 0xe4, 0x49, 0x93, - 0xcf, 0x27, 0x54, 0x9b, 0xa0, 0xab, 0x6e, 0x69, 0xc3, 0xdb, 0xdf, 0xd6, 0x4e, 0xaa, 0x54, 0x99, - 0x5b, 0x5e, 0x74, 0x14, 0x55, 0x45, 0x33, 0xd9, 0x3a, 0x32, 0x56, 0xac, 0xc9, 0xd2, 0x17, 0x01, - 0xdd, 0xe8, 0xff, 0xf3, 0x1f, 0x4c, 0x74, 0x10, 0x15, 0xd0, 0x6e, 0x16, 0x43, 0x01, 0x44, 0xfe, - 0xda, 0xd9, 0x66, 0x36, 0x94, 0x6d, 0x1d, 0xbb, 0xde, 0xba, 0x28, 0xdb, 0x41, 0x42, 0x44, 0xb2, - 0xc3, 0xe0, 0x72, 0x2a, 0x4b, 0x99, 0x15, 0xf5, 0xec, 0x64, 0x78, 0x9d, 0x97, 0xdb, 0x35, 0xf9, - 0x84, 0xb8, 0x97, 0x3d, 0x08, 0xe0, 0xc5, 0x4f, 0xd3, 0x75, 0xa3, 0xc9, 0x20, 0xfe, 0x2e, 0x2f, - 0x45, 0x40, 0xfa, 0x0b, 0x09, 0x78, 0x3b, 0x5e, 0x2d, 0x4c, 0x4e, 0x16, 0x36, 0x61, 0x28, 0x56, - 0x33, 0xcb, 0x1b, 0x53, 0xde, 0xd3, 0x22, 0xb7, 0x4b, 0x63, 0x8a, 0x83, 0x1a, 0x05, 0x20, 0x25, - 0x13, 0x9a, 0xfd, 0x4a, 0x6b, 0xad, 0x37, 0x02, 0x20, 0xda, 0xa5, 0x3d, 0x05, 0x46, 0x13, 0x46, - 0x4d, 0xfa, 0xc6, 0x22, 0xfe, 0xea, 0x67, 0x02, 0x05, 0xfa, 0xaf, 0xf4, 0xdf, 0x64, 0x0e, 0xf6, - 0xb8, 0x68, 0xcb, 0x69, 0x58, 0x94, 0xae, 0x37, 0x23, 0x2f, 0xf6, 0xb3, 0xad, 0x10, 0xcd, 0x2a, - 0xb7, 0xe5, 0xd1, 0x87, 0xb7, 0xcd, 0xd8, 0x13, 0x65, 0x77, 0x2b, 0xf4, 0x41, 0xd1, 0xdb, 0xca, - 0x02, 0x5a, 0xdc, 0xdf, 0xb7, 0x35, 0xfd, 0x70, 0xcc, 0x97, 0x04, 0xf2, 0x2a, 0x0a, 0x9e, 0xa0, - 0xc6, 0xb3, 0x7c, 0xbe, 0x37, 0x58, 0x87, 0x46, 0xff, 0x88, 0x4f, 0x22, 0x7a, 0x91, 0x3c, 0xcd, - 0x39, 0x55, 0xa2, 0x39, 0xf3, 0x2b, 0x87, 0xbb, 0xf4, 0x6b, 0x1e, 0x99, 0x22, 0x1e, 0x06, 0xc0, - 0x62, 0xfa, 0x6b, 0x15, 0xd8, 0x23, 0xbe, 0x56, 0x98, 0xde, 0x23, 0xeb, 0xc8, 0x44, 0x35, 0xc7, - 0xab, 0xd1, 0x51, 0x7c, 0x7e, 0x91, 0x91, 0x32, 0x38, 0x13, 0xa4, 0xb8, 0x0f, 0x2d, 0xa4, 0x75, - 0x75, 0x82, 0xeb, 0x31, 0xf2, 0x54, 0xf4, 0x5c, 0x2c, 0xca, 0x22, 0xa3, 0xde, 0x7e, 0x56, 0xbc, - 0x65, 0x94, 0xdb, 0x85, 0xf8, 0x83, 0x50, 0x3f, 0x6c, 0x41, 0x5a, 0xba, 0x83, 0xa9, 0x9b, 0x90, - 0x2a, 0x91, 0x4b, 0x72, 0xd2, 0x1e, 0x33, 0xe8, 0x1d, 0x03, 0x4d, 0x7a, 0x72, 0x83, 0x47, 0xb2, - 0x0a, 0x06, 0xae, 0x9d, 0x6b, 0xe0, 0xa3, 0x9a, 0x9a, 0x99, 0x5e, 0x3e, 0xb8, 0x37, 0xca, 0x4a, - 0xbd, 0xf3, 0x16, 0x34, 0x6c, 0xc6, 0xd2, 0xfb, 0x47, 0xd7, 0x31, 0x07, 0xaf, 0xba, 0xf4, 0x94, - 0x88, 0x57, 0x04, 0xf3, 0x62, 0x8b, 0xc9, 0x47, 0x99, 0x32, 0x3e, 0x85, 0x08, 0xd1, 0xcd, 0x68, - 0x8a, 0xb7, 0x56, 0x89, 0x7a, 0xcd, 0x83, 0xea, 0xea, 0xfe, 0xd5, 0x84, 0xb0, 0xe4, 0x40, 0xcd, - 0x2c, 0xf4, 0x08, 0x2f, 0x7b, 0x4b, 0x20, 0x37, 0x38, 0x28, 0xbd, 0xe7, 0xc1, 0xfb, 0xa0, 0x29, - 0x50, 0xa2, 0x86, 0xc3, 0x2c, 0xc1, 0xf4, 0xf3, 0xc1, 0xf8, 0x79, 0xbe, 0x6e, 0x49, 0xb4, 0x1c, - 0x26, 0x9d, 0x34, 0x03, 0x45, 0x15, 0xe1, 0xd6, 0xaf, 0x5a, 0xfc, 0xc2, 0x53, 0xcb, 0xbd, 0x04, - 0x67, 0xb2, 0x10, 0x4b, 0x71, 0x3e, 0xb4, 0xb1, 0x64, 0xce, 0x11, 0x54, 0x9e, 0x99, 0xb8, 0x31, - 0xe9, 0x70, 0xb9, 0x4c, 0x94, 0x6a, 0x00, 0x27, 0x9c, 0xc3, 0x16, 0x4f, 0xfd, 0x05, 0x80, 0xc9, - 0xfd, 0x20, 0x10, 0x68, 0x50, 0xd3, 0xa8, 0x65, 0xfd, 0x7e, 0xf3, 0x30, 0x2d, 0xab, 0x39, 0xe0, - 0x20, 0x10, 0xf9, 0x2b, 0x6e, 0x2f, 0xaa, 0xe4, 0x7e, 0x46, 0xf7, 0xdf, 0x27, 0xe5, 0xd5, 0x74, - 0x7b, 0xfd, 0x0d, 0x82, 0xd4, 0x6c, 0xb7, 0x38, 0x53, 0x87, 0xb9, 0xe6, 0xfa, 0xc8, 0xec, 0xea, - 0xfd, 0xb5, 0x1b, 0x3e, 0x8c, 0xa4, 0x9e, 0x28, 0xc3, 0x60, 0x37, 0x0b, 0x10, 0x7c, 0x0d, 0xcb, - 0x27, 0xf3, 0x56, 0x3f, 0x70, 0x65, 0x01, 0x2d, 0xe4, 0x04, 0x37, 0x27, 0xb3, 0xac, 0xe3, 0xa1, - 0x9f, 0x54, 0xe9, 0xac, 0x9c, 0x1f, 0x26, 0xff, 0x1a, 0x8a, 0x38, 0xde, 0xbc, 0x07, 0x9d, 0x25, - 0xe3, 0x3d, 0x6a, 0x25, 0x0c, 0x03, 0x1e, 0x14, 0x4e, 0x16, 0x78, 0x86, 0x97, 0xb1, 0xdf, 0x1a, - 0x93, 0xf0, 0x24, 0xe4, 0x20, 0x29, 0x46, 0xef, 0x5f, 0xcf, 0x01, 0x8a, 0x0e, 0x7f, 0xcf, 0x5e, - 0x8c, 0xa4, 0x65, 0x2c, 0xe8, 0xb7, 0x28, 0x2e, 0x2c, 0x05, 0x6f, 0x98, 0xc4, 0xe2, 0xda, 0x37, - 0x6b, 0xb2, 0xf0, 0x0f, 0x4d, 0x5b, 0xa3, 0x96, 0xfd, 0xd8, 0xbf, 0xbe, 0x95, 0xd7, 0x41, 0xd1, - 0xc5, 0xdb, 0x28, 0x2c, 0x54, 0x1b, 0x14, 0x58, 0xb6, 0x10, 0x70, 0xf7, 0x54, 0xc0, 0x62, 0xf6, - 0x4b, 0x19, 0xef, 0xde, 0x7f, 0x0b, 0xc7, 0xc0, 0x27, 0x5c, 0x02, 0xad, 0xef, 0xe8, 0xae, 0x59, - 0x66, 0xa0, 0xcc, 0xe4, 0xc7, 0x2f, 0xdb, 0x41, 0x8b, 0xda, 0x9d, 0x63, 0x6f, 0x14, 0x31, 0x61, - 0xd0, 0x67, 0x34, 0xab, 0xdf, 0x78, 0x53, 0x86, 0x7b, 0x57, 0xbd, 0x88, 0x0d, 0xdf, 0x12, 0xdc, - 0xa6, 0x73, 0x7a, 0xc5, 0x7c, 0xcf, 0x1d, 0xda, 0xc8, 0xfa, 0x84, 0x80, 0xb4, 0x4d, 0x44, 0xf7, - 0xb1, 0xaa, 0x96, 0xa4, 0xcb, 0x2c, 0xc2, 0x0d, 0x4d, 0x09, 0xed, 0x55, 0xa9, 0xd3, 0x24, 0x2d, - 0xe1, 0x21, 0x7f, 0x6b, 0x6f, 0x97, 0xe4, 0x9b, 0x33, 0x22, 0x4f, 0xb1, 0x50, 0xfb, 0x47, 0xc4, - 0x4d, 0x99, 0x03, 0xdf, 0x68, 0x2f, 0xaa, 0x5f, 0xdf, 0x8c, 0x66, 0x44, 0xaa, 0x78, 0xeb, 0x50, - 0xb2, 0x1f, 0x2d, 0x05, 0x8f, 0x93, 0x1f, 0x64, 0xd2, 0xa1, 0xdf, 0x42, 0xc0, 0xd7, 0x69, 0xf4, - 0x7c, 0xc8, 0x08, 0x75, 0xcb, 0x2d, 0x3d, 0x5d, 0x83, 0xb4, 0x8a, 0x24, 0x1e, 0xcd, 0x0e, 0x01, - 0x7d, 0x08, 0x9d, 0xd9, 0xcb, 0x18, 0x0d, 0x31, 0x27, 0x2c, 0xcc, 0xea, 0x61, 0xd7, 0x96, 0x71, - 0xd8, 0x38, 0x9d, 0xf1, 0x90, 0x0e, 0x95, 0x21, 0x3d, 0xc3, 0x4c, 0x08, 0x2f, 0x77, 0x78, 0x65, - 0xb0, 0xaa, 0xc8, 0xc9, 0xe1, 0x8c, 0x3a, 0x8c, 0x05, 0x82, 0x29, 0x3d, 0x64, 0x84, 0x64, 0xd5, - 0xa9, 0x93, 0x55, 0x74, 0xf7, 0x32, 0x9c, 0x49, 0xde, 0xb9, 0x2c, 0xa1, 0xc2, 0xca, 0xe5, 0xbe, - 0x8f, 0x91, 0x2a, 0xfe, 0x7a, 0xde, 0xda, 0xd1, 0x6f, 0xd7, 0xc0, 0x84, 0x5c, 0xcc, 0x35, 0x52, - 0x58, 0x80, 0x00, 0xb1, 0xd3, 0xd6, 0x4e, 0x92, 0xfc, 0xe3, 0x19, 0xcc, 0x37, 0x4d, 0x2d, 0x7b, - 0xe3, 0xf8, 0x1e, 0x0a, 0x81, 0x36, 0x94, 0x13, 0xf9, 0x3f, 0xea, 0x70, 0x2f, 0x0d, 0x4c, 0x8b, - 0xbf, 0xd0, 0x5f, 0x52, 0x16, 0xbc, 0x75, 0xa5, 0x1b, 0xfb, 0xbe, 0xe7, 0xdd, 0xd4, 0xbb, 0x81, - 0x82, 0xf2, 0xe3, 0xe5, 0x15, 0xff, 0x7c, 0x55, 0x3e, 0x6f, 0xf8, 0xd2, 0xa1, 0x9e, 0x85, 0xa3, - 0x08, 0x20, 0x76, 0x5e, 0x48, 0x41, 0x71, 0xcd, 0x42, 0x68, 0x48, 0x4a, 0x78, 0x61, 0xce, 0x3f, - 0x3f, 0x90, 0x92, 0xcc, 0x42, 0x0c, 0xbd, 0x42, 0xb3, 0x6e, 0xd5, 0x88, 0xf6, 0x42, 0x1e, 0x0a, - 0x6a, 0xd2, 0xf0, 0xff, 0x6c, 0x89, 0x25, 0xc1, 0xa0, 0xdc, 0x82, 0xe1, 0x5a, 0x05, 0x8f, 0x17, - 0xbf, 0x0d, 0x9e, 0xa1, 0x40, 0x9c, 0x7b, 0xeb, 0x23, 0xa7, 0x16, 0xa1, 0xaf, 0xba, 0x9b, 0x18, - 0xe3, 0x6f, 0x7d, 0xf8, 0x4f, 0xeb, 0x0d, 0x74, 0xfb, 0x7b, 0x11, 0x0f, 0x4d, 0xa9, 0x3d, 0x8b, - 0x37, 0xb4, 0x62, 0xb1, 0xaa, 0x5c, 0xac, 0xed, 0x50, 0x90, 0x4c, 0xf4, 0x63, 0x3f, 0x65, 0xcb, - 0x3a, 0x00, 0xa9, 0xba, 0x9f, 0x7c, 0x4c, 0xcf, 0x6d, 0x34, 0xf9, 0x5e, 0xf7, 0x74, 0x08, 0xee, - 0x21, 0x2a, 0x0b, 0x08, 0x63, 0x8a, 0xf5, 0xe0, 0xa5, 0xe0, 0x6d, 0xdb, 0x40, 0xa1, 0x41, 0xaf, - 0x0a, 0x04, 0xa4, 0x3e, 0x7d, 0x69, 0xbe, 0xfa, 0xfb, 0x91, 0x3d, 0x09, 0x8c, 0x20, 0x43, 0x68, - 0x56, 0x93, 0x4e, 0xf7, 0x56, 0x69, 0xd2, 0xb8, 0x3d, 0xab, 0xd0, 0xbd, 0x4a, 0xe9, 0xa6, 0x76, - 0x5c, 0x59, 0x7a, 0xf8, 0x5e, 0xc9, 0xf2, 0xcf, 0x55, 0x7d, 0xd0, 0xe0, 0x9e, 0xb8, 0x83, 0x28, - 0xe1, 0x18, 0x97, 0x70, 0x5f, 0x9b, 0xf9, 0x1d, 0xba, 0x89, 0x17, 0x4b, 0xf5, 0xdb, 0xb4, 0xe3, - 0xd6, 0xeb, 0xa2, 0x68, 0x57, 0x22, 0x88, 0xd5, 0xa1, 0xce, 0x8e, 0x3d, 0x4d, 0xf4, 0x8d, 0x8a, - 0xad, 0xea, 0x8b, 0xdb, 0x7a, 0x7e, 0xad, 0x7e, 0x59, 0x2b, 0x33, 0x34, 0xa6, 0xee, 0x2d, 0x13, - 0x9f, 0xfc, 0xb3, 0xb4, 0xb8, 0x06, 0x61, 0xd6, 0x53, 0xc4, 0x06, 0xd5, 0xde, 0x23, 0xbc, 0xe5, - 0x25, 0x7c, 0x87, 0xb2, 0xd7, 0x30, 0x50, 0x59, 0x9b, 0x04, 0xa4, 0xe8, 0x38, 0x7f, 0x3e, 0xca, - 0x6a, 0x10, 0xe8, 0x5f, 0x96, 0x55, 0x29, 0xf2, 0xc0, 0x92, 0xbf, 0xee, 0xe2, 0xf4, 0xbb, 0x58, - 0xb0, 0x31, 0x88, 0x58, 0x02, 0x39, 0xb7, 0x99, 0x69, 0x74, 0xb8, 0x69, 0x1b, 0xd1, 0xd6, 0xe2, - 0x47, 0x3c, 0x96, 0xdb, 0x0e, 0x9a, 0xd1, 0x14, 0x97, 0x25, 0x1d, 0x9f, 0x6f, 0x21, 0x1d, 0x39, - 0x01, 0x64, 0xd3, 0x3d, 0xcc, 0xa6, 0x5c, 0x06, 0x00, 0xdc, 0xaa, 0x22, 0x40, 0x3d, 0x2e, 0xc0, - 0x0d, 0xc1, 0xb6, 0x97, 0x41, 0xaf, 0x1a, 0xed, 0x58, 0x77, 0xc3, 0xa3, 0x4d, 0x1d, 0x3d, 0x5e, - 0x3d, 0xab, 0xfc, 0x0d, 0xbc, 0xab, 0xdf, 0x79, 0x19, 0xa0, 0xbe, 0xe6, 0xd1, 0xd3, 0xf6, 0x79, - 0x08, 0x03, 0x55, 0xee, 0xdf, 0xb3, 0x92, 0x3d, 0x74, 0xbe, 0x75, 0x63, 0x9d, 0xa4, 0x69, 0x89, - 0x89, 0xaa, 0xb5, 0x75, 0x3d, 0x8a, 0x59, 0x7a, 0xec, 0x27, 0x4f, 0x81, 0x88, 0x3b, 0x72, 0xa2, - 0x29, 0x08, 0x60, 0xd8, 0x3b, 0x4d, 0x15, 0x38, 0x59, 0x1a, 0xf5, 0xec, 0xe0, 0x6e, 0xa7, 0x58, - 0xc9, 0xaa, 0x97, 0xa3, 0xfa, 0xf6, 0x0e, 0x8b, 0x46, 0x89, 0xb4, 0x4a, 0xcd, 0xe9, 0x68, 0x62, - 0x0c, 0xba, 0x70, 0x56, 0xa4, 0xd7, 0xdf, 0x34, 0x07, 0xe5, 0x99, 0x2e, 0xa2, 0x6b, 0x7e, 0x27, - 0x4c, 0xc5, 0x0d, 0x2c, 0xc5, 0x87, 0x32, 0x9c, 0x1c, 0x79, 0xe1, 0xe1, 0xd8, 0x45, 0x90, 0x92, - 0x7a, 0xb1, 0xe7, 0x29, 0xc3, 0x74, 0x42, 0xc1, 0x32, 0x14, 0x3c, 0x22, 0x45, 0x03, 0x6e, 0xb1, - 0x86, 0x7b, 0x55, 0xa8, 0xc6, 0xa8, 0x34, 0x84, 0xac, 0x03, 0x6b, 0x00, 0xd7, 0x0e, 0x98, 0x3f, - 0x2e, 0x1b, 0xd0, 0xdf, 0xf2, 0x90, 0xa0, 0xa5, 0xd2, 0xc1, 0x4e, 0xa6, 0x0f, 0x70, 0x12, 0x0b, - 0x83, 0x3d, 0xd4, 0x79, 0x60, 0x59, 0xb2, 0x00, 0xca, 0x1a, 0x49, 0x8b, 0xc4, 0x5e, 0x1b, 0xdc, - 0x76, 0xcb, 0xd9, 0x20, 0x6e, 0x0b, 0x1e, 0xaa, 0x2b, 0x90, 0xdb, 0x9c, 0xcb, 0x51, 0x79, 0xbb, - 0xf1, 0x0d, 0x62, 0x08, 0xf3, 0x4f, 0x16, 0x45, 0x57, 0x1b, 0xc9, 0xad, 0x6f, 0x5f, 0x41, 0x6e, - 0x0e, 0xd7, 0x06, 0xff, 0x4c, 0xa8, 0x95, 0x38, 0x88, 0x86, 0xdd, 0x31, 0xae, 0x15, 0x4d, 0x31, - 0x25, 0x3b, 0x13, 0xcf, 0x71, 0x54, 0xc1, 0x9a, 0x92, 0x95, 0x89, 0x18, 0xb8, 0x23, 0xa2, 0x05, - 0xdf, 0x6c, 0x73, 0xd8, 0xe9, 0x57, 0x44, 0x69, 0x60, 0x54, 0x2b, 0xfd, 0x42, 0xa5, 0x8d, 0x53, - 0x4c, 0xf8, 0xc1, 0x0d, 0x7d, 0x10, 0xdf, 0x77, 0x82, 0x6c, 0xd4, 0x75, 0xe0, 0x7a, 0x0c, 0x11, - 0x86, 0x0f, 0x30, 0xb3, 0xb9, 0xaa, 0xf4, 0x60, 0x9f, 0x6d, 0x0d, 0x30, 0x28, 0xbd, 0x60, 0x71, - 0x07, 0xf3, 0xf4, 0xd3, 0x23, 0xa9, 0x90, 0x8f, 0x4f, 0x7a, 0x2d, 0xb7, 0x10, 0xd6, 0xea, 0x1c, - 0xd0, 0xf0, 0x4f, 0xa4, 0xad, 0x3d, 0x6d, 0x49, 0x66, 0x09, 0x8e, 0x2a, 0xdc, 0x05, 0x21, 0xec, - 0x8f, 0xf5, 0xa4, 0x4a, 0xac, 0x27, 0x59, 0x45, 0x30, 0xc4, 0x88, 0x57, 0xc5, 0x9d, 0x07, 0x88, - 0x4c, 0xe7, 0x20, 0xdf, 0x71, 0x04, 0xd7, 0x5f, 0x2b, 0x54, 0x51, 0x0b, 0xf7, 0x2b, 0xc8, 0x18, - 0xde, 0x9f, 0xc7, 0xa6, 0x5e, 0x1e, 0x05, 0x98, 0xb5, 0x05, 0x69, 0x97, 0xce, 0xb6, 0x0f, 0x2a, - 0x1e, 0xea, 0x90, 0x62, 0xda, 0x11, 0x6f, 0x64, 0xc1, 0x59, 0x3b, 0xbc, 0xee, 0x14, 0x6f, 0x41, - 0x93, 0x3e, 0xe2, 0x9a, 0xd3, 0x1b, 0x7c, 0x84, 0xeb, 0x3c, 0x72, 0xc6, 0x02, 0x33, 0x45, 0xb0, - 0x9b, 0x32, 0x47, 0x95, 0xff, 0x35, 0x63, 0x25, 0x6f, 0x42, 0x1b, 0x99, 0x45, 0x77, 0x3f, 0x1b, - 0xdd, 0x7e, 0x9e, 0xcd, 0xb1, 0x46, 0x9d, 0xdf, 0x6b, 0x4d, 0x26, 0x8b, 0xc4, 0x1e, 0x78, 0x9f, - 0x28, 0x89, 0xcb, 0x34, 0x2c, 0x45, 0x87, 0x15, 0x0c, 0x50, 0xd1, 0x88, 0x02, 0x4b, 0xf4, 0x61, - 0xdd, 0xd7, 0xcf, 0x44, 0xf3, 0x3d, 0xa0, 0x68, 0xdb, 0x73, 0x72, 0x1a, 0x0c, 0xe3, 0x48, 0x3c, - 0x7a, 0x2b, 0x58, 0x63, 0xc6, 0xeb, 0x2a, 0xb5, 0xd5, 0x38, 0x37, 0xc7, 0x9c, 0x0d, 0x3f, 0x23, - 0x94, 0xdb, 0x61, 0x8a, 0x35, 0x37, 0xec, 0x70, 0x56, 0xec, 0x06, 0x64, 0x6f, 0xf4, 0x24, 0x7d, - 0x5f, 0xc9, 0x58, 0xf0, 0xfc, 0xb4, 0x42, 0xa7, 0xd3, 0xd6, 0xc2, 0xf4, 0x98, 0x40, 0x72, 0x03, - 0x03, 0xd5, 0x1b, 0x83, 0xff, 0x9f, 0x50, 0xcb, 0x53, 0xc6, 0xd2, 0x08, 0xb2, 0x3b, 0x4b, 0x6a, - 0x9b, 0xb1, 0x19, 0xdd, 0x47, 0x5f, 0xd4, 0x50, 0x19, 0x04, 0xeb, 0x08, 0x24, 0x94, 0x3a, 0x18, - 0xc8, 0x33, 0x69, 0x01, 0xd0, 0x57, 0x14, 0xcb, 0x85, 0x6b, 0xb7, 0xd6, 0x90, 0x52, 0x39, 0x43, - 0x53, 0xd2, 0xf5, 0x4e, 0xc8, 0x92, 0x6f, 0xa4, 0xb2, 0x04, 0xd7, 0xe8, 0x56, 0xcb, 0x41, 0xd8, - 0x79, 0xd7, 0xe1, 0xa5, 0x4c, 0x15, 0x78, 0xcd, 0x13, 0x86, 0x8e, 0xbd, 0x88, 0x97, 0xc9, 0xf0, - 0x15, 0xaf, 0xc4, 0x53, 0x7a, 0x10, 0x21, 0xe4, 0xb2, 0x50, 0x3e, 0xa9, 0x55, 0x71, 0xb5, 0x1f, - 0xb3, 0x92, 0xf7, 0xf8, 0x8a, 0x20, 0x59, 0xa3, 0xc1, 0x45, 0x13, 0x06, 0xf1, 0x0e, 0xe7, 0xc3, - 0xcc, 0xb2, 0xe6, 0x70, 0x5e, 0x32, 0x2a, 0xda, 0x9a, 0x8e, 0xf6, 0xff, 0x53, 0x3f, 0x6e, 0x06, - 0x3e, 0x10, 0xa9, 0x61, 0x49, 0xb1, 0x87, 0x17, 0x39, 0x74, 0x97, 0x63, 0xdd, 0x60, 0x08, 0x0e, - 0xb1, 0xbf, 0x42, 0xd6, 0x8c, 0xba, 0x0a, 0x00, 0x7f, 0x37, 0x8e, 0x1c, 0xc2, 0x47, 0x0f, 0x10, - 0xe5, 0x71, 0xfd, 0x8a, 0x50, 0x98, 0xb8, 0x95, 0x8e, 0xb8, 0x79, 0x5c, 0x01, 0xc5, 0x33, 0x7f, - 0x05, 0xcf, 0x05, 0xe0, 0x7d, 0xf4, 0xd4, 0x48, 0x47, 0x58, 0xae, 0xa4, 0x2c, 0x2b, 0x39, 0x87, - 0x92, 0xee, 0x62, 0xce, 0xa9, 0x38, 0x11, 0xd2, 0x6e, 0x79, 0x19, 0x88, 0x3a, 0x36, 0xe0, 0xeb, - 0x6e, 0x73, 0xa2, 0xf6, 0xb0, 0x68, 0xbc, 0xb0, 0xf8, 0x76, 0xde, 0x60, 0xc9, 0xaf, 0x94, 0xd9, - 0xfe, 0x81, 0xbe, 0xe8, 0x9e, 0x53, 0x11, 0xf6, 0xf5, 0x6c, 0x45, 0x70, 0x22, 0x46, 0x2b, 0x0e, - 0x51, 0x08, 0x8b, 0xde, 0xe1, 0x7d, 0xd5, 0x3b, 0xf7, 0xf9, 0x1d, 0x22, 0x64, 0xad, 0x83, 0xa4, - 0x7e, 0x19, 0x79, 0x18, 0x32, 0x21, 0x94, 0x30, 0x31, 0xc5, 0xfb, 0x71, 0x97, 0x0c, 0x44, 0xb5, - 0xd2, 0xdf, 0x24, 0x1f, 0x84, 0xd9, 0x39, 0x03, 0xb7, 0x54, 0xde, 0x43, 0x59, 0x65, 0x34, 0x36, - 0x13, 0x7f, 0x74, 0x02, 0xa8, 0xe6, 0x16, 0xab, 0xab, 0xae, 0x65, 0x28, 0x78, 0x79, 0x4f, 0xec, - 0x25, 0x02, 0xab, 0x8e, 0xa1, 0x1b, 0x7d, 0x61, 0xbd, 0xa2, 0x7e, 0xe3, 0x72, 0x3d, 0x77, 0xdb, - 0xed, 0x5a, 0x95, 0x2d, 0x99, 0x9f, 0xa8, 0x54, 0xc1, 0x1e, 0x3f, 0x80, 0x50, 0x10, 0x12, 0x32, - 0x29, 0x3a, 0x08, 0xba, 0x71, 0x3b, 0x8f, 0x1b, 0x42, 0x9f, 0x0a, 0xe7, 0x84, 0x51, 0x39, 0xdc, - 0xc8, 0x3d, 0x8f, 0xeb, 0xd9, 0xc9, 0x74, 0x66, 0x9e, 0x97, 0xb6, 0xd2, 0x82, 0x60, 0x6e, 0x83, - 0x84, 0x9e, 0x41, 0x8c, 0x09, 0xe2, 0xea, 0x37, 0xd7, 0xc0, 0x55, 0x77, 0x9e, 0x4d, 0x70, 0xc3, - 0x11, 0x84, 0x09, 0x8a, 0x35, 0x46, 0x0c, 0x98, 0x0c, 0x5c, 0x69, 0x40, 0x9d, 0x05, 0x5c, 0x93, - 0xb1, 0x9b, 0xe8, 0xf8, 0xdd, 0x53, 0x22, 0x61, 0xa3, 0xdb, 0xc9, 0x4d, 0x1a, 0x9a, 0x69, 0xd4, - 0xe3, 0x6a, 0x78, 0x35, 0xb4, 0xb1, 0xe5, 0x9f, 0xb6, 0xfa, 0x96, 0x22, 0xe6, 0xbe, 0xbe, 0xa7, - 0xa0, 0xd7, 0xf8, 0x08, 0x98, 0xb2, 0x88, 0x42, 0x52, 0xbb, 0x11, 0x4a, 0xc7, 0x51, 0x35, 0xa2, - 0x5a, 0x3c, 0x19, 0xe3, 0x69, 0xcc, 0xeb, 0x5b, 0x0c, 0xbb, 0x6c, 0xa0, 0x13, 0x02, 0xe0, 0xf2, - 0x4a, 0x94, 0x68, 0x3f, 0x9f, 0x64, 0x54, 0x20, 0x79, 0xf1, 0x88, 0x5c, 0xa6, 0x00, 0x01, 0x87, - 0xeb, 0x5c, 0xb1, 0x72, 0xcb, 0xd6, 0xa9, 0x8d, 0xbb, 0x92, 0xfa, 0x1c, 0xa6, 0x02, 0xe2, 0x36, - 0x5a, 0xa7, 0x33, 0x97, 0xaa, 0xda, 0x59, 0x54, 0xb2, 0x5b, 0x3e, 0x8b, 0xd1, 0x17, 0x77, 0x82, - 0xf9, 0xce, 0xb9, 0xca, 0x45, 0x6b, 0xbf, 0x2b, 0x96, 0x49, 0x9f, 0x65, 0x34, 0xcc, 0x65, 0x89, - 0x11, 0xd4, 0xf5, 0x8a, 0x09, 0x90, 0x97, 0x88, 0x1d, 0x11, 0x39, 0x26, 0x91, 0x10, 0x51, 0x9c, - 0x6e, 0xd9, 0x82, 0x89, 0x63, 0x09, 0xa3, 0x32, 0x20, 0xe1, 0xe5, 0x6f, 0xb3, 0x6a, 0xd8, 0xa9, - 0xd8, 0x3d, 0x50, 0x59, 0x31, 0x39, 0x08, 0x9c, 0xe9, 0xb8, 0x02, 0x6b, 0x63, 0x6e, 0xd8, 0x5c, - 0x1a, 0x15, 0xb3, 0x25, 0xda, 0x62, 0xe5, 0x95, 0xb5, 0x98, 0x67, 0x40, 0xa0, 0xae, 0x15, 0x79, - 0x1e, 0x94, 0x48, 0x48, 0x3e, 0x07, 0x9f, 0x5b, 0x43, 0xb0, 0xb6, 0xac, 0x44, 0xf7, 0x9d, 0xf9, - 0x6a, 0x8f, 0xd2, 0x29, 0x47, 0x40, 0x81, 0x71, 0xa7, 0x14, 0x9c, 0xce, 0x25, 0xe6, 0xbe, 0xf0, - 0x9c, 0x89, 0x67, 0x66, 0x7e, 0x5f, 0x78, 0x0c, 0x6c, 0x2c, 0x64, 0x30, 0x99, 0x3a, 0x85, 0xe8, - 0x44, 0x47, 0x2b, 0x7a, 0x69, 0x31, 0x4c, 0x56, 0x61, 0xc4, 0xe4, 0x34, 0x7a, 0x86, 0x95, 0x59, - 0xc2, 0x23, 0x48, 0xbf, 0xcc, 0x10, 0x2a, 0xa2, 0x18, 0xe6, 0x42, 0x16, 0x18, 0xc5, 0x0a, 0x4b, - 0xc8, 0x41, 0xbe, 0x14, 0x43, 0xcd, 0x0e, 0x49, 0x72, 0xa1, 0x8f, 0xba, 0xf8, 0x21, 0xe3, 0x51, - 0xa5, 0x4c, 0x14, 0x76, 0xa4, 0x65, 0xb9, 0xe0, 0x04, 0xc3, 0x8b, 0xf3, 0xd8, 0x0d, 0x4f, 0x90, - 0x66, 0x29, 0xfa, 0xe7, 0xe5, 0xc3, 0x5f, 0xd3, 0x90, 0x0c, 0x0d, 0xf4, 0x0e, 0x46, 0xd6, 0x34, - 0x59, 0xcf, 0xad, 0x61, 0x75, 0xb6, 0x88, 0x41, 0x69, 0x5f, 0x73, 0xc9, 0x4d, 0x74, 0x79, 0x14, - 0x47, 0x56, 0x78, 0xa6, 0x1c, 0xb4, 0xa6, 0x4d, 0x73, 0x0c, 0x82, 0x18, 0xcc, 0x2b, 0xc0, 0xf8, - 0x2a, 0xc5, 0x69, 0xf5, 0x76, 0xe4, 0xae, 0xd1, 0x8e, 0x84, 0x61, 0x6e, 0x9f, 0x57, 0xfa, 0x2f, - 0x34, 0x03, 0xab, 0x2d, 0x7f, 0xfe, 0xeb, 0xad, 0x9b, 0xd0, 0x6e, 0x1d, 0xf1, 0x4a, 0x07, 0x12, - 0xd3, 0xef, 0x8e, 0x24, 0xc3, 0xbb, 0xd7, 0x4b, 0xee, 0x20, 0x6d, 0xbe, 0x9c, 0x73, 0xf2, 0x61, - 0x80, 0x14, 0xda, 0xdd, 0x67, 0xc2, 0x2e, 0xd6, 0x75, 0x01, 0x05, 0x80, 0xc1, 0x4e, 0x6f, 0xa7, - 0x00, 0xc7, 0x27, 0x79, 0x78, 0x53, 0x99, 0xae, 0x15, 0xad, 0x4f, 0x3c, 0xa8, 0xbb, 0xc0, 0x1c, - 0xee, 0x78, 0xfc, 0x71, 0xda, 0x2a, 0xc3, 0x91, 0xe8, 0x6b, 0xd7, 0x5c, 0xac, 0x1c, 0xff, 0x58, - 0xf4, 0xdf, 0x6d, 0xc6, 0x85, 0xa1, 0x22, 0x83, 0x96, 0x08, 0xa5, 0x79, 0x25, 0x70, 0x91, 0x93, - 0x3a, 0x40, 0xdb, 0x15, 0x39, 0xc5, 0xc0, 0x31, 0x16, 0xb7, 0xbf, 0xe3, 0x8d, 0xec, 0x91, 0x40, - 0x34, 0x82, 0xf3, 0x33, 0x12, 0x8c, 0xfb, 0xfc, 0x40, 0x22, 0xcc, 0x7d, 0xa5, 0xc8, 0x4d, 0x68, - 0x5d, 0x0f, 0xc6, 0xb2, 0x12, 0xb0, 0x00, 0x4a, 0x86, 0x73, 0x67, 0x1f, 0x57, 0x4c, 0xc1, 0xc3, - 0x07, 0xe6, 0xcc, 0x78, 0xf0, 0x7e, 0x70, 0xc3, 0x49, 0x17, 0x2a, 0x5d, 0x9c, 0xf0, 0x92, 0xba, - 0xb1, 0x3c, 0x3a, 0x4b, 0xf4, 0xd1, 0x70, 0x3c, 0x8d, 0xa9, 0x91, 0xb6, 0x96, 0xdc, 0xda, 0xf3, - 0xc0, 0xe3, 0x39, 0xd2, 0x57, 0xa9, 0xb5, 0x35, 0x94, 0x43, 0x07, 0xff, 0x51, 0x7b, 0x33, 0xac, - 0x2f, 0xd0, 0x75, 0x6e, 0x55, 0x5c, 0xf7, 0x94, 0x11, 0x24, 0xec, 0xbb, 0x5c, 0xa7, 0x76, 0x6e, - 0xdd, 0x39, 0x9e, 0x60, 0x6b, 0xb9, 0x13, 0xb7, 0x1b, 0x01, 0xa0, 0x90, 0x89, 0xfe, 0xd1, 0xc1, - 0x04, 0xd5, 0xc9, 0x9d, 0xb0, 0xb1, 0xdc, 0x68, 0xc9, 0xe9, 0xa5, 0x3f, 0x7e, 0x0b, 0x54, 0x2c, - 0xc6, 0x9d, 0x4b, 0x46, 0x44, 0x35, 0x79, 0x83, 0x3f, 0xdc, 0x82, 0x08, 0x15, 0xc3, 0xa1, 0xe9, - 0xae, 0xd8, 0x18, 0x05, 0xea, 0x25, 0x0d, 0x83, 0x49, 0xc4, 0xe6, 0xbf, 0xdd, 0xbd, 0x23, 0xbf, - 0x16, 0x8a, 0x7d, 0x9b, 0x2b, 0x57, 0x7a, 0xda, 0xc8, 0x1b, 0x8c, 0x73, 0xf0, 0x59, 0x21, 0x58, - 0x47, 0x37, 0x05, 0x9d, 0xa5, 0x86, 0x88, 0x68, 0xfa, 0x9f, 0xb5, 0x77, 0xd1, 0x05, 0x3c, 0x7b, - 0xd7, 0x92, 0x1c, 0x23, 0x61, 0x7a, 0x0c, 0x6c, 0x3f, 0x61, 0x3b, 0x7c, 0x91, 0x68, 0x99, 0xd2, - 0xbb, 0x1d, 0x0e, 0x13, 0xc6, 0xc0, 0xa9, 0x3c, 0xc1, 0x62, 0x23, 0x41, 0x74, 0xff, 0x7c, 0x13, - 0x3f, 0xc8, 0xa0, 0xf2, 0x0f, 0x7e, 0x39, 0x0a, 0x7b, 0x5e, 0x3b, 0x27, 0xc0, 0x78, 0x07, 0xa4, - 0xee, 0x40, 0x74, 0x86, 0x26, 0xa9, 0x21, 0x42, 0x94, 0x4a, 0x42, 0x2d, 0x55, 0x6b, 0x6a, 0xe6, - 0x0a, 0x62, 0x16, 0x27, 0xda, 0xef, 0x0a, 0x62, 0xee, 0x7f, 0xa8, 0xb2, 0xe6, 0xd8, 0x0b, 0xc7, - 0x8c, 0xde, 0x54, 0xf7, 0xcd, 0xd0, 0xf4, 0x69, 0x21, 0x63, 0xf0, 0xd3, 0x0b, 0x5a, 0x09, 0x33, - 0x01, 0x8d, 0x21, 0x47, 0x7b, 0x10, 0x32, 0xc4, 0x46, 0x2e, 0xd7, 0xca, 0xee, 0x9b, 0x95, 0xd3, - 0x51, 0x29, 0xd8, 0x19, 0xfb, 0x3f, 0x4f, 0x83, 0xcd, 0xe8, 0xf0, 0xfb, 0x32, 0x29, 0x89, 0x63, - 0x67, 0xee, 0xb4, 0x8c, 0xed, 0xe9, 0xa2, 0xfb, 0x53, 0x46, 0x10, 0x56, 0x9c, 0xb3, 0x2b, 0x99, - 0x2d, 0xbe, 0xed, 0x50, 0x37, 0x72, 0x24, 0xc4, 0x59, 0x7e, 0x70, 0x57, 0xfa, 0xbc, 0x78, 0x4a, - 0x69, 0x80, 0x88, 0x82, 0x2f, 0x4a, 0x15, 0xac, 0xc7, 0x9f, 0x6f, 0x62, 0x52, 0x73, 0x01, 0x57, - 0x29, 0x09, 0x29, 0x68, 0xc0, 0xc8, 0x53, 0x5d, 0x09, 0x87, 0x91, 0x03, 0x7d, 0xfb, 0x16, 0x12, - 0x1b, 0x6a, 0xb4, 0x97, 0x1f, 0x89, 0x8e, 0x46, 0xb3, 0x7b, 0x03, 0x69, 0xcb, 0x75, 0x59, 0x83, - 0x8e, 0xea, 0x88, 0x3b, 0x02, 0x4f, 0x7f, 0x17, 0xec, 0x19, 0x91, 0xa8, 0x8e, 0xd5, 0x5f, 0xe5, - 0x17, 0x91, 0x58, 0x43, 0x4b, 0xf7, 0xc7, 0x86, 0xe8, 0x70, 0x2e, 0x09, 0x29, 0xe7, 0x13, 0xf0, - 0x6a, 0xdf, 0xaa, 0x6f, 0x2e, 0xca, 0xb8, 0x0a, 0x86, 0xbc, 0x5d, 0x62, 0x78, 0xbf, 0xca, 0xe9, - 0x8d, 0xc3, 0x70, 0xc6, 0x41, 0xec, 0x16, 0xe8, 0x29, 0x47, 0x3d, 0x78, 0x8a, 0xcd, 0x2b, 0xe3, - 0x6d, 0x0c, 0x18, 0x68, 0xdd, 0x67, 0x40, 0x8c, 0x3e, 0x49, 0xc1, 0xfb, 0x89, 0x5a, 0x9c, 0xf2, - 0x2c, 0x41, 0xd4, 0x3f, 0xc0, 0xf0, 0xe3, 0xe8, 0x9e, 0x7a, 0xa1, 0xe9, 0x24, 0xc3, 0x74, 0x9d, - 0x8b, 0x1f, 0xd3, 0xdc, 0x6d, 0x16, 0x1d, 0x9c, 0xd1, 0x85, 0x50, 0x95, 0xf5, 0x85, 0x0d, 0x67, - 0xd2, 0x4b, 0x24, 0xef, 0x43, 0xdb, 0xd8, 0x76, 0x1d, 0xb3, 0x87, 0x28, 0xcd, 0x0b, 0xc0, 0xdc, - 0xb3, 0x61, 0x83, 0xf5, 0x24, 0xa1, 0x92, 0xcb, 0xa9, 0x0d, 0x48, 0x14, 0x25, 0x58, 0x16, 0x37, - 0xa1, 0x68, 0x8f, 0x82, 0xf3, 0xb0, 0xca, 0x6c, 0x10, 0xb0, 0x7f, 0x45, 0xff, 0xaa, 0x73, 0x04, - 0x3e, 0x4f, 0x37, 0x8f, 0x9d, 0x6c, 0x07, 0x29, 0x18, 0xc9, 0xbf, 0x89, 0x08, 0x08, 0xa3, 0x0b, - 0xaf, 0x4f, 0xa2, 0xf7, 0xb9, 0x8c, 0x6c, 0x5d, 0x55, 0xb3, 0xcd, 0x15, 0x87, 0xb0, 0xe8, 0x74, - 0xd1, 0x7e, 0x7c, 0x01, 0xd1, 0xd8, 0xd7, 0x5b, 0x24, 0x7f, 0xf0, 0xb5, 0xdd, 0x4b, 0xa1, 0xc8, - 0x0b, 0xea, 0xe4, 0xa4, 0xcf, 0x9c, 0xfc, 0x62, 0xc0, 0x92, 0x65, 0x2a, 0x84, 0xed, 0xb0, 0xaf, - 0x62, 0x8f, 0xe3, 0x44, 0x18, 0x34, 0x94, 0x50, 0x84, 0xea, 0x0f, 0x79, 0xd6, 0x57, 0xea, 0xe4, - 0xcc, 0xc8, 0xf7, 0xe4, 0xc7, 0x08, 0x5b, 0xab, 0x74, 0x6c, 0x36, 0xb6, 0x5c, 0xe7, 0x72, 0xa6, - 0xf4, 0x23, 0xa6, 0x93, 0x9c, 0x3f, 0x87, 0x6c, 0x36, 0x78, 0xba, 0x14, 0x87, 0x05, 0xe1, 0xad, - 0xb9, 0xba, 0xf1, 0xfb, 0x20, 0xee, 0x0a, 0xea, 0x11, 0xd1, 0x34, 0xa1, 0xb4, 0x91, 0xda, 0x53, - 0xa9, 0x13, 0x20, 0x70, 0x71, 0xfd, 0xa6, 0x67, 0x82, 0xf8, 0x87, 0x15, 0x17, 0xec, 0x7a, 0x8f, - 0x64, 0xc9, 0xbb, 0x04, 0x1d, 0x0d, 0x72, 0x86, 0x59, 0xff, 0x9c, 0xfa, 0xe6, 0x44, 0x88, 0xda, - 0x13, 0x2a, 0xf2, 0xf2, 0xab, 0xe7, 0x1a, 0x1d, 0x3b, 0x88, 0xe9, 0x20, 0x08, 0x73, 0xaa, 0xf7, - 0x23, 0x6b, 0xc4, 0xb9, 0x44, 0xaf, 0xb0, 0x3c, 0xff, 0xf5, 0x5d, 0xeb, 0x49, 0xb5, 0x84, 0xa8, - 0xd9, 0xc3, 0x82, 0x3b, 0x74, 0x93, 0x3c, 0x8d, 0x63, 0xb5, 0xbf, 0x5b, 0xfd, 0x0d, 0x21, 0xe1, - 0x3e, 0xaf, 0x9a, 0x2a, 0xdd, 0x27, 0x85, 0x7d, 0x20, 0x14, 0x18, 0x45, 0x63, 0xc2, 0x84, 0x0a, - 0x2d, 0xc7, 0x0b, 0x66, 0xa4, 0x64, 0x87, 0xf2, 0x15, 0x58, 0x62, 0x1c, 0x2e, 0x5b, 0x5f, 0xfc, - 0x60, 0x44, 0x22, 0x3c, 0x0f, 0x4c, 0xfe, 0x3c, 0xe0, 0x7f, 0x1e, 0x54, 0x16, 0xef, 0xa1, 0x1f, - 0xfd, 0xb3, 0xf6, 0xe7, 0x4a, 0xaa, 0x62, 0x4e, 0x82, 0xe6, 0x2e, 0xc2, 0xd8, 0x86, 0x79, 0xdf, - 0x24, 0xe3, 0xfc, 0x21, 0xd8, 0x13, 0x58, 0x72, 0x2c, 0xe7, 0xe6, 0xa7, 0x0a, 0x6a, 0x81, 0xe4, - 0xdc, 0x83, 0xba, 0x8d, 0xcf, 0x11, 0xe6, 0x78, 0xd3, 0xc5, 0x2c, 0x37, 0x30, 0xa0, 0xe7, 0x0a, - 0x6a, 0x23, 0x4d, 0xe1, 0x6e, 0x6f, 0x91, 0x6d, 0x78, 0xa4, 0x69, 0xe8, 0xf0, 0x9d, 0xe1, 0xb4, - 0x3e, 0x96, 0x98, 0x34, 0x83, 0xb9, 0xc1, 0x10, 0x27, 0x26, 0xe7, 0x61, 0xe4, 0xf5, 0xa0, 0x6b, - 0xca, 0x1f, 0xdd, 0x08, 0x8f, 0x2a, 0x6e, 0x82, 0x26, 0x0c, 0xcc, 0xbb, 0xdc, 0xeb, 0x49, 0x8b, - 0xa6, 0x27, 0x64, 0xe4, 0xd5, 0xc2, 0x0d, 0x05, 0xc6, 0x67, 0x20, 0x73, 0x0a, 0x58, 0xd0, 0x65, - 0x2b, 0x84, 0x43, 0xae, 0x43, 0x98, 0x1f, 0x93, 0x6b, 0x4b, 0x91, 0x0f, 0x90, 0x6f, 0x3f, 0xeb, - 0x1d, 0xaf, 0x95, 0xe2, 0x73, 0x06, 0xfc, 0xff, 0xd2, 0x05, 0x60, 0x81, 0x4c, 0xbe, 0x1a, 0xf4, - 0xe0, 0x48, 0x7f, 0x19, 0xe7, 0xdd, 0xf8, 0xa0, 0xba, 0xae, 0x52, 0xb7, 0x8d, 0x19, 0xa4, 0xeb, - 0x5e, 0x22, 0x54, 0xd9, 0xd9, 0x1c, 0xa6, 0x97, 0x8b, 0x5a, 0x5e, 0xec, 0x0c, 0xba, 0x8b, 0xd7, - 0x5a, 0x0f, 0x61, 0xc4, 0x91, 0xda, 0xae, 0xa3, 0x83, 0xd2, 0x13, 0xc8, 0xfe, 0xb2, 0xdc, 0xcc, - 0xe6, 0xcf, 0x8d, 0x5b, 0x9d, 0x22, 0xab, 0x1c, 0xa3, 0x35, 0xb2, 0xba, 0x91, 0x43, 0xa8, 0xe1, - 0xa5, 0x48, 0xf0, 0xee, 0xfd, 0x5d, 0xb9, 0x32, 0xf3, 0x13, 0x10, 0xb3, 0x82, 0xf1, 0x11, 0x30, - 0x2d, 0xdb, 0x76, 0x0c, 0x41, 0xf5, 0x8a, 0x64, 0xd0, 0xe5, 0xcb, 0x17, 0x55, 0x25, 0x1a, 0xff, - 0xb1, 0x7c, 0x3c, 0x14, 0xbb, 0xb9, 0xe3, 0x82, 0x20, 0x6d, 0x16, 0x67, 0x83, 0x77, 0x58, 0x9c, - 0x19, 0x0e, 0x6b, 0x82, 0xc2, 0xee, 0x1d, 0x54, 0xdd, 0x6e, 0x26, 0xef, 0x68, 0xdf, 0x5c, 0x23, - 0xe3, 0xd2, 0xb4, 0x8e, 0x06, 0xc4, 0x80, 0xdc, 0xed, 0x59, 0xbb, 0x01, 0xe7, 0x3e, 0xd6, 0x82, - 0xff, 0x6d, 0xaf, 0x15, 0xab, 0xae, 0xab, 0xdc, 0xb4, 0x0a, 0x6c, 0x2e, 0xe9, 0x55, 0x8f, 0x1c, - 0xa9, 0xcb, 0x82, 0x4e, 0x8b, 0xca, 0xee, 0xc8, 0x71, 0x21, 0x6e, 0x41, 0xf0, 0xf2, 0x20, 0x32, - 0x0d, 0xa0, 0x89, 0x66, 0xc3, 0x6c, 0x41, 0xaa, 0xca, 0xb6, 0xcf, 0x67, 0x09, 0x24, 0x95, 0x00, - 0xbc, 0xaf, 0x2f, 0x90, 0xa9, 0x91, 0x76, 0x2a, 0x0d, 0x20, 0xa1, 0xba, 0x1e, 0x0a, 0xdb, 0x3a, - 0x39, 0x94, 0x0b, 0xea, 0x36, 0xa1, 0x36, 0xac, 0xae, 0x76, 0xcd, 0x0b, 0xa1, 0xe0, 0xc3, 0x0d, - 0x7d, 0xb7, 0xfa, 0x9a, 0x26, 0xbc, 0x34, 0x5d, 0xed, 0xab, 0xb4, 0x54, 0x94, 0x67, 0xa1, 0xf7, - 0x27, 0x67, 0x6c, 0xab, 0x11, 0xe8, 0x92, 0x8a, 0xfe, 0x52, 0x52, 0x81, 0xb9, 0x48, 0xa7, 0x5b, - 0x04, 0x36, 0xae, 0xb0, 0x88, 0x51, 0x6a, 0x27, 0xf5, 0x3e, 0x18, 0x6a, 0x0d, 0x2a, 0xf4, 0x3e, - 0xa7, 0xe0, 0xcc, 0x37, 0xbf, 0x3d, 0x84, 0x62, 0xe5, 0x29, 0x81, 0xbf, 0x5b, 0x69, 0xcd, 0x39, - 0xd9, 0x01, 0x51, 0x31, 0x2b, 0xe0, 0x19, 0x4f, 0x05, 0xe2, 0x0e, 0x3f, 0x0d, 0x44, 0x7c, 0x01, - 0x4c, 0x95, 0xd3, 0xb2, 0x4b, 0x34, 0xdb, 0xb1, 0xad, 0x1a, 0x90, 0x4f, 0x3d, 0x6b, 0xcc, 0x5e, - 0x26, 0x25, 0x05, 0x7c, 0x22, 0x24, 0xc9, 0xe5, 0x42, 0x1a, 0x4d, 0x85, 0xe1, 0xb2, 0xbb, 0xbe, - 0x0b, 0xa0, 0x8b, 0x7c, 0xb0, 0xe4, 0xfe, 0x53, 0x2c, 0xaa, 0xc3, 0x8c, 0x89, 0x42, 0xfe, 0x66, - 0x92, 0xe7, 0x3e, 0xd3, 0x81, 0xa9, 0x1e, 0x5f, 0x55, 0x99, 0xc7, 0xe8, 0x1f, 0x6b, 0xd2, 0xc7, - 0xda, 0x47, 0xd5, 0xc5, 0x00, 0xf0, 0x28, 0xe6, 0xb4, 0x6b, 0xb7, 0xfb, 0x78, 0x76, 0xf7, 0x99, - 0xae, 0x51, 0xf3, 0x12, 0x8c, 0x04, 0xbc, 0x10, 0xe2, 0x94, 0x25, 0xff, 0x4b, 0x38, 0xd8, 0x38, - 0xf3, 0x5e, 0x70, 0x64, 0x62, 0x54, 0x17, 0x04, 0xe4, 0xad, 0xca, 0x42, 0x32, 0x04, 0xad, 0x96, - 0x6c, 0x7d, 0x17, 0xd8, 0xd8, 0x48, 0x7d, 0xe5, 0x68, 0xba, 0x9f, 0x04, 0x1e, 0x06, 0x33, 0x12, - 0x18, 0x6d, 0xbd, 0x3e, 0x41, 0x5d, 0x54, 0x4d, 0x4f, 0x8b, 0x17, 0x54, 0xf0, 0x0d, 0xb7, 0xa6, - 0x4e, 0x28, 0xe3, 0xed, 0x38, 0x44, 0x66, 0x8c, 0x77, 0x24, 0x24, 0x48, 0xe3, 0xf0, 0x61, 0x33, - 0x37, 0x50, 0xc2, 0x8d, 0x8b, 0xde, 0xf5, 0x30, 0xe6, 0x1d, 0xf3, 0x3b, 0xd0, 0x07, 0x0a, 0x92, - 0xfe, 0x47, 0x5e, 0xee, 0x35, 0x30, 0x2f, 0x2b, 0x06, 0x09, 0x7a, 0xe7, 0x21, 0x01, 0x27, 0x96, - 0x22, 0x4b, 0xb5, 0xc2, 0x42, 0x66, 0x05, 0xd7, 0xcb, 0xdd, 0x0d, 0xae, 0x9d, 0x74, 0xe2, 0xf7, - 0x05, 0xf3, 0x51, 0x45, 0x8c, 0xd8, 0x87, 0xd1, 0x3d, 0xaa, 0x1d, 0x7e, 0xa8, 0xa1, 0x72, 0x8b, - 0xfa, 0x49, 0x61, 0x0c, 0xa1, 0xa3, 0xa8, 0x3a, 0x6c, 0x73, 0x48, 0x56, 0xdd, 0x2f, 0x86, 0xfd, - 0x24, 0xe7, 0xa8, 0x30, 0x55, 0x01, 0x16, 0x71, 0x37, 0xe4, 0xbb, 0x0a, 0x30, 0xd0, 0xce, 0x3d, - 0x3b, 0x7b, 0x76, 0x2f, 0xb8, 0x21, 0x39, 0x5a, 0xee, 0x49, 0xd2, 0x94, 0x05, 0x78, 0x8f, 0x61, - 0x61, 0x42, 0x6a, 0xa8, 0xd1, 0x28, 0x0d, 0xbb, 0xfc, 0x06, 0xa0, 0xbb, 0x3a, 0xe3, 0xd1, 0x95, - 0x8d, 0xc8, 0x47, 0x66, 0x84, 0x72, 0x1e, 0x1d, 0x40, 0xb8, 0x86, 0xd7, 0xf7, 0x78, 0x94, 0x83, - 0x05, 0xa1, 0x08, 0xe9, 0x7b, 0x4f, 0xe2, 0x26, 0xc9, 0x12, 0x94, 0xbc, 0x41, 0x99, 0x94, 0x83, - 0x1f, 0x5b, 0x01, 0x78, 0x36, 0x8b, 0xda, 0xef, 0x9a, 0x9c, 0x02, 0xd4, 0xbc, 0x02, 0x1c, 0x0a, - 0x97, 0x1e, 0xc8, 0x9e, 0x7f, 0x88, 0x75, 0xa7, 0x21, 0xce, 0x2d, 0x28, 0xf2, 0x91, 0x1f, 0xb8, - 0xf6, 0x3d, 0x3b, 0x86, 0x7b, 0x95, 0x8d, 0x98, 0xcc, 0x37, 0xd5, 0x4b, 0x36, 0x71, 0xe7, 0x32, - 0x0f, 0x84, 0x86, 0xbd, 0xd5, 0xc3, 0x23, 0xc0, 0x57, 0x4e, 0x15, 0x90, 0xd0, 0x39, 0xf9, 0xb6, - 0xec, 0x2f, 0x54, 0xb5, 0x2b, 0x46, 0xa4, 0x04, 0x64, 0xf1, 0xac, 0xff, 0xab, 0x40, 0x0c, 0x80, - 0xd3, 0xae, 0x4e, 0x95, 0x63, 0x81, 0x28, 0xec, 0xa0, 0xa3, 0x65, 0xe8, 0xe0, 0x31, 0xc8, 0xd8, - 0x7a, 0x4f, 0xf6, 0xed, 0x24, 0xff, 0xfe, 0x1d, 0x92, 0x37, 0x58, 0xc5, 0x97, 0xac, 0x66, 0x45, - 0xa6, 0x87, 0x78, 0x70, 0xad, 0x6e, 0x00, 0xda, 0xc1, 0xb0, 0xad, 0xa0, 0x95, 0x1e, 0xcf, 0xb5, - 0x4c, 0x44, 0x33, 0x84, 0x63, 0xe7, 0x03, 0xb6, 0x2f, 0x2b, 0x00, 0xb2, 0x54, 0x8d, 0x93, 0x75, - 0x87, 0xa8, 0xb0, 0x8a, 0xbd, 0x61, 0x1d, 0xc4, 0xd4, 0x01, 0x48, 0x16, 0xe0, 0xe6, 0x95, 0x53, - 0x84, 0x3f, 0xe1, 0xef, 0x1c, 0x52, 0xf5, 0xc0, 0x49, 0x4b, 0xd1, 0x5b, 0x0b, 0xf6, 0x07, 0x4e, - 0x07, 0xcc, 0x25, 0x8b, 0x22, 0x2a, 0x05, 0x40, 0xc6, 0x40, 0x17, 0x73, 0xca, 0x86, 0x85, 0x38, - 0xbb, 0xe4, 0x56, 0x8a, 0x92, 0xb3, 0x6c, 0x90, 0x66, 0xed, 0x8d, 0x72, 0x5e, 0xda, 0x65, 0x80, - 0x5c, 0x51, 0x6c, 0x5c, 0x67, 0x2f, 0x35, 0xeb, 0xcf, 0x92, 0xbb, 0x44, 0xa3, 0x58, 0xce, 0xd4, - 0x70, 0x95, 0xae, 0x5a, 0x21, 0xca, 0xb3, 0xca, 0x2f, 0xc9, 0x2b, 0x57, 0x02, 0x5a, 0x48, 0xec, - 0x76, 0xa0, 0xe3, 0x3c, 0x57, 0x7f, 0xed, 0x97, 0x0e, 0x62, 0x63, 0xd9, 0x6c, 0x4c, 0x65, 0x44, - 0xb6, 0x9e, 0x03, 0xeb, 0x23, 0xec, 0xde, 0x7b, 0xb0, 0xa0, 0xd8, 0x02, 0x49, 0xd8, 0x50, 0x45, - 0x5e, 0x11, 0xc5, 0x89, 0x86, 0xf7, 0x20, 0x90, 0xe6, 0xdb, 0xfd, 0xd1, 0xdc, 0x46, 0xe6, 0xe9, - 0xc6, 0x90, 0xbe, 0x1f, 0x28, 0x93, 0x72, 0xb0, 0x6e, 0xc0, 0xd2, 0x7e, 0x33, 0x74, 0xb3, 0x27, - 0x23, 0x4b, 0xe7, 0xdb, 0x65, 0x42, 0xce, 0xbc, 0x1c, 0x4f, 0x32, 0xa2, 0xe5, 0x9f, 0xc9, 0x4c, - 0x9b, 0x32, 0x15, 0xc7, 0x43, 0x12, 0xd1, 0x08, 0x62, 0xa5, 0xc9, 0x76, 0xca, 0x91, 0xd3, 0x65, - 0xcd, 0x08, 0x16, 0x09, 0x0a, 0xe2, 0xea, 0xfe, 0x3b, 0x0c, 0xee, 0x1a, 0xa3, 0x5b, 0xb5, 0xa6, - 0x2d, 0x70, 0x3c, 0x29, 0x26, 0x9f, 0xe4, 0x2e, 0x82, 0x61, 0xb3, 0x34, 0xaf, 0xa9, 0x59, 0x7f, - 0xc3, 0xf8, 0xb3, 0xa8, 0x48, 0xb5, 0x10, 0x47, 0x34, 0xe8, 0x09, 0x66, 0x36, 0x8a, 0xe6, 0x9d, - 0x3d, 0x7e, 0xed, 0x2a, 0xba, 0x97, 0x54, 0xb1, 0xa7, 0x4f, 0xcd, 0xc7, 0x6c, 0xce, 0xb0, 0xf8, - 0x77, 0xf3, 0x2f, 0xe9, 0x9a, 0x1e, 0x5c, 0x41, 0xc9, 0x1a, 0x39, 0x26, 0x04, 0xb1, 0x84, 0x29, - 0x63, 0xf1, 0xb0, 0xbd, 0xfb, 0xf0, 0xb5, 0xda, 0xd8, 0x7b, 0xdc, 0xe6, 0x07, 0xee, 0xbb, 0x24, - 0x00, 0x91, 0xc3, 0xf2, 0x38, 0x15, 0xd1, 0xaa, 0x79, 0x56, 0x98, 0xbc, 0xf1, 0xcc, 0xf7, 0x40, - 0x4f, 0x2b, 0x1b, 0x0c, 0xb0, 0x3c, 0x52, 0x4e, 0xcf, 0x6d, 0xda, 0xfc, 0x2a, 0xcf, 0x8b, 0x23, - 0x72, 0x97, 0xdc, 0x3b, 0x87, 0x29, 0xca, 0x93, 0x11, 0x95, 0xb8, 0xb3, 0x39, 0x28, 0xf5, 0x45, - 0xa2, 0x0e, 0x26, 0x56, 0x5c, 0x4e, 0x19, 0xdc, 0x0b, 0x8d, 0xa3, 0x78, 0x79, 0x38, 0x59, 0xc7, - 0x51, 0xa6, 0x1a, 0xda, 0xd0, 0x56, 0x96, 0x9f, 0xaf, 0x0b, 0x20, 0xc2, 0x0b, 0x99, 0xc6, 0x66, - 0xca, 0xb7, 0xa8, 0xcd, 0x68, 0x25, 0x17, 0x2b, 0x83, 0x11, 0xd0, 0x29, 0x6f, 0x0e, 0x48, 0xd4, - 0xb7, 0x5b, 0x20, 0xbc, 0x1a, 0x9e, 0xe0, 0xd1, 0xf3, 0xac, 0xd8, 0x14, 0x16, 0x6e, 0x9e, 0xfc, - 0x17, 0x23, 0xf8, 0xa8, 0x23, 0x60, 0x33, 0xb7, 0x12, 0xff, 0x39, 0xb2, 0xe1, 0x4c, 0x14, 0x80, - 0x8e, 0x89, 0xa4, 0xcf, 0xb9, 0x1f, 0xe9, 0xa2, 0x3f, 0xd4, 0xb4, 0xe5, 0x0f, 0xf7, 0x13, 0x1d, - 0x55, 0x63, 0x96, 0xee, 0x35, 0x0f, 0x89, 0x10, 0x2e, 0xaa, 0x93, 0x27, 0x75, 0x49, 0x3b, 0x97, - 0x20, 0x93, 0x21, 0xac, 0xa5, 0x0d, 0xee, 0x2b, 0x94, 0xba, 0x72, 0xc3, 0x88, 0xc4, 0xb1, 0x6d, - 0x21, 0xe3, 0xc3, 0x06, 0x54, 0x01, 0x96, 0xc2, 0xca, 0x97, 0x60, 0x2c, 0x4b, 0xa5, 0x4c, 0xd6, - 0x33, 0xaa, 0xc2, 0xa2, 0x5f, 0x6d, 0xda, 0xcc, 0xd0, 0xf7, 0x19, 0x24, 0xdb, 0x09, 0xa5, 0xd3, - 0xea, 0x49, 0x1a, 0x33, 0x89, 0x98, 0xb7, 0x55, 0x6a, 0x65, 0x03, 0x8c, 0x2f, 0xc7, 0xf1, 0xd0, - 0xb2, 0x4b, 0xfd, 0x91, 0x66, 0xc3, 0x8c, 0xe1, 0x5e, 0xe5, 0x46, 0xd1, 0xbc, 0x8d, 0x13, 0x00, - 0xb4, 0x45, 0x91, 0xd9, 0x17, 0x6f, 0x50, 0x16, 0x19, 0x69, 0x68, 0x7b, 0xcf, 0x6f, 0x9f, 0x8d, - 0xb6, 0xed, 0x3c, 0xf5, 0xa8, 0x08, 0xf8, 0x9a, 0x8d, 0x53, 0xa7, 0xf8, 0xc9, 0x92, 0xc2, 0x5e, - 0x7f, 0xd2, 0x6d, 0xa1, 0x25, 0x41, 0xe0, 0xf2, 0xef, 0x81, 0x9a, 0x03, 0x74, 0xad, 0x8d, 0x56, - 0xe8, 0xe9, 0x47, 0x25, 0x94, 0xf0, 0xcd, 0x11, 0x0b, 0x09, 0x42, 0x56, 0xc6, 0x78, 0x59, 0xa5, - 0x17, 0xd8, 0xa6, 0x88, 0xfd, 0xb4, 0xcb, 0x80, 0x2d, 0xbf, 0xbc, 0xbb, 0xa9, 0xf3, 0x42, 0x0f, - 0x8c, 0xf4, 0x37, 0xe1, 0x3d, 0xf8, 0x16, 0x7b, 0xd8, 0x13, 0x48, 0xa2, 0x43, 0x9f, 0x24, 0xec, - 0x19, 0x3f, 0x78, 0x92, 0x5a, 0x9d, 0x37, 0x0a, 0xb5, 0x45, 0x51, 0xf8, 0xf6, 0x40, 0x0c, 0xd2, - 0x0e, 0xab, 0xa8, 0x90, 0xec, 0x6d, 0xea, 0x8b, 0xd8, 0x71, 0xb3, 0xd2, 0x73, 0xb1, 0x1c, 0xd4, - 0x00, 0xfe, 0x91, 0x1f, 0xd9, 0x8e, 0x6d, 0x22, 0x05, 0x95, 0x8c, 0x99, 0xd0, 0xf3, 0x09, 0xce, - 0xc8, 0x70, 0x1d, 0x3c, 0xd4, 0x86, 0x58, 0x28, 0x57, 0x2f, 0x36, 0x11, 0x58, 0x2e, 0x16, 0xe9, - 0x1b, 0x70, 0x51, 0x53, 0x52, 0x1f, 0x6c, 0x38, 0xb4, 0x3d, 0x46, 0xce, 0xe9, 0x5d, 0x7d, 0x3a, - 0xfd, 0x82, 0x41, 0x3c, 0xbf, 0x1e, 0xe6, 0x7f, 0xa8, 0xb1, 0xd5, 0xd4, 0xde, 0xaf, 0x5b, 0x7c, - 0x40, 0x65, 0xaa, 0x30, 0xa4, 0xe5, 0x94, 0xad, 0x59, 0xdf, 0x8d, 0x5d, 0x82, 0xdc, 0x58, 0xc4, - 0x8f, 0xb0, 0xa5, 0xfb, 0xc9, 0x4f, 0x46, 0x81, 0xa6, 0xf3, 0xfe, 0xb5, 0x06, 0x92, 0xf4, 0xa0, - 0xbd, 0x4b, 0xca, 0x48, 0xff, 0x94, 0xaa, 0x62, 0x45, 0x9b, 0x7b, 0x4b, 0x43, 0x2e, 0x92, 0xc7, - 0x1d, 0xce, 0xdd, 0x44, 0x5f, 0xb1, 0x45, 0xab, 0xc9, 0xd8, 0xa9, 0xa7, 0xff, 0xbf, 0x71, 0x70, - 0xfa, 0x71, 0xee, 0xa3, 0x6b, 0xd0, 0xc0, 0x7c, 0xc2, 0x95, 0xbd, 0x58, 0x2f, 0x5b, 0x6f, 0xdf, - 0xd3, 0xf1, 0x33, 0x37, 0x68, 0xb3, 0xd7, 0xb3, 0x45, 0x4c, 0xad, 0x0e, 0xde, 0xf2, 0x86, 0x57, - 0x1c, 0x89, 0x86, 0x48, 0xc6, 0x0a, 0xf5, 0x9a, 0x6b, 0xb0, 0xa3, 0xc4, 0xd1, 0xc6, 0x60, 0xbb, - 0x5c, 0xbd, 0x7b, 0x20, 0x12, 0x99, 0x5d, 0x28, 0x53, 0x48, 0x15, 0x38, 0x82, 0x9c, 0xca, 0xe0, - 0x0b, 0xcd, 0x62, 0xcc, 0xe4, 0x8a, 0x78, 0x76, 0xcb, 0xc8, 0x16, 0xfd, 0x84, 0x8e, 0x97, 0x56, - 0xfd, 0xb3, 0xe9, 0x6c, 0xbe, 0x3b, 0x39, 0x37, 0x34, 0x93, 0x41, 0x27, 0x2c, 0x33, 0x27, 0x71, - 0xfe, 0xab, 0xba, 0x78, 0x09, 0xd9, 0x66, 0xb4, 0xb2, 0x46, 0xe7, 0x88, 0xd4, 0x4d, 0xdd, 0x6e, - 0x49, 0x00, 0xa0, 0x23, 0x03, 0xf5, 0xab, 0xed, 0xa0, 0x32, 0x1d, 0x21, 0x48, 0x3c, 0xba, 0x02, - 0xaa, 0x52, 0x31, 0x8d, 0xad, 0x8a, 0x26, 0xb2, 0x2b, 0x44, 0xf1, 0xcd, 0x52, 0x3a, 0xd3, 0x42, - 0xb5, 0x73, 0xcd, 0x49, 0xeb, 0x89, 0x46, 0x9e, 0x6c, 0x3b, 0x20, 0xd1, 0x91, 0x04, 0xfe, 0xdd, - 0x4c, 0x90, 0x8d, 0x88, 0xe1, 0xc3, 0x10, 0x4e, 0xd4, 0x61, 0x28, 0x05, 0x91, 0x9f, 0x92, 0x9d, - 0xf3, 0x37, 0x9d, 0xc9, 0x18, 0xeb, 0xf8, 0xef, 0x5b, 0xac, 0x9a, 0x8d, 0x72, 0xd5, 0xce, 0x85, - 0xc9, 0xfc, 0xf4, 0xbc, 0xe8, 0x6c, 0x2a, 0x91, 0xba, 0xc0, 0xdc, 0x19, 0x42, 0x38, 0x9f, 0xa2, - 0xe6, 0x8e, 0xd5, 0xe1, 0x0a, 0xdc, 0x7c, 0x42, 0x90, 0x1a, 0x2a, 0x95, 0xce, 0x32, 0x69, 0xc4, - 0xf7, 0x07, 0xeb, 0x51, 0x06, 0x74, 0xfa, 0x33, 0x56, 0x49, 0x5e, 0x78, 0xf1, 0xc6, 0xa0, 0x45, - 0x88, 0x7d, 0xae, 0xf3, 0x68, 0x31, 0x0a, 0x90, 0xc3, 0x74, 0x16, 0x3b, 0xe1, 0xd6, 0x4e, 0x74, - 0xab, 0x2d, 0x01, 0x1f, 0x2c, 0x94, 0x45, 0x2b, 0x10, 0x90, 0xe9, 0xef, 0x7a, 0x59, 0x05, 0x5e, - 0x90, 0x6d, 0x35, 0x79, 0x12, 0x76, 0xb0, 0x60, 0x6a, 0x03, 0x0b, 0x57, 0x51, 0xfc, 0x3f, 0xa4, - 0xf3, 0x49, 0xeb, 0x4b, 0x75, 0x57, 0x43, 0x14, 0xa5, 0xc5, 0x33, 0xe7, 0x4a, 0x0b, 0xe5, 0xe1, - 0xbe, 0x2f, 0x88, 0x53, 0x0f, 0x64, 0x92, 0xbc, 0xd7, 0x5a, 0x2c, 0x9e, 0xe0, 0x14, 0x68, 0xcd, - 0xd3, 0x47, 0x71, 0x59, 0x5f, 0x8b, 0x4f, 0xa0, 0x36, 0x0e, 0xda, 0xbd, 0xad, 0x0f, 0x09, 0x21, - 0xd9, 0x57, 0xb9, 0xe4, 0x53, 0x8a, 0x9f, 0x07, 0xda, 0xc9, 0xd6, 0xa1, 0x1b, 0x0a, 0x0a, 0x44, - 0xe5, 0x37, 0x09, 0xd1, 0xe0, 0x39, 0x77, 0x36, 0x7d, 0xb2, 0x05, 0x0b, 0xdb, 0x00, 0xbb, 0xd9, - 0xeb, 0x20, 0x99, 0x01, 0xdc, 0x28, 0x2c, 0xe1, 0x5d, 0xb2, 0xa3, 0x15, 0x97, 0x05, 0x90, 0x94, - 0x65, 0x35, 0x80, 0x89, 0x8d, 0x26, 0x70, 0x49, 0xb6, 0x38, 0x63, 0xbb, 0xdf, 0x88, 0x5a, 0x60, - 0xef, 0x12, 0xca, 0x97, 0x7d, 0x6b, 0x9e, 0x95, 0x3b, 0x4f, 0xf9, 0xae, 0x09, 0xc2, 0x32, 0x05, - 0x17, 0xb8, 0x1b, 0x6d, 0x77, 0x43, 0x69, 0x9a, 0x26, 0x38, 0x54, 0x53, 0x39, 0xd3, 0x35, 0x17, - 0xfd, 0x1a, 0x4e, 0x5a, 0xb8, 0xcd, 0x8b, 0xb8, 0x3e, 0xbf, 0x76, 0x80, 0xf0, 0xce, 0xb7, 0x1a, - 0xc2, 0xfe, 0x2c, 0xf0, 0x0a, 0x3e, 0x54, 0x5e, 0x6d, 0x46, 0x27, 0x32, 0xf3, 0x43, 0x0c, 0xa7, - 0xd1, 0x48, 0xd7, 0xc8, 0xd4, 0x3f, 0x21, 0xf2, 0x38, 0x44, 0xf0, 0x8f, 0x89, 0xe6, 0x33, 0x73, - 0xc0, 0x76, 0xa0, 0xd1, 0x9c, 0x85, 0x49, 0x87, 0x2f, 0x3c, 0x5b, 0x8e, 0x05, 0x51, 0x8d, 0x09, - 0x01, 0x9a, 0xec, 0x57, 0x22, 0xfd, 0x5b, 0x85, 0xbb, 0x7c, 0x4a, 0x29, 0x5c, 0x4d, 0xa9, 0x31, - 0x0f, 0x7c, 0x09, 0x6d, 0x8b, 0x6d, 0xdd, 0x91, 0x35, 0x03, 0xd7, 0xcf, 0x9c, 0xfa, 0x8c, 0x10, - 0xf5, 0x42, 0x0d, 0xde, 0x38, 0x38, 0x9e, 0x3b, 0x73, 0x0a, 0xdd, 0x79, 0xc0, 0xaf, 0x82, 0xcf, - 0xac, 0xf4, 0xab, 0x82, 0x4a, 0x0e, 0xbb, 0x98, 0xb6, 0x0d, 0x65, 0xc0, 0x52, 0x80, 0xe9, 0xc6, - 0xce, 0x5f, 0x75, 0x51, 0x33, 0x9c, 0x44, 0xba, 0x8f, 0x4a, 0x00, 0xd4, 0xa8, 0xef, 0xbf, 0xa2, - 0x07, 0x30, 0xd2, 0x72, 0xf7, 0xef, 0x52, 0x48, 0x75, 0x2b, 0x2e, 0xc3, 0xc8, 0xc6, 0x6a, 0x5b, - 0xda, 0x50, 0x70, 0x9d, 0x9a, 0xb7, 0xae, 0x3a, 0xa0, 0x10, 0xcd, 0x39, 0x07, 0xf1, 0xb8, 0x53, - 0x94, 0x20, 0xa1, 0x70, 0x5f, 0x65, 0x78, 0x3b, 0xf0, 0x02, 0x21, 0xe9, 0xde, 0xd8, 0x79, 0xc4, - 0x97, 0x6a, 0x5a, 0xdf, 0xac, 0x74, 0x5c, 0xa7, 0x5c, 0x09, 0x29, 0x96, 0x1e, 0xdf, 0x4b, 0x41, - 0xe5, 0xa5, 0x04, 0xa6, 0xfc, 0x24, 0xb9, 0xca, 0x16, 0x10, 0x29, 0x0c, 0xde, 0x78, 0x90, 0x53, - 0x1d, 0x61, 0x10, 0x63, 0xb0, 0xcf, 0xae, 0x52, 0xfd, 0x12, 0x04, 0xc0, 0x24, 0xde, 0x04, 0x74, - 0x6c, 0xe5, 0xdb, 0x28, 0xa4, 0x8e, 0xd5, 0xb3, 0x21, 0x67, 0x42, 0xc3, 0xba, 0xa0, 0x51, 0x19, - 0xb8, 0x2c, 0xe9, 0xc4, 0xb5, 0x06, 0x5d, 0x75, 0xfd, 0x68, 0x20, 0x5a, 0x16, 0x5e, 0xb5, 0xcb, - 0xe5, 0x18, 0xd6, 0x09, 0x55, 0x7d, 0x86, 0xdc, 0x0c, 0x7e, 0xa5, 0xed, 0x28, 0x13, 0x6a, 0x7c, - 0xc8, 0x1e, 0x90, 0xf5, 0xb8, 0x9f, 0xfa, 0xed, 0xa4, 0x9e, 0xf5, 0x4a, 0x36, 0xc8, 0x7d, 0x3c, - 0xaa, 0x60, 0x73, 0xc3, 0x10, 0xca, 0x58, 0x71, 0x82, 0xf9, 0xc3, 0x93, 0x5f, 0xd8, 0x5a, 0xa6, - 0x0d, 0x0c, 0x4e, 0xa7, 0x58, 0xa9, 0x7e, 0x8b, 0x53, 0xca, 0x51, 0xd8, 0xfb, 0x53, 0xb6, 0x32, - 0x8a, 0xf9, 0xdc, 0x10, 0xdb, 0x2d, 0x9e, 0x14, 0x2e, 0x1b, 0x30, 0x74, 0x34, 0xa6, 0x94, 0x4b, - 0x28, 0x20, 0x36, 0x13, 0x4c, 0x54, 0x5b, 0x60, 0x18, 0xc4, 0x64, 0x88, 0xe3, 0xec, 0x0d, 0x58, - 0x28, 0x0b, 0x23, 0xaf, 0x01, 0xef, 0xad, 0xa3, 0xe9, 0x76, 0x09, 0xc3, 0xb9, 0x9f, 0xa4, 0xa1, - 0x94, 0x3f, 0xf5, 0xa6, 0x0d, 0x5b, 0xc3, 0xac, 0x5c, 0x1e, 0x4e, 0x42, 0xa9, 0x15, 0x98, 0x65, - 0xb0, 0x65, 0x94, 0xca, 0x5d, 0xdb, 0xd8, 0x5d, 0xf8, 0xaf, 0xae, 0xa7, 0xbf, 0xdb, 0x96, 0xe0, - 0x94, 0x0c, 0x6a, 0xa3, 0x55, 0xbe, 0x58, 0xa9, 0x76, 0xcd, 0xa0, 0x28, 0x65, 0x43, 0x79, 0x8c, - 0xb8, 0xcc, 0xeb, 0xb2, 0x97, 0xfd, 0x1f, 0xaf, 0xca, 0x6b, 0xbc, 0xee, 0x7e, 0x8b, 0x63, 0x65, - 0x22, 0x83, 0x28, 0x1c, 0x85, 0x21, 0xe7, 0x9f, 0x73, 0x42, 0xf2, 0xa3, 0x8d, 0xbc, 0xf6, 0x9d, - 0x6a, 0x67, 0x5e, 0xf4, 0x28, 0xd0, 0x38, 0x82, 0x90, 0x3e, 0xc3, 0xc5, 0x3f, 0xec, 0x40, 0x3e, - 0xa2, 0x17, 0x3f, 0xc5, 0x94, 0x7a, 0xf1, 0x07, 0x3a, 0x1f, 0x75, 0x1a, 0x3c, 0xd1, 0x12, 0x16, - 0xf8, 0xf0, 0x2f, 0x26, 0x34, 0xfc, 0xf2, 0x79, 0x2f, 0xbc, 0xed, 0x01, 0xa5, 0xcd, 0x07, 0x98, - 0x35, 0xd8, 0x8e, 0x53, 0x59, 0x3a, 0x56, 0x50, 0xcc, 0xe7, 0x77, 0x36, 0x45, 0xb0, 0x70, 0x10, - 0xdc, 0x7f, 0xcc, 0x41, 0x9b, 0xd9, 0x00, 0x61, 0x46, 0x1f, 0xb6, 0x85, 0xdc, 0xdd, 0xdc, 0x91, - 0xa4, 0xaa, 0x9e, 0x08, 0xc7, 0xbe, 0x11, 0x86, 0xe8, 0x6d, 0xf4, 0x07, 0x4d, 0xe6, 0x7d, 0x1e, - 0xdd, 0x8f, 0x93, 0xa2, 0xe7, 0xf9, 0xc3, 0x43, 0xa8, 0xb7, 0xc0, 0x68, 0x7c, 0xc5, 0x62, 0x48, - 0x83, 0x4c, 0xf4, 0x66, 0x1f, 0x87, 0xca, 0x9d, 0x80, 0xb1, 0xc1, 0xf0, 0x03, 0x9b, 0x6e, 0x6c, - 0xf7, 0xde, 0x0c, 0x1c, 0x75, 0xc9, 0xea, 0xd8, 0x52, 0x6f, 0x43, 0x9b, 0x6b, 0x1c, 0x67, 0x0a, - 0xcf, 0x4b, 0xf8, 0xfc, 0xe8, 0xec, 0x08, 0xab, 0x84, 0x8e, 0x9b, 0x0a, 0xb7, 0x90, 0xf5, 0x50, - 0x31, 0x6b, 0xca, 0xc0, 0xd1, 0x24, 0xab, 0x41, 0x16, 0x91, 0xc7, 0xba, 0x33, 0xae, 0xcc, 0x6c, - 0xcb, 0x27, 0x23, 0xc9, 0x1d, 0x9b, 0xe9, 0x51, 0x29, 0x6a, 0x12, 0xad, 0x10, 0xfd, 0x30, 0x00, - 0xc5, 0xfa, 0xc0, 0x35, 0xd1, 0x3f, 0xd0, 0x1d, 0xe6, 0xcf, 0x3e, 0xb6, 0x03, 0x67, 0x52, 0x63, - 0x5d, 0x12, 0x0a, 0xd7, 0xc9, 0x1d, 0xa6, 0xd4, 0xed, 0xa1, 0xa0, 0xd1, 0xb1, 0xc7, 0x3c, 0x68, - 0x4a, 0x5e, 0xac, 0x46, 0x15, 0x81, 0x2e, 0xbf, 0xdd, 0xa4, 0x76, 0xe9, 0x71, 0x30, 0x86, 0xa7, - 0xa4, 0x42, 0x79, 0x02, 0x5e, 0x51, 0x65, 0xfa, 0xff, 0x13, 0xc9, 0xa8, 0x01, 0xf6, 0x5f, 0x1a, - 0x9a, 0x52, 0xb7, 0xa1, 0x88, 0x46, 0x7d, 0x6f, 0x52, 0x8f, 0xd6, 0xb2, 0x26, 0x39, 0x69, 0x24, - 0xf6, 0xed, 0x15, 0x63, 0xa6, 0x4a, 0xbd, 0x2d, 0xf6, 0x64, 0x29, 0x89, 0xaf, 0x77, 0x26, 0xf7, - 0xcc, 0x39, 0x1a, 0x54, 0xac, 0xa7, 0x74, 0x48, 0xe8, 0x66, 0xc0, 0xc0, 0xa6, 0xa6, 0x65, 0x56, - 0x7b, 0xeb, 0x79, 0xb7, 0x29, 0x52, 0x82, 0x87, 0x4b, 0x14, 0x5f, 0xe2, 0x30, 0x3e, 0xb1, 0x8e, - 0x79, 0x63, 0xfe, 0x61, 0xf4, 0x36, 0x1b, 0x52, 0x72, 0x04, 0xea, 0xea, 0xe2, 0xc2, 0x65, 0xe4, - 0x4a, 0xfb, 0x6a, 0xf2, 0x83, 0xb2, 0xc8, 0xaf, 0x32, 0xdf, 0xcd, 0x96, 0xe7, 0x73, 0xd3, 0x60, - 0x9c, 0x58, 0xfa, 0xbf, 0xa2, 0xc6, 0xe5, 0xf9, 0x92, 0x12, 0xf2, 0x6e, 0x2d, 0xe7, 0x53, 0x38, - 0x45, 0xc1, 0x7a, 0x50, 0x33, 0xe3, 0x94, 0x45, 0xed, 0x45, 0x32, 0x6c, 0xe3, 0xfd, 0xa0, 0xb0, - 0x2d, 0x30, 0x00, 0x09, 0x53, 0x61, 0x31, 0x66, 0x2d, 0x7a, 0xfc, 0x00, 0x80, 0x5a, 0x47, 0xa4, - 0x34, 0x47, 0x2f, 0x95, 0xf6, 0xf3, 0x31, 0x86, 0xd8, 0x1b, 0x0f, 0x82, 0x68, 0xb1, 0xce, 0x13, - 0x9b, 0x08, 0xa4, 0x26, 0xd0, 0x35, 0x35, 0xaa, 0x3f, 0x82, 0xd2, 0x54, 0xae, 0xec, 0x09, 0xd3, -]; diff --git a/fsb/tests/data/fsb160.blb b/fsb/tests/data/fsb160.blb new file mode 100644 index 000000000..deecdfec3 --- /dev/null +++ b/fsb/tests/data/fsb160.blb @@ -0,0 +1,2 @@ +blobby1hellonŒç™ŽLF¤Ê|^d˜¥w@ÑK+The quick brown fox jumps over the lazy dog¢_n$ÆûgS? +%#:ÅÌ Õy>Štiriri tralala potompompom¿½/0û϶9dÙmæV˜$ù \ No newline at end of file diff --git a/fsb/tests/data/fsb224.blb b/fsb/tests/data/fsb224.blb new file mode 100644 index 000000000..57ca2febc --- /dev/null +++ b/fsb/tests/data/fsb224.blb @@ -0,0 +1 @@ +blobby1hello[ÕóÃPЈðÒ.r‰¼i“´úyv–%7+The quick brown fox jumps over the lazy dogÒ’ÊÖ35üÊLd¥á<ʨÃæ:ÑU‘(tiriri tralala potompompom½œÆQixš²»¢y©õ2=YñïóÅVVÝ# \ No newline at end of file diff --git a/fsb/tests/data/fsb256.blb b/fsb/tests/data/fsb256.blb new file mode 100644 index 000000000..0caef2731 --- /dev/null +++ b/fsb/tests/data/fsb256.blb @@ -0,0 +1,2 @@ +blobby1hello mÃví,ºå†¨YvîÝæú\v=ìÀ/(í¼+The quick brown fox jumps over the lazy dog  u)ªÅ®ºjë3˜ƒåK±)ç» +Úze4‘ß$tiriri tralala potompompom ù—¬R0Da(7@z×kôKµXÏPêd³y¾/_+^ \ No newline at end of file diff --git a/fsb/tests/data/fsb384.blb b/fsb/tests/data/fsb384.blb new file mode 100644 index 000000000..65cc572e6 --- /dev/null +++ b/fsb/tests/data/fsb384.blb @@ -0,0 +1,3 @@ +blobby1hello0  M¨ò&…‹kw•P½Á ¶Ç6A&ü´j W +qKÉ’E_Œò œ‡P͹ +The quick brown fox jumps over the lazy dog0Iƒìú90ãÏa¬L‚i\£”k9Ï"µÖܺD~øËͤjÃAÌõƒ_3í +¾sé¿tiriri tralala potompompom0—ãò£óÛ$…ð¸3Væ¼ÆùÐk ÁKÀDÅX©¼ÐõóF­…»?ð—ô?O• \ No newline at end of file diff --git a/fsb/tests/data/fsb512.blb b/fsb/tests/data/fsb512.blb new file mode 100644 index 000000000..fa6c7b3d9 --- /dev/null +++ b/fsb/tests/data/fsb512.blb @@ -0,0 +1,2 @@ +blobby1hello@ k´vÙr{¡ðcC^a¬ÜN–€þX[eD/*:Å:9yÿ%*ßlÉÓNð±y© +âòèxŸ‡—¿òBl¥²‹+The quick brown fox jumps over the lazy dog@o‡¹Ü0¿°ÝzÓ\Ö¢ša°h†6‰4Ö®%iOÙy ñjùÚKa– ¶ˆúWcvñ6­½;ZQ®!Xtiriri tralala potompompom@}Õ%]¯¬–ß…'Ž·UJSœÃßßà£×>Fßµ64Û/Í.è7n§wãJñ‚±ÿ+4·7ŽQ~¬Üs \ No newline at end of file diff --git a/fsb/tests/lib.rs b/fsb/tests/lib.rs index 0597dacf5..f44d6c9e3 100644 --- a/fsb/tests/lib.rs +++ b/fsb/tests/lib.rs @@ -1,86 +1,8 @@ -use hex_literal::hex; - -use digest::Digest; -use fsb::*; - -#[test] -fn main() { - let msg_1 = b"hello"; - let msg_2 = b"The quick brown fox jumps over the lazy dog"; - let msg_3 = b"tiriri tralala potompompom"; - - assert_eq!( - Fsb160::digest(msg_1)[..], - hex!("6e8ce7998e4c46a4ca7c5e8f6498a5778140d14b")[..], - ); - - assert_eq!( - Fsb160::digest(msg_2)[..], - hex!("a25f6e24c6fb67533f0a25233ac5cc09d5793e8a")[..] - ); - - assert_eq!( - Fsb160::digest(msg_3)[..], - hex!("bfbd2f301a8ffbcfb60f3964d96d07e6569824f9")[..] - ); - - assert_eq!( - Fsb224::digest(msg_1)[..], - hex!("5b04d5f3c350d00f8815f018d21a2e7289bc6993b4fa167976962537")[..] - ); - - assert_eq!( - Fsb224::digest(msg_2)[..], - hex!("1dd28d92cad63335fcca4c64a5e1133ccaa8c3e6083ad15591280701")[..] - ); - - assert_eq!( - Fsb224::digest(msg_3)[..], - hex!("bd9cc65169789ab20fbba27910a9f5323d0559f107eff3c55656dd23")[..] - ); - - assert_eq!( - Fsb256::digest(msg_1)[..], - hex!("0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f28edbc")[..] - ); - - assert_eq!( - Fsb256::digest(msg_2)[..], - hex!("a0751229aac5aeba6aeb1c0533988302e5084bb11029e7bb0ada7a653491df24")[..] - ); - - assert_eq!( - Fsb256::digest(msg_3)[..], - hex!("f997ac523044618f2837407ad76bf41a194bb558cf50ea1c64b379be2f5f2b5e")[..] - ); - - assert_eq!( - Fsb384::digest(msg_1)[..], - hex!("010d14a04da89df22685138b6b7795501ebdc109b6c714364126fcb46a0b570a9d714bc992455f8cf2099c8750cdb90b")[..] - ); - - assert_eq!( - Fsb384::digest(msg_2)[..], - hex!("4983ecfa3930e3cf61ac4c82695c01a394016b39cf22b5d6dcba447ef8cbcda46ac341ccf5835f331fed0abe73e9bf1c")[..] - ); - - assert_eq!( - Fsb384::digest(msg_3)[..], - hex!("0597e317f2a3f311db2485f0b8335607e6bcc6f918d07f6b0dc14bc044c558a9bcd0f5f346ad85bb043ff097f43f4f95")[..] - ); - - assert_eq!( - Fsb512::digest(msg_1)[..], - hex!("0c6bb476d9727b90a1f063435e8d611aacdc904e9680fe585b65442f2a3ac5043a3979ff252adf6cc9d34ef0b179a90ae2f2e8789f8797bff2426c90a58fb28b")[..] - ); - - assert_eq!( - Fsb512::digest(msg_2)[..], - hex!("6f87b9dc051330bfb0dd7ad35c05d6a2040e9a6110b06886368934d6ae25694fd9790b1bf1086af9da4b15619609b688fa576376f136adbd3b5a51ae1a1f2158")[..] - ); - - assert_eq!( - Fsb512::digest(msg_3)[..], - hex!("7dd5255dafac0796df851d278eb70f554a539cc3dfdfe0a3d73e46df1ab51c029d3634db022fcd032ee8376ea777e34af118821fb1ff2b34b7378e517eacdc73")[..] - ); -} +use digest::dev::digest_test; +use digest::new_test; + +new_test!(fsb160_main, "fsb160", fsb::Fsb160, digest_test); +new_test!(fsb224_main, "fsb224", fsb::Fsb224, digest_test); +new_test!(fsb256_main, "fsb256", fsb::Fsb256, digest_test); +new_test!(fsb384_main, "fsb384", fsb::Fsb384, digest_test); +new_test!(fsb512_main, "fsb512", fsb::Fsb512, digest_test); From a7a5ad46489e2b2fe3206f31f1a705b6de48ee03 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Wed, 25 Aug 2021 14:58:40 +0200 Subject: [PATCH 171/373] make blake2 with simd_opt work on nightly (#301) --- blake2/src/lib.rs | 1 + blake2/src/simd.rs | 9 ++++++--- blake2/src/simd/simd_opt.rs | 5 +++-- blake2/src/simd/simd_opt/u32x4.rs | 4 +++- blake2/src/simd/simd_opt/u64x4.rs | 5 ++++- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 28cb1d9df..b74c7b5bf 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -88,6 +88,7 @@ )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] +#![cfg_attr(feature = "simd", allow(incomplete_features))] #![cfg_attr(feature = "simd_asm", feature(asm))] #[cfg(feature = "std")] diff --git a/blake2/src/simd.rs b/blake2/src/simd.rs index 0d3dfd346..b6fb15a40 100644 --- a/blake2/src/simd.rs +++ b/blake2/src/simd.rs @@ -96,7 +96,8 @@ macro_rules! impl_vector4 { #[inline(always)] fn shuffle_left_1(self) -> Self { use crate::simd::simdint::simd_shuffle4; - unsafe { simd_shuffle4(self, self, [1, 2, 3, 0]) } + const IDX: [u32; 4] = [1, 2, 3, 0]; + unsafe { simd_shuffle4(self, self, IDX) } } #[cfg(not(feature = "simd"))] @@ -109,7 +110,8 @@ macro_rules! impl_vector4 { #[inline(always)] fn shuffle_left_2(self) -> Self { use crate::simd::simdint::simd_shuffle4; - unsafe { simd_shuffle4(self, self, [2, 3, 0, 1]) } + const IDX: [u32; 4] = [2, 3, 0, 1]; + unsafe { simd_shuffle4(self, self, IDX) } } #[cfg(not(feature = "simd"))] @@ -122,7 +124,8 @@ macro_rules! impl_vector4 { #[inline(always)] fn shuffle_left_3(self) -> Self { use crate::simd::simdint::simd_shuffle4; - unsafe { simd_shuffle4(self, self, [3, 0, 1, 2]) } + const IDX: [u32; 4] = [3, 0, 1, 2]; + unsafe { simd_shuffle4(self, self, IDX) } } #[cfg(not(feature = "simd"))] diff --git a/blake2/src/simd/simd_opt.rs b/blake2/src/simd/simd_opt.rs index e143ba4ec..103837957 100644 --- a/blake2/src/simd/simd_opt.rs +++ b/blake2/src/simd/simd_opt.rs @@ -8,14 +8,15 @@ #[allow(unused_macros)] #[cfg(feature = "simd")] macro_rules! transmute_shuffle { - ($tmp:ident, $shuffle:ident, $vec:expr, $idx:expr) => { + ($tmp:ident, $shuffle:ident, $vec:expr, $idx_n:expr, $idx:expr) => { unsafe { use crate::simd::simdint::$shuffle; use crate::simd::simdty::$tmp; use core::mem::transmute; + const IDX: [u32; $idx_n] = $idx; let tmp_i: $tmp = transmute($vec); - let tmp_o: $tmp = $shuffle(tmp_i, tmp_i, $idx); + let tmp_o: $tmp = $shuffle(tmp_i, tmp_i, IDX); transmute(tmp_o) } }; diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index a3d8e3d6d..8b34e76e8 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -40,11 +40,12 @@ fn rotate_right_16(vec: u32x4) -> u32x4 { u8x16, simd_shuffle16, vec, + 16, [2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9, 14, 15, 12, 13] ) } else if cfg!(any(target_feature = "sse2", target_feature = "neon")) { // pshuflw+pshufhw (SSE2) / vrev (NEON) - transmute_shuffle!(u16x8, simd_shuffle8, vec, [1, 0, 3, 2, 5, 4, 7, 6]) + transmute_shuffle!(u16x8, simd_shuffle8, vec, 8, [1, 0, 3, 2, 5, 4, 7, 6]) } else { rotate_right_any(vec, 16) } @@ -59,6 +60,7 @@ fn rotate_right_8(vec: u32x4) -> u32x4 { u8x16, simd_shuffle16, vec, + 16, [1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 12] ) } else { diff --git a/blake2/src/simd/simd_opt/u64x4.rs b/blake2/src/simd/simd_opt/u64x4.rs index 0a6972a87..350f94587 100644 --- a/blake2/src/simd/simd_opt/u64x4.rs +++ b/blake2/src/simd/simd_opt/u64x4.rs @@ -37,7 +37,7 @@ fn rotate_right_any(vec: u64x4, n: u32) -> u64x4 { fn rotate_right_32(vec: u64x4) -> u64x4 { if cfg!(any(target_feature = "sse2", target_feature = "neon")) { // 2 x pshufd (SSE2) / vpshufd (AVX2) / 2 x vrev (NEON) - transmute_shuffle!(u32x8, simd_shuffle8, vec, [1, 0, 3, 2, 5, 4, 7, 6]) + transmute_shuffle!(u32x8, simd_shuffle8, vec, 8, [1, 0, 3, 2, 5, 4, 7, 6]) } else { rotate_right_any(vec, 32) } @@ -59,6 +59,7 @@ fn rotate_right_24(vec: u64x4) -> u64x4 { u8x32, simd_shuffle32, vec, + 32, [ 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 19, 20, 21, 22, 23, 16, 17, 18, 27, 28, 29, 30, 31, 24, 25, 26 @@ -85,6 +86,7 @@ fn rotate_right_16(vec: u64x4) -> u64x4 { u8x32, simd_shuffle32, vec, + 32, [ 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 18, 19, 20, 21, 22, 23, 16, 17, 26, 27, 28, 29, 30, 31, 24, 25 @@ -96,6 +98,7 @@ fn rotate_right_16(vec: u64x4) -> u64x4 { u16x16, simd_shuffle16, vec, + 16, [1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 12] ) } else { From 7ad6a68922e53d960543a277ae4f074714e90bad Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 25 Aug 2021 10:18:48 -0600 Subject: [PATCH 172/373] blake2 v0.9.2 (#305) --- Cargo.lock | 2 +- blake2/CHANGELOG.md | 6 ++++++ blake2/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e34bc6bd7..d3c431b07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.9.1" +version = "0.9.2" dependencies = [ "crypto-mac", "digest", diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 22ee2af94..60bf2e2dd 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.2 (2021-08-25) +### Fixed +- Building with `simd_opt` on recent nightlies ([#301]) + +[#301]: https://github.com/RustCrypto/hashes/pull/301 + ## 0.9.1 (2020-10-26) ### Changed - Bump `opaque-debug` to v0.3 ([#168]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 57d276bbc..6d25e15a7 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.9.1" +version = "0.9.2" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 8288805b24b6c62c6d3be678b8d7ff53c34affab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Aug 2021 08:56:21 +0000 Subject: [PATCH 173/373] build(deps): bump cpufeatures from 0.1.5 to 0.2.1 (#306) --- Cargo.lock | 8 ++++---- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d3c431b07..aabe9471a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,9 +57,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.1.5" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" dependencies = [ "libc", ] @@ -161,9 +161,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.98" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" +checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" [[package]] name = "md-5" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index c2fda9a94..25fcdafe1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha1-asm = { version = "0.5", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.1.5" +cpufeatures = "0.2.1" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 09abc3ab9..b7c818348 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -22,7 +22,7 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] -cpufeatures = "0.1.5" +cpufeatures = "0.2.1" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 876fdc113942865d3115f4849f750bc52f06c0d0 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 27 Aug 2021 07:27:03 -0600 Subject: [PATCH 174/373] sha-1 v0.9.8 (#307) --- Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index aabe9471a..83a8bb587 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -249,7 +249,7 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.7" +version = "0.9.8" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index ad019d22c..17cd4b9e9 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.8 (2021-08-27) +### Changed +- Bump `cpufeatures` dependency to 0.2 ([#306]) + +[#306]: https://github.com/RustCrypto/hashes/pull/306 + ## 0.9.7 (2021-07-18) ### Changed - Make `aarch64` CPU feature detection OS-independent ([#276]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 25fcdafe1..cbf261eca 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.7" +version = "0.9.8" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -22,7 +22,7 @@ cfg-if = "1.0" sha1-asm = { version = "0.5", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] -cpufeatures = "0.2.1" +cpufeatures = "0.2" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From 4a2845c226ba6748babdb2e704713fa9103d09f0 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 27 Aug 2021 08:01:22 -0600 Subject: [PATCH 175/373] sha2 v0.9.6 (#308) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 83a8bb587..82d34fc43 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,7 +271,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.5" +version = "0.9.6" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index ca565639b..a99ef5000 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.6 (2021-08-27) +### Changed +- Bump `cpufeatures` dependency to 0.2 ([#306]) + +[#306]: https://github.com/RustCrypto/hashes/pull/306 + ## 0.9.5 (2021-05-11) ### Changed - Use `cpufeatures` to detect intrinsics support on `aarch64` targets ([#267]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index b7c818348..71e4d19e7 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.5" +version = "0.9.6" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -22,7 +22,7 @@ cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] -cpufeatures = "0.2.1" +cpufeatures = "0.2" [dev-dependencies] digest = { version = "0.9", features = ["dev"] } From efda00dd6bb9d2bd80244ac36f9b3238f383521f Mon Sep 17 00:00:00 2001 From: Ivan Kalinin Date: Wed, 8 Sep 2021 20:10:18 +0300 Subject: [PATCH 176/373] Add x86 intrinsics support for sha2-512 (#312) --- sha2/src/sha512.rs | 13 +- sha2/src/sha512/x86.rs | 352 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 362 insertions(+), 3 deletions(-) create mode 100644 sha2/src/sha512/x86.rs diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 02439fd63..22f141e43 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -231,10 +231,17 @@ cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; use soft::compress; - } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { - sha2_asm::compress512(state, blocks); + } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + #[cfg(not(feature = "asm"))] + mod soft; + #[cfg(feature = "asm")] + mod soft { + pub(crate) fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + sha2_asm::compress512(state, blocks); + } } + mod x86; + use x86::compress; } else { mod soft; use soft::compress; diff --git a/sha2/src/sha512/x86.rs b/sha2/src/sha512/x86.rs new file mode 100644 index 000000000..09b3ceeaf --- /dev/null +++ b/sha2/src/sha512/x86.rs @@ -0,0 +1,352 @@ +//! SHA-512 `x86`/`x86_64` backend + +#![allow(clippy::many_single_char_names)] + +use core::mem::size_of; + +#[cfg(target_arch = "x86")] +use core::arch::x86::*; +#[cfg(target_arch = "x86_64")] +use core::arch::x86_64::*; + +use crate::consts::K64; + +cpufeatures::new!(avx2_cpuid, "avx2"); + +pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if avx2_cpuid::get() { + unsafe { + sha512_compress_x86_64_avx2(state, blocks); + } + } else { + super::soft::compress(state, blocks); + } +} + +#[target_feature(enable = "avx2")] +unsafe fn sha512_compress_x86_64_avx2(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + let mut start_block = 0; + + if blocks.len() & 0b1 != 0 { + sha512_compress_x86_64_avx(state, &blocks[0]); + start_block += 1; + } + + let mut ms: MsgSchedule = Default::default(); + let mut t2: RoundStates = [0u64; SHA512_ROUNDS_NUM]; + let mut x = [_mm256_setzero_si256(); 8]; + + for i in (start_block..blocks.len()).step_by(2) { + load_data_avx2(&mut x, &mut ms, &mut t2, blocks.as_ptr().add(i) as *const _); + + // First block + let mut current_state = *state; + rounds_0_63_avx2(&mut current_state, &mut x, &mut ms, &mut t2); + rounds_64_79(&mut current_state, &ms); + accumulate_state(state, ¤t_state); + + // Second block + current_state = *state; + process_second_block(&mut current_state, &t2); + accumulate_state(state, ¤t_state); + } +} + +#[inline(always)] +unsafe fn sha512_compress_x86_64_avx(state: &mut [u64; 8], block: &[u8; 128]) { + let mut ms = Default::default(); + let mut x = [_mm_setzero_si128(); 8]; + + // Reduced to single iteration + let mut current_state = *state; + load_data_avx(&mut x, &mut ms, block.as_ptr() as *const _); + rounds_0_63_avx(&mut current_state, &mut x, &mut ms); + rounds_64_79(&mut current_state, &ms); + accumulate_state(state, ¤t_state); +} + +#[inline(always)] +unsafe fn load_data_avx(x: &mut [__m128i; 8], ms: &mut MsgSchedule, data: *const __m128i) { + #[allow(non_snake_case)] + let MASK = _mm_setr_epi32(0x04050607, 0x00010203, 0x0c0d0e0f, 0x08090a0b); + + macro_rules! unrolled_iterations { + ($($i:literal),*) => {$( + x[$i] = _mm_loadu_si128(data.add($i) as *const _); + x[$i] = _mm_shuffle_epi8(x[$i], MASK); + + let y = _mm_add_epi64( + x[$i], + _mm_loadu_si128(&K64[2 * $i] as *const u64 as *const _), + ); + + _mm_store_si128(&mut ms[2 * $i] as *mut u64 as *mut _, y); + )*}; + } + + unrolled_iterations!(0, 1, 2, 3, 4, 5, 6, 7); +} + +#[inline(always)] +unsafe fn load_data_avx2( + x: &mut [__m256i; 8], + ms: &mut MsgSchedule, + t2: &mut RoundStates, + data: *const __m128i, +) { + #[allow(non_snake_case)] + let MASK = _mm256_set_epi64x( + 0x0809_0A0B_0C0D_0E0F_i64, + 0x0001_0203_0405_0607_i64, + 0x0809_0A0B_0C0D_0E0F_i64, + 0x0001_0203_0405_0607_i64, + ); + + macro_rules! unrolled_iterations { + ($($i:literal),*) => {$( + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i) as *const _), 1); + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i + 1) as *const _), 0); + + x[$i] = _mm256_shuffle_epi8(x[$i], MASK); + + let t = _mm_loadu_si128(K64.as_ptr().add($i * 2) as *const u64 as *const _); + let y = _mm256_add_epi64(x[$i], _mm256_set_m128i(t, t)); + + _mm_store_si128( + &mut ms[2 * $i] as *mut u64 as *mut _, + _mm256_extracti128_si256(y, 0), + ); + _mm_store_si128( + &mut t2[2 * $i] as *mut u64 as *mut _, + _mm256_extracti128_si256(y, 1), + ); + )*}; + } + + unrolled_iterations!(0, 1, 2, 3, 4, 5, 6, 7); +} + +#[inline(always)] +unsafe fn rounds_0_63_avx(current_state: &mut State, x: &mut [__m128i; 8], ms: &mut MsgSchedule) { + let mut k64_idx: usize = SHA512_BLOCK_WORDS_NUM; + + for _ in 0..4 { + for j in 0..8 { + let k64 = _mm_loadu_si128(&K64[k64_idx] as *const u64 as *const _); + let y = sha512_update_x_avx(x, k64); + + sha_round(current_state, ms[2 * j]); + sha_round(current_state, ms[2 * j + 1]); + + _mm_store_si128(&mut ms[2 * j] as *const u64 as *mut _, y); + k64_idx += 2; + } + } +} + +#[inline(always)] +unsafe fn rounds_0_63_avx2( + current_state: &mut State, + x: &mut [__m256i; 8], + ms: &mut MsgSchedule, + t2: &mut RoundStates, +) { + let mut k64x4_idx: usize = SHA512_BLOCK_WORDS_NUM; + + for i in 1..5 { + for j in 0..8 { + let t = _mm_loadu_si128(K64.as_ptr().add(k64x4_idx) as *const u64 as *const _); + let y = sha512_update_x_avx2(x, _mm256_set_m128i(t, t)); + + sha_round(current_state, ms[2 * j]); + sha_round(current_state, ms[2 * j + 1]); + + _mm_store_si128( + &mut ms[2 * j] as *mut u64 as *mut _, + _mm256_extracti128_si256(y, 0), + ); + _mm_store_si128( + &mut t2[(16 * i) + 2 * j] as *mut u64 as *mut _, + _mm256_extracti128_si256(y, 1), + ); + + k64x4_idx += 2; + } + } +} + +#[inline(always)] +unsafe fn rounds_64_79(current_state: &mut State, ms: &MsgSchedule) { + for i in 64..80 { + sha_round(current_state, ms[i & 0xf]); + } +} + +#[inline(always)] +unsafe fn process_second_block(current_state: &mut State, t2: &RoundStates) { + for t2 in t2.iter() { + sha_round(current_state, *t2); + } +} + +#[inline(always)] +unsafe fn sha_round(s: &mut State, x: u64) { + macro_rules! big_sigma0 { + ($a:expr) => { + $a.rotate_right(28) ^ $a.rotate_right(34) ^ $a.rotate_right(39) + }; + } + macro_rules! big_sigma1 { + ($a:expr) => { + $a.rotate_right(14) ^ $a.rotate_right(18) ^ $a.rotate_right(41) + }; + } + macro_rules! bool3ary_202 { + ($a:expr, $b:expr, $c:expr) => { + $c ^ ($a & ($b ^ $c)) + }; + } // Choose, MD5F, SHA1C + macro_rules! bool3ary_232 { + ($a:expr, $b:expr, $c:expr) => { + ($a & $b) ^ ($a & $c) ^ ($b & $c) + }; + } // Majority, SHA1M + + macro_rules! rotate_state { + ($s:ident) => {{ + let tmp = $s[7]; + $s[7] = $s[6]; + $s[6] = $s[5]; + $s[5] = $s[4]; + $s[4] = $s[3]; + $s[3] = $s[2]; + $s[2] = $s[1]; + $s[1] = $s[0]; + $s[0] = tmp; + }}; + } + + let t = x + .wrapping_add(s[7]) + .wrapping_add(big_sigma1!(s[4])) + .wrapping_add(bool3ary_202!(s[4], s[5], s[6])); + + s[7] = t + .wrapping_add(big_sigma0!(s[0])) + .wrapping_add(bool3ary_232!(s[0], s[1], s[2])); + s[3] = s[3].wrapping_add(t); + + rotate_state!(s); +} + +#[inline(always)] +unsafe fn accumulate_state(dst: &mut State, src: &State) { + for i in 0..SHA512_HASH_WORDS_NUM { + dst[i] = dst[i].wrapping_add(src[i]); + } +} + +macro_rules! fn_sha512_update_x { + ($name:ident, $ty:ident, { + ADD64 = $ADD64:ident, + ALIGNR8 = $ALIGNR8:ident, + SRL64 = $SRL64:ident, + SLL64 = $SLL64:ident, + XOR = $XOR:ident, + }) => { + unsafe fn $name(x: &mut [$ty; 8], k64: $ty) -> $ty { + // q[2:1] + let mut t0 = $ALIGNR8(x[1], x[0], 8); + // q[10:9] + let mut t3 = $ALIGNR8(x[5], x[4], 8); + // q[2:1] >> s0[0] + let mut t2 = $SRL64(t0, 1); + // q[1:0] + q[10:9] + x[0] = $ADD64(x[0], t3); + // q[2:1] >> s0[2] + t3 = $SRL64(t0, 7); + // q[2:1] << (64 - s0[1]) + let mut t1 = $SLL64(t0, 64 - 8); + // (q[2:1] >> s0[2]) ^ + // (q[2:1] >> s0[0]) + t0 = $XOR(t3, t2); + // q[2:1] >> s0[1] + t2 = $SRL64(t2, 8 - 1); + // (q[2:1] >> s0[2]) ^ + // (q[2:1] >> s0[0]) ^ + // q[2:1] << (64 - s0[1]) + t0 = $XOR(t0, t1); + // q[2:1] << (64 - s0[0]) + t1 = $SLL64(t1, 8 - 1); + // sigma1(q[2:1]) + t0 = $XOR(t0, t2); + t0 = $XOR(t0, t1); + // q[15:14] >> s1[2] + t3 = $SRL64(x[7], 6); + // q[15:14] >> (64 - s1[1]) + t2 = $SLL64(x[7], 64 - 61); + // q[1:0] + sigma0(q[2:1]) + x[0] = $ADD64(x[0], t0); + // q[15:14] >> s1[0] + t1 = $SRL64(x[7], 19); + // q[15:14] >> s1[2] ^ + // q[15:14] >> (64 - s1[1]) + t3 = $XOR(t3, t2); + // q[15:14] >> (64 - s1[0]) + t2 = $SLL64(t2, 61 - 19); + // q[15:14] >> s1[2] ^ + // q[15:14] >> (64 - s1[1] ^ + // q[15:14] >> s1[0] + t3 = $XOR(t3, t1); + // q[15:14] >> s1[1] + t1 = $SRL64(t1, 61 - 19); + // sigma1(q[15:14]) + t3 = $XOR(t3, t2); + t3 = $XOR(t3, t1); + + // q[1:0] + q[10:9] + sigma1(q[15:14]) + sigma0(q[2:1]) + x[0] = $ADD64(x[0], t3); + + // rotate + let temp = x[0]; + x[0] = x[1]; + x[1] = x[2]; + x[2] = x[3]; + x[3] = x[4]; + x[4] = x[5]; + x[5] = x[6]; + x[6] = x[7]; + x[7] = temp; + + $ADD64(x[7], k64) + } + }; +} + +fn_sha512_update_x!(sha512_update_x_avx, __m128i, { + ADD64 = _mm_add_epi64, + ALIGNR8 = _mm_alignr_epi8, + SRL64 = _mm_srli_epi64, + SLL64 = _mm_slli_epi64, + XOR = _mm_xor_si128, +}); + +fn_sha512_update_x!(sha512_update_x_avx2, __m256i, { + ADD64 = _mm256_add_epi64, + ALIGNR8 = _mm256_alignr_epi8, + SRL64 = _mm256_srli_epi64, + SLL64 = _mm256_slli_epi64, + XOR = _mm256_xor_si256, +}); + +type State = [u64; SHA512_HASH_WORDS_NUM]; +type MsgSchedule = [u64; SHA512_BLOCK_WORDS_NUM]; +type RoundStates = [u64; SHA512_ROUNDS_NUM]; + +const SHA512_BLOCK_BYTE_LEN: usize = 128; +const SHA512_ROUNDS_NUM: usize = 80; +const SHA512_HASH_BYTE_LEN: usize = 64; +const SHA512_HASH_WORDS_NUM: usize = SHA512_HASH_BYTE_LEN / size_of::(); +const SHA512_BLOCK_WORDS_NUM: usize = SHA512_BLOCK_BYTE_LEN / size_of::(); From 726e3c3978a77eb4318b4511eed5ac885375acd0 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 8 Sep 2021 17:41:15 +0000 Subject: [PATCH 177/373] Release sha2 v0.9.7 (#313) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 82d34fc43..eaf6a3eda 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,7 +271,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.6" +version = "0.9.7" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index a99ef5000..724dbbd56 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.7 (2021-09-08) +### Added +- x86 intrinsics support for SHA-512 ([#312]) + +[#312]: https://github.com/RustCrypto/hashes/pull/312 + ## 0.9.6 (2021-08-27) ### Changed - Bump `cpufeatures` dependency to 0.2 ([#306]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 71e4d19e7..26db65479 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.6" +version = "0.9.7" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From 93d895de72c2cb3ac7bc106f03e33715f8f304c2 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 9 Sep 2021 10:18:46 +0000 Subject: [PATCH 178/373] sha2: Fix bug in the AVX2 backend (#314) --- sha2/CHANGELOG.md | 2 +- sha2/src/sha512/x86.rs | 4 ++-- sha2/tests/lib.rs | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 724dbbd56..9b7bf0930 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.9.7 (2021-09-08) +## 0.9.7 (2021-09-08) [YANKED] ### Added - x86 intrinsics support for SHA-512 ([#312]) diff --git a/sha2/src/sha512/x86.rs b/sha2/src/sha512/x86.rs index 09b3ceeaf..14a72497c 100644 --- a/sha2/src/sha512/x86.rs +++ b/sha2/src/sha512/x86.rs @@ -106,8 +106,8 @@ unsafe fn load_data_avx2( macro_rules! unrolled_iterations { ($($i:literal),*) => {$( - x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i) as *const _), 1); - x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i + 1) as *const _), 0); + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add(8 + $i) as *const _), 1); + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i) as *const _), 0); x[$i] = _mm256_shuffle_epi8(x[$i], MASK); diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs index b9cb8628a..fe120455b 100644 --- a/sha2/tests/lib.rs +++ b/sha2/tests/lib.rs @@ -24,6 +24,22 @@ fn sha256_1million_a() { one_million_a::(output); } +#[test] +#[rustfmt::skip] +fn sha512_avx2_bug() { + use sha2::Digest; + use hex_literal::hex; + + let mut msg = [0u8; 256]; + msg[0] = 42; + let expected = hex!(" + 2a3e943072f30afa45f2bf57ccd386f29b76dbcdb3a861224ca0b77bc3f55c7a + d3880a49c0c9c166eedf7f209c41b380896886155acb8f6c7c07044343a3e692 + "); + let res = sha2::Sha512::digest(&msg); + assert_eq!(res[..], expected[..]); +} + #[test] fn sha512_1million_a() { let output = include_bytes!("data/sha512_one_million_a.bin"); From a7431da030b14ff144a30638c7cd3604befc1512 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 9 Sep 2021 10:38:59 +0000 Subject: [PATCH 179/373] release sha2 v0.9.8 (#318) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eaf6a3eda..cba495698 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,7 +271,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.7" +version = "0.9.8" dependencies = [ "block-buffer", "cfg-if", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 9b7bf0930..433465d0b 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.9.8 (2021-09-09) +### Fixed +- Bug in the AVX2 backend ([#314]) + +[#314]: https://github.com/RustCrypto/hashes/pull/314 + ## 0.9.7 (2021-09-08) [YANKED] ### Added - x86 intrinsics support for SHA-512 ([#312]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 26db65479..cf17feb8e 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.7" +version = "0.9.8" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From d6c8c3c1b07336b7c82c3f34913454d616c3da91 Mon Sep 17 00:00:00 2001 From: Chris Palmer Date: Tue, 5 Oct 2021 18:42:28 -0700 Subject: [PATCH 180/373] Remove some `unsafe` (#320) As far as I can tell, building locally, these functions don't need to be marked `unsafe`. --- sha2/src/sha512/x86.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sha2/src/sha512/x86.rs b/sha2/src/sha512/x86.rs index 14a72497c..5f555c216 100644 --- a/sha2/src/sha512/x86.rs +++ b/sha2/src/sha512/x86.rs @@ -178,21 +178,21 @@ unsafe fn rounds_0_63_avx2( } #[inline(always)] -unsafe fn rounds_64_79(current_state: &mut State, ms: &MsgSchedule) { +fn rounds_64_79(current_state: &mut State, ms: &MsgSchedule) { for i in 64..80 { sha_round(current_state, ms[i & 0xf]); } } #[inline(always)] -unsafe fn process_second_block(current_state: &mut State, t2: &RoundStates) { +fn process_second_block(current_state: &mut State, t2: &RoundStates) { for t2 in t2.iter() { sha_round(current_state, *t2); } } #[inline(always)] -unsafe fn sha_round(s: &mut State, x: u64) { +fn sha_round(s: &mut State, x: u64) { macro_rules! big_sigma0 { ($a:expr) => { $a.rotate_right(28) ^ $a.rotate_right(34) ^ $a.rotate_right(39) @@ -242,7 +242,7 @@ unsafe fn sha_round(s: &mut State, x: u64) { } #[inline(always)] -unsafe fn accumulate_state(dst: &mut State, src: &State) { +fn accumulate_state(dst: &mut State, src: &State) { for i in 0..SHA512_HASH_WORDS_NUM { dst[i] = dst[i].wrapping_add(src[i]); } From 75298d36b9400654ad3bbee072b59c5ffed27aa4 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 7 Dec 2021 19:52:35 +0000 Subject: [PATCH 181/373] update crates to digest v0.10 (#217) --- .github/workflows/blake2.yml | 2 +- .github/workflows/fsb.yml | 7 +- .github/workflows/gost94.yml | 3 +- .github/workflows/groestl.yml | 2 +- .github/workflows/k12.yml | 3 +- .github/workflows/md2.yml | 3 +- .github/workflows/md4.yml | 3 +- .github/workflows/md5.yml | 2 +- .../workflows/{ripemd320.yml => ripemd.yml} | 8 +- .github/workflows/ripemd160.yml | 58 - .github/workflows/ripemd256.yml | 58 - .github/workflows/sha1.yml | 24 +- .github/workflows/sha2.yml | 33 +- .github/workflows/sha3.yml | 2 +- .github/workflows/shabal.yml | 2 +- .github/workflows/sm3.yml | 3 +- .github/workflows/streebog.yml | 3 +- .github/workflows/tiger.yml | 2 +- .github/workflows/whirlpool.yml | 2 +- Cargo.lock | 151 +- Cargo.toml | 6 +- README.md | 235 +- blake2/CHANGELOG.md | 6 + blake2/Cargo.toml | 14 +- blake2/benches/blake2b.rs | 4 - blake2/benches/blake2s.rs | 4 - blake2/benches/mod.rs | 22 + blake2/examples/blake2b_sum.rs | 47 - blake2/examples/blake2s_sum.rs | 47 - blake2/src/blake2.rs | 414 -- blake2/src/blake2b.rs | 18 - blake2/src/blake2s.rs | 18 - blake2/src/lib.rs | 152 +- blake2/src/macros.rs | 430 ++ blake2/tests/data/blake2b/fixed.blb | Bin 182 -> 178 bytes blake2/tests/data/blake2b/mac.blb | Bin 66318 -> 50313 bytes blake2/tests/data/blake2b/variable.blb | Bin 53 -> 47 bytes blake2/tests/data/blake2s/mac.blb | Bin 49870 -> 41833 bytes blake2/tests/data/blake2s/variable.blb | Bin 40 -> 34 bytes blake2/tests/lib.rs | 18 - blake2/tests/mac.rs | 11 +- blake2/tests/mod.rs | 19 + blake2/tests/persona.rs | 41 +- fsb/CHANGELOG.md | 6 + fsb/Cargo.toml | 14 +- {ripemd160 => fsb}/LICENSE-APACHE | 0 {ripemd160 => fsb}/LICENSE-MIT | 4 +- fsb/README.md | 2 +- fsb/benches/mod.rs | 46 + fsb/src/lib.rs | 49 +- fsb/src/macros.rs | 207 +- fsb/tests/data/fsb160.blb | Bin 147 -> 141 bytes fsb/tests/data/fsb224.blb | Bin 171 -> 165 bytes fsb/tests/data/fsb256.blb | Bin 183 -> 177 bytes fsb/tests/data/fsb384.blb | Bin 231 -> 225 bytes fsb/tests/data/fsb512.blb | Bin 279 -> 276 bytes fsb/tests/lib.rs | 8 - fsb/tests/mod.rs | 68 + gost94/CHANGELOG.md | 6 + gost94/Cargo.toml | 8 +- gost94/benches/lib.rs | 4 - gost94/benches/mod.rs | 14 + gost94/examples/gost94_cryptopro_sum.rs | 47 - gost94/examples/gost94_test_sum.rs | 47 - gost94/src/cryptopro.rs | 12 - gost94/src/{gost94.rs => gost94_core.rs} | 152 +- gost94/src/lib.rs | 38 +- gost94/src/macros.rs | 48 - gost94/src/params.rs | 70 + gost94/src/s2015.rs | 12 - gost94/src/test_param.rs | 12 - gost94/tests/data/cryptopro.blb | Bin 627 -> 622 bytes gost94/tests/data/cryptopro_one_million_a.bin | 1 - gost94/tests/data/test.blb | Bin 627 -> 622 bytes gost94/tests/data/test_one_million_a.bin | Bin 32 -> 0 bytes gost94/tests/{lib.rs => mod.rs} | 39 +- groestl/CHANGELOG.md | 6 + groestl/Cargo.toml | 8 +- groestl/LICENSE-MIT | 2 +- groestl/benches/groestl256.rs | 4 - groestl/benches/groestl512.rs | 4 - groestl/benches/mod.rs | 22 + groestl/src/compress1024.rs | 99 + groestl/src/compress512.rs | 83 + groestl/src/consts.rs | 55 - groestl/src/groestl.rs | 76 - groestl/src/lib.rs | 223 +- groestl/src/macros.rs | 95 - groestl/src/matrix.rs | 87 - groestl/src/state.rs | 293 -- groestl/src/table.rs | 11 + groestl/tests/data/groestl224.blb | Bin 40327 -> 40513 bytes groestl/tests/data/groestl256.blb | Bin 41351 -> 41537 bytes groestl/tests/data/groestl384.blb | Bin 45447 -> 45633 bytes groestl/tests/data/groestl512.blb | Bin 49543 -> 49985 bytes groestl/tests/lib.rs | 28 - groestl/tests/mod.rs | 57 + k12/CHANGELOG.md | 6 + k12/Cargo.toml | 6 +- k12/benches/lib.rs | 12 - k12/benches/mod.rs | 14 + k12/src/lib.rs | 28 +- k12/tests/lib.rs | 113 - k12/tests/mod.rs | 75 + md2/CHANGELOG.md | 6 + md2/Cargo.toml | 8 +- md2/benches/lib.rs | 4 - md2/benches/mod.rs | 14 + md2/examples/md2sum.rs | 39 - md2/src/lib.rs | 128 +- md2/tests/data/md2.blb | Bin 147 -> 141 bytes md2/tests/data/one_million_a.bin | 2 - md2/tests/lib.rs | 11 - md2/tests/mod.rs | 15 + md4/CHANGELOG.md | 6 + md4/Cargo.toml | 8 +- md4/benches/lib.rs | 4 - md4/benches/mod.rs | 14 + md4/examples/md4sum.rs | 47 - md4/src/lib.rs | 247 +- md4/tests/data/md4.blb | Bin 441 -> 436 bytes md4/tests/data/one_million_a.bin | 1 - md4/tests/lib.rs | 12 - md4/tests/mod.rs | 15 + md5/CHANGELOG.md | 6 + md5/Cargo.toml | 10 +- md5/benches/lib.rs | 4 - md5/benches/mod.rs | 14 + md5/examples/md5sum.rs | 47 - md5/src/{utils.rs => compress.rs} | 27 +- md5/src/consts.rs | 21 - md5/src/lib.rs | 141 +- md5/tests/data/md5.blb | Bin 3286 -> 3271 bytes md5/tests/data/one_million_a.bin | 1 - md5/tests/lib.rs | 12 - md5/tests/mod.rs | 15 + ripemd/CHANGELOG.md | 12 + {ripemd320 => ripemd}/Cargo.toml | 16 +- {ripemd256 => ripemd}/LICENSE-APACHE | 0 {ripemd256 => ripemd}/LICENSE-MIT | 4 +- {ripemd160 => ripemd}/README.md | 6 +- ripemd/benches/mod.rs | 30 + ripemd160/src/block.rs => ripemd/src/c160.rs | 7 +- ripemd256/src/block.rs => ripemd/src/c256.rs | 7 +- ripemd320/src/block.rs => ripemd/src/c320.rs | 7 +- ripemd/src/lib.rs | 159 + ripemd/tests/data/ripemd160.blb | Bin 0 -> 234 bytes ripemd/tests/data/ripemd256.blb | Bin 0 -> 516 bytes ripemd/tests/data/ripemd320.blb | Bin 0 -> 502 bytes ripemd/tests/mod.rs | 45 + ripemd160/CHANGELOG.md | 50 - ripemd160/Cargo.toml | 25 - ripemd160/benches/lib.rs | 4 - ripemd160/examples/ripemd160sum.rs | 47 - ripemd160/src/lib.rs | 101 - ripemd160/tests/data/one_million_a.bin | 1 - ripemd160/tests/data/ripemd160.blb | 1 - ripemd160/tests/lib.rs | 18 - ripemd256/.gitignore | 2 - ripemd256/Cargo.toml | 25 - ripemd256/README.md | 31 - ripemd256/examples/ripemd256sum.rs | 47 - ripemd256/src/lib.rs | 96 - ripemd256/tests/lib.rs | 53 - ripemd320/CHANGELOG.md | 25 - ripemd320/LICENSE-APACHE | 201 - ripemd320/LICENSE-MIT | 27 - ripemd320/README.md | 56 - ripemd320/benches/lib.rs | 4 - ripemd320/examples/ripemd320sum.rs | 47 - ripemd320/src/lib.rs | 102 - ripemd320/tests/data/one_million_a.bin | 1 - ripemd320/tests/data/ripemd320.blb | Bin 508 -> 0 bytes ripemd320/tests/lib.rs | 19 - sha1/CHANGELOG.md | 6 + sha1/Cargo.toml | 11 +- sha1/benches/lib.rs | 4 - sha1/benches/mod.rs | 14 + sha1/examples/sha1sum.rs | 47 - sha1/src/compress.rs | 15 +- sha1/src/compress/soft.rs | 21 +- sha1/src/consts.rs | 12 - sha1/src/lib.rs | 120 +- sha1/tests/data/one_million_a.bin | 1 - sha1/tests/data/sha1.blb | Bin 240 -> 234 bytes sha1/tests/lib.rs | 12 - sha1/tests/mod.rs | 15 + sha2/CHANGELOG.md | 7 + sha2/Cargo.toml | 8 +- sha2/benches/mod.rs | 22 + sha2/benches/sha256.rs | 4 - sha2/benches/sha512.rs | 4 - sha2/examples/sha256sum.rs | 47 - sha2/examples/sha512sum.rs | 47 - sha2/src/consts.rs | 211 +- sha2/src/core_api.rs | 157 + sha2/src/lib.rs | 52 +- sha2/src/sha256.rs | 148 +- sha2/src/sha512.rs | 235 +- sha2/tests/data/sha224.blb | Bin 184 -> 178 bytes sha2/tests/data/sha256.blb | Bin 196 -> 190 bytes sha2/tests/data/sha256_one_million_a.bin | 1 - sha2/tests/data/sha384.blb | Bin 244 -> 238 bytes sha2/tests/data/sha512.blb | Bin 292 -> 289 bytes sha2/tests/data/sha512_224.blb | Bin 184 -> 178 bytes sha2/tests/data/sha512_256.blb | Bin 196 -> 190 bytes sha2/tests/data/sha512_one_million_a.bin | Bin 64 -> 0 bytes sha2/tests/lib.rs | 47 - sha2/tests/mod.rs | 35 + sha3/CHANGELOG.md | 5 + sha3/Cargo.toml | 8 +- sha3/benches/mod.rs | 54 + sha3/benches/sha3_256.rs | 4 - sha3/benches/sha3_512.rs | 4 - sha3/examples/sha3_256sum.rs | 47 - sha3/examples/sha3_512sum.rs | 47 - sha3/src/lib.rs | 120 +- sha3/src/macros.rs | 214 +- sha3/src/paddings.rs | 33 - sha3/src/reader.rs | 66 - sha3/tests/data/keccak_224.blb | Bin 37 -> 31 bytes sha3/tests/data/keccak_256.blb | Bin 174 -> 169 bytes sha3/tests/data/keccak_256_full.blb | Bin 3395 -> 3403 bytes sha3/tests/data/keccak_384.blb | Bin 57 -> 51 bytes sha3/tests/data/keccak_512.blb | Bin 73 -> 68 bytes sha3/tests/data/sha3_224.blb | Bin 40327 -> 40513 bytes sha3/tests/data/sha3_256.blb | Bin 41351 -> 41537 bytes sha3/tests/data/sha3_384.blb | Bin 45397 -> 45583 bytes sha3/tests/data/sha3_512.blb | Bin 49477 -> 49918 bytes sha3/tests/data/shake128.blb | Bin 164743 -> 164673 bytes sha3/tests/data/shake256.blb | Bin 164743 -> 164673 bytes sha3/tests/lib.rs | 24 - sha3/tests/mod.rs | 24 + shabal/CHANGELOG.md | 6 + shabal/Cargo.toml | 8 +- shabal/benches/mod.rs | 14 + shabal/benches/shabal.rs | 4 - shabal/examples/shabal256sum.rs | 47 - shabal/examples/shabal512sum.rs | 47 - shabal/src/consts.rs | 355 +- shabal/src/core_api.rs | 250 + shabal/src/lib.rs | 30 +- shabal/src/shabal.rs | 513 -- shabal/tests/data/shabal192.blb | Bin 2048 -> 2050 bytes shabal/tests/data/shabal192_one_million_a.bin | 1 - shabal/tests/data/shabal224.blb | Bin 2168 -> 2170 bytes shabal/tests/data/shabal224_one_million_a.bin | 1 - shabal/tests/data/shabal256.blb | Bin 2288 -> 2290 bytes shabal/tests/data/shabal256_one_million_a.bin | 2 - shabal/tests/data/shabal384.blb | Bin 2768 -> 2770 bytes shabal/tests/data/shabal384_one_million_a.bin | 1 - shabal/tests/data/shabal512.blb | Bin 3248 -> 3280 bytes shabal/tests/data/shabal512_one_million_a.bin | Bin 64 -> 0 bytes shabal/tests/lib.rs | 40 - shabal/tests/mod.rs | 70 + sm3/CHANGELOG.md | 6 + sm3/Cargo.toml | 10 +- sm3/LICENSE-MIT | 2 +- sm3/benches/mod.rs | 14 + sm3/benches/sm3.rs | 4 - sm3/examples/sm3sum.rs | 47 - sm3/src/{sm3.rs => compress.rs} | 74 +- sm3/src/consts.rs | 4 +- sm3/src/lib.rs | 99 +- sm3/tests/data/sm3.blb | Bin 253 -> 308 bytes sm3/tests/data/sm3_one_million_a.bin | 2 - sm3/tests/lib.rs | 28 - sm3/tests/mod.rs | 16 + streebog/CHANGELOG.md | 6 + streebog/Cargo.toml | 8 +- streebog/benches/mod.rs | 22 + streebog/benches/streebog256.rs | 4 - streebog/benches/streebog512.rs | 4 - streebog/examples/streebog256sum.rs | 47 - streebog/examples/streebog512sum.rs | 47 - streebog/src/core_api.rs | 190 + streebog/src/lib.rs | 50 +- streebog/src/streebog.rs | 185 - streebog/tests/data/streebog256.blb | Bin 828 -> 827 bytes streebog/tests/data/streebog512.blb | Bin 1052 -> 1058 bytes streebog/tests/{lib.rs => mod.rs} | 48 +- tiger/CHANGELOG.md | 9 + tiger/Cargo.toml | 10 +- tiger/LICENSE-MIT | 1 + tiger/benches/lib.rs | 4 - tiger/benches/mod.rs | 22 + tiger/src/compress.rs | 72 + tiger/src/lib.rs | 1363 +----- tiger/src/tables.rs | 1035 +++++ tiger/tests/data/tiger.blb | Bin 0 -> 881 bytes tiger/tests/data/tiger2.blb | Bin 0 -> 165 bytes tiger/tests/mod.rs | 27 + whirlpool/CHANGELOG.md | 6 + whirlpool/Cargo.toml | 10 +- whirlpool/benches/lib.rs | 4 - whirlpool/benches/mod.rs | 14 + whirlpool/examples/whirlpool_sum.rs | 47 - whirlpool/src/compress.rs | 60 + whirlpool/src/consts.rs | 4121 ++++++++--------- whirlpool/src/lib.rs | 227 +- whirlpool/src/utils.rs | 50 - whirlpool/tests/data/one_million_a.bin | Bin 64 -> 0 bytes whirlpool/tests/data/whirlpool.blb | Bin 1430 -> 1442 bytes whirlpool/tests/lib.rs | 17 - whirlpool/tests/mod.rs | 19 + 305 files changed, 7774 insertions(+), 9956 deletions(-) rename .github/workflows/{ripemd320.yml => ripemd.yml} (86%) delete mode 100644 .github/workflows/ripemd160.yml delete mode 100644 .github/workflows/ripemd256.yml delete mode 100644 blake2/benches/blake2b.rs delete mode 100644 blake2/benches/blake2s.rs create mode 100644 blake2/benches/mod.rs delete mode 100644 blake2/examples/blake2b_sum.rs delete mode 100644 blake2/examples/blake2s_sum.rs delete mode 100644 blake2/src/blake2.rs delete mode 100644 blake2/src/blake2b.rs delete mode 100644 blake2/src/blake2s.rs create mode 100644 blake2/src/macros.rs delete mode 100644 blake2/tests/lib.rs create mode 100644 blake2/tests/mod.rs rename {ripemd160 => fsb}/LICENSE-APACHE (100%) rename {ripemd160 => fsb}/LICENSE-MIT (89%) create mode 100644 fsb/benches/mod.rs delete mode 100644 fsb/tests/lib.rs create mode 100644 fsb/tests/mod.rs delete mode 100644 gost94/benches/lib.rs create mode 100644 gost94/benches/mod.rs delete mode 100644 gost94/examples/gost94_cryptopro_sum.rs delete mode 100644 gost94/examples/gost94_test_sum.rs delete mode 100644 gost94/src/cryptopro.rs rename gost94/src/{gost94.rs => gost94_core.rs} (63%) delete mode 100644 gost94/src/macros.rs create mode 100644 gost94/src/params.rs delete mode 100644 gost94/src/s2015.rs delete mode 100644 gost94/src/test_param.rs delete mode 100644 gost94/tests/data/cryptopro_one_million_a.bin delete mode 100644 gost94/tests/data/test_one_million_a.bin rename gost94/tests/{lib.rs => mod.rs} (64%) delete mode 100755 groestl/benches/groestl256.rs delete mode 100755 groestl/benches/groestl512.rs create mode 100644 groestl/benches/mod.rs create mode 100644 groestl/src/compress1024.rs create mode 100644 groestl/src/compress512.rs delete mode 100644 groestl/src/consts.rs delete mode 100644 groestl/src/groestl.rs mode change 100755 => 100644 groestl/src/lib.rs delete mode 100644 groestl/src/macros.rs delete mode 100644 groestl/src/matrix.rs delete mode 100644 groestl/src/state.rs create mode 100644 groestl/src/table.rs delete mode 100755 groestl/tests/lib.rs create mode 100755 groestl/tests/mod.rs delete mode 100644 k12/benches/lib.rs create mode 100644 k12/benches/mod.rs delete mode 100644 k12/tests/lib.rs create mode 100644 k12/tests/mod.rs delete mode 100644 md2/benches/lib.rs create mode 100644 md2/benches/mod.rs delete mode 100644 md2/examples/md2sum.rs delete mode 100644 md2/tests/data/one_million_a.bin delete mode 100644 md2/tests/lib.rs create mode 100644 md2/tests/mod.rs delete mode 100644 md4/benches/lib.rs create mode 100644 md4/benches/mod.rs delete mode 100644 md4/examples/md4sum.rs delete mode 100644 md4/tests/data/one_million_a.bin delete mode 100644 md4/tests/lib.rs create mode 100644 md4/tests/mod.rs delete mode 100644 md5/benches/lib.rs create mode 100644 md5/benches/mod.rs delete mode 100644 md5/examples/md5sum.rs rename md5/src/{utils.rs => compress.rs} (79%) delete mode 100644 md5/src/consts.rs delete mode 100644 md5/tests/data/one_million_a.bin delete mode 100644 md5/tests/lib.rs create mode 100644 md5/tests/mod.rs create mode 100644 ripemd/CHANGELOG.md rename {ripemd320 => ripemd}/Cargo.toml (56%) rename {ripemd256 => ripemd}/LICENSE-APACHE (100%) rename {ripemd256 => ripemd}/LICENSE-MIT (88%) rename {ripemd160 => ripemd}/README.md (93%) create mode 100644 ripemd/benches/mod.rs rename ripemd160/src/block.rs => ripemd/src/c160.rs (98%) rename ripemd256/src/block.rs => ripemd/src/c256.rs (98%) rename ripemd320/src/block.rs => ripemd/src/c320.rs (98%) create mode 100644 ripemd/src/lib.rs create mode 100644 ripemd/tests/data/ripemd160.blb create mode 100644 ripemd/tests/data/ripemd256.blb create mode 100644 ripemd/tests/data/ripemd320.blb create mode 100644 ripemd/tests/mod.rs delete mode 100644 ripemd160/CHANGELOG.md delete mode 100644 ripemd160/Cargo.toml delete mode 100644 ripemd160/benches/lib.rs delete mode 100644 ripemd160/examples/ripemd160sum.rs delete mode 100644 ripemd160/src/lib.rs delete mode 100644 ripemd160/tests/data/one_million_a.bin delete mode 100644 ripemd160/tests/data/ripemd160.blb delete mode 100644 ripemd160/tests/lib.rs delete mode 100644 ripemd256/.gitignore delete mode 100644 ripemd256/Cargo.toml delete mode 100644 ripemd256/README.md delete mode 100644 ripemd256/examples/ripemd256sum.rs delete mode 100644 ripemd256/src/lib.rs delete mode 100644 ripemd256/tests/lib.rs delete mode 100644 ripemd320/CHANGELOG.md delete mode 100644 ripemd320/LICENSE-APACHE delete mode 100644 ripemd320/LICENSE-MIT delete mode 100644 ripemd320/README.md delete mode 100644 ripemd320/benches/lib.rs delete mode 100644 ripemd320/examples/ripemd320sum.rs delete mode 100644 ripemd320/src/lib.rs delete mode 100644 ripemd320/tests/data/one_million_a.bin delete mode 100644 ripemd320/tests/data/ripemd320.blb delete mode 100644 ripemd320/tests/lib.rs delete mode 100644 sha1/benches/lib.rs create mode 100644 sha1/benches/mod.rs delete mode 100644 sha1/examples/sha1sum.rs delete mode 100644 sha1/src/consts.rs delete mode 100644 sha1/tests/data/one_million_a.bin delete mode 100644 sha1/tests/lib.rs create mode 100644 sha1/tests/mod.rs create mode 100644 sha2/benches/mod.rs delete mode 100644 sha2/benches/sha256.rs delete mode 100644 sha2/benches/sha512.rs delete mode 100644 sha2/examples/sha256sum.rs delete mode 100644 sha2/examples/sha512sum.rs create mode 100644 sha2/src/core_api.rs delete mode 100644 sha2/tests/data/sha256_one_million_a.bin delete mode 100644 sha2/tests/data/sha512_one_million_a.bin delete mode 100644 sha2/tests/lib.rs create mode 100644 sha2/tests/mod.rs create mode 100644 sha3/benches/mod.rs delete mode 100644 sha3/benches/sha3_256.rs delete mode 100644 sha3/benches/sha3_512.rs delete mode 100644 sha3/examples/sha3_256sum.rs delete mode 100644 sha3/examples/sha3_512sum.rs delete mode 100644 sha3/src/paddings.rs delete mode 100644 sha3/src/reader.rs delete mode 100644 sha3/tests/lib.rs create mode 100644 sha3/tests/mod.rs create mode 100644 shabal/benches/mod.rs delete mode 100644 shabal/benches/shabal.rs delete mode 100644 shabal/examples/shabal256sum.rs delete mode 100644 shabal/examples/shabal512sum.rs create mode 100644 shabal/src/core_api.rs delete mode 100644 shabal/src/shabal.rs delete mode 100644 shabal/tests/data/shabal192_one_million_a.bin delete mode 100644 shabal/tests/data/shabal224_one_million_a.bin delete mode 100644 shabal/tests/data/shabal256_one_million_a.bin delete mode 100644 shabal/tests/data/shabal384_one_million_a.bin delete mode 100644 shabal/tests/data/shabal512_one_million_a.bin delete mode 100644 shabal/tests/lib.rs create mode 100644 shabal/tests/mod.rs create mode 100644 sm3/benches/mod.rs delete mode 100644 sm3/benches/sm3.rs delete mode 100644 sm3/examples/sm3sum.rs rename sm3/src/{sm3.rs => compress.rs} (81%) delete mode 100644 sm3/tests/data/sm3_one_million_a.bin delete mode 100644 sm3/tests/lib.rs create mode 100644 sm3/tests/mod.rs create mode 100644 streebog/benches/mod.rs delete mode 100644 streebog/benches/streebog256.rs delete mode 100644 streebog/benches/streebog512.rs delete mode 100644 streebog/examples/streebog256sum.rs delete mode 100644 streebog/examples/streebog512sum.rs create mode 100644 streebog/src/core_api.rs delete mode 100644 streebog/src/streebog.rs rename streebog/tests/{lib.rs => mod.rs} (71%) delete mode 100644 tiger/benches/lib.rs create mode 100644 tiger/benches/mod.rs create mode 100644 tiger/src/compress.rs create mode 100644 tiger/src/tables.rs create mode 100644 tiger/tests/data/tiger.blb create mode 100644 tiger/tests/data/tiger2.blb create mode 100644 tiger/tests/mod.rs delete mode 100644 whirlpool/benches/lib.rs create mode 100644 whirlpool/benches/mod.rs delete mode 100644 whirlpool/examples/whirlpool_sum.rs create mode 100644 whirlpool/src/compress.rs delete mode 100644 whirlpool/src/utils.rs delete mode 100644 whirlpool/tests/data/one_million_a.bin delete mode 100644 whirlpool/tests/lib.rs create mode 100644 whirlpool/tests/mod.rs diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 6aed43dc6..51f49050a 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index f8a36ffa4..3a1b1a51d 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: rust: - - 1.47.0 # MSRV + - 1.41.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -35,14 +35,14 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.47.0 # MSRV + - 1.41.0 # MSRV - stable steps: - uses: actions/checkout@v1 @@ -54,5 +54,4 @@ jobs: - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test - - run: cargo test --features asm - run: cargo test --all-features diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 10cbaee42..99c2a8feb 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 411d866d3..481e69718 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 7e993c8a5..5899fa6fd 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index f9b090009..26a2cf675 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 9c4bde676..84a15538f 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 0fbfa4dff..86cab99c2 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -38,7 +38,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/ripemd320.yml b/.github/workflows/ripemd.yml similarity index 86% rename from .github/workflows/ripemd320.yml rename to .github/workflows/ripemd.yml index dbd541b01..4168cc285 100644 --- a/.github/workflows/ripemd320.yml +++ b/.github/workflows/ripemd.yml @@ -1,16 +1,16 @@ -name: ripemd320 +name: ripemd on: pull_request: paths: - - "ripemd320/**" + - "ripemd/**" - "Cargo.*" push: branches: master defaults: run: - working-directory: ripemd320 + working-directory: ripemd env: CARGO_INCREMENTAL: 0 @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/ripemd160.yml b/.github/workflows/ripemd160.yml deleted file mode 100644 index 7d78d12d6..000000000 --- a/.github/workflows/ripemd160.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: ripemd160 - -on: - pull_request: - paths: - - "ripemd160/**" - - "Cargo.*" - push: - branches: master - -defaults: - run: - working-directory: ripemd160 - -env: - CARGO_INCREMENTAL: 0 - RUSTFLAGS: "-Dwarnings" - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - - stable - target: - - thumbv7em-none-eabi - - wasm32-unknown-unknown - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} - - test: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - - stable - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features - diff --git a/.github/workflows/ripemd256.yml b/.github/workflows/ripemd256.yml deleted file mode 100644 index 324f85b5e..000000000 --- a/.github/workflows/ripemd256.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: ripemd256 - -on: - pull_request: - paths: - - "ripemd256/**" - - "Cargo.*" - push: - branches: master - -defaults: - run: - working-directory: ripemd256 - -env: - CARGO_INCREMENTAL: 0 - RUSTFLAGS: "-Dwarnings" - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - - stable - target: - - thumbv7em-none-eabi - - wasm32-unknown-unknown - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} - - test: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - - stable - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features - diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 803cc99bf..2b5960946 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -36,7 +36,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} # Linux tests linux: @@ -69,10 +69,10 @@ jobs: target: ${{ matrix.target }} override: true - run: ${{ matrix.deps }} - - run: cargo test --target ${{ matrix.target }} --release --no-default-features - - run: cargo test --target ${{ matrix.target }} --release - - run: cargo test --target ${{ matrix.target }} --release --features asm - - run: cargo test --target ${{ matrix.target }} --release --all-features + - run: cargo test --target ${{ matrix.target }} --no-default-features + - run: cargo test --target ${{ matrix.target }} + - run: cargo test --target ${{ matrix.target }} --features asm + - run: cargo test --target ${{ matrix.target }} --all-features # macOS tests macos: @@ -91,10 +91,10 @@ jobs: toolchain: ${{ matrix.toolchain }} target: x86_64-apple-darwin override: true - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --features asm - - run: cargo test --release --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --features asm + - run: cargo test --all-features # Windows tests windows: @@ -118,7 +118,7 @@ jobs: target: ${{ matrix.target }} override: true - uses: msys2/setup-msys2@v2 - - run: cargo test --target ${{ matrix.target }} --release + - run: cargo test --target ${{ matrix.target }} # Cross-compiled tests # *** NOTE: Currently broken with `asm` feature enabled! See: @@ -144,5 +144,5 @@ jobs: # target: ${{ matrix.target }} # override: true # - run: cargo install cross - # - run: cross test --target ${{ matrix.target }} --release - # - run: cross test --target ${{ matrix.target }} --release --features asm + # - run: cross test --target ${{ matrix.target }} + # - run: cross test --target ${{ matrix.target }} --features asm diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 75ae8d9a6..6b2227292 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -36,7 +36,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} # Linux tests linux: @@ -67,10 +67,10 @@ jobs: target: ${{ matrix.target }} override: true - run: ${{ matrix.deps }} - - run: cargo test --target ${{ matrix.target }} --release --no-default-features - - run: cargo test --target ${{ matrix.target }} --release - - run: cargo test --target ${{ matrix.target }} --release --features asm - - run: cargo test --target ${{ matrix.target }} --release --all-features + - run: cargo test --target ${{ matrix.target }} --no-default-features + - run: cargo test --target ${{ matrix.target }} + - run: cargo test --target ${{ matrix.target }} --features asm + - run: cargo test --target ${{ matrix.target }} --all-features # macOS tests macos: @@ -89,9 +89,9 @@ jobs: toolchain: ${{ matrix.toolchain }} target: x86_64-apple-darwin override: true - - run: cargo test --release --no-default-features - - run: cargo test --release - - run: cargo test --release --features asm + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --features asm # Windows tests windows: @@ -115,7 +115,7 @@ jobs: target: ${{ matrix.target }} override: true - uses: msys2/setup-msys2@v2 - - run: cargo test --target ${{ matrix.target }} --release + - run: cargo test --target ${{ matrix.target }} # Cross-compiled tests cross: @@ -129,6 +129,10 @@ jobs: rust: stable runs-on: ubuntu-latest + defaults: + run: + # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml + working-directory: . steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 @@ -137,6 +141,11 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo install cross - - run: cross test --target ${{ matrix.target }} --release - - run: cross test --target ${{ matrix.target }} --release --features asm + - name: Install precompiled cross + run: | + export URL=$(curl -s https://api.github.com/repos/rust-embedded/cross/releases/latest | jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') + wget -O /tmp/binaries.tar.gz $URL + tar -C /tmp -xzf /tmp/binaries.tar.gz + mv /tmp/cross ~/.cargo/bin + - run: cross test --package sha2 --target ${{ matrix.target }} + - run: cross test --package sha2 --target ${{ matrix.target }} --features asm diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 94abb4a30..6e9c9dd1d 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index f9d198b37..dfb7f5867 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index e954778f6..8f353134f 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index b523c45ba..46f00fd50 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest @@ -55,4 +55,3 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features - diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 8e1e6ff59..273078bf8 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -38,7 +38,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 42c2b4704..fd506d74c 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -35,7 +35,7 @@ jobs: toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - - run: cargo build --no-default-features --release --target ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} test: runs-on: ubuntu-latest diff --git a/Cargo.lock b/Cargo.lock index cba495698..299f76dcf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,50 +4,32 @@ version = 3 [[package]] name = "blake2" -version = "0.9.2" +version = "0.10.0" dependencies = [ - "crypto-mac", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "blobby" -version = "0.1.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe5f8c2940b65859ece4b3b2ba02d2b12c87cab455fd42dee2556a187bb2cf6" -dependencies = [ - "byteorder", -] +checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" dependencies = [ - "block-padding", "generic-array", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - [[package]] name = "cc" -version = "1.0.69" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -65,34 +47,33 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.8.0" +name = "crypto-common" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "567569e659735adb39ff2d4c20600f7cd78be5471f8c58ab162bce3c03fdbc5f" dependencies = [ - "blobby", "generic-array", - "subtle", ] [[package]] name = "digest" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "8549e6bfdecd113b7e221fe60b433087f6957387a20f8118ebca9b12af19143d" dependencies = [ "blobby", + "block-buffer", + "crypto-common", "generic-array", + "subtle", ] [[package]] name = "fsb" -version = "0.0.2" +version = "0.1.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", "whirlpool", ] @@ -108,22 +89,18 @@ dependencies = [ [[package]] name = "gost94" -version = "0.9.1" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "groestl" -version = "0.9.0" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] @@ -147,7 +124,7 @@ dependencies = [ [[package]] name = "k12" -version = "0.1.0" +version = "0.2.0" dependencies = [ "digest", "hex-literal", @@ -161,56 +138,44 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.101" +version = "0.2.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" +checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" [[package]] name = "md-5" -version = "0.9.1" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", "md5-asm", - "opaque-debug", ] [[package]] name = "md2" -version = "0.9.0" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "md4" -version = "0.9.0" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "md5-asm" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b47e5a1261ecd6ba951d1ad392534743310e513ef1e2609023368798829f33e" +checksum = "73b9a6f25ec11ea27e22d7fc8beafda909da44ece95f63e94f1eeb23d19bb5c7" dependencies = [ "cc", ] -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - [[package]] name = "proc-macro-hack" version = "0.5.19" @@ -218,45 +183,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] -name = "ripemd160" -version = "0.9.1" -dependencies = [ - "block-buffer", - "digest", - "hex-literal", - "opaque-debug", -] - -[[package]] -name = "ripemd256" +name = "ripemd" version = "0.1.0" dependencies = [ - "block-buffer", - "digest", - "hex-literal", - "opaque-debug", -] - -[[package]] -name = "ripemd320" -version = "0.9.0" -dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.0" dependencies = [ - "block-buffer", "cfg-if", "cpufeatures", "digest", "hex-literal", - "opaque-debug", "sha1-asm", ] @@ -271,14 +212,12 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.8" +version = "0.10.0" dependencies = [ - "block-buffer", "cfg-if", "cpufeatures", "digest", "hex-literal", - "opaque-debug", "sha2-asm", ] @@ -293,43 +232,35 @@ dependencies = [ [[package]] name = "sha3" -version = "0.9.1" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", "keccak", - "opaque-debug", ] [[package]] name = "shabal" -version = "0.3.0" +version = "0.4.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "sm3" -version = "0.3.0" +version = "0.4.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] name = "streebog" -version = "0.9.2" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", ] [[package]] @@ -340,19 +271,17 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "tiger" -version = "0.1.0" +version = "0.2.0" dependencies = [ - "block-buffer", - "byteorder", "digest", "hex-literal", ] [[package]] name = "typenum" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" [[package]] name = "version_check" @@ -362,20 +291,18 @@ checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" [[package]] name = "whirlpool" -version = "0.9.0" +version = "0.10.0" dependencies = [ - "block-buffer", "digest", "hex-literal", - "opaque-debug", "whirlpool-asm", ] [[package]] name = "whirlpool-asm" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb23be8b0dec6fafef14563c42ec98bbfc33f2a97ed5bc99cd8b50ea5c68097" +checksum = "4b0930846e800a97c78fd09a494b25d1f0780be9face03b7a05151e3104a8284" dependencies = [ "cc", ] diff --git a/Cargo.toml b/Cargo.toml index 00547e603..acf46a65c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,16 +1,14 @@ [workspace] members = [ - "fsb", "blake2", + "fsb", "gost94", "groestl", "k12", "md2", "md4", "md5", - "ripemd160", - "ripemd256", - "ripemd320", + "ripemd", "sha1", "sha2", "sha3", diff --git a/README.md b/README.md index c2b1fb186..c7e0b85e6 100644 --- a/README.md +++ b/README.md @@ -1,99 +1,91 @@ -# RustCrypto: hashes [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] +# RustCrypto: Hashes + +[![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] ![Apache2/MIT licensed][license-image] Collection of [cryptographic hash functions][1] written in pure Rust. -All algorithms reside in the separate crates and implemented using traits from -[`digest`](https://docs.rs/digest/) crate. Additionally all crates do not -require the standard library (i.e. `no_std` capable) and can be easily used for -bare-metal or WebAssembly programming. - -## Supported algorithms -**Note:** For new applications, or where compatibility with other existing -standards is not a primary concern, we strongly recommend to use either -BLAKE2, SHA-2 or SHA-3. - -| Name | Algorithm | Crates.io | Documentation | Build Status | [Security] | -|-------------|------------|-----------|---------------|--------------|------------| -| `blake2` | [BLAKE2] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | [![build](https://github.com/rustcrypto/hashes/workflows/blake2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:blake2+branch:master) | :green_heart: | -| `fsb` | [FSB] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | [![build](https://github.com/rustcrypto/hashes/workflows/fsb/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/fsb/actions?query=workflow:fsb+branch:master) | :green_heart: | -| `gost94` | [GOST94] (GOST R 34.11-94) | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | [![build](https://github.com/rustcrypto/hashes/workflows/gost94/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:gost94+branch:master) | :yellow_heart: | -| `groestl` | [Grøstl] (Groestl) | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | [![build](https://github.com/rustcrypto/hashes/workflows/groestl/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:groestl+branch:master) | :green_heart: | -| `k12` | [KangarooTwelve] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | [![build](https://github.com/rustcrypto/hashes/workflows/k12/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:k12+branch:master) | :green_heart: | -| `md2` | [MD2] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | [![build](https://github.com/rustcrypto/hashes/workflows/md2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md2+branch:master) | :broken_heart: | -| `md4` | [MD4] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | [![build](https://github.com/rustcrypto/hashes/workflows/md4/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md4+branch:master) | :broken_heart: | -| `md-5` [:exclamation:] | [MD5] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | [![build](https://github.com/rustcrypto/hashes/workflows/md5/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:md5+branch:master) | :broken_heart: | -| `ripemd160` | [RIPEMD-160] | [![crates.io](https://img.shields.io/crates/v/ripemd160.svg)](https://crates.io/crates/ripemd160) | [![Documentation](https://docs.rs/ripemd160/badge.svg)](https://docs.rs/ripemd160) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd160/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd160+branch:master) | :green_heart: | -| `ripemd256` | [RIPEMD-256] | [![crates.io](https://img.shields.io/crates/v/ripemd256.svg)](https://crates.io/crates/ripemd256) | [![Documentation](https://docs.rs/ripemd256/badge.svg)](https://docs.rs/ripemd256) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd256/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd256+branch:master) | :green_heart:* | -| `ripemd320` | [RIPEMD-320] | [![crates.io](https://img.shields.io/crates/v/ripemd320.svg)](https://crates.io/crates/ripemd320) | [![Documentation](https://docs.rs/ripemd320/badge.svg)](https://docs.rs/ripemd320) | [![build](https://github.com/rustcrypto/hashes/workflows/ripemd320/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:ripemd320+branch:master) | :green_heart:* | -| `sha-1` [:exclamation:] | [SHA-1] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | [![build](https://github.com/rustcrypto/hashes/workflows/sha1/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha1+branch:master) | :broken_heart: | -| `sha2` | [SHA-2] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | [![build](https://github.com/rustcrypto/hashes/workflows/sha2/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha2+branch:master) | :green_heart: | -| `sha3` | [SHA-3] (Keccak) | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | [![build](https://github.com/rustcrypto/hashes/workflows/sha3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sha3+branch:master) | :green_heart: | -| `shabal` | [SHABAL] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | [![build](https://github.com/rustcrypto/hashes/workflows/shabal/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:shabal+branch:master) | :green_heart: | -| `sm3` | [SM3 (OSCCA GM/T 0004-2012)][SM3] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | [![build](https://github.com/rustcrypto/hashes/workflows/sm3/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:sm3+branch:master) | :green_heart: | -| `streebog` | [Streebog] (GOST R 34.11-2012) | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | [![build](https://github.com/rustcrypto/hashes/workflows/streebog/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:streebog+branch:master) | :yellow_heart: | -| `tiger` | [Tiger] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | [![build](https://github.com/rustcrypto/hashes/workflows/tiger/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:tiger+branch:master) | :green_heart: | -| `whirlpool` | [Whirlpool] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | [![build](https://github.com/rustcrypto/hashes/workflows/whirlpool/badge.svg?branch=master&event=push)](https://github.com/RustCrypto/hashes/actions?query=workflow:whirlpool+branch:master) | :green_heart: | - -NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` (and `crypto-mac`) traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. - -\* RIPEMD-256 provides only the same security as RIPEMD-128, and RIPEMD-320 provides only the same security as RIPEMD-160 +All algorithms reside in the separate crates and implemented using traits from [`digest`] crate. +Additionally all crates do not require the standard library (i.e. `no_std` capable) and can be easily used for bare-metal or WebAssembly programming. + +## Supported Algorithms + +**Note:** For new applications, or where compatibility with other existing standards is not a primary concern, we strongly recommend to use either BLAKE2, SHA-2 or SHA-3. + +| Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | +|-----------|-------|:---------:|:-------------:|:----:|:----------:| +| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | +| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [MD5] | [`md-5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [SHA-1] | [`sha-1`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | +| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.41][msrv-1.41] | :green_heart: | + +NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. [Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary [:exclamation:]: #crate-names -### Crate names -Whenever possible crates are published under the the same name as the crate -folder. Owners of `md5` and `sha1` crates declined -([1](https://github.com/stainless-steel/md5/pull/2), -[2](https://github.com/mitsuhiko/rust-sha1/issues/17)) to participate in this -project. This is why crates marked by :exclamation: are published under -`md-5` and `sha-1` names respectively. +### Crate Names + +Whenever possible crates are published under the the same name as the crate folder. +Owners of `md5` and `sha1` declined ([1](https://github.com/stainless-steel/md5/pull/2), [2](https://github.com/mitsuhiko/rust-sha1/issues/17)) to participate in this project. +Those crates do not implement the [`digest`] traits, so they are not interoperable with the RustCrypto ecosystem. +This is why crates marked by :exclamation: are published under `md-5` and `sha-1` names, but the libraries themselves are named as `md5` and `sha1`, i.e. inside `use` statements you should use `sha1`/`md5`, not `sha_1`/`md_5`. ### Security Level Legend -The following describes the security level ratings associated with each -hash function (i.e. algorithms, not the specific implementation): + +The following describes the security level ratings associated with each hash function (i.e. algorithms, not the specific implementation): | Heart | Description | -|----------------|-------------| +|:--------------:|-------------| | :green_heart: | No known successful attacks | | :yellow_heart: | Theoretical break: security lower than claimed | | :broken_heart: | Attack demonstrated in practice: avoid if at all possible | See the [Security] page on Wikipedia for more information. -### Minimum Supported Rust Version (MSRV) -All crates in this repository support Rust 1.21 or higher. In future -minimally supported version of Rust can be changed, but it will be done with -a minor version bump. +### Minimum Supported Rust Version (MSRV) Policy + +MSRV bumps are considered breaking changes and will be performed only with minor version bump. ## Usage -Let us demonstrate how to use crates in this repository using BLAKE2b as an -example. -First add `blake2` crate to your `Cargo.toml`: +Let us demonstrate how to use crates in this repository using SHA-2 as an example. + +First add [`sha2`](https://docs.rs/sha2) crate to your `Cargo.toml`: ```toml [dependencies] -blake2 = "0.9" +sha2 = "0.10" ``` -Note that crates in this repository have an enabled by default `std` feature. +Note that all crates in this repository have an enabled by default `std` feature. So if you plan to use the crate in `no_std` environments, don't forget to disable it: ```toml [dependencies] -blake2 = { version="0.9", default-features = false } +sha2 = { version = "0.10", default-features = false } ``` -`blake2` and other crates re-export `digest` crate and `Digest` trait for -convenience, so you don't have to add `digest` crate as an explicit dependency. +[`sha2`](https://docs.rs/sha2) and the other hash implementation crates re-export the [`digest`] crate and the [`Digest`] trait for convenience, so you don't have to include it in your `Cargo.toml` it as an explicit dependency. Now you can write the following code: -```Rust -use blake2::{Blake2b, Digest}; +```rust +use sha2::{Sha256, Digest}; -let mut hasher = Blake2b::new(); +let mut hasher = Sha256::new(); let data = b"Hello world!"; hasher.update(data); // `update` can be called repeatedly and is generic over `AsRef<[u8]>` @@ -103,64 +95,56 @@ let hash = hasher.finalize(); println!("Result: {:x}", hash); ``` -In this example `hash` has type [`GenericArray`][2], which is a generic -alternative to `[u8; 64]`. +In this example `hash` has type `GenericArray`, which is a generic alternative to `[u8; 32]` defined in the [`generic-array`] crate. -Alternatively you can use chained approach, which is equivalent to the previous -example: +Alternatively, you can use chained approach, which is equivalent to the previous example: -```Rust -use blake2::{Blake2b, Digest}; +```rust +use sha2::{Sha256, Digest}; -let hash = Blake2b::new() +let hash = Sha256::new() .chain(b"Hello world!") .chain("String data") .finalize(); println!("Result: {:x}", hash); ``` -If the whole message is available you also can use convenience `digest` method: +If a complete message is available, then you also can use the convenience [`Digest::digest`] method: -```Rust -use blake2::{Blake2b, Digest}; +```rust +use sha2::{Sha256, Digest}; -let hash = Blake2b::digest(b"my message"); +let hash = Sha256::digest(b"my message"); println!("Result: {:x}", hash); ``` -### Hashing `Read`able objects +### Hashing `Read`able Objects -If you want to hash data from [`Read`][3] trait (e.g. from file) you can rely on -implementation of [`Write`][4] trait (requires an enabled-by-default `std` feature): +If you want to hash data from a type which imlements the [`Read`] trait, you can rely on implementation of the [`Write`] trait (requires enabled-by-default `std` feature): -```Rust -use blake2::{Blake2b, Digest}; +```rust +use sha2::{Sha256, Digest}; use std::{fs, io}; let mut file = fs::File::open(&path)?; -let mut hasher = Blake2b::new(); +let mut hasher = Sha256::new(); let n = io::copy(&mut file, &mut hasher)?; let hash = hasher.finalize(); -println!("Path: {}", path); + println!("Bytes processed: {}", n); println!("Hash value: {:x}", hash); ``` ### Hash-based Message Authentication Code (HMAC) -If you want to calculate [Hash-based Message Authentication Code][5] (HMAC), -you can use generic implementation from [`hmac`](https://docs.rs/hmac) crate, -which is a part of the [RustCrypto/MACs][6] repository. +If you want to calculate [Hash-based Message Authentication Code][HMAC] (HMAC), you can use the generic implementation from [`hmac`] crate, which is a part of the [RustCrypto/MACs] repository. -### Generic code +### Generic Code -You can write generic code over `Digest` (or other traits from `digest` crate) -trait which will work over different hash functions: +You can write generic code over the [`Digest`] trait (or other traits from the [`digest`] crate) which will work over different hash functions: -```Rust -use digest::Digest; -use blake2::Blake2b; -use sha2::Sha256; +```rust +use sha2::{Sha256, Sha512, Digest}; // Toy example, do not use it in practice! // Instead use crates from: https://github.com/RustCrypto/password-hashing @@ -172,15 +156,31 @@ fn hash_password(password: &str, salt: &str, output: &mut [u8]) { output.copy_from_slice(&hasher.finalize()) } -let mut buf1 = [0u8; 64]; -hash_password::("my_password", "abcd", &mut buf1); +let mut buf1 = [0u8; 32]; +hash_password::("my_password", "abcd", &mut buf1); -let mut buf2 = [0u8; 32]; -hash_password::("my_password", "abcd", &mut buf2); +let mut buf2 = [0u8; 64]; +hash_password::("my_password", "abcd", &mut buf2); ``` -If you want to use hash functions with trait objects, use `digest::DynDigest` -trait. +If you want to use hash functions with trait objects, you can use the [`DynDigest`] trait: + +```rust +use sha2::{Sha256, Sha512, digest::DynDigest}; + +fn dyn_hash(hasher: &mut dyn DynDigest, data: &[u8]) -> Box<[u8]> { + hasher.update(data); + hasher.finalize_reset() +} + +let mut sha256_hasher = Sha256::default(); +let mut sha512_hasher = Sha512::default(); + +let res1 = dyn_hash(&mut sha256_hasher, b"foo"); +let res2 = dyn_hash(&mut sha256_hasher, b"bar"); +let res3 = dyn_hash(&mut sha512_hasher, b"foo"); +let res4 = dyn_hash(&mut sha512_hasher, b"bar"); +``` ## License @@ -193,25 +193,50 @@ at your option. ### Contribution -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in the work by you, as defined in the Apache-2.0 license, shall be -dual licensed as above, without any additional terms or conditions. +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. [//]: # (badges) [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes +[msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg + +[//]: # (crates) + +[`blake2`]: ./blake2 +[`fsb`]: ./fsb +[`gost94`]: ./gost94 +[`groestl`]: ./groestl +[`k12`]: ./k12 +[`md2`]: ./md2 +[`md4`]: ./md4 +[`md-5`]: ./md-5 +[`ripemd`]: ./ripemd +[`sha-1`]: ./sha1 +[`sha2`]: ./sha2 +[`sha3`]: ./sha3 +[`shabal`]: ./shabal +[`sm3`]: ./sm3 +[`streebog`]: ./streebog +[`tiger`]: ./tiger +[`whirlpool`]: ./whirlpool [//]: # (footnotes) [1]: https://en.wikipedia.org/wiki/Cryptographic_hash_function -[2]: https://docs.rs/generic-array -[3]: https://doc.rust-lang.org/std/io/trait.Read.html -[4]: https://doc.rust-lang.org/std/io/trait.Write.html -[5]: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code -[6]: https://github.com/RustCrypto/MACs +[`digest`]: https://docs.rs/digest +[`Digest`]: https://docs.rs/digest/0.10.0/digest/trait.Digest.html +[`Digest::digest`]: https://docs.rs/digest/0.10.0/digest/trait.Digest.html#tymethod.digest +[`DynDigest`]: https://docs.rs/digest/0.10.0/digest/trait.DynDigest.html +[`generic-array`]: https://docs.rs/generic-array +[HMAC]: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code +[`Read`]: https://doc.rust-lang.org/std/io/trait.Read.html +[`Write`]: https://doc.rust-lang.org/std/io/trait.Write.html +[`hmac`]: https://docs.rs/hmac +[RustCrypto/MACs]: https://github.com/RustCrypto/MACs [//]: # (algorithms) @@ -223,9 +248,7 @@ dual licensed as above, without any additional terms or conditions. [MD2]: https://en.wikipedia.org/wiki/MD2_(cryptography) [MD4]: https://en.wikipedia.org/wiki/MD4 [MD5]: https://en.wikipedia.org/wiki/MD5 -[RIPEMD-160]: https://en.wikipedia.org/wiki/RIPEMD -[RIPEMD-256]: https://en.wikipedia.org/wiki/RIPEMD -[RIPEMD-320]: https://en.wikipedia.org/wiki/RIPEMD +[RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD [SHA-1]: https://en.wikipedia.org/wiki/SHA-1 [SHA-2]: https://en.wikipedia.org/wiki/SHA-2 [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 60bf2e2dd..c85a8f023 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 and remove dependency on `crypto-mac` ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.2 (2021-08-25) ### Fixed - Building with `simd_opt` on recent nightlies ([#301]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 6d25e15a7..2757eff0f 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "blake2" -version = "0.9.2" +name = "blake2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,18 +12,16 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -crypto-mac = "0.8" -opaque-debug = "0.3" +digest = { version = "0.10", features = ["mac"] } [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } -crypto-mac = { version = "0.8", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] default = ["std"] -std = ["digest/std", "crypto-mac/std"] +std = ["digest/std"] +reset = [] # Enable reset functionality simd = [] simd_opt = ["simd"] simd_asm = ["simd_opt"] diff --git a/blake2/benches/blake2b.rs b/blake2/benches/blake2b.rs deleted file mode 100644 index 5c3f4e7e7..000000000 --- a/blake2/benches/blake2b.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(blake2::Blake2b); diff --git a/blake2/benches/blake2s.rs b/blake2/benches/blake2s.rs deleted file mode 100644 index dba70e921..000000000 --- a/blake2/benches/blake2s.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(blake2::Blake2s); diff --git a/blake2/benches/mod.rs b/blake2/benches/mod.rs new file mode 100644 index 000000000..fdb086ff0 --- /dev/null +++ b/blake2/benches/mod.rs @@ -0,0 +1,22 @@ +#![feature(test)] +extern crate test; + +use blake2::{Blake2b512, Blake2s256}; +use digest::bench_update; +use test::Bencher; + +bench_update!( + Blake2b512::default(); + blake2b512_10 10; + blake2b512_100 100; + blake2b512_1000 1000; + blake2b512_10000 10000; +); + +bench_update!( + Blake2s256::default(); + blake2s256_10 10; + blake2s256_100 100; + blake2s256_1000 1000; + blake2s256_10000 10000; +); diff --git a/blake2/examples/blake2b_sum.rs b/blake2/examples/blake2b_sum.rs deleted file mode 100644 index 31e0ff11e..000000000 --- a/blake2/examples/blake2b_sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use blake2::{Blake2b, Digest}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/blake2/examples/blake2s_sum.rs b/blake2/examples/blake2s_sum.rs deleted file mode 100644 index 38be51d03..000000000 --- a/blake2/examples/blake2s_sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use blake2::{Blake2s, Digest}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/blake2/src/blake2.rs b/blake2/src/blake2.rs deleted file mode 100644 index 3255a30e9..000000000 --- a/blake2/src/blake2.rs +++ /dev/null @@ -1,414 +0,0 @@ -macro_rules! blake2_impl { - ( - $state:ident, $fix_state:ident, $word:ident, $vec:ident, $bytes:ident, - $block_size:ident, $R1:expr, $R2:expr, $R3:expr, $R4:expr, $IV:expr, - $vardoc:expr, $doc:expr, - ) => { - use $crate::as_bytes::AsBytes; - use $crate::simd::{$vec, Vector4}; - - use core::{cmp, convert::TryInto, ops::Div}; - use crypto_mac::{InvalidKeyLength, Mac, NewMac}; - use digest::generic_array::typenum::{Unsigned, U4}; - use digest::generic_array::GenericArray; - use digest::InvalidOutputSize; - use digest::{BlockInput, FixedOutputDirty, Reset, Update, VariableOutputDirty}; - - type Output = GenericArray; - - #[derive(Clone)] - #[doc=$vardoc] - pub struct $state { - m: [$word; 16], - h: [$vec; 2], - t: u64, - n: usize, - - h0: [$vec; 2], - m0: [$word; 16], - t0: u64, - } - - #[inline(always)] - fn iv0() -> $vec { - $vec::new($IV[0], $IV[1], $IV[2], $IV[3]) - } - #[inline(always)] - fn iv1() -> $vec { - $vec::new($IV[4], $IV[5], $IV[6], $IV[7]) - } - - #[inline(always)] - fn quarter_round(v: &mut [$vec; 4], rd: u32, rb: u32, m: $vec) { - v[0] = v[0].wrapping_add(v[1]).wrapping_add(m.from_le()); - v[3] = (v[3] ^ v[0]).rotate_right_const(rd); - v[2] = v[2].wrapping_add(v[3]); - v[1] = (v[1] ^ v[2]).rotate_right_const(rb); - } - - #[inline(always)] - fn shuffle(v: &mut [$vec; 4]) { - v[1] = v[1].shuffle_left_1(); - v[2] = v[2].shuffle_left_2(); - v[3] = v[3].shuffle_left_3(); - } - - #[inline(always)] - fn unshuffle(v: &mut [$vec; 4]) { - v[1] = v[1].shuffle_right_1(); - v[2] = v[2].shuffle_right_2(); - v[3] = v[3].shuffle_right_3(); - } - - #[inline(always)] - fn round(v: &mut [$vec; 4], m: &[$word; 16], s: &[usize; 16]) { - quarter_round(v, $R1, $R2, $vec::gather(m, s[0], s[2], s[4], s[6])); - quarter_round(v, $R3, $R4, $vec::gather(m, s[1], s[3], s[5], s[7])); - - shuffle(v); - quarter_round(v, $R1, $R2, $vec::gather(m, s[8], s[10], s[12], s[14])); - quarter_round(v, $R3, $R4, $vec::gather(m, s[9], s[11], s[13], s[15])); - unshuffle(v); - } - - impl $state { - /// Creates a new hashing context with a key. - /// - /// **WARNING!** If you plan to use it for variable output MAC, then - /// make sure to compare codes in constant time! It can be done - /// for example by using `subtle` crate. - pub fn new_keyed(key: &[u8], output_size: usize) -> Self { - Self::with_params(key, &[], &[], output_size) - } - - /// Creates a new hashing context with the full set of sequential-mode parameters. - pub fn with_params( - key: &[u8], - salt: &[u8], - persona: &[u8], - output_size: usize, - ) -> Self { - let kk = key.len(); - assert!(kk <= $bytes::to_usize()); - assert!(output_size <= $bytes::to_usize()); - - // The number of bytes needed to express two words. - let length = $bytes::to_usize() / 4; - assert!(salt.len() <= length); - assert!(persona.len() <= length); - - // Build a parameter block - let mut p = [0 as $word; 8]; - p[0] = 0x0101_0000 ^ ((kk as $word) << 8) ^ (output_size as $word); - - // salt is two words long - if salt.len() < length { - let mut padded_salt = - GenericArray::>::Output>::default(); - for i in 0..salt.len() { - padded_salt[i] = salt[i]; - } - p[4] = $word::from_le_bytes(padded_salt[0..length / 2].try_into().unwrap()); - p[5] = $word::from_le_bytes( - padded_salt[length / 2..padded_salt.len()] - .try_into() - .unwrap(), - ); - } else { - p[4] = $word::from_le_bytes(salt[0..salt.len() / 2].try_into().unwrap()); - p[5] = - $word::from_le_bytes(salt[salt.len() / 2..salt.len()].try_into().unwrap()); - } - - // persona is also two words long - if persona.len() < length { - let mut padded_persona = - GenericArray::>::Output>::default(); - for i in 0..persona.len() { - padded_persona[i] = persona[i]; - } - p[6] = $word::from_le_bytes(padded_persona[0..length / 2].try_into().unwrap()); - p[7] = $word::from_le_bytes( - padded_persona[length / 2..padded_persona.len()] - .try_into() - .unwrap(), - ); - } else { - p[6] = $word::from_le_bytes(persona[0..length / 2].try_into().unwrap()); - p[7] = $word::from_le_bytes( - persona[length / 2..persona.len()].try_into().unwrap(), - ); - } - - let mut state = Self::with_parameter_block(&p); - - if kk > 0 { - copy(key, state.m.as_mut_bytes()); - state.t = 2 * $bytes::to_u64(); - } - - state.t0 = state.t; - state.m0 = state.m; - state - } - - #[doc(hidden)] - pub fn with_parameter_block(p: &[$word; 8]) -> Self { - let nn = p[0] as u8 as usize; - let kk = (p[0] >> 8) as u8 as usize; - assert!(nn >= 1 && nn <= $bytes::to_usize()); - assert!(kk <= $bytes::to_usize()); - - let h0 = [ - iv0() ^ $vec::new(p[0], p[1], p[2], p[3]), - iv1() ^ $vec::new(p[4], p[5], p[6], p[7]), - ]; - - $state { - m: [0; 16], - h: h0, - t: 0, - n: nn, - - t0: 0, - m0: [0; 16], - h0, - } - } - - /// Updates the hashing context with more data. - fn update(&mut self, data: &[u8]) { - let mut rest = data; - - let block = 2 * $bytes::to_usize(); - - let off = self.t as usize % block; - if off != 0 || self.t == 0 { - let len = cmp::min(block - off, rest.len()); - - let part = &rest[..len]; - rest = &rest[part.len()..]; - - copy(part, &mut self.m.as_mut_bytes()[off..]); - self.t = self - .t - .checked_add(part.len() as u64) - .expect("hash data length overflow"); - } - - while rest.len() >= block { - self.compress(0, 0); - - let part = &rest[..block]; - rest = &rest[part.len()..]; - - copy(part, &mut self.m.as_mut_bytes()); - self.t = self - .t - .checked_add(part.len() as u64) - .expect("hash data length overflow"); - } - - let n = rest.len(); - if n > 0 { - self.compress(0, 0); - - copy(rest, &mut self.m.as_mut_bytes()); - self.t = self - .t - .checked_add(rest.len() as u64) - .expect("hash data length overflow"); - } - } - - #[doc(hidden)] - pub fn finalize_last_node(mut self) -> Output { - self.finalize_with_flag(!0) - } - - fn finalize_with_flag(&mut self, f1: $word) -> Output { - let off = self.t as usize % (2 * $bytes::to_usize()); - if off != 0 { - self.m.as_mut_bytes()[off..].iter_mut().for_each(|b| *b = 0); - } - - self.compress(!0, f1); - - let buf = [self.h[0].to_le(), self.h[1].to_le()]; - - let mut out = GenericArray::default(); - copy(buf.as_bytes(), &mut out); - out - } - - fn compress(&mut self, f0: $word, f1: $word) { - use $crate::consts::SIGMA; - - let m = &self.m; - let h = &mut self.h; - - let t0 = self.t as $word; - let t1 = match $bytes::to_u8() { - 64 => 0, - 32 => (self.t >> 32) as $word, - _ => unreachable!(), - }; - - let mut v = [h[0], h[1], iv0(), iv1() ^ $vec::new(t0, t1, f0, f1)]; - - round(&mut v, m, &SIGMA[0]); - round(&mut v, m, &SIGMA[1]); - round(&mut v, m, &SIGMA[2]); - round(&mut v, m, &SIGMA[3]); - round(&mut v, m, &SIGMA[4]); - round(&mut v, m, &SIGMA[5]); - round(&mut v, m, &SIGMA[6]); - round(&mut v, m, &SIGMA[7]); - round(&mut v, m, &SIGMA[8]); - round(&mut v, m, &SIGMA[9]); - if $bytes::to_u8() == 64 { - round(&mut v, m, &SIGMA[0]); - round(&mut v, m, &SIGMA[1]); - } - - h[0] = h[0] ^ (v[0] ^ v[2]); - h[1] = h[1] ^ (v[1] ^ v[3]); - } - } - - impl Default for $state { - fn default() -> Self { - Self::new_keyed(&[], $bytes::to_usize()) - } - } - - impl BlockInput for $state { - type BlockSize = $block_size; - } - - impl Update for $state { - fn update(&mut self, data: impl AsRef<[u8]>) { - self.update(data.as_ref()); - } - } - - impl VariableOutputDirty for $state { - fn new(output_size: usize) -> Result { - if output_size == 0 || output_size > $bytes::to_usize() { - return Err(InvalidOutputSize); - } - Ok(Self::new_keyed(&[], output_size)) - } - - fn output_size(&self) -> usize { - self.n - } - - fn finalize_variable_dirty(&mut self, f: impl FnOnce(&[u8])) { - let n = self.n; - let res = self.finalize_with_flag(0); - f(&res[..n]); - } - } - - impl Reset for $state { - fn reset(&mut self) { - self.t = self.t0; - self.m = self.m0; - self.h = self.h0; - } - } - - opaque_debug::implement!($state); - digest::impl_write!($state); - - #[derive(Clone)] - #[doc=$doc] - pub struct $fix_state { - state: $state, - } - - impl $fix_state { - /// Creates a new hashing context with the full set of sequential-mode parameters. - pub fn with_params(key: &[u8], salt: &[u8], persona: &[u8]) -> Self { - let state = $state::with_params(key, salt, persona, $bytes::to_usize()); - Self { state } - } - } - - impl Default for $fix_state { - fn default() -> Self { - let state = $state::new_keyed(&[], $bytes::to_usize()); - Self { state } - } - } - - impl BlockInput for $fix_state { - type BlockSize = $block_size; - } - - impl Update for $fix_state { - fn update(&mut self, data: impl AsRef<[u8]>) { - self.state.update(data.as_ref()); - } - } - - impl FixedOutputDirty for $fix_state { - type OutputSize = $bytes; - - fn finalize_into_dirty(&mut self, out: &mut Output) { - out.copy_from_slice(&self.state.finalize_with_flag(0)); - } - } - - impl Reset for $fix_state { - fn reset(&mut self) { - self.state.reset() - } - } - - impl NewMac for $fix_state { - type KeySize = $bytes; - - fn new(key: &GenericArray) -> Self { - let state = $state::new_keyed(key, $bytes::to_usize()); - Self { state } - } - - fn new_varkey(key: &[u8]) -> Result { - if key.len() > $bytes::to_usize() { - Err(InvalidKeyLength) - } else { - let state = $state::new_keyed(key, $bytes::to_usize()); - Ok(Self { state }) - } - } - } - - impl Mac for $fix_state { - type OutputSize = $bytes; - - fn update(&mut self, data: &[u8]) { - self.state.update(data); - } - - fn reset(&mut self) { - ::reset(self) - } - - fn finalize(mut self) -> crypto_mac::Output { - crypto_mac::Output::new(self.state.finalize_with_flag(0)) - } - } - - opaque_debug::implement!($fix_state); - digest::impl_write!($fix_state); - - fn copy(src: &[u8], dst: &mut [u8]) { - assert!(dst.len() >= src.len()); - unsafe { - core::ptr::copy_nonoverlapping(src.as_ptr(), dst.as_mut_ptr(), src.len()); - } - } - }; -} diff --git a/blake2/src/blake2b.rs b/blake2/src/blake2b.rs deleted file mode 100644 index 3afc18d84..000000000 --- a/blake2/src/blake2b.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::consts::BLAKE2B_IV; -use digest::generic_array::typenum::{U128, U64}; - -blake2_impl!( - VarBlake2b, - Blake2b, - u64, - u64x4, - U64, - U128, - 32, - 24, - 16, - 63, - BLAKE2B_IV, - "Blake2b instance with a variable output.", - "Blake2b instance with a fixed output.", -); diff --git a/blake2/src/blake2s.rs b/blake2/src/blake2s.rs deleted file mode 100644 index 5306ed992..000000000 --- a/blake2/src/blake2s.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::consts::BLAKE2S_IV; -use digest::generic_array::typenum::{U32, U64}; - -blake2_impl!( - VarBlake2s, - Blake2s, - u32, - u32x4, - U32, - U64, - 16, - 12, - 8, - 7, - BLAKE2S_IV, - "Blake2s instance with a variable output.", - "Blake2s instance with a fixed output.", -); diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index b74c7b5bf..f4925b033 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -2,14 +2,14 @@ //! //! # Usage //! -//! `Blake2b` can be used in the following way: +//! [`Blake2b512`] and [`Blake2s256`] can be used in the following way: //! //! ```rust -//! use blake2::{Blake2b, Blake2s, Digest}; +//! use blake2::{Blake2b512, Blake2s256, Digest}; //! use hex_literal::hex; //! -//! // create a Blake2b object -//! let mut hasher = Blake2b::new(); +//! // create a Blake2b512 object +//! let mut hasher = Blake2b512::new(); //! //! // write input message //! hasher.update(b"hello world"); @@ -21,8 +21,8 @@ //! c05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0 //! ")[..]); //! -//! // same example for `Blake2s`: -//! let mut hasher = Blake2s::new(); +//! // same example for Blake2s256: +//! let mut hasher = Blake2s256::new(); //! hasher.update(b"hello world"); //! let res = hasher.finalize(); //! assert_eq!(res[..], hex!(" @@ -34,45 +34,32 @@ //! //! ## Variable output size //! -//! If you need variable sized output you can use `VarBlake2b` and `VarBlake2s` -//! which support variable output sizes through `VariableOutput` trait. `Update` -//! trait has to be imported as well. +//! This implementation supports run and compile time variable sizes. //! +//! Run time variable output example: //! ```rust -//! use blake2::VarBlake2b; +//! use blake2::Blake2bVar; //! use blake2::digest::{Update, VariableOutput}; +//! use hex_literal::hex; //! -//! let mut hasher = VarBlake2b::new(10).unwrap(); +//! let mut hasher = Blake2bVar::new(10).unwrap(); //! hasher.update(b"my_input"); -//! hasher.finalize_variable(|res| { -//! assert_eq!(res, [44, 197, 92, 132, 228, 22, 146, 78, 100, 0]) -//! }) +//! let mut buf = [0u8; 10]; +//! hasher.finalize_variable(&mut buf).unwrap(); +//! assert_eq!(buf, hex!("2cc55c84e416924e6400")); //! ``` //! -//! ## Message Authentication Code (MAC) -//! -//! BLAKE2 can be used as a MAC without any additional constructs: -//! +//! Compile time variable output example: //! ```rust -//! use blake2::Blake2b; -//! use blake2::crypto_mac::{Mac, NewMac}; -//! -//! let mut hasher = Blake2b::new_varkey(b"my key").unwrap(); -//! hasher.update(b"hello world"); +//! use blake2::{Blake2b, Digest, digest::consts::U10}; +//! use hex_literal::hex; //! -//! // `result` has type `crypto_mac::Output` which is a thin wrapper around -//! // a byte array and provides a constant time equality check -//! let result = hasher.finalize(); -//! // To get underlying array use the `into_bytes` method, but be careful, -//! // since incorrect use of the code value may permit timing attacks which -//! // defeat the security provided by the `crypto_mac::Output` -//! let code_bytes = result.into_bytes(); +//! type Blake2b80 = Blake2b; //! -//! // To verify the message it's recommended to use `verify` method -//! let mut hasher = Blake2b::new_varkey(b"my key").unwrap(); -//! hasher.update(b"hello world"); -//! // `verify` return `Ok(())` if code is correct, `Err(MacError)` otherwise -//! hasher.verify(&code_bytes).unwrap(); +//! let mut hasher = Blake2b80::new(); +//! hasher.update(b"my_input"); +//! let res = hasher.finalize(); +//! assert_eq!(res[..], hex!("2cc55c84e416924e6400")[..]); //! ``` //! //! # Acknowledgment @@ -83,8 +70,9 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/blake2/0.10.0" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] @@ -94,19 +82,95 @@ #[cfg(feature = "std")] extern crate std; +pub use digest::{self, Digest}; + +use core::{convert::TryInto, fmt, marker::PhantomData, ops::Div}; +use digest::{ + block_buffer::{Lazy, LazyBuffer}, + consts::{U128, U32, U4, U64}, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, + CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore, + VariableOutputCore, + }, + crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser}, + generic_array::{ + typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned}, + ArrayLength, GenericArray, + }, + FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update, +}; +#[cfg(feature = "reset")] +use digest::{FixedOutputReset, Reset}; + mod as_bytes; mod consts; mod simd; #[macro_use] -mod blake2; +mod macros; -mod blake2b; -mod blake2s; +use as_bytes::AsBytes; +use consts::{BLAKE2B_IV, BLAKE2S_IV}; +use simd::{u32x4, u64x4, Vector4}; -pub use crypto_mac; -pub use digest::{self, Digest}; +blake2_impl!( + Blake2bVarCore, + "Blake2b", + u64, + u64x4, + U64, + U128, + 32, + 24, + 16, + 63, + BLAKE2B_IV, + "Blake2b instance with a variable output.", + "Blake2b instance with a fixed output.", +); + +/// BLAKE2b which allows to choose output size at runtime. +pub type Blake2bVar = RtVariableCoreWrapper; +/// Core hasher state of BLAKE2b generic over output size. +pub type Blake2bCore = CtVariableCoreWrapper; +/// BLAKE2b generic over output size. +pub type Blake2b = CoreWrapper>; +/// BLAKE2b-512 hasher state. +pub type Blake2b512 = Blake2b; + +blake2_mac_impl!(Blake2bMac, Blake2bVarCore, U64, "Blake2b MAC function"); + +/// BLAKE2b-512 MAC state. +pub type Blake2bMac512 = Blake2bMac; + +blake2_impl!( + Blake2sVarCore, + "Blake2s", + u32, + u32x4, + U32, + U64, + 16, + 12, + 8, + 7, + BLAKE2S_IV, + "Blake2s instance with a variable output.", + "Blake2s instance with a fixed output.", +); + +/// BLAKE2s which allows to choose output size at runtime. +pub type Blake2sVar = RtVariableCoreWrapper; +/// Core hasher state of BLAKE2s generic over output size. +pub type Blake2sCore = CtVariableCoreWrapper; +/// BLAKE2s generic over output size. +pub type Blake2s = CoreWrapper>; +/// BLAKE2s-256 hasher state. +pub type Blake2s256 = Blake2s; + +blake2_mac_impl!(Blake2sMac, Blake2sVarCore, U32, "Blake2s MAC function"); -pub use crate::blake2b::{Blake2b, VarBlake2b}; -pub use crate::blake2s::{Blake2s, VarBlake2s}; +/// BLAKE2s-256 MAC state. +pub type Blake2sMac256 = Blake2sMac; diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs new file mode 100644 index 000000000..393c1fe1f --- /dev/null +++ b/blake2/src/macros.rs @@ -0,0 +1,430 @@ +macro_rules! blake2_impl { + ( + $name:ident, $alg_name:expr, $word:ident, $vec:ident, $bytes:ident, + $block_size:ident, $R1:expr, $R2:expr, $R3:expr, $R4:expr, $IV:expr, + $vardoc:expr, $doc:expr, + ) => { + #[derive(Clone)] + #[doc=$vardoc] + pub struct $name { + h: [$vec; 2], + t: u64, + #[cfg(feature = "reset")] + h0: [$vec; 2], + } + + impl $name { + #[inline(always)] + fn iv0() -> $vec { + $vec::new($IV[0], $IV[1], $IV[2], $IV[3]) + } + #[inline(always)] + fn iv1() -> $vec { + $vec::new($IV[4], $IV[5], $IV[6], $IV[7]) + } + + /// Creates a new context with the full set of sequential-mode parameters. + pub fn new_with_params( + salt: &[u8], + persona: &[u8], + key_size: usize, + output_size: usize, + ) -> Self { + assert!(key_size <= $bytes::to_usize()); + assert!(output_size <= $bytes::to_usize()); + + // The number of bytes needed to express two words. + let length = $bytes::to_usize() / 4; + assert!(salt.len() <= length); + assert!(persona.len() <= length); + + // Build a parameter block + let mut p = [0 as $word; 8]; + p[0] = 0x0101_0000 ^ ((key_size as $word) << 8) ^ (output_size as $word); + + // salt is two words long + if salt.len() < length { + let mut padded_salt = + GenericArray::>::Output>::default(); + for i in 0..salt.len() { + padded_salt[i] = salt[i]; + } + p[4] = $word::from_le_bytes(padded_salt[0..length / 2].try_into().unwrap()); + p[5] = $word::from_le_bytes( + padded_salt[length / 2..padded_salt.len()] + .try_into() + .unwrap(), + ); + } else { + p[4] = $word::from_le_bytes(salt[0..salt.len() / 2].try_into().unwrap()); + p[5] = + $word::from_le_bytes(salt[salt.len() / 2..salt.len()].try_into().unwrap()); + } + + // persona is also two words long + if persona.len() < length { + let mut padded_persona = + GenericArray::>::Output>::default(); + for i in 0..persona.len() { + padded_persona[i] = persona[i]; + } + p[6] = $word::from_le_bytes(padded_persona[0..length / 2].try_into().unwrap()); + p[7] = $word::from_le_bytes( + padded_persona[length / 2..padded_persona.len()] + .try_into() + .unwrap(), + ); + } else { + p[6] = $word::from_le_bytes(persona[0..length / 2].try_into().unwrap()); + p[7] = $word::from_le_bytes( + persona[length / 2..persona.len()].try_into().unwrap(), + ); + } + + let h = [ + Self::iv0() ^ $vec::new(p[0], p[1], p[2], p[3]), + Self::iv1() ^ $vec::new(p[4], p[5], p[6], p[7]), + ]; + $name { + #[cfg(feature = "reset")] + h0: h.clone(), + h, + t: 0, + } + } + + fn finalize_with_flag( + &mut self, + final_block: &GenericArray, + flag: $word, + out: &mut Output, + ) { + self.compress(final_block, !0, flag); + let buf = [self.h[0].to_le(), self.h[1].to_le()]; + out.copy_from_slice(buf.as_bytes()) + } + + fn compress(&mut self, block: &Block, f0: $word, f1: $word) { + use $crate::consts::SIGMA; + + #[inline(always)] + fn quarter_round(v: &mut [$vec; 4], rd: u32, rb: u32, m: $vec) { + v[0] = v[0].wrapping_add(v[1]).wrapping_add(m.from_le()); + v[3] = (v[3] ^ v[0]).rotate_right_const(rd); + v[2] = v[2].wrapping_add(v[3]); + v[1] = (v[1] ^ v[2]).rotate_right_const(rb); + } + + #[inline(always)] + fn shuffle(v: &mut [$vec; 4]) { + v[1] = v[1].shuffle_left_1(); + v[2] = v[2].shuffle_left_2(); + v[3] = v[3].shuffle_left_3(); + } + + #[inline(always)] + fn unshuffle(v: &mut [$vec; 4]) { + v[1] = v[1].shuffle_right_1(); + v[2] = v[2].shuffle_right_2(); + v[3] = v[3].shuffle_right_3(); + } + + #[inline(always)] + fn round(v: &mut [$vec; 4], m: &[$word; 16], s: &[usize; 16]) { + quarter_round(v, $R1, $R2, $vec::gather(m, s[0], s[2], s[4], s[6])); + quarter_round(v, $R3, $R4, $vec::gather(m, s[1], s[3], s[5], s[7])); + + shuffle(v); + quarter_round(v, $R1, $R2, $vec::gather(m, s[8], s[10], s[12], s[14])); + quarter_round(v, $R3, $R4, $vec::gather(m, s[9], s[11], s[13], s[15])); + unshuffle(v); + } + + let mut m: [$word; 16] = Default::default(); + let n = core::mem::size_of::<$word>(); + for (v, chunk) in m.iter_mut().zip(block.chunks_exact(n)) { + *v = $word::from_le_bytes(chunk.try_into().unwrap()); + } + let h = &mut self.h; + + let t0 = self.t as $word; + let t1 = match $bytes::to_u8() { + 64 => 0, + 32 => (self.t >> 32) as $word, + _ => unreachable!(), + }; + + let mut v = [ + h[0], + h[1], + Self::iv0(), + Self::iv1() ^ $vec::new(t0, t1, f0, f1), + ]; + + round(&mut v, &m, &SIGMA[0]); + round(&mut v, &m, &SIGMA[1]); + round(&mut v, &m, &SIGMA[2]); + round(&mut v, &m, &SIGMA[3]); + round(&mut v, &m, &SIGMA[4]); + round(&mut v, &m, &SIGMA[5]); + round(&mut v, &m, &SIGMA[6]); + round(&mut v, &m, &SIGMA[7]); + round(&mut v, &m, &SIGMA[8]); + round(&mut v, &m, &SIGMA[9]); + if $bytes::to_u8() == 64 { + round(&mut v, &m, &SIGMA[0]); + round(&mut v, &m, &SIGMA[1]); + } + + h[0] = h[0] ^ (v[0] ^ v[2]); + h[1] = h[1] ^ (v[1] ^ v[3]); + } + } + + impl HashMarker for $name {} + + impl BlockSizeUser for $name { + type BlockSize = $block_size; + } + + impl BufferKindUser for $name { + type BufferKind = Lazy; + } + + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.t += block.len() as u64; + self.compress(block, 0, 0); + } + } + } + + impl OutputSizeUser for $name { + type OutputSize = $bytes; + } + + impl VariableOutputCore for $name { + const TRUNC_SIDE: TruncSide = TruncSide::Left; + + #[inline] + fn new(output_size: usize) -> Result { + if output_size > Self::OutputSize::USIZE { + return Err(InvalidOutputSize); + } + Ok(Self::new_with_params(&[], &[], 0, output_size)) + } + + #[inline] + fn finalize_variable_core( + &mut self, + buffer: &mut Buffer, + out: &mut Output, + ) { + self.t += buffer.get_pos() as u64; + let block = buffer.pad_with_zeros(); + self.finalize_with_flag(block, 0, out); + } + } + + #[cfg(feature = "reset")] + impl Reset for $name { + fn reset(&mut self) { + self.h = self.h0; + self.t = 0; + } + } + + impl AlgorithmName for $name { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str($alg_name) + } + } + + impl fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($name), " { ... }")) + } + } + }; +} + +macro_rules! blake2_mac_impl { + ( + $name:ident, $hash:ty, $max_size:ty, $doc:expr + ) => { + #[derive(Clone)] + #[doc=$doc] + pub struct $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + core: $hash, + buffer: LazyBuffer<<$hash as BlockSizeUser>::BlockSize>, + #[cfg(feature = "reset")] + key_block: Block<$hash>, + _out: PhantomData, + } + + impl $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + /// Create new instance using provided key, salt, and persona. + /// + /// Key length should not be bigger than block size, salt and persona + /// length should not be bigger than quarter of block size. If any + /// of those conditions is false the method will return an error. + #[inline] + pub fn new_with_salt_and_personal( + key: &[u8], + salt: &[u8], + persona: &[u8], + ) -> Result { + let kl = key.len(); + let bs = <$hash as BlockSizeUser>::BlockSize::USIZE; + let qbs = bs / 4; + if kl > bs || salt.len() > qbs || persona.len() > qbs { + return Err(InvalidLength); + } + let mut key_block = Block::<$hash>::default(); + key_block[..kl].copy_from_slice(key); + let buffer = LazyBuffer::new(&key_block); + Ok(Self { + core: <$hash>::new_with_params(salt, persona, key.len(), OutSize::USIZE), + buffer, + #[cfg(feature = "reset")] + key_block, + _out: PhantomData, + }) + } + } + + impl KeySizeUser for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + type KeySize = <$hash as BlockSizeUser>::BlockSize; + } + + impl KeyInit for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + fn new(key: &Key) -> Self { + Self { + core: <$hash>::new_with_params(key, &[], key.len(), OutSize::USIZE), + buffer: LazyBuffer::new(key), + #[cfg(feature = "reset")] + key_block: key.clone(), + _out: PhantomData, + } + } + + fn new_from_slice(key: &[u8]) -> Result { + let kl = key.len(); + if kl > <$hash as BlockSizeUser>::BlockSize::USIZE { + return Err(InvalidLength); + } + let mut key_block = Block::<$hash>::default(); + key_block[..kl].copy_from_slice(key); + Ok(Self { + core: <$hash>::new_with_params(&[], &[], key.len(), OutSize::USIZE), + buffer: LazyBuffer::new(&key_block), + #[cfg(feature = "reset")] + key_block, + _out: PhantomData, + }) + } + } + + impl Update for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + #[inline] + fn update(&mut self, input: &[u8]) { + let Self { core, buffer, .. } = self; + buffer.digest_blocks(input, |blocks| core.update_blocks(blocks)); + } + } + + impl OutputSizeUser for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + type OutputSize = OutSize; + } + + impl FixedOutput for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + #[inline] + fn finalize_into(mut self, out: &mut Output) { + let Self { core, buffer, .. } = &mut self; + let mut full_res = Default::default(); + core.finalize_variable_core(buffer, &mut full_res); + out.copy_from_slice(&full_res[..OutSize::USIZE]); + } + } + + #[cfg(feature = "reset")] + impl Reset for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + fn reset(&mut self) { + self.core.reset(); + self.buffer = LazyBuffer::new(&self.key_block); + } + } + + #[cfg(feature = "reset")] + impl FixedOutputReset for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + #[inline] + fn finalize_into_reset(&mut self, out: &mut Output) { + let Self { + core, + buffer, + key_block, + .. + } = self; + core.finalize_variable_core(buffer, out); + core.reset(); + *buffer = LazyBuffer::new(key_block); + } + } + + impl MacMarker for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + } + + impl fmt::Debug for $name + where + OutSize: ArrayLength + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}{} {{ ... }}", stringify!($name), OutSize::USIZE) + } + } + }; +} diff --git a/blake2/tests/data/blake2b/fixed.blb b/blake2/tests/data/blake2b/fixed.blb index 39d4192093fb7ddaba517df1112e5f4e9f7de355..c999b74c6944b834a9212b1eb068bf9e8d61343f 100644 GIT binary patch delta 23 dcmdnSxQUU4fuVt6BBujm*hDXFCLpuS0RTiy1@8a= delta 27 icmdnQxQ&rBDJMTEsnU?aVIqqIqxM8sZAOQQMGgRSf(PXQ diff --git a/blake2/tests/data/blake2b/mac.blb b/blake2/tests/data/blake2b/mac.blb index 46522340d01322321a26c48b46accc028403a067..eaa6c03959299bdeaa8f508268a1c0f9f04cc902 100644 GIT binary patch delta 3911 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 delta 15 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 QleGUaWf9(keJ7>=0igL^00000 delta 4793 zcmZYDc|2En7YFdJWGAAs=3Y_?l_(8EX;F!kv}uZzgb1y|ph778x>{_Zz3hV)EtsOT zD<#de8|`6cQbhB7?zx`VGc(U0z3P2F=bZ1o7r)<6Z)&A(#q^c+TC>*6E7V-Va8i9( zi4iMd3>j836Mu6`3Vj%p$wr~XOXR!}e-r-Ac=PzfuzVaU;3{5i&?-<( zis%FSfSDp!gR4Q~zLffczF@gXKhTe3JFN5UYVAvlhwgPUnG!DDA^pA6k5ZwAX?rGV zE&Aer(M>qUAFciz+a6L9Rav}m(oA#q)Yvr_YL+)|deV9B_T8OVt7~3br3*L2tU>D< zj=i1{e?xPEUXzCQlSQ#^4J`-F?^n)jxS#%WL~Q0oRi!_K)&R5yaBSGa=s6BO4^>YX zKHu+Hc;V(3=eVnBW~<9TmU(vCm0oQ`tFq$%o{9p?b24;4ftU~ESkJJQ)m}YvAD3u# zU8~CKIp3gU&M^-H1233t*VjqsjfA7tqIE59-9eTngTNs0k;q^$7+fnyX$Tks_QO{I zv+KZhV5Z3R;Cj$ffzl1&2JoiHjo?PmN0HJ^;3kgMIHDQwrZG2Bdcc_lc5`pIS!`Ey z9FU&exuVqid&h4{=WvXQ(%)`Tk>$;mXu)PI*et9U848Aie#(??0k?p1D#S1_3_K<> z91I7i_op-hi~wH~`I5fHC0Ify7ua7W^nO4#amqpEiin9elgh4shCFVmuhnv5bxRySv8SkB{i*726b> zdFHd%IQOFCHjiVLSp(vc1fYt;|=4jGnBA5ueXbDtR`NvHvvwRfQnVo3ciMBD? zG_?!d1wI#<1SWB;&9^QK=H&dUC@rPG9wimdZ7Q0P=%hdNQqwWl$vsIqdcyI^XidhX zgDx#f0aL&(krGe>7U@yC8{7?g4oU^?hOl$Zf#fFp$$GmgmwGr_kav%oAc zZy2Qqzyn~waAG!?4URDuI9Byvm)oD!sxWj>aG9_oLi4-Mrq6y&x-kZ0f~V9)c<>#& z*Wao;CY+dqB{^6!d<5;x1#`joA`gNGIkv6H)7dt!GQI!E2-`>g_Yx~YYVTw;r*^jn zPi$x6Pqhe(4x#lBCPPhV(P8i~Xm3h90v-Vs%!o(9qhN!`W8g6`dlaR|!Q-I+XyOU* z1UO-gKy|f$-=`|euc3%JiO!Sgv^J-~JTMQGA4|*!^T8&O1z-Vq(t^@Lun-KlBo={1 zpvyR7F<8v8^H!P<(}=d%f5UaD(`=2vC#Au|JSw!*txavY#Um01PZl0T30g}q`DHv! z{sjI6-m)T=f~DY*2?8|+{NK%};nkHgri_2?UBz8H(MMjt{IxD$&^-tmH3f4xUA~Ea{7YE z_{){gkGiW&F_V> zAK@adp!EtS3mt{Yp;CPq*8jA6pOsGc(sYL1Xt=vRzrNt@nUY4yG>2-f#EaQ=5BmyZ z8h8jA7*m)<2VTXNt6+!7IS;!W@-m^+7f3%td#)?M-0O;NAxu17j2CXdjo zD+=|mT{^sTeQi5mr=>05BOG%Zt+z25>q?V%z&qfUdBl3K9$f229Eh762p$u87wKIv zYd)p-z!r ze3Z$c!)LM&cmJr^A^##>uKKu}rR(YNupYH@#=`wPLhB<;1}~+_U%+3$pk>5CxPd|7 z36Z}d{Z*g`rH{eK;7L#76YvR`znu6KdLD~Xp`w?G(uRtSz;%o3VXugK{27CkB1rXnYZ$YO(;yb=1H=?j(gqvTO4i=a|xZ%F~A`X8yJh1=Hxl_QB= zy&Z}unM6_PE0ro^lu&Yvrc!rrNf{--tyJpiEvcZCxQ$BRdQ1ILD%eh?zj{lmDBX#n zk~S_t8&r-Z>VP`nERnjPE|?%v57Yy%5&QMUTN1ufVm1WX5M<_Yv`8P+=h#yN*M{7S z`gq`Ietn9Ai=ph1>d;oEC%7})tpApU;}zcGc?ypdZxiAehcSVVL>hnwp#Bb8Y6u#F z-bB7$&j`pDGb3aI{}ee490uCP)8ue)I2cEikrv)e@p>(W#t4lOc8VMUjsT}6(CA2T zB**TPsoGuaEcs;nm!!+;^h{gh@{Q$RYil|-w?gX6)&BCS9x@SDg9 z-~@1SGBtk(eg~F|v<9s?*2y_AxG-m7tiAb+?k$`BRjz&7db^#?c8|)gh>^av%2YVj z2CX)j3`!9e$;pVHfbe?>nOBR`=Zocp@3}8jU~JKE3oeq-!FHe>cvj>@a3ZL)TS)nO zFMA-8z}O=b*er4~I2m;0Y0(sL3Rog?DmWF?N~LrfIE`aB=*l-}^HX+=jJ~PcI z0q>^PUinkGJ<#!Oa-L-0NSrAzE8c+&zG=l-2h2KP)u27JYC1R_j21ZqoB@6iITM@- zy6>eMV3}FKRRS{$nLw+3w8#l`0*{Gw2Ax68{gloIXM+hMT|gJGho~Uedy%sEUyU?6 zse060#F+$UF1iJ(rPD4~&=rgmIS-r%eiP{ix`7)rsChm(A8Zx509*k2W>UHkTnIK3 zc_z_}_mnb4!842U#mE}4$hYh0u literal 40 wcmYew$xlkEG~`Q6Do#mFOV3El&reD$5>&7_wR{Ep?N5=m&(EkC)jA0Q06^IgF8}}l diff --git a/blake2/tests/lib.rs b/blake2/tests/lib.rs deleted file mode 100644 index ba42b9ffd..000000000 --- a/blake2/tests/lib.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, variable_test}; -use digest::new_test; - -new_test!(blake2b_fixed, "blake2b/fixed", blake2::Blake2b, digest_test); -new_test!( - blake2b_variable, - "blake2b/variable", - blake2::VarBlake2b, - variable_test -); -new_test!( - blake2s_variable, - "blake2s/variable", - blake2::VarBlake2s, - variable_test -); diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 833c563e3..ec35a4cc0 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -1,6 +1,7 @@ -#![no_std] +#[cfg(not(feature = "reset"))] +use digest::new_mac_test as new_test; +#[cfg(feature = "reset")] +use digest::new_resettable_mac_test as new_test; -use crypto_mac::new_test; - -new_test!(blake2b_mac, "blake2b/mac", blake2::Blake2b); -new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2s); +new_test!(blake2b_mac, "blake2b/mac", blake2::Blake2bMac512); +new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256); diff --git a/blake2/tests/mod.rs b/blake2/tests/mod.rs new file mode 100644 index 000000000..010788007 --- /dev/null +++ b/blake2/tests/mod.rs @@ -0,0 +1,19 @@ +#[cfg(feature = "reset")] +use digest::dev::{fixed_reset_test as fixed_fn, variable_reset_test as varaible_fn}; +#[cfg(not(feature = "reset"))] +use digest::dev::{fixed_test as fixed_fn, variable_test as varaible_fn}; +use digest::new_test; + +new_test!(blake2b_fixed, "blake2b/fixed", blake2::Blake2b512, fixed_fn,); +new_test!( + blake2b_variable, + "blake2b/variable", + blake2::Blake2bVar, + varaible_fn, +); +new_test!( + blake2s_variable, + "blake2s/variable", + blake2::Blake2sVar, + varaible_fn, +); diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index 4defcc801..49e6574e9 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -1,23 +1,40 @@ -use blake2::{Blake2b, Blake2s, Digest}; +use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256}; use hex_literal::hex; #[test] +#[rustfmt::skip] fn blake2s_persona() { - let key_bytes = hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); - let persona = "personal"; - let persona_bytes = persona.as_bytes(); - let ctx = Blake2s::with_params(&key_bytes, &[], persona_bytes); + let key= hex!(" + 000102030405060708090a0b0c0d0e0f + 101112131415161718191a1b1c1d1e1f + "); + let persona = b"personal"; + let ctx = Blake2sMac256::new_with_salt_and_personal(&key, &[], persona).unwrap(); assert_eq!( - ctx.finalize().as_slice(), - &hex!("25a4ee63b594aed3f88a971e1877ef7099534f9097291f88fb86c79b5e70d022")[..] + ctx.finalize_fixed()[..], + hex!(" + 25a4ee63b594aed3f88a971e1877ef70 + 99534f9097291f88fb86c79b5e70d022 + ")[..], ); } #[test] +#[rustfmt::skip] fn blake2b_persona() { - let key_bytes = hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); - let persona = "personal"; - let persona_bytes = persona.as_bytes(); - let ctx = Blake2b::with_params(&key_bytes, &[], persona_bytes); - assert_eq!(ctx.finalize().as_slice(), &hex!("03de3b295dcfc3b25b05abb09bc95fe3e9ff3073638badc68101d1e42019d0771dd07525a3aae8318e92c5e5d967ba92e4810d0021d7bf3b49da0b4b4a8a4e1f")[..]); + let key = hex!(" + 000102030405060708090a0b0c0d0e0f + 101112131415161718191a1b1c1d1e1f + "); + let persona = b"personal"; + let ctx = Blake2bMac512::new_with_salt_and_personal(&key, &[], persona).unwrap(); + assert_eq!( + ctx.finalize_fixed()[..], + hex!(" + 03de3b295dcfc3b25b05abb09bc95fe3 + e9ff3073638badc68101d1e42019d077 + 1dd07525a3aae8318e92c5e5d967ba92 + e4810d0021d7bf3b49da0b4b4a8a4e1f + ")[..], + ); } diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index bea8879e4..964415353 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.0.2 (2020-07-21) - Fixed `Reset` implementation bug. Reduce crate size by using binary dump of `PI` ([#300]) diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 9eb9fd6fd..96ffe6042 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "fsb" description = "FSB hash function" -version = "0.0.2" +version = "0.1.0" # Also update html_root_url in lib.rs when bumping this authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" @@ -11,15 +11,13 @@ keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -whirlpool = { version = "0.9", path = "../whirlpool", default-features = false } -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" +digest = "0.10" +whirlpool = { version = "0.10", path = "../whirlpool", default-features = false } [dev-dependencies] +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" -digest = { version = "0.9", features = ["dev"] } [features] -asm = ["whirlpool/asm"] -std = ["whirlpool/std"] +default = ["std"] +std = ["digest/std"] diff --git a/ripemd160/LICENSE-APACHE b/fsb/LICENSE-APACHE similarity index 100% rename from ripemd160/LICENSE-APACHE rename to fsb/LICENSE-APACHE diff --git a/ripemd160/LICENSE-MIT b/fsb/LICENSE-MIT similarity index 89% rename from ripemd160/LICENSE-MIT rename to fsb/LICENSE-MIT index 66cf75563..c869ada57 100644 --- a/ripemd160/LICENSE-MIT +++ b/fsb/LICENSE-MIT @@ -1,6 +1,4 @@ -Copyright (c) 2006-2009 Graydon Hoare -Copyright (c) 2009-2013 Mozilla Foundation -Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2021 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/fsb/README.md b/fsb/README.md index 53319e926..bff04069c 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [FSB hash function][1] family. ## Minimum Supported Rust Version -Rust **1.47** or higher. +Rust **1.41** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. diff --git a/fsb/benches/mod.rs b/fsb/benches/mod.rs new file mode 100644 index 000000000..380a97488 --- /dev/null +++ b/fsb/benches/mod.rs @@ -0,0 +1,46 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use fsb::{Fsb160, Fsb224, Fsb256, Fsb384, Fsb512}; +use test::Bencher; + +bench_update!( + Fsb160::default(); + fsb160_10 10; + fsb160_100 100; + fsb160_1000 1000; + fsb160_10000 10000; +); + +bench_update!( + Fsb224::default(); + fsb224_10 10; + fsb224_100 100; + fsb224_1000 1000; + fsb224_10000 10000; +); + +bench_update!( + Fsb256::default(); + fsb256_10 10; + fsb256_100 100; + fsb256_1000 1000; + fsb256_10000 10000; +); + +bench_update!( + Fsb384::default(); + fsb384_10 10; + fsb384_100 100; + fsb384_1000 1000; + fsb384_10000 10000; +); + +bench_update!( + Fsb512::default(); + fsb512_10 10; + fsb512_100 100; + fsb512_1000 1000; + fsb512_10000 10000; +); diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index a8b69eabd..619f2df0d 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -39,38 +39,36 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/fsb/0.1.0" )] -#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #![allow(non_snake_case)] -extern crate alloc; - -#[cfg(feature = "std")] -extern crate std; - -use alloc::vec; - #[macro_use] mod macros; +use core::fmt; pub use digest::{self, Digest}; -use whirlpool::Whirlpool; - -use core::convert::TryInto; // Double check this contains all values in the reference implementation static PI: &[u8; 272384] = include_bytes!("pi.bin"); -use block_buffer::BlockBuffer; -use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::{typenum::Unsigned, GenericArray}, + HashMarker, Output, +}; // FSB-160 fsb_impl!( Fsb160, + Fsb160Core, 160, U60, U20, @@ -79,12 +77,14 @@ fsb_impl!( 640, 653, 1120, - "FSB-160 hash function." + "FSB-160 hasher state", + "Core FSB-160 hasher state", ); // FSB-224 fsb_impl!( Fsb224, + Fsb224Core, 224, U84, U28, @@ -93,12 +93,14 @@ fsb_impl!( 896, 907, 1568, - "FSB-224 hash function." + "FSB-224 hasher state", + "Core FSB-224 hasher state", ); // FSB-256 fsb_impl!( Fsb256, + Fsb256Core, 256, U96, U32, @@ -107,12 +109,14 @@ fsb_impl!( 1024, 1061, 1792, - "FSB-256 hash function." + "FSB-256 hasher state", + "Core FSB-256 hasher state", ); // FSB-384 fsb_impl!( Fsb384, + Fsb384Core, 384, U115, U48, @@ -121,12 +125,14 @@ fsb_impl!( 1472, 1483, 2392, - "FSB-384 hash function." + "FSB-384 hasher state", + "Core FSB-384 hasher state", ); // FSB-512 fsb_impl!( Fsb512, + Fsb512Core, 512, U155, U64, @@ -135,5 +141,6 @@ fsb_impl!( 1984, 1987, 3224, - "FSB-512 hash function." + "FSB-512 hasher state", + "Core FSB-512 hasher state", ); diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 8400722a4..620cb6d2b 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -1,57 +1,94 @@ macro_rules! fsb_impl { ( - $state:ident, $state_num:expr, $blocksize:ident, $outputsize:ident, $n:expr, $w:expr, - $r:expr, $p:expr, $s:expr, $doc:expr + $full_state:ident, $state:ident, $state_num:expr, $blocksize:ident, $outputsize:ident, $n:expr, $w:expr, + $r:expr, $p:expr, $s:expr, $full_doc:expr, $doc:expr, ) => { use digest::consts::{$blocksize, $outputsize}; #[derive(Clone)] #[doc=$doc] pub struct $state { - /// bit size of the message till the current moment (the bit size is represented by a 64 bit - /// number) - bit_length: u64, - /// size of the message being processed - buffer: BlockBuffer<$blocksize>, - /// value of the input vector - hash: [u8; $r / 8], + blocks_len: u64, + state: [u8; $r / 8], } + impl HashMarker for $state {} + + impl BlockSizeUser for $state { + type BlockSize = $blocksize; + } + + impl OutputSizeUser for $state { + type OutputSize = $outputsize; + } + + impl BufferKindUser for $state { + type BufferKind = Eager; + } + + impl UpdateCore for $state { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.blocks_len += blocks.len() as u64; + for block in blocks { + Self::compress(&mut self.state, Self::convert(block)); + } + } + } + + impl FixedOutputCore for $state { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let block_bytes = self.blocks_len * Self::BlockSize::U64; + let bit_len = 8 * (block_bytes + buffer.get_pos() as u64); + let mut h = self.state; + buffer.len64_padding_be(bit_len, |b| Self::compress(&mut h, Self::convert(b))); + + let res = whirlpool::Whirlpool::digest(&h[..]); + let n = out.len(); + out.copy_from_slice(&res[..n]); + } + } + + impl Default for $state { + #[inline] + fn default() -> Self { + Self { + blocks_len: 0u64, + state: [0u8; $r / 8], + } + } + } + + impl Reset for $state { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } + } + + impl AlgorithmName for $state { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_state)) + } + } + + impl fmt::Debug for $state { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($state), " { ... }")) + } + } + + #[doc=$full_doc] + pub type $full_state = CoreWrapper<$state>; + impl $state { - // constants const SIZE_OUTPUT_COMPRESS: usize = $r / 8; const SIZE_INPUT_COMPRESS: usize = $s / 8; - const HASH_OUTPUT_SIZE: usize = $state_num / 8; const SIZE_MSG_CHUNKS: usize = Self::SIZE_INPUT_COMPRESS - Self::SIZE_OUTPUT_COMPRESS; const SIZE_VECTORS: usize = $p / 8 + 1; const SHIFT: u8 = 8 - ($p % 8) as u8; - fn update_len(&mut self, len: u64) { - self.bit_length += len * 8; - } - - fn finalize_inner(&mut self) { - let hash = &mut self.hash; - let pos = self.buffer.position(); - if pos < Self::SIZE_MSG_CHUNKS - 8 { - let mut padding = vec![0; Self::SIZE_MSG_CHUNKS - pos - 8]; - padding[0] = 128u8; - padding.extend_from_slice(&Self::helper_transform_usize(self.bit_length)); - self.buffer - .input_block(&padding, |b| Self::compress(hash, Self::convert(b))); - } else { - let mut padding = vec![0; Self::SIZE_MSG_CHUNKS - pos]; - padding[0] = 128u8; - self.buffer - .input_block(&padding, |b| Self::compress(hash, Self::convert(b))); - let mut second_padding = vec![0; Self::SIZE_MSG_CHUNKS - 8]; - second_padding - .extend_from_slice(&Self::helper_transform_usize(self.bit_length)); - self.buffer - .input_block(&second_padding, |b| Self::compress(hash, Self::convert(b))); - } - } - fn define_iv(index: usize) -> [u8; Self::SIZE_VECTORS] { let mut subset_pi: [u8; Self::SIZE_VECTORS] = [0u8; Self::SIZE_VECTORS]; subset_pi.copy_from_slice( @@ -72,21 +109,21 @@ macro_rules! fsb_impl { /// $(W_i)_{i\in[0;w-1]}$ between $0$ and $n - 1$. The value of each $W_i$ is computed /// from the inputs bits like this: /// $W_i = i \times (n / w) + IV_i + M_i \times 2^{r / w}. - fn computing_W_indices( + fn computing_w_indices( input_vector: &[u8; Self::SIZE_OUTPUT_COMPRESS], message: &[u8; Self::SIZE_MSG_CHUNKS], ) -> [u32; $w] { - let mut W_indices: [u32; $w] = [0; $w]; + let mut wind: [u32; $w] = [0; $w]; let divided_message: [u8; $w] = Self::dividing_bits(message, ($s - $r) / $w); for i in 0..($w) { let message_i = divided_message[i] as u32; - W_indices[i] = (i * $n / $w) as u32 + wind[i] = (i * $n / $w) as u32 + input_vector[i] as u32 + (message_i << ($r / $w) as u8); } - W_indices + wind } /// This function servers the purpose presented in table 3, of breaking a bit array into @@ -133,7 +170,7 @@ macro_rules! fsb_impl { ) { let mut initial_vector = [0u8; Self::SIZE_OUTPUT_COMPRESS]; - let w_indices = Self::computing_W_indices(hash, message_block); + let w_indices = Self::computing_w_indices(hash, message_block); for w_index in w_indices.iter() { let chosen_vec = w_index / $r as u32; let shift_value = w_index % $r as u32; @@ -149,18 +186,6 @@ macro_rules! fsb_impl { *hash = initial_vector; } - fn final_compression( - initial_vector: [u8; Self::SIZE_OUTPUT_COMPRESS], - ) -> [u8; Self::HASH_OUTPUT_SIZE] { - // Now we use Whirpool - let mut result = [0u8; Self::HASH_OUTPUT_SIZE]; - let mut hasher = Whirlpool::new(); - - Update::update(&mut hasher, &initial_vector); - result.copy_from_slice(&hasher.finalize()[..Self::HASH_OUTPUT_SIZE]); - result - } - fn shift_and_truncate( array: &mut [u8; Self::SIZE_VECTORS], shift_value: u32, @@ -170,9 +195,7 @@ macro_rules! fsb_impl { let mut truncated = [0u8; Self::SIZE_OUTPUT_COMPRESS]; if shift_value == 0 { - array[..Self::SIZE_OUTPUT_COMPRESS] - .try_into() - .expect("SIZE_VECTORS is always bigger than SIZE_OUTPUT_COMPRESS") + truncated.copy_from_slice(&array[..Self::SIZE_OUTPUT_COMPRESS]); } else if shift_value <= (bits_in_cue as u32) { let bytes_to_shift = 1; let starting_byte = (array_len - bytes_to_shift) as usize; @@ -183,8 +206,6 @@ macro_rules! fsb_impl { truncated[position] ^= array[position - 1] >> (8 - shift_value); truncated[position] ^= array[position] << shift_value; } - - truncated } else { // First we need to decide which is the last byte and bit that will go to the first position. // Then, we build our truncated array from there. Recall that the last byte is not complete, @@ -246,8 +267,6 @@ macro_rules! fsb_impl { } } } - - truncated } else { truncated[..bytes_to_shift].clone_from_slice( &array[starting_byte..(starting_byte + bytes_to_shift)], @@ -261,76 +280,14 @@ macro_rules! fsb_impl { truncated[position] ^= array[index] << (8 - bits_in_cue); truncated[position] ^= array[index + 1] >> bits_in_cue; } - truncated } } - } - - // I'm trying to avoid use unsafe code for this transformation. We are certain that the bit - // size of the buffer can be represented in 8 bytes. - fn helper_transform_usize(x: u64) -> [u8; 8] { - let b1: u8 = ((x >> 56) & 0xff) as u8; - let b2: u8 = ((x >> 48) & 0xff) as u8; - let b3: u8 = ((x >> 40) & 0xff) as u8; - let b4: u8 = ((x >> 32) & 0xff) as u8; - let b5: u8 = ((x >> 24) & 0xff) as u8; - let b6: u8 = ((x >> 16) & 0xff) as u8; - let b7: u8 = ((x >> 8) & 0xff) as u8; - let b8: u8 = (x & 0xff) as u8; - [b1, b2, b3, b4, b5, b6, b7, b8] + truncated } fn convert(block: &GenericArray) -> &[u8; Self::SIZE_MSG_CHUNKS] { - #[allow(unsafe_code)] - unsafe { - &*(block.as_ptr() as *const [u8; Self::SIZE_MSG_CHUNKS]) - } - } - } - - impl Default for $state { - fn default() -> Self { - Self { - bit_length: 0u64, - buffer: BlockBuffer::default(), - hash: [0u8; $r / 8], - } - } - } - - impl BlockInput for $state { - type BlockSize = $blocksize; - } - - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - self.update_len(input.len() as u64); - - let hash = &mut self.hash; - self.buffer - .input_block(input, |b| $state::compress(hash, $state::convert(b))); - } - } - - impl FixedOutputDirty for $state { - type OutputSize = $outputsize; - - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - self.finalize_inner(); - let final_whirpool = $state::final_compression(self.hash); - out.copy_from_slice(&final_whirpool) - } - } - - impl Reset for $state { - fn reset(&mut self) { - self.buffer.reset(); - self.hash = [0u8; $r / 8]; - self.bit_length = 0; + unsafe { &*(block.as_ptr() as *const [u8; Self::SIZE_MSG_CHUNKS]) } } } - opaque_debug::implement!($state); - digest::impl_write!($state); }; } diff --git a/fsb/tests/data/fsb160.blb b/fsb/tests/data/fsb160.blb index deecdfec303bb8ef168b39d361f3c9bc170c7e7c..7ea2346e72caf894116241710f82361ba36998bf 100644 GIT binary patch delta 107 zcmbQt*vlx(z?G4jlasHJ*YkX4pO4#;Q#En@DKnOqH#%JO4x6Z~?W(aTK2PP?@AP1M zE>&f#qh~m;R@!x$lw=kGp+ZSfVh#{06y%rW=N5pG#{Rwf22%aM&u`U G%1;0rS1jBB delta 91 zcmV-h0Hpto0h0kEVr*|>VtFwIXk~0{Zxn8f=b4U7Mx@GoUXNs$rFVfq(Mv0l9V-?T xqF-(##`|YeKMExyI>pQh)p8=tC3OG* diff --git a/fsb/tests/data/fsb224.blb b/fsb/tests/data/fsb224.blb index 57ca2febcff73a22056e1004825ae22a3f854a19..9a476c7239400c5ff8673837f54e229123ff9e0e 100644 GIT binary patch delta 82 zcmZ3@xRjBDfh!|5Cnw)xBA*On*hFn@OAFacy^~H|GdBHm$|q&%Lt&d!D-J*7u(}vJ hQG=b)q$INl2o*|-5_5o1p&-8`KeqskEGG8L008wIVniJ=NIQYD#1K&Vhsl$ZmA3I+Kk N`MCvPq%d)!0sxUt6=47X diff --git a/fsb/tests/data/fsb384.blb b/fsb/tests/data/fsb384.blb index 65cc572e6dcb5fad87d4d224333bb85125aa3a5b..60ce430d1cf53b5202ea8e1c818fd36026c6db3f 100644 GIT binary patch delta 36 qcmaFP_>hrX=STrr+YJEEhYM5y delta 64 zcmaFJ_?(e1DJMTEsnU=&BQ+-{-(Vt#0i*UrOKnDjiKzxMQYD#1K&Vhsl$ZmA3I+Kk N`MCvPWH51~0RXq|7GVGY diff --git a/fsb/tests/data/fsb512.blb b/fsb/tests/data/fsb512.blb index fa6c7b3d9c5c3c9666f7c7c8ab27b22ed4f8bac1..f20de348a655f613b1379f08576ab9cbe4a847b3 100644 GIT binary patch delta 39 rcmbQvG=+(ifh!|5CnvvwVIrRcW7tH0Z6+YI+JVtz;vOjw^ST27**XiX delta 64 zcmbQjG@XerDJMTEsnU=&BQ+-{-(e!B1EcmtFKtGLiRBJ5QYD#1K&Vhsl$ZmA3I+Kk N`MCvP(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/gost94/examples/gost94_test_sum.rs b/gost94/examples/gost94_test_sum.rs deleted file mode 100644 index 8f31b1906..000000000 --- a/gost94/examples/gost94_test_sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use gost94::{Digest, Gost94Test}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/gost94/src/cryptopro.rs b/gost94/src/cryptopro.rs deleted file mode 100644 index e290472ca..000000000 --- a/gost94/src/cryptopro.rs +++ /dev/null @@ -1,12 +0,0 @@ -const S_CRYPTO_PRO: SBox = [ - [10, 4, 5, 6, 8, 1, 3, 7, 13, 12, 14, 0, 9, 2, 11, 15], - [5, 15, 4, 0, 2, 13, 11, 9, 1, 7, 6, 3, 12, 14, 10, 8], - [7, 15, 12, 14, 9, 4, 1, 0, 3, 11, 5, 2, 6, 10, 8, 13], - [4, 10, 7, 12, 0, 15, 2, 8, 14, 1, 6, 5, 13, 11, 9, 3], - [7, 6, 4, 11, 9, 12, 2, 10, 1, 8, 0, 14, 15, 13, 3, 5], - [7, 6, 2, 4, 13, 9, 15, 0, 10, 1, 5, 11, 8, 14, 12, 3], - [13, 14, 4, 1, 7, 0, 5, 10, 3, 12, 8, 15, 6, 2, 9, 11], - [1, 3, 10, 9, 5, 11, 4, 15, 8, 6, 7, 14, 13, 0, 2, 12], -]; - -gost94_impl!(Gost94CryptoPro, S_CRYPTO_PRO); diff --git a/gost94/src/gost94.rs b/gost94/src/gost94_core.rs similarity index 63% rename from gost94/src/gost94.rs rename to gost94/src/gost94_core.rs index 8bbb0fe5a..569789a0b 100644 --- a/gost94/src/gost94.rs +++ b/gost94/src/gost94_core.rs @@ -1,19 +1,23 @@ #![allow(clippy::many_single_char_names)] -use block_buffer::block_padding::ZeroPadding; -use block_buffer::BlockBuffer; -use core::convert::TryInto; -use digest::{consts::U32, generic_array::GenericArray}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -pub(crate) type Block = [u8; 32]; +use core::{convert::TryInto, fmt}; +use digest::{ + block_buffer::Eager, + consts::U32, + core_api::{ + AlgorithmName, Block as TBlock, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::{typenum::Unsigned, GenericArray}, + HashMarker, Output, +}; + +use crate::params::{Block, Gost94Params, SBox}; const C: Block = [ 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, ]; -pub type SBox = [[u8; 16]; 8]; - fn sbox(a: u32, s: &SBox) -> u32 { let mut v = 0; @@ -114,15 +118,23 @@ fn psi(block: &mut Block) { block.copy_from_slice(&out); } +#[inline(always)] +fn adc(a: &mut u64, b: u64, carry: &mut u64) { + let ret = (*a as u128) + (b as u128) + (*carry as u128); + *a = ret as u64; + *carry = (ret >> 64) as u64; +} + +/// Core GOST94 algorithm generic over parameters. #[derive(Clone)] -struct Gost94State { - s: SBox, +pub struct Gost94Core { h: Block, n: [u64; 4], sigma: [u64; 4], + _m: core::marker::PhantomData

    , } -impl Gost94State { +impl Gost94Core

    { fn shuffle(&mut self, m: &Block, s: &Block) { let mut res = Block::default(); res.copy_from_slice(s); @@ -141,23 +153,23 @@ impl Gost94State { let mut s = Block::default(); s.copy_from_slice(&self.h); let k = p(x(&self.h, m)); - encrypt(&mut s[0..8], k, &self.s); + encrypt(&mut s[0..8], k, &P::S_BOX); let u = a(self.h); let v = a(a(*m)); let k = p(x(&u, &v)); - encrypt(&mut s[8..16], k, &self.s); + encrypt(&mut s[8..16], k, &P::S_BOX); let mut u = a(u); x_mut(&mut u, &C); let v = a(a(v)); let k = p(x(&u, &v)); - encrypt(&mut s[16..24], k, &self.s); + encrypt(&mut s[16..24], k, &P::S_BOX); let u = a(u); let v = a(a(v)); let k = p(x(&u, &v)); - encrypt(&mut s[24..32], k, &self.s); + encrypt(&mut s[24..32], k, &P::S_BOX); self.shuffle(m, &s); } @@ -178,92 +190,88 @@ impl Gost94State { adc(&mut self.n[3], 0, &mut carry); } - fn process_block(&mut self, block: &GenericArray) { + #[inline(always)] + fn compress(&mut self, block: &GenericArray) { let block = unsafe { &*(block.as_ptr() as *const [u8; 32]) }; self.f(block); self.update_sigma(block); } } -/// GOST94 -#[derive(Clone)] -pub struct Gost94 { - buffer: BlockBuffer, - state: Gost94State, - h0: Block, -} - -impl Gost94 { - /// Create new [`Gost94`] instance with given S-Box and IV - pub fn new(s: SBox, h: Block) -> Self { - let n = Default::default(); - let sigma = Default::default(); - Gost94 { - buffer: Default::default(), - h0: h, - state: Gost94State { s, h, n, sigma }, - } - } -} +impl HashMarker for Gost94Core

    {} -impl BlockInput for Gost94 { +impl BlockSizeUser for Gost94Core

    { type BlockSize = U32; } -impl Update for Gost94 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - let s = &mut self.state; - s.update_n(input.len()); - self.buffer.input_block(input, |d| s.process_block(d)); - } +impl BufferKindUser for Gost94Core

    { + type BufferKind = Eager; } -impl FixedOutputDirty for Gost94 { +impl OutputSizeUser for Gost94Core

    { type OutputSize = U32; +} - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - let self_state = &mut self.state; - - if self.buffer.position() != 0 { - let block = self - .buffer - .pad_with::() - .expect("we never use input_lazy"); +impl UpdateCore for Gost94Core

    { + #[inline] + fn update_blocks(&mut self, blocks: &[TBlock]) { + let len = Self::BlockSize::USIZE * blocks.len(); + self.update_n(len); + blocks.iter().for_each(|b| self.compress(b)); + } +} - self_state.process_block(block); +impl FixedOutputCore for Gost94Core

    { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + if buffer.get_pos() != 0 { + self.update_n(buffer.get_pos()); + self.compress(buffer.pad_with_zeros()); } let mut buf = Block::default(); - for (o, v) in buf.chunks_exact_mut(8).zip(self_state.n.iter()) { + for (o, v) in buf.chunks_exact_mut(8).zip(self.n.iter()) { o.copy_from_slice(&v.to_le_bytes()); } - self_state.f(&buf); + self.f(&buf); - for (o, v) in buf.chunks_exact_mut(8).zip(self_state.sigma.iter()) { + for (o, v) in buf.chunks_exact_mut(8).zip(self.sigma.iter()) { o.copy_from_slice(&v.to_le_bytes()); } - self_state.f(&buf); + self.f(&buf); - out.copy_from_slice(&self.state.h); + out.copy_from_slice(&self.h); + } +} + +impl Default for Gost94Core

    { + #[inline] + fn default() -> Self { + Self { + h: P::H0, + n: Default::default(), + sigma: Default::default(), + _m: Default::default(), + } } } -impl Reset for Gost94 { +impl Reset for Gost94Core

    { + #[inline] fn reset(&mut self) { - self.buffer.reset(); - self.state.n = Default::default(); - self.state.h = self.h0; - self.state.sigma = Default::default(); + *self = Default::default(); } } -#[inline(always)] -fn adc(a: &mut u64, b: u64, carry: &mut u64) { - let ret = (*a as u128) + (b as u128) + (*carry as u128); - *a = ret as u64; - *carry = (ret >> 64) as u64; +impl AlgorithmName for Gost94Core

    { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(P::NAME) + } } -opaque_debug::implement!(Gost94); -digest::impl_write!(Gost94); +impl fmt::Debug for Gost94Core

    { } #[inline(always)] - fn compress(&mut self, block: &GenericArray) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 32]) }; + fn compress(&mut self, block: &[u8; 32]) { self.f(block); self.update_sigma(block); } @@ -217,7 +215,7 @@ impl UpdateCore for Gost94Core

    { fn update_blocks(&mut self, blocks: &[TBlock]) { let len = Self::BlockSize::USIZE * blocks.len(); self.update_n(len); - blocks.iter().for_each(|b| self.compress(b)); + blocks.iter().for_each(|b| self.compress(b.as_ref())); } } @@ -226,7 +224,7 @@ impl FixedOutputCore for Gost94Core

    { fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { if buffer.get_pos() != 0 { self.update_n(buffer.get_pos()); - self.compress(buffer.pad_with_zeros()); + self.compress(buffer.pad_with_zeros().as_ref()); } let mut buf = Block::default(); diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 8427b2c55..e35e48e55 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -31,6 +31,7 @@ html_root_url = "https://docs.rs/gost94/0.10.0" )] #![warn(missing_docs, rust_2018_idioms)] +#![forbid(unsafe_code)] #[cfg(feature = "std")] extern crate std; diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 307111bdd..1f67989cf 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/groestl/src/compress1024.rs b/groestl/src/compress1024.rs index ebfd080fc..fa142c396 100644 --- a/groestl/src/compress1024.rs +++ b/groestl/src/compress1024.rs @@ -4,7 +4,6 @@ use core::{convert::TryInto, u64}; pub(crate) const COLS: usize = 16; const ROUNDS: u64 = 14; -type Block = super::Block; #[inline(always)] fn column(x: &[u64; COLS], c: [usize; 8]) -> u64 { @@ -67,7 +66,7 @@ fn rndp(mut x: [u64; COLS], r: u64) -> [u64; COLS] { ] } -pub(crate) fn compress(h: &mut [u64; COLS], block: &Block) { +pub(crate) fn compress(h: &mut [u64; COLS], block: &[u8; 128]) { let mut q = [0u64; COLS]; for (chunk, v) in block.chunks_exact(8).zip(q.iter_mut()) { *v = u64::from_be_bytes(chunk.try_into().unwrap()); diff --git a/groestl/src/compress512.rs b/groestl/src/compress512.rs index 1db8d4091..121e1a395 100644 --- a/groestl/src/compress512.rs +++ b/groestl/src/compress512.rs @@ -1,7 +1,6 @@ #![allow(clippy::needless_range_loop)] use crate::table::TABLE; use core::{convert::TryInto, u64}; -type Block = super::Block; pub(crate) const COLS: usize = 8; const ROUNDS: u64 = 10; @@ -51,7 +50,7 @@ fn rndp(mut x: [u64; COLS], r: u64) -> [u64; COLS] { ] } -pub(crate) fn compress(h: &mut [u64; COLS], block: &Block) { +pub(crate) fn compress(h: &mut [u64; COLS], block: &[u8; 64]) { let mut q = [0u64; COLS]; for (chunk, v) in block.chunks_exact(8).zip(q.iter_mut()) { *v = u64::from_be_bytes(chunk.try_into().unwrap()); diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 8e5085a0b..c37b4f274 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -31,7 +31,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/groestl/0.10.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(rust_2018_idioms)] pub use digest::{self, Digest}; @@ -44,7 +44,7 @@ use digest::{ CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore, VariableOutputCore, }, - generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}, + typenum::{Unsigned, U128, U28, U32, U48, U64}, HashMarker, InvalidOutputSize, Output, }; @@ -74,7 +74,7 @@ impl UpdateCore for GroestlShortVarCore { fn update_blocks(&mut self, blocks: &[Block]) { self.blocks_len += blocks.len() as u64; for block in blocks { - compress512::compress(&mut self.state, block); + compress512::compress(&mut self.state, block.as_ref()); } } } @@ -104,7 +104,9 @@ impl VariableOutputCore for GroestlShortVarCore { } else { self.blocks_len + 1 }; - buffer.len64_padding_be(blocks_len, |b| compress512::compress(&mut self.state, b)); + buffer.len64_padding_be(blocks_len, |block| { + compress512::compress(&mut self.state, block.as_ref()) + }); let res = compress512::p(&self.state); let n = compress512::COLS / 2; for (chunk, v) in out.chunks_exact_mut(8).zip(res[n..].iter()) { @@ -160,7 +162,7 @@ impl UpdateCore for GroestlLongVarCore { fn update_blocks(&mut self, blocks: &[Block]) { self.blocks_len += blocks.len() as u64; for block in blocks { - compress1024::compress(&mut self.state, block); + compress1024::compress(&mut self.state, block.as_ref()); } } } @@ -190,7 +192,9 @@ impl VariableOutputCore for GroestlLongVarCore { } else { self.blocks_len + 1 }; - buffer.len64_padding_be(blocks_len, |b| compress1024::compress(&mut self.state, b)); + buffer.len64_padding_be(blocks_len, |block| { + compress1024::compress(&mut self.state, block.as_ref()) + }); let res = compress1024::p(&self.state); let n = compress1024::COLS / 2; for (chunk, v) in out.chunks_exact_mut(8).zip(res[n..].iter()) { diff --git a/md2/src/lib.rs b/md2/src/lib.rs index d41a1178e..44069fa66 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -29,7 +29,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/md2/0.10.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 23c0b6ace..2a7417d0b 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md4/src/lib.rs b/md4/src/lib.rs index afbf0c31a..1e7dcb043 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -29,7 +29,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/md4/0.10.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(rust_2018_idioms)] #![allow(clippy::many_single_char_names)] @@ -42,7 +42,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U16, U64}, + typenum::{Unsigned, U16, U64}, HashMarker, Output, }; diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 1c578e8f8..6b27c2fd6 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -15,11 +15,11 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.10" +digest = "0.10.2" md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index fadaf5192..d32ff711c 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -48,7 +48,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U16, U64}, + typenum::{Unsigned, U16, U64}, HashMarker, Output, }; /// Core MD5 hasher state. diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 9487f7fb9..68170ec43 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd/src/c160.rs b/ripemd/src/c160.rs index 2163e848f..db2e3fb19 100644 --- a/ripemd/src/c160.rs +++ b/ripemd/src/c160.rs @@ -1,4 +1,3 @@ -use super::{Block, Ripemd160Core}; use core::convert::TryInto; pub const DIGEST_BUF_LEN: usize = 5; @@ -112,7 +111,7 @@ macro_rules! process_block( }); ); -pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &[u8; 64]) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd/src/c256.rs b/ripemd/src/c256.rs index a7d6e51a9..bdcd0c393 100644 --- a/ripemd/src/c256.rs +++ b/ripemd/src/c256.rs @@ -1,4 +1,3 @@ -use super::{Block, Ripemd256Core}; use core::{convert::TryInto, mem::swap}; pub const DIGEST_BUF_LEN: usize = 8; @@ -119,7 +118,7 @@ macro_rules! process_block( }); ); -pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &[u8; 64]) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd/src/c320.rs b/ripemd/src/c320.rs index 89b174066..af85eff2a 100644 --- a/ripemd/src/c320.rs +++ b/ripemd/src/c320.rs @@ -1,4 +1,3 @@ -use super::{Block, Ripemd320Core}; use core::{convert::TryInto, mem::swap}; pub const HALF_DIGEST_BUF_LEN: usize = 5; @@ -142,7 +141,7 @@ macro_rules! process_block( }); ); -pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &[u8; 64]) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 18a0a3b5f..e83d49df1 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -44,7 +44,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/ripemd/0.1.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; @@ -56,7 +56,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U20, U32, U40, U64}, + typenum::{Unsigned, U20, U32, U40, U64}, HashMarker, Output, }; @@ -98,7 +98,7 @@ macro_rules! impl_ripemd { // Assumes that `block_len` does not overflow self.block_len += blocks.len() as u64; for block in blocks { - $mod::compress(&mut self.h, block); + $mod::compress(&mut self.h, block.as_ref()); } } } @@ -109,7 +109,7 @@ macro_rules! impl_ripemd { let bs = Self::BlockSize::U64; let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); let mut h = self.h; - buffer.len64_padding_le(bit_len, |block| $mod::compress(&mut h, block)); + buffer.len64_padding_le(bit_len, |block| $mod::compress(&mut h, block.as_ref())); for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 0ed7c60f1..22dcce925 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" cfg-if = "1.0" sha1-asm = { version = "0.5", optional = true } @@ -21,7 +21,7 @@ sha1-asm = { version = "0.5", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index feba6fd05..da4a10a98 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -1,5 +1,5 @@ use crate::{Block, BlockSizeUser, Sha1Core}; -use digest::generic_array::typenum::Unsigned; +use digest::typenum::Unsigned; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -31,7 +31,6 @@ const BLOCK_SIZE: usize = ::BlockSize::USIZE; pub fn compress(state: &mut [u32; 5], blocks: &[Block]) { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout - #[allow(unsafe_code)] let blocks: &[[u8; BLOCK_SIZE]] = unsafe { &*(blocks as *const _ as *const [[u8; BLOCK_SIZE]]) }; compress_inner(state, blocks); diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index dc4ca4769..d30234249 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -1,7 +1,6 @@ //! SHA-1 `x86`/`x86_64` backend #![cfg(any(target_arch = "x86", target_arch = "x86_64"))] -#![allow(unsafe_code)] #[cfg(target_arch = "x86")] use core::arch::x86::*; diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 96b1c8a90..e22a6004d 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -58,7 +58,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U20, U64}, + typenum::{Unsigned, U20, U64}, HashMarker, Output, }; diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 8a0ed1613..89f874cd1 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,7 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } @@ -23,7 +23,7 @@ sha2-asm = { version = "0.6.1", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index 8484cca53..cfec02a64 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -6,7 +6,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, - generic_array::typenum::{Unsigned, U128, U32, U64}, + typenum::{Unsigned, U128, U32, U64}, HashMarker, InvalidOutputSize, Output, }; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 2f493713b..a45331e17 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,4 +1,4 @@ -use digest::generic_array::{typenum::U64, GenericArray}; +use digest::{generic_array::GenericArray, typenum::U64}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 05d169631..e71fdfa43 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,4 +1,4 @@ -use digest::generic_array::{typenum::U128, GenericArray}; +use digest::{generic_array::GenericArray, typenum::U128}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index e0f0edb9d..2fd851edf 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -15,7 +15,7 @@ categories = ["cryptography", "no-std"] digest = "0.10" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index 0997d2a7e..6c7943612 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -42,7 +42,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/shabal/0.4.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 28fe163b2..9337f7666 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 95062fa46..385f4c318 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -34,7 +34,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/sm3/0.4.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; @@ -46,7 +46,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U32, U64}, + typenum::{Unsigned, U32, U64}, HashMarker, Output, }; diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index ade2b10d9..95f1758e3 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index f16da4a6c..a9bd09b06 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -93,8 +93,7 @@ impl StreebogVarCore { adc(&mut self.n[7], 0, &mut carry); } - fn compress(&mut self, block: &GenBlock, msg_len: u64) { - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + fn compress(&mut self, block: &[u8; 64], msg_len: u64) { self.g(&to_bytes(&self.n), block); self.update_n(msg_len); self.update_sigma(block); @@ -115,7 +114,7 @@ impl UpdateCore for StreebogVarCore { #[inline] fn update_blocks(&mut self, blocks: &[GenBlock]) { for block in blocks { - self.compress(block, BLOCK_SIZE as u64); + self.compress(block.as_ref(), BLOCK_SIZE as u64); } } } @@ -143,7 +142,7 @@ impl VariableOutputCore for StreebogVarCore { let pos = buffer.get_pos(); let block = buffer.pad_with_zeros(); block[pos] = 1; - self.compress(block, pos as u64); + self.compress(block.as_ref(), pos as u64); self.g(&[0u8; 64], &to_bytes(&self.n)); self.g(&[0u8; 64], &to_bytes(&self.sigma)); out.copy_from_slice(&self.h); diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 9b2fca404..dfcde8c3f 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -39,6 +39,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/streebog/0.10.0" )] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 3e3c7171d..4b1e48d75 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/tiger/src/compress.rs b/tiger/src/compress.rs index 20f7c56fc..9f7024d7f 100644 --- a/tiger/src/compress.rs +++ b/tiger/src/compress.rs @@ -1,7 +1,6 @@ use super::tables::{T1, T2, T3, T4}; use super::State; use core::convert::TryInto; -use digest::generic_array::{typenum::U64, GenericArray}; #[inline(always)] fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { @@ -51,22 +50,20 @@ fn key_schedule(x: &mut [u64; 8]) { x[7] = x[7].wrapping_sub(x[6] ^ 0x0123_4567_89AB_CDEF); } -pub(crate) fn compress(state: &mut State, blocks: &[GenericArray]) { +pub(crate) fn compress(state: &mut State, raw_block: &[u8; 64]) { let mut block: [u64; 8] = Default::default(); - for raw_block in blocks { - for (o, chunk) in block.iter_mut().zip(raw_block.chunks_exact(8)) { - *o = u64::from_le_bytes(chunk.try_into().unwrap()); - } - let [mut a, mut b, mut c] = *state; + for (o, chunk) in block.iter_mut().zip(raw_block.chunks_exact(8)) { + *o = u64::from_le_bytes(chunk.try_into().unwrap()); + } + let [mut a, mut b, mut c] = *state; - pass(&mut a, &mut b, &mut c, &block, 5); - key_schedule(&mut block); - pass(&mut c, &mut a, &mut b, &block, 7); - key_schedule(&mut block); - pass(&mut b, &mut c, &mut a, &block, 9); + pass(&mut a, &mut b, &mut c, &block, 5); + key_schedule(&mut block); + pass(&mut c, &mut a, &mut b, &block, 7); + key_schedule(&mut block); + pass(&mut b, &mut c, &mut a, &block, 9); - state[0] ^= a; - state[1] = b.wrapping_sub(state[1]); - state[2] = c.wrapping_add(state[2]); - } + state[0] ^= a; + state[1] = b.wrapping_sub(state[1]); + state[2] = c.wrapping_add(state[2]); } diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 8ef93ca50..1576f1569 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -31,19 +31,19 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/tiger/0.2.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; -use core::{fmt, slice::from_ref}; +use core::fmt; use digest::{ block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U24, U64}, + typenum::{Unsigned, U24, U64}, HashMarker, Output, }; @@ -83,7 +83,9 @@ impl UpdateCore for TigerCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; - compress(&mut self.state, blocks); + for block in blocks { + compress(&mut self.state, block.as_ref()); + } } } @@ -95,7 +97,7 @@ impl FixedOutputCore for TigerCore { let bit_len = 8 * (pos + bs * self.block_len); buffer.digest_pad(1, &bit_len.to_le_bytes(), |b| { - compress(&mut self.state, from_ref(b)) + compress(&mut self.state, b.as_ref()) }); for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); @@ -155,7 +157,9 @@ impl UpdateCore for Tiger2Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; - compress(&mut self.state, blocks); + for block in blocks { + compress(&mut self.state, block.as_ref()); + } } } @@ -166,7 +170,7 @@ impl FixedOutputCore for Tiger2Core { let pos = buffer.get_pos() as u64; let bit_len = 8 * (pos + bs * self.block_len); - buffer.len64_padding_le(bit_len, |b| compress(&mut self.state, from_ref(b))); + buffer.len64_padding_le(bit_len, |b| compress(&mut self.state, b.as_ref())); for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); } diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 777785c4a..f6364436d 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -12,11 +12,11 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 54197e8f2..7ed1998e7 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -53,14 +53,14 @@ use whirlpool_asm as compress; use compress::compress; -use core::{fmt, slice::from_ref}; +use core::fmt; use digest::{ block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::typenum::{Unsigned, U64}, + typenum::{Unsigned, U64}, HashMarker, Output, }; @@ -107,7 +107,7 @@ impl FixedOutputCore for WhirlpoolCore { let mut state = self.state; buffer.digest_pad(0x80, &buf, |block| { - compress(&mut state, convert(from_ref(block))) + compress(&mut state, convert(core::slice::from_ref(block))); }); for (chunk, v) in out.chunks_exact_mut(8).zip(state.iter()) { From fae1866643425d79569850fd4768015d1bb7a091 Mon Sep 17 00:00:00 2001 From: Joachim Vandersmissen Date: Thu, 10 Feb 2022 07:43:33 +0000 Subject: [PATCH 197/373] Fix README typos (#359) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9e481311b..c0429d480 100644 --- a/README.md +++ b/README.md @@ -42,9 +42,9 @@ Whenever possible crates are published under the the same name as the crate fold Owners of `md5` [declined](https://github.com/stainless-steel/md5/pull/) to participate in this project. This crate does not implement the [`digest`] traits, so it is not interoperable with the RustCrypto ecosystem. This is why we publish our MD5 implementation as `md-5` and mark it with the :exclamation: mark. -Note that the library itselv is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. +Note that the library itself is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. -The SHA-1 implementation was previosuly published as `sha-1`, but migrated to `sha1` since v0.10.0. +The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0. `sha-1` will continue to recieve v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. ### Security Level Legend From 9d2a53cc7926fc472cd1bf8b5564f15608bd3495 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Wed, 16 Feb 2022 16:09:12 +0100 Subject: [PATCH 198/373] Use common CI patterns (#362) --- .github/actions/cross-tests/action.yml | 9 +-------- .github/workflows/sha1.yml | 11 +++-------- .github/workflows/sha2.yml | 11 +++-------- .github/workflows/sha3.yml | 11 +++-------- 4 files changed, 10 insertions(+), 32 deletions(-) diff --git a/.github/actions/cross-tests/action.yml b/.github/actions/cross-tests/action.yml index cc63225db..4ec5ab4a3 100644 --- a/.github/actions/cross-tests/action.yml +++ b/.github/actions/cross-tests/action.yml @@ -20,14 +20,7 @@ runs: toolchain: ${{ inputs.rust }} target: ${{ inputs.target }} override: true - - name: Install precompiled cross - run: | - export URL=$(curl -s https://api.github.com/repos/cross-rs/cross/releases/latest | \ - jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') - wget -O /tmp/binaries.tar.gz $URL - tar -C /tmp -xzf /tmp/binaries.tar.gz - mv /tmp/cross ~/.cargo/bin - shell: bash + - uses: RustCrypto/actions/cross-install@master - run: cross test --package ${{ inputs.package }} --target ${{ inputs.target }} diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index e2852cf0a..5403e3c42 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -14,19 +14,14 @@ defaults: working-directory: sha1 env: - MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 jobs: set-msrv: - runs-on: ubuntu-latest - outputs: - msrv: ${{ steps.msrv.outputs.msrv }} - steps: - - uses: actions/checkout@v2 - - id: msrv - run: echo "::set-output name=msrv::$(echo $MSRV)" + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 # Builds for no_std platforms build: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 5e727dcd9..9c386e548 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -14,19 +14,14 @@ defaults: working-directory: sha2 env: - MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 jobs: set-msrv: - runs-on: ubuntu-latest - outputs: - msrv: ${{ steps.msrv.outputs.msrv }} - steps: - - uses: actions/checkout@v2 - - id: msrv - run: echo "::set-output name=msrv::$(echo $MSRV)" + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 # Builds for no_std platforms build: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index ce17381c4..f56ea35aa 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -14,19 +14,14 @@ defaults: working-directory: sha3 env: - MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 jobs: set-msrv: - runs-on: ubuntu-latest - outputs: - msrv: ${{ steps.msrv.outputs.msrv }} - steps: - - uses: actions/checkout@v2 - - id: msrv - run: echo "::set-output name=msrv::$(echo $MSRV)" + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 build: needs: set-msrv From e1a8e86938e7697221547bdd1068a9a89713242b Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 17 Feb 2022 08:56:26 +0000 Subject: [PATCH 199/373] Fix and test min versions build (#363) --- .github/workflows/blake2.yml | 14 +++++++++ .github/workflows/fsb.yml | 14 +++++++++ .github/workflows/gost94.yml | 14 +++++++++ .github/workflows/groestl.yml | 14 +++++++++ .github/workflows/k12.yml | 14 +++++++++ .github/workflows/md2.yml | 14 +++++++++ .github/workflows/md4.yml | 14 +++++++++ .github/workflows/md5.yml | 14 +++++++++ .github/workflows/ripemd.yml | 14 +++++++++ .github/workflows/sha1.yml | 14 +++++++++ .github/workflows/sha2.yml | 14 +++++++++ .github/workflows/sha3.yml | 14 +++++++++ .github/workflows/shabal.yml | 14 +++++++++ .github/workflows/sm3.yml | 14 +++++++++ .github/workflows/streebog.yml | 14 +++++++++ .github/workflows/tiger.yml | 14 +++++++++ .github/workflows/whirlpool.yml | 14 +++++++++ Cargo.lock | 55 +++++++++++++++++---------------- blake2/Cargo.toml | 8 ++--- blake2/src/lib.rs | 1 - fsb/Cargo.toml | 11 ++++--- gost94/Cargo.toml | 8 ++--- groestl/Cargo.toml | 8 ++--- k12/Cargo.toml | 8 ++--- md2/Cargo.toml | 8 ++--- md4/Cargo.toml | 8 ++--- md5/Cargo.toml | 10 +++--- ripemd/Cargo.toml | 8 ++--- sha1/Cargo.toml | 10 +++--- sha2/Cargo.toml | 12 +++---- sha3/Cargo.toml | 8 ++--- shabal/Cargo.toml | 8 ++--- sm3/Cargo.toml | 8 ++--- streebog/Cargo.toml | 8 ++--- tiger/Cargo.toml | 8 ++--- whirlpool/Cargo.toml | 10 +++--- 36 files changed, 341 insertions(+), 102 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index b0eb0eeae..8c09b4eb9 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 3a1b1a51d..33f731120 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 99c2a8feb..7e0c717c7 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 481e69718..c7d587a30 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 5899fa6fd..8cc46bcff 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 26a2cf675..db6c1a8bf 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 84a15538f..3fd7d650c 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 86cab99c2..fc4d028f6 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -40,6 +40,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 4168cc285..0a1e61567 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 5403e3c42..b704e8a96 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -45,6 +45,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + # Linux tests linux: needs: set-msrv diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 9c386e548..2cf734900 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -45,6 +45,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + # Linux tests linux: needs: set-msrv diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index f56ea35aa..949af96bf 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -44,6 +44,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: needs: set-msrv runs-on: ubuntu-latest diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index dfb7f5867..e904888cc 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index 8f353134f..84e725eef 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 46f00fd50..7d9ec9626 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 273078bf8..a577d1995 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -40,6 +40,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index fd506d74c..47949bc71 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -37,6 +37,20 @@ jobs: override: true - run: cargo build --no-default-features --target ${{ matrix.target }} + minimal-versions: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + profile: minimal + - run: rm ../Cargo.toml + - run: cargo update -Z minimal-versions + - run: cargo test --release + - run: cargo test --release --all-features + test: runs-on: ubuntu-latest strategy: diff --git a/Cargo.lock b/Cargo.lock index cad8d0443..ed41e402c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.2" +version = "0.10.3" dependencies = [ "digest", "hex-literal", @@ -48,18 +48,19 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4600d695eb3f6ce1cd44e6e291adceb2cc3ab12f20a33777ecd0bf6eba34e06" +checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" dependencies = [ "generic-array", + "typenum", ] [[package]] name = "digest" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb780dce4f9a8f5c087362b3a4595936b2019e7c8b30f2c3e9a7e94e6ae9837" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" dependencies = [ "blobby", "block-buffer", @@ -69,7 +70,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.1.0" +version = "0.1.1" dependencies = [ "digest", "hex-literal", @@ -88,7 +89,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -96,7 +97,7 @@ dependencies = [ [[package]] name = "groestl" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -104,9 +105,9 @@ dependencies = [ [[package]] name = "hex-literal" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0" +checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11" dependencies = [ "hex-literal-impl", "proc-macro-hack", @@ -114,16 +115,16 @@ dependencies = [ [[package]] name = "hex-literal-impl" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "853f769599eb31de176303197b7ba4973299c38c7a7604a6bc88c3eef05b9b46" +checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8" dependencies = [ "proc-macro-hack", ] [[package]] name = "k12" -version = "0.2.0" +version = "0.2.1" dependencies = [ "digest", "hex-literal", @@ -137,13 +138,13 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.117" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" +checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94" [[package]] name = "md-5" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -152,7 +153,7 @@ dependencies = [ [[package]] name = "md2" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -160,7 +161,7 @@ dependencies = [ [[package]] name = "md4" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -183,7 +184,7 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "ripemd" -version = "0.1.0" +version = "0.1.1" dependencies = [ "digest", "hex-literal", @@ -191,7 +192,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.0" +version = "0.10.1" dependencies = [ "cfg-if", "cpufeatures", @@ -211,7 +212,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.1" +version = "0.10.2" dependencies = [ "cfg-if", "cpufeatures", @@ -231,7 +232,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -240,7 +241,7 @@ dependencies = [ [[package]] name = "shabal" -version = "0.4.0" +version = "0.4.1" dependencies = [ "digest", "hex-literal", @@ -248,7 +249,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.4.0" +version = "0.4.1" dependencies = [ "digest", "hex-literal", @@ -256,7 +257,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -270,7 +271,7 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "tiger" -version = "0.2.0" +version = "0.2.1" dependencies = [ "digest", "hex-literal", @@ -290,7 +291,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "whirlpool" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index d3ca3c28e..aa3a9c91e 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.3" # Also update html_root_url in lib.rs when bumping this description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.2", features = ["mac"] } +digest = { version = "0.10.3", features = ["mac"] } [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index feebeb2a4..462a8c1b7 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -77,7 +77,6 @@ #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd", allow(incomplete_features))] -#![cfg_attr(feature = "simd_asm", feature(asm))] #[cfg(feature = "std")] extern crate std; diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 2f29bdea9..347463221 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "fsb" +version = "0.1.1" # Also update html_root_url in lib.rs when bumping this description = "FSB hash function" -version = "0.1.0" # Also update html_root_url in lib.rs when bumping this authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2018" +documentation = "https://docs.rs/fsb" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" -whirlpool = { version = "0.10", path = "../whirlpool", default-features = false } +digest = "0.10.3" +whirlpool = { version = "0.10.1", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 839478cc9..76ced9917 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 1f67989cf..03a212573 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groestl" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index d736e0827..8d7a9e9b5 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.2.0" # Also update html_root_url in lib.rs when bumping this +version = "0.2.1" # Also update html_root_url in lib.rs when bumping this description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" @@ -12,11 +12,11 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10", features = ["alloc"] } +digest = { version = "0.10.3", features = ["alloc"] } [dev-dependencies] -digest = { version = "0.10", features = ["alloc", "dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["alloc", "dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 33b7833fc..c07f65b19 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" @@ -12,11 +12,11 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 2a7417d0b..de8e3e98d 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 6b27c2fd6..594865aff 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -15,14 +15,14 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.10.2" +digest = "0.10.3" md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] -asm = ["md5-asm"] +asm = ["md5-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 68170ec43..ea6734114 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd" -version = "0.1.0" # Also update html_root_url in lib.rs when bumping this +version = "0.1.1" # Also update html_root_url in lib.rs when bumping this description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 22dcce925..6627712af 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this # on v0.10.x releases also release the sha-1 crate as well description = "SHA-1 hash function" authors = ["RustCrypto Developers"] @@ -13,7 +13,7 @@ keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" cfg-if = "1.0" sha1-asm = { version = "0.5", optional = true } @@ -21,13 +21,13 @@ sha1-asm = { version = "0.5", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha1-asm"] +asm = ["sha1-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates compress = [] # Expose compress function force-soft = [] # Force software implementation diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 89f874cd1..cc4c783c8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -15,7 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } @@ -23,14 +23,14 @@ sha2-asm = { version = "0.6.1", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] -asm = ["sha2-asm"] -compress = [] # Expose compress function +asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates +compress = [] # Expose compress functions force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index faae04c30..4ca5990d7 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,12 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.3" keccak = "0.1" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 2fd851edf..2b7b62979 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shabal" -version = "0.4.0" # Also update html_root_url in lib.rs when bumping this +version = "0.4.1" # Also update html_root_url in lib.rs when bumping this description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 9337f7666..f49427ff8 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.4.0" # Also update html_root_url in lib.rs when bumping this +version = "0.4.1" # Also update html_root_url in lib.rs when bumping this description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 95f1758e3..dddfa1f77 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 4b1e48d75..951e4baba 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tiger" -version = "0.2.0" # Also update html_root_url in lib.rs when bumping this +version = "0.2.1" # Also update html_root_url in lib.rs when bumping this description = "Tiger hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,11 +12,11 @@ keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index f6364436d..5844b701f 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,14 +12,14 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.2" +digest = "0.10.3" whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "0.10.2", features = ["dev"] } -hex-literal = "0.2" +digest = { version = "0.10.3", features = ["dev"] } +hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] -asm = ["whirlpool-asm"] +asm = ["whirlpool-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates From 1cdbd5363f8e20cc378e19bce4d6470143f08ff7 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 17 Feb 2022 10:08:47 +0000 Subject: [PATCH 200/373] Update changelogs and html_root_urls (#364) --- blake2/CHANGELOG.md | 6 ++++++ blake2/src/lib.rs | 2 +- fsb/CHANGELOG.md | 6 ++++++ fsb/src/lib.rs | 2 +- gost94/CHANGELOG.md | 6 ++++++ gost94/src/lib.rs | 2 +- groestl/CHANGELOG.md | 6 ++++++ groestl/src/lib.rs | 2 +- k12/CHANGELOG.md | 6 ++++++ k12/src/lib.rs | 2 +- md2/CHANGELOG.md | 6 ++++++ md2/src/lib.rs | 2 +- md4/CHANGELOG.md | 6 ++++++ md4/src/lib.rs | 2 +- md5/CHANGELOG.md | 6 ++++++ md5/src/lib.rs | 2 +- ripemd/CHANGELOG.md | 6 ++++++ ripemd/src/lib.rs | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/src/lib.rs | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/src/lib.rs | 2 +- sha3/CHANGELOG.md | 6 ++++++ sha3/src/lib.rs | 2 +- shabal/CHANGELOG.md | 6 ++++++ shabal/src/lib.rs | 2 +- sm3/CHANGELOG.md | 6 ++++++ sm3/src/lib.rs | 2 +- streebog/CHANGELOG.md | 6 ++++++ streebog/src/lib.rs | 2 +- tiger/CHANGELOG.md | 6 ++++++ tiger/src/lib.rs | 2 +- whirlpool/CHANGELOG.md | 6 ++++++ whirlpool/src/lib.rs | 2 +- 34 files changed, 119 insertions(+), 17 deletions(-) diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index abd63a81b..3414f1685 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.2 (2022-01-09) ## Fixed - Rare compilation error by adding `'static` bound on `OutSize`. ([#347]) diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 462a8c1b7..729d1dec9 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -72,7 +72,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/blake2/0.10.2" + html_root_url = "https://docs.rs/blake2/0.10.3" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index 964415353..007e2c0ee 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.1.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 292c32e69..8e5082baa 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -41,7 +41,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/fsb/0.1.0" + html_root_url = "https://docs.rs/fsb/0.1.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index 6c6217903..11a431232 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index e35e48e55..8d2f6522a 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -28,7 +28,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/gost94/0.10.0" + html_root_url = "https://docs.rs/gost94/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] #![forbid(unsafe_code)] diff --git a/groestl/CHANGELOG.md b/groestl/CHANGELOG.md index 4a1a089c8..3033d2362 100644 --- a/groestl/CHANGELOG.md +++ b/groestl/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 and significantly improve performance ([#217]) diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index c37b4f274..0f3d077aa 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -29,7 +29,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/groestl/0.10.0" + html_root_url = "https://docs.rs/groestl/0.10.1" )] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md index af466a1d8..1988dcc1f 100644 --- a/k12/CHANGELOG.md +++ b/k12/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.2.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 73607228d..b05b01b2a 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -12,7 +12,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/k12/0.2.0" + html_root_url = "https://docs.rs/k12/0.2.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md index 641a7eb53..c4c7c3b26 100644 --- a/md2/CHANGELOG.md +++ b/md2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 44069fa66..8ae329866 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -27,7 +27,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md2/0.10.0" + html_root_url = "https://docs.rs/md2/0.10.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md index 92a5f63c0..c48c1e1f4 100644 --- a/md4/CHANGELOG.md +++ b/md4/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 1e7dcb043..f643f9a87 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -27,7 +27,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md4/0.10.0" + html_root_url = "https://docs.rs/md4/0.10.1" )] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 394eaa3d9..0727ee23e 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/md5/src/lib.rs b/md5/src/lib.rs index d32ff711c..0dcb14fdc 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -27,7 +27,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md-5/0.10.0" + html_root_url = "https://docs.rs/md-5/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/ripemd/CHANGELOG.md b/ripemd/CHANGELOG.md index 24fbb48f7..cde00fed1 100644 --- a/ripemd/CHANGELOG.md +++ b/ripemd/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.1.0 (2021-12-07) - Initial release of merged `ripemd160` and `ripemd320` crates updated to `digest` v0.10. ([#217]) diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index e83d49df1..796e33f1c 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -42,7 +42,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/ripemd/0.1.0" + html_root_url = "https://docs.rs/ripemd/0.1.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 12e08dc6d..7d184fdfa 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2022-01-17) ### Changed - The crate is transferred to the RustCrypto organization. New implementation is identical to the `sha-1 v0.10.0` crate and expressed in terms of traits from the `digest` crate. ([#350]) diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index e22a6004d..9a20a01a6 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -45,7 +45,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha1/0.10.0" + html_root_url = "https://docs.rs/sha1/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 1e52559e2..13907854b 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.1 (2022-01-06) ### Fixed - Bug in the AVX2 backend ([#345]) diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 3bc09f2d3..6eeec46e0 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -48,7 +48,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha2/0.10.1" + html_root_url = "https://docs.rs/sha2/0.10.2" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index c94b5e0c8..090074377 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index e584435cc..45b608693 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -60,7 +60,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha3/0.10.0" + html_root_url = "https://docs.rs/sha3/0.10.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/shabal/CHANGELOG.md b/shabal/CHANGELOG.md index 0f16088c2..5c34a9824 100644 --- a/shabal/CHANGELOG.md +++ b/shabal/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.4.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index 6c7943612..b877c8b5a 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -40,7 +40,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/shabal/0.4.0" + html_root_url = "https://docs.rs/shabal/0.4.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md index 343b19f16..f12c2365c 100644 --- a/sm3/CHANGELOG.md +++ b/sm3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.4.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 385f4c318..0e1e5c9f9 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -32,7 +32,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sm3/0.4.0" + html_root_url = "https://docs.rs/sm3/0.4.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index b11a91b8c..c5d6756b1 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index dfcde8c3f..1ff6b491f 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -37,7 +37,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/streebog/0.10.0" + html_root_url = "https://docs.rs/streebog/0.10.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/tiger/CHANGELOG.md b/tiger/CHANGELOG.md index 37b0cb683..22c7ecded 100644 --- a/tiger/CHANGELOG.md +++ b/tiger/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.2.0 (2021-12-28) ### Added - `Tiger2` variant ([#217]) diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 1576f1569..b605b7b5f 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -29,7 +29,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/tiger/0.2.0" + html_root_url = "https://docs.rs/tiger/0.2.1" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index ce759f132..9ed49c889 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-02-17) +### Fixed +- Minimal versions build ([#363]) + +[#363]: https://github.com/RustCrypto/hashes/pull/363 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 ([#217]) diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 7ed1998e7..84d8c7012 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -39,7 +39,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/whirlpool/0.10.0" + html_root_url = "https://docs.rs/whirlpool/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] From 73e257d4e0987fcb2e8d2ddc59a4fd068579f3e1 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Fri, 18 Feb 2022 09:44:25 +0100 Subject: [PATCH 201/373] Use minimal-versions from RustCrypto/actions (#365) --- .github/workflows/blake2.yml | 16 ++++------------ .github/workflows/fsb.yml | 16 ++++------------ .github/workflows/gost94.yml | 16 ++++------------ .github/workflows/groestl.yml | 16 ++++------------ .github/workflows/k12.yml | 16 ++++------------ .github/workflows/md2.yml | 16 ++++------------ .github/workflows/md4.yml | 16 ++++------------ .github/workflows/md5.yml | 16 ++++------------ .github/workflows/ripemd.yml | 16 ++++------------ .github/workflows/sha1.yml | 15 +++------------ .github/workflows/sha2.yml | 15 +++------------ .github/workflows/sha3.yml | 15 +++------------ .github/workflows/shabal.yml | 16 ++++------------ .github/workflows/sm3.yml | 16 ++++------------ .github/workflows/streebog.yml | 16 ++++------------ .github/workflows/tiger.yml | 16 ++++------------ .github/workflows/whirlpool.yml | 16 ++++------------ 17 files changed, 65 insertions(+), 204 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 8c09b4eb9..728a0c46d 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -3,6 +3,7 @@ name: blake2 on: pull_request: paths: + - ".github/workflows/blake2.yml" - "blake2/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 33f731120..8dcfbc9ab 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -3,6 +3,7 @@ name: fsb on: pull_request: paths: + - ".github/workflows/fsb.yml" - "fsb/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 7e0c717c7..0501444bc 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -3,6 +3,7 @@ name: gost94 on: pull_request: paths: + - ".github/workflows/gost94.yml" - "gost94/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index c7d587a30..685796f4d 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -3,6 +3,7 @@ name: groestl on: pull_request: paths: + - ".github/workflows/groestl.yml" - "groestl/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 8cc46bcff..f982519d4 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -3,6 +3,7 @@ name: k12 on: pull_request: paths: + - ".github/workflows/k12.yml" - "k12/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index db6c1a8bf..08ebcc4f9 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -3,6 +3,7 @@ name: md2 on: pull_request: paths: + - ".github/workflows/md2.yml" - "md2/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 3fd7d650c..4289a2821 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -3,6 +3,7 @@ name: md4 on: pull_request: paths: + - ".github/workflows/md4.yml" - "md4/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index fc4d028f6..24c6c0638 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -3,6 +3,7 @@ name: md5 on: pull_request: paths: + - ".github/workflows/md5.yml" - "md5/**" - "Cargo.*" push: @@ -41,18 +42,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 0a1e61567..eaa2b7072 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -3,6 +3,7 @@ name: ripemd on: pull_request: paths: + - ".github/workflows/ripemd.yml" - "ripemd/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index b704e8a96..52c44ae08 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -46,18 +46,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # Linux tests linux: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 2cf734900..c3d4b738f 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -46,18 +46,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # Linux tests linux: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 949af96bf..245d2652c 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -45,18 +45,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: needs: set-msrv diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index e904888cc..00dc400e6 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -3,6 +3,7 @@ name: shabal on: pull_request: paths: + - ".github/workflows/shabal.yml" - "shabal/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index 84e725eef..c27673235 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -3,6 +3,7 @@ name: sm3 on: pull_request: paths: + - ".github/workflows/sm3.yml" - "sm3/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 7d9ec9626..156ed1ba8 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -3,6 +3,7 @@ name: streebog on: pull_request: paths: + - ".github/workflows/streebog.yml" - "streebog/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index a577d1995..f3a3ca54e 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -3,6 +3,7 @@ name: tiger on: pull_request: paths: + - ".github/workflows/tiger.yml" - "tiger/**" - "Cargo.*" push: @@ -41,18 +42,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 47949bc71..fefc4f9d6 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -3,6 +3,7 @@ name: whirlpool on: pull_request: paths: + - ".github/workflows/whirlpool.yml" - "whirlpool/**" - "Cargo.*" push: @@ -38,18 +39,9 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - run: rm ../Cargo.toml - - run: cargo update -Z minimal-versions - - run: cargo test --release - - run: cargo test --release --all-features + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest From 352f4c9028e6b80ccf2e4e1e52e57e6ae76b1ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 18 Feb 2022 15:50:10 +0300 Subject: [PATCH 202/373] Update Cargo.lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ed41e402c..b608f7e61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.72" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" [[package]] name = "cfg-if" From 6c2c0bc2a9336708309a7dd0298ee8fc0694e17b Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Fri, 18 Feb 2022 19:07:48 +0100 Subject: [PATCH 203/373] blake2: Fix bug on BE machines (#366) --- .github/workflows/blake2.yml | 27 +++++++++++++++++++++++++++ blake2/src/macros.rs | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 728a0c46d..62375ed37 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -72,3 +72,30 @@ jobs: - run: cargo test --features simd - run: cargo test --features simd_opt - run: cargo test --features simd_asm + + # Cross-compiled tests + cross: + strategy: + matrix: + rust: + - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest + - stable + target: + - aarch64-unknown-linux-gnu + - mips-unknown-linux-gnu + features: + - default + + runs-on: ubuntu-latest + defaults: + run: + # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml + working-directory: . + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/cross-tests + with: + rust: ${{ matrix.rust }} + package: ${{ github.workflow }} + target: ${{ matrix.target }} + features: ${{ matrix.features }} diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index 3c1301c5c..4a014716d 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -143,7 +143,7 @@ macro_rules! blake2_impl { let mut m: [$word; 16] = Default::default(); let n = core::mem::size_of::<$word>(); for (v, chunk) in m.iter_mut().zip(block.chunks_exact(n)) { - *v = $word::from_le_bytes(chunk.try_into().unwrap()); + *v = $word::from_ne_bytes(chunk.try_into().unwrap()); } let h = &mut self.h; From 377027b64f9f6fd58e26b571dda718e5d6583a89 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 18 Feb 2022 18:49:23 +0000 Subject: [PATCH 204/373] blake2: release v0.10.4 (#367) --- Cargo.lock | 2 +- blake2/CHANGELOG.md | 14 ++++++++++---- blake2/Cargo.toml | 2 +- blake2/src/lib.rs | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b608f7e61..83dd300b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.3" +version = "0.10.4" dependencies = [ "digest", "hex-literal", diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 3414f1685..f8c6aa4e5 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,13 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.3 (2022-02-17) +## 0.10.4 (2022-02-17) +### Fixed +- Bug on big-endian targets ([#366]) + +[#366]: https://github.com/RustCrypto/hashes/pull/366 + +## 0.10.3 (2022-02-17) [YANKED] ### Fixed - Minimal versions build ([#363]) [#363]: https://github.com/RustCrypto/hashes/pull/363 -## 0.10.2 (2022-01-09) +## 0.10.2 (2022-01-09) [YANKED] ## Fixed - Rare compilation error by adding `'static` bound on `OutSize`. ([#347]) - Values of `KeySize` associated type. ([#349]) @@ -19,13 +25,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#347]: https://github.com/RustCrypto/hashes/pull/347 [#349]: https://github.com/RustCrypto/hashes/pull/349 -## 0.10.1 (2022-01-05) +## 0.10.1 (2022-01-05) [YANKED] ## Fixed - Compilation error with enabled `reset` feature. ([#342]) [#342]: https://github.com/RustCrypto/hashes/pull/342 -## 0.10.0 (2021-12-07) +## 0.10.0 (2021-12-07) [YANKED] ### Changed - Update to `digest` v0.10 and remove dependency on `crypto-mac` ([#217]) - `Blake2b` and `Blake2s` renamed into `Blake2b512` and `Blake2s256` respectively. diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index aa3a9c91e..48e838632 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.10.3" # Also update html_root_url in lib.rs when bumping this +version = "0.10.4" # Also update html_root_url in lib.rs when bumping this description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 729d1dec9..6f7691c78 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -72,7 +72,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/blake2/0.10.3" + html_root_url = "https://docs.rs/blake2/0.10.4" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] From 5038cafb5597d4a23cd38fdc4873cae3e5619f02 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Mon, 21 Feb 2022 17:12:08 +0100 Subject: [PATCH 205/373] Add cargo-cache from RustCrypto/actions (#369) --- .github/actions/cross-tests/action.yml | 1 + .github/workflows/blake2.yml | 9 ++++++--- .github/workflows/fsb.yml | 6 ++++-- .github/workflows/gost94.yml | 6 ++++-- .github/workflows/groestl.yml | 6 ++++-- .github/workflows/k12.yml | 6 ++++-- .github/workflows/md2.yml | 6 ++++-- .github/workflows/md4.yml | 6 ++++-- .github/workflows/md5.yml | 6 ++++-- .github/workflows/ripemd.yml | 6 ++++-- .github/workflows/security-audit.yml | 3 ++- .github/workflows/sha1.yml | 16 ++++++++++------ .github/workflows/sha2.yml | 14 +++++++++----- .github/workflows/sha3.yml | 4 +++- .github/workflows/shabal.yml | 6 ++++-- .github/workflows/sm3.yml | 6 ++++-- .github/workflows/streebog.yml | 6 ++++-- .github/workflows/tiger.yml | 6 ++++-- .github/workflows/whirlpool.yml | 6 ++++-- .github/workflows/workspace.yml | 5 +++-- 20 files changed, 86 insertions(+), 44 deletions(-) diff --git a/.github/actions/cross-tests/action.yml b/.github/actions/cross-tests/action.yml index 4ec5ab4a3..a07daeff3 100644 --- a/.github/actions/cross-tests/action.yml +++ b/.github/actions/cross-tests/action.yml @@ -14,6 +14,7 @@ runs: using: "composite" steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 62375ed37..2e1df3d1c 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -63,7 +65,8 @@ jobs: simd: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 8dcfbc9ab..9fffc68fd 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 0501444bc..72dd019cd 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 685796f4d..c8bb94b82 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index f982519d4..e6f805901 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -29,7 +29,8 @@ jobs: # - thumbv7em-none-eabi # TODO: no_std w/o liballoc - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 08ebcc4f9..9805d7911 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 4289a2821..d5c26f8cd 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 24c6c0638..cc563026f 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -32,7 +32,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -54,7 +55,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index eaa2b7072..387c4fd05 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index 0d82d54ba..4af99ee7d 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -13,7 +13,8 @@ jobs: name: Security Audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - name: Cache cargo bin uses: actions/cache@v1 with: diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 52c44ae08..126943674 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -36,7 +36,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -75,6 +76,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -92,17 +94,18 @@ jobs: needs: set-msrv strategy: matrix: - toolchain: + rust: - ${{needs.set-msrv.outputs.msrv}} - stable runs-on: macos-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.toolchain }} + toolchain: ${{ matrix.rust }} target: x86_64-apple-darwin override: true - run: cargo test --no-default-features @@ -121,15 +124,16 @@ jobs: #- target: x86_64-pc-windows-gnu # toolchain: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-pc-windows-gnu - toolchain: stable + rust: stable runs-on: windows-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.toolchain }} + toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - uses: msys2/setup-msys2@v2 @@ -140,7 +144,7 @@ jobs: strategy: matrix: rust: - - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest + - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index c3d4b738f..ab9722ab2 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -37,6 +37,7 @@ jobs: - wasm32-unknown-unknown steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -73,6 +74,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -90,17 +92,18 @@ jobs: needs: set-msrv strategy: matrix: - toolchain: + rust: - ${{needs.set-msrv.outputs.msrv}} - stable runs-on: macos-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.toolchain }} + toolchain: ${{ matrix.rust }} target: x86_64-apple-darwin override: true - run: cargo test --no-default-features @@ -118,15 +121,16 @@ jobs: #- target: x86_64-pc-windows-gnu # toolchain: 1.41.0 # MSRV - target: x86_64-pc-windows-gnu - toolchain: stable + rust: stable runs-on: windows-latest steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: ${{ matrix.toolchain }} + toolchain: ${{ matrix.rust }} target: ${{ matrix.target }} override: true - uses: msys2/setup-msys2@v2 @@ -137,7 +141,7 @@ jobs: strategy: matrix: rust: - - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest + - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 245d2652c..4ff24045d 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -36,6 +36,7 @@ jobs: - wasm32-unknown-unknown steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -59,6 +60,7 @@ jobs: - stable steps: - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -74,7 +76,7 @@ jobs: strategy: matrix: rust: - - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest + - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index 00dc400e6..4ab604775 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index c27673235..e31b9ca11 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 156ed1ba8..48d8cc848 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index f3a3ca54e..a9ebea607 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -32,7 +32,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -54,7 +55,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index fefc4f9d6..375f03fcc 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -29,7 +29,8 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -51,7 +52,8 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: profile: minimal diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index f6e8305a3..aa7e6c1a9 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,8 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: toolchain: 1.47.0 @@ -26,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From 3635b955a1fa16037df64756a100f10efacd7ab2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 09:12:57 -0600 Subject: [PATCH 206/373] build(deps): bump cpufeatures from 0.2.1 to 0.2.2 (#372) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.1 to 0.2.2. - [Release notes](https://github.com/RustCrypto/utils/releases) - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.2.1...cpufeatures-v0.2.2) --- updated-dependencies: - dependency-name: cpufeatures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 83dd300b6..c03205155 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,9 +39,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" dependencies = [ "libc", ] From f430ed21bccfaa13891a64b6d0296a00e11808b5 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 27 Mar 2022 11:34:47 -0600 Subject: [PATCH 207/373] README.md: move security level legend next to table --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c0429d480..392302cc2 100644 --- a/README.md +++ b/README.md @@ -36,17 +36,6 @@ NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of th [Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary [:exclamation:]: #crate-names -### Crate Names - -Whenever possible crates are published under the the same name as the crate folder. -Owners of `md5` [declined](https://github.com/stainless-steel/md5/pull/) to participate in this project. -This crate does not implement the [`digest`] traits, so it is not interoperable with the RustCrypto ecosystem. -This is why we publish our MD5 implementation as `md-5` and mark it with the :exclamation: mark. -Note that the library itself is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. - -The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0. -`sha-1` will continue to recieve v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. - ### Security Level Legend The following describes the security level ratings associated with each hash function (i.e. algorithms, not the specific implementation): @@ -59,6 +48,17 @@ The following describes the security level ratings associated with each hash fun See the [Security] page on Wikipedia for more information. +### Crate Names + +Whenever possible crates are published under the the same name as the crate folder. +Owners of `md5` [declined](https://github.com/stainless-steel/md5/pull/) to participate in this project. +This crate does not implement the [`digest`] traits, so it is not interoperable with the RustCrypto ecosystem. +This is why we publish our MD5 implementation as `md-5` and mark it with the :exclamation: mark. +Note that the library itself is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. + +The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0. +`sha-1` will continue to recieve v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. + ### Minimum Supported Rust Version (MSRV) Policy MSRV bumps are considered breaking changes and will be performed only with minor version bump. From d86dcc00cf5c498ebb6c60ff13f23f92f7ab71f7 Mon Sep 17 00:00:00 2001 From: Risto Saarelma Date: Wed, 6 Apr 2022 18:21:35 +0300 Subject: [PATCH 208/373] Use correct variable name in Base64 hash example (#374) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 392302cc2..bc3e5d09b 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ If you need to serialize hash value into string, you can use crates like [`base1 use base64ct::{Base64, Encoding}; let base64_hash = Base64::encode_string(&hash); -println!("Base64-encoded hash: {}", hex_hash); +println!("Base64-encoded hash: {}", base64_hash); let hex_hash = base16ct::lower::encode_string(&hash); println!("Hex-encoded hash: {}", hex_hash); From dfcfb21f7f35e6a540b88e096e284ac4f58c79c9 Mon Sep 17 00:00:00 2001 From: Giacomo Pasini Date: Mon, 11 Apr 2022 18:34:27 +0200 Subject: [PATCH 209/373] Update workspace feature resolver version to 2 (#375) Version 1 of feature resolver always causes features unification of build and dev dependencies, which is unwanted in some circumstances. For example, the `dev` feature of the `digest` always depends on `alloc` which requires to define a global allocator in static libs even though that is never used by library code. Also bumps clippy to v1.60.0. --- .github/workflows/workspace.yml | 2 +- Cargo.toml | 1 + blake2/src/as_bytes.rs | 1 + blake2/src/simd.rs | 1 + sha1/src/compress/soft.rs | 1 + sha1/src/compress/x86.rs | 1 + whirlpool/src/lib.rs | 2 ++ 7 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index aa7e6c1a9..348e309ca 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: - toolchain: 1.47.0 + toolchain: 1.60.0 components: clippy profile: minimal override: true diff --git a/Cargo.toml b/Cargo.toml index acf46a65c..6ad5e3267 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,5 @@ [workspace] +resolver = "2" members = [ "blake2", "fsb", diff --git a/blake2/src/as_bytes.rs b/blake2/src/as_bytes.rs index 02cca6bba..743a5adc3 100644 --- a/blake2/src/as_bytes.rs +++ b/blake2/src/as_bytes.rs @@ -8,6 +8,7 @@ use core::mem; use core::slice; +#[allow(clippy::missing_safety_doc)] pub unsafe trait Safe {} pub trait AsBytes { diff --git a/blake2/src/simd.rs b/blake2/src/simd.rs index b6fb15a40..bf923f56a 100644 --- a/blake2/src/simd.rs +++ b/blake2/src/simd.rs @@ -15,6 +15,7 @@ pub use self::simdty::{u32x4, u64x4}; pub trait Vector4: Copy { fn gather(src: &[T], i0: usize, i1: usize, i2: usize, i3: usize) -> Self; + #[allow(clippy::wrong_self_convention)] fn from_le(self) -> Self; fn to_le(self) -> Self; diff --git a/sha1/src/compress/soft.rs b/sha1/src/compress/soft.rs index f4777e7cc..0b9fb2701 100644 --- a/sha1/src/compress/soft.rs +++ b/sha1/src/compress/soft.rs @@ -201,6 +201,7 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { let mut w1 = [block[4], block[5], block[6], block[7]]; let mut w2 = [block[8], block[9], block[10], block[11]]; let mut w3 = [block[12], block[13], block[14], block[15]]; + #[allow(clippy::needless_late_init)] let mut w4; let mut h0 = [state[0], state[1], state[2], state[3]]; diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index d30234249..4dcd56b8a 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -52,6 +52,7 @@ unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(1)), MASK); let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(2)), MASK); let mut w3 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(3)), MASK); + #[allow(clippy::needless_late_init)] let mut w4; let mut h0 = state_abcd; diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 84d8c7012..996c9b797 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -126,6 +126,8 @@ impl WhirlpoolCore { } } +// derivable impl does not inline +#[allow(clippy::derivable_impls)] impl Default for WhirlpoolCore { #[inline] fn default() -> Self { From 9125a4bc315edb3966b101a21fa30b8500a8ef70 Mon Sep 17 00:00:00 2001 From: IvashchenkoSerhii <26857105+IvashchenkoSerhii@users.noreply.github.com> Date: Thu, 26 May 2022 18:08:57 +0300 Subject: [PATCH 210/373] Add GOST 34.311-95 28147-89 UA version (#377) --- Cargo.lock | 2 +- gost94/CHANGELOG.md | 6 ++++++ gost94/Cargo.toml | 2 +- gost94/src/lib.rs | 5 ++++- gost94/src/params.rs | 19 +++++++++++++++++++ gost94/tests/mod.rs | 12 +++++++++++- 6 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c03205155..ecb7b70e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -89,7 +89,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index 11a431232..67d92c60f 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-05-25) +### Added +- Gost 34.311-95 28147-89 UA version 1.2.804.2.1.1.1.1.2.1 OID ([#377]) + +[#377]: https://github.com/RustCrypto/hashes/pull/377 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 76ced9917..7ea722fa2 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 8d2f6522a..907b80949 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -28,7 +28,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/gost94/0.10.1" + html_root_url = "https://docs.rs/gost94/0.10.2" )] #![warn(missing_docs, rust_2018_idioms)] #![forbid(unsafe_code)] @@ -52,3 +52,6 @@ pub type Gost94CryptoPro = CoreWrapper>; pub type Gost94s2015 = CoreWrapper>; /// GOST94 hash function with test parameters. pub type Gost94Test = CoreWrapper>; +/// GOST94 hash function with UAPKI GOST 34.311-95 parameters +/// (1.2.804.2.1.1.1.1.2.1 OID). +pub type Gost94UA = CoreWrapper>; diff --git a/gost94/src/params.rs b/gost94/src/params.rs index c7bf9459a..aa10216f5 100644 --- a/gost94/src/params.rs +++ b/gost94/src/params.rs @@ -68,3 +68,22 @@ impl Gost94Params for TestParam { const H0: Block = [0; 32]; const NAME: &'static str = "Gost94Test"; } + +/// S-Box defined in GOST 34.311-95 & GOST 28147:2009. +#[derive(Copy, Clone, Default)] +pub struct GOST28147UAParam; + +impl Gost94Params for GOST28147UAParam { + const S_BOX: SBox = [ + [10, 9, 13, 6, 14, 11, 4, 5, 15, 1, 3, 12, 7, 0, 8, 2], + [8, 0, 12, 4, 9, 6, 7, 11, 2, 3, 1, 15, 5, 14, 10, 13], + [15, 6, 5, 8, 14, 11, 10, 4, 12, 0, 3, 7, 2, 9, 1, 13], + [3, 8, 13, 9, 6, 11, 15, 0, 2, 5, 12, 10, 4, 14, 1, 7], + [15, 8, 14, 9, 7, 2, 0, 13, 12, 6, 1, 5, 11, 4, 3, 10], + [2, 8, 9, 7, 5, 15, 0, 11, 12, 1, 13, 14, 10, 3, 6, 4], + [3, 8, 11, 5, 6, 4, 14, 10, 2, 12, 1, 7, 9, 15, 13, 0], + [1, 2, 3, 14, 6, 13, 11, 8, 15, 10, 12, 5, 7, 9, 0, 4], + ]; + const H0: Block = [0; 32]; + const NAME: &'static str = "Gost28147UA"; +} diff --git a/gost94/tests/mod.rs b/gost94/tests/mod.rs index afafa3794..41658f911 100644 --- a/gost94/tests/mod.rs +++ b/gost94/tests/mod.rs @@ -1,6 +1,6 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; use digest::new_test; -use gost94::{Digest, Gost94CryptoPro, Gost94Test}; +use gost94::{Digest, Gost94CryptoPro, Gost94Test, Gost94UA}; use hex_literal::hex; new_test!(gost94_test_main, "test", Gost94Test, fixed_reset_test); @@ -81,3 +81,13 @@ fn arithmetic_overflow_regression() { h.update(&include_bytes!("data/arithmetic_overflow.bin")[..]); h.finalize().as_slice(); } + +#[test] +fn gost_ua_engine_tests() { + let mut h = Gost94UA::new(); + h.update(b"test"); + assert_eq!( + h.finalize_reset().as_slice(), + hex!("7c536414f8b5b9cc649fdf3cccb2685c1a12622956308e34f31c50ed7b3af56c"), + ); +} From 24ece3894fce92e5e89d28a3595571605b27eafe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Thu, 26 May 2022 18:10:04 +0300 Subject: [PATCH 211/373] gost94: fix release date --- gost94/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index 67d92c60f..6f7e16c52 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.2 (2022-05-25) +## 0.10.2 (2022-05-26) ### Added - Gost 34.311-95 28147-89 UA version 1.2.804.2.1.1.1.1.2.1 OID ([#377]) From 9db7441da7980caf5958177916af923bf604ddae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 May 2022 09:18:33 +0000 Subject: [PATCH 212/373] build(deps): bump keccak from 0.1.0 to 0.1.2 (#376) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ecb7b70e4..9a6af448d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -132,9 +132,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" +checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" From f9ea367871d968585b050e4cf06dd2706077f968 Mon Sep 17 00:00:00 2001 From: Joachim Vandersmissen Date: Sat, 28 May 2022 14:42:20 +0200 Subject: [PATCH 213/373] Add cSHAKE128 and cSHAKE256 implementations (#355) --- sha3/Cargo.toml | 1 + sha3/src/lib.rs | 31 ++++++ sha3/src/macros.rs | 171 ++++++++++++++++++++++++++++++++++ sha3/tests/cshake.rs | 145 ++++++++++++++++++++++++++++ sha3/tests/data/cshake128.blb | Bin 0 -> 165220 bytes sha3/tests/data/cshake256.blb | Bin 0 -> 165286 bytes 6 files changed, 348 insertions(+) create mode 100644 sha3/tests/cshake.rs create mode 100644 sha3/tests/data/cshake128.blb create mode 100644 sha3/tests/data/cshake256.blb diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 4ca5990d7..9027c6007 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -22,3 +22,4 @@ hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +reset = [] # Enable reset functionality diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 45b608693..b6eb8f7cd 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -76,6 +76,7 @@ use digest::{ ExtendableOutputCore, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, XofReaderCore, XofReaderCoreWrapper, }, + generic_array::typenum::Unsigned, HashMarker, Output, }; @@ -89,6 +90,7 @@ use crate::state::Sha3State; const KECCAK: u8 = 0x01; const SHA3: u8 = 0x06; const SHAKE: u8 = 0x1f; +const CSHAKE: u8 = 0x4; impl_sha3!(Keccak224Core, Keccak224, U28, U144, KECCAK, "Keccak-224"); impl_sha3!(Keccak256Core, Keccak256, U32, U136, KECCAK, "Keccak-256"); @@ -127,3 +129,32 @@ impl_shake!( SHAKE, "SHAKE256", ); + +impl_cshake!( + CShake128Core, + CShake128, + CShake128ReaderCore, + CShake128Reader, + U168, + SHAKE, + CSHAKE, + "CSHAKE128", +); +impl_cshake!( + CShake256Core, + CShake256, + CShake256ReaderCore, + CShake256Reader, + U136, + SHAKE, + CSHAKE, + "CSHAKE256", +); + +#[inline(always)] +pub(crate) fn left_encode(val: u64, b: &mut [u8; 9]) -> &[u8] { + b[1..].copy_from_slice(&val.to_be_bytes()); + let i = b[1..8].iter().take_while(|&&a| a == 0).count(); + b[i] = (8 - i) as u8; + &b[i..] +} diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 84d58329b..ab27ffda3 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -195,3 +195,174 @@ macro_rules! impl_shake { pub type $reader_full = XofReaderCoreWrapper<$name>; }; } + +macro_rules! impl_cshake { + ( + $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, + $rate:ident, $shake_pad:expr, $cshake_pad:expr, $alg_name:expr, + ) => { + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " hasher state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $name { + padding: u8, + state: Sha3State, + #[cfg(feature = "reset")] + initial_state: Sha3State, + } + + impl $name { + /// Creates a new CSHAKE instance with the given customization. + pub fn new(customization: &[u8]) -> Self { + Self::new_with_function_name(&[], customization) + } + + /// Creates a new CSHAKE instance with the given function name and customization. + /// Note that the function name is intended for use by NIST and should only be set to + /// values defined by NIST. You probably don't need to use this function. + pub fn new_with_function_name(function_name: &[u8], customization: &[u8]) -> Self { + let mut state = Sha3State::default(); + if function_name.is_empty() && customization.is_empty() { + return Self { + padding: $shake_pad, + state: state.clone(), + #[cfg(feature = "reset")] + initial_state: state, + }; + } + + let mut buffer = Buffer::::default(); + let mut b = [0u8; 9]; + buffer.digest_blocks(left_encode($rate::to_u64(), &mut b), |blocks| { + for block in blocks { + state.absorb_block(block); + } + }); + buffer.digest_blocks( + left_encode((function_name.len() * 8) as u64, &mut b), + |blocks| { + for block in blocks { + state.absorb_block(block); + } + }, + ); + buffer.digest_blocks(function_name, |blocks| { + for block in blocks { + state.absorb_block(block); + } + }); + buffer.digest_blocks( + left_encode((customization.len() * 8) as u64, &mut b), + |blocks| { + for block in blocks { + state.absorb_block(block); + } + }, + ); + buffer.digest_blocks(customization, |blocks| { + for block in blocks { + state.absorb_block(block); + } + }); + state.absorb_block(buffer.pad_with_zeros()); + + Self { + padding: $cshake_pad, + state: state.clone(), + #[cfg(feature = "reset")] + initial_state: state, + } + } + } + + impl HashMarker for $name {} + + impl BlockSizeUser for $name { + type BlockSize = $rate; + } + + impl BufferKindUser for $name { + type BufferKind = Eager; + } + + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block) + } + } + } + + impl ExtendableOutputCore for $name { + type ReaderCore = $reader; + + #[inline] + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = self.padding; + let n = block.len(); + block[n - 1] |= 0x80; + + self.state.absorb_block(block); + $reader { + state: self.state.clone(), + } + } + } + + #[cfg(feature = "reset")] + impl Reset for $name { + #[inline] + fn reset(&mut self) { + self.state = self.initial_state.clone(); + } + } + + impl AlgorithmName for $name { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_name)) + } + } + + impl fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($name), " { ... }")) + } + } + + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " reader state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $reader { + state: Sha3State, + } + + impl BlockSizeUser for $reader { + type BlockSize = $rate; + } + + impl XofReaderCore for $reader { + #[inline] + fn read_block(&mut self) -> Block { + let mut block = Block::::default(); + self.state.as_bytes(&mut block); + self.state.apply_f(); + block + } + } + + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$name>; + }; +} diff --git a/sha3/tests/cshake.rs b/sha3/tests/cshake.rs new file mode 100644 index 000000000..0ba62e2c9 --- /dev/null +++ b/sha3/tests/cshake.rs @@ -0,0 +1,145 @@ +use core::fmt::Debug; +use digest::ExtendableOutput; +#[cfg(feature = "reset")] +use digest::ExtendableOutputReset; + +#[cfg(feature = "reset")] +pub(crate) fn cshake_reset_test(input: &[u8], output: &[u8], new: F) -> Option<&'static str> +where + D: ExtendableOutputReset + Debug + Clone, + F: Fn() -> D, +{ + let mut hasher = new(); + let mut buf = [0u8; 1024]; + let buf = &mut buf[..output.len()]; + // Test that it works when accepting the message all at once + hasher.update(input); + let mut hasher2 = hasher.clone(); + hasher.finalize_xof_into(buf); + if buf != output { + return Some("whole message"); + } + buf.iter_mut().for_each(|b| *b = 0); + + // Test if reset works correctly + hasher2.reset(); + hasher2.update(input); + hasher2.finalize_xof_reset_into(buf); + if buf != output { + return Some("whole message after reset"); + } + buf.iter_mut().for_each(|b| *b = 0); + + // Test that it works when accepting the message in chunks + for n in 1..core::cmp::min(17, input.len()) { + let mut hasher = new(); + for chunk in input.chunks(n) { + hasher.update(chunk); + hasher2.update(chunk); + } + hasher.finalize_xof_into(buf); + if buf != output { + return Some("message in chunks"); + } + buf.iter_mut().for_each(|b| *b = 0); + + hasher2.finalize_xof_reset_into(buf); + if buf != output { + return Some("message in chunks"); + } + buf.iter_mut().for_each(|b| *b = 0); + } + + None +} + +pub(crate) fn cshake_test(input: &[u8], output: &[u8], new: F) -> Option<&'static str> +where + D: ExtendableOutput + Debug + Clone, + F: Fn() -> D, +{ + let mut hasher = new(); + let mut buf = [0u8; 1024]; + let buf = &mut buf[..output.len()]; + // Test that it works when accepting the message all at once + hasher.update(input); + let mut hasher2 = hasher.clone(); + hasher.finalize_xof_into(buf); + if buf != output { + return Some("whole message"); + } + buf.iter_mut().for_each(|b| *b = 0); + + // Test that it works when accepting the message in chunks + for n in 1..core::cmp::min(17, input.len()) { + let mut hasher = new(); + for chunk in input.chunks(n) { + hasher.update(chunk); + hasher2.update(chunk); + } + hasher.finalize_xof_into(buf); + if buf != output { + return Some("message in chunks"); + } + buf.iter_mut().for_each(|b| *b = 0); + } + + None +} + +macro_rules! new_cshake_test { + ($name:ident, $test_name:expr, $hasher:ty, $hasher_core:ty, $test_func:ident $(,)?) => { + #[test] + fn $name() { + use digest::dev::blobby::Blob3Iterator; + let data = include_bytes!(concat!("data/", $test_name, ".blb")); + + for (i, row) in Blob3Iterator::new(data).unwrap().enumerate() { + let [customization, input, output] = row.unwrap(); + if let Some(desc) = $test_func(input, output, || { + <$hasher>::from_core(<$hasher_core>::new(customization)) + }) { + panic!( + "\n\ + Failed test â„–{}: {}\n\ + input:\t{:?}\n\ + output:\t{:?}\n", + i, desc, input, output, + ); + } + } + } + }; +} + +#[cfg(feature = "reset")] +new_cshake_test!( + cshake128_reset, + "cshake128", + sha3::CShake128, + sha3::CShake128Core, + cshake_reset_test +); +#[cfg(feature = "reset")] +new_cshake_test!( + cshake256_reset, + "cshake256", + sha3::CShake256, + sha3::CShake256Core, + cshake_reset_test +); + +new_cshake_test!( + cshake128, + "cshake128", + sha3::CShake128, + sha3::CShake128Core, + cshake_test +); +new_cshake_test!( + cshake256, + "cshake256", + sha3::CShake256, + sha3::CShake256Core, + cshake_test +); diff --git a/sha3/tests/data/cshake128.blb b/sha3/tests/data/cshake128.blb new file mode 100644 index 0000000000000000000000000000000000000000..e8ae154f75d36a6e00f1d55f1eee1aade8c7e66f GIT binary patch literal 165220 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≻N6>0s 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 hlNK!hwM4?Ukb`MD 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:ke&IHhE4&?s1 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 literal 0 HcmV?d00001 From 072287a9cf01b97b9953d927b71681aa350fd657 Mon Sep 17 00:00:00 2001 From: IvashchenkoSerhii <26857105+IvashchenkoSerhii@users.noreply.github.com> Date: Sun, 29 May 2022 18:04:38 +0300 Subject: [PATCH 214/373] Fix ripemd readme links (#378) --- ripemd/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ripemd/README.md b/ripemd/README.md index 64f72e493..c09878fe5 100644 --- a/ripemd/README.md +++ b/ripemd/README.md @@ -40,15 +40,15 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/ripemd160.svg -[crate-link]: https://crates.io/crates/ripemd160 -[docs-image]: https://docs.rs/ripemd160/badge.svg -[docs-link]: https://docs.rs/ripemd160/ +[crate-image]: https://img.shields.io/crates/v/ripemd.svg +[crate-link]: https://crates.io/crates/ripemd +[docs-image]: https://docs.rs/ripemd/badge.svg +[docs-link]: https://docs.rs/ripemd/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd160/badge.svg?branch=master +[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd160 [//]: # (general links) From 60ca9bafa7f894cda770b5cef3bfa43026bd8bab Mon Sep 17 00:00:00 2001 From: iquerejeta <31273774+iquerejeta@users.noreply.github.com> Date: Tue, 14 Jun 2022 17:11:46 +0100 Subject: [PATCH 215/373] fsb: resolve hashing errors (#379) --- fsb/src/macros.rs | 4 ++-- fsb/tests/mod.rs | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 8b1e31a8f..7b59004cd 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -197,8 +197,8 @@ macro_rules! fsb_impl { truncated[0] = array[starting_byte] << (bits_in_cue - shift_value as u8); truncated[0] ^= array[0] >> shift_value; for position in 1..Self::SIZE_OUTPUT_COMPRESS { - truncated[position] ^= array[position - 1] >> (8 - shift_value); - truncated[position] ^= array[position] << shift_value; + truncated[position] ^= array[position - 1] << (8 - shift_value); + truncated[position] ^= array[position] >> shift_value; } } else { // First we need to decide which is the last byte and bit that will go to the first position. diff --git a/fsb/tests/mod.rs b/fsb/tests/mod.rs index bf9749450..928f1b979 100644 --- a/fsb/tests/mod.rs +++ b/fsb/tests/mod.rs @@ -15,7 +15,7 @@ fn fsb160_rand() { feed_rand_16mib(&mut h); assert_eq!( h.finalize()[..], - hex!("454b28a8d158ad63ff59e3f761919c7581ee78d3")[..] + hex!("40b7538be5e51978690d1a92fe12a7f25f0a7f08")[..] ); } @@ -25,7 +25,7 @@ fn fsb224_rand() { feed_rand_16mib(&mut h); assert_eq!( h.finalize()[..], - hex!("80ef345c462dc88261355eaf44ee2bb7277d01db77b46b2828a918b6")[..] + hex!("0ec203ccec7cbf0cadd32e5dc069d0b4215a104c4dad5444944a0d09")[..] ); } @@ -35,7 +35,7 @@ fn fsb256_rand() { feed_rand_16mib(&mut h); assert_eq!( h.finalize()[..], - hex!("301cbfd7031de3568bf4c4ffa86c2295bde89937acc8ee470446b8c55b88334a")[..] + hex!("eecb42832a2b03bc91beb1a56ddf2973c962b1aeb22f278e9d78a7a8879ebba7")[..] ); } @@ -47,8 +47,8 @@ fn fsb384_rand() { assert_eq!( h.finalize()[..], hex!(" - d11c0ea4ef363916ad8c2a4d8b4758bf0c36e4de93f2bbaeba037b0726c83179 - 0ec4e5d9d3e9d66e0810d391a00bf60e + f17533ed4d4484434715e63bc8e801c9cfe988c38d47d3b4be0409571360aa2f + b360b2804c14f606906b323e7901c09e ")[..] ); } @@ -61,8 +61,8 @@ fn fsb512_rand() { assert_eq!( h.finalize()[..], hex!(" - eb15b6c3626e38141e4f17b3b89d7deed007c4ae727452010601bc4e16deef82 - f81415566defb1aba3db9b1b14746bd81cf3689a0f79e6d00434ff4ca19b3e66 + 957a7733643e075ab7a3b04607800a6208a26b008bdaee759a3a635bb9b5b708 + 3531725783505468bf438f2a0a96163bbe0775468a11c93db9994c466b2e7d8c ")[..] ); } From 53d9671baf76133cd729ab9be37338ff2c50d973 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 16 Jun 2022 18:48:51 +0000 Subject: [PATCH 216/373] Release fsb v0.1.2 (#382) --- Cargo.lock | 6 +++--- fsb/CHANGELOG.md | 12 +++++++++--- fsb/Cargo.toml | 2 +- fsb/src/lib.rs | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9a6af448d..0b62f804f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,7 +70,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.1.1" +version = "0.1.2" dependencies = [ "digest", "hex-literal", @@ -138,9 +138,9 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.118" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e509672465a0504304aa87f9f176f2b2b716ed8fb105ebe5c02dc6dce96a94" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "md-5" diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index 007e2c0ee..99cf12856 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,19 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.1.1 (2022-02-17) +## 0.1.2 (2022-06-16) +### Fixed +- Incorrect computation of hash on some inputs ([#379]) + +[#379]: https://github.com/RustCrypto/hashes/pull/379 + +## 0.1.1 (2022-02-17) [YANKED] ### Fixed - Minimal versions build ([#363]) [#363]: https://github.com/RustCrypto/hashes/pull/363 -## 0.1.0 (2021-12-07) +## 0.1.0 (2021-12-07) [YANKED] ### Changed - Update to `digest` v0.10 ([#217]) [#217]: https://github.com/RustCrypto/hashes/pull/217 -## 0.0.2 (2020-07-21) +## 0.0.2 (2020-07-21) [YANKED] - Fixed `Reset` implementation bug. Reduce crate size by using binary dump of `PI` ([#300]) diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 347463221..9dcd57dd7 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fsb" -version = "0.1.1" # Also update html_root_url in lib.rs when bumping this +version = "0.1.2" # Also update html_root_url in lib.rs when bumping this description = "FSB hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 8e5082baa..d7de8c3e1 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -41,7 +41,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/fsb/0.1.1" + html_root_url = "https://docs.rs/fsb/0.1.2" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] From 457061f19b3538651aa7ef208ce6b04bfba65e61 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 30 Jul 2022 11:46:53 -0600 Subject: [PATCH 217/373] sha3 v0.10.2 (#384) --- Cargo.lock | 2 +- sha3/CHANGELOG.md | 6 ++++++ sha3/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0b62f804f..03307e8a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 090074377..ea81ebc93 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-07-30) +### Added +- cSHAKE128 and cSHAKE256 implementations ([#355]) + +[#355]: https://github.com/RustCrypto/hashes/pull/355 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 9027c6007..45e7c2bcd 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From e5d93562432a4075f7cf576cfa16c952807f554e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 19 Aug 2022 13:22:02 +0300 Subject: [PATCH 218/373] Update Cargo.lock --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 03307e8a6..78e580899 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,18 +39,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "1079fb8528d9f9c888b1e8aa651e6e079ade467323d58f75faf1d30b1808f540" dependencies = [ "libc", ] [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "typenum", @@ -79,9 +79,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", @@ -138,9 +138,9 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "md-5" From 79af27adf58ec48efe7f29b793e8522bdeb2ffce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=99=AB=20Christian=20Krause=20=E2=99=AB?= Date: Fri, 26 Aug 2022 17:16:10 +0200 Subject: [PATCH 219/373] Expand on DynDigest example in README (#390) --- README.md | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bc3e5d09b..678c8bb45 100644 --- a/README.md +++ b/README.md @@ -175,20 +175,38 @@ hash_password::("my_password", "abcd", &mut buf2); If you want to use hash functions with trait objects, you can use the [`DynDigest`] trait: ```rust -use sha2::{Sha256, Sha512, digest::DynDigest}; +use digest::DynDigest; -fn dyn_hash(hasher: &mut dyn DynDigest, data: &[u8]) -> Box<[u8]> { +// Dynamic hash function +fn use_hasher(hasher: &mut dyn DynDigest, data: &[u8]) -> Box<[u8]> { hasher.update(data); hasher.finalize_reset() } -let mut sha256_hasher = Sha256::default(); -let mut sha512_hasher = Sha512::default(); +// You can use something like this when parsing user input, CLI arguments, etc. +// DynDigest needs to be boxed here, since function return should be sized. +fn select_hasher(s: &str) -> Box { + match s { + "md5" => Box::new(md5::Md5::default()), + "sha1" => Box::new(sha1::Sha1::default()), + "sha224" => Box::new(sha2::Sha224::default()), + "sha256" => Box::new(sha2::Sha256::default()), + "sha384" => Box::new(sha2::Sha384::default()), + "sha512" => Box::new(sha2::Sha512::default()), + _ => unimplemented!("unsupported digest: {}", s), + } +} + +let mut hasher1 = select_hasher("md5"); +let mut hasher2 = select_hasher("sha512"); + +// the `&mut *hasher` is to DerefMut the value out of the Box +// this is equivalent to `DerefMut::deref_mut(&mut hasher)` -let hash1 = dyn_hash(&mut sha256_hasher, b"foo"); -let hash2 = dyn_hash(&mut sha256_hasher, b"bar"); -let hash3 = dyn_hash(&mut sha512_hasher, b"foo"); -let hash4 = dyn_hash(&mut sha512_hasher, b"bar"); +// can be reused due to `finalize_reset()` +let hash1_1 = use_hasher(&mut *hasher1, b"foo"); +let hash1_2 = use_hasher(&mut *hasher1, b"bar"); +let hash2_1 = use_hasher(&mut *hasher2, b"foo"); ``` ## License From e5ad181cdb50f30393a2efe484029b6d53e11110 Mon Sep 17 00:00:00 2001 From: David Knaack Date: Mon, 29 Aug 2022 13:51:42 +0200 Subject: [PATCH 220/373] Ignore `asm` feature on unsupported targets (#388) --- md5/Cargo.toml | 2 ++ md5/src/lib.rs | 4 ++-- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- whirlpool/Cargo.toml | 2 ++ whirlpool/src/lib.rs | 4 ++-- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 594865aff..9b71d348a 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,6 +16,8 @@ name = "md5" [dependencies] digest = "0.10.3" + +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } [dev-dependencies] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 0dcb14fdc..3a9970161 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -31,10 +31,10 @@ )] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "asm")] +#[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] extern crate md5_asm as compress; -#[cfg(not(feature = "asm"))] +#[cfg(not(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64"))))] mod compress; pub use digest::{self, Digest}; diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 6627712af..1878d3e22 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -15,10 +15,10 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.3" cfg-if = "1.0" -sha1-asm = { version = "0.5", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" +sha1-asm = { version = "0.5", optional = true } [dev-dependencies] digest = { version = "0.10.3", features = ["dev"] } diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index cc4c783c8..4f563f6ea 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -17,10 +17,10 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.3" cfg-if = "1.0" -sha2-asm = { version = "0.6.1", optional = true } [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" +sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] digest = { version = "0.10.3", features = ["dev"] } diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 5844b701f..573b28e44 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,6 +13,8 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.3" + +[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 996c9b797..62f863ea4 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -45,10 +45,10 @@ pub use digest::{self, Digest}; -#[cfg(not(feature = "asm"))] +#[cfg(not(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64"))))] mod compress; -#[cfg(feature = "asm")] +#[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] use whirlpool_asm as compress; use compress::compress; From 4c7a3fa240369a1b51d8361a7e883ac202752e8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 07:27:28 -0600 Subject: [PATCH 221/373] build(deps): bump cpufeatures from 0.2.3 to 0.2.4 (#389) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.3 to 0.2.4. - [Release notes](https://github.com/RustCrypto/utils/releases) - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.2.3...cpufeatures-v0.2.4) --- updated-dependencies: - dependency-name: cpufeatures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 78e580899..218505523 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,9 +39,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1079fb8528d9f9c888b1e8aa651e6e079ade467323d58f75faf1d30b1808f540" +checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" dependencies = [ "libc", ] From 38ea35559cc4bf6c9574d6da3c8457668cb62f70 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 30 Aug 2022 14:55:29 +0000 Subject: [PATCH 222/373] Release md5 v0.10.2, sha1 v0.10.2, sha2 v0.10.3, whirlpool v0.10.2 (#392) --- Cargo.lock | 8 ++++---- md5/CHANGELOG.md | 6 ++++++ md5/Cargo.toml | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- whirlpool/CHANGELOG.md | 6 ++++++ whirlpool/Cargo.toml | 2 +- 9 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 218505523..2eba57cca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,7 +144,7 @@ checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "md-5" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", @@ -192,7 +192,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.1" +version = "0.10.2" dependencies = [ "cfg-if", "cpufeatures", @@ -212,7 +212,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.3" dependencies = [ "cfg-if", "cpufeatures", @@ -291,7 +291,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "whirlpool" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 0727ee23e..9cdc61970 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-08-30) +### Changed +- Ignore `asm` feature on unsupported targets ([#388]) + +[#388]: https://github.com/RustCrypto/hashes/pull/388 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 9b71d348a..d874e84a1 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 7d184fdfa..6068a6e83 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-08-30) +### Changed +- Ignore `asm` feature on unsupported targets ([#388]) + +[#388]: https://github.com/RustCrypto/hashes/pull/388 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 1878d3e22..379e9e294 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this # on v0.10.x releases also release the sha-1 crate as well description = "SHA-1 hash function" authors = ["RustCrypto Developers"] diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 13907854b..a2ddd6dab 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-08-30) +### Changed +- Ignore `asm` feature on unsupported targets ([#388]) + +[#388]: https://github.com/RustCrypto/hashes/pull/388 + ## 0.10.2 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 4f563f6ea..07b37c316 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.3" # Also update html_root_url in lib.rs when bumping this description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index 9ed49c889..cc65e217c 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-08-30) +### Changed +- Ignore `asm` feature on unsupported targets ([#388]) + +[#388]: https://github.com/RustCrypto/hashes/pull/388 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 573b28e44..65cb318b7 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From b74be34693d32996b6861806d221edfafa1cb4ff Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 30 Aug 2022 15:28:19 +0000 Subject: [PATCH 223/373] Remove html_root_url (#393) --- blake2/Cargo.toml | 2 +- blake2/src/lib.rs | 3 +-- fsb/Cargo.toml | 2 +- fsb/src/lib.rs | 3 +-- gost94/Cargo.toml | 2 +- gost94/src/lib.rs | 3 +-- groestl/Cargo.toml | 2 +- groestl/src/lib.rs | 3 +-- k12/Cargo.toml | 2 +- k12/src/lib.rs | 3 +-- md2/Cargo.toml | 2 +- md2/src/lib.rs | 3 +-- md4/Cargo.toml | 2 +- md4/src/lib.rs | 3 +-- md5/Cargo.toml | 2 +- md5/src/lib.rs | 3 +-- ripemd/Cargo.toml | 2 +- ripemd/src/lib.rs | 3 +-- sha1/Cargo.toml | 3 +-- sha1/src/lib.rs | 3 +-- sha2/Cargo.toml | 2 +- sha2/src/lib.rs | 3 +-- sha3/Cargo.toml | 2 +- sha3/src/lib.rs | 3 +-- shabal/Cargo.toml | 2 +- shabal/src/lib.rs | 3 +-- sm3/Cargo.toml | 2 +- sm3/src/lib.rs | 3 +-- streebog/Cargo.toml | 2 +- streebog/src/lib.rs | 3 +-- tiger/Cargo.toml | 2 +- tiger/src/lib.rs | 3 +-- whirlpool/Cargo.toml | 2 +- whirlpool/src/lib.rs | 3 +-- 34 files changed, 34 insertions(+), 52 deletions(-) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 48e838632..c4cd72821 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.10.4" # Also update html_root_url in lib.rs when bumping this +version = "0.10.4" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 6f7691c78..85a6b1c28 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -71,8 +71,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/blake2/0.10.4" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 9dcd57dd7..8efefe466 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fsb" -version = "0.1.2" # Also update html_root_url in lib.rs when bumping this +version = "0.1.2" description = "FSB hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index d7de8c3e1..350fc1126 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -40,8 +40,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/fsb/0.1.2" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 7ea722fa2..dde4786ab 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 907b80949..9808606c2 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -27,8 +27,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/gost94/0.10.2" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] #![forbid(unsafe_code)] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 03a212573..463078c1b 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groestl" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 0f3d077aa..fce249751 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -28,8 +28,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/groestl/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 8d7a9e9b5..ada20f487 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.2.1" # Also update html_root_url in lib.rs when bumping this +version = "0.2.1" description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" diff --git a/k12/src/lib.rs b/k12/src/lib.rs index b05b01b2a..a85ee25a2 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -11,8 +11,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/k12/0.2.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index c07f65b19..4036deab8 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 8ae329866..3e03d5c39 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -26,8 +26,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md2/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index de8e3e98d..e7a485a7f 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/md4/src/lib.rs b/md4/src/lib.rs index f643f9a87..065d3ed7c 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -26,8 +26,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md4/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index d874e84a1..3102d7183 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 3a9970161..a16408212 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -26,8 +26,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/md-5/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index ea6734114..e0bef669a 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd" -version = "0.1.1" # Also update html_root_url in lib.rs when bumping this +version = "0.1.1" description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 796e33f1c..fb993a0ee 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -41,8 +41,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/ripemd/0.1.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 379e9e294..80d75ab75 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "sha1" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this -# on v0.10.x releases also release the sha-1 crate as well +version = "0.10.2" # on v0.10.x releases also release the sha-1 crate as well description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 9a20a01a6..6a8d5250c 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -44,8 +44,7 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha1/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 07b37c316..473dd8994 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.3" # Also update html_root_url in lib.rs when bumping this +version = "0.10.3" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 6eeec46e0..cd194ea0e 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -47,8 +47,7 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha2/0.10.2" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 45e7c2bcd..5b768e1f7 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index b6eb8f7cd..5e4884f3c 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -59,8 +59,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha3/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 2b7b62979..dc5d0dbec 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shabal" -version = "0.4.1" # Also update html_root_url in lib.rs when bumping this +version = "0.4.1" description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index b877c8b5a..9329692bd 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -39,8 +39,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/shabal/0.4.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index f49427ff8..0de39ecc0 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.4.1" # Also update html_root_url in lib.rs when bumping this +version = "0.4.1" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 0e1e5c9f9..32cfb13c4 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -31,8 +31,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sm3/0.4.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index dddfa1f77..13bf5d6ae 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 1ff6b491f..0ec99eefb 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -36,8 +36,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/streebog/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 951e4baba..f2429c5e1 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tiger" -version = "0.2.1" # Also update html_root_url in lib.rs when bumping this +version = "0.2.1" description = "Tiger hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index b605b7b5f..a5f1f8d80 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -28,8 +28,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/tiger/0.2.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 65cb318b7..40907b95b 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.10.2" # Also update html_root_url in lib.rs when bumping this +version = "0.10.2" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 62f863ea4..b5f0ff32f 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -38,8 +38,7 @@ #![no_std] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/whirlpool/0.10.1" + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] #![warn(missing_docs, rust_2018_idioms)] From db5af59cd44e8c148f21888f3775adb4e4ff84ff Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 2 Sep 2022 19:48:30 +0000 Subject: [PATCH 224/373] Fix MSRV issues by re-releasing sha1, sha2, sha3, md5, and whirlpool (#399) --- Cargo.lock | 10 +++++----- md5/CHANGELOG.md | 6 ++++++ md5/Cargo.toml | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- sha3/CHANGELOG.md | 6 ++++++ sha3/Cargo.toml | 2 +- whirlpool/CHANGELOG.md | 6 ++++++ whirlpool/Cargo.toml | 2 +- 11 files changed, 40 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2eba57cca..185118dcd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,7 +144,7 @@ checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "md-5" -version = "0.10.2" +version = "0.10.3" dependencies = [ "digest", "hex-literal", @@ -192,7 +192,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.2" +version = "0.10.3" dependencies = [ "cfg-if", "cpufeatures", @@ -212,7 +212,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.3" +version = "0.10.4" dependencies = [ "cfg-if", "cpufeatures", @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.2" +version = "0.10.3" dependencies = [ "digest", "hex-literal", @@ -291,7 +291,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "whirlpool" -version = "0.10.2" +version = "0.10.3" dependencies = [ "digest", "hex-literal", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 9cdc61970..f275d6420 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-09-02) +### Fixed +- MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) + +[#399]: https://github.com/RustCrypto/hashes/pull/399 + ## 0.10.2 (2022-08-30) ### Changed - Ignore `asm` feature on unsupported targets ([#388]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 3102d7183..2279b9211 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.2" +version = "0.10.3" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 6068a6e83..02d49a071 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-09-02) +### Fixed +- MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) + +[#399]: https://github.com/RustCrypto/hashes/pull/399 + ## 0.10.2 (2022-08-30) ### Changed - Ignore `asm` feature on unsupported targets ([#388]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 80d75ab75..5bdf813aa 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.2" # on v0.10.x releases also release the sha-1 crate as well +version = "0.10.3" # on v0.10.x releases also release the sha-1 crate as well description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index a2ddd6dab..fa726a9d3 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-09-02) +### Fixed +- MSRV issue caused by publishing v0.10.3 using a buggy Nightly toolchain ([#399]) + +[#399]: https://github.com/RustCrypto/hashes/pull/399 + ## 0.10.3 (2022-08-30) ### Changed - Ignore `asm` feature on unsupported targets ([#388]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 473dd8994..52208b4ae 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.3" +version = "0.10.4" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index ea81ebc93..3f2e009fe 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-09-02) +### Fixed +- MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) + +[#399]: https://github.com/RustCrypto/hashes/pull/399 + ## 0.10.2 (2022-07-30) ### Added - cSHAKE128 and cSHAKE256 implementations ([#355]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 5b768e1f7..71f5f4ebe 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.2" +version = "0.10.3" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index cc65e217c..7b23b7da6 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-09-02) +### Fixed +- MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) + +[#399]: https://github.com/RustCrypto/hashes/pull/399 + ## 0.10.2 (2022-08-30) ### Changed - Ignore `asm` feature on unsupported targets ([#388]) diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 40907b95b..965f88a31 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.10.2" +version = "0.10.3" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From b1c5032fbce9dd1643bbe54dd000e519b5b134ff Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 2 Sep 2022 22:21:20 +0000 Subject: [PATCH 225/373] Fix MSRV issues by re-releasing sha1, sha2, sha3, md5, and whirlpool. Take 2. (#401) --- Cargo.lock | 10 +++++----- Cargo.toml | 4 +++- md5/CHANGELOG.md | 6 ++++++ md5/Cargo.toml | 2 +- sha1/CHANGELOG.md | 6 ++++++ sha1/Cargo.toml | 2 +- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- sha3/CHANGELOG.md | 6 ++++++ sha3/Cargo.toml | 2 +- whirlpool/CHANGELOG.md | 7 +++++++ whirlpool/Cargo.toml | 2 +- 12 files changed, 44 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 185118dcd..b7cb5ab9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -144,7 +144,7 @@ checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "md-5" -version = "0.10.3" +version = "0.10.4" dependencies = [ "digest", "hex-literal", @@ -192,7 +192,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.3" +version = "0.10.4" dependencies = [ "cfg-if", "cpufeatures", @@ -212,7 +212,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.4" +version = "0.10.5" dependencies = [ "cfg-if", "cpufeatures", @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.3" +version = "0.10.4" dependencies = [ "digest", "hex-literal", @@ -291,7 +291,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "whirlpool" -version = "0.10.3" +version = "0.10.4" dependencies = [ "digest", "hex-literal", diff --git a/Cargo.toml b/Cargo.toml index 6ad5e3267..675ac3604 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,7 @@ [workspace] -resolver = "2" +# This causes issues like https://github.com/RustCrypto/hashes/issues/396 +# Do not uncomment it until MSRV is bumped to 1.51 or higher. +# resolver = "2" members = [ "blake2", "fsb", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index f275d6420..4ba9596ce 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-09-02) +### Fixed +- MSRV issue which was not resolved by v0.10.3 ([#401]) + +[#401]: https://github.com/RustCrypto/hashes/pull/401 + ## 0.10.3 (2022-09-02) ### Fixed - MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 2279b9211..4d05b0e10 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.3" +version = "0.10.4" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 02d49a071..b5be1dc04 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-09-02) +### Fixed +- MSRV issue which was not resolved by v0.10.3 ([#401]) + +[#401]: https://github.com/RustCrypto/hashes/pull/401 + ## 0.10.3 (2022-09-02) ### Fixed - MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 5bdf813aa..16997d3fb 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.3" # on v0.10.x releases also release the sha-1 crate as well +version = "0.10.4" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index fa726a9d3..6a351fa24 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.5 (2022-09-02) +### Fixed +- MSRV issue which was not resolved by v0.10.4 ([#401]) + +[#401]: https://github.com/RustCrypto/hashes/pull/401 + ## 0.10.4 (2022-09-02) ### Fixed - MSRV issue caused by publishing v0.10.3 using a buggy Nightly toolchain ([#399]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 52208b4ae..420a6f8ad 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.4" +version = "0.10.5" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 3f2e009fe..afe275c14 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-09-02) +### Fixed +- MSRV issue which was not resolved by v0.10.3 ([#401]) + +[#401]: https://github.com/RustCrypto/hashes/pull/401 + ## 0.10.3 (2022-09-02) ### Fixed - MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 71f5f4ebe..faaab009c 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.3" +version = "0.10.4" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index 7b23b7da6..b31686bbf 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-09-02) +### Fixed +- MSRV issue which was not resolved by v0.10.3 ([#401]) + +[#401]: https://github.com/RustCrypto/hashes/pull/401 + + ## 0.10.3 (2022-09-02) ### Fixed - MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399]) diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 965f88a31..0a459c617 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.10.3" +version = "0.10.4" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 52def11cfe59a15bc5f862789176d8f6dffc02b8 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Sat, 3 Sep 2022 00:20:04 +0000 Subject: [PATCH 226/373] Fix MSRV issues by re-releasing gost94 and fsb (#402) --- Cargo.lock | 4 ++-- fsb/CHANGELOG.md | 6 ++++++ fsb/Cargo.toml | 2 +- gost94/CHANGELOG.md | 6 ++++++ gost94/Cargo.toml | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b7cb5ab9b..7bc490d71 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,7 +70,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.1.2" +version = "0.1.3" dependencies = [ "digest", "hex-literal", @@ -89,7 +89,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.10.2" +version = "0.10.3" dependencies = [ "digest", "hex-literal", diff --git a/fsb/CHANGELOG.md b/fsb/CHANGELOG.md index 99cf12856..6e986538b 100644 --- a/fsb/CHANGELOG.md +++ b/fsb/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.3 (2022-09-03) +### Fixed +- MSRV issue caused by `resolver = "2"` ([#402]) + +[#402]: https://github.com/RustCrypto/hashes/pull/402 + ## 0.1.2 (2022-06-16) ### Fixed - Incorrect computation of hash on some inputs ([#379]) diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 8efefe466..8e652f3e9 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fsb" -version = "0.1.2" +version = "0.1.3" description = "FSB hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index 6f7e16c52..d0c729f7b 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.3 (2022-09-03) +### Fixed +- MSRV issue caused by `resolver = "2"` ([#402]) + +[#402]: https://github.com/RustCrypto/hashes/pull/402 + ## 0.10.2 (2022-05-26) ### Added - Gost 34.311-95 28147-89 UA version 1.2.804.2.1.1.1.1.2.1 OID ([#377]) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index dde4786ab..515a1c241 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.10.2" +version = "0.10.3" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From cc523733e5ba84b5a366825a7d1150bbbfea368b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Sep 2022 14:21:16 +0000 Subject: [PATCH 227/373] build(deps): bump cpufeatures from 0.2.4 to 0.2.5 (#403) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7bc490d71..2905fa8b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,9 +39,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cpufeatures" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] From 1731ced4a116d61ba9dc6ee6d0f38fb8102e357a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 16 Sep 2022 02:06:30 +0000 Subject: [PATCH 228/373] Add OID support (#405) --- .github/workflows/sha1.yml | 18 +++++++++++++- .github/workflows/sha2.yml | 18 +++++++++++++- .github/workflows/sha3.yml | 18 +++++++++++++- .github/workflows/streebog.yml | 16 ++++++++++++- Cargo.lock | 23 +++++++++++------- sha1/CHANGELOG.md | 6 +++++ sha1/Cargo.toml | 7 +++--- sha1/src/lib.rs | 8 +++++++ sha2/CHANGELOG.md | 6 +++++ sha2/Cargo.toml | 7 +++--- sha2/src/lib.rs | 22 ++++++++++++----- sha3/CHANGELOG.md | 6 +++++ sha3/Cargo.toml | 7 +++--- sha3/src/lib.rs | 44 ++++++++++++++++++++++++++++++---- sha3/src/macros.rs | 34 +++++++++++++++++++++++++- streebog/CHANGELOG.md | 6 +++++ streebog/Cargo.toml | 7 +++--- streebog/src/lib.rs | 10 ++++++-- 18 files changed, 226 insertions(+), 37 deletions(-) diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 126943674..43da3548d 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -21,7 +21,9 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV + # in the `test-msrv` job. + msrv: 1.57.0 # Builds for no_std platforms build: @@ -171,3 +173,17 @@ jobs: package: ${{ github.workflow }} target: ${{ matrix.target }} features: ${{ matrix.features }} + + # TODO: remove on MSRV bump to 1.57 or higher + test-msrv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index ab9722ab2..caeff2e4e 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -21,7 +21,9 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV + # in the `test-msrv` job. + msrv: 1.57.0 # Builds for no_std platforms build: @@ -166,3 +168,17 @@ jobs: package: ${{ github.workflow }} target: ${{ matrix.target }} features: ${{ matrix.features }} + + # TODO: remove on MSRV bump to 1.57 or higher + test-msrv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 4ff24045d..74817e826 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -21,7 +21,9 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV + # in the `test-msrv` job. + msrv: 1.57.0 build: needs: set-msrv @@ -97,3 +99,17 @@ jobs: package: ${{ github.workflow }} target: ${{ matrix.target }} features: ${{ matrix.features }} + + # TODO: remove on MSRV bump to 1.57 or higher + test-msrv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 48d8cc848..c773973dd 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + #- 1.41.0 # MSRV - stable steps: - uses: actions/checkout@v2 @@ -63,3 +63,17 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # `oid` feature bumps MSRV to 1.57, so we temporarily split this job. + test-msrv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: 1.41.0 + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/Cargo.lock b/Cargo.lock index 2905fa8b4..559315e74 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,9 +18,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -37,6 +37,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "const-oid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" + [[package]] name = "cpufeatures" version = "0.2.5" @@ -58,12 +64,13 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ "blobby", "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -192,7 +199,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.4" +version = "0.10.5" dependencies = [ "cfg-if", "cpufeatures", @@ -212,7 +219,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.5" +version = "0.10.6" dependencies = [ "cfg-if", "cpufeatures", @@ -232,7 +239,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.4" +version = "0.10.5" dependencies = [ "digest", "hex-literal", @@ -257,7 +264,7 @@ dependencies = [ [[package]] name = "streebog" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index b5be1dc04..78ffc6006 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.5 (2022-09-16) +### Added +- Feature-gated OID support ([#405]) + +[#405]: https://github.com/RustCrypto/hashes/pull/405 + ## 0.10.4 (2022-09-02) ### Fixed - MSRV issue which was not resolved by v0.10.3 ([#401]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 16997d3fb..8ff801508 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.4" +version = "0.10.5" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,7 +12,7 @@ keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] @@ -20,12 +20,13 @@ cpufeatures = "0.2" sha1-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 asm = ["sha1-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates compress = [] # Expose compress function force-soft = [] # Force software implementation diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 6a8d5250c..e5fbf2a7b 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -51,6 +51,8 @@ pub use digest::{self, Digest}; use core::{fmt, slice::from_ref}; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -142,5 +144,11 @@ impl fmt::Debug for Sha1Core { } } +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Sha1Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.14.3.2.26"); +} + /// SHA-1 hasher state. pub type Sha1 = CoreWrapper; diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 6a351fa24..127804644 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.6 (2022-09-16) +### Added +- Feature-gated OID support ([#405]) + +[#405]: https://github.com/RustCrypto/hashes/pull/405 + ## 0.10.5 (2022-09-02) ### Fixed - MSRV issue which was not resolved by v0.10.4 ([#401]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 420a6f8ad..9d8dedb03 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.5" +version = "0.10.6" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -15,7 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] @@ -23,12 +23,13 @@ cpufeatures = "0.2" sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates compress = [] # Expose compress functions force-soft = [] # Force software implementation diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index cd194ea0e..9082fc5b8 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -53,9 +53,12 @@ pub use digest::{self, Digest}; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ consts::{U28, U32, U48, U64}, core_api::{CoreWrapper, CtVariableCoreWrapper}, + impl_oid_carrier, }; #[rustfmt::skip] @@ -71,15 +74,22 @@ pub use sha512::compress512; pub use core_api::{Sha256VarCore, Sha512VarCore}; +impl_oid_carrier!(OidSha256, "2.16.840.1.101.3.4.2.1"); +impl_oid_carrier!(OidSha384, "2.16.840.1.101.3.4.2.2"); +impl_oid_carrier!(OidSha512, "2.16.840.1.101.3.4.2.3"); +impl_oid_carrier!(OidSha224, "2.16.840.1.101.3.4.2.4"); +impl_oid_carrier!(OidSha512_224, "2.16.840.1.101.3.4.2.5"); +impl_oid_carrier!(OidSha512_256, "2.16.840.1.101.3.4.2.6"); + /// SHA-224 hasher. -pub type Sha224 = CoreWrapper>; +pub type Sha224 = CoreWrapper>; /// SHA-256 hasher. -pub type Sha256 = CoreWrapper>; +pub type Sha256 = CoreWrapper>; /// SHA-512/224 hasher. -pub type Sha512_224 = CoreWrapper>; +pub type Sha512_224 = CoreWrapper>; /// SHA-512/256 hasher. -pub type Sha512_256 = CoreWrapper>; +pub type Sha512_256 = CoreWrapper>; /// SHA-384 hasher. -pub type Sha384 = CoreWrapper>; +pub type Sha384 = CoreWrapper>; /// SHA-512 hasher. -pub type Sha512 = CoreWrapper>; +pub type Sha512 = CoreWrapper>; diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index afe275c14..5569e3c22 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.5 (2022-09-16) +### Added +- Feature-gated OID support ([#405]) + +[#405]: https://github.com/RustCrypto/hashes/pull/405 + ## 0.10.4 (2022-09-02) ### Fixed - MSRV issue which was not resolved by v0.10.3 ([#401]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index faaab009c..afd572c0a 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.4" +version = "0.10.5" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,14 +12,15 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" keccak = "0.1" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 reset = [] # Enable reset functionality diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 5e4884f3c..394faa383 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -67,6 +67,8 @@ pub use digest::{self, Digest}; use core::fmt; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}, @@ -105,10 +107,42 @@ impl_sha3!( "SHA-3 CryptoNight variant", ); -impl_sha3!(Sha3_224Core, Sha3_224, U28, U144, SHA3, "SHA-3-224"); -impl_sha3!(Sha3_256Core, Sha3_256, U32, U136, SHA3, "SHA-3-256"); -impl_sha3!(Sha3_384Core, Sha3_384, U48, U104, SHA3, "SHA-3-384"); -impl_sha3!(Sha3_512Core, Sha3_512, U64, U72, SHA3, "SHA-3-512"); +impl_sha3!( + Sha3_224Core, + Sha3_224, + U28, + U144, + SHA3, + "SHA-3-224", + "2.16.840.1.101.3.4.2.7", +); +impl_sha3!( + Sha3_256Core, + Sha3_256, + U32, + U136, + SHA3, + "SHA-3-256", + "2.16.840.1.101.3.4.2.8", +); +impl_sha3!( + Sha3_384Core, + Sha3_384, + U48, + U104, + SHA3, + "SHA-3-384", + "2.16.840.1.101.3.4.2.9", +); +impl_sha3!( + Sha3_512Core, + Sha3_512, + U64, + U72, + SHA3, + "SHA-3-512", + "2.16.840.1.101.3.4.2.10", +); impl_shake!( Shake128Core, @@ -118,6 +152,7 @@ impl_shake!( U168, SHAKE, "SHAKE128", + "2.16.840.1.101.3.4.2.11", ); impl_shake!( Shake256Core, @@ -127,6 +162,7 @@ impl_shake!( U136, SHAKE, "SHAKE256", + "2.16.840.1.101.3.4.2.11", ); impl_cshake!( diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index ab27ffda3..735401802 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -82,12 +82,24 @@ macro_rules! impl_sha3 { #[doc = " hasher state."] pub type $full_name = CoreWrapper<$name>; }; + ( + $name:ident, $full_name:ident, $output_size:ident, + $rate:ident, $pad:expr, $alg_name:expr, $oid:literal $(,)? + ) => { + impl_sha3!($name, $full_name, $output_size, $rate, $pad, $alg_name); + + #[cfg(feature = "oid")] + #[cfg_attr(docsrs, doc(cfg(feature = "oid")))] + impl AssociatedOid for $name { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap($oid); + } + }; } macro_rules! impl_shake { ( $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, - $rate:ident, $pad:expr, $alg_name:expr, + $rate:ident, $pad:expr, $alg_name:expr $(,)? ) => { #[doc = "Core "] #[doc = $alg_name] @@ -194,6 +206,26 @@ macro_rules! impl_shake { #[doc = " reader state."] pub type $reader_full = XofReaderCoreWrapper<$name>; }; + ( + $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, + $rate:ident, $pad:expr, $alg_name:expr, $oid:literal $(,)? + ) => { + impl_shake!( + $name, + $full_name, + $reader, + $reader_full, + $rate, + $pad, + $alg_name + ); + + #[cfg(feature = "oid")] + #[cfg_attr(docsrs, doc(cfg(feature = "oid")))] + impl AssociatedOid for $name { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap($oid); + } + }; } macro_rules! impl_cshake { diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index c5d6756b1..042ffc8a6 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-09-16) +### Added +- Feature-gated OID support ([#405]) + +[#405]: https://github.com/RustCrypto/hashes/pull/405 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 13bf5d6ae..ea3fd1254 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.10.1" +version = "0.10.2" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,13 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 0ec99eefb..23a72c8fa 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -44,9 +44,12 @@ #[cfg(feature = "std")] extern crate std; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ consts::{U32, U64}, core_api::{CoreWrapper, CtVariableCoreWrapper}, + impl_oid_carrier, }; mod consts; @@ -56,7 +59,10 @@ mod table; pub use core_api::StreebogVarCore; pub use digest::{self, Digest}; +impl_oid_carrier!(Oid256, "1.2.643.7.1.1.2.2"); +impl_oid_carrier!(Oid512, "1.2.643.7.1.1.2.3"); + /// Streebog256 hasher. -pub type Streebog256 = CoreWrapper>; +pub type Streebog256 = CoreWrapper>; /// Streebog512 hasher. -pub type Streebog512 = CoreWrapper>; +pub type Streebog512 = CoreWrapper>; From fc3e7267a52bac609ac015cc94eec71067445263 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Fri, 16 Sep 2022 05:52:51 +0300 Subject: [PATCH 229/373] ripemd: implement RIPEMD-128 (#406) --- ripemd/benches/mod.rs | 10 +- ripemd/src/c128.rs | 242 ++++++++++++++++++++++++++++++++ ripemd/src/lib.rs | 4 +- ripemd/tests/data/ripemd128.blb | Bin 0 -> 236 bytes ripemd/tests/mod.rs | 13 +- 5 files changed, 266 insertions(+), 3 deletions(-) create mode 100644 ripemd/src/c128.rs create mode 100644 ripemd/tests/data/ripemd128.blb diff --git a/ripemd/benches/mod.rs b/ripemd/benches/mod.rs index 67eaa716f..6f8e0842f 100644 --- a/ripemd/benches/mod.rs +++ b/ripemd/benches/mod.rs @@ -2,9 +2,17 @@ extern crate test; use digest::bench_update; -use ripemd::{Ripemd160, Ripemd256, Ripemd320}; +use ripemd::{Ripemd128, Ripemd160, Ripemd256, Ripemd320}; use test::Bencher; +bench_update!( + Ripemd128::default(); + ripemd128_10 10; + ripemd128_100 100; + ripemd128_1000 1000; + ripemd128_10000 10000; +); + bench_update!( Ripemd160::default(); ripemd160_10 10; diff --git a/ripemd/src/c128.rs b/ripemd/src/c128.rs new file mode 100644 index 000000000..b531e1b05 --- /dev/null +++ b/ripemd/src/c128.rs @@ -0,0 +1,242 @@ +use core::convert::TryInto; + +pub const DIGEST_BUF_LEN: usize = 4; +pub const WORK_BUF_LEN: usize = 16; + +pub const H0: [u32; DIGEST_BUF_LEN] = [0x6745_2301, 0xefcd_ab89, 0x98ba_dcfe, 0x1032_5476]; + +macro_rules! round( + ($a:expr, $b:expr, $c:expr, $d:expr, + $x:expr, $bits:expr, $add:expr, $round:expr) => ({ + $a = $a.wrapping_add($round).wrapping_add($x).wrapping_add($add); + $a = $a.rotate_left($bits); + }); +); + +macro_rules! process_block( + ($h:ident, $data:expr, + $( round1: h_ordering $f0:expr, $f1:expr, $f2:expr, $f3:expr; + data_index $data_index1:expr; roll_shift $bits1:expr )*; + $( round2: h_ordering $g0:expr, $g1:expr, $g2:expr, $g3:expr; + data_index $data_index2:expr; roll_shift $bits2:expr )*; + $( round3: h_ordering $h0:expr, $h1:expr, $h2:expr, $h3:expr; + data_index $data_index3:expr; roll_shift $bits3:expr )*; + $( round4: h_ordering $i0:expr, $i1:expr, $i2:expr, $i3:expr; + data_index $data_index4:expr; roll_shift $bits4:expr )*; + $( par_round1: h_ordering $pi0:expr, $pi1:expr, $pi2:expr, $pi3:expr; + data_index $pdata_index1:expr; roll_shift $pbits1:expr )*; + $( par_round2: h_ordering $ph0:expr, $ph1:expr, $ph2:expr, $ph3:expr; + data_index $pdata_index2:expr; roll_shift $pbits2:expr )*; + $( par_round3: h_ordering $pg0:expr, $pg1:expr, $pg2:expr, $pg3:expr; + data_index $pdata_index3:expr; roll_shift $pbits3:expr )*; + $( par_round4: h_ordering $pf0:expr, $pf1:expr, $pf2:expr, $pf3:expr; + data_index $pdata_index4:expr; roll_shift $pbits4:expr )*; + ) => ({ + let mut bb = *$h; + let mut bbb = *$h; + + // Round 1 + $( round!(bb[$f0], bb[$f1], bb[$f2], bb[$f3], + $data[$data_index1], $bits1, 0x0000_0000, + bb[$f1] ^ bb[$f2] ^ bb[$f3]); )* + + // Round 2 + $( round!(bb[$g0], bb[$g1], bb[$g2], bb[$g3], + $data[$data_index2], $bits2, 0x5a82_7999, + (bb[$g1] & bb[$g2]) | (!bb[$g1] & bb[$g3])); )* + + // Round 3 + $( round!(bb[$h0], bb[$h1], bb[$h2], bb[$h3], + $data[$data_index3], $bits3, 0x6ed9_eba1, + (bb[$h1] | !bb[$h2]) ^ bb[$h3]); )* + + // Round 4 + $( round!(bb[$i0], bb[$i1], bb[$i2], bb[$i3], + $data[$data_index4], $bits4, 0x8f1b_bcdc, + (bb[$i1] & bb[$i3]) | (bb[$i2] & !bb[$i3])); )* + + // Parallel rounds: these are the same as the previous five + // rounds except that the constants have changed, we work + // with the other buffer, and they are applied in reverse + // order. + + // Parallel Round 1 + $( round!(bbb[$pi0], bbb[$pi1], bbb[$pi2], bbb[$pi3], + $data[$pdata_index1], $pbits1, 0x50a2_8be6, + (bbb[$pi1] & bbb[$pi3]) | (bbb[$pi2] & !bbb[$pi3])); )* + + // Parallel Round 2 + $( round!(bbb[$ph0], bbb[$ph1], bbb[$ph2], bbb[$ph3], + $data[$pdata_index2], $pbits2, 0x5c4d_d124, + (bbb[$ph1] | !bbb[$ph2]) ^ bbb[$ph3]); )* + + // Parallel Round 3 + $( round!(bbb[$pg0], bbb[$pg1], bbb[$pg2], bbb[$pg3], + $data[$pdata_index3], $pbits3, 0x6d70_3ef3, + (bbb[$pg1] & bbb[$pg2]) | (!bbb[$pg1] & bbb[$pg3])); )* + + // Parallel Round 4 + $( round!(bbb[$pf0], bbb[$pf1], bbb[$pf2], bbb[$pf3], + $data[$pdata_index4], $pbits4, 0x0000_0000, + bbb[$pf1] ^ bbb[$pf2] ^ bbb[$pf3]); )* + + // Combine results + bbb[3] = bbb[3].wrapping_add($h[1]).wrapping_add(bb[2]); + $h[1] = $h[2].wrapping_add(bb[3]).wrapping_add(bbb[0]); + $h[2] = $h[3].wrapping_add(bb[0]).wrapping_add(bbb[1]); + $h[3] = $h[0].wrapping_add(bb[1]).wrapping_add(bbb[2]); + $h[0] = bbb[3]; + }); +); + +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &[u8; 64]) { + let mut w = [0u32; WORK_BUF_LEN]; + for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } + process_block!(h, w[..], + // Round 1 + round1: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 11 + round1: h_ordering 3, 0, 1, 2; data_index 1; roll_shift 14 + round1: h_ordering 2, 3, 0, 1; data_index 2; roll_shift 15 + round1: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 12 + round1: h_ordering 0, 1, 2, 3; data_index 4; roll_shift 5 + round1: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 8 + round1: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 7 + round1: h_ordering 1, 2, 3, 0; data_index 7; roll_shift 9 + round1: h_ordering 0, 1, 2, 3; data_index 8; roll_shift 11 + round1: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 13 + round1: h_ordering 2, 3, 0, 1; data_index 10; roll_shift 14 + round1: h_ordering 1, 2, 3, 0; data_index 11; roll_shift 15 + round1: h_ordering 0, 1, 2, 3; data_index 12; roll_shift 6 + round1: h_ordering 3, 0, 1, 2; data_index 13; roll_shift 7 + round1: h_ordering 2, 3, 0, 1; data_index 14; roll_shift 9 + round1: h_ordering 1, 2, 3, 0; data_index 15; roll_shift 8; + + // Round 2 + round2: h_ordering 0, 1, 2, 3; data_index 7; roll_shift 7 + round2: h_ordering 3, 0, 1, 2; data_index 4; roll_shift 6 + round2: h_ordering 2, 3, 0, 1; data_index 13; roll_shift 8 + round2: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 13 + round2: h_ordering 0, 1, 2, 3; data_index 10; roll_shift 11 + round2: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 9 + round2: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 7 + round2: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 15 + round2: h_ordering 0, 1, 2, 3; data_index 12; roll_shift 7 + round2: h_ordering 3, 0, 1, 2; data_index 0; roll_shift 12 + round2: h_ordering 2, 3, 0, 1; data_index 9; roll_shift 15 + round2: h_ordering 1, 2, 3, 0; data_index 5; roll_shift 9 + round2: h_ordering 0, 1, 2, 3; data_index 2; roll_shift 11 + round2: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 7 + round2: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 13 + round2: h_ordering 1, 2, 3, 0; data_index 8; roll_shift 12; + + // Round 3 + round3: h_ordering 0, 1, 2, 3; data_index 3; roll_shift 11 + round3: h_ordering 3, 0, 1, 2; data_index 10; roll_shift 13 + round3: h_ordering 2, 3, 0, 1; data_index 14; roll_shift 6 + round3: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 7 + round3: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 14 + round3: h_ordering 3, 0, 1, 2; data_index 15; roll_shift 9 + round3: h_ordering 2, 3, 0, 1; data_index 8; roll_shift 13 + round3: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 15 + round3: h_ordering 0, 1, 2, 3; data_index 2; roll_shift 14 + round3: h_ordering 3, 0, 1, 2; data_index 7; roll_shift 8 + round3: h_ordering 2, 3, 0, 1; data_index 0; roll_shift 13 + round3: h_ordering 1, 2, 3, 0; data_index 6; roll_shift 6 + round3: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 5 + round3: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 12 + round3: h_ordering 2, 3, 0, 1; data_index 5; roll_shift 7 + round3: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 5; + + // Round 4 + round4: h_ordering 0, 1, 2, 3; data_index 1; roll_shift 11 + round4: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 12 + round4: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 14 + round4: h_ordering 1, 2, 3, 0; data_index 10; roll_shift 15 + round4: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 14 + round4: h_ordering 3, 0, 1, 2; data_index 8; roll_shift 15 + round4: h_ordering 2, 3, 0, 1; data_index 12; roll_shift 9 + round4: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 8 + round4: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 9 + round4: h_ordering 3, 0, 1, 2; data_index 3; roll_shift 14 + round4: h_ordering 2, 3, 0, 1; data_index 7; roll_shift 5 + round4: h_ordering 1, 2, 3, 0; data_index 15; roll_shift 6 + round4: h_ordering 0, 1, 2, 3; data_index 14; roll_shift 8 + round4: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 6 + round4: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 5 + round4: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 12; + + // Parallel Round 1 + par_round1: h_ordering 0, 1, 2, 3; data_index 5; roll_shift 8 + par_round1: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 9 + par_round1: h_ordering 2, 3, 0, 1; data_index 7; roll_shift 9 + par_round1: h_ordering 1, 2, 3, 0; data_index 0; roll_shift 11 + par_round1: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 13 + par_round1: h_ordering 3, 0, 1, 2; data_index 2; roll_shift 15 + par_round1: h_ordering 2, 3, 0, 1; data_index 11; roll_shift 15 + par_round1: h_ordering 1, 2, 3, 0; data_index 4; roll_shift 5 + par_round1: h_ordering 0, 1, 2, 3; data_index 13; roll_shift 7 + par_round1: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 7 + par_round1: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 8 + par_round1: h_ordering 1, 2, 3, 0; data_index 8; roll_shift 11 + par_round1: h_ordering 0, 1, 2, 3; data_index 1; roll_shift 14 + par_round1: h_ordering 3, 0, 1, 2; data_index 10; roll_shift 14 + par_round1: h_ordering 2, 3, 0, 1; data_index 3; roll_shift 12 + par_round1: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 6; + + // Parallel Round 2 + par_round2: h_ordering 0, 1, 2, 3; data_index 6; roll_shift 9 + par_round2: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 13 + par_round2: h_ordering 2, 3, 0, 1; data_index 3; roll_shift 15 + par_round2: h_ordering 1, 2, 3, 0; data_index 7; roll_shift 7 + par_round2: h_ordering 0, 1, 2, 3; data_index 0; roll_shift 12 + par_round2: h_ordering 3, 0, 1, 2; data_index 13; roll_shift 8 + par_round2: h_ordering 2, 3, 0, 1; data_index 5; roll_shift 9 + par_round2: h_ordering 1, 2, 3, 0; data_index 10; roll_shift 11 + par_round2: h_ordering 0, 1, 2, 3; data_index 14; roll_shift 7 + par_round2: h_ordering 3, 0, 1, 2; data_index 15; roll_shift 7 + par_round2: h_ordering 2, 3, 0, 1; data_index 8; roll_shift 12 + par_round2: h_ordering 1, 2, 3, 0; data_index 12; roll_shift 7 + par_round2: h_ordering 0, 1, 2, 3; data_index 4; roll_shift 6 + par_round2: h_ordering 3, 0, 1, 2; data_index 9; roll_shift 15 + par_round2: h_ordering 2, 3, 0, 1; data_index 1; roll_shift 13 + par_round2: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 11; + + // Parallel Round 3 + par_round3: h_ordering 0, 1, 2, 3; data_index 15; roll_shift 9 + par_round3: h_ordering 3, 0, 1, 2; data_index 5; roll_shift 7 + par_round3: h_ordering 2, 3, 0, 1; data_index 1; roll_shift 15 + par_round3: h_ordering 1, 2, 3, 0; data_index 3; roll_shift 11 + par_round3: h_ordering 0, 1, 2, 3; data_index 7; roll_shift 8 + par_round3: h_ordering 3, 0, 1, 2; data_index 14; roll_shift 6 + par_round3: h_ordering 2, 3, 0, 1; data_index 6; roll_shift 6 + par_round3: h_ordering 1, 2, 3, 0; data_index 9; roll_shift 14 + par_round3: h_ordering 0, 1, 2, 3; data_index 11; roll_shift 12 + par_round3: h_ordering 3, 0, 1, 2; data_index 8; roll_shift 13 + par_round3: h_ordering 2, 3, 0, 1; data_index 12; roll_shift 5 + par_round3: h_ordering 1, 2, 3, 0; data_index 2; roll_shift 14 + par_round3: h_ordering 0, 1, 2, 3; data_index 10; roll_shift 13 + par_round3: h_ordering 3, 0, 1, 2; data_index 0; roll_shift 13 + par_round3: h_ordering 2, 3, 0, 1; data_index 4; roll_shift 7 + par_round3: h_ordering 1, 2, 3, 0; data_index 13; roll_shift 5; + + // Parallel Round 4 + par_round4: h_ordering 0, 1, 2, 3; data_index 8; roll_shift 15 + par_round4: h_ordering 3, 0, 1, 2; data_index 6; roll_shift 5 + par_round4: h_ordering 2, 3, 0, 1; data_index 4; roll_shift 8 + par_round4: h_ordering 1, 2, 3, 0; data_index 1; roll_shift 11 + par_round4: h_ordering 0, 1, 2, 3; data_index 3; roll_shift 14 + par_round4: h_ordering 3, 0, 1, 2; data_index 11; roll_shift 14 + par_round4: h_ordering 2, 3, 0, 1; data_index 15; roll_shift 6 + par_round4: h_ordering 1, 2, 3, 0; data_index 0; roll_shift 14 + par_round4: h_ordering 0, 1, 2, 3; data_index 5; roll_shift 6 + par_round4: h_ordering 3, 0, 1, 2; data_index 12; roll_shift 9 + par_round4: h_ordering 2, 3, 0, 1; data_index 2; roll_shift 12 + par_round4: h_ordering 1, 2, 3, 0; data_index 13; roll_shift 9 + par_round4: h_ordering 0, 1, 2, 3; data_index 9; roll_shift 12 + par_round4: h_ordering 3, 0, 1, 2; data_index 7; roll_shift 5 + par_round4: h_ordering 2, 3, 0, 1; data_index 10; roll_shift 15 + par_round4: h_ordering 1, 2, 3, 0; data_index 14; roll_shift 8; + ); +} diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index fb993a0ee..06b69f02d 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -55,10 +55,11 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U20, U32, U40, U64}, + typenum::{Unsigned, U16, U20, U32, U40, U64}, HashMarker, Output, }; +mod c128; mod c160; mod c256; mod c320; @@ -153,6 +154,7 @@ macro_rules! impl_ripemd { }; } +impl_ripemd!(Ripemd128Core, Ripemd128, c128, "128", "RIPEMD-128", U16); impl_ripemd!(Ripemd160Core, Ripemd160, c160, "160", "RIPEMD-160", U20); impl_ripemd!(Ripemd256Core, Ripemd256, c256, "256", "RIPEMD-256", U32); impl_ripemd!(Ripemd320Core, Ripemd320, c320, "320", "RIPEMD-320", U40); diff --git a/ripemd/tests/data/ripemd128.blb b/ripemd/tests/data/ripemd128.blb new file mode 100644 index 0000000000000000000000000000000000000000..67192a291a6fa83003ee6d0ceb547def6c4f565b GIT binary patch literal 236 zcmZQzP&oT3NqAwv9lO(s{1V?bce}AACM7Ez^b(SsllEj+OL8`Urif2@0Z=dnh*E(l z4T#c#C%8#mm+l><7u}x1R%~G*8L0|| zrJ2du3Q0xz<#`He`4tLTrMU&g3i)NJMG7TA>72x>N`;jCbOrmBTkBbESnc Date: Fri, 16 Sep 2022 03:39:09 +0000 Subject: [PATCH 230/373] ripemd: release v0.1.2 (#409) --- Cargo.lock | 2 +- ripemd/CHANGELOG.md | 6 ++++ ripemd/Cargo.toml | 2 +- ripemd/tests/data/ripemd128.blb | Bin 236 -> 510 bytes ripemd/tests/mod.rs | 56 ++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 559315e74..8968150ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "ripemd" -version = "0.1.1" +version = "0.1.2" dependencies = [ "digest", "hex-literal", diff --git a/ripemd/CHANGELOG.md b/ripemd/CHANGELOG.md index cde00fed1..c56bda0b5 100644 --- a/ripemd/CHANGELOG.md +++ b/ripemd/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.2 (2022-09-16) +### Added +- RIPEMD-128 algorithm ([#406]) + +[#406]: https://github.com/RustCrypto/hashes/pull/406 + ## 0.1.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index e0bef669a..3758af607 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd" -version = "0.1.1" +version = "0.1.2" description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/ripemd/tests/data/ripemd128.blb b/ripemd/tests/data/ripemd128.blb index 67192a291a6fa83003ee6d0ceb547def6c4f565b..5df2ef4a7f96e389d7bb6f0ce63715826a90b3c1 100644 GIT binary patch delta 331 zcmaFE_>Z}sfkENyrzGKp0e9?9C-O^t+uZHOl&H|Quj-faT>j(dkGDS85AQW*OH4{u zIOruLIVbJOu9oC%{!9^{a+%!J;^M^gRE3nx^wi=Kg?UERws}DYN$U>^>(>6fxWfdf zDJ3;6JtH$KJ0~|Uzo4+FxTLhKyrQy7;jh**_V2PMzH$f@dMa%$Z1$U|;ZgMj@>E-R?>*pU37!({58WtWA8HL*@14AQY6H_yD3rmHIFC$-z&zUH{Zb_0)!qMYQ s4GM5Mgeu%D6ObXerNOca_O9 Date: Tue, 20 Sep 2022 18:29:44 +0200 Subject: [PATCH 231/373] fix a few typos in readme file (#411) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 678c8bb45..4314fb738 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ This is why we publish our MD5 implementation as `md-5` and mark it with the :ex Note that the library itself is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. The SHA-1 implementation was previously published as `sha-1`, but migrated to `sha1` since v0.10.0. -`sha-1` will continue to recieve v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. +`sha-1` will continue to receive v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. ### Minimum Supported Rust Version (MSRV) Policy @@ -132,7 +132,7 @@ let hash = Sha256::digest(b"my message"); ### Hashing `Read`able Objects -If you want to hash data from a type which imlements the [`Read`] trait, you can rely on implementation of the [`Write`] trait (requires enabled-by-default `std` feature): +If you want to hash data from a type which implements the [`Read`] trait, you can rely on implementation of the [`Write`] trait (requires enabled-by-default `std` feature): ```rust use sha2::{Sha256, Digest}; From 56a1b34a97bf7974a77919fc18468af21e74ac5a Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Tue, 20 Sep 2022 18:51:25 +0200 Subject: [PATCH 232/373] update actions used in GitHub Actions workflows (#410) --- .github/actions/cross-tests/action.yml | 2 +- .github/workflows/blake2.yml | 8 ++++---- .github/workflows/fsb.yml | 4 ++-- .github/workflows/gost94.yml | 4 ++-- .github/workflows/groestl.yml | 4 ++-- .github/workflows/k12.yml | 4 ++-- .github/workflows/md2.yml | 4 ++-- .github/workflows/md4.yml | 4 ++-- .github/workflows/md5.yml | 4 ++-- .github/workflows/ripemd.yml | 4 ++-- .github/workflows/security-audit.yml | 4 ++-- .github/workflows/sha1.yml | 12 ++++++------ .github/workflows/sha2.yml | 12 ++++++------ .github/workflows/sha3.yml | 8 ++++---- .github/workflows/shabal.yml | 4 ++-- .github/workflows/sm3.yml | 4 ++-- .github/workflows/streebog.yml | 6 +++--- .github/workflows/tiger.yml | 4 ++-- .github/workflows/whirlpool.yml | 4 ++-- .github/workflows/workspace.yml | 4 ++-- 20 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.github/actions/cross-tests/action.yml b/.github/actions/cross-tests/action.yml index a07daeff3..1be00e6df 100644 --- a/.github/actions/cross-tests/action.yml +++ b/.github/actions/cross-tests/action.yml @@ -13,7 +13,7 @@ inputs: runs: using: "composite" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 2e1df3d1c..3303e5a71 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -65,7 +65,7 @@ jobs: simd: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -95,7 +95,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 9fffc68fd..145676ae1 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 72dd019cd..b2005bcc3 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index c8bb94b82..3fcf501bd 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index e6f805901..aede85d36 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -29,7 +29,7 @@ jobs: # - thumbv7em-none-eabi # TODO: no_std w/o liballoc - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 9805d7911..96085a73e 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index d5c26f8cd..ccc8eb84e 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index cc563026f..c94704c9f 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -32,7 +32,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -55,7 +55,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 387c4fd05..16cec9401 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index 4af99ee7d..f27d17b6c 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -13,10 +13,10 @@ jobs: name: Security Audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - name: Cache cargo bin - uses: actions/cache@v1 + uses: actions/cache@v3 with: path: ~/.cargo/bin key: ${{ runner.os }}-cargo-audit-v0.12.0 diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 43da3548d..ca09fd895 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -77,7 +77,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -102,7 +102,7 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -130,7 +130,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -166,7 +166,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -178,7 +178,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index caeff2e4e..d0cbe99a3 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -75,7 +75,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -100,7 +100,7 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -127,7 +127,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -161,7 +161,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -173,7 +173,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 74817e826..94fd650ba 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -37,7 +37,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -61,7 +61,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -92,7 +92,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -104,7 +104,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index 4ab604775..e9a059d68 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index e31b9ca11..9ae65d354 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index c773973dd..dfdb4c522 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: #- 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -68,7 +68,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index a9ebea607..d4c302703 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -32,7 +32,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -55,7 +55,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 375f03fcc..049094070 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -29,7 +29,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -52,7 +52,7 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 348e309ca..1e35e1cbb 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: actions-rs/toolchain@v1 with: @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Install stable toolchain uses: actions-rs/toolchain@v1 From 6ba7e93d7a0c6fe8ef119a3c999ce2a6d069b8cb Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Wed, 21 Sep 2022 23:58:56 +0200 Subject: [PATCH 233/373] Add Dependabot configuration to keep GitHub Actions up to date (#412) --- .github/dependabot.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5cde1657c..a8db58ba9 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,8 @@ updates: schedule: interval: daily open-pull-requests-limit: 10 +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 From bd9fd262fd596b5afd81c6cce555abfe7c1bbe12 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 22 Sep 2022 03:20:13 +0300 Subject: [PATCH 234/373] md5: Add OID support (#413) --- .github/workflows/md5.yml | 17 +++++++++++++++++ Cargo.lock | 6 +++--- md5/CHANGELOG.md | 6 ++++++ md5/Cargo.toml | 7 ++++--- md5/src/lib.rs | 8 ++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index c94704c9f..681453d47 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -66,3 +66,20 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --features asm + + # TODO: merge with test on MSRV bump to 1.57 or higher + test-msrv: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --features oid diff --git a/Cargo.lock b/Cargo.lock index 8968150ba..345f1b7aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,13 +145,13 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" [[package]] name = "md-5" -version = "0.10.4" +version = "0.10.5" dependencies = [ "digest", "hex-literal", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 4ba9596ce..87fec720d 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.5 (2022-09-32) +### Added +- Feature-gated OID support ([#413]) + +[#413]: https://github.com/RustCrypto/hashes/pull/413 + ## 0.10.4 (2022-09-02) ### Fixed - MSRV issue which was not resolved by v0.10.3 ([#401]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 4d05b0e10..48fd5aff7 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.4" +version = "0.10.5" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -15,16 +15,17 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.10.3" +digest = "0.10.4" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] asm = ["md5-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 diff --git a/md5/src/lib.rs b/md5/src/lib.rs index a16408212..87fe9134f 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -41,6 +41,8 @@ pub use digest::{self, Digest}; use compress::compress; use core::{fmt, slice::from_ref}; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -124,6 +126,12 @@ impl fmt::Debug for Md5Core { } } +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Md5Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.5"); +} + /// MD5 hasher state. pub type Md5 = CoreWrapper; From b8104683e3709e29bbde8eab5f14d40a9e1e05e0 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 22 Sep 2022 11:14:48 +0300 Subject: [PATCH 235/373] md5: fix release date in changelog (#414) Signed-off-by: Dmitry Baryshkov --- md5/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 87fec720d..76e592b7e 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.5 (2022-09-32) +## 0.10.5 (2022-09-22) ### Added - Feature-gated OID support ([#413]) From 4561d6fbafeb979a797db9d40d301a1f354dbe40 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Fri, 23 Sep 2022 13:23:10 +0300 Subject: [PATCH 236/373] ripemd: Add OID support (#415) --- .github/workflows/ripemd.yml | 22 +++++++++++++++++++++- Cargo.lock | 2 +- ripemd/CHANGELOG.md | 6 ++++++ ripemd/Cargo.toml | 7 ++++--- ripemd/src/lib.rs | 26 ++++++++++++++++++++++++++ 5 files changed, 58 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 16cec9401..7c1e74c30 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -49,7 +49,9 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV + # in the `test-msrv` job. + - 1.57.0 - stable steps: - uses: actions/checkout@v3 @@ -63,3 +65,21 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # TODO: merge with test on MSRV bump to 1.57 or higher + test-msrv: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --features oid + - run: cargo test --no-default-features diff --git a/Cargo.lock b/Cargo.lock index 345f1b7aa..9b1e65dba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "ripemd" -version = "0.1.2" +version = "0.1.3" dependencies = [ "digest", "hex-literal", diff --git a/ripemd/CHANGELOG.md b/ripemd/CHANGELOG.md index c56bda0b5..81cef616c 100644 --- a/ripemd/CHANGELOG.md +++ b/ripemd/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.3 (2022-09-23) +### Added +- Feature-gated OID support ([#415]) + +[#415]: https://github.com/RustCrypto/hashes/pull/415 + ## 0.1.2 (2022-09-16) ### Added - RIPEMD-128 algorithm ([#406]) diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 3758af607..3e8394d04 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ripemd" -version = "0.1.2" +version = "0.1.3" description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,13 @@ keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 06b69f02d..1a28ed76b 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -49,6 +49,8 @@ pub use digest::{self, Digest}; use core::fmt; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -158,3 +160,27 @@ impl_ripemd!(Ripemd128Core, Ripemd128, c128, "128", "RIPEMD-128", U16); impl_ripemd!(Ripemd160Core, Ripemd160, c160, "160", "RIPEMD-160", U20); impl_ripemd!(Ripemd256Core, Ripemd256, c256, "256", "RIPEMD-256", U32); impl_ripemd!(Ripemd320Core, Ripemd320, c320, "320", "RIPEMD-320", U40); + +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Ripemd128Core { + /// The OID used for the RIPEMD-160. There are two OIDs defined. The Teletrust one (which is + /// used by almost anybody, including BouncyCastle, OpenSSL, GnuTLS, etc. and the ISO one + /// (1.0.10118.3.0.50), which seems to be used by nobody. + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.36.3.2.2"); +} + +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Ripemd160Core { + /// The OID used for the RIPEMD-160. There are two OIDs defined. The Teletrust one (which is + /// used by almost anybody, including BouncyCastle, OpenSSL, GnuTLS, etc. and the ISO one + /// (1.0.10118.3.0.49), which seems to be used by Go and nobody else. + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.36.3.2.1"); +} + +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Ripemd256Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.36.3.2.3"); +} From f9af45fdde84bb24c25f90011d7b2316783eb29f Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 23 Sep 2022 17:08:44 +0000 Subject: [PATCH 237/373] Add belt-hash (#416) --- .github/workflows/belt-hash.yml | 65 +++++++++ .gitignore | 1 + Cargo.lock | 54 ++++--- Cargo.toml | 1 + README.md | 4 + belt-hash/CHANGELOG.md | 11 ++ belt-hash/Cargo.toml | 30 ++++ belt-hash/LICENSE-APACHE | 201 ++++++++++++++++++++++++++ belt-hash/LICENSE-MIT | 25 ++++ belt-hash/README.md | 57 ++++++++ belt-hash/benches/mod.rs | 14 ++ belt-hash/src/lib.rs | 245 ++++++++++++++++++++++++++++++++ belt-hash/tests/data/stb.blb | Bin 0 -> 196 bytes belt-hash/tests/mod.rs | 20 +++ 14 files changed, 711 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/belt-hash.yml create mode 100644 belt-hash/CHANGELOG.md create mode 100644 belt-hash/Cargo.toml create mode 100644 belt-hash/LICENSE-APACHE create mode 100644 belt-hash/LICENSE-MIT create mode 100644 belt-hash/README.md create mode 100644 belt-hash/benches/mod.rs create mode 100644 belt-hash/src/lib.rs create mode 100644 belt-hash/tests/data/stb.blb create mode 100644 belt-hash/tests/mod.rs diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml new file mode 100644 index 000000000..11c42ccce --- /dev/null +++ b/.github/workflows/belt-hash.yml @@ -0,0 +1,65 @@ +name: belt-hash + +on: + pull_request: + paths: + - ".github/workflows/belt-hash.yml" + - "belt-hash/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: belt-hash + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} + override: true + - run: cargo build --no-default-features --target ${{ matrix.target }} + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/.gitignore b/.gitignore index 8c754c8f8..675d60f92 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ target/ */target/ */*/target/ +*/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index 9b1e65dba..59c7ce648 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,26 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "belt-block" +version = "0.1.1" +source = "git+https://github.com/RustCrypto/block-ciphers?branch=belt_raw#c04896e96172e1b35bed85522119c9505fa659cd" + +[[package]] +name = "belt-hash" +version = "0.1.0" +dependencies = [ + "belt-block", + "digest", + "hex-literal 0.3.4", +] + [[package]] name = "blake2" version = "0.10.4" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -80,7 +94,7 @@ name = "fsb" version = "0.1.3" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", "whirlpool", ] @@ -99,7 +113,7 @@ name = "gost94" version = "0.10.3" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -107,7 +121,7 @@ name = "groestl" version = "0.10.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -120,6 +134,12 @@ dependencies = [ "proc-macro-hack", ] +[[package]] +name = "hex-literal" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" + [[package]] name = "hex-literal-impl" version = "0.2.3" @@ -134,7 +154,7 @@ name = "k12" version = "0.2.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -154,7 +174,7 @@ name = "md-5" version = "0.10.5" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", "md5-asm", ] @@ -163,7 +183,7 @@ name = "md2" version = "0.10.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -171,7 +191,7 @@ name = "md4" version = "0.10.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -194,7 +214,7 @@ name = "ripemd" version = "0.1.3" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -204,7 +224,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal", + "hex-literal 0.2.2", "sha1-asm", ] @@ -224,7 +244,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal", + "hex-literal 0.2.2", "sha2-asm", ] @@ -242,7 +262,7 @@ name = "sha3" version = "0.10.5" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", "keccak", ] @@ -251,7 +271,7 @@ name = "shabal" version = "0.4.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -259,7 +279,7 @@ name = "sm3" version = "0.4.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -267,7 +287,7 @@ name = "streebog" version = "0.10.2" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -281,7 +301,7 @@ name = "tiger" version = "0.2.1" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", ] [[package]] @@ -301,7 +321,7 @@ name = "whirlpool" version = "0.10.4" dependencies = [ "digest", - "hex-literal", + "hex-literal 0.2.2", "whirlpool-asm", ] diff --git a/Cargo.toml b/Cargo.toml index 675ac3604..beee3a843 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,6 +21,7 @@ members = [ "tiger", "whirlpool", ] +exclude = ["belt-hash"] [profile.dev] opt-level = 2 diff --git a/README.md b/README.md index 4314fb738..63f0807ae 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| +| [BelT] hash | [`belt-hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.57][msrv-1.57] | :green_heart: | | [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | @@ -230,9 +231,11 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes [msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg +[msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg [//]: # (crates) +[`belt-hash`]: ./belt-hash [`blake2`]: ./blake2 [`fsb`]: ./fsb [`gost94`]: ./gost94 @@ -270,6 +273,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (algorithms) +[BelT]: https://ru.wikipedia.org/wiki/BelT [BLAKE2]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 [FSB]: https://en.wikipedia.org/wiki/Fast_syndrome-based_hash [GOST94]: https://en.wikipedia.org/wiki/GOST_(hash_function) diff --git a/belt-hash/CHANGELOG.md b/belt-hash/CHANGELOG.md new file mode 100644 index 000000000..9e82e1692 --- /dev/null +++ b/belt-hash/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2022-09-23) +- Initial release ([#416]) + +[#416]: https://github.com/RustCrypto/hashes/pull/416 diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml new file mode 100644 index 000000000..14891c809 --- /dev/null +++ b/belt-hash/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "belt-hash" +version = "0.1.0" +description = "BelT hash function (STB 34.101.31-2020)" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +edition = "2021" +rust-version = "1.57" +documentation = "https://docs.rs/belt-hash" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "belt", "stb", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.10.4" +belt-block = { version = "0.1.1", default-features = false } + +[dev-dependencies] +digest = { version = "0.10.4", features = ["dev"] } +hex-literal = "0.3.3" + +[features] +default = ["std"] +std = ["digest/std"] +oid = ["digest/oid"] + +# TODO: remove when crate will be part of the root workspace +[profile.dev] +opt-level = 2 diff --git a/belt-hash/LICENSE-APACHE b/belt-hash/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/belt-hash/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/belt-hash/LICENSE-MIT b/belt-hash/LICENSE-MIT new file mode 100644 index 000000000..bebabe744 --- /dev/null +++ b/belt-hash/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2022 Artyom Pavlov + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/belt-hash/README.md b/belt-hash/README.md new file mode 100644 index 000000000..b9b03a24a --- /dev/null +++ b/belt-hash/README.md @@ -0,0 +1,57 @@ +# RustCrypto: BelT hash + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [BelT] hash function specified in [STB 34.101.31-2020]. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.57** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/belt-hash.svg +[crate-link]: https://crates.io/crates/belt-hash +[docs-image]: https://docs.rs/belt-hash/badge.svg +[docs-link]: https://docs.rs/belt-hash +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/belt-hash/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Abelt-hash + +[//]: # (general links) + +[BelT]: https://ru.wikipedia.org/wiki/BelT +[STB 34.101.31-2020]: http://apmi.bsu.by/assets/files/std/belt-spec371.pdf diff --git a/belt-hash/benches/mod.rs b/belt-hash/benches/mod.rs new file mode 100644 index 000000000..12635130f --- /dev/null +++ b/belt-hash/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use belt_hash::BeltHash; +use digest::bench_update; +use test::Bencher; + +bench_update!( + BeltHash::default(); + belt_hash_10 10; + belt_hash_100 100; + belt_hash_1000 1000; + belt_hash_10000 10000; +); diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs new file mode 100644 index 000000000..925ca6094 --- /dev/null +++ b/belt-hash/src/lib.rs @@ -0,0 +1,245 @@ +//! Pure Rust implementation of the [BelT] hash function specified in +//! [STB 34.101.31-2020]. +//! +//! # Usage +//! +//! ```rust +//! use belt_hash::{BeltHash, Digest}; +//! use hex_literal::hex; +//! +//! // create a BelT hasher instance +//! let mut hasher = BeltHash::new(); +//! +//! // process input message +//! hasher.update(b"hello world"); +//! +//! // acquire hash digest in the form of GenericArray, +//! // which in this case is equivalent to [u8; 32] +//! let result = hasher.finalize(); +//! let expected = hex!( +//! "afb175816416fbadad4629ecbd78e1887789881f2d2e5b80c22a746b7ac7ba88" +//! ); +//! assert_eq!(result[..], expected[..]); +//! ``` +//! +//! Also see [examples] in the RustCrypto/hashes readme. +//! +//! [BelT]: https://ru.wikipedia.org/wiki/BelT +//! [STB 34.101.31-2020]: http://apmi.bsu.by/assets/files/std/belt-spec371.pdf +//! [examples]: https://github.com/RustCrypto/hashes#usage +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" +)] +#![warn(missing_docs, rust_2018_idioms)] +#![forbid(unsafe_code)] + +pub use digest::{self, Digest}; + +use belt_block::belt_block_raw; +use core::fmt; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + typenum::{Unsigned, U32}, + HashMarker, Output, +}; + +const U32_MASK: u128 = (1 << 32) - 1; + +/// Core BelT hasher state. +#[derive(Clone)] +pub struct BeltHashCore { + r: u128, + s: [u32; 4], + h: [u32; 8], +} + +impl BeltHashCore { + fn compress_block(&mut self, block: &Block) { + let x1 = [ + get_u32(block, 0), + get_u32(block, 1), + get_u32(block, 2), + get_u32(block, 3), + ]; + let x2 = [ + get_u32(block, 4), + get_u32(block, 5), + get_u32(block, 6), + get_u32(block, 7), + ]; + let (t, h) = belt_compress(x1, x2, self.h); + self.h = h; + self.s.iter_mut().zip(t).for_each(|(s, t)| *s ^= t); + } +} + +impl HashMarker for BeltHashCore {} + +impl BlockSizeUser for BeltHashCore { + type BlockSize = U32; +} + +impl BufferKindUser for BeltHashCore { + type BufferKind = Eager; +} + +impl OutputSizeUser for BeltHashCore { + type OutputSize = U32; +} + +impl UpdateCore for BeltHashCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.r = self.r.wrapping_add(blocks.len() as u128); + for block in blocks { + self.compress_block(block); + } + } +} + +impl FixedOutputCore for BeltHashCore { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + if pos != 0 { + let block = buffer.pad_with_zeros(); + self.compress_block(block); + } + let bs = Self::BlockSize::USIZE as u128; + let r = encode_r(8 * ((bs * self.r) + pos as u128)); + let (_, y) = belt_compress(r, self.s, self.h); + for (chunk, val) in out.chunks_exact_mut(4).zip(y) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + } +} + +impl Default for BeltHashCore { + #[inline] + fn default() -> Self { + Self { + r: 0, + s: [0; 4], + #[rustfmt::skip] + h: [ + 0xC8BA94B1, 0x3BF5080A, 0x8E006D36, 0xE45D4A58, + 0x9DFA0485, 0xACC7B61B, 0xC2722E25, 0x0DCEFD02, + ], + } + } +} + +impl Reset for BeltHashCore { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } +} + +impl AlgorithmName for BeltHashCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltHash") + } +} + +impl fmt::Debug for BeltHashCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("BeltHashCore { ... }") + } +} + +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for BeltHashCore { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.112.0.2.0.34.101.31.81"); +} + +/// BelT hasher state. +pub type BeltHash = CoreWrapper; + +/// Compression function described in the section 6.3.2 +#[inline(always)] +fn belt_compress(x1: [u32; 4], x2: [u32; 4], x34: [u32; 8]) -> ([u32; 4], [u32; 8]) { + let x3 = [x34[0], x34[1], x34[2], x34[3]]; + let x4 = [x34[4], x34[5], x34[6], x34[7]]; + + // Step 2 + let t1 = belt_block_raw(xor(x3, x4), &concat(x1, x2)); + let s = xor(xor(t1, x3), x4); + // Step 3 + let t2 = belt_block_raw(x1, &concat(s, x4)); + let y1 = xor(t2, x1); + // Step 4 + let t3 = belt_block_raw(x2, &concat(s.map(|v| !v), x3)); + let y2 = xor(t3, x2); + // Step 5 + (s, concat(y1, y2)) +} + +#[inline(always)] +fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { + // TODO: use array zip on stabilization and MSRV bump + [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] +} + +#[inline(always)] +fn concat(a: [u32; 4], b: [u32; 4]) -> [u32; 8] { + [a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]] +} + +#[inline(always)] +fn get_u32(block: &[u8], i: usize) -> u32 { + u32::from_le_bytes(block[4 * i..][..4].try_into().unwrap()) +} + +#[inline(always)] +fn encode_r(r: u128) -> [u32; 4] { + [ + (r & U32_MASK) as u32, + ((r >> 32) & U32_MASK) as u32, + ((r >> 64) & U32_MASK) as u32, + ((r >> 96) & U32_MASK) as u32, + ] +} + +#[cfg(test)] +mod tests { + use super::{belt_compress, get_u32}; + use hex_literal::hex; + + const ENUM4: [usize; 4] = [0, 1, 2, 3]; + const ENUM8: [usize; 8] = [0, 1, 2, 3, 4, 5, 6, 7]; + + /// Test vectors for the `belt-compress` functions from the + /// specification (Table A.8). + #[test] + fn compress() { + let x = &hex!( + "B194BAC8 0A08F53B 366D008E 584A5DE4" + "8504FA9D 1BB6C7AC 252E72C2 02FDCE0D" + "5BE3D612 17B96181 FE6786AD 716B890B" + "5CB0C0FF 33C356B8 35C405AE D8E07F99" + ); + let expected_s = &hex!("46FE7425 C9B181EB 41DFEE3E 72163D5A"); + let expected_y = &hex!( + "ED2F5481 D593F40D 87FCE37D 6BC1A2E1" + "B7D1A2CC 975C82D3 C0497488 C90D99D8" + ); + let x1 = ENUM4.map(|i| get_u32(x, i)); + let x2 = ENUM4.map(|i| get_u32(x, 4 + i)); + let x34 = ENUM8.map(|i| get_u32(x, 8 + i)); + + let (s, y) = belt_compress(x1, x2, x34); + + assert_eq!(s, ENUM4.map(|i| get_u32(expected_s, i))); + assert_eq!(y, ENUM8.map(|i| get_u32(expected_y, i))); + } +} diff --git a/belt-hash/tests/data/stb.blb b/belt-hash/tests/data/stb.blb new file mode 100644 index 0000000000000000000000000000000000000000..6e63079450f45a0740188a56d05d380cdc380bb3 GIT binary patch literal 196 zcmZRO+Bjv`2`-MW)@Hd3eGv|;-%nS)a&(31^u_5HU8bB-b^64gI`{sYlZlJpg!1g_ zDRn?m?iKr_mF3r5>21f?sOl9RV)}cI*P&#dk6G}#b8#NG-4m6{onGhe6aKP-zxw^h zmFIf}-j%l{5Hcb9@iigwor#VA(%aS+W_NNs%w>A#lD}=y{HG_Iu57gWdHE$r;vS#( P>gNrze{+j_iFyG5jPGB? literal 0 HcmV?d00001 diff --git a/belt-hash/tests/mod.rs b/belt-hash/tests/mod.rs new file mode 100644 index 000000000..d8259a128 --- /dev/null +++ b/belt-hash/tests/mod.rs @@ -0,0 +1,20 @@ +use belt_hash::{BeltHash, Digest}; +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; + +// Test vectors from STB 34.101.31-2020 (Section A.11, Table A.23): +// http://apmi.bsu.by/assets/files/std/belt-spec371.pdf +digest::new_test!(belt_stb, "stb", BeltHash, fixed_reset_test); + +#[test] +fn belt_rand() { + let mut h = BeltHash::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!( + "a45053f80827d530008198c8185aa507" + "403b4a21f591579f07c34358e5991754" + )[..] + ); +} From 479404a8ec961b7b7d2db19052da2e46c970a41c Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Wed, 5 Oct 2022 15:52:15 +0300 Subject: [PATCH 238/373] md4: add OID support (#418) --- .github/workflows/md4.yml | 21 ++++++++++++++++++++- md4/CHANGELOG.md | 6 ++++++ md4/Cargo.toml | 3 ++- md4/src/lib.rs | 8 ++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index ccc8eb84e..19adf96d3 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + - 1.57.0 # MSRV - stable steps: - uses: actions/checkout@v3 @@ -63,3 +63,22 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # TODO: merge with test on MSRV bump to 1.57 or higher + test-msrv-41: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md index c48c1e1f4..e9205717f 100644 --- a/md4/CHANGELOG.md +++ b/md4/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (UNRELEASED) +### Added +- Feature-gated OID support ([#418]) + +[#418]: https://github.com/RustCrypto/hashes/pull/418 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index e7a485a7f..330ed0e28 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -15,9 +15,10 @@ categories = ["cryptography", "no-std"] digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 065d3ed7c..2a4cf47e6 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -35,6 +35,8 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt}; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -122,6 +124,12 @@ impl fmt::Debug for Md4Core { } } +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Md4Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.4"); +} + /// MD4 hasher state. pub type Md4 = CoreWrapper; From e07cc2d270069afd20a7981b4b01290c1ff7ddde Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Wed, 5 Oct 2022 15:52:30 +0300 Subject: [PATCH 239/373] md2: add OID support (#419) --- .github/workflows/md2.yml | 21 ++++++++++++++++++++- md2/CHANGELOG.md | 6 ++++++ md2/Cargo.toml | 3 ++- md2/src/lib.rs | 8 ++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 96085a73e..48f29a12c 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + - 1.57.0 # MSRV - stable steps: - uses: actions/checkout@v3 @@ -63,3 +63,22 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # TODO: merge with test on MSRV bump to 1.57 or higher + test-msrv-41: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + - run: cargo test diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md index c4c7c3b26..7edba0d5e 100644 --- a/md2/CHANGELOG.md +++ b/md2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (UNRELEASED) +### Added +- Feature-gated OID support ([#419]) + +[#419]: https://github.com/RustCrypto/hashes/pull/419 + ## 0.10.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 4036deab8..d4b20eb0c 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -12,7 +12,7 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.4" [dev-dependencies] digest = { version = "0.10.3", features = ["dev"] } @@ -21,3 +21,4 @@ hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 3e03d5c39..9ab2750b1 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -34,6 +34,8 @@ pub use digest::{self, Digest}; use core::fmt; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, consts::U16, @@ -146,5 +148,11 @@ impl fmt::Debug for Md2Core { } } +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl AssociatedOid for Md2Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.2"); +} + /// MD2 hasher state. pub type Md2 = CoreWrapper; From b50173591dea27b1f9306872770b0c53a2219d92 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 5 Oct 2022 13:50:46 +0000 Subject: [PATCH 240/373] Release md2 v0.10.2 and md4 v0.10.2 (#420) --- Cargo.lock | 62 ++++++++++++++++-------------------------------- md2/CHANGELOG.md | 2 +- md2/Cargo.toml | 2 +- md4/CHANGELOG.md | 2 +- md4/Cargo.toml | 2 +- 5 files changed, 25 insertions(+), 45 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 59c7ce648..81bacdb9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,26 +2,12 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "belt-block" -version = "0.1.1" -source = "git+https://github.com/RustCrypto/block-ciphers?branch=belt_raw#c04896e96172e1b35bed85522119c9505fa659cd" - -[[package]] -name = "belt-hash" -version = "0.1.0" -dependencies = [ - "belt-block", - "digest", - "hex-literal 0.3.4", -] - [[package]] name = "blake2" version = "0.10.4" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -94,7 +80,7 @@ name = "fsb" version = "0.1.3" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", "whirlpool", ] @@ -113,7 +99,7 @@ name = "gost94" version = "0.10.3" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -121,7 +107,7 @@ name = "groestl" version = "0.10.1" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -134,12 +120,6 @@ dependencies = [ "proc-macro-hack", ] -[[package]] -name = "hex-literal" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" - [[package]] name = "hex-literal-impl" version = "0.2.3" @@ -154,7 +134,7 @@ name = "k12" version = "0.2.1" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -165,33 +145,33 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.133" +version = "0.2.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" +checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" [[package]] name = "md-5" version = "0.10.5" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", "md5-asm", ] [[package]] name = "md2" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] name = "md4" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -214,7 +194,7 @@ name = "ripemd" version = "0.1.3" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -224,7 +204,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal 0.2.2", + "hex-literal", "sha1-asm", ] @@ -244,7 +224,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest", - "hex-literal 0.2.2", + "hex-literal", "sha2-asm", ] @@ -262,7 +242,7 @@ name = "sha3" version = "0.10.5" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", "keccak", ] @@ -271,7 +251,7 @@ name = "shabal" version = "0.4.1" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -279,7 +259,7 @@ name = "sm3" version = "0.4.1" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -287,7 +267,7 @@ name = "streebog" version = "0.10.2" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -301,7 +281,7 @@ name = "tiger" version = "0.2.1" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", ] [[package]] @@ -321,7 +301,7 @@ name = "whirlpool" version = "0.10.4" dependencies = [ "digest", - "hex-literal 0.2.2", + "hex-literal", "whirlpool-asm", ] diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md index 7edba0d5e..cf34126d7 100644 --- a/md2/CHANGELOG.md +++ b/md2/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.2 (UNRELEASED) +## 0.10.2 (2022-10-05) ### Added - Feature-gated OID support ([#419]) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index d4b20eb0c..234c4ada2 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.10.1" +version = "0.10.2" license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md index e9205717f..21eef39e8 100644 --- a/md4/CHANGELOG.md +++ b/md4/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.2 (UNRELEASED) +## 0.10.2 (2022-10-05) ### Added - Feature-gated OID support ([#418]) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 330ed0e28..78faeb71d 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.10.1" +version = "0.10.2" description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 5b67e7364b498e29a2ac371a6bd1c642e345d3ce Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Wed, 5 Oct 2022 17:26:41 +0300 Subject: [PATCH 241/373] gost94: add OID support (#417) --- .github/workflows/gost94.yml | 20 +++++++++++++++++++- gost94/Cargo.toml | 3 ++- gost94/src/lib.rs | 22 ++++++++++++++++++++++ gost94/src/params.rs | 15 +++++++++++++++ gost94/tests/mod.rs | 15 +++++++++++++++ 5 files changed, 73 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index b2005bcc3..fbac73a17 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -49,7 +49,7 @@ jobs: strategy: matrix: rust: - - 1.41.0 # MSRV + - 1.57.0 # MSRV - stable steps: - uses: actions/checkout@v3 @@ -63,3 +63,21 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # TODO: merge with test on MSRV bump to 1.57 or higher + test-msrv-41: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.41.0 # MSRV + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test + - run: cargo test --no-default-features diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 515a1c241..c3d4d415d 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -15,9 +15,10 @@ categories = ["cryptography", "no-std"] digest = "0.10.3" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.4", features = ["dev"] } hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] +oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 9808606c2..1a55faa1e 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -21,8 +21,17 @@ //! //! Also see [RustCrypto/hashes][2] readme. //! +//! # Associated OIDs. +//! There can be a confusion regarding OIDs associated with declared types. According to the +//! [RFC 4357][3], the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash +//! function parameter sets (CryptoPro vs Test ones). According to [RFC 4490][4] the OID +//! 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it +//! continues that this function MUST be used only with the CryptoPro parameter set. +//! //! [1]: https://en.wikipedia.org/wiki/GOST_(hash_function) //! [2]: https://github.com/RustCrypto/hashes +//! [3]: https://www.rfc-editor.org/rfc/rfc4357 +//! [4]: https://www.rfc-editor.org/rfc/rfc4490 #![no_std] #![doc( @@ -35,6 +44,8 @@ #[cfg(feature = "std")] extern crate std; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::core_api::CoreWrapper; mod gost94_core; @@ -45,6 +56,17 @@ pub use digest::{self, Digest}; pub use gost94_core::Gost94Core; +#[cfg(feature = "oid")] +impl AssociatedOid for Gost94Core { + /// Per RFC 4490 + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.643.2.2.9"); +} + +#[cfg(feature = "oid")] +impl AssociatedOid for Gost94Core { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.804.2.1.1.1.1.2.1"); +} + /// GOST94 hash function with CryptoPro parameters. pub type Gost94CryptoPro = CoreWrapper>; /// GOST94 hash function with S-box defined in GOST R 34.12-2015. diff --git a/gost94/src/params.rs b/gost94/src/params.rs index aa10216f5..45379d54a 100644 --- a/gost94/src/params.rs +++ b/gost94/src/params.rs @@ -1,3 +1,6 @@ +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; + pub(crate) type Block = [u8; 32]; pub(crate) type SBox = [[u8; 16]; 8]; @@ -31,6 +34,12 @@ impl Gost94Params for CryptoProParam { const NAME: &'static str = "Gost94CryptoPro"; } +#[cfg(feature = "oid")] +impl AssociatedOid for CryptoProParam { + /// Per RFC 4357 + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.643.2.2.30.1"); +} + /// S-Box defined in GOST R 34.12-2015. #[derive(Copy, Clone, Default)] pub struct S2015Param; @@ -69,6 +78,12 @@ impl Gost94Params for TestParam { const NAME: &'static str = "Gost94Test"; } +#[cfg(feature = "oid")] +impl AssociatedOid for TestParam { + /// Per RFC 4357 + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.643.2.2.30.0"); +} + /// S-Box defined in GOST 34.311-95 & GOST 28147:2009. #[derive(Copy, Clone, Default)] pub struct GOST28147UAParam; diff --git a/gost94/tests/mod.rs b/gost94/tests/mod.rs index 41658f911..7d0cad741 100644 --- a/gost94/tests/mod.rs +++ b/gost94/tests/mod.rs @@ -1,3 +1,5 @@ +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::dev::{feed_rand_16mib, fixed_reset_test}; use digest::new_test; use gost94::{Digest, Gost94CryptoPro, Gost94Test, Gost94UA}; @@ -91,3 +93,16 @@ fn gost_ua_engine_tests() { hex!("7c536414f8b5b9cc649fdf3cccb2685c1a12622956308e34f31c50ed7b3af56c"), ); } + +#[cfg(feature = "oid")] +#[test] +fn gost_oid_tests() { + assert_eq!( + Gost94CryptoPro::OID, + ObjectIdentifier::new_unwrap("1.2.643.2.2.9") + ); + assert_eq!( + Gost94UA::OID, + ObjectIdentifier::new_unwrap("1.2.804.2.1.1.1.1.2.1") + ); +} From d6033687798e8641612f46a3ac431834e87cb4fc Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 5 Oct 2022 15:01:58 +0000 Subject: [PATCH 242/373] gost94: release v0.10.4 (#421) --- Cargo.lock | 2 +- gost94/CHANGELOG.md | 6 ++++++ gost94/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81bacdb9d..223d8d13a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "gost94" -version = "0.10.3" +version = "0.10.4" dependencies = [ "digest", "hex-literal", diff --git a/gost94/CHANGELOG.md b/gost94/CHANGELOG.md index d0c729f7b..d15cd465d 100644 --- a/gost94/CHANGELOG.md +++ b/gost94/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.4 (2022-10-05) +### Added +- Feature-gated OID support ([#417]) + +[#417]: https://github.com/RustCrypto/hashes/pull/417 + ## 0.10.3 (2022-09-03) ### Fixed - MSRV issue caused by `resolver = "2"` ([#402]) diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index c3d4d415d..19c8472d4 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gost94" -version = "0.10.3" +version = "0.10.4" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 08d677fc9b978320eb3d5c261339f3d72f5f07f6 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Sun, 16 Oct 2022 18:15:47 +0100 Subject: [PATCH 243/373] sha1: fix typo (#424) --- sha1/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index e5fbf2a7b..38ddc4b51 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -33,12 +33,12 @@ //! //! This crate has been transferred to the RustCrypto organization and uses //! implementation previously published as the `sha-1` crate. The previous -//! zero dependencies version is now published as the [`sha1_smoll`] crate. +//! zero dependencies version is now published as the [`sha1_smol`] crate. //! //! [1]: https://en.wikipedia.org/wiki/SHA-1 //! [2]: https://sha-mbles.github.io/ //! [3]: https://github.com/RustCrypto/hashes -//! [`sha1_smoll`]: https://github.com/mitsuhiko/sha1-smol/ +//! [`sha1_smol`]: https://github.com/mitsuhiko/sha1-smol/ #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] From 7a187e934c1f6c68e4b4e5cf37541b7a0d64d303 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 18 Oct 2022 21:39:04 +0000 Subject: [PATCH 244/373] sha3: fix XOF reader type aliases (#427) --- Cargo.lock | 6 +++--- sha3/CHANGELOG.md | 6 ++++++ sha3/Cargo.toml | 2 +- sha3/src/macros.rs | 4 ++-- sha3/tests/aliases.rs | 19 +++++++++++++++++++ 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 sha3/tests/aliases.rs diff --git a/Cargo.lock b/Cargo.lock index 223d8d13a..1e3c90547 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -145,9 +145,9 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.134" +version = "0.2.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" +checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" [[package]] name = "md-5" @@ -239,7 +239,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.5" +version = "0.10.6" dependencies = [ "digest", "hex-literal", diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 5569e3c22..dece862b6 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.6 (2022-10-19) +### Fixed +- XOF reader type aliases ([#427]) + +[#427]: https://github.com/RustCrypto/hashes/pull/427 + ## 0.10.5 (2022-09-16) ### Added - Feature-gated OID support ([#405]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index afd572c0a..b679b0daf 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.5" +version = "0.10.6" description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 735401802..4b8397d44 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -204,7 +204,7 @@ macro_rules! impl_shake { #[doc = $alg_name] #[doc = " reader state."] - pub type $reader_full = XofReaderCoreWrapper<$name>; + pub type $reader_full = XofReaderCoreWrapper<$reader>; }; ( $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, @@ -395,6 +395,6 @@ macro_rules! impl_cshake { #[doc = $alg_name] #[doc = " reader state."] - pub type $reader_full = XofReaderCoreWrapper<$name>; + pub type $reader_full = XofReaderCoreWrapper<$reader>; }; } diff --git a/sha3/tests/aliases.rs b/sha3/tests/aliases.rs new file mode 100644 index 000000000..9670bb54a --- /dev/null +++ b/sha3/tests/aliases.rs @@ -0,0 +1,19 @@ +//! Checks that we defined reader type aliases correctly +#![allow(dead_code)] +use sha3::digest::ExtendableOutput; + +fn shake128(v: sha3::Shake128) -> sha3::Shake128Reader { + v.finalize_xof() +} + +fn shake256(v: sha3::Shake256) -> sha3::Shake256Reader { + v.finalize_xof() +} + +fn cshake128(v: sha3::CShake128) -> sha3::CShake128Reader { + v.finalize_xof() +} + +fn cshake256(v: sha3::CShake256) -> sha3::CShake256Reader { + v.finalize_xof() +} From af0567f2605901bf6b4811775427c8f1dd7e350d Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Wed, 26 Oct 2022 10:38:55 +0200 Subject: [PATCH 245/373] Fix: typos (#428) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 63f0807ae..5a255d21a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Collection of [cryptographic hash functions][1] written in pure Rust. -All algorithms reside in the separate crates and implemented using traits from [`digest`] crate. +All algorithms reside in separate crates and are implemented using traits from [`digest`] crate. Additionally all crates do not require the standard library (i.e. `no_std` capable) and can be easily used for bare-metal or WebAssembly programming. ## Supported Algorithms @@ -51,7 +51,7 @@ See the [Security] page on Wikipedia for more information. ### Crate Names -Whenever possible crates are published under the the same name as the crate folder. +Whenever possible crates are published under the same name as the crate folder. Owners of `md5` [declined](https://github.com/stainless-steel/md5/pull/) to participate in this project. This crate does not implement the [`digest`] traits, so it is not interoperable with the RustCrypto ecosystem. This is why we publish our MD5 implementation as `md-5` and mark it with the :exclamation: mark. From 881b21f1fe62344361a323c7ee3520ff3e3794df Mon Sep 17 00:00:00 2001 From: Vladislav Melnik Date: Fri, 11 Nov 2022 11:17:39 +0200 Subject: [PATCH 246/373] Fix `KeyInit` for blake2 (#432) --- blake2/src/macros.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index 4a014716d..b8e8a6f08 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -325,7 +325,7 @@ macro_rules! blake2_mac_impl { let mut padded_key = Block::<$hash>::default(); padded_key[..kl].copy_from_slice(key); Self { - core: <$hash>::new_with_params(key, &[], key.len(), OutSize::USIZE), + core: <$hash>::new_with_params(&[], &[], key.len(), OutSize::USIZE), buffer: LazyBuffer::new(&padded_key), #[cfg(feature = "reset")] key_block: key.clone(), From 712f3dfad8d7311ae7f0c9ac12485f347fcd82f4 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 11 Nov 2022 10:00:13 +0000 Subject: [PATCH 247/373] blake2: release v0.10.5 (#434) --- Cargo.lock | 10 +++++----- blake2/CHANGELOG.md | 8 +++++++- blake2/Cargo.toml | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1e3c90547..76303b024 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" dependencies = [ "digest", "hex-literal", @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -145,9 +145,9 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.135" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "md-5" diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index f8c6aa4e5..fab243931 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,7 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.4 (2022-02-17) +## 0.10.5 (2022-11-11) +### Fixed +- Implementation of the `KeyInit::new` method for MAC types ([#432]) + +[#432]: https://github.com/RustCrypto/hashes/pull/432 + +## 0.10.4 (2022-02-17) [YANKED] ### Fixed - Bug on big-endian targets ([#366]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index c4cd72821..ece77681d 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.10.4" +version = "0.10.5" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From fc543bc5ef84f4bf9371dede09a146a86fdfe2c4 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 14 Nov 2022 10:40:48 +0000 Subject: [PATCH 248/373] blake2: implement KeyInit::new in terms of KeyInit::new_from_slice (#435) --- blake2/CHANGELOG.md | 6 ++++++ blake2/src/macros.rs | 13 +++---------- blake2/tests/mac.rs | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index fab243931..398ba62e5 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## UNREALEASED +### Changed +- Implement `KeyInit::new` in terms of `KeyInit::new_from_slice` ([#435]) + +[#435]: https://github.com/RustCrypto/hashes/pull/435 + ## 0.10.5 (2022-11-11) ### Fixed - Implementation of the `KeyInit::new` method for MAC types ([#432]) diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index b8e8a6f08..e185207c8 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -320,19 +320,12 @@ macro_rules! blake2_mac_impl { OutSize: ArrayLength + IsLessOrEqual<$max_size>, LeEq: NonZero, { + #[inline] fn new(key: &Key) -> Self { - let kl = key.len(); - let mut padded_key = Block::<$hash>::default(); - padded_key[..kl].copy_from_slice(key); - Self { - core: <$hash>::new_with_params(&[], &[], key.len(), OutSize::USIZE), - buffer: LazyBuffer::new(&padded_key), - #[cfg(feature = "reset")] - key_block: key.clone(), - _out: PhantomData, - } + Self::new_from_slice(key).expect("Key has correct length") } + #[inline] fn new_from_slice(key: &[u8]) -> Result { let kl = key.len(); if kl > ::KeySize::USIZE { diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index ec35a4cc0..97fbc9d70 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -5,3 +5,25 @@ use digest::new_resettable_mac_test as new_test; new_test!(blake2b_mac, "blake2b/mac", blake2::Blake2bMac512); new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256); + +#[test] +fn blake2b_new_test() { + use blake2::digest::{generic_array::GenericArray, KeyInit, Mac}; + + fn run(key: &[u8]) { + const DATA: &[u8] = &[42; 300]; + let res1 = ::new(GenericArray::from_slice(key)) + .chain_update(DATA) + .finalize() + .into_bytes(); + let res2 = ::new_from_slice(&key) + .unwrap() + .chain_update(DATA) + .finalize() + .into_bytes(); + assert_eq!(res1, res2); + } + + run::(&[0x42; 32]); + run::(&[0x42; 64]); +} From 7556fe23550660bee0fd6f2a00ba2796ce7bfa26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Nov 2022 10:50:28 -0700 Subject: [PATCH 249/373] build(deps): bump keccak from 0.1.2 to 0.1.3 (#436) Bumps [keccak](https://github.com/RustCrypto/sponges) from 0.1.2 to 0.1.3. - [Release notes](https://github.com/RustCrypto/sponges/releases) - [Commits](https://github.com/RustCrypto/sponges/compare/keccak-v0.1.2...keccak-v0.1.3) --- updated-dependencies: - dependency-name: keccak dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76303b024..80eaa4973 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -139,9 +139,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "libc" From 8bf26e17b2e3c397f30e32e9579925fce0f71a86 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 15 Nov 2022 11:35:50 -0700 Subject: [PATCH 250/373] sha3: add `asm` feature (#437) Transitively enables the `asm` feture in the `keccak` crate which was added in RustCrypto/sponges#24. --- sha3/Cargo.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index b679b0daf..787290284 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.4" -keccak = "0.1" +keccak = "0.1.3" [dev-dependencies] digest = { version = "0.10.4", features = ["dev"] } @@ -22,5 +22,7 @@ hex-literal = "0.2.2" [features] default = ["std"] std = ["digest/std"] + +asm = ["keccak/asm"] # Enable ASM (currently ARMv8 only). WARNING: Bumps MSRV to 1.59 oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 reset = [] # Enable reset functionality From 5da21fb6e08d4373678bb4a3f2035b508bff7049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Thu, 17 Nov 2022 04:00:37 +0300 Subject: [PATCH 251/373] Update Cargo.lock --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 80eaa4973..29f2d8d68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,9 +39,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "cpufeatures" @@ -64,9 +64,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "blobby", "block-buffer", From 13dcab4ff91edc1f653dddaeee12d33c211c0bf6 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 24 Nov 2022 16:17:45 +0000 Subject: [PATCH 252/373] sha1: fix readme links (#439) --- sha1/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sha1/README.md b/sha1/README.md index dc6102eb9..bd76f0973 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -48,10 +48,10 @@ dual licensed as above, without any additional terms or conditions. [//]: # (badges) -[crate-image]: https://img.shields.io/crates/v/sha-1.svg -[crate-link]: https://crates.io/crates/sha-1 -[docs-image]: https://docs.rs/sha-1/badge.svg -[docs-link]: https://docs.rs/sha-1/ +[crate-image]: https://img.shields.io/crates/v/sha1.svg +[crate-link]: https://crates.io/crates/sha1 +[docs-image]: https://docs.rs/sha1/badge.svg +[docs-link]: https://docs.rs/sha1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg From f8b2eab9249fd3d1c506e7032fab92111520c35e Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Fri, 16 Dec 2022 20:49:42 +0100 Subject: [PATCH 253/373] blake2: add Cargo feature to optimize for code size. (#440) --- blake2/Cargo.toml | 1 + blake2/src/macros.rs | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index ece77681d..3fd742893 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -25,3 +25,4 @@ reset = [] # Enable reset functionality simd = [] simd_opt = ["simd"] simd_asm = ["simd_opt"] +size_opt = [] # Optimize for code size. Removes some `inline(always)` diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index e185207c8..917a212c8 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -107,7 +107,7 @@ macro_rules! blake2_impl { fn compress(&mut self, block: &Block, f0: $word, f1: $word) { use $crate::consts::SIGMA; - #[inline(always)] + #[cfg_attr(not(feature = "size_opt"), inline(always))] fn quarter_round(v: &mut [$vec; 4], rd: u32, rb: u32, m: $vec) { v[0] = v[0].wrapping_add(v[1]).wrapping_add(m.from_le()); v[3] = (v[3] ^ v[0]).rotate_right_const(rd); @@ -115,21 +115,21 @@ macro_rules! blake2_impl { v[1] = (v[1] ^ v[2]).rotate_right_const(rb); } - #[inline(always)] + #[cfg_attr(not(feature = "size_opt"), inline(always))] fn shuffle(v: &mut [$vec; 4]) { v[1] = v[1].shuffle_left_1(); v[2] = v[2].shuffle_left_2(); v[3] = v[3].shuffle_left_3(); } - #[inline(always)] + #[cfg_attr(not(feature = "size_opt"), inline(always))] fn unshuffle(v: &mut [$vec; 4]) { v[1] = v[1].shuffle_right_1(); v[2] = v[2].shuffle_right_2(); v[3] = v[3].shuffle_right_3(); } - #[inline(always)] + #[cfg_attr(not(feature = "size_opt"), inline(always))] fn round(v: &mut [$vec; 4], m: &[$word; 16], s: &[usize; 16]) { quarter_round(v, $R1, $R2, $vec::gather(m, s[0], s[2], s[4], s[6])); quarter_round(v, $R3, $R4, $vec::gather(m, s[1], s[3], s[5], s[7])); From 1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 16 Dec 2022 23:38:14 +0300 Subject: [PATCH 254/373] blake2: release v0.10.6 (#443) --- Cargo.lock | 14 +++++++------- blake2/CHANGELOG.md | 6 +++++- blake2/Cargo.toml | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 29f2d8d68..d851c17b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" dependencies = [ "digest", "hex-literal", @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cfg-if" @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.137" +version = "0.2.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" [[package]] name = "md-5" @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "version_check" diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 398ba62e5..632a5cb9f 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,11 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## UNREALEASED +## 0.10.6 (2022-12-16) +### Added +- `size_opt` Cargo feature ([#440]) + ### Changed - Implement `KeyInit::new` in terms of `KeyInit::new_from_slice` ([#435]) [#435]: https://github.com/RustCrypto/hashes/pull/435 +[#440]: https://github.com/RustCrypto/hashes/pull/440 ## 0.10.5 (2022-11-11) ### Fixed diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 3fd742893..11c00ac01 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.10.5" +version = "0.10.6" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From b059d4bd37a4fd67fb79fb3df5c3c3aa74f393fb Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Sat, 4 Mar 2023 00:30:13 +0100 Subject: [PATCH 255/373] Replace unmaintained actions-rs/toolchain action in CI workflows (#454) Basically all of the `actions-rs/*` actions are unmaintained. See for more information. Due to their age they generate several warnings in CI runs. To get rid of some of those warnings the occurrences of `actions-rs/toolchain` are replaced by `dtolnay/rust-toolchain`. --- .github/workflows/belt-hash.yml | 10 +++------- .github/workflows/blake2.yml | 14 ++++---------- .github/workflows/fsb.yml | 10 +++------- .github/workflows/gost94.yml | 14 ++++---------- .github/workflows/groestl.yml | 10 +++------- .github/workflows/k12.yml | 10 +++------- .github/workflows/md2.yml | 14 ++++---------- .github/workflows/md4.yml | 14 ++++---------- .github/workflows/md5.yml | 14 ++++---------- .github/workflows/ripemd.yml | 14 ++++---------- .github/workflows/sha1.yml | 28 +++++++++------------------- .github/workflows/sha2.yml | 28 +++++++++------------------- .github/workflows/sha3.yml | 14 ++++---------- .github/workflows/shabal.yml | 10 +++------- .github/workflows/sm3.yml | 10 +++------- .github/workflows/streebog.yml | 12 ++++-------- .github/workflows/tiger.yml | 10 +++------- .github/workflows/whirlpool.yml | 10 +++------- .github/workflows/workspace.yml | 8 ++------ 19 files changed, 76 insertions(+), 178 deletions(-) diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml index 11c42ccce..50abcfff2 100644 --- a/.github/workflows/belt-hash.yml +++ b/.github/workflows/belt-hash.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 3303e5a71..1c5f40bb8 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --no-default-features - run: cargo test - run: cargo test --features reset @@ -67,11 +63,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: nightly-2021-05-01 - override: true - run: cargo test --features simd - run: cargo test --features simd_opt - run: cargo test --features simd_asm diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 145676ae1..21b979e51 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index fbac73a17..0dfb22364 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -74,10 +70,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test - run: cargo test --no-default-features diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 3fcf501bd..e1ec96436 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index aede85d36..016363d64 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 48f29a12c..ddd3cc0f7 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -75,10 +71,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 19adf96d3..d8513790e 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -75,10 +71,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 681453d47..1495f7d37 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -34,12 +34,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -57,11 +55,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check - run: cargo test --no-default-features - run: cargo test @@ -77,9 +73,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --features oid diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 7c1e74c30..9613ed684 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -56,11 +54,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -76,10 +72,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo test --features oid - run: cargo test --no-default-features diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index ca09fd895..76b4d1190 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -40,12 +40,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -79,12 +77,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: ${{ matrix.deps }} - run: cargo test --target ${{ matrix.target }} --no-default-features - run: cargo test --target ${{ matrix.target }} @@ -104,12 +100,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: x86_64-apple-darwin - override: true + targets: x86_64-apple-darwin - run: cargo test --no-default-features - run: cargo test - run: cargo test --features asm @@ -132,12 +126,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} @@ -180,10 +172,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: 1.41.0 - override: true - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index d0cbe99a3..038809089 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -40,12 +40,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -77,12 +75,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: ${{ matrix.deps }} - run: cargo test --target ${{ matrix.target }} --no-default-features - run: cargo test --target ${{ matrix.target }} @@ -102,12 +98,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: x86_64-apple-darwin - override: true + targets: x86_64-apple-darwin - run: cargo test --no-default-features - run: cargo test - run: cargo test --features asm @@ -129,12 +123,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} @@ -175,10 +167,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: 1.41.0 - override: true - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 94fd650ba..db4d4078a 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -39,12 +39,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -63,11 +61,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -106,10 +102,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: 1.41.0 - override: true - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index e9a059d68..2c42ef43f 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index 9ae65d354..ca2c470be 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index dfdb4c522..6b82856f3 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test @@ -70,7 +66,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: profile: minimal toolchain: 1.41.0 diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index d4c302703..9baf7c159 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -34,12 +34,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -57,11 +55,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 049094070..2609dd901 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -31,12 +31,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - target: ${{ matrix.target }} - override: true + targets: ${{ matrix.target }} - run: cargo build --no-default-features --target ${{ matrix.target }} minimal-versions: @@ -54,11 +52,9 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: - profile: minimal toolchain: ${{ matrix.rust }} - override: true - run: cargo check --all-features - run: cargo test --no-default-features - run: cargo test diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 1e35e1cbb..a4722666d 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -15,12 +15,10 @@ jobs: steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@master with: toolchain: 1.60.0 components: clippy - profile: minimal - override: true - run: cargo clippy --all -- -D warnings rustfmt: @@ -30,12 +28,10 @@ jobs: uses: actions/checkout@v3 - name: Install stable toolchain - uses: actions-rs/toolchain@v1 + uses: dtolnay/rust-toolchain@master with: toolchain: stable components: rustfmt - profile: minimal - override: true - name: Run cargo fmt uses: actions-rs/cargo@v1 From 852feb9b91e2f8bb39cc3af42c461d0181d2def6 Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Sat, 4 Mar 2023 01:01:16 +0100 Subject: [PATCH 256/373] Replace unmaintained actions-rs/cargo action in CI workflow (#455) Basically all of the `actions-rs/*` actions are unmaintained. See for more information. Due to their age they generate several warnings in CI runs. To get rid of those warnings the occurrences of `actions-rs/cargo` are replaced by direct invocations of `cargo`. --- .github/workflows/workspace.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index a4722666d..3f3eeace1 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -34,7 +34,4 @@ jobs: components: rustfmt - name: Run cargo fmt - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + run: cargo fmt --all -- --check From 9b218cf4b8b6a3c5dc33bd7772ece7051a5d43d6 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Fri, 17 Mar 2023 19:50:05 +0100 Subject: [PATCH 257/373] sha3: add TurboSHAKE (#458) This implementation is based on the specification at https://eprint.iacr.org/2023/342 and the IETF draft at https://www.ietf.org/id/draft-irtf-cfrg-kangarootwelve-09.html Test vectors are from: https://www.ietf.org/id/draft-irtf-cfrg-kangarootwelve-09.html#name-test-vectors --- sha3/src/lib.rs | 22 +++++ sha3/src/macros.rs | 133 +++++++++++++++++++++++++++++- sha3/src/state.rs | 26 +++++- sha3/tests/data/turboshake128.blb | Bin 0 -> 603 bytes sha3/tests/data/turboshake256.blb | Bin 0 -> 964 bytes sha3/tests/turboshake.rs | 108 ++++++++++++++++++++++++ 6 files changed, 283 insertions(+), 6 deletions(-) create mode 100644 sha3/tests/data/turboshake128.blb create mode 100644 sha3/tests/data/turboshake256.blb create mode 100644 sha3/tests/turboshake.rs diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 394faa383..7941e349f 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -93,6 +93,9 @@ const SHA3: u8 = 0x06; const SHAKE: u8 = 0x1f; const CSHAKE: u8 = 0x4; +// Round counts +const TURBO_SHAKE_ROUND_COUNT: usize = 12; + impl_sha3!(Keccak224Core, Keccak224, U28, U144, KECCAK, "Keccak-224"); impl_sha3!(Keccak256Core, Keccak256, U32, U136, KECCAK, "Keccak-256"); impl_sha3!(Keccak384Core, Keccak384, U48, U104, KECCAK, "Keccak-384"); @@ -165,6 +168,25 @@ impl_shake!( "2.16.840.1.101.3.4.2.11", ); +impl_turbo_shake!( + TurboShake128Core, + TurboShake128, + TurboShake128ReaderCore, + TurboShake128Reader, + U168, + "TurboSHAKE128", + "", +); +impl_turbo_shake!( + TurboShake256Core, + TurboShake256, + TurboShake256ReaderCore, + TurboShake256Reader, + U136, + "TurboSHAKE256", + "", +); + impl_cshake!( CShake128Core, CShake128, diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 4b8397d44..f26291305 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -193,7 +193,7 @@ macro_rules! impl_shake { fn read_block(&mut self) -> Block { let mut block = Block::::default(); self.state.as_bytes(&mut block); - self.state.apply_f(); + self.state.permute(); block } } @@ -228,6 +228,135 @@ macro_rules! impl_shake { }; } +macro_rules! impl_turbo_shake { + ( + $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, + $rate:ident, $alg_name:expr $(,)? + ) => { + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " hasher state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $name { + domain_separation: u8, + state: Sha3State, + } + + impl $name { + /// Creates a new TurboSHAKE instance with the given domain separation. + /// Note that the domain separation needs to be a byte with a value in + /// the range [0x01, . . . , 0x7F] + pub fn new(domain_separation: u8) -> Self { + assert!((0x01..=0x7F).contains(&domain_separation)); + Self { + domain_separation, + state: Sha3State::new(TURBO_SHAKE_ROUND_COUNT), + } + } + } + + impl HashMarker for $name {} + + impl BlockSizeUser for $name { + type BlockSize = $rate; + } + + impl BufferKindUser for $name { + type BufferKind = Eager; + } + + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block) + } + } + } + + impl ExtendableOutputCore for $name { + type ReaderCore = $reader; + + #[inline] + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = self.domain_separation; + let n = block.len(); + block[n - 1] |= 0x80; + + self.state.absorb_block(block); + $reader { + state: self.state.clone(), + } + } + } + + impl Reset for $name { + #[inline] + fn reset(&mut self) { + *self = Self::new(self.domain_separation); + } + } + + impl AlgorithmName for $name { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_name)) + } + } + + impl fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($name), " { ... }")) + } + } + + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " reader state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $reader { + state: Sha3State, + } + + impl BlockSizeUser for $reader { + type BlockSize = $rate; + } + + impl XofReaderCore for $reader { + #[inline] + fn read_block(&mut self) -> Block { + let mut block = Block::::default(); + self.state.as_bytes(&mut block); + self.state.permute(); + block + } + } + + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$reader>; + }; + ( + $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, + $rate:ident, $alg_name:expr, $oid:literal $(,)? + ) => { + impl_turbo_shake!($name, $full_name, $reader, $reader_full, $rate, $alg_name); + + #[cfg(feature = "oid")] + #[cfg_attr(docsrs, doc(cfg(feature = "oid")))] + impl AssociatedOid for $name { + const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap($oid); + } + }; +} + macro_rules! impl_cshake { ( $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, @@ -384,7 +513,7 @@ macro_rules! impl_cshake { fn read_block(&mut self) -> Block { let mut block = Block::::default(); self.state.as_bytes(&mut block); - self.state.apply_f(); + self.state.permute(); block } } diff --git a/sha3/src/state.rs b/sha3/src/state.rs index 282515434..7bd88d7a7 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,13 +1,31 @@ use core::convert::TryInto; const PLEN: usize = 25; +const DEFAULT_ROUND_COUNT: usize = 24; -#[derive(Clone, Default)] +#[derive(Clone)] pub(crate) struct Sha3State { pub state: [u64; PLEN], + round_count: usize, +} + +impl Default for Sha3State { + fn default() -> Self { + Self { + state: [0u64; PLEN], + round_count: DEFAULT_ROUND_COUNT, + } + } } impl Sha3State { + pub(crate) fn new(round_count: usize) -> Self { + Self { + state: [0u64; PLEN], + round_count, + } + } + #[inline(always)] pub(crate) fn absorb_block(&mut self, block: &[u8]) { debug_assert_eq!(block.len() % 8, 0); @@ -16,7 +34,7 @@ impl Sha3State { *s ^= u64::from_le_bytes(b.try_into().unwrap()); } - keccak::f1600(&mut self.state); + keccak::keccak_p(&mut self.state, self.round_count); } #[inline(always)] @@ -27,7 +45,7 @@ impl Sha3State { } #[inline(always)] - pub(crate) fn apply_f(&mut self) { - keccak::f1600(&mut self.state); + pub(crate) fn permute(&mut self) { + keccak::keccak_p(&mut self.state, self.round_count); } } diff --git a/sha3/tests/data/turboshake128.blb b/sha3/tests/data/turboshake128.blb new file mode 100644 index 0000000000000000000000000000000000000000..5f1d64d11efe59cbf2857c124bd83096755a9310 GIT binary patch literal 603 zcmZSPV1NQfc1AX41_p;HC9BKa);(#9oLPGQymjUec^)*W{bFFi&SGJ!`)jiF8G(u# z7znBQr_S-*Ao0O02L`e3l_yR~2ut=?@4GU?+p+c2p$NWb${#k1c*Ou@-zPZ87Z5|gwv9O^-Nzhxq z8wsoWUp${S^UY(GA2*E(-OL1Tl{LuidFOxXpA%d$qno3{sd#z2S0^W(J+%7uDL%#Y z)Z5=H4v5k`a!vtKdz;(6(ivIV{{IK6vt^#qy>(uOMBu_n zUo_V-&*bNNKEFM*hlSg2`)FT@ZlSsxAQ40p&9YHZY`JuDJi?CDR(e?fo@+Q6e9-51#OR zrnu`_YGwXrlf0bD(t_xnHVmIn^*8TXQu!gXe6>}==jqcnngw^Qda-9ss|(P6sA-If z4Gc#WOICksn))#IxA{)DHD-IQvd_#oQ1VAravrOJQ_Rt~SMFc2J^cKcreR z15PT}HUFJu|Hh5^fA|w6y-x_!gbf=Ql9n#m{~<-~x>S|jJbV3XkAnW&AM9AR)a=cY zD9^>tHJkTX@i%&&2zd7VOG#BhQvD?Z1IJ^B%?y4zubuSc;eY1|aMKvw92*#dY}ni- zbUPhC+>MFh+NSG&Xli0&@U-30v*x~L(r!4qU$=SjZnOUf{MSUB7xX-q`^GCWC@=8S z)M+x#BXjG#FXD^Yrek>nSsZdRvvBgqg-z;GfvQAQxyd^_tj>(ydd1 zmri-m^{DWa!h8~k!ym<>A%WpH@P}$;a_-~2U9N)^_ zJ@NC38JV~l7#bLkdw&0|oZ`hKYno~+{r9{3xpVQ;Eq^X{St~YQU_wrY_=$Hy6@E_t z!yEnn$aJ=MUVS2Z+mlsqi52Gr*{Y^RA~B4tAXEM;-#MEk)*t2K7Ua1i_aI-_YVS)~ zO853FdoXb|%iMmbbJuM7-OF-?2jpv}FSv4e!5L{q#b?{kt+r@ia&qbVZe~VSrvE@= zihHa5%rAD=E3K6d7JeN5_--vbYnIw#<|D?xOpRTG8oqp8e&svE`z_}Gay3L)A5=fq z;+n3f^vvpxG$-%6e+=G?tZe`PgA95a+;dmMKufRjiG1o`Er%dRU!E(;_tRzN0=ec+ zJzQI8`d(ebnQNY50m~1wlZ!0go0>B#>18n(H+NA%0G z7d)5Wq{PphpE6_B^`)~s=E%O&Ea>*{ihQUtb7g*~xl-7_AZ_XC?pk+?Ge!6M{( + input: &[u8], + output: &[u8], + truncate_output: usize, + new: F, +) -> Option<&'static str> +where + D: ExtendableOutput + Debug + Clone, + F: Fn() -> D, +{ + let mut hasher = new(); + let mut buf = [0u8; 16 * 1024]; + let buf = &mut buf[..truncate_output + output.len()]; + // Test that it works when accepting the message all at once + hasher.update(input); + let mut hasher2 = hasher.clone(); + hasher.finalize_xof_into(buf); + if &buf[truncate_output..] != output { + return Some("whole message"); + } + buf.iter_mut().for_each(|b| *b = 0); + + // Test that it works when accepting the message in chunks + for n in 1..core::cmp::min(17, input.len()) { + let mut hasher = new(); + for chunk in input.chunks(n) { + hasher.update(chunk); + hasher2.update(chunk); + } + hasher.finalize_xof_into(buf); + if &buf[truncate_output..] != output { + return Some("message in chunks"); + } + buf.iter_mut().for_each(|b| *b = 0); + } + + None +} + +macro_rules! new_turbo_shake_test { + ($name:ident, $test_name:expr, $hasher:ty, $hasher_core:ty, $test_func:ident $(,)?) => { + #[test] + fn $name() { + use digest::dev::blobby::Blob5Iterator; + let data = include_bytes!(concat!("data/", $test_name, ".blb")); + + for (i, row) in Blob5Iterator::new(data).unwrap().enumerate() { + let [domain_separation, input, input_pattern_length, output, truncate_output] = + row.unwrap(); + + let input = if (input_pattern_length.len() == 0) { + input.to_vec() + } else if (input.len() == 0) { + let pattern_length = + u64::from_be_bytes(input_pattern_length.try_into().unwrap()); + let mut input = Vec::::new(); + for value in 0..pattern_length { + input.push((value % 0xFB).try_into().unwrap()); + } + input + } else { + panic!( + "\ + failed to read tests data\n\ + input:\t{:02X?}\n\ + input_pattern_length:\t{:02X?}\n", + input, input_pattern_length, + ); + }; + + if let Some(desc) = $test_func( + &input, + output, + u64::from_be_bytes(truncate_output.try_into().unwrap()) + .try_into() + .unwrap(), + || <$hasher>::from_core(<$hasher_core>::new(domain_separation[0])), + ) { + panic!( + "\n\ + Failed test â„–{}: {}\n\ + input:\t{:02X?}\n\ + output:\t{:02X?}\n", + i, desc, &input, output, + ); + } + } + } + }; +} + +new_turbo_shake_test!( + turboshake128, + "turboshake128", + sha3::TurboShake128, + sha3::TurboShake128Core, + turbo_shake_test, +); +new_turbo_shake_test!( + turboshake256, + "turboshake256", + sha3::TurboShake256, + sha3::TurboShake256Core, + turbo_shake_test, +); From 70cceab5de89589e90ded953bafe412de131b786 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher Date: Tue, 21 Mar 2023 15:23:23 +0100 Subject: [PATCH 258/373] Import `ascon-hash` (#459) * Import `ascon-hash` * Relicense as Apache-2.0 OR MIT * GA: test ascon-hash * Move benchmarks to benches crate * Update documentation * Move ascon-hash to exclude * Follow UpperCamelCase naming convention Also bump the version number to 0.2.0-pre as names of public types change. --- .github/workflows/ascon-hash.yml | 68 + Cargo.lock | 20 +- Cargo.toml | 5 +- README.md | 3 + ascon-hash/CHANGELOG.md | 11 + ascon-hash/Cargo.toml | 34 + ascon-hash/LICENSE-APACHE | 201 ++ ascon-hash/LICENSE-MIT | 26 + ascon-hash/README.md | 59 + ascon-hash/src/lib.rs | 462 +++ ascon-hash/tests/data/asconhash.txt | 4100 ++++++++++++++++++++++++++ ascon-hash/tests/data/asconhasha.txt | 4100 ++++++++++++++++++++++++++ ascon-hash/tests/data/asconxof.txt | 4100 ++++++++++++++++++++++++++ ascon-hash/tests/data/asconxofa.txt | 4100 ++++++++++++++++++++++++++ ascon-hash/tests/kats_tests.rs | 123 + benches/Cargo.toml | 24 + benches/src/ascon-hash.rs | 45 + 17 files changed, 17470 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/ascon-hash.yml create mode 100644 ascon-hash/CHANGELOG.md create mode 100644 ascon-hash/Cargo.toml create mode 100644 ascon-hash/LICENSE-APACHE create mode 100644 ascon-hash/LICENSE-MIT create mode 100644 ascon-hash/README.md create mode 100644 ascon-hash/src/lib.rs create mode 100644 ascon-hash/tests/data/asconhash.txt create mode 100644 ascon-hash/tests/data/asconhasha.txt create mode 100644 ascon-hash/tests/data/asconxof.txt create mode 100644 ascon-hash/tests/data/asconxofa.txt create mode 100644 ascon-hash/tests/kats_tests.rs create mode 100644 benches/Cargo.toml create mode 100644 benches/src/ascon-hash.rs diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml new file mode 100644 index 000000000..9c53ba9c5 --- /dev/null +++ b/.github/workflows/ascon-hash.yml @@ -0,0 +1,68 @@ +name: ascon-hash + +on: + pull_request: + paths: + - ".github/workflows/ascon-hash.yml" + - "ascon-hash/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: ascon-hash + +env: + RUSTFLAGS: "-Dwarnings" + CARGO_INCREMENTAL: 0 + +jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.56.0 + + build: + needs: set-msrv + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + test: + needs: set-msrv + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/Cargo.lock b/Cargo.lock index d851c17b4..f17ffe154 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,18 +18,18 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-if" @@ -39,9 +39,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "cpufeatures" @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.138" +version = "0.2.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" [[package]] name = "md-5" @@ -188,9 +188,9 @@ dependencies = [ [[package]] name = "proc-macro-hack" -version = "0.5.19" +version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "ripemd" diff --git a/Cargo.toml b/Cargo.toml index beee3a843..7f544e284 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,10 @@ members = [ "tiger", "whirlpool", ] -exclude = ["belt-hash"] +exclude = [ + "ascon-hash", + "belt-hash", +] [profile.dev] opt-level = 2 diff --git a/README.md b/README.md index 5a255d21a..17283a668 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| +| [Ascon] hash | [`ascon-hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.56][msrv-1.56] | :green_heart: | | [BelT] hash | [`belt-hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.57][msrv-1.57] | :green_heart: | | [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | @@ -231,6 +232,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes [msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg +[msrv-1.56]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg [msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg [//]: # (crates) @@ -273,6 +275,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (algorithms) +[Ascon]: https://ascon.iaik.tugraz.at [BelT]: https://ru.wikipedia.org/wiki/BelT [BLAKE2]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 [FSB]: https://en.wikipedia.org/wiki/Fast_syndrome-based_hash diff --git a/ascon-hash/CHANGELOG.md b/ascon-hash/CHANGELOG.md new file mode 100644 index 000000000..5087d2c3e --- /dev/null +++ b/ascon-hash/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +## 0.1.1 (2023-03-17) + +* Use `aead` instead of `aead-core`. +* Bump MSRV to 1.60. +* Add benchmarks. + +## 0.1 (2022-06-03) + +* Initial release. diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml new file mode 100644 index 000000000..029bfa13e --- /dev/null +++ b/ascon-hash/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "ascon-hash" +version = "0.2.0-pre" +description = "Implementation of the Ascon and AsconA hashes and XOFs" +authors = [ + "Sebastian Ramacher ", + "RustCrypto Developers", +] +license = "Apache-2.0 OR MIT" +readme = "README.md" +edition = "2021" +documentation = "https://docs.rs/ascon-hash" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "hash", "ascon"] +categories = ["cryptography", "no-std"] +rust-version = "1.56" + +[workspace] + +[dependencies] +digest = { version = "0.10", default-features = false, features = ["core-api"] } +ascon = "0.3" + +[dev-dependencies] +spectral = { version = "0.6", default-features = false } +hex = "0.4" + +[features] +default = ["std"] +std = ["digest/std"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/ascon-hash/LICENSE-APACHE b/ascon-hash/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/ascon-hash/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/ascon-hash/LICENSE-MIT b/ascon-hash/LICENSE-MIT new file mode 100644 index 000000000..99440392b --- /dev/null +++ b/ascon-hash/LICENSE-MIT @@ -0,0 +1,26 @@ +Copyright (c) 2022-2023 Sebastian Ramacher +Copyright (c) 2023 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/ascon-hash/README.md b/ascon-hash/README.md new file mode 100644 index 000000000..e26b878f0 --- /dev/null +++ b/ascon-hash/README.md @@ -0,0 +1,59 @@ +# RustCrypto: Ascon + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the lightweight cryptographic hash functions +[AsconHash and AsconAHash][1] and the extendable output functions (XOF) AsconXOF +and AsconAXOF. + +[Documentation][docs-link] + +## Security Notes + +No security audits of this crate have ever been performed. + +USE AT YOUR OWN RISK! + +## Minimum Supported Rust Version + +This crate requires **Rust 1.56** at a minimum. + +We may change the MSRV in the future, but it will be accompanied by a minor +version bump. + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/ascon-hash.svg +[crate-link]: https://crates.io/crates/ascon-hash +[docs-image]: https://docs.rs/ascon-hash/badge.svg +[docs-link]: https://docs.rs/ascon-hash/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/ascon-hash/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aascon-hash + +[//]: # (general links) + +[1]: https://ascon.iaik.tugraz.at diff --git a/ascon-hash/src/lib.rs b/ascon-hash/src/lib.rs new file mode 100644 index 000000000..b591a6de8 --- /dev/null +++ b/ascon-hash/src/lib.rs @@ -0,0 +1,462 @@ +// Copyright 2022-2023 Sebastian Ramacher +// SPDX-License-Identifier: Apache-2.0 OR MIT + +#![no_std] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![doc = include_str!("../README.md")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" +)] +#![warn(missing_docs)] + +//! ## Usage (Hashing) +//! +//! ``` +//! use ascon_hash::{AsconHash, Digest}; // Or `AsconAHash` +//! +//! let mut hasher = AsconHash::new(); +//! hasher.update(b"some bytes"); +//! let digest = hasher.finalize(); +//! assert_eq!(&digest[..], b"\xb7\x42\xca\x75\xe5\x70\x38\x75\x70\x59\xcc\xcc\x68\x74\x71\x4f\x9d\xbd\x7f\xc5\x92\x4a\x7d\xf4\xe3\x16\x59\x4f\xd1\x42\x6c\xa8"); +//! ``` +//! +//! ## Usage (XOF) +//! +//! ``` +//! use ascon_hash::{AsconXof, ExtendableOutput, Update, XofReader}; +//! +//! let mut xof = AsconXof::default(); +//! xof.update(b"some bytes"); +//! let mut reader = xof.finalize_xof(); +//! let mut dst = [0u8; 5]; +//! reader.read(&mut dst); +//! assert_eq!(&dst, b"\xc2\x19\x72\xfd\xe9"); +//! ``` + +use core::marker::PhantomData; + +use ascon::{pad, State}; +pub use digest::{self, Digest, ExtendableOutput, Reset, Update, XofReader}; +use digest::{ + block_buffer::Eager, + consts::{U32, U8}, + core_api::{ + AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, ExtendableOutputCore, + FixedOutputCore, UpdateCore, XofReaderCore, XofReaderCoreWrapper, + }, + crypto_common::BlockSizeUser, + HashMarker, Output, OutputSizeUser, +}; + +/// Parameters for Ascon hash instances. +trait HashParameters { + /// Number of rounds for the permutation. + const ROUNDS: usize; + /// Part of the IV. + const IV0: u64; + /// Part of the IV. + const IV1: u64; + /// Part of the IV. + const IV2: u64; + /// Part of the IV. + const IV3: u64; + /// Part of the IV. + const IV4: u64; +} + +/// Parameters for AsconA hash. +#[derive(Clone, Debug)] +struct Parameters; + +impl HashParameters for Parameters { + const ROUNDS: usize = 12; + const IV0: u64 = 0xee9398aadb67f03d; + const IV1: u64 = 0x8bb21831c60f1002; + const IV2: u64 = 0xb48a92db98d5da62; + const IV3: u64 = 0x43189921b8f8e3e8; + const IV4: u64 = 0x348fa5c9d525e140; +} + +/// Parameters for AsconA hash. +#[derive(Clone, Debug)] +struct ParametersA; + +impl HashParameters for ParametersA { + const ROUNDS: usize = 8; + const IV0: u64 = 0x01470194fc6528a6; + const IV1: u64 = 0x738ec38ac0adffa7; + const IV2: u64 = 0x2ec8e3296c76384c; + const IV3: u64 = 0xd6f6a54d7f52377d; + const IV4: u64 = 0xa13c42a223be8d87; +} + +#[derive(Clone, Debug)] +struct ParametersXof; + +impl HashParameters for ParametersXof { + const ROUNDS: usize = 12; + const IV0: u64 = 0xb57e273b814cd416; + const IV1: u64 = 0x2b51042562ae2420; + const IV2: u64 = 0x66a3a7768ddf2218; + const IV3: u64 = 0x5aad0a7a8153650c; + const IV4: u64 = 0x4f3e0e32539493b6; +} + +#[derive(Clone, Debug)] +struct ParametersAXof; + +impl HashParameters for ParametersAXof { + const ROUNDS: usize = 8; + const IV0: u64 = 0x44906568b77b9832; + const IV1: u64 = 0xcd8d6cae53455532; + const IV2: u64 = 0xf7b5212756422129; + const IV3: u64 = 0x246885e1de0d225b; + const IV4: u64 = 0xa8cb5ce33449973f; +} + +#[derive(Clone, Debug)] +struct HashCore { + state: State, + phantom: PhantomData

    , +} + +impl HashCore

    { + fn absorb_block(&mut self, block: &[u8; 8]) { + self.state[0] ^= u64::from_be_bytes(*block); + self.permute_state(); + } + + fn absorb_last_block(&mut self, block: &[u8]) { + debug_assert!(block.len() < 8); + + let len = block.len(); + if len > 0 { + let mut tmp = [0u8; 8]; + tmp[0..len].copy_from_slice(block); + self.state[0] ^= u64::from_be_bytes(tmp); + } + self.state[0] ^= pad(len); + self.state.permute_12(); + } + + // for fixed-sized output + fn squeeze(&mut self, mut block: &mut [u8]) { + debug_assert_eq!(block.len() % 8, 0); + + while block.len() > 8 { + block[..8].copy_from_slice(&u64::to_be_bytes(self.state[0])); + self.permute_state(); + block = &mut block[8..]; + } + block[..8].copy_from_slice(&u64::to_be_bytes(self.state[0])); + } + + // for XOF output + fn squeeze_block(&mut self) -> [u8; 8] { + let ret = u64::to_be_bytes(self.state[0]); + self.permute_state(); + ret + } + + #[inline(always)] + fn permute_state(&mut self) { + if P::ROUNDS == 12 { + self.state.permute_12(); + } else if P::ROUNDS == 8 { + self.state.permute_8(); + } else if P::ROUNDS == 6 { + self.state.permute_6(); + } + } +} + +impl Default for HashCore

    { + fn default() -> Self { + Self { + state: State::new(P::IV0, P::IV1, P::IV2, P::IV3, P::IV4), + phantom: PhantomData, + } + } +} + +/// Ascon hash implementation +#[derive(Clone, Debug, Default)] +pub struct AsconCore { + state: HashCore, +} + +impl HashMarker for AsconCore {} + +impl BlockSizeUser for AsconCore { + type BlockSize = U8; +} + +impl BufferKindUser for AsconCore { + type BufferKind = Eager; +} + +impl OutputSizeUser for AsconCore { + type OutputSize = U32; +} + +impl UpdateCore for AsconCore { + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block.as_ref()); + } + } +} + +impl FixedOutputCore for AsconCore { + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + debug_assert!(buffer.get_pos() < 8); + self.state + .absorb_last_block(&buffer.get_data()[..buffer.get_pos()]); + self.state.squeeze(out); + } +} + +impl Reset for AsconCore { + fn reset(&mut self) { + *self = Default::default(); + } +} + +impl AlgorithmName for AsconCore { + fn write_alg_name(f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.write_str("AsconHash") + } +} + +/// Ascon hash implementation +#[derive(Clone, Debug, Default)] +pub struct AsconACore { + state: HashCore, +} + +impl HashMarker for AsconACore {} + +impl BlockSizeUser for AsconACore { + type BlockSize = U8; +} + +impl BufferKindUser for AsconACore { + type BufferKind = Eager; +} + +impl OutputSizeUser for AsconACore { + type OutputSize = U32; +} + +impl UpdateCore for AsconACore { + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block.as_ref()); + } + } +} + +impl FixedOutputCore for AsconACore { + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + debug_assert!(buffer.get_pos() < 8); + self.state + .absorb_last_block(&buffer.get_data()[..buffer.get_pos()]); + self.state.squeeze(out); + } +} + +impl Reset for AsconACore { + fn reset(&mut self) { + *self = Default::default(); + } +} + +impl AlgorithmName for AsconACore { + fn write_alg_name(f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.write_str("AsconAHash") + } +} + +/// Ascon XOF +#[derive(Clone, Debug, Default)] +pub struct AsconXofCore { + state: HashCore, +} + +impl HashMarker for AsconXofCore {} + +impl BlockSizeUser for AsconXofCore { + type BlockSize = U8; +} + +impl BufferKindUser for AsconXofCore { + type BufferKind = Eager; +} + +impl UpdateCore for AsconXofCore { + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block.as_ref()); + } + } +} + +/// Reader for XOF output +#[derive(Clone, Debug)] +pub struct AsconXofReaderCore { + hasher: HashCore, +} + +impl BlockSizeUser for AsconXofReaderCore { + type BlockSize = U8; +} + +impl XofReaderCore for AsconXofReaderCore { + fn read_block(&mut self) -> Block { + self.hasher.squeeze_block().into() + } +} + +impl ExtendableOutputCore for AsconXofCore { + type ReaderCore = AsconXofReaderCore; + + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + debug_assert!(buffer.get_pos() < 8); + self.state + .absorb_last_block(&buffer.get_data()[..buffer.get_pos()]); + Self::ReaderCore { + hasher: self.state.clone(), + } + } +} + +impl Reset for AsconXofCore { + fn reset(&mut self) { + *self = Default::default(); + } +} + +impl AlgorithmName for AsconXofCore { + fn write_alg_name(f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.write_str("AsconXOF") + } +} + +/// AsconA XOF +#[derive(Clone, Debug, Default)] +pub struct AsconAXofCore { + state: HashCore, +} + +impl HashMarker for AsconAXofCore {} + +impl BlockSizeUser for AsconAXofCore { + type BlockSize = U8; +} + +impl BufferKindUser for AsconAXofCore { + type BufferKind = Eager; +} + +impl UpdateCore for AsconAXofCore { + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block.as_ref()); + } + } +} + +/// Reader for XOF output +#[derive(Clone, Debug)] +pub struct AsconAXofReaderCore { + hasher: HashCore, +} + +impl BlockSizeUser for AsconAXofReaderCore { + type BlockSize = U8; +} + +impl XofReaderCore for AsconAXofReaderCore { + fn read_block(&mut self) -> Block { + self.hasher.squeeze_block().into() + } +} + +impl ExtendableOutputCore for AsconAXofCore { + type ReaderCore = AsconAXofReaderCore; + + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + debug_assert!(buffer.get_pos() < 8); + self.state + .absorb_last_block(&buffer.get_data()[..buffer.get_pos()]); + Self::ReaderCore { + hasher: self.state.clone(), + } + } +} + +impl Reset for AsconAXofCore { + fn reset(&mut self) { + *self = Default::default(); + } +} + +impl AlgorithmName for AsconAXofCore { + fn write_alg_name(f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + f.write_str("AsconAXOF") + } +} + +/// Ascon hash +/// +/// ``` +/// use ascon_hash::{AsconHash, Digest}; +/// +/// let mut hasher = AsconHash::new(); +/// hasher.update(b"some bytes"); +/// let digest = hasher.finalize(); +/// assert_eq!(&digest[..], b"\xb7\x42\xca\x75\xe5\x70\x38\x75\x70\x59\xcc\xcc\x68\x74\x71\x4f\x9d\xbd\x7f\xc5\x92\x4a\x7d\xf4\xe3\x16\x59\x4f\xd1\x42\x6c\xa8"); +/// ``` +pub type AsconHash = CoreWrapper; +/// AsconA hash +/// +/// ``` +/// use ascon_hash::{AsconAHash, Digest}; +/// +/// let mut hasher = AsconAHash::new(); +/// hasher.update(b"some bytes"); +/// let digest = hasher.finalize(); +/// assert_eq!(&digest[..], b"\x1d\x1a\xc8\x74\x4a\x4a\x05\x81\x33\x7d\x5a\xf2\x78\xc2\x55\x88\xe1\xa3\xdd\x2d\x86\x73\x07\x64\x26\x53\xdc\xa4\x45\xf5\x5c\x2a"); +/// ``` +pub type AsconAHash = CoreWrapper; +/// AsconXof +/// +/// ``` +/// use ascon_hash::{AsconXof, ExtendableOutput, Update, XofReader}; +/// +/// let mut xof = AsconXof::default(); +/// xof.update(b"some bytes"); +/// let mut reader = xof.finalize_xof(); +/// let mut dst = [0u8; 5]; +/// reader.read(&mut dst); +/// assert_eq!(&dst, b"\xc2\x19\x72\xfd\xe9"); +/// ``` +pub type AsconXof = CoreWrapper; +/// Reader for AsconXof output +pub type AsconAXofReader = XofReaderCoreWrapper; +/// AsconAXof +/// +/// ``` +/// use ascon_hash::{AsconAXof, ExtendableOutput, Update, XofReader}; +/// +/// let mut xof = AsconAXof::default(); +/// xof.update(b"some bytes"); +/// let mut reader = xof.finalize_xof(); +/// let mut dst = [0u8; 5]; +/// reader.read(&mut dst); +/// assert_eq!(&dst, b"\xb8\xd6\xbd\xf0\xa7"); +/// ``` +pub type AsconAXof = CoreWrapper; +/// Reader for AsconAXof output +pub type AsconXofReader = XofReaderCoreWrapper; diff --git a/ascon-hash/tests/data/asconhash.txt b/ascon-hash/tests/data/asconhash.txt new file mode 100644 index 000000000..13301ce17 --- /dev/null +++ b/ascon-hash/tests/data/asconhash.txt @@ -0,0 +1,4100 @@ +Count = 1 +Msg = +MD = 7346BC14F036E87AE03D0997913088F5F68411434B3CF8B54FA796A80D251F91 + +Count = 2 +Msg = 00 +MD = 8DD446ADA58A7740ECF56EB638EF775F7D5C0FD5F0C2BBBDFDEC29609D3C43A2 + +Count = 3 +Msg = 0001 +MD = F77CA13BF89146D3254F1CFB7EDDBA8FA1BF162284BB29E7F645545CF9E08424 + +Count = 4 +Msg = 000102 +MD = 15CCF3B00F73EF96FAA08C9B440660BEA52D6F6AA53C8E2DA3F8200A990A122F + +Count = 5 +Msg = 00010203 +MD = 8013EAAA1951580A7BEF7D29BAC323377E64F279EA73E6881B8AED69855EF764 + +Count = 6 +Msg = 0001020304 +MD = 95F819D8F743ECBE9D9E3421F171983EAA681600A6AA794BA83210C43774E649 + +Count = 7 +Msg = 000102030405 +MD = 9C52142852BEB6654907CC23CC5B171075D411CA80082AAFD7DD0D09BA0BBA1D + +Count = 8 +Msg = 00010203040506 +MD = DD409CCC0C60CD7F474C0BEED1E1CD48140AD45D5136DC5FDA5EBE283DF8D3F6 + +Count = 9 +Msg = 0001020304050607 +MD = F4C6A44B29915D3D57CF928A18EC6226BB8DD6C1136ACD24965F7E7780CD69CF + +Count = 10 +Msg = 000102030405060708 +MD = 1E1E710D08A78263773331782621088CA9FE2EE4F596F06C8F7884CA564ACEC1 + +Count = 11 +Msg = 00010203040506070809 +MD = 858D66FDD066E4AAEF8C62050CEA8CA4C681343607DB2AF541A89D3A05D1F208 + +Count = 12 +Msg = 000102030405060708090A +MD = 7C203E7636B8BCCD05A792EC9D5FFBC6BE674FDA4A779A220B642E3CA3F25263 + +Count = 13 +Msg = 000102030405060708090A0B +MD = 76B91960927B661DA981D22F88085FFA7901E624650A121D0B5225C105C96409 + +Count = 14 +Msg = 000102030405060708090A0B0C +MD = 368946D5790A805945ACE20DF59352FC3575D524384F702D32175AFAC9534F1F + +Count = 15 +Msg = 000102030405060708090A0B0C0D +MD = CE7D321A9661E17F1F49A30B721AA89AB6596A9A75DA44727F9EE1C1327875CE + +Count = 16 +Msg = 000102030405060708090A0B0C0D0E +MD = 9E48E03E8AAE0B9930DFF1E801007BC7105D6BD6CAAF16E3C31569D8942FC423 + +Count = 17 +Msg = 000102030405060708090A0B0C0D0E0F +MD = D4E56C4841E2A0069D4F07E61B2DCA94FD6D3F9C0DF78393E6E8292921BC841D + +Count = 18 +Msg = 000102030405060708090A0B0C0D0E0F10 +MD = 91407CF08BC734CA4CAD88D6A848BF87045F56EE2DF51563B9BA59D66B489938 + +Count = 19 +Msg = 000102030405060708090A0B0C0D0E0F1011 +MD = 3D47FFAB0B6C64A3A1E88509E35723BAEFE87CD3FB8D0544405AEA76FCC3ABEC + +Count = 20 +Msg = 000102030405060708090A0B0C0D0E0F101112 +MD = CC502C741A1868412D9F5C032DCF4112898F98299F03EE3A807B68462E704731 + +Count = 21 +Msg = 000102030405060708090A0B0C0D0E0F10111213 +MD = DBE69CB9DC29EB968ECF98EDC448A4D39B2207AEC83928CA5395B06B5EC9BBD1 + +Count = 22 +Msg = 000102030405060708090A0B0C0D0E0F1011121314 +MD = D424013F4800F2A1F2ED7F3644A6AA0FA1F0CE3B55883ABF7A0291FDCE86F368 + +Count = 23 +Msg = 000102030405060708090A0B0C0D0E0F101112131415 +MD = 14EA228929F133ECC2AFA622A4F19E164ED3B86F1E8B4AAB02ADD6DD96678CAF + +Count = 24 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516 +MD = 7876669F23C98AE89E6F98CACEF141E05BA6CC954E5787E6EE0D8385D7F93F55 + +Count = 25 +Msg = 000102030405060708090A0B0C0D0E0F1011121314151617 +MD = E9F4243D0A55E8FD75EFBB21463CC06C5FABB7FA7E1D7CBA04970E21F6249855 + +Count = 26 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 06368636B794A4A223710B31405696BFD3FE10AF5C934436EAB852CE7265323C + +Count = 27 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = B890769406DB0DA9159B154B6AE33D5C620E7E315FB591701832C232E25476CC + +Count = 28 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 91BAC87D60C3C35AFAF03B128A441C50E32241BF80D20B16532923B96A9749EF + +Count = 29 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 024A4243BE093F349CFA7BA1FE52662649E84041631A29C22864450B97D85BE5 + +Count = 30 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 531B7ACEE0A15DAEA598931EA0179DA6675879EA667F9420F97BC9B6C3EAADE1 + +Count = 31 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = F04FDE2D56E07532DDEDC7B5F435EFBBE7AB9078F36019F0072773FFEB4431E3 + +Count = 32 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 2CB146AEBBB6585B11BF1A371BAA6E3E55108C69B0834F269F662C59BCAA5700 + +Count = 33 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 2A4F6F2B6B3EC2A6C47BA08D18C8EA561B493C13CCB35803FA8B9FB00A0F1F35 + +Count = 34 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = A6DF1844412BAD536A98DB01024C73A8780BE1A7099375696D37430586BA9381 + +Count = 35 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 60FF8A72D573A2165E03983842F477270EDF13B6263094C43FDEBDBAA94D9A21 + +Count = 36 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = F7546A4EE82BE635C1211D35EBF5E3C241C1F618B1EF466337273653C0C86B47 + +Count = 37 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 4ADAC0468C70BDBD79AF6855FDF0D6491D91B81F169E0C43F537F7A4E133D719 + +Count = 38 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 470956AEC973567C78690DBE14B1DFB3ECB1BD39C8659B34A985A60A08B37171 + +Count = 39 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = C74231D4BFF02E525FC6074058182EBE111585A6FCE10CAA6DE5F77DA9F7B50A + +Count = 40 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 6DB311AA7AB0F7568842BCF1D5B0A265D24485FE3EAFA0CC2B26AF38C4339FC8 + +Count = 41 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = B3B7A202131093697021A50BEAC9B256B9016CB799A27F162B62707135C9495C + +Count = 42 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 9A61626CCBBFDDA366E82DA9EAEDA5733F1837A37185EAD502B4E59BE4B0A5F4 + +Count = 43 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 253819F5937DFD53A0A51199A0AD2120D9138B0C0DCACD07E06B52633A5283DB + +Count = 44 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = DFA3D3CA76E83BF460D560C597F72C328B95547723B8D15646CA37660B01934C + +Count = 45 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 6BA45AAA593B591C2AECA11E0E86A8440FF7EB6C6605368DBF9088875A5C3812 + +Count = 46 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 29D8E3791A2F1B4E961AF3B5471308663A9D4D581953DDE7D0134A0945D99C52 + +Count = 47 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 3628B37B03088E3E952DCAE7C4F588A158CC5022967F56149691D09DB0BE4DE2 + +Count = 48 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 34E924A0081A10CA15683B6FA630CA23884C6128BC02C0DCCD2995857285D5D1 + +Count = 49 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = B0E7383F9AB02AFF855334EE9B3CCB2CD2A044603A00BAA89D88EFE757E7B28B + +Count = 50 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = E78F3DBA4468B848E8CE819DD9A7A0797D2561BF7789B805597F7E7B4C40FD14 + +Count = 51 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 01C8E625A9A140B01FA203CBC8613A0C169B976EC0739BFAA204E9654E80EF02 + +Count = 52 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = FDF6A5615482A86DD1B18C6E02EC053D69B43EE9966EEB9E9B8D74D512810356 + +Count = 53 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 6FC3CE01B5748D328496583B58B9949BE14A614520629252AFF63832FC913646 + +Count = 54 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 4CADCF6654A1217785067E0EC2DCAF6D9427649D0DA48C8E0CEC2A43DD0B5A82 + +Count = 55 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = E7C06960B45E56B278640FCA795CEC84489910A2C71DC7AF501CF60094B5C02F + +Count = 56 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 6CA2D0BE81607475B7445ADFF59B24401D94DFBAB932C5F217E7486DFFF79A84 + +Count = 57 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 36B9C380CC71A50118152636EF9D9A0FD65264276B8B8B72E3EF9A2ED91EA2D7 + +Count = 58 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 4934ED283662F8662B29E2DD746624C64011A88C6BF6AA88AF7EBF286A96A134 + +Count = 59 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = ACCBD92E776D609B3091B73DA61AEF5FADD571631C7E59B68AB06831B5BE11F1 + +Count = 60 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 681496911E59FDA6E6DC5F1786E9C8C744090DA6C66E8807C9BD140C06DFB2B8 + +Count = 61 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 7B78FED812678EFA57A2D44F0715BC1A8647B7B2642B93D94070F1610C1E7016 + +Count = 62 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 42E549A233887FAA6778686166E647D83089EBA82E1987CD8BCB7CCB5C0445A9 + +Count = 63 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = A21CE2DEA7684E32D8416D743EDD9024C3E950570A591A1D0BD7A282B747ACA9 + +Count = 64 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 8DCEDC0AC6B37DEFC36F0B1AFA281D31437658A8FFA7B4A569EA9988A9EFD7F5 + +Count = 65 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 5179E733B8A84F4C8A6898043C09F6A779BD6811D21AA25D353E357048279862 + +Count = 66 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 21DBD0777A9EE81BEBE465570BCDB9ECAED6073B5EB69F2831864C4956AA6A15 + +Count = 67 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = C232E385C423B6E4B7D2179DCB7B2D08643DEC8AF82A855C6A5C6762A3AF958D + +Count = 68 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = C0D415688358423B45804DD00311B1B4785F9C30C5882DB175C56ECEACA6EA41 + +Count = 69 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = CB85A6A9024364BA1AD2E9D51D52A621641158279A602B6CCD884EFBE0BD183F + +Count = 70 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 85D2A1A5E6091BC4E7AC1225EE253993E7DFD54BB61536050B44600A7822B14B + +Count = 71 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = F5EC2BCA34F1ABC8B3AA1F036228A24A41011CC3131986FFCD75BE44F53A4F84 + +Count = 72 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 5CD2E997000921FB527E90A571A506D1D84C64982EB2F51E2C94D22F7C7B26E5 + +Count = 73 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 989E3636C97D4FF45C3CBD9DE728FACE9E837ECE105BF84BBB1F7E12ABD4A062 + +Count = 74 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = B54AEFFE8B39AAB50C9F31F215725A16881E73E4310C3F9A454666788A6A0A51 + +Count = 75 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = D6EDE76D427178B65796B0049FE48F94CBE3D3218AA06D32456E31E86ABBDCBE + +Count = 76 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 16B3A45914588F2414B46D218F8E32523301384DC548AEC02F1D7164C2545477 + +Count = 77 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = CDCA62E10491D10C1557724B6AF87E496AD659064AFC445B1AC45CD71D546B15 + +Count = 78 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 7108289637A15334D622AA0C012F6BADEBDDF5028FE33B8BA9C52581DB55549A + +Count = 79 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = C8C663F03DFB075467B0406AC470FF488F01A2F7DBA8FA8C3DBFBA7E5E6AFC30 + +Count = 80 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 466A7567CAE5B8D3418D5A891AC9223493CF5DBA38BD078AC66A0DE555AB32A7 + +Count = 81 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 85D89622352CF65B2AB3857AAA2D257B4D98EA0AEE1F8456D7BA032F65F87B2D + +Count = 82 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 692C6F78172F730E50B80704FE0AEEBBC2CA47892456FA97DAFF28F4B2B7B090 + +Count = 83 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 379F30D6BD66667206386CB009F6ACF728BCEF96A87E01923F881955D095DA7E + +Count = 84 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 2888FC9ED3C16D67D8AE82E7F5AA424F885E384F6EAC8B693830FCB81B4FDECA + +Count = 85 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = F6071506CA6F5B5B1B57240182D33E7F3342C4A8B4A98D630767742788C12E81 + +Count = 86 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = C516E8CB7AB53741D677152CDDEC3186ACA88BCE4777331E055CBBE053DF8C06 + +Count = 87 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 04DAFE005F344BB1A68A24ADD9A0D151936F99841BA31A5B56F9ECF346DEB8B3 + +Count = 88 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 3015083B6CBA90DA42F391D88D54123B5940D65921889D177B455BD2933010B1 + +Count = 89 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 9484259A5E0211E37DBC7838685B4323A76E697F51F3CEB18F3DBDC1E7FD83C2 + +Count = 90 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = FDADE75E6DF6B6616D8784B91C0E317D01E1C6FDADC27A04678ABDE84E0937C7 + +Count = 91 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = C1FF9E79FDAD6FF434C32811EA8FEEF5875F09307264E31DB4EFD142B798315C + +Count = 92 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 500EF94369C0E19541BAF825DAD712433C0DF40707C396E6F6A20EC10DF12DF2 + +Count = 93 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = E57606F60534F5E00B64052EC0A8B6CF82E77F18E8A4E2DE8B19F0733640C86F + +Count = 94 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 8797AAF7682F36028BE11D38695A80814021B22A03FA7A037BDF8190DF200BF0 + +Count = 95 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = C3CC77096EDE8828D3094FD662C2E88E21B2377DD5C460B6B874B2CC5178CF76 + +Count = 96 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 90814A373993BCE00E21CCBE68BB132FDEBA50C1E1EDB08F95B0FA5BC22E3117 + +Count = 97 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = AB3C31EBE4F9A68D0253ED3DD3DB36BF446804C9CADB3318B301A92424D2A16C + +Count = 98 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 9F4BF1FE98F2041B3B151AD590CD18D0F5CDFF6F074AC0007923509E53F3AA39 + +Count = 99 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 1AEDEC01EE8DF34E1267EE0F56D88546362F073AFD8F5AEC8B1C6696BDF829CD + +Count = 100 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 18898DD2AEA10D72DA0EE2B0A52FFB666C7DB2462C0306598F0F5B723DA8C9D8 + +Count = 101 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 809CFCD3619777D73B162109EFCE633B272C8AFF18578D0169CB99F4783D136E + +Count = 102 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = FC118AED38CF079861E0B629289194148328204613279E55DA7C82ED5297585B + +Count = 103 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 402AC72518A16427C41FA247F68BE639DDC2F731302D9E8FE4162575BC0BC55D + +Count = 104 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 5B6E60A554E44FEAF9ED9C62EBD9BCD1A1C574DC8A0D2433E6AE2A564EE4D8A1 + +Count = 105 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = DCADEA8367CDD6621F888B915FD545C548F7F572E13E5DD6583BC21A532F6D32 + +Count = 106 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 2A64713AB475B1A1D5F7DEE5A9E713E4B9D1F37C72687D17B6E070963C76442E + +Count = 107 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 1C8421570D8FF2A62761AC55AE9799711A748047AD6C5608002CE19AAD4FF9EE + +Count = 108 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 54B1441492B4C7FB181076DC0FBC87471D73BE0DBA5724BC7184F1EC29641135 + +Count = 109 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 421964260DC94BAFA41EFFB5FE701333812A212EA5308C5E96920F79D72AC847 + +Count = 110 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 2F748AC6C391AB3311A582CBA1B5172CD3724F6001E38E9ABF19F061D23B1CF9 + +Count = 111 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = ACCECF226813E3006DB2132610EB0211038BAB5A1A0FA387277EF4A622D761A8 + +Count = 112 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 8BE9D56228D99F974242CF9993910A7744CFBB567B42E0FEBDC52CB406520BB3 + +Count = 113 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = E74D037A166A454D1C19DA58D4FBFC9C0CF20B8D6B2946AD156AB13E1DF20551 + +Count = 114 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 675787E6A1ABDF4DC99E95BDD0CE981B291524E131C6F3B8EF9AEF8015E3615F + +Count = 115 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 21E39941BD324CE3C9CA316BCB776193E83BEFE45DAB16486F1F61CB619A5F68 + +Count = 116 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = EBFA3E0438DF1FEB7991CFC1AB06911579D2951C04AD0B037135B835ABD2DA6A + +Count = 117 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 73D419DE38835A161AE1E18F36718C19940B25D652B0EA02346CCC103079CE67 + +Count = 118 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = C1461D6FA9759D3919C6D7A66CD6E1BD54C313D3FAF5EAF17225F237CDB2F347 + +Count = 119 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 6CD182A96638161C9FABC559F8BE4AC7E811277ECADB8067EAE2D461A2183A60 + +Count = 120 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 95F10DA7CE5645244A8678958C79D2353DE533C1DF9D00CC44DE26F7FD859DED + +Count = 121 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = B9539DB0C2E1E704B96C17B839E01F5B54C96DFEBDF80694D18EA0EBC7471E3A + +Count = 122 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = C1F1E5CAB1E909DE8F4B484D3C63FDA04FACF6D9AB8F5C66EDF403FDAC5FD402 + +Count = 123 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = CD0A8BD1664D555490AF73A38D431366A572503C3F3693F655E2ADDD6E4796DF + +Count = 124 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = E8EE15F522C0B85A79679FACF8E31ECA524E4C1F9954C90EDCB163494FE50936 + +Count = 125 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = B18CF9AEFB0E886552A3C6ACF970619E8AAE1F0FEAC8FD4BF6EB5D8CD9E78C87 + +Count = 126 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 5DBF68C064834C7BCD856E574D5674C57A8F2B8AAA38B522B9A79D324681CCD4 + +Count = 127 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 462EFA7523F645211162272FB416A5D69DA3E0F934F9E8277508DA6D6046CBB4 + +Count = 128 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 0F75DC9132FF23F25B2335ED9A16E68AF5EC1DF385C41A4C8A471A6AE6CB1BEB + +Count = 129 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 99F85AE900901D2667FE7FBC52AB6A924FD4AA902BC03019C92106F83578D459 + +Count = 130 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 511BBF33B84C5D5EC6B8848928FF7C5FB9EE871BCE0BF53AA06DB3FDFBA5E995 + +Count = 131 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 167AFD2F8FC6B90E1B37D0360488A6E4C2CFB6DED8562CE8B85631FFA467299C + +Count = 132 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 601A4B13D18A6756C290D0D405EF18EE63FD39337DA54D24C99A0FA70890B518 + +Count = 133 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = E23590B9EC201449202B8C250ED77F7CB1755453AAF02BEC9483135D91F3C958 + +Count = 134 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = AF82C4E232D76D34B8AD4FC7F9EDF8D02620B59E5652E2B58CA3D9075E350496 + +Count = 135 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 0EEA6929371523038CEDCE35F520EE8DD337FCABD8E4CC21F978C85F41145ECE + +Count = 136 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 46BFD3C98C35F108A6AE7D98A81932599EC549455047EDD73DC968EE653C7338 + +Count = 137 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 6F0084AACE4D3FAC670FA5F96550299089DFA6ED6C46F53A7FD74E3A6A4FFE4D + +Count = 138 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = C3F76587A29EDE7D78A16AD495132E81C21B631A37E8ECF9B2CA317C96703C44 + +Count = 139 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 3B498AD2A620CB05BBE245C846282BD27205C4387614C460C718C31987C98BB1 + +Count = 140 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 4EDFDFBC1BBE19D03C131F55B935F17732F0EFE2B78E752C46E65F287DC64C09 + +Count = 141 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 7C01DD9EBAEB43E8DE7466ED3928C09FC8A4682A3D30C639A46C4A746CAFA9D7 + +Count = 142 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 7420DB5AC1F9E73058297FBE4F253BA191847CF58D7A8CEBFF85765736575A80 + +Count = 143 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = E8A988B903E6D16CEEE7DD9D9B97C48B81A07BA01BC43A35B657068A57EEE4A0 + +Count = 144 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = A0E4DB3E0DEABB888650844FBE29730BA6A2B2CA4F51D8EBC1ED0693B3A3BC64 + +Count = 145 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 2F6F8842D333FE348DC2A257DB19F2790F4F9A3CB5A50C7CDDF3D55BA6CBAA09 + +Count = 146 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 4A2843F78B7BEA7F96760598D3D2ABD08916A3BB2810A7A4FAF2E51A515A829C + +Count = 147 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = F38EE28DE1801B62F53B41ED4A9D2C2498F707E1C443595851520D7181EB1577 + +Count = 148 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 608369D914149B231EA5880198F128CAEE33B4DA010547728F9FDC3D3836E926 + +Count = 149 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 09971141885A2088ACC72D9841E3B49D85264653E509874F15F0F2C8CF3D21F1 + +Count = 150 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = BD692A96D4D7A535311B96002B50A556E7972B74D8F3D73DB90B2695DE1779A0 + +Count = 151 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 31DB37A8569E4E35BBDBA758855CE6BD4CAF81EF95517F11C783F4E216A67124 + +Count = 152 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 0FB20007F08F5BCB5BCDF18B504422AF9AC765FEF1E128DD7946AECD103CF37B + +Count = 153 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = A0AC6B0E0DA60ED7F6D567188D5940B2E66A2DE233FA4871BC0CEAB99DAD5D24 + +Count = 154 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = CC0046FF1238A0C535C7AFE0900AB75C11F9067F94DC47694FE67C95D3DD51D2 + +Count = 155 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = EE8D40192AC47A413493AE595F3123A3063E10506B51E648E4EDD738D1F0BB23 + +Count = 156 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 62CFC7B1A0D36993A8E0FA81A313CFF377549B4A2FBB08B5DB1E7CD1694A1D84 + +Count = 157 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 4159B7B98AB15F9A7742798576A91289A0BF675013153B94AE9E0E402CEE872E + +Count = 158 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 93FD6DA57D0E5976C49A68B49631FDC79E38B1E4E1928273931BDD667DEC1BFD + +Count = 159 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 0F9185B47668FEA200B38B916A6594A616C85C9D8B884B817C971A6B164C4DD4 + +Count = 160 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = E5F8D42EC976009F7116844514329CEE7EE4562551643413A02C0F7F16452CA9 + +Count = 161 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 921D25E0D49A25569A194EC40D3199C8E5FAACAB7C155233D168FE1E586D298A + +Count = 162 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = E00A95D200CF7AB9F0CDA63933E5B9FFCD7F6826017795350A71F9397793C795 + +Count = 163 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 4D232B095041EB0BBA2B01BEFB720D7035A05D01AB87B91E143DBCD419061016 + +Count = 164 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = BD2CFC535027F6B7C8482AFCD08E65A18641E6078639A6A2F3BE0C4F56522CD1 + +Count = 165 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 1F2EFF4F64D45751E35D3D274080A1E7CC12BEE63B675ADB82BC4AF991D07871 + +Count = 166 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = F94AF5197599C92CF253D0ABF512DFE161D836B4A7B4AFF205A58F801228D530 + +Count = 167 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = C1C6296931115B7CCB35F52E0E9D5DB3C2C7E656ED2A6FB244BC7744B1DA9D8E + +Count = 168 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = A92BA05E8B8FB496CDCEB7BE11785098197D7B5A2EA82FA0B1E37F9B784D5B29 + +Count = 169 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 397C82E6EE6E7224D786F2567B0A251990F5C7EDD1E6456C0D7989141781BB1E + +Count = 170 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = C01D52ACFDE99D3254FB55B7815C0A0051D4015E34FC7194C89CD2FACF80C7F9 + +Count = 171 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = AAFA26E8B26E0608F59FCF4A229784A6DF57957C09D0E73995A6378F0CC428EC + +Count = 172 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 4751C1A108CF8653E8DB382FB6B101C92716229F02451346BFECC2C4FE04CB90 + +Count = 173 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 32E1D793A6B7CB49246D5BA8024839D8A573554B6B85C4BC5D2D6323C17E782B + +Count = 174 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = BBEA67553A4C5937D2A8F2AE7F7EFE4B324C79470E747232939799B56EFC3366 + +Count = 175 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 7C6103E601A64A6F575FFB57ECD7FBD32D75EE25C3B158886DC6DD8044EC52ED + +Count = 176 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = B6A25423676F5548D263C9249F2C8E6E14C9F89E9D29E6878F0452433F89A654 + +Count = 177 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 8160EDEA59BDF2EF1386FF2F88163D269B8FA5425550BCC45872DF5CCD934546 + +Count = 178 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 01BAEBE81EA0CE781F5EF2800318C8B31E38774C26EC7999FD636793280B2DB4 + +Count = 179 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 99A8DCB187D96ABAA0E2C2F542AD59B70013731A42F092799CE2A11FB7B1391C + +Count = 180 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 92C8BC51F2AC25D91405933FC723BFC1A03F86CD9C3F6DD2C03E710CFBAECFD8 + +Count = 181 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = C93E8B3465AC9C817CF51F94ECD75F1E60DCF81360EDEA0CB315F215A44B0EA1 + +Count = 182 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 744862AB915687A5D61775E1E94F9244EB2BAE50443716E6FDEB53E2C8FE6985 + +Count = 183 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = D07480AF852EBB557D5A37B590D59144F501F52A5F44BA88BD13D73BC7AC62AB + +Count = 184 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 7DD5985F7D94F550073A88496192337C1ABD8A6E7C7040CE69910790CB546A3F + +Count = 185 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = FDFB211D122DDC240F0ABE84AEC84421E533FC5084A18767B0F173AEE14AA7E3 + +Count = 186 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 69AD2E62809577C8EEBBFCA7F9D07B3CC1239519967608E86E24F905289A9839 + +Count = 187 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = BC1D0C62A570089A9F33CC8510FCA29A356229013223C1FA7F1BD5AFE3928F65 + +Count = 188 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 4026E821F2437171F8E2FAC16D492A14B812CF64EE34FDB85720A85E1BFD2D54 + +Count = 189 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 996C2D9E14303224031E8A3378C1E4BF2C60348FD4FF06B97863CC9901A373E7 + +Count = 190 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 849E7DAACCCED9DE7DA15275678A6E055B1D65E1EC3F687BA82B77443BB70A64 + +Count = 191 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 999957C973631D3E0829A426B244051287C17C859CACEAB786499BB9D4F534DE + +Count = 192 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 880AFE8E5AB4D0A0D24516F636FD02095175EFE8C5D15A2AA97402B0ADCB91EE + +Count = 193 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 50445F89927EF1A6B8BE1C0612ABC1EB9CA1ADF880551BF382C6FD7521E7C748 + +Count = 194 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = AE7B0217DCCACA9419D274EC19CD36DB6FD312E5C16B909D0A9CC62BEB71A034 + +Count = 195 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = FFE7A97A88796C776BE0C27E657151A23393DC53A694AEBA54A40A3A5798C45B + +Count = 196 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 905F6BA7F7FBFF3DCA71ECACD79AA9DE9CDA51FEF2657CB5C264179AD9AB28E2 + +Count = 197 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 858AD38B3A8996695098B5B0A5BAE6AEEEF175F6AC3E0383AA27D7AB70AEF67D + +Count = 198 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = FD976653447C320FAF534673ECC8F2F7B9716827DFAE129BD1E3C8C3177F0400 + +Count = 199 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 1D90C6967BF15ECD5629F885DF17BA39328C883C26E1C24DC92B68734BCDE9B5 + +Count = 200 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 615AF5D82181341B220A675BC71310A41CD79F92FC31B6AF397E92EB4C4A7A15 + +Count = 201 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 81E679E80310D523B2A1274A030EF246242286E7547016C2078646D0FA98FB02 + +Count = 202 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = E69EE7ED0DB834AD45A6C48C554BA43EDB298550C7763A95DE997F58175A9936 + +Count = 203 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 443E25D3FE78C9F740424116827777077EED763289DA8AB195B4CA285832A3B2 + +Count = 204 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 51910BDB37F654400F17D5DD6251A6E2E9E0FB12F65CFF67FEFA1A6F528F7078 + +Count = 205 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = F660F6A2B774ACDBE33F9876DED9EED854C3F7D140E60E00CDC82F2E919AD4DE + +Count = 206 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = C8D8A0E931EEA50E017E4BE8A6EA0AD92495DAF1CCC7F022A3DF81E3F349A159 + +Count = 207 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 861ED315A2B2C07396570F3AC6BE0451656B6D67B72785B3EDE1564E8DEAAB60 + +Count = 208 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 741DB633D18A27315DFEEAC26DFE5CD06CAD09F308D21F5171DCAFBE8A775373 + +Count = 209 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 4C095F4187CB60F3C0669B06473371AD8647CF27C7C54B57D1ABC7B973B8CD7B + +Count = 210 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 321F6BE804A24ACFA0AC966A85CA1CC53DCEDE7E917F293A5DEE4755DF0E3869 + +Count = 211 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 68A7FC74A7009DF5B33BF486D4F708E0E79F80053C8089C05B7801061102B325 + +Count = 212 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 739B48CEDAAF624E6A049BF16AE3E9708BE7698F70F70CAC60B9C759C0344B87 + +Count = 213 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 7445A72C1D44980E683DC2125205DC69C93DC7318EFFFC7B8A4B6BBE21603972 + +Count = 214 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = CCA6E2AFC7418D33B07561E702A737F4D139E1FC1CDCB495899AA781CC2E694A + +Count = 215 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 6B61CCAD91B7C1743B11B6E781DD498D55D349FFFAC0CF464C35D80D0E35655A + +Count = 216 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = F961646C10DB6A2C8A4E68232D84794EEA3FE753C3A9BEE205BE3FBDD0C61FAA + +Count = 217 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 274C2054EEF9A9A96126901D580A1E2ADFB0AB29F2725D2B818B2DCDD3D8D796 + +Count = 218 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 35794E4CEC32BF43867D6CE4657E58DFE7F5ADD3D9C387388483716A7C50D6A6 + +Count = 219 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 55BB002D318A9C09FC89BAAE9A288FF4B15580CFFB2084B8906CEE84FF06BBF2 + +Count = 220 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = C2543EE594248579EE390C714FF6830B78907E88E0FC88FE816352996D70CAA3 + +Count = 221 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = E0865AB0E8673A9FBA3C0278C7CE95C02C87F74BE5EDAD2C4287185EF7835AC1 + +Count = 222 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = E2795288B932F1398161AB23E83C17F4D6AAD45C71A4F727C7E8AFD3F351C418 + +Count = 223 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 7F6ADA92673C250CD4AB651D24395AAA5703426606A0ABF6C5227ADC02D62E3C + +Count = 224 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = AAB2D149BC22F44AC61AA2A230882AD9F04D589392356DE0D99501B57F1F1083 + +Count = 225 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 7309BDB5ADF80C64BCB28ABFE7CA4FFAD9301585C673AA08594B290DE433E8B1 + +Count = 226 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 5D3DE46FCEA93705A2B3493FA600A873F105C3B3A7287E7FB6E786A556AC0FDF + +Count = 227 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 75E2A263E17385FDBD8037AD33D85CC70819A88C2CB6F381C403C1624FB5EEA0 + +Count = 228 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = D9A011696CAFE49AB86BB6DC68273126791933D95F2C45EC6F082522EB36006E + +Count = 229 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = E2516F7570B2BE85E603D7C514FEA0F7A207831C8F605DBD32B9173A0C53F637 + +Count = 230 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 2C3A9B8698EF54A11400EC8605143F57826FFBEA891D9525B6826A91448312EE + +Count = 231 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 5996AA1DC72A3665D84F444D9DDEC0F395DE8C14D05E691DB93E51EF5567BAFF + +Count = 232 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 958E3D20B45C822FB72C40E95F56352A7E27333F2DDC180126C38E302EEC0302 + +Count = 233 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 834B516C1D534A84311F0B413720B4BADD6CF7235070C387C39CB92F082C0610 + +Count = 234 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 5466FF12A0DD7877EBE99F18A6C06845B759CE2E1BB308AA7C8468F48665C3F4 + +Count = 235 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = D0B49B95051AA4F91915B0846CFB97C1D78369DBDE10F97AAB000E2F4BA99E16 + +Count = 236 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 80B106A7B6F9C04D38EAC55BD308BB547104E83D5AFC9B700B34EF85ABE67045 + +Count = 237 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 8C62A8B3DAD26A9EF1BAC9B8B2DEC59051B8B91C042A172F744375E3BF3EA04F + +Count = 238 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = F4691E62BE43082F1384DFAFCEF9BE116E2732A8FAA346382EC3FA2821A0263C + +Count = 239 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 89370F0AAD374969FB2838E864C846EC7E5D60C5666C1DEA59843A3CE112638D + +Count = 240 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = F18D6E59962C33C9A599CA8F5AAEC3DDCB1B563B0ECBA94144090FE993FB2078 + +Count = 241 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 67348D7A8010F1C84A09ADDE258C8263F4FF0A5EB31953AA791C59975646C4D4 + +Count = 242 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = A9763685C5A82908B67DD864891C5BA1B0BE6B11E67BA2D87DB8A3F1BE007FD5 + +Count = 243 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 0C97D28715535E8DB6AD122871D065B9B0C3619C41A43702768FBED3AFA680EC + +Count = 244 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 2C097E5BBED881E1D91D7D285896D30967607D2BF3DE6294DA1D5D83A05823BD + +Count = 245 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 32D0C4D2A7C6087696F3A0248E33B7AF9F14B5C627577B4DC1161F8FC50F50AC + +Count = 246 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 0C456E026DF3EA87841DDC6D0AB3E696BB125C57AD3B4398315C736D0219F5A8 + +Count = 247 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = A79F25A99D062FB875BF756567CEF20868D1F380AB2CCB43ED4D3D9FB71470BA + +Count = 248 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 86FDC0EF7E5E369A647BC616D7489F08746A09B1BF7A7C8C9071F779AFAF037F + +Count = 249 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 7C3C64CB20BC0F95168D0E552ECE5376F7A9091AA52EB084D4CD5719531DFBC2 + +Count = 250 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 839CFABC9DB7753B567684C6BF190C9B5A3F22C5DEA4A28EF3FA2E301789875B + +Count = 251 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = D262A81C4066C23A3BAA3C66A8FC04ECC5BCFD8D38B33A48A5D2C1AEB7E1ABF7 + +Count = 252 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = CE562865D469E9D9456DE6A9F499CD2EA13F502E8164FB788D291765535D5CEC + +Count = 253 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 2CA7FE2B0616B4DCF41E312A5905502EBD5CA1E9FA84105D7328CA8158B53F0A + +Count = 254 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 93359F81C45F02E5EE1B028BD32461F63190E0E213203BF191B4EEF3A615181D + +Count = 255 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 9EE3BEB197A8FE959B3DF3120352814C7813B8BBE6F56A40957B9ED5C605460E + +Count = 256 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = D4D7B2B70BD7F57C37BE24C5F9D14207B737D8C21632B1AE3093B7A740CDDD3E + +Count = 257 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = CA67087010D64223B452D4EA3AE93D81253ECC8E2F0B06C2CC7E084B301F5E4C + +Count = 258 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 45E51078538FBD4B960D828F33E81BF93D3507C3A42AD636B55F07721BD46C8F + +Count = 259 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = E95143AADB896B9D452CBA6A59BD5D30DFC9034061054FBDC3251BAAA6145C8C + +Count = 260 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = ADD00FF4E5BEE1083D6A0832A735D8D70D0DA312578C8C5C5D8C27D2659AD7AB + +Count = 261 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 2AACD9720981757FBBCBDC135F1148949EE1E34E9EC00592840A64248029FCF6 + +Count = 262 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = A1535B3646B9614340CF30FCD4B3DA5D667169DF849090B92223AF017F2E66A7 + +Count = 263 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 690FBF4194981BC3A4B08E82666EC95C52BFA5D4B10CC31E8A3C38A7B63E904A + +Count = 264 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 58A7A4212686412425E5304969462969BE33EE7CDFAD6168D79ABB01A84F02A8 + +Count = 265 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 78618E7C66F3267576D660D6A64CBDC0E57D0D7263106EAB3E0A27DD91B29F8C + +Count = 266 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 3C701F333104084C6755AFB10DE9C826A20E8FC4D66A8E3B2C7BC5811D09594A + +Count = 267 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 35D52B2A812D017ECF774C0902D788C0341B366FEB4335329237E5C8415531FA + +Count = 268 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 5EEE28781F7594AABAB4D1C8D867B6A5AD83AEE9DB78FA1F1C91A619674081F9 + +Count = 269 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 3B72482056FF61FA887E593151F3877C4796846D449B40283FBBA3EE13AD7256 + +Count = 270 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = 86F0F87DBE134BE41262469C5715D95251F5A64319945089A52D35558CA83ADD + +Count = 271 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 901BD5402B88C202D12B704CE1EC154DB393C0BCE9A3EDE3EE741ADDEFF46CE1 + +Count = 272 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = A1B64AC1B2135F38EC12FFA2AEF908C2C0C51B3D8E7D741062B075E83EDB7A44 + +Count = 273 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = B69C64C49288ECF269D0C701B59CCA5AD25D6161CD0D61673A74A4B3AB8EA7EC + +Count = 274 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = B9954B349A41118919A614F7614599AA1DC0C1594A96D8ECFC244C30462F20EB + +Count = 275 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = 6C88C2CF9B0F9E09A65C57DED3214AF9B3B8B0866F159E9ED94925ED48B06F74 + +Count = 276 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 97638DEC813E614BEBF90AE5271AEFF469187574C019688445E27FF4EAD2474E + +Count = 277 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 9E5DDAE81B9512B47FC8FE5685E47FF1B3C102714FDEE4E9A3B9903E8791F122 + +Count = 278 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 9965CAE068B539DBE0D32B199ABD91288E370D5E7E5E2D3859C3F3771D921ACF + +Count = 279 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = A6D71EED855C86AFF8C205C11110C46F71FCCF486BEE874F80B66DE7ACC4C26C + +Count = 280 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 3B4606F8D7473144177DCA72ADE579147D5350C1895FD002265B558DD740352F + +Count = 281 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 403E0B2C9643D0052B984940822D9FE37FC205D840A8033E2E7724B034DF2422 + +Count = 282 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 9ABB2A9CB4BDB13DF0341C0D24C21B158206F05E890B77169FDD77B349D9B6F9 + +Count = 283 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = D026DBB668FE7DD0823788BF677C5BE5C569E6F0E5A71C7B6998B4B0B1FB5EFC + +Count = 284 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 980FE86FC02F6E3792F4798651C68FE68BD46863C4ADE53A28D1E6FDCF5D5B41 + +Count = 285 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = CF9FC44B222445F4D71B2AA36FF10A0EF6B998763D2738BD910DC9B6B73CFFF5 + +Count = 286 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = F22AA769CB875121004A513F2B0DBCF5748353241FF29519EE0887F832178E16 + +Count = 287 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 2278595FDB279948586701573356FFEB5EEDBD5ABBCCEC5FCBDBBFB2AF93604E + +Count = 288 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 745DAC785DA0B4A4C4CD7CCA1419BA1E240F06EB09C3C399E86E8C3746D870B3 + +Count = 289 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 735682B4B9871708484186FFC7982A2C7C6C75B50BE51E2AB20A526B7A779CC4 + +Count = 290 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = D7F6AA9CE9F752D86924E5F096A823700230F48A367569B75DA2BECD08D5AC8A + +Count = 291 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = D8BBFC05DD7CE2394F4BEECE8984E69040428F697DDE2D1021B574D6141D4318 + +Count = 292 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 2F1278E2D97D73DCD0E0767B816FEA8721C3A2F698FBAC453FC8AF9DC7A20512 + +Count = 293 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = AF5F902BE27872DA6E508CB5644DAC3929C689520D9CF35BD016707CE8A094CE + +Count = 294 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = D2840B5BD3F8836C51662D20A11F5FBA54535C4B362B7D780C4F198632F242D3 + +Count = 295 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 191D1B27A6879A5CE1F3FE80DF7E41A832DBA1A40871129B80801494FD7920F2 + +Count = 296 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = CDF1D34991D3352EA382D9EBE5F8A65BB4B8817B0C0B8F32560007947E68F37B + +Count = 297 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 183EF887B9C1B54D1674859B3246FBD02B2BFCB4D6F2D7FBCF2AB3CB00F54391 + +Count = 298 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 70E1E9B32BD59454582B2DC1EA85EE7DEE334DAD6D786CB479A4B60725445A18 + +Count = 299 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = F564866493EAD85E86D18263FF1B135E9B4CE18060BF69B27E78AD911F9AC5DF + +Count = 300 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 2569C4E4DE8CF68376DAEDB8FAFF10CD405C080DB6D99F91638D25AD866F413F + +Count = 301 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = F0540385F19450078C5343C5B4D404E7E931EDEA88FFDB1BDAAB4D369EF354A7 + +Count = 302 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = F2C15D699F851F2437EC6899BDD658615262882ABE5F16E1A34921FADF5C2FF5 + +Count = 303 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = C89427389D5801A5C4D41F9A7723B146E60E24CB22BBE57BCA99D265A35001F0 + +Count = 304 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 84ECE44B2D9E6AD9F9EA5A2A67CBE624BA7AB7901FB8E4A0918CBB4CEAE1C843 + +Count = 305 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 86B53F36419E87453C62897257B3C5798342129830DC0E8D13C4660B0B7F55D5 + +Count = 306 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 1A97D8EB01C37E3FE03C27B090F41376D5A9555782EF57A6542F6507AA6E4684 + +Count = 307 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = BC5D1C0525E0ECF7443A250836FC61F1CF83B5CD051D30FA3D1E7794BD84C9E2 + +Count = 308 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = EE7EABD345E0F6DEEFEC0A39370072F7AC73C5C4CA97341DF95430ACFBF325B4 + +Count = 309 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = F14FF9C0B4C322A475BB1DADB7C2824969609676E735A3FAC829AC908D00226D + +Count = 310 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = FFAD324D6C0FA9431C702166A0314BE287EF44D42B5A7707B28A9988F8F244E0 + +Count = 311 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = F39C3A892F0D9A2E6B03DD67D6874BC0C61B34B7265E0B59B0774BC7A24FC9C0 + +Count = 312 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 5590746FC2F6A541516177A19E09E597F6F0BFFEA522177F218143AD280C0C0E + +Count = 313 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = B10644BE4D9385F08693D5BBCAAC6BA1D359E9ABEAED895A828631E57AD46131 + +Count = 314 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = FD5BA556855F5A328BFE40E0EF3D0D62282911F2C8D4415E9295C97EEBE4CAD1 + +Count = 315 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = F9D9CE2B74C3C7C2895A88996B67CC8F8FB041F2834C6F7C33FB290EE4ECDBE9 + +Count = 316 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 54A0A4008C5A735BF06690F9D2FCD9029883A707DB8BC50CAC6C7B81C6EBC15C + +Count = 317 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 0ED1ED86029D6AF070FCBE6FBCC23A93758FB9A7AC6160AA2AFFAEDB0E76D56B + +Count = 318 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = A856074C3D98403AA0FC8C8B52D4773A58EE733E6E732C3503ED14AEF69DDAC9 + +Count = 319 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = F3967AFF9C64BE08D810758B867AE6C6371EA8297950562DA3A5358DE4A0AA52 + +Count = 320 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 3A05AD501E2EC5752437E3750A5EE00BBCA9FC4B14A3608D2A2B8CC5F359B078 + +Count = 321 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = EBA9FF294CCE70FAC57F1A78881356F309EF43E4B8F34975FB7F0D6D7693FE8B + +Count = 322 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 96457EAA7CB62BF409AD7F815286EFDBA0798F19F120EF2C1A676706D4DFD246 + +Count = 323 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = F194113AA91F20170F311507ED04740BF86E27E053A40384C96DDE87A6AFB9E7 + +Count = 324 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 9AA289345E89D703B9D3F281EBAFBB10877DA70C0157F3291CC2F2E41BAF3AAB + +Count = 325 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = B2D1BCEB2BEC71A3BC5222BD6AA23F2C6CC02A9D3138208F4314CCBF118AA674 + +Count = 326 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 1A4DE38BE8EC3D9C86C567B703342A91E28F4456418F959548B90DFB08C218B2 + +Count = 327 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = B5E2CC4E5B9DF874E615A40F53974B5A104BE37B9B9B262AD7701244949D3CB1 + +Count = 328 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = F17FD3BEAA97F93E1C0FE0F86A0BE273D5BF0A0B2B67FA5742CB6325458B712B + +Count = 329 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 94E0387AB74DAE8973C12148FCECFB96516015992AC5739EECE7E5FFF422EBF4 + +Count = 330 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 7059A4937F25E7DFBC8654A5CD2AFC6091CF8866A2C390C4B14156CB0F2F3D61 + +Count = 331 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = CE4430F550E22EDF2E9AA72980FB677973DA694636D0124FB5C105BE5A0A80CE + +Count = 332 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = C948E93126A36DF44B1EA8DEDC42BF502BAC970668581AD5DFB432636C1E4D76 + +Count = 333 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = E3348A44CE8107F5FA8E1682B7E0299884267D5FDEE068A2AA52BF968162C3F5 + +Count = 334 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 533260A91C3896634744B854D18281DC9E0F9D159265CC6A8645D466A988C8DC + +Count = 335 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 6B1426A94CEC81F12F7730439A086194944F50F57352A7EE6E87B6087864A6E1 + +Count = 336 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = E87BC11D917F9F03A6EBF420187E225564A762A7A0914525D2748346CA85367D + +Count = 337 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 7D409F3F0EC5950AD08C7576715F22108DCA5D986FBCE76753B32841FA8C754A + +Count = 338 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 0F0A6B754F0DE2B7221883AB57094EE04F659AA471C981EBC48F0F1624EFBE14 + +Count = 339 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 1216BA5FFD20D21E391BF53E0134A5847ED746181ABA4A7EF902E31F2D5FBA43 + +Count = 340 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 10874B955046733F50644AB882D655FDA99C5192F5BCCC4FA64E7B34165C1186 + +Count = 341 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 40AEBBA5B8A73AA314DFE348461EC6BF3C4A8E58373271AA34F3394AC503103B + +Count = 342 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 94759BC9A586E370BC17B6BE423F6A9411A5B10C81929BE81E3F0EFC27BFEBF6 + +Count = 343 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 205BB786ECBF7F8E8945552C9C809772D435FCF5B9B061BF91B63C0A887301FE + +Count = 344 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 4EDD23BC5FB6B1143826BA262B7136814ECFCF3B5BB5E7FB7A64161E755C6E90 + +Count = 345 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 3EA3FE58DB5392F1FB4A2A30AEDAE431728D8A8EDB288EE365954EDFE6D495C6 + +Count = 346 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 9481F7B25C9C9E702EB06C775B28595EC5C7BCA1C253FB6DD7678ED63F09CE9A + +Count = 347 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 91434404913FB7B224C476B6741006ACDE605643CC8B4C1B32E19DA3D8E6ABB4 + +Count = 348 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = B7D2749EF9D8ED4218FCE5F4946A621B2F8997AD664FF74DAE3774F0311C709A + +Count = 349 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = 876D222D0290C9BF3F36C0592EBC54D893DA7DD826AC7CA6A85791645D222538 + +Count = 350 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 9953279CC8B2A6CF64C94AEF34A24C5498B77458EE46773CA73212DBE7C66EC2 + +Count = 351 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 633A122FD7B724BCBEFBD1CCE81D21424C986D2E1F352BF8A67694996EAFB144 + +Count = 352 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 74BF61D7F82EA021848A64A3E1175008ECA202DA3E0107A35E73AB11B65F6566 + +Count = 353 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = CDCFD7411C873582F29357F0350A7CCD0B5FF9A65612D13E61D81432D8C6A184 + +Count = 354 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = A2D8C1DAC4B70369BCC56195CBD4A92B809136AC49339D5C1E9488E35DD7C92D + +Count = 355 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = AF20A446851EAAC0F13B02986D3967221D661C9A3004DF61644FC53EC573D74E + +Count = 356 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 9E3CE70C73D170FD25968C8A1FD24FCC87805948D8B348D4EFCCDA02FB816BF4 + +Count = 357 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = A5AFC1702EB3BAABCB4827063492B7BAB4A74C2EB9A8AD89D229455B82D766AD + +Count = 358 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 46C53E1CB8780285412949BD93B6A5AA476765412373CAEC0AD627159373BB3F + +Count = 359 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = DEA5725E9D339E64832FB76C70FB491041D7AC3671AF8CD798F8F2063AE3366F + +Count = 360 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 666CB29BE8F00F958FE7B3E443951D6548C6F0461AA577ECE29FD32E0DC5DBC0 + +Count = 361 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = D2CC7F6F6E38A147AF048C4B5EDA532EEC8BC223DC619A240B865BED82DB2342 + +Count = 362 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = D4D4FD08077131585FA2563CE8D0858C4A8002E2525DACBE4899F8FE3E7901A6 + +Count = 363 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = CD02FF2EA5EC730E09805C44E138EE86F312D673DE510D801EA3EBD31AD98540 + +Count = 364 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = B55DB9920E7D2E9A6DB1D6CA144CBE8B6FD7A57368C58B724FAF820873D5081E + +Count = 365 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = C8858662F1A15CC30FFE8000646A4AF021EF890C6934F2D2C6FD69ADB2309601 + +Count = 366 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 55A48CC800048F4B6C9DF65D07B15A4CB41E152D6900B194F3B67B2E7FF8B7E4 + +Count = 367 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = AE53F15819C701273A4B5CC761B1C49A70C9994D13487C9118D2185BC91A0F5B + +Count = 368 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 60816E2A46814583CDF9233F92A559B6FEAAA390410616FF3F37EB6299CABBDC + +Count = 369 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = E0F80EB4A2BDA9D6BDCCCB3214EBA1EDC16A827992769C8F7BBBE6EB4E0BA1E1 + +Count = 370 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = B21932D3F95C86855D892A99C41F6D5C1E4F4465FA207F2266F844EBB6D999D5 + +Count = 371 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = F39967C14CEDA04C55C129233EF011485BC5940CA462E5D093B3CE18038F2459 + +Count = 372 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 51CFD79D320F640DF4BCC588738350F1DA7F8874B2258B2AAB9EE732A341DA7E + +Count = 373 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = E130C3AF407C40AA3BA805DAB90A6881C96F241B57C115B96DC144ED700CEE45 + +Count = 374 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 66CED5E448D23E2F2AFCC85DDD318B42586234E0441FBB3365BF4DDA53B078E6 + +Count = 375 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = C7C0BFC4DF4F0C1A525B1B36B1D7934594BA3991863428824400BD482094263D + +Count = 376 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 37963E62D11E381F164AA6F8150B7783424098F8A05DA0641A0EEDD7BF666DA7 + +Count = 377 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 9FFBC18A0789A158C00424EC262629BFB64212D7C681163E5693E409FD5DD3CA + +Count = 378 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = D32D7BBE95E6FFF9868A82954E7A239CE102A1DC52ACE9FFD86253E8399D4F57 + +Count = 379 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 2309D91B5B10EEE2D690CF0AA3598A923C8346F27CB9EB848C30A58B8601C315 + +Count = 380 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 96752FAC1CF71F6317411B5B4AC9681AFD2D7D3111736945AF5118E2015BF7A1 + +Count = 381 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = F53C874D12978CAEF1EF278D200C9BAD969EDAE92270CD4B1648A7382B720167 + +Count = 382 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = A2B8894E22DC5CE9B763D43D9B28DE66A5A19BD4AF9D2FDE0ABB38E90D70797D + +Count = 383 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 15F3DDE405CC50310CC0BB172A6BD64E6AE0A71D599D5C4062A89373A6D054AC + +Count = 384 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 05F5B9B2B98ACDE9D759F546AA9153C42798F158B6FCDBAF33F35B3C7F31A15B + +Count = 385 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 389EF530EF4BD7A438832C546B9B91A1AB1A6EEFF93BC4445795AF10EF4EC847 + +Count = 386 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 6C6A2C965EF4A8D5DEC46D8A717152F2DFD4BC52E62CEA61DFC8E9B30A8C76C2 + +Count = 387 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = ACED2ADFF0BAB466F25E893B3421533BAB398B1DA2FEC2B4A49A044298CF81B0 + +Count = 388 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 59E45444BA6B10A04F922FEC8EC60ED8C2B24075BB7BB24B70B696E77BD4C7FD + +Count = 389 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = B8AAD69B35CC35B0569A3B3BFCA28EA1FBC45B2BDAB985662AF5AE569DD0F903 + +Count = 390 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 05EE62A1CB2B725B7EFF2E6C0D6CA915C533810CE1B0B0B1FC67E4422E1AFAA0 + +Count = 391 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = F636C115C9F5CC28FF673D111A948B9C2F44302946BFB6D3C64CEC3E004CD5CA + +Count = 392 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = EB6D2538ACDBB11B215CF382A080D8415878A0AE29DE296901EDD110B5E8CDDF + +Count = 393 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 230E9616B76DFD0C229F993AB40B762F8529E09CD9FCEDCC3C51369907DD9338 + +Count = 394 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = E2A33E49C8FF816B9E45702A2BF45894C63971335F8AEA1BA2C244C51C3FE51F + +Count = 395 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 5B89017641358B7153E87680BAE7A5082F94C76AFA5CA144E4C427A75F748AA4 + +Count = 396 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 4EC07F25D93BA78F804249FFD62AA189CCE3AC3E83B1498AE9C932B76CD754FB + +Count = 397 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 7758C739CCBCA683179D81977F7F7BFD1509FE5F720829D52A7F4940AD4E4E44 + +Count = 398 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = AF8366A8D14BD9A4979F0C6AA7F4546A942F4F62C3579E2C7E3B0F8616CA8603 + +Count = 399 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 8CB83686A1360CB2C9C5C0B26BAA435E5813CF99A0B6DCE280D19D9422498115 + +Count = 400 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 76880EE7DCC617E0672029A04A3392DBFE8AC89AAEE1609ABCD845B7DF50EA76 + +Count = 401 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 4D5CD16C3ADF1BDA72494AE18ED79AEEDF5827FE20EC55085887DD6EA4CE9353 + +Count = 402 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 858DB9892136A3B70232AEDE00D690896CA1598B4375CCFD2D49D51E318A7786 + +Count = 403 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 2F873F4635C8B480CC8DF6DC1D1AEA1E06C820FE08FBBC19B3CF3CCDA5E3BF05 + +Count = 404 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 09CB4FC685B4043186BEDAD341397B21DF9B751B0EE21926E35C2B38953ED3B6 + +Count = 405 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 9CD548CB4CD30F571E5FA4DF17C92221C4EF2B03A7EB7B6D35EAE084E6B362BE + +Count = 406 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = F2EE7952B54C046E608286C499596FF431E5F3EE9EDE5CA72971BBC2AA4DB915 + +Count = 407 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 5374FC6373A6BF0847DA04AF5107156B4E7E9FFFABC558DB35FDFDA7721A56E9 + +Count = 408 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = C96216165BBA609F68D7FF0424E34AE11D2C9D74D752703B23962368B70AEEA7 + +Count = 409 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = FED69083386D5CC4C3F53507699D8B1AD951AECDFA1B6BF28377B90C4E7A0C04 + +Count = 410 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = E18955FEA9977040DAAEAEF587F03EEDF897D594E13214DF895EE5F63C2ACE3D + +Count = 411 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = F4A850C027AF4975BEE948501F7DA2CE0FA40D4F7AE62CBC57072883229C6307 + +Count = 412 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 2227782A7DFFBD5ED568FC3784445C8491C5BB03E38BCABA282EDCB2E3EDAD4F + +Count = 413 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = A6A14F861038330F4199A5FCEDFBC68BF80BF134949F67837BA344300A81E45C + +Count = 414 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 889610D22D4D4D79BE6F41FCEBED2AEFE857334375C2E1A71C23B0F2F7B22F76 + +Count = 415 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = F70988BB6E218F16C9A71578B390454FB9FAC7F21264CF0F05924BD6D038D80E + +Count = 416 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 46CF5EC0D769FAC4611CC977CCB818C95530BA17D365DD2C1AFEB44D691B5DF4 + +Count = 417 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 3D86A9CCD3A0B6E7634980AA24783F9F6B7E53B2192705DEE2547856171D934C + +Count = 418 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = C7B49023EDE7E04627A27A03F81B06B98EC076CCDB20F00556B3BAF88E629CBE + +Count = 419 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 4E2BDE33EBBF8EF4625CEB864BB4AEF4F0AC8888864BD591B3F68F60B7823E89 + +Count = 420 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = B5EA62346C994ECFE6C5737D6A8A35874416C726DBA64B2DCCE63E8F28A6B67D + +Count = 421 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = E127DC57C42D8AF34A77EB311D3AD4DA5993615ECB125347DB1D5AD8E7195E2A + +Count = 422 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 5BC4257AA1F3BC870EFE474975A2C19138A1146AB08214ECF4EEE89AF54FA7C4 + +Count = 423 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 651C9D9F57BEF9E095237B82E11FA3708CC324FD6E4C490018B2A8C3A23FAD50 + +Count = 424 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = A61AB3F2FBF85607DF58222BD60CE4F94A11464DB63D6F692FC50FF168E70EE3 + +Count = 425 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 6EAF1EC399F50E7E02953F602F6EE0D6D15E1B9877EF5304D08DBF972CC4DD71 + +Count = 426 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = B6A594B086B1BCA7A0CCD73CF3D1D77A6E206BE2090F9C909AA23089B1EE6AD1 + +Count = 427 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = E9A40DC07D50142833D527098591724B2F4CE7234DE1202B5F0815AC1A1D5B98 + +Count = 428 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = E480DAA8037238B73F962A63F30310E99AA460B4341F4AC7D60434E11620C447 + +Count = 429 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 0FA8AD36A6C2796DF827EC2DC1F491DDEEDD3464D77C609B62C50C6506E4F905 + +Count = 430 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 13902F760CEBE3147F8C0F1D12ABD6175E58987F5049D4875AA301B5C6E8B554 + +Count = 431 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 88CCF3772C1721FC4FC09BE37C83AF4E4531DC75026B8EF46BA0C5885394C371 + +Count = 432 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 2C787E4810BA9EE702C1CEB4E4D469FB12F633D33D045D849158C4840CCBD3E0 + +Count = 433 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 116B2AF8E0D95C763048975CC6869677513180CA539FFA881E63A80F521B1FC7 + +Count = 434 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = AB832317A06A844BF84150E26646A0FFE1BAB1370DF06877D7ECFE15FBB0B8EB + +Count = 435 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = E1E1C997F503EE9589FEFFCF91FA6FCEDDA9FDE9506FBA0A6521D660E3343117 + +Count = 436 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 3E9AFDC235F13700F2DD706EDF06A896DB2D4E0DB1A4AF0E9D19D5552377B76C + +Count = 437 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 45D3D86903D4367AA76C3DD53C26DCD1278A24FD270A44020FA1C4BFF3D3A2E3 + +Count = 438 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 91A44EEF9586A91AC8F20D5CD2F692714F76F382C802AD750556BACEF7AED4C1 + +Count = 439 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 8C0EC1B8369FD8239286B830DC4E6FE38968B8DCADE63B2AEEB90C97E345B564 + +Count = 440 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 79F3E928412882E4D7FCC22F678090AE4BC38DDC572ADF4CC8C8CE61A9BD3702 + +Count = 441 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 3D7351CD71A1384999CF081216960C1334EFC995EE26E9BBA5B6F2890603366A + +Count = 442 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = E6AAE90219F6674C2B52EA279A7EF6353B5FEA02DB46FBF5CAE9C4FFE394026A + +Count = 443 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 51F036D10D1792C9F8C10BA5092A3FD4D5687677D15FEB5E31170C93E0B405B2 + +Count = 444 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = A4B65795F794817415F155DB09E5EE44C95CC70A891275E92EDA819B9D08C4E8 + +Count = 445 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 92F4B5392B26D387A81A25FF9481102B962D39D4FA20FF0002CAF4C1883C03CF + +Count = 446 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 7098D8AD38063BDA3DE44DD772FB2980B934FB9422B54AF6762578D3EB9A8549 + +Count = 447 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = DB92856F69586753A016480144728F5F23909024EBD537EF4046DE8E467250DE + +Count = 448 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 37AE4EC2BF55AA0B782B13F1F16BF5619D1BA45601DC76C183382CFFC710F680 + +Count = 449 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 032FE3EA54602F89D1F14B354A70BB3C48A789AEA47FC1706FCFFF3AC08DAEBE + +Count = 450 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 6A11A54C2627A1FE96081016ECB26C5BF658E46E678164C84CE3530D62AF5929 + +Count = 451 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = B8F956B6BF0DE29BFCB4B515ED4FC056C33F580910FAA5874E9306C99947E17B + +Count = 452 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = E5F39110F38E402D6BF2C06DD8BDAEC9379A71B0895126D5E8BB6D598AECF907 + +Count = 453 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 593BF3917323182518E06E30A060EBF5D3F9C6C9236E306CE7D69A1424115CB6 + +Count = 454 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = BB18207945DA6F6EB211238067ABDF5E06191804554510517377C222AF9C4785 + +Count = 455 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 7F80ADE0BC4AA77923CD7FD877B199724A5266DFCBB497902AF75F5CCD61CF8C + +Count = 456 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 3FA2BED6E7B784472984BE7BC5A02EB6F0FABFC3B900FF628A2CD00F92C3561A + +Count = 457 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 688EE4D36D3927ED92D39E1707DA0E2E75E8AAED23D5828D5C952AC45C799D71 + +Count = 458 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 37B3BA4F5B3602B2BBF8B4E368520BC0A2B67959F335FA11479F3C400D7AEE2E + +Count = 459 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = CE6ACC637FA963518D2FC610CBD66FB216A81BC217411943FB24F925DF6BD84C + +Count = 460 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = AD4CEB3CB3152F58474FCC22F4269D9FE89AAFA8AF6FEBD6409B26A8A7E402EF + +Count = 461 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = C2A74C516E4A87377FF48605BDC015212D0841B61CA1D676AA0DA6D0B30F568B + +Count = 462 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 92A96066CCC162945B97B16F99014C0D8E98042689CBB5DBB8163798A9055F8F + +Count = 463 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 3A10E31B46C638D7CD1171205598E83CDBF1E662BDD8C4FE399041D93138C5C5 + +Count = 464 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = F8E08144CCFCDA35E3288D0001AA494BE88A9130941A1085248F27F64DD6DED5 + +Count = 465 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 8A42FD75A3AE4522AB14466FE8794CDF109F5ECACA3C7FA8FC532D49726A5D4B + +Count = 466 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 2497B56D5E826330A99AC90FDBE8B5ED7D73EA596AA11803CEF65783C9E17732 + +Count = 467 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = CDF6D67C9F67886C3135E0B6408A79B328BEB2423B06870E398495B553BB2F7B + +Count = 468 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 0F2D237E905CB3489F1289A4DF32E212E31940E8716DF77572ACBFF84CC9F8B5 + +Count = 469 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 85DB0650A722CF4793BE5BEF9179A13D0C3569A3522B425405E9A22F759FDF30 + +Count = 470 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 5FE1B69A4E20718F30C100E6E5C88AE09DCD7923740ADBE7A884A2EB0D544272 + +Count = 471 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 0B30374136BF16DEBA3E8481A942043CD1325F317E4619EE1318820B2D76330C + +Count = 472 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = D7D2913CF1F6B424E85B29E1E96DBAAB1680CCE5796224496A56A6463B5743E0 + +Count = 473 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 4AB4177E7E15D9C748E57A5057AD2FB19DE9BCAFE87F92FAECF466CFA4C22607 + +Count = 474 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 4D63CEEB672ED9975334E68E6EEAE259917467CD093FD73B0E9D21B45004AB4C + +Count = 475 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 4E636ECE2859F65D644A9F6E37BA1CB718E478362ED89B72FD7327D85A196B25 + +Count = 476 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 430B833D417A72CC2250B7E279631EC9FE316766202A67E3B162E7316ADC3DB6 + +Count = 477 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = BBCE60F7CD5A0586DB5E8A7E38B5FAC59ADE78FE579D7EC2B09B8FC68FCFD64B + +Count = 478 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = C0BF0422815C1980460A171CEA6E15A26E06ED9DF0A310A4072350ED575A2A31 + +Count = 479 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 324A1191A3F8583B41EADBF3C3C0FA7EBE4150567D3F203A2B0CC698079C30C2 + +Count = 480 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = 2DC7F7551355457C399DC112043D92C213963D3B3BB4821C3A41EE61B55C4C6A + +Count = 481 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 8F075F072AD9860EBAF9F839A1FC045AFA1C3D6C6CAA5760A5D683B9B60715DE + +Count = 482 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = C374675D03108D4D2801EF0757DFC3ECE67B385236E6598FBBD37A3EC58D5E93 + +Count = 483 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 2363BE8E9C7A1766E11F3780A4B7DC2E4546AF5C95B702974014825E917A46D4 + +Count = 484 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 928288102129E36B77EE21E0EEBBC0D34685C995D5097B5EA20E216399FFF05B + +Count = 485 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = A97C96FE20756A050F2E6933DB3274A329654B12133ED0B51CA23AD7C2A4C781 + +Count = 486 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 8AB46FE6BF5F5A4B9F56C6AB7F348E63084B0ED6C6E218E8FB80471EC59CD985 + +Count = 487 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 57BFA4051A08F843F8FE9B3039DAFCE4D12C3C920B3E40E3996F8C836152FCAF + +Count = 488 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 5007C8C4EA65247046F4600A116427206BFD44F64C969BE1F4F38AAD2BA69FC3 + +Count = 489 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = B1A42A26325748730B6974E06F0723E61EE07B899A890F3FB2F6212A8B14F2DC + +Count = 490 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = F4A9D8B471BDAFF80581D095E99A0AC2CB4152FF15C3F70738130E5540FC8FD5 + +Count = 491 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = FC6237FDE76D35E39A16CC091ECEC80B987522E5BBCB0877A863E0444FB690D7 + +Count = 492 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 4AE02A7B51CD21B9EE6BA230F8CA62F551890442D06E2AFFEC8EF184478BA093 + +Count = 493 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = EAD935FF3C7A24DC39E7C363FEDDF503F7EEDF559492C5FA5CC67FF76B0680C2 + +Count = 494 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 92034A4B0C85631FBD8FEAF19D72F9832AA2B3AA7E2265CF912F3868F064C6FA + +Count = 495 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 91861E8A1E258C0DCC9B3AE378F0C6BFF5563D22D0503C49C68CCBDE38488FC9 + +Count = 496 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 30235A9CB8A118CD3F57E6FEBFF403BEEC21616BB8C94159D1C5774DBEC280BB + +Count = 497 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 260B46BF9E6213098972D51497C3470A1C52DC86D43E279327EB3C03E6801AC4 + +Count = 498 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = A4907A2005EA0B6C109E92AEF964E35B3A62B5E85BFFA98BCAEF40CB84A43208 + +Count = 499 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 98F3217B2D09EB8298542728802311C1807A44EB319AF2B2A17CD0AE800ECF47 + +Count = 500 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 7E21A21041424D3C949E4C9D242D5109CF58560303E5FA2FE7CE965037B8BD6B + +Count = 501 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = DA34D5F857D4D7305FD960F48BDA889F7A4369E71F67144FE6E1C6297C87E99B + +Count = 502 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = BFDAA0F1E1163199C4273A093406440570AC4FB29D0FAFCEABA09A9200124E18 + +Count = 503 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = ED3C77EEA82833FCBD375D3890C66111C3BE3E4D4ABF1EC0F2D7EA80CCA79340 + +Count = 504 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 08E6EA4BF8C4377CE26E0BDAA83B053DE666E0E28371DEE94905E757C9D71006 + +Count = 505 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = C7BA54DF271D06A6DC70625B3C1E5871364491069ED4BC0C5265FB96F9011403 + +Count = 506 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 9896BB740BDA4FCAE569DB194418E88CAA814D948921DCC88A6EED04BF01B062 + +Count = 507 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = A8C87AB7ED1F1C7B862AA8A5DA00D5C104E87C42C5CA2B73CCC4FE7E37ED4F8A + +Count = 508 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = FFD1F121C1F17E5D204551D810BE61FCAB39D6E09C4976B5883327C10E958380 + +Count = 509 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = BEEA093126B1BEEADA572E8F9CAD830CB1892AFA2097D8B86458115E61884616 + +Count = 510 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = A9BE24FB08BDD131C61C59FC4D7EE690C9FC2514AA858E77B0CDAB6E255D603E + +Count = 511 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 6085B91755518586DAFC1EABC7E8BF80C5E841041CB05BF9D3BCFBB86961F23E + +Count = 512 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = BE78F06CE088606FDD0B3A7143AD19436BF6867457E2A1559EA9A477978E121F + +Count = 513 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 7039284FA1CB4C798250B1A62E2378718040E10F206527BFCEB2FF3887884484 + +Count = 514 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = F54C8FF2A2A0DFEBE196319565747530AC575E18F051C8ED0AA9B74A095C84FE + +Count = 515 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 6CA6AAD598117AD65E72291A3AB6721D60DFA9F22B0939757C077781909EE38D + +Count = 516 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 38589A0223500F774A84A0CDF4575E0EE55ABE0C5257003D154FE680C838D04C + +Count = 517 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = E5FA740F77B7053DD22B33372289D948FAC96212EF6F2A72F05BF6E7FCF54265 + +Count = 518 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = EA509F5D782D265CEC62494212F6D173B2E47F903BAE07FB5F4CCC86B08866CB + +Count = 519 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = DF8DE8985CA005703DB9780806B0E7CE5C7B971BABC0E3E3F656C6FABAA1404E + +Count = 520 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 703C210B65FC2393794703071714C3C6ACEE335A79E32A0C2A27EA8B681A63A5 + +Count = 521 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = F1FB951869DB3B5B7FD638DFD618C970CE329E7E55BB72A3F302B329A870738B + +Count = 522 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = E1DFE92707AE212303560EFA5B3F3EFEC0B53EDD8FF6BCD58905B0A856EE7B48 + +Count = 523 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = BF9B4750C47902405F0721F0A01B0D109B2D46BD21D0F939B13DC4898F1F2E4B + +Count = 524 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 2F67F14D5BB067ABC676E1230D645554F7E5DEBE7082A267D906FB43673F364B + +Count = 525 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 5EC5751E3675E773B9CB8930651AB6AA836AA50B157A9E1C3C450AD00DEE3C5C + +Count = 526 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = C28286A9DA0460127725C2BEA03ED5BD8CDCE209F4BAD610F6236A44C51E0F47 + +Count = 527 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 88CD341A3517EE005D52424EA6B0F8F15F5F862FE0FF9AF4296EB43D0908F4E1 + +Count = 528 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 2B2475276C5B65568946CA2C3F07D7F6C05E5F196B79043E1A97A0E9E0106D1D + +Count = 529 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = CD5027F42BDDDDBC82004A09E129AE617DC819EB57335E73A6781CDD419C06A6 + +Count = 530 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = DAB2E8E8F32CE556D9E8FAC20EE4A090B3B0D57D8C8B541479D156F1F98674D4 + +Count = 531 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = A05CAD2A71D8D9B78461E661AF68015C30DF10DA8057C17EFEAA7A6A30786BD5 + +Count = 532 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = EB42AA271B0BAF195114596DCDEE4588063D8389F05FC6A3AE7F6C43141FE68B + +Count = 533 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 9706642B595E91201A8C3372845B3FC4CF4F74EF181A88F8E1CFB731501C4EE3 + +Count = 534 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = E938F9B78C1422EBB92DA44DBD0DC66A61CEC0E892177FCF5AC64AF77AB91A2B + +Count = 535 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = DF932953E5E6591F81AD6DA6835E774FFF87A204448EE3755AB70E5E83896A7E + +Count = 536 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 3DA15A85B7DC6D3E346CC80C256461059F1D3B30F2858995656578A2618112F5 + +Count = 537 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = C84BB7B886C38B00D33C0AB3A4EF55AFB9FB60A98D49F228707FCBF05C24B4D5 + +Count = 538 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 8CD612D54B4B14F6A4D1A9147F5E4067A70FB57E01916EA7B986EA878B1C1BEA + +Count = 539 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 351B4065A927F14F3DF056C4D130F159844E249D7C24A13CEC0AE166202F7F3C + +Count = 540 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 7BEE2976B963CA47979DCCFE7B67904576E21A91124C85E2E61047B5E4189A8E + +Count = 541 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = D514A00A18E34D87E8F12366BB7ED131618DD0EC7BB65FF4FA83E264979A09A8 + +Count = 542 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 03C34CA73BF573A70CDFC61C9D95FA532CD317300A78FB0E2945524D88A3C67A + +Count = 543 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = A7084D8575AA365DAF160EB57A0539E1356C32C296081AE446EF9EA6891DE647 + +Count = 544 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 6A1414C9E469A5398C33533C8C2D17ECC3CDB872507F9B7E561CE63776ABE21D + +Count = 545 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 0D42D2EC61578E39C799C73F4253EFC23CC2E359D70C21DE4C8CB63CFAF5C935 + +Count = 546 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 3AC380DBF552E3423562185B6FF9CB95941A784861785600315A86EC055E1A37 + +Count = 547 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 8DF6CB6548B5DACEEA04C3B639A7C97643FFBD0451AA3BD7CC6A0355B601F03D + +Count = 548 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 28345ED0FB8D5A4633639EC2419AA819E755BEBA50A47BBD92C79D8E0B02E89A + +Count = 549 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 3B513A95601080F6FB0B16A9D25827D87CA269518EDA8688925D253FC6CF2FB1 + +Count = 550 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 21C0EDC3F3EBA78B5FB647FDA60B22ADAF99E7B146B24ECC05223F090CBFDCB7 + +Count = 551 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 30A84D5CEE712DBF423FA776FAE44284780D0EA843EA4A5DB9AE563F9361181B + +Count = 552 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 2B83211CFD7497AAA48FC7BC2B616E8357E95D41996F67A4B5EE8B3B56C85A47 + +Count = 553 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 787FE51C9413517DB162B306A1AD3F9B5D4DFDF0DE1B31D16F06DCEC01C3CB85 + +Count = 554 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = E066EEA8DAD728667F4A88B125FF7D8CA407B3080B46651F5FEC329E5C8510A0 + +Count = 555 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = DAA3DBEA04A0B6C2BE84A15083FF713301C0AA3573A848FF938D1EE7CF4EEFAF + +Count = 556 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 26C7B39197D77638FEF00F345FF156AB2AA46A0E17762F92630835AEAA57FBF8 + +Count = 557 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 687F040BB338EF630930F05FB18699604575236F3239CC8832BCC0CD6C8F2DAD + +Count = 558 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 049E7F9FFE70942A77A3BF9C580FD6883BA5986849FA20D6F1DA5F20591EA6B9 + +Count = 559 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 07A77F8D60C588272AE7E8A56AFF13830E804716296732D96E02235D627D1F4E + +Count = 560 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 042CDE128EF595FDC6783E3CBBCB427E26EEB4BD2164791CE0FB8B273B7ED216 + +Count = 561 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = DAAB88BC6FDCC95C7223EE9045ECF659F498B598597F116A0774DF2FB52B5761 + +Count = 562 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 00B9EB5CF879FA262FB08256AA9DC557B561D88B67A7645343D052419FCE379A + +Count = 563 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 87F6AEF7B080ACF0B1AFA053A87DBCB8B4A597FDAFA33B3B867FD96382722513 + +Count = 564 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 4D030ABAA1DFC713D132B668C35ED0A38F334E5F6EC3BC6328DF89AB92F84F85 + +Count = 565 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = ACF99B72D811DF47568D17EAE93E480D5937A69FAFD77FF0A336CE1E58F09BE3 + +Count = 566 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 03090F08E969FE57154A8DF131C089837F361591DFFB1F83E57ECC6927B4B66F + +Count = 567 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 01CDDC4ACEE3D16E0A08D80C495E0FAF379587A705DC7C73626E26A64A3CCA0A + +Count = 568 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = ECFEB94D56BB6CB74D8FBB188147614F21AC60D62F55CB980EFE72AA774DC206 + +Count = 569 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = BEA620FC8F42EF4992FE8346307E0D49DAAED1EBEB05FB07650828AE99B2D2D7 + +Count = 570 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = C878CACEEA7DD7FD08C18B74A6A1D325263E6D3AFE38CDE08563F9D706739E6C + +Count = 571 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 2890124872CFD6CA2E6E5120E58AF2F3E7FAB0E0ED7C81E04D9015FF32726B97 + +Count = 572 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 7747F1AF5833BBC2625F9559ED5785F40337F157AAA3B0B5014F6DE173C47BDC + +Count = 573 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 75563249F3C71CD6253D18F3C67642F400B312C918FE841692F512E958B69E2E + +Count = 574 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 82BDC0503A8BB36C0A8D18CB638B121FB7CE052AC4DE69CF8AE1B830768DCE91 + +Count = 575 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 692C17028E4B5D81D49FD24E2F355CBFE36F1F50D6B50E427750476111DB9F1B + +Count = 576 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 95E51393A3D1017C9E0C324C05CAA78F400BD9EF538BEFD97C3F2E780C979181 + +Count = 577 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 047A1D3329C746FC815C84F2D3DA6E5522542CD04F3204BAAB1FCC2B7A53BFC4 + +Count = 578 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 81FAD5B27089936C37209DD2D2A3B6B78AEAA8E0407E368FF28B10C3640B1FF9 + +Count = 579 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = E01C4F8A3E10E1BE9CDE3EE0DF53250CB37258FEB4C1B486949496DA38729A6C + +Count = 580 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 5F30BB39AA0BC33BA1A16397FA06186A82C89943FADFECC745F37DFE37428261 + +Count = 581 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 1B895EF52B4F47B638504AC65F453BD92BCCF9C9217A093EC1252C845AB4C490 + +Count = 582 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 315668634045E8B76024D8BF4AC17FF5B5B2F61FB70FD1A50E86F0247A5E7BE6 + +Count = 583 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 363F861AD06E3003E49C735B3ED4599EACAADC2620169411DA666950A6A9F0D6 + +Count = 584 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 752AF2D32B2F61A8970C8C448DD577392AF8272BD77C1A088C62012A4950B35F + +Count = 585 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = A532B6F4D1A4B9E125B956D7DC19C6B641FD4BAA65EC893BF593F03418441A96 + +Count = 586 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 07C65E8D456E0B17ED08195462C6BB8F63F43FED19F1C6A08ED2507CA3BA4C59 + +Count = 587 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = FC0C2A2A6EEF1ABC83DADCAA9526DE8EC5F906003BB7C61E5F853BCA75C264F0 + +Count = 588 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = D2AB21CB300DA39779FC0AF7BB449493AF879148FDDA735C11182C71104CE9E9 + +Count = 589 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 17A90ECFF5F82FA5ADE990DDFAA7212A4501444F885C561E1AEED59E550C71AA + +Count = 590 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 9CD26B6AD09A46DB780C90122A092021D7562D57DA88132A6B99577F2720366E + +Count = 591 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 14A896598403DFE34E24F14D8B4AA51FA84DCE9813A90AA122559129C0A190F3 + +Count = 592 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 76FBF8BF6292D71396BF6EAA95F9FC7C7149486A6A865454EAA26BE6A252C251 + +Count = 593 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = BF54A6453E235F39B94EAECAC214B48E85006BE5285F0D275EE1B0FC681FE47B + +Count = 594 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 1770222D5AFAD0F45F58B87206033DE118030AD2447AA10771C02FB200ECA44B + +Count = 595 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = A72314D65A1E2C278C4E078AA88B5F089E4F95298E7B687463CE906A642CF2D5 + +Count = 596 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 02802EE0B70B44E21FE4ABEF8F3965CF5C97E329917E7485F471F93CDD97C241 + +Count = 597 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 39E961AABBF7A557AC4BE84E508777533F8E66F3D390222657088FE06029D236 + +Count = 598 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = D25508D9534366EB62B525FFC02F3BB224195181657568A0A28E9CC12F24AC67 + +Count = 599 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = EA432B60A83B46D4D7DBC672B04917936461A0B3587DCC6A001EFAEE4A11A518 + +Count = 600 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 60F3BC45AF02F4BC1AD5C666854D91DA677DA68072015B0439D79556CD34D5D2 + +Count = 601 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 38D0453F648842074FECDA427D15D92FE07064FB6672013ABC5CA75DF960A815 + +Count = 602 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = C47082139DC197A286B2223F981FAF9152F41053D1884E62DA632AC21393B0BA + +Count = 603 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = FE827671C0E7AF90C5677A7708C6854A31373634D576EDBFA0ADDB0A02CC2D18 + +Count = 604 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = AE9F2E70CD4169B1E172A6B0DBA222545D223733BA71AEC9BE9115F49FF1AFD8 + +Count = 605 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = B2373C3C895B75062C8013DFF71D6725DA74119A0F2D133CC50BCEC47AB9104E + +Count = 606 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 99632B38C18F358A41A924794373100066EF6210BBF46BA92B9EABB3870A8FBD + +Count = 607 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 4133B21531ED287D6F626B8EE4942CCC561F0C054BE69B2EF798125531143D56 + +Count = 608 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 28E0C95FBF2121EAE2FE850096B81DF3AC7A3FE17ABA5B5BB362F331C70BCAE2 + +Count = 609 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = B0B134AE11CDA0C1B568E06855BC682CA2C4A1B6A957CBE1208D98E6983389F3 + +Count = 610 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 5435C38D0FCDE3890CB5620576CDEC190B8B0BBB4AF47C9D9FC572706BA30B14 + +Count = 611 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 01CDADAD34099D919C25102119C4DF14110112E6041BB02E6C26DDAE1D7DFEC3 + +Count = 612 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 5D9E1CA53DDE8F82B8087E53A9040D4FAD840EAA322E87F3F83AD53FE386D56F + +Count = 613 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = A35D3863C066404E799B7CDE13EFAB7BB082655A9C0538AC6FEBDF0ED1F0BDB3 + +Count = 614 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 87FD5D8C97AEF3B0AB1B77EA101B3CC4841E681D1CD673645830B7EE3E4D2D4F + +Count = 615 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 8FB01F3088C980D82F856BC2D326EF2AEA110CBB1ADEBAC17009ACC5A5A5D131 + +Count = 616 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 5B2AEBFD763234ABCE800FF6E618E149C2C54C1466EE4D2143566D2259D4EED6 + +Count = 617 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = BAE8F5E914E729AD1FEB55CE1BD5D6EF0C1216749ABCA7BC4A84198EE3B8254A + +Count = 618 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = A0619FAB1F1ABC59BD8F899DD3B784332C32598F06310F3E056512010ED1DDC8 + +Count = 619 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = A97E31C7E4B1E4C5424B09421EBB1AE0FC2B09407D6E91494A78B880C54FB578 + +Count = 620 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = D5A42A88EAFD27B9050A532D5D3610EBB1DCD14A571B75079D381CAE55E91E68 + +Count = 621 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = AC5F50934CFE15914CA81D4FE0E829BC8CBEC06858B6C91D5B434E632042387F + +Count = 622 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 7FBEE36EBAFAAEF2BEF371EE48165BDFB660BEA87ED816F1A54A41B84CA861CB + +Count = 623 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 095B987903F95687D2BA0147118698CD358441609453395358887C7E7C231CF2 + +Count = 624 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = D0AE88E95016033992991114697CB4E0C35EAD67DC0F1056E690E7F164265685 + +Count = 625 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 14CB353D5BE9184CF00ACF7174F46C7472523F51A3880226269591EF72A4452F + +Count = 626 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 960D23AA6C99DD47629A144359B8C19A010A62F251D610FBBD9DE27CF2D8154B + +Count = 627 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 0F7309D7CC42248F699B6FEBB1644A4A08DB62F2971A6E608D61DADEFD722D5D + +Count = 628 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 7D22E406F22A0F466EC19090BB580D8F86E21650DD2257FF107FB75F8BBCCFA2 + +Count = 629 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 2887F43E92EF6EFC5A22AF25E3A593BD6A0D73FB780B5AA7DCEBEAFDF13F91FD + +Count = 630 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 1169BA9A97D042D7A0CA048C0E42300CB7F8BE545D9F0C829CE1F4A79A4C9627 + +Count = 631 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 3AEE451F30C0DE20BF74C1B40BA23F907FB1820191057D4406490E05970A7FAD + +Count = 632 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = A2641CD1047D00287EBEB8B1594EF00557F0F4D4E51C441C2AB92C6C7A7A3B84 + +Count = 633 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 1177391ABAB8ECB290A2DDD889EF760562B5AF8D2336075EDA3454D1A8936A44 + +Count = 634 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 01882FE177A57C21C28450FFD2C57E09F56CF0634F706A490522A958393CE89A + +Count = 635 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 25D4B8AD3C23EA6EDA70B58E5E1E4F8CD67DAFA474290A6D4D69FA76D60D2281 + +Count = 636 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 4455E82A688A30F298A20B096965F300C247A8F8ADFE3D81A7BA068CE1DB1378 + +Count = 637 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = BC4D146477CC5283E82C327485C727D847427EBF0BF0AD49B61D341F115789B3 + +Count = 638 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = BE4CFCDFD4855DC3728AC94D319802940D6EC8389C917D90105C54DC84CF9853 + +Count = 639 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = B261A067B95F5BF4DFCCE2D5E11ECC1D97BD3C46DF27FD7287EDF2C399675E21 + +Count = 640 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = DE89978BF1E4847AD282CAE92A91D4679B5807003B46735DCDD311AA3075F93D + +Count = 641 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = C20EE9BEE3346A0B9594DE59F540B3E2290507B645E5CF7A53C80A3740093E78 + +Count = 642 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = E155D8A99850F45EB889F48AE419B4679B3CC1ADAE4F5656402D7404D11A80D1 + +Count = 643 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 257BAF6AEC2E67F158345FEDF89B022EBBB42005C3D2DA248A471CB50F667A6D + +Count = 644 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 6AF48F4FAC88797F453E245978AFDAA23DA4C3CBB2A0CF4DF2EF3809F5CECA09 + +Count = 645 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 7E4E53CF6F4F254D2765BF6076E5838006C43C9036BB0F2992A6386BE0EF19B9 + +Count = 646 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = B1DAE2413E0BD7970A62C38467BA0CBDB42830C81CF7630B7EFA31DA23BB83D7 + +Count = 647 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 3F2F98E160C425638EB84EBCE9E047A6811E2A4FB460EA07EF8507E8C32E7DB1 + +Count = 648 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 8CEC31CB533A6B5286E8800B624C4CF62A10B61BEE6B93EB65B22AC3237BD941 + +Count = 649 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 1BF3FDBD0264873369C56E09078241B9EC6A5A2B11F277F66C2E68E548EB6961 + +Count = 650 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = C736CE54519047CACB73575EFC14B06B6B822D074768A626DBAA5EECBE18C1A2 + +Count = 651 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = BCF442693F9F36A6400F495F0F35A3C3ADF9ECC3FCC80DD8F96D6DBE15F8774B + +Count = 652 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = AF315DF8DFAA7AAD0630FFE7699ED0001A18046A9DD0457387349CAEB232F57E + +Count = 653 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 14CE379F8C4FC4956F1710122E2F3F424263268A64BDAF2C65BC34B5EC6D7D21 + +Count = 654 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = AEDF1FDF00A739CC368CE56C6D4420E4069164CC2C0913C9C8CF693C2315E141 + +Count = 655 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 7E53144D79556D45495ED9C6DDFFBF2712EFF320200DED885D5AACA20D3FEB3D + +Count = 656 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = E17012F8BA0E165EB5FEAC2CD05B9080E31D15E173FD94BC65C9ED3DFF58C1C7 + +Count = 657 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = E8372D3FF4091A0ECD0F2E778617F2424D27C5CA89336AF228F0438B84BE9A5B + +Count = 658 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = BC0C41C19D7BD214BE458D18D2FAB457F3CD7667BFA69953A13878FC09370C52 + +Count = 659 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 998D56656988A4A13A92F01F3725165C249DD4F7B697C0CBD2FF2CE148A7820D + +Count = 660 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 9057F43C816B840E0177DFC87D0E05003511129CE2A446D525EC25C0F8C4EF6C + +Count = 661 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = DED671F44D612EA5DF6F6EE8DBDF37213F7DB19CF35E522F831E9B117B5A21EB + +Count = 662 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 11C6B9A66960DD59AB9CC23302518C9261F1125AA68E91C0647EE2B15E39EEE8 + +Count = 663 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 168D3ADC3309E3C02F6E7FB57567DA5F12052535971C733BA4A55330206C2E7F + +Count = 664 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 7D453CD7F7EED703710ACE0FB9F6EB2A556405F0238E229A697575984E99A99A + +Count = 665 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = A07E280466357371CE822439BD6CA714A5BDC9803AAAAD2827803415C939A2B8 + +Count = 666 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 8CD068DBA5FCA8036DA222AEADC576304909A1E734D5D6563ED0CA38453F3A8B + +Count = 667 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 7F54294B03DE1CA7EC844E6EEE4FC9A306893513B5CE6AF4A3EEF9F3A80B0118 + +Count = 668 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = D7A45976C2D9F2EC98E9B00FD011AE8C7A40FF054CE1C920C1B0D69758520F23 + +Count = 669 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 62BEA0EB2E36618246546801502015D3AC8A7E2DB83ADF43A1DD00B2AEEF82E6 + +Count = 670 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 47FC44BFCB662016200723CE353B62E91E394BA855764E3A4D70474B29650601 + +Count = 671 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 0A78A29F23FE48CBD27FA63537AF70C32F0D7DC0CE483F7FB7833BD5452E4E8E + +Count = 672 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 178D922211365D4B1E85CFF381E3AAA3328F664A5FE1613678DC3084636A3D3C + +Count = 673 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 778F77D4E7D279E736B8A391F71BAEF6BB715B8689045CE5C7F3390136983129 + +Count = 674 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = EDD974BB694D84B5D4167B344120476CD3257EA4177E067E688DEC283BFBF783 + +Count = 675 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = CFFAE736AAD847047BE1B000D145360D0635025099EF291B2D3F9812D34E4977 + +Count = 676 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 2CA6CBCF977AA1542D43CB17C78907F531FA7C5F6B935178A36399A35471C9EE + +Count = 677 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = C8C040F18E5569E1A79D4F8D0E78A807FA035CF77565A9128E9313D0632C7879 + +Count = 678 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = B36901373CE3F32019CAEFE6358DCF1F2B28611F9AEEF0084E480C030C802B32 + +Count = 679 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = D7FA936B9A9E306C2CD3026F077FE19A9E3075FDEF757716A9B6E1ABEA29D02D + +Count = 680 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 696296B3E8262505D5ACD996C87EE66714CD670057037290C78F9CA82D2ACBE6 + +Count = 681 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 62316357405516FDBB9D0A52C330157CE41E531AA43686F330987B225395011B + +Count = 682 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 652A30175017D7B955D652D388142F238D5448C49CC7977CDC974B23367052F6 + +Count = 683 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = E9A75CE2E4099D9657293BC3392313F367D4841D62DC311E4C2AAC7DAD694D9C + +Count = 684 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 8A80B909D4F88E930A50D241787ED97072924856DBD7AA119814F7A0E69D9DB4 + +Count = 685 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 2C19730E0315BA7EFA5B38B5329220FDFA86A53DE31B428BF47745A5A1BBA659 + +Count = 686 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 35C9B38105CFB5348FFB3B626901B8D33ED97B650850AFAEE8949E406898BA17 + +Count = 687 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = B6D8745B77473ED760796ECEB5A9DAA496D5B8EBFF2AE1E547154BBA3FDF8CB2 + +Count = 688 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 3BB8A2747A2528F65EAAB07118EEC33395ED9AEFAB87A57CA99AC5A6922A01C8 + +Count = 689 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 896D6F1E62689E7453F8871D5BF8184C68CFB5C47FB7A78B6B52DF74C28DE315 + +Count = 690 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 0C94DBF81FDF6714EA3B0ABDF5CBA462FDDC71350E125EC8CD5E3B031F974547 + +Count = 691 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 4E3B28EE8ACDF2BBB746ABD0E1760AAF6ABE3DB97171561AD29EBF11CC57B13E + +Count = 692 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = C2784C3C7F63402BE512F83BFEF44910B4D5BEED688FE302A6FEC9EBFA6A27E2 + +Count = 693 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 4AC0EF21E05E2ED90DE790DB25FDFA8567C81E603EB03165B9794D74CFE9CEE2 + +Count = 694 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = D273DC3A0323695A78B4FA5C61C97E0651FFB7274B724DA54893DA6F41B7DA53 + +Count = 695 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = EFCEC86705ECDF0DE7831CF3E3A16FBEC1A0CB0EB4B6FF0FADE6368AAA51F4C9 + +Count = 696 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = E69FC8710BC5B15AC022E56C455109FD8127139ED46CAF1CD1D60F5CE323ADA5 + +Count = 697 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 8A4B26C58E626CE0490597A33FA24B4A94346BE37B6F6F5127454DE8D4C0897D + +Count = 698 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = E0EFCC6AEE98541F7D4AE583EAC00891E6D55D70FC5360A89E647CEDB43128D2 + +Count = 699 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 9307E1E367998CBF34ABC514383B6A457F9D16958DF0BA4991CE16B6D49C682E + +Count = 700 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 40A2939A2AD2D47113D48F225F9BF27D82AC28DC4E43D617C51B917C6574697A + +Count = 701 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 1C53C5E972D56A70992257D8B59BF265CF461D117F74BAC37B4DA562C8F9F37F + +Count = 702 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 18FA7F69BEC0912EFD514A9E54EB2F4AF5274ACB338BA3A9B98E41A9E87BE219 + +Count = 703 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 0C0B40F59EC83FCC1A28CDAC762EA3DB50C98C8404C8D7BFB0D726916F0EC2FF + +Count = 704 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 6EB32D41FF1F11C7D4C00B829F7CC93DEFAC8CFE7865813C07335A5F0B8F4F6D + +Count = 705 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 8AB972CD1E9AE6B067D6154EB998AA8A41F749DDED88EE0453779FB2867C5638 + +Count = 706 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 23E3EA614C2CACC300CDE30F23CEB93949FD088EFA1A07A115A30DF35AC429A4 + +Count = 707 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 9A6324405ECDB0666892AE8A266A261DA2C5DD0B4B4D6276F0E98E85C28F5191 + +Count = 708 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 9829513AA1C6D5E391C288783901AC6590EF4B2961B61F62B8E33D74116B3EC5 + +Count = 709 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 0F45D75DBE803B4B0FF65D8AF03348116EC53B78BD5819EB876BE4F2F8083E87 + +Count = 710 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 741433AA97290E851FEB96A2EDB25EBA9F8D29771BF562A4E258BAEF18F2D7EF + +Count = 711 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 1F0EC7572A932607F4B8743DEC10F83DBDF0F3FF58F2818F0B90973C940BC003 + +Count = 712 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = C0A54CB97D8E8CE87AE858D3D5D421DABED0B7213DCF5706BDC5DE429CF4F592 + +Count = 713 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = CA452ECD9863A2C0DF2B913BB1C0964A72EC1618711C35285DADAE7BFAE77145 + +Count = 714 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 07EC08C772AD3C50D97084FD887C094465D00B89552710A24DA233C5D04A5524 + +Count = 715 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 04C1D56AA15306F4AF3B9ECB566F6F8ACD75BBA1EF0D3DF249D691C66F84C574 + +Count = 716 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 1E2F99A113188AE1AEBC9FC2B9EC460A61038565F3205993EA383133FD6BB650 + +Count = 717 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 186B61707B1D433868AB34A997F629EEFAC636A35EF5370E42BF2BD2E7908201 + +Count = 718 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 28C9119F3C2EAC76C9C2371175E12EA343CF0F7E0E7B132DB8103E8211246893 + +Count = 719 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = DEECAD30A1D022169C222C6FBD2346D216B0FB09E4837970FB6AB055BE8089EB + +Count = 720 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 8F38961DA0AE57AFD0850B2CBB12A841804A3839B753664A323AD3D7F7E7B6D7 + +Count = 721 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = D79805EDE25EBCF4D230D812D066DDB735A387209872228B84379A25109F06C5 + +Count = 722 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 02C9C7B8EA831CC2533C41F6E7A1E3E13D73AB5AD25CE24774FBF7ADB95ABCBD + +Count = 723 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 96904ADBD18DBABD22D041BAF06A2E5BBE7490E1282F9432BF216506819870F7 + +Count = 724 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = A956A2375E793A46FE4DF05AAFDDD8276F15510908B8F63955866B0259B0455F + +Count = 725 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = F6650AE0FC28AA28B694ECDA3908285E099429C27D982E607244C871040483DC + +Count = 726 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 28128D8354EF54BB1D438193A6C792308D1E9F2C04B1078B0C371FEED3C3BB5A + +Count = 727 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 6CF1409E8ABA886080D9D21ED426706094203EB577B9761FDC45A7F90F13091E + +Count = 728 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = B9735D26B99DFEDFE091100CD01243C46CA3A106E4753E82D44D7EEDDFE3939E + +Count = 729 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 31BD97DA88DA18338B06BE37D409EF32A87F4A226744AF6E7D920760A47F09BE + +Count = 730 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 3685123241602BBCB4C96300CB2DF82092D6F9040CE308333A91276F29C50718 + +Count = 731 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = D0F68ACEF217001B2040ADB635C2A2CD8C67C488172908F146CEAB806DFF42DC + +Count = 732 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 262201FCC42F68F023BFCD73FDC5E1007D1359FEEDF5F4867D96DB980492E802 + +Count = 733 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = DE2E3D6D022F7045CF13F9A5343C83803178202011E86DBCBE6C65CBCA307E29 + +Count = 734 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 5EFAA18082E059FF79C8E09047AD7107A1BA153607D67C4AE44B40DA8B57E14D + +Count = 735 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 1FD822E03976586A103D2D9CC74426E9F174EA31C0D8D2FA0CD8A22B31ED00BB + +Count = 736 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = F5ACC24C82A08541BEA754684E3C0E0C0E75F91D53E91CD2E7AA4D7103CCB030 + +Count = 737 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 34E4ECB1439B0C6D0CCD1545A80E5AA5297DEA925A93735D76269F6C6FC5F46B + +Count = 738 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 0784355206C2A78481126CA8FC1891100DA4B4277A1F0C0D2FBD3F153E549851 + +Count = 739 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = EA4625CFAFC3BD76F6EC55221BFA8FC68DC7BD6BE32F3288627811B1328C58A2 + +Count = 740 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = BD2DC59062664FB7AB86FA8A239FBE31692F99FAFB16F32F4C8843DD595A581C + +Count = 741 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = EDEEAAD4FF7D41F39BEEDF5475F21DE9C2B83E71708DCD760253D9698DBCBC87 + +Count = 742 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = BAE5A1D7D09BBD36FD7029F44473CE01B0775A3490A60C8ECE05B7E93DE06520 + +Count = 743 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 70BDCDB63E251A8B5A8BA4989EA0DCD7675769CA2E9EB00C233132D254F8F012 + +Count = 744 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 0072A9CA41E337FA3A3E7077205BD1F4D6A651A2D91922C577E969614610D66E + +Count = 745 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 627821C7EBE07179A9C7CE36464B568CFB5DE29ECE724FF9DFF21979E3E6A115 + +Count = 746 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 30AD78983CE367B5A0A2ADFFB49B70B837A638E770D5EB441E88727BCF94D7D7 + +Count = 747 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = A1D2B6186B4B78FA22F21300DA18C8FE18E6252245BC32B2EEE1F5F39C3A5F75 + +Count = 748 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 2360F5690909036879F6480C7BB940E849E064EFE844B4BCE791C8C745B51B77 + +Count = 749 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 94DBDA169D937B290803C3E205F6CE30C0816C80F43849F41B928A7B89F9396A + +Count = 750 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 6EBFE8BFFB7EAF2C1362AA2F0A25C217580882C0ED1B18325BD10F1254062424 + +Count = 751 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 0843A85D2BE1B1B34434B56CF1BEC22F05F7991F9450D16CFAE3D4104B1FFFAF + +Count = 752 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = C49A6A72412DA813A981344A532BFB51A0AA08127C77BA5B2323D4247B80284C + +Count = 753 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = D3D450D1911195A2A6F077BE98CE96280E8DED4E1A402832CF98BCA854F07EF2 + +Count = 754 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 56B1857A4A6D01A807CCDB164BE6F8432FD27D90457B7891F299B54FD31E1D7B + +Count = 755 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 96739F724C36672D985BE8067F2FE79801401F9DBF5594D541B32D2DB242567F + +Count = 756 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 0FA0877E7EA69F64DFFEDA452891F1A3ABD14E66AB2E08EA0B00939F352BE91A + +Count = 757 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 72B6D83494963F72820344EAD88382D7342E5631B405F7764618AF0427D556B9 + +Count = 758 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 977C671496B6995D91069C29651634E591A5BE10BC6915A70591AAFD0D623208 + +Count = 759 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 6830E2F70D2528A93B58B96054E798D02F9DAD1C2378920A4CC772D91B039D14 + +Count = 760 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 94B12B6E7B64788BDC687FD2459EDE581B7EFFAB85C5DF9D0A26D401050F0768 + +Count = 761 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 93F3F3D7F842E35141231F4F1082A651F3ED09224EB1EF124ECEFB01A64C724B + +Count = 762 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = AB4C2B8724845D30AC2657C25769922048520AD8A2F225045767006C0ABBAF49 + +Count = 763 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 135EFA098B532520A79CF1500A8A6FE5CB45E1C3FA78ABEA7020DC1451628E29 + +Count = 764 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 75930C5C348C9BCEB48D5E788EE8CCB1B681526703D78E97C983B67EA166BA80 + +Count = 765 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = D8DB51C7B0F2DFCCFA289AE673B1A305448F6DEE2E94D26258DE366841B818F6 + +Count = 766 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 77A63673EBDC3B5D216B6135117C23687C1799B34902223E8BF7D6143D2F4817 + +Count = 767 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = A5766C5EE6FC2BFF3379018C349EAD5B43BADFFF8C0ACE39B369A77CE9DF7966 + +Count = 768 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = DDB815D200EC14AE0CE215B9C3AA80DECEFC2E6E8DE10A8480193043C3A308CD + +Count = 769 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 884702AEC79C1CE8C83DB47E4680823A62939DCA1642F4FBF493AE09F5C27A52 + +Count = 770 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 5FCCBE85916FA65E9F520C3E6C7B182DA3E174EC00F6849A8A856317BEF12FFA + +Count = 771 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 8A4D3A7C0A08BECD059F3C989B9675EA327C1287958E8B6303686261E48DC238 + +Count = 772 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = C1A2E142D1C39EA46AD3A47399521CE15FCB9AD72840BECBFB5F188B9E956966 + +Count = 773 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = CC69D1B90F7270EC93737C8B9D2B62B4F6C09857EC01E3ACA4FB95E2AE7FE701 + +Count = 774 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = C84CED42B8C9F749A86E6FE91D1F8450F7F50DBD25ED3FADECCB9EF63EB39A47 + +Count = 775 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 104493209F1DFF53ACB3D28CA1855E39E61BB3E7BAFEF94C26EA3152FF109247 + +Count = 776 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 56ED533D6983B3AB1C9BA7789025FA227C02B8521B9FB9C728FB0F6935172EC8 + +Count = 777 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 1B76A2E8EE6E64BDF4C00B1DC55E150453AB7B79909FEB66A66C77721B9367F8 + +Count = 778 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 6A5182958993B0E5B92CBEA5B8BD44B97FE01CE47A6ACD49F0CA19D93EE2250F + +Count = 779 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 8F848696F3446A8F1E7811A0F146B583CB401E144409DB7F51A01D39E0CAB6D3 + +Count = 780 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 0CCF7D5AE1876A3E777FAE116D9444DB5C7462901CC0B366049262F26E9AA832 + +Count = 781 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = A97BA3B8A6C417877CC2850F8905F93CD0AC29758A5D09417F4CE81EF7D11B3D + +Count = 782 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = AF71FED782228A134C79A92E71376A2FEF168D168C8521002C552B5AABAB8050 + +Count = 783 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 8FADDF6029A78C53C813BB9053E713974B9D1B5AF13D63350A3AF4E6617AFD54 + +Count = 784 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 3D50DBFA170AEDCEA5B70FA0303D48310A661FCFBCB9134A461CC2F3CBF9A53E + +Count = 785 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = F48311CC051C6344E1736CC972695DB22D56284CB489679E6B4A8E10768F22CA + +Count = 786 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = F0560E1A5EA79F080123B2D4A2FD89D71542C400684C1FFB1A71CC0DB54A3CC7 + +Count = 787 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = 61F7540418D3169F62B98ED0BDA085C17894E5B95BFF689BC781FC3D41E8B534 + +Count = 788 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 34DEECB1A02039C5C47AA6C07F4C39E2A96FAD7B9D704FCF0B88FDA3FC896967 + +Count = 789 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = B5E8DA503BF2AF477384EA91D5BD0D57A9CBFEE001AC9B08416ECCDCA8883083 + +Count = 790 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 90AA872CA55373BAD5160762FD1C50A56B7EAC0512FA653A60852FC0D6C35080 + +Count = 791 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 6A78F5F07438376790A976C2F7557AAACAD8DEFABCE2C1477453550C44B88373 + +Count = 792 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 9B864C512B2DB659AEF8C07092A0D12A201B7F0197089445AA94E2EFB07F911E + +Count = 793 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 8CB5AB9A6BAAB31DAB86C46EDBCFCC800CB74555C15AD3CB61338154A4055ED4 + +Count = 794 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 1568845EF4A9A7432BBF56DE4CBDB051C62571925B633A4FDFB98E47356354F2 + +Count = 795 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = D21E34F081C80460324E1A912B19CD927716B56C67576845EAB3FBC087FE3306 + +Count = 796 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 8187DEDA9F23D059BD75E8BB64A9E227D5FA66CC9AE8DDCDFE47810859BBB05E + +Count = 797 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 684BC14744AC39D2F506F11B0729E2B9DA13391E9BE648E6F29C7376AD0F33AB + +Count = 798 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 57AA386F7CEC18C58ED8899FD0FEF43BA0509B3E5DC07714BFA68D4FCFCF6514 + +Count = 799 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 171F94BCEB391D2BE8972F6FF3D7DFB3F8DFC196C4FF94428CEBA1E142F6C8B1 + +Count = 800 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 1A78748828C9728CB64EBDD444931B0EBB442A33DCCA9871F7BAC868B5AA3648 + +Count = 801 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 826C94396A6CC211FCEA0A9315F4036F10C38CE3B9B976304C62D4CFCDDD3718 + +Count = 802 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 01AC4C1FD93F60043ADACEA16DF19DED9F27DE3EA5A403FAC90E041DC839609E + +Count = 803 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = D767E79A65BFDC2CB0D19C2843FC4BAC3C46F804AFC46AC7959A4E4D84D20766 + +Count = 804 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 6B0C89ECB8AFA989959E9DC4C8DAC504E87480669DAC6923AD8A19C6607AC69A + +Count = 805 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 78EE536E1EFA2B90B9534FD176A6229741C74B8603A6D89020808FFAA8DEA95C + +Count = 806 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = C7E6BD13AE93328D4A05E4DA4367F8012C36446624BB3D1CC1668DF81A31BACB + +Count = 807 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = ACEB65F89ADBA683514E908FD26EA6DE2606CCE355A4937267567B90F0315300 + +Count = 808 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = A3454FDBE773AB614FA4C6E057AAE3270B78940B0B6E3CD49825DDC7BAFFB3DF + +Count = 809 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = EB0C4C906D585533D3936AD620447F3ED35D187275B8D948B44532CBA51B7934 + +Count = 810 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = CD2A53369AB22C8D5E9033EAB848F58A3B03E8BFFAEEA0913CC79A454DE40EF6 + +Count = 811 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 81724ABBF73CCF843D7C65DA3CD57E8DEAA5E8E318C496018C3958A381D2C6BA + +Count = 812 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = BCFD5AD35C4C34B7374CD0341746A1A3DD2B4A334CC59B9A88C2EA866D5ED038 + +Count = 813 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 2ADAC8317773B2E4755984700CF8B2B8A36334769868A7D54B66F81246900498 + +Count = 814 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 9F572E13D42F83D76E944DE8314E7D891927E0D02C31360804DDBB19C6B8D470 + +Count = 815 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 413AE39F6DEE4B5C93793119BCDD186575557A5160C346B582A22A6F20F07742 + +Count = 816 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 7FA10C085F0E74E6D5A97F31AF7CF92C2D5B537DDB637078C6F6196A30064649 + +Count = 817 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = D144A956EF2BCFCB9A13FF390DAEB2CA8096A7B9FBCF2CC3E357E650B263A13C + +Count = 818 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 3701BE6CC964FDA5D19422E4E5E959541A72C817276AEC5BF1EB6B9267D12B49 + +Count = 819 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = D07690E585C3DBFEACEB9BA87C85932CD0D3F08DDE16B04128FF00EBA13CB828 + +Count = 820 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 41B88DFEAB227E98787A6A7CFD82BF3090C6DD0BA40DB1771D4204FF9FE97989 + +Count = 821 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 308C3A297E9E1E302619BD22BE5FBD5CBAA38E0C2E572EFE3C54992CBC6DB72E + +Count = 822 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = A4BA8BFC1EABE1663D26F2D81E09EFA4FCF743F3F25553048F3982788EF3197F + +Count = 823 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = ABBABCEE90A29ECF7229B81DEDF50B2740B849488DE7487047D1065CB46E2562 + +Count = 824 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 5FC104CC8E3DE4A7427EDDE857D5C2112DAC9EFAEAC43A398BACCFA5DECE2577 + +Count = 825 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = A28D49329DCFD3E6FBC97D11257B0F8A4497B58B5F9D888A43F0EBC9AA8F0D34 + +Count = 826 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 698308AF80C9B0BF66CB2CD55635B6627CB53C85F10D14BE3FA647D3DA3240B8 + +Count = 827 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = FE1CDFFBBE3BAA8A1E4D066542DAC3AF48C4075809C2BC3C925CA2E70066A2F0 + +Count = 828 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 098ED9ACBB041535A67E744D504D704701F4BCB2D97D5FF9BEC66A6BA7FE86A5 + +Count = 829 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = CB09960C3020011911113A9A4A7C84031A384ABAE9E89F103943DD09FE82061C + +Count = 830 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = A91C688385493D960B97BD8F81E8673D38BB5F2C282E3368B26B774F8A76DB44 + +Count = 831 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = C5A3477BCC272F59CE0630C085200B597477E76D0104B9BC868D53A52A98E8FC + +Count = 832 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 84706C1778D4834B31D38578C9AAF191B7771EC1D0CC300C0545C2E6C777AB50 + +Count = 833 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = CC1C74E1AE872E061DF9858A989D56BFCF38B77E5971606D2CE7F51EE57858E2 + +Count = 834 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 1F7495B9139A5044ABD951B8740E66F75313D0CCF4AB6258B590EBD743E58054 + +Count = 835 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 110033A036755FA7B5CAD50F5D50C44BD9938AE2BED317BC0134C1D1030EFB60 + +Count = 836 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 4B08F3CB57463CD762BFC06B341CD799213C1635FAEEF51A6A13338A03B24DD3 + +Count = 837 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 5032FB730CACF8BD8F9A0AB3EB64112C162B41296D5D1B4DB73F8F041500112F + +Count = 838 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = D0214BF41273DF46ACAB618678B05FDE0BA4293BC9DB8BCF082A4334F2B0CFB3 + +Count = 839 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = B68B0396AC492F4138F0B4824FA4CEF35AACA0A21E970774063412EE9BC1519F + +Count = 840 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 07BF2B6058F68F2593FFD2D74B615FE99B9DEA444CFD751C12E56679D4447887 + +Count = 841 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = BA3B4A3D42FA751452C3B2B383F94AF688F9418DBA1B32711F845D0B5D255E46 + +Count = 842 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = C1CB22730251BACB5E98C3904B945F34027ECEA7E25E66A390DD348844653790 + +Count = 843 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 4E1F86D805E8E5115E1923A6D637EA9F031AFBF13164CDB3D70ED87B0AE06DD3 + +Count = 844 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = DC4B984CF048234188CD55C1543A07EBF00EF413F9DB1551B74E04D97103BCEA + +Count = 845 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = EF8F9BCD710FD695391FD15DCB7F5F55230C015E3BD3BEAEE50FB498C04DBE7B + +Count = 846 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 5720FE164465CBD681AC88D6078BB230F080846401DED4DACA76590A3A6CE4CA + +Count = 847 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 279ACE541926900D1C9A554D2A3952E39A20BA4D64B6557A030285A7BEB4F045 + +Count = 848 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 74B6285D02BB76C276E40E70D9EC7EF9C2779F2439E0F2C9397591F64FC300BC + +Count = 849 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 1D39BFBB6C5B393388CDA772FEEFF165D41C403991F17D25FCD8D0C313E743EC + +Count = 850 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = EDD5240107426E08BEE26995A6CA4C8BF96C43E4BCF6E9F7304DC45C3DC77E17 + +Count = 851 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 1CA252A9654FD2D801DBC2E93A60736898973A7CBB04EE2E5C99521A79DF9FD2 + +Count = 852 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 3F55C38971207A3986F55ECD1B1221C115F3992C346F0D06ECBFB9DE196725E5 + +Count = 853 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = EA05BAC4DD1731CCC7507D4B90C82C343AF03DEEAAD70190877F4C2C6F7DBE41 + +Count = 854 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 533C44782A670686567548DAE6A6362637D76739B0FA402F72C8E591CA8E4009 + +Count = 855 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 5668C8BF751161D7BE5F6D81A6306A2C5536A30C500B6B0F383D209B15CF1DFF + +Count = 856 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 150B6F29331B40D0C6AAA7F0BE9804AA80D6144201EF51D08261A1AC6E179F5E + +Count = 857 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = C7077122B976D45A0D1DFF42908C346DCF5C4008827475A352BD3748C868F34C + +Count = 858 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 6DC7F97C10366B25C1990AEFB55F1192A5868B39E8569C8151413F5B1D249A52 + +Count = 859 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 830B976F24F7145FE30437857CC4DEE5AF9D38E53BBBB5F008D23DE1DABF1B0F + +Count = 860 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = E6A50D8D26B35C6041D1F80EABE9F29A6C7EAA9E312B50DDB10CD28A5128E056 + +Count = 861 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = 459E9CE6632BFD5D5F1A916134729067E3C0F498C7E0A62A8F48F519FCC3BDF2 + +Count = 862 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 6C6548B5356251A28FD64A958B1F2780D919EB903236F0F2B08703BD8C6F069B + +Count = 863 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = EED24AB55781AE00042D09B61F6DFE0B949B444CB9469DB699AC4BBBAF4C04D2 + +Count = 864 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 9AE3A23B0EE69CF2997F29E4A7DB446AD648779B9FB749588FC456744CCDF5BF + +Count = 865 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 34ECAC01DE082F7BA0C48DB10E1DFF29A9153200BEC20195C5F835DEA028FD19 + +Count = 866 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 7B0E413B86B0634604E1F001F991AE44C3F5D6179F187C6BADC5E255B9B6C43A + +Count = 867 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 525B67A6C9AC1B131F606D5932FDFFB7B184A6EB0D3F28A946096BD894E041FA + +Count = 868 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 705064CC3C337898BA719EAAD489EB7BA07FCC5A8D111069392B53B3B4367A9F + +Count = 869 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 2367DDD59D519E9EDDBE513FD410242EF1E93C80EA568A2E10F648123403E552 + +Count = 870 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 1D98BE93ABF15CA125CD0D53FEDE2DAFF5A38F6648D01CDE3089315CA123689C + +Count = 871 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 1111C156BA653CEC89618629DDA26722B6D37BED43A0202DC90BB93D65FF93A1 + +Count = 872 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = C8DFF74C6390D6B85B06E5EE3120B42496A4D49E6B687BE60DE98CD85AD0D2FF + +Count = 873 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = EFEAA7EFACA1425F5B56F791D4061663AB79DF2E1A7FAE64FF522895A86E5C4A + +Count = 874 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = D558F9573DD843D6C13783734593C1F626CC5C1D765AB6A0796176D80CEC154C + +Count = 875 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 8675C52CE2BFCF20C21B876A5F7D39B57DD9C7619824FCC2878061B4B6F98697 + +Count = 876 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = FA856F3167B99412FE40BFEF3E8554AC2BAF71173B40FA7FA8F6960D368B4406 + +Count = 877 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 87F870A5150F00736424BCA79A1296582E47B3FAB2A4BBEE2A6C833D57EEB67E + +Count = 878 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 79D189775F7276EF40CA7E95EFA4E9D9367B7DFD832E076B988C9D936C592650 + +Count = 879 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = ACB1E9829706AD2D8A5A26BB84077122F35C5D5AD4ADAFB7E41EEB032801C8ED + +Count = 880 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 281F6B6A2FED55988A010E91EEB278B31E610A51BB27EA619A249E69EE660266 + +Count = 881 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 4BA2EB5535702DB748E5E59571B9506693EEAF632EA2B3173FB8CA0AE11AEE46 + +Count = 882 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = F83BE07ADE26FD56763FD834D9DD842AB52AC8BB4598763C3026A710401380E3 + +Count = 883 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 545CDC7520A24ACF657E6F1CCC155192407A3A5A8C982CA075DE83D2915E14E6 + +Count = 884 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 5763E3D1830F6104AD1233CAA79722EC195052E7783C36CD10A3C69C2488EEB4 + +Count = 885 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = C2B27ECD5B6B3BB9F4EA1FE950AFC581C824E4C118243A528E1D8120F95ECF4F + +Count = 886 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 4922929D167CBC2D4690BB3949E2261C079744779A78F8B92CA01A07F6ADE442 + +Count = 887 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 587F45D6AA21BD9F102BE9C6D29227386173156D9459E32EFB5237AA64976710 + +Count = 888 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 13964837A0A04D6EB110BC317EEB9C6576D277E3A2B9F85C80C1149057BDEE27 + +Count = 889 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = BD64601F5ED8E3434C102066448B95CDE93AB6ECB632C03C1684C46AD305B38E + +Count = 890 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 2DBA8337F529299177FE5B51EB9FCB4FFEA1BCC4C3F05AB10A8E169EB121E37C + +Count = 891 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 0FB7CC666212F1620DF4C9CAF2C400DE837B2ABAC73A98EA5BBA7499C3509469 + +Count = 892 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 72A11BDD48809BE215176648C3E4BCE5BB0A8B4C12873DB3395A79C766C2CA6F + +Count = 893 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 36A275A7A98107A243BE28280CE0817D9557B0452E636C3CA73A4B6212F25588 + +Count = 894 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = DFE812FA1D2AEEF92085070F32FBEBE03F32E8CF82D67ABDE06CE9ACABEF575D + +Count = 895 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = A00875FCC4174572E839C956B7B8DF39117F0EFE65C90DB70E780F5A54F564A2 + +Count = 896 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = F90BB9A0A1700D74E98957FF8B3BB349F1F92F464216FBAD2446D2EB38B714CF + +Count = 897 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = BB08401A4170919F784CF6D6301A1D686E782C355643EB1970CB0ECBE5D70DA0 + +Count = 898 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = D6804E163A4D0CB01B859D01090641924BB89FBA2E0E6E88DC1079A6ACC8A211 + +Count = 899 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = F6B384488E538E2F363DC7EA0E6B1667BAA4D8F2FDD3DB9D68423E6E546BD172 + +Count = 900 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 8D35B63C2808594AB49AE5E8DDF57AB9DCD4F131A7ABFDA8BE39C6DA23B166E0 + +Count = 901 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = D2515477BF90940DCD1AD6857A676C7BFCE6D8B0EB30C5F96D7D12CEA9D73196 + +Count = 902 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 6DA4CD335A790B8F7A4649817AAAE0D377F257FFAAB18358DBFF844DD1147D57 + +Count = 903 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = ED7FAA87C4BA3E13B8E01DBC456BC7631F20D8F20A5F233F6231C1816995EA12 + +Count = 904 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 02713EADE40035ECA2CE7416566FAB0715F33769245548936CFB2DC570E09A90 + +Count = 905 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 9C3CB878A8224B70145E11A0BDB4FD6322A0F33F63A9D85F5216727E789E5CB5 + +Count = 906 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 8B8E98945E327A7177BA2930CE496ACF58166A4461607EAF39F4263F7CBC956B + +Count = 907 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 87E94553D4D5A50923F6FD9598DCA331B21A5D6737E9483AC35E3F57DA5A000C + +Count = 908 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 9EF5B499D6B7D449D067928C8C2B66808811F180F90B17CCC5433D7A9DAED07C + +Count = 909 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = BEFFDCE959C4EFAFB1151AE4F989616AC397CCFE850FA3C85AA716D03CD4E8C5 + +Count = 910 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 5063A0DF102B4A192D35BD72EF0FA07D6EA23C6CF09C33A45883D66362548076 + +Count = 911 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 43ED975E0DCB45E22731B4ED8A5270F6D07F326AC145DF8B280752A9780333EB + +Count = 912 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 2E996B19FA7161FFD118276485C016819AECF205ED3B392BA211B6D3B8E98492 + +Count = 913 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 9F727649D71560D290077E1F4A7D643ADFB16250489D60F3EED1D3F544001EF6 + +Count = 914 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 49D1EB0F9C29AA1C4366EE79067F76CC3CD6AA4BA38BF28BC095C1E788C0F227 + +Count = 915 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 85D8A50FF5AACCC97D7601628222E1194287355FD88C88E7F6B0EB2C3D352CED + +Count = 916 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 52276AF6FA02F9B743841167EFC0E3E8856520C205B6B3B9EF0F666698028686 + +Count = 917 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 82F25931CF910A76F0D1A80F4E22C9F900C0C62A81389E534FA25885AAF04F4C + +Count = 918 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 4A317E089DF12D5549A546819C816FEF140E3975692170F1B5261C3E19DB8689 + +Count = 919 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = B79EE1A09F8E218E15D768FDEB1CECF8DECB5A4068633579B61CF0EE1E021AC7 + +Count = 920 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 390901F69B951D6068425E99AD753D80CD23D5701D5740CE5342E66B72FAB550 + +Count = 921 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 565A07F2E5CD80E433432DB38CF586612495993DAC84263F9D878774E54E41A6 + +Count = 922 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = C66826C76B1A50A6D0CDBE8138FE434808EA761188CE539E71C920AB91EEBB02 + +Count = 923 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 603531B55CCD6B2136E5DD40A3D4A24236535A1EF18CB7C5F30BFCEB996EFBA2 + +Count = 924 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = F5D19B051BC35B76711571EF77DEC74631E5D636E2DC2BA4436813D4DDD2D3BE + +Count = 925 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 6DF7C41B8F38ABD68565F9A25F5CF91FB64C6CFD89CC4209BE9066B2336BD9BD + +Count = 926 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 791AC96C22B98C5D1F35CE22FA180B5F2B2CD107A6A0C2EE87C1CC9F3805553F + +Count = 927 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = A027D9039BB60B7D11737B62D644816D1772E966209A641D014DAAB231073C17 + +Count = 928 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = C668FB63F28C3BFDEF35CBE682DAD25E12B32E6200F516E1DEF127A4E98A41B0 + +Count = 929 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = C8D055A617DA106795199CCCFDEACB8B610A98DF51379F124FCA7345CA34EF3D + +Count = 930 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = AEB45C40FB5D6743A506DAB357B03C03CB77AD072ECA420EF0D497B33DAAA5EC + +Count = 931 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 980500CE371F716B8B0D51482339AB3F17403D36DA4FD898D4BE732058D8F83B + +Count = 932 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = DA0127EC0A7277F99314FD374D42A4F06E0C9151FED5995A108F54A27FEE0D1A + +Count = 933 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 1954F605A953BF2C9E4FF514E078396BC7741D297230FBAF7C2AA6F8F8D66D3E + +Count = 934 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 7C11F34342D8BB7832477347D31BC66BE0AF1D9B5A7BB7FB13012E215351738A + +Count = 935 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = C45389496B2D45254B453F4DA7AF38FBB63D9216F2EA0D34D4C249C53E8B6480 + +Count = 936 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 503870B470CEB0675ECAC480902879BFEDBE1269B58C9085082C76628EEBF136 + +Count = 937 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 0CFFDDDB11D2CCE659CD499CE24F89E4DC946F03FC89D6DDBBD066521909985F + +Count = 938 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = EC51A5B7875EF48DA7E7B94D592BEA57F44DDD0E65D6563EDA429A78FF9C105A + +Count = 939 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 25B433FD711E0BEDC672F0345D058E78499F17C1A1B0A0246B691E1EC8E913E2 + +Count = 940 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 1607EBF1F754F2EBA3D4F262CBA40F500E91E882C0566D03EFFDFC96F6270F96 + +Count = 941 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 524CE22A65065254208A54CB29DD5B3807E60D99BD2FAB22625CDB48C622FC30 + +Count = 942 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = EA7AF6D6961C27BD6120E35152AE3EFF890075C6F9E3986AE32B000E184ABCD4 + +Count = 943 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = B3828D958127D9EF497E34392221647B5FD1F20BDEC285E9AAD83CED6DB7E4A8 + +Count = 944 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 7A813C52D0DAF87981AE44A664BF2F37EC367542CBEE1627C4A3880618BA3C39 + +Count = 945 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = D4BDDEFE083D475DC8F6C11AD870303DF100C1584D3BADB2C85F9D329F5E9C2F + +Count = 946 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 5050ACD6480A52837AFD8DE832B3D13B24CD2FB4761451DF83474787D5783AF8 + +Count = 947 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 73604C404A7F07F76B2E04D58A42FAB9D484FDDFE23AA8854B47A01FD89BB4DB + +Count = 948 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = B8CCF2B5A8F1AB634C74848290104CC5EA481D914FAEB6DE8301D3BDF0D0DB41 + +Count = 949 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 2D7F521A55C78A145E9A5384E3B29C9AF94C9CCA858967776B4A5A7DD2E936FA + +Count = 950 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = D997F89025F3F789EE7B27CF488851BD693DACE4E16B98DCEFEC7ED39C2E783A + +Count = 951 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 5A2BB73947AF0E88923A35B4307843EA70E64AE207D17AD4609020CECA0FFC36 + +Count = 952 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 8FEFBB4F4BAA9136BDC10F2382B434FBAE0BE83F299AE17A36ECC61BF951B182 + +Count = 953 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 8ACAA2FE8D8F36F52AB8EF2C5AB0EC25EA965EC099A2D3DF33F80CB2830F5144 + +Count = 954 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = F61BC8150E44F537A26A77CC29CA6E5656B5D58E46087CE985020954D49A4549 + +Count = 955 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = C754F2BF55534831633F51268757B6BB8B7BF176E99D2B21A7815C6B0D80377A + +Count = 956 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = A2C6EF2B8B7C8054F2AEAA7A911DF1B4B41C4A2B30401AE1AEEA971FB2E24A9D + +Count = 957 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 8913C00BE33BAA2CE35422215C4838E75896803B3B8569B2C389C58EA37F4D50 + +Count = 958 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 4623BE1D7B00A9D3EFB8E93EF32C93CF90F1736C6AD69432270BCC867D195E4A + +Count = 959 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 1E6746E0F3D06CB04EF197E3331BD7B2EF11C8EB145EDABD874AA9C532B43981 + +Count = 960 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = E85C48E917A2205E8F6D965980252F2001DFDD118B5AF1BE3ED430D27F6E602B + +Count = 961 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 53AF8D5FF406ADF68E9423E937127BF8A94ED96857AE259133B296DCDA642CAD + +Count = 962 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 71257FC518A7F281F5410CC9176EF9BEDB9765FC8667D21AC9B322BE0FAB7CE9 + +Count = 963 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 138BE6D3CA55BBAD47952D74F9AADF1839D642ADE0CBCC8B3E1C2A12E89E96C0 + +Count = 964 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 2E698F87C5E65B799117E267CBBFD216E5D78731870B4D94BD044A4ED59F4057 + +Count = 965 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 9EA8560ACF946484BF8E96B443EC65D662B603A5502E749B94DE44F5BA736A73 + +Count = 966 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 878F458A76D55A1DCFB6378F2698D4213A878F0F562B2A8C79AD598499CC2E89 + +Count = 967 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = CBFEBC0A7B0017EA1337B61AAB5CC5400899710AD1D51CBFDBA657068B61079F + +Count = 968 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 288B435CBE8B3AC180328876EFCD699A910256E8AC54235427BEC00B2E8AD17D + +Count = 969 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = A9B953C18159196D68FE302A88EFE006CEA4CF164575029A8AE59A72278D3992 + +Count = 970 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 2E0D2AA9860E679B63CDBEFC7652E0E1F0158272BD394B5B5420CE3DFA47CFB1 + +Count = 971 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 889724C5129E6EAB9EA4D4B9DC0BA754768850DABBE14830E7121BBFC083844A + +Count = 972 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 521FA63168808EBD0D3545B0293F068E726E719C97530C918D3EF01934F3B7BF + +Count = 973 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = EE986A4776E87513037EF9E39F5FD00B0659614B7DACE3EF3CF5EFF395B3A49D + +Count = 974 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 59090615E7440733B3F5931583BD760E2B926796CA3D07CE3E6C315224B57146 + +Count = 975 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 9D13BA51BEA6831ECF1FDF4CA0BFD00E26FE627E64AB61A5A6B75CE62DE756A6 + +Count = 976 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = E9CDF4B76674DD9E586A607B95E9161AD0F64C05CE4840DA80043B61307D7BE6 + +Count = 977 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = BDC9C626DD04AB6C2BD7F91F685F4A511A5509C18784B1A9179F12EFE25564BD + +Count = 978 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 903AD1280CF076ED7BE4570851DF1EC1A57B154AB2EEE72101DCAD055B514AE8 + +Count = 979 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = D7BA53E580CFD674C5CACA45075D0FEA5DBFD7CF6FCFE81E9A9CA882A5557520 + +Count = 980 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 014C8BFE03CB48F6D9F4889E329393B0C7934C2061522B8CADFCF561A28B23BB + +Count = 981 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 9031E9F81FF705A906E46F10644F628C1C1F0F7E5A8CFAFE3F9C737F07081D55 + +Count = 982 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 82238B94718D97F5CF56D839F74E5BA01AFB53AF670737D8C1C54B914ED39445 + +Count = 983 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = FB43E955592509E316351F37007B2ED8A287F642B360FBB2B9CD5D2B28C4B02F + +Count = 984 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = E0A935276D58BDFD9E14853429498786E3E6C445AA53C14697097D4AE318F91E + +Count = 985 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 0565B9C20467987BAD85BF726AE8AD3840B109F72E16C694AA2E238234A1D743 + +Count = 986 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 19A386C47F6395E844D1F11B8B1A14FB2DF336F0205F2952547F5946CBF429CE + +Count = 987 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 8A7ECE3B3D4F61C1802F454B9A64C936E50FC39E82A9A448110320A3CAF68026 + +Count = 988 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 4F8C8AD0593E49618970180CED9B39DD7ACD1AD27A0964CDB93EC83E4255D485 + +Count = 989 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 179B7ABDE9CA1FDE05D1132C2A70515F4CC2D05A852C988B7ABA64B1A4E2608C + +Count = 990 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 56B1A23B11E8CA6923CF37FA245ACD9C6890F1CB1DADDBCCAB5F143B23E7BC92 + +Count = 991 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 5C0DEE63C40143344DCF6D92B69B5D7BCB9B14A9E192F15A90413DE00A21AECF + +Count = 992 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = B42060F6DCF5FE986FA062911868BBA419A03A4EAA9089B4B7CB74155EDE56B0 + +Count = 993 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 4E464FF56A589B440F337C00F7B44EAED4A2D2A77DA50A43DF010B492C3D8CE4 + +Count = 994 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 81CE17BDB59F0E9C7C6D229A2CE490BFE203637C35B38000BAF4E1D2B6DFC5D6 + +Count = 995 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 242992D2E0297D0FACEFF4C75E0D04888BC26BDDC62D263D684CE5C5789792AD + +Count = 996 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 7F9B7D8E8F6F2E880612D71C80AC2CA87EF25045697798FB62A0B7E2AF7E4164 + +Count = 997 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = F118F2C906D898598DA84406411683BF04A55AEE2C5350118E8E3BA04BAA6849 + +Count = 998 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 9E5F0CFBD28D9F604F7384287918C400405CFBB20D5E4EA84886440E305B7F92 + +Count = 999 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 99EB5539D70FB9947BD5B352611A41AFD9A96F18D5B4AEC5CF24EDEA580BF045 + +Count = 1000 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 99D2319894B26F1792AAD7552359DF80C73F51361962A67F6BDA3B037952F79D + +Count = 1001 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 2327F3FCA1189C8B1C84FAB593EFDE659AA2F159063B5F5AB807B06516017BAE + +Count = 1002 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = FA5FAD2C0A88946DA15D9BF4AB0F2E3965801965F0A740D80D65C9E0ED54B9B8 + +Count = 1003 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = 6D5C0CF0C49518B2EBBFBA17D006C01006C5BB80D8526C8220EFAF12D163D4E8 + +Count = 1004 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 8A0FB243A02B7E91ECC665830CA9255B109A7C23F4630885F906D08079223B63 + +Count = 1005 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 77B6B236BE7ED4CD7998208946102471C17AA67D64DA1DF556FB530C0BC41886 + +Count = 1006 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 7B50352F30C6D7D074DBFD5E966C2B1B25CDE68686CC904381A035ACC3F5E0B6 + +Count = 1007 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 4A0292452AD31F650E6499F326F5CA63331F2858851831E8A17B2926F8E30B56 + +Count = 1008 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 2F3902B805C9BB7128CC576A01E37A1D7472C073488FE535A4CC8A19B2F6F032 + +Count = 1009 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 93D3ADBED78A4C58DF2D852CFCE9AFB8279B4948553B8F16572DAAE45DDAF90A + +Count = 1010 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 90CB31218D50C85A5A609C9EDBFF767FD6A24CD7BC63C51D7DBEF3D4AAD74C85 + +Count = 1011 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 4A0740AD2083B937C880BB5143F6D449672612292997DCD5B74C461671E5A7EC + +Count = 1012 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 20E8EEB0B5F84E4854C8EEE66CF2A361C81F0FBACE5BDCD87A8469096D747407 + +Count = 1013 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 08A00A93928A9B1174CBE6E16E16C88F2329E9822CBC3C9D6E39F9BAF42CA34A + +Count = 1014 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = F2D1761EF30E6EAF033A95CD5E0815A984D0FC562050F5E164A564739899A810 + +Count = 1015 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 8FECBB5A3E15F550B14E87AA93DFDBEF16AA6303487D7033E9D08CC8FA4E8CD7 + +Count = 1016 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 5F2FB3E45FE9452DB880C9BF5AF19F313B1F0BCB19D6726556C6D17DEF842C54 + +Count = 1017 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 61D782AB6EAF566646A155381100DC296077DEFB1D10EA90DE4A668DB1D4D241 + +Count = 1018 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 9376A203BDF8C9CF046221809EA14FD00E9E6E55558179227193448C3D055CF2 + +Count = 1019 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = FB33141F10379405DB7AA3758B4405EFD4EFDD30E51D0E330E007FAEA10E448F + +Count = 1020 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 6BBEF390B6372785C974D7D2A9B9579A726ADEAF1C4760346FE87CAC57B45663 + +Count = 1021 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 919054EB656368C643EF172C618277FB52E93EB7A00C943B17ECC7D499C4A97F + +Count = 1022 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 1A571B5CB89FA31AE29A85898EC8B628ADAE23B41FE293F163300BB531C5F5ED + +Count = 1023 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 091CF0062AAA25178FAA01013794DFB4FD9D506BD971668A96A7B4C5FCD31066 + +Count = 1024 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 7814C76C9F3A848DA8BB6A2EA8BDE50F1C0EA81F117248E0F0EC3D32FF923457 + +Count = 1025 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 2EB89744DE7F9A6F47D53DB756BB2F67B127DA96762A1C47A5D7BFC1F7273F5C + diff --git a/ascon-hash/tests/data/asconhasha.txt b/ascon-hash/tests/data/asconhasha.txt new file mode 100644 index 000000000..6e3b15f2e --- /dev/null +++ b/ascon-hash/tests/data/asconhasha.txt @@ -0,0 +1,4100 @@ +Count = 1 +Msg = +MD = AECD027026D0675F9DE7A8AD8CCF512DB64B1EDCF0B20C388A0C7CC617AAA2C4 + +Count = 2 +Msg = 00 +MD = 5A55F0367763D334A3174F9C17FA476EB9196A22F10DAF29505633572E7756E4 + +Count = 3 +Msg = 0001 +MD = 4243FD3B872E1ED4013711382CBA032FECB4147D840DDF8436172AC62D129BC4 + +Count = 4 +Msg = 000102 +MD = 6A51EA8B2467C6410338D2A27278B998A158DAD4EA46D17EC3DF920133628441 + +Count = 5 +Msg = 00010203 +MD = 7B4BD4D5731966010EA4F5F36C7436110C641907D12A1F1216922DEBD61B13FE + +Count = 6 +Msg = 0001020304 +MD = C40BA1A39C844B218E026751C7751B19D94F8FDF14801B603C19454DB825E6DC + +Count = 7 +Msg = 000102030405 +MD = C9832114B471FB2024F736C4EF3FF1802850CED13ABD8A2F75CFA1F9D19490E2 + +Count = 8 +Msg = 00010203040506 +MD = 6B6AD8A90EAB00DCCC182DF1CEC764E706461E76D303863728B8590B772E9082 + +Count = 9 +Msg = 0001020304050607 +MD = BE9332E10AD16137322968BBEC1776BA3F4ECDC1183DB7DBE1AC98BD66FCE7B6 + +Count = 10 +Msg = 000102030405060708 +MD = 7D3E9E36B5865A874DBC7F9373FB184FA722A94DD3EE04612B5363C949B5089B + +Count = 11 +Msg = 00010203040506070809 +MD = 7A732AF861E941B938D39CE8D4FB11C35270244DA4C2758EA394A74283DF2734 + +Count = 12 +Msg = 000102030405060708090A +MD = 8A56BC99436513C1CEBCA77B154A35FE7FF907933A4DEF63DCCA41E2F67136A6 + +Count = 13 +Msg = 000102030405060708090A0B +MD = A14D986CBF248AFB951F5B206455947FB47D7B3B80475878F83E65BD067B8977 + +Count = 14 +Msg = 000102030405060708090A0B0C +MD = E1C07424ED45224AF7412060078F8C0534155B6DA3BE5D5C1C6CD57391560500 + +Count = 15 +Msg = 000102030405060708090A0B0C0D +MD = 988D6761A6BBE590212D163BCF4441D7104338158F5ABA988272B8C1D99F3BA9 + +Count = 16 +Msg = 000102030405060708090A0B0C0D0E +MD = 2CABC9FB4DF0C8EB2ED789EB28AC5D464762B1F98C176C370548496CA9229BAC + +Count = 17 +Msg = 000102030405060708090A0B0C0D0E0F +MD = EA1CB73639BFA0C6DE4E60960F4F73510FE4481340F1D956A59E9DD2166F9A99 + +Count = 18 +Msg = 000102030405060708090A0B0C0D0E0F10 +MD = AC3C9C02679819CFC8A482ED6F57BEC790DC8054C5B4F55EECAC466844DD389B + +Count = 19 +Msg = 000102030405060708090A0B0C0D0E0F1011 +MD = 42010591F958004DFB73649F3F9E24878927529C51A1A888147139895098F938 + +Count = 20 +Msg = 000102030405060708090A0B0C0D0E0F101112 +MD = 0B22A7DE48C4C230B89376229EDA91E441F158DE7CF7E2A51F0A86E626947213 + +Count = 21 +Msg = 000102030405060708090A0B0C0D0E0F10111213 +MD = EED92D437E8D5344D3A890CD2B43B0660168E48DE000623D9F520D1B800634D3 + +Count = 22 +Msg = 000102030405060708090A0B0C0D0E0F1011121314 +MD = C2D8D2942DB35D2E68FA786F6837B38B18D1532A7C7D2F9385565CBEFD35A519 + +Count = 23 +Msg = 000102030405060708090A0B0C0D0E0F101112131415 +MD = 9F3E9AEBE606BDD883AF73C73D9025DDAC54B4BED4ADA54453E2B0614699BD71 + +Count = 24 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516 +MD = 628F10DC588CE8F67F08DD21B2A8C994E2D9F0D96968A5F7CE97E48A936D9A5C + +Count = 25 +Msg = 000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 8C092C5CCCC910C6C0EFA573BA74E0B73298501B7D5E3256D9BF959CE9AC6020 + +Count = 26 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718 +MD = E4A9F1972E83614CBB74E1171B54B1821F7684F5D672629C72D1F536066176E0 + +Count = 27 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 5681904E1F50C9E3EB0C4874A849120FF8FDB115589EE7F7789B48A79A7D4068 + +Count = 28 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 8DF3644545361C8590902ADC31F9B26338197985D4D684654C3A6F51CEF3D5E5 + +Count = 29 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = D947A0A01A62764915960B2D4B9142FE213C34213E028B3CE8CDF5F8949B8A5A + +Count = 30 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 55D088F1BB02E290493D2B3A0FA3EAF03AB79AAE97C59B75C4295C900540150E + +Count = 31 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = FEDA0FF2AFCF06308DAB30501844252F05EBCE1B4425952EE2494188681424C0 + +Count = 32 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = DADC63C0F6305655BA7A344300BF0F698815456754D737BC9F23F38F9B11CCAB + +Count = 33 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 3237CBCC617A2550583A50E8BAD3DACDA82562E06220150448C109008FA054A2 + +Count = 34 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = B2E4EE021A20B30A84E14060A894602F3F53942EDC19266BE6DFDC90EDE518B2 + +Count = 35 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 7BDF06DAEDB204452F43E3C5F806F4267DBCA2A1D4A2313551FFEAD68B214222 + +Count = 36 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = CC40D0AC0C8FD8FA00F401823D1ADE44FCDABD65EB1577DBE8F456A2BFA8B76B + +Count = 37 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = EC40A9AE3428CEF4528FDB91AD7BFAC05DA4CCC7E572875D7B1447C266ED45D1 + +Count = 38 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 965B6F305C2951DACEF3EFCCACA7DA614F10369A341938178E6ADE734A1B1358 + +Count = 39 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 34D577849679797B76777BAEBA8F887A3B450282FCF030060E5B87F45923CA51 + +Count = 40 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = C60DD3CD55D6D99C59068C07EDD89C04AA6871A4C4CCAF312410B00FB216D678 + +Count = 41 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 6FF0A7686870CB19BFA9F26E47EF8B3B854B85AE2B69A76C789E17D7810E9E31 + +Count = 42 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 36302CAD222987D72941CD329A6C74850986473FFF34A062954508822FAA5543 + +Count = 43 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 090631D93171D648DB0A91C6E26CD9824AA813D8CFF70230CEA9FE6CE3C6F0A2 + +Count = 44 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 8F46538A8C81C11A39C7775B7AE24BED6EFA4ED770D005BB31D1199CB4320DDF + +Count = 45 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 7DD2BEEDA419744DDCC4D28E1A2B4C13D3BBDC9926DB720463E1A5BB2CE2B977 + +Count = 46 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 2AA12D3543BBDD443857962861DC0581E5DD3D35326BACE287F6B488F5E31001 + +Count = 47 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = FA1E7C2948F462331AE008C3812D5CC3A61447D1590DB5DE908604D1B4509C39 + +Count = 48 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 880F8A210D25E3DE77F37EF2E5778E8681FE8A323843AD424AF436BF362ECD3D + +Count = 49 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = C66CE5ADC2AF5F14FCC3CA54927F98B9C76D2DEC2DFBBC7E473DB8A2AFCE0E2E + +Count = 50 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 4B22C2366C38D6420DA23D9DBDE6F5AE8F451456BB00BF2ED1C0AD4A842524A3 + +Count = 51 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 5D9C65C35E922891A214DF9E4F1E20A9227EFD396AB3CACD2E07D26DE6EE0C3F + +Count = 52 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 7D1E9343973A54B9AAA1C443F5341DB1C3DF71CC002FC8063F6BDE4CE79CA582 + +Count = 53 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 56F126AB27414E1EC5042A0C99904A14D5CDE1394428E50A4F61595F99A43017 + +Count = 54 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 2FFADB43ECB7E1CA8717AF1CBC6C3D42201D487414183568BD115A3F93B07F28 + +Count = 55 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 94C9E1AD7BE0C7B0D33CC8305B8E18EEE3999F2D297136970EEA3A7D174B01F4 + +Count = 56 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = B4A19EFBA830EFC4AB62A8B1FCE37E7F04A8DBC23241D344D53A376B60A5DB53 + +Count = 57 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = E9F2A6FA830C9D279B9B011059023B94C6ACCBAE3E3D96864623EDD27DA3C428 + +Count = 58 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 86E41CB2BC9C4A7EABBBE1AFC2B064DAFC65399FC6FC8FBC8B4E23E00DF66ED0 + +Count = 59 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 859B64C947F5D3D3858180368B1A56467A916CD933FDD7D185C0CF6A795278A0 + +Count = 60 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = C94BDD0AFBADC4667D5257C39D331BF1AFC4D5F65D98C3FEBFBC480D4E8B9366 + +Count = 61 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 4D1FC7BDB3ABAB23830D13997463CA3694B960F30F5618FA9C8E87FD029521DC + +Count = 62 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = DA21C6770FA60AEF009F3AEF375C625613CD16C8DE6511DD233657EC1CEF1A3F + +Count = 63 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 3040097C1D9A7181112D2E54A0F43A635DBC36E003A3EF8BC3E146FBBFA39E89 + +Count = 64 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 77B5EDCA8FE62A1315CFAB2D94A1BC629D4E7D5E6806E4C9A7954C98DF3D084E + +Count = 65 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 34877B3831C3150BB447B8276CAA1F2CCF98693DB1F545B98E493FD1E2A1C147 + +Count = 66 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 2D419E9A43495C9947C7BBD5F940415D12CB11A5EA1DAD06D2D9D7F39145DB83 + +Count = 67 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 025AD44AC35E29E7699867276E8C46458093A812CCC6BC6496FE26F31F8314E2 + +Count = 68 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 223DCFFB5C8869927A175494BEB9812FC70F6B14D58B8230612F7EEAB744757C + +Count = 69 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = CCFAEA0E8218AD137311954AC6D7BB9D59B9DF2BD8BB20507DC0F7250EC97CDB + +Count = 70 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 88DD12BEB87366BAA0CAB12A6E475D7A6C0DF7162EEA218D50E8B79DF66FAF45 + +Count = 71 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 5E8BC40CD1F5702BE8FCB691A9CD42412FEF4806242863BF78A546B00605AF75 + +Count = 72 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 3996519901AE064571F669F3BF763BDC683DC29AD69C12E90BC160C95EDF164C + +Count = 73 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 401394D05FCAA1C102EB5C6C3EC8B92BE986B1638D04680073329C33FC864D44 + +Count = 74 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 90F26D5B92983EF8F2F6B3535EDF3CC49A84C2B14FA1440E8216FCA25006C147 + +Count = 75 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 9A63C981AB3F041D8B59AC08337B16835B1CB861797C25C196199FCD06FD2EBC + +Count = 76 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 2D430C64DD44AF367583662213B043D331ED403EB10C7D3F8D17198109EAA042 + +Count = 77 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 65C6B4C555DC46BD758F089D091231A0256684F3FE74C7DE673D787E1B69E335 + +Count = 78 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = E62D7F8DAE557C7856A56762EDB079E5236414D662E232BD83D121D6AE489C50 + +Count = 79 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 1F77330DA5058CA39A1EE872BD136F50AACD232A815BA0FE6DE1141B653549AA + +Count = 80 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = CC4F430FF38A8BBD4D655271E8EB3F625B5F9EB54084513398FC4006E746D9DA + +Count = 81 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 971ABB4A5FD8B850B7AB42E66EC860496E3C6E7578556EB3DCAF055F04FFF136 + +Count = 82 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = A1FF285345E2620DE471C7292667C826EB378CBA23060A48098CDF8067CA7A67 + +Count = 83 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = FAFD3C0FE4A0DB39FDE3A381602E9056809793751360858C93ADED7AE674B0DE + +Count = 84 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 5DBCD7A92D21DE708D51CDA4AFBB439E04C0CF17EDABA5ADC9CFD7C71D20F34E + +Count = 85 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = E45DB67607F664CAB140E0737E724FC114967E5AA2920A2BF163D65CE71F3B85 + +Count = 86 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = C55771F7E3C293BF221231ACF928C4DBC5B7A00B5768545DC1664E6B32201D55 + +Count = 87 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 0DE09417485496EF207B45F5973F0E498A26EC7DE88A0B63F4D1CF6780660299 + +Count = 88 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = B3438DA52319D1F97C5B6EF7E95D74EC3E9D6EC32EF96A0445D714153611E463 + +Count = 89 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = AAD535FA51881664C2FD6908067CC6E1F05D36F0333D875B496840B9B4F167AB + +Count = 90 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 42FB4B6B4C05576F646661B72547773F3DBF9F3EF2EFAD80FF1CBCDCFC7EE265 + +Count = 91 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 3EA9CAA5070662B139D1650596A0F458763802307745590CFD9279F147EF12CA + +Count = 92 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = DE53B858248D4DB4DE904E2147323A696F4AF888BDFCD29D260629A32A4FFC6D + +Count = 93 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = FD92408B187741DE35C020C9236BB7DF777BCFFF796E57226CD23DDD9C3DCB90 + +Count = 94 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 383C978087C9673148C8974CA4A20B3DA8DA769264611CAA728BF9E2181A681B + +Count = 95 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = CFC494D5DEAC50FD45F3A7B0E1C36419ABECAA047D5E076EC17ECCDC9F31FA81 + +Count = 96 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 55194F310FF9965A1501D145AECB4B6A32151815E11D4DB884E2503F701F8330 + +Count = 97 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 05E49F90A07D332CAE00EA586E688C449FF033B74B3630C787ECC895204573EA + +Count = 98 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 6B8603FC33E5602FA0327843D7CD9985C355164177BEA3E917680B90D4999227 + +Count = 99 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = E0102AE677F7106C97A06AC3AEADBCD3B0B63022AC329BD09EB2B2D0545C04CA + +Count = 100 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 1FF5241253BBF0DF2404F181BBA9167D2969D3473575C3DEE7118DCFE416DAF0 + +Count = 101 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = ABD438E75E0C435B3C63365037211E4A12D9B8ACBF54A43B281736E3ABF39485 + +Count = 102 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 893109409FD814B1629B2E4857DA8CBD3077372D40766A2B0E247F96D6B9103B + +Count = 103 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = D2032D9AE2BC73AF829286B89F76B8686D59E8F8C8A9304248E870769229EA26 + +Count = 104 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 4CA748F8CA6C7646897D132AAECB22FCBADF9FEBA97E68A51108D47A689A5E1F + +Count = 105 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 5CC13906A4A9405D0ADBD37541C48A94BAA6C4E32BF74665F73A6252F1438E64 + +Count = 106 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 8C2487AD4D6AD3B0FEF37AAEA0A282784450A8FA89507B29F152E9D18EA47BC9 + +Count = 107 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 6747528E46797C859162F9E4F35FC06CFCA59F1782243A9C5CC8D89A01FBA5BA + +Count = 108 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 83D9C2216D79A64565A53ED3F3C5F4D896BA82F7AF9417FEB7327B62B1DFE687 + +Count = 109 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 0D0227419608EFAE328A0D777F9C19035E50C278BB53E5617F9E7A621964A89C + +Count = 110 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 5D8F9083B1640FF1DF004EB2669F9A67F8FD82B7216BFA31E273CA236574407E + +Count = 111 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = E5DCE5AEAC98A6C1F546480F8B7596D6EA0A62D0DC62E77946C5EF5AF7A46724 + +Count = 112 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 71014AA6F9D2591351045F3C42415E50DA5015A4BC75B3DDD85AC262CA770014 + +Count = 113 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 8683DE48D745CB7CE2841EB56C4BFA2D6C8C7CDF782D6E90CC751CA925E8AFC4 + +Count = 114 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 95F8CD7FA6FD510ABAD392F072E8E14C16A455B617386045F3542C680898ECAE + +Count = 115 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = E07419E33CF368CA71B6B35CEFBA665519EC9E6EC313693C70E9F25821371487 + +Count = 116 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 972E264566E42095DD883C8FC7416CE6D05BD271AF5ABABBBF4555B032310327 + +Count = 117 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = EADEE38D578F2FAA643FED69704762D65274B743A80FEFDB97CBCF349283A109 + +Count = 118 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 3F6D88DBEBEB219732BAF0AE7175B147B19CF19913CC6CD75C32EF460E4E99E2 + +Count = 119 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 8122320E451E7D4666CE3E8D2DEA361E2DB3E489517A02905D16C15CDD43AD99 + +Count = 120 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = BE2445B61CF76699272CE4E5233C581C846BF970C8CED5E71F146ACF2D95A147 + +Count = 121 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = C340C5A48C60938FD7C53C5823DA93EFCBCDC7EA1563408C7EC4ADF4ACB88581 + +Count = 122 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 677597F268A7E6E004B3E8B2F32C8A6A1314AB0EDCAD6DFB414D4037DA4A16EA + +Count = 123 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 5B8EFAAC2FA47A95DF31512EC2D4849FB2525E4E6E82B64816D6A20D53AAE609 + +Count = 124 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = F5B2E670896E376CD12BE234C492F03D453B5E946A903369F00FC7A1175FE075 + +Count = 125 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 0CF08CC98801E0E7E855DBB73846000DB96CCAC12F71B03F67BC237A549B9252 + +Count = 126 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 06965839CD535421784A85318A1E8ACBC5B8CE3C002DFD5D03C353015BA28CE8 + +Count = 127 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 484BCE42B700436E44D1D8B037442D022FE3B95B4D1152ED4ADB0582A62BA884 + +Count = 128 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 6CB2AD9F6D3E12BF1B9C11ADBBD56E51BA846C4A71404A9090345AD63E3A2DAD + +Count = 129 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = E9862486DA598741E9840D19F7A96D0B636523B1B2D7257CA36695DA9C94BE42 + +Count = 130 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 8095D54F9B759DF1350593F873181D0B036B30192B8B00BECE338E5D5C10EA1A + +Count = 131 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = FE47B79BEFA3BC9F7A1A3E794D774B3CE5DFBCB25ACE37CD9575FE6CEB1DC289 + +Count = 132 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = C59A7629B45E9615DA0673961CC704C9F08778B328C9E65C782F9ECF54C37BFE + +Count = 133 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 65AAC57AEE752B2C50E453E18C36A6F01733F100B299A857E8DE5750EC3098C6 + +Count = 134 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 683ACA7B7455897ED5D8EE0070EC3273EE8264D47E079B3904A40D3934A2F46A + +Count = 135 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 8C7856A6521061FA7A9A8271E2459CAA02C6030655806DA25092303B0D9DA6DF + +Count = 136 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = BB050107BC5AB3C62CF0A4DC8923618063AC6F202C676E7C6A3699BE7203BBF1 + +Count = 137 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 32ECE06B1D6E1E1A09D6F1A59CDCC00FC0C8BD3BDD284A1F2B5ED738D497D0D9 + +Count = 138 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 6A315327B809B1510442D8CD16B58FE74C7AF4782556D408090004994C5B813B + +Count = 139 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = AB7D0406AD2459C88A7ADD663494740B2E020B91E332EAF542C3784387467340 + +Count = 140 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 42CF12227ADE8F4E7BF52ADF3CE730BA1B18AB7890D4C9854B3168A71594C5F1 + +Count = 141 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 700847E5FA4513F88E337C23FCC801C78AEF011B1268848CA7C0002D34B77CA2 + +Count = 142 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = C7145B4A96DB11F73C61402828C64AC1D284FAAC5CD103603DF718786415A3EC + +Count = 143 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 8B438A327A8C45C60DFBCBB3D35C1585AE9569C08ECE74F3EC356A4111ED7F18 + +Count = 144 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 16ABF5639A5018B025A3E15364166018B026A0D87608CA3006AE888683B9C1E2 + +Count = 145 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 90576AA9A78D977CA4BDC79163B82BEE4E2214249C91A105AC0EC83CAE8887C3 + +Count = 146 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = DAC51ECF95E29C19B8A1EDBDB2E9FD154371A3BC195917811BF195674D5D0B1D + +Count = 147 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 4ECFD3A2F7AE6AACC3050533D70890DE89FA4CED3FA6EDE1AEDEAC21316486DD + +Count = 148 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 9C666A9ED058552A0CAAB1AE13102974ECC5ACA18E08295F9CFDE4BD442F5BDC + +Count = 149 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 809216CA70AFE07A5C1E34F06F335E709901F8E5BAC5CCD4C148296D209BFC4E + +Count = 150 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 84879EB8CE6C83ADD2078D9074021E70D5A306F0781ACC51D2C21F78A2C9FE63 + +Count = 151 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 3A445C0ABC8541BC65CE93E19AD25AAEFBA12DF2DB2DB058227F5D23FE51F881 + +Count = 152 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 14B07EF4AB785015BA5327A297F003A92A67AC8EF4F52186F3F586C3113C3FF0 + +Count = 153 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 36C1915AEC8E69E1EFD6A3C5DED2BE79CC2B8378E1A8C92352C6240E2538BF0E + +Count = 154 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 37E6805B9DADA7A1B934629119A08553EFC9D0A8DB9A255A96FE1F1DE534DBAF + +Count = 155 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 0054820F663B1AB6A353023D662865EADE3C6F269DAEE179853A134BEAE88F4F + +Count = 156 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = DC317F59206FB8452CB0560F7ED49D8D583C87D717BB3975732389E4BC74CE30 + +Count = 157 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 519EF66BF3C9A5801CCC5720278ACE38CC38FBC3BF38717BFB33A6963CFDA897 + +Count = 158 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 76084EB140FDB565ECA36E6ED6AEC61F77E997040D233BDD005A34B33863C3C3 + +Count = 159 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 91CD053AFA400A70937F4DA01B47FBCD20EEE230BE65BD8D590B139FC84C049A + +Count = 160 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 10ABB19286282A6487413B783F6715F0D447AA0B4EEE0FC5CBBDC8D3F3484DBF + +Count = 161 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 5776F37274A7761F90BDAAE986ADA91A8001B432C76C07E6CD821268F4B3779E + +Count = 162 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = F6104D0C6539AD6B09281348577BE92A4EBF277029C4BCF276799A8E1B50C794 + +Count = 163 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = BF6933C42244B568908A830EF52C8D050421D15A314B5C27AEC82DDFAA63ACE2 + +Count = 164 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 132D6CD442A9B01C4852DDB17A8D7E523D41278AFBECDB6A9EFEDFCC6716453C + +Count = 165 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = AE0164107A6956671A932AC4CA2D852D947CA80E553148E17FAE646995461804 + +Count = 166 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 60F8BCB6938AE95A5611362A2E8D464CEE40989F4A9224F7160CAEA72A3AE118 + +Count = 167 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 6BDCA897EF01B170EE26F7B60D3DD824E6809FA47DC048C6635E0B7803256753 + +Count = 168 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 3DCCE3936928C5F7832D08C0FE1161FFC763BE0068F6D57AF4D1301624F43E8A + +Count = 169 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 104774356B38B99720E49F27A813BFEA11A70222FA0B3063CB4AB11F24FB9CB8 + +Count = 170 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 14AF520F240F351FD5EDB6599D34BB1689A7CB01E96D9DB06ABE7476005E7419 + +Count = 171 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = DF1C16C5E8739EC3853886C541A310669AA583029C1FAFEED26146E7E63AE0FD + +Count = 172 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 6A1DD9C5F4B526F01889C274FF225ACE7C15C19CF30291CE55601FE89E512093 + +Count = 173 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 586E8E3FFFE214BBAE2C84FF09FC6F31306975BA9F570D4F672461BA6735420E + +Count = 174 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = C0FD1F8B668FAEF7F32928FC619D6880002518C892E3BABA2445175DAE83F71E + +Count = 175 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = C758C1FBF684DCAAC6656AD3DCEA024B8BBD73A7E6E56C8FDD0D1BDAB20ADB34 + +Count = 176 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = D2AE5ACCA24781972A00B0101C54091BB8E75FB5F6A44E0C95769ED1F1A9A845 + +Count = 177 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = E60F0529585843D14723BB2CB99F28E8282E4022717AA80E78AF31F1343FF46F + +Count = 178 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = BF8BE87D54351BDF5723C99D158C11531BDCEB7D05E07075B4142D830FCF0F12 + +Count = 179 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 706D40615D64D792BC37FF91A35B0D0FDB87466842205CDE8C532362ADF72153 + +Count = 180 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = E665CF9AC931A7BC16D8520F5FFC479A8E8EEA3FC9A8F1D0A58DCBBFB3CA8539 + +Count = 181 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 0721BBA01E54707468D2EB00CE2769A51F540FB0B58CF496B9D2E97FA763A3BB + +Count = 182 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = FD528457F429EE72604DC357B0208A7C2D386D65FFF4369F4C0E7FD49FC335D5 + +Count = 183 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 64395EE71F53C7A077FC3ACD6ECE22F5BB02AAA73E0374828B28B0A8C6E43A49 + +Count = 184 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = A3E17068EF454FC9A95BE7B7036F284900D5F76D643A52EA334FE54F12B80B89 + +Count = 185 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = C9C6FCE1379FA1C9CD7F6A639C832B3BBFD40B978E18A6CD9CE1AD50AC4A2067 + +Count = 186 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = EA11AA857B815A5A377B427C7BEB745EAD55FAB4F35839F7299C267C109D6DFC + +Count = 187 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = F693D162742378F901821F657776AF09BD5A4FD65D9466930B61D6E7BFCCDDB8 + +Count = 188 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = CE41F566B588E36EA8BE5D63BF5007F3A947303BD38E4EF8DA115D451692753E + +Count = 189 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 6561C55346544E34467DB4F7905553410690DFB56F359240FFD433535842A93E + +Count = 190 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = FD533F9E7E742DE2AB72E1681B843E1A442421EEC67BD4EC0E1C7928A4A14B98 + +Count = 191 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = A2807BF73C7E9C2001FCDC086BAEBBD5A25C44EE51CD63209112C14C07ED76BD + +Count = 192 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 3EEA114DD3FF81369714D722B66BD93577FB140954C56826A4A8B5A0DC908B3D + +Count = 193 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = F125387E96A8654382A45CAD7ABCC386B0E730F28DAA31AF1C6964A0EBE00371 + +Count = 194 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 542D602D68B141E6FFF0C87EC2AE9C5ABCFAA9BF5A15C215A39F50A378D1C9C5 + +Count = 195 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 422CFEA459892E0865696A19940F19CF6D3EB5DB3A87724E18C3D7916EA461BF + +Count = 196 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = A8C12A602CC9A1E9D78FAFF37479F91F7AC9F7D54E4E84F0A71790123FB3F80F + +Count = 197 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = DC58E3E2A654C6CD7ACC549D950CACFA26EAC941D69853B65ED79DFB58AD1472 + +Count = 198 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 6E01F8131941FB6B3FE2813D94CEFB2D27AC1721577517DAB5578730E77ABE65 + +Count = 199 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 15EA8E987B814C4C7CD782EE869A52BC0267F52E9F4BD26FFA59E6645C4DB4FC + +Count = 200 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = AEE12808DEE88E1753694C354DA606041D19D06C505B255DF990762C271E1400 + +Count = 201 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = D0CCB70A81C7D5FCC838DC0D376FC657FC6C152A04B70F06941F1ECF8A421E4B + +Count = 202 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = D95EFFC4E67A8ECBCA754CD9CDE8271B403B4E8EDA9913B1239595E09B9AECBF + +Count = 203 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = DA1230B9585416545744CAFDB1B2C19E1AC33AB59EF0B9523F669F23481DE32F + +Count = 204 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 1717BFD7CACAF8A3A96C3801E5D0A4C4FFBBDEB3553BB3F994CBDD90B827B69E + +Count = 205 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 25378436D252506D44903289C6CEA1CBDB72BE9573F89F8C251062D7AC812AF9 + +Count = 206 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 579BC319541B4EA479EF04A2392D41BEFFDBDEFB38D9441FFBAB07F172F17C7C + +Count = 207 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = AA6EBE18D6DF3B5ED534A25C7C69FC670DE272A93253C0C78D8859A550C98B92 + +Count = 208 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = A50CCA188ABF9BB9477F529B9EDDE4E0BEC54FA0CFE001672A97BB150550A3E1 + +Count = 209 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 401C970EB8EF116278CB6AA9700039A6FCCD483CAA10EA2EF4F7B6BA62BC3E43 + +Count = 210 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 38411657FB5D2DD26DBE0087C4DEC19D9204468B6E5903253D84306B5E02ADAE + +Count = 211 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 2D30376E14D4E1311E30132D64D6DD5B780F9A105B9064C7DEF0F38952BF9E11 + +Count = 212 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = CE5B295341D425AC72F0AE71EB5D07FD04AF3976F8F538710F71EE7674573B95 + +Count = 213 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 238A0E4E0B8584880ABAB8382882D3CC96D9871234057309ADB2147E08318946 + +Count = 214 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = DB67E45D501FD6D4A19E1DC2DFB6AD1C5CFCB21C15307BC8F4F071435BAC2BF1 + +Count = 215 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = D99796757D0D264B9174C4F10CA13AE9C184919097686D27A9361A0F9A43DB7E + +Count = 216 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 599653F40314E9A0CB19110BE65E0D939AF305B8B2E45C2F9B25208C618CA00D + +Count = 217 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = A513CBADE9051A75FC84283EE1F439D6F05928D735BF39DCAEE809E73A5621EF + +Count = 218 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 46AFD7524DC48ADCA8F40FE544CA50AEEE2B355D4DEFD2B32585EB334156DB7A + +Count = 219 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 6EAEF35B0FA124C950F6F7A3009643FB774CE89DD2474C64531D6BF849004A8A + +Count = 220 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 2FB108C666433084D55AA15299528299316F05469634B8E009D6AB4FBD2EEC92 + +Count = 221 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 79255B89AE1F51865B3A9ADB02F1DC07C40EC809C65B6BD4D91819889FAA48B4 + +Count = 222 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = D965BD2E038D93D86DEC990BC6C8537F33F6BCCB36476BC30530044506137581 + +Count = 223 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 60F86CE6E23212CAC021F7E5CF29828309381A2443F591A9D02C8E55FF63F593 + +Count = 224 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = BB39CE7A389939A8B9C71246842A5ABEC8B5952B6413BA597825397B0424A61A + +Count = 225 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 09AB9A35F4F2A011746F2D31A8DC81D530299578C5E215E5DBD5197B1FA9DF05 + +Count = 226 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 18BB32700B47FDFF627778405DFF6A198C3DD15F4E5A582ABA83EB3A0853CAB5 + +Count = 227 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 7486B1F6E3B288B12849673A627019E773CFB95DBD4298934AD6A2AB581CD364 + +Count = 228 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = DE53C502642336F8FD51C8E40EA4965DAC342678A3FFD01D53F008FAE14866A6 + +Count = 229 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 86E7EB1500EB8CC329EFABF88B549512F0B77BD06CDE405E2473ACB67DD5B997 + +Count = 230 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = F67286DD8D566DB54191600D0F50F5C16B959673F151F861A5DEA0534B013E66 + +Count = 231 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 876AB87DBF897708855C83A64D4CF0F9263532E5BAB9F33CEBCB14B9704621BA + +Count = 232 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 67AD8894F8CACF771CE97107D6BD6F88B326109F73D01B5878A57C4463A81D20 + +Count = 233 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = A9DDE3A01946968066EC90BCBD544EB74FC0739FEF2D39DB94101770467BF8F8 + +Count = 234 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = B6899F1385271BCC8E3DDA2B53D5157703F900A210094ABFD0F5F4D7A022246E + +Count = 235 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = 605FFCEEE5F36BFD6AA2C0BE2AF2E7C56A5C73AFE113550033CEE9508B79CDD7 + +Count = 236 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = E27194C78F7A8B140CD99958E030F08D473AB9CA4AC9B52285B8737634B17BB9 + +Count = 237 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 793EF62D53A5C06B7AA2E09D89ED69CBAEF1077CA80C6FC3270757DBDA3AD7AD + +Count = 238 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = C187ABD8E69B11DE677474349349C73E741E45B631C385889C65940E18FEE846 + +Count = 239 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 55CFFB12038004A2575EF86B2021AA32947E98A6E5A272CB3320093E618275E6 + +Count = 240 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = AEF26137FA810E65EE2869BA9739F657618B19284DA290F0BD811B070BC353BF + +Count = 241 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = D56148B746675502F1D0F043446AB264B8E398E499F5D6FA7C1B7478EE2670D4 + +Count = 242 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 54CADB4143A221A0CB6C27F1F614CC97CBB49F773592CF4E4B9177784C688B7C + +Count = 243 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = B69D536171D28D9F9641EBD7D7BA10E39F57FDC08192214B846B662BD95F2E59 + +Count = 244 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = A5037446A518FFAB15A2342C7E0B26A6868C66F91FAB05A3E229038E9BD499BF + +Count = 245 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = FD6CF86453D6BC6F89D2B2855F6FF7CD3F5A30FB31A3411B8BCB2AB51C2DCBE0 + +Count = 246 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = B705A54612920322527AB551F6F1C9F07FED51FB5B698BAC285221D03144E995 + +Count = 247 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 23011F275360438B482DC7E64423F0FEF92B9553262D1FF4A08F35401395E249 + +Count = 248 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = E89F7A2F85C3F43173A58D6B342BEAE8B25BACFC5F4722C84EDFF6FC1A549C98 + +Count = 249 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = F6E09506DFFABCD42A943700DFA673782ECB60A489B10BAA161C13F687EC538F + +Count = 250 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 4CCBD8EEC3AA4E2F81AE6D5AAA8338AE6BB8FA7F536F6B1F9FE8E558F1FD968F + +Count = 251 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 4A4CC1EECCB409ADFFCD2992D87F5CDD9C4E0C9938075BED2594041C6F62DFD9 + +Count = 252 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 9855DEFC6500F4B9550A0A5CF8926C2ECD46352BD24F04B15E2FBA8955B7E7DF + +Count = 253 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 5001ABCB8AD7E49074D3FF6A37BA45A61EE9D680FB76A5569C68F094354B7611 + +Count = 254 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 7408161E4BE3173CEE65F00CEC1A186E0C21570B08DB7754891B89E66B91F9F2 + +Count = 255 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 5ACB380A762179DB80299481AEDB370982750E7F3367C25898F444D7BC0887D0 + +Count = 256 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = CB30EF67CF7DFE18F54EFEDFB6F72D1EBF3932DE38F3381DA214DF8EAEA5CEB8 + +Count = 257 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 1B423954D3C1417E045F6E4991A3DE781BD7E080AD2D787DC1002389903F6189 + +Count = 258 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 7D8BB5E8241C4932E2684505FFF7268F178594E01A9C794A61A492E91DA39FF7 + +Count = 259 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 217217B72871253E11B75D64AC9631DD2916BBA169F4D32C1EBE1F57054C9767 + +Count = 260 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 096762F7681AD7381ED7DE9A08FAB63412B77E9AE577F117E8CDCD07F2070749 + +Count = 261 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = A2BA5A88D3717923B44644170119D52A3F51AA4ADDD97F2A8352A289EFA4A97F + +Count = 262 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 66BC0F89D200A097DF2ABA107F1EF5C00FBE39DC72AF039C7043166AAB974C68 + +Count = 263 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 8C305380C5A6513F269D69B6419FE3ABC5EF0D3C52255F738FBBE985B65BCB9A + +Count = 264 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = C5AD79244CAB9BEEF8DFF4863C25B0C5169EDC89FBB683F8D364458C9272AA3C + +Count = 265 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 047B6039A08A709CA533CACC26A3B3B77BA63296056E727E825DBB72D8B156D6 + +Count = 266 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = D911E3398AF820264AC8452DC74B876FA8133527FDADC341871CB31D3AE57A13 + +Count = 267 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 51DABD28CC5D4D97B00A8C60BFE64DEF650EE00FBE8B10BB3A4826891A822CA4 + +Count = 268 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 605C7B1AC6E688964FD51A4E014BB14AC9DA8329EA7E6F0366CFC167A5D9AF2F + +Count = 269 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 16EB3F977CE651CE9FFA600F5C8FE6C6075ABEBA69A16A8781B6A5B66019102A + +Count = 270 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = 14D18A50915B981D94E75171CF320E2ABCA095FD80D6678ABDF8AD16A7F4732A + +Count = 271 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 337AFEB398A90CAA29327C3A28F3B61361FAA81F79D1EA2BC2291111F5EDB97C + +Count = 272 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 31A5D9F00F4189623081F60A93443203DB349C8E14CD07352B6BFA8F67E82CE8 + +Count = 273 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = CE6AA01FC79910DEE4359AE55F0A0EDDDB1DF1FA5D154BA527EE72E9444AA96F + +Count = 274 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = D60A6C87973252C7C71E3C93C06B16C87841295E4D65CBC0F088F8AD4D965FB6 + +Count = 275 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = CC67124A968AB15889205B0F6ABB11D3F6457737408AD87BF344BAE3ACF88529 + +Count = 276 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 9145C0027F1551980ED163BACD92FC5F647E414A4191F829C8318A10726D326A + +Count = 277 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = ED8E3459D6D50856C45B2BE11DB1B5C2006D9FCBA3FCAB02D12EFF5CBDB63BB6 + +Count = 278 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = DBF13F6D75F42EC77E5C764F0DF6A0D08FC7BC9A91DF85DD4099FC4B2C5D433C + +Count = 279 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 0696AAA9D744693B9EC99C222A1EED273CB5146E41AB8960C6B271ADC1B0E92E + +Count = 280 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = DC247BFD469BDB13198828E582DF5F8FD177A8C2040F5885015EF9827B277D52 + +Count = 281 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = D90BDD33217703FEAF10E4795541AFD72B27920F4E97BEE633F1F5A1CE7828F1 + +Count = 282 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = B40872E1C970DAE3FD635F0D32AA86FACCD49F64A8405C16E4904FE7610C5804 + +Count = 283 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 61AE68D93B92E8191BDCBA151FFD046FC6085D0E7D7E877984E8D3B23F338F17 + +Count = 284 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 9D558208F1BA6F7E15DF8B3D1DFD2ECBD0075AC35F04637E5362EB4C249185A5 + +Count = 285 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = F688B33BF589561424E99F549DF0F9F59D7926525AE67CF7D91795247DDB6159 + +Count = 286 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 52ED74CAF3AFD01D3142112C5EBA500784D64C084EA50464A7CDF16184819803 + +Count = 287 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 78253D49B5F594A7D6CA0DFF88147B5899C2BAF3B6F822421CD6737CE991A9F6 + +Count = 288 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = ED07D794E4C074B10AE58F6AA654DF28185F8C097CF185500CDA7F948DF15822 + +Count = 289 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 8D85CFC45B484BB71270B9A3740D4A813D28140CDF9EA2C6215B7D604D907AF1 + +Count = 290 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = E88392513F721281D9DC66B1348D5C7A900E6B66EDAB3508A0D91F16CA8CE72B + +Count = 291 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 2AFAC346E8F16687B1DE77E9F746C7713F59FDC997C4AA1CE5974DAB93EFA833 + +Count = 292 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 0D587E596750B43070B9A4A7CF703765CD11C917174A9CA3D63498859A25B7C9 + +Count = 293 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 98130E2E061194E51FD8568F0DBA8C74E23421E2E21B96347EF52AD19F73BED9 + +Count = 294 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 1DB6F1022CF1A8E6396BF3A856AA39E476D64063021D4E3C8CEEDEE7C1DA5007 + +Count = 295 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 1E980F45688F2151CAD4F2FC73DB5E150EA4D279421244887337E53844243153 + +Count = 296 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 034A9BCA3E9B722FA91E1417F5FC582330B24AAF40995B97D25B8BC5E4412FFC + +Count = 297 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 5F35F64B1780EA04DFF676F66C02431BB941E512F6DCEB5D5E85913EA98C389E + +Count = 298 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = D37643EBB69DB87F126CA1A4E6954708F5245132B80BE7AB42D3C2EA002C652C + +Count = 299 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 0614F2F6BEB7028CF4C6A9CB6473B6E97E35182A17970494956486C33D6452C0 + +Count = 300 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 6D86FB295DDD773255F4C5CC83C920AA191DD324745F939EFC851E2B5544512D + +Count = 301 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 9DB36E57241960C912920304D9442710F50D28A293CCC7D4741DA918BEFC74DC + +Count = 302 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 3617565B8F074797E378B04020F0EDDD333D3F2AC0906134869AB21CA9FA0AC6 + +Count = 303 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = FEFE37FC7BEBA6F713F03E462F85BF28AF57E72DF62B283E5C66474B60238E74 + +Count = 304 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 041A46AAFCC1C511E68E904C34F56E40D2C32B4984AED819BF003238400F0619 + +Count = 305 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 63B3DF7561D239C78FFC17D98E70E2104289244EB3908D2493C336FF52EF0436 + +Count = 306 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = B4AE12503EC4544D15BAD492BE61B2005321CA3E2F5CD5843F5F4AEE17B93C9C + +Count = 307 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 8A2EC2C3AE89547ED97A3B7121DB7C5F26485F69852412EE8A72AA273FD107C6 + +Count = 308 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = C3B85D4F788731F11F9E6D8B89CDB13B335BA7B9024330F33EF59FD7F2635B96 + +Count = 309 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 1C4FAD155CE7DAD24CE4FE4B0C59A861EADD4A1C655E642A932283C49E253D6D + +Count = 310 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 95E4F94BBC9467C6472C73024C7ED08DA642356973366E45A99494BAAA25AE44 + +Count = 311 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 60D63071579E5ABCDE6529A9838E364C939F603108F4907F5D0CCB373DE068F9 + +Count = 312 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 2FD5259EFB079A12EE142932D7F1CB480294964ECB56A25DB2439B9E2F54097A + +Count = 313 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 5DC064CB5E79BF3B6478BF3E9A6FE0F6FA899488EF6E82C4A22AEE84DAB58FDE + +Count = 314 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = A3EDDB64B79604549966A40BC37B6BEF99BF646BFBAA5CF33963D757ED198095 + +Count = 315 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 1F653E64EB90F8848DF9D642E06E1951EED37F77A1409D80C1E56004792BBBFA + +Count = 316 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 41387C0F9DFC62F1782FCC1AA2924CE300464936A4C89F98C0CE6478BABB10C0 + +Count = 317 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = B609AC274606FF3DC031DF1C86D66A1BC460F55402374F6FCD04A81AACD8AC2E + +Count = 318 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 77AEB9D8D88A6609BFA86E0376546A147B5305494B190E7048E5210A37BC7E8C + +Count = 319 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 0397931C4BE680E534BB8A625039074634C7FABBF5EB0CFD97D7BFA9DE56F1A9 + +Count = 320 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = F004C454B8641B7D7A9B1BE9ED403B2F1446B3E6D35404C6613EBD5C981A0E91 + +Count = 321 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 9F8BC285EBB18BBF83E44DC10C940C98EBDA640B6FAE3378319CF6E730691F5F + +Count = 322 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = E18FADACA9E1105CEAC4EAED7AFC1F5899FD612EF3E00FA3684FBE44DC8157AE + +Count = 323 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 3452716FEB9146FD298F885BE3895AC7D32D265D3534934188A31C3A33C5C3C3 + +Count = 324 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 5667CEDB401C887ED73F2A26E348F9BE46D97EE2CD9D47BACBE2790269004F0B + +Count = 325 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 0B24E32E07EAB7FB45DB0A44630D48D80AF395F550F88B8972C9276CE74F5C0C + +Count = 326 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 1CB7BDD307278D4355E01635DF17560404A864B3CC81FF05F7580BA17B064111 + +Count = 327 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 8F0E2DD698091855BE123B2EF1813252BFF813D9141A8D1B5E2C0E1C913934ED + +Count = 328 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 71701E15BC912B48A24476FC7F092685B3DC9B1EB0A1471E8A19528D47BBEF30 + +Count = 329 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = E2C490ACCFCA58A148371250EAD5FBF40CF16637F4A121153A0747E412080A83 + +Count = 330 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 493B423098AF417B934B0F5CA205AA711938DC6A46984AF875E48EB5C17F2875 + +Count = 331 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 54FB81DC44C0A3BB7F89926C055A3BD029F707C34A1DB07A5C620263A19840DC + +Count = 332 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 68196DA88EFF4A356121A364D214A285035793B6CF4F24DDE78EBF0D8714DDE2 + +Count = 333 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = B2B3D74712B8C661AB28A59974A93ABB2E8E0C5F2C9BEE694889BA5487CB199B + +Count = 334 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 274C6514B25F571429D55FE5C75A7A2411E42ADB76A1C60759DAF0EC80B5138F + +Count = 335 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 572E747C3378AB39F77D03B481F3B1717F88B010E8661B74DBFB8FF064620334 + +Count = 336 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 2A092338824C5305BA35F8A05E80195342A739A8E94594448C656B00D14F801E + +Count = 337 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = E986C4B173221D855A19AB9EB47AE50736D58652C7A5A6270F8A459DC7937A7F + +Count = 338 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = FFE885B7CB021927169CF3C03550366C301B6B35E0CFB5088015B85935991975 + +Count = 339 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 2A5C3D21D72A64BEF5595D6B598021BCCD0FBBEA5CA16D6030D76D06BBBC24D5 + +Count = 340 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 71835EADBD2235884ED6B35132F0B47E392D9B6A290FD022F132DD94C1F68A38 + +Count = 341 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = DB35654598AF7F5AF0DE9BA16832DB83AA25613C90CC5E1FC6DB29E86DFA3583 + +Count = 342 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 9C4BEF6E9E8382DABB335171480A50C21AF55AFB883CB1116E803A3D8701277E + +Count = 343 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 80672D9CC49C8526773B5FB3F2BE4B6D6B38FB0145637270C18BCD5572B89886 + +Count = 344 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 060956E53CC3344A571936CCCC40530F657ED92E2B206250892B9019E556B3B7 + +Count = 345 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 3A00DB39A19724046BA831B06A506405DD0F664509DE7CCAF56BC3FCD680F61F + +Count = 346 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = EF440D656AD3A0D4C65943758B4B4750CAAB6F44AC5FCB89651CFE039DBCF8F1 + +Count = 347 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = E707BDE93343524ECDCBE8F40603B93F6C4FAA279A0D5CEAB35391B07F0F4782 + +Count = 348 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 676FCBB3D05F4AB6E1B585342742FD49B6CC21FEB49C5A9F4143C21960C150AD + +Count = 349 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = E20CCCF307EC33763F293DE9C9E4537F385B4DF1AD078B54F77DBD7AEC79B901 + +Count = 350 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 2914D814782D509879E2DC1C7FABD50DCA67FB82B8671AA378E4ED562CDE5A63 + +Count = 351 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 222D1EF9588527F8B1D60E8A46D40B613FD020B5E35ABCDD67217F38F11D71CF + +Count = 352 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 6AF0A0DA95EC7C1FE1ABCC75E87356EF0F89D6058470B6FDA5F7E52E6DCEEADD + +Count = 353 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 9F81437197983038C1C0801A60F16BAB2A220065643C474D1F6434F24C6201E3 + +Count = 354 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = D703EA7822B02D766790A98662B1C37E5CE1055824E169AC902B75914F312A39 + +Count = 355 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 0BE28691C4D981ED27CE23FD01E62CE90FF4C148064203368A0ACB207EE9359C + +Count = 356 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = F5CE600ADDA8D654EAC391BC41CB30900F2EDF0DB46543665576671607E580F0 + +Count = 357 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = D375D888C1CE00BE1B382E10A12D9B79FCB2DA60E8D0A7565E1B2814AEACC506 + +Count = 358 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = F1D52A71A2B888AFA3BB4BA98D86703C7B4C3B41C2823F80B5AD962E60A5BD7E + +Count = 359 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 52383B0131214921B75911B8C471669E07A97B993C66004A6B9786847C089E76 + +Count = 360 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 5F6D9BF045BA42D32C589DF1B2B8A3AA09C9E4A1B4ECDAE4E91765C28F4236F1 + +Count = 361 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 268B38757F4558F699E33642E82D7B0B7765DA72214AC03D8D017A75A2BBAAE7 + +Count = 362 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = AEA3E32EE334BE5C13D8FB15CC43140571247BE8B1D36D6B293F275D0754E3A5 + +Count = 363 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 5AB5306FCC550AE35C431C1F2ABF6AFD65CBEA1CD75DB4088BB0F4A27B57777E + +Count = 364 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 1ABE741DDD94F71D6FB12CA943A5CA6CEA9BB46AB9D5BAAC0CFC65797CF69A5C + +Count = 365 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 34B637A164907E8645801C305AD8F9F65AE19C6FD61DFDC050E334ED24BFC215 + +Count = 366 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 3D374A193D08D65DBA0AC66746EA1B1261B167D630A0AD10BF97B097C75F8B32 + +Count = 367 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 4666326FFCD7FB96C7EBB71EC6A9F6503940A5DC1E4BFE7AFCB886F3AC60834B + +Count = 368 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 761B0606AD5497C9D4B09165A22254374846EAA175AA2EFC7208D4AF34B22652 + +Count = 369 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = A1C2AFCD997699EF2F0C1274BB431D0E3872ABC3D4B7BBBA40964D80A005D1C6 + +Count = 370 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 0DF15723EFEEFC06BC32C11C856D652CECE1EAC6494CB0016694544F67F129EB + +Count = 371 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 2B7784C4B7A59ABA89EDADA43094975BD408BE3BCE62E23F0E5A36B7E57FC983 + +Count = 372 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 2E08B11BC125DD9E88829BE48159E1571895CA6867E6EA9A77033381EDE11F74 + +Count = 373 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 006C800BB38386058F64A1E258404DE7644AD2D6410C1AC13EEC9AA5CBC04562 + +Count = 374 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = B1174A9215CB94A84C7200BB58E46422DF3C6EAC20D500C3F391E83ABF8B6B65 + +Count = 375 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 404396379AA57EC4AF3DEBDB558BD8B16F376F87D6003AD3F19D2CD9F03DF904 + +Count = 376 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = EDEABBF0ECB62AFE7A092851186FCA442281CEDDB051CE6793E691766C209572 + +Count = 377 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 98CEECE5B575A5BFDAFBA22650B4322D2E2EE3AEE4B3F047AAE6C315A68ADDF7 + +Count = 378 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 4AB508A809B1338F81EBD879E543980F741E13FC47E7172473A1CDC235DD4EDE + +Count = 379 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = D6BB117D6B603C884EB781DEA7CF12A4B28BA266F519E20AF9E983FBAF5BF974 + +Count = 380 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = C02615A55DABC8D83915496BD0B047076773F2D5A3C99A76A33FE4553050D14E + +Count = 381 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 6E6361723D7CBBDADCAEFBA7D5F3B4A60AF0B25097877F8FF5080C0047F83B32 + +Count = 382 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = E158E8C9D6022BA1BA0BEE45F3DEF997750562294B12B2518C317316311E05EE + +Count = 383 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 89A958A30FF2BD55AFF42E7165A6C4D3F410FDCE0798F00DD5744417F2C43480 + +Count = 384 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 6E77799EC6A480942E739D770E9327A5D969E901F2DC4FB865EF647575A75A30 + +Count = 385 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = D4CDDC7EFE34139FBD42AD352715BD3C2C4D5BA78CA27125E15D9DCF0E73CCCE + +Count = 386 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = E3958A5DB3685CB0563B42D579CA4BD83E74808F18657B0704B66337DF87803C + +Count = 387 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = D6693B145AA2B1E9C910831196F2C967CC9C7B3AB186E7CD78DF748F9305DC23 + +Count = 388 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = DE31EB54FA3786210068B96087E151A67DB548CDA6EBFED85111A5403EF01819 + +Count = 389 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 0F92F4260F8B927E317F1FF62C74C7D2A27BA63909746081F9BDDDC6E682D17F + +Count = 390 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 7F7B4B9D66C7F21759F907A6A41B42EBA41524BA8874CF4727623B488E03F575 + +Count = 391 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 3E10A733CAB8788962C7D7EDA3EA439CF27A3505CBAFDD01B51B4C7E579C2BF6 + +Count = 392 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = A13C5620B0F3AA7953CA10AD6E2FF90C2E5B98EF00DDE96E1FA4D86A0A71AA68 + +Count = 393 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 08C3CA0D040D1EECEBB05BE50F6A18975360B6B218C7EA2B49996CE70997ECBB + +Count = 394 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 26A67A3D6645BF635D10C2DADA32B4A3AC6168678923A5EEDBE87405BE39F606 + +Count = 395 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = A67D2F2760BB442E5371920FFD58B95A26BCE80FFF0665E05DE4D7F4144334C0 + +Count = 396 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = EB03690ECB953BAD7BE53FEA042E37D3AF6306BD38FF6C8D03E7FC05E4F9C8A3 + +Count = 397 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = AA3A172486CC535A5BA6956D75E73304052CDDAEB2B30361BE8F167F97CBE16F + +Count = 398 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 125F1EF411F4F0911ED13416EB12D4994BE8711788B67926235E3CD16B2D1EC8 + +Count = 399 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = EB2D3FC849D526924AC89B3443C3F6BC5674C8423D029C845DA1386353313435 + +Count = 400 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 240C5D8E6F602BEBE0908B7CE3E999CC0228741F763FFAAEFC6A5C7996DDF86F + +Count = 401 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = BC489C00A0D38C53FD9DD2DA1AAFCEC6DAECBD47A37020578032A176A0E56FD0 + +Count = 402 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = EDD2C61B4ABDE0B1969974C41C1B693D719B77FEC32E76E7595197B9778195B3 + +Count = 403 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 5362290439F78EAA781E9555C123399480D7FB313B3E2797F108CCB273E5A445 + +Count = 404 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = EE36EA1BE2FBBE59F40DC28237D44881533150DF91B8E7FC2CF6D25F884D7A22 + +Count = 405 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = D019C90512CF832B04004FFF35887F927C49AD11A0933B2509B386264805C58B + +Count = 406 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 2AB176E2D6BCE6EB4C127A9D0E2AFAEEE7E04D1A69F7153F7F9AD83C13990457 + +Count = 407 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = BF7D27065967BB13737474B2D554729010E01B526E43B8B2BA8D641868C5645C + +Count = 408 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 8500D01FD1D8A2A812AD49E187A34B8C7AB638721C2CB7FB15A1980FCC59C0E7 + +Count = 409 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = AF349B681784A14154D55516C39CBC21108EA16430C1E118905F150D2F0DD266 + +Count = 410 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 2A679A82228AE2CA8521C25C8742ACFC5146C0F18467F1AB6A7C284266AC9FAB + +Count = 411 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = B50584806C4E8A5E6099A918485ED262BAE9130AA38C1D272C9DEA60EBAC6BCD + +Count = 412 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 39620DFA4BFD97AD77ECE470D15F9F0DB13B3957C116DD9333B27524A84F59D3 + +Count = 413 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 6C14701C686D911322353ADB7A94E4DC14E342C3466875D41AE4AAF79A805A13 + +Count = 414 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 26EA86975E0E0969BED0743F7EF8839EDEBEE5A91DD420792E6C302BF2DA83A9 + +Count = 415 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 405E00D4E5DB5863C2BCB1DAF8308A2B18CD57430A0EF6CECBE1CEFE39BDFAC7 + +Count = 416 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 21B05D429D7E9871840223E8515EEDA55DAF9B86419A4508BA230AD584EFF896 + +Count = 417 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 9AC8D9432B339D53E1F7E864A5714E460163E8D167B38BA86046CBC828145875 + +Count = 418 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 027EE0C85FDCE4C0DC0F5F001D1A25F02AC5A90A880205D3F7FAC09E66FA7560 + +Count = 419 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 8D127BD7975C2ACBE4113311F1243384DE43750EFD2ACA1B8F5B65F85A0CAD02 + +Count = 420 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 59706B440AD98C2BDCFF895DF57629B10CFA89ED9717849400BBAED9ED711504 + +Count = 421 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 2DDDB072BB40A0D6FF97B82E0580AC1A57C011F653F3A701FDF57EF4475759C9 + +Count = 422 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 7F509693A361FE7F1278251C2F2BCBB8B39ACE89C382B053903F2F762829E795 + +Count = 423 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = B7DB7822013CAB59C7C4ECC277D78BDCF97D3BB81CF80626C79F21CDC6C05797 + +Count = 424 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = D9FAC553F784CB91946E56C8885CBF0ECF369ECCB33EE5E3C60FEBCBBD676331 + +Count = 425 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = D88508B3086B773E33653E2BC8047EA73E124FE9AE64D22258BDAA173FE1005A + +Count = 426 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 1D009B0A0721DDC6F72AAB743CEDFA16AC42D9D3B515C71561D9F88003D55AE3 + +Count = 427 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = C754EC5FCC05ECA89FD61914B3FC505AA5AAC534AA3E50694D02B076BEEF119D + +Count = 428 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 153374D9F480B3478E305B2D5DC679718CF544CE492D736A145FD7FA230B6498 + +Count = 429 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = DC6C00AA6604F87FCE9EE1443739926A3C5C445AA754B5DE4597526495DCDD43 + +Count = 430 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = A2273FDA7FDB40F1BBE089765345450924515EC228D414D4A5E3CD9C1D2908AF + +Count = 431 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = A4D90D1E4C309F57DA26D9E728A81B34B12E416487385B14C552FCFBAC10DE1D + +Count = 432 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 16E5608978103F83A62404D646728D9BDA6B6F8A7C49A0C8D5FA1A7A5A75FB28 + +Count = 433 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 1915A2C32CAD3037DB32D814F76BBC63C9C54BF9F8058986B2A27A1DC4BA7A5F + +Count = 434 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = E75E238E7EA1F0B70C399080C20C1A96B0AA8ECFE6C061D7F00CD76FEF69F208 + +Count = 435 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = E24D976B615550D6EC3A5106C2919550D772A78BB7EF90FAC5B8EE377AC5A7E1 + +Count = 436 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 4F53FBB1BBF3627F524323FA47BC50488DE12BBB1CBC7B703302FBCFBAF1D6EE + +Count = 437 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 7892C8AA488376D52B1759FE78FCE76D43B750ECC8D48D6DBDFC61777DD2F86B + +Count = 438 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 0801C424CECAA1A2BAA0C95FF65272956F9F5B33D4A50A0B4AEB406376B9489B + +Count = 439 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = CDC193C7B05B95A631A7B98BAE7DB7C1A4B383C4B9C1615828968756291C38C4 + +Count = 440 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = F523D7B955D403860843B814F1B1903198AD58827A7A8CFE4A756D65F9E9AC9E + +Count = 441 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = A47D38E19A481799216330D1E83A527156641C2AE47BAD968880FD63A32E03D3 + +Count = 442 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 5D8C4EAEDE2A6567B86F0F964E7C18B41E4D62D3B818E46E3AF52EDD1F172E17 + +Count = 443 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = C625B9654D85A3443C1C7D5C466F25F27F6F2ACCC386678816544CEF7545587A + +Count = 444 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 46DA52878B52CD917352B9A6194399D02E533436F2A5D95288CE37D5172B197E + +Count = 445 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 3A5B2562B62185D43ACBD3D91D3B01F6CA14D9FF46FD1537D64230B9D5B7C202 + +Count = 446 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 60BD2898FF082112E41DAFB722FF39E91CF20B19567D6B5587D2FBC7B646BFFC + +Count = 447 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 80B91D777E996EA3336614B745CC397948876FD8D66C6BB8FEB394AC67F6A9EF + +Count = 448 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 347660E1092DB097385E8089C4A8AAA98630FD079DF7935ECE1CFDD8DA40EBFD + +Count = 449 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 5C083DB045ACDA7010ECCBDD3FFEE4F9AFE2B345402F1442E41013F40916FB65 + +Count = 450 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 60C3DDE1898D645EEB04F2DF2766862594445AB5C2B876EAE434A4575415CEBF + +Count = 451 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = AEC34E4350E16119F71921C173BA5CCF2EAA98B7CFDCE54FF411F7F9CFCD92D1 + +Count = 452 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = F75FF70EEEA1A580B55568DDB60D75CF671EDEABD8C2523764F63218D629014C + +Count = 453 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 307B6227ED0E710E67E3B66DEC12AAF64C1ED17D2075557478D4DCBB99232C81 + +Count = 454 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = A04F092488A0376454732693F6502E5C339F109AAABFDED9E9F816890C78579F + +Count = 455 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 22B01C09D450FC8150CF25D5D98BA302C9A43FB0B3EE23B89C0B23FBE4AC2C22 + +Count = 456 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 0BDFCE2483017368676BAAA74CB4822EF8343B96BA4EFB86F18819171718DEAF + +Count = 457 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 72561C1DDA86778E19253BF10EA7D39EAEC67ACB27725DF5667BCADBC9E96E48 + +Count = 458 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = E7C4D7C58D874DF0EB5A45E70A72B41537D958353D2F121A763CDC906CE180F7 + +Count = 459 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 6002F75363E2908BE4E0F247AD7531A9521DE78C3F51CB15163BF73A9219C6D7 + +Count = 460 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 93B8B06740274FD362486F8798D85914EDCF731CA12964C885055FAF93B5EB87 + +Count = 461 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 9C2C2334D8BE001D84A25620CF7E5C1F3E576A52837FBA081571A5397E08659E + +Count = 462 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = AE3DB5D77736FB4EE4EBB9AB904434B73F4C6C0EC3E6312FCFA97E3D539B6006 + +Count = 463 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 4FAAE9604CE617A5AC870BC5A9C9ED6D25ACAC9669770AD5D1DA812FA880E2AB + +Count = 464 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 2AE3DC77B4ED5CC247C642C5C21A69C53CAECF967D2491195CB08B970110C567 + +Count = 465 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 35F1F979EDDA9BF35FCCB7CE079706BBC3CB452C24E82514D7BFCF9FD34A3F2C + +Count = 466 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = AE57790926AC4EFB048236BD9CC1321DFAF147761618895C37019E380D1CA3CC + +Count = 467 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = F282942DD96937B86E074E2EDEF0844903BB9107247B0C83D1316D8363C0553F + +Count = 468 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 7792A84CD89CA0FF590DBAF5CE837D29B8209DD25CF17D11878247AAC4417461 + +Count = 469 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 86AF15DBAA10826589DEE233FC0F341C069D4ECBA464341B78C4A65E0478BD56 + +Count = 470 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = DF7ECEA89604C8C813E3697C14126C46DED0CC802E6B062067C9517DC79A94EA + +Count = 471 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 0742972542D597C378104C67CB4E764EE1D0E127DB7F4871D12BD2B68BE8F100 + +Count = 472 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = ABCCF7B6CA31784838F48BD5449AA52E6AE02A7F31948F8E4FE44AF1FB405897 + +Count = 473 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 1A0EFD9B5FA5A4D105A2A699FA4E8D06BEFF8B6CCE35BD5132B832F91660BCFE + +Count = 474 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 6B0B61BF800F2E2732FDA3EEC38522350665D286FAFA40AA9091543585385C67 + +Count = 475 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 41A5A998BE10BE8B8415B09D2CD4F604BD7D93309C017F34E0394C9C344D9207 + +Count = 476 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 153BE544A747AF6EED01F7B2944C72AEAF2B3AD8BF8318839431A4BD35911883 + +Count = 477 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = F82E5846BA3F77D6E7A05C8B4101A644732EA96AD12788F470DF05E53E7C47AF + +Count = 478 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 0392B6B8DEB0DF0EA7470C8DDD29B29BEDBEC6455DAE9D2B36E60C3D28B9219B + +Count = 479 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = A6EAA415B13B706E219D552E81248D281A7CDE8FF834F2CEE11643DC3F0F94E3 + +Count = 480 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = BC0566ACC5F2D7993A1D689E64AB4A57377261C1C82D3A98052AC691F3BB44DD + +Count = 481 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 19E86208E769E662A5CCA69C1175080AF63B94F2B3D52FA589D6D8FA7BB9A2AB + +Count = 482 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 83D3512F0894CE21113195E32CE19FA9E0ED3B525C8E6B6778FFBBC075531658 + +Count = 483 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 88EB950DBB3A8D5632B4AAA3D4D6DE9405DCC7B1D485C8A489E4CF1989BB929D + +Count = 484 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 24AF730E28FA39D19598A204ED207BE8C3AAA3EF7071B8DF83F8E2E0D3D755C0 + +Count = 485 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = F8F21E92F1425205E492A2763C908E13B4492CF00F4EE3D6792A536E946034CF + +Count = 486 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 54B1633B86ACF07E9045FFF9B2C7F6D8EEE15C9BCD7D2D44364338F91BCF35AA + +Count = 487 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 9DE827E8E7DF393C5646681A9EAB359BA175C9746F759D40D39F75DBFF7ADA28 + +Count = 488 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 2B812F5E85F331D5D97505879BF14F327AF18CD92CA0B3D73F03E0C99E7D671E + +Count = 489 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 0157B8E2E2D1D5D357EF4667D57728A2F70169CFCF82069C28DFA94950654345 + +Count = 490 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 148C59712B70AFB1BCFD32AB20EAB7D811C96B13C9F3EFE21B2DB76E1D6E2375 + +Count = 491 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = F700CC489093960D71B1132D3C14BF54FF2BCA6FC3436C61E67EA3B3F44B4D71 + +Count = 492 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 1CF8509EFE98751EC461EEBFD082B8AC57F15327161EC7E020F718F6A8283089 + +Count = 493 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = E21E2B110AD95A7A04ACA811548919C1A22F775CFBBC25AC8263BE7A3B8BFF5F + +Count = 494 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = B5F85E6776E0FF91819707739D56B51AE0C6A52F50C323F86BB4842447A072E4 + +Count = 495 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = FE6E0E7E81F5CCF4C9AB10131727268106743DC3EAED051BFDDD521907BFCD5C + +Count = 496 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = AB96CEDE8268B620CA209E2B70BBE611382E7D807C6CFA1B6C70B8A39DE8C53F + +Count = 497 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 295B662E45094FC47C4AB873E910452C201E123F607AAF17D1F0D503066E238E + +Count = 498 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 82221359B705B0E5B064A2AD1ECBD40D8130B118B9A631910AAB45AD4B6D76D4 + +Count = 499 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 467CF8F6A73992397134139FC4E3CA8C7BBA617BC653CCB1F2D20E78E2F39F3B + +Count = 500 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 2F7963E911ACBD0777F9E66967AD691E7C778CFD6B9849DA3AC2D1B3E6B95EC9 + +Count = 501 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 7FBF3EC795E72230668C8B9377BB4F091E1F80ED1F4B1B26990A2BF843344D28 + +Count = 502 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 257A6DB2F6222B16C9D0676C07EE29CA426032360F43488CE6CC3E9B71A1B223 + +Count = 503 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 10697B003922832070D258F5683901063D8B78C24082D86A81746A36BB83B5EB + +Count = 504 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 34204BFF4D4F28835FC9479F66FAA835ABE280B81158BEC9F114467122912945 + +Count = 505 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 606C15A26FBA8DF0AEAABE186DFCDB454E613199D3D1071E3A95309F4BC09CA8 + +Count = 506 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = EAB24289BD22378F8DD8C25A7DC80E6A8D3127DE381F106D6F8D06016954C34D + +Count = 507 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 400DA1D72BB54506D238DC9C20D59F4F4AFBC0973C49EBAAC76CF7974DCDE819 + +Count = 508 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = BE1D5475690C5585E17DF240599500A52D62A1970EDE0A992B847C9F95011005 + +Count = 509 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = FBEE18CBE97936B1894DABDD46E4623707845AB15E217461770B64C33537D1C2 + +Count = 510 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 399F2B15C66018D62FF9C8F1445638C8F714F375669636CEC8D528A5592DBDC2 + +Count = 511 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = FD7AB175E26E1BFF16F5D02AF220FEF7E41897021DD52290F5FCC56213E0217F + +Count = 512 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = B97CBB9AA808CA5EA2F1513AE9399CB0DECEA0743E8854F43FC2CF617E5CD218 + +Count = 513 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 0592DB917934AA304DC55771A6C199FE852674E997B645179E19BC052E40BA24 + +Count = 514 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 8D09DD7395105BC822089ABE44E30DBDA485D028AB180C2F4801FAAFCFF19635 + +Count = 515 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = E13337CCCC37632482C58A3B869BBC68E645C4E0982628B43ED777EF9975EC46 + +Count = 516 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 11352DF6E7C52E7AA3FA9FE781B07F901FD7430A92873CE8C650395D8FF4E4C8 + +Count = 517 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 4B5062BC2541073710DDF4E0649889A22982C6D69408D3A4391E9DA748AD67E6 + +Count = 518 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 6FFF64656535C2B85EF99F89D76A832B6F738953B5130FB8050CB8061BF5F2BD + +Count = 519 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 71531D900726DD059457BF89B747C60E2167D90D90675676275FEAE932A49C27 + +Count = 520 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 874E356D7D1C1BCC0740B58C80D6BFAEA6DDB2271D923618DB2E1015629BE948 + +Count = 521 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = A9170C03A4C8B63F32FE4D9A13C9296743B3159BA0D552BE37D3927AE2B77852 + +Count = 522 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 0B22D4D050D3BB3A7EA2AD77310173B0DBD38FB86E67757C95CB4B0D2775527E + +Count = 523 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = DC9159C4B843D2EDA92576138A5750938DAB2D40A199D4B7B9B4C813D6D9ECFA + +Count = 524 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 0FF2F797CCA9D7D7DC0C9A791B7692716ED2D057A1ABAC7294AE439C49C450DF + +Count = 525 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 845D9B6155A00615685A06D442C47360848F1A5CA411B0DFD8DC70D986A9B769 + +Count = 526 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = B9FB74B876C221B8E4EEF6346B29ACDBCC74533CFA9BF5A13F84B22279E7AFAB + +Count = 527 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = D5E66E079E46169DEA3D61299CC0166353E87B0223DD46790F713CB398494902 + +Count = 528 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = CA220A8886B3193160871640D98F8F38ABBA31AE588954531FC924B714E250B2 + +Count = 529 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = 0098426448C8CF19C468ED0A6F2091B798AAB05CD4111F72D387081EF789AEC7 + +Count = 530 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = C580A5977046628395B4EA4C6812A7300EFAF55981B924AEF740CEEFBB3A9220 + +Count = 531 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = A279E0530A8B1CA9A11FEEA4C163C2DF6EC303B0D535A148516319D55EDD43CD + +Count = 532 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 8D31AAED0201C0E3F180DCA95BE1BB80029AFCAADCF69A7E9A480C1F2329EF63 + +Count = 533 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 6DC31C09323D4F23F1626846706A17CAAD1F7EC43E9542016E8B78AE17E9B5C1 + +Count = 534 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 106D6C6FDA581F1CF90B142F3AAE7910EB2767F09E3E98F4D74E6B497D2638B4 + +Count = 535 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = D43A40FC4A80A2812D9879B326CFEA03D9474ABA00401428ACDC4E586830FF83 + +Count = 536 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 3A120C35C73360B19F9BFE4781B91965E99F061227C8423A31E9C83E91C713C7 + +Count = 537 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = E142A41E70E2BB6BCFE8C0EB55CA7917620DFE5EEACD3ABB48C00ADCD6FE6F9F + +Count = 538 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 3EAB4F92D02A75DBA3C298B1F98EC9D3D952A11B868C86A1B46903FDC6FC9400 + +Count = 539 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 1A41FF1FE0EF0004D3A9C1D3CA6F1FB1B3CF241D041246FB477D0F25D6A108FA + +Count = 540 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 4A818E0C11398E8DF10CFBE7ABCA1B1ADDB0A16B6C5F54F59F514AA095D5301B + +Count = 541 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = F3DD2E09A6D61123D01C5F49E89A46ED571A913017ED859F84D2E3B6A86A9A37 + +Count = 542 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 983DC8C4B9A135C76266DE0AC4A1C75239D3BB5E5E1410DBCD4D1E5DE1D031D9 + +Count = 543 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 640C4E989A057C3B4FD4247F2DA859C46FF537614ADAEB5BBC70B0590C04D3C7 + +Count = 544 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 412DD0C14AAA01FC3B68142CC32AD02C0D28E0FA6474E991E52FE444D3F52BA5 + +Count = 545 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 6EBC7C62364F796B53CE72399C0CB546215D0C615305A3DE5251C767E0814EA0 + +Count = 546 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 064E76E2FFC3609E37A9DFE823BA8F20241BCDABC80EEC14A67BBF3F3A2A6727 + +Count = 547 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = E15D581F8D8F4978B82346BF25901BF7A7BE7E36EF156CF4B44DF6336889C778 + +Count = 548 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 5494024F816B1D6816010B8AAE83CB4808CB2E1AEBAC0F409CFE08419AE8B567 + +Count = 549 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = A2F845FE09F3FEDBEB5F728FE497664FA8FD458EC3E2B406324B30CACC551812 + +Count = 550 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 4D31E50DE33A7A4E676E525578FE487F751D88FF9838088919D8CC6B5D193184 + +Count = 551 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = B24E7D795778FF80CC6E998C872E50EC09811323DE1D921B693E0966D873A712 + +Count = 552 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 23E39C96C73FB315232348588CB131BF6C364D3E9C62011F459F5C347399687E + +Count = 553 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 39E4D87A13C18B27A0AD9CA6BD29B51516C3D8BCC013CA2469D123D973F90672 + +Count = 554 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 32FF243668451C4C8BF5D9C9CCC738E8F2AE5C2A91F89C7E86995A2D92AC0DDD + +Count = 555 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = AF5444A7293F71F3182DAFD2911CA6D860F6A323C5F7CA35A5AE915A01F1024A + +Count = 556 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 1A07002B58D77B44A2E52B680A911802C7CB5073036A1D6009EF96E8B47EC8BF + +Count = 557 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 6724861565C11B633A1E80C01FC14631547BC8A15E225092CF7F28D25F03BAFB + +Count = 558 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 9AF32C72251B9DE503721907E7E716973F111ED2EFD67B003BCAEC432DA3B6DC + +Count = 559 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 993C4169F88397BA58459507F6D392D3BA0922622AF5038F88A3ECF36B46DB7E + +Count = 560 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 941312A2EF5DD75DDDB0A9F706D9523F5BCF746A977BF92A5CBF5564B3C922DD + +Count = 561 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 38C19C8584A8EF47A1149EE978A37124506823F99192E95DD3C77F9FA8A5B153 + +Count = 562 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = FC88AB92F5170FF4782367B265431248BB48ABD7E474CB058F5E872B40F15595 + +Count = 563 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = C348ABF929410E07AF64331A3BF1F6F66656FE10036DDE35BE2CCCEA18D97002 + +Count = 564 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 1AFECD38450F2882FA5D8A79E3E8B793FDE40C3AA75FBA49D73AD1A57EA59447 + +Count = 565 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 5162E214FC21293004A00A9BE67B5681DC8FD29BFEEE715953066B39830BA931 + +Count = 566 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = D10DB00B7393C6F7B4D331D0F9B4B6219BC091840F1BD5729E9BF79E337A063F + +Count = 567 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 945FC7F23D5E743769D3CB7D7E24175BF3BCA72594A51470FF161B011789C02E + +Count = 568 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 42A9B64A28FB4CED03FAB3A30E417125522C56B4544C68B858E530D9BEE7DD4D + +Count = 569 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = FE883BF635D0DD38654C4CF3FC88F2AF13D13929E8181256B1B28BA8A9151D87 + +Count = 570 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = CF1FD887C28923C377308ACB1BB3759376DA5359B76E42117A74BA2D6A5D58E4 + +Count = 571 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 1B23D264437A042D503A22CE6FF7047121EA9BB6C3F170C30CA21AD99327589C + +Count = 572 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 155D2FB2C6EFAD52008243A64D14C931BB5F9AB33B0711AB3BB852E1F527D748 + +Count = 573 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 2D0CAED41B5403B67A1F6A08FFBA9123C24A4C8A53890DA4D9201420819DD644 + +Count = 574 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 20EACE051757D3FACD720575D0B2505CB75128F25317BFB2FAA82E8037B5B1CD + +Count = 575 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 7089D18A78927662C0C9237753C44E07D04396113835825BF828BD6732B7B83F + +Count = 576 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 8C3B49805ED9E067829CC680CFF77CA29597C54DBEC1AD420248FDB636C258C1 + +Count = 577 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = F08F4A4AD566113890D3763B97F190B9BBFB2A5EADBECD1A60F20F16E7997AE2 + +Count = 578 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = DAA322C2CCB77BB20D5886693E6D5C45ACA1C5CFF28995AE0CC1D89D0AC1FA67 + +Count = 579 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 75975D341C78B515751A178977D82E50C45C3A853A5E730F40B5673CF7567DA9 + +Count = 580 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = D02221133DB94C6A2679F7A77841D162E849E1F4D0724D585F6693AB322D8F22 + +Count = 581 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 828CD525C01C77FB1FA72B60C3FDDB71A26C62B8ADB717C3BE77AACD4FCD82A9 + +Count = 582 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = E5854EF91E45C923D906B8FD7119B94D5406ED23BD2BB6E83DCF61B1D6FBCE67 + +Count = 583 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 580E7684E054582F97874D9BC77CE560454E056E3747CE2B465692797ECB31E9 + +Count = 584 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 9DB1D2BEA123EB04F8DF4DA71614FC481C120C5BD04CE120667E1F71022F9415 + +Count = 585 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 99471EBD99E49677AE3E91D15C09111FE02D8C5EE9BD04B12780860F93BDF750 + +Count = 586 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = D5895FE4DA5659A5DA6B13C67E07BA15D35F6260CFF5494190E36F7135BCFCDB + +Count = 587 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 9816A22F1F7807E29459713A976F896AAB1821E45036091214506F541A55A5A3 + +Count = 588 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 2E83A6BC0D9E26BBAEC8656E766DF1D51F9796E335713B1FF8ACBE96330E90E0 + +Count = 589 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = D024987221A473D446FE12A95FCA7C8CEBE3828B9F1C87973D77554E6D0965F1 + +Count = 590 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = F2330F573ED40C557417E94D7CB19C9D77DE4E4CD482F850F60FB06CC2FFE16F + +Count = 591 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 08B24DF95677B61B9D1781EE3ABB21A8FAFD07505FE75D554F4FB4205EC68B3E + +Count = 592 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 813A629AD2FC7F1CF5D82DA350A7168EFAD7160BBED11D0918C65AD550CAFFE3 + +Count = 593 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 248685861AAFF0F09ED687C86DCB18EE3BBF3AEF987641F97D92E55D4788F4F2 + +Count = 594 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = B60FF789606F3866AC577F51CC462ECD7AD42BA60AEE9F3C62E589424C654708 + +Count = 595 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = F4B9CC86EA85CD5FD1591662856B264A9356D7322842A0EC13834C0ECAB990B0 + +Count = 596 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 595C2AF58665AC8267412DF97EB2BF7F87024A9AF0FDF8270FB691EABCB13C53 + +Count = 597 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = ED067EBEDA2A04DDE4266BB443D53711C64D9FDAB61C06033BBB8BE96B47E1DF + +Count = 598 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 4B2A7188E1F95C8DDBF4065C15FBCD7E73F8A499B0B15A3401E53D9717C7A0AD + +Count = 599 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = D55F9B515C593137494DAC3FB928B306D3A04A5BE086C521E860CB664104373E + +Count = 600 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = FB93604E81C739086C2109953C0CBA5AE1062539ECB4AE5B0CAA75E010105F37 + +Count = 601 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 9A5E53D7016E2C77E68035DA874537ACFBB8FE8D9CEE39E835D723CAA9151838 + +Count = 602 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = B4F82FB870E00D40A11D41286E28D3F5BEDB2F0EED6F6504844C5468706A5F2E + +Count = 603 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 9B69A2569D3FB071AB6D95B8A0373DB749ECF10DE836E7D71915C0310BFCF33D + +Count = 604 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = EF7D66EAFCEB920E8D8660CBEC9DEAD75AB876B0BD7510306C3C615C1B13FC78 + +Count = 605 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = BA4DD47F58E198E1599F4D52885ACB972B052B147445B64F9C335DC6FB27A65A + +Count = 606 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 035CCA7D653D8EC7EF95DAC8AB7195A68F9B8D5E613CC29DAAA34CA374FAB921 + +Count = 607 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = DC896BC976ACA6B9BA6CA6FC53EEED73BE8585C5C1C1A61C7459D051C9AFCA2E + +Count = 608 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 5178F46A7F0DCD2C36185E3146B985E10EB842615E833EFF889895B518F5B298 + +Count = 609 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = E6913F0B3BE23ABFF4678E7548A8520429F666A596B8E758961D841F02B9625C + +Count = 610 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 41D2C759AE505D1754FCE0BD2EECC8EBA8F5A4DE15A217F0CF160A4C28BF5A2A + +Count = 611 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = DF06C9D6FD7D7A6C542429EF32F9B0F5F926B91B299C9A970AAD3CB63660AC47 + +Count = 612 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 7975F57D59F393F6F301B6B30ED9BFEB2D1B2A78A1F533C1343FFC9779B8B315 + +Count = 613 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = B6AAD0EBF6808C1FEEC75569B20D9D0CBA9FCED095D5A1B0FDEC73E36B32BD33 + +Count = 614 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 1458C3AF65DCE3A6C6FC4FC4253A87A4CAC2989ED04BA73FDEC7F52FBEBB92FB + +Count = 615 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 3A317B2E8D6C8578CBA412A4F02A2D9DA809AD637A4234028A6E2ED743033C4D + +Count = 616 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 24DF47D7599EBD90E85FC47719927992601A65ED5C42ADC75713AEBA1C47E267 + +Count = 617 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 80EC19D9C1E91309F2261CB68C295A5DB8B32EF20B9586405E963875770038C8 + +Count = 618 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 4DF2674632C86EBF4812D2CA3A20F30F058ACB327D0D16E458486D9BE20E63FA + +Count = 619 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 243A56697038B8F25496EEC2182799448F4754EF80F3452E9249E893C577F306 + +Count = 620 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = D8B6C0256BDF04FBD26A4945919FB383E86D99EAE22326CE5177CA2F34C4A1FE + +Count = 621 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 1FCDBA5B6A45602859FE66BABB4C05FE972E157577DB06D579E4C3FFD9821A8B + +Count = 622 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 3B5E10A37BDF417486693AE50AA568404A574E367240DBDE7B5F7471BBF0AB98 + +Count = 623 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 8E1F66C18F7E48BFC745DE2BA5FA1F7707C61B68C3BDA1DF666B3864D5235A52 + +Count = 624 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 9B174286E66FB0E7C3A2FC6C11AC61179B2572ABB583866F39FA36E61937CB69 + +Count = 625 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 8FFD74E0092DB12E52B60145C22E867593B08E1E1A5A8F8D0FBD290747A41DE2 + +Count = 626 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 24EC4AAE8564A97B0EF88FE20147ECC334B712C6AD65C847C8BDA21BF25A45D2 + +Count = 627 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 020644B63B845E23B38F842EA818389833D2EF3FE25AAC44C5E2C3E3ACF017A6 + +Count = 628 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 113A14E9FBD7EE4E12FE4D117E1849AEF00AAEC8F6676B719C188AC171A9BFF4 + +Count = 629 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 234ED3242D8FF42B05A10DEBB76509AEE9B9D61C08FC5C2B1C64CA3407193592 + +Count = 630 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 6D98652B6B8B4F0CF6FAC834CB9491A7B09D651AA02C4AAEED74E83E25C52B6D + +Count = 631 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 5535D1D6AFC2E004599E4B8F46C45CD908C9DCDA5216F8833C74D49B32F5C242 + +Count = 632 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 77B22069ED0B76FEE5C7ADD1CEB7B2D743EBEFC6B1C3D64E1BBAF3C788CE0886 + +Count = 633 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = C53DF5F46D7C80AD3207FBDFD77AB0681BF5321D01175137C56F438BC64A8B50 + +Count = 634 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 4F0A4BA8646010A4775787685ABEF891EB8C0986DC3CDEC45D3418879C385D40 + +Count = 635 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 95EBC42B2A080F98D18D70EA261961CE7BA92FB2A5CEC3A507ACA46B3CE50488 + +Count = 636 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 93B326DECBCAFB2C8D37422E7ED01D932B370768B2000C936E3123CF6B572560 + +Count = 637 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 9385DDB6053FC414C4CDD413FE3D5C8EA2D40A5AFCCFE46EC39D20B702BADCF5 + +Count = 638 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = B5B0A480D70450617C5D79512636CE24C6D6FE803B708F18D3CF3AEFA4843A73 + +Count = 639 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 96586A1B726567D8FE5619648EB5EC9CF32F37ADB0268DEBFD3E9180B052E357 + +Count = 640 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 4C91424F9360DF33C6E62A30149F20D206BF5F394DC5A5F114E4D698E8F1993C + +Count = 641 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 212939B87738833E24A07F6E6C1B01A97CC49727C26A0CB513C407B2C0DF342C + +Count = 642 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 3FB871CA1DC44E004E3C359B6C971BBC110FF6F1655D4D3168F588DAB05DA0D0 + +Count = 643 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 1118C034B69740F75C9CD5CAD4DB0E3963438EE5F5C675FFEDD0DD558774CBEF + +Count = 644 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = B8E464DF1BA829DC036D4251DFFC9959AD8275FA665D296A7458F7CC42385BA9 + +Count = 645 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 4C2DF0E83AC81AAFB0F1F1A4F40841A62B8B4EDC7816A0597770456A1354A897 + +Count = 646 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 69046327E3BCB43A6C1BA410FFFF544EC2D9A08ACEEC241A1535B692F879B8A0 + +Count = 647 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 383D4435A01E09BBCAA67913EF337F2039C5C5041EFC3D53F11413B98A100751 + +Count = 648 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 9621AB897291DCD61C8415EC2153ECD6014F21A200100EBF1DD811C136F8E8EC + +Count = 649 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = D36AE0BD065A0B951294C84B97E9BA799049507CA369B7C5AE539003B9691997 + +Count = 650 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 892A3E6550170E89A35B9583AC35DC2B591B1A1C10563A4F6BFC365567712551 + +Count = 651 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = E92B0F0330FF59193261A15429720977501A0927811CDB2F743DC650F0BE2AE5 + +Count = 652 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 836040F65CA1F1445FF8971D9A415E75E72C473AB8F95D432933CA4DE2C73B4F + +Count = 653 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = F629742A3946E569C3FC0410AA25109FA32A1F1CFFC720FC64C516A38152D55B + +Count = 654 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 508D5F067035C1529406FF041483DD36819890A3FA52998DB8CEC57C1E865283 + +Count = 655 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 1B179F21852EEE419E8A3917B939BC607A47CE847E4EB0F2F7D9F60AF4EBCE77 + +Count = 656 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 1EDF1818C61900713C9256B8574CE384644076A9E5B313912731607B29E2BCA6 + +Count = 657 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 8E3F783E11EADDBDDB111536BF43A5E79954F844DACDC53ACCB2671E22E8D0A4 + +Count = 658 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = FE7D9757E8F6ADB0D339340C235B618B0303D35D0732BE47CC8140621470EAAE + +Count = 659 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = DBA987558024E3E692CE25E87144FD264C67574FC5C9FE026357F71D4641745E + +Count = 660 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = A6EA55D217AA45C2EDEF24E3A153D029041DB473082017FA5D5815FC3371BBE0 + +Count = 661 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 837DF70D965136B6F4C903DC3687B04C22A06C7ADB7F3FE1C960AE6A3C0BBBB7 + +Count = 662 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 30250778DDE5E365B6083BB642BC3C38CFA20EF43CB5963BC660DC3363C3008B + +Count = 663 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 2CA23D217079783A11FF7687E82B5C4598E831DCE8FBF41B8CED9891EE00E7C9 + +Count = 664 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 8C34544BF66A5B7AB458975B792CFC5E8632EE1E1E75CFD3586166D1F67E4880 + +Count = 665 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 50182FB4EC558EF37A2F1F574882B4E29145829CC55C9A4E90FEE75913963B76 + +Count = 666 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = EEEE648AA2B7D4184BE9CA0BE57DA7D7D6D83FCA2E55DE0E96F75125BCE1CA21 + +Count = 667 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 64727CD3DE7F8654F7F7C9B9CC07A6492AEC426E823872539D05921AA5557669 + +Count = 668 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 9E892E5BC19138C5BA7C6CC9FD3D4119393D06D930E12FFF8810C56AB2F004EA + +Count = 669 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = D8F44287C8ABFD71557B9D587E73B62F6AEF55B5137F615AD452D5CF0BDB1E26 + +Count = 670 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = D4063320A0D30C1804A7E5713D888606170690B15EAA812CC016D31D7DCFCD66 + +Count = 671 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 2984E4CAAA4E754EDC943F4058202F09D66053621EEF50E9D8CB2B82DB049352 + +Count = 672 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = C0142872051E7FA2A23D18866076B7D0D9235F3647FA234DB74963D5A5848118 + +Count = 673 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 7BEB9221E633704B860BB41CD69DAE627A0F67AA1B59B656620E5623DDBE409C + +Count = 674 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 726B917A07404DF055E8D830A9D43A5E907CBD84DFE1AAE6EDC97E55B9C8C48B + +Count = 675 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = E821317318D4774D0E32A0F7A2363149A3105EB85DFD66224FE0ACA8BA7C6F91 + +Count = 676 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 4B6220033267DEBDE1B9DEC7F2150B3BA80F37BFF17CAE7EC574899D5DE07E93 + +Count = 677 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 882109806C3DE6229B2768DCCA2ECEC2DC265E5F8A9C098AB8869271105DF64B + +Count = 678 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = AF185657B73613D0DE2D61E674F40D5555E4A72ABA0EBB71432EF7E70A389EFB + +Count = 679 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = C77E23D843E80B3E8ECC431762F3A21BF472595FED2AD6DF4175BEE5B1A8E16E + +Count = 680 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 9950EF74BBDAFCD7E3E55B265E02D3539B206F812A1AFB494E0E7F812307406B + +Count = 681 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 90A9FDAC5E3C6432CBD45C3EB50913FB75613A07B8E7057786975F2386F6B8A1 + +Count = 682 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = D41797FCB2B121E9E6C3E85DC5943C0BCA32FAAE9CE3EBAE3F230265BD2B0B63 + +Count = 683 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = F291D6C9884EC88EBF59328612E685C31D852965A3CD368C4B567190BF3452CC + +Count = 684 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 2CDBE17DA73BA0F17EE43865898033926AC5F3419194606934DDA3A3CCAE4085 + +Count = 685 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 3ACB1828132969F66ED05DAB84224FB3A2A9341D7EA242061BC32FA33DDCD905 + +Count = 686 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 23171D4B101D7729176C0B5A1A7288E1EB86EDE5FB2D7FEDC7048A8FB5C5E519 + +Count = 687 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 97423713BFFA492F52EE0925A2F3FD4FF036D25FB5D208A759C37D93A0D62C9B + +Count = 688 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = EEFF3BF1E6512F247C1BA6BD4F1F13BD384EBC61237408C253A5E0F05F4CDDC6 + +Count = 689 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = B1C360F1C80E02DD50674FD7C800021E06518063675910B9E5F67A9E74562542 + +Count = 690 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 3E8D81C5672759B5E129EA0C9DC7D9421782758CC21A992625E54B5516C8C17F + +Count = 691 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = D4028150DB8BA58AC99AFA5FE8C4A295151E494B67B83CDF16219522E26401D7 + +Count = 692 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 3E65429CD01E693905C232BBDC9A3BE9A47CD7696D6098A611F3632392BA4BA7 + +Count = 693 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = C542A0B2A8D9AC542EDBA8E523E2ABA34A6B5A1D89F8C1918B389E034A29A0F5 + +Count = 694 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 503B807F252D13E9CF389437F2EC4AF941F83DAA6CCB953991782D727DBF553D + +Count = 695 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 318644FF1FF9B2A77ED17762B88D10DE357CD3C38E0C78BD9E6B70E978A3DD3F + +Count = 696 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 6B604C7C01674D97EEBB442F1C7E6EBD7DADD3E273FECF3BCA2946456E498E97 + +Count = 697 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = A41BCBAB42E8C5E87DAE1D50BFB9025B7D43730B954B4D9ECDED8F669049DFB4 + +Count = 698 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = C0F917E5C57B855AEA38D76F674ABB3D1D6E35752EB41FCC4BBD748E34EEAC31 + +Count = 699 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 8571325FCBE4D2FFF270B2377944B0D5FC452A757999353580F72045034E56C8 + +Count = 700 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 0920407B571683581A2108D45AB3796B8D0949F8AECF52ED17771F9358A7892C + +Count = 701 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 5699C5F5665044E2D2C68FF431573CE454747AA63ACB2CA71E0966146C55CADB + +Count = 702 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 625C1FAEFB70C5F8163F773488F8E6D5A89E3F6007EDEB263D8DF3744CD39B04 + +Count = 703 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = FBC7B14BCD2FBED27BB291256CE2CE05F699C736EB26C708599345EF8D0B41D4 + +Count = 704 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 4835B97B2E7F8A03CB5F77C84A35903A38F97623130511B4EBDEEAD86F6BBB1D + +Count = 705 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 154D60284B41B0F6BF2FCF8866D1962D0ECFE3B888D0107384D4C863273FA50C + +Count = 706 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = B4B8EE8270E5DED53468DA14A3E57EA3003EF0D89124329B451F6A0D7C8F468C + +Count = 707 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 3F5D1C019913C1E68A2D1F0FC12145686BCEF862D4EE89B0145BEA5B92B15D6E + +Count = 708 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 9B3D8705A2E3F28EF78D04D4FFD070464F5F04FED54498DC2D4DE470ED069F32 + +Count = 709 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 9C6972855CBF4F68785F554D0CAFB353390E04FC728F8E4BF66EB6981102E595 + +Count = 710 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 4E62B0E946D86BD46105FE47B7E4BF8B83212632631661E928AB11DCC88DF4DE + +Count = 711 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = D44A23DC6A383A76A2C02D3379DD0BF03C7CC59B0F69A67C6420ED82B87E199A + +Count = 712 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = E32E6EEB7359042BBD101A3B9F7C4D1C7B31AE29037E353B03D60CFEEA9F684C + +Count = 713 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = A1FCCF647B390493564618F7FAB6DD6F7DC1B9B11BB0957F225B4456654AD2E1 + +Count = 714 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 2B4B4B2DE4DFC63EE2711D0445E0D1599432290AB12CE78202F926DAA3521F0D + +Count = 715 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = B1FBA3A32987C0453C3196F601D7D124E9BAAEFE460EA217F04CD42043803249 + +Count = 716 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 92BD89BE5793EF152E93B245F94B1A1977CB13D71B5C235058B400466B6C3043 + +Count = 717 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = AF36CDB981102C95F987B1B315C2E39EB34F2D135988C8DD6C0350989B620685 + +Count = 718 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 099F7A636C1EA5D548022B52174D3EDE961D82A612BC1276B4814B89AA091453 + +Count = 719 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 71DD65024E7ACFC4C2E45C12E118A8ACB7172C90005C7B8359C1344CAC98D1D5 + +Count = 720 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 72EF69E639ADEBE7DAF12BECA68B225A7EF9E2FC21E0F941427DBEC4D20D190D + +Count = 721 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 469AB0438CD12C55BC91B48FBDC99FC5BEDA241456D29FEB59E69775C89AB938 + +Count = 722 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = AD60D4806BE27A54C0044D84CB9E08D1BF97EAE9C26DCEF51AABB23AE2E1E386 + +Count = 723 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = E33E71ECC8674457EC2940D58E114F537195DD5AD888E3125A4CB947DA0BBB4E + +Count = 724 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = E93135BB5AF27BA7721D6C8A84EE324B997C7FEBF1E54700FC271C10987FEF1E + +Count = 725 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = B1D191DB20BF4CA58F6512B6890D9371691266E13D88455BC93B6878730255E6 + +Count = 726 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 17F6927F02965230234009FB99BA37C4BB501C1F27EF8B2ECDB7604D5F48649F + +Count = 727 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 04D64606558A4CA675787F034D350CB3BA493F1DF5230CC2E3ADDB02CB81BD67 + +Count = 728 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 406DE89B39AD44F3DFF27B5E0A70D5CFBB0DCE109E9C86CF227815AB2150C52F + +Count = 729 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 793058F4B01AEE5A5F78C307311B139DC9956E547407A955FC7954E5743B551D + +Count = 730 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 2C19014649F13A21C0017E4C4E0DEBC76DF7556EAAAF7166CB30BB255191B4F1 + +Count = 731 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 41D810E5DBEEB698A9631BA460C7BD9FDE34491EC9995E3DD46BDD291864DC33 + +Count = 732 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = D29A773AF8FF79E71BA297122D220F46808E9E74D2FC50FC72CD9DF0C5FC9DC6 + +Count = 733 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = F5E516B9EADBD951AB8ACD78C0E550BD57A711D07EB4E0CA9F7AE20144DF5654 + +Count = 734 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 3A42188C5D69F58EA70818ADB990298491B5DD654D6C32644E3F5BD98E7EA2A5 + +Count = 735 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = D6D0DF332D663748FE6B269563B2FDED9AD9EC9E876E6B348417D3C170D6D61E + +Count = 736 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = B049DA544688C637E67EEEBF113BE3078C502954F158223C4AAEB6993E5E53A0 + +Count = 737 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = DF2B3B2F4B36EC8C7D890A19676E09C8234DEEF882DF6915C9690A634EF8B52F + +Count = 738 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 26ADE2BCE1EA8A023A7345BA5968A9FB51053122AF8AC2BB668898A2A481DEF9 + +Count = 739 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 1A9AF4AAE40974BC59F808C95C0418767174389ADEF9CB796ECFDEC5A9B6B9A5 + +Count = 740 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 8AB1802614520DC041D4BE01FC994C9F33199FDC8F6974456A7CED501ADE446E + +Count = 741 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 24D96B7898F76EB1EB165F7A2863A42AFE788DD1651AEEDE09CEFAF49D50665F + +Count = 742 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = C7BDCDE301A202973B70D2CD265E8CCB2C250CAEDE0934DA53958EA3AE299D13 + +Count = 743 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 69296B6D43E3C8A76A73CFC1D546F2B9FC2ED10C122B701921DD07894BE62216 + +Count = 744 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = E82DEE836F375353D74C1D0092FBF8F85638CB05D666A7DF25BB6A239DF19FB4 + +Count = 745 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 4EAE8DDBC030373A5467B223D85892B8D372C83EBB3E1C02C3B803B98AFC5218 + +Count = 746 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 8FB8C0D3D349416E625AAAA6A8211E9CD2A85E431274BCAC42FC1B830408562D + +Count = 747 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = 355FB129B885FB059287AEEE879F8AD4835A37EB58635AA91E101D87D379F9B6 + +Count = 748 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = ADB8FC723FE365A9D218FF482356B3BBD005EA98E2E01BCB146B6260BE59B2F6 + +Count = 749 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = D2F4D5D0F53B559682A3B9F95883BA52F058E6B818C3658F42E1C6FF8A521C3A + +Count = 750 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = DC7FB8AE4E63DDA2E1FB59B35DB00549E84E959E78ED1E39870B06B0B3A35BF5 + +Count = 751 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 892921C5B1BF0655880C9996D03E14AE98BF0047338426C35CCFC39B9096B82B + +Count = 752 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = A9A738CAC925EF498C0AC84B3F8A0523F1B4A1BAF19340F98938D28B4345BE25 + +Count = 753 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 7C9A2587B3027B703BCD3366E430C389096D364BE6A464451324678CB846AA22 + +Count = 754 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = EB29B9E4D7F2C9D5EECE5424342E6BF9683DC86A1EE9D397D006D2F54342C792 + +Count = 755 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = BD7BA888A4AD69F0E0041ED124BE13C8160BF4BD8925ED931A557094C377CBC0 + +Count = 756 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 4939CCA1471A4808FAE96D4BB62C175EFB5967F69921D65AFB8083C0F1AF2F73 + +Count = 757 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = CFEB28760538B3A907EAC748D8A4CAF2ED6608E8DDB9C8521DA79A2DEBFE8B18 + +Count = 758 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = FCD28D5E143926FFCEB060C43E51C992B6A6C7473870CE456FA40FD2AC511718 + +Count = 759 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 4207500CE899865D0EBC255780B8171C5BACCA5A4562002DF1C5E40945796D08 + +Count = 760 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = CF5AD5B9E87A27C10505C2ED08614FBDC33138486E383DE98C0BCEFC22FB815E + +Count = 761 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = E48D3C9EBC2FC2FBD2AE4A391493A82B823621C67A2EC767515CA1E752BB48A3 + +Count = 762 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = E05622020B338973376650ED8C20819D0B45AB71648E9BBBC266F3681FC05BB0 + +Count = 763 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 917393AB182554576B451C90357BE7610AD93F217A1039AF68AE274CF242E57B + +Count = 764 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 93A362FCA1267705C1F665C8467D591D37CBCE791326531840B35C96AE436B20 + +Count = 765 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 4F2898BD981D6C99415D82AEA1A19BD529CD319FED7F5F56C0244D8C870E0B3D + +Count = 766 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = E731913462FBFBEB2EB51FABC5791B2969EE665BE11CD786D521DCC059CD96E9 + +Count = 767 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 92FD5AE9500A609C15D083B46185E5DC29D9021733053C15C10C0F6012072C6D + +Count = 768 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = B7DD5A05F645B70D405DB29F4C64100E8AE508CFB131DF500B91583DE4F72AA7 + +Count = 769 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = E52EF09059EC9FB2228240B2D345D67101C592676BAC94DB0F159EB23881A5D7 + +Count = 770 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = EB3D5F914634DF06F3C93218A199C4A8A908C92931668C0BCA9786B8379A6F08 + +Count = 771 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 609043AA76284CC53380505159D00ECBC80CC715E7CA63C3EB5894921399D69C + +Count = 772 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 985DD451E694EC2BA4F1E5919DED476B88C1EDD7B00FBEFB31AA637F0786FDA0 + +Count = 773 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 8305D0DC5A04CDB4CF60A868C45E425FD2876C3EAE022866CE6119892E1742B8 + +Count = 774 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 09A1730C2CC30867DFDA8FB5B3530F588B0274F5CD0BDFBA53B54541334127E3 + +Count = 775 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 8E356083DD47FF49AEC244468FF1C11CC27446286542346F7DC186AF3F25173C + +Count = 776 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 9993847EF2E965E37E14EFFABB92946ED33160508F85FB085190067E93B0BEBD + +Count = 777 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 7DDDD27C5104CC4226A4AC7AB8CAF8DA0F53923E37C993EA3D635ECC50E613DD + +Count = 778 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = F7E00049797F454AA53F589F59A6F6EA204E52DE1408D3329C03113D35A32B8C + +Count = 779 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 8CA048D22C23AAED8BAF960739659A9E82E1245967BD589A2D987381C86BB7FB + +Count = 780 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = DAD5D910422E35BED35DD9C480141D279D87C13FF19ECCCB38C9467FE36CCC9B + +Count = 781 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = A204017BD15C66394B0921FC991E2BCA253E31AE514590CFED8B545FA48809F2 + +Count = 782 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = 855597EFA90AAD28828069A1B3AA6D6B105671E27089FE84A0EB66E68CB22CFE + +Count = 783 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = B469C64CC0A20359CBAAC49718A4030E6755BECD6ACC56B6F11E4A14432B5305 + +Count = 784 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = B59E9E04C266D95BF59ABF009A2E2D96E1E3E5442D9B0F5FBB85D328A7D62115 + +Count = 785 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = C9382B034C1E3632F7CA022BCB36F9B62CCA4AF10A8CE41C7FBAA1B6DCAE5C5F + +Count = 786 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = 178E3931374DEEF6317D03FA01781C7AC34AC253403F898468F1578CA4C4E201 + +Count = 787 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = 13EA60E7A30C17F5089ABB2A9D9FC65DFD6FEE51038FCD35EF3E3F62FAA4E1E2 + +Count = 788 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 1AE87C1C3EB9A6F58136203323B6B264831734CC9A159DC89A6259CBDADB4ACB + +Count = 789 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = DB898C11CED044FE905A33FE0748AEA606084D98C56A8524DA4D7F8BAEA63E8D + +Count = 790 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 1F9EA83CDBCDEA85F7AC4F40F8ED2246800E7B634EC69D4578CDB1467E3C29A4 + +Count = 791 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 849BAC8C5B5434AC0670D6D118D5AC7F30DC903C859DA476A778995808E2DEA9 + +Count = 792 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 222AB0B56CE6A06ECEA274C3C7417D2F4560717CD4CABA95326CF9FFAD0BC027 + +Count = 793 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = F09E0F9509184F483AECA68DFD5C1CC9997357B8FD0E9BB82548D1B23DC3992F + +Count = 794 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 5BD90444E1646C8A5CEB16C3660E2647AF61E721A94C37F8116E42E28E36762E + +Count = 795 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = F173CB8F9041960AE1DB61621CCE141A57F393E1E9CDB53441E40461DDC182C2 + +Count = 796 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 5B408F44D528C205A0F14C8A35C2B7A05E7B62089326C16A3351C459B45E95C6 + +Count = 797 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = CDF0F299D9F72C90CE8E772E68BE16F113BA9FF7804BA930B2085C424443A475 + +Count = 798 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = DAAED66FC765E717E67E6274F9615D53E90E963A8A4B8EAB979671644489E5AB + +Count = 799 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 7D8EC719925E376B722E5178D5441FE94C50A7256E4C41D74D3DE7F1D284FC28 + +Count = 800 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 82148212E3872BCF325D869D9F28F2B120F3CAA2C3E62320535F2E7AEFA41B4F + +Count = 801 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = B899DFD239454C7178E4F19EBA9B4CEE1754CE7FC27C4DE8BFCBF5555B97D457 + +Count = 802 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 438E61D486CF9BE2E28D3A031B62B5B3B2E9620E7DCF83005127F8D1C83E677A + +Count = 803 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = C1F42EF82ACC1352A24C40B361601888CB115D26B95734FCFCE4E23837CC8F6E + +Count = 804 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = A948947323DF6F005C96A58C4A793B743ABAC504288D2607268F7D3B1CB75464 + +Count = 805 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 523419D397253980CAE907426ED82A1AA53B5F9323A22B92795620589D1EE978 + +Count = 806 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 11F42289A98BD87742AF2E8025401C89279D70A2F18B0D63F5F598835F149CDA + +Count = 807 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 1B159CD2CD72DEA73E261F9F50FF98DDD2240227F3D4BB17206B762663868F7D + +Count = 808 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 57F288E9D815EA657F652C8997F4371BCD6CB0D4132A251511F6A779806CACDD + +Count = 809 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 72221B8732C03FFD211A853993CEEA9837422A09FD946AC7F7CDC2117AEBEF3D + +Count = 810 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 15BB77C74023F4ED37926D9B2623C77D33FDA2D5FEC0711B3BB8B1CAF63AD716 + +Count = 811 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 153EED5CB18E125E1B7A39A45927F6DCD991A3E6F8E55FA59371963A388E79F0 + +Count = 812 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = FC95CA81C6DE4F1B0A38A0282B4CC74FD39332E9E48158807460F5AD805FAD0F + +Count = 813 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 1F0A728F3833B62AB8B55F5D1CD3869592CCCC4EEAC2936B7B8EF0A1CE16E85F + +Count = 814 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = CA375BB96F45AC00CB92F833FED8E86DC56EAD2669F24101BA2C329EAE449838 + +Count = 815 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = F3A6E38C9C911A458723EBD1B05C5D8F6AA9F00A516EB7842B89DAD513AC4F86 + +Count = 816 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = F1204DEDDAB9CF7E9EE18F8362C17F95BE42CDF695C0FF8725A1DDA221891E93 + +Count = 817 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = E5A1CF393B7E64F5510C3230452085D85BB7EDE6F5BC5634430D9C35057BBA3F + +Count = 818 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = DEE293146A3DD2FD3C0AB35CAD96A7585C6B2A4C419DBB451F3E3735FD4D21ED + +Count = 819 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 907E7301F7D5D848F1C0D37C833FD79B25B8B8AD30E8AA87DBF2232022450CA2 + +Count = 820 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 2AB12619E931F4EAE8CD8C3EBDBA8475E912ECF1376206FE9D458A78019D8A2F + +Count = 821 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = B8EA9CE9E885C1DFFB66B2137FBFF8FD67B08D978844337F6B330D8C12C8D6F9 + +Count = 822 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 79F08BB0624E3352C6B074E7FE5363CB954572F2834BBF51D51C8CA68018D4B0 + +Count = 823 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = D9E6A81932EEC33B6C2335630D9E656BD5C6ADE2F9AAC2A4219C7F3304E6FFA4 + +Count = 824 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = DAA77C0994034074B6582595955EBD4E97DF28CD1F959DDA9BC56AA19C393533 + +Count = 825 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 3D3692DCDB13B64A668A96C82A4EC1EF87D96564407480964781C9AF0B90042B + +Count = 826 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 36E626FB55D831B882543E67A32F67545737568748E8895E825A1F37B906A7FB + +Count = 827 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 1D9FB7D4D87742CEC592D563D43A235AEA7AD3FBE4BECC38E509FDF703B79B01 + +Count = 828 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 3B5C7CEB467C47E65161918FA2EFB0495A18D76A32A87C507CBE72CEEC6F8A89 + +Count = 829 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 758AB71234C32688015B3961528A5B2F772026A0FC15AECE65088EB6DB5A724C + +Count = 830 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = E2306FF5AB35A9015824C755F2A089AC96CE47999E8F9AB6E854E835D4674D4F + +Count = 831 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 6D39BA2BDAF038FDFDD67B0798BDA1E11CC2B6453780988B6404CBAE42106D16 + +Count = 832 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = AD802A465735A30382F3799ABE67E147767064196E993E65FB02E24368A42E3D + +Count = 833 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 805B0704AFE524115AB311B2D39ACC0584CF87E5295DF90C650D63589A7466ED + +Count = 834 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = F4ABB8C6AB8E6CFEF29B065E48F28CDF992DF7BE23E7C3F1D82D65234BB9CFB9 + +Count = 835 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 85FF80633594DDA3D5A392B94F547798BDF9650599550E2F46E3E04D082BF2C2 + +Count = 836 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = BC13550BD82014CE5C9ADBCE8E2870626405BBEC683F17895B4F3D1920DCF936 + +Count = 837 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 2277DF320406EFA0AABC5B542BF6906D7BE9260E08FD871F4F441601D90D3829 + +Count = 838 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 58AE9D5B19A7306EB335B0DB9D15630A057F22DEE6F25FF49BC2E9C0D67A4DE1 + +Count = 839 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = B20D0C444E4F4F05586499001D148D4FF52B28959D7AFE90DADB26A0DF838435 + +Count = 840 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 0AF5D2E5CC5EE09352A9BA0B0C34DA916E43629ED96D78000B57AC418EEB7832 + +Count = 841 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = C2A6C10DF834493BCB06E4ADF8D764C3810E194F5806DD2BAE58FF932BD1ABC6 + +Count = 842 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 69B65F93D2271403DBA1BBDA6E6506829FE71F1D9836212999621D36AE998347 + +Count = 843 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 4C6906E66B7480C25232A451D53D56FFD22510E7BF5BBA667992466E2801DE82 + +Count = 844 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 553D9AD3D988A37E2D55B8C1F58C3B21B6D62E37FF786D2B91ED33A71E0B8323 + +Count = 845 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = B751FE1F7314CD8D904233EF5369EE17A4B5F4E09F6A7C0C0A4D9B6710C5F9D3 + +Count = 846 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 0ABD157BBBBE354A0BD37F6ADDA84A619505EFAA33BBADF268474BCF3A76D9E8 + +Count = 847 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = FEC04689DD2987A8CEDEAAD3063B959656CC8CB03394E386417CA4072DC9CC90 + +Count = 848 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 200BF10F0277481069A964A4BA1305AE0D351B76EC43A9BB1CAF16956FB63844 + +Count = 849 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = B077500E99250C0CA83458B023BAD21B5487C4D25554D3A18040B06748690404 + +Count = 850 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 614788F675A57DC4BCC1E59317297A9171835A79E69CD9A8F2B554E486CD1E02 + +Count = 851 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = C395DD6397B35F2B0B8556E782E5FB8EED6FF56328595F34B3EE892182599A5C + +Count = 852 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 795EDE226796595E1F5CB23FC6D3F374B12758B89D3F147605ED667B03C389AE + +Count = 853 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 61E3974DE6EEF2F957D229A1DB40E5EE9D4E50EDB12672E17610C630E9F2A79A + +Count = 854 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 9AA1436FE5B7EF0EFFD4BEFB15CAAD8741D224293799CDB4B9BF9789DAB38BA2 + +Count = 855 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 8D629693E137CE6163F11B37A37FE78D2926B25984F86692BB7389131E28F41C + +Count = 856 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = A6728B7EB7504243B483E30170C21867906E4AACFA5549864EF8F34FDBF2CBCF + +Count = 857 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 38E63D23972020F9C0F10DCE3ADAB6CC499F8FA1D7232D0887FB61E7CE926B49 + +Count = 858 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 0A723851E1E1E3934305DADDD441BC569375DF8E962628BFA3268E7068A09018 + +Count = 859 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = A8E57B6F43A6E2C88D249A691E219D708B2A7AEB5AE72788492E6D0DD2B30FB9 + +Count = 860 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 8D994AE959A9F65988A7DBCFD8D42ABDBC7862169336927DFDB44703CEF952E6 + +Count = 861 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = 6B412E09EF55F664C810CAB833CDA7B36FA592374B2682D0E056D6339E817732 + +Count = 862 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = AC67B9977636737A2FA3B8DDA8B9A7DFC5DC523B51E759F826A437526987F928 + +Count = 863 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = EF6114901C91C28533CD695368AE98414C142943AE942525A4A4391BF7CEC0EE + +Count = 864 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = B8F6B453A760FFF80D29269181AF43714A7741DD8B698572EB72C048C2A0EC04 + +Count = 865 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = F319B252362746167255B764C88D7A278915D0AE8266726DF083FF9CAC77CAAA + +Count = 866 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 541355CD404F339A8296CAD78F5741947BECC74515F7DAEBA9BB1AA43B1F7646 + +Count = 867 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 850C0DF4C8555E9F03EA264F795093B9C5855E4CD6146914B5407A92DD78AD6B + +Count = 868 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 02B193A603A210DC849EE23E3CACD1D0884494279213B3E619B2891BEEF4BAAB + +Count = 869 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 47E859E963DEABD196D8C0CCDAAC48EB5CD98D1BCB875CDCC06F8301F1F3CE35 + +Count = 870 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = FA062430FB7140DC90E6E381B163B9DEFC2001D6EA2CC75673FD2914B6AC9215 + +Count = 871 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 09675A420819A3D4B280CBEB4AD02755F3E8186C6AEC48CA7DFF2460E4C31042 + +Count = 872 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = BFA34186EAF02BCCDEF849581AEA0FB01E916F81183E3C29B1998D47217FCD8E + +Count = 873 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 8D2AF7E2B784FCF172935F69B006C6E124F6CDD07A61A093711B255C08AF304D + +Count = 874 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = C312E8E78BCAAE7CA467286EA86F49B104221A4B73EC50AC009B733348D9D758 + +Count = 875 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 9FF44DCB6833F6E94115AA883BB7DFB7CBD9E0014E2DAF44EFAA3C10ACCFB9DC + +Count = 876 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = CC8AD7FDD83F9B575AFFFDF5E4D61780BDA87786ECFEF778BC7973F04406EDDD + +Count = 877 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 0101C5EED4327D7954326010FDAA3F25F96EB7DB50EF5AFF6EC357F2AB8D0D45 + +Count = 878 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 5B1F5F6E89A08A6742463DFA1026BDF8A3D3239BB6FFEBE8157C95A962EF480E + +Count = 879 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = E616D042951CED765F6CF1E2CA739BB778605E614582CDA489381766E7434E14 + +Count = 880 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = FEDE5DEE20FB2ABF2DBE07EB66B31E5C98A8983791C16896427EC76C26AB42EB + +Count = 881 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 2F8B70C5A614F8B36EEB471702BB751E70B4339D43460F8C59561E43B9435127 + +Count = 882 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 36470627E84ECB109B692017B9D5F1D080F4043E77914F4D76AEF16B3081A1E7 + +Count = 883 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 16AE5262C5EE4DEDCA8C2A4C59E02C35AF4D3494B8605278EBE44C367954DF41 + +Count = 884 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = FC518B5023D99D7921A2AD8B8D2AFCB2D8B681AA459EEB9C525217DD338ECEF7 + +Count = 885 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 0F940B779245FB20CDDC45DE85F40ACA61901E1B913263B1E98F1001722CE04A + +Count = 886 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = CB232D280312B1D4EF777F59BCEAC5C088DA6CBEAC1D3E01B2A5AA2095DAF684 + +Count = 887 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 9BE1D2F85E5A8A6CD7C687F26E228920E3B391A4B699D9EE4DDFE37AAC696C2F + +Count = 888 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 5118CE9B46A83170AE214DFDE870EA8A936BDB9E2379F24CC4677C1BE45861FA + +Count = 889 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 08D2010DED01BC00E6FE7CAB1FECC993F608A746AC80907B08B720DEFCBE3D51 + +Count = 890 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = FA1681B022898CDE0C972C57773B76FDFACD1FF272C5728C423FD7A97E2D9FAD + +Count = 891 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 3B6E9750E9CD899C0668ACF488A97A4C7156EEEE73625F9E390A8B5014DCBC99 + +Count = 892 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 20A198CDF4728F3281D72D0C4C3B824DE22FC587A8DD1A5EDFF67EA09F380E81 + +Count = 893 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 0F88D1358A0DE5CADEEC02ADD962D81E833934322BAE91FB049700CB08435182 + +Count = 894 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = FD94B94375C60861F088F24147146A54150E35FCF26EEAB064BACE863828AD02 + +Count = 895 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = D3E7A42D62092F3A06DE307C9165D7391B99D65069671C75FC4A489BD8433AA8 + +Count = 896 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = DDCD801E12DDBC947C7BA98F625999734550BA8ADA862DC6A47553F1BDF31DF8 + +Count = 897 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 645F83D45BC5FAB5703DB8B391C680B56F66125F1FD6115860930CF92AEFF1A1 + +Count = 898 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 43317ADF67F283822C4B36F11751A74A4DA0B51CADBB9D60E70A1D0147B466F1 + +Count = 899 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = E4EAB5E1C7964B32FD8AAA8C7C2B2389312546DE7FE2921F57333DC43E069FB2 + +Count = 900 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 063FC0E8D2463AB6CEFC68B44495DBAC3193BE704D8270D1539002F8F67304D2 + +Count = 901 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 0D693124B9DEB2A22444E9F3A4383E6BC25C77882CF4A856686AC95877C814DF + +Count = 902 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 6CE459F1026508CC7BE5E345F339B401ECEECEF6EE215F6257A17EDC290433FC + +Count = 903 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = DD565C6ACF2C4B21C8FB4264861EE6794617C346B2EA0B531F55FC4A466E9AAF + +Count = 904 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = FCB3CD1AD088AF5504B05FB6024B4F13DA66E06F13C89A21A5051212F83F203C + +Count = 905 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = B020684370AF167F5AF72A82DDAB33D73E55D614934ABD8C9525252173433AA8 + +Count = 906 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = FAC63AE3EFF0271AE157684DA90196C373D4D78692423FD5C832A3B4130D2921 + +Count = 907 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = B23404235CAC737787A72DE065C80DCEBE4B63CCD43029B39E85DFE2E3195BB4 + +Count = 908 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = D6E2A2C01ECA1D7F05ADFAC36B680065A6550F1AC2EBF1AE7123313E101784DC + +Count = 909 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 73D9D9D3B1C18E048494B3594486B5F37C115D21DDF3ED5C4ED546E39A1F6E05 + +Count = 910 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 03101D6EEA9C96D7E3BF018D60F7DC9DA03319F908A71093F403059959C60D96 + +Count = 911 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 3330E6A8537EB8DF8618F8448890890C08DB04D0DE5C42C4E336A48DF082C87E + +Count = 912 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 7F6DFA13669B742FA8A695B2187E80BEC8418ECBCEFB5C4A39BCBEE9AC32869C + +Count = 913 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 7CC1901137AAB5953387D6AC30A525A32913592D7598E88BEB838C6198385F85 + +Count = 914 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 726A3EA023D9326D8A09E538724D3654B8566F9AF12474F29E29863AAF5078F9 + +Count = 915 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 11AFCA75090F0C04ABB3CE7CE513589E40A0240E13D2B67E1AB87BDC0B743496 + +Count = 916 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 3F3A03DF5BBA45198D149225FFD5E2A7DBEC2E45C3158D4CE7A31C3600457137 + +Count = 917 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 060C0F18F437B60E9077A4F93A05006D284D5F3E180A7463F4CB8C90E65ADFDD + +Count = 918 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 22AC14AE6EEAE57989038242D345A0F1F89D4C72A31C3E92A38AE0A3FFB9C06D + +Count = 919 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 6E99AEDD1AC312DEA5588F735E9B61601AA8EDFC266D610DE7FF10D14236603D + +Count = 920 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 79ECB41967C08652D8BB1FFDCE03EBA08D53D98B08456810AE47F05458401B29 + +Count = 921 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 6D554AA0DA32E363CAFB8F027087457CC35F3292A654B368485925529D3F5BDC + +Count = 922 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 76BF9836584EC1E8C602286AD52A73A752E7748319AFA61A5DD8274E5918E38F + +Count = 923 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 46904100DF15274BB221D15155EF9427A98A357E5A32EE38F6D5E19812E4D2CC + +Count = 924 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 0D23E5DD8DFF918D7154428D712E13D503C8E1C01F7F1DC0B01170383BE25044 + +Count = 925 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = AD7486BB123440E0613ABBEF8BD705D253E295AAB74FCC3D89C58BF7FB19EF5A + +Count = 926 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 35764706286FAF22A367001CC0E257783C3633EDF3CB417CE73F2DB63C2723C5 + +Count = 927 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 82064CC377FFDF0068DFB1020B9B4569C87282CB564E75307A823F92BDE9AE9E + +Count = 928 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = D68F56BC50C238CD5D7D0B4AD24979FB61BDA3259796CD02FCD8C641C8BC3226 + +Count = 929 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 778A199A652E4222CBE89F37BF04D974090131D1F2A6EF71077914671CCB4FDE + +Count = 930 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 89F5B3A1582457204494832C18FD65E6CE352AD761CC01544B8C57B701A78DC1 + +Count = 931 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 517E08D57CC2DDD1C0EEFBD8BF99525543BB401577C3BB8BADE71A1918AE8172 + +Count = 932 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 03E44EBB9E0BD7BDECC072FCD3049125923B1C8B45C0ACCF4283987A7543D47D + +Count = 933 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 27AB2A8F231DB45E8E78FA9363120C72C823C48F273F2B785930240F2B91AB07 + +Count = 934 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 626D6F8EB020DFEE0D0E6C407ECAE68768E266BB1940F73ECABF909C111E8944 + +Count = 935 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 0BFC2BFA741875FFA48EF36D82BC2713B1CADB9D57E93208C0C914B4127C2D0C + +Count = 936 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 0C095412EEE9B1C1E8D5EE0DA6AC3DDDC4320E41B8ECF3BC1F6956EE35312EE6 + +Count = 937 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 7C9D2C0C1E94ABE318D4C56B3AD90FF8A7CA6054511717512E550C700EFF7941 + +Count = 938 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 06D3B9DA0BCB72DDEE70308EC81D45BBA88CA0C0DDB59E3C54EBDA0D5760C1CF + +Count = 939 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 58DA7AD97869FD87E5C3DD00F666FB6DAE6A7603298414B5005A14F013EA7844 + +Count = 940 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 72C48CC2C68222AB957ADB0522E61D04617C7995515C7F95BA868885C8C24376 + +Count = 941 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 3F4C247F9EA41E524BFF40105DDF7275A0EF7F1547F908B65A3B34193D371467 + +Count = 942 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = B5E455D2DB911397BD62C4B0ACDC5D4AB054025E13EAE6D5E60BB7F0A41746F5 + +Count = 943 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 8D59F9DFDC3CD34D20A8C86378F7441D06F00FB4ABFBF56427E918484E6251FC + +Count = 944 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 5724109738096CF4C7DA05158E0FFBAFB558D676D06EB1E9774750A03D676D94 + +Count = 945 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 648DDC2C352FAB70110FFDCAF43ACBB1BCD5627EC9C15E7E4ADA6CAF03229C7F + +Count = 946 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = F618822D4604981DDF8B0366FBF277495086C85706C3E8B63F55D5939964A94B + +Count = 947 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 51877DF2E26EE81D596C6B14F3DA261BC0A516C9A6DA41F6D223C201341CE6CC + +Count = 948 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 3EAFE8880C5929A864ECE1FB91A787A183F1EDC24F7040283C2B1F27E58F1B25 + +Count = 949 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = AAB262EB4685C1FEA9657F1E52D90553D13C25ED7AF25BEB5A7DDDA19301634D + +Count = 950 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 6D12A5C5AD35D7DDA8AE845FCC0D4D708B2F3C10BA2C8B13C0F9AFCE2747207D + +Count = 951 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = A35B8B3A58F3C42D402A42A27489624A7C7A6B83C3CA602CE3BF2CD0865A0413 + +Count = 952 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 4A842750D3B61F88108F62B39E7A4A70C8CE90FD818F4AC1C1054DB4D832C1D5 + +Count = 953 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = B6B0F6FDA2A2F5C61DCCA731417E43B1DB801B72DBCF5DBFC7B22993CF4569BA + +Count = 954 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 54936E07948A2A80A02D55E7AF2AD5874DAC85DFB8A9189C94CC5126EA52C427 + +Count = 955 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = C4E2C9F64765D50A8BB65C96EEDC7A1E450AB438C5F9B41B9BC917153A97DF30 + +Count = 956 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 72643A71FF2373121520A04FCB24CAC5E4A8ED0752C2F3EBC11FC4F4A315AC03 + +Count = 957 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = B61DC421599122EC45D2D022D81403D428B8458C82435401523C7675AF785C72 + +Count = 958 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 6DFB5759544EB62483BA99849AC33464EC9EEB6DEAC3858FE3E592B5BD648B73 + +Count = 959 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 6A4D5DDA5B5E009E57F54B30B857BCF59F49CC564C5FC1E63114EE2075C7A8C8 + +Count = 960 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = F5C83B32EB44BF5695DA4E97C3195D7A89B95E064EE8F2DD16AC7D141DCC13F9 + +Count = 961 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 01F45A508AD91C9A2D5C8A1ABF4FC11780A84933C615A7D368B3B8E22237FBD0 + +Count = 962 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = E9B2762273DD42BDF5839C22C59BE5020BAFCF2A7DC7B438FAD080D1A4AAA65A + +Count = 963 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 7104D7F79F40131B91019AEBA8CE42DA9ECD5DE7D2CDD0E0AB9034C0771A101C + +Count = 964 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 47436172D2957B72CC1A340C57EBB3E31909BC259EEFCB35022FD1B554BF3C2E + +Count = 965 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = AEA7AB1AE7697B47139CB8A49B6BD7409FDD225FF16757458BDADC0F3B2157EB + +Count = 966 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 27DDC0B11ABC2161C3118859102ED67A87A945C20E08D8EDBEBD78743AA0A2D1 + +Count = 967 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = C98ABF92FD3A9E1693767D2597D5728CB99CF90DB5A823809DAA4D81EFF502DC + +Count = 968 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = FBE8FE3E63647C2838D57A1806766A4D9A44E39352244052934AACD179F29480 + +Count = 969 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 8583C0579A72CA09D2199B7BA1F5870BEB87D3A5924308213716FDF70928CC46 + +Count = 970 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 18388EC832C0462CE779E98A4335CC8373BC2325E54E348594311F6EF9A34985 + +Count = 971 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 6AE6B906AB6424B42C5E4AC381ADCB483F4A4B520DA104F96B7002C2589F4E45 + +Count = 972 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = C7E73C38E11992ACF922813BD661D80C08C6F6C32257F2047BC5AE21037890A5 + +Count = 973 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = BCAF80A38465FD86C2AA57E955EF2723ACD8375D32D1EFC66A498DE221520587 + +Count = 974 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 2E178B540DC102BC142E7276C85BFF8B97AA281BA8093AA308D2DB55EFF85CAA + +Count = 975 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 68E3A7E25DA8AAE13E8771A0E803C60DA9C48DAF9C31C6199780CA3F1534F4D3 + +Count = 976 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 10EE89D1E2E34A6B226CDA59218F541B67260FDC6D1CB7408DA6791B48BE4AC9 + +Count = 977 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 77EF5CD7BFD9278400CEBE539B7DAA9761209950B3531BB685EC06AC27556B4A + +Count = 978 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 1F29C1B956237D4847CDE4ACBA13F281874F4E998AB5F9418C02665C642EA670 + +Count = 979 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 66F176D89153616DAA8CE526095AE69A1649D0602924A0A20885D049D6F8EBD6 + +Count = 980 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = E24804A676B110064137E1B7CF12638891B060E2BAF1E2298B8599C59E32CBC2 + +Count = 981 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 61A4CB5311C13B9F3DE6AA028CE51320A764EB99D3DE0CB0476AF618F42B089A + +Count = 982 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = F5AE3B29B28E4971E1D597C898AD15B2E340B114B52B4EF0A902E9B33C5FB8BE + +Count = 983 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 3561D2B942E6CA12A27A5108617BEA268EBC11E3880AE940277733CFDC08A870 + +Count = 984 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 14A948AF74C94962CBF93428604C680499F3DECC12BC834F8F6EFA246FB73D22 + +Count = 985 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = FD81283FF92B4C3D96729CC8E52706C1F7520F2FED086421EB9933B87E8FC7E4 + +Count = 986 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 439718A21EFBF7256D164C403537CE04E860513DD8DDD4C407F95D7B280B8ABC + +Count = 987 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 824BA9C0DEC0F1C09E034D8AB1FBC557CE2FF413392562791D70A70349D6A712 + +Count = 988 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 70D45F9B3CC83A9129D4EAA6D75D24AE6CF4F124B6304AA35B8F76F53FA1FB13 + +Count = 989 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = DEC54364FABC36AB1486E5897A5CCBD4952CC345AAE0B25765D8FF4295E0E795 + +Count = 990 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = E9879AF9B3701A0C0CD857E9C248B76CA9BA6E6F1AB331C1E83658086CE488FF + +Count = 991 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 3DAD5A6B5C35449F3BA85BBCE72D39EC81A9B3C214342810EAC14D9A1093FFBF + +Count = 992 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = 088FCED53D8BFFD75B22F40BAC2FC88264815473415E9AF05F3BC2DB86B4CDA0 + +Count = 993 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 3FA04C7CAF73A0B2B2B8F8AED1CDA26741E389180E65303FAECB5DAE5C0837B9 + +Count = 994 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = DF8B78F6C43E032DAD64BC34F02224A76AA0AF9972693142966FD78F9BD91DC1 + +Count = 995 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = CDCA8901A3ABD79847B61A2EAEED141EED666654E1F66D2EF28682D1AB5E8940 + +Count = 996 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = CA1017C29AFE6FDCF8CECFBC95E03514F1FDACAE6C2C0B4A72FAD358A2EFD993 + +Count = 997 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 53A1475C2EDAF40DD738554C74D0EDB6C5503B4EDC1EBB25B23ECCA237187368 + +Count = 998 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = DA1C2B550392ED651AE94437C7930334B2CA769393BC202FAA7C98BE555B300D + +Count = 999 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 28F345812714071579111A47636E7E40E423AE1893336D9410F316AD77D1F6BA + +Count = 1000 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 77A7D4E1F2B7787131EBA366C8471FA81CFFEFD1169618072A69C65A2653E14F + +Count = 1001 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 4AEFD38975FF3FF013C32862287C02582F52176CD83B2A0DA182BF21888339B0 + +Count = 1002 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = D1F0D5AFC08AA0D0BEC5CD3F4E3684D7AC21D05E5E2322D285EBF1795E7238D5 + +Count = 1003 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = ACB271074EAB517918B05F12E289383AF8CCB1B310475CA1EC98CBDB89E6737E + +Count = 1004 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 7006B976C36780E90118DE3B438FB01735C2D5FB00A5EC929444217C604457B3 + +Count = 1005 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = C5D79B865F90379A2ACC2697A4FF869435CA7B6BB596926EF0B3328EB860FB49 + +Count = 1006 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = ECDE956F615FAE5F1DA6884DD76152253EACBFAE735E3B1DD130D1906C8B32C4 + +Count = 1007 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 4A0DA035CA24329D6EADBF518C5410E3389B6260C46980E11B657CFF8012C7F1 + +Count = 1008 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 5C330B85A80994F0D3710AA6AAD84EF6FC106E6799F37381C1D2DA3469C27849 + +Count = 1009 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = ABFDF204A116E2E79C8001470AAEC7EF0382F8684485E8DB3A08002C612A99B1 + +Count = 1010 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 0B0E2EA0754188EFD9D6B017AC98AACBE668584A33508B38C6A54A35D2E6D273 + +Count = 1011 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = CAFD1391477762074965B44D8D218CFE7879FEC25B38F1D0452C99FE72C2DF1C + +Count = 1012 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 70FA5E3E9B4899BE02C277EF2FE8EFC1EAC709034654B5F5608E8F1F8C7E6CB7 + +Count = 1013 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = CE69F36BABE0FD1C6CA6EB10067797AD7764C6CDA94F5C9F6C4AB3B0849C5D3B + +Count = 1014 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = C5603807A794A09622446D6E3BA7749039E73A72E5F901E1765E5FF9F12735AC + +Count = 1015 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 4003151852E22C832FC48524CE6C6524EEFBC7636244AD806B2E36D4DA381897 + +Count = 1016 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 6E2E8F419E6C2A1998EB5414AFABDD12B2B082F9B41C7640B77D570A750661C1 + +Count = 1017 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 24889E353C107C4E44583C757CFFC29067ADCF0D9B56901F7BF2B0AE5708CF2A + +Count = 1018 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = A7A926062B70BBC868ACEC473351CB363A0C5A87B91BBDCA4E40D528FD565C03 + +Count = 1019 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 8C312EF10C4D5673EA44D767B0294D33100ACAB27C4DAAD5FC701D1770BFE7BF + +Count = 1020 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = B14EAFF4FB27445404831F0CBB51293E84AA27FA2ADB83CEA247092EDE1AC845 + +Count = 1021 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 5E4F7838990055BCB5F3DB6873DC38A93FAACEDB7A5F53DFD4FA24001BE90F99 + +Count = 1022 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 87F48ED07DC5E8AF6A3F89F77BC8DC6A5AA601CA8D22917302D107DEA4CB6DC5 + +Count = 1023 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = DA00C2061400FB905551EE25F7D6CA868386EBF44173F1353662DCCF578629C3 + +Count = 1024 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 9CC90678B18BA6FA51832BE07629A83AB577A4D2ED79E20A415775C0B86BBB9C + +Count = 1025 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 14F6A0C1E5751733955B820CA67BC89BB7EB7014C88CAEB5F380D75EED484FE9 + diff --git a/ascon-hash/tests/data/asconxof.txt b/ascon-hash/tests/data/asconxof.txt new file mode 100644 index 000000000..e67bf33ba --- /dev/null +++ b/ascon-hash/tests/data/asconxof.txt @@ -0,0 +1,4100 @@ +Count = 1 +Msg = +MD = 5D4CBDE6350EA4C174BD65B5B332F8408F99740B81AA02735EAEFBCF0BA0339E + +Count = 2 +Msg = 00 +MD = B2EDBB27AC8397A55BC83D137C151DE9EDE048338FE907F0D3629E717846FEDC + +Count = 3 +Msg = 0001 +MD = D196461C299DB714D78C267924B5786EE26FC43B3E640DAA5397E38E39D39DC6 + +Count = 4 +Msg = 000102 +MD = 1D18B9DD8FF9A1BF59751B88D32766C5E054910F497BFF4092AFC47F5885523B + +Count = 5 +Msg = 00010203 +MD = 66FB74174782AFED898478AA729058D5C30AF19AF2F5D4E1CE65CD320594EF66 + +Count = 6 +Msg = 0001020304 +MD = F473C7A7D9F140AA1AFB2DD0A0ECC2635B0174942A7094EC34F4D8025B9FC391 + +Count = 7 +Msg = 000102030405 +MD = D7658B24B9886057B8827518A2A36715A1B73256E65D0493DD0AF3E27387DF40 + +Count = 8 +Msg = 00010203040506 +MD = 1DB7476CD72064C68E736D821EA6F0C93610FE22326754F5366836871A6F5A10 + +Count = 9 +Msg = 0001020304050607 +MD = 18427D2D29DF1E0202649F032F2080363FEC5DE72ECAE11B4F98CCC75843E7CC + +Count = 10 +Msg = 000102030405060708 +MD = CE606E3FFCEE53B113AA5A5CA3A16376A3DE364352875D3360E131666A567248 + +Count = 11 +Msg = 00010203040506070809 +MD = AA1F11B17385CCEBDC065F20A6195AB6540D98A1CABE6DBB3581333E7032D0DB + +Count = 12 +Msg = 000102030405060708090A +MD = B74AC01FBECEA52A8011DD6F9471473956034DF547A78113924D7369B6B1DC0D + +Count = 13 +Msg = 000102030405060708090A0B +MD = 4650C5709329660825A9A5DAED9FA50BE5ABABAA9D3732719A01BF29D7BFE543 + +Count = 14 +Msg = 000102030405060708090A0B0C +MD = 6E6823D3C04EA3BC20B43BECEB5B42854EF840EE477B58709449BB8D8F63EE78 + +Count = 15 +Msg = 000102030405060708090A0B0C0D +MD = 3D02F679EF69D33DF17CC8040ABCACDDF8133A04E0D89E3CF10DAD74E00804D9 + +Count = 16 +Msg = 000102030405060708090A0B0C0D0E +MD = 399E6BE584DE5091F49711ED6C195F0DE0EE811113C68B372399DBBFF28F1173 + +Count = 17 +Msg = 000102030405060708090A0B0C0D0E0F +MD = C861A89CFB1335F278C96CF7FFC9753C290CBE1A4E186D2923B496BB4EA5E519 + +Count = 18 +Msg = 000102030405060708090A0B0C0D0E0F10 +MD = 604419F916E9EF78D037E624614FD5988185C6C2AA8AD9C4A35C4B9D9E15B360 + +Count = 19 +Msg = 000102030405060708090A0B0C0D0E0F1011 +MD = 1FE0D69899FE58DF5241906DDFF5E9BEAEC8E3D81201E90307B801FDCE0588A7 + +Count = 20 +Msg = 000102030405060708090A0B0C0D0E0F101112 +MD = 6DB60AF03A47364D24404681405F0D0ECD9C7FC1D05EF5C1A77A804A7E9BBD96 + +Count = 21 +Msg = 000102030405060708090A0B0C0D0E0F10111213 +MD = 25EA7DB6B22969D9CD9E7124022C48C93448AD70E7BC34FADFB935C66E686478 + +Count = 22 +Msg = 000102030405060708090A0B0C0D0E0F1011121314 +MD = 18D0F9A10CD728211F58C7B595F4C9788099DE3EA1DCAD3315BE9744A5F44281 + +Count = 23 +Msg = 000102030405060708090A0B0C0D0E0F101112131415 +MD = D8910092C1FA6C5AC25265E9412636C1930808875C1B4EA083E0AFDB60E13CB8 + +Count = 24 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516 +MD = DFE35C61F711E9DB3D122CFEDE33255A212DB6168657C40AFB476DC05E596E4B + +Count = 25 +Msg = 000102030405060708090A0B0C0D0E0F1011121314151617 +MD = BC1034EF176710DF5B7C3AE631FFCC542F0F26C09DBF4E4396C4BFE9CE21FCE1 + +Count = 26 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 548CB6F33801F8C52A0CAC2BABC140B62186A10981160B21CA6590FBEA0C8DB6 + +Count = 27 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = F1DD02851FA70BA3002B9112AF6AC52D6701B3E11F4CFB15BC8713E363C4D8B8 + +Count = 28 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 62E67394BA9E279B76B51AEF04201DCB1781DD2A25B7F9E1D848BDA60649549F + +Count = 29 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = F3B0DE74F5F8FADDDAD7FE7DD46842DAC6D752462C629DCB7CE2389D9FE9DF82 + +Count = 30 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 826825AD928E67AC0D433FD3D0EB9626C9B3C9195014BA55E1FE0F3AC6534F1E + +Count = 31 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = E5F946C4D1A9C6000CF2EEDE3CABAE90943D3DFEFBDDD6329FF78E7D3102DB47 + +Count = 32 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 9E524226D38BDCDB3E576C2A982185D3A0211D519848A938E8352AC97498581D + +Count = 33 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 0B8E325B9BBF1BB43E77AA1EED93BEE62B4EA1E4B0C5A696B2F5C5B09C968918 + +Count = 34 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 12E2593FBB8A733B79B7A54C2D99C9523A126F32A1D198DDC5DB3F8D98673FD9 + +Count = 35 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = F00768C4F0FE9C2CDF434DAE4E107B24439EEE15A5AFE8003807FE3C99E454B7 + +Count = 36 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 1CA7FA2870DBBE41BAC74FF40F5CEBA7FC15C15553623D70EC92A4E2D0EAC1EF + +Count = 37 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 6301EB837E0107D919F000584DADF6B9AE0316D7F77A1CBF83B394D3C38A44EE + +Count = 38 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 77536A84D45741A5F15ECB9AD9FAEC12BD9D34B7A170D2A6A5A1295AB82524F9 + +Count = 39 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = BE85954671EAA9CBB762178935C394DA38675410B878B63CDE70189E22ECC6E8 + +Count = 40 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 6663053F964BDCC52CFA15E67C86BABA0281EB85722E68DA0B4D95647AF08A83 + +Count = 41 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = DC16484B8E84E75B90114B7FA65B4F3B4062A0DF7C574BDCA75B485204F07027 + +Count = 42 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 6CAC106BFB61D7DFD2A1BEEFEC586B1D6744A59B509B660E41E29D41390F2C41 + +Count = 43 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 96DD546A89CF08E19640B1FF9F5207C475FB3D455250725A93EE3BB19593659F + +Count = 44 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 6050D8ADA8E8ACDC7407F363CE78194160DE25CB65524763D346259D14E38F27 + +Count = 45 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = A1932D8E6C3946DFACC163E388AC91A3DE4AEC3566FFA0302C726D93D7232945 + +Count = 46 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 0228F290B9AE7FB40DDE771B133A1BA66B2EF51BD41F6B4F80FAA86D7F9D8B4C + +Count = 47 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 7B8E244FED37A1DE5864786E0BDA01BEF3BBAE95EC8636D5078E5088E5879D95 + +Count = 48 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 9B6A0298FD23FABBEE8D9C2CA3AE0262636C7645C6DA0CC369D208817259703D + +Count = 49 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 05D54299EA0F07184FCD5BE78EEF87487C169857068967D0D98E682191F7443D + +Count = 50 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 6521CC153A562D392FD7001EC7CC67068FD5279B73576B3F0A5BCE42CCA246E0 + +Count = 51 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 4841C8D8CBBCDC0C8E9DBFEB3C8FA32D8354740C332E39DD09B22D55D87557B8 + +Count = 52 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 762EB44CB98929CDDA3801E83FCE811A349C0759180967B5C035F7C9CC2554D8 + +Count = 53 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = C54FBA89ECD784CE276DC12519593FEF309B8180AD92DFC984927590F8C7B10B + +Count = 54 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 2708EC15EBBB871683B32B232463225B39A735820E34074F5E257DCAD1C66FD8 + +Count = 55 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 481DBC08EB3C20457377CDAF0A247CAA9A8AC1BEDBBB2BAC1B4B7D1782F86C35 + +Count = 56 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 7A98D8617FDCDFB67FC53E1CFC510DC44E4E2D4FCBED1504AA629C2CDAE48EF2 + +Count = 57 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = F8E856AACC6A35AD73DBF1F998BB9D69A08E5446439FA10E79CA76E691B53B8A + +Count = 58 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 776F45987BB4277285118C7165C900824FBD1825A867B030F3515ACEF8A3D6EA + +Count = 59 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 1589CCD4D75C3C01C505CB46AB907985E775ED25C9837004538B5E579648C6DA + +Count = 60 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 9374CB79F0C1654AF2DE94455DF4CCA2CE11535E82B303875B4711FF47A6870B + +Count = 61 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 310242DB7C4A9AD3F321FDF18840FC576A26F87B8E5F738B9090D7F48AE940ED + +Count = 62 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 6E837EE7B3AD968C7097EB9CD08BBFBC3E3F78E9B1B1883D71BE5C35EE0DCAB2 + +Count = 63 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 25A91702C8DD58EEC3DBA913950459A4C7A90DBD58C4EFEF988D78182CB9CD3D + +Count = 64 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = EDC1ACC165A34618B0BCCA803EAAF9BB7BA1AD96DB5D1C1460F05248A21EC7C1 + +Count = 65 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 265F3E0D5CCCCD8BEB57D9F7970609758D4A7DB79951CA0DF52BE14CB6D09941 + +Count = 66 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 05833406EB26FDED80213538E7402E6DC85DBEB27A042844F4FF361A91345CF1 + +Count = 67 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 839629BE40797F36C2C56DFA3523D1DEC0A62CFCC1B70C4CD21B40BF89C7AD89 + +Count = 68 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 093B45B9067246BD3B3C593B697D036B4E8E196DA86295B841C02EF305D2B017 + +Count = 69 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 4221272A7296689C6509D3F7D59C55F11A3827507E4B50D8CF8E1D924B0C844A + +Count = 70 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = C74565743B99E1A42B74208D254E77D95B9F444FF6DBD1511B3DE5EF25FC5EFB + +Count = 71 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = BEAB9631D22C30EB33644E15816F5E04D3058286B9E9923D94F19FF8330C726C + +Count = 72 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 993D36CD9C585491D6CC8223D0E7273B28BAB1C8B082A28BB2D086B937D6E4D7 + +Count = 73 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = A8B9711CF7953E61143088C63A7CE59F8DE7DD0C492BB2E13D9795D5AAC18B51 + +Count = 74 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = A0EB04C626CEBE0ECBEFA9384C1DAE81B873C23C1577D4269E58FC63B9426433 + +Count = 75 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 1D35090009772DFC9FC8DBE22C01C6540CA792638CCF7941115911FF2D6B793D + +Count = 76 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 2FA5330E434E80D40825B308D513508DECBCD6A9B5671EE66B06C9454750E5F2 + +Count = 77 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 8EC99574D59A71DBD03049FDC6F69E58CD863BACFAFEB85E9B2329AD509EFDF9 + +Count = 78 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 13F380096BC9187C5D06E96DE6466A1E7CE1C53B2F4767E9FED73848C71785BF + +Count = 79 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 1E50501973B00467772DB99F74AE67E9B38B6047497D4CED0171A25078959355 + +Count = 80 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 0CC3E318A617D366B5263FC58EF1B6750B18C20780635487AE545D816EDE6A9E + +Count = 81 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 81B9BB07517E4646378C5E747F79099B6182A88A094C80F3559865081FCB517C + +Count = 82 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 9A689BAF288D6920E5C407126500051CB73212BED47C491ED54D452267C68A67 + +Count = 83 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 1FF3FDD70E9D70F66F309C226752F33F0D73C359B3AB32B9D4CA75DDFFEC54AD + +Count = 84 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 534F3DC88F2FD4699FD36160505F62A4C29F7B79A48D8BA417C41CFE738EEDD7 + +Count = 85 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 4D1B83541FFA984BECFCEEBEB9D974DA54659A4830480ABB5E94A6AC287F8732 + +Count = 86 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 6EBCC39809DCA648A2CA567408A86C2E681E0608A4F8F09308404D7885B25A45 + +Count = 87 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = C756B028C4D533B43C22B5B8830DB4A544877C2B01BD4B8E49B9CC9396974711 + +Count = 88 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 046177792A0C1074CF38737E76FA35B9C37E158F7618ED15B773FF0946AE7295 + +Count = 89 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 13ABBA8479BAEF972BD3DE3F0A284A9E8DF851D759678C6DF6554BC8186BE757 + +Count = 90 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 3925425086A2A1A48BA48AB2586396E7A01D3FD1A9E54604436E0F5EF97D627C + +Count = 91 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 0C966701648C6D46545E0E4D14B0CDE2E9575013E275DAAD1D4851A546D781C2 + +Count = 92 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 12B1326B02680F0652D88D42552A909434FBA9C7F14FA51A643FD0D36647737A + +Count = 93 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = E787D700E3EAE6AC5A7699A45B8756362B90DD301DE2BE3E852AB8890FE69D4F + +Count = 94 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 665272737BA4553F348C9D6FFEA0344393ACA4AEBD04541ED2F0D9369AE3B0EE + +Count = 95 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = CCBF02F67042FEF0653F5FEB075880959646FD6C6C615C9EE354DCDF60954554 + +Count = 96 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 05F2DD09656E42631662CA7335DE8DC3829926D582EFD774AF95EE1EBAC85419 + +Count = 97 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 1D9F923ADA1E4D04524F3AB904DA43623209D7BADDBF7178F13FD3FF3A97E451 + +Count = 98 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 8B2937DA1F23E7D9BF734E5EB8343BFA4A29A913FBB402F49E5D8871B2830E01 + +Count = 99 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 4194F9B14A3E156CBC52F9DE86425CA4172685AA0A85DA20F56E61183238ACED + +Count = 100 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 0BC4C1D7B1CD97723B82C31BDCCCEA8903CCD1FEB65955B413180DE9766DD083 + +Count = 101 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = E7EDC6746AE8D804AAC1D2C66719E45529D8115762C04540F0D2FE4AC7DFD658 + +Count = 102 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = D34786B9919A42FE6FD4B2B3CD4EAD40BEF080AB6EB59E3C64EA78B9C6295913 + +Count = 103 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 0D5FF8FEDA1703B4EFB6615D6F4BA30FCDBAFA536B10CC2F68D42BB7D40E3179 + +Count = 104 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = FDFFB0711FBBACB3ADC624C417A60DC8578418FAE81471108E3E4DF1F52952C4 + +Count = 105 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 4B2E4CEA6F1888A20EB29CED13D521FBF444B86720B04152B4C006EF52C9F71F + +Count = 106 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 2978D9625E9A310A791E959196B16EA7A7E47556A1D7BBA55C51ADBAED19BB04 + +Count = 107 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 599F8AFACC38C671C544F0BBF7D504008E686C118798E472581CE54725456B44 + +Count = 108 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 627FA20FA1DF9994CBCB39F7DB09CF6009101F2D8F68C522D669CCD2F7DCB2B0 + +Count = 109 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = D81B2DB89079F921758E89CF9142DF1BD0597ED06D3B30292BF50FA746620D41 + +Count = 110 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = CFB55A31E8140D5B360FB2CAB963CE43DF024AD8343D8CD90712E3BB876ECBD1 + +Count = 111 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = B02DC006CE327BD04D3F97051A951EA9E009694FFEE75B9D4354E51A404C9FA3 + +Count = 112 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = B0F4D0B5457F69E309D752FF25253BCE04128DD3C666617A0937F3F99D39FB59 + +Count = 113 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = D1B7EA5195136B339ACCFCF686E8DAF6A52DAC62123228C58B3D2F298E6F7B18 + +Count = 114 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 9386B3AF2CB2F727B508D4113C814D168F63507418D1AC2979694DABAD955DB3 + +Count = 115 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = BBBFC317660C552A8165FBDA401F8A3CC80B99CF3782BBCDDD4A543C3489CE7D + +Count = 116 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 2409F9ADEDB680F7A3F79412670CD93D888F46D3A25D9BE0A7C62E43BAD2B54E + +Count = 117 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 51E9FD6E1CCBC08485786FCBA3E41EB4F444ABECA579E6C0AC95571BAC62E264 + +Count = 118 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 84D3ADC44F63A75DA94BDD69697E52212273C5EA1C97B4A0A42471CE4FB79EE1 + +Count = 119 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 40DBB671010B45EE8DB2F28EAEDD73D740A57B62E2F069C86AA2B143AF4B67C9 + +Count = 120 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 7391EE901124D37104483F76A8C5A9C12F3551B26BF2E0FCD63FFCA3B0D80740 + +Count = 121 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 768DA41D18AEE36D246B371E26504C54047F23CAB4CD4CEBEDCF4498F5D9AB2E + +Count = 122 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = CC6C45BAA0C42156984E22CA3019E1462F922B715217E779F43E160BB0665EB8 + +Count = 123 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 963096DD37E928D2085CEF945B53288967ADCE63F1FF4BDA9A2E3228E32F0333 + +Count = 124 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 9F7BED2EA8FF4A95919A83001C19ACCFC82E47D8BB3BD08EA68BE853108548E6 + +Count = 125 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = DA3BDDBF585D1FB1BEBC74A7A6404DABFAE612757F277FB8CEEE48B9960833D8 + +Count = 126 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = DF04C8F14D7B1201A004E1C3EBE2143ABB17FC37901E48488BBA6E312DAF9846 + +Count = 127 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 40A6568219BC055458716AD6CA8BB82FB22D4A54B0EE77E05040236187D6C2F9 + +Count = 128 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = A3A80497EA0833E2FD72DF7CD165E95413B2D29119B079A1A4C6E0157118EE14 + +Count = 129 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = D7570763FA1CE096F64DE42B4D4C6664A77004B65D98BB058D478AB89DE254C9 + +Count = 130 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = DBE50CED04798726BFCFF45C3743EC154855B80BD3329C3167CB1F856D69D5D8 + +Count = 131 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 82E5D84A98440E845E8861EF6466091BA8045024342C1790A23ABBDEE2485B3C + +Count = 132 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 53AC67DC9D62F57909E6CB9C3F21ADC8037972CC8E319D8878EE3A68A06B4B5F + +Count = 133 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 710C137DCD9B12BB8AA287D4E0C6FF6E1985E0994AA43685F2B097EDADBE7981 + +Count = 134 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = B2727E34EC5DE038DF4F534D68FBBD531884DD6E5292E044A162D6EB6A9EAA91 + +Count = 135 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = D8A19945A9BA10C171DDE9519BE2C9EA6F6085202E85B5CBC83E00F0245974C2 + +Count = 136 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 2FD7FB386FEF9E1C0D957F936AFFCED85E5B4356AD6348BFA7451264076DAB5C + +Count = 137 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 0F2FAC229FCB9C9C5908F2A124D2433B33CAE063C05C7BE5897BE74B508B9146 + +Count = 138 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = C97C924ADF10F1807805D82E4391A7D20CD1E8896B70FF65E33F54F1C39554C5 + +Count = 139 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 8C0B7C62DF4970E43B8A3CB3FE3DDC7914F73319BFBF0E309CFE7BCBBBD6BD96 + +Count = 140 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 44EC531F9FADC04A26B5236E2F6BD847D7B08D064161B62AD4555329C548B635 + +Count = 141 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 803939A8337F77AE39F34465B1E78972D0395DDE7CA22538B1C3A414311478F3 + +Count = 142 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 91FC4590733F89384F0CF14270E3E0CFC12C4AFABA607488AB614CB032B7D082 + +Count = 143 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = B610D60D57C7D663DF8AB632A31BF7F46515DA63FC17478B3DF171470F22A0FE + +Count = 144 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = EFE9A760A172848C45DA14A2CFB3D9529BC12667415163BEE012808948CA0CE0 + +Count = 145 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = C904B66C4447D2662E2DA6E940F39D006ECAC6F530A53B7A7C9A70B360E88DF4 + +Count = 146 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 3367F33B734D1CE04333BBBE78024F6F40AD5A7AC6044D3015CDA66A4CC34498 + +Count = 147 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = AFC5BA9352EB42642284738603F9CE9A7369C3615699952C70E9DD2CE1534CFE + +Count = 148 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 69BCC71F647A5B3B51F6937B184102F8DA4E514DDC1A8427608A48B3F4D46800 + +Count = 149 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = C3AFAC7C22A1F99C09A476E2D049831338ED53E00CAE05158A404F81B0CDEFB7 + +Count = 150 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = C516677BAD7FA1619BA5E0B0ED9B8CC0A178AFA1D409225B3B6AB194FDD59E26 + +Count = 151 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = EE797DB6A25D635B1DBB299B2CAE80414FCE98C9F35095D44CDB9C33115931AC + +Count = 152 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 8954D2A0FCB9FA170D8BC8E1B15DC164E5DC7AA2F34337E6011D95CA45662258 + +Count = 153 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 50AB74578AA6668CA5B62694EB85D87A38E7C70621B0ECBAAE523F35C971EF37 + +Count = 154 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = C8B32A5B80A95AAB200B149506BDF5BFAA95EE3B742D6B93D09A19705E60D98E + +Count = 155 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = E159169E105ED8F1D39A6596A8014E866153E65D912EC79B5CABBCDAFD431017 + +Count = 156 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = C7C3FD673222E7BC395E0504337A86DE95953E3113DFBCAC9A4F9CD8F9587E6A + +Count = 157 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = F6D164AFAA43EDA773F65028812D9030D8CC9AD2058235A62382A0B97E954130 + +Count = 158 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 0D0DD6FEBA0DAD8BEA1D5C80CBE7FC76CE528D91DE11F8E732DFB0FCB5DDA2B5 + +Count = 159 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 4E74B561C2241A1CD15B78F235394CE9D69E927D0BF5EDDE477427D2E7CF92F8 + +Count = 160 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 41EF2556C5469DEBFF42ABD703EF28766CFD422C758E9E9B29AE49B56AFAE9A5 + +Count = 161 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 29EC7E05F6B1E66A92FB0D3F78BC72B9578C23570FEDB25E07D33DF3B3E84701 + +Count = 162 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = A418A7CEDEAF6AB2B38E94A6EE632311F4CC9ED2FE90DF8362DF04B739AFB1E8 + +Count = 163 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = F6607594FA1B1B18CF4C8F57493CE47BE928BD0EEEBE57B6A175419F64B5B1D7 + +Count = 164 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 5A1D81CB66BE93880CCD817812DFBAC5DD45CFEEEC5D9FFFE1E7C14C974F1F74 + +Count = 165 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = AFC5D76B40168A0F44A37B915DD4510B4699C110BFB414CE4E5D3A111939AFAC + +Count = 166 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 1B42635BC8A25119D01FC70FE1371018260A993B8C2292D2CB11BFBE9ABA01DB + +Count = 167 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = A97B01F1C28396CF469F7CC8754DD53F95072D13712166855A3657C008B1F485 + +Count = 168 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = ABE3FF39D0D686192EEA6DB40F09926E2DF68B81BA85E3AA691D30350D679869 + +Count = 169 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = C63E199C46ABCB1851242F91658BF211694A6C2F4C95E1B9CA17FB506A56AC93 + +Count = 170 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 891C1C84739F33E9DEC94DA66C522DD93F92DC4C2DA36AA222DDF5396C676159 + +Count = 171 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 0B5CD99947FCA4DA3BE6096FE53120C1D2ED0A21AF68FBE7FBDF83611178FC93 + +Count = 172 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = CA369343CB6A970FA9E3A901D102B1458835649C59CE66D5EA42F298D02978BD + +Count = 173 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = A242DE0C593A021D29B852A54148A44A7AD7BC3B74561487733785E5C17F89BF + +Count = 174 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = ECFCC16712111E063E6D1EC05A1090CFDC1B1498CF00D513DB4FB37240BB0DF3 + +Count = 175 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 985A3E1D3C291ED95BCBF287F129CBF9F11DF66C39780846D3A3C4D75BB6560D + +Count = 176 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 9B55257F287705F8E2F53FE1E4AC672F9AD84F6FD436FF95CE7505B7F73D43AB + +Count = 177 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 2BBF0E4C9A8DB40B40B1DC19F1593E4E7349737B0DB2B8B808557F480F796970 + +Count = 178 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 322014698E2D4FCE23368DFF448AFAB5B79623513384E57A270E590426BFD42E + +Count = 179 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 4569CF339A4DA18294FDECEF4023222D136C80CBB3BB1B6E474CC52EB35D6C7B + +Count = 180 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 890B7001F1D650D1638C1613D0DB4F67764C3CB8AB1F3F8236100803ABF051EE + +Count = 181 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 32F16DBB813063DB4A67DD8F34EDA3EE5A2230A684303809B640156901089C2B + +Count = 182 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 9B0DC306E2D1A02C9A097906DF13B8CE69593EA5D245A91FFEA54452DE4EE3DB + +Count = 183 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 2A35936723566D232B886BAE8A8770404D30B2EBFA68B8A8CF52792A0FD8007F + +Count = 184 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = CD5C08B534F6E224A632E11FBAD77535ECEF365831D3CFB236EB1FE3EBC6A7D1 + +Count = 185 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 51A04453CFFBD9984353603704555775E707E9003181898F47008792139DEC45 + +Count = 186 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = E9F4CCBE0C29C860A12EE25209716C19ED5942B13A23210D82642B87A0E52EFC + +Count = 187 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 2EB9C9E54E1D83D96DA61A6B83352AB703EFF7FEA1860D426EA8364D8BAED55B + +Count = 188 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 2F84CC511DEA05E35C76E6995F03362F91CBA93D637F768BD4CF785109947F34 + +Count = 189 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = F2B51036CFB0F008302993D852A45C9514389F4B1190C630C17E4F58FCA633F8 + +Count = 190 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 048629189BA41C95EB40BC38F8D07E1EA2521F3B58A419293B8C570B31B3D8BA + +Count = 191 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 1D4CB5A9D76FFE7E07954C9C45B5C57788C71473269315B806DA2B95E24E260F + +Count = 192 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 51BD1523939732EC89D0400A8AD2B554551B543C65985F95E9BEB460031505F9 + +Count = 193 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 9A07C83ACF95DB91B43696C9AC33F773EBF228663229781902A6FDD5FBADC572 + +Count = 194 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 2D2AF09FACA4AB3CC70FC67E1C5DCE63F15F3EDBC1B4E440647120B4A6CAB1F5 + +Count = 195 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 1BA69EBA9905D53F3C3E8B41108369B4BDAA67C31A7494009044E0CF5160BFF2 + +Count = 196 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = EF16AB45931A3517FB8AF35D0444E90537ECA6EED9EFEB135A911D72F19796E0 + +Count = 197 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = A5424F31A6A8DA9B1F039512BCB203E8B0CFDFE9907AD41E36EFE143C91FB023 + +Count = 198 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 6F3354590EBC9429495E0FCB8FB2CDB5128B677E5AE36700C0DBD924E87B9E04 + +Count = 199 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = C7AAC3E42532C36724911C9FAF2292D10DD592541B4E0574C93C560140D1CAC5 + +Count = 200 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 9B3ABD8EBF3AF1611A8925F878059719EEDB8AED2ECAE39DF85BE0B3DB400AC8 + +Count = 201 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 8D9CA60D66113A9A26088EB1CBAD3FEF9A32045AE3494E9A29DE32CEF171086F + +Count = 202 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = DCB15BCA7568CBB3E8D00284B97D9789373DE3F5338A179B04585E89D5060238 + +Count = 203 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = F04719C13CE2E1685068BC97562064DB37DCEE933CF69AC30D6FEE374764E767 + +Count = 204 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 1B96B4204A310C283F84EC0B1981BE63D172281ACE9BDB81CA75FB1777599D29 + +Count = 205 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = EFF77A098B8F8727C2C97AFDE3F4C885886E5AA6EDDF44F425E4FD54B912F423 + +Count = 206 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 4E7D18484AEDE6975C5B10BE3EFD118FA3C3038695C36EA919AE4E9F1D134277 + +Count = 207 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 8DC4FAC8A7CC2DD6D68EE100584157F1B7C3321D7B385750BDDC6E227CC902CB + +Count = 208 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 23A0771119DA2285FB6969E31EBDBD530DF22F78DD2BCE4647BB81DD170F8DD0 + +Count = 209 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = D4EE40F9B16CA8E6A95926171C0AB5E0D21B73F5032FDB363C96A8FEBE67468B + +Count = 210 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 21FE7671C05AA91E4BDAB7372BEAED2DD063D9A8BBC335A3AF9B6E1A7AADC46F + +Count = 211 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 0B829B8811DD357840938A77C2859544A8D24456F79470E1A7519ED5157F4014 + +Count = 212 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = E79B8F312D3B26F2A1BC345DC6D1D354F7C98B637D138C87EFAF2928C7956FBF + +Count = 213 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 632D17C76F409E435FDDFE4F7EAB7CBED75EDB85F78A476BBF0CDFCFDC6CBEE8 + +Count = 214 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 16CA382DFF1EB82BB44633902E8727C3F9A7DF7329D4697E44573F6821BAFD64 + +Count = 215 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = E9C75568CFDBAB383230E4655AA33FDA7C069F86B9AD08A2B77683ADE4280C8B + +Count = 216 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 6347F840899122D60ED9B13AEB05974D2BD6ABDC9635536BEB039B73C13457C6 + +Count = 217 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = A15E029AD889B4EA60FCE21DFC09F949D58A39852CC3E323E06208586F3465E2 + +Count = 218 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 757C78A1FC48E2C674104C74E05450633ACE3A494E399E2248DFD961399D4BCD + +Count = 219 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 9DCC7DE1F1CFCCA582079868792FFD6DD5D0D8F6E3AFC364990C22F21599F9D7 + +Count = 220 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = F8283DF91E649CE21071EA701AED68148FA347EF11F191549AB05221959DDA51 + +Count = 221 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = F249C4637DCF6C561F6EC5F0887EC5471E829C2F9D1C4C4A471E21E34F54BA60 + +Count = 222 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = E269435063EED9943FA8BD493C9C121E7BBC0210B4D86294295492589721C92A + +Count = 223 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = BD7EBA78D5E2B821044764BD00428CC4D506C598BE24E238C420346D1B70DD2E + +Count = 224 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = 3554DEB513F65BBED6F4C31D8DA787CAFD639E4EC10C58E1564E0DE17EDBB9CD + +Count = 225 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 3991A02EACA85855F383875649115C7A0F170174386A3E34C6015FA94958563B + +Count = 226 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 8B72369CF38D86945D58401E012E4CD6ACF82BDC8429770ED17E8A627A0F7E8A + +Count = 227 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 8E26C1000FAF38A11670D14D83DF637D166540D099F3232962DB397A667DEFDC + +Count = 228 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = B4995B23625B34EB08039697EC2485E7A9254CD41DF1520D58B84D0C3929D2AE + +Count = 229 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 3C68412D6F3E033C3802087566BB8C2737C445DF74C4D1AEFC3C51FF82D5C6F1 + +Count = 230 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 94334545F43691C83F1F2C3BD07869825C8CEF2227BAE72C98ADA2D3B1D4A042 + +Count = 231 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = CF0E330C1E7943FB4249D7514F78211AE44A2C2C5A684CF41337108073B161AD + +Count = 232 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 54A8C915F00A2C21967493CD509757BFC751CF9A6661CF365F979E91BBDF03B6 + +Count = 233 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = E61C3E9BB9B19345B687661FE60B375844701F275FC249C4B1035C382BEB3FC5 + +Count = 234 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 5A0D4E57E666F66E719E3233673B247738C663F3E8F059D75F2D27909C17DC1A + +Count = 235 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = A74BF88671032A7D8353DF260DEC719BFA10BDC497059397FFD095F056930F7E + +Count = 236 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 48D761871DE00DFBD7AABF705AD40AE5A842E807A1D68AEDB347B224300E7A67 + +Count = 237 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = CEC91399502CA11C25FA4616534797016781625A1B26267B75C321D5009A64B5 + +Count = 238 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 0F436CFD06D265DF74083892791F0EE70FE0C4DC0BD5FDD9B3C1D0EB83C41AC2 + +Count = 239 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = C3AD9CF6554A2A5E95A2515FDFDBBBF0C97C3D019E8BA0B3FB807877ED9EB9FC + +Count = 240 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = E9D2B3F067CC4E32D9D2CCFD55C4DD5268BBAB855225C3CA909C94AA5DCFC92A + +Count = 241 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 847292D59189FBC7589B431300D9D1B42DB9938FA9EB8EDF6A13149F490E6D86 + +Count = 242 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = CEC9E17A82B11D8B5671B29F9B31812D3A27FF620E356C9CF1F4273AC985D5BE + +Count = 243 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 68F367330693230D0ED0E415A0AF3B28C583A5E92798235B61F08DDAF6952879 + +Count = 244 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = FDB4929BB2A48543B6336D398B3F88E55B19A0B4C3C022F7A7223ADB575E4153 + +Count = 245 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = C73AF973368E6B57872AFFF29DE991744764B8E040D069870145014C553D3E84 + +Count = 246 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 08CEE7E656341A8D707D181C6DF02AC8267644AD9ACDBAAA7B6D851754B675CF + +Count = 247 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 6643DFD4904F2EBFB177F52CC69C025E1705FB682B5B5589FD0E453FD5BBC8D7 + +Count = 248 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 2B2F81B8390FDE161C29F5125261889400BB1D27C98B81D5D74F7B525DB60E35 + +Count = 249 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 85E6542E3B6F2BEF13BBEE143A0EB5C4D02BC3BADFB3C85270C6F0BA3BBE2835 + +Count = 250 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 2FF3B5057E42F7A3AB3D235E833B90849902F84FC1F8BFEE4BCACB43DB335262 + +Count = 251 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 87C38B7D6BCC1D81A3BA17D3B4993F1E3DFD2299ABD7722FC146147E50D2AF17 + +Count = 252 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 4213042E7CD88FB44E97AEE65DDE4C3C6B89EC7DBDE3527B41FB35F795807101 + +Count = 253 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 72F66691FB39E086A1C1E21C42BF78397AAB9ACDFF70C769DE6B1BD2794D1E7D + +Count = 254 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 98432702798AFC3262A602A452C04E89D5123E19A61278B180252D39D80D0274 + +Count = 255 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 0042485900D470880A2D24F6ABA2C61615DB90D12258A37837CF69632F186D93 + +Count = 256 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 4BB1AD48E24C730699C83D2E827BFB7B87EEC909AD8F81AEF3EC7867BE554839 + +Count = 257 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 6E4CF33D8C60BDE3B540D9C514F9E724FA8E9228F0BA9D3738E08D237D1754D7 + +Count = 258 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 7C75AF6D77D21AC282F6BC40E1206BC07B5612C8C6BFEB56C85322F9063A1219 + +Count = 259 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = F899B7D53D81292847C0672D872B947CC350BCC9DE8D9C2765E06DB8E39F0837 + +Count = 260 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 1B0611E398735C569D045BAA1CC3FEB61147CF3E47E8FE7CC04E78A74E8D3EE4 + +Count = 261 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 44D34CEED08951C31B344D4A0463510508952D6450304DF8E4B8D56783B4AAF1 + +Count = 262 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = BC46563E904AC21EEF045B799CC7FF0E03385398A5FE1C4FF704F9205DB9F275 + +Count = 263 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = B92A85AD99DEFE1E3379A127AE22A97A35FF37C2E66C4EBA1D985B4A4A9234D4 + +Count = 264 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 527609D34AA894E8046F6FE06E07773B32C8A7E8292ED2E69FB4979A82600959 + +Count = 265 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 46C311DD6886E9B047A22CF7BE062FFD0065CE872EA3D45E58288B85FB1D96B2 + +Count = 266 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 0B08C3E5D2A66C07BB6AF0058E725EE310FE28A7D88CB2AC642FDA97A6F9ED1B + +Count = 267 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 8F912C25D54FBCBFE2D46DE82D7D960F5AE10693A4910A481A1567800EDF0B37 + +Count = 268 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 5F938210B0ED0E46FC4E2A046EDEE68726E56BAF7F63A32476500A8E8A7D7312 + +Count = 269 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = ED8DFDECA6ED45356B98008DF199A316BEA8AE829E196830B32440BECFAB7304 + +Count = 270 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = ED4782116BC331EFD7901ACE80475BEE7D4AF2502C65885418497BCB46C1910F + +Count = 271 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 429EEE6630956E0AA4E7DE5987CFA3253F5C0058BC7264610B25F55D96548B3C + +Count = 272 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = DC307402581410E6486E77B6CCF78BA0E6B7B830E4E737DB1E65A5F6FB7A2762 + +Count = 273 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = C990496293C172ACAD1E4487ED9A110FAD8BC5561A55339F815BA01E4386B427 + +Count = 274 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = ABB3C6A34578B6EBACAAE271A7B6D6D77353C3894876C073E71885ED66CB7844 + +Count = 275 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = C3739912AACDDC11BA3BD7B268969D2CD1203B4B31E84FD937D61E2A8538315B + +Count = 276 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 4098204595AC31C4E6F53A9BB6C71A5A62DCE3435A5CEA40BE1D36CD7D20ECBA + +Count = 277 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 783EC9098F1E6AB78B1A2BF83969927CC872A4BDF5B6E0AA1738351930548BDF + +Count = 278 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 5EC0E5CFF22A068B8CE2AE28C7C4154612A0ECD23AD376176E99479B9AE4DAB1 + +Count = 279 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = AFD4F224E8E39D53F6140821044E1DD2336398361A9D07A1ED697923486B7693 + +Count = 280 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 404BA57935CFCE0AD5CC96E4F39ACA98BB2FA48CEB204052B710B3B1E5E11099 + +Count = 281 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = D3C6D565FF38F6D89FA1F16D944884B3151275225309AB0798377905EEF6939A + +Count = 282 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 056D448F6BA3DF05BBFBBDDE9931993A1A838ED12532116E9BA9E7878B93EE83 + +Count = 283 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 731F37A1D59177542FDE32F5B6E8EDFC18DB29AACE5DFC6C2AC03E2B153230D3 + +Count = 284 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 85052C9184C80124028154DF54410F52E5C55A7A93FEA66884C6796C77D32042 + +Count = 285 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 0F6DDB35273653C2B12C4D46CC1F8A92296F0CA28C55830F617C6E8067156FE0 + +Count = 286 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = DFC6A25B0115D6C754026CD4C6E186AFBE903AD140530A2C2C88F53439B1AE2C + +Count = 287 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 537F658B8480FAE75A8DEF5C1C25C0A2103A0E684C12BB1278761B57DB841C94 + +Count = 288 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = D20C33C572EC7BC6FB067F9B97F2D5802932CD385AEC801AE49E2B911B20B991 + +Count = 289 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 779993F8E3D51C15DD649499FB66BE4415F7EA2F416A6FDFED4F69FB1E471450 + +Count = 290 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 742834A4A1F15CEFF917F3ABB283E78E692BB230395F07D35E66A4F7325D33D4 + +Count = 291 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 7D3D371893370E4EC582E33F12D4DC8280160377F5B85D3E74F0D1F852B2BC6F + +Count = 292 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 8B24027B4A386B4041B66601C1F4799E1692DA26D9FF089B9EF44020FD7227D9 + +Count = 293 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 08FEA028D16FA3622A5383E6DDDF68883A8A5875649F1339D5C26EFCA20DD8C1 + +Count = 294 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 57AABB2488D69FC4EDCF34D0AAF889EBEEBAA2F482F0FE0CCBE02E3B38533D2E + +Count = 295 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = BDE1826DE3C4718B643D41614F82701BD1ABD41110BE3CBDEF1DDF7CA553455E + +Count = 296 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 82F97FF46DFF22BA1CC813A672F4BCB31B6DF9A6B2E81B75685AA9A362986DDB + +Count = 297 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 52DB4AF55EC65C11A7887389876F220CDB470D195E3BFA8C1E1C29D7AA37B510 + +Count = 298 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 4E6BD8EFC7459509699C1C43FD2D526D3D7C49A543A8E121DC30F87AB828C21A + +Count = 299 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = B12AA25051899141084B1A594DF3820FC49150AA803EEB96499D3F40CEE276A5 + +Count = 300 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = D910F0CEFB28CB85A8868354A126CE06AC389875035CF101B02A75C4247D0454 + +Count = 301 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 02FC9572235D8A8A3F93CAD969496669A104EAAF5C5E1DD4A0778D349E471F23 + +Count = 302 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = E5587146E4B73C3524EE12642E03F36C4FC8D9E0BA4E6A8D152AB03CFB913B39 + +Count = 303 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = AF0F7A47F0F71BF12C933831B9FC6A4335045A5E9B6A0028F32092E79EB52752 + +Count = 304 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = CD86F36D28116B4D08F496885134B15416BC6F22827BB0FE4E92F8A501D21DC1 + +Count = 305 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = CE5534595F97DC560C847F2BA9BA1C33F26F44A3920F75C2E7A58A67800CBB0C + +Count = 306 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = C9D452B58751CC4710FCAA7DA54D57137C37BFEE90103B4A6468DE135027E006 + +Count = 307 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 3684B76CC62F49DCC08F5A2C74ADA8B9DA344021388EBAB345F81597749B7DEE + +Count = 308 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 9E70DF58EB8F6D26B486DD733BFBC22583F86871873B70ED73E2EF78B249A4D6 + +Count = 309 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = AAC6840FB0349585FF62B148D3F66722009462545452E57C01C91A6C92466798 + +Count = 310 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = F1D82CF17A829E3AC0ABD04C4909794C629466D789051C7B7E172FFF827BB53F + +Count = 311 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 71CA83D27F452FCCC015AE076C47D307397D9174A9B80E8EE6015324DA65461A + +Count = 312 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 0727031586668E92C94B3120AD94A1D811780E81B12198E14ACA3ECB1E63B80F + +Count = 313 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 1C9E381ED97AA0F09A4D23E00166A930C37B50DE1D0CAEF7FBAD158B63617425 + +Count = 314 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = CA1CFEFD285D80ACEF98DD8197BA4B1B49ED0ECBB99714B1F62A41348A0AE791 + +Count = 315 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 3976D1F54540656E6A2B1FAFB29F2E39268D3BE1EFEAA1AE50CA66F5B7B9A9DA + +Count = 316 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = AC3978646817CE2F4CB4B5906CD07ACC7C3D2EFF113A2DF5F1FF937831AF0854 + +Count = 317 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = AA33E26C5A7A9C997F03F72472CB6BA9B130D06DD40BB9E8CD1187E6B1A8A217 + +Count = 318 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 0C10EA6DBE92B8CEDAA816EACFBF1CE234C99CF3FC821EEC6786BE60921174D3 + +Count = 319 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = F349A2FDA8A560D3ED7BD08C0251192B1DC63B1A1785911DB61FAAA44AEE22AF + +Count = 320 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = B3FFF8F96121DBFC8C06D93AC8ED0A0D5D1572B9ABC288D7CAB174A2470ACA55 + +Count = 321 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 8640E04145E5E65BD0F9113EAB66D2E37333E93128593C329B46E05B1C235AC9 + +Count = 322 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 8A3F25660B46A0AE71A61870510BAEE47B1E1A9E7036B26B2A318709D8EA76A2 + +Count = 323 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = F1B51E16069CEB3D2ECCC830AF48F32E663700E51EB4CB95E50D3421E65776D2 + +Count = 324 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 3E671AD8F530E710D9337F31D639CFF6ABC3C9902A7B2AA55C211BB598F33F4E + +Count = 325 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 10BE18BFE6CEE442740847CCC102ADF7674D3067768C4D6B6F5AB332361B27BA + +Count = 326 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 9385FE9EB16B0D681CFF92DACC7108DEF4C7C738AAE2C9E088302463122401B9 + +Count = 327 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 73D5E8339C40C8989389DF1234B3C467E4C0B63B39681166AAEAD0336ACBF7B9 + +Count = 328 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 83251213CB6A0F8474DD5D950958057A6A32CDA552636BA7A475B986A26877EA + +Count = 329 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 0DB8B04C8E1C6955E5FB5DE0D39D0F34405C26074A138C71DE7E6B75891AA9AE + +Count = 330 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 4382E7E89EC71D13F03D3A6274920CBC68FA1834AD95370AA403F45DDE5F5E68 + +Count = 331 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 8B6878DAC059966761806C1D45BB6D5FC18BAE784372F172E834A51CA8BF232B + +Count = 332 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 48BC36B99068D74CEF1370E50A6A8F9150F24935A3AD543315CC28896839E219 + +Count = 333 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 9355A58919A810317AA4FA0EF84B929D856C3DC4830E9BE11E8D96644EA048B7 + +Count = 334 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 5CDA6A819BEE0C484C17EE1E6C3AF618459F60542A846E5114014DCBEABC1EDB + +Count = 335 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = F5FE009AE596D69EB1FB156F4C258E16E3534484224066070169BC3B01137743 + +Count = 336 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 33E3815926F5F6DF9083C26EE8E49FB576696A6AAB77AC946759AF886805CB59 + +Count = 337 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 16B9E0B6BC9486E140CF3C6F1FA4D4E6309A9157661C66DC01AF2C0FE1FBDBCF + +Count = 338 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = F82A7C531B9117E2B178706719C4670DF3DC5AB76FF54A96E219E8C6BBA527E9 + +Count = 339 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = FC19D0608F01C62420C43EA78B47B4ABBDC4D5E12F514979DFE0BDC71E8CCECA + +Count = 340 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 1BA564ABB6AC0C1A579223DDDAE89E7B4F2D901DF745F0B812C721F8AF24F031 + +Count = 341 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 3912B3D5A3E9A1CE605133C2A94289ABA6AE7F7719DFFEF30A0C48B5E27DC9F2 + +Count = 342 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 606280643BFB2B450C26B1BB2EB5F679399F3D91E272C55C0436AA88A8390E47 + +Count = 343 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = FCC5264A5265DCFECE09B831482EC349CD597E127CDB2FD6CEC490E8535E2AB7 + +Count = 344 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 8FCC447EEE3C2848BCC5F1B63966001E5D60AF2350A79FF2A2C27DA08F16B3D1 + +Count = 345 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 0FB900F6CC72E8B2D43156B82629C70525C02EDBD6488C578049562A4B81E3DE + +Count = 346 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 450584B083ADE65AF4D23A42943E341D9B50108D5F4B8E3C3FDB623A1BCBE1D8 + +Count = 347 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = C0B05F034E1C340C5E1783B718F5136E52D80054891FEFC202DE820ED86A981A + +Count = 348 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = A69991E499202F804989B9B9136DC2A37A348079A1502600713A603481436B48 + +Count = 349 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = 1D8B15002411F82599A61A1264C340E436A13F6774FAEF7E8FC867CB2A7972D7 + +Count = 350 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = E3BD352CBF304747BAAF6431E6E204724934BAAF6C8FE98C57D952CDAC8170C8 + +Count = 351 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 2B7FB40125836D48B516B232043F5DFAB22C923504A0750568A1F48032DE426F + +Count = 352 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 90C7B7F8C622E9A30830C8FFB4781FAF92BBA7A2EC239FDC7C8030FAE17C0E1C + +Count = 353 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 900FAE2498F4DD6F2644134CC19157898A2A5C01B3D3E6F3AF34DDBB9E2AED11 + +Count = 354 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 742DD1724FD129F8361779D5A171200390521526DB1EC40498BD6511A3FF4485 + +Count = 355 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 93D6A777CBEDF4AEDFAC1B8F3AF068111CDAD3BDFEF0B0D18FDDCF2DCA9D0D3E + +Count = 356 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 04393030D9B101AFF7ED138ACA8554F602AFEAED52AC3B0DECEFC7B40F413692 + +Count = 357 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 5CF7A34D78A95CC1E4E7621E8242BB9C925DC60D716E0336BE61A87FA1156A23 + +Count = 358 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 0848F9994F359AF8273842052830E07D99C8DE85637AFF08FD28DF419E65D243 + +Count = 359 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = D5A3872E0445BD568AC8999D60401F36B474259E7FA758FA8F5EACC702EAB911 + +Count = 360 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 30B6D91AE40DBDF322A7A44F1DE94816C084CA4224D967936FB013A10685AACD + +Count = 361 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = C9C94084E9D135F1003D50345A790032833E327A2BFC08E05ECB6662D0AF90BF + +Count = 362 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = BB39F62FA7E3BDEE9211C8FEBF8351A00CF732CCD2A6913B445723B1456813D8 + +Count = 363 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 9B52A7C29762FEE26D7058F3B390C2147BD50A7C4D77FD329C735B4709F380B6 + +Count = 364 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 47D17AB7869530AE0E7BB589AAECCC7EF1693D843F6E460ABE2330AB986E3159 + +Count = 365 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 9F94DF56D31C25A5FC2847D948ED71CC15936B1201A8ACE5CC2D6D1822DCC679 + +Count = 366 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 15C9467A40DE64B6D1ABE31345646FBD036563E60ECE2DB71833AD115FB4FFEE + +Count = 367 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = E69174A49ED35F3D084E783248ECA3442FCE0CDE1458EAF235D02A5AE0825DFF + +Count = 368 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 701E115F82E59FA7096934958D62978ABE6224E97B443E0568B05003D30D0392 + +Count = 369 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 7416AFEE1BFD0F2046625DDFC942CC1AC08A8F16FBB4CCC7B00E1B6A48FACD57 + +Count = 370 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 34A6CC3B2E612E6C6842B62C0134E1F906551B5240337E709985D6586569A64F + +Count = 371 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 8F5D4B85C64B9D7E7B7011645A7DACE7088DACF7CC63D09B8C36DA0AA523362C + +Count = 372 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 30D837D01514387E6B6F87D86F03B29989B14D0FD18130FB96A019545D4865D1 + +Count = 373 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = F835A5CE7F775A65D603A518DEF4698C1277E04E290301BC40D6C675EDC8F905 + +Count = 374 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 44097F175E7EF8BF681550BEC8F3B97926D0659311907BEB96A28971E30EA2AC + +Count = 375 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = CF998344E3B74F7AADD3E3FF21A9A6AC3743C60F44FF6478B3741FEEDC4B1855 + +Count = 376 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = F0A6F98070A6F6764F233138B92002849351ADBA87978EBB5A89234E5C8B3971 + +Count = 377 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 2399EBD5DBED0CB401053326E61C0F89661A0F83C9EF7F413F0726D7E22164DC + +Count = 378 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = DFDBC4FA4EC7DC80923224860DA2047C4E9113BF31820DD7C5A88B7760AA96D4 + +Count = 379 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = EA18FE247AC55F8A3B239A23BB4D8F3136A1EB692FBAA26D86B337C0A55BC019 + +Count = 380 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 86E09AF63C82C3C9EBB1610B73BB53E9024B20FBEA8B114BEC14D8693E36E140 + +Count = 381 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 32BDBB4E5D6A15D6EB0602429A814CA37D92FF561DA6F12D63F1D94D4F9F0070 + +Count = 382 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 0D5F47297962B3CEE5CFFE460ECC82182FCBA11E88F26D5289325E9BF1DFCB0F + +Count = 383 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 682B7379D6C9D1F109FDC3F14B6E8523EDF4AFAD6E1B21A3AFFFA4FB7AFBBE37 + +Count = 384 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = CA0A646CC1D9EB15A7D21071B4ADE1B64E30286DA4277058FF5F57124D463F75 + +Count = 385 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 0AC96A5DC8582F4E9552A5B639EFE20B890D085CA8748AE74685FC6F40013F2B + +Count = 386 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = C809A82EF48F8EE3C6C5BF90EA855785A2CE591F68CF58E9C3F53CF45348715D + +Count = 387 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 99E21F0028ECFB3FA5782C6FD4CF34206CDCD4AAFFBAD27067224F93B059AC15 + +Count = 388 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 45187E87333BBB689BF5E7E0F039BA91963E807B158F9226ECCBFDE103C05A8F + +Count = 389 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 3DE04E354666D375DBDFC35FCFE04BA2F190B18623F6FB08BF42310A76535942 + +Count = 390 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 988316FA1B13DB41F51E83BB4D84E7C7D2A2744D2C3CFC05E478721FE4760CAB + +Count = 391 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 231288FE2F5FE92A6157E43F1F50FCF52CECEA2CDFEF33918FE2ABD3BA0787AF + +Count = 392 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 0F7293478976BEF3CF282528EE51617066E3D651032E0C81EAC84CEC1BB7FBF8 + +Count = 393 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 5138DE130644CA04E8B0B8B403111E8565D42E38F0E06E57866F75B132793896 + +Count = 394 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 58C7CEDAC6F62D3D25B97E9D8CEB842596CC7D64A8027FF751C035F0211B8A5A + +Count = 395 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 85E4497095A2C9809E89C22954C66177B2109130157E47B9EDEB07AB3A7C15FD + +Count = 396 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 277FA2712A4C818B1FD9465900D25EF3AA23E391ACCE05A65EC152ED32DD52BC + +Count = 397 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = F044321DA3DFDDADA7DADE39B762F12E67D9C727E17198BF2873C017CCD9F2CB + +Count = 398 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 84AC31D8FF4E88C7E6655C7F495D587FAB8711857D242D494FE8182AC25A160D + +Count = 399 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = DF04CD7F18973C8A107CF4B7F603267BFBC2C3A4FE21B1B1E415D90E050D298D + +Count = 400 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = C94A17248B2E9261F01DD739DCE547423282354141B810A364CC67422819EF77 + +Count = 401 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 2CAA6D3E4E559B4F396C5B70350BD5805AE9C6EB2ED6D4617DBFEA8301339528 + +Count = 402 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = AAD1260CDC13035BA61924FEB83A5D6A6FB6C3F9C6188D468D476ECA33165282 + +Count = 403 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = C9F07379F50C16C0C924C1295124A78B70C0593474FB0A525B72F28953EFC6CB + +Count = 404 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 5FBB9794C89C5A2C63671A469BA12215BEC57E4A91DF80F7AB9C76282768F560 + +Count = 405 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = CAAAB1D1F5B45558817F807D6066B4A39882D39604331FE74C647091D97FBFCB + +Count = 406 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = E455B063FADA1F8F1341134C4BF0745678B1571E6A9B4F0FF418193F49DE0C36 + +Count = 407 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 36A0C4124ABCA51A492D20664E01BFE8C7F732371E5F7A34C629DDD13B5DBEEB + +Count = 408 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = A88E3AC6ED9E0477684B0B5699F9DC0A89A6B10AE205BB3F64A2A4FFD7BA4CD5 + +Count = 409 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = A7F9B8B91CE8BA259D472F2770931F77E80131BE0F16F11D007208CA2C7A4107 + +Count = 410 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = BFD69027F17A844505FDF7301B18748D81A317A84E32F7682FB5DFEF5C2DCBB2 + +Count = 411 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 0455D01721B607D3A3FDE93ABDCF403FEBD787C665C41BA7A840957BF821623C + +Count = 412 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = A8AD5ACE9C8D57F9D310E00FA6A10ED41061FC325275072B003C6142D5435DB9 + +Count = 413 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 255DB2FE9E5DA83F45149E3E92C02E3ED40DAEF9C1C782976BD24029DDE925E2 + +Count = 414 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = FDD36852EA715C27CB0BD0E6C634A9A7AE5A28EE23648E56976A0EE36D139AF4 + +Count = 415 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = DF2FC4BBCE105F9F1809020ED6BF82CEBFDC22F253AD2EB5EFFF9999821F97AD + +Count = 416 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 36DE8A71DE3634710A4423FEA927B931B9199CA3DC2201A71F016E7D962A21D2 + +Count = 417 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = DB605F6993F2127DD190250DFEF8E91BC812B8BCBEDB5B455B2B4BBD8208A9AA + +Count = 418 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = B81379350FB739459C63743FE4AA9FD1E004EFA65C32A47727203C58A6FFE3AA + +Count = 419 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = BB1843B0451F26EBB392851D2377DD24F6DE01E59E1BBDAD32A345554B574490 + +Count = 420 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 2C05CD4F2285DD867A65396AD2AE867343D1E832562A14E82959F90D9C4D30C7 + +Count = 421 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 8E4AFDD27D6E940021D9EB27A59AE8664AB5F4238394352B2F48E554612623E1 + +Count = 422 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = F1290AB8DF9F733CF56DFCC9F6BC7640AF8E7847775874D7796E229EB1EEFB99 + +Count = 423 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = D91A6F1BE24E2CD1104B3EA2832AA8E5337959DAAEA993E1D9AE8D3A679B9CFB + +Count = 424 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 83575F2BC0174AEAAE33CD9C0A730237F8A5B17CEB1AED5307B1BD2D36B80BEE + +Count = 425 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 92526BC133365EF581DE2E77B996E0CA4B65292E1A123487BCEEC9DCA10E1A89 + +Count = 426 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 7DC41F7191E0E51A1E31C9E3D057A3E1712CD1CBBF9322DD75889AA72F1E0936 + +Count = 427 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 92B3995B1CD2653C485C9ACE34A23D51ED7A63EDBD8654087FD7CCE091C5A00D + +Count = 428 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = B5E7929D97EC85174AF1FC063FB1C0F5A3802D35059536EA94A328E7FE2E364C + +Count = 429 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 28BCF6BE19C0FBC70459194438C22FD8CD4DA82B4FAE49B4235C4F0E7627F787 + +Count = 430 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 491E4D2049FEBD7155BB1FF94202B05989BDE0A475AA817F3EF53818700FD6A0 + +Count = 431 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 66CABE36B1F453F5513722122AA6417CD567D3186F74D9422E80F7F65081CE10 + +Count = 432 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = E740725EBC18E2C591F1C8DA1B5F7A6FBCBDC5C54A078E64DDD72FCCF2709BBB + +Count = 433 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = C0CF7CFDEEC3042CB6A0FB6D7DDBAFE04001B281C4301415957A7B938946D8A8 + +Count = 434 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = 541D31F9C861EBB10C171A87B0314769E0C6E63EE1F6735F8E70641AEFBB0362 + +Count = 435 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 200883E41015CD98B6E0B5E97CD6BEC4A068D77865B22D316B49F41391434330 + +Count = 436 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 0734ED0EE3C4ED3C48AC5D9E2D8A3CCF695445AF85DDDE519A19520F22C6300B + +Count = 437 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 25826A4125587C4C25F64A16A074EBC31E9BA8F5CBFB5A5B50FD3A991054AF5F + +Count = 438 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 2F2F23A71472F20965C51E71FCB8EFCBFC8F4282168F67183FF73D17AD84634F + +Count = 439 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 9DC0B05941F5068006D40C3ECF2EF3A33C4944BA776DA33632FF7BACF7F40E65 + +Count = 440 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 7CBEE6EB99BFC8A7F876118B4EBFD70B084E6724F916DC222F4BE1F29C3DE5AE + +Count = 441 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 4E922F0C7816D391049C870B617BBD0FC79E5088EE4E6E1CC5A052767EDAF83C + +Count = 442 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 68FD0507CAA4F43551ECE3BACABF0A88FEA37466CD808B8C0BAEC5C233D79EA5 + +Count = 443 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = F2BD24A0C02F717B48A36B2A992C5CC5D16FFF353094071B8D633BAA576328D5 + +Count = 444 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 191ACCD056767D9FF4E4BA46A0CECC615B773C8DD0671B8A3AEB139D9DDB28C9 + +Count = 445 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 67AB6256DDE3999C63EF1FE48D0CECEE682FAED956F159DB5D7E2DC325B61DB3 + +Count = 446 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 52644EFE339FB6F0B7FF740C62EFC2105876E69A0A898EC1132AD792AA476636 + +Count = 447 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 44BB9CAE10BDF535769F45142AD3D483ECC829662F96CD3375A3751CA1F1BE8B + +Count = 448 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 1ECF35D5389BF56A8BCEA8B1353DBB332BF777478EBC4E19869A9BFC1DB058D0 + +Count = 449 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 72A612D970AC482493E3472257FC7A9BF5D8513F5789272CE6A2B3CC542CE8A9 + +Count = 450 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 70DAF6CC2751403EEB5D2899D765350D4FF690BBF19EF140E9F1DF337A18B363 + +Count = 451 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 09163846D77AA15A5143F5521FBEB7DD5E3DA9BAEFDB77C7F488B6FF6886D688 + +Count = 452 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 26A406374CCED17C7F1C3A4102864356188B600B8C6B0C625AD9B5CEB50A733C + +Count = 453 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 95E325669A20A0786EFD54F5DDAEBCD3118665F48A5062C885F8E2C761EFEF6B + +Count = 454 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = D5DE3D58A6F7B4EDB6EDD91CC2555AB2777DAD853BE052D996CA205CD5CE0E7D + +Count = 455 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 64388E4B58DC6A84F47797E7D98FFE6C59C524B6FFC6D5EB39BD9009B7D54641 + +Count = 456 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 01423BEF9E10160DB20066971A93BA6389FFB0DF77442E378A429A6F1D2C66C8 + +Count = 457 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = C93E4B4C8672806BCED1CDEAC2D83CD2A21DD91F363D5D3B0F29AA8C57D0AC62 + +Count = 458 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = E0A843CA6E25F1D899E81367E7207B74185C8F6673DDA4DA9A84391C68768851 + +Count = 459 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 20DC9A0F7FC3864019F66947A6DF7790C60B90C611852688CC1BEDF20DE41FDE + +Count = 460 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 3309F6AB8CC0D681A64A580D7B4DE5F5E754347353CEBDA3215D169CFA9985F0 + +Count = 461 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 5D0043DE71F8D5C0E8901A578AE15A12FD68947B77140DE8A01A6AD6124DBAB8 + +Count = 462 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 68575EFC4D4498EF14C79585B5DB6FE34D2AF25A8ADD3636633254403FE67F26 + +Count = 463 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 930B0CAD3DAD05330CF3C1FBEB7CB7021B26325A3DE557B5782A965A78BCF47F + +Count = 464 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = D89C749E2B89EDC2E3917303431E95D3E640D681324B0E8B856B0377917CA98C + +Count = 465 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 71FB3B357B509A794432D3547A29F47313DCE631C936C4E9E954BCD565F0874E + +Count = 466 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 51A546713CD0E338AC9B70D67ED73E6339F4B323CADB6288335E18F79870F5A5 + +Count = 467 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = F331CD83C0590B3D484BFE3E1F72A3CC5213CD1F769622D46E71F2775653C885 + +Count = 468 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = E0E0CE28A8644979DC2A4D1DDCE3083E715FDA227AB8490E3440F436E1903825 + +Count = 469 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = BF0BE016D16C7EBD974FC960961890E0FF80A712DE804D628CA29EEB796510B4 + +Count = 470 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = DBE7CA0D0A3F72954184DC939859A4377B99808A69C89F2944A191B79D778256 + +Count = 471 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 97900BFB44DE98B2199471C26A470BD5A4F0B34716D4258BB5F13F394F5D4DDB + +Count = 472 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = A9E4DA2BAE1CB35B6A4CE93AA1E6978DDB8AC9BBFE5BE0E0E34545EA7FCF3B46 + +Count = 473 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 3947F17A7E58496AF124BC6E581E6BD04C8F64EB50CC05430DFBC1E4A12F5E29 + +Count = 474 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = EFD98844EB4C8CA5300DFB24C8F9FA8B527BE99023D623A742C243A3AC5F08B3 + +Count = 475 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = CCF8D045DE387710D8B478788688169D9419D8D308C062CC40BEFC864382A42C + +Count = 476 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 7E1D6B089FB671DFBD10A47325BA0F0C5DD3EEF52F1FBC44619A13030D4B5B3D + +Count = 477 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 6CB7F3ABAFB34193890648713AE124B0CA2DEC3A64770DB19F9E86784FA17058 + +Count = 478 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 29AE289E8AF881B2A2C3F3E93C6402C50B08825BFAC98C7BE86F5EB8E64B4662 + +Count = 479 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = BDBB2E328D88CEFB29AFA17C582F026E7976D55B712B62A597393612AA9B76F6 + +Count = 480 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = F46EB97573E6E4C0717BF5A4103782DB25228DA5D6B0D6E88B152D221645C91F + +Count = 481 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 37A7E83374E4288E75CFC53189146A237C406E928B282C29100BE299F1D40784 + +Count = 482 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 7F974EA8A7499D618CE82FE469EE0CB0CC1AA48223432FFD2FC64FD1C5A738A6 + +Count = 483 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 8E1CE5FA7625E3028925B395A144E580FFA17EB29B33338676C05E1513AEE6ED + +Count = 484 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 6C15389805623B11C84A3C9C7AAE458B8EC8909E1772191FB2F1C18C22245FA0 + +Count = 485 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 2825B67559B2B6B4E6ABAEAD9628A32275A410928812F373AD2B8E1B64F57023 + +Count = 486 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = A66B338F94938C2112FA29BDEE77FA23DE0FEC03180D8FF4DA146D74CE82EC68 + +Count = 487 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = E527D0C6D9473668166F527A3F09D1E20D3FDC6AF0C8EB3ABACFF57008BF219D + +Count = 488 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 5F632CFE9DAA64C549A50149AAF2723792B5B8B87A2DF18F591BF62753177183 + +Count = 489 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = C403540DCA666FDCF7B2FD6EA56E0CEDE16EE038487BE938DBB4DE3F8FB819CD + +Count = 490 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 4FA1ECE2E9E59BF312450FAA2CDCF1CB87EB6AB77FB39764E77C3001C8500261 + +Count = 491 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = 252E26586511AEA87C5D9D30BC5B5A5ECBF81BBC482B60ABD5A4056732E0B546 + +Count = 492 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 0EE136467AC517FF58245713A33A4B26657C1112E2E91FC33D3600ED87893C08 + +Count = 493 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = AA045635A4EED49E155FF0AA6DFCC682C256E14359339A94C710F30588A77AA3 + +Count = 494 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = EA716BE09BA2C9FA8C45664B666F15EA167707BF32D43F36AEE85A3BEB241B73 + +Count = 495 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = B07107E01345B1F33157B3A2C891052396C7AA12DAC7FD4D6A457E08C832E311 + +Count = 496 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 43A9A87F65DFC9BA58C5DC8864446E366EF6D00BE8854852624AB50EF46163C7 + +Count = 497 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 12B0659DA81236A9D03ACCBA232EE926B8BD33BBE7A2E1641A8DC90AB3E3FAEB + +Count = 498 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = D755E55A0730FD9656BF43A8576C7C554CDDADEAF19C2E0FAB8463FC5F9B031D + +Count = 499 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 7ECBDD61759E2C430952EF57698075F8A0CF8BA393B010549C23E422A443AD40 + +Count = 500 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = FDF58DE0E591BD11DA70DB3F5C47FA0895B373E0F84E30341046BDB046C18043 + +Count = 501 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 563A2DE0AE22427C3CBDE3B952AE4DC889107BC05E7FDD846167BEC166F5D48C + +Count = 502 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = B6B8253A415DF0E0BAC412D99937A1FAF5C58C9772729816FF1E7107E2FA022A + +Count = 503 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 408070E48D70634B53F29E80FCAC29666D7AEC840E7F68D0C63B62C86828198B + +Count = 504 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 893716CD12EA838F15D897792D22308AAEB5F8FB404DBCFB1C100B7D60ACEF35 + +Count = 505 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 579209A7D2AA7E7BCB9C559180E737AD465CA1DBF5099E311E1FEACBAA7ECD99 + +Count = 506 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = C380CF8EAB52BB04014B51CCB190A92F86895F7F6EB8E6C4487D7FB1CD1471C8 + +Count = 507 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 5505E7C28D2EED852D0A50BB62D7218B350105CCB6FB8E3B0748AAE8F29258A8 + +Count = 508 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = FB97DF9995DD990488678FE91F95E89E9B94EE2AF7FCBD00B40961A2BD9A9639 + +Count = 509 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 10DC9B6970296F47CBF7CD745EA36C24697889247BFC7ED29854245050CEBF69 + +Count = 510 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = C11699BCD09B1C29B3D0DD90F940FF73EDE4DDAFBDD00E70DE656EB39FBB7528 + +Count = 511 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 8FC5F61F283CCF3D5FD1555DC19C85059C5DD619791B8CEFCC67B13D7F9FC8E0 + +Count = 512 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 01F296534B6957EA0102B76921D804BC082FBF499C3C10FBF673C43384123535 + +Count = 513 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = FBEBE4755D9676FF73CE982D44AF5F42CFDAEFAE945F93A0AC9728969F132ED4 + +Count = 514 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 041C5342A6053D1EF6473EB3F7A53A1F6DFE1F5FB94965F65EF256B997871B1A + +Count = 515 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = CCA9696F50BBF6281B51FB5E4517E1811DE48B48DC2D045777ACC7C3FDD6128D + +Count = 516 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 70D1FE9D975118DDF1964131ADA44ECD3196393AA8363219EBA4E1478417BC48 + +Count = 517 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 976B42ED73E6A654CA300CF8DEE022EAB75DFDE7ECFDDC6A53B007C185C90686 + +Count = 518 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = FE5A939A4C327D4814FF9F6F9AB791905FCADC44D0EFC87010E27F9216FE6367 + +Count = 519 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 2741720273988B7E6578D8B36387D2C5D32950B93AA1B54C5E0FE904A2D82312 + +Count = 520 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 6F2F744E0F314CFD77C687C379963E459A4A5F7326D0255AA416D881A6321ACD + +Count = 521 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 71A75EEF397D40F3D4BF20243A396D322B7C8CC36A06E53F6718A386A0238A8E + +Count = 522 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = E7896E7E63DCFF9EC90331E81A2B32BBC4C7E2278A20F583A4434DA41900A057 + +Count = 523 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = C600C1CF4846CE320EFA82ED1BE4B2472B82A86AF328D66D3C29A3A1456D45A1 + +Count = 524 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 5D8A15BFC4B001BF2704F2E2A16297DE839EB4EA08A2FE46757A564EAB0444D7 + +Count = 525 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = E02724C1EC4FBFEED3D218F6DB1ED4B511B7F6E6CD6E5BC266AD1CB28426621B + +Count = 526 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = BDF2A81C71243C98F029D23301B653CBC130D1BB18CF9C9634B8585A2DB3540A + +Count = 527 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 5B00DDBE2E97CB69F59242E840EE6966A4B1C6943B89B86EAAA5A7AE86A41AD6 + +Count = 528 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 1130F7DF758468E2C217CD6C601CBFF08EC2EA01066B42AF565F08D4814CFB13 + +Count = 529 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = F8B7C32EEE25ACEB92D64863209F32EE20E1720B8E8FB9CF182A7419AF149D89 + +Count = 530 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = 234B848D9F6AE23BFCF021C5FD9E20EEA94199CDB79B853ADBCF65CAFBB52244 + +Count = 531 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = AD7A31D78FBD4E6B58B8717E9C990CF7DFDC3522B8D450DE51D7BFAF08006002 + +Count = 532 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 7FCB8814EFC823A5CF5C1F3C0244AB8B61E4BF6D5CD8FED8CD2FA8D894A423FC + +Count = 533 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 8A9DBBC11CE08BC327B1B874AA7686FBEC52834767F8F5AF2F6198EDD16A2960 + +Count = 534 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = C60B6FBD8F88FDA95672912C8834009E0251D3044FF1156CB247B9A1344A4CDF + +Count = 535 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 1AA799F47538E13F3F169F69E4B73456C9036B00D7D2CB5E3CA49A500A7205DB + +Count = 536 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = 93920D92795EA9ACBF4DAFD1020622F79AA21DCC9A7CAD53AFAF886AC383029C + +Count = 537 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = AFF727599DA76925C5EC569FBB455C8EF866AB47A3ABD41E8613FFE2740E928F + +Count = 538 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = D80B2664CDF762AFD64B8A10F564A1E03B6882180D10367414E1CC9D95606BC0 + +Count = 539 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 343AFBF2C390F23287F11C3CAA3E017FA08830DD13D76BC2C5EAAD4228162133 + +Count = 540 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = F34EAA98437F8915530EDFE543569741575ABA9D3486EA8C42A01C279CA2B61A + +Count = 541 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 373AB6D4B9179DEF078B324256CBCE63954C3A48E035E414B1CF3D80A75AB28E + +Count = 542 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 3378E5159D8555444CC3E09BA152D9F9F37C58573EEBA6D109287017D3994C27 + +Count = 543 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = E5996F05AAA102C01C9AD0960EC3DF44A5A6067FEAD3478C2C6A7727ED07A780 + +Count = 544 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 759A38C3F560802E104FF0C6DE654ADD8466903D3CF57818480CC41089F35B20 + +Count = 545 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = DB6655375C1EE545D726DC648FACA9F580D804959055666D0FFB4FF2934F1B2A + +Count = 546 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 6E2B86C8FAEACDC2582A38AC9F5962F8C5701076F08F47321110A3E8C5580DBF + +Count = 547 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 814BAB12A07D973470538861FC94769A92FECFD1FC780D987545D228313CD710 + +Count = 548 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = D31A3F263415E78E671AC911DD5C56C49AB493ED06ECAFBD174EF287657C09DA + +Count = 549 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = AF67A9085362B57F5F3B9437EAB8ECA5D08B36AD4EF05AE6D98C3C77CD626956 + +Count = 550 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = C8ADD99EC58127DBB1A4F3143867A5719F8B6B0FB65C76A0358CE443E90906A5 + +Count = 551 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 1370A89FBFC88D260BF9C53DE173AB35219CA94CAA1CCDAE7B92F5D86390AE74 + +Count = 552 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 6397E7AAE8A6EB54813BCB1AABEAB91BB04059129443CF294FF13EB1A03C1972 + +Count = 553 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 6D71D268F48A36531F45320511E6E7C00E03AFB4CF6EEE0D42520F28B2E3C349 + +Count = 554 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 0C2C23AA4A3596445B3DAD361A0BC0C37DA026227C8F6942F229B176D0703656 + +Count = 555 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 719FD4DC9AFA440AA79CDB3FB80E215409A5F87119ACB7AF9BC1CEF2BFF65718 + +Count = 556 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 6704A7715DE0EB673EA35A10AD89CA0ADB45074331D53BC09B3E63E5B0961E41 + +Count = 557 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 71CCCEC30D6F0CD2869F7BAB7963BA28370C731960A3974D4B18EC7B520DF515 + +Count = 558 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 1EE1329F091FA602EA7D264C6273C5913079A5756EDC3F52852401DD35E25301 + +Count = 559 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 3558700B285B68B656274E1D89961FBDA6D51F10CDF9437E22767E857AFE503F + +Count = 560 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 26F23C4993D3E79D50D44FB8B588925B7A17D3D7276370B7A90C25D028B62DB6 + +Count = 561 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = B9369CA3952D3F18C457E25859F825DDB686AA0CF1ECF38A95000E02A03BB512 + +Count = 562 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 2337617D5EC02DB453D5704F3DC9FCB010721AA2B6E5E0069CD27ECC769D3928 + +Count = 563 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 243D883EF1D0AC6B87E2B0D7DD8EBB383B63143D06D2B7D015B51CE7F724991E + +Count = 564 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 1252834042239A6F8E940BB95CEBA1212A8688CDF4F9774EA485E2683E81CA5C + +Count = 565 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = C231D420FB7249EE37DFBD2E8F6C79DEBEBD9C88FD7BF5F73813AC038D100039 + +Count = 566 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 178255C4AD25FC382D9F37B278696F4DA6EFD2FC2274B7085C8865BBB80051D1 + +Count = 567 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = FAA31CEBEE4CC78C99B4572005218D6A3C25A6A76C9F71A30F1063D30141DD2A + +Count = 568 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 0D79A1963D459169EE48F9438423F08C7E513C580FFD52D95132425B16C4D597 + +Count = 569 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = F9C265A59F28FD2E7C698FE2FB58ED8CE14F04D83FBCA601525BD262DF816CF5 + +Count = 570 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 42E459877491C7EE0D37B6DE7AC212BA2EB56D5B8E9AD469FC9C472DEE4A9722 + +Count = 571 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 800D9D698825B6A074876A99C688F4FA0B7E8E9D580922C2069ED00DBF400959 + +Count = 572 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = A3BA625FA10EADB8DFEB0DBF6500FA9A920152AD7B91C384D5756C03BFCF99CC + +Count = 573 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 546B68780B2CD03C8C7B611EC3B9A7727E7735E559F842DB920A2D63B2AEBA2C + +Count = 574 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 34151D590E1056977E536EE157AA42A6BA746820400C9CA9F170A06661D3E1D9 + +Count = 575 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = FDA77204E642FA9403451A3C1F2E46C018DF4E78AA55218EBA772EBBBF5E2DF3 + +Count = 576 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = C65AFC302B712BDED0AE43F68E9F6ADF46A2B0A103D7CF2F44FF7B5F1C8A9233 + +Count = 577 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = CB4686597359BD75EEBEC3E5A2F9C6429296C5FAD2F26862A49F6F92EA92AD9D + +Count = 578 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 881093650D8D85B395F78C1DBC889CF5A682AFA0830261A8C27DA573FDCA9A9B + +Count = 579 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = FFDE3A49532E4440748C9AA8223DA1B16E2FDD78AAE5E01C4E0264513DAD8E23 + +Count = 580 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = C890CAF5FC2D0D43F1329FD1A0142A9362D2D6BCF853C4E417C0283D68C7FB85 + +Count = 581 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 9FB3D4E26AC9170DA79F1A6275E536C85A1E4565F4EBBAD1A77F2F09E195DADD + +Count = 582 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 4CBC89FF4EDFBDBB3A55DA3D16A920B7D1593FCC73F03EF8F2704FD71C2AFF2B + +Count = 583 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 617D91094505980555363D43F39037EF0598CB87A7FE68A0610651D5CA8E3A9A + +Count = 584 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 8233BE581CAB0272C39FBDC03F4A8A1BCB4FD68D7F735B56B0B1D720653E49AE + +Count = 585 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = D92F997A62DB9B2EA4352F7D896D8CE6ABB4E19CA331C64972EEA68FF31069C4 + +Count = 586 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 469DB72E9AA52500C6FD0DCD93E384C23EDCC03B6CB0BB07C8AEF8C3041BB1B8 + +Count = 587 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 709FB0A029B0376B49C690A5805970D3B2C219EFD07CE55EC6FC486A39CF5185 + +Count = 588 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 768FE3CFA5E9747D3FBD1353775B4EB5B9C8A41CAC25159DCE81D1DAA7BC9827 + +Count = 589 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 2B86B70746A1EB60245084634B5DC48DA6CBEFD92E2EFC1126DF643AF4956297 + +Count = 590 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = A77E943BE7212ECF8805D4C6DA3DD4986EE80EC95B461B3924AE37C763781442 + +Count = 591 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 4608230745333C1FFCD91FC2FFC3D6FD42E02BA46EA808D57091A6D039E14AA6 + +Count = 592 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 42A7C4C13B95ED5A6D9476A82B51C82B420CF47971F677B4CD9A0090EF59DE89 + +Count = 593 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = AC3E11D41B235FE6D8702B1C561344CD11E9F73ED18966435C841E24492404FF + +Count = 594 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 513F59D594AC8E279358B889DA5F979C82A871556B7E2A22087371D950550901 + +Count = 595 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 8EE53703EFA410B0B84A62E321988694F41B3428210811D414675BD473C9045B + +Count = 596 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 6125320605EBEB853D396AACE42BBCE13CF0D60BAC73DC33BF29E5EC7C9C6BBC + +Count = 597 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 42EF10E80593696415CDC1C94028E2A48470B2566C7BD13AA838A262353AF3A2 + +Count = 598 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 10A1A56668C8801E03DBCC33D11B9E2BC12FAE476ED50CA11CA10E69407099B0 + +Count = 599 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = D6E1DB6D44DFCDBF5D5E774C4DCDDAA738E3381716B2A668127D635775027AA0 + +Count = 600 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = FF4BFE01FE2453166D5FAEAB8B5E8ECED677B974C94D2864BF128F46FDEA74FA + +Count = 601 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = F0810CC733B90657FF12FEC76162408C5A468AE85A98AA0AB831FBE3D80D6550 + +Count = 602 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = DC99AD55F1A9EFD387F5A3754289531659481261C1640B46EC52869E6CF90DE7 + +Count = 603 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = F2BBEF352CE54C4CD65A6C98AB88CDCBCFB9D52E8778BDCC2625739D92F54EB7 + +Count = 604 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = D4E05A142CB71C1C825298FCF9F87BEFE73A428645FF69B173FC305A16CFD41F + +Count = 605 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = E12182A1B0255F32D6AE5E40FC541CB080A4A328A5E182C61CC533B36685F499 + +Count = 606 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = AD75E84B9D0808FF58D7A63FB255B5EE74914767D351C30288A8E840E503CC4F + +Count = 607 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 31E25164E7C7002245A7C7451AA530366CA28E451706D928597C7BB95814C5E0 + +Count = 608 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = ACF6CFF0E297628644CDB7ACFF764F5FFD198AA7795D98B22CCDE8C43AB081AB + +Count = 609 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 0B0C78AC55892D505FBF73E3941C3C5397D65606A6DE6392AF184961E3A2E0B3 + +Count = 610 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 6D439A256AF221248D471BD5000900294A74055C1177E6AFF3DE2DDA29B3EB1D + +Count = 611 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 318022A7B4F7274E7E67A76376233E6B9E6B22D156FF28B77B2E7268ED0C7C3B + +Count = 612 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 4E5DE5925A810BAB434B5F62ED6AF3AEAC99AB001329E88078689BB648E3545E + +Count = 613 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = FCD93FA99D2E72890937B30B0E9D039D91D5F2ABB34DB5396E434A20132308D5 + +Count = 614 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 7B267CBB8272514684E1F21D8E18417ABDBB8E696E8A61CB180410EB07901474 + +Count = 615 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 47A13999B79576F67CEAA7467627F55E5D56272D672184F1D8D55866947E100F + +Count = 616 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 667A62216455713611983438184735F17AF2917537E131D5BE70F3B5EB52C28C + +Count = 617 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 8461AC118660E8A72D38206789485FD5BEE61E3BC3079FA5465E2DF59AFAB731 + +Count = 618 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 3058FF06028A4CF7E9214148537D3E8AF37CA6835250BBD54182C0B82F3958C6 + +Count = 619 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 2DD785E74BC4B6C7231E0F153572E9229412710D85ECB5F6BE65C1981DA72544 + +Count = 620 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 5C9FD3310AB0BC65C9F74AF1AF84B78045D1F315DCECC6582E383523E72806B4 + +Count = 621 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = EDBD57C902C80C2AB598D7E64E74BC28CA44F20162DBA1331F1CD51D516BDE18 + +Count = 622 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 75C63FE4B884EE101360BE155EA505D351BDE8594F060E35FC988AD53169DC88 + +Count = 623 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = A0571871A9A948E03343B5B00C8511E014AC20EF2257E334EC9AF8EB20823008 + +Count = 624 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 0B99F8ED26C08AD4C6E639D5C3BDC2832A2F04F39A883410DFB0CBDEA735FB05 + +Count = 625 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = C120166CE33008E4FC5CC7F032F0F1A0CD9C4CC13EE42DF46129B459207E82EF + +Count = 626 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 5181B4489E64D79BE5FBC7761167B735BA6CC48D312312CB3322EB821F8B6812 + +Count = 627 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 33E4B79B1ACAABA62EEEF655D299DA8692F87435FCB4B18A919A516D18F7B984 + +Count = 628 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 6C5134987A632B140BCDE0889F130A01907FB697F98FF0134EC29D15E1FBC3F3 + +Count = 629 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 0E886B53E170184964C0B6533AE32402C94657A1349DFE7B65DCC3D84B2E1D6A + +Count = 630 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 456C4F8B36D638D02F2D157D1B45D8E6049D8BBAE4282B02236C6E117B81D2FF + +Count = 631 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 6A7657E9FE9A2C81B8038F6E7FC1BE31E89D24BF740E002AF286A9FF68C28E74 + +Count = 632 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 5E8DB7C3483DE09D996B2F775198E3FDB662F671B004388F8B3AEF1D7CC2D0C1 + +Count = 633 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 9C2F3360AC31F983BA9EA1FC529F06138A307A513166A4427F8361F06526D8C5 + +Count = 634 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 4E33B6C07EC782042BD89F078C7FF5108E76E3FEE3318B67087B45E88572F910 + +Count = 635 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 32631E3D080C76BD272EBBD8CAEA18C7793412C89FEA9B4A86121C71202B7352 + +Count = 636 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 8F9E2C553E52110640090FA1D904D41B57154DA0C938885DEB1BC1ED26126AAE + +Count = 637 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = CB4AF428958CBBF6CA3DD98B5C5D891EECACED1A85786B4B963D2D7E7FAAC0CD + +Count = 638 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 7DA30DE9A56B14CF485FC35805A297C597A8BC1D7AC6CEAB93957C06BE61A1E9 + +Count = 639 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = DC783C264D788653A10DBCEA16A8D97E4B30A0DF3C1F94826AA22F797AB8399B + +Count = 640 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 3DE54046198FA7679D960B4CE145FCAEE89086A54F0812A5ED46BF5124EC0E4C + +Count = 641 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 482D80D5A5778AA196FD476B3DED7DE224774347BF5FF25141A3C60AFDF4B353 + +Count = 642 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = AD911E7892CCC66BE35A7AA974E89DF94785E00FF99B60FA6B4FC9FB36719573 + +Count = 643 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 254AD66419552E731A235B4B2D3F5EF17AE57D71430404DC3AC991940FFD248D + +Count = 644 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 203BFE6490C85E55AFB90CDA6E8440FA9A3933749B1BD8E6CA9D0484C0B3CF2B + +Count = 645 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 84EFB63DA5156A755CD6E2E416F5E00005C9871154894BEDAF87FDB2ACC20295 + +Count = 646 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = F8EA9CD146744570D8C3DC15E98CA9500A6EE9C3944FD4851F10C08A73EFF69F + +Count = 647 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = D5B098AEF66DC41707D2310196669E363F7B173BC32FA8E7A430A9E80AD04DE9 + +Count = 648 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 8C3A19D1F7049AA73027FDBA115A9F159D93308983C37E3943B66A02673EB6F9 + +Count = 649 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 7B74D99B8E5B68EFB207C81142FF788C774E4BCD2AFB5169E69903693A31EF3B + +Count = 650 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 232DD7BD146E8BB9C9F9AF46188BD42C40F7295B967FBEC0E6291B17EEBC6B0D + +Count = 651 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = BEC75144809C6FE0FD0A18B4C79FA58FFC61E558AC9D9BDD655EA4CF8CA02BDF + +Count = 652 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 4114A51EB710B94FF874E440EE2BB0BA03626F410CEFA9826ADEE0382B9C78B1 + +Count = 653 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 99483A30C570420B2F42035A1AB0A9043EDABDEE019AD7DC89393C1BF5EC137D + +Count = 654 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 9C69AC017B6216C2C291F22F8FD865AA8A644628A23ED1D2683F2DA5D5582087 + +Count = 655 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 883F931F10E0D28D18A505E8B8A4C09F95C04302025BE18B383E70DD7EED7E61 + +Count = 656 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = E94DCEE8CBE4655728DDA10D3CDCFA5415E83C449063C107BA6A98ECF1EC6558 + +Count = 657 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 4FA827FF5A5BFD732FD685427033ABE8121B637CC0D1D1697B70D1F158E995C2 + +Count = 658 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 6696662942FC1A671732B6297F73358F4F383F6156771B1676C5A579B8F5AB85 + +Count = 659 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 0F87DD292DA0DD31708F9D39C2C77CE2B287F4BF17CD58F5DABC25BC0958B7D9 + +Count = 660 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 2E9317C4BD3E48248968E25820C528ED61E638464FA9D19EA02ABE4E51DD6B9F + +Count = 661 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = A1C4F91D0EFC5D1BA5074E584F5D60F6C08BB0E8AC4940ACCE7CAF2B0677B959 + +Count = 662 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 7BD264F75A36186052224F0B0F67C1E80221EA9F286F1FBD1ED21E3552F40A6B + +Count = 663 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = A68F0AF9F74FCDFC8CA25491038D368959C2CA7CD849678EA53D115712F0933D + +Count = 664 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = B4A188578EFA1E6252DC3D96B23011770ACAB657FD7B270F8BE3D4926085D8AC + +Count = 665 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = FE82C1F1793B7EEDEA98F16385BEC29FF33C2044A9DB7787EB4ED4B3BA60575A + +Count = 666 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = EEC76F60FB07E89233B722AF2701D16F25393F74BF37FA0BB726F0EAD5B1940D + +Count = 667 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = EA7149DD7907F629C34D28AB467302B7720B93C3304664B3C271EEE117DF0992 + +Count = 668 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 680C7C702A27E09FEC97AB4EF53758BC70A3213360FA1E84BFC15C46263C1C6A + +Count = 669 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = D1D1386EE1486F187BE0858E166C2C5DE2ECDEAECFEF28CAD65B1842CE89F9C8 + +Count = 670 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = B714C7C4399C6EE9250F126F24FCDA80F531E272CC5F3AC5354FC71D1958826A + +Count = 671 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 2C94F4D801A912E43E53D565D7DB55B57D9E2408C254D33187AECCDFE3901436 + +Count = 672 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 94ED349CE119D3BF4570FC9F4E8279D818806212490F09DEDC57523420C4DBF0 + +Count = 673 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = D648CFD3FE2315D444FE62D0B49EF84853CBDF13DD3FE0F3C2C45FC549474601 + +Count = 674 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 571C3530CAC3566AA903424F7939226B35D647A87AD98325511CB0EC0B573952 + +Count = 675 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 91DE08F9901A6880D6367B429CCD4323611BF634CC00D3318E64B6E272BEE687 + +Count = 676 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = CAED6A4C94E5243EA3EBE3B3844C7AAAA708BF74CD4AA6963D252FD5C5904365 + +Count = 677 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = E1DA05214C564795C68D4279050E572D224658F7C69BC24165BAFA55104169F5 + +Count = 678 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 025ECD7B7477FBA06DC7AFC6995129F4D8DC698E62D1256DB88DFF2F28F96EA7 + +Count = 679 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 2F003682EDECF2C59E3FBB56324D78798F7F4B03100D0AB2E5066EBE3D4E3CDC + +Count = 680 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = F44F8269AEBA3D4449F4540572B1716415B053F0B2565123B5B26584CD037E0F + +Count = 681 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 28AA3EEB107D38AC65687B25D6FDDE6E42BBF7C5C14B056AFE187729F81889D8 + +Count = 682 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 55C0DADF59277A8F373086C4E432BFF28A385571DCCBBD574FE5525C1E4FD673 + +Count = 683 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 32E80C107A95F52309C0F7B7179C78D95FB89DEB6BE0BC97BA13BAE7C16666B0 + +Count = 684 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 7DEE51B959E43CE5E2AB9C71E9022CFB3D60D9149957D71F969A30A419BE18FA + +Count = 685 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 4D1CF8D0159A3DB4406B81B9325A5307CB41CC208F1B920B32B933C43D2B7C56 + +Count = 686 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = EBACB3950493820E46B8E1A1FAA353120F5ED8FCB4CF9D15113751CE2A9C164F + +Count = 687 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 4BF73825E103BD202EE224EB171E7B6C043DE7632036EEADEF3B0F45921FADED + +Count = 688 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = B37972B9BB7B5CEF06AE33AD9F0AADC176762014C6C0F884D95B217D82D5B818 + +Count = 689 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 4B2D5FFF8AB2B734BA540DCC277CA6A0F18EC93A327B07FEBCB6ADEFF6612C5B + +Count = 690 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = EFB1FDA7EEC97D0392B36EE134C227B446494BF08F6186AD8CFA0DB8BCF2F8F7 + +Count = 691 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 10E62DB72E016E48148F891AA71C272815C1A472741413E198F61DDDC78EC868 + +Count = 692 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = B2D5707F94B4EB3E2E87474D423736DCF1B4DEB4D27D3FC50C66712B5E5DAF12 + +Count = 693 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 1E3CE529C441F8710DA61581908633CDEA07C821D977A38EA4808712835B1EE1 + +Count = 694 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = E186142539A2EE3A8037F94F9CC86FB45C4DC68C6519C8B0474E1F88D31422E8 + +Count = 695 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = D7526381C384E739DAD1234130B21A0A0C6836A648DC378BF7724193021B5A80 + +Count = 696 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 9D204325FFF8420247EF36B37620A8C0D8DBEA4E9685FFCB5AD8C0ABFC4C9249 + +Count = 697 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 25D2E67698DE22551E79C322CF0B7C91F0C638DC9019F86D553D89B75496BEE2 + +Count = 698 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 020059469F5E7F99FF6C456BF389D9C345FF14B83F176B619BED00926E2EB6CC + +Count = 699 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 2C855D6B81C7C0117BD952DAEE8A43B6096FD79B9BC8165EC18722B3825CD373 + +Count = 700 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = C073E36731A7009285405FD0273A51BD357748568E0D91B4180BBC04F93F9F97 + +Count = 701 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = F628443EAB79E8F303299F099B85476BE0D559CA279B721AA7196929A7EEB6CE + +Count = 702 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 2622BDB65D10595CA1915E840CEAEC0789CF6BFDF51AF7FA042978FD86CDE69D + +Count = 703 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 8D066072AF3A89D6F15183485C02BC7B25B4F75459091F3AE0B982AC86F52F36 + +Count = 704 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 1A2724D7036AABAEAD1B1D289530C7D29789DB39D6C32953C58645AF0D5E4717 + +Count = 705 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = D94247020BBF0D7C6704CF5523DD61392F21CBBB757B7ACD8EB1A6220128090B + +Count = 706 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 486D7C1BC9C39A7CB1D827BB0CB7C866341C10DA87CE50D3FFD88FFCA1E3C530 + +Count = 707 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = F2433E3DCA9B1B7F4E42977AF48BAD4C2404A77B8F56A23569859DE78B56181C + +Count = 708 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 02901394DC96E2D1849876DAC99C5189010593834962C4C75256C19007CB81E2 + +Count = 709 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 23409E32CBDEFB4A8084441F02F351ADCA3807D9158D79F3FEFA3C4F7A798F7B + +Count = 710 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = EE4B6D28A06CBCF987C93F9DDCC7AC4404AA5A04052F258C4A4091AFA9BD5F25 + +Count = 711 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 3DD88AF2D0956B26E53A22837C3EF2BF4426AE060EAFDDCDF78EDCBFE375A5FB + +Count = 712 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = D2B0E210B549D433305135B9790DEE5087A9EE84F7273C99264276E84C1B4806 + +Count = 713 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = C967A5ACE57AB148C12342F4354956ADF2F49C6E7262D10985C0618603FBEC84 + +Count = 714 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = DE97B8311C9D8ECE50A3F5A692781F122BD8924D524B3A0EEF19DCF7499C6BBE + +Count = 715 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 3B1E298F9AF25F822684510D612426F486DC434D4FC7D1910E7CD742DC8591C4 + +Count = 716 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = A5104F338B9111F3A752083300AAD23E3CCEE63278AF58C992280BD8F8B4CA37 + +Count = 717 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = F1CFA875B5B8D7FDB361A41414FCFFBB09A94979DE27F309EB34AFDEF52544F4 + +Count = 718 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 6145ACF935601E9962655CC4C5CA754376AF83B9EC46CF5E6E45B03B83FD311E + +Count = 719 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 8078592D5FFEEF79508484D1B5CE78914FC39B0CA47D17B12CB877F02D52C800 + +Count = 720 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 4635914145215E246CC7482E7FD4E93C2B577A7DE53F329E59C7ABE939A63C50 + +Count = 721 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = FA7EB78B73F6C15EE56601A8D456CB5176DC97407FEC01E45D19DD4D9D211903 + +Count = 722 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = A7D3CF239F9F23841BB205E694E2E47A25BC5D13555FFE4E1D665B87EE346247 + +Count = 723 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 91D303C458A1A8AF99A879EAB0BB72EDCE6352794FAD9A63F807487E25FD65FC + +Count = 724 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 7B7287F23F972E68E175AA657602A0FE85848A29A9883B68E4FD47D7955E91D2 + +Count = 725 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 8137E47A21F5CA8724EE75FB60138B896E6DE883AFC99F09237B8DD74253DBD5 + +Count = 726 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 011764E9BD104622459F814D4CE3A31031B2EFE04C8981D18727ED6D0E884C86 + +Count = 727 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 5F272E59C382F01E8474AA6154CA1162FE2EDBEE4AA0FCBD1BE815281CE82D21 + +Count = 728 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 17BBC7003041000380C7C30747FA5F5534152FCA4459A778C0E62E2DADAF8149 + +Count = 729 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 84E691759532F56052BA02F1E9C62E1A2A31E09896FEAEA752508786E6970A29 + +Count = 730 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = A79ADFA96F9D8542955434486E399B943DE5C56F1785146D4771F104302DC152 + +Count = 731 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 3E9E19C8F968C7C1D002C680DD1A204AA610B21E28D3FB4D5CA516C17DBE6FF9 + +Count = 732 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 8765191EEB88B4F83EA548E120C2971F894D1247637B1D8314DA214D37E99C0B + +Count = 733 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 1F66BB0FD95DDB86D4E04BF578A1A23D49E87BF404757CD68678717A4B96D94A + +Count = 734 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 3F9EF063DCCAD706B78313037E43454EA6265831196C1ADF17ECF97CBF87A639 + +Count = 735 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 14D7199A50587966D1CCB401B4826661227F643C32812F7FF89840C19BB3EE54 + +Count = 736 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = 1032126D394542FF6B3BC9E93E5192F0B27934EF0E53593A4F02944FC31CC24A + +Count = 737 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = E7CB835A62CB860B47B8692524CA243CA67F8A138D62981709530904CB0A06EF + +Count = 738 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 7DCB581167A1CEAC005EA5F4297479AB1468829CDAC2C5A509DEA904FDC23166 + +Count = 739 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = BBFA7229923DFF42135567C38ADB35F94C092A691D140A86A9789214CF360A29 + +Count = 740 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 1BB4CF73ACA7BC0968188862A2B01F5C480A4909F34BC99FD6189E5A23C78B10 + +Count = 741 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = EFD877DEB8A87097793E4B15E49311227BA35E656C78848505AF183B7EA31241 + +Count = 742 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = FB3B436639ACA82BC9D68FC71DC5DFD26B3CEA480AD5528B6F2CF5FA103D8081 + +Count = 743 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = E1193017019AA38FF81C2A964AAB26AEECF33B974C65F4994F5D6734269E88A6 + +Count = 744 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = ED0549CF6B6D02FA165BB0263D19679AED1D889F127FDF6C09F4EB62C0D742FC + +Count = 745 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = EDC0E1D701AF8755B10DD2CC6190A3DB04F88088B9B013081299304FF9825E70 + +Count = 746 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 9B5953FADC7570ECC2BC1DEC87EC9EEB7475B0CF12BA368956F53991EF136CBE + +Count = 747 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = DAE356DC356783FC8C5184C1B3F42CC835550CC6E229CFF778E837440CAB5FC7 + +Count = 748 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 998976758F81BFA8DC14BF6059865CB2CB0866554C8C0FB8E8F01BA24E23EB78 + +Count = 749 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = C86747F03BF38B0A2E127C566AB7394C1321E238C991AEF2B18A8B3175DABF00 + +Count = 750 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 29ACA2E16ECB448E6FE71CEC3A0E1A5E49E655F1B0FCDA6B832BFDD121F83E34 + +Count = 751 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = DD3EE4C6FEBFFBB0212E4857F825F1004E21CF03780F1D220AD88F4FE5F89CA4 + +Count = 752 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = B118E9C5C72C6C317009FB5270F25603C2C0B024DBEF6069D1841C559D35CFBA + +Count = 753 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = E726287B9271B52160C6B6AD8A5526A5A987CD00F8FD585DD81EF3A819D9BF4D + +Count = 754 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 49D617C750EA154125228E76E1B5B86A6644366B092C1D7976B49F6839DBA1D0 + +Count = 755 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 4FFB01127BED83671FB957B414A72ECEF701C8BE75699CAF2844107D4816756D + +Count = 756 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 440A07000CC4007C257126B888F4CF06899DF3244F4F18B2C19FF4435BCB44FE + +Count = 757 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 8E6225CFF0CFB9157E783A5F16F698A5D72331F0BE2D8A7F561C2A2941607300 + +Count = 758 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 6DD6EDB03F563428460C676DFADD6975B7EAB6E874C05D0376F79E6BC3A779DC + +Count = 759 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = E2C9EBB7A07574AB3E4539E36F2FCAAA239E3A076B9192F7D24C686AF3EF033E + +Count = 760 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = B969962FE470304C7603D72E1E71E905998E5B489BFC6DBB048E0DEEC1068DF5 + +Count = 761 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 7971D7210295E2C5D6E4515D9825BDDA0B1742070B7ECF20B0BEF3FBEB146E7F + +Count = 762 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 7BCA13A7BA10379EC93A5417155FD26E010B8C79E62C453F212C4FA86C80D382 + +Count = 763 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = CCCB1D4D7EDE61AE5D3B6101BE858B295FB1D0840FF7D84024794CF9859C6DDD + +Count = 764 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 825FA70FE55949051F16EDEEF180CF01A2E5F65467DEC2F119C1185B189621EA + +Count = 765 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = CB2E349E312DB12324038312E51019AB5F8CBB9AED121B3048D3839436B631C3 + +Count = 766 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 8BC0E22FB25F77FE2306E0F2086045892E6BE7441D9AA269CD0770965BA8AB2E + +Count = 767 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 758677D0E14A3F68D4C53220706C215883C2B9E6C0E09B277B904C88126DD17C + +Count = 768 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = C6331968AB0F22C778DCC074A83A946AA4E3F441D51C8501680FE530176573C0 + +Count = 769 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 8194B8FD8E8215AD20BFA236BAF1002EE2985BBD759466557757B14B0BC80D84 + +Count = 770 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 1E32A5A6F43C94602AC54A2CB906EBEE3B76954B0BC753F2D45E01622D1E5892 + +Count = 771 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 4D3C0BF66941980AA6E1F3558D7186902F660A5CDE40C544E9C9A3EBBD1269F2 + +Count = 772 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 79BF633569CF40E896711F7844BB0681A5CF5185BDE2D2FD982365293F0A6ED6 + +Count = 773 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 3E27E7D879A0BDD6E39D27F370C89BE12255115D84C710CB4A2E7A4A9581AD90 + +Count = 774 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 09F86A1DA119510D59E64D9F06CC2359836A4E809EAEB6499CA4B6579967F9C6 + +Count = 775 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = E10806BFE9FB9941D025D26187574B35523F90A10276816256B273AF747B78F0 + +Count = 776 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 4270CCF7749D9A710454C8A54A999CEF92BFDD4F12B35C81F87D62E7F49EC1D4 + +Count = 777 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = D9084C8730EFA4135F3FE5511BC81BB3F3B63226A3025584C5B959A1BB527244 + +Count = 778 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 543AB1C8D9434C67B7679F42059E598B06A54F22DE130CFA751A9264D4BCF721 + +Count = 779 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = EB20216C064B9F289FD78533F53080036EAB71713BE5071CC01AB3F83E5EAF68 + +Count = 780 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 18E8A145B94E0587A0696E5D73C97A5D870584814127D060113D7FC7CB0C83A3 + +Count = 781 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = FC3F841C84925F32F6930A04DFC1159F6AF3DE754306B4410430DCA12DC5317D + +Count = 782 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = CFF7AC591A89268B482B776CFCCBB4A102261EEFB20DD8CECBEB38A8F75BF7F6 + +Count = 783 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 5B43477DC412A63C696974F65854C5D83560746DDAA4217192519FE5B77B8A89 + +Count = 784 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 588B19EAA343D0E571021DBBCA6ADC153A0D2C3333A19B7B38EBB2C1AB5FC25C + +Count = 785 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = 22AC20B43EA464AEB12566784B6451DB037D00F6B01F76EA5945DEA10DBF5E9A + +Count = 786 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = C3447153D4C3BA214B9623E5BA80DEB0ADB99A17A63EFD0210083DD0F44A9449 + +Count = 787 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = 2D99F32EFF54ADA8EF99E10346966A57827360BF9E692847A1CB9FBCFC79ED08 + +Count = 788 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = A340BD349ED91D138AA700A2F82C366277FABAC097E12DCCF02BA25B4B398A3E + +Count = 789 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = B36382B4EF1382645BAC9063EA51B0048BB9B2CB15E2DA901C70E64DDFE16D16 + +Count = 790 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 530CFABA0E8706B57DAB450C789B19A8747AF24D84B32508BDFDCD2E0943FCAF + +Count = 791 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 259D60198E1847A3F13CEBB1DFA7B8C9B3A6CE6B1AB2B2B911F800E192C03BFD + +Count = 792 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = D5F23668C9BB7FA4EE09011F8D7E9F89791FEEC4DE12F9EF1EE5EAA3B4D7825F + +Count = 793 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 66EC903DCE2ABF1F480756C405F211415A54F59BAF44738A3D88397592E3494D + +Count = 794 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 14FCD1883EC795FA001CD4934F1A8B0285900373B01F7AD5398771574721F0C5 + +Count = 795 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 41817BEF91AD670A4208C3F47610605BA5DB3EE0D7DF00DAFFABFDF0C4C2B7AA + +Count = 796 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = DC1CB21122174281B4C79CD8CAC994C7CC911D3F2694F0C9E25BD62AE348350C + +Count = 797 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 475C1627074D11B71E8C2569CD1AA2E9716347014156E56B753BC8B0832DB443 + +Count = 798 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = DF20D6B28770B09D0A035BE8A0C869B10FF82D3F19C95B305EC926AE2D58FD58 + +Count = 799 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 551219440F649373C9870096D5AC0FB676DB8C462E6B63A70318DFB744B0BD78 + +Count = 800 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 3CB5665D3F35F2513523CD883F320976A261345073FAC262E1F2DEE26870EEC9 + +Count = 801 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = BE6316E91DEA8ED6D70AA582F4B38A65EB1C2478E79030BE7F8C8DFB1F839250 + +Count = 802 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 4DCF7A8498CA7B2B71DDF63E9058B587A81F0E0CD15C02D09FF923C3EA3ED3B2 + +Count = 803 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = D5BE9BBC9C2057D065F4CCD345491227AEAFFEAADA6C707B875B2DBE6CD50B6E + +Count = 804 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 3CC6506D997DE57695D7249D2B28C94A9C07E0875A80E47AD0EB5CDEDA7732C1 + +Count = 805 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 71E7405BC59D8DE7F4781C2FB0820F076ACCE44853A1CCAA15BB04F76EDFF035 + +Count = 806 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 8213C094C1A9FF03A27800C54CEFF99B26BC1FBFCFDB26BA195874416FBEE19E + +Count = 807 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 0E268973FDEF77D3058580B38B3A5D85561BB5BA88D97CA04E1EAC3479731841 + +Count = 808 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 2E633922EDD2078DC57A55539B32518019B86339C3AE7C12630340D2FF8640C7 + +Count = 809 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 135F94CBA52A97393384AAFD614EE1F80A00098FA696A6F06DFAB6CE450B164D + +Count = 810 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 0AF3F564E98E6AE60813A48E10F3435D16A5346238B224EF7C388D2EC6DEC569 + +Count = 811 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = B457E99FB02723C34B586382382D56A52E9FF2C01E1481B04856894CAF21C55E + +Count = 812 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 7408B84B9F26CAEA5FAB04909AD4A9573B8624C47A0B37452D1C2E498279EE57 + +Count = 813 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = C0758B62462A85286B4A885D5196308C13320C53595148DFD523F37E3F14A040 + +Count = 814 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 3F25D632A6F94FD47B756B3E4700226CFD89FA686177A3F17393917DAEF3AC12 + +Count = 815 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 2A8FF2736FB34A1D17DB9F594A851683202D37DB2882420967ED18C0E30CFC5D + +Count = 816 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 03C572903ADED9FA6E63FEA10A06621C08934B64D5EDA62EA75E742EC1E8A4C9 + +Count = 817 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 3EAE8A535B84E2A0DEB560E2D0C7DE2212AB2EDF2BEC5EF4716A0A7B4DD45828 + +Count = 818 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 0469473BB8714257FE6423D4EE652E86EEC398319A879FDF69CBCCC5038EB4B1 + +Count = 819 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = EA422108CA03CCCB8FAFA78D9B35938810364B34ABBB01E17BFB9966F1986D38 + +Count = 820 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 72DEA019113FB0564441878D6E3484790C4E843EAC1D4C2C0D24F5E0132E71F6 + +Count = 821 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 88C57AB4435C145B3DBA9DB38C92C692213B57609204B421728E10935A596E34 + +Count = 822 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = BBEF203B17BED9F3248DDE3B7B1221A54400053890BF3A7D77FEDF28658DB2C7 + +Count = 823 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 32DADC853E5445DE9107221339C74FA4A5755D55EA50236109D8DB0C6110F8F1 + +Count = 824 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 1D1D3F5ADF49716D42C8C727D591A030FA40D68BAAAC6A5DE66B72422F7921EE + +Count = 825 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = A91938E92452F50233CA441B8F540C1538153E58A9106E4171B7958D446AC35B + +Count = 826 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = D48D17EB797F361AB8D3CF84DDEBF3AE79A0FD6860BADB07942682AAB7C2D7D9 + +Count = 827 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 35CE44D2B036064C61AAF0C86E9CA781779102AC3577E713459F40FAEC1EB8A6 + +Count = 828 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 75EA6CB0F3A5535B393D593F37567874C9F1A1C55128B1F871F733FAB26F79D4 + +Count = 829 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 7970A924AF0C636BEE74D972B65A766A0EF476D053B148E6A2BED3AF071EDDDD + +Count = 830 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 827C3D8EC137D30586EC16CF6DAE32D841E34FF4BA3735F0F4356DAAFEEF188A + +Count = 831 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = A478C65AC81FEE378248EB3C8023E0D9F2721B58E5C6D90CFC5A63D24D11806A + +Count = 832 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 4433F9011ABD4844F5EC105B45908F9ECE80D55F1A9DBDE84F74A1CADFA4ED5B + +Count = 833 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = E1888A6C3302DDA13A406CE8AAF966B64FD7D68E4BDFA40CC6DF9CA1CFC8A253 + +Count = 834 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 035934FDFDF4B336FCA9852925B2BB6BEC1C6CA95DCCD4866BC8053F5084F1D6 + +Count = 835 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = A3A0298C519DB62033236D55536C30A475C360751B5A5068C8DDBA782A667227 + +Count = 836 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 8C0667CFD1E8C388F401C17E741D7996CFFAB76F16CD1916B8981FBDDFCCA5ED + +Count = 837 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 270D2882D3C2D1B202F41EA3F3418A748645044964CC4E854310232C7BA1C124 + +Count = 838 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 3A2D9A53ECED718D2B92500E45E7C3697112E60C15B469285BFD43E174679D0B + +Count = 839 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 9C02A666C74E3AD9F850EF3424AE41C8565CA67447871633C72E7FFB155FEE7F + +Count = 840 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 7C9DFE587CB49583ED99EECD4423DBA2D26D6F35428B5AEA37F187650C641CA1 + +Count = 841 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = FC56B3A7239AD2053EFE4E43003562FAFCDC3240EC9E88763B4E29E0CB15CB95 + +Count = 842 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = E20F61888E234CB837D77222994A17385998FACA630AF28EEC1A1344892C4AEC + +Count = 843 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 2750A377DD74EF4075034BACC72580B34A85303B91BB0F0775B649CFAA0A643C + +Count = 844 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 5672F3AF2C9DFA8C24CFBA89CE88C2E27F97A864D9AC5B785703F567DE2BC8E7 + +Count = 845 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 8D49149ED735FF35E86AB3CB2AEB194091E7B67FE87C2B1BE85057201056117E + +Count = 846 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 8D309124C76A1D61438B59650EEA592371A442EDAEA82201DE951CFEB2C2DFEF + +Count = 847 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 3AAE7843DF456B6F2EB04E2A8017228AC7D1B6E8F3D4691DDB2045FB42780571 + +Count = 848 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 0DD5B90E92A97B90DDB9A2CC5FC8830A218F749AAE5D61338D3A14235A9C1F1B + +Count = 849 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = B7080BBB0BD766A6918198D8133C3E052650669B17E3D90CEE42A06ECC8446C0 + +Count = 850 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 6D123721590B1641493962B80FAFF04E2DEF7C301A2777238F42D6B5F6385CDB + +Count = 851 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = B3DB2DD88DCBB463846774ACD9485B696BDAE93A66EB6186E7889E9FAC752323 + +Count = 852 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 674F47B7E22FF4C809FBACF5A08655CF4B4BA29C6623B9F6D6CA2859FAE9B4D7 + +Count = 853 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = BB01524DB0D97CA668411D9F1071D1E7A36D4AE9D3140D4759ACD682198269E9 + +Count = 854 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = 98C682E7B0648F14E42365E155B3434F1E938C5E3E74CFB9FBFC9FDC3EA333F7 + +Count = 855 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 4FB592521B50B8B9917E4A813C0AFF7D513D82BF1A03918451A32504D34C3B99 + +Count = 856 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 1915AD95A1E7E8223CE5E53BBB54E1CDE3F5B6375609BCAFD139601E331DAD20 + +Count = 857 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = B0A9C4766658FD33B398E52B2E3298B46260DC4683C9695C92A7345E005EF1B3 + +Count = 858 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 88453666990E9EFDE368631F79EA1C3A3B5F41539690DC1799AE4DE72F8C1F11 + +Count = 859 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = A3EAAF342069DD32196E684EF0DD704FF0B3E318AF23C6B492648BED738F2501 + +Count = 860 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 74A6591D5267309AED4D1FDD7067668EFB88A98665B66E5F1D0E40A3706F8AAD + +Count = 861 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = 1B3DF3BBD9720695D246F70A128C9E9314A1FA9002519E3D57AD9B6ED6970A37 + +Count = 862 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = CAEF639FA844EB3B912C0E022683BC62AB3078256598F9412CD0810FEAD294EF + +Count = 863 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 657E367363804D1CC7189F333918DFE7676D45F5382259B5E1A5384D3A468897 + +Count = 864 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 8090D84E9AA0B4C6C5C5D7340AED796C96CD2FE8B19AECB09F6360C027770E0A + +Count = 865 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = EB442D7C7A3C7E6C9F5ABE8BF7D69FC8BFED6B37E76541F2DF342542AC95F9DF + +Count = 866 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = B757E881F4C0AF231F8BD0F0B7442B89CF29D12D277D2CEDDF2FC3C9C2FA9FA8 + +Count = 867 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = D8B3E9A5170316DBF76BBFE676D71DCFBDF3CB32B27DB39C77F62DE1B1E6B07C + +Count = 868 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = C0D0519562A6C9DB74B05DA63212F0D112A8C2505F483C6035F1198B05F28F42 + +Count = 869 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 20FAAF0F341E745B2629E7E852745BE892840DCBC8C057D200A3CDC09D50CDAA + +Count = 870 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 1CE8BEA0193260533A99F208750BEA3A3AFE4FA118BEDC16412EFE5DE3C9519A + +Count = 871 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = B562D0E4ABF82FC435DD6BD6FBF79489D783CE113C5FAC8BD4AB47DD6551D5CE + +Count = 872 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 49D077AC266C24726B353C3A10DC67BE86CD5F981BA2FC1C9F2C69681D8D97F5 + +Count = 873 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 16C0EC7D554E60FAEA27B938495E575F1E8DD6BA7BC821CA8DBF4096904893F9 + +Count = 874 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = D92562DD90A263DD7B7B2C62FDFE470B3676AC0DEBE1A53C5B7E2A75C49F18C5 + +Count = 875 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = FB62D9638DED424C2134B6679FE2FCE6DE7A83D72A132D03376850E357D25D98 + +Count = 876 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = CF635A80CBEB0582E673A3093B9804B9CD5B75D9BAF7AD65133A2DDDE1C5DB04 + +Count = 877 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 865D209A3589AE63A2F8A9A82796A85BED2187A5189ABA7BAF8C0F007890F968 + +Count = 878 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 65F585D9B803976866DA3D6582FE40724A562AEEB75F1CDB2D0A4E4C15DC6A3E + +Count = 879 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = DDABDE5CAACA04F4575A75AD385EDE35DCF483336ED331DDE4FB560B2C72AF62 + +Count = 880 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 5540774F9BE23F5F2AB381054CEC0C67D2F1052A255233C2C5B317AF844922F0 + +Count = 881 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 3310D40A6C2969D526A33D498A956A8C65122FDB6AE7F518B8B9D182ADBD5D48 + +Count = 882 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = AF58CBB7B08A07C8E2BEAC8C34801ECE7257BE3853AC522B0FCA1F0A56C6E2B3 + +Count = 883 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 6E6F592EEDD9CF6936DE70642B197302867D7B0891FE1BAFDAD61E051CCA2E38 + +Count = 884 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = ED9AE88FD5728D828674D6EFFC08C6C263B8B54BFF928A4ACA554840E12AF28E + +Count = 885 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 4E69E3BDA6C4514D7F4D9684ECA60DE014692A13CDCBFDF9C42006613EC5D407 + +Count = 886 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = FCFE8F3F572DC074FAF28E907736A2A0FD9B38894B9BA680AC6C9A0102155018 + +Count = 887 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 5F112F60AF430089E2643F14F027FA472A3F59632197FB616E9DA8421DDE5D8F + +Count = 888 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = C824897D9116F9704CA90952E888692B039A7B7FD073186AC60EA372F28439F2 + +Count = 889 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 43CFAAE53C4B2E45CC6EAE9DFC11A172DBCBC72FD103128AB8613D602A909CB1 + +Count = 890 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 355A023EAA9FFA8E59C826A410D40EDF44685078FE0A0C777C38BF846C62D707 + +Count = 891 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 8EA2E9D81338B6F994EC04BA64A6A20C567F24968244A2605113BEACBC9D3769 + +Count = 892 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 84A9D9B59D2850B73029307AFED853AC04E1EA48742CC0231F63F315275C72C9 + +Count = 893 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 21085A4E210D2B1AF58AE06EB01CD407B04570383C888D4E6445D39BAE110EA3 + +Count = 894 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = B4AEB494B0D9127C524D70ECA38B64E755B855F199E5DFD27DDBA2325EC5F9E1 + +Count = 895 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = D07C32C1D2903500F996788CB967B00ACBF6B6C943CD0862374B91FEDBB9AE22 + +Count = 896 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 58AE563F7E7347FCA14E20DECE985E32E577DE49A39B380ED11513592752ACEA + +Count = 897 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 90A60D1A2BB8ED7522091FAAF6AE383F2BAE0456BD86E3A6706F2F9A2762BDD3 + +Count = 898 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = B79C53D8C67AF368EE571E58239BF6A70FACB8EDEFD4CF4C7E11A986E4946FD2 + +Count = 899 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 30A4AE45F3F4796904288A9AEE310CBB91FD03472759B57E3286C3D55B866AA2 + +Count = 900 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 26F0627CD78496F95E8E50AF6D18532D2911414F002E0C6FADA9DEBCB3EDA7EA + +Count = 901 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = CA566305BFE4D6570DEE412FC8AB5D44928A14BFA0F0AD3C99354FC68C19BA22 + +Count = 902 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 055A7D2A395CA77A586B0A35A9F9B6B8540D29ACE3B5EE2C86823F19D3441DC8 + +Count = 903 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 83246E91731522745B094B634AEA26DE2090AB5A8FF14B4B622ACFE97D1FD744 + +Count = 904 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 50ECB478A556BBF5FEA2F9E831AC30EEA75B32D0445DADB933C1645B50539463 + +Count = 905 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 2EE5C795BD29413EF85970CDA8F5B5BF4D3D1E3DFEF1C5B079F630553A4CD25C + +Count = 906 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = F7C8845C92B595246271C47E00CDA5E2EFECFA4B16ADDA345B832BCA1CAE1B66 + +Count = 907 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 04951BBB73FF877B90043A22F5B3E30DE478C47D20DB42C5CE56458FA2291158 + +Count = 908 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 664A52E2659E037B1ACDBB07B5951E09A5C3BA150510BEAC0A50E0E478203276 + +Count = 909 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 988853DAB4524D649F107855D3676F99047E631F05B944497A3DCB501D4EB29C + +Count = 910 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 183F22D7CF7C083FE692E37293C70778BF8D87E733F9DEDEF257B02FA8AB2722 + +Count = 911 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 7A34C049407AB208555F8A8BB3A0C741B302EF74364BBA09AC3406DC0D19BF96 + +Count = 912 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = F1ACA2613D565D75696143F1BF14ED8BA1B9AB8F5CB00B6E26AFEBEEDD1B3099 + +Count = 913 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 66227837BE65949D5594369EA77765A55424D4677A6E49280719EDA8423AA7B6 + +Count = 914 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 5F69A28CA88785639FAB1BF891AFEF09885E8B73B995E7D2AADF481FA2CCF40F + +Count = 915 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 231A68DD57DDDC9E33019BD49542B0FC39A1695E05D355F6C1C98CD26B73ED34 + +Count = 916 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 54E05C4C129C9E080635B982F5B640D1F5C7429662BC2AEC370F8DFBEBAD5A2F + +Count = 917 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = F07D4A7FFD3CFA1BEDB5C07890DFE36ACBD5B018761D920374251A20318520C3 + +Count = 918 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = B72F70054FFE7B63C4620D826D8EA26F07E8D53F29368FFAAAB61E13D6CCDFB3 + +Count = 919 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 5F1F0DCBF1664D1C0F1E294566C8F8D16DADFECFC5226BB5067334F66A4CEC4D + +Count = 920 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = A419883041D0E8DF0511FDA8D29F5B1D1718DE9A722D1699C09F61C857B82FA1 + +Count = 921 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 619524DB234F4F566E883BD75F8B68B7023B0EB10FADF2B19F1A59C038FB3559 + +Count = 922 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 9B315E612C106130286DCCE52DFA781156B51ADEF34D373F31D00F73D728275F + +Count = 923 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = ACCAD3B05F3761E39F83A73058DE82CD54B4708A5A40D9BA8B95A0FC2A1683E2 + +Count = 924 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = E45D19CD7A17D4B6728086F4535EF09B5076C44CD35010205BC25F6B2F0629FB + +Count = 925 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 3A05B18687ED4E6DA496D996C0099B7F7B712BF8B8034006AA8DE25F7FFBD892 + +Count = 926 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = DAD87FB7D9D6C5F6B51117D7D2B0F6233B995A0EB62E9DB4B2F923BA7322304C + +Count = 927 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 5C5132DCC158A28846FA04551055B671BB90C3214C7BBEC1186761C719E981BF + +Count = 928 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 9BE82E11E0DB08E6C107B10296292F3C9DFDB182F56204879F8C5FDA0D3568DB + +Count = 929 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 0C8E488E7D701AB51F53A16AAA55D881250601C45455F88D815134F09D04F0AE + +Count = 930 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = FD92E6A947676FA20141305D4B138F93782156FA9F833FC775D1D77247E9E5CF + +Count = 931 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 3BDA1B8293F00EC47ABC0020E9D9827DFA1F34BD0481556F381593940B1D58B6 + +Count = 932 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 5FECD0811C9D4D66C45AADF1E2D1E9D2D7E05585102A16FF2F8560FE84E3AABF + +Count = 933 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 64EAA8088D170B2F9DB566F757836A4013264B746265CEDBAA8DE12CF804AF21 + +Count = 934 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 185C7555B39B9596BC8FD355DEF40F6613CCB9D92A85B05E367D6E086D2EA42A + +Count = 935 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = CB85C7A2B77FA97C8E9428A9B69BDD30B8BD6D386974EEE9752E6AAC54C87121 + +Count = 936 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = BA85DD2F8084157456EBB5494E5E0573465C93E20CBF6746E826E56E4386716F + +Count = 937 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 86AD4322B25D00AA01552CECDA2F577807517BF95822DD6B0C83D8E67C280AD0 + +Count = 938 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 4EE9B07CA5DA48BB5EE025392551D181AC8A1B59F2DFE1762DC7AF41D8119409 + +Count = 939 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 2D60A79FD155C0585A2847F8CC6D1FE4E532395F28126A607B9F646AA68E8B45 + +Count = 940 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 29A02B56CCB9CA3A46776AA030D19EC839F32ACEE7E43A8EF9909C6D2EC99514 + +Count = 941 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = F25AAFB1CB1F4EB9D3F126CF2572A296D2DF14150B1EBB1FD9339331E82748A8 + +Count = 942 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 5EA73C05EE3FCA46ACEC4DAB8ECCBB7914DCDBA0970C507C394AF379AD0063EC + +Count = 943 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 4509CAF8FB4CE94BC0B04F89DC887EE63DB88DD455CD3C7C3B263BA5ECFF70B5 + +Count = 944 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 61A4992DB9B913B3EE2C9F392EFDFAE744A372825629B4230F5118F98FCE072A + +Count = 945 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 39B29748AB9AF25A8AA2174CB6D24D46CD8AB6AE756BC233B0971A3441FB4EBA + +Count = 946 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = F84C7EC5F3EF45498D4F147B4983FB72475D622C8A8528E97058F6E0A182E8A9 + +Count = 947 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 38DF54CFE65CE8A9AFA962B3841BD301267E156E349F613B94EA96C1A6A82D28 + +Count = 948 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 010E6676CA1ADC0B778C7A458FAD628E3C77F9BF7EE456AE33A0BB06C80CCEA3 + +Count = 949 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 2F61AC1F759090782A05EFFC5B2EE3CDBBEEE8A67C47C7ACD2B464ADEFE1ADC5 + +Count = 950 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 377150EBEC386841537E9253DBBE28940193484BD9538B418759B4125C523DA6 + +Count = 951 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = B53E5750840691158CD37B632EB98ECCFEF428FC726F45474149E10E816E12F0 + +Count = 952 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = D158B5F32AFBF4531F2F8C773BD53FCB905E120EFF12A015738D50AF963ABAF8 + +Count = 953 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = BEDA00FD5C5E4F95E219CAD9DC2478DAD330CB783D6A5E423242A1511D459FAD + +Count = 954 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 7E35AFACFD29A3A347CC051460A6BE11A81BEC995A64532CF47A27E9D6EBE4B1 + +Count = 955 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 7C1EEDB700F18A729A6AE1C84DF9921F6251005DC88596A937FD6E1B55D5FD50 + +Count = 956 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 4EA080F6BCC14EAC5BB55E892B7829CAFF349B3BFB8CCE6A4E502060695DB558 + +Count = 957 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = D74D71C0067AD578C0D2158E920FA91C6D187C067B3344F9C104D0BD832BD913 + +Count = 958 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = FA097CAB6C84798204A72EC2D0412ED4F50FAFE97147F022A0E211F5DE9BE4B3 + +Count = 959 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 29CCD5C894DFDD388D96031B0B59B4DE88132522A621596A0F81CB0F23EC74D3 + +Count = 960 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 69CE4E2D0B7FBE2D1102558654F69110B01C532B93E8C19D313CA0B649D62F96 + +Count = 961 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = BCF4E079C5945619EED7B4E9F4441F640A046344555F110F330CAC110A3B1329 + +Count = 962 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 307709596B53E1FF3970BFF0E90AF2B49BB5D4B022DC8646704AAC2FD78D4AB5 + +Count = 963 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = F22EBA8D0B35AF547794200995901C79F65C438A15E826D4D56C502FC1CDD33C + +Count = 964 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 27073F06B5DA0CB9BFFB08F853F622CC998EF5355D6DFA9C2887F9F573EB14B1 + +Count = 965 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 54DD5B48158A0480A9E98A8E6CFA6EA284118B984AD39B71C32D52D2C6C79448 + +Count = 966 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 05E149844D94B1DF638F1F07000AEF49B38E09EE888CBD72106CE2EB0972FCDC + +Count = 967 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 41A1E4AA935EAC6A008F38741272C334EEE55B29A3802DC2D9F7045DE9154812 + +Count = 968 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = C82D2E03FF93BD042F7F8A22CD53E719D9E4E561804D216DD083B2B5AF9DD931 + +Count = 969 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 59DBEA3DDE1E6713B72760D95C6BD624685DB795F1BD32AC1074EED850012ECE + +Count = 970 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 4B90337EAC0E06C715074E4A95FCD2D03C802A3A1A8EEB4FCD4B21C10CFA73E4 + +Count = 971 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 7DB1EC2F8DE295DFB0CC4FEA1CD273321344D9952ACED29D621B27E33AE0B697 + +Count = 972 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 3A8FB9EF71CF00708C5BBD6394152FE2E990DFFCCF2164E53616FA153BD3EB90 + +Count = 973 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 610826FBD27A94487F38248242AFAF0D1D0031E2C1201EE3B6D5B9B5C62C053C + +Count = 974 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 879A769FA26B056520A3CD18611E1F42126A48BCD454185E8108CF9C51F8DFA8 + +Count = 975 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 4471690EDE457FB54AC8D535E635927521C7D0F2C16E58AD62CB209D9C10A913 + +Count = 976 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 6F5FD4A3E9B663942BFCE1A6F920709CB573CF6DD2C12DAE1D43A29EB3789EC4 + +Count = 977 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 7D1AFB996EE1CFA37990052FC20D93DF5815F02415930F6E5B5A7AA26D014F70 + +Count = 978 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 353B5D2EE686A4CFF6A65C103F9F6EE5BD85C980B9D0E1CB56F3EB0C777BF6DB + +Count = 979 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = C641B7814F59A99E70F56E27E90F68E7A49DEDE217A89701B5767B1074AD95E0 + +Count = 980 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = F4DD3581CE19DCBC50A6C9D73E1A60930C639805006934EF8B7F99943DBDB2ED + +Count = 981 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 067D712954D17BB438C12C9AE14166A4971D2594F15AC4E467A0BCC40671C1D0 + +Count = 982 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = D4028E242B04D9ECC5EEBC8EB18A93B8AF6FD75A554309B764E5DACDB289A8F6 + +Count = 983 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 15699587A8996A0003418AD2D8DEBE7864FC02A7DD46B3A7D23577F6830EA613 + +Count = 984 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 4B13D56D4E0BD632146D51AC337646997ACA6F288A763DC597C0D5E6624B64CA + +Count = 985 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 62863183C792C204BA8DBE9F3C26CC672F1D812A4F515C11C1F8832B18221ECC + +Count = 986 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = BA1AA530DB824E118D85FED64D24939A37F3D4C9001243983B79423BE80C90E2 + +Count = 987 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 634C9F994EA2644A7B919F30FA71C58EEE0027DDFB3FB44B2DB39E7596C3D5A7 + +Count = 988 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 48E4415AD71259BC949ADA85A07974CA47333036DDC653235484E0205616936B + +Count = 989 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = C58FDEF3D8B7636813005BAF49484724F79D05ECB713E856CEA8A51F1B105DB0 + +Count = 990 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = B41A033D11D56F63297B3B0263259ABF77AB8FAA232C752B53E5B104091956EC + +Count = 991 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = E3569BFB1A9A04E800B43A0510A2083356AD1C45C6A18F95BA072044D8715F3F + +Count = 992 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = F099178AC82A650BE4BB9F64275D10E9CB4C6F52746649F112ADA5AFD6B9C9D8 + +Count = 993 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = A797868C83793F0C9059E59709EC3FBD46B3A98C133DE2E3359A0ADC80B7542B + +Count = 994 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = F23D38640821B4F1ABE6392AF1AB7F041683844DE8F496D231996C2FF016A426 + +Count = 995 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = B030A1F91C3A60F7B9840B054EC5DB4A12BA3F36BDEBBE1D25A0AFEE4E1EAD0A + +Count = 996 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 1ECCA41CB2578BD4F2ECCB03EBA3BDA29E4199D8869A82FF3754EDCA4CE7B146 + +Count = 997 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 49FF452C5E7D7E1C32C487EC64B58ECEE7387B33AC76503D943CD12C131C6CD3 + +Count = 998 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 7FD68FAA1B66421200F77E7D9DE2D6DB8FC4A12D0E147A6EFAC044655EE21882 + +Count = 999 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = F93B1A82B63EC8D0D26420A380736B836A18C973E1FAACD0C6CCDAACD8D49646 + +Count = 1000 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 502A4A04AA050CA7EFFE814B8C9AF23E17EDD532D571C72BBCFCD2F3CE37D6BC + +Count = 1001 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = AF93BD443249CFF8252836D52FF3D0A8722CE441CA04A489F0E42366DE13EBCA + +Count = 1002 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = B0B4745842FB56367546AC81BFBF6550D2EEE0AC78EFF74AEA8A9689ECE1C55D + +Count = 1003 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = E83DC0206A4FE0603DAFA255EC5D58AD71289BE474055EEAFF156D3E03FE1BEA + +Count = 1004 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = C38F7164BB1E2177DE62173563E5C43AE0F6B9A27F47AE52DDCDDE206F0575C3 + +Count = 1005 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 73EF010BE28B43A91960F5FE7B7A7A57DF4414DD75209E44B6888B2B196F6C3A + +Count = 1006 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 5FF5B98E1C1DD66EA21A121D7FBC0998BC9444B0428DD0170FB11DB6A0CB1A71 + +Count = 1007 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 4920313BDBFA9A64D6006076B743138FCB14438F27D4C23E09535B54A907AAEF + +Count = 1008 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = E67FD88E15CAB287C1721FAAACC9F54C0EA39AD14C948B69DBC4C318B259B3A1 + +Count = 1009 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = B454529BB37C0EC907E7BA443E2FFC90423953469D880F396BCAB1B8C43A3780 + +Count = 1010 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = C398D2433C833499E01646F0F0C93F7A62E096D67634DEFD06B639560B64CB03 + +Count = 1011 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 557E26DC1559577B32C2DDA96ABC389B00377F83A2310132FEA0D575269DFD20 + +Count = 1012 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = DA40E9E5F2EE719691B109698F03B58D3455F59B572DC4AC91388C830F940C72 + +Count = 1013 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 3CCD406478484E70829109F827D2FD76F44F1E521D867EC5DDE3A80068D74CBF + +Count = 1014 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 294F100513151AB4534B08FB620A59231D1BB42FD8CD90C338ABEBFF1A1AB5AE + +Count = 1015 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 2AE0096B3F3B6583164FD1DC1D8666A18FAD9FE5BCEEA16C19EAF98004A91000 + +Count = 1016 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 3E87B2CC604843E747CCC1E509A24183E6E144B0C19A9A623C51ACABF078A419 + +Count = 1017 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 4158335635F7717CA387E2E6DDAF082B87B9C33C7B7C96A8589A962DE3FD3E35 + +Count = 1018 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 3C4EEB6D7B50CBE46064A7E9C603026EE8C474D7DFC1AE5B9C2C00934E36B3B1 + +Count = 1019 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 11124D74A32DFD98C97DC695DDAEABA6003BBC9C7C747C4AE9AC7B16F460EEA3 + +Count = 1020 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = ED7B67258F054F4D02A16AADF55705C3EB96C2728B494FDD343C2265064FCF82 + +Count = 1021 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 504F2A23A0E089DA947D06F738820D95BFE8D7117E01FCD74ECB3B4212DA1E4A + +Count = 1022 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 4ADC7A44858A666E17DE563B5762B292A0DAAA00D6CDC49AB7082536FB579A29 + +Count = 1023 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = E6832DBBF234DB8AF957505A3B1F1A744FA453D9EBB028BAA387089A8C9708AF + +Count = 1024 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 808F185286646242C8268209EE3938A7C52554524BB50C73D37DB10C00DB6150 + +Count = 1025 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 675B6DA0D02DDD65042B7487BDEFCE06A4BE090662ED39A703AD802C977A4B3B + diff --git a/ascon-hash/tests/data/asconxofa.txt b/ascon-hash/tests/data/asconxofa.txt new file mode 100644 index 000000000..e05c4caaa --- /dev/null +++ b/ascon-hash/tests/data/asconxofa.txt @@ -0,0 +1,4100 @@ +Count = 1 +Msg = +MD = 7C10DFFD6BB03BE262D72FBE1B0F530013C6C4EADAABDE278D6F29D579E3908D + +Count = 2 +Msg = 00 +MD = 965445C46C8E9B948EDFEF7B5879E06AB5F023770EA892FA4B54525008467EA3 + +Count = 3 +Msg = 0001 +MD = 48EB41B7A4352AFB8943B765654855B1D7104B22E981E5120DA9962579A7BAE6 + +Count = 4 +Msg = 000102 +MD = 5CFD8ACE653E212757D4A4AC3B6FAD31ABCBFA3F9E0F922446F76AF372C53EED + +Count = 5 +Msg = 00010203 +MD = E2FEE111A8E4B622462F897DA48C02B807CADDC28017186DC856D8CF3DC20248 + +Count = 6 +Msg = 0001020304 +MD = 052EA9652796B2D7BA5B6305AD3E42912771302529BADF73517C54C7DAD95FDF + +Count = 7 +Msg = 000102030405 +MD = 30BC8D20C4AA4DF539E9E6B58A452CAC9E5E98F94C6C90BF6C3BC9CF573EB9ED + +Count = 8 +Msg = 00010203040506 +MD = 00755B9D72B2632D88CB6945D536382C1E0B4957B4A44BB51C14886A6FB31A45 + +Count = 9 +Msg = 0001020304050607 +MD = 91C72F6273B6ED444BF560F2FAC99E8FEDDDF30162688B86553EB57F1C98C20E + +Count = 10 +Msg = 000102030405060708 +MD = 7E79768F37D213B11B4193E1D62D339954A3B9E16CCEF05FD574E1330668B628 + +Count = 11 +Msg = 00010203040506070809 +MD = B19D75F226608FBB58307244490AC67E963A664443941FD6B1EE0371B76F45F3 + +Count = 12 +Msg = 000102030405060708090A +MD = 1C93D3A448EC2944CC74056008E52B1D8FCCA9784C80633BCBF5745B57A2FD58 + +Count = 13 +Msg = 000102030405060708090A0B +MD = 209142D4B949BFFAC28DB979AF84C9C291F87540410F2CC6BF96AA637B458564 + +Count = 14 +Msg = 000102030405060708090A0B0C +MD = F84E89A3E9070AAEFE860D4983807E07D1FBF65DAB2F1B8151347F828C9F0FC0 + +Count = 15 +Msg = 000102030405060708090A0B0C0D +MD = 82E2744EE7D93276D174E9877A426A830DF91AAE4124576A7EC52EE847EB0BC0 + +Count = 16 +Msg = 000102030405060708090A0B0C0D0E +MD = 75F61359F04C77FF4DE58A10F9F87B31B5B8DA3373F6230FE1735033446B9948 + +Count = 17 +Msg = 000102030405060708090A0B0C0D0E0F +MD = 9424B7AE5FA72D3EE4A266112E7ABC4092E815AE29FAB26DA666C1485BA92BDC + +Count = 18 +Msg = 000102030405060708090A0B0C0D0E0F10 +MD = E559CDAF16DDD0C6E52EDE142B38A713A6A0456AE886A7CC10BAD63C554F2557 + +Count = 19 +Msg = 000102030405060708090A0B0C0D0E0F1011 +MD = 7663A8342A8AE6B74C35ACDD2380FAF42FDAEFF7F1A196F1551793CFFE618FF4 + +Count = 20 +Msg = 000102030405060708090A0B0C0D0E0F101112 +MD = 18F1466FF4690F766360203E21C3B4CC7C3DA6095D234A99E030563963A354A5 + +Count = 21 +Msg = 000102030405060708090A0B0C0D0E0F10111213 +MD = 76C11D671C96575F05E3C3C6E7648B2BBD403A90DBF256843DAEF3DADE685D14 + +Count = 22 +Msg = 000102030405060708090A0B0C0D0E0F1011121314 +MD = D0A1CD160A14335F71AE84ED495AFEA18C94F834DBE37E00A3A20055F996A086 + +Count = 23 +Msg = 000102030405060708090A0B0C0D0E0F101112131415 +MD = 6BCA7C49A14FD609B6E0AE4A486FF6FBCF2C80C30D09332401E064E1AB90391E + +Count = 24 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516 +MD = 50BC9D18597F60365E58092C8BA8757898BF32039A56D0DB2DF3035692D4BF63 + +Count = 25 +Msg = 000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 65DEC23DB19D05D566E718879D757CBF72F491D9360C1E6DBCEC3EAF7D3E7FB9 + +Count = 26 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718 +MD = CB205767A6866CFED282FDB404FFE21F111B0B17853BF3A39E467FDB87140C88 + +Count = 27 +Msg = 000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = E7A573D387AE93F1FCA4FA795F9CE1948567DB99F3B5E9854A79D2D09FB1D1A3 + +Count = 28 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 2D6D0DE21D6AD64AD6D45E2B075184E25578C73DDEFC034BACB64DDD5BE632C5 + +Count = 29 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = C7EBF05B78A557DB1E8DE9A249A57112A78111530DE76519C0DAA2FAEFC08312 + +Count = 30 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = CA76BAA03ACFC567E14993137F16D3AD740F991EA13E1E77414675A137AA61E2 + +Count = 31 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 9882F4EF36C2FD4A4296317BBF18F8800B1C093EA6A0A9BA426911230422979E + +Count = 32 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = 1E848159A7DA50D36722EFF3565CBBA9CF8C147668B053B588E10BF96873C785 + +Count = 33 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 42047AEA031115F8465CBFAC356AC23C4D71F84BD661C8AA7971F37118E520E6 + +Count = 34 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 87B982C6A6BA140AAB0A1A34FA24CB97DC87FC6B28B2486D76CEE4A46CCD8AD5 + +Count = 35 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = AF1AB097BB616BE8E600AFE588EAE62A44C22EF87777DDAF70330DB22913EE1F + +Count = 36 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 8295776F142EDA0FC7724664329DC99EF096B1E554E07F90A7FAA08A94BEE9CB + +Count = 37 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 03EAAE2FE6B799E4A66B6AA4A008574978CAD6ACA899F8AB32152FC3E0CCC43A + +Count = 38 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = DC8089304E069FACCCDBCE4CA836EB588C3416B613F97E1065E947CE53557C22 + +Count = 39 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 9E3ABA7778B3454A039A99EE1F858F847FAF20798D5B15125310124827C2CDA2 + +Count = 40 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 8A9B7E9457C1029E0AD43B28881434FBD54DC0BAD38B771B2632969E35F87A63 + +Count = 41 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = B3A83A0A75D8D566AC6C0F60B9CA3A8B97EC0D48CEF81A556016ED18DAE0903B + +Count = 42 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = D858F5F0D0DC0E1F67BCB19091A63D872DBB154DB7ECD0B324DC36E75A3DB9DE + +Count = 43 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 14C3E6E58CCF5137C7CE67D414AB212EB35C29DA50A43057B2D3F91FC9528240 + +Count = 44 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 314F672C5BDC35CE2A7F1FA8C4D82611F5B435F92F8B518F24B2D9F1BFA1789C + +Count = 45 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 6C2CE18708C63F8D7B83B70D7E76F85A8DDDC422D1BE16347172AFE0FA3484BD + +Count = 46 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 0B3A98A27C62921E0FEA7ED115A21589E41020B248483752DE36E25A6216344A + +Count = 47 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 1DD87D5C053F629AB81715F30A65CA4DB4B412534AE809C54ABAB47A737D5DE8 + +Count = 48 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 2C93ECD9A785826B3FB544192FCCA0B1708183631332AD808CD5A18BF73AE254 + +Count = 49 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = EA4A45484DA483F02E66A8CCD4FE9C48A1706E695C61D989E4C133796683D6F0 + +Count = 50 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 170F8E0F163697CAFA421E3129FBB4F47EBB6E78ABB2BE486DA1246A9C849C20 + +Count = 51 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 4805AE63ACACC7C75FB0CBF5791E9924FF1C10A216DFE846B450854BCC92FCE9 + +Count = 52 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = DE52A04368EB963921BAC88D3BC452ED0052FFCF08152C0BFEF8E631630A3A6E + +Count = 53 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 549B2E295F50C3BAD351CB8F67FD1C5D753629384AF417DE1BEB40FFE6255A30 + +Count = 54 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = A0A19B41F51DF57A71035747BD5043A79CE10347D7F001C3B2F7656601AF5D6F + +Count = 55 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = DE0786B2F9F9F5C3717F2F664D9248B1325405BF5F171308DBF52019C4412411 + +Count = 56 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 06EC16FBADCC1A1D9AECADD82A30C155A78CEF9FEC97AB27F3777F15C651288C + +Count = 57 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = D2317B2A9CDE8E64F93148E80F50F7109065BE227CA1A8453B3E01E1811934D9 + +Count = 58 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = B35E52D11E21A6F4928B5B9020D001A84B2AF3E970416C2192E540752FFF9B43 + +Count = 59 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = B56D3B661D60E628A8CD21626CE79ABCA7713C577F201D01D6E56775DEE8ED26 + +Count = 60 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 7EE1B3F0B5B5909B77E13A3F07C3DC795A2EF19AC0DC89A1E9C0FA53F3C1197E + +Count = 61 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 8E708A9BDCDC9971F93092A6E3C9AF9F9C52C25CBD05C14405E23708726CA239 + +Count = 62 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 3E501C0A01FFC144D1D336A8505C15B3941B511E47267BD11D3D411F44752939 + +Count = 63 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = C6CC5042AB3B1F564F8A8D44F3F4C06D45D6F24EC839A859061E9F8D188740CB + +Count = 64 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 6B62948D546ACE8178582F71CCE3B4086A55A45B1DAC6CDF3F358126876ECDFF + +Count = 65 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 56E1DFF9D7E381C18716912CCD74974C44E81A5E4D4A5D9DDE844652E9422DE3 + +Count = 66 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 2DAEB4FD26206AA7D354CF7288EE984E5C7CE9F323B8CD78E279D0722420A817 + +Count = 67 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 5C5DFAE78E0B812895E97157E2DF856C3C14D89036B0FAF0AA515F2AA46557AF + +Count = 68 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = A6AB0DC0372CCE91A142AD69A90B8C691A95476120DAB845E87246A6AC22E345 + +Count = 69 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 8F9800B633B417A18A4DFBA7266F16875C092A3FDE87F6901CC7668C2F8C7EE1 + +Count = 70 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 0756017B300BE21B916082AF049DFF9FB16245CF395372E574A27E7147C272C8 + +Count = 71 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = A955C7D5E1545716B86729382F4CD6CC009D4D3A158439E7582985CF7BAAD37E + +Count = 72 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = F5B8EDBB709D87F379D7C9E9350BFFDB76ED641BF8AB3376C5F3A31CBB67B60F + +Count = 73 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 1DC42F689D9A150DD4EF41A0F2C5C89D92A79D0CC307E3AC61A38A0BF02E66E8 + +Count = 74 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = A5366022E02641DB8A4E6320C9A715F8AC406D1D9368A5AECD55FCF0B0BDF4C0 + +Count = 75 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = A7E886BD82589B6A17D050EFE69581B56E8F1E0173A7224D29A935AECB5FB519 + +Count = 76 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 49148C35C3384DEDDB1125A20E827DF9F3AFFF56CAEC1C6F78E07F1F195DDB81 + +Count = 77 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 1305E8D044586ABFAF8761E3BC9E0F80059CA8E1F79D0B128212DDCA4CC7A432 + +Count = 78 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 4D4745752FC33CBBE5932F804A28DCCE5DA5602BF1774AAB908FA5BDFFD7E3D2 + +Count = 79 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 20A8E9E0BD07BBBC009A265FA0328D6D39E9DDA6AB92D554552058B02B343D6A + +Count = 80 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = DF4CDEFB015344D84A1E2AA22363008D5AB9DD1222896517EA8C27993E5AA603 + +Count = 81 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = EC6C56C29192C2566AC9D72A6BE9B00E5B1C24B442746F6B8F7C698458E22C6C + +Count = 82 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 9F0FDB32E166906D93B7A3C2EA717C15A41E3B839083B604CA7561E390624AA8 + +Count = 83 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 386FFB8A9D4CCF9EF3DABD249B317883879C0428BAE4A7A0E315E3EF6F407D0D + +Count = 84 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 38F9D8273EB1C765B1486793D864D3C37D93E97F131AFB1AF38FB25810F4EDE4 + +Count = 85 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = 41AF7E32E8756AA387A80CD66FC09324C96E831C408DE425678E27B73F59DFE1 + +Count = 86 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = A907902C2CC2C0F748976648C11E877AE1737EF52C8AE66593AE946899790F87 + +Count = 87 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = DEC91A97EDE2E89796363F3253A6F032093F45FBAF257BA0B7E82207009C27CE + +Count = 88 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 93B0F21DB90E6044A7B6FB3487F57CCE4858094251177E18A1D58FE447CE84AF + +Count = 89 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = F29EF43950CDA8E26C1A884F4AF3673E10E24B45E3F6863D2644100355309D1F + +Count = 90 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 454D03E0BB5BFAAEC6DD45D2523C6D1A24784049A4935255FEDBBD8F4AE8F90B + +Count = 91 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 027EA9C56851A3B7F9EE19EBBB48CB39F299FBE70705A97772C6517454814AA5 + +Count = 92 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 3C3924F5ECF97C04F98511F9D1F4503F548425ECA9B4E842CB82200836678748 + +Count = 93 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = C498D46F539A9B7CFD5735FC3EEDA0AFB8158F51CA5C51C3215C48255B592471 + +Count = 94 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = 5D0634CD15EC07489C9135A10D2510D95C60877BE834F83A3AF2C6BF440A5311 + +Count = 95 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = CA2B84563D72EDBFF608D1D23D06109E92537FC485E9CABC854EA9A404C27F09 + +Count = 96 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = BC1048A8EB8AEAB7FD7DD145620D30614DFCE16EFF4DC370D4A8D8FCFCEE32F5 + +Count = 97 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 000DCA02C265952E3F383C94A53F86D7214DCEC9049A5EF512814B969CA4EAAC + +Count = 98 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 76F97FEB48FC3C6AF48FCFBC0C62DBB50C1C801BC439B02BC4E4FBFD2813FF6E + +Count = 99 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = D42EA9720A9438A925761B4197BF4A147E37D52C5F6F4A1FF13B755E2225A2DE + +Count = 100 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = A6C53A4204E1458AA882A17DE4F98621AF76B554F14E6A3B3822FCDB4C966294 + +Count = 101 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 6001581C271632A01D40A56FED6E6C4BEA95D4E82412C65E2C95F622200CEA2C + +Count = 102 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 8AE0F885878EE83E0C30B9DA037030E2874E76C8A87F67FFE94CB5CA212C9ADF + +Count = 103 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 7FACECC642E557DEF61E21D101D49027D159D05B29DB78293EE96F8EB1C97AA7 + +Count = 104 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 4215792798E62F688676728A26CBBFA21F54F7423FBA7C676EE4B4F0D40C9375 + +Count = 105 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = C3DAA110F3511F619FF2A101565E07ABB146A91A2CC8F0681F5556AF8F246592 + +Count = 106 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 576AD407BF6CF18CE79E202C042F96609E7FEB11A7FEB4255A48EA1B4FD4C826 + +Count = 107 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 516470894214045252B30E90490B244447EFC85AE30304BBCA7B52F66A2C2930 + +Count = 108 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = D99CF25A686EC6022BB1DA8775B11418ECC22D3783D77CCC17E9ABD2CEA5F0A3 + +Count = 109 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = E158B5D1EE1FFC39D7ECB01A23C3CA93D7655A5CD48D75951133F070BA20B86A + +Count = 110 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = EF07073BE098A5220C17A8F082A9578238A4DF576DFEF5D787B391E10E9B1F7D + +Count = 111 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 1856AF947EF8A188331BDF25D6A4243E786D3794245761D98B1796FF902FDC5C + +Count = 112 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = A9E7E4F219A419127955CFF3D87CEE3A654FADF7ECE972DD9778A5DE18F51BDD + +Count = 113 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = A3E41926D4DA62D851443A9E053150576C0DF935EB4755B629883E7DEB5023A8 + +Count = 114 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 0EB07DC6F1D3467A15A178565B0A7EAD4094DD2263F0D21FA34DA529FB2D8CDB + +Count = 115 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 03BFE97428824E3DF8F0A6B2E901F3235B9BA9D7FA26A9C2F31EA4CB234BE366 + +Count = 116 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 1E43F36E8372801BEC718B0D0A4CF5A9123A2C91A700AE3CD611ED4623759313 + +Count = 117 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = D9B8E4FF3950B15A59619A595E5DD0ED9EA813DFFD236C72B81DDF98D66F403C + +Count = 118 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 192C6B6E855412D8A683F9DD98A11A2B74DC3DC2B6CEC6A7469F7C37B51F3639 + +Count = 119 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 9D54814B9D25EAED37C5A743E59DE32FFCD2EF6126737F0E27B783666676F488 + +Count = 120 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 6337A3B1B6C32174466B8D1748F7D4A9316B1721906AA406D19348E747A1212A + +Count = 121 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 9BF3613F64E9C5308064D2B0DDD34058FAE946EF8ABCC1AB3705182AF27511E4 + +Count = 122 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 94FD6B06C4C7F6EF0A24F2E02A985E4DF6423DAC5635522A6FBA61BB56E851B5 + +Count = 123 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 71FDA24ED13897C4748CAE8FD211818878E285FB2446CD65B06BA580860040F8 + +Count = 124 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 0FD42EF9EB39E5BE478382179D4BFA3D7DF0F7DEE0B14BC4700ECF5CECEF665A + +Count = 125 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 4864CD9C8729BEA254B34274A501C68DBE7D93CF62BC60FF3A52D8A175A32CFB + +Count = 126 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 4F182BDEF6A8FB7C2A6407BC5233926EF227FF33DEE929A2615AAB0258769285 + +Count = 127 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = 82DBF9ED10F4D7E0719A319D2B8D412CAF5AA9A670C7E4DCC0125C541E5ED8F3 + +Count = 128 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 5F74B22356C25D8CBABD4BC30B57274217AC34969AE8400363B041B42F96E599 + +Count = 129 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 78D60934F2C29ED2655F870BE77BE5A0AFE5F51B0FAB9837D258DB2EC45A9451 + +Count = 130 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 7E6D94E249DE8A02BC4BA62272BF29A6FCB25CC969C380C7FDEAA32C99ECCAC6 + +Count = 131 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = C89A389F3ED7A648A1EDD88A935E2290109D7AE4AE985922CA3A1872458A11C3 + +Count = 132 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = C6EBAABFF7CFC11F8AF329E71EEFD86102C804FFC029998D80B79B1B0C83E699 + +Count = 133 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 4F9DF3E905CF98C2516245A34689B44454BF8FFF33C87C0253CCF8DD7FA14F63 + +Count = 134 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = DF685AE27C7F072791900EBA6126C0C67D21149FBF4C102C8A23D4D4EF410E4C + +Count = 135 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = D17DAB66741A3EE367CE542660FFCA3CDFA31D63848D3D23FA3297146354C2F8 + +Count = 136 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 0D8A874C826C95764F8D93187B081E430FB5A7F8ACB085433B1E7E32F16154BE + +Count = 137 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 02EBC1E7D5FBBEF94AA5DA444B1B55469C59B692364EAB1166189FD0B7E5FFBF + +Count = 138 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = F1EACCE568DB31834FE03C5ECE0B392A429CD5AC2BE5BFA4ADB16737C51DDF49 + +Count = 139 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = A1716EFA224DFC3A9749CF508F28B4369C1B929020EC8ECA44B28A1B5FBD8AC6 + +Count = 140 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = B32850F454D9348413CC57688A6009A889016E6E418808D848416E013D2EEC41 + +Count = 141 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = CDF49498B72ECFE2429C69E079236E05A8A9AEAF0AD67EB72EAE04836CF1F1A4 + +Count = 142 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 7032F4A91D9DEDB1A691EE62D0503A74194E54EFA5A6A2955F85EB896EAA3DDD + +Count = 143 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 6D2ADF3AF3F4E2626F2900FA7DBE7221A5274A50ADAB43E5DFDF965AB210AAB8 + +Count = 144 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = FAF94BC957C78053B06CA7299D7A7FC9809B969F8A3D74D927C4264E7822A273 + +Count = 145 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 32187C6A19EC523DBA63491E42451473DF767115409EDB9234EF94E3832FBD4E + +Count = 146 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 92974B7EEAC1B836D1F1DB7E5ABDE3EBEA9ECC070AC0C7138F466976D4586043 + +Count = 147 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = B22270785D4EC4B3072B1141CCC24B738919BFFB11A32B1897DB897CE2FD5D72 + +Count = 148 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 5B86E965A2D3888A20D8306940F0C603645421F1815D1937B79B870FC3847CBC + +Count = 149 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 2B5BFAEE5299D0BBB35A813633828CDE6F9601B8FD5AC93F1116EBD9124DDB8F + +Count = 150 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = A32A85332148830958DCD35D9B3534028B5B48B25FAAAC898030EC5A7A0CC393 + +Count = 151 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = D619C6B91C1A670DE552C0C791CA04A6B8DA781BFF1F5D01FC7F84723DF0A764 + +Count = 152 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 5CC5243FE3AC790223C57499E1A67F8F8C30F1C65843877BB6D44D747A8F9EB0 + +Count = 153 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 23C454AAF37AAE86D1BC31B9E0EFE2A327CB94DF669191F7466A26D961A30B1D + +Count = 154 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 5733427D81ED3786DEBB8FDE621D4E9391266CC3AC05DEC829AD0297461F59C6 + +Count = 155 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 743674B80FCEC2E90BB6496FB22C23314E66C250F0E7865EBBF19E90B8EE44C7 + +Count = 156 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 5E7D43DAD52D32692E7C449EDCE685CFFE06872205897C1AF416DF2BF99EBC5F + +Count = 157 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 6238F4AD4BA6D8CFF462A18A9FE2D79B095EA93313A05A7F9884BBE25262F79A + +Count = 158 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 00766A573F02EC6963A18F5539FCB01D440C0FB556265411E621A2EC8700D8C8 + +Count = 159 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 54216CEEF48706C3AF3AC536AF272DB9463A0A5A903FB2BD300A91D0ED22CA14 + +Count = 160 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 721BF254CBE133FCFD7BD4210DEAD032089AC70CD3B9739035B98BD2A90173AD + +Count = 161 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = DCD14AF6C3231E4A6B247628F6FE546E0C00990733F02CDE401D8755156D2398 + +Count = 162 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = E5532D909A4F1BB422787C69AA106D2CB0CBF0887DC3F498DCCEF7A9B6610822 + +Count = 163 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = E37A506AA0D6018F9A748D5B21E9CFE41C65BC82F487934244A046B9BC499DCF + +Count = 164 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = A8DAF82A9D057795504317699715724B04AA7DA7E7AAD5E39C0FF0E4E37DC3E4 + +Count = 165 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 0CD5742D792DB461A39C05218D21E069B6D0DE652A27EC0AB2590B0743D3AFF6 + +Count = 166 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = B87EC7445FEC8F76F99426B29AC794C9577004F468F8911DAF9A3217DD06BF6B + +Count = 167 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 628CA9FF0EAF6A0EB46FCA2F9FB266AB74387BEC586891E6DD35D68ACBCA9E98 + +Count = 168 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 9FCD352E47C90EBEEE03F998DBCA97C7EA17C88F3A11E1FCFB8671A4C9A1ED94 + +Count = 169 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 267F24788246455A8C7DE335ECE3D4B072F15022D0BF3C09591CF80193F4864F + +Count = 170 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 8C3AB238EA3F92D3525736FB11B77ECB76F5B5E5F5174D2A7E610C85DF0E6C02 + +Count = 171 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 29C21669451E49A86EEB542D5A461C9CFADA9EF807419261D83467936366361F + +Count = 172 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 63A2F4A59A8E295982001BC5038AFF3F6FA159AD65551053CC541F17209D4E4D + +Count = 173 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 4482D7ABC6ECA5BCABE71EC17D7AD5E546665C81BD0F91B028D160BA833AB5C1 + +Count = 174 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 8779E57DCD40CD6FDC448EAFD8E7C5254D12166946F3947A353E13B77AB3E5B9 + +Count = 175 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 1D3213C1C03BDEE107BA1F2A35700DF42AE4AC1C4869B4315165A8A8AD8713C7 + +Count = 176 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 2ABCDF6167642BFDAB7019F90016858EE6AA7CEA200E2A1AABAAFE3710659706 + +Count = 177 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = B0FD3A8CD6D72458D889F71E56BAB6A8AFE36C426FC25B21897CFF3074CA1FFA + +Count = 178 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = C074FECFF7AE8001400FCDB16FBF3DFA6BECA3DC36BDB955A8C4A8675FA01321 + +Count = 179 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = D03BD64B77E2E5A3CAC0997F0047DFB4976E55B6B3BF6796F5EC4478C3D700F8 + +Count = 180 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 2A239AA299EEDD88BE1CB827F5E2265E105D45454579D5401586604A8966AC1D + +Count = 181 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 48235FFB93E4370C8A98DF5645C8032125CC786CDACADE6F4F4E7FF0E80DF0B0 + +Count = 182 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 350B9058FD142860D60E6AF2429AC95582DDD52831EA2D8D4AD0A3090DEF0F80 + +Count = 183 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = AAEE5238EA8931DEBE0643B5E252C6846BCE29C85CE297A7196570F9F70AFDD5 + +Count = 184 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 99D21500C591467D70B836F587C265AC64370BC2B305E212B147A9D278C47025 + +Count = 185 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 7202D335F78CC12D85130CBADE07B26371D426F8D4FFE571B16E6B49A9A3EC0B + +Count = 186 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = 6B5B3177BB1294E4E354C7D0727DCC4327B17C711E54DDC2B44AFF46FC69FA40 + +Count = 187 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = ED3F9AF4368D16253D801BBF6F68D0E9E1411FE0F30A860D49691BA0E66856B9 + +Count = 188 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = F8B201EF155EFE255D24DD541A1B096CAED4A9725A6831E86234CAB2C0721248 + +Count = 189 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 1C14B44E062959F5B7CEF04F0F14E64857AC809469BA4708DC4F9C6B9B8C6226 + +Count = 190 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 58C567DF5F8C2D208F056A7CC30DD716320A84C65CB0C76C4E7A4DE5D2D8DB93 + +Count = 191 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 6B520A78FDF94C7FB94B4385897D08EC12F5789273336D416F4A5DB0D09380EE + +Count = 192 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 583B9E567FCC5BBFDA33CFB80FD9CFA5916C7128B1C31B219567AD06BD623E25 + +Count = 193 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 7439201E6269468B526DFEBFD074A8ED0299AE83C32A601D893AD022AEE7E0D8 + +Count = 194 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 0429560B51223D09E3E3A203C47D3FFF11556CC33EA16230CE7E56FB208EFA54 + +Count = 195 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 9FF01725FC663FAAB8015E66D5CD7196FB753567E4CEC20CE84000927290E519 + +Count = 196 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 9FCEDD3B2B874FB683686587A72CBCEF694AED4D61E931402A1C458345D1415C + +Count = 197 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 23665BB135B5C57F358CABB7DA6565869E6E693733E23525D511920CD09C084A + +Count = 198 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 606B4D7934894618079AD4C473BCB3EC739FC28C4503E60DB9FA73754B8ACBB0 + +Count = 199 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = B9CF401FFF6F415BCB40D892F8997B2B732D426CE23337971BA760F4518CD62E + +Count = 200 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = F81109AFBA52FB3C9D7212109AA616E87DB843AFC4B217E97A5039A48C83F25F + +Count = 201 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 4DC394ED59E4BA0258800B42EB6364821323868982FE884FBA96629659E53F03 + +Count = 202 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 3E48B4787D440C3E26A43F86EE9E8601157B91086AB60E38B3CD9D30A56F2B79 + +Count = 203 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = BB38C928E2805229608CA953AEACD6E6B40471D821DDBCBADDFCCEB15BD553B3 + +Count = 204 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 70D80289AF4AE02FAC719E2608EC6D31CC90061D762B1C1630F4A67343D739A2 + +Count = 205 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 685D7693EE3D747EC0FA5222AFB74135C1AA63A42045A90E528206A837988E89 + +Count = 206 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 3DF45731E3742EC79877D2ED4AFF8F4FCE3BEAF3BA84AA16B8366885F54FC902 + +Count = 207 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 607E95CA3FCC99E0A5EA48B9FDAF63E7E5775E490A3F1757EFF40E32CF531D2A + +Count = 208 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 1BE38B915F08257E203E6F4FFCC55A1AAFAE45E36A4F6CD8B4A69B8DAECD7D5D + +Count = 209 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = 57DEFE1D7E7EBAA28EA08707B960300FE46528EB111053C8F7F712685ACEED63 + +Count = 210 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 58702C80516B9280BB6C8953F9BA5A2C30D35072A4BA7B4E2CD2AC13741BA97E + +Count = 211 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = A29299BCC416934E1B4CA60CE6002B0918606F74A8347C762E8028AA02CA3C47 + +Count = 212 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 65ED97A722AEF45865CCD7C6FD3C57AC612F1BF5B260973999C392E0BA26EC1F + +Count = 213 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = FBD7A44A0AC43632D20C2650E45924DEF560876818943B7B3CAF8706E8067FE8 + +Count = 214 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 18815A62C68E38FEB729FBEB0560B7104E702054AD90E6DD362E15DF7AAE5028 + +Count = 215 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = E93F5F5EAD64DB5E9D5A81A3D1C291B5D9F110E354086EBFC1A68111E23A3C48 + +Count = 216 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 5587DEE367E9B91BA48D030484E470FB08D8594D47C6C81A93DD27D6CFB4E6C7 + +Count = 217 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = F2EB4DC1A06A3FDAD4D6B7BC24071069CCC177483E178FCB900A675A6321FD82 + +Count = 218 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 798F81CAE6FEA838C5B88CE062CF0E077EB98DA3DA5C6C562A896ED2D56447AB + +Count = 219 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 8D6C6D8B8B581ADF369A02A28626227640E104F345724FAC343605AE996B8272 + +Count = 220 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 3BBCBEC1767D20BBB944E1AC48DEF6C2967B045BEA470BDC80DE388D0E55D9DD + +Count = 221 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 5ACE242E83D351C34C2EBAD2A681FB5B62CD985C4D08DD4961F88D33380E77BB + +Count = 222 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = A506A0E58E8A720599540873D4063510D3CA3D51FFB1A518E53FEFC4BE14AB10 + +Count = 223 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 9FC7C379BD4CABD3AC8A6F7ED3C64DA559892996D2C7F080CD4188477B1BC4A3 + +Count = 224 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = C9A9F3A9BE3587D871C6D31CE1E271D5B2D658B2336F03F256E09D4FA7D84334 + +Count = 225 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = FF1EA69801480B38D1CDDCB89B03AF7180DAC59447A661FC9FAB265B20EAB600 + +Count = 226 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 433BEB1006DA70651C373A2B01EC599E824468638704DBAD56916DEADA85E05E + +Count = 227 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = F814BBA77A3447037A51568EC915AF20837F793D66C7635052DA7214924AD525 + +Count = 228 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 6D556F6CDB729DCC57539BE879D2E13C34685845979B7ABAC5A4E0971648AC39 + +Count = 229 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 56E0473E46A22632005502468DF6A4607857199CC881B15E75205CF8599E3602 + +Count = 230 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = B34540F56E3B00D27740045651B214D145A96B7FB0FA22D71C70E5CC962DE5A2 + +Count = 231 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = E583D581D8ED4E39A67B07DAF4A4D22A48138467274D68F666135D486EF4D297 + +Count = 232 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 5A5818BF879B6F15898267EEC24E76F0EC2D22D654A1A270AA2FAD04DC2510AE + +Count = 233 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 56E717DE605C5B5A376C399D96AC346B5462AC706304BFAA3541C422FBE21D21 + +Count = 234 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = 63C24C208ACC86865E156E7976B88C3CB68F51DC447F7D0F9D5A2E8167E5CA00 + +Count = 235 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = F8527754FF837F55C525869B433E55B0A2BDCB65FFEEC964A8B5D84E5F374B96 + +Count = 236 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = B041198A5F177B54DB8D481AB93BF79C4D9E16E74DBDA3503D91CD0F0281072F + +Count = 237 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 470605C675C90E4806290700F6EB704724C92E2B77A8A767E52F4B3BB4B50909 + +Count = 238 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 2A38A584EAE20BE892A6413852927A8B7C3F7D5B3BC23FDE59041B3E740DC81A + +Count = 239 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 27C305581CECA87F96852FF62F88CB9D335FBDA6121ABA27C7FD88995C7EB252 + +Count = 240 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 6B03C41B910207FA536245F71F365EFA6865B7FF50877C451FF70CE388AF1E06 + +Count = 241 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 693764DFC1D70E5AD9F84DB539AE4D682B54C70203E81A80837D120E5469B48A + +Count = 242 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 2DCA0EDA8439DC7EF03AC4D37DF7435E4FFA72F7B310D18364ACE56AFFF65787 + +Count = 243 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = CB87A011C58F1CEF05E0A67D95777B5022F2B632B42B41B423F8215EA00EFF2F + +Count = 244 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 02F2B95956E40F514F9BC47F3A8FFADAA696DAD7D95A2C40E3E1D451009FE0AD + +Count = 245 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = BD9D2CFF867518B4A3A6F3818C718110B63FE49CA47877A3AA89F02896964163 + +Count = 246 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = DDC453EE700753F7D967E0E1E1C157F3941621E5C623FF854972C828B48032D3 + +Count = 247 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 1AA5C6A67A084D9597D31F0830AC080E4963B82D58E7F1FC17F26B4193A06F04 + +Count = 248 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = B84A33BD9E7183663924C67D49E82A5F065E1C1FFE3E2429A6052537DC560B45 + +Count = 249 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 8E8CB46BFEB0D11F2074A88D5D69C4001B6026C68A3DCDEF5E8D63F7059E0402 + +Count = 250 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 2DD7D74871CCCB79D7F3C6EA41758F251F4A9F225B782EA8B3EF4C997AA2711F + +Count = 251 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 7DC21C38A7013668ABCAB788435679910E3D17AB0A68C209E34E54AC3B66ED31 + +Count = 252 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = FFA42F74E46EE496F77C7A16EA94CBF848281BACC4C3257C742050319CC7EA78 + +Count = 253 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 167DCAB3218F72924E0BFCB23583DCB48E8A209F4C022CDDF7509C2EFD52719B + +Count = 254 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = B83D4F9800C042ADF1CEEAB941F7DDEBF59BE70509CE5153985A5E8ACFA427AE + +Count = 255 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 322CC4E7D11C7CA13975F02AC6F511B387233580685BBC91F547547A433AB61D + +Count = 256 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 46E2ED1F64AA033367D1B73EF43189E0838B8136230CB6F3D5B0285E41592B2F + +Count = 257 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 82EE59AE9078D518104D79D6A7214CDFB910C607144B441ACC66C9350D83C735 + +Count = 258 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = FD65A328A1BA553FF473ACE9E8FB37187991F66CBFFDC62F2CEE00DC2A330EED + +Count = 259 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = BB3EB2E80C012D70AF75D96C0F642960E689ED965093AF63656FFAAE37CA04CA + +Count = 260 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 731CA8227091C52E56C641872D3962CBC70EEF4535DBB74932FB09B9DF6313A1 + +Count = 261 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 1E1D0D438134B0D58E27699F2E85B86CF044CFAB1CF1139A2F67087366663662 + +Count = 262 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 9F99810DCC82BAA995EA382BB07BB97823F57882496802170A7BE250C1E00492 + +Count = 263 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 626650AE9CC62CDDA7A9E355CBA203B9D9D16B67B694170664B031F2AC45CD09 + +Count = 264 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = A3079315D9D2B25424E9830EB64205E252D203AA310DA222A76EFD5B53937129 + +Count = 265 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 713AF02295AE348C479778CE4CE1FE025E6A7D0A1257B53507529A0A6EC5C5A2 + +Count = 266 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 8E125CAF3CE810A068ABF1448F2FD858006E4DF3ACFD349625093438BD7FC6C2 + +Count = 267 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 7ED69880DC0A53C3C8BC449A958A6D4D21E2103762CA83F73701D25AEB970346 + +Count = 268 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = CEC34AAE0963858865C7414335241D379D1B5D3868716B60BAA2950DCD8B001B + +Count = 269 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 6FD80B21EAFB0F073CF4AEBB69E9539D387E6B59B4B09934CD89685F7CFFF98B + +Count = 270 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = D0B76C6B96A81999A15D5BB3300E8224A9A419FF0C9A9C5BEA60C4634C8CE2D9 + +Count = 271 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 3D932C20D6FA77F35C10E0341928787223D36FF5EA2910F02B973A0ECAA565C9 + +Count = 272 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 13F9CE7CEFAC5094F8520A370E006368844F4B3A7036353D7A62DC88C02A12FF + +Count = 273 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = 928BCB2EB7F448E2804A1E037691624A7ECE6CDAC88B47F1F26D07A7B871FD91 + +Count = 274 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = 833B7EF08A161B3E8D0E0FA0CDC39197F6B61A0EB4E5D4E76DC52C365721B564 + +Count = 275 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = DEC4B2598D1A0CB86FDBF01F63AA7036FD2FE8462B4969D7B1516AEBFFF8AC2D + +Count = 276 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = DFDF5CCA3A6321ABB60B6A8E2F42281D93B7C64B2E80297F358E870D94BDF674 + +Count = 277 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 5FEDE007469FACD6F90C7535AE6928EA7E4B9495E7DE277238A91F0CAA0BAA96 + +Count = 278 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 48420A3DF9B8D7FEC3E88427A4D2780B04D36A5510AB83FC27C85AC952C2C7A1 + +Count = 279 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 2BB9ED98018034CAF73E54D161794C1B7B7F81249ED29429EEC6A3087EE6BEE3 + +Count = 280 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = C6B1856A9E1B324E129D8FEB8219A805F2259653081410DC5293B82E890CE435 + +Count = 281 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 9C2E82560F13465AA78AF071F81FE45604EF993D189DD00887FE373C6634D2EA + +Count = 282 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = 657BA6602A9A9598336D184CEBCBF7DE88CE98E0BC68B84EE0B8A71C79FF8E0A + +Count = 283 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 74C2660333C987DE80020F2ADDEB6CCAFAC41329A6440E8B05516C26FA2AF6BE + +Count = 284 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = FAAAF3F340F58C0E0D431D0C1469DF2628511C3B4D58070CF179F5FEB9E6EDDE + +Count = 285 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 875A02C03A373F20D8521137ECCC3A20A89F6C2913AD71B0E97C3408874F2A61 + +Count = 286 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 9ADA62DA9D6F43AB9EE0E82824A52DD744B6E8395F02B9095426A7C05DA9D0B7 + +Count = 287 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = B92F10A046CA678DA60CD962E69C74D64CD2B3024812A51786A79DE3FC6A99A2 + +Count = 288 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = E43C51FD4B81A34ECA0AD412723D5C49D94353CD24C0F39BF1FC44B8375A145A + +Count = 289 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = F5BA8BBFA594C30DACE9B03E3E85C287521A1473E6BA48FFBC7E0DA03489BDE1 + +Count = 290 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = C35D701D5FC4AD46DE4767CCA8BDF39E5857C62E54F6367A45F0444C17EE2857 + +Count = 291 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = FD94AA9F076D5E7FA489BDD1590CC7BF02711ED5394F087E5C359CCB29FCB235 + +Count = 292 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 8F8528F48E4E83B3B3B905081CC8F07A6A8BB329F7EA5454351AE70FD99E1B01 + +Count = 293 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 0A668818CD1E27BE4E003615902E979B5BE543A65BC67277DE64E4FB86E1EE84 + +Count = 294 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 9CE5B49CDF09B37FFF449E86D1503598FE151499FEBF58D413DDBC95C43850C6 + +Count = 295 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 2AEDAF5166C9C4264E91146999D8286C565BB465AFE6C437EA0AEB5572470845 + +Count = 296 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = BA4D89D015E3772793686CF4A2E9858056F9729518FA7EA423ACEDB027AA07DB + +Count = 297 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = ADC776CB670B471F8D3CBB164F4FEB1961A43468680FA953C421612217E77A85 + +Count = 298 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 20FF75C2A42F6531E30F574317C4BE73FC95E206620CA4E857129C144C4C7591 + +Count = 299 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = 737B50F2D459D97D025BD80C3DF946BC75327285A21E2E8E22DD16D07A76C6E2 + +Count = 300 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 254A49F2F96E48A3D498DA742C52A711692FFB5F392D2DD8B9BCE100582BECB0 + +Count = 301 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 96E6C8B63CD44B8DDB4AC651CCC42429976790CD7E7A5DAD6F16EF6C88370B41 + +Count = 302 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 676F740913F77F276EC94C3CF570D1068137E4541F84AAA996AC6EED657EFBDA + +Count = 303 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 1C57E30CBEE73C05E51B3C2B5693CEE9C2C90A62A3FC7B1DD644A97BD5CA1445 + +Count = 304 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 9BF30BA984F0949BAFA53B47CEAAB6D470119EAF5CC706DDDBFC444C0A0AFE5E + +Count = 305 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = E797B83F95AD3F2E8183B53A5F17874DE02DC90B9EAD48340DB1BCF53E5FEC6C + +Count = 306 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = C0193664EB3A44F4141E7C10072E1D2F31144BBDF427D83B5C7ADDE0CFB7F56C + +Count = 307 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = D0187989445415CD7C451712C681DF345BE9EF4BF013A724B871031374BDAB8D + +Count = 308 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 0B079730E6CBC4055F4B58CCF46877DE65D5A43B3D73F456AB3DB0290832CA3E + +Count = 309 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 3709496219371660D31C2DF6FC0380570101AFE64C0D518E740A0D39FF60D900 + +Count = 310 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = A5077DA9440C0178034253F46E2EF5A7CBC0B54D4964787C7B191C6AD3F4F4B3 + +Count = 311 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = C04EF4501A33EAE19E431A499CA38040E452BBD6BD615BCBC5B97CEE7D0952D0 + +Count = 312 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 25F3C52C0DBED23E19C6F9390B72218B9BF98496D6AD4CEF3E4278F972408716 + +Count = 313 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 10D6C23C4ABE86DC395E19BE38A10AAEE1D20B51130939B2B0CB9AC1F664AE28 + +Count = 314 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 4B64B4DFC0FD60F644C7F1E03FAFFCBDE8BE7E5E7555FB33C5E11A2D4C35BB76 + +Count = 315 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 3EEBB475AE8988589FECE645CDB084BA380F7A1CC6B4D7A8A73DEE8BE7C16591 + +Count = 316 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 755F20E150EAC644B450597B1B0031AEDB4E3DA07722505F284BF743317C4194 + +Count = 317 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = B51FDFC11C28E92C54D626E8EAD61E5CEFFE61FCC731B31B2F628950ED408B12 + +Count = 318 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 7A2AF7D3D93054573B6AF92ACCBF02BB4943D5FFF09831B6F1D92FDF1DF040C3 + +Count = 319 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 144A54CE74FC8B98DDD907CB0FD48D321FDD1DCBFABC30AF0979D643CD576F63 + +Count = 320 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 4621D90C3F19B659B8555D00C51F3503960F06925EABA768679029A7FF401381 + +Count = 321 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 1313929EF046A25907D1884575F464871E5000D56DC9194CD9BE8375FD12C834 + +Count = 322 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = A41A644446DD095260162465AC7331A8CC41F75E82EF74A45571DF1EBF6289CE + +Count = 323 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = A811C7A0187A9BB9709F29F0F4213AFDCC6F1DBAC4050EF0B07E9D756A3FCE1D + +Count = 324 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 134107C19DA082BE4E38A4062DDB72067F52B8325D5A725D41EF8876CC02CCB6 + +Count = 325 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = 297F434487DA7660462BE334088318F26ED4786D807FD5FEFC9435409D469C7F + +Count = 326 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = CBDD3EAF7FEF871ADCA20D7F782334D7360231C27A41C8F8DF44033A357245E5 + +Count = 327 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = 8A413C588B21A2CE85E368658E34030EC235A23535DE652550FB4C803031B1E7 + +Count = 328 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = D0EDD41FC6727A5D9DA5ED70301AC0818B83A0BE20D3ECC6729AE380E172C822 + +Count = 329 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 3BA92C805A8F537E493AAB3F282217CF592FF863A874C59CD129CCD9D5555894 + +Count = 330 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 46856D45C87A6B072874A88EDF85516C0A65417A4B15461DCA82B08F0537980A + +Count = 331 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = CFBF62369A8CBCFD4C199D89C13977CC30F8DC3357F956D9546E70AEA065B6C8 + +Count = 332 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 22A62C2FD8BAE35614E088F15308DA5043114113FD38BC6AA9CBC8BE1C0AE620 + +Count = 333 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = E67F16ADF19A2611543A7D8B1C571300369E5BC5E1082989C7A8BD6BAD6BA644 + +Count = 334 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = BE26108027FC3B005D5FC87AB01BE10E0815716E74AB4B6C7C3EEF0465BF35AA + +Count = 335 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 36DE38927C353C9DEB197B566132F74233AB1DD50D6C72CF6026D52F6AE7F6A9 + +Count = 336 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 3A339FDB2F1C3CFE7841A2334EBF03CE1AF366B3081C604E10CB079209068D49 + +Count = 337 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = CDBC6F68DCE88DDAC84035AE3CC73C68D1A8D83B948BA580CDEE256AFEF8CCB3 + +Count = 338 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = D8FF88FB442C6C88970D98F3CBB9958C7C1617745D889785C57AE3B5744E2AAF + +Count = 339 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 7544E927853174A839EC9BB7ACCDE99774D7499EED4F139FFC2CD9F35E9FC354 + +Count = 340 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = 489521CD562E11EB065C25F949C565B9986334719113FA9852A54DB5DCEF89E4 + +Count = 341 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = AC5543DE8B26129893E8494B99BDD29AB8C04B4CD61D12C05FC126841E0E2529 + +Count = 342 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = D5854411C0474AB44309DCF18CB9313BECAEEFE0409C7D6776CED450906BD52C + +Count = 343 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 34706A9397EE23D25487DD0C973657F6EBD54CCE3F7FE4D93260AFCF21A9DC21 + +Count = 344 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 081A6DBCDC245246708B7E16066648A30122482AF2C11FD7D6243E7009BEB4C2 + +Count = 345 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 02C46894AE4E94CAA3F26408956EB6E4E5F804BC6D02770D2D3A75F0DC3545BA + +Count = 346 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 5B664CA429468715198798B34941918647C146FDB2B17E5666E4E864A771F4A9 + +Count = 347 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = D4C03FAA2EA58801A7904442DD1FB617FD8F88EEA73B5456C9CEB7751D204011 + +Count = 348 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 758B4436E6EE3C8760E16A29C731D0FFC05DC83615FF50B20C4084A95502584A + +Count = 349 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = F204632AA10B210638DE822AB77029E6E3C78A9865770C0986F8AFB1F248813C + +Count = 350 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = FBA3C03E75DBB0E59A5EB4CBE7028D746C984BA97C817A3552D878E341345FEF + +Count = 351 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 853201E226DF5668A9382C4BD15D97DBEF0D11C21623705F2F02F3B99166A29E + +Count = 352 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 558F4310101696D502E37C9D8C7AE2DCB90AB9BBB92C743BA187E89A7CD0FD93 + +Count = 353 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = A1EBED88C9574CFF167FDA32B84A7A3C4C5E3EDB214ED59B9FFA2CF3A5BC3058 + +Count = 354 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 485FBF41A752AE8B0E02F6538C862B41CBEF679AEEF476CEC1FA92A1CE1A1EA6 + +Count = 355 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = C5EDCC7A6DBA44709FE35EB5AFA41C69214B93029DF64982369F1F007E9C6909 + +Count = 356 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = E76CB8295B3C80DFD1ED71741B415EA7E02F0EDDFADAF4142DCB743731CE747B + +Count = 357 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = A59F69E290EEC667125CC70DF5448C30769417B8175A503174B7F9155267F9BE + +Count = 358 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 29695DFA9D33BF89DF7A1791ADA81CD3907CA70BE3560017F00B848F5A899529 + +Count = 359 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 1DE2603ED5E64967CA768FC2E06981AB992A7D489A51F37905BE2161E2760098 + +Count = 360 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = C63239588605769DC9E074A03025497E8CE8088B0273B27ED6E2034506BBA713 + +Count = 361 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = 8CE9F65A924224141B53042F282EB85FB3FB3FEFC91DB6D595CED5F46CA2F2E8 + +Count = 362 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 697136294EDA2BF7409976E0D6977EB10DE5F29EC745B03BB2873BE91F116A57 + +Count = 363 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 2FFA49326B3A7911B8629F95A804A8426D9CDA33E9C99F621174908E50D3BBA3 + +Count = 364 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 37B2E16252782EBC3A74C308613E9D27E543BEE6AD8612D4F905587ADDB7FC00 + +Count = 365 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 9A76E33C233637CD44B34256D5764B03E189C9453C2FDC9A928500A86F539E27 + +Count = 366 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = E55D1858EFD63D52597F8D666C79224798801B5AFB28A5AD2C0279A3B6091DF9 + +Count = 367 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 9BB5FF10772E311D0128833D845AC801CC3EA1A0F3E4820E7F9E2DF9B02FD54C + +Count = 368 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 70258E88CC17FFE420C4C80EBA73DCA522C743A2AEFB257C60737C847E7AB0BB + +Count = 369 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 93F56ADA25353834777B4047A77A38A7869530CF92338120AFD6F0166FE8FE08 + +Count = 370 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 1E654FA662E5732DDEEBA79108C2F8906314AF1F9269C41EE05F84228F2366BD + +Count = 371 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = 2BE7DC356BB383341E7E5453D4B0D2FA684F88325B75138F841000B9FD7A03E6 + +Count = 372 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = F447E29857E06226981B937B6F0C3B0753F9C158F48AA52AF6EF16BCEB26FAD2 + +Count = 373 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 6F9B3258E08695F7E8C94AEBECFCB8A9550E8F96DFA6B2E26F3185B78BD837CA + +Count = 374 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = CD81F3ECA66B5A000DA473648CF9D610E975490FACE833F92976E61C5B584686 + +Count = 375 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = C232FA7CF219D5196145CA8762E86339B14EACF3EE168E1DF2D597C6EFDCB988 + +Count = 376 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = EAC44D9D6D66B147E62D773D4D7C67D00D705DB2C2A075DFE8B04EC3B31B8994 + +Count = 377 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 303455CAA798B815A9B43FF28BD97CC31272078CDB8F36C57F0F2E2FF907E7AF + +Count = 378 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 5E362FEB0948E1A3820D69F011A8E1416E03B3C41B39335F24C2AE86CFCBC64B + +Count = 379 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = 8C9A36822ADBF55BCF39963432ABBE1ED8DDE59DBC740BD401E4E10F59E3881E + +Count = 380 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 3009C5032BB44BEF541A938EC9F081AA45259D2798949EDD69789582EF3CD618 + +Count = 381 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 9535E2DF3FA64914EA37024E2EA90DA4A1D1DF97BE44A7F3CBCD806FFA0F2643 + +Count = 382 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 7E257B1DD129CCC477B12B550B577B75F86F040AF0E64FA0410F1B8972CE8CA8 + +Count = 383 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = BFD183620DBAF6640BA4ED00EEA29AA172285C13E417A83A0F9B35D20EE64600 + +Count = 384 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 880D383050099AFE3D498C8F5697BD79A7CBEA50A3552D956D0B1E1FB79BF94C + +Count = 385 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = 732FF293BB847EE4BED1695063C78DB12F9A7EDB93A8AA7A9FBAD06A7F81E2A6 + +Count = 386 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 1710AB2740E6C390C38F4C1A724C8A6DF629E6501F898DC1D686546D26BB9DA4 + +Count = 387 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = B33367DD16C1C4C5D2AB204DFECC1BA6C824459DE70C572636D654292C485D05 + +Count = 388 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = D49AFE56FFB3B5B6ABBB6F20E355F08CA12D64963406748FDDE27DDE57CCB2D8 + +Count = 389 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = B1BCF1D0EC39103794C0BFC5A5634BC68261F431ED7585DC5AB6F0B707BCBEBF + +Count = 390 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 06B6B37A7F8CC421B422ADBCDDD0534ACE20B2D952213C7BD26C457D2214C2D9 + +Count = 391 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 2C570B95D2C2A84AE86D375D6C97DDF1B2102451C3DD51E536A33447BE5CC071 + +Count = 392 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 6B1610608F4CFAF07EE568B04CCB47BA63565107BFA8C110FC181B5877D8682A + +Count = 393 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = B10468A98D590E0BD80BE2B3A4801D3F692269DEC59F18F906E3639F9F408CD4 + +Count = 394 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 4B65067B2EAFB6201F909A3410E394D9B8163BCFC23E5F860ADD220DF82E461E + +Count = 395 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 1DEA288CFDF3BFB2BDD33BDDC9E1832584E88DCE1EC7448F6C4898DC9956E5A9 + +Count = 396 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 3DD6941EFA4C8BF3ED8D2396DACC86768128F6D42B178C0AF009C1310FEC0415 + +Count = 397 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 2323287AB94FDED3BF4D0426CB8249F864346552320231AAFEC5A2065612941C + +Count = 398 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = AE810E851CF27EE335AA7BB42605793FF1FCF111B7037255B645D5CDA924D8E2 + +Count = 399 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = F5CBE437C5F3C1FF2860C975DA208B41642C3B22ACA0D6512DA73F8E1C015932 + +Count = 400 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 39A164577AFD5D712D27850A068196FC8ADFA971AD64100A9A218498C5C46213 + +Count = 401 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 650A808C0EA1BA4165CEE2E1A412BAC6B7FEF8F30B3A807BAC1574773C2CA8E9 + +Count = 402 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = 2A6BCC55CAE23F30277A1F888335FD43EFA9158852E4962DE4CE950B692E876D + +Count = 403 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 021FE28104DCB3201162F2665F011B685CAA94ECA031D814FA04947AD201BD9F + +Count = 404 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 0FB2B04ED8041A927606E458BEAEF11BC51998B01E524DF2618125A04137F620 + +Count = 405 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 04D5760874C716087926594244B668BEE029F52D679A0CE8301724F561CCBA62 + +Count = 406 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 5FFCD684397DCE124E56521012A45D895C5C5FFDD75BCBDABC62FE95E3B2E624 + +Count = 407 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 6CD1737E97F4BC9BF4BF1801A6CE98F2BFF11FFD1F94E0EDF48AFD072A0977D6 + +Count = 408 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 54523FE7C8B42791594522F2FAD52CA189AB394B7218713B7CA1F5A8AFB46129 + +Count = 409 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 43A81E1EA4E19E020C32E54435240365C9835E1228A1D363D3B146526FF900A9 + +Count = 410 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 7EE5F5891CB15C8B00C324301C2B927C543FEBC88C142797680D8D80313A4487 + +Count = 411 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 0B8F62ED5F4AC69DE25F2EF81E68910E63AE5EB53AB3C9B68C89560450351109 + +Count = 412 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 9368959409F69166E64DF7C359C438794D0074E2DB2D8D34758ACBC198ED9B3A + +Count = 413 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = FA6F4F54F3C1BFA859909D65B9D0C1FE39D239B6D718CC697CBB01D782F3FE03 + +Count = 414 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 908D2A08CB5AB81B14E359F14B5E8E24068CEE9A5383C995B2A3FC9BC8389748 + +Count = 415 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 588637DB067DD1F23446B3790B8A48409D57B65F6B0F85F35FAD2838547A57C7 + +Count = 416 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 155F03DDB1698FA56D57D239EC0116273102676E536271428DFE92618DA14B5C + +Count = 417 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = 241629005A9CF112C2472362BF30FFDBE5A3C8DAE42A83C8737C744B90A46EC1 + +Count = 418 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 3ED8060296B42FFD76FCF26F7EC68E56BF08008666C28778EF48FB4E1A718959 + +Count = 419 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 4EBAA9F23E9ADD80A1A4EE3D815EF198852E6FB92DA7907B4FAB1C1D81C1413D + +Count = 420 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = 862B31790429815FF1924A7D84028E6C213C31364CAB5B234A2BF8A2776D0BE8 + +Count = 421 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 5465ACDCA5F9B246676DA4F602F3F69B89DE23287FCBAD7ED6139AED9E794886 + +Count = 422 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = B3561E20D41BF15A669DD4D87B8232249D656375AB5740D7E81ACCA6C61635C9 + +Count = 423 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 2D0F5BC48647A8807F807390E94E42377B8C200A8895CEF41DF4DD860589B817 + +Count = 424 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 825A02109C4A787C46A160509AFF6F1273958F492D8A379D76EC381B607CFD29 + +Count = 425 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 25B6FA97566F2461A18B7A3EE7EEEC70ECAFEAAA1C2D1F81488D130DB039C8C6 + +Count = 426 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 705D8AC44671F3B10EAF6E848B8D2514ACBF76F028EF4EF3564554C29CFB6131 + +Count = 427 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = BC817717AE488EBEC76A6C80FF4D9852241CEDB32B658C35477DF56868EC33D0 + +Count = 428 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 7CF46E4139DAB77069FCE8A28903C71830A21BD984ADDFB7943E8561A4D9D36C + +Count = 429 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 10EFDA7FD59A3DA59B047E3F8D4BB230BB9DA9C807078424976563512AF842AE + +Count = 430 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = D758E8D2200696B22F6E529891B47A007C2A6C0537148A78E8DD117D42314CB9 + +Count = 431 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = EACD8FF702AF0AF152F3B2FC2F59B88574C2900EAE2D86578FDDDDA21671A234 + +Count = 432 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 16DBF153C063CD93DDCBEC2F9E9B6E466DE205FD1434B94F36338D358A892ED5 + +Count = 433 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 76107BF5C41931ACCF79BD5ED1220BE1239D4806F0496ED2ED1D42984C1DFD33 + +Count = 434 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = DE63C52DCF6F3442242DC0EB92AA0FD37E9B552FB37C67716FFF922CB87C3C1A + +Count = 435 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = FAD15C472FEBF96D06872E7A9AB3BCC478CE1743C178953C26C03CAE5A2F9740 + +Count = 436 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 47A80970CFAC03E226DF19FCE2A8ACE2A6692649B08739B397DA5E6965D4300B + +Count = 437 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 4DD259645F039FA69BF3D1E976B1DF2A1D331FD20D956E24F0FB6BAFAA312D35 + +Count = 438 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = F4CD6659990EA6611E28D637E7D07C008A640E7B478FD965C3F7E3F220DE3D73 + +Count = 439 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = EECEE20E2FA0CA82E51582DA3B711D28F0E879340EB9E40C262A3E6B3AC1D904 + +Count = 440 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = FCA52B710BE1241B384D4AD18B8A2FDB544647AEC2B022730AD537D4FBA5A1B5 + +Count = 441 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = BAD2D3AF71B586F3992E3F63BE367BF4E5013F36892C24FD9B5D173B93D5534A + +Count = 442 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = E30FD145D074E2028F6080DC008192F787C361C1234BF6A5BFB99D9689F28F2A + +Count = 443 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 5C74948E90B2ED55E7F8A872EE24FCD58BFAE2B09559F7DCD25D8940328DF837 + +Count = 444 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = 7DD4DE408068355776F8EEFEFA0C4FB176A0E4A87A47DA51C7D278D506FD226F + +Count = 445 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 7110538C0C4B647FF72C38C46BB0FB616538F5E7D1BD34EDE4450FF5B3757475 + +Count = 446 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 13C0304C080B3DD3000C0FB614278DC01D7BE230EF5D2DAE72AE1816F2188AD0 + +Count = 447 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 38387BFBA4C358C3FE43CDDA40877AB48E333890570ADBDF3B67E37E8F2E5DE9 + +Count = 448 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = ECE31DEC24F0CD767DD5004A3704DB781A9B2C46D67A3AE5F81EA35255280095 + +Count = 449 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = D80504BE4FC8F1E63673556EB4C7AE6B0CC813F6A2B4E171B2BA41E7129DD732 + +Count = 450 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 32DC49C22BF414E26FBE2946897061FC644C5AD863940161B9127DDA2FABFA8F + +Count = 451 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = E63D0121B5559F145B23CE30EACDB25CF47D899BB995FCEACF32639244CF3159 + +Count = 452 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 5ABA127CAD24124D2B7E455D81ADA18F6C6503114EBF2C9DC1E4B283185E1C63 + +Count = 453 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 89C5C2D9DFB9175195901E39244DC09CCDFB4BB8751F7FD7E13D53DC9A50CA18 + +Count = 454 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 300962D25B40E0A817C205CBDE4439D8F8D3F43F62613BB04BCE78A993B5F22F + +Count = 455 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = EF528BA6347DE734C7383139D02E22893D2EA89FE3510D255C81DD907EC99275 + +Count = 456 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = 3008262DF2C91777FC499F5B5AA35CC6B1D303E8E7DF4E6833EEF90D8E0AE708 + +Count = 457 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 219A3D53F5F2F02EAB3644EFD4A5102559C8F5A8E4CCD50D27F74C1AE2E81E07 + +Count = 458 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 0531BA47B91F52131C70EDA764B53D28EB53628002506C4D398FEB36426A9918 + +Count = 459 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 611D7D6AC9E172A39868AB2D745804A4CCAE0D5C1566E3A98A9AFF41BA26E761 + +Count = 460 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 670ED7ABF8B651B9158A131686CE71D9EA56BE09431651C4BC7CEC53818B479C + +Count = 461 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 2AFD992A10A99EB249C19A6FB9274C1B794EF042EEF3EF72BABDAC47A375E6BF + +Count = 462 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = FA6DA9CEFC16764BA3E10ACF983A2AFF66598AE92DE3C6EF40D269D8938B3DDA + +Count = 463 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 0348E30805E6586C3A25EB43909F41CFEE461E6CC05B202B3B7FF2BE9930E33F + +Count = 464 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = E82F6F4F128C7CFF10FB708869CA2C1A5BD794132777AA811B3E1F4D062492DA + +Count = 465 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = E47FFC460A0FFD35C698CDB8E5394C922CA1F6D9EDFB74B9C3DAC2FE77BB9E17 + +Count = 466 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = B4E3B815A02BDB2796E9F76657A795A0461EF7C3ACEA605EC65F2BD1FFEB7C24 + +Count = 467 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 6FDF791B58CA638D6CF98236A260A39F272B624DED185DAB05D858B0C4488BC3 + +Count = 468 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 0A71506C5FB01F0E83208E258A78F2FD45BA51BDCB6F9E11C749193799A7AE97 + +Count = 469 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = CBDB32EBE6CA9E06AFCBBA0A261BDA1826CA6D5ED33E72B8DB13F1DAA5E93EA2 + +Count = 470 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 701AE9FA90EF2532E9EFDA6F0D1356F5712D3F4BE3DA420B18C426E75D5F96BC + +Count = 471 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = C91EECB728B34231A23D37A786B0470BB6F3C1C7E651EAE0DFD122814585D274 + +Count = 472 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 7020F68A925B59C06EF5D5DCB214184D06954DD294112117B2B7C4EF114C086E + +Count = 473 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 5606AC405CFFA4C5CE3CCB5DF2E69DD320D170D0A8A99649B71ACAE31EBFBDE4 + +Count = 474 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = F9D744CC3F776575AF76BB6B788F4C9C38D11F8B2D48A5B80F16797602D3B27B + +Count = 475 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 44EE5188696FB903DB6BA709A7BF3084529FA46FC047E0D40F62CE868C9944AC + +Count = 476 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = 79A5D309F6E3A2C6830D6B454922DD5F432A19E324E7C0AD61158F318A4F49B7 + +Count = 477 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = 6E1B9676E10E2E274ED38832761B1A99626FE66882A2AB3BDC0B199D3222C455 + +Count = 478 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 84E3060181B1AFC52B8D73456229CA0EFFF6AA7677199DCA853E256838694961 + +Count = 479 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 95E0B216528B601244504FBDA1CB3EFD47C547C260E66B2154AA7556436E3C6B + +Count = 480 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = B0B8B69DD2A6D82B4956D69B8C01489970B9DE8AC062D11294D5F0B0A0087BCD + +Count = 481 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = 1EBC1EE9F6F919AA3683BA58446F45525D64E58566AC7663D378623D68AC4837 + +Count = 482 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 26D5DF3A154DFDEDB4D6C17723F42F22D9BB47CB04907368682F0D14E60C2E58 + +Count = 483 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = A8593BCD97905DF20571D5056FD86E8D75F82433CDC13663E057887DB4E5C089 + +Count = 484 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 6393318409049D52282BE330E1CFF0871D3E68A829A2997805E0899631DC2B82 + +Count = 485 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 45A7B16C68AA085395504ED73109F4B0A05042648D32A603B6099B45B17B21CB + +Count = 486 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 2543E7055D0A791BF9E464C7CDFD94A8745179AC25493CC81FFC5B7A54673541 + +Count = 487 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = D7F56D1912D44582C54EA16E6C935612DFFD6730F05E6E0BC717CF9E0DCF0640 + +Count = 488 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = ACF17C67D8149EDBE4B94ADDD9369A158A46E880D8A762BFA031F82270CCCFE3 + +Count = 489 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = 01186D719F0C1ABD686208AD89FD04A205B101006D9ADC6B0F7FC18D8A14B650 + +Count = 490 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = EA38157E90EFDAD96DDFDD53E41E167E39B5F7A05681C84EBF35C97F270F1DC4 + +Count = 491 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = E386BC6EA0FC05883B4F3D22170DC2DB11D7DB1A91737D3CD80884673753B703 + +Count = 492 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 1303180D3E209F2D70F375556DE1A379EE18CCEF6D063058B5AEE0874D9AA16E + +Count = 493 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 4594B8B7B7F65266613E5F732E21466721CECB5E43E4B07957DC4EDBC8BA9D34 + +Count = 494 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 36CB3E1A9144015246C38C5F1E238B255A37B1CF4C469E677E3BE239A336934C + +Count = 495 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 15AF4B2CA7F0D9914543C76C8453B9778FEFCDC9B843105D25417B9BCC72C0C3 + +Count = 496 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 0012A5F9563C8CF76CA20CDE4FB5E1EABF0B47DEB6E66D75B7BE613C4652B3E1 + +Count = 497 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 4D2932205A748185075538F3908BC7774E0854C44CE0C1B3B824D2D787068898 + +Count = 498 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 4B4F1484DC06374115BA410547613E70F980309ED2DB757B2411637D8CE0103D + +Count = 499 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 47E00043E35FB92D0781054A2CD3E18687113F6A1A47B8F0A22B9A4B7958DC0B + +Count = 500 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = FBB88D6A74C1B704013A9DCDEC93179DA6D9FD61B466C2FFEBBAEAA94385E317 + +Count = 501 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = FDF3EDDEED870E9A32472A67566717D5102429C1D02D03F25ECEB45BAC521819 + +Count = 502 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = A2649C6658B2E5ED6B835199527357B974117ED03F2E756E7D44B8DCCE3F7056 + +Count = 503 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 86E755EE4DA2BF96D21A96554019C600C3F2F9AA8EC6AC44C41A93850894593E + +Count = 504 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 3294EB31D40A44EA5A34E5CF08B243E27962E7992C4751C6A3CA2C903F001B2B + +Count = 505 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 9074F11AEF448100934C3384713B404015A8923EF5D81967983C9646A1B4BA6B + +Count = 506 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 00714FECFC9261FB29D051CCF6FC10EDD4657F7DDC6F727EDBF71863CA47BC94 + +Count = 507 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = E931BF62202DAAB6F7CF26FC6641755CAF44DEC4B5BC40134FC728EEC2FFD972 + +Count = 508 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 8FF7F803F2574594BD45E0CEFE9E5F3C7BBD0E2DC9DAFDF16AA611D8D9993294 + +Count = 509 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 49E5B56AD6BCF87AF57AAF2E85B8694E6B10E4909F16AB432C6CADA585708868 + +Count = 510 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 89D7DAEA3826F1F87DD713A28B050244FB94BE9DB0E6348A533C4AB801B34353 + +Count = 511 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 55A02D71FE54B2864666E36B416650C7196045592D59E8CF77A43D0E30C098A7 + +Count = 512 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 1A1D927B746E95CFBE1770C49D2937DA0067C5E8D95D32FD941797A5FAC3DAF8 + +Count = 513 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = D46D0D49F381223AEE93539AE5B4FD5C324D80FFCA970689C08A6001BFCE1A3B + +Count = 514 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = 90C057AACAEB87F75095F43FD3EB04A2360B8BB912FA6451D0332B0C78EEDF66 + +Count = 515 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = 58434DB29747FE43CC9285D48F62E1A027C2228D4FB85D3172C88C984A5B4857 + +Count = 516 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = A5EB863E075F2E816910F1EE173B5E497E1913B2C4FCFFDAC814AF9AE9C225D9 + +Count = 517 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = 716D0A7EB756B169FA2E6AA23633BD8DDCE548FADAA10BC3CFECE67C4A8AC3EB + +Count = 518 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 965FB4C2825795981533D3D30F26A3834212173669A6BBBE0CA933157A745C32 + +Count = 519 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = 93A439FEEE113AE3026C0787516E4F99C45D2347115FAA436FB13FD91F85B9DD + +Count = 520 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 56178095A547C951672E7AFCB6163147A3658A73D7C06B17C63FE3BE6CBC4EC8 + +Count = 521 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = F76F91F39CEC431CB98514102E09F6AD153A4DDF43CF510A99DB02140B89D93D + +Count = 522 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = E3CEDD56A3220276A27AA0B69BB2AB7130DBC95D5B9DDFA5B12F6A9637DBD155 + +Count = 523 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = CEEA336C9FDB355932F797A6E988DAA6C40DD5C8059FD3FB693E65E5B442351E + +Count = 524 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = E3CD5664F5BA671EF80C922A969AB854DBFDA20D47572402A10D03B2DFCBE6B3 + +Count = 525 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = C1C2FDF35F744101457FBB23EAFFFB0E645DE972D3B8BDD0EBB0E5CD064ECB65 + +Count = 526 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = E669AF1C23876AB94785B82DC23DBB24F95347FBA4877CB0FF64FB38F90ABFF9 + +Count = 527 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 3AD0280923598028FC83E95121CB5AC705E108F1DC98CF858375BB4B85C790A9 + +Count = 528 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = CCC2325B1C57278E130506D1D6AF732A90A5549E45574C381DA3B7EBD1DDCC20 + +Count = 529 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = 0CFD19BE4E45E5188101AAC8299E11CF2ED3C942E0B828D0B4970C281F4892E9 + +Count = 530 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = E9325986C106C2BD7300D70B06293E287E030D4C999BC36759CE6682EE27F001 + +Count = 531 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = DD2B8A9C91C6A11073001E98F0009F83D4D005AA9CD67A79B3BAC3F3DDE37D3E + +Count = 532 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 251EC2A6D95F6CD81573A0D5D00EDF7FB3188D596DCD37FA78F403DF79C3874C + +Count = 533 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = ED11993FFAA70BF7F89BFDFBDCB2F18AF4D4E9588668C9C0C71813EE1A57B555 + +Count = 534 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 3FCEB4FA9741D02CACEE522BF09ECDB35F6C44772C08C850E5AC2250FC4DBB43 + +Count = 535 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 43CF93C3C5972BA8498ED3CA03F924DA4D2D74F93CEA912200E6B2BA88144692 + +Count = 536 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = D24E249585B417CE562E3E6644C58AB948D34E589FFF9BE858CC401112C8D76C + +Count = 537 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = 441EE8C1ACE0527C59EF8A8D3B17AD50C0124645B4E2701B69EA68CB8BC7BCE6 + +Count = 538 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = F801B29EB52DA965188AF5F89FFF1B9B4D9A4430A0346344ED99046B79B1C7BE + +Count = 539 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 63AD5761C6AA32828C1EAE8282E0BF6C5F366D4CFD74D3E9168722F99609C798 + +Count = 540 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 59FE40C00A667697A3DDC65D637CA10D79C761BF1BADDBC1A002AAD949AC16A7 + +Count = 541 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = 6D55FF5283CBCDD9719412752D516DBFF307EE393F008B3358AACEB265BE871D + +Count = 542 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = 905AF22E276B3EC81629477081EFE8A26BAFF847179C37C873C347BC99669FFF + +Count = 543 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 03E1BE0147B3E6DE5A3674284A8028FAB5CCDF3BB69709D670C8EEFB44038290 + +Count = 544 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = DA251ED843076A897003BE4B1D7DDE320A829A7CDFB4CBF4A9FD0889D9032FA5 + +Count = 545 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = F76C1E004309E862AFA2110B5973F79E0422ED726822652087B95C282FEE0141 + +Count = 546 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = F0E4167C21849C63F699DD9E230D84CE73B5E6E00050CBDF34C51328D72A532A + +Count = 547 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = C25807825BEEB5F0A116438ED2FB6136E9FF98D01AB6C15AC66772386AF5D760 + +Count = 548 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = 6B34AC14909C490E2809A86BAB700B0E8B59123ED7CCADD75AB2EE638A9C5777 + +Count = 549 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 802A331CDE47A3475DEEA1C21C8ECE0D4ED353622E7AF5B96EE7F85D28CE67A1 + +Count = 550 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = 0E4DC5024BA4B4478EA638394E2BA0C3B0C367B6D7DD29BCB35EF9615C4D0B04 + +Count = 551 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = A5AC95CF4FEE76E7EDCBEB9A3AB46052452FA73AC394726AD63D8FAD4F9F2928 + +Count = 552 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = C3D3D3EEF7FF2CD22773C945BCE208768D413F6600711CBD95C9C7EBA5FE2F9E + +Count = 553 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = AB97D5701C8B953253A6FFBA5032ABAA1215735358CFD5A6E8BB03579DB3D689 + +Count = 554 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 744880791DE59E484402DCD48EFEFA98AA9DC66AE632FE1BBDB7EE406E42FA19 + +Count = 555 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = DD633B0F469062516BC8DA4EA6C7B524E761A009919046C2A90752C7F4920A42 + +Count = 556 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 41927890D666F71317EF25B9A5EE4616E6DB1B6E2C7A2561356DAFCAE5AEE908 + +Count = 557 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = C5BB2262AF359D4BA0E67F8BD7A5456681C33AE9F6DA2BE01834B2063C409B42 + +Count = 558 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 9D3748CFAA3D2139B1D92208B75EE37ABF45CB4B21AFDC1CB4304D78E10CA685 + +Count = 559 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = F8D0B03F12373BF09B54480A61E1CB0EF32F71B8745CBC74A00F03304641CB1D + +Count = 560 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = CDD2DD288CB411AA6601D49CF228FF2C3134012C9126A78954D7B273955191D6 + +Count = 561 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = A26CE60A67C5647CD3E8C55B67F784E73782FA593FFA038704012B97A7AB051C + +Count = 562 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 7868D496FD6F3637523ECCD4F0FCDEAADB57AD97868C902EB68B0B695984CB82 + +Count = 563 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = 00D7B3118A8177B6609253EFFA78A437D78ED2DFA41C810B635AA6DFFBCC525B + +Count = 564 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = 70F9BDE7B8E5EA9BC9B8F0ED75AD1945C301914869BE7474089DEA46F4F47C89 + +Count = 565 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 75A3967F573FC6195F9704AC93B9854C9A4FA5B0E5CA70D5BD7B0F5F76AB452C + +Count = 566 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 2845D10C5BA3586CCCA4919D541BB3752ED57385041A2BE3597E482E246CB09B + +Count = 567 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 598BDE5C8116733F06DE6880F32857A00BA4D5FD9051C676550E12FB969FD3FF + +Count = 568 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = EC6C70FED2F6F8345C4FBA05ED3C38EE032906AC6B52A48829CBDC60A1D14215 + +Count = 569 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = 7805784699925E922270D2F70A21D1E2C7C01851F0BD9FC8EE9997C3D2927973 + +Count = 570 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = BEF53C7FBCD4E8A5E2CCD44C5D3B93FC4DE0955A66B236DED8804D2DB7ACADC0 + +Count = 571 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 7E9EACC25305663D78E9374A5EBCCCC4CA433554CE591B3E586F18857E08687E + +Count = 572 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = 913191DB74B08EB6320E50B0298FFE29A6E93AB00354139FC4A0FB5FC14591F7 + +Count = 573 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = 4E6902B23CF3CF839C4F3A2DFD6D5DC7F61EF807DDF12C90BAC101EE9A3B347F + +Count = 574 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 87B7159913E1C7ACC8A9CA21079AABC4A472606CB5376393DE0ADE9F2E4D0A67 + +Count = 575 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = 91A618D329EDAD654F861788CB9E942A0111F30022DB6806493BA4C665FCA9FF + +Count = 576 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = 274578F8F61ADBAF7EF21AC52330B4E20E50361C57D7685CCCDC7E54D45E848E + +Count = 577 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = A7481735761ABE00151A0F0D65F23B09ECAC7C66EC3D6A28EAA795D06E64F732 + +Count = 578 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = 99FF9F8CCDCA255D5783447A8F804C99348C360209F08EAD9D4982D11244F25A + +Count = 579 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 02A24C2A1D0BBF438F764775A6EE772F67915467105B664C3DF2D05034D9CEED + +Count = 580 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 1BC677D3CAA13AAB7C935B19D40C7FC656CBE894A6D17FF746B5950C2EF6E55B + +Count = 581 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = C93525DC6D6EC6042607F6C3C46DC9F6C632FCAFB9A79695B689D6C74F5CCBAC + +Count = 582 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 8C99FF8DC2A828235C20295DCC8FBCBD7915EEA9749921CCDC5BC7ACCD2A1022 + +Count = 583 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = BCEC2FC4DB23307A20FADB6720E6D6343282C1718E8E899CFDA71356B3B6DB1D + +Count = 584 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = 213DAA9657D10C9827AA8DC88D34608FACDCF7ADA39C353D6206C5A21E1687D0 + +Count = 585 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = 879D59FF7C7E8BAF79FB34348FA0AAEE44721CCD927CD0E93E2678E1DA4F73A5 + +Count = 586 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 1C1B3E1F3F495A717E981C433D4C9899CEBB53C8A93631010A47D967C7CCF366 + +Count = 587 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = 01073E4BB99F79CCDB08408777B8A553047E2115A3972C8869868DE8D4625E43 + +Count = 588 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = E8BBD5D6BF301B9BDB9A206674BF1ED5FAE17BC5277A6B382FC28E04D941CE5E + +Count = 589 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = 6E9C0A4CD550DC6586B7B032D8DD076266148EA5F324DE243D8CC8BDFA86400E + +Count = 590 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = CED9AC8672695F748C5F3AE30E01913C38CBCA8F95DBD4865964D17A3A70F7F8 + +Count = 591 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 2B995FD6B4C0A67F14788ECB47187B39EA7E6285F27AC22F38EDB06A2D421BCC + +Count = 592 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 72C791CE59850039D5504B7BC129A543E70BF0417B4E72A3A26FA7BF35B3E7DA + +Count = 593 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 8FAB8AD0D789BDE4B90FA5B23C928D2657B0D2C85C04D49603E635D00D7B457D + +Count = 594 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = EEE7EC20440D2E4E0CAD7D83115A8A6B610A9E6F889527D32E62F8C83D920AC0 + +Count = 595 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 11CB6DDA8555151E3C52CBD2FC2AF22810B3924F31409FC56F65F3B557BDA9B9 + +Count = 596 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = C60E504ECCF6E4B615ABB64592885E32FC658C13ED446365C39C9FB16CE02CEE + +Count = 597 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = D91E997511C32F5B91916531887B8AA3A32696E29E787B50A28838D0610B2937 + +Count = 598 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = E85ABFC85A3A1B88109BC3F84833FB1F9A6B4A73915A7924AD8340041877AFA6 + +Count = 599 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = EAE775EF299BFA12A571138467A77A9DA9E23498056ACB3D73526BDF6B47EEF6 + +Count = 600 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 7E676F906EA767FDFA44AC9515ED1CA409433B76F4DC4F0505AE8CE26105E0B4 + +Count = 601 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 9AA3090696340A938B601685F3655AD78F2488CA5066DCE6ED8730D206BE2EC5 + +Count = 602 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 9074A719CF7A9F1FFFE2E01EE92FD64B8FE27487BFBE25B8D66CE0367B90137C + +Count = 603 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 06048A4BE51939FE1DD17940F25EC9E96745352161E0FC77CED20AD757A5A738 + +Count = 604 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = 6C65815BFFEE0122CAF68D5F62A1F938EC4B06F585459F97BB27A7D093A008D5 + +Count = 605 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = EF902964883D8C11D7099DD88D4705953BFEE42667A5F5467BA6362F25A9373A + +Count = 606 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = B825A2A1BA15B8344FEE671F0ED8663EC5EB8C92ACFC313FEFB353D175FDEA84 + +Count = 607 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = 822DFFAF919D15EA8A9420623D2EA2EBCF94330D1D4EB67065C0B0CBDBFDBB9C + +Count = 608 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 716A89EA1692F45FF3CA41D75D8DCC754F4B73DF92C1D9B2C344D53A19592940 + +Count = 609 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 2ADD964F795DAA3420D2E185610DD4B049A3F410A50F67BF57F21839A07B3CB7 + +Count = 610 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = 79D5ED64725E526ED783764B532A62CAE5A225C8265B262B7AB1559211F4CEEE + +Count = 611 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = FA6C8FC57CDFB22011E3B09F2EA7EC94E72517DA4108A344A1BD5435C488C1EF + +Count = 612 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = F4934855AE635B7FDD3A00C47FED0FC2BB627D9EFD9CC4C939DD6E6D984701B8 + +Count = 613 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = B790D898F569AC08099412898079444309ED3A7997681F53A71720425FCF2444 + +Count = 614 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 2AB025231818C2F8CDB1D88A8716E7C0A24CFF7A30614EF001C6F74C29CD7B76 + +Count = 615 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = EA617472EEEBE08D7130E2B164AEE73C9CE4312FF63C7AE451AD99147ACBC37D + +Count = 616 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = B6AE2EAC649327B9C303DEA7C8B033696039B7321AA9869E1A970DED432F97B4 + +Count = 617 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = F5ABA40106633296CC19EF1557C46FD99F242F05DE86C330699BB80BAADB5531 + +Count = 618 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 1903584A96E77D2CA3D297CED89770CEE6BE3373F0DAE8A3EA3916CC7B782849 + +Count = 619 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = 059333B0C0DF1AFD2EA2DAC1266903A45C0A1A1B4A9FC400C08E90F927095AC9 + +Count = 620 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = 182D4E66D1129A40195214D3C90BE9A48D80D353DE8B9EF42228255C652EA93C + +Count = 621 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = 8840E8AB74909FF4EEE6797A9B4297656648CAD245371174D548D49A0222949D + +Count = 622 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 64769A9CC1CE04E63D5052BF122413A27E5A80B37E472D2157B348E12F7954CF + +Count = 623 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = B0252878459AC92491B9F24FD89846F0878E2630D0D37C15EB2B69379DAA54E2 + +Count = 624 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = EB3E0824D5FCE049B4CCB1945F07A76BCF790EBA08A37B5C44FF2F48BC4DE9A2 + +Count = 625 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = 8B0D2238EB75762EA4776F11A0243CFECB993157EAD638B0B2AEFD6DDC445130 + +Count = 626 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 11F6D75BF3361EDFA17D5D16F61DAB231D259303BF3B427654B8C90FBD22FC8A + +Count = 627 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = AADB42B9850009551E869BD602633C28C6021FFE9788A9BA81150DDB82BD1471 + +Count = 628 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 5CEBCA98116087C4B9D3CEBF16096629996CDECBE394E9846A277958CB61385D + +Count = 629 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 3A28F5BE2C9C2989782A739148C58BDF6F8FF54132FC75DAC2FC93763DFA483F + +Count = 630 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 30B9650738C4E65ABF456E4EBA19B07B079F616D69E80FE6640C4AC4D0BD689D + +Count = 631 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 8DC8555FA77381A9BFA39C895BF001C1EA9B52C89A19611235983611AFCE8A24 + +Count = 632 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 39110E1981A2B1ED8270E311D0A30DA790DAAAA42633DB82C2FC8A340B2B458D + +Count = 633 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = 5AA3CA99DF318AE215FA4ED53F5A40D2765576FCB5850BF0F5108723F0864C1C + +Count = 634 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = BE2274C1B6685EF55F4DC0E71D3AEED6C0BA37496F9E0F73C8F36D98DC0DF779 + +Count = 635 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = DCA35BBD604A696FB7B763DEF5A9D0CB8E7C7245D86B50D7D8F84AD4AD14282B + +Count = 636 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 218A744A78CEFAADB99F416385C4E10C240E61ACCF2070F04B8AC876B74B3239 + +Count = 637 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = B1277FB4DF18819F0A602ACB1F50AA164DE30613120CBA34412522CA9D2FF912 + +Count = 638 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = AA1AB18C21D3E145B183AC035A7E763CB1CD931A1AE6D39046425073E87B40DA + +Count = 639 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = B28A47CE0104F0E71654EBEDDA697EFA30BEE22D2E6526239EC858D413097B26 + +Count = 640 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 391DD4792319DAC8DAC3FFFF999CB2851A23B053CB9E0ACAC35D4FE90EA07A64 + +Count = 641 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = CB7B25929E3EC8B53CCC4BF2F8EB7EAD1A93C1CDB9B3C2CDC1CDF5D551921549 + +Count = 642 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 9B2C9B51E02200A1775246CBB4B6F72DD31EE6DA0DE19DC577A3849A1500B62B + +Count = 643 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 195CD07DD31610605A54FF57C21F7E366B5A89FC17D0748791C5405879615B45 + +Count = 644 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = EF4326BE67589E466CE2CF3B14CA42F8736ADBB5F1D940B35DFAFDF3395A311C + +Count = 645 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 8F03FEF406D328EE1DC5C1CA6EDA5AC4DF3F6868B9520CD4D34F11E3253E6C5E + +Count = 646 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 26116168C1924AA362737DE8B25139F7B01D8B225B421F150CD3B5DB6BB7E15D + +Count = 647 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = F03B6B6E61877F854EE16BC912D5A6B7DF8DF5898FE28B3A3DC340C67F3C9BD8 + +Count = 648 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = 55F595FAD6A8BFC1F326C7DF71C89A9DD3D19034659587A2D999E3035771FF4B + +Count = 649 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 8D79279F1A40F2E79ECD6AE18E985CBD1C10808D114EF988E2604ED820ED84CE + +Count = 650 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = D378A0B8B0B3AA67194C5D7A136C6CBFAF08A45E1E9063C31B21DBDAE89F3D99 + +Count = 651 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 8ED48F9FC128CF615F1A42138779D5A4FE906FC59392FB9BCF3742A29A129F1E + +Count = 652 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 507426FE40B6DD7265D1ABE951193704371E7E2E73927DE7AC85379A3AAC8025 + +Count = 653 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = 77E696AC7F4AE64F235154F119FDA4CB66714CA1F1BB54106011CD99C0AD2B37 + +Count = 654 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 7266D1C9D4EE47E3E7EA72CC17AAB4EFEEDF107E0C302941679EBF4C63645188 + +Count = 655 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 745E90BBF970EEFB8F910CD0B6F8B94F8BF1FE93F6B278E3FC64FBCD6357CC95 + +Count = 656 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = 97768F705BFBEBA527E9EBA7849F7BEA6EAA53CCAF38D92C193EE9F42BEF8078 + +Count = 657 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 586FBE4AE3752A293BCC887A268153AA1522D4F0B30BC4022834192AD6D23684 + +Count = 658 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = AE66D14DF46C69B9606DCA2A47CC8C4B7F8988ACF587262E2040215FC1C3075C + +Count = 659 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 25B692F266543A0F77182FE827A3FD0E982402B8CB75B150AF04F53A0124704F + +Count = 660 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = 853225366D62F4F55EBB427D1E17D1B1F06616D931234455D3BFAD05D29D2574 + +Count = 661 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = 4D4FDBEAD05EAC387B7A8BB79A7FB38221D88606289B1B89ACA256285468C7D7 + +Count = 662 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = C9970D41A4767907A18135C9AF2B2E779A4C015B55230AB8E662274EE3EE8F7D + +Count = 663 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = FFB1CB158C8E5AD46CB9B7E1A7FDAEF4D2C94EBCFCC28CDB46CF62E549FCAF7B + +Count = 664 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 16ABAA6DC5CCE473D0E5A4B7DD7E279F1B7DBF13509BD4E353CB2042704452A9 + +Count = 665 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = 9643A96C8FFF79F39473319C7209046CE63977DB828447CF6FCC3C34F64CF169 + +Count = 666 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 7AF87C649B5EA506129562F0D3759F0D232E0368419C1D1ADEC81A1FFF7B0AD5 + +Count = 667 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = B288FF32D67092BAB3ADF968F5C33E5680D6F6C187E3CD196E4CC6B77EE7E711 + +Count = 668 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 89C0B6CC8AA05E821784A95BB3D44AF5883542A29AE68AB77582BD67AB7AFC57 + +Count = 669 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 5D404A151E5BD4364FD3E147B84DDBF9E019FBD5C87101FF23B0D237847CAA09 + +Count = 670 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = 537C63F3097B28A35B2A56C45BF9C13DFE5A6316FF77DD7B143B3439F905C568 + +Count = 671 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = B3EC9321899DAD0B68BD0036509103377E6A414102CD3168758B145D8AD51BFB + +Count = 672 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = 206166C6659530326F573D0A1AD2150BE667FECB0473DE7B4C37702AC457029A + +Count = 673 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = FA05B71A3F3AD7AF3FA6710BA095D3141A28FD077681AF4B03BDABCEB5DBB88C + +Count = 674 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 452469572EA27D6407BCE44B886E260CAD9B9CD95F84EA6BCAE611BE378B5549 + +Count = 675 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 9E6A4B61316BA44CCF3DD97FC9287FCCA6A54EB767FD565F2155326EAA3BCE55 + +Count = 676 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = BF887C88F0F65B15B90B52032EA651C6EC2EB0D3B634144C7E21327F6CD83475 + +Count = 677 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = ACC48B2B6156563832BB611FFDEB49DD8F792B0C13CDD1C5B0BB7AA7BFC241EE + +Count = 678 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = 89A0179A45D4A3F6524A3CAA47258336DC42D9CFD5E824EA6A7CBC8BF8C07A6B + +Count = 679 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 2E40DC50253ABFD15BBBE4527EF69EC8BD5F7CBC6849F1D5583A502A4D00D033 + +Count = 680 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 7E6262FD07B59924A7DF432B33E69E31C0BB4BFB289494DEB084448A27E49A45 + +Count = 681 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = C4923AAE59CAF7C25E21FEB3C0B5AAFC4E520808BF1DE73A95C2894679388FEF + +Count = 682 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 1E063F02FC5021385C9A36B2DC954982DC1D68CA579F1E8C8FA88040372857C5 + +Count = 683 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = 75CD7FE3ABE521E043F4CAEC903CB538C79110C659B22B448F75FAA784E5814C + +Count = 684 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = 65729483D25DEB841A2B56EA9825A2408B9DAD450B98BBDC69776D3705BB4400 + +Count = 685 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = 4CE500D13C65D9691522A3C68627D0649D4E504C29918380FCF74E0FEF322A58 + +Count = 686 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 116AB75A5609257C2C241D5EAFE7F3400C94B102FC6B9FAEB47495055D65D4B4 + +Count = 687 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = B93983017A3EE8DABBFC747737380579710904D89649712198C7B5D6E47EDEBB + +Count = 688 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = 36E213D4661F820CF0A18F27EFB2803D4E110C69D753A1E9C4B4F6D5981EFEF5 + +Count = 689 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 2C2739EF2CFE50AD9819F0A971A1E225FF9C85B9755C20703E8ECD3E106C6D2B + +Count = 690 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = B59C9F30CB00AECF3B42F85B2A6EEE1AD5A7030D0BA39B16C17CDE5392AB3DEF + +Count = 691 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = 13A9D7B3018A158AD8CE3E134AEBC4825514A687728E4473AC9B06172AA9B44A + +Count = 692 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 9A843EA44D328F3CFFCBACED7F5914EC32BB0F4FF3D120968E65EC968BA5CFBB + +Count = 693 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 4465996CB1267FA1375DB85BBAB499BC2EF8A2F5F0022AB04E92ADE26A5BABDD + +Count = 694 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 84721907FAEA83EF2D71211CEACCA34970F7D8A14E73910F30D10DDAA0B306EC + +Count = 695 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = AB0AA3707B3B07A931F983CDBB661603BA473DEBA851D88F778B09738D6B8911 + +Count = 696 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 2F0D5F1F7CDE9058D4ED3605067D42D1712E8F76BAA09BC104DB5985C2750372 + +Count = 697 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 983A1471A8598CF12EC052072FE04EA9234BCAF2DA5F3F8C8A72A99FA2EBF03B + +Count = 698 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = FF158852CCF2EF6B0B92844CDAE18915F630D4CED8BD0443EF9218FB744D6B30 + +Count = 699 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = CFD6F0E6219B2C62E3894EEB39015E9A286B30C6840EA8D56C17784ABDA1734E + +Count = 700 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = DE3F3708047C81EDDE19FE3004607AEF569A3B7CB76B4CE89030D0EF7DECA55A + +Count = 701 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = AC5CCA410A7EFDEE9DB0065CE97460DCD0EE2BE0BCF55BF71A131C2A671AA88C + +Count = 702 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 94C8BC00B7B39237F534142CB15912F17AC62995B8CD8F7C844301ACB0C423BB + +Count = 703 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = ADDFF529FAEEA0A37B7EA5298C5D3BE7EB69B21A5A5517D8E3A5D2CD04E66AB0 + +Count = 704 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 4D04C518FE6ECCB04ADC3EC773AFC20B9CEC32087914C032F13A65FAFC7928F1 + +Count = 705 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 18741741B3A212F88CA5B2A3AB7109DE0EC104C24DD74747C0CD6C1BCA930588 + +Count = 706 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = 507E713547DD6217AC9867BC02F5E23F663BC446028EF069A336902A4D7D0B12 + +Count = 707 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = FC089EB2318BEB009D8A29BA77AB89BAE07288A605A7902D12914AD7165E7A44 + +Count = 708 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = D8974951157E7180897B239CFC06742BDDD37C1045779B26A8065A9D3BC75F23 + +Count = 709 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 7A9F3AEF6CAB0D9C68BCB584ED61157C98C8CF66D391C5A2C1F632412581CEEC + +Count = 710 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 60C9C15D9E3D152D05657C20F89632535D646A9F816E66D16E9C43C9A3644689 + +Count = 711 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 3E64CFA37EA067B44151200188FCD6A7960A299FB2E49DA669F879D0D65CDDDA + +Count = 712 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = D3EA70F753BA2F3020C40838A627D8779838EAC8D7183AADAFDD215501010BBB + +Count = 713 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = CC735D4D002A10D48A56BD512F96A191802E995290C31DBBE8724CC2764F61C2 + +Count = 714 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = 0E5645E4A6FE429F7937BD85C325C88670F9FBB485D9D33D52B0DA5B469C3677 + +Count = 715 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = EA08A12372D14D803ABF4EBF26A1ED290AC23B687B59C10E09C6BBC150172FDC + +Count = 716 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 141227D194F3A470298F5D480F53E8AE5D790E11BA6E44EFF099EC3823A90E9E + +Count = 717 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 2A92C2FF1780A70D3D30FA201CCA8551BF805678573FA72FC98880A46DE2012B + +Count = 718 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 2152C6E9CBA73994004EAD73E56DFC0AE989A54646EA7B81B2AF4BB3ABF264A4 + +Count = 719 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 1521154C11E023026CA2B6E7E621828757BD85172C294BB9B072653BF6515B51 + +Count = 720 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = C186E6430F9C789C8595D4FCD7815D95F494730A032744E188B44B86F6FB7DB9 + +Count = 721 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = E98573D39CC025B017E0C4F26AEF9B9B09F0BF95739AFD25C1DE352A0EE5497F + +Count = 722 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 97B11E916F9871B4E79176D1439847AC190ADAB522F9283D77E22C46545858F5 + +Count = 723 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = DD1CEDE9896D94CE0637A64874F42A426F7A382EACE399B897678EB0984CF83B + +Count = 724 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = D2D62F99A666411F0CBB04FFF1D805022CCE6A4E322CDB1D9FEA7777C7C66134 + +Count = 725 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = 33E4390A9C04247D26E8B5F3B9634E1E118D9A509D5E97048E9C330CD90443FF + +Count = 726 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 75E83D0C912BCB2E2D83105C2A5FB768F0778FA67A247F273E5609397E91AC24 + +Count = 727 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 03403F3D92D80091EEB01A4F21AE3DE0EB0976CF39C231F95F40995DAACBFA03 + +Count = 728 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 741793F967B598DB70343200A51891DF9E7D1F76C7A73A7F6C0BEF7107B904C7 + +Count = 729 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = A5FB5CE4CFCF8F05FAF84596F83DC02FF70F38E41B522686428DB0C99F53A3D5 + +Count = 730 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 1776E9B204746275B0C869E2D7C91256A315555339D808FE138DB1B3126E764F + +Count = 731 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 718AAFC84CDDD94C3BAAADF052DC37072E51403A755D005D87077B56BCE4E0AF + +Count = 732 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = A27A7611ADF2563C52C923402B7A11B3978D8CF2D36768946C7110444228FA73 + +Count = 733 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = D623914FE51304023168A3489C42B8355124869F56E860DF52CFD957649C701F + +Count = 734 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = 9AD4B5E32A76A1C8E0FEBF488998C9BA15FB469D68AD7EC79FD0DBF5A0D19B70 + +Count = 735 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 9C8E229925AC7D4E315E2112C4984921221FE7833F957F22149B8BB12A3D5889 + +Count = 736 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = BF6464C9E7D76BB84C8C0725050EFF482C3B4C1C35E2D956D375056A7DCB98E5 + +Count = 737 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = FFF5F1C7FE4C1848E1FE811698F7A66A6E3EAF47C5FC96303053AB7F39B7EBDA + +Count = 738 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 8BFC13C892580D2C31E6830A5E82559603981C8AEB78D95FC880E22BEBB84995 + +Count = 739 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 6C66981813247B63AACA92ACBF2A0200360305F886CA98B9E642B7050B7EC3E1 + +Count = 740 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = 601C9CD87481696839810CF67F2518121AE300D8CBC4361DE80E48A71DF37DEB + +Count = 741 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 9A674C2C40C14246CE93A26FAB22B8ABFD5D6AFD5A00A822198860C593448597 + +Count = 742 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = 90E782078E3285D372B8354D4986F57B682FA6A1D2843D0A82FE0AE859E17D3F + +Count = 743 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = D3A08E940F9FBB3F7F8BF122B526369C991A71877CD9C8563943E6E3AFD74FF9 + +Count = 744 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 92791452145329EE1C9154739BFD64FC8EE743033D099A3120FC8F37717E8D0A + +Count = 745 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = BA32DE81F38D5A24C76E2B4A4985FA603BA6AFB9B72978D42CC59E8199528C1B + +Count = 746 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = A324E52035D91617A1E267862D710FC42705DB7820356CE9E3CBBB827099596F + +Count = 747 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = 9FF153742CCD0A54E37378832CEB2AB30155E13FB02544DEDBF7F17435EAB9DC + +Count = 748 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = CDA2457B4B6825A00696DE340299555BA29539203B86215304555B75C2278AB5 + +Count = 749 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 8F2E6B4973FA3C5914C3B69C2E3B94D3A72F25617FDD49865E5BC3E696FFE81B + +Count = 750 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 0CA77D113CD49A58A74BDBE77961E7FB4D67768E65E027981EB64B429DBC3320 + +Count = 751 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 6DC50689F45078F4818EE64DC25094338ABA35FD5C99FEB770F785E059441D68 + +Count = 752 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 1BC097DB171CB3A4108BA174D4A5225DEE2B15333197A7EC9F672161554C33E7 + +Count = 753 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 5C7C032D6C56DD6E992A7213275EC54D627746DDAA8B45D73B980378D2FF627D + +Count = 754 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 578CA4EE39E4BFAE120AF7A79D25307AE64F7AC9EBE5510A9E01711BDE802702 + +Count = 755 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 1A47EADD537F84300C0740F7F3AEC3B2F16CAA056344B97BDBA0DF07C0366D2E + +Count = 756 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 69A246096BA4B906138F277066D867D2C9579DD5851036D19E0AF07C24B5A5EA + +Count = 757 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = B3FED51A0A0D13C8FC87FEEC1AC863A596D8F2AAFAF2E882BE4ED686E125E532 + +Count = 758 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 6A2D69B2DB888D676B936641B300EAB0CFF03C07E8447B7F6CA0A0C3124CACC9 + +Count = 759 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 7ED14A5B5A4656DE611240652A552D6F281226E1DAA9E6BB704D1AA7F4D57016 + +Count = 760 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 53C86E8FE5B1E9ECEF4F5E3309DADB319C295CE70436241B7100DBC31F37EC25 + +Count = 761 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = 77E038B1478824456D7BB0DBDFA6FE1F338A4F1C6BB3D6F42FFF6F99259DB77A + +Count = 762 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 7A17929017990E2F4A4ED77A2B0133E46106572BD0ACF06848293DF532595857 + +Count = 763 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 057A5D7B7620F7E46A2377F2B69188C750B3105240E1126F165AC05D3F96C461 + +Count = 764 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = 08F79EF013D8132EC492C637B5E8F46A5F7F810CC54688673F13999097E67CB0 + +Count = 765 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = BAF0ADD9D4D0847F5BFF0646A5D8CFDE2ABBBCF97B18A6F74BEEC928479C2B09 + +Count = 766 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 181A6C556A7AC4397AF42B968DD1FA1CAB21312C48BFD9A68F79F30CA0BFD030 + +Count = 767 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 05DF3564D56E7CEA9B919080409B5674548797FE6A9125D9BF82902012C9ADC4 + +Count = 768 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = D4D9B0B0E43B626644EFE22CD1AB5FEF8CC94EF8017ABCCF8433EBF746DD19D3 + +Count = 769 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 15C169E07AD076DF9A2C4E9945824A5C3352532219DD38AA95C8759765715790 + +Count = 770 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00 +MD = E4B6B3886D69532FC3EF545480CC0FC38E152C9339F62FAA373650DCE2F030DF + +Count = 771 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001 +MD = A3B79F87AEF2CE3A010F993BAB7E2D5954E6DA625DB2D140604B8C93C129059C + +Count = 772 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102 +MD = 421A2B3DF23CE11CD484A64D38DBBD23D027434473587A8DAB47F94BE40DE360 + +Count = 773 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203 +MD = B2A7543993AB24074854AEAB96CEC1427CFBE9E09278B627089FEEC7EB4AC34A + +Count = 774 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304 +MD = 560CAAFB48A618E898716D1A8D44598BCC8BB57F969FD1A471194AB24EA1692E + +Count = 775 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405 +MD = A744E4B27CE9310E5A9484B000B8FCFF05A2ABF2C3457D228979249CC6A60AD0 + +Count = 776 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506 +MD = 6A27B80401CBC65531DC82ABFB3D2638464FC481F810FAC69ABE6E07470BB3D7 + +Count = 777 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF0001020304050607 +MD = 6863D6C23F2C9DE650852838814DF4D96A8655B58A83D85D85F1163FE53FC003 + +Count = 778 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708 +MD = 323D64BE01136F8594EC9A2FF53EF9340ADD1BC794F0A00A8424B441D4AE07E5 + +Count = 779 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF00010203040506070809 +MD = 1FA16412389CFAFF182C31B3834DB52D290FB45DE78E33365C08CD303E72EA0E + +Count = 780 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A +MD = 960050086021F6F1B7F7C8740018D6FF2D4B78B05CE487866BE0FA57F72156A5 + +Count = 781 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B +MD = 71F2D2E3ACAE2A9F0A0E8A119D8B561CA5D67E8E2D0B588A3AB3C6033BB348AA + +Count = 782 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C +MD = 4D4F6330F922A6630167A90A207E77E18857BAEF954EAD8A921FC1D885454EC9 + +Count = 783 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D +MD = 82D03FAAF171BE1F11BF887E3684F83BC581A5C964AF28B9C6DAB91F50A4B671 + +Count = 784 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E +MD = 5769EA0F0AF125203C1A443EB7B2CF5BFB53A6BC3C92DC5549F7DBEB4BBFC506 + +Count = 785 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F +MD = 7E7DFD7ABF2504CE0DDD785BE0C38F6FA1FAE136643DB43315067A27C70FFA86 + +Count = 786 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10 +MD = 4F82455A2D7FD60D33C628346D96E6AC5D55D09D8B50FD05D328CA8C5FC576D0 + +Count = 787 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011 +MD = FDBE4E9B12746F59FBC4DFDA318F48501F0452334124076917FE004E75210AE8 + +Count = 788 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112 +MD = 752AD1DA125C1FE175728C0D19C9D7AB7E64A45AF08249A2423DA6DD6DB75D0E + +Count = 789 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213 +MD = 720655520A2E90A9FC319C7CA9D4C986D7854028E718D17ADE48116EA67F1E8F + +Count = 790 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314 +MD = 93AD6F10851F70E586E18AA98D7352239179FEE8D2249CF2853D2B76F6900CD5 + +Count = 791 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415 +MD = 29CFB47A4941C543FADEB7E7A1994A5CE6E18F025B9BD9217523093D8280D094 + +Count = 792 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516 +MD = FFA892D47EEFE874784A7FFCF1DA0AA132AB567A91AD83F41F1B821DBC738C4D + +Count = 793 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617 +MD = BCED272FBC7AD9E38E16066D0B699ACFE07B43C967ED6C87AEE771CA8F343F0A + +Count = 794 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718 +MD = DED4BF89C7ED84FE5C356F2BB2E83FF1DE406D66758C50776E961B65A6E95B44 + +Count = 795 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F10111213141516171819 +MD = 19F2301D9000C51C50050D12E5FE8C3601BA0BF3C11E7AC2E1C802DE2F4B5D49 + +Count = 796 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A +MD = 7DEFC9106B38599404DA04805E6AF5410A7213D6039D44A49BC41F2A7C29F4AA + +Count = 797 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B +MD = F083248D025A1271E9900CDEC3F3FC221732C163F6E26810F45DF4D76AF47F2A + +Count = 798 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C +MD = FFE2590DCCEB4D5CDB093D486C21FAC7876EBBE27A68E498D8BD51AEEE1AA789 + +Count = 799 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D +MD = 1206B014A95EE48BE46280D362540920F8E53179D74C1E95DE14A16FEAC22190 + +Count = 800 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E +MD = A675721D9E45864CC5C4C1D001805BEC250399F14AC87975601DECDE20497E34 + +Count = 801 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F +MD = 4C6CB3DCE5FA99D469737B99509BBFB04A52B6B5E4FD14DDD06C4DA68AB71E14 + +Count = 802 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20 +MD = 10C56F59497C1BD805189F7B9700912488C23EF7C5C4ACF5A81EBD217F1DAB09 + +Count = 803 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021 +MD = 990405B99B6AC84588A3BF51E3652455788C9174464B997A7A4AF5F720B28AA0 + +Count = 804 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122 +MD = A488CF91E3590C4327A1B1F0D720A17AC590432389520FC6C15F934A44B04923 + +Count = 805 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223 +MD = 9876159E7D02FE38F05B3A2237F3A4BF59F4450491F69A1054E0CA37C4111B58 + +Count = 806 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324 +MD = C62C662D1AFE36E8548656C099EE57D47031081D0FA4B64B800155071A906921 + +Count = 807 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425 +MD = 6968D0CE809AC36215BFB5675EF9099AE6B2DD0129ADC90ECEE0681F03FBF4B7 + +Count = 808 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526 +MD = 73FBC51232D8B39CA542CFC2C0B3CBF97BD87F9D7151D65C8612DFF36D8B610D + +Count = 809 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +MD = 012C2F309FB6AFEA23FB0E107607323222B2DCC308382104EC087248ED4E4092 + +Count = 810 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728 +MD = 9D2EF45E642988F5BB70BCD9B572CE358171AFE6CB596149AEAD11F09E6FC949 + +Count = 811 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20212223242526272829 +MD = C9FF4E19F7F0652A5B2C55C8FF8E38343B8B2D8025A6C39B76D133C5DB4CE28D + +Count = 812 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A +MD = 62961FAA84E3DCC7AFCE611137F1B48323EAEB1AB20FA60B4A609D6016DE686C + +Count = 813 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B +MD = 490B358D02F983B5422A584AB9E85DE930B3421C6A7D44E07E8F88F787A13DB7 + +Count = 814 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C +MD = 8CBED90D82D762BE28B6776D922CF661A50F777DD1A115CBA330F11C662869DA + +Count = 815 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D +MD = 8C5C6F18D174EB205A2901E7CDB8A539A90D8D38E651E84413D43661A1688643 + +Count = 816 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E +MD = 00A724636D3A5B690A4A2710B87FE8ECBE7A89B3338458B6781E7488EBBDE9B2 + +Count = 817 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F +MD = 0367E53BA3E2D9D588562BF3735DAC6E33E3C453A5CF004B5D7945813B6FFE4D + +Count = 818 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30 +MD = 1D1C59D75B56B2D9C935176A1777DA6F5D6408146BACCCC3FE405A780ABA870F + +Count = 819 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031 +MD = C50377083EDE9AF6FA796389D4A3C6B499CC95B48C3FC128AA0630638CEC69D8 + +Count = 820 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132 +MD = A8CDEAEEADA62B2DD5ABCB6DA5903A91B47944898B3729DC0551EDADD127E5BF + +Count = 821 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233 +MD = 6C2FD8A843952C0757A7F1A9A648D7DC6C52C83BFECEAC476DBA26F09B5F5F26 + +Count = 822 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334 +MD = 9BB0B162F23BB31A96D32EF2C6F96881FCC88D0242892EC1D91237156F9B6E02 + +Count = 823 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435 +MD = 6683C564CE27F7183F60FA50B8CAFADE3492147152A4328783A54B13BE01811D + +Count = 824 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536 +MD = 0F9783278411E592835774947CDD1D34E323B280CB7EBBC38C1A666363B718B0 + +Count = 825 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323334353637 +MD = C6D55A6A0EDA0CEEB071D681426EC05BCAA72952ED66B9B78394A16296D2DDDE + +Count = 826 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738 +MD = 5FCFFC156535E661C641C928790FBEBB9533C74A642C99E19B0E44077536502D + +Count = 827 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536373839 +MD = 8712740E37B7681F3574FF452B4F823A4EE4B73FD3295870DC76571723D9412D + +Count = 828 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A +MD = D2661DE4F4FDE0499E97381FCD9BF801A87047C580CF6D97F58A9710D264035F + +Count = 829 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B +MD = B97923FB4C18B2A85CC3B4B8A0F5CF0B27D11DC0C064E9A828ECA745E45FC99D + +Count = 830 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C +MD = 65506C53854E4A8940DD973BF1EDD187F36B10B770FD972474473CF2291C5E00 + +Count = 831 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D +MD = CF6740A1E7736ED7A40F4F598377B49AF393C5F258F5641B0D5284F9DFBCD7EF + +Count = 832 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E +MD = E2902242F5C56B358733A16359D0C50904EA1AA946A41EC605D96CDBB80D0611 + +Count = 833 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F +MD = 60827ECEED2C71F8A42B63A93710C222C44C28567DDB1FF994112014AA786771 + +Count = 834 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40 +MD = BC0E738D21824F47EA7FAB86D396B5BC9C0ACD0EC02708EFC94D1309777D7943 + +Count = 835 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041 +MD = 4F31C3A6B76BE8AEFF17C4E33F088784A1F20931BDC9A3F4C64589522EF34FF7 + +Count = 836 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142 +MD = 627762A5378DAD69A5B27660F14A84BDFC1B781D019F3A25F956B930CE3C80F1 + +Count = 837 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243 +MD = C5955E837DAF73A4329CB0330F174DFA968750420C3DE261EACD45F2BF4933DB + +Count = 838 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344 +MD = 3A692FA8EE5A54188684667813E36D26404469BFA83E5C663C1718617E90390C + +Count = 839 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445 +MD = C42AFEF24D428C1254376DD56E7CC0FC0802E87C4E7A66A6B484AF70F4C6495A + +Count = 840 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546 +MD = F1B55F58C57DFE1A573BB799399579DAD3B32013FCB6A7EEB8806267A5ECDEFA + +Count = 841 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F4041424344454647 +MD = B39A84142EE4EAEEFC4F07C3B3576EEC60A1C56D4BD4C6BDFF442C96CF71B696 + +Count = 842 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748 +MD = 50F9BD3DF350F9785A7DC3C462EF06461B84C0456E18D9517E9709BD8C7ADC3B + +Count = 843 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444546474849 +MD = E89B33D52A8C78A126CE634653A1AA9F5A685DC5E39418FC16A0CA7719B56556 + +Count = 844 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A +MD = 28B65456021FC95B07F2C2CB3B8E2FACDB5FDE5828A4FC0F000981737DC754B4 + +Count = 845 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B +MD = D2C7055E23976644965C46C104D3F0AC2DD891AEA2E430F24684BD63E3DC89BE + +Count = 846 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C +MD = 1B06A9EEF1ED4BB348EE9BB0440D09E54BD1CCD2CED3ECC7FE734732B8D40527 + +Count = 847 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D +MD = 226C0590B144F80C70F1E820CA48920DB01FE34F938AE5081DE600B32EFF430D + +Count = 848 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E +MD = 4BD91553CFF6ACF341ADDCE631EE242FAF4ABF9C744529781102614263507402 + +Count = 849 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +MD = 0434F3AFC6C6FE5D384351C6C5E52E6B9564A153691A7C5C06B47C1540EA14A2 + +Count = 850 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50 +MD = 5B013E1E24F509E16D6B11196179A56B18417D5A93E202F44BE5B60945C0BB7B + +Count = 851 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +MD = 2B9A20F1C29E41DAB02DBEF1BA709ADEF24D4B7C3B038AD4A6D56CC8478ADD15 + +Count = 852 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152 +MD = C362FC53912506765A7DB5D8250B82267DDEC44C0EB3ECAB1F19569A7498B1E5 + +Count = 853 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253 +MD = DC71507F11504505D91F47E3363205E99C628CDDAE4104D766C0CD23DF1D069B + +Count = 854 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354 +MD = F7400383C0D5C466CAC1A513FA6B7BD4560759C2A0980341325CA440FDD64628 + +Count = 855 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455 +MD = 0BD29FB9E7E2F69AB64D86E6E904CB3C5B180A5BFE29BC9692020D668F0D4A14 + +Count = 856 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 +MD = 78CC179479945A205D30539CD82A0D747DECFEEBB16516F719D03476DB395926 + +Count = 857 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525354555657 +MD = 31A64EB9CBC919B69D1D230BEB5DA777040938292510599BA8B22E9A8C60EAB7 + +Count = 858 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758 +MD = 00BC071A5273351D8038CF3EB298CBEAAC629BCA28FCCC23E311E07E386CD4E2 + +Count = 859 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556575859 +MD = 0F07050A1088E7ADD65268DF86D0D6C7608C71E73ED6A6B5A727ECD307E5EB44 + +Count = 860 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A +MD = D527DA1AF0251A7ABEF5BBD5F1D33B4368DAC3164A275A2FDA1340E0B3BDD9AB + +Count = 861 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B +MD = AFE3941AC2AB23272F7DE83749AF7E2F0E59594CF9ACF86EF6A009F4073B3115 + +Count = 862 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C +MD = C43AA266A56A8CD191BAA04464931C51C3C1BA3EA69AC0348AFAF090723C3FA1 + +Count = 863 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D +MD = AAA38357C5BDD6B0F268F8DC72B61BEDFF17947B1FAB222DBAAA9499EDB7E2FB + +Count = 864 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E +MD = 5215A165E91A8F2D0560A2B473A6CA5FB82474ADBB7E6E7F357513B1EC72C78F + +Count = 865 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F +MD = 8B619F5FC32AF6E7400324A4912A45B04C0139C2F89593D4909CF147D531FF65 + +Count = 866 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60 +MD = C7D93856FDC28FFF3CE8BE3DB71E565F892E31D5DCB35C8CF2D9824335FAB6EF + +Count = 867 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061 +MD = 97DBAD74E5280B0AEDA87E33D3910750122AE150CFD0566B400A3FDDE2860EE4 + +Count = 868 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162 +MD = 9C2D429B5496676DAB84DB4C2A43BCA905E333C3BB73D2F57658F10E9715FF20 + +Count = 869 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263 +MD = 37EDBA375502F584B398623DF094EE5A8100D7BF335DBB8DCCD94BA042A96B7C + +Count = 870 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364 +MD = 1E6B6A604A1D790C55B2060C05B91D568A7F5E5B9760C0FD7CD9304E12E0235A + +Count = 871 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465 +MD = 34FF638995EA81AF35FC0684861DB3951DD8D03A426C4392B1C6BD8BF1129482 + +Count = 872 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566 +MD = 5468E1284A356A493E888F50E23ACF5D5405244642293834D8844504879911CD + +Count = 873 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364656667 +MD = FD087DFC93EAD66DA2B7A9EB2875B19D64488886538F5CE5B47CFAB154FAA501 + +Count = 874 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768 +MD = 885296954D439523472AD0DE52F3EAA9E4B6F46372504C44FA452B765804F275 + +Count = 875 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60616263646566676869 +MD = BEF8D412B291E3F05D9A69A8D5B03B9A29EE9DE1AE14B66F609021641748B51A + +Count = 876 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A +MD = AA3A65BFB4F27F6942771239F8510F245B17FFEB62AED6F0769B3ACF1EF5B808 + +Count = 877 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B +MD = B86834DDF2C88A6D8C89957113AF514B7F4931C0F8DF667DCED132599D875F6C + +Count = 878 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C +MD = 347157C9D1F3F34E1ED793CC9AC0104436053350CE87EA53642BFE089FCA4BFC + +Count = 879 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D +MD = 86FCF254B225E2F335BA29447263A0784C6C0F057099E0BA0FBB30705A509B13 + +Count = 880 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +MD = 478D2DDB243D458BC243B72DAB5940554AB6DF4A4BD43C46591D26170EB016AC + +Count = 881 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F +MD = F69304B647639C04D5087B485E15892FACF66297765AEB00ED26084F6E89B7D3 + +Count = 882 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70 +MD = 9887A2B4250C432EC68D02F1407406A03EE8ACF876D6370C2EE3FC7E3CE1C364 + +Count = 883 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071 +MD = FD473EFA89D2E5C018D5E0F1C06A8A13288B6DA82CCCD5567ABE09F61943A51B + +Count = 884 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172 +MD = 5A7F545966D26CC762F0B6A9F91A2545D75BE3389AF02136CBB2631F0C42913B + +Count = 885 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 +MD = 1B0FC83FD5AD6DB83CFEA407516CE6E8F82DC105D436CD453D2552A73E4B5F78 + +Count = 886 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374 +MD = 32C9568CE86AEC14F1555254383111C952886ED70650F9508C8D2358796C4339 + +Count = 887 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475 +MD = 6105259F9FCFCC42961761E808E9952370CEB02C919A7134A0C006517F3C8D7A + +Count = 888 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576 +MD = 8FDF4F57DBCE047678587C1A7661569A1A6A31A0BA22C6679DC39C0554CBC72F + +Count = 889 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +MD = D5D68B5A0A404B0081647829A7F3F7272C514F739C4C6B54EC3F2CE18FC50231 + +Count = 890 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778 +MD = 76F735A3F5847EA01371FA36B33353566F782034BC3B1B8FDD228119998119FF + +Count = 891 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +MD = DB5D0E5DA3B64482D24A33631471A0A314D4FA35DDE982B9F55899D49D106381 + +Count = 892 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A +MD = 52C279638B67A58AA28C7B7F0B486ACC1D747503DE7D12B5D8830A86CD868390 + +Count = 893 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B +MD = 17583316B338FD3E819945423C18B45F1C7DF83A13F62DE4A461000A8AA6C36B + +Count = 894 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C +MD = 14E6A634095BC0B7A2C53CEBD73756747EBA4F5D9C3C027CD779BC5B902C3BD1 + +Count = 895 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D +MD = C0F0B11DB2A469220FA7DC3D5865F11E1F1BDFA4B4974D3FE1BE55D26489D922 + +Count = 896 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E +MD = 72FA5D58B9D2EDF35902F89456C78C1A8F2740F232FECE72E3F09FD4BCF2474A + +Count = 897 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F +MD = CB4E2EF54D070C9C27CB60E6240A788526EAB0B049732E99987B7638B4B44F03 + +Count = 898 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80 +MD = 63180518352A30B713BF1BFDE64728D395E2EB571A2A1942A331FE180ADA0E02 + +Count = 899 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081 +MD = 2DB009D05ED8214C3132C1C8C0BCC4DAF2BFB79AECEC3631376E10887DBEC58E + +Count = 900 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182 +MD = 01DC168436AC88B6DB3A3AA5FECA97ADC1371D4DC1CE37C76CBC38CA742CA667 + +Count = 901 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283 +MD = 34D43A8BA78894788510E2D7F19BC0A55816E812F4DCC231950958CDD413ADD6 + +Count = 902 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +MD = 7A77D8085A6B9A9D27E4903C68EFB3780476585D648A23E98CBC88F4B39E6DBC + +Count = 903 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485 +MD = 7E3C2AF75B7728D0D6A9E4068D5EF99A882C2B11B2268340D1E3CF874F923922 + +Count = 904 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586 +MD = B0D2F89F5F6879F5220A543572445B369A1AD100137F83E6DC6B4A058B5FEAB9 + +Count = 905 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384858687 +MD = 8000DB42FA4825EF72857F0424088274FD42227B18CC958E0A0EE33AA88C9759 + +Count = 906 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788 +MD = 7E3A8E734222134E0DD910D105D8CE48F8054B189B12D52705DFEBA2FEB4DD5B + +Count = 907 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80818283848586878889 +MD = 9C3535740694061DED7D3C9287D10223D601E3843CEAB552038A5E364EF9B7CF + +Count = 908 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A +MD = 99CF714BC7E5FE63937C38E4160D1902B8C4D21C55F554104CFAC64BF77FF96D + +Count = 909 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B +MD = EF7F9FF698358EA82C76FF60450884663F85DA12DC6AFC386D3D6E0F911AD62E + +Count = 910 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +MD = 5556D94F742B573DA82D991FC5CD90749077B0B7D8ABD526A12C3A8FEB782FE7 + +Count = 911 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D +MD = 9CF613C4A73188B00FD0EBA7F6E4BF2C2850806C74716C2066A1A8BEC56CCAEC + +Count = 912 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E +MD = BEFBFF7F7CB92151EAA8ED3261687D926C4BE8782DBB0C22903B95359F5B977D + +Count = 913 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F +MD = 7DC2C1794BEA4740A29A744509E65DC24F534D7FB4E0BFAC5473D67CDC987FAB + +Count = 914 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90 +MD = A8104F06ABE9AA751C1B9A5FAE8495F16FFEE7DCDDC5A9158F3CD62F01E4E08D + +Count = 915 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091 +MD = 1086DBA0BE840A7AFB9BDE6267C02D4FCB0E0519912E335EE195D7843B5AF5D5 + +Count = 916 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192 +MD = AC54CCD839FC6ABAE695C127C42FCE5D35F43A5B77DC07C06D52FFD4D7E9C2C2 + +Count = 917 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293 +MD = E91808CF9860D71BB313BACFDC7ED99415243C1DACCE59DCF7B18D17D11892B9 + +Count = 918 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394 +MD = 9CD879251338506C09F900037D2FF2637AA3AC0376A1FA323D39FF2C902571A6 + +Count = 919 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +MD = 4D6161622B0941116E434FA0D5ACDFA55E523943C06A2B940F0649875D684A7B + +Count = 920 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596 +MD = 043F40A4EEAAD456C02EE2C037372B33D810D4ABFCA511CBD9F287E60FFA82F2 + +Count = 921 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F9091929394959697 +MD = C25E543DACC62E8D49649ABE0CE5C34A1FA2B24491CD467889B01DE1E791754F + +Count = 922 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798 +MD = 5EE89F660C9A99A4304395AF319189C2609524A1083D289B71E9DF085E8E5D51 + +Count = 923 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596979899 +MD = 7552854D434C86387738ACDD469510E989020DEE386C06F8171E93B309905419 + +Count = 924 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A +MD = 1DA2E7BC7B50F24E700C5F2D8F262AECA2B6DAEFBE98F7B2331DCCD72648F6AD + +Count = 925 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B +MD = 3C2CC80172B686D545EEF58AF978524C7AC42CA10B857BABB7E9FC24C9A84B01 + +Count = 926 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C +MD = B07510110DEB8733247445D07B7015F79029AEA744318982024E3F2FD6D1E21E + +Count = 927 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D +MD = 9176F271B12536CB6DB5708EDD16D029536B351C0EF2190102A18A669E85D0FE + +Count = 928 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E +MD = EEB15A903D86FFCAD2F13E26DB68A5946A2AE87926F30739729E14358FD09D2D + +Count = 929 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +MD = CD4A4AD4AA539F19F84CF24BEF97760C3233D0C410EBDE73987ECC80638F336F + +Count = 930 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0 +MD = 752F474394EF9DA483FAB8B5448CE8375DFD5FAE99869653D4D0B4AD1752C054 + +Count = 931 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1 +MD = 2F9B2363DB1AC31BF4780BF9AA804AD46741BA4F276BB77D21D85A024CDAC84F + +Count = 932 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2 +MD = A7C26E9E2EE8DBDB919061516E93111792BD95C6D38220A0F065919C08F3B389 + +Count = 933 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3 +MD = 83BC28A53AF8DE1C0C33B77E713AA33615D3C7A2974FB9871108B2D100C76987 + +Count = 934 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4 +MD = A19A78A9246A6E8D70576E537B1489658157FD2DFB11C922D966CFB4F23F1ADD + +Count = 935 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5 +MD = 8D03FDC0856B5EB52EC094230F4688EDBEC7D28BDF5AE5F3092C59DD74B14472 + +Count = 936 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 +MD = 435F0828669B57DBCF34B9A75EDDB298AB063B6197545B4B4B046D03614843AE + +Count = 937 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7 +MD = 5851FB6164AD8D94324E3A427F1DCE8ADCCC84C095DBE9D62B353C8D51650260 + +Count = 938 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +MD = 7ACFD58678A704473C7CC4F927C7B744A228DDFF21B33C84DAF3C1134B231A27 + +Count = 939 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9 +MD = C7B7CD4A6D73F6FAA59F4F7623469C20CFDCEFE9D572717806087359C74D0F51 + +Count = 940 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AA +MD = B5F348FFA0CE25C43626575EC9371674295128F0FFAFA594A6D77A90D66B449E + +Count = 941 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB +MD = B39C8D4B83A595A57456DAB5775EF5157C7F01346A2D7B70159B979ECC94AA0F + +Count = 942 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +MD = 698A761577B6B47FB1EFC530EE68D85002D924B106E7D36A8731B691260E0C50 + +Count = 943 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD +MD = 52F627ED61A2D91C22D4A5CD125996AE4FB247C4493A68661F94CEA4E3AEEB0F + +Count = 944 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +MD = DC6733E9F85C438E63E7AC54A8A2FD049474814833B54845CA3F091BF5434DF3 + +Count = 945 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAF +MD = 8309233C6A1BC0A20A0CF972D790779B7891584D1589E217401716A03BE6D510 + +Count = 946 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0 +MD = F8E07A691F767543AF35149C8C404E19B33C32542B9EF6585E7009445D74F0AF + +Count = 947 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1 +MD = B5ECD121F0FB8CB091FB4651750D84F35B6426AA44F52B9FCC6A944A3D192604 + +Count = 948 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2 +MD = 5C7A856C156D7980DCA80803580BDD1078434D3A98C638F0DF1F705F2E7B9DF7 + +Count = 949 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3 +MD = 5A5D9DB9BC01395F369F37FBA5D85DA939090E7987E7DAB5EC2E3DE6BCBB656F + +Count = 950 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4 +MD = 0CA65781EAA7481CA64FEBD0768F68A184F7B114F433C2921B25AF5223C045E2 + +Count = 951 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5 +MD = 3AA25275508AE32E47C90CF77BB3C50777FF7CA023971C4B76CCCD19D29332B9 + +Count = 952 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6 +MD = 2528403050B764A8B7BF1E11B9EB847925E659B6CC6B673A10E1A381F3623267 + +Count = 953 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7 +MD = 87BB6D4D68DF62160BA54A01AD95321E211A4EB742F3D08347B36D21C4892009 + +Count = 954 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8 +MD = EC11DF77B3040099A8229498271BD51A3E55BE8A02457ED97A2D6695AA4B13FF + +Count = 955 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9 +MD = 356D241CB4A34BEB0C1959882A9E443C16F49932DD6F18DD206D02EC87134208 + +Count = 956 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BA +MD = D5B8204719351A11780831AD3156A82F23897A9879EA19B97F395945B54BB1D3 + +Count = 957 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABB +MD = 558046E5A9F0C3FBDE318FF58535E962C90C584998F1C33335C4BE2A9444DF0D + +Count = 958 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC +MD = 3BE754BE8959B6732346E54416C5A08DAF38B8133A58C8D213D705849BD922D1 + +Count = 959 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBD +MD = 154900D0D6535FDD6E6A6CB2A438092ED15910AFC0B75FCE36128542B0FBD371 + +Count = 960 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBE +MD = 04498DD3C4138DBD1DA3A336A3D9EB7B7D133983CCF2751BBC1A11FAC144D1A5 + +Count = 961 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF +MD = 0AA4C9A7EEEC9DC476A91309E5BB70ABBC23AD5A556236DEE981DA56E6489F10 + +Count = 962 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 +MD = EDB5F2A7A1977F27081A9CD563CFD01D8FF9EFD3326ECD3B1200A63DBEF710A3 + +Count = 963 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1 +MD = 89228F83D83F646394FA0B645F241063112B9320A60A535A2F7EA23E14FDCA49 + +Count = 964 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2 +MD = 97D8E869527D09C1EEBEBAB3A8133049C6E60F9251F3AA5743EF53BBE73793FF + +Count = 965 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3 +MD = 3E162F5EEF11801F3568F2FE789EF5C7A5C0BEAAA63A8CF2595E2482D16F1568 + +Count = 966 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4 +MD = 770AE533DBEF164B1DABD17466624488458473F91933FB232E5B6E60FF852672 + +Count = 967 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5 +MD = 10DD2F0C58BE8A47767E77F33D2E916C9B7EDE6F6697BF34BA5E7E3C4E43C647 + +Count = 968 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6 +MD = E966D918CE73AB3AFF8FC59643B329BCCF9FBF7EE881E09148FB47D64AB785D6 + +Count = 969 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +MD = 1AC9BC3CA3DE8C1B2451806FF757A768EF19AF2F3C51F4FB03D8D5AE49CBAA8E + +Count = 970 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8 +MD = C6A892D982B5C0BF410B14B7F51F775E5407A0C8C8AC49A6B373EE81FDFBC897 + +Count = 971 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9 +MD = 59B3B2F80D1D9A96CBC9C8D72255CE6FF4CF75CDF28CF4990C40EA0E51AAF6DA + +Count = 972 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CA +MD = 46B41F07A2FCB63579A00EB3DEA6F72129E06F31E0A126FCF4B1BAEC1867BB06 + +Count = 973 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB +MD = 8A157D730296427670AF84527644D102713D69A4BC15FE6D9613B4ED951C5FA0 + +Count = 974 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCC +MD = 503E1EEFF31440A4BCFD0FDB852E2F54282656A65C0DA85AC5234A3D77762E70 + +Count = 975 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCD +MD = 6D1BF0E00B0EAEF5631CE5F76A43C344DB538DCAEF8A6F823098F2E947E4A40B + +Count = 976 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE +MD = 11E286538B65AB4D8577114354D6FDB7B5172231D3C7D5A7010E52CAE698744A + +Count = 977 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF +MD = DB44BEE6F15E5D46E78134AB0CE52A03AB064E2BFF5AA43A7EAB4EDC22EB88A8 + +Count = 978 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0 +MD = 60DD6FE1E8FF1DD477F9D8C889EF48BDFAFC7978E4DFF3B174EA40F84EFDB8EB + +Count = 979 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +MD = 8BDB0DD6990D55139F0262D94862130FF812746FBEABC46A23C5F48A0DA962AF + +Count = 980 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2 +MD = 7F339FD3C265D3771D753034F90CC72FF2165F286F5447D65335703131F185E3 + +Count = 981 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3 +MD = AE23BAF434B5DC00B9C52D77E7B51904CC6761C1D1D419B30F463F3D77912A36 + +Count = 982 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4 +MD = 8F1441171538D8B550F7FBC237673D314DA2CEF48DD2CD1C1792687E60023A4E + +Count = 983 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5 +MD = 221185DABB2272720D7904CFCA7D4A7522160773D54E60B54A8220D987AFDA6D + +Count = 984 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6 +MD = 69CA1D99A5568AE9A9D461712B77351B8E91AF9F915620DAFC63ED72C01978DC + +Count = 985 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7 +MD = 1ED8914AD4F97E3E15DF5DA634ED73C7EFD7D6FEBDF32CBA20B9F13E8C2BDE4A + +Count = 986 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8 +MD = 9034D64FC15FFC90A80C04010CC7CB315AC716F9CF16F58C88EF61F95879145E + +Count = 987 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9 +MD = 3E5DE79E97E2CD05CF34535D4AD0449E89BF1AAD7D482ECBBDDA485D738181C1 + +Count = 988 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DA +MD = DB31DC176EA82C2F69D5C1DBACCFA5FBAFBAED98740D0701141C2038D753195F + +Count = 989 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADB +MD = E2B393867DCAC6165E1CD543E031256C188A36317595A92110CD45A54E104FE8 + +Count = 990 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC +MD = E2949F9269CDE4F6A5FFE347437C16922AA22E822FB46271CA8354DCF5E999F5 + +Count = 991 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD +MD = 4745E8BD408B84B50192FC99012C6325ABDB2244820E3DE3D8EDF5EFEFA9C417 + +Count = 992 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDE +MD = 4C33A90B8E2392ABB016F6D57492909534D74F689E3A87F9CA445E045BB25A36 + +Count = 993 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF +MD = E9FE15C822C5138B916548C22CEE1C200865830E91D5D75765AFB3C6BA074DC3 + +Count = 994 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0 +MD = 27A184DBB631D309897F7FDD69190593D6DE110BD77C3BB11BCA932287DA7BF2 + +Count = 995 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1 +MD = 3B205D535D2F39EA8FCA11DD2ADA9307114DC34E528108C41F045086AEA8012B + +Count = 996 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2 +MD = FB6A278837824F95AAEFE1D6B0FD33B95C513FA41239EA2E315E9E9AB6B43295 + +Count = 997 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +MD = 039C0937AE0F915C4D4140E720DF9B78620205A7999906E2C3B002D16813390A + +Count = 998 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4 +MD = E7CA578F50D7993583A70B1413E1748B470628C4ED17BCDF3D39BD55AFB86F39 + +Count = 999 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5 +MD = 9655F91418E45CD91A5B17D3A695A053D773BC7876CB7BE088A756B30178A15F + +Count = 1000 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6 +MD = 313530CCA8639DD30A3A12C910A25996F862FCB8E7EF842A0759E4E45BB065F3 + +Count = 1001 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7 +MD = AB608819ADE533F1C34AEA92CCE5F326E8F90806FB8F7A229FA8C5C2F77ADE75 + +Count = 1002 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8 +MD = CEB09B840099A4C9922B5F6F491AA5A4A8069D21817996B5E985834E8A0CA4DD + +Count = 1003 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9 +MD = B750CDA213EFF56E05DDE7F0A21842F2399DEF65CE21942A9A4DE752189C2CF2 + +Count = 1004 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EA +MD = 7A294C70F769C51CDB22E5FCD5601CD7F4888CEF3C349D4FD07785021BCC00C7 + +Count = 1005 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB +MD = 57811F43B5905AE6013BF1687BE2F9E24AED8427076372C6CC794036A5710764 + +Count = 1006 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBEC +MD = 527ECBC475039A8B3EB54809231D41C5FEC72E9E63FAEE7AA5F72EA4A919DCEE + +Count = 1007 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +MD = 339A761C77BFBB17A5C61B7AA16F3F728D5EC5A5368112A48DCB782689D191FA + +Count = 1008 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEE +MD = 8AD3E6321BA162088ADCDCC670D6A814E263F071C65DBB8A238CA456727A6D8E + +Count = 1009 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +MD = 913BFD7F3DF0861977BFC6353667995C83686ADE06145E65C933FD8311FB559B + +Count = 1010 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0 +MD = 343500C09AD0D761A8A13ACB6953840B00D9362F595BD1B22CAE107A1408408A + +Count = 1011 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1 +MD = 1C1CB3F53D6238F16785BD9FAFBA17E2957B9A31E2B135EBAAD9D59F1D765F05 + +Count = 1012 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 +MD = 25037E515A6E689EE2B00FBE6C4A97C3A1C682FADEF55509F5B315D945F62DC6 + +Count = 1013 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3 +MD = 7F86D5D779A9AB42FACCC9E68B60494D3FB5ACB9CB82F52BCB0E42C6729E2522 + +Count = 1014 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4 +MD = 899EB7840A36F5C5C9BFA0A79C4FE77307458C474DB5BCDFDB226A4398C38AC2 + +Count = 1015 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5 +MD = 299B78CB4F75ECF50F55A1BFE21939EE228A41ECAF5C8052D04E38C3F96D88E1 + +Count = 1016 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 +MD = 5F1E8F129E7AC7A3B436B6A58F5A475C59DBC34E85D80CE2609395A88AAD3F3A + +Count = 1017 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7 +MD = A1D2EC536D766F77FE8BC2B63BD3EE0A0E4CAC33AB9451E314CC03931B3C6184 + +Count = 1018 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8 +MD = 36EB63BCBA39B2DFB41414DC1A9A803D6AAA3B46B4E854DBDAF1D7E21596393D + +Count = 1019 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9 +MD = 8776A6194147BA1F1A11D577CC937F4FAE7DDEA467FD2C98B39B8B984BF639FF + +Count = 1020 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FA +MD = D3401BCC261A72E49ABFE35CF13B15591EE9F15F10221E3FCD523FC89DB764D1 + +Count = 1021 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB +MD = 9B3A3EAB4CF77D6D4900250CD2BC2102D1E0BFD07C137B51424C37F25E2BD940 + +Count = 1022 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC +MD = 460C15EC89D3C4655F9FB18A03D13AE5B1151D33D7F56D18485AAC206238A357 + +Count = 1023 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFD +MD = 074D2A1FC26BC3D5071CE842473C2934C313E8AAC450A40F68177652A3F3D6DB + +Count = 1024 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE +MD = 6C290830F02818169BC429EE48F49DF416E580B1804578FE8AD65B3A98C3FB77 + +Count = 1025 +Msg = 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +MD = 8096E9BB573EA6B2C1D7ACAC7FB9D9F8F6C89E52A63B1B129037FD4FCC913FFB + diff --git a/ascon-hash/tests/kats_tests.rs b/ascon-hash/tests/kats_tests.rs new file mode 100644 index 000000000..899409e43 --- /dev/null +++ b/ascon-hash/tests/kats_tests.rs @@ -0,0 +1,123 @@ +// Copyright 2022 Sebastian Ramacher +// SPDX-License-Identifier: Apache-2.0 OR MIT + +use std::collections::HashMap; +use std::include_str; + +use spectral::prelude::{asserting, OrderedAssertions}; + +use ascon_hash::{ + AsconAHash, AsconAXof, AsconHash, AsconXof, Digest, ExtendableOutput, Reset, XofReader, +}; + +#[derive(Debug)] +struct TestVector { + count: u32, + message: Vec, + digest: Vec, +} + +impl TestVector { + fn new(count: &str, message: &str, digest: &str) -> Self { + Self { + count: count.parse().unwrap(), + message: hex::decode(message).unwrap(), + digest: hex::decode(digest).unwrap(), + } + } +} + +fn run_tv(tv: TestVector) { + let mut hasher = H::new(); + hasher.update(&tv.message); + let mut hasher2 = hasher.clone(); + let digest = hasher.finalize(); + asserting(format!("Test Vector {}: Hashing", tv.count).as_str()) + .that(&digest.as_ref()) + .is_equal_to(tv.digest.as_slice()); + + digest::Digest::reset(&mut hasher2); + for b in tv.message { + hasher2.update([b]); + } + let digest2 = hasher2.finalize(); + asserting(format!("Test Vector {}: After reset", tv.count).as_str()) + .that(&digest2.as_ref()) + .is_equal_to(tv.digest.as_slice()); +} + +fn run_tv_xof(tv: TestVector) { + let mut hasher = X::default(); + hasher.update(&tv.message); + let mut reader = hasher.finalize_xof(); + let mut digest = vec![0u8; tv.digest.len()]; + reader.read(digest.as_mut_slice()); + asserting(format!("Test Vector {}: XOF", tv.count).as_str()) + .that(&digest) + .is_equal_to(&tv.digest); + + reader.read(digest.as_mut_slice()); + asserting(format!("Test Vector {}: XOF", tv.count).as_str()) + .that(&digest) + .is_not_equal_to(&tv.digest); +} + +fn parse_tvs(tvs: &str) -> Vec { + let mut fields: HashMap = HashMap::new(); + let mut ret = Vec::new(); + + for line in tvs.lines() { + if line.is_empty() && !fields.is_empty() { + ret.push(TestVector::new( + &fields["Count"], + &fields["Msg"], + &fields["MD"], + )); + fields.clear(); + continue; + } + + let mut values = line.split(" = "); + fields.insert( + values.next().unwrap().to_string(), + values.next().unwrap().to_string(), + ); + } + + asserting!("Test Vectors available") + .that(&ret.len()) + .is_greater_than(0); + ret +} + +#[test] +fn test_vectors_asconhash() { + let tvs = parse_tvs(include_str!("data/asconhash.txt")); + for tv in tvs { + run_tv::(tv); + } +} + +#[test] +fn test_vectors_asconhasha() { + let tvs = parse_tvs(include_str!("data/asconhasha.txt")); + for tv in tvs { + run_tv::(tv); + } +} + +#[test] +fn test_vectors_asconxof() { + let tvs = parse_tvs(include_str!("data/asconxof.txt")); + for tv in tvs { + run_tv_xof::(tv); + } +} + +#[test] +fn test_vectors_asconaxof() { + let tvs = parse_tvs(include_str!("data/asconxofa.txt")); + for tv in tvs { + run_tv_xof::(tv); + } +} diff --git a/benches/Cargo.toml b/benches/Cargo.toml new file mode 100644 index 000000000..26e57ce6c --- /dev/null +++ b/benches/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "benches" +version = "0.0.0" +authors = ["RustCrypto Developers"] +license = "Apache-2.0 OR MIT" +description = "Criterion benchmarks of the hash crates" +edition = "2021" +rust-version = "1.59" +publish = false + +[workspace] + +[dependencies] +ascon-hash = { path = "../ascon-hash" } +criterion = "0.4" +rand = { version = "0.8", default-features = false, features = [ + "std_rng", + "getrandom", +] } + +[[bench]] +name = "ascon-hash" +path = "src/ascon-hash.rs" +harness = false diff --git a/benches/src/ascon-hash.rs b/benches/src/ascon-hash.rs new file mode 100644 index 000000000..07e61cb32 --- /dev/null +++ b/benches/src/ascon-hash.rs @@ -0,0 +1,45 @@ +// Copyright 2022 Sebastian Ramacher +// SPDX-License-Identifier: Apache-2.0 OR MIT + +use ascon_hash::{AsconAHash, AsconHash, Digest}; +use criterion::{ + black_box, criterion_group, criterion_main, Bencher, BenchmarkId, Criterion, Throughput, +}; +use rand::{rngs::StdRng, RngCore, SeedableRng}; + +const KB: usize = 1024; + +fn bench_for_size(b: &mut Bencher, rng: &mut dyn RngCore, size: usize) { + let mut plaintext = vec![0u8; size]; + rng.fill_bytes(plaintext.as_mut_slice()); + + b.iter(|| { + let mut hasher = H::default(); + hasher.update(&plaintext); + black_box(hasher.finalize()) + }); +} + +fn criterion_benchmark(c: &mut Criterion, name: &str) { + let mut rng = StdRng::from_entropy(); + let mut group = c.benchmark_group(name); + for size in [KB, 2 * KB, 4 * KB, 8 * KB, 16 * KB, 32 * KB, 64 * KB].into_iter() { + group.throughput(Throughput::Bytes(size as u64)); + group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &size| { + bench_for_size::(b, &mut rng, size) + }); + } + group.finish(); +} + +fn criterion_bench_ascon(c: &mut Criterion) { + criterion_benchmark::(c, "AsconHash"); +} + +fn criterion_bench_ascona(c: &mut Criterion) { + criterion_benchmark::(c, "AsconAHash"); +} + +criterion_group!(bench_ascon, criterion_bench_ascon,); +criterion_group!(bench_ascona, criterion_bench_ascona,); +criterion_main!(bench_ascon, bench_ascona); From c48b7422ed1003fc54bd0fb27ab1e0c6b0bbf655 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher Date: Tue, 21 Mar 2023 15:56:16 +0100 Subject: [PATCH 259/373] ascon-hash v0.2.0 (#460) --- ascon-hash/CHANGELOG.md | 16 ++++++++++++++++ ascon-hash/Cargo.toml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ascon-hash/CHANGELOG.md b/ascon-hash/CHANGELOG.md index 5087d2c3e..e06a029be 100644 --- a/ascon-hash/CHANGELOG.md +++ b/ascon-hash/CHANGELOG.md @@ -1,4 +1,20 @@ # Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.2.0 (2023-03-21) +### Changed +- Drop MSRV back to 1.56 and keep it in sync with `ascon` ([#459]) +- Relicense as Apache-2.0 or MIT ([#459]) +- Renamed public types to follow UpperCamelCase naming convention ([#459]) + - `AsconXOF` -> `AsconXof` + - `AsconXOFReader` -> `AsconXofReader` + - `AsconAXOF` -> `AsconAXof` + - `ASconAXOFReader`-> `AsconAXofReader` + +[#459]: https://github.com/RustCrypto/hashes/pull/459 ## 0.1.1 (2023-03-17) diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 029bfa13e..c04583302 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ascon-hash" -version = "0.2.0-pre" +version = "0.2.0" description = "Implementation of the Ascon and AsconA hashes and XOFs" authors = [ "Sebastian Ramacher ", From ca60ca9c287eb4c44e6a6e52e81cc75131cc7e2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 18:01:34 -0600 Subject: [PATCH 260/373] build(deps): bump cpufeatures from 0.2.5 to 0.2.6 (#461) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.5 to 0.2.6. - [Release notes](https://github.com/RustCrypto/utils/releases) - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.2.5...cpufeatures-v0.2.6) --- updated-dependencies: - dependency-name: cpufeatures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f17ffe154..2e68cd8f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" dependencies = [ "libc", ] From 1fc6312d66e8f62e1b2b90adbf6ccf4dd56a509d Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 11 Apr 2023 14:35:36 -0600 Subject: [PATCH 261/373] sha3 v0.10.7 (#465) --- Cargo.lock | 2 +- sha3/CHANGELOG.md | 8 ++++++++ sha3/Cargo.toml | 8 ++++++-- sha3/LICENSE-MIT | 2 +- sha3/src/lib.rs | 2 ++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2e68cd8f5..490ed22d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -242,7 +242,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.7" dependencies = [ "digest", "hex-literal", diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index dece862b6..8cec49c6f 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.7 (2023-04-11) +### Added +- `asm` feature ([#437]) +- TurboSHAKE ([#458]) + +[#437]: https://github.com/RustCrypto/hashes/pull/437 +[#458]: https://github.com/RustCrypto/hashes/pull/458 + ## 0.10.6 (2022-10-19) ### Fixed - XOF reader type aliases ([#427]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 787290284..b39e86394 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,7 +1,11 @@ [package] name = "sha3" -version = "0.10.6" -description = "SHA-3 (Keccak) hash function" +version = "0.10.7" +description = """ +Pure Rust implementation of SHA-3, a family of Keccak-based hash functions +including the SHAKE family of eXtendable-Output Functions (XOFs), as well as +the accelerated variant TurboSHAKE +""" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" diff --git a/sha3/LICENSE-MIT b/sha3/LICENSE-MIT index 5ccb25e50..c7ee28b0f 100644 --- a/sha3/LICENSE-MIT +++ b/sha3/LICENSE-MIT @@ -1,7 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2014 Sébastien Martini -Copyright (c) 2016-2017 Artyom Pavlov, Marek Kotewicz +Copyright (c) 2016-2023 Artyom Pavlov, Marek Kotewicz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 7941e349f..707d6643e 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -11,6 +11,8 @@ //! * `Keccak224`, `Keccak256`, `Keccak384`, `Keccak512` (NIST submission //! without padding changes) //! +//! Additionally supports `TurboSHAKE`. +//! //! # Examples //! //! Output size of SHA3-256 is fixed, so its functionality is usually From 608861985fea09933c2741a6a5537a4e80cc9057 Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" <193874+carols10cents@users.noreply.github.com> Date: Mon, 17 Apr 2023 13:32:58 -0400 Subject: [PATCH 262/373] Fix an off-by-one error in the docs for sha2 (#467) There are six total, and the docs mentioned "first two" and "last three" = 5. This appears to have been introduced in 75298d3, and based on the text in this spot that was removed in that commit, this should read "last four" instead. --- sha2/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 9082fc5b8..a3482e84a 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -6,7 +6,8 @@ //! Algorithmically, there are only 2 core algorithms: SHA-256 and SHA-512. //! All other algorithms are just applications of these with different initial //! hash values, and truncated to different digest bit lengths. The first two -//! algorithms in the list are based on SHA-256, while the last three on SHA-512. +//! algorithms in the list are based on SHA-256, while the last four are based +//! on SHA-512. //! //! # Usage //! From 4df85b7675832fd30d1c7cd1520835f63ddc54eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 21 Apr 2023 10:10:47 +0300 Subject: [PATCH 263/373] Update Cargo.lock --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 490ed22d3..5c3c43c1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "cpufeatures" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181" +checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" dependencies = [ "libc", ] @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.140" +version = "0.2.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" [[package]] name = "md-5" From 99b0da3d6f3a65d0337e0a089b02e657ade89e2b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 23 Apr 2023 19:57:58 -0600 Subject: [PATCH 264/373] Add SECURITY.md --- SECURITY.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..c26590b64 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,17 @@ +# Security Policy + +## Supported Versions + +Security updates are applied only to the most recent release. + +## Reporting a Vulnerability + +If you have discovered a security vulnerability in this project, please report +it privately. **Do not disclose it as a public issue.** This gives us time to +work with you to fix the issue before public exposure, reducing the chance that +the exploit will be used before a patch is released. + +Please disclose it at [security advisory](https://github.com/RustCrypto/hashes/security/advisories/new). + +This project is maintained by a team of volunteers on a reasonable-effort basis. +As such, please give us at least 90 days to work on a fix before public exposure. From c66d028f3707263e1d426592f65d624520f14df9 Mon Sep 17 00:00:00 2001 From: Milo Moisson Date: Thu, 27 Apr 2023 15:25:29 +0200 Subject: [PATCH 265/373] Empty OID crashes the cargo doumentation generation with oid feature (#470) --- sha3/src/lib.rs | 2 -- sm3/src/lib.rs | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 707d6643e..0f87ee580 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -177,7 +177,6 @@ impl_turbo_shake!( TurboShake128Reader, U168, "TurboSHAKE128", - "", ); impl_turbo_shake!( TurboShake256Core, @@ -186,7 +185,6 @@ impl_turbo_shake!( TurboShake256Reader, U136, "TurboSHAKE256", - "", ); impl_cshake!( diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 32cfb13c4..dd0c9e90a 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -1,4 +1,4 @@ -//! An implementation of the [SM3] cryptographic hash function defined +//! An implementation of the SM3 cryptographic hash function defined //! in OSCCA GM/T 0004-2012. //! //! # Usage From 29d671e6430e14e1a445d8166a13692335bedafd Mon Sep 17 00:00:00 2001 From: Tom French <15848336+TomAFrench@users.noreply.github.com> Date: Sun, 30 Apr 2023 19:26:31 +0100 Subject: [PATCH 266/373] chore: fix link to `ascon-hash` crate (#471) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17283a668..f3c730642 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (crates) +[`ascon-hash`]: ./ascon-hash [`belt-hash`]: ./belt-hash [`blake2`]: ./blake2 [`fsb`]: ./fsb From fd709315c921a8346d33a198e493d504f67796e7 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 30 Apr 2023 13:34:36 -0600 Subject: [PATCH 267/373] README.md: use non-breaking hyphens for crate names --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f3c730642..539e77f39 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| -| [Ascon] hash | [`ascon-hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.56][msrv-1.56] | :green_heart: | -| [BelT] hash | [`belt-hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.57][msrv-1.57] | :green_heart: | +| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.56][msrv-1.56] | :green_heart: | +| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.57][msrv-1.57] | :green_heart: | | [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | @@ -237,8 +237,8 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (crates) -[`ascon-hash`]: ./ascon-hash -[`belt-hash`]: ./belt-hash +[`ascon‑hash`]: ./ascon-hash +[`belt‑hash`]: ./belt-hash [`blake2`]: ./blake2 [`fsb`]: ./fsb [`gost94`]: ./gost94 From 4d13ef1e2f42d0bce3a1b53cf626ed4fb1f85fab Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Fri, 5 May 2023 14:19:08 +0200 Subject: [PATCH 268/373] sha3: Use p1600 fn to fix performance degrade (#472) --- Cargo.lock | 4 ++-- sha3/Cargo.toml | 2 +- sha3/src/state.rs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5c3c43c1d..7e439e61c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index b39e86394..4763c42c3 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -17,7 +17,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.4" -keccak = "0.1.3" +keccak = "0.1.4" [dev-dependencies] digest = { version = "0.10.4", features = ["dev"] } diff --git a/sha3/src/state.rs b/sha3/src/state.rs index 7bd88d7a7..1ba9f11bd 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -34,7 +34,7 @@ impl Sha3State { *s ^= u64::from_le_bytes(b.try_into().unwrap()); } - keccak::keccak_p(&mut self.state, self.round_count); + keccak::p1600(&mut self.state, self.round_count); } #[inline(always)] @@ -46,6 +46,6 @@ impl Sha3State { #[inline(always)] pub(crate) fn permute(&mut self) { - keccak::keccak_p(&mut self.state, self.round_count); + keccak::p1600(&mut self.state, self.round_count); } } From 62d84e1da613ab4f5a3259326e81ef25c6c012e1 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 5 May 2023 10:39:43 -0600 Subject: [PATCH 269/373] sha3 v0.10.8 (#474) --- Cargo.lock | 2 +- sha3/CHANGELOG.md | 6 ++++++ sha3/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e439e61c..5e3fcbc87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -242,7 +242,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.7" +version = "0.10.8" dependencies = [ "digest", "hex-literal", diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 8cec49c6f..9992ac31e 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.8 (2023-04-08) +### Fixed +- Performance regression: now uses `p1600` fn ([#472]) + +[#472]: https://github.com/RustCrypto/hashes/pull/472 + ## 0.10.7 (2023-04-11) ### Added - `asm` feature ([#437]) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 4763c42c3..17e0ef1f5 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.7" +version = "0.10.8" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as From 91dfb20e0dfed8988309b492034231dce8e5b9ac Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Tue, 9 May 2023 15:00:37 +0200 Subject: [PATCH 270/373] k12: Refactor (#353) Remove the use of vectors and implement `XofReader`. --- Cargo.lock | 15 +- k12/Cargo.toml | 5 +- k12/src/lanes.rs | 133 ----------------- k12/src/lib.rs | 374 +++++++++++++++++++++-------------------------- k12/tests/mod.rs | 6 +- 5 files changed, 187 insertions(+), 346 deletions(-) delete mode 100644 k12/src/lanes.rs diff --git a/Cargo.lock b/Cargo.lock index 5e3fcbc87..00ffe6aef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -135,6 +135,7 @@ version = "0.2.1" dependencies = [ "digest", "hex-literal", + "sha3 0.10.8", ] [[package]] @@ -148,9 +149,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.142" +version = "0.2.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" +checksum = "edc207893e85c5d6be840e969b496b53d94cec8be2d501b214f50daa97fa8024" [[package]] name = "md-5" @@ -249,6 +250,16 @@ dependencies = [ "keccak", ] +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest", + "keccak", +] + [[package]] name = "shabal" version = "0.4.1" diff --git a/k12/Cargo.toml b/k12/Cargo.toml index ada20f487..65e7496d0 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "k12" version = "0.2.1" -description = "Experimental pure Rust implementation of the KangarooTwelve hash function" +description = "Pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" readme = "README.md" @@ -12,7 +12,8 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.3", features = ["alloc"] } +digest = { version = "0.10.3", default-features = false, features = ["core-api"] } +sha3 = "0.10.8" [dev-dependencies] digest = { version = "0.10.3", features = ["alloc", "dev"] } diff --git a/k12/src/lanes.rs b/k12/src/lanes.rs deleted file mode 100644 index 8214fb4e0..000000000 --- a/k12/src/lanes.rs +++ /dev/null @@ -1,133 +0,0 @@ -#![allow(clippy::unreadable_literal)] - -macro_rules! REPEAT4 { - ($e: expr) => { - $e; - $e; - $e; - $e; - }; -} - -macro_rules! REPEAT5 { - ($e: expr) => { - $e; - $e; - $e; - $e; - $e; - }; -} - -macro_rules! REPEAT6 { - ($e: expr) => { - $e; - $e; - $e; - $e; - $e; - $e; - }; -} - -macro_rules! REPEAT24 { - ($e: expr, $s: expr) => { - REPEAT6!({ - $e; - $s; - }); - REPEAT6!({ - $e; - $s; - }); - REPEAT6!({ - $e; - $s; - }); - REPEAT5!({ - $e; - $s; - }); - $e; - }; -} - -macro_rules! FOR5 { - ($v: expr, $s: expr, $e: expr) => { - $v = 0; - REPEAT4!({ - $e; - $v += $s; - }); - $e; - }; -} - -pub const RC: [u64; 12] = [ - 0x000000008000808b, - 0x800000000000008b, - 0x8000000000008089, - 0x8000000000008003, - 0x8000000000008002, - 0x8000000000000080, - 0x000000000000800a, - 0x800000008000000a, - 0x8000000080008081, - 0x8000000000008080, - 0x0000000080000001, - 0x8000000080008008, -]; - -// (0..24).map(|t| ((t+1)*(t+2)/2) % 64) -pub const RHO: [u32; 24] = [ - 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44, -]; -pub const PI: [usize; 24] = [ - 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1, -]; - -pub fn keccak(lanes: &mut [u64; 25]) { - let mut c = [0u64; 5]; - let (mut x, mut y): (usize, usize); - - #[allow(clippy::needless_range_loop)] - for round in 0..12 { - // θ - FOR5!(x, 1, { - c[x] = lanes[x] ^ lanes[x + 5] ^ lanes[x + 10] ^ lanes[x + 15] ^ lanes[x + 20]; - }); - - FOR5!(x, 1, { - FOR5!(y, 5, { - lanes[x + y] ^= c[(x + 4) % 5] ^ c[(x + 1) % 5].rotate_left(1); - }); - }); - - // Ï and Ï€ - let mut a = lanes[1]; - x = 0; - REPEAT24!( - { - c[0] = lanes[PI[x]]; - lanes[PI[x]] = a.rotate_left(RHO[x]); - }, - { - a = c[0]; - x += 1; - } - ); - - // χ - FOR5!(y, 5, { - FOR5!(x, 1, { - c[x] = lanes[x + y]; - }); - FOR5!(x, 1, { - lanes[x + y] = c[x] ^ ((!c[(x + 1) % 5]) & c[(x + 2) % 5]); - }); - }); - - // ι - lanes[0] ^= RC[round]; - } -} diff --git a/k12/src/lib.rs b/k12/src/lib.rs index a85ee25a2..a5f593c4a 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -1,12 +1,7 @@ -//! Experimental pure Rust implementation of the KangarooTwelve -//! cryptographic hash algorithm, based on the reference implementation: +//! Pure Rust implementation of the KangarooTwelve cryptographic hash +//! algorithm, based on the reference implementation: //! -//! -//! -//! Some optimisations copied from: - -// Based off this translation originally by Diggory Hardy: -// +//! #![no_std] #![doc( @@ -16,242 +11,209 @@ #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -// TODO(tarcieri): eliminate alloc requirement -#[macro_use] -extern crate alloc; - pub use digest; -#[macro_use] -mod lanes; - -// TODO(tarcieri): eliminate usage of `Vec` -use alloc::vec::Vec; -use core::{cmp::min, convert::TryInto, mem}; -use digest::{ExtendableOutput, ExtendableOutputReset, HashMarker, Reset, Update, XofReader}; - -/// The KangarooTwelve extendable-output function (XOF). -#[derive(Debug, Default)] -pub struct KangarooTwelve { - /// Input to be processed - // TODO(tarcieri): don't store input in a `Vec` - buffer: Vec, - - /// Customization string to apply - // TODO(tarcieri): don't store customization in a `Vec` - customization: Vec, +use core::fmt; +use digest::block_buffer::Eager; +use digest::consts::{U128, U168}; +use digest::core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, ExtendableOutputCore, + UpdateCore, XofReaderCore, XofReaderCoreWrapper, +}; +use digest::{ExtendableOutputReset, HashMarker, Reset, Update, XofReader}; + +use sha3::{TurboShake128, TurboShake128Core, TurboShake128ReaderCore}; + +const CHUNK_SIZE: usize = 8192; +const CHAINING_VALUE_SIZE: usize = 32; +const LENGTH_ENCODE_SIZE: usize = 255; + +/// Core [`KangarooTwelve`] hasher state. +#[derive(Clone)] +#[allow(non_camel_case_types)] +pub struct KangarooTwelveCore<'cs> { + customization: &'cs [u8], + buffer: [u8; CHUNK_SIZE], + bufpos: usize, + final_tshk: TurboShake128, + chain_tshk: TurboShake128, + chain_length: usize, } -impl KangarooTwelve { - /// Create a new [`KangarooTwelve`] instance. - pub fn new() -> Self { - Self::default() - } - - /// Create a new [`KangarooTwelve`] instance with the given customization. - pub fn new_with_customization(customization: impl AsRef<[u8]>) -> Self { +impl<'cs> KangarooTwelveCore<'cs> { + /// Creates a new KangarooTwelve instance with the given customization. + pub fn new(customization: &'cs [u8]) -> Self { Self { - buffer: Vec::new(), - customization: customization.as_ref().into(), + customization, + buffer: [0u8; CHUNK_SIZE], + bufpos: 0usize, + final_tshk: TurboShake128::from_core(::new(0x06)), + chain_tshk: TurboShake128::from_core(::new(0x0B)), + chain_length: 0usize, } } } -impl HashMarker for KangarooTwelve {} +impl HashMarker for KangarooTwelveCore<'_> {} -impl Update for KangarooTwelve { - fn update(&mut self, bytes: &[u8]) { - self.buffer.extend_from_slice(bytes); - } +impl BlockSizeUser for KangarooTwelveCore<'_> { + type BlockSize = U128; } -impl ExtendableOutput for KangarooTwelve { - type Reader = Reader; - - fn finalize_xof(self) -> Self::Reader { - Reader { - buffer: self.buffer, - customization: self.customization, - finished: false, - } - } +impl BufferKindUser for KangarooTwelveCore<'_> { + type BufferKind = Eager; } -impl ExtendableOutputReset for KangarooTwelve { - fn finalize_xof_reset(&mut self) -> Self::Reader { - let mut buffer = vec![]; - let mut customization = vec![]; +impl UpdateCore for KangarooTwelveCore<'_> { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.buffer[self.bufpos..self.bufpos + 128].clone_from_slice(block); + self.bufpos += 128; - mem::swap(&mut self.buffer, &mut buffer); - mem::swap(&mut self.customization, &mut customization); + if self.bufpos != CHUNK_SIZE { + continue; + } - Reader { - buffer, - customization, - finished: false, + if self.chain_length == 0 { + self.final_tshk.update(&self.buffer); + self.final_tshk + .update(&[0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); + } else { + let mut result = [0u8; CHAINING_VALUE_SIZE]; + self.chain_tshk.update(&self.buffer); + self.chain_tshk.finalize_xof_reset_into(&mut result); + self.final_tshk.update(&result); + } + + self.chain_length += 1; + self.buffer = [0u8; CHUNK_SIZE]; + self.bufpos = 0; } } } -impl Reset for KangarooTwelve { - fn reset(&mut self) { - self.buffer.clear(); - } -} +impl ExtendableOutputCore for KangarooTwelveCore<'_> { + type ReaderCore = KangarooTwelveReaderCore; -/// Extensible output reader. -/// -/// NOTE: this presently only supports one invocation and will *panic* if -/// [`XofReader::read`] is invoked on it multiple times. -#[derive(Debug, Default)] -pub struct Reader { - /// Input to be processed - // TODO(tarcieri): don't store input in a `Vec` - buffer: Vec, - - /// Customization string to apply - // TODO(tarcieri): don't store customization in a `Vec` - customization: Vec, - - /// Has the XOF output already been consumed? - // TODO(tarcieri): allow `XofReader::result` to be called multiple times - finished: bool, -} + #[inline] + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + let mut lenbuf = [0u8; LENGTH_ENCODE_SIZE]; -// TODO(tarcieri): factor more of this logic into the `KangarooTwelve` type -impl XofReader for Reader { - /// Get the resulting output of the function. - /// - /// Panics if called multiple times on the same instance (TODO: don't panic!) - fn read(&mut self, output: &mut [u8]) { - assert!( - !self.finished, - "not yet implemented: multiple XofReader::read invocations unsupported" + // Digest customization + buffer.digest_blocks(self.customization, |block| self.update_blocks(block)); + buffer.digest_blocks( + length_encode(self.customization.len(), &mut lenbuf), + |block| self.update_blocks(block), ); - let b = 8192; - let c = 256; - - let mut slice = Vec::new(); // S - slice.extend_from_slice(&self.buffer); - slice.extend_from_slice(&self.customization); - slice.extend_from_slice(&right_encode(self.customization.len())[..]); - - // === Cut the input string into chunks of b bytes === - let n = (slice.len() + b - 1) / b; - let mut slices = Vec::with_capacity(n); // Si - for i in 0..n { - let ub = min((i + 1) * b, slice.len()); - slices.push(&slice[i * b..ub]); + // Read leftover data from buffer + self.buffer[self.bufpos..(self.bufpos + buffer.get_pos())] + .copy_from_slice(buffer.get_data()); + self.bufpos += buffer.get_pos(); + + // Calculate final node + if self.chain_length == 0 { + // Input didnot exceed a single chaining value + let tshk = TurboShake128::from_core(::new(0x07)) + .chain(&self.buffer[..self.bufpos]) + .finalize_xof_reset(); + return KangarooTwelveReaderCore { tshk }; + } + // Calculate last chaining value + let mut result = [0u8; CHAINING_VALUE_SIZE]; + self.chain_tshk.update(&self.buffer[..self.bufpos]); + self.chain_tshk.finalize_xof_reset_into(&mut result); + self.final_tshk.update(&result); + // Pad final node calculation + self.final_tshk + .update(length_encode(self.chain_length, &mut lenbuf)); + self.final_tshk.update(&[0xff, 0xff]); + + KangarooTwelveReaderCore { + tshk: self.final_tshk.finalize_xof_reset(), } - - // TODO(tarcieri): get rid of intermediate output buffer - let tmp_buffer = if n == 1 { - // === Process the tree with only a final node === - f(slices[0], 0x07, output.len()) - } else { - // === Process the tree with kangaroo hopping === - // TODO: in parallel - let mut intermediate = Vec::with_capacity(n - 1); // CVi - for i in 0..n - 1 { - intermediate.push(f(slices[i + 1], 0x0B, c / 8)); - } - - let mut node_star = Vec::new(); - node_star.extend_from_slice(slices[0]); - node_star.extend_from_slice(&[3, 0, 0, 0, 0, 0, 0, 0]); - - #[allow(clippy::needless_range_loop)] - for i in 0..n - 1 { - node_star.extend_from_slice(&intermediate[i][..]); - } - - node_star.extend_from_slice(&right_encode(n - 1)); - node_star.extend_from_slice(b"\xFF\xFF"); - - f(&node_star[..], 0x06, output.len()) - }; - - output.copy_from_slice(&tmp_buffer); - self.finished = true; } } -fn f(input: &[u8], suffix: u8, mut output_len: usize) -> Vec { - let mut state = [0u8; 200]; - let max_block_size = 1344 / 8; // r, also known as rate in bytes - - // === Absorb all the input blocks === - // We unroll first loop, which allows simple copy - let mut block_size = min(input.len(), max_block_size); - state[0..block_size].copy_from_slice(&input[0..block_size]); - - let mut offset = block_size; - while offset < input.len() { - keccak(&mut state); - block_size = min(input.len() - offset, max_block_size); - for i in 0..block_size { - // TODO: is this sufficiently optimisable or better to convert to u64 first? - state[i] ^= input[i + offset]; +impl Default for KangarooTwelveCore<'_> { + #[inline] + fn default() -> Self { + Self { + customization: &[], + buffer: [0u8; CHUNK_SIZE], + bufpos: 0usize, + final_tshk: TurboShake128::from_core(::new(0x06)), + chain_tshk: TurboShake128::from_core(::new(0x0B)), + chain_length: 0usize, } - offset += block_size; - } - if block_size == max_block_size { - // TODO: condition is nearly always false; tests pass without this. - // Why is it here? - keccak(&mut state); - block_size = 0; } +} - // === Do the padding and switch to the squeezing phase === - state[block_size] ^= suffix; - if ((suffix & 0x80) != 0) && (block_size == (max_block_size - 1)) { - // TODO: condition is almost always false — in fact tests pass without - // this block! So why is it here? - keccak(&mut state); +impl Reset for KangarooTwelveCore<'_> { + #[inline] + fn reset(&mut self) { + *self = Self::new(self.customization); } - state[max_block_size - 1] ^= 0x80; - keccak(&mut state); - - // === Squeeze out all the output blocks === - let mut output = Vec::with_capacity(output_len); - while output_len > 0 { - block_size = min(output_len, max_block_size); - output.extend_from_slice(&state[0..block_size]); - output_len -= block_size; - if output_len > 0 { - keccak(&mut state); - } +} + +impl AlgorithmName for KangarooTwelveCore<'_> { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!(KangarooTwelve)) } - output } -fn keccak(state: &mut [u8; 200]) { - let mut lanes = [0u64; 25]; - let mut y; - for x in 0..5 { - FOR5!(y, 5, { - let pos = 8 * (x + y); - lanes[x + y] = u64::from_le_bytes(state[pos..(pos + 8)].try_into().unwrap()); - }); +impl fmt::Debug for KangarooTwelveCore<'_> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!(KangarooTwelveCore), " { ... }")) } - lanes::keccak(&mut lanes); - for x in 0..5 { - FOR5!(y, 5, { - let i = 8 * (x + y); - state[i..i + 8].copy_from_slice(&lanes[x + y].to_le_bytes()); - }); +} + +/// Core [`KangarooTwelve`] reader state. +#[derive(Clone)] +#[allow(non_camel_case_types)] +pub struct KangarooTwelveReaderCore { + tshk: XofReaderCoreWrapper, +} + +impl BlockSizeUser for KangarooTwelveReaderCore { + type BlockSize = U168; // TurboSHAKE128 block size +} + +impl XofReaderCore for KangarooTwelveReaderCore { + #[inline] + fn read_block(&mut self) -> Block { + let mut block = Block::::default(); + self.tshk.read(&mut block); + block } } -fn right_encode(mut x: usize) -> Vec { - let mut slice = Vec::new(); - while x > 0 { - slice.push((x % 256) as u8); - x /= 256; +/// [`KangarooTwelve`] hasher state. +pub type KangarooTwelve<'cs> = CoreWrapper>; + +/// [`KangarooTwelve`] reader state. +pub type KangarooTwelveReader = XofReaderCoreWrapper; + +fn length_encode(mut length: usize, buffer: &mut [u8; LENGTH_ENCODE_SIZE]) -> &mut [u8] { + let mut bufpos = 0usize; + while length > 0 { + buffer[bufpos] = (length % 256) as u8; + length /= 256; + bufpos += 1; } - slice.reverse(); - let len = slice.len(); - slice.push(len as u8); - slice + buffer[..bufpos].reverse(); + + buffer[bufpos] = bufpos as u8; + bufpos += 1; + + &mut buffer[..bufpos] +} + +#[test] +fn test_length_encode() { + let mut buffer = [0u8; LENGTH_ENCODE_SIZE]; + assert_eq!(length_encode(0, &mut buffer), &[0x00]); + assert_eq!(length_encode(12, &mut buffer), &[0x0C, 0x01]); + assert_eq!(length_encode(65538, &mut buffer), &[0x01, 0x00, 0x02, 0x03]); } diff --git a/k12/tests/mod.rs b/k12/tests/mod.rs index bd27c4464..92456e046 100644 --- a/k12/tests/mod.rs +++ b/k12/tests/mod.rs @@ -2,11 +2,11 @@ use core::iter; use hex_literal::hex; use k12::{ digest::{ExtendableOutput, Update}, - KangarooTwelve, + KangarooTwelve, KangarooTwelveCore, }; fn digest_and_box(data: &[u8], n: usize) -> Box<[u8]> { - let mut h = KangarooTwelve::new(); + let mut h = KangarooTwelve::default(); h.update(data); h.finalize_boxed(n) } @@ -67,7 +67,7 @@ fn pat_c() { let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); let len = 41usize.pow(i); let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let mut h = KangarooTwelve::new_with_customization(c); + let mut h = KangarooTwelve::from_core(KangarooTwelveCore::new(&c)); h.update(&m); let result = h.finalize_boxed(32); assert_eq!(result[..], expected[i as usize][..]); From e58bce0002a90d90270a8f7562f93daf20bfd5ad Mon Sep 17 00:00:00 2001 From: Kiyan Date: Tue, 16 May 2023 18:21:55 +0800 Subject: [PATCH 271/373] sm3: Improve fn gg2 performance (#477) --- sm3/src/compress.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sm3/src/compress.rs b/sm3/src/compress.rs index 731efb3c6..ea381e90b 100644 --- a/sm3/src/compress.rs +++ b/sm3/src/compress.rs @@ -19,7 +19,8 @@ fn gg1(x: u32, y: u32, z: u32) -> u32 { #[inline(always)] fn gg2(x: u32, y: u32, z: u32) -> u32 { - (x & y) | (!x & z) + // This line is equivalent to `(x & y) | (!x & z)`, but executes faster + (y ^ z) & x ^ z } #[inline(always)] From 2763884933f670bd907824f678a5e2f91faab715 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Tue, 16 May 2023 11:11:48 +0000 Subject: [PATCH 272/373] Release sm3 v0.4.2 (#478) --- Cargo.lock | 8 ++++---- sm3/CHANGELOG.md | 6 ++++++ sm3/Cargo.toml | 2 +- sm3/src/lib.rs | 8 ++++---- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 00ffe6aef..9b0e3a2f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -135,7 +135,7 @@ version = "0.2.1" dependencies = [ "digest", "hex-literal", - "sha3 0.10.8", + "sha3 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.143" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc207893e85c5d6be840e969b496b53d94cec8be2d501b214f50daa97fa8024" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "md-5" @@ -270,7 +270,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.4.1" +version = "0.4.2" dependencies = [ "digest", "hex-literal", diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md index f12c2365c..5c2568488 100644 --- a/sm3/CHANGELOG.md +++ b/sm3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.2 (2023-05-16) +### Changed +- Minor performance improvement ([#477]) + +[#477]: https://github.com/RustCrypto/hashes/pull/477 + ## 0.4.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 0de39ecc0..55e433a69 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.4.1" +version = "0.4.2" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index dd0c9e90a..891adec56 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -1,4 +1,4 @@ -//! An implementation of the SM3 cryptographic hash function defined +//! An implementation of the [SM3] cryptographic hash function defined //! in OSCCA GM/T 0004-2012. //! //! # Usage @@ -23,10 +23,10 @@ //! ")[..]); //! ``` //! -//! Also see [RustCrypto/hashes][2] readme. +//! Also see [RustCrypto/hashes] readme. //! -//! [1]: https://zh.wikipedia.org/zh-hans/SM3 -//! [2]: https://github.com/RustCrypto/hashes +//! [SM3]: https://en.wikipedia.org/wiki/SM3_(hash_function) +//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes #![no_std] #![doc( From 8f2d5c404b15b8edae18757dec4e2bae8ad9604b Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Sat, 20 May 2023 23:29:31 +0200 Subject: [PATCH 273/373] sha3: Add Drop & ZeroizeOnDrop for Sha3State (#479) Not zeroizing the Sha3State allows to recover any squeezed output. This is because the `keccak` permutations can be inversed. Hence, access to the complete state allows to perform this operation. While this is security-relevant, including it would significantly increase the MSRV. Therefore, it is gated behind the `zeroize` feature. --- sha3/Cargo.toml | 1 + sha3/src/state.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 17e0ef1f5..8587a8ae4 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -18,6 +18,7 @@ categories = ["cryptography", "no-std"] [dependencies] digest = "0.10.4" keccak = "0.1.4" +zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] digest = { version = "0.10.4", features = ["dev"] } diff --git a/sha3/src/state.rs b/sha3/src/state.rs index 1ba9f11bd..ce3785f75 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,4 +1,6 @@ use core::convert::TryInto; +#[cfg(feature = "zeroize")] +use zeroize::{Zeroize, ZeroizeOnDrop}; const PLEN: usize = 25; const DEFAULT_ROUND_COUNT: usize = 24; @@ -18,6 +20,16 @@ impl Default for Sha3State { } } +#[cfg(feature = "zeroize")] +impl Drop for Sha3State { + fn drop(&mut self) { + self.state.zeroize(); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sha3State {} + impl Sha3State { pub(crate) fn new(round_count: usize) -> Self { Self { From 9df20e865c3d141526074568984ba21a99429ea1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 May 2023 07:02:08 -0600 Subject: [PATCH 274/373] build(deps): bump digest from 0.10.6 to 0.10.7 (#481) Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.6 to 0.10.7. - [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.6...digest-v0.10.7) --- updated-dependencies: - dependency-name: digest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 11 +++++++++-- blake2/Cargo.toml | 4 ++-- fsb/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- groestl/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- sm3/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- tiger/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 18 files changed, 43 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9b0e3a2f7..d7038a235 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -64,9 +64,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "blobby", "block-buffer", @@ -248,6 +248,7 @@ dependencies = [ "digest", "hex-literal", "keccak", + "zeroize", ] [[package]] @@ -327,3 +328,9 @@ checksum = "4b0930846e800a97c78fd09a494b25d1f0780be9face03b7a05151e3104a8284" dependencies = [ "cc", ] + +[[package]] +name = "zeroize" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 11c00ac01..adb06e061 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.3", features = ["mac"] } +digest = { version = "0.10.7", features = ["mac"] } [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 8e652f3e9..399cd970d 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -12,11 +12,11 @@ keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" whirlpool = { version = "0.10.1", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 19c8472d4..7fa75ab7f 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 463078c1b..87915c734 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 65e7496d0..05e835040 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -12,11 +12,11 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10.3", default-features = false, features = ["core-api"] } +digest = { version = "0.10.7", default-features = false, features = ["core-api"] } sha3 = "0.10.8" [dev-dependencies] -digest = { version = "0.10.3", features = ["alloc", "dev"] } +digest = { version = "0.10.7", features = ["alloc", "dev"] } hex-literal = "0.2.2" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 234c4ada2..679594a26 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 78faeb71d..b55aa5fd9 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 48fd5aff7..847530889 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -15,13 +15,13 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.10.4" +digest = "0.10.7" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 3e8394d04..88c69aa28 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 8ff801508..4877331b1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -12,7 +12,7 @@ keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] @@ -20,7 +20,7 @@ cpufeatures = "0.2" sha1-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 9d8dedb03..a1b69c5ab 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -15,7 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] @@ -23,7 +23,7 @@ cpufeatures = "0.2" sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 8587a8ae4..652630b5d 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -16,12 +16,12 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" keccak = "0.1.4" zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index dc5d0dbec..87c0c3905 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 55e433a69..c1d46567b 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index ea3fd1254..bc5bddc54 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index f2429c5e1..a8f59a4c7 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 0a459c617..ee3e53bfd 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -12,13 +12,13 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.3" +digest = "0.10.7" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "0.10.3", features = ["dev"] } +digest = { version = "0.10.7", features = ["dev"] } hex-literal = "0.2.2" [features] From d174ad743c0e8685c03cda484d885686e1661e44 Mon Sep 17 00:00:00 2001 From: Artem Vorotnikov Date: Fri, 9 Jun 2023 07:10:25 +0300 Subject: [PATCH 275/373] Skein hash implementation (#483) --- .github/workflows/skein.yml | 61 ++++++++ Cargo.toml | 1 + README.md | 3 + skein/CHANGELOG.md | 11 ++ skein/Cargo.toml | 21 +++ skein/LICENSE-APACHE | 201 +++++++++++++++++++++++++++ skein/LICENSE-MIT | 25 ++++ skein/README.md | 56 ++++++++ skein/benches/skein1024.rs | 14 ++ skein/benches/skein256.rs | 14 ++ skein/benches/skein512.rs | 14 ++ skein/src/lib.rs | 216 +++++++++++++++++++++++++++++ skein/tests/data/skein1024_128.blb | Bin 0 -> 781 bytes skein/tests/data/skein1024_32.blb | Bin 0 -> 185 bytes skein/tests/data/skein1024_64.blb | Bin 0 -> 284 bytes skein/tests/data/skein256_32.blb | Bin 0 -> 385 bytes skein/tests/data/skein256_64.blb | Bin 0 -> 284 bytes skein/tests/data/skein512_32.blb | Bin 0 -> 185 bytes skein/tests/data/skein512_64.blb | Bin 0 -> 680 bytes skein/tests/lib.rs | 13 ++ 20 files changed, 650 insertions(+) create mode 100644 .github/workflows/skein.yml create mode 100644 skein/CHANGELOG.md create mode 100644 skein/Cargo.toml create mode 100644 skein/LICENSE-APACHE create mode 100644 skein/LICENSE-MIT create mode 100644 skein/README.md create mode 100644 skein/benches/skein1024.rs create mode 100644 skein/benches/skein256.rs create mode 100644 skein/benches/skein512.rs create mode 100644 skein/src/lib.rs create mode 100644 skein/tests/data/skein1024_128.blb create mode 100644 skein/tests/data/skein1024_32.blb create mode 100644 skein/tests/data/skein1024_64.blb create mode 100644 skein/tests/data/skein256_32.blb create mode 100644 skein/tests/data/skein256_64.blb create mode 100644 skein/tests/data/skein512_32.blb create mode 100644 skein/tests/data/skein512_64.blb create mode 100644 skein/tests/lib.rs diff --git a/.github/workflows/skein.yml b/.github/workflows/skein.yml new file mode 100644 index 000000000..8f16200cf --- /dev/null +++ b/.github/workflows/skein.yml @@ -0,0 +1,61 @@ +name: skein + +on: + pull_request: + paths: + - ".github/workflows/skein.yml" + - "skein/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: skein + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - run: cargo build --no-default-features --target ${{ matrix.target }} + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + test: + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.57.0 # MSRV + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - run: cargo check --all-features + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features diff --git a/Cargo.toml b/Cargo.toml index 7f544e284..85c713c97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,6 +24,7 @@ members = [ exclude = [ "ascon-hash", "belt-hash", + "skein", ] [profile.dev] diff --git a/README.md b/README.md index 539e77f39..887353d1e 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.57][msrv-1.57] | :green_heart: | | [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | | [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.41][msrv-1.41] | :green_heart: | @@ -252,6 +253,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`sha2`]: ./sha2 [`sha3`]: ./sha3 [`shabal`]: ./shabal +[`skein`]: ./skein [`sm3`]: ./sm3 [`streebog`]: ./streebog [`tiger`]: ./tiger @@ -291,6 +293,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [SHA-2]: https://en.wikipedia.org/wiki/SHA-2 [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 [SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[Skein]: https://schneier.com/academic/skein [SM3]: https://en.wikipedia.org/wiki/SM3_(hash_function) [Streebog]: https://en.wikipedia.org/wiki/Streebog [Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography) diff --git a/skein/CHANGELOG.md b/skein/CHANGELOG.md new file mode 100644 index 000000000..54f3b9ef0 --- /dev/null +++ b/skein/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2023-06-09) +- Initial release ([#483]) + +[#483]: https://github.com/RustCrypto/hashes/pull/483 diff --git a/skein/Cargo.toml b/skein/Cargo.toml new file mode 100644 index 000000000..5f1d59871 --- /dev/null +++ b/skein/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "skein" +version = "0.1.0" +description = "Skein hash functions" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +edition = "2021" +rust-version = "1.57" +readme = "README.md" +documentation = "https://docs.rs/skein" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "skein", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.10" +threefish = { version = "0.5.2", default-features = false } + +[dev-dependencies] +digest = { version = "0.10", features = ["dev"] } +hex-literal = "0.4" diff --git a/skein/LICENSE-APACHE b/skein/LICENSE-APACHE new file mode 100644 index 000000000..1eb321535 --- /dev/null +++ b/skein/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2019 The CryptoCorrosion Contributors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/skein/LICENSE-MIT b/skein/LICENSE-MIT new file mode 100644 index 000000000..50c61807c --- /dev/null +++ b/skein/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2023 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/skein/README.md b/skein/README.md new file mode 100644 index 000000000..c1135eeec --- /dev/null +++ b/skein/README.md @@ -0,0 +1,56 @@ +# RustCrypto: Skein + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [Skein] family of cryptographic hash algorithms. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.57** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/skein.svg +[crate-link]: https://crates.io/crates/skein +[docs-image]: https://docs.rs/skein/badge.svg +[docs-link]: https://docs.rs/skein/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/skein/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Askein + +[//]: # (general links) + +[Skein]: https://schneier.com/academic/skein diff --git a/skein/benches/skein1024.rs b/skein/benches/skein1024.rs new file mode 100644 index 000000000..2101cdb34 --- /dev/null +++ b/skein/benches/skein1024.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::{bench_update, generic_array::typenum::U128}; +use skein::Skein1024; +use test::Bencher; + +bench_update!( + Skein1024::::default(); + skein_1024_10 10; + skein_1024_100 100; + skein_1024_1000 1000; + skein_1024_10000 10000; +); diff --git a/skein/benches/skein256.rs b/skein/benches/skein256.rs new file mode 100644 index 000000000..c2646fc79 --- /dev/null +++ b/skein/benches/skein256.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::{bench_update, generic_array::typenum::U32}; +use skein::Skein256; +use test::Bencher; + +bench_update!( + Skein256::::default(); + skein_256_10 10; + skein_256_100 100; + skein_256_1000 1000; + skein_256_10000 10000; +); diff --git a/skein/benches/skein512.rs b/skein/benches/skein512.rs new file mode 100644 index 000000000..727db6989 --- /dev/null +++ b/skein/benches/skein512.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::{bench_update, generic_array::typenum::U64}; +use skein::Skein512; +use test::Bencher; + +bench_update!( + Skein512::::default(); + skein_512_10 10; + skein_512_100 100; + skein_512_1000 1000; + skein_512_10000 10000; +); diff --git a/skein/src/lib.rs b/skein/src/lib.rs new file mode 100644 index 000000000..6f6bcf76e --- /dev/null +++ b/skein/src/lib.rs @@ -0,0 +1,216 @@ +//! Implementation of the [Skein] family of cryptographic hash algorithms. +//! +//! There are 3 standard versions of the Skein hash function: +//! +//! * [`Skein256`] +//! * [`Skein512`] +//! * [`Skein1024`] +//! +//! Output size of the Skein hash functions is arbitrary, so it has to be +//! fixed using additional type parameter +//! +//! # Examples +//! Hash functionality is usually accessed via the [`Digest`] trait: +//! +//! ``` +//! use hex_literal::hex; +//! use skein::{Digest, Skein512, consts::U32}; +//! +//! // Create a Skein-512-256 hasher object +//! let mut hasher = Skein512::::new(); +//! +//! // Write input message +//! hasher.update(b"The quick brown fox "); +//! hasher.update(b"jumps over the lazy dog"); +//! +//! // Read hash digest +//! let result = hasher.finalize(); +//! +//! let expected = hex!("b3250457e05d3060b1a4bbc1428bc75a3f525ca389aeab96cfa34638d96e492a"); +//! assert_eq!(result[..], expected[..]); +//! ``` +//! Also see [RustCrypto/hashes] readme. +//! +//! [Skein]: https://schneier.com/academic/skein +//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes + +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" +)] +#![warn(missing_docs, rust_2018_idioms)] +#![deny(unsafe_code)] + +pub use digest::{self, consts, Digest}; + +use core::{fmt, marker::PhantomData}; +use digest::{ + block_buffer::Lazy, + consts::{U128, U32, U64}, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::{typenum::Unsigned, ArrayLength, GenericArray}, + HashMarker, Output, +}; +use threefish::{Threefish1024, Threefish256, Threefish512}; + +const VERSION: u64 = 1; +const ID_STRING_LE: u64 = 0x3341_4853; +const SCHEMA_VER: u64 = (VERSION << 32) | ID_STRING_LE; +const CFG_TREE_INFO_SEQUENTIAL: u64 = 0; +const T1_FLAG_FIRST: u64 = 1 << 62; +const T1_FLAG_FINAL: u64 = 1 << 63; +const T1_BLK_TYPE_CFG: u64 = 4 << 56; +const T1_BLK_TYPE_MSG: u64 = 48 << 56; +const T1_BLK_TYPE_OUT: u64 = 63 << 56; +const CFG_STR_LEN: usize = 4 * 8; + +macro_rules! define_hasher { + ( + $name:ident, $full_name:ident, $threefish:ident, + $state_bytes:ty, $alg_name:expr + ) => { + #[doc = $alg_name] + #[doc = " core hasher state"] + #[derive(Clone)] + pub struct $name + 'static> { + t: [u64; 2], + x: [u64; <$state_bytes>::USIZE / 8], + _pd: PhantomData, + } + + impl + 'static> $name { + fn blank_state(t1: u64, x: [u64; <$state_bytes>::USIZE / 8]) -> Self { + Self { + t: [0, t1], + x, + _pd: PhantomData, + } + } + + fn process_block( + &mut self, + block: &GenericArray, + byte_count_add: usize, + ) { + const STATE_WORDS: usize = <$state_bytes>::USIZE / 8; + + self.t[0] += byte_count_add as u64; + let cipher = $threefish::new_with_tweak_u64(&self.x.into(), &self.t); + + let mut x = [0u64; STATE_WORDS]; + for (src, dst) in block.chunks_exact(8).zip(x.iter_mut()) { + *dst = u64::from_le_bytes(src.try_into().unwrap()); + } + let t = x; + + cipher.encrypt_block_u64(&mut x); + + for i in 0..STATE_WORDS { + self.x[i] = t[i] ^ x[i]; + } + self.t[1] &= !T1_FLAG_FIRST; + } + } + + impl HashMarker for $name where N: ArrayLength + 'static {} + + impl + 'static> BlockSizeUser for $name { + type BlockSize = $state_bytes; + } + + impl + 'static> BufferKindUser for $name { + type BufferKind = Lazy; + } + + impl + 'static> OutputSizeUser for $name { + type OutputSize = N; + } + + impl + 'static> UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.process_block(block, block.len()) + } + } + } + + impl + 'static> FixedOutputCore for $name { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + self.t[1] |= T1_FLAG_FINAL; + let pos = buffer.get_pos(); + let final_block = buffer.pad_with_zeros(); + self.process_block(final_block, pos); + + // run Threefish in "counter mode" to generate output + let flag = T1_FLAG_FIRST | T1_BLK_TYPE_OUT | T1_FLAG_FINAL; + let mut block = GenericArray::::default(); + for (i, chunk) in out.chunks_mut(<$state_bytes>::USIZE).enumerate() { + let mut ctr = Self::blank_state(flag, self.x); + + block[..8].copy_from_slice(&(i as u64).to_le_bytes()); + Self::process_block(&mut ctr, &block, 8); + + for (src, dst) in ctr.x.iter().zip(chunk.chunks_exact_mut(8)) { + dst.copy_from_slice(&src.to_le_bytes()); + } + } + } + } + + impl + 'static> Default for $name { + fn default() -> Self { + // build and process config block + let mut state = Self::blank_state( + T1_FLAG_FIRST | T1_BLK_TYPE_CFG | T1_FLAG_FINAL, + Default::default(), + ); + + let mut cfg = GenericArray::::default(); + cfg[..8].copy_from_slice(&SCHEMA_VER.to_le_bytes()); + cfg[8..16].copy_from_slice(&(N::to_u64() * 8).to_le_bytes()); + cfg[16..24].copy_from_slice(&CFG_TREE_INFO_SEQUENTIAL.to_le_bytes()); + + state.process_block(&cfg, CFG_STR_LEN); + + // The chaining vars ctx->X are now initialized for the given hashBitLen. + // Set up to process the data message portion of the hash (default) + state.t = [0, T1_FLAG_FIRST | T1_BLK_TYPE_MSG]; + state + } + } + + impl + 'static> Reset for $name { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } + } + + impl + 'static> AlgorithmName for $name { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_name)) + } + } + + impl + 'static> fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + write!(f, "{}<{}> {{ .. }}", stringify!($name), N::USIZE) + } + } + + #[doc = $alg_name] + #[doc = " hasher state"] + pub type $full_name = CoreWrapper<$name>; + }; +} + +define_hasher!(Skein256Core, Skein256, Threefish256, U32, "Skein-256"); +define_hasher!(Skein512Core, Skein512, Threefish512, U64, "Skein-512"); +#[rustfmt::skip] +define_hasher!(Skein1024Core, Skein1024, Threefish1024, U128, "Skein-1024"); diff --git a/skein/tests/data/skein1024_128.blb b/skein/tests/data/skein1024_128.blb new file mode 100644 index 0000000000000000000000000000000000000000..6e844a97475cb89645e690422142082d803e5068 GIT binary patch literal 781 zcmZQz`rpX#Ooz2WZ-J-^``H^6^|$7k7TCT>TJrm#mOnxzC)~{OjXh6{XcN zylVEFeyrd8ecA^P2Ij_K>3oJ8fr)$g|9ihzY1{bvtaEnm@@7}(7{p#h5=g*!#dHm?%gZuaH-no72=8fyuu3ou(>Eea+=gyuved^?i z(;JWy=vu(<;#{XS-fcBg8B32&Y3-H z=8WmnrcRkWY2t+bzTTehuFj73w$_&BrpAUw26;QCBl$bH?9b}{-cuuP!LWrV;gG4< z*FcGR`<-oUTYvtSV19N}!PBtvZPoKX&*qpmE?x9P*N&%3GqmKw*;>UK4`2Oc;j6RC zC0<>qW!F695qSOiB~R%Ix*ij!JllRb^ETJ^RRZ~Z4;IgIdVkbk;-+~S2WRU~_Hh51 zamN-H1~08>9`G=zudA)8uBxmkFDor6E-Ea@&&$op&dSV4PfJZnPD)IOkBg0oj*5&3 z4+{+m4hjtL_w)7f_VV;_cXM@dc5-yEx3jgewz9M^H#0RcHZnBO*VEO}*3#5aS5s9{ zR#H@umy?x|mXeeZ7ZVi`77`TT=i}w!=HldFXJchyW@2P$WN6U}J~>Bd!}*5unV!;5 zAAJvueNk+kx6(=XFVGEJe>wf%yz)qoVtM&g4v%wZxAdp*H~yZq@7s_5s@8+w&x*L6 z6qDil*RQ(H#oys_21DcFs3rC({8xY3*f4XSVOzb1@xqKfCtF_MFj5zqB*(CE7yGpf U@@f+b0#xHZop|J5m=m-V0K-0?YybcN literal 0 HcmV?d00001 diff --git a/skein/tests/data/skein1024_32.blb b/skein/tests/data/skein1024_32.blb new file mode 100644 index 0000000000000000000000000000000000000000..621b9c7cbef104cd4d8ea284a06aa63bab146d8b GIT binary patch literal 185 zcmV;q07m}+06-2>1L}Ja(c>}?3jtoZQn)4=ty!3Wyzy4;E_KD5@%$pbWuvQ2->^=d!TuyIUvm6_naz5l*MI=9{XUzF`D*b# zvEZeg{~`u{=e-VXcUrRSOv*3GZx nl(%L;>ne^a`3xxWPm(N}wb=)~Tlt32nxCz{B{bak1l<*EJy2XX literal 0 HcmV?d00001 diff --git a/skein/tests/data/skein1024_64.blb b/skein/tests/data/skein1024_64.blb new file mode 100644 index 0000000000000000000000000000000000000000..bce87fdd659c010c498a3f47fee6cb2e0519f4a6 GIT binary patch literal 284 zcmV+%0ptDv0Du7Els>S$4*I=GP&#()_s`DuL2ksenF3xzx z7qEPh%Mq7HG0L|L4)UK|_^Du7a=pCCv${(T|Ns5{^ZVD&AK$-y{qp(K#}Dt{y?yig z)yo&ppFMr@_|d}$4!!(K-j~;3kGy|{#VhSTBbtj$g{9&I|U1S}*-=VvKfshgR z@7=v~`_|1H*RNf@a{1E53+K?l`YYP1! zy$XG-_>7N26(jXATmS+%j5+Ky>q(X(x9`FPeLMxAbbs=+afO22qcG$!F)kN7eD>O$N z#-cHgbD?*t3N9o^UI-UDJyU9=a!esOv iOsVuF>Bd(T%U40RO6O=$4?JxV)>404&Q64E$$>cw(~O1y literal 0 HcmV?d00001 diff --git a/skein/tests/data/skein512_32.blb b/skein/tests/data/skein512_32.blb new file mode 100644 index 0000000000000000000000000000000000000000..8db92a590d99f7d50b56c8c8bb1da651e00cb487 GIT binary patch literal 185 zcmV;q07m}+06;m+#8pa*F@-yw=b`>%iX_bDvszX1Ll6n!hk!F(CLtn}O1zwGyUha; zFO5*0G35%9K;8-Ot_l$+1@THQoQZ08zZbkl9zN>zLs1_m;ggui(46_ux+UT(a5t@)Dm{0p+a$e*fYzL1*oZ~3Cj z#k_lW@W{7@>HaxTVC=W#;?3teyQ-8Nx{gdX{yrnU?r@No!7Oi)YYhxNJIvFqB)UNV%lGnz{A!Jm(+fQ{0jcT4lsWb{*bdp3U{1`TgVbY3&;i-Fg{f z;;qd5JMrjZTgCznUy=SwnddIm`}hnL8yL!228P1zd!GGE z2~w(_^EN?5WnT2pm8Cvb*Cfsyd9dnXwqeeRQ<=SO&g^gP8n(R`Eojs_s;+y4bL#@3 z`&!`>nLaxtRy8pE|M&OL?_WQEeE;_K%jZuYKfHhU_RZ^8FJC-=_Vmf)M-Ly|zjyb} z?OQi*T)%ep%H>NJFPuMj_RQ&1Cr=zdcJ#>MLkABuFu1l^FW$%F`$zqGtZB=%FKcEM zX9dJg7T%(*AGdb-{Dbw$ZE{npe#^3EEu0x1b@|81#b?ADwm$vkvyPQ-#*DJ0=thd& zuz%m)J-c`9+_8Pz)-9ViZQQVa-P$#)SFK#JeA&_^ix(|iFn`|MIkRWYoH2dc)G3oE zO`Oo**W1(G)!EVB*4onC)Y#C#F!9V%fkVkh?p_cG<}zkC=1gic{LE2OCw+R=geQTg ocIpLoa8!MfXfIxDWMG$;zI>5DYkrBMB?Cj@m%i>rOV@4(0Ap^12LJ#7 literal 0 HcmV?d00001 diff --git a/skein/tests/lib.rs b/skein/tests/lib.rs new file mode 100644 index 000000000..54360d763 --- /dev/null +++ b/skein/tests/lib.rs @@ -0,0 +1,13 @@ +use skein::{ + consts::{U128, U32, U64}, + digest::{dev::fixed_test, new_test}, + Skein1024, Skein256, Skein512, +}; + +new_test!(skein256_32, "skein256_32", Skein256, fixed_test); +new_test!(skein256_64, "skein256_64", Skein256, fixed_test); +new_test!(skein512_32, "skein512_32", Skein512, fixed_test); +new_test!(skein512_64, "skein512_64", Skein512, fixed_test); +new_test!(skein1024_32, "skein1024_32", Skein1024, fixed_test); +new_test!(skein1024_64, "skein1024_64", Skein1024, fixed_test); +new_test!(skein1024_128, "skein1024_128", Skein1024, fixed_test); From ca07d232e894615c724a3b75197343837c30c29a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 9 Jun 2023 10:10:21 +0300 Subject: [PATCH 276/373] Use cargo-hack in CI jobs (#485) --- .github/workflows/ascon-hash.yml | 9 +++---- .github/workflows/belt-hash.yml | 30 ++++++++++++++--------- .github/workflows/blake2.yml | 31 ++++++++++++++--------- .github/workflows/fsb.yml | 30 ++++++++++++++--------- .github/workflows/gost94.yml | 30 ++++++++++++++--------- .github/workflows/groestl.yml | 30 ++++++++++++++--------- .github/workflows/k12.yml | 30 ++++++++++++++--------- .github/workflows/md2.yml | 31 +++++++++++++---------- .github/workflows/md4.yml | 33 ++++++++++++++----------- .github/workflows/md5.yml | 34 +++++++++++++++----------- .github/workflows/ripemd.yml | 34 ++++++++++++++------------ .github/workflows/sha1.yml | 9 +++---- .github/workflows/sha2.yml | 42 +++++++++++++++----------------- .github/workflows/sha3.yml | 22 ++++++++--------- .github/workflows/shabal.yml | 30 ++++++++++++++--------- .github/workflows/skein.yml | 30 ++++++++++++++--------- .github/workflows/sm3.yml | 30 ++++++++++++++--------- .github/workflows/streebog.yml | 30 ++++++++++++++--------- .github/workflows/tiger.yml | 29 +++++++++++++--------- .github/workflows/whirlpool.yml | 31 +++++++++++++---------- 20 files changed, 332 insertions(+), 243 deletions(-) diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml index 9c53ba9c5..0ecdc233f 100644 --- a/.github/workflows/ascon-hash.yml +++ b/.github/workflows/ascon-hash.yml @@ -41,7 +41,8 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master @@ -62,7 +63,5 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml index 50abcfff2..f76161efc 100644 --- a/.github/workflows/belt-hash.yml +++ b/.github/workflows/belt-hash.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 1c5f40bb8..6cfba0c3c 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,simd,simd_asm,simd_opt test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,9 +58,15 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --features reset + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset --exclude-features simd,simd_asm,simd_opt + + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + simd: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 21b979e51..7bbcd523d 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 0dfb22364..b0d8bbbeb 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,10 +58,13 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # TODO: merge with test on MSRV bump to 1.57 or higher test-msrv-41: diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index e1ec96436..c690c7484 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 016363d64..cabd7c640 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: # - thumbv7em-none-eabi # TODO: no_std w/o liballoc @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index ddd3cc0f7..3e9acc0d0 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,10 +58,13 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # TODO: merge with test on MSRV bump to 1.57 or higher test-msrv-41: @@ -67,7 +73,6 @@ jobs: matrix: rust: - 1.41.0 # MSRV - - stable steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index d8513790e..d578fbbcd 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,19 +58,21 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv-41: + test-msrv: runs-on: ubuntu-latest strategy: matrix: rust: - 1.41.0 # MSRV - - stable steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 1495f7d37..0a9373390 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -21,12 +21,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -38,19 +44,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -58,10 +61,13 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --features asm + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # TODO: merge with test on MSRV bump to 1.57 or higher test-msrv: @@ -69,11 +75,11 @@ jobs: strategy: matrix: rust: - - 1.57.0 # MSRV + - 1.41.0 # MSRV steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --features oid + - run: cargo test diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 9613ed684..1158c3db1 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,21 +41,17 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV - # in the `test-msrv` job. - - 1.57.0 + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -57,10 +59,13 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # TODO: merge with test on MSRV bump to 1.57 or higher test-msrv: @@ -68,12 +73,11 @@ jobs: strategy: matrix: rust: - - 1.57.0 # MSRV + - 1.41.0 # MSRV steps: - uses: actions/checkout@v3 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo test --features oid - run: cargo test --no-default-features diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 76b4d1190..e816af7c9 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -44,7 +44,8 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master @@ -81,11 +82,9 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master - run: ${{ matrix.deps }} - - run: cargo test --target ${{ matrix.target }} --no-default-features - - run: cargo test --target ${{ matrix.target }} - - run: cargo test --target ${{ matrix.target }} --features asm - - run: cargo test --target ${{ matrix.target }} --all-features + - run: cargo hack test --feature-powerset # macOS tests macos: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 038809089..660d4eb79 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -32,7 +32,7 @@ jobs: strategy: matrix: rust: - - ${{needs.set-msrv.outputs.msrv}} + - 1.57 - stable target: - thumbv7em-none-eabi @@ -44,12 +44,8 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm-aarch64,asm # Linux tests linux: @@ -70,7 +66,6 @@ jobs: rust: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-unknown-linux-gnu rust: stable - runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -79,11 +74,9 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master - run: ${{ matrix.deps }} - - run: cargo test --target ${{ matrix.target }} --no-default-features - - run: cargo test --target ${{ matrix.target }} - - run: cargo test --target ${{ matrix.target }} --features asm - - run: cargo test --target ${{ matrix.target }} --all-features + - run: cargo hack test --feature-powerset --exclude-features asm-aarch64 # macOS tests macos: @@ -93,7 +86,6 @@ jobs: rust: - ${{needs.set-msrv.outputs.msrv}} - stable - runs-on: macos-latest steps: - uses: actions/checkout@v3 @@ -102,23 +94,22 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: x86_64-apple-darwin + - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo test --no-default-features - run: cargo test - run: cargo test --features asm + - run: cargo test --all-features # Windows tests windows: needs: set-msrv strategy: matrix: - include: - # 64-bit Windows (GNU) - # TODO(tarcieri): try re-enabling this when we bump MSRV - #- target: x86_64-pc-windows-gnu - # toolchain: 1.41.0 # MSRV - - target: x86_64-pc-windows-gnu - rust: stable - + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - x86_64-pc-windows-gnu runs-on: windows-latest steps: - uses: actions/checkout@v3 @@ -132,10 +123,11 @@ jobs: # Cross-compiled tests cross: + needs: set-msrv strategy: matrix: rust: - - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest + - ${{needs.set-msrv.outputs.msrv}} - stable target: - aarch64-unknown-linux-gnu @@ -146,7 +138,6 @@ jobs: - rust: stable target: aarch64-unknown-linux-gnu features: asm - runs-on: ubuntu-latest defaults: run: @@ -161,6 +152,11 @@ jobs: target: ${{ matrix.target }} features: ${{ matrix.features }} + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + # TODO: remove on MSRV bump to 1.57 or higher test-msrv: runs-on: ubuntu-latest diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index db4d4078a..482a36ede 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -43,12 +43,8 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm test: needs: set-msrv @@ -64,17 +60,21 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # Cross-compiled tests cross: + needs: set-msrv strategy: matrix: rust: - - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest + - ${{needs.set-msrv.outputs.msrv}} - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index 2c42ef43f..bba14d86f 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/skein.yml b/.github/workflows/skein.yml index 8f16200cf..d94022496 100644 --- a/.github/workflows/skein.yml +++ b/.github/workflows/skein.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.57.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index ca2c470be..d1b0f3e3c 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,7 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 6b82856f3..08f8067d8 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - #- 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,10 +58,13 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} # `oid` feature bumps MSRV to 1.57, so we temporarily split this job. test-msrv: diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 9baf7c159..941ebf290 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -21,12 +21,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.56.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -38,19 +44,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -58,6 +61,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check - - run: cargo test --no-default-features - - run: cargo test + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 2609dd901..445eedf04 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -18,12 +18,18 @@ env: RUSTFLAGS: "-Dwarnings" jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.41.0 + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -35,19 +41,16 @@ jobs: with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - - run: cargo build --no-default-features --target ${{ matrix.target }} - - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - uses: actions/checkout@v3 @@ -55,8 +58,10 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - - run: cargo check --all-features - - run: cargo test --no-default-features - - run: cargo test - - run: cargo test --features asm - - run: cargo test --all-features + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} From c24e4b82648357babc84b6e15ad576598162ea65 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 10 Jun 2023 10:38:59 -0600 Subject: [PATCH 277/373] k12: 2021 edition upgrade; MSRV 1.56 (#487) --- .github/workflows/k12.yml | 4 ++-- Cargo.lock | 19 ------------------- Cargo.toml | 2 +- k12/Cargo.toml | 15 ++++++++++----- k12/README.md | 4 ++-- 5 files changed, 15 insertions(+), 29 deletions(-) diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index cabd7c640..a1ea61e14 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.56.0 build: needs: set-msrv @@ -32,7 +32,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable target: - # - thumbv7em-none-eabi # TODO: no_std w/o liballoc + - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - uses: actions/checkout@v3 diff --git a/Cargo.lock b/Cargo.lock index d7038a235..124ba657e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,15 +129,6 @@ dependencies = [ "proc-macro-hack", ] -[[package]] -name = "k12" -version = "0.2.1" -dependencies = [ - "digest", - "hex-literal", - "sha3 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "keccak" version = "0.1.4" @@ -251,16 +242,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest", - "keccak", -] - [[package]] name = "shabal" version = "0.4.1" diff --git a/Cargo.toml b/Cargo.toml index 85c713c97..7ee1c07fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,6 @@ members = [ "fsb", "gost94", "groestl", - "k12", "md2", "md4", "md5", @@ -24,6 +23,7 @@ members = [ exclude = [ "ascon-hash", "belt-hash", + "k12", "skein", ] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 05e835040..248a02a93 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,24 +1,29 @@ [package] name = "k12" -version = "0.2.1" +version = "0.3.0-pre" description = "Pure Rust implementation of the KangarooTwelve hash function" -authors = ["Diggory Hardy "] +authors = ["RustCrypto Developers", "Diggory Hardy "] license = "Apache-2.0 OR MIT" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.56" [dependencies] digest = { version = "0.10.7", default-features = false, features = ["core-api"] } -sha3 = "0.10.8" +sha3 = { version = "0.10.8", default-features = false } [dev-dependencies] digest = { version = "0.10.7", features = ["alloc", "dev"] } -hex-literal = "0.2.2" +hex-literal = "0.3" [features] default = ["std"] std = ["digest/std"] + +# TODO: remove when crate will be part of the root workspace +[profile.dev] +opt-level = 2 diff --git a/k12/README.md b/k12/README.md index 844711ff4..2c2c93996 100644 --- a/k12/README.md +++ b/k12/README.md @@ -13,7 +13,7 @@ function (XOF). ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.56** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/k12/badge.svg [docs-link]: https://docs.rs/k12/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master From df9b8a2cce4095f1b016809cd49405e642328348 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 10 Jun 2023 11:07:07 -0600 Subject: [PATCH 278/373] k12 v0.3.0 (#488) --- k12/CHANGELOG.md | 12 ++++++++++++ k12/Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md index 1988dcc1f..381891b74 100644 --- a/k12/CHANGELOG.md +++ b/k12/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.3.0 (2023-06-10) +### Added +- Support for heapless `no_std` targets ([#353]) + +### Changed +- Use TurboSHAKE implementation from `sha3` ([#353]) +- Properly implement `XofReader` ([#353]) +- 2021 edition upgrade; MSRV 1.56 ([#487]) + +[#353]: https://github.com/RustCrypto/hashes/pull/353 +[#487]: https://github.com/RustCrypto/hashes/pull/487 + ## 0.2.1 (2022-02-17) ### Fixed - Minimal versions build ([#363]) diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 248a02a93..f0679ea53 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.3.0-pre" +version = "0.3.0" description = "Pure Rust implementation of the KangarooTwelve hash function" authors = ["RustCrypto Developers", "Diggory Hardy "] license = "Apache-2.0 OR MIT" From cf5f1d2dfe9ffbb9b7f028367f8881304cbd2915 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 10 Jun 2023 11:20:36 -0600 Subject: [PATCH 279/373] k12: fix typo in README.md (#489) --- k12/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/k12/README.md b/k12/README.md index 2c2c93996..7b72ed718 100644 --- a/k12/README.md +++ b/k12/README.md @@ -6,8 +6,8 @@ ![Rust Version][rustc-image] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [KangarooTwelve][1] extensible-output -function (XOF). +Pure Rust implementation of the [KangarooTwelve][1] eXtendable-Output Function +(XOF). [Documentation][docs-link] From 1affb24f1ad4141eb576a521c1cb2f183364f456 Mon Sep 17 00:00:00 2001 From: Artem Vorotnikov Date: Sun, 11 Jun 2023 08:38:12 +0300 Subject: [PATCH 280/373] JH hash implementation (#484) --- .github/workflows/jh.yml | 67 ++++++++++ Cargo.toml | 1 + README.md | 3 + jh/CHANGELOG.md | 11 ++ jh/Cargo.toml | 21 ++++ jh/LICENSE-APACHE | 201 ++++++++++++++++++++++++++++++ jh/LICENSE-MIT | 25 ++++ jh/README.md | 56 +++++++++ jh/benches/digest_bench.rs | 14 +++ jh/benches/machine.rs | 38 ++++++ jh/src/compressor.rs | 186 +++++++++++++++++++++++++++ jh/src/consts.rs | 74 +++++++++++ jh/src/lib.rs | 147 ++++++++++++++++++++++ jh/tests/data/LongMsgKAT_224.blb | Bin 0 -> 149696 bytes jh/tests/data/LongMsgKAT_256.blb | Bin 0 -> 149956 bytes jh/tests/data/LongMsgKAT_384.blb | Bin 0 -> 150996 bytes jh/tests/data/LongMsgKAT_512.blb | Bin 0 -> 152101 bytes jh/tests/data/ShortMsgKAT_224.blb | Bin 0 -> 40513 bytes jh/tests/data/ShortMsgKAT_256.blb | Bin 0 -> 41537 bytes jh/tests/data/ShortMsgKAT_384.blb | Bin 0 -> 45633 bytes jh/tests/data/ShortMsgKAT_512.blb | Bin 0 -> 49985 bytes jh/tests/lib.rs | 11 ++ 22 files changed, 855 insertions(+) create mode 100644 .github/workflows/jh.yml create mode 100644 jh/CHANGELOG.md create mode 100644 jh/Cargo.toml create mode 100644 jh/LICENSE-APACHE create mode 100644 jh/LICENSE-MIT create mode 100644 jh/README.md create mode 100644 jh/benches/digest_bench.rs create mode 100644 jh/benches/machine.rs create mode 100644 jh/src/compressor.rs create mode 100644 jh/src/consts.rs create mode 100644 jh/src/lib.rs create mode 100644 jh/tests/data/LongMsgKAT_224.blb create mode 100644 jh/tests/data/LongMsgKAT_256.blb create mode 100644 jh/tests/data/LongMsgKAT_384.blb create mode 100644 jh/tests/data/LongMsgKAT_512.blb create mode 100644 jh/tests/data/ShortMsgKAT_224.blb create mode 100644 jh/tests/data/ShortMsgKAT_256.blb create mode 100644 jh/tests/data/ShortMsgKAT_384.blb create mode 100644 jh/tests/data/ShortMsgKAT_512.blb create mode 100644 jh/tests/lib.rs diff --git a/.github/workflows/jh.yml b/.github/workflows/jh.yml new file mode 100644 index 000000000..e72676247 --- /dev/null +++ b/.github/workflows/jh.yml @@ -0,0 +1,67 @@ +name: jh + +on: + pull_request: + paths: + - ".github/workflows/jh.yml" + - "jh/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: jh + +env: + CARGO_INCREMENTAL: 0 + RUSTFLAGS: "-Dwarnings" + +jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.57.0 + + build: + needs: set-msrv + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std + + test: + needs: set-msrv + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack test --feature-powerset + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} diff --git a/Cargo.toml b/Cargo.toml index 7ee1c07fb..790a09c7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ members = [ exclude = [ "ascon-hash", "belt-hash", + "jh", "k12", "skein", ] diff --git a/README.md b/README.md index 887353d1e..8603430be 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | | [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.57][msrv-1.57] | :green_heart: | | [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | @@ -244,6 +245,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`fsb`]: ./fsb [`gost94`]: ./gost94 [`groestl`]: ./groestl +[`jh`]: ./jh [`k12`]: ./k12 [`md2`]: ./md2 [`md4`]: ./md4 @@ -284,6 +286,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [FSB]: https://en.wikipedia.org/wiki/Fast_syndrome-based_hash [GOST94]: https://en.wikipedia.org/wiki/GOST_(hash_function) [Grøstl]: https://en.wikipedia.org/wiki/Grøstl +[JH]: https://www3.ntu.edu.sg/home/wuhj/research/jh [KangarooTwelve]: https://keccak.team/kangarootwelve.html [MD2]: https://en.wikipedia.org/wiki/MD2_(cryptography) [MD4]: https://en.wikipedia.org/wiki/MD4 diff --git a/jh/CHANGELOG.md b/jh/CHANGELOG.md new file mode 100644 index 000000000..43a72ca02 --- /dev/null +++ b/jh/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2023-06-11) +- Initial release ([#484]) + +[#484]: https://github.com/RustCrypto/hashes/pull/484 diff --git a/jh/Cargo.toml b/jh/Cargo.toml new file mode 100644 index 000000000..cd2c77a92 --- /dev/null +++ b/jh/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "jh" +version = "0.1.0" +description = "Pure Rust implementation of the JH cryptographic hash function" +authors = ["RustCrypto Developers"] +license = "MIT or Apache-2.0" +edition = "2021" +rust-version = "1.57" +readme = "README.md" +documentation = "https://docs.rs/jh" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "jh", "hash", "digest"] +categories = ["cryptography", "no-std"] + +[dependencies] +digest = "0.10" +hex-literal = "0.4" +simd = { package = "ppv-lite86", version = "0.2.6" } + +[dev-dependencies] +digest = { version = "0.10", features = ["dev"] } diff --git a/jh/LICENSE-APACHE b/jh/LICENSE-APACHE new file mode 100644 index 000000000..1eb321535 --- /dev/null +++ b/jh/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2019 The CryptoCorrosion Contributors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/jh/LICENSE-MIT b/jh/LICENSE-MIT new file mode 100644 index 000000000..50c61807c --- /dev/null +++ b/jh/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2023 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/jh/README.md b/jh/README.md new file mode 100644 index 000000000..8e6cb0749 --- /dev/null +++ b/jh/README.md @@ -0,0 +1,56 @@ +# RustCrypto: JH + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [JH] cryptographic hash function. + +[Documentation][docs-link] + +## Minimum Supported Rust Version + +Rust **1.57** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +Licensed under either of: + + * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) + * [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/jh.svg +[crate-link]: https://crates.io/crates/jh +[docs-image]: https://docs.rs/jh/badge.svg +[docs-link]: https://docs.rs/jh/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/jh/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%jh + +[//]: # (general links) + +[JH]: https://en.wikipedia.org/wiki/JH_(hash_function) diff --git a/jh/benches/digest_bench.rs b/jh/benches/digest_bench.rs new file mode 100644 index 000000000..6382575c0 --- /dev/null +++ b/jh/benches/digest_bench.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use jh::Jh256; +use test::Bencher; + +bench_update!( + Jh256::default(); + jh_256_10 10; + jh_256_100 100; + jh_256_1000 1000; + jh_256_10000 10000; +); diff --git a/jh/benches/machine.rs b/jh/benches/machine.rs new file mode 100644 index 000000000..6583eaf44 --- /dev/null +++ b/jh/benches/machine.rs @@ -0,0 +1,38 @@ +#![feature(test)] +extern crate test; + +use simd::{vec128_storage, x86_64, Machine}; +use test::Bencher; + +macro_rules! mach_bench { + ($MachName:ident, $feature:expr, $enable:expr) => { + #[allow(non_snake_case)] + #[bench] + pub fn $MachName(b: &mut Bencher) { + if !$enable { + return; + } + let m = unsafe { x86_64::$MachName::instance() }; + let mut state = [vec128_storage::default(); 8]; + let input = [0; 64]; + #[target_feature(enable = $feature)] + unsafe fn runner( + m: M, + state: &mut [vec128_storage; 8], + input: *const [u8; 64], + ) { + for _ in 0..160 { + jh::f8_impl(m, state, input as *const _); + } + } + b.iter(|| unsafe { runner(m, &mut state, &input) }); + b.bytes = 10240; + } + }; +} + +mach_bench!(SSE2, "sse2", is_x86_feature_detected!("sse2")); +mach_bench!(SSSE3, "ssse3", is_x86_feature_detected!("ssse3")); +mach_bench!(SSE41, "sse4.1", is_x86_feature_detected!("sse4.1")); +mach_bench!(AVX, "avx", is_x86_feature_detected!("avx")); +mach_bench!(AVX2, "avx2", is_x86_feature_detected!("avx2")); diff --git a/jh/src/compressor.rs b/jh/src/compressor.rs new file mode 100644 index 000000000..f75cde8a0 --- /dev/null +++ b/jh/src/compressor.rs @@ -0,0 +1,186 @@ +#![allow(non_upper_case_globals)] + +use core::ptr; +use digest::generic_array::{typenum::U64, GenericArray}; +use simd::{dispatch, vec128_storage, AndNot, Machine, Swap64, VZip, Vec2}; + +#[rustfmt::skip] +macro_rules! unroll7 { + ($j:ident, $body:block) => { + { const $j: usize = 0; $body } + { const $j: usize = 1; $body } + { const $j: usize = 2; $body } + { const $j: usize = 3; $body } + { const $j: usize = 4; $body } + { const $j: usize = 5; $body } + { const $j: usize = 6; $body } + }; +} + +#[repr(C)] +#[derive(Copy, Clone)] +struct X8( + M::u128x1, + M::u128x1, + M::u128x1, + M::u128x1, + M::u128x1, + M::u128x1, + M::u128x1, + M::u128x1, +); + +impl X8 { + #[inline(always)] + fn zip(self) -> (M::u128x2, M::u128x2, M::u128x2, M::u128x2) { + ( + [self.0, self.1].vzip(), + [self.2, self.3].vzip(), + [self.4, self.5].vzip(), + [self.6, self.7].vzip(), + ) + } + + #[inline(always)] + fn unzip((a, b, c, d): (M::u128x2, M::u128x2, M::u128x2, M::u128x2)) -> Self { + X8( + a.extract(0), + a.extract(1), + b.extract(0), + b.extract(1), + c.extract(0), + c.extract(1), + d.extract(0), + d.extract(1), + ) + } +} + +/// two Sboxes computed in parallel; each Sbox implements S0 and S1, selected by a constant bit +#[inline(always)] +fn ss(state: X8, mut k: M::u128x2) -> X8 { + let mut m = state.zip(); + // TODO: replace ! with andnot ops? + m.3 = !m.3; + m.0 ^= m.2.andnot(k); + k ^= m.0 & m.1; + m.0 ^= m.3 & m.2; + m.3 ^= m.1.andnot(m.2); + m.1 ^= m.0 & m.2; + m.2 ^= m.3.andnot(m.0); + m.0 ^= m.1 | m.3; + m.3 ^= m.1 & m.2; + m.2 ^= k; + m.1 ^= k & m.0; + X8::unzip(m) +} + +#[inline(always)] +fn l(mut y: X8) -> X8 { + y.1 ^= y.2; + y.3 ^= y.4; + y.5 ^= y.6 ^ y.0; + y.7 ^= y.0; + y.0 ^= y.3; + y.2 ^= y.5; + y.4 ^= y.7 ^ y.1; + y.6 ^= y.1; + y +} + +union X2Bytes { + x2: M::u128x2, + bytes: [u8; 32], +} + +#[inline(always)] +#[doc(hidden)] +pub fn f8_impl(mach: M, state: &mut [vec128_storage; 8], data: *const u8) { + #[allow(clippy::cast_ptr_alignment)] + let data = data as *const M::u128x1; + let mut y = X8::( + mach.unpack(state[0]), + mach.unpack(state[1]), + mach.unpack(state[2]), + mach.unpack(state[3]), + mach.unpack(state[4]), + mach.unpack(state[5]), + mach.unpack(state[6]), + mach.unpack(state[7]), + ); + unsafe { + y.0 ^= ptr::read_unaligned(data); + y.1 ^= ptr::read_unaligned(data.offset(1)); + y.2 ^= ptr::read_unaligned(data.offset(2)); + y.3 ^= ptr::read_unaligned(data.offset(3)); + } + for rc in crate::consts::E8_BITSLICE_ROUNDCONSTANT.chunks_exact(7) { + unroll7!(j, { + y = ss(y, unsafe { X2Bytes:: { bytes: rc[j] }.x2 }); + y = l(y); + let f = match j { + 0 => M::u128x1::swap1, + 1 => M::u128x1::swap2, + 2 => M::u128x1::swap4, + 3 => M::u128x1::swap8, + 4 => M::u128x1::swap16, + 5 => M::u128x1::swap32, + 6 => M::u128x1::swap64, + _ => unreachable!(), + }; + y = X8(y.0, f(y.1), y.2, f(y.3), y.4, f(y.5), y.6, f(y.7)); + }); + } + unsafe { + y.4 ^= ptr::read_unaligned(data); + y.5 ^= ptr::read_unaligned(data.offset(1)); + y.6 ^= ptr::read_unaligned(data.offset(2)); + y.7 ^= ptr::read_unaligned(data.offset(3)); + } + *state = [ + y.0.into(), + y.1.into(), + y.2.into(), + y.3.into(), + y.4.into(), + y.5.into(), + y.6.into(), + y.7.into(), + ]; +} + +dispatch!(mach, M, { + fn f8(state: &mut [vec128_storage; 8], data: *const u8) { + f8_impl(mach, state, data); + } +}); + +pub(crate) union Compressor { + cv: [vec128_storage; 8], + bytes: [u8; 128], +} + +impl Compressor { + #[inline] + pub(crate) fn new(bytes: [u8; 128]) -> Self { + Compressor { bytes } + } + + #[inline] + pub(crate) fn update(&mut self, data: &GenericArray) { + f8(unsafe { &mut self.cv }, data.as_ptr()); + } + + #[inline] + pub(crate) fn finalize(&self) -> &[u8; 128] { + unsafe { &self.bytes } + } +} + +impl Clone for Compressor { + fn clone(&self) -> Self { + Self { + bytes: unsafe { self.bytes }, + } + } +} diff --git a/jh/src/consts.rs b/jh/src/consts.rs new file mode 100644 index 000000000..49e5003be --- /dev/null +++ b/jh/src/consts.rs @@ -0,0 +1,74 @@ +use hex_literal::hex; + +pub(crate) const JH224_H0: [u8; 128] = hex!( + "2dfedd62f99a98acae7cacd619d634e7a4831005bc301216b86038c6c9661494" + "66d9899f2580706fce9ea31b1d9b1adc11e8325f7b366e10f994857f02fa06c1" + "1b4f1b5cd8c840b397f6a17f6e738099dcdf93a5adeaa3d3a431e8dec9539a68" + "22b4a98aec86a1e4d574ac959ce56cf015960deab5ab2bbf9611dcf0dd64ea6e" +); + +pub(crate) const JH256_H0: [u8; 128] = hex!( + "eb98a3412c20d3eb92cdbe7b9cb245c11c93519160d4c7fa260082d67e508a03" + "a4239e267726b945e0fb1a48d41a9477cdb5ab26026b177a56f024420fff2fa8" + "71a396897f2e4d751d144908f77de262277695f776248f9487d5b6574780296c" + "5c5e272dac8e0d6c518450c657057a0f7be4d367702412ea89e3ab13d31cd769" +); + +pub(crate) const JH384_H0: [u8; 128] = hex!( + "481e3bc6d813398a6d3b5e894ade879b63faea68d480ad2e332ccb21480f8267" + "98aec84d9082b928d455ea304111424936f555b2924847ecc7250a93baf43ce1" + "569b7f8a27db454c9efcbd496397af0e589fc27d26aa80cd80c08b8c9deb2eda" + "8a7981e8f8d5373af43967adddd17a71a9b4d3bda475d394976c3fba9842737f" +); + +pub(crate) const JH512_H0: [u8; 128] = hex!( + "6fd14b963e00aa17636a2e057a15d5438a225e8d0c97ef0be9341259f2b3c361" + "891da0c1536f801e2aa9056bea2b6d80588eccdb2075baa6a90f3a76baf83bf7" + "0169e60541e34a6946b58a8e2e6fe65a1047a7d0c1843c243b6e71b12d5ac199" + "cf57f6ec9db1f856a706887c5716b156e3c2fcdfe68517fb545a4678cc8cdd4b" +); + +pub(crate) const E8_BITSLICE_ROUNDCONSTANT: [[u8; 32]; 42] = [ + hex!("72d5dea2df15f8677b84150ab723155781abd6904d5a87f64e9f4fc5c3d12b40"), + hex!("ea983ae05c45fa9c03c5d29966b2999a660296b4f2bb538ab556141a88dba231"), + hex!("03a35a5c9a190edb403fb20a87c144101c051980849e951d6f33ebad5ee7cddc"), + hex!("10ba139202bf6b41dc786515f7bb27d00a2c813937aa78503f1abfd2410091d3"), + hex!("422d5a0df6cc7e90dd629f9c92c097ce185ca70bc72b44acd1df65d663c6fc23"), + hex!("976e6c039ee0b81a2105457e446ceca8eef103bb5d8e61fafd9697b294838197"), + hex!("4a8e8537db03302f2a678d2dfb9f6a958afe7381f8b8696c8ac77246c07f4214"), + hex!("c5f4158fbdc75ec475446fa78f11bb8052de75b7aee488bc82b8001e98a6a3f4"), + hex!("8ef48f33a9a36315aa5f5624d5b7f989b6f1ed207c5ae0fd36cae95a06422c36"), + hex!("ce2935434efe983d533af974739a4ba7d0f51f596f4e81860e9dad81afd85a9f"), + hex!("a7050667ee34626a8b0b28be6eb9172747740726c680103fe0a07e6fc67e487b"), + hex!("0d550aa54af8a4c091e3e79f978ef19e8676728150608dd47e9e5a41f3e5b062"), + hex!("fc9f1fec4054207ae3e41a00cef4c9844fd794f59dfa95d8552e7e1124c354a5"), + hex!("5bdf7228bdfe6e2878f57fe20fa5c4b205897cefee49d32e447e9385eb28597f"), + hex!("705f6937b324314a5e8628f11dd6e465c71b770451b920e774fe43e823d4878a"), + hex!("7d29e8a3927694f2ddcb7a099b30d9c11d1b30fb5bdc1be0da24494ff29c82bf"), + hex!("a4e7ba31b470bfff0d324405def8bc483baefc3253bbd339459fc3c1e0298ba0"), + hex!("e5c905fdf7ae090f947034124290f134a271b701e344ed95e93b8e364f2f984a"), + hex!("88401d63a06cf61547c1444b8752afff7ebb4af1e20ac6304670b6c5cc6e8ce6"), + hex!("a4d5a456bd4fca00da9d844bc83e18ae7357ce453064d1ade8a6ce68145c2567"), + hex!("a3da8cf2cb0ee11633e906589a94999a1f60b220c26f847bd1ceac7fa0d18518"), + hex!("32595ba18ddd19d3509a1cc0aaa5b4469f3d6367e4046bbaf6ca19ab0b56ee7e"), + hex!("1fb179eaa9282174e9bdf7353b3651ee1d57ac5a7550d3763a46c2fea37d7001"), + hex!("f735c1af98a4d84278edec209e6b677941836315ea3adba8fac33b4d32832c83"), + hex!("a7403b1f1c2747f35940f034b72d769ae73e4e6cd2214ffdb8fd8d39dc5759ef"), + hex!("8d9b0c492b49ebda5ba2d74968f3700d7d3baed07a8d5584f5a5e9f0e4f88e65"), + hex!("a0b8a2f436103b530ca8079e753eec5a9168949256e8884f5bb05c55f8babc4c"), + hex!("e3bb3b99f387947b75daf4d6726b1c5d64aeac28dc34b36d6c34a550b828db71"), + hex!("f861e2f2108d512ae3db643359dd75fc1cacbcf143ce3fa267bbd13c02e843b0"), + hex!("330a5bca8829a1757f34194db416535c923b94c30e794d1e797475d7b6eeaf3f"), + hex!("eaa8d4f7be1a39215cf47e094c23275126a32453ba323cd244a3174a6da6d5ad"), + hex!("b51d3ea6aff2c90883593d98916b3c564cf87ca17286604d46e23ecc086ec7f6"), + hex!("2f9833b3b1bc765e2bd666a5efc4e62a06f4b6e8bec1d43674ee8215bcef2163"), + hex!("fdc14e0df453c969a77d5ac4065858267ec1141606e0fa167e90af3d28639d3f"), + hex!("d2c9f2e3009bd20c5faace30b7d40c30742a5116f2e032980deb30d8e3cef89a"), + hex!("4bc59e7bb5f17992ff51e66e048668d39b234d57e6966731cce6a6f3170a7505"), + hex!("b17681d913326cce3c175284f805a262f42bcbb378471547ff46548223936a48"), + hex!("38df58074e5e6565f2fc7c89fc86508e31702e44d00bca86f04009a23078474e"), + hex!("65a0ee39d1f73883f75ee937e42c3abd2197b2260113f86fa344edd1ef9fdee7"), + hex!("8ba0df15762592d93c85f7f612dc42bed8a7ec7cab27b07e538d7ddaaa3ea8de"), + hex!("aa25ce93bd0269d85af643fd1a7308f9c05fefda174a19a5974d66334cfd216a"), + hex!("35b49831db411570ea1e0fbbedcd549b9ad063a151974072f6759dbf91476fe2"), +]; diff --git a/jh/src/lib.rs b/jh/src/lib.rs new file mode 100644 index 000000000..9dcea8940 --- /dev/null +++ b/jh/src/lib.rs @@ -0,0 +1,147 @@ +//! Implementation of the [JH] cryptographic hash function. +//! +//! There are 4 standard versions of the JH hash function: +//! +//! * [JH-224][Jh224] +//! * [JH-256][Jh256] +//! * [JH-384][Jh384] +//! * [JH-512][Jh512] +//! +//! # Examples +//! +//! Hash functionality is usually accessed via the [`Digest`] trait: +//! +//! ``` +//! use hex_literal::hex; +//! use jh::{Digest, Jh256}; +//! +//! // create a JH-256 object +//! let mut hasher = Jh256::new(); +//! +//! // write input message +//! hasher.update(b"hello"); +//! +//! // read hash digest +//! let result = hasher.finalize(); +//! +//! let expected = hex!("94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8306089"); +//! assert_eq!(result[..], expected[..]); +//! ``` +//! Also see [RustCrypto/hashes] readme. +//! +//! [JH]: https://en.wikipedia.org/wiki/JH_(hash_function) +//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" +)] +#![warn(missing_docs, rust_2018_idioms)] + +mod compressor; +mod consts; + +// This function is exported only for benchmarks +pub use compressor::f8_impl; + +pub use digest::{self, Digest}; + +use crate::compressor::Compressor; +use core::fmt; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, CtVariableCoreWrapper, + TruncSide, UpdateCore, VariableOutputCore, + }, + crypto_common::{BlockSizeUser, OutputSizeUser}, + generic_array::typenum::{Unsigned, U28, U32, U48, U64}, + HashMarker, InvalidOutputSize, Output, +}; + +/// Core JH hasher state +#[derive(Clone)] +pub struct JhCore { + state: Compressor, + block_len: u64, +} + +impl HashMarker for JhCore {} + +impl BlockSizeUser for JhCore { + type BlockSize = U64; +} + +impl BufferKindUser for JhCore { + type BufferKind = Eager; +} + +impl OutputSizeUser for JhCore { + type OutputSize = U64; +} + +impl UpdateCore for JhCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len = self.block_len.wrapping_add(blocks.len() as u64); + for b in blocks { + self.state.update(b); + } + } +} + +impl VariableOutputCore for JhCore { + const TRUNC_SIDE: TruncSide = TruncSide::Right; + + #[inline] + fn new(output_size: usize) -> Result { + let h0 = match output_size { + 28 => consts::JH224_H0, + 32 => consts::JH256_H0, + 48 => consts::JH384_H0, + 64 => consts::JH512_H0, + _ => return Err(InvalidOutputSize), + }; + Ok(Self { + state: Compressor::new(h0), + block_len: 0, + }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let Self { state, block_len } = self; + let bit_len = block_len + .wrapping_mul(Self::BlockSize::U64) + .wrapping_add(buffer.get_pos() as u64) + .wrapping_mul(8); + if buffer.get_pos() == 0 { + buffer.len64_padding_be(bit_len, |b| state.update(b)); + } else { + buffer.digest_pad(0x80, &[], |b| state.update(b)); + buffer.digest_pad(0, &bit_len.to_be_bytes(), |b| state.update(b)); + } + out.copy_from_slice(&self.state.finalize()[64..]); + } +} + +impl AlgorithmName for JhCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Jh") + } +} + +impl fmt::Debug for JhCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("JhCore { ... }") + } +} + +/// Jh-224 hasher state +pub type Jh224 = CoreWrapper>; +/// Jh-256 hasher state +pub type Jh256 = CoreWrapper>; +/// Jh-384 hasher state +pub type Jh384 = CoreWrapper>; +/// Jh-512 hasher state +pub type Jh512 = CoreWrapper>; diff --git a/jh/tests/data/LongMsgKAT_224.blb b/jh/tests/data/LongMsgKAT_224.blb new file mode 100644 index 0000000000000000000000000000000000000000..4a1a49e4581a8f6e0af66f791601eff6a37f760f GIT binary patch literal 149696 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
    Hjx$93{RkQBn_M<1>hj0EwbU@u1elI1h^%V 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
    >gV?keXQQ_ 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 z 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 literal 0 HcmV?d00001 diff --git a/jh/tests/data/LongMsgKAT_384.blb b/jh/tests/data/LongMsgKAT_384.blb new file mode 100644 index 0000000000000000000000000000000000000000..94e5f8b48328b4b4c9b3782c037e57da28e7b124 GIT binary patch literal 150996 zcmV(pK=8i+g8*_yCy{JWGloOvnQsS&ey`bU-vQcwnH@n@xxNyW>U|-}IUh_)LC0Tr z<@e=y(kV(ys#D?8iGdyAkN0@`X#J$ z(4Q4H@`ls-+RFPZ(a_Fv)=e3ITy-F`%(DG->vCpGsW?;bLF&I!@D<%z6#&o}-4-Yn z%$YTnv6WyQ|5RqUXEe8v*0mTK&Eu&muwi`J&BzwPq*T7(mHwMBr>SSaYP?QxNrX#R z`%%qJN6GTeM_NG*Sy!yyYerudI}7{b`aUSy;w z&MRpB2dh^qiwYx%W>1+&p9Jev-xGEx7!cs+yyKSjC(|)AQhKB?^^OjT$$EQhc|6nu)fd)cmGgQu(6`e1d&5Pn z1j-&JWPsl6IrYefLCM?;(KUfs{p{VAXj{9r!Tw&Toh-De)zK@s$df1^^Nxqsw1gi9 zPzfzWegQuq>XS|wV9B34-u{ycD=NYORrvW&3Lg{&XQNU5jFnt*K}JmQR|BvRV@`=q z=*OhG2~)K5OoV&_J&~+aCIQFFIYQPbCsu8eXuCpo{Hhx1CuurqVPz(E+n|yepc_3} z-=QT(sYd6IJX~VkhzkPJ?(0jIV`VAEun{1#KKx0{`!={qe9@O@wKou^HfTG=;N{6v zO#A>wk?4IJ?m4(?l{Ipbd)8=T4y%WQZJ$4nD6HfWP++ZWA957!+42?t zw2`)fuxi2sEj8x-_%f)lU{>02*MAhp znavs28_uvi)Xsj!SAg!f#q zt7@SY-DwS@6Bu-%%8zi0(NUhMQo-U$%Tx^+W0J?7hjmmW{^!V$fQ(irA~l}sQs|*C zySZuId12DJQUi38by{DbPYqC^swT;_K}f*UxlJ5OS)&@t6|RfaO3QdN*y$WghWarz zq$4TyesHpSwSx3>LoZ^sjl8(WX$|cnhalKv{gzWSJ z^9Jg6FApUsFH)A-mt~9N`GaY1`fUkZV`;S7_nw+vF*YKRDERAR!7HAhr;7i2KAst- zARyYfU9*_#Quq8V>P%gO}J&13F@?J8DTLd<&*>`GTlr;A3>^&-mG!J`#`BqZKYVi zUU#+_C z}B|&GO zn*xS-Prb#KP>m#_paBjP34pi>`~#`Yk=>YGH)dPd51Z?1P#|@PtMkt8jCak7 zTGWc33ZQiDIEOekB$m?qEQeG(voxNjNtez(dqPgBEfOzR+pvXNfG}7?f8dJy42xcI zdAS5jzfFOs7CSLH;|PegHn90u@A;Z>V)V*dr&gq?g5RybG4CZ%gT%GQ!MU0ceSJFr z{kV}w!puyXCPVai<>J$muA_TQe6+RceXY+HwzUeb4?9$z&PQ}@w$5*7-9!e>PIXyb zQ3KIGo%(qspR3i}c5B;Eq4UYM>$ciNupB$E>VcXoXhSyu7ld)V^uc zC{CO}>_|B7g_05s;tC66Udr02Pt|D!3H48R<61#{SVl;^m^rz0;CuS81CEd>T?-SC zB`~Nk(ZapeKOdZ*uGBoF?$D^+b{og-z1k?EhsF%lD)srtSmnnh0x`gvSS4dbuN(sbZ-L~P9vG*?T9tYj+*HXDQfZ{t|LNO{tM8&#t(W*U-S12Uew;4 zj8U2p>0LePALDz&~ zWse&xkiXbUOe~#cLxvi&#bi-+eb2eNU^6s`+uZ`z0kj&fF?^>-PPXRVU>Rr4BBqA# zcCx^Ac#vnYpeE~zw-Ut=p7Evp?^&rly_MB6wj__$njAI8k3gqR^oMr-2BdIgXtQbe zVozewPoJy;4+Rx36XQ?;Ybq)4|C%{DK*2awGgh$Tgp2{UBDr7s5vvDSUwzBJkm>mB zU!wbaOzsT|PK`533cUr4^Sg!c&6^w3>4GqV*9#hwtfunFau&3@3I5&6q|YToHWX~f zRs{PWC}|k_Bs9u4z9u0AlsKdSz3!&QSMV?u1I>PJI5h}3_711;0d-xZ6fERdn>hlV zs6Q4)x9qu;e(0LIH*lG_ASRXzp5_2|oA3>8u+0e~ZMKnGdfw80XG!AA!pN{N&KOYZ z`{GOnSn{5paGcQ%xTk*o@5v9{dz#m$;4?%Lr9C8!OcK8-hqtWFDvDq)7)67sRty1P zleKFQ0aQnOgGOZLxLO(b+>o11d4X#2B4)=i;+il{o9&MA$O8jqx8AQkLupqqffvWc zc76=nZZs|0_#`7dzfNhL#%DErvs_>*#=YL>8#OBRT)8J`L&%Lg?-=_!=zMV)6zE~^llmQWmxn!uXLl0RY?VX=QM&!qcQCo@1 zY329L{LG$%==nwgMYKKKLBM>)61V34(BbE*x+$i>7Rn2*j` zCY*67q5OHLOBGFuqJ<65+x3)aPIL*LH;5}l182eAFa!1+ue55%T`=Z%uT)ii^0AFk+XLDl*b+AxKvW?2u3# zr#a4EXr6Fp*;oos!d@UFiF|a%g<^9PJ`#1H(skThb=z`G(JY(+yOpb2B71mH0tPTp zV3voCD48P{af9lTf~3ce!V=Qxn9G^i8Z%_yAd-ILO+B(}~ zRcxnUf^^YeKe&o(LdRy__OcTx-si+uL~Y)TCO}{1&@h?=BA-N_gpkjW0Pc4TrwMh)DJ>^am!!&I zGvSX1_DM#EtwfbVA=?=ij7F=3={v(Dr-APlh=j;Ob?VB}X51EJjM%j#1yF&;I>O9fu44^AfmjIPF{yP?KIR&!5YTmD61rsQiy0 zE7{wpXv#?Yy9W_@K|BrQ{pe?6?MoBk?((1t-CZ0iI`@-zhu*sJ_VF)20ww?Dhow{u zwNUrG5#4I|WY)IPZLvs5+_Zi6dmoMtsFEJrO~|z#n?K?W=|j7zUTg z2F?{&uK!xx<^%Yop%2EvX_1NNJ4l~o&ije1ReW2xf@}j9>hB{0=vDjKXLpH#1U6lk zu8NM>W}H@xO}?p1@^ApuZw2L3WCiDqpw zbqetG*Rti6aqubxi;tB4Eh7+e;{nKI9UR+Fgc`ABuPJnuqe#5XlXnv4h*G4isYt;o zPm6Os2G)J(pCDwI-9R1`pUfWIsV(c0l`h^+y~oXYk`PB}piSs-P$#1kH@J?C=|5&9 z=No%nJpvez_?FxAgP1h+94MUA9DGBlX?fNVr}?y}vASL(14PO6YoK=W{OV|`+K-@{@U_dc zg$>@_fTIo{dSjZ#o>i5`qzF2xS%V(C>x94<28SaVFIc+l-O-GNejzPPesUGI$y9QI zgZrunatoIjn)au1oG{XjvpR^MB3%M~7EdKbHFpe9Oi*g>PQ+(tarU2+TcC;@Y=vNM zEFrhIw|o6hNV9IU*F6z4#P~v|+&KsKfUvi7BrFl*-IqE_vqMxJQ^uCcGSTY)matvG$E=Z>5?Qe)U)BxRA z&~EL#(NiP%ZG~KvvK~RPPRZfB$N`cO{fHBck@>5=o3oKkCc)jp7IV_o5@WNSX6HfK zB+n}uEL|)b6aglq)=DgQzHBURzJ-~Wis=i}Y`dEFO$Uh(#0g5Xzd4*V@~e*cL+Sn- z_>1&Ix*_B@eqTwzf7xX_Qf?GhA~*0Y5xE4srmQipavDS9#E}XluWwC&z%juI{14=x z6(>u|lD(izJ3*GglJ?F>oMWg4to(^uwJfb=d>4bYDB&#**jC~A{E_mi{rU=$NsVYz z2XgLnvswJ{L5&cW#A`I%`3_q~i@PaszRTADiO;Y()=b3@|6cDVI88M2MHQx1iw2?n z*pCoU#l3jUZrD9cD-MV%>(7L*utNO;y53Ip4@yz>m_YHv#{@~O5{8$Li$=ipF~%|aW- zY)3KY5-QOt{6gN`gS$o!KZu!<`_sw?CWhr}a>pS1$&GS8_wq+5Z+Fby$0&1-lp7j! z)bVC}Tp`{VUFKjrQP$)V2I^rzVzTYL9z5Xs@LjiDz;8s(&AX zbTF)5fQj3{)E8bGBA{2iUl%0m+!{gWkE5)rif#%X%OP2 z?I8lVB+WjcM5t8p%?mT;9)ELm6ta~yN%CFOO&O{gf!=)8WS{oNHcC$=F)sEam8VCm zh^p5jz*_7;-s+C-UU#1KSf+?Tyld6cn$!=Nv#tRPViPwiyL-5}U=S&=Eg@gWSU)0a z_I{vaWNy&Zu+;;GB8Ub%vKSry#>cUu3`B{urO!=zi}JYuc8qMIWeTP@aZ=axX#?2o zj*~!f4k$-l@*ZRtH|N*dJl`159FI2>9&&tgbh6uZoK=SVgzPq@&MkrtRXyfHYm1f< z5|zQ7x{Vj2w*-I9_F|=+D)M@ozTaJUk;Oc{fsaBA7pM(r)VHegQiJ&icz@ef6dx^-Sv*y zL%V({$JfQ*@FY}UYG|6E=O_NnfVE)(8gm-W*|YM45-^y$X12Nf<`O$Kw)3J6@daDy z;#bY-ep>V%x0XYPC#EWtv2r>kc3^OE^yYyj-ZbUMWMckRzdwtc|HxZ{YC`m_O!`
    Hjx$93{RkQBn_M<1>hj0EwbU@u1elI1h^%VdIi+}KTyHP zt=FWM+J2RSTn0lG8Eha2QcWHn^2HMa-4X+xbxms*pVw;J#5oBZT5UV`$ z!eL*PbR424`RSq#nJ_qr_a(=4c2he{IX7b$4;b>2$eJSGXzIPV8t)OzD#IzkbiJ-! zJixuqrt2bJ0KrfpLn36ld|tGgNh2K}dK0h0IK58%1ll|mt_!!;lb{t2YFgQ`;TlN` zJn0MqbV5)TgvBWSCJ2EREuLQZO>R$f@*?MX<%@CE7j2p+_FhTYKKruQfeu>+VV#Wc zetS{P`)+|a)ibBm|*!@VwodSGUPDPe_W%$kw% z$Q*IT{U-N*!b!hF%GHs2|NSut*TktPmTSMVNuZT@(*WlR1N)6?3C|NMxkF_^groe8 z18B4%{j5&$2pTE#X&O?0y}fkCHzG5$jl?p#VGo>C`e4HJzsBiz|LZ`5!@Ah=tHSF z1?QrQC0A%lotFKLsNStT zPIc~HW&Ab^Dpq{cO;Ws?tBY|K0}|-s8l?shU1mh)hCY2>b?ryNb_YYz6QojQQ?mm! zAI|0d&;`?3De|wUV7r49(7@`+VEv;eIv!?-34&2!jF2-R1;JHI; zSdhckx$ke>1jYZhMdJko2L3O$y}mF02tIWk!JjV%L{pamn_xoNXr!GiQ!$c9B z?zOw&5V6Iw9GYKsMJO-=)Um-8FpC_r4{e;dY3&4A#c5_LrE;2mad_T+Y2=7pr+fh( zcwWyAF3Y&}BvpCa?|NRd0|(%=3xRvl5iKb0{ZxZ=yoP=ZG}0q!Qn~n9kUod$cNq`) zPhEjlnH5i#KbFz)SX9prq0^oTpyPj1%{{?NggzoNJ)VS?8p zUWtjU^<6d+sXlkoPkV0ffj`w0&LM+W76O-Jk@c)jhT2)CLNg-|wtw)up2P-c^-Rkn zT?DiK9hyhsW6K%C76fm>H9BTOA)cJ<_Tv>C4^OTUceZ~Sw3bczYqqa90V|HF@rUpKYQJIN81~EFoNJ^;if_Nba^DPO9iUSM%}B2+&u9`=45|&86hH zVv+y*6#kn@e#bJByV8}#WqonXbkmA2J-0ila+qszY4>ZRb~kTFN9|?u@ulW?iLW@L zfM9rOjTiK1x6rR)V;hnVwsDmA9X?d^)j0T;KX4JE%3VKVaJ+7B<=<7L`ReLR`(BP{ zXA6180}Z4$kw&NSPHWSX-*TH^Hl00HMjlaz)cEKz6tX8$PU%(lN-SV~s8AzX8%h4g z>rw5(8A05}d(diO*#hgs8)U3W)pn z%V6RP176JrKwD7up*l9SUEf`m znp&=^%QzEN{d-9|8d1)J=Ic_-VIfKa`uhP{Jy$Tt1&jF*Yl9T=08%#PzRt6NTda@7 zFpD4uf;+vl+$97pYPWP*L9kV)WRIEu+RDn90SQj1ZM>Z>^0pe6tzWtSbwQA&Db8j7 zMz7jD4z3Q#j@7V<6pQ0nsH>*3@D!!DMMwR>1p(c$M=tcOSuXm3F|edJZOrP26jxjD zRj~qiB=lqGuMrH(QX4N5W5Dq;R<~$mS_5}f9P;-)pgQotCgqiI)&P62!k45S?&~t= zlVtht|8Ie|pWB(+u1(vdU>5jm;T3k1#yq_KB*(Vf!X^ipro)%Lk<_c;)xtYNcAE>L zi))omW&>N?Qr-izJfH-&aO!R}8v(7nK;ADvYy3u$BJMC5AvlJECc9)PH2LR`QI~8! zZlLd_aFTCFVJy&aE~p}T)(!?JGSe4@lRi7^hS7&rN)~mdAF#M(2`*8J(<$?caOd0B z0$iCT`vWqy?U(0qG`MI_Zx(*0IsRou`sIsZ86t&SMCBl09nf`y8R6gX5jAMlMhxsj!5m4zCzAlNa-#=Er1{VMn;ms z4s!sj4~5axPc=MrE+F1F2D_xPO27n;rr@*$RIqQUUR}bK9JH{f(ZO0g5~GNmagl*R zVZ|62fFeKR2LuG>9i2ETu8$*OW&iUM9UDu#TTPn*C@v;r-Z{oXgPSzyQ@Y)rE-Zrn zkp6XChIig-KwTOmNiBq`Co0)Y7y|&;H+7Bx+JjxEx}N$zpuuhO{YNYtSK!skK-4-k zS)gh&U?FjmE674} z)Eous>fH38{h5RNx0WZmkC0wW(?!U1VEiiL?ZyKmd6Tc=w5X0G%~W@zv3KyU4HMo< z-*zV8C2+YCt6F6BVH#la+I(Vz4UcBUl{083C7T5e$Aj`O_pmeU$&Z|T;3j~a^N9P( zqMDsGa#VcG4PT8Wa|RcaKY*K+S*sv3pQ#E`Tt=dq?-a=dUSf6PEHnu|o6WH!0hmKJ za_y-7rLk_QF)~8!cYcQSum7~Wik!fy03;J81Z>iuW0WP0AW?(ieeEDXAgH=n#pT0dAvIyX)U{|R7`-ooXxT0(=z z-Il~|{!b@ptmU*i2;1JTmA+gpuv87-fc%MF&NM!$KGN-UkHaK2=dzC2M^4@f)Jd}^ zIrrB}H_0dm4GbJG1v=i!>&TB*z!R-hIjt=AqlaT;rnZg^AHoR+XAZtjh0gGD|7Y3> zemiQ2_l?01l~M;{?uO{HV`C&$RoVw+lK_c7^JrAOxOJ)-B)6%NY3XHvJ9NwH1^2{; z`|2ZA$^$xg!t@qO2JPbw#w1VMK8>%QbNDqxx0|aVg&JfH$UH;Hm;d!%+M4$1 zwYR1yYUuJMuaL6kLx_?QUTxLv~)z;>)ydr|_Aavza{LnRPA+nb=G# zzmci?)10><^u{J{?oIfX>nUumva?7#0$xkved|}Frv|_Em?^s1@gBEY9RUvUu99tE zT&=BKv&wN`rf5d1PZIDplRS{&6>u&QvSn~F>nOb*CzH_7zVstZD`94!IL~L@V9m>h z`!Y9(s%Jke<*ms2ims6zb7TL5I=^9HB)eqK%m)bDRoWyb)H4J)#41mx+1yGTVpt>J9dH}NygIB{NJHK;0tUog z@EA|}YEd3wP)tlq(yVu5=qEPc$7lU7GO%0c!n|PkYkwYJS&c)1hF1cE2ty^ z`Xe~bl3g*bH@iA#77hPBw)gD}E%rsfs$M5=EWgCcD32^VBy49fQZ>L-YtPf<-NM$Q z`U0zX4zT+)kt3Qfp|$LgpddZ%H!WXTNJr9nIcG4b*v?$ZD&tRlb)b8+hdNwd=YnY6 z(Ac9PcD|nWKE|7?zm8|}ChqMH*jDs}eFP$})Z3JdzpC(8q5St^Q z-yl|{N1Y4|UZoanqA^lksS7xaLnWJ`X>Ze#`Vi4ZC4fK#3u?l{=^Y;;PAV!2vm><4 z=I&PuP0reRSk{^^xL*yOuKPC?<$_X}x6|10l4wCX5wi*;HHTIA?Va}W`kLpW8RlE+ zmye+scm_Cbx&yCC8XZ>%uOtb$EwDNn)@AHi5t_v}%iMMUKGERNqHQS?k=|v5yuj64 znK4s-z9IA~{_tAYRofc&35eS5jIf7uG$Ci7i!C@DWt*=dGnf$%}v3b9G+ARvh<5lTvTSgo#~>$IwN zU`l1UdMaHCMW_j5k+adjpUGE7#7VmAFMxXdj!$0tvPh1>m<4GOVyucjtfA6h4^FvW z&q%>ESV1MK53ki&m`CPTzRKReyV6+i%x`p_6}k!A@Jo}2f1pmnw!aW&HusSH!AR7c-eui{6ciaj4G?wo-vZ6So_{V%rHXrKQU8fSvE5AzMPY z00%26kmmX^_MK7(YSNS0X3OOGoNZ1;ueWa_rDqOXHvM4Ngr_#pARN-684!Obj#PBm zdYAP(5~!;k0g=(3#1K43EgpKlb5SLWCd5TKdZnYfl0rDLb?4PPASE`HhHmJt0{PvK zsJ}~g|K*b42AKqogRx49Xjh+-EU+U9P^h3@noT_by(Fo$y6 ze64nKWNLiJ&3J$cp(B;%-PHh34oyfjwrzgr{`=(MlzhVe36sP12I|!uo||S!B98+j z4`Hn%rwFkf%`%F)2pte4Ron3zlP{2zU`E$1kpgfb6u6dOGL3In+z!qQ8t-->WD8G2 zVOkL*w!^iAIJI^T@V? zq3@;&Fxbm8+YG}tOl5xO)q?Qoqz>A*OGt~8j?`xmLKVr}6_M6sB0Zd`4mJfGN#SqBm0<|7a2u z0V$LD5e5iN;sQa<;90vjqHL{&Q$9>yicC&#l_6qg3=CD+;%4xx-9jWteFpd1A11g> zZ7>iUQ(7G7V^yvlG}iDANe6@J#LUYU^9Yfje@FlN10 z2N|R>v|QuonM zmUcgS4z%UItL6O{`i{X;ais~dy50cTKnFWg-j&9P_o}ZYbr4m^f_)roTe8U%4&0<* zs!BBDJBHaIzCx+jCMHd@+aSU~b~QU{U?T|KZ*ZjT+fAl9LvfX1oZ^x2$vNm^kzy{h z5GEB{d&6fh1`UJ0HT%dsP`hnTyi9bdmB=&jht$=;@ zt%t}7|5YvD?;^n*O7G!xT19kX(?+Aa$Jy)f zpeQ?8NsnqL8vIlh_Ez!0pyLtk(7d#mQ}Fvz$Vr5R2B+U`e?Kzb^$mb?tt%QCd6C!E zGk(on6msQ_{z8SH|Ef!cj5Muf9<5dn(1QP42{U$!xIIP~44)U$^g{zsfl%LF1Y8_Mi_4QdkMq}vzXB{@kf zJODgAiN;ub;#_=vX?hXdv=?OD-g9#1?%K19Km_av1>yeMx$PxT*>=Jsu(10%`v7g! zs{RBk3U?j}i>mr^sz{1Jp=-`!a`r$Y=wl`;w9uh9_8*>c9k7<&lO;@ELxR)y@sUoQ z82Dy4<>aTg{OW-1%44&v+Xm8=ZIa@N412|Zs z`aFR|)Tc{R&!{3U%YF@bk50eWU5E{;zh>Bo^ViQ^9zCqBGxNsaUaNqWUnL2t2U^B1vTUkxmP< zpJ%*Kv=BZ)+$qUWLDhp%c>C_Ay)~@gQKt1oOuywo1UcMr&HslEFzOOH`l9Uqy3BL3 z!361*l&gV>Pfof zgU=uM#PKb@ucL#seADrAxGhbTEtz(t&n`X>Y2iN|j@}h1IJtPzvCFR~2#OGsUfO7~ z;}l4+o>*?5%E26LuvYw%Q6dn-s3^5bq0iG%Y)V^7S^uvh)4DQErRgkSdPTvB*GMm% z;rjqvF->iXz|T@VvKu{y%OTWJKn9i3G!sSJ$>z)OFIHZQ0{5~N5iwCt=hGQn%qA|j z6{f~u$3`4tid0bP;dm1YhR~_KvZn}U#x@bOw!qoem#cUq#Fo< zZMkSB=-|!o8+d%sfhqT_d$8eSUw=}?w$@2{4Ym?n@Us2DY>#sO7WCI$Uio4NhR9tE z5{m5IHY1P&o+U`p+^PVJ57=TMuUQUV z5_Y)GJIqNlALlp|L3|4yZu_!9jDm7T2LmKCpw}S7fk#fdS4l8kkM0sM?hEfoC~jaZ zSv#CmG|gU3sy6LN#Cy55K=60cAMf*N7o0>kWz4yYpw*|ilPZnZ)!YIPVqxM>-l@i6 z8VPH^{6wnRm&dz4qay{Tt3l&DRq!X%sgP0t7t4&vP?XXo$&cs%!W=|^mUDLOiXyTh zZ{%mho>1+K%tHQ~v&A6`2x_14lm|#cumAn1^m9%%OqU(nq>niJp|{n|boWC(^`u=7 zZ1LHUfWoK1-lpiS^&8cis!%R<$!qr2Ids}FuL5{O^RLV_&K}EwwiM~o!-Ckbwg7yz z#ZJWs{_E|TlHZLIQO8bswQ%lCCXJ2*&4qISUl-isOlnfVc9~vst6y^RkZ2%*lP)t? z^v?!a^{i?QGEARRfg80foY2gLfq1znI;A{PFhu}MD^5*idh$bobZ~Bp8x}ne@ zLb~wS7P`zmI$V$^pE;D&rS8<)WR=bNRt}I2dVW|e%aY|o!{jQwzrv{1K9NC`E<0Ee zTWe&hWlx-rp}1C9jYdnFYGf@B&qOe|hBqK*Sg%kGsx`;9Qm91jyZw-gsXKWoB!Yn3 z^o;S#tKnM80{(4szvug`n4kkHGBj^Mvh3?^;=XQJ4~eL5POPsEl`c?)H&$hL-EHQ+ z^8Axko0jHEDxZ@y!@_L~y@Z#D^C&`{I*TS`e3rA-Q}cjfn$-81yS-Mg@+|1KALqf2 z*p9nhyhoP2;1&ka>vk`(AKSe=#>HCeXuXr^^HtA#2hY%4B?9oec`SDWpfJTOy;NU0 zK?oEKxwWB5wif$pMcbvDQ5d#tu#}oTx#OPR3cM~ZPj<`vGS}ISHqt(Ie>__})3bRN zvdl8%`%K}Hz&_o2wD4iY@dsX6GLE*E=g$R_@ zgbCW{bEXofM4?hlE0%;k<{P|3~5!Tx_7-ij9f>9Q=G_DA+b%r+@H7WFYUQeUn9qM(hOPn{72B}}|lK=onE?a0n(y@KW=hei#8*>d*OIr9mmPBy;n-n-K38KRmfA) zNek1~J)$auY0uCll$n|?^g}R@xG92Wp&t4daRSF(#&qbP$=t!9)5v4ICKM3@7hNWJ z>uwX-3%#0NxSHs|%SYGqK-1G8LZWsn$-gT=>p7W@D!AAPrvswA+&P= zpn02q?hDbpc%V0`s}3n2TVZYz-V- zJ|Um=cy+?>0byT>M1H0M-^otw7o(WK6umTNk^Uf>04H(Wfn-7~(Ppo-SE#cG5`q_s zKD{6vn+LLfaUOo>(>kRg4%Fo7B!+ig6sFG5lH*Ex$R==;nMnS@N%_DS{HoLZS$#2A z6ZB8T;c{O@j>_#o=-5HM0`ce^0h2WkA4Z?W?}!W!W|Vv! zGLM&NPNGb{W4i5)5l=u+d?^6~PHMA>KQ?Vs@z2UIlL;Y=tIo;7|k6X#oWqqA-MD&+ zK-ZO1CMN!*q{Cek;3)a+8^D_ezL}ei-6B}31(v+K_bT>&5Wd}5)tR`}ccp{YcE43& z_zdOgQimz2E%kW*b=$`TbhlSWsMTHP4p+U_Eki`yAr*r8@maFAjcs8R*E51d>D&T5WyQ9$37aFZcQ+c;9xfa|sNw zt6AfSx*+1hm&s>ydK&f@leUh{bU8#!NaBty3B-@BrQp%gURyK@QuwpDRLrD#@THhU zUKI5^JELfk1q^v-J@ewVf?SnaDdowcFFBFWs(4oz&*~i`h4|!tN_DKfd5F+ejZ__R z#OB5E%N4c^>I^idd%WQV*Qk~PUIJ9!eR}sK$pU>uxMU%cpo+NR?=VK)rU6a&^vUKt zV_rzBE^xL$)PR|e$u)jvUzyi$M=tAMh7N?B4pu^#uhZFA&+_$Ha;PA(`Ba?~8};-Olu zP~kZk@3uYQcw3|u$J#eWrfJ9at*nfG&`-7a>~J7<6~(p{e>>T%F-MP31@P$J5jp+z z4K4xO^+|L0B3z|Kt$UBGf-}rlolXWhTdsK;UP*(BfNyEFcvxW|W0O*Z_o^;8X%J5n z@YBUHqsL~k@Ce&OdMmpG7LmJ?cL6Gzb6L7U2sZC~sY&JaZ*b^5nctQi!}Og&Grq+` z-KrGYx}{IH<@F{zgWqUl=s|gMC3g@U^Y(lQ$5X|ydER+lDI)qIt0Uq=dSu2b_B5DM zW&@vmzaAZSE%cufr2l@ogl>*q&gEGMPYTg>;Kux^gt2J1Q6)jQRtspzuh1{-;T7=d zGJQR5SG*|5`4s7;vmJsfNZ{m#Uu7P6*86%{Z)?RQIcypXsLZFHX`z2^R zIJ+0?mAbUESnpOxyD8JZhT&Lf;4P=%BA$X12O1=_%{MY;Rz5aHOp7F4YY8TYebZb)b7G6NRL28ndB6bZ50lbtg<#%z z1%9Vau_7?YF%4IAbJ0LkP`W;PEhsqF8?rHZ6umTso?! zFw26IKUR?|<}Y}?YC${Mge`ILCG3g^L@pb)u8W$jro2bYFZY{h4}&I!7*G7*Uhyc| z)#s{}u>bCNGp;Kd@^fi%L^P(fBiS-az?Y3ggB0F7&>`W;Tc^Ph` z*sgQCR}n97caR_SL=`K-hp7+J$8m?%4YBq}0k|Vyq!3m-ZnWj|)6#{(yCMU|7}50K zCr@lgpv-ECA{WL8%RZf>;aXk=n`|b{Q&;(}9Hwy&E!=svM_WSZ-z}YJ2WcTSxgud5 z)EadQM7|DB?%iW1S-%afZtLm#k~Zi{s`7aDou*VMC_854GdO!XPpyD57hZmxR$P_b zl%+n5QnS4!rfTKJmtQi(Qg+tdOugY%vbVjr;yBqq0kMn!yf7XLif}fk3`%8eX1SrL zTT%9q@^QEBXu4x(w8au2pTbPihVahW_9b%SEL?7+i@6~;_qZ9)RQ4`R(fCpE9SFkqiJSK-Ryc8tq!e?0pEXe`>ti21c2CV>CN8 z0FJFh&pM9Z4zUEf!R$Ms+^7gs12WmdNyaA~CC)RoHp`>Z_}0j_px?+a%tCMBJ!!1G zB)ZOgz9%t?%cuKPy`&IL2UZ(f@YwKY59SVIiL%z|X(a4UOV}qzHfYrHgc1@wG0#bn zE_17oK+V1|GQJXjHm@z$TC&sLjV=LnaHpy~yUODjvJGGa9N2|2Nl=T2ST(X%xiAnK zDZ3mX5y;Lh%4Dl>YRXc~ofK8oxL?zQqPy!tj;CjpT7pUyU3Zw_DPr_SPOX~pGNLBh zO{VCXVxIexj-r}|lYg;9hHZ>{E%}&+1kTxLlG;cuO%3ZtScFeOgI^7tAjg)HoP*D_ zkrVaVT6<>M5o$)4zvDH$gJPC=&0X%>e4mdI-Jp5B&WtA+w#`5c0;Z*9PZ_q=Xh%Ia z7f)iVW`xPf8Ntu5H4$(3u1{MJ3(`Z!LxjS~IWG~3vaLjmoq0yW%&i2{@(j4oAC-{N zP)i;g9dw{XB)uol5q5UC$Rh$MSfs%!t@0nFT$%dT0U)wZ;7g+eYk;g@M(KkCD{Xj# z4^ie?VlfMlSft%QKaY^@QxW0xd57TC5ci8Jc32O;-JtnIyX0obs22-dcjyx=&3#^( zMy3ATbE}kP;|uQT&#h>;3L$nmI@qCe&6@s?n==AFg(!A{OL7Bc=7_WVOQ|IU1BF$e z?|a<(ebI}&F|tWERes%Pn@}iZSd7%XCjgnF4a2kVdO0sXGvXRk`-63E<8h&wX)wg2 zO5rdb#7-EVBdxdUsuCP+cyI@#PMM7nB!mHtyEz3i-c5>0LSj68r?6Kwa?TB0?Z?p>6U= z;R>QIRon8%i#9bY6La_WYg${}|I|!&x6So!i9v_nd;0~zQ(QeN zq>=M|HNzKv4>2mA$MMEyir}`iw!xL_O6nn>6ndALsmMf0*GGTO>Y%H*HWdVitL}Ok z0#pl-UYUwhD&1(Z(OMt7W8LhXEf#@t++C6MtyzGv zBy_25w_YE5p83xj0~pbZ0kH_p7Fstn)^XG}aEqWY!RTP_=wP%CVeVUUq^XMPB&;+$ zw$uqMruog5?>osC~p+H z3soj_m)T%iSMhGcSA{+H^T?DsbNA8)S?&R|&v3f_Lm-L2+1%md9Yh=#PeRkY1PDh3 z(AqGJA@c}z){lk}wl7Jq80>Wka6}M%JX=Z4Sr(88)R)A)obnPs_hV{X zAW$2lXsm4*qbv8AL7VwI_sx4AnS^oF$XYAK4l!{M-q)lqQ6KB}+j1Sr|&GI&-Y#rQVS z7{t4my)FDIb4+CR6si3&c~K`I$x#{|@}8-AA}0D>J9N;}okv0K)q)uW^(v>99WXml zt05b549n&Y zgiP#6GVHhkOR_fLubMfLEa56shSUl55qtqhjddw*+Os|!Qgd;K2}pX-t6LZfEe2dM z+ri*-eVTv*V8TFMaR!V2wj5WB>oEDNY8O3lH$7h{=fhL} zax)ebJ1TD9cv z3(5Qek0`->Voq>{k_vtt?4yb_a^Sp9aR>EPo7&%?r~OheI|U}+YAd~lSz zH=fBUs-*FrE*f{^62Qv{#YD+oyQ{UBk3|~+&yp0gd^8$Te5Hhh0TCl-R}hc!IOAm5 zJGW*jz?Bhy&P9&EJBPm+_{o!NJ{(MW`8QY!BsH!fpH#=*JYrljO2 z^cc)#?`Q5(L8xDNma(AeK}9(h0DNb(ag;SCHs3blBM(IavR0a?ug9EmxVCkGQ+470 z(soLyxYdrS$+dvgiLjpjvDXK2pE{|WM0^n}$9q46If=b3`HwR2Xt}`m?(#r!m>01g z)q}_^^Sjz6jbN}p?ge>%KEGwbQ>=vOnd90tGKdctu#uFZ(Qw=&q0xU+-fuAp%8H2L zIS&mbZ{4A8H~sabbP#~8T%5h55~x(^JsiUR zl2ZHTi#zYT>drV*9$WSD#&Q10>R9#T8cVQSif*WWr@YFw45nYQqVp2*gSD|xPS8g= zx`j%#Hn{vQP{Tt{-_-_!{duvRyUr|j>>vIL$>mHhoAnfztCbU5hjS=~jcUTT_hkOa zX3MsvKQv(?5hc-@xz471UdDuB4FRSv3x*HTOZ zcZ3$;HC7!lu9@=cQq0i~pq|Zc@ponVdswSL0c+%DY`TOyq@bKvn<8`*3X9!+!*y58qh&BE?VQg> zUq6=(mziX2`TC4{WZk$XiS0Q*A+G(Vcs;f zt9lWFNz~^~_r{5Ua{)mh|1E&-vSv<4!Ze&jkW-fMxy=s4L)IR|#$|f#*1QSf_PL_sLw7?A>dV!UcHTpKt+(SSLjob2WtcMgLJ55!uLg!sR(}(3QQX;ct zYw#Gyl!kbkXDhfSgcn8hcA9JG^k=Igl+Em-*>vdB{^S>{Z3530>FhtUAO)r}&b?%{ zfpUg`bOpKBfKcWeU6)yjC@p=x^1FepE)~Fkn({5@xCwXTL@XZ>lMoF zE_`}tq6cSzU=Ia)ZnOBHWly<+cN=VG8C14ymI!M75eou2;J=oL06-Yz7|Jd^`JM0- z1yGBPY0YYNr~BJd(|E$ad4NUGDxJ5n+0u3U&c)5Ek~~*J3ZiT=z_v2dKBC)<89r5^ z-)!jqVGG$DOQ;$_$PBA#bW4ngRZk!2%oL!)lxNqgNIu%zM3`ufR3SLeoDCRO|r5m$Te&mk3ZRly4c|)*;5v|E&eu5;> zjjB8VpG{@($)T@Kiy~Su+PXC_)zS9DW`n9vL|`s5zXV81eCUS>s{G;kKCTI0%ZZ`m zEy*lFP+2a|>6)dPIHD2z6LUW>?MG{@EwfKw4W@cvoJr3+&%2P}rL7?U6p!Wy0YHk7qH*ZpW6(K`DH^^Styz zCLJP^xD#+X>5^+A^t*Dn)uLC!7M~iHFKv@QX9e8@p zr?+*&j=%Z_uB$ihHZ*o4noppwdi?FJ>n-hkqnUhyrA==Q5EjI|Ef_Ch79%Ex_qDq0 z0Ck>wD$fcpo$OWf9d-(ZGK0rk9^G|BE->01=Ruc|JIbpXVV*?BUqKF=k0V`Z z(eDd*Q>=qxS;uQig!BT!=?_?Wb`w$EC>|Lho+nDk*JX(nKegtE%nj+aL-%9mGNfg` zf%5v^5AL~bK?1z`CvAM429#X>rpPR>?Pv?#H}>o4xB)xD=ibFChoQwe*s5C9CHX*G z9kK6}El!y93IW6AfpXWC9?dH{@C z=;q*0g(hSyw4(IS3J0%5rd>}RX93pZJFP1k;=CB|MI!c3C{|LT6;y|~q@J4&xt3Oc z-u?%;@0Z$D#FIpiun7KXrhv3aehqp@OHL0c> zlTIa$%XUJ9@Nr$_IOX#7mN^0*^0FVlN!2@JUuZrz5u&dh9wk-vu9Fpuwf1KW%nX^* zJk3oak1Atyyn3R;A@DkiyG@<8bEZC_&Rtuj6FT|p+syBm0c(Lemu0!E9<>^i*LDjw zbsTnLgR2wgbD=0zkyS-eF}Ox&0rtUa%z`Eo!M=gvPhFeei=E4=e?AbyRx|)js!(bs zhl=M>4cf!}pN;VKE(_rW6V^ffr$PNDU!D#rny|-gAop#5K-4g@EAM+ux>FBHKK?K^v&7_ zgx8Qh6D{c;4?=B|d|sIUfg`OEtUeJl&!#Dh;Hy}*-&NKI4N+s*NA6i=`qm1C1H-#i zlUP<%O;h0>)qPp=W}q#p0|LFp9cLME1;T5{?7V=!qD-pN`DvT-y<4iyR>ga*KHgUyf zw8FJ3;)MEeb2dwUnr*wNu714s0ECgoY<}dP)F$Vn?mgmFu(D5xqUSgleD|*8|F!bY zKvc@IH;W4RrJ}wsx``M>K|Hf#CFpsC!PE`)r0ht@=( zyzr6sjz&DYQDzDa$G`%1Uu_k{MxoeEVq4J+$$No-W?_VafIh&-J7&J*`f=`Zt<+sx zwsHLBvUvCLosgc!=^z=*8uw5&fqZ}CKY^VMV*aPcWKT2xc4v?iGNiO_@`Q;gA`e|rR z-DmWn5&DTjLFwNx`i&wd*V`_6`pbGPo0Qkpw?WO4B>7=gzL<^!AYCj+R2l#tDt_*x zzHr{bo6KP)+?~M6sZZ-;kIP_MMxrG8JJEplb{$QUiQ6qMb|#rvKMRIUkbz+x;<3Oo z$^ge;8jj%OZjRM3687Iuan}gV1{>+u7kiWuhsW&#HN}}Tt_x%w7rMC17OJA;=ES$F zm{gA(9)&qOoGL3>Gh^KAfr}6=4_DOT(;L$~15NuM7vibgmJM*y`UIQz3 z#7Xo5Y9)%mOKj)~r!>)9f8jn)ua71a+nhQ=LtnoYjy`O&3a2M0Do!#z@)sbjW!Ebh zq^7$6o!&>vyEHwrf)`zd|539_8Fx|>iu0fs(V02la*7Ga@{Hc}&R_LFrpcC%Mm5;e zC?6V8Cj2^n(`euQLA9#is{G~r29Q>TN_YiH7t@+FlwY;x2>!arj|x*@r6k$Nha?>- zQ@u9iZMRxQk4^NH4%ZP7Geig700^esu6+~wT))o!W@oy_SKPiG`>RMjuEvI|hYq#^ zC1{p2_a6;BOot2pV2~+`H!E}1tfC@X*CZee;y?;_)Oe2O)U{wUDgq6lHQGH=3aQLe zB9keo7)Px3fU~dbEE~v627n6lfz7$93TS*#&@d^WrnO`mjXI7%{gW8e#jVvEO1@?r z!^OmXI8b_ur`9K3^9Uw0V}4fvcy|>1mv)%#(jkxiN2nb_ix1Wt=21tD@Bt0o`8Gb2 z*t2^*jvEpycHvot+4StsRg-Ozj|{#!b4naRvpYWhG}uMnRVKlM*%)|ij??<_-nlM? z&2Pg5A<_xf%%pyuwKNh@;#27|$nb_J(h*)(TrF51jEPm(88+QeUWHiRp+KI5>M^=g zRoCLs5%=GNthvq%ZSSQU78qJ))7H_^*AyXW*|?yCFVgI-tz^o+=*N>NxluDH{Y-EM zA|{2eY&ol62p-)@6-!zrH(u+b_G9;Xn(f37*GEXcm2SpwckGu%eH;kHpgW@^HdL9| z(68jAUUg%<4o)+#a87)^kA=<@{vU+lySQ=FVbpF8u&_kbuQRx3D`-eQafk8vo8CR5 zoIp@1-94kS>x?9hGBwSOF2Qnfx>aMKpIxe@>CqUm;;LcNGW73~jp3mTcx>Y*3y7O- zg`YL<0NN1yyxsw+%||B};kz~3tXESVM8LKy_+VqdHC_w|tBW*EzG7OVS*a~|W@b!`Xox9r@0K7MQ zYXsl%(rEMc867$|0ahfawC~-)_J}QJdHWC9EBuuvCoI;Y&vuS&zdzA)FKb54Ox|4w zx2m*f`-c|f9I3eKkvY(p0ds2ujU@p#W~kfdJ_}&^KW=xuCk0uAa|&$5c^qq1g`uS% zcz&uvv)g>;6_jz@R8+SyI=Ue8-w;drh+;Gk;HLySRbTxF-4PP`!D4+>8i{MhZg`*? z^sF#|1J9QVToKZU4mn%dEk#*iL~3Wu-0pG9Zg%;IeCypET3{0$E3S1h;ZHsUr0Vs( zHf>H95GgT<6CEp^k0`j2n30sDYVEgELDlV-(~W$otHC>y0^ZVSOhc@d3T}1!P6a?yJUOY{$Z32Qol{=N8}Zu&rbKMa2hTL>L<>zt&5dSCiZ!a| zp>O!CO(S5`0O}d(@Brouk|LZ@zVitW{+v`{{&~}t?$1mSs#I*C4BDBs&0OU49uEM% zY%1f#?#JI?*XLl(Fm~+q`eE9^W8dKdlp<&gY-_{m+gVtdP{J0BOqHF6QK^ zE>f2cV-+rU`$`0TAmcSAq~7*AxDug%2?kzZs=InCiH!OXqg#7?srs>4KQ(xi%-E`{ z2*%m={qeZ&g|jWx6D3mWRf)^^HJG(?PR2j2{y5Ll3rCX=X4m>gqnf5_7t8T>8l zLO&DaB3VoGPjuT_uz+u$E_@FnPdDboJh75lJcSy3!H_3GwOfWZTkE^=7=Q&3Ur8-P z;HjW|diBNyqrg_1v;`)YcUqYR$DkuS%a)nuy9t8oeZo>eL{ZLd{TfHYn8mCAp-@4} zC>4LpPe?~{c6Gxeg8-Wmewk9Jw@BS-S^9@?t!8t$=MFV=jr|Ne z-rA~0eB|W<>xOM}CWFgl=ZsP^2+L>Pnr}TaNAx8%vW#Q2C<4!IbSB$edM01k zAYlp=MLZ|~vGvz>aj{#+lEARtWUA9sCn5cyt%t38SJ9c=^|JpA$Vz{7PNz1WZ%vO6 zciO6bpr|EYGQ@M)f&J9!$W~v`%Zm;73I;GWeVH4$^j-F#Iv2nI>3Bf?&aL@H7F?`JLC-cl zw3v~|YE=4xw1%Z)Nh+WpcA5dZ{Cw9ls+o37=;gjP%$E0TN5d zV_B?&vpd*L&uwkA85gOd7tClX>=;?3C!;IDu^;~Lf?f1c$IZYq=@f@~_fyME1!qp) zj@;_V4AMRGaz;-BkO2BRqD5xS>v4qn-A zMHfa-@pX6+zc!K1GteYOmmDCT?U`h+a`RH z+gEy3ZeauFogH&CQG?=c*ot2LhwI(SrILG>@RT5(ynnMd+z))1sdcA8XtyF6R#Oal@pxX0uu}$;6vqygTXMvYq*M<_EzKu+@TcdZ!gL44yyIanGtY`N-k{v z+9d2W~q55LH8rg6ge4OD(Bt;NeK~B{w(`sq6 z;H3LhKR^kbLwWV+HERKeFzfBXGqT4SQ5hCT61?n^j{j((euP2b2X6+o_ zdy=_H=?6OAL zlneEtQO45m(08K*j<>UV&Y*P3mk$}WSk1+IFsIvK z{>d8909y_3z+L*PCKCx?Q>1uBn@))r56iWGV6uQ7_I^bt9YT;yGbce{LwU0Aa=vxu%f8@%Hz-h^x@wP;bxvwKTMsK%qrl-D`%!C(1#m? z%vqX>#Db67N$fA21$@bs=bq*KQIK1{+;wVnhUb+xwOO>DrGAG%Y#{HH`f~zb;cB&r zSsjjv$DBWrPnW9|LfmhLLthgl1^-D#KWl?;gHgVW9wFTnwi&ew-ZLDn3>e^24vYOtrx5F%LiHe>>{O{v$!6|3qKK^lqYc?RCpFm)4Ghk^!@ zqj+5jl#E^mHBt2%3yA>;o^-2N=0}I0dQ*MTv*dwl=?`Nvq8US)x@?_yBBKnGDkVbl zR}mCY{3i)<(&oXr>$6LEZ6R6#=$%t#SlI+ZEsk1SJ}WF#+8G;^d`RvN(v~$_Dj@+$xDe&?sn;}lp=$*7Qp181t-w)AmLoD-5FGB z%kis)%DQ$;bl$?P83l0H)Jt8~H3Gv5uBuGn-Z^& zV2T(Ja6Gh$zN!+w!gC9Gf;$r0T*}VCdzy=YB4SL?m#Y3wa^9GZ66rZiDjdt8D%@(y<=? z6ox&t9jB`m*tgvurLn|~vzky_O(})u8mAOnUUmdE{|$~3wMOdLB|s0RXM0{mLsgTb zisJqiEsIr$ns2aOa@rmA^~|kdaVw5?y=ke_?+MxqFa8Pu`_KG?COt^wqGPFbg3=9< zm9jW>7jOGT%ZijNNMPg6Y$ii^Cf&|q)Y?zlICvO+RUA92vwqfYu?=ydj;7>`mi_0< z9PGFu=dN4eel*7Q!UhCFMUkZH!*Y$>cy1%Ga0Wyhs#f82t4v(97XXSqW>%}vd$$*d z%sCHEkOW6<4cY0-GupQ?GAXl^&na+;L5orp!?4h6+^I3 zta_^N!=*oDt2%K2MuekKbv4pc4Ug-z=a8B=H~FNNM-~u^8N`tYngJx9MR9a5_*io3 z{Em)wX{;4xTcCvRYP?u4Zjt^Y3DxA|`rK7b&4=L_CN0DWIg0h&t*-LQ`kD6NGqa>3 zQXfO#Epi5v5>0KQy7m4mH|KS(I^0GOfP4;{L#z1uajTbn`P1#Nd{#vGRc(ZuEI{=m z>ggxE%+H_Kw`h{OPtKj^A94C{2IqA5?))GcTfAvN2>1tX-dlz0KmQnK$l?{@lIp3< zh=aUhp+_=qfBe3-#~8 zpULv;Ho$&DX)pvibXnC^@YeEYP)@U2x0r=v0NG$Ap`aH-JikdVe=sOG9Q_k@!_vjK z9O8xh(aR#3e_A0%1U)PtCg$lkgqbzA*3F4v7?iJS3Vf9O!2sy-XQxzsd~&0-CH=ta z|7guNbos!0MLE9b=!JBU2+vcE{5DtfaE*70k2&Snu{zl7_)XNnthQP~G{+s)kgC~z zZtu_){o(6V6$6V%HYm)ly$M?zLIbv7m2)0qlD&XzZQenA>9u6yr^)u1lkl(~sH*dE zB3Prl2Momm20IDE1MZ-vMxq4a>K)%B1yy^Ac3VAi1R*LplA( z6QoAcoMF#_bZ7JrZ&m9Dz{jXzf}uw%3)`FPhf5`LqM_<#Br3)3K>}UB4NJo~@R3H& zS?y(SlgQY6>G0P%2`L)UGhqYZU*4XZ%y;c|A_^;GIsa_fqlgthRmsW&zMZw&BrBeu zDV`%Cd&xJg#{0UEm{5LpKlj-{5~VDk zfsDbMKl$_6G~c?kv8J$TH(gvjronJZ#mhMwKTV|WHHcLfGq$i4cKNYC8#cPCJGQm& z>J6P04l^Y+aZv{mC4_J|+dii3p%koD_1hoLfQjLaM~!;uEf+PJpe@#Lv}cs*;?9w} z`3<^S{`}FpySVBh20-CXsNjX91l!sE72G_~ygFIGnR~{e4b<$3aQiuB1^dB&rPdvg z$%(XovuF3R>lbh@&^i7V?1x2>AOotd+6l{KL`mI+?*Rme`wz|H*aV=fwVy0cSxYo# zwk9A~15kGXy-%`Q_%lPV_@J5qN>!hA4Bu-i+bpXV;;z!Yz(^Y1;i#vT6X{NGm7h*R zWzQ+|g5}!D9j@NXqj~yhzt~zK zf_3ytfDxxn;{yPGpI((+@KV-vWz?a;c^inw9lN&CPdxoe^c1baZ20@Pm&f$hTCuWV z#61n5V}p2ih(3pfpP8d?@)%Ny`#UCFq0kq{G1mHIH~CcMTuytC6;W1|T_lymFkbPN z`MqKwOYx1t^XRs|EI5^G7MpcojO&~cg)%Hp%%TX>%ng#PlSrE$*~oOM?~NA%5jlg} zNsH&S_O2t(pq%5yxpt zTjv7^g**vF5~UcUARyxc3ZH7TFAUZWz}KOak$r4MdlrgRq_l5)4GeL;Va*^fOmT;H zrvc!13l91PL5Fbpj!t>a24iOXGXUtmHJX^XD|So5`@dPo==n+&djZDBS9=sF6O7a% zyhk$+j@h3~3abs6LWe|EIfIjl?g-X2Q3$Ult?drM*S>d5`;1Zr-{5@q%J{*r<9vE9 zPv!wTlj|g7-cAW|#}|!icCl&>iD1cu&WpZrv$SUI@I+gKUkO1?0r5^&>NjNxPE|zZ?EpNO zoG+O3iWlSEr%k%~#%ZG&V~Qr2u;iu@NDYe9&jDwW?9l^BCG;zp5vL(dVm$9*|RE{Zm?;6bhvK6n*Y%Ci_{+HcJ7g#rgFz@_wgJvBp zxKE%`f$8NJK!pg>O$07`o6R)aht8KSOuXBeVPCm0lQy0H+;}fUywE;@&yxic7_vYg z@}G4&CQI67uNj^{%eb}EoP&yI*2kmU1Z~A^GCkY1Gz`2Vo=4C4$V5O?%qVf8IvsM+Im<=^+5i59_TAM)g%0*SIYj$4+rSM&2+pcwl(ynO zWeqYvkAC$H+i3AfZmao;zeGhJVh+hjTnkdsL0vqMnk@V2*L|^_2Awmy?oD?oE@S+^ zWx?yBOaI;P=~5Bz3a^U4+Mkp}URWu1`G)m4EVgM-YVx$Dpu{i$qsJ^RDpo8ly<&RAtAsHh5YTnVf zFXr{J5>d@LZdx{G?Up73Zca5~F~LT=ps5=DHc0Dx{tKKG@mlivBME|UMu|nr(5yl& zIp9&zrA+5w>=>@67zcImWhx_b50Z%zsry%h| zE*C*nFp>o?wTc;rKu4Oqs!_27%#-3{ZWLf-KByACMCcj97H+n)NxEC!y48?)kqcZR zrEdUBjh;&qB-qjfw2HoSRaA;VCpN{)5f3^PcI{&y@o4n(@7S9--bYbWWk_UoBhxhc z*UT*xDRc7MJRjhX#m|HJ^1UspQcE|6NEWXt?gf<}pq(61+0jnq_b=DG@rxRAPxYXc ziUv7H#4r>p(lu^G0IKYyLg8aKDvun~ZY{Zp=Xeoi<<#c~O3pxqj)QRMgK0|enRjqQ zNBeVJhZn>v#O~`Vs!-qNH^xAaoa1@Fx#D1th;we$6Mr9$EX_QUNJD zO(Hw@ssY}7vWt{)LvTY&m52#`BmuT8dJXR%zlngJfd@(bJn8H_2hL0M#68JoLYph= zO>rN_#7Lnam$PpkXcy}AlX{pxh1t(OV$2&V#;zX8>Zr|*;=?i`InU+WJx+&)C@y0P zeI=YP@9dy3G09-2YH{Q?qwQ}mJo>b~cgA4RLItb#2L4tWG;e)`n`uW{$@YRRfVraO zZCy!TOE8-bsbk6fTz>gWA%5jEd5N#QaR<^fsIy|MC&c!h`QeexWv-Xj>z-7E>u(S= zm38FGD9$vWxH!Q~Q zGS#W=H>~8o^RurKuX|8_D;kmHD=!a=3^<{K&+Tv zxS)+DQkqmqk+$`G!ZpS`2?ct#w(W8b^cp;x=2vL6KW)!RVxa@wlfn}h9m2^OPD3VK zXq!nh6i_G{KkLRA(W*^lp*0h5QT;}>XwE52iC}%~^`Y0gnC9Nsg-8;RD=dZ$wau5X zz|{z-2OK@#4?AveuGX>;r_dH=3d=}K!p59TB(WI*a6y44-FjMq{0It|1Th;(#N^s& z2Pe36F^w0!(@W31;_4UmIe4F%9Y^jd9u;^7 z&u9Q=({eEbD+4WF`xR1>RF~y_2#(GxIB94@SHx!9MNLoH?wilW-`A}+AhY`V{)o)mKA`wUv zwQ@P4iQA$yi!0b5f6cMZ05X_OlZn?clrG#_MA&lch69c$A4$k)+oE{U$x6|zH*Hr4 zUcQH1x_Z!Y)yp_T-L1y#_^*9zRB1Ssc4*}2+y!t60RJiqE{(c!Y|f-Z_-GbHqj%T) zIsFx%a=5nbtE+b8uQ~b#T$_}CQ*bIbmsKv3(-Tw*Q0F;;#54|waxCGOm)%nZ3xJV5! z5JtMcRh3WG@|*`q21qZg>_aV~3%6Bbhw||Vu@sO@5-sFDYIg*R^R#&&QC%AY;()>D zz+1-tAUexi64cM&k41Tx z6_C9{by|g>JJObjQ7EotGd;rt0o{C?jsspI_g_H}P}^!3CSA`zJQ@RY0U-Jo;uvsumCJ| zVTx)WL*DGAfrg+NA-~AhMBC#P?x{o5aO`A?=SEkmS5YfDw%BqZEzvu? zf84Zz_aGl-G=LY-C7-F9X$VaVV&*z@2&%G8q|>@@dl-EIN;fa476EnhvvZm5-G6WB zX`%3|iwZk~T%8DMC)#zbNIcv4KXq~b5J5LVL3klNw{97N_)Hog`nb0Q`dCm zpoRP)e)jM;3VBMF=D$}eOfi+|7RjX;6qudFu4T}Wmust+3H!Ah07jInoCq^xf8hWa zKEBVU_l+h2N&wrk1V{12 zSxXY)gM>K|aSMreK`c9D=wTNqtww~`;zFU=U;14E=kwaz!Lex&FvzM=30%^;^KM&3 z(ffU(iF2usv%KgvlPX7E+Mz5XE4t+OlQK_&yR_k)$>c~QlS7Y`0AfbNs2a5!=W-Jf z>+zCwi1EC;vS*Uk7!3^Nn`z^hrq&I(JTe>karM{)Q7u(Z!$msm6!x&S=qrkcypFHm ze61d^eilvk8*L5huG2kBRKIkj{lwLb|BY}Ze#d)W6=+Ix+f9OiH zYCR@v;qa6Mi;h8m@KtP;!VC<-^OiYf<->jTwAhAI_%XX8FFBote%E{W$eZ>S1WBV# zr;4}Pl7IpIjoy^=42-?*O$Pg+P=zkSRmPlI4F|QT18{y3pzmm$?y1}k_<)-Bh2)EQ zv@?8lYYtX@JM2TWLmq~=on<1$ZNnG>w`h~qNci|s*J*8!*xeQO0#g=0gEhH{d`Et5 zOmsWqD;?_pkZChFx_~m5j+ei4y+5I~I!32?u{^t^Q#4{U!={fmn*80O1Hf40^P(Ex zi+qPHip}i6!jjy?HaO8TYh5lFa8q}8?21R`p0!Fa`LV7cPSBx62J9h=1w(6bN*OO&K9sbHX^!Cpl`WUSvw-$jwc-DfGKxzLg#p~m*09nq z9J@gI53|yPIPXpz?Jd=8wQ25Sp-NOB7i%vckD;@YmaT}jE`2={t_Egk<_I;QO6V2T zfkKL1Io}xOd{5x>Cw$jJbG7%6pUaci4$S#>N0@?p^w!U)?zV-eY0mj%{iEUGJeFn- zu;GOsF!Ah5osnE?VgdxG@R*9znFti1mE7w-x|?t#@-ur0vnGx79JR+G-FXC>Cfu*oY*1Zh4$PB|-#OpZfB?WiV&}|gV z&2}CRQOGcOQF>4cfei433ZLaKL0^{Y9Tr6XK7oQe!Wm#u+E^JeWMPwLZUF0m1EJd= zmEhDCT?kEBkrg{{C$U$~)@NGZ#W#0^J0CNoGkPteIa~TD3+EB@%c7}awgDd8qg+?q zAlW9EE+BLyJ!DVj40f(?s~#~^DApf8Y-uSFgoBhQZXA5J8lT_ z;g4X~8Gtp?$ff|<#d0MZR4UsUj5}Ldc;J(hCrt@?d-ANn%jU`D0i(uxJXE;6!D*(7 zIEnvU0tJ_1cOI#@dvt`fU`rt3(B7YI)+F*&1Zyj!x%WAP8#oc zc{hkN4HhjL+xg(j6;b>Y?6`AQ#xCK1mD7r2Nf+HZW59gXlO!39Kj!O7y^@W1*w5L} zTXghKX&j8hQ$MVdZp#n)n4eHeoyVN`Z#hz0jnnSTPt=4ju9C1U|0Uh&uz(c9ar7PX zCL>Z)xwCE_sK@B=f!q$2iIGuW>IhZNd*44U`vHR%GR0m7S}w%VU`Rl7ma^T#Gx`J~ z_%oDh!z|%LAc6o<)uxJem4!iPCQ4)#ya$cLd~tk(?Ra_DcKwB!ryrS})v78}>9(Vc z!FL6ZdK7zZ1UoBQjo7bSAf`SJM9a20i;_S(gK3H_?rP z1NM!H|5jkr5X+hM$~TIixDVJ!QlMEM4nZ*y0MTfycxUBJTxmGhCnNG87Rh4ks%JKe z7d)(@WmmFxqMp=gdi!eWzDU=^5vdn>h0Zj%eMe|^a9uH1r-`)ir`v2NF7&Tq zOVl9(ocB-BfAP32v5?9W@GfAc^0Hy7Pv7@WE$Xp?BF1$8?QtIXhxg>>1>+cAlD0qBmOa7H^~(Alx!-BSE1etOndp&|xpdSNQ}5GfgZV4+%i-^B z#crYw>8u|*bT!<<8X#uIJ9J}1xMeHaj%)~v4!U8<0AX0PkBHbMdeaYjr4OL(`T}3Oa45T% zgO+hi&B9_LkogC=LPxg?ajNzRF~hSg}wGk|VA$z9-cQ-R^R`94U@4j7H7dljQ)QwM#*PJGxSi!T9}d2M=@LD4O*& zXAF%k+?eTK?rS;o^JowfwY~z3JpOwvrPuHC|1~RQQ0qq!?o^4LnhCJ-(F%*Pcf2s_ z(~Q!YGp7|`j$&Ok*%_>9*BRa z?OLeT{4JqO^LeFCJ*Sv|^2ia|4djL;yo^o5Ma0pS?Cs#uioZ4%A5=8J!BFHVtNXM;4+(|76LbuEP z5!IT+=KaCYET!K7&8`^PZ8q5j-jCqPg8-18Nc*#DZ8iFg0d&8I{X8QrA7ELy#5}!m z2Ck$A$}auNzRx=a+lu8p`HqHd{9fl2>O56g0{2l>m{tq3UJnZ<)%6>J{mzk2Hc`SE zQOrf#J4gs2xPv>ePB4TKanN)#Ce?R_)|Gk z4o8aO?9~5|o2!JH7|qvpwsnXI6dRQBqC>o-m>iu;dMVCRqQQJVV&+%BQMMK|0@lMn z7yRm%o@ZpW8f~CF$)trzz3?y{Dov73Y)v2^|2z0eV&G$*d#HPXwL4} zsmOj>Tp*_QSa}r|U&R3%G+Vp=>h;xaK`U zP!3^?kE!kle@d7mXbH-r^WXgHZtQ)-b|P$m#j)Q$!C}dnJ?}XK)k5p+giJ1eY5XBu z#h>VHUYPlgJAyaWOtQj@K}P`L>36Y3$7nDfc)2kF8NRLdm7rWuot1_>LN=qhoEeww zbDs3`*G;Wo+-BsI>cnG&NOabzt-6UEVS1mK*f9GJB+Lo70Ti<=@ov~w-7BqX!_LWU%t80KF-Hj<+t# za#gvX2PumjS>x0bGJg4#>&&jv*@jRG(%xAWkd3~tpahuuH%{#(H{eBH#Rdf#ys$wL&t@cJCyv&5mK8 zWh(!wC!?S2e)r!yY@GwO90_&oz|Kqw$|?0@fbg=ilQJI4H>PJ_L(F}8N*QfE5v-$H zRP3e=xn=Ghw+UTHA0H=gYP7(!bC}0&)TPfWx4Fat;%IO9XNtzb(Luwc4MD_9KPfZa zOC^rmMcY<&m`-Sb!;*c~2!E8}A}Bw%Y!6~9XB2m`#Wfi{A44$g3C*B79!$*|21I@b zinpVFH04Y#4UrX-|57g5OJDpH<}cD60N3TbzQq|0T0mi6_D4XW(;W=m2jiQ&Phnb0 z14XYu&}4r#PnQ2G^Y6YTx#Nx;RZy0S7`|lVkEvmpZ7B1O|inwtEbF#Y)|gkDW?a2NXPVM(d-O~ghLOYG1!)vgW#Tp zK58kF9dIE_zAtol%*pX>81HEj2^}tCsK5nhxH0^B&Ry18l`v1Yu*GcD*Z%Qc<@?c| zF)sIPSjKim06XxdRuK2541Ii5814kbU;E!ZoIH6dUXqucZ;ct4zzPBk4;gg3hI2J2 zj{t4Z>2srY^HZ!1mt<)q!LwW^PHNE*Ivd{3_7q2nq6Su&%{4t6aiy zt2Hhc2*HqyL)decN(px%rUZomFGh96rS*dCOUHO_>n%wmEv?pMo7v98EolMjT-tl6 zIDvh*z^}qoxlT%>oCb01MasttbG^rYf*jbor+xPA4?lT0ZQ=cWeSxli1>0>MoX(Fz z?N9p}f4;^kgx;r2lz^08xfXRU$>3mU75LS6obLTC^p|y^$|*)#$#^+LpkZ=(Fgmzw zD(C@*6#gu<>8kjCC@rp2qSkfzD=b0L;& z(>;d9CtLxK(!pBnM!=P<4Am8r&$dSBrTAd#0!{bJyM_JU04f7us^vA;8Z~Hj>nxtj zCLtK7T0$1j-^^LKb}?HigwODpOgUP3KX zup+(DI-H2%VwWzvm{KzU2C+O_FDm=zRI7We@g#ZFRgD?lyBcDNID0z4gqR)kH8Twr zaD@w(AU(QYAkTmD7j-szgaNke<+vj47Q>T+BOn8-#1gR14cEuo22M-2K8#rMBB4<& zU*_3IF>V6*s)y&QdOD%Pnb|I66s|jxeYpQ{ipXjSvQ8L;bUVX9XS)OvMLSArWeHGA zRS#3u805Ue*}?DIGuke!%Y@1C%Itv!dW8t|BeGq!P!3SRI}t{(Xxtt(y3WfdfxmhOJ5{Sxu-WhHCT&+-U;tMc}m(f_&6JIKmIe190W z30uI8W#5_1e`S0@jgGMi{mB{=+#sYllouxNB>8iTWm0t-G7L_s$k*uTSt>he(+WYH zRr_qPg$aqkDXOk!FkUPaQwurjsBWXWDt+wqvV@BP`lzar@66Lt)fz8x%=mX{4<~rns z!f`)=yfA+ytaQ_xuYNnl=V5eZ!nwl<%L>4yaHr&KVHUC^E*w*+DL0^W!#FnZ;2Gbxvt5Q$62=9M{jc~$$kmH=2Nfgdo%^dU zqjY)S62x>^Pfzp@0QoFyt)L~&P5Aooud>c{z;|aJeQN;~nZw=>{}#a(9Wmb= z9o`{)wRG)TGj$hP`0XnmX?ev6ir#J>8<8l2iwKrlV>;(Dk9Um_U`XhGRTX_z12ya*rWbGVZN9l>_ zRo8bGwGXySg)@lzpdG9%>gkq3G#@RdOjf@9M~T2uDeAi$|gjUr427i?Pk3bWepz~=NX=p z9C)s`W9b8cbeZwZnXiE-YhhdH>~Na{m4vdjbVaZf_7){~^HhT={V0nF0QoljUZJEC z;}kAnpUC5xh{{vnO^>y;`(Hx9pcY7!YQ~04`wo(YV@0rzUGUO1CLTo3=XOPFK(6qt z8V&j{<~c}aX24#dmaxI8(?&yH1D0N4IkC|GnmmvRK$hC*mPHN~1?^ZU?kax{qoR&(#C!_(5rRH; zi5704e#!v<#FG;pW%)Wz9RuJsO8g-e&$!Y(u8eP%i4ZZeGA6jZg7K$4s#~`}{EWkF z33a~u40x5PyTW1ZxBWOl1D20^7&Sd#H84iUg(iLA9)W5obNPC$I<(g# zPQTfMCl>TO=pHd~R;M)T+<`}@Cu6V6=76ygu>A^Kghp2zqiCV!+k-}o`cH@VSotA8mj1`6&D?Wc3B2IFQbLeqrnG_Tq`Kfa}tMYCuehl z8{tKGUH>GzvQ1eAcom9a>PhmxR{gAu=lM$o)-M&U(^2J<57hG;K6C-q!2f^9MX_c3 zYP$VLh^Vk(U+j?yD>Szdrj4Z-V-_O1Dz04_0Sz#IR$3MwWTY{gYbGDE_NfIknR^=S zGVh7cA0sA~;uG5bO}??u9b3H;<^L|bCu36zuO*vy!)S}z0&emPN4 zIQH%#{3ZC*S)(VoKEa}jBSJT<)g)z5X+mUb!bt3v>$+|m2_$v*t*%Wq;0gURh7-rs z!7ex$M==Tz=I|^6IWNN?g!}0^Xq(1Si{g6sge~r<1UM+;-~Kzg#Cc4h%y?;+B5JbsDS-L&UC(EaPS+ZoXOKd{rqy80%4&gpXNOQW|6^C|%3fkA7gk$t3h9kbsp z^N3>Et;iJs2j;_R^Xlv3olxneriXbuIzdQ%AeLfUEeh0bmQIF6+Q7NPk^?# zSr+2Fv+%4BHGEjgHDrOq=>h{W>SO43gaagrWr%0@yokM+{jUfb=SHO`6s;TBFu~SZ zo~7vUwo`@5t)45XNm3)ereWrqTc9-~P-F6S#l}_o4Hi{1`~GmGjpaq&*S@ze*#-Xk z>(+z#Q$!Fw@VMG$Ge`hblGwf~>0B`UVw_C^eNa7UYg#nFwuNsb=>48n>sXt4!jE!& zLP^G`%usT>86uqq@}>8%A~R&Ppv+a}KHGO1F5K7hc#9dY=&N3?wn;WltcvvaXv^h%x)2#Td%PE-p?g{smI%{4wxm> zMU^t5*Bc^g--t=pk<%v&bJ<=UIX`VOKMpyhL%UtI1yGfdBju1aK|kcNUo!Kp%R*QI z*ny%;BpV%-=)SUblo7grG}{Bnj#Y7LWV@iE^dC?FidVxOv!?1B=0=gTi0M2$O#jJx zar9pA4rgg)Vjmhssq|peIv<3_E?Q%!{JA1iHy`*Z~pZQq*IYb4kS8|O97~}*a#G@ z(dMsXUTb}{SEPHtaCjyBa+00V_=rga`(00r8Z#S2I{~xoiFlHH76PrtsYP2eD$~^m zOL{;JA~t#je(Tf!k=^3_J~n?>fTn+5BDh5jD|3wMshZNB05Z{i2zMpg&Dtpi%z68i zy@OSRVhY!A`5%@hNK4ygHL#8o1O}s*%5x!ggZarT0HQ;SN}%tBqA&TQY@7L%AfAmy){{ z54`c%D%RoJem{opMkh8P=%NDYC)hmaji1tnkHzf z(&>4F27nB{`UD8=QjS=$)$
    >gV?keXQQ_vLjDhmb%G!7Xcl;h#~-MALV6BT0VJM zcO)z&^=$L4VIv;cjyVfT0hy)HZwot}o{@|8Yx8zPA7a!8A%Iy$l1Vt&#B+4(=9m7f zgPv?Aw)2=z%@mv$J}=l^nnmR`3{_3qmyZ4-$Qy}xwo&efb?t@Lh^xn#=hQ7FY_n_$ zc#SxAnaf0%3dEpR6np8vRDh{ca!%nhXuYfG66}i>mw4JdOagtqe#&1rN>BP2!Di9R$uBmy7 zZBK_b@Ne^VhS89CH)Ez?MqTrlh&C3b%@H)Ji(@!lsJ-ZPHTLg$@M+CwZnx1vvHnd_ z4c?S5P(J~>(*9rL->67Fh;ZVd!}MNmi%H@zD3vWeYWD|@5cyrP0z z0|T^7JCM3<0-9TQRb~*b(=YNJ6TdiSe6tmC_5CX84bGK4jjfy(qwF;B!w6bLz#%>H z6*=#?3IRMZ#@8(ND!ie-Sxl{(K!a;D&m6MqU3XfjL7otxC~Kj6yhRfx#I zsW&3}N|tl#3o&)WaNNQ?C~|h%Z3PYJn?0lc_&uQ*VP^j=QerUI@3M(l)^0828(l-g+yhW0u+gW;VtbN=Uk*5q(wP7U zUWBIN4WE4AMu<|Mlv2Cjwv3T05A4G1oRWjqULw3@kE7nR>+rQ_o?t;pm{cF*J1Cb! zTmy)wEe~9^k_bD5Oa@!HTJ%03PV~~)mrMnaN*GY1t{k^!em$W=&-F!?!xcaOk??qQgAWJ;)P#A(!4}X<4dwdLLvs9~;f34IRbPyH-$tIGGiYq$dMVH<( zec*d?PnHF{w+b0QOZM9j5>UI~b1do2p+6!6?gSP@IJk*2IH86-8S*10Y6N$Z;W)U? zcd27AIBbRne18y^!K6ca%(>s}$z|1cl~gA1X3@@ay0)q%xkT%H*@c;i$^1CSbC`pk zTsmr$=@|nx`ida(K(=+I;qp{Zm3CRRSMtd@I;WYduhh_^7M3Tcm{Bpu!o94V&Y8%^ zL^nJcSSl30+i^P}Xz>C1*9HJgW7;oPbu@YjQky^keK{HI6!IgOUX$+co0&yB}-)CW^U{m|)> zkyUJ*rH0F22Jy_JED@Cdg7OEFL<-*(!FJFZOi%Di0@BzDM`~NUvFkfl@!WRAuwX1u zwkmC~;b6o)_Q-gGmTS&@GtB3k%6!sg0Z3S^*6?6%EhV|6lnLY;D;M6fPW9{KOve+| z&d=5BRtk#Sv{sq2>KTV_$?_JywLwH+1c{E|`&I)wzUA8f8!8!Z5$8eSWJR&)g2K*j zUqd`=za@&vugDZr)cIYUH&zIaLWukQxEgZd^5vwhxt_KL=C!IwPFIbW>kz)la?*P5 zBt-K-V@|C)rh&kuKLm4L*F;iY7{lzH(jpW1`JSdTK_|b!*8^vM6{Hif@`wf_O4Sf; z9Fw4>L}xQ=z$(`gkziVfzb46AI4DxYjsbrNFLH^+em;^zWsaN>QZ_gK+gmn=FiZn6goF5>?(k%nSwgoE2davr^p3bA2{fw zRWU!L@R1013CKv9WE+%9Ep|^@|C3piOEb`|00qE{tN=TqO;CoYjXV<0D|2Lzd|!Uep1hi(Iq>=X7m!!P|3|MEz_tJ#gZ8^15|o%(9Uo}VEvdx z`X9H67!h^QiQ7%MWt?6s$&vCCL?VTUloerxlj?T+&ol;pe&Dsbw~Z#Uq?Swi-Jj1# zaP7t{2S07GFZ<7g5?%iSN!Q=`qg58P>etlq+elREeC9}5RUtemOmzL+`)42a-Tax zk+G77jF7dC_&oh_Iw#D8l)75E?1-~F=JnkJ!Co9Hgu%O-6aPtP`yhx<&)M+@;WPy> zdLB|rxPU`65QY%3E5q!v=eEEgg{6}qfG4EoCBA)16>FDPCEG2B34IQuX%~_VN7)Um zztxwG#x4<&AQ$3|LnyS)p~cj@j~8mEle~gR^Yr)+QWa-|#BoT@llBfX`^<1ssLe?W z^@XN;CzA(u$F`?5*XMD!-jba1Oar%iC$BGtr&{%$YvqCC(YyX1Zt!r&Kcv4{4u|K4 z5S~|{%pC%J?l3Udp0 zaCGTkfnl46Cr}R-F$eA!@Ne3x9$^OlRgBPZde~Tm#U8cF5Qap_2<_lQJ-0=Z1Sqv+ z2H<1O-La*}HAG4WGr9zq{wxf_bDTFmk94w2!Ly*8C}mD`#Dpwc7j^)bgro(z_#UZY zV?Fo2kcE@6?}AQ4thwtY-jpe7qmIu>R~7 zHmZ>F?4JympEjTM54oBY)4-~ql;&uufE`gy=8zrw7?GCH{juaRJyoOa8R&M7*hLFC zdxQkLn%UbQq>r>ZF9l&}@-~)L*f>1i|IFRFA@GzTGy*|rEb*-)K1hwJSV)z-@9Z`L zX+FDt$}+xpJdr|Hn$N+AseML(A7MT0B5s26p74Ag0hjbfD^DLH?cqKWLjO?#X)zL{ z5UN?!lN~OYnIUqjP52lMS0C!0`9&3x4Q$~}f$fh54vuX6%@%m5Cv#v4+ry3H);%lt zt9Y=<&ov}Bl_#hEN&`+d->|Dwi3q|vu)ZXUS{mq}8yoj*=M!y=1Zl(Aq75#9tGk3Ig4J(AxR;alI#j( zP4XvucfF`Ja;K1M7K)m&b8xGkB(-*D`QA`J@Ui)~nBA$FmNjhl1y$T*?m)6Ucl_iy zc?^#w05AhG3c7O|FC#Z4|9xVlo_4(Je#dWERg3~wa@Q12SwldNO|M|&*^!wGQ4dsw zQSz&-nQmY|Rgh7{s4Rhj>1XceE(NYN2;qU-RLJh6z+EhqKvEvDlL)ib@U=);0;aGU zTHsF#O;-}agN%Vtm|&qdgTS#QIOAT8?5f|MhuZjFYg0b!z+=Ek!dj@va&v|mPjaYK zVO$X4E!J1&9EPGmloLCS6nJ03m1U!^3h!V>E4TOrUM}BCgJ&348t(hhI3zUF86g~J z55}3&Ujpo4jQ-hpYkj8xytG7>Ht4M&hCOzZcb3ZxS(zB38UZu5#wD@< z3+;%6{Dw7e*Fvv&yH(aw&PbBy!j^?PK(8qgY{`u{hfJXOyI*d|z)jcl`Dhqe;LTLn z`Lzmz3^A#A9&q+PSt7887l0uI1Wv;3C{}JcQ%|Ucm2>bU$~YZ|y>0|xdz3)ax76A^{rVy`)N88XcZ6rZ?UB?8pExVFTD~%N{g?>MFxY z>!X7)bk)xVi;So!RjD|p(}Hq^8yR;on%9b!rJH?Y0E24_A(?c__;+iodcQ_xb$^`6 zK`EM+nTNT-*(V=lO$~Iw)Tdl#I=KDI z%ePx40G7d4Hg4gg-`r~`DVsRJ!ArJy7GEUzGSm$Fc=Yn($>V0fYxmgcqTf|s58hXj&HJBQHsYkI^(BxYDX+JPB{*A>`yJQDJ@luZ7DtY;C8`Wo1()OZIb+XmZYu^hGQQ zld|<0A1;FtelCq>)BS@p@ZP)0(y^`69@q!JJ<{9-Y9)~P`y8q<(Gc^A->^l(X9j>O z%PUTLEFM{L(0L%GkKZmZq=#0bzLNY$Ddnem)*gaKb_34GFo?k;6wHaqoC?VvLH90$ z30Ct_)nF5EqCqcONA@T6a!PakOjt~swl4yMLMM)vxAXDs(s0T}yo*+ImkiNMjNY7s8VK1fi~m>V8mZuKGe{tPJz5C z_Jnh;e4gy4E>)3oo$BXIO3ar_xtPCi;2hGYf$;%G%F4!SNht-FI|jp%d~zm__@0Dw zYU76NqLDoB>OED)%(IfwvB6?;X~1BXD!%TchkW+a^bAv*{0B z(z(mC@xnve+{PlyP(29$OD1Y`EL>rv|METJT&;XP6T+)dtt#hx|85%?<&!8n3$(A+ z5geOcT?Q|A>n!L86=A2A&fQE;fs=D+TTDGY6uw)+3Uce5Y%CXLx`=iN6?0V3rMw?O zSkgYvFs?g0?g`o`L`}_yr&6{a|$ha6#KkuXdBVA^@gwvvzs6-3Wmq^ob?L zPE0R!sPkufP#>J21p%T~$4H0o0W95&Nc2o$P}vz>SMdgwyU|K1nb6|O0` z@ff6T+X(DlLT)hJP0b4wS2rHvjCfPIIX1ZKOG7lx_CY$%DAtP}ZucNi!67J}%n*HE zg_kh-dhSFA1ddIzw;Ykf3uEvcEdqpJF_P$Eg*igz-+^Ff^unnB#C7^{k|bJGW660x zM={(=O2f(^IwuRi$-RUcB26@ZjWF+ouiu(*mXk2xcV=+y@icsKYS}UFdm)SOJ7UA^ zPtCTp8=XQ>oAl^J=g3~t%WXj5y%JetMURdK3?0|gm|;^_*TQBlv=g0`EoWCeE!=|y zihZZK)@jU80=>N9gNT~1LrP(S<1Ymr&)GJTxxkjSeru~;BIhdlD*m-QNN}|;Upni~ zSgqUuU9km#`|fPH#h4}!Hc4WUdUGSMAnNn=5#ls!8Di}udh31WPH5J}!NE$B_6D(= zz2v5Zl)u1jcHcrS!Gip#z|rFXiDXsZy-C8Hg^XnA3Kz%=QI;GI(-QD;u+}YhCEYay zqRt^ouB95t9PLDT{hgp}e6S!P^z%pI@(p6gicq5pg7Sz!d1ls~gMWx0&O;vXV6(+6 zRkrb9oJyi)Ewgr|F)-_NK`=QjF=YgT6XW1o#*ud%KtIp8%*Nhmr!g6)ncl5ailoqTYK@`oMr=aZ*OHG4BL1Q-V!Btc5QfqDOCVLV> zWqr`K2(N+u&z%39f~KdbQixy*+o>L~UwwVZ<4g9` zPwWMPPg6mUBVV>oiJsv{ytD(zgjG-vcBTL^KX0@OP4+4(_#1wac~Rf082%URJPlG(Pec+9*zG%~3}iC^%?rm3r!1CAi1jQwk?bJ9>s+q<)Y->qU4#cm zYhN^HY+k({h^Ei+#w9W@jMbZ-)(r2mAC!@~UUGRKddKRc!C_hco%gAUt=7UQEJs*g z5jlR^pGV&-Ko)KTyxn1jv}|ZK5rSylzVVtUyRG59;3ALxev3RjS&fO}ON`#?NeQX$Es%%3GzJd;^O8KM<8(aWxmO-Nb zrsO9#o*LAgfw_YqvqK;70}aN5)(|E`i^itYODuD6O`l@w>l3T9otvlv-Ey$1=X|fu}$)0eOj%^W2m{6#qR`#Aa&6tc;k@)md!4>p}))_3f(XN7YRC z?bCY}E;k}c(KVBd@qHIf64-)y%S2;0esDHA}jEWU3$^=U3C zf^OKnQ3^^Fj$8Pp+vd0}av&B@2mu@gtWjCjEa}u;b&F(MyCjS)G#$SBABF^`*WGLc)m@$g`! ztX#U{-gWs-5ifC=;yK?4(-1!fRwqM=l>%+`5ys`e-tJas)e+Pf7*NN>(RmPj8-~(N zRWhiGK}n*44a(;?F|gqza)GA(F=0LSi5pB8x2CDBn|DTnRJlKem5QM79PhykB^I5; zZUbFEBvpG$@aNV6bRm%l*%trYRpML!*?^w?1&$KIPdUb&kGDNO#zl`u^7z}38>eiB zRSOZdO$I^K+di-W1%1#DE>R!1q<)o}L;|C%RAM7bK(T}Z56^l7mc-Bsn0$vpq*Hsr zaRQ~pD*mgVaq4F6OuTzu=7RqO^>0g|>I<_b#0Z%%`Q!8dqu^#Y%;O;wh#CgWIunC* zNEBQv&=Uuxfc?BUU5`fllK<_zi5Svp-57BeO-nu?BSap^xtxNf@R%XZ-)lI@ti!)L zIMrf+78R9EE zH&}ZRGGA}?;yZ;{MYwLRka%025ZMYAWK99PVsA7%kcyR&^ah(Df-I!$`Gvvf5Jz7# z-U{qx@nmO#V3rDi?G%igf2vsN6PXdy-IX@>mPYp&@Ppit zDb^`Z#Ks3`ilHq02&p20zGrsZrBqz3H-TPEfNTvy?PtAyQqTxB76y@Kk$f< ze6+kTw72#xLDSQh#QqA=E3=kEaN-vdl^kc76x9ajIKUttLKqz*5jLbXt^=309LvS% zyX*MscgVa*y^ z-Rb4SG2QBQR*MILJs{}x$y9ha?I=W#E@u^r&kO*uF-JH@foxta!WCfpU%Bi?4cBX% z(O>piB-WCyrXM&Sdqv?6GfPWF@-J_}=eMP4;>`oYC(vN_=cEIqJT$1dm235_`d;|) z3uixWQ@lU#jnVl+fOx`IsQMj^q30yJkhWXYIZmvsRB6Q^y28%UWDBBh{`5~!x~D3h ze8|7{p15(Eq1cKfQ1!#K`c$HqeC-;LObIn_NHYPg)({3#Pxutd3m?@DKRPf;E2j)8 zA>+B)SkI4J?lPRb$33a#;WKp=Bh~hi9i>!hgfisqpoMpagAW zY20nmf5ux=I01yT+3v6MMf~Bepw#F<_MsWk*Nu%;7ugiPVRl43gpWeyxsN z*Y#@z#w;s*!8}~T+2*Kyciwa5P0N@m02(@&6WkeCwyDeG3G=>3f(E zvmPe@bos88p6$UOmbdu-PsY(|BhC^PU)?|OdxgrAEO_9x;G&kWPx zvCMr7BDCw(cFV$}mx7M2(&Vq@5d=_t3o&-5N&;b_SyEmIgY;2P7*^4|qt3AiL_z7F ztlY)7?Yvq{fInnN5tl{6K3#cQ3aM`~q>n=xV6(&=oNE)JC?<3`IpuNm3-!rm?(MRZ z-Cf-xL?CgATiL@+iZn?F;d=M)NC1cd25PAEGy$EJpd8~&Fx(MsYF(dgL%b}mGJ9b@ zVJV(<)quw`KF+U6O;mzaQ^|!C*g;m0Th5%98BW7$7WT0XpBM=2!P-P}ZvFiIG{4}y*WLPLZpWz{jD2AuEH$pTiV!!3z!uTntawhtVwiaIeW`{jt zjf-l|&IA%sTv`JzL}*`gRPx^}q4@*s@ufJFsi=Mj`!;o-_GVTF1R^S)m#!!&u?$%yQ`Jt%pr^REhzX?|o$A(Y2zlt&7O+v60j+WTrY(en6Vwla zB!(VX@X-hFg<5avFMj)FKWyM-Jt2x+sw@S2cy8(ACNwim{S zAK2n6^;Gk(fS2h+Jq?BVr>rzG+>1Ux42o9{FPGo2nHY1 z5B`H!{h3~h#|!Ys`?6vxwMTrY_FnPKzun;7^41Xdkv)I*l6l=T>hz?ZI#VX)dgJKd zw^Hee$(llO! zHrPfAfY+9LAaz^(_$3%NmLHh4=NH%Tc+;ZGu$%tc144AUK7f+be+CTh23aPW385UU zkbDlnC)#+YBccbg7js(`nU2r1#65?u_GcSZr)Fl8J=u+2w8y77#4&T{dnI$nVS+jI zwqyeocLJ7X`;9xo1MwLR%qO}A2(osyAAI|~aP`!&L_NMY-0A~V-6)OJ*irF z9ZHT@G@^`22~Fl2_Gd|8+Pf}eGW}YT7pX2>u>m4In54Z>BssbwbY0yAJrTrdo&k<|$bHHy+30qGd!`=7uE4L-rBWO^S!{hDSi zv1+e5xcoI8FR*vIH-G|IAS6lK9~zbVo$oQ^jJwQPPiodY%1^`VJGF9*zvKdJN_x5< z?U^QF<&NDmOI2OTJv6^GWDpW8tQ7ZjvzZQPP>s?a@_K{TyKLef@7t=P%40+@0PFhw z{20K=ZGZRcM?{awMxmgVumFy&5OpBpQ*8f+&fUpBUypKlC0AU3*VQOTeiT%kk^P4I z?x-@+_MIWnUm^{Gubdahn-NU;-q`y50M8}CDk z!P`NAwABpvHPf2-ARdx7++bGHmrIozv=>KFmY<-rHwF7(T`rPpc1@$oDU!^S2vi4L z4WQ-Gx4g)2=sIUO}OS)fZ=x==KbTCHKw!!XIP32D*&9odqE(lI`e zrMR$wJIoo^0^u>V6Fa#a?TV{nun=s%Jqx9m#+Zl5(Xb^f^n$q|h?=ar6tuvi>sbe35|GXWvYN$1ZrhDrcc$p9 zTxTt3;Rm*;X2iPVZi3=3=KNbRQ-p*-DlnxYAEGsUJr|)de)#3A_cEMk3un`h9OeoI z-I*JxRmGV3!!A*amA0<9MTZbL6#Q3Yhq~S3j-7b-=(7F}eD{Me)VkUYU~O$c{*spKPz=ciR9$jeY>b!~hI8}~ zS8WweJIf!4hvi{BJo0(IFnj_e+TU2I9+M#-5p%?0??UrY$J?Zt)|Wy>;n<6!C@`>p zZF5{&blyi?e+a2SMgx6F1y~4Z);Z*BKi+^^p)@?~I0eqP<|I>}va@11FI(`{ zUT-^)(h^Z(u6wKBmj2~SDZi=j{eYzi=nF@V_Ia1D7Hd=&Vhg2+ZDSqv0q(Lw%s|jn zhskpbzKpPNvLOnGb=@VUw`Wy23#a1h0u(MoqyPJF8|_t`s%WsC{Ehq=WbLo_1-l+F z`&h%Gd|MnsTO!cG2RA07%C21cV;sWmtd_wKvQsJW=FwhFQfW_yaMRFK>HD%^>S*P= z-6oKs;23h;iZsu`?Ar8>7DEHT4A zRe4#R6wxIS&2SD{2X=WTYm~G_hO=X5c9Nv>gO5$O#ceTfLUP-$eycX^XN_Q_-Q@j2K zzISse3Z$u^S-FNs!HB!23DX+&l+amAH(6uyNhxo}mrW%g&*|%{j6qcKxu@>tX=u1p z@t<_l5?g|Ugu}SU62KoC+I{P7=Uhlq)k0L!oFX4T3UWvbTLn z@?HXpqjyoFj6hmyv5>b!#rc@m%DUl<;e^?1slFsA6;?QXaSmqvcYx~}4UwbvIc&&yw0k}G+uZNepjY{UDoxsXOunzPTxo~u~u zXrWW^!A@5-%R-j>{IWXD6^h&&1e?EwKvbvTi~b9JOo*0e3Xr@SI-N={bkX}>6go{J z?dP0xi$S>?ldCkT9F8)3@p>MHh($!V1y|JU7*B%gTU=Ix<2v`uIK}xJ_0S~G|ItOI zuBQEaYXnxW6ur-2b4v%q}&Aki0K?JKIAxFu|soj!3h&(b|-0R8xyGZL+70w)t8w|pOs{~MAe3|ZheK^$k1$LTQE zhUdREp2UF0(7grH0G};0ogj(TAS`9L{&Rl5rps-Taj?77?A9`hqJGD6EW18%24e1N z{=LNiUYh`vp2ONx3ZikRjHfb!7rnJ$1W4KVC4+7Ri7f9>sb7rhs$3}Yxv_;)Z}Q#q zfPjvpQM=cmXuU(f=gU#vN~}naH>xxSru?MC{u>MuO>-!9j6bs;4!q} z^LJ>V!%4@u$qGHD6NE?GeA)oX`vGKrGC8Jz|F+1~)i&Oz6BK~@mBp98_IkCt;#Y}O zz5%{pIFe|Jn6Rx1A+WDN_p|D$q!l{jcO^}Fo6jdxTB`tur@7OXZKhF=od#Nw=}jFheLX%|B6rQY$K4wcio_c zrYvN4>6DQ*0=Qzjd~w;4vD(!5kAZH!e!ise%G>FjH=NJw+R_~lNuWH_p@28|Hx*6PkA0lb}-?3iO##wS$Dd2Ny zN7~G1*gFsO@!#8vnU4KVP}t=KSU42mNuwDf{=P?^sE8J){RB!nx;{)thx@koTNvDIHENaKy@`dO zD8bOhYPHa02IWV~Pw0#4eGiL0Bu@=jWhxlaBKy(C-v9#hzo2oK6Pd?JpjB!4a;yw_ z&t)=DcR<6r2I0kKL6j~bU*-S;tg`bk$(R7RK>(N`BOw|axxiRO!k*ARHA#jShlY&b zpCHNHJ=w-MsnzTPII9J_EHUJD@Ce;LT$HOpk&v7uQoDOiP+W?SI(Xh`BuYpE2| ztZnx00h&W`*w@d;M>F!5gzr}17&bZE*!}<D``-M|=8(TTP0Cl2K) zJ9n$}q`YsKXcYVo)=&|3Pe3r;%6-OtU{NGtHkBOwwyORVUtAR5Q;@L*{~r0%T`}yt z1+v(IK&QrH%5PZWXe_cH9jG@M5+LKU+xaC%)pp`{3C4f3>Wa9vKRHZ-gH74|vlpSY z9Ty|J+IqDyS9r2|`iaqz@uYu>4h$9JKMUVif0FOx>g{DlsYr4&&zyHv4M;7axu3JQ zA*+7(f@M(rOZihmYiZ1=1xZ$(9>(P(f*@eD%ZiA+t{b074hK4rMR)QI*_BllWo9|hos$X2l%-c!v>V|;!ZCDEs>$3>~$THY7&e5Av zv>D3G9s#Bu7LhZS%gfUq`tQ#l+A#+z@Qfc46J?A{ZP#QB>MSfl5v1bdn}BTH-E3fk z&Ukjc8Ds#u2m879zPDv!f!SpP7ufRc>y|EJ;~(ceQ+1j(eWbWo6F1|>Sc{p4DD`KM zocruOYuFeePsi~7awXvSt7N-N4Roq`*_2*Z7k>_cc{NhC^4EfiFrE`F7W{N16;YMp z_1lcYC$>=Xc=5y>!Mt%!XBMCY#d^e)$BDC$CHeI+@wp(1x@d9cf zoYXtni!Il`?6Vm0nB(&0aBjZDmJM24c(r`U0e!I%FDz4Vb~OxueO$3Z z93xuN_^bEMkX$CQg=X0OYV=76CYOchiOR2`04wTb?MAVy;;4Zy{qz8_iaED21PY9B zJ%fHmKPl89jKr)CIFw&pc_uwBsA}aX5pqN%WKQCA#b36dP;Mz#;AFsqOIQpgOm75eoe%g7X_<&D;;vgwj{(ia!g7d^ z$H$ei3|oEytsqqAPD9qnO=?o!r65!-%H-GP_t z0f+AZ@If6=9$g#hM&lL(Bqvw0k39v?7ev-9?Ibp3X5AK}`19ROQrG;68ZqcT=mU+{ zivFlh$cbrKIeMq7papHSv1$aO0y_438A#l^)S#s|WObt;HxZPPoRgnUW0xDs-NQtA znyM8PG}5KS0?;i?%qi@#yg;&-*}rnC3Cf+)%u;Cb!}OjI`{Z*z=r%{W@4@w(x%b%O zz2DApe6g?R-=F@AN_)qXakozz1B{$cxVN$H{WzG5)sfvO7vY|rY*Mu%=?%?^#|=L1 zk+CRjIFZ#x^x>GlvxQYoh$`L(s;Wg!gKC*GWm>$mgz5G$v=%=gLOAK8 zj@e1CHuWG&blk*JX84-<4sEi@Naxpc*Dhr}HONTEc{b+eiT7RCj>2_L0{h_^#d3&S z@Q|=dLy)|ES%ZL{TF2y}Z)(sZ$g+-W0a+UltAOA6;V=#18{-y>qVZ`SY`4S~!yq57 zKNlHwy3PNkAXgtzkJv|bQ@)Z@nhwlg{1y;H6P&-JR&)0mN&mg3Mw6g2&E}&-GR${2 z@r7$muV~YgX)>PKmfKTe}@owd~RByrN%gQSq<`Y%~UjcCxs6!9Qf#8z+Cr zF0FJR@=1G!$^Nx88l_Xmk#4?bAl?}3r}R^ZI&O*sd@)YJS%#4^;e}~K%59=S7%YGMIR~9k_3o6h zi(_`-IYgD2HC;-{R4Wu=R=!Wf+x^iDxZM@d#Tv3Yv78oA4|fKW z$xiki@@=F#39t=Lw;*nlCCz4d3bcBDm9-7@Bg6-1BAxNwL8u7&aN1;dAGsS}Z+3?# zS*Xi*{iuE~Eq?2g4(DHppmVi6ea6}K#x9OZc2>p&=Jdz2Dq!kTXhr*G3 z*HFIzcj?z0L-oBqtC5@|;cK}CH|PFoN`!vsL*Gn-V$@7IyyV%$kZH0L@drdx>}Ki( zNHhD}a<~y;+oU8p1QXlOmdn*@HT>pL4csf)DQ|qz_eW2L{v^#|$!1*cB@`gQpwabj zpRjC$|KHC8N?a$n#)&n=va8bjlGSkW`(X<|^!92o5T~HHoCg^j)sl)i)p;2fGr4aO zBjr_Kltj9U$N z-;Dz1hzfnmC@@sMuOGRFtiOYcXrnA@P5lXcpUIf|6XSw8mUqmQdiLbXTQ|ME@cm^!Umb*ySZ$SPsc2OJX>XPz;WlrR+*nsw{*NSHf*~IHguOA`$^3nM z?9iFo$>dzVWnHY+hp0&PGgH^R9cU0eOpJ64k+zi=v1Igq*BIp{hjn^U@P?$_?~bI% zSXd2ixCTlDMKt1fr`=g~uM_WFLk4c5X#(e?ZS$4#NnX@395*)U6i{UdL!p9??zApz z)u3Gu;O@@5%soQ{BZMZhfeb3pzJ3F1z#`3VzQc!;%yHiX+0s?rnHF8)YD{fA>eBL-wfL zQ6dS$dfV+MZQ(pzqJQ_Ll~h~;OA+<%{@lM|*)G7L2fZAi2{d7eC)z~}ln-sI92g5J z=PV9~31WUx=@v4>Wd23_+T=R8cGEBb`x>-2)S0s~P}f==BN-}H_!EVkwv%@~-R2hM zR}OVCC|4`N8Kh}Z$Zwgm`7uFk14r3iT5IJ3!^rlQ?gDH+X5{drgnFcy70*D)0=jwZ zd`>-r?i37+3HLs_tP5PB7bCETll~Xq^Y6;Q#dg^B*=d_}7-8n(>30fX87e586-km2 zZ|(I9(nQ}t@s)5L&WD>GmuE|px_}2_*)9`a+)L_zY=%2FiuP7@TW zO0-|#hZJ>B#<<521T$YY6;n?73>ogQZR$1>+U9>i((Y>g`w^ZUhw?P@fVkJ<^iN#! zkFIH$?2Xnq5Hqbe3F_+6>%*lQJGC_3{1%tIN!i)(!r*S&$+m1sB>=sE!dy5!E6fNk zw&vPT94tXe%{%x>SGYD3vo#$j2UH0K0t8Mjf!HHt5~h$}mQswc#5Z8WC<#(}g>sra zI~5-e-&1n~XtwA?;oy}d&7vabC{5h+egWjRt{=1_ka0FcL3Mng12c zpyvqlVjxtQ8?|Qu0g-@y+1xMww~~$cXx|g0&HIj!pWb+9nVq6Y<-OBkv%vx^{6_uZ z-|Up>ZD5xp+-oQ9Pci^KTHR8eyLWaO!dWjC}>6V^Uf zAj1-#$z0h@P9}V(`qcCzG~=dM$3o}sb!nS{g=-z-Jx?pxKq7|R*ss-?UDJ))Y=u6j zJA;CoU~#WnX?Kl}prxPy4fOiWay)FDpHS8k6m7yO@NwSlGFasA3Zr(Dr^4Lk6(nhw zMw9?vje^e%p!x7LHkN$tT&O3H23(s`LDJY7+#2n@?^^UpT6uYOV_b0<3u`}sE8veR zwCsE1(OKUC(F-%>_h!sIo+dZusyXy;-0Z`Bz)MBA9BvUit!XL)e#4Tmb--GCVRF8l z@X=Jv|;xiSUgeUNfoHqnZx!<{6OOyJWy)VgKo| zVWpM67GE)Oo^D3{ zH+Rrz{g=gNkTKPYgA$v-mB0M(UxOW}5la}DzjjH@^+s7E@jHSEjcWrq2-3cy!vlVv z@?N^C@K~#9=K5*YW2FZR>b#RbT@s-*Ya4vuM&VdJYSDn%w{WJXq^xhFd5X@xB*@^?MUPs7c^gpe7wZo2T#mR7)spdZ@Hv%i zXM%QwB5-4*0;7BYnqOK6T=l~V?);6V7X?eY2}s0{M73qXCKyo*o|A4I z744x?F9$I~Lon*9I-mZOa(|q!j;$I@oBEv=mb_{f|)*MU3&-Y4E4JKXpWZN&c^fb$IyH(SAI zOX%sy7>7(aS6fjUEr9v^WjVV5J*aWt@?sR;Zh&ktua<$Jb-J3wq~L#W1V|1}J&eF= zQ2uICqL@0lo4!BY@hyO zxN(W*5K-%#`mJ*E{x*VG#O*CMG%SI)gHbe&3*OITpr6uB_?(mL7#-}sKa+b?dK=&( zAAAladxF+^&DOGN37amP!R7hYPnVPlr@T)~H(y#enH~ggn=`;3U>W|C_Sgj|8C{Zr z<`|Ci^3Pk1G))_ISz(5qiUGP+X?GtBg-|)uU_p=vLrM+Tod)qPdUL){6Ym z++H)K!fsB52GCykdAX0$K6IF!OO5uNGa-N8UO+vCz$?kaI)zs7uq~3SzB*pp-D@;h z9ix7Cyn$~}w%v3-Sxz-b+QoXT7eM_8^cL|G*1dq?C(ZbNXddz-%W$6>jxPp&ZKMv?>tXeq;^<5h+P+KHkRxTbEcyK&HSY6=6yLonuR&Kh6ePh_GVAX!9_xl zP)thVLS2vRm3PXmPBLqGI<|6Rl$2A^)r!tf5Tl$pV7Ohi+z7Wt=wRchsD`62?0F#m|6%*iAu$@Q!I60H8a-}?_A zFZpo8zBi2`9Q!m45Pgzae0PRd$Ynfsznc9RUZ3=UbZv++u*<_wd5H43F>J7`0_oo5 z6p&U1dXXq*czs`0DQD3Q27OS*d0FrM37Dm;t4bb!n4CHlshqt+;_y4Z=NbMK#kkoQ z#tP5^&vn(T6LFmy0s3&dgW4M9I{J^PH-rdL%&r9oI%NPwK@wY7#`w^@eQ<4XMuXi1 zZC-O=wq}$v_;Ljo1|;$^(e9|L^1Rj&=>2>wl0A&?jvDDJqvmR;S|k?+Yqz>+x)fI4 zoi#d?u|}g~6$kKWjK<19Z+ql^=F60b!jr`NEAC=;KP=3DJ$!+8PWyQyiyS!uHx6E% zl(Zgw3xR@%hY~THkLXs*#cmvhFvJ-#*21-^fTl?}n2y*^2L>35R;=u2>`S2P_<_-P z%pCr>;R8>@S9HeDnq~6~upNRfWI!F5|G75(-Pq3#aHN9rB;fS(%-*V1q9#?eNG{?( zdtE-^189lR#D>T;M2|zr9rF}A zAr_LDt$^cigAj~v0WdW7;T3=?>B+3_qZOz$C=j0>mt-D%By6eP=KHD@*@dV=lI*Yk z0$*mS+^(_k_|0-imY}>YZ+jPG*TGw1th@0)&UAPyig8g=e4EpC)W0{uT%(>K!&0)~ zu-HdWkWb1^1D(xo9#rUZq=ES1<^R*xQdj?hPoU+SUe3%g`yS!9I)}hexxmQVYpau@ zO4>i9fbtdLpJOnL?03<=_xEs>_XFXXE;Us)R z{qL>Q4U*v5w&1i@V_%l~M}Ot){Q94i^}*L>WDHqim{2Pq&$GS$e?QVU{JyD2(oF+k zcVIBEwqdEg(iC=04shlU{Ap{Owmv)YamFnh!nWlIdkGmSMo{L~4d&r55*r5Ep6dC-R4<6H>Hg~Pe-T#Q*LP7tL89G&ZU zV6hV5UIi9a+&4mT0WQv-tW1OrEJsF=bhm$ifr+5%WM1xHUhEhB%TdtLve+p*Oo}Cw zb#M$nsQgHyoXE2)BF}rb6#d8Q&2f;r&J~z^e};7P4@P70yHH0BB|~{g)HOfCxo&w3 z89_duDC`8FD>uskHb@u)yJsl2*nvyU*qzVhSO`mugq6g;Gqvz8#-AcaU02!=eA3sP5{ArW;IEV*Z$08A;_DpOt*jq?yBi&c)R)_6|#bndd%uz zu;8kq&mPyN=j{xYh}NdSZb>tkBgPmDnjH>d6u{n{iR`EsDU5DA6l_=6;l z?(kK?kJNVHdVaO>dB|Zr^xpwNoE&Xq3A|I{6uqTJ@^YhcxD)RPJF}2lnPPOk3+FtW zc@tfMXZl(Nihq)CpD|xgf;>dJZzurbUfAJfltk0cNAabOP!VPeKshRuE|49`tCWzG z(u%{49eNWre{p3I(XlEiOR68{+H3aM8-oqYtfch7no~0qdCP1y>+6C&Op{>!na zuj415Zniv+0t!)*SYk5-QJ?@SZWmSSCQm$c`(oUZ>E^3~EQeytpOek-Wtvo_X=>3v z#?H&G-nwc*GCg%btyv`xAOGeS-R5!DbK`wVQWFK_dSq30)~}jrk+FX~aT(i2I(F=n zKLwCl9o8YO6?a~_M_#ba>ulLN%n}PZXM#jlH}v@1vx+*QbvM};4XWhi-PoD2VQ8ZH z+)MrUslMQQx%a~o@3)ONu0wN@+NV{qg#1wu3{>bZ!FejEepq*pycG`IxXJT3B70A6 zrGtI=pobZFlU67kkH^jiW9rGecFGF1iOoD(g6b+7nQbinvPJQbiq}arf;*E^{|Py( zB9Cv3S(psXsf5B3pou9cxQ+Z$#QZdwdT#=S^ikV79bLr80JA!1V}&e4qULp}i#YCu zCi{6#?pY~fsW@g18*vn?%|en)q}KpNfP7GxRb}tuPcs9Ud@z0IRM=u#TXQ+^RH+TK zeBinDx&@U&TPATT^g~*>2rA{g8zCRY?nEXnCfF*7=3=CFh~wU8&w^XVE*m~SVp~*! zMh*+CMIE-be?aNWYlp{wF6K9qFkZHovGVs zvaF*xQ_U&OvHr(3(q^kA@8Y2SM@Md4!52Q47r#I(0)#$Ryl~l8quT4R>t6z-0v=*n z-!ryaHZx_bey*!CAaQ6y=L&|?@1s==S-cJuuwFQ;oK86Yo_)`oFaqy|3wW8J;dMDR zn$$8a9aFErp2S`nV}4Hyp$(loBuv>4+q6%fasb?^hq0yMC0v6)Kb>0hP(*pwsQ}X% z24t&~byRrF>7ih)c|9Ou{yX@>j$jdT(zIw@QE-D4j1y?Y*i*Bl7$+dqe8)CDm0|BO z^T7zapJqa%PxFXI^Mqt~A4x+;gPO2%=;^nJ&ZPq||8kf4LXVfwmG^eJ-dPT1P~YP7 zGIOJCY9J8@Kr?tQz*inB*odgGW;A^x}#0MfoLS8>D< zk0cJRygcp65$tt{HJzb}2<|BJg*~%&IQP3%&P3VxIb4oJ{4jBaX}k;ebkf1WT?vwA?z@ zsytaQaoT@Wfk>(m^HS3A(3^z&k6Y#`!>W8}*?=iZY8NJHzFnAghyhF79+7loxGC*o zJBPeq@&<+XF4$ns6+=|ig-&e<@S=`qJbD!`^8UADPXLAc%CY+( zT+cRO`Y4ZGAwm)~J5+^}N+oXuGnSw^Q=HmT+iXXpt9~PN%P4T+Or}CJ64I%}k7qS5 z9-?z62g(t6U5qC+9H(g%9UzeBlyYQR@^YLNgn6{lII+CytZ=J+(jmQx?%j?RG8N?_ z$T!zjPetg5du2rT2OUM{>{MTWo3eemUYfEgjEYe`Dlhngk0d#Q{qjCYDbW3a9-JBH zvX%{umu^1hQ+SLfCXyiwT@YMzCXbS(vh4Q4gVxvKL%e^kA0x z?xEnvV1UPE$5E51RzB6OZVIjnu=DvuS*}Z(u)41>E^xq&Si#}ig9!b~8><&8>j%?* zd9Ut2FlXJZlD$t+^&ZIPN3s(C2?xmsjNQFJS^e@OP$V3s2$NJoMmlUGtSGX=sc5I$ zBIxJT%$>_Wu@{#^oWKcRMbaJzQ;^OygWS-RW2EVKwQQlE{!DMWD2Gj!tSn}>S205a zs%V3fVsk!_KL<(_W1`*2>H%+P0{ItVOg!{Wu1imDc=ZM$uot$}B4wF>S#H1A!8nWG z@0dKv8=siLe}%yS%QxIW!yo$c$bzDA$M)U&l)q`m+qFmel1`S@;nAZKcmhRUw-BL_7^1*2LCQL)0fM zh37a_s+yoVOtn2z?#wS^~AST7G4-HBe~|D-rPAiUk`_}O{*g?N!trFVtrHEy3njMQT^FK5Zh6$ zF@o{2Cu~WAmfhD`t;0A@=}F|Wwm~fZK92Wk+^=@NOE2xt1w|F^B==w*u~jt|7=y7{ybPC^s>Z z_+5b`5L*PohHdMKXXnnt!2HhI8U46Sa#?;3-|ogB_&5$c)wQf3Q|jad&0tch=e&Go zW+g21ReOPFk_#2lQ0cv{iovU%P|j0)PPB- zwz0lK{?)rC7oBcHDCPtaucy1}5-zC&bWqq1U*8kSJGU7N^he_WiZtw|>fnmU8dOHR zR*g;g%0&{nyYC@niq9?n$z0OXm|T~{VcKOJ9EaboHD-(efB^w|NGU5z3k3`S5=2H> zPqKPJjx|Xa9Tgr|lm`mRs;PU31X}Am-~Oq~Gjf#--EwnK?)~s?c2d02kpmL5UtLb~ zxIv4)>r!QUHq5t|oXWny#In*L6!s4egnjLnX^MfT^7G?aGR$2x)1~Y-We42xc`%$G zP38fJ1}I2&scgx-RQp|?TQMicM2el#~v`=T4w%~hl~w+ zA$@gBl&8b2t~%0WqteIUld37S;GwIQZZ`aifz95WNiIqWsm2~-#XzK2NSu7;+3zq$ z$9NLCayNrLpxEZxFarW148RHVo9e0#(W(%C@W5>$45oOj(^qhtB_u7Q-V{r-m)WDw zgh2zBWyYdkC=@rfUx>!& zgYTLr9ffo1&6ZPO{f~s&-E!)oBX_6a^nawA*Ta??74KXz9Of*`Ljx?>Y*3mI4)~%_ z?u5Db`Evo5sA}HnFR3y!vg0g=uaJ>jBeYD~k%rw->zV|dM~o_4HaIb?U(s;fgfS#Q zs*HoT{6r;7=Je_Je1E|a zZqUUMTx{p9$&T6+i!cDbrD=J(|2MoRiX_YykCoJH7; zs>dC6_m%OI#?HOy$)6C;x#0x~8R>%xf8@H?? ze`}d+XjnURzxR&xO&DGc4qlyaG_p|K#ABX18k2n6mgkBgegmwK2sE^-s!3d%+1tXz z=u~6P9Bm&>heqy8Si0AYzTzCCbwr2rz;PE6 zNu93ho@%){%j@cS)w#zhoCeNQ%!>?RI!=0;GB7{t#K;?Nnw&-@e20554rNQ_v;GZL1`QP$Aco zPRq;&8LGa2RXmc1-EX-T(#5#icU4`HS$&CHpNE)V(d#5)i!3F#sm`3Sf> zNqUIwgV5W2kF2LbqKn0;5Cn&0#R-b1v>EbB<>BJ66F^=$cG)=Rf%~xwrg`X9(*4VK zF6nEcWFU<6fhGs;3+0S3b!Y}RiL7`&$v4J^2grQT4>ari{U$Z##C(gVzrD z)}wg}Zac}?7V)bCja)H6$n$Py)0b=5G0gpl$WC{N&nhxT$Q3##MN1BPJXzwBl7Ah* zPUs#gqLILCi?MUHKfgKb{cgeadUSZ>ahcpX&{!xt&_=7`UXem83nen07g~J_`XS<% z$!c6b8F{aSbt*5md&>n8w~!J`*>2G{N%83-#H{00+lF8fp;aBsl}PJGxnchQPbg6Z zSTnppgSv4pPr1VkNs@+xt$07fa5*|v`2_v%C!7jS9m(PCevnxDU*lt|9v7!1EeRoj zoXX+3?Rf63Ya|s}kD&O=zt=dZ{oho-S@nhSAAv zRr<#FwlS8WUV(zazXApkooC;4o)jpv`xAQS#_O+jp!{SOJR!tGDa%Ax_tf)gS?H-W zVyf}K{QclA!J^0Jc#+&>!Rqp)P1o4$`d@unY%FHMicO0L;gFxGc!Ys(QBJ{n@`l?F zvs1qR`A>lfLbYIGq^L?oGDma0ChbdH&rT4(aZwQctXxb5qwh*FG`yUedslST4agVk zYFeYZz$vb^P*McjK!G1=?D2lQAZJF``s`V5-Kk^f}xi7WXci;b)sg zAc+4BjCQ0*ZvPeUo_&DjDXDulhXAC;$B0J=MFq&&7k>!JZ^XLwzCS=iq8o3_AP#?7 z&&a&D8XhmX*{+2_O_I=?#^Pvh+Gh^6=>z zP&j;@fc9!{ofZ1N$<7iOX0o=r3CxogTZ&eHhW-R2fjxQ)n$5)p+i$;ZP-EO98{y*E z0q70S3WC$v$&P^It>Vq}*z5b5X389B`o9h_HaHGy(RCMKekwN95EteSz|swC7v)ey zlgUrLrbpw#8B=+=jfBD41~gZF#rwl!jg&L}voC$ZUQ)Ip+kZL%l=IBHO zehbSd686nHDXuJBkD4j|gKPq}=?H41*(_JZs)?5LRv%!nG_6>InLA9vSH4Kbd##pr zh!fN(Lf5)zJihn`uXMZRbf~QT;wG&_tNLVl!pDoMF#3W65;bPSG*zDx@xyU}+A?*W z3dYUuX=V^aU8G1#QK)AoI<^ElwJdB2b4Jy@Y=fdvn<&$GM6MmXRm+QpbUjgs9UI6H z@Z_oC^@-Tz&dvTbYy=Ry>5_@|QNZ!*Dd27858E7wx) zUUSEi4e*Z;kgbf;QHMqPM^1$t*}^7X!)a>qBuh5KCpZ50;b_zrArdfnuL568C9128oPH(~?K3c|5eY~*aS0q^$ z&(^Te<6Z*F6<7^YW(ab&!iJnr9i*FJ3Zt``J;iC`UP|+T-gE%2sVM2vRS>hkn*UII z>~a8T)N&s}$n35vNUq}@3ikL!MT|rnle18bbj?GgKr^>tilo?5x}+e@*0(~6gaP5T zKBCSuv+$Xb=8@$yL>41D0Z#{=@ZUE zlIeIcu(I83vxP(<_Zv`7`DPpQ8T;E8KtBY~H)1;s&I{ z%d)6w*Wj3E(-z2p8adp2aq{Q>L+azf&&M7N&yMLvUQ_utsjFa*DarES-st2|%|c^$ zh0lakJvq8>+P8lklhBM^U57!HK(nO~&`ScCh|u!-WY1b+?X=r}N{{bFxYBwe#)(qI z1(-{zOw#-fdE0@f3;OvZefhX=I(|IRjY=HmvEp1iyjvh{N&$dy@UZOOfy#qV;t^uZ z>FqM%wFmoMlcptLE)qV`?(1K4sN>=~RmTzk#3G>T%>V8bchs0(Y5Ygf)vSK&R402a+epPZf1jj0PI(Sr3>-xyc!3qDA~h=Q>Y;tZUTCjWEa zgbWHlaz{!O$rgF*UtO9Ym8Gol0acjGUF0cCN_fZRfsBt6BO^-$=bTzYg{nfF!@EHx zTj+UVWy(7(3f;;=FX+lVb%`pxhB0d{xjk-mUt?q zkdqb@=%Ae;+K zVNU-q*qZVE&q$lKySH|Vtz_y+r{C9>|8)V^U8Fezg>~%<@Xp&G#~x_o#>+jU%l`P$ zD!@|A%pK%wyF-Iq>)D|Z9)s2wo@~(%XLCNP4V$rMi3cg9in;~tcSS&w36v}3N+*Pd z^NiiL>4hr}V2k)RBafos3ln|jvYK_9QAMg$L`UaYAXrn(T zqUsBzqZu6D{qi)M<==99b5wSEDW9)ihs?gYj7sn}iHd-=#D$0!MRT9LT6V*eM|Ad} zc&_q+gP;_H1^B>;7&1UD-nog@6z8TCug; zb02jM#!~ zB_Si0im45h1ipd+o%OnQOmAnHN^F1 zNhfI-m~*;AfWPk=)i0@T;7PjAi7mQq+F)E903=L&S#?AGD{7|j@ICVS6T50KWG+RLfUNbO&075aX<_lYEb|C2B2!d{L()K?u0Q>ln2Cc+L^qhu^z%R z?J~i!_T>iSLU6^Be~dKGFoQglqC5|ftKk0RJq@_LR`2VRK;zHs z>E0?PKROUF5=b&LZW6xJxE-1Ew$3`whr1nDDT~S@zxe||cJHa9V)F|-n?5e+J4IcJ zW8VK%UbZwD5XWb$AId3U$0U(mwh1P#Z9w(te)5g8p)DTOp#g}4gkGA3&|rv%tbv2L25uBWr-l0ydeP{Q*#DU7p^2f#}oL33z! zd7KRw#D~0I07vLkPSaM#^9`>dVFnn{oACe(xP}ZTn|{K4VsLPr0OQQ}i^*KoP#_|8 z0WvkbD?bhqc^waj(Iv96cV9||ZK{x`%(2JP6tSNIC?%>2BHMTb5>WO#T4+7V|L1D3 zHDIEdV1gpiPMzA(3l9gNJ6Tt}lQYavmywg1-I;T&;a*jg z0eHm8Yqj8@p$o1TS7}s^yx|@VeVwwFNAZ``xPNdt_0;8_0cA1U>-AcBdda4PP%_Q) zLO`ePbR+1T2@*&t%KTr6LmZ0yRQ;EpP}GWow0cugJcPCYO{y|J`*4B-o_-{G$8r<-NW!IR8Jm8*=q;M40&;<1PT|PftcwEpcy8P05)+T)$`ek zT+V{Xh39cZv8vW?=7NNGcCb$Y^#RL%xbfH{*%$2dAHvnJd0Y8fRmTZF z%6xzw(7g@4zTSOSQ86g8pTM-zT4F%5Oqt*pz5ja3{Ev<4`t_oeLxir*g1(?l%*NFp z#^&;RqmL6Cd0DYGfuNf)9V9MdBB9P!hu&NW1qiX*7Pj~)4Kt(64FNc;Vf~Pkf?l0B zQiz_PAlsjS`6p27$cs3vfxrQ6KsO$%N{8r0=@dq=pm2e>PgR`Tl{5^nAg>~>p}+F| zp)Yzump}1ip~mw)xVRxo;(ERD#ZOxU;*${iAps@fDQ=4SIw_XhuKTUj#T+afX z_H=H2dN=NV@=k2Y0T*8cmJ9)z0eJWxm41{R>a2)Hvv5u%AWuWxuy$NSKR#>h=b39%J3bc^%@{OR<;P6$o&f&)D*}DFfr{$l~v*{_;P5R6AK&=5H!_t z{fyA<+P=x}6$97zD6o_s{wtLdLyUdf7i;3|EuZ|=WR;{*6e!;Uft=l;jULt0v21Tb zstU$|srt1ZiW-G%6~!7p!2=X06fU79Ljg_HtgK`UigzjII=9~tQ4uWO{Y#jNB3Ls| zsi*a`sCohiOP^`ofw(`%K#8dxcB()@C7yu#C0`(fkSgn*nQFo)inL_C>_@7yYAB+p z8A*wCT}b?zT#|VxUoRcIi+~vOW9E{OR`0>mQk!+B z3D&>~eZtv)WN$N0zG0Q@RxlGU-dN&YycgQoBH8*0IHID-Cb0$42tYl;obz$RP*3+e z&YXJBnsmgKOy;94scRw6G7+=nnN!-gj7h`gGNVZVJXyvseLyB0x?`#8A;_9Is$Dd(R^*T zZ|jPjTn9h7My7heF)Oxd*|9IHs#0>wW-&LO^zA|lL?orn2vTE&z(>P6gw@yF3?Wly zJ5ft)ZZ!!O(vtrCmD1ccjf9^}3OxCJiUE+GH zn_aD+eK|mS=_gYRt1Ds6bCjYU^n3e(J6@&<6j;(ZW=SI`4$#%is3=>qC>k%Hv;XYK z=@fn*kF1q_kjdrs6LW_}qGizQ1WHgujpN(!f z4)#Zjg0|xI_FdVEW5$d!xkeD-)45ZR6Q^j8yB@`W+k7-X#P@C_;p%!n2$SHDCnbC9jXQKd^dM!55 zyS_KRG6?&Q{*h9o8ea~R8)Jh1f14PSd06`x4q@`B!jCq?$P70klUl5}93-k2`#yRQ zCiepxbV-4Z)+?uQT%vp}GHCe=V;O7iYXQLp(lj^hu;St`piG zub?=~pDrAP@yVzdayr|R|O)b7IkOBa>6nWv!i*elYy>2{JdX7UKVtb}(!s-JCjt_pO zEGc(;A`~rp9Yq_}LGO;e+qzCW*#FHm4wGBw#%}x+p+2O6H1<`n-Z6j>9|_U~!+CT% zHGXaJCW}?6_fkWc?DM6VNuqlcA~^+_mcq&zfW$FVV2DZfJ{A!*$DNC8oc^1Q{fhdvS=hCe-PAZW13OE-IUWLwvZe?!*|wMN zVL*=*mqgs>8lfAqutRJfCMK*pC(WXhHfxZ%&EnZ7g;6kdjX6fRXBjQeKhByvno@S? z!+VUeHvEvL+#+QUmFJeJh;IEqLQCd4X4|m@9JAD*Z%%&hiSV}3TsHaY0SsodG65Wj zi0I_2D>}6zF_Gaoh7+Lu4+p`rZG6Yg@vLH^CPhtRk+d<)KJwcuBto-&@3}$|f1*bT zYwG2gVH<%2^Ly*<*t?6Anu)c)jv|iA9gh~j>~)|o`?T)krqregd_!YRXHya9DxWe_ zyIs>{;C{5Z$WK^nqG!7QuKvfK1GqaFSzq97eg;0~1pg>-1kpjkq&o1*d{$A}k7GZm zb+mLdQ~L+K<(p+^t|j*gUmc#`Fjo#QeSX1|A!wM{5c%Sjq#gd?a?4iv6uWrLm{byy zQ2B>TW4k`SnjGA2ys(jO97F?D-qxytk0=q^kvS5g9XVmFl%t;rC)1=EVQB^2MT9Jl zX{0a&xUP~cjp69c254tWcVHDV6N6jEKdw)WWnoJFbfZl|tF2HaxP-GtIW!AJ)SS-L zBX=1V;fkPlDH$UHe5D7K^S7h(Nu$!4BZEBUcmc*SS8gM?IHz`ep}naqf~-(2vuKa} zgTR_jK+3}%AlcI|rgBPvzHpJv>Bpv44Er)`MtrT?o|}3}9@;2A`wL;Tp%HD^S=GRa zeyS=zvdx13vo~*Bjy|`WPK~-K*h(NsFsjrZJ!Xa@OeUmP8_!4(%%qn zw$`E_qBt4mP$*Geh`lGDlNY|P{W(shABH(M96E{d69uHoHTwq<_2S3F-4`iNoMGTee_zA+(tfr3$@_vS}LV#!_YVDX4b|J!=z&5M#VoZS31 z-qvGyISM0qXB3@d{8a_YfhNc<`3|~$GSGZm`H9Qu3al(Wh2R5oL;445;iarQn>s0$ zRH^kYb1@+k;Op0qOIesm0y?R6P~3OP9lyyUyOvc5)y~TkkyF;z`lR@}zoI1#DXtQ` z0S#?F=O2*=bD>g$tdVbwr)@Qw#Hj{gK*?L8CtBCi>kyQE4N_ z&sa(2gd&jxo5Jdp**hwV$NqA4{)UMt^ZLTRszmT(b=bKq-h4nhx$|334>ap$rK26% zGT)uecigZ*rpyw5(FxDhL=e}r)*k?Z%1Eiv*;Z7C*9diLn--LQoCWzn zck z`lWiloP;>D9Tm;U*bT@NaR*LHZ332wujlrdHu#+v5&%n#c>)b={{ltF z)Um;qbqz#PeeFPXm8Y_f=*e1z#?II#yMJNW>e=AFAm)8A)vawUP0Kj)4nfYXQWX(( zNdfT)G5ETOXPTrgoJTN=#i#SG2f<2;xsuNZqGuKLWU&=Ei*3dWbC5^XcCr#@la)Y&`<$M0npU%5Cz4! zZU*HTPB8z*UR*@Ia%T--U{XU`be?^tC&JOr8Gg{b+zRb9EEU`m~23<<P_2m`Dx0C}?J+{_p@BHjZ+SD0lovqVDhYW(hTXrPCYoCq2 zX5^YRNm~mS!dl1_prwvfXWH3eG@Q&XWWpD?!!6Q{w6~<#{Dd39t-qfhJRgS|$>Y#F z4u9fWr<0N1mK%p4oNhtaHfh7Ch&Wb2H#Q?<7bJf(E5!O66!DmN;@^2C87kGp_rF6L z0ijndsgElG(S&DU+x|W{b63$76JH(n=!0%>=L2;1RHXFH2M}pRS1B@bGrvtdWa|w18VY~68u1O`!4vsT378UM424Z9! z?>R#GpaT>Gb~!v)>ZEUOnMyZPX(w|rd0m?41zk=4hpj=VLm)0$j!7U9gEb}6)o8Yv zgdS>w%;lR=)Bx>oiEJkkl=8?U4ksJZ8q_pgxXp>W-lzLvh_DuPkl{%(WVVahmDOyM z=9L_%#ZlO}9Zc&BpLF}=Ik>;+# z+qjs-`BC>5n>tcDKIqq5({=DV7&GMrXD6ir7mkjqwBlL?d6+lx$sher^JMLFA33aL zV{y#j9j7{lSz5WSJmemEpZQE@YDEdxbhjY$j2)6q7qFhH1cOx*$z?EQP0H{EA-Jbb zKzC0RYXGlhyvy`=wTi77S=6pY@`_fb z=2LbUfFxxs47}d9+=}fsU`_+wVbrYYsJF#Vy)~hn?3u@i`U2!$TB4C)#$g2;CLn-> z9jWuaVXZrVxd$5;wYw{M-C9o$E>w zt$@K80zHD+1fVD`<&6r=7!RJBVw?y(#|vxAsz8+1; zL%hdn(&4!pS0B(%Mgpw}r^=}#8544mh(GYo;sQI=5(Rf*9cX@W{W-qkT_ey283-|P z-hrS;TlZ#j}7=N|Fa_R-g&sRVxW`l^I4CS(hWx(&xyp^QCdz@_Uo;tqs z7pl_8Ddm+j+~)y?WqfV4O{6Fwy&sX0tIaf(s%;iw{s%Smu63D4CJ#1!yR0Pu#9^M-*B1>Wf}yF8nfcV#@q;Y~=s#HI zg4mww0zb5)sY8sAYNKQk<8xNoR*B^8O-WRZsObAy$;g1`cH-@a2i)|vdf{byT;F%3 zr&ow-rJG4%f~JdN%Rx2?R<#jQZi!W>7Fd{YVpy~G`PBsP_rmpa=i3lu`JrQxu^k;# zeD?`gF0P;>l`pG&aJx(6hc0XOa7$XIAFulN#V%nDCBKk*t(8huh4j^{VT z|DFHkBXgM&(G6OU--4-B4>mvD{m#vq*F{ zEa3kGy`h}7lZ$~oSL99&VcTXzP#n5FS+>vX;tnT3SRb*og91G;-W^jy5sS_9zGcEmpCVn@{_h=r;zgoyehWeV9#>j{-!b4cUh*4;W zVCXn-JwCn^nC`-TjP9(!ud!J5%<+U}B}aWb@M-ox;%?qw^;S50eUkZ92v^sc*L@u` z8OUapuwpNQ#d-ymFKy2eOC2`#Vwqy!5ORAfKboFcJ*&vIVc+#TJ{Q+4ysM0bt*nUy!!gWX#+q<2zRTRX1%1SEF@Cm)`@iDaD( z^9%4W$=~CiVPtUg-F4vbSzcEzaH%~U!tIQ#wA>^yRBIABa%7u=)rW2g*2LN2(hT%$ zb;RQDcEMuhCVLB<5w_n?GLle2;gPoOU7#deXx2Y0T}wGD~Fr)z(EFb#gvXzQW(nl&ZbLX z$-q>hDCdTCa^NC~Wi-)Cm#b!r+?!C&G{R{Ii1d8J5x8d5-XE;%!Mwu;@7-xu<&8NL z1a_A~rd+x|f!4%YdC$V>OQcVnbC_$~){c>4+5J+ly6_cFAmk>4YG~&CT_SVM5%8U$ zvjLlWQi!|q9<%KNrfqn10!d9#@%+Pbfjix`0ecJ7XsC)%)>`0zcGt&L=17QdF`4$aD!*KJTJ+VIIYB#m4;{|(z znLh(wj312dZui4k5_it_lL6IE%0_S{ST|5haGRsD-3c9)?`~{Wk={d}T8J)&;hh>S zZS`*r(r%8GP37~^Ly3p2FY%%;Lm=sI>s8;ZxH?nO$V+P_`rhhEaL8VQhH9=}dVIcx z-Jq*pd$6E%Ff2)6kr>G1O0T8td(po2*c&Ca`1H(=CP0SMutufsxSBA11WX5PK1P`4 z2Z`F;@?{q*b^Bg`wVeNxoCf(fg=7f#31ENy4{9@*HdEtl)&0OcD%KGqUMAhTl`A62t16w-!ROHtETB{rb90xM(qMEG1qcNzGNOOdeyO)FUE zd_Sr*qdm9?l7y`j$&G0kjk=P{%p2c5Z}jIyWgc=ts5yRkFuIq?O)UihJ%*Jfwjfq*;tC=A9mHLq#ZxVc$@#t7RTF9`w zxmn79=I|x7-$VyTWR0t7W-i;GPUK2%x3i#zhYJ>T7{too-((2rZ@_d}(|Bz{@I1%MOO@Jer`e|u{e)sC z&8fR_ry(r2_G{KPva(SY@urN-BcHX!5a@QiU@g2+j|Pub0!J0XBWvnK^eJSlz#{C! zWjqo&pVm;7;Nu1q&@F;=#yiBgk3A9J>d@o{vCqE4KxGA;+~;E_mp=F{TMBKtvjIj2 zAbwO^xn%_ytNSkUw{Si) zde$-0M40+E{FIM-d)8`-SXitEtD7+W)H38w-JR3La)H0K z^yY#si>$)qQ7AO8dEofrKZXRx%!7_A(^kAPB-2qCe2LErH3pn`k-Pcw=hn5+hU}8c zmZ5rewJ}_!?5Ruxc6?9^Cn)1`rLJnB{Pd+1fh`WuSacWn28kT26@)3HCcoMT_QMe`auRiJ zYV8hGjQx0u?Z?Xv1JN{FDk#R&hEB$FV9q0d0E!}A~h*sTt&b?JFyRIn6iI z0HrBqP@!VV`dh&00Z1@OREML&#Ke+{U z;R{^2(?;cwm_tHeqbD0uC(ucX?I{NHZIE`c2s^@WqxA*Z2=KC$6pVRp;)<&gk-7A5 zT1ikyUA~b!o+3710Az9wp9yG$z_V=_KwmZNl7RuO%!1?9ZPj?T=pE4SDwy1q7HBAg zQYv3Hd^Ylu?X@$04r?>p7jf;<>5TM1rV(!LB**KZy#2EO9vp=#X(!DRF3?&nK}=Dl zX+*ODFJGRuMYuS49F|M%998hN<8LL8O%MGV0oBUcqU}@PY8fu)P4+$a_E>(i9@Ay@ zj}~S$JTv4ibuusIg>^&9;gPqQ;}X&9xc3dQpMxJ0ZowZv+km!{%`Ge{R-@IS^o(QO zX&wV(ht^>3n23e&j!m?Ba^-xB7R7_7x||c%_J-!i7EX~FaGUMelG`rQMCUSGF&;nv zNGHwUtaS(7EhC7#myBY7tZoTv63mN4$9i5%OnKtW>xAM==i>xuXY#pfqugdXEoRh# z^nHP=NP8N8uuE$cL*eb#qR9FQ0b9X*+C6%Lx!)}6i||9O-;$hP`1s=WyZGZ2{O_k#UOGc%MiE=*Jiq(6YnHOY#l!PGr4ErRgWnm8n zP`Y)xLSOn)h9Le!LHz^`Hnpuc`-=v7CujgIly^<$#@F_T8}Sy zc>#vJI4gE-fEb~}_WTHr6#J^o+39^}$|aMBnR$;9?e6;QUzX8$FA#H~OP3$8pUpSE zG}D@EUK0rQKk|{y8N04(yLp#`VR*oF_ZS@}lNJ%-$Zn9jj`MgNfyzvi2yN2z+N;9% z?=a5QIP;%;L)SRa^0%;t$c~ct;fpdm>%>m3>L$Jt{xWqwJs@P`-nZ^4~-fKbQ7$DT0Z>Zw~-Vd)EALhrxI!+zTBfMg45RFlU6dh?4#M`?S(4zHQ!re~G z?My+Nn*gRnO=FcJU<{9v1hC#8&O2-6ep;IjJl-lrSy_1g`lJAi_e&GbhTB}4@c&HV zBK8jl29zW9=*1JYxmD7o!YdKf5I>(cudCJu)em`g$dBOg9IViF^nz9u)47Qco<_ ztA^$eIS$g-R#{Gzf_h0t7a}s3mSy^aWVgW19gF;;1MR(iIZB<-Ymn3^+CP0*`C-#& z1_-W#phlbXv+Ca6G)R~v24e_|Vz&J_BU`}Jkrfg+mOOxAM-K<$9Xo&HylnhV{8bJq zK!+=5G9y#H<^o*S)?5~won~~6bGhDY`R&Dhq1UPhE3(5`Vc#bFd&Q)ZicD&iHyelG zKgBF61~e&I_o2J!mK|yT7Xp1alsqt&%hE1!Uo3)kZO!6Z}I9jYCc?+XkJOJi#mRc$he7(@#0_ zQmFCq=qLC(Q@wly{euLZt})`@D_;9*xKoV@0g0fgRdD03-a+X&^sj``l|_UCf}7HJ zS<|E`6*>xrW&s)kKE(|E_hrRi&jmtjhbxu*@`2lCE!gpBoe1uOyD}sjDRx>L;@HXM zG$)DLL!Nz!6K^QIZ<{lX3xFFGxO1*Sj*@#2Mr*Dpg_yH0e(6S=Z8Ic#>x%ml*1f~-O68=MgXm0i z`!zayrv2GmNq<6~g7AAQWi5U|UYnD(o>UsYM#zt)PT*+y2V_=C5v89U1lYKZ;fBN^ za)q}imes&lU9QY9k`HVBzNd1hv4c6G;>`Sc{EC=4vI>|TQjr2*G#*`g%o;ni5|ELl z1}mOazJA!RftJd8p33oz%;cfh7!;TZ(29!4Y?>11V|n&8tQHlo1FN|xd`n7sgnLr$ zPoaJlCrMLcwj~u_pBkg1<K-e}2l;N6IAicf-r>|^4vE>s<264TQi>o_L7 zGD-2p6<-Xs0W;82dziW*_gD8SoKn+5-T^zaj-@Abr@#{2z@>mu&821iv|1kqP(iw1 z<}D0H%dxrdeP)~E8QF+5cyCoQB3&lYgsZcTG+a#DKjXMkCD!)G3hu}OyH^}uMA<2i z0`@XRJQUH#5Y6mZL${z+fpv%1ko;JX7c`Bm!HZ~XpzbNqbkF*50ezPwN%YqOz)=!k z?4*j*#rT9Vc$XB(4@m9&I4mgj*+ZL%QyTy~=aX85UC&r> zo9-k&zg+KAY6^TP6^rdJgO5o{E`p3$3rN_GA#YGgE_Fh6X?TLkO&Z-s{zN-=ZL8w> zt)W7tyBY~?J-c!JYgK^`<+7NUMQL42`V=q|_v$o4NHhKk*p_Mwm$oTW#LLRaZ2W`a zO0#NBpN@>#0S6OsE*-YQd(akVcjCRZCXAzqIZ1|SJ-9mHU_Yi2tgTpo-}G^Dk0A6T zVEbG>=%cg#z-Z~*NpEIP+zc>U={Co%Rtg1Z%ut`1u42Y0PmA)RfE+o;l9gbaVj@Sm z@%G^7df1=UM4Z{XxJpttmGyZ;EE(x5Cktps*C~eY1ug71D?PT@M4vVS`^{!9EzM5c z#hxl{73icKr;{T?m=|yo8hF!7bO3jNa>$+OY0yTBz*4SM)(2)_#(qbulQBM;mz{v% zR6?}lDCnMffmpXkt0R1+cdWXge7IkV=dsB$U+A)Fc2k+^({&=v;qY%QIm2wjO|QxB+Y{lbRg!szYHe|;fBi9k zyUmRF1a{SuaT9LdrJ;uB>bLwTh#Uy|_r*bOq<|V8x!}ly+uzmC4-A@Nosmc$K{|Bs z9frJiFG~eUejtfF)m#i$45~k%3)MH)H#=a{ETKv^y)WB7tP@1!1up)58obAJfbK&u z2;RE)9G|xb00r1KTEPP#50;+5D)dgcP9}79D(gFMeu*s~t6nI0Ws|wLxAHAJ8fZ3OM(EH6H zcSf$d%p)2Sg_3^@$Oy8fCvka-kpy`y(CNuI_Gu~81CY^gS6LnY*g{8=!JyCTeA3#G z#=@uqH1o4i4bH%Ly{2AH}61x<$; z_f{xDkwzcfT{F)O6+xQ5pb*Hq*5M0z%sDepsCbiu$^&yQJ?Z3B(v(RP?JRTx8+$oB zHbF#+Vl%1k-g3CzT1GxvE!VU`D6pIzC2wg$&3(5{NRvP-YU~^V7X>4`^Dq@xU#vwm za1N0bGjITHf}TruA#0Qm8Abln6L^3Nt~gp$#M3R;sbJ``?H)A#jj_we(dVdWN2Z_k z`n^D~=@}kEXhZvXq2A}+3$9F6<&QEdPi2N83kqFGK5+S%u?AMr^>67B&#=+YoZ+HO zOASvMpg}3!pkw|Q%Z~uhol$K>x(yontRueVT%!m6Y4*`|I?fvyliajblTUL15qr?~(F@|0LT(rqdNa~0gR~ai8-$Bhij+$hiYu`j-V9aw z`MG6uTMmvkf6c{kFcb@ixP}we?146CU$e~(y&yI5rzk|~z`{9CEJa3VOWG3_GjOrv z)+7Hg7l80>6G-Wt6NW(@(Nh0HRp@EkZZU`FHunKqw7AzRMWQPYPd^3!rvt;acC&W= z!m1Q5XuTU!g~2$l?hzS>p#Z;D+QwoR#>_gQ@moohESx+5be=5NiUc@BL1pJHu4S>j z>4h?0G#)25@gAkGoQ(j)-5eDopq2wSO2aCy_$#CaDh$~-kja&mxu_xq`(KuTnBo}# zFStzAhuvuTz9|dDbt+w*{Dw}UyJv@tmlS;UN7|L1|8HvBeQYSB}BYO~;$B&Nl_kkg{8?tE(7bx8W0MRLwIm?;Z2E$ipArhhL zHTXV}MD-t%+^qYOg~wcT;y4sD&GVBdsIt*8$|`g9r)jVXg@sz_X9$|fL8bAvHR@YD zXwVw>FKH`q4`u}W?o?43b0(RD{TDkYfg2&ooxdb@xnLo)_Ee zjM~qf+f@T-bqVCP6ucjwkhI}{7JS4e`Bq>rv@B!+GuPViB6>*N@+gJ%j;Md@M9fZS zAdwc_o?r;_ym|x#Tbd5@>)peyuD5p2W39yAe+eJz6Q2AgkK#k|kR&wj)u_~eIUC-! zE=oxltU$|F$frEO_?l!sVKp`#35}jcg3?lN@`Q_zpxUREbH4`q($*7!&IcRVrx8cF z7EW)2VW~^{H1Xw(sMJb;W-0g)6o66i&SDEZPx$bZ$?smxB*4ZHkiSffY?&l=S2h~t zB94mPXfeEJ*8iLWN4<$|6#{`-j}VtxNf`$VmmDMX?Z1bI9;k{HLIVPpiveacX4=%g z4bG!=5gY5Q!!vR}7sB&wtaZ7lkn>GT@V;A=JG0!S$d|r1bAgR+cujLKA*u%uZ#J9C zR6e|Zo4(FAu7fp}ecZy15Vv6dc zDnHLeJ1OrT=aOIbj}6SNK?+)%(|g+f?&ASj6AtD143ORf51NopZ7KuJyW&CcLl3AEqEXaF zL%>W+?_CEcJd!u}1u(-5vT4`nw&(E(F$SLQR2^RVhRpEc=x|m~c3?_?1e`Z{>F zTUG?%kvd3IoJ%I~wdX%~-W_d*>)->7c!R?BoDcM3kbT3rT+7&dg|KIVIVpOic{56ojW=AWyvGkeS`ASyUqSAks2e26; zip+KR+K)e)B|UJsFalf9+P22%0~Eq-Ui$ zz8ve!>-$?cOwc9kE$#KhIS*iee4gX)Cp~g-s<j%pBL~Eg4(lrRA?cb5u$8 zl#FmU_Th6eiI_`G9ii~M%d3NP!>Oad+Tu2Lh=XHJv@TagB_>1z=?YLfeTfAygG)yN zt--0rxl@=Mm4R{^<9e_h{414l^448WHS;(he+BZ*p2XuMlswd>8QTh=by1Po<^skxWggM@jd2=|_v%CDwBkY*3Cz|ii> zrz_rn$E!9E@bkFlz465eI0qHVca{F!<5Z!R~uq{QX^4QC~k{ zee5LlY)`&s1X+IC%W6XTM0>1b#XD313tHCmrKrPyiOn=!?_(5D!nBd+tz(k$O#e*YAgRfk9 z2hC`@f#I6w7POTECgmp0?0`fxm$AG;%ft~CbJL#EHZnSnt2V2B)LmuUyPscuWqi++ zPXNx;@hBJGJp&nFyfaSI_+(@^H?m|LZ#gPTU{Z2YCoU5-yzNJ0ea@9BDvm;P%b-3N z;bw3mTrMXw*M*KOeVwM^Lo@P`d~NwJBRb1qRXgp*ji;%f7{b$qPwb2b2AB+8+QAn~ z@2zTmpgqCgH!QBwx3ywk@98~c8A(h%(TM>Q;gE5fyeny6e=4laH!k;qfy5~BnHan- zEWvNte;V(8Ps1s7c;LPnxU$Y|-=YBJlW8vcixK-;RgsgExr#628~3;e0k(87@v}J* zuR%~tEIiNvb#K5{!Q!?dLT_{FsI^f!JuH_sDIbS*~j6pWZ{(P61M zNH5<&)VoSTF}KxZjxD{4orM<0y`ZCT`cq;JQdKkx4ILOPEJ9FzGrrEH#gkQJSaK!EMcBblICQ~9 zVg&~r3=27B{xIpzJ7I23=ZiU0sq9i-L(b~V3@|)o0Lx8M{rwapb_ZQ1tPvyZO#ApQ zcgqCtz?{ie0kKAb$qIW2K<~&IVLG61uj1OYur`$+f>)XX@9)r!@b2%@6kvdJNnvtZ zZjpC6`+(lLxVvr6IpPCy%)oiA*#ife1|IS75owe~R}S#YmNbJ2p0R%-B4(K0u@FgI z6`r;|r%=){=Zs2xb4fwuL$7};S~>>IQ#9{(bU(}J?bDN*y-3b7pgq-{B~!XUi$qP8 znZh-MLn%x^Z3Eb9BlvQeDjY>nC#p?;qgwpqTJWR_i&)Mq6r2F##GRMHOnUwX|2df8eQb`oWd&T_A2K|B+EK49OWc{4?en zP<2|d!3pHuhul#aWchG-OTz)0{O}dV>#fzq!y;BO9*LIvx7;~J&4<-r$;eUYW7^Yk z*6G%fSH%Pi*8=z`z=*}DzL1TEHU#0HF@uTatQ3Mb;Tz`>|3fHg#i2aWRM>6xC z*e`1a@#sv~ckz)5l8~lscP36qMw1YYmpUboikAVz6p{?EVz;TP=wvUw=vECyjqLnpZ=8|14b7Mmvdr=(+~FACZ)Q&}-ieMp%;zvOT29`^QM zb2NjvgSRd2{aWY)pv%sYPkzV|M(EdS3JG|`tMBGlZAG@spFI_`pd#NKV~aa)J+qHo}z zp(;sP8JT_u=Uyg=nbn!T55}28HW}AEW3x&(e{9te(3RSb(wd*BX+*PmTehFL^&h-6 z(0B>n#{6V!raPpAB5`^i;2z1b%G~8vuzr+3VVVa&uD}EA`el850ES~9L6DpM+O7!& zNl24IC8JEB$Kxm9+~~_IB_#}rk}*T%x1un&q~F&95n!mB|Oo7eX@!{NeVSWApv=ntGevA zdMcQmftXJ;&>{cxWa!b4rH=F82?r+Lcp&wd-eO;n@c;+*ED7`Hp0XZ=hp9I70HHlh zMP6VOWtLZbFrV^VB1oM*QKY{d>czO?3UI|ik}G)b*Yd-{-e?KbbR&QExgr~CAk1(^ zy?QAsN`4yK7P1|tfg~dEqLU<)+6}1c{7@zi+~yrnZx5a9<|OI0#_UyDW7YOs_4#<@ zL6utqcJWpqEN82$KBtfqLXF?pfY@Q*PI?>v&gL1=ObBDL)^*;OWGh7eaTLf!wH{Y6 zYb^kB+S-P5z`$1QuS-Z~Q>NU&4>Nxn%C@<()@8A!zwSk+RB;_e$*f~GY!wtgiKWvm z;5;Nu&x0J5seMGky6;?&*mW)}tjrNHZX0;u@x-;Tq&RWMgwI`8QylihrTrmFD;Ck?ZQnGB)60F=8Zt#lpBLY1*<@r;+@ zT4AoiE)b1j)$(!`+$7(qu$<-NUtzK^mKP`O+qnn!o}-wKsb6y`o=-fww5CvR3r+|= z+Das+!wJ-QTA}i>);kLV9zAj=ue)Yq!{!x+%jm44C&nAoPWQJoZyuT2m5AQ7o4SgF znte?Bsn0{FvhIbcem7L>og8xsx{u1;MPwSvO5kBCn#PAL&UhlW9)2=htHHcaSm-;? zj$#Db*H}|{j}je`VM2OCTL$oj2PKIy{d_jln@DKfS6XleA!r~yi``&nv{>sUs$R&d zyZNyhjqt9|&7ub0;@nQUCb2O z6pknhIsW&0{B4({j~PWoqJ`V>vDDhWo)QjscS_X-+6Xk|T|RdHwDuQyxNC?#YdHY9 z+BoyPlHfK&=itW{D|!54N5lAs>BRSAvGqhyPvOGUsaxU|iZT1O6+;{1xl|`yaBn(3 z(zd3la9Lo;XeS*HKjkfP8}oN`Zz%V?AMVz_efCPbTw&wh=H06w`jd|09;96A>|X{? zgf^5bw24yVaKlaNB?eQKwx=ye z`2o;UW+Y|Aj1d6HiV6mKn?QE3cLdf}b^JS0@zDL5`%^iO z4=9mX`@OEqT>jovog1sy<4QZJlan$38KunKQ@c3Wnp=`pzy%v~lI;hu*Hz$4QF%1n zKeoTQGZC2WC|f|Jv^a~R=fDEQdN;tfi~ZLtVRsF#!)(BIls_4878k8x~IZ9yS9qbx7M?|uttQ(eUi!r(F~LjCb0KKaj0zP=z|#pGZ}iM*isQ-Q%7t;VDO#~php@L)d2 zAm{k|VC_aea^4l1@YI$V+Ll1131(qX!$ z3U4-gQG70;&G>h&CPD2YyF7{or~W8*GRRUeq#Q)qW<4+n-;RlX6PFG@0XnkvntHA~ z#SJJGE`;x3dmkAHfiK++qbOaNE!V;vc60eUGC<7%tjLdTaJg9cpTuZY3vJ%Mk2}KU z!EdSKCq`()#YlufDplPcv*;SQ7-?#DByd~x73Q(;vDM8`OKNjF$3|uxTDT0Q+4X5l zP94@{#2He&7&YQBho&3_3o?!A%)iKs{|u&2zwnakeqrxQVIwNj19$~I#hmASYtmw^ z2m?Z-SB_4?9W#t^d{%J=NG%Zo>%#_Vku7T<)6t^QFfEk3k3=Gtz@|5PkiBg7C%2M2 z0Dt%U`$h8f%VF=QoOH7Ry?kd)jMcBBfC6+) zR%zJvFK4KDGh?t72_=Wyp2YG~DL5@cYPrfMG04Kc(n8?ZHt~&Ux{z&N{P=`h%ANpX z632-(TD?F6Ju<%Z4nq<>p|xPqo9D8=-m?~3C;IiRJdcWOzZ)#mh4v)nFMb9!*75_e zPpZjaN<<-?mOPLvAYC*`=|oZ^=}Ax2_Pi{!>f6_8!w&IKWeHq7N`6+DFrd2Q$R#hhV;KQXP!0Cp*kz;jg-Hh|wR&Jr#|m7{4YmoM8& zq3xxZbvdzCglwGp=3MXC#jM9fj648e&;>LpyCz_qPnKt07y<>ZHtCy)$uEfeGCo zdV@Lcyd4qar*eS2L|Z@qm`YQsJ;TXs=UTFBw81^3mJfXE7wwn-7q$q^~&~g#4bUXLh!%gCO6CpPxkhdhT z0(nv81F=ggh;jqS&2VIZn^{f=w;=UB?y z{g>@2`0(a0OB630y+g?P^y{l7ur;5Xpe{EWCHYrB9Cts4e8xc3g}u~tbD6qaAZ{HZOzp{57rep*%lN|E z4lGY5mPF&s{5?acmb7!B;l80&&9VXmZdXac9GD;258w`ts9NAklu!tfu4WGjWm>sm z47D77fbys2II?MHDwrm3nl+74`8VbKew+2!n*NVk>&Z7z_QA#V`nUk0aRL5%*63SH zx1I+bd7*R)0UZ}V^~-VW1o{^>Ke>q zd07veX&m8ww5)?&m~?Rq!@TgpjkdIlVpNqe!8WT4jdg1X`Mfr&6B1QvHx2*HY=GwW zIE^1hUIUfkME}>P_s$3!*_>I}lt336o{RuNK)%1$2EWZ0R)6#UW4;x6PQ$fP)KqHmAZC9OpgbwSK z;fBs2Y#N0p3Z7ILcDoSOV8gCT4qlt9xVVHKqhs%mMo z{1dl2M^?CoxbPOw9hr898JfaMA#s|rle!{)VeX683O6`QRcJ+20%ltA9X(w?`9Z<{ z7tcusk-Ob=q6P16P7trtSM^kF>ljobh$S`7_=+5gbiK#jaw?nI+f}#>FKqD|#^Zq& zOK-YC?7K6sF(--{*75-a&_EHwq9}cJm)qK3uis->PTV&+XHP5J$pJ14cR}>XgvxX; zeO&9cl&ybNf^O(uJO<2nXl%UN2mt#_2v(gPk2!1nr_W*ky*UxIMB&B*VE#y*U#v@b zkbPsAabPEHEozp`fiJvWs~CX9$vOh_TtyOIT=?kBp=?@?XMChYpRpo^j`K_?xRaav zMnuu%Sf+XdOPcxkEw_e=ErG*B(tDQfNzeQ8!$F?09{TH_jRX*|>u7;iWlD}R?kZOd zT8IF4R-uD{-!u1hYG4F*YHOCeC#OLLdU_5b*D}|a#E9!*KNp?D@d-;ST#i~ay;t&W z=w2gF*p#BucIfjR4}T-&aG<2&JKJMi$cb`-p{@YS437j7PTX$Z6a*(P8~ycKvY@lo zvr|e;0m}{@S5WS8GLPfh%;iD@L=cIVw%!^0OE4KoZcl1+8N<`*!N;=CoCI7kwNAUz-7`n?IoSc9c zS-GKN3Gfw)PLCnXsSz*Uf;f!v{#dR0A81T5Sd(7glZdn`z~!^Hj&5pAM0UjL$B!0n z#rj4|R$WLRSEN ztMTeCIbE=X#Jh!dZ`zqVRCkE{?=?6dv1;&^S_tl3yG>}xGZ%!ih3G2o~92=UnS8nT?B4O)xWU_I)cTn z?Fk@{_%L=haaOqp8|t;H64~6T_^Jswa>U77gw4APgsZy)^E+dw#sk+Q-I;JwMM&l! zI0Uz;6oo3~T{nIus6!hbeCLl6lx9gK)+>FCqsV~7tbpk+j)qlB%KX!uq)e;GxCss|7tpe$)Szd?50Iy%HYwe^UiNw3a;x_YSg$ z;1S=@70=|7t;>>oxB!z>P!w}&65=*ip3F2;H40u=)e9TErO2QflwwFX4BlaP*SN?} z5$d|I!==t;Pxx1Z?vC&3wS-a5bKzvE-$&fsp3+MXdWYcb(WBiJ=GIoYlwS#ClI(K8 zwH*^-J25oF;~deW2|IuzWSkp1KIovHT8&{Uk+iW!M&d13T)>k^rKOG!n`96-*S0+} zv<{{G7R6c!b@S#=CCZobrwyR=R(zHw0}ES(W7wr!G-gzR^87H3D~AysBeAy1mH|KT zGqN%k!hD@B5+dH>TPa=`47Tf=zjF1O><0?S38$Mg2H?H70a6`J;n!97Uh37?nsVHw zTW%%&5X9_gyj)mXp~I5eCca(Eb=~Qspn1ZQi1Jy5`u9_-3weJ$K;Y1rZ$t)D&L{X&EKX z{3?z4Zw)jG$ZQKp?_C(|9rc$;zh5R5fUMk4Sk2PHWS&bkcyisCEuYI-kzhBdBz$f+ zPYmjkN+s=@3thoosjlp(sj1$W5#ij#@KaZYcyYN|tezb_N}^*tltro{InXYiTzw+` zx<}`rGcN*OgW3k_s4pEO*RJI<#_P z%j084T+1>eMJhG992L~^f-l!vk)e_83mNYXMv0>LlhYOl-TJlu0+Q=7CdP7`H@)=k z_z0n=6__jQFP&=ER~;iptW3vKbhKm|E9N0U-0x}-UbCuMG6&vSTtl3Wl;~M+jhR-E zfjfzR6$WrOP5qmoSd4nNU^!S;Tf-bDPSh=-x|BCAz6(zXVIBS^5`KLJulKp$W3ynm z!{?g-SNSVIG>l4Y_`*27(>x$aCc{D(4V)F+J!!}0A1ai9dP{`RP4$^U91-5@>cT^4 zAKu8mI4aKtqG%DPG zA4ENwHTBdup<`j7ha!wFCc!MVo5_cC%iWtvvY=(ir)M)v@omy^eDqojj^3BF^!oXl z%KHoB(ro?Yp1Qq5umr#-V;23+cHM2<_A47v?d-=F&a- zc0bpWmoJ)|9FL?g3iT;|w3`QZy0{Rwg>C_L>l=scgUu|_E-YLY5aI5=o@QEXG-tSQ zp;u0CEc}L6hf!UMHTCHYg%gZDESMu{ZY42$8>O(mVn5t$st`dpO*w^l7Joxh^A)b0 zv?W?H?nw~xbS5*`om*cJTH9l=qt|vd3x#w?epfF2$_ZCQMeOL^V}kr4*SXe!|q|6)*p#f|*OrP9htI3h0P)@70kbs*lLFCmO%dqJ#hf<`#_bznGensmUXc-+= zO@T2n+bc2>dH#A3O1y3}|E$GR(55YE?L4-3n7@vaeNC_`H8W0>W(6o%=7Nq4C{zf5 zbS~9NBf6`Fk}d_{wr=Y{6jR78TTOrRQkTK`@imLj>s?ZmcRk_**Yf|Ltr`B@=D{eI z!LCHB;E-OZ4J5p(*(a*}YW+yvbstq%4kwH4fEYA{CNlDDm8RVry%cz(}tXk=)qYW&WEVqAs{>*xZ)aA01b1G2OMB7&zV9MuiPW2`iY$${Ij?QToqC(SzSM>l1{s&*z3ra^>& zBI7#dwV}ON(Q+Zta-nxx#Z9hQp|Ii{RE0aGo1|>c3}QK&RDI)hSN}_9l(=v2;9{?C z{J{gnp`yJ8a1MuQ_0%Ngyp8)@i^^!n;U^}@n| zkDHa^d&ZAozq`ELcZ_dq5o0sk!F|(G;^}+)UNh_Iv*j51K86NGyCT=#KDeIm^eC#Kv+;_UNBv*V=C8Tx z(#T}s+guEFGv##8%h)dz+aUN+mzN?Zdg~7Ld4MA}$qhT_i$~to$SLSKR{WKRtkJL) zc^Jf@+ctLO03QZ{D9ubo5jbB;!=AiodhX`zeRVZC5Mmi0hP0ybfsSn*+pyw zh*zMPp!*{7#&vRNduSZFIiDt;C2Ox|6(xK0=_tt(tb4D?9O|RF%5@#5C2K7 zTT>6;-}fG2zAhV()F45W@6uz@%>PA%lZ*ytYYMh?rp#QR##e|@a}FpR5PMjnaG7Lv zLCY(gMq*}SMG-f?8#F_X*d@ePDA(OdFgI|#Gce`pj+)wf9Ls4=<=_h^_ob=;4IP~y zb`(=9q`0e!k~Vv3MkIS*Y4~v75O-50##-K1r_f_{b8&N?1wNM%dD6RO7suK7?>DE7 z)49=Hoi73%OM(CCLvvH9W!Ia67kg)zrw;g09Vh?t6}LgTU|M1eQM05tmFTSGCw)Sh zMTo%f3Jrwf)I}#^;Ei&V^96g@{usgv-OXt1wYi~C1F|5lg6|2p5tSccg0a2Dv31B0 z5aXD*^RbUwxu1B;Q>FP+z6r^T*>X2P$E4=cYGkTn#+N@}+Exw}?$$j3A8sfY0e3t! zq!M7Fu4i54L-M~b?xeAPy^@NpWubq6yi0X({`{x}m2FLvQnjJj%uX$t7g5Zws1=HCR(zoSk%C}`&i^W4>lVlxs_e4AIgVpqC*i3-9({fPo zYd3fv{0)d($2E#8kp0!mqu<>OSGe|PP!@GYNlr1lbsC-s;t7>4!SAXo5)kH{mqb+W zRh2F^%6~x3=|sk5*;rM8#|w|o^}DrWUtNtL=R-` z>TL?h-_w92$DkAa!iuxSf31^=H_Okw*+J74=TSyfD7Yd3w_7^w7k0sb6{-!t0N} z!jJ6y)9GiRFjoq?Nyy787mX!X=DDN$IDXRh?Z<^|D+LyTfW2$isEUisih;$TGad<3 zV^ECKDeO>AqamhtY*^M<;QF~j;oK@Pi>KitC5IV@d$_OWlF`lbyxX)8%cSMyTW+li5DqN);1dmluRY7B|%tXTScNOUP5|O#fZT;!!3#b_Oh}u(wzw(j0a@GeBCEW{OkV zB9$JNCZLg}e~MZs+u*hw4;*DJ(C|zWqvOv3O_jgXURFeKN2}+XkKjz~6Ll8D>!#2y zXekeoq3(Il zK0%#dYh(gYBtmF*TUyz-I$Z&6P=hhVFKJAd3@giYTktoe(k`;JmmQY#Xr8}OJIg97 z=ZKT(h>K!1C}(Yy@4R+_bQE79ER-2I31o6r5qSL1F(m^C1Rut?|N1|ebAuG{BqL-^yLYrLhIR;4H#UlmN^=46)v z&^pTQ$CoC0pkh04!7@D}{%Qd^5krt3PmH*XD3Lgn z5bFr_FU%PZ1RX! zWemF9g}iz5I+P7Xqn-(()$dSl>Q;YgRba&!o| z4s$(_A+~wz8&O88Xemv_2<{cVXB8I#MW%2~K0l)d;q-c7WEWlh`$mOtQcwQCh*8y8 zR!jLq*&%IVndejqQEP=&p+b^W(`S6^89x?10klN)80=#|`Rzh~;)Zs%wot&dXYVd~ zFziFquaefswgRlu9Om*a9!5XSvMcHGBTADoDrWH)8!8xYO_Tonnd^Je%x^fdvQjUfUs70{dk+Uzs#DlZYDXZ5Fj< z^c`&apcX$WC~?vsquiAI{a0^&`O|QTyE{u74X~c{Es@Ui<5Nf1w{Keoe4Ox{T0x5b zI`C~Lq}f}tb|Z}7X@If(k`;rGuyYJGOit^lNg7*uI?#pOU&3j68Ay>b%3+h)Y)%`p zou=0r_-#Io7neSEwR8}&n7eYf39Z}SyQX1^yC&6F$;gAq@ma|p_8`*#@&ciNUFO5= zM~5k=VdDm-?89Qg!Sc!&$F;Nh{=_ap)*7{zI(jFAs>S6Mob_4rN5}>HdqwMlm};#` zw*GOU66yn-yyj!-H_mU!qGET*kc_76*~AKPA{753&ni`pJDdHY-S)b*$MJ%=IXbUy z3ZW4SR)6kNNo&|)sV=c~>d@yX(u*h~y6NNwHnw?sY@}Bmc7=>YcTeF?E19DeVj6=C zugSPcO?{U;PpHkf{L5}y3Li%mATo4%`puy*0vlDv*%lE=lW!Sjjg0kTxb!N|L1i~| zcj82KWriKg`{ghlsAfD7*ldv&(~Vig>cI9idC3pR#Sz+}x6ID%fGBoZNM zfl#lcd)6>zmC9YydmAeV8Oh?JsDK~`h;8S@2g4Hd+tcFgUdNAOKLqW5OD8D^G0Ggt z%Yd$-SL<_P(+8a2u>v$D62Gyo3zwcx792JHE2iGkXN9r(1+$!;9kshOe;=Giz^(Z3Ej$Aa zYrHIpBz}hl$FZpa?YCm_tF-1Whf3E|iU*iz1H_SW^=I4>R31Pgq^nKm_ z!$e|>M7b^$%kn~z9L?2no6L@R33x4u0%gmybWl;cHhC?gDphQDD%&E63HV>j(d8jH zc?Q(JI8QP+n$>4ZQauJ&>VCd{6?dgnhD?Vg-G>Ruw4rUwqx^b1G_vQx0e(Oo;a%`- z2p}UjV6oc9lT*T8m>m&k8!9L?`csr6$8m9U>Z#a0h=@`d$M^IEn?OXd#o4T9Z5Wlf+G+B*s>h z4c*N~ouqV>4p5v}LkZS-T!nhyn&zMS()ucw(`Ql-w5BimRDVVl<3qM$Z?a>=I)`_j z*PrRcE&HbPSyKKvMNm9`ne)W4(He`{E2B$cbC2T6^D{+Qe_-q`*2cLMB|eEv%YOzY z0%1m95~gdZHbwsqsc4!1;NAM%mIJ(IsGbF1+jW4S#?ZNRu-CnQM*xt`t-O&2pW@+t z$N!O7h8uyutZL;%qwu`#aT+^SJ^ieD57db?w+u1(WKV^awmRyCHp51>1z10Xcb2R0 z=#z2J&XbHyAxOEM-QH(@pi1PbGsTSyExIt~_!8K6t&*1o1I?=sPj~SP9r3RaFOmWF*(^~m|3uN-GG~wX zrGu+)8qM~{eHM<0<~8tAm%k1% zFp+CX7n|a;mz}zBWI8hk00tJeS z0dHPpkh#OKJ<5(00e~7pbB_ddAq;9}zG6%qtj_(^5?%2NvmP2f>ip*l_Ve{!X04p( zjbBY%UnV%H5U3H=-V4Ti1r%X`^?r=CsTVfE+yr|rQ z#_8v<)sybQ*!~v^`LEmvOeb;`v@j$9(q4#4JM~G16h=!?Q1~KW!BJ^4M0Kl~| zB>PVicZ<8Db_gcZ+opWbFsW;0O8GyIIbUBxl}SjSfnjJr5=+T|=98R*rU+h3Y^wOY z*qROj?Qq*jac0aZb6t`(sm;ZEfXTw;k>6t?^}gLQlW=qQfujS7RVwH|z7%~MJv3pX z-#|5!Ugw_6}KP(lJ0=HJS)iDq8~O#VKglr~3Fg&0>myB!ZF;Y6O8 zbDpma0F*M{3?AGTB_>OhryaLqWuNtJM~g3I-$}K*rPFjdUBN~*zQh*pcddeu7gb+UxA_MF% zx=J`MZ&Eha_Kl!kJFvxALLUzLxgE~$Z63|W51WYizWy=I!@}?+p|31+HmY3}9*o+7 zN?+)hy570nXbv-eXfC`Wzpg}77vp^`iK94WnkWjfAZ@oz)GTi$W1JWRzuzHN-(fos zStQa4_xS)k=y^|=pHC;aAt50TPi5>{A9o`#T<$}RLHCpH1W9YYGkd)+(*ig!vB-#= zZ%qsllH+9Uz8u+yx?N@>PU*=&ULE}G4)6S2bJG$(XEDYpT^?(NONdX>D{4EtcX;Xq-ij<=3ud4 zV2MbC$cy^TXL%=UhW3T4Zx_bZKVlMf`qpg%9VXG#fUm1dUdLVzc0c?@^_l7dP)()T z9<}eot$l&r+a59bN}bi|;WLrKBzd)Pmu@=z8{`m%)4pbj*nFfiYJA>~TRCcH zjXc{dfd0?AE616xixnv8ZHNrenBD0R(3k42W(w5T>QTXu7^)jNVM3Xqa#1BA-_kL; zgb4|Qp0=EcF5*8M&g>tpx^;MLeeILHnS=LC>a&;Yi>Ob2K`^sISk@?6N^hPcNd1wz zC6wTMfLG|Et~%f94*3~XQ-zmsLB+P*PdI>9k#YASda9a*^7XslnYSpz&KDyBVP`s<;Y#*}&t8 z{3msTJ~5E-&vRbQ{(oz1GGzv;f?+(q+Ktm`8-et}qj zBQo8!hOdB?ke6mW`m+A)t!*}n;ST?nW7YV&xmh*RUqyFse+0B>7tm2_p8Vu347ev|VeCwk#OFOFmqr9F&t_ghd!`Bn;%p`yGKF3W|kbR5vUPZFt z;T?jpCa4#kKW4yH;U8)0XR6F!?uzgqsyCidnU7F#`R)(X3NErLl2wNL8#w|_wd)=d ze0HHp=kO}=w>%c<<)z!>c;Jekt??O5Vo@@yKi>Y2>8P8y-~(D3I>jfCT|Elk4nfEq zXj7ydO2k{^_JM%@Bl3S3zAiJJ;ni8!UFJI9dNR7?D+7A!qv0c^F-VcT(_EyDSKmw* zR1TLQDvqHtjiOs0*1juNuEFKrvI+CIp*q_fzEkUDSyttDr(zv+H=W-?u%%0sHAKeyntP@>yDIwAycO^HpiOLDUZfd=4~%~ULYtj_-pmR@c-d><8~f`*-vKW>Oi`IaKCnh3E{LCdav1&d(J<<^^h_Rd_+@nMnAjz zH1%{x^eh(OCh>X8_%C66hSBKMFKm#HoNIUEjV09+1KZbu|EpG;O!FVmxktoa7igmC z-{>}0tE+I*tqFQzWhetM;|?L=$Laq)lbg_FLP(gS-H8aH_I(xD z8`=>pwg82(}Z_7K|L^sKRlFl4v)}sfp`_`yyNhm-pSD+8lIU{ePRnP#cYY` z%Yj6$oH%%iKE+5L}ylX|+mS%NY+L?@!u&J4eoW%nXpAdEcWC}1lJ(25(X zw|?6(5%9*!d!Xvc*qvKLctAPK^n$Gn<#`pMEh3lPG(+!8h z8oTjjF7J;r$Hiy89|&SQ3BsQ<~&c+6+p?ze@H{U*}YA=VF$~Nsn%X|m$1}72)^+u$D zEFcGe1r1Exc}1V5hUtF?1h=XGec@vm=wih^HXFt@rCKIS;ZPP-UBAveZD>hXYTo;3 zgzeX8Ax;ZJivlsU@@XtA3tSg=boij&BW|qO;LgX$WPVPXSYf$W?1M@#g>vu{1jGGm z1_7R56q&Xws)lg3QbvENr11|0GGo8#bUeq|Gx%XPs^g~nR&`B%BZHTq0}Sixhsz~e z^I%)7PzENcfVJ8U8}D^XnQQ$dQcP= zk6@7@&oxf=%^+s3zf`FMW*{Dq-cIvBPh-- zmXMVSGX2H1@LxGtER1N7K+R9>*O8oCx!ug~u_tv8Cw933?XPij=?nu@`!`%-Ny#;d z1~Ry9`#0ou{74Q;&bI>jH9aK`_d39Ju)Az)F9Q~YD;ccH=-`C#bComWPYq5gzP0lX5~psU@Dq@Ztmnx6?*Vcme}krjKa#6WO$IMV#1liRa-1 z(VPAr!>WR5rV;R^7C?eBa^(Bqx6>U`o?$*`+{pzE68ZKRtd4bhWYFy zmolg^rl_Ql;=5qFVvQ6_;gtgGnUM}LFy&>Bwc|95>D>bkXr&oIahLUDvt{x(fo-2? zJX>>YK(aRaO3BX2pwEq4RMo3C2@@Jx4r{c;%E~0F;h3KoS<%f^Oz#E#F(MCtM$9fP zl*hS9Kyz9TI&h^{*X8ttQ6tY5-TPKEM!5rA%QPYxdoPFu?JYlQ6}-SA3A7KVV4A3J zwz(g6TA_*JgA|1qlOEm=8C5KlS~MFSX*}-%XX~?qlRw;{>D9I3@YsQ_5@qIoIe9w2 zWh*WDfjLpsGhLX5aR0n3oS5sb#}?5&A{~rGgmmqJJRSNz==i+eQF$(h_m`ya*Z@Av zn8}N`#=v3bqD=Wxy7bOeKo2?|B0LNj9O-oH zK{jODN4?Erpu=eR)WYjUd&TEfO91KGVi*P4e`j(6IRJUR*cTU;+)=Tu!gnLicJ%xi zcd@Yef?1r5N)mRtkdYt*veLYsj`@|p!_t{IgJ_N&fAv197H|qr(NHuGgkudH`463- z$!Vml+LFh|t;xGT3nI5pm2c1a09yr=QLWJF33x;FK9~<&t(igrjB0=%cb^1u9cY%9 zYuzVEv+}ay+Gzq5uhy^97b@bL{c8st;?|RaN_nmbKARn_WOVH7RD7|GRnkwG=+&b` zX$lYfmiO}^KCz)1d);g|dM%!XzqinwQ=v9M@IiafHfu5Tg2LFfSl#s#T(uNJTlUNd8NRNzzWq%j&h_U94L)xDd8SKEwEy^WY|3-tfXE_AeF`I?xqvE=L~&Mt zp8oP&y>t}2lw6I+jb1)e9!jY^yArX!B6_CDxdk|5O97=1+KzZ;8KlJP7Z-AGgJsTE zkAs6B?>%tQp})=Ba_s=E2``sr-|b)}Xd>8)2qaKZ8|KddOGWE;|+ zQPk1ay#2<6!AA|}GbbphFOdyWOw+iYwP^09SeXWWjx9l=w!EfDalcbxY|F51P_F#z zx|A;P*OSBLf_G5W!GIU*ptypVAilHcsW{cLukE>nMx2x1_C2w6X}`(SOV1x@(2n9v zLlDlFFuh!h4(Lh`rn_FB%nBX61>PjVpYsEoz6A*Q#**rKyL^y`tbLsxjSiEtW;~aHA>)F zZkxoM6$H#7XS$W2Sg@kLCNOdaeO-w$9{^vx6lf#q@chA+tMwu0f*=lxBskn^)Bx2<_9Cop(D|Jf&rmh{VMTl9Z5(-bLJq8U ze%n6dPz?tw1k1BX8|X#s35Ym`sGw#I|1k1ZXRE^A1$T`id3#J7C5X;AKPb8kZ0=$o zv}DE3?7rRa9hxTeP)5}=D>L4!+PB;;2gh?O?j`oQ=Pn3ciDk|zRa%REzjBMXRe=%? z7Sy!0Jzk6WpnY$b0SF}F8ziV!YShsOS%|8nloTyLyq;SrhHGp9kN|96dLgY-O<&ae z!mIUUYdq8aKRhxW7>i(x_O@ksIj(ws5=n&TuJ(GF$vNvg^R;MLJo*0<{oebmYh%>m z*_MwF+#)>|1Z!H`V;qSLiS2n^(^1S(6i9OAe02_d0b*)_vuo;xjeye`q|oc5-d4mO zaBS$%w+9;&3)x1$T7S{-cYADlx$r%&KJTV1WAqHxUrogMSFHKOg_s$c9MCs&aK(yo zvgeNAg5nOqpW0~>kR%^+EDBT-X$HA*!Hsrlx0P)RAkXAf`8|k9BLhIGo}xQ{2i$dr z!js(!mifZTa~VcdEDJfPy_olZqw~!lea5eshADFZ=dk-MnnvFOb1ilhL%KHFtGM6s zxHd;Pwq8osR!f)y5Dbw3%WF(BS+0Gs05RH4do}|jM4@KhMqbExZBBg#sT(9oFQ1soLvTL~PpNzd zZVzAdU^Y-|PP$vCqGvR1tBx9!V#!wM^uu^86I1gxQ|B5&Q z6Si{nCQum8*JBG&A%J_OsogK}2yc6ELmHnVpN5sz#%{Q|`-5^1d>?E+r3&o;t1?I5 zmy(FOVTIHr)l`KC)~7$X7MmUy-03Ia%;ys$&LzA>ve&Ey=_eztHGhndtG1-MZr|~z zX+iSBOZ-=TTYVMQB@c(&{suD!@skG7?J}R+Zd~1MZ*L*s8Rd*W{>Z-ER|9Icoth3A z+FTvD(8jEQ7KiO&eW_1{799|ViYI-ORL&lH@9e+)yUj!#ss8;oWNRp_T;kcP1|+3W z8`#Cdvh9r=iR`{uy$d%x2;?uaBIm^KOUMQuHC1y$XTWrHwsqXkkyg!=a~1^9Z+yRB zqAW3KApK-W$u+g*W;~Tu4F)vA0A*?f45E|!+QZ;7IpD^wOBp7iU@6o40KHjWj)PkQ zh*EVi4#JC4xr|%~mMOS(N)+8qh_n8wNZ+rrHQI4126#h})4RC=jQ~_ad>)b}ZkP>+ zYbDs&)8S*O<$*3ws}c$>DSa=j#!)3gvQ%g+jmN%g(X6Unk#iw&k18xeOFPa^6@KJG zZrW7h9HP@-YdCgle`rlP`183?!)X7rItZszH)+jx8I@Akb16*h69o@We`U27T2!c6 z8wZ}7+evL%dWYT?nd*4GQT1MlQLo)N4Jto=pm*jgAzgTJ`u`Zx z_y_jR%TU3V3@U&fe*`vp2zSx(n{bL4J35q}H3LRK(}0txpUZ#Ky4weS!B8QG^q~;) zY-ynw^xfhqZy=|_)I=Z-I{>p1*oHnwkH7f*PnsWjEH2)(_dl9^e4d)L+_%^Dqm%>F zu+fxUD)-0_RR2DzxYzDq^0sOJ`mQmaZ%q8fPi+6E6=@k+<4{jCN$Cx51n+y$A}?3* z9FZ?XbWAGK5RIb*nOvvYy|aU}DuED!Jz1tJ!!2PB2s`wZVApNB?1CvM7&m^U>S*nD z+M!!3`rw@xDYQ!7>qWgs3Cu8VF_k=Y`)}}9SIw!gv?6qC9Lj&Dd?^ZyP^dg4FALv_ z-L5^X#)tIysGr#fb&z9Em`WINs{7gU!&_j|F#EQbZaD{XdRQv<;wyoA$AS_%>{x9T z-Wu&dc{pb~nGASF8QLO82L>2nsc zE|$q17;mhGF1nHu&V*a-!aVFl{5_;9rvg?t;O}LEKDux1CK~>lNC!e#vNctjk#1y5 z`^m$$^i6gSFh{?9h+mv=#6m`>9Vz+21(dlpo~n$DS1fTtYLgEF@@XwlP7fL3FKf{i zz=fELz4CO5F5KM8qtcTpwCJIse8K`l867ITdQAQ}LXrB7e#Lkp;URUQR``=xel5LU z(=03+cm#E7?2qv)%G5B8(?0K9|0#oI5AVQD-^4Hx2N^y3p10_x>L*ACD0#4B$FP-F zRIVy$zYhSze*+`NMS~EuaDCE7O{JwPijI8dSebAUYpFh~AS46~Me;72M~gJ=|4Ybr ziER`yQdU-j*;moy^w_LK^g#Sk8{PSP8|#249FwD5+L7e0u_+v1Bzdp!)G3i4t(wYZrqVC*~1 zI91Zy8G6ZFNMgCU3|mU$W_6l4hKehLjyBiiB~r6iZF(sFZXk;3#;)ZBB#0bHE00L& z6FTCl**AJ`mTxd%J|&?41`um0B>^K7%RYJfKMk#?%sl~HObf20r=G~;eR(gTJQ=DN zJ`+cD-#I=V=@T<)=vd@(0A!0qbPpK31yCk$e&>K&h1j8!XvTpM%@OfHGN75vd402! zkiwG>Xa$_36_WesHW>sy90^x<(w7yA=E97IKdj;@o}@L*9(oD;DF+-OcnKuZ?8F?L zmr2?_@PV2^>JoIX-fl=(Ti(x8-XY-t^PbbKjIRI>5|9esQPGMGB9;1=G6+z zLQ>P=a5GFo#}BIl--9J-$K~KqLiZX^sX4WUa?Fbi?n5ym2SU>7n-Lc_Di|@yBz_-m zA3~^)_3N6ZW%;Hz+Z*TP|5|n2ArpE~&~S$sUEwhc#p?-#P?1ZVYS`WOdcfStn#LSF zu$vGa_9s3JI=eS$@=wyly)O3K?6INj-V_+FU&=GO_*lGk9H#;%S6)?AC2>gt94gG z@olmgvzLV^d6!11oyX&;SYst)bbvYi+5gM`Z1l|%dkVsHS;A-&fAsv&= z`2MY@BDgD=K{SyYUcA2{&=U`l4c?6R%|1rLzDnX}mhxL=Kayo>Hy)szdR{L$R$U0m z(|5Y{8*Ru`hHOw)JDs9$qYes(^|JhAaw!#1{KufgBhG@*uJTV*z)*)`f8Ly);_LD# z(ISzuvRuge%IU@+oy0Xqx&jE(S!aBd{THWg4TRaTfP~1e;Z%X<>!qScpXLqO>V6vX#bQ_IA{OqMca+>aAT zdJFwe&`Qb^6`{8dw1|Rb6g`5?V+3yvuP4~?rtg@KNYOl2>bt)uwRm1p){U@>O5(Xe z6_&1t$6(TmPAoX5Yu2|FDLh#d9X(?R$08^smA%i(=6+IJlsLlk!>>FzCtx}Lg1Z&U$Pg2;mFk>B3xk38 zJ71N}{Nw|`Cwu3Ax7f@$^}uyBeBT|UXqZLV1IacC5%3jnY?8J2b=3lAOwD6oWGg0W zD+6?n)+BOJx+8~(Q|!i^tA6h)DWHxi2P@w)+jK4CXcAoAvuRV&R}wHPo=Vk>jAO@g z9Y#mJAqWm$uJ(UO!A9Q;z zB`6-!R#XiqoCp3g7^7W9bkZ$BRpaq5bWrnukL+wlb!K#DAXAIcqLmxEnyJ; z^&4rC0W9-4@;4qiPc2Djr=()QROCC#B6&(6XINC%LexRUOt z^{l#9IDuWy|HxRdza9u~tqbICoIn^Amnr5&#D=7oK5i3$`Go-}@Q*QGpPg?0Wa=Rg zxCaVJkC>tC=>I}_v;vO&eKs`uJgCpX3|Qkyxro#Dp*k40NPALh$9c#kbI~D1ZnD9F zXU*3@7{CXbQ%Ax1hdk^6abFLmFjWkJOzc~h5*nEls3{i{*2lT_TAoF?UZg&gr=8Ea z+-hsw?}7qC-{;Sy!lg3iHx_}&^PkpPq4h;J?CT)=QjCj>`j!Ttuf(XbJ?ikQC)nYT z`h;d_^aH-c^8&}sTDg}cDS~}i8RpUb^0v<^`d5jckDR_A%)Y*jbB=^}ku+3R6eKzo zR?f6w9?_=SkXf74vf{4!uwdeShn*e>5(ZIolvV~R7|OXyt|$l268;Bas+L)b#0?#| zXoqlsL8%Q{#%njaW2-=%pRgsxnJbuDHNm_;>W8;^8*KqG`oiUR3S0PdD{Nt-xlI*>j_h48vg)0T=h3_bUk@+s$p&fs~7J;Y*6SF870AngMv!^>x`51f>rEnD>a!z-z$WCfM z{O-g#)iAS)y_f~=3V;@a9KW?o7JFsXX8G>O1&$NaUzdB$%=j#Fbgi0k-K>fUDCK)h zw=&+?(-i12FPZQ9>H>_^i{=z1Y;8Hp3omz}I4SXRuZ8-Bd$%+=K6QEyQfmR77>)6J z-H?G?$qgu;Z_xyd31ik7a{am^N)oH= zjEsRjFZTRmUFmH#MjZDp@lu{tCF&W7?AmjI!1zsu>#2`VO%Fx!!Eao%_(g4`06jp$ zzrLdb50|xV)RgX*#xP}WSgW_JZ!Ly)z)Cd2?n<$}5Yb}|)thOVtlC6=WNL(}X4O1u zz~jE%55OAgimCi|NYqR9h4%3?qFPxEW3;F~Wf}D-vk<%kxygUpU*`aqie~ZeLMN}Y z%j^*>#8oZj_66C^2XYcC39cD#hb4k_IK)Rkf}^SrX%!YJCTX~Rop<=$dDztXvBIm25WWZ&6%VhbML2l)`vBG z%^eUcD`AOf3{WIByk#QF^~@H&$CVdF1E_@i@(IwQHFhj#~s68ZAQMwZQpS0GeumKt2q2cRwf|_5{I|p5M{mAr0{-!vZlLN^z%FBHr-%9?C}- z`s7vJpXyb8>!9o5szP5?2NgEDI;$f8S3XBJ0LbZzyP94IPMW)E6oF zy0%1y=jmZpqHO-wo%6lxVs}xA>Fwj4dJO}`5vxsLQ$satt$OHhL*eP_;xI5M(TBW& z{WE3PxDE+RrYWsf$~7-N=0>E@Bp-EAOi#g(KRxD3FP^I+x>j(+Pm>Vmv!fd$F znfpexhSYu}|CBr&BlGE=M=h57OJsNI!}Da|FY%J|{{9ojm0X+r%R~F>g$5& zO^(jFgQoGz0!p3#&S|a<$7cR0HW|SjScS6v^Nu467=3~)#-&OtWH2eE*{>JH#|88h z1Fm9~ZI^qy$Ig%p?!vcV`Y7avO0EY0qw-Rbu1PHoK_L>_rZAz4Skk#G!-e`|3+1Ic zbvQ9P%<5`76E7BGwiq>m)UNP`3>PWuK5I}<0Fj(!Y8+O<0TI#~FPeAk4)+m@|0;+X zbIYV=hSc!{%#_0mllCWRsw@voe?Pe~wwB$tGO+$})qJh~Cs#QW&ZLN@jSfY*49?nU z*=DyT6)evMM^_;oPM)+XmoSWK@!+?h-)F`jlUJcsEb6}i4E?GfzH!q9FbzYbNTh^b z$xZf_$G{Ss2#Tu0nnS$dmnQj5`>o>8_sx7x@ciK>f&1i^zUkL;UsRHT^sZ)M5Whh6 zBUL6~VJGec90`X^5InBP?lKKtpDkj&yyGGL_h=ulFbzwO{5G`j6rf`)8h8ykE+|cnxe@Y6rfe1^~f^!dibw8u^t4FtlTwJkz z7da(?A)53+&1V5QhRVeMq_+A1PJ3SNm2@tAKm<#iT1Jt=wS?W~sH9ppNFH%rZJ)Ap zPE$GES{PP2E|2WQ7I%mR5qXK@4MHlo(^$5Ucz&PlH)o^>-I*gqW3pS3!wS2T^Umyv zf;=|@K68`upHOA2)S1#Q6Sa_-R~Qd>g>;uR0($F&GDY=PoN-!+8Xk327oA<1Kdt{N zu5rr%7U4yj=ECfGRKT{(i?I=FyNtbo%VOQ-bVBw56nwm7!lcAj!BRVbbRCGM16ix%(Z@p^wkdPzI}G!~a2T{`CVOU0v-Dri=Qq#!cD&eDWzw2I@t0BIpJgyHt2eM z)5u53=z}0mscpDMq zNRGnZWGMsrv_@CxU5X(;AIJ`8P5-w?#yYHp<}N8zD5^1EU|3tV)gU#P+fQq!kH0?! zJy(@9pu%vqLfV3ai-C#Wig%+q&;=`WvK@e87wH1o-tI5Hm)o8}OsPYj&NV;a>WXsh zAr|lgHe86W1<>dNt4T~f7a%Em&V`Jvkkbx|G|jx?D@lf7*E$&f zCpam8CG|#Y?DXF|;q%!R4ewQEF@_+bEDOvh=^VR199VD2;GAIG)FkM}gc$7389(Bl zMJeGyn;QS5<2=7$E zVp8&^GMD~W5H$Ns%Ax9POJxCnwCr$Dz4|1&%NqVJEmCgccupG0B@*QC-M21F5`hVq z&BLCds3-ae-7S5H=YfVUd|TOMp+oi(BSJQbxE6II9Qk}?qo)=a_s?oX&P9MXa|$Jr zaTS8yH!fTxB}Zyjxn!JGn5 zN0GFWj~Xjp$sF9l`@!g*eD(ghbf6<0*BwJwLD>Dna{v-~U(K|!QfJK|4p(b^9=XLK z4|oES^( z72|_*rH+medmpghh2Q_m{+j??4*AH(y)kC@cluoh9_S~{MY`il&wjk2qJ6n9)VlbcbbSR`u^AbfdSO*4%-bzn5b2vM>{+)$v=53f zMo1V~_YD}eL>Y9{rSzvV1RI%`bE!N(v@%<6UtYI_nIk}c6{TCGZ#V?rK8&eW8~Ao2 z?2eIXj1Sp+WE0aNFBA~jtp`-JSMWimfM3H6dU}{}3|(s6?@AvdXC ze7fe#%(*^_29*t%45DFhT8{f$d&p+>MIUgUj{$iW0IGhItw9Klt7^&WB`8u9)cRT+ zOfl_F0av4@yOj9gthQ?oU$Y}9OjP=w2UH+1XOo1g>Vb83GM}v=zbM!Y_$1d+AZy`z z4B={=F1-za$L2$Ze8VsK%981=t3D8x&E9FY!kGkSVHAnJ+U(1l!8PkH^+f`#`u<6N z)@ZLxm`PdB@`SRkfn$#@5zWM7F^EN@W9tYwTR;NiV~_u%M+2Kc?{gK%j{EQ*o~v`F z@L6ga7L+>!6Q52RKBX8dKp&012vU84?L}xUWLdn)HZA4TQKh&;eRo&~FFbS}>63@!XFsH|Q$OO&ATQ{9HMwNnVJ1+G|Wz^+~xAd9fB&coH?nUif; z|DU-tx-^>AXZg(cL&9WWYeCqm8cY^X{rs3y`{u0iA0af5q;cpB72fyRg{qu13=(8> z(a}rHf@~7P0M{-W0JD;Id)^3y09_{v9AZH_?{!E7qVP+j$+V>Wkam?AVELfls0-H5 zU)JRrgReA8h|u3BZDOgae3;z%Fs(NI}#Xg~=QedeI? zbuJ|&0)yYBgi*;)nz?Jl^WRkmBMucSu*dN9!0-)}fKZi{>m|L@^Rk)E4HjOc!t%OX z0xR`;FzDl)yWQYN@yQ>DwpbxhcJEV9-p5sd;t;7wyBt2)zL*#t`)(Eg-Yd8B>|Ldh zdU5)FZ^!9O)DE3*t7ht#Lv4>T(cE5-;hjnYL9c8#*-oY#Wv@9?IQQ zwJ?Tj{jH6G_&{78RN@Vp^AE5=mtSz*mmC*DOkf{IQEU@aNoO&QJY8VyzQzZ{EeIw5 zxJ`UqX@!Lnqs5-C?LT1>P4}M@);u^Y|8VQlQ2&(SXil}QfM*o66E1~ZvJ4589z7oz zU7(u{{7eFG?_D&9<@N_xjWori>B9lQefzf}GgK@D{=tsUPz+3@d8BqOU829{F!tnC zfs)o%8)?2am1u)v+=$-%_*sR6mict$mqfh+B=vanvBvaleyUPGXDd>WZQ5Gbq!6rb z)zhnjKDQ%V9IH$E$t~AEPq&t$nZ@&+<&e*iFnnv+r*V8TQO#jF7d4HzH`}Vl6|BA} zg;kHopuVW#QFe7~^~oSiK05+-PSyzB{8FR5%q;Y-*7&a!l`~_oiU@_lG0U}aUhfJ7 z(Tq-R{aNXm_fF=VdFg7L=cU>HC#I%R{`E@}{YQv~kgS zFMd5;j1)K=_KZSsibL--F*TB(%>OTDLcu=L0FUebnR2`qPB&A7^#_>Cg#R?*{Rfl^ zA&t>=+=h@P<@`mPu)C>gq9hK#;P1iBG!;(4uBSiug@;LVUmGVP#@*DWnH?Z${5@f) zvN?D9u3R$NUq2X^u;^>Za9sOogw&iK;%bny$Y-Aat6JNK8a^SI0mrdjZTw>C+{}o4 z*YaDpKBB|^_hgnLMmY*f*=7*+;OFaEvo3zZ0Yxy4f%f(|DUesPCvMP1uBQ+?M7)L5 zJlzk?bAUDGaI%GVEM>#*Qbj7xm<&M{9fgzhZPI~lLtXd&kcS$ZOrgcg<~A-OUWrhM zpXs}pn8l5P1X<=7mjKB zuOHZa-+1Awx{5jjx%-Jax3+XtPHP@U`9rZu&HIIz`HH}f{f8ohYoj2l6SM}21WEaY z|B6jw@E->m-zo$Ks(JBv`tFpf|(MK;$nONbiGrH`aV`S#vA1FUA<6 z1FZ(t__T7+){@yb2ez@eUxOAM6TJyA{M*m@M3pCfo;eD(aW@@BK;~+}j|0{v$kUE> z_9(D#M~-a7q?o?>BTM&7WgOi0RHW(2A9AB;yltNwA6zsx5;X4>E27Iolwg&fPOZ9C)_3TF+NZyC{t-ca4PjS(-u|TZ@`I5)X@yn6=NiA5V+CL2f=C zlw$6sgbSAHhe~XMXZ6u!QMo&E-C0rIEKO}cl)8teDjC{X;|$M#w}NzBBRt&Uu&x^) z6n2L))SCRXYmk~{sFAg`9o;}s0kJEr&|1;a{JFc=Sj_Er> z_*{fs^TNOkaBdOod3E+SY-%{dL4M!f`tUmK0jY=NWP=TOk+7?OXYhcQ=pU1P`Kw@D zI=|8KXFsC?h$seej0=ZQ#hnXZC%qO|o?cp^wW)$vVt<#eIJ?)H3?bx>_qyaZ3;;fl zhPayqD`oUH&fhu80}cG?|933el61Y$<|QqTu7`6lq8q<&CT}Ov8E_7zm!q1@j3FyS z+M0J-ZWdf%_V2e>0k^Ko5Fc=^R2oFW;)QdUh;b`<1TM^oNu0VGBQ@v(4yi;ls(;bgKtX*u}BI4 z&rf0rE?@QyzI8#1YunqUouilXJ5+GHGjxZ@W38plgoEbAO&}P9qc(k_vhX z#C_j=Cd)fO-G)r+8W)SPCwnOIn3H@Gz1YD;bHpk86PwN%?3+YoQh<#m_+bsdl$|r6 zWl%Uh_4CX3nXvjn+*vi+u^6WpgMsZn`MtekBy!8dk0IW-wX$q&YD{g5yrv26ImH2Z ze{S-rv|s;RY*#g1+ZVT@amTf98+%O3=--6E6%@~(fjAWmcdV7_BDKfbbl+g_uwY*? z4MOe*6gb5cq!_j$N8Bt`qCF0C9{J@I(cPy%SF*PJOHa;X@$k^KMXQg%iqu4#mSP#< z)id&HOiyBrDM(Wc1sJ(+sJVG1Vx6sJ`ejkS=@2aOxwphTLHNH->686a#N~oiip*s8 zdoG{)G`P9q_DqLEY^KrB@+vH%Hv6Fsk&-|Q5!Z7EwG@ZhhTZfS2WT_Qp<|jXn}EX! zqonMf*$|3p>=SEqm?S}GLOG_RfQ1Tv7+6k~R=1`pRe0pBun^VkDm+{L(*`P=#iFRJ zZmLE0JLLc>TT`Gn%`Ta3J_{vk{}*^QD65m}NV0%#(A3IG18^e6h3h6<1Njy?fA?tHI!$Y326yj#87?1=>?qLilV<3|8oYG z{&mY^RaTS9-~+UNDFUETGIU*CNWi0S5EppHZn?@bhdF*Hi=?B`=nh?eAD}@rPA~A( zc~o|_(g}_^-N$o}TbhR+O_nr+>vD!@8a?{MjaX*8mGaiSLl5yDIZ}DsaTZqsJ}*vG zEuT3;84$_>?R&>(w0bkpmX??=#-N0c67Z-?`=Ow;DhpM^3+(xf5NDzmcffce_4hFR^&_2W*3(NJ zgX-fzoJyRsYjsZ~f^px+bg8Bnex~dB6R9cqz#94oG$Y9^tlLZq^I0!S|9o18^4WGz~t*ZN)0|D%%G^^(O>6XhpOswI+-1TI%nBF zCbJTWv~D3mY5?wrw}s&JaKfX|zOjP^ky_#%4t+c)!qa*M$oqhaA=Kwtq|+0YB)=-i z)yj(O3!r^k1K~TQTE`mv>gn>eT@U99_%lL9=N9|cK^Oqm1V1p=X_|rIsRH=>9nwF* z*+f4DtN*9{CARR`Hvw0SRNzqsT3siFlpF3W?K$ZDtC=IW!v*~#&8*eN_a01{Yr0Ak7+Xw-X==Atg9z4@exmL^HE{_cMH9?e@}t`sh_@L8_(nI$pLB3g^xl&=eWCb{y z?xzS2QhH_NF5qs@xH3t^PHE*&8so?jqsX*&Tr{WE*#ez)TCYt6Et3J-kRs zI#G37T+Q91bIs(}9v}zxyvYM0S%bQSc?olzjewP0H3A665J~g`a!GAf4gooSje&cS z{=m^)VWN$?QDKks=wX`K-aNyp<6psdd$t&w8c^>-&++cJ7RV>}lh_L7P-SNtDX&Yx zHViiRJu-pDkoV6n50oTdoam`+3{XrlNqeQ?Su^p98@dt{&o2R&Qp;NA zACLgZT&lVvQgul-x-|-5z$-KBL5-tVD)B?hvgw^`{fJhmjlb10n-PINK?+u|)o|`P z;$ry%s4s~DHsP=C+QpHOM`X=j@Mmj&@}x0(NK2VT2I;5&*)>phDRsKQ7d()eDxQ;$ zZR*8i*YjYjeV_v*iX6W`)G%i*A^3l<3L25K1-c(hFw)gB8L~ zP&-=s*tya;Pl77w!>5!VSo3U1OM;lgoIsp1&GJjrPPbH<_@vfuyPh*JB%V zmYh@s&K>uNQH#zI+G>p&fE0Pnx;?TMr+d^xrc z^4JH}#?1pP?&ZF(8n_hZk?8)nM3s9dUSHUGqpRgjZETExSf2|T7r=}uoK>D*2g&N8 zD?Pss1~e{XL?WJ^b3KEq7zU;1dbYGY^4EEH}BY(JQk@DL{S;8O`;m~r*t^dgfHQ0%DU#GE!T`0+G|D{P zb>VfHdd3(YJxOwiZ^_gUIIwrk9(ZcAtb)VHt!>rN9{;13DO3tQU;@djW1)kns9QVV z&rN}UWd+A{dcL<~+;}8wZ&st>E)W4y4_!6LoXyzD2v2X1_89>FjJ~dACEvIpkS6vx3g&kvI~{!OUyCaXF*IhDX_cq1 zc8W8DAzIincL&JJCRW@Yk&q|`wiCL`lh8{Xs_u20m)Fre(02+Tqw*;Rizxp##{_~1 zq-i}!mZ|X}V)NYbj+foINk;m;kJSU8ZuZ>?R1Nsmrni!8th!L2m|x!`q4e(M6kQY7 z(BtI4-53d@k&LW&G+>`>KRCX=>OcHGOG=8$p*VCv$t@i1Ls1q~>02|kZ54u_fYR+eLzG~_fy^u*CaLv*prAWi`jC(A! zRI{~EX`gQDH5yyio0r1KBdoF?NTnq+SbIAwQSbEhQ|e}+>{Xu;!-wa!p%KT}g}=L1 zd0Ca3>iw*Sld>)94ATTuvc$2VdZtc2^W>v%q-JYy;B-$UUBDI^;?Kp+4|+A`c2QKG zhCqDy((fgk_Fm^-ATr~i)68zD>h=2;RyJ|2pAm)qrBY*%gH?^*h&tbf%Q3sSc1z3& zZT12O<9zk1hv3szT~!eO3duE^_EZc}JJYN+@q(ONG%jZBc)kNxb6yV3m(mY~K$OuW z&5?>b{RCA-v8UmGcW;T0Zq7Vjl+np+pOT=t-O)y)A)sBD9Z=gA*PK_XiSe%FsF^ zBYH~G15@kDYV@Ceg_*M}aF3ijuj&eW;!Glcu!d&?XMWgMbnyn3WzCNGjF!r^>_1%V zOzM$SVcy9Grgb^1I|6UQ$;iB3> zzCbBQEcWtk)AsFdN?L!^K_CsrkT7<0|C_#n*A_`=4nJbnBs0!5mL`=4s!H{--~!75 z%G0h;fU#25>I{(scD)AV#y@hea~C1#t~luzR@fG#XfUB1&syFR7@#m05!8s9kk17t zxWbtc&8x^VQjL?j>YaeC=o?xaizXSB%*28_3FEXQY^lG`4?_cxRZdJhIu7vruM-D& z?u0@NvP6)@hCJo-*h)tFO|1s0p1=whWot}?m&M)GQHs+KlA0gH@*Ve&hxwnu`PWj8 zV-+eEXaEOx+D2H@7#$^<14KW$sxsB!eLo~*yYfNHFSZQS#;HBzrl~w^#EtlcsHhiS z8aM^5#W}&rju4Tiwcn$Ttg6K8)%&Lh+Efx+J*m7O(Y^uczEeVObQO7S$Hiwm+J!rs znnL?_Dr1yASN2s$WTP_yA`0;TW=QyOobOUZt=9!aSZf0}RQU|x4cW7ZPA9@&&@v_+ zS27IP+%z?!ClFSfBKcmfJDBfVrz5~jN!2=sKwv-GMNy?E7OIQN?T%1g_pA2UQ-isz zlkyU`5e&(yXaXUs6o*%{0fpibd*S09YLUwgOuD0&aBI=2R2m`EibA=_Zt+Hl4FK%? zvXiTx1k<#<625&k+A!GfE2{WtOa~N7Ga}Pfxs&mhd$zy&t`;^i#J8wrtb7~ezDt=~ zY&7|5UIe^Uy9Kt&+_tzVN$#J(w5J(zyTfV#gDXc8`bw8O`-+9+(9u}AJd*F<~Av4Kua#}BE*6QMI#((%TB*d+>;Tv-$6UW4FfkN!# z6==d?b~10I-vf5A6=Dop-#lKeMde5B={{rkA&1_8W`WlBoc?|T&!o(oIrj0kqoc2o z^#uxwgKJrRp`cVuFX-{=fBPqRO^dkL0|0WAd+R7V_Xz&Hzz!QX2)0Tf8PFDUqP2Yz zT(U&qH;<_OoHpf-Q-Hr4jwyz+1MrY|42>@Oz6^o{rl@PeC>NU+T5D26!Js6mr2H#j z&J_!x5)0!qxW`kb89hDHPqYvVDf#u_%|X|pU0>A3{IMRn1I2m}(q!QJ<}y-k4C}Nq zHqWA9Uw|m2)dZkr16cL-yb1l+y)luTD$&Z`kj?yEkrt8b7TH{HphO=6lvyfuWgt9d z957eeg?!O)mSPAUj0>G$Vqa#}9M6rkiQx zaAAPZ5}B zL?vBAx>7Q59eE`*^g-hMY*H%E^j_hGch8iKcm#;`tV~%w6xl)%=x~vDFj|2S9Q;zV zQGCAk>_oAmeKIx_V}?#m6?2`1y573?!u5}@sOoBMH#eFv%4Fn0ImU$&(s4Sc0LK3% zHMs4!mGD&JC|7ILU{>g_3_A+!ps7TK zjF-UXNFx0{k;1oQ_=xXHWt+RM6raSstahtvP=E5(#sqPj2+#OThZ9!wL@7_&-@R4~ zx(y!hwnQ(;kMYV75g;+s1Z{4E&@B1r^Bh?i?T46s(Yh+Qa}g%)P-_GDU2mWI<3xGJ zr_#{+%DCLyuc@-|E+NKd*N>nyi9an6CSZw#){m1jIbI9#mAtQi70VJN8R7E3J3bzR z8e!sdHsW5kNCX4P34pv=euuRz_0a!!a5Y}l0)Y)CUovGR8+HCH^MBygtit^_SfD{n zN0_^(c;ZDZzJ|Y^EP6UsV*#IF-PJTtDa`BJo$tF~#=!LhLoIghw14AmV|r&bmfOls zRj7dbDD=yLlgFe8L@=9G?Gb z)Hf`8f_~121`j26>Vi0$Uq3$OA5b?5v}$cTe=3*$+?%dX6>18-*K|bPS%ImDE>$$j zapM*KuF8E~2C4T;ZwQ<=2cdqfIv@pCW@s1Ne*IEQ^L$wUzp(zUodEZZZnq>1hu>7u zcTb1DEz2g!@T_pSTu3ZuAW`Z7Ai_dr&6o0J>OL*A$v@#uxH8fYTgrb9SEIM&IIq3) zNg-N|gSOp(zbThMJ>yWk`hzYnIXgp6*fS1{3zy_Fhjw@U#{kzTT? zQALct?6grLKr||Y#e;dZ$%bSgFL*RlxX8-5lLCk_m0*HT0;;m+(<&epcc%zTzfLPo zkjZkbdJ044mNT(Rmupu2V5Z|Q<@wxx&H!eGTMM}oW6&1XN(2}_rmOuuH8+srD+J1k z*UjVd#tw}(#}qpH>22n5!p)IdeUCxO_zUyIdZToQ%bb&p)vt=~w4=r;O)e73@$$#3 zaNQI@bp8lD_$@cfI0PtS+MnKaz!D#~z)yOgaTNHPe&a}K!Mi_ryIA~WY>O7kB8Z|| z1r9X0_Ay%agsk&onzByj-q$s8!GnM43GdV1G?-CXSDyruP_c(VAvI62aZpFu6^b$G z26K^@<@0dBiu*+DmxPK{BY2&k}qI*_`MpO;XXVV-%L>?Fnd1#=jsdOFon+(G3oBYX%A+yJ%Oi{wCRGAQMd~`b^+(P?TGeNi_?{q!fO2_)hl13)UV;r>chDfP zWj3N%O?cCiwCvprVna?g7=73CPJ z8_(Zt!|QWT$6jjJlcYJZA|HugXXdFS+*o6mJ5vOpexVVLd~(!aDFlkAI*YEM*vSV! zF4MqF(iVfo;`|#QV6Nt2>oc*7{-UBKBcT4Z?Xjk+~Ss* zQ5-MVwPi4V+*8+l*6r#fpcEiwoT+gwigu{63Jljw(L}IgvBMOg>1BhSDGYxXeo?d> zxhwn1zs4q60nI`yp@O0qt}>lEQ178uCf058@LJNTz{a`pAQ(!iOv@&5J*{OKw>!PeXgvD$tGA&`eX+Az36&}=!o6@pX!^y?~ zyWOvHj(&6tK)qH+nD@Si*G|A>d!zaZOJY^qM3%tD|9ilI^l9d_h)tP_KmZ8~ld2fF zaw6m!=;66zNwV)MOrg_ES#z_442ez+pmu?t&Ua3tMm55LCpHv~X+jIr5iHY>MGyl5 ztxV(|lPpAfvRiqf^}YCO5xY_efdVy`nCOwyla??dKbJd@O>_dr9yA|hFPwoRrpj;!a!#Y^N zg;XfR_bl<9Q{P+4xNs{GY0%U8An_UdG0-D5CDvc#U;51?sFo zte1HX*KZ_c9SShc5DSBpI?*`TjGmTcj4)w1OtAllqcOuK+>j^XKFe@1nMbolmz)3` z#7HBhl5v}qUBGI4Z-5+Q@-VLu@2JbL4C5BIp* z8~svp48jDV*Ot9NnQC9E?9dU{9XI`d1~3+B{Pi>_C{_?sJaITEV?b?2!pI2{;No+2zxFo)h}2$E)a* z^^52xrSUcMlq_SW)9XO9oQ@+-jw5ldl)o3_c+~0MPrjvj1uc#Z!M(8D;~CW2w#W54 zAGcWp{VXUS13j2n2IO{mPe9vqi}!RzP4N^)Zb!dY*)%fT{5$*!rJU~RhjAAud$fzZ z)drs9q7^!vjL!1XcsPW^ndOji_L$-5UB0Tq11A_#pjOg{?=XZmisL6U*R9CPOdfMD z>xciC)s8;=UaHe;_(gIx26FfO@O($Y zI>|;^F}kTlG2VXkN~u@t$|jHoKR(H+X0S|Yvq8xPB!X=xhMdAMGJA+WOTiN~ z@QnC2a9ljXDn<d*%5SWu>{?m zWu~Hc*WLAhOv)$+v>ip3R!|1BBLnBFtk_D&|dB{u#{+cZ*j0Qyc)f z`4z>6pxmHv>Z~H@PxRbzi50H1dN5nyEei7V5QG!|)!%gL8?_2=dlxRQ1u-~JYY}NZ zn$}p1Px>4a8u+}!pR}C=$WZG=!(jQ89Vf)j>-5!4$6r9>k_HpQa+i&``Sk!=V@@K@ z70s3N>vPLBg-^Bmp05ptbdyakM6BmeM>`ww+Uk6}k^c*IB()#QQP*lAI4vG%+-%CD zBr+yyVC-5I@l^AW@qa2Z@-D-Fl}4~;;^@G{vMZk^_aeYbyG41*Ri8IF{0A_pc^rHkWG|Pc^d>|Je6Ey4?WA&$gyj7|O z3HHB}Ye2=%Ry$wD9&gId1n7 zUU$v6U`ARF8E+m$&v$Om|NoTQokga?r*v>M|6vgL$QYos-E?TxBYSPd#hWAp`wQ~T z0;xe*$swGLmAv>^u5~0WJtDuv^jY@Xt$gl>ZacCN<^(@@>y)V zI-68r-SAR1)nKAfkU$4}L|gH}d{H_J=I?^?lRKuwf;N@f-43~Wi9Ujd*e{o1IV`8v zKK*|LdU?7KhN$Fc%EVS%hshsLk3N9Nm`6(Y6m)jovVd{qMp}V zGJgW#0rpGvO-y=1-ysWM(&8mxa*5rxeE=kq>spKcj=)k6z2O2C)cL1 za-h!;aW-89=VXL%w!Q$>h}k!cjvDgw7ih(8s>CQOvymBTvw=4pq-$dH>mN|xnNwT< z|58188zmXxy#7N8u2zd0xgwMM&fKn2vAt|yThm_lGYVm?{aowjD|p`=l@^XcCJRyv zcEk*~XU>F3H_S+GW~SDOCNj8s{U-{RQ&R5esM0jWX1{o~ISrHvNb}s{>2ubGR+o7> zr-zYgBFx!Iy+NR43)D(8&37O`KzphY*;;Qd@s6J4>;JG6r+;NQIwyM& z(du(+ZHt6d2qh3kp~X~>agLOZDGSL=hM-;p4SWHE%`4OM7Hp07Nc_WgO1Z**ckpYc zE$DoC&wq_>gQ(TcVu#YPd!BuevRj^Yd+etpX!($xi8U9MB*8YY>M}so5Q1e@iA31v zcLB;z7<8S`bP9~Pk2+YK$H`$rPWwOlmky&MHl*gKFYGm2&dkIKVN@^^NH84jx~k@y{-! zltK}2*$w|aypqdOudbEr7gJqGL0OpbBVXBONuRCUK{c{z_S;qClEBcl4l0z@I}`FC zR(C0Bk4j`^@6Hp7U9+yrZlc;+LlJOmxZ|uZ?-|bLSa%f|n7+*STLo1#ep1D8xWE7! z%m~B3=1U00P7)?{XsfF<-O%9g$6pI9#M0jb0y&k;b?-nxZvX71ag0~>TG7@ z74rJ)Wy=EF5FMAac`^VmK+wPZ-j5OxQ8qvP7v8$BRek0$PK&PXsn?wM%V8_1e0nJm zrz@fk-!Ew=&DPd=D;#-qrUbX{mUHUQslXKb(1`PJY}aCPacR4*(302;b+ml{@W!wG zi+F?BsNw#X{~z||^PIGOhikgdG+rQC0PLXlp_9QC2S~!j?w9I_Ah<@Xdie%4s$$D- zo1>gvltWIPqorobDhQb;s+!5A;Xf>^Voxe^cgjIuv(FjI+^^>RSZ)M4zp)@#oGAe; zhdo}`QR8dsp!6o1J+ue)tm*vZnV2y({w};o&3zdaxMo*fF}e~DivdAm_`J) zPP713o{)SRFYNuIl!KUtSBD- z6KjKB%8%Cx**p`DEHdNQL`1I)@Dy*T=?o=?p4$@bf4F?{aJF9{G%@zaOqegv-D(G( z6o>Js^6|2eC1e8{9?tqhTW)G^VY?cOYQVc( z(?|fxgU8FWEF{P{xIQdf+(Gf$91*Q%D2AEPho3&A>y>`srM(4J(F61b^oXHh~H|7_3qjoUiIb6wh9V#S~ys5%Uiuj zF)nImRanjQ6_%VQc=B+{DkC7POPL4?0E|}PU3;pYg8EaiMm==SK%4BU-@ZkoW?4nL z!WfN~2j2BmYq*u=>WS(e4|nWSIVq>xNI?#(y|YH63BF|C(g)oja3ewSfuE}RIFdd@ zutD(>c6n5uJG{(ak8Z~k8B$UqX0xH6pGeAi^t>oI|2&5 zf8we4VWMZ-l6 zeupdb)23aXYR27SJyZC3017o$)MsGOREkwAgRRLI?1mTVQ}ozCWaFfYc~X%i4$fBF z?X4ovTzGXV&C|7oPvx8;e)?}yjTP=1c(ufN8wLe_SvxzoRI07OjdAypIwAtqJd4rT zJ0U{en{ccA1U4}&99bDZW8%^Y@zwG8AGGNE6HjGmho>KCz;h$~Q%v@(&J;{fe0)KH zix}r_6~VwIj$6h!hurF4nRAQiT(R`Y{qg$i#Wb#pC|rQ?J1!uMU*xa4_4dP#%*)8J z>95+_SrSLO2k~pEZ= zMfuhM=X2VfY+rZ)RWNRYTn+<{tHXg6%f5J&w=vSAZ(=xSNA$JQ90aJOYr71)N^wU=E?xcJYo*F=Xc1|O_snrPTG%2K3tDzvj?amCce zS5$_K10Ta(fKcTQfH`3J7hmwY%m`#lQPURO{h5N$cBZ1st@i+7XZpN%QwU3cb-_5W zS@A`tXvLXVV|%#wtM9myEl{8Dyxlc_747l%E3s>owxQ>=<5MMVz8A8jX6D4La?)BC zdc!lmP+hpX{gOnr28*ZE-6%fbgju~uvL|mmCECT;03N*#h?2ha@bPkT+s6$RwkG3b zJ{Dxld&^w5QXCA(;^2c<|HGpx$1VSxPXGy{0U0r&V*ntngWqa^J;5FAq(~+L21j4l zve3k?fLHF5Sgelz{;kr3UEuC*k6I;@x9SVk_^0~~06tt7UO<5Fcl__@!%xtfz{O%7 z152cJ-ksh_(%22&gKlbd>9SYkV{@!5(a0Z&n9u04+OSfF*$F3PoN zoI48v%wZ_fcZ9nrKG=whAVFX@9j+9v$$Y%n8k`*8vvQ?F`{%$hMicsa5lJE%7N1!1 zY!3j26cUoL3y~z*5hK}9bmcyvDS#ep7=B$S*gnY$)f|A?vrvINz!}HoqP{u5&Y&ys zi-ulnF~b7%2?1uVI$}>5q8Z(OZp*Tjc)XUW8Q@E04S7$|e1YyKu9rnwIdXsg&wKM{ ziMlkfPKc8IA~x1QEP#kk@5wlg;bI(gZDuusFk5PSJ{^cuuhuh{g?61vzCjzGnF>Os z@0&x&^~71#1zGkMkk^52L&}>Kzr@AeS}#%sCvuyyhrvv=l!#G6yv{wH7dP%#QHmV9 zj**nzohK)5hhE;U$uY4ad)hnfFMK}_R*=QsUY)qC?P#!;JvCEaZ;4|6MJ7uD61a?; z{E`v^edb1vhViUpEli6hO4088^7WS*&+6v5l2#W3NEFLFmJs8!LWHe2`rQZK^pV~D zW)DhKhzx6S+1mdYwXRdACrYOFESkLJQ;uB6ZlBn)ad(fnSbr5u`wrQTAf%<`jUmS% z9&plVr$qamsv14M@vT2+!obCYY?NDffB5TuAyYWVJ)oK`o^u`o~jhI zLsCtx#+FwPi@716+DhNR5kFEfBYt9++|EtS)Ib?=4j| zJz&zAUC)|G)_Z(uuHj%=LkwIqo9W{l*{+mTJmSY~1hDmP+^d+lu3A=oQ;Db`9WlEO z7BeMkusa~m2a%Sy2%*3&8(?xFkZ^GOQ)d+Z3vy}j?Vg^ z&u09nU?Y`roD!ft5ve0Gr zvd;FE!N){K#Iz;8Yc6Ko3aZN_ene-t$JkE8J8N3F`Wbok0|1NM|CEf|@gi#*25h|Z zN0%v&JE+DFpdJdyxC0_QWnmKgkwaZ|MLVuX2evaXMt#vf3QL(TZ+=FZSec^PT_g0Y zJqQA_rsvQk-l3eN2*kVKQ}Ilk;$-nDa!MGyv5z=g9H5b*6g29V*^G?_0_l$2jrtT6 z8u>oZx@PEw>G}|bk*--+VHaie>1Eo3B9#DhfXlQ=P=>EWMr_ zY&=7oVlN%#bozBi42+YTQPR=Eryxs(n1R$VhQHYRkThZ#(3!=nHiU0Gn5W1`F^k`z z9tm-IL;Toe#i*fsZ0m{Hj)yHck07nWzFr^(glPoy7J~Z{gCS2nAlu3Oo)7hLgh~>E z=!KBiz=g8KXzW_dL}Igv{;F43_X9D9;@&ZpU(Qwj+>nx01dB3!%ChBxyUExEOZCe| z6kL5eI{D39_UyVz3}a5u0Om%&mFQ$FL!_6E@QPPX@%N8x<$OCdwV@-?BVm8Y?3*gU z`L_yxU}Dpa*SP8XPR#EU-qpZIbc3zhw+NmT*D7vr7S}mo;zUyxo#!6&_oNC<#M5l0d#xx58*3ldfF|?kuR)Z zGeKs(Ebj)eiS1mKV}wm{*#50AI+OFjd{R?$HmIiy^|h9{0DGU`EeIe0@(yco(x>Lf z?I*+(XqBeeS|o2`JR6c&qWF>cBdz4l|J9vO`p|bZ9xqUCnp@pD0PrA7o{4F%=PzB% zxy|{8(U-1FO|>u-1RCZd8+8s+kmCofDJ+fVxS1nT67P)ZRCrZ4+>|x15#aMedYpSA z@267g3x2KT_Uk~Cy32THZct{J6P{0ZL?gJAA!hlf(j9mh3#pvl` znAT-h6fSx3xjY z;P;${yI%wMHg*~}7Mm)oh=lBJq8G3%Sp#2NvnM1y5^H$WsYQoj$u<78+)jWlU*nK(iq7M-c>=rXaIQwBZ&o zjhA3z$?lxfUAD`4fLoKSnia3SwJ#pjFqnDKl1fXVkg&LJV5Ju4eKfS-q@7Ok&hyMK zK@ZsMkP~D4p1pPJMh#7g5WVtz;%bXZ>y-KTVnRS2!(9eMge#f*Y(txZ*e=iEuMGkD zzRMN9$UhUZVE6YFsyGlbl0V*$fEe>pg-1mcHOZwQa+J`DkbHA#Z)~stbY2H8CAT|1 z;T4rbJtv{@6liE~2nkOeG4-ve9})0pdMVc~yDl6@lFY^j%aevj;qg=X?(jXBC6&f8 zy25GTYtbp^Oq&3Nc9OYo%yG|pe;M=rYemHw z{d2U22!Nv9bmek;F{wWahwul1RWwTJ_r1RW*fW#1G_~BQiaCx#!yxOG#Hc2$>X5cx zM`yC@r%3sHBz0&xJ}=XzV0FwAlUr?mwZi{Wf*4%3EOVDCH?zu6fCRMnmc95ZgSEZ+ z4Qu@}wFsLGqG&zG`y)5rLgrBIksZF_@0cZjo29Q*v877{zzBL;WV&~qhDIBqQ#Zor z)RkY|cX|R{;wCU^7sG_{#Vp%dM*9m!-CPsBdR6`|C*;P|4Pn;*z$8YGj^D?}nJx9) zT?Ga|=OY=CB=t6U!|1PvMxe)4oPhQj5(tSC*MNYsO-(eK>MAxxZRGkb~(M3`E^HZ5hfb$PL zm*``p@~<&uXr*Waj0WMq8pAmqe` z(4FU{`Q)~ZR94NhD-GV#xm!ER6yK#99}wXk zZDOdpY$&#_eWBj9wSOyR*F|7it)BzjT2eq%+Bw}24Rq^eec~B;UOYvh29zHPFy`!w9m z%QO*X2RCJS%gPX5UPL?W4=(aM<4oU%F50tC5AqW=Py*8(C2h=1wq0PbD)tu7}1fu7@BdKa8mkeI4H z_C?tSOx0J~kiF6$haBq!jHPY)WjYY;VD;(n?SGAly!FB@5kt>JagXxf*x?NCimSGL zBL(q+cfmqy)Xf9(VqQg@=>-OOCZZJJj#k+DMOBmLvn1y&?aV@*JMZGI1)1Yu-<9YM zMLIf!o=7;Kr$u91?c)x4GTv%97ULQs7x|4|KqHA`(4%Y>pVaI!*rm@|)HB}mH- z-X{2IE}RG0t?a_6bs#)FI-G2=*U)1J>EYSKyi;x1>n9$XAz8@;<{pfbSN?UMHa2SS zT0Iob=qVG;CkU!wX*Qhgc07)Q4RDf9g6RQVDVXSP{2k6}!t2XPMO8wk*V?jWt!;CG z|L)P7ky&`md4urswdCPndE zJUJ%|fw%;RWH}R}PcIxA9@Tt>%-zV%ZCSQ2rhLc+a+Zvb&={2P6*e@;hmxnnqz9y= z&PL9~{#_+$`C2F5BqT)Y3~^gEbr{O(Bj;!6R9S=Y)1=>K5gSUO)0xb#*Ou3)4p}W) zQPQ*a3tI&E*}w_PR?F1ggc5oww<_CqMf-Aj$$^V2LzX+%1@v2Gb*19tY2dU0_3RMr za6b`wu&bR)iPrFzS2EDuHm2a6jjE)?WGk z^}1hA{=>|Up0eW-#R^B8-A-z-rED0&-)ZeYgcrWzi?kilKZ9ofZrV#U2@lD<1X6Ke zceO!hsB!ic4wvM0qP$`pkwfN|#`?uJ2!J{aVH+9vLQcUBR{3{GyO~{(JwRzRNXza?yu)_4??8Es8^1fg9KDZ612!*vc?eYtu4u)e3LZOCx}lG_Gz+hh1rb zNiQRHDrnK@aM5(2A^(h34gr}yJ;ODEbmZDAMZf^WKddl)g6=C_LZ;b-oDry{XJ!Sr zv&2#$zooy&5soB>+7vzTd3bOzJQ!S(Gp}RxN6u5&8Jn1Dx;A$;{d8Z1_}NRK!Jv(@ zfY@NaWp3zktq_#_v>bc;@cZDEnlZEOS2UQdH3DXotNV~>OEtbIOBmF)W6Lh3-WrJF zlzZp_C|JdM*kBy}7erS-d5~yHw53%lsC`~!!Wsoif72U&{wiKT6;nn(-ME1@U)fBa z_xAbY+DzC*?iSlE8huVN$>_8!4&~DVmZk=<3ay@?l?fn$h}5B5GLH9FOfEM5dBAQ) zYW0}wWGD{+8KbO$v5%ruu(zFifb86w+C9_JKNy+KKI?4j+RT4x=IsKqRSvVqZWnan ziDn!3k*kP8sV#=Dl!4x9@is$ESIZgTzYJASEcG)Q3GntpBw`c zcc}zWy}Gs3sk3dRDsK0NThO&vA0mxiVbNLv!)!WzFB3lm(4lfwCmJ81ynNOQg}?EB z{vAo8O@4=fe`lZ*Shvp58WAmvai-mHQH%Dfi)E$N5a#s=PhQIJ5RYzUWCJSMC7y%^ z2Wyi^&NFZY`b!{RM{{az51^MFzsk0+yD$;?%p};vLAz-3Fn}rW;X^X00vsm6;~rwzNp{gbqVyRR|lKwZEf>HlT)hecXy#f zsiDUa@(R(+$IB^BznQ7ar&3Wu7-}_o&p%5E1!9oJP4#CfW4k6Z+tE;4x zLmk?p4T$Y^0j)L&Jo=RgYY9F=CzmBrc=W_fp+zlJ1I^OaeuD^t27{;yg^G4Ry)lGjvNboEe)D?SJx&#Yi{;d1zbZUpj)AQT|*WdA%< ztb3XjqLJu$wUD#)e^chnyQr6CJ#X~J%lgR-xMpmI-^xu@O^b)E9@V`$K^~)8L3&a7 z5u0NP1ioc;swI2nM;51uk|}b}+*(`9OJGz}Dyxw`eTxrTMFD`L=icvOy9gB$4R~n? zVv)o1-?tDHyk_Io$c0N%=m5y}M`gqao=6}PRSqL}5Koh?SMW!pTn(~Ay~p8%YoO5U zLaO<9LYPe^H^TD1`amH$0K>0Zb&rMpLqhrd3pgSFm$fh>GTSZQwus1ACXuSeuh)0Q ztcV~9lhf}I3SX7A8mTCOtg2tHXyy|_AvqibsEm9E%Q?_}S|nQT4P!Y_7{JKk)LXVd zA`CB?I5FJfS#dMSa1_xmTy!*s)JnnK}^buTYS(b(i>rmY@Hq?4qci)QXPF2=W8`> zV(>2F4!4a2gNpa$u!OMES6<$I;u8#1a@gw_Il-Ua2G{3%toq>viV7L-#z<6!)B&do zi6AKo?i~*{#&aa5*nK;eDF10kn(9YDtDhxfiCsaDnqLIQe6&)L6%=ME%HKR0Nwcr@ z4vBUEHi)Bk#psEu3wA&!Ghf&jPh^Zf2Q2hqkMhD8l_3Re1H3L%54f8-9K~XJWTsVK zjL#4)VvO;#?;J8okQ2-|*cuLwJ_A3j^c)hE^Z2Xd7tzlhD;!_Ak>Qujqe3Mjq_&J? zfz-!ER^VO+(Bxa1lbT=Ja*%|dKq<^fLQmcbN*?&w-AG7>m@Tu9%7QnDSi3hbYXDjL|OTdyWK5(!S6 zfz`o};rmuuK2eB_iUM-#FM)}8FGeSWyqRS|xNh!Gd*wY-TTX@Dcx%~$#nhDQ0ertT zMiX6!tLbfSZQ|Z5+f12Wwp2+mNG)`0GF4 zWc+>C9&8O=Y%DBLb|RyP#iOoZrq?6i%*`8W2(%2YRMz@Yn^>1gehZf?`Wa@rl9C@x_@#sl&ObXmL1Hf2SK~WFZ}<>`XyaJV;Hq-{ z4Jy@FXA&7-V>T%}vj%?CiPoEj7~krs%N-K5J2wj#(w@QtUgOo6i>xcIvQ*pYdIU>G&f%JXfk;O#>*oxcV^Aj1y|lX1Z`9pp$ncP49z0c%H2@RkuCY8D)=tRe37cp0&+n4TN(P} z-P3Nau^*?LY!|$0LwR9Qa1U5}WY0P-)giJjHpnHNt%lxJ^lr9gtPJVJosrcs18Mk& zRLrqRPf3}%+v6ILg~iycWVR%bN@L$W9jlp63WQT-%x$Xlb~E!TlA6a$o{Dz#2_2{o zN%N}fx^PrY7X`KsK!8>7emut?4J_(AOBU6cT56w1WM+0-?XtZ@`F%x&jT8gMG>C+( zabvEs6J%3Oj2WWEsXo+!)7`0G*!tDn?8pMjx+Zv~FDONNmFEfK9u3f?V8M!yuk?-Q^V6lBP zJ~;C72-LXFA@X17dtVX*j>Uc{$3S@$M?RLrWkF))->aE9pb@&P&PV|WnDG^NKzIp8 zwtiYf)RI84rj+)1&1jx-3j=|z#*xUfP3Y>Gq{lh^T7tlA;Vhl=H0c~;w2Zhj%??-6 zLtnlcV1p-$uUAei3vg;DVqdhAP7{%10B`vd8FxOJZV2ff3%^x&nQ_!uBpkwfO4~#8 z#U(TJrW0kAZ%Jb^uaTs+3?VjLU8pbW{BGD8R9qwD6)+&UWN}tH^Z`SuAvRd*vN9i5 zXQ*B1jcV6@I?Nzl6AiT3i2>;^Y{)ojV9maaU`;Gnc{#LCYi^CVI0G<*_(_nHDk1p) zk)WC=x)F1--LoVj$(idyuj&F9Dil$@kZ|IGh)^WEzHkWRK!_W%&0*^{w%tmjh&p+= zIhxCcR?y$qQUGKBANg8hH*6f4t@7O84r1VM-5ew6w6a~Q!xxe4cP+_o!RXAy`&3mm zeb&P!g0g?fDdqBvub-R4BaR4XVq5E<|9iQ1dpT%;5vvdbWEX zjEhbG>AeaAmyfC2@$XCO%a2&p$Sx@taFbFD-H$r(8T~ZwBejWUy?H%{gRWDw&;mHP zGwVUuDq(2@p~Ts83kGLJ&P=l)mVcY>)n<@B9kas{OJoNu;7HQ^OcFTx3E@)oVR)?# zS#p^&KUhO+qv2L3z4>A^KZY!JV|gYCl(!p7T8~t@3k+IoYinFQRJ(pb66<`1#HMR= z!=MnQax(qLn(!;?{mYk`@68L4}?LKn=Ox4jb-^6KF6zKMN( z+UU!c&3A}(iS}xcXmd}T5BGP9v|Jil?0w^2YPJ1up#B9^bj|S1A1BPDHKt;b-;5oy zG2yK{IPBRc5?RM^#-7t+Du$4W%aL}H_5KCE+7Q-uTNVBJs|p`oAe^;!XhNWGZHg(1 z&>M4Kr2S(6w&;Q~a5z;(!lJfE*NDI1!% zxP?A8Y>;_WOj3>zI@Jlnq=p3nQ}zZYJ91KK9)rF<_KDMea7a097hHaWrJ~eZw2#N_Q2lpiHfUjoFQqNRwOuOp1_Ps|K{zvlb&%Qyz+^OT~|6aB%Hk5a?B! zTT;XBG(;Kz1K3Hg;O5pjoq49Vuwz&eo4EE^XkO~+qmriR)mZaF>iBCMgEAQ4-aSrf zt%6(~yOwUA6M-va7TL`3Hc;{Ug_th0e7Pp%a$`a?`Ag=qC*V4=dSJMmb`Of1jGE}$ zv@v!kWJ;p3%9&=wM%`I`qi3c%FtOv*O%Qomk0VudAS|Z#POS~L;L$)JmxgN;bTGcK z#_T@5&?`b=1Q5>5Jnf*IoXq;vx|PE(CToO-gg^JlRJ)B1MB#VJDNX7X_NZkhV?)Xj zM5ogWzeupOwEIZzEBaF&BYF9LU3g!A+$1Lsm>-Se-2_`U*0RnLt9c2=&nQ+^4PXqZ zlp>H^HW!>>hi+VUGbBDaWn^Y{lm}42k-(}q5aZ+QQ3TB7zkFrO zGRqc@3itLnQon9M)^-`drFNRkmOJgFf}miz*5UOVenr>mg)+uN0Fhv+SJv}|e2UKa5BWNXfQT%wwS|B;AAW!`M#qmJ2teKD@ zC%pIraX9hMfx|QXT(hepf`o z;KFmM+Xg^hl{9LU!>K@7$;YBQ>PK(EufLJN2N<|Sx=%Xz6^U-m%UBXk9Re8glD1tH zBnOvNBQq+Gr)O&2G#yL0_z;G~7ph2{K_zm3LeEm)F=Xm;h-|pZyLfWriHyZp@20+A zbTR3i&CD(cbd=giH&OXv?R#ML=lMPmD1B&c-o|wYA6>w@-EU9-2g@hYQTjnxDo=2Z z*}ZpWAeP|rzB9x(TeTVm7YW4l5GL#**>#$Non=oJZKk{xjR$UZKWqR`KQ5(KEVf#_ zT~jO5*Mj-ZoL~l^>$vcq>h${L3U_dUyr>}%%56X5TUJ<`zRObDW{V>A`Z(cePZ(&* z@EGKsx+uh5xNp}9A*%XLR<((s8vec7w}dvpP^8=PYN#uA7_J*GtbfrBEj*V+F?I^T z?JBhK)Gd;*E>*x+$N~VWOIZj>b0Nx9|>Q5Fn48A<`+#qEJ;Rt&!a#@WQ-=vg{k&{2zEF)0$b>+S&tq=GaNLQ30uI$;5nY*%vP%SitkWyYd7l^Z_BWO}?K+ zA-R*vl9X35%E$of=Q#TpLo4ngsWFu;dXqxnN#(>M2kW6(C%+aj;5q`X_TS?44O&I_ zaR34n_DsNi%3;N_rj7eJLrIa-E}HNvVJRE7LZ|9r*z#w)O{1;A;NzDw9MfEv+GnT{}Ed!0B$pnU*Bds z+>mKaGE>1CB)sGW1G@x~ex&{)x?YWkgM2hhFR^~CREMf_a_k@~Ysejd-osMO2@C`e z8q+vgz$<0c&rfU_Vt&268T`k>2Y}34=x>&vss?+?oNPRNhHa$`(ay3} z(FCIu*-&X$crVTI+u%7x!)-XEG6L7LL_xSNVdpB;0X1K)byx513%02TVD41RP~)0} zPLBhB$;!a6Rrejvp{o0*@aJ&m9>_NVS@<*zZ_6JyCk{$+&k+!}+Bu)^entfTd&C@Z z^Jb(`w98Y^MQO;%sG*pbqzmb4lJ0BBi0D{YGTcw8jGB>}lqekkGtk_7*WQ(7K zOkivQh!)BX%ovb1qR;;fL5UmG!zKpUeP^cXVRcFs3%YOrnhsY%N(+(C(1(>;u6xA& zsaiyt{@xo+gi7F71X|mChPN%`vR|wTmGApp`m=JaiC32Shd)~jl|_T?fm=l*v$df> zqTRQpsw-iwjRw1L@2x(fH}+s^UA(xDM%{I+gfat=kgg4+V z@Nx=w<@^C_8uDjj?WeP6;h@#S%>`(MC8E$CZJrMvg5v-#H~1 zm^1jZa)XMWiLS#~ek&OSObJm3tkgBRG!LYj-x2Wz(#U(CTDC4YF12aboY-fITN)pI z0P}z`X-?*1Lge;X9&!mB0U6N;?bE)UG5}*(9v(K=CJsW z{FIusSfa!a$$(@5yk3!huf=MOvm?R#=B0e@_2xJzj0qR;z8j5ki@@iyxo$=t-ontu zJ4hHsy^v~`BR1QU+hm#2dz&g;t;@+xz>~PK9G#2sV=&QLA~H7C;b+dISHx=qzWGX% zZVS1N6v&iJ1wH)NqC@9MaGD%qS~%+!ZInL}k$Rwa+xl0sPA0;HP@Pju6jAgg)zVZ} zcz>5b5)(I0_kC=JzK#ts6+^LH=j19CFZ~cOJ5U5`;B;ikxtmb|ib4h;RNZz|89sra zSqaK}vW#JW22Ytbz|&a>g7Cs?sGsK2vh@o*XWESX+}@_<0L`|rpR>Vmmz&A4tN%pn zBIa&%{N(?(<+F40@e2&4?o47IA@`>EWBPNEa=|rLYgLhN3(Rih&kZ%PV62K2R^&2q zncMX?f=3&!@Sm%CzTZ)VC%XR`@{}pU-`QArL)FgFB66q;7p42#9`|}t4FBf~dbahF zb~G5TOtn?OfY}*q*p(U}M+9w-9@YwH++*Mpl;cOG)0nwk~x+z_M-7;=$w zrAuPW@XNKfh6F%sug@t+hcg;4DBR@|~9FloG~IW}Inx`!Z7gQ)zXH?bcY z+H6GX@~Z2xxV8H3y)OFv2V@soubP^cAoVlCY{ECP2(4#{%5Pw^pVgq?dewsW0TIGh z7SN+cXKAzPMfxM${Bl*mI;{zpe!Q?oaC>U5S?Yj1wQV9e7VrkM?*{v4czdv)L8i1F zZ>MS!PBTuNA3wk2$=~=up%2`M3qV?DP67`6xFycZ_-wz-l z0LFO9u33Xc)~e1H!W8FZg|bN0Z3#bs=0S)Kix9rd>%5!NQO$tM59o(*KN_B-zE4Y?_i> zdx&s6d${7p^P#z9-zGhO{V=Q z=Z!U)D_a_cA1w9RH97?>zaCe)cq+4E08_}FV8q==_m_-chgL}C23B>JJtNTM`k5sv zlCB3dreWZo=f57KQLUpIRZq1zbBT{hZoUW!scHcdxFf+7$gA5xN;#~zum;Eq8ZJ{|?c zK9`)~3dzFifXno?gK;N3Jvxo_jxFc)1z`W}CHCfCotDe9c~?8z-6&bnKZb66uSH0?tn0R- z2dz8GDfHSzI{bg9iK^SyT%AR)aal`w58s5@BUv-hxb<$^$+$5yHg}}v&tVWDiz8A#?&07hwmFR)#d6%v#*V@Axjib#4qVKcNA&UgN{MLZmg)ZN?8@r%SBM6QNCXWbN}c@_M$7j8BB<9 z89p0mMVkealMWY)c3oT0Uq)4nW=bf~Uxn1HT(; z`2_~#aGH4*@&~@`xKPRBC&^WHHWP)EQ7}XPzITjA9sdaJF4y>_NmBOpBqFZkBo6O^ z(@eYMdYaVmUf#jj}a&rjGyHXa{fDpy#{k*)W*r zKUx<|ByV;X?R(E}G6NN3B)1#LHy;Wcd2ra?~#6r_2>ocNH7~EDu zix?bxLA0GszW>Mf0qPYD2^ z-ns}3=CJ*L4$D7*c^4P!5)pPmE_|jKb6c=wrdhU$p@3O^8f z_lTZQk`CqCD{v;3TW$RGBc9moe{*AyKM?P1*bR2eLMe`sJc65M&Kg@71b*;ut$E%y z2?z#WIuBv0<1~65b^#cT&(P2n%@KrR%539)h2uBl62=Zg zG$fa)#S8_rifvpaJ{$lQIJ7+z5~FF@Fcn11B(uLTiN()h$ z-v{(Qo5Z2)Uk~GNK*InZ7DokvF=C!9%J5dRf&4pHZH>@!xU#DaB^!`nsrPF=nex!< z_E&+qQ61wDC)g-rnckngoE#{=E=~E)fA6PKkr@R~$>|J0lBa)+wW8W<=1xMUxj%XUJQ zEq)n9j82H$TDvIXOa81DyUU-BnPT-av?$E@ZuT{4eixpjC^&iPH(&kK-I<2Zh9Pj% z*jGb9LJLDtEm}5=^EkIM??ifLoKX~J-woZKUM8WMD&Mhu{8=?{_QrQza50`u&BVU1 zaIAKYcsKs}On6?kOB!qzP6_^qc^f^p(Y*Rj!EmE#U%Vm7trOYnei*R z&v=Grz-5g6>VGNK%KP)NYd!!{K&`*oUQ(_h<(cL+O=U1$2R-9UXMFvi5Ae+Im2353 z1U?P9XJW&-Hd05yQOyPiRU7!%f#A-B(mwaLqqci#jPvcn+nttybikru5c+@2#rS@U zCD9~fIV-$COCsP#wLKU*XkqqeaR^9H<(@$Yd(Uh)S!OX3x|I+V^a)bZniZR)_&BJ} z({O%8;Ddd}Ed_R_-4gT1T=@cHZT0)T&6^nmerX9CCI~Bi;_bogTf!LXb_`2XO0P8{ zQUpE4w5_HJo$fLi@r~vS##E^dfqUa3=6c>SIQ710jQJwR7<;w>!?UOZ^;MOQuCsU9!8?Z>yA9X*a z0%HE2*8c$YPr!98uok2B_}oDh-?w1s>EU`ihitd|!}LRhI-T@lXF$CSQ5*mMPk2ek zex^uQ#EHTL+CRT+2&~<3U3DZRThcx^XU1523UG8ftJ*X)@Rpqbd%xW$mW)n+yQ?N4 z>?Zsu`j|=%brZ!%^}c7i;W-J2bCWC9QTm1Wmye24$`KL6RI2cID50d-=)6VE`xj5x z&;7WvJnnqA$ImRKkhwfg>p(Fhvf%=g0vdCBAx5$jC&2RmwUKtwvTf6$x8LJNb`v0U zCbK0!wi^yYmY!d40ignEkb?mYUsLf6Ht@!t_d7KU6i?EX20Iyd1yai^2J#inUoeJP z-88{2X6y5$jrqtPqzZD1171xau0e99Rc$=g+7O-%EL=eKj}S}Y6$vOSXM$)ksa6Gq zMrxCW2QkC=iYYdQ_E^DPPC62^j`liA7hiN#9}28Vo;en!$ND-eFonvM9M6|Y1y(~2(6qz=vvryLHhyJ6MI27ysEh$%9%L@5E?ahv-yhTODQ zM*MaI;kA4)GSy1?ic*g~FO7f@Cd&Cw{0fyNk0`Hu`UR%V#@onEt)G9TAg2iK80M_A z79&)7#GK{0@Yt5_=K_=XBL0Qx(OX|d5z8)INhaCv!5{fCv}ItGGSl~p%&?0*C6}tu zf`uYD@=fUl)H6s;1RR`@;rYGMMI`T8I@-cp4ysx8&>}tISKTV_Lu4X<&ip0Z9+-Gs zK)Cdg+vqfLJe;14%W@MlQOK&pVp=md);Gdr*{cHHFxQHDrAU$LQps+A1{(TRk6&gT zhf?)TzThRMi*n)x?6T2L=uCb8%B_zmDe@b4jfJ{ASp$@k ze{;hiVROZ`s4>ehilaE*#eWO5(9}B#hz>3l4MUB(gR7rOw8OX(IBnA5AL){_E#9^8 zv-0r(*@>n|EB6KAkmw*AVM_a3rgLo$$Q`>icaCLcKREQ3l(<_Ccpxl4fM4yuZpC?D zla_6{WngBMOTy(W5T)GzTc(cyj6mkd0nu*V12qz|^7Z8(J4wV9?yas*hmWL7I;NIe zrnjLODSzdeJeofIBHdRuoap~>or7GLcyz7)_t?@>(dhQ|tyGPT6xf_{@+nW1Ol;#* z(8KgPcD!CYr@(M~@*YY}ZoEsG(?tfft9a%jyfUh%Fn#SWRpoW+rltYrC-9yA0^!d+ zS*RFOo<8A%ix3c}M*E`XNIG9BGiq$`$zGj1 zlARx{Gfgi!8}8mO4XyK;fLlxho@V?Yc5_Yg1}X`v+-ctsuip6W8WpwJ5JAJRpiUYR zm4+v^fL8u9IeX7uzyDOzPs^<`kZM+i?ut#*O}^hvx`QtyWDf}p%pq_ZOEv8`+Qa6S z9>|`cfmc!0SaG2-CD%0X7l9QZ=?hfck(n)fL>`xK<(ah*`v$&f3ObQ{m$S1mW{5!zQNjmh^A^U^6!NcN0J*>cSS zVNisE@A$Hi^(QyxLAD;5Chou>{nttw2O_#tNmSI%+dkAzvQ-9`2)yZ{C1mxqnFV4e zjxLELTvWIxj=_A3RzX+jebp@78fVrG{kF`S&X%RT$9&T|5XA;&1xTT189Hhc`ftB6 z4S+k>GNl{%Tym=TXo-1Q99@E*^r!CZf&qN32!J4*N@SqwOQJ78(rndP?CYF|n&cDK z0zl$#h^OBLSKA&7`8YCt#LNa{;Is~%3}>VU%+Yu_{^FbXC zSqR(O?G+UkJ7OAU&ksF-ub|+yWAm$l{RR5Sgpj=;YN zfzEF~v$mB1v1Iz-iT?n4l0QOJU>Sr=1~_|!aB*>KFi9Fvs5ak`J;J&o(AyNzkA#6H ztP)OMngB~wbH)a)R01`6ll#XMV)q~*0o0BL9tWidgXjm8c_F)96Gd(H7n@Y0l+OXCB5Ph95fimWJfN~04cyE4y( z*l`;lJ6-H`G2Y_NeX&xI#aVs*eXmu=9idnzRGew||Q*q2g{k@(x@X zUh_d;^4fF&JD-BrPg+X!>>r+o;_UScHYt$*^fLTEhg2b ztKe=x%zJp!rBuM8V7yk@Ox6E1XWTD9@_}C1)!vc&L+Hfa(V7i5wZnQE2_+pG=0D6j zqpo8Nj`ZBmh`$C7F~|xWLEm3+ZMfP%+`w*OwAPlF73u;JJ}P5oJ*KKX__}pb38jEU zZhn;M<2}ia=CK*mtLKY5pP2(mrajgP0FU=BEVgkAnNlDjuGJfKg}1Y~oJ?PV;Lc&S zF$alNZIfheQx`<$vy-Yg;jEz6R#zxi1Oq}mTwC+F3r?B4rTSBLT8|57>6^U|9x;-a zF&A4&;y3QZNYITaET%NqAkK8fStYiQ3(p9)Njn$>WzGYuO|!>K>P6B;(iWKM@yw3Y zZp6Pz)c@M5xymcoTKE@$u32FVWhWJ*4@H40(Fb3-1rtCPe`(Cn8wLIG^v|Pg1u|){ zZa~?bT)b#q!HyHEj{5lN)V0p z-CC@V&Wr88NnZwCze5Mfi-($PIB$wVVcP1T3Ns(l*eB?f(*5g%0VY;X)nQ^vyYD5i zLVvIC*9G-%FE%Q-K@7KdSsSntZ1)a14*Rs{p*sgf*X`J3=J^heIJO*cZWK$^54>wy zTDyS@TY}=i(L2Nr{DbM|kol0)N(ZI$65>;k3sWxD`&EJntGb=ikb6)an*C&4D1ONHT@88voEP;BLr*_e;3#2+$F! zp>RXdEKB}_@5ms9N#!_nNq0f7_~p3#SwWHExh_~68*^dqSG_sKvftF76~|b$edzsP zEoJv5fIL89Xdb1PXg{*2^0AuMap}F262H=Y#eLqkZZy7;jaM=R?E7(#Z{9Q6`cAqJ&k^U(^OsX0B1ys3wP#0ULLB zyN&x&JSU8reIIEGuLZsN4hL&JxON8SS6Yt1rNzCeV_)7Eoj~5SMs3Y3^6<`+RZOPD zQ?mj|kKA4SPvOjQbt%I#$9EM#vYfM{y1P;>%zO+Gf|iLpO^{-glHScq@;>OuNHG4P zNGzM2zY6g~uV^(+#eCh1J{nLtXsKxuGuLZ2FtLstc_u!vUx5YD;Rgo+(_FwZ+x=TE zhjJ3>%pa~5jB+CuP@O#iv?vqw1dXbj&I~VsoKLu^gIL`@# z_1fs$lb8e6hHBLEfDG}o7RoUM9;>}s(BFfA{O9wwBw?i8ZWQ_CjlnQ^90dP-Za#!! z^M#bQD-qVXWnv+4xm5p|39l)c3bYeVNYs?R)4z|CpZlk7Iy#CbKXv$_^RgL2B_-Ib zk(7vX@*()Zd55I#g(>$MpDT*z$DmZlKNAm^qUw&muIj@GuAZ1gM^`(`DOOY_9tnU< zWz($8lPogQW#}dnP`m_R+gO&XCT#P%Tar}Wj#LpZEBwjv8ShRYS*h#~_A5fe-}|D5 zj!L1&0vf|yn(QpK(KF)PjuFmlEY62@Pfeqw2Z{M!^oTbGA?{sE|OK1><-L>a8eiqRlq7T_I`Me=I;PphR?dqOS zxAjI_l)*`P^SdJ!c7q=0KewZKw~01a0oLN;qDR5P8s+Qu^X=KhXqcBvb3+E_44YMR zw9r!KKb%B4Ysj3HW`GKQDw<3(kS}?gPx36uydm?Oii-5(KnKd>dfq_Gg`Mo`O(#py z9lI}EqXaQLW~YC8L$#`X{usVMsq~q-UQ2>rpbNM<4NnpB_Ag$i54acHY-Vc-yKIq} zaj)A{L>JU{aA$~;0lhLLDKKB15x1gcTZf;S1f1r!>KjQh(@`S&`?F9~sFSlD?% zjmNNvFRC~itnaF}5$wY@^KEa}iR*JlQlN{!#vK`wP-n*F+^kOpzuLC^@Pk>OC`Hgh zoCT&9(U))pfII*B2y{_OdBF5uOvSSpE9b;oo-djW*>?UsA_YRv5zA6|Va;@5;6GC} zDGnsWgRx!GVS6z*8gKcG)-TxS6Y*xll}`v~+>ACs$<48%Pdc9RaMfcsQ+$}y{*X-k zG7XIxqCw$Q4E4+WT2*<+U?$D^VXlbNB1jnM>dkPjLkF`pyLF$Aw;f6{(Jx^bO_9q8 z7dPvk^}}n6)u&>!coI`UI-O!0kZ|iFw|zm|YKtSbw%_}yD@|0?#wGt%x?8Z(ze%6& zWPv_*EWVrQre$WO_cO5TKzy(zpxF*?E{Z{2ob56fr9r}t>i-w3hE>}DA5uT_1CkRr z?JnT1tYC2Xt@;1f6Ef_-(%)#SHfK@DIE6NT|9@DX%u9WyQ3LoC>%y~{lLHnc6CI986(yG<>-6aH&$wR;ZP?N9|-c^d(B zQF-cU^?$?*!&j1B5kvv=D8Fj^dNoM-SLzb?X?ABCi(JB`u+W9V z@eW*uw!KUr!p86{%vbSk%T8oNO&$q`xjsLb9UE9R*H)3wSO!$Jt2AhZn;}aN zJNBnm1&|tQ9>MPp;HJ(2GSZCKo?~U~YMC#J*D$0642!~`{VUXIx9Dh1H~pr*qx2=}jqu`XZ;)Btb(3qc#^AlHLL19&$y? z)3r@TAdnQ29bdiE2Y);LhNG#R`Iyl`!=y9k){3oEd=AN+qYo_=|6eA}0PxgbF9c!l za0)O3h<5-=BGpXe@tCwq)Nt|&-mN#ie{_Q9C&3^gMKe^0r#a?`_kuE1-DaKjoBfpR zdkDoQC~B+T(CjF2PJCQeH=kbum*q7Q-5zn?Nj^qBKTQ|_m$-KuUIkyrAM6qfJ&5cvy6q99K6&pocYV50UtX2b^Gd(fvAI8Is)@9tO}(PstGbYBzIYqbSE(S~dJ z&Ec(_Mk;pLfxkc_W%_bYy927%IgWRU~hX-w1!S1B4I1uOV9;Nz&)I&BbR!9~}V0c~snc zK)&gyX!7dXDdzB}F^0hzCxMr*1x$WFh~@T{u++&+5ti^+|JNrX_DNqB+(G7bgFX4= zIZFG?dNQ#b!Z?meDR^jQzCn2PK*~~G27d~8Yvq>l25_QZ#`5(g%ES(SG#cH{%aQPD zrNXYwdxq^FzP^q-+r$1R`2;M*JM0!2iqs-7C2WI+v}{V*hwA*c@P0IW$Hc2k1n-?7 z%UBXc$-x55x&%rXgcJs5^NZu=Ppn2Y3`;(kJ(hTcUYz{KRiaDynvc|A1vb_N2qtJ@ zAUL)qQiZ;5VrIz)R-?-iX)*WLK`j?06gOc0xNlF4Oy3_%2EOeNY2)@xUB{PStmX0v zw6=Whw=}{qbNQ|vf=>8JzJqT9)QY47NFpE5o)H`eZeeqD%tH?`AUHqHvy4LBZ%b3= zZuZCnXyE&nQ7_9S?7U1YJDH$&iRO|65!%XGo!H6n%0W6y`MJ4<*&rb|$=%&H`LSyR zf@t_NO7PFIJL`Gim z3a9F;%u?Y$XkZdh^AofUJ>F?g*){1c1gSu%yM0!0?L|vRa$S=?Wa?yvSgl zvB^aMN%LJ4y!gY7AijZJT48WMHa7O+lj=B2bSjXDt^jR1%L*xOtww42|@R=m@Jr9KBXsieFBOzH#iC&Vo}r&PZE^Do2S2nY;U;=PkX`VL?KPLPq+6vY74!w?K}VGh}e%=N<5 z36}LPPo!zP&hpM0doKH(aNV;DC~}W`S)Wink{nq#56a`Koe5d3NwgTU z^hLlYDBA;&LV`j?%*S;?;J~q5bI9NqXTEAH3bSyZHDdxL*>s*G5evz0SsRUlB$2rd ze~CT85_l3A6=ju9=C~3lWxcePty4a?NEimxy9OQ@7YZGte6%&sHEqA8aIH@3CNw4z zymR*8)10JU4zx_`2jrb8;kPDnFHs9hj5voyn!{RVw1@xbRIt7>m zeBY^BBuOa-S;)chXB?)8p`4_c?WFa08kZ|0PXhXI&l!%SA}0aS^8qn24;!RF9;?7% zkgT1&jHTx*QuO@nGHy z?(!Wb@sTkE5o5Z);ciVh*fklu!Db@wX%0WorW%%y1~LjnRH{RWJ*9x7mb_)?uZJf| zT;2pK1&0Vznf<-?k9V#s>=P|!c?8k_zxSfEVdj0hP#DnHTmoG$*M3MRM2qX9=^Q*y zMP+5GzmJ|As<0rZm)5w#$)_;=*biMIe)-z?i?9M}o|D7a3Klkl4Cpejo0KfZ)+dbY zUMWJFrq*)ux(5=~s6~LmRKVW|wgWC%0yRAAXOpd*j>%I~8&3uT?Y}(+ng&$ZcE$8ecwn@nJOFM-AS{>w6uV?17WX2R!Yw9B#ie~L|E#>HHzmdO9_QST_J z3%>yiBMN|grn6nXRj}f4GDhrNf|A0j% zV~TSQ@>*|7dl-`5B5QA?3uWZ~^*DOO?%Hnb&lOh^=TmGNN~+cOkBo+BLJg;+jYw}y zPXJ>n=e>te7F7}eU5ExA@-<3?be{5`z}3`sFb0Q)hR~QLf?Xw8nxpfEtI&BlV-o1g zCd`sT49dZDl8IX?y&x9~9qUjB^0V*T0%=mPmuG1;jIli!;xMDjhWX+dA<|_LakM$^(<%Kjtz&*{msem_r z3Bnqq#QHWL-K&}3HBzOJ)?KO=zIELq0wiE8uB3gjVf*_0w(+| z4`$M#r~1A}s(=UX!vW|o^$YhDgkxk~(nlF5`BZJEjup`Y=K;S4$#U+}w29s*ydg+e zf3%4d9q7wZ(n5mfAtri3InnUEHQb$?LcBAePk{+qv+;JsAudq2exlJb$)&jq9x~=J z&mIuPSTz(fS$J3+9#!{J*KNQ2g?9C1BE{Mq;tqE>e^GOZL}#l7h-EvwM7+MfNK^f} z%{ditXvqh&Ec{BP+VapO;KQ=01pZ$v-gVNMvwUB)LM?t_=~=7!44OTS_9^FYN<_C} zW9jR9(PW;epNKecUK(RBpt%%+=?Cz4xsu6iFl5%(U`+|;f~AOREt518fnncKLBsH3 zQN2e2V~10Rud{(;IZHEJc_9m}lB}g@y&B==5yB_~yQ5%v{_rR@I-vD)N*sJ_PHxtO zbStZ^4wLP?(B4o-I$uW1*~OCjlGHA~0SeBkd$Vu4zAqHL0aVCCFK!su^iUwK(y}k^9q~WI7)R^L z_{tOxNksV35v1O=YzT;m4!KqV`>f}g7^c223)65RR*9I0CF!rJh*dae_?XE#sN70e z`m37|QH799)k8Qhecpi{y%9>`3AujzN_*7hg2VO%BeaYjHMqd?kpzq>H(#8>)W8sV zq6fQs&xc>fQ(N?XvQh1dVDLSJ1MKb`-G6wlw_r4-2@$CXC7BuA2MLMw`^hq+9`pB7#pmk;uE{wii6>c#OW780E& zxZeijDnWHBW!?)%C_eB>LMoc|iktkfLagD=M*$=@nvq^B-OMQ@G3becyl{^p#2G`y;3n8G>(rHw2;ntg1zAq`?PaOqnD@)!WFF4`#yimUwLD zQVs~W717)}z~+^=zBGw)QZ2;DG4LxwQ`~kKAD5hO1W>0iGKj0_x&3d7pGK;a#O88N zDanZ&r0awO0X^?vXhA#6O+h}Z)|-JZN17{RLwdf94CJb_Lx$d13)cjyHcuD8F&SSC z?_t_aORyoi*Obq(5 z8Xl)gt!37WuK!yDRj$Fj-}(Hf^SWL7pMD(&GX=et`K$HpcA-n+9_2RRm}bG?#JQ`E za6=2n2;Jrv_GoM?VP%*b^~Vf!da@!&D+g~-GG%V3fZ%zIUl<}akkf}K1jBjd5lm`H z$lLrBzUF{N66+zd1zP;a!Lq36zGwQ^{fk~ELH>;Mcar``zr$R1l$H?oagDh^J1O-x z-U-f1B~P7UEz6S^UsaMuZ27nC1%>!M9=EP!&4a-gr}v;Lg_?6Wd#^?$ytTK(6ZXPk zF*qb&pri|gOxR}u5vnJxsjon4j0MrUDrESB(|)0a1)%kGS}ockeybOBsn`>^IDVmQNbHVQ0KsjT{Y#*s z?cw&0r?{TS{FpCg z<;yrE6+{7I2^=p3AHey4AZarN!d>TsdM{-KcdTr`{0Z^)l|g*f?8Q}Sc9XFoX3eB~ zigaH{lm?V6S(^3mg)naVr3kgZ3P56M_5ikvSk68mOgrjXo)EITQwJIaXi^P<>22S6ERZPKE?2_7|*vzPYjXcr6u^J+|A09EF2FFDpLBZGrlahhP`rUhN~P_tPB zLAGabiF?du_@y8g@ktqT)n)G0(Z?9diI>QxO-6BWV2P2@PaaUH{A0wUv}DkY1@|tT z>x#ykUx=RJZ<$3)wfG|OQ_0!f^zggBwGh_^^2g3zQEnRb%eXknU6(sFBLjKNFe#m- zg}vCVi`_%&YS^leL`UsUK^{sx;#^BJh=Ru5+CZqnB7~94Y_mFA=L6E1WuZ~NyZl)Y zwnQ5c&t$=grx_7vd=T*+?7EhuAl?r7!6fr<#nOM>b;F2LJcwpE+4=GYjxv} zZbq!^vbv7?+piRf&qeg9B36+}E5?csPwTWM1Df}Ja!+Q-Vi_d~#kJsks1_Yy0zrFu zKP9;(GR7Te%53D}af?AphO#&O@EM(cRtzCFudzXw+ z*VY2%#6%&RJ3V7TC6YOse(4+Yzrt@?I+4HW@0y2P%8YE@FU)-1$#IE(Rhy+}VOgAC zh&p^KqU6lCQ^r|mjTX^Z?-H+=a$x?L2z(=VI^qw3{aFqi_c+tQO9@r-vI{WvLxI5t z5nWE$KgagIZ4^6U!qthR7wL`|GhtA(H4Nb4Zh{orRYz!t+Hb~9VY*2|U7^8N+g{26 zK_8%E7(LRTq0ZEi<>BJv&K3%eo=@=r3$J4;lGy2T2Ye&OW`P4a>DjgRFWOtp#9c94 z_}f9a8lh!&H-Ns&R8J>+@dT002wIO?*&eps=ack+qI^V($lH~3jyA0i75d^jnD;&# z*=lY2YZ^`T(?mhpbFY3Gl)z_WyQ_h$8L+;d$W}I8=5iQ7vZR0yC*v)UM*L^D^h2nO zJFajOg9YjFV%w%6o^OxVgp~edOZM@Y(X**EL2j0;A)IpRm1K(@mUqY7q2tVMYXKRK zs9JBM+vbn`Ta#x;zlJ3?BEJS!#21d6C7%KN`|o|bZ$;`Y0nbX%b#a71zzxP@A+r(l znL}V?=k;wRORDHvF`2^?SGNv<7!4ck=ltO)(yD*u#R*ykF-rwv1?L&@Jado4L-|e9 z-HY;yfFwyBHYIsX?}f6$$Pgfkg;%goQG7!0*-$DQP2>`^d{YkQ@C9pLtXt@M=R_)~ zPcW^UY*5%yhBCcH5_mh)`!$Q4zTxcE)-=`^rF*EXEsqk(oEj8uZ_Akh^lSzFwY)vs zeT)rhOI`#r;+iY7y{8R1ch{D1f(DwSZ$eyP)9s>?FVr2|eIKIEb|r2;#X41W-U|sC zyK$V?IE3(0qhH!bh8z>SQZ)&`ks~_KxGZN&#Ba5#x|a?q>PWAI{;uh&z|H8b5Aw5$ zqj;7*Vj+8s2b=CEm|JpQ$TEM5No>5M>&IhxJl(0q$V)S?L&9|h*_b@8YwmMe5NFP&L6Jdf^ zehTqJYy}RZcC$6wocUk`DiK)vgeryH$s@ad>0lOy3?eb1@Yq==SOJxc>)SU>!MyGu zX|9?smjjU(D!03xIoXl+j4lXz2Xi=kVx|aW9>q$2iFUWCtskk7OSAfz`?E69OKT&j zFHibusN3$eb31-%Lksq?>|Bmp4R`^x$3@vK{s$5y$J%Imei@OlIA`cCe?2|SEMu)+ z>CeIhQNGAx)FI$I5gA*`@E*iMhLO$YVU4yr=R61)69m+-Wnnlmc4kc=1uNCJH#&aB zJsMBVW7jzi0Ma3R{p6VgZf>KA+pH4Mk3iNkDkjBfAMnBXwm8fP&ejzq>`18Szmw7e zjlmE820XY2$xN+0D``&IbaRF8Sv2&>Pmp@|nVv^%CpF_fc$D&hPQH~?!Hz)5G5x-91ffBSKwQ}2AE|v z(-t>~#tf3|bYQpqXkWBnxS@}zPW7XFl%ni9l#R;#X}CTlG^@|r{OL&8$8OoWcnvwM zJ{WRZOVYh{40@}RmwtoxYihMhT;0VfsEZDio8@3LZXCGsWW@9H71e#Dam zxaK*QBl^KzY~MM=7kUyUPF;X|O0Le<)sghjzfiz`TWROk096JiROhkCxoY<&yt7LX z#tVPLu?@Uw5PW@s1Ut&6f$KF)@tX2#+s$r6iv(E~EGaluJ-a%7}id zZA{hWEf>!L%MZ@Yq;w_hh4?lq;6?2X5SLiV0W|6-#LM>MtLO5A^uzzeMP9B)kTRO& zc39geP_UYLsGHmODj?j5durFM?7dosz=V0!M(=@s6Qg(;!Y6qyJ`eZ`C^51JV7Pgt ziKMPjulf5O|2Y#a*h2vCdcFnej9DpYIxXMonMR40)>7QeX@P_JqYyuQ1e$Uub3F_c z?HjlWwC{Bd@sN~=Sz*&BIZbT(3L&#WXcsuQ=Kk-?^xa2GdqwJGqoxa&zw(#pr7YB{ zZj#p9xBmC{HqxBqut7+QZMKal^S~fX|M)EC>d_t%*RWuq|5XPOzB4F_%wx9P@&+PN zcNIjfL9<&PrSTj~8Ei=P`~0-CoL~e>aN*ms&%d3I%!OU-nhP`X0vyL{BWm8Yp*3v# zg^>Im-->b_lQD)JwgjyVjERRHmH-)`+PXs^D&5s4!EkPPFRWjfDPK%rHn`&7Z6aG^ zHPJCaLsvSu=4y9Py|zLGQu+o9B>TKJ7}-%t1vGJum*cLPOql6e0!2oxbQs15f7i7LCFO(J&(66esBLAcxZQ=uqeVAtQZOzLy7q&3B)B z4UV5^o@}k7IBQ;ao;WJw-nPpi+o5Wd(MJ#;<&=2}TQeO%RUC{Rfdwq!21502KuGq3 z9dSN%^jDSi5x5^sJgvXJryz$Qer@`_+Sm5_JgJ!QsF%mouA zoHjB{wIV)(lThmlR&y8n7h)6Z@6-#J!+=$?O4w0x{|6*N2`00RiU!_L2X)h)M=J|5 z5)vW=6Kw~R?I`x@2M*N-MRZ;DaC!IC#yo3UhAIOcsXtCvXmjT61L~{7rJYaST4xAQ zr7IWTuvx8I2qOPzxuc;PCcWhu=xQu~bUVp1yD1=pgJK;}ouoLWYgXZ^t-~;&&aLGh zre4Y=ZawZqmBag#^c)f!1GbrIfdf5Vo>f3`o+;}Z*`W*}f`Jw(yIOrBmV__LU>M{} z8!HawZMHtz&-#OU0Y}mM>T`eAYhh2Imw}Wb+UuSl1h^eb9#)#DM+mR1dY#!XmD$R{ z6LbXmP{$1pGkle6{VaQAqq(0HnfbDpIU5O<(90}`D#^FxyKf~ez5YA%6oeQ{P&ccXtz|EMDP_=IEuwt$zMZr-9HRK3i zSwQZ_Crqh=;}WYOx(P78O>0-JjW)aWjlf+sJ~E}x%ucWfVGbmy@}c~-d-mk5&w$fF ziI>)gDlVnzPISx|PRzTZSb}t30~BCI+xF=}Cs-WrAoBDGgdG`z6E0hSSSyiuM?iKS z{mC?I+3T~x{WKgfR`lDnvu>&6zXi!DH~fISNhOAU>ucPr74IByv3>%jHRALm(`AvOEcGYR7}dolYNema zqpDMGREU7o*PNcU&+DYt)zktRd=3@}Pz`B=JO-Q5#9el3d&h&o8A>dHJ0d?69g5`y;bKu`JyyLkk81%CI^jY<%udl!(YNo!j*9 z@wODYoFCu`j-27Oex%sfckYSw!sEv&A!}7%2B&E7$kyEvZEgP z*Cb1GM|rqoRJ;wkLyb3qlc-09wzy<4Znoy2s1KsA1ejmNKu3F#9e$`;*!fo79rNU5 z*o3AvUW+8kKLzq$grBWfrFznr6$26(jfw9QX5>>8j)vYGe#!o0MJ$&f^@`tp(tGDVl#tgDjtG<(4BmC9kA!J2<4q073?{DtZ( z*QaUbzCuq*@QU~HPgHg8Bs8q<&cTcO&(lYeCN?`O`jK6yYlE0qqc%abx%N*La4Oq5 zWaZl#`t*c}r}p{vYAPj+RN&?Le>g9xl610QeLZSxl*$KQv{VQS0Yh9`x{F1vZr{)i z+yZdN1VOLy_nUPvH5K3meo2;7qeGl6QJ8%MnUI*MS?2*lbd34(Jlqe(F6v8s_s=%JLWeWQ~d1{V~UhW!0E4w z?^Ud?ay?N!t5G=iE-3!AiRWA3azTJm&Hby#&ala!7#wQZUVi^lCca!xPTuFJ#Gp_D zLG8RYJha2C65RxD@W?=uH$e1^W8OKyg8xHw!q`PWD}g^bdx9>I{aLg~CM*E`%I7=J zkjmj?y5lfG%YdGIug~3OfMvK#d^Zf^;EhmUdMl@cre^PS*mN^C`c3rW3LlMF%?l3y zX8L!4KSCCtQ4pF;&(H|-ZX@lws%pPexFX5#HEVeSeDaO?<<-~9HVW%NeDExyXrF;G z$BgFQd|iqy##)izddhc)?9~)pTzMOGDD(NtvM*RpwPde}CO=nD%QwgsA0S&V%6<1n zB5hj!5Ep!l#8yQvrd>py8MGxmW+m0bG@m}hzEw>@Sl=O?;wG;*nnEg#tdY5VWZ|3= z0YTUXc7J~9G1!hNKIpC<{U>JbgBMNVo3=&nG*uHjf#N3$!N<(&1A0)U%+)~f3ce@s zTf8Zv@dZN43gIx)vY|#zusjPT5UJ<;n5!iHIUKs+p%SKUtOYPZC(%?}=3|R(HDG9W zahyEYg8Jk7ts9B!U^h_5wZqPY`9G`_b4E1`bqw;#e)$QVXC=Kc7c4jW<_-t*HFC>@ zK4<7=Ee+LPLQ49Z9aqcw-Oc1jqqw#N@1j%dvd+E%QXd0T#Ub=p^ij=|G;M)hYs;v6 zJujA`F424!xeMdn_uxo4#P@){ES9%{Rf|eVnX|3Btf3;GBL8E2{05BZfG>uGs>3Sd zE6|+P!Pjt*49CU(jr1OY5c;inEEU7eV|%6%fj_Iw!<%+<-$i{MQ6_N!e3#lZ@-6<6~y(6PB0xnw^2*9iy> zFZ65ZJ_r?2_D;=$ZLpMS7oYU7Xw0E<(cx!My=_c@QAXSXA*EHw88M~;2Csayh0^1ZorzudS!`-Zpu0E(r-?VDTg?SXV-&jgCSf$5 zj*>kW0w}ixQwqtRpJim3U2fQ=cAll&Bd{nshm_*W1gPNc#o8;*QXJKJCfU< z)oWxDzl6rV=}=aJ>M#uM+DUHkY{YlMaxssXgCQrB>8*$tdu7hd8>mN3J?CX>VWYS* zBn5b+|8PvIW#Aeq^JT%SvEL)s8q^#Ju#(P)3!xA=SK2q&^<;WoTH1TD*?>$`d>DJt zc5+xLB@{^rAkgsku;fgcASn-MXiXN9QwViH>*q7BBxNN_piAp; zKRPg*;Y&{<>SL-c=;n0Ntwe7%Z5;j*2c_+NEmmC3T*2=SvFDMTCh04MA9Q%gJ?70J zqf~sW_cqaOfq-Mt`<1BHq-hcSR!XJMvCnqz3DCg=WRH^Dn<#;ARthAO zStF@Mq5D#;pR8`8=0K)TdGc11Ig1JoR&^NJP;p9%uQWPnr0X8x^%$(ancz@C%1~O> z3HIyEXvj^4+!y8#0zmA9ii9sp8ov=YA4bk;)wMPHwPQsi<5{j0-3N4^ykn5=x#cqt zzfpjF5-?TW^wZ7hSWX{|rj|EX%X z7eqic)41B{(rrgqXUf!4wgly+Dpo*t3BVwZh6{$Ie1f+9=WOg+rwsLrOA!rc=MH-}-{YaxFc>ir;;d^hb8F=P z*4wVd+`DmhHG7T%iWA|+q+mTXFXEgrdwO3XNQhP%Yk?u`4+ zS=9jlETIJTfmUsI!T=7xWUK*y>)fOd_+QknxbdhbRvZ-%bj@CdNLTy1oCu_D`=9rr zX&GURpRjBA{yzv=cTJ|lj9Ls-)IfF7y7ovbcLm7dsBU?%`|vV?Mz!X?0Y8&XPRulb ziZ(gKlw>fS^{pif^im!{w9VyXR%?bO2Wr>iU;&QqFEUcmUpBqF&OCH=jA)?eErX+d zw9*19fTZ@ZZ$%XaJ|E+l%xZMgL)6Q(16g|Jg)`xf_>=cm_VrZxi_E-)a4i}5b<;<~ zMX;XV%N%jNX;sA+jr_24c5;mTI=NO{3L1^dcp?xeunSSKb)woVz^M!~!D;G>8ZI|n z2ztY1eJHF*9a~%?TJNY?8T*DP^Djd2{0Ii3P!v1}Ln8j3FucgPpFO8EY0kMd?j?wQ zgfk(`in}~@;a^CU%e8YCf;TEwF_)XZYU<7VaTF%GVtMAQgZEkIzc9(uJWr@2a6sto~4$s6U=@)e=#i z1z$w>S9N>NyV7$^xg13hIKxk2*R;`sz{)T@FE^fa>h@Yl)7Yt27P70Q$c?{Z zgvHHh*#hI0ihGqQ^qn{f8>}dYG$en{h;2!{;0n2m8HnCqRo* z>t$cw0$LK9IPUAIHf4WuUk=7-I18QC37mbixKYE(ze+_U@a2*;Fh+%XXZ zFVFw2!KrgJ4c3MbV;|k7ttAwUEelAkqE2fqLh5x8nH&UFx*LBvJfZqn0r7(Pkr#+m zRonQFW6leAW}B&Hw>mUUJWP0gJ4&xu#c#4$nP2U+b_P>t zli1TgehOKKX^1;Pd^TdXCU611eF+p+J0t=WlULEkMu6IYvmytkb`kCH=-H=d;=U@o zA(d~(WFQGeq$$(fnb;ffv~EJ9I*+t|=+g;r4r%OSGh_ zmH-vWA!_=BN+d9q@n^9Va1XH(73)+rd&?b1lAyMB#|Y;TAsjmQJz=;nO$59^$e7Lm zqSH)w_2MnJA4bVJpzNGC(PVxjp!7__J#h*hvJN=V3C36fk||t3w0Njm2{0HP31Y*s zi)yTYTj`but-zhqiVs!C#aOQvovMT#GK#(u+;LX$bd_8`<(_1y-p zRU2u#-2vtc8T9U%rpZ3sd-u&&iHz(@wB|ENozas^KC5V89yMSIEV;49OOVO?w)QLL z3l1V5A8s93L`!oUFslT_35W?ly*X}Wx^O>Itl()-HST!lq?VmNwS!Dp?_mDn-VY7~ z?9J=dVlOhMUc1TuATQ-?m2+0q3jXAA zj8fANzi2$+a8~AW`3VsW2z@pj8E@k}ZGhZqC3c@`lifkJyI<;nZ#(sDP}ZA8qj9WV z&s_6Xyj3m?_YwJfCG_X0=@B#P)?LEYN-T~FMl+|U~PjI?(hk`A> zjSfU)T9HpB(a~Qx>rPyoPe{fTZNC4FHo<;gSEKNLRvPn=?fOnE{>mA0Dm(7#BX}&= zuZm%IdjSuLrwA?t=m+)A#GCc3aoaup#b#X5`dgl`!^bo{XGbvXWeO9zj0SJKLs)ceI5nor;qfCYu|VmZ?t0NYcN!Hr;iDj zhNgKvFT?crO{>$ROTy&>XYgTHNlTe#;lCe;2+Ox{SPZ))XZ#yAl{8vOrP%CJk3K6u zk+5zCllXtyJ7~|D-&{w#7`JEp=T5-3WULPy##t``rDd9bJ3^DcxKtksojq<3hYMtz<@aK(QYFUo+0l?l4&B!GDaP zNQoFwZ{qq8xhtQjeb+EkV$w}a6Znv>0VL1K;Zmyk?#GtEv#U_8TYC*Sg z>jBkA0sBK&1cDWN;S6u7ay)iCg}5 ztMr7hJD+@^0|>^>F&TWJTN*ab+&6T#x!uepG3PSdHdB8ePe_C49(z1(Hj7TZ&NRkX zaUCqXL0Hup;3vhjwncTX&4{pUMWng6o~x!r;XI5WVgM`@N%y?p`1 z?C1sIA~s7aNLy{Jca!n%e;l%<3g%W^(hx9$VDDtvvi^g3QEJeWmJM8}&#CxjyaeGDn0$j=Cch6lNG)bO2Sc=zI6}zV*(IDBULyou*B1|17ZAI&)1$+*Zv4 zzLXT(R*vE}Zy{#=Z9}h~?#mOzrPHYAb-v}4A(R6;y6UcPR}a1R3edJgSG%`b;? z%--a>ONc$Hv|?nXX{xT5pyW25zz; zHGBOr|IWdT^G@U}J2zZ{d_sh?AI(E_&*;L(rnypB9GEv)e6eBf$|G`+ujmP02AY{s zP5S&V*w4o_w60`;eLBh}fvw>B0gD&XrXMiyFnZ{1XVjrhoZ=MELG8B!b6=U&i`veA zD971aoUV%pmk7qk=Zeg$XZCtok9>yyi;A{Wn=ZRIYibu1N;=xszFlE`FkpJL*-R0q z!G(?)wa2k9o8+t{TAq=jF6BoWrG+@Jvr`%MJ#E&T!mdctwn^Xi=N;-hd3*;N3^ZS6 z-vu;vqyRDVBan=7p_s?}EmSI~-IucQ&H>RLf5cc(jN!{g8@aL7buiIh$y=v8)uV=# zfB4Y#WmK9GxQAKRtD~qnXTOz0=0KxAZ=IG^rAK&MLa`DS>>SPpb};Cd2+E0PGZLM( zF(GLHJCCfm-anbqKicFuGbJ~Lr(}x;v<~ZG>$BD44C*MhNe4?S> zMwX3M177eeaV-)CesZzqVG<9){p9{@5xY$opD7V7yVl(eo=$jB9FAV@%riS6jeCYt zEMeYG(9}gu8OmY;b|*AXMO+2+Df$=WrtrG_)U|cXqjg&ZBZ8D6khbdgV&8WZd47>? zSm)gh;?Kk#j&4B><|FD{RC6@bq7;bDEoJ8U;PE3CZ`d$H3D6b`T3}Nb;1VMU`Tqu5 z=IufxH_2k5HZH;PfJ-M%JFXFelK+zn)fw;8sXjpYNvp;Vj**bsub;>XnnW=eVX!az zPnrtqftitT?OV}Ha(hDSM6k74gYm2{E2sxFV-0I{0M=fsLiTqa>S%IjekCoW#}~Sw zcVNH8{t48BT4f*#fWmc}M{1J`f3&AKBpg0-smEPfe+mobAvoQlfhzC1kJpV@K<4Tl z6~%t0YFV?Wf~frj2|8F6r7}zBTu+0~7Pp1c)4eueDgY*_iCnWoXpZVY&9sB<&4+l4 zW{PRhymhdBjDkn0cn(Y+!$QFsf|b^p@PeK}r;iVrc->OgNf?;%@LQLjSbuRH_HQ`C zJS+d4X$We$aKvaaTRUtv)rxxQ$4UAILY`-Vu6;?fvuFf{L8d*qUgDFXl|li^*DjK% zUNpz2OE1y9rmA5>TJqd7!J_q9_C9fHY?knL34Uxv^fxNzf{vc5QJ!!zy9J3&AqyoLHl&aR1%7xCVGF z(-K0n!_SxyzUp7Kp|ViwVl!k`=V?n!f|Urz+x`g(_NY+zodnXxm}7Vr0e^~;4jUTY zBW@ylG=Pbl%ej&E#==0m)DcRrn01p?SUE~aW>T<}FEk0ZZ?B7s_YusDG|Z$Mjuyhr z@D>Y_qcXwpOU6ZlL~EF@^FfJcTY3=x#_>BpbY)K0z*!AS_w?6Czlpmlk6euA5YJDf zt8q$%UKM1UQ{_sPAw61ikXb?5MtckG+AHkA!WrSpwwYxug}BXr4AC6ru*%18p7YmB z*eQp2nCCSN%5o48cByc_#&v8z(W>(~Z*qe_jZSfD>~E8CizX)!u-Y#_*2~)9$iq9f^{f2>+Y6|6bXs%UrkXoQg}<-i7c%ReF&CctI rW7ctzb^L)ZxOHj!6Vsn^4ZU^e_U;LL3(U-SgEsv}lkc+I`aFVA_E_+O literal 0 HcmV?d00001 diff --git a/jh/tests/data/LongMsgKAT_512.blb b/jh/tests/data/LongMsgKAT_512.blb new file mode 100644 index 0000000000000000000000000000000000000000..d9b0f9f8f438af6e3f5aed5d6662bd53208cc089 GIT binary patch literal 152101 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 EjB`{9MF0Q* literal 0 HcmV?d00001 diff --git a/jh/tests/data/ShortMsgKAT_224.blb b/jh/tests/data/ShortMsgKAT_224.blb new file mode 100644 index 0000000000000000000000000000000000000000..2eb8250d71120fb57db07cdeef8b7e6ebf6e1c2c GIT binary patch literal 40513 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 Zi9c9)Oo*f;J=eKS>8Wm^N)Bq{Uj;{kl{NqX literal 0 HcmV?d00001 diff --git a/jh/tests/data/ShortMsgKAT_256.blb b/jh/tests/data/ShortMsgKAT_256.blb new file mode 100644 index 0000000000000000000000000000000000000000..f58e731c7b2790c27369a46df1042ccb91a4d190 GIT binary patch literal 41537 zcmV(zK<2*y06<3OMj642u&F9uhZtH%?)W^XN4WgR;Xx@OHGVQ}^fUs@Kzk99@j51F zg8@QR8~j-qR6Qy~Om>pz3_f0)z1_Fq(C!@CgCy%Y93JV9lNKog1O7?%BKW~~Up?EU;e zjeeIbrtZp{3Aicb)+fg$a<;ftTza5^=3!^)#7UA)RMtW5fgQ=b@!j2E)~6^pB;^1MiI=HP5>sW5K2!V zB!p2VCO|CmRM&Ie7`iU~JL1cnkBF-=KeC0|5#x-CW`I&1yGRlrW~)Jk?VDqDKtw$T zT1WGgqQ0eHAQ&_=f)$)|OrW~j*S}N%r}xSg92D-?LLw(&J8x6TKvH4XDtmIf;VX?Z zg)t?Z6F2v9KkG>7?PX}t0CwG@yB6y1)y@Cdo$TaQ@jyW_BS-xqg5Fi;2t^;wp@5D( zJJyxz$63as+^3g6itQL%JAhqS{6I*^Wh}5kx+XM=g=Kq8<@}uP^p~8u-x5AX26X zt0BzYibPkXe%^Q?c0lzS=}Ue^@NzyxMH2X-D;EytFz}3makTQq2!j1bQ&r+714}gB{K!|2=a6u3YoBH&A>|B4nqgM5HhbJTgS1@_wKpLttJNK@8nQ5 z<{zr`D0@wf9}>!!n_6-@F9UNZV8brmHEk-xmeIWLw?8Q2VUw7h z23C*ei04&6uApZ}+4xaFM%6oH=itW0vzXrFFLyP2LacF6P#o&@BXd-YCP~*KD%jkQ z-uv9?)J{yg{&+-tt~*pV5Gp_`>#~PI4j26?ENDh^a}xyG6`W`9GOHDc<_Xt2JQO5^tbDQIx#?YS|w}i;h3Ugo7+(SA>uvV;`qV zZSi6%&Ep?SFs{q6Ct3GHJ#WhfmOOL@9N0TsKl*PI#z5b~+b|Hf@6_1*Z};hZvGixA zfS8yQ|It=3U>@z^v^g@W{mCRfJxU2>SfgOfC&<`h@V;}~UWlqyKv3^fJzk5mP-yVo z!GfozL14jZZnnJmZ!LvlMbjN~3^aSlNN4u>>HWju1Z=K4QpbMOg@z8|VB-rFKxQgy zK=RCangKDbY_j_&B?w?-E9Q5kX(EJ|18~ZNH#YjkBUf6P>_{h?dPSa?|Bx9Nq;&&B zC-1dbLqMte{GrtHp#m{GBW*!05G4y~O1oF?01$}k?n>~igg!VAi!G1O+18Bz!F
      ;JI;msB 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 J6IMoeIdmL6gfjpD literal 0 HcmV?d00001 diff --git a/jh/tests/data/ShortMsgKAT_384.blb b/jh/tests/data/ShortMsgKAT_384.blb new file mode 100644 index 0000000000000000000000000000000000000000..ced802851d5c298589523d9a4151214ebe897b91 GIT binary patch literal 45633 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 literal 0 HcmV?d00001 diff --git a/jh/tests/data/ShortMsgKAT_512.blb b/jh/tests/data/ShortMsgKAT_512.blb new file mode 100644 index 0000000000000000000000000000000000000000..1b600a9450bb3cb29e9c5ccd5a09a3b9f8e3ebe7 GIT binary patch literal 49985 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 literal 0 HcmV?d00001 diff --git a/jh/tests/lib.rs b/jh/tests/lib.rs new file mode 100644 index 000000000..9e80a807b --- /dev/null +++ b/jh/tests/lib.rs @@ -0,0 +1,11 @@ +use digest::{dev::fixed_test, new_test}; + +new_test!(long_224, "LongMsgKAT_224", jh::Jh224, fixed_test); +new_test!(long_256, "LongMsgKAT_256", jh::Jh256, fixed_test); +new_test!(long_384, "LongMsgKAT_384", jh::Jh384, fixed_test); +new_test!(long_512, "LongMsgKAT_512", jh::Jh512, fixed_test); + +new_test!(short_224, "ShortMsgKAT_224", jh::Jh224, fixed_test); +new_test!(short_256, "ShortMsgKAT_256", jh::Jh256, fixed_test); +new_test!(short_384, "ShortMsgKAT_384", jh::Jh384, fixed_test); +new_test!(short_512, "ShortMsgKAT_512", jh::Jh512, fixed_test); From a16cb4c753489448f677fb2a811d0016059cc20d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Sun, 11 Jun 2023 08:43:27 +0300 Subject: [PATCH 281/373] jh: fix license --- jh/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jh/Cargo.toml b/jh/Cargo.toml index cd2c77a92..28e8f539d 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -3,7 +3,7 @@ name = "jh" version = "0.1.0" description = "Pure Rust implementation of the JH cryptographic hash function" authors = ["RustCrypto Developers"] -license = "MIT or Apache-2.0" +license = "MIT OR Apache-2.0" edition = "2021" rust-version = "1.57" readme = "README.md" From 3fa561ed2eb584c215cb4793b5c708b5ed238216 Mon Sep 17 00:00:00 2001 From: Coda Hale Date: Thu, 15 Jun 2023 10:13:13 -0600 Subject: [PATCH 282/373] sha2: Add aarch64 backends (#490) --- .github/workflows/sha2.yml | 4 +- sha2/src/sha256/aarch64.rs | 146 ++++++++++++++++++++++- sha2/src/sha512.rs | 4 + sha2/src/sha512/aarch64.rs | 235 +++++++++++++++++++++++++++++++++++++ 4 files changed, 386 insertions(+), 3 deletions(-) create mode 100644 sha2/src/sha512/aarch64.rs diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 660d4eb79..93c3069d7 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -23,7 +23,7 @@ jobs: with: # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV # in the `test-msrv` job. - msrv: 1.57.0 + msrv: 1.59.0 # Builds for no_std platforms build: @@ -32,7 +32,7 @@ jobs: strategy: matrix: rust: - - 1.57 + - 1.59 - stable target: - thumbv7em-none-eabi diff --git a/sha2/src/sha256/aarch64.rs b/sha2/src/sha256/aarch64.rs index 7eaa2de73..9d220a311 100644 --- a/sha2/src/sha256/aarch64.rs +++ b/sha2/src/sha256/aarch64.rs @@ -1,15 +1,159 @@ //! SHA-256 `aarch64` backend. +// Implementation adapted from mbedtls. + // TODO: stdarch intrinsics: RustCrypto/hashes#257 +use core::arch::{aarch64::*, asm}; + +use crate::consts::K32; + cpufeatures::new!(sha2_hwcap, "sha2"); pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 // after stabilization if sha2_hwcap::get() { - sha2_asm::compress256(state, blocks); + unsafe { sha256_compress(state, blocks) } } else { super::soft::compress(state, blocks); } } + +#[target_feature(enable = "sha2")] +unsafe fn sha256_compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + // SAFETY: Requires the sha2 feature. + + // Load state into vectors. + let mut abcd = vld1q_u32(state[0..4].as_ptr()); + let mut efgh = vld1q_u32(state[4..8].as_ptr()); + + // Iterate through the message blocks. + for block in blocks { + // Keep original state values. + let abcd_orig = abcd; + let efgh_orig = efgh; + + // Load the message block into vectors, assuming little endianness. + let mut s0 = vreinterpretq_u32_u8(vrev32q_u8(vld1q_u8(block[0..16].as_ptr()))); + let mut s1 = vreinterpretq_u32_u8(vrev32q_u8(vld1q_u8(block[16..32].as_ptr()))); + let mut s2 = vreinterpretq_u32_u8(vrev32q_u8(vld1q_u8(block[32..48].as_ptr()))); + let mut s3 = vreinterpretq_u32_u8(vrev32q_u8(vld1q_u8(block[48..64].as_ptr()))); + + // Rounds 0 to 3 + let mut tmp = vaddq_u32(s0, vld1q_u32(&K32[0])); + let mut abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds 4 to 7 + tmp = vaddq_u32(s1, vld1q_u32(&K32[4])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds 8 to 11 + tmp = vaddq_u32(s2, vld1q_u32(&K32[8])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds 12 to 15 + tmp = vaddq_u32(s3, vld1q_u32(&K32[12])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + for t in (16..64).step_by(16) { + // Rounds t to t + 3 + s0 = vsha256su1q_u32(vsha256su0q_u32(s0, s1), s2, s3); + tmp = vaddq_u32(s0, vld1q_u32(&K32[t])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds t + 4 to t + 7 + s1 = vsha256su1q_u32(vsha256su0q_u32(s1, s2), s3, s0); + tmp = vaddq_u32(s1, vld1q_u32(&K32[t + 4])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds t + 8 to t + 11 + s2 = vsha256su1q_u32(vsha256su0q_u32(s2, s3), s0, s1); + tmp = vaddq_u32(s2, vld1q_u32(&K32[t + 8])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + + // Rounds t + 12 to t + 15 + s3 = vsha256su1q_u32(vsha256su0q_u32(s3, s0), s1, s2); + tmp = vaddq_u32(s3, vld1q_u32(&K32[t + 12])); + abcd_prev = abcd; + abcd = vsha256hq_u32(abcd_prev, efgh, tmp); + efgh = vsha256h2q_u32(efgh, abcd_prev, tmp); + } + + // Add the block-specific state to the original state. + abcd = vaddq_u32(abcd, abcd_orig); + efgh = vaddq_u32(efgh, efgh_orig); + } + + // Store vectors into state. + vst1q_u32(state[0..4].as_mut_ptr(), abcd); + vst1q_u32(state[4..8].as_mut_ptr(), efgh); +} + +// TODO remove these polyfills once SHA2 intrinsics land + +#[inline(always)] +unsafe fn vsha256hq_u32( + mut hash_efgh: uint32x4_t, + hash_abcd: uint32x4_t, + wk: uint32x4_t, +) -> uint32x4_t { + asm!( + "SHA256H {:q}, {:q}, {:v}.4S", + inout(vreg) hash_efgh, in(vreg) hash_abcd, in(vreg) wk, + options(pure, nomem, nostack, preserves_flags) + ); + hash_efgh +} + +#[inline(always)] +unsafe fn vsha256h2q_u32( + mut hash_efgh: uint32x4_t, + hash_abcd: uint32x4_t, + wk: uint32x4_t, +) -> uint32x4_t { + asm!( + "SHA256H2 {:q}, {:q}, {:v}.4S", + inout(vreg) hash_efgh, in(vreg) hash_abcd, in(vreg) wk, + options(pure, nomem, nostack, preserves_flags) + ); + hash_efgh +} + +#[inline(always)] +unsafe fn vsha256su0q_u32(mut w0_3: uint32x4_t, w4_7: uint32x4_t) -> uint32x4_t { + asm!( + "SHA256SU0 {:v}.4S, {:v}.4S", + inout(vreg) w0_3, in(vreg) w4_7, + options(pure, nomem, nostack, preserves_flags) + ); + w0_3 +} + +#[inline(always)] +unsafe fn vsha256su1q_u32( + mut tw0_3: uint32x4_t, + w8_11: uint32x4_t, + w12_15: uint32x4_t, +) -> uint32x4_t { + asm!( + "SHA256SU1 {:v}.4S, {:v}.4S, {:v}.4S", + inout(vreg) tw0_3, in(vreg) w8_11, in(vreg) w12_15, + options(pure, nomem, nostack, preserves_flags) + ); + tw0_3 +} diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index e71fdfa43..af4178c0b 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -15,6 +15,10 @@ cfg_if::cfg_if! { } mod x86; use x86::compress; + } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { + mod soft; + mod aarch64; + use aarch64::compress; } else { mod soft; use soft::compress; diff --git a/sha2/src/sha512/aarch64.rs b/sha2/src/sha512/aarch64.rs new file mode 100644 index 000000000..fbf441c21 --- /dev/null +++ b/sha2/src/sha512/aarch64.rs @@ -0,0 +1,235 @@ +// Implementation adapted from mbedtls. + +use core::arch::{aarch64::*, asm}; + +use crate::consts::K64; + +cpufeatures::new!(sha3_hwcap, "sha3"); + +pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + // TODO: Replace with https://github.com/rust-lang/rfcs/pull/2725 + // after stabilization + if sha3_hwcap::get() { + unsafe { sha512_compress(state, blocks) } + } else { + super::soft::compress(state, blocks); + } +} + +#[target_feature(enable = "sha3")] +unsafe fn sha512_compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + // SAFETY: Requires the sha3 feature. + + // Load state into vectors. + let mut ab = vld1q_u64(state[0..2].as_ptr()); + let mut cd = vld1q_u64(state[2..4].as_ptr()); + let mut ef = vld1q_u64(state[4..6].as_ptr()); + let mut gh = vld1q_u64(state[6..8].as_ptr()); + + // Iterate through the message blocks. + for block in blocks { + // Keep original state values. + let ab_orig = ab; + let cd_orig = cd; + let ef_orig = ef; + let gh_orig = gh; + + // Load the message block into vectors, assuming little endianness. + let mut s0 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[0..16].as_ptr()))); + let mut s1 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[16..32].as_ptr()))); + let mut s2 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[32..48].as_ptr()))); + let mut s3 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[48..64].as_ptr()))); + let mut s4 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[64..80].as_ptr()))); + let mut s5 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[80..96].as_ptr()))); + let mut s6 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[96..112].as_ptr()))); + let mut s7 = vreinterpretq_u64_u8(vrev64q_u8(vld1q_u8(block[112..128].as_ptr()))); + + // Rounds 0 and 1 + let mut initial_sum = vaddq_u64(s0, vld1q_u64(&K64[0])); + let mut sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), gh); + let mut intermed = vsha512hq_u64(sum, vextq_u64(ef, gh, 1), vextq_u64(cd, ef, 1)); + gh = vsha512h2q_u64(intermed, cd, ab); + cd = vaddq_u64(cd, intermed); + + // Rounds 2 and 3 + initial_sum = vaddq_u64(s1, vld1q_u64(&K64[2])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ef); + intermed = vsha512hq_u64(sum, vextq_u64(cd, ef, 1), vextq_u64(ab, cd, 1)); + ef = vsha512h2q_u64(intermed, ab, gh); + ab = vaddq_u64(ab, intermed); + + // Rounds 4 and 5 + initial_sum = vaddq_u64(s2, vld1q_u64(&K64[4])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), cd); + intermed = vsha512hq_u64(sum, vextq_u64(ab, cd, 1), vextq_u64(gh, ab, 1)); + cd = vsha512h2q_u64(intermed, gh, ef); + gh = vaddq_u64(gh, intermed); + + // Rounds 6 and 7 + initial_sum = vaddq_u64(s3, vld1q_u64(&K64[6])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ab); + intermed = vsha512hq_u64(sum, vextq_u64(gh, ab, 1), vextq_u64(ef, gh, 1)); + ab = vsha512h2q_u64(intermed, ef, cd); + ef = vaddq_u64(ef, intermed); + + // Rounds 8 and 9 + initial_sum = vaddq_u64(s4, vld1q_u64(&K64[8])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), gh); + intermed = vsha512hq_u64(sum, vextq_u64(ef, gh, 1), vextq_u64(cd, ef, 1)); + gh = vsha512h2q_u64(intermed, cd, ab); + cd = vaddq_u64(cd, intermed); + + // Rounds 10 and 11 + initial_sum = vaddq_u64(s5, vld1q_u64(&K64[10])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ef); + intermed = vsha512hq_u64(sum, vextq_u64(cd, ef, 1), vextq_u64(ab, cd, 1)); + ef = vsha512h2q_u64(intermed, ab, gh); + ab = vaddq_u64(ab, intermed); + + // Rounds 12 and 13 + initial_sum = vaddq_u64(s6, vld1q_u64(&K64[12])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), cd); + intermed = vsha512hq_u64(sum, vextq_u64(ab, cd, 1), vextq_u64(gh, ab, 1)); + cd = vsha512h2q_u64(intermed, gh, ef); + gh = vaddq_u64(gh, intermed); + + // Rounds 14 and 15 + initial_sum = vaddq_u64(s7, vld1q_u64(&K64[14])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ab); + intermed = vsha512hq_u64(sum, vextq_u64(gh, ab, 1), vextq_u64(ef, gh, 1)); + ab = vsha512h2q_u64(intermed, ef, cd); + ef = vaddq_u64(ef, intermed); + + for t in (16..80).step_by(16) { + // Rounds t and t + 1 + s0 = vsha512su1q_u64(vsha512su0q_u64(s0, s1), s7, vextq_u64(s4, s5, 1)); + initial_sum = vaddq_u64(s0, vld1q_u64(&K64[t])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), gh); + intermed = vsha512hq_u64(sum, vextq_u64(ef, gh, 1), vextq_u64(cd, ef, 1)); + gh = vsha512h2q_u64(intermed, cd, ab); + cd = vaddq_u64(cd, intermed); + + // Rounds t + 2 and t + 3 + s1 = vsha512su1q_u64(vsha512su0q_u64(s1, s2), s0, vextq_u64(s5, s6, 1)); + initial_sum = vaddq_u64(s1, vld1q_u64(&K64[t + 2])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ef); + intermed = vsha512hq_u64(sum, vextq_u64(cd, ef, 1), vextq_u64(ab, cd, 1)); + ef = vsha512h2q_u64(intermed, ab, gh); + ab = vaddq_u64(ab, intermed); + + // Rounds t + 4 and t + 5 + s2 = vsha512su1q_u64(vsha512su0q_u64(s2, s3), s1, vextq_u64(s6, s7, 1)); + initial_sum = vaddq_u64(s2, vld1q_u64(&K64[t + 4])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), cd); + intermed = vsha512hq_u64(sum, vextq_u64(ab, cd, 1), vextq_u64(gh, ab, 1)); + cd = vsha512h2q_u64(intermed, gh, ef); + gh = vaddq_u64(gh, intermed); + + // Rounds t + 6 and t + 7 + s3 = vsha512su1q_u64(vsha512su0q_u64(s3, s4), s2, vextq_u64(s7, s0, 1)); + initial_sum = vaddq_u64(s3, vld1q_u64(&K64[t + 6])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ab); + intermed = vsha512hq_u64(sum, vextq_u64(gh, ab, 1), vextq_u64(ef, gh, 1)); + ab = vsha512h2q_u64(intermed, ef, cd); + ef = vaddq_u64(ef, intermed); + + // Rounds t + 8 and t + 9 + s4 = vsha512su1q_u64(vsha512su0q_u64(s4, s5), s3, vextq_u64(s0, s1, 1)); + initial_sum = vaddq_u64(s4, vld1q_u64(&K64[t + 8])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), gh); + intermed = vsha512hq_u64(sum, vextq_u64(ef, gh, 1), vextq_u64(cd, ef, 1)); + gh = vsha512h2q_u64(intermed, cd, ab); + cd = vaddq_u64(cd, intermed); + + // Rounds t + 10 and t + 11 + s5 = vsha512su1q_u64(vsha512su0q_u64(s5, s6), s4, vextq_u64(s1, s2, 1)); + initial_sum = vaddq_u64(s5, vld1q_u64(&K64[t + 10])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ef); + intermed = vsha512hq_u64(sum, vextq_u64(cd, ef, 1), vextq_u64(ab, cd, 1)); + ef = vsha512h2q_u64(intermed, ab, gh); + ab = vaddq_u64(ab, intermed); + + // Rounds t + 12 and t + 13 + s6 = vsha512su1q_u64(vsha512su0q_u64(s6, s7), s5, vextq_u64(s2, s3, 1)); + initial_sum = vaddq_u64(s6, vld1q_u64(&K64[t + 12])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), cd); + intermed = vsha512hq_u64(sum, vextq_u64(ab, cd, 1), vextq_u64(gh, ab, 1)); + cd = vsha512h2q_u64(intermed, gh, ef); + gh = vaddq_u64(gh, intermed); + + // Rounds t + 14 and t + 15 + s7 = vsha512su1q_u64(vsha512su0q_u64(s7, s0), s6, vextq_u64(s3, s4, 1)); + initial_sum = vaddq_u64(s7, vld1q_u64(&K64[t + 14])); + sum = vaddq_u64(vextq_u64(initial_sum, initial_sum, 1), ab); + intermed = vsha512hq_u64(sum, vextq_u64(gh, ab, 1), vextq_u64(ef, gh, 1)); + ab = vsha512h2q_u64(intermed, ef, cd); + ef = vaddq_u64(ef, intermed); + } + + // Add the block-specific state to the original state. + ab = vaddq_u64(ab, ab_orig); + cd = vaddq_u64(cd, cd_orig); + ef = vaddq_u64(ef, ef_orig); + gh = vaddq_u64(gh, gh_orig); + } + + // Store vectors into state. + vst1q_u64(state[0..2].as_mut_ptr(), ab); + vst1q_u64(state[2..4].as_mut_ptr(), cd); + vst1q_u64(state[4..6].as_mut_ptr(), ef); + vst1q_u64(state[6..8].as_mut_ptr(), gh); +} + +// TODO remove these polyfills once SHA3 intrinsics land + +#[inline(always)] +unsafe fn vsha512hq_u64( + mut hash_ed: uint64x2_t, + hash_gf: uint64x2_t, + kwh_kwh2: uint64x2_t, +) -> uint64x2_t { + asm!( + "SHA512H {:q}, {:q}, {:v}.2D", + inout(vreg) hash_ed, in(vreg) hash_gf, in(vreg) kwh_kwh2, + options(pure, nomem, nostack, preserves_flags) + ); + hash_ed +} + +#[inline(always)] +unsafe fn vsha512h2q_u64( + mut sum_ab: uint64x2_t, + hash_c_: uint64x2_t, + hash_ab: uint64x2_t, +) -> uint64x2_t { + asm!( + "SHA512H2 {:q}, {:q}, {:v}.2D", + inout(vreg) sum_ab, in(vreg) hash_c_, in(vreg) hash_ab, + options(pure, nomem, nostack, preserves_flags) + ); + sum_ab +} + +#[inline(always)] +unsafe fn vsha512su0q_u64(mut w0_1: uint64x2_t, w2_: uint64x2_t) -> uint64x2_t { + asm!( + "SHA512SU0 {:v}.2D, {:v}.2D", + inout(vreg) w0_1, in(vreg) w2_, + options(pure, nomem, nostack, preserves_flags) + ); + w0_1 +} + +#[inline(always)] +unsafe fn vsha512su1q_u64( + mut s01_s02: uint64x2_t, + w14_15: uint64x2_t, + w9_10: uint64x2_t, +) -> uint64x2_t { + asm!( + "SHA512SU1 {:v}.2D, {:v}.2D, {:v}.2D", + inout(vreg) s01_s02, in(vreg) w14_15, in(vreg) w9_10, + options(pure, nomem, nostack, preserves_flags) + ); + s01_s02 +} From d8b088aece5659cecdce397ce48d6129b6c4c440 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 15 Jun 2023 20:50:04 +0300 Subject: [PATCH 283/373] Release sha2 v0.10.7 (#491) --- Cargo.lock | 10 +++++----- sha2/CHANGELOG.md | 6 ++++++ sha2/Cargo.toml | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 124ba657e..38aca5d9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.144" +version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" [[package]] name = "md-5" @@ -214,7 +214,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" dependencies = [ "cfg-if", "cpufeatures", @@ -268,9 +268,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "tiger" diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 127804644..a552266e5 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.7 (2023-06-15) +### Added +- AArch64 Neon-based backend ([#490]) + +[#490]: https://github.com/RustCrypto/hashes/pull/490 + ## 0.10.6 (2022-09-16) ### Added - Feature-gated OID support ([#405]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index a1b69c5ab..c25251db8 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.6" +version = "0.10.7" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From 7287da13a948b6c1f73183bed72b6734c51e795d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 16 Jun 2023 16:25:10 +0300 Subject: [PATCH 284/373] Update Cargo.lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 38aca5d9a..78a17c4c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" dependencies = [ "libc", ] From 7cda5226b05000b85ca4daa7846c28476079520c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Wed, 5 Jul 2023 14:07:23 +0300 Subject: [PATCH 285/373] Update Cargo.lock --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 78a17c4c4..86aa2eb1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,15 +39,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "6340df57935414636969091153f35f68d9f00bbc8fb4a9c6054706c213e6c6bc" [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "md-5" From 59176e068a1b79058bfaa6d24a90d2f518b3c1ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 7 Aug 2023 16:10:25 +0300 Subject: [PATCH 286/373] Update Clippy and fix lints --- .github/workflows/workspace.yml | 2 +- blake2/src/as_bytes.rs | 11 ++--------- blake2/src/simd/simd_opt/u32x4.rs | 2 +- blake2/tests/mac.rs | 2 +- streebog/src/table.rs | 1 + tiger/src/lib.rs | 4 ++-- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 3f3eeace1..dc2b0f795 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.60.0 + toolchain: 1.71.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/blake2/src/as_bytes.rs b/blake2/src/as_bytes.rs index 743a5adc3..c77fcd6df 100644 --- a/blake2/src/as_bytes.rs +++ b/blake2/src/as_bytes.rs @@ -19,19 +19,12 @@ pub trait AsBytes { impl AsBytes for [T] { #[inline] fn as_bytes(&self) -> &[u8] { - unsafe { - slice::from_raw_parts(self.as_ptr() as *const u8, self.len() * mem::size_of::()) - } + unsafe { slice::from_raw_parts(self.as_ptr() as *const u8, mem::size_of_val(self)) } } #[inline] fn as_mut_bytes(&mut self) -> &mut [u8] { - unsafe { - slice::from_raw_parts_mut( - self.as_mut_ptr() as *mut u8, - self.len() * mem::size_of::(), - ) - } + unsafe { slice::from_raw_parts_mut(self.as_mut_ptr() as *mut u8, mem::size_of_val(self)) } } } diff --git a/blake2/src/simd/simd_opt/u32x4.rs b/blake2/src/simd/simd_opt/u32x4.rs index 8b34e76e8..7190d96f7 100644 --- a/blake2/src/simd/simd_opt/u32x4.rs +++ b/blake2/src/simd/simd_opt/u32x4.rs @@ -25,7 +25,7 @@ pub fn rotate_right_const(vec: u32x4, n: u32) -> u32x4 { #[inline(always)] fn rotate_right_any(vec: u32x4, n: u32) -> u32x4 { - let r = n as u32; + let r = n; let l = 32 - r; (vec >> u32x4::new(r, r, r, r)) ^ (vec << u32x4::new(l, l, l, l)) diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 97fbc9d70..dd75a5703 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -16,7 +16,7 @@ fn blake2b_new_test() { .chain_update(DATA) .finalize() .into_bytes(); - let res2 = ::new_from_slice(&key) + let res2 = ::new_from_slice(key) .unwrap() .chain_update(DATA) .finalize() diff --git a/streebog/src/table.rs b/streebog/src/table.rs index 337578285..f47eb6133 100644 --- a/streebog/src/table.rs +++ b/streebog/src/table.rs @@ -2077,6 +2077,7 @@ mod test { use super::SHUFFLED_LIN_TABLE; use crate::consts::{A, P}; + #[allow(clippy::needless_range_loop)] fn gen_table() -> [[u64; 256]; 8] { let mut table: [[u64; 256]; 8] = [[0; 256]; 8]; for i in 0..8 { diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index a5f1f8d80..ed2830a7d 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -91,7 +91,7 @@ impl UpdateCore for TigerCore { impl FixedOutputCore for TigerCore { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let bs = Self::BlockSize::U64 as u64; + let bs = Self::BlockSize::U64; let pos = buffer.get_pos() as u64; let bit_len = 8 * (pos + bs * self.block_len); @@ -165,7 +165,7 @@ impl UpdateCore for Tiger2Core { impl FixedOutputCore for Tiger2Core { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let bs = Self::BlockSize::U64 as u64; + let bs = Self::BlockSize::U64; let pos = buffer.get_pos() as u64; let bit_len = 8 * (pos + bs * self.block_len); From 342dbfabd49be4dcc7473e88bc3ac9611a4f54ed Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 7 Aug 2023 23:22:27 +0300 Subject: [PATCH 287/373] Update asm dependencies (#498) --- .github/workflows/whirlpool.yml | 12 +++++++++++- Cargo.lock | 27 +++++++++++++++------------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 445eedf04..3583ba42c 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -59,9 +59,19 @@ jobs: with: toolchain: ${{ matrix.rust }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack test --feature-powerset + - run: cargo hack test --feature-powerset --exclude-features asm minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} + + test-asm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable # cc has a relaxed MSRV policy + - run: cargo test --features asm diff --git a/Cargo.lock b/Cargo.lock index 86aa2eb1b..918b6ea9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,9 +27,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -39,9 +42,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6340df57935414636969091153f35f68d9f00bbc8fb4a9c6054706c213e6c6bc" +checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" [[package]] name = "cpufeatures" @@ -171,9 +174,9 @@ dependencies = [ [[package]] name = "md5-asm" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b9a6f25ec11ea27e22d7fc8beafda909da44ece95f63e94f1eeb23d19bb5c7" +checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c" dependencies = [ "cc", ] @@ -205,9 +208,9 @@ dependencies = [ [[package]] name = "sha1-asm" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563d4f7100bc3fce234e5f37bbf63dc2752558964505ba6ac3f7204bdc59eaac" +checksum = "2ba6947745e7f86be3b8af00b7355857085dbdf8901393c89514510eb61f4e21" dependencies = [ "cc", ] @@ -225,9 +228,9 @@ dependencies = [ [[package]] name = "sha2-asm" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf27176fb5d15398e3a479c652c20459d9dac830dedd1fa55b42a77dbcdbfcea" +checksum = "f27ba7066011e3fb30d808b51affff34f0a66d3a03a58edd787c6e420e40e44e" dependencies = [ "cc", ] @@ -303,9 +306,9 @@ dependencies = [ [[package]] name = "whirlpool-asm" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0930846e800a97c78fd09a494b25d1f0780be9face03b7a05151e3104a8284" +checksum = "62fbc33555bb368a2758340583b26fc67822da6b1b829fd9a48cca1bad2e29fe" dependencies = [ "cc", ] From 42d3a25a4e2d0e63cc83f7ed7959b705eecb0075 Mon Sep 17 00:00:00 2001 From: Daniel Reisinger Date: Wed, 16 Aug 2023 20:58:50 +0200 Subject: [PATCH 288/373] k12: fix incorrect hash calculation (#499) If the length of the merged input string is a multiple of the chunk size, then the previous implementation appends a chaining value for an empty chunk. --- k12/src/lib.rs | 62 +++++++++++++++++++++++++++++------------------- k12/tests/mod.rs | 34 ++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 24 deletions(-) diff --git a/k12/src/lib.rs b/k12/src/lib.rs index a5f593c4a..7f1602ec8 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -52,6 +52,32 @@ impl<'cs> KangarooTwelveCore<'cs> { chain_length: 0usize, } } + + fn process_chunk(&mut self) { + debug_assert!(self.bufpos == CHUNK_SIZE); + if self.chain_length == 0 { + self.final_tshk.update(&self.buffer); + } else { + self.process_chaining_chunk(); + } + + self.chain_length += 1; + self.buffer = [0u8; CHUNK_SIZE]; + self.bufpos = 0; + } + + fn process_chaining_chunk(&mut self) { + debug_assert!(self.bufpos != 0); + if self.chain_length == 1 { + self.final_tshk + .update(&[0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); + } + + let mut result = [0u8; CHAINING_VALUE_SIZE]; + self.chain_tshk.update(&self.buffer[..self.bufpos]); + self.chain_tshk.finalize_xof_reset_into(&mut result); + self.final_tshk.update(&result); + } } impl HashMarker for KangarooTwelveCore<'_> {} @@ -68,27 +94,12 @@ impl UpdateCore for KangarooTwelveCore<'_> { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { for block in blocks { - self.buffer[self.bufpos..self.bufpos + 128].clone_from_slice(block); - self.bufpos += 128; - - if self.bufpos != CHUNK_SIZE { - continue; - } - - if self.chain_length == 0 { - self.final_tshk.update(&self.buffer); - self.final_tshk - .update(&[0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); - } else { - let mut result = [0u8; CHAINING_VALUE_SIZE]; - self.chain_tshk.update(&self.buffer); - self.chain_tshk.finalize_xof_reset_into(&mut result); - self.final_tshk.update(&result); + if self.bufpos == CHUNK_SIZE { + self.process_chunk(); } - self.chain_length += 1; - self.buffer = [0u8; CHUNK_SIZE]; - self.bufpos = 0; + self.buffer[self.bufpos..self.bufpos + 128].clone_from_slice(block); + self.bufpos += 128; } } } @@ -107,6 +118,10 @@ impl ExtendableOutputCore for KangarooTwelveCore<'_> { |block| self.update_blocks(block), ); + if self.bufpos == CHUNK_SIZE && buffer.get_pos() != 0 { + self.process_chunk(); + } + // Read leftover data from buffer self.buffer[self.bufpos..(self.bufpos + buffer.get_pos())] .copy_from_slice(buffer.get_data()); @@ -114,17 +129,16 @@ impl ExtendableOutputCore for KangarooTwelveCore<'_> { // Calculate final node if self.chain_length == 0 { - // Input didnot exceed a single chaining value + // Input did not exceed a single chaining value let tshk = TurboShake128::from_core(::new(0x07)) .chain(&self.buffer[..self.bufpos]) .finalize_xof_reset(); return KangarooTwelveReaderCore { tshk }; } + // Calculate last chaining value - let mut result = [0u8; CHAINING_VALUE_SIZE]; - self.chain_tshk.update(&self.buffer[..self.bufpos]); - self.chain_tshk.finalize_xof_reset_into(&mut result); - self.final_tshk.update(&result); + self.process_chaining_chunk(); + // Pad final node calculation self.final_tshk .update(length_encode(self.chain_length, &mut lenbuf)); diff --git a/k12/tests/mod.rs b/k12/tests/mod.rs index 92456e046..36b5b29b8 100644 --- a/k12/tests/mod.rs +++ b/k12/tests/mod.rs @@ -73,3 +73,37 @@ fn pat_c() { assert_eq!(result[..], expected[i as usize][..]); } } + +#[test] +fn input_multiple_of_chunk_size_minus_one() { + // generated with reference python implementation + let expected = [ + hex!("1b577636f723643e990cc7d6a659837436fd6a103626600eb8301cd1dbe553d6"), + hex!("e3ded52118ea64eaf04c7531c6ccb95e32924b7c2b87b2ce68ff2f2ee46e84ef"), + hex!("daacf62e434bdd126fbe9e61fae38d1429e9dddfaf8f999095585c3cbf366a4a"), + hex!("eac3722b4b7db10af973ed7ca60e113a19fab895b46476a9aac51ead099e6ba4"), + ]; + for i in 0..expected.len() { + let len = 8192 * (i + 1) - 1; + let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = digest_and_box(&m, 32); + assert_eq!(result[..], expected[i as usize][..]); + } +} + +#[test] +fn input_multiple_of_chunk_size() { + // generated with reference python implementation + let expected = [ + hex!("48f256f6772f9edfb6a8b661ec92dc93b95ebd05a08a17b39ae3490870c926c3"), + hex!("82778f7f7234c83352e76837b721fbdbb5270b88010d84fa5ab0b61ec8ce0956"), + hex!("f4082a8fe7d1635aa042cd1da63bf235f91c231886c29896f9fe3818c60cd360"), + hex!("d14f8dc243c206004ca8a996997e5ae16a8bdda288f6c90d20d7c43c1a408618"), + ]; + for i in 0..expected.len() { + let len = 8192 * (i + 1); + let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = digest_and_box(&m, 32); + assert_eq!(result[..], expected[i as usize][..]); + } +} From 4372c776a5298884ca9500207d7db7812df650e3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 19 Sep 2023 13:34:45 -0600 Subject: [PATCH 289/373] CI: replace MIPS cross tests with PPC32 (#503) mips-unknown-linux-gnu is now a Tier 3 target: rust-lang/rust#115218. This means we can't use it for cross tests anymore since std is no longer built for it. This commit replaces it with powerpc-unknown-linux-gnu, a big endian Tier 2 target. --- .github/workflows/blake2.yml | 2 +- .github/workflows/sha1.yml | 2 +- .github/workflows/sha2.yml | 2 +- .github/workflows/sha3.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 6cfba0c3c..bf55424e7 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -88,7 +88,7 @@ jobs: - stable target: - aarch64-unknown-linux-gnu - - mips-unknown-linux-gnu + - powerpc-unknown-linux-gnu features: - default diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index e816af7c9..6c5b5b64d 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -141,7 +141,7 @@ jobs: - stable target: - aarch64-unknown-linux-gnu - - mips-unknown-linux-gnu + - powerpc-unknown-linux-gnu features: - default # **** NOTE: Currently broken with `asm` feature enabled! See: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 93c3069d7..d7505e9bb 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -131,7 +131,7 @@ jobs: - stable target: - aarch64-unknown-linux-gnu - - mips-unknown-linux-gnu + - powerpc-unknown-linux-gnu features: - default include: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 482a36ede..f550e3d6f 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -78,7 +78,7 @@ jobs: - stable target: - aarch64-unknown-linux-gnu - - mips-unknown-linux-gnu + - powerpc-unknown-linux-gnu features: - default From dcfd5a5016a0c12453bbe5fc344f73322cfe572d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:19:34 -0600 Subject: [PATCH 290/373] build(deps): bump actions/checkout from 3 to 4 (#501) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ascon-hash.yml | 4 ++-- .github/workflows/belt-hash.yml | 4 ++-- .github/workflows/blake2.yml | 8 ++++---- .github/workflows/fsb.yml | 4 ++-- .github/workflows/gost94.yml | 6 +++--- .github/workflows/groestl.yml | 4 ++-- .github/workflows/jh.yml | 4 ++-- .github/workflows/k12.yml | 4 ++-- .github/workflows/md2.yml | 6 +++--- .github/workflows/md4.yml | 6 +++--- .github/workflows/md5.yml | 6 +++--- .github/workflows/ripemd.yml | 6 +++--- .github/workflows/security-audit.yml | 2 +- .github/workflows/sha1.yml | 12 ++++++------ .github/workflows/sha2.yml | 12 ++++++------ .github/workflows/sha3.yml | 8 ++++---- .github/workflows/shabal.yml | 4 ++-- .github/workflows/skein.yml | 4 ++-- .github/workflows/sm3.yml | 4 ++-- .github/workflows/streebog.yml | 6 +++--- .github/workflows/tiger.yml | 4 ++-- .github/workflows/whirlpool.yml | 6 +++--- .github/workflows/workspace.yml | 4 ++-- 23 files changed, 64 insertions(+), 64 deletions(-) diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml index 0ecdc233f..7b8e4e9bb 100644 --- a/.github/workflows/ascon-hash.yml +++ b/.github/workflows/ascon-hash.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -58,7 +58,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml index f76161efc..86fcd7fae 100644 --- a/.github/workflows/belt-hash.yml +++ b/.github/workflows/belt-hash.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index bf55424e7..06b2e91b1 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -70,7 +70,7 @@ jobs: simd: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -98,7 +98,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 7bbcd523d..5fa5fdb1b 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index b0d8bbbeb..8da43ab24 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -74,7 +74,7 @@ jobs: rust: - 1.41.0 # MSRV steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index c690c7484..6bcd030d7 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/jh.yml b/.github/workflows/jh.yml index e72676247..6000c3efe 100644 --- a/.github/workflows/jh.yml +++ b/.github/workflows/jh.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index a1ea61e14..569567ed2 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index 3e9acc0d0..d721cfdcc 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -74,7 +74,7 @@ jobs: rust: - 1.41.0 # MSRV steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index d578fbbcd..08af3f065 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -74,7 +74,7 @@ jobs: rust: - 1.41.0 # MSRV steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index 0a9373390..d95499886 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -56,7 +56,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -77,7 +77,7 @@ jobs: rust: - 1.41.0 # MSRV steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 1158c3db1..84294eb38 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -54,7 +54,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -75,7 +75,7 @@ jobs: rust: - 1.41.0 # MSRV steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index f27d17b6c..53e76d32d 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -13,7 +13,7 @@ jobs: name: Security Audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - name: Cache cargo bin uses: actions/cache@v3 diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 6c5b5b64d..4c65146f8 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -76,7 +76,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -97,7 +97,7 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -123,7 +123,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -157,7 +157,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -169,7 +169,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index d7505e9bb..17ad938e6 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -68,7 +68,7 @@ jobs: rust: stable runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -88,7 +88,7 @@ jobs: - stable runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -112,7 +112,7 @@ jobs: - x86_64-pc-windows-gnu runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -144,7 +144,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -161,7 +161,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index f550e3d6f..ae0ea4088 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -37,7 +37,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -55,7 +55,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -88,7 +88,7 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/cross-tests with: rust: ${{ matrix.rust }} @@ -100,7 +100,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index bba14d86f..fe8236b85 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/skein.yml b/.github/workflows/skein.yml index d94022496..e66d8de18 100644 --- a/.github/workflows/skein.yml +++ b/.github/workflows/skein.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index d1b0f3e3c..633126e1f 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 08f8067d8..6d18449bd 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -70,7 +70,7 @@ jobs: test-msrv: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 941ebf290..38371a4da 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -38,7 +38,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -56,7 +56,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 3583ba42c..c797d3ffd 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -35,7 +35,7 @@ jobs: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -53,7 +53,7 @@ jobs: - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -69,7 +69,7 @@ jobs: test-asm: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index dc2b0f795..426085dd6 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -13,7 +13,7 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install stable toolchain uses: dtolnay/rust-toolchain@master From 7aba4b52715f9cb17a90303bab55bd59471d65ae Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 21 Sep 2023 16:10:53 +0300 Subject: [PATCH 291/373] Add asm!-based backend for LoongArch64 targets (#504) Based on code from https://github.com/RustCrypto/asm-hashes/pull/66 --- .github/workflows/sha1.yml | 12 ++ Cargo.lock | 2 +- sha1/CHANGELOG.md | 6 + sha1/Cargo.toml | 5 +- sha1/src/compress.rs | 3 + sha1/src/compress/loongarch64_asm.rs | 255 +++++++++++++++++++++++++++ 6 files changed, 281 insertions(+), 2 deletions(-) create mode 100644 sha1/src/compress/loongarch64_asm.rs diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 4c65146f8..e9ae90cbc 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -132,6 +132,18 @@ jobs: - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} + # Build-only test of the LoongArch64 assembly backend + loongarch64_asm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.72 + targets: loongarch64-unknown-linux-gnu + - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm + # Cross-compiled tests cross: strategy: diff --git a/Cargo.lock b/Cargo.lock index 918b6ea9f..6f8aa6fa7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -197,7 +197,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" dependencies = [ "cfg-if", "cpufeatures", diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 78ffc6006..429e67727 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.6 (2023-09-21) +### Added +- `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#504] + +[#504]: https://github.com/RustCrypto/hashes/pull/504 + ## 0.10.5 (2022-09-16) ### Added - Feature-gated OID support ([#405]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 4877331b1..3f4b8d3ff 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.10.5" +version = "0.10.6" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -28,6 +28,9 @@ default = ["std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 asm = ["sha1-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates +# Use assembly backend for LoongArch64 targets +# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates +loongarch64_asm = [] compress = [] # Expose compress function force-soft = [] # Force software implementation diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index da4a10a98..6f7e40c41 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -9,6 +9,9 @@ cfg_if::cfg_if! { mod soft; mod aarch64; use aarch64::compress as compress_inner; + } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + mod loongarch64_asm; + use loongarch64_asm::compress as compress_inner; } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { #[cfg(not(feature = "asm"))] mod soft; diff --git a/sha1/src/compress/loongarch64_asm.rs b/sha1/src/compress/loongarch64_asm.rs new file mode 100644 index 000000000..facef1b19 --- /dev/null +++ b/sha1/src/compress/loongarch64_asm.rs @@ -0,0 +1,255 @@ +//! LoongArch64 assembly backend + +use core::arch::asm; + +const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6]; + +macro_rules! c { + ($($l:expr)*) => { + concat!($($l ,)*) + }; +} + +macro_rules! round0a { + ($a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $i:literal) => { + c!( + "ld.w $t5, $a1, (" $i " * 4);" + "revb.2h $t5, $t5;" + "rotri.w $t5, $t5, 16;" + "add.w " $e ", " $e ", $t5;" + "st.w $t5, $sp, (" $i " * 4);" + "xor $t5, " $c "," $d ";" + "and $t5, $t5, " $b ";" + "xor $t5, $t5, " $d ";" + roundtail!($a, $b, $e, $i, "$a4") + ) + }; +} + +macro_rules! scheldule { + ($i:literal, $e:literal) => { + c!( + "ld.w $t5, $sp, (((" $i " - 3) & 0xF) * 4);" + "ld.w $t6, $sp, (((" $i " - 8) & 0xF) * 4);" + "ld.w $t7, $sp, (((" $i " - 14) & 0xF) * 4);" + "ld.w $t8, $sp, (((" $i " - 16) & 0xF) * 4);" + "xor $t5, $t5, $t6;" + "xor $t5, $t5, $t7;" + "xor $t5, $t5, $t8;" + "rotri.w $t5, $t5, 31;" + "add.w " $e "," $e ", $t5;" + "st.w $t5, $sp, ((" $i " & 0xF) * 4);" + ) + }; +} + +macro_rules! round0b { + ($a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $i:literal) => { + c!( + scheldule!($i, $e) + "xor $t5," $c "," $d ";" + "and $t5, $t5," $b ";" + "xor $t5, $t5," $d ";" + roundtail!($a, $b, $e, $i, "$a4") + ) + }; +} + +macro_rules! round1 { + ($a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $i:literal) => { + c!( + scheldule!($i, $e) + "xor $t5," $b "," $c ";" + "xor $t5, $t5," $d ";" + roundtail!($a, $b, $e, $i, "$a5") + ) + }; +} + +macro_rules! round2 { + ($a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $i:literal) => { + c!( + scheldule!($i, $e) + "or $t5," $c "," $d ";" + "and $t5, $t5, " $b ";" + "and $t7," $c "," $d ";" + "or $t5, $t5, $t7;" + roundtail!($a, $b, $e, $i, "$a6") + ) + }; +} + +macro_rules! round3 { + ($a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $i:literal) => { + c!( + scheldule!($i, $e) + "xor $t5," $b "," $c ";" + "xor $t5, $t5," $d ";" + roundtail!($a, $b, $e, $i, "$a7") + ) + }; +} + +macro_rules! roundtail { + ($a:literal, $b:literal, $e:literal, $i:literal, $k:literal) => { + c!( + "rotri.w " $b "," $b ", 2;" + "add.w " $e "," $e ", $t5;" + "add.w " $e "," $e "," $k ";" + "rotri.w $t5," $a ", 27;" + "add.w " $e "," $e ", $t5;" + ) + }; +} + +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { + if blocks.is_empty() { + return; + } + + unsafe { + asm!( + // Allocate scratch stack space + "addi.d $sp, $sp, -64;", + + // Load state + "ld.w $t0, $a0, 0", + "ld.w $t1, $a0, 4", + "ld.w $t2, $a0, 8", + "ld.w $t3, $a0, 12", + "ld.w $t4, $a0, 16", + + "42:", + + round0a!("$t0", "$t1", "$t2", "$t3", "$t4", 0), + round0a!("$t4", "$t0", "$t1", "$t2", "$t3", 1), + round0a!("$t3", "$t4", "$t0", "$t1", "$t2", 2), + round0a!("$t2", "$t3", "$t4", "$t0", "$t1", 3), + round0a!("$t1", "$t2", "$t3", "$t4", "$t0", 4), + round0a!("$t0", "$t1", "$t2", "$t3", "$t4", 5), + round0a!("$t4", "$t0", "$t1", "$t2", "$t3", 6), + round0a!("$t3", "$t4", "$t0", "$t1", "$t2", 7), + round0a!("$t2", "$t3", "$t4", "$t0", "$t1", 8), + round0a!("$t1", "$t2", "$t3", "$t4", "$t0", 9), + round0a!("$t0", "$t1", "$t2", "$t3", "$t4", 10), + round0a!("$t4", "$t0", "$t1", "$t2", "$t3", 11), + round0a!("$t3", "$t4", "$t0", "$t1", "$t2", 12), + round0a!("$t2", "$t3", "$t4", "$t0", "$t1", 13), + round0a!("$t1", "$t2", "$t3", "$t4", "$t0", 14), + round0a!("$t0", "$t1", "$t2", "$t3", "$t4", 15), + round0b!("$t4", "$t0", "$t1", "$t2", "$t3", 16), + round0b!("$t3", "$t4", "$t0", "$t1", "$t2", 17), + round0b!("$t2", "$t3", "$t4", "$t0", "$t1", 18), + round0b!("$t1", "$t2", "$t3", "$t4", "$t0", 19), + round1!("$t0", "$t1", "$t2", "$t3", "$t4", 20), + round1!("$t4", "$t0", "$t1", "$t2", "$t3", 21), + round1!("$t3", "$t4", "$t0", "$t1", "$t2", 22), + round1!("$t2", "$t3", "$t4", "$t0", "$t1", 23), + round1!("$t1", "$t2", "$t3", "$t4", "$t0", 24), + round1!("$t0", "$t1", "$t2", "$t3", "$t4", 25), + round1!("$t4", "$t0", "$t1", "$t2", "$t3", 26), + round1!("$t3", "$t4", "$t0", "$t1", "$t2", 27), + round1!("$t2", "$t3", "$t4", "$t0", "$t1", 28), + round1!("$t1", "$t2", "$t3", "$t4", "$t0", 29), + round1!("$t0", "$t1", "$t2", "$t3", "$t4", 30), + round1!("$t4", "$t0", "$t1", "$t2", "$t3", 31), + round1!("$t3", "$t4", "$t0", "$t1", "$t2", 32), + round1!("$t2", "$t3", "$t4", "$t0", "$t1", 33), + round1!("$t1", "$t2", "$t3", "$t4", "$t0", 34), + round1!("$t0", "$t1", "$t2", "$t3", "$t4", 35), + round1!("$t4", "$t0", "$t1", "$t2", "$t3", 36), + round1!("$t3", "$t4", "$t0", "$t1", "$t2", 37), + round1!("$t2", "$t3", "$t4", "$t0", "$t1", 38), + round1!("$t1", "$t2", "$t3", "$t4", "$t0", 39), + round2!("$t0", "$t1", "$t2", "$t3", "$t4", 40), + round2!("$t4", "$t0", "$t1", "$t2", "$t3", 41), + round2!("$t3", "$t4", "$t0", "$t1", "$t2", 42), + round2!("$t2", "$t3", "$t4", "$t0", "$t1", 43), + round2!("$t1", "$t2", "$t3", "$t4", "$t0", 44), + round2!("$t0", "$t1", "$t2", "$t3", "$t4", 45), + round2!("$t4", "$t0", "$t1", "$t2", "$t3", 46), + round2!("$t3", "$t4", "$t0", "$t1", "$t2", 47), + round2!("$t2", "$t3", "$t4", "$t0", "$t1", 48), + round2!("$t1", "$t2", "$t3", "$t4", "$t0", 49), + round2!("$t0", "$t1", "$t2", "$t3", "$t4", 50), + round2!("$t4", "$t0", "$t1", "$t2", "$t3", 51), + round2!("$t3", "$t4", "$t0", "$t1", "$t2", 52), + round2!("$t2", "$t3", "$t4", "$t0", "$t1", 53), + round2!("$t1", "$t2", "$t3", "$t4", "$t0", 54), + round2!("$t0", "$t1", "$t2", "$t3", "$t4", 55), + round2!("$t4", "$t0", "$t1", "$t2", "$t3", 56), + round2!("$t3", "$t4", "$t0", "$t1", "$t2", 57), + round2!("$t2", "$t3", "$t4", "$t0", "$t1", 58), + round2!("$t1", "$t2", "$t3", "$t4", "$t0", 59), + round3!("$t0", "$t1", "$t2", "$t3", "$t4", 60), + round3!("$t4", "$t0", "$t1", "$t2", "$t3", 61), + round3!("$t3", "$t4", "$t0", "$t1", "$t2", 62), + round3!("$t2", "$t3", "$t4", "$t0", "$t1", 63), + round3!("$t1", "$t2", "$t3", "$t4", "$t0", 64), + round3!("$t0", "$t1", "$t2", "$t3", "$t4", 65), + round3!("$t4", "$t0", "$t1", "$t2", "$t3", 66), + round3!("$t3", "$t4", "$t0", "$t1", "$t2", 67), + round3!("$t2", "$t3", "$t4", "$t0", "$t1", 68), + round3!("$t1", "$t2", "$t3", "$t4", "$t0", 69), + round3!("$t0", "$t1", "$t2", "$t3", "$t4", 70), + round3!("$t4", "$t0", "$t1", "$t2", "$t3", 71), + round3!("$t3", "$t4", "$t0", "$t1", "$t2", 72), + round3!("$t2", "$t3", "$t4", "$t0", "$t1", 73), + round3!("$t1", "$t2", "$t3", "$t4", "$t0", 74), + round3!("$t0", "$t1", "$t2", "$t3", "$t4", 75), + round3!("$t4", "$t0", "$t1", "$t2", "$t3", 76), + round3!("$t3", "$t4", "$t0", "$t1", "$t2", 77), + round3!("$t2", "$t3", "$t4", "$t0", "$t1", 78), + round3!("$t1", "$t2", "$t3", "$t4", "$t0", 79), + + // Update state registers + "ld.w $t5, $a0, 0", // a + "ld.w $t6, $a0, 4", // b + "ld.w $t7, $a0, 8", // c + "ld.w $t8, $a0, 12", // d + "add.w $t0, $t0, $t5", + "ld.w $t5, $a0, 16", // e + "add.w $t1, $t1, $t6", + "add.w $t2, $t2, $t7", + "add.w $t3, $t3, $t8", + "add.w $t4, $t4, $t5", + + // Save updated state + "st.w $t0, $a0, 0", + "st.w $t1, $a0, 4", + "st.w $t2, $a0, 8", + "st.w $t3, $a0, 12", + "st.w $t4, $a0, 16", + + // Looping over blocks + "addi.d $a1, $a1, 64", + "addi.d $a2, $a2, -1", + "bnez $a2, 42b", + + // Restore stack register + "addi.d $sp, $sp, 64", + + in("$a0") state, + inout("$a1") blocks.as_ptr() => _, + inout("$a2") blocks.len() => _, + + in("$a4") K[0], + in("$a5") K[1], + in("$a6") K[2], + in("$a7") K[3], + + // Clobbers + out("$t0") _, + out("$t1") _, + out("$t2") _, + out("$t3") _, + out("$t4") _, + out("$t5") _, + out("$t6") _, + out("$t7") _, + out("$t8") _, + + options(preserves_flags), + ); + } +} From a24e8b73a6db1c8d11b9b4f31f9dd334467bb6cc Mon Sep 17 00:00:00 2001 From: hev Date: Fri, 22 Sep 2023 20:58:20 +0800 Subject: [PATCH 292/373] md5: Add inline-asm backend for LoongArch64 targets (#505) --- Cargo.lock | 1 + md5/Cargo.toml | 5 + md5/src/compress.rs | 175 ++------------------------ md5/src/compress/consts.rs | 14 +++ md5/src/compress/loongarch64_asm.rs | 182 ++++++++++++++++++++++++++++ md5/src/compress/soft.rs | 154 +++++++++++++++++++++++ md5/src/lib.rs | 7 +- 7 files changed, 369 insertions(+), 169 deletions(-) create mode 100644 md5/src/compress/consts.rs create mode 100644 md5/src/compress/loongarch64_asm.rs create mode 100644 md5/src/compress/soft.rs diff --git a/Cargo.lock b/Cargo.lock index 6f8aa6fa7..361eac726 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -151,6 +151,7 @@ checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" name = "md-5" version = "0.10.5" dependencies = [ + "cfg-if", "digest", "hex-literal", "md5-asm", diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 847530889..e8f89ad1d 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,6 +16,7 @@ name = "md5" [dependencies] digest = "0.10.7" +cfg-if = "1.0" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } @@ -28,4 +29,8 @@ hex-literal = "0.2.2" default = ["std"] std = ["digest/std"] asm = ["md5-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates +# Use assembly backend for LoongArch64 targets +# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates +loongarch64_asm = [] oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +force-soft = [] # Force software implementation diff --git a/md5/src/compress.rs b/md5/src/compress.rs index 46857038e..c0bcd816a 100644 --- a/md5/src/compress.rs +++ b/md5/src/compress.rs @@ -1,165 +1,14 @@ -#![allow(clippy::many_single_char_names, clippy::unreadable_literal)] -use core::convert::TryInto; - -const RC: [u32; 64] = [ - // round 1 - 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, - 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, - // round 2 - 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, - 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, - // round 3 - 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, - 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, - // round 4 - 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, - 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, -]; - -#[inline(always)] -fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { - ((x & y) | (!x & z)) - .wrapping_add(w) - .wrapping_add(m) - .wrapping_add(c) - .rotate_left(s) - .wrapping_add(x) -} -#[inline(always)] -fn op_g(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { - ((x & z) | (y & !z)) - .wrapping_add(w) - .wrapping_add(m) - .wrapping_add(c) - .rotate_left(s) - .wrapping_add(x) -} - -#[inline(always)] -fn op_h(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { - (x ^ y ^ z) - .wrapping_add(w) - .wrapping_add(m) - .wrapping_add(c) - .rotate_left(s) - .wrapping_add(x) -} - -#[inline(always)] -fn op_i(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { - (y ^ (x | !z)) - .wrapping_add(w) - .wrapping_add(m) - .wrapping_add(c) - .rotate_left(s) - .wrapping_add(x) -} - -#[inline] -pub fn compress_block(state: &mut [u32; 4], input: &[u8; 64]) { - let mut a = state[0]; - let mut b = state[1]; - let mut c = state[2]; - let mut d = state[3]; - - let mut data = [0u32; 16]; - for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { - *o = u32::from_le_bytes(chunk.try_into().unwrap()); - } - - // round 1 - a = op_f(a, b, c, d, data[0], RC[0], 7); - d = op_f(d, a, b, c, data[1], RC[1], 12); - c = op_f(c, d, a, b, data[2], RC[2], 17); - b = op_f(b, c, d, a, data[3], RC[3], 22); - - a = op_f(a, b, c, d, data[4], RC[4], 7); - d = op_f(d, a, b, c, data[5], RC[5], 12); - c = op_f(c, d, a, b, data[6], RC[6], 17); - b = op_f(b, c, d, a, data[7], RC[7], 22); - - a = op_f(a, b, c, d, data[8], RC[8], 7); - d = op_f(d, a, b, c, data[9], RC[9], 12); - c = op_f(c, d, a, b, data[10], RC[10], 17); - b = op_f(b, c, d, a, data[11], RC[11], 22); - - a = op_f(a, b, c, d, data[12], RC[12], 7); - d = op_f(d, a, b, c, data[13], RC[13], 12); - c = op_f(c, d, a, b, data[14], RC[14], 17); - b = op_f(b, c, d, a, data[15], RC[15], 22); - - // round 2 - a = op_g(a, b, c, d, data[1], RC[16], 5); - d = op_g(d, a, b, c, data[6], RC[17], 9); - c = op_g(c, d, a, b, data[11], RC[18], 14); - b = op_g(b, c, d, a, data[0], RC[19], 20); - - a = op_g(a, b, c, d, data[5], RC[20], 5); - d = op_g(d, a, b, c, data[10], RC[21], 9); - c = op_g(c, d, a, b, data[15], RC[22], 14); - b = op_g(b, c, d, a, data[4], RC[23], 20); - - a = op_g(a, b, c, d, data[9], RC[24], 5); - d = op_g(d, a, b, c, data[14], RC[25], 9); - c = op_g(c, d, a, b, data[3], RC[26], 14); - b = op_g(b, c, d, a, data[8], RC[27], 20); - - a = op_g(a, b, c, d, data[13], RC[28], 5); - d = op_g(d, a, b, c, data[2], RC[29], 9); - c = op_g(c, d, a, b, data[7], RC[30], 14); - b = op_g(b, c, d, a, data[12], RC[31], 20); - - // round 3 - a = op_h(a, b, c, d, data[5], RC[32], 4); - d = op_h(d, a, b, c, data[8], RC[33], 11); - c = op_h(c, d, a, b, data[11], RC[34], 16); - b = op_h(b, c, d, a, data[14], RC[35], 23); - - a = op_h(a, b, c, d, data[1], RC[36], 4); - d = op_h(d, a, b, c, data[4], RC[37], 11); - c = op_h(c, d, a, b, data[7], RC[38], 16); - b = op_h(b, c, d, a, data[10], RC[39], 23); - - a = op_h(a, b, c, d, data[13], RC[40], 4); - d = op_h(d, a, b, c, data[0], RC[41], 11); - c = op_h(c, d, a, b, data[3], RC[42], 16); - b = op_h(b, c, d, a, data[6], RC[43], 23); - - a = op_h(a, b, c, d, data[9], RC[44], 4); - d = op_h(d, a, b, c, data[12], RC[45], 11); - c = op_h(c, d, a, b, data[15], RC[46], 16); - b = op_h(b, c, d, a, data[2], RC[47], 23); - - // round 4 - a = op_i(a, b, c, d, data[0], RC[48], 6); - d = op_i(d, a, b, c, data[7], RC[49], 10); - c = op_i(c, d, a, b, data[14], RC[50], 15); - b = op_i(b, c, d, a, data[5], RC[51], 21); - - a = op_i(a, b, c, d, data[12], RC[52], 6); - d = op_i(d, a, b, c, data[3], RC[53], 10); - c = op_i(c, d, a, b, data[10], RC[54], 15); - b = op_i(b, c, d, a, data[1], RC[55], 21); - - a = op_i(a, b, c, d, data[8], RC[56], 6); - d = op_i(d, a, b, c, data[15], RC[57], 10); - c = op_i(c, d, a, b, data[6], RC[58], 15); - b = op_i(b, c, d, a, data[13], RC[59], 21); - - a = op_i(a, b, c, d, data[4], RC[60], 6); - d = op_i(d, a, b, c, data[11], RC[61], 10); - c = op_i(c, d, a, b, data[2], RC[62], 15); - b = op_i(b, c, d, a, data[9], RC[63], 21); - - state[0] = state[0].wrapping_add(a); - state[1] = state[1].wrapping_add(b); - state[2] = state[2].wrapping_add(c); - state[3] = state[3].wrapping_add(d); -} - -#[inline] -pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { - for block in blocks { - compress_block(state, block) +cfg_if::cfg_if! { + if #[cfg(feature = "force-soft")] { + mod soft; + pub use soft::compress; + } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { + pub use md5_asm::compress; + } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + mod loongarch64_asm; + pub use loongarch64_asm::compress; + } else { + mod soft; + pub use soft::compress; } } diff --git a/md5/src/compress/consts.rs b/md5/src/compress/consts.rs new file mode 100644 index 000000000..2b6d13042 --- /dev/null +++ b/md5/src/compress/consts.rs @@ -0,0 +1,14 @@ +pub const RC: [u32; 64] = [ + // round 1 + 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, + 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, + // round 2 + 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, + 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, + // round 3 + 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, + 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, + // round 4 + 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, + 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, +]; diff --git a/md5/src/compress/loongarch64_asm.rs b/md5/src/compress/loongarch64_asm.rs new file mode 100644 index 000000000..2af53af35 --- /dev/null +++ b/md5/src/compress/loongarch64_asm.rs @@ -0,0 +1,182 @@ +//! LoongArch64 assembly backend + +use core::arch::asm; + +#[path = "consts.rs"] +mod consts; +use consts::*; + +macro_rules! c { + ($($l:expr)*) => { + concat!($($l ,)*) + }; +} + +macro_rules! round0 { + ($a:literal, $b:literal, $c:literal, $d:literal, $k:literal, $s:literal, $i:literal) => { + c!( + "xor $t4," $c "," $d ";" + "and $t4, $t4," $b ";" + "xor $t4, $t4," $d ";" + roundtail!($a, $b, $k, $s, $i) + ) + } +} + +macro_rules! round1 { + ($a:literal, $b:literal, $c:literal, $d:literal, $k:literal, $s:literal, $i:literal) => { + c!( + "andn $t4," $c "," $d ";" + "and $t5," $d "," $b ";" + "or $t4, $t4, $t5;" + roundtail!($a, $b, $k, $s, $i) + ) + } +} + +macro_rules! round2 { + ($a:literal, $b:literal, $c:literal, $d:literal, $k:literal, $s:literal, $i:literal) => { + c!( + "xor $t4," $c "," $d ";" + "xor $t4, $t4," $b ";" + roundtail!($a, $b, $k, $s, $i) + ) + } +} + +macro_rules! round3 { + ($a:literal, $b:literal, $c:literal, $d:literal, $k:literal, $s:literal, $i:literal) => { + c!( + "orn $t4," $b "," $d ";" + "xor $t4, $t4," $c ";" + roundtail!($a, $b, $k, $s, $i) + ) + } +} + +macro_rules! roundtail { + ($a:literal, $b:literal, $k:literal, $s:literal, $i:literal) => { + c!( + "ld.w $t5, $a3," $i " * 4;" + "ld.w $t6, $a1," $k " * 4;" + "add.w " $a "," $a ", $t5;" + "add.w " $a "," $a ", $t6;" + "add.w " $a "," $a ", $t4;" + "rotri.w " $a "," $a ", 32 -" $s ";" + "add.w " $a "," $a "," $b ";" + ) + } +} + +pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { + if blocks.is_empty() { + return; + } + + unsafe { + asm!( + "42:", + + "move $t0, $a4", + "move $t1, $a5", + "move $t2, $a6", + "move $t3, $a7", + + /* 64 rounds of hashing */ + round0!("$t0", "$t1", "$t2", "$t3", 0, 7, 0), + round0!("$t3", "$t0", "$t1", "$t2", 1, 12, 1), + round0!("$t2", "$t3", "$t0", "$t1", 2, 17, 2), + round0!("$t1", "$t2", "$t3", "$t0", 3, 22, 3), + round0!("$t0", "$t1", "$t2", "$t3", 4, 7, 4), + round0!("$t3", "$t0", "$t1", "$t2", 5, 12, 5), + round0!("$t2", "$t3", "$t0", "$t1", 6, 17, 6), + round0!("$t1", "$t2", "$t3", "$t0", 7, 22, 7), + round0!("$t0", "$t1", "$t2", "$t3", 8, 7, 8), + round0!("$t3", "$t0", "$t1", "$t2", 9, 12, 9), + round0!("$t2", "$t3", "$t0", "$t1", 10, 17, 10), + round0!("$t1", "$t2", "$t3", "$t0", 11, 22, 11), + round0!("$t0", "$t1", "$t2", "$t3", 12, 7, 12), + round0!("$t3", "$t0", "$t1", "$t2", 13, 12, 13), + round0!("$t2", "$t3", "$t0", "$t1", 14, 17, 14), + round0!("$t1", "$t2", "$t3", "$t0", 15, 22, 15), + round1!("$t0", "$t1", "$t2", "$t3", 1, 5, 16), + round1!("$t3", "$t0", "$t1", "$t2", 6, 9, 17), + round1!("$t2", "$t3", "$t0", "$t1", 11, 14, 18), + round1!("$t1", "$t2", "$t3", "$t0", 0, 20, 19), + round1!("$t0", "$t1", "$t2", "$t3", 5, 5, 20), + round1!("$t3", "$t0", "$t1", "$t2", 10, 9, 21), + round1!("$t2", "$t3", "$t0", "$t1", 15, 14, 22), + round1!("$t1", "$t2", "$t3", "$t0", 4, 20, 23), + round1!("$t0", "$t1", "$t2", "$t3", 9, 5, 24), + round1!("$t3", "$t0", "$t1", "$t2", 14, 9, 25), + round1!("$t2", "$t3", "$t0", "$t1", 3, 14, 26), + round1!("$t1", "$t2", "$t3", "$t0", 8, 20, 27), + round1!("$t0", "$t1", "$t2", "$t3", 13, 5, 28), + round1!("$t3", "$t0", "$t1", "$t2", 2, 9, 29), + round1!("$t2", "$t3", "$t0", "$t1", 7, 14, 30), + round1!("$t1", "$t2", "$t3", "$t0", 12, 20, 31), + round2!("$t0", "$t1", "$t2", "$t3", 5, 4, 32), + round2!("$t3", "$t0", "$t1", "$t2", 8, 11, 33), + round2!("$t2", "$t3", "$t0", "$t1", 11, 16, 34), + round2!("$t1", "$t2", "$t3", "$t0", 14, 23, 35), + round2!("$t0", "$t1", "$t2", "$t3", 1, 4, 36), + round2!("$t3", "$t0", "$t1", "$t2", 4, 11, 37), + round2!("$t2", "$t3", "$t0", "$t1", 7, 16, 38), + round2!("$t1", "$t2", "$t3", "$t0", 10, 23, 39), + round2!("$t0", "$t1", "$t2", "$t3", 13, 4, 40), + round2!("$t3", "$t0", "$t1", "$t2", 0, 11, 41), + round2!("$t2", "$t3", "$t0", "$t1", 3, 16, 42), + round2!("$t1", "$t2", "$t3", "$t0", 6, 23, 43), + round2!("$t0", "$t1", "$t2", "$t3", 9, 4, 44), + round2!("$t3", "$t0", "$t1", "$t2", 12, 11, 45), + round2!("$t2", "$t3", "$t0", "$t1", 15, 16, 46), + round2!("$t1", "$t2", "$t3", "$t0", 2, 23, 47), + round3!("$t0", "$t1", "$t2", "$t3", 0, 6, 48), + round3!("$t3", "$t0", "$t1", "$t2", 7, 10, 49), + round3!("$t2", "$t3", "$t0", "$t1", 14, 15, 50), + round3!("$t1", "$t2", "$t3", "$t0", 5, 21, 51), + round3!("$t0", "$t1", "$t2", "$t3", 12, 6, 52), + round3!("$t3", "$t0", "$t1", "$t2", 3, 10, 53), + round3!("$t2", "$t3", "$t0", "$t1", 10, 15, 54), + round3!("$t1", "$t2", "$t3", "$t0", 1, 21, 55), + round3!("$t0", "$t1", "$t2", "$t3", 8, 6, 56), + round3!("$t3", "$t0", "$t1", "$t2", 15, 10, 57), + round3!("$t2", "$t3", "$t0", "$t1", 6, 15, 58), + round3!("$t1", "$t2", "$t3", "$t0", 13, 21, 59), + round3!("$t0", "$t1", "$t2", "$t3", 4, 6, 60), + round3!("$t3", "$t0", "$t1", "$t2", 11, 10, 61), + round3!("$t2", "$t3", "$t0", "$t1", 2, 15, 62), + round3!("$t1", "$t2", "$t3", "$t0", 9, 21, 63), + + "add.w $a4, $a4, $t0", + "add.w $a5, $a5, $t1", + "add.w $a6, $a6, $t2", + "add.w $a7, $a7, $t3", + + // Looping over blocks + "addi.d $a1, $a1, 64", + "addi.d $a2, $a2, -1", + "bnez $a2, 42b", + + inout("$a4") state[0], + inout("$a5") state[1], + inout("$a6") state[2], + inout("$a7") state[3], + inout("$a1") blocks.as_ptr() => _, + inout("$a2") blocks.len() => _, + + in("$a3") RC.as_ptr(), + + // Clobbers + out("$t0") _, + out("$t1") _, + out("$t2") _, + out("$t3") _, + out("$t4") _, + out("$t5") _, + out("$t6") _, + + options(preserves_flags, readonly, pure, nostack), + ); + } +} diff --git a/md5/src/compress/soft.rs b/md5/src/compress/soft.rs new file mode 100644 index 000000000..c41f2bb41 --- /dev/null +++ b/md5/src/compress/soft.rs @@ -0,0 +1,154 @@ +#![allow(clippy::many_single_char_names, clippy::unreadable_literal)] +use core::convert::TryInto; + +#[path = "consts.rs"] +mod consts; +use consts::*; + +#[inline(always)] +fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { + ((x & y) | (!x & z)) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) +} +#[inline(always)] +fn op_g(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { + ((x & z) | (y & !z)) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) +} + +#[inline(always)] +fn op_h(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { + (x ^ y ^ z) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) +} + +#[inline(always)] +fn op_i(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { + (y ^ (x | !z)) + .wrapping_add(w) + .wrapping_add(m) + .wrapping_add(c) + .rotate_left(s) + .wrapping_add(x) +} + +#[inline] +pub fn compress_block(state: &mut [u32; 4], input: &[u8; 64]) { + let mut a = state[0]; + let mut b = state[1]; + let mut c = state[2]; + let mut d = state[3]; + + let mut data = [0u32; 16]; + for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + // round 1 + a = op_f(a, b, c, d, data[0], RC[0], 7); + d = op_f(d, a, b, c, data[1], RC[1], 12); + c = op_f(c, d, a, b, data[2], RC[2], 17); + b = op_f(b, c, d, a, data[3], RC[3], 22); + + a = op_f(a, b, c, d, data[4], RC[4], 7); + d = op_f(d, a, b, c, data[5], RC[5], 12); + c = op_f(c, d, a, b, data[6], RC[6], 17); + b = op_f(b, c, d, a, data[7], RC[7], 22); + + a = op_f(a, b, c, d, data[8], RC[8], 7); + d = op_f(d, a, b, c, data[9], RC[9], 12); + c = op_f(c, d, a, b, data[10], RC[10], 17); + b = op_f(b, c, d, a, data[11], RC[11], 22); + + a = op_f(a, b, c, d, data[12], RC[12], 7); + d = op_f(d, a, b, c, data[13], RC[13], 12); + c = op_f(c, d, a, b, data[14], RC[14], 17); + b = op_f(b, c, d, a, data[15], RC[15], 22); + + // round 2 + a = op_g(a, b, c, d, data[1], RC[16], 5); + d = op_g(d, a, b, c, data[6], RC[17], 9); + c = op_g(c, d, a, b, data[11], RC[18], 14); + b = op_g(b, c, d, a, data[0], RC[19], 20); + + a = op_g(a, b, c, d, data[5], RC[20], 5); + d = op_g(d, a, b, c, data[10], RC[21], 9); + c = op_g(c, d, a, b, data[15], RC[22], 14); + b = op_g(b, c, d, a, data[4], RC[23], 20); + + a = op_g(a, b, c, d, data[9], RC[24], 5); + d = op_g(d, a, b, c, data[14], RC[25], 9); + c = op_g(c, d, a, b, data[3], RC[26], 14); + b = op_g(b, c, d, a, data[8], RC[27], 20); + + a = op_g(a, b, c, d, data[13], RC[28], 5); + d = op_g(d, a, b, c, data[2], RC[29], 9); + c = op_g(c, d, a, b, data[7], RC[30], 14); + b = op_g(b, c, d, a, data[12], RC[31], 20); + + // round 3 + a = op_h(a, b, c, d, data[5], RC[32], 4); + d = op_h(d, a, b, c, data[8], RC[33], 11); + c = op_h(c, d, a, b, data[11], RC[34], 16); + b = op_h(b, c, d, a, data[14], RC[35], 23); + + a = op_h(a, b, c, d, data[1], RC[36], 4); + d = op_h(d, a, b, c, data[4], RC[37], 11); + c = op_h(c, d, a, b, data[7], RC[38], 16); + b = op_h(b, c, d, a, data[10], RC[39], 23); + + a = op_h(a, b, c, d, data[13], RC[40], 4); + d = op_h(d, a, b, c, data[0], RC[41], 11); + c = op_h(c, d, a, b, data[3], RC[42], 16); + b = op_h(b, c, d, a, data[6], RC[43], 23); + + a = op_h(a, b, c, d, data[9], RC[44], 4); + d = op_h(d, a, b, c, data[12], RC[45], 11); + c = op_h(c, d, a, b, data[15], RC[46], 16); + b = op_h(b, c, d, a, data[2], RC[47], 23); + + // round 4 + a = op_i(a, b, c, d, data[0], RC[48], 6); + d = op_i(d, a, b, c, data[7], RC[49], 10); + c = op_i(c, d, a, b, data[14], RC[50], 15); + b = op_i(b, c, d, a, data[5], RC[51], 21); + + a = op_i(a, b, c, d, data[12], RC[52], 6); + d = op_i(d, a, b, c, data[3], RC[53], 10); + c = op_i(c, d, a, b, data[10], RC[54], 15); + b = op_i(b, c, d, a, data[1], RC[55], 21); + + a = op_i(a, b, c, d, data[8], RC[56], 6); + d = op_i(d, a, b, c, data[15], RC[57], 10); + c = op_i(c, d, a, b, data[6], RC[58], 15); + b = op_i(b, c, d, a, data[13], RC[59], 21); + + a = op_i(a, b, c, d, data[4], RC[60], 6); + d = op_i(d, a, b, c, data[11], RC[61], 10); + c = op_i(c, d, a, b, data[2], RC[62], 15); + b = op_i(b, c, d, a, data[9], RC[63], 21); + + state[0] = state[0].wrapping_add(a); + state[1] = state[1].wrapping_add(b); + state[2] = state[2].wrapping_add(c); + state[3] = state[3].wrapping_add(d); +} + +#[inline] +pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { + for block in blocks { + compress_block(state, block) + } +} diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 87fe9134f..085275ba9 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -30,14 +30,9 @@ )] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] -extern crate md5_asm as compress; - -#[cfg(not(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64"))))] -mod compress; - pub use digest::{self, Digest}; +mod compress; use compress::compress; use core::{fmt, slice::from_ref}; From 026b0e81e90ba476a5d343a8e4efbc63b814737b Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 22 Sep 2023 17:18:35 +0300 Subject: [PATCH 293/373] md5: minor code tweaks, bump to v0.10.6 (#506) --- .github/workflows/md5.yml | 12 ++++++++++++ Cargo.lock | 2 +- md5/CHANGELOG.md | 6 ++++++ md5/Cargo.toml | 2 +- md5/src/compress/loongarch64_asm.rs | 18 +++++++----------- md5/src/compress/soft.rs | 5 +---- md5/src/{compress => }/consts.rs | 6 +++++- md5/src/lib.rs | 11 +++++++---- 8 files changed, 40 insertions(+), 22 deletions(-) rename md5/src/{compress => }/consts.rs (80%) diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index d95499886..a1d2ce88d 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -64,6 +64,18 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack test --feature-powerset + # Build-only test of the LoongArch64 assembly backend + loongarch64_asm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.72 + targets: loongarch64-unknown-linux-gnu + - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm + minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: diff --git a/Cargo.lock b/Cargo.lock index 361eac726..0afe260d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -149,7 +149,7 @@ checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" dependencies = [ "cfg-if", "digest", diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 76e592b7e..65c30dd8f 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.6 (2023-09-22) +### Added +- `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#505] + +[#505]: https://github.com/RustCrypto/hashes/pull/505 + ## 0.10.5 (2022-09-22) ### Added - Feature-gated OID support ([#413]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index e8f89ad1d..8103cd8a4 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.10.5" +version = "0.10.6" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/md5/src/compress/loongarch64_asm.rs b/md5/src/compress/loongarch64_asm.rs index 2af53af35..3bbd8523e 100644 --- a/md5/src/compress/loongarch64_asm.rs +++ b/md5/src/compress/loongarch64_asm.rs @@ -1,11 +1,5 @@ //! LoongArch64 assembly backend -use core::arch::asm; - -#[path = "consts.rs"] -mod consts; -use consts::*; - macro_rules! c { ($($l:expr)*) => { concat!($($l ,)*) @@ -74,7 +68,7 @@ pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { } unsafe { - asm!( + core::arch::asm!( "42:", "move $t0, $a4", @@ -99,6 +93,7 @@ pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { round0!("$t3", "$t0", "$t1", "$t2", 13, 12, 13), round0!("$t2", "$t3", "$t0", "$t1", 14, 17, 14), round0!("$t1", "$t2", "$t3", "$t0", 15, 22, 15), + round1!("$t0", "$t1", "$t2", "$t3", 1, 5, 16), round1!("$t3", "$t0", "$t1", "$t2", 6, 9, 17), round1!("$t2", "$t3", "$t0", "$t1", 11, 14, 18), @@ -114,6 +109,7 @@ pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { round1!("$t0", "$t1", "$t2", "$t3", 13, 5, 28), round1!("$t3", "$t0", "$t1", "$t2", 2, 9, 29), round1!("$t2", "$t3", "$t0", "$t1", 7, 14, 30), + round1!("$t1", "$t2", "$t3", "$t0", 12, 20, 31), round2!("$t0", "$t1", "$t2", "$t3", 5, 4, 32), round2!("$t3", "$t0", "$t1", "$t2", 8, 11, 33), @@ -131,6 +127,7 @@ pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { round2!("$t3", "$t0", "$t1", "$t2", 12, 11, 45), round2!("$t2", "$t3", "$t0", "$t1", 15, 16, 46), round2!("$t1", "$t2", "$t3", "$t0", 2, 23, 47), + round3!("$t0", "$t1", "$t2", "$t3", 0, 6, 48), round3!("$t3", "$t0", "$t1", "$t2", 7, 10, 49), round3!("$t2", "$t3", "$t0", "$t1", 14, 15, 50), @@ -158,14 +155,13 @@ pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { "addi.d $a2, $a2, -1", "bnez $a2, 42b", + inout("$a1") blocks.as_ptr() => _, + inout("$a2") blocks.len() => _, + in("$a3") crate::consts::RC.as_ptr(), inout("$a4") state[0], inout("$a5") state[1], inout("$a6") state[2], inout("$a7") state[3], - inout("$a1") blocks.as_ptr() => _, - inout("$a2") blocks.len() => _, - - in("$a3") RC.as_ptr(), // Clobbers out("$t0") _, diff --git a/md5/src/compress/soft.rs b/md5/src/compress/soft.rs index c41f2bb41..40630a121 100644 --- a/md5/src/compress/soft.rs +++ b/md5/src/compress/soft.rs @@ -1,10 +1,7 @@ #![allow(clippy::many_single_char_names, clippy::unreadable_literal)] +use crate::consts::RC; use core::convert::TryInto; -#[path = "consts.rs"] -mod consts; -use consts::*; - #[inline(always)] fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { ((x & y) | (!x & z)) diff --git a/md5/src/compress/consts.rs b/md5/src/consts.rs similarity index 80% rename from md5/src/compress/consts.rs rename to md5/src/consts.rs index 2b6d13042..67ce879a7 100644 --- a/md5/src/compress/consts.rs +++ b/md5/src/consts.rs @@ -1,4 +1,8 @@ -pub const RC: [u32; 64] = [ +pub(crate) const STATE_INIT: [u32; 4] = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; + +// TODO: remove `allow` on deprecation of `md5-asm` +#[allow(dead_code)] +pub(crate) static RC: [u32; 64] = [ // round 1 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 085275ba9..a45de2f11 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -33,7 +33,7 @@ pub use digest::{self, Digest}; mod compress; -use compress::compress; +pub(crate) mod consts; use core::{fmt, slice::from_ref}; #[cfg(feature = "oid")] @@ -47,6 +47,7 @@ use digest::{ typenum::{Unsigned, U16, U64}, HashMarker, Output, }; + /// Core MD5 hasher state. #[derive(Clone)] pub struct Md5Core { @@ -72,7 +73,7 @@ impl UpdateCore for Md5Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len = self.block_len.wrapping_add(blocks.len() as u64); - compress(&mut self.state, convert(blocks)) + compress::compress(&mut self.state, convert(blocks)) } } @@ -85,7 +86,9 @@ impl FixedOutputCore for Md5Core { .wrapping_add(buffer.get_pos() as u64) .wrapping_mul(8); let mut s = self.state; - buffer.len64_padding_le(bit_len, |b| compress(&mut s, convert(from_ref(b)))); + buffer.len64_padding_le(bit_len, |b| { + compress::compress(&mut s, convert(from_ref(b))) + }); for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); } @@ -97,7 +100,7 @@ impl Default for Md5Core { fn default() -> Self { Self { block_len: 0, - state: [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476], + state: consts::STATE_INIT, } } } From c6decdf36f64e4c651edcf60e12527acfb9d9c9c Mon Sep 17 00:00:00 2001 From: hev Date: Tue, 26 Sep 2023 21:06:49 +0800 Subject: [PATCH 294/373] sha2: Add inline-asm backend for LoongArch64 targets (#507) --- .github/workflows/sha2.yml | 12 ++ Cargo.lock | 2 +- sha2/CHANGELOG.md | 6 + sha2/Cargo.toml | 5 +- sha2/src/sha256.rs | 3 + sha2/src/sha256/loongarch64_asm.rs | 227 +++++++++++++++++++++++++++ sha2/src/sha512.rs | 3 + sha2/src/sha512/loongarch64_asm.rs | 242 +++++++++++++++++++++++++++++ 8 files changed, 498 insertions(+), 2 deletions(-) create mode 100644 sha2/src/sha256/loongarch64_asm.rs create mode 100644 sha2/src/sha512/loongarch64_asm.rs diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 17ad938e6..1ce8ac3ae 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -121,6 +121,18 @@ jobs: - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} + # Build-only test of the LoongArch64 assembly backend + loongarch64_asm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: 1.72 + targets: loongarch64-unknown-linux-gnu + - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm + # Cross-compiled tests cross: needs: set-msrv diff --git a/Cargo.lock b/Cargo.lock index 0afe260d6..11d4f3dbb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -218,7 +218,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" dependencies = [ "cfg-if", "cpufeatures", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index a552266e5..a5182bcad 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.8 (2023-09-26) +### Added +- `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#507] + +[#507]: https://github.com/RustCrypto/hashes/pull/507 + ## 0.10.7 (2023-06-15) ### Added - AArch64 Neon-based backend ([#490]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index c25251db8..a3dafeaa2 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.7" +version = "0.10.8" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -31,6 +31,9 @@ default = ["std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates +# Use assembly backend for LoongArch64 targets +# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates +loongarch64_asm = [] compress = [] # Expose compress functions force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index a45331e17..8f8287836 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -17,6 +17,9 @@ cfg_if::cfg_if! { mod soft; mod aarch64; use aarch64::compress; + } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + mod loongarch64_asm; + use loongarch64_asm::compress; } else { mod soft; use soft::compress; diff --git a/sha2/src/sha256/loongarch64_asm.rs b/sha2/src/sha256/loongarch64_asm.rs new file mode 100644 index 000000000..c80fce8bb --- /dev/null +++ b/sha2/src/sha256/loongarch64_asm.rs @@ -0,0 +1,227 @@ +//! LoongArch64 assembly backend + +macro_rules! c { + ($($l:expr)*) => { + concat!($($l ,)*) + }; +} + +macro_rules! rounda { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + "ld.w $a5, $a1, (" $i " * 4);" + "revb.2h $a5, $a5;" + "rotri.w $a5, $a5, 16;" + roundtail!($i, $a, $b, $c, $d, $e, $f, $g, $h) + ) + }; +} + +macro_rules! roundb { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + "ld.w $a4, $sp, (((" $i " - 15) & 0xF) * 4);" + "ld.w $a5, $sp, (((" $i " - 16) & 0xF) * 4);" + "ld.w $a6, $sp, (((" $i " - 7) & 0xF) * 4);" + "add.w $a5, $a5, $a6;" + "rotri.w $a6, $a4, 18;" + "srli.w $a7, $a4, 3;" + "rotri.w $a4, $a4, 7;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.w $a5, $a5, $a4;" + "ld.w $a4, $sp, (((" $i " - 2) & 0xF) * 4);" + "rotri.w $a6, $a4, 19;" + "srli.w $a7, $a4, 10;" + "rotri.w $a4, $a4, 17;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.w $a5, $a5, $a4;" + roundtail!($i, $a, $b, $c, $d, $e, $f, $g, $h) + ) + }; +} + +macro_rules! roundtail { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + // Part 0 + "rotri.w $a6, " $e ", 11;" + "rotri.w $a7, " $e ", 25;" + "rotri.w $a4, " $e ", 6;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "xor $a6, " $g ", " $f ";" + "ld.w $a7, $a3, " $i " * 4;" + "and $a6, $a6, " $e ";" + "xor $a6, $a6, " $g ";" + "add.w $a4, $a4, $a6;" + "add.w $a4, $a4, $a7;" + "add.w " $h ", " $h ", $a5;" + "add.w " $h ", " $h ", $a4;" + // Part 1 + "add.w " $d ", " $d ", " $h ";" + // Part 2 + "rotri.w $a6, " $a ", 13;" + "rotri.w $a7, " $a ", 22;" + "rotri.w $a4, " $a ", 2;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.w " $h ", " $h ", $a4;" + "or $a4, " $c ", " $b ";" + "and $a6, " $c ", " $b ";" + "and $a4, $a4, " $a ";" + "or $a4, $a4, $a6;" + "add.w " $h ", " $h ", $a4;" + "st.w $a5, $sp, ((" $i " & 0xF) * 4);" + ) + }; +} + +pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { + if blocks.is_empty() { + return; + } + + unsafe { + core::arch::asm!( + // Allocate scratch stack space + "addi.d $sp, $sp, -64;", + + // Load state + "ld.w $t0, $a0, 0", + "ld.w $t1, $a0, 4", + "ld.w $t2, $a0, 8", + "ld.w $t3, $a0, 12", + "ld.w $t4, $a0, 16", + "ld.w $t5, $a0, 20", + "ld.w $t6, $a0, 24", + "ld.w $t7, $a0, 28", + + "42:", + + // Do 64 rounds of hashing + rounda!( 0, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + rounda!( 1, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + rounda!( 2, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + rounda!( 3, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + rounda!( 4, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + rounda!( 5, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + rounda!( 6, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + rounda!( 7, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + rounda!( 8, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + rounda!( 9, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + rounda!(10, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + rounda!(11, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + rounda!(12, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + rounda!(13, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + rounda!(14, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + rounda!(15, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(16, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(17, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(18, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(19, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(20, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(21, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(22, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(23, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(24, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(25, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(26, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(27, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(28, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(29, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(30, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(31, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(32, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(33, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(34, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(35, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(36, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(37, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(38, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(39, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(40, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(41, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(42, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(43, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(44, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(45, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(46, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(47, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(48, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(49, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(50, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(51, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(52, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(53, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(54, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(55, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(56, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(57, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(58, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(59, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(60, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(61, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(62, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(63, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + + // Update state registers + "ld.w $a4, $a0, 0", // a + "ld.w $a5, $a0, 4", // b + "ld.w $a6, $a0, 8", // c + "ld.w $a7, $a0, 12", // d + "add.w $t0, $t0, $a4", + "add.w $t1, $t1, $a5", + "add.w $t2, $t2, $a6", + "add.w $t3, $t3, $a7", + "ld.w $a4, $a0, 16", // e + "ld.w $a5, $a0, 20", // f + "ld.w $a6, $a0, 24", // g + "ld.w $a7, $a0, 28", // h + "add.w $t4, $t4, $a4", + "add.w $t5, $t5, $a5", + "add.w $t6, $t6, $a6", + "add.w $t7, $t7, $a7", + + // Save updated state + "st.w $t0, $a0, 0", + "st.w $t1, $a0, 4", + "st.w $t2, $a0, 8", + "st.w $t3, $a0, 12", + "st.w $t4, $a0, 16", + "st.w $t5, $a0, 20", + "st.w $t6, $a0, 24", + "st.w $t7, $a0, 28", + + // Looping over blocks + "addi.d $a1, $a1, 64", + "addi.d $a2, $a2, -1", + "bnez $a2, 42b", + + // Restore stack register + "addi.d $sp, $sp, 64", + + in("$a0") state, + inout("$a1") blocks.as_ptr() => _, + inout("$a2") blocks.len() => _, + in("$a3") crate::consts::K32.as_ptr(), + + // Clobbers + out("$a4") _, + out("$a5") _, + out("$a6") _, + out("$a7") _, + out("$t0") _, + out("$t1") _, + out("$t2") _, + out("$t3") _, + out("$t4") _, + out("$t5") _, + out("$t6") _, + out("$t7") _, + + options(preserves_flags), + ); + } +} diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index af4178c0b..dfe0b454f 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -19,6 +19,9 @@ cfg_if::cfg_if! { mod soft; mod aarch64; use aarch64::compress; + } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + mod loongarch64_asm; + use loongarch64_asm::compress; } else { mod soft; use soft::compress; diff --git a/sha2/src/sha512/loongarch64_asm.rs b/sha2/src/sha512/loongarch64_asm.rs new file mode 100644 index 000000000..557089def --- /dev/null +++ b/sha2/src/sha512/loongarch64_asm.rs @@ -0,0 +1,242 @@ +//! LoongArch64 assembly backend + +macro_rules! c { + ($($l:expr)*) => { + concat!($($l ,)*) + }; +} + +macro_rules! rounda { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + "ld.d $a5, $a1, (" $i " * 8);" + "revb.d $a5, $a5;" + roundtail!($i, $a, $b, $c, $d, $e, $f, $g, $h) + ) + }; +} + +macro_rules! roundb { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + "ld.d $a4, $sp, (((" $i " - 15) & 0xF) * 8);" + "ld.d $a5, $sp, (((" $i " - 16) & 0xF) * 8);" + "ld.d $a6, $sp, (((" $i " - 7) & 0xF) * 8);" + "add.d $a5, $a5, $a6;" + "rotri.d $a6, $a4, 8;" + "srli.d $a7, $a4, 7;" + "rotri.d $a4, $a4, 1;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.d $a5, $a5, $a4;" + "ld.d $a4, $sp, (((" $i " - 2) & 0xF) * 8);" + "rotri.d $a6, $a4, 61;" + "srli.d $a7, $a4, 6;" + "rotri.d $a4, $a4, 19;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.d $a5, $a5, $a4;" + roundtail!($i, $a, $b, $c, $d, $e, $f, $g, $h) + ) + }; +} + +macro_rules! roundtail { + ($i:literal, $a:literal, $b:literal, $c:literal, $d:literal, $e:literal, $f:literal, $g:literal, $h:literal) => { + c!( + // Part 0 + "rotri.d $a6, " $e ", 18;" + "rotri.d $a7, " $e ", 41;" + "rotri.d $a4, " $e ", 14;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "xor $a6, " $g ", " $f ";" + "ld.d $a7, $a3, " $i " * 8;" + "and $a6, $a6, " $e ";" + "xor $a6, $a6, " $g ";" + "add.d $a4, $a4, $a6;" + "add.d $a4, $a4, $a7;" + "add.d " $h ", " $h ", $a5;" + "add.d " $h ", " $h ", $a4;" + // Part 1 + "add.d " $d ", " $d ", " $h ";" + // Part 2 + "rotri.d $a6, " $a ", 39;" + "rotri.d $a7, " $a ", 34;" + "rotri.d $a4, " $a ", 28;" + "xor $a6, $a6, $a7;" + "xor $a4, $a4, $a6;" + "add.d " $h ", " $h ", $a4;" + "or $a4, " $c ", " $b ";" + "and $a6, " $c ", " $b ";" + "and $a4, $a4, " $a ";" + "or $a4, $a4, $a6;" + "add.d " $h ", " $h ", $a4;" + "st.d $a5, $sp, ((" $i " & 0xF) * 8);" + ) + }; +} + +pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { + if blocks.is_empty() { + return; + } + + unsafe { + core::arch::asm!( + // Allocate scratch stack space + "addi.d $sp, $sp, -128;", + + // Load state + "ld.d $t0, $a0, 0", + "ld.d $t1, $a0, 8", + "ld.d $t2, $a0, 16", + "ld.d $t3, $a0, 24", + "ld.d $t4, $a0, 32", + "ld.d $t5, $a0, 40", + "ld.d $t6, $a0, 48", + "ld.d $t7, $a0, 56", + + "42:", + + // Do 64 rounds of hashing + rounda!( 0, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + rounda!( 1, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + rounda!( 2, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + rounda!( 3, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + rounda!( 4, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + rounda!( 5, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + rounda!( 6, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + rounda!( 7, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + rounda!( 8, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + rounda!( 9, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + rounda!(10, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + rounda!(11, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + rounda!(12, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + rounda!(13, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + rounda!(14, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + rounda!(15, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(16, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(17, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(18, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(19, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(20, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(21, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(22, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(23, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(24, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(25, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(26, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(27, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(28, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(29, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(30, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(31, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(32, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(33, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(34, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(35, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(36, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(37, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(38, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(39, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(40, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(41, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(42, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(43, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(44, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(45, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(46, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(47, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(48, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(49, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(50, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(51, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(52, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(53, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(54, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(55, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(56, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(57, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(58, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(59, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(60, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(61, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(62, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(63, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(64, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(65, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(66, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(67, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(68, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(69, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(70, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(71, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + roundb!(72, "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7"), + roundb!(73, "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6"), + roundb!(74, "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4", "$t5"), + roundb!(75, "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3", "$t4"), + roundb!(76, "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2", "$t3"), + roundb!(77, "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1" , "$t2"), + roundb!(78, "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0" , "$t1"), + roundb!(79, "$t1" , "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t0"), + + // Update state registers + "ld.d $a4, $a0, 0", // a + "ld.d $a5, $a0, 8", // b + "ld.d $a6, $a0, 16", // c + "ld.d $a7, $a0, 24", // d + "add.d $t0, $t0, $a4", + "add.d $t1, $t1, $a5", + "add.d $t2, $t2, $a6", + "add.d $t3, $t3, $a7", + "ld.d $a4, $a0, 32", // e + "ld.d $a5, $a0, 40", // f + "ld.d $a6, $a0, 48", // g + "ld.d $a7, $a0, 56", // h + "add.d $t4, $t4, $a4", + "add.d $t5, $t5, $a5", + "add.d $t6, $t6, $a6", + "add.d $t7, $t7, $a7", + + // Save updated state + "st.d $t0, $a0, 0", + "st.d $t1, $a0, 8", + "st.d $t2, $a0, 16", + "st.d $t3, $a0, 24", + "st.d $t4, $a0, 32", + "st.d $t5, $a0, 40", + "st.d $t6, $a0, 48", + "st.d $t7, $a0, 56", + + // Looping over blocks + "addi.d $a1, $a1, 128", + "addi.d $a2, $a2, -1", + "bnez $a2, 42b", + + // Restore stack register + "addi.d $sp, $sp, 128", + + in("$a0") state, + inout("$a1") blocks.as_ptr() => _, + inout("$a2") blocks.len() => _, + in("$a3") crate::consts::K64.as_ptr(), + + // Clobbers + out("$a4") _, + out("$a5") _, + out("$a6") _, + out("$a7") _, + out("$t0") _, + out("$t1") _, + out("$t2") _, + out("$t3") _, + out("$t4") _, + out("$t5") _, + out("$t6") _, + out("$t7") _, + + options(preserves_flags), + ); + } +} From 28a7b0da94a581e71e85d264836e1c3f8343338e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Tue, 26 Sep 2023 16:08:15 +0300 Subject: [PATCH 295/373] Update Cargo.lock --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 11d4f3dbb..08fd47d05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,9 +27,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "libc", ] @@ -42,9 +42,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" @@ -143,9 +143,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "md-5" @@ -286,9 +286,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "version_check" From cfda39f5cf15ffa1a3492ca9fefaf732bd97bf95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Mon, 23 Oct 2023 13:13:17 +0300 Subject: [PATCH 296/373] Update Cargo.lock --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 08fd47d05..674afe875 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,9 +48,9 @@ checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4" dependencies = [ "libc", ] @@ -143,9 +143,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.148" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "md-5" From c640781bc10cfdb6d652232c492ecd7e27210b26 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Mon, 23 Oct 2023 15:59:18 +0200 Subject: [PATCH 297/373] ascon-hash: Add Zeroize feature (#480) Not zeroizing the state allows to recover any squeezed output. This is because the `ascon` permutations can be inversed. Hence, access to the complete state allows to perform this operation. --- ascon-hash/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index c04583302..cb3707cc7 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -19,7 +19,7 @@ rust-version = "1.56" [dependencies] digest = { version = "0.10", default-features = false, features = ["core-api"] } -ascon = "0.3" +ascon = { version = "0.4", default-features = false } [dev-dependencies] spectral = { version = "0.6", default-features = false } @@ -28,6 +28,7 @@ hex = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["ascon/zeroize"] # TODO: enable zeroize in the future for block-buffer v0.11 [package.metadata.docs.rs] all-features = true From e3ab2579a0c6d51f6570679b8a7e99d87c4f14c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Fri, 27 Oct 2023 14:57:49 +0300 Subject: [PATCH 298/373] Update Cargo.lock --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 674afe875..b676d7157 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,9 +48,9 @@ checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] From 70a2b62c50087fa6df5070ab696c5a355072cb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kh=E1=BA=A3i?= Date: Tue, 31 Oct 2023 05:28:56 +0700 Subject: [PATCH 299/373] Add simpler code snippet to the documentation (#515) Co-authored-by: Tony Arcieri --- sha1/src/lib.rs | 12 ++++++++++++ sha2/src/lib.rs | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 38ddc4b51..25e867e0f 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -11,6 +11,18 @@ //! //! # Usage //! +//! ## One-shot API +//! +//! ```rust +//! use hex_literal::hex; +//! use sha1::{Sha1, Digest}; +//! +//! let result = Sha1::digest(b"hello world"); +//! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); +//! ``` +//! +//! ## Incremental API +//! //! ```rust //! use hex_literal::hex; //! use sha1::{Sha1, Digest}; diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index a3482e84a..c178d4eb4 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -11,6 +11,20 @@ //! //! # Usage //! +//! ## One-shot API +//! +//! ```rust +//! use hex_literal::hex; +//! use sha2::{Sha256, Digest}; +//! +//! let result = Sha256::digest(b"hello world"); +//! assert_eq!(result[..], hex!(" +//! b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 +//! ")[..]); +//! ``` +//! +//! ## Incremental API +//! //! ```rust //! use hex_literal::hex; //! use sha2::{Sha256, Sha512, Digest}; From 9f66cb810c398e4f6ff8f2ea90196d57f41dd729 Mon Sep 17 00:00:00 2001 From: Mengsheng Wu <37139489+CausingBrick@users.noreply.github.com> Date: Sat, 18 Nov 2023 23:31:08 +0800 Subject: [PATCH 300/373] md4: Optimize compress to improve hash performance (#519) --- md4/src/lib.rs | 107 ++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 55 deletions(-) diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 2a4cf47e6..8ef33aee8 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -30,11 +30,10 @@ )] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] -#![allow(clippy::many_single_char_names)] pub use digest::{self, Digest}; -use core::{convert::TryInto, fmt}; +use core::{convert::TryInto, fmt, num::Wrapping as W}; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ @@ -47,10 +46,20 @@ use digest::{ HashMarker, Output, }; +type Wu32 = W; +const S0: [Wu32; 4] = [ + W(0x6745_2301), + W(0xEFCD_AB89), + W(0x98BA_DCFE), + W(0x1032_5476), +]; +const K1: Wu32 = W(0x5A82_7999); +const K2: Wu32 = W(0x6ED9_EBA1); + #[derive(Clone)] pub struct Md4Core { - block_len: u64, - state: [u32; 4], + block_len: W, + state: [Wu32; 4], } impl HashMarker for Md4Core {} @@ -70,7 +79,7 @@ impl OutputSizeUser for Md4Core { impl UpdateCore for Md4Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - self.block_len = self.block_len.wrapping_add(blocks.len() as u64); + self.block_len += W(blocks.len() as u64); for block in blocks { compress(&mut self.state, block); } @@ -80,16 +89,15 @@ impl UpdateCore for Md4Core { impl FixedOutputCore for Md4Core { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let bit_len = self - .block_len - .wrapping_mul(Self::BlockSize::U64) - .wrapping_add(buffer.get_pos() as u64) - .wrapping_mul(8); + let tail_len = W(buffer.get_pos() as u64); + let bytes_len = W(Self::BlockSize::U64) * self.block_len + tail_len; + let bits_len = W(8) * bytes_len; + let mut state = self.state; - buffer.len64_padding_le(bit_len, |block| compress(&mut state, block)); + buffer.len64_padding_le(bits_len.0, |block| compress(&mut state, block)); for (chunk, v) in out.chunks_exact_mut(4).zip(state.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); + chunk.copy_from_slice(&v.0.to_le_bytes()); } } } @@ -97,10 +105,9 @@ impl FixedOutputCore for Md4Core { impl Default for Md4Core { #[inline] fn default() -> Self { - let state = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; Self { - state, - block_len: 0, + state: S0, + block_len: W(0), } } } @@ -133,35 +140,25 @@ impl AssociatedOid for Md4Core { /// MD4 hasher state. pub type Md4 = CoreWrapper; -fn compress(state: &mut [u32; 4], input: &Block) { - fn f(x: u32, y: u32, z: u32) -> u32 { - (x & y) | (!x & z) +fn compress(state: &mut [Wu32; 4], input: &Block) { + fn f(x: Wu32, y: Wu32, z: Wu32) -> Wu32 { + z ^ (x & (y ^ z)) } - fn g(x: u32, y: u32, z: u32) -> u32 { + fn g(x: Wu32, y: Wu32, z: Wu32) -> Wu32 { (x & y) | (x & z) | (y & z) } - fn h(x: u32, y: u32, z: u32) -> u32 { + fn h(x: Wu32, y: Wu32, z: Wu32) -> Wu32 { x ^ y ^ z } - fn op1(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(f(b, c, d)).wrapping_add(k).rotate_left(s) - } - - fn op2(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(g(b, c, d)) - .wrapping_add(k) - .wrapping_add(0x5A82_7999) - .rotate_left(s) - } - - fn op3(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(h(b, c, d)) - .wrapping_add(k) - .wrapping_add(0x6ED9_EBA1) - .rotate_left(s) + fn op(f: F, a: Wu32, b: Wu32, c: Wu32, d: Wu32, k: Wu32, s: u32) -> Wu32 + where + F: Fn(Wu32, Wu32, Wu32) -> Wu32, + { + let t = a + f(b, c, d) + k; + W(t.0.rotate_left(s)) } let mut a = state[0]; @@ -170,37 +167,37 @@ fn compress(state: &mut [u32; 4], input: &Block) { let mut d = state[3]; // load block to data - let mut data = [0u32; 16]; + let mut data = [W(0u32); 16]; for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { - *o = u32::from_le_bytes(chunk.try_into().unwrap()); + *o = W(u32::from_le_bytes(chunk.try_into().unwrap())); } // round 1 for &i in &[0, 4, 8, 12] { - a = op1(a, b, c, d, data[i], 3); - d = op1(d, a, b, c, data[i + 1], 7); - c = op1(c, d, a, b, data[i + 2], 11); - b = op1(b, c, d, a, data[i + 3], 19); + a = op(f, a, b, c, d, data[i], 3); + d = op(f, d, a, b, c, data[i + 1], 7); + c = op(f, c, d, a, b, data[i + 2], 11); + b = op(f, b, c, d, a, data[i + 3], 19); } // round 2 - for i in 0..4 { - a = op2(a, b, c, d, data[i], 3); - d = op2(d, a, b, c, data[i + 4], 5); - c = op2(c, d, a, b, data[i + 8], 9); - b = op2(b, c, d, a, data[i + 12], 13); + for &i in &[0, 1, 2, 3] { + a = op(g, a, b, c, d, data[i] + K1, 3); + d = op(g, d, a, b, c, data[i + 4] + K1, 5); + c = op(g, c, d, a, b, data[i + 8] + K1, 9); + b = op(g, b, c, d, a, data[i + 12] + K1, 13); } // round 3 for &i in &[0, 2, 1, 3] { - a = op3(a, b, c, d, data[i], 3); - d = op3(d, a, b, c, data[i + 8], 9); - c = op3(c, d, a, b, data[i + 4], 11); - b = op3(b, c, d, a, data[i + 12], 15); + a = op(h, a, b, c, d, data[i] + K2, 3); + d = op(h, d, a, b, c, data[i + 8] + K2, 9); + c = op(h, c, d, a, b, data[i + 4] + K2, 11); + b = op(h, b, c, d, a, data[i + 12] + K2, 15); } - state[0] = state[0].wrapping_add(a); - state[1] = state[1].wrapping_add(b); - state[2] = state[2].wrapping_add(c); - state[3] = state[3].wrapping_add(d); + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; } From f3b657cfacbb9d8f2f37374717c9b8d64672542e Mon Sep 17 00:00:00 2001 From: Alexandr Kitaev Date: Wed, 22 Nov 2023 19:48:49 +0300 Subject: [PATCH 301/373] Expose belt_compress to public (#520) --- Cargo.lock | 8 ++++---- belt-hash/CHANGELOG.md | 6 ++++++ belt-hash/Cargo.toml | 2 +- belt-hash/src/lib.rs | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b676d7157..ca5e1d309 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -143,9 +143,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "md-5" @@ -316,6 +316,6 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/belt-hash/CHANGELOG.md b/belt-hash/CHANGELOG.md index 9e82e1692..449e99ef9 100644 --- a/belt-hash/CHANGELOG.md +++ b/belt-hash/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.1 (2022-11-22) +### Added +- `belt_compress` function ([#520]) + +[#520]: https://github.com/RustCrypto/hashes/pull/520 + ## 0.1.0 (2022-09-23) - Initial release ([#416]) diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 14891c809..a104a1810 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "belt-hash" -version = "0.1.0" +version = "0.1.1" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index 925ca6094..29b9fbad8 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -167,7 +167,7 @@ pub type BeltHash = CoreWrapper; /// Compression function described in the section 6.3.2 #[inline(always)] -fn belt_compress(x1: [u32; 4], x2: [u32; 4], x34: [u32; 8]) -> ([u32; 4], [u32; 8]) { +pub fn belt_compress(x1: [u32; 4], x2: [u32; 4], x34: [u32; 8]) -> ([u32; 4], [u32; 8]) { let x3 = [x34[0], x34[1], x34[2], x34[3]]; let x4 = [x34[4], x34[5], x34[6], x34[7]]; From 62b6ff1c59878b4733c49f8164773c3009e4be03 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 22 Nov 2023 21:01:45 +0300 Subject: [PATCH 302/373] Fix blake2 and ascon-hash CI (#521) --- .github/workflows/ascon-hash.yml | 6 ++++++ .github/workflows/blake2.yml | 1 + 2 files changed, 7 insertions(+) diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml index 7b8e4e9bb..ef41d84b0 100644 --- a/.github/workflows/ascon-hash.yml +++ b/.github/workflows/ascon-hash.yml @@ -42,6 +42,9 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master + # TODO: remove after bump to MSRV 1.60+ + - run: cargo update + - run: cargo update -p zeroize --precise 1.6.0 - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std minimal-versions: @@ -64,4 +67,7 @@ jobs: with: toolchain: ${{ matrix.rust }} - uses: RustCrypto/actions/cargo-hack-install@master + # TODO: remove after bump to MSRV 1.60+ + - run: cargo update + - run: cargo update -p zeroize --precise 1.6.0 - run: cargo hack test --feature-powerset diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 06b2e91b1..bac43c034 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -66,6 +66,7 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} + stable-cmd: cargo hack test --release --feature-powerset --exclude-features simd,simd_opt,simd_asm simd: runs-on: ubuntu-latest From 74dcc278daabd787ed9ec30c66616aa729ae6bbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jan 2024 06:13:36 -0700 Subject: [PATCH 303/373] build(deps): bump cpufeatures from 0.2.11 to 0.2.12 (#524) Bumps [cpufeatures](https://github.com/RustCrypto/utils) from 0.2.11 to 0.2.12. - [Commits](https://github.com/RustCrypto/utils/compare/cpufeatures-v0.2.11...cpufeatures-v0.2.12) --- updated-dependencies: - dependency-name: cpufeatures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ca5e1d309..f019d0cba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,9 +48,9 @@ checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] From 7febf02bfe803782d99663d8fa589d55456f8b10 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 5 Jan 2024 22:14:13 -0800 Subject: [PATCH 304/373] Bump `digest` to v0.11.0-pre.3; MSRV 1.71 (#523) Also bumps crate editions to 2021 where appropriate --- .github/workflows/ascon-hash.yml | 8 +- .github/workflows/belt-hash.yml | 2 +- .github/workflows/blake2.yml | 27 ++--- .github/workflows/fsb.yml | 2 +- .github/workflows/gost94.yml | 18 +--- .github/workflows/groestl.yml | 2 +- .github/workflows/jh.yml | 2 +- .github/workflows/k12.yml | 2 +- .github/workflows/md2.yml | 18 +--- .github/workflows/md4.yml | 18 +--- .github/workflows/md5.yml | 17 +-- .github/workflows/ripemd.yml | 17 +-- .github/workflows/sha1.yml | 27 ++--- .github/workflows/sha2.yml | 18 +--- .github/workflows/sha3.yml | 16 +-- .github/workflows/shabal.yml | 2 +- .github/workflows/skein.yml | 2 +- .github/workflows/sm3.yml | 2 +- .github/workflows/streebog.yml | 16 +-- .github/workflows/tiger.yml | 2 +- .github/workflows/whirlpool.yml | 2 +- Cargo.lock | 180 +++++++++++++++++++++++-------- Cargo.toml | 16 ++- README.md | 46 ++++---- ascon-hash/Cargo.toml | 8 +- ascon-hash/README.md | 6 +- belt-hash/Cargo.toml | 14 +-- belt-hash/README.md | 6 +- belt-hash/src/lib.rs | 4 +- benches/Cargo.toml | 2 +- blake2/Cargo.toml | 11 +- blake2/README.md | 6 +- blake2/src/lib.rs | 2 +- blake2/src/macros.rs | 32 +++--- blake2/tests/mac.rs | 6 +- fsb/Cargo.toml | 13 +-- fsb/README.md | 4 +- gost94/Cargo.toml | 11 +- gost94/src/lib.rs | 2 +- groestl/Cargo.toml | 11 +- groestl/src/lib.rs | 2 +- jh/Cargo.toml | 8 +- jh/src/compressor.rs | 4 +- jh/src/lib.rs | 2 +- k12/Cargo.toml | 16 ++- md2/Cargo.toml | 11 +- md2/src/lib.rs | 6 +- md4/Cargo.toml | 11 +- md4/src/lib.rs | 2 +- md5/Cargo.toml | 13 +-- md5/src/lib.rs | 4 +- ripemd/Cargo.toml | 11 +- ripemd/src/lib.rs | 2 +- ripemd/tests/mod.rs | 11 +- sha1/Cargo.toml | 11 +- sha1/src/compress.rs | 2 +- sha1/src/lib.rs | 2 +- sha2/Cargo.toml | 19 ++-- sha2/src/sha256.rs | 6 +- sha2/src/sha512.rs | 6 +- sha3/Cargo.toml | 11 +- sha3/src/lib.rs | 2 +- sha3/src/macros.rs | 20 ++-- shabal/Cargo.toml | 11 +- shabal/src/core_api.rs | 8 +- shabal/src/lib.rs | 2 +- skein/Cargo.toml | 8 +- skein/benches/skein1024.rs | 2 +- skein/benches/skein256.rs | 2 +- skein/benches/skein512.rs | 2 +- skein/src/lib.rs | 38 +++---- sm3/Cargo.toml | 11 +- streebog/Cargo.toml | 11 +- streebog/src/core_api.rs | 2 +- tiger/Cargo.toml | 11 +- tiger/src/lib.rs | 2 +- whirlpool/Cargo.toml | 11 +- whirlpool/src/lib.rs | 2 +- 78 files changed, 420 insertions(+), 485 deletions(-) diff --git a/.github/workflows/ascon-hash.yml b/.github/workflows/ascon-hash.yml index ef41d84b0..a23198ad0 100644 --- a/.github/workflows/ascon-hash.yml +++ b/.github/workflows/ascon-hash.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.56.0 + msrv: 1.71.0 build: needs: set-msrv @@ -42,9 +42,6 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - # TODO: remove after bump to MSRV 1.60+ - - run: cargo update - - run: cargo update -p zeroize --precise 1.6.0 - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std minimal-versions: @@ -67,7 +64,4 @@ jobs: with: toolchain: ${{ matrix.rust }} - uses: RustCrypto/actions/cargo-hack-install@master - # TODO: remove after bump to MSRV 1.60+ - - run: cargo update - - run: cargo update -p zeroize --precise 1.6.0 - run: cargo hack test --feature-powerset diff --git a/.github/workflows/belt-hash.yml b/.github/workflows/belt-hash.yml index 86fcd7fae..173161990 100644 --- a/.github/workflows/belt-hash.yml +++ b/.github/workflows/belt-hash.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index bac43c034..725e8838c 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv @@ -68,24 +68,25 @@ jobs: working-directory: ${{ github.workflow }} stable-cmd: cargo hack test --release --feature-powerset --exclude-features simd,simd_opt,simd_asm - simd: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: nightly-2021-05-01 - - run: cargo test --features simd - - run: cargo test --features simd_opt - - run: cargo test --features simd_asm +# No longer builds on recent nightlies +# simd: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# - uses: RustCrypto/actions/cargo-cache@master +# - uses: dtolnay/rust-toolchain@master +# with: +# toolchain: nightly-2021-05-01 +# - run: cargo test --features simd +# - run: cargo test --features simd_opt +# - run: cargo test --features simd_asm # Cross-compiled tests cross: strategy: matrix: rust: - - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest + - 1.71.0 - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/fsb.yml b/.github/workflows/fsb.yml index 5fa5fdb1b..1156dc584 100644 --- a/.github/workflows/fsb.yml +++ b/.github/workflows/fsb.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/gost94.yml b/.github/workflows/gost94.yml index 8da43ab24..fe95c984a 100644 --- a/.github/workflows/gost94.yml +++ b/.github/workflows/gost94.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -65,19 +65,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv-41: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - run: cargo test - - run: cargo test --no-default-features diff --git a/.github/workflows/groestl.yml b/.github/workflows/groestl.yml index 6bcd030d7..0d75d8e2b 100644 --- a/.github/workflows/groestl.yml +++ b/.github/workflows/groestl.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/jh.yml b/.github/workflows/jh.yml index 6000c3efe..8b583b874 100644 --- a/.github/workflows/jh.yml +++ b/.github/workflows/jh.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/k12.yml b/.github/workflows/k12.yml index 569567ed2..3e52e7acf 100644 --- a/.github/workflows/k12.yml +++ b/.github/workflows/k12.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.56.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/md2.yml b/.github/workflows/md2.yml index d721cfdcc..7fae45cde 100644 --- a/.github/workflows/md2.yml +++ b/.github/workflows/md2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -65,19 +65,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv-41: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/md4.yml b/.github/workflows/md4.yml index 08af3f065..55761a647 100644 --- a/.github/workflows/md4.yml +++ b/.github/workflows/md4.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -65,19 +65,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index a1d2ce88d..fec0dcf71 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -80,18 +80,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - run: cargo test diff --git a/.github/workflows/ripemd.yml b/.github/workflows/ripemd.yml index 84294eb38..1327ce1da 100644 --- a/.github/workflows/ripemd.yml +++ b/.github/workflows/ripemd.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -66,18 +66,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: merge with test on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - 1.41.0 # MSRV - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ matrix.rust }} - - run: cargo test --no-default-features diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index e9ae90cbc..e1c18388a 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -21,9 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV - # in the `test-msrv` job. - msrv: 1.57.0 + msrv: 1.71.0 # Builds for no_std platforms build: @@ -115,11 +113,10 @@ jobs: matrix: include: # 64-bit Windows (GNU) - # TODO(tarcieri): try re-enabling this when we bump MSRV - #- target: x86_64-pc-windows-gnu - # toolchain: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-pc-windows-gnu - rust: stable + toolchain: ${{needs.set-msrv.outputs.msrv}} + - target: x86_64-pc-windows-gnu + toolchain: stable runs-on: windows-latest steps: @@ -127,7 +124,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: ${{ matrix.rust }} + toolchain: ${{ matrix.toolchain }} targets: ${{ matrix.target }} - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} @@ -149,7 +146,7 @@ jobs: strategy: matrix: rust: - - 1.51.0 # 1.41-1.50 `--features` can't be used inside virtual manifest + - 1.71.0 - stable target: - aarch64-unknown-linux-gnu @@ -176,15 +173,3 @@ jobs: package: ${{ github.workflow }} target: ${{ matrix.target }} features: ${{ matrix.features }} - - # TODO: remove on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.41.0 - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 1ce8ac3ae..577a88662 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -21,9 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV - # in the `test-msrv` job. - msrv: 1.59.0 + msrv: 1.71.0 # Builds for no_std platforms build: @@ -32,7 +30,7 @@ jobs: strategy: matrix: rust: - - 1.59 + - 1.71.0 - stable target: - thumbv7em-none-eabi @@ -168,15 +166,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # TODO: remove on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.41.0 - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index ae0ea4088..12183917e 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -21,9 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - # Crate supports MSRV 1.41 without `oid` feature. We test true MSRV - # in the `test-msrv` job. - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -95,15 +93,3 @@ jobs: package: ${{ github.workflow }} target: ${{ matrix.target }} features: ${{ matrix.features }} - - # TODO: remove on MSRV bump to 1.57 or higher - test-msrv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.41.0 - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/shabal.yml b/.github/workflows/shabal.yml index fe8236b85..dc14fde77 100644 --- a/.github/workflows/shabal.yml +++ b/.github/workflows/shabal.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/skein.yml b/.github/workflows/skein.yml index e66d8de18..7374fa6b0 100644 --- a/.github/workflows/skein.yml +++ b/.github/workflows/skein.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/sm3.yml b/.github/workflows/sm3.yml index 633126e1f..2ae8c32db 100644 --- a/.github/workflows/sm3.yml +++ b/.github/workflows/sm3.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/streebog.yml b/.github/workflows/streebog.yml index 6d18449bd..c52d42c87 100644 --- a/.github/workflows/streebog.yml +++ b/.github/workflows/streebog.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.57.0 + msrv: 1.71.0 build: needs: set-msrv @@ -65,17 +65,3 @@ jobs: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - # `oid` feature bumps MSRV to 1.57, so we temporarily split this job. - test-msrv: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - profile: minimal - toolchain: 1.41.0 - override: true - - run: cargo test --no-default-features - - run: cargo test diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 38371a4da..43a7334fa 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.56.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index c797d3ffd..5e360c6ba 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.41.0 + msrv: 1.71.0 build: needs: set-msrv diff --git a/Cargo.lock b/Cargo.lock index f019d0cba..92ad0d1b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,9 +2,43 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "ascon" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e716048a18530cce4684daf98a7563a499d710e1ed8ef35567fcb43a7c5f1" +dependencies = [ + "zeroize", +] + +[[package]] +name = "ascon-hash" +version = "0.3.0-pre" +dependencies = [ + "ascon", + "digest", + "hex", + "spectral", +] + +[[package]] +name = "belt-block" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" + +[[package]] +name = "belt-hash" +version = "0.2.0-pre" +dependencies = [ + "belt-block", + "digest", + "hex-literal", +] + [[package]] name = "blake2" -version = "0.10.6" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -18,11 +52,11 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "72bc448e41b30773616b4f51a23f1a51634d41ce0d06a9bf6c3065ee85e227a1" dependencies = [ - "generic-array", + "crypto-common", ] [[package]] @@ -42,9 +76,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "const-oid" -version = "0.9.5" +version = "0.10.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "f7e3352a27098ba6b09546e5f13b15165e6a88b5c2723afecb3ea9576b27e3ea" [[package]] name = "cpufeatures" @@ -57,19 +91,20 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.2.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "cc17eb697364b18256ec92675ebe6b7b153d2f1041e568d74533c5d0fc1ca162" dependencies = [ - "generic-array", - "typenum", + "getrandom", + "hybrid-array", + "rand_core", ] [[package]] name = "digest" -version = "0.10.7" +version = "0.11.0-pre.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "eb3be3c52e023de5662dc05a32f747d09a1d6024fdd1f64b0850e373269efb43" dependencies = [ "blobby", "block-buffer", @@ -80,7 +115,7 @@ dependencies = [ [[package]] name = "fsb" -version = "0.1.3" +version = "0.2.0-pre" dependencies = [ "digest", "hex-literal", @@ -88,18 +123,19 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "getrandom" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ - "typenum", - "version_check", + "cfg-if", + "libc", + "wasi", ] [[package]] name = "gost94" -version = "0.10.4" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -107,29 +143,49 @@ dependencies = [ [[package]] name = "groestl" -version = "0.10.1" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", ] +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "hex-literal" -version = "0.2.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hybrid-array" +version = "0.2.0-pre.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27fbaf242418fe980caf09ed348d5a6aeabe71fc1bd8bebad641f4591ae0a46d" dependencies = [ - "hex-literal-impl", - "proc-macro-hack", + "typenum", ] [[package]] -name = "hex-literal-impl" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8" +name = "jh" +version = "0.2.0-pre" dependencies = [ - "proc-macro-hack", + "digest", + "hex-literal", + "ppv-lite86", +] + +[[package]] +name = "k12" +version = "0.4.0-pre" +dependencies = [ + "digest", + "hex-literal", + "sha3", ] [[package]] @@ -149,7 +205,7 @@ checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "md-5" -version = "0.10.6" +version = "0.11.0-pre" dependencies = [ "cfg-if", "digest", @@ -159,7 +215,7 @@ dependencies = [ [[package]] name = "md2" -version = "0.10.2" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -167,7 +223,7 @@ dependencies = [ [[package]] name = "md4" -version = "0.10.2" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -183,14 +239,23 @@ dependencies = [ ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "ppv-lite86" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] [[package]] name = "ripemd" -version = "0.1.3" +version = "0.2.0-pre" dependencies = [ "digest", "hex-literal", @@ -198,7 +263,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.6" +version = "0.11.0-pre" dependencies = [ "cfg-if", "cpufeatures", @@ -218,7 +283,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.11.0-pre" dependencies = [ "cfg-if", "cpufeatures", @@ -238,7 +303,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.8" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -248,23 +313,38 @@ dependencies = [ [[package]] name = "shabal" -version = "0.4.1" +version = "0.5.0-pre" +dependencies = [ + "digest", + "hex-literal", +] + +[[package]] +name = "skein" +version = "0.2.0-pre" dependencies = [ "digest", "hex-literal", + "threefish", ] [[package]] name = "sm3" -version = "0.4.2" +version = "0.5.0-pre" dependencies = [ "digest", "hex-literal", ] +[[package]] +name = "spectral" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" + [[package]] name = "streebog" -version = "0.10.2" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", @@ -276,9 +356,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +[[package]] +name = "threefish" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a693d0c8cf16973fac5a93fbe47b8c6452e7097d4fcac49f3d7a18e39c76e62e" + [[package]] name = "tiger" -version = "0.2.1" +version = "0.3.0-pre" dependencies = [ "digest", "hex-literal", @@ -291,14 +377,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] -name = "version_check" -version = "0.9.4" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "whirlpool" -version = "0.10.4" +version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", diff --git a/Cargo.toml b/Cargo.toml index 790a09c7f..26637761e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,14 @@ [workspace] -# This causes issues like https://github.com/RustCrypto/hashes/issues/396 -# Do not uncomment it until MSRV is bumped to 1.51 or higher. -# resolver = "2" +resolver = "2" members = [ + "ascon-hash", + "belt-hash", "blake2", "fsb", "gost94", "groestl", + "jh", + "k12", "md2", "md4", "md5", @@ -15,18 +17,12 @@ members = [ "sha2", "sha3", "shabal", + "skein", "sm3", "streebog", "tiger", "whirlpool", ] -exclude = [ - "ascon-hash", - "belt-hash", - "jh", - "k12", - "skein", -] [profile.dev] opt-level = 2 diff --git a/README.md b/README.md index 8603430be..3e4c81dbc 100644 --- a/README.md +++ b/README.md @@ -13,27 +13,27 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| -| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.56][msrv-1.56] | :green_heart: | -| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.57][msrv-1.57] | :green_heart: | -| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | -| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.57][msrv-1.57] | :green_heart: | -| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | -| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | -| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | -| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | -| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.57][msrv-1.57] | :green_heart: | -| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.41][msrv-1.41] | :yellow_heart: | -| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.41][msrv-1.41] | :green_heart: | +| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.65][msrv-1.65] | :yellow_heart: | +| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | +| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | +| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | +| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | +| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.65][msrv-1.65] | :yellow_heart: | +| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.65][msrv-1.65] | :green_heart: | NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. @@ -233,9 +233,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes -[msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg -[msrv-1.56]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg -[msrv-1.57]: https://img.shields.io/badge/rustc-1.57.0+-blue.svg +[msrv-1.65]: https://img.shields.io/badge/rustc-1.65.0+-blue.svg [//]: # (crates) diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index cb3707cc7..58575d87e 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ascon-hash" -version = "0.2.0" +version = "0.3.0-pre" description = "Implementation of the Ascon and AsconA hashes and XOFs" authors = [ "Sebastian Ramacher ", @@ -13,12 +13,10 @@ documentation = "https://docs.rs/ascon-hash" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "ascon"] categories = ["cryptography", "no-std"] -rust-version = "1.56" - -[workspace] +rust-version = "1.71" [dependencies] -digest = { version = "0.10", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.3", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] diff --git a/ascon-hash/README.md b/ascon-hash/README.md index e26b878f0..33f24c326 100644 --- a/ascon-hash/README.md +++ b/ascon-hash/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the lightweight cryptographic hash functions [AsconHash and AsconAHash][1] and the extendable output functions (XOF) AsconXOF @@ -21,7 +21,7 @@ USE AT YOUR OWN RISK! ## Minimum Supported Rust Version -This crate requires **Rust 1.56** at a minimum. +This crate requires **Rust 1.65** at a minimum. We may change the MSRV in the future, but it will be accompanied by a minor version bump. @@ -48,7 +48,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/ascon-hash/badge.svg [docs-link]: https://docs.rs/ascon-hash/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ascon-hash/badge.svg?branch=master diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index a104a1810..05d0726e0 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,30 +1,26 @@ [package] name = "belt-hash" -version = "0.1.1" +version = "0.2.0-pre" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" documentation = "https://docs.rs/belt-hash" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10.4" +digest = "=0.11.0-pre.3" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "0.10.4", features = ["dev"] } -hex-literal = "0.3.3" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] oid = ["digest/oid"] - -# TODO: remove when crate will be part of the root workspace -[profile.dev] -opt-level = 2 diff --git a/belt-hash/README.md b/belt-hash/README.md index b9b03a24a..f515ceaa1 100644 --- a/belt-hash/README.md +++ b/belt-hash/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [BelT] hash function specified in [STB 34.101.31-2020]. @@ -13,7 +13,7 @@ Pure Rust implementation of the [BelT] hash function specified in [STB 34.101.31 ## Minimum Supported Rust Version -Rust **1.57** or higher. +Rust **1.65** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/belt-hash/badge.svg [docs-link]: https://docs.rs/belt-hash [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/belt-hash/badge.svg?branch=master diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index 29b9fbad8..e92dfc6bb 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -13,7 +13,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); //! let expected = hex!( @@ -111,7 +111,7 @@ impl FixedOutputCore for BeltHashCore { let pos = buffer.get_pos(); if pos != 0 { let block = buffer.pad_with_zeros(); - self.compress_block(block); + self.compress_block(&block); } let bs = Self::BlockSize::USIZE as u128; let r = encode_r(8 * ((bs * self.r) + pos as u128)); diff --git a/benches/Cargo.toml b/benches/Cargo.toml index 26e57ce6c..d57094bbc 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -5,7 +5,7 @@ authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" description = "Criterion benchmarks of the hash crates" edition = "2021" -rust-version = "1.59" +rust-version = "1.71" publish = false [workspace] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index adb06e061..cd132e7a5 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "blake2" -version = "0.10.6" +version = "0.11.0-pre" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/blake2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = { version = "0.10.7", features = ["mac"] } +digest = { version = "=0.11.0-pre.3", features = ["mac"] } [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/blake2/README.md b/blake2/README.md index 913b729e9..1575ab8bb 100644 --- a/blake2/README.md +++ b/blake2/README.md @@ -2,10 +2,10 @@ [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] +[![Build Status][build-image]][build-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] Pure Rust implementation of the [BLAKE2 hash function][1] family. @@ -13,7 +13,7 @@ Pure Rust implementation of the [BLAKE2 hash function][1] family. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.65** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -47,7 +47,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2 diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 85a6b1c28..a18d448ea 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -84,6 +84,7 @@ pub use digest::{self, Digest}; use core::{convert::TryInto, fmt, marker::PhantomData, ops::Div}; use digest::{ + array::{Array, ArraySize}, block_buffer::{Lazy, LazyBuffer}, consts::{U128, U32, U4, U64}, core_api::{ @@ -92,7 +93,6 @@ use digest::{ VariableOutputCore, }, crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser}, - generic_array::{ArrayLength, GenericArray}, typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned}, FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update, }; diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index 917a212c8..bf92d5039 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -44,8 +44,7 @@ macro_rules! blake2_impl { // salt is two words long if salt.len() < length { - let mut padded_salt = - GenericArray::>::Output>::default(); + let mut padded_salt = Array::>::Output>::default(); for i in 0..salt.len() { padded_salt[i] = salt[i]; } @@ -63,8 +62,7 @@ macro_rules! blake2_impl { // persona is also two words long if persona.len() < length { - let mut padded_persona = - GenericArray::>::Output>::default(); + let mut padded_persona = Array::>::Output>::default(); for i in 0..persona.len() { padded_persona[i] = persona[i]; } @@ -95,7 +93,7 @@ macro_rules! blake2_impl { fn finalize_with_flag( &mut self, - final_block: &GenericArray, + final_block: &Array, flag: $word, out: &mut Output, ) { @@ -224,7 +222,7 @@ macro_rules! blake2_impl { ) { self.t += buffer.get_pos() as u64; let block = buffer.pad_with_zeros(); - self.finalize_with_flag(block, 0, out); + self.finalize_with_flag(&block, 0, out); } } @@ -259,7 +257,7 @@ macro_rules! blake2_mac_impl { #[doc=$doc] pub struct $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { core: $hash, @@ -271,7 +269,7 @@ macro_rules! blake2_mac_impl { impl $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { /// Create new instance using provided key, salt, and persona. @@ -309,7 +307,7 @@ macro_rules! blake2_mac_impl { impl KeySizeUser for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { type KeySize = $max_size; @@ -317,7 +315,7 @@ macro_rules! blake2_mac_impl { impl KeyInit for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { #[inline] @@ -349,7 +347,7 @@ macro_rules! blake2_mac_impl { impl Update for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { #[inline] @@ -361,7 +359,7 @@ macro_rules! blake2_mac_impl { impl OutputSizeUser for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size> + 'static, + OutSize: ArraySize + IsLessOrEqual<$max_size> + 'static, LeEq: NonZero, { type OutputSize = OutSize; @@ -369,7 +367,7 @@ macro_rules! blake2_mac_impl { impl FixedOutput for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size> + 'static, + OutSize: ArraySize + IsLessOrEqual<$max_size> + 'static, LeEq: NonZero, { #[inline] @@ -384,7 +382,7 @@ macro_rules! blake2_mac_impl { #[cfg(feature = "reset")] impl Reset for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { fn reset(&mut self) { @@ -399,7 +397,7 @@ macro_rules! blake2_mac_impl { #[cfg(feature = "reset")] impl FixedOutputReset for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { #[inline] @@ -414,14 +412,14 @@ macro_rules! blake2_mac_impl { impl MacMarker for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { } impl fmt::Debug for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArraySize + IsLessOrEqual<$max_size>, LeEq: NonZero, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index dd75a5703..44c3244f3 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -8,15 +8,15 @@ new_test!(blake2s_mac, "blake2s/mac", blake2::Blake2sMac256); #[test] fn blake2b_new_test() { - use blake2::digest::{generic_array::GenericArray, KeyInit, Mac}; + use blake2::digest::{array::Array, KeyInit, Mac}; fn run(key: &[u8]) { const DATA: &[u8] = &[42; 300]; - let res1 = ::new(GenericArray::from_slice(key)) + let res1 = T::new(Array::ref_from_slice(key)) .chain_update(DATA) .finalize() .into_bytes(); - let res2 = ::new_from_slice(key) + let res2 = T::new_from_slice(key) .unwrap() .chain_update(DATA) .finalize() diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 399cd970d..800e03e1c 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -1,23 +1,24 @@ [package] name = "fsb" -version = "0.1.3" +version = "0.2.0-pre" description = "FSB hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/fsb" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" -whirlpool = { version = "0.10.1", path = "../whirlpool", default-features = false } +digest = "=0.11.0-pre.3" +whirlpool = { version = "=0.11.0-pre", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/fsb/README.md b/fsb/README.md index bff04069c..09bbf3625 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [FSB hash function][1] family. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.65** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -47,7 +47,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.47+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 7fa75ab7f..3657063b9 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "gost94" -version = "0.10.4" +version = "0.11.0-pre" description = "GOST R 34.11-94 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/gost94" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 1a55faa1e..f530a1bcc 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -11,7 +11,7 @@ //! // process input message //! hasher.update("The quick brown fox jumps over the lazy dog"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 87915c734..c86567772 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "groestl" -version = "0.10.1" +version = "0.11.0-pre" description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/groestl" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index fce249751..730477f3d 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -12,7 +12,7 @@ //! // process input message //! hasher.update(b"my message"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" diff --git a/jh/Cargo.toml b/jh/Cargo.toml index 28e8f539d..4251bfda4 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "jh" -version = "0.1.0" +version = "0.2.0-pre" description = "Pure Rust implementation of the JH cryptographic hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/jh" repository = "https://github.com/RustCrypto/hashes" @@ -13,9 +13,9 @@ keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "=0.11.0-pre.3" hex-literal = "0.4" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "=0.11.0-pre.3", features = ["dev"] } diff --git a/jh/src/compressor.rs b/jh/src/compressor.rs index f75cde8a0..a1b2ea2ac 100644 --- a/jh/src/compressor.rs +++ b/jh/src/compressor.rs @@ -1,7 +1,7 @@ #![allow(non_upper_case_globals)] use core::ptr; -use digest::generic_array::{typenum::U64, GenericArray}; +use digest::array::{typenum::U64, Array}; use simd::{dispatch, vec128_storage, AndNot, Machine, Swap64, VZip, Vec2}; #[rustfmt::skip] @@ -167,7 +167,7 @@ impl Compressor { } #[inline] - pub(crate) fn update(&mut self, data: &GenericArray) { + pub(crate) fn update(&mut self, data: &Array) { f8(unsafe { &mut self.cv }, data.as_ptr()); } diff --git a/jh/src/lib.rs b/jh/src/lib.rs index 9dcea8940..93e6e891b 100644 --- a/jh/src/lib.rs +++ b/jh/src/lib.rs @@ -49,13 +49,13 @@ pub use digest::{self, Digest}; use crate::compressor::Compressor; use core::fmt; use digest::{ + array::typenum::{Unsigned, U28, U32, U48, U64}, block_buffer::Eager, core_api::{ AlgorithmName, Block, Buffer, BufferKindUser, CoreWrapper, CtVariableCoreWrapper, TruncSide, UpdateCore, VariableOutputCore, }, crypto_common::{BlockSizeUser, OutputSizeUser}, - generic_array::typenum::{Unsigned, U28, U32, U48, U64}, HashMarker, InvalidOutputSize, Output, }; diff --git a/k12/Cargo.toml b/k12/Cargo.toml index f0679ea53..2af9e79d8 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.3.0" +version = "0.4.0-pre" description = "Pure Rust implementation of the KangarooTwelve hash function" authors = ["RustCrypto Developers", "Diggory Hardy "] license = "Apache-2.0 OR MIT" @@ -10,20 +10,16 @@ documentation = "https://docs.rs/k12" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.56" +rust-version = "1.71" [dependencies] -digest = { version = "0.10.7", default-features = false, features = ["core-api"] } -sha3 = { version = "0.10.8", default-features = false } +digest = { version = "=0.11.0-pre.3", default-features = false, features = ["core-api"] } +sha3 = { version = "=0.11.0-pre", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "0.10.7", features = ["alloc", "dev"] } -hex-literal = "0.3" +digest = { version = "=0.11.0-pre.3", features = ["alloc", "dev"] } +hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] - -# TODO: remove when crate will be part of the root workspace -[profile.dev] -opt-level = 2 diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 679594a26..3dead49f7 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "md2" -version = "0.10.2" +version = "0.11.0-pre" license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/md2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 9ab2750b1..7beb7effe 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -12,7 +12,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 16] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("d9cce882ee690a5c1ce70beff3a78c77")); @@ -109,10 +109,10 @@ impl FixedOutputCore for Md2Core { fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let pos = buffer.get_pos(); let rem = buffer.remaining() as u8; - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos..].iter_mut().for_each(|b| *b = rem); - self.compress(block); + self.compress(&block); let checksum = self.checksum; self.compress(&checksum); out.copy_from_slice(&self.x[0..16]); diff --git a/md4/Cargo.toml b/md4/Cargo.toml index b55aa5fd9..c79370eeb 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "md4" -version = "0.10.2" +version = "0.11.0-pre" description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/md4" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 8ef33aee8..acceb0e32 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -12,7 +12,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 16] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("aa010fbc1d14c795d86ef98c95479d17")); diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 8103cd8a4..1867929bc 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,29 +1,30 @@ [package] name = "md-5" -version = "0.10.6" +version = "0.11.0-pre" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/md-5" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md5", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [lib] name = "md5" [dependencies] -digest = "0.10.7" -cfg-if = "1.0" +digest = "=0.11.0-pre.3" +cfg-if = "1" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index a45de2f11..59f5b84d4 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -12,7 +12,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 16] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("5eb63bbbe01eeed093cb22bb8f5acdc3")); @@ -137,7 +137,7 @@ const BLOCK_SIZE: usize = ::BlockSize::USIZE; #[inline(always)] fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { - // SAFETY: GenericArray and [u8; 64] have + // SAFETY: Array and [u8; 64] have // exactly the same memory layout let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; unsafe { core::slice::from_raw_parts(p, blocks.len()) } diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 88c69aa28..8eb7f9f65 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "ripemd" -version = "0.1.3" +version = "0.2.0-pre" description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/ripemd" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 1a28ed76b..5bb19b977 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -18,7 +18,7 @@ //! // process input message //! hasher.update(b"Hello world!"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 20] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); diff --git a/ripemd/tests/mod.rs b/ripemd/tests/mod.rs index 0dd16b0cf..96d3c0086 100644 --- a/ripemd/tests/mod.rs +++ b/ripemd/tests/mod.rs @@ -18,10 +18,7 @@ fn ripemd128_1mil_a() { for _ in 0..1000 { h.update(&buf[..]); } - assert_eq!( - h.finalize(), - hex!("4a7f5723f954eba1216c9d8f6320431f").into() - ); + assert_eq!(h.finalize(), hex!("4a7f5723f954eba1216c9d8f6320431f")); } #[test] @@ -43,7 +40,7 @@ fn ripemd160_1mil_a() { } assert_eq!( h.finalize(), - hex!("52783243c1697bdbe16d37f97f68f08325dc1528").into() + hex!("52783243c1697bdbe16d37f97f68f08325dc1528") ); } @@ -66,7 +63,7 @@ fn ripemd256_1mil_a() { } assert_eq!( h.finalize(), - hex!("ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978").into() + hex!("ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978") ); } @@ -93,7 +90,7 @@ fn ripemd320_1mil_a() { hex!(" bdee37f4371e20646b8b0d862dda16292ae36f40 965e8c8509e63d1dbddecc503e2b63eb9245bb66 - ").into() + ") ); } diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 3f4b8d3ff..2e87fb942 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,18 +1,19 @@ [package] name = "sha1" -version = "0.10.6" +version = "0.11.0-pre" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/sha1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] @@ -20,8 +21,8 @@ cpufeatures = "0.2" sha1-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index 6f7e40c41..f2bd14426 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -32,7 +32,7 @@ const BLOCK_SIZE: usize = ::BlockSize::USIZE; /// SHA-1 compression function #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress(state: &mut [u32; 5], blocks: &[Block]) { - // SAFETY: GenericArray and [u8; 64] have + // SAFETY: Array and [u8; 64] have // exactly the same memory layout let blocks: &[[u8; BLOCK_SIZE]] = unsafe { &*(blocks as *const _ as *const [[u8; BLOCK_SIZE]]) }; diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 25e867e0f..5ea8de75e 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -33,7 +33,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 20] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index a3dafeaa2..e2933ff5f 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.8" +version = "0.11.0-pre" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -8,32 +8,31 @@ including SHA-224, SHA-256, SHA-384, and SHA-512. authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" -cfg-if = "1.0" +digest = "=0.11.0-pre.3" +cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] # Enable OID support. asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates -# Use assembly backend for LoongArch64 targets -# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates -loongarch64_asm = [] +loongarch64_asm = [] # WARNING: this feature SHOULD NOT be enabled by library crates compress = [] # Expose compress functions force-soft = [] # Force software implementation asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 8f8287836..7266137f0 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,4 +1,4 @@ -use digest::{generic_array::GenericArray, typenum::U64}; +use digest::{array::Array, typenum::U64}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -31,8 +31,8 @@ cfg_if::cfg_if! { /// This is a low-level "hazmat" API which provides direct access to the core /// functionality of SHA-256. #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress256(state: &mut [u32; 8], blocks: &[GenericArray]) { - // SAFETY: GenericArray and [u8; 64] have +pub fn compress256(state: &mut [u32; 8], blocks: &[Array]) { + // SAFETY: Array and [u8; 64] have // exactly the same memory layout let p = blocks.as_ptr() as *const [u8; 64]; let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index dfe0b454f..5c3590cf3 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,4 +1,4 @@ -use digest::{generic_array::GenericArray, typenum::U128}; +use digest::{array::Array, typenum::U128}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -33,8 +33,8 @@ cfg_if::cfg_if! { /// This is a low-level "hazmat" API which provides direct access to the core /// functionality of SHA-512. #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress512(state: &mut [u64; 8], blocks: &[GenericArray]) { - // SAFETY: GenericArray and [u8; 64] have +pub fn compress512(state: &mut [u64; 8], blocks: &[Array]) { + // SAFETY: Array and [u8; 64] have // exactly the same memory layout let p = blocks.as_ptr() as *const [u8; 128]; let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 652630b5d..2e057f0e9 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.10.8" +version = "0.11.0-pre" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as @@ -9,20 +9,21 @@ the accelerated variant TurboSHAKE authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/sha3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" keccak = "0.1.4" zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 0f87ee580..a7bc26b63 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -72,6 +72,7 @@ use core::fmt; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ + array::typenum::Unsigned, block_buffer::Eager, consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}, core_api::{ @@ -79,7 +80,6 @@ use digest::{ ExtendableOutputCore, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, XofReaderCore, XofReaderCoreWrapper, }, - generic_array::typenum::Unsigned, HashMarker, Output, }; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index f26291305..b7e346c32 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -39,12 +39,12 @@ macro_rules! impl_sha3 { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = $pad; let n = block.len(); block[n - 1] |= 0x80; - self.state.absorb_block(block); + self.state.absorb_block(&block); self.state.as_bytes(out); } @@ -135,12 +135,12 @@ macro_rules! impl_shake { #[inline] fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = $pad; let n = block.len(); block[n - 1] |= 0x80; - self.state.absorb_block(block); + self.state.absorb_block(&block); $reader { state: self.state.clone(), } @@ -281,12 +281,12 @@ macro_rules! impl_turbo_shake { #[inline] fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = self.domain_separation; let n = block.len(); block[n - 1] |= 0x80; - self.state.absorb_block(block); + self.state.absorb_block(&block); $reader { state: self.state.clone(), } @@ -424,10 +424,10 @@ macro_rules! impl_cshake { ); buffer.digest_blocks(customization, |blocks| { for block in blocks { - state.absorb_block(block); + state.absorb_block(&block); } }); - state.absorb_block(buffer.pad_with_zeros()); + state.absorb_block(&buffer.pad_with_zeros()); Self { padding: $cshake_pad, @@ -463,12 +463,12 @@ macro_rules! impl_cshake { #[inline] fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = self.padding; let n = block.len(); block[n - 1] |= 0x80; - self.state.absorb_block(block); + self.state.absorb_block(&block); $reader { state: self.state.clone(), } diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 87c0c3905..abc5e4e75 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "shabal" -version = "0.4.1" +version = "0.5.0-pre" description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/shabal" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs index 561117522..ce5df75df 100644 --- a/shabal/src/core_api.rs +++ b/shabal/src/core_api.rs @@ -1,18 +1,18 @@ use crate::consts; use core::{convert::TryInto, fmt, mem, num::Wrapping}; use digest::{ + array::Array, block_buffer::Eager, consts::U64, core_api::{ AlgorithmName, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, - generic_array::GenericArray, HashMarker, InvalidOutputSize, Output, }; type BlockSize = U64; -type Block = GenericArray; +type Block = Array; type M = [Wrapping; 16]; /// Inner state of Shabal hash functions. @@ -216,10 +216,10 @@ impl VariableOutputCore for ShabalVarCore { #[inline] fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = 0x80; - let m = read_m(block); + let m = read_m(&block); self.add_m(&m); self.xor_w(); self.perm(&m); diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index 9329692bd..bb529aa4b 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -23,7 +23,7 @@ //! // process input message //! hasher.update(b"helloworld"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" diff --git a/skein/Cargo.toml b/skein/Cargo.toml index 5f1d59871..538df58f9 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "skein" -version = "0.1.0" +version = "0.2.0-pre" description = "Skein hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.57" +rust-version = "1.71" readme = "README.md" documentation = "https://docs.rs/skein" repository = "https://github.com/RustCrypto/hashes" @@ -13,9 +13,9 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "=0.11.0-pre.3" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" diff --git a/skein/benches/skein1024.rs b/skein/benches/skein1024.rs index 2101cdb34..bb9881978 100644 --- a/skein/benches/skein1024.rs +++ b/skein/benches/skein1024.rs @@ -1,7 +1,7 @@ #![feature(test)] extern crate test; -use digest::{bench_update, generic_array::typenum::U128}; +use digest::{array::typenum::U128, bench_update}; use skein::Skein1024; use test::Bencher; diff --git a/skein/benches/skein256.rs b/skein/benches/skein256.rs index c2646fc79..8b56987f5 100644 --- a/skein/benches/skein256.rs +++ b/skein/benches/skein256.rs @@ -1,7 +1,7 @@ #![feature(test)] extern crate test; -use digest::{bench_update, generic_array::typenum::U32}; +use digest::{array::typenum::U32, bench_update}; use skein::Skein256; use test::Bencher; diff --git a/skein/benches/skein512.rs b/skein/benches/skein512.rs index 727db6989..c0183de8c 100644 --- a/skein/benches/skein512.rs +++ b/skein/benches/skein512.rs @@ -1,7 +1,7 @@ #![feature(test)] extern crate test; -use digest::{bench_update, generic_array::typenum::U64}; +use digest::{array::typenum::U64, bench_update}; use skein::Skein512; use test::Bencher; diff --git a/skein/src/lib.rs b/skein/src/lib.rs index 6f6bcf76e..57a489034 100644 --- a/skein/src/lib.rs +++ b/skein/src/lib.rs @@ -46,13 +46,13 @@ pub use digest::{self, consts, Digest}; use core::{fmt, marker::PhantomData}; use digest::{ + array::{typenum::Unsigned, Array, ArraySize}, block_buffer::Lazy, consts::{U128, U32, U64}, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::{typenum::Unsigned, ArrayLength, GenericArray}, HashMarker, Output, }; use threefish::{Threefish1024, Threefish256, Threefish512}; @@ -76,13 +76,13 @@ macro_rules! define_hasher { #[doc = $alg_name] #[doc = " core hasher state"] #[derive(Clone)] - pub struct $name + 'static> { + pub struct $name { t: [u64; 2], x: [u64; <$state_bytes>::USIZE / 8], _pd: PhantomData, } - impl + 'static> $name { + impl $name { fn blank_state(t1: u64, x: [u64; <$state_bytes>::USIZE / 8]) -> Self { Self { t: [0, t1], @@ -91,11 +91,7 @@ macro_rules! define_hasher { } } - fn process_block( - &mut self, - block: &GenericArray, - byte_count_add: usize, - ) { + fn process_block(&mut self, block: &Array, byte_count_add: usize) { const STATE_WORDS: usize = <$state_bytes>::USIZE / 8; self.t[0] += byte_count_add as u64; @@ -116,21 +112,21 @@ macro_rules! define_hasher { } } - impl HashMarker for $name where N: ArrayLength + 'static {} + impl HashMarker for $name where N: ArraySize + 'static {} - impl + 'static> BlockSizeUser for $name { + impl BlockSizeUser for $name { type BlockSize = $state_bytes; } - impl + 'static> BufferKindUser for $name { + impl BufferKindUser for $name { type BufferKind = Lazy; } - impl + 'static> OutputSizeUser for $name { + impl OutputSizeUser for $name { type OutputSize = N; } - impl + 'static> UpdateCore for $name { + impl UpdateCore for $name { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { for block in blocks { @@ -139,17 +135,17 @@ macro_rules! define_hasher { } } - impl + 'static> FixedOutputCore for $name { + impl FixedOutputCore for $name { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { self.t[1] |= T1_FLAG_FINAL; let pos = buffer.get_pos(); let final_block = buffer.pad_with_zeros(); - self.process_block(final_block, pos); + self.process_block(&final_block, pos); // run Threefish in "counter mode" to generate output let flag = T1_FLAG_FIRST | T1_BLK_TYPE_OUT | T1_FLAG_FINAL; - let mut block = GenericArray::::default(); + let mut block = Array::::default(); for (i, chunk) in out.chunks_mut(<$state_bytes>::USIZE).enumerate() { let mut ctr = Self::blank_state(flag, self.x); @@ -163,7 +159,7 @@ macro_rules! define_hasher { } } - impl + 'static> Default for $name { + impl Default for $name { fn default() -> Self { // build and process config block let mut state = Self::blank_state( @@ -171,7 +167,7 @@ macro_rules! define_hasher { Default::default(), ); - let mut cfg = GenericArray::::default(); + let mut cfg = Array::::default(); cfg[..8].copy_from_slice(&SCHEMA_VER.to_le_bytes()); cfg[8..16].copy_from_slice(&(N::to_u64() * 8).to_le_bytes()); cfg[16..24].copy_from_slice(&CFG_TREE_INFO_SEQUENTIAL.to_le_bytes()); @@ -185,20 +181,20 @@ macro_rules! define_hasher { } } - impl + 'static> Reset for $name { + impl Reset for $name { #[inline] fn reset(&mut self) { *self = Default::default(); } } - impl + 'static> AlgorithmName for $name { + impl AlgorithmName for $name { fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str(stringify!($full_name)) } } - impl + 'static> fmt::Debug for $name { + impl fmt::Debug for $name { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { write!(f, "{}<{}> {{ .. }}", stringify!($name), N::USIZE) } diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index c1d46567b..9d5dc3ca8 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "sm3" -version = "0.4.2" +version = "0.5.0-pre" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/sm3" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index bc5bddc54..2099a90f9 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "streebog" -version = "0.10.2" +version = "0.11.0-pre" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/streebog" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index a9bd09b06..d143aedcf 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -140,7 +140,7 @@ impl VariableOutputCore for StreebogVarCore { #[inline] fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let pos = buffer.get_pos(); - let block = buffer.pad_with_zeros(); + let mut block = buffer.pad_with_zeros(); block[pos] = 1; self.compress(block.as_ref(), pos as u64); self.g(&[0u8; 64], &to_bytes(&self.n)); diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index a8f59a4c7..e569938c2 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -1,22 +1,23 @@ [package] name = "tiger" -version = "0.2.1" +version = "0.3.0-pre" description = "Tiger hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/tiger" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index ed2830a7d..e288b252e 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -14,7 +14,7 @@ //! // process input message //! hasher.update(b"hello world"); //! -//! // acquire hash digest in the form of GenericArray, +//! // acquire hash digest in the form of Array, //! // which in this case is equivalent to [u8; 24] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!("4c8fbddae0b6f25832af45e7c62811bb64ec3e43691e9cc3")); diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index ee3e53bfd..81d4d36e2 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,25 +1,26 @@ [package] name = "whirlpool" -version = "0.10.4" +version = "0.11.0-pre" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" -edition = "2018" +edition = "2021" documentation = "https://docs.rs/whirlpool" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] +rust-version = "1.71" [dependencies] -digest = "0.10.7" +digest = "=0.11.0-pre.3" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "0.10.7", features = ["dev"] } -hex-literal = "0.2.2" +digest = { version = "=0.11.0-pre.3", features = ["dev"] } +hex-literal = "0.4" [features] default = ["std"] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index b5f0ff32f..6e1293cd2 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -170,7 +170,7 @@ const BLOCK_SIZE: usize = ::BlockSize::USIZE; #[inline(always)] fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { - // SAFETY: GenericArray and [u8; 64] have + // SAFETY: Array and [u8; 64] have // exactly the same memory layout let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; unsafe { core::slice::from_raw_parts(p, blocks.len()) } From 2358b8501f7c6012025481262c1b3b07dd30ca4f Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Sat, 6 Jan 2024 09:26:16 +0300 Subject: [PATCH 305/373] sha2: use correct names for shl and shr functions in the software backend (#526) --- sha2/src/sha256/soft.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs index 34826a7e8..69eb48894 100644 --- a/sha2/src/sha256/soft.rs +++ b/sha2/src/sha256/soft.rs @@ -3,12 +3,12 @@ use crate::consts::BLOCK_LEN; use core::convert::TryInto; #[inline(always)] -fn shl(v: [u32; 4], o: u32) -> [u32; 4] { +fn shr(v: [u32; 4], o: u32) -> [u32; 4] { [v[0] >> o, v[1] >> o, v[2] >> o, v[3] >> o] } #[inline(always)] -fn shr(v: [u32; 4], o: u32) -> [u32; 4] { +fn shl(v: [u32; 4], o: u32) -> [u32; 4] { [v[0] << o, v[1] << o, v[2] << o, v[3] << o] } @@ -44,9 +44,9 @@ fn sha256msg1(v0: [u32; 4], v1: [u32; 4]) -> [u32; 4] { // sigma 0 on vectors #[inline] fn sigma0x4(x: [u32; 4]) -> [u32; 4] { - let t1 = or(shl(x, 7), shr(x, 25)); - let t2 = or(shl(x, 18), shr(x, 14)); - let t3 = shl(x, 3); + let t1 = or(shr(x, 7), shl(x, 25)); + let t2 = or(shr(x, 18), shl(x, 14)); + let t3 = shr(x, 3); xor(xor(t1, t2), t3) } From 1a43b8f94aa7ee78d9d41ce0d3fb2f77443345f6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 6 Jan 2024 09:00:10 -0800 Subject: [PATCH 306/373] Update MSRV in README.md files (#527) The new MSRV after #523 is 1.71 --- README.md | 44 ++++++++++++++++++++++---------------------- ascon-hash/README.md | 4 ++-- belt-hash/README.md | 4 ++-- blake2/README.md | 4 ++-- fsb/README.md | 4 ++-- gost94/README.md | 4 ++-- groestl/README.md | 4 ++-- jh/README.md | 4 ++-- k12/README.md | 4 ++-- md2/README.md | 4 ++-- md4/README.md | 4 ++-- md5/README.md | 4 ++-- ripemd/README.md | 4 ++-- sha1/README.md | 4 ++-- sha2/README.md | 4 ++-- sha3/README.md | 4 ++-- shabal/README.md | 4 ++-- skein/README.md | 4 ++-- sm3/README.md | 4 ++-- streebog/README.md | 4 ++-- tiger/README.md | 6 +++--- whirlpool/README.md | 4 ++-- 22 files changed, 65 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 3e4c81dbc..b2da70ad2 100644 --- a/README.md +++ b/README.md @@ -13,27 +13,27 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | Algorithm | Crate | Crates.io | Documentation | MSRV | [Security] | |-----------|-------|:---------:|:-------------:|:----:|:----------:| -| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.65][msrv-1.65] | :yellow_heart: | -| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | -| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | -| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | -| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.65][msrv-1.65] | :broken_heart: | -| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.65][msrv-1.65] | :yellow_heart: | -| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.65][msrv-1.65] | :green_heart: | -| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.65][msrv-1.65] | :green_heart: | +| [Ascon] hash | [`ascon‑hash`] | [![crates.io](https://img.shields.io/crates/v/ascon-hash.svg)](https://crates.io/crates/ascon-hash) | [![Documentation](https://docs.rs/ascon-hash/badge.svg)](https://docs.rs/ascon-hash) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [BelT] hash | [`belt‑hash`] | [![crates.io](https://img.shields.io/crates/v/belt-hash.svg)](https://crates.io/crates/belt-hash) | [![Documentation](https://docs.rs/belt-hash/badge.svg)](https://docs.rs/belt-hash) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [BLAKE2] | [`blake2`] | [![crates.io](https://img.shields.io/crates/v/blake2.svg)](https://crates.io/crates/blake2) | [![Documentation](https://docs.rs/blake2/badge.svg)](https://docs.rs/blake2) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [FSB] | [`fsb`] | [![crates.io](https://img.shields.io/crates/v/fsb.svg)](https://crates.io/crates/fsb) | [![Documentation](https://docs.rs/fsb/badge.svg)](https://docs.rs/fsb) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [GOST R 34.11-94][GOST94] | [`gost94`] | [![crates.io](https://img.shields.io/crates/v/gost94.svg)](https://crates.io/crates/gost94) | [![Documentation](https://docs.rs/gost94/badge.svg)](https://docs.rs/gost94) | ![MSRV 1.71][msrv-1.71] | :yellow_heart: | +| [Grøstl] (Groestl) | [`groestl`] | [![crates.io](https://img.shields.io/crates/v/groestl.svg)](https://crates.io/crates/groestl) | [![Documentation](https://docs.rs/groestl/badge.svg)](https://docs.rs/groestl) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [JH] | [`jh`] | [![crates.io](https://img.shields.io/crates/v/jh.svg)](https://crates.io/crates/jh) | [![Documentation](https://docs.rs/jh/badge.svg)](https://docs.rs/jh) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | +| [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | +| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | +| [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | +| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.71][msrv-1.71] | :yellow_heart: | +| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.71][msrv-1.71] | :green_heart: | NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. @@ -233,7 +233,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes -[msrv-1.65]: https://img.shields.io/badge/rustc-1.65.0+-blue.svg +[msrv-1.71]: https://img.shields.io/badge/rustc-1.71.0+-blue.svg [//]: # (crates) diff --git a/ascon-hash/README.md b/ascon-hash/README.md index 33f24c326..86fc86794 100644 --- a/ascon-hash/README.md +++ b/ascon-hash/README.md @@ -21,7 +21,7 @@ USE AT YOUR OWN RISK! ## Minimum Supported Rust Version -This crate requires **Rust 1.65** at a minimum. +This crate requires **Rust 1.71** at a minimum. We may change the MSRV in the future, but it will be accompanied by a minor version bump. @@ -48,7 +48,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/ascon-hash/badge.svg [docs-link]: https://docs.rs/ascon-hash/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ascon-hash/badge.svg?branch=master diff --git a/belt-hash/README.md b/belt-hash/README.md index f515ceaa1..61c5d8d3e 100644 --- a/belt-hash/README.md +++ b/belt-hash/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [BelT] hash function specified in [STB 34.101.31 ## Minimum Supported Rust Version -Rust **1.65** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/belt-hash/badge.svg [docs-link]: https://docs.rs/belt-hash [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/belt-hash/badge.svg?branch=master diff --git a/blake2/README.md b/blake2/README.md index 1575ab8bb..e41d6fa0d 100644 --- a/blake2/README.md +++ b/blake2/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [BLAKE2 hash function][1] family. ## Minimum Supported Rust Version -Rust **1.65** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -47,7 +47,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/blake2/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Ablake2 diff --git a/fsb/README.md b/fsb/README.md index 09bbf3625..1319026f5 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [FSB hash function][1] family. ## Minimum Supported Rust Version -Rust **1.65** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -47,7 +47,7 @@ dual licensed as above, without any additional terms or conditions. [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [build-image]: https://github.com/RustCrypto/hashes/workflows/fsb/badge.svg?branch=master [build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Afsb diff --git a/gost94/README.md b/gost94/README.md index a1bd9fd98..aff3cc763 100644 --- a/gost94/README.md +++ b/gost94/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [GOST R 34.11-94 hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/gost94/badge.svg [docs-link]: https://docs.rs/gost94/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/gost94/badge.svg?branch=master diff --git a/groestl/README.md b/groestl/README.md index b22a23313..e80f02902 100644 --- a/groestl/README.md +++ b/groestl/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [Grøstl hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/groestl/badge.svg [docs-link]: https://docs.rs/groestl/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/groestl/badge.svg?branch=master diff --git a/jh/README.md b/jh/README.md index 8e6cb0749..938669dae 100644 --- a/jh/README.md +++ b/jh/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [JH] cryptographic hash function. ## Minimum Supported Rust Version -Rust **1.57** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/jh/badge.svg [docs-link]: https://docs.rs/jh/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/jh/badge.svg?branch=master diff --git a/k12/README.md b/k12/README.md index 7b72ed718..1a2ba6d42 100644 --- a/k12/README.md +++ b/k12/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [KangarooTwelve][1] eXtendable-Output Function ## Minimum Supported Rust Version -Rust **1.56** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/k12/badge.svg [docs-link]: https://docs.rs/k12/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/k12/badge.svg?branch=master diff --git a/md2/README.md b/md2/README.md index 877765562..8267d5c50 100644 --- a/md2/README.md +++ b/md2/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [MD2 hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md2/badge.svg [docs-link]: https://docs.rs/md2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md2/badge.svg?branch=master diff --git a/md4/README.md b/md4/README.md index 867b69e5e..7135678c6 100644 --- a/md4/README.md +++ b/md4/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [MD4 hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md4/badge.svg [docs-link]: https://docs.rs/md4/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md4/badge.svg?branch=master diff --git a/md5/README.md b/md5/README.md index 56af1749b..8729f3276 100644 --- a/md5/README.md +++ b/md5/README.md @@ -26,7 +26,7 @@ including HMAC-MD5. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -58,7 +58,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md-5/badge.svg [docs-link]: https://docs.rs/md-5/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master diff --git a/ripemd/README.md b/ripemd/README.md index c09878fe5..5f7370800 100644 --- a/ripemd/README.md +++ b/ripemd/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [RIPEMD] hash functions. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/ripemd/badge.svg [docs-link]: https://docs.rs/ripemd/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd/badge.svg?branch=master diff --git a/sha1/README.md b/sha1/README.md index bd76f0973..3546d5004 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -21,7 +21,7 @@ We provide this crate for legacy interoperability purposes only. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -53,7 +53,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha1/badge.svg [docs-link]: https://docs.rs/sha1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master diff --git a/sha2/README.md b/sha2/README.md index 594e95324..8d24f5e7c 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -16,7 +16,7 @@ including SHA-224, SHA-256, SHA-384, and SHA-512. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -48,7 +48,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha2/badge.svg [docs-link]: https://docs.rs/sha2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master diff --git a/sha3/README.md b/sha3/README.md index caef5d594..13bcb74bf 100644 --- a/sha3/README.md +++ b/sha3/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [SHA-3 (Keccak) hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha3/badge.svg [docs-link]: https://docs.rs/sha3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha3/badge.svg?branch=master diff --git a/shabal/README.md b/shabal/README.md index e48a1cd26..fb2654e76 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -42,7 +42,7 @@ assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395 ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -74,7 +74,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/shabal/badge.svg [docs-link]: https://docs.rs/shabal/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/shabal/badge.svg?branch=master diff --git a/skein/README.md b/skein/README.md index c1135eeec..092aac08b 100644 --- a/skein/README.md +++ b/skein/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [Skein] family of cryptographic hash algorithms. ## Minimum Supported Rust Version -Rust **1.57** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/skein/badge.svg [docs-link]: https://docs.rs/skein/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.57+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/skein/badge.svg?branch=master diff --git a/sm3/README.md b/sm3/README.md index 29bdcf63e..32266f11b 100644 --- a/sm3/README.md +++ b/sm3/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [SM3 (OSCCA GM/T 0004-2012)][1] hash function. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sm3/badge.svg [docs-link]: https://docs.rs/sm3/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sm3/badge.svg?branch=master diff --git a/streebog/README.md b/streebog/README.md index b8b4c7acc..fff7ea983 100644 --- a/streebog/README.md +++ b/streebog/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [Streebog (GOST R 34.11-2012)][1] hash function. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/streebog/badge.svg [docs-link]: https://docs.rs/streebog/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/streebog/badge.svg?branch=master diff --git a/tiger/README.md b/tiger/README.md index 74ea514e0..7ead3daf7 100644 --- a/tiger/README.md +++ b/tiger/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [Tiger] hash function. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -44,7 +44,7 @@ for inclusion in the work by you, as defined in the Apache-2.0 license, without [docs-image]: https://docs.rs/tiger/badge.svg [docs-link]: https://docs.rs/tiger/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/tiger/badge.svg?branch=master @@ -52,4 +52,4 @@ for inclusion in the work by you, as defined in the Apache-2.0 license, without [//]: # (general links) -[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html \ No newline at end of file +[Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html diff --git a/whirlpool/README.md b/whirlpool/README.md index e4dfc28f9..c2ca0e84c 100644 --- a/whirlpool/README.md +++ b/whirlpool/README.md @@ -13,7 +13,7 @@ Pure Rust implementation of the [Whirlpool hash function][1]. ## Minimum Supported Rust Version -Rust **1.41** or higher. +Rust **1.71** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/whirlpool/badge.svg [docs-link]: https://docs.rs/whirlpool/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/whirlpool/badge.svg?branch=master From dfe48e003a0559a47d24fcf5e57c45bef5aa7a2b Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 6 Jan 2024 09:47:53 -0800 Subject: [PATCH 307/373] Enable `oid` feature by default (#528) Having to enable this feature has been an ongoing source of confusion, especially since the compiler error that results is fairly inscrutible. --- belt-hash/Cargo.toml | 2 +- gost94/Cargo.toml | 4 ++-- md2/Cargo.toml | 2 +- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 2 +- sha3/Cargo.toml | 6 +++--- streebog/Cargo.toml | 4 ++-- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 05d0726e0..81e34c1f1 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -21,6 +21,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 3657063b9..23b41c9ae 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -20,6 +20,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 3dead49f7..9d8910f5e 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -20,6 +20,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index c79370eeb..38c0b0e8a 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -20,6 +20,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 1867929bc..3eb908cc0 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -27,11 +27,11 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] asm = ["md5-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates # Use assembly backend for LoongArch64 targets # WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates loongarch64_asm = [] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] # Enable OID support. force-soft = [] # Force software implementation diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 8eb7f9f65..5dbf9b709 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -20,6 +20,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 2e87fb942..b154605da 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -25,9 +25,9 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] # Enable OID support. asm = ["sha1-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates # Use assembly backend for LoongArch64 targets # WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index e2933ff5f..9284b7b32 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -28,7 +28,7 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support. asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 2e057f0e9..3e38e0b03 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -26,9 +26,9 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -asm = ["keccak/asm"] # Enable ASM (currently ARMv8 only). WARNING: Bumps MSRV to 1.59 -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +asm = ["keccak/asm"] # Enable ASM (currently ARMv8 only). +oid = ["digest/oid"] # Enable OID support. reset = [] # Enable reset functionality diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 2099a90f9..c1aa8f111 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -20,6 +20,6 @@ digest = { version = "=0.11.0-pre.3", features = ["dev"] } hex-literal = "0.4" [features] -default = ["std"] +default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. WARNING: Bumps MSRV to 1.57 +oid = ["digest/oid"] From 10ee2ad407144bb497ecedaebd0dff67fc3e800e Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 8 Jan 2024 13:34:03 -0700 Subject: [PATCH 308/373] sha2 v0.11.0-pre.0 (#530) --- Cargo.lock | 2 +- sha2/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 92ad0d1b4..e3bc692eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -283,7 +283,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre" +version = "0.11.0-pre.0" dependencies = [ "cfg-if", "cpufeatures", diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 9284b7b32..2c8e2ef00 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.11.0-pre" +version = "0.11.0-pre.0" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. From b735ec3e9ce1be47cf8cf65649bfd5930210d19a Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 8 Jan 2024 13:51:19 -0700 Subject: [PATCH 309/373] sha3 v0.11.0-pre.0 (#531) --- Cargo.lock | 2 +- k12/Cargo.toml | 2 +- sha3/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e3bc692eb..a421580c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -303,7 +303,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.11.0-pre" +version = "0.11.0-pre.0" dependencies = [ "digest", "hex-literal", diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 2af9e79d8..e413dc43a 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -14,7 +14,7 @@ rust-version = "1.71" [dependencies] digest = { version = "=0.11.0-pre.3", default-features = false, features = ["core-api"] } -sha3 = { version = "=0.11.0-pre", default-features = false, path = "../sha3" } +sha3 = { version = "=0.11.0-pre.0", default-features = false, path = "../sha3" } [dev-dependencies] digest = { version = "=0.11.0-pre.3", features = ["alloc", "dev"] } diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 3e38e0b03..1c5391177 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.11.0-pre" +version = "0.11.0-pre.0" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as From bf5428e6426318f387482bc46eb0049a625858b3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 8 Jan 2024 16:42:36 -0700 Subject: [PATCH 310/373] sha1 v0.11.0-pre.0 (#532) --- Cargo.lock | 2 +- sha1/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a421580c5..b48b69d5a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -263,7 +263,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre" +version = "0.11.0-pre.0" dependencies = [ "cfg-if", "cpufeatures", diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index b154605da..452628aea 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.11.0-pre" +version = "0.11.0-pre.0" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From f0c8fe0d7e1cdb2f27c22b5b88da3a7c933f2282 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 8 Jan 2024 16:58:13 -0700 Subject: [PATCH 311/373] md-5 0.11.0-pre.0 (#533) --- Cargo.lock | 2 +- md5/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b48b69d5a..ddc643065 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -205,7 +205,7 @@ checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "md-5" -version = "0.11.0-pre" +version = "0.11.0-pre.0" dependencies = [ "cfg-if", "digest", diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 3eb908cc0..f3a5d9afe 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.11.0-pre" +version = "0.11.0-pre.0" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From ea2640488861ac6a46200dcf8fa2e74b4c50ece6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 8 Jan 2024 17:06:36 -0700 Subject: [PATCH 312/373] streebog v0.11.0-pre.0 (#534) --- streebog/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index c1aa8f111..96e934f0c 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.11.0-pre" +version = "0.11.0-pre.0" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 8df8751e3d71ee7aa5bbe1a78e1959d74d59a343 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jan 2024 15:59:08 -0700 Subject: [PATCH 313/373] belt-hash v0.2.0-pre.0 (#535) --- belt-hash/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 81e34c1f1..c2c715ce4 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "belt-hash" -version = "0.2.0-pre" +version = "0.2.0-pre.0" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 414eca5add2e203c06d0f1a974f209194d28f7c8 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 9 Jan 2024 16:13:46 -0700 Subject: [PATCH 314/373] sm3 v0.5.0-pre.0 (#536) --- Cargo.lock | 6 +++--- sm3/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ddc643065..647da4e7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,7 +29,7 @@ checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" [[package]] name = "belt-hash" -version = "0.2.0-pre" +version = "0.2.0-pre.0" dependencies = [ "belt-block", "digest", @@ -330,7 +330,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.5.0-pre" +version = "0.5.0-pre.0" dependencies = [ "digest", "hex-literal", @@ -344,7 +344,7 @@ checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" [[package]] name = "streebog" -version = "0.11.0-pre" +version = "0.11.0-pre.0" dependencies = [ "digest", "hex-literal", diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 9d5dc3ca8..43b76d7fd 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.5.0-pre" +version = "0.5.0-pre.0" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From f5a07e6bfdd69afda90769587b6b88debd1a5b84 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 10 Jan 2024 16:52:58 +0300 Subject: [PATCH 315/373] Use README as crate docs (#537) --- Cargo.lock | 9 +++-- README.md | 8 ++-- ascon-hash/Cargo.toml | 1 + ascon-hash/LICENSE-MIT | 2 +- ascon-hash/README.md | 37 +++++++++++++++--- ascon-hash/src/lib.rs | 27 ------------- belt-hash/LICENSE-MIT | 2 +- belt-hash/README.md | 21 ++++++++-- belt-hash/src/lib.rs | 40 +++---------------- belt-hash/tests/mod.rs | 7 +--- blake2/Cargo.toml | 6 +-- blake2/LICENSE-MIT | 1 + blake2/README.md | 71 +++++++++++++++++++++++++++++++--- blake2/src/lib.rs | 71 +--------------------------------- blake2/tests/persona.rs | 42 ++++++++++---------- fsb/LICENSE-MIT | 2 +- fsb/README.md | 33 ++++++++++++++-- fsb/src/lib.rs | 40 +------------------ fsb/tests/mod.rs | 34 ++++++++-------- gost94/LICENSE-MIT | 1 + gost94/README.md | 33 +++++++++++++--- gost94/src/lib.rs | 36 +---------------- gost94/tests/mod.rs | 20 +++++----- groestl/LICENSE-MIT | 2 +- groestl/README.md | 26 ++++++++++--- groestl/src/lib.rs | 28 +------------- groestl/tests/mod.rs | 30 +++++++------- jh/LICENSE-MIT | 2 +- jh/README.md | 29 ++++++++++++-- jh/src/lib.rs | 34 +--------------- k12/LICENSE-MIT | 2 +- k12/README.md | 13 +++---- k12/src/lib.rs | 6 +-- k12/tests/mod.rs | 17 ++++---- md2/LICENSE-MIT | 1 + md2/README.md | 26 ++++++++++--- md2/src/lib.rs | 26 +------------ md2/tests/mod.rs | 5 +-- md4/LICENSE-MIT | 1 + md4/README.md | 31 ++++++++++++--- md4/src/lib.rs | 26 +------------ md4/tests/mod.rs | 5 +-- md5/LICENSE-MIT | 1 + md5/README.md | 40 ++++++++++++------- md5/src/lib.rs | 26 +------------ md5/tests/mod.rs | 5 +-- ripemd/LICENSE-MIT | 2 +- ripemd/README.md | 39 ++++++++++++++++--- ripemd/src/lib.rs | 41 +------------------- ripemd/tests/mod.rs | 35 +++++++---------- sha1/LICENSE-MIT | 1 + sha1/README.md | 46 +++++++++++++++++----- sha1/src/lib.rs | 55 +------------------------- sha1/tests/mod.rs | 4 +- sha2/LICENSE-MIT | 1 + sha2/README.md | 57 +++++++++++++++++++++++---- sha2/src/lib.rs | 61 +---------------------------- sha2/tests/mod.rs | 15 ++++--- sha3/LICENSE-MIT | 1 + sha3/README.md | 59 +++++++++++++++++++++++++--- sha3/src/lib.rs | 61 +---------------------------- shabal/LICENSE-MIT | 1 + shabal/README.md | 41 +++++++------------- shabal/src/lib.rs | 39 +------------------ shabal/tests/mod.rs | 34 ++++++++-------- skein/LICENSE-MIT | 2 +- skein/README.md | 30 +++++++++++--- skein/src/lib.rs | 38 +----------------- skein/tests/{lib.rs => mod.rs} | 0 sm3/LICENSE-MIT | 2 +- sm3/README.md | 27 ++++++++++--- sm3/src/lib.rs | 31 +-------------- sm3/tests/mod.rs | 4 +- streebog/LICENSE-MIT | 1 + streebog/README.md | 35 ++++++++++++++--- streebog/src/lib.rs | 36 +---------------- streebog/tests/mod.rs | 60 ++++++++++++++-------------- tiger/LICENSE-MIT | 2 +- tiger/README.md | 26 ++++++++++--- tiger/src/lib.rs | 28 +------------- tiger/tests/mod.rs | 8 ++-- whirlpool/LICENSE-MIT | 1 + whirlpool/README.md | 41 +++++++++++++++++--- whirlpool/src/lib.rs | 38 +----------------- whirlpool/tests/mod.rs | 11 +++--- 85 files changed, 823 insertions(+), 1117 deletions(-) rename skein/tests/{lib.rs => mod.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index 647da4e7d..6a908087c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,6 +18,7 @@ dependencies = [ "ascon", "digest", "hex", + "hex-literal", "spectral", ] @@ -124,9 +125,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -199,9 +200,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.150" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" diff --git a/README.md b/README.md index b2da70ad2..13298916e 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ The SHA-1 implementation was previously published as `sha-1`, but migrated to `s MSRV bumps are considered breaking changes and will be performed only with minor version bump. -## Usage +## Examples Let us demonstrate how to use crates in this repository using SHA-2 as an example. @@ -215,10 +215,10 @@ let hash2_1 = use_hasher(&mut *hasher2, b"foo"); ## License -All crates licensed under either of +All crates in this repository are licensed under either of - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 58575d87e..c27d6e8a1 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -22,6 +22,7 @@ ascon = { version = "0.4", default-features = false } [dev-dependencies] spectral = { version = "0.6", default-features = false } hex = "0.4" +hex-literal = "0.4" [features] default = ["std"] diff --git a/ascon-hash/LICENSE-MIT b/ascon-hash/LICENSE-MIT index 99440392b..3f0a8ba26 100644 --- a/ascon-hash/LICENSE-MIT +++ b/ascon-hash/LICENSE-MIT @@ -1,5 +1,5 @@ Copyright (c) 2022-2023 Sebastian Ramacher -Copyright (c) 2023 The RustCrypto Project Developers +Copyright (c) 2023-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/ascon-hash/README.md b/ascon-hash/README.md index 86fc86794..f70c5817a 100644 --- a/ascon-hash/README.md +++ b/ascon-hash/README.md @@ -11,14 +11,40 @@ Pure Rust implementation of the lightweight cryptographic hash functions [AsconHash and AsconAHash][1] and the extendable output functions (XOF) AsconXOF and AsconAXOF. -[Documentation][docs-link] - ## Security Notes No security audits of this crate have ever been performed. USE AT YOUR OWN RISK! +## Examples +Fixed output size hashing: +```rust +use ascon_hash::{AsconHash, Digest}; +use hex_literal::hex; + +let mut hasher = AsconHash::new(); +hasher.update(b"some bytes"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("b742ca75e57038757059cccc6874714f9dbd7fc5924a7df4e316594fd1426ca8")); +``` + +XOF hashing: +```rust +use ascon_hash::{AsconXof, ExtendableOutput, Update, XofReader}; +use hex_literal::hex; + +let mut xof = AsconXof::default(); +xof.update(b"some bytes"); +let mut reader = xof.finalize_xof(); +let mut dst = [0u8; 5]; +reader.read(&mut dst); +assert_eq!(dst, hex!("c21972fde9")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + ## Minimum Supported Rust Version This crate requires **Rust 1.71** at a minimum. @@ -28,10 +54,10 @@ version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -57,3 +83,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [1]: https://ascon.iaik.tugraz.at +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/ascon-hash/src/lib.rs b/ascon-hash/src/lib.rs index b591a6de8..2696f0580 100644 --- a/ascon-hash/src/lib.rs +++ b/ascon-hash/src/lib.rs @@ -1,6 +1,3 @@ -// Copyright 2022-2023 Sebastian Ramacher -// SPDX-License-Identifier: Apache-2.0 OR MIT - #![no_std] #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![doc = include_str!("../README.md")] @@ -10,30 +7,6 @@ )] #![warn(missing_docs)] -//! ## Usage (Hashing) -//! -//! ``` -//! use ascon_hash::{AsconHash, Digest}; // Or `AsconAHash` -//! -//! let mut hasher = AsconHash::new(); -//! hasher.update(b"some bytes"); -//! let digest = hasher.finalize(); -//! assert_eq!(&digest[..], b"\xb7\x42\xca\x75\xe5\x70\x38\x75\x70\x59\xcc\xcc\x68\x74\x71\x4f\x9d\xbd\x7f\xc5\x92\x4a\x7d\xf4\xe3\x16\x59\x4f\xd1\x42\x6c\xa8"); -//! ``` -//! -//! ## Usage (XOF) -//! -//! ``` -//! use ascon_hash::{AsconXof, ExtendableOutput, Update, XofReader}; -//! -//! let mut xof = AsconXof::default(); -//! xof.update(b"some bytes"); -//! let mut reader = xof.finalize_xof(); -//! let mut dst = [0u8; 5]; -//! reader.read(&mut dst); -//! assert_eq!(&dst, b"\xc2\x19\x72\xfd\xe9"); -//! ``` - use core::marker::PhantomData; use ascon::{pad, State}; diff --git a/belt-hash/LICENSE-MIT b/belt-hash/LICENSE-MIT index bebabe744..6ebea87db 100644 --- a/belt-hash/LICENSE-MIT +++ b/belt-hash/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2022 Artyom Pavlov +Copyright (c) 2022-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/belt-hash/README.md b/belt-hash/README.md index 61c5d8d3e..071694ef2 100644 --- a/belt-hash/README.md +++ b/belt-hash/README.md @@ -9,7 +9,19 @@ Pure Rust implementation of the [BelT] hash function specified in [STB 34.101.31-2020]. -[Documentation][docs-link] +## Examples +```rust +use belt_hash::{BeltHash, Digest}; +use hex_literal::hex; + +let mut hasher = BeltHash::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("afb175816416fbadad4629ecbd78e1887789881f2d2e5b80c22a746b7ac7ba88")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +37,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -55,3 +67,4 @@ dual licensed as above, without any additional terms or conditions. [BelT]: https://ru.wikipedia.org/wiki/BelT [STB 34.101.31-2020]: http://apmi.bsu.by/assets/files/std/belt-spec371.pdf +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index e92dfc6bb..d441158cc 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -1,33 +1,6 @@ -//! Pure Rust implementation of the [BelT] hash function specified in -//! [STB 34.101.31-2020]. -//! -//! # Usage -//! -//! ```rust -//! use belt_hash::{BeltHash, Digest}; -//! use hex_literal::hex; -//! -//! // create a BelT hasher instance -//! let mut hasher = BeltHash::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 32] -//! let result = hasher.finalize(); -//! let expected = hex!( -//! "afb175816416fbadad4629ecbd78e1887789881f2d2e5b80c22a746b7ac7ba88" -//! ); -//! assert_eq!(result[..], expected[..]); -//! ``` -//! -//! Also see [examples] in the RustCrypto/hashes readme. -//! -//! [BelT]: https://ru.wikipedia.org/wiki/BelT -//! [STB 34.101.31-2020]: http://apmi.bsu.by/assets/files/std/belt-spec371.pdf -//! [examples]: https://github.com/RustCrypto/hashes#usage #![no_std] +#![doc = include_str!("../README.md")] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" @@ -52,6 +25,9 @@ use digest::{ }; const U32_MASK: u128 = (1 << 32) - 1; +const H0: [u32; 8] = [ + 0xC8BA94B1, 0x3BF5080A, 0x8E006D36, 0xE45D4A58, 0x9DFA0485, 0xACC7B61B, 0xC2722E25, 0x0DCEFD02, +]; /// Core BelT hasher state. #[derive(Clone)] @@ -128,11 +104,7 @@ impl Default for BeltHashCore { Self { r: 0, s: [0; 4], - #[rustfmt::skip] - h: [ - 0xC8BA94B1, 0x3BF5080A, 0x8E006D36, 0xE45D4A58, - 0x9DFA0485, 0xACC7B61B, 0xC2722E25, 0x0DCEFD02, - ], + h: H0, } } } diff --git a/belt-hash/tests/mod.rs b/belt-hash/tests/mod.rs index d8259a128..ce12d1d4e 100644 --- a/belt-hash/tests/mod.rs +++ b/belt-hash/tests/mod.rs @@ -11,10 +11,7 @@ fn belt_rand() { let mut h = BeltHash::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!( - "a45053f80827d530008198c8185aa507" - "403b4a21f591579f07c34358e5991754" - )[..] + h.finalize(), + hex!("a45053f80827d530008198c8185aa507403b4a21f591579f07c34358e5991754") ); } diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index cd132e7a5..a31a71e07 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -23,7 +23,7 @@ hex-literal = "0.4" default = ["std"] std = ["digest/std"] reset = [] # Enable reset functionality -simd = [] -simd_opt = ["simd"] -simd_asm = ["simd_opt"] +#simd = [] +#simd_opt = ["simd"] +#simd_asm = ["simd_opt"] size_opt = [] # Optimize for code size. Removes some `inline(always)` diff --git a/blake2/LICENSE-MIT b/blake2/LICENSE-MIT index 872e206f2..a264c31a1 100644 --- a/blake2/LICENSE-MIT +++ b/blake2/LICENSE-MIT @@ -1,5 +1,6 @@ Copyright (c) 2015-2016 The blake2-rfc Developers, Cesar Barros Copyright (c) 2017 Artyom Pavlov +Copyright (c) 2017-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/blake2/README.md b/blake2/README.md index e41d6fa0d..733fb77c1 100644 --- a/blake2/README.md +++ b/blake2/README.md @@ -7,9 +7,67 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [BLAKE2 hash function][1] family. +Pure Rust implementation of the [BLAKE2] hash function family. -[Documentation][docs-link] +## Examples + +### Fixed output size + +```rust +use blake2::{Blake2b512, Blake2s256, Digest}; +use hex_literal::hex; + +// create a Blake2b512 object +let mut hasher = Blake2b512::new(); + +// write input message +hasher.update(b"hello world"); + +// read hash digest and consume hasher +let res = hasher.finalize(); +assert_eq!(res, hex!( + "021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbc" + "c05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0" +)); + +// same example for Blake2s256: +let mut hasher = Blake2s256::new(); +hasher.update(b"hello world"); +let res = hasher.finalize(); +assert_eq!(res, hex!("9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + +### Variable output size + +This implementation supports run and compile time variable sizes. + +Output size set at run time: +```rust +use blake2::Blake2bVar; +use blake2::digest::{Update, VariableOutput}; +use hex_literal::hex; + +let mut hasher = Blake2bVar::new(10).unwrap(); +hasher.update(b"my_input"); +let mut buf = [0u8; 10]; +hasher.finalize_variable(&mut buf).unwrap(); +assert_eq!(buf, hex!("2cc55c84e416924e6400")); +``` + +Output size set at compile time: +```rust +use blake2::{Blake2b, Digest, digest::consts::U10}; +use hex_literal::hex; + +type Blake2b80 = Blake2b; + +let mut hasher = Blake2b80::new(); +hasher.update(b"my_input"); +let res = hasher.finalize(); +assert_eq!(res, hex!("2cc55c84e416924e6400")); +``` ## Minimum Supported Rust Version @@ -25,10 +83,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +111,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://blake2.net/ +[BLAKE2]: https://blake2.net/ +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index a18d448ea..e98a07570 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -1,74 +1,5 @@ -//! An implementation of the [BLAKE2][1] hash functions. -//! -//! # Usage -//! -//! [`Blake2b512`] and [`Blake2s256`] can be used in the following way: -//! -//! ```rust -//! use blake2::{Blake2b512, Blake2s256, Digest}; -//! use hex_literal::hex; -//! -//! // create a Blake2b512 object -//! let mut hasher = Blake2b512::new(); -//! -//! // write input message -//! hasher.update(b"hello world"); -//! -//! // read hash digest and consume hasher -//! let res = hasher.finalize(); -//! assert_eq!(res[..], hex!(" -//! 021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbc -//! c05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0 -//! ")[..]); -//! -//! // same example for Blake2s256: -//! let mut hasher = Blake2s256::new(); -//! hasher.update(b"hello world"); -//! let res = hasher.finalize(); -//! assert_eq!(res[..], hex!(" -//! 9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes](https://github.com/RustCrypto/hashes) readme. -//! -//! ## Variable output size -//! -//! This implementation supports run and compile time variable sizes. -//! -//! Run time variable output example: -//! ```rust -//! use blake2::Blake2bVar; -//! use blake2::digest::{Update, VariableOutput}; -//! use hex_literal::hex; -//! -//! let mut hasher = Blake2bVar::new(10).unwrap(); -//! hasher.update(b"my_input"); -//! let mut buf = [0u8; 10]; -//! hasher.finalize_variable(&mut buf).unwrap(); -//! assert_eq!(buf, hex!("2cc55c84e416924e6400")); -//! ``` -//! -//! Compile time variable output example: -//! ```rust -//! use blake2::{Blake2b, Digest, digest::consts::U10}; -//! use hex_literal::hex; -//! -//! type Blake2b80 = Blake2b; -//! -//! let mut hasher = Blake2b80::new(); -//! hasher.update(b"my_input"); -//! let res = hasher.finalize(); -//! assert_eq!(res[..], hex!("2cc55c84e416924e6400")[..]); -//! ``` -//! -//! # Acknowledgment -//! Based on the [blake2-rfc][2] crate. -//! -//! [1]: https://en.wikipedia.org/wiki/BLAKE_(hash_function)#BLAKE2 -//! [2]: https://github.com/cesarb/blake2-rfc - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/blake2/tests/persona.rs b/blake2/tests/persona.rs index 49e6574e9..53ba8ef08 100644 --- a/blake2/tests/persona.rs +++ b/blake2/tests/persona.rs @@ -2,39 +2,37 @@ use blake2::{digest::FixedOutput, Blake2bMac512, Blake2sMac256}; use hex_literal::hex; #[test] -#[rustfmt::skip] fn blake2s_persona() { - let key= hex!(" - 000102030405060708090a0b0c0d0e0f - 101112131415161718191a1b1c1d1e1f - "); + let key = hex!( + "000102030405060708090a0b0c0d0e0f" + "101112131415161718191a1b1c1d1e1f" + ); let persona = b"personal"; let ctx = Blake2sMac256::new_with_salt_and_personal(&key, &[], persona).unwrap(); assert_eq!( - ctx.finalize_fixed()[..], - hex!(" - 25a4ee63b594aed3f88a971e1877ef70 - 99534f9097291f88fb86c79b5e70d022 - ")[..], + ctx.finalize_fixed(), + hex!( + "25a4ee63b594aed3f88a971e1877ef70" + "99534f9097291f88fb86c79b5e70d022" + ), ); } #[test] -#[rustfmt::skip] fn blake2b_persona() { - let key = hex!(" - 000102030405060708090a0b0c0d0e0f - 101112131415161718191a1b1c1d1e1f - "); + let key = hex!( + "000102030405060708090a0b0c0d0e0f" + "101112131415161718191a1b1c1d1e1f" + ); let persona = b"personal"; let ctx = Blake2bMac512::new_with_salt_and_personal(&key, &[], persona).unwrap(); assert_eq!( - ctx.finalize_fixed()[..], - hex!(" - 03de3b295dcfc3b25b05abb09bc95fe3 - e9ff3073638badc68101d1e42019d077 - 1dd07525a3aae8318e92c5e5d967ba92 - e4810d0021d7bf3b49da0b4b4a8a4e1f - ")[..], + ctx.finalize_fixed(), + hex!( + "03de3b295dcfc3b25b05abb09bc95fe3" + "e9ff3073638badc68101d1e42019d077" + "1dd07525a3aae8318e92c5e5d967ba92" + "e4810d0021d7bf3b49da0b4b4a8a4e1f" + ), ); } diff --git a/fsb/LICENSE-MIT b/fsb/LICENSE-MIT index c869ada57..6f139a79c 100644 --- a/fsb/LICENSE-MIT +++ b/fsb/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2021 The RustCrypto Project Developers +Copyright (c) 2021-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/fsb/README.md b/fsb/README.md index 1319026f5..af5de0a50 100644 --- a/fsb/README.md +++ b/fsb/README.md @@ -7,9 +7,33 @@ ![Rust Version][rustc-image] [![Project Chat][chat-image]][chat-link] -Pure Rust implementation of the [FSB hash function][1] family. +Pure Rust implementation of the [FSB] cryptographic hash algorithms. -[Documentation][docs-link] +There are 5 standard versions of the FSB hash function: + +* `FSB-160` +* `FSB-224` +* `FSB-256` +* `FSB-384` +* `FSB-512` + +## Examples + +Output size of FSB-256 is fixed, so its functionality is usually +accessed via the `Digest` trait: + +```rust +use fsb::{Digest, Fsb256}; +use hex_literal::hex; + +let mut hasher = Fsb256::new(); +hasher.update(b"hello"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f28edbc")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,7 +49,7 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) * [MIT license](http://opensource.org/licenses/MIT) @@ -53,4 +77,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb +[FSB]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 350fc1126..06760cb1a 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -1,43 +1,5 @@ -//! An implementation of the [FSB][1] cryptographic hash algorithms. -//! The FSB hash function was one of the submissions to SHA-3, -//! the cryptographic hash algorithm competition organized by the NIST. -//! -//! There are 5 standard versions of the FSB hash function: -//! -//! * `FSB-160` -//! * `FSB-224` -//! * `FSB-256` -//! * `FSB-384` -//! * `FSB-512` -//! -//! # Examples -//! -//! Output size of FSB-256 is fixed, so its functionality is usually -//! accessed via the `Digest` trait: -//! -//! ``` -//! use hex_literal::hex; -//! use fsb::{Digest, Fsb256}; -//! -//! // create a FSB-256 object -//! let mut hasher = Fsb256::new(); -//! -//! // write input message -//! hasher.update(b"hello"); -//! -//! // read hash digest -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 0f036dc3761aed2cba9de586a85976eedde6fa8f115c0190763decc02f28edbc -//! ")[..]); -//! ``` -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://www.paris.inria.fr/secret/CBCrypto/index.php?pg=fsb -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/fsb/tests/mod.rs b/fsb/tests/mod.rs index 928f1b979..6a9bddeab 100644 --- a/fsb/tests/mod.rs +++ b/fsb/tests/mod.rs @@ -14,8 +14,8 @@ fn fsb160_rand() { let mut h = Fsb160::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("40b7538be5e51978690d1a92fe12a7f25f0a7f08")[..] + h.finalize(), + hex!("40b7538be5e51978690d1a92fe12a7f25f0a7f08") ); } @@ -24,8 +24,8 @@ fn fsb224_rand() { let mut h = Fsb224::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("0ec203ccec7cbf0cadd32e5dc069d0b4215a104c4dad5444944a0d09")[..] + h.finalize(), + hex!("0ec203ccec7cbf0cadd32e5dc069d0b4215a104c4dad5444944a0d09") ); } @@ -34,35 +34,33 @@ fn fsb256_rand() { let mut h = Fsb256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("eecb42832a2b03bc91beb1a56ddf2973c962b1aeb22f278e9d78a7a8879ebba7")[..] + h.finalize(), + hex!("eecb42832a2b03bc91beb1a56ddf2973c962b1aeb22f278e9d78a7a8879ebba7") ); } #[test] -#[rustfmt::skip] fn fsb384_rand() { let mut h = Fsb384::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - f17533ed4d4484434715e63bc8e801c9cfe988c38d47d3b4be0409571360aa2f - b360b2804c14f606906b323e7901c09e - ")[..] + h.finalize(), + hex!( + "f17533ed4d4484434715e63bc8e801c9cfe988c38d47d3b4be0409571360aa2f" + "b360b2804c14f606906b323e7901c09e" + ) ); } #[test] -#[rustfmt::skip] fn fsb512_rand() { let mut h = Fsb512::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 957a7733643e075ab7a3b04607800a6208a26b008bdaee759a3a635bb9b5b708 - 3531725783505468bf438f2a0a96163bbe0775468a11c93db9994c466b2e7d8c - ")[..] + h.finalize(), + hex!( + "957a7733643e075ab7a3b04607800a6208a26b008bdaee759a3a635bb9b5b708" + "3531725783505468bf438f2a0a96163bbe0775468a11c93db9994c466b2e7d8c" + ) ); } diff --git a/gost94/LICENSE-MIT b/gost94/LICENSE-MIT index 78d6d79a4..4abba7d11 100644 --- a/gost94/LICENSE-MIT +++ b/gost94/LICENSE-MIT @@ -1,4 +1,5 @@ Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/gost94/README.md b/gost94/README.md index aff3cc763..4c4ec68e0 100644 --- a/gost94/README.md +++ b/gost94/README.md @@ -7,9 +7,27 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [GOST R 34.11-94 hash function][1]. +Pure Rust implementation of the [GOST R 34.11-94] cryptographic hash algorithm. -[Documentation][docs-link] +## Examples + +```rust +use gost94::{Gost94CryptoPro, Digest}; +use hex_literal::hex; + +let mut hasher = Gost94CryptoPro::new(); +hasher.update("The quick brown fox jumps over the lazy dog"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + +## Associated OIDs. +There can be a confusion regarding OIDs associated with declared types. +According to the [RFC 4357], the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash function parameter sets (CryptoPro vs Test ones). +According to [RFC 4490] the OID 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it continues that this function MUST be used only with the CryptoPro parameter set. ## Minimum Supported Rust Version @@ -25,10 +43,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +71,7 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/GOST_(hash_function) +[GOST R 34.11-94]: https://en.wikipedia.org/wiki/GOST_(hash_function) +[RFC 4357]: https://www.rfc-editor.org/rfc/rfc4357 +[RFC 4490]: https://www.rfc-editor.org/rfc/rfc4490 +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index f530a1bcc..bb4c04984 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -1,39 +1,5 @@ -//! An implementation of the [GOST R 34.11-94][1] cryptographic hash algorithm. -//! -//! # Usage -//! ```rust -//! use gost94::{Gost94CryptoPro, Digest}; -//! use hex_literal::hex; -//! -//! // create Gost94 hasher instance with CryptoPro params -//! let mut hasher = Gost94CryptoPro::new(); -//! -//! // process input message -//! hasher.update("The quick brown fox jumps over the lazy dog"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 32] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!(" -//! 9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76 -//! ")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! # Associated OIDs. -//! There can be a confusion regarding OIDs associated with declared types. According to the -//! [RFC 4357][3], the OIDs 1.2.643.2.2.30.1 and 1.2.643.2.2.30.0 are used to identify the hash -//! function parameter sets (CryptoPro vs Test ones). According to [RFC 4490][4] the OID -//! 1.2.643.2.2.9 identifies the GOST 34.311-95 (former GOST R 34.11-94) function, but then it -//! continues that this function MUST be used only with the CryptoPro parameter set. -//! -//! [1]: https://en.wikipedia.org/wiki/GOST_(hash_function) -//! [2]: https://github.com/RustCrypto/hashes -//! [3]: https://www.rfc-editor.org/rfc/rfc4357 -//! [4]: https://www.rfc-editor.org/rfc/rfc4490 - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/gost94/tests/mod.rs b/gost94/tests/mod.rs index 7d0cad741..a31e4beb5 100644 --- a/gost94/tests/mod.rs +++ b/gost94/tests/mod.rs @@ -18,8 +18,8 @@ fn gost94_test_rand() { let mut h = Gost94Test::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("fdd1b9f220898c117f82d664716795e12f5e9f458ee8cd71d014329438db5089")[..] + h.finalize(), + hex!("fdd1b9f220898c117f82d664716795e12f5e9f458ee8cd71d014329438db5089") ); } @@ -28,8 +28,8 @@ fn gost94_cryptopro_rand() { let mut h = Gost94CryptoPro::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("1d539ea8a318df8c13d304fcfd9beeec188bb48683d9d7f4c4a3750cff6ef22a")[..] + h.finalize(), + hex!("1d539ea8a318df8c13d304fcfd9beeec188bb48683d9d7f4c4a3750cff6ef22a") ); } @@ -42,7 +42,7 @@ fn gost_engine_tests() { h.update(b"12345670"); } assert_eq!( - h.finalize_reset().as_slice(), + h.finalize_reset(), hex!("f7fc6d16a6a5c12ac4f7d320e0fd0d8354908699125e09727a4ef929122b1cae"), ); @@ -50,7 +50,7 @@ fn gost_engine_tests() { h.update(b"\x00\x01\x02\x15\x84\x67\x45\x31"); } assert_eq!( - h.finalize_reset().as_slice(), + h.finalize_reset(), hex!("69f529aa82d9344ab0fa550cdf4a70ecfd92a38b5520b1906329763e09105196"), ); @@ -60,7 +60,7 @@ fn gost_engine_tests() { } h.update(&buf[0..539]); assert_eq!( - h.finalize_reset().as_slice(), + h.finalize_reset(), hex!("bd5f1e4b539c7b00f0866afdbc8ed452503a18436061747a343f43efe888aac9"), ); @@ -72,7 +72,7 @@ fn gost_engine_tests() { } h.update("12345\n"); assert_eq!( - h.finalize().as_slice(), + h.finalize(), hex!("e5d3ac4ea3f67896c51ff919cedb9405ad771e39f0f2eab103624f9a758e506f"), ); } @@ -81,7 +81,7 @@ fn gost_engine_tests() { fn arithmetic_overflow_regression() { let mut h = Gost94Test::default(); h.update(&include_bytes!("data/arithmetic_overflow.bin")[..]); - h.finalize().as_slice(); + h.finalize(); } #[test] @@ -89,7 +89,7 @@ fn gost_ua_engine_tests() { let mut h = Gost94UA::new(); h.update(b"test"); assert_eq!( - h.finalize_reset().as_slice(), + h.finalize_reset(), hex!("7c536414f8b5b9cc649fdf3cccb2685c1a12622956308e34f31c50ed7b3af56c"), ); } diff --git a/groestl/LICENSE-MIT b/groestl/LICENSE-MIT index f39f9ff82..05ad2e61a 100644 --- a/groestl/LICENSE-MIT +++ b/groestl/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2020 RustCrypto Developers +Copyright (c) 2020-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/groestl/README.md b/groestl/README.md index e80f02902..769239098 100644 --- a/groestl/README.md +++ b/groestl/README.md @@ -7,9 +7,22 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Grøstl hash function][1]. +Pure Rust implementation of the [Grøstl] cryptographic hash function. -[Documentation][docs-link] +## Examples + +```rust +use groestl::{Digest, Groestl256}; +use hex_literal::hex; + +let mut hasher = Groestl256::default(); +hasher.update(b"my message"); +let result = hasher.finalize(); + +assert_eq!(result, hex!("dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8047a86")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +38,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +66,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/Gr%C3%B8stl +[Grøstl]: https://en.wikipedia.org/wiki/Grøstl +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index 730477f3d..a467c0ed7 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -1,31 +1,5 @@ -//! An implementation of the [Grøstl][1] cryptographic hash function. -//! -//! # Usage -//! -//! ``` -//! use groestl::{Digest, Groestl256}; -//! use hex_literal::hex; -//! -//! // create a Groestl-256 hasher instance -//! let mut hasher = Groestl256::default(); -//! -//! // process input message -//! hasher.update(b"my message"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 32] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!(" -//! dc0283ca481efa76b7c19dd5a0b763dff0e867451bd9488a9c59f6c8b8047a86 -//! ")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/Grøstl -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/groestl/tests/mod.rs b/groestl/tests/mod.rs index 41a5cf261..6b23220e5 100755 --- a/groestl/tests/mod.rs +++ b/groestl/tests/mod.rs @@ -13,8 +13,8 @@ fn groestl224_rand() { let mut h = Groestl224::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("2000744c2f85a7fb4733e97da8db00069dd6defa9186dac3461dfeb8")[..] + h.finalize(), + hex!("2000744c2f85a7fb4733e97da8db00069dd6defa9186dac3461dfeb8"), ); } @@ -23,35 +23,33 @@ fn groestl256_rand() { let mut h = Groestl256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("aac71c789678f627a6474605322ae98d1647e47f405d00b1461b90ee5f0cfbc4")[..] + h.finalize(), + hex!("aac71c789678f627a6474605322ae98d1647e47f405d00b1461b90ee5f0cfbc4"), ); } #[test] -#[rustfmt::skip] fn groestl384_rand() { let mut h = Groestl384::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - dab78eea895a6dde0c53dc02fc79c7986f5d6811618ca6e5922f01e8aca9bfeb - 20ed5eda4130bf0ab474ac0b6f0290f8 - ")[..] + h.finalize(), + hex!( + "dab78eea895a6dde0c53dc02fc79c7986f5d6811618ca6e5922f01e8aca9bfeb" + "20ed5eda4130bf0ab474ac0b6f0290f8" + ), ); } #[test] -#[rustfmt::skip] fn groestl512_rand() { let mut h = Groestl512::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 7e4d8257c217c7ae59331126e0f984f145e9789862de7c099675ac29e46424ef - e93543974fa7113190d492f607f629a03db35ec5551abcb2785ae145fd3c543f - ")[..], + h.finalize(), + hex!( + "7e4d8257c217c7ae59331126e0f984f145e9789862de7c099675ac29e46424ef" + "e93543974fa7113190d492f607f629a03db35ec5551abcb2785ae145fd3c543f" + ), ); } diff --git a/jh/LICENSE-MIT b/jh/LICENSE-MIT index 50c61807c..3b73c41cf 100644 --- a/jh/LICENSE-MIT +++ b/jh/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2023 The RustCrypto Project Developers +Copyright (c) 2023-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/jh/README.md b/jh/README.md index 938669dae..bc573194f 100644 --- a/jh/README.md +++ b/jh/README.md @@ -9,7 +9,27 @@ Pure Rust implementation of the [JH] cryptographic hash function. -[Documentation][docs-link] +There are 4 standard versions of the JH hash function: + +* JH-224 +* JH-256 +* JH-384 +* JH-512 + +## Examples + +```rust +use jh::{Digest, Jh256}; +use hex_literal::hex; + +let mut hasher = Jh256::new(); +hasher.update(b"hello"); +let result = hasher.finalize(); + +assert_eq!(result, hex!("94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8306089")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +45,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -54,3 +74,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [JH]: https://en.wikipedia.org/wiki/JH_(hash_function) +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/jh/src/lib.rs b/jh/src/lib.rs index 93e6e891b..cfae16f1a 100644 --- a/jh/src/lib.rs +++ b/jh/src/lib.rs @@ -1,37 +1,5 @@ -//! Implementation of the [JH] cryptographic hash function. -//! -//! There are 4 standard versions of the JH hash function: -//! -//! * [JH-224][Jh224] -//! * [JH-256][Jh256] -//! * [JH-384][Jh384] -//! * [JH-512][Jh512] -//! -//! # Examples -//! -//! Hash functionality is usually accessed via the [`Digest`] trait: -//! -//! ``` -//! use hex_literal::hex; -//! use jh::{Digest, Jh256}; -//! -//! // create a JH-256 object -//! let mut hasher = Jh256::new(); -//! -//! // write input message -//! hasher.update(b"hello"); -//! -//! // read hash digest -//! let result = hasher.finalize(); -//! -//! let expected = hex!("94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8306089"); -//! assert_eq!(result[..], expected[..]); -//! ``` -//! Also see [RustCrypto/hashes] readme. -//! -//! [JH]: https://en.wikipedia.org/wiki/JH_(hash_function) -//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/k12/LICENSE-MIT b/k12/LICENSE-MIT index f39f9ff82..05ad2e61a 100644 --- a/k12/LICENSE-MIT +++ b/k12/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2020 RustCrypto Developers +Copyright (c) 2020-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/k12/README.md b/k12/README.md index 1a2ba6d42..e101a9821 100644 --- a/k12/README.md +++ b/k12/README.md @@ -6,10 +6,7 @@ ![Rust Version][rustc-image] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [KangarooTwelve][1] eXtendable-Output Function -(XOF). - -[Documentation][docs-link] +Pure Rust implementation of the [KangarooTwelve] eXtendable-Output Function (XOF). ## Minimum Supported Rust Version @@ -25,10 +22,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +50,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://keccak.team/kangarootwelve.html +[KangarooTwelve]: https://keccak.team/kangarootwelve.html diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 7f1602ec8..129da40b3 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -1,9 +1,5 @@ -//! Pure Rust implementation of the KangarooTwelve cryptographic hash -//! algorithm, based on the reference implementation: -//! -//! - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/k12/tests/mod.rs b/k12/tests/mod.rs index 36b5b29b8..7f54c2676 100644 --- a/k12/tests/mod.rs +++ b/k12/tests/mod.rs @@ -12,7 +12,6 @@ fn digest_and_box(data: &[u8], n: usize) -> Box<[u8]> { } #[test] -#[rustfmt::skip] fn empty() { // Source: reference paper assert_eq!( @@ -22,10 +21,10 @@ fn empty() { assert_eq!( digest_and_box(b"", 64)[..], - hex!(" - 1ac2d450fc3b4205d19da7bfca1b37513c0803577ac7167f06fe2ce1f0ef39e5 - 4269c056b8c82e48276038b6d292966cc07a3d4645272e31ff38508139eb0a71 - ")[..] + hex!( + "1ac2d450fc3b4205d19da7bfca1b37513c0803577ac7167f06fe2ce1f0ef39e5" + "4269c056b8c82e48276038b6d292966cc07a3d4645272e31ff38508139eb0a71" + )[..], ); assert_eq!( @@ -83,11 +82,11 @@ fn input_multiple_of_chunk_size_minus_one() { hex!("daacf62e434bdd126fbe9e61fae38d1429e9dddfaf8f999095585c3cbf366a4a"), hex!("eac3722b4b7db10af973ed7ca60e113a19fab895b46476a9aac51ead099e6ba4"), ]; - for i in 0..expected.len() { + for (i, exp_res) in expected.iter().enumerate() { let len = 8192 * (i + 1) - 1; let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); let result = digest_and_box(&m, 32); - assert_eq!(result[..], expected[i as usize][..]); + assert_eq!(result[..], exp_res[..]); } } @@ -100,10 +99,10 @@ fn input_multiple_of_chunk_size() { hex!("f4082a8fe7d1635aa042cd1da63bf235f91c231886c29896f9fe3818c60cd360"), hex!("d14f8dc243c206004ca8a996997e5ae16a8bdda288f6c90d20d7c43c1a408618"), ]; - for i in 0..expected.len() { + for (i, exp_res) in expected.iter().enumerate() { let len = 8192 * (i + 1); let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); let result = digest_and_box(&m, 32); - assert_eq!(result[..], expected[i as usize][..]); + assert_eq!(result[..], exp_res[..]); } } diff --git a/md2/LICENSE-MIT b/md2/LICENSE-MIT index ed3fa4d31..af2f14b8b 100644 --- a/md2/LICENSE-MIT +++ b/md2/LICENSE-MIT @@ -1,4 +1,5 @@ Copyright (c) 2016 felipeamp +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/md2/README.md b/md2/README.md index 8267d5c50..d24bb58fb 100644 --- a/md2/README.md +++ b/md2/README.md @@ -7,9 +7,22 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [MD2 hash function][1]. +Pure Rust implementation of the [MD2] cryptographic hash algorithm. -[Documentation][docs-link] +## Examples + +```rust +use md2::{Md2, Digest}; +use hex_literal::hex; + +let mut hasher = Md2::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("d9cce882ee690a5c1ce70beff3a78c77")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +38,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +66,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/MD2_(hash_function) +[MD2]: https://en.wikipedia.org/wiki/MD2_(hash_function) +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 7beb7effe..76c5a5564 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -1,29 +1,5 @@ -//! An implementation of the [MD2][1] cryptographic hash algorithm. -//! -//! # Usage -//! -//! ```rust -//! use md2::{Md2, Digest}; -//! use hex_literal::hex; -//! -//! // create a Md2 hasher instance -//! let mut hasher = Md2::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 16] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("d9cce882ee690a5c1ce70beff3a78c77")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/MD4 -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/md2/tests/mod.rs b/md2/tests/mod.rs index d43f0f4cb..21e4cc14a 100644 --- a/md2/tests/mod.rs +++ b/md2/tests/mod.rs @@ -8,8 +8,5 @@ digest::new_test!(md2_main, "md2", Md2, fixed_reset_test); fn md2_rand() { let mut h = Md2::new(); feed_rand_16mib(&mut h); - assert_eq!( - h.finalize()[..], - hex!("f9638c7be725f4d0b5ac342560af1a5b")[..] - ); + assert_eq!(h.finalize(), hex!("f9638c7be725f4d0b5ac342560af1a5b")); } diff --git a/md4/LICENSE-MIT b/md4/LICENSE-MIT index fbed5b4cb..775532acf 100644 --- a/md4/LICENSE-MIT +++ b/md4/LICENSE-MIT @@ -1,4 +1,5 @@ Copyright (c) 2016 bacher09, Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/md4/README.md b/md4/README.md index 7135678c6..bd80a2fe1 100644 --- a/md4/README.md +++ b/md4/README.md @@ -7,9 +7,27 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [MD4 hash function][1]. +Pure Rust implementation of the [MD4] cryptographic hash algorithm. -[Documentation][docs-link] +## Examples + +```rust +use md4::{Md4, Digest}; +use hex_literal::hex; + +// create a Md4 hasher instance +let mut hasher = Md4::new(); + +// process input message +hasher.update(b"hello world"); + +// acquire hash digest in the form of Array, +// which in this case is equivalent to [u8; 16] +let result = hasher.finalize(); +assert_eq!(result[..], hex!("aa010fbc1d14c795d86ef98c95479d17")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +43,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +71,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/MD4 +[MD4]: https://en.wikipedia.org/wiki/MD4 +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/md4/src/lib.rs b/md4/src/lib.rs index acceb0e32..c25022eba 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -1,29 +1,5 @@ -//! An implementation of the [MD4][1] cryptographic hash algorithm. -//! -//! # Usage -//! -//! ```rust -//! use md4::{Md4, Digest}; -//! use hex_literal::hex; -//! -//! // create a Md4 hasher instance -//! let mut hasher = Md4::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 16] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("aa010fbc1d14c795d86ef98c95479d17")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/MD4 -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/md4/tests/mod.rs b/md4/tests/mod.rs index e7aa88db5..d7681e2ff 100644 --- a/md4/tests/mod.rs +++ b/md4/tests/mod.rs @@ -8,8 +8,5 @@ digest::new_test!(md4_main, "md4", Md4, fixed_reset_test); fn md4_rand() { let mut h = Md4::new(); feed_rand_16mib(&mut h); - assert_eq!( - h.finalize()[..], - hex!("07345abfb6192d85bf6a211381926120")[..] - ); + assert_eq!(h.finalize(), hex!("07345abfb6192d85bf6a211381926120")); } diff --git a/md5/LICENSE-MIT b/md5/LICENSE-MIT index 66cf75563..6c74a37c8 100644 --- a/md5/LICENSE-MIT +++ b/md5/LICENSE-MIT @@ -1,6 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/md5/README.md b/md5/README.md index 8729f3276..6186ac728 100644 --- a/md5/README.md +++ b/md5/README.md @@ -7,23 +7,36 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [MD5 hash function][1]. - -[Documentation][docs-link] +Pure Rust implementation of the [MD5] cryptographic hash algorithm. ## âš ï¸ Security Warning This crate is provided for the purposes of legacy interoperability with protocols and systems which mandate the use of MD5. -However, MD5 is [cryptographically broken and unsuitable for further use][2]. +However, MD5 is [cryptographically broken and unsuitable for further use][1]. Collision attacks against MD5 are both practical and trivial, and -[theoretical attacks against MD5's preimage resistance have been found][3]. +[theoretical attacks against MD5's preimage resistance have been found][2]. -[RFC6151][4] advises no new IETF protocols can be designed MD5-based constructions, +[RFC 6151] advises no new IETF protocols can be designed MD5-based constructions, including HMAC-MD5. +## Examples + +```rust +use md5::{Md5, Digest}; +use hex_literal::hex; + +let mut hasher = Md5::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("5eb63bbbe01eeed093cb22bb8f5acdc3")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + ## Minimum Supported Rust Version Rust **1.71** or higher. @@ -38,10 +51,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -66,7 +79,8 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/MD5 -[2]: https://www.kb.cert.org/vuls/id/836068 -[3]: https://dl.acm.org/citation.cfm?id=1724151 -[4]: https://tools.ietf.org/html/rfc6151 +[MD5]: https://en.wikipedia.org/wiki/MD5 +[examples section]: https://github.com/RustCrypto/hashes#Examples +[1]: https://www.kb.cert.org/vuls/id/836068 +[2]: https://dl.acm.org/citation.cfm?id=1724151 +[RFC 6151]: https://tools.ietf.org/html/rfc6151 diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 59f5b84d4..53b5dc07c 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -1,29 +1,5 @@ -//! An implementation of the [MD5][1] cryptographic hash algorithm. -//! -//! # Usage -//! -//! ```rust -//! use md5::{Md5, Digest}; -//! use hex_literal::hex; -//! -//! // create a Md5 hasher instance -//! let mut hasher = Md5::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 16] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("5eb63bbbe01eeed093cb22bb8f5acdc3")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/MD5 -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/md5/tests/mod.rs b/md5/tests/mod.rs index 316cb8fbe..175d5060e 100644 --- a/md5/tests/mod.rs +++ b/md5/tests/mod.rs @@ -8,8 +8,5 @@ digest::new_test!(md5_main, "md5", md5::Md5, fixed_reset_test); fn md5_rand() { let mut h = Md5::new(); feed_rand_16mib(&mut h); - assert_eq!( - h.finalize()[..], - hex!("61aec26f1b909578ef638ae02dac0977")[..] - ); + assert_eq!(h.finalize(), hex!("61aec26f1b909578ef638ae02dac0977")); } diff --git a/ripemd/LICENSE-MIT b/ripemd/LICENSE-MIT index efb0b5f8b..6f139a79c 100644 --- a/ripemd/LICENSE-MIT +++ b/ripemd/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2021 RustCrypto Developers +Copyright (c) 2021-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/ripemd/README.md b/ripemd/README.md index 5f7370800..52eb89097 100644 --- a/ripemd/README.md +++ b/ripemd/README.md @@ -7,9 +7,37 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [RIPEMD] hash functions. +Pure Rust implementation of the [RIPEMD] cryptographic hash. -[Documentation][docs-link] +This crate implements only the modified 1996 versions, not the original +one from 1992. + +Note that RIPEMD-256 provides only the same security as RIPEMD-128, +and RIPEMD-320 provides only the same security as RIPEMD-160. + +## Examples + +```rust +use ripemd::{Ripemd160, Ripemd320, Digest}; +use hex_literal::hex; + +let mut hasher = Ripemd160::new(); +hasher.update(b"Hello world!"); +let hash160 = hasher.finalize(); + +assert_eq!(hash160, hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); + +let mut hasher = Ripemd320::new(); +hasher.update(b"Hello world!"); +let hash320 = hasher.finalize(); + +assert_eq!(hash320, hex!( + "f1c1c231d301abcf2d7daae0269ff3e7bc68e623" + "ad723aa068d316b056d26b7d1bb6f0cc0f28336d" +)); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +53,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -54,3 +82,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 5bb19b977..eb0d04167 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -1,44 +1,5 @@ -//! An implementation of the [RIPEMD] cryptographic hash. -//! -//! This crate implements only the modified 1996 versions, not the original -//! one from 1992. -//! -//! Note that RIPEMD-256 provides only the same security as RIPEMD-128, -//! and RIPEMD-320 provides only the same security as RIPEMD-160. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use ripemd::{Ripemd160, Ripemd320, Digest}; -//! -//! // create a RIPEMD-160 hasher instance -//! let mut hasher = Ripemd160::new(); -//! -//! // process input message -//! hasher.update(b"Hello world!"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 20] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); -//! -//! // same for RIPEMD-320 -//! let mut hasher = Ripemd320::new(); -//! hasher.update(b"Hello world!"); -//! let result = hasher.finalize(); -//! assert_eq!(&result[..], &hex!(" -//! f1c1c231d301abcf2d7daae0269ff3e7bc68e623 -//! ad723aa068d316b056d26b7d1bb6f0cc0f28336d -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes] readme. -//! -//! [RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD -//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/ripemd/tests/mod.rs b/ripemd/tests/mod.rs index 96d3c0086..fe2a78e27 100644 --- a/ripemd/tests/mod.rs +++ b/ripemd/tests/mod.rs @@ -25,10 +25,7 @@ fn ripemd128_1mil_a() { fn ripemd128_rand() { let mut h = Ripemd128::new(); feed_rand_16mib(&mut h); - assert_eq!( - h.finalize()[..], - hex!("01eb52529bcec15bd0cb4040ec998632")[..] - ); + assert_eq!(h.finalize(), hex!("01eb52529bcec15bd0cb4040ec998632")); } #[test] @@ -49,8 +46,8 @@ fn ripemd160_rand() { let mut h = Ripemd160::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("bcd8c672932125776af3c60eeeb58bbaf206f386")[..] + h.finalize(), + hex!("bcd8c672932125776af3c60eeeb58bbaf206f386") ); } @@ -63,7 +60,7 @@ fn ripemd256_1mil_a() { } assert_eq!( h.finalize(), - hex!("ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978") + hex!("ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978"), ); } @@ -72,13 +69,12 @@ fn ripemd256_rand() { let mut h = Ripemd256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("6492ffe075896441b737900bdf58fc960e77477e42a2a61bc02c66fd689b69d0")[..] + h.finalize(), + hex!("6492ffe075896441b737900bdf58fc960e77477e42a2a61bc02c66fd689b69d0"), ); } #[test] -#[rustfmt::skip] fn ripemd320_1mil_a() { let mut h = Ripemd320::new(); let buf = [b'a'; 1000]; @@ -87,23 +83,22 @@ fn ripemd320_1mil_a() { } assert_eq!( h.finalize(), - hex!(" - bdee37f4371e20646b8b0d862dda16292ae36f40 - 965e8c8509e63d1dbddecc503e2b63eb9245bb66 - ") + hex!( + "bdee37f4371e20646b8b0d862dda16292ae36f40" + "965e8c8509e63d1dbddecc503e2b63eb9245bb66" + ), ); } #[test] -#[rustfmt::skip] fn ripemd320_rand() { let mut h = Ripemd320::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 3a905312162c5c173639f6cc1cdf51d14e8bda02 - 865767592e26d9343fbec348ce55ce39b4b4b56f - ")[..] + h.finalize(), + hex!( + "3a905312162c5c173639f6cc1cdf51d14e8bda02" + "865767592e26d9343fbec348ce55ce39b4b4b56f" + ), ); } diff --git a/sha1/LICENSE-MIT b/sha1/LICENSE-MIT index 66cf75563..6c74a37c8 100644 --- a/sha1/LICENSE-MIT +++ b/sha1/LICENSE-MIT @@ -1,6 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sha1/README.md b/sha1/README.md index 3546d5004..019d23351 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -7,18 +7,43 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [SHA-1 hash function][1]. +Pure Rust implementation of the [SHA-1] cryptographic hash algorithm. -[Documentation][docs-link] - -## 🚨 Warning: Cryptographically Broken 🚨 +## 🚨 Warning: Cryptographically Broken! 🚨 The SHA-1 hash function should be considered cryptographically broken and unsuitable for further use in any security critical capacity, as it is -[practically vulnerable to chosen-prefix collisions][2]. +[practically vulnerable to chosen-prefix collisions][1]. We provide this crate for legacy interoperability purposes only. +## Examples + +### One-shot API + +```rust +use hex_literal::hex; +use sha1::{Sha1, Digest}; + +let result = Sha1::digest(b"hello world"); +assert_eq!(result, hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); +``` + +### Incremental API + +```rust +use hex_literal::hex; +use sha1::{Sha1, Digest}; + +let mut hasher = Sha1::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + ## Minimum Supported Rust Version Rust **1.71** or higher. @@ -33,10 +58,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -61,5 +86,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/SHA-1 -[2]: https://sha-mbles.github.io/ +[SHA-1]: https://en.wikipedia.org/wiki/SHA-1 +[1]: https://sha-mbles.github.io/ +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 5ea8de75e..647f0ace0 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -1,58 +1,5 @@ -//! Pure Rust implementation of the [SHA-1][1] cryptographic hash algorithm -//! with optional hardware-specific optimizations. -//! -//! # 🚨 Warning: Cryptographically Broken! 🚨 -//! -//! The SHA-1 hash function should be considered cryptographically broken and -//! unsuitable for further use in any security critical capacity, as it is -//! [practically vulnerable to chosen-prefix collisions][2]. -//! -//! We provide this crate for legacy interoperability purposes only. -//! -//! # Usage -//! -//! ## One-shot API -//! -//! ```rust -//! use hex_literal::hex; -//! use sha1::{Sha1, Digest}; -//! -//! let result = Sha1::digest(b"hello world"); -//! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); -//! ``` -//! -//! ## Incremental API -//! -//! ```rust -//! use hex_literal::hex; -//! use sha1::{Sha1, Digest}; -//! -//! // create a Sha1 object -//! let mut hasher = Sha1::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 20] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); -//! ``` -//! -//! Also see [RustCrypto/hashes][3] readme. -//! -//! # Note for users of `sha1 v0.6` -//! -//! This crate has been transferred to the RustCrypto organization and uses -//! implementation previously published as the `sha-1` crate. The previous -//! zero dependencies version is now published as the [`sha1_smol`] crate. -//! -//! [1]: https://en.wikipedia.org/wiki/SHA-1 -//! [2]: https://sha-mbles.github.io/ -//! [3]: https://github.com/RustCrypto/hashes -//! [`sha1_smol`]: https://github.com/mitsuhiko/sha1-smol/ - #![no_std] +#![doc = include_str!("../README.md")] #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", diff --git a/sha1/tests/mod.rs b/sha1/tests/mod.rs index 04aa69f1c..6f26dabc3 100644 --- a/sha1/tests/mod.rs +++ b/sha1/tests/mod.rs @@ -9,7 +9,7 @@ fn sha1_rand() { let mut h = Sha1::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("7e565a25a8b123e9881addbcedcd927b23377a78")[..] + h.finalize(), + hex!("7e565a25a8b123e9881addbcedcd927b23377a78"), ); } diff --git a/sha2/LICENSE-MIT b/sha2/LICENSE-MIT index 66cf75563..6c74a37c8 100644 --- a/sha2/LICENSE-MIT +++ b/sha2/LICENSE-MIT @@ -1,6 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sha2/README.md b/sha2/README.md index 8d24f5e7c..518cf1df7 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -7,12 +7,52 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [SHA-2 hash function family][1] -including SHA-224, SHA-256, SHA-384, and SHA-512. +Pure Rust implementation of the [SHA-2] cryptographic hash algorithms. -[Documentation][docs-link] +There are 6 standard algorithms specified in the SHA-2 standard: +`Sha224`, `Sha256`, `Sha512_224`, `Sha512_256`, `Sha384`, and `Sha512`. - +Algorithmically, there are only 2 core algorithms: SHA-256 and SHA-512. +All other algorithms are just applications of these with different initial +hash values, and truncated to different digest bit lengths. The first two +algorithms in the list are based on SHA-256, while the last four are based +on SHA-512. + +## Examples + +### One-shot API + +```rust +use sha2::{Sha256, Digest}; +use hex_literal::hex; + +let hash = Sha256::digest(b"hello world"); +assert_eq!(hash, hex!("b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9")); +``` + +### Incremental API + +```rust +use sha2::{Sha256, Sha512, Digest}; +use hex_literal::hex; + +let mut hasher = Sha256::new(); +hasher.update(b"hello world"); +let hash256 = hasher.finalize(); + +assert_eq!(hash256, hex!("b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9")); + +let mut hasher = Sha512::new(); +hasher.update(b"hello world"); +let hash512 = hasher.finalize(); + +assert_eq!(hash512, hex!( + "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f" + "989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f" +)); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -28,10 +68,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -56,4 +96,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/SHA-2 +[SHA-2]: https://en.wikipedia.org/wiki/SHA-2 +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index c178d4eb4..c2d4936d1 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -1,64 +1,5 @@ -//! An implementation of the [SHA-2][1] cryptographic hash algorithms. -//! -//! There are 6 standard algorithms specified in the SHA-2 standard: [`Sha224`], -//! [`Sha256`], [`Sha512_224`], [`Sha512_256`], [`Sha384`], and [`Sha512`]. -//! -//! Algorithmically, there are only 2 core algorithms: SHA-256 and SHA-512. -//! All other algorithms are just applications of these with different initial -//! hash values, and truncated to different digest bit lengths. The first two -//! algorithms in the list are based on SHA-256, while the last four are based -//! on SHA-512. -//! -//! # Usage -//! -//! ## One-shot API -//! -//! ```rust -//! use hex_literal::hex; -//! use sha2::{Sha256, Digest}; -//! -//! let result = Sha256::digest(b"hello world"); -//! assert_eq!(result[..], hex!(" -//! b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 -//! ")[..]); -//! ``` -//! -//! ## Incremental API -//! -//! ```rust -//! use hex_literal::hex; -//! use sha2::{Sha256, Sha512, Digest}; -//! -//! // create a Sha256 object -//! let mut hasher = Sha256::new(); -//! -//! // write input message -//! hasher.update(b"hello world"); -//! -//! // read hash digest and consume hasher -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 -//! ")[..]); -//! -//! // same for Sha512 -//! let mut hasher = Sha512::new(); -//! hasher.update(b"hello world"); -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f -//! 989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/SHA-2 -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", diff --git a/sha2/tests/mod.rs b/sha2/tests/mod.rs index 91df4683b..91104229b 100644 --- a/sha2/tests/mod.rs +++ b/sha2/tests/mod.rs @@ -15,21 +15,20 @@ fn sha256_rand() { let mut h = Sha256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("45f51fead87328fe837a86f4f1ac0eb15116ab1473adc0423ef86c62eb2320c7")[..] + h.finalize(), + hex!("45f51fead87328fe837a86f4f1ac0eb15116ab1473adc0423ef86c62eb2320c7"), ); } #[test] -#[rustfmt::skip] fn sha512_rand() { let mut h = Sha512::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 9084d75a7c0721541d737b6171eb465dc9ba08a119a182a8508484aa27a176cd - e7c2103b108393eb024493ced4aac56be6f57222cac41b801f11494886264997 - ")[..] + h.finalize(), + hex!( + "9084d75a7c0721541d737b6171eb465dc9ba08a119a182a8508484aa27a176cd" + "e7c2103b108393eb024493ced4aac56be6f57222cac41b801f11494886264997" + ), ); } diff --git a/sha3/LICENSE-MIT b/sha3/LICENSE-MIT index c7ee28b0f..49ee1c853 100644 --- a/sha3/LICENSE-MIT +++ b/sha3/LICENSE-MIT @@ -2,6 +2,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2014 Sébastien Martini Copyright (c) 2016-2023 Artyom Pavlov, Marek Kotewicz +Copyright (c) 2020-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sha3/README.md b/sha3/README.md index 13bcb74bf..e16d3ef81 100644 --- a/sha3/README.md +++ b/sha3/README.md @@ -7,9 +7,55 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [SHA-3 (Keccak) hash function][1]. +Pure Rust implementation of the [SHA-3] cryptographic hash algorithms. -[Documentation][docs-link] +There are 6 standard algorithms specified in the SHA-3 standard: + +* `SHA3-224` +* `SHA3-256` +* `SHA3-384` +* `SHA3-512` +* `SHAKE128`, an extendable output function (XOF) +* `SHAKE256`, an extendable output function (XOF) +* `Keccak224`, `Keccak256`, `Keccak384`, `Keccak512` (NIST submission + without padding changes) + +This crates additionally supports the `TurboSHAKE` XOF variant. + +## Examples + +Output size of SHA3-256 is fixed, so its functionality is usually +accessed via the `Digest` trait: + +```rust +use hex_literal::hex; +use sha3::{Digest, Sha3_256}; + +let mut hasher = Sha3_256::new(); +hasher.update(b"abc"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532")); +``` + +SHAKE functions have an extendable output, so finalization method returns +XOF reader from which results of arbitrary length can be read. Note that +these functions do not implement `Digest`, so lower-level traits have to +be imported: + +```rust +use sha3::{Shake128, digest::{Update, ExtendableOutput, XofReader}}; +use hex_literal::hex; + +let mut hasher = Shake128::default(); +hasher.update(b"abc"); +let mut reader = hasher.finalize_xof(); +let mut buf = [0u8; 10]; +reader.read(&mut buf); +assert_eq!(buf, hex!("5881092dd818bf5cf8a3")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +71,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +99,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/SHA-3 +[SHA-3]: https://en.wikipedia.org/wiki/SHA-3 +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index a7bc26b63..d7fccecbf 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -1,64 +1,5 @@ -//! An implementation of the [SHA-3][1] cryptographic hash algorithms. -//! -//! There are 6 standard algorithms specified in the SHA-3 standard: -//! -//! * `SHA3-224` -//! * `SHA3-256` -//! * `SHA3-384` -//! * `SHA3-512` -//! * `SHAKE128`, an extendable output function (XOF) -//! * `SHAKE256`, an extendable output function (XOF) -//! * `Keccak224`, `Keccak256`, `Keccak384`, `Keccak512` (NIST submission -//! without padding changes) -//! -//! Additionally supports `TurboSHAKE`. -//! -//! # Examples -//! -//! Output size of SHA3-256 is fixed, so its functionality is usually -//! accessed via the `Digest` trait: -//! -//! ``` -//! use hex_literal::hex; -//! use sha3::{Digest, Sha3_256}; -//! -//! // create a SHA3-256 object -//! let mut hasher = Sha3_256::new(); -//! -//! // write input message -//! hasher.update(b"abc"); -//! -//! // read hash digest -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 -//! ")[..]); -//! ``` -//! -//! SHAKE functions have an extendable output, so finalization method returns -//! XOF reader from which results of arbitrary length can be read. Note that -//! these functions do not implement `Digest`, so lower-level traits have to -//! be imported: -//! -//! ``` -//! use sha3::{Shake128, digest::{Update, ExtendableOutput, XofReader}}; -//! use hex_literal::hex; -//! -//! let mut hasher = Shake128::default(); -//! hasher.update(b"abc"); -//! let mut reader = hasher.finalize_xof(); -//! let mut res1 = [0u8; 10]; -//! reader.read(&mut res1); -//! assert_eq!(res1, hex!("5881092dd818bf5cf8a3")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/SHA-3 -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/shabal/LICENSE-MIT b/shabal/LICENSE-MIT index 66cf75563..6c74a37c8 100644 --- a/shabal/LICENSE-MIT +++ b/shabal/LICENSE-MIT @@ -1,6 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/shabal/README.md b/shabal/README.md index fb2654e76..94fa4db5e 100644 --- a/shabal/README.md +++ b/shabal/README.md @@ -7,39 +7,25 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Shabal][1] cryptographic hash algorithm. +Pure Rust implementation of the [Shabal] cryptographic hash algorithm. -[Documentation][docs-link] +There are 5 standard algorithms specified in the Shabal standard: [`Shabal192`], [`Shabal224`], [`Shabal256`], [`Shabal384`], [`Shabal512`]. -## About -There are 5 standard algorithms specified in the Shabal standard: - -* `Shabal192`, which is the `Shabal` algorithm with the result truncated to 192 bits -* `Shabal224`, which is the `Shabal` algorithm with the result truncated to 224 bits -* `Shabal256`, which is the `Shabal` algorithm with the result truncated to 256 bits. -* `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. -* `Shabal512`, which is the `Shabal` algorithm with the result not truncated. - -There is a single Shabal algorithm. All variants have different initialisation and apart -from Shabal512 all truncate the result. - -## Usage +## Examples ```rust use shabal::{Shabal256, Digest}; +use hex_literal::hex; -// create a Shabal256 hasher instance let mut hasher = Shabal256::new(); +hasher.update(b"helloworld"); +let hash = hasher.finalize(); -// process input message -hasher.input(b"helloworld"); - -// acquire hash digest in the form of GenericArray, -// which in this case is equivalent to [u8; 32] -let result = hasher.result(); -assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); +assert_eq!(hash, hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); ``` +Also, see the [examples section] in the RustCrypto/hashes readme. + ## Minimum Supported Rust Version Rust **1.71** or higher. @@ -54,10 +40,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -82,4 +68,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[Shabal]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index bb529aa4b..fbfe2da16 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -1,42 +1,5 @@ -//! An implementation of the [Shabal][1] cryptographic hash algorithm. -//! -//! There are 5 standard algorithms specified in the Shabal standard: -//! -//! * `Shabal192`, which is the `Shabal` algorithm with the result truncated to 192 bits -//! * `Shabal224`, which is the `Shabal` algorithm with the result truncated to 224 bits -//! * `Shabal256`, which is the `Shabal` algorithm with the result truncated to 256 bits. -//! * `Shabal384`, which is the `Shabal` algorithm with the result truncated to 384 bits. -//! * `Shabal512`, which is the `Shabal` algorithm with the result not truncated. -//! -//! There is a single Shabal algorithm. All variants have different initialisation and apart -//! from Shabal512 all truncate the result. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use shabal::{Shabal256, Digest}; -//! -//! // create a Shabal256 hasher instance -//! let mut hasher = Shabal256::new(); -//! -//! // process input message -//! hasher.update(b"helloworld"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 32] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!(" -//! d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8 -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/shabal/tests/mod.rs b/shabal/tests/mod.rs index 0e43643d4..08ff31099 100644 --- a/shabal/tests/mod.rs +++ b/shabal/tests/mod.rs @@ -16,8 +16,8 @@ fn shabal192_rand() { let mut h = Shabal192::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("a3e480026be158db97976a895b7a015e9e5205986ebc8a89")[..] + h.finalize(), + hex!("a3e480026be158db97976a895b7a015e9e5205986ebc8a89"), ); } @@ -26,8 +26,8 @@ fn shabal224_rand() { let mut h = Shabal224::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("a09bedfed92fdffc896e6043ec175aa1f07383c65bde990a3661e3d0")[..] + h.finalize(), + hex!("a09bedfed92fdffc896e6043ec175aa1f07383c65bde990a3661e3d0"), ); } @@ -36,35 +36,33 @@ fn shabal256_rand() { let mut h = Shabal256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("53252a6467450aa1afc1ac25efb493aa65b70e5b2280a4bed7f672c0cfe6f40e")[..] + h.finalize(), + hex!("53252a6467450aa1afc1ac25efb493aa65b70e5b2280a4bed7f672c0cfe6f40e"), ); } #[test] -#[rustfmt::skip] fn shabal384_rand() { let mut h = Shabal384::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 15b8ece81e490848c997dba603523be8842c654262e5adc29138d22a01ff0c9f - 2b0a0dc9f3e7702ac3598fb1b9ff2db2 - ")[..] + h.finalize(), + hex!( + "15b8ece81e490848c997dba603523be8842c654262e5adc29138d22a01ff0c9f" + "2b0a0dc9f3e7702ac3598fb1b9ff2db2" + ), ); } #[test] -#[rustfmt::skip] fn shabal512_rand() { let mut h = Shabal512::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 66f091bc2ba6c571a776441c08ee0711752344ba8b4c88ea17a078baa70d8c0a - 717b7da24e765867cfcf273a43a58f90e07c0130d1e97adc49f66a0502536e82 - ")[..] + h.finalize(), + hex!( + "66f091bc2ba6c571a776441c08ee0711752344ba8b4c88ea17a078baa70d8c0a" + "717b7da24e765867cfcf273a43a58f90e07c0130d1e97adc49f66a0502536e82" + ), ); } diff --git a/skein/LICENSE-MIT b/skein/LICENSE-MIT index 50c61807c..3b73c41cf 100644 --- a/skein/LICENSE-MIT +++ b/skein/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2023 The RustCrypto Project Developers +Copyright (c) 2023-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/skein/README.md b/skein/README.md index 092aac08b..d847c6db2 100644 --- a/skein/README.md +++ b/skein/README.md @@ -7,9 +7,28 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Skein] family of cryptographic hash algorithms. +Implementation of the [Skein] family of cryptographic hash algorithms. -[Documentation][docs-link] +There are 3 standard versions of the Skein hash function: `Skein256`, `Skein512`, `Skein1024`. + +Output size of the Skein hash functions is arbitrary, so it has to be +fixed using additional type parameter. + +## Examples + +```rust +use hex_literal::hex; +use skein::{Digest, Skein512, consts::U32}; + +let mut hasher = Skein512::::new(); +hasher.update(b"The quick brown fox "); +hasher.update(b"jumps over the lazy dog"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("b3250457e05d3060b1a4bbc1428bc75a3f525ca389aeab96cfa34638d96e492a")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +44,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -54,3 +73,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) [Skein]: https://schneier.com/academic/skein +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/skein/src/lib.rs b/skein/src/lib.rs index 57a489034..649ea8a95 100644 --- a/skein/src/lib.rs +++ b/skein/src/lib.rs @@ -1,40 +1,5 @@ -//! Implementation of the [Skein] family of cryptographic hash algorithms. -//! -//! There are 3 standard versions of the Skein hash function: -//! -//! * [`Skein256`] -//! * [`Skein512`] -//! * [`Skein1024`] -//! -//! Output size of the Skein hash functions is arbitrary, so it has to be -//! fixed using additional type parameter -//! -//! # Examples -//! Hash functionality is usually accessed via the [`Digest`] trait: -//! -//! ``` -//! use hex_literal::hex; -//! use skein::{Digest, Skein512, consts::U32}; -//! -//! // Create a Skein-512-256 hasher object -//! let mut hasher = Skein512::::new(); -//! -//! // Write input message -//! hasher.update(b"The quick brown fox "); -//! hasher.update(b"jumps over the lazy dog"); -//! -//! // Read hash digest -//! let result = hasher.finalize(); -//! -//! let expected = hex!("b3250457e05d3060b1a4bbc1428bc75a3f525ca389aeab96cfa34638d96e492a"); -//! assert_eq!(result[..], expected[..]); -//! ``` -//! Also see [RustCrypto/hashes] readme. -//! -//! [Skein]: https://schneier.com/academic/skein -//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" @@ -208,5 +173,4 @@ macro_rules! define_hasher { define_hasher!(Skein256Core, Skein256, Threefish256, U32, "Skein-256"); define_hasher!(Skein512Core, Skein512, Threefish512, U64, "Skein-512"); -#[rustfmt::skip] define_hasher!(Skein1024Core, Skein1024, Threefish1024, U128, "Skein-1024"); diff --git a/skein/tests/lib.rs b/skein/tests/mod.rs similarity index 100% rename from skein/tests/lib.rs rename to skein/tests/mod.rs diff --git a/sm3/LICENSE-MIT b/sm3/LICENSE-MIT index c869ada57..6f139a79c 100644 --- a/sm3/LICENSE-MIT +++ b/sm3/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2021 The RustCrypto Project Developers +Copyright (c) 2021-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sm3/README.md b/sm3/README.md index 32266f11b..9802ce00a 100644 --- a/sm3/README.md +++ b/sm3/README.md @@ -7,9 +7,23 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [SM3 (OSCCA GM/T 0004-2012)][1] hash function. +Pure Rust implementation of the [SM3] cryptographic hash function defined +in OSCCA GM/T 0004-2012. -[Documentation][docs-link] +## Examples + +```rust +use sm3::{Digest, Sm3}; +use hex_literal::hex; + +let mut hasher = Sm3::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d3fff88")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +39,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +67,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/sm3 +[SM3]: https://en.wikipedia.org/wiki/SM3_(hash_function) +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 891adec56..0452dc1bc 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -1,34 +1,5 @@ -//! An implementation of the [SM3] cryptographic hash function defined -//! in OSCCA GM/T 0004-2012. -//! -//! # Usage -//! Hasher functionality is expressed via traits defined in the [`digest`] -//! crate. -//! -//! ```rust -//! use hex_literal::hex; -//! use sm3::{Digest, Sm3}; -//! -//! // create a hasher object, to use it do not forget to import `Digest` trait -//! let mut hasher = Sm3::new(); -//! -//! // write input message -//! hasher.update(b"hello world"); -//! -//! // read hash digest and consume hasher -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d3fff88 -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes] readme. -//! -//! [SM3]: https://en.wikipedia.org/wiki/SM3_(hash_function) -//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/sm3/tests/mod.rs b/sm3/tests/mod.rs index fa746c443..54c91ab07 100644 --- a/sm3/tests/mod.rs +++ b/sm3/tests/mod.rs @@ -10,7 +10,7 @@ fn sm3_rand() { let mut h = Sm3::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("ad154967b08d636a148dd4c688a6df7add1ed1946af18eb358a9b320de2aca86")[..] + h.finalize(), + hex!("ad154967b08d636a148dd4c688a6df7add1ed1946af18eb358a9b320de2aca86"), ); } diff --git a/streebog/LICENSE-MIT b/streebog/LICENSE-MIT index 78d6d79a4..4abba7d11 100644 --- a/streebog/LICENSE-MIT +++ b/streebog/LICENSE-MIT @@ -1,4 +1,5 @@ Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/streebog/README.md b/streebog/README.md index fff7ea983..52c023403 100644 --- a/streebog/README.md +++ b/streebog/README.md @@ -7,9 +7,31 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Streebog (GOST R 34.11-2012)][1] hash function. +Pure Rust implementation of the [Streebog] cryptographic hash function defined in GOST R 34.11-2012. -[Documentation][docs-link] +## Examples + +```rust +use streebog::{Digest, Streebog256, Streebog512}; +use hex_literal::hex; + +let mut hasher = Streebog256::new(); +hasher.update("The quick brown fox jumps over the lazy dog"); +let hash256 = hasher.finalize(); + +assert_eq!(hash256, hex!("3e7dea7f2384b6c5a3d0e24aaa29c05e89ddd762145030ec22c71a6db8b2c1f4")); + +let mut hasher = Streebog512::new(); +hasher.update("The quick brown fox jumps over the lazy dog."); +let hash512 = hasher.finalize(); + +assert_eq!(hash512, hex!( + "fe0c42f267d921f940faa72bd9fcf84f9f1bd7e9d055e9816e4c2ace1ec83be8" + "2d2957cd59b86e123d8f5adee80b3ca08a017599a9fc1a14d940cf87c77df070" +)); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +47,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +75,5 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/Streebog +[Streebog]: https://en.wikipedia.org/wiki/Streebog +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 23a72c8fa..6da989be5 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -1,39 +1,5 @@ -//! An implementation of the [Streebog] cryptographic hash function defined -//! in GOST R 34.11-2012. -//! -//! # Usage -//! ```rust -//! use streebog::{Digest, Streebog256, Streebog512}; -//! use hex_literal::hex; -//! -//! // create Streebog256 hasher state -//! let mut hasher = Streebog256::new(); -//! // write input message -//! hasher.update("The quick brown fox jumps over the lazy dog"); -//! // read hash digest (it will consume hasher) -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 3e7dea7f2384b6c5a3d0e24aaa29c05e89ddd762145030ec22c71a6db8b2c1f4 -//! ")[..]); -//! -//! // same for Streebog512 -//! let mut hasher = Streebog512::new(); -//! hasher.update("The quick brown fox jumps over the lazy dog."); -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! fe0c42f267d921f940faa72bd9fcf84f9f1bd7e9d055e9816e4c2ace1ec83be8 -//! 2d2957cd59b86e123d8f5adee80b3ca08a017599a9fc1a14d940cf87c77df070 -//! ")[..]); -//! ``` -//! -//! See [RustCrypto/hashes][1] readme for additional examples. -//! -//! [Streebog]: https://en.wikipedia.org/wiki/Streebog -//! [1]: https://github.com/RustCrypto/hashes/blob/master/README.md#usage - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/streebog/tests/mod.rs b/streebog/tests/mod.rs index aeddaefd1..1cba79d92 100644 --- a/streebog/tests/mod.rs +++ b/streebog/tests/mod.rs @@ -21,7 +21,6 @@ new_test!( /// Test vectors from: /// https://github.com/gost-engine/engine/blob/master/test/01-digest.t #[test] -#[rustfmt::skip] fn gost_engine_tests() { let h256 = &mut streebog::Streebog256::new(); let h512 = &mut streebog::Streebog512::new(); @@ -39,24 +38,26 @@ fn gost_engine_tests() { update(h256, h512, b"12345670"); } check( - h256, h512, + h256, + h512, hex!("1906512b86a1283c68cec8419e57113efc562a1d0e95d8f4809542900c416fe4"), - hex!(" - 283587e434864d0d4bea97c0fb10e2dd421572fc859304bdf6a94673d652c590 - 49212bad7802b4fcf5eecc1f8fab569d60f2c20dbd789a7fe4efbd79d8137ee7 - "), + hex!( + "283587e434864d0d4bea97c0fb10e2dd421572fc859304bdf6a94673d652c590" + "49212bad7802b4fcf5eecc1f8fab569d60f2c20dbd789a7fe4efbd79d8137ee7" + ), ); for _ in 0..128 { update(h256, h512, &hex!("0001021584674531")); } check( - h256, h512, + h256, + h512, hex!("2eb1306be3e490f18ff0e2571a077b3831c815c46c7d4fdf9e0e26de4032b3f3"), - hex!(" - 55656e5bcf795b499031a7833cd7dc18fe10d4a47e15be545c6ab3f304a4fe41 - 1c4c39de5b1fc6844880111441e0b92bf1ec2fb7840453fe39a2b70ced461968 - "), + hex!( + "55656e5bcf795b499031a7833cd7dc18fe10d4a47e15be545c6ab3f304a4fe41" + "1c4c39de5b1fc6844880111441e0b92bf1ec2fb7840453fe39a2b70ced461968" + ), ); let mut buf = Vec::new(); @@ -65,12 +66,13 @@ fn gost_engine_tests() { } update(h256, h512, &buf[0..539]); check( - h256, h512, + h256, + h512, hex!("c98a17f9fadff78d08521e4179a7b2e6275f3b1da88339a3cb961a3514e5332e"), - hex!(" - d5ad93fbc9ed7abc1cf28d00827a052b40bea74b04c4fd753102c1bcf9f9dad5 - 142887f8a4cceaa0d64a0a8291592413d6adb956b99138a0023e127ff37bdf08 - "), + hex!( + "d5ad93fbc9ed7abc1cf28d00827a052b40bea74b04c4fd753102c1bcf9f9dad5" + "142887f8a4cceaa0d64a0a8291592413d6adb956b99138a0023e127ff37bdf08" + ), ); for _ in 0..4096 { @@ -81,12 +83,13 @@ fn gost_engine_tests() { } update(h256, h512, b"12345\n"); check( - h256, h512, + h256, + h512, hex!("50e935d725d9359e5991b6b7eba8b3539fca03584d26adf4c827c982ffd49367"), - hex!(" - 1d93645ebfbb477660f98b7d1598e37fbf3bfc8234ead26e2246e1b979e590ac - 46138158a692f9a0c9ac2550758b4d0d4c9fb8af5e595a16d3760c6516443f82 - "), + hex!( + "1d93645ebfbb477660f98b7d1598e37fbf3bfc8234ead26e2246e1b979e590ac" + "46138158a692f9a0c9ac2550758b4d0d4c9fb8af5e595a16d3760c6516443f82" + ), ); } @@ -95,21 +98,20 @@ fn streebog256_rand() { let mut h = Streebog256::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("eb5783a2d3f1aa52136701c07c90272a45f017733d898cdfc02302ad2ac8ebed")[..], + h.finalize(), + hex!("eb5783a2d3f1aa52136701c07c90272a45f017733d898cdfc02302ad2ac8ebed"), ); } #[test] -#[rustfmt::skip] fn streebog512_rand() { let mut h = Streebog512::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - d78479790925e257b1d65bec84cbe9bbd9bf0abcefb9f99aa065cc533187224f - 2bead756c96297dcd17728a838e3117a9123559be655175bf4cdac0ee11fba75 - ")[..], + h.finalize(), + hex!( + "d78479790925e257b1d65bec84cbe9bbd9bf0abcefb9f99aa065cc533187224f" + "2bead756c96297dcd17728a838e3117a9123559be655175bf4cdac0ee11fba75" + ), ); } diff --git a/tiger/LICENSE-MIT b/tiger/LICENSE-MIT index d62c85c68..27404158b 100644 --- a/tiger/LICENSE-MIT +++ b/tiger/LICENSE-MIT @@ -1,5 +1,5 @@ -Copyright (c) 2021 RustCrypto Developers Copyright (c) 2020 Ulrik Mikaelsson +Copyright (c) 2020-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/tiger/README.md b/tiger/README.md index 7ead3daf7..c88d69f12 100644 --- a/tiger/README.md +++ b/tiger/README.md @@ -7,9 +7,24 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Tiger] hash function. +Pure Rust implementation of the [Tiger] cryptographic hash algorithms. -[Documentation][docs-link] +Tiger2 is a variant of the original Tiger with a small padding tweak. + +## Examples + +```rust +use tiger::{Tiger, Digest}; +use hex_literal::hex; + +let mut hasher = Tiger::new(); +hasher.update(b"hello world"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!("4c8fbddae0b6f25832af45e7c62811bb64ec3e43691e9cc3")); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +40,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,3 +68,4 @@ for inclusion in the work by you, as defined in the Apache-2.0 license, without [//]: # (general links) [Tiger]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index e288b252e..32690d977 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -1,31 +1,5 @@ -//! An implementation of the [Tiger][1] cryptographic hash algorithms. -//! -//! Tiger2 is a variant of the original Tiger with a small padding tweak. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use tiger::{Tiger, Digest}; -//! -//! // create a Tiger object -//! let mut hasher = Tiger::new(); -//! -//! // process input message -//! hasher.update(b"hello world"); -//! -//! // acquire hash digest in the form of Array, -//! // which in this case is equivalent to [u8; 24] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("4c8fbddae0b6f25832af45e7c62811bb64ec3e43691e9cc3")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/Tiger_(hash_function) -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/tiger/tests/mod.rs b/tiger/tests/mod.rs index 09e78d6c3..6adf7156b 100644 --- a/tiger/tests/mod.rs +++ b/tiger/tests/mod.rs @@ -11,8 +11,8 @@ fn tiger_rand() { let mut h = Tiger::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("d12f382ecf3250c14aca7726df15b999dfe99f905cf163d2")[..] + h.finalize(), + hex!("d12f382ecf3250c14aca7726df15b999dfe99f905cf163d2"), ); } @@ -21,7 +21,7 @@ fn tiger2_rand() { let mut h = Tiger2::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!("1bb7a80144c97f831fdefb635477776dd6c164048ce5895d")[..] + h.finalize(), + hex!("1bb7a80144c97f831fdefb635477776dd6c164048ce5895d"), ); } diff --git a/whirlpool/LICENSE-MIT b/whirlpool/LICENSE-MIT index 66cf75563..6c74a37c8 100644 --- a/whirlpool/LICENSE-MIT +++ b/whirlpool/LICENSE-MIT @@ -1,6 +1,7 @@ Copyright (c) 2006-2009 Graydon Hoare Copyright (c) 2009-2013 Mozilla Foundation Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2016-2024 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/whirlpool/README.md b/whirlpool/README.md index c2ca0e84c..8902f78f4 100644 --- a/whirlpool/README.md +++ b/whirlpool/README.md @@ -7,9 +7,36 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [Whirlpool hash function][1]. +Pure Rust implementation of the [Whirlpool] cryptographic hash algorithm. -[Documentation][docs-link] +This is the algorithm recommended by NESSIE (New European Schemes for +Signatures, Integrity and Encryption; an European research project). + +The constants used by Whirlpool were changed twice (2001 and 2003) - this +crate only implements the most recent standard. The two older Whirlpool +implementations (sometimes called Whirlpool-0 (pre 2001) and Whirlpool-T +(pre 2003)) were not used much anyway (both have never been recommended +by NESSIE). + +For details see this [page][1]. + +## Examples + +```rust +use whirlpool::{Whirlpool, Digest}; +use hex_literal::hex; + +let mut hasher = Whirlpool::new(); +hasher.update(b"Hello Whirlpool"); +let hash = hasher.finalize(); + +assert_eq!(hash, hex!( + "8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c" + "a373816495e63db0fff2ff25f75aa7162f332c9f518c3036456502a8414d300a" +)); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version @@ -25,10 +52,10 @@ done with a minor version bump. ## License -Licensed under either of: +The crate is licensed under either of: - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) at your option. @@ -53,4 +80,6 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/Whirlpool_(hash_function) +[Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(hash_function) +[1]: https://web.archive.org/web/20171129084214/http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html +[examples section]: https://github.com/RustCrypto/hashes#Examples diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 6e1293cd2..b091adca4 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -1,41 +1,5 @@ -//! An implementation of the [Whirlpool][1] cryptographic hash algorithm. -//! -//! This is the algorithm recommended by NESSIE (New European Schemes for -//! Signatures, Integrity and Encryption; an European research project). -//! -//! The constants used by Whirlpool were changed twice (2001 and 2003) - this -//! crate only implements the most recent standard. The two older Whirlpool -//! implementations (sometimes called Whirlpool-0 (pre 2001) and Whirlpool-T -//! (pre 2003)) were not used much anyway (both have never been recommended -//! by NESSIE). -//! -//! For details see [http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html](https://web.archive.org/web/20171129084214/http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html). -//! -//! # Usage -//! -//! ```rust -//! use whirlpool::{Whirlpool, Digest}; -//! use hex_literal::hex; -//! -//! // create a hasher object, to use it do not forget to import `Digest` trait -//! let mut hasher = Whirlpool::new(); -//! // write input message -//! hasher.update(b"Hello Whirlpool"); -//! // read hash digest (it will consume hasher) -//! let result = hasher.finalize(); -//! -//! assert_eq!(result[..], hex!(" -//! 8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c -//! a373816495e63db0fff2ff25f75aa7162f332c9f518c3036456502a8414d300a -//! ")[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/Whirlpool_(hash_function) -//! [2]: https://github.com/RustCrypto/hashes - #![no_std] +#![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" diff --git a/whirlpool/tests/mod.rs b/whirlpool/tests/mod.rs index 491348ed0..e0980f39e 100644 --- a/whirlpool/tests/mod.rs +++ b/whirlpool/tests/mod.rs @@ -5,15 +5,14 @@ use whirlpool::{Digest, Whirlpool}; digest::new_test!(whirlpool_main, "whirlpool", Whirlpool, fixed_reset_test); #[test] -#[rustfmt::skip] fn whirlpool_rand() { let mut h = Whirlpool::new(); feed_rand_16mib(&mut h); assert_eq!( - h.finalize()[..], - hex!(" - 8db0acd78686f8160203b53bfb0c0c1ee2332b856732a311f7de8e4ea4c100cc - dd5267e8b63207e644c96d2ef5cfbb53f2519af1904c48fd2ecf937541998b11 - ")[..] + h.finalize(), + hex!( + "8db0acd78686f8160203b53bfb0c0c1ee2332b856732a311f7de8e4ea4c100cc" + "dd5267e8b63207e644c96d2ef5cfbb53f2519af1904c48fd2ecf937541998b11" + ), ); } From c091e10f99ec4178b6e8da259d947c2264ab8973 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jan 2024 11:18:19 -0700 Subject: [PATCH 316/373] Bump `digest` dependency to v0.11.0-pre.4 (#538) --- Cargo.lock | 16 ++++++++-------- ascon-hash/Cargo.toml | 2 +- belt-hash/Cargo.toml | 4 ++-- blake2/Cargo.toml | 4 ++-- blake2/tests/mac.rs | 2 +- fsb/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- groestl/Cargo.toml | 4 ++-- jh/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- skein/Cargo.toml | 4 ++-- sm3/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- tiger/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 23 files changed, 50 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a908087c..a70fca9cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,9 +53,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72bc448e41b30773616b4f51a23f1a51634d41ce0d06a9bf6c3065ee85e227a1" +checksum = "0edadbde8e0243b49d434f9a23ec0590af201f400a34d7d51049284e4a77c568" dependencies = [ "crypto-common", ] @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-pre.3" +version = "0.2.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc17eb697364b18256ec92675ebe6b7b153d2f1041e568d74533c5d0fc1ca162" +checksum = "806e4e3731d44f1340b069551225b44c2056c105cad9e67f0c46266db8a3a6b9" dependencies = [ "getrandom", "hybrid-array", @@ -103,9 +103,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.3" +version = "0.11.0-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3be3c52e023de5662dc05a32f747d09a1d6024fdd1f64b0850e373269efb43" +checksum = "b429fb535b92bad18c86f1d7ee7584a175c2810800c7ac5b75b9408b13981979" dependencies = [ "blobby", "block-buffer", @@ -164,9 +164,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hybrid-array" -version = "0.2.0-pre.8" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27fbaf242418fe980caf09ed348d5a6aeabe71fc1bd8bebad641f4591ae0a46d" +checksum = "b8c5517ac29f08e88170b9647d85cc5f21c2596de177b4867232e20b214b8da1" dependencies = [ "typenum", ] diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index c27d6e8a1..6d952f62c 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -16,7 +16,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.3", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.4", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index c2c715ce4..6c1d1e896 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index a31a71e07..aa3aace09 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.3", features = ["mac"] } +digest = { version = "=0.11.0-pre.4", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 44c3244f3..439d2898b 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -12,7 +12,7 @@ fn blake2b_new_test() { fn run(key: &[u8]) { const DATA: &[u8] = &[42; 300]; - let res1 = T::new(Array::ref_from_slice(key)) + let res1 = T::new(Array::from_slice(key)) .chain_update(DATA) .finalize() .into_bytes(); diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 800e03e1c..a486ddca7 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" whirlpool = { version = "=0.11.0-pre", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 23b41c9ae..ecf66089d 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index c86567772..02fd760ab 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/jh/Cargo.toml b/jh/Cargo.toml index 4251bfda4..e4d6c4adf 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -13,9 +13,9 @@ keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" hex-literal = "0.4" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } diff --git a/k12/Cargo.toml b/k12/Cargo.toml index e413dc43a..c345b48f2 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.3", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.4", default-features = false, features = ["core-api"] } sha3 = { version = "=0.11.0-pre.0", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["alloc", "dev"] } +digest = { version = "=0.11.0-pre.4", features = ["alloc", "dev"] } hex-literal = "0.4" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 9d8910f5e..aa876f340 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 38c0b0e8a..2c6fb3180 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index f3a5d9afe..3c8927a6a 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,14 +16,14 @@ rust-version = "1.71" name = "md5" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" cfg-if = "1" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 5dbf9b709..5ba80b83a 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 452628aea..277884d16 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] @@ -21,7 +21,7 @@ cpufeatures = "0.2" sha1-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 2c8e2ef00..7c6afd04d 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -16,7 +16,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] @@ -24,7 +24,7 @@ cpufeatures = "0.2" sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 1c5391177..82c9c8601 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -17,12 +17,12 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" keccak = "0.1.4" zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index abc5e4e75..acab8a177 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/skein/Cargo.toml b/skein/Cargo.toml index 538df58f9..f5ceba79d 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -13,9 +13,9 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 43b76d7fd..1e46db852 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 96e934f0c..1f17b426d 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index e569938c2..f82ae74b2 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 81d4d36e2..f94bd907d 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,13 +13,13 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.3" +digest = "=0.11.0-pre.4" [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "=0.11.0-pre.3", features = ["dev"] } +digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" [features] From 2dd1703ca121268cc172aab14225acd2cb2b8311 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 10 Jan 2024 11:50:43 -0700 Subject: [PATCH 317/373] Cut pre.1 prereleases (#539) Cuts a new release of every crate which previously received a pre.0 prerelease, i.e. is used as a (dev-)dependency in downstream projects that need to be upgraded. This includes the following: - `belt-hash` v0.2.0-pre.1 - `md-5` v0.11.0-pre.1 - `sha1` v0.11.0-pre.1 - `sha2` v0.11.0-pre.1 - `sha3` v0.11.0-pre.1 - `sm3` v0.5.0-pre.1 - `streebog` v0.11.0-pre.1 --- Cargo.lock | 14 +++++++------- belt-hash/Cargo.toml | 2 +- k12/Cargo.toml | 2 +- md5/Cargo.toml | 2 +- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- sha3/Cargo.toml | 2 +- sm3/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a70fca9cc..3015212ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,7 +30,7 @@ checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" [[package]] name = "belt-hash" -version = "0.2.0-pre.0" +version = "0.2.0-pre.1" dependencies = [ "belt-block", "digest", @@ -206,7 +206,7 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" dependencies = [ "cfg-if", "digest", @@ -264,7 +264,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" dependencies = [ "cfg-if", "cpufeatures", @@ -284,7 +284,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" dependencies = [ "cfg-if", "cpufeatures", @@ -304,7 +304,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" dependencies = [ "digest", "hex-literal", @@ -331,7 +331,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.5.0-pre.0" +version = "0.5.0-pre.1" dependencies = [ "digest", "hex-literal", @@ -345,7 +345,7 @@ checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" [[package]] name = "streebog" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" dependencies = [ "digest", "hex-literal", diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 6c1d1e896..230e30b9b 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "belt-hash" -version = "0.2.0-pre.0" +version = "0.2.0-pre.1" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/k12/Cargo.toml b/k12/Cargo.toml index c345b48f2..a8561489e 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -14,7 +14,7 @@ rust-version = "1.71" [dependencies] digest = { version = "=0.11.0-pre.4", default-features = false, features = ["core-api"] } -sha3 = { version = "=0.11.0-pre.0", default-features = false, path = "../sha3" } +sha3 = { version = "=0.11.0-pre.1", default-features = false, path = "../sha3" } [dev-dependencies] digest = { version = "=0.11.0-pre.4", features = ["alloc", "dev"] } diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 3c8927a6a..01039479c 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 277884d16..81e58fdba 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 7c6afd04d..a7cab8214 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 82c9c8601..a2e895d68 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 1e46db852..de85298ee 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.5.0-pre.0" +version = "0.5.0-pre.1" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 1f17b426d..f738d137b 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.11.0-pre.0" +version = "0.11.0-pre.1" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 4d7fb0ee74d529cf7cbebcc6e9d7a860d6aef820 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jan 2024 00:00:24 +0300 Subject: [PATCH 318/373] Reduce amount of `unsafe` (#540) --- belt-hash/src/lib.rs | 1 - blake2/src/lib.rs | 2 +- gost94/src/gost94_core.rs | 2 +- groestl/src/compress1024.rs | 1 - groestl/src/compress512.rs | 1 - jh/benches/machine.rs | 2 +- jh/src/compressor.rs | 2 +- md4/src/lib.rs | 2 +- md5/src/compress/soft.rs | 1 - md5/src/lib.rs | 18 ++++-------------- ripemd/src/c128.rs | 2 -- ripemd/src/c160.rs | 2 -- ripemd/src/c256.rs | 2 +- ripemd/src/c320.rs | 2 +- sha1/src/compress.rs | 11 ++--------- sha1/src/compress/soft.rs | 1 - sha1/src/compress/x86.rs | 18 +++++------------- sha1/src/lib.rs | 5 ++++- sha2/src/core_api.rs | 7 +++++-- sha2/src/sha256.rs | 8 +------- sha2/src/sha256/soft.rs | 1 - sha2/src/sha256/x86.rs | 14 +++++++------- sha2/src/sha512.rs | 8 +------- sha2/src/sha512/soft.rs | 1 - sha2/src/sha512/x86.rs | 22 +++++++++++----------- sha3/src/state.rs | 1 - sha3/tests/turboshake.rs | 2 +- shabal/src/core_api.rs | 21 +++++++-------------- sm3/src/compress.rs | 1 - streebog/src/core_api.rs | 2 +- tiger/src/compress.rs | 1 - whirlpool/src/compress.rs | 7 ++----- whirlpool/src/lib.rs | 21 +++++++-------------- 33 files changed, 65 insertions(+), 127 deletions(-) diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index d441158cc..a2550bb3f 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -158,7 +158,6 @@ pub fn belt_compress(x1: [u32; 4], x2: [u32; 4], x34: [u32; 8]) -> ([u32; 4], [u #[inline(always)] fn xor(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { - // TODO: use array zip on stabilization and MSRV bump [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]] } diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index e98a07570..d884d1f9f 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -13,7 +13,7 @@ extern crate std; pub use digest::{self, Digest}; -use core::{convert::TryInto, fmt, marker::PhantomData, ops::Div}; +use core::{fmt, marker::PhantomData, ops::Div}; use digest::{ array::{Array, ArraySize}, block_buffer::{Lazy, LazyBuffer}, diff --git a/gost94/src/gost94_core.rs b/gost94/src/gost94_core.rs index 825abf610..671dae661 100644 --- a/gost94/src/gost94_core.rs +++ b/gost94/src/gost94_core.rs @@ -1,5 +1,5 @@ #![allow(clippy::many_single_char_names)] -use core::{convert::TryInto, fmt}; +use core::fmt; use digest::{ block_buffer::Eager, core_api::{ diff --git a/groestl/src/compress1024.rs b/groestl/src/compress1024.rs index fa142c396..56010d1ea 100644 --- a/groestl/src/compress1024.rs +++ b/groestl/src/compress1024.rs @@ -1,6 +1,5 @@ #![allow(clippy::needless_range_loop)] use crate::table::TABLE; -use core::{convert::TryInto, u64}; pub(crate) const COLS: usize = 16; const ROUNDS: u64 = 14; diff --git a/groestl/src/compress512.rs b/groestl/src/compress512.rs index 121e1a395..4257b4f1f 100644 --- a/groestl/src/compress512.rs +++ b/groestl/src/compress512.rs @@ -1,6 +1,5 @@ #![allow(clippy::needless_range_loop)] use crate::table::TABLE; -use core::{convert::TryInto, u64}; pub(crate) const COLS: usize = 8; const ROUNDS: u64 = 10; diff --git a/jh/benches/machine.rs b/jh/benches/machine.rs index 6583eaf44..e503592de 100644 --- a/jh/benches/machine.rs +++ b/jh/benches/machine.rs @@ -22,7 +22,7 @@ macro_rules! mach_bench { input: *const [u8; 64], ) { for _ in 0..160 { - jh::f8_impl(m, state, input as *const _); + jh::f8_impl(m, state, input.cast()); } } b.iter(|| unsafe { runner(m, &mut state, &input) }); diff --git a/jh/src/compressor.rs b/jh/src/compressor.rs index a1b2ea2ac..5cb40a8ca 100644 --- a/jh/src/compressor.rs +++ b/jh/src/compressor.rs @@ -97,7 +97,7 @@ union X2Bytes { #[doc(hidden)] pub fn f8_impl(mach: M, state: &mut [vec128_storage; 8], data: *const u8) { #[allow(clippy::cast_ptr_alignment)] - let data = data as *const M::u128x1; + let data: *const M::u128x1 = data.cast(); let mut y = X8::( mach.unpack(state[0]), mach.unpack(state[1]), diff --git a/md4/src/lib.rs b/md4/src/lib.rs index c25022eba..24d2f6bc8 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -9,7 +9,7 @@ pub use digest::{self, Digest}; -use core::{convert::TryInto, fmt, num::Wrapping as W}; +use core::{fmt, num::Wrapping as W}; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ diff --git a/md5/src/compress/soft.rs b/md5/src/compress/soft.rs index 40630a121..6096f8f90 100644 --- a/md5/src/compress/soft.rs +++ b/md5/src/compress/soft.rs @@ -1,6 +1,5 @@ #![allow(clippy::many_single_char_names, clippy::unreadable_literal)] use crate::consts::RC; -use core::convert::TryInto; #[inline(always)] fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 53b5dc07c..2930b5afb 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -15,6 +15,7 @@ use core::{fmt, slice::from_ref}; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ + array::ArrayOps, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, @@ -49,7 +50,8 @@ impl UpdateCore for Md5Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len = self.block_len.wrapping_add(blocks.len() as u64); - compress::compress(&mut self.state, convert(blocks)) + let blocks = ArrayOps::cast_slice_to_core(blocks); + compress::compress(&mut self.state, blocks) } } @@ -62,9 +64,7 @@ impl FixedOutputCore for Md5Core { .wrapping_add(buffer.get_pos() as u64) .wrapping_mul(8); let mut s = self.state; - buffer.len64_padding_le(bit_len, |b| { - compress::compress(&mut s, convert(from_ref(b))) - }); + buffer.len64_padding_le(bit_len, |b| compress::compress(&mut s, from_ref(&b.0))); for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); } @@ -108,13 +108,3 @@ impl AssociatedOid for Md5Core { /// MD5 hasher state. pub type Md5 = CoreWrapper; - -const BLOCK_SIZE: usize = ::BlockSize::USIZE; - -#[inline(always)] -fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { - // SAFETY: Array and [u8; 64] have - // exactly the same memory layout - let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; - unsafe { core::slice::from_raw_parts(p, blocks.len()) } -} diff --git a/ripemd/src/c128.rs b/ripemd/src/c128.rs index b531e1b05..432613a03 100644 --- a/ripemd/src/c128.rs +++ b/ripemd/src/c128.rs @@ -1,5 +1,3 @@ -use core::convert::TryInto; - pub const DIGEST_BUF_LEN: usize = 4; pub const WORK_BUF_LEN: usize = 16; diff --git a/ripemd/src/c160.rs b/ripemd/src/c160.rs index db2e3fb19..f3e14a098 100644 --- a/ripemd/src/c160.rs +++ b/ripemd/src/c160.rs @@ -1,5 +1,3 @@ -use core::convert::TryInto; - pub const DIGEST_BUF_LEN: usize = 5; pub const WORK_BUF_LEN: usize = 16; diff --git a/ripemd/src/c256.rs b/ripemd/src/c256.rs index bdcd0c393..cd54e8af0 100644 --- a/ripemd/src/c256.rs +++ b/ripemd/src/c256.rs @@ -1,4 +1,4 @@ -use core::{convert::TryInto, mem::swap}; +use core::mem::swap; pub const DIGEST_BUF_LEN: usize = 8; pub const HALF_DIGEST_BUF_LEN: usize = DIGEST_BUF_LEN / 2; diff --git a/ripemd/src/c320.rs b/ripemd/src/c320.rs index af85eff2a..d962f54ff 100644 --- a/ripemd/src/c320.rs +++ b/ripemd/src/c320.rs @@ -1,4 +1,4 @@ -use core::{convert::TryInto, mem::swap}; +use core::mem::swap; pub const HALF_DIGEST_BUF_LEN: usize = 5; pub const DIGEST_BUF_LEN: usize = 10; diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index f2bd14426..aa5873519 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -1,5 +1,4 @@ -use crate::{Block, BlockSizeUser, Sha1Core}; -use digest::typenum::Unsigned; +use crate::BLOCK_SIZE; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -27,14 +26,8 @@ cfg_if::cfg_if! { } } -const BLOCK_SIZE: usize = ::BlockSize::USIZE; - /// SHA-1 compression function #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress(state: &mut [u32; 5], blocks: &[Block]) { - // SAFETY: Array and [u8; 64] have - // exactly the same memory layout - let blocks: &[[u8; BLOCK_SIZE]] = - unsafe { &*(blocks as *const _ as *const [[u8; BLOCK_SIZE]]) }; +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; BLOCK_SIZE]]) { compress_inner(state, blocks); } diff --git a/sha1/src/compress/soft.rs b/sha1/src/compress/soft.rs index 0b9fb2701..0e28e5e2c 100644 --- a/sha1/src/compress/soft.rs +++ b/sha1/src/compress/soft.rs @@ -1,6 +1,5 @@ #![allow(clippy::many_single_char_names)] use super::BLOCK_SIZE; -use core::convert::TryInto; const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6]; diff --git a/sha1/src/compress/x86.rs b/sha1/src/compress/x86.rs index 4dcd56b8a..d59e7fd09 100644 --- a/sha1/src/compress/x86.rs +++ b/sha1/src/compress/x86.rs @@ -35,18 +35,12 @@ unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { #[allow(non_snake_case)] let MASK: __m128i = _mm_set_epi64x(0x0001_0203_0405_0607, 0x0809_0A0B_0C0D_0E0F); - let mut state_abcd = _mm_set_epi32( - state[0] as i32, - state[1] as i32, - state[2] as i32, - state[3] as i32, - ); + let mut state_abcd = _mm_loadu_si128(state.as_ptr().cast()); + state_abcd = _mm_shuffle_epi32(state_abcd, 0b00011011); let mut state_e = _mm_set_epi32(state[4] as i32, 0, 0, 0); for block in blocks { - // SAFETY: we use only unaligned loads with this pointer - #[allow(clippy::cast_ptr_alignment)] - let block_ptr = block.as_ptr() as *const __m128i; + let block_ptr: *const __m128i = block.as_ptr().cast(); let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(0)), MASK); let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.offset(1)), MASK); @@ -90,10 +84,8 @@ unsafe fn digest_blocks(state: &mut [u32; 5], blocks: &[[u8; 64]]) { state_e = _mm_sha1nexte_epu32(h1, state_e); } - state[0] = _mm_extract_epi32(state_abcd, 3) as u32; - state[1] = _mm_extract_epi32(state_abcd, 2) as u32; - state[2] = _mm_extract_epi32(state_abcd, 1) as u32; - state[3] = _mm_extract_epi32(state_abcd, 0) as u32; + state_abcd = _mm_shuffle_epi32(state_abcd, 0b00011011); + _mm_storeu_si128(state.as_mut_ptr().cast(), state_abcd); state[4] = _mm_extract_epi32(state_e, 3) as u32; } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 647f0ace0..8eff0ef03 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -13,6 +13,7 @@ use core::{fmt, slice::from_ref}; #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ + array::ArrayOps, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, @@ -30,6 +31,7 @@ pub use compress::compress; use compress::compress; const STATE_LEN: usize = 5; +const BLOCK_SIZE: usize = ::BlockSize::USIZE; /// Core SHA-1 hasher state. #[derive(Clone)] @@ -56,6 +58,7 @@ impl UpdateCore for Sha1Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; + let blocks = ArrayOps::cast_slice_to_core(blocks); compress(&mut self.h, blocks); } } @@ -67,7 +70,7 @@ impl FixedOutputCore for Sha1Core { let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); let mut h = self.h; - buffer.len64_padding_be(bit_len, |b| compress(&mut h, from_ref(b))); + buffer.len64_padding_be(bit_len, |b| compress(&mut h, from_ref(&b.0))); for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index cfec02a64..d492a79ac 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -1,6 +1,7 @@ use crate::{consts, sha256::compress256, sha512::compress512}; use core::{fmt, slice::from_ref}; use digest::{ + array::ArrayOps, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, @@ -34,6 +35,7 @@ impl UpdateCore for Sha256VarCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; + let blocks = ArrayOps::cast_slice_to_core(blocks); compress256(&mut self.state, blocks); } } @@ -60,7 +62,7 @@ impl VariableOutputCore for Sha256VarCore { fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let bs = Self::BlockSize::U64; let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); - buffer.len64_padding_be(bit_len, |b| compress256(&mut self.state, from_ref(b))); + buffer.len64_padding_be(bit_len, |b| compress256(&mut self.state, from_ref(&b.0))); for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); @@ -106,6 +108,7 @@ impl UpdateCore for Sha512VarCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u128; + let blocks = ArrayOps::cast_slice_to_core(blocks); compress512(&mut self.state, blocks); } } @@ -134,7 +137,7 @@ impl VariableOutputCore for Sha512VarCore { fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let bs = Self::BlockSize::U64 as u128; let bit_len = 8 * (buffer.get_pos() as u128 + bs * self.block_len); - buffer.len128_padding_be(bit_len, |b| compress512(&mut self.state, from_ref(b))); + buffer.len128_padding_be(bit_len, |b| compress512(&mut self.state, from_ref(&b.0))); for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 7266137f0..44c02acfc 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,5 +1,3 @@ -use digest::{array::Array, typenum::U64}; - cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; @@ -31,10 +29,6 @@ cfg_if::cfg_if! { /// This is a low-level "hazmat" API which provides direct access to the core /// functionality of SHA-256. #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress256(state: &mut [u32; 8], blocks: &[Array]) { - // SAFETY: Array and [u8; 64] have - // exactly the same memory layout - let p = blocks.as_ptr() as *const [u8; 64]; - let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; +pub fn compress256(state: &mut [u32; 8], blocks: &[[u8; 64]]) { compress(state, blocks) } diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs index 69eb48894..315e5060a 100644 --- a/sha2/src/sha256/soft.rs +++ b/sha2/src/sha256/soft.rs @@ -1,6 +1,5 @@ #![allow(clippy::many_single_char_names)] use crate::consts::BLOCK_LEN; -use core::convert::TryInto; #[inline(always)] fn shr(v: [u32; 4], o: u32) -> [u32; 4] { diff --git a/sha2/src/sha256/x86.rs b/sha2/src/sha256/x86.rs index 46019388d..2f59dcf77 100644 --- a/sha2/src/sha256/x86.rs +++ b/sha2/src/sha256/x86.rs @@ -46,7 +46,7 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { 0x0405_0607_0001_0203u64 as i64, ); - let state_ptr = state.as_ptr() as *const __m128i; + let state_ptr: *const __m128i = state.as_ptr().cast(); let dcba = _mm_loadu_si128(state_ptr.add(0)); let efgh = _mm_loadu_si128(state_ptr.add(1)); @@ -59,11 +59,11 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { let abef_save = abef; let cdgh_save = cdgh; - let data_ptr = block.as_ptr() as *const __m128i; - let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(0)), MASK); - let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(1)), MASK); - let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(2)), MASK); - let mut w3 = _mm_shuffle_epi8(_mm_loadu_si128(data_ptr.add(3)), MASK); + let block_ptr: *const __m128i = block.as_ptr().cast(); + let mut w0 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.add(0)), MASK); + let mut w1 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.add(1)), MASK); + let mut w2 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.add(2)), MASK); + let mut w3 = _mm_shuffle_epi8(_mm_loadu_si128(block_ptr.add(3)), MASK); let mut w4; rounds4!(abef, cdgh, w0, 0); @@ -92,7 +92,7 @@ unsafe fn digest_blocks(state: &mut [u32; 8], blocks: &[[u8; 64]]) { let dcba = _mm_blend_epi16(feba, dchg, 0xF0); let hgef = _mm_alignr_epi8(dchg, feba, 8); - let state_ptr_mut = state.as_mut_ptr() as *mut __m128i; + let state_ptr_mut: *mut __m128i = state.as_mut_ptr().cast(); _mm_storeu_si128(state_ptr_mut.add(0), dcba); _mm_storeu_si128(state_ptr_mut.add(1), hgef); } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 5c3590cf3..59f9cac0c 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,5 +1,3 @@ -use digest::{array::Array, typenum::U128}; - cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; @@ -33,10 +31,6 @@ cfg_if::cfg_if! { /// This is a low-level "hazmat" API which provides direct access to the core /// functionality of SHA-512. #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress512(state: &mut [u64; 8], blocks: &[Array]) { - // SAFETY: Array and [u8; 64] have - // exactly the same memory layout - let p = blocks.as_ptr() as *const [u8; 128]; - let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; +pub fn compress512(state: &mut [u64; 8], blocks: &[[u8; 128]]) { compress(state, blocks) } diff --git a/sha2/src/sha512/soft.rs b/sha2/src/sha512/soft.rs index ab6d56831..17405c5d5 100644 --- a/sha2/src/sha512/soft.rs +++ b/sha2/src/sha512/soft.rs @@ -1,6 +1,5 @@ #![allow(clippy::many_single_char_names)] use crate::consts::{BLOCK_LEN, K64X2}; -use core::convert::TryInto; fn add(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])] diff --git a/sha2/src/sha512/x86.rs b/sha2/src/sha512/x86.rs index bb7904088..40a21f05d 100644 --- a/sha2/src/sha512/x86.rs +++ b/sha2/src/sha512/x86.rs @@ -39,7 +39,7 @@ unsafe fn sha512_compress_x86_64_avx2(state: &mut [u64; 8], blocks: &[[u8; 128]] let mut x = [_mm256_setzero_si256(); 8]; for i in (start_block..blocks.len()).step_by(2) { - load_data_avx2(&mut x, &mut ms, &mut t2, blocks.as_ptr().add(i) as *const _); + load_data_avx2(&mut x, &mut ms, &mut t2, blocks.as_ptr().add(i).cast()); // First block let mut current_state = *state; @@ -61,7 +61,7 @@ unsafe fn sha512_compress_x86_64_avx(state: &mut [u64; 8], block: &[u8; 128]) { // Reduced to single iteration let mut current_state = *state; - load_data_avx(&mut x, &mut ms, block.as_ptr() as *const _); + load_data_avx(&mut x, &mut ms, block.as_ptr().cast()); rounds_0_63_avx(&mut current_state, &mut x, &mut ms); rounds_64_79(&mut current_state, &ms); accumulate_state(state, ¤t_state); @@ -74,12 +74,12 @@ unsafe fn load_data_avx(x: &mut [__m128i; 8], ms: &mut MsgSchedule, data: *const macro_rules! unrolled_iterations { ($($i:literal),*) => {$( - x[$i] = _mm_loadu_si128(data.add($i) as *const _); + x[$i] = _mm_loadu_si128(data.add($i).cast()); x[$i] = _mm_shuffle_epi8(x[$i], MASK); let y = _mm_add_epi64( x[$i], - _mm_loadu_si128(&K64[2 * $i] as *const u64 as *const _), + _mm_loadu_si128(K64.as_ptr().add(2 * $i).cast()), ); ms[$i] = y; @@ -106,12 +106,12 @@ unsafe fn load_data_avx2( macro_rules! unrolled_iterations { ($($i:literal),*) => {$( - x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add(8 + $i) as *const _), 1); - x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i) as *const _), 0); + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add(8 + $i).cast()), 1); + x[$i] = _mm256_insertf128_si256(x[$i], _mm_loadu_si128(data.add($i).cast()), 0); x[$i] = _mm256_shuffle_epi8(x[$i], MASK); - let t = _mm_loadu_si128(K64.as_ptr().add($i * 2) as *const u64 as *const _); + let t = _mm_loadu_si128(K64.as_ptr().add($i * 2).cast()); let y = _mm256_add_epi64(x[$i], _mm256_set_m128i(t, t)); ms[$i] = _mm256_extracti128_si256(y, 0); @@ -128,7 +128,7 @@ unsafe fn rounds_0_63_avx(current_state: &mut State, x: &mut [__m128i; 8], ms: & for _ in 0..4 { for j in 0..8 { - let k64 = _mm_loadu_si128(&K64[k64_idx] as *const u64 as *const _); + let k64 = _mm_loadu_si128(K64.as_ptr().add(k64_idx).cast()); let y = sha512_update_x_avx(x, k64); { @@ -154,7 +154,7 @@ unsafe fn rounds_0_63_avx2( for i in 1..5 { for j in 0..8 { - let t = _mm_loadu_si128(K64.as_ptr().add(k64x4_idx) as *const u64 as *const _); + let t = _mm_loadu_si128(K64.as_ptr().add(k64x4_idx).cast()); let y = sha512_update_x_avx2(x, _mm256_set_m128i(t, t)); { @@ -338,12 +338,12 @@ fn_sha512_update_x!(sha512_update_x_avx2, __m256i, { #[inline(always)] fn cast_ms(ms: &MsgSchedule) -> &[u64; SHA512_BLOCK_WORDS_NUM] { - unsafe { &*(ms as *const MsgSchedule as *const _) } + unsafe { &*(ms.as_ptr().cast()) } } #[inline(always)] fn cast_rs(rs: &RoundStates) -> &[u64; SHA512_ROUNDS_NUM] { - unsafe { &*(rs as *const RoundStates as *const _) } + unsafe { &*(rs.as_ptr().cast()) } } type State = [u64; SHA512_HASH_WORDS_NUM]; diff --git a/sha3/src/state.rs b/sha3/src/state.rs index ce3785f75..b651cd3e8 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,4 +1,3 @@ -use core::convert::TryInto; #[cfg(feature = "zeroize")] use zeroize::{Zeroize, ZeroizeOnDrop}; diff --git a/sha3/tests/turboshake.rs b/sha3/tests/turboshake.rs index 3d08df196..14308acf0 100644 --- a/sha3/tests/turboshake.rs +++ b/sha3/tests/turboshake.rs @@ -1,4 +1,4 @@ -use core::{convert::TryInto, fmt::Debug}; +use core::fmt::Debug; use digest::ExtendableOutput; pub(crate) fn turbo_shake_test( diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs index ce5df75df..dc174268f 100644 --- a/shabal/src/core_api.rs +++ b/shabal/src/core_api.rs @@ -1,5 +1,5 @@ use crate::consts; -use core::{convert::TryInto, fmt, mem, num::Wrapping}; +use core::{fmt, mem, num::Wrapping}; use digest::{ array::Array, block_buffer::Eager, @@ -198,19 +198,12 @@ impl VariableOutputCore for ShabalVarCore { 64 => consts::INIT_512, _ => return Err(InvalidOutputSize), }; - let w = Wrapping(1); - // TODO: use `array::map` on MSRV bump - let mut a = [Wrapping(0u32); 12]; - let mut b = [Wrapping(0u32); 16]; - let mut c = [Wrapping(0u32); 16]; - for i in 0..12 { - a[i] = Wrapping(init.0[i]); - } - for i in 0..16 { - b[i] = Wrapping(init.1[i]); - c[i] = Wrapping(init.2[i]); - } - Ok(Self { a, b, c, w }) + Ok(Self { + a: init.0.map(Wrapping), + b: init.1.map(Wrapping), + c: init.2.map(Wrapping), + w: Wrapping(1), + }) } #[inline] diff --git a/sm3/src/compress.rs b/sm3/src/compress.rs index ea381e90b..c0155d58b 100644 --- a/sm3/src/compress.rs +++ b/sm3/src/compress.rs @@ -1,6 +1,5 @@ #![allow(clippy::many_single_char_names, clippy::too_many_arguments)] use crate::{consts::T32, Block, Sm3Core}; -use core::convert::TryInto; #[inline(always)] fn ff1(x: u32, y: u32, z: u32) -> u32 { diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index d143aedcf..b36c655b5 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -1,4 +1,4 @@ -use core::{convert::TryInto, fmt}; +use core::fmt; use digest::{ block_buffer::Eager, consts::U64, diff --git a/tiger/src/compress.rs b/tiger/src/compress.rs index 9f7024d7f..3ee461b1b 100644 --- a/tiger/src/compress.rs +++ b/tiger/src/compress.rs @@ -1,6 +1,5 @@ use super::tables::{T1, T2, T3, T4}; use super::State; -use core::convert::TryInto; #[inline(always)] fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { diff --git a/whirlpool/src/compress.rs b/whirlpool/src/compress.rs index 4f1664e30..f52ca62f1 100644 --- a/whirlpool/src/compress.rs +++ b/whirlpool/src/compress.rs @@ -1,11 +1,8 @@ -use crate::BLOCK_SIZE; -use core::convert::TryInto; - #[path = "consts.rs"] mod consts; use consts::*; -fn compress_block(state: &mut [u64; 8], b: &[u8; BLOCK_SIZE]) { +fn compress_block(state: &mut [u64; 8], b: &[u8; 64]) { let mut k = [0u64; 8]; let mut block = [0u64; 8]; let mut s = [0u64; 8]; @@ -53,7 +50,7 @@ fn compress_block(state: &mut [u64; 8], b: &[u8; BLOCK_SIZE]) { } } -pub(crate) fn compress(state: &mut [u64; 8], blocks: &[[u8; BLOCK_SIZE]]) { +pub(crate) fn compress(state: &mut [u64; 8], blocks: &[[u8; 64]]) { for block in blocks { compress_block(state, block); } diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index b091adca4..d29186690 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; @@ -18,12 +19,13 @@ use compress::compress; use core::fmt; use digest::{ + array::ArrayOps, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U64}, + typenum::U64, HashMarker, Output, }; @@ -51,9 +53,10 @@ impl OutputSizeUser for WhirlpoolCore { impl UpdateCore for WhirlpoolCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { - let block_bits = 8 * BLOCK_SIZE as u64; + let block_bits = 8 * Self::block_size() as u64; self.update_len(block_bits * (blocks.len() as u64)); - compress(&mut self.state, convert(blocks)); + let blocks = ArrayOps::cast_slice_to_core(blocks); + compress(&mut self.state, blocks); } } @@ -70,7 +73,7 @@ impl FixedOutputCore for WhirlpoolCore { let mut state = self.state; buffer.digest_pad(0x80, &buf, |block| { - compress(&mut state, convert(core::slice::from_ref(block))); + compress(&mut state, core::slice::from_ref(&block.0)); }); for (chunk, v) in out.chunks_exact_mut(8).zip(state.iter()) { @@ -129,13 +132,3 @@ fn adc(a: &mut u64, b: u64, carry: &mut u64) { *a = ret as u64; *carry = (ret >> 64) as u64; } - -const BLOCK_SIZE: usize = ::BlockSize::USIZE; - -#[inline(always)] -fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { - // SAFETY: Array and [u8; 64] have - // exactly the same memory layout - let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; - unsafe { core::slice::from_raw_parts(p, blocks.len()) } -} From f96fc4b483da79341da2f753443eeb2aa9fe492a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jan 2024 02:26:53 +0300 Subject: [PATCH 319/373] streebog: use const eval to generate `SHUFFLED_LIN_TABLE` (#541) --- streebog/src/consts.rs | 26 +- streebog/src/core_api.rs | 3 +- streebog/src/lib.rs | 1 - streebog/src/table.rs | 2106 -------------------------------------- 4 files changed, 25 insertions(+), 2111 deletions(-) delete mode 100644 streebog/src/table.rs diff --git a/streebog/src/consts.rs b/streebog/src/consts.rs index f6e45f3a1..e356b9fac 100644 --- a/streebog/src/consts.rs +++ b/streebog/src/consts.rs @@ -6,7 +6,6 @@ pub const BLOCK_SIZE: usize = 64; /// Linear transformation matrix -#[cfg(test)] pub const A: [u64; BLOCK_SIZE] = [ 0x641c314b2b8ee083, 0xc83862965601dd1b, @@ -75,7 +74,6 @@ pub const A: [u64; BLOCK_SIZE] = [ ]; /// Substitution table -#[cfg(test)] pub const P: [u8; 256] = [ 252, 238, 221, 17, 207, 110, 49, 22, 251, 196, 250, 218, 35, 197, 4, 77, 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241, 187, 20, 205, 95, 193, 249, 24, 101, 90, 226, 92, 239, 33, 129, @@ -179,3 +177,27 @@ pub const C: [[u8; BLOCK_SIZE]; 12] = [ 0x67, 0xe7, 0x8e, 0x37, ], ]; + +/// Precomputed, pre-shuffled table for linear transformation using matrix +/// `const::A` and shuffled using `const::P` +pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = { + let mut table = [[0u64; 256]; 8]; + let mut i = 0; + while i < 8 { + let mut j = 0; + while j < 256 { + let mut accum = 0u64; + let mut k = 0; + while k < 8 { + if P[j] & (1u8 << k) != 0 { + accum ^= A[8 * i + k]; + } + k += 1; + } + table[i][j] = accum; + j += 1; + } + i += 1; + } + table +}; diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index b36c655b5..50adfc1b5 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -9,8 +9,7 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; -use crate::consts::{BLOCK_SIZE, C}; -use crate::table::SHUFFLED_LIN_TABLE; +use crate::consts::{BLOCK_SIZE, C, SHUFFLED_LIN_TABLE}; type Block = [u8; 64]; diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 6da989be5..26ab42235 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -20,7 +20,6 @@ use digest::{ mod consts; mod core_api; -mod table; pub use core_api::StreebogVarCore; pub use digest::{self, Digest}; diff --git a/streebog/src/table.rs b/streebog/src/table.rs deleted file mode 100644 index f47eb6133..000000000 --- a/streebog/src/table.rs +++ /dev/null @@ -1,2106 +0,0 @@ -//! Precomputed, pre-shuffled table for linear transformation using matrix -//! `const::A` and shuffled using `const::P` -//! -//! It was created using `gen_table` function - -#![allow(clippy::unreadable_literal)] - -pub const SHUFFLED_LIN_TABLE: [[u64; 256]; 8] = [ - [ - 0xD01F715B5C7EF8E6, - 0x16FA240980778325, - 0xA8A42E857EE049C8, - 0x6AC1068FA186465B, - 0x6E417BD7A2E9320B, - 0x665C8167A437DAAB, - 0x7666681AA89617F6, - 0x4B959163700BDCF5, - 0xF14BE6B78DF36248, - 0xC585BD689A625CFF, - 0x9557D7FCA67D82CB, - 0x89F0B969AF6DD366, - 0xB0833D48749F6C35, - 0xA1998C23B1ECBC7C, - 0x8D70C431AC02A736, - 0xD6DFBC2FD0A8B69E, - 0x37AEB3E551FA198B, - 0x0B7D128A40B5CF9C, - 0x5A8F2008B5780CBC, - 0xEDEC882284E333E5, - 0xD25FC177D3C7C2CE, - 0x5E0F5D50B61778EC, - 0x1D873683C0C24CB9, - 0xAD040BCBB45D208C, - 0x2F89A0285B853C76, - 0x5732FFF6791B8D58, - 0x3E9311439EF6EC3F, - 0xC9183A809FD3C00F, - 0x83ADF3F5260A01EE, - 0xA6791941F4E8EF10, - 0x103AE97D0CA1CD5D, - 0x2CE948121DEE1B4A, - 0x39738421DBF2BF53, - 0x093DA2A6CF0CF5B4, - 0xCD9847D89CBCB45F, - 0xF9561C078B2D8AE8, - 0x9C6A755A6971777F, - 0xBC1EBAA0712EF0C5, - 0x72E61542ABF963A6, - 0x78BB5FDE229EB12E, - 0x14BA94250FCEB90D, - 0x844D6697630E5282, - 0x98EA08026A1E032F, - 0xF06BBEA144217F5C, - 0xDB6263D11CCB377A, - 0x641C314B2B8EE083, - 0x320E96AB9B4770CF, - 0x1EE7DEB986A96B85, - 0xE96CF57A878C47B5, - 0xFDD6615F8842FEB8, - 0xC83862965601DD1B, - 0x2EA9F83E92572162, - 0xF876441142FF97FC, - 0xEB2C455608357D9D, - 0x5612A7E0B0C9904C, - 0x6C01CBFB2D500823, - 0x4548A6A7FA037A2D, - 0xABC4C6BF388B6EF4, - 0xBADE77D4FDF8BEBD, - 0x799B07C8EB4CAC3A, - 0x0C9D87E805B19CF0, - 0xCB588AAC106AFA27, - 0xEA0C1D40C1E76089, - 0x2869354A1E816F1A, - 0xFF96D17307FBC490, - 0x9F0A9D602F1A5043, - 0x96373FC6E016A5F7, - 0x5292DAB8B3A6E41C, - 0x9B8AE0382C752413, - 0x4F15EC3B7364A8A5, - 0x3FB349555724F12B, - 0xC7C50D4415DB66D7, - 0x92B7429EE379D1A7, - 0xD37F99611A15DFDA, - 0x231427C05E34A086, - 0xA439A96D7B51D538, - 0xB403401077F01865, - 0xDDA2AEA5901D7902, - 0x0A5D4A9C8967D288, - 0xC265280ADF660F93, - 0x8BB0094520D4E94E, - 0x2A29856691385532, - 0x42A833C5BF072941, - 0x73C64D54622B7EB2, - 0x07E095624504536C, - 0x8A905153E906F45A, - 0x6F6123C16B3B2F1F, - 0xC6E55552DC097BC3, - 0x4468FEB133D16739, - 0xE211E7F0C7398829, - 0xA2F96419F7879B40, - 0x19074BDBC3AD38E9, - 0xF4EBC3F9474E0B0C, - 0x43886BD376D53455, - 0xD8028BEB5AA01046, - 0x51F23282F5CDC320, - 0xE7B1C2BE0D84E16D, - 0x081DFAB006DEE8A0, - 0x3B33340D544B857B, - 0x7F5BCABC679AE242, - 0x0EDD37C48A08A6D8, - 0x81ED43D9A9B33BC6, - 0xB1A3655EBD4D7121, - 0x69A1EEB5E7ED6167, - 0xF6AB73D5C8F73124, - 0x1A67A3E185C61FD5, - 0x2DC91004D43C065E, - 0x0240B02C8FB93A28, - 0x90F7F2B26CC0EB8F, - 0x3CD3A16F114FD617, - 0xAAE49EA9F15973E0, - 0x06C0CD748CD64E78, - 0xDA423BC7D5192A6E, - 0xC345701C16B41287, - 0x6D2193EDE4821537, - 0xFCF639494190E3AC, - 0x7C3B228621F1C57E, - 0xFB16AC2B0494B0C0, - 0xBF7E529A3745D7F9, - 0x6881B6A32E3F7C73, - 0xCA78D2BAD9B8E733, - 0xBBFE2FC2342AA3A9, - 0x0DBDDFFECC6381E4, - 0x70A6A56E2440598E, - 0xE4D12A844BEFC651, - 0x8C509C2765D0BA22, - 0xEE8C6018C28814D9, - 0x17DA7C1F49A59E31, - 0x609C4C1328E194D3, - 0xB3E3D57232F44B09, - 0x91D7AAA4A512F69B, - 0x0FFD6FD243DABBCC, - 0x50D26A943C1FDE34, - 0x6BE15E9968545B4F, - 0x94778FEA6FAF9FDF, - 0x2B09DD7058EA4826, - 0x677CD9716DE5C7BF, - 0x49D5214FFFB2E6DD, - 0x0360E83A466B273C, - 0x1FC786AF4F7B7691, - 0xA0B9D435783EA168, - 0xD49F0C035F118CB6, - 0x01205816C9D21D14, - 0xAC2453DD7D8F3D98, - 0x545217CC3F70AA64, - 0x26B4028E9489C9C2, - 0xDEC2469FD6765E3E, - 0x04807D58036F7450, - 0xE5F17292823DDB45, - 0xF30B569B024A5860, - 0x62DCFC3FA758AEFB, - 0xE84CAD6C4E5E5AA1, - 0xCCB81FCE556EA94B, - 0x53B282AE7A74F908, - 0x1B47FBF74C1402C1, - 0x368EEBF39828049F, - 0x7AFBEFF2AD278B06, - 0xBE5E0A8CFE97CAED, - 0xCFD8F7F413058E77, - 0xF78B2BC301252C30, - 0x4D555C17FCDD928D, - 0x5F2F05467FC565F8, - 0x24F4B2A21B30F3EA, - 0x860DD6BBECB768AA, - 0x4C750401350F8F99, - 0x0000000000000000, - 0xECCCD0344D312EF1, - 0xB5231806BE220571, - 0xC105C030990D28AF, - 0x653C695DE25CFD97, - 0x159ACC33C61CA419, - 0xB89EC7F872418495, - 0xA9847693B73254DC, - 0x58CF90243AC13694, - 0x59EFC832F3132B80, - 0x5C4FED7C39AE42C4, - 0x828DABE3EFD81CFA, - 0xD13F294D95ACE5F2, - 0x7D1B7A90E823D86A, - 0xB643F03CF849224D, - 0x3DF3F979D89DCB03, - 0x7426D836272F2DDE, - 0xDFE21E891FA4432A, - 0x3A136C1B9D99986F, - 0xFA36F43DCD46ADD4, - 0xC025982650DF35BB, - 0x856D3E81AADC4F96, - 0xC4A5E57E53B041EB, - 0x4708168B75BA4005, - 0xAF44BBE73BE41AA4, - 0x971767D029C4B8E3, - 0xB9BE9FEEBB939981, - 0x215497ECD18D9AAE, - 0x316E7E91DD2C57F3, - 0xCEF8AFE2DAD79363, - 0x3853DC371220A247, - 0x35EE03C9DE4323A3, - 0xE6919AA8C456FC79, - 0xE05157DC4880B201, - 0x7BDBB7E464F59612, - 0x127A59518318F775, - 0x332ECEBD52956DDB, - 0x8F30741D23BB9D1E, - 0xD922D3FD93720D52, - 0x7746300C61440AE2, - 0x25D4EAB4D2E2EEFE, - 0x75068020EEFD30CA, - 0x135A01474ACAEA61, - 0x304E268714FE4AE7, - 0xA519F17BB283C82C, - 0xDC82F6B359CF6416, - 0x5BAF781E7CAA11A8, - 0xB2C38D64FB26561D, - 0x34CE5BDF17913EB7, - 0x5D6FB56AF07C5FD0, - 0x182713CD0A7F25FD, - 0x9E2AC576E6C84D57, - 0x9AAAB82EE5A73907, - 0xA3D93C0F3E558654, - 0x7E7B92AAAE48FF56, - 0x872D8EAD256575BE, - 0x41C8DBFFF96C0E7D, - 0x99CA5014A3CC1E3B, - 0x40E883E930BE1369, - 0x1CA76E95091051AD, - 0x4E35B42DBAB6B5B1, - 0x05A0254ECABD6944, - 0xE1710FCA8152AF15, - 0xF22B0E8DCB984574, - 0xB763A82A319B3F59, - 0x63FCA4296E8AB3EF, - 0x9D4A2D4CA0A36A6B, - 0xE331BFE60EEB953D, - 0xD5BF541596C391A2, - 0xF5CB9BEF8E9C1618, - 0x46284E9DBC685D11, - 0x2074CFFA185F87BA, - 0xBD3EE2B6B8FCEDD1, - 0xAE64E3F1F23607B0, - 0xFEB68965CE29D984, - 0x55724FDAF6A2B770, - 0x29496D5CD753720E, - 0xA75941573D3AF204, - 0x8E102C0BEA69800A, - 0x111AB16BC573D049, - 0xD7FFE439197AAB8A, - 0xEFAC380E0B5A09CD, - 0x48F579593660FBC9, - 0x22347FD697E6BD92, - 0x61BC1405E13389C7, - 0x4AB5C975B9D9C1E1, - 0x80CD1BCF606126D2, - 0x7186FD78ED92449A, - 0x93971A882AABCCB3, - 0x88D0E17F66BFCE72, - 0x27945A985D5BD4D6, - ], - [ - 0xDE553F8C05A811C8, - 0x1906B59631B4F565, - 0x436E70D6B1964FF7, - 0x36D343CB8B1E9D85, - 0x843DFACC858AAB5A, - 0xFDFC95C299BFC7F9, - 0x0F634BDEA1D51FA2, - 0x6D458B3B76EFB3CD, - 0x85C3F77CF8593F80, - 0x3C91315FBE737CB2, - 0x2148B03366ACE398, - 0x18F8B8264C6761BF, - 0xC830C1C495C9FB0F, - 0x981A76102086A0AA, - 0xAA16012142F35760, - 0x35CC54060C763CF6, - 0x42907D66CC45DB2D, - 0x8203D44B965AF4BC, - 0x3D6F3CEFC3A0E868, - 0xBC73FF69D292BDA7, - 0x8722ED0102E20A29, - 0x8F8185E8CD34DEB7, - 0x9B0561DDA7EE01D9, - 0x5335A0193227FAD6, - 0xC9CECC74E81A6FD5, - 0x54F5832E5C2431EA, - 0x99E47BA05D553470, - 0xF7BEE756ACD226CE, - 0x384E05A5571816FD, - 0xD1367452A47D0E6A, - 0xF29FDE1C386AD85B, - 0x320C77316275F7CA, - 0xD0C879E2D9AE9AB0, - 0xDB7406C69110EF5D, - 0x45505E51A2461011, - 0xFC029872E46C5323, - 0xFA3CB6F5F7BC0CC5, - 0x031F17CD8768A173, - 0xBD8DF2D9AF41297D, - 0x9D3B4F5AB43E5E3F, - 0x4071671B36FEEE84, - 0x716207E7D3E3B83D, - 0x48D20FF2F9283A1A, - 0x27769EB4757CBC7E, - 0x5C56EBC793F2E574, - 0xA48B474F9EF5DC18, - 0x52CBADA94FF46E0C, - 0x60C7DA982D8199C6, - 0x0E9D466EDC068B78, - 0x4EEC2175EAF865FC, - 0x550B8E9E21F7A530, - 0x6B7BA5BC653FEC2B, - 0x5EB7F1BA6949D0DD, - 0x57EA94E3DB4C9099, - 0xF640EAE6D101B214, - 0xDD4A284182C0B0BB, - 0xFF1D8FBF6304F250, - 0xB8ACCB933BF9D7E8, - 0xE8867C478EB68C4D, - 0x3F8E2692391BDDC1, - 0xCB2FD60912A15A7C, - 0xAEC935DBAB983D2F, - 0xF55FFD2B56691367, - 0x80E2CE366CE1C115, - 0x179BF3F8EDB27E1D, - 0x01FE0DB07DD394DA, - 0xDA8A0B76ECC37B87, - 0x44AE53E1DF9584CB, - 0xB310B4B77347A205, - 0xDFAB323C787B8512, - 0x3B511268D070B78E, - 0x65E6E3D2B9396753, - 0x6864B271E2574D58, - 0x259784C98FC789D7, - 0x02E11A7DFABB35A9, - 0x8841A6DFA337158B, - 0x7ADE78C39B5DCDD0, - 0xB7CF804D9A2CC84A, - 0x20B6BD831B7F7742, - 0x75BD331D3A88D272, - 0x418F6AAB4B2D7A5E, - 0xD9951CBB6BABDAF4, - 0xB6318DFDE7FF5C90, - 0x1F389B112264AA83, - 0x492C024284FBAEC0, - 0xE33A0363C608F9A0, - 0x2688930408AF28A4, - 0xC7538A1A341CE4AD, - 0x5DA8E677EE2171AE, - 0x8C9E92254A5C7FC4, - 0x63D8CD55AAE938B5, - 0x29EBD8DAA97A3706, - 0x959827B37BE88AA1, - 0x1484E4356ADADF6E, - 0xA7945082199D7D6B, - 0xBF6CE8A455FA1CD4, - 0x9CC542EAC9EDCAE5, - 0x79C16F0E1C356CA3, - 0x89BFAB6FDEE48151, - 0xD4174D1830C5F0FF, - 0x9258048415EB419D, - 0x6139D72850520D1C, - 0x6A85A80C18EC78F1, - 0xCD11F88E0171059A, - 0xCCEFF53E7CA29140, - 0xD229639F2315AF19, - 0x90B91EF9EF507434, - 0x5977D28D074A1BE1, - 0x311360FCE51D56B9, - 0xC093A92D5A1F2F91, - 0x1A19A25BB6DC5416, - 0xEB996B8A09DE2D3E, - 0xFEE3820F1ED7668A, - 0xD7085AD5B7AD518C, - 0x7FFF41890FE53345, - 0xEC5948BD67DDE602, - 0x2FD5F65DBAAA68E0, - 0xA5754AFFE32648C2, - 0xF8DDAC880D07396C, - 0x6FA491468C548664, - 0x0C7C5C1326BDBED1, - 0x4A33158F03930FB3, - 0x699ABFC19F84D982, - 0xE4FA2054A80B329C, - 0x6707F9AF438252FA, - 0x08A368E9CFD6D49E, - 0x47B1442C58FD25B8, - 0xBBB3DC5EBC91769B, - 0x1665FE489061EAC7, - 0x33F27A811FA66310, - 0x93A609346838D547, - 0x30ED6D4C98CEC263, - 0x1DD9816CD8DF9F2A, - 0x94662A03063B1E7B, - 0x83FDD9FBEB896066, - 0x7B207573E68E590A, - 0x5F49FC0A149A4407, - 0x343259B671A5A82C, - 0xFBC2BB458A6F981F, - 0xC272B350A0A41A38, - 0x3AAF1FD8ADA32354, - 0x6CBB868B0B3C2717, - 0xA2B569C88D2583FE, - 0xF180C9D1BF027928, - 0xAF37386BD64BA9F5, - 0x12BACAB2790A8088, - 0x4C0D3B0810435055, - 0xB2EEB9070E9436DF, - 0xC5B29067CEA7D104, - 0xDCB425F1FF132461, - 0x4F122CC5972BF126, - 0xAC282FA651230886, - 0xE7E537992F6393EF, - 0xE61B3A2952B00735, - 0x709C0A57AE302CE7, - 0xE02514AE416058D3, - 0xC44C9DD7B37445DE, - 0x5A68C5408022BA92, - 0x1C278CDCA50C0BF0, - 0x6E5A9CF6F18712BE, - 0x86DCE0B17F319EF3, - 0x2D34EC2040115D49, - 0x4BCD183F7E409B69, - 0x2815D56AD4A9A3DC, - 0x24698979F2141D0D, - 0x0000000000000000, - 0x1EC696A15FB73E59, - 0xD86B110B16784E2E, - 0x8E7F8858B0E74A6D, - 0x063E2E8713D05FE6, - 0xE2C40ED3BBDB6D7A, - 0xB1F1AECA89FC97AC, - 0xE1DB191E3CB3CC09, - 0x6418EE62C4EAF389, - 0xC6AD87AA49CF7077, - 0xD6F65765CA7EC556, - 0x9AFB6C6DDA3D9503, - 0x7CE05644888D9236, - 0x8D609F95378FEB1E, - 0x23A9AA4E9C17D631, - 0x6226C0E5D73AAC6F, - 0x56149953A69F0443, - 0xEEB852C09D66D3AB, - 0x2B0AC2A753C102AF, - 0x07C023376E03CB3C, - 0x2CCAE1903DC2C993, - 0xD3D76E2F5EC63BC3, - 0x9E2458973356FF4C, - 0xA66A5D32644EE9B1, - 0x0A427294356DE137, - 0x783F62BE61E6F879, - 0x1344C70204D91452, - 0x5B96C8F0FDF12E48, - 0xA90916ECC59BF613, - 0xBE92E5142829880E, - 0x727D102A548B194E, - 0x1BE7AFEBCB0FC0CC, - 0x3E702B2244C8491B, - 0xD5E940A84D166425, - 0x66F9F41F3E51C620, - 0xABE80C913F20C3BA, - 0xF07EC461C2D1EDF2, - 0xF361D3AC45B94C81, - 0x0521394A94B8FE95, - 0xADD622162CF09C5C, - 0xE97871F7F3651897, - 0xF4A1F09B2BBA87BD, - 0x095D6559B2054044, - 0x0BBC7F2448BE75ED, - 0x2AF4CF172E129675, - 0x157AE98517094BB4, - 0x9FDA55274E856B96, - 0x914713499283E0EE, - 0xB952C623462A4332, - 0x74433EAD475B46A8, - 0x8B5EB112245FB4F8, - 0xA34B6478F0F61724, - 0x11A5DD7FFE6221FB, - 0xC16DA49D27CCBB4B, - 0x76A224D0BDE07301, - 0x8AA0BCA2598C2022, - 0x4DF336B86D90C48F, - 0xEA67663A740DB9E4, - 0xEF465F70E0B54771, - 0x39B008152ACB8227, - 0x7D1E5BF4F55E06EC, - 0x105BD0CF83B1B521, - 0x775C2960C033E7DB, - 0x7E014C397236A79F, - 0x811CC386113255CF, - 0xEDA7450D1A0E72D8, - 0x5889DF3D7A998F3B, - 0x2E2BFBEDC779FC3A, - 0xCE0EEF438619A4E9, - 0x372D4E7BF6CD095F, - 0x04DF34FAE96B6A4F, - 0xF923A13870D4ADB6, - 0xA1AA7E050A4D228D, - 0xA8F71B5CB84862C9, - 0xB52E9A306097FDE3, - 0x0D8251A35B6E2A0B, - 0x2257A7FEE1C442EB, - 0x73831D9A29588D94, - 0x51D4BA64C89CCF7F, - 0x502AB7D4B54F5BA5, - 0x97793DCE8153BF08, - 0xE5042DE4D5D8A646, - 0x9687307EFC802BD2, - 0xA05473B5779EB657, - 0xB4D097801D446939, - 0xCFF0E2F3FBCA3033, - 0xC38CBEE0DD778EE2, - 0x464F499C252EB162, - 0xCAD1DBB96F72CEA6, - 0xBA4DD1EEC142E241, - 0xB00FA37AF42F0376, - ], - [ - 0xCCE4CD3AA968B245, - 0x089D5484E80B7FAF, - 0x638246C1B3548304, - 0xD2FE0EC8C2355492, - 0xA7FBDF7FF2374EEE, - 0x4DF1600C92337A16, - 0x84E503EA523B12FB, - 0x0790BBFD53AB0C4A, - 0x198A780F38F6EA9D, - 0x2AB30C8F55EC48CB, - 0xE0F7FED6B2C49DB5, - 0xB6ECF3F422CADBDC, - 0x409C9A541358DF11, - 0xD3CE8A56DFDE3FE3, - 0xC3E9224312C8C1A0, - 0x0D6DFA58816BA507, - 0xDDF3E1B179952777, - 0x04C02A42748BB1D9, - 0x94C2ABFF9F2DECB8, - 0x4F91752DA8F8ACF4, - 0x78682BEFB169BF7B, - 0xE1C77A48AF2FF6C4, - 0x0C5D7EC69C80CE76, - 0x4CC1E4928FD81167, - 0xFEED3D24D9997B62, - 0x518BB6DFC3A54A23, - 0x6DBF2D26151F9B90, - 0xB5BC624B05EA664F, - 0xE86AAA525ACFE21A, - 0x4801CED0FB53A0BE, - 0xC91463E6C00868ED, - 0x1027A815CD16FE43, - 0xF67069A0319204CD, - 0xB04CCC976C8ABCE7, - 0xC0B9B3FC35E87C33, - 0xF380C77C58F2DE65, - 0x50BB3241DE4E2152, - 0xDF93F490435EF195, - 0xF1E0D25D62390887, - 0xAF668BFB1A3C3141, - 0xBC11B251F00A7291, - 0x73A5EED47E427D47, - 0x25BEE3F6EE4C3B2E, - 0x43CC0BEB34786282, - 0xC824E778DDE3039C, - 0xF97D86D98A327728, - 0xF2B043E24519B514, - 0xE297EBF7880F4B57, - 0x3A94A49A98FAB688, - 0x868516CB68F0C419, - 0xEFFA11AF0964EE50, - 0xA4AB4EC0D517F37D, - 0xA9C6B498547C567A, - 0x8E18424F80FBBBB6, - 0x0BCDC53BCF2BC23C, - 0x137739AAEA3643D0, - 0x2C1333EC1BAC2FF0, - 0x8D48D3F0A7DB0625, - 0x1E1AC3F26B5DE6D7, - 0xF520F81F16B2B95E, - 0x9F0F6EC450062E84, - 0x0130849E1DEB6B71, - 0xD45E31AB8C7533A9, - 0x652279A2FD14E43F, - 0x3209F01E70F1C927, - 0xBE71A770CAC1A473, - 0x0E3D6BE7A64B1894, - 0x7EC8148CFF29D840, - 0xCB7476C7FAC3BE0F, - 0x72956A4A63A91636, - 0x37F95EC21991138F, - 0x9E3FEA5A4DED45F5, - 0x7B38BA50964902E8, - 0x222E580BBDE73764, - 0x61E253E0899F55E6, - 0xFC8D2805E352AD80, - 0x35994BE3235AC56D, - 0x09ADD01AF5E014DE, - 0x5E8659A6780539C6, - 0xB17C48097161D796, - 0x026015213ACBD6E2, - 0xD1AE9F77E515E901, - 0xB7DC776A3F21B0AD, - 0xABA6A1B96EB78098, - 0x9BCF4486248D9F5D, - 0x582666C536455EFD, - 0xFDBDAC9BFEB9C6F1, - 0xC47999BE4163CDEA, - 0x765540081722A7EF, - 0x3E548ED8EC710751, - 0x3D041F67CB51BAC2, - 0x7958AF71AC82D40A, - 0x36C9DA5C047A78FE, - 0xED9A048E33AF38B2, - 0x26EE7249C96C86BD, - 0x900281BDEBA65D61, - 0x11172C8BD0FD9532, - 0xEA0ABF73600434F8, - 0x42FC8F75299309F3, - 0x34A9CF7D3EB1AE1C, - 0x2B838811480723BA, - 0x5CE64C8742CEEF24, - 0x1ADAE9B01FD6570E, - 0x3C349BF9D6BAD1B3, - 0x82453C891C7B75C0, - 0x97923A40B80D512B, - 0x4A61DBF1C198765C, - 0xB48CE6D518010D3E, - 0xCFB45C858E480FD6, - 0xD933CBF30D1E96AE, - 0xD70EA014AB558E3A, - 0xC189376228031742, - 0x9262949CD16D8B83, - 0xEB3A3BED7DEF5F89, - 0x49314A4EE6B8CBCF, - 0xDCC3652F647E4C06, - 0xDA635A4C2A3E2B3D, - 0x470C21A940F3D35B, - 0x315961A157D174B4, - 0x6672E81DDA3459AC, - 0x5B76F77A1165E36E, - 0x445CB01667D36EC8, - 0xC5491D205C88A69B, - 0x456C34887A3805B9, - 0xFFDDB9BAC4721013, - 0x99AF51A71E4649BF, - 0xA15BE01CBC7729D5, - 0x52DB2760E485F7B0, - 0x8C78576EBA306D54, - 0xAE560F6507D75A30, - 0x95F22F6182C687C9, - 0x71C5FBF54489ABA5, - 0xCA44F259E728D57E, - 0x88B87D2CCEBBDC8D, - 0xBAB18D32BE4A15AA, - 0x8BE8EC93E99B611E, - 0x17B713E89EBDF209, - 0xB31C5D284BAA0174, - 0xEECA9531148F8521, - 0xB8D198138481C348, - 0x8988F9B2D350B7FC, - 0xB9E11C8D996AA839, - 0x5A4673E40C8E881F, - 0x1687977683569978, - 0xBF4123EED72ACF02, - 0x4EA1F1B3B513C785, - 0xE767452BE16F91FF, - 0x7505D1B730021A7C, - 0xA59BCA5EC8FC980C, - 0xAD069EDA20F7E7A3, - 0x38F4B1BBA231606A, - 0x60D2D77E94743E97, - 0x9AFFC0183966F42C, - 0x248E6768F3A7505F, - 0xCDD449A4B483D934, - 0x87B59255751BAF68, - 0x1BEA6D2E023D3C7F, - 0x6B1F12455B5FFCAB, - 0x743555292DE9710D, - 0xD8034F6D10F5FDDF, - 0xC6198C9F7BA81B08, - 0xBB8109ACA3A17EDB, - 0xFA2D1766AD12CABB, - 0xC729080166437079, - 0x9C5FFF7B77269317, - 0x0000000000000000, - 0x15D706C9A47624EB, - 0x6FDF38072FD44D72, - 0x5FB6DD3865EE52B7, - 0xA33BF53D86BCFF37, - 0xE657C1B5FC84FA8E, - 0xAA962527735CEBE9, - 0x39C43525BFDA0B1B, - 0x204E4D2A872CE186, - 0x7A083ECE8BA26999, - 0x554B9C9DB72EFBFA, - 0xB22CD9B656416A05, - 0x96A2BEDEA5E63A5A, - 0x802529A826B0A322, - 0x8115AD363B5BC853, - 0x8375B81701901EB1, - 0x3069E53F4A3A1FC5, - 0xBD2136CFEDE119E0, - 0x18BAFC91251D81EC, - 0x1D4A524D4C7D5B44, - 0x05F0AEDC6960DAA8, - 0x29E39D3072CCF558, - 0x70F57F6B5962C0D4, - 0x989FD53903AD22CE, - 0xF84D024797D91C59, - 0x547B1803AAC5908B, - 0xF0D056C37FD263F6, - 0xD56EB535919E58D8, - 0x1C7AD6D351963035, - 0x2E7326CD2167F912, - 0xAC361A443D1C8CD2, - 0x697F076461942A49, - 0x4B515F6FDC731D2D, - 0x8AD8680DF4700A6F, - 0x41AC1ECA0EB3B460, - 0x7D988533D80965D3, - 0xA8F6300649973D0B, - 0x7765C4960AC9CC9E, - 0x7CA801ADC5E20EA2, - 0xDEA3700E5EB59AE4, - 0xA06B6482A19C42A4, - 0x6A2F96DB46B497DA, - 0x27DEF6D7D487EDCC, - 0x463CA5375D18B82A, - 0xA6CB5BE1EFDC259F, - 0x53EBA3FEF96E9CC1, - 0xCE84D81B93A364A7, - 0xF4107C810B59D22F, - 0x333974806D1AA256, - 0x0F0DEF79BBA073E5, - 0x231EDC95A00C5C15, - 0xE437D494C64F2C6C, - 0x91320523F64D3610, - 0x67426C83C7DF32DD, - 0x6EEFBC99323F2603, - 0x9D6F7BE56ACDF866, - 0x5916E25B2BAE358C, - 0x7FF89012E2C2B331, - 0x035091BF2720BD93, - 0x561B0D22900E4669, - 0x28D319AE6F279E29, - 0x2F43A2533C8C9263, - 0xD09E1BE9F8FE8270, - 0xF740ED3E2C796FBC, - 0xDB53DED237D5404C, - 0x62B2C25FAEBFE875, - 0x0AFD41A5D2C0A94D, - 0x6412FD3CE0FF8F4E, - 0xE3A76F6995E42026, - 0x6C8FA9B808F4F0E1, - 0xC2D9A6DD0F23AAD1, - 0x8F28C6D19D10D0C7, - 0x85D587744FD0798A, - 0xA20B71A39B579446, - 0x684F83FA7C7F4138, - 0xE507500ADBA4471D, - 0x3F640A46F19A6C20, - 0x1247BD34F7DD28A1, - 0x2D23B77206474481, - 0x93521002CC86E0F2, - 0x572B89BC8DE52D18, - 0xFB1D93F8B0F9A1CA, - 0xE95A2ECC4724896B, - 0x3BA420048511DDF9, - 0xD63E248AB6BEE54B, - 0x5DD6C8195F258455, - 0x06A03F634E40673B, - 0x1F2A476C76B68DA6, - 0x217EC9B49AC78AF7, - 0xECAA80102E4453C3, - 0x14E78257B99D4F9A, - ], - [ - 0x20329B2CC87BBA05, - 0x4F5EB6F86546A531, - 0xD4F44775F751B6B1, - 0x8266A47B850DFA8B, - 0xBB986AA15A6CA985, - 0xC979EB08F9AE0F99, - 0x2DA6F447A2375EA1, - 0x1E74275DCD7D8576, - 0xBC20180A800BC5F8, - 0xB4A2F701B2DC65BE, - 0xE726946F981B6D66, - 0x48E6C453BF21C94C, - 0x42CAD9930F0A4195, - 0xEFA47B64AACCCD20, - 0x71180A8960409A42, - 0x8BB3329BF6A44E0C, - 0xD34C35DE2D36DACC, - 0xA92F5B7CBC23DC96, - 0xB31A85AA68BB09C3, - 0x13E04836A73161D2, - 0xB24DFC4129C51D02, - 0x8AE44B70B7DA5ACD, - 0xE671ED84D96579A7, - 0xA4BB3417D66F3832, - 0x4572AB38D56D2DE8, - 0xB1B47761EA47215C, - 0xE81C09CF70ABA15D, - 0xFFBDB872CE7F90AC, - 0xA8782297FD5DC857, - 0x0D946F6B6A4CE4A4, - 0xE4DF1F4F5B995138, - 0x9EBC71EDCA8C5762, - 0x0A2C1DC0B02B88D9, - 0x3B503C115D9D7B91, - 0xC64376A8111EC3A2, - 0xCEC199A323C963E4, - 0xDC76A87EC58616F7, - 0x09D596E073A9B487, - 0x14583A9D7D560DAF, - 0xF4C6DC593F2A0CB4, - 0xDD21D19584F80236, - 0x4A4836983DDDE1D3, - 0xE58866A41AE745F9, - 0xF591A5B27E541875, - 0x891DC05074586693, - 0x5B068C651810A89E, - 0xA30346BC0C08544F, - 0x3DBF3751C684032D, - 0x2A1E86EC785032DC, - 0xF73F5779FCA830EA, - 0xB60C05CA30204D21, - 0x0CC316802B32F065, - 0x8770241BDD96BE69, - 0xB861E18199EE95DB, - 0xF805CAD91418FCD1, - 0x29E70DCCBBD20E82, - 0xC7140F435060D763, - 0x0F3A9DA0E8B0CC3B, - 0xA2543F574D76408E, - 0xBD7761E1C175D139, - 0x4B1F4F737CA3F512, - 0x6DC2DF1F2FC137AB, - 0xF1D05C3967B14856, - 0xA742BF3715ED046C, - 0x654030141D1697ED, - 0x07B872ABDA676C7D, - 0x3CE84EBA87FA17EC, - 0xC1FB0403CB79AFDF, - 0x3E46BC7105063F73, - 0x278AE987121CD678, - 0xA1ADB4778EF47CD0, - 0x26DD906C5362C2B9, - 0x05168060589B44E2, - 0xFBFC41F9D79AC08F, - 0x0E6DE44BA9CED8FA, - 0x9FEB08068BF243A3, - 0x7B341749D06B129B, - 0x229C69E74A87929A, - 0xE09EE6C4427C011B, - 0x5692E30E725C4C3A, - 0xDA99A33E5E9F6E4B, - 0x353DD85AF453A36B, - 0x25241B4C90E0FEE7, - 0x5DE987258309D022, - 0xE230140FC0802984, - 0x93281E86A0C0B3C6, - 0xF229D719A4337408, - 0x6F6C2DD4AD3D1F34, - 0x8EA5B2FBAE3F0AEE, - 0x8331DD90C473EE4A, - 0x346AA1B1B52DB7AA, - 0xDF8F235E06042AA9, - 0xCC6F6B68A1354B7B, - 0x6C95A6F46EBF236A, - 0x52D31A856BB91C19, - 0x1A35DED6D498D555, - 0xF37EAEF2E54D60C9, - 0x72E181A9A3C2A61C, - 0x98537AAD51952FDE, - 0x16F6C856FFAA2530, - 0xD960281E9D1D5215, - 0x3A0745FA1CE36F50, - 0x0B7B642BF1559C18, - 0x59A87EAE9AEC8001, - 0x5E100C05408BEC7C, - 0x0441F98B19E55023, - 0xD70DCC5534D38AEF, - 0x927F676DE1BEA707, - 0x9769E70DB925E3E5, - 0x7A636EA29115065A, - 0x468B201816EF11B6, - 0xAB81A9B73EDFF409, - 0xC0AC7DE88A07BB1E, - 0x1F235EB68C0391B7, - 0x6056B074458DD30F, - 0xBE8EEAC102F7ED67, - 0xCD381283E04B5FBA, - 0x5CBEFECEC277C4E3, - 0xD21B4C356C48CE0D, - 0x1019C31664B35D8C, - 0x247362A7D19EEA26, - 0xEBE582EFB3299D03, - 0x02AEF2CB82FC289F, - 0x86275DF09CE8AAA8, - 0x28B07427FAAC1A43, - 0x38A9B7319E1F47CF, - 0xC82E92E3B8D01B58, - 0x06EF0B409B1978BC, - 0x62F842BFC771FB90, - 0x9904034610EB3B1F, - 0xDED85AB5477A3E68, - 0x90D195A663428F98, - 0x5384636E2AC708D8, - 0xCBD719C37B522706, - 0xAE9729D76644B0EB, - 0x7C8C65E20A0C7EE6, - 0x80C856B007F1D214, - 0x8C0B40302CC32271, - 0xDBCEDAD51FE17A8A, - 0x740E8AE938DBDEA0, - 0xA615C6DC549310AD, - 0x19CC55F6171AE90B, - 0x49B1BDB8FE5FDD8D, - 0xED0A89AF2830E5BF, - 0x6A7AADB4F5A65BD6, - 0x7E22972988F05679, - 0xF952B3325566E810, - 0x39FECEDADF61530E, - 0x6101C99F04F3C7CE, - 0x2E5F7F6761B562FF, - 0xF08725D226CF5C97, - 0x63AF3B54860FEF51, - 0x8FF2CB10EF411E2F, - 0x884AB9BB35267252, - 0x4DF04433E7BA8DAE, - 0x9AFD8866D3690741, - 0x66B9BB34DE94ABB3, - 0x9BAAF18D92171380, - 0x543C11C5F0A064A5, - 0x17A1B1BDBED431F1, - 0xB5F58EEAF3A2717F, - 0xC355F6C849858740, - 0xEC5DF044694EF17E, - 0xD83751F5DC6346D4, - 0xFC4433520DFDACF2, - 0x0000000000000000, - 0x5A51F58E596EBC5F, - 0x3285AAF12E34CF16, - 0x8D5C39DB6DBD36B0, - 0x12B731DDE64F7513, - 0x94906C2D7AA7DFBB, - 0x302B583AACC8E789, - 0x9D45FACD090E6B3C, - 0x2165E2C78905AEC4, - 0x68D45F7F775A7349, - 0x189B2C1D5664FDCA, - 0xE1C99F2F030215DA, - 0x6983269436246788, - 0x8489AF3B1E148237, - 0xE94B702431D5B59C, - 0x33D2D31A6F4ADBD7, - 0xBFD9932A4389F9A6, - 0xB0E30E8AAB39359D, - 0xD1E2C715AFCAF253, - 0x150F43763C28196E, - 0xC4ED846393E2EB3D, - 0x03F98B20C3823C5E, - 0xFD134AB94C83B833, - 0x556B682EB1DE7064, - 0x36C4537A37D19F35, - 0x7559F30279A5CA61, - 0x799AE58252973A04, - 0x9C12832648707FFD, - 0x78CD9C6913E92EC5, - 0x1D8DAC7D0EFFB928, - 0x439DA0784E745554, - 0x413352B3CC887DCB, - 0xBACF134A1B12BD44, - 0x114EBAFD25CD494D, - 0x2F08068C20CB763E, - 0x76A07822BA27F63F, - 0xEAB2FB04F25789C2, - 0xE3676DE481FE3D45, - 0x1B62A73D95E6C194, - 0x641749FF5C68832C, - 0xA5EC4DFC97112CF3, - 0xF6682E92BDD6242B, - 0x3F11C59A44782BB2, - 0x317C21D1EDB6F348, - 0xD65AB5BE75AD9E2E, - 0x6B2DD45FB4D84F17, - 0xFAAB381296E4D44E, - 0xD0B5BEFEEEB4E692, - 0x0882EF0B32D7A046, - 0x512A91A5A83B2047, - 0x963E9EE6F85BF724, - 0x4E09CF132438B1F0, - 0x77F701C9FB59E2FE, - 0x7DDB1C094B726A27, - 0x5F4775EE01F5F8BD, - 0x9186EC4D223C9B59, - 0xFEEAC1998F01846D, - 0xAC39DB1CE4B89874, - 0xB75B7C21715E59E0, - 0xAFC0503C273AA42A, - 0x6E3B543FEC430BF5, - 0x704F7362213E8E83, - 0x58FF0745DB9294C0, - 0x67EEC2DF9FEABF72, - 0xA0FACD9CCF8A6811, - 0xB936986AD890811A, - 0x95C715C63BD9CB7A, - 0xCA8060283A2C33C7, - 0x507DE84EE9453486, - 0x85DED6D05F6A96F6, - 0x1CDAD5964F81ADE9, - 0xD5A33E9EB62FA270, - 0x40642B588DF6690A, - 0x7F75EEC2C98E42B8, - 0x2CF18DACE3494A60, - 0x23CB100C0BF9865B, - 0xEEF3028FEBB2D9E1, - 0x4425D2D394133929, - 0xAAD6D05C7FA1E0C8, - 0xAD6EA2F7A5C68CB5, - 0xC2028F2308FB9381, - 0x819F2F5B468FC6D5, - 0xC5BAFD88D29CFFFC, - 0x47DC59F357910577, - 0x2B49FF07392E261D, - 0x57C59AE5332258FB, - 0x73B6F842E2BCB2DD, - 0xCF96E04862B77725, - 0x4CA73DD8A6C4996F, - 0x015779EB417E14C1, - 0x37932A9176AF8BF4, - ], - [ - 0x190A2C9B249DF23E, - 0x2F62F8B62263E1E9, - 0x7A7F754740993655, - 0x330B7BA4D5564D9F, - 0x4C17A16A46672582, - 0xB22F08EB7D05F5B8, - 0x535F47F40BC148CC, - 0x3AEC5D27D4883037, - 0x10ED0A1825438F96, - 0x516101F72C233D17, - 0x13CC6F949FD04EAE, - 0x739853C441474BFD, - 0x653793D90D3F5B1B, - 0x5240647B96B0FC2F, - 0x0C84890AD27623E0, - 0xD7189B32703AAEA3, - 0x2685DE3523BD9C41, - 0x99317C5B11BFFEFA, - 0x0D9BAA854F079703, - 0x70B93648FBD48AC5, - 0xA80441FCE30BC6BE, - 0x7287704BDC36FF1E, - 0xB65384ED33DC1F13, - 0xD36417343EE34408, - 0x39CD38AB6E1BF10F, - 0x5AB861770A1F3564, - 0x0EBACF09F594563B, - 0xD04572B884708530, - 0x3CAE9722BDB3AF47, - 0x4A556B6F2F5CBAF2, - 0xE1704F1F76C4BD74, - 0x5EC4ED7144C6DFCF, - 0x16AFC01D4C7810E6, - 0x283F113CD629CA7A, - 0xAF59A8761741ED2D, - 0xEED5A3991E215FAC, - 0x3BF37EA849F984D4, - 0xE413E096A56CE33C, - 0x2C439D3A98F020D1, - 0x637559DC6404C46B, - 0x9E6C95D1E5F5D569, - 0x24BB9836045FE99A, - 0x44EFA466DAC8ECC9, - 0xC6EAB2A5C80895D6, - 0x803B50C035220CC4, - 0x0321658CBA93C138, - 0x8F9EBC465DC7EE1C, - 0xD15A5137190131D3, - 0x0FA5EC8668E5E2D8, - 0x91C979578D1037B1, - 0x0642CA05693B9F70, - 0xEFCA80168350EB4F, - 0x38D21B24F36A45EC, - 0xBEAB81E1AF73D658, - 0x8CBFD9CAE7542F24, - 0xFD19CC0D81F11102, - 0x0AC6430FBB4DBC90, - 0x1D76A09D6A441895, - 0x2A01573FF1CBBFA1, - 0xB572E161894FDE2B, - 0x8124734FA853B827, - 0x614B1FDF43E6B1B0, - 0x68AC395C4238CC18, - 0x21D837BFD7F7B7D2, - 0x20C714304A860331, - 0x5CFAAB726324AA14, - 0x74C5BA4EB50D606E, - 0xF3A3030474654739, - 0x23E671BCF015C209, - 0x45F087E947B9582A, - 0xD8BD77B418DF4C7B, - 0xE06F6C90EBB50997, - 0x0BD96080263C0873, - 0x7E03F9410E40DCFE, - 0xB8E94BE4C6484928, - 0xFB5B0608E8CA8E72, - 0x1A2B49179E0E3306, - 0x4E29E76961855059, - 0x4F36C4E6FCF4E4BA, - 0x49740EE395CF7BCA, - 0xC2963EA386D17F7D, - 0x90D65AD810618352, - 0x12D34C1B02A1FA4D, - 0xFA44258775BB3A91, - 0x18150F14B9EC46DD, - 0x1491861E6B9A653D, - 0x9A1019D7AB2C3FC2, - 0x3668D42D06FE13D7, - 0xDCC1FBB25606A6D0, - 0x969490DD795A1C22, - 0x3549B1A1BC6DD2EF, - 0xC94F5E23A0ED770E, - 0xB9F6686B5B39FDCB, - 0xC4D4F4A6EFEAE00D, - 0xE732851A1FFF2204, - 0x94AAD6DE5EB869F9, - 0x3F8FF2AE07206E7F, - 0xFE38A9813B62D03A, - 0xA7A1AD7A8BEE2466, - 0x7B6056C8DDE882B6, - 0x302A1E286FC58CA7, - 0x8DA0FA457A259BC7, - 0xB3302B64E074415B, - 0x5402AE7EFF8B635F, - 0x08F8050C9CAFC94B, - 0xAE468BF98A3059CE, - 0x88C355CCA98DC58F, - 0xB10E6D67C7963480, - 0xBAD70DE7E1AA3CF3, - 0xBFB4A26E320262BB, - 0xCB711820870F02D5, - 0xCE12B7A954A75C9D, - 0x563CE87DD8691684, - 0x9F73B65E7884618A, - 0x2B1E74B06CBA0B42, - 0x47CEC1EA605B2DF1, - 0x1C698312F735AC76, - 0x5FDBCEFED9B76B2C, - 0x831A354C8FB1CDFC, - 0x820516C312C0791F, - 0xB74CA762AEADABF0, - 0xFC06EF821C80A5E1, - 0x5723CBF24518A267, - 0x9D4DF05D5F661451, - 0x588627742DFD40BF, - 0xDA8331B73F3D39A0, - 0x17B0E392D109A405, - 0xF965400BCF28FBA9, - 0x7C3DBF4229A2A925, - 0x023E460327E275DB, - 0x6CD0B55A0CE126B3, - 0xE62DA695828E96E7, - 0x42AD6E63B3F373B9, - 0xE50CC319381D57DF, - 0xC5CBD729729B54EE, - 0x46D1E265FD2A9912, - 0x6428B056904EEFF8, - 0x8BE23040131E04B7, - 0x6709D5DA2ADD2EC0, - 0x075DE98AF44A2B93, - 0x8447DCC67BFBE66F, - 0x6616F655B7AC9A23, - 0xD607B8BDED4B1A40, - 0x0563AF89D3A85E48, - 0x3DB1B4AD20C21BA4, - 0x11F22997B8323B75, - 0x292032B34B587E99, - 0x7F1CDACE9331681D, - 0x8E819FC9C0B65AFF, - 0xA1E3677FE2D5BB16, - 0xCD33D225EE349DA5, - 0xD9A2543B85AEF898, - 0x795E10CBFA0AF76D, - 0x25A4BBB9992E5D79, - 0x78413344677B438E, - 0xF0826688CEF68601, - 0xD27B34BBA392F0EB, - 0x551D8DF162FAD7BC, - 0x1E57C511D0D7D9AD, - 0xDEFFBDB171E4D30B, - 0xF4FEEA8E802F6CAA, - 0xA480C8F6317DE55E, - 0xA0FC44F07FA40FF5, - 0x95B5F551C3C9DD1A, - 0x22F952336D6476EA, - 0x0000000000000000, - 0xA6BE8EF5169F9085, - 0xCC2CF1AA73452946, - 0x2E7DDB39BF12550A, - 0xD526DD3157D8DB78, - 0x486B2D6C08BECF29, - 0x9B0F3A58365D8B21, - 0xAC78CDFAADD22C15, - 0xBC95C7E28891A383, - 0x6A927F5F65DAB9C3, - 0xC3891D2C1BA0CB9E, - 0xEAA92F9F50F8B507, - 0xCF0D9426C9D6E87E, - 0xCA6E3BAF1A7EB636, - 0xAB25247059980786, - 0x69B31AD3DF4978FB, - 0xE2512A93CC577C4C, - 0xFF278A0EA61364D9, - 0x71A615C766A53E26, - 0x89DC764334FC716C, - 0xF87A638452594F4A, - 0xF2BC208BE914F3DA, - 0x8766B94AC1682757, - 0xBBC82E687CDB8810, - 0x626A7A53F9757088, - 0xA2C202F358467A2E, - 0x4D0882E5DB169161, - 0x09E7268301DE7DA8, - 0xE897699C771AC0DC, - 0xC8507DAC3D9CC3ED, - 0xC0A878A0A1330AA6, - 0x978BB352E42BA8C1, - 0xE9884A13EA6B743F, - 0x279AFDBABECC28A2, - 0x047C8C064ED9EAAB, - 0x507E2278B15289F4, - 0x599904FBB08CF45C, - 0xBD8AE46D15E01760, - 0x31353DA7F2B43844, - 0x8558FF49E68A528C, - 0x76FBFC4D92EF15B5, - 0x3456922E211C660C, - 0x86799AC55C1993B4, - 0x3E90D1219A51DA9C, - 0x2D5CBEB505819432, - 0x982E5FD48CCE4A19, - 0xDB9C1238A24C8D43, - 0xD439FEBECAA96F9B, - 0x418C0BEF0960B281, - 0x158EA591F6EBD1DE, - 0x1F48E69E4DA66D4E, - 0x8AFD13CF8E6FB054, - 0xF5E1C9011D5ED849, - 0xE34E091C5126C8AF, - 0xAD67EE7530A398F6, - 0x43B24DEC2E82C75A, - 0x75DA99C1287CD48D, - 0x92E81CDB3783F689, - 0xA3DD217CC537CECD, - 0x60543C50DE970553, - 0x93F73F54AAF2426A, - 0xA91B62737E7A725D, - 0xF19D4507538732E2, - 0x77E4DFC20F9EA156, - 0x7D229CCDB4D31DC6, - 0x1B346A98037F87E5, - 0xEDF4C615A4B29E94, - 0x4093286094110662, - 0xB0114EE85AE78063, - 0x6FF1D0D6B672E78B, - 0x6DCF96D591909250, - 0xDFE09E3EEC9567E8, - 0x3214582B4827F97C, - 0xB46DC2EE143E6AC8, - 0xF6C0AC8DA7CD1971, - 0xEBB60C10CD8901E4, - 0xF7DF8F023ABCAD92, - 0x9C52D3D2C217A0B2, - 0x6B8D5CD0F8AB0D20, - 0x3777F7A29B8FA734, - 0x011F238F9D71B4E3, - 0xC1B75B2F3C42BE45, - 0x5DE588FDFE551EF7, - 0x6EEEF3592B035368, - 0xAA3A07FFC4E9B365, - 0xECEBE59A39C32A77, - 0x5BA742F8976E8187, - 0x4B4A48E0B22D0E11, - 0xDDDED83DCB771233, - 0xA59FEB79AC0C51BD, - 0xC7F5912A55792135, - ], - [ - 0x6D6AE04668A9B08A, - 0x3AB3F04B0BE8C743, - 0xE51E166B54B3C908, - 0xBE90A9EB35C2F139, - 0xB2C7066637F2BEC1, - 0xAA6945613392202C, - 0x9A28C36F3B5201EB, - 0xDDCE5A93AB536994, - 0x0E34133EF6382827, - 0x52A02BA1EC55048B, - 0xA2F88F97C4B2A177, - 0x8640E513CA2251A5, - 0xCDF1D36258137622, - 0xFE6CB708DEDF8DDB, - 0x8A174A9EC8121E5D, - 0x679896036B81560E, - 0x59ED033395795FEE, - 0x1DD778AB8B74EDAF, - 0xEE533EF92D9F926D, - 0x2A8C79BAF8A8D8F5, - 0x6BCF398E69B119F6, - 0xE20491742FAFDD95, - 0x276488E0809C2AEC, - 0xEA955B82D88F5CCE, - 0x7102C63A99D9E0C4, - 0xF9763017A5C39946, - 0x429FA2501F151B3D, - 0x4659C72BEA05D59E, - 0x984B7FDCCF5A6634, - 0xF742232953FBB161, - 0x3041860E08C021C7, - 0x747BFD9616CD9386, - 0x4BB1367192312787, - 0x1B72A1638A6C44D3, - 0x4A0E68A6E8359A66, - 0x169A5039F258B6CA, - 0xB98A2EF44EDEE5A4, - 0xD9083FE85E43A737, - 0x967F6CE239624E13, - 0x8874F62D3C1A7982, - 0x3C1629830AF06E3F, - 0x9165EBFD427E5A8E, - 0xB5DD81794CEEAA5C, - 0x0DE8F15A7834F219, - 0x70BD98EDE3DD5D25, - 0xACCC9CA9328A8950, - 0x56664EDA1945CA28, - 0x221DB34C0F8859AE, - 0x26DBD637FA98970D, - 0x1ACDFFB4F068F932, - 0x4585254F64090FA0, - 0x72DE245E17D53AFA, - 0x1546B25D7C546CF4, - 0x207E0FFFFB803E71, - 0xFAAAD2732BCF4378, - 0xB462DFAE36EA17BD, - 0xCF926FD1AC1B11FD, - 0xE0672DC7DBA7BA4A, - 0xD3FA49AD5D6B41B3, - 0x8BA81449B216A3BC, - 0x14F9EC8A0650D115, - 0x40FC1EE3EB1D7CE2, - 0x23A2ED9B758CE44F, - 0x782C521B14FDDC7E, - 0x1C68267CF170504E, - 0xBCF31558C1CA96E6, - 0xA781B43B4BA6D235, - 0xF6FD7DFE29FF0C80, - 0xB0A4BAD5C3FAD91E, - 0xD199F51EA963266C, - 0x414340349119C103, - 0x5405F269ED4DADF7, - 0xABD61BB649969DCD, - 0x6813DBEAE7BDC3C8, - 0x65FB2AB09F8931D1, - 0xF1E7FAE152E3181D, - 0xC1A67CEF5A2339DA, - 0x7A4FEEA8E0F5BBA1, - 0x1E0B9ACF05783791, - 0x5B8EBF8061713831, - 0x80E53CDBCB3AF8D9, - 0x7E898BD315E57502, - 0xC6BCFBF0213F2D47, - 0x95A38E86B76E942D, - 0x092E94218D243CBA, - 0x8339DEBF453622E7, - 0xB11BE402B9FE64FF, - 0x57D9100D634177C9, - 0xCC4E8DB52217CBC3, - 0x3B0CAE9C71EC7AA2, - 0xFB158CA451CBFE99, - 0x2B33276D82AC6514, - 0x01BF5ED77A04BDE1, - 0xC5601994AF33F779, - 0x75C4A3416CC92E67, - 0xF3844652A6EB7FC2, - 0x3487E375FDD0EF64, - 0x18AE430704609EED, - 0x4D14EFB993298EFB, - 0x815A620CB13E4538, - 0x125C354207487869, - 0x9EEEA614CE42CF48, - 0xCE2D3106D61FAC1C, - 0xBBE99247BAD6827B, - 0x071A871F7B1C149D, - 0x2E4A1CC10DB81656, - 0x77A71FF298C149B8, - 0x06A5D9C80118A97C, - 0xAD73C27E488E34B1, - 0x443A7B981E0DB241, - 0xE3BBCFA355AB6074, - 0x0AF276450328E684, - 0x73617A896DD1871B, - 0x58525DE4EF7DE20F, - 0xB7BE3DCAB8E6CD83, - 0x19111DD07E64230C, - 0x842359A03E2A367A, - 0x103F89F1F3401FB6, - 0xDC710444D157D475, - 0xB835702334DA5845, - 0x4320FC876511A6DC, - 0xD026ABC9D3679B8D, - 0x17250EEE885C0B2B, - 0x90DAB52A387AE76F, - 0x31FED8D972C49C26, - 0x89CBA8FA461EC463, - 0x2FF5421677BCABB7, - 0x396F122F85E41D7D, - 0xA09B332430BAC6A8, - 0xC888E8CED7070560, - 0xAEAF201AC682EE8F, - 0x1180D7268944A257, - 0xF058A43628E7A5FC, - 0xBD4C4B8FBBCE2B07, - 0xA1246DF34ABE7B49, - 0x7D5569B79BE9AF3C, - 0xA9B5A705BD9EFA12, - 0xDB6B835BAA4BC0E8, - 0x05793BAC8F147342, - 0x21C1512881848390, - 0xFDB0556C50D357E5, - 0x613D4FCB6A99FF72, - 0x03DCE2648E0CDA3E, - 0xE949B9E6568386F0, - 0xFC0F0BBB2AD7EA04, - 0x6A70675913B5A417, - 0x7F36D5046FE1C8E3, - 0x0C57AF8D02304FF8, - 0x32223ABDFCC84618, - 0x0891CAF6F720815B, - 0xA63EEAEC31A26FD4, - 0x2507345374944D33, - 0x49D28AC266394058, - 0xF5219F9AA7F3D6BE, - 0x2D96FEA583B4CC68, - 0x5A31E1571B7585D0, - 0x8ED12FE53D02D0FE, - 0xDFADE6205F5B0E4B, - 0x4CABB16EE92D331A, - 0x04C6657BF510CEA3, - 0xD73C2CD6A87B8F10, - 0xE1D87310A1A307AB, - 0x6CD5BE9112AD0D6B, - 0x97C032354366F3F2, - 0xD4E0CEB22677552E, - 0x0000000000000000, - 0x29509BDE76A402CB, - 0xC27A9E8BD42FE3E4, - 0x5EF7842CEE654B73, - 0xAF107ECDBC86536E, - 0x3FCACBE784FCB401, - 0xD55F90655C73E8CF, - 0xE6C2F40FDABF1336, - 0xE8F6E7312C873B11, - 0xEB2A0555A28BE12F, - 0xE4A148BC2EB774E9, - 0x9B979DB84156BC0A, - 0x6EB60222E6A56AB4, - 0x87FFBBC4B026EC44, - 0xC703A5275B3B90A6, - 0x47E699FC9001687F, - 0x9C8D1AA73A4AA897, - 0x7CEA3760E1ED12DD, - 0x4EC80DDD1D2554C5, - 0x13E36B957D4CC588, - 0x5D2B66486069914D, - 0x92B90999CC7280B0, - 0x517CC9C56259DEB5, - 0xC937B619AD03B881, - 0xEC30824AD997F5B2, - 0xA45D565FC5AA080B, - 0xD6837201D27F32F1, - 0x635EF3789E9198AD, - 0x531F75769651B96A, - 0x4F77530A6721E924, - 0x486DD4151C3DFDB9, - 0x5F48DAFB9461F692, - 0x375B011173DC355A, - 0x3DA9775470F4D3DE, - 0x8D0DCD81B30E0AC0, - 0x36E45FC609D888BB, - 0x55BAACBE97491016, - 0x8CB29356C90AB721, - 0x76184125E2C5F459, - 0x99F4210BB55EDBD5, - 0x6F095CF59CA1D755, - 0x9F51F8C3B44672A9, - 0x3538BDA287D45285, - 0x50C39712185D6354, - 0xF23B1885DCEFC223, - 0x79930CCC6EF9619F, - 0xED8FDC9DA3934853, - 0xCB540AAA590BDF5E, - 0x5C94389F1A6D2CAC, - 0xE77DAAD8A0BBAED7, - 0x28EFC5090CA0BF2A, - 0xBF2FF73C4FC64CD8, - 0xB37858B14DF60320, - 0xF8C96EC0DFC724A7, - 0x828680683F329F06, - 0x941CD051CD6A29CC, - 0xC3C5C05CAE2B5E05, - 0xB601631DC2E27062, - 0xC01922382027843B, - 0x24B86A840E90F0D2, - 0xD245177A276FFC52, - 0x0F8B4DE98C3C95C6, - 0x3E759530FEF809E0, - 0x0B4D2892792C5B65, - 0xC4DF4743D5374A98, - 0xA5E20888BFAEB5EA, - 0xBA56CC90C0D23F9A, - 0x38D04CF8FFE0A09C, - 0x62E1ADAFE495254C, - 0x0263BCB3F40867DF, - 0xCAEB547D230F62BF, - 0x6082111C109D4293, - 0xDAD4DD8CD04F7D09, - 0xEFEC602E579B2F8C, - 0x1FB4C4187F7C8A70, - 0xFFD3E9DFA4DB303A, - 0x7BF0B07F9AF10640, - 0xF49EC14DDDF76B5F, - 0x8F6E713247066D1F, - 0x339D646A86CCFBF9, - 0x64447467E58D8C30, - 0x2C29A072F9B07189, - 0xD8B7613F24471AD6, - 0x6627C8D41185EBEF, - 0xA347D140BEB61C96, - 0xDE12B8F7255FB3AA, - 0x9D324470404E1576, - 0x9306574EB6763D51, - 0xA80AF9D2C79A47F3, - 0x859C0777442E8B9B, - 0x69AC853D9DB97E29, - ], - [ - 0xC3407DFC2DE6377E, - 0x5B9E93EEA4256F77, - 0xADB58FDD50C845E0, - 0x5219FF11A75BED86, - 0x356B61CFD90B1DE9, - 0xFB8F406E25ABE037, - 0x7A5A0231C0F60796, - 0x9D3CD216E1F5020B, - 0x0C6550FB6B48D8F3, - 0xF57508C427FF1C62, - 0x4AD35FFA71CB407D, - 0x6290A2DA1666AA6D, - 0xE284EC2349355F9F, - 0xB3C307C53D7C84EC, - 0x05E23C0468365A02, - 0x190BAC4D6C9EBFA8, - 0x94BBBEE9E28B80FA, - 0xA34FC777529CB9B5, - 0xCC7B39F095BCD978, - 0x2426ADDB0CE532E3, - 0x7E79329312CE4FC7, - 0xAB09A72EEBEC2917, - 0xF8D15499F6B9D6C2, - 0x1A55B8BABF8C895D, - 0xDB8ADD17FB769A85, - 0xB57F2F368658E81B, - 0x8ACD36F18F3F41F6, - 0x5CE3B7BBA50F11D3, - 0x114DCC14D5EE2F0A, - 0xB91A7FCDED1030E8, - 0x81D5425FE55DE7A1, - 0xB6213BC1554ADEEE, - 0x80144EF95F53F5F2, - 0x1E7688186DB4C10C, - 0x3B912965DB5FE1BC, - 0xC281715A97E8252D, - 0x54A5D7E21C7F8171, - 0x4B12535CCBC5522E, - 0x1D289CEFBEA6F7F9, - 0x6EF5F2217D2E729E, - 0xE6A7DC819B0D17CE, - 0x1B94B41C05829B0E, - 0x33D7493C622F711E, - 0xDCF7F942FA5CE421, - 0x600FBA8B7F7A8ECB, - 0x46B60F011A83988E, - 0x235B898E0DCF4C47, - 0x957AB24F588592A9, - 0x4354330572B5C28C, - 0xA5F3EF84E9B8D542, - 0x8C711E02341B2D01, - 0x0B1874AE6A62A657, - 0x1213D8E306FC19FF, - 0xFE6D7C6A4D9DBA35, - 0x65ED868F174CD4C9, - 0x88522EA0E6236550, - 0x899322065C2D7703, - 0xC01E690BFEF4018B, - 0x915982ED8ABDDAF8, - 0xBE675B98EC3A4E4C, - 0xA996BF7F82F00DB1, - 0xE1DAF8D49A27696A, - 0x2EFFD5D3DC8986E7, - 0xD153A51F2B1A2E81, - 0x18CAA0EBD690ADFB, - 0x390E3134B243C51A, - 0x2778B92CDFF70416, - 0x029F1851691C24A6, - 0x5E7CAFEACC133575, - 0xFA4E4CC89FA5F264, - 0x5A5F9F481E2B7D24, - 0x484C47AB18D764DB, - 0x400A27F2A1A7F479, - 0xAEEB9B2A83DA7315, - 0x721C626879869734, - 0x042330A2D2384851, - 0x85F672FD3765AFF0, - 0xBA446B3A3E02061D, - 0x73DD6ECEC3888567, - 0xFFAC70CCF793A866, - 0xDFA9EDB5294ED2D4, - 0x6C6AEA7014325638, - 0x834A5A0E8C41C307, - 0xCDBA35562FB2CB2B, - 0x0AD97808D06CB404, - 0x0F3B440CB85AEE06, - 0xE5F9C876481F213B, - 0x98DEEE1289C35809, - 0x59018BBFCD394BD1, - 0xE01BF47220297B39, - 0xDE68E1139340C087, - 0x9FA3CA4788E926AD, - 0xBB85679C840C144E, - 0x53D8F3B71D55FFD5, - 0x0DA45C5DD146CAA0, - 0x6F34FE87C72060CD, - 0x57FBC315CF6DB784, - 0xCEE421A1FCA0FDDE, - 0x3D2D0196607B8D4B, - 0x642C8A29AD42C69A, - 0x14AFF010BDD87508, - 0xAC74837BEAC657B3, - 0x3216459AD821634D, - 0x3FB219C70967A9ED, - 0x06BC28F3BB246CF7, - 0xF2082C9126D562C6, - 0x66B39278C45EE23C, - 0xBD394F6F3F2878B9, - 0xFD33689D9E8F8CC0, - 0x37F4799EB017394F, - 0x108CC0B26FE03D59, - 0xDA4BD1B1417888D6, - 0xB09D1332EE6EB219, - 0x2F3ED975668794B4, - 0x58C0871977375982, - 0x7561463D78ACE990, - 0x09876CFF037E82F1, - 0x7FB83E35A8C05D94, - 0x26B9B58A65F91645, - 0xEF20B07E9873953F, - 0x3148516D0B3355B8, - 0x41CB2B541BA9E62A, - 0x790416C613E43163, - 0xA011D380818E8F40, - 0x3A5025C36151F3EF, - 0xD57095BDF92266D0, - 0x498D4B0DA2D97688, - 0x8B0C3A57353153A5, - 0x21C491DF64D368E1, - 0x8F2F0AF5E7091BF4, - 0x2DA1C1240F9BB012, - 0xC43D59A92CCC49DA, - 0xBFA6573E56345C1F, - 0x828B56A8364FD154, - 0x9A41F643E0DF7CAF, - 0xBCF843C985266AEA, - 0x2B1DE9D7B4BFDCE5, - 0x20059D79DEDD7AB2, - 0x6DABE6D6AE3C446B, - 0x45E81BF6C991AE7B, - 0x6351AE7CAC68B83E, - 0xA432E32253B6C711, - 0xD092A9B991143CD2, - 0xCAC711032E98B58F, - 0xD8D4C9E02864AC70, - 0xC5FC550F96C25B89, - 0xD7EF8DEC903E4276, - 0x67729EDE7E50F06F, - 0xEAC28C7AF045CF3D, - 0xB15C1F945460A04A, - 0x9CFDDEB05BFB1058, - 0x93C69ABCE3A1FE5E, - 0xEB0380DC4A4BDD6E, - 0xD20DB1E8F8081874, - 0x229A8528B7C15E14, - 0x44291750739FBC28, - 0xD3CCBD4E42060A27, - 0xF62B1C33F4ED2A97, - 0x86A8660AE4779905, - 0xD62E814A2A305025, - 0x477703A7A08D8ADD, - 0x7B9B0E977AF815C5, - 0x78C51A60A9EA2330, - 0xA6ADFB733AAAE3B7, - 0x97E5AA1E3199B60F, - 0x0000000000000000, - 0xF4B404629DF10E31, - 0x5564DB44A6719322, - 0x9207961A59AFEC0D, - 0x9624A6B88B97A45C, - 0x363575380A192B1C, - 0x2C60CD82B595A241, - 0x7D272664C1DC7932, - 0x7142769FAA94A1C1, - 0xA1D0DF263B809D13, - 0x1630E841D4C451AE, - 0xC1DF65AD44FA13D8, - 0x13D2D445BCF20BAC, - 0xD915C546926ABE23, - 0x38CF3D92084DD749, - 0xE766D0272103059D, - 0xC7634D5EFFDE7F2F, - 0x077D2455012A7EA4, - 0xEDBFA82FF16FB199, - 0xAF2A978C39D46146, - 0x42953FA3C8BBD0DF, - 0xCB061DA59496A7DC, - 0x25E7A17DB6EB20B0, - 0x34AA6D6963050FBA, - 0xA76CF7D580A4F1E4, - 0xF7EA10954EE338C4, - 0xFCF2643B24819E93, - 0xCF252D0746AEEF8D, - 0x4EF06F58A3F3082C, - 0x563ACFB37563A5D7, - 0x5086E740CE47C920, - 0x2982F186DDA3F843, - 0x87696AAC5E798B56, - 0x5D22BB1D1F010380, - 0x035E14F7D31236F5, - 0x3CEC0D30DA759F18, - 0xF3C920379CDB7095, - 0xB8DB736B571E22BB, - 0xDD36F5E44052F672, - 0xAAC8AB8851E23B44, - 0xA857B3D938FE1FE2, - 0x17F1E4E76ECA43FD, - 0xEC7EA4894B61A3CA, - 0x9E62C6E132E734FE, - 0xD4B1991B432C7483, - 0x6AD6C283AF163ACF, - 0x1CE9904904A8E5AA, - 0x5FBDA34C761D2726, - 0xF910583F4CB7C491, - 0xC6A241F845D06D7C, - 0x4F3163FE19FD1A7F, - 0xE99C988D2357F9C8, - 0x8EEE06535D0709A7, - 0x0EFA48AA0254FC55, - 0xB4BE23903C56FA48, - 0x763F52CAABBEDF65, - 0xEEE1BCD8227D876C, - 0xE345E085F33B4DCC, - 0x3E731561B369BBBE, - 0x2843FD2067ADEA10, - 0x2ADCE5710EB1CEB6, - 0xB7E03767EF44CCBD, - 0x8DB012A48E153F52, - 0x61CEB62DC5749C98, - 0xE85D942B9959EB9B, - 0x4C6F7709CAEF2C8A, - 0x84377E5B8D6BBDA3, - 0x30895DCBB13D47EB, - 0x74A04A9BC2A2FBC3, - 0x6B17CE251518289C, - 0xE438C4D0F2113368, - 0x1FB784BED7BAD35F, - 0x9B80FAE55AD16EFC, - 0x77FE5E6C11B0CD36, - 0xC858095247849129, - 0x08466059B97090A2, - 0x01C10CA6BA0E1253, - 0x6988D6747C040C3A, - 0x6849DAD2C60A1E69, - 0x5147EBE67449DB73, - 0xC99905F4FD8A837A, - 0x991FE2B433CD4A5A, - 0xF09734C04FC94660, - 0xA28ECBD1E892ABE6, - 0xF1563866F5C75433, - 0x4DAE7BAF70E13ED9, - 0x7CE62AC27BD26B61, - 0x70837A39109AB392, - 0x90988E4B30B3C8AB, - 0xB2020B63877296BF, - 0x156EFCB607D6675B, - ], - [ - 0xE63F55CE97C331D0, - 0x25B506B0015BBA16, - 0xC8706E29E6AD9BA8, - 0x5B43D3775D521F6A, - 0x0BFA3D577035106E, - 0xAB95FC172AFB0E66, - 0xF64B63979E7A3276, - 0xF58B4562649DAD4B, - 0x48F7C3DBAE0C83F1, - 0xFF31916642F5C8C5, - 0xCBB048DC1C4A0495, - 0x66B8F83CDF622989, - 0x35C130E908E2B9B0, - 0x7C761A61F0B34FA1, - 0x3601161CF205268D, - 0x9E54CCFE2219B7D6, - 0x8B7D90A538940837, - 0x9CD403588EA35D0B, - 0xBC3C6FEA9CCC5B5A, - 0xE5FF733B6D24AEED, - 0xCEED22DE0F7EB8D2, - 0xEC8581CAB1AB545E, - 0xB96105E88FF8E71D, - 0x8CA03501871A5EAD, - 0x76CCCE65D6DB2A2F, - 0x5883F582A7B58057, - 0x3F7BE4ED2E8ADC3E, - 0x0FE7BE06355CD9C9, - 0xEE054E6C1D11BE83, - 0x1074365909B903A6, - 0x5DDE9F80B4813C10, - 0x4A770C7D02B6692C, - 0x5379C8D5D7809039, - 0xB4067448161ED409, - 0x5F5E5026183BD6CD, - 0xE898029BF4C29DF9, - 0x7FB63C940A54D09C, - 0xC5171F897F4BA8BC, - 0xA6F28DB7B31D3D72, - 0x2E4F3BE7716EAA78, - 0x0D6771A099E63314, - 0x82076254E41BF284, - 0x2F0FD2B42733DF98, - 0x5C9E76D3E2DC49F0, - 0x7AEB569619606CDB, - 0x83478B07B2468764, - 0xCFADCB8D5923CD32, - 0x85DAC7F05B95A41E, - 0xB5469D1B4043A1E9, - 0xB821ECBBD9A592FD, - 0x1B8E0B0E798C13C8, - 0x62A57B6D9A0BE02E, - 0xFCF1B793B81257F8, - 0x9D94EA0BD8FE28EB, - 0x4CEA408AEB654A56, - 0x23284A47E888996C, - 0x2D8F1D128B893545, - 0xF4CBAC3132C0D8AB, - 0xBD7C86B9CA912EBA, - 0x3A268EEF3DBE6079, - 0xF0D62F6077A9110C, - 0x2735C916ADE150CB, - 0x89FD5F03942EE2EA, - 0x1ACEE25D2FD16628, - 0x90F39BAB41181BFF, - 0x430DFE8CDE39939F, - 0xF70B8AC4C8274796, - 0x1C53AEAAC6024552, - 0x13B410ACF35E9C9B, - 0xA532AB4249FAA24F, - 0x2B1251E5625A163F, - 0xD7E3E676DA4841C7, - 0xA7B264E4E5404892, - 0xDA8497D643AE72D3, - 0x861AE105A1723B23, - 0x38A6414991048AA4, - 0x6578DEC92585B6B4, - 0x0280CFA6ACBAEADD, - 0x88BDB650C273970A, - 0x9333BD5EBBFF84C2, - 0x4E6A8F2C47DFA08B, - 0x321C954DB76CEF2A, - 0x418D312A72837942, - 0xB29B38BFFFCDF773, - 0x6C022C38F90A4C07, - 0x5A033A240B0F6A8A, - 0x1F93885F3CE5DA6F, - 0xC38A537E96988BC6, - 0x39E6A81AC759FF44, - 0x29929E43CEE0FCE2, - 0x40CDD87924DE0CA2, - 0xE9D8EBC8A29FE819, - 0x0C2798F3CFBB46F4, - 0x55E484223E53B343, - 0x4650948ECD0D2FD8, - 0x20E86CB2126F0651, - 0x6D42C56BAF5739E7, - 0xA06FC1405ACE1E08, - 0x7BABBFC54F3D193B, - 0x424D17DF8864E67F, - 0xD8045870EF14980E, - 0xC6D7397C85AC3781, - 0x21A885E1443273B1, - 0x67F8116F893F5C69, - 0x24F5EFE35706CFF6, - 0xD56329D076F2AB1A, - 0x5E1EB9754E66A32D, - 0x28D2771098BD8902, - 0x8F6013F47DFDC190, - 0x17A993FDB637553C, - 0xE0A219397E1012AA, - 0x786B9930B5DA8606, - 0x6E82E39E55B0A6DA, - 0x875A0856F72F4EC3, - 0x3741FF4FA458536D, - 0xAC4859B3957558FC, - 0x7EF6D5C75C09A57C, - 0xC04A758B6C7F14FB, - 0xF9ACDD91AB26EBBF, - 0x7391A467C5EF9668, - 0x335C7C1EE1319ACA, - 0xA91533B18641E4BB, - 0xE4BF9A683B79DB0D, - 0x8E20FAA72BA0B470, - 0x51F907737B3A7AE4, - 0x2268A314BED5EC8C, - 0xD944B123B949EDEE, - 0x31DCB3B84D8B7017, - 0xD3FE65279F218860, - 0x097AF2F1DC8FFAB3, - 0x9B09A6FC312D0B91, - 0xCC6DED78A3C4520F, - 0x3481D9BA5EBFCC50, - 0x4F2A667F1182D56B, - 0xDFD9FDD4509ACE94, - 0x26752045FBBC252B, - 0xBFFC491F662BC467, - 0xDD593272FC202449, - 0x3CBBC218D46D4303, - 0x91B372F817456E1F, - 0x681FAF69BC6385A0, - 0xB686BBEEBAA43ED4, - 0x1469B5084CD0CA01, - 0x98C98009CBCA94AC, - 0x6438379A73D8C354, - 0xC2CABA2DC0C5FE26, - 0x3E3B0DBE78D7A9DE, - 0x50B9EE202D670F04, - 0x4590B27B37EAB0E5, - 0x6025B4CB36B10AF3, - 0xFB2C1237079C0162, - 0xA12F28130C936BE8, - 0x4B37E52E54EB1CCC, - 0x083A1BA28AD28F53, - 0xC10A9CD83A22611B, - 0x9F1425AD7444C236, - 0x069D4CF7E9D3237A, - 0xEDC56899E7F621BE, - 0x778C273680865FCF, - 0x309C5AEB1BD605F7, - 0x8DE0DC52D1472B4D, - 0xF8EC34C2FD7B9E5F, - 0xEA18CD3D58787724, - 0xAAD515447CA67B86, - 0x9989695A9D97E14C, - 0x0000000000000000, - 0xF196C63321F464EC, - 0x71116BC169557CB5, - 0xAF887F466F92C7C1, - 0x972E3E0FFE964D65, - 0x190EC4A8D536F915, - 0x95AEF1A9522CA7B8, - 0xDC19DB21AA7D51A9, - 0x94EE18FA0471D258, - 0x8087ADF248A11859, - 0xC457F6DA2916DD5C, - 0xFA6CFB6451C17482, - 0xF256E0C6DB13FBD1, - 0x6A9F60CF10D96F7D, - 0x4DAAA9D9BD383FB6, - 0x03C026F5FAE79F3D, - 0xDE99148706C7BB74, - 0x2A52B8B6340763DF, - 0x6FC20ACD03EDD33A, - 0xD423C08320AFDEFA, - 0xBBE1CA4E23420DC0, - 0x966ED75CA8CB3885, - 0xEB58246E0E2502C4, - 0x055D6A021334BC47, - 0xA47242111FA7D7AF, - 0xE3623FCC84F78D97, - 0x81C744A11EFC6DB9, - 0xAEC8961539CFB221, - 0xF31609958D4E8E31, - 0x63E5923ECC5695CE, - 0x47107DDD9B505A38, - 0xA3AFE7B5A0298135, - 0x792B7063E387F3E6, - 0x0140E953565D75E0, - 0x12F4F9FFA503E97B, - 0x750CE8902C3CB512, - 0xDBC47E8515F30733, - 0x1ED3610C6AB8AF8F, - 0x5239218681DDE5D9, - 0xE222D69FD2AAF877, - 0xFE71783514A8BD25, - 0xCAF0A18F4A177175, - 0x61655D9860EC7F13, - 0xE77FBC9DC19E4430, - 0x2CCFF441DDD440A5, - 0x16E97AAEE06A20DC, - 0xA855DAE2D01C915B, - 0x1D1347F9905F30B2, - 0xB7C652BDECF94B34, - 0xD03E43D265C6175D, - 0xFDB15EC0EE4F2218, - 0x57644B8492E9599E, - 0x07DDA5A4BF8E569A, - 0x54A46D71680EC6A3, - 0x5624A2D7C4B42C7E, - 0xBEBCA04C3076B187, - 0x7D36F332A6EE3A41, - 0x3B6667BC6BE31599, - 0x695F463AEA3EF040, - 0xAD08B0E0C3282D1C, - 0xB15B1E4A052A684E, - 0x44D05B2861B7C505, - 0x15295C5B1A8DBFE1, - 0x744C01C37A61C0F2, - 0x59C31CD1F1E8F5B7, - 0xEF45A73F4B4CCB63, - 0x6BDF899C46841A9D, - 0x3DFB2B4B823036E3, - 0xA2EF0EE6F674F4D5, - 0x184E2DFB836B8CF5, - 0x1134DF0A5FE47646, - 0xBAA1231D751F7820, - 0xD17EAA81339B62BD, - 0xB01BF71953771DAE, - 0x849A2EA30DC8D1FE, - 0x705182923F080955, - 0x0EA757556301AC29, - 0x041D83514569C9A7, - 0x0ABAD4042668658E, - 0x49B72A88F851F611, - 0x8A3D79F66EC97DD7, - 0xCD2D042BF59927EF, - 0xC930877AB0F0EE48, - 0x9273540DEDA2F122, - 0xC797D02FD3F14261, - 0xE1E2F06A284D674A, - 0xD2BE8C74C97CFD80, - 0x9A494FAF67707E71, - 0xB3DBD1ECA9908293, - 0x72D14D3493B2E388, - 0xD6A30F258C153427, - ], -]; - -#[cfg(test)] -mod test { - use super::SHUFFLED_LIN_TABLE; - use crate::consts::{A, P}; - - #[allow(clippy::needless_range_loop)] - fn gen_table() -> [[u64; 256]; 8] { - let mut table: [[u64; 256]; 8] = [[0; 256]; 8]; - for i in 0..8 { - for j in 0..256 { - let mut accum = 0u64; - for k in 0..8 { - if P[j] & (1 << k) != 0 { - accum ^= A[8 * i + k]; - } - } - table[i][j] = accum; - } - } - table - } - - #[test] - fn test_table() { - let table = gen_table(); - for i in 0..8 { - for j in 0..256 { - assert_eq!(SHUFFLED_LIN_TABLE[i][j], table[i][j]); - } - } - } -} From d5eefb0bb38c4d1c15c765895b25297fd9893cba Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jan 2024 03:24:14 +0300 Subject: [PATCH 320/373] Remove dependency on crates from asm-hashes (#542) --- .github/workflows/md5.yml | 17 ++---------- .github/workflows/sha1.yml | 28 +++---------------- .github/workflows/sha2.yml | 26 ++++------------- .github/workflows/whirlpool.yml | 14 ++-------- .github/workflows/workspace.yml | 2 +- Cargo.lock | 49 --------------------------------- README.md | 7 +++-- md5/CHANGELOG.md | 6 ++++ md5/Cargo.toml | 11 ++------ md5/README.md | 4 +-- md5/src/compress.rs | 4 +-- sha1/CHANGELOG.md | 6 ++++ sha1/Cargo.toml | 10 ++----- sha1/README.md | 4 +-- sha1/src/compress.rs | 8 +----- sha1/src/lib.rs | 3 -- sha2/CHANGELOG.md | 6 ++++ sha2/Cargo.toml | 9 ++---- sha2/README.md | 4 +-- sha2/src/lib.rs | 2 -- sha2/src/sha256.rs | 7 +---- sha2/src/sha512.rs | 9 +----- whirlpool/CHANGELOG.md | 6 ++++ whirlpool/Cargo.toml | 4 --- whirlpool/src/compress.rs | 4 +-- whirlpool/src/lib.rs | 13 ++++----- 26 files changed, 65 insertions(+), 198 deletions(-) diff --git a/.github/workflows/md5.yml b/.github/workflows/md5.yml index fec0dcf71..c9bbf010b 100644 --- a/.github/workflows/md5.yml +++ b/.github/workflows/md5.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.71.0 + msrv: 1.72.0 build: needs: set-msrv @@ -37,6 +37,7 @@ jobs: target: - thumbv7em-none-eabi - wasm32-unknown-unknown + - loongarch64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master @@ -45,7 +46,7 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: needs: set-msrv @@ -64,18 +65,6 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack test --feature-powerset - # Build-only test of the LoongArch64 assembly backend - loongarch64_asm: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.72 - targets: loongarch64-unknown-linux-gnu - - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm - minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index e1c18388a..4c7b03944 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.71.0 + msrv: 1.72.0 # Builds for no_std platforms build: @@ -35,6 +35,7 @@ jobs: target: - thumbv7em-none-eabi - wasm32-unknown-unknown + - loongarch64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master @@ -43,7 +44,7 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master @@ -57,8 +58,6 @@ jobs: matrix: include: # 32-bit Linux/x86 - # *** NOTE: Currently broken with `asm` feature enabled! See: - # https://github.com/RustCrypto/hashes/issues/251 #- target: i686-unknown-linux-gnu # rust: ${{needs.set-msrv.outputs.msrv}} # deps: sudo apt update && sudo apt install gcc-multilib @@ -103,7 +102,6 @@ jobs: targets: x86_64-apple-darwin - run: cargo test --no-default-features - run: cargo test - - run: cargo test --features asm - run: cargo test --all-features # Windows tests @@ -129,36 +127,18 @@ jobs: - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} - # Build-only test of the LoongArch64 assembly backend - loongarch64_asm: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.72 - targets: loongarch64-unknown-linux-gnu - - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm - # Cross-compiled tests cross: strategy: matrix: rust: - - 1.71.0 + - 1.72.0 - stable target: - aarch64-unknown-linux-gnu - powerpc-unknown-linux-gnu features: - default - # **** NOTE: Currently broken with `asm` feature enabled! See: - # https://github.com/RustCrypto/hashes/issues/251 - # include: - # - rust: stable - # target: aarch64-unknown-linux-gnu - # features: asm runs-on: ubuntu-latest defaults: diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 577a88662..a371f052b 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -21,7 +21,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.71.0 + msrv: 1.72.0 # Builds for no_std platforms build: @@ -30,11 +30,12 @@ jobs: strategy: matrix: rust: - - 1.71.0 + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi - wasm32-unknown-unknown + - loongarch64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master @@ -43,7 +44,7 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm-aarch64,asm + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std # Linux tests linux: @@ -74,7 +75,7 @@ jobs: targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - run: ${{ matrix.deps }} - - run: cargo hack test --feature-powerset --exclude-features asm-aarch64 + - run: cargo hack test --feature-powerset # macOS tests macos: @@ -95,7 +96,6 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo test --no-default-features - run: cargo test - - run: cargo test --features asm - run: cargo test --all-features # Windows tests @@ -119,18 +119,6 @@ jobs: - uses: msys2/setup-msys2@v2 - run: cargo test --target ${{ matrix.target }} - # Build-only test of the LoongArch64 assembly backend - loongarch64_asm: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: 1.72 - targets: loongarch64-unknown-linux-gnu - - run: cargo build --target loongarch64-unknown-linux-gnu --features loongarch64_asm - # Cross-compiled tests cross: needs: set-msrv @@ -144,10 +132,6 @@ jobs: - powerpc-unknown-linux-gnu features: - default - include: - - rust: stable - target: aarch64-unknown-linux-gnu - features: asm runs-on: ubuntu-latest defaults: run: diff --git a/.github/workflows/whirlpool.yml b/.github/workflows/whirlpool.yml index 5e360c6ba..c978713f0 100644 --- a/.github/workflows/whirlpool.yml +++ b/.github/workflows/whirlpool.yml @@ -42,7 +42,7 @@ jobs: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std,asm + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std test: needs: set-msrv @@ -59,19 +59,9 @@ jobs: with: toolchain: ${{ matrix.rust }} - uses: RustCrypto/actions/cargo-hack-install@master - - run: cargo hack test --feature-powerset --exclude-features asm + - run: cargo hack test --feature-powerset minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} - - test-asm: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: RustCrypto/actions/cargo-cache@master - - uses: dtolnay/rust-toolchain@master - with: - toolchain: stable # cc has a relaxed MSRV policy - - run: cargo test --features asm diff --git a/.github/workflows/workspace.yml b/.github/workflows/workspace.yml index 426085dd6..f8abe5084 100644 --- a/.github/workflows/workspace.yml +++ b/.github/workflows/workspace.yml @@ -17,7 +17,7 @@ jobs: - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.71.0 + toolchain: 1.75.0 components: clippy - run: cargo clippy --all -- -D warnings diff --git a/Cargo.lock b/Cargo.lock index 3015212ed..95fccdc0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -60,15 +60,6 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] - [[package]] name = "cfg-if" version = "1.0.0" @@ -211,7 +202,6 @@ dependencies = [ "cfg-if", "digest", "hex-literal", - "md5-asm", ] [[package]] @@ -230,15 +220,6 @@ dependencies = [ "hex-literal", ] -[[package]] -name = "md5-asm" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c" -dependencies = [ - "cc", -] - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -270,16 +251,6 @@ dependencies = [ "cpufeatures", "digest", "hex-literal", - "sha1-asm", -] - -[[package]] -name = "sha1-asm" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ba6947745e7f86be3b8af00b7355857085dbdf8901393c89514510eb61f4e21" -dependencies = [ - "cc", ] [[package]] @@ -290,16 +261,6 @@ dependencies = [ "cpufeatures", "digest", "hex-literal", - "sha2-asm", -] - -[[package]] -name = "sha2-asm" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27ba7066011e3fb30d808b51affff34f0a66d3a03a58edd787c6e420e40e44e" -dependencies = [ - "cc", ] [[package]] @@ -389,16 +350,6 @@ version = "0.11.0-pre" dependencies = [ "digest", "hex-literal", - "whirlpool-asm", -] - -[[package]] -name = "whirlpool-asm" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62fbc33555bb368a2758340583b26fc67822da6b1b829fd9a48cca1bad2e29fe" -dependencies = [ - "cc", ] [[package]] diff --git a/README.md b/README.md index 13298916e..48ac4541d 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | | [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | -| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | +| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.72][msrv-1.72] | :broken_heart: | | [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.71][msrv-1.71] | :green_heart: | -| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.71][msrv-1.71] | :broken_heart: | -| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.72][msrv-1.72] | :broken_heart: | +| [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.72][msrv-1.72] | :green_heart: | | [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.71][msrv-1.71] | :green_heart: | @@ -234,6 +234,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-image]: https://deps.rs/repo/github/RustCrypto/hashes/status.svg [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes [msrv-1.71]: https://img.shields.io/badge/rustc-1.71.0+-blue.svg +[msrv-1.72]: https://img.shields.io/badge/rustc-1.72.0+-blue.svg [//]: # (crates) diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 65c30dd8f..c263d4c16 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## UNRELEASED +### Removed +- `asm` and `loongarch64_asm` crate features [#542] + +[#542]: https://github.com/RustCrypto/hashes/pull/542 + ## 0.10.6 (2023-09-22) ### Added - `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#505] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 01039479c..908f6b3d8 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/md-5" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "md5", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.71" +rust-version = "1.72" [lib] name = "md5" @@ -19,9 +19,6 @@ name = "md5" digest = "=0.11.0-pre.4" cfg-if = "1" -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -md5-asm = { version = "0.5", optional = true } - [dev-dependencies] digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" @@ -29,9 +26,5 @@ hex-literal = "0.4" [features] default = ["oid", "std"] std = ["digest/std"] -asm = ["md5-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates -# Use assembly backend for LoongArch64 targets -# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates -loongarch64_asm = [] -oid = ["digest/oid"] # Enable OID support. +oid = ["digest/oid"] # Enable OID support force-soft = [] # Force software implementation diff --git a/md5/README.md b/md5/README.md index 6186ac728..1501dd173 100644 --- a/md5/README.md +++ b/md5/README.md @@ -39,7 +39,7 @@ Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version -Rust **1.71** or higher. +Rust **1.72** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -71,7 +71,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/md-5/badge.svg [docs-link]: https://docs.rs/md-5/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/md5/badge.svg?branch=master diff --git a/md5/src/compress.rs b/md5/src/compress.rs index c0bcd816a..9c8560932 100644 --- a/md5/src/compress.rs +++ b/md5/src/compress.rs @@ -2,9 +2,7 @@ cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { mod soft; pub use soft::compress; - } else if #[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] { - pub use md5_asm::compress; - } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + } else if #[cfg(target_arch = "loongarch64")] { mod loongarch64_asm; pub use loongarch64_asm::compress; } else { diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 429e67727..e91b2c89c 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## UNRELEASED +### Removed +- `asm`, `loongarch64_asm`, and `compress` crate features [#542] + +[#542]: https://github.com/RustCrypto/hashes/pull/542 + ## 0.10.6 (2023-09-21) ### Added - `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#504] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 81e58fdba..1c6c696e8 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/sha1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.71" +rust-version = "1.72" [dependencies] digest = "=0.11.0-pre.4" @@ -18,7 +18,6 @@ cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" -sha1-asm = { version = "0.5", optional = true } [dev-dependencies] digest = { version = "=0.11.0-pre.4", features = ["dev"] } @@ -27,12 +26,7 @@ hex-literal = "0.4" [features] default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. -asm = ["sha1-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates -# Use assembly backend for LoongArch64 targets -# WARNING: Bumps MSRV to 1.72. This feature SHOULD NOT be enabled by library crates -loongarch64_asm = [] -compress = [] # Expose compress function +oid = ["digest/oid"] # Enable OID support force-soft = [] # Force software implementation [package.metadata.docs.rs] diff --git a/sha1/README.md b/sha1/README.md index 019d23351..785a31ecf 100644 --- a/sha1/README.md +++ b/sha1/README.md @@ -46,7 +46,7 @@ Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version -Rust **1.71** or higher. +Rust **1.72** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -78,7 +78,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha1/badge.svg [docs-link]: https://docs.rs/sha1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha1/badge.svg?branch=master diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index aa5873519..af9374664 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -8,16 +8,11 @@ cfg_if::cfg_if! { mod soft; mod aarch64; use aarch64::compress as compress_inner; - } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + } else if #[cfg(target_arch = "loongarch64")] { mod loongarch64_asm; use loongarch64_asm::compress as compress_inner; } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { - #[cfg(not(feature = "asm"))] mod soft; - #[cfg(feature = "asm")] - mod soft { - pub use sha1_asm::compress; - } mod x86; use x86::compress as compress_inner; } else { @@ -27,7 +22,6 @@ cfg_if::cfg_if! { } /// SHA-1 compression function -#[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress(state: &mut [u32; 5], blocks: &[[u8; BLOCK_SIZE]]) { compress_inner(state, blocks); } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 8eff0ef03..6cf035fc4 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -25,10 +25,7 @@ use digest::{ mod compress; -#[cfg(feature = "compress")] pub use compress::compress; -#[cfg(not(feature = "compress"))] -use compress::compress; const STATE_LEN: usize = 5; const BLOCK_SIZE: usize = ::BlockSize::USIZE; diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index a5182bcad..d467c24dd 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## UNRELEASED +### Removed +- `asm`, `asm-aarch64`, `loongarch64_asm`, and `compress` crate features [#542] + +[#542]: https://github.com/RustCrypto/hashes/pull/542 + ## 0.10.8 (2023-09-26) ### Added - `asm!`-based backend for LoongArch64 targets gated behind `loongarch64_asm` feature [#507] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index a7cab8214..b37fcce72 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -13,7 +13,7 @@ documentation = "https://docs.rs/sha2" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.71" +rust-version = "1.72" [dependencies] digest = "=0.11.0-pre.4" @@ -21,7 +21,6 @@ cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" -sha2-asm = { version = "0.6.1", optional = true } [dev-dependencies] digest = { version = "=0.11.0-pre.4", features = ["dev"] } @@ -30,12 +29,8 @@ hex-literal = "0.4" [features] default = ["oid", "std"] std = ["digest/std"] -oid = ["digest/oid"] # Enable OID support. -asm = ["sha2-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates -loongarch64_asm = [] # WARNING: this feature SHOULD NOT be enabled by library crates -compress = [] # Expose compress functions +oid = ["digest/oid"] # Enable OID support force-soft = [] # Force software implementation -asm-aarch64 = ["asm"] # DEPRECATED: use `asm` instead [package.metadata.docs.rs] all-features = true diff --git a/sha2/README.md b/sha2/README.md index 518cf1df7..a1635d72d 100644 --- a/sha2/README.md +++ b/sha2/README.md @@ -56,7 +56,7 @@ Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version -Rust **1.71** or higher. +Rust **1.72** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -88,7 +88,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sha2/badge.svg [docs-link]: https://docs.rs/sha2/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/sha2/badge.svg?branch=master diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index c2d4936d1..973851e5d 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -23,9 +23,7 @@ mod core_api; mod sha256; mod sha512; -#[cfg(feature = "compress")] pub use sha256::compress256; -#[cfg(feature = "compress")] pub use sha512::compress512; pub use core_api::{Sha256VarCore, Sha512VarCore}; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 44c02acfc..ed869a16b 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -3,19 +3,14 @@ cfg_if::cfg_if! { mod soft; use soft::compress; } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { - #[cfg(not(feature = "asm"))] mod soft; - #[cfg(feature = "asm")] - mod soft { - pub(crate) use sha2_asm::compress256 as compress; - } mod x86; use x86::compress; } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { mod soft; mod aarch64; use aarch64::compress; - } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + } else if #[cfg(target_arch = "loongarch64")] { mod loongarch64_asm; use loongarch64_asm::compress; } else { diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 59f9cac0c..04f5079b5 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -3,21 +3,14 @@ cfg_if::cfg_if! { mod soft; use soft::compress; } else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { - #[cfg(not(feature = "asm"))] mod soft; - #[cfg(feature = "asm")] - mod soft { - pub(crate) fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { - sha2_asm::compress512(state, blocks); - } - } mod x86; use x86::compress; } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { mod soft; mod aarch64; use aarch64::compress; - } else if #[cfg(all(feature = "loongarch64_asm", target_arch = "loongarch64"))] { + } else if #[cfg(target_arch = "loongarch64")] { mod loongarch64_asm; use loongarch64_asm::compress; } else { diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index b31686bbf..7fbd0606d 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## UNRELEASED +### Removed +- `asm` crate feature [#542] + +[#542]: https://github.com/RustCrypto/hashes/pull/542 + ## 0.10.4 (2022-09-02) ### Fixed - MSRV issue which was not resolved by v0.10.3 ([#401]) diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index f94bd907d..cda5a06b9 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -15,9 +15,6 @@ rust-version = "1.71" [dependencies] digest = "=0.11.0-pre.4" -[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies] -whirlpool-asm = { version = "0.6", optional = true} - [dev-dependencies] digest = { version = "=0.11.0-pre.4", features = ["dev"] } hex-literal = "0.4" @@ -25,4 +22,3 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] -asm = ["whirlpool-asm"] # WARNING: this feature SHOULD NOT be enabled by library crates diff --git a/whirlpool/src/compress.rs b/whirlpool/src/compress.rs index f52ca62f1..d5b0fa7fc 100644 --- a/whirlpool/src/compress.rs +++ b/whirlpool/src/compress.rs @@ -1,6 +1,4 @@ -#[path = "consts.rs"] -mod consts; -use consts::*; +use crate::consts::*; fn compress_block(state: &mut [u64; 8], b: &[u8; 64]) { let mut k = [0u64; 8]; diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index d29186690..5e249bec8 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -9,14 +9,6 @@ pub use digest::{self, Digest}; -#[cfg(not(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64"))))] -mod compress; - -#[cfg(all(feature = "asm", any(target_arch = "x86", target_arch = "x86_64")))] -use whirlpool_asm as compress; - -use compress::compress; - use core::fmt; use digest::{ array::ArrayOps, @@ -29,6 +21,11 @@ use digest::{ HashMarker, Output, }; +mod compress; +mod consts; + +use compress::compress; + /// Core Whirlpool hasher state. #[derive(Clone)] pub struct WhirlpoolCore { From 559d7ffbdf2b4e95ebd318f26647efd4f3d9cb9a Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jan 2024 15:17:13 +0300 Subject: [PATCH 321/373] Bump digest to v0.11.0-pre.6 (#543) --- Cargo.lock | 6 ++++-- ascon-hash/Cargo.toml | 4 ++-- belt-hash/Cargo.toml | 4 ++-- blake2/Cargo.toml | 4 ++-- fsb/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- gost94/src/params.rs | 1 - groestl/Cargo.toml | 4 ++-- jh/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- md5/src/consts.rs | 2 -- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- skein/Cargo.toml | 4 ++-- sm3/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- tiger/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 24 files changed, 46 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 95fccdc0c..9f84a908f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,6 +58,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0edadbde8e0243b49d434f9a23ec0590af201f400a34d7d51049284e4a77c568" dependencies = [ "crypto-common", + "zeroize", ] [[package]] @@ -94,15 +95,16 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.4" +version = "0.11.0-pre.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b429fb535b92bad18c86f1d7ee7584a175c2810800c7ac5b75b9408b13981979" +checksum = "8f5c2be52eb4dc1e4456d89eaa0df751889c31dd95a69efc57e92e6e3593a1fc" dependencies = [ "blobby", "block-buffer", "const-oid", "crypto-common", "subtle", + "zeroize", ] [[package]] diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 6d952f62c..0492a5856 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -16,7 +16,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.4", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.6", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] @@ -27,7 +27,7 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] -zeroize = ["ascon/zeroize"] # TODO: enable zeroize in the future for block-buffer v0.11 +zeroize = ["ascon/zeroize", "digest/zeroize"] [package.metadata.docs.rs] all-features = true diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 230e30b9b..c3e4d8695 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index aa3aace09..e2912552c 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.4", features = ["mac"] } +digest = { version = "=0.11.0-pre.6", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index a486ddca7..e83ff8508 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" whirlpool = { version = "=0.11.0-pre", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index ecf66089d..8b485485a 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/gost94/src/params.rs b/gost94/src/params.rs index 45379d54a..869004156 100644 --- a/gost94/src/params.rs +++ b/gost94/src/params.rs @@ -5,7 +5,6 @@ pub(crate) type Block = [u8; 32]; pub(crate) type SBox = [[u8; 16]; 8]; /// Trait for storing parameter constants. -// TODO: replace with const generics pub trait Gost94Params { /// S-box value. const S_BOX: SBox; diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 02fd760ab..c8cf72fc4 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/jh/Cargo.toml b/jh/Cargo.toml index e4d6c4adf..5484082ca 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -13,9 +13,9 @@ keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" hex-literal = "0.4" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } diff --git a/k12/Cargo.toml b/k12/Cargo.toml index a8561489e..a09c95a58 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.4", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.6", default-features = false, features = ["core-api"] } sha3 = { version = "=0.11.0-pre.1", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["alloc", "dev"] } +digest = { version = "=0.11.0-pre.6", features = ["alloc", "dev"] } hex-literal = "0.4" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index aa876f340..f3611b0bd 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 2c6fb3180..d4d73d2d5 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 908f6b3d8..c0e943299 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,11 +16,11 @@ rust-version = "1.72" name = "md5" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" cfg-if = "1" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md5/src/consts.rs b/md5/src/consts.rs index 67ce879a7..f26b8c4a4 100644 --- a/md5/src/consts.rs +++ b/md5/src/consts.rs @@ -1,7 +1,5 @@ pub(crate) const STATE_INIT: [u32; 4] = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; -// TODO: remove `allow` on deprecation of `md5-asm` -#[allow(dead_code)] pub(crate) static RC: [u32; 64] = [ // round 1 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 5ba80b83a..7f5377eb8 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 1c6c696e8..edfe709c7 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index b37fcce72..1ab025950 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -16,14 +16,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index a2e895d68..91031b7a3 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -17,12 +17,12 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" keccak = "0.1.4" zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index acab8a177..5b4d46810 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/skein/Cargo.toml b/skein/Cargo.toml index f5ceba79d..e1cb38506 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -13,9 +13,9 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index de85298ee..126b4373b 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index f738d137b..7c81c8b40 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index f82ae74b2..d81f1ceae 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index cda5a06b9..71e7f64e0 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.4" +digest = "=0.11.0-pre.6" [dev-dependencies] -digest = { version = "=0.11.0-pre.4", features = ["dev"] } +digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" [features] From 6243d29ca663040757529b6e50802c4cc2010f8a Mon Sep 17 00:00:00 2001 From: Edward Shen Date: Thu, 11 Jan 2024 06:07:03 -0800 Subject: [PATCH 322/373] blake2: Refuse empty keys in keyed hash construction (#510) --- blake2/src/macros.rs | 11 +++++++---- blake2/tests/mac.rs | 6 ++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index bf92d5039..ad22f5b3d 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -274,9 +274,12 @@ macro_rules! blake2_mac_impl { { /// Create new instance using provided key, salt, and persona. /// - /// Key length should not be bigger than block size, salt and persona - /// length should not be bigger than quarter of block size. If any - /// of those conditions is false the method will return an error. + /// # Errors + /// + /// Key length should not be empty or bigger than the block size and + /// the salt and persona length should not be bigger than quarter of + /// block size. If any of those conditions is false the method will + /// return an error. #[inline] pub fn new_with_salt_and_personal( key: &[u8], @@ -286,7 +289,7 @@ macro_rules! blake2_mac_impl { let kl = key.len(); let bs = <$hash as BlockSizeUser>::BlockSize::USIZE; let qbs = bs / 4; - if kl > bs || salt.len() > qbs || persona.len() > qbs { + if kl == 0 || kl > bs || salt.len() > qbs || persona.len() > qbs { return Err(InvalidLength); } let mut padded_key = Block::<$hash>::default(); diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 439d2898b..757102845 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -27,3 +27,9 @@ fn blake2b_new_test() { run::(&[0x42; 32]); run::(&[0x42; 64]); } + +#[test] +fn mac_refuses_empty_keys() { + assert!(blake2::Blake2bMac512::new_with_salt_and_personal(&[], b"salt", b"persona").is_err()); + assert!(blake2::Blake2sMac256::new_with_salt_and_personal(&[], b"salt", b"persona").is_err()); +} From 05db3aefbbe7056e5c206fcefa4907459c69fdb1 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 11 Jan 2024 23:56:40 +0300 Subject: [PATCH 323/373] Add zeroize support (#545) --- .github/workflows/tiger.yml | 2 +- Cargo.lock | 7 +- Cargo.toml | 3 + README.md | 3 +- ascon-hash/src/lib.rs | 2 +- belt-hash/Cargo.toml | 5 + belt-hash/src/lib.rs | 23 +- blake2/Cargo.toml | 5 + blake2/src/lib.rs | 4 + blake2/src/macros.rs | 35 ++ blake2/src/simd/simdty.rs | 13 + fsb/Cargo.toml | 5 + fsb/src/lib.rs | 4 + fsb/src/macros.rs | 17 +- gost94/Cargo.toml | 5 + gost94/src/gost94_core.rs | 17 + gost94/src/lib.rs | 1 + groestl/Cargo.toml | 5 + groestl/src/lib.rs | 70 ++- jh/Cargo.toml | 7 + jh/src/lib.rs | 38 +- jh/tests/{lib.rs => mod.rs} | 0 k12/Cargo.toml | 5 + k12/src/lib.rs | 34 +- md2/Cargo.toml | 5 + md2/src/lib.rs | 25 +- md4/Cargo.toml | 5 + md4/src/lib.rs | 26 +- md5/Cargo.toml | 5 + md5/src/lib.rs | 25 +- ripemd/Cargo.toml | 5 + ripemd/src/lib.rs | 27 +- sha1/Cargo.toml | 1 + sha1/src/lib.rs | 26 +- sha2/Cargo.toml | 1 + sha2/src/core_api.rs | 28 + sha2/src/lib.rs | 2 +- sha3/Cargo.toml | 9 +- sha3/src/lib.rs | 8 +- sha3/src/macros.rs | 138 ++++- sha3/src/state.rs | 41 +- shabal/Cargo.toml | 5 + shabal/src/core_api.rs | 18 + shabal/src/lib.rs | 1 + skein/Cargo.toml | 9 + skein/src/lib.rs | 23 +- sm3/Cargo.toml | 5 + sm3/src/lib.rs | 21 +- streebog/Cargo.toml | 5 + streebog/src/core_api.rs | 17 + streebog/src/lib.rs | 1 + tiger/Cargo.toml | 7 +- tiger/README.md | 4 +- tiger/src/compress.rs | 18 +- tiger/src/lib.rs | 140 ++--- tiger/src/tables.bin | Bin 0 -> 8192 bytes tiger/src/tables.rs | 1050 +---------------------------------- whirlpool/Cargo.toml | 5 + whirlpool/src/lib.rs | 33 +- 59 files changed, 768 insertions(+), 1281 deletions(-) rename jh/tests/{lib.rs => mod.rs} (100%) create mode 100644 tiger/src/tables.bin diff --git a/.github/workflows/tiger.yml b/.github/workflows/tiger.yml index 43a7334fa..29e70fd98 100644 --- a/.github/workflows/tiger.yml +++ b/.github/workflows/tiger.yml @@ -24,7 +24,7 @@ jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: - msrv: 1.71.0 + msrv: 1.74.0 build: needs: set-msrv diff --git a/Cargo.lock b/Cargo.lock index 9f84a908f..8a841bf2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -96,8 +96,7 @@ dependencies = [ [[package]] name = "digest" version = "0.11.0-pre.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f5c2be52eb4dc1e4456d89eaa0df751889c31dd95a69efc57e92e6e3593a1fc" +source = "git+https://github.com/RustCrypto/traits#b4ec63b0e6b94fad7c311b6b77ae0b59d3c3b18e" dependencies = [ "blobby", "block-buffer", @@ -272,7 +271,6 @@ dependencies = [ "digest", "hex-literal", "keccak", - "zeroize", ] [[package]] @@ -325,6 +323,9 @@ name = "threefish" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a693d0c8cf16973fac5a93fbe47b8c6452e7097d4fcac49f3d7a18e39c76e62e" +dependencies = [ + "zeroize", +] [[package]] name = "tiger" diff --git a/Cargo.toml b/Cargo.toml index 26637761e..322ec35f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,3 +26,6 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +digest = { git = 'https://github.com/RustCrypto/traits' } diff --git a/README.md b/README.md index 48ac4541d..f104f7100 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [Skein] | [`skein`] | [![crates.io](https://img.shields.io/crates/v/skein.svg)](https://crates.io/crates/skein) | [![Documentation](https://docs.rs/skein/badge.svg)](https://docs.rs/skein) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [SM3] (OSCCA GM/T 0004-2012) | [`sm3`] | [![crates.io](https://img.shields.io/crates/v/sm3.svg)](https://crates.io/crates/sm3) | [![Documentation](https://docs.rs/sm3/badge.svg)](https://docs.rs/sm3) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [Streebog] (GOST R 34.11-2012) | [`streebog`] | [![crates.io](https://img.shields.io/crates/v/streebog.svg)](https://crates.io/crates/streebog) | [![Documentation](https://docs.rs/streebog/badge.svg)](https://docs.rs/streebog) | ![MSRV 1.71][msrv-1.71] | :yellow_heart: | -| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.71][msrv-1.71] | :green_heart: | +| [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.74][msrv-1.74] | :green_heart: | | [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.71][msrv-1.71] | :green_heart: | NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. @@ -235,6 +235,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [deps-link]: https://deps.rs/repo/github/RustCrypto/hashes [msrv-1.71]: https://img.shields.io/badge/rustc-1.71.0+-blue.svg [msrv-1.72]: https://img.shields.io/badge/rustc-1.72.0+-blue.svg +[msrv-1.74]: https://img.shields.io/badge/rustc-1.74.0+-blue.svg [//]: # (crates) diff --git a/ascon-hash/src/lib.rs b/ascon-hash/src/lib.rs index 2696f0580..28e88ea4d 100644 --- a/ascon-hash/src/lib.rs +++ b/ascon-hash/src/lib.rs @@ -1,10 +1,10 @@ #![no_std] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![doc = include_str!("../README.md")] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs)] use core::marker::PhantomData; diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index c3e4d8695..dff4e0db5 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -24,3 +24,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/belt-hash/src/lib.rs b/belt-hash/src/lib.rs index a2550bb3f..7207eb11c 100644 --- a/belt-hash/src/lib.rs +++ b/belt-hash/src/lib.rs @@ -1,10 +1,10 @@ #![no_std] #![doc = include_str!("../README.md")] -#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] #![forbid(unsafe_code)] @@ -24,6 +24,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + const U32_MASK: u128 = (1 << 32) - 1; const H0: [u32; 8] = [ 0xC8BA94B1, 0x3BF5080A, 0x8E006D36, 0xE45D4A58, 0x9DFA0485, 0xACC7B61B, 0xC2722E25, 0x0DCEFD02, @@ -37,6 +40,9 @@ pub struct BeltHashCore { h: [u32; 8], } +/// BelT hasher state. +pub type BeltHash = CoreWrapper; + impl BeltHashCore { fn compress_block(&mut self, block: &Block) { let x1 = [ @@ -134,8 +140,19 @@ impl AssociatedOid for BeltHashCore { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.112.0.2.0.34.101.31.81"); } -/// BelT hasher state. -pub type BeltHash = CoreWrapper; +impl Drop for BeltHashCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.r.zeroize(); + self.s.zeroize(); + self.h.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for BeltHashCore {} /// Compression function described in the section 6.3.2 #[inline(always)] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index e2912552c..95d265611 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -22,8 +22,13 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] reset = [] # Enable reset functionality #simd = [] #simd_opt = ["simd"] #simd_asm = ["simd_opt"] size_opt = [] # Optimize for code size. Removes some `inline(always)` + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index d884d1f9f..266c39ec5 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] #![cfg_attr(feature = "simd", allow(incomplete_features))] @@ -30,6 +31,9 @@ use digest::{ #[cfg(feature = "reset")] use digest::{FixedOutputReset, Reset}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod as_bytes; mod consts; diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index ad22f5b3d..b17adb987 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -246,6 +246,18 @@ macro_rules! blake2_impl { f.write_str(concat!(stringify!($name), " { ... }")) } } + + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.t.zeroize(); + } + } + } + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} }; } @@ -429,5 +441,28 @@ macro_rules! blake2_mac_impl { write!(f, "{}{} {{ ... }}", stringify!($name), OutSize::USIZE) } } + + impl Drop for $name + where + OutSize: ArraySize + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + // `self.core` zeroized by its `Drop` impl + self.buffer.zeroize(); + #[cfg(feature = "reset")] + self.key_block.zeroize(); + } + } + } + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name + where + OutSize: ArraySize + IsLessOrEqual<$max_size>, + LeEq: NonZero, + { + } }; } diff --git a/blake2/src/simd/simdty.rs b/blake2/src/simd/simdty.rs index 008b8b48c..3b271bd54 100644 --- a/blake2/src/simd/simdty.rs +++ b/blake2/src/simd/simdty.rs @@ -9,6 +9,9 @@ use crate::as_bytes::Safe; +#[cfg(feature = "zeroize")] +use digest::zeroize::Zeroize; + #[cfg(feature = "simd")] macro_rules! decl_simd { ($($decl:item)*) => { @@ -50,6 +53,16 @@ decl_simd! { pub T, pub T, pub T, pub T); } +#[cfg(feature = "zeroize")] +impl Zeroize for Simd4 { + fn zeroize(&mut self) { + self.0.zeroize(); + self.1.zeroize(); + self.2.zeroize(); + self.3.zeroize(); + } +} + pub type u64x2 = Simd2; pub type u32x4 = Simd4; diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index e83ff8508..94b7b440f 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 06760cb1a..141468fd7 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #![allow(non_snake_case)] @@ -27,6 +28,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + // FSB-160 fsb_impl!( Fsb160, diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 7b59004cd..2204b747c 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -12,6 +12,9 @@ macro_rules! fsb_impl { state: [u8; $r / 8], } + #[doc=$full_doc] + pub type $full_state = CoreWrapper<$state>; + impl HashMarker for $state {} impl BlockSizeUser for $state { @@ -79,8 +82,18 @@ macro_rules! fsb_impl { } } - #[doc=$full_doc] - pub type $full_state = CoreWrapper<$state>; + impl Drop for $state { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.blocks_len.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $state {} impl $state { const SIZE_OUTPUT_COMPRESS: usize = $r / 8; diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 8b485485a..ca7a4383a 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/gost94/src/gost94_core.rs b/gost94/src/gost94_core.rs index 671dae661..bc8c383a1 100644 --- a/gost94/src/gost94_core.rs +++ b/gost94/src/gost94_core.rs @@ -10,6 +10,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + use crate::params::{Block, Gost94Params, SBox}; const C: Block = [ @@ -273,3 +276,17 @@ impl fmt::Debug for Gost94Core

      { f.write_str("Core { .. }") } } + +impl Drop for Gost94Core

      { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.n.zeroize(); + self.sigma.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Gost94Core

      {} diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index bb4c04984..86a582528 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] #![forbid(unsafe_code)] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index c8cf72fc4..70bdafdc9 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -22,3 +22,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index a467c0ed7..dc7899d76 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] @@ -21,6 +22,9 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod compress1024; mod compress512; mod table; @@ -32,6 +36,18 @@ pub struct GroestlShortVarCore { blocks_len: u64, } +/// Short Groestl variant which allows to choose output size at runtime. +pub type GroestlShortVar = RtVariableCoreWrapper; +/// Core hasher state of the short Groestl variant generic over output size. +pub type GroestlShortCore = CtVariableCoreWrapper; +/// Hasher state of the short Groestl variant generic over output size. +pub type GroestlShort = CoreWrapper>; + +/// Groestl-224 hasher state. +pub type Groestl224 = CoreWrapper>; +/// Groestl-256 hasher state. +pub type Groestl256 = CoreWrapper>; + impl HashMarker for GroestlShortVarCore {} impl BlockSizeUser for GroestlShortVarCore { @@ -101,17 +117,18 @@ impl fmt::Debug for GroestlShortVarCore { } } -/// Short Groestl variant which allows to choose output size at runtime. -pub type GroestlShortVar = RtVariableCoreWrapper; -/// Core hasher state of the short Groestl variant generic over output size. -pub type GroestlShortCore = CtVariableCoreWrapper; -/// Hasher state of the short Groestl variant generic over output size. -pub type GroestlShort = CoreWrapper>; +impl Drop for GroestlShortVarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.blocks_len.zeroize(); + } + } +} -/// Groestl-224 hasher state. -pub type Groestl224 = CoreWrapper>; -/// Groestl-256 hasher state. -pub type Groestl256 = CoreWrapper>; +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for GroestlShortVarCore {} /// Lowest-level core hasher state of the long Groestl variant. #[derive(Clone)] @@ -120,6 +137,18 @@ pub struct GroestlLongVarCore { blocks_len: u64, } +/// Long Groestl variant which allows to choose output size at runtime. +pub type GroestlLongVar = RtVariableCoreWrapper; +/// Core hasher state of the long Groestl variant generic over output size. +pub type GroestlLongCore = CtVariableCoreWrapper; +/// Hasher state of the long Groestl variant generic over output size. +pub type GroestlLong = CoreWrapper>; + +/// Groestl-384 hasher state. +pub type Groestl384 = CoreWrapper>; +/// Groestl-512 hasher state. +pub type Groestl512 = CoreWrapper>; + impl HashMarker for GroestlLongVarCore {} impl BlockSizeUser for GroestlLongVarCore { @@ -189,14 +218,15 @@ impl fmt::Debug for GroestlLongVarCore { } } -/// Long Groestl variant which allows to choose output size at runtime. -pub type GroestlLongVar = RtVariableCoreWrapper; -/// Core hasher state of the long Groestl variant generic over output size. -pub type GroestlLongCore = CtVariableCoreWrapper; -/// Hasher state of the long Groestl variant generic over output size. -pub type GroestlLong = CoreWrapper>; +impl Drop for GroestlLongVarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.blocks_len.zeroize(); + } + } +} -/// Groestl-384 hasher state. -pub type Groestl384 = CoreWrapper>; -/// Groestl-512 hasher state. -pub type Groestl512 = CoreWrapper>; +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for GroestlLongVarCore {} diff --git a/jh/Cargo.toml b/jh/Cargo.toml index 5484082ca..f3122b13a 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -19,3 +19,10 @@ simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] digest = { version = "=0.11.0-pre.6", features = ["dev"] } + +[features] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/jh/src/lib.rs b/jh/src/lib.rs index cfae16f1a..44da3b16e 100644 --- a/jh/src/lib.rs +++ b/jh/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] mod compressor; @@ -27,6 +28,9 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + /// Core JH hasher state #[derive(Clone)] pub struct JhCore { @@ -34,6 +38,15 @@ pub struct JhCore { block_len: u64, } +/// Jh-224 hasher state +pub type Jh224 = CoreWrapper>; +/// Jh-256 hasher state +pub type Jh256 = CoreWrapper>; +/// Jh-384 hasher state +pub type Jh384 = CoreWrapper>; +/// Jh-512 hasher state +pub type Jh512 = CoreWrapper>; + impl HashMarker for JhCore {} impl BlockSizeUser for JhCore { @@ -105,11 +118,20 @@ impl fmt::Debug for JhCore { } } -/// Jh-224 hasher state -pub type Jh224 = CoreWrapper>; -/// Jh-256 hasher state -pub type Jh256 = CoreWrapper>; -/// Jh-384 hasher state -pub type Jh384 = CoreWrapper>; -/// Jh-512 hasher state -pub type Jh512 = CoreWrapper>; +impl Drop for JhCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + const N: usize = core::mem::size_of::(); + // TODO: remove this unsafe after migration from `ppv-lite86` + unsafe { + let p: *mut [u8; N] = (&mut self.state as *mut Compressor).cast(); + core::ptr::write_volatile(p, [0u8; N]); + } + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for JhCore {} diff --git a/jh/tests/lib.rs b/jh/tests/mod.rs similarity index 100% rename from jh/tests/lib.rs rename to jh/tests/mod.rs diff --git a/k12/Cargo.toml b/k12/Cargo.toml index a09c95a58..9e300304e 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize", "sha3/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 129da40b3..dbebdade4 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] @@ -17,9 +18,11 @@ use digest::core_api::{ UpdateCore, XofReaderCore, XofReaderCoreWrapper, }; use digest::{ExtendableOutputReset, HashMarker, Reset, Update, XofReader}; - use sha3::{TurboShake128, TurboShake128Core, TurboShake128ReaderCore}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + const CHUNK_SIZE: usize = 8192; const CHAINING_VALUE_SIZE: usize = 32; const LENGTH_ENCODE_SIZE: usize = 255; @@ -36,6 +39,9 @@ pub struct KangarooTwelveCore<'cs> { chain_length: usize, } +/// [`KangarooTwelve`] hasher state. +pub type KangarooTwelve<'cs> = CoreWrapper>; + impl<'cs> KangarooTwelveCore<'cs> { /// Creates a new KangarooTwelve instance with the given customization. pub fn new(customization: &'cs [u8]) -> Self { @@ -179,6 +185,21 @@ impl fmt::Debug for KangarooTwelveCore<'_> { } } +impl Drop for KangarooTwelveCore<'_> { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.buffer.zeroize(); + self.bufpos.zeroize(); + self.chain_length.zeroize(); + // final_tshk and chain_tshk zeroized by their Drop impl + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for KangarooTwelveCore<'_> {} + /// Core [`KangarooTwelve`] reader state. #[derive(Clone)] #[allow(non_camel_case_types)] @@ -186,6 +207,9 @@ pub struct KangarooTwelveReaderCore { tshk: XofReaderCoreWrapper, } +/// [`KangarooTwelve`] reader state. +pub type KangarooTwelveReader = XofReaderCoreWrapper; + impl BlockSizeUser for KangarooTwelveReaderCore { type BlockSize = U168; // TurboSHAKE128 block size } @@ -199,11 +223,9 @@ impl XofReaderCore for KangarooTwelveReaderCore { } } -/// [`KangarooTwelve`] hasher state. -pub type KangarooTwelve<'cs> = CoreWrapper>; - -/// [`KangarooTwelve`] reader state. -pub type KangarooTwelveReader = XofReaderCoreWrapper; +// `TurboShake128ReaderCore` and the wrapper are zeroized by their Drop impls +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for KangarooTwelveReaderCore {} fn length_encode(mut length: usize, buffer: &mut [u8; LENGTH_ENCODE_SIZE]) -> &mut [u8] { let mut bufpos = 0usize; diff --git a/md2/Cargo.toml b/md2/Cargo.toml index f3611b0bd..6691cf1e7 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 76c5a5564..fde870a3e 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -4,14 +4,13 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; use core::fmt; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, consts::U16, @@ -22,6 +21,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod consts; /// Core MD2 hasher state. @@ -31,6 +35,9 @@ pub struct Md2Core { checksum: Block, } +/// MD2 hasher state. +pub type Md2 = CoreWrapper; + impl Md2Core { fn compress(&mut self, block: &Block) { // Update state @@ -130,5 +137,15 @@ impl AssociatedOid for Md2Core { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.2"); } -/// MD2 hasher state. -pub type Md2 = CoreWrapper; +impl Drop for Md2Core { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.x.zeroize(); + self.checksum.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Md2Core {} diff --git a/md4/Cargo.toml b/md4/Cargo.toml index d4d73d2d5..f1a640a46 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 24d2f6bc8..04d04749c 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -4,14 +4,13 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(rust_2018_idioms)] pub use digest::{self, Digest}; use core::{fmt, num::Wrapping as W}; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -22,6 +21,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + type Wu32 = W; const S0: [Wu32; 4] = [ W(0x6745_2301), @@ -32,12 +36,16 @@ const S0: [Wu32; 4] = [ const K1: Wu32 = W(0x5A82_7999); const K2: Wu32 = W(0x6ED9_EBA1); +/// MD4 core hasher state #[derive(Clone)] pub struct Md4Core { block_len: W, state: [Wu32; 4], } +/// MD4 hasher state +pub type Md4 = CoreWrapper; + impl HashMarker for Md4Core {} impl BlockSizeUser for Md4Core { @@ -113,8 +121,18 @@ impl AssociatedOid for Md4Core { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.4"); } -/// MD4 hasher state. -pub type Md4 = CoreWrapper; +impl Drop for Md4Core { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Md4Core {} fn compress(state: &mut [Wu32; 4], input: &Block) { fn f(x: Wu32, y: Wu32, z: Wu32) -> Wu32 { diff --git a/md5/Cargo.toml b/md5/Cargo.toml index c0e943299..7f458c9f3 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -27,4 +27,9 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support +zeroize = ["digest/zeroize"] force-soft = [] # Force software implementation + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 2930b5afb..d5d1db107 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; @@ -12,8 +13,6 @@ mod compress; pub(crate) mod consts; use core::{fmt, slice::from_ref}; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ array::ArrayOps, block_buffer::Eager, @@ -25,6 +24,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + /// Core MD5 hasher state. #[derive(Clone)] pub struct Md5Core { @@ -32,6 +36,9 @@ pub struct Md5Core { state: [u32; 4], } +/// MD5 hasher state. +pub type Md5 = CoreWrapper; + impl HashMarker for Md5Core {} impl BlockSizeUser for Md5Core { @@ -106,5 +113,15 @@ impl AssociatedOid for Md5Core { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.2.840.113549.2.5"); } -/// MD5 hasher state. -pub type Md5 = CoreWrapper; +impl Drop for Md5Core { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Md5Core {} diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 7f5377eb8..ef115a5c2 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index eb0d04167..0dfa357bc 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -4,14 +4,13 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; use core::fmt; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ block_buffer::Eager, core_api::{ @@ -22,6 +21,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod c128; mod c160; mod c256; @@ -41,6 +45,10 @@ macro_rules! impl_ripemd { block_len: u64, } + #[doc = $doc_name] + #[doc = " hasher."] + pub type $wrapped_name = CoreWrapper<$name>; + impl HashMarker for $name {} impl BlockSizeUser for $name { @@ -111,9 +119,18 @@ macro_rules! impl_ripemd { } } - #[doc = $doc_name] - #[doc = " hasher."] - pub type $wrapped_name = CoreWrapper<$name>; + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.block_len.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} }; } diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index edfe709c7..069a32025 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -27,6 +27,7 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support +zeroize = ["digest/zeroize"] force-soft = [] # Force software implementation [package.metadata.docs.rs] diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 6cf035fc4..6ad713f03 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -1,17 +1,15 @@ #![no_std] #![doc = include_str!("../README.md")] -#![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; use core::{fmt, slice::from_ref}; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ array::ArrayOps, block_buffer::Eager, @@ -23,6 +21,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod compress; pub use compress::compress; @@ -37,6 +40,9 @@ pub struct Sha1Core { block_len: u64, } +/// SHA-1 hasher state. +pub type Sha1 = CoreWrapper; + impl HashMarker for Sha1Core {} impl BlockSizeUser for Sha1Core { @@ -109,5 +115,15 @@ impl AssociatedOid for Sha1Core { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.14.3.2.26"); } -/// SHA-1 hasher state. -pub type Sha1 = CoreWrapper; +impl Drop for Sha1Core { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sha1Core {} diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 1ab025950..a5e82db1b 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -30,6 +30,7 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] # Enable OID support +zeroize = ["digest/zeroize"] force-soft = [] # Force software implementation [package.metadata.docs.rs] diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index d492a79ac..d9aff2896 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -11,6 +11,9 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + /// Core block-level SHA-256 hasher with variable output size. /// /// Supports initialization only for 28 and 32 byte output sizes, @@ -84,6 +87,19 @@ impl fmt::Debug for Sha256VarCore { } } +impl Drop for Sha256VarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sha256VarCore {} + /// Core block-level SHA-512 hasher with variable output size. /// /// Supports initialization only for 28, 32, 48, and 64 byte output sizes, @@ -158,3 +174,15 @@ impl fmt::Debug for Sha512VarCore { f.write_str("Sha512VarCore { ... }") } } + +impl Drop for Sha512VarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.block_len.zeroize(); + } + } +} +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sha512VarCore {} diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 973851e5d..f6eae82a0 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -1,10 +1,10 @@ #![no_std] #![doc = include_str!("../README.md")] -#![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 91031b7a3..0c6091681 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -19,7 +19,6 @@ rust-version = "1.71" [dependencies] digest = "=0.11.0-pre.6" keccak = "0.1.4" -zeroize = { version = "1.6.0", default-features = false, optional=true } # WARNING: Bumps MSRV to 1.56 [dev-dependencies] digest = { version = "=0.11.0-pre.6", features = ["dev"] } @@ -28,7 +27,11 @@ hex-literal = "0.4" [features] default = ["oid", "std"] std = ["digest/std"] - -asm = ["keccak/asm"] # Enable ASM (currently ARMv8 only). oid = ["digest/oid"] # Enable OID support. +zeroize = ["digest/zeroize"] +asm = ["keccak/asm"] # Enable ASM (currently ARMv8 only). reset = [] # Enable reset functionality + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index d7fccecbf..68c519a09 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -4,14 +4,13 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; use core::fmt; -#[cfg(feature = "oid")] -use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::{ array::typenum::Unsigned, block_buffer::Eager, @@ -24,6 +23,11 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "oid")] +use digest::const_oid::{AssociatedOid, ObjectIdentifier}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + #[macro_use] mod macros; mod state; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index b7e346c32..639703119 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -12,6 +12,10 @@ macro_rules! impl_sha3 { state: Sha3State, } + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + impl HashMarker for $name {} impl BlockSizeUser for $name { @@ -78,9 +82,17 @@ macro_rules! impl_sha3 { } } - #[doc = $alg_name] - #[doc = " hasher state."] - pub type $full_name = CoreWrapper<$name>; + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} }; ( $name:ident, $full_name:ident, $output_size:ident, @@ -110,6 +122,10 @@ macro_rules! impl_shake { state: Sha3State, } + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + impl HashMarker for $name {} impl BlockSizeUser for $name { @@ -175,6 +191,18 @@ macro_rules! impl_shake { } } + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} + #[doc = "Core "] #[doc = $alg_name] #[doc = " reader state."] @@ -184,6 +212,10 @@ macro_rules! impl_shake { state: Sha3State, } + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$reader>; + impl BlockSizeUser for $reader { type BlockSize = $rate; } @@ -198,13 +230,17 @@ macro_rules! impl_shake { } } - #[doc = $alg_name] - #[doc = " hasher state."] - pub type $full_name = CoreWrapper<$name>; + impl Drop for $reader { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + } + } + } - #[doc = $alg_name] - #[doc = " reader state."] - pub type $reader_full = XofReaderCoreWrapper<$reader>; + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $reader {} }; ( $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, @@ -239,10 +275,14 @@ macro_rules! impl_turbo_shake { #[derive(Clone)] #[allow(non_camel_case_types)] pub struct $name { + state: Sha3State, domain_separation: u8, - state: Sha3State, } + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + impl $name { /// Creates a new TurboSHAKE instance with the given domain separation. /// Note that the domain separation needs to be a byte with a value in @@ -251,7 +291,7 @@ macro_rules! impl_turbo_shake { assert!((0x01..=0x7F).contains(&domain_separation)); Self { domain_separation, - state: Sha3State::new(TURBO_SHAKE_ROUND_COUNT), + state: Default::default(), } } } @@ -312,15 +352,32 @@ macro_rules! impl_turbo_shake { } } + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + self.domain_separation.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} + #[doc = "Core "] #[doc = $alg_name] #[doc = " reader state."] #[derive(Clone)] #[allow(non_camel_case_types)] pub struct $reader { - state: Sha3State, + state: Sha3State, } + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$reader>; + impl BlockSizeUser for $reader { type BlockSize = $rate; } @@ -335,13 +392,17 @@ macro_rules! impl_turbo_shake { } } - #[doc = $alg_name] - #[doc = " hasher state."] - pub type $full_name = CoreWrapper<$name>; + impl Drop for $reader { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + } + } + } - #[doc = $alg_name] - #[doc = " reader state."] - pub type $reader_full = XofReaderCoreWrapper<$reader>; + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $reader {} }; ( $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, @@ -368,12 +429,16 @@ macro_rules! impl_cshake { #[derive(Clone)] #[allow(non_camel_case_types)] pub struct $name { - padding: u8, state: Sha3State, #[cfg(feature = "reset")] initial_state: Sha3State, + padding: u8, } + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + impl $name { /// Creates a new CSHAKE instance with the given customization. pub fn new(customization: &[u8]) -> Self { @@ -495,6 +560,21 @@ macro_rules! impl_cshake { } } + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + self.padding.zeroize(); + #[cfg(feature = "reset")] + self.initial_state.state.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} + #[doc = "Core "] #[doc = $alg_name] #[doc = " reader state."] @@ -504,6 +584,10 @@ macro_rules! impl_cshake { state: Sha3State, } + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$reader>; + impl BlockSizeUser for $reader { type BlockSize = $rate; } @@ -518,12 +602,16 @@ macro_rules! impl_cshake { } } - #[doc = $alg_name] - #[doc = " hasher state."] - pub type $full_name = CoreWrapper<$name>; + impl Drop for $reader { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.state.zeroize(); + } + } + } - #[doc = $alg_name] - #[doc = " reader state."] - pub type $reader_full = XofReaderCoreWrapper<$reader>; + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $reader {} }; } diff --git a/sha3/src/state.rs b/sha3/src/state.rs index b651cd3e8..351ffccf4 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -1,62 +1,37 @@ -#[cfg(feature = "zeroize")] -use zeroize::{Zeroize, ZeroizeOnDrop}; - const PLEN: usize = 25; const DEFAULT_ROUND_COUNT: usize = 24; #[derive(Clone)] -pub(crate) struct Sha3State { +pub(crate) struct Sha3State { pub state: [u64; PLEN], - round_count: usize, } -impl Default for Sha3State { +impl Default for Sha3State { fn default() -> Self { Self { state: [0u64; PLEN], - round_count: DEFAULT_ROUND_COUNT, } } } -#[cfg(feature = "zeroize")] -impl Drop for Sha3State { - fn drop(&mut self) { - self.state.zeroize(); - } -} - -#[cfg(feature = "zeroize")] -impl ZeroizeOnDrop for Sha3State {} - -impl Sha3State { - pub(crate) fn new(round_count: usize) -> Self { - Self { - state: [0u64; PLEN], - round_count, - } - } - - #[inline(always)] - pub(crate) fn absorb_block(&mut self, block: &[u8]) { +impl Sha3State { + pub fn absorb_block(&mut self, block: &[u8]) { debug_assert_eq!(block.len() % 8, 0); for (b, s) in block.chunks_exact(8).zip(self.state.iter_mut()) { *s ^= u64::from_le_bytes(b.try_into().unwrap()); } - keccak::p1600(&mut self.state, self.round_count); + keccak::p1600(&mut self.state, ROUNDS); } - #[inline(always)] - pub(crate) fn as_bytes(&self, out: &mut [u8]) { + pub fn as_bytes(&self, out: &mut [u8]) { for (o, s) in out.chunks_mut(8).zip(self.state.iter()) { o.copy_from_slice(&s.to_le_bytes()[..o.len()]); } } - #[inline(always)] - pub(crate) fn permute(&mut self) { - keccak::p1600(&mut self.state, self.round_count); + pub fn permute(&mut self) { + keccak::p1600(&mut self.state, ROUNDS); } } diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index 5b4d46810..e1d6ad764 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -22,3 +22,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs index dc174268f..2ee07ec35 100644 --- a/shabal/src/core_api.rs +++ b/shabal/src/core_api.rs @@ -11,6 +11,9 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + type BlockSize = U64; type Block = Array; type M = [Wrapping; 16]; @@ -241,3 +244,18 @@ impl fmt::Debug for ShabalVarCore { f.write_str("ShabalVarCore { ... }") } } + +impl Drop for ShabalVarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.a.zeroize(); + self.b.zeroize(); + self.c.zeroize(); + self.w.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for ShabalVarCore {} diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index fbfe2da16..83161bebf 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/skein/Cargo.toml b/skein/Cargo.toml index e1cb38506..5b3127200 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -19,3 +19,12 @@ threefish = { version = "0.5.2", default-features = false } [dev-dependencies] digest = { version = "=0.11.0-pre.6", features = ["dev"] } hex-literal = "0.4" + +[features] +default = ["std"] +std = ["digest/std"] +zeroize = ["digest/zeroize", "threefish/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/skein/src/lib.rs b/skein/src/lib.rs index 649ea8a95..7595cba26 100644 --- a/skein/src/lib.rs +++ b/skein/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] #![deny(unsafe_code)] @@ -22,6 +23,9 @@ use digest::{ }; use threefish::{Threefish1024, Threefish256, Threefish512}; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + const VERSION: u64 = 1; const ID_STRING_LE: u64 = 0x3341_4853; const SCHEMA_VER: u64 = (VERSION << 32) | ID_STRING_LE; @@ -47,6 +51,10 @@ macro_rules! define_hasher { _pd: PhantomData, } + #[doc = $alg_name] + #[doc = " hasher state"] + pub type $full_name = CoreWrapper<$name>; + impl $name { fn blank_state(t1: u64, x: [u64; <$state_bytes>::USIZE / 8]) -> Self { Self { @@ -165,9 +173,18 @@ macro_rules! define_hasher { } } - #[doc = $alg_name] - #[doc = " hasher state"] - pub type $full_name = CoreWrapper<$name>; + impl Drop for $name { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.t.zeroize(); + self.x.zeroize(); + } + } + } + + #[cfg(feature = "zeroize")] + impl ZeroizeOnDrop for $name {} }; } diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 126b4373b..59d00f126 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -22,3 +22,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index 0452dc1bc..f0a31a814 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] @@ -20,6 +21,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod compress; mod consts; @@ -32,6 +36,9 @@ pub struct Sm3Core { h: [u32; 8], } +/// Sm3 hasher state. +pub type Sm3 = CoreWrapper; + impl HashMarker for Sm3Core {} impl BlockSizeUser for Sm3Core { @@ -97,5 +104,15 @@ impl fmt::Debug for Sm3Core { } } -/// Sm3 hasher state. -pub type Sm3 = CoreWrapper; +impl Drop for Sm3Core { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.block_len.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sm3Core {} diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 7c81c8b40..9da8473b3 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -23,3 +23,8 @@ hex-literal = "0.4" default = ["oid", "std"] std = ["digest/std"] oid = ["digest/oid"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index 50adfc1b5..826a8a145 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -9,6 +9,9 @@ use digest::{ HashMarker, InvalidOutputSize, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + use crate::consts::{BLOCK_SIZE, C, SHUFFLED_LIN_TABLE}; type Block = [u8; 64]; @@ -162,6 +165,20 @@ impl fmt::Debug for StreebogVarCore { } } +impl Drop for StreebogVarCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.h.zeroize(); + self.n.zeroize(); + self.sigma.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for StreebogVarCore {} + #[inline(always)] fn adc(a: &mut u64, b: u64, carry: &mut u64) { let ret = (*a as u128) + (b as u128) + (*carry as u128); diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 26ab42235..e337fc3ea 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index d81f1ceae..fbaa1952b 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -10,7 +10,7 @@ documentation = "https://docs.rs/tiger" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] -rust-version = "1.71" +rust-version = "1.74" [dependencies] digest = "=0.11.0-pre.6" @@ -22,3 +22,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/tiger/README.md b/tiger/README.md index c88d69f12..a0c084477 100644 --- a/tiger/README.md +++ b/tiger/README.md @@ -28,7 +28,7 @@ Also, see the [examples section] in the RustCrypto/hashes readme. ## Minimum Supported Rust Version -Rust **1.71** or higher. +Rust **1.74** or higher. Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump. @@ -59,7 +59,7 @@ for inclusion in the work by you, as defined in the Apache-2.0 license, without [docs-image]: https://docs.rs/tiger/badge.svg [docs-link]: https://docs.rs/tiger/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.71+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.74+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes [build-image]: https://github.com/RustCrypto/hashes/workflows/tiger/badge.svg?branch=master diff --git a/tiger/src/compress.rs b/tiger/src/compress.rs index 3ee461b1b..8ac864050 100644 --- a/tiger/src/compress.rs +++ b/tiger/src/compress.rs @@ -1,18 +1,18 @@ -use super::tables::{T1, T2, T3, T4}; +use super::tables::TABLES; use super::State; #[inline(always)] fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { *c ^= *x; let c2: [u8; 8] = c.to_le_bytes(); - let a2 = T1[usize::from(c2[0])] - ^ T2[usize::from(c2[2])] - ^ T3[usize::from(c2[4])] - ^ T4[usize::from(c2[6])]; - let b2 = T4[usize::from(c2[1])] - ^ T3[usize::from(c2[3])] - ^ T2[usize::from(c2[5])] - ^ T1[usize::from(c2[7])]; + let a2 = TABLES[0][usize::from(c2[0])] + ^ TABLES[1][usize::from(c2[2])] + ^ TABLES[2][usize::from(c2[4])] + ^ TABLES[3][usize::from(c2[6])]; + let b2 = TABLES[3][usize::from(c2[1])] + ^ TABLES[2][usize::from(c2[3])] + ^ TABLES[1][usize::from(c2[5])] + ^ TABLES[0][usize::from(c2[7])]; *a = a.wrapping_sub(a2); *b = b.wrapping_add(b2).wrapping_mul(u64::from(mul)); } diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 32690d977..c92e3636e 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -4,7 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] -#![forbid(unsafe_code)] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; @@ -20,6 +20,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod compress; mod tables; use compress::compress; @@ -33,26 +36,31 @@ const S0: State = [ /// Core Tiger hasher state. #[derive(Clone)] -pub struct TigerCore { +pub struct TigerCore { block_len: u64, state: State, } -impl HashMarker for TigerCore {} +/// Tiger hasher state. +pub type Tiger = CoreWrapper>; +/// Tiger2 hasher state. +pub type Tiger2 = CoreWrapper>; + +impl HashMarker for TigerCore {} -impl BlockSizeUser for TigerCore { +impl BlockSizeUser for TigerCore { type BlockSize = U64; } -impl BufferKindUser for TigerCore { +impl BufferKindUser for TigerCore { type BufferKind = Eager; } -impl OutputSizeUser for TigerCore { +impl OutputSizeUser for TigerCore { type OutputSize = U24; } -impl UpdateCore for TigerCore { +impl UpdateCore for TigerCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; @@ -62,23 +70,29 @@ impl UpdateCore for TigerCore { } } -impl FixedOutputCore for TigerCore { +impl FixedOutputCore for TigerCore { #[inline] fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { let bs = Self::BlockSize::U64; let pos = buffer.get_pos() as u64; let bit_len = 8 * (pos + bs * self.block_len); - buffer.digest_pad(1, &bit_len.to_le_bytes(), |b| { - compress(&mut self.state, b.as_ref()) - }); + if VER2 { + buffer.len64_padding_le(bit_len, |b| compress(&mut self.state, b.as_ref())); + } else { + buffer.digest_pad(1, &bit_len.to_le_bytes(), |b| { + compress(&mut self.state, b.as_ref()) + }); + } + for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { chunk.copy_from_slice(&v.to_le_bytes()); } } } -impl Default for TigerCore { +impl Default for TigerCore { + #[inline] fn default() -> Self { Self { block_len: 0, @@ -87,102 +101,44 @@ impl Default for TigerCore { } } -impl Reset for TigerCore { +impl Reset for TigerCore { + #[inline] fn reset(&mut self) { *self = Default::default(); } } -impl AlgorithmName for TigerCore { +impl AlgorithmName for TigerCore { + #[inline] fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Tiger") + if VER2 { + f.write_str("Tiger2") + } else { + f.write_str("Tiger") + } } } -impl fmt::Debug for TigerCore { +impl fmt::Debug for TigerCore { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("TigerCore { ... }") - } -} - -/// Core Tiger2 hasher state. -#[derive(Clone)] -pub struct Tiger2Core { - block_len: u64, - state: State, -} - -impl HashMarker for Tiger2Core {} - -impl BlockSizeUser for Tiger2Core { - type BlockSize = U64; -} - -impl BufferKindUser for Tiger2Core { - type BufferKind = Eager; -} - -impl OutputSizeUser for Tiger2Core { - type OutputSize = U24; -} - -impl UpdateCore for Tiger2Core { - #[inline] - fn update_blocks(&mut self, blocks: &[Block]) { - self.block_len += blocks.len() as u64; - for block in blocks { - compress(&mut self.state, block.as_ref()); + if VER2 { + f.write_str("Tiger2Core { ... }") + } else { + f.write_str("TigerCore { ... }") } } } -impl FixedOutputCore for Tiger2Core { +impl Drop for TigerCore { #[inline] - fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { - let bs = Self::BlockSize::U64; - let pos = buffer.get_pos() as u64; - let bit_len = 8 * (pos + bs * self.block_len); - - buffer.len64_padding_le(bit_len, |b| compress(&mut self.state, b.as_ref())); - for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.block_len.zeroize(); } } } -impl Default for Tiger2Core { - fn default() -> Self { - Self { - block_len: 0, - state: [ - 0x0123_4567_89AB_CDEF, - 0xFEDC_BA98_7654_3210, - 0xF096_A5B4_C3B2_E187, - ], - } - } -} - -impl Reset for Tiger2Core { - #[inline] - fn reset(&mut self) { - *self = Default::default(); - } -} - -impl AlgorithmName for Tiger2Core { - fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Tiger2") - } -} - -impl fmt::Debug for Tiger2Core { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Tiger2Core { ... }") - } -} - -/// Tiger hasher state. -pub type Tiger = CoreWrapper; -/// Tiger2 hasher state. -pub type Tiger2 = CoreWrapper; +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for TigerCore {} diff --git a/tiger/src/tables.bin b/tiger/src/tables.bin new file mode 100644 index 0000000000000000000000000000000000000000..5911f7bccf6c1187206e35f64484adefbede53b9 GIT binary patch literal 8192 zcmV+bAphT94C(iLv8n>>s6*ldOG2#E{M8NPTg`GhfBE*4n*nW;kss3kc$v-ODS&Xv zp>uV^gDR41GGwuESdj$oK8Qx<>;rKH%=;xAVrVR925lARfEj7S>F2LRgi`N>PiK~m`U=Jh7FM_KCI zd60#YjGoEGg&0puhHt4Jc8=G5!L?G1LN<=UV=y--XwPYG#k89}$p^OTwRR464uX9` z+<)-KoLpq!LNg?Ipg6w-eJ-6mG;3eR4hvxGio)`&yi{^u*bZ#vPurw{B3W^t?GMgr z`ezy2MP<48lT!T)V5joe>3PUb8Iu8$NCJklz?>~RQ~9J5c9j)ugHw?4do}!u&u!aR z4>x*x>b@9ekhxIG7jXkMNLH z66Ops?;aFXvE5k!xn=wZ=HSIZh85t?qr)bc2Tq9nHN_*94Goh3E1FJqjbk;{okl>< z{DnYFI^v7cda=YVYCdZG@UqIyKa^`4mtZJH1mhCoZr(kvWf$No^CDvY2!ltp3sqez zqV1rKsqd+$4a9~Pr%}U%e1@EDSOpPND5Cv^?*H6&?_Mk>(EH2*(vXSEl=8ZD+4?H= zWR&I-s6R?z6$s;JE(WeF(5%w@q{*`aQ1}sKSvnturaeRm~-h1snIT&SbZFG4l zGjUxw8Khfeb*V_XrW<@`to?f#e3&r;Jq1g|BW&JH)&kJ}NgP;l6(%@iO-J2g&~xO& zMn$S%_*IlN&X1DWl&i|R8x}}tZw_}bB#~nrWX1yKrO0k8-F-6^B`Aj*a7zP1YuYSr z3Cn@OH$AX#9LHvYLkQtjvQg{DfH5n)i@=sIxRT$x^D?Hu$Y@+v1w9;w%mh`BYqDSE zq`#}Q&bqS-i-bWkT|}yLqBOIC*jlLYmZrRH)hM-P?Dix|QuL56QQ-_)(*{+Y*PTvz zm(Ire1&Jjyn-D%*DH$NlRG@Qx+|O|Gaw1dBKmAt&OJ*-Xk8WJb2j^tqon1wN|_hL=! z>Rj(dqwDO>gqFNsvd;A(V)wTU;xqQ-lY*-T-z=k~EbgT&AX=EQkBZDkgbUB3S(ukZ zQg)vg03@NY7S*UG$6dQVy4MRi+iJK~%1h;AfJbcoI(i-5o@VC=#-33ls!7qJ6;}?F z@sEUYMST|{OaVbMU$ySSE^a!ZTwV`h!}WE0k|}^TTF%W4*_uH>?+Ovi8%O(}0=k8N>w$qNL_!l%lTOnI1SqZpug^WAz+MM}ax%~JP28;po%{m&* ztP~q9bGrcYanyts+US)I5u?Glf*QXdatcEZA>TO-34XVoUeG+Bz4Ts0q*s30_D`Mo zrPPDrU>({=j+qyP!-ukl7_%D^+&=#A%M6&zJpRW6{hJt&wQuCyS4^5l{W3RYt?_)I z0QY`bh#jM7M8;Y6VO!L+urGEPcLbTxu3HtRx==k#UUg{SwAdnlP9f>^m8>pPzuhVc z0ll;dIj%BLG>))0^-Y6~av(yeogn)6BmSP79ci9_jjqIq(nbVZcxmAz#Y}sJ6UsFK zf7l_VihC0eK)cSqmIqj7D=sJAu)-xlCK5KX`yQ>m0(S-JOZcpgySmhS#v5cgF<6l# z;5LBZE!>OkXrJ^}fjnRlQSaOLHq!Ti9@2_g#3z^6UkYcI2#TP~sp|Bv9G9-o!Dfl7IIP*9BUIAaBmugW@jXL@2#KePvT%N4*26oD5EReR)WDpe$ZH@Azy?H#E!W6Yh@pZkLp)rwX5(k_H!Bcf-6OdjCxqB} zC#zPkB^Cd$;e)=ZNq!;JWqkY8=SXem;M;4S7uiLJg5L-pBvZxJAL$ z)$uUrX>#r@N<+Ii`Z4+JXUlk;zdJH=13U9{oG1G>W7bltPWuY1Gha}L;mo3$&86tO zFfAT{bV*Z?ZHLtnS1pZ>1H6$aK^h-OX61q%=i=74GIvQjYy)(w^Br+DpPhr#POA)y6YzNY4weE77bBB8aAX$usIU_4gU zT^~6v%SKEzl()&-tuop5uN5HVaOw#0j7L6are)WejVG&qb^FAU25v2e#u48ZJAV!F zgzMb|>Sd+`_AYO;-{9~M4~|Mvy1YI3?(L->H>3_K3QznggtJ_z9X{yd92>fV_>bHT z=u?AUP({rb2iw#Dn$Z{mf%B#9&!9B&%7=(ie&-7|QN*)26f_?B%!!cnmsj8v9a-|7 zKhpor#g&C3+C5Y=Dg~MSfgfgedk@<|<~D~1Q;tC;cOn(~vMv@ze_!JM*%NFMvZzSv zZs(F0RNSwRiP6Tt64?VA^@AJws(cz!r=vi{y!#4m6IKv~3~id- z;fZ*vba^UxB{kEVz={V6UE-(E?Z)b}I6=K|p6hYGzY3CEV!}`L(50fIkP-`P<5a*a zlm24=S>5)1tf&!1H8(ZX-1>5nUWCfrAe}N`EBJ&MFK5l+EXH{(WF*n8q6v#8=h+!* z>A}zpP^n9sYIs`nLrh~f0|E{r*kBdh^Ka-#iBhik_@jpM*V|KL5d2K%+{zZ+#!~vd8C(Ft!$w~Vuq}nv@U8+IH!AL8P~Fcl4oEH|fV&O?c2&b9s#P8j7O zW^=uO+lyffO;?N7x+#5I{^lh%PZV*Tp+Ejpf7WVUP2Y zcmeAg!W^5N`|s4N_muP|eR7!tK5LbtW8kAOoS;gYi%Ole4+#L(w`xDYiY8Z}^1z(Y zLci@To$ftysbG1?Ne?qY8$yQya!wD-CZmo)^&VgY+K{lmBQN@D+2=4X|rH5LFC+DXhO~qR`%Vw-SYRqx!!u&5w^*qS8RKT)vveV zPnc_ju8?B=rNOM;Oy89MI!MLQTZ#oYJi0=`Y!+icZ}+lpQn-yyZ4GY&fC%9oF&&r5 zBL$w3)_lw)DC|Yaf+OZxgIiaXnTW&>$(K7!FN2nK>XnEl$zsD>j5DSfJl zb+`jW&7UUV(Y+}5^^qI)0RjX$pJwFVO7M&!d>wku<($_kJYr?B3&56;L}(+r1ErmZ z@tdoT1z4o9>?6F)9zeSR-&mSG6kn)l=y0H(Bl3MPi1AN@5o8*)Wz`e{7I0E@GZXF! zUMN4$Jr0#q3COur0+U&7+AxVgnesb_6KPXFlvSyOhs&wT-d>@g=_@rSArvY5dQSfz zH}G~SB2On!^f>~HhF%@;ItRPKmJY#j1<1c6E+S}!2xro;wSbP)qj8pjyOZIH)3sH& z1dE~2;yP(xGu5r^v`Adap%zIQJ9PcTn7%ZD0e2;>q*OfUhk56@;WOG45aB2jqG}?Z z#SAB4Um9(7UrBLy@2_C{Q|Oz&Jw*4XhR3afnzD0YMFa_6y)wdPdc0V&$U0|?RR;4a zcgeQKIrc%?HQJx)?`UV^9I8WWd1CQz!cBh(KE}uSboP$1nH#j{508&ivBjOPeghyZe(%_dnWZx^Vu|WuY(BlMa`8;sc>^ zUgWTM?9INHRa1>6V2Pbug^$awivnH7y+t!)uPhk8|rLLj+@w?^Ia6JKb6`Qe2)RMqDz_Q>u_> z(490lV+XN=Y4?(GOH zf==a<5naimY^=FVq3(uVeP>g#zJ)X@NsJ$O9U0yE>x8GeW(f9ljL@PxWRFoIdj_kiCcLX@9MLW&3ICrKQ-VN*=X%?*qE=GWpG1SI58Kw(uho!|p z*pHi-fCWCgT4Zy#1v_8%@^w|dq5&nTi+)Z3 zbT1oI+30ZtSl1jdPIh9I*lvG40B>3UCRwq$*2SnjDP^Bb_>k63@Xl_CuQUH&CxS-- z2!cNdGZf^t`5Kx){tf+WIom8Wqa{O9vH`PVe&>o>VO3_Io^QhmEYp%LT1AD0bVo_4 z-pBH~o})9tw9jK=RJ?A?K(K?bCbRv>RFpf6*Z+r}YV}seEA*KSl)^17ZV77%-}jim zQrJ2k;HDW1wA9lNmB2PtSzAM>~#(IU>)K5-&D$-^$E!B;RZA3uDlepW@ zp9^3v*&j33I_gMa`Iw~YgKCRzLfEL>TywW{vWcJ(N>Uzkv-XEcXUWUu2#67s)0?r! zIr4u4)5sG@g8ink9p}seaX3_C=7Ij*YcuoR+nK%mV|qq z24A-3<6C+VZ@zf#Fk|@@Y6p7f4d(99n~R`I?n^69iMYo;rdDe7{xrH-6A}Xa12-u6 znZHcPFs}?Xaez5`XczE_dZ*B7HA0^2sloA?f$l9Rc6p4wdLP}THy2%i`l$&#LsL)L zp?u#{42$}A%WR0e+}S@MM;obpkwC!T+|l_$0nmL|dpJ)W{C0!`Wij)`=lCNzbK~bk zA}Rw*r}a?RrH5QDnV2@jOe+XH_E@;=dy(JTZTMUKxNtId-L)yZa;^|7HUM`{$!b@R z`yR&H644qbr254U!y9QsaWc#iVs#@pOY(#qb{6fR2Z9tytM=C!@60YiEBaDFQNKm{j?E%e^OB21&ejt2pUW5M(q zQQqYWGn&0pI=g-~WPPevcxiVsOs)eKgH8Yv<9Mwg5TfVuAhc=>r$L?OK@sX0Y~Uy; zYfqTHjIz>$oo+;IU$-WIjX_O}R!6#yJs9S{tqa&hU>0A0Z6FRl%F7Wsq*&s-z#Xzi z7dmp&&DZr*sLIEj9VR`9GOTG8!Up@-xK>)MzKzNsp1p|y2~CEU*24uMMGhUtnk(G z`>0a@TV5R41nQUbv;EYlfgxfD5-L|g)4b`5<;+8dB@q;);Kro>#YB-0V$Wq|&@&C8 zoFSh`jigi|$YX7+UOvRH4R>-ni*l*&hu+!XzhJDh zP?{3Mwx53LXkN|7v4fNukQ}gVH0031*8wR!EiolCHaFT2* z9K*sw?^xm>TcC8xKH)+Y0uZ*W;#n`zdHD}e%=zRe+BaZ*gz*hpmy%xoBj(eP;ceDPfL43B z)-q6TAvJ=|w>FweOZFssDkp&V7HN!&?eCLS70yibzuh+_y_rj0+m%beFM(;H{nL`R z3ucg-N*epJxuiyE84Po1+DU(^iQ<7@ps|Awnr38+^hB0@|Fb8vb+(OMVQb8lzU#cX zAWvt4S!H#CBQb9U&qY3Qh~!#V5yDiNpJBi0>Zm|q#JcLu!NBtAZ%joTX%b{f_MAa* z4_hYhJKWQridVz+U=D3nJTfMQU=CaLSsVJP!A2VTk4$`_MdGQ~RVmw9QOae)uQkqg z3fl!mJrSvX$LfI%3aqw@_>NNl<9k_CqMo2u%}A`X-wi`={ilf=95cH~B|J{E}f&{2qNo}o^pNuU}r>5cK=-xFFh4<8x*g$27e@p$^ zzoaSzAbcczGSL^sp>7F_<$irkd<5j>u~e`-D`TJ*4frL zo>0yLr+;Js59{j&Z(w%M2Fx7_|AwNA^4a8K!WhY2Fk0ADUm`Mx9a~5KwajQ1wNEV| zx+~Y&xp}6gLoJaF9E4Noq!PbKs(w4)9WU}n4jy=O3AGC54D#tGqUxDM6+791sR0Ven`!@!zxc0QG5CKc^)l{Ti7G1dZy$+47!@N`h& zT(XdiS-NocLYE7H6-s$*jIaFZC0PwlbZFRYac3|abJys1unLi3FT`5gyJ2c)6@~Eo zK2ej^>4Tn2a+LIqWC>iD;fLt`3^#Sg)3G#NB@MhYQqDZZ!OF@)Y+?nLE2hw(uh8+eN6@Y0}oOv$Av2ex-8Epl_d#A06J--KR&O0%l;xvK-80t2ffq(flQHj+2{q z^bd}315WHM!2>=opXdxUo-+suPMu%5BUv9Q>96r$ zCQ1+XfHZC#gqyM|I=}9%w2_afI2q!@)5b;k@84JQsx0;kYXC2J?saePdGunb7Kt3x zTBQ+F)c%B!(kb%h0I(K&!tp|Mz$2J+b{{KXQ*^?k>~>4NkrugQ^q7ol=B@EO$-ESo zgGFsVA%%z$M@=X2eHV^VDL+uPbDOklYx%=yfff+1u*zdQmOTy>+o4rfOZ<&o-V|;% z@rn1r+EGrgXg+A!4@-@mPpHY!`Jhri;E^_fj)&n!ZrEN>anP9#8gV=jlTHk>We8d> zXz=78{QFj$-(C>oU5)B`7b}IQS3fn* zkXG8(X;*WE6gfhsN+SxL4frU4Q2F*1^0RuP8RNK38Z=Q6oUJhhSnqqKB0P69hL#5! zR>ws)zMUkV+7tO`Os067EoIv8G{ZZ8sV7YI7i;Dq5@L1>ea)JQLwA;fXYJt1TkiAx zdB^}Zb)P`CZIZP)n$QM_#dP<*Z4%mj};gM~t&|DtyIrlN%FQ9+P3tEP}BN9J&d)Rdt=x z5q*>0uYVHcl5NJVJK8C{?7~!W)xn}9{`P`R6UA6hCt_Ps<2oEBfy)6d$Oq}mf8!Gw z3GMjFMgYk9*hw;D`-tQ1o6mrr@oW*AQ-K&)B-Ly8^8-<+_eZYv=C>8koPN~a#@E{# zyC?!dT;)WWPTO83)JL{3{HnMsh!I^XA=4?liwX6!mICP%>a~wr0^L_3lzV5jtdOI? z=UDpzO1*n}oELgghjPnDsUD$uUz0t~pu7Y5}LbSWE zn%bpn=wG=%sc|=F1TM1JQZY%%SW|=^RJ50dNGiT&X^zt^+@h5$g*=k15iG!asPYY& zv4|tSH%}Y-2!MP88%K;%ua%XatWaBRQrD^>6E7!pCFHd=592Mo(ZV3<#J m6iw$2D5wrY*;dVEP+wEmktM;F?+SA9BQnSzrDJn%IiSPt!|>t& literal 0 HcmV?d00001 diff --git a/tiger/src/tables.rs b/tiger/src/tables.rs index dc6e2c21e..5b73f299c 100644 --- a/tiger/src/tables.rs +++ b/tiger/src/tables.rs @@ -1,1035 +1,19 @@ -pub(crate) static T1: [u64; 256] = [ - 0x02AA_B17C_F7E9_0C5E, - 0xAC42_4B03_E243_A8EC, - 0x72CD_5BE3_0DD5_FCD3, - 0x6D01_9B93_F6F9_7F3A, - 0xCD99_78FF_D21F_9193, - 0x7573_A1C9_7080_29E2, - 0xB164_326B_922A_83C3, - 0x4688_3EEE_0491_5870, - 0xEAAC_E305_7103_ECE6, - 0xC541_69B8_08A3_535C, - 0x4CE7_5491_8DDE_C47C, - 0x0AA2_F4DF_DC0D_F40C, - 0x10B7_6F18_A74D_BEFA, - 0xC6CC_B623_5AD1_AB6A, - 0x1372_6121_572F_E2FF, - 0x1A48_8C6F_199D_921E, - 0x4BC9_F9F4_DA00_07CA, - 0x26F5_E6F6_E852_41C7, - 0x8590_79DB_EA59_47B6, - 0x4F18_85C5_C99E_8C92, - 0xD78E_761E_A96F_864B, - 0x8E36_428C_52B5_C17D, - 0x69CF_6827_3730_63C1, - 0xB607_C93D_9BB4_C56E, - 0x7D82_0E76_0E76_B5EA, - 0x645C_9CC6_F07F_DC42, - 0xBF38_A078_2433_42E0, - 0x5F6B_343C_9D2E_7D04, - 0xF2C2_8AEB_600B_0EC6, - 0x6C0E_D85F_7254_BCAC, - 0x7159_2281_A4DB_4FE5, - 0x1967_FA69_CE0F_ED9F, - 0xFD52_93F8_B965_45DB, - 0xC879_E9D7_F2A7_600B, - 0x8602_4892_0193_194E, - 0xA4F9_533B_2D9C_C0B3, - 0x9053_836C_1595_7613, - 0xDB6D_CF8A_FC35_7BF1, - 0x18BE_EA7A_7A37_0F57, - 0x0371_17CA_50B9_9066, - 0x6AB3_0A97_7442_4A35, - 0xF4E9_2F02_E325_249B, - 0x7739_DB07_061C_CAE1, - 0xD8F3_B49C_ECA4_2A05, - 0xBD56_BE3F_5138_2F73, - 0x45FA_ED58_43B0_BB28, - 0x1C81_3D5C_11BF_1F83, - 0x8AF0_E4B6_D75F_A169, - 0x33EE_18A4_87AD_9999, - 0x3C26_E8EA_B1C9_4410, - 0xB510_102B_C0A8_22F9, - 0x141E_EF31_0CE6_123B, - 0xFC65_B900_59DD_B154, - 0xE015_8640_C5E0_E607, - 0x884E_0798_26C3_A3CF, - 0x930D_0D95_23C5_35FD, - 0x3563_8D75_4E9A_2B00, - 0x4085_FCCF_4046_9DD5, - 0xC4B1_7AD2_8BE2_3A4C, - 0xCAB2_F0FC_6A3E_6A2E, - 0x2860_971A_6B94_3FCD, - 0x3DDE_6EE2_12E3_0446, - 0x6222_F32A_E017_65AE, - 0x5D55_0BB5_4783_08FE, - 0xA9EF_A98D_A0ED_A22A, - 0xC351_A716_86C4_0DA7, - 0x1105_586D_9C86_7C84, - 0xDCFF_EE85_FDA2_2853, - 0xCCFB_D026_2C5E_EF76, - 0xBAF2_94CB_8990_D201, - 0xE694_64F5_2AFA_D975, - 0x94B0_13AF_DF13_3E14, - 0x06A7_D1A3_2823_C958, - 0x6F95_FE51_30F6_1119, - 0xD92A_B34E_462C_06C0, - 0xED7B_DE33_887C_71D2, - 0x7974_6D6E_6518_393E, - 0x5BA4_1938_5D71_3329, - 0x7C1B_A6B9_48A9_7564, - 0x3198_7C19_7BFD_AC67, - 0xDE6C_23C4_4B05_3D02, - 0x581C_49FE_D002_D64D, - 0xDD47_4D63_3826_1571, - 0xAA45_46C3_E473_D062, - 0x928F_CE34_9455_F860, - 0x4816_1BBA_CAAB_94D9, - 0x6391_2430_770E_6F68, - 0x6EC8_A5E6_02C6_641C, - 0x8728_2515_337D_DD2B, - 0x2CDA_6B42_034B_701B, - 0xB03D_37C1_81CB_096D, - 0xE108_4382_66C7_1C6F, - 0x2B31_80C7_EB51_B255, - 0xDF92_B82F_96C0_8BBC, - 0x5C68_C8C0_A632_F3BA, - 0x5504_CC86_1C3D_0556, - 0xABBF_A4E5_5FB2_6B8F, - 0x4184_8B0A_B3BA_CEB4, - 0xB334_A273_AA44_5D32, - 0xBCA6_96F0_A85A_D881, - 0x24F6_EC65_B528_D56C, - 0x0CE1_512E_90F4_524A, - 0x4E9D_D79D_5506_D35A, - 0x2589_05FA_C6CE_9779, - 0x2019_295B_3E10_9B33, - 0xF8A9_478B_73A0_54CC, - 0x2924_F2F9_3441_7EB0, - 0x3993_357D_536D_1BC4, - 0x38A8_1AC2_1DB6_FF8B, - 0x47C4_FBF1_7D60_16BF, - 0x1E0F_AADD_7667_E3F5, - 0x7ABC_FF62_938B_EB96, - 0xA78D_AD94_8FC1_79C9, - 0x8F1F_98B7_2911_E50D, - 0x61E4_8EAE_2712_1A91, - 0x4D62_F7AD_3185_9808, - 0xECEB_A345_EF5C_EAEB, - 0xF5CE_B25E_BC96_84CE, - 0xF633_E20C_B7F7_6221, - 0xA32C_DF06_AB82_93E4, - 0x985A_202C_A5EE_2CA4, - 0xCF0B_8447_CC8A_8FB1, - 0x9F76_5244_9798_59A3, - 0xA8D5_16B1_A124_0017, - 0x0BD7_BA3E_BB5D_C726, - 0xE54B_CA55_B86A_DB39, - 0x1D7A_3AFD_6C47_8063, - 0x519E_C608_E766_9EDD, - 0x0E57_15A2_D149_AA23, - 0x177D_4571_848F_F194, - 0xEEB5_5F32_4101_4C22, - 0x0F5E_5CA1_3A6E_2EC2, - 0x8029_927B_75F5_C361, - 0xAD13_9FAB_C3D6_E436, - 0x0D5D_F1A9_4CCF_402F, - 0x3E8B_D948_BEA5_DFC8, - 0xA5A0_D357_BD3F_F77E, - 0xA2D1_2E25_1F74_F645, - 0x66FD_9E52_5E81_A082, - 0x2E0C_90CE_7F68_7A49, - 0xC2E8_BCBE_BA97_3BC5, - 0x0000_01BC_E509_745F, - 0x4237_77BB_E6DA_B3D6, - 0xD166_1C7E_AEF0_6EB5, - 0xA178_1F35_4DAA_CFD8, - 0x2D11_284A_2B16_AFFC, - 0xF1FC_4F67_FA89_1D1F, - 0x73EC_C25D_CB92_0ADA, - 0xAE61_0C22_C2A1_2651, - 0x96E0_A810_D356_B78A, - 0x5A9A_381F_2FE7_870F, - 0xD5AD_62ED_E94E_5530, - 0xD225_E5E8_368D_1427, - 0x6597_7B70_C7AF_4631, - 0x99F8_89B2_DE39_D74F, - 0x233F_30BF_54E1_D143, - 0x9A96_75D3_D9A6_3C97, - 0x5470_554F_F334_F9A8, - 0x166A_CB74_4A4F_5688, - 0x70C7_4CAA_B2E4_AEAD, - 0xF0D0_9164_6F29_4D12, - 0x57B8_2A89_6840_31D1, - 0xEFD9_5A5A_61BE_0B6B, - 0x2FBD_12E9_69F2_F29A, - 0x9BD3_7013_FEFF_9FE8, - 0x3F9B_0404_D608_5A06, - 0x4940_C1F3_166C_FE15, - 0x0954_2C4D_CDF3_DEFB, - 0xB4C5_2183_85CD_5CE3, - 0xC935_B7DC_4462_A641, - 0x3417_F8A6_8ED3_B63F, - 0xB809_5929_5B21_5B40, - 0xF99C_DAEF_3B8C_8572, - 0x018C_0614_F8FC_B95D, - 0x1B14_ACCD_1A3A_CDF3, - 0x84D4_71F2_00BB_732D, - 0xC1A3_110E_95E8_DA16, - 0x430A_7220_BF1A_82B8, - 0xB77E_090D_39DF_210E, - 0x5EF4_BD9F_3CD0_5E9D, - 0x9D4F_F6DA_7E57_A444, - 0xDA1D_60E1_83D4_A5F8, - 0xB287_C384_1799_8E47, - 0xFE3E_DC12_1BB3_1886, - 0xC7FE_3CCC_980C_CBEF, - 0xE46F_B590_189B_FD03, - 0x3732_FD46_9A4C_57DC, - 0x7EF7_00A0_7CF1_AD65, - 0x59C6_4468_A31D_8859, - 0x762F_B0B4_D45B_61F6, - 0x155B_AED0_9904_7718, - 0x6875_5E4C_3D50_BAA6, - 0xE921_4E7F_22D8_B4DF, - 0x2ADD_BF53_2EAC_95F4, - 0x32AE_3909_B4BD_0109, - 0x834D_F537_B08E_3450, - 0xFA20_9DA8_4220_728D, - 0x9E69_1D9B_9EFE_23F7, - 0x0446_D288_C4AE_8D7F, - 0x7B4C_C524_E169_785B, - 0x21D8_7F01_35CA_1385, - 0xCEBB_400F_137B_8AA5, - 0x272E_2B66_5807_96BE, - 0x3612_2641_25C2_B0DE, - 0x0577_02BD_AD1E_FBB2, - 0xD4BA_BB8E_ACF8_4BE9, - 0x9158_3139_641B_C67B, - 0x8BDC_2DE0_8036_E024, - 0x603C_8156_F49F_68ED, - 0xF7D2_36F7_DBEF_5111, - 0x9727_C459_8AD2_1E80, - 0xA08A_0896_670A_5FD7, - 0xCB4A_8F43_09EB_A9CB, - 0x81AF_564B_0F70_36A1, - 0xC0B9_9AA7_7819_9ABD, - 0x959F_1EC8_3FC8_E952, - 0x8C50_5077_794A_81B9, - 0x3ACA_AF8F_0563_38F0, - 0x07B4_3F50_627A_6778, - 0x4A44_AB49_F5EC_CC77, - 0x3BC3_D6E4_B679_EE98, - 0x9CC0_D4D1_CF14_108C, - 0x4406_C00B_206B_C8A0, - 0x82A1_8854_C8D7_2D89, - 0x67E3_66B3_5C3C_432C, - 0xB923_DD61_102B_37F2, - 0x56AB_2779_D884_271D, - 0xBE83_E1B0_FF15_25AF, - 0xFB7C_65D4_217E_49A9, - 0x6BDB_E0E7_6D48_E7D4, - 0x08DF_8287_45D9_179E, - 0x22EA_6A9A_DD53_BD34, - 0xE36E_141C_5622_200A, - 0x7F80_5D1B_8CB7_50EE, - 0xAFE5_C7A5_9F58_E837, - 0xE27F_996A_4FB1_C23C, - 0xD386_7DFB_0775_F0D0, - 0xD0E6_73DE_6E88_891A, - 0x123A_EB9E_AFB8_6C25, - 0x30F1_D5D5_C145_B895, - 0xBB43_4A2D_EE72_69E7, - 0x78CB_67EC_F931_FA38, - 0xF33B_0372_323B_BF9C, - 0x52D6_6336_FB27_9C74, - 0x505F_33AC_0AFB_4EAA, - 0xE8A5_CD99_A2CC_E187, - 0x5349_7480_1E2D_30BB, - 0x8D2D_5711_D587_6D90, - 0x1F1A_4128_91BC_038E, - 0xD6E2_E71D_82E5_6648, - 0x7403_6C3A_4977_32B7, - 0x89B6_7ED9_6361_F5AB, - 0xFFED_95D8_F1EA_02A2, - 0xE72B_3BD6_1464_D43D, - 0xA630_0F17_0BDC_4820, - 0xEBC1_8760_ED78_A77A, -]; +use core::mem::transmute_copy; -pub(crate) static T2: [u64; 256] = [ - 0xE6A6_BE5A_05A1_2138, - 0xB5A1_22A5_B4F8_7C98, - 0x563C_6089_140B_6990, - 0x4C46_CB2E_391F_5DD5, - 0xD932_ADDB_C9B7_9434, - 0x08EA_70E4_2015_AFF5, - 0xD765_A667_3E47_8CF1, - 0xC4FB_757E_AB27_8D99, - 0xDF11_C686_2D6E_0692, - 0xDDEB_84F1_0D7F_3B16, - 0x6F2E_F604_A665_EA04, - 0x4A8E_0F0F_F0E0_DFB3, - 0xA5ED_EEF8_3DBC_BA51, - 0xFC4F_0A2A_0EA4_371E, - 0xE83E_1DA8_5CB3_8429, - 0xDC8F_F882_BA1B_1CE2, - 0xCD45_505E_8353_E80D, - 0x18D1_9A00_D4DB_0717, - 0x34A0_CFED_A5F3_8101, - 0x0BE7_7E51_8887_CAF2, - 0x1E34_1438_B3C4_5136, - 0xE057_97F4_9089_CCF9, - 0xFFD2_3F9D_F259_1D14, - 0x543D_DA22_8595_C5CD, - 0x661F_81FD_9905_2A33, - 0x8736_E641_DB0F_7B76, - 0x1522_7725_418E_5307, - 0xE25F_7F46_162E_B2FA, - 0x48A8_B212_6C13_D9FE, - 0xAFDC_5417_92E7_6EEA, - 0x03D9_12BF_C6D1_898F, - 0x31B1_AAFA_1B83_F51B, - 0xF1AC_2796_E42A_B7D9, - 0x40A3_A7D7_FCD2_EBAC, - 0x1056_136D_0AFB_BCC5, - 0x7889_E1DD_9A6D_0C85, - 0xD335_2578_2A79_74AA, - 0xA7E2_5D09_078A_C09B, - 0xBD41_38B3_EAC6_EDD0, - 0x920A_BFBE_71EB_9E70, - 0xA2A5_D0F5_4FC2_625C, - 0xC054_E36B_0B12_90A3, - 0xF6DD_59FF_62FE_932B, - 0x3537_3545_11A8_AC7D, - 0xCA84_5E91_72FA_DCD4, - 0x84F8_2B60_329D_20DC, - 0x79C6_2CE1_CD67_2F18, - 0x8B09_A2AD_D124_642C, - 0xD0C1_E96A_19D9_E726, - 0x5A78_6A9B_4BA9_500C, - 0x0E02_0336_634C_43F3, - 0xC17B_474A_EB66_D822, - 0x6A73_1AE3_EC9B_AAC2, - 0x8226_667A_E084_0258, - 0x67D4_5676_91CA_ECA5, - 0x1D94_155C_4875_ADB5, - 0x6D00_FD98_5B81_3FDF, - 0x5128_6EFC_B774_CD06, - 0x5E88_3447_1FA7_44AF, - 0xF72C_A0AE_E761_AE2E, - 0xBE40_E4CD_AEE8_E09A, - 0xE997_0BBB_5118_F665, - 0x726E_4BEB_33DF_1964, - 0x703B_0007_2919_9762, - 0x4631_D816_F5EF_30A7, - 0xB880_B5B5_1504_A6BE, - 0x6417_93C3_7ED8_4B6C, - 0x7B21_ED77_F6E9_7D96, - 0x7763_0631_2EF9_6B73, - 0xAE52_8948_E86F_F3F4, - 0x53DB_D7F2_86A3_F8F8, - 0x16CA_DCE7_4CFC_1063, - 0x005C_19BD_FA52_C6DD, - 0x6886_8F5D_64D4_6AD3, - 0x3A9D_512C_CF1E_186A, - 0x367E_62C2_3856_60AE, - 0xE359_E7EA_77DC_B1D7, - 0x526C_0773_749A_BE6E, - 0x735A_E5F9_D09F_734B, - 0x493F_C7CC_8A55_8BA8, - 0xB0B9_C153_3041_AB45, - 0x3219_58BA_470A_59BD, - 0x852D_B00B_5F46_C393, - 0x9120_9B2B_D336_B0E5, - 0x6E60_4F7D_659E_F19F, - 0xB99A_8AE2_782C_CB24, - 0xCCF5_2AB6_C814_C4C7, - 0x4727_D9AF_BE11_727B, - 0x7E95_0D0C_0121_B34D, - 0x756F_4356_70AD_471F, - 0xF5AD_D442_615A_6849, - 0x4E87_E099_80B9_957A, - 0x2ACF_A1DF_50AE_E355, - 0xD898_263A_FD2F_D556, - 0xC8F4_924D_D80C_8FD6, - 0xCF99_CA3D_754A_173A, - 0xFE47_7BAC_AF91_BF3C, - 0xED53_71F6_D690_C12D, - 0x831A_5C28_5E68_7094, - 0xC5D3_C90A_3708_A0A4, - 0x0F7F_9037_17D0_6580, - 0x19F9_BB13_B8FD_F27F, - 0xB1BD_6F1B_4D50_2843, - 0x1C76_1BA3_8FFF_4012, - 0x0D15_30C4_E2E2_1F3B, - 0x8943_CE69_A737_2C8A, - 0xE518_4E11_FEB5_CE66, - 0x618B_DB80_BD73_6621, - 0x7D29_BAD6_8B57_4D0B, - 0x81BB_613E_25E6_FE5B, - 0x071C_9C10_BC07_913F, - 0xC7BE_EB79_09AC_2D97, - 0xC3E5_8D35_3BC5_D757, - 0xEB01_7892_F38F_61E8, - 0xD4EF_FB9C_9B1C_C21A, - 0x9972_7D26_F494_F7AB, - 0xA3E0_63A2_956B_3E03, - 0x9D4A_8B9A_4AA0_9C30, - 0x3F6A_B7D5_0009_0FB4, - 0x9CC0_F2A0_5726_8AC0, - 0x3DEE_9D2D_EDBF_42D1, - 0x330F_49C8_7960_A972, - 0xC6B2_7202_8742_1B41, - 0x0AC5_9EC0_7C00_369C, - 0xEF4E_AC49_CB35_3425, - 0xF450_244E_EF01_29D8, - 0x8ACC_46E5_CAF4_DEB6, - 0x2FFE_AB63_9892_63F7, - 0x8F7C_B9FE_5D7A_4578, - 0x5BD8_F764_4E63_4635, - 0x427A_7315_BF2D_C900, - 0x17D0_C4AA_2125_261C, - 0x3992_486C_9351_8E50, - 0xB4CB_FEE0_A2D7_D4C3, - 0x7C75_D620_2C5D_DD8D, - 0xDBC2_95D8_E35B_6C61, - 0x60B3_69D3_0203_2B19, - 0xCE42_685F_DCE4_4132, - 0x06F3_DDB9_DDF6_5610, - 0x8EA4_D21D_B5E1_48F0, - 0x20B0_FCE6_2FCD_496F, - 0x2C1B_9123_58B0_EE31, - 0xB283_17B8_18F5_A308, - 0xA89C_1E18_9CA6_D2CF, - 0x0C6B_1857_6AAA_DBC8, - 0xB65D_EAA9_1299_FAE3, - 0xFB2B_794B_7F10_27E7, - 0x04E4_317F_443B_5BEB, - 0x4B85_2D32_5939_D0A6, - 0xD5AE_6BEE_FB20_7FFC, - 0x3096_82B2_81C7_D374, - 0xBAE3_09A1_94C3_B475, - 0x8CC3_F97B_13B4_9F05, - 0x98A9_422F_F829_3967, - 0x244B_16B0_1076_FF7C, - 0xF8BF_571C_663D_67EE, - 0x1F0D_6758_EEE3_0DA1, - 0xC9B6_11D9_7ADE_B9B7, - 0xB7AF_D588_7B6C_57A2, - 0x6290_AE84_6B98_4FE1, - 0x94DF_4CDE_ACC1_A5FD, - 0x058A_5BD1_C548_3AFF, - 0x6316_6CC1_42BA_3C37, - 0x8DB8_526E_B2F7_6F40, - 0xE108_8003_6F0D_6D4E, - 0x9E05_23C9_971D_311D, - 0x45EC_2824_CC7C_D691, - 0x575B_8359_E623_82C9, - 0xFA9E_400D_C488_9995, - 0xD182_3ECB_4572_1568, - 0xDAFD_983B_8206_082F, - 0xAA7D_2908_2386_A8CB, - 0x269F_CD44_03B8_7588, - 0x1B91_F5F7_28BD_D1E0, - 0xE466_9F39_0402_01F6, - 0x7A1D_7C21_8CF0_4ADE, - 0x6562_3C29_D79C_E5CE, - 0x2368_4490_96C0_0BB1, - 0xAB9B_F187_9DA5_03BA, - 0xBC23_ECB1_A458_058E, - 0x9A58_DF01_BB40_1ECC, - 0xA070_E868_A85F_143D, - 0x4FF1_8830_7DF2_239E, - 0x14D5_65B4_1A64_1183, - 0xEE13_3374_5270_1602, - 0x950E_3DCF_3F28_5E09, - 0x5993_0254_B9C8_0953, - 0x3BF2_9940_8930_DA6D, - 0xA955_943F_5369_1387, - 0xA15E_DECA_A9CB_8784, - 0x2914_2127_352B_E9A0, - 0x76F0_371F_FF4E_7AFB, - 0x0239_F450_274F_2228, - 0xBB07_3AF0_1D5E_868B, - 0xBFC8_0571_C10E_96C1, - 0xD267_0885_6822_2E23, - 0x9671_A3D4_8E80_B5B0, - 0x55B5_D38A_E193_BB81, - 0x693A_E2D0_A18B_04B8, - 0x5C48_B4EC_ADD5_335F, - 0xFD74_3B19_4916_A1CA, - 0x2577_0181_34BE_98C4, - 0xE779_87E8_3C54_A4AD, - 0x28E1_1014_DA33_E1B9, - 0x270C_C59E_226A_A213, - 0x7149_5F75_6D1A_5F60, - 0x9BE8_53FB_60AF_EF77, - 0xADC7_86A7_F744_3DBF, - 0x0904_4561_73B2_9A82, - 0x58BC_7A66_C232_BD5E, - 0xF306_558C_673A_C8B2, - 0x41F6_39C6_B6C9_772A, - 0x216D_EFE9_9FDA_35DA, - 0x1164_0CC7_1C7B_E615, - 0x93C4_3694_565C_5527, - 0xEA03_8E62_4677_7839, - 0xF9AB_F3CE_5A3E_2469, - 0x741E_768D_0FD3_12D2, - 0x0144_B883_CED6_52C6, - 0xC20B_5A5B_A33F_8552, - 0x1AE6_9633_C343_5A9D, - 0x97A2_8CA4_088C_FDEC, - 0x8824_A43C_1E96_F420, - 0x3761_2FA6_6EEE_A746, - 0x6B4C_B165_F9CF_0E5A, - 0x43AA_1C06_A0AB_FB4A, - 0x7F4D_C26F_F162_796B, - 0x6CBA_CC8E_54ED_9B0F, - 0xA6B7_FFEF_D2BB_253E, - 0x2E25_BC95_B0A2_9D4F, - 0x86D6_A58B_DEF1_388C, - 0xDED7_4AC5_76B6_F054, - 0x8030_BDBC_2B45_805D, - 0x3C81_AF70_E94D_9289, - 0x3EFF_6DDA_9E31_00DB, - 0xB38D_C39F_DFCC_8847, - 0x1238_8552_8D17_B87E, - 0xF2DA_0ED2_40B1_B642, - 0x44CE_FADC_D54B_F9A9, - 0x1312_200E_433C_7EE6, - 0x9FFC_C84F_3A78_C748, - 0xF0CD_1F72_2485_76BB, - 0xEC69_7405_3638_CFE4, - 0x2BA7_B67C_0CEC_4E4C, - 0xAC2F_4DF3_E5CE_32ED, - 0xCB33_D143_26EA_4C11, - 0xA4E9_044C_C77E_58BC, - 0x5F51_3293_D934_FCEF, - 0x5DC9_6455_06E5_5444, - 0x50DE_418F_317D_E40A, - 0x388C_B31A_69DD_E259, - 0x2DB4_A834_5582_0A86, - 0x9010_A91E_8471_1AE9, - 0x4DF7_F0B7_B149_8371, - 0xD62A_2EAB_C097_7179, - 0x22FA_C097_AA8D_5C0E, -]; +#[cfg(target_endian = "little")] +pub(crate) static TABLES: [[u64; 256]; 4] = unsafe { transmute_copy(include_bytes!("tables.bin")) }; -pub(crate) static T3: [u64; 256] = [ - 0xF49F_CC2F_F1DA_F39B, - 0x487F_D5C6_6FF2_9281, - 0xE8A3_0667_FCDC_A83F, - 0x2C9B_4BE3_D2FC_CE63, - 0xDA3F_F74B_93FB_BBC2, - 0x2FA1_65D2_FE70_BA66, - 0xA103_E279_970E_93D4, - 0xBECD_EC77_B0E4_5E71, - 0xCFB4_1E72_3985_E497, - 0xB70A_AA02_5EF7_5017, - 0xD423_09F0_3840_B8E0, - 0x8EFC_1AD0_3589_8579, - 0x96C6_920B_E2B2_ABC5, - 0x66AF_4163_375A_9172, - 0x2174_ABDC_CA71_27FB, - 0xB33C_CEA6_4A72_FF41, - 0xF04A_4933_0830_66A5, - 0x8D97_0ACD_D728_9AF5, - 0x8F96_E8E0_31C8_C25E, - 0xF3FE_C022_7687_5D47, - 0xEC7B_F310_0561_90DD, - 0xF5AD_B0AE_BB0F_1491, - 0x9B50_F885_0FD5_8892, - 0x4975_4883_58B7_4DE8, - 0xA335_4FF6_9153_1C61, - 0x0702_BBE4_81D2_C6EE, - 0x89FB_2405_7DED_ED98, - 0xAC30_7513_8596_E902, - 0x1D2D_3580_1727_72ED, - 0xEB73_8FC2_8E6B_C30D, - 0x5854_EF8F_6304_4326, - 0x9E5C_5232_5ADD_3BBE, - 0x90AA_53CF_325C_4623, - 0xC1D2_4D51_349D_D067, - 0x2051_CFEE_A69E_A624, - 0x1322_0F0A_862E_7E4F, - 0xCE39_3994_04E0_4864, - 0xD9C4_2CA4_7086_FCB7, - 0x685A_D223_8A03_E7CC, - 0x0664_84B2_AB2F_F1DB, - 0xFE9D_5D70_EFBF_79EC, - 0x5B13_B9DD_9C48_1854, - 0x15F0_D475_ED15_09AD, - 0x0BEB_CD06_0EC7_9851, - 0xD58C_6791_183A_B7F8, - 0xD118_7C50_52F3_EEE4, - 0xC95D_1192_E54E_82FF, - 0x86EE_A14C_B9AC_6CA2, - 0x3485_BEB1_5367_7D5D, - 0xDD19_1D78_1F8C_492A, - 0xF608_66BA_A784_EBF9, - 0x518F_643B_A2D0_8C74, - 0x8852_E956_E108_7C22, - 0xA768_CB8D_C410_AE8D, - 0x3804_7726_BFEC_8E1A, - 0xA677_38B4_CD3B_45AA, - 0xAD16_691C_EC0D_DE19, - 0xC6D4_3193_8046_2E07, - 0xC5A5_876D_0BA6_1938, - 0x16B9_FA1F_A58F_D840, - 0x188A_B117_3CA7_4F18, - 0xABDA_2F98_C99C_021F, - 0x3E05_80AB_134A_E816, - 0x5F3B_05B7_7364_5ABB, - 0x2501_A2BE_5575_F2F6, - 0x1B2F_7400_4E7E_8BA9, - 0x1CD7_5803_71E8_D953, - 0x7F6E_D895_6276_4E30, - 0xB159_26FF_596F_003D, - 0x9F65_293D_A8C5_D6B9, - 0x6ECE_F04D_D690_F84C, - 0x4782_275F_FF33_AF88, - 0xE414_3308_3F82_0801, - 0xFD0D_FE40_9A1A_F9B5, - 0x4325_A334_2CDB_396B, - 0x8AE7_7E62_B301_B252, - 0xC36F_9E9F_6655_615A, - 0x8545_5A2D_92D3_2C09, - 0xF2C7_DEA9_4947_7485, - 0x63CF_B4C1_33A3_9EBA, - 0x83B0_40CC_6EBC_5462, - 0x3B94_54C8_FDB3_26B0, - 0x56F5_6A9E_87FF_D78C, - 0x2DC2_940D_99F4_2BC6, - 0x98F7_DF09_6B09_6E2D, - 0x19A6_E01E_3AD8_52BF, - 0x42A9_9CCB_DBD4_B40B, - 0xA599_98AF_45E9_C559, - 0x3662_95E8_07D9_3186, - 0x6B48_181B_FAA1_F773, - 0x1FEC_57E2_157A_0A1D, - 0x4667_446A_F620_1AD5, - 0xE615_EBCA_CFB0_F075, - 0xB8F3_1F4F_6829_0778, - 0x2271_3ED6_CE22_D11E, - 0x3057_C1A7_2EC3_C93B, - 0xCB46_ACC3_7C3F_1F2F, - 0xDBB8_93FD_02AA_F50E, - 0x331F_D92E_600B_9FCF, - 0xA498_F961_48EA_3AD6, - 0xA8D8_426E_8B6A_83EA, - 0xA089_B274_B773_5CDC, - 0x87F6_B373_1E52_4A11, - 0x1188_08E5_CBC9_6749, - 0x9906_E4C7_B19B_D394, - 0xAFED_7F7E_9B24_A20C, - 0x6509_EADE_EB36_44A7, - 0x6C1E_F1D3_E8EF_0EDE, - 0xB9C9_7D43_E979_8FB4, - 0xA2F2_D784_740C_28A3, - 0x7B84_9647_6197_566F, - 0x7A5B_E3E6_B65F_069D, - 0xF963_30ED_78BE_6F10, - 0xEEE6_0DE7_7A07_6A15, - 0x2B4B_EE4A_A08B_9BD0, - 0x6A56_A63E_C7B8_894E, - 0x0212_1359_BA34_FEF4, - 0x4CBF_99F8_2837_03FC, - 0x3980_7135_0CAF_30C8, - 0xD0A7_7A89_F017_687A, - 0xF1C1_A9EB_9E42_3569, - 0x8C79_7628_2DEE_8199, - 0x5D17_37A5_DD1F_7ABD, - 0x4F53_433C_09A9_FA80, - 0xFA8B_0C53_DF7C_A1D9, - 0x3FD9_DCBC_886C_CB77, - 0xC040_917C_A91B_4720, - 0x7DD0_0142_F9D1_DCDF, - 0x8476_FC1D_4F38_7B58, - 0x23F8_E7C5_F331_6503, - 0x032A_2244_E7E3_7339, - 0x5C87_A5D7_50F5_A74B, - 0x082B_4CC4_3698_992E, - 0xDF91_7BEC_B858_F63C, - 0x3270_B8FC_5BF8_6DDA, - 0x10AE_72BB_29B5_DD76, - 0x576A_C94E_7700_362B, - 0x1AD1_12DA_C61E_FB8F, - 0x691B_C30E_C5FA_A427, - 0xFF24_6311_CC32_7143, - 0x3142_368E_30E5_3206, - 0x7138_0E31_E02C_A396, - 0x958D_5C96_0AAD_76F1, - 0xF8D6_F430_C16D_A536, - 0xC8FF_D13F_1BE7_E1D2, - 0x7578_AE66_004D_DBE1, - 0x0583_3F01_067B_E646, - 0xBB34_B5AD_3BFE_586D, - 0x095F_34C9_A12B_97F0, - 0x247A_B645_25D6_0CA8, - 0xDCDB_C6F3_0174_77D1, - 0x4A2E_14D4_DECA_D24D, - 0xBDB5_E6D9_BE0A_1EEB, - 0x2A7E_70F7_7943_01AB, - 0xDEF4_2D8A_2705_40FD, - 0x0107_8EC0_A34C_22C1, - 0xE5DE_511A_F4C1_6387, - 0x7EBB_3A52_BD9A_330A, - 0x7769_7857_AA7D_6435, - 0x004E_8316_03AE_4C32, - 0xE7A2_1020_AD78_E312, - 0x9D41_A70C_6AB4_20F2, - 0x28E0_6C18_EA11_41E6, - 0xD2B2_8CBD_984F_6B28, - 0x26B7_5F6C_446E_9D83, - 0xBA47_568C_4D41_8D7F, - 0xD80B_ADBF_E618_3D8E, - 0x0E20_6D7F_5F16_6044, - 0xE258_A439_11CB_CA3E, - 0x723A_1746_B21D_C0BC, - 0xC7CA_A854_F5D7_CDD3, - 0x7CAC_3288_3D26_1D9C, - 0x7690_C264_23BA_942C, - 0x17E5_5524_4780_42B8, - 0xE0BE_4776_56A2_389F, - 0x4D28_9B5E_67AB_2DA0, - 0x4486_2B9C_8FBB_FD31, - 0xB47C_C804_9D14_1365, - 0x822C_1B36_2B91_C793, - 0x4EB1_4655_FB13_DFD8, - 0x1ECB_BA07_14E2_A97B, - 0x6143_459D_5CDE_5F14, - 0x53A8_FBF1_D5F0_AC89, - 0x97EA_04D8_1C5E_5B00, - 0x6221_81A8_D4FD_B3F3, - 0xE9BC_D341_572A_1208, - 0x1411_2586_43CC_E58A, - 0x9144_C5FE_A4C6_E0A4, - 0x0D33_D065_65CF_620F, - 0x54A4_8D48_9F21_9CA1, - 0xC43E_5EAC_6D63_C821, - 0xA972_8B3A_7277_0DAF, - 0xD793_4E7B_20DF_87EF, - 0xE355_03B6_1A3E_86E5, - 0xCAE3_21FB_C819_D504, - 0x129A_50B3_AC60_BFA6, - 0xCD5E_68EA_7E9F_B6C3, - 0xB01C_9019_9483_B1C7, - 0x3DE9_3CD5_C295_376C, - 0xAED5_2EDF_2AB9_AD13, - 0x2E60_F512_C0A0_7884, - 0xBC3D_86A3_E362_10C9, - 0x3526_9D9B_1639_51CE, - 0x0C7D_6E2A_D0CD_B5FA, - 0x59E8_6297_D87F_5733, - 0x298E_F221_898D_B0E7, - 0x5500_0029_D1A5_AA7E, - 0x8BC0_8AE1_B506_1B45, - 0xC2C3_1C2B_6C92_703A, - 0x94CC_596B_AF25_EF42, - 0x0A1D_73DB_2254_0456, - 0x04B6_A0F9_D9C4_179A, - 0xEFFD_AFA2_AE3D_3C60, - 0xF7C8_075B_B494_96C4, - 0x9CC5_C714_1D1C_D4E3, - 0x78BD_1638_218E_5534, - 0xB2F1_1568_F850_246A, - 0xEDFA_BCFA_9502_BC29, - 0x796C_E5F2_DA23_051B, - 0xAAE1_28B0_DC93_537C, - 0x3A49_3DA0_EE4B_29AE, - 0xB5DF_6B2C_4168_95D7, - 0xFCAB_BD25_122D_7F37, - 0x7081_0B58_105D_C4B1, - 0xE10F_DD37_F788_2A90, - 0x524D_CAB5_518A_3F5C, - 0x3C9E_8587_8451_255B, - 0x4029_8281_19BD_34E2, - 0x74A0_5B6F_5D3C_ECCB, - 0xB610_0215_42E1_3ECA, - 0x0FF9_79D1_2F59_E2AC, - 0x6037_DA27_E4F9_CC50, - 0x5E92_975A_0DF1_847D, - 0xD66D_E190_D3E6_23FE, - 0x5032_D6B8_7B56_8048, - 0x9A36_B7CE_8235_216E, - 0x8027_2A7A_24F6_4B4A, - 0x93EF_ED8B_8C69_16F7, - 0x37DD_BFF4_4CCE_1555, - 0x4B95_DB5D_4B99_BD25, - 0x92D3_FDA1_6981_2FC0, - 0xFB1A_4A9A_9066_0BB6, - 0x730C_1969_46A4_B9B2, - 0x81E2_89AA_7F49_DA68, - 0x6466_9A0F_83B1_A05F, - 0x27B3_FF7D_9644_F48B, - 0xCC6B_615C_8DB6_75B3, - 0x674F_20B9_BCEB_BE95, - 0x6F31_2382_7565_5982, - 0x5AE4_8871_3E45_CF05, - 0xBF61_9F99_54C2_1157, - 0xEABA_C460_40A8_EAE9, - 0x454C_6FE9_F2C0_C1CD, - 0x419C_F649_6412_691C, - 0xD3DC_3BEF_265B_0F70, - 0x6D0E_60F5_C357_8A9E, -]; - -pub(crate) static T4: [u64; 256] = [ - 0x5B0E_6085_2632_3C55, - 0x1A46_C1A9_FA1B_59F5, - 0xA9E2_45A1_7C4C_8FFA, - 0x65CA_5159_DB29_55D7, - 0x05DB_0A76_CE35_AFC2, - 0x81EA_C77E_A911_3D45, - 0x528E_F88A_B6AC_0A0D, - 0xA09E_A253_597B_E3FF, - 0x430D_DFB3_AC48_CD56, - 0xC4B3_A67A_F45C_E46F, - 0x4ECE_CFD8_FBE2_D05E, - 0x3EF5_6F10_B399_35F0, - 0x0B22_D682_9CD6_19C6, - 0x17FD_460A_74DF_2069, - 0x6CF8_CC8E_8510_ED40, - 0xD6C8_24BF_3A6E_CAA7, - 0x6124_3D58_1A81_7049, - 0x048B_ACB6_BBC1_63A2, - 0xD9A3_8AC2_7D44_CC32, - 0x7FDD_FF5B_AAF4_10AB, - 0xAD6D_495A_A804_824B, - 0xE1A6_A74F_2D8C_9F94, - 0xD4F7_8512_35DE_E8E3, - 0xFD4B_7F88_6540_D893, - 0x247C_2004_2AA4_BFDA, - 0x096E_A1C5_17D1_327C, - 0xD569_66B4_361A_6685, - 0x277D_A5C3_1221_057D, - 0x94D5_9893_A43A_CFF7, - 0x64F0_C51C_CDC0_2281, - 0x3D33_BCC4_FF61_89DB, - 0xE005_CB18_4CE6_6AF1, - 0xFF5C_CD1D_1DB9_9BEA, - 0xB0B8_54A7_FE42_980F, - 0x7BD4_6A6A_718D_4B9F, - 0xD10F_A8CC_22A5_FD8C, - 0xD314_8495_2BE4_BD31, - 0xC7FA_975F_CB24_3847, - 0x4886_ED1E_5846_C407, - 0x28CD_DB79_1EB7_0B04, - 0xC2B0_0BE2_F573_417F, - 0x5C95_9045_2180_F877, - 0x7A6B_DDFF_F370_EB00, - 0xCE50_9E38_D6D9_D6A4, - 0xEBEB_0F00_647F_A702, - 0x1DCC_06CF_7660_6F06, - 0xE4D9_F28B_A286_FF0A, - 0xD85A_305D_C918_C262, - 0x475B_1D87_3222_5F54, - 0x2D4F_B516_68CC_B5FE, - 0xA679_B9D9_D72B_BA20, - 0x5384_1C0D_912D_43A5, - 0x3B7E_AA48_BF12_A4E8, - 0x781E_0E47_F22F_1DDF, - 0xEFF2_0CE6_0AB5_0973, - 0x20D2_61D1_9DFF_B742, - 0x16A1_2B03_062A_2E39, - 0x1960_EB22_3965_0495, - 0x251C_16FE_D50E_B8B8, - 0x9AC0_C330_F826_016E, - 0xED15_2665_953E_7671, - 0x02D6_3194_A636_9570, - 0x5074_F083_94B1_C987, - 0x70BA_598C_90B2_5CE1, - 0x794A_1581_0B97_42F6, - 0x0D59_25E9_FCAF_8C6C, - 0x3067_716C_D868_744E, - 0x910A_B077_E8D7_731B, - 0x6A61_BBDB_5AC4_2F61, - 0x9351_3EFB_F085_1567, - 0xF494_724B_9E83_E9D5, - 0xE887_E198_5C09_648D, - 0x34B1_D3C6_7537_0CFD, - 0xDC35_E433_BC0D_255D, - 0xD0AA_B842_3413_1BE0, - 0x0804_2A50_B48B_7EAF, - 0x9997_C4EE_44A3_AB35, - 0x829A_7B49_2017_99D0, - 0x263B_8307_B7C5_4441, - 0x752F_95F4_FD6A_6CA6, - 0x9272_1740_2C08_C6E5, - 0x2A8A_B754_A795_D9EE, - 0xA442_F755_2F72_943D, - 0x2C31_334E_1978_1208, - 0x4FA9_8D7C_EAEE_6291, - 0x55C3_862F_665D_B309, - 0xBD06_1017_5D53_B1F3, - 0x46FE_6CB8_4041_3F27, - 0x3FE0_3792_DF0C_FA59, - 0xCFE7_0037_2EB8_5E8F, - 0xA7BE_29E7_ADBC_E118, - 0xE544_EE5C_DE84_31DD, - 0x8A78_1B1B_41F1_873E, - 0xA5C9_4C78_A0D2_F0E7, - 0x3941_2E28_77B6_0728, - 0xA126_5EF3_AFC9_A62C, - 0xBCC2_770C_6A25_06C5, - 0x3AB6_6DD5_DCE1_CE12, - 0xE654_99D0_4A67_5B37, - 0x7D8F_5234_81BF_D216, - 0x0F6F_64FC_EC15_F389, - 0x74EF_BE61_8B5B_13C8, - 0xACDC_82B7_1427_3E1D, - 0xDD40_BFE0_0319_9D17, - 0x37E9_9257_E7E0_61F8, - 0xFA52_6269_0477_5AAA, - 0x8BBB_F63A_463D_56F9, - 0xF001_3F15_43A2_6E64, - 0xA830_7E9F_879E_C898, - 0xCC4C_27A4_1501_77CC, - 0x1B43_2F2C_CA1D_3348, - 0xDE1D_1F8F_9F6F_A013, - 0x6066_02A0_47A7_DDD6, - 0xD237_AB64_CC1C_B2C7, - 0x9B93_8E72_25FC_D1D3, - 0xEC4E_0370_8E0F_F476, - 0xFEB2_FBDA_3D03_C12D, - 0xAE0B_CED2_EE43_889A, - 0x22CB_8923_EBFB_4F43, - 0x6936_0D01_3CF7_396D, - 0x855E_3602_D2D4_E022, - 0x0738_05BA_D01F_784C, - 0x33E1_7A13_3852_F546, - 0xDF48_7405_8AC7_B638, - 0xBA92_B29C_678A_A14A, - 0x0CE8_9FC7_6CFA_ADCD, - 0x5F9D_4E09_0833_9E34, - 0xF1AF_E929_1F59_23B9, - 0x6E34_80F6_0F4A_265F, - 0xEEBF_3A2A_B29B_841C, - 0xE219_38A8_8F91_B4AD, - 0x57DF_EFF8_45C6_D3C3, - 0x2F00_6B0B_F62C_AAF2, - 0x62F4_79EF_6F75_EE78, - 0x11A5_5AD4_1C89_16A9, - 0xF229_D290_84FE_D453, - 0x42F1_C27B_16B0_00E6, - 0x2B1F_7674_9823_C074, - 0x4B76_ECA3_C274_5360, - 0x8C98_F463_B916_91BD, - 0x14BC_C93C_F1AD_E66A, - 0x8885_213E_6D45_8397, - 0x8E17_7DF0_274D_4711, - 0xB49B_73B5_503F_2951, - 0x1016_8168_C3F9_6B6B, - 0x0E3D_963B_63CA_B0AE, - 0x8DFC_4B56_55A1_DB14, - 0xF789_F135_6E14_DE5C, - 0x683E_68AF_4E51_DAC1, - 0xC9A8_4F9D_8D4B_0FD9, - 0x3691_E03F_52A0_F9D1, - 0x5ED8_6E46_E187_8E80, - 0x3C71_1A0E_99D0_7150, - 0x5A08_65B2_0C4E_9310, - 0x56FB_FC1F_E4F0_682E, - 0xEA8D_5DE3_105E_DF9B, - 0x71AB_FDB1_2379_187A, - 0x2EB9_9DE1_BEE7_7B9C, - 0x21EC_C0EA_33CF_4523, - 0x59A4_D752_1805_C7A1, - 0x3896_F5EB_56AE_7C72, - 0xAA63_8F3D_B18F_75DC, - 0x9F39_358D_ABE9_808E, - 0xB7DE_FA91_C00B_72AC, - 0x6B55_41FD_6249_2D92, - 0x6DC6_DEE8_F92E_4D5B, - 0x353F_57AB_C4BE_EA7E, - 0x7357_69D6_DA56_90CE, - 0x0A23_4AA6_4239_1484, - 0xF6F9_5080_28F8_0D9D, - 0xB8E3_19A2_7AB3_F215, - 0x31AD_9C11_5134_1A4D, - 0x773C_22A5_7BEF_5805, - 0x45C7_561A_0796_8633, - 0xF913_DA9E_249D_BE36, - 0xDA65_2D9B_78A6_4C68, - 0x4C27_A97F_3BC3_34EF, - 0x7662_1220_E66B_17F4, - 0x9677_4389_9ACD_7D0B, - 0xF3EE_5BCA_E0ED_6782, - 0x409F_7536_00C8_79FC, - 0x06D0_9A39_B592_6DB6, - 0x6F83_AEB0_317A_C588, - 0x01E6_CA4A_8638_1F21, - 0x66FF_3462_D19F_3025, - 0x7220_7C24_DDFD_3BFB, - 0x4AF6_B6D3_E2EC_E2EB, - 0x9C99_4DBE_C7EA_08DE, - 0x49AC_E597_B09A_8BC4, - 0xB38C_4766_CF07_97BA, - 0x131B_9373_C57C_2A75, - 0xB182_2CCE_6193_1E58, - 0x9D75_55B9_09BA_1C0C, - 0x127F_AFDD_937D_11D2, - 0x29DA_3BAD_C66D_92E4, - 0xA2C1_D571_54C2_ECBC, - 0x58C5_134D_82F6_FE24, - 0x1C3A_E351_5B62_274F, - 0xE907_C82E_01CB_8126, - 0xF8ED_0919_13E3_7FCB, - 0x3249_D8F9_C800_46C9, - 0x80CF_9BED_E388_FB63, - 0x1881_539A_116C_F19E, - 0x5103_F3F7_6BD5_2457, - 0x15B7_E6F5_AE47_F7A8, - 0xDBD7_C6DE_D47E_9CCF, - 0x44E5_5C41_0228_BB1A, - 0xB647_D425_5EDB_4E99, - 0x5D11_882B_B8AA_FC30, - 0xF509_8BBB_29D3_212A, - 0x8FB5_EA14_E902_96B3, - 0x677B_9421_57DD_025A, - 0xFB58_E7C0_A390_ACB5, - 0x89D3_674C_83BD_4A01, - 0x9E2D_A4DF_4BF3_B93B, - 0xFCC4_1E32_8CAB_4829, - 0x03F3_8C96_BA58_2C52, - 0xCAD1_BDBD_7FD8_5DB2, - 0xBBB4_42C1_6082_AE83, - 0xB95F_E86B_A5DA_9AB0, - 0xB22E_0467_3771_A93F, - 0x8453_58C9_4931_52D8, - 0xBE2A_4886_97B4_541E, - 0x95A2_DC2D_D38E_6966, - 0xC02C_11AC_923C_852B, - 0x2388_B199_0DF2_A87B, - 0x7C80_08FA_1B4F_37BE, - 0x1F70_D0C8_4D54_E503, - 0x5490_ADEC_7ECE_57D4, - 0x002B_3C27_D906_3A3A, - 0x7EAE_A384_8030_A2BF, - 0xC602_326D_ED20_03C0, - 0x83A7_287D_69A9_4086, - 0xC57A_5FCB_30F5_7A8A, - 0xB568_44E4_79EB_E779, - 0xA373_B40F_05DC_BCE9, - 0xD71A_786E_8857_0EE2, - 0x879C_BACD_BDE8_F6A0, - 0x976A_D1BC_C164_A32F, - 0xAB21_E25E_9666_D78B, - 0x9010_63AA_E5E5_C33C, - 0x9818_B344_4869_8D90, - 0xE364_87AE_3E1E_8ABB, - 0xAFBD_F931_893B_DCB4, - 0x6345_A0DC_5FBB_D519, - 0x8628_FE26_9B94_65CA, - 0x1E5D_0160_3F9C_51EC, - 0x4DE4_4006_A150_49B7, - 0xBF6C_70E5_F776_CBB1, - 0x4112_18F2_EF55_2BED, - 0xCB0C_0708_705A_36A3, - 0xE74D_1475_4F98_6044, - 0xCD56_D943_0EA8_280E, - 0xC125_91D7_535F_5065, - 0xC832_23F1_720A_EF96, - 0xC3A0_396F_7363_A51F, -]; +#[cfg(target_endian = "big")] +pub(crate) static TABLES: [[u64; 256]; 4] = { + let mut tables: [[u64; 256]; 4] = unsafe { transmute_copy(include_bytes!("tables.bin")) }; + let mut i = 0; + while i < 4 { + let mut j = 0; + while j < 256 { + tables[i][j] = tables[i][j].swap_bytes(); + j += 1; + } + i += 1; + } + tables +}; diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 71e7f64e0..b8ed88f2f 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -22,3 +22,8 @@ hex-literal = "0.4" [features] default = ["std"] std = ["digest/std"] +zeroize = ["digest/zeroize"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 5e249bec8..7972b2a7d 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -4,6 +4,7 @@ html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" )] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] @@ -21,6 +22,9 @@ use digest::{ HashMarker, Output, }; +#[cfg(feature = "zeroize")] +use digest::zeroize::{Zeroize, ZeroizeOnDrop}; + mod compress; mod consts; @@ -33,6 +37,9 @@ pub struct WhirlpoolCore { state: [u64; 8], } +/// Whirlpool hasher state. +pub type Whirlpool = CoreWrapper; + impl HashMarker for WhirlpoolCore {} impl BlockSizeUser for WhirlpoolCore { @@ -81,6 +88,13 @@ impl FixedOutputCore for WhirlpoolCore { impl WhirlpoolCore { fn update_len(&mut self, len: u64) { + #[inline(always)] + fn adc(a: &mut u64, b: u64, carry: &mut u64) { + let ret = (*a as u128) + (b as u128) + (*carry as u128); + *a = ret as u64; + *carry = (ret >> 64) as u64; + } + let mut carry = 0; adc(&mut self.bit_len[3], len, &mut carry); adc(&mut self.bit_len[2], 0, &mut carry); @@ -120,12 +134,15 @@ impl fmt::Debug for WhirlpoolCore { } } -/// Whirlpool hasher state. -pub type Whirlpool = CoreWrapper; - -#[inline(always)] -fn adc(a: &mut u64, b: u64, carry: &mut u64) { - let ret = (*a as u128) + (b as u128) + (*carry as u128); - *a = ret as u64; - *carry = (ret >> 64) as u64; +impl Drop for WhirlpoolCore { + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.state.zeroize(); + self.bit_len.zeroize(); + } + } } + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for WhirlpoolCore {} From 30207043f0c9a80812f5b2a51357a04551f5c02f Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 12 Jan 2024 17:03:29 +0300 Subject: [PATCH 324/373] sha2: add `read_volatile` workaround for round constants (#547) Prevents compiler from inlining round constants or spilling them to stack, which can slightly improve performance. --- sha2/src/consts.rs | 125 ++++++++++++++++++---------------------- sha2/src/sha256/soft.rs | 37 +++++++++--- sha2/src/sha512/soft.rs | 71 ++++++++++++----------- 3 files changed, 122 insertions(+), 111 deletions(-) diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index 8c0bbab50..efa80baab 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -1,13 +1,40 @@ -#![allow(dead_code, clippy::unreadable_literal)] +#![allow(dead_code)] -pub const STATE_LEN: usize = 8; -pub const BLOCK_LEN: usize = 16; +pub type State256 = [u32; 8]; +pub type State512 = [u64; 8]; -pub type State256 = [u32; STATE_LEN]; -pub type State512 = [u64; STATE_LEN]; +pub const H256_224: State256 = [ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +]; + +pub const H256_256: State256 = [ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, + 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +]; + +pub const H512_224: State512 = [ + 0x8c3d37c819544da2, 0x73e1996689dcd4d6, 0x1dfab7ae32ff9c82, 0x679dd514582f9fcf, + 0x0f6d2b697bd44da8, 0x77e36f7304c48942, 0x3f9d85a86a1d36c8, 0x1112e6ad91d692a1, +]; -/// Constants necessary for SHA-256 family of digests. -pub const K32: [u32; 64] = [ +pub const H512_256: State512 = [ + 0x22312194fc2bf72c, 0x9f555fa3c84c64c2, 0x2393b86b6f53b151, 0x963877195940eabd, + 0x96283ee2a88effe3, 0xbe5e1e2553863992, 0x2b0199fc2c85b8aa, 0x0eb72ddc81c52ca2, +]; + +pub const H512_384: State512 = [ + 0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939, + 0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4, +]; + +pub const H512_512: State512 = [ + 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, + 0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179, +]; + +/// Round constants for SHA-256 family of digests +pub static K32: [u32; 64] = [ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, @@ -18,27 +45,7 @@ pub const K32: [u32; 64] = [ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2, ]; -/// Constants necessary for SHA-256 family of digests. -pub const K32X4: [[u32; 4]; 16] = [ - [K32[3], K32[2], K32[1], K32[0]], - [K32[7], K32[6], K32[5], K32[4]], - [K32[11], K32[10], K32[9], K32[8]], - [K32[15], K32[14], K32[13], K32[12]], - [K32[19], K32[18], K32[17], K32[16]], - [K32[23], K32[22], K32[21], K32[20]], - [K32[27], K32[26], K32[25], K32[24]], - [K32[31], K32[30], K32[29], K32[28]], - [K32[35], K32[34], K32[33], K32[32]], - [K32[39], K32[38], K32[37], K32[36]], - [K32[43], K32[42], K32[41], K32[40]], - [K32[47], K32[46], K32[45], K32[44]], - [K32[51], K32[50], K32[49], K32[48]], - [K32[55], K32[54], K32[53], K32[52]], - [K32[59], K32[58], K32[57], K32[56]], - [K32[63], K32[62], K32[61], K32[60]], -]; - -/// Constants necessary for SHA-512 family of digests. +/// Round constants for SHA-512 family of digests pub const K64: [u64; 80] = [ 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, 0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, @@ -62,46 +69,24 @@ pub const K64: [u64; 80] = [ 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817, ]; -/// Constants necessary for SHA-512 family of digests. -pub const K64X2: [[u64; 2]; 40] = [ - [K64[1], K64[0]], [K64[3], K64[2]], [K64[5], K64[4]], [K64[7], K64[6]], - [K64[9], K64[8]], [K64[11], K64[10]], [K64[13], K64[12]], [K64[15], K64[14]], - [K64[17], K64[16]], [K64[19], K64[18]], [K64[21], K64[20]], [K64[23], K64[22]], - [K64[25], K64[24]], [K64[27], K64[26]], [K64[29], K64[28]], [K64[31], K64[30]], - [K64[33], K64[32]], [K64[35], K64[34]], [K64[37], K64[36]], [K64[39], K64[38]], - [K64[41], K64[40]], [K64[43], K64[42]], [K64[45], K64[44]], [K64[47], K64[46]], - [K64[49], K64[48]], [K64[51], K64[50]], [K64[53], K64[52]], [K64[55], K64[54]], - [K64[57], K64[56]], [K64[59], K64[58]], [K64[61], K64[60]], [K64[63], K64[62]], - [K64[65], K64[64]], [K64[67], K64[66]], [K64[69], K64[68]], [K64[71], K64[70]], - [K64[73], K64[72]], [K64[75], K64[74]], [K64[77], K64[76]], [K64[79], K64[78]], -]; - -pub const H256_224: State256 = [ - 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, - 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, -]; - -pub const H256_256: State256 = [ - 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, -]; - -pub const H512_224: State512 = [ - 0x8c3d37c819544da2, 0x73e1996689dcd4d6, 0x1dfab7ae32ff9c82, 0x679dd514582f9fcf, - 0x0f6d2b697bd44da8, 0x77e36f7304c48942, 0x3f9d85a86a1d36c8, 0x1112e6ad91d692a1, -]; - -pub const H512_256: State512 = [ - 0x22312194fc2bf72c, 0x9f555fa3c84c64c2, 0x2393b86b6f53b151, 0x963877195940eabd, - 0x96283ee2a88effe3, 0xbe5e1e2553863992, 0x2b0199fc2c85b8aa, 0x0eb72ddc81c52ca2, -]; +/// Swapped round constants for SHA-256 family of digests +pub static K32X4: [[u32; 4]; 16] = { + let mut res = [[0u32; 4]; 16]; + let mut i = 0; + while i < 16 { + res[i] = [K32[4 * i + 3], K32[4 * i + 2], K32[4 * i + 1], K32[4 * i]]; + i += 1; + } + res +}; -pub const H512_384: State512 = [ - 0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939, - 0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4, -]; - -pub const H512_512: State512 = [ - 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, - 0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179, -]; +/// Swapped round constants for SHA-512 family of digests +pub const K64X2: [[u64; 2]; 40] = { + let mut res = [[0u64; 2]; 40]; + let mut i = 0; + while i < 16 { + res[i] = [K64[4 * i + 1], K64[4 * i]]; + i += 1; + } + res +}; diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs index 315e5060a..44f6d6bf4 100644 --- a/sha2/src/sha256/soft.rs +++ b/sha2/src/sha256/soft.rs @@ -1,5 +1,5 @@ #![allow(clippy::many_single_char_names)] -use crate::consts::BLOCK_LEN; +use crate::consts::K32; #[inline(always)] fn shr(v: [u32; 4], o: u32) -> [u32; 4] { @@ -31,6 +31,31 @@ fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { ] } +#[inline(always)] +fn add_round_const(mut a: [u32; 4], i: usize) -> [u32; 4] { + fn k(i: usize, j: usize) -> u32 { + // `read_volatile` forces compiler to read round constants from the static + // instead of inlining them, which improves codegen and performance on some platforms. + // On x86 targets 32-bit constants can be encoded using immediate argument on the `add` + // instruction, so it's more efficient to inline them. + cfg_if::cfg_if! { + if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] { + use core::ptr::read as r; + } else { + use core::ptr::read_volatile as r; + } + } + + unsafe { r(K32.as_ptr().add(4 * i + j)) } + } + + a[3] = a[3].wrapping_add(k(i, 0)); + a[2] = a[2].wrapping_add(k(i, 1)); + a[1] = a[1].wrapping_add(k(i, 2)); + a[0] = a[0].wrapping_add(k(i, 3)); + a +} + fn sha256load(v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] { [v3[3], v2[0], v2[1], v2[2]] } @@ -142,7 +167,7 @@ fn schedule(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] macro_rules! rounds4 { ($abef:ident, $cdgh:ident, $rest:expr, $i:expr) => {{ - let t1 = add($rest, crate::consts::K32X4[$i]); + let t1 = add_round_const($rest, $i); $cdgh = sha256_digest_round_x2($cdgh, $abef, t1); let t2 = sha256swap(t1); $abef = sha256_digest_round_x2($abef, $cdgh, t2); @@ -203,15 +228,11 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { } pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { - let mut block_u32 = [0u32; BLOCK_LEN]; - // since LLVM can't properly use aliasing yet it will make - // unnecessary state stores without this copy - let mut state_cpy = *state; for block in blocks { + let mut block_u32 = [0u32; 16]; for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { *o = u32::from_be_bytes(chunk.try_into().unwrap()); } - sha256_digest_block_u32(&mut state_cpy, &block_u32); + sha256_digest_block_u32(state, &block_u32); } - *state = state_cpy; } diff --git a/sha2/src/sha512/soft.rs b/sha2/src/sha512/soft.rs index 17405c5d5..675f1614d 100644 --- a/sha2/src/sha512/soft.rs +++ b/sha2/src/sha512/soft.rs @@ -1,9 +1,5 @@ #![allow(clippy::many_single_char_names)] -use crate::consts::{BLOCK_LEN, K64X2}; - -fn add(a: [u64; 2], b: [u64; 2]) -> [u64; 2] { - [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])] -} +use crate::consts::K64; /// Not an intrinsic, but works like an unaligned load. fn sha512load(v0: [u64; 2], v1: [u64; 2]) -> [u64; 2] { @@ -93,10 +89,23 @@ pub fn sha512_digest_round( [a1, e1] } +#[inline(always)] +fn add_rk(mut w: [u64; 2], i: usize) -> [u64; 2] { + fn rk(i: usize, j: usize) -> u64 { + // `read_volatile` forces compiler to read round constants from the static + // instead of inlining them, which improves codegen and performance + unsafe { + let p = K64.as_ptr().add(2 * i + j); + core::ptr::read_volatile(p) + } + } + w[1] = w[1].wrapping_add(rk(i, 0)); + w[0] = w[0].wrapping_add(rk(i, 1)); + w +} + /// Process a block with the SHA-512 algorithm. pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { - let k = &K64X2; - macro_rules! schedule { ($v0:expr, $v1:expr, $v4:expr, $v5:expr, $v7:expr) => { sha512_schedule_x2($v0, $v1, sha512load($v4, $v5), $v7) @@ -122,67 +131,67 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { // Rounds 0..20 let (mut w1, mut w0) = ([block[3], block[2]], [block[1], block[0]]); - rounds4!(ae, bf, cg, dh, add(k[0], w0), add(k[1], w1)); + rounds4!(ae, bf, cg, dh, add_rk(w0, 0), add_rk(w1, 1)); let (mut w3, mut w2) = ([block[7], block[6]], [block[5], block[4]]); - rounds4!(ae, bf, cg, dh, add(k[2], w2), add(k[3], w3)); + rounds4!(ae, bf, cg, dh, add_rk(w2, 2), add_rk(w3, 3)); let (mut w5, mut w4) = ([block[11], block[10]], [block[9], block[8]]); - rounds4!(ae, bf, cg, dh, add(k[4], w4), add(k[5], w5)); + rounds4!(ae, bf, cg, dh, add_rk(w4, 4), add_rk(w5, 5)); let (mut w7, mut w6) = ([block[15], block[14]], [block[13], block[12]]); - rounds4!(ae, bf, cg, dh, add(k[6], w6), add(k[7], w7)); + rounds4!(ae, bf, cg, dh, add_rk(w6, 6), add_rk(w7, 7)); let mut w8 = schedule!(w0, w1, w4, w5, w7); let mut w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, add(k[8], w8), add(k[9], w9)); + rounds4!(ae, bf, cg, dh, add_rk(w8, 8), add_rk(w9, 9)); // Rounds 20..40 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, add(k[10], w0), add(k[11], w1)); + rounds4!(ae, bf, cg, dh, add_rk(w0, 10), add_rk(w1, 11)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, add(k[12], w2), add(k[13], w3)); + rounds4!(ae, bf, cg, dh, add_rk(w2, 12), add_rk(w3, 13)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, add(k[14], w4), add(k[15], w5)); + rounds4!(ae, bf, cg, dh, add_rk(w4, 14), add_rk(w5, 15)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, add(k[16], w6), add(k[17], w7)); + rounds4!(ae, bf, cg, dh, add_rk(w6, 16), add_rk(w7, 17)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, add(k[18], w8), add(k[19], w9)); + rounds4!(ae, bf, cg, dh, add_rk(w8, 18), add_rk(w9, 19)); // Rounds 40..60 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, add(k[20], w0), add(k[21], w1)); + rounds4!(ae, bf, cg, dh, add_rk(w0, 20), add_rk(w1, 21)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, add(k[22], w2), add(k[23], w3)); + rounds4!(ae, bf, cg, dh, add_rk(w2, 22), add_rk(w3, 23)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, add(k[24], w4), add(k[25], w5)); + rounds4!(ae, bf, cg, dh, add_rk(w4, 24), add_rk(w5, 25)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, add(k[26], w6), add(k[27], w7)); + rounds4!(ae, bf, cg, dh, add_rk(w6, 26), add_rk(w7, 27)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, add(k[28], w8), add(k[29], w9)); + rounds4!(ae, bf, cg, dh, add_rk(w8, 28), add_rk(w9, 29)); // Rounds 60..80 w0 = schedule!(w2, w3, w6, w7, w9); w1 = schedule!(w3, w4, w7, w8, w0); - rounds4!(ae, bf, cg, dh, add(k[30], w0), add(k[31], w1)); + rounds4!(ae, bf, cg, dh, add_rk(w0, 30), add_rk(w1, 31)); w2 = schedule!(w4, w5, w8, w9, w1); w3 = schedule!(w5, w6, w9, w0, w2); - rounds4!(ae, bf, cg, dh, add(k[32], w2), add(k[33], w3)); + rounds4!(ae, bf, cg, dh, add_rk(w2, 32), add_rk(w3, 33)); w4 = schedule!(w6, w7, w0, w1, w3); w5 = schedule!(w7, w8, w1, w2, w4); - rounds4!(ae, bf, cg, dh, add(k[34], w4), add(k[35], w5)); + rounds4!(ae, bf, cg, dh, add_rk(w4, 34), add_rk(w5, 35)); w6 = schedule!(w8, w9, w2, w3, w5); w7 = schedule!(w9, w0, w3, w4, w6); - rounds4!(ae, bf, cg, dh, add(k[36], w6), add(k[37], w7)); + rounds4!(ae, bf, cg, dh, add_rk(w6, 36), add_rk(w7, 37)); w8 = schedule!(w0, w1, w4, w5, w7); w9 = schedule!(w1, w2, w5, w6, w8); - rounds4!(ae, bf, cg, dh, add(k[38], w8), add(k[39], w9)); + rounds4!(ae, bf, cg, dh, add_rk(w8, 38), add_rk(w9, 39)); let [a, e] = ae; let [b, f] = bf; @@ -200,15 +209,11 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) { } pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) { - let mut block_u32 = [0u64; BLOCK_LEN]; - // since LLVM can't properly use aliasing yet it will make - // unnecessary state stores without this copy - let mut state_cpy = *state; for block in blocks { + let mut block_u32 = [0u64; 16]; for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(8)) { *o = u64::from_be_bytes(chunk.try_into().unwrap()); } - sha512_digest_block_u64(&mut state_cpy, &block_u32); + sha512_digest_block_u64(state, &block_u32); } - *state = state_cpy; } From c77701d3f072c558164541c1fb9efe5a9ead1198 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Tue, 16 Jan 2024 19:24:30 +0000 Subject: [PATCH 325/373] sha3: bump `keccak` dependency to v0.2.0-pre.0 (#550) --- Cargo.lock | 4 ++-- sha3/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8a841bf2e..27897eca7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.2.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "a7cdd4f0dc5807b9a2b25dd48a3f58e862606fe7bd47f41ecde36e97422d7e90" dependencies = [ "cpufeatures", ] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 0c6091681..6a3366efa 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -18,7 +18,7 @@ rust-version = "1.71" [dependencies] digest = "=0.11.0-pre.6" -keccak = "0.1.4" +keccak = "=0.2.0-pre.0" [dev-dependencies] digest = { version = "=0.11.0-pre.6", features = ["dev"] } From c1550d29094879e82d0b1f80969e77bc767c1b32 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 17 Jan 2024 15:29:40 +0000 Subject: [PATCH 326/373] Bump `digest` dependency to v0.11.0-pre.7 (#551) --- Cargo.lock | 5 +++-- Cargo.toml | 3 --- ascon-hash/Cargo.toml | 2 +- belt-hash/Cargo.toml | 4 ++-- blake2/Cargo.toml | 4 ++-- fsb/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- groestl/Cargo.toml | 4 ++-- jh/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- skein/Cargo.toml | 4 ++-- sm3/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- tiger/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 23 files changed, 44 insertions(+), 46 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 27897eca7..0c0ea3551 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -95,8 +95,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.6" -source = "git+https://github.com/RustCrypto/traits#b4ec63b0e6b94fad7c311b6b77ae0b59d3c3b18e" +version = "0.11.0-pre.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "957713a19ffdda287c63772e607f848512f67ba948f17d8e42cb8d50fd98a786" dependencies = [ "blobby", "block-buffer", diff --git a/Cargo.toml b/Cargo.toml index 322ec35f4..26637761e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,3 @@ members = [ [profile.dev] opt-level = 2 - -[patch.crates-io] -digest = { git = 'https://github.com/RustCrypto/traits' } diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 0492a5856..212ab50e3 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -16,7 +16,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.6", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.7", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index dff4e0db5..f019f52fe 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 95d265611..bbb017d88 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.6", features = ["mac"] } +digest = { version = "=0.11.0-pre.7", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 94b7b440f..6d8e3dca8 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" whirlpool = { version = "=0.11.0-pre", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index ca7a4383a..6f77d645a 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 70bdafdc9..65297f8c6 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/jh/Cargo.toml b/jh/Cargo.toml index f3122b13a..90fdac9f6 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -13,12 +13,12 @@ keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" hex-literal = "0.4" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } [features] zeroize = ["digest/zeroize"] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 9e300304e..e74cb2c47 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.6", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.7", default-features = false, features = ["core-api"] } sha3 = { version = "=0.11.0-pre.1", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["alloc", "dev"] } +digest = { version = "=0.11.0-pre.7", features = ["alloc", "dev"] } hex-literal = "0.4" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 6691cf1e7..65a69f454 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index f1a640a46..57a0511aa 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 7f458c9f3..9b5d3c840 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,11 +16,11 @@ rust-version = "1.72" name = "md5" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" cfg-if = "1" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index ef115a5c2..7817a7ad6 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 069a32025..e8603248b 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index a5e82db1b..af75dc9a3 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -16,14 +16,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 6a3366efa..840d70301 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -17,11 +17,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" keccak = "=0.2.0-pre.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index e1d6ad764..e6697615f 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/skein/Cargo.toml b/skein/Cargo.toml index 5b3127200..c2d6b9320 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 59d00f126..b1a60e5e2 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 9da8473b3..18f69a55d 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index fbaa1952b..79341b504 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.74" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index b8ed88f2f..381e77760 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.6" +digest = "=0.11.0-pre.7" [dev-dependencies] -digest = { version = "=0.11.0-pre.6", features = ["dev"] } +digest = { version = "=0.11.0-pre.7", features = ["dev"] } hex-literal = "0.4" [features] From 4f1cd100b9539a2be38f53c525eebc328ebcdb34 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 17 Jan 2024 15:48:22 +0000 Subject: [PATCH 327/373] Cut pre.2 prereleases (#552) Cuts a new release of every crate which previously received a pre.0/.1 prerelease, i.e. is used as a (dev-)dependency in downstream projects that need to be upgraded. This includes the following: - `belt-hash` v0.2.0-pre.2 - `md-5` v0.11.0-pre.2 - `sha1` v0.11.0-pre.2 - `sha2` v0.11.0-pre.2 - `sha3` v0.11.0-pre.2 - `sm3` v0.5.0-pre.2 - `streebog` v0.11.0-pre.2 --- Cargo.lock | 14 +++++++------- belt-hash/Cargo.toml | 2 +- k12/Cargo.toml | 2 +- md5/Cargo.toml | 2 +- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- sha3/Cargo.toml | 2 +- sm3/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0c0ea3551..d96541315 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,7 +30,7 @@ checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" [[package]] name = "belt-hash" -version = "0.2.0-pre.1" +version = "0.2.0-pre.2" dependencies = [ "belt-block", "digest", @@ -199,7 +199,7 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" dependencies = [ "cfg-if", "digest", @@ -247,7 +247,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" dependencies = [ "cfg-if", "cpufeatures", @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" dependencies = [ "cfg-if", "cpufeatures", @@ -267,7 +267,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" dependencies = [ "digest", "hex-literal", @@ -293,7 +293,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.5.0-pre.1" +version = "0.5.0-pre.2" dependencies = [ "digest", "hex-literal", @@ -307,7 +307,7 @@ checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" [[package]] name = "streebog" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" dependencies = [ "digest", "hex-literal", diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index f019f52fe..7bac1d0a9 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "belt-hash" -version = "0.2.0-pre.1" +version = "0.2.0-pre.2" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/k12/Cargo.toml b/k12/Cargo.toml index e74cb2c47..b7f90d789 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -14,7 +14,7 @@ rust-version = "1.71" [dependencies] digest = { version = "=0.11.0-pre.7", default-features = false, features = ["core-api"] } -sha3 = { version = "=0.11.0-pre.1", default-features = false, path = "../sha3" } +sha3 = { version = "=0.11.0-pre.2", default-features = false, path = "../sha3" } [dev-dependencies] digest = { version = "=0.11.0-pre.7", features = ["alloc", "dev"] } diff --git a/md5/Cargo.toml b/md5/Cargo.toml index 9b5d3c840..e6b53fbd2 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index e8603248b..353d46f9c 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index af75dc9a3..0766fd31d 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 840d70301..366e0d33d 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index b1a60e5e2..b1f2a7e3f 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.5.0-pre.1" +version = "0.5.0-pre.2" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 18f69a55d..57d70c568 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.11.0-pre.1" +version = "0.11.0-pre.2" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From c755fb2bd101c90fc8dc005a74d5640d8a88b332 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Fri, 19 Jan 2024 22:14:47 +0000 Subject: [PATCH 328/373] whirlpool v0.11.0-pre.2 (#553) --- Cargo.lock | 2 +- fsb/Cargo.toml | 2 +- whirlpool/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d96541315..ebfec1600 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -350,7 +350,7 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "whirlpool" -version = "0.11.0-pre" +version = "0.11.0-pre.2" dependencies = [ "digest", "hex-literal", diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 6d8e3dca8..4081ccd1c 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -14,7 +14,7 @@ rust-version = "1.71" [dependencies] digest = "=0.11.0-pre.7" -whirlpool = { version = "=0.11.0-pre", path = "../whirlpool", default-features = false } +whirlpool = { version = "=0.11.0-pre.2", path = "../whirlpool", default-features = false } [dev-dependencies] digest = { version = "=0.11.0-pre.7", features = ["dev"] } diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 381e77760..a0cda6060 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.11.0-pre" +version = "0.11.0-pre.2" description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 31ff8830e28374f03422a50643ae63ef7b577d5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 06:44:37 -0700 Subject: [PATCH 329/373] build(deps): bump actions/cache from 3 to 4 (#554) --- .github/workflows/security-audit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml index 53e76d32d..4f5821be6 100644 --- a/.github/workflows/security-audit.yml +++ b/.github/workflows/security-audit.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - name: Cache cargo bin - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cargo/bin key: ${{ runner.os }}-cargo-audit-v0.12.0 From 7de22e5d31924ef688c7ebcd05fa71eacac058e3 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Jan 2024 16:27:28 +0000 Subject: [PATCH 330/373] Bump `hybrid-array` to v0.2.0-rc.2 (#555) --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ebfec1600..93d0b3b48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -157,9 +157,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hybrid-array" -version = "0.2.0-rc.0" +version = "0.2.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8c5517ac29f08e88170b9647d85cc5f21c2596de177b4867232e20b214b8da1" +checksum = "662b1e7b4a15dc889bf687cdd5dc4291b278ad0cf546424a87721dcb54ff1d82" dependencies = [ "typenum", ] From 9130e96e88908905e2c1b6afbbd34c27f85adac6 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sun, 28 Jan 2024 17:58:09 -0700 Subject: [PATCH 331/373] Updates to remove `hybrid_array::ArrayOps` (#556) This was a breaking change: RustCrypto/hybrid-array#30 This PR includes the necessary updates to remain compatible. --- Cargo.lock | 4 ++-- md5/src/lib.rs | 4 ++-- sha1/src/lib.rs | 4 ++-- sha2/src/core_api.rs | 6 +++--- whirlpool/src/lib.rs | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 93d0b3b48..cb5721a5e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -157,9 +157,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hybrid-array" -version = "0.2.0-rc.2" +version = "0.2.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662b1e7b4a15dc889bf687cdd5dc4291b278ad0cf546424a87721dcb54ff1d82" +checksum = "d8856b3db5eb76328f03589feb25c7a3166bfa0ae3b38b1408d546b097fa7947" dependencies = [ "typenum", ] diff --git a/md5/src/lib.rs b/md5/src/lib.rs index d5d1db107..a4156b020 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -14,7 +14,7 @@ pub(crate) mod consts; use core::{fmt, slice::from_ref}; use digest::{ - array::ArrayOps, + array::Array, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, @@ -57,7 +57,7 @@ impl UpdateCore for Md5Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len = self.block_len.wrapping_add(blocks.len() as u64); - let blocks = ArrayOps::cast_slice_to_core(blocks); + let blocks = Array::cast_slice_to_core(blocks); compress::compress(&mut self.state, blocks) } } diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 6ad713f03..32a9fce95 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -11,7 +11,7 @@ pub use digest::{self, Digest}; use core::{fmt, slice::from_ref}; use digest::{ - array::ArrayOps, + array::Array, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, @@ -61,7 +61,7 @@ impl UpdateCore for Sha1Core { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; - let blocks = ArrayOps::cast_slice_to_core(blocks); + let blocks = Array::cast_slice_to_core(blocks); compress(&mut self.h, blocks); } } diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index d9aff2896..94ace5029 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -1,7 +1,7 @@ use crate::{consts, sha256::compress256, sha512::compress512}; use core::{fmt, slice::from_ref}; use digest::{ - array::ArrayOps, + array::Array, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, @@ -38,7 +38,7 @@ impl UpdateCore for Sha256VarCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u64; - let blocks = ArrayOps::cast_slice_to_core(blocks); + let blocks = Array::cast_slice_to_core(blocks); compress256(&mut self.state, blocks); } } @@ -124,7 +124,7 @@ impl UpdateCore for Sha512VarCore { #[inline] fn update_blocks(&mut self, blocks: &[Block]) { self.block_len += blocks.len() as u128; - let blocks = ArrayOps::cast_slice_to_core(blocks); + let blocks = Array::cast_slice_to_core(blocks); compress512(&mut self.state, blocks); } } diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 7972b2a7d..9911e2137 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -12,7 +12,7 @@ pub use digest::{self, Digest}; use core::fmt; use digest::{ - array::ArrayOps, + array::Array, block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, @@ -59,7 +59,7 @@ impl UpdateCore for WhirlpoolCore { fn update_blocks(&mut self, blocks: &[Block]) { let block_bits = 8 * Self::block_size() as u64; self.update_len(block_bits * (blocks.len() as u64)); - let blocks = ArrayOps::cast_slice_to_core(blocks); + let blocks = Array::cast_slice_to_core(blocks); compress(&mut self.state, blocks); } } From 9d2db2e29d5a48b9eabdfb64ccd5b3185119b910 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 1 Feb 2024 11:30:14 -0700 Subject: [PATCH 332/373] Bump `digest` dependency to v0.11.0-pre.8 (#558) --- Cargo.lock | 16 ++++++++-------- ascon-hash/Cargo.toml | 2 +- belt-hash/Cargo.toml | 4 ++-- blake2/Cargo.toml | 4 ++-- fsb/Cargo.toml | 4 ++-- gost94/Cargo.toml | 4 ++-- groestl/Cargo.toml | 4 ++-- jh/Cargo.toml | 4 ++-- k12/Cargo.toml | 4 ++-- md2/Cargo.toml | 4 ++-- md4/Cargo.toml | 4 ++-- md5/Cargo.toml | 4 ++-- ripemd/Cargo.toml | 4 ++-- sha1/Cargo.toml | 4 ++-- sha2/Cargo.toml | 4 ++-- sha3/Cargo.toml | 4 ++-- shabal/Cargo.toml | 4 ++-- skein/Cargo.toml | 4 ++-- sm3/Cargo.toml | 4 ++-- streebog/Cargo.toml | 4 ++-- tiger/Cargo.toml | 4 ++-- whirlpool/Cargo.toml | 4 ++-- 22 files changed, 49 insertions(+), 49 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cb5721a5e..cccf3996d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,9 +53,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.11.0-pre.4" +version = "0.11.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edadbde8e0243b49d434f9a23ec0590af201f400a34d7d51049284e4a77c568" +checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" dependencies = [ "crypto-common", "zeroize", @@ -84,9 +84,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-pre.4" +version = "0.2.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806e4e3731d44f1340b069551225b44c2056c105cad9e67f0c46266db8a3a6b9" +checksum = "b7aa2ec04f5120b830272a481e8d9d8ba4dda140d2cda59b0f1110d5eb93c38e" dependencies = [ "getrandom", "hybrid-array", @@ -95,9 +95,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-pre.7" +version = "0.11.0-pre.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957713a19ffdda287c63772e607f848512f67ba948f17d8e42cb8d50fd98a786" +checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" dependencies = [ "blobby", "block-buffer", @@ -157,9 +157,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hybrid-array" -version = "0.2.0-rc.3" +version = "0.2.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8856b3db5eb76328f03589feb25c7a3166bfa0ae3b38b1408d546b097fa7947" +checksum = "18e63b66aee2df5599ba69b17a48113dfc68d2e143ea387ef836509e433bbd7e" dependencies = [ "typenum", ] diff --git a/ascon-hash/Cargo.toml b/ascon-hash/Cargo.toml index 212ab50e3..37d46be7f 100644 --- a/ascon-hash/Cargo.toml +++ b/ascon-hash/Cargo.toml @@ -16,7 +16,7 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.7", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.8", default-features = false, features = ["core-api"] } ascon = { version = "0.4", default-features = false } [dev-dependencies] diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index 7bac1d0a9..ef9119f66 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "belt", "stb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" belt-block = { version = "0.1.1", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index bbb017d88..d1673c99e 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.7", features = ["mac"] } +digest = { version = "=0.11.0-pre.8", features = ["mac"] } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 4081ccd1c..8fb2299d9 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" whirlpool = { version = "=0.11.0-pre.2", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 6f77d645a..b9fde47db 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 65297f8c6..ad05fa907 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/jh/Cargo.toml b/jh/Cargo.toml index 90fdac9f6..68ea7fd1a 100644 --- a/jh/Cargo.toml +++ b/jh/Cargo.toml @@ -13,12 +13,12 @@ keywords = ["crypto", "jh", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" hex-literal = "0.4" simd = { package = "ppv-lite86", version = "0.2.6" } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } [features] zeroize = ["digest/zeroize"] diff --git a/k12/Cargo.toml b/k12/Cargo.toml index b7f90d789..f5c6e60a4 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -13,11 +13,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = { version = "=0.11.0-pre.7", default-features = false, features = ["core-api"] } +digest = { version = "=0.11.0-pre.8", default-features = false, features = ["core-api"] } sha3 = { version = "=0.11.0-pre.2", default-features = false, path = "../sha3" } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["alloc", "dev"] } +digest = { version = "=0.11.0-pre.8", features = ["alloc", "dev"] } hex-literal = "0.4" [features] diff --git a/md2/Cargo.toml b/md2/Cargo.toml index 65a69f454..72472fb4a 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md4/Cargo.toml b/md4/Cargo.toml index 57a0511aa..e5464d46a 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/md5/Cargo.toml b/md5/Cargo.toml index e6b53fbd2..d5c1c9cf3 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -16,11 +16,11 @@ rust-version = "1.72" name = "md5" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" cfg-if = "1" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/ripemd/Cargo.toml b/ripemd/Cargo.toml index 7817a7ad6..946106796 100644 --- a/ripemd/Cargo.toml +++ b/ripemd/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 353d46f9c..1f9d5d371 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -13,14 +13,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" cfg-if = "1.0" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 0766fd31d..43fb9ee06 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -16,14 +16,14 @@ categories = ["cryptography", "no-std"] rust-version = "1.72" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" cfg-if = "1" [target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86"))'.dependencies] cpufeatures = "0.2" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 366e0d33d..f48a75df0 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -17,11 +17,11 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" keccak = "=0.2.0-pre.0" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index e6697615f..0ca2917b5 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/skein/Cargo.toml b/skein/Cargo.toml index c2d6b9320..de5e4ce50 100644 --- a/skein/Cargo.toml +++ b/skein/Cargo.toml @@ -13,11 +13,11 @@ keywords = ["crypto", "skein", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" threefish = { version = "0.5.2", default-features = false } [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index b1f2a7e3f..1e3dab1a7 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 57d70c568..4c8e91e20 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 79341b504..5a05cb6b0 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.74" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index a0cda6060..ac9fd2819 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -13,10 +13,10 @@ categories = ["cryptography", "no-std"] rust-version = "1.71" [dependencies] -digest = "=0.11.0-pre.7" +digest = "=0.11.0-pre.8" [dev-dependencies] -digest = { version = "=0.11.0-pre.7", features = ["dev"] } +digest = { version = "=0.11.0-pre.8", features = ["dev"] } hex-literal = "0.4" [features] From e4dcf120629bd6461eff9ca1b281736336de423c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Thu, 1 Feb 2024 11:50:38 -0700 Subject: [PATCH 333/373] Cut pre.3 prereleases (#559) Cuts a new release of every crate which previously received a pre.2 prerelease, i.e. is used as a (dev-)dependency in downstream projects that need to be upgraded. This includes the following: - `belt-hash` v0.2.0-pre.3 - `md-5` v0.11.0-pre.3 - `sha1` v0.11.0-pre.3 - `sha2` v0.11.0-pre.3 - `sha3` v0.11.0-pre.3 - `sm3` v0.5.0-pre.3 - `streebog` v0.11.0-pre.3 --- Cargo.lock | 14 +++++++------- belt-hash/Cargo.toml | 2 +- k12/Cargo.toml | 2 +- md5/Cargo.toml | 2 +- sha1/Cargo.toml | 2 +- sha2/Cargo.toml | 2 +- sha3/Cargo.toml | 2 +- sm3/Cargo.toml | 2 +- streebog/Cargo.toml | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cccf3996d..b2a57a2af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,7 +30,7 @@ checksum = "d9aa1eef3994e2ccd304a78fe3fea4a73e5792007f85f09b79bb82143ca5f82b" [[package]] name = "belt-hash" -version = "0.2.0-pre.2" +version = "0.2.0-pre.3" dependencies = [ "belt-block", "digest", @@ -199,7 +199,7 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "md-5" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" dependencies = [ "cfg-if", "digest", @@ -247,7 +247,7 @@ dependencies = [ [[package]] name = "sha1" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" dependencies = [ "cfg-if", "cpufeatures", @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" dependencies = [ "cfg-if", "cpufeatures", @@ -267,7 +267,7 @@ dependencies = [ [[package]] name = "sha3" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" dependencies = [ "digest", "hex-literal", @@ -293,7 +293,7 @@ dependencies = [ [[package]] name = "sm3" -version = "0.5.0-pre.2" +version = "0.5.0-pre.3" dependencies = [ "digest", "hex-literal", @@ -307,7 +307,7 @@ checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" [[package]] name = "streebog" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" dependencies = [ "digest", "hex-literal", diff --git a/belt-hash/Cargo.toml b/belt-hash/Cargo.toml index ef9119f66..36668c814 100644 --- a/belt-hash/Cargo.toml +++ b/belt-hash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "belt-hash" -version = "0.2.0-pre.2" +version = "0.2.0-pre.3" description = "BelT hash function (STB 34.101.31-2020)" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/k12/Cargo.toml b/k12/Cargo.toml index f5c6e60a4..5ca818088 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -14,7 +14,7 @@ rust-version = "1.71" [dependencies] digest = { version = "=0.11.0-pre.8", default-features = false, features = ["core-api"] } -sha3 = { version = "=0.11.0-pre.2", default-features = false, path = "../sha3" } +sha3 = { version = "=0.11.0-pre.3", default-features = false, path = "../sha3" } [dev-dependencies] digest = { version = "=0.11.0-pre.8", features = ["alloc", "dev"] } diff --git a/md5/Cargo.toml b/md5/Cargo.toml index d5c1c9cf3..f53ff3fd4 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 1f9d5d371..af002663a 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha1" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 43fb9ee06..88875aa3b 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index f48a75df0..27d48689e 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" description = """ Pure Rust implementation of SHA-3, a family of Keccak-based hash functions including the SHAKE family of eXtendable-Output Functions (XOFs), as well as diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 1e3dab1a7..dd1fef3ba 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sm3" -version = "0.5.0-pre.2" +version = "0.5.0-pre.3" description = "SM3 (OSCCA GM/T 0004-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 4c8e91e20..3fc5cf9ce 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.11.0-pre.2" +version = "0.11.0-pre.3" description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From c38787b7abd8dd10412972941d077df54c95a4bb Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Wed, 7 Feb 2024 13:50:59 -0700 Subject: [PATCH 334/373] blake2 v0.11.0-pre.3 (#560) Note that the first release is `pre.3` so as to sync versions with the other crates which have already received prereleases. cc @baloo --- Cargo.lock | 2 +- blake2/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b2a57a2af..6d42be8f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,7 +39,7 @@ dependencies = [ [[package]] name = "blake2" -version = "0.11.0-pre" +version = "0.11.0-pre.3" dependencies = [ "digest", "hex-literal", diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index d1673c99e..92943f0a8 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" -version = "0.11.0-pre" +version = "0.11.0-pre.3" description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" From 1f792033dc24fb2a5f8e6f193dce477040138fd4 Mon Sep 17 00:00:00 2001 From: enkore Date: Tue, 12 Mar 2024 16:03:19 +0100 Subject: [PATCH 335/373] sha2: fix aarch64 implementation being disabled (#569) Fixes #568 Co-authored-by: marx --- sha2/src/sha256.rs | 2 +- sha2/src/sha512.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index ed869a16b..417a51b6a 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -6,7 +6,7 @@ cfg_if::cfg_if! { mod soft; mod x86; use x86::compress; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { + } else if #[cfg(target_arch = "aarch64")] { mod soft; mod aarch64; use aarch64::compress; diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 04f5079b5..7d9382775 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -6,7 +6,7 @@ cfg_if::cfg_if! { mod soft; mod x86; use x86::compress; - } else if #[cfg(all(feature = "asm", target_arch = "aarch64"))] { + } else if #[cfg(target_arch = "aarch64")] { mod soft; mod aarch64; use aarch64::compress; From c30e70169e895f36c6d9f7849bcdc0a432fe79be Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Tue, 19 Mar 2024 14:47:10 -0700 Subject: [PATCH 336/373] Implement SerializableState for hashes (#574) This is a rebase of #385 on master. https://github.com/RustCrypto/traits/pull/1369 introduced a `SerializableState` trait to serialize the hasher. This implements it for each of the hashers we have. Co-authored-by: Ruslan Piasetskyi --- Cargo.lock | 7 +- Cargo.toml | 4 + blake2/tests/mac.rs | 2 +- fsb/src/lib.rs | 10 +- fsb/src/macros.rs | 33 ++++- fsb/tests/mod.rs | 129 ++++++++++++++++++- gost94/src/gost94_core.rs | 48 ++++++- gost94/tests/mod.rs | 69 +++++++++- groestl/src/lib.rs | 65 +++++++++- groestl/tests/mod.rs | 127 +++++++++++++++++- md2/src/lib.rs | 31 ++++- md2/tests/mod.rs | 14 ++ md4/src/lib.rs | 39 +++++- md4/tests/mod.rs | 14 ++ md5/src/lib.rs | 39 +++++- md5/tests/mod.rs | 14 ++ ripemd/src/c128.rs | 4 + ripemd/src/c160.rs | 4 + ripemd/src/c256.rs | 4 +- ripemd/src/c320.rs | 4 +- ripemd/src/lib.rs | 37 +++++- ripemd/tests/mod.rs | 61 ++++++++- sha1/src/lib.rs | 35 ++++- sha1/tests/mod.rs | 14 ++ sha2/src/core_api.rs | 66 +++++++++- sha2/tests/mod.rs | 123 +++++++++++++++++- sha3/src/lib.rs | 1 + sha3/src/macros.rs | 32 +++++ sha3/tests/mod.rs | 262 +++++++++++++++++++++++++++++++++++++- shabal/src/core_api.rs | 58 ++++++++- shabal/tests/mod.rs | 122 +++++++++++++++++- sm3/src/consts.rs | 4 +- sm3/src/lib.rs | 37 +++++- sm3/tests/mod.rs | 17 ++- streebog/src/core_api.rs | 47 ++++++- streebog/tests/mod.rs | 51 +++++++- tiger/src/lib.rs | 38 +++++- tiger/tests/mod.rs | 31 ++++- whirlpool/src/lib.rs | 52 +++++++- whirlpool/tests/mod.rs | 19 +++ 40 files changed, 1709 insertions(+), 59 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d42be8f4..5bf6e521d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -96,8 +96,7 @@ dependencies = [ [[package]] name = "digest" version = "0.11.0-pre.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065d93ead7c220b85d5b4be4795d8398eac4ff68b5ee63895de0a3c1fb6edf25" +source = "git+https://github.com/RustCrypto/traits.git#7c7a0d2a2caa60e286835051e6ad5fd10a9a9554" dependencies = [ "blobby", "block-buffer", @@ -157,9 +156,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hybrid-array" -version = "0.2.0-rc.4" +version = "0.2.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e63b66aee2df5599ba69b17a48113dfc68d2e143ea387ef836509e433bbd7e" +checksum = "53668f5da5a41d9eaf4bf7064be46d1ebe6a4e1ceed817f387587b18f2b51047" dependencies = [ "typenum", ] diff --git a/Cargo.toml b/Cargo.toml index 26637761e..f3a9df35a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,3 +26,7 @@ members = [ [profile.dev] opt-level = 2 + +[patch.crates-io] +# https://github.com/RustCrypto/traits/pull/1537 - Unreleased +digest = { git = "https://github.com/RustCrypto/traits.git" } diff --git a/blake2/tests/mac.rs b/blake2/tests/mac.rs index 757102845..7a166a047 100644 --- a/blake2/tests/mac.rs +++ b/blake2/tests/mac.rs @@ -12,7 +12,7 @@ fn blake2b_new_test() { fn run(key: &[u8]) { const DATA: &[u8] = &[42; 300]; - let res1 = T::new(Array::from_slice(key)) + let res1 = T::new(&Array::try_from(key).unwrap()) .chain_update(DATA) .finalize() .into_bytes(); diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 141468fd7..8bf527228 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -12,7 +12,7 @@ #[macro_use] mod macros; -use core::fmt; +use core::{fmt, ops::Add}; pub use digest::{self, Digest}; // Double check this contains all values in the reference implementation @@ -24,7 +24,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::Unsigned, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U8}, HashMarker, Output, }; @@ -38,6 +39,7 @@ fsb_impl!( 160, U60, U20, + U80, 5 << 18, 80, 640, @@ -54,6 +56,7 @@ fsb_impl!( 224, U84, U28, + U112, 7 << 18, 112, 896, @@ -70,6 +73,7 @@ fsb_impl!( 256, U96, U32, + U128, 1 << 21, 128, 1024, @@ -86,6 +90,7 @@ fsb_impl!( 384, U115, U48, + U184, 23 << 16, 184, 1472, @@ -102,6 +107,7 @@ fsb_impl!( 512, U155, U64, + U248, 31 << 16, 248, 1984, diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 2204b747c..59845f79c 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -1,9 +1,9 @@ macro_rules! fsb_impl { ( - $full_state:ident, $state:ident, $state_num:expr, $blocksize:ident, $outputsize:ident, $n:expr, $w:expr, - $r:expr, $p:expr, $s:expr, $full_doc:expr, $doc:expr, + $full_state:ident, $state:ident, $state_num:expr, $blocksize:ident, $outputsize:ident, $statesize:ident, + $n:expr, $w:expr, $r:expr, $p:expr, $s:expr, $full_doc:expr, $doc:expr, ) => { - use digest::consts::{$blocksize, $outputsize}; + use digest::consts::{$blocksize, $outputsize, $statesize}; #[derive(Clone)] #[doc=$doc] @@ -95,6 +95,33 @@ macro_rules! fsb_impl { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for $state {} + impl SerializableState for $state { + type SerializedStateSize = <$statesize as Add>::Output; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + serialized_state[..self.state.len()].copy_from_slice(&self.state[..]); + serialized_state[self.state.len()..] + .copy_from_slice(&self.blocks_len.to_le_bytes()); + + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = + serialized_state.split::<$statesize>(); + + let mut state = [0; $r / 8]; + state.copy_from_slice(serialized_state.as_ref()); + + let blocks_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + Ok(Self { state, blocks_len }) + } + } + impl $state { const SIZE_OUTPUT_COMPRESS: usize = $r / 8; const SIZE_INPUT_COMPRESS: usize = $s / 8; diff --git a/fsb/tests/mod.rs b/fsb/tests/mod.rs index 6a9bddeab..4a967c854 100644 --- a/fsb/tests/mod.rs +++ b/fsb/tests/mod.rs @@ -1,5 +1,7 @@ -use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{ + dev::{feed_rand_16mib, fixed_reset_test}, + hash_serialization_test, new_test, +}; use fsb::{Digest, Fsb160, Fsb224, Fsb256, Fsb384, Fsb512}; use hex_literal::hex; @@ -9,6 +11,129 @@ new_test!(fsb256_main, "fsb256", Fsb256, fixed_reset_test); new_test!(fsb384_main, "fsb384", Fsb384, fixed_reset_test); new_test!(fsb512_main, "fsb512", Fsb512, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + fsb160_serialization, + Fsb160, + hex!(" + e269a086505e9493fa92ed509f6cdce8 + 51dd58654160a8c8a499a953a479c169 + d46c0576d8e7b262341087f58eb3dc9d + 3002451f8f0d484cbdc8b342afef13e5 + 4f2fce12e400eca0a6bc0b8837f999c3 + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000000000 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + fsb224_serialization, + Fsb224, + hex!(" + bfba3bbd79050b4428d239ec4eb25277 + b228898bd26c04ccf11e052944e72b61 + aae3f1a0a6cdb862d87fac21fefb1dc1 + 4074cfc45d8994087dc70d1d5308b6b1 + f68f6eea5d886904dfcab198e62f6c97 + 67ae365fc648b1bb7d00f65ff276373a + 7a1b4d80efdd7af5fce3b0e93371172a + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + fsb256_serialization, + Fsb256, + hex!(" + 6c4fef5401baa1825e74fe2a150dd746 + 55ba10d8fa2db4ee3e6925de2cf4a83a + 5121e2ded528f92613ec858045c1bdd1 + 5a11ce8bd4df1a3f409dfc9d1025d333 + 360f30a342f417018fcf0ff1c5dddb04 + 2a18453d707d27721e57fd182d932945 + 89a1c3ef007e6bb3b59f2a361094e21d + 6c72d213545a6612a2adc547968a03e9 + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + fsb384_serialization, + Fsb384, + hex!(" + 41825b73ae6b5cdc91b8b70723dc1f92 + 97fec62f09c17c75a2326e3d7664efb5 + df1104db5c711016d161187f3174ef77 + f5e0545c917d01375537d15cf90c838d + 2f5fd5a294c7012d80a0f6a6240f90f9 + a6976812ec60fdd35bbc1a064287308e + 1d916cb4d59c02b19ab2d20e1b9b2acb + e826c4d0022db322e3314fe0cf232cdd + 75b61c653bf30569ca76dd11bd032d03 + bc83a0e59964eb5dd77a22d0a459de63 + ab5ff6ce1207a9daed690c36399f7306 + 43a1628e0f33650a0100000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + fsb512_serialization, + Fsb512, + hex!(" + 4feff733b532b0767d0bbe8804f60ebc + bbf33aa6796e608d37e6e24dcf216636 + 31312286c6efa794b237f05df2838526 + cb5120291a53566bb784ff32d2ea5464 + 693cd68fc52a37375160c0a4f4b8dae8 + 06703a98720180c4abaa2c195a6ede59 + ed68fc5caae6172003ad9195d7ae7747 + 10d7a0c46772a7216e553a39dbeac282 + fa2848e7038eec7c78f7da35db4cf8ea + d35f2f140ec49203f1d3afe24fe4100a + 9d0cc5fdb1e964ed48fe786e2bfdabe4 + 70c148f65c67c21cc6794b8e1eb90e6a + 39800334a2016e2081f5a458fcd348d8 + 778dc4090066f3906b835a1283c97569 + 4e1dc38fef18dd35d2d4f283d0bc1502 + db72a91871a23bc40100000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000000000 + ") +); + #[test] fn fsb160_rand() { let mut h = Fsb160::new(); diff --git a/gost94/src/gost94_core.rs b/gost94/src/gost94_core.rs index bc8c383a1..ff76f2b8f 100644 --- a/gost94/src/gost94_core.rs +++ b/gost94/src/gost94_core.rs @@ -1,12 +1,14 @@ #![allow(clippy::many_single_char_names)] use core::fmt; use digest::{ + array::Array, block_buffer::Eager, core_api::{ AlgorithmName, Block as TBlock, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U32}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U32, U96}, HashMarker, Output, }; @@ -290,3 +292,47 @@ impl Drop for Gost94Core

      { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Gost94Core

      {} + +impl SerializableState for Gost94Core

      { + type SerializedStateSize = U96; + + fn serialize(&self) -> SerializedState { + let serialized_h = Array::<_, U32>::from(self.h); + + let mut serialized_n = Array::<_, U32>::default(); + for (val, chunk) in self.n.iter().zip(serialized_n.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + let mut serialized_sigma = Array::<_, U32>::default(); + for (val, chunk) in self.sigma.iter().zip(serialized_sigma.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_h.concat(serialized_n).concat(serialized_sigma) + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_h, remaining_buffer) = serialized_state.split::(); + + let (serialized_n, serialized_sigma) = remaining_buffer.split::(); + let mut n = [0; 4]; + for (val, chunk) in n.iter_mut().zip(serialized_n.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let mut sigma = [0; 4]; + for (val, chunk) in sigma.iter_mut().zip(serialized_sigma.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + Ok(Self { + h: serialized_h.into(), + n, + sigma, + _m: core::marker::PhantomData, + }) + } +} diff --git a/gost94/tests/mod.rs b/gost94/tests/mod.rs index a31e4beb5..ead5c3f7a 100644 --- a/gost94/tests/mod.rs +++ b/gost94/tests/mod.rs @@ -1,8 +1,8 @@ #[cfg(feature = "oid")] use digest::const_oid::{AssociatedOid, ObjectIdentifier}; use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; -use gost94::{Digest, Gost94CryptoPro, Gost94Test, Gost94UA}; +use digest::{hash_serialization_test, new_test}; +use gost94::{Digest, Gost94CryptoPro, Gost94Test, Gost94UA, Gost94s2015}; use hex_literal::hex; new_test!(gost94_test_main, "test", Gost94Test, fixed_reset_test); @@ -13,6 +13,71 @@ new_test!( fixed_reset_test ); +#[rustfmt::skip] +hash_serialization_test!( + gost94_crypto_pro_serialization, + Gost94CryptoPro, + hex!(" + 51aeb30f746350e15ef31472e3914b1b + 4b9198e0272881ff2401cea8490e5ab2 + 00010000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + gost94_test_serialization, + Gost94Test, + hex!(" + 81bba4e852b20165ac12b2151cd38b47 + 821cfd45ad739fb03018021a77750754 + 00010000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + gost94_ua_serialization, + Gost94UA, + hex!(" + 7755aa3d77c2026677adf176fd722741 + 742a184862f353ec99b1f7928ff0eaa4 + 00010000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + gost94_s_2015_serialization, + Gost94s2015, + hex!(" + d29b34011a22a27037ea42d36a512910 + 913482fdc2349ab02ca1087a50745d5b + 00010000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + #[test] fn gost94_test_rand() { let mut h = Gost94Test::new(); diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs index dc7899d76..df7eacc9f 100644 --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -10,7 +10,7 @@ pub use digest::{self, Digest}; -use core::fmt; +use core::{convert::TryInto, fmt}; use digest::{ block_buffer::Eager, core_api::{ @@ -18,7 +18,8 @@ use digest::{ CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore, VariableOutputCore, }, - typenum::{Unsigned, U128, U28, U32, U48, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U128, U136, U28, U32, U48, U64, U72}, HashMarker, InvalidOutputSize, Output, }; @@ -127,6 +128,36 @@ impl Drop for GroestlShortVarCore { } } +impl SerializableState for GroestlShortVarCore { + type SerializedStateSize = U72; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[64..].copy_from_slice(&self.blocks_len.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = [0; compress512::COLS]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let blocks_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { state, blocks_len }) + } +} + #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for GroestlShortVarCore {} @@ -228,5 +259,35 @@ impl Drop for GroestlLongVarCore { } } +impl SerializableState for GroestlLongVarCore { + type SerializedStateSize = U136; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[128..].copy_from_slice(&self.blocks_len.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_blocks_len) = serialized_state.split::(); + + let mut state = [0; compress1024::COLS]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let blocks_len = u64::from_le_bytes(*serialized_blocks_len.as_ref()); + + Ok(Self { state, blocks_len }) + } +} + #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for GroestlLongVarCore {} diff --git a/groestl/tests/mod.rs b/groestl/tests/mod.rs index 6b23220e5..b73fd4832 100755 --- a/groestl/tests/mod.rs +++ b/groestl/tests/mod.rs @@ -1,6 +1,8 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; -use groestl::{Digest, Groestl224, Groestl256, Groestl384, Groestl512}; +use digest::{hash_rt_outsize_serialization_test, hash_serialization_test, new_test}; +use groestl::{ + Digest, Groestl224, Groestl256, Groestl384, Groestl512, GroestlLongVar, GroestlShortVar, +}; use hex_literal::hex; new_test!(groestl_224_main, "groestl224", Groestl224, fixed_reset_test); @@ -8,6 +10,127 @@ new_test!(groestl_256_main, "groestl256", Groestl256, fixed_reset_test); new_test!(groestl_384_main, "groestl384", Groestl384, fixed_reset_test); new_test!(groestl_512_main, "groestl512", Groestl512, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + groestl_224_serialization, + Groestl224, + hex!(" + 22b4f94ab7689d6434484d06ae89401b + 722a240fb27e61ec2b16bcd4a7356a5b + cbd38299d0bf12e0aed4e157e66f3936 + 2470e38d59247c03b911539fdf1c590f + 01000000000000001c01130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + groestl_256_serialization, + Groestl256, + hex!(" + d52426ab8dbd5022f8c30afca94d27d8 + 37e2407b311f65ee2926b33d0ea59209 + 0db3463c0f6e272d40ad97ad88a5ffe6 + 444e3bbf31165508937a71b9b5e4c690 + 01000000000000002001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + groestl_384_serialization, + Groestl384, + hex!(" + 7b6e411adea4d26a564b6c1717001184 + cb8ca1d57c461635e98ef0d4acc02e00 + cab78a23a12ae339f70e612a4aad386a + 5f8fe9024262e3ef35fda0e0aecf819c + d274889e334b330ce0f116e0c74c5df1 + 1085f942d65089d7e0d6494a83e6bdea + fa03861e95cc5c13e1afb8312332f79d + 70ee8dc1e6bbdb5644bfaa0bfc7e3674 + 01000000000000003001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + groestl_512_serialization, + Groestl512, + hex!(" + 503f2a766eed3a15b43ecbf90f840447 + 588fe26f14cc63fd7d79a375c920b776 + e3a443149c735f4161ef31ff8ccb0afb + dba6ce50239411294623568f43e8d337 + 5f236f50e6aad6409661bb5348ef0451 + b6f470a42a63fa3613e7091ab0044014 + e3535f6ece66f3a19ac53d98f60bd896 + 2c879ab89e4990e1a39418d8a94bde45 + 01000000000000004001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); +#[rustfmt::skip] +hash_rt_outsize_serialization_test!( + groestl_short_var_serialization, + GroestlShortVar, + hex!(" + d549d951b61b5caa7ad964c6595b4473 + 0161feb244d70c75c562b63374224a2f + 228bffde579c78368b8b507021cdacb9 + a17412ae9027f8f4cb061c9c9d94a77e + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000000000000000001f + ") +); +#[rustfmt::skip] +hash_rt_outsize_serialization_test!( + groestl_long_var_serialization, + GroestlLongVar, + hex!(" + d2038487f42a7bc6ac0c172db0aa20a4 + f878e618ffefd63b11517a039b374088 + 2ce6345f0eb746fa8abd6446f4d52d13 + 3395872ae812d0c10a7569c03872eb59 + 22a38a10f240cc6c2b62c60b95461bc6 + 80e0a2e2452561a28edcd59a1ca4bf7f + 7237d1395d84e76a2061218d084d9112 + 9e4ae07a2dc86b2c67e1acc188eceba4 + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000000000000000003f + ") +); + #[test] fn groestl224_rand() { let mut h = Groestl224::new(); diff --git a/md2/src/lib.rs b/md2/src/lib.rs index fde870a3e..9313baca9 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -12,12 +12,14 @@ pub use digest::{self, Digest}; use core::fmt; use digest::{ + array::Array, block_buffer::Eager, - consts::U16, + consts::{U16, U48, U64}, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, HashMarker, Output, }; @@ -31,13 +33,15 @@ mod consts; /// Core MD2 hasher state. #[derive(Clone)] pub struct Md2Core { - x: [u8; 48], + x: [u8; STATE_LEN], checksum: Block, } /// MD2 hasher state. pub type Md2 = CoreWrapper; +const STATE_LEN: usize = 48; + impl Md2Core { fn compress(&mut self, block: &Block) { // Update state @@ -48,7 +52,7 @@ impl Md2Core { let mut t = 0u8; for j in 0..18u8 { - for k in 0..48 { + for k in 0..STATE_LEN { self.x[k] ^= consts::S[t as usize]; t = self.x[k]; } @@ -106,7 +110,7 @@ impl Default for Md2Core { #[inline] fn default() -> Self { Self { - x: [0; 48], + x: [0; STATE_LEN], checksum: Default::default(), } } @@ -149,3 +153,22 @@ impl Drop for Md2Core { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Md2Core {} + +impl SerializableState for Md2Core { + type SerializedStateSize = U64; + + fn serialize(&self) -> SerializedState { + Array::<_, U48>::from(self.x).concat(self.checksum) + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_x, serialized_checksum) = serialized_state.split::(); + + Ok(Self { + x: *serialized_x.as_ref(), + checksum: serialized_checksum, + }) + } +} diff --git a/md2/tests/mod.rs b/md2/tests/mod.rs index 21e4cc14a..0050fbeb0 100644 --- a/md2/tests/mod.rs +++ b/md2/tests/mod.rs @@ -10,3 +10,17 @@ fn md2_rand() { feed_rand_16mib(&mut h); assert_eq!(h.finalize(), hex!("f9638c7be725f4d0b5ac342560af1a5b")); } + +#[rustfmt::skip] +digest::hash_serialization_test!( + md2_serialization, + Md2, + hex!(" + 30a6b6fb5560099020a61f1535a51a4b + 228e7e945ef919b6c670486ffde72dd6 + 764728b6ce8222562c9ceae0cbbdaf01 + f3f2ef9fe6ed831b3de51fec14010573 + 01130000000000000000000000000000 + 00 + ") +); diff --git a/md4/src/lib.rs b/md4/src/lib.rs index 04d04749c..f41b891a1 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -17,7 +17,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U16, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U16, U24, U64}, HashMarker, Output, }; @@ -40,12 +41,14 @@ const K2: Wu32 = W(0x6ED9_EBA1); #[derive(Clone)] pub struct Md4Core { block_len: W, - state: [Wu32; 4], + state: [Wu32; STATE_LEN], } /// MD4 hasher state pub type Md4 = CoreWrapper; +const STATE_LEN: usize = 4; + impl HashMarker for Md4Core {} impl BlockSizeUser for Md4Core { @@ -134,7 +137,7 @@ impl Drop for Md4Core { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Md4Core {} -fn compress(state: &mut [Wu32; 4], input: &Block) { +fn compress(state: &mut [Wu32; STATE_LEN], input: &Block) { fn f(x: Wu32, y: Wu32, z: Wu32) -> Wu32 { z ^ (x & (y ^ z)) } @@ -195,3 +198,33 @@ fn compress(state: &mut [Wu32; 4], input: &Block) { state[2] += c; state[3] += d; } + +impl SerializableState for Md4Core { + type SerializedStateSize = U24; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.0.to_le_bytes()); + } + + serialized_state[16..].copy_from_slice(&self.block_len.0.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = [W(0); STATE_LEN]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(4)) { + *val = W(u32::from_le_bytes(chunk.try_into().unwrap())); + } + + let block_len = W(u64::from_le_bytes(*serialized_block_len.as_ref())); + + Ok(Self { block_len, state }) + } +} diff --git a/md4/tests/mod.rs b/md4/tests/mod.rs index d7681e2ff..63cf54419 100644 --- a/md4/tests/mod.rs +++ b/md4/tests/mod.rs @@ -10,3 +10,17 @@ fn md4_rand() { feed_rand_16mib(&mut h); assert_eq!(h.finalize(), hex!("07345abfb6192d85bf6a211381926120")); } + +#[rustfmt::skip] +digest::hash_serialization_test!( + md4_serialization, + Md4, + hex!(" + b87358479b721dbccae8eefb4831451d + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); diff --git a/md5/src/lib.rs b/md5/src/lib.rs index a4156b020..223db46ee 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -12,7 +12,7 @@ pub use digest::{self, Digest}; mod compress; pub(crate) mod consts; -use core::{fmt, slice::from_ref}; +use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ array::Array, block_buffer::Eager, @@ -20,7 +20,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U16, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U16, U24, U64}, HashMarker, Output, }; @@ -33,12 +34,14 @@ use digest::zeroize::{Zeroize, ZeroizeOnDrop}; #[derive(Clone)] pub struct Md5Core { block_len: u64, - state: [u32; 4], + state: [u32; STATE_LEN], } /// MD5 hasher state. pub type Md5 = CoreWrapper; +const STATE_LEN: usize = 4; + impl HashMarker for Md5Core {} impl BlockSizeUser for Md5Core { @@ -123,5 +126,35 @@ impl Drop for Md5Core { } } +impl SerializableState for Md5Core { + type SerializedStateSize = U24; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[16..].copy_from_slice(&self.block_len.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = [0; STATE_LEN]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(4)) { + *val = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { state, block_len }) + } +} + #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Md5Core {} diff --git a/md5/tests/mod.rs b/md5/tests/mod.rs index 175d5060e..bec9c19fb 100644 --- a/md5/tests/mod.rs +++ b/md5/tests/mod.rs @@ -10,3 +10,17 @@ fn md5_rand() { feed_rand_16mib(&mut h); assert_eq!(h.finalize(), hex!("61aec26f1b909578ef638ae02dac0977")); } + +#[rustfmt::skip] +digest::hash_serialization_test!( + md5_serialization, + Md5, + hex!(" + 9522cae5ddd693db0f99ab079e21d2ca + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); diff --git a/ripemd/src/c128.rs b/ripemd/src/c128.rs index 432613a03..5c1d59191 100644 --- a/ripemd/src/c128.rs +++ b/ripemd/src/c128.rs @@ -1,5 +1,9 @@ +use core::convert::TryInto; +use digest::typenum::U16; + pub const DIGEST_BUF_LEN: usize = 4; pub const WORK_BUF_LEN: usize = 16; +pub type DigestBufByteLen = U16; pub const H0: [u32; DIGEST_BUF_LEN] = [0x6745_2301, 0xefcd_ab89, 0x98ba_dcfe, 0x1032_5476]; diff --git a/ripemd/src/c160.rs b/ripemd/src/c160.rs index f3e14a098..3956900d5 100644 --- a/ripemd/src/c160.rs +++ b/ripemd/src/c160.rs @@ -1,5 +1,9 @@ +use core::convert::TryInto; +use digest::typenum::U20; + pub const DIGEST_BUF_LEN: usize = 5; pub const WORK_BUF_LEN: usize = 16; +pub type DigestBufByteLen = U20; pub const H0: [u32; DIGEST_BUF_LEN] = [ 0x6745_2301, diff --git a/ripemd/src/c256.rs b/ripemd/src/c256.rs index cd54e8af0..3579c156e 100644 --- a/ripemd/src/c256.rs +++ b/ripemd/src/c256.rs @@ -1,8 +1,10 @@ -use core::mem::swap; +use core::{convert::TryInto, mem::swap}; +use digest::typenum::U32; pub const DIGEST_BUF_LEN: usize = 8; pub const HALF_DIGEST_BUF_LEN: usize = DIGEST_BUF_LEN / 2; pub const WORK_BUF_LEN: usize = 16; +pub type DigestBufByteLen = U32; pub const H0: [u32; DIGEST_BUF_LEN] = [ 0x6745_2301, diff --git a/ripemd/src/c320.rs b/ripemd/src/c320.rs index d962f54ff..a69e28918 100644 --- a/ripemd/src/c320.rs +++ b/ripemd/src/c320.rs @@ -1,8 +1,10 @@ -use core::mem::swap; +use core::{convert::TryInto, mem::swap}; +use digest::typenum::U40; pub const HALF_DIGEST_BUF_LEN: usize = 5; pub const DIGEST_BUF_LEN: usize = 10; pub const WORK_BUF_LEN: usize = 16; +pub type DigestBufByteLen = U40; pub const H0: [u32; DIGEST_BUF_LEN] = [ 0x6745_2301, diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs index 0dfa357bc..246876169 100644 --- a/ripemd/src/lib.rs +++ b/ripemd/src/lib.rs @@ -10,14 +10,15 @@ pub use digest::{self, Digest}; -use core::fmt; +use core::{convert::TryInto, fmt}; use digest::{ block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U16, U20, U32, U40, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Sum, Unsigned, U16, U20, U32, U40, U64, U8}, HashMarker, Output, }; @@ -131,6 +132,38 @@ macro_rules! impl_ripemd { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for $name {} + + impl SerializableState for $name { + type SerializedStateSize = Sum<$mod::DigestBufByteLen, U8>; + + fn serialize(&self) -> SerializedState { + let mut serialized_h = SerializedState::::default(); + + for (val, chunk) in self.h.iter().zip(serialized_h.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_h[$mod::DigestBufByteLen::USIZE..] + .copy_from_slice(&self.block_len.to_le_bytes()); + serialized_h + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_h, serialized_block_len) = + serialized_state.split::<$mod::DigestBufByteLen>(); + + let mut h = [0; $mod::DIGEST_BUF_LEN]; + for (val, chunk) in h.iter_mut().zip(serialized_h.chunks_exact(4)) { + *val = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { h, block_len }) + } + } }; } diff --git a/ripemd/tests/mod.rs b/ripemd/tests/mod.rs index fe2a78e27..3edb38880 100644 --- a/ripemd/tests/mod.rs +++ b/ripemd/tests/mod.rs @@ -1,5 +1,5 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; use hex_literal::hex; use ripemd::{Digest, Ripemd128, Ripemd160, Ripemd256, Ripemd320}; @@ -11,6 +11,65 @@ new_test!(ripemd160_main, "ripemd160", Ripemd160, fixed_reset_test); new_test!(ripemd256_main, "ripemd256", Ripemd256, fixed_reset_test); new_test!(ripemd320_main, "ripemd320", Ripemd320, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + ripemd128_serialization, + Ripemd128, + hex!(" + 4be201c3c174ca6a87dbc274d2a372eb + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + ripemd160_serialization, + Ripemd160, + hex!(" + fe8fe28142dc4785457085ad85ac4a20 + 4127b66d010000000000000001130000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + ripemd256_serialization, + Ripemd256, + hex!(" + adaa3eee80b1ebe8f5a2363a13ad15c6 + 1cac8a0942a88e8b075d9cdc788dd59e + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + ripemd320_serialization, + Ripemd320, + hex!(" + b964693501716183244dc2f66453fe04 + 333677dadfc04919f1aa6b2e66684cce + 665028f0f1253e090100000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + #[test] fn ripemd128_1mil_a() { let mut h = Ripemd128::new(); diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 32a9fce95..e77e9bfd7 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -9,7 +9,7 @@ pub use digest::{self, Digest}; -use core::{fmt, slice::from_ref}; +use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ array::Array, block_buffer::Eager, @@ -17,7 +17,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U20, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U20, U28, U64}, HashMarker, Output, }; @@ -127,3 +128,33 @@ impl Drop for Sha1Core { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Sha1Core {} + +impl SerializableState for Sha1Core { + type SerializedStateSize = U28; + + fn serialize(&self) -> SerializedState { + let mut serialized_h = SerializedState::::default(); + + for (val, chunk) in self.h.iter().zip(serialized_h.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_h[20..].copy_from_slice(&self.block_len.to_le_bytes()); + serialized_h + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_h, serialized_block_len) = serialized_state.split::(); + + let mut h = [0; STATE_LEN]; + for (val, chunk) in h.iter_mut().zip(serialized_h.chunks_exact(4)) { + *val = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { h, block_len }) + } +} diff --git a/sha1/tests/mod.rs b/sha1/tests/mod.rs index 6f26dabc3..f5fe1b0ac 100644 --- a/sha1/tests/mod.rs +++ b/sha1/tests/mod.rs @@ -13,3 +13,17 @@ fn sha1_rand() { hex!("7e565a25a8b123e9881addbcedcd927b23377a78"), ); } + +#[rustfmt::skip] +digest::hash_serialization_test!( + sha1_serialization, + Sha1, + hex!(" + ad0eca12d0aaa48af970c03f1420a28d + 260b50df010000000000000001130000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000 + ") +); diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs index 94ace5029..acd23541c 100644 --- a/sha2/src/core_api.rs +++ b/sha2/src/core_api.rs @@ -1,5 +1,5 @@ use crate::{consts, sha256::compress256, sha512::compress512}; -use core::{fmt, slice::from_ref}; +use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ array::Array, block_buffer::Eager, @@ -7,7 +7,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, - typenum::{Unsigned, U128, U32, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U128, U32, U40, U64, U80}, HashMarker, InvalidOutputSize, Output, }; @@ -100,6 +101,36 @@ impl Drop for Sha256VarCore { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Sha256VarCore {} +impl SerializableState for Sha256VarCore { + type SerializedStateSize = U40; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[32..].copy_from_slice(&self.block_len.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = consts::State256::default(); + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(4)) { + *val = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { state, block_len }) + } +} + /// Core block-level SHA-512 hasher with variable output size. /// /// Supports initialization only for 28, 32, 48, and 64 byte output sizes, @@ -186,3 +217,34 @@ impl Drop for Sha512VarCore { } #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Sha512VarCore {} + +impl SerializableState for Sha512VarCore { + type SerializedStateSize = U80; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[64..].copy_from_slice(&self.block_len.to_le_bytes()); + + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = consts::State512::default(); + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u128::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { state, block_len }) + } +} diff --git a/sha2/tests/mod.rs b/sha2/tests/mod.rs index 91104229b..e77bf8460 100644 --- a/sha2/tests/mod.rs +++ b/sha2/tests/mod.rs @@ -1,14 +1,133 @@ -use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{ + dev::{feed_rand_16mib, fixed_reset_test}, + hash_serialization_test, new_test, +}; use hex_literal::hex; use sha2::{Digest, Sha224, Sha256, Sha384, Sha512, Sha512_224, Sha512_256}; new_test!(sha224_main, "sha224", Sha224, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha224_serializable_state, + Sha224, + hex!(" + 347517c7066151018ff10a846ceff19c + 34cfae254e3efe284a6a92019582e270 + 01000000000000001c01130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + new_test!(sha256_main, "sha256", Sha256, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha256_serializable_state, + Sha256, + hex!(" + ca01b8b161490f9889c64c64f9036cb7 + 3322c40ec8c6a2d7da3ee8877247c253 + 01000000000000002001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + new_test!(sha512_224_main, "sha512_224", Sha512_224, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha512_224_serializable_state, + Sha512_224, + hex!(" + d9c911b44e2fe9546e6de18d6d4d7b40 + 741b68eae6e6ad9d495d8ffbf3dec827 + 66e8ef2f248f79b4a654fd4b04310088 + 07b82e6616da4d4c7dc2fc45965c7381 + 01000000000000000000000000000000 + 1c011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); + new_test!(sha512_256_main, "sha512_256", Sha512_256, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha512_256_serializable_state, + Sha512_256, + hex!(" + 7a37a8bf68012e540d93b77075bfff38 + af47e388f0be8293b1a2f112b8ca9f5c + 893499ddb32159a444c3c72e3b7194f5 + 59d5625b73328dd3e8159273b77e7a98 + 01000000000000000000000000000000 + 20011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); + new_test!(sha384_main, "sha384", Sha384, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha384_serializable_state, + Sha384, + hex!(" + 2a5aeaf34b33d4f3a8ba1a13b0ee48e7 + a3378b66f0bca73b4a576e84e7d1db0b + 43494cbd9a6b2e8c80e0703b605b8f82 + 33ded6d375b39f7c18c80d3c0e9c7029 + 01000000000000000000000000000000 + 30011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); + new_test!(sha512_main, "sha512", Sha512, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha512_serializable_state, + Sha512, + hex!(" + eee700aeb8c1952696e5fb2c0701a728 + 96937bc6a82e054e91e06fe939db2fa7 + e45494b888dc5090d16689284664e865 + 0d06e4c18f4abb177d69d4fec184f8a4 + 01000000000000000000000000000000 + 40011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); #[test] fn sha256_rand() { diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 68c519a09..2db64efac 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -20,6 +20,7 @@ use digest::{ ExtendableOutputCore, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, XofReaderCore, XofReaderCoreWrapper, }, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, HashMarker, Output, }; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 639703119..a5ee3e43f 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -93,6 +93,38 @@ macro_rules! impl_sha3 { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for $name {} + + impl SerializableState for $name { + type SerializedStateSize = U200; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self + .state + .state + .iter() + .zip(serialized_state.chunks_exact_mut(8)) + { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + use core::convert::TryInto; + + let mut state = Sha3State::default(); + for (val, chunk) in state.state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + Ok(Self { state }) + } + } }; ( $name:ident, $full_name:ident, $output_size:ident, diff --git a/sha3/tests/mod.rs b/sha3/tests/mod.rs index 120ff41e2..5b3184b0c 100644 --- a/sha3/tests/mod.rs +++ b/sha3/tests/mod.rs @@ -1,24 +1,282 @@ #![no_std] use digest::dev::{fixed_reset_test, xof_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; +use hex_literal::hex; + +// new_test values are from https://github.com/kazcw/yellowsun/blob/test-keccak/src/lib.rs#L171 new_test!(keccak_224, "keccak_224", sha3::Keccak224, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + keccak_224_serialization, + sha3::Keccak224, + hex!(" + 44fd24cba7fce860dc98a80dc7fb7d47 + bf139f3230ded727d6f9ef31809bbf97 + 31d84d0b9c2329188e172173b6bdf162 + 110beca9038378bff2438eb8564d8d72 + e7a82b9bb891918e71ed71bc7b0669d3 + 5cf60adf4a9239ad8da020500b1061b1 + cb60c04da0d36e4c1174776188f10b17 + dbff4ba813efe418a669a64b6637d400 + d245105d585b3e9968db9031e3552d2a + f11c65f70c1ccfebc2b56fcc6cc01fb5 + 172ba2421f7421e615276188334e72fe + 314abd05cf754d381e6e37056fa59208 + 0051cc0117f141730113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + new_test!(keccak_256, "keccak_256", sha3::Keccak256, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + keccak_256_serialization, + sha3::Keccak256, + hex!(" + fc47e7fccd77882a725bb285776a86bb + 894158aff4b1b7b1dac04e5fbf46eb54 + 71d660b46236f53e01fa72ad115bfecc + 5f612b2f2ff5f01bf7dd6b6ad0d3b3c4 + f938a789505134417873fb5c459f7948 + fa79ee740848afb6195c58b160ae1d44 + 4023d4e0308935a8bd27f7254189a3bf + b2c192bcb9a46607e919ef89dfeb7cc2 + 2a4e9b68a597eaf59e337dd807e1abfd + 7e447e24024806d9108ac859e70592c5 + f1262b322d2f66eb79be7011fc093a8e + 77944fd80e7874194cf4139e6dd2db21 + 457ece6d445a2a740113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + new_test!(keccak_384, "keccak_384", sha3::Keccak384, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + keccak_384_serialization, + sha3::Keccak384, + hex!(" + 4c0e2029fe5337ba52489efa9b16fd56 + 444067cb57201b34d41b895f7cd8ed55 + f158738fb7bed087678916c410578be3 + b72d861fc340c2b38226bc7d87198295 + d0b99e50fac033d5ca13f18d67887530 + 7301c500850fa7c7a3cfab39e1207cfa + b0a75522a0c062283ecd6f505d10a057 + 75129005b9badbcf37f64b37d8a97a1e + d6d4637908eaf29862f464c079e4238a + 0f97a0cd0653a2ee5ae43299319e3c13 + 7a96672c6b0fc76eab1982ed7df52181 + 5629f1440977df882d4fff69e5882524 + 0204c9dfaeff9bc50113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + new_test!(keccak_512, "keccak_512", sha3::Keccak512, fixed_reset_test); -// tests are from https://github.com/kazcw/yellowsun/blob/test-keccak/src/lib.rs#L171 +#[rustfmt::skip] +hash_serialization_test!( + keccak_512_serialization, + sha3::Keccak512, + hex!(" + e79e949fb144d267375cca9fa29f47f4 + 5faca4ac7d7b70fa3b892587ca64d28f + 1f3b4baf1d7f4192cc29d1656bca631c + 05492ddaaf3b767c63ce45f36d03eead + f4e86127f0221230b964ceb0a97387df + eab91a107657ea46087148ae1bc8bee2 + 9e5a6dc3869a616b68dcadf67ea2745c + 31ffc101f31192ae40dd44ca1025b2ca + 96f9c0a3891b1f870115ef6c15af3bcc + 81958eac548089b535342c542108a510 + 366d728b0daf6030a1ae7f1428d8a322 + 0d3501a6e36eb272b7d59b69bfe7f71f + 4978bbae6553ed8d0113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + new_test!( keccak_256_full, "keccak_256_full", sha3::Keccak256Full, fixed_reset_test ); +#[rustfmt::skip] +hash_serialization_test!( + keccak_256_full_serialization, + sha3::Keccak256Full, + hex!(" + fc47e7fccd77882a725bb285776a86bb + 894158aff4b1b7b1dac04e5fbf46eb54 + 71d660b46236f53e01fa72ad115bfecc + 5f612b2f2ff5f01bf7dd6b6ad0d3b3c4 + f938a789505134417873fb5c459f7948 + fa79ee740848afb6195c58b160ae1d44 + 4023d4e0308935a8bd27f7254189a3bf + b2c192bcb9a46607e919ef89dfeb7cc2 + 2a4e9b68a597eaf59e337dd807e1abfd + 7e447e24024806d9108ac859e70592c5 + f1262b322d2f66eb79be7011fc093a8e + 77944fd80e7874194cf4139e6dd2db21 + 457ece6d445a2a740113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); new_test!(sha3_224, "sha3_224", sha3::Sha3_224, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha3_224_serialization, + sha3::Sha3_224, + hex!(" + 44fd24cba7fce860dc98a80dc7fb7d47 + bf139f3230ded727d6f9ef31809bbf97 + 31d84d0b9c2329188e172173b6bdf162 + 110beca9038378bff2438eb8564d8d72 + e7a82b9bb891918e71ed71bc7b0669d3 + 5cf60adf4a9239ad8da020500b1061b1 + cb60c04da0d36e4c1174776188f10b17 + dbff4ba813efe418a669a64b6637d400 + d245105d585b3e9968db9031e3552d2a + f11c65f70c1ccfebc2b56fcc6cc01fb5 + 172ba2421f7421e615276188334e72fe + 314abd05cf754d381e6e37056fa59208 + 0051cc0117f141730113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + new_test!(sha3_256, "sha3_256", sha3::Sha3_256, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha3_256_serialization, + sha3::Sha3_256, + hex!(" + fc47e7fccd77882a725bb285776a86bb + 894158aff4b1b7b1dac04e5fbf46eb54 + 71d660b46236f53e01fa72ad115bfecc + 5f612b2f2ff5f01bf7dd6b6ad0d3b3c4 + f938a789505134417873fb5c459f7948 + fa79ee740848afb6195c58b160ae1d44 + 4023d4e0308935a8bd27f7254189a3bf + b2c192bcb9a46607e919ef89dfeb7cc2 + 2a4e9b68a597eaf59e337dd807e1abfd + 7e447e24024806d9108ac859e70592c5 + f1262b322d2f66eb79be7011fc093a8e + 77944fd80e7874194cf4139e6dd2db21 + 457ece6d445a2a740113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + new_test!(sha3_384, "sha3_384", sha3::Sha3_384, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha3_384_serialization, + sha3::Sha3_384, + hex!(" + 4c0e2029fe5337ba52489efa9b16fd56 + 444067cb57201b34d41b895f7cd8ed55 + f158738fb7bed087678916c410578be3 + b72d861fc340c2b38226bc7d87198295 + d0b99e50fac033d5ca13f18d67887530 + 7301c500850fa7c7a3cfab39e1207cfa + b0a75522a0c062283ecd6f505d10a057 + 75129005b9badbcf37f64b37d8a97a1e + d6d4637908eaf29862f464c079e4238a + 0f97a0cd0653a2ee5ae43299319e3c13 + 7a96672c6b0fc76eab1982ed7df52181 + 5629f1440977df882d4fff69e5882524 + 0204c9dfaeff9bc50113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + new_test!(sha3_512, "sha3_512", sha3::Sha3_512, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sha3_512_serialization, + sha3::Sha3_512, + hex!(" + e79e949fb144d267375cca9fa29f47f4 + 5faca4ac7d7b70fa3b892587ca64d28f + 1f3b4baf1d7f4192cc29d1656bca631c + 05492ddaaf3b767c63ce45f36d03eead + f4e86127f0221230b964ceb0a97387df + eab91a107657ea46087148ae1bc8bee2 + 9e5a6dc3869a616b68dcadf67ea2745c + 31ffc101f31192ae40dd44ca1025b2ca + 96f9c0a3891b1f870115ef6c15af3bcc + 81958eac548089b535342c542108a510 + 366d728b0daf6030a1ae7f1428d8a322 + 0d3501a6e36eb272b7d59b69bfe7f71f + 4978bbae6553ed8d0113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); new_test!(shake128, "shake128", sha3::Shake128, xof_reset_test); new_test!(shake256, "shake256", sha3::Shake256, xof_reset_test); diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs index 2ee07ec35..a49a7d7eb 100644 --- a/shabal/src/core_api.rs +++ b/shabal/src/core_api.rs @@ -3,11 +3,12 @@ use core::{fmt, mem, num::Wrapping}; use digest::{ array::Array, block_buffer::Eager, - consts::U64, + consts::{U184, U48, U64, U8}, core_api::{ AlgorithmName, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, HashMarker, InvalidOutputSize, Output, }; @@ -259,3 +260,58 @@ impl Drop for ShabalVarCore { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for ShabalVarCore {} + +impl SerializableState for ShabalVarCore { + type SerializedStateSize = U184; + + fn serialize(&self) -> SerializedState { + let mut serialized_a = Array::<_, U48>::default(); + for (val, chunk) in self.a.iter().zip(serialized_a.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.0.to_le_bytes()); + } + + let mut serialized_b = Array::<_, U64>::default(); + for (val, chunk) in self.b.iter().zip(serialized_b.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.0.to_le_bytes()); + } + + let mut serialized_c = Array::<_, U64>::default(); + for (val, chunk) in self.c.iter().zip(serialized_c.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.0.to_le_bytes()); + } + + let mut serialized_w = Array::<_, U8>::default(); + serialized_w.copy_from_slice(&self.w.0.to_le_bytes()); + + serialized_a + .concat(serialized_b) + .concat(serialized_c) + .concat(serialized_w) + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_a, remaining_buffer) = serialized_state.split::(); + let mut a = [Wrapping(0); 12]; + for (val, chunk) in a.iter_mut().zip(serialized_a.chunks_exact(4)) { + *val = Wrapping(u32::from_le_bytes(chunk.try_into().unwrap())); + } + + let (serialized_b, remaining_buffer) = remaining_buffer.split::(); + let mut b = [Wrapping(0); 16]; + for (val, chunk) in b.iter_mut().zip(serialized_b.chunks_exact(4)) { + *val = Wrapping(u32::from_le_bytes(chunk.try_into().unwrap())); + } + + let (serialized_c, serialized_w) = remaining_buffer.split::(); + let mut c = [Wrapping(0); 16]; + for (val, chunk) in c.iter_mut().zip(serialized_c.chunks_exact(4)) { + *val = Wrapping(u32::from_le_bytes(chunk.try_into().unwrap())); + } + + let w = Wrapping(u64::from_le_bytes(*serialized_w.as_ref())); + + Ok(Self { a, b, c, w }) + } +} diff --git a/shabal/tests/mod.rs b/shabal/tests/mod.rs index 08ff31099..27a5a73f8 100644 --- a/shabal/tests/mod.rs +++ b/shabal/tests/mod.rs @@ -1,7 +1,7 @@ #![no_std] use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; use hex_literal::hex; use shabal::{Digest, Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; @@ -11,6 +11,126 @@ new_test!(shabal256_main, "shabal256", Shabal256, fixed_reset_test); new_test!(shabal384_main, "shabal384", Shabal384, fixed_reset_test); new_test!(shabal512_main, "shabal512", Shabal512, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + shabal192_serialization, + Shabal192, + hex!(" + 5039204617bc74833d85392827f8a4dc + 9ac8eda6c9de1b56f61879157d15deac + 9b8c2170e578116fa9464c2269a06be6 + 65f5414e6218dc7633f9528e4872e06b + 79a2845f8064b30810b49e6c2db35ca3 + 09a43507045a84ddf7d479f5e0da4191 + e158f608380f63990965023f56134aba + f3cf6558c25b0a72e9c247dd2eb57f91 + 6fb115aac5d870af0bf646f4e663cd11 + 7fb0af3bbce91a4a40876cdabe7b95c9 + bfe92dd7ae31110726fb1b33d2183477 + 02000000000000001801130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + shabal224_serialization, + Shabal224, + hex!(" + 9d466b087ab69391e8e9c3d92409d6d9 + 5b49b1a1124a021722c149eeff1507ae + 598db0e5fcf9def16798a1841b286ba8 + 8e60a2d16df506393e697d0bea6b6df1 + d2bac527efff9e0340193eef05b8f10e + 1a4c2d868e35a3d2300a985daf12f98d + f298de0343d8a8254dc9ee87705af69d + e57d96abc34fc92e5d8194f3b4438399 + 3bc21d38311f40fb6717051629a8f2b8 + 61d3f46aa9cdb7cf37981781f31aee26 + f3e2686c3a18a94ced2612722e6c03b5 + 02000000000000001c01130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + shabal256_serialization, + Shabal256, + hex!(" + b3d27330c9676be3d9b6200924583db5 + bee08342ab935cc068781eac890bd7cc + cf71dfaf4158eb717291c661377f4841 + 1eddf2a0a72b10b1662660a0428acaad + 9b1509b2cea51490544eb24320314eda + 4d8aa275a7bbcf4d783878626c17d570 + 157583a9e4f8ccd3428b70a74d093688 + 121b31571bb00244209b8157f6b10b59 + fa1c06007633ca58d530851c06fe878e + a7c3f69e3d9dc271dc0bb5f2e0d14182 + ea242c80ee16e72c6ca9d3ac0fd76356 + 02000000000000002001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + shabal384_serialization, + Shabal384, + hex!(" + 355cab8881202f5f3a6cdebbf4fa985c + bfa232bb4567c140cc4ede6f47eb9e96 + 3b21275bf636a63cbdbb0b71ad10098a + 079e51e4330e04633a80e3bb8670bfb3 + 4e4cf6eaa1054d4be2d9353d4e1f223e + c9235b5b9afaff4fc388b396f9d67d0b + 28f421695a4bc615fafa20975ddb2ab8 + 4d9f20d8d28824c1bf1551a48aac281a + f10046f41d03f02d5eb1406272a1443b + 2f1b1986f2d98581bb590d3e310bd0bc + 9e43aa352f9129bea46e1c77e3039eda + 02000000000000003001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + +#[rustfmt::skip] +hash_serialization_test!( + shabal512_serialization, + Shabal512, + hex!(" + e569f34e6d01c4b1a10d664ad63b9a4c + 651175399c30ea4cd7a115c6911035cb + c56fdb4940d150277318888b7ca64bde + be55acc63dc4a7459f79ef4246e0216e + c556c1a2af7907815b17782e6d14f2f0 + 74c4f46b7c22813e52c34d2987c484ab + 2121f9815a8dc69b7ac924125646c869 + 9b4141fbad6679751f8c1624a15aebc4 + 27de6fa08d6fdee2c94ae0567c0e5f46 + 578da939e824cf529f094aa979e92354 + 992b0863d7dcc6e911766049be4af617 + 02000000000000004001130000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000 + ") +); + #[test] fn shabal192_rand() { let mut h = Shabal192::new(); diff --git a/sm3/src/consts.rs b/sm3/src/consts.rs index 792bdfbea..7b2a671a7 100644 --- a/sm3/src/consts.rs +++ b/sm3/src/consts.rs @@ -11,6 +11,8 @@ pub(crate) const T32: [u32; 64] = [ 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5, ]; -pub(crate) static H0: [u32; 8] = [ +pub(crate) static H0: [u32; H_LEN] = [ 0x7380166f, 0x4914b2b9, 0x172442d7, 0xda8a0600, 0xa96f30bc, 0x163138aa, 0xe38dee4d, 0xb0fb0e4e, ]; + +pub(crate) const H_LEN: usize = 8; diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index f0a31a814..7ed965b93 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -10,14 +10,15 @@ pub use digest::{self, Digest}; -use core::{fmt, slice::from_ref}; +use core::{convert::TryInto, fmt, slice::from_ref}; use digest::{ block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U32, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U32, U40, U64}, HashMarker, Output, }; @@ -33,7 +34,7 @@ use compress::compress; #[derive(Clone)] pub struct Sm3Core { block_len: u64, - h: [u32; 8], + h: [u32; consts::H_LEN], } /// Sm3 hasher state. @@ -116,3 +117,33 @@ impl Drop for Sm3Core { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for Sm3Core {} + +impl SerializableState for Sm3Core { + type SerializedStateSize = U40; + + fn serialize(&self) -> SerializedState { + let mut serialized_h = SerializedState::::default(); + + for (val, chunk) in self.h.iter().zip(serialized_h.chunks_exact_mut(4)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_h[32..].copy_from_slice(&self.block_len.to_le_bytes()); + serialized_h + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_h, serialized_block_len) = serialized_state.split::(); + + let mut h = [0; consts::H_LEN]; + for (val, chunk) in h.iter_mut().zip(serialized_h.chunks_exact(4)) { + *val = u32::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { block_len, h }) + } +} diff --git a/sm3/tests/mod.rs b/sm3/tests/mod.rs index 54c91ab07..2ed80d973 100644 --- a/sm3/tests/mod.rs +++ b/sm3/tests/mod.rs @@ -1,10 +1,25 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; use hex_literal::hex; use sm3::{Digest, Sm3}; new_test!(sm3_main, "sm3", Sm3, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + sm3_serialization, + Sm3, + hex!(" + ca87204f0aac075dbfa7088e245ff9f9 + 6e941eb2b5b63e57fdedfa1d2e1f5a27 + 01000000000000000113000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 000000000000000000 + ") +); + #[test] fn sm3_rand() { let mut h = Sm3::new(); diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs index 826a8a145..cd581eaa6 100644 --- a/streebog/src/core_api.rs +++ b/streebog/src/core_api.rs @@ -1,11 +1,13 @@ use core::fmt; use digest::{ + array::Array, block_buffer::Eager, - consts::U64, + consts::{U192, U64}, core_api::{ AlgorithmName, Block as GenBlock, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, UpdateCore, VariableOutputCore, }, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, HashMarker, InvalidOutputSize, Output, }; @@ -179,6 +181,49 @@ impl Drop for StreebogVarCore { #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for StreebogVarCore {} +impl SerializableState for StreebogVarCore { + type SerializedStateSize = U192; + + fn serialize(&self) -> SerializedState { + let serialized_h = Array::<_, U64>::from(self.h); + + let mut serialized_n = Array::<_, U64>::default(); + for (val, chunk) in self.n.iter().zip(serialized_n.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + let mut serialized_sigma = Array::<_, U64>::default(); + for (val, chunk) in self.sigma.iter().zip(serialized_sigma.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_h.concat(serialized_n).concat(serialized_sigma) + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_h, remaining_buffer) = serialized_state.split::(); + + let (serialized_n, serialized_sigma) = remaining_buffer.split::(); + let mut n = [0; 8]; + for (val, chunk) in n.iter_mut().zip(serialized_n.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let mut sigma = [0; 8]; + for (val, chunk) in sigma.iter_mut().zip(serialized_sigma.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + Ok(Self { + h: serialized_h.into(), + n, + sigma, + }) + } +} + #[inline(always)] fn adc(a: &mut u64, b: u64, carry: &mut u64) { let ret = (*a as u128) + (b as u128) + (*carry as u128); diff --git a/streebog/tests/mod.rs b/streebog/tests/mod.rs index 1cba79d92..ea9dc90e8 100644 --- a/streebog/tests/mod.rs +++ b/streebog/tests/mod.rs @@ -1,5 +1,5 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; use hex_literal::hex; use streebog::{Digest, Streebog256, Streebog512}; @@ -18,6 +18,55 @@ new_test!( fixed_reset_test, ); +#[rustfmt::skip] +hash_serialization_test!( + streebog256_serialization, + Streebog256, + hex!(" + 99898325f3be80da21901d9933ff8b95 + f173fc451da491ff0343ef663bc45fac + 789823fc6dc56b2d34e13ba6e495d641 + 6de8bcb4065353a2d1cbf7c4fcdee6ba + 00020000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 20011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + streebog512_serialization, + Streebog512, + hex!(" + 7a2034d872a6cb930f19285661c55315 + 12dc8528e7ba213196a4f628a38db435 + 6e8706ffda276f9bce4c13421bff6c2c + f9661f638eed08fe091d82f1f6d2dd54 + 00020000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 13131313131313131313131313131313 + 40011300000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 0000 + ") +); + /// Test vectors from: /// https://github.com/gost-engine/engine/blob/master/test/01-digest.t #[test] diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index c92e3636e..5f42675b2 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -9,14 +9,15 @@ pub use digest::{self, Digest}; -use core::fmt; +use core::{convert::TryInto, fmt}; use digest::{ block_buffer::Eager, core_api::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::{Unsigned, U24, U64}, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{Unsigned, U24, U32, U64}, HashMarker, Output, }; @@ -27,7 +28,8 @@ mod compress; mod tables; use compress::compress; -type State = [u64; 3]; +type State = [u64; STATE_LEN]; +const STATE_LEN: usize = 3; const S0: State = [ 0x0123_4567_89AB_CDEF, 0xFEDC_BA98_7654_3210, @@ -108,6 +110,36 @@ impl Reset for TigerCore { } } +impl SerializableState for TigerCore { + type SerializedStateSize = U32; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = SerializedState::::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state[24..].copy_from_slice(&self.block_len.to_le_bytes()); + serialized_state + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_block_len) = serialized_state.split::(); + + let mut state = [0; STATE_LEN]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let block_len = u64::from_le_bytes(*serialized_block_len.as_ref()); + + Ok(Self { state, block_len }) + } +} + impl AlgorithmName for TigerCore { #[inline] fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { diff --git a/tiger/tests/mod.rs b/tiger/tests/mod.rs index 6adf7156b..54e0d0087 100644 --- a/tiger/tests/mod.rs +++ b/tiger/tests/mod.rs @@ -1,11 +1,40 @@ use digest::dev::{feed_rand_16mib, fixed_reset_test}; -use digest::new_test; +use digest::{hash_serialization_test, new_test}; use hex_literal::hex; use tiger::{Digest, Tiger, Tiger2}; new_test!(tiger, "tiger", tiger::Tiger, fixed_reset_test); new_test!(tiger2, "tiger2", tiger::Tiger2, fixed_reset_test); +#[rustfmt::skip] +hash_serialization_test!( + tiger_serialization, + Tiger, + hex!(" + eb0b98618cfb93dd8d0e27b22312c64c + 54528976ae32041f0100000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); +#[rustfmt::skip] +hash_serialization_test!( + tiger2_serialization, + Tiger2, + hex!(" + eb0b98618cfb93dd8d0e27b22312c64c + 54528976ae32041f0100000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + #[test] fn tiger_rand() { let mut h = Tiger::new(); diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index 9911e2137..a4d4c9ccf 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -10,7 +10,7 @@ pub use digest::{self, Digest}; -use core::fmt; +use core::{convert::TryInto, fmt}; use digest::{ array::Array, block_buffer::Eager, @@ -18,7 +18,8 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - typenum::U64, + crypto_common::hazmat::{DeserializeStateError, SerializableState, SerializedState}, + typenum::{U32, U64, U96}, HashMarker, Output, }; @@ -33,9 +34,11 @@ use compress::compress; /// Core Whirlpool hasher state. #[derive(Clone)] pub struct WhirlpoolCore { - bit_len: [u64; 4], - state: [u64; 8], + bit_len: [u64; BITLEN_LEN], + state: [u64; STATE_LEN], } +const STATE_LEN: usize = 8; +const BITLEN_LEN: usize = 4; /// Whirlpool hasher state. pub type Whirlpool = CoreWrapper; @@ -144,5 +147,46 @@ impl Drop for WhirlpoolCore { } } +impl SerializableState for WhirlpoolCore { + type SerializedStateSize = U96; + + fn serialize(&self) -> SerializedState { + let mut serialized_state = Array::<_, U64>::default(); + + for (val, chunk) in self.state.iter().zip(serialized_state.chunks_exact_mut(8)) { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + let mut serialized_bit_len = Array::<_, U32>::default(); + for (val, chunk) in self + .bit_len + .iter() + .zip(serialized_bit_len.chunks_exact_mut(8)) + { + chunk.copy_from_slice(&val.to_le_bytes()); + } + + serialized_state.concat(serialized_bit_len) + } + + fn deserialize( + serialized_state: &SerializedState, + ) -> Result { + let (serialized_state, serialized_bit_len) = serialized_state.split::(); + + let mut state = [0; STATE_LEN]; + for (val, chunk) in state.iter_mut().zip(serialized_state.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + let mut bit_len = [0; BITLEN_LEN]; + for (val, chunk) in bit_len.iter_mut().zip(serialized_bit_len.chunks_exact(8)) { + *val = u64::from_le_bytes(chunk.try_into().unwrap()); + } + + Ok(Self { state, bit_len }) + } +} + #[cfg(feature = "zeroize")] impl ZeroizeOnDrop for WhirlpoolCore {} diff --git a/whirlpool/tests/mod.rs b/whirlpool/tests/mod.rs index e0980f39e..c963a3242 100644 --- a/whirlpool/tests/mod.rs +++ b/whirlpool/tests/mod.rs @@ -4,6 +4,25 @@ use whirlpool::{Digest, Whirlpool}; digest::new_test!(whirlpool_main, "whirlpool", Whirlpool, fixed_reset_test); +#[rustfmt::skip] +digest::hash_serialization_test!( + whirlpool_serialization, + Whirlpool, + hex!(" + 44b95aeb60cdf5910f83d556a3382cd8 + 58f03d791dfb7675125d6ede083dc917 + 47be004f1982289c065eb53491e06729 + f5935532c376541ca78e23ed572516a9 + 00000000000000000000000000000000 + 00000000000000000002000000000000 + 01130000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00000000000000000000000000000000 + 00 + ") +); + #[test] fn whirlpool_rand() { let mut h = Whirlpool::new(); From e766aecfe34f29a5628fa9047775b2eb8e713aa9 Mon Sep 17 00:00:00 2001 From: Friedel Ziegelmayer Date: Wed, 27 Mar 2024 22:15:11 +0100 Subject: [PATCH 337/373] sha1: implement collision detection and mitigation (#566) This implements sha1 collision detection, including rehashing for mitigation. As the code is 1-1 based on the version that git uses, the mitigation hashes should match as well. ## Limitations Can only be used with the pure software implementation, asfaiu. The reason for this is, that the algorithm needs access to all intermediary states, and so processing 4 rounds at once through the intrinsics will screw things up. For that reason I have made it it's own implementation, instead of adapting the existing `compress` implementations. It might be possible to add support for the "simpler" assembly implementations that do round for round processing, but I think this could be a follow up in the future, if this is too slow for these platforms. ## Prior art - Paper: https://marc-stevens.nl/research/papers/C13-S.pdf - C reference implementation: https://github.com/cr-marcstevens/sha1collisiondetection - C2Rust translation: https://gitlab.com/sequoia-pgp/sha1collisiondetection/ --- .github/workflows/sha1-checked.yml | 155 +++ Cargo.lock | 124 +- Cargo.toml | 1 + README.md | 3 + sha1-checked/CHANGELOG.md | 8 + sha1-checked/Cargo.toml | 38 + sha1-checked/LICENSE-APACHE | 201 +++ sha1-checked/LICENSE-MIT | 25 + sha1-checked/README.md | 98 ++ sha1-checked/benches/mod.rs | 39 + sha1-checked/src/compress.rs | 787 +++++++++++ sha1-checked/src/lib.rs | 369 ++++++ sha1-checked/src/ubc_check.rs | 1175 +++++++++++++++++ sha1-checked/tests/data/sha-mbles-1.bin | Bin 0 -> 640 bytes sha1-checked/tests/data/sha-mbles-2.bin | Bin 0 -> 640 bytes sha1-checked/tests/data/sha1.blb | Bin 0 -> 234 bytes .../tests/data/sha1_reducedsha_coll.bin | 1 + sha1-checked/tests/data/shattered-1.pdf | Bin 0 -> 422435 bytes sha1-checked/tests/data/shattered-2.pdf | Bin 0 -> 422435 bytes sha1-checked/tests/mod.rs | 159 +++ sha1/README.md | 4 + 21 files changed, 3162 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/sha1-checked.yml create mode 100644 sha1-checked/CHANGELOG.md create mode 100644 sha1-checked/Cargo.toml create mode 100644 sha1-checked/LICENSE-APACHE create mode 100644 sha1-checked/LICENSE-MIT create mode 100644 sha1-checked/README.md create mode 100644 sha1-checked/benches/mod.rs create mode 100644 sha1-checked/src/compress.rs create mode 100644 sha1-checked/src/lib.rs create mode 100644 sha1-checked/src/ubc_check.rs create mode 100644 sha1-checked/tests/data/sha-mbles-1.bin create mode 100644 sha1-checked/tests/data/sha-mbles-2.bin create mode 100644 sha1-checked/tests/data/sha1.blb create mode 100644 sha1-checked/tests/data/sha1_reducedsha_coll.bin create mode 100644 sha1-checked/tests/data/shattered-1.pdf create mode 100644 sha1-checked/tests/data/shattered-2.pdf create mode 100644 sha1-checked/tests/mod.rs diff --git a/.github/workflows/sha1-checked.yml b/.github/workflows/sha1-checked.yml new file mode 100644 index 000000000..313fed113 --- /dev/null +++ b/.github/workflows/sha1-checked.yml @@ -0,0 +1,155 @@ +name: sha1-checked + +on: + pull_request: + paths: + - ".github/workflows/sha1-checked.yml" + - "sha1-checked/**" + - "Cargo.*" + push: + branches: master + +defaults: + run: + working-directory: sha1-checked + +env: + RUSTFLAGS: "-Dwarnings" + CARGO_INCREMENTAL: 0 + +jobs: + set-msrv: + uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master + with: + msrv: 1.72.0 + + # Builds for no_std platforms + build: + needs: set-msrv + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - thumbv7em-none-eabi + - wasm32-unknown-unknown + - loongarch64-unknown-linux-gnu + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: cargo hack build --target ${{ matrix.target }} --each-feature --exclude-features default,std + + minimal-versions: + uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + with: + working-directory: ${{ github.workflow }} + + # Linux tests + linux: + needs: set-msrv + strategy: + matrix: + include: + # 32-bit Linux/x86 + #- target: i686-unknown-linux-gnu + # rust: ${{needs.set-msrv.outputs.msrv}} + # deps: sudo apt update && sudo apt install gcc-multilib + #- target: i686-unknown-linux-gnu + # rust: stable + # deps: sudo apt update && sudo apt install gcc-multilib + + # 64-bit Linux/x86_64 + - target: x86_64-unknown-linux-gnu + rust: ${{needs.set-msrv.outputs.msrv}} + - target: x86_64-unknown-linux-gnu + rust: stable + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: ${{ matrix.target }} + - uses: RustCrypto/actions/cargo-hack-install@master + - run: ${{ matrix.deps }} + - run: cargo hack test --feature-powerset + + # macOS tests + macos: + needs: set-msrv + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.rust }} + targets: x86_64-apple-darwin + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --all-features + + # Windows tests + windows: + needs: set-msrv + strategy: + matrix: + include: + # 64-bit Windows (GNU) + - target: x86_64-pc-windows-gnu + toolchain: ${{needs.set-msrv.outputs.msrv}} + - target: x86_64-pc-windows-gnu + toolchain: stable + + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: RustCrypto/actions/cargo-cache@master + - uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ matrix.toolchain }} + targets: ${{ matrix.target }} + - uses: msys2/setup-msys2@v2 + - run: cargo test --target ${{ matrix.target }} + + # Cross-compiled tests + cross: + strategy: + matrix: + rust: + - 1.72.0 + - stable + target: + - aarch64-unknown-linux-gnu + - powerpc-unknown-linux-gnu + features: + - default + + runs-on: ubuntu-latest + defaults: + run: + # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml + working-directory: . + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/cross-tests + with: + rust: ${{ matrix.rust }} + package: ${{ github.workflow }} + target: ${{ matrix.target }} + features: ${{ matrix.features }} diff --git a/Cargo.lock b/Cargo.lock index 5bf6e521d..a9226967c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16,7 +16,7 @@ name = "ascon-hash" version = "0.3.0-pre" dependencies = [ "ascon", - "digest", + "digest 0.11.0-pre.8", "hex", "hex-literal", "spectral", @@ -33,7 +33,7 @@ name = "belt-hash" version = "0.2.0-pre.3" dependencies = [ "belt-block", - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -41,7 +41,7 @@ dependencies = [ name = "blake2" version = "0.11.0-pre.3" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -51,13 +51,22 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + [[package]] name = "block-buffer" version = "0.11.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ded684142010808eb980d9974ef794da2bcf97d13396143b1515e9f0fb4a10e" dependencies = [ - "crypto-common", + "crypto-common 0.2.0-pre.5", "zeroize", ] @@ -67,6 +76,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "const-oid" version = "0.10.0-pre.2" @@ -82,6 +97,16 @@ dependencies = [ "libc", ] +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "crypto-common" version = "0.2.0-pre.5" @@ -93,15 +118,27 @@ dependencies = [ "rand_core", ] +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "blobby", + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common 0.1.6", +] + [[package]] name = "digest" version = "0.11.0-pre.8" source = "git+https://github.com/RustCrypto/traits.git#7c7a0d2a2caa60e286835051e6ad5fd10a9a9554" dependencies = [ "blobby", - "block-buffer", - "const-oid", - "crypto-common", + "block-buffer 0.11.0-pre.5", + "const-oid 0.10.0-pre.2", + "crypto-common 0.2.0-pre.5", "subtle", "zeroize", ] @@ -110,11 +147,21 @@ dependencies = [ name = "fsb" version = "0.2.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", "whirlpool", ] +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getrandom" version = "0.2.12" @@ -130,7 +177,7 @@ dependencies = [ name = "gost94" version = "0.11.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -138,7 +185,7 @@ dependencies = [ name = "groestl" version = "0.11.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -167,7 +214,7 @@ dependencies = [ name = "jh" version = "0.2.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", "ppv-lite86", ] @@ -176,7 +223,7 @@ dependencies = [ name = "k12" version = "0.4.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", "sha3", ] @@ -201,7 +248,7 @@ name = "md-5" version = "0.11.0-pre.3" dependencies = [ "cfg-if", - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -209,7 +256,7 @@ dependencies = [ name = "md2" version = "0.11.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -217,7 +264,7 @@ dependencies = [ name = "md4" version = "0.11.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -240,27 +287,48 @@ dependencies = [ name = "ripemd" version = "0.2.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha1" version = "0.11.0-pre.3" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] +[[package]] +name = "sha1-checked" +version = "0.10.0" +dependencies = [ + "digest 0.10.7", + "hex-literal", + "sha1 0.10.6", + "zeroize", +] + [[package]] name = "sha2" version = "0.11.0-pre.3" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -268,7 +336,7 @@ dependencies = [ name = "sha3" version = "0.11.0-pre.3" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", "keccak", ] @@ -277,7 +345,7 @@ dependencies = [ name = "shabal" version = "0.5.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -285,7 +353,7 @@ dependencies = [ name = "skein" version = "0.2.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", "threefish", ] @@ -294,7 +362,7 @@ dependencies = [ name = "sm3" version = "0.5.0-pre.3" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -308,7 +376,7 @@ checksum = "ae3c15181f4b14e52eeaac3efaeec4d2764716ce9c86da0c934c3e318649c5ba" name = "streebog" version = "0.11.0-pre.3" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -331,7 +399,7 @@ dependencies = [ name = "tiger" version = "0.3.0-pre" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] @@ -341,6 +409,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -351,7 +425,7 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" name = "whirlpool" version = "0.11.0-pre.2" dependencies = [ - "digest", + "digest 0.11.0-pre.8", "hex-literal", ] diff --git a/Cargo.toml b/Cargo.toml index f3a9df35a..ece5a908e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ members = [ "md5", "ripemd", "sha1", + "sha1-checked", "sha2", "sha3", "shabal", diff --git a/README.md b/README.md index f104f7100..101c3fcac 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.72][msrv-1.72] | :broken_heart: | | [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.72][msrv-1.72] | :broken_heart: | +| [SHA-1 Checked] | [`sha1-checked`] | [![crates.io](https://img.shields.io/crates/v/sha1-checked.svg)](https://crates.io/crates/sha1-checked) | [![Documentation](https://docs.rs/sha1-checked/badge.svg)](https://docs.rs/sha1-checked) | ![MSRV 1.72][msrv-1.72] | :yellow_heart: | | [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.72][msrv-1.72] | :green_heart: | | [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.71][msrv-1.71] | :green_heart: | | [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.71][msrv-1.71] | :green_heart: | @@ -252,6 +253,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`md5`]: ./md5 [`ripemd`]: ./ripemd [`sha1`]: ./sha1 +[`sha1-checked`]: ./sha1-checked [`sha2`]: ./sha2 [`sha3`]: ./sha3 [`shabal`]: ./shabal @@ -293,6 +295,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [MD5]: https://en.wikipedia.org/wiki/MD5 [RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD [SHA-1]: https://en.wikipedia.org/wiki/SHA-1 +[SHA-1 Checked]: https://github.com/cr-marcstevens/sha1collisiondetection [SHA-2]: https://en.wikipedia.org/wiki/SHA-2 [SHA-3]: https://en.wikipedia.org/wiki/SHA-3 [SHABAL]: https://www.cs.rit.edu/~ark/20090927/Round2Candidates/Shabal.pdf diff --git a/sha1-checked/CHANGELOG.md b/sha1-checked/CHANGELOG.md new file mode 100644 index 000000000..dadf78569 --- /dev/null +++ b/sha1-checked/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## UNRELEASED diff --git a/sha1-checked/Cargo.toml b/sha1-checked/Cargo.toml new file mode 100644 index 000000000..afd9bae9a --- /dev/null +++ b/sha1-checked/Cargo.toml @@ -0,0 +1,38 @@ +[package] +name = "sha1-checked" +version = "0.10.0" +description = "SHA-1 hash function with collision detection" +authors = ["RustCrypto Developers"] +license = "MIT OR Apache-2.0" +readme = "README.md" +edition = "2021" +documentation = "https://docs.rs/sha1-checked" +repository = "https://github.com/RustCrypto/hashes" +keywords = ["crypto", "sha1", "hash", "digest"] +categories = ["cryptography", "no-std"] +rust-version = "1.72" + +exclude = [ + "sha1-checked/tests/data/shattered-1.pdf", + "sha1-checked/tests/data/shattered-2.pdf", +] + +[dependencies] +digest = "0.10.7" +sha1 = { version = "0.10.6", default-features = false, features = ["compress"] } +zeroize = { version = "1.7", default-features = false, optional = true } + +[dev-dependencies] +digest = { version = "0.10.7", features = ["dev"] } +hex-literal = "0.4" + +[features] +default = ["oid", "std"] +std = ["digest/std", "sha1/std"] +oid = ["digest/oid", "sha1/oid"] # Enable OID support +zeroize = ["dep:zeroize"] + + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/sha1-checked/LICENSE-APACHE b/sha1-checked/LICENSE-APACHE new file mode 100644 index 000000000..78173fa2e --- /dev/null +++ b/sha1-checked/LICENSE-APACHE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/sha1-checked/LICENSE-MIT b/sha1-checked/LICENSE-MIT new file mode 100644 index 000000000..455de7c85 --- /dev/null +++ b/sha1-checked/LICENSE-MIT @@ -0,0 +1,25 @@ +Copyright (c) 2024 The RustCrypto Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/sha1-checked/README.md b/sha1-checked/README.md new file mode 100644 index 000000000..32c4bc912 --- /dev/null +++ b/sha1-checked/README.md @@ -0,0 +1,98 @@ +# RustCrypto: SHA-1 Checked + +[![crate][crate-image]][crate-link] +[![Docs][docs-image]][docs-link] +![Apache2/MIT licensed][license-image] +![Rust Version][rustc-image] +[![Project Chat][chat-image]][chat-link] +[![Build Status][build-image]][build-link] + +Pure Rust implementation of the [SHA-1] cryptographic hash algorithm with collision detection. + +## 🚨 Warning: Cryptographically Broken! 🚨 + +The SHA-1 hash function should be considered cryptographically broken and +unsuitable for further use in any security critical capacity, as it is +[practically vulnerable to chosen-prefix collisions][1]. + +But, this crate provides the detection [algorithm] pioneered by git, to detect hash collisions when they +occur and prevent them. The [paper] has more details on how this works. + +This implementation will be slower to use than the pure SHA-1 implementation, as more work as to be done. + +## Examples + +### One-shot API + +```rust +use hex_literal::hex; +use sha1_checked::Sha1; + +let result = Sha1::try_digest(b"hello world"); +assert_eq!(result.hash().as_ref(), hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); +assert!(!result.has_collision()); +``` + +### Incremental API + +```rust +use hex_literal::hex; +use sha1_checked::{Sha1, Digest}; + +let mut hasher = Sha1::new(); +hasher.update(b"hello world"); +let result = hasher.try_finalize(); + +assert_eq!(result.hash().as_ref(), hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); +assert!(!result.has_collision()); +``` + +Also, see the [examples section] in the RustCrypto/hashes readme. + +## Minimum Supported Rust Version + +Rust **1.72** or higher. + +Minimum supported Rust version can be changed in the future, but it will be +done with a minor version bump. + +## SemVer Policy + +- All on-by-default features of this library are covered by SemVer +- MSRV is considered exempt from SemVer as noted above + +## License + +The crate is licensed under either of: + +* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) +* [MIT license](http://opensource.org/licenses/MIT) + +at your option. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the Apache-2.0 license, shall be +dual licensed as above, without any additional terms or conditions. + +[//]: # (badges) + +[crate-image]: https://img.shields.io/crates/v/sha1-checked.svg +[crate-link]: https://crates.io/crates/sha1-checked +[docs-image]: https://docs.rs/sha1-checked/badge.svg +[docs-link]: https://docs.rs/sha1-checked/ +[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.72+-blue.svg +[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg +[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes +[build-image]: https://github.com/RustCrypto/hashes/workflows/sha1-checked/badge.svg?branch=master +[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Asha1-checked + +[//]: # (general links) + +[SHA-1]: https://en.wikipedia.org/wiki/SHA-1 +[1]: https://sha-mbles.github.io/ +[examples section]: https://github.com/RustCrypto/hashes#Examples +[algorithm]: https://github.com/cr-marcstevens/sha1collisiondetection +[paper]: https://marc-stevens.nl/research/papers/C13-S.pdf diff --git a/sha1-checked/benches/mod.rs b/sha1-checked/benches/mod.rs new file mode 100644 index 000000000..feeb366d7 --- /dev/null +++ b/sha1-checked/benches/mod.rs @@ -0,0 +1,39 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use sha1::Sha1; +use sha1_checked::Sha1 as Sha1Checked; +use test::Bencher; + +bench_update!( + Sha1::default(); + sha1_10 10; + sha1_100 100; + sha1_1000 1000; + sha1_10000 10000; +); + +bench_update!( + Sha1Checked::default(); + sha1_checked_10 10; + sha1_checked_100 100; + sha1_checked_1000 1000; + sha1_checked_10000 10000; +); + +bench_update!( + Sha1Checked::builder().detect_collision(false).build(); + sha1_checked_no_check_10 10; + sha1_checked_no_check_100 100; + sha1_checked_no_check_1000 1000; + sha1_checked_no_check_10000 10000; +); + +bench_update!( + Sha1Checked::builder().use_ubc(false).build(); + sha1_checked_no_ubc_10 10; + sha1_checked_no_ubc_100 100; + sha1_checked_no_ubc_1000 1000; + sha1_checked_no_ubc_10000 10000; +); diff --git a/sha1-checked/src/compress.rs b/sha1-checked/src/compress.rs new file mode 100644 index 000000000..60e4bf876 --- /dev/null +++ b/sha1-checked/src/compress.rs @@ -0,0 +1,787 @@ +//! Direct translation of the C code found at +//! [sha1.c](https://github.com/cr-marcstevens/sha1collisiondetection/blob/master/lib/sha1.c). +//! +//! For the original license and source details see the comments in `src/checked.rs`. + +#![allow(clippy::many_single_char_names, clippy::too_many_arguments)] + +use crate::{ + BLOCK_SIZE, + {ubc_check::Testt, DetectionState}, +}; + +const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6]; + +#[inline(always)] +fn mix(w: &mut [u32; 80], t: usize) -> u32 { + (w[t - 3] ^ w[t - 8] ^ w[t - 14] ^ w[t - 16]).rotate_left(1) +} + +#[inline(always)] +fn f1(b: u32, c: u32, d: u32) -> u32 { + d ^ b & (c ^ d) +} + +#[inline(always)] +fn f2(b: u32, c: u32, d: u32) -> u32 { + b ^ c ^ d +} + +#[inline(always)] +fn f3(b: u32, c: u32, d: u32) -> u32 { + (b & c).wrapping_add(d & (b ^ c)) +} + +#[inline(always)] +fn f4(b: u32, c: u32, d: u32) -> u32 { + b ^ c ^ d +} + +#[inline(always)] +fn round3_step(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *e = e.wrapping_add( + a.rotate_left(5) + .wrapping_add(f3(*b, c, d)) + .wrapping_add(K[2]) + .wrapping_add(mt), + ); + *b = b.rotate_left(30); +} + +#[inline(always)] +fn round4_step(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *e = e.wrapping_add( + a.rotate_left(5) + .wrapping_add(f4(*b, c, d)) + .wrapping_add(K[3]) + .wrapping_add(mt), + ); + *b = b.rotate_left(30); +} + +#[inline(always)] +fn round1_step_bw(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *b = b.rotate_right(30); + *e = e.wrapping_sub( + a.rotate_left(5) + .wrapping_add(f1(*b, c, d)) + .wrapping_add(K[0]) + .wrapping_add(mt), + ); +} + +#[inline(always)] +fn round2_step_bw(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *b = b.rotate_right(30); + *e = e.wrapping_sub( + a.rotate_left(5) + .wrapping_add(f2(*b, c, d)) + .wrapping_add(K[1]) + .wrapping_add(mt), + ); +} + +#[inline(always)] +fn round3_step_bw(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *b = b.rotate_right(30); + *e = e.wrapping_sub( + a.rotate_left(5) + .wrapping_add(f3(*b, c, d)) + .wrapping_add(K[2]) + .wrapping_add(mt), + ); +} + +#[inline(always)] +fn round4_step_bw(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, mt: u32) { + *b = b.rotate_right(30); + *e = e.wrapping_sub( + a.rotate_left(5) + .wrapping_add(f4(*b, c, d)) + .wrapping_add(K[3]) + .wrapping_add(mt), + ); +} + +#[inline(always)] +fn full_round3_step(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, w: &mut [u32; 80], t: usize) { + w[t] = mix(w, t); + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f3(*b, c, d)) + .wrapping_add(K[2]), + ); + *b = b.rotate_left(30); +} + +#[inline(always)] +fn full_round4_step(a: u32, b: &mut u32, c: u32, d: u32, e: &mut u32, w: &mut [u32; 80], t: usize) { + w[t] = mix(w, t); + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f4(*b, c, d)) + .wrapping_add(K[3]), + ); + *b = b.rotate_left(30); +} + +#[inline] +fn round2_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &[u32; 80], + t: usize, +) { + // 1 + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f2(*b, *c, *d)) + .wrapping_add(K[1]), + ); + *b = b.rotate_left(30); + + // 2 + *d = d.wrapping_add( + w[t + 1] + .wrapping_add(e.rotate_left(5)) + .wrapping_add(f2(*a, *b, *c)) + .wrapping_add(K[1]), + ); + *a = a.rotate_left(30); + + // 3 + *c = c.wrapping_add( + w[t + 2] + .wrapping_add(d.rotate_left(5)) + .wrapping_add(f2(*e, *a, *b)) + .wrapping_add(K[1]), + ); + *e = e.rotate_left(30); + + // 4 + *b = b.wrapping_add( + w[t + 3] + .wrapping_add(c.rotate_left(5)) + .wrapping_add(f2(*d, *e, *a)) + .wrapping_add(K[1]), + ); + *d = d.rotate_left(30); +} + +#[inline] +fn round3_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &[u32; 80], + t: usize, +) { + // 1 + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f3(*b, *c, *d)) + .wrapping_add(K[2]), + ); + *b = b.rotate_left(30); + + // 2 + *d = d.wrapping_add( + w[t + 1] + .wrapping_add(e.rotate_left(5)) + .wrapping_add(f3(*a, *b, *c)) + .wrapping_add(K[2]), + ); + *a = a.rotate_left(30); + + // 3 + *c = c.wrapping_add( + w[t + 2] + .wrapping_add(d.rotate_left(5)) + .wrapping_add(f3(*e, *a, *b)) + .wrapping_add(K[2]), + ); + *e = e.rotate_left(30); + + // 4 + *b = b.wrapping_add( + w[t + 3] + .wrapping_add(c.rotate_left(5)) + .wrapping_add(f3(*d, *e, *a)) + .wrapping_add(K[2]), + ); + *d = d.rotate_left(30); +} + +#[inline] +fn round4_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &[u32; 80], + t: usize, +) { + // 1 + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f4(*b, *c, *d)) + .wrapping_add(K[3]), + ); + *b = b.rotate_left(30); + + // 2 + *d = d.wrapping_add( + w[t + 1] + .wrapping_add(e.rotate_left(5)) + .wrapping_add(f4(*a, *b, *c)) + .wrapping_add(K[3]), + ); + *a = a.rotate_left(30); + + // 3 + *c = c.wrapping_add( + w[t + 2] + .wrapping_add(d.rotate_left(5)) + .wrapping_add(f4(*e, *a, *b)) + .wrapping_add(K[3]), + ); + *e = e.rotate_left(30); + + // 4 + *b = b.wrapping_add( + w[t + 3] + .wrapping_add(c.rotate_left(5)) + .wrapping_add(f4(*d, *e, *a)) + .wrapping_add(K[3]), + ); + *d = d.rotate_left(30); +} + +#[inline] +fn full_round1_step_load4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + m: &[u32; 16], + w: &mut [u32; 80], + t: usize, +) { + // load + w[t..t + 4].copy_from_slice(&m[t..t + 4]); + round1_step4(a, b, c, d, e, w, t); +} + +#[inline(always)] +fn round1_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &[u32; 80], + t: usize, +) { + // 1 + *e = e.wrapping_add( + w[t].wrapping_add(a.rotate_left(5)) + .wrapping_add(f1(*b, *c, *d)) + .wrapping_add(K[0]), + ); + *b = b.rotate_left(30); + + // 2 + *d = d.wrapping_add( + w[t + 1] + .wrapping_add(e.rotate_left(5)) + .wrapping_add(f1(*a, *b, *c)) + .wrapping_add(K[0]), + ); + *a = a.rotate_left(30); + + // 3 + *c = c.wrapping_add( + w[t + 2] + .wrapping_add(d.rotate_left(5)) + .wrapping_add(f1(*e, *a, *b)) + .wrapping_add(K[0]), + ); + *e = e.rotate_left(30); + + // 4 + *b = b.wrapping_add( + w[t + 3] + .wrapping_add(c.rotate_left(5)) + .wrapping_add(f1(*d, *e, *a)) + .wrapping_add(K[0]), + ); + *d = d.rotate_left(30); +} + +#[inline] +fn full_round1_step_expand4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &mut [u32; 80], + t: usize, +) { + w[t] = mix(w, t); + w[t + 1] = mix(w, t + 1); + w[t + 2] = mix(w, t + 2); + w[t + 3] = mix(w, t + 3); + round1_step4(a, b, c, d, e, w, t); +} + +#[inline] +fn full_round2_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &mut [u32; 80], + t: usize, +) { + w[t] = mix(w, t); + w[t + 1] = mix(w, t + 1); + w[t + 2] = mix(w, t + 2); + w[t + 3] = mix(w, t + 3); + round2_step4(a, b, c, d, e, w, t); +} + +#[inline] +fn full_round3_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &mut [u32; 80], + t: usize, +) { + w[t] = mix(w, t); + w[t + 1] = mix(w, t + 1); + w[t + 2] = mix(w, t + 2); + w[t + 3] = mix(w, t + 3); + round3_step4(a, b, c, d, e, w, t); +} + +#[inline] +fn full_round4_step4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + w: &mut [u32; 80], + t: usize, +) { + w[t] = mix(w, t); + w[t + 1] = mix(w, t + 1); + w[t + 2] = mix(w, t + 2); + w[t + 3] = mix(w, t + 3); + round4_step4(a, b, c, d, e, w, t); +} + +#[inline] +fn round1_step_bw4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + m: &[u32; 80], + t: usize, +) { + round1_step_bw(*a, b, *c, *d, e, m[t]); + round1_step_bw(*b, c, *d, *e, a, m[t - 1]); + round1_step_bw(*c, d, *e, *a, b, m[t - 2]); + round1_step_bw(*d, e, *a, *b, c, m[t - 3]); +} + +#[inline] +fn round2_step_bw4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + m: &[u32; 80], + t: usize, +) { + round2_step_bw(*a, b, *c, *d, e, m[t]); + round2_step_bw(*b, c, *d, *e, a, m[t - 1]); + round2_step_bw(*c, d, *e, *a, b, m[t - 2]); + round2_step_bw(*d, e, *a, *b, c, m[t - 3]); +} + +#[inline] +fn round3_step_bw4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + m: &[u32; 80], + t: usize, +) { + round3_step_bw(*a, b, *c, *d, e, m[t]); + round3_step_bw(*b, c, *d, *e, a, m[t - 1]); + round3_step_bw(*c, d, *e, *a, b, m[t - 2]); + round3_step_bw(*d, e, *a, *b, c, m[t - 3]); +} + +#[inline] +fn round4_step_bw4( + a: &mut u32, + b: &mut u32, + c: &mut u32, + d: &mut u32, + e: &mut u32, + m: &[u32; 80], + t: usize, +) { + round4_step_bw(*a, b, *c, *d, e, m[t]); + round4_step_bw(*b, c, *d, *e, a, m[t - 1]); + round4_step_bw(*c, d, *e, *a, b, m[t - 2]); + round4_step_bw(*d, e, *a, *b, c, m[t - 3]); +} + +fn add_assign(left: &mut [u32; 5], right: [u32; 5]) { + left[0] = left[0].wrapping_add(right[0]); + left[1] = left[1].wrapping_add(right[1]); + left[2] = left[2].wrapping_add(right[2]); + left[3] = left[3].wrapping_add(right[3]); + left[4] = left[4].wrapping_add(right[4]); +} + +fn compression_w(ihv: &mut [u32; 5], w: &[u32; 80]) { + let [mut a, mut b, mut c, mut d, mut e] = ihv; + + round1_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 0); + round1_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 4); + round1_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 8); + round1_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 12); + round1_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 16); + + round2_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 20); + round2_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 24); + round2_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 28); + round2_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 32); + round2_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 36); + + round3_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 40); + round3_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 44); + round3_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 48); + round3_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 52); + round3_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 56); + + round4_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 60); + round4_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 64); + round4_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 68); + round4_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 72); + round4_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 76); + + add_assign(ihv, [a, b, c, d, e]); +} + +fn compression_states( + ihv: &mut [u32; 5], + m: &[u32; 16], + w: &mut [u32; 80], + state_58: &mut [u32; 5], + state_65: &mut [u32; 5], +) { + let [mut a, mut b, mut c, mut d, mut e] = ihv; + + full_round1_step_load4(&mut a, &mut b, &mut c, &mut d, &mut e, m, w, 0); + full_round1_step_load4(&mut b, &mut c, &mut d, &mut e, &mut a, m, w, 4); + full_round1_step_load4(&mut c, &mut d, &mut e, &mut a, &mut b, m, w, 8); + full_round1_step_load4(&mut d, &mut e, &mut a, &mut b, &mut c, m, w, 12); + + full_round1_step_expand4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 16); + + full_round2_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 20); + full_round2_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 24); + full_round2_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 28); + full_round2_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 32); + full_round2_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 36); + + full_round3_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 40); + full_round3_step4(&mut b, &mut c, &mut d, &mut e, &mut a, w, 44); + full_round3_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 48); + full_round3_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 52); + + full_round3_step(e, &mut a, b, c, &mut d, w, 56); + full_round3_step(d, &mut e, a, b, &mut c, w, 57); + + // Store state58 + *state_58 = [a, b, c, d, e]; + + full_round3_step(c, &mut d, e, a, &mut b, w, 58); + full_round3_step(b, &mut c, d, e, &mut a, w, 59); + + full_round4_step4(&mut a, &mut b, &mut c, &mut d, &mut e, w, 60); + full_round4_step(b, &mut c, d, e, &mut a, w, 64); + + // Store state65 + *state_65 = [a, b, c, d, e]; + + full_round4_step(a, &mut b, c, d, &mut e, w, 65); + full_round4_step(e, &mut a, b, c, &mut d, w, 66); + full_round4_step(d, &mut e, a, b, &mut c, w, 67); + + full_round4_step4(&mut c, &mut d, &mut e, &mut a, &mut b, w, 68); + full_round4_step4(&mut d, &mut e, &mut a, &mut b, &mut c, w, 72); + full_round4_step4(&mut e, &mut a, &mut b, &mut c, &mut d, w, 76); + + add_assign(ihv, [a, b, c, d, e]); +} + +fn recompress_fast_58( + ihvin: &mut [u32; 5], + ihvout: &mut [u32; 5], + me2: &[u32; 80], + state: &[u32; 5], +) { + let [mut a, mut b, mut c, mut d, mut e] = state; + + round3_step_bw(d, &mut e, a, b, &mut c, me2[57]); + round3_step_bw(e, &mut a, b, c, &mut d, me2[56]); + + round3_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 55); + round3_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 51); + round3_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 47); + round3_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 43); + + round2_step_bw4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 39); + round2_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 35); + round2_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 31); + round2_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 27); + round2_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 23); + + round1_step_bw4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 19); + round1_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 15); + round1_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 11); + round1_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 7); + round1_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 3); + + *ihvin = [a, b, c, d, e]; + [a, b, c, d, e] = *state; + + round3_step(c, &mut d, e, a, &mut b, me2[58]); + round3_step(b, &mut c, d, e, &mut a, me2[59]); + + round4_step4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 60); + round4_step4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 64); + round4_step4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 68); + round4_step4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 72); + round4_step4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 76); + + ihvout[0] = ihvin[0].wrapping_add(a); + ihvout[1] = ihvin[1].wrapping_add(b); + ihvout[2] = ihvin[2].wrapping_add(c); + ihvout[3] = ihvin[3].wrapping_add(d); + ihvout[4] = ihvin[4].wrapping_add(e); +} + +fn recompress_fast_65( + ihvin: &mut [u32; 5], + ihvout: &mut [u32; 5], + me2: &[u32; 80], + state: &[u32; 5], +) { + let [mut a, mut b, mut c, mut d, mut e] = state; + + round4_step_bw(b, &mut c, d, e, &mut a, me2[64]); + round4_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 63); + + round3_step_bw4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 59); + round3_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 55); + round3_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 51); + round3_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 47); + round3_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 43); + + round2_step_bw4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 39); + round2_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 35); + round2_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 31); + round2_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 27); + round2_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 23); + + round1_step_bw4(&mut b, &mut c, &mut d, &mut e, &mut a, me2, 19); + round1_step_bw4(&mut a, &mut b, &mut c, &mut d, &mut e, me2, 15); + round1_step_bw4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 11); + round1_step_bw4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 7); + round1_step_bw4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 3); + + *ihvin = [a, b, c, d, e]; + [a, b, c, d, e] = *state; + + round4_step(a, &mut b, c, d, &mut e, me2[65]); + round4_step(e, &mut a, b, c, &mut d, me2[66]); + round4_step(d, &mut e, a, b, &mut c, me2[67]); + + round4_step4(&mut c, &mut d, &mut e, &mut a, &mut b, me2, 68); + round4_step4(&mut d, &mut e, &mut a, &mut b, &mut c, me2, 72); + round4_step4(&mut e, &mut a, &mut b, &mut c, &mut d, me2, 76); + + ihvout[0] = ihvin[0].wrapping_add(a); + ihvout[1] = ihvin[1].wrapping_add(b); + ihvout[2] = ihvin[2].wrapping_add(c); + ihvout[3] = ihvin[3].wrapping_add(d); + ihvout[4] = ihvin[4].wrapping_add(e); +} + +fn recompression_step( + step: Testt, + ihvin: &mut [u32; 5], + ihvout: &mut [u32; 5], + me2: &[u32; 80], + state: &[u32; 5], +) { + match step { + Testt::T58 => { + recompress_fast_58(ihvin, ihvout, me2, state); + } + Testt::T65 => { + recompress_fast_65(ihvin, ihvout, me2, state); + } + } +} + +#[inline(always)] +fn xor(a: &[u32; 5], b: &[u32; 5]) -> u32 { + a[0] ^ b[0] | a[1] ^ b[1] | a[2] ^ b[2] | a[3] ^ b[3] | a[4] ^ b[4] +} + +#[inline] +pub(super) fn compress( + state: &mut [u32; 5], + ctx: &mut DetectionState, + blocks: &[[u8; BLOCK_SIZE]], +) { + let mut block_u32 = [0u32; BLOCK_SIZE / 4]; + + for block in blocks.iter() { + ctx.ihv1.copy_from_slice(&*state); + + for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) { + *o = u32::from_be_bytes(chunk.try_into().unwrap()); + } + + let DetectionState { + m1, + state_58, + state_65, + .. + } = ctx; + + compression_states(state, &block_u32, m1, state_58, state_65); + + let ubc_mask = if ctx.ubc_check { + crate::ubc_check::ubc_check(&ctx.m1) + } else { + 0xFFFFFFFF + }; + + if ubc_mask != 0 { + let mut ihvtmp = [0u32; 5]; + for dv_type in &crate::ubc_check::SHA1_DVS { + if ubc_mask & (1 << dv_type.maskb) != 0 { + for ((m2, m1), dm) in + ctx.m2.iter_mut().zip(ctx.m1.iter()).zip(dv_type.dm.iter()) + { + *m2 = m1 ^ dm; + } + let DetectionState { + ihv2, + m2, + state_58, + state_65, + .. + } = ctx; + + recompression_step( + dv_type.testt, + ihv2, + &mut ihvtmp, + m2, + match dv_type.testt { + Testt::T58 => state_58, + Testt::T65 => state_65, + }, + ); + + // to verify SHA-1 collision detection code with collisions for reduced-step SHA-1 + if (0 == xor(&ihvtmp, &*state)) + || (ctx.reduced_round_collision && 0 == xor(&ctx.ihv1, &ctx.ihv2)) + { + ctx.found_collision = true; + + if ctx.safe_hash { + compression_w(state, &ctx.m1); + compression_w(state, &ctx.m1); + } + break; + } + } + } + } + } +} + +const SHA1_PADDING: [u8; 64] = [ + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, +]; + +#[inline] +pub(super) fn finalize( + state: &mut [u32; 5], + total: u64, + last_block: &[u8], + ctx: &mut DetectionState, +) { + let mut total = total + last_block.len() as u64; + let last = last_block.len(); + let needs_two_blocks = last >= 56; + + let mut buffer = [0u8; BLOCK_SIZE]; + buffer[..last].copy_from_slice(last_block); + let left = BLOCK_SIZE - last; + + if needs_two_blocks { + let padn = 120 - last; + let (pad0, pad1) = SHA1_PADDING[..padn].split_at(left); + buffer[last..].copy_from_slice(pad0); + compress(state, ctx, &[buffer]); + buffer[..pad1.len()].copy_from_slice(pad1); + } else { + let padn = 56 - last; + buffer[last..56].copy_from_slice(&SHA1_PADDING[..padn]); + } + + total <<= 3; + + buffer[56] = (total >> 56) as u8; + buffer[57] = (total >> 48) as u8; + buffer[58] = (total >> 40) as u8; + buffer[59] = (total >> 32) as u8; + buffer[60] = (total >> 24) as u8; + buffer[61] = (total >> 16) as u8; + buffer[62] = (total >> 8) as u8; + buffer[63] = total as u8; + + compress(state, ctx, &[buffer]); +} diff --git a/sha1-checked/src/lib.rs b/sha1-checked/src/lib.rs new file mode 100644 index 000000000..1dcf28daf --- /dev/null +++ b/sha1-checked/src/lib.rs @@ -0,0 +1,369 @@ +#![no_std] +#![doc = include_str!("../README.md")] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg" +)] +#![cfg_attr(docsrs, feature(doc_auto_cfg))] +#![warn(missing_docs, rust_2018_idioms)] + +//! Collision checked Sha1. +//! +//! General techniques and implementation are based on the research and implementation done in [1], [2] by +//! Marc Stevens. +//! +//! +//! Original license can be found in [3]. +//! +//! [1]: https://github.com/cr-marcstevens/sha1collisiondetection +//! [2]: https://marc-stevens.nl/research/papers/C13-S.pdf +//! [3]: https://github.com/cr-marcstevens/sha1collisiondetection/blob/master/LICENSE.txt + +pub use digest::{self, Digest}; + +use core::slice::from_ref; + +#[cfg(feature = "std")] +extern crate std; + +use digest::{ + block_buffer::{BlockBuffer, Eager}, + core_api::BlockSizeUser, + typenum::{Unsigned, U20, U64}, + FixedOutput, FixedOutputReset, HashMarker, Output, OutputSizeUser, Reset, Update, +}; +#[cfg(feature = "zeroize")] +use zeroize::{Zeroize, ZeroizeOnDrop}; + +const BLOCK_SIZE: usize = ::BlockSize::USIZE; +const STATE_LEN: usize = 5; +const INITIAL_H: [u32; 5] = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]; + +mod compress; +mod ubc_check; + +/// SHA-1 collision detection hasher state. +#[derive(Clone)] +pub struct Sha1 { + h: [u32; STATE_LEN], + block_len: u64, + detection: Option, + buffer: BlockBuffer, +} + +impl HashMarker for Sha1 {} + +impl Default for Sha1 { + fn default() -> Self { + Builder::default().build() + } +} + +impl Sha1 { + /// Create a new Sha1 instance, with collision detection enabled. + pub fn new() -> Self { + Self::default() + } + + /// Create a new Sha1 builder to configure detection. + pub fn builder() -> Builder { + Builder::default() + } + + /// Oneshot hashing, reporting the collision state. + /// + /// # Examples + /// + /// ``` + /// use hex_literal::hex; + /// use sha1_checked::Sha1; + /// + /// let result = Sha1::try_digest(b"hello world"); + /// assert_eq!(result.hash().as_ref(), hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); + /// assert!(!result.has_collision()); + /// ``` + pub fn try_digest(data: impl AsRef<[u8]>) -> CollisionResult { + let mut hasher = Self::default(); + Digest::update(&mut hasher, data); + hasher.try_finalize() + } + + /// Try finalization, reporting the collision state. + pub fn try_finalize(mut self) -> CollisionResult { + let mut out = Output::::default(); + self.finalize_inner(&mut out); + + if let Some(ref ctx) = self.detection { + if ctx.found_collision { + if ctx.safe_hash { + return CollisionResult::Mitigated(out); + } + return CollisionResult::Collision(out); + } + } + CollisionResult::Ok(out) + } + + fn finalize_inner(&mut self, out: &mut Output) { + let bs = 64; + let buffer = &mut self.buffer; + let h = &mut self.h; + + if let Some(ref mut ctx) = self.detection { + let last_block = buffer.get_data(); + compress::finalize(h, bs * self.block_len, last_block, ctx); + } else { + let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); + buffer.len64_padding_be(bit_len, |b| sha1::compress(h, from_ref(b))); + } + + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +/// Result when trying to finalize a hash. +#[derive(Debug)] +pub enum CollisionResult { + /// No collision. + Ok(Output), + /// Collision occured, but was mititgated. + Mitigated(Output), + /// Collision occured, the hash is the one that collided. + Collision(Output), +} + +impl CollisionResult { + /// Returns the output hash. + pub fn hash(&self) -> &Output { + match self { + CollisionResult::Ok(ref s) => s, + CollisionResult::Mitigated(ref s) => s, + CollisionResult::Collision(ref s) => s, + } + } + + /// Returns if there was a collision + pub fn has_collision(&self) -> bool { + !matches!(self, CollisionResult::Ok(_)) + } +} + +impl core::fmt::Debug for Sha1 { + #[inline] + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> { + f.write_str("Sha1CollisionDetection { .. }") + } +} + +impl Reset for Sha1 { + #[inline] + fn reset(&mut self) { + self.h = INITIAL_H; + self.block_len = 0; + self.buffer.reset(); + if let Some(ref mut ctx) = self.detection { + ctx.reset(); + } + } +} + +impl Update for Sha1 { + #[inline] + fn update(&mut self, input: &[u8]) { + let Self { + h, + detection, + buffer, + .. + } = self; + buffer.digest_blocks(input, |blocks| { + self.block_len += blocks.len() as u64; + if let Some(ref mut ctx) = detection { + // SAFETY: GenericArray and [u8; 64] have + // exactly the same memory layout + let blocks: &[[u8; BLOCK_SIZE]] = + unsafe { &*(blocks as *const _ as *const [[u8; BLOCK_SIZE]]) }; + compress::compress(h, ctx, blocks); + } else { + sha1::compress(h, blocks); + } + }); + } +} + +impl OutputSizeUser for Sha1 { + type OutputSize = U20; +} + +impl FixedOutput for Sha1 { + #[inline] + fn finalize_into(mut self, out: &mut Output) { + self.finalize_inner(out); + } +} + +impl FixedOutputReset for Sha1 { + #[inline] + fn finalize_into_reset(&mut self, out: &mut Output) { + self.finalize_inner(out); + Reset::reset(self); + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for Sha1 {} + +impl Drop for DetectionState { + #[inline] + fn drop(&mut self) { + #[cfg(feature = "zeroize")] + { + self.ihv1.zeroize(); + self.ihv2.zeroize(); + self.m1.zeroize(); + self.m2.zeroize(); + self.state_58.zeroize(); + self.state_65.zeroize(); + } + } +} + +#[cfg(feature = "zeroize")] +impl ZeroizeOnDrop for DetectionState {} + +#[cfg(feature = "oid")] +#[cfg_attr(docsrs, doc(cfg(feature = "oid")))] +impl digest::const_oid::AssociatedOid for Sha1 { + const OID: digest::const_oid::ObjectIdentifier = sha1::Sha1Core::OID; +} + +#[cfg(feature = "std")] +impl std::io::Write for Sha1 { + #[inline] + fn write(&mut self, buf: &[u8]) -> std::io::Result { + Update::update(self, buf); + Ok(buf.len()) + } + + #[inline] + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} + +/// Builder for collision detection configuration. +#[derive(Clone)] +pub struct Builder { + detect_collision: bool, + safe_hash: bool, + ubc_check: bool, + reduced_round_collision: bool, +} + +impl Default for Builder { + fn default() -> Self { + Self { + detect_collision: true, + safe_hash: true, + ubc_check: true, + reduced_round_collision: false, + } + } +} + +impl Builder { + /// Should we detect collisions at all? Default: true + pub fn detect_collision(mut self, detect: bool) -> Self { + self.detect_collision = detect; + self + } + + /// Should a fix be automatically be applied, or the original hash be returned? Default: true + pub fn safe_hash(mut self, safe_hash: bool) -> Self { + self.safe_hash = safe_hash; + self + } + + /// Should unavoidable bitconditions be used to speed up the check? Default: true + pub fn use_ubc(mut self, ubc: bool) -> Self { + self.ubc_check = ubc; + self + } + + /// Should reduced round collisions be used? Default: false + pub fn reduced_round_collision(mut self, reduced: bool) -> Self { + self.reduced_round_collision = reduced; + self + } + + fn into_detection_state(self) -> Option { + if self.detect_collision { + Some(DetectionState { + safe_hash: self.safe_hash, + reduced_round_collision: self.reduced_round_collision, + ubc_check: self.ubc_check, + found_collision: false, + ihv1: Default::default(), + ihv2: Default::default(), + m1: [0; 80], + m2: [0; 80], + state_58: Default::default(), + state_65: Default::default(), + }) + } else { + None + } + } + + /// Create a Sha1 with a specific collision detection configuration. + pub fn build(self) -> Sha1 { + let detection = self.into_detection_state(); + Sha1 { + h: INITIAL_H, + block_len: 0, + detection, + buffer: Default::default(), + } + } +} + +/// The internal state used to do collision detection. +#[derive(Clone, Debug)] +struct DetectionState { + safe_hash: bool, + ubc_check: bool, + reduced_round_collision: bool, + /// Has a collision been detected? + found_collision: bool, + ihv1: [u32; 5], + ihv2: [u32; 5], + m1: [u32; 80], + m2: [u32; 80], + /// Stores past states, for faster recompression. + state_58: [u32; 5], + state_65: [u32; 5], +} + +impl Default for DetectionState { + fn default() -> Self { + Builder::default() + .into_detection_state() + .expect("enabled by default") + } +} + +impl DetectionState { + fn reset(&mut self) { + // Do not reset the config, it needs to be preserved + + self.found_collision = false; + self.ihv1 = Default::default(); + self.ihv2 = Default::default(); + self.m1 = [0; 80]; + self.m2 = [0; 80]; + self.state_58 = Default::default(); + self.state_65 = Default::default(); + } +} diff --git a/sha1-checked/src/ubc_check.rs b/sha1-checked/src/ubc_check.rs new file mode 100644 index 000000000..2ce34455e --- /dev/null +++ b/sha1-checked/src/ubc_check.rs @@ -0,0 +1,1175 @@ +//! Direct translation of the C code found at +//! [ubc_check.c](https://github.com/cr-marcstevens/sha1collisiondetection/blob/master/lib/ubc_check.c). +//! +//! For the original license and source details see the comments in `src/checked.rs`. +//! +//! The original C code file was generated by the 'parse_bitrel' program in the tools section +//! using the data files from directory 'tools/data/3565'. + +const DV_I_43_0_BIT: u32 = 1 << 0; +const DV_I_44_0_BIT: u32 = 1 << 1; +const DV_I_45_0_BIT: u32 = 1 << 2; +const DV_I_46_0_BIT: u32 = 1 << 3; +const DV_I_46_2_BIT: u32 = 1 << 4; +const DV_I_47_0_BIT: u32 = 1 << 5; +const DV_I_47_2_BIT: u32 = 1 << 6; +const DV_I_48_0_BIT: u32 = 1 << 7; +const DV_I_48_2_BIT: u32 = 1 << 8; +const DV_I_49_0_BIT: u32 = 1 << 9; +const DV_I_49_2_BIT: u32 = 1 << 10; +const DV_I_50_0_BIT: u32 = 1 << 11; +const DV_I_50_2_BIT: u32 = 1 << 12; +const DV_I_51_0_BIT: u32 = 1 << 13; +const DV_I_51_2_BIT: u32 = 1 << 14; +const DV_I_52_0_BIT: u32 = 1 << 15; +const DV_II_45_0_BIT: u32 = 1 << 16; +const DV_II_46_0_BIT: u32 = 1 << 17; +const DV_II_46_2_BIT: u32 = 1 << 18; +const DV_II_47_0_BIT: u32 = 1 << 19; +const DV_II_48_0_BIT: u32 = 1 << 20; +const DV_II_49_0_BIT: u32 = 1 << 21; +const DV_II_49_2_BIT: u32 = 1 << 22; +const DV_II_50_0_BIT: u32 = 1 << 23; +const DV_II_50_2_BIT: u32 = 1 << 24; +const DV_II_51_0_BIT: u32 = 1 << 25; +const DV_II_51_2_BIT: u32 = 1 << 26; +const DV_II_52_0_BIT: u32 = 1 << 27; +const DV_II_53_0_BIT: u32 = 1 << 28; +const DV_II_54_0_BIT: u32 = 1 << 29; +const DV_II_55_0_BIT: u32 = 1 << 30; +const DV_II_56_0_BIT: u32 = 1 << 31; + +pub struct Info { + pub dv_type: u32, + pub dv_k: u32, + pub dv_b: u32, + pub testt: Testt, + pub maski: i32, + pub maskb: i32, + pub dm: [u32; 80], +} + +#[derive(Copy, Clone)] +#[repr(u32)] +pub enum Testt { + T58 = 58, + T65 = 65, +} + +/// Contains a list of SHA-1 Disturbance Vectors (DV) to check +/// `dv_type`, `dv_k` and `dv_b` define the DV: I(K,B) or II(K,B) (see the paper) +/// `dm[80]` is the expanded message block XOR-difference defined by the DV +/// testt is the step to do the recompression from for collision detection +/// `maski` and `maskb` define the bit to check for each DV in the dvmask returned by [`ubc_check`]. +pub const SHA1_DVS: [Info; 32] = [ + Info { + dv_type: 1, + dv_k: 43, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 0, + dm: [ + 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, 0x60000000, 0x8, + 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000, + 0x8000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, + 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000, + 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x10, 0xa0000000, 0x20000000, + 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, + 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, + 0x80000012, 0x80000202, 0x18, 0x164, 0x408, 0x800000e6, 0x8000004c, 0x803, 0x80000161, + 0x80000599, + ], + }, + Info { + dv_type: 1, + dv_k: 44, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 1, + dm: [ + 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, + 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000, + 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008, + 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, + 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x10, + 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, + 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, + 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, 0x18, 0x164, 0x408, 0x800000e6, + 0x8000004c, 0x803, 0x80000161, + ], + }, + Info { + dv_type: 1, + dv_k: 45, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 2, + dm: [ + 0xf4000014, 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, + 0x98000000, 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, + 0x28000000, 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, 0xf0000010, + 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, + 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000, + 0x10, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, + 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, + 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, 0x18, 0x164, 0x408, 0x800000e6, + 0x8000004c, 0x803, + ], + }, + Info { + dv_type: 1, + dv_k: 46, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 3, + dm: [ + 0x2c000010, 0xf4000014, 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, + 0xb8000010, 0x98000000, 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, + 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, + 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, + 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, + 0x80000000, 0x10, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, + 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, + 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, 0x18, 0x164, + 0x408, 0x800000e6, 0x8000004c, + ], + }, + Info { + dv_type: 1, + dv_k: 46, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 4, + dm: [ + 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000, 0x60000032, 0x60000043, 0x20000040, + 0xe0000042, 0x60000002, 0x80000001, 0x20, 0x3, 0x40000052, 0x40000040, 0xe0000052, + 0xa0000000, 0x80000040, 0x20000001, 0x20000060, 0x80000001, 0x40000042, 0xc0000043, + 0x40000022, 0x3, 0x40000042, 0xc0000043, 0xc0000022, 0x1, 0x40000002, 0xc0000043, + 0x40000062, 0x80000001, 0x40000042, 0x40000042, 0x40000002, 0x2, 0x40, 0x80000002, + 0x80000000, 0x80000002, 0x80000040, 0, 0x80000040, 0x80000000, 0x40, 0x80000000, 0x40, + 0x80000002, 0, 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, + 0x9, 0x101, 0x9, 0x12, 0x202, 0x1a, 0x124, 0x40c, 0x26, 0x4a, 0x80a, 0x60, 0x590, + 0x1020, 0x39a, 0x132, + ], + }, + Info { + dv_type: 1, + dv_k: 47, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 5, + dm: [ + 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, + 0x8000010, 0xb8000010, 0x98000000, 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, + 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, + 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, + 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, + 0x80000000, 0x10, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, + 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, + 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, 0x18, 0x164, + 0x408, 0x800000e6, + ], + }, + Info { + dv_type: 1, + dv_k: 47, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 6, + dm: [ + 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000, 0x60000032, 0x60000043, + 0x20000040, 0xe0000042, 0x60000002, 0x80000001, 0x20, 0x3, 0x40000052, 0x40000040, + 0xe0000052, 0xa0000000, 0x80000040, 0x20000001, 0x20000060, 0x80000001, 0x40000042, + 0xc0000043, 0x40000022, 0x3, 0x40000042, 0xc0000043, 0xc0000022, 0x1, 0x40000002, + 0xc0000043, 0x40000062, 0x80000001, 0x40000042, 0x40000042, 0x40000002, 0x2, 0x40, + 0x80000002, 0x80000000, 0x80000002, 0x80000040, 0, 0x80000040, 0x80000000, 0x40, + 0x80000000, 0x40, 0x80000002, 0, 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x4, 0x80, 0x4, 0x9, 0x101, 0x9, 0x12, 0x202, 0x1a, 0x124, 0x40c, 0x26, 0x4a, 0x80a, + 0x60, 0x590, 0x1020, 0x39a, + ], + }, + Info { + dv_type: 1, + dv_k: 48, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 7, + dm: [ + 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008, 0x8000000, 0x9800000c, + 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, 0x60000000, 0x8, 0xc0000000, 0x90000014, + 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x8000018, 0x60000000, + 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, + 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010, + 0x90000000, 0x80000000, 0x10, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, + 0x20000010, 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, + 0x80000004, 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, + 0x18, 0x164, 0x408, + ], + }, + Info { + dv_type: 1, + dv_k: 48, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 8, + dm: [ + 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000, 0x60000032, + 0x60000043, 0x20000040, 0xe0000042, 0x60000002, 0x80000001, 0x20, 0x3, 0x40000052, + 0x40000040, 0xe0000052, 0xa0000000, 0x80000040, 0x20000001, 0x20000060, 0x80000001, + 0x40000042, 0xc0000043, 0x40000022, 0x3, 0x40000042, 0xc0000043, 0xc0000022, 0x1, + 0x40000002, 0xc0000043, 0x40000062, 0x80000001, 0x40000042, 0x40000042, 0x40000002, + 0x2, 0x40, 0x80000002, 0x80000000, 0x80000002, 0x80000040, 0, 0x80000040, 0x80000000, + 0x40, 0x80000000, 0x40, 0x80000002, 0, 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0x4, 0x80, 0x4, 0x9, 0x101, 0x9, 0x12, 0x202, 0x1a, 0x124, 0x40c, 0x26, 0x4a, + 0x80a, 0x60, 0x590, 0x1020, + ], + }, + Info { + dv_type: 1, + dv_k: 49, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 9, + dm: [ + 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008, 0x8000000, + 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, 0x60000000, 0x8, 0xc0000000, + 0x90000014, 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000, 0x8000018, + 0x60000000, 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, + 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000, 0x90000010, + 0x90000010, 0x90000000, 0x80000000, 0x10, 0xa0000000, 0x20000000, 0xa0000000, + 0x20000010, 0, 0x20000010, 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, 0, + 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, + 0x80000012, 0x80000202, 0x18, 0x164, + ], + }, + Info { + dv_type: 1, + dv_k: 49, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 10, + dm: [ + 0x60000000, 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022, 0x20000000, + 0x60000032, 0x60000043, 0x20000040, 0xe0000042, 0x60000002, 0x80000001, 0x20, 0x3, + 0x40000052, 0x40000040, 0xe0000052, 0xa0000000, 0x80000040, 0x20000001, 0x20000060, + 0x80000001, 0x40000042, 0xc0000043, 0x40000022, 0x3, 0x40000042, 0xc0000043, + 0xc0000022, 0x1, 0x40000002, 0xc0000043, 0x40000062, 0x80000001, 0x40000042, + 0x40000042, 0x40000002, 0x2, 0x40, 0x80000002, 0x80000000, 0x80000002, 0x80000040, 0, + 0x80000040, 0x80000000, 0x40, 0x80000000, 0x40, 0x80000002, 0, 0x80000000, 0x80000000, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x101, 0x9, 0x12, 0x202, 0x1a, + 0x124, 0x40c, 0x26, 0x4a, 0x80a, 0x60, 0x590, + ], + }, + Info { + dv_type: 1, + dv_k: 50, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 11, + dm: [ + 0x800000c, 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014, 0xb4000008, + 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, 0x60000000, 0x8, + 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000, 0x20000010, 0x48000000, + 0x8000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008, 0xc0000000, 0x90000010, + 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, 0x90000018, 0x60000000, + 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x10, 0xa0000000, 0x20000000, + 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, 0x20000000, 0x10, 0xa0000000, + 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, 0x49, 0x103, 0x80000009, + 0x80000012, 0x80000202, 0x18, + ], + }, + Info { + dv_type: 1, + dv_k: 50, + dv_b: 2, + testt: Testt::T65, + maski: 0, + maskb: 12, + dm: [ + 0x20000030, 0x60000000, 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053, 0xd0000022, + 0x20000000, 0x60000032, 0x60000043, 0x20000040, 0xe0000042, 0x60000002, 0x80000001, + 0x20, 0x3, 0x40000052, 0x40000040, 0xe0000052, 0xa0000000, 0x80000040, 0x20000001, + 0x20000060, 0x80000001, 0x40000042, 0xc0000043, 0x40000022, 0x3, 0x40000042, + 0xc0000043, 0xc0000022, 0x1, 0x40000002, 0xc0000043, 0x40000062, 0x80000001, + 0x40000042, 0x40000042, 0x40000002, 0x2, 0x40, 0x80000002, 0x80000000, 0x80000002, + 0x80000040, 0, 0x80000040, 0x80000000, 0x40, 0x80000000, 0x40, 0x80000002, 0, + 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x101, 0x9, + 0x12, 0x202, 0x1a, 0x124, 0x40c, 0x26, 0x4a, 0x80a, 0x60, + ], + }, + Info { + dv_type: 1, + dv_k: 51, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 13, + dm: [ + 0xe8000000, 0x800000c, 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010, 0xf4000014, + 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, 0x98000000, + 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, 0x28000000, + 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, 0xf0000010, 0x90000008, + 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, 0xf0000010, + 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000, 0x10, + 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, + 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, + 0x49, 0x103, 0x80000009, 0x80000012, 0x80000202, + ], + }, + Info { + dv_type: 1, + dv_k: 51, + dv_b: 2, + testt: Testt::T65, + maski: 0, + maskb: 14, + dm: [ + 0xa0000003, 0x20000030, 0x60000000, 0xe000002a, 0x20000043, 0xb0000040, 0xd0000053, + 0xd0000022, 0x20000000, 0x60000032, 0x60000043, 0x20000040, 0xe0000042, 0x60000002, + 0x80000001, 0x20, 0x3, 0x40000052, 0x40000040, 0xe0000052, 0xa0000000, 0x80000040, + 0x20000001, 0x20000060, 0x80000001, 0x40000042, 0xc0000043, 0x40000022, 0x3, + 0x40000042, 0xc0000043, 0xc0000022, 0x1, 0x40000002, 0xc0000043, 0x40000062, + 0x80000001, 0x40000042, 0x40000042, 0x40000002, 0x2, 0x40, 0x80000002, 0x80000000, + 0x80000002, 0x80000040, 0, 0x80000040, 0x80000000, 0x40, 0x80000000, 0x40, 0x80000002, + 0, 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x101, + 0x9, 0x12, 0x202, 0x1a, 0x124, 0x40c, 0x26, 0x4a, 0x80a, + ], + }, + Info { + dv_type: 1, + dv_k: 52, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 15, + dm: [ + 0x4000010, 0xe8000000, 0x800000c, 0x18000000, 0xb800000a, 0xc8000010, 0x2c000010, + 0xf4000014, 0xb4000008, 0x8000000, 0x9800000c, 0xd8000010, 0x8000010, 0xb8000010, + 0x98000000, 0x60000000, 0x8, 0xc0000000, 0x90000014, 0x10000010, 0xb8000014, + 0x28000000, 0x20000010, 0x48000000, 0x8000018, 0x60000000, 0x90000010, 0xf0000010, + 0x90000008, 0xc0000000, 0x90000010, 0xf0000010, 0xb0000008, 0x40000000, 0x90000000, + 0xf0000010, 0x90000018, 0x60000000, 0x90000010, 0x90000010, 0x90000000, 0x80000000, + 0x10, 0xa0000000, 0x20000000, 0xa0000000, 0x20000010, 0, 0x20000010, 0x20000000, 0x10, + 0x20000000, 0x10, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0x1, 0x20, 0x1, 0x40000002, 0x40000040, 0x40000002, 0x80000004, 0x80000080, 0x80000006, + 0x49, 0x103, 0x80000009, 0x80000012, + ], + }, + Info { + dv_type: 2, + dv_k: 45, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 16, + dm: [ + 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0xc, + 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, 0xb800001c, 0xe8000000, + 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, + 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, 0x10, + 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, + 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, + 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, + 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082, + 0xc0000046, 0x4000004b, 0x80000107, 0x89, 0x14, 0x8000024b, 0x11b, 0x8000016d, + 0x8000041a, 0x2e4, 0x80000054, 0x967, + ], + }, + Info { + dv_type: 2, + dv_k: 46, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 17, + dm: [ + 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, + 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, 0xb800001c, + 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, + 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, + 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, + 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, + 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, + 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082, + 0xc0000046, 0x4000004b, 0x80000107, 0x89, 0x14, 0x8000024b, 0x11b, 0x8000016d, + 0x8000041a, 0x2e4, 0x80000054, + ], + }, + Info { + dv_type: 2, + dv_k: 46, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 18, + dm: [ + 0x90000070, 0xb0000053, 0x30000008, 0x43, 0xd0000072, 0xb0000010, 0xf0000062, + 0xc0000042, 0x30, 0xe0000042, 0x20000060, 0xe0000041, 0x20000050, 0xc0000041, + 0xe0000072, 0xa0000003, 0xc0000012, 0x60000041, 0xc0000032, 0x20000001, 0xc0000002, + 0xe0000042, 0x60000042, 0x80000002, 0, 0, 0x80000000, 0x2, 0x40, 0, 0x80000040, + 0x80000000, 0x40, 0x80000001, 0x60, 0x80000003, 0x40000002, 0xc0000040, 0xc0000002, + 0x80000000, 0x80000000, 0x80000002, 0x40, 0x2, 0x80000000, 0x80000000, 0x80000000, 0x2, + 0x40, 0, 0x80000040, 0x80000002, 0, 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0x4, + 0x80, 0x4, 0x9, 0x105, 0x89, 0x16, 0x20b, 0x11b, 0x12d, 0x41e, 0x224, 0x50, 0x92e, + 0x46c, 0x5b6, 0x106a, 0xb90, 0x152, + ], + }, + Info { + dv_type: 2, + dv_k: 47, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 19, + dm: [ + 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, + 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, + 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, + 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, + 0x20000000, 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, + 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, + 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, + 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, 0x89, 0x14, 0x8000024b, 0x11b, + 0x8000016d, 0x8000041a, 0x2e4, + ], + }, + Info { + dv_type: 2, + dv_k: 48, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 20, + dm: [ + 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, + 0x2c000004, 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, + 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, + 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, + 0x20000010, 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, + 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, + 0x20000000, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, + 0x20000000, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, + 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, 0x89, 0x14, 0x8000024b, + 0x11b, 0x8000016d, 0x8000041a, + ], + }, + Info { + dv_type: 2, + dv_k: 49, + dv_b: 0, + testt: Testt::T58, + maski: 0, + maskb: 21, + dm: [ + 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, + 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, + 0x8000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, + 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, + 0x80000000, 0x10, 0, 0x20000010, 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, + 0x90000000, 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x10, + 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000041, 0x40000022, 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, + 0x89, 0x14, 0x8000024b, 0x11b, 0x8000016d, + ], + }, + Info { + dv_type: 2, + dv_k: 49, + dv_b: 2, + testt: Testt::T58, + maski: 0, + maskb: 22, + dm: [ + 0xf0000010, 0xf000006a, 0x80000040, 0x90000070, 0xb0000053, 0x30000008, 0x43, + 0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, 0x30, 0xe0000042, 0x20000060, + 0xe0000041, 0x20000050, 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, 0x60000041, + 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042, 0x60000042, 0x80000002, 0, 0, + 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000000, 0x40, 0x80000001, 0x60, 0x80000003, + 0x40000002, 0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002, 0x40, 0x2, + 0x80000000, 0x80000000, 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000002, 0, + 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x105, 0x89, 0x16, + 0x20b, 0x11b, 0x12d, 0x41e, 0x224, 0x50, 0x92e, 0x46c, 0x5b6, + ], + }, + Info { + dv_type: 2, + dv_k: 50, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 23, + dm: [ + 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0xc000002, + 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, + 0x78000010, 0x8000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, + 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0, 0, + 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, 0x10, 0x60000000, 0x18, + 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, + 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000041, 0x40000022, 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, + 0x89, 0x14, 0x8000024b, 0x11b, + ], + }, + Info { + dv_type: 2, + dv_k: 50, + dv_b: 2, + testt: Testt::T65, + maski: 0, + maskb: 24, + dm: [ + 0xd0000072, 0xf0000010, 0xf000006a, 0x80000040, 0x90000070, 0xb0000053, 0x30000008, + 0x43, 0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, 0x30, 0xe0000042, 0x20000060, + 0xe0000041, 0x20000050, 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, 0x60000041, + 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042, 0x60000042, 0x80000002, 0, 0, + 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000000, 0x40, 0x80000001, 0x60, 0x80000003, + 0x40000002, 0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002, 0x40, 0x2, + 0x80000000, 0x80000000, 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000002, 0, + 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x105, 0x89, 0x16, + 0x20b, 0x11b, 0x12d, 0x41e, 0x224, 0x50, 0x92e, 0x46c, + ], + }, + Info { + dv_type: 2, + dv_k: 51, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 25, + dm: [ + 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, + 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0xc, 0xb8000010, + 0x8000018, 0x78000010, 0x8000014, 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, + 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0, + 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, 0x10, 0x60000000, 0x18, + 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, + 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, + 0x40000041, 0x40000022, 0x80000005, 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, + 0x89, 0x14, 0x8000024b, + ], + }, + Info { + dv_type: 2, + dv_k: 51, + dv_b: 2, + testt: Testt::T65, + maski: 0, + maskb: 26, + dm: [ + 0x43, 0xd0000072, 0xf0000010, 0xf000006a, 0x80000040, 0x90000070, 0xb0000053, + 0x30000008, 0x43, 0xd0000072, 0xb0000010, 0xf0000062, 0xc0000042, 0x30, 0xe0000042, + 0x20000060, 0xe0000041, 0x20000050, 0xc0000041, 0xe0000072, 0xa0000003, 0xc0000012, + 0x60000041, 0xc0000032, 0x20000001, 0xc0000002, 0xe0000042, 0x60000042, 0x80000002, 0, + 0, 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000000, 0x40, 0x80000001, 0x60, + 0x80000003, 0x40000002, 0xc0000040, 0xc0000002, 0x80000000, 0x80000000, 0x80000002, + 0x40, 0x2, 0x80000000, 0x80000000, 0x80000000, 0x2, 0x40, 0, 0x80000040, 0x80000002, 0, + 0x80000000, 0x80000000, 0, 0, 0, 0, 0, 0, 0x4, 0x80, 0x4, 0x9, 0x105, 0x89, 0x16, + 0x20b, 0x11b, 0x12d, 0x41e, 0x224, 0x50, 0x92e, + ], + }, + Info { + dv_type: 2, + dv_k: 52, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 27, + dm: [ + 0xc000002, 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010, 0x2400001c, + 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, 0xb0000010, 0xc, + 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, 0xb800001c, 0xe8000000, + 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, 0x98000010, + 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, 0x10, + 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, + 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, + 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, + 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082, + 0xc0000046, 0x4000004b, 0x80000107, 0x89, 0x14, + ], + }, + Info { + dv_type: 2, + dv_k: 53, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 28, + dm: [ + 0xcc000014, 0xc000002, 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, 0x20000010, + 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, 0xbc000018, + 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, 0xb800001c, + 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, 0xb8000010, + 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0x20000000, + 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, 0x20000000, + 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, 0x20000000, + 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, 0, 0, 0, 0, + 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, 0xc0000082, + 0xc0000046, 0x4000004b, 0x80000107, 0x89, + ], + }, + Info { + dv_type: 2, + dv_k: 54, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 29, + dm: [ + 0x400001c, 0xcc000014, 0xc000002, 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, + 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, + 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, + 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, + 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, + 0x20000000, 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, + 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, + 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, + 0xc0000082, 0xc0000046, 0x4000004b, 0x80000107, + ], + }, + Info { + dv_type: 2, + dv_k: 55, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 30, + dm: [ + 0x10, 0x400001c, 0xcc000014, 0xc000002, 0xc0000010, 0xb400001c, 0x3c000004, 0xbc00001a, + 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, 0x2c000004, + 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, 0x70000010, + 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, 0xb0000000, + 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, + 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, 0xb0000000, + 0x20000000, 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, 0x20000000, + 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, 0x20000000, 0, + 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, 0x80000005, + 0xc0000082, 0xc0000046, 0x4000004b, + ], + }, + Info { + dv_type: 2, + dv_k: 56, + dv_b: 0, + testt: Testt::T65, + maski: 0, + maskb: 31, + dm: [ + 0x2600001a, 0x10, 0x400001c, 0xcc000014, 0xc000002, 0xc0000010, 0xb400001c, 0x3c000004, + 0xbc00001a, 0x20000010, 0x2400001c, 0xec000014, 0xc000002, 0xc0000010, 0xb400001c, + 0x2c000004, 0xbc000018, 0xb0000010, 0xc, 0xb8000010, 0x8000018, 0x78000010, 0x8000014, + 0x70000010, 0xb800001c, 0xe8000000, 0xb0000004, 0x58000010, 0xb000000c, 0x48000000, + 0xb0000000, 0xb8000010, 0x98000010, 0xa0000000, 0, 0, 0x20000000, 0x80000000, 0x10, 0, + 0x20000010, 0x20000000, 0x10, 0x60000000, 0x18, 0xe0000000, 0x90000000, 0x30000010, + 0xb0000000, 0x20000000, 0x20000000, 0xa0000000, 0x10, 0x80000000, 0x20000000, + 0x20000000, 0x20000000, 0x80000000, 0x10, 0, 0x20000010, 0xa0000000, 0, 0x20000000, + 0x20000000, 0, 0, 0, 0, 0, 0, 0x1, 0x20, 0x1, 0x40000002, 0x40000041, 0x40000022, + 0x80000005, 0xc0000082, 0xc0000046, + ], + }, +]; + +/// Takes as input an expanded message block and verifies the unavoidable bitconditions +/// for all listed DVs it returns a dvmask where each bit belonging to a DV is set if +/// all unavoidable bitconditions for that DV have been met thus one needs to do the +/// recompression check for each DV that has its bit set. +#[inline] +pub const fn ubc_check(w: &[u32; 80]) -> u32 { + let mut mask: u32 = !0; + mask &= ((w[44] ^ w[45]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_48_0_BIT + | DV_I_51_0_BIT + | DV_I_52_0_BIT + | DV_II_45_0_BIT + | DV_II_46_0_BIT + | DV_II_50_0_BIT + | DV_II_51_0_BIT); + mask &= ((w[49] ^ w[50]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_46_0_BIT + | DV_II_45_0_BIT + | DV_II_50_0_BIT + | DV_II_51_0_BIT + | DV_II_55_0_BIT + | DV_II_56_0_BIT); + mask &= ((w[48] ^ w[49]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_45_0_BIT + | DV_I_52_0_BIT + | DV_II_49_0_BIT + | DV_II_50_0_BIT + | DV_II_54_0_BIT + | DV_II_55_0_BIT); + mask &= ((w[47] ^ w[50] >> 25) & (1 << 4)).wrapping_sub((1) << 4) + | !(DV_I_47_0_BIT + | DV_I_49_0_BIT + | DV_I_51_0_BIT + | DV_II_45_0_BIT + | DV_II_51_0_BIT + | DV_II_56_0_BIT); + mask &= ((w[47] ^ w[48]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT + | DV_I_51_0_BIT + | DV_II_48_0_BIT + | DV_II_49_0_BIT + | DV_II_53_0_BIT + | DV_II_54_0_BIT); + mask &= ((w[46] >> 4 ^ w[49] >> 29) & 1).wrapping_sub(1) + | !(DV_I_46_0_BIT + | DV_I_48_0_BIT + | DV_I_50_0_BIT + | DV_I_52_0_BIT + | DV_II_50_0_BIT + | DV_II_55_0_BIT); + mask &= ((w[46] ^ w[47]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_43_0_BIT + | DV_I_50_0_BIT + | DV_II_47_0_BIT + | DV_II_48_0_BIT + | DV_II_52_0_BIT + | DV_II_53_0_BIT); + mask &= ((w[45] >> 4 ^ w[48] >> 29) & 1).wrapping_sub(1) + | !(DV_I_45_0_BIT + | DV_I_47_0_BIT + | DV_I_49_0_BIT + | DV_I_51_0_BIT + | DV_II_49_0_BIT + | DV_II_54_0_BIT); + mask &= ((w[45] ^ w[46]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_49_0_BIT + | DV_I_52_0_BIT + | DV_II_46_0_BIT + | DV_II_47_0_BIT + | DV_II_51_0_BIT + | DV_II_52_0_BIT); + mask &= ((w[44] >> 4 ^ w[47] >> 29) & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT + | DV_I_46_0_BIT + | DV_I_48_0_BIT + | DV_I_50_0_BIT + | DV_II_48_0_BIT + | DV_II_53_0_BIT); + mask &= ((w[43] >> 4 ^ w[46] >> 29) & 1).wrapping_sub(1) + | !(DV_I_43_0_BIT + | DV_I_45_0_BIT + | DV_I_47_0_BIT + | DV_I_49_0_BIT + | DV_II_47_0_BIT + | DV_II_52_0_BIT); + mask &= ((w[43] ^ w[44]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_47_0_BIT + | DV_I_50_0_BIT + | DV_I_51_0_BIT + | DV_II_45_0_BIT + | DV_II_49_0_BIT + | DV_II_50_0_BIT); + mask &= ((w[42] >> 4 ^ w[45] >> 29) & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT + | DV_I_46_0_BIT + | DV_I_48_0_BIT + | DV_I_52_0_BIT + | DV_II_46_0_BIT + | DV_II_51_0_BIT); + mask &= ((w[41] >> 4 ^ w[44] >> 29) & 1).wrapping_sub(1) + | !(DV_I_43_0_BIT + | DV_I_45_0_BIT + | DV_I_47_0_BIT + | DV_I_51_0_BIT + | DV_II_45_0_BIT + | DV_II_50_0_BIT); + mask &= ((w[40] ^ w[41]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT + | DV_I_47_0_BIT + | DV_I_48_0_BIT + | DV_II_46_0_BIT + | DV_II_47_0_BIT + | DV_II_56_0_BIT); + mask &= ((w[54] ^ w[55]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_50_0_BIT | DV_II_55_0_BIT | DV_II_56_0_BIT); + mask &= ((w[53] ^ w[54]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_49_0_BIT | DV_II_54_0_BIT | DV_II_55_0_BIT); + mask &= ((w[52] ^ w[53]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT | DV_II_53_0_BIT | DV_II_54_0_BIT); + mask &= ((w[50] ^ w[53] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_50_0_BIT | DV_I_52_0_BIT | DV_II_46_0_BIT | DV_II_48_0_BIT | DV_II_54_0_BIT); + mask &= ((w[50] ^ w[51]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_47_0_BIT | DV_II_46_0_BIT | DV_II_51_0_BIT | DV_II_52_0_BIT | DV_II_56_0_BIT); + mask &= ((w[49] ^ w[52] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT | DV_II_47_0_BIT | DV_II_53_0_BIT); + mask &= ((w[48] ^ w[51] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT | DV_II_46_0_BIT | DV_II_52_0_BIT); + mask &= ((w[42] ^ w[43]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_46_0_BIT | DV_I_49_0_BIT | DV_I_50_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT); + mask &= ((w[41] ^ w[42]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_45_0_BIT | DV_I_48_0_BIT | DV_I_49_0_BIT | DV_II_47_0_BIT | DV_II_48_0_BIT); + mask &= ((w[40] >> 4 ^ w[43] >> 29) & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_50_0_BIT | DV_II_49_0_BIT | DV_II_56_0_BIT); + mask &= ((w[39] >> 4 ^ w[42] >> 29) & 1).wrapping_sub(1) + | !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_49_0_BIT | DV_II_48_0_BIT | DV_II_55_0_BIT); + if mask & (DV_I_44_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT) + != 0 + { + mask &= ((w[38] >> 4 ^ w[41] >> 29) & 1).wrapping_sub(1) + | !(DV_I_44_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT) + } + mask &= ((w[37] >> 4 ^ w[40] >> 29) & 1).wrapping_sub(1) + | !(DV_I_43_0_BIT | DV_I_47_0_BIT | DV_II_46_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT); + if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_51_0_BIT | DV_II_56_0_BIT) != 0 { + mask &= ((w[55] ^ w[56]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_51_0_BIT | DV_II_56_0_BIT) + } + if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_50_0_BIT | DV_II_56_0_BIT) != 0 { + mask &= ((w[52] ^ w[55] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_50_0_BIT | DV_II_56_0_BIT) + } + if mask & (DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_49_0_BIT | DV_II_55_0_BIT) != 0 { + mask &= ((w[51] ^ w[54] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_51_0_BIT | DV_II_47_0_BIT | DV_II_49_0_BIT | DV_II_55_0_BIT) + } + if mask & (DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_52_0_BIT | DV_II_53_0_BIT) != 0 { + mask &= ((w[51] ^ w[52]) >> 29 & 1).wrapping_sub(1) + | !(DV_I_48_0_BIT | DV_II_47_0_BIT | DV_II_52_0_BIT | DV_II_53_0_BIT) + } + if mask & (DV_I_46_0_BIT | DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT) != 0 { + mask &= ((w[36] >> 4 ^ w[40] >> 29) & 1).wrapping_sub(1) + | !(DV_I_46_0_BIT | DV_I_49_0_BIT | DV_II_45_0_BIT | DV_II_48_0_BIT) + } + if mask & (DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[53] ^ w[56]) >> 29 & 1) + | !(DV_I_52_0_BIT | DV_II_48_0_BIT | DV_II_49_0_BIT) + } + if mask & (DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_47_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[51] ^ w[54]) >> 29 & 1) + | !(DV_I_50_0_BIT | DV_II_46_0_BIT | DV_II_47_0_BIT) + } + if mask & (DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[50] ^ w[52]) >> 29 & 1) + | !(DV_I_49_0_BIT | DV_I_51_0_BIT | DV_II_45_0_BIT) + } + if mask & (DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[49] ^ w[51]) >> 29 & 1) + | !(DV_I_48_0_BIT | DV_I_50_0_BIT | DV_I_52_0_BIT) + } + if mask & (DV_I_47_0_BIT | DV_I_49_0_BIT | DV_I_51_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[48] ^ w[50]) >> 29 & 1) + | !(DV_I_47_0_BIT | DV_I_49_0_BIT | DV_I_51_0_BIT) + } + if mask & (DV_I_46_0_BIT | DV_I_48_0_BIT | DV_I_50_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[47] ^ w[49]) >> 29 & 1) + | !(DV_I_46_0_BIT | DV_I_48_0_BIT | DV_I_50_0_BIT) + } + if mask & (DV_I_45_0_BIT | DV_I_47_0_BIT | DV_I_49_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[46] ^ w[48]) >> 29 & 1) + | !(DV_I_45_0_BIT | DV_I_47_0_BIT | DV_I_49_0_BIT) + } + mask &= ((w[45] ^ w[47]) & (1 << 6)).wrapping_sub(1 << 6) + | !(DV_I_47_2_BIT | DV_I_49_2_BIT | DV_I_51_2_BIT); + if mask & (DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_48_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[45] ^ w[47]) >> 29 & 1) + | !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_I_48_0_BIT) + } + mask &= ((w[44] ^ w[46]) >> 6 & 1).wrapping_sub(1) + | !(DV_I_46_2_BIT | DV_I_48_2_BIT | DV_I_50_2_BIT); + if mask & (DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_47_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[44] ^ w[46]) >> 29 & 1) + | !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_I_47_0_BIT) + } + mask &= (0u32).wrapping_sub((w[41] ^ w[42] >> 5) & (1 << 1)) + | !(DV_I_48_2_BIT | DV_II_46_2_BIT | DV_II_51_2_BIT); + mask &= (0u32).wrapping_sub((w[40] ^ w[41] >> 5) & (1 << 1)) + | !(DV_I_47_2_BIT | DV_I_51_2_BIT | DV_II_50_2_BIT); + if mask & (DV_I_44_0_BIT | DV_I_46_0_BIT | DV_II_56_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[40] ^ w[42]) >> 4 & 1) + | !(DV_I_44_0_BIT | DV_I_46_0_BIT | DV_II_56_0_BIT) + } + mask &= (0u32).wrapping_sub((w[39] ^ w[40] >> 5) & (1 << 1)) + | !(DV_I_46_2_BIT | DV_I_50_2_BIT | DV_II_49_2_BIT); + if mask & (DV_I_43_0_BIT | DV_I_45_0_BIT | DV_II_55_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[39] ^ w[41]) >> 4 & 1) + | !(DV_I_43_0_BIT | DV_I_45_0_BIT | DV_II_55_0_BIT) + } + if mask & (DV_I_44_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[38] ^ w[40]) >> 4 & 1) + | !(DV_I_44_0_BIT | DV_II_54_0_BIT | DV_II_56_0_BIT) + } + if mask & (DV_I_43_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[37] ^ w[39]) >> 4 & 1) + | !(DV_I_43_0_BIT | DV_II_53_0_BIT | DV_II_55_0_BIT) + } + mask &= (0u32).wrapping_sub((w[36] ^ w[37] >> 5) & (1 << 1)) + | !(DV_I_47_2_BIT | DV_I_50_2_BIT | DV_II_46_2_BIT); + if mask & (DV_I_45_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT) != 0 { + mask &= ((w[35] >> 4 ^ w[39] >> 29) & 1).wrapping_sub(1) + | !(DV_I_45_0_BIT | DV_I_48_0_BIT | DV_II_47_0_BIT) + } + if mask & (DV_I_48_0_BIT | DV_II_48_0_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[63] ^ w[64] >> 5) & (1 << 0)) | !(DV_I_48_0_BIT | DV_II_48_0_BIT) + } + if mask & (DV_I_45_0_BIT | DV_II_45_0_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[63] ^ w[64] >> 5) & (1 << 1)) | !(DV_I_45_0_BIT | DV_II_45_0_BIT) + } + if mask & (DV_I_47_0_BIT | DV_II_47_0_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[62] ^ w[63] >> 5) & (1 << 0)) | !(DV_I_47_0_BIT | DV_II_47_0_BIT) + } + if mask & (DV_I_46_0_BIT | DV_II_46_0_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[61] ^ w[62] >> 5) & (1 << 0)) | !(DV_I_46_0_BIT | DV_II_46_0_BIT) + } + mask &= + (0u32).wrapping_sub((w[61] ^ w[62] >> 5) & (1 << 2)) | !(DV_I_46_2_BIT | DV_II_46_2_BIT); + if mask & (DV_I_45_0_BIT | DV_II_45_0_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[60] ^ w[61] >> 5) & (1 << 0)) | !(DV_I_45_0_BIT | DV_II_45_0_BIT) + } + if mask & (DV_II_51_0_BIT | DV_II_54_0_BIT) != 0 { + mask &= ((w[58] ^ w[59]) >> 29 & 1).wrapping_sub(1) | !(DV_II_51_0_BIT | DV_II_54_0_BIT) + } + if mask & (DV_II_50_0_BIT | DV_II_53_0_BIT) != 0 { + mask &= ((w[57] ^ w[58]) >> 29 & 1).wrapping_sub(1) | !(DV_II_50_0_BIT | DV_II_53_0_BIT) + } + if mask & (DV_II_52_0_BIT | DV_II_54_0_BIT) != 0 { + mask &= ((w[56] ^ w[59] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_II_52_0_BIT | DV_II_54_0_BIT) + } + if mask & (DV_II_51_0_BIT | DV_II_52_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[56] ^ w[59]) >> 29 & 1) | !(DV_II_51_0_BIT | DV_II_52_0_BIT) + } + if mask & (DV_II_49_0_BIT | DV_II_52_0_BIT) != 0 { + mask &= ((w[56] ^ w[57]) >> 29 & 1).wrapping_sub(1) | !(DV_II_49_0_BIT | DV_II_52_0_BIT) + } + if mask & (DV_II_51_0_BIT | DV_II_53_0_BIT) != 0 { + mask &= ((w[55] ^ w[58] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_II_51_0_BIT | DV_II_53_0_BIT) + } + if mask & (DV_II_50_0_BIT | DV_II_52_0_BIT) != 0 { + mask &= ((w[54] ^ w[57] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_II_50_0_BIT | DV_II_52_0_BIT) + } + if mask & (DV_II_49_0_BIT | DV_II_51_0_BIT) != 0 { + mask &= ((w[53] ^ w[56] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_II_49_0_BIT | DV_II_51_0_BIT) + } + mask &= + ((w[51] ^ w[50] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_50_2_BIT | DV_II_46_2_BIT); + mask &= ((w[48] ^ w[50]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_50_2_BIT | DV_II_46_2_BIT); + if mask & (DV_I_51_0_BIT | DV_I_52_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[48] ^ w[55]) >> 29 & 1) | !(DV_I_51_0_BIT | DV_I_52_0_BIT) + } + mask &= ((w[47] ^ w[49]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_49_2_BIT | DV_I_51_2_BIT); + mask &= + ((w[48] ^ w[47] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_47_2_BIT | DV_II_51_2_BIT); + mask &= ((w[46] ^ w[48]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_48_2_BIT | DV_I_50_2_BIT); + mask &= + ((w[47] ^ w[46] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_46_2_BIT | DV_II_50_2_BIT); + mask &= + (0u32).wrapping_sub((w[44] ^ w[45] >> 5) & (1 << 1)) | !(DV_I_51_2_BIT | DV_II_49_2_BIT); + mask &= ((w[43] ^ w[45]) & (1 << 6)).wrapping_sub(1 << 6) | !(DV_I_47_2_BIT | DV_I_49_2_BIT); + mask &= ((w[42] ^ w[44]) >> 6 & 1).wrapping_sub(1) | !(DV_I_46_2_BIT | DV_I_48_2_BIT); + mask &= + ((w[43] ^ w[42] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_II_46_2_BIT | DV_II_51_2_BIT); + mask &= + ((w[42] ^ w[41] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_51_2_BIT | DV_II_50_2_BIT); + mask &= + ((w[41] ^ w[40] >> 5) & (1 << 1)).wrapping_sub(1 << 1) | !(DV_I_50_2_BIT | DV_II_49_2_BIT); + if mask & (DV_I_52_0_BIT | DV_II_51_0_BIT) != 0 { + mask &= ((w[39] ^ w[43] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_52_0_BIT | DV_II_51_0_BIT) + } + if mask & (DV_I_51_0_BIT | DV_II_50_0_BIT) != 0 { + mask &= ((w[38] ^ w[42] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_51_0_BIT | DV_II_50_0_BIT) + } + if mask & (DV_I_48_2_BIT | DV_I_51_2_BIT) != 0 { + mask &= + (0u32).wrapping_sub((w[37] ^ w[38] >> 5) & (1 << 1)) | !(DV_I_48_2_BIT | DV_I_51_2_BIT) + } + if mask & (DV_I_50_0_BIT | DV_II_49_0_BIT) != 0 { + mask &= ((w[37] ^ w[41] >> 25) & (1 << 4)).wrapping_sub(1 << 4) + | !(DV_I_50_0_BIT | DV_II_49_0_BIT) + } + if mask & (DV_II_52_0_BIT | DV_II_54_0_BIT) != 0 { + mask &= (0u32).wrapping_sub((w[36] ^ w[38]) & (1 << 4)) | !(DV_II_52_0_BIT | DV_II_54_0_BIT) + } + mask &= (0u32).wrapping_sub((w[35] ^ w[36] >> 5) & (1 << 1)) | !(DV_I_46_2_BIT | DV_I_49_2_BIT); + if mask & (DV_I_51_0_BIT | DV_II_47_0_BIT) != 0 { + mask &= ((w[35] ^ w[39] >> 25) & (1 << 3)).wrapping_sub(1 << 3) + | !(DV_I_51_0_BIT | DV_II_47_0_BIT) + } + if mask != 0 { + if mask & DV_I_43_0_BIT != 0 + && ((w[61] ^ w[62] >> 5) & (1 << 1) == 0 + || (w[59] ^ w[63] >> 25) & (1 << 5) != 0 + || (w[58] ^ w[63] >> 30) & (1 << 0) == 0) + { + mask &= !DV_I_43_0_BIT + } + if mask & DV_I_44_0_BIT != 0 + && ((w[62] ^ w[63] >> 5) & (1 << 1) == 0 + || (w[60] ^ w[64] >> 25) & (1 << 5) != 0 + || (w[59] ^ w[64] >> 30) & (1 << 0) == 0) + { + mask &= !DV_I_44_0_BIT + } + if mask & DV_I_46_2_BIT != 0 { + mask &= !((w[40] ^ w[42]) >> 2) | !DV_I_46_2_BIT + } + if mask & DV_I_47_2_BIT != 0 + && ((w[62] ^ w[63] >> 5) & (1 << 2) == 0 || (w[41] ^ w[43]) & (1 << 6) != 0) + { + mask &= !DV_I_47_2_BIT + } + if mask & DV_I_48_2_BIT != 0 + && ((w[63] ^ w[64] >> 5) & (1 << 2) == 0 || (w[48] ^ w[49] << 5) & (1 << 6) != 0) + { + mask &= !DV_I_48_2_BIT + } + if mask & DV_I_49_2_BIT != 0 + && ((w[49] ^ w[50] << 5) & (1 << 6) != 0 + || (w[42] ^ w[50]) & (1 << 1) == 0 + || (w[39] ^ w[40] << 5) & (1 << 6) != 0 + || (w[38] ^ w[40]) & (1 << 1) == 0) + { + mask &= !DV_I_49_2_BIT + } + if mask & DV_I_50_0_BIT != 0 { + mask &= (w[36] ^ w[37]) << 7 | !DV_I_50_0_BIT + } + if mask & DV_I_50_2_BIT != 0 { + mask &= (w[43] ^ w[51]) << 11 | !DV_I_50_2_BIT + } + if mask & DV_I_51_0_BIT != 0 { + mask &= (w[37] ^ w[38]) << 9 | !DV_I_51_0_BIT + } + if mask & DV_I_51_2_BIT != 0 + && ((w[51] ^ w[52] << 5) & (1 << 6) != 0 + || (w[49] ^ w[51]) & (1 << 6) != 0 + || (w[37] ^ w[37] >> 5) & (1 << 1) != 0 + || (w[35] ^ w[39] >> 25) & (1 << 5) != 0) + { + mask &= !DV_I_51_2_BIT + } + if mask & DV_I_52_0_BIT != 0 { + mask &= (w[38] ^ w[39]) << 11 | !DV_I_52_0_BIT + } + if mask & DV_II_46_2_BIT != 0 { + mask &= (w[47] ^ w[51]) << 17 | !DV_II_46_2_BIT + } + if mask & DV_II_48_0_BIT != 0 + && ((w[36] ^ w[40] >> 25) & (1 << 3) != 0 || (w[35] ^ w[40] << 2) & (1 << 30) == 0) + { + mask &= !DV_II_48_0_BIT + } + if mask & DV_II_49_0_BIT != 0 + && ((w[37] ^ w[41] >> 25) & (1 << 3) != 0 || (w[36] ^ w[41] << 2) & (1 << 30) == 0) + { + mask &= !DV_II_49_0_BIT + } + if mask & DV_II_49_2_BIT != 0 + && ((w[53] ^ w[54] << 5) & (1 << 6) != 0 + || (w[51] ^ w[53]) & (1 << 6) != 0 + || (w[50] ^ w[54]) & (1 << 1) == 0 + || (w[45] ^ w[46] << 5) & (1 << 6) != 0 + || (w[37] ^ w[41] >> 25) & (1 << 5) != 0 + || (w[36] ^ w[41] >> 30) & (1 << 0) == 0) + { + mask &= !DV_II_49_2_BIT + } + if mask & DV_II_50_0_BIT != 0 + && ((w[55] ^ w[58]) & (1 << 29) == 0 + || (w[38] ^ w[42] >> 25) & (1 << 3) != 0 + || (w[37] ^ w[42] << 2) & (1 << 30) == 0) + { + mask &= !DV_II_50_0_BIT + } + if mask & DV_II_50_2_BIT != 0 + && ((w[54] ^ w[55] << 5) & (1 << 6) != 0 + || (w[52] ^ w[54]) & (1 << 6) != 0 + || (w[51] ^ w[55]) & (1 << 1) == 0 + || (w[45] ^ w[47]) & (1 << 1) == 0 + || (w[38] ^ w[42] >> 25) & (1 << 5) != 0 + || (w[37] ^ w[42] >> 30) & (1 << 0) == 0) + { + mask &= !DV_II_50_2_BIT + } + if mask & DV_II_51_0_BIT != 0 + && ((w[39] ^ w[43] >> 25) & (1 << 3) != 0 || (w[38] ^ w[43] << 2) & (1 << 30) == 0) + { + mask &= !DV_II_51_0_BIT + } + if mask & DV_II_51_2_BIT != 0 + && ((w[55] ^ w[56] << 5) & (1 << 6) != 0 + || (w[53] ^ w[55]) & (1 << 6) != 0 + || (w[52] ^ w[56]) & (1 << 1) == 0 + || (w[46] ^ w[48]) & (1 << 1) == 0 + || (w[39] ^ w[43] >> 25) & (1 << 5) != 0 + || (w[38] ^ w[43] >> 30) & (1 << 0) == 0) + { + mask &= !DV_II_51_2_BIT + } + if mask & DV_II_52_0_BIT != 0 + && ((w[59] ^ w[60]) & (1 << 29) != 0 + || (w[40] ^ w[44] >> 25) & (1 << 3) != 0 + || (w[40] ^ w[44] >> 25) & (1 << 4) != 0 + || (w[39] ^ w[44] << 2) & (1 << 30) == 0) + { + mask &= !DV_II_52_0_BIT + } + if mask & DV_II_53_0_BIT != 0 + && ((w[58] ^ w[61]) & (1 << 29) == 0 + || (w[57] ^ w[61] >> 25) & (1 << 4) != 0 + || (w[41] ^ w[45] >> 25) & (1 << 3) != 0 + || (w[41] ^ w[45] >> 25) & (1 << 4) != 0) + { + mask &= !DV_II_53_0_BIT + } + if mask & DV_II_54_0_BIT != 0 + && ((w[58] ^ w[62] >> 25) & (1 << 4) != 0 + || (w[42] ^ w[46] >> 25) & (1 << 3) != 0 + || (w[42] ^ w[46] >> 25) & (1 << 4) != 0) + { + mask &= !DV_II_54_0_BIT + } + if mask & DV_II_55_0_BIT != 0 + && ((w[59] ^ w[63] >> 25) & (1 << 4) != 0 + || (w[57] ^ w[59] >> 25) & (1 << 4) != 0 + || (w[43] ^ w[47] >> 25) & (1 << 3) != 0 + || (w[43] ^ w[47] >> 25) & (1 << 4) != 0) + { + mask &= !DV_II_55_0_BIT + } + if mask & DV_II_56_0_BIT != 0 + && ((w[60] ^ w[64] >> 25) & (1 << 4) != 0 + || (w[44] ^ w[48] >> 25) & (1 << 3) != 0 + || (w[44] ^ w[48] >> 25) & (1 << 4) != 0) + { + mask &= !DV_II_56_0_BIT + } + } + mask +} diff --git a/sha1-checked/tests/data/sha-mbles-1.bin b/sha1-checked/tests/data/sha-mbles-1.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a7c30e97646c66422abe0a9793a5fcb9f1cf8d6 GIT binary patch literal 640 zcmV-`0)PFP1Pug#=of$iAOQbMWqBZJb0BbGa&#bXW*}i8V{dG1X>)0BZXqB^bSHBl zVIXvJVQ?XN#v1Ui%mqai*(XkO2VzSd$NM9gi@4s4S6#Y$o~tpzXG?9DLwKksb1(IU z9Co7S2XeKfeBtWE3%QfQEsSvDN>7bn&F#UnES&M4F|Q;kb)7=w-`g>9pICMy?o}x{ zw%puBpUP8JJ8<}Z-Y}v^>N@tvS)%d_G7WYOwomkV2v5_@v(40lV%ch(Lk1Vh|7Z|qdJ4b`+{(G#SY32i+svyyDTet0$KULm2lmSL^q=mU$6JW%D|e^Qf38QClE(f7mlv~ zf?6!9D$ljvWX^U$+*zeTsr;OEXIA3kJ;xKs!c3Qts%s87r}bYHMJgPkg$>=6V*Q#J ztwKp^sc;DQMsoI!^kM6Wu$eQ~Cban&bezB^{oQOrU&JA3HP91H6)0P)EVqQD_sg{V zQB6zm_9J}o3Z9=6E1CvwZ_$5jLYQ=TSa0@Gua`F!H%LccW0YmW1WR(AfS%&6t}-k`d&K|M|24(A@=9~LXyZ62@LCFZWWu4*+- z@qF?Hqy+oh68uF?LH*fW@4;KF^V3*EX*WC9JhR6N@N literal 0 HcmV?d00001 diff --git a/sha1-checked/tests/data/sha-mbles-2.bin b/sha1-checked/tests/data/sha-mbles-2.bin new file mode 100644 index 0000000000000000000000000000000000000000..fe39178400a7ebeedca8ccfd0f3a64ceecdb9cda GIT binary patch literal 640 zcmV-`0)PFP0}TX!=of$i7y$oJa$#e1X=7n*AX7*|EioWtXm4|6ZY^+fWoBu3AY*TA zY-w|8Z*CzSCv0n`Vc`T0AANRz2VzOx$NMuZi@3tKS6#lxo~tY2XG?vvLwK~yb1&hE z9Cn~42XdtleBt)!3%QqlEsSVVN>80%&F#$#ES%wzF|Q`+b)8aB-`g!spICCA?o~4x zw%p8NpUO|UJ8N@6gS)%SIG7WOEwomNI2v5Vzv(4B$V%d6-Lk1NJ|7<35 zH{~PZC_#JPZ|qLZc|){HUso(1yEyL=_TUS^5YQfwt$3rpWEq#-j*SgEc%LN1Z{g~? ze>Jqn`+{<|#SYrKi+t8qyDTro0$Jmqm2l0eL^r?vU$5iO%D|WsQf3wCClFhC7mlh! zf?6~hD$k|fWX^i|+*!3vsr;U`XIAo7J;x99!c3Das%sP&r}a-TMJfPJg$>D>V*Qxd ztwLGesc;nAMso5p^kMTju$d#)CbadSbezyD{oQVYU&JxoHP8=n6)0a9EVrJ7_sgW; zQB7AI_9JNg3Z9+QE1DMCZ_#5wLYQ#GSa0s(ua;zgv?jGbE1H<-20vSSGfdF3Q1~Xi z#3xk?8Fa}Y{3r>A=<)x+8&TgB=D)@po37@;)T-&7S4sfGk8R3a6*_}KB9oi-l8>0e z*)~2t`F!$ILcb{WYmWCjR(9lt%&7I#-k_#lK|NXQ4(A*o9~L`rZ634rCFZIIu4*m* z@qFS1qy+b468u#`LH*mD@;KFUF3*EN#WC9(5s63Pa literal 0 HcmV?d00001 diff --git a/sha1-checked/tests/data/sha1.blb b/sha1-checked/tests/data/sha1.blb new file mode 100644 index 0000000000000000000000000000000000000000..e8dc49163c0c33f4048bfebb2b28b82707e28483 GIT binary patch literal 234 zcmZQzOH4}ESUJ;&0Z}#( zq~jN)_E=b8L0X6sawIvu#k*Yg~HOzNM]¶ãƒà{ê$,+¶0ThE±C !”«ûR6¾+É¿f^ù«Ÿãj@,¿9×|´<°r \ No newline at end of file diff --git a/sha1-checked/tests/data/shattered-1.pdf b/sha1-checked/tests/data/shattered-1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ba9aaa145ccd24ef760cf31c74d8f7ca1a2e47b0 GIT binary patch literal 422435 zcmeFZbyS@__9%R?;_mKVptwV!xVyW%yIXO0cXxLw#flYocZcE*m-c--dS~YMt-HSa z&z-_!1$}8;A&$?!1Svq@2KbSv&Q_ZCS+>iU}#6c@~iU6+QQmS-bPp7kbw0U zK*G?<_>CdkuL{4ZgT0KQ-6v~H8*3{=D+dBL9v&!r2RlPuOQ_fR*B1bZya*o+J%On` zfq|i}0pZW|neG^pnB6g*y(XuhOCo9G^##aYXgS8H(F-vOIJJ?mRtf%o$ati9;7+|* z!W9IDntK!D&a$oq5@=>kuv?n!Wvyep_0zZhoqQs^YJR)0AVL6dg91Q+ z5COo5Kp==fue|^~01yBeMNkY+zoB7W|F5VYvVxJB~4EfxUW0L6a4rz3RotJ89QoN#+ZXMulVE0 zX1SaB_Eq-1AN9y>K%XZ>)(dp zKz9DFoO<|fJ&=0;!@tu?#EqwJmM#s)uphq+cV)dwLA_HyV8c|~W9_QLYQ>&}a#%Vy z!wYl<*+dh16VGs4dCF@Jr0f;IayOgosBz|Tx0J#5d=1j%&C}(s8oTk`PxG>zQrvY< zut-dsv(l^484--WA5TMi40y!Q#qyUm zwma{F+8IgSYE?LfL^CrKp;_;ph$xj8?MA%GfjZ>|>f)%vEQ3_-S!j1qAXU9D(B??TVOi7ub9j!yl7MaLV|`Nm}Ni8|A6nq!%` zl?ye12A@7ZI4^0+-H#5`J6ArugHOuG-J1p3N2a-KOGe|C7qi^MY%Pqq!cV*(z2psi z2*Pz)a0idx!em{o>c?@myi&VNqy0QWcsUmQzqgwUFS{J>>F{qIL9x2Vk90!e-sI!*XjT7x(K+GJ2$$2 zAgkxPL=-;{j1lEn^eW;OXII6*qV8%}ADyXmPx!cW?Lm@~ZRYXQk2W7{i`dueFrj2; z?RP46@2qTt^=Q_sHD3;jP^q za<}eyw7!B&ykEL7^m(|yI!L=WzB~(gAP1R@rseLXUMx?7J6FbD);n76ZYwIs1!~y0 zs@A@s`>ut5pt3Ky#;#>vjO~X}mHp-4j2qDDqWXRDUB7`<|5@?Tv-*8U|I_4IW#tlc zJ5B4ZhgIg7(cRiw8yfacq zJ%-kuVGM81%Fe4h=kR^iB9Z$LU*tY3Mf*JlZ@K@GKJWQ$I+`Z^J}qENi?g9KwN9Is z$Mc+5VBJj)oX_fhs;UK!IsaxV8Fe;1uENXU0mSk96G)#Y94=(r9`&drh|MR|D~x~B z9l-l|Xw>CQ6~BA&EB~5TKvq{?X&2kwY1TF9%GT}SznEV&A1rho*oDCNylox!(c2jQVnEmm2b#b6mr?%k~vev^^>>`T#uaaeD9j)l=?Tu~pf1 z1RZG?<3Fw&?kJQFWq$1Py4_oZDe`V{Ot|uPGd3C}5A5@G+w|B=|NEuvnfd;4uwmCG z&MZh&B3ng7h_Nj_25{khKxgQ*NB*@Ay@M`>1vf%{f3Qmdb1cr|sP2H4WvfkTP2-bh z-{22#t`iOp#gY;OZ_8%#&H+VR2cT7nDIvRA}! z$Rduy{s`iJU1gH#^cI5x06)w7nNDvdXmeXwh{ygxu*qnFyffKpkKKl`k!%2fwM*?L zWKVbX*?f^aBLF~C(aS7Xu`2@r!0U<`l;wSOXc`Cn(HN*yQnWbq<5{{Xxk=lF>Rd>? z1~rf4Oh}@kVdJoXU-wN7XjLuzBD71FpQ8Uvphai0)eU*t<~NboM_PUdBAn#qS|>*! zV@Fa^t;!#i9?vvGN>1fHC7~dS2qhAjT+A}hy=YtJ!kbsOlMfHj?CNDzD27@5+9iwb zM$KOVDeTCrb=nkz$bBl8bBb3p*VgQ&>Z>^zcZ*fb%Rs|za19Mf2-hxoWXhoonsY6_ zw{$8T-TbQctcWz0Ih1N?!2$dZO(VuT(`QQDz9k|tp4_z?%U@+BxqCPtqgJ`sDJ$wX z@b4DrcGlSUSM6^OH!%v(raJao_Z~i(^N2SvwNjgpE9dTI>8@e7Zz+F_e6pAhopsMR z9BAaI*HttTze#Kt?r@(w*r{L8FB3wI4XEgJpDPzM8B@JXteiGzqtv2#6YG3>mccd^ zaY~!EW|sh2zn`MMnq^u^MC+k?mBmlTUYFXaDY@{J1Y`HTr&2f6eI)KoX&-Ej&2Dj^ z^0#4s=A^uC5uYot9<}SuP9V*GtbAk~6}cfjZ@vs2F4|d4)#^LK)-e~_Oj(j*dDuj& zh&QC>)gs%yPLjC_y-jLqGn{5IYFDg(*(Bp=<=r?+Yt$5+!d_MU;$>ipT7K(Zd4Gyt z&_0%s*CGDhnC{W=z)QL3zGI-$B%_Mo;f+DDWRZXa)LGhnp5Y8PX~#}i&pZMRCY*g4 z{^8p=c}Cr$D^%=ayV^p%czepZtFHFVh9B&-FL+wDtZJ7O2=h33S*tq2i&(q5Q5Q8W zh)o#iZ&{SwT%zUeF)oBB!O4bc`R1{702!1CPL4{l8eE6nDsa65>W>^Dg;YxlPqnI( zXTEFS4BshnAoWF8pidpSR_-o$x3AV7Vq&k>m>%_Nt({;_mU}AF>^utFB7Lbh5EUvc zNPMpKJrHrES~cvt_1GF6rp^6Zi>`H;$B}9he=h=&i$0O;<;#2?xX+}ZDH0rRU}_&b z3GY)Ded^LPQ;!I#!1{D`tGZe4`hAHfIqOK6u|wqswxDbNVImOIz36^)(p+`-c=^lH zKs&hqMPbH$TB*||*lpXM3UGK7-SlKOha62*1%}cgLxgJ{>04mwy!fm~U4Y5rREGb_ z;ns6%6#`!TqP;<0GVI`_x`F#}aW3%6oBi1CuyScwUQrXNOE#8+&wcm>y%{b%4D)WW z;<}fn_sn3Sl4DUkIFhcY@zJ~9KCAhG+H~A$XcH&y(9DfIB2ezOc)s;K0j_@E zl&7$$^nQ55o357H_(=9VHKlZa=FMfTDhVTv7aS$~ngg7(++IF!>CbcPn_QPax}0Xi z9|)ZoKMpzqWZP7qG|P(7Vi(6g{;diBWf^Rx)t6zd(Sczq=gYrD`qcpZY2rHg(q-W% z+S|s38+tgskY@@c#9 zca-MC1Q-iaL&{v?xFjySMB1?n{Ge;TZP{mfj2LfaU(lh z0}3i0P3F##$im894&BNxpK458cZt61o}c5SwRT?|`w|>reRoETTDrC%180qSi<8O9 zYIeCCxz8Sy8a@xL4NoK{03;a%96Kx-x9PASou=vM=H%cKD){U{gSdO>`;lq9@2(Gv zui}S|TwlnFIt1C&dCUU2u1se-gOkeRVNqwi!ju1_x?J&3YTs>wJTke2+d4-NHRjTD zA+F3G;k1R8S#VzgVzcd6?R=A0{?tMb)_JbBTI7%%4ncW?O6*e|*lnpflk%jgdv~b< z6Ae+g(zfxwjePPjL8kYU_))B$Y4dr~G~u=79boSltsH`xPKwx{o}Y)dEZQ@Rn=VePcEhIFE3tR?Jr(kyj+Uh_a*W_W{P>cvNFZIJQO|eDeumwZ=au@ zUc6qSn6bRDX8yDA|6=@KwSY!2uloN-f#CW^W0^d^k0Ac1#Huv0r2RhsQ|v$R-iiFb zO#y;=@2I^$XuSTnW&`0p!sSqm`diRHl?}p8-e6q3nJ?zmUGfBn>id6-0z9f5#uHY@ zOYid+DE`>m2jg)2)bot#-{4<)o#N(L?(x`&&TlAC z#m@WUs!x56a=PR7%e$%iS(tUmb{v2(c zr)?g68*gO?ZT24k;QeL3XTFXdi>Q+dvmEl-REE!m%^{arjd)Qz1DG`{HSLdIu4`Wb zQLg~$51KTOV&~}%tcVmCS;OBMx7_uop5H=4AfvLrEWw4W@Co1&R;#*`q-@;h-2ai8hg%j0p zV}0AFdjWvglmk11?eSS#a3ha7^7u86NM8YjLRu`zPKgI|8c8@mrchVYx9bly22L{W zTKB#m7_t%XO~GF&aX-!PxwV4ZU8JLrne#;C%}#Y7He_|de*^%~%-U72G*j-we=7nn z*1^Mmi_T`cFygFoH|w2pB^eKoUiCpCq;yR7`}}V-ph1eYqz_ETkLYBMe{MVe7(t-7 zQ>+&Q8*il=?IazbE8)cZmQ$~Z`|+Mwra>zVGv`Y$@`^7$FkVQPu!TGJ>WS2AqYFN~yj?N7 zV?mel*InkW)&oUn!?CtqwCkn|H?$Im=LdIHSh}~8p=a=|+st2n%K4*L0JgBOvq+bP zt89?L`>n$*-V5GzG;aF-_uiIKOW*Bp2Bx3NuEVnK;k(o#ph(}vvi`!Qj_sVhI z=k<@jyL@Mx-ok$4Ajs-8&Dnptv-?E)+$8MkWb}QjvSnq;=8CV)yhD1May98$1uIOni+<$Zn9oZ8s>f%cmMHCPnej9pX!3#c|2{r#K<4H z7Q>(I?M>6#??|dPC9?5`pPkb^PSIITgAH@iRzE-vJsquaAKgbS;WVA(LkjVQJz07v z4>&_yzQ{ie&-3uxhM_Nc4Ame0wgr5m#{g6#BU5b9diVeM}@tF3b z`2r`^2E{?P?03Jg_Do(Q>11uilFZK&xHJ1}$xEoSB=RTd*{-H=H){ra(wQ;jLoNDt ziP!FeS3y}mW!fyQ&@!P;uEM8uD0b>~Ew?468h&KiQv<5(4-E_c*Eh)!SLLT;aqS^Nu--#0Z| z@ebG2@m}}Yg3GQ$2k;6p&B^_-6oQWr(*^y_#QVysMtCUWFR~(W;L80h@U6N&)N_!d zGOqxt!L+P39@t$v&2G=wjmoIR`q2QLTC{eC2l!!b$!+%Eo}qK_ti5+^Jmac1tG+9& z+&T%*wv2m}wkd}9zUeE}xu_%q*lz)r#2S zF1{amy3^wc>#o0jd$9fUsG@%(z z#9mxXH65w0z4yvQC$iNKT3rQ4gHWp757qVD}-+ZZ2tM?$_d}-0c}% zMPV()ywn`}gc&tyJZ%?2n4CpvbizDhoHwxy=nBo|%*sP~i z6LX=a4ehhE8NK*&6cTK_!%vd~#@C@BKd#@-p?Ram0WYyh9a5unp>H##a6#i!BS*W& zPs{&IK%wn9BRmcM<|I}5Ru~ci9R(ID!$Sy_w-w&_8FV|8jk7&%H&9FD{VK@&iJv1D zPNa4qOqH;49cBuK=ZNj`MM$l9$8)&9mU&FR3cTFqVzL(?YIRF$6a-*;dx-G3R*u zVt3%t@+;i@BX|M;bi3#}4L*1)6Tbqm5&q}{04VFZx@KkznpKUW&T%u0S&K6E&@B7U z#lcnFJPoo%l*(Xp@z_BPinx zEpKK$t;dXQr-@cXqeS5c?aqJFbh8mksX?R9R& z+bPbUME{sQdA-=V*JeX7@Xb^@ppv>fn8}NNXNkM!I@7$%%jxpY%Kn4m_o@b9%LqH8 zbx^%}n|s`Sl!x`s#?*Z*R=>K1tSJdS{J8y(B7WC_0y`V`&cp;1163!Uyj}tCCG?xG z=u!%vix9p3#K9!S`lIym%78abf^OOyd7Rh4+pRCP3T2`7Tr#Z!WdZBls{80qwBM}% zMgH4D0NX0eWiRhVCA)U{x5yN!L6Y;~Uy%F*`1d;Y58!`O{f`tt6$tc1crA5l^I(=F z4AMVYjYs@=@%fV{gAmi7rGJs3YTSg3=Wmagg4RouGs4K)Nj?RJt46Ta3DFCxa4>w_ z4sh?~(wzDoMf?x=`3xs2^7DQGJ=N-o>Yo)O^`rEi$j!i>*ddv0#G>Hggd7X$$C62q|QU6lCv&l)4ts0|*^jSZqA`|3$qWBbw}u(zX)6ck?Y z3C0uW3KR9Xb5AO82^9ZH`4?s9z7ycuv1dELlnPW@27HwIoWt&+_BAnaI&uWkAoR*W zdN7Ja516LL(C43J{vG7E3xH^|&+_#paWk}`=`{56hzjI>{4CGf^IadB#9pRhm*gpN zzj&b9qTuB3r~yES3F-A8-(qbA8dbT`@LB>8EFDRaBtAr>{XY@^B4CcGZiZL5Tu2~O z)XDN|lOn)LdBMun*fRQx9 zY;4g`LZUBtIo970BDi}?N|_{(CotJ@G8VhHQ7GAi+$a;eI?85@^_ipKUW(|11; z#FewGORjHpfNuwo=f2|7WY)aB60{4lr#@Fat>&9+0u1x;DM z0MY+R@p}aU8X{6+zSJR<=MW7LFbe*1xF8Kx?-aj#pNqH9fE@BJE0%-R&w)bKG@>{@ z?ET-10|23=+1CC&?6*n4xuk+nQKm*!q9IZIq%E$Yw`DHoP*wcHOQiVgPHXV!Cj?Uz^ba^4907J$hlpETLF;*a+g!%cztR6~GA3EEY#?F5gxptb<2h@akW6k8`|`MDCsucb`8= ze$V=UPzW$k;J5pGZ=uB7%|38o01!F^0t@R$ zL?jecG=dL07|d)kHpqnZjHFB?WZBVw-1;Moc)Rrn@#}IR@Y~)*3&zVNVS66YXNkA& zb1%sdT6j6w{KgNPrZQ5MFrMCgS_N%xfPnC5G!7U{PlQvTFk>PqIS5J={z;TUdEBwN z%(5+E=n#^5BNtPvYJPx4_@@q5tF|U+UmRxPp{uD)csU;2=hVL3sMUcFhTs^|x+4;7 zgG=R?c-$HO+AmCzL~fKS>~3WpPTKbF=AHLg&hm|gK{q8H+l#v7);$l5Cpqm@UG1{t z=w6cUX*+JF=invya4)0CicF9N>J%6B3h{he-Rh+Ipo9UJdhDTp%cvd-f4PUDAnima zPEeN@sB>wn(`Ww&<&TY=Z{2KiW;P_P28Goqp-sdlZVzNae4$7dyl~f*wM!GR5bqCk ztkQVP{ZJyb`~+55gG31wD4DS7vlnT*QjstY4lwm_D5*M_&;~5fpx$M2CEy(N64AGX z3RT%<_)n!yL^v;bHqBTnNzPYp>{HFsV5%Y2#|br->{6Ez|5AU+^L&|Lq6C>iheA)H zfNE0-%VBg0)t##HI#r-O4R`bFimk3yb9ECx092+|C}a8f7L2-utComKN@y(0X?`dCT7dkd9+YqMwh`_BV z#Y2rT+oqY3d@7Vy@ioxxHtFh`kC$hRW=7K1V?p$C~(SEZ3ts}*{uYkhEwWRBW8A-b1IHh*p#_k)LRaEU& zihbxVvX0SX$S@(4kE=QLqG8Q&Q&VOPb0#|qwk{K2)w4S+H?DIw$%;+t4UXG5IGl9w zeNMP-aEnS=+BqOd4-FHcK^7YTA?b;k!qy?FT^oR7?C-*Has$Rlcw1Bepw zZFoP#Kk;4h%WPjOyB&A#-pqMkFr600N;Aj%hkwN)l7Vs3y+sc`NN{4rJJ}M@u8%gT zH$VA16%8|?7#*iapoO(V30J%*f*kL1ai?xE+C0@=JWX6eDpTuvupzD{s!`xKgPnil zm}u63=RUJiMxv3+CL3p1FHA`XbBo+L-&m>=#Ubh6Dek?yeRG@R%6U3GN^>?zyVAdP zX2p2k_CfeP6hGX%-Xd*`_@gbP45a|*(H?b~mtne6bkC;Jv*)J8iE*+=Jsac3d+-}Y z0ZJsFm7MQ_l8<;{(L%jujXxg7&yf`|p+2#|2GE}e+ZR@1v`ic5-zQzf$bE=9Oxf-~ zh6c5^Tb~(MtzA5brMxKU_^F?nSg~KuEHq@jaoNWGj*BI{7FsP{s6uw<2i>y0N)pW( z&7<1Kv?a~kZ&R(Q<%G|R>=wh18e^8Gbf;hS=e<3`j|%;aD*KN^)$qPXH<fB%{F;xQXiI10dIwXE$FS5ibyH{n)QAcqTE+}kiMmgwJf}NQ%gope1r{c9q%_(E_ zJVjvAiqZuUuYgiq^}yK(I&3(SRcnQU;^{_`n>bWnDNBw*)fp#}1Wr8`8dBKxOm-7+-%IWw~RCauR66o^&t0-N3=|mH(&^t!_y_60r!w=(4JTzKX5>E=l5C3QOnZjM+B>0vhjP3C8Z)vw?H)J$dv)N$ z9nAL4Ta~gu=s6{H}eLk4)anvQgDHB&-a?xzTVtf1f zS=Wl3@L#CZcakwP@P+w-;tDU^<>)b~)NnbFDNZ}>W;d;>p|hEo>}lvLcDV=s05LAFXVj3XC?65CU;{8kK3EIfm$qaFj|C?jY5;|ZAT3`< zM=vqo9|oEtq*C=?BEXda78x2Baj{ctLQ2OhH`~wa{#w)eIDQ9L3NevkkMyC8r6F^A zNwz*D94}~6KkB^_zzHR*h4;n4DK3jWQT}2bRj3*<0ly9Hj|+~bo`Xn05;p@N zm|}-oMhF&a0kQF98j%Z4js7MCkeOVy)}jO{WfsW)O#T@n5C=`=C@HMd=;T(47dFQ9 zNcsJPwZUj_Sl=*~U%JXC^$-jbomw0Ab(rb)6a7aBR?k-7bNr$zL~-60#fs;{y!YlK zK%h`11Rtoc6|<-E?2a9 zW59iTD@o-$N~f7Y`Z}NaRm^BhcDLo-zw))hhnJrfm)z{MR`BCueQUB8tcf{fHMj>a zQAE8fE8=~eDgKnFigs$!$iU5amoQ!B)$02SDC2(xxR|Y9>tH7KI85aAu!&AgV((qh zFa(mDV*`05)JQEMVoSlMaE(Vvx1SrE#0RPr6&->)Lw*7_>mg!Le}Fdr5gv93syf0J z)4v9i9TEQj?MPl} zpm-9wOrY5%Smj%@n^Jj2#0v$oJk65&W_01lpSlVVVIU#HI^WcEgCjeIc(`E{ zQwO_VJ2xBNh)wUC3CiF&agty(xsbH-xkBOH{mm$3XV#_Iv_wK2z4gNtHQcchL|jqu zZr@GISE`Pxah$Xw}MWEo{I zMpPsRky1DMiU*-TY6P<0`v)P{3SExQLc+Cf9zXEpbWgj4cTsOiX;rOtRPZZ5i6g|p5Arg=e)fOYka&1%{{acH{5!= z?y)6#sb#*|8NB-f3W}wr(D%w()7tEB0hEd&o1Xsw{3@rb>DjXeqiD#N-pD>Z#N_v- zE+JpGKQSp%<%mL-1?cJ@wKU&R-s()9WC(D1$T{i_v&E1R43m`JCFhnP+7v5AQz}_{ z<~JwIH6ciO56q%U*tzdElf(rDKrqKuTc`%fk>phm6KaP+l=HGt;`EJvW~4f_5;++< zcxOib!cl=XyfH3-$H{ln7^;HcSr^D|oKTiXvmEHX4yp{*DA2x(#7}1NmC`kafK0># z8C`{!Z^M?D@*+g-Xf-UkMTkO7N7u!rpzCV=OX0Vk4|Y4ok)XQS5X6E3h5`A$m;8EP zVjSBJpjlr5usI(d^PFgMmSFu9O0(0ij*0idcM-)$LX;fC7ZQ5CM${4?y?IA-D(!C%0M$Ea_ zo0*ah7i!vX)2UJplrgr&+f%1B#1O$t9=^FD51BP7g{jtf;2YTc3(Ar+lC4A0fyTrr zGJiW}?#nr*^7~mtO*^& z`>^4Vnyn?Wo~lPhxjnT(P~2^_(z4-~+)ycu`TagkxRd$J{V6W0RE1|b+wqbdam-7N z#2EtX;RmsTUDt6A8B0h_Yl12akU1s1W0u*P{^=ueHDpm!>i4#V0NTg1#0T-`nyw^A z-c|1+sk^9Mn!$|ukB3FrUwNnx-nYWWDQxrMq@con+q)<~sPl9`r50(m*t3rFyje09 z?18y7QeY>{?67craWuK@?>O_;`;K6d8bkzX@Fnt{GF|D`ks}Q0X)JFXYzKQ(Lti|+ zf|Ol9b{$Ubfb(RnU0RJcSruk;-YSeT zNyJlI$;;(4$D1|iZQ54!Sc*?KhSBC3jORDL!Xn<4>uaNin{U=ccqq{qZp*;UPOQYw zo6B8JUY6a!s04tR!N&H-3mN!Pun6KXMpZ1thq<4e%K1S##s+^*liS(BG?Y9aaG(XJR6!rt% z>nCD56}-$J-^lTnO0eF*CpJXiCZj9RKR$kM#+%omcydOnfy=Y?}`3>WcaY{WFT!2%?8j=gN!F;5xtyBW9!b>#huY=KxKjCL4 zir>cZx$+U^*t|5Q^czeRJv&&kmOAH8-U({f<5rcGu<7yaz(S56p4Bv1%GDBTc|QUQ za={K^R&2yhi8U_7NA%7xI|Vk@=goZm{zZ6g4@L6Vk8{5#~iD@RpVDbr+W*e=#e~)GOK&=n3=8m z>Shk(;bBe^_@cC^N-<2)4^})K>!jxt#)DI`epbXH>x;47ND)JjBU_QGJD-#yLAP4N z9Yax9TQ#GvH?OA;@GJKUiL}q2N!~*D8R#`F>l(V7{uj;ZSAgqF2InSka?QGPI?jxk zsvo9DtsU%UvbYE(HK|me!KT@c^n0;D#cp7{B}#*F*cq`*b+C%29GT_Do5-p6jVnXy zZi-FF!yA^srKw*%W6jpXon8UE`KJkaYgo4(x2djfPHP^{F3-oI)qDm9>R;q0POfp0 zF%g2MZLcqTP(Rduwu7fT@k@)rNvu4f0J$Ln{$wcfWoG@8REYQhsOnN;X(I88!zgi` zJxuKqjD;Rus3f%=cONXvnnmLw>21UO;=vOMnTdAfm&RGPtw4s{E&I|P4S;b(95U=X z>nqbW#Hap8H%EiOJut#RSMq4hV!x97S}Ek?r1VgKD=U}%0s{oap>F-=2)>o*mhvf_ zrXH%NmKrWz!&aSDQG=;LMKC?jZ@e5+PIj`=w~=n4gKXmBm2n0I_=ZFmV1;KS;d-oT zxWl+Vh6-u;I#&`?*kVdXG!o*QBqj9EAWqU1Rbx z!?r4w#JaTA!DQ$iEESbDm~9-cqaNx%nu)R3*C9;^Z^lZH;PtcXJ0P=)IZaTdiz~`t zl~tAON4Yl1a!rngm(8EN(0d+sCb$!~n(j8*&~pm0%%mffp>tYyF7>DhB2tPh^;S;W zY&eUX{T}$kBEP|`0Cu!!i=7_ktxCDT5OMV#IZBG$FiP3*kIkb^{FZh@;iApGL&2@zi2{UuKXrB8LPBJ#ZvO>!L!(quCwX%U+x zL5GF_N(h!Li*f;nCH6zv@9b4-X{@84<&16#L;c9exf_>o+emU$2amVK1ZkeT=?^SO zi7L;l%ePpLhjHwC6Z3Rl0jvorVG{F7@8IqG+au7h*A!VeH%YWrh7hG-6z#_CQ(Z>O z{q?YvQ5hXov6)9RG|VmuOHISxPl_@jKUi@^$pLFg<1mc5q^|E;%WATvv`{FY1zo>DvT#y>`Uhu?Fp)0xg(NV*q!pGh{35N@|2Igq@YrEbZZX`^1!k1`SA`` z%rpb+r4uLD09nsv6oXIkZk91TEI#P)Q1gY7NF^CC=0>dRO&`yG0VY#x1gtd zOdkqNYoh^)LHAg4YC)+U5uTXTK%{R3FFi-Em`BgW#k+(;~4N?d~hS~_@5 z8hV?(Zf5Sb+;ReCVkG5zscm}paHx=-g=9xdeiz$jY~XLk+H|D0W4#4<&*gdW6n{v5 z;DR%dQQ$x!qb}lwH{H?55mUrm9QETD7*khCt)$Me53wgqtPj1#_pr2v3+0vUVbe)o z>)z9?``A}A)rXc+H}6pPBk^N3B7Sk3FcBCnLvUDgE7ZE)18rGrbvJ*QvSn>$X~ykP z%S9wt+)S;-_q--e75J;g9alm#kEOFlPEtc0j5eQIWA)hY*n;q5FMGO?+%#|@I2}3q zps5R@Y$aa}`M^qjToG)Qve6)@vvamEZruW_D!Ns1%!z?h+&>`NyR>8vNB83ywWP(A z=&2QdrECUT=N!+b+y#xGPP1dGwrprjZxNx)6%I;xF_M_|X(x-T`?3?>e+)>GYpD}a z7SQuWuXbSNL-iRE3k{U$_-VqTps*+t5(h5rA{v5oy7HQw?gXj>i(5OhrInSO_O0RJ&a41DyK{ z7R?nylt%#k9rhjN*OHc+>O}jSCAS^MS<2_qtwC`w#kbeG6~*C2230C0J)G+Bx2O$P zKpK2TaBn-8`mzL?)1eDP^b9@20tqE( z65Zgy;ZU#Nh<@XdFIMqL4`nJnK(F4G5Kx&=JhM4)RH^%f$U3rebH*1{7{>{m2GG6v2f9fhyN>-g12cX964vUR9;r(C?xF1OCNcH8q%p>W{E71wCk#EnA)jEsMVZ&) zV#SbAP_0X@Cs=h~y0S18ZKHySlj(4wd@Dd2-2A$!k493sLAqK;cAH&vfTSgEY3q+VA>0N=G*RiS5c6N z2PV-@>$A`)OL@c`jSRyujpmR@{D>Irs@yq~LQev?sq{Av2Zse2bh8bbX$6SV$;8lW zMo`1$m)sHF<^=f8rCF3Qcaycp?X2R!S3q$W#n!jsO*v^hiQt8=vL!KgV4CoO2fd|Q z6#jc~>UE#&d@B+Z;%#AMqjh%TZDo3UBDC%8eh?b=+wy@lL8$mYW& zV)PJJmQA=Wtdk1E4+q)@JuD)q&zxZKGSs}ysO@1aFp~O*B01UZ0`I{QRszPn%g*6jeNb>pLWb(zo*bqn8>6(x{J5A@Boe<)75eSuFp-<;gp z>a@d*1L+3{C}@O>ep>usu=@9Rd`XeV><^=8&!2STg7p@oF@s6D33lZgpDRsB1VU7r zU5Z(<>ewzmtQD_lb)usNw=)#xS$#kuHX=n!EvDjyJ+wxoaWSQsR7OYj+IZ)cWpF6m zOrrO87N}?{kdBhAYr(D03lL9%J%fG-JN(oPcV^qX|HU_ielariM{DPK?CRNdeq+z9 z;eh@JHna{U$zJ*ayW%xyUSk*rLV?p+Rs|9hUH0B=r(xXNxgu)`q<7(YCLyBiHauU% zEj~ZTK5vC?-gtrkI>)2+KE+ZaNYIjRbH>uex}s~p7q9dWEep{gM;xGpWX z)?Bv9=YazZW%z+Q&ZzzlIarr(;#lu&J|n9<{GjD|a*Z4M!cwirP6DK-hlK%*SgnuH zZDD08M08PF(|7ZYXItGOoQ{ra>qN9`u+{m;;l9lh2(+DB<%rbb7%F9N*PQ6fCr!ng zzL^XSrxF9J5>Pq2BZz~MLfYv#ez|`_R#W;gKzLnaAFFbhUdV)4)=$75#>J;vXm&{xlG4#xt)8NA30@}7-6F!?fQE@rOzsuv+c_=n za^VRMi5q=#@F+9d*tEoC_w{${k)5EIIk1L?ZI5r>27Q^Bu&sg3s55!4bJ}P6G}Qb8 zuzdpj{m~8Y+qDWCL;w&7Fv!~vC_%u$!+?W>0RaR3{KX`2L?i$*Aqo*a9|S5oF@vm< zZov!!8VkRio~Ga3pfOHNZryM=l6nn`N%XgbaGvvgyA}SN%gQGoSz*{NEI;nyh zpjtflJl3<0EAEpt@4yU8L^JOY1&cnEbUGpjo=<7?GkI#P9ORZzAu%lFzY9_7YirFl z9wea`iB!$5gA5!UrOBGALKaO$cI4kW9PSW-H|n^vdxrid%d4=EE8)%ck}iNl$xQFa~}* z&K8J4T~t|=&tP9hS<4$ksnqo(t%^Q2hUSRI4I1X}hv&5=;-6Vjrw#}tW?Dyz4hWe} zm&^stoh)dy9!xJ5$j5(udq=eV0?VEwA(;Wsx>GoCDzD%R@NTMcqF{1q?j!4plq1%3 znL0AfU!b>xC z(_KiwepI+DdeuG^Yej}g@(E9wqk8?q`K|k%{E@GQ{W2h7A?!Z8OroR zND)(vQ{nVMLvX}2CF92QdV67ngfD4IjE2%O*|N}Dq!p9dlAmNMByAij>Skz2eF);l zfR{#7Y6KcJ?O+_~Em$J)fDYZ>9x&)W!W)50`JF)Ox>Xdf1cd;<}p(9*1uHu9Gyna)GguDHWTCx&M`oX7N1 zFM8=`V+FE0Nne)iw|7r;`eJC7Tb*qe$wiUB7qgRRxZRX06fHBGBJWUgv*Zvn0gcL{ z3<4z|hgQ8?!iA~l<`3ypW>y!6F;QTfSSt}QDp6MI&F7?$y(?$a5G}5WKuu5kA$ton z5Fx06WD1Fm5CmJj0xI%l?Y>$!2Y!{{;Dx5rg1yNK}TDnc8tAi!vqR)_v+J%vubjYttQVx~X;x4-=1y`WnR2NffuT zujrYOM@R?L5v7`NX>k-iGr!?i&P?4f(Y>tXpUhugmo&XBRJ^EV9P7b1Q?H%!?>t4Y zn&YojXus0%jd|hihp#LkjJcp<9`V5vw&UPrw8rq?;eR=XfH+-+#p0!o0 zf3{n0H|?yzpuOZYKcUS)iQt03V{XahJD&Hm5k^oOMGd#ud@1ri_RBNfLPf+9&8bh~ zIBCJ%PfCi6Tm94JxJ`CbX5=N+5!CifsOUUmr?xvG;Hn@(21FfjK2=}>gQ$=QpJf7K zP*K@(bI%0@j|8Qn^j-l29(+yK;;|u;NsCSf{Xfa&F>pa3Shr#jJn*3H;mcM z&^{~=2i9A%%Vow)@>PEuFm-*eL|9kwzbJdFsJ6cFTa*g4P^7q12v&j>cMl$dB*CFA zRxH73u?p@GJU9UY1b3%`YjF!u+@*L6ZGVUR^1tUi+;Q(+4|}Zrw)Yro?=`=<=A2)_ zc05=ULEmSVZav#1{=?XZPVjydFn3v&V?a{n#!Hk{HI-ulvhSUKXA8iV<*C|5P4rFo z>b6yfG*|A3f&f(p`)<7-cU7EP)~7s5mcKUQ zVJf(&5R?Iaj&CXFn0{BaK!$tA-m93{t-WoW^%1Z$w9fQv&c&k6=CZhJ+_F-&mEC#p zeDiS1IrtfI#9D}Zl#2AOKP7)F`^f^_M6#i3pY=#1!7_hHo6>4qc4CvNKpUj)$uj#i z$}DlVXjII=orcYB`E}otLbYXJj}Ge(uZetJ>_a9i-;(?6t-7!0h~&-U>n53_ThZ(U z+q%6b@pJliF4Hl{sZ9KXu6Oq-Alj3=;4pmdPW|WODC%GB0RmL zzfTw*iA>R2qK4>>lDNXkn306+oFy#de$rnwVxfgy_qKC@9lmxc3y#Czc)rAJ8LGeB zSp4-FaeF@ruCo~%dHImUi%BO)`xJa_Xbxv{+>ZVeL1X$#>uq=_;?q)R(%iCPp|3NiP2%uu`dP*Ceb~jXX7kd zt@>mgn`t~l{ngO2sk>^>*g0uqQn<91FF{M(Df&VX0c{TZLR8GS!}8ow{R>w7RFg{F z#5DQ~^FVZHq-v>ZX>@c7nMAu;4bB&a}ja2T|i0j&*%^d(ka9wZMYT2S#y{5>M^&{E&raLe$P=_-6$&O+| zlW2kqgw|n5FNwt$H{*;7Q5okbc!`?i_bq>BgKf;Emp$)5E6@BLb?>U(Ey)?9fNSAc zO6kWMS-$m;e~}1`OSw}^ll?)geU#=RxUhXe|McUc-%8)hDz!YXRQX}O$pg0C1tFon9bqwG2Wy)l>4R+dmz>6=t9Lk_>#=_rO-9T%-$JOuNRngyj9 zB>5FyR-31wQ9gQtU^Ba@vR0^2@|8R}%6c|;xRUza zWp>7>h#RY1Q@i%=w_Wbpw`iZ^$mY$wdxeWbnA=yad$4m>SDMgdF-5*X!1nE~?sNh> zlJY%s;nbmx4|T(w>)!`h34LHuU~_ReD$_)OMhImA<`~ocx^x0Rr(E0;&}2s7D$!#1rU+_?qB@1czqlZm zO4s5@tW-aNa`*;mLp{MmFh)_b`_RS~!_e zqRs6ICUQDu4r8CWNAn|^G=@AWMh}B((kY$i3H&;A+i+xhrLYB1sCTQmrK|jQE-a=| zB7Pv$td)UioBG5^*32xf`hZrI3d8|}Esi*qoIEj%z&}F!Zxx6iKt8riRm#Ak$t5=& zqIrmbm{(dDRovZ2m9{d4px_q#e8nn!ZuL0^Ihd{LXV)0fFh|_P^myh;*jItnYgW+v zJcwobzMfQj?v0S+UMqz_Ghy}p7yjH^U2Q_Xte!t2|0Ccn`7-SqW^Mby#AAc-k?}(b z14242KX9sK)F@?<=%I`Aas(qsPyR$9h;kB@fmL;iQxqH*{d7Iy^*w%mEBL~wK(DW=xcx58#R1feIT0$gIji zfeBXkZ)m+}7dCZ$&+VfHBQ7T+2cn;ruWN0=QAFg@37SqdW*osS=6H*g`Z64wn6Fp- zpEGi^&;JobH7s~I8E`{V97llOQd#HIHmuD;r6r?)Za6=L4MT+@pG+*# z{A9h`SjZDOEYn>bx?$briOiq6N%tT_=tII zdN&<-MKqoQ7%gSKl%VBAImv-R*O)gst| zSPV!9#(0;Iqgrlg#;c{Km`(u+?=OlCg+^lpzgkvUUkeO%^vJ+1>q7nE-{?4? z>yJV!>sIy!+}A+&%!feH9 zGY*i7=fRLBu%zn1w5zUAB?D$!(EMRISo}lqy7(@|4VtuJDRMJMqq{QWk_r*mqRbG) zqu>y(FXsy9qH#y8o3Ir@40%;4J9Myr-ex|6FpoK$aSDlX#eIFW`G3_D`p3Ryf8{A= z1LB&_9j5Zh8&*rD@xeR`pLjq#52Ja2*)-a;v`X=-Uk~16HU9GTKljvzHHgb&?&D5h z7K6Vmd@rDkz&lbG#D^}{hSB>78`jd|+8^}$LA)$lecsS+I_u=cnjtoS9Zc3b7(b_m zt$&tHmPws-n&~6=&?xP__iJ6 zi3bPE-DQ++qZmB2A7f>q?*jw2Eg=dPwhGi~}kq$`Dk zllvHtO(={>{$>t@iY=Q4Ak)cZR+qgJEh&sxnH1ytZqe#s(B@ zd{y}WS%@6|fSZ)3r+$YAUWW;_8nRm##V@5ZM$iAzu$3HEIVJF|6-g!$bdkm9v-Yei z=@s=jyo#f0QyU(kya|pXlmI1S+kSJ9;DADY)sP<;3gSOSZ~sQUymXkXJ$Q^&Po}($ zn{>%lODZy>8Ud6Mvzyrj&B0OR44mSMh(|u+;*-b{$1qy7<<3IZyA8Yiq=# zVKEmmHCtl*y!PMXX9JG4%zgG@gaal5SBI9_8}!S@@c|MfN z4tLr?`uBQWvwgpNtJ!_}Wj(30pqI%114HdmVR}J)My9b`t;CAwt_AcE)hZyM%F+{3 znUP0iSnh%CNn9t%452df9;Y;>bHm-^kDaVbEt}ZE;0#RCgG~H% zo0p|@rJQBM-WeB)rL=v>JA&AUx`dho@eRJN;W3!%9up;v)y?&*`X5X+Z+N_ox@FZp zv-_OibK>53GQau{8rB$b+_(I<-uC8iL=I98(sf$sTDQ=)mmW;k1az?9rc{TY^URT% z4ILqijlJZzhdjn<_Yk4m8ZQ5~r6qqHzrW<9MEbKTDhOo(_+MxfkFl2ftgx1^}m|{N~HGxj~ zVV>Xd*#F5!Fz!={AxViz?ZSi0#kTi-VgC`}8*whAoMcuRQiLG?hT#aVF0(%-60t z+i77psMcHd(P|RnhUQow=$QBQE=Xhxf5Equ3!6|1{{A1qaPuy-RlW@KfiUksf^_FV zn~3|QYFwf*RN^+`-#K|0iKdekWvJqv^4R2T+~(+h-Qud=8={(MgAj*#twV3tHx7OE z@1?QyvRk{nRd}&{9{d&86#4l&Uh*>#5itv@P-!t*iBOb~ISb=?^;v+`1EV#xf<-Zn zG$ytb#Y`j$kN$sqFjwH0w!UXpw(g@<&^I;WzY~AU8{0p?8ND^vl`?#wb^NPDUt>90 z54Bc9^(I-0R`A;`txbS@;9}0RJmI|BvM;1yJ6%D2gZ^PcBwkGMM_jx3~}&keWy+Dd+{a(T6ym! zV(L_Kf$1kLp6p=a=oZI?4v$mIm}=M)roU&$RZ5M_ym<1O8%sN7O)yq}-44KDfOo?o zI@{3DpH|+nYm66W3#$fZp|mWWMKwb@*Z|00JC#4Fvfg*$Fp8ZkPThhvp8Tl8ql3s& zG3R7^u{;YK%5?`t#G#3zH~e7Zf3~v!H-gKS&LyX;F(-0jFV) zqoG6(e3nIabal*(;ip2==c^(H&$C3P@o|lbq7#^(T%NkI1^0jH6=sX74=*YdY;JM> zqP7UoY>>|``f%UH&G9NCIVE9L4-q{(;!Nlhv3Hsk11am(WO71{4;$G!Ip`vy-DwO> zPpWj+x-2EXM(+qoee%{)W#qy(SunGB*JL zcy(|S+Zce~jBgz+(RqVb>QjxKd?4-uz-&|co z#?v%O>CTc;$AjSeo^rt*>b_svXC?49Q=I(Y8UsAV{Uso>X~=waHy=nw>v>db;v%7m z=b*g=U&o9E{OZ-R?-8UP+Ppf;pqcq`ysRVcz#SJd;ccgA<*d6D< z2=UbKTblcq;a+F4aW&-!Zgzjipi1=5Y#9*!$ZXk`y;^eqh*b`h z&J<{R{<>>ABWd0l>_nQxtY7n!Gfs8^>!`d+^%Uogxuw-9R*ZtA8{>wZX=NX917IcT zJd2L+K}KQ#7!m#+FROc4Q)spbZ85y8aVXHa65#3|rf3^5a8}6Hl+D&~8uHOBq*6Ng z075LedM}E^X1VL=d&FA>A-RCTz)!s055XgwlPk^`GO2%csv6JNHcaZQpJcvX9!c{# zaI=IsZ;tb_k4;9aFaC~eCGn5s4S!9p);I3c!ZF?od~qw9;Q)JM@m@YWD=1=-OETAf zT+L~Ak4=

      # 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 z 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 z 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

    { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { + f.write_str(P::NAME)?; + f.write_str("Core { .. }") + } +} diff --git a/gost94/src/lib.rs b/gost94/src/lib.rs index 7754c3c49..8427b2c55 100644 --- a/gost94/src/lib.rs +++ b/gost94/src/lib.rs @@ -1,22 +1,21 @@ //! An implementation of the [GOST R 34.11-94][1] cryptographic hash algorithm. //! //! # Usage -//! //! ```rust -//! use gost94::{Gost94Test, Digest}; +//! use gost94::{Gost94CryptoPro, Digest}; //! use hex_literal::hex; //! -//! // create a Gost94 hasher instance with test S-box -//! let mut hasher = Gost94Test::new(); +//! // create Gost94 hasher instance with CryptoPro params +//! let mut hasher = Gost94CryptoPro::new(); //! //! // process input message -//! hasher.update(b"hello world"); +//! hasher.update("The quick brown fox jumps over the lazy dog"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); //! assert_eq!(result[..], hex!(" -//! 1bb6ce69d2e895a78489c87a0712a2f40258d1fae3a4666c23f8f487bef0e22a +//! 9004294a361a508c586fe53d1f1b02746765e71b765472786e4770d565830a76 //! ")); //! ``` //! @@ -27,25 +26,28 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/gost94/0.10.0" )] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] extern crate std; -#[macro_use] -mod macros; +use digest::core_api::CoreWrapper; -mod cryptopro; -mod gost94; -mod s2015; -mod test_param; +mod gost94_core; +/// GOST94 parameters. +pub mod params; pub use digest::{self, Digest}; -pub use crate::cryptopro::Gost94CryptoPro; -pub use crate::gost94::Gost94; -pub use crate::s2015::Gost94s2015; -pub use crate::test_param::Gost94Test; +pub use gost94_core::Gost94Core; + +/// GOST94 hash function with CryptoPro parameters. +pub type Gost94CryptoPro = CoreWrapper>; +/// GOST94 hash function with S-box defined in GOST R 34.12-2015. +pub type Gost94s2015 = CoreWrapper>; +/// GOST94 hash function with test parameters. +pub type Gost94Test = CoreWrapper>; diff --git a/gost94/src/macros.rs b/gost94/src/macros.rs deleted file mode 100644 index cd78628e7..000000000 --- a/gost94/src/macros.rs +++ /dev/null @@ -1,48 +0,0 @@ -macro_rules! gost94_impl { - ($state:ident, $sbox:expr) => { - use digest::{consts::U32, BlockInput, FixedOutputDirty, Reset, Update}; - use $crate::gost94::{Block, Gost94, SBox}; - - /// GOST94 state - #[derive(Clone)] - pub struct $state { - sh: Gost94, - } - - impl Default for $state { - fn default() -> Self { - $state { - sh: Gost94::new($sbox, Block::default()), - } - } - } - - impl BlockInput for $state { - type BlockSize = U32; - } - - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - self.sh.update(input); - } - } - - impl FixedOutputDirty for $state { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.sh.finalize_into_dirty(out) - } - } - - impl Reset for $state { - fn reset(&mut self) { - self.sh.reset() - } - } - - opaque_debug::implement!($state); - digest::impl_write!($state); - }; -} diff --git a/gost94/src/params.rs b/gost94/src/params.rs new file mode 100644 index 000000000..c7bf9459a --- /dev/null +++ b/gost94/src/params.rs @@ -0,0 +1,70 @@ +pub(crate) type Block = [u8; 32]; +pub(crate) type SBox = [[u8; 16]; 8]; + +/// Trait for storing parameter constants. +// TODO: replace with const generics +pub trait Gost94Params { + /// S-box value. + const S_BOX: SBox; + /// Initialization vector value. + const H0: Block; + /// Algorithm name + const NAME: &'static str; +} + +/// CryptoPro parameters. +#[derive(Copy, Clone, Default)] +pub struct CryptoProParam; + +impl Gost94Params for CryptoProParam { + const S_BOX: SBox = [ + [10, 4, 5, 6, 8, 1, 3, 7, 13, 12, 14, 0, 9, 2, 11, 15], + [5, 15, 4, 0, 2, 13, 11, 9, 1, 7, 6, 3, 12, 14, 10, 8], + [7, 15, 12, 14, 9, 4, 1, 0, 3, 11, 5, 2, 6, 10, 8, 13], + [4, 10, 7, 12, 0, 15, 2, 8, 14, 1, 6, 5, 13, 11, 9, 3], + [7, 6, 4, 11, 9, 12, 2, 10, 1, 8, 0, 14, 15, 13, 3, 5], + [7, 6, 2, 4, 13, 9, 15, 0, 10, 1, 5, 11, 8, 14, 12, 3], + [13, 14, 4, 1, 7, 0, 5, 10, 3, 12, 8, 15, 6, 2, 9, 11], + [1, 3, 10, 9, 5, 11, 4, 15, 8, 6, 7, 14, 13, 0, 2, 12], + ]; + const H0: Block = [0; 32]; + const NAME: &'static str = "Gost94CryptoPro"; +} + +/// S-Box defined in GOST R 34.12-2015. +#[derive(Copy, Clone, Default)] +pub struct S2015Param; + +impl Gost94Params for S2015Param { + const S_BOX: SBox = [ + [12, 4, 6, 2, 10, 5, 11, 9, 14, 8, 13, 7, 0, 3, 15, 1], + [6, 8, 2, 3, 9, 10, 5, 12, 1, 14, 4, 7, 11, 13, 0, 15], + [11, 3, 5, 8, 2, 15, 10, 13, 14, 1, 7, 4, 12, 9, 6, 0], + [12, 8, 2, 1, 13, 4, 15, 6, 7, 0, 10, 5, 3, 14, 9, 11], + [7, 15, 5, 10, 8, 1, 6, 13, 0, 9, 3, 14, 11, 4, 2, 12], + [5, 13, 15, 6, 9, 2, 12, 10, 11, 7, 8, 1, 4, 3, 14, 0], + [8, 14, 2, 5, 6, 9, 1, 12, 15, 4, 11, 0, 13, 10, 3, 7], + [1, 7, 14, 13, 0, 5, 8, 3, 4, 15, 10, 6, 9, 12, 11, 2], + ]; + const H0: Block = [0; 32]; + const NAME: &'static str = "Gost94s2015"; +} + +/// Test parameters. +#[derive(Copy, Clone, Default)] +pub struct TestParam; + +impl Gost94Params for TestParam { + const S_BOX: SBox = [ + [4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3], + [14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9], + [5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11], + [7, 13, 10, 1, 0, 8, 9, 15, 14, 4, 6, 12, 11, 2, 5, 3], + [6, 12, 7, 1, 5, 15, 13, 8, 4, 10, 9, 14, 0, 3, 11, 2], + [4, 11, 10, 0, 7, 2, 1, 13, 3, 6, 8, 5, 9, 12, 15, 14], + [13, 11, 4, 1, 3, 15, 5, 9, 0, 10, 14, 7, 6, 8, 2, 12], + [1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12], + ]; + const H0: Block = [0; 32]; + const NAME: &'static str = "Gost94Test"; +} diff --git a/gost94/src/s2015.rs b/gost94/src/s2015.rs deleted file mode 100644 index ac01a5c29..000000000 --- a/gost94/src/s2015.rs +++ /dev/null @@ -1,12 +0,0 @@ -const S2015: SBox = [ - [12, 4, 6, 2, 10, 5, 11, 9, 14, 8, 13, 7, 0, 3, 15, 1], - [6, 8, 2, 3, 9, 10, 5, 12, 1, 14, 4, 7, 11, 13, 0, 15], - [11, 3, 5, 8, 2, 15, 10, 13, 14, 1, 7, 4, 12, 9, 6, 0], - [12, 8, 2, 1, 13, 4, 15, 6, 7, 0, 10, 5, 3, 14, 9, 11], - [7, 15, 5, 10, 8, 1, 6, 13, 0, 9, 3, 14, 11, 4, 2, 12], - [5, 13, 15, 6, 9, 2, 12, 10, 11, 7, 8, 1, 4, 3, 14, 0], - [8, 14, 2, 5, 6, 9, 1, 12, 15, 4, 11, 0, 13, 10, 3, 7], - [1, 7, 14, 13, 0, 5, 8, 3, 4, 15, 10, 6, 9, 12, 11, 2], -]; - -gost94_impl!(Gost94s2015, S2015); diff --git a/gost94/src/test_param.rs b/gost94/src/test_param.rs deleted file mode 100644 index f1b202f6e..000000000 --- a/gost94/src/test_param.rs +++ /dev/null @@ -1,12 +0,0 @@ -const S_TEST: SBox = [ - [4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3], - [14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9], - [5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11], - [7, 13, 10, 1, 0, 8, 9, 15, 14, 4, 6, 12, 11, 2, 5, 3], - [6, 12, 7, 1, 5, 15, 13, 8, 4, 10, 9, 14, 0, 3, 11, 2], - [4, 11, 10, 0, 7, 2, 1, 13, 3, 6, 8, 5, 9, 12, 15, 14], - [13, 11, 4, 1, 3, 15, 5, 9, 0, 10, 14, 7, 6, 8, 2, 12], - [1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12], -]; - -gost94_impl!(Gost94Test, S_TEST); diff --git a/gost94/tests/data/cryptopro.blb b/gost94/tests/data/cryptopro.blb index 8ff577b113fadbfef769831daaa30a841b94828a..ace31477a6dc60621a000071b6d07c20808dcdda 100644 GIT binary patch delta 168 zcmey&@{Wa>fx%%SrvfumqQgWT1y;7iq-2MQfeHdLxv9m)iRq~dDVgc1#U&0C8x@!u z876KloOpm=$w9{Jc%s|H-CxvyDT^s)zxc>I>Fr>+GgC!+D z-C=S8qXHv{tIg;zc`uOdF!>&s{0}5kCMz%*DLNc3=84&J>iop0LzB|;6<_T2`yOm~ Q(;+TiD)Ek?!Lk5B04#1jZ2$lO delta 146 zcmaFI@|i^^DJMTEsnU=^VTN41&0?Mwk@jZ(mfy~H!fON>!)DJBj_^9ttn70w>;Pk; z!bCL%R_4T{WQB>|3Icq&sl~;K>8T1Sndzy;B?=R(6&M>PF07fjfrU|FvK*rVqxNKb mMr|NF8_L#TNzPAKn7jkXRhWDeO#T9rMw6wPjDRA3ObP(qxGYcr diff --git a/gost94/tests/data/cryptopro_one_million_a.bin b/gost94/tests/data/cryptopro_one_million_a.bin deleted file mode 100644 index e69abf93d..000000000 --- a/gost94/tests/data/cryptopro_one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -†“(z¦/”x÷Ë1.À†klNJAèôÿÍ'ÝUO \ No newline at end of file diff --git a/gost94/tests/data/test.blb b/gost94/tests/data/test.blb index 12fcc2b563b2cde38c965081b38921e8c48bd724..94f08fe9ac11afac38e241071e8e9d99d5d08a32 100644 GIT binary patch delta 168 zcmey&@{Wa>fx%%SrvfumqQgWT1y;7iq-2MQfeHdLxv9m)iRq~dDVgc1#U&0C8x@!u z876KloOpm=$su_0;TlwN&xbc#($rBkhSW@!S z9VQnrDlme$+Kdj9_X61tlkb7a|3ETjvI3KlqJz8CuJC1C<-As9!fd7of4}nk==)T@ PV#~VlyPeiaUxPRR0*pEr delta 146 zcmaFI@|i^^DJMTEsnU=^;auy^IY-ii{{MR%vwBuFQ^o2nhc2(output); +fn gost94_test_rand() { + let mut h = Gost94Test::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("fdd1b9f220898c117f82d664716795e12f5e9f458ee8cd71d014329438db5089")[..] + ); } #[test] -fn gost94_cryptopro_1million_a() { - let output = include_bytes!("data/cryptopro_one_million_a.bin"); - one_million_a::(output); +fn gost94_cryptopro_rand() { + let mut h = Gost94CryptoPro::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("1d539ea8a318df8c13d304fcfd9beeec188bb48683d9d7f4c4a3750cff6ef22a")[..] + ); } /// Test vectors from: /// https://github.com/gost-engine/engine/blob/master/test/01-digest.t #[test] fn gost_engine_tests() { - use digest::Digest; - use hex_literal::hex; - - let mut h = gost94::Gost94CryptoPro::new(); + let mut h = Gost94CryptoPro::new(); for _ in 0..128 { h.update(b"12345670"); } @@ -70,9 +77,7 @@ fn gost_engine_tests() { #[test] fn arithmetic_overflow_regression() { - use digest::Digest; - - let mut h = gost94::Gost94Test::default(); + let mut h = Gost94Test::default(); h.update(&include_bytes!("data/arithmetic_overflow.bin")[..]); h.finalize().as_slice(); } diff --git a/groestl/CHANGELOG.md b/groestl/CHANGELOG.md index 08c48c032..4a1a089c8 100644 --- a/groestl/CHANGELOG.md +++ b/groestl/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 and significantly improve performance ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/groestl/Cargo.toml b/groestl/Cargo.toml index 1408b7f66..307111bdd 100644 --- a/groestl/Cargo.toml +++ b/groestl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "groestl" -version = "0.9.0" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "Grøstl hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,10 @@ keywords = ["crypto", "groestl", "grostl", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/groestl/LICENSE-MIT b/groestl/LICENSE-MIT index 3d35f5c64..f39f9ff82 100644 --- a/groestl/LICENSE-MIT +++ b/groestl/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2017 Gulshan Singh +Copyright (c) 2020 RustCrypto Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/groestl/benches/groestl256.rs b/groestl/benches/groestl256.rs deleted file mode 100755 index eafc403b9..000000000 --- a/groestl/benches/groestl256.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(groestl::Groestl256); diff --git a/groestl/benches/groestl512.rs b/groestl/benches/groestl512.rs deleted file mode 100755 index 47c95d64e..000000000 --- a/groestl/benches/groestl512.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(groestl::Groestl512); diff --git a/groestl/benches/mod.rs b/groestl/benches/mod.rs new file mode 100644 index 000000000..1cae786b4 --- /dev/null +++ b/groestl/benches/mod.rs @@ -0,0 +1,22 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use groestl::{Groestl256, Groestl512}; +use test::Bencher; + +bench_update!( + Groestl256::default(); + groestl256_10 10; + groestl256_100 100; + groestl256_1000 1000; + groestl256_10000 10000; +); + +bench_update!( + Groestl512::default(); + groestl512_10 10; + groestl512_100 100; + groestl512_1000 1000; + groestl512_10000 10000; +); diff --git a/groestl/src/compress1024.rs b/groestl/src/compress1024.rs new file mode 100644 index 000000000..ebfd080fc --- /dev/null +++ b/groestl/src/compress1024.rs @@ -0,0 +1,99 @@ +#![allow(clippy::needless_range_loop)] +use crate::table::TABLE; +use core::{convert::TryInto, u64}; + +pub(crate) const COLS: usize = 16; +const ROUNDS: u64 = 14; +type Block = super::Block; + +#[inline(always)] +fn column(x: &[u64; COLS], c: [usize; 8]) -> u64 { + let mut t = 0; + for i in 0..8 { + let sl = 8 * (7 - i); + let idx = ((x[c[i]] >> sl) & 0xFF) as usize; + t ^= TABLE[i][idx]; + } + t +} + +#[inline(always)] +fn rndq(mut x: [u64; COLS], r: u64) -> [u64; COLS] { + for i in 0..COLS { + x[i] ^= u64::MAX.wrapping_sub((i as u64) << 4) ^ r; + } + [ + column(&x, [1, 3, 5, 11, 0, 2, 4, 6]), + column(&x, [2, 4, 6, 12, 1, 3, 5, 7]), + column(&x, [3, 5, 7, 13, 2, 4, 6, 8]), + column(&x, [4, 6, 8, 14, 3, 5, 7, 9]), + column(&x, [5, 7, 9, 15, 4, 6, 8, 10]), + column(&x, [6, 8, 10, 0, 5, 7, 9, 11]), + column(&x, [7, 9, 11, 1, 6, 8, 10, 12]), + column(&x, [8, 10, 12, 2, 7, 9, 11, 13]), + column(&x, [9, 11, 13, 3, 8, 10, 12, 14]), + column(&x, [10, 12, 14, 4, 9, 11, 13, 15]), + column(&x, [11, 13, 15, 5, 10, 12, 14, 0]), + column(&x, [12, 14, 0, 6, 11, 13, 15, 1]), + column(&x, [13, 15, 1, 7, 12, 14, 0, 2]), + column(&x, [14, 0, 2, 8, 13, 15, 1, 3]), + column(&x, [15, 1, 3, 9, 14, 0, 2, 4]), + column(&x, [0, 2, 4, 10, 15, 1, 3, 5]), + ] +} + +#[inline(always)] +fn rndp(mut x: [u64; COLS], r: u64) -> [u64; COLS] { + for i in 0..COLS { + x[i] ^= ((i as u64) << 60) ^ r; + } + [ + column(&x, [0, 1, 2, 3, 4, 5, 6, 11]), + column(&x, [1, 2, 3, 4, 5, 6, 7, 12]), + column(&x, [2, 3, 4, 5, 6, 7, 8, 13]), + column(&x, [3, 4, 5, 6, 7, 8, 9, 14]), + column(&x, [4, 5, 6, 7, 8, 9, 10, 15]), + column(&x, [5, 6, 7, 8, 9, 10, 11, 0]), + column(&x, [6, 7, 8, 9, 10, 11, 12, 1]), + column(&x, [7, 8, 9, 10, 11, 12, 13, 2]), + column(&x, [8, 9, 10, 11, 12, 13, 14, 3]), + column(&x, [9, 10, 11, 12, 13, 14, 15, 4]), + column(&x, [10, 11, 12, 13, 14, 15, 0, 5]), + column(&x, [11, 12, 13, 14, 15, 0, 1, 6]), + column(&x, [12, 13, 14, 15, 0, 1, 2, 7]), + column(&x, [13, 14, 15, 0, 1, 2, 3, 8]), + column(&x, [14, 15, 0, 1, 2, 3, 4, 9]), + column(&x, [15, 0, 1, 2, 3, 4, 5, 10]), + ] +} + +pub(crate) fn compress(h: &mut [u64; COLS], block: &Block) { + let mut q = [0u64; COLS]; + for (chunk, v) in block.chunks_exact(8).zip(q.iter_mut()) { + *v = u64::from_be_bytes(chunk.try_into().unwrap()); + } + let mut p = [0u64; COLS]; + for i in 0..COLS { + p[i] = h[i] ^ q[i]; + } + for i in 0..ROUNDS { + q = rndq(q, i); + } + for i in 0..ROUNDS { + p = rndp(p, i << 56); + } + for i in 0..COLS { + h[i] ^= q[i] ^ p[i]; + } +} + +pub(crate) fn p(h: &[u64; COLS]) -> [u64; COLS] { + let mut p = *h; + for i in 0..ROUNDS { + p = rndp(p, i << 56); + } + for i in 0..COLS { + p[i] ^= h[i]; + } + p +} diff --git a/groestl/src/compress512.rs b/groestl/src/compress512.rs new file mode 100644 index 000000000..1db8d4091 --- /dev/null +++ b/groestl/src/compress512.rs @@ -0,0 +1,83 @@ +#![allow(clippy::needless_range_loop)] +use crate::table::TABLE; +use core::{convert::TryInto, u64}; +type Block = super::Block; + +pub(crate) const COLS: usize = 8; +const ROUNDS: u64 = 10; + +#[inline(always)] +fn column(x: &[u64; COLS], c: [usize; 8]) -> u64 { + let mut t = 0; + for i in 0..8 { + let sl = 8 * (7 - i); + let idx = ((x[c[i]] >> sl) & 0xFF) as usize; + t ^= TABLE[i][idx]; + } + t +} + +#[inline(always)] +fn rndq(mut x: [u64; COLS], r: u64) -> [u64; COLS] { + for i in 0..COLS { + x[i] ^= u64::MAX.wrapping_sub((i as u64) << 4) ^ r; + } + [ + column(&x, [1, 3, 5, 7, 0, 2, 4, 6]), + column(&x, [2, 4, 6, 0, 1, 3, 5, 7]), + column(&x, [3, 5, 7, 1, 2, 4, 6, 0]), + column(&x, [4, 6, 0, 2, 3, 5, 7, 1]), + column(&x, [5, 7, 1, 3, 4, 6, 0, 2]), + column(&x, [6, 0, 2, 4, 5, 7, 1, 3]), + column(&x, [7, 1, 3, 5, 6, 0, 2, 4]), + column(&x, [0, 2, 4, 6, 7, 1, 3, 5]), + ] +} + +#[inline(always)] +fn rndp(mut x: [u64; COLS], r: u64) -> [u64; COLS] { + for i in 0..COLS { + x[i] ^= ((i as u64) << 60) ^ r; + } + [ + column(&x, [0, 1, 2, 3, 4, 5, 6, 7]), + column(&x, [1, 2, 3, 4, 5, 6, 7, 0]), + column(&x, [2, 3, 4, 5, 6, 7, 0, 1]), + column(&x, [3, 4, 5, 6, 7, 0, 1, 2]), + column(&x, [4, 5, 6, 7, 0, 1, 2, 3]), + column(&x, [5, 6, 7, 0, 1, 2, 3, 4]), + column(&x, [6, 7, 0, 1, 2, 3, 4, 5]), + column(&x, [7, 0, 1, 2, 3, 4, 5, 6]), + ] +} + +pub(crate) fn compress(h: &mut [u64; COLS], block: &Block) { + let mut q = [0u64; COLS]; + for (chunk, v) in block.chunks_exact(8).zip(q.iter_mut()) { + *v = u64::from_be_bytes(chunk.try_into().unwrap()); + } + let mut p = [0u64; COLS]; + for i in 0..COLS { + p[i] = h[i] ^ q[i]; + } + for i in 0..ROUNDS { + q = rndq(q, i); + } + for i in 0..ROUNDS { + p = rndp(p, i << 56); + } + for i in 0..COLS { + h[i] ^= q[i] ^ p[i]; + } +} + +pub(crate) fn p(h: &[u64; COLS]) -> [u64; COLS] { + let mut p = *h; + for i in 0..ROUNDS { + p = rndp(p, i << 56); + } + for i in 0..COLS { + p[i] ^= h[i]; + } + p +} diff --git a/groestl/src/consts.rs b/groestl/src/consts.rs deleted file mode 100644 index 6b09c6a25..000000000 --- a/groestl/src/consts.rs +++ /dev/null @@ -1,55 +0,0 @@ -pub const SBOX: [u8; 256] = [ - 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, - 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, - 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, - 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, - 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, - 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, - 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, - 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, - 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, - 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, - 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, - 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, - 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, - 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, - 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, - 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, -]; - -pub const C_P: [u8; 128] = [ - 0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, 0x90, 0xa0, 0xb0, 0xc0, 0xd0, 0xe0, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -]; -pub const C_Q: [u8; 128] = [ - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xef, 0xdf, 0xcf, 0xbf, 0xaf, 0x9f, 0x8f, 0x7f, 0x6f, 0x5f, 0x4f, 0x3f, 0x2f, 0x1f, 0x0f, -]; - -pub const B: [[u8; 8]; 8] = [ - [2, 2, 3, 4, 5, 3, 5, 7], - [7, 2, 2, 3, 4, 5, 3, 5], - [5, 7, 2, 2, 3, 4, 5, 3], - [3, 5, 7, 2, 2, 3, 4, 5], - [5, 3, 5, 7, 2, 2, 3, 4], - [4, 5, 3, 5, 7, 2, 2, 3], - [3, 4, 5, 3, 5, 7, 2, 2], - [2, 3, 4, 5, 3, 5, 7, 2], -]; - -pub const SHIFTS_P: [u8; 8] = [0, 1, 2, 3, 4, 5, 6, 7]; -pub const SHIFTS_Q: [u8; 8] = [1, 3, 5, 7, 0, 2, 4, 6]; -pub const SHIFTS_P_WIDE: [u8; 8] = [0, 1, 2, 3, 4, 5, 6, 11]; -pub const SHIFTS_Q_WIDE: [u8; 8] = [1, 3, 5, 11, 0, 2, 4, 6]; diff --git a/groestl/src/groestl.rs b/groestl/src/groestl.rs deleted file mode 100644 index 1690de283..000000000 --- a/groestl/src/groestl.rs +++ /dev/null @@ -1,76 +0,0 @@ -use block_buffer::BlockBuffer; -use core::ops::Div; -use digest::generic_array::typenum::{Quot, U8}; -use digest::generic_array::{ArrayLength, GenericArray}; - -use crate::state::{xor_generic_array, GroestlState}; - -#[derive(Clone)] -pub struct Groestl -where - BlockSize: ArrayLength + Div + Default, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, -{ - buffer: BlockBuffer, - state: GroestlState, - pub output_size: usize, -} - -impl Groestl -where - BlockSize: ArrayLength + Div + Default, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, - Self: Clone, -{ - pub fn new(output_size: usize) -> Result { - match BlockSize::to_usize() { - 128 => { - if output_size <= 32 || output_size > 64 { - return Err(digest::InvalidOutputSize); - } - } - 64 => { - if output_size == 0 || output_size > 32 { - return Err(digest::InvalidOutputSize); - } - } - _ => unreachable!(), - }; - - let state = GroestlState::new(output_size); - Ok(Groestl { - buffer: Default::default(), - state, - output_size, - }) - } - - pub fn process(&mut self, input: &[u8]) { - let s = &mut self.state; - self.buffer.input_block(input, |b| s.compress(b)); - } - - pub fn finalize(&mut self) -> GenericArray { - let res = { - let state = &mut self.state; - let l = if self.buffer.remaining() <= 8 { - state.num_blocks + 2 - } else { - state.num_blocks + 1 - }; - self.buffer.len64_padding_be(l, |b| state.compress(b)); - xor_generic_array(&state.p(&state.state), &state.state) - }; - - self.buffer = Default::default(); - self.state = GroestlState::new(self.output_size); - res - } - - pub fn reset(&mut self) { - self.state = GroestlState::new(self.output_size); - self.buffer.reset(); - } -} diff --git a/groestl/src/lib.rs b/groestl/src/lib.rs old mode 100755 new mode 100644 index d4c8155ec..8e5085a0b --- a/groestl/src/lib.rs +++ b/groestl/src/lib.rs @@ -2,14 +2,7 @@ //! //! # Usage //! -//! Groestl can produce a digest of any size between 1 and 64 bytes inclusive. -//! This crate defines the common digest sizes (`Groestl224`, `Groestl256`, -//! `Groestl384`, and `Groestl512`), but allows you to specify a custom size -//! with the `GroestlSmall` and `GroestlBig` structs. `GroestlSmall` allows you -//! to specify a digest size between 1 and 32 inclusive, and `GroestlBig` allows -//! you to specify a digest size between 33 and 64 inclusive. -//! -//! ```rust +//! ``` //! use groestl::{Digest, Groestl256}; //! use hex_literal::hex; //! @@ -34,33 +27,199 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/groestl/0.10.0" )] #![deny(unsafe_code)] #![warn(rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; - pub use digest::{self, Digest}; -mod consts; -mod groestl; -mod matrix; -mod state; -#[macro_use] -mod macros; - -use crate::groestl::Groestl; -use digest::consts::{U128, U28, U32, U48, U64}; -use digest::generic_array::typenum::Unsigned; -use digest::{BlockInput, FixedOutputDirty, InvalidOutputSize, Reset, Update, VariableOutputDirty}; - -impl_groestl!(Groestl512, U64, U128); -impl_groestl!(Groestl384, U48, U128); -impl_groestl!(Groestl256, U32, U64); -impl_groestl!(Groestl224, U28, U64); - -impl_variable_groestl!(GroestlBig, U128, 32, 64); -impl_variable_groestl!(GroestlSmall, U64, 0, 32); +use core::fmt; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, + CtVariableCoreWrapper, OutputSizeUser, RtVariableCoreWrapper, TruncSide, UpdateCore, + VariableOutputCore, + }, + generic_array::typenum::{Unsigned, U128, U28, U32, U48, U64}, + HashMarker, InvalidOutputSize, Output, +}; + +mod compress1024; +mod compress512; +mod table; + +/// Lowest-level core hasher state of the short Groestl variant. +#[derive(Clone)] +pub struct GroestlShortVarCore { + state: [u64; compress512::COLS], + blocks_len: u64, +} + +impl HashMarker for GroestlShortVarCore {} + +impl BlockSizeUser for GroestlShortVarCore { + type BlockSize = U64; +} + +impl BufferKindUser for GroestlShortVarCore { + type BufferKind = Eager; +} + +impl UpdateCore for GroestlShortVarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.blocks_len += blocks.len() as u64; + for block in blocks { + compress512::compress(&mut self.state, block); + } + } +} + +impl OutputSizeUser for GroestlShortVarCore { + type OutputSize = U32; +} + +impl VariableOutputCore for GroestlShortVarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Right; + + #[inline] + fn new(output_size: usize) -> Result { + if output_size > Self::OutputSize::USIZE { + return Err(InvalidOutputSize); + } + let mut state = [0; compress512::COLS]; + state[compress512::COLS - 1] = 8 * output_size as u64; + let blocks_len = 0; + Ok(Self { state, blocks_len }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let blocks_len = if buffer.remaining() <= 8 { + self.blocks_len + 2 + } else { + self.blocks_len + 1 + }; + buffer.len64_padding_be(blocks_len, |b| compress512::compress(&mut self.state, b)); + let res = compress512::p(&self.state); + let n = compress512::COLS / 2; + for (chunk, v) in out.chunks_exact_mut(8).zip(res[n..].iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl AlgorithmName for GroestlShortVarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("GroestlShort") + } +} + +impl fmt::Debug for GroestlShortVarCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("GroestlShortVarCore { ... }") + } +} + +/// Short Groestl variant which allows to choose output size at runtime. +pub type GroestlShortVar = RtVariableCoreWrapper; +/// Core hasher state of the short Groestl variant generic over output size. +pub type GroestlShortCore = CtVariableCoreWrapper; +/// Hasher state of the short Groestl variant generic over output size. +pub type GroestlShort = CoreWrapper>; + +/// Groestl-224 hasher state. +pub type Groestl224 = CoreWrapper>; +/// Groestl-256 hasher state. +pub type Groestl256 = CoreWrapper>; + +/// Lowest-level core hasher state of the long Groestl variant. +#[derive(Clone)] +pub struct GroestlLongVarCore { + state: [u64; compress1024::COLS], + blocks_len: u64, +} + +impl HashMarker for GroestlLongVarCore {} + +impl BlockSizeUser for GroestlLongVarCore { + type BlockSize = U128; +} + +impl BufferKindUser for GroestlLongVarCore { + type BufferKind = Eager; +} + +impl UpdateCore for GroestlLongVarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.blocks_len += blocks.len() as u64; + for block in blocks { + compress1024::compress(&mut self.state, block); + } + } +} + +impl OutputSizeUser for GroestlLongVarCore { + type OutputSize = U64; +} + +impl VariableOutputCore for GroestlLongVarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Right; + + #[inline] + fn new(output_size: usize) -> Result { + if output_size > Self::OutputSize::USIZE { + return Err(InvalidOutputSize); + } + let mut state = [0; compress1024::COLS]; + state[compress1024::COLS - 1] = 8 * output_size as u64; + let blocks_len = 0; + Ok(Self { state, blocks_len }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let blocks_len = if buffer.remaining() <= 8 { + self.blocks_len + 2 + } else { + self.blocks_len + 1 + }; + buffer.len64_padding_be(blocks_len, |b| compress1024::compress(&mut self.state, b)); + let res = compress1024::p(&self.state); + let n = compress1024::COLS / 2; + for (chunk, v) in out.chunks_exact_mut(8).zip(res[n..].iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl AlgorithmName for GroestlLongVarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("GroestlLong") + } +} + +impl fmt::Debug for GroestlLongVarCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("GroestlLongVarCore { ... }") + } +} + +/// Long Groestl variant which allows to choose output size at runtime. +pub type GroestlLongVar = RtVariableCoreWrapper; +/// Core hasher state of the long Groestl variant generic over output size. +pub type GroestlLongCore = CtVariableCoreWrapper; +/// Hasher state of the long Groestl variant generic over output size. +pub type GroestlLong = CoreWrapper>; + +/// Groestl-384 hasher state. +pub type Groestl384 = CoreWrapper>; +/// Groestl-512 hasher state. +pub type Groestl512 = CoreWrapper>; diff --git a/groestl/src/macros.rs b/groestl/src/macros.rs deleted file mode 100644 index 00a54e338..000000000 --- a/groestl/src/macros.rs +++ /dev/null @@ -1,95 +0,0 @@ -macro_rules! impl_groestl { - ($state:ident, $output:ident, $block:ident) => { - #[derive(Clone)] - pub struct $state { - groestl: Groestl<$block>, - } - - impl Default for $state { - fn default() -> Self { - $state { - groestl: Groestl::new($output::to_usize()).unwrap(), - } - } - } - - impl BlockInput for $state { - type BlockSize = $block; - } - - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - self.groestl.process(input); - } - } - - impl FixedOutputDirty for $state { - type OutputSize = $output; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let block = self.groestl.finalize(); - let n = block.len() - Self::OutputSize::to_usize(); - out.copy_from_slice(&block[n..]) - } - } - - impl Reset for $state { - fn reset(&mut self) { - self.groestl.reset() - } - } - - opaque_debug::implement!($state); - digest::impl_write!($state); - }; -} - -macro_rules! impl_variable_groestl { - ($state:ident, $block:ident, $min:expr, $max:expr) => { - #[derive(Clone)] - pub struct $state { - groestl: Groestl<$block>, - } - - impl BlockInput for $state { - type BlockSize = $block; - } - - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.groestl.process(input.as_ref()); - } - } - - impl VariableOutputDirty for $state { - fn new(output_size: usize) -> Result { - if output_size == $min || output_size > $max { - return Err(InvalidOutputSize); - } - Ok($state { - groestl: Groestl::new(output_size).unwrap(), - }) - } - - fn output_size(&self) -> usize { - self.groestl.output_size - } - - fn finalize_variable_dirty(&mut self, f: impl FnOnce(&[u8])) { - let block = self.groestl.finalize(); - let n = block.len() - self.groestl.output_size; - f(&block[n..]); - } - } - - impl Reset for $state { - fn reset(&mut self) { - self.groestl.reset() - } - } - - opaque_debug::implement!($state); - digest::impl_write!($state); - }; -} diff --git a/groestl/src/matrix.rs b/groestl/src/matrix.rs deleted file mode 100644 index 433ddb66f..000000000 --- a/groestl/src/matrix.rs +++ /dev/null @@ -1,87 +0,0 @@ -use core::ops::{Index, IndexMut}; -use digest::generic_array::{ArrayLength, GenericArray}; - -#[derive(Debug, Eq, PartialEq)] -pub struct Matrix>, C: ArrayLength> { - pub state: GenericArray, R>, -} - -impl Default for Matrix -where - R: ArrayLength>, - C: ArrayLength, -{ - fn default() -> Self { - Matrix { - state: GenericArray::default(), - } - } -} - -impl Index for Matrix -where - R: ArrayLength>, - C: ArrayLength, -{ - type Output = GenericArray; - - fn index(&self, index: usize) -> &Self::Output { - &self.state[index] - } -} - -impl IndexMut for Matrix -where - R: ArrayLength>, - C: ArrayLength, -{ - fn index_mut(&mut self, index: usize) -> &mut Self::Output { - &mut self.state[index] - } -} - -fn poly_mul(a: u8, b: usize) -> usize { - let mut val = match a { - 2 => b << 1, - 3 => b ^ poly_mul(2, b), - 4 => b << 2, - 5 => b ^ poly_mul(4, b), - 7 => b ^ poly_mul(2, b) ^ poly_mul(4, b), - _ => unreachable!(), - }; - - if val >= 512 { - val ^= 0x11b << 1; - } - if val >= 256 { - val ^= 0x11b; - } - val -} - -impl Matrix -where - R: ArrayLength>, - C: ArrayLength, -{ - pub fn rows(&self) -> usize { - R::to_usize() - } - - pub fn cols(&self) -> usize { - C::to_usize() - } - - pub fn mul_array(&self, a: &[[u8; 8]; 8]) -> Self { - let mut res = Matrix::default(); - for i in 0..8 { - for j in 0..self.cols() { - for k in 0..8 { - res[i][j] ^= poly_mul(a[i][k], self[k][j] as usize) as u8; - } - } - } - - res - } -} diff --git a/groestl/src/state.rs b/groestl/src/state.rs deleted file mode 100644 index f1e4dd424..000000000 --- a/groestl/src/state.rs +++ /dev/null @@ -1,293 +0,0 @@ -use core::ops::Div; - -use crate::consts::{B, C_P, C_Q, SBOX, SHIFTS_P, SHIFTS_P_WIDE, SHIFTS_Q, SHIFTS_Q_WIDE}; -use crate::matrix::Matrix; -use digest::generic_array::typenum::{Quot, U8}; -use digest::generic_array::{ArrayLength, GenericArray}; - -#[derive(Copy, Clone)] -pub struct GroestlState -where - BlockSize: ArrayLength + Div, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, -{ - pub state: GenericArray, - rounds: u8, - pub num_blocks: u64, -} - -pub fn xor_generic_array>( - a1: &GenericArray, - a2: &GenericArray, -) -> GenericArray { - let mut res = GenericArray::default(); - for i in 0..L::to_usize() { - res[i] = a1[i] ^ a2[i]; - } - res -} - -fn gcd(a: usize, b: usize) -> usize { - if b == 0 { - return a; - } - gcd(b, a % b) -} - -impl GroestlState -where - BlockSize: ArrayLength + Div, - BlockSize::ArrayType: Copy, - Quot: ArrayLength, -{ - pub fn new(output_size: usize) -> Self { - let block_bytes = BlockSize::to_usize(); - let output_bits = output_size * 8; - - let mut state = GenericArray::default(); - let n = output_bits as u64; - state[block_bytes - 8..].copy_from_slice(&n.to_be_bytes()); - let rounds = match block_bytes { - 128 => 14, - 64 => 10, - _ => unreachable!(), - }; - - GroestlState { - state, - rounds, - num_blocks: 0, - } - } - - fn wide(&self) -> bool { - match BlockSize::to_usize() { - 128 => true, - 64 => false, - _ => unreachable!(), - } - } - - pub fn compress(&mut self, input_block: &GenericArray) { - self.state = xor_generic_array( - &xor_generic_array( - &self.p(&xor_generic_array(&self.state, input_block)), - &self.q(input_block), - ), - &self.state, - ); - self.num_blocks += 1; - } - - fn block_to_matrix( - &self, - block: &GenericArray, - ) -> Matrix> { - let mut matrix = Matrix::>::default(); - - let rows = matrix.rows(); - for i in 0..matrix.cols() { - for j in 0..rows { - matrix[j][i] = block[i * rows + j]; - } - } - - matrix - } - - fn matrix_to_block( - &self, - matrix: &Matrix>, - ) -> GenericArray { - let mut block = GenericArray::default(); - - let rows = matrix.rows(); - for i in 0..matrix.cols() { - for j in 0..rows { - block[i * rows + j] = matrix[j][i]; - } - } - - block - } - - pub fn p(&self, block: &GenericArray) -> GenericArray { - let shifts = if self.wide() { SHIFTS_P_WIDE } else { SHIFTS_P }; - let mut matrix = self.block_to_matrix(block); - for round in 0..self.rounds { - self.add_round_constant(&mut matrix, C_P, round); - self.sub_bytes(&mut matrix); - self.shift_bytes(&mut matrix, shifts); - matrix = matrix.mul_array(&B); - } - self.matrix_to_block(&matrix) - } - - fn q(&self, block: &GenericArray) -> GenericArray { - let shifts = if self.wide() { SHIFTS_Q_WIDE } else { SHIFTS_Q }; - let mut matrix = self.block_to_matrix(block); - for round in 0..self.rounds { - self.add_round_constant(&mut matrix, C_Q, round); - self.sub_bytes(&mut matrix); - self.shift_bytes(&mut matrix, shifts); - matrix = matrix.mul_array(&B); - } - self.matrix_to_block(&matrix) - } - - fn add_round_constant( - &self, - matrix: &mut Matrix>, - c: [u8; 128], - round: u8, - ) { - for i in 0..matrix.rows() { - for j in 0..matrix.cols() { - matrix[i][j] ^= c[i * 16 + j]; - - if (c[0] == 0x00 && i == 0) || (c[0] == 0xff && i == 7) { - matrix[i][j] ^= round; - } - } - } - } - - fn sub_bytes(&self, matrix: &mut Matrix>) { - for i in 0..matrix.rows() { - for j in 0..matrix.cols() { - matrix[i][j] = SBOX[matrix[i][j] as usize]; - } - } - } - - fn shift_bytes(&self, matrix: &mut Matrix>, shifts: [u8; 8]) { - let cols = matrix.cols(); - for i in 0..matrix.rows() { - let shift = shifts[i] as usize; - if shift == 0 { - continue; - } - let d = gcd(shift, cols); - for j in 0..d { - let mut k = j; - let tmp = matrix[i][k]; - loop { - let pos = k.wrapping_add(shift) % cols; - if pos == j { - break; - } - matrix[i][k] = matrix[i][pos]; - k = pos; - } - matrix[i][k] = tmp; - } - } - } -} - -#[cfg(test)] -mod test { - use super::{xor_generic_array, GroestlState}; - use crate::consts::{C_P, C_Q, SHIFTS_P}; - use digest::generic_array::typenum::U64; - use digest::generic_array::GenericArray; - - fn get_padding_block() -> GenericArray { - let padding_block: [u8; 64] = [ - 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, - ]; - - GenericArray::clone_from_slice(&padding_block) - } - - #[test] - fn test_shift_bytes() { - let s = GroestlState::::new(32); - let mut block = GenericArray::default(); - for i in 0..64 { - block[i] = i as u8; - } - let mut matrix = s.block_to_matrix(&block); - s.shift_bytes(&mut matrix, SHIFTS_P); - let block = s.matrix_to_block(&matrix); - let expected = [ - 0, 9, 18, 27, 36, 45, 54, 63, 8, 17, 26, 35, 44, 53, 62, 7, 16, 25, 34, 43, 52, 61, 6, - 15, 24, 33, 42, 51, 60, 5, 14, 23, 32, 41, 50, 59, 4, 13, 22, 31, 40, 49, 58, 3, 12, - 21, 30, 39, 48, 57, 2, 11, 20, 29, 38, 47, 56, 1, 10, 19, 28, 37, 46, 55, - ]; - assert_eq!(&block[..], &expected[..]); - } - - #[test] - fn test_p() { - let padding_chunk = get_padding_block(); - let s = GroestlState::::new(32); - let block = xor_generic_array(&s.state, GenericArray::from_slice(&padding_chunk)); - - let p_block = s.p(&block); - let expected = [ - 247, 236, 141, 217, 73, 225, 112, 216, 1, 155, 85, 192, 152, 168, 174, 72, 112, 253, - 159, 53, 7, 6, 8, 115, 58, 242, 7, 115, 148, 150, 157, 25, 18, 220, 11, 5, 178, 10, - 110, 94, 44, 56, 110, 67, 107, 234, 102, 163, 243, 212, 49, 25, 46, 17, 170, 84, 5, 76, - 239, 51, 4, 107, 94, 20, - ]; - assert_eq!(&p_block[..], &expected[..]); - } - - #[test] - fn test_q() { - let padding_chunk = get_padding_block(); - let s = GroestlState::::new(32); - let q_block = s.q(GenericArray::from_slice(&padding_chunk)); - let expected = [ - 189, 183, 105, 133, 208, 106, 34, 36, 82, 37, 180, 250, 229, 59, 230, 223, 215, 245, - 53, 117, 167, 139, 150, 186, 210, 17, 220, 57, 116, 134, 209, 51, 124, 108, 84, 91, 79, - 103, 148, 27, 135, 183, 144, 226, 59, 242, 87, 81, 109, 211, 84, 185, 192, 172, 88, - 210, 8, 121, 31, 242, 158, 227, 207, 13, - ]; - assert_eq!(&q_block[..], &expected[..]); - } - - #[test] - fn test_block_to_matrix() { - let s = GroestlState::::new(32); - let mut block1 = GenericArray::default(); - for i in 0..block1.len() { - block1[i] = i as u8; - } - let m = s.block_to_matrix(&block1); - let block2 = s.matrix_to_block(&m); - assert_eq!(block1, block2); - } - - #[test] - fn test_add_round_constant() { - let padding_chunk = get_padding_block(); - let s = GroestlState::::new(32); - - let mut m = s.block_to_matrix(GenericArray::from_slice(&padding_chunk)); - s.add_round_constant(&mut m, C_P, 0); - let b = s.matrix_to_block(&m); - let expected = [ - 128, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, - 0, 112, 0, 0, 0, 0, 0, 0, 1, - ]; - assert_eq!(&b[..], &expected[..]); - - let mut m = s.block_to_matrix(GenericArray::from_slice(&padding_chunk)); - s.add_round_constant(&mut m, C_Q, 0); - let b = s.matrix_to_block(&m); - let expected = [ - 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8e, - ]; - assert_eq!(&b[..], &expected[..]); - } -} diff --git a/groestl/src/table.rs b/groestl/src/table.rs new file mode 100644 index 000000000..fe1e729dc --- /dev/null +++ b/groestl/src/table.rs @@ -0,0 +1,11 @@ +#[rustfmt::skip] +pub(crate) const TABLE: [[u64; 256]; 8] = [ + [0xc632f4a5f497a5c6, 0xf86f978497eb84f8, 0xee5eb099b0c799ee, 0xf67a8c8d8cf78df6, 0xffe8170d17e50dff, 0xd60adcbddcb7bdd6, 0xde16c8b1c8a7b1de, 0x916dfc54fc395491, 0x6090f050f0c05060, 0x0207050305040302, 0xce2ee0a9e087a9ce, 0x56d1877d87ac7d56, 0xe7cc2b192bd519e7, 0xb513a662a67162b5, 0x4d7c31e6319ae64d, 0xec59b59ab5c39aec, 0x8f40cf45cf05458f, 0x1fa3bc9dbc3e9d1f, 0x8949c040c0094089, 0xfa68928792ef87fa, 0xefd03f153fc515ef, 0xb29426eb267febb2, 0x8ece40c94007c98e, 0xfbe61d0b1ded0bfb, 0x416e2fec2f82ec41, 0xb31aa967a97d67b3, 0x5f431cfd1cbefd5f, 0x456025ea258aea45, 0x23f9dabfda46bf23, 0x535102f702a6f753, 0xe445a196a1d396e4, 0x9b76ed5bed2d5b9b, 0x75285dc25deac275, 0xe1c5241c24d91ce1, 0x3dd4e9aee97aae3d, 0x4cf2be6abe986a4c, 0x6c82ee5aeed85a6c, 0x7ebdc341c3fc417e, 0xf5f3060206f102f5, 0x8352d14fd11d4f83, 0x688ce45ce4d05c68, 0x515607f407a2f451, 0xd18d5c345cb934d1, 0xf9e1180818e908f9, 0xe24cae93aedf93e2, 0xab3e9573954d73ab, 0x6297f553f5c45362, 0x2a6b413f41543f2a, 0x081c140c14100c08, 0x9563f652f6315295, 0x46e9af65af8c6546, 0x9d7fe25ee2215e9d, 0x3048782878602830, 0x37cff8a1f86ea137, 0x0a1b110f11140f0a, 0x2febc4b5c45eb52f, 0x0e151b091b1c090e, 0x247e5a365a483624, 0x1badb69bb6369b1b, 0xdf98473d47a53ddf, 0xcda76a266a8126cd, 0x4ef5bb69bb9c694e, 0x7f334ccd4cfecd7f, 0xea50ba9fbacf9fea, 0x123f2d1b2d241b12, 0x1da4b99eb93a9e1d, 0x58c49c749cb07458, 0x3446722e72682e34, 0x3641772d776c2d36, 0xdc11cdb2cda3b2dc, 0xb49d29ee2973eeb4, 0x5b4d16fb16b6fb5b, 0xa4a501f60153f6a4, 0x76a1d74dd7ec4d76, 0xb714a361a37561b7, 0x7d3449ce49face7d, 0x52df8d7b8da47b52, 0xdd9f423e42a13edd, 0x5ecd937193bc715e, 0x13b1a297a2269713, 0xa6a204f50457f5a6, 0xb901b868b86968b9, 0x0000000000000000, 0xc1b5742c74992cc1, 0x40e0a060a0806040, 0xe3c2211f21dd1fe3, 0x793a43c843f2c879, 0xb69a2ced2c77edb6, 0xd40dd9bed9b3bed4, 0x8d47ca46ca01468d, 0x671770d970ced967, 0x72afdd4bdde44b72, 0x94ed79de7933de94, 0x98ff67d4672bd498, 0xb09323e8237be8b0, 0x855bde4ade114a85, 0xbb06bd6bbd6d6bbb, 0xc5bb7e2a7e912ac5, 0x4f7b34e5349ee54f, 0xedd73a163ac116ed, 0x86d254c55417c586, 0x9af862d7622fd79a, 0x6699ff55ffcc5566, 0x11b6a794a7229411, 0x8ac04acf4a0fcf8a, 0xe9d9301030c910e9, 0x040e0a060a080604, 0xfe66988198e781fe, 0xa0ab0bf00b5bf0a0, 0x78b4cc44ccf04478, 0x25f0d5bad54aba25, 0x4b753ee33e96e34b, 0xa2ac0ef30e5ff3a2, 0x5d4419fe19bafe5d, 0x80db5bc05b1bc080, 0x0580858a850a8a05, 0x3fd3ecadec7ead3f, 0x21fedfbcdf42bc21, 0x70a8d848d8e04870, 0xf1fd0c040cf904f1, 0x63197adf7ac6df63, 0x772f58c158eec177, 0xaf309f759f4575af, 0x42e7a563a5846342, 0x2070503050403020, 0xe5cb2e1a2ed11ae5, 0xfdef120e12e10efd, 0xbf08b76db7656dbf, 0x8155d44cd4194c81, 0x18243c143c301418, 0x26795f355f4c3526, 0xc3b2712f719d2fc3, 0xbe8638e13867e1be, 0x35c8fda2fd6aa235, 0x88c74fcc4f0bcc88, 0x2e654b394b5c392e, 0x936af957f93d5793, 0x55580df20daaf255, 0xfc619d829de382fc, 0x7ab3c947c9f4477a, 0xc827efacef8bacc8, 0xba8832e7326fe7ba, 0x324f7d2b7d642b32, 0xe642a495a4d795e6, 0xc03bfba0fb9ba0c0, 0x19aab398b3329819, 0x9ef668d16827d19e, 0xa322817f815d7fa3, 0x44eeaa66aa886644, 0x54d6827e82a87e54, 0x3bdde6abe676ab3b, 0x0b959e839e16830b, 0x8cc945ca4503ca8c, 0xc7bc7b297b9529c7, 0x6b056ed36ed6d36b, 0x286c443c44503c28, 0xa72c8b798b5579a7, 0xbc813de23d63e2bc, 0x1631271d272c1d16, 0xad379a769a4176ad, 0xdb964d3b4dad3bdb, 0x649efa56fac85664, 0x74a6d24ed2e84e74, 0x1436221e22281e14, 0x92e476db763fdb92, 0x0c121e0a1e180a0c, 0x48fcb46cb4906c48, 0xb88f37e4376be4b8, 0x9f78e75de7255d9f, 0xbd0fb26eb2616ebd, 0x43692aef2a86ef43, 0xc435f1a6f193a6c4, 0x39dae3a8e372a839, 0x31c6f7a4f762a431, 0xd38a593759bd37d3, 0xf274868b86ff8bf2, 0xd583563256b132d5, 0x8b4ec543c50d438b, 0x6e85eb59ebdc596e, 0xda18c2b7c2afb7da, 0x018e8f8c8f028c01, 0xb11dac64ac7964b1, 0x9cf16dd26d23d29c, 0x49723be03b92e049, 0xd81fc7b4c7abb4d8, 0xacb915fa1543faac, 0xf3fa090709fd07f3, 0xcfa06f256f8525cf, 0xca20eaafea8fafca, 0xf47d898e89f38ef4, 0x476720e9208ee947, 0x1038281828201810, 0x6f0b64d564ded56f, 0xf073838883fb88f0, 0x4afbb16fb1946f4a, 0x5cca967296b8725c, 0x38546c246c702438, 0x575f08f108aef157, 0x732152c752e6c773, 0x9764f351f3355197, 0xcbae6523658d23cb, 0xa125847c84597ca1, 0xe857bf9cbfcb9ce8, 0x3e5d6321637c213e, 0x96ea7cdd7c37dd96, 0x611e7fdc7fc2dc61, 0x0d9c9186911a860d, 0x0f9b9485941e850f, 0xe04bab90abdb90e0, 0x7cbac642c6f8427c, 0x712657c457e2c471, 0xcc29e5aae583aacc, 0x90e373d8733bd890, 0x06090f050f0c0506, 0xf7f4030103f501f7, 0x1c2a36123638121c, 0xc23cfea3fe9fa3c2, 0x6a8be15fe1d45f6a, 0xaebe10f91047f9ae, 0x69026bd06bd2d069, 0x17bfa891a82e9117, 0x9971e858e8295899, 0x3a5369276974273a, 0x27f7d0b9d04eb927, 0xd991483848a938d9, 0xebde351335cd13eb, 0x2be5ceb3ce56b32b, 0x2277553355443322, 0xd204d6bbd6bfbbd2, 0xa9399070904970a9, 0x07878089800e8907, 0x33c1f2a7f266a733, 0x2decc1b6c15ab62d, 0x3c5a66226678223c, 0x15b8ad92ad2a9215, 0xc9a96020608920c9, 0x875cdb49db154987, 0xaab01aff1a4fffaa, 0x50d8887888a07850, 0xa52b8e7a8e517aa5, 0x03898a8f8a068f03, 0x594a13f813b2f859, 0x09929b809b128009, 0x1a2339173934171a, 0x651075da75cada65, 0xd784533153b531d7, 0x84d551c65113c684, 0xd003d3b8d3bbb8d0, 0x82dc5ec35e1fc382, 0x29e2cbb0cb52b029, 0x5ac3997799b4775a, 0x1e2d3311333c111e, 0x7b3d46cb46f6cb7b, 0xa8b71ffc1f4bfca8, 0x6d0c61d661dad66d, 0x2c624e3a4e583a2c], + [0xc6c632f4a5f497a5, 0xf8f86f978497eb84, 0xeeee5eb099b0c799, 0xf6f67a8c8d8cf78d, 0xffffe8170d17e50d, 0xd6d60adcbddcb7bd, 0xdede16c8b1c8a7b1, 0x91916dfc54fc3954, 0x606090f050f0c050, 0x0202070503050403, 0xcece2ee0a9e087a9, 0x5656d1877d87ac7d, 0xe7e7cc2b192bd519, 0xb5b513a662a67162, 0x4d4d7c31e6319ae6, 0xecec59b59ab5c39a, 0x8f8f40cf45cf0545, 0x1f1fa3bc9dbc3e9d, 0x898949c040c00940, 0xfafa68928792ef87, 0xefefd03f153fc515, 0xb2b29426eb267feb, 0x8e8ece40c94007c9, 0xfbfbe61d0b1ded0b, 0x41416e2fec2f82ec, 0xb3b31aa967a97d67, 0x5f5f431cfd1cbefd, 0x45456025ea258aea, 0x2323f9dabfda46bf, 0x53535102f702a6f7, 0xe4e445a196a1d396, 0x9b9b76ed5bed2d5b, 0x7575285dc25deac2, 0xe1e1c5241c24d91c, 0x3d3dd4e9aee97aae, 0x4c4cf2be6abe986a, 0x6c6c82ee5aeed85a, 0x7e7ebdc341c3fc41, 0xf5f5f3060206f102, 0x838352d14fd11d4f, 0x68688ce45ce4d05c, 0x51515607f407a2f4, 0xd1d18d5c345cb934, 0xf9f9e1180818e908, 0xe2e24cae93aedf93, 0xabab3e9573954d73, 0x626297f553f5c453, 0x2a2a6b413f41543f, 0x08081c140c14100c, 0x959563f652f63152, 0x4646e9af65af8c65, 0x9d9d7fe25ee2215e, 0x3030487828786028, 0x3737cff8a1f86ea1, 0x0a0a1b110f11140f, 0x2f2febc4b5c45eb5, 0x0e0e151b091b1c09, 0x24247e5a365a4836, 0x1b1badb69bb6369b, 0xdfdf98473d47a53d, 0xcdcda76a266a8126, 0x4e4ef5bb69bb9c69, 0x7f7f334ccd4cfecd, 0xeaea50ba9fbacf9f, 0x12123f2d1b2d241b, 0x1d1da4b99eb93a9e, 0x5858c49c749cb074, 0x343446722e72682e, 0x363641772d776c2d, 0xdcdc11cdb2cda3b2, 0xb4b49d29ee2973ee, 0x5b5b4d16fb16b6fb, 0xa4a4a501f60153f6, 0x7676a1d74dd7ec4d, 0xb7b714a361a37561, 0x7d7d3449ce49face, 0x5252df8d7b8da47b, 0xdddd9f423e42a13e, 0x5e5ecd937193bc71, 0x1313b1a297a22697, 0xa6a6a204f50457f5, 0xb9b901b868b86968, 0x0000000000000000, 0xc1c1b5742c74992c, 0x4040e0a060a08060, 0xe3e3c2211f21dd1f, 0x79793a43c843f2c8, 0xb6b69a2ced2c77ed, 0xd4d40dd9bed9b3be, 0x8d8d47ca46ca0146, 0x67671770d970ced9, 0x7272afdd4bdde44b, 0x9494ed79de7933de, 0x9898ff67d4672bd4, 0xb0b09323e8237be8, 0x85855bde4ade114a, 0xbbbb06bd6bbd6d6b, 0xc5c5bb7e2a7e912a, 0x4f4f7b34e5349ee5, 0xededd73a163ac116, 0x8686d254c55417c5, 0x9a9af862d7622fd7, 0x666699ff55ffcc55, 0x1111b6a794a72294, 0x8a8ac04acf4a0fcf, 0xe9e9d9301030c910, 0x04040e0a060a0806, 0xfefe66988198e781, 0xa0a0ab0bf00b5bf0, 0x7878b4cc44ccf044, 0x2525f0d5bad54aba, 0x4b4b753ee33e96e3, 0xa2a2ac0ef30e5ff3, 0x5d5d4419fe19bafe, 0x8080db5bc05b1bc0, 0x050580858a850a8a, 0x3f3fd3ecadec7ead, 0x2121fedfbcdf42bc, 0x7070a8d848d8e048, 0xf1f1fd0c040cf904, 0x6363197adf7ac6df, 0x77772f58c158eec1, 0xafaf309f759f4575, 0x4242e7a563a58463, 0x2020705030504030, 0xe5e5cb2e1a2ed11a, 0xfdfdef120e12e10e, 0xbfbf08b76db7656d, 0x818155d44cd4194c, 0x1818243c143c3014, 0x2626795f355f4c35, 0xc3c3b2712f719d2f, 0xbebe8638e13867e1, 0x3535c8fda2fd6aa2, 0x8888c74fcc4f0bcc, 0x2e2e654b394b5c39, 0x93936af957f93d57, 0x5555580df20daaf2, 0xfcfc619d829de382, 0x7a7ab3c947c9f447, 0xc8c827efacef8bac, 0xbaba8832e7326fe7, 0x32324f7d2b7d642b, 0xe6e642a495a4d795, 0xc0c03bfba0fb9ba0, 0x1919aab398b33298, 0x9e9ef668d16827d1, 0xa3a322817f815d7f, 0x4444eeaa66aa8866, 0x5454d6827e82a87e, 0x3b3bdde6abe676ab, 0x0b0b959e839e1683, 0x8c8cc945ca4503ca, 0xc7c7bc7b297b9529, 0x6b6b056ed36ed6d3, 0x28286c443c44503c, 0xa7a72c8b798b5579, 0xbcbc813de23d63e2, 0x161631271d272c1d, 0xadad379a769a4176, 0xdbdb964d3b4dad3b, 0x64649efa56fac856, 0x7474a6d24ed2e84e, 0x141436221e22281e, 0x9292e476db763fdb, 0x0c0c121e0a1e180a, 0x4848fcb46cb4906c, 0xb8b88f37e4376be4, 0x9f9f78e75de7255d, 0xbdbd0fb26eb2616e, 0x4343692aef2a86ef, 0xc4c435f1a6f193a6, 0x3939dae3a8e372a8, 0x3131c6f7a4f762a4, 0xd3d38a593759bd37, 0xf2f274868b86ff8b, 0xd5d583563256b132, 0x8b8b4ec543c50d43, 0x6e6e85eb59ebdc59, 0xdada18c2b7c2afb7, 0x01018e8f8c8f028c, 0xb1b11dac64ac7964, 0x9c9cf16dd26d23d2, 0x4949723be03b92e0, 0xd8d81fc7b4c7abb4, 0xacacb915fa1543fa, 0xf3f3fa090709fd07, 0xcfcfa06f256f8525, 0xcaca20eaafea8faf, 0xf4f47d898e89f38e, 0x47476720e9208ee9, 0x1010382818282018, 0x6f6f0b64d564ded5, 0xf0f073838883fb88, 0x4a4afbb16fb1946f, 0x5c5cca967296b872, 0x3838546c246c7024, 0x57575f08f108aef1, 0x73732152c752e6c7, 0x979764f351f33551, 0xcbcbae6523658d23, 0xa1a125847c84597c, 0xe8e857bf9cbfcb9c, 0x3e3e5d6321637c21, 0x9696ea7cdd7c37dd, 0x61611e7fdc7fc2dc, 0x0d0d9c9186911a86, 0x0f0f9b9485941e85, 0xe0e04bab90abdb90, 0x7c7cbac642c6f842, 0x71712657c457e2c4, 0xcccc29e5aae583aa, 0x9090e373d8733bd8, 0x0606090f050f0c05, 0xf7f7f4030103f501, 0x1c1c2a3612363812, 0xc2c23cfea3fe9fa3, 0x6a6a8be15fe1d45f, 0xaeaebe10f91047f9, 0x6969026bd06bd2d0, 0x1717bfa891a82e91, 0x999971e858e82958, 0x3a3a536927697427, 0x2727f7d0b9d04eb9, 0xd9d991483848a938, 0xebebde351335cd13, 0x2b2be5ceb3ce56b3, 0x2222775533554433, 0xd2d204d6bbd6bfbb, 0xa9a9399070904970, 0x0707878089800e89, 0x3333c1f2a7f266a7, 0x2d2decc1b6c15ab6, 0x3c3c5a6622667822, 0x1515b8ad92ad2a92, 0xc9c9a96020608920, 0x87875cdb49db1549, 0xaaaab01aff1a4fff, 0x5050d8887888a078, 0xa5a52b8e7a8e517a, 0x0303898a8f8a068f, 0x59594a13f813b2f8, 0x0909929b809b1280, 0x1a1a233917393417, 0x65651075da75cada, 0xd7d784533153b531, 0x8484d551c65113c6, 0xd0d003d3b8d3bbb8, 0x8282dc5ec35e1fc3, 0x2929e2cbb0cb52b0, 0x5a5ac3997799b477, 0x1e1e2d3311333c11, 0x7b7b3d46cb46f6cb, 0xa8a8b71ffc1f4bfc, 0x6d6d0c61d661dad6, 0x2c2c624e3a4e583a], + [0xa5c6c632f4a5f497, 0x84f8f86f978497eb, 0x99eeee5eb099b0c7, 0x8df6f67a8c8d8cf7, 0x0dffffe8170d17e5, 0xbdd6d60adcbddcb7, 0xb1dede16c8b1c8a7, 0x5491916dfc54fc39, 0x50606090f050f0c0, 0x0302020705030504, 0xa9cece2ee0a9e087, 0x7d5656d1877d87ac, 0x19e7e7cc2b192bd5, 0x62b5b513a662a671, 0xe64d4d7c31e6319a, 0x9aecec59b59ab5c3, 0x458f8f40cf45cf05, 0x9d1f1fa3bc9dbc3e, 0x40898949c040c009, 0x87fafa68928792ef, 0x15efefd03f153fc5, 0xebb2b29426eb267f, 0xc98e8ece40c94007, 0x0bfbfbe61d0b1ded, 0xec41416e2fec2f82, 0x67b3b31aa967a97d, 0xfd5f5f431cfd1cbe, 0xea45456025ea258a, 0xbf2323f9dabfda46, 0xf753535102f702a6, 0x96e4e445a196a1d3, 0x5b9b9b76ed5bed2d, 0xc27575285dc25dea, 0x1ce1e1c5241c24d9, 0xae3d3dd4e9aee97a, 0x6a4c4cf2be6abe98, 0x5a6c6c82ee5aeed8, 0x417e7ebdc341c3fc, 0x02f5f5f3060206f1, 0x4f838352d14fd11d, 0x5c68688ce45ce4d0, 0xf451515607f407a2, 0x34d1d18d5c345cb9, 0x08f9f9e1180818e9, 0x93e2e24cae93aedf, 0x73abab3e9573954d, 0x53626297f553f5c4, 0x3f2a2a6b413f4154, 0x0c08081c140c1410, 0x52959563f652f631, 0x654646e9af65af8c, 0x5e9d9d7fe25ee221, 0x2830304878287860, 0xa13737cff8a1f86e, 0x0f0a0a1b110f1114, 0xb52f2febc4b5c45e, 0x090e0e151b091b1c, 0x3624247e5a365a48, 0x9b1b1badb69bb636, 0x3ddfdf98473d47a5, 0x26cdcda76a266a81, 0x694e4ef5bb69bb9c, 0xcd7f7f334ccd4cfe, 0x9feaea50ba9fbacf, 0x1b12123f2d1b2d24, 0x9e1d1da4b99eb93a, 0x745858c49c749cb0, 0x2e343446722e7268, 0x2d363641772d776c, 0xb2dcdc11cdb2cda3, 0xeeb4b49d29ee2973, 0xfb5b5b4d16fb16b6, 0xf6a4a4a501f60153, 0x4d7676a1d74dd7ec, 0x61b7b714a361a375, 0xce7d7d3449ce49fa, 0x7b5252df8d7b8da4, 0x3edddd9f423e42a1, 0x715e5ecd937193bc, 0x971313b1a297a226, 0xf5a6a6a204f50457, 0x68b9b901b868b869, 0x0000000000000000, 0x2cc1c1b5742c7499, 0x604040e0a060a080, 0x1fe3e3c2211f21dd, 0xc879793a43c843f2, 0xedb6b69a2ced2c77, 0xbed4d40dd9bed9b3, 0x468d8d47ca46ca01, 0xd967671770d970ce, 0x4b7272afdd4bdde4, 0xde9494ed79de7933, 0xd49898ff67d4672b, 0xe8b0b09323e8237b, 0x4a85855bde4ade11, 0x6bbbbb06bd6bbd6d, 0x2ac5c5bb7e2a7e91, 0xe54f4f7b34e5349e, 0x16ededd73a163ac1, 0xc58686d254c55417, 0xd79a9af862d7622f, 0x55666699ff55ffcc, 0x941111b6a794a722, 0xcf8a8ac04acf4a0f, 0x10e9e9d9301030c9, 0x0604040e0a060a08, 0x81fefe66988198e7, 0xf0a0a0ab0bf00b5b, 0x447878b4cc44ccf0, 0xba2525f0d5bad54a, 0xe34b4b753ee33e96, 0xf3a2a2ac0ef30e5f, 0xfe5d5d4419fe19ba, 0xc08080db5bc05b1b, 0x8a050580858a850a, 0xad3f3fd3ecadec7e, 0xbc2121fedfbcdf42, 0x487070a8d848d8e0, 0x04f1f1fd0c040cf9, 0xdf6363197adf7ac6, 0xc177772f58c158ee, 0x75afaf309f759f45, 0x634242e7a563a584, 0x3020207050305040, 0x1ae5e5cb2e1a2ed1, 0x0efdfdef120e12e1, 0x6dbfbf08b76db765, 0x4c818155d44cd419, 0x141818243c143c30, 0x352626795f355f4c, 0x2fc3c3b2712f719d, 0xe1bebe8638e13867, 0xa23535c8fda2fd6a, 0xcc8888c74fcc4f0b, 0x392e2e654b394b5c, 0x5793936af957f93d, 0xf25555580df20daa, 0x82fcfc619d829de3, 0x477a7ab3c947c9f4, 0xacc8c827efacef8b, 0xe7baba8832e7326f, 0x2b32324f7d2b7d64, 0x95e6e642a495a4d7, 0xa0c0c03bfba0fb9b, 0x981919aab398b332, 0xd19e9ef668d16827, 0x7fa3a322817f815d, 0x664444eeaa66aa88, 0x7e5454d6827e82a8, 0xab3b3bdde6abe676, 0x830b0b959e839e16, 0xca8c8cc945ca4503, 0x29c7c7bc7b297b95, 0xd36b6b056ed36ed6, 0x3c28286c443c4450, 0x79a7a72c8b798b55, 0xe2bcbc813de23d63, 0x1d161631271d272c, 0x76adad379a769a41, 0x3bdbdb964d3b4dad, 0x5664649efa56fac8, 0x4e7474a6d24ed2e8, 0x1e141436221e2228, 0xdb9292e476db763f, 0x0a0c0c121e0a1e18, 0x6c4848fcb46cb490, 0xe4b8b88f37e4376b, 0x5d9f9f78e75de725, 0x6ebdbd0fb26eb261, 0xef4343692aef2a86, 0xa6c4c435f1a6f193, 0xa83939dae3a8e372, 0xa43131c6f7a4f762, 0x37d3d38a593759bd, 0x8bf2f274868b86ff, 0x32d5d583563256b1, 0x438b8b4ec543c50d, 0x596e6e85eb59ebdc, 0xb7dada18c2b7c2af, 0x8c01018e8f8c8f02, 0x64b1b11dac64ac79, 0xd29c9cf16dd26d23, 0xe04949723be03b92, 0xb4d8d81fc7b4c7ab, 0xfaacacb915fa1543, 0x07f3f3fa090709fd, 0x25cfcfa06f256f85, 0xafcaca20eaafea8f, 0x8ef4f47d898e89f3, 0xe947476720e9208e, 0x1810103828182820, 0xd56f6f0b64d564de, 0x88f0f073838883fb, 0x6f4a4afbb16fb194, 0x725c5cca967296b8, 0x243838546c246c70, 0xf157575f08f108ae, 0xc773732152c752e6, 0x51979764f351f335, 0x23cbcbae6523658d, 0x7ca1a125847c8459, 0x9ce8e857bf9cbfcb, 0x213e3e5d6321637c, 0xdd9696ea7cdd7c37, 0xdc61611e7fdc7fc2, 0x860d0d9c9186911a, 0x850f0f9b9485941e, 0x90e0e04bab90abdb, 0x427c7cbac642c6f8, 0xc471712657c457e2, 0xaacccc29e5aae583, 0xd89090e373d8733b, 0x050606090f050f0c, 0x01f7f7f4030103f5, 0x121c1c2a36123638, 0xa3c2c23cfea3fe9f, 0x5f6a6a8be15fe1d4, 0xf9aeaebe10f91047, 0xd06969026bd06bd2, 0x911717bfa891a82e, 0x58999971e858e829, 0x273a3a5369276974, 0xb92727f7d0b9d04e, 0x38d9d991483848a9, 0x13ebebde351335cd, 0xb32b2be5ceb3ce56, 0x3322227755335544, 0xbbd2d204d6bbd6bf, 0x70a9a93990709049, 0x890707878089800e, 0xa73333c1f2a7f266, 0xb62d2decc1b6c15a, 0x223c3c5a66226678, 0x921515b8ad92ad2a, 0x20c9c9a960206089, 0x4987875cdb49db15, 0xffaaaab01aff1a4f, 0x785050d8887888a0, 0x7aa5a52b8e7a8e51, 0x8f0303898a8f8a06, 0xf859594a13f813b2, 0x800909929b809b12, 0x171a1a2339173934, 0xda65651075da75ca, 0x31d7d784533153b5, 0xc68484d551c65113, 0xb8d0d003d3b8d3bb, 0xc38282dc5ec35e1f, 0xb02929e2cbb0cb52, 0x775a5ac3997799b4, 0x111e1e2d3311333c, 0xcb7b7b3d46cb46f6, 0xfca8a8b71ffc1f4b, 0xd66d6d0c61d661da, 0x3a2c2c624e3a4e58], + [0x97a5c6c632f4a5f4, 0xeb84f8f86f978497, 0xc799eeee5eb099b0, 0xf78df6f67a8c8d8c, 0xe50dffffe8170d17, 0xb7bdd6d60adcbddc, 0xa7b1dede16c8b1c8, 0x395491916dfc54fc, 0xc050606090f050f0, 0x0403020207050305, 0x87a9cece2ee0a9e0, 0xac7d5656d1877d87, 0xd519e7e7cc2b192b, 0x7162b5b513a662a6, 0x9ae64d4d7c31e631, 0xc39aecec59b59ab5, 0x05458f8f40cf45cf, 0x3e9d1f1fa3bc9dbc, 0x0940898949c040c0, 0xef87fafa68928792, 0xc515efefd03f153f, 0x7febb2b29426eb26, 0x07c98e8ece40c940, 0xed0bfbfbe61d0b1d, 0x82ec41416e2fec2f, 0x7d67b3b31aa967a9, 0xbefd5f5f431cfd1c, 0x8aea45456025ea25, 0x46bf2323f9dabfda, 0xa6f753535102f702, 0xd396e4e445a196a1, 0x2d5b9b9b76ed5bed, 0xeac27575285dc25d, 0xd91ce1e1c5241c24, 0x7aae3d3dd4e9aee9, 0x986a4c4cf2be6abe, 0xd85a6c6c82ee5aee, 0xfc417e7ebdc341c3, 0xf102f5f5f3060206, 0x1d4f838352d14fd1, 0xd05c68688ce45ce4, 0xa2f451515607f407, 0xb934d1d18d5c345c, 0xe908f9f9e1180818, 0xdf93e2e24cae93ae, 0x4d73abab3e957395, 0xc453626297f553f5, 0x543f2a2a6b413f41, 0x100c08081c140c14, 0x3152959563f652f6, 0x8c654646e9af65af, 0x215e9d9d7fe25ee2, 0x6028303048782878, 0x6ea13737cff8a1f8, 0x140f0a0a1b110f11, 0x5eb52f2febc4b5c4, 0x1c090e0e151b091b, 0x483624247e5a365a, 0x369b1b1badb69bb6, 0xa53ddfdf98473d47, 0x8126cdcda76a266a, 0x9c694e4ef5bb69bb, 0xfecd7f7f334ccd4c, 0xcf9feaea50ba9fba, 0x241b12123f2d1b2d, 0x3a9e1d1da4b99eb9, 0xb0745858c49c749c, 0x682e343446722e72, 0x6c2d363641772d77, 0xa3b2dcdc11cdb2cd, 0x73eeb4b49d29ee29, 0xb6fb5b5b4d16fb16, 0x53f6a4a4a501f601, 0xec4d7676a1d74dd7, 0x7561b7b714a361a3, 0xface7d7d3449ce49, 0xa47b5252df8d7b8d, 0xa13edddd9f423e42, 0xbc715e5ecd937193, 0x26971313b1a297a2, 0x57f5a6a6a204f504, 0x6968b9b901b868b8, 0x0000000000000000, 0x992cc1c1b5742c74, 0x80604040e0a060a0, 0xdd1fe3e3c2211f21, 0xf2c879793a43c843, 0x77edb6b69a2ced2c, 0xb3bed4d40dd9bed9, 0x01468d8d47ca46ca, 0xced967671770d970, 0xe44b7272afdd4bdd, 0x33de9494ed79de79, 0x2bd49898ff67d467, 0x7be8b0b09323e823, 0x114a85855bde4ade, 0x6d6bbbbb06bd6bbd, 0x912ac5c5bb7e2a7e, 0x9ee54f4f7b34e534, 0xc116ededd73a163a, 0x17c58686d254c554, 0x2fd79a9af862d762, 0xcc55666699ff55ff, 0x22941111b6a794a7, 0x0fcf8a8ac04acf4a, 0xc910e9e9d9301030, 0x080604040e0a060a, 0xe781fefe66988198, 0x5bf0a0a0ab0bf00b, 0xf0447878b4cc44cc, 0x4aba2525f0d5bad5, 0x96e34b4b753ee33e, 0x5ff3a2a2ac0ef30e, 0xbafe5d5d4419fe19, 0x1bc08080db5bc05b, 0x0a8a050580858a85, 0x7ead3f3fd3ecadec, 0x42bc2121fedfbcdf, 0xe0487070a8d848d8, 0xf904f1f1fd0c040c, 0xc6df6363197adf7a, 0xeec177772f58c158, 0x4575afaf309f759f, 0x84634242e7a563a5, 0x4030202070503050, 0xd11ae5e5cb2e1a2e, 0xe10efdfdef120e12, 0x656dbfbf08b76db7, 0x194c818155d44cd4, 0x30141818243c143c, 0x4c352626795f355f, 0x9d2fc3c3b2712f71, 0x67e1bebe8638e138, 0x6aa23535c8fda2fd, 0x0bcc8888c74fcc4f, 0x5c392e2e654b394b, 0x3d5793936af957f9, 0xaaf25555580df20d, 0xe382fcfc619d829d, 0xf4477a7ab3c947c9, 0x8bacc8c827efacef, 0x6fe7baba8832e732, 0x642b32324f7d2b7d, 0xd795e6e642a495a4, 0x9ba0c0c03bfba0fb, 0x32981919aab398b3, 0x27d19e9ef668d168, 0x5d7fa3a322817f81, 0x88664444eeaa66aa, 0xa87e5454d6827e82, 0x76ab3b3bdde6abe6, 0x16830b0b959e839e, 0x03ca8c8cc945ca45, 0x9529c7c7bc7b297b, 0xd6d36b6b056ed36e, 0x503c28286c443c44, 0x5579a7a72c8b798b, 0x63e2bcbc813de23d, 0x2c1d161631271d27, 0x4176adad379a769a, 0xad3bdbdb964d3b4d, 0xc85664649efa56fa, 0xe84e7474a6d24ed2, 0x281e141436221e22, 0x3fdb9292e476db76, 0x180a0c0c121e0a1e, 0x906c4848fcb46cb4, 0x6be4b8b88f37e437, 0x255d9f9f78e75de7, 0x616ebdbd0fb26eb2, 0x86ef4343692aef2a, 0x93a6c4c435f1a6f1, 0x72a83939dae3a8e3, 0x62a43131c6f7a4f7, 0xbd37d3d38a593759, 0xff8bf2f274868b86, 0xb132d5d583563256, 0x0d438b8b4ec543c5, 0xdc596e6e85eb59eb, 0xafb7dada18c2b7c2, 0x028c01018e8f8c8f, 0x7964b1b11dac64ac, 0x23d29c9cf16dd26d, 0x92e04949723be03b, 0xabb4d8d81fc7b4c7, 0x43faacacb915fa15, 0xfd07f3f3fa090709, 0x8525cfcfa06f256f, 0x8fafcaca20eaafea, 0xf38ef4f47d898e89, 0x8ee947476720e920, 0x2018101038281828, 0xded56f6f0b64d564, 0xfb88f0f073838883, 0x946f4a4afbb16fb1, 0xb8725c5cca967296, 0x70243838546c246c, 0xaef157575f08f108, 0xe6c773732152c752, 0x3551979764f351f3, 0x8d23cbcbae652365, 0x597ca1a125847c84, 0xcb9ce8e857bf9cbf, 0x7c213e3e5d632163, 0x37dd9696ea7cdd7c, 0xc2dc61611e7fdc7f, 0x1a860d0d9c918691, 0x1e850f0f9b948594, 0xdb90e0e04bab90ab, 0xf8427c7cbac642c6, 0xe2c471712657c457, 0x83aacccc29e5aae5, 0x3bd89090e373d873, 0x0c050606090f050f, 0xf501f7f7f4030103, 0x38121c1c2a361236, 0x9fa3c2c23cfea3fe, 0xd45f6a6a8be15fe1, 0x47f9aeaebe10f910, 0xd2d06969026bd06b, 0x2e911717bfa891a8, 0x2958999971e858e8, 0x74273a3a53692769, 0x4eb92727f7d0b9d0, 0xa938d9d991483848, 0xcd13ebebde351335, 0x56b32b2be5ceb3ce, 0x4433222277553355, 0xbfbbd2d204d6bbd6, 0x4970a9a939907090, 0x0e89070787808980, 0x66a73333c1f2a7f2, 0x5ab62d2decc1b6c1, 0x78223c3c5a662266, 0x2a921515b8ad92ad, 0x8920c9c9a9602060, 0x154987875cdb49db, 0x4fffaaaab01aff1a, 0xa0785050d8887888, 0x517aa5a52b8e7a8e, 0x068f0303898a8f8a, 0xb2f859594a13f813, 0x12800909929b809b, 0x34171a1a23391739, 0xcada65651075da75, 0xb531d7d784533153, 0x13c68484d551c651, 0xbbb8d0d003d3b8d3, 0x1fc38282dc5ec35e, 0x52b02929e2cbb0cb, 0xb4775a5ac3997799, 0x3c111e1e2d331133, 0xf6cb7b7b3d46cb46, 0x4bfca8a8b71ffc1f, 0xdad66d6d0c61d661, 0x583a2c2c624e3a4e], + [0xf497a5c6c632f4a5, 0x97eb84f8f86f9784, 0xb0c799eeee5eb099, 0x8cf78df6f67a8c8d, 0x17e50dffffe8170d, 0xdcb7bdd6d60adcbd, 0xc8a7b1dede16c8b1, 0xfc395491916dfc54, 0xf0c050606090f050, 0x0504030202070503, 0xe087a9cece2ee0a9, 0x87ac7d5656d1877d, 0x2bd519e7e7cc2b19, 0xa67162b5b513a662, 0x319ae64d4d7c31e6, 0xb5c39aecec59b59a, 0xcf05458f8f40cf45, 0xbc3e9d1f1fa3bc9d, 0xc00940898949c040, 0x92ef87fafa689287, 0x3fc515efefd03f15, 0x267febb2b29426eb, 0x4007c98e8ece40c9, 0x1ded0bfbfbe61d0b, 0x2f82ec41416e2fec, 0xa97d67b3b31aa967, 0x1cbefd5f5f431cfd, 0x258aea45456025ea, 0xda46bf2323f9dabf, 0x02a6f753535102f7, 0xa1d396e4e445a196, 0xed2d5b9b9b76ed5b, 0x5deac27575285dc2, 0x24d91ce1e1c5241c, 0xe97aae3d3dd4e9ae, 0xbe986a4c4cf2be6a, 0xeed85a6c6c82ee5a, 0xc3fc417e7ebdc341, 0x06f102f5f5f30602, 0xd11d4f838352d14f, 0xe4d05c68688ce45c, 0x07a2f451515607f4, 0x5cb934d1d18d5c34, 0x18e908f9f9e11808, 0xaedf93e2e24cae93, 0x954d73abab3e9573, 0xf5c453626297f553, 0x41543f2a2a6b413f, 0x14100c08081c140c, 0xf63152959563f652, 0xaf8c654646e9af65, 0xe2215e9d9d7fe25e, 0x7860283030487828, 0xf86ea13737cff8a1, 0x11140f0a0a1b110f, 0xc45eb52f2febc4b5, 0x1b1c090e0e151b09, 0x5a483624247e5a36, 0xb6369b1b1badb69b, 0x47a53ddfdf98473d, 0x6a8126cdcda76a26, 0xbb9c694e4ef5bb69, 0x4cfecd7f7f334ccd, 0xbacf9feaea50ba9f, 0x2d241b12123f2d1b, 0xb93a9e1d1da4b99e, 0x9cb0745858c49c74, 0x72682e343446722e, 0x776c2d363641772d, 0xcda3b2dcdc11cdb2, 0x2973eeb4b49d29ee, 0x16b6fb5b5b4d16fb, 0x0153f6a4a4a501f6, 0xd7ec4d7676a1d74d, 0xa37561b7b714a361, 0x49face7d7d3449ce, 0x8da47b5252df8d7b, 0x42a13edddd9f423e, 0x93bc715e5ecd9371, 0xa226971313b1a297, 0x0457f5a6a6a204f5, 0xb86968b9b901b868, 0x0000000000000000, 0x74992cc1c1b5742c, 0xa080604040e0a060, 0x21dd1fe3e3c2211f, 0x43f2c879793a43c8, 0x2c77edb6b69a2ced, 0xd9b3bed4d40dd9be, 0xca01468d8d47ca46, 0x70ced967671770d9, 0xdde44b7272afdd4b, 0x7933de9494ed79de, 0x672bd49898ff67d4, 0x237be8b0b09323e8, 0xde114a85855bde4a, 0xbd6d6bbbbb06bd6b, 0x7e912ac5c5bb7e2a, 0x349ee54f4f7b34e5, 0x3ac116ededd73a16, 0x5417c58686d254c5, 0x622fd79a9af862d7, 0xffcc55666699ff55, 0xa722941111b6a794, 0x4a0fcf8a8ac04acf, 0x30c910e9e9d93010, 0x0a080604040e0a06, 0x98e781fefe669881, 0x0b5bf0a0a0ab0bf0, 0xccf0447878b4cc44, 0xd54aba2525f0d5ba, 0x3e96e34b4b753ee3, 0x0e5ff3a2a2ac0ef3, 0x19bafe5d5d4419fe, 0x5b1bc08080db5bc0, 0x850a8a050580858a, 0xec7ead3f3fd3ecad, 0xdf42bc2121fedfbc, 0xd8e0487070a8d848, 0x0cf904f1f1fd0c04, 0x7ac6df6363197adf, 0x58eec177772f58c1, 0x9f4575afaf309f75, 0xa584634242e7a563, 0x5040302020705030, 0x2ed11ae5e5cb2e1a, 0x12e10efdfdef120e, 0xb7656dbfbf08b76d, 0xd4194c818155d44c, 0x3c30141818243c14, 0x5f4c352626795f35, 0x719d2fc3c3b2712f, 0x3867e1bebe8638e1, 0xfd6aa23535c8fda2, 0x4f0bcc8888c74fcc, 0x4b5c392e2e654b39, 0xf93d5793936af957, 0x0daaf25555580df2, 0x9de382fcfc619d82, 0xc9f4477a7ab3c947, 0xef8bacc8c827efac, 0x326fe7baba8832e7, 0x7d642b32324f7d2b, 0xa4d795e6e642a495, 0xfb9ba0c0c03bfba0, 0xb332981919aab398, 0x6827d19e9ef668d1, 0x815d7fa3a322817f, 0xaa88664444eeaa66, 0x82a87e5454d6827e, 0xe676ab3b3bdde6ab, 0x9e16830b0b959e83, 0x4503ca8c8cc945ca, 0x7b9529c7c7bc7b29, 0x6ed6d36b6b056ed3, 0x44503c28286c443c, 0x8b5579a7a72c8b79, 0x3d63e2bcbc813de2, 0x272c1d161631271d, 0x9a4176adad379a76, 0x4dad3bdbdb964d3b, 0xfac85664649efa56, 0xd2e84e7474a6d24e, 0x22281e141436221e, 0x763fdb9292e476db, 0x1e180a0c0c121e0a, 0xb4906c4848fcb46c, 0x376be4b8b88f37e4, 0xe7255d9f9f78e75d, 0xb2616ebdbd0fb26e, 0x2a86ef4343692aef, 0xf193a6c4c435f1a6, 0xe372a83939dae3a8, 0xf762a43131c6f7a4, 0x59bd37d3d38a5937, 0x86ff8bf2f274868b, 0x56b132d5d5835632, 0xc50d438b8b4ec543, 0xebdc596e6e85eb59, 0xc2afb7dada18c2b7, 0x8f028c01018e8f8c, 0xac7964b1b11dac64, 0x6d23d29c9cf16dd2, 0x3b92e04949723be0, 0xc7abb4d8d81fc7b4, 0x1543faacacb915fa, 0x09fd07f3f3fa0907, 0x6f8525cfcfa06f25, 0xea8fafcaca20eaaf, 0x89f38ef4f47d898e, 0x208ee947476720e9, 0x2820181010382818, 0x64ded56f6f0b64d5, 0x83fb88f0f0738388, 0xb1946f4a4afbb16f, 0x96b8725c5cca9672, 0x6c70243838546c24, 0x08aef157575f08f1, 0x52e6c773732152c7, 0xf33551979764f351, 0x658d23cbcbae6523, 0x84597ca1a125847c, 0xbfcb9ce8e857bf9c, 0x637c213e3e5d6321, 0x7c37dd9696ea7cdd, 0x7fc2dc61611e7fdc, 0x911a860d0d9c9186, 0x941e850f0f9b9485, 0xabdb90e0e04bab90, 0xc6f8427c7cbac642, 0x57e2c471712657c4, 0xe583aacccc29e5aa, 0x733bd89090e373d8, 0x0f0c050606090f05, 0x03f501f7f7f40301, 0x3638121c1c2a3612, 0xfe9fa3c2c23cfea3, 0xe1d45f6a6a8be15f, 0x1047f9aeaebe10f9, 0x6bd2d06969026bd0, 0xa82e911717bfa891, 0xe82958999971e858, 0x6974273a3a536927, 0xd04eb92727f7d0b9, 0x48a938d9d9914838, 0x35cd13ebebde3513, 0xce56b32b2be5ceb3, 0x5544332222775533, 0xd6bfbbd2d204d6bb, 0x904970a9a9399070, 0x800e890707878089, 0xf266a73333c1f2a7, 0xc15ab62d2decc1b6, 0x6678223c3c5a6622, 0xad2a921515b8ad92, 0x608920c9c9a96020, 0xdb154987875cdb49, 0x1a4fffaaaab01aff, 0x88a0785050d88878, 0x8e517aa5a52b8e7a, 0x8a068f0303898a8f, 0x13b2f859594a13f8, 0x9b12800909929b80, 0x3934171a1a233917, 0x75cada65651075da, 0x53b531d7d7845331, 0x5113c68484d551c6, 0xd3bbb8d0d003d3b8, 0x5e1fc38282dc5ec3, 0xcb52b02929e2cbb0, 0x99b4775a5ac39977, 0x333c111e1e2d3311, 0x46f6cb7b7b3d46cb, 0x1f4bfca8a8b71ffc, 0x61dad66d6d0c61d6, 0x4e583a2c2c624e3a], + [0xa5f497a5c6c632f4, 0x8497eb84f8f86f97, 0x99b0c799eeee5eb0, 0x8d8cf78df6f67a8c, 0x0d17e50dffffe817, 0xbddcb7bdd6d60adc, 0xb1c8a7b1dede16c8, 0x54fc395491916dfc, 0x50f0c050606090f0, 0x0305040302020705, 0xa9e087a9cece2ee0, 0x7d87ac7d5656d187, 0x192bd519e7e7cc2b, 0x62a67162b5b513a6, 0xe6319ae64d4d7c31, 0x9ab5c39aecec59b5, 0x45cf05458f8f40cf, 0x9dbc3e9d1f1fa3bc, 0x40c00940898949c0, 0x8792ef87fafa6892, 0x153fc515efefd03f, 0xeb267febb2b29426, 0xc94007c98e8ece40, 0x0b1ded0bfbfbe61d, 0xec2f82ec41416e2f, 0x67a97d67b3b31aa9, 0xfd1cbefd5f5f431c, 0xea258aea45456025, 0xbfda46bf2323f9da, 0xf702a6f753535102, 0x96a1d396e4e445a1, 0x5bed2d5b9b9b76ed, 0xc25deac27575285d, 0x1c24d91ce1e1c524, 0xaee97aae3d3dd4e9, 0x6abe986a4c4cf2be, 0x5aeed85a6c6c82ee, 0x41c3fc417e7ebdc3, 0x0206f102f5f5f306, 0x4fd11d4f838352d1, 0x5ce4d05c68688ce4, 0xf407a2f451515607, 0x345cb934d1d18d5c, 0x0818e908f9f9e118, 0x93aedf93e2e24cae, 0x73954d73abab3e95, 0x53f5c453626297f5, 0x3f41543f2a2a6b41, 0x0c14100c08081c14, 0x52f63152959563f6, 0x65af8c654646e9af, 0x5ee2215e9d9d7fe2, 0x2878602830304878, 0xa1f86ea13737cff8, 0x0f11140f0a0a1b11, 0xb5c45eb52f2febc4, 0x091b1c090e0e151b, 0x365a483624247e5a, 0x9bb6369b1b1badb6, 0x3d47a53ddfdf9847, 0x266a8126cdcda76a, 0x69bb9c694e4ef5bb, 0xcd4cfecd7f7f334c, 0x9fbacf9feaea50ba, 0x1b2d241b12123f2d, 0x9eb93a9e1d1da4b9, 0x749cb0745858c49c, 0x2e72682e34344672, 0x2d776c2d36364177, 0xb2cda3b2dcdc11cd, 0xee2973eeb4b49d29, 0xfb16b6fb5b5b4d16, 0xf60153f6a4a4a501, 0x4dd7ec4d7676a1d7, 0x61a37561b7b714a3, 0xce49face7d7d3449, 0x7b8da47b5252df8d, 0x3e42a13edddd9f42, 0x7193bc715e5ecd93, 0x97a226971313b1a2, 0xf50457f5a6a6a204, 0x68b86968b9b901b8, 0x0000000000000000, 0x2c74992cc1c1b574, 0x60a080604040e0a0, 0x1f21dd1fe3e3c221, 0xc843f2c879793a43, 0xed2c77edb6b69a2c, 0xbed9b3bed4d40dd9, 0x46ca01468d8d47ca, 0xd970ced967671770, 0x4bdde44b7272afdd, 0xde7933de9494ed79, 0xd4672bd49898ff67, 0xe8237be8b0b09323, 0x4ade114a85855bde, 0x6bbd6d6bbbbb06bd, 0x2a7e912ac5c5bb7e, 0xe5349ee54f4f7b34, 0x163ac116ededd73a, 0xc55417c58686d254, 0xd7622fd79a9af862, 0x55ffcc55666699ff, 0x94a722941111b6a7, 0xcf4a0fcf8a8ac04a, 0x1030c910e9e9d930, 0x060a080604040e0a, 0x8198e781fefe6698, 0xf00b5bf0a0a0ab0b, 0x44ccf0447878b4cc, 0xbad54aba2525f0d5, 0xe33e96e34b4b753e, 0xf30e5ff3a2a2ac0e, 0xfe19bafe5d5d4419, 0xc05b1bc08080db5b, 0x8a850a8a05058085, 0xadec7ead3f3fd3ec, 0xbcdf42bc2121fedf, 0x48d8e0487070a8d8, 0x040cf904f1f1fd0c, 0xdf7ac6df6363197a, 0xc158eec177772f58, 0x759f4575afaf309f, 0x63a584634242e7a5, 0x3050403020207050, 0x1a2ed11ae5e5cb2e, 0x0e12e10efdfdef12, 0x6db7656dbfbf08b7, 0x4cd4194c818155d4, 0x143c30141818243c, 0x355f4c352626795f, 0x2f719d2fc3c3b271, 0xe13867e1bebe8638, 0xa2fd6aa23535c8fd, 0xcc4f0bcc8888c74f, 0x394b5c392e2e654b, 0x57f93d5793936af9, 0xf20daaf25555580d, 0x829de382fcfc619d, 0x47c9f4477a7ab3c9, 0xacef8bacc8c827ef, 0xe7326fe7baba8832, 0x2b7d642b32324f7d, 0x95a4d795e6e642a4, 0xa0fb9ba0c0c03bfb, 0x98b332981919aab3, 0xd16827d19e9ef668, 0x7f815d7fa3a32281, 0x66aa88664444eeaa, 0x7e82a87e5454d682, 0xabe676ab3b3bdde6, 0x839e16830b0b959e, 0xca4503ca8c8cc945, 0x297b9529c7c7bc7b, 0xd36ed6d36b6b056e, 0x3c44503c28286c44, 0x798b5579a7a72c8b, 0xe23d63e2bcbc813d, 0x1d272c1d16163127, 0x769a4176adad379a, 0x3b4dad3bdbdb964d, 0x56fac85664649efa, 0x4ed2e84e7474a6d2, 0x1e22281e14143622, 0xdb763fdb9292e476, 0x0a1e180a0c0c121e, 0x6cb4906c4848fcb4, 0xe4376be4b8b88f37, 0x5de7255d9f9f78e7, 0x6eb2616ebdbd0fb2, 0xef2a86ef4343692a, 0xa6f193a6c4c435f1, 0xa8e372a83939dae3, 0xa4f762a43131c6f7, 0x3759bd37d3d38a59, 0x8b86ff8bf2f27486, 0x3256b132d5d58356, 0x43c50d438b8b4ec5, 0x59ebdc596e6e85eb, 0xb7c2afb7dada18c2, 0x8c8f028c01018e8f, 0x64ac7964b1b11dac, 0xd26d23d29c9cf16d, 0xe03b92e04949723b, 0xb4c7abb4d8d81fc7, 0xfa1543faacacb915, 0x0709fd07f3f3fa09, 0x256f8525cfcfa06f, 0xafea8fafcaca20ea, 0x8e89f38ef4f47d89, 0xe9208ee947476720, 0x1828201810103828, 0xd564ded56f6f0b64, 0x8883fb88f0f07383, 0x6fb1946f4a4afbb1, 0x7296b8725c5cca96, 0x246c70243838546c, 0xf108aef157575f08, 0xc752e6c773732152, 0x51f33551979764f3, 0x23658d23cbcbae65, 0x7c84597ca1a12584, 0x9cbfcb9ce8e857bf, 0x21637c213e3e5d63, 0xdd7c37dd9696ea7c, 0xdc7fc2dc61611e7f, 0x86911a860d0d9c91, 0x85941e850f0f9b94, 0x90abdb90e0e04bab, 0x42c6f8427c7cbac6, 0xc457e2c471712657, 0xaae583aacccc29e5, 0xd8733bd89090e373, 0x050f0c050606090f, 0x0103f501f7f7f403, 0x123638121c1c2a36, 0xa3fe9fa3c2c23cfe, 0x5fe1d45f6a6a8be1, 0xf91047f9aeaebe10, 0xd06bd2d06969026b, 0x91a82e911717bfa8, 0x58e82958999971e8, 0x276974273a3a5369, 0xb9d04eb92727f7d0, 0x3848a938d9d99148, 0x1335cd13ebebde35, 0xb3ce56b32b2be5ce, 0x3355443322227755, 0xbbd6bfbbd2d204d6, 0x70904970a9a93990, 0x89800e8907078780, 0xa7f266a73333c1f2, 0xb6c15ab62d2decc1, 0x226678223c3c5a66, 0x92ad2a921515b8ad, 0x20608920c9c9a960, 0x49db154987875cdb, 0xff1a4fffaaaab01a, 0x7888a0785050d888, 0x7a8e517aa5a52b8e, 0x8f8a068f0303898a, 0xf813b2f859594a13, 0x809b12800909929b, 0x173934171a1a2339, 0xda75cada65651075, 0x3153b531d7d78453, 0xc65113c68484d551, 0xb8d3bbb8d0d003d3, 0xc35e1fc38282dc5e, 0xb0cb52b02929e2cb, 0x7799b4775a5ac399, 0x11333c111e1e2d33, 0xcb46f6cb7b7b3d46, 0xfc1f4bfca8a8b71f, 0xd661dad66d6d0c61, 0x3a4e583a2c2c624e], + [0xf4a5f497a5c6c632, 0x978497eb84f8f86f, 0xb099b0c799eeee5e, 0x8c8d8cf78df6f67a, 0x170d17e50dffffe8, 0xdcbddcb7bdd6d60a, 0xc8b1c8a7b1dede16, 0xfc54fc395491916d, 0xf050f0c050606090, 0x0503050403020207, 0xe0a9e087a9cece2e, 0x877d87ac7d5656d1, 0x2b192bd519e7e7cc, 0xa662a67162b5b513, 0x31e6319ae64d4d7c, 0xb59ab5c39aecec59, 0xcf45cf05458f8f40, 0xbc9dbc3e9d1f1fa3, 0xc040c00940898949, 0x928792ef87fafa68, 0x3f153fc515efefd0, 0x26eb267febb2b294, 0x40c94007c98e8ece, 0x1d0b1ded0bfbfbe6, 0x2fec2f82ec41416e, 0xa967a97d67b3b31a, 0x1cfd1cbefd5f5f43, 0x25ea258aea454560, 0xdabfda46bf2323f9, 0x02f702a6f7535351, 0xa196a1d396e4e445, 0xed5bed2d5b9b9b76, 0x5dc25deac2757528, 0x241c24d91ce1e1c5, 0xe9aee97aae3d3dd4, 0xbe6abe986a4c4cf2, 0xee5aeed85a6c6c82, 0xc341c3fc417e7ebd, 0x060206f102f5f5f3, 0xd14fd11d4f838352, 0xe45ce4d05c68688c, 0x07f407a2f4515156, 0x5c345cb934d1d18d, 0x180818e908f9f9e1, 0xae93aedf93e2e24c, 0x9573954d73abab3e, 0xf553f5c453626297, 0x413f41543f2a2a6b, 0x140c14100c08081c, 0xf652f63152959563, 0xaf65af8c654646e9, 0xe25ee2215e9d9d7f, 0x7828786028303048, 0xf8a1f86ea13737cf, 0x110f11140f0a0a1b, 0xc4b5c45eb52f2feb, 0x1b091b1c090e0e15, 0x5a365a483624247e, 0xb69bb6369b1b1bad, 0x473d47a53ddfdf98, 0x6a266a8126cdcda7, 0xbb69bb9c694e4ef5, 0x4ccd4cfecd7f7f33, 0xba9fbacf9feaea50, 0x2d1b2d241b12123f, 0xb99eb93a9e1d1da4, 0x9c749cb0745858c4, 0x722e72682e343446, 0x772d776c2d363641, 0xcdb2cda3b2dcdc11, 0x29ee2973eeb4b49d, 0x16fb16b6fb5b5b4d, 0x01f60153f6a4a4a5, 0xd74dd7ec4d7676a1, 0xa361a37561b7b714, 0x49ce49face7d7d34, 0x8d7b8da47b5252df, 0x423e42a13edddd9f, 0x937193bc715e5ecd, 0xa297a226971313b1, 0x04f50457f5a6a6a2, 0xb868b86968b9b901, 0x0000000000000000, 0x742c74992cc1c1b5, 0xa060a080604040e0, 0x211f21dd1fe3e3c2, 0x43c843f2c879793a, 0x2ced2c77edb6b69a, 0xd9bed9b3bed4d40d, 0xca46ca01468d8d47, 0x70d970ced9676717, 0xdd4bdde44b7272af, 0x79de7933de9494ed, 0x67d4672bd49898ff, 0x23e8237be8b0b093, 0xde4ade114a85855b, 0xbd6bbd6d6bbbbb06, 0x7e2a7e912ac5c5bb, 0x34e5349ee54f4f7b, 0x3a163ac116ededd7, 0x54c55417c58686d2, 0x62d7622fd79a9af8, 0xff55ffcc55666699, 0xa794a722941111b6, 0x4acf4a0fcf8a8ac0, 0x301030c910e9e9d9, 0x0a060a080604040e, 0x988198e781fefe66, 0x0bf00b5bf0a0a0ab, 0xcc44ccf0447878b4, 0xd5bad54aba2525f0, 0x3ee33e96e34b4b75, 0x0ef30e5ff3a2a2ac, 0x19fe19bafe5d5d44, 0x5bc05b1bc08080db, 0x858a850a8a050580, 0xecadec7ead3f3fd3, 0xdfbcdf42bc2121fe, 0xd848d8e0487070a8, 0x0c040cf904f1f1fd, 0x7adf7ac6df636319, 0x58c158eec177772f, 0x9f759f4575afaf30, 0xa563a584634242e7, 0x5030504030202070, 0x2e1a2ed11ae5e5cb, 0x120e12e10efdfdef, 0xb76db7656dbfbf08, 0xd44cd4194c818155, 0x3c143c3014181824, 0x5f355f4c35262679, 0x712f719d2fc3c3b2, 0x38e13867e1bebe86, 0xfda2fd6aa23535c8, 0x4fcc4f0bcc8888c7, 0x4b394b5c392e2e65, 0xf957f93d5793936a, 0x0df20daaf2555558, 0x9d829de382fcfc61, 0xc947c9f4477a7ab3, 0xefacef8bacc8c827, 0x32e7326fe7baba88, 0x7d2b7d642b32324f, 0xa495a4d795e6e642, 0xfba0fb9ba0c0c03b, 0xb398b332981919aa, 0x68d16827d19e9ef6, 0x817f815d7fa3a322, 0xaa66aa88664444ee, 0x827e82a87e5454d6, 0xe6abe676ab3b3bdd, 0x9e839e16830b0b95, 0x45ca4503ca8c8cc9, 0x7b297b9529c7c7bc, 0x6ed36ed6d36b6b05, 0x443c44503c28286c, 0x8b798b5579a7a72c, 0x3de23d63e2bcbc81, 0x271d272c1d161631, 0x9a769a4176adad37, 0x4d3b4dad3bdbdb96, 0xfa56fac85664649e, 0xd24ed2e84e7474a6, 0x221e22281e141436, 0x76db763fdb9292e4, 0x1e0a1e180a0c0c12, 0xb46cb4906c4848fc, 0x37e4376be4b8b88f, 0xe75de7255d9f9f78, 0xb26eb2616ebdbd0f, 0x2aef2a86ef434369, 0xf1a6f193a6c4c435, 0xe3a8e372a83939da, 0xf7a4f762a43131c6, 0x593759bd37d3d38a, 0x868b86ff8bf2f274, 0x563256b132d5d583, 0xc543c50d438b8b4e, 0xeb59ebdc596e6e85, 0xc2b7c2afb7dada18, 0x8f8c8f028c01018e, 0xac64ac7964b1b11d, 0x6dd26d23d29c9cf1, 0x3be03b92e0494972, 0xc7b4c7abb4d8d81f, 0x15fa1543faacacb9, 0x090709fd07f3f3fa, 0x6f256f8525cfcfa0, 0xeaafea8fafcaca20, 0x898e89f38ef4f47d, 0x20e9208ee9474767, 0x2818282018101038, 0x64d564ded56f6f0b, 0x838883fb88f0f073, 0xb16fb1946f4a4afb, 0x967296b8725c5cca, 0x6c246c7024383854, 0x08f108aef157575f, 0x52c752e6c7737321, 0xf351f33551979764, 0x6523658d23cbcbae, 0x847c84597ca1a125, 0xbf9cbfcb9ce8e857, 0x6321637c213e3e5d, 0x7cdd7c37dd9696ea, 0x7fdc7fc2dc61611e, 0x9186911a860d0d9c, 0x9485941e850f0f9b, 0xab90abdb90e0e04b, 0xc642c6f8427c7cba, 0x57c457e2c4717126, 0xe5aae583aacccc29, 0x73d8733bd89090e3, 0x0f050f0c05060609, 0x030103f501f7f7f4, 0x36123638121c1c2a, 0xfea3fe9fa3c2c23c, 0xe15fe1d45f6a6a8b, 0x10f91047f9aeaebe, 0x6bd06bd2d0696902, 0xa891a82e911717bf, 0xe858e82958999971, 0x69276974273a3a53, 0xd0b9d04eb92727f7, 0x483848a938d9d991, 0x351335cd13ebebde, 0xceb3ce56b32b2be5, 0x5533554433222277, 0xd6bbd6bfbbd2d204, 0x9070904970a9a939, 0x8089800e89070787, 0xf2a7f266a73333c1, 0xc1b6c15ab62d2dec, 0x66226678223c3c5a, 0xad92ad2a921515b8, 0x6020608920c9c9a9, 0xdb49db154987875c, 0x1aff1a4fffaaaab0, 0x887888a0785050d8, 0x8e7a8e517aa5a52b, 0x8a8f8a068f030389, 0x13f813b2f859594a, 0x9b809b1280090992, 0x39173934171a1a23, 0x75da75cada656510, 0x533153b531d7d784, 0x51c65113c68484d5, 0xd3b8d3bbb8d0d003, 0x5ec35e1fc38282dc, 0xcbb0cb52b02929e2, 0x997799b4775a5ac3, 0x3311333c111e1e2d, 0x46cb46f6cb7b7b3d, 0x1ffc1f4bfca8a8b7, 0x61d661dad66d6d0c, 0x4e3a4e583a2c2c62], + [0x32f4a5f497a5c6c6, 0x6f978497eb84f8f8, 0x5eb099b0c799eeee, 0x7a8c8d8cf78df6f6, 0xe8170d17e50dffff, 0x0adcbddcb7bdd6d6, 0x16c8b1c8a7b1dede, 0x6dfc54fc39549191, 0x90f050f0c0506060, 0x0705030504030202, 0x2ee0a9e087a9cece, 0xd1877d87ac7d5656, 0xcc2b192bd519e7e7, 0x13a662a67162b5b5, 0x7c31e6319ae64d4d, 0x59b59ab5c39aecec, 0x40cf45cf05458f8f, 0xa3bc9dbc3e9d1f1f, 0x49c040c009408989, 0x68928792ef87fafa, 0xd03f153fc515efef, 0x9426eb267febb2b2, 0xce40c94007c98e8e, 0xe61d0b1ded0bfbfb, 0x6e2fec2f82ec4141, 0x1aa967a97d67b3b3, 0x431cfd1cbefd5f5f, 0x6025ea258aea4545, 0xf9dabfda46bf2323, 0x5102f702a6f75353, 0x45a196a1d396e4e4, 0x76ed5bed2d5b9b9b, 0x285dc25deac27575, 0xc5241c24d91ce1e1, 0xd4e9aee97aae3d3d, 0xf2be6abe986a4c4c, 0x82ee5aeed85a6c6c, 0xbdc341c3fc417e7e, 0xf3060206f102f5f5, 0x52d14fd11d4f8383, 0x8ce45ce4d05c6868, 0x5607f407a2f45151, 0x8d5c345cb934d1d1, 0xe1180818e908f9f9, 0x4cae93aedf93e2e2, 0x3e9573954d73abab, 0x97f553f5c4536262, 0x6b413f41543f2a2a, 0x1c140c14100c0808, 0x63f652f631529595, 0xe9af65af8c654646, 0x7fe25ee2215e9d9d, 0x4878287860283030, 0xcff8a1f86ea13737, 0x1b110f11140f0a0a, 0xebc4b5c45eb52f2f, 0x151b091b1c090e0e, 0x7e5a365a48362424, 0xadb69bb6369b1b1b, 0x98473d47a53ddfdf, 0xa76a266a8126cdcd, 0xf5bb69bb9c694e4e, 0x334ccd4cfecd7f7f, 0x50ba9fbacf9feaea, 0x3f2d1b2d241b1212, 0xa4b99eb93a9e1d1d, 0xc49c749cb0745858, 0x46722e72682e3434, 0x41772d776c2d3636, 0x11cdb2cda3b2dcdc, 0x9d29ee2973eeb4b4, 0x4d16fb16b6fb5b5b, 0xa501f60153f6a4a4, 0xa1d74dd7ec4d7676, 0x14a361a37561b7b7, 0x3449ce49face7d7d, 0xdf8d7b8da47b5252, 0x9f423e42a13edddd, 0xcd937193bc715e5e, 0xb1a297a226971313, 0xa204f50457f5a6a6, 0x01b868b86968b9b9, 0x0000000000000000, 0xb5742c74992cc1c1, 0xe0a060a080604040, 0xc2211f21dd1fe3e3, 0x3a43c843f2c87979, 0x9a2ced2c77edb6b6, 0x0dd9bed9b3bed4d4, 0x47ca46ca01468d8d, 0x1770d970ced96767, 0xafdd4bdde44b7272, 0xed79de7933de9494, 0xff67d4672bd49898, 0x9323e8237be8b0b0, 0x5bde4ade114a8585, 0x06bd6bbd6d6bbbbb, 0xbb7e2a7e912ac5c5, 0x7b34e5349ee54f4f, 0xd73a163ac116eded, 0xd254c55417c58686, 0xf862d7622fd79a9a, 0x99ff55ffcc556666, 0xb6a794a722941111, 0xc04acf4a0fcf8a8a, 0xd9301030c910e9e9, 0x0e0a060a08060404, 0x66988198e781fefe, 0xab0bf00b5bf0a0a0, 0xb4cc44ccf0447878, 0xf0d5bad54aba2525, 0x753ee33e96e34b4b, 0xac0ef30e5ff3a2a2, 0x4419fe19bafe5d5d, 0xdb5bc05b1bc08080, 0x80858a850a8a0505, 0xd3ecadec7ead3f3f, 0xfedfbcdf42bc2121, 0xa8d848d8e0487070, 0xfd0c040cf904f1f1, 0x197adf7ac6df6363, 0x2f58c158eec17777, 0x309f759f4575afaf, 0xe7a563a584634242, 0x7050305040302020, 0xcb2e1a2ed11ae5e5, 0xef120e12e10efdfd, 0x08b76db7656dbfbf, 0x55d44cd4194c8181, 0x243c143c30141818, 0x795f355f4c352626, 0xb2712f719d2fc3c3, 0x8638e13867e1bebe, 0xc8fda2fd6aa23535, 0xc74fcc4f0bcc8888, 0x654b394b5c392e2e, 0x6af957f93d579393, 0x580df20daaf25555, 0x619d829de382fcfc, 0xb3c947c9f4477a7a, 0x27efacef8bacc8c8, 0x8832e7326fe7baba, 0x4f7d2b7d642b3232, 0x42a495a4d795e6e6, 0x3bfba0fb9ba0c0c0, 0xaab398b332981919, 0xf668d16827d19e9e, 0x22817f815d7fa3a3, 0xeeaa66aa88664444, 0xd6827e82a87e5454, 0xdde6abe676ab3b3b, 0x959e839e16830b0b, 0xc945ca4503ca8c8c, 0xbc7b297b9529c7c7, 0x056ed36ed6d36b6b, 0x6c443c44503c2828, 0x2c8b798b5579a7a7, 0x813de23d63e2bcbc, 0x31271d272c1d1616, 0x379a769a4176adad, 0x964d3b4dad3bdbdb, 0x9efa56fac8566464, 0xa6d24ed2e84e7474, 0x36221e22281e1414, 0xe476db763fdb9292, 0x121e0a1e180a0c0c, 0xfcb46cb4906c4848, 0x8f37e4376be4b8b8, 0x78e75de7255d9f9f, 0x0fb26eb2616ebdbd, 0x692aef2a86ef4343, 0x35f1a6f193a6c4c4, 0xdae3a8e372a83939, 0xc6f7a4f762a43131, 0x8a593759bd37d3d3, 0x74868b86ff8bf2f2, 0x83563256b132d5d5, 0x4ec543c50d438b8b, 0x85eb59ebdc596e6e, 0x18c2b7c2afb7dada, 0x8e8f8c8f028c0101, 0x1dac64ac7964b1b1, 0xf16dd26d23d29c9c, 0x723be03b92e04949, 0x1fc7b4c7abb4d8d8, 0xb915fa1543faacac, 0xfa090709fd07f3f3, 0xa06f256f8525cfcf, 0x20eaafea8fafcaca, 0x7d898e89f38ef4f4, 0x6720e9208ee94747, 0x3828182820181010, 0x0b64d564ded56f6f, 0x73838883fb88f0f0, 0xfbb16fb1946f4a4a, 0xca967296b8725c5c, 0x546c246c70243838, 0x5f08f108aef15757, 0x2152c752e6c77373, 0x64f351f335519797, 0xae6523658d23cbcb, 0x25847c84597ca1a1, 0x57bf9cbfcb9ce8e8, 0x5d6321637c213e3e, 0xea7cdd7c37dd9696, 0x1e7fdc7fc2dc6161, 0x9c9186911a860d0d, 0x9b9485941e850f0f, 0x4bab90abdb90e0e0, 0xbac642c6f8427c7c, 0x2657c457e2c47171, 0x29e5aae583aacccc, 0xe373d8733bd89090, 0x090f050f0c050606, 0xf4030103f501f7f7, 0x2a36123638121c1c, 0x3cfea3fe9fa3c2c2, 0x8be15fe1d45f6a6a, 0xbe10f91047f9aeae, 0x026bd06bd2d06969, 0xbfa891a82e911717, 0x71e858e829589999, 0x5369276974273a3a, 0xf7d0b9d04eb92727, 0x91483848a938d9d9, 0xde351335cd13ebeb, 0xe5ceb3ce56b32b2b, 0x7755335544332222, 0x04d6bbd6bfbbd2d2, 0x399070904970a9a9, 0x878089800e890707, 0xc1f2a7f266a73333, 0xecc1b6c15ab62d2d, 0x5a66226678223c3c, 0xb8ad92ad2a921515, 0xa96020608920c9c9, 0x5cdb49db15498787, 0xb01aff1a4fffaaaa, 0xd8887888a0785050, 0x2b8e7a8e517aa5a5, 0x898a8f8a068f0303, 0x4a13f813b2f85959, 0x929b809b12800909, 0x2339173934171a1a, 0x1075da75cada6565, 0x84533153b531d7d7, 0xd551c65113c68484, 0x03d3b8d3bbb8d0d0, 0xdc5ec35e1fc38282, 0xe2cbb0cb52b02929, 0xc3997799b4775a5a, 0x2d3311333c111e1e, 0x3d46cb46f6cb7b7b, 0xb71ffc1f4bfca8a8, 0x0c61d661dad66d6d, 0x624e3a4e583a2c2c], +]; diff --git a/groestl/tests/data/groestl224.blb b/groestl/tests/data/groestl224.blb index 090b5473e7e417908a70d4737e6dfaab9f0a765f..1705d414cfc570f59fdadfc3c773c02eac1e6ad6 100644 GIT binary patch delta 5591 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 delta 5599 zcmWmHcQ}{d8^H07?3IyyJXZDyMY2LdGD67SR5mF^viH6v8Bv)fm2WB~MHv-^L`Wj3 zNFt%3e&_e!>vFx%{kflyi|agXEi@_jX!d&s1bcd(P}zW&CS!j)7`GOhy-J)?+Usf1 zc}ce8_#d-Rj{>(pLOs~?y`Qh#1n}`#rkozuYv0wb<{o?V_-MCrt5PHL*I@&3X%DSn zn+xFu3O`szek6CM!RQd2q&Y<4V0XP1dGk#3wR*upao=XuFZHH>A%?n zFL7m$_gly4SyP(_!>fx<9fi>Od~{d&Y0hB|{q;y_Vu>WDlvpu30cNZxC|neAd3;;# zSP64zqsaK`NSHTU(R#1x?3q6ET(Ofd&3cmLZfqDu!6~*V;-AFPz{egoAF}~cI|_qy&k29tF;cWH&shwh~&p86AJk=DeQc!>fy;6Rp1;phPMrYtYbw&x(SDD(+iRNxdjmcTKbS^{``#g!hgc=$3u;Og?DxIru+%16uEi#{^B1O zAD0qPktiW~uLMS=Fegz;oVo?0GN|5CM&ZMz>&Y`ev;;rX9!+RuZO&({!)~ox+UvU~ z==f5l2ibTbOlN3r7^ky zPo*yq2gqP_5z=KY5-ZALbP4v!ULsx~t^_u@N(y^vB+y;?_v>x1-TT}d+{M%Hf^Rx( zcYI`OM$aiy1$}Z=6yAc?{VGR;tFI{w#2MO`Tkdl^s-+mrc$xjR{tW9c7*xGR;pTyTecs=< zKe`xkLUY~yoxqR(&V2d#wyLw(MD5{qxVY^)h3$G%-cJYSuj-t8^*-Rl!AMTVzV`KS zudb;8kJC3Gbo&houlJ5F|4a;h*r&@W&;F^M_g2l5E$6MO`hDN2{b&SzwMGgnHLD$N z9eUIBl-i#1O~UU1=Z`-hWIx^ex^gY?(0{ z@V0HxP1wBSCiym=?7*lAKJI8DF4Ms17TnXgMPWIG!^dybZTR7NjQ0A7`qaxc>%}FG z*cwNb=4!j!kh}9X$xSpdx&ywNcZfx_Flq)Jt!4^~S$YqM&Gj*Q2>$vHi4_bmY6DY)He%M@ z7`21k?snpN;zz(@_=xz0Ax4j3-taMn8>})4zx;6>DBCI|bz@g%>DRW<*-ax)^`mEf z=sKWpPX~n;ZtIA(8z$`b*;o^~DgQV7553YStWv|7;@T{$op95rlT3^<#;6O<8FvwT zm|$8O{ofekOz^hNQyx%MMsJrhllswCuc5-vcx25ACyM*i%}aY+cq7^@$uqdh6k}A7 zR3v!%>dpHRjNQ<0(oMz`@5Sf|+}Znt!t;6d4vrB4d-MiqC*(>y+gvLB0t%2v&AWp< zNl&4|^eM^x_hIx5()K;0FkVbJbJ48pK1+dn@%7^pNsQGZE3IdWAAGUP?e2kavmTP` znPb!ouI9bO3KkeW2UCmZ!~&KWy?`B-FDT4kpU~GW&Cq0hkV$u&y<8hzJ zZk544klf!#ZcGfu?gym4o^F~d>Y7@~x|CH&-&c2DhQ8sQpHn|w1P5fM z_gghxDLq#ttvF*?!r{8@6r=0oNuJkla^C)a^Lfz1?C#%4!>9(W1L_=dWC?4G24IKv z09lCH2BViCWAl>u5Ah%f9vCEEIDpYBV6%Ni;cxSH?ybsRR|irqCs$qnDsCI_;b^-> z?W%Oy3xy#-c0(k8ZHLh?tk?|`Kexx|HGHvuO<`&z_NiWvlnpz4How2;vSTY&ad3;d zrjsJbf8g8Hr8hw1{Dz#LaK>mH)}6}mUwSr>M_gJrjO6xLrp;==Dw|G4^8qpxO@Av5#uaE)c-QUA{d z`PP&0-F=e6-Q$*0zgzO!d&c>7uE(6ajmF-)g;ObyE6Fc?3ch5qrJm zGZ-HJOmd|o7|nv&ky#2GM=CBL-b>x5;G*TG>%FG_HuBJg^?}%MHZz6Y}Dd2)nllV%1i(%4_%wN`*=Ix5)PW^{;U%?ra82ttL*uTVbaTxsrlemAxCh-^xMs=I`t^EAF{%Ddm zph45RD`qe$nSILrJqr)H6~<#E1ZD9;ByNt!T6j~2V$O?^q0E16(JyZBg_PI~cza&@ zZuC3)#2r_x+`}01c!#NI%>I2N#-|*@&-;3Pyq$hr?v84HlQ3{32$LyF37Br9NJ=yY z%LI%l2uPsFPcw)`pf*8-xSLoMJ|u`zIA?=V0O#K7{Fr-~v7u8zeQwyDu{|i| zF=8N*C`Msk`%pPk-e}#bJq?e;i*7sHM$MF;G3$Mqao)a396S@n$senH+qqB{|Esp5 z{hjsc#ukhR%4IU{RA@1!@aRgw#Y71Tn;ca>5SG~AOyBuxif$yzAZS}!L(9P@vdfMS zsWR&LNhD`Xp&R{PCiC<-HU>Ci8SLm#g&5*5aGH z_O$rCnt5Ah@Se8q%laSuBb!B$wI=Ixmyo}So5fzvm8b*9H(Y(rrfwvOI<3 zIenHNy3&o+(PSGAJvvPLKGr>Z?2cjA_g(5Y6hI|Kf#j|!7%4(jiXw3xu@ZEqC{cKa zMWf!#)D|7fb;F7I0H)DJchDlHGLU@oIs(Y%q( zrl|Ub(&d#X?vTswTsur=iPNbv##lJzUau>2El3D zD7J+Wi8;&)FQcMCYGe{{K0bDLKeFV1TkOO`87;M#ek>i9P0(GRg3g$ z=22lK&iQ-VkejJZ`rb^8bYM19hgc>HBVE{&rAuKc(GLnwHx?+iBzlInO-L$GIi_4Q z%fIql0TH8$fHe0Wr$KXg7%D>?SX8ML$mo zTSPx{J1mvWydGDU zcit?OHkq{V#o%JQrn2QOC+IqU&*3SWD5k=@ZEAy_d_Ak|HVmFI@sy?kZ!j*KBX-4qMB0Tu}7 z7hq%wRDmTK9#nv(8BHxkw; z4sgH7K?b+8JDV^F*~QDN#|=aX_R1$ua}LCHepUX{H*<$c#P^DR(tL?m1P0x67&(IT zIY;vUEXCA6Lp@ITZQX8hS2b31pXFJbj{ek>G|EMVPVnlS6Zr&{VvL-@ve=opp4bJR z7Q6g^ixP}n!KlQQykj?=BZE`VL4@*5L%r@J?m-uiwWXLm)Zd^Me!C~!Y&cUgw=i9rNPI`h~nJ0Pg)lwVn z-y55uQtMYaxxRm{jwK-fkdrUJ-h1hPhwW-Y diff --git a/groestl/tests/data/groestl256.blb b/groestl/tests/data/groestl256.blb index b24aed4db07b5c3caefba62ab0c9a975a83fcc51..122de3971d024919c9e66e1ceeb0aadda7e06ac5 100644 GIT binary patch delta 4316 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 delta 4132 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 Cl~?Ql diff --git a/groestl/tests/data/groestl384.blb b/groestl/tests/data/groestl384.blb index 72174f6a8d5211772557f7e6ba26de889ab21d23..cf0e6a1522610915b71ec9c48d12f9bb4c33cff3 100644 GIT binary patch delta 3509 zcmW;Oc~s2_AIEX`N>WKGZPIe3z5Jw_rcLEak~VFU`jw>8hDxeQvP71a4@HSAl@{5? zG7Q5QGYm6^8SBJ6Lt`1#G{ZbYhUfEp{<-JebjT2~W`r)gd-f|)Y+46aaNV*c=W4g^PDi8NI=!_9O8on5rSGSv0IHu#tpT_gmMItg8UIn zh^G=#VWhs4*rZOR;jDTdFUrb_9F!?!@0d))qmQ` zd*5%q@uP_Jk-X=kVPqlix?02%D7BUoXC>sJU#p177)2DIaa1v3piLAaP`iYHdQ88W^ZTePGG4rbGy5&#%N4M@8t`Ko) zJSPr#Gro?KYD>Zi=Pm1rITHv0l@qoR{G5u-`>ov=?;DBU;ruEw0|LRK~QFJ}9&(;M?H9 zjW66Cnz^|v!5`|5yNNDGLW%p1dx$b8A^?Y-_7YJOi9oEKxR0}4vs2ZiD;a3?Icp%h*)fO>mvL=BI2<0qXUG6I}wiv_ijS=F_8f0j}HZVvnha zPrbQH!*AZ7a@F8NWZ;U=F=FKuA`?fZ94FF!iEK3Zo**Lph+M4lJ4tx?6HAcg{~2LD zmB>Tv)Ki46k|=;ud0HmcPGc8h(zMTc=#x+cvw$3m!Nn+U~p&Pp(Q`dQ9&0*O*g4g7)_Izy0`4}r^!bHr;2a##hOC!PioDlnS)CDAjJ zP{qjL3&izcLJjg+UlHHTBGmEEtc%3i5JD6EAzu^6LkTTB3H^pR7$&Hw_zjA96ej4~ zJWRs2Ce`Sw$LpR%`F1xioPPJ8a1plQe1SIN!Y}a!<0A+iL`GaDOlK2%2%Y^cVH`>5 zV`k(P!XSz;L}1iaVoWq)jDYCx2)!7>1k+-^mk>*sVp{AqX*P#2N5GsP2!l96fxx)y zgz;R#!0t{@)q}yFXFr7mpL$=YEbjJOVrN2!Qp~?R;{5_H-7zt>hfB?cga^DA z-Y3SU5nc#RdqCKy6F!Jf|Ap|%AbgRP@gE{&5#f&&i+&}NG6^MWGanN9SwsL@vmOzZ z*+d{tXZI4#IYbby=ln*T$Q6v7nj=+ynRhxSz0^Vft?h%impWa=TRJ(-V(nrsgE49G zV=fJs5Fwbck>S4lp;N8qN3=>Xbsx3CvFh60TN^)| zFS&NuAh&V$jg;iQe+3MdEI*mRH?3MQ^Jt%c;px^7aT>kl$|2#KR{Bk>NNgEq@i2SM z@0T@I`0Y?F3{y3$C=qe2T9A3+akVM`{ID89<^#7HGj=rF7Zo+;?EP$i+^w--53-eT zs8z5-YXw;V%4)~6_pt+Uv(}RRmK_9pOkjsYkOiY0R_u0m2=2j}E#D%js-1uF?>iCh zTLf7c(zn>~=~{LKE^M)7zhp{fOxZf|v9tJDdyIJnk1vgfno zv8B$5eSw{TS9KHFmh}Q3qyGQ6mXFCeQ9p^#JgXOmt6L1Xbj64;-zLaX5WdZs&#z{u z;@Gyy(uSP|;d)?C>lRz z$2SVHJZx(8U|(Vv;7y|^+jWParup@2jT0fZBC>V}vO?_K;l;zx>>_A3d9#C>1X&4+ zn|#=(*rj;hG=*)ylRpNBAbzJW(Ii2R?|1qU+Per9`0es1R!dODv0YP%Hxkrf*Q_LR znhA9@H%}uTHwz=QM%U|JUDekw!fZEBnh4t+z*D^hEnM0?ozUJxXv1$$AWA4m4iB;HFf#Ke8UM9DtF7zg&vA_gUxz@a6CC~hH4(bW=4ylWBE zwSz*6AmbEk0$O)aDsYA43XSH2tY?H@j`+##&ymimURjmI%cVzersMf&d(Qd zq?1P%JnD?&(Wi@WLr&LR;)(=!yz7c5<{ThAP}B+)7=>qBL$l#ne{O43-eWS_D}ge)~e%S{`Rkdzk7SjWu7 zv6h{YWh|pCV>b+AJ@=e{zUy~A_x;EBz1RD`Uuk8vxChk?$4-kFJ9d7@|7db`tuE!7 z+*#|^d2!v_&LPY#V(1x7o~bfEdE0nV7>ddSxXA>13muLt5>9uorZN%Js!gP?(vx6N zeG(l}U1c)1RG&;6)liuNj~Y|xJbEf_)|g8B)Kr; z=~-w|XBM4SM`bq7)R|59FjAR=NTWIQLwYXE>&~SU>#EE{Y2A5rw|ZK?ZfK=@(i^90 zm0#ChzM_~{PbCUF>qRlPtFJO2f%WIp=jjD04Hl5m4OF60*dUsAGFDlLP~(Mk1-%G$ zOcv4cCMq#FY!X9vGgVoPsiuqRr}Pq7He5n)YS8^tpBX{@pgQH__;pXudjZ?>G?Yo@XSRc0&bsZCT?BCE+t+TL6x4#Ujj z=sR>gjGM;O8BJAwKv~lt=pYM~Rfw}#MVmHLNkH#r3G~HgYFyua_>6O58z<+w1=jyD zx23|kxyovIH($-d1$qs{at)nmsj?QOmTPH0E0sjVS|!q^)+$NpZJk74qmxm~CYjE# zQAt6WO$t5ARs~411#NGqvJS)S*3nPt^{{NQp5EI+O&WZ(iyK&O5I_I%OOxEqwd@pc zTd1U>m3=B3N9|S8@X|hwj%%rsjzcZe>3~)$8Cc#bgSK)|$%LOnCjFG&087UW^dU!; zjd<#~k&bs#$--f$EP8lrl}%XHdK2x`MrAWX+ia#kwNX>!fZW;zw&lOC>K(j2=1!FD zT!lwlm25<`&1S{8oyrz?x8oT?C7lDa_Br&S_9|QPwEb2(v4hGsly=xghpWnVr0aIN zM@N-hM0U)jn{-myf&QI#(68w{v~bR&%bitr;;ZvcI?qKLn#A5usjT5~`%?Q00jXIH zmc%^gC%UNQ!_qaMozt!=1^DP%K<9Q=*@cSEyXX~NR0?sROCdd>t4a~lx)#ws-BgMZ z)vcIz?5#T3_SMIhds2B>6}R(WkF$HC+q^< z_CGO9u+6bjeDzS-2ko(srK%n(Kcb1}kMucDmHqhUxu4$erE&m|y$;aXJyj0ka?gWw zg15>c9Q8g#&+Daf7(06%rpNbIIfB&QN9ce)DnDU)pP%TSJ}O5s%jYQFv9C66Xi)jG z($Dpwb^cq&=s|0&P0yxPDdzT7`5AeAe`af9Kb2pQ(eD>Jq`%6qNa+77?K?oF6fpxz zX|I7Q$1ro?G1}EvopIja6d-!Wq@8}}8z|O|46=y|g>W#ieKNzj@8yb)Kjea&pqsZ_vm zYy~ajRBpg|+zqJu_50pt1;*``H7O}`UKKTc z^zn9yipX%4+sFyO&En#TD!*g*#NX+}Nh)_xI_VCbJz3>0E>FHo@0p@<50z8y(I=*= z+{gQ=_vstcRQ`a`^grkq(^Ve8=KBY9jR=)WbdIQ`n?EW#@@qYfZ>GUTgQ|;oUR!A>gQRvM#bj`DUQdh ze8ju>kL!6JFX1yiXtl~0EMEPEUbIH#D~i{ArHj_8e8au9-{^aZ zDi$zFvY^{0sWijLq-OMdx;gTbn$xFfOMFPOq|K7GW_9bhg^Gd6DppvSY{lsY+8X7_ z*7P&l29_x{bdMAjTSTPT(#fk_tp!ANMEKb*2HEmzJ z>GJ3VTniW?F)y3u7DwYI^@cSZ*WJ8}PKskp->%bmdt z+5+A>?E7lvf_ zqCxk@iR|8Voh>ST;J&2~9lJ#hYnh}qEMNBGrQ!$^A3WdU!^9;=r7yyB`qD*oKitdd zM>}m*>5tH@{ps!W09@ZXfVSJFG7y2=2GZHIFD`HMrLDKC41)jmLG)&NFfMH$OxxtD z3_(Ed5IQGU>(m}F#KwNPf6G>i+l>5Be}^BV(K}T9k-Wp7en1DHab5sDDNki6GV_Mg zFX%wn>{JQDj-5gD7kU^v-UY+y4Ri?36@<_ZyVS_g zI=rCgisu`~%~6cqr7{BRc8y^6k`9G!VJN+*P~|%m7k)?AEm9eY9z`SRjr1s-FB(O+ vD^?ke(Z!?bU+6J-T|9;kC{YQ+@{%z6Aw3r6yT{VeyH&=aaQ8UcWRLz2sq?>E diff --git a/groestl/tests/data/groestl512.blb b/groestl/tests/data/groestl512.blb index 89b904f19b9a02b99beff8dada74b842979b044b..24ce9ee34a8655f5cad718c8a4c4cdbf1ea2e588 100644 GIT binary patch delta 3765 zcmXBWd0dTYAII@d(ms_WY0@SwM20G9{LbE-Ix#Q-`y{sbF|IGz3M`c;yVJLYWms-zzVHJXM62 z{?nINFMYgG_k1YqH6LwJ;UIdmFiOH6%4la)r@nt71)6IKSLf07T~hcaoL)^eyuOK2NJ54mrB zW1~3qVat{8`Rs`n7g;3LEU>)=pQm1KS) zjXn{3itZMe<@5P02d)HdaA-tjGl}IzX_IzAnvN_V3Uq9OeuaE#(&T37>SUH5={xO) z`kh$*^taOP%utKTcr4{mdFeIbFS@Bt{W?odfYmo1b0>xHM{SJLZ-7~ zsABp7$kT%rOT``sA;%f4ILevP30VkM0wsw<&}dIqB1L*0hBUlb$rRw##j5ZYqb%}L zre6q)7iY|6ZoN;`%FLRKIg@#FmO_=@-MHlM!%CwvpB~6_CM$!AXZAwVd|8=P=z9cm zoW;tboLNU9TR&DdE%EDvtY))vDP{ICXq-PQpA!B1A=5dm0*asWC1f1HDx`%01JKw& zp>L@?^lB)0$|IAu->p{$ZZ^^Vrs^S2*?}C&sVnd}!t5Yc5p@NffO6&v#bO2Oo_i9? z3uY-&Z}2IoAcUnveIZ{#@=%sC4TPSC*34t6(pU5T1C`2H>U2(a2HFzF(xkz#v(WZ% zmKI$P{~BtD5W|%`-}Bpp2r=6Femw1{Qw}eGwBeU9aiDSWtebB`c$*fK1YLU{{VhSa;@60|OsWkhFUzlFY7 z$TFs@3kRV+aV%4M6n7aq63;THxAEUW-y{eF>5bdvci-QB@edW=UyR@>OX0VwNo(U3?8HPhr{9<&^8t zzEqY2JxRR*eU-*?q+#hdp*!g;Co<0X5&A2GcZ>yy!6|3?ADI% zyfArV!IFii?aF!0%;eUE4rbm)yJ;!Ql`bv41GQ(d-06ANUFgCxmIrBO{{%hHW(l&( z`5Ds6WqHxu+#yLJ^ukzxSZuj{mX}-#sZc<-79zqeZ4{$+BeFS zep=8Uky>P{|IX&_yL0VR;;!i~ZRFXskmCS~FMNd9ZzU^;K419@v`o$lro-~bP|ato zP`dru6XSvJ28dfC5t$7Xw7PF#gOYsXxzLph318ZMG9qU-J z^kUsB=+1f}aUkOo17KXp!A-7GeG?H)n1Ipga%Al^ze?o0rSef)}%YUH<<*Y2S*!mV4yN#7ivD^NFA}fTE zW7|LHEv8TRS4)a)j=N}e?nc6|$8&DQZfFbRpsRxOT>8D@9r9Pi$|r{}-b1#PtO8n6 z`8SldomEKf+y8-Dt5|Y+TJ-^XvV&Db(w!e6X|<3zQF^r@P*N?7o!^}q7ZJ7dxt~>a z;mrCSAGeM%*qt}b+v-(Mq&FuIs)dP*c9~uI;LU5BKAw^f9vYohGw(`bLi2CF@8v6w z#&Y9XBTQXe7oC1w`7ugksMtp#Wb+!&iKPqo3^%)&$?3h7WbrnFE6iU(%@`2RPLWi67_>+-9Q+H1SQg;hgb+gw_9TAMq-9nN`uXj6QvDhOd$&|EbGO&}8LOF% zB#nYwrT`_34Enmo8Ti1+q#1js0?YRbNfsU5>jJ!HWRv5*X+Xw4A<3ov`&@y?jC`_b zbpw)Gg_`EsKQxX6*|7Gv3P}OIY<0&pp-o5%DWh#V(8iF{vo;Sv+AbtTl-@oAXm1yI zJpcd0u7jmWnH`=u?1Yr)b%z(^w4bF+dHcPgK1h|`?e~FZ9AK%_>H{;Ovj>E_)`+T+ z7uUXg#ne8?qb3C(^u<^OY0-^?vmnz>mJY>t`ax}wEpI{tG_E!KsMw`5=I=GBx& z_XJ~2>0y~uYfs3(Hz5mh?+t~@ds&urxpy99afD?}Nk?SRF-S`9kAy)XM_IO1aWouy z0@;(aF9Is=V>!_2zDUUE7|W3s9GedvIVLo9O_JL^*T1M)l*b2({X9F7cYhS-ddQi6 z>W_xpzGS(O{L2{VCge(n0}G&n0hT-U4a7nQ$5|dU|M)_v4-)k5cpMacg5^cEC*q+G XkPpo`nE*ANWckvAlZ&8Pr^NpNH-m34 delta 3227 zcmW;Od00q^8V2zDk;qbsl&us}N@S;2MnO}1T8Z91KF}H3lkEaKm5<-J^<1C}OIF(r@XhXlFQ;-eRaS4SyO=qrIzYts3QTu9tql zmG-L4_pKtMs!A9hR}K4-R#OSbnrh*66(g1D@HCoEAEIaAv(XGXth!1B3aUrY&1$Gb zVp5Gr`Y!zw8rS@ZMopEOxL$K6J+PL_EUcJlfDqB?^7bqUba9d{nD5 zpN^}e5{>h9qUnBhRTf}*-34?_bCrb{Y`&2G&D;ZK^%hZU>#0et9erA~wKr?sxshw1 zGG3G?^;8z4g~ej#xfUu*@Y-St9bu^wgF?#~x@&!vSVYy2r7Jg3S&H5bmeQqk984O< z(d!$k#N$rGczQx3l>}rpN}ydDt1Lrg<7M=BdO19-meZH4)YRC`e@1CwYDku=k8x2} zbA`3F$_fNpuVA5qUI~{bE9sL>R92yq%_=(CMrAdw*{r4~+NvaChixL=rKw61<~2>C zjhm??V`#Hvx{Llo-a(eO^&JE4`|% z;&=;{b;hI1O77=p)zMXc^-{_st&O7Py&MMh(>XJ?0?4osQFMgCbt7sVw7txUCm7;5B=Tp=nwQRbamfFzi?N{hhw*V`ffLs z-Duo>H+`wQN&!r@fIg)vdtl(Phd$t;vKJpc_R_n0sO&>UkA3vEo?6#zX0ZE3-#|TW z>*Korh0$`GOe@95o+^cK?N!Lq+g>U~XxF=lF7K_fA5MMt(`9{B4#3Xy0R7NYH^(nw8}+9jJ`;B4^Sz=qJR>5$QYGUB#kMh$Bk9Fgv_y*=!kJDmr*$G zG94SJ@*BUfp6xDx-C{xw169SoPfqdzTE z`7hj-|Ce@Iq4GB(SNu(ftW^02xhwynGgqnni?UV!()U)YyoXidd)gvNeH|2PjFuIiEg=833;r+a$epNmSwkqgtVHrO_#t#pP4?*0%i8D&WP(=z#rs zR;i{6-_0sEShv}Rha949@oBRyZI!Ol6l2qy(lK;1oK9~>zoeVPDWf?(EJMW(YclNU zqjU>=&1gZ}ZBavm;#Xh4@I~LEVvqbS_FUhh9Z)~hf$o*5(h{+mE$Kb9Bi>~?($-s5 zoG@;y6TOOVh09x8(cfribl>Johi_A9je>2h=|^-M*luq_`)pTn!P@OE^ttU?wTjK# z_IZB%mB~_R3$LuU+{e=Ga3-rA{h4kLw;k>2h#e{&uy02Px}5F^$DJMN@jF#IVcX75 z^nJQBtg<`P{@E&Bupzq(eU0u4^PH}?Jr zzbD;hw@NQW?CwP$qV{$(ss(iVIZwptPV56Z1VPp77h_NoUY~ z@pw;P+G(#!KZNb=M<1g54p&RYj>ec!WY0@mltGS(G@_v<}$lgDc(P!EV?gzZ+!~-hcxO%{wwmYaY z48aG7(Z^^Xd_U+z`yNv9Mam&x`VBoCZ4M8o;}5I&;lg1*y6F)We@r~$PoJPiK#q=} zM<3N1M%I&ZJz`&P8b4F9^Qg*5lph_*tj{r(QHVb_ihe?mMvLR4>Dc2c0XTa+fVMlK zG6umX#?a^Jv8aA>EFF4MWgK>$97mfJs|3QUIFK%+gYa*05Iypg%6O!n8c)kF`ajCo B*|q=x diff --git a/groestl/tests/lib.rs b/groestl/tests/lib.rs deleted file mode 100755 index 0a88e5d3d..000000000 --- a/groestl/tests/lib.rs +++ /dev/null @@ -1,28 +0,0 @@ -#![no_std] - -use digest::{dev::digest_test, new_test}; - -new_test!( - groestl_224_main, - "groestl224", - groestl::Groestl224, - digest_test -); -new_test!( - groestl_256_main, - "groestl256", - groestl::Groestl256, - digest_test -); -new_test!( - groestl_384_main, - "groestl384", - groestl::Groestl384, - digest_test -); -new_test!( - groestl_512_main, - "groestl512", - groestl::Groestl512, - digest_test -); diff --git a/groestl/tests/mod.rs b/groestl/tests/mod.rs new file mode 100755 index 000000000..41a5cf261 --- /dev/null +++ b/groestl/tests/mod.rs @@ -0,0 +1,57 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use digest::new_test; +use groestl::{Digest, Groestl224, Groestl256, Groestl384, Groestl512}; +use hex_literal::hex; + +new_test!(groestl_224_main, "groestl224", Groestl224, fixed_reset_test); +new_test!(groestl_256_main, "groestl256", Groestl256, fixed_reset_test); +new_test!(groestl_384_main, "groestl384", Groestl384, fixed_reset_test); +new_test!(groestl_512_main, "groestl512", Groestl512, fixed_reset_test); + +#[test] +fn groestl224_rand() { + let mut h = Groestl224::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("2000744c2f85a7fb4733e97da8db00069dd6defa9186dac3461dfeb8")[..] + ); +} + +#[test] +fn groestl256_rand() { + let mut h = Groestl256::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("aac71c789678f627a6474605322ae98d1647e47f405d00b1461b90ee5f0cfbc4")[..] + ); +} + +#[test] +#[rustfmt::skip] +fn groestl384_rand() { + let mut h = Groestl384::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + dab78eea895a6dde0c53dc02fc79c7986f5d6811618ca6e5922f01e8aca9bfeb + 20ed5eda4130bf0ab474ac0b6f0290f8 + ")[..] + ); +} + +#[test] +#[rustfmt::skip] +fn groestl512_rand() { + let mut h = Groestl512::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + 7e4d8257c217c7ae59331126e0f984f145e9789862de7c099675ac29e46424ef + e93543974fa7113190d492f607f629a03db35ec5551abcb2785ae145fd3c543f + ")[..], + ); +} diff --git a/k12/CHANGELOG.md b/k12/CHANGELOG.md index da46bb91a..af466a1d8 100644 --- a/k12/CHANGELOG.md +++ b/k12/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.1.0 (2020-06-09) ### Changed - Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) diff --git a/k12/Cargo.toml b/k12/Cargo.toml index 7b227d4dd..d736e0827 100644 --- a/k12/Cargo.toml +++ b/k12/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "k12" -version = "0.1.0" +version = "0.2.0" # Also update html_root_url in lib.rs when bumping this description = "Experimental pure Rust implementation of the KangarooTwelve hash function" authors = ["Diggory Hardy "] license = "Apache-2.0 OR MIT" @@ -12,10 +12,10 @@ keywords = ["crypto", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.9", features = ["alloc"] } +digest = { version = "0.10", features = ["alloc"] } [dev-dependencies] -digest = { version = "0.9", features = ["alloc", "dev"] } +digest = { version = "0.10", features = ["alloc", "dev"] } hex-literal = "0.2" [features] diff --git a/k12/benches/lib.rs b/k12/benches/lib.rs deleted file mode 100644 index 9ea5ab9b4..000000000 --- a/k12/benches/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![no_std] -#![feature(test)] - -extern crate test; - -use digest::Update; -use test::Bencher; - -digest::bench!(bench1_10, k12::KangarooTwelve, 10); -digest::bench!(bench2_100, k12::KangarooTwelve, 100); -digest::bench!(bench3_1000, k12::KangarooTwelve, 1000); -digest::bench!(bench4_10000, k12::KangarooTwelve, 10000); diff --git a/k12/benches/mod.rs b/k12/benches/mod.rs new file mode 100644 index 000000000..0074e2a22 --- /dev/null +++ b/k12/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use test::Bencher; + +bench_update!( + k12::KangarooTwelve::default(); + k12_10 10; + k12_100 100; + // the bigger sizes result in OOM + // k12_1000 1000; + // k12_10000 10000; +); diff --git a/k12/src/lib.rs b/k12/src/lib.rs index 8c467d869..73607228d 100644 --- a/k12/src/lib.rs +++ b/k12/src/lib.rs @@ -10,8 +10,9 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/k12/0.2.0" )] #![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] @@ -28,7 +29,7 @@ mod lanes; // TODO(tarcieri): eliminate usage of `Vec` use alloc::vec::Vec; use core::{cmp::min, convert::TryInto, mem}; -use digest::{ExtendableOutputDirty, Reset, Update, XofReader}; +use digest::{ExtendableOutput, ExtendableOutputReset, HashMarker, Reset, Update, XofReader}; /// The KangarooTwelve extendable-output function (XOF). #[derive(Debug, Default)] @@ -57,17 +58,28 @@ impl KangarooTwelve { } } +impl HashMarker for KangarooTwelve {} + impl Update for KangarooTwelve { - /// Input data into the hash function - fn update(&mut self, bytes: impl AsRef<[u8]>) { - self.buffer.extend_from_slice(bytes.as_ref()); + fn update(&mut self, bytes: &[u8]) { + self.buffer.extend_from_slice(bytes); } } -impl ExtendableOutputDirty for KangarooTwelve { +impl ExtendableOutput for KangarooTwelve { type Reader = Reader; - fn finalize_xof_dirty(&mut self) -> Self::Reader { + fn finalize_xof(self) -> Self::Reader { + Reader { + buffer: self.buffer, + customization: self.customization, + finished: false, + } + } +} + +impl ExtendableOutputReset for KangarooTwelve { + fn finalize_xof_reset(&mut self) -> Self::Reader { let mut buffer = vec![]; let mut customization = vec![]; diff --git a/k12/tests/lib.rs b/k12/tests/lib.rs deleted file mode 100644 index a71c0a2cd..000000000 --- a/k12/tests/lib.rs +++ /dev/null @@ -1,113 +0,0 @@ -use core::iter; -use k12::{ - digest::{ExtendableOutput, Update}, - KangarooTwelve, -}; - -fn read_bytes>(s: T) -> Box<[u8]> { - fn b(c: u8) -> u8 { - match c { - b'0'..=b'9' => c - b'0', - b'a'..=b'f' => c - b'a' + 10, - b'A'..=b'F' => c - b'A' + 10, - _ => unreachable!(), - } - } - - let s = s.as_ref(); - let mut i = 0; - let mut v = Vec::new(); - - while i < s.len() { - if s[i] == b' ' || s[i] == b'\n' { - i += 1; - continue; - } - - let n = b(s[i]) * 16 + b(s[i + 1]); - v.push(n); - i += 2; - } - - v.into_boxed_slice() -} - -#[test] -fn empty() { - // Source: reference paper - assert_eq!( - KangarooTwelve::new().chain(b"").finalize_boxed(32), - read_bytes( - "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca - 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5" - ) - ); - - assert_eq!( - KangarooTwelve::new().chain(b"").finalize_boxed(64), - read_bytes( - "1a c2 d4 50 fc 3b 42 05 d1 9d a7 bf ca - 1b 37 51 3c 08 03 57 7a c7 16 7f 06 fe 2c e1 f0 ef 39 e5 42 69 c0 56 b8 c8 2e - 48 27 60 38 b6 d2 92 96 6c c0 7a 3d 46 45 27 2e 31 ff 38 50 81 39 eb 0a 71" - ) - ); - - assert_eq!( - KangarooTwelve::new().chain(b"").finalize_boxed(10032)[10000..], - read_bytes( - "e8 dc 56 36 42 f7 22 8c 84 - 68 4c 89 84 05 d3 a8 34 79 91 58 c0 79 b1 28 80 27 7a 1d 28 e2 ff 6d" - )[..] - ); -} - -#[test] -fn pat_m() { - let expected = [ - "2b da 92 45 0e 8b 14 7f 8a 7c b6 29 e7 84 a0 58 ef ca 7c f7 - d8 21 8e 02 d3 45 df aa 65 24 4a 1f", - "6b f7 5f a2 23 91 98 db 47 72 e3 64 78 f8 e1 9b 0f 37 12 05 - f6 a9 a9 3a 27 3f 51 df 37 12 28 88", - "0c 31 5e bc de db f6 14 26 de 7d cf 8f b7 25 d1 e7 46 75 d7 - f5 32 7a 50 67 f3 67 b1 08 ec b6 7c", - "cb 55 2e 2e c7 7d 99 10 70 1d 57 8b 45 7d df 77 2c 12 e3 22 - e4 ee 7f e4 17 f9 2c 75 8f 0d 59 d0", - "87 01 04 5e 22 20 53 45 ff 4d da 05 55 5c bb 5c 3a f1 a7 71 - c2 b8 9b ae f3 7d b4 3d 99 98 b9 fe", - "84 4d 61 09 33 b1 b9 96 3c bd eb 5a e3 b6 b0 5c c7 cb d6 7c - ee df 88 3e b6 78 a0 a8 e0 37 16 82", - "3c 39 07 82 a8 a4 e8 9f a6 36 7f 72 fe aa f1 32 55 c8 d9 58 - 78 48 1d 3c d8 ce 85 f5 8e 88 0a f8", - ]; - for i in 0..5 - /*NOTE: can be up to 7 but is slow*/ - { - let len = 17usize.pow(i); - let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new().chain(&m).finalize_boxed(32); - assert_eq!(result, read_bytes(expected[i as usize])); - } -} - -#[test] -fn pat_c() { - let expected = [ - "fa b6 58 db 63 e9 4a 24 61 88 bf 7a f6 9a 13 30 45 f4 6e e9 - 84 c5 6e 3c 33 28 ca af 1a a1 a5 83", - "d8 48 c5 06 8c ed 73 6f 44 62 15 9b 98 67 fd 4c 20 b8 08 ac - c3 d5 bc 48 e0 b0 6b a0 a3 76 2e c4", - "c3 89 e5 00 9a e5 71 20 85 4c 2e 8c 64 67 0a c0 13 58 cf 4c - 1b af 89 44 7a 72 42 34 dc 7c ed 74", - "75 d2 f8 6a 2e 64 45 66 72 6b 4f bc fc 56 57 b9 db cf 07 0c - 7b 0d ca 06 45 0a b2 91 d7 44 3b cf", - ]; - for i in 0..4 { - let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); - let len = 41usize.pow(i); - let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); - let result = KangarooTwelve::new_with_customization(c) - .chain(&m) - .finalize_boxed(32); - assert_eq!(result, read_bytes(expected[i as usize])); - } -} diff --git a/k12/tests/mod.rs b/k12/tests/mod.rs new file mode 100644 index 000000000..bd27c4464 --- /dev/null +++ b/k12/tests/mod.rs @@ -0,0 +1,75 @@ +use core::iter; +use hex_literal::hex; +use k12::{ + digest::{ExtendableOutput, Update}, + KangarooTwelve, +}; + +fn digest_and_box(data: &[u8], n: usize) -> Box<[u8]> { + let mut h = KangarooTwelve::new(); + h.update(data); + h.finalize_boxed(n) +} + +#[test] +#[rustfmt::skip] +fn empty() { + // Source: reference paper + assert_eq!( + digest_and_box(b"", 32)[..], + hex!("1ac2d450fc3b4205d19da7bfca1b37513c0803577ac7167f06fe2ce1f0ef39e5")[..] + ); + + assert_eq!( + digest_and_box(b"", 64)[..], + hex!(" + 1ac2d450fc3b4205d19da7bfca1b37513c0803577ac7167f06fe2ce1f0ef39e5 + 4269c056b8c82e48276038b6d292966cc07a3d4645272e31ff38508139eb0a71 + ")[..] + ); + + assert_eq!( + digest_and_box(b"", 10032)[10000..], + hex!("e8dc563642f7228c84684c898405d3a834799158c079b12880277a1d28e2ff6d")[..] + ); +} + +#[test] +fn pat_m() { + let expected = [ + hex!("2bda92450e8b147f8a7cb629e784a058efca7cf7d8218e02d345dfaa65244a1f"), + hex!("6bf75fa2239198db4772e36478f8e19b0f371205f6a9a93a273f51df37122888"), + hex!("0c315ebcdedbf61426de7dcf8fb725d1e74675d7f5327a5067f367b108ecb67c"), + hex!("cb552e2ec77d9910701d578b457ddf772c12e322e4ee7fe417f92c758f0d59d0"), + hex!("8701045e22205345ff4dda05555cbb5c3af1a771c2b89baef37db43d9998b9fe"), + hex!("844d610933b1b9963cbdeb5ae3b6b05cc7cbd67ceedf883eb678a0a8e0371682"), + hex!("3c390782a8a4e89fa6367f72feaaf13255c8d95878481d3cd8ce85f58e880af8"), + ]; + for i in 0..5 + /*NOTE: can be up to 7 but is slow*/ + { + let len = 17usize.pow(i); + let m: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let result = digest_and_box(&m, 32); + assert_eq!(result[..], expected[i as usize][..]); + } +} + +#[test] +fn pat_c() { + let expected = [ + hex!("fab658db63e94a246188bf7af69a133045f46ee984c56e3c3328caaf1aa1a583"), + hex!("d848c5068ced736f4462159b9867fd4c20b808acc3d5bc48e0b06ba0a3762ec4"), + hex!("c389e5009ae57120854c2e8c64670ac01358cf4c1baf89447a724234dc7ced74"), + hex!("75d2f86a2e644566726b4fbcfc5657b9dbcf070c7b0dca06450ab291d7443bcf"), + ]; + for i in 0..4 { + let m: Vec = iter::repeat(0xFF).take(2usize.pow(i) - 1).collect(); + let len = 41usize.pow(i); + let c: Vec = (0..len).map(|j| (j % 251) as u8).collect(); + let mut h = KangarooTwelve::new_with_customization(c); + h.update(&m); + let result = h.finalize_boxed(32); + assert_eq!(result[..], expected[i as usize][..]); + } +} diff --git a/md2/CHANGELOG.md b/md2/CHANGELOG.md index 2319dae63..641a7eb53 100644 --- a/md2/CHANGELOG.md +++ b/md2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/md2/Cargo.toml b/md2/Cargo.toml index a025061d8..33b7833fc 100644 --- a/md2/Cargo.toml +++ b/md2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md2" -version = "0.9.0" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this license = "MIT OR Apache-2.0" authors = ["RustCrypto Developers"] description = "MD2 hash function" @@ -12,12 +12,10 @@ keywords = ["crypto", "md2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md2/benches/lib.rs b/md2/benches/lib.rs deleted file mode 100644 index b1f617601..000000000 --- a/md2/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(md2::Md2); diff --git a/md2/benches/mod.rs b/md2/benches/mod.rs new file mode 100644 index 000000000..ea06422de --- /dev/null +++ b/md2/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use md2::Md2; +use test::Bencher; + +bench_update!( + Md2::default(); + md2_10 10; + md2_100 100; + md2_1000 1000; + md2_10000 10000; +); diff --git a/md2/examples/md2sum.rs b/md2/examples/md2sum.rs deleted file mode 100644 index 14a94ff78..000000000 --- a/md2/examples/md2sum.rs +++ /dev/null @@ -1,39 +0,0 @@ -use md2::{Digest, Md2}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = Md2::new(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - println!("{:x}\t{}", &sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process(&mut file, &path); - } - } - } else { - process(&mut io::stdin(), "-"); - } -} diff --git a/md2/src/lib.rs b/md2/src/lib.rs index 07ca1e68c..d41a1178e 100644 --- a/md2/src/lib.rs +++ b/md2/src/lib.rs @@ -25,52 +25,40 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/md2/0.10.0" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; - pub use digest::{self, Digest}; -use block_buffer::{block_padding::Pkcs7, BlockBuffer}; -use digest::{consts::U16, generic_array::GenericArray}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +use core::fmt; +use digest::{ + block_buffer::Eager, + consts::U16, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + HashMarker, Output, +}; mod consts; -type Block = GenericArray; - +/// Core MD2 hasher state. #[derive(Clone)] -struct Md2State { +pub struct Md2Core { x: [u8; 48], - checksum: Block, -} - -impl Default for Md2State { - fn default() -> Self { - Self { - x: [0; 48], - checksum: Default::default(), - } - } -} - -/// The MD2 hasher -#[derive(Clone, Default)] -pub struct Md2 { - buffer: BlockBuffer, - state: Md2State, + checksum: Block, } -impl Md2State { - fn process_block(&mut self, input: &Block) { +impl Md2Core { + fn compress(&mut self, block: &Block) { // Update state for j in 0..16 { - self.x[16 + j] = input[j]; + self.x[16 + j] = block[j]; self.x[32 + j] = self.x[16 + j] ^ self.x[j]; } @@ -86,48 +74,78 @@ impl Md2State { // Update checksum let mut l = self.checksum[15]; for j in 0..16 { - self.checksum[j] ^= consts::S[(input[j] ^ l) as usize]; + self.checksum[j] ^= consts::S[(block[j] ^ l) as usize]; l = self.checksum[j]; } } } -impl BlockInput for Md2 { +impl HashMarker for Md2Core {} + +impl BlockSizeUser for Md2Core { type BlockSize = U16; } -impl Update for Md2 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - let s = &mut self.state; - self.buffer.input_block(input, |d| s.process_block(d)); - } +impl BufferKindUser for Md2Core { + type BufferKind = Eager; } -impl FixedOutputDirty for Md2 { +impl OutputSizeUser for Md2Core { type OutputSize = U16; +} - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let buf = self - .buffer - .pad_with::() - .expect("we never use input_lazy"); - - self.state.process_block(buf); +impl UpdateCore for Md2Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.compress(block) + } + } +} - let checksum = self.state.checksum; - self.state.process_block(&checksum); +impl FixedOutputCore for Md2Core { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let rem = buffer.remaining() as u8; + let block = buffer.pad_with_zeros(); + block[pos..].iter_mut().for_each(|b| *b = rem); + + self.compress(block); + let checksum = self.checksum; + self.compress(&checksum); + out.copy_from_slice(&self.x[0..16]); + } +} - out.copy_from_slice(&self.state.x[0..16]); +impl Default for Md2Core { + #[inline] + fn default() -> Self { + Self { + x: [0; 48], + checksum: Default::default(), + } } } -impl Reset for Md2 { +impl Reset for Md2Core { + #[inline] fn reset(&mut self) { - self.state = Default::default(); - self.buffer.reset(); + *self = Default::default(); + } +} + +impl AlgorithmName for Md2Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md2") + } +} + +impl fmt::Debug for Md2Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md2Core { ... }") } } -opaque_debug::implement!(Md2); -digest::impl_write!(Md2); +/// MD2 hasher state. +pub type Md2 = CoreWrapper; diff --git a/md2/tests/data/md2.blb b/md2/tests/data/md2.blb index 4b03cb78d28042aad2291e70ccd7e919a1869c6f..986c38e60151529f71a05890121ec76aae74f031 100644 GIT binary patch delta 71 zcmbQt*vrVo5H^uRTS$TVMig(-Tpbs^8KtU*^N$n)MK#ot^V1cwJ9#EeO6$43{}#iN b*PrEC85EiWo-TgmBWn9eJ!XDGrg|{|Tjm6P(p()Ey&0vdhVzdU0wuJS1+qJNCQVA~ hxxN1u!;;sZ(output); -} diff --git a/md2/tests/mod.rs b/md2/tests/mod.rs new file mode 100644 index 000000000..d43f0f4cb --- /dev/null +++ b/md2/tests/mod.rs @@ -0,0 +1,15 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; +use md2::{Digest, Md2}; + +digest::new_test!(md2_main, "md2", Md2, fixed_reset_test); + +#[test] +fn md2_rand() { + let mut h = Md2::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("f9638c7be725f4d0b5ac342560af1a5b")[..] + ); +} diff --git a/md4/CHANGELOG.md b/md4/CHANGELOG.md index b4728c816..92a5f63c0 100644 --- a/md4/CHANGELOG.md +++ b/md4/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/md4/Cargo.toml b/md4/Cargo.toml index c2a53b5c0..23c0b6ace 100644 --- a/md4/Cargo.toml +++ b/md4/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md4" -version = "0.9.0" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "MD4 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,10 @@ keywords = ["crypto", "md4", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md4/benches/lib.rs b/md4/benches/lib.rs deleted file mode 100644 index 19f62705b..000000000 --- a/md4/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(md4::Md4); diff --git a/md4/benches/mod.rs b/md4/benches/mod.rs new file mode 100644 index 000000000..0f32fc224 --- /dev/null +++ b/md4/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use md4::Md4; +use test::Bencher; + +bench_update!( + Md4::default(); + md4_10 10; + md4_100 100; + md4_1000 1000; + md4_10000 10000; +); diff --git a/md4/examples/md4sum.rs b/md4/examples/md4sum.rs deleted file mode 100644 index 4f4e67073..000000000 --- a/md4/examples/md4sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use md4::{Digest, Md4}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh: D = Default::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/md4/src/lib.rs b/md4/src/lib.rs index f2360fbf8..afbf0c31a 100644 --- a/md4/src/lib.rs +++ b/md4/src/lib.rs @@ -25,166 +25,175 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/md4/0.10.0" )] #![deny(unsafe_code)] #![warn(rust_2018_idioms)] #![allow(clippy::many_single_char_names)] -#[cfg(feature = "std")] -extern crate std; - -use core::convert::TryInto; pub use digest::{self, Digest}; -use block_buffer::BlockBuffer; +use core::{convert::TryInto, fmt}; use digest::{ - consts::{U16, U64}, - generic_array::GenericArray, + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U16, U64}, + HashMarker, Output, }; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; -// initial values for Md4State -const S: [u32; 4] = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; +#[derive(Clone)] +pub struct Md4Core { + block_len: u64, + state: [u32; 4], +} -type Block = GenericArray; +impl HashMarker for Md4Core {} -#[derive(Copy, Clone)] -struct Md4State { - s: [u32; 4], +impl BlockSizeUser for Md4Core { + type BlockSize = U64; } -/// The MD4 hasher -#[derive(Clone, Default)] -pub struct Md4 { - length_bytes: u64, - buffer: BlockBuffer, - state: Md4State, +impl BufferKindUser for Md4Core { + type BufferKind = Eager; } -impl Md4State { - fn process_block(&mut self, input: &Block) { - fn f(x: u32, y: u32, z: u32) -> u32 { - (x & y) | (!x & z) - } +impl OutputSizeUser for Md4Core { + type OutputSize = U16; +} - fn g(x: u32, y: u32, z: u32) -> u32 { - (x & y) | (x & z) | (y & z) +impl UpdateCore for Md4Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len = self.block_len.wrapping_add(blocks.len() as u64); + for block in blocks { + compress(&mut self.state, block); } + } +} - fn h(x: u32, y: u32, z: u32) -> u32 { - x ^ y ^ z +impl FixedOutputCore for Md4Core { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bit_len = self + .block_len + .wrapping_mul(Self::BlockSize::U64) + .wrapping_add(buffer.get_pos() as u64) + .wrapping_mul(8); + let mut state = self.state; + buffer.len64_padding_le(bit_len, |block| compress(&mut state, block)); + + for (chunk, v) in out.chunks_exact_mut(4).zip(state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); } + } +} - fn op1(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(f(b, c, d)).wrapping_add(k).rotate_left(s) +impl Default for Md4Core { + #[inline] + fn default() -> Self { + let state = [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476]; + Self { + state, + block_len: 0, } + } +} - fn op2(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(g(b, c, d)) - .wrapping_add(k) - .wrapping_add(0x5A82_7999) - .rotate_left(s) - } +impl Reset for Md4Core { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } +} - fn op3(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { - a.wrapping_add(h(b, c, d)) - .wrapping_add(k) - .wrapping_add(0x6ED9_EBA1) - .rotate_left(s) - } +impl AlgorithmName for Md4Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md4") + } +} - let mut a = self.s[0]; - let mut b = self.s[1]; - let mut c = self.s[2]; - let mut d = self.s[3]; +impl fmt::Debug for Md4Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md4Core { ... }") + } +} - // load block to data - let mut data = [0u32; 16]; - for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { - *o = u32::from_le_bytes(chunk.try_into().unwrap()); - } +/// MD4 hasher state. +pub type Md4 = CoreWrapper; - // round 1 - for &i in &[0, 4, 8, 12] { - a = op1(a, b, c, d, data[i], 3); - d = op1(d, a, b, c, data[i + 1], 7); - c = op1(c, d, a, b, data[i + 2], 11); - b = op1(b, c, d, a, data[i + 3], 19); - } +fn compress(state: &mut [u32; 4], input: &Block) { + fn f(x: u32, y: u32, z: u32) -> u32 { + (x & y) | (!x & z) + } - // round 2 - for i in 0..4 { - a = op2(a, b, c, d, data[i], 3); - d = op2(d, a, b, c, data[i + 4], 5); - c = op2(c, d, a, b, data[i + 8], 9); - b = op2(b, c, d, a, data[i + 12], 13); - } + fn g(x: u32, y: u32, z: u32) -> u32 { + (x & y) | (x & z) | (y & z) + } - // round 3 - for &i in &[0, 2, 1, 3] { - a = op3(a, b, c, d, data[i], 3); - d = op3(d, a, b, c, data[i + 8], 9); - c = op3(c, d, a, b, data[i + 4], 11); - b = op3(b, c, d, a, data[i + 12], 15); - } + fn h(x: u32, y: u32, z: u32) -> u32 { + x ^ y ^ z + } - self.s[0] = self.s[0].wrapping_add(a); - self.s[1] = self.s[1].wrapping_add(b); - self.s[2] = self.s[2].wrapping_add(c); - self.s[3] = self.s[3].wrapping_add(d); + fn op1(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { + a.wrapping_add(f(b, c, d)).wrapping_add(k).rotate_left(s) } -} -impl Default for Md4State { - fn default() -> Self { - Md4State { s: S } + fn op2(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { + a.wrapping_add(g(b, c, d)) + .wrapping_add(k) + .wrapping_add(0x5A82_7999) + .rotate_left(s) } -} -impl Md4 { - fn finalize_inner(&mut self) { - let state = &mut self.state; - let l = (self.length_bytes << 3) as u64; - self.buffer.len64_padding_le(l, |d| state.process_block(d)) + fn op3(a: u32, b: u32, c: u32, d: u32, k: u32, s: u32) -> u32 { + a.wrapping_add(h(b, c, d)) + .wrapping_add(k) + .wrapping_add(0x6ED9_EBA1) + .rotate_left(s) } -} -impl BlockInput for Md4 { - type BlockSize = U64; -} + let mut a = state[0]; + let mut b = state[1]; + let mut c = state[2]; + let mut d = state[3]; -impl Update for Md4 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Unlike Sha1 and Sha2, the length value in MD4 is defined as - // the length of the message mod 2^64 - ie: integer overflow is OK. - self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); - let s = &mut self.state; - self.buffer.input_block(input, |d| s.process_block(d)); + // load block to data + let mut data = [0u32; 16]; + for (o, chunk) in data.iter_mut().zip(input.chunks_exact(4)) { + *o = u32::from_le_bytes(chunk.try_into().unwrap()); } -} - -impl FixedOutputDirty for Md4 { - type OutputSize = U16; - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.finalize_inner(); + // round 1 + for &i in &[0, 4, 8, 12] { + a = op1(a, b, c, d, data[i], 3); + d = op1(d, a, b, c, data[i + 1], 7); + c = op1(c, d, a, b, data[i + 2], 11); + b = op1(b, c, d, a, data[i + 3], 19); + } - for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.s.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } + // round 2 + for i in 0..4 { + a = op2(a, b, c, d, data[i], 3); + d = op2(d, a, b, c, data[i + 4], 5); + c = op2(c, d, a, b, data[i + 8], 9); + b = op2(b, c, d, a, data[i + 12], 13); } -} -impl Reset for Md4 { - fn reset(&mut self) { - self.state = Default::default(); - self.length_bytes = 0; - self.buffer.reset(); + // round 3 + for &i in &[0, 2, 1, 3] { + a = op3(a, b, c, d, data[i], 3); + d = op3(d, a, b, c, data[i + 8], 9); + c = op3(c, d, a, b, data[i + 4], 11); + b = op3(b, c, d, a, data[i + 12], 15); } -} -opaque_debug::implement!(Md4); -digest::impl_write!(Md4); + state[0] = state[0].wrapping_add(a); + state[1] = state[1].wrapping_add(b); + state[2] = state[2].wrapping_add(c); + state[3] = state[3].wrapping_add(d); +} diff --git a/md4/tests/data/md4.blb b/md4/tests/data/md4.blb index e590934ec0e73541b547a9dc8c4dbc193b17a529..63ad206a56d338f40ad2bc971bd7bf9d163d88f7 100644 GIT binary patch delta 244 zcmdnVyoI@*fkDCW+W7|;vtAl*w~4&|;6UdArbLCkPjxoSKDKjHiDUhJ``T|6w#1}l zg(V)0RqGXR1jQfZdQr8kXs%3dYH@L5da6Q7W_oIIiNZ}`uEvy*`7b2eJ=h)|XY@7! zYD!5>OV7y6%FfBn%P%M_DlRE4E3c@mQn)@(#-MBI?z5clR=iEV@2I=7W@4Y6umX#H zYttvk+om$l)E@>v|L~+iVX^?D92AQPDLl6Jy)(z+ljIz`YBB#atY%@89T>HR6r|r} rF3DaYC=ny+p0s-1x(Og*4Uy#hbcG#x!aUEJdY8^i*9}|CD109P$2Vn_ delta 234 zcmdnOypuU8DJMTEsnU=^!0_7n2N$zm8g93Vy#C-o=K;nkK^ALM#bwXA3^Uv6q~abkL^LP}(output); -} diff --git a/md4/tests/mod.rs b/md4/tests/mod.rs new file mode 100644 index 000000000..e7aa88db5 --- /dev/null +++ b/md4/tests/mod.rs @@ -0,0 +1,15 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; +use md4::{Digest, Md4}; + +digest::new_test!(md4_main, "md4", Md4, fixed_reset_test); + +#[test] +fn md4_rand() { + let mut h = Md4::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("07345abfb6192d85bf6a211381926120")[..] + ); +} diff --git a/md5/CHANGELOG.md b/md5/CHANGELOG.md index 5b573e207..394eaa3d9 100644 --- a/md5/CHANGELOG.md +++ b/md5/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.1 (2020-06-28) ### Changed - Update to `block-buffer` v0.9 ([#164]) diff --git a/md5/Cargo.toml b/md5/Cargo.toml index bf3292926..1c578e8f8 100644 --- a/md5/Cargo.toml +++ b/md5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "md-5" -version = "0.9.1" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "MD5 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -15,13 +15,11 @@ categories = ["cryptography", "no-std"] name = "md5" [dependencies] -digest = "0.9" -block-buffer = "0.9" -md5-asm = { version = "0.4", optional = true} -opaque-debug = "0.3" +digest = "0.10" +md5-asm = { version = "0.5", optional = true } [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/md5/benches/lib.rs b/md5/benches/lib.rs deleted file mode 100644 index 1ebd6d9f0..000000000 --- a/md5/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(md5::Md5); diff --git a/md5/benches/mod.rs b/md5/benches/mod.rs new file mode 100644 index 000000000..7729eb708 --- /dev/null +++ b/md5/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use md5::Md5; +use test::Bencher; + +bench_update!( + Md5::default(); + md5_10 10; + md5_100 100; + md5_1000 1000; + md5_10000 10000; +); diff --git a/md5/examples/md5sum.rs b/md5/examples/md5sum.rs deleted file mode 100644 index baa91fcd3..000000000 --- a/md5/examples/md5sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use md5::{Digest, Md5}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/md5/src/utils.rs b/md5/src/compress.rs similarity index 79% rename from md5/src/utils.rs rename to md5/src/compress.rs index 9cd0259bc..46857038e 100644 --- a/md5/src/utils.rs +++ b/md5/src/compress.rs @@ -1,7 +1,21 @@ -#![allow(clippy::many_single_char_names)] -use crate::consts::RC; +#![allow(clippy::many_single_char_names, clippy::unreadable_literal)] use core::convert::TryInto; +const RC: [u32; 64] = [ + // round 1 + 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, + 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, + // round 2 + 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, + 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, + // round 3 + 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, + 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, + // round 4 + 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, + 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, +]; + #[inline(always)] fn op_f(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { ((x & y) | (!x & z)) @@ -42,7 +56,7 @@ fn op_i(w: u32, x: u32, y: u32, z: u32, m: u32, c: u32, s: u32) -> u32 { } #[inline] -pub fn compress(state: &mut [u32; 4], input: &[u8; 64]) { +pub fn compress_block(state: &mut [u32; 4], input: &[u8; 64]) { let mut a = state[0]; let mut b = state[1]; let mut c = state[2]; @@ -142,3 +156,10 @@ pub fn compress(state: &mut [u32; 4], input: &[u8; 64]) { state[2] = state[2].wrapping_add(c); state[3] = state[3].wrapping_add(d); } + +#[inline] +pub fn compress(state: &mut [u32; 4], blocks: &[[u8; 64]]) { + for block in blocks { + compress_block(state, block) + } +} diff --git a/md5/src/consts.rs b/md5/src/consts.rs deleted file mode 100644 index e9b94edb7..000000000 --- a/md5/src/consts.rs +++ /dev/null @@ -1,21 +0,0 @@ -#![allow(clippy::unreadable_literal)] - -/// Round constants -#[cfg(not(feature = "asm"))] -pub static RC: [u32; 64] = [ - // round 1 - 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, - 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, - // round 2 - 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, - 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, - // round 3 - 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, - 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, - // round 4 - 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, - 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, -]; - -/// Init state -pub const S0: [u32; 4] = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]; diff --git a/md5/src/lib.rs b/md5/src/lib.rs index 2bb9913d5..fadaf5192 100644 --- a/md5/src/lib.rs +++ b/md5/src/lib.rs @@ -25,102 +25,115 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/md-5/0.10.0" )] -#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "asm")] -extern crate md5_asm as utils; - -#[cfg(feature = "std")] -extern crate std; +extern crate md5_asm as compress; #[cfg(not(feature = "asm"))] -mod utils; +mod compress; pub use digest::{self, Digest}; -use crate::utils::compress; +use compress::compress; + +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U16, U64}, + HashMarker, Output, +}; +/// Core MD5 hasher state. +#[derive(Clone)] +pub struct Md5Core { + block_len: u64, + state: [u32; 4], +} -use block_buffer::BlockBuffer; -use digest::generic_array::typenum::{U16, U64}; -use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +impl HashMarker for Md5Core {} -mod consts; +impl BlockSizeUser for Md5Core { + type BlockSize = U64; +} -/// The MD5 hasher -#[derive(Clone)] -pub struct Md5 { - length_bytes: u64, - buffer: BlockBuffer, - state: [u32; 4], +impl BufferKindUser for Md5Core { + type BufferKind = Eager; } -impl Default for Md5 { - fn default() -> Self { - Md5 { - length_bytes: 0, - buffer: Default::default(), - state: consts::S0, - } - } +impl OutputSizeUser for Md5Core { + type OutputSize = U16; } -#[inline(always)] -fn convert(d: &GenericArray) -> &[u8; 64] { - #[allow(unsafe_code)] - unsafe { - &*(d.as_ptr() as *const [u8; 64]) +impl UpdateCore for Md5Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len = self.block_len.wrapping_add(blocks.len() as u64); + compress(&mut self.state, convert(blocks)) } } -impl Md5 { +impl FixedOutputCore for Md5Core { #[inline] - fn finalize_inner(&mut self) { - let s = &mut self.state; - let l = (self.length_bytes << 3) as u64; - self.buffer.len64_padding_le(l, |d| compress(s, convert(d))); + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bit_len = self + .block_len + .wrapping_mul(Self::BlockSize::U64) + .wrapping_add(buffer.get_pos() as u64) + .wrapping_mul(8); + let mut s = self.state; + buffer.len64_padding_le(bit_len, |b| compress(&mut s, convert(from_ref(b)))); + for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } -impl BlockInput for Md5 { - type BlockSize = U64; +impl Default for Md5Core { + #[inline] + fn default() -> Self { + Self { + block_len: 0, + state: [0x6745_2301, 0xEFCD_AB89, 0x98BA_DCFE, 0x1032_5476], + } + } } -impl Update for Md5 { +impl Reset for Md5Core { #[inline] - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Unlike Sha1 and Sha2, the length value in MD5 is defined as - // the length of the message mod 2^64 - ie: integer overflow is OK. - self.length_bytes = self.length_bytes.wrapping_add(input.len() as u64); - let s = &mut self.state; - self.buffer.input_block(input, |d| compress(s, convert(d))); + fn reset(&mut self) { + *self = Default::default(); } } -impl FixedOutputDirty for Md5 { - type OutputSize = U16; - - #[inline] - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - self.finalize_inner(); - for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } +impl AlgorithmName for Md5Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md5") } } -impl Reset for Md5 { - fn reset(&mut self) { - self.state = consts::S0; - self.length_bytes = 0; - self.buffer.reset(); +impl fmt::Debug for Md5Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Md5Core { ... }") } } -opaque_debug::implement!(Md5); -digest::impl_write!(Md5); +/// MD5 hasher state. +pub type Md5 = CoreWrapper; + +const BLOCK_SIZE: usize = ::BlockSize::USIZE; + +#[inline(always)] +fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { + // SAFETY: GenericArray and [u8; 64] have + // exactly the same memory layout + let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; + unsafe { core::slice::from_raw_parts(p, blocks.len()) } +} diff --git a/md5/tests/data/md5.blb b/md5/tests/data/md5.blb index 37f86c4c4f938aea19a337e5f540ecd21f173f4a..3f6d643839fe7be82b7bbe1a2c74a08e7b748468 100644 GIT binary patch delta 140 zcmV;70CWG=8OIqE001D=9gNwJ0I~$>fC-rF_(FbGksT`%Af6C?oi{7Cf@|0vHA18r z)>x4pD-Z1QQ^czp=i+T@j9A?QFE>Rd$uc}-F_DJMTEsnUpnL4e_kY|qVphD|Il8#rgY`QcQj%`h=gTSS0io0L7o&Rkm+^BpIga*`T#)zea=_P+}Vgi;w`r%dnT4U9*J)n-=~Q?}}wD F1OQgBJkS6D diff --git a/md5/tests/data/one_million_a.bin b/md5/tests/data/one_million_a.bin deleted file mode 100644 index 89c1bba80..000000000 --- a/md5/tests/data/one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -wÖ®N|p5Â)o! \ No newline at end of file diff --git a/md5/tests/lib.rs b/md5/tests/lib.rs deleted file mode 100644 index 9b512f19e..000000000 --- a/md5/tests/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!(md5_main, "md5", md5::Md5, digest_test); - -#[test] -fn md5_1million_a() { - let output = include_bytes!("data/one_million_a.bin"); - one_million_a::(output); -} diff --git a/md5/tests/mod.rs b/md5/tests/mod.rs new file mode 100644 index 000000000..316cb8fbe --- /dev/null +++ b/md5/tests/mod.rs @@ -0,0 +1,15 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; +use md5::{Digest, Md5}; + +digest::new_test!(md5_main, "md5", md5::Md5, fixed_reset_test); + +#[test] +fn md5_rand() { + let mut h = Md5::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("61aec26f1b909578ef638ae02dac0977")[..] + ); +} diff --git a/ripemd/CHANGELOG.md b/ripemd/CHANGELOG.md new file mode 100644 index 000000000..24fbb48f7 --- /dev/null +++ b/ripemd/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## 0.1.0 (2021-12-07) +- Initial release of merged `ripemd160` and `ripemd320` crates updated +to `digest` v0.10. ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 diff --git a/ripemd320/Cargo.toml b/ripemd/Cargo.toml similarity index 56% rename from ripemd320/Cargo.toml rename to ripemd/Cargo.toml index 6083fe0ef..9487f7fb9 100644 --- a/ripemd320/Cargo.toml +++ b/ripemd/Cargo.toml @@ -1,23 +1,21 @@ [package] -name = "ripemd320" -version = "0.9.0" -description = "RIPEMD-320 hash function" +name = "ripemd" +version = "0.1.0" # Also update html_root_url in lib.rs when bumping this +description = "Pure Rust implementation of the RIPEMD hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2018" -documentation = "https://docs.rs/ripemd320" +documentation = "https://docs.rs/ripemd" repository = "https://github.com/RustCrypto/hashes" -keywords = ["crypto", "ripemd320", "hash", "digest"] +keywords = ["crypto", "ripemd", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/ripemd256/LICENSE-APACHE b/ripemd/LICENSE-APACHE similarity index 100% rename from ripemd256/LICENSE-APACHE rename to ripemd/LICENSE-APACHE diff --git a/ripemd256/LICENSE-MIT b/ripemd/LICENSE-MIT similarity index 88% rename from ripemd256/LICENSE-MIT rename to ripemd/LICENSE-MIT index a239acf63..efb0b5f8b 100644 --- a/ripemd256/LICENSE-MIT +++ b/ripemd/LICENSE-MIT @@ -1,6 +1,4 @@ -Copyright (c) 2006-2009 Graydon Hoare -Copyright (c) 2009-2013 Mozilla Foundation -Copyright (c) 2016 The RustCrypto Project Developers +Copyright (c) 2021 RustCrypto Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/ripemd160/README.md b/ripemd/README.md similarity index 93% rename from ripemd160/README.md rename to ripemd/README.md index 29a18e4a0..64f72e493 100644 --- a/ripemd160/README.md +++ b/ripemd/README.md @@ -1,4 +1,4 @@ -# RustCrypto: RIPEMD160 +# RustCrypto: RIPEMD [![crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -7,7 +7,7 @@ [![Project Chat][chat-image]][chat-link] [![Build Status][build-image]][build-link] -Pure Rust implementation of the [RIPEMD160 hash function][1]. +Pure Rust implementation of the [RIPEMD] hash functions. [Documentation][docs-link] @@ -53,4 +53,4 @@ dual licensed as above, without any additional terms or conditions. [//]: # (general links) -[1]: https://en.wikipedia.org/wiki/RIPEMD +[RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/ripemd/benches/mod.rs b/ripemd/benches/mod.rs new file mode 100644 index 000000000..67eaa716f --- /dev/null +++ b/ripemd/benches/mod.rs @@ -0,0 +1,30 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use ripemd::{Ripemd160, Ripemd256, Ripemd320}; +use test::Bencher; + +bench_update!( + Ripemd160::default(); + ripemd160_10 10; + ripemd160_100 100; + ripemd160_1000 1000; + ripemd160_10000 10000; +); + +bench_update!( + Ripemd256::default(); + ripemd256_10 10; + ripemd256_100 100; + ripemd256_1000 1000; + ripemd256_10000 10000; +); + +bench_update!( + Ripemd320::default(); + ripemd320_10 10; + ripemd320_100 100; + ripemd320_1000 1000; + ripemd320_10000 10000; +); diff --git a/ripemd160/src/block.rs b/ripemd/src/c160.rs similarity index 98% rename from ripemd160/src/block.rs rename to ripemd/src/c160.rs index fccf1ab60..2163e848f 100644 --- a/ripemd160/src/block.rs +++ b/ripemd/src/c160.rs @@ -1,6 +1,5 @@ +use super::{Block, Ripemd160Core}; use core::convert::TryInto; -use digest::generic_array::typenum::U64; -use digest::generic_array::GenericArray; pub const DIGEST_BUF_LEN: usize = 5; pub const WORK_BUF_LEN: usize = 16; @@ -13,8 +12,6 @@ pub const H0: [u32; DIGEST_BUF_LEN] = [ 0xc3d2_e1f0, ]; -type Block = GenericArray; - macro_rules! round( ($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $x:expr, $bits:expr, $add:expr, $round:expr) => ({ @@ -115,7 +112,7 @@ macro_rules! process_block( }); ); -pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd256/src/block.rs b/ripemd/src/c256.rs similarity index 98% rename from ripemd256/src/block.rs rename to ripemd/src/c256.rs index de085350c..a7d6e51a9 100644 --- a/ripemd256/src/block.rs +++ b/ripemd/src/c256.rs @@ -1,6 +1,5 @@ +use super::{Block, Ripemd256Core}; use core::{convert::TryInto, mem::swap}; -use digest::generic_array::typenum::U64; -use digest::generic_array::GenericArray; pub const DIGEST_BUF_LEN: usize = 8; pub const HALF_DIGEST_BUF_LEN: usize = DIGEST_BUF_LEN / 2; @@ -17,8 +16,6 @@ pub const H0: [u32; DIGEST_BUF_LEN] = [ 0x0123_4567, ]; -type Block = GenericArray; - macro_rules! round( ($a:expr, $b:expr, $c:expr, $d:expr, $x:expr, $bits:expr, $add:expr, $round:expr) => ({ @@ -122,7 +119,7 @@ macro_rules! process_block( }); ); -pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd320/src/block.rs b/ripemd/src/c320.rs similarity index 98% rename from ripemd320/src/block.rs rename to ripemd/src/c320.rs index 4834ead90..89b174066 100644 --- a/ripemd320/src/block.rs +++ b/ripemd/src/c320.rs @@ -1,6 +1,5 @@ +use super::{Block, Ripemd320Core}; use core::{convert::TryInto, mem::swap}; -use digest::generic_array::typenum::U64; -use digest::generic_array::GenericArray; pub const HALF_DIGEST_BUF_LEN: usize = 5; pub const DIGEST_BUF_LEN: usize = 10; @@ -19,8 +18,6 @@ pub const H0: [u32; DIGEST_BUF_LEN] = [ 0x3c2d_1e0f, ]; -type Block = GenericArray; - macro_rules! round( ($a:expr, $b:expr, $c:expr, $d:expr, $e:expr, $x:expr, $bits:expr, $add:expr, $round:expr) => ({ @@ -145,7 +142,7 @@ macro_rules! process_block( }); ); -pub fn process_msg_block(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { +pub fn compress(h: &mut [u32; DIGEST_BUF_LEN], data: &Block) { let mut w = [0u32; WORK_BUF_LEN]; for (o, chunk) in w.iter_mut().zip(data.chunks_exact(4)) { *o = u32::from_le_bytes(chunk.try_into().unwrap()); diff --git a/ripemd/src/lib.rs b/ripemd/src/lib.rs new file mode 100644 index 000000000..18a0a3b5f --- /dev/null +++ b/ripemd/src/lib.rs @@ -0,0 +1,159 @@ +//! An implementation of the [RIPEMD] cryptographic hash. +//! +//! This crate implements only the modified 1996 versions, not the original +//! one from 1992. +//! +//! Note that RIPEMD-256 provides only the same security as RIPEMD-128, +//! and RIPEMD-320 provides only the same security as RIPEMD-160. +//! +//! # Usage +//! +//! ```rust +//! use hex_literal::hex; +//! use ripemd::{Ripemd160, Ripemd320, Digest}; +//! +//! // create a RIPEMD-160 hasher instance +//! let mut hasher = Ripemd160::new(); +//! +//! // process input message +//! hasher.update(b"Hello world!"); +//! +//! // acquire hash digest in the form of GenericArray, +//! // which in this case is equivalent to [u8; 20] +//! let result = hasher.finalize(); +//! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); +//! +//! // same for RIPEMD-320 +//! let mut hasher = Ripemd320::new(); +//! hasher.update(b"Hello world!"); +//! let result = hasher.finalize(); +//! assert_eq!(&result[..], &hex!(" +//! f1c1c231d301abcf2d7daae0269ff3e7bc68e623 +//! ad723aa068d316b056d26b7d1bb6f0cc0f28336d +//! ")[..]); +//! ``` +//! +//! Also see [RustCrypto/hashes] readme. +//! +//! [RIPEMD]: https://en.wikipedia.org/wiki/RIPEMD +//! [RustCrypto/hashes]: https://github.com/RustCrypto/hashes + +#![no_std] +#![doc( + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/ripemd/0.1.0" +)] +#![deny(unsafe_code)] +#![warn(missing_docs, rust_2018_idioms)] + +pub use digest::{self, Digest}; + +use core::fmt; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U20, U32, U40, U64}, + HashMarker, Output, +}; + +mod c160; +mod c256; +mod c320; + +macro_rules! impl_ripemd { + ( + $name:ident, $wrapped_name:ident, $mod:ident, + $alg_width:expr, $doc_name:expr, $output_size:ty $(,)? + ) => { + #[doc = "Core block-level"] + #[doc = $doc_name] + #[doc = " hasher state."] + #[derive(Clone)] + pub struct $name { + h: [u32; $mod::DIGEST_BUF_LEN], + block_len: u64, + } + + impl HashMarker for $name {} + + impl BlockSizeUser for $name { + type BlockSize = U64; + } + + impl BufferKindUser for $name { + type BufferKind = Eager; + } + + impl OutputSizeUser for $name { + type OutputSize = $output_size; + } + + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + // Assumes that `block_len` does not overflow + self.block_len += blocks.len() as u64; + for block in blocks { + $mod::compress(&mut self.h, block); + } + } + } + + impl FixedOutputCore for $name { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64; + let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); + let mut h = self.h; + buffer.len64_padding_le(bit_len, |block| $mod::compress(&mut h, block)); + + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } + } + } + + impl Default for $name { + #[inline] + fn default() -> Self { + Self { + h: $mod::H0, + block_len: 0, + } + } + } + + impl Reset for $name { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } + } + + impl AlgorithmName for $name { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!("Ripemd", $alg_width)) + } + } + + impl fmt::Debug for $name { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!("Ripemd", $alg_width, "Core { ... }")) + } + } + + #[doc = $doc_name] + #[doc = " hasher."] + pub type $wrapped_name = CoreWrapper<$name>; + }; +} + +impl_ripemd!(Ripemd160Core, Ripemd160, c160, "160", "RIPEMD-160", U20); +impl_ripemd!(Ripemd256Core, Ripemd256, c256, "256", "RIPEMD-256", U32); +impl_ripemd!(Ripemd320Core, Ripemd320, c320, "320", "RIPEMD-320", U40); diff --git a/ripemd/tests/data/ripemd160.blb b/ripemd/tests/data/ripemd160.blb new file mode 100644 index 0000000000000000000000000000000000000000..ee23310ad6ab51220dd3b338c1ab886c6665f808 GIT binary patch literal 234 zcmZQzOH4}E=-b5c{Xy)Es@W`FeKU@2X#W_+{igsZkpe`iK$HeV=|GeLM43R81w`3E zlmkS$K$HhW`9M?vM1>kc3xX}Y=J0epVO@};e&@@qTS>3A!$LAr6$(o;ld~0)it@|z z6w>l56tYTl3yKx;%TkLJN`TTiiB**fDf#Id=AVte^=_}edHwB`X;TZ=rpx@iYfZEP d$v^{y6^ia>avC?s?bx=KyZrgKk6x#)0|4S=WQ+g+ literal 0 HcmV?d00001 diff --git a/ripemd/tests/data/ripemd256.blb b/ripemd/tests/data/ripemd256.blb new file mode 100644 index 0000000000000000000000000000000000000000..733bc577211cb4f5d9af3447a2619017d3f1ed9b GIT binary patch literal 516 zcmZQzaA4Zy;}_p|R-*h*&^2F!$5p!1OMc76G9@>xW6XGbG)R{z(c!1Do$HP8uQ$0S z?%K{Jw~Obu^pg!0HnYy3?Xa3?lBuc6mY9_6uzqizQuo}R-RHiZ(q(>jdm-0>J+-Hw zWbny3U3yvSIy+S+H?_DpF+EiwB{My>xWu9TWnt+onI~0&zA+PhEOjPG96yqM&?Pn0 z>(Bj=rR+R>CO|_|Qq$5iGPAOCa`W;F3X6(MO3TVCDytk)<{Frk$}JKr&;Gfv>rCUG zifMvffzzk8H{F%LS=$?ETmaGw(hf2KWC+L{kWnDhKn8-$1Q`o58Du!fe2^6m7S1f8 z&8v=`IB`>`wfOnUhFQP0_)X3n&Rh9hU+kM%pM8y^le3Gfo4bdnm$#3vpMOALP;f|S zSa?Ka6mIt#7#bOyn3|beSUQ9|Ea6xqwq0R|i^{smGP~s;Cttj<-$DH2iurZR?v*dt w(VzfVi_k?8%Yp6hnJR~=9;klyr8(jlthk#OCTMQ8UFbI+&|@ippP>Y_Y(^19dQP5*V+@9v+sbITlt z0HtfOVTr*xcS;Zb{d(+Pwd2lD#j3B5$+d=y*A_(aooEo1u`*h~F>?n~V!*kIRyK>D zY7tA9wsMwMPRhNNRuwK5rt|09@8|W&A^I~nxU*iH&ig->EioxM;GPfTW>)`BgXMEM z*A@3oGLVZB=ZJp)_u!6;Vuf}kKlE2RUGuqpBtuswH?_DpF+EiwB{My>xFo=;Pa{C@ zO01K9MvMR4%VN)Wwi^Gk*P3`~e#;fr6TR7f|BGtBWz{fFHvw9blA4yDk(rg9lbe@c zP*_x4Qd(ACQCSsmYVXEI?n&-k3X@l5pJSb>qhZqX#r_+Ibs^FT&|Oa&PXG8<$($Oe!lAbUVo1za#$K9%RY5|i|j9lqZ)m)=uI zcoccxXZDsQYCU|DqxX~)tjs)lp=jZn8b>E*7gslT4^J;|A74NJfWV;OkkGL3h{!11 z?l&+rGBz(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/ripemd160/src/lib.rs b/ripemd160/src/lib.rs deleted file mode 100644 index 544d4ae2e..000000000 --- a/ripemd160/src/lib.rs +++ /dev/null @@ -1,101 +0,0 @@ -//! An implementation of the [RIPEMD-160][1] cryptographic hash. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use ripemd160::{Ripemd160, Digest}; -//! -//! // create a RIPEMD-160 hasher instance -//! let mut hasher = Ripemd160::new(); -//! -//! // process input message -//! hasher.update(b"Hello world!"); -//! -//! // acquire hash digest in the form of GenericArray, -//! // which in this case is equivalent to [u8; 20] -//! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("7f772647d88750add82d8e1a7a3e5c0902a346a3")); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/RIPEMD -//! [2]: https://github.com/RustCrypto/hashes - -#![no_std] -#![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" -)] -#![deny(unsafe_code)] -#![warn(missing_docs, rust_2018_idioms)] - -#[cfg(feature = "std")] -extern crate std; - -mod block; - -pub use digest::{self, Digest}; - -use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; -use block_buffer::BlockBuffer; -use digest::consts::{U20, U64}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -/// Structure representing the state of a Ripemd160 computation -#[derive(Clone)] -pub struct Ripemd160 { - h: [u32; DIGEST_BUF_LEN], - len: u64, - buffer: BlockBuffer, -} - -impl Default for Ripemd160 { - fn default() -> Self { - Ripemd160 { - h: H0, - len: 0, - buffer: Default::default(), - } - } -} - -impl BlockInput for Ripemd160 { - type BlockSize = U64; -} - -impl Update for Ripemd160 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Assumes that input.len() can be converted to u64 without overflow - self.len += input.len() as u64; - let h = &mut self.h; - self.buffer.input_block(input, |b| process_msg_block(h, b)); - } -} - -impl FixedOutputDirty for Ripemd160 { - type OutputSize = U20; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let h = &mut self.h; - let l = self.len << 3; - self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); - - for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Ripemd160 { - fn reset(&mut self) { - self.buffer.reset(); - self.len = 0; - self.h = H0; - } -} - -opaque_debug::implement!(Ripemd160); -digest::impl_write!(Ripemd160); diff --git a/ripemd160/tests/data/one_million_a.bin b/ripemd160/tests/data/one_million_a.bin deleted file mode 100644 index df1956351..000000000 --- a/ripemd160/tests/data/one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -Rx2CÁi{Ûám7ùhðƒ%Ü( \ No newline at end of file diff --git a/ripemd160/tests/data/ripemd160.blb b/ripemd160/tests/data/ripemd160.blb deleted file mode 100644 index c3ce45f16..000000000 --- a/ripemd160/tests/data/ripemd160.blb +++ /dev/null @@ -1 +0,0 @@ -blobby1abcŽ²÷à]˜z›JŽ˜Æ°‡ñZ ü8abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq S8Jœ ˆä l'ÜôšÚbë++The quick brown fox jumps over the lazy dog7ó2ö·{Ù×íÔ–•q­gùÝ;+The quick brown fox jumps over the lazy cog rßi 3ƒ^¸¶­ wç¶ñJÊ× \ No newline at end of file diff --git a/ripemd160/tests/lib.rs b/ripemd160/tests/lib.rs deleted file mode 100644 index ccb7bce78..000000000 --- a/ripemd160/tests/lib.rs +++ /dev/null @@ -1,18 +0,0 @@ -//! Test messages from FIPS 180-1 -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!( - ripemd160_main, - "ripemd160", - ripemd160::Ripemd160, - digest_test -); - -#[test] -fn ripemd160_1million_a() { - let output = include_bytes!("data/one_million_a.bin"); - one_million_a::(output); -} diff --git a/ripemd256/.gitignore b/ripemd256/.gitignore deleted file mode 100644 index 96ef6c0b9..000000000 --- a/ripemd256/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target -Cargo.lock diff --git a/ripemd256/Cargo.toml b/ripemd256/Cargo.toml deleted file mode 100644 index 67fe29899..000000000 --- a/ripemd256/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -name = "ripemd256" -version = "0.1.0" -authors = ["RustCrypto Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -readme = "README.md" -keywords = ["crypto", "ripemd256", "hash", "digest"] -categories = ["cryptography", "no-std"] -description = "RIPEMD-256 hash function" -repository = "https://github.com/RustCrypto/hashes" - - -[dependencies] -block-buffer = "0.9" -digest = "0.9" -opaque-debug = "0.3" - -[dev-dependencies] -digest = { version = "0.9", features = ["dev"] } -hex-literal = "0.2" - -[features] -default = ["std"] -std = ["digest/std"] diff --git a/ripemd256/README.md b/ripemd256/README.md deleted file mode 100644 index b0bab35e7..000000000 --- a/ripemd256/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# RustCrypto: RIPEMD256 -Pure Rust implementation of the [RIPEMD256 hash function][1]. - -## Minimum Supported Rust Version - -Rust **1.41** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - -## License - -Licensed under either of: - - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in the work by you, as defined in the Apache-2.0 license, shall be -dual licensed as above, without any additional terms or conditions - -[1]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/ripemd256/examples/ripemd256sum.rs b/ripemd256/examples/ripemd256sum.rs deleted file mode 100644 index 6a6ad1a5c..000000000 --- a/ripemd256/examples/ripemd256sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use ripemd256::{Digest, Ripemd256}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/ripemd256/src/lib.rs b/ripemd256/src/lib.rs deleted file mode 100644 index 70b6344a7..000000000 --- a/ripemd256/src/lib.rs +++ /dev/null @@ -1,96 +0,0 @@ -//! An implementation of the [RIPEMD-256][1] cryptographic hash. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use ripemd256::{Ripemd256, Digest}; -//! -//! // create a RIPEMD-256 hasher instance -//! let mut hasher = Ripemd256::new(); -//! -//! // process input message -//! hasher.update(b"Hello world!"); -//! -//! // acquire hash digest in the form of GenericArray, -//! // which in this case is equivalent to [u8; 32] -//! let expected = hex!("2700f1122c7bd5df165b0615efbbbc54f551aef2401738811a5aea19ccb9233a"); -//! let result = hasher.finalize(); -//! assert_eq!(&result[..], &expected[..]); -//! ``` -//! -//! [1]: https://en.wikipedia.org/wiki/RIPEMD - -#![no_std] -#![deny(unsafe_code)] -#![warn(missing_docs, rust_2018_idioms)] - -#[cfg(feature = "std")] -extern crate std; - -mod block; - -pub use digest::{self, Digest}; - -use block::{process_msg_block, DIGEST_BUF_LEN, H0}; -use block_buffer::BlockBuffer; -use digest::{ - consts::{U32, U64}, - BlockInput, FixedOutputDirty, Reset, Update, -}; - -/// Structure representing the state of a Ripemd256 computation -#[derive(Clone)] -pub struct Ripemd256 { - h: [u32; DIGEST_BUF_LEN], - len: u64, - buffer: BlockBuffer, -} - -impl Default for Ripemd256 { - fn default() -> Self { - Ripemd256 { - h: H0, - len: 0, - buffer: Default::default(), - } - } -} - -impl BlockInput for Ripemd256 { - type BlockSize = U64; -} - -impl Update for Ripemd256 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Assumes that input.len() can be converted to u64 without overflow - self.len += input.len() as u64; - let h = &mut self.h; - self.buffer.input_block(input, |b| process_msg_block(h, b)); - } -} - -impl FixedOutputDirty for Ripemd256 { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let h = &mut self.h; - let l = self.len << 3; - self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); - for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Ripemd256 { - fn reset(&mut self) { - self.buffer.reset(); - self.len = 0; - self.h = H0; - } -} - -opaque_debug::implement!(Ripemd256); -digest::impl_write!(Ripemd256); diff --git a/ripemd256/tests/lib.rs b/ripemd256/tests/lib.rs deleted file mode 100644 index 099ad9968..000000000 --- a/ripemd256/tests/lib.rs +++ /dev/null @@ -1,53 +0,0 @@ -use digest::dev::one_million_a; -use hex_literal::hex; -use ripemd256::{Digest, Ripemd256}; - -fn hash_test(msg: &str, expected: [u8; 32]) { - let mut hasher = Ripemd256::new(); - hasher.update(msg.as_bytes()); - let result = hasher.finalize(); - assert_eq!(result[..], expected); -} - -#[test] -fn ripemd256_messages() { - hash_test( - "", - hex!("02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d"), - ); - hash_test( - "a", - hex!("f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925"), - ); - hash_test( - "abc", - hex!("afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65"), - ); - hash_test( - "message digest", - hex!("87e971759a1ce47a514d5c914c392c9018c7c46bc14465554afcdf54a5070c0e"), - ); - hash_test( - "abcdefghijklmnopqrstuvwxyz", - hex!("649d3034751ea216776bf9a18acc81bc7896118a5197968782dd1fd97d8d5133"), - ); - hash_test( - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - hex!("3843045583aac6c8c8d9128573e7a9809afb2a0f34ccc36ea9e72f16f6368e3f"), - ); - hash_test( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - hex!("5740a408ac16b720b84424ae931cbb1fe363d1d0bf4017f1a89f7ea6de77a0b8"), - ); - hash_test( - "12345678901234567890123456789012345678901234567890123456789012345678901234567890", - hex!("06fdcc7a409548aaf91368c06a6275b553e3f099bf0ea4edfd6778df89a890dd"), - ); -} - -#[test] -fn ripemd256_1million_a() { - one_million_a::(&hex!( - "ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978" - )); -} diff --git a/ripemd320/CHANGELOG.md b/ripemd320/CHANGELOG.md deleted file mode 100644 index 58dfc426a..000000000 --- a/ripemd320/CHANGELOG.md +++ /dev/null @@ -1,25 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## 0.9.0 (2020-06-12) -### Changed -- Bump `opaque-debug` to v0.3.0 ([#168]) -- Bump `digest` to v0.9 release; MSRV 1.41 ([#155]) -- Use new `*Dirty` traits from the `digest` crate ([#153]) -- Bump `block-buffer` to v0.8 release ([#151]) -- Rename `*result*` to `finalize` ([#148]) -- Upgrade to Rust 2018 edition ([#130]) - -[#168]: https://github.com/RustCrypto/hashes/pull/168 -[#155]: https://github.com/RustCrypto/hashes/pull/155 -[#153]: https://github.com/RustCrypto/hashes/pull/153 -[#151]: https://github.com/RustCrypto/hashes/pull/151 -[#148]: https://github.com/RustCrypto/hashes/pull/148 -[#130]: https://github.com/RustCrypto/hashes/pull/130 - -## 0.8.0 (2019-02-11) -- Initial release diff --git a/ripemd320/LICENSE-APACHE b/ripemd320/LICENSE-APACHE deleted file mode 100644 index 78173fa2e..000000000 --- a/ripemd320/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/ripemd320/LICENSE-MIT b/ripemd320/LICENSE-MIT deleted file mode 100644 index a239acf63..000000000 --- a/ripemd320/LICENSE-MIT +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2006-2009 Graydon Hoare -Copyright (c) 2009-2013 Mozilla Foundation -Copyright (c) 2016 The RustCrypto Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/ripemd320/README.md b/ripemd320/README.md deleted file mode 100644 index ba34c4c46..000000000 --- a/ripemd320/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# RustCrypto: RIPEMD320 - -[![crate][crate-image]][crate-link] -[![Docs][docs-image]][docs-link] -![Apache2/MIT licensed][license-image] -![Rust Version][rustc-image] -[![Project Chat][chat-image]][chat-link] -[![Build Status][build-image]][build-link] - -Pure Rust implementation of the [RIPEMD320 hash function][1]. - -[Documentation][docs-link] - -## Minimum Supported Rust Version - -Rust **1.41** or higher. - -Minimum supported Rust version can be changed in the future, but it will be -done with a minor version bump. - -## SemVer Policy - -- All on-by-default features of this library are covered by SemVer -- MSRV is considered exempt from SemVer as noted above - -## License - -Licensed under either of: - - * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) - * [MIT license](http://opensource.org/licenses/MIT) - -at your option. - -### Contribution - -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in the work by you, as defined in the Apache-2.0 license, shall be -dual licensed as above, without any additional terms or conditions. - -[//]: # (badges) - -[crate-image]: https://img.shields.io/crates/v/ripemd320.svg -[crate-link]: https://crates.io/crates/ripemd320 -[docs-image]: https://docs.rs/ripemd320/badge.svg -[docs-link]: https://docs.rs/ripemd320/ -[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg -[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg -[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260041-hashes -[build-image]: https://github.com/RustCrypto/hashes/workflows/ripemd320/badge.svg?branch=master -[build-link]: https://github.com/RustCrypto/hashes/actions?query=workflow%3Aripemd320 - -[//]: # (general links) - -[1]: https://en.wikipedia.org/wiki/RIPEMD diff --git a/ripemd320/benches/lib.rs b/ripemd320/benches/lib.rs deleted file mode 100644 index c8e49596b..000000000 --- a/ripemd320/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(ripemd320::Ripemd320); diff --git a/ripemd320/examples/ripemd320sum.rs b/ripemd320/examples/ripemd320sum.rs deleted file mode 100644 index 0b1f49fa3..000000000 --- a/ripemd320/examples/ripemd320sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use ripemd320::{Digest, Ripemd320}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/ripemd320/src/lib.rs b/ripemd320/src/lib.rs deleted file mode 100644 index ba6f32ce0..000000000 --- a/ripemd320/src/lib.rs +++ /dev/null @@ -1,102 +0,0 @@ -//! An implementation of the [RIPEMD-320][1] cryptographic hash. -//! -//! # Usage -//! -//! ```rust -//! use hex_literal::hex; -//! use ripemd320::{Ripemd320, Digest}; -//! -//! // create a RIPEMD-320 hasher instance -//! let mut hasher = Ripemd320::new(); -//! -//! // process input message -//! hasher.update(b"Hello world!"); -//! -//! // acquire hash digest in the form of GenericArray, -//! // which in this case is equivalent to [u8; 40] -//! let expected = hex!("f1c1c231d301abcf2d7daae0269ff3e7bc68e623ad723aa068d316b056d26b7d1bb6f0cc0f28336d"); -//! let result = hasher.finalize(); -//! assert_eq!(&result[..], &expected[..]); -//! ``` -//! -//! Also see [RustCrypto/hashes][2] readme. -//! -//! [1]: https://en.wikipedia.org/wiki/RIPEMD -//! [2]: https://github.com/RustCrypto/hashes - -#![no_std] -#![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" -)] -#![deny(unsafe_code)] -#![warn(missing_docs, rust_2018_idioms)] - -#[cfg(feature = "std")] -extern crate std; - -mod block; - -pub use digest::{self, Digest}; - -use crate::block::{process_msg_block, DIGEST_BUF_LEN, H0}; - -use block_buffer::BlockBuffer; -use digest::consts::{U40, U64}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -/// Structure representing the state of a ripemd320 computation -#[derive(Clone)] -pub struct Ripemd320 { - h: [u32; DIGEST_BUF_LEN], - len: u64, - buffer: BlockBuffer, -} - -impl Default for Ripemd320 { - fn default() -> Self { - Ripemd320 { - h: H0, - len: 0, - buffer: Default::default(), - } - } -} - -impl BlockInput for Ripemd320 { - type BlockSize = U64; -} - -impl Update for Ripemd320 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Assumes that input.len() can be converted to u64 without overflow - self.len += input.len() as u64; - let h = &mut self.h; - self.buffer.input_block(input, |b| process_msg_block(h, b)); - } -} - -impl FixedOutputDirty for Ripemd320 { - type OutputSize = U40; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let h = &mut self.h; - let l = self.len << 3; - self.buffer.len64_padding_le(l, |b| process_msg_block(h, b)); - for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Ripemd320 { - fn reset(&mut self) { - self.buffer.reset(); - self.len = 0; - self.h = H0; - } -} - -opaque_debug::implement!(Ripemd320); -digest::impl_write!(Ripemd320); diff --git a/ripemd320/tests/data/one_million_a.bin b/ripemd320/tests/data/one_million_a.bin deleted file mode 100644 index ebf119470..000000000 --- a/ripemd320/tests/data/one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -½î7ô7 dk‹ †-Ú)*ão@–^Œ… æ=½ÞÌP>+cë’E»f \ No newline at end of file diff --git a/ripemd320/tests/data/ripemd320.blb b/ripemd320/tests/data/ripemd320.blb deleted file mode 100644 index 2b5f1d993021b892f982f39b4ade7519996dbc56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmYew$xlkEG-OW8&)1ON^iI+ts^O7v-I7IT_Z4%`s1fls>RjrgJbCiE*Xd3Fb=dFj zpSN?%90m=gYq4R8!8vzI5B~jn>|V9w&QHavuaC*KhKtu0MDd+y5S6hqTEH=L2VUgsK<`SdlYT~v|J=)B&v&*O|FYMbcxisi71a~H*?#|vYQJUGFiw{OT9T5QmY$KB zm7SBDmtRm=R9sS8R$ftArEzNS#zyW*?pz9!S7o1LovNc@((}ds8;9fcz_i^CZ2{Kvrp7Fj+p8=erV<^pYLE z-!qrqQ%HCedEaODmL+OEe3PU1loYJYJb9sL;Tk(fCubK|H+K(DFK-`TKmUNhpx}_u zu<(e;DBSKhFf=kYF*P%{u+(@P;^}ZAH~mw|Ao{pS7Sx*Uw3O N(leF0TWs2v002Z$-P-^F diff --git a/ripemd320/tests/lib.rs b/ripemd320/tests/lib.rs deleted file mode 100644 index 727131595..000000000 --- a/ripemd320/tests/lib.rs +++ /dev/null @@ -1,19 +0,0 @@ -//! Test messages from FIPS 180-1 and from the RIPEMD-160 webpage[1] -//! [1] https://homes.esat.kuleuven.be/~bosselae/ripemd160.html -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!( - ripemd320_main, - "ripemd320", - ripemd320::Ripemd320, - digest_test -); - -#[test] -fn ripemd320_1million_a() { - let output = include_bytes!("data/one_million_a.bin"); - one_million_a::(&output[..]); -} diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 17cd4b9e9..3e99c8436 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.8 (2021-08-27) ### Changed - Bump `cpufeatures` dependency to 0.2 ([#306]) diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index cbf261eca..3c8c14624 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha-1" -version = "0.9.8" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -15,9 +15,7 @@ categories = ["cryptography", "no-std"] name = "sha1" [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" cfg-if = "1.0" sha1-asm = { version = "0.5", optional = true } @@ -25,7 +23,7 @@ sha1-asm = { version = "0.5", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] @@ -35,9 +33,6 @@ asm = ["sha1-asm"] compress = [] # Expose compress function force-soft = [] # Force software implementation -# DEPRECATED: use `asm` instead -asm-aarch64 = ["asm"] - [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] diff --git a/sha1/benches/lib.rs b/sha1/benches/lib.rs deleted file mode 100644 index 130dc78b8..000000000 --- a/sha1/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sha1::Sha1); diff --git a/sha1/benches/mod.rs b/sha1/benches/mod.rs new file mode 100644 index 000000000..5c52e954c --- /dev/null +++ b/sha1/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use sha1::Sha1; +use test::Bencher; + +bench_update!( + Sha1::default(); + sha1_10 10; + sha1_100 100; + sha1_1000 1000; + sha1_10000 10000; +); diff --git a/sha1/examples/sha1sum.rs b/sha1/examples/sha1sum.rs deleted file mode 100644 index 78d0cbf90..000000000 --- a/sha1/examples/sha1sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sha1::{Digest, Sha1}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sha1/src/compress.rs b/sha1/src/compress.rs index b45f87bc2..feba6fd05 100644 --- a/sha1/src/compress.rs +++ b/sha1/src/compress.rs @@ -1,5 +1,5 @@ -use digest::consts::U64; -use digest::generic_array::GenericArray; +use crate::{Block, BlockSizeUser, Sha1Core}; +use digest::generic_array::typenum::Unsigned; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -14,9 +14,7 @@ cfg_if::cfg_if! { mod soft; #[cfg(feature = "asm")] mod soft { - pub(crate) fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { - sha1_asm::compress(state, blocks) - } + pub use sha1_asm::compress; } mod x86; use x86::compress as compress_inner; @@ -26,12 +24,15 @@ cfg_if::cfg_if! { } } +const BLOCK_SIZE: usize = ::BlockSize::USIZE; + /// SHA-1 compression function #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] -pub fn compress(state: &mut [u32; 5], blocks: &[GenericArray]) { +pub fn compress(state: &mut [u32; 5], blocks: &[Block]) { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout #[allow(unsafe_code)] - let blocks: &[[u8; 64]] = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; + let blocks: &[[u8; BLOCK_SIZE]] = + unsafe { &*(blocks as *const _ as *const [[u8; BLOCK_SIZE]]) }; compress_inner(state, blocks); } diff --git a/sha1/src/compress/soft.rs b/sha1/src/compress/soft.rs index 19366fb13..f4777e7cc 100644 --- a/sha1/src/compress/soft.rs +++ b/sha1/src/compress/soft.rs @@ -1,7 +1,9 @@ #![allow(clippy::many_single_char_names)] -use crate::consts::{BLOCK_LEN, K0, K1, K2, K3}; +use super::BLOCK_SIZE; use core::convert::TryInto; +const K: [u32; 4] = [0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6]; + #[inline(always)] fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] { [ @@ -47,16 +49,11 @@ fn sha1_first_half(abcd: [u32; 4], msg: [u32; 4]) -> [u32; 4] { } fn sha1_digest_round_x4(abcd: [u32; 4], work: [u32; 4], i: i8) -> [u32; 4] { - const K0V: [u32; 4] = [K0, K0, K0, K0]; - const K1V: [u32; 4] = [K1, K1, K1, K1]; - const K2V: [u32; 4] = [K2, K2, K2, K2]; - const K3V: [u32; 4] = [K3, K3, K3, K3]; - match i { - 0 => sha1rnds4c(abcd, add(work, K0V)), - 1 => sha1rnds4p(abcd, add(work, K1V)), - 2 => sha1rnds4m(abcd, add(work, K2V)), - 3 => sha1rnds4p(abcd, add(work, K3V)), + 0 => sha1rnds4c(abcd, add(work, [K[0]; 4])), + 1 => sha1rnds4p(abcd, add(work, [K[1]; 4])), + 2 => sha1rnds4m(abcd, add(work, [K[2]; 4])), + 3 => sha1rnds4p(abcd, add(work, [K[3]; 4])), _ => unreachable!("unknown icosaround index"), } } @@ -247,8 +244,8 @@ fn sha1_digest_block_u32(state: &mut [u32; 5], block: &[u32; 16]) { state[4] = state[4].wrapping_add(e); } -pub fn compress(state: &mut [u32; 5], blocks: &[[u8; 64]]) { - let mut block_u32 = [0u32; BLOCK_LEN]; +pub fn compress(state: &mut [u32; 5], blocks: &[[u8; BLOCK_SIZE]]) { + let mut block_u32 = [0u32; BLOCK_SIZE / 4]; // since LLVM can't properly use aliasing yet it will make // unnecessary state stores without this copy let mut state_cpy = *state; diff --git a/sha1/src/consts.rs b/sha1/src/consts.rs deleted file mode 100644 index c227df3a9..000000000 --- a/sha1/src/consts.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![allow(clippy::unreadable_literal, dead_code)] - -pub const STATE_LEN: usize = 5; - -pub const BLOCK_LEN: usize = 16; - -pub const K0: u32 = 0x5A827999u32; -pub const K1: u32 = 0x6ED9EBA1u32; -pub const K2: u32 = 0x8F1BBCDCu32; -pub const K3: u32 = 0xCA62C1D6u32; - -pub const H: [u32; STATE_LEN] = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]; diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index e1c8ac4a0..134108e77 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -36,81 +36,105 @@ #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/sha-1/0.10.0" )] -#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; +pub use digest::{self, Digest}; + +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U20, U64}, + HashMarker, Output, +}; mod compress; -mod consts; #[cfg(feature = "compress")] -pub use crate::compress::compress; +pub use compress::compress; #[cfg(not(feature = "compress"))] -use crate::compress::compress; -use crate::consts::{H, STATE_LEN}; -use block_buffer::BlockBuffer; -use digest::consts::{U20, U64}; -pub use digest::{self, Digest}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +use compress::compress; + +const STATE_LEN: usize = 5; -/// Structure representing the state of a SHA-1 computation +/// Core SHA-1 hasher state. #[derive(Clone)] -pub struct Sha1 { +pub struct Sha1Core { h: [u32; STATE_LEN], - len: u64, - buffer: BlockBuffer, + block_len: u64, } -impl Default for Sha1 { - fn default() -> Self { - Sha1 { - h: H, - len: 0u64, - buffer: Default::default(), - } - } -} +impl HashMarker for Sha1Core {} -impl BlockInput for Sha1 { +impl BlockSizeUser for Sha1Core { type BlockSize = U64; } -impl Update for Sha1 { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - // Assumes that `length_bits<<3` will not overflow - self.len += input.len() as u64; - let state = &mut self.h; - self.buffer.input_blocks(input, |d| compress(state, d)); - } +impl BufferKindUser for Sha1Core { + type BufferKind = Eager; } -impl FixedOutputDirty for Sha1 { +impl OutputSizeUser for Sha1Core { type OutputSize = U20; +} + +impl UpdateCore for Sha1Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u64; + compress(&mut self.h, blocks); + } +} - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let s = &mut self.h; - let l = self.len << 3; - self.buffer - .len64_padding_be(l, |d| compress(s, core::slice::from_ref(d))); - for (chunk, v) in out.chunks_exact_mut(4).zip(self.h.iter()) { +impl FixedOutputCore for Sha1Core { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64; + let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); + + let mut h = self.h; + buffer.len64_padding_be(bit_len, |b| compress(&mut h, from_ref(b))); + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { chunk.copy_from_slice(&v.to_be_bytes()); } } } -impl Reset for Sha1 { +impl Default for Sha1Core { + #[inline] + fn default() -> Self { + Self { + h: [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0], + block_len: 0, + } + } +} + +impl Reset for Sha1Core { + #[inline] fn reset(&mut self) { - self.h = H; - self.len = 0; - self.buffer.reset(); + *self = Default::default(); + } +} + +impl AlgorithmName for Sha1Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha1") + } +} + +impl fmt::Debug for Sha1Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha1Core { ... }") } } -opaque_debug::implement!(Sha1); -digest::impl_write!(Sha1); +/// SHA-1 hasher state. +pub type Sha1 = CoreWrapper; diff --git a/sha1/tests/data/one_million_a.bin b/sha1/tests/data/one_million_a.bin deleted file mode 100644 index 0c759d80f..000000000 --- a/sha1/tests/data/one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -4ª—<ÔÄÚ¤öë+Û­'1e4o \ No newline at end of file diff --git a/sha1/tests/data/sha1.blb b/sha1/tests/data/sha1.blb index 13ae2df262cc1e53a4528d0e7e2c11092eedd392..e8dc49163c0c33f4048bfebb2b28b82707e28483 100644 GIT binary patch delta 112 zcmV-$0FVFh0qOx800v=VV<@SaJ~l@Nfoi%wC2@FA!fc$-*qv~ZAvhK&gqS`=96Qo( zx~@v0`B5q5}D0D-|f-pDcgU SUK=|4)96|Y(S4f`4Yaeiu`_W1 delta 118 zcmV-+0Ez$V0q_AKVr*|>VtFwGVPazxshK`DM+Sjvx;`awcu>M@oY2^vIFTDT78Hb- zK13Wl(r&u0N}>5tDdpuxaPcdVswf#`Z)X%Q)ZxZ@Ehzl$gr4EMcIP=8lj{;Ik*X^d Y6yBdKf6`tXI{MS-S_{#An-C4Ov$MZ7F8}}l diff --git a/sha1/tests/lib.rs b/sha1/tests/lib.rs deleted file mode 100644 index c7452c902..000000000 --- a/sha1/tests/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!(sha1_main, "sha1", sha1::Sha1, digest_test); - -#[test] -fn sha1_1million_a() { - let output = include_bytes!("data/one_million_a.bin"); - one_million_a::(output); -} diff --git a/sha1/tests/mod.rs b/sha1/tests/mod.rs new file mode 100644 index 000000000..04aa69f1c --- /dev/null +++ b/sha1/tests/mod.rs @@ -0,0 +1,15 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; +use sha1::{Digest, Sha1}; + +digest::new_test!(sha1_main, "sha1", Sha1, fixed_reset_test); + +#[test] +fn sha1_rand() { + let mut h = Sha1::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("7e565a25a8b123e9881addbcedcd927b23377a78")[..] + ); +} diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index 433465d0b..b59a388bd 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) +- Rename `Sha512Trunc224` and `Sha512Trunc256` to `Sha512_224` and `Sha512_256` respectively. ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.8 (2021-09-09) ### Fixed - Bug in the AVX2 backend ([#314]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index cf17feb8e..5a9984032 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.9.8" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. @@ -15,9 +15,7 @@ keywords = ["crypto", "sha2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" cfg-if = "1.0" sha2-asm = { version = "0.6.1", optional = true } @@ -25,7 +23,7 @@ sha2-asm = { version = "0.6.1", optional = true } cpufeatures = "0.2" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha2/benches/mod.rs b/sha2/benches/mod.rs new file mode 100644 index 000000000..8c60cccb9 --- /dev/null +++ b/sha2/benches/mod.rs @@ -0,0 +1,22 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use sha2::{Sha256, Sha512}; +use test::Bencher; + +bench_update!( + Sha256::default(); + sha256_10 10; + sha256_100 100; + sha256_1000 1000; + sha256_10000 10000; +); + +bench_update!( + Sha512::default(); + sha512_10 10; + sha512_100 100; + sha512_1000 1000; + sha512_10000 10000; +); diff --git a/sha2/benches/sha256.rs b/sha2/benches/sha256.rs deleted file mode 100644 index 181a68c40..000000000 --- a/sha2/benches/sha256.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sha2::Sha256); diff --git a/sha2/benches/sha512.rs b/sha2/benches/sha512.rs deleted file mode 100644 index 88708b383..000000000 --- a/sha2/benches/sha512.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sha2::Sha512); diff --git a/sha2/examples/sha256sum.rs b/sha2/examples/sha256sum.rs deleted file mode 100644 index 31ee97929..000000000 --- a/sha2/examples/sha256sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sha2::{Digest, Sha256}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sha2/examples/sha512sum.rs b/sha2/examples/sha512sum.rs deleted file mode 100644 index 9d4785acd..000000000 --- a/sha2/examples/sha512sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sha2::{Digest, Sha512}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs index f126dc616..8c0bbab50 100644 --- a/sha2/src/consts.rs +++ b/sha2/src/consts.rs @@ -3,6 +3,9 @@ pub const STATE_LEN: usize = 8; pub const BLOCK_LEN: usize = 16; +pub type State256 = [u32; STATE_LEN]; +pub type State512 = [u64; STATE_LEN]; + /// Constants necessary for SHA-256 family of digests. pub const K32: [u32; 64] = [ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, @@ -37,180 +40,68 @@ pub const K32X4: [[u32; 4]; 16] = [ /// Constants necessary for SHA-512 family of digests. pub const K64: [u64; 80] = [ - 0x428a2f98d728ae22, - 0x7137449123ef65cd, - 0xb5c0fbcfec4d3b2f, - 0xe9b5dba58189dbbc, - 0x3956c25bf348b538, - 0x59f111f1b605d019, - 0x923f82a4af194f9b, - 0xab1c5ed5da6d8118, - 0xd807aa98a3030242, - 0x12835b0145706fbe, - 0x243185be4ee4b28c, - 0x550c7dc3d5ffb4e2, - 0x72be5d74f27b896f, - 0x80deb1fe3b1696b1, - 0x9bdc06a725c71235, - 0xc19bf174cf692694, - 0xe49b69c19ef14ad2, - 0xefbe4786384f25e3, - 0x0fc19dc68b8cd5b5, - 0x240ca1cc77ac9c65, - 0x2de92c6f592b0275, - 0x4a7484aa6ea6e483, - 0x5cb0a9dcbd41fbd4, - 0x76f988da831153b5, - 0x983e5152ee66dfab, - 0xa831c66d2db43210, - 0xb00327c898fb213f, - 0xbf597fc7beef0ee4, - 0xc6e00bf33da88fc2, - 0xd5a79147930aa725, - 0x06ca6351e003826f, - 0x142929670a0e6e70, - 0x27b70a8546d22ffc, - 0x2e1b21385c26c926, - 0x4d2c6dfc5ac42aed, - 0x53380d139d95b3df, - 0x650a73548baf63de, - 0x766a0abb3c77b2a8, - 0x81c2c92e47edaee6, - 0x92722c851482353b, - 0xa2bfe8a14cf10364, - 0xa81a664bbc423001, - 0xc24b8b70d0f89791, - 0xc76c51a30654be30, - 0xd192e819d6ef5218, - 0xd69906245565a910, - 0xf40e35855771202a, - 0x106aa07032bbd1b8, - 0x19a4c116b8d2d0c8, - 0x1e376c085141ab53, - 0x2748774cdf8eeb99, - 0x34b0bcb5e19b48a8, - 0x391c0cb3c5c95a63, - 0x4ed8aa4ae3418acb, - 0x5b9cca4f7763e373, - 0x682e6ff3d6b2b8a3, - 0x748f82ee5defb2fc, - 0x78a5636f43172f60, - 0x84c87814a1f0ab72, - 0x8cc702081a6439ec, - 0x90befffa23631e28, - 0xa4506cebde82bde9, - 0xbef9a3f7b2c67915, - 0xc67178f2e372532b, - 0xca273eceea26619c, - 0xd186b8c721c0c207, - 0xeada7dd6cde0eb1e, - 0xf57d4f7fee6ed178, - 0x06f067aa72176fba, - 0x0a637dc5a2c898a6, - 0x113f9804bef90dae, - 0x1b710b35131c471b, - 0x28db77f523047d84, - 0x32caab7b40c72493, - 0x3c9ebe0a15c9bebc, - 0x431d67c49c100d4c, - 0x4cc5d4becb3e42b6, - 0x597f299cfc657e2a, - 0x5fcb6fab3ad6faec, - 0x6c44198c4a475817, + 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, + 0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, + 0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, + 0x72be5d74f27b896f, 0x80deb1fe3b1696b1, 0x9bdc06a725c71235, 0xc19bf174cf692694, + 0xe49b69c19ef14ad2, 0xefbe4786384f25e3, 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65, + 0x2de92c6f592b0275, 0x4a7484aa6ea6e483, 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5, + 0x983e5152ee66dfab, 0xa831c66d2db43210, 0xb00327c898fb213f, 0xbf597fc7beef0ee4, + 0xc6e00bf33da88fc2, 0xd5a79147930aa725, 0x06ca6351e003826f, 0x142929670a0e6e70, + 0x27b70a8546d22ffc, 0x2e1b21385c26c926, 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df, + 0x650a73548baf63de, 0x766a0abb3c77b2a8, 0x81c2c92e47edaee6, 0x92722c851482353b, + 0xa2bfe8a14cf10364, 0xa81a664bbc423001, 0xc24b8b70d0f89791, 0xc76c51a30654be30, + 0xd192e819d6ef5218, 0xd69906245565a910, 0xf40e35855771202a, 0x106aa07032bbd1b8, + 0x19a4c116b8d2d0c8, 0x1e376c085141ab53, 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8, + 0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3, + 0x748f82ee5defb2fc, 0x78a5636f43172f60, 0x84c87814a1f0ab72, 0x8cc702081a6439ec, + 0x90befffa23631e28, 0xa4506cebde82bde9, 0xbef9a3f7b2c67915, 0xc67178f2e372532b, + 0xca273eceea26619c, 0xd186b8c721c0c207, 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178, + 0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b, + 0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c, + 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817, ]; /// Constants necessary for SHA-512 family of digests. pub const K64X2: [[u64; 2]; 40] = [ - [K64[1], K64[0]], - [K64[3], K64[2]], - [K64[5], K64[4]], - [K64[7], K64[6]], - [K64[9], K64[8]], - [K64[11], K64[10]], - [K64[13], K64[12]], - [K64[15], K64[14]], - [K64[17], K64[16]], - [K64[19], K64[18]], - [K64[21], K64[20]], - [K64[23], K64[22]], - [K64[25], K64[24]], - [K64[27], K64[26]], - [K64[29], K64[28]], - [K64[31], K64[30]], - [K64[33], K64[32]], - [K64[35], K64[34]], - [K64[37], K64[36]], - [K64[39], K64[38]], - [K64[41], K64[40]], - [K64[43], K64[42]], - [K64[45], K64[44]], - [K64[47], K64[46]], - [K64[49], K64[48]], - [K64[51], K64[50]], - [K64[53], K64[52]], - [K64[55], K64[54]], - [K64[57], K64[56]], - [K64[59], K64[58]], - [K64[61], K64[60]], - [K64[63], K64[62]], - [K64[65], K64[64]], - [K64[67], K64[66]], - [K64[69], K64[68]], - [K64[71], K64[70]], - [K64[73], K64[72]], - [K64[75], K64[74]], - [K64[77], K64[76]], - [K64[79], K64[78]], + [K64[1], K64[0]], [K64[3], K64[2]], [K64[5], K64[4]], [K64[7], K64[6]], + [K64[9], K64[8]], [K64[11], K64[10]], [K64[13], K64[12]], [K64[15], K64[14]], + [K64[17], K64[16]], [K64[19], K64[18]], [K64[21], K64[20]], [K64[23], K64[22]], + [K64[25], K64[24]], [K64[27], K64[26]], [K64[29], K64[28]], [K64[31], K64[30]], + [K64[33], K64[32]], [K64[35], K64[34]], [K64[37], K64[36]], [K64[39], K64[38]], + [K64[41], K64[40]], [K64[43], K64[42]], [K64[45], K64[44]], [K64[47], K64[46]], + [K64[49], K64[48]], [K64[51], K64[50]], [K64[53], K64[52]], [K64[55], K64[54]], + [K64[57], K64[56]], [K64[59], K64[58]], [K64[61], K64[60]], [K64[63], K64[62]], + [K64[65], K64[64]], [K64[67], K64[66]], [K64[69], K64[68]], [K64[71], K64[70]], + [K64[73], K64[72]], [K64[75], K64[74]], [K64[77], K64[76]], [K64[79], K64[78]], ]; -pub static H224: [u32; STATE_LEN] = [ - 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, +pub const H256_224: State256 = [ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4, ]; -pub static H256: [u32; STATE_LEN] = [ - 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +pub const H256_256: State256 = [ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, + 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, ]; -pub static H384: [u64; STATE_LEN] = [ - 0xcbbb9d5dc1059ed8, - 0x629a292a367cd507, - 0x9159015a3070dd17, - 0x152fecd8f70e5939, - 0x67332667ffc00b31, - 0x8eb44a8768581511, - 0xdb0c2e0d64f98fa7, - 0x47b5481dbefa4fa4, +pub const H512_224: State512 = [ + 0x8c3d37c819544da2, 0x73e1996689dcd4d6, 0x1dfab7ae32ff9c82, 0x679dd514582f9fcf, + 0x0f6d2b697bd44da8, 0x77e36f7304c48942, 0x3f9d85a86a1d36c8, 0x1112e6ad91d692a1, ]; -pub static H512: [u64; STATE_LEN] = [ - 0x6a09e667f3bcc908, - 0xbb67ae8584caa73b, - 0x3c6ef372fe94f82b, - 0xa54ff53a5f1d36f1, - 0x510e527fade682d1, - 0x9b05688c2b3e6c1f, - 0x1f83d9abfb41bd6b, - 0x5be0cd19137e2179, +pub const H512_256: State512 = [ + 0x22312194fc2bf72c, 0x9f555fa3c84c64c2, 0x2393b86b6f53b151, 0x963877195940eabd, + 0x96283ee2a88effe3, 0xbe5e1e2553863992, 0x2b0199fc2c85b8aa, 0x0eb72ddc81c52ca2, ]; -pub static H512_TRUNC_224: [u64; STATE_LEN] = [ - 0x8c3d37c819544da2, - 0x73e1996689dcd4d6, - 0x1dfab7ae32ff9c82, - 0x679dd514582f9fcf, - 0x0f6d2b697bd44da8, - 0x77e36f7304c48942, - 0x3f9d85a86a1d36c8, - 0x1112e6ad91d692a1, +pub const H512_384: State512 = [ + 0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939, + 0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4, ]; -pub static H512_TRUNC_256: [u64; STATE_LEN] = [ - 0x22312194fc2bf72c, - 0x9f555fa3c84c64c2, - 0x2393b86b6f53b151, - 0x963877195940eabd, - 0x96283ee2a88effe3, - 0xbe5e1e2553863992, - 0x2b0199fc2c85b8aa, - 0x0eb72ddc81c52ca2, +pub const H512_512: State512 = [ + 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, + 0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179, ]; diff --git a/sha2/src/core_api.rs b/sha2/src/core_api.rs new file mode 100644 index 000000000..8484cca53 --- /dev/null +++ b/sha2/src/core_api.rs @@ -0,0 +1,157 @@ +use crate::{consts, sha256::compress256, sha512::compress512}; +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, + UpdateCore, VariableOutputCore, + }, + generic_array::typenum::{Unsigned, U128, U32, U64}, + HashMarker, InvalidOutputSize, Output, +}; + +/// Core block-level SHA-256 hasher with variable output size. +/// +/// Supports initialization only for 28 and 32 byte output sizes, +/// i.e. 224 and 256 bits respectively. +#[derive(Clone)] +pub struct Sha256VarCore { + state: consts::State256, + block_len: u64, +} + +impl HashMarker for Sha256VarCore {} + +impl BlockSizeUser for Sha256VarCore { + type BlockSize = U64; +} + +impl BufferKindUser for Sha256VarCore { + type BufferKind = Eager; +} + +impl UpdateCore for Sha256VarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u64; + compress256(&mut self.state, blocks); + } +} + +impl OutputSizeUser for Sha256VarCore { + type OutputSize = U32; +} + +impl VariableOutputCore for Sha256VarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Left; + + #[inline] + fn new(output_size: usize) -> Result { + let state = match output_size { + 28 => consts::H256_224, + 32 => consts::H256_256, + _ => return Err(InvalidOutputSize), + }; + let block_len = 0; + Ok(Self { state, block_len }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64; + let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); + buffer.len64_padding_be(bit_len, |b| compress256(&mut self.state, from_ref(b))); + + for (chunk, v) in out.chunks_exact_mut(4).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl AlgorithmName for Sha256VarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha256") + } +} + +impl fmt::Debug for Sha256VarCore { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha256VarCore { ... }") + } +} + +/// Core block-level SHA-512 hasher with variable output size. +/// +/// Supports initialization only for 28, 32, 48, and 64 byte output sizes, +/// i.e. 224, 256, 384, and 512 bits respectively. +#[derive(Clone)] +pub struct Sha512VarCore { + state: consts::State512, + block_len: u128, +} + +impl HashMarker for Sha512VarCore {} + +impl BlockSizeUser for Sha512VarCore { + type BlockSize = U128; +} + +impl BufferKindUser for Sha512VarCore { + type BufferKind = Eager; +} + +impl UpdateCore for Sha512VarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u128; + compress512(&mut self.state, blocks); + } +} + +impl OutputSizeUser for Sha512VarCore { + type OutputSize = U64; +} + +impl VariableOutputCore for Sha512VarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Left; + + #[inline] + fn new(output_size: usize) -> Result { + let state = match output_size { + 28 => consts::H512_224, + 32 => consts::H512_256, + 48 => consts::H512_384, + 64 => consts::H512_512, + _ => return Err(InvalidOutputSize), + }; + let block_len = 0; + Ok(Self { state, block_len }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64 as u128; + let bit_len = 8 * (buffer.get_pos() as u128 + bs * self.block_len); + buffer.len128_padding_be(bit_len, |b| compress512(&mut self.state, from_ref(b))); + + for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl AlgorithmName for Sha512VarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha512") + } +} + +impl fmt::Debug for Sha512VarCore { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sha512VarCore { ... }") + } +} diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 1927067e1..651bc6065 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -1,21 +1,12 @@ //! An implementation of the [SHA-2][1] cryptographic hash algorithms. //! -//! There are 6 standard algorithms specified in the SHA-2 standard: +//! There are 6 standard algorithms specified in the SHA-2 standard: [`Sha224`], +//! [`Sha256`], [`Sha512_224`], [`Sha512_256`], [`Sha384`], and [`Sha512`]. //! -//! * `Sha224`, which is the 8 x 32-bit `Sha256` algorithm with the result truncated -//! to 224 bits. -//! * `Sha256`, which is the 8 x 32-bit `Sha256` algorithm. -//! * `Sha384`, which is the 8 x 64-bit `Sha512` algorithm with the result truncated -//! to 384 bits. -//! * `Sha512`, which is the 8 x 64-bit `Sha512` algorithm. -//! * `Sha512Trunc224`, which is the 8 x 64-bit `Sha512` algorithm with the result -//! truncated to 224 bits. -//! * `Sha512Trunc256`, which is the 8 x 64-bit `Sha512` algorithm with the result -//! truncated to 256 bits. -//! -//! Algorithmically, there are only 2 core algorithms: `Sha256` and `Sha512`. +//! Algorithmically, there are only 2 core algorithms: SHA-256 and SHA-512. //! All other algorithms are just applications of these with different initial -//! hash values, and truncated to different digest bit lengths. +//! hash values, and truncated to different digest bit lengths. The first two +//! algorithms in the list are based on SHA-256, while the last three on SHA-512. //! //! # Usage //! @@ -55,22 +46,41 @@ #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/sha2/0.10.0" )] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; +pub use digest::{self, Digest}; + +use digest::{ + consts::{U28, U32, U48, U64}, + core_api::{CoreWrapper, CtVariableCoreWrapper}, +}; +#[rustfmt::skip] mod consts; +mod core_api; mod sha256; mod sha512; -pub use digest::{self, Digest}; #[cfg(feature = "compress")] pub use sha256::compress256; -pub use sha256::{Sha224, Sha256}; #[cfg(feature = "compress")] pub use sha512::compress512; -pub use sha512::{Sha384, Sha512, Sha512Trunc224, Sha512Trunc256}; + +pub use core_api::{Sha256VarCore, Sha512VarCore}; + +/// SHA-224 hasher. +pub type Sha224 = CoreWrapper>; +/// SHA-256 hasher. +pub type Sha256 = CoreWrapper>; +/// SHA-512/224 hasher. +pub type Sha512_224 = CoreWrapper>; +/// SHA-512/256 hasher. +pub type Sha512_256 = CoreWrapper>; +/// SHA-384 hasher. +pub type Sha384 = CoreWrapper>; +/// SHA-512 hasher. +pub type Sha512 = CoreWrapper>; diff --git a/sha2/src/sha256.rs b/sha2/src/sha256.rs index 5e5909657..2f493713b 100644 --- a/sha2/src/sha256.rs +++ b/sha2/src/sha256.rs @@ -1,142 +1,4 @@ -//! SHA-256 -use crate::consts::{H224, H256, STATE_LEN}; -use block_buffer::BlockBuffer; -use core::slice::from_ref; -use digest::consts::{U28, U32, U64}; -use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -type BlockSize = U64; - -/// Structure that keeps state of the Sha-256 operation and -/// contains the logic necessary to perform the final calculations. -#[derive(Clone)] -struct Engine256 { - len: u64, - buffer: BlockBuffer, - state: [u32; 8], -} - -impl Engine256 { - fn new(h: &[u32; STATE_LEN]) -> Engine256 { - Engine256 { - len: 0, - buffer: Default::default(), - state: *h, - } - } - - fn update(&mut self, input: &[u8]) { - // Assumes that input.len() can be converted to u64 without overflow - self.len += (input.len() as u64) << 3; - let s = &mut self.state; - self.buffer.input_blocks(input, |b| compress256(s, b)); - } - - fn finish(&mut self) { - let s = &mut self.state; - let l = self.len; - self.buffer - .len64_padding_be(l, |b| compress256(s, from_ref(b))); - } - - fn reset(&mut self, h: &[u32; STATE_LEN]) { - self.len = 0; - self.buffer.reset(); - self.state = *h; - } -} - -/// The SHA-256 hash algorithm with the SHA-256 initial hash value. -#[derive(Clone)] -pub struct Sha256 { - engine: Engine256, -} - -impl Default for Sha256 { - fn default() -> Self { - Sha256 { - engine: Engine256::new(&H256), - } - } -} - -impl BlockInput for Sha256 { - type BlockSize = BlockSize; -} - -impl Update for Sha256 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha256 { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = self.engine.state; - for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sha256 { - fn reset(&mut self) { - self.engine.reset(&H256); - } -} - -/// The SHA-256 hash algorithm with the SHA-224 initial hash value. The result -/// is truncated to 224 bits. -#[derive(Clone)] -pub struct Sha224 { - engine: Engine256, -} - -impl Default for Sha224 { - fn default() -> Self { - Sha224 { - engine: Engine256::new(&H224), - } - } -} - -impl BlockInput for Sha224 { - type BlockSize = BlockSize; -} - -impl Update for Sha224 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha224 { - type OutputSize = U28; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = &self.engine.state[..7]; - for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sha224 { - fn reset(&mut self) { - self.engine.reset(&H224); - } -} - -opaque_debug::implement!(Sha224); -opaque_debug::implement!(Sha256); - -digest::impl_write!(Sha224); -digest::impl_write!(Sha256); +use digest::generic_array::{typenum::U64, GenericArray}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -147,9 +9,7 @@ cfg_if::cfg_if! { mod soft; #[cfg(feature = "asm")] mod soft { - pub(crate) fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) { - sha2_asm::compress256(state, blocks); - } + pub(crate) use sha2_asm::compress256 as compress; } mod x86; use x86::compress; @@ -171,7 +31,7 @@ cfg_if::cfg_if! { pub fn compress256(state: &mut [u32; 8], blocks: &[GenericArray]) { // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout - #[allow(unsafe_code)] - let blocks: &[[u8; 64]] = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; + let p = blocks.as_ptr() as *const [u8; 64]; + let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; compress(state, blocks) } diff --git a/sha2/src/sha512.rs b/sha2/src/sha512.rs index 22f141e43..05d169631 100644 --- a/sha2/src/sha512.rs +++ b/sha2/src/sha512.rs @@ -1,231 +1,4 @@ -//! SHA-512 -use crate::consts::{H384, H512, H512_TRUNC_224, H512_TRUNC_256, STATE_LEN}; -use block_buffer::BlockBuffer; -use core::slice::from_ref; -use digest::consts::{U128, U28, U32, U48, U64}; -use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -type BlockSize = U128; - -/// Structure that keeps state of the Sha-512 operation and -/// contains the logic necessary to perform the final calculations. -#[derive(Clone)] -struct Engine512 { - len: u128, - buffer: BlockBuffer, - state: [u64; 8], -} - -impl Engine512 { - fn new(h: &[u64; STATE_LEN]) -> Engine512 { - Engine512 { - len: 0, - buffer: Default::default(), - state: *h, - } - } - - fn update(&mut self, input: &[u8]) { - self.len += (input.len() as u128) << 3; - let s = &mut self.state; - self.buffer.input_blocks(input, |b| compress512(s, b)); - } - - fn finish(&mut self) { - let s = &mut self.state; - self.buffer - .len128_padding_be(self.len, |d| compress512(s, from_ref(d))); - } - - fn reset(&mut self, h: &[u64; STATE_LEN]) { - self.len = 0; - self.buffer.reset(); - self.state = *h; - } -} - -/// The SHA-512 hash algorithm with the SHA-512 initial hash value. -#[derive(Clone)] -pub struct Sha512 { - engine: Engine512, -} - -impl Default for Sha512 { - fn default() -> Self { - Sha512 { - engine: Engine512::new(&H512), - } - } -} - -impl BlockInput for Sha512 { - type BlockSize = BlockSize; -} - -impl Update for Sha512 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha512 { - type OutputSize = U64; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = self.engine.state; - for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sha512 { - fn reset(&mut self) { - self.engine.reset(&H512); - } -} - -/// The SHA-512 hash algorithm with the SHA-384 initial hash value. The result -/// is truncated to 384 bits. -#[derive(Clone)] -pub struct Sha384 { - engine: Engine512, -} - -impl Default for Sha384 { - fn default() -> Self { - Sha384 { - engine: Engine512::new(&H384), - } - } -} - -impl BlockInput for Sha384 { - type BlockSize = BlockSize; -} - -impl Update for Sha384 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha384 { - type OutputSize = U48; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = &self.engine.state[..6]; - for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sha384 { - fn reset(&mut self) { - self.engine.reset(&H384); - } -} - -/// The SHA-512 hash algorithm with the SHA-512/256 initial hash value. The -/// result is truncated to 256 bits. -#[derive(Clone)] -pub struct Sha512Trunc256 { - engine: Engine512, -} - -impl Default for Sha512Trunc256 { - fn default() -> Self { - Sha512Trunc256 { - engine: Engine512::new(&H512_TRUNC_256), - } - } -} - -impl BlockInput for Sha512Trunc256 { - type BlockSize = BlockSize; -} - -impl Update for Sha512Trunc256 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha512Trunc256 { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = &self.engine.state[..4]; - for (chunk, v) in out.chunks_exact_mut(8).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sha512Trunc256 { - fn reset(&mut self) { - self.engine.reset(&H512_TRUNC_256); - } -} - -/// The SHA-512 hash algorithm with the SHA-512/224 initial hash value. -/// The result is truncated to 224 bits. -#[derive(Clone)] -pub struct Sha512Trunc224 { - engine: Engine512, -} - -impl Default for Sha512Trunc224 { - fn default() -> Self { - Sha512Trunc224 { - engine: Engine512::new(&H512_TRUNC_224), - } - } -} - -impl BlockInput for Sha512Trunc224 { - type BlockSize = BlockSize; -} - -impl Update for Sha512Trunc224 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.update(input.as_ref()); - } -} - -impl FixedOutputDirty for Sha512Trunc224 { - type OutputSize = U28; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let s = &self.engine.state; - for (chunk, v) in out.chunks_exact_mut(8).zip(s[..3].iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - out[24..28].copy_from_slice(&s[3].to_be_bytes()[..4]); - } -} - -impl Reset for Sha512Trunc224 { - fn reset(&mut self) { - self.engine.reset(&H512_TRUNC_224); - } -} - -opaque_debug::implement!(Sha384); -opaque_debug::implement!(Sha512); -opaque_debug::implement!(Sha512Trunc224); -opaque_debug::implement!(Sha512Trunc256); - -digest::impl_write!(Sha384); -digest::impl_write!(Sha512); -digest::impl_write!(Sha512Trunc224); -digest::impl_write!(Sha512Trunc256); +use digest::generic_array::{typenum::U128, GenericArray}; cfg_if::cfg_if! { if #[cfg(feature = "force-soft")] { @@ -254,9 +27,9 @@ cfg_if::cfg_if! { /// functionality of SHA-512. #[cfg_attr(docsrs, doc(cfg(feature = "compress")))] pub fn compress512(state: &mut [u64; 8], blocks: &[GenericArray]) { - // SAFETY: GenericArray and [u8; 128] have + // SAFETY: GenericArray and [u8; 64] have // exactly the same memory layout - #[allow(unsafe_code)] - let blocks: &[[u8; 128]] = unsafe { &*(blocks as *const _ as *const [[u8; 128]]) }; + let p = blocks.as_ptr() as *const [u8; 128]; + let blocks = unsafe { core::slice::from_raw_parts(p, blocks.len()) }; compress(state, blocks) } diff --git a/sha2/tests/data/sha224.blb b/sha2/tests/data/sha224.blb index 50759c294c8a4983e4621143d2a25009c8b0eeac..69327048a92015fdd77c8aa346f33537b33743c8 100644 GIT binary patch delta 55 zcmV-70LcHi0kQ!D0020V2^;}dk#8#=ICBmVo7bqLD;&AmpqipGT_iAAecQmpi>;9r NC0LPfECD!?oE!#g6j%TN delta 87 zcmdnQxPwtGDJMTEsnU=^=AsuVtFwDAmgyaLYVv<6q@_=$eC}sBqy#xgñ€šH¤— m9ÌÇ,Ð \ No newline at end of file diff --git a/sha2/tests/data/sha384.blb b/sha2/tests/data/sha384.blb index 7e9062497c83c46aa3b13831dbca8b0baee0370a..74a151f42df79e12a6ce5f67cf6ba0f4987d8a95 100644 GIT binary patch delta 32 mcmeyu_>Pg8fgxccrvYQwL@RB^go$Yej1fQk diff --git a/sha2/tests/data/sha512.blb b/sha2/tests/data/sha512.blb index b073a77cb7fc2b17a4dcbf8b9ff23354c7407045..bb2ec390c19b32edc9a94780256ae5208ebd38d2 100644 GIT binary patch delta 35 ncmZ3&w2+B~fuVt6BBujm*hDXFCLpuSfiVKeWYz<+pEv*jo9_ve delta 38 scmZ3;w1kN>DJMTEsnU?aVIqqIqxM8sZAOQQMGlNQKo*mp!^DRU0M%;?6aWAK diff --git a/sha2/tests/data/sha512_224.blb b/sha2/tests/data/sha512_224.blb index 4d2ef87ff011d6043334e2cfb3a690cbd2822905..3c3ab8facce9063c162fadfbfec7e768f92f9cfb 100644 GIT binary patch delta 55 zcmV-70LcHi0kQ!D0020V2^;}dk#8#=IFwA%gnzX~Sk!l2ut-`^05K8B<=Un{=OV_c NH&~HxECD!?oE#Ps6zc#0 delta 87 zcmdnQxPwtGDJMTEsnU=^Chx*sriT0#^HlG#@km}?({^fi`?UpkFT@yIw|vo_sG!X# rGtozeQ3uG9)04@~npEi-cZ5wmvsADC=dtc=Zks3#=}Pf)tVQ<#{`Dds diff --git a/sha2/tests/data/sha512_256.blb b/sha2/tests/data/sha512_256.blb index 5346c9494df4f0764cb5d4cde99318b345f87595..acd380aa0c33624eae718dfa7a7e0fe68548d6a0 100644 GIT binary patch delta 32 mcmX@YxQ~&Ufx%%SrvhWxL@jMbhlybdj1fQHt~u6ad4}8~p$P diff --git a/sha2/tests/data/sha512_one_million_a.bin b/sha2/tests/data/sha512_one_million_a.bin deleted file mode 100644 index 6edb1d6cf2a7f7e640b2bf2f36cc561c00e8eae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmV-G0Kfm|7)U(~=V@e4E<(q=6|`fHADFQ_AVeruGN=QusdMYz5AsBZex?dcutO~6 Wcf%X&0GwPbNvbYRt+E%bjKG_9-W**3 diff --git a/sha2/tests/lib.rs b/sha2/tests/lib.rs deleted file mode 100644 index fe120455b..000000000 --- a/sha2/tests/lib.rs +++ /dev/null @@ -1,47 +0,0 @@ -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!(sha224_main, "sha224", sha2::Sha224, digest_test); -new_test!(sha256_main, "sha256", sha2::Sha256, digest_test); -new_test!(sha384_main, "sha384", sha2::Sha384, digest_test); -new_test!(sha512_main, "sha512", sha2::Sha512, digest_test); -new_test!( - sha512_224_main, - "sha512_224", - sha2::Sha512Trunc224, - digest_test -); -new_test!( - sha512_256_main, - "sha512_256", - sha2::Sha512Trunc256, - digest_test -); - -#[test] -fn sha256_1million_a() { - let output = include_bytes!("data/sha256_one_million_a.bin"); - one_million_a::(output); -} - -#[test] -#[rustfmt::skip] -fn sha512_avx2_bug() { - use sha2::Digest; - use hex_literal::hex; - - let mut msg = [0u8; 256]; - msg[0] = 42; - let expected = hex!(" - 2a3e943072f30afa45f2bf57ccd386f29b76dbcdb3a861224ca0b77bc3f55c7a - d3880a49c0c9c166eedf7f209c41b380896886155acb8f6c7c07044343a3e692 - "); - let res = sha2::Sha512::digest(&msg); - assert_eq!(res[..], expected[..]); -} - -#[test] -fn sha512_1million_a() { - let output = include_bytes!("data/sha512_one_million_a.bin"); - one_million_a::(output); -} diff --git a/sha2/tests/mod.rs b/sha2/tests/mod.rs new file mode 100644 index 000000000..91df4683b --- /dev/null +++ b/sha2/tests/mod.rs @@ -0,0 +1,35 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use digest::new_test; +use hex_literal::hex; +use sha2::{Digest, Sha224, Sha256, Sha384, Sha512, Sha512_224, Sha512_256}; + +new_test!(sha224_main, "sha224", Sha224, fixed_reset_test); +new_test!(sha256_main, "sha256", Sha256, fixed_reset_test); +new_test!(sha512_224_main, "sha512_224", Sha512_224, fixed_reset_test); +new_test!(sha512_256_main, "sha512_256", Sha512_256, fixed_reset_test); +new_test!(sha384_main, "sha384", Sha384, fixed_reset_test); +new_test!(sha512_main, "sha512", Sha512, fixed_reset_test); + +#[test] +fn sha256_rand() { + let mut h = Sha256::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("45f51fead87328fe837a86f4f1ac0eb15116ab1473adc0423ef86c62eb2320c7")[..] + ); +} + +#[test] +#[rustfmt::skip] +fn sha512_rand() { + let mut h = Sha512::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + 9084d75a7c0721541d737b6171eb465dc9ba08a119a182a8508484aa27a176cd + e7c2103b108393eb024493ced4aac56be6f57222cac41b801f11494886264997 + ")[..] + ); +} diff --git a/sha3/CHANGELOG.md b/sha3/CHANGELOG.md index 6d2b6b7bc..c94b5e0c8 100644 --- a/sha3/CHANGELOG.md +++ b/sha3/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 ## 0.9.1 (2020-06-28) ### Changed diff --git a/sha3/Cargo.toml b/sha3/Cargo.toml index 57824552d..faae04c30 100644 --- a/sha3/Cargo.toml +++ b/sha3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha3" -version = "0.9.1" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "SHA-3 (Keccak) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,13 +12,11 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" +digest = "0.10" keccak = "0.1" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sha3/benches/mod.rs b/sha3/benches/mod.rs new file mode 100644 index 000000000..db2940516 --- /dev/null +++ b/sha3/benches/mod.rs @@ -0,0 +1,54 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use sha3::{Sha3_224, Sha3_256, Sha3_384, Sha3_512, Shake128, Shake256}; +use test::Bencher; + +bench_update!( + Sha3_224::default(); + sha3_224_10 10; + sha3_224_100 100; + sha3_224_1000 1000; + sha3_224_10000 10000; +); + +bench_update!( + Sha3_256::default(); + sha3_256_10 10; + sha3_265_100 100; + sha3_256_1000 1000; + sha3_256_10000 10000; +); + +bench_update!( + Sha3_384::default(); + sha3_384_10 10; + sha3_384_100 100; + sha3_384_1000 1000; + sha3_384_10000 10000; +); + +bench_update!( + Sha3_512::default(); + sha3_512_10 10; + sha3_512_100 100; + sha3_512_1000 1000; + sha3_512_10000 10000; +); + +bench_update!( + Shake128::default(); + shake128_10 10; + shake128_100 100; + shake128_1000 1000; + shake128_10000 10000; +); + +bench_update!( + Shake256::default(); + shake256_10 10; + shake256_100 100; + shake256_1000 1000; + shake256_10000 10000; +); diff --git a/sha3/benches/sha3_256.rs b/sha3/benches/sha3_256.rs deleted file mode 100644 index 56edb1498..000000000 --- a/sha3/benches/sha3_256.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sha3::Sha3_256); diff --git a/sha3/benches/sha3_512.rs b/sha3/benches/sha3_512.rs deleted file mode 100644 index dd7ad23ae..000000000 --- a/sha3/benches/sha3_512.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sha3::Sha3_512); diff --git a/sha3/examples/sha3_256sum.rs b/sha3/examples/sha3_256sum.rs deleted file mode 100644 index bc9da2e08..000000000 --- a/sha3/examples/sha3_256sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sha3::{Digest, Sha3_256}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sha3/examples/sha3_512sum.rs b/sha3/examples/sha3_512sum.rs deleted file mode 100644 index 1bfbe3b89..000000000 --- a/sha3/examples/sha3_512sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sha3::{Digest, Sha3_512}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index 831762955..b6dcee0b2 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -58,106 +58,72 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/sha3/0.10.0" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; - pub use digest::{self, Digest}; -use block_buffer::BlockBuffer; -use digest::consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}; -use digest::generic_array::typenum::Unsigned; -use digest::{BlockInput, ExtendableOutputDirty, FixedOutputDirty, Reset, Update}; +use core::fmt; +use digest::{ + block_buffer::Eager, + consts::{U104, U136, U144, U168, U200, U28, U32, U48, U64, U72}, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, + ExtendableOutputCore, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, XofReaderCore, + XofReaderCoreWrapper, + }, + HashMarker, Output, +}; -mod paddings; #[macro_use] mod macros; -mod reader; mod state; -pub use crate::reader::Sha3XofReader; use crate::state::Sha3State; -sha3_impl!( - Keccak224, - U28, - U144, - paddings::Keccak, - "Keccak-224 hash function." -); -sha3_impl!( - Keccak256, - U32, - U136, - paddings::Keccak, - "Keccak-256 hash function." -); -sha3_impl!( - Keccak384, - U48, - U104, - paddings::Keccak, - "Keccak-384 hash function." -); -sha3_impl!( - Keccak512, - U64, - U72, - paddings::Keccak, - "Keccak-512 hash function." -); +// Paddings +const KECCAK: u8 = 0x01; +const SHA3: u8 = 0x06; +const SHAKE: u8 = 0x1f; -sha3_impl!( +impl_sha3!(Keccak224Core, Keccak224, U28, U144, KECCAK, "Keccak-224"); +impl_sha3!(Keccak256Core, Keccak256, U32, U136, KECCAK, "Keccak-256"); +impl_sha3!(Keccak384Core, Keccak384, U48, U104, KECCAK, "Keccak-384"); +impl_sha3!(Keccak512Core, Keccak512, U64, U72, KECCAK, "Keccak-512"); + +impl_sha3!( + Keccak256FullCore, Keccak256Full, U200, U136, - paddings::Keccak, - "SHA-3 variant used in CryptoNight." + KECCAK, + "SHA-3 CryptoNight variant", ); -sha3_impl!( - Sha3_224, - U28, - U144, - paddings::Sha3, - "SHA-3-224 hash function." -); -sha3_impl!( - Sha3_256, - U32, - U136, - paddings::Sha3, - "SHA-3-256 hash function." -); -sha3_impl!( - Sha3_384, - U48, - U104, - paddings::Sha3, - "SHA-3-384 hash function." -); -sha3_impl!( - Sha3_512, - U64, - U72, - paddings::Sha3, - "SHA-3-512 hash function." -); +impl_sha3!(Sha3_224Core, Sha3_224, U28, U144, SHA3, "SHA-3-224"); +impl_sha3!(Sha3_256Core, Sha3_256, U32, U136, SHA3, "SHA-3-256"); +impl_sha3!(Sha3_384Core, Sha3_384, U48, U104, SHA3, "SHA-3-384"); +impl_sha3!(Sha3_512Core, Sha3_512, U64, U72, SHA3, "SHA-3-512"); -shake_impl!( +impl_shake!( + Shake128Core, Shake128, + Shake128ReaderCore, + Shake128Reader, U168, - paddings::Shake, - "SHAKE128 extendable output (XOF) hash function" + SHAKE, + "SHAKE128", ); -shake_impl!( +impl_shake!( + Shake256Core, Shake256, + Shake256ReaderCore, + Shake256Reader, U136, - paddings::Shake, - "SHAKE256 extendable output (XOF) hash function" + SHAKE, + "SHAKE256", ); diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index b690124c8..1ec96367b 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -1,49 +1,50 @@ -macro_rules! impl_state { - ($state:ident, $rate:ident, $padding:ty, $doc:expr) => { +macro_rules! impl_sha3 { + ( + $name:ident, $full_name:ident, $output_size:ident, + $rate:ident, $pad:expr, $alg_name:expr $(,)? + ) => { + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " hasher state."] + #[derive(Clone)] #[allow(non_camel_case_types)] - #[derive(Clone, Default)] - #[doc=$doc] - pub struct $state { + pub struct $name { state: Sha3State, - buffer: BlockBuffer<$rate>, } - impl $state { - fn absorb(&mut self, input: &[u8]) { - let s = &mut self.state; - self.buffer.input_block(input, |b| s.absorb_block(b)); - } + impl HashMarker for $name {} - fn apply_padding(&mut self) { - let buf = self - .buffer - .pad_with::<$padding>() - .expect("we never use input_lazy"); - self.state.absorb_block(buf); - } + impl BlockSizeUser for $name { + type BlockSize = $rate; } - }; -} -macro_rules! sha3_impl { - ($state:ident, $output_size:ident, $rate:ident, $padding:ty, $doc:expr) => { - impl_state!($state, $rate, $padding, $doc); + impl BufferKindUser for $name { + type BufferKind = Eager; + } - impl BlockInput for $state { - type BlockSize = $rate; + impl OutputSizeUser for $name { + type OutputSize = $output_size; } - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.absorb(input.as_ref()) + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block) + } } } - impl FixedOutputDirty for $state { - type OutputSize = $output_size; + impl FixedOutputCore for $name { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = $pad; + let n = block.len(); + block[n - 1] |= 0x80; - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.apply_padding(); + self.state.absorb_block(block); let n = out.len(); self.state.as_bytes(|state| { @@ -52,46 +53,151 @@ macro_rules! sha3_impl { } } - impl Reset for $state { + impl Default for $name { + #[inline] + fn default() -> Self { + Self { + state: Default::default(), + } + } + } + + impl Reset for $name { + #[inline] fn reset(&mut self) { - self.state = Default::default(); - self.buffer.reset(); + *self = Default::default(); } } - opaque_debug::implement!($state); - digest::impl_write!($state); + impl AlgorithmName for $name { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_name)) + } + } + + impl fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($name), " { ... }")) + } + } + + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; }; } -macro_rules! shake_impl { - ($state:ident, $rate:ident, $padding:ty, $doc:expr) => { - impl_state!($state, $rate, $padding, $doc); +macro_rules! impl_shake { + ( + $name:ident, $full_name:ident, $reader:ident, $reader_full:ident, + $rate:ident, $pad:expr, $alg_name:expr, + ) => { + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " hasher state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $name { + state: Sha3State, + } + + impl HashMarker for $name {} + + impl BlockSizeUser for $name { + type BlockSize = $rate; + } + + impl BufferKindUser for $name { + type BufferKind = Eager; + } - impl Update for $state { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.absorb(input.as_ref()) + impl UpdateCore for $name { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + self.state.absorb_block(block) + } } } - impl ExtendableOutputDirty for $state { - type Reader = Sha3XofReader; + impl ExtendableOutputCore for $name { + type ReaderCore = $reader; + + #[inline] + fn finalize_xof_core(&mut self, buffer: &mut Buffer) -> Self::ReaderCore { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = $pad; + let n = block.len(); + block[n - 1] |= 0x80; + + self.state.absorb_block(block); + $reader { + state: self.state.clone(), + } + } + } - fn finalize_xof_dirty(&mut self) -> Sha3XofReader { - self.apply_padding(); - let r = $rate::to_usize(); - Sha3XofReader::new(self.state.clone(), r) + impl Default for $name { + #[inline] + fn default() -> Self { + Self { + state: Default::default(), + } } } - impl Reset for $state { + impl Reset for $name { + #[inline] fn reset(&mut self) { - self.state = Default::default(); - self.buffer.reset(); + *self = Default::default(); + } + } + + impl AlgorithmName for $name { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(stringify!($full_name)) + } + } + + impl fmt::Debug for $name { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str(concat!(stringify!($name), " { ... }")) + } + } + + #[doc = "Core "] + #[doc = $alg_name] + #[doc = " reader state."] + #[derive(Clone)] + #[allow(non_camel_case_types)] + pub struct $reader { + state: Sha3State, + } + + impl BlockSizeUser for $reader { + type BlockSize = $rate; + } + + impl XofReaderCore for $reader { + #[inline] + fn read_block(&mut self) -> Block { + let mut block = Block::::default(); + let n = block.len(); + self.state.as_bytes(|state| { + block.copy_from_slice(&state[..n]); + }); + self.state.apply_f(); + block } } - opaque_debug::implement!($state); - digest::impl_write!($state); + #[doc = $alg_name] + #[doc = " hasher state."] + pub type $full_name = CoreWrapper<$name>; + + #[doc = $alg_name] + #[doc = " reader state."] + pub type $reader_full = XofReaderCoreWrapper<$name>; }; } diff --git a/sha3/src/paddings.rs b/sha3/src/paddings.rs deleted file mode 100644 index d11c87f89..000000000 --- a/sha3/src/paddings.rs +++ /dev/null @@ -1,33 +0,0 @@ -use block_buffer::block_padding::{PadError, Padding, UnpadError}; - -macro_rules! impl_padding { - ($name:ident, $pad:expr) => { - // it does not work with empty enum as it required to have Default impl - // for it for some unclear reason. - #[derive(Copy, Clone, Default)] - pub struct $name; - - impl Padding for $name { - #[inline(always)] - fn pad_block(block: &mut [u8], pos: usize) -> Result<(), PadError> { - if pos >= block.len() { - return Err(PadError); - } - block[pos] = $pad; - block[pos + 1..].iter_mut().for_each(|b| *b = 0); - let n = block.len(); - block[n - 1] |= 0x80; - Ok(()) - } - - #[inline(always)] - fn unpad(_data: &[u8]) -> Result<&[u8], UnpadError> { - unimplemented!(); - } - } - }; -} - -impl_padding!(Keccak, 0x01); -impl_padding!(Sha3, 0x06); -impl_padding!(Shake, 0x1f); diff --git a/sha3/src/reader.rs b/sha3/src/reader.rs deleted file mode 100644 index fbb2d716e..000000000 --- a/sha3/src/reader.rs +++ /dev/null @@ -1,66 +0,0 @@ -use crate::state::Sha3State; -use digest::XofReader; -#[cfg(feature = "std")] -use std::io; - -/// Reader state for extracting extendable output. -pub struct Sha3XofReader { - state: Sha3State, - rate: usize, - pos: usize, -} - -impl Sha3XofReader { - pub(crate) fn new(state: Sha3State, rate: usize) -> Self { - Sha3XofReader { - state, - rate, - pos: 0, - } - } -} - -impl XofReader for Sha3XofReader { - fn read(&mut self, mut buffer: &mut [u8]) { - let rem = self.rate - self.pos; - let n = buffer.len(); - if n >= rem { - let (l, r) = { buffer }.split_at_mut(rem); - buffer = r; - self.state.as_bytes(|state| { - l.copy_from_slice(&state[self.pos..self.rate]); - }); - self.state.apply_f(); - } else { - self.state.as_bytes(|state| { - buffer.copy_from_slice(&state[self.pos..self.pos + n]); - }); - self.pos += n; - return; - } - - while buffer.len() >= self.rate { - let (l, r) = { buffer }.split_at_mut(self.rate); - buffer = r; - - self.state.as_bytes(|state| { - l.copy_from_slice(&state[..self.rate]); - }); - self.state.apply_f(); - } - - let n = buffer.len(); - self.pos = n; - self.state.as_bytes(|state| { - buffer.copy_from_slice(&state[..n]); - }); - } -} - -#[cfg(feature = "std")] -impl io::Read for Sha3XofReader { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - ::read(self, buf); - Ok(buf.len()) - } -} diff --git a/sha3/tests/data/keccak_224.blb b/sha3/tests/data/keccak_224.blb index 97d8c497501e3df277a8edc6527a188868a97fbe..393d0acebd1cb819b00a8d382444ace7f9a79bd6 100644 GIT binary patch delta 9 QcmY$DXJ%lqn8+yu00krgHUIzs literal 37 tcmYew$xlkEG-QzZE@2*^z2YH<`Q96sQ`hbYo!A-1^e0r?W4k5SUH~8%55)ig diff --git a/sha3/tests/data/keccak_256.blb b/sha3/tests/data/keccak_256.blb index 6558741ba3542c1cd8f121bd69a6e672adfde652..d964e20947587921b1e8f1927eb062b988e7cab3 100644 GIT binary patch delta 29 lcmZ3-xRQ~Xfx%%Srvfw68Hb5F3QP?Q6MY>R9VYfE003xD2W0>N delta 62 zcmV-E0KxyM0j>coVr*|>VtFwDAjQ%~0fzS@Jd%EWvfRf5z~un8Q_6xTJA3-r1YL!s UZ~@F9ktQGkK#@p50U(iyAS~D!3;+NC diff --git a/sha3/tests/data/keccak_256_full.blb b/sha3/tests/data/keccak_256_full.blb index 733224241dcd4efe9e69bef8c821c7608268f3f1..71af3f2347ee593f91f0e8369ada7b2c8a3a680a 100644 GIT binary patch delta 245 zcmX>sby`Z2K`SLyAwM@SGpV##A*D1avm`Mur8KumV4~a!S(C)1(!7+!ykdpq#L|+~ zoJ57Z{5&8|PAzE?n9Rg@LO?1xu`D&QL?Jb|pd`NtD0q|cgqT`tg+g9tMrKYvgi=V$ z1gYP~bb>Kray_#S6Oglp`2=Ii$Y@_Ku+ddqAQ@+FuuL)c3C5bqHavD9 IWz{?<0DL1;EC2ui delta 236 zcmX>tby!L+DJMTEsnSq1B~>9mH!m}(v{)gfG%2$rF)yVw_ryfW6EaeXNu_xyiFw5e z$%&;UsX2)XdHH!joSa&6V&cCO{JhDDWvPiJ3aPmTCHX}sCSPMbAu60&p^%rEk(rYZ zp%l_GOHNGQ!gPXBXL2pG4&#Z*tC>$Q8ci-?F#@tzu$*8tm|Vze0Aw#_1+jD3KQ9c~)CaOVIYDLyae>Ti-~x$za)ZRHxKA+J OO?Kw71G1ZWP5=PsqgTEF diff --git a/sha3/tests/data/keccak_384.blb b/sha3/tests/data/keccak_384.blb index c21ab269bbb33b2fc88b7769296fb0b1c57c84b8..2509429442ac211eaccbc0e8a62dd247f0fed1a1 100644 GIT binary patch delta 9 QcmcCCW@cbWn8;}W00%4qng9R* delta 15 WcmXrEYybcu(F7F$ diff --git a/sha3/tests/data/keccak_512.blb b/sha3/tests/data/keccak_512.blb index 687719d2642db55e41bae09d65e11461c17052c9..a9e47e0770ae2f87f08d3671e5e195c6578fb28a 100644 GIT binary patch delta 10 RcmeZtVPRlsV3^41000T?0qg(( delta 15 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 bf7&J03$5Xb(lDGDZ8|BW)sUj%1f(IUFbJ zkz*GkTckvC($DU9&wuyl{XX|I?=^E>@643+2%oAdK|Il1)EUMr=*D=wQE-z}oX7=r!Bn7(m6pff}V+`V2htP5J_p`slb2$QS?hZ4M>v! zVyIRk9pFd;ONcAE64)d_937Wj1sF~N;>l~uYT!=+R?xtd3?AE5HhA=~kvAte?e~Gi zME~-ZHI4x@e_Z#n?LN)>$4Q;TPoxZ~Oq52XP)a6g={07o=0j%A*}42n#n~z0LhtWd zzU@lg9Y3t=x8~G})nnJZI#ovA-@E?nLEGqH@Hk5crO`~Ko6>8s##07Jrv#ZS9(zBk z(9vXY>|3ir|GCufk5-r83jB81R7djmXo{GW^N|MrDiV>+Mk!Agr3~6Cn**rJ0c*%k zZXM7qKo<4M57TC?{okEv z-tPDue3FRWdaT*{)QPYZnR|3e9xJn67tpdo?L6uTqwkn`V;i_dk_MWcQ z4f~||n_BjIJ_~z%-*j~pXRSd!cWA%VXa9LizP1-Alc-ubN;PWCRE-V~11m#C^VypA z9)tK)&Z=RN3O!Y;z(A5ZphlJIm4Lbiph0#TRlpSiG-+6)8pxUsXi@X@8o)>sV8~mu z7U&m%OW!r?fa>1>T{`$%J&#r2dCjRP;6u&n-TkqC`ZY^$O}6)}Xg%BL7=CBbv5DZD z1^Tp9i%|NX7D|Ssro9R1(q`l}9l};#kKK~6$395z_#Qo$o@isjn0{(EU}6&kn9y-% zGvK2Gm{E#OBOt~FEJ&Z*1e_DVik@+sfgB!SO|85Zz(yCap-|mc9^247Fxs0?uDdI? z!)0q7ZOKqkn)tUg?^N02e5>4mPv;6|ld|3xln(2mWJkC4+JJO@z=7)Yw*nRhjDprz zZpr*!@zU%!V+wn=NpSIyFu;ft6&h^gvGHZ6^-jH)2{W&mE>j|5|1v(#cW=0*{pf^; z+hX(7vaJOyxf!-&)u16tt|Vr(9q2Fu-06zZ4j{=G@SsZLoq)v*z>@-I>;fhQ@FrE0 z-N2tFfDa9r>;Z~Q0YBPf+5z~P0sfR`wii${XB3&hJ(8U|y-&*BLwDy7Wa+G7$=e(= zfs|zaJ7%U?06}D9u@87IKnMw2b^-@1fiSvZxgW^20wSo*stcGu6NsebnFoOBc;XgB zk%RR?U{rt@lAU!3I6DhiLQiKM2I_2pI67i;1XyOvC~*s)*AI$1KE7pkBXD!uRDS+D zmYQra6i+8@k76igHn4)KXCLFShb8CcB;Bz*>vr|0ma*`g%kF=lxoYrx&xPV~`NubE z*C!PuQrw*5C~4TCluY(^-8^=|REsOMhdNoW*l9(p7uF2#IAVR$drIBMl&JOvPp)2E zR**_c_9sxfW{*-jjoSYK>~;WF(ItnI0N)YFpzV&QfJi4`4dpqV2Ie>eSrp-X22f=g zW!=mbj@N=?*^AsD`|jZ>6*@b#@J_Lq%AsWTPfQuR0J${Z)ehy$wv|?Y~4HWsfu6W$Y zj(_T?OZ}sX8O6NAjM$NHnrizG7jj8=;VrC~T!?+Tq#AS^7zqOONjmrr@H7}OtPi=1 zd@lsqm?lH+0llGs3B3!w4_pWX%;;5EAMj^5U_k@n4}cR9fE7K6c*tYl&23L@*t4)c z{SdddPhRYUX7DMA4CS6P{k9FZulvWY7FyGtMUPNA5Xo?i=|~o7*N-RFUYOOnc1|AKzp}g3?m}OC=A{1cybXEIg|kT{>M=^sqENCUPV^JtX*A$a zA2T4xG00B!u}=jyQu;dw!b^P~I!o{1aNz)$-85rJny;$<3-QMop9*McUJ732< znX`qiB(n55O0SlpH{GCm z=-SNktd!^;(;AjcmSfVJe3!rCv30voemCunKJX~?_Rub^dea`$P~*2xQ-ZEl+70SP z6)h|Dp`aD7vC%#OB|nNx7y{fA0e@PS_y+Jx0s<*5X&4Ak27)Ljc?4LN0)$X;%3B_r z#c zaZ#=>PqjtHEibJ0>V^oVFH)=9m8?1?EO%)rL>0!9+nWDSvR#YP3JP000r+MCiIkf4 z35d%ElBpkjwgSfFmEsqA31%U{L{(L%9V%fSf`gms$&d0xcVWd^)}17jSwb!?B{r8`Y5~ zH!|VY>#le%pZqfXqvyG3@&UWR%lUVUisfF!yp*2ChTcs~y7Kj?4QF9hm%*3Hcy|k{ z-Z_eHK89~gZyt2NXkzpAA}=(edDPROC1>u|reC${YP&K;+ziH!hq>XoQp9j(Q*DtZ zUa6~y5fyd$#?q}KM%(W9r9E#Nenm(R7P<=sR28_GmqhOt(|M6vG;&o&lqLCMhT}k% z#abx(BRkQ`Vr}HQV#bZ#X5O1yJ1|8yspNWoquTkAY^cXWf^na5@2t4)6%=}9^Ewlp@W#KoUP$_xdI${0={`IZ?WuSE``rZQtLD|IXi&9j_fL} zkW-N3sk(9|msR@kFreGLKq)BxM(^1`m&)@uoew81N=Tm7r#ty6@^s1ydRb|Widq%J zNu)Vdvyjt}lc~1K2Kh2_D!r+)MP{lQPCB_%&qmHcUPZ0dbCB;LXV7G|9kOK&BO#?T zZoNO0rLY=?vxc&3>~Z}#au(gMap1DEBC~&_rtPi1E8N|ecg9{E>W!$mtEc@ zYxv@I*w7AdJ=#&Qe7j?9p7_LCqr17geyXneeDrBP{a5SEWA{EyTJzMUc|j(P?^Rzu zl>eOnQenfb3%e8gi~M4TTgCW76jaCJMjPtzUqzU@>s)}(0*I1&y(*Y80~BhsW|6bIy>m?6IGNwT~}Kef=@Ht8%BK zjY(GKA8-1%w224vHR!@-Umkm8rj%Okyq5|Y**iW;TT67@QXlMc(|(pV{>xZC&G_gJ zz9!9V^fP8px3+c{{q6GkzH|SF{(Wc0(lfjIPO%Z@zlORN@t)~imQ!d{>fP{ujHS*- z+=UkPHZH&|X*K~2IX3wN)dFzoU{e6VX$EwO+Z+gF3ZPG$n->Bj0vM8XOArv#0vJ<4 zOEAzUfC+tW2>}+g0%nxn8VXzyz=DQb!)CBE%J!8WKJn%Ah=-<69dr)1vM+G+7gZ(LjqWnWLpG}b;#KF;y-qWOV+i{03n}K z8v7mVlpHK1ri~PyU#q`GEQD`E8`~D4^sEh~*~Hlz2}ErL>}dVg#lRB*9O&oPC}8n6 zz=`s=MFRr@u=HzN3=q=}xKcrTEWU}%t6XX(S5~M!@ySf-t-d*t8CA*k%1J)Ittw~e RhiM1jokX`UL23DR=Kpx^#h3s9 delta 4244 zcmW;Pc|28H8^H0qWK3nKR8k&0Lo&;d5Gq3`ktxcQ3`Ing3`xp798aWB8t7&SO;V{e zk(Aryirgj|Ttkxx<$dn^&;EQrYp>th=j^l3+50ry;Y+&Br{fb8;^Pyg^#`1uxHocR z{@;G~4VKQu-fccZ@e`}N4OfjOv`@B)A6a27BI{Rfw!gn%Qv~qTfog0@IrA+a-_=d@EBAg$kb=`fFELN@&kUHtq)^q8e+b}|K8!g{02rL8zg+j=YLcl^X zUnrC;A`EOhst9i<7m>s8hHw}Mx*6RK{hHs?gzfTVH=F!>4`=^evd>%1jlXXCkr{oV z>fz`p5>82z2(TU4E3$*^IT=_4?wuS#9wtZP9MMQ}wkS*$?HzdjaH74auiNPhV7(}? zo%l+0C+&5a0&EvXP1(gkn@57NYWLt+fl}vW)d+MhWG zSUOhENhcdi1Is{9=?ro|ITOX^W|EK21(t<3=Vp=D$^gs8Fqv!)&ghLD8QF7bm&^Iy z=Z!v!m5Cje{#iyEzugReT^xRIGR8xNc|1yL=K;&X7xQw+LGytjX3j?rn$yRoA2JzP zAG@V2e(O{9gzvopS8k6vnkWXucGo@lSbq>#${wWTg)E3qGjiSj(7Q0O)X;I-#Zm>j zIssTNsz5GHXdvg|JIEvNmIHPO3*`=xbvR)8=*;Dl2g!#~V!>f@`2t`^@Zo|ZlXqm#^{B`WEo{($8nkRaq?^O3FKRJf?To)*hy?$bdtPP1=uOfP&vhc zceI&$o1Jr8r(SK3dZl+pZZWTIt;6kaktN#gS38CqOVClZgpyHJV5KOdR?0zuO)bhV zmP_{z5y-AKcr`^;SNe2C>{fSlTf0A7_KvLYHRJdHO zr7Lx%OG(^6yW}DPQ#F8{!3vEtG{spHSQ+lpEaTwiHH8GT%6|RBhl3Wi^-nY2(c0p_ zqev(I+?msvo~aWF zIM~_sS*P|@+qs-F!zuHfG%Rb{Z)xu0SG}8dzRMEo23A+2lWsL7f_lJeaG_oexr2NT z$Mw#UtMoxfBH>L=H^1@A$Lg&Pc|~IJasAL(qdpO+mMACQVo>4b?Jrbu{%7@<2YPc4 zy2On;6rKn=kNiu{Q+{~~unX9+zQv+HE9<-l%W!txs&9MA3wck(*W8+uKP zPi>1`ZhO(q!*3@|nWH7sl%KFyDeETsuDD5w!b)HbXt}b1EMgAq7OI%vA`g&nqqxOw z@-quyckqYB9r9I6V0W?0@-7FT?=+Xftr%wC$^mD)r>VGa zN$$tI!VitZePxcn)%%W|mlRSI58=v`Bh3CnUx&Xa(Om~pGv0b*evzPa*8AiSPNrvz z{ViXN*wZJr4%lPNSoiq9qc{S4f_ojGkR6?XJ;g|;r(|nqV9zkf`5D>F1=w@kt1+H>`!9l-y@wVL3bvdEcT=w7M0-t4^t_bazar;`Qey;xe&cXW~XuhF? z64(fACYo)WNp>N3V${Y?vXcj}m$=j8CE3vvSQkcmcKv5BVE@{JP1Z{=lS==PyP6liY*N{ypUC0ATO&Nx*w@T_CUz z*cteNgWyTV`#bs<`#m3i-u>CoSm2V&u7O@5n<)WC6Awe|pVxoHo-H3Kd9)SSC;Yti z6S*S@STBwT^^!jX1N#?6w*5;U+6Jr-XNB~U`9p#Aqhe@3dB%2N1E{xsfUFP(b7mDg z^1s@6)g>@aRcciEpV6jrU9UFDkYal8VZa74K5UR?hK2+Cj5*<-IfxPMh`FFvSwCsd z+LEtvOD}dPWLSiLxqgN@HpS#m-+KHDmhAXK$)N~fU$HLYE4d;P*f)F>`HcgsV$l=w z6;7_-rK5)A^gDS8XH3M+pXsOc@QkCo`Gs$N$L^iqDS5FA*bt8G8X|v*0`>!^@BTra z91Uz3RilT=@-e_h&?07pY!VA>HhRU*CP$HfVnOUra&8>3QLK#{p zXZv2|E0xz!y?aVoug31po&$3&Yu_9g!)JTODETWM*f@TTA14p)1@;Ri5`K}z_5u5i zTKj&JH4}kNphMz>5j4o^a(|9R>uR@)2AlFN&AE_L+3~_~sLf` zeWD?zwPsdm!MZ2DJ}19fjKxG<_5fUY0QmXL#^^qN0N6ZCIWUj9)8zTsbYMRD16dY@ zlVr&YlYq9X{=eNqTRBWilB1DIGKY_nIPw?r0+dW%K-NnJCXX)3^5ht@0v07JaFFO* zF!9jJAv!1dV~3~1Sh*tqOE=z~>dUc~vGviWm(D6;cd{ZSqA4ISNj52l&Ql67CA3db zqR}YwLOhbPkc0HENtKhzt#=6fLF=iO4|Z0g8#-t9@zo5=g>SJ-JnE&4-6_hHOiKl} z2sKg{k=@8D7@ev@K227|rc_n(5LpeS($vT+(}1bt<}`KkL9zy3Ow%CukTp>-U6ZVz z4ubp*eZR&5H>LyA!nkxT8m=a5gS#_y$W>%r{3}D3ESL#Q z50x_Y$R1>U+>@zKt|c$Q_RJ+@i7a3SsGVg%4k9nbjI5>PrYsN=ko%%j;X+p!jT@qP zwjqt%W&<{c_!p$vMKiQOv!3Fz|7Dt$BfJ) zFURva%gH~;D{wZhAa6imD=`jNDno|X$CS4oA6LtRc1eGY6n6U&>0~iJ zmRlisZ%DLujWXcB)R^PcgXZ*bZukA7rjv$M)sYCzQVXj&{nGB?nu)_A-SeuXAL#b| zvcQOg7Ic_v2Z34QKL;(zin+k7&??u8%p@Ymvj)M`cEqc3)wSrGN zYiJcYsPFy$XT3W8Raz&f`2EbJP@9u$u_u2mEueQ8m_524wkMa79kAuF16lS6uyts5 zWF0w|?1;5T9LZA(fH|RhffG5A?2M%a&g5TY7nCh@A@3{%=8A_4T~$COr7XFo_UA~i zg^cZnvsTKIp5{Y=vAvxc=RWy5*iPjMTibzrqP>D5Jth|cTaU|%*3%04WH-E0gwprHuB@_y+=H-3NI5UEoQkq#bN pt?r4s#h&y!bBlp_VQsM&dG>K&-njI*H@T4PgV&GykmXLm{{UdMwK@O* diff --git a/sha3/tests/data/sha3_384.blb b/sha3/tests/data/sha3_384.blb index b5006290dccb219abd6cbe8a7b4dcde662dc8372..802759adf6a77a96ac1a1e0dd232954ef1dbcac2 100644 GIT binary patch delta 3551 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 delta 3260 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 P&+?|a^K+rW7sUSnVi19@ delta 3213 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 diff --git a/sha3/tests/data/shake128.blb b/sha3/tests/data/shake128.blb index 70177c7db265c2adcb09643eb3dc94903a7ab29b..58fb20814850605daf4df0664f02ba562e2c945a 100644 GIT binary patch delta 4013 zcmXBVc~sBYAIEX;t7%eAk|ar+v`LesNt-qyX_6!?ut4gocp{zx(q0?>^qo_xYUj{haUT+@d1w6En3nTC^x?u}(+m8ki?+^_%f( z)tJnp78{I(5cxsUL}QFlnyMkbGpxJiZ)F?jnL7BKn#|V}dPXnmZe09wdv$Hikhf}7 ztR-3-53liBRBtb8J}3w@KaAX^tZgYVr*KIbg{nkp2AL)y>7U3JUwpv!)pA$H=G_NY#GE2?> zGZ2PW1rL|hXn0p%b-EnBe0A&myjLpdv=i;DGZVcp42knCw~FxG|Gd>)%k^feShg1$ zqCy>PItU{h&6?LWVLhLiZ+T}oW#D{sgY*1YCGU=+z1^cYxni|uG?#m2Xqw*k9NxPzwe4xu zk985`B2UskgHr59#O9 z3FA>N!qThdx|y?f>mGmA;8Cqzm_LV&-MxI%PM@k@)@tU;ZH{WIz*SiJ6gCao*S8_G+!vO^~lFbGN{g&$$comlr%NfjSRCf%1)) z6=3KsC`cOh?hJVL7SvCA`&k2H`~(Hdu>oCxc>#h#MaY0K2Ou>}P^3%`?+UC57ZfE+A{>EB5rU%S zmB?PpA$tt}9*7?38-N|yVQ-GEogf>Pw`lpg@Q zR6%LdA>AE_PZu;nCQR%FteYq(LvG0Q0ID;EmbT?v*KI=;o=p;zC0|VTM6t~glr8OZ zy?}AKf^y{eJa1rAo}gU0CEo{lkuNAu))w>zx=k09FP&!i0qHZ;S1#nlqOaOtq@*Da z&h|%Zo~@)QKhF(-0_G`c$vz7Lp}7l0E8WxYbq<8$Z?SBVYTA;Q^g*jyqNFPyEDeI} zmMQ5;2kr|^WF>u>xw0R0Y^9QcJh7@jq+6_HDD~C^L(yxLjATs70BCcGlCj*nJ_P!> zUdco@{WcH^E>$v>A!VUZahcH8Yr}0Trq{hzEZeN2ncTefN5sahN*1ztdl(eDL&-{p z?HUAa*rjAGOZS9BANMHP$fmu6p|E{Qb~5}x1hnaZl7rmx#}J4PDLKlPha;ikhn1XU z?9rjn{-a9H^5F3($l!#~(GUL7!n$x!7aL`>ld8H%i}GQpQ_7WGaJ2h`MNS58ggGLSPrco3mvUi3X#VjCO~$NltQIL%{WNbD22&o zPZFUoPn5zXJs%GxKUa#7DKC?tyDya@W#y}%p#F7AQF6eWWay7KO40Jq`kx_(f0bgS z(C_lf)1R<7r&!yxUU{Of&1&zWcZXm zoWZ9JCi3Y~f!1GLcEwt)Pt)LQHdKK1NLyHwqwHxqeBU0{;_9wc2#D2!Hf-7pHe@qTngeg~ zgpGKcH_e56`M}2P=}YtAbH1<%U+|~-aC87{$}xRt0bJV$HsiX!v=E-!54PZG!L$f& zI{>!gb^~cKylEh8&0Bt?C9qEzY{S0cB;gz3upQrupr!E7LtqC^9ZJh!%_!KBwW4V` zToMgC@%k8I*fSP(X77=-0=_j8cHuj5v=Yu34ZCtyJpBqAjD_9Ua2&0IcaMYJ`S=ED8>avuE#XHJEKdD1j0h0O}!5Vk0!jquq*IF!%Nq%wG75gf*u zvuP7-J_inG%XzdJu9yc$@TCQ`1Bhx7Q! z89D}+omHQE0dG1_C%~UBs9YfU=ZpWh^Ceh=U9Qky=>J`THM!v$orI5Ehqd_F4LSwS zxCv`>(QPV+L+`-49CnXR!^V}c9-CCr8Tg+nSf3w1ptJDKhp++f{)f)NxizpM=RKkG zaPU*uh(n&!1-Qct*qA%kQU(0H7B=CRb#xIv^cpth!*A&lJg*)$;|1^NGCcA|m~64h|~&af|c=pr7#OJ%(!a;ntoA?Lb?gaPaoz9{LUe+BBX6_*#!+EZ72Mg59&i{B@eQQhKuN^Jk!^_9O$-H8$_zzx`0H^ShMDYQhJ04Es`9FyU zxF{K(z_U}tN4PK*&fuBpq7g2b0B3PwhG>GPWy0A!eUfPY>TEcNr{{=IU-zfLxm@^* T_zV~3!FfD0Uwna!rU~&sG9+NL delta 4144 zcmXBXcU({Z7YFe3K9ZD?Q06yfBqN(NP}#dgc8bbKB%yC4X~^b{W2;b5$M3)Ue80}UkN4-^b3c!BPsSR@#TlFU22Szy4QmYmm}r0%%Y&tVnoG>v z4P!$Ax0)j2SkPt$W05t}04o_o(Op+-8z09hgD&z?v>{eDfmcPhvw!DodXqo+1Fx+# zLemN`BHw9wu`TBRT6*IqFD4pem5Pwk-KKS8vljMs9J}XB>7EK`RtcPj250+hoRIA3 zSt%pAAupe*gjFj;iFI6`EW-t1FW*&3-crt**Ke6(HB<0NHcGR~dbF^s*Y=3qSynSR zcwvUst3XuV%6tRohu7_{daT)0IWpocCqJs8xfz6xcfLH>r^{JuPsam=Ziux{gzmoU83ilHK~m?s=-qqy>^q~kYxo6UJUM% zo)FOE-Zys+UFu@Z>X7qrS?-UAg}3_mJ@ji<*YI>l&-SKGI2~q*wamfG$op=dt9hDf z^Z6FLFSl7ZYqIz0=F2#qW`(saAi>k%@uI zpQrN-0@EEl&PUveiLLZ>%rlefT=K*gu{P+urnTjgznUV}0sXsq9Z_97G(>Ru!H3o@ z(W)-&9DDlZ>fggn@}s(f`;vJsE#kblm$iBt6!Yq01p}^fZH?A{L7BwZ1$!!-c>B%a zv2k?dLaJf!)Me_qGsUaR$FAGejLXKh#rl>I{lh)O;&I^ctc+{c--?$cY%s0g+_iP( z($){&oSr|zmg{2LBh~{QYhO=xv%?wdN(^ZtlUKwAuKB61su*c5bEkEWtv55#7mr+GFLC3qq>2c0;ix#-#u zL_5&ehuVqMFvJ$1aYPGIn-PdDLAM>%Qsh4hjSS%Ao1dkO$=-;qKnMA>k|@y!u{G$V zv8_dS#v-->eb=vzsDeLYThJB9w-vdKM{LI%o7heiJ`u4!=-GkoMf(F0JAlpz>L4l# zLbM0{ZmPY=HW;xZ=q4c@MSdZO4xs%*9Yjf?SiUS+eQ3MOi;!szWGB&%NW{+kD5E-yUPYnmqF+b52<&1IT|l>t`=gLJ zL|4$E@vf2`j7M|>eRz=@D`_!eSH68qyGqn^DHVg z><)V4s_vrvRfs)67p&1}5M|1~mvfEuWdN-m6=rMaeMEmz54g!5({~(b`2BIfF>P%13*i6L1 zp#2UG79BZ=I0W>u!$U;oM-aVu-^aW}!N(AXf(|(`RFr)JD;PoV0reV0yEkma3pu9{ zhk?F-W|+k7&LR#6-QoOjkv@+&0`%&OBSgg)5l4dlba|x6BMWg9XwNI7MEkBFj^^&V zHd<8uI-)nfE;qeJvu+}e0sZ&wF`|dJ5q&`C-t`f=1}JoXdKdW`7LSIP4iJ;2r3lJx8)4ZG@YE+0gk-PHs zMA53(h?Dr0e>+K3rU)?*blLZTqLBB9lezVZCyVln5repCJ_U(}d`6rCdg#|FqKjV< zr-HuxeX7X01TmQZZc2kidrJ|gf!_aXnyB$_#1Nn+N`){}wkU--9VoGknl835V21+L zG*qGD<%aATKr4;Z46$)}_DrA(CTgZQ#)Lf!D6XQKC03Q#VL)X}RhT%!l>IkQq?!6# zTx!M+2l`b_g^RZl0uuR83xu*Oo&70$C% zs3IxKO3hzb-)v1K!M z43L$biV^RyW5)uewp6j=)~(oaKyBNoIPuXo>;*u_+o=WOUhUcOKz;00y!ehidm&Jc zgIXva=g3|JFh)xnxPWK4l~(FKu%#QN&F;?y%p$bxY{a?o6X(^6d$3siCfHN zZwG2MPi+_H%ws15-Jh?L#Zl4h6rku>l_G8)$KCw9Yqd+PSF!&ATD?a7BkoG!@!S;lexP|f)qZh@ zRCWeX$6YEz{C*ev08nwdIv`H{mz@c;Ymdql`|V}_2NbYh{U^4{U>^jkpQ#Rtb2Hh8 zfSw#whr}BXu@3`nKB5kbM;v7z0UC8&9TC?)!9EI9_mny+et3#~3@G=EIwszHmVF#3 z;k-I7_PM~X`w8;Bq)rMOUgr2DkWKdg{VJP%3h2#MbxQKx*Vw0l_TEsZ#WQcR&j5wp zR%gVW@37ATx#Xy`VxxQPb3n!q)H(5u2ki4ew;rkU;!U~i3qV_*s0-o=dF+colb)%I z;`aIMOF;Go>XO*t1^Y6PVWGM#zFEl50=oTLWr?@GVP^wvFH+g!>F?NAfM$G9SH#_m z*;j#jeo|M(H9xbj0oDGhu8H4%WnTw+_g!5VpDJPB06J5uZiv_ZWZwi@|6AQ;Z=b>+ zQn!G3*19Eek237rK)uT1ZE-zA_8lN=BfKLnF=F2ZDmBKt;@c+d9H6@uF-N?o68j#| zK2y9WURs5HA82`1ye|%{#(n@4WR4HSeJt1yf%?_NhvKHS*pGmC@_!_*P?wzxRLK%^ z#YL9v$3X9`@Ui&1HTwzB%?9{HoY9b-2b5`pdE)hr*-wEsHo>Rj$foRPKvB){nK;0X zoewmjCFY9L8a&Lpr#rAF41wan%u|RCyf&BugK}UQcuE_I0z67f5gfGS4`3nFG zfqrztLUBQ7_A8*5F8E4(%a#2a=uTIBEk50i{RZf44}2ru*OUDgD5E#N6>saqE&@vK zhehHw{n_t;)(*sX;&^xVd!R*w@V$5rPx|-)XzmdFAfD#ME(V%D42#9%hqFHdO&p0I z#onXXpMZS4@srqV4Er{||egX3E!!P3AJlf+|puXertGL?)_BWs&lkl6^ zg$H{44&)Yu-^HDzze<3*1Y?QVX&U8 X^>gr-xDyZX_?xd6iND1z^AP_BCDG76 diff --git a/sha3/tests/data/shake256.blb b/sha3/tests/data/shake256.blb index e2ee0bb6472c3a2df5db43e367fefa4e027e8c35..c5340e26a8c37aae213c650d98122e30c11791e0 100644 GIT binary patch delta 4013 zcmXBVc~sBYAIEX;t7%eAk|ar+v`LesNt-qyX_6!?ut4gocp{zx(q0?>^qo_xYUj{haUT+@d1w6En3nTC^x?u}(+m8ki?+^_%f( z)tJnp78{I(5cxsUL}QFlnyMkbGpxJiZ)F?jnL7BKn#|V}dPXnmZe09wdv$Hikhf}7 ztR-3-53liBRBtb8J}3w@KaAX^tZgYVr*KIbg{nkp2AL)y>7U3JUwpv!)pA$H=G_NY#GE2?> zGZ2PW1rL|hXn0p%b-EnBe0A&myjLpdv=i;DGZVcp42knCw~FxG|Gd>)%k^feShg1$ zqCy>PItU{h&6?LWVLhLiZ+T}oW#D{sgY*1YCGU=+z1^cYxni|uG?#m2Xqw*k9NxPzwe4xu zk985`B2UskgHr59#O9 z3FA>N!qThdx|y?f>mGmA;8Cqzm_LV&-MxI%PM@k@)@tU;ZH{WIz*SiJ6gCao*S8_G+!vO^~lFbGN{g&$$comlr%NfjSRCf%1)) z6=3KsC`cOh?hJVL7SvCA`&k2H`~(Hdu>oCxc>#h#MaY0K2Ou>}P^3%`?+UC57ZfE+A{>EB5rU%S zmB?PpA$tt}9*7?38-N|yVQ-GEogf>Pw`lpg@Q zR6%LdA>AE_PZu;nCQR%FteYq(LvG0Q0ID;EmbT?v*KI=;o=p;zC0|VTM6t~glr8OZ zy?}AKf^y{eJa1rAo}gU0CEo{lkuNAu))w>zx=k09FP&!i0qHZ;S1#nlqOaOtq@*Da z&h|%Zo~@)QKhF(-0_G`c$vz7Lp}7l0E8WxYbq<8$Z?SBVYTA;Q^g*jyqNFPyEDeI} zmMQ5;2kr|^WF>u>xw0R0Y^9QcJh7@jq+6_HDD~C^L(yxLjATs70BCcGlCj*nJ_P!> zUdco@{WcH^E>$v>A!VUZahcH8Yr}0Trq{hzEZeN2ncTefN5sahN*1ztdl(eDL&-{p z?HUAa*rjAGOZS9BANMHP$fmu6p|E{Qb~5}x1hnaZl7rmx#}J4PDLKlPha;ikhn1XU z?9rjn{-a9H^5F3($l!#~(GUL7!n$x!7aL`>ld8H%i}GQpQ_7WGaJ2h`MNS58ggGLSPrco3mvUi3X#VjCO~$NltQIL%{WNbD22&o zPZFUoPn5zXJs%GxKUa#7DKC?tyDya@W#y}%p#F7AQF6eWWay7KO40Jq`kx_(f0bgS z(C_lf)1R<7r&!yxUU{Of&1&zWcZXm zoWZ9JCi3Y~f!1GLcEwt)Pt)LQHdKK1NLyHwqwHxqeBU0{;_9wc2#D2!Hf-7pHe@qTngeg~ zgpGKcH_e56`M}2P=}YtAbH1<%U+|~-aC87{$}xRt0bJV$HsiX!v=E-!54PZG!L$f& zI{>!gb^~cKylEh8&0Bt?C9qEzY{S0cB;gz3upQrupr!E7LtqC^9ZJh!%_!KBwW4V` zToMgC@%k8I*fSP(X77=-0=_j8cHuj5v=Yu34ZCtyJpBqAjD_9Ua2&0IcaMYJ`S=ED8>avuE#XHJEKdD1j0h0O}!5Vk0!jquq*IF!%Nq%wG75gf*u zvuP7-J_inG%XzdJu9yc$@TCQ`1Bhx7Q! z89D}+omHQE0dG1_C%~UBs9YfU=ZpWh^Ceh=U9Qky=>J`THM!v$orI5Ehqd_F4LSwS zxCv`>(QPV+L+`-49CnXR!^V}c9-CCr8Tg+nSf3w1ptJDKhp++f{)f)NxizpM=RKkG zaPU*uh(n&!1-Qct*qA%kQU(0H7B=CRb#xIv^cpth!*A&lJg*)$;|1^NGCcA|m~64h|~&af|c=pr7#OJ%(!a;ntoA?Lb?gaPaoz9{LUe+BBX6_*#!+EZ72Mg59&i{B@eQQhKuN^Jk!^_9O$-H8$_zzx`0H^ShMDYQhJ04Es`9FyU zxF{K(z_U}tN4PK*&fuBpq7g2b0B3PwhG>GPWy0A!eUfPY>TEcNr{{=IU-zfLxm@^* T_zV~3!FfD0Uwna!rU~&sG9+NL delta 4144 zcmXBXcU({Z7YFe3K9ZD?Q06yfBqN(NP}#dgc8bbKB%yC4X~^b{W2;b5$M3)Ue80}UkN4-^b3c!BPsSR@#TlFU22Szy4QmYmm}r0%%Y&tVnoG>v z4P!$Ax0)j2SkPt$W05t}04o_o(Op+-8z09hgD&z?v>{eDfmcPhvw!DodXqo+1Fx+# zLemN`BHw9wu`TBRT6*IqFD4pem5Pwk-KKS8vljMs9J}XB>7EK`RtcPj250+hoRIA3 zSt%pAAupe*gjFj;iFI6`EW-t1FW*&3-crt**Ke6(HB<0NHcGR~dbF^s*Y=3qSynSR zcwvUst3XuV%6tRohu7_{daT)0IWpocCqJs8xfz6xcfLH>r^{JuPsam=Ziux{gzmoU83ilHK~m?s=-qqy>^q~kYxo6UJUM% zo)FOE-Zys+UFu@Z>X7qrS?-UAg}3_mJ@ji<*YI>l&-SKGI2~q*wamfG$op=dt9hDf z^Z6FLFSl7ZYqIz0=F2#qW`(saAi>k%@uI zpQrN-0@EEl&PUveiLLZ>%rlefT=K*gu{P+urnTjgznUV}0sXsq9Z_97G(>Ru!H3o@ z(W)-&9DDlZ>fggn@}s(f`;vJsE#kblm$iBt6!Yq01p}^fZH?A{L7BwZ1$!!-c>B%a zv2k?dLaJf!)Me_qGsUaR$FAGejLXKh#rl>I{lh)O;&I^ctc+{c--?$cY%s0g+_iP( z($){&oSr|zmg{2LBh~{QYhO=xv%?wdN(^ZtlUKwAuKB61su*c5bEkEWtv55#7mr+GFLC3qq>2c0;ix#-#u zL_5&ehuVqMFvJ$1aYPGIn-PdDLAM>%Qsh4hjSS%Ao1dkO$=-;qKnMA>k|@y!u{G$V zv8_dS#v-->eb=vzsDeLYThJB9w-vdKM{LI%o7heiJ`u4!=-GkoMf(F0JAlpz>L4l# zLbM0{ZmPY=HW;xZ=q4c@MSdZO4xs%*9Yjf?SiUS+eQ3MOi;!szWGB&%NW{+kD5E-yUPYnmqF+b52<&1IT|l>t`=gLJ zL|4$E@vf2`j7M|>eRz=@D`_!eSH68qyGqn^DHVg z><)V4s_vrvRfs)67p&1}5M|1~mvfEuWdN-m6=rMaeMEmz54g!5({~(b`2BIfF>P%13*i6L1 zp#2UG79BZ=I0W>u!$U;oM-aVu-^aW}!N(AXf(|(`RFr)JD;PoV0reV0yEkma3pu9{ zhk?F-W|+k7&LR#6-QoOjkv@+&0`%&OBSgg)5l4dlba|x6BMWg9XwNI7MEkBFj^^&V zHd<8uI-)nfE;qeJvu+}e0sZ&wF`|dJ5q&`C-t`f=1}JoXdKdW`7LSIP4iJ;2r3lJx8)4ZG@YE+0gk-PHs zMA53(h?Dr0e>+K3rU)?*blLZTqLBB9lezVZCyVln5repCJ_U(}d`6rCdg#|FqKjV< zr-HuxeX7X01TmQZZc2kidrJ|gf!_aXnyB$_#1Nn+N`){}wkU--9VoGknl835V21+L zG*qGD<%aATKr4;Z46$)}_DrA(CTgZQ#)Lf!D6XQKC03Q#VL)X}RhT%!l>IkQq?!6# zTx!M+2l`b_g^RZl0uuR83xu*Oo&70$C% zs3IxKO3hzb-)v1K!M z43L$biV^RyW5)uewp6j=)~(oaKyBNoIPuXo>;*u_+o=WOUhUcOKz;00y!ehidm&Jc zgIXva=g3|JFh)xnxPWK4l~(FKu%#QN&F;?y%p$bxY{a?o6X(^6d$3siCfHN zZwG2MPi+_H%ws15-Jh?L#Zl4h6rku>l_G8)$KCw9Yqd+PSF!&ATD?a7BkoG!@!S;lexP|f)qZh@ zRCWeX$6YEz{C*ev08nwdIv`H{mz@c;Ymdql`|V}_2NbYh{U^4{U>^jkpQ#Rtb2Hh8 zfSw#whr}BXu@3`nKB5kbM;v7z0UC8&9TC?)!9EI9_mny+et3#~3@G=EIwszHmVF#3 z;k-I7_PM~X`w8;Bq)rMOUgr2DkWKdg{VJP%3h2#MbxQKx*Vw0l_TEsZ#WQcR&j5wp zR%gVW@37ATx#Xy`VxxQPb3n!q)H(5u2ki4ew;rkU;!U~i3qV_*s0-o=dF+colb)%I z;`aIMOF;Go>XO*t1^Y6PVWGM#zFEl50=oTLWr?@GVP^wvFH+g!>F?NAfM$G9SH#_m z*;j#jeo|M(H9xbj0oDGhu8H4%WnTw+_g!5VpDJPB06J5uZiv_ZWZwi@|6AQ;Z=b>+ zQn!G3*19Eek237rK)uT1ZE-zA_8lN=BfKLnF=F2ZDmBKt;@c+d9H6@uF-N?o68j#| zK2y9WURs5HA82`1ye|%{#(n@4WR4HSeJt1yf%?_NhvKHS*pGmC@_!_*P?wzxRLK%^ z#YL9v$3X9`@Ui&1HTwzB%?9{HoY9b-2b5`pdE)hr*-wEsHo>Rj$foRPKvB){nK;0X zoewmjCFY9L8a&Lpr#rAF41wan%u|RCyf&BugK}UQcuE_I0z67f5gfGS4`3nFG zfqrztLUBQ7_A8*5F8E4(%a#2a=uTIBEk50i{RZf44}2ru*OUDgD5E#N6>saqE&@vK zhehHw{n_t;)(*sX;&^xVd!R*w@V$5rPx|-)XzmdFAfD#ME(V%D42#9%hqFHdO&p0I z#onXXpMZS4@srqV4Er{||egX3E!!P3AJlf+|puXertGL?)_BWs&lkl6^ zg$H{44&)Yu-^HDzze<3*1Y?QVX&U8 X^>gr-xDyZX_?xd6iND1z^AP_BCDG76 diff --git a/sha3/tests/lib.rs b/sha3/tests/lib.rs deleted file mode 100644 index 5dc81ed88..000000000 --- a/sha3/tests/lib.rs +++ /dev/null @@ -1,24 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, xof_test}; -use digest::new_test; - -new_test!(keccak_224, "keccak_224", sha3::Keccak224, digest_test); -new_test!(keccak_256, "keccak_256", sha3::Keccak256, digest_test); -new_test!(keccak_384, "keccak_384", sha3::Keccak384, digest_test); -new_test!(keccak_512, "keccak_512", sha3::Keccak512, digest_test); -// tests are from https://github.com/kazcw/yellowsun/blob/test-keccak/src/lib.rs#L171 -new_test!( - keccak_256_full, - "keccak_256_full", - sha3::Keccak256Full, - digest_test -); - -new_test!(sha3_224, "sha3_224", sha3::Sha3_224, digest_test); -new_test!(sha3_256, "sha3_256", sha3::Sha3_256, digest_test); -new_test!(sha3_384, "sha3_384", sha3::Sha3_384, digest_test); -new_test!(sha3_512, "sha3_512", sha3::Sha3_512, digest_test); - -new_test!(shake128, "shake128", sha3::Shake128, xof_test); -new_test!(shake256, "shake256", sha3::Shake256, xof_test); diff --git a/sha3/tests/mod.rs b/sha3/tests/mod.rs new file mode 100644 index 000000000..120ff41e2 --- /dev/null +++ b/sha3/tests/mod.rs @@ -0,0 +1,24 @@ +#![no_std] + +use digest::dev::{fixed_reset_test, xof_reset_test}; +use digest::new_test; + +new_test!(keccak_224, "keccak_224", sha3::Keccak224, fixed_reset_test); +new_test!(keccak_256, "keccak_256", sha3::Keccak256, fixed_reset_test); +new_test!(keccak_384, "keccak_384", sha3::Keccak384, fixed_reset_test); +new_test!(keccak_512, "keccak_512", sha3::Keccak512, fixed_reset_test); +// tests are from https://github.com/kazcw/yellowsun/blob/test-keccak/src/lib.rs#L171 +new_test!( + keccak_256_full, + "keccak_256_full", + sha3::Keccak256Full, + fixed_reset_test +); + +new_test!(sha3_224, "sha3_224", sha3::Sha3_224, fixed_reset_test); +new_test!(sha3_256, "sha3_256", sha3::Sha3_256, fixed_reset_test); +new_test!(sha3_384, "sha3_384", sha3::Sha3_384, fixed_reset_test); +new_test!(sha3_512, "sha3_512", sha3::Sha3_512, fixed_reset_test); + +new_test!(shake128, "shake128", sha3::Shake128, xof_reset_test); +new_test!(shake256, "shake256", sha3::Shake256, xof_reset_test); diff --git a/shabal/CHANGELOG.md b/shabal/CHANGELOG.md index d44eb49f9..0f16088c2 100644 --- a/shabal/CHANGELOG.md +++ b/shabal/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.3.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/shabal/Cargo.toml b/shabal/Cargo.toml index a83f02704..e0f0edb9d 100644 --- a/shabal/Cargo.toml +++ b/shabal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shabal" -version = "0.3.0" +version = "0.4.0" # Also update html_root_url in lib.rs when bumping this description = "Shabal hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,10 @@ keywords = ["crypto", "shabal", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/shabal/benches/mod.rs b/shabal/benches/mod.rs new file mode 100644 index 000000000..c7007ca7f --- /dev/null +++ b/shabal/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use shabal::Shabal256; +use test::Bencher; + +bench_update!( + Shabal256::default(); + shabal256_10 10; + shabal256_100 100; + shabal256_1000 1000; + shabal256_10000 10000; +); diff --git a/shabal/benches/shabal.rs b/shabal/benches/shabal.rs deleted file mode 100644 index ce4ee1202..000000000 --- a/shabal/benches/shabal.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(shabal::Shabal256); diff --git a/shabal/examples/shabal256sum.rs b/shabal/examples/shabal256sum.rs deleted file mode 100644 index 5a5186183..000000000 --- a/shabal/examples/shabal256sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use shabal::{Digest, Shabal256}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/shabal/examples/shabal512sum.rs b/shabal/examples/shabal512sum.rs deleted file mode 100644 index b045f6581..000000000 --- a/shabal/examples/shabal512sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use shabal::{Digest, Shabal512}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/shabal/src/consts.rs b/shabal/src/consts.rs index 27fddcdbe..ec4124160 100644 --- a/shabal/src/consts.rs +++ b/shabal/src/consts.rs @@ -1,264 +1,101 @@ -pub const A_INIT_512: [u32; 12] = [ - 0x2072_8DFD, - 0x46C0_BD53, - 0xE782_B699, - 0x5530_4632, - 0x71B4_EF90, - 0x0EA9_E82C, - 0xDBB9_30F1, - 0xFAD0_6B8B, - 0xBE0C_AE40, - 0x8BD1_4410, - 0x76D2_ADAC, - 0x28AC_AB7F, -]; +//! Shabal initialization constants. -pub const B_INIT_512: [u32; 16] = [ - 0xC109_9CB7, - 0x07B3_85F3, - 0xE744_2C26, - 0xCC8A_D640, - 0xEB6F_56C7, - 0x1EA8_1AA9, - 0x73B9_D314, - 0x1DE8_5D08, - 0x4891_0A5A, - 0x893B_22DB, - 0xC5A0_DF44, - 0xBBC4_324E, - 0x72D2_F240, - 0x7594_1D99, - 0x6D8B_DE82, - 0xA1A7_502B, -]; +pub(crate) const INIT_192: ([u32; 12], [u32; 16], [u32; 16]) = ( + [ + 0xFD74_9ED4, 0xB798_E530, 0x3390_4B6F, 0x46BD_A85E, + 0x0769_34B4, 0x454B_4058, 0x77F7_4527, 0xFB4C_F465, + 0x6293_1DA9, 0xE778_C8DB, 0x22B3_998E, 0xAC15_CFB9, + ], + [ + 0x58BC_BAC4, 0xEC47_A08E, 0xAEE9_33B2, 0xDFCB_C824, + 0xA794_4804, 0xBF65_BDB0, 0x5A9D_4502, 0x5997_9AF7, + 0xC5CE_A54E, 0x4B6B_8150, 0x16E7_1909, 0x7D63_2319, + 0x9305_73A0, 0xF34C_63D1, 0xCAF9_14B4, 0xFDD6_612C, + ], + [ + 0x6155_0878, 0x89EF_2B75, 0xA166_0C46, 0x7EF3_855B, + 0x7297_B58C, 0x1BC6_7793, 0x7FB1_C723, 0xB66F_C640, + 0x1A48_B71C, 0xF097_6D17, 0x088C_E80A, 0xA454_EDF3, + 0x1C09_6BF4, 0xAC76_224B, 0x5215_781C, 0xCD5D_2669, + ], +); -pub const C_INIT_512: [u32; 16] = [ - 0xD9BF_68D1, - 0x58BA_D750, - 0x5602_8CB2, - 0x8134_F359, - 0xB5D4_69D8, - 0x941A_8CC2, - 0x418B_2A6E, - 0x0405_2780, - 0x7F07_D787, - 0x5194_358F, - 0x3C60_D665, - 0xBE97_D79A, - 0x950C_3434, - 0xAED9_A06D, - 0x2537_DC8D, - 0x7CDB_5969, -]; +pub(crate) const INIT_224: ([u32; 12], [u32; 16], [u32; 16]) = ( + [ + 0xA520_1467, 0xA9B8_D94A, 0xD4CE_D997, 0x6837_9D7B, + 0xA7FC_73BA, 0xF1A2_546B, 0x6067_82BF, 0xE0BC_FD0F, + 0x2F25_374E, 0x069A_149F, 0x5E2D_FF25, 0xFAEC_F061, + ], + [ + 0xEC99_05D8, 0xF218_50CF, 0xC0A7_46C8, 0x21DA_D498, + 0x3515_6EEB, 0x088C_97F2, 0x2630_3E40, 0x8A2D_4FB5, + 0xFEEE_44B6, 0x8A1E_9573, 0x7B81_111A, 0xCBC1_39F0, + 0xA351_3861, 0x1D2C_362E, 0x918C_580E, 0xB58E_1B9C, + ], + [ + 0xE4B5_73A1, 0x4C1A_0880, 0x1E90_7C51, 0x0480_7EFD, + 0x3AD8_CDE5, 0x16B2_1302, 0x0251_2C53, 0x2204_CB18, + 0x9940_5F2D, 0xE5B6_48A1, 0x70AB_1D43, 0xA10C_25C2, + 0x16F1_AC05, 0x38BB_EB56, 0x9B01_DC60, 0xB109_6D83, + ], +); -pub const A_INIT_384: [u32; 12] = [ - 0xC8FC_A331, - 0xE55C_504E, - 0x003E_BF26, - 0xBB6B_8D83, - 0x7B04_48C1, - 0x41B8_2789, - 0x0A7C_9601, - 0x8D65_9CFF, - 0xB6E2_673E, - 0xCA54_C77B, - 0x1460_FD7E, - 0x3FCB_8F2D, -]; +pub(crate) const INIT_256: ([u32; 12], [u32; 16], [u32; 16]) = ( + [ + 0x52F8_4552, 0xE54B_7999, 0x2D8E_E3EC, 0xB964_5191, + 0xE007_8B86, 0xBB7C_44C9, 0xD2B5_C1CA, 0xB0D2_EB8C, + 0x14CE_5A45, 0x22AF_50DC, 0xEFFD_BC6B, 0xEB21_B74A, + ], + [ + 0xB555_C6EE, 0x3E71_0596, 0xA72A_652F, 0x9301_515F, + 0xDA28_C1FA, 0x696F_D868, 0x9CB6_BF72, 0x0AFE_4002, + 0xA6E0_3615, 0x5138_C1D4, 0xBE21_6306, 0xB38B_8890, + 0x3EA8_B96B, 0x3299_ACE4, 0x3092_4DD4, 0x55CB_34A5, + ], + [ + 0xB405_F031, 0xC423_3EBA, 0xB373_3979, 0xC0DD_9D55, + 0xC51C_28AE, 0xA327_B8E1, 0x56C5_6167, 0xED61_4433, + 0x88B5_9D60, 0x60E2_CEBA, 0x758B_4B8B, 0x83E8_2A7F, + 0xBC96_8828, 0xE6E0_0BF7, 0xBA83_9E55, 0x9B49_1C60, + ], +); -pub const B_INIT_384: [u32; 16] = [ - 0x5272_91FC, - 0x2A16_455F, - 0x78E6_27E5, - 0x944F_169F, - 0x1CA6_F016, - 0xA854_EA25, - 0x8DB9_8ABE, - 0xF2C6_2641, - 0x3011_7DCB, - 0xCF5C_4309, - 0x9371_1A25, - 0xF9F6_71B8, - 0xB01D_2116, - 0x333F_4B89, - 0xB285_D165, - 0x8682_9B36, -]; +pub(crate) const INIT_384: ([u32; 12], [u32; 16], [u32; 16]) = ( + [ + 0xC8FC_A331, 0xE55C_504E, 0x003E_BF26, 0xBB6B_8D83, + 0x7B04_48C1, 0x41B8_2789, 0x0A7C_9601, 0x8D65_9CFF, + 0xB6E2_673E, 0xCA54_C77B, 0x1460_FD7E, 0x3FCB_8F2D, + ], + [ + 0x5272_91FC, 0x2A16_455F, 0x78E6_27E5, 0x944F_169F, + 0x1CA6_F016, 0xA854_EA25, 0x8DB9_8ABE, 0xF2C6_2641, + 0x3011_7DCB, 0xCF5C_4309, 0x9371_1A25, 0xF9F6_71B8, + 0xB01D_2116, 0x333F_4B89, 0xB285_D165, 0x8682_9B36, + ], + [ + 0xF764_B11A, 0x7617_2146, 0xCEF6_934D, 0xC6D2_8399, + 0xFE09_5F61, 0x5E60_18B4, 0x5048_ECF5, 0x5135_3261, + 0x6E6E_36DC, 0x6313_0DAD, 0xA9C6_9BD6, 0x1E90_EA0C, + 0x7C35_073B, 0x28D9_5E6D, 0xAA34_0E0D, 0xCB3D_EE70, + ], +); -pub const C_INIT_384: [u32; 16] = [ - 0xF764_B11A, - 0x7617_2146, - 0xCEF6_934D, - 0xC6D2_8399, - 0xFE09_5F61, - 0x5E60_18B4, - 0x5048_ECF5, - 0x5135_3261, - 0x6E6E_36DC, - 0x6313_0DAD, - 0xA9C6_9BD6, - 0x1E90_EA0C, - 0x7C35_073B, - 0x28D9_5E6D, - 0xAA34_0E0D, - 0xCB3D_EE70, -]; - -pub const A_INIT_256: [u32; 12] = [ - 0x52F8_4552, - 0xE54B_7999, - 0x2D8E_E3EC, - 0xB964_5191, - 0xE007_8B86, - 0xBB7C_44C9, - 0xD2B5_C1CA, - 0xB0D2_EB8C, - 0x14CE_5A45, - 0x22AF_50DC, - 0xEFFD_BC6B, - 0xEB21_B74A, -]; - -pub const B_INIT_256: [u32; 16] = [ - 0xB555_C6EE, - 0x3E71_0596, - 0xA72A_652F, - 0x9301_515F, - 0xDA28_C1FA, - 0x696F_D868, - 0x9CB6_BF72, - 0x0AFE_4002, - 0xA6E0_3615, - 0x5138_C1D4, - 0xBE21_6306, - 0xB38B_8890, - 0x3EA8_B96B, - 0x3299_ACE4, - 0x3092_4DD4, - 0x55CB_34A5, -]; - -pub const C_INIT_256: [u32; 16] = [ - 0xB405_F031, - 0xC423_3EBA, - 0xB373_3979, - 0xC0DD_9D55, - 0xC51C_28AE, - 0xA327_B8E1, - 0x56C5_6167, - 0xED61_4433, - 0x88B5_9D60, - 0x60E2_CEBA, - 0x758B_4B8B, - 0x83E8_2A7F, - 0xBC96_8828, - 0xE6E0_0BF7, - 0xBA83_9E55, - 0x9B49_1C60, -]; - -pub const A_INIT_224: [u32; 12] = [ - 0xA520_1467, - 0xA9B8_D94A, - 0xD4CE_D997, - 0x6837_9D7B, - 0xA7FC_73BA, - 0xF1A2_546B, - 0x6067_82BF, - 0xE0BC_FD0F, - 0x2F25_374E, - 0x069A_149F, - 0x5E2D_FF25, - 0xFAEC_F061, -]; - -pub const B_INIT_224: [u32; 16] = [ - 0xEC99_05D8, - 0xF218_50CF, - 0xC0A7_46C8, - 0x21DA_D498, - 0x3515_6EEB, - 0x088C_97F2, - 0x2630_3E40, - 0x8A2D_4FB5, - 0xFEEE_44B6, - 0x8A1E_9573, - 0x7B81_111A, - 0xCBC1_39F0, - 0xA351_3861, - 0x1D2C_362E, - 0x918C_580E, - 0xB58E_1B9C, -]; - -pub const C_INIT_224: [u32; 16] = [ - 0xE4B5_73A1, - 0x4C1A_0880, - 0x1E90_7C51, - 0x0480_7EFD, - 0x3AD8_CDE5, - 0x16B2_1302, - 0x0251_2C53, - 0x2204_CB18, - 0x9940_5F2D, - 0xE5B6_48A1, - 0x70AB_1D43, - 0xA10C_25C2, - 0x16F1_AC05, - 0x38BB_EB56, - 0x9B01_DC60, - 0xB109_6D83, -]; - -pub const A_INIT_192: [u32; 12] = [ - 0xFD74_9ED4, - 0xB798_E530, - 0x3390_4B6F, - 0x46BD_A85E, - 0x0769_34B4, - 0x454B_4058, - 0x77F7_4527, - 0xFB4C_F465, - 0x6293_1DA9, - 0xE778_C8DB, - 0x22B3_998E, - 0xAC15_CFB9, -]; - -pub const B_INIT_192: [u32; 16] = [ - 0x58BC_BAC4, - 0xEC47_A08E, - 0xAEE9_33B2, - 0xDFCB_C824, - 0xA794_4804, - 0xBF65_BDB0, - 0x5A9D_4502, - 0x5997_9AF7, - 0xC5CE_A54E, - 0x4B6B_8150, - 0x16E7_1909, - 0x7D63_2319, - 0x9305_73A0, - 0xF34C_63D1, - 0xCAF9_14B4, - 0xFDD6_612C, -]; - -pub const C_INIT_192: [u32; 16] = [ - 0x6155_0878, - 0x89EF_2B75, - 0xA166_0C46, - 0x7EF3_855B, - 0x7297_B58C, - 0x1BC6_7793, - 0x7FB1_C723, - 0xB66F_C640, - 0x1A48_B71C, - 0xF097_6D17, - 0x088C_E80A, - 0xA454_EDF3, - 0x1C09_6BF4, - 0xAC76_224B, - 0x5215_781C, - 0xCD5D_2669, -]; +pub(crate) const INIT_512: ([u32; 12], [u32; 16], [u32; 16]) = ( + [ + 0x2072_8DFD, 0x46C0_BD53, 0xE782_B699, 0x5530_4632, + 0x71B4_EF90, 0x0EA9_E82C, 0xDBB9_30F1, 0xFAD0_6B8B, + 0xBE0C_AE40, 0x8BD1_4410, 0x76D2_ADAC, 0x28AC_AB7F, + ], + [ + 0xC109_9CB7, 0x07B3_85F3, 0xE744_2C26, 0xCC8A_D640, + 0xEB6F_56C7, 0x1EA8_1AA9, 0x73B9_D314, 0x1DE8_5D08, + 0x4891_0A5A, 0x893B_22DB, 0xC5A0_DF44, 0xBBC4_324E, + 0x72D2_F240, 0x7594_1D99, 0x6D8B_DE82, 0xA1A7_502B, + ], + [ + 0xD9BF_68D1, 0x58BA_D750, 0x5602_8CB2, 0x8134_F359, + 0xB5D4_69D8, 0x941A_8CC2, 0x418B_2A6E, 0x0405_2780, + 0x7F07_D787, 0x5194_358F, 0x3C60_D665, 0xBE97_D79A, + 0x950C_3434, 0xAED9_A06D, 0x2537_DC8D, 0x7CDB_5969, + ], +); diff --git a/shabal/src/core_api.rs b/shabal/src/core_api.rs new file mode 100644 index 000000000..561117522 --- /dev/null +++ b/shabal/src/core_api.rs @@ -0,0 +1,250 @@ +use crate::consts; +use core::{convert::TryInto, fmt, mem, num::Wrapping}; +use digest::{ + block_buffer::Eager, + consts::U64, + core_api::{ + AlgorithmName, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, TruncSide, + UpdateCore, VariableOutputCore, + }, + generic_array::GenericArray, + HashMarker, InvalidOutputSize, Output, +}; + +type BlockSize = U64; +type Block = GenericArray; +type M = [Wrapping; 16]; + +/// Inner state of Shabal hash functions. +#[derive(Clone)] +pub struct ShabalVarCore { + a: [Wrapping; 12], + b: M, + c: M, + w: Wrapping, +} + +impl ShabalVarCore { + #[allow(clippy::needless_range_loop)] + fn add_m(&mut self, m: &M) { + for i in 0..16 { + self.b[i] += m[i]; + } + } + + #[allow(clippy::needless_range_loop)] + fn sub_m(&mut self, m: &M) { + for i in 0..16 { + self.c[i] -= m[i]; + } + } + + fn xor_w(&mut self) { + self.a[0].0 ^= self.w.0 as u32; + self.a[1].0 ^= (self.w.0 >> 32) as u32; + } + + fn perm(&mut self, m: &M) { + self.b.iter_mut().for_each(|b| b.0 = b.0.rotate_left(17)); + self.perm_blocks(m); + + let a = &mut self.a; + let c = &self.c; + a[0] += c[11] + c[15] + c[3]; + a[1] += c[12] + c[0] + c[4]; + a[2] += c[13] + c[1] + c[5]; + a[3] += c[14] + c[2] + c[6]; + a[4] += c[15] + c[3] + c[7]; + a[5] += c[0] + c[4] + c[8]; + a[6] += c[1] + c[5] + c[9]; + a[7] += c[2] + c[6] + c[10]; + a[8] += c[3] + c[7] + c[11]; + a[9] += c[4] + c[8] + c[12]; + a[10] += c[5] + c[9] + c[13]; + a[11] += c[6] + c[10] + c[14]; + } + + #[allow(clippy::too_many_arguments)] + fn perm_elt( + &mut self, + xa0: usize, + xa1: usize, + xb0: usize, + xb1: usize, + xb2: usize, + xb3: usize, + xc0: usize, + xm: Wrapping, + ) { + let a = &mut self.a; + let b = &mut self.b; + let xc = self.c[xc0]; + + let t1 = Wrapping(a[xa1].0.rotate_left(15)); + let t2 = t1 * Wrapping(5); + let t3 = (a[xa0] ^ t2 ^ xc) * Wrapping(3); + a[xa0] = t3 ^ b[xb1] ^ (b[xb2] & !b[xb3]) ^ xm; + + let t = Wrapping(b[xb0].0.rotate_left(1)); + b[xb0] = !(t ^ a[xa0]); + } + + fn perm_blocks(&mut self, m: &M) { + self.perm_elt(0, 11, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(1, 0, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(2, 1, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(3, 2, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(4, 3, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(5, 4, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(6, 5, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(7, 6, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(8, 7, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(9, 8, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(10, 9, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(11, 10, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(0, 11, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(1, 0, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(2, 1, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(3, 2, 15, 12, 8, 5, 9, m[15]); + self.perm_elt(4, 3, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(5, 4, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(6, 5, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(7, 6, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(8, 7, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(9, 8, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(10, 9, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(11, 10, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(0, 11, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(1, 0, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(2, 1, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(3, 2, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(4, 3, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(5, 4, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(6, 5, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(7, 6, 15, 12, 8, 5, 9, m[15]); + self.perm_elt(8, 7, 0, 13, 9, 6, 8, m[0]); + self.perm_elt(9, 8, 1, 14, 10, 7, 7, m[1]); + self.perm_elt(10, 9, 2, 15, 11, 8, 6, m[2]); + self.perm_elt(11, 10, 3, 0, 12, 9, 5, m[3]); + self.perm_elt(0, 11, 4, 1, 13, 10, 4, m[4]); + self.perm_elt(1, 0, 5, 2, 14, 11, 3, m[5]); + self.perm_elt(2, 1, 6, 3, 15, 12, 2, m[6]); + self.perm_elt(3, 2, 7, 4, 0, 13, 1, m[7]); + self.perm_elt(4, 3, 8, 5, 1, 14, 0, m[8]); + self.perm_elt(5, 4, 9, 6, 2, 15, 15, m[9]); + self.perm_elt(6, 5, 10, 7, 3, 0, 14, m[10]); + self.perm_elt(7, 6, 11, 8, 4, 1, 13, m[11]); + self.perm_elt(8, 7, 12, 9, 5, 2, 12, m[12]); + self.perm_elt(9, 8, 13, 10, 6, 3, 11, m[13]); + self.perm_elt(10, 9, 14, 11, 7, 4, 10, m[14]); + self.perm_elt(11, 10, 15, 12, 8, 5, 9, m[15]); + } + + fn swap_b_c(&mut self) { + mem::swap(&mut self.b, &mut self.c); + } +} + +#[inline] +fn read_m(input: &Block) -> M { + let mut m = [Wrapping(0); 16]; + for (o, chunk) in m.iter_mut().zip(input.chunks_exact(4)) { + let a = chunk.try_into().unwrap(); + *o = Wrapping(u32::from_le_bytes(a)); + } + m +} + +impl HashMarker for ShabalVarCore {} + +impl BlockSizeUser for ShabalVarCore { + type BlockSize = BlockSize; +} + +impl BufferKindUser for ShabalVarCore { + type BufferKind = Eager; +} + +impl UpdateCore for ShabalVarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + for block in blocks { + let m = read_m(block); + self.add_m(&m); + self.xor_w(); + self.perm(&m); + self.sub_m(&m); + self.swap_b_c(); + self.w += Wrapping(1); + } + } +} + +impl OutputSizeUser for ShabalVarCore { + type OutputSize = U64; +} + +impl VariableOutputCore for ShabalVarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Right; + + #[inline] + #[allow(clippy::needless_range_loop)] + fn new(output_size: usize) -> Result { + let init = match output_size { + 24 => consts::INIT_192, + 28 => consts::INIT_224, + 32 => consts::INIT_256, + 48 => consts::INIT_384, + 64 => consts::INIT_512, + _ => return Err(InvalidOutputSize), + }; + let w = Wrapping(1); + // TODO: use `array::map` on MSRV bump + let mut a = [Wrapping(0u32); 12]; + let mut b = [Wrapping(0u32); 16]; + let mut c = [Wrapping(0u32); 16]; + for i in 0..12 { + a[i] = Wrapping(init.0[i]); + } + for i in 0..16 { + b[i] = Wrapping(init.1[i]); + c[i] = Wrapping(init.2[i]); + } + Ok(Self { a, b, c, w }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = 0x80; + + let m = read_m(block); + self.add_m(&m); + self.xor_w(); + self.perm(&m); + for _ in 0..3 { + self.swap_b_c(); + self.xor_w(); + self.perm(&m); + } + + for (chunk, v) in out.chunks_exact_mut(4).zip(self.b.iter()) { + chunk.copy_from_slice(&v.0.to_le_bytes()); + } + } +} + +impl AlgorithmName for ShabalVarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Shabal") + } +} + +impl fmt::Debug for ShabalVarCore { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("ShabalVarCore { ... }") + } +} diff --git a/shabal/src/lib.rs b/shabal/src/lib.rs index ecb5e96e1..0997d2a7e 100644 --- a/shabal/src/lib.rs +++ b/shabal/src/lib.rs @@ -26,7 +26,9 @@ //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 32] //! let result = hasher.finalize(); -//! assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8")); +//! assert_eq!(result[..], hex!(" +//! d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8 +//! ")[..]); //! ``` //! //! Also see [RustCrypto/hashes][2] readme. @@ -36,8 +38,9 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/shabal/0.4.0" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] @@ -45,8 +48,25 @@ #[cfg(feature = "std")] extern crate std; +#[rustfmt::skip] mod consts; -mod shabal; +mod core_api; -pub use crate::shabal::{Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; +pub use core_api::ShabalVarCore; pub use digest::{self, Digest}; + +use digest::{ + consts::{U24, U28, U32, U48, U64}, + core_api::{CoreWrapper, CtVariableCoreWrapper}, +}; + +/// Shabal192 hasher. +pub type Shabal192 = CoreWrapper>; +/// Shabal224 hasher. +pub type Shabal224 = CoreWrapper>; +/// Shabal256 hasher. +pub type Shabal256 = CoreWrapper>; +/// Shabal384 hasher. +pub type Shabal384 = CoreWrapper>; +/// Shabal512 hasher. +pub type Shabal512 = CoreWrapper>; diff --git a/shabal/src/shabal.rs b/shabal/src/shabal.rs deleted file mode 100644 index 09d3879be..000000000 --- a/shabal/src/shabal.rs +++ /dev/null @@ -1,513 +0,0 @@ -//! Shabal -use block_buffer::block_padding::Iso7816; -use block_buffer::BlockBuffer; -use core::convert::TryInto; -use digest::{ - consts::{U24, U28, U32, U48, U64}, - generic_array::GenericArray, -}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -use crate::consts::{ - A_INIT_192, A_INIT_224, A_INIT_256, A_INIT_384, A_INIT_512, B_INIT_192, B_INIT_224, B_INIT_256, - B_INIT_384, B_INIT_512, C_INIT_192, C_INIT_224, C_INIT_256, C_INIT_384, C_INIT_512, -}; - -type BlockSize = U64; -type Block = GenericArray; - -/// A structure that represents that state of a digest computation for the -/// Shabal family of digest functions -#[derive(Clone)] -struct EngineState { - a: [u32; 12], - b: [u32; 16], - c: [u32; 16], - whigh: u32, - wlow: u32, -} - -impl EngineState { - fn new(a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) -> Self { - Self { - a: *a, - b: *b, - c: *c, - wlow: 1, - whigh: 0, - } - } - - fn process_block(&mut self, block: &Block) { - #[allow(unsafe_code)] - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; - compress(self, block); - } - - fn process_final_block(&mut self, block: &Block) { - #[allow(unsafe_code)] - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; - compress_final(self, block); - } - - #[inline] - fn add_m(&mut self, m: &[u32; 16]) { - for (b, m) in self.b.iter_mut().zip(m) { - *b = b.wrapping_add(*m); - } - } - - #[inline] - fn sub_m(&mut self, m: &[u32; 16]) { - for (c, m) in self.c.iter_mut().zip(m) { - *c = c.wrapping_sub(*m); - } - } - - #[inline] - fn inc_w(&mut self) { - self.wlow = self.wlow.wrapping_add(1); - if self.wlow == 0 { - self.whigh = self.whigh.wrapping_add(1); - } - } - - #[inline] - fn xor_w(&mut self) { - self.a[0] ^= self.wlow; - self.a[1] ^= self.whigh; - } - - #[inline] - fn perm(&mut self, m: &[u32; 16]) { - for b in self.b.iter_mut() { - *b = b.wrapping_shl(17) | b.wrapping_shr(15); - } - self.perm_blocks(m); - - let a = &mut self.a; - let c = &self.c; - a[0] = a[0] - .wrapping_add(c[11]) - .wrapping_add(c[15]) - .wrapping_add(c[3]); - a[1] = a[1] - .wrapping_add(c[12]) - .wrapping_add(c[0]) - .wrapping_add(c[4]); - a[2] = a[2] - .wrapping_add(c[13]) - .wrapping_add(c[1]) - .wrapping_add(c[5]); - a[3] = a[3] - .wrapping_add(c[14]) - .wrapping_add(c[2]) - .wrapping_add(c[6]); - a[4] = a[4] - .wrapping_add(c[15]) - .wrapping_add(c[3]) - .wrapping_add(c[7]); - a[5] = a[5] - .wrapping_add(c[0]) - .wrapping_add(c[4]) - .wrapping_add(c[8]); - a[6] = a[6] - .wrapping_add(c[1]) - .wrapping_add(c[5]) - .wrapping_add(c[9]); - a[7] = a[7] - .wrapping_add(c[2]) - .wrapping_add(c[6]) - .wrapping_add(c[10]); - a[8] = a[8] - .wrapping_add(c[3]) - .wrapping_add(c[7]) - .wrapping_add(c[11]); - a[9] = a[9] - .wrapping_add(c[4]) - .wrapping_add(c[8]) - .wrapping_add(c[12]); - a[10] = a[10] - .wrapping_add(c[5]) - .wrapping_add(c[9]) - .wrapping_add(c[13]); - a[11] = a[11] - .wrapping_add(c[6]) - .wrapping_add(c[10]) - .wrapping_add(c[14]); - } - - #[inline] - #[allow(clippy::too_many_arguments)] - fn perm_elt( - &mut self, - xa0: usize, - xa1: usize, - xb0: usize, - xb1: usize, - xb2: usize, - xb3: usize, - xc0: usize, - xm: u32, - ) { - let a = &mut self.a; - let b = &mut self.b; - let xc = self.c[xc0]; - - a[xa0] = (a[xa0] - ^ ((a[xa1].wrapping_shl(15u32) | a[xa1].wrapping_shr(17u32)).wrapping_mul(5u32)) - ^ xc) - .wrapping_mul(3u32) - ^ b[xb1] - ^ (b[xb2] & !b[xb3]) - ^ xm; - b[xb0] = !((b[xb0].wrapping_shl(1) | b[xb0].wrapping_shr(31)) ^ a[xa0]); - } - - #[inline] - fn perm_blocks(&mut self, m: &[u32; 16]) { - self.perm_elt(0, 11, 0, 13, 9, 6, 8, m[0]); - self.perm_elt(1, 0, 1, 14, 10, 7, 7, m[1]); - self.perm_elt(2, 1, 2, 15, 11, 8, 6, m[2]); - self.perm_elt(3, 2, 3, 0, 12, 9, 5, m[3]); - self.perm_elt(4, 3, 4, 1, 13, 10, 4, m[4]); - self.perm_elt(5, 4, 5, 2, 14, 11, 3, m[5]); - self.perm_elt(6, 5, 6, 3, 15, 12, 2, m[6]); - self.perm_elt(7, 6, 7, 4, 0, 13, 1, m[7]); - self.perm_elt(8, 7, 8, 5, 1, 14, 0, m[8]); - self.perm_elt(9, 8, 9, 6, 2, 15, 15, m[9]); - self.perm_elt(10, 9, 10, 7, 3, 0, 14, m[10]); - self.perm_elt(11, 10, 11, 8, 4, 1, 13, m[11]); - self.perm_elt(0, 11, 12, 9, 5, 2, 12, m[12]); - self.perm_elt(1, 0, 13, 10, 6, 3, 11, m[13]); - self.perm_elt(2, 1, 14, 11, 7, 4, 10, m[14]); - self.perm_elt(3, 2, 15, 12, 8, 5, 9, m[15]); - self.perm_elt(4, 3, 0, 13, 9, 6, 8, m[0]); - self.perm_elt(5, 4, 1, 14, 10, 7, 7, m[1]); - self.perm_elt(6, 5, 2, 15, 11, 8, 6, m[2]); - self.perm_elt(7, 6, 3, 0, 12, 9, 5, m[3]); - self.perm_elt(8, 7, 4, 1, 13, 10, 4, m[4]); - self.perm_elt(9, 8, 5, 2, 14, 11, 3, m[5]); - self.perm_elt(10, 9, 6, 3, 15, 12, 2, m[6]); - self.perm_elt(11, 10, 7, 4, 0, 13, 1, m[7]); - self.perm_elt(0, 11, 8, 5, 1, 14, 0, m[8]); - self.perm_elt(1, 0, 9, 6, 2, 15, 15, m[9]); - self.perm_elt(2, 1, 10, 7, 3, 0, 14, m[10]); - self.perm_elt(3, 2, 11, 8, 4, 1, 13, m[11]); - self.perm_elt(4, 3, 12, 9, 5, 2, 12, m[12]); - self.perm_elt(5, 4, 13, 10, 6, 3, 11, m[13]); - self.perm_elt(6, 5, 14, 11, 7, 4, 10, m[14]); - self.perm_elt(7, 6, 15, 12, 8, 5, 9, m[15]); - self.perm_elt(8, 7, 0, 13, 9, 6, 8, m[0]); - self.perm_elt(9, 8, 1, 14, 10, 7, 7, m[1]); - self.perm_elt(10, 9, 2, 15, 11, 8, 6, m[2]); - self.perm_elt(11, 10, 3, 0, 12, 9, 5, m[3]); - self.perm_elt(0, 11, 4, 1, 13, 10, 4, m[4]); - self.perm_elt(1, 0, 5, 2, 14, 11, 3, m[5]); - self.perm_elt(2, 1, 6, 3, 15, 12, 2, m[6]); - self.perm_elt(3, 2, 7, 4, 0, 13, 1, m[7]); - self.perm_elt(4, 3, 8, 5, 1, 14, 0, m[8]); - self.perm_elt(5, 4, 9, 6, 2, 15, 15, m[9]); - self.perm_elt(6, 5, 10, 7, 3, 0, 14, m[10]); - self.perm_elt(7, 6, 11, 8, 4, 1, 13, m[11]); - self.perm_elt(8, 7, 12, 9, 5, 2, 12, m[12]); - self.perm_elt(9, 8, 13, 10, 6, 3, 11, m[13]); - self.perm_elt(10, 9, 14, 11, 7, 4, 10, m[14]); - self.perm_elt(11, 10, 15, 12, 8, 5, 9, m[15]); - } - - #[inline] - fn swap_b_c(&mut self) { - ::core::mem::swap(&mut self.b, &mut self.c); - } -} - -/// A structure that keeps track of the state of the Shabal operation and -/// contains the logic necessary to perform the final calculations. -#[derive(Clone)] -struct Engine256 { - buffer: BlockBuffer, - state: EngineState, -} - -impl Engine256 { - fn new(a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) -> Engine256 { - Engine256 { - buffer: Default::default(), - state: EngineState::new(a, b, c), - } - } - - fn input(&mut self, input: &[u8]) { - let s = &mut self.state; - self.buffer.input_block(input, |b| s.process_block(b)); - } - - fn finish(&mut self) { - let state = &mut self.state; - let block = self.buffer.pad_with::().unwrap(); - state.process_final_block(block); - } - - fn reset(&mut self, a: &[u32; 12], b: &[u32; 16], c: &[u32; 16]) { - self.state = EngineState::new(a, b, c); - self.buffer.reset(); - } -} - -/// The Shabal hash algorithm with the Shabal-512 initial hash value. -#[derive(Clone)] -pub struct Shabal512 { - engine: Engine256, -} - -impl Default for Shabal512 { - fn default() -> Self { - Self { - engine: Engine256::new(&A_INIT_512, &B_INIT_512, &C_INIT_512), - } - } -} - -impl BlockInput for Shabal512 { - type BlockSize = BlockSize; -} - -impl Update for Shabal512 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.input(input.as_ref()); - } -} - -impl FixedOutputDirty for Shabal512 { - type OutputSize = U64; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let b = &self.engine.state.b[0..16]; - for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Shabal512 { - fn reset(&mut self) { - self.engine.reset(&A_INIT_512, &B_INIT_512, &C_INIT_512); - } -} - -/// The Shabal hash algorithm with the Shabal-384 initial hash value. The result -/// is truncated to 384 bits. -#[derive(Clone)] -pub struct Shabal384 { - engine: Engine256, -} - -impl Default for Shabal384 { - fn default() -> Self { - Self { - engine: Engine256::new(&A_INIT_384, &B_INIT_384, &C_INIT_384), - } - } -} - -impl BlockInput for Shabal384 { - type BlockSize = BlockSize; -} - -impl Update for Shabal384 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.input(input.as_ref()); - } -} - -impl FixedOutputDirty for Shabal384 { - type OutputSize = U48; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let b = &self.engine.state.b[4..16]; - for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Shabal384 { - fn reset(&mut self) { - self.engine.reset(&A_INIT_384, &B_INIT_384, &C_INIT_384); - } -} - -/// The Shabal hash algorithm with the Shabal-256 initial hash value. The result -/// is truncated to 256 bits. -#[derive(Clone)] -pub struct Shabal256 { - engine: Engine256, -} - -impl Default for Shabal256 { - fn default() -> Self { - Self { - engine: Engine256::new(&A_INIT_256, &B_INIT_256, &C_INIT_256), - } - } -} - -impl BlockInput for Shabal256 { - type BlockSize = BlockSize; -} - -impl Update for Shabal256 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.input(input.as_ref()); - } -} - -impl FixedOutputDirty for Shabal256 { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let b = &self.engine.state.b[8..16]; - for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Shabal256 { - fn reset(&mut self) { - self.engine.reset(&A_INIT_256, &B_INIT_256, &C_INIT_256); - } -} - -/// The Shabal hash algorithm with the Shabal-224 initial hash value. The result -/// is truncated to 224 bits. -#[derive(Clone)] -pub struct Shabal224 { - engine: Engine256, -} - -impl Default for Shabal224 { - fn default() -> Self { - Self { - engine: Engine256::new(&A_INIT_224, &B_INIT_224, &C_INIT_224), - } - } -} - -impl BlockInput for Shabal224 { - type BlockSize = BlockSize; -} - -impl Update for Shabal224 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.input(input.as_ref()); - } -} - -impl FixedOutputDirty for Shabal224 { - type OutputSize = U28; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let b = &self.engine.state.b[9..16]; - for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Shabal224 { - fn reset(&mut self) { - self.engine.reset(&A_INIT_224, &B_INIT_224, &C_INIT_224); - } -} - -/// The Shabal hash algorithm with the Shabal-192 initial hash value. The result -/// is truncated to 192 bits. -#[derive(Clone)] -pub struct Shabal192 { - engine: Engine256, -} - -impl Default for Shabal192 { - fn default() -> Self { - Self { - engine: Engine256::new(&A_INIT_192, &B_INIT_192, &C_INIT_192), - } - } -} - -impl BlockInput for Shabal192 { - type BlockSize = BlockSize; -} - -impl Update for Shabal192 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.engine.input(input.as_ref()); - } -} - -impl FixedOutputDirty for Shabal192 { - type OutputSize = U24; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - self.engine.finish(); - let b = &self.engine.state.b[10..16]; - for (chunk, v) in out.chunks_exact_mut(4).zip(b.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - } -} - -impl Reset for Shabal192 { - fn reset(&mut self) { - self.engine.reset(&A_INIT_192, &B_INIT_192, &C_INIT_192); - } -} - -opaque_debug::implement!(Shabal512); -opaque_debug::implement!(Shabal384); -opaque_debug::implement!(Shabal256); -opaque_debug::implement!(Shabal224); -opaque_debug::implement!(Shabal192); - -digest::impl_write!(Shabal512); -digest::impl_write!(Shabal384); -digest::impl_write!(Shabal256); -digest::impl_write!(Shabal224); -digest::impl_write!(Shabal192); - -#[inline] -fn read_m(input: &[u8; 64]) -> [u32; 16] { - let mut m = [0u32; 16]; - for (o, chunk) in m.iter_mut().zip(input.chunks_exact(4)) { - *o = u32::from_le_bytes(chunk.try_into().unwrap()); - } - m -} - -fn compress(state: &mut EngineState, input: &[u8; 64]) { - let m = read_m(input); - state.add_m(&m); - state.xor_w(); - state.perm(&m); - state.sub_m(&m); - state.swap_b_c(); - state.inc_w(); -} - -fn compress_final(state: &mut EngineState, input: &[u8; 64]) { - let m = read_m(input); - state.add_m(&m); - state.xor_w(); - state.perm(&m); - for _ in 0..3 { - state.swap_b_c(); - state.xor_w(); - state.perm(&m); - } -} diff --git a/shabal/tests/data/shabal192.blb b/shabal/tests/data/shabal192.blb index b205df8a2bb62fe25b9b2e135b42c1cce52a9218..7eb0a87195b0ad1b20304e2a6a003903f21a2f79 100644 GIT binary patch delta 760 zcmZn=XcCBKU`jOT*F1UtVUhhlwy)nWYp!np@xF24+0(3<|5y@}3{u#NiWBOlD|Wgl zT5#F5`yRUd$h&z`{A;$vq-29XeAT8I$8No!{CwvUzvkjurR&s{juqOx-~dXd7)(r* zVCMp{QVk|HNO16gnP~=!Jk7s8v`%?%6j~)S#qmL@NswVhnk^GYD^7&w)4!Mq0Ut@xq!*a%s^keWPkk4MW%V@7j^E}dLa1dkArMW6hncT zUur>OjzU3EYHns~kwSTXo_dKwQEG8!dY+!aEpO5sgP<$W)`nlc;2CQGw;OBw7t*&+Xa{raWi z^Qy$XLrAM|c!R*?zbqb72F5~l5B3NgDf%Cp9W=pq z;gRd-(9e3P( zUus*)#EpA8&a~?AK7DKu$p)5AlUS*2VOB7M>B+7c5=T>VxerHO*>7)hZQnh1hbXucE2pt|2FZ*nGHFblWiF_r6h`OOnCGEux53}KmMvey;|(E%EAmE zzhp1BoZP@@DJ7A)e(BVc@{>b;gsT2ik`HrG(UGmJ6=4z7ntYj2i&0|oKSl{g%gN$Q zmOyqOlLVvHw(~-KMt}jQ49srllL)6OG&H}n`PQM z;a?tK{nWFd8YQiW@x9;EPP zTTTvS2D+(e%}2w(|NpPuo&BvtD)#w4g_*ZJPEERbFkBE9#Rs*wUXF05P2pf@>| zRS&4NhgE{nZSpc!Hz4~hknJ*=oy`Tv_F3Jy;F>{`zlpI-d=l1W- Gcbowr(KCzy diff --git a/shabal/tests/data/shabal192_one_million_a.bin b/shabal/tests/data/shabal192_one_million_a.bin deleted file mode 100644 index f0f88ef08..000000000 --- a/shabal/tests/data/shabal192_one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -ž‘ž@I–¨´¬>F¯áëæz‡HI5@ \ No newline at end of file diff --git a/shabal/tests/data/shabal224.blb b/shabal/tests/data/shabal224.blb index 29de7decf9d77fecfe3844450c1a4527227c2867..cdcb37f5f4fe19d5ea8ba0530baa34b6575c55e8 100644 GIT binary patch delta 577 zcmew%@JoP&fho~qB9{ycOJb76L@gOsw#1}li;3PcY#cyFip9iS8FnrZE7fA+1Q}f( zFf+|U_P6+-IVu?v8i`XXLfL2Bd~dNZ-#lh!!BN=^Z9a&abc=~MWw->OoD7SJ|7DDY zV7yEVG5@ly8AT~awmBaOyLehN>_ClvMeV1G0HFoP0nW2l(Q(e zx^a2xVv+B5|Ed((x=vl@i(Pq8{j`U`R@N)_MUyu%S~6Npegjk{M1W>&f3sAGz0|DiDfi{njUbN`#lLo`?6=V9UtOVYF!=(D1W^4;78%B*$!x5KK(+-dP_Mw`P*x8h zXCA8zW6b2;ta?E9E06@wWOg<;Ajgjl$l;ir&E^8+Y+#dNbeMdWO##S$2a+(D%*`Gl zZy_>e`!p>oI|pdoux*2ktdw&%gFk_Hgn{|Ck+R ztZyajmvl4-ROZb1lWaA45t9{A`CXuL>B+yCq~&C|!#|2Gj@J-rRd~&Q&~2s>Pi5FU z{pie6`)49^oF|(wI|G$hFoR5=%4`W_p9iudCckBlkdrA4{&X;&@koB(iwvX0C?~_#lIb${>gjDqe@@W1SlwQ5P*_y0Vm&u=a;fiGkIBKTzz~`| zhgF7AZ}Lu7Js|r9knJ{^jm-_n_GOb{beWvZ<^r-6$X1wqmJJxhlivZ^5tDh?fesd# zvVEIK{_p(O*1A}iH(Dz;O;G$*EXdSvm B`40d9 diff --git a/shabal/tests/data/shabal224_one_million_a.bin b/shabal/tests/data/shabal224_one_million_a.bin deleted file mode 100644 index 536fb4ba4..000000000 --- a/shabal/tests/data/shabal224_one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -4¯3ùÈ…¶ã\+ͦá¯ÜΓ€x³o_ëÜ \ No newline at end of file diff --git a/shabal/tests/data/shabal256.blb b/shabal/tests/data/shabal256.blb index e978cb199206b9af4844fdbc52ef6102e2423c19..643aea8b17241dbc44f58f19dade3b307148d97e 100644 GIT binary patch delta 453 zcmew$_(_n3fho~pB9{USOJb74L_Gy|S)y=0oetYmLDNYf%dWxYr^8NnH zqD>Pt*FQRK&%(k1RFvW{u~LDZ3&cuwn7BZJg9pq^bC`HSfs+ryPIs92QGrVU%E@q; zEX}CEEd=9cI!tzBRL~WH^Rpa6uGOiyRMu3*-xXPrVtDvA)6I7Oyl*+P^!CnWXU{h) z2%0>ZQIpYO@?J&-#-hph7%hQp2_^-`kja)zT0nLRkX{$d+bS zU^JU-!z>MCM=&ceHLy*tWOfE}_5vk<1~G#TVgX7ROtxf+Pvp_*QM38v>=Vwh!4qs^8^k7WX7L6Z@SjD2(O|Lys|1j3$*RDZG&zdZ5XkOf z1sWzWc`d64kn;^F5i?nwO%KR+V*^U?OipKW19H}ZI2@DDv$+5{BJ2u4(iBXFv4h=G h&K?02x&Y)fa!mfn-U8&5aVRhrOrFkR0g~WQ000+Mkoo`s delta 556 zcmew)_(6~>DJMTEsnU=!QDGvB0t-`OlEOp{1y<(7q-2GOz6!c5Kt_s!Xy=29kDIhr z8Q%Px5as(V$;abbob#vu$M>EWnx)-4^(iYzRjR_oSqg@1U}l=aOI87$s?Ob#zrOYT z3l$WrWq<$8jxYMg!!t5%d6vyD53@tmr7KK)t-!?rAOjo7H8(T0 zNTEDGPrXE;D782XLQ zCCtu1gLW{3EV#)Gbd&z$NuE6^@rS=XS2JCbaZI$4eM9JpyFo>18*jaI+AniAVzMbq z1W-#Kivpwf-s|1j3#;U+*I60iv5XkNXvOOlRX7vEFzW~{KlSSF| zfNU2w1xB~YX>4vl_F5p@W%7A87a&`NT>(g%g2^x-88Nwn9c0%N_M=J_z+?@j0YrO!k^aw*$(garUsQOx`R diff --git a/shabal/tests/data/shabal256_one_million_a.bin b/shabal/tests/data/shabal256_one_million_a.bin deleted file mode 100644 index e6c070a1a..000000000 --- a/shabal/tests/data/shabal256_one_million_a.bin +++ /dev/null @@ -1,2 +0,0 @@ - -ð³!Ó5DŸ šºÔ㙘g¤ÿÿHðÕbx©e \ No newline at end of file diff --git a/shabal/tests/data/shabal384.blb b/shabal/tests/data/shabal384.blb index 266410a76fe307f804892da16a1d49e63d021db9..3dcbf4062ffacea0ba464d5db01ac460a36c1844 100644 GIT binary patch delta 373 zcmX}lzbl1N9LI6zJm)#jc^(hlmn@Vi?OcZBZ4T1axw@I|I delta 393 zcmX}mJxjv?5C&i_-$|W>LP3;(gSOc6c56G@QVIoK6uXEd8f&Cq)S@^FE$A5TAE@Bw zqJubzzd!^Boty+`(aFJ!U)%G(9Cvr0yh}QMtLyvwdGZix&=k){RDiB}{yL&I3{9|s z=me%7D?s!F%lPIdc${FHKcNY(6CCR|ZGlIGg#8yo@C{+i`On+nPXeVmtE36MqJWBg zs1(Jw;tanj8S#`F_ls)WABjtRt(L^^Dkdiuf}YoMd;Opt27Pz0+nE`-{a`0-c5>i( z4OHfVR+i~2agkrOc+0d7YVfk&5TA?d{H)98JZFGXylSMxyW%{b8F}%exW);yCSEc@ zIUbog@uj%RFJ@JowLleKvnt|KvC9vZEB+8Sc-D?@9oV2DU)V!&!2uOGbPD2Q2VXIv BZ&d&Q diff --git a/shabal/tests/data/shabal384_one_million_a.bin b/shabal/tests/data/shabal384_one_million_a.bin deleted file mode 100644 index 5d5f5492d..000000000 --- a/shabal/tests/data/shabal384_one_million_a.bin +++ /dev/null @@ -1 +0,0 @@ -ÊxÕ‹ƒô!§ô¡ìv#T¡~Õ»¤<˜¨iº{Ûèç©­xm0ÛÚ85Ì{<  pë \ No newline at end of file diff --git a/shabal/tests/data/shabal512.blb b/shabal/tests/data/shabal512.blb index d874809f72a15122e6fdebfd9181af170f57daab..2d57688f9b83a9f8a4fcf2d424336c5a957d3359 100644 GIT binary patch delta 404 zcmX}lPb&pc7zXe;XXebDIWu%aa$|8f6iK7Ru+Up{Q_4aX7V0+R&%Kno_eQz9QN93g zS>I0}HtH^X2eFWB?d>Qc?>qkNp5ODFw{uy%EhRXh+8w!HyHhmhjCH^~^+^sa#WdWm(dL2Tfgo?wjlG=*68%d88Q q#utB)HDy2m9-0#4+|U%^gUNr60+7cV8^H;0uK|cU&V(_e9>O;P&UC2& delta 394 zcmX}lze@sf7{_s*`+Z+;4UC8m8bS%dO(p0hVB-Lu2+2 zv<1=9<{Y#&HU~XtKepHV!^8Lcx_rN^!frnduksWiHeqN%hKsJ? diff --git a/shabal/tests/lib.rs b/shabal/tests/lib.rs deleted file mode 100644 index bf0891bf5..000000000 --- a/shabal/tests/lib.rs +++ /dev/null @@ -1,40 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!(shabal192_main, "shabal192", shabal::Shabal192, digest_test); -new_test!(shabal224_main, "shabal224", shabal::Shabal224, digest_test); -new_test!(shabal256_main, "shabal256", shabal::Shabal256, digest_test); -new_test!(shabal384_main, "shabal384", shabal::Shabal384, digest_test); -new_test!(shabal512_main, "shabal512", shabal::Shabal512, digest_test); - -#[test] -fn sha192_1million_a() { - let output = include_bytes!("data/shabal192_one_million_a.bin"); - one_million_a::(output); -} - -#[test] -fn sha224_1million_a() { - let output = include_bytes!("data/shabal224_one_million_a.bin"); - one_million_a::(output); -} - -#[test] -fn sha256_1million_a() { - let output = include_bytes!("data/shabal256_one_million_a.bin"); - one_million_a::(output); -} - -#[test] -fn sha384_1million_a() { - let output = include_bytes!("data/shabal384_one_million_a.bin"); - one_million_a::(output); -} - -#[test] -fn sha512_1million_a() { - let output = include_bytes!("data/shabal512_one_million_a.bin"); - one_million_a::(output); -} diff --git a/shabal/tests/mod.rs b/shabal/tests/mod.rs new file mode 100644 index 000000000..0e43643d4 --- /dev/null +++ b/shabal/tests/mod.rs @@ -0,0 +1,70 @@ +#![no_std] + +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use digest::new_test; +use hex_literal::hex; +use shabal::{Digest, Shabal192, Shabal224, Shabal256, Shabal384, Shabal512}; + +new_test!(shabal192_main, "shabal192", Shabal192, fixed_reset_test); +new_test!(shabal224_main, "shabal224", Shabal224, fixed_reset_test); +new_test!(shabal256_main, "shabal256", Shabal256, fixed_reset_test); +new_test!(shabal384_main, "shabal384", Shabal384, fixed_reset_test); +new_test!(shabal512_main, "shabal512", Shabal512, fixed_reset_test); + +#[test] +fn shabal192_rand() { + let mut h = Shabal192::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("a3e480026be158db97976a895b7a015e9e5205986ebc8a89")[..] + ); +} + +#[test] +fn shabal224_rand() { + let mut h = Shabal224::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("a09bedfed92fdffc896e6043ec175aa1f07383c65bde990a3661e3d0")[..] + ); +} + +#[test] +fn shabal256_rand() { + let mut h = Shabal256::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("53252a6467450aa1afc1ac25efb493aa65b70e5b2280a4bed7f672c0cfe6f40e")[..] + ); +} + +#[test] +#[rustfmt::skip] +fn shabal384_rand() { + let mut h = Shabal384::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + 15b8ece81e490848c997dba603523be8842c654262e5adc29138d22a01ff0c9f + 2b0a0dc9f3e7702ac3598fb1b9ff2db2 + ")[..] + ); +} + +#[test] +#[rustfmt::skip] +fn shabal512_rand() { + let mut h = Shabal512::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + 66f091bc2ba6c571a776441c08ee0711752344ba8b4c88ea17a078baa70d8c0a + 717b7da24e765867cfcf273a43a58f90e07c0130d1e97adc49f66a0502536e82 + ")[..] + ); +} diff --git a/sm3/CHANGELOG.md b/sm3/CHANGELOG.md index 5f7b7bc8c..343b19f16 100644 --- a/sm3/CHANGELOG.md +++ b/sm3/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.4.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.3.0 (2021-07-18) ### Changed - RustCrypto SM3 release ([#249]) diff --git a/sm3/Cargo.toml b/sm3/Cargo.toml index 994a4f0cd..28fe163b2 100644 --- a/sm3/Cargo.toml +++ b/sm3/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "sm3" -version = "0.3.0" +version = "0.4.0" # Also update html_root_url in lib.rs when bumping this description = "SM3 (OSCCA GM/T 0004-2012) hash function" -authors = ["Tianjia Zhang "] +authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2018" @@ -12,12 +12,10 @@ keywords = ["crypto", "sm3", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = "0.9" -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/sm3/LICENSE-MIT b/sm3/LICENSE-MIT index 78d6d79a4..c869ada57 100644 --- a/sm3/LICENSE-MIT +++ b/sm3/LICENSE-MIT @@ -1,4 +1,4 @@ -Copyright (c) 2016 Artyom Pavlov +Copyright (c) 2021 The RustCrypto Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated diff --git a/sm3/benches/mod.rs b/sm3/benches/mod.rs new file mode 100644 index 000000000..afcf8ee0f --- /dev/null +++ b/sm3/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use sm3::Sm3; +use test::Bencher; + +bench_update!( + Sm3::default(); + sm3_10 10; + sm3_100 100; + sm3_1000 1000; + sm3_10000 10000; +); diff --git a/sm3/benches/sm3.rs b/sm3/benches/sm3.rs deleted file mode 100644 index 1d9158388..000000000 --- a/sm3/benches/sm3.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(sm3::Sm3); diff --git a/sm3/examples/sm3sum.rs b/sm3/examples/sm3sum.rs deleted file mode 100644 index 94ec40810..000000000 --- a/sm3/examples/sm3sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use sm3::{Digest, Sm3}; -use std::env; -use std::fs; -use std::io::{self, Read}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/sm3/src/sm3.rs b/sm3/src/compress.rs similarity index 81% rename from sm3/src/sm3.rs rename to sm3/src/compress.rs index 42be5cf5c..731efb3c6 100644 --- a/sm3/src/sm3.rs +++ b/sm3/src/compress.rs @@ -1,67 +1,6 @@ -//! SM3 #![allow(clippy::many_single_char_names, clippy::too_many_arguments)] -use crate::consts::{SM3_IV, T32}; -use block_buffer::BlockBuffer; +use crate::{consts::T32, Block, Sm3Core}; use core::convert::TryInto; -use core::slice::from_ref; -use digest::consts::{U32, U64}; -use digest::generic_array::GenericArray; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -/// The SM3 hash algorithm with the SM3 initial hash value. -#[derive(Clone)] -pub struct Sm3 { - len: u64, - buffer: BlockBuffer, - state: [u32; 8], -} - -impl Default for Sm3 { - fn default() -> Self { - Sm3 { - len: 0, - buffer: Default::default(), - state: SM3_IV, - } - } -} - -impl BlockInput for Sm3 { - type BlockSize = U64; -} - -impl Update for Sm3 { - fn update(&mut self, input: impl AsRef<[u8]>) { - self.len += (input.as_ref().len() as u64) << 3; - let s = &mut self.state; - self.buffer - .input_blocks(input.as_ref(), |b| sm3_compress(s, b)); - } -} - -impl FixedOutputDirty for Sm3 { - type OutputSize = U32; - - fn finalize_into_dirty(&mut self, out: &mut digest::Output) { - let s = &mut self.state; - let l = self.len; - self.buffer - .len64_padding_be(l, |b| sm3_compress(s, from_ref(b))); - - let s = self.state; - for (chunk, v) in out.chunks_exact_mut(4).zip(s.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } - } -} - -impl Reset for Sm3 { - fn reset(&mut self) { - self.len = 0; - self.buffer.reset(); - self.state = SM3_IV; - } -} #[inline(always)] fn ff1(x: u32, y: u32, z: u32) -> u32 { @@ -209,7 +148,7 @@ macro_rules! R2 { }}; } -fn sm3_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { +fn compress_u32(state: &mut [u32; 8], block: &[u32; 16]) { let mut x: [u32; 16] = *block; let mut a = state[0]; @@ -296,15 +235,12 @@ fn sm3_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) { state[7] ^= h; } -pub fn sm3_compress(state: &mut [u32; 8], blocks: &[GenericArray]) { - #[allow(unsafe_code)] - let blocks = unsafe { &*(blocks as *const _ as *const [[u8; 64]]) }; - - let mut w = [0u32; 16]; +pub(crate) fn compress(state: &mut [u32; 8], blocks: &[Block]) { for block in blocks { + let mut w = [0u32; 16]; for (o, chunk) in w.iter_mut().zip(block.chunks_exact(4)) { *o = u32::from_be_bytes(chunk.try_into().unwrap()); } - sm3_digest_block_u32(state, &w); + compress_u32(state, &w); } } diff --git a/sm3/src/consts.rs b/sm3/src/consts.rs index 1e997c221..792bdfbea 100644 --- a/sm3/src/consts.rs +++ b/sm3/src/consts.rs @@ -1,6 +1,6 @@ #![allow(clippy::unreadable_literal)] -pub const T32: [u32; 64] = [ +pub(crate) const T32: [u32; 64] = [ 0x79cc4519, 0xf3988a32, 0xe7311465, 0xce6228cb, 0x9cc45197, 0x3988a32f, 0x7311465e, 0xe6228cbc, 0xcc451979, 0x988a32f3, 0x311465e7, 0x6228cbce, 0xc451979c, 0x88a32f39, 0x11465e73, 0x228cbce6, 0x9d8a7a87, 0x3b14f50f, 0x7629ea1e, 0xec53d43c, 0xd8a7a879, 0xb14f50f3, 0x629ea1e7, 0xc53d43ce, @@ -11,6 +11,6 @@ pub const T32: [u32; 64] = [ 0x8a7a879d, 0x14f50f3b, 0x29ea1e76, 0x53d43cec, 0xa7a879d8, 0x4f50f3b1, 0x9ea1e762, 0x3d43cec5, ]; -pub static SM3_IV: [u32; 8] = [ +pub(crate) static H0: [u32; 8] = [ 0x7380166f, 0x4914b2b9, 0x172442d7, 0xda8a0600, 0xa96f30bc, 0x163138aa, 0xe38dee4d, 0xb0fb0e4e, ]; diff --git a/sm3/src/lib.rs b/sm3/src/lib.rs index ca9001d60..95062fa46 100644 --- a/sm3/src/lib.rs +++ b/sm3/src/lib.rs @@ -30,25 +30,102 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/sm3/0.4.0" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; +pub use digest::{self, Digest}; + +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U32, U64}, + HashMarker, Output, +}; +mod compress; mod consts; -mod sm3; -pub use digest::{self, Digest}; +use compress::compress; + +/// Core SM3 hasher state. +#[derive(Clone)] +pub struct Sm3Core { + block_len: u64, + h: [u32; 8], +} + +impl HashMarker for Sm3Core {} + +impl BlockSizeUser for Sm3Core { + type BlockSize = U64; +} + +impl BufferKindUser for Sm3Core { + type BufferKind = Eager; +} + +impl OutputSizeUser for Sm3Core { + type OutputSize = U32; +} + +impl UpdateCore for Sm3Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u64; + compress(&mut self.h, blocks); + } +} + +impl FixedOutputCore for Sm3Core { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64; + let bit_len = 8 * (buffer.get_pos() as u64 + bs * self.block_len); + + let mut h = self.h; + buffer.len64_padding_be(bit_len, |b| compress(&mut h, from_ref(b))); + for (chunk, v) in out.chunks_exact_mut(4).zip(h.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); + } + } +} + +impl Default for Sm3Core { + #[inline] + fn default() -> Self { + Self { + h: consts::H0, + block_len: 0, + } + } +} -#[cfg(feature = "std")] -use digest::Update; +impl Reset for Sm3Core { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } +} -pub use crate::sm3::Sm3; +impl AlgorithmName for Sm3Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sm3") + } +} -opaque_debug::implement!(Sm3); +impl fmt::Debug for Sm3Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Sm3Core { ... }") + } +} -digest::impl_write!(Sm3); +/// Sm3 hasher state. +pub type Sm3 = CoreWrapper; diff --git a/sm3/tests/data/sm3.blb b/sm3/tests/data/sm3.blb index 21d6e4b595eb1a3e44f5db8cacb59a27ce290881..345e7cff28af718471f159eb42cc41689416ca9c 100644 GIT binary patch delta 101 zcmey%xP^(Cfx%%SrvfWmVp6ihL_GyN6CficH7z|OGb=kMH!r`Su&B7Cw5+_MvdUox z|H~@hMP7f@OH;mOna=y-;HGt{_e^f`+D*PO3d=;NHZV-|cVKjwI6;9iY~n_3AnUFI E0Al|qF#rGn delta 78 zcmV-U0I~nH0{sClVr*|>VtFwDAR4kAgH_L=e~w`pNHORdk0QRv$0+{$bbin^>rjHK kD+6I-V<3?zAOS#;jyRE?2mv6G#~=YKk?1P{Ad?gUAmbYy%m4rY diff --git a/sm3/tests/data/sm3_one_million_a.bin b/sm3/tests/data/sm3_one_million_a.bin deleted file mode 100644 index bbc7bd22d..000000000 --- a/sm3/tests/data/sm3_one_million_a.bin +++ /dev/null @@ -1,2 +0,0 @@ -Ȫø”)U@)â1”*Ì -Öò¥¬ØúÝ%„z:s+;à \ No newline at end of file diff --git a/sm3/tests/lib.rs b/sm3/tests/lib.rs deleted file mode 100644 index 100ca6754..000000000 --- a/sm3/tests/lib.rs +++ /dev/null @@ -1,28 +0,0 @@ -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!(sm3_main, "sm3", sm3::Sm3, digest_test); - -#[test] -fn sm3_1million_a() { - let output = include_bytes!("data/sm3_one_million_a.bin"); - one_million_a::(output); -} - -/// Test vectors from libgcrypt -#[test] -#[rustfmt::skip] -fn sm3_tests() { - use digest::Digest; - use hex_literal::hex; - - let hash = &mut sm3::Sm3::new(); - - hash.update(b"abc"); - assert_eq!(hash.finalize_reset().as_slice(), - hex!("66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0")); - - hash.update(b"abcdefghijklmnopqrstuvwxyz"); - assert_eq!(hash.finalize_reset().as_slice(), - hex!("b80fe97a4da24afc277564f66a359ef440462ad28dcc6d63adb24d5c20a61595")); -} diff --git a/sm3/tests/mod.rs b/sm3/tests/mod.rs new file mode 100644 index 000000000..fa746c443 --- /dev/null +++ b/sm3/tests/mod.rs @@ -0,0 +1,16 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use digest::new_test; +use hex_literal::hex; +use sm3::{Digest, Sm3}; + +new_test!(sm3_main, "sm3", Sm3, fixed_reset_test); + +#[test] +fn sm3_rand() { + let mut h = Sm3::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("ad154967b08d636a148dd4c688a6df7add1ed1946af18eb358a9b320de2aca86")[..] + ); +} diff --git a/streebog/CHANGELOG.md b/streebog/CHANGELOG.md index da35bcac0..b11a91b8c 100644 --- a/streebog/CHANGELOG.md +++ b/streebog/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.2 (2020-08-13) ### Changed - Documentation update ([#185]) diff --git a/streebog/Cargo.toml b/streebog/Cargo.toml index 7d8436b82..ade2b10d9 100644 --- a/streebog/Cargo.toml +++ b/streebog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "streebog" -version = "0.9.2" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "Streebog (GOST R 34.11-2012) hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,12 +12,10 @@ keywords = ["crypto", "streebog", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/streebog/benches/mod.rs b/streebog/benches/mod.rs new file mode 100644 index 000000000..1d61e4774 --- /dev/null +++ b/streebog/benches/mod.rs @@ -0,0 +1,22 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use streebog::{Streebog256, Streebog512}; +use test::Bencher; + +bench_update!( + Streebog256::default(); + streebog256_10 10; + streebog256_100 100; + streebog256_1000 1000; + streebog256_10000 10000; +); + +bench_update!( + Streebog512::default(); + streebog512_10 10; + streebog512_100 100; + streebog512_1000 1000; + streebog512_10000 10000; +); diff --git a/streebog/benches/streebog256.rs b/streebog/benches/streebog256.rs deleted file mode 100644 index b4b0df0a0..000000000 --- a/streebog/benches/streebog256.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(streebog::Streebog256); diff --git a/streebog/benches/streebog512.rs b/streebog/benches/streebog512.rs deleted file mode 100644 index c2216675d..000000000 --- a/streebog/benches/streebog512.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(streebog::Streebog512); diff --git a/streebog/examples/streebog256sum.rs b/streebog/examples/streebog256sum.rs deleted file mode 100644 index 4973d262a..000000000 --- a/streebog/examples/streebog256sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::env; -use std::fs; -use std::io::{self, Read}; -use streebog::{Digest, Streebog256}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/streebog/examples/streebog512sum.rs b/streebog/examples/streebog512sum.rs deleted file mode 100644 index e2130ff63..000000000 --- a/streebog/examples/streebog512sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::env; -use std::fs; -use std::io::{self, Read}; -use streebog::{Digest, Streebog512}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh = D::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/streebog/src/core_api.rs b/streebog/src/core_api.rs new file mode 100644 index 000000000..f16da4a6c --- /dev/null +++ b/streebog/src/core_api.rs @@ -0,0 +1,190 @@ +use core::{convert::TryInto, fmt}; +use digest::{ + block_buffer::Eager, + consts::U64, + core_api::{ + AlgorithmName, Block as GenBlock, BlockSizeUser, Buffer, BufferKindUser, OutputSizeUser, + TruncSide, UpdateCore, VariableOutputCore, + }, + HashMarker, InvalidOutputSize, Output, +}; + +use crate::consts::{BLOCK_SIZE, C}; +use crate::table::SHUFFLED_LIN_TABLE; + +type Block = [u8; 64]; + +/// Core block-level Streebog hasher with variable output size. +/// +/// Supports initialization only for 32 and 64 byte output sizes, +/// i.e. 256 and 512 bits respectively. +#[derive(Clone)] +pub struct StreebogVarCore { + h: Block, + n: [u64; 8], + sigma: [u64; 8], +} + +#[inline(always)] +fn lps(h: &mut Block, n: &Block) { + for i in 0..64 { + h[i] ^= n[i]; + } + + let mut buf = [0u64; 8]; + + for i in 0..4 { + for j in 0..8 { + let b = h[2 * i + 8 * j] as usize; + buf[2 * i] ^= SHUFFLED_LIN_TABLE[j][b]; + let b = h[2 * i + 1 + 8 * j] as usize; + buf[2 * i + 1] ^= SHUFFLED_LIN_TABLE[j][b]; + } + } + + *h = to_bytes(&buf); +} + +impl StreebogVarCore { + fn g(&mut self, n: &Block, m: &Block) { + let mut key = [0u8; 64]; + let mut block = [0u8; 64]; + + key.copy_from_slice(&self.h); + block.copy_from_slice(m); + + lps(&mut key, n); + + #[allow(clippy::needless_range_loop)] + for i in 0..12 { + lps(&mut block, &key); + lps(&mut key, &C[i]); + } + + for i in 0..64 { + self.h[i] ^= block[i] ^ key[i] ^ m[i]; + } + } + + fn update_sigma(&mut self, m: &Block) { + let t = from_bytes(m); + let mut carry = 0; + adc(&mut self.sigma[0], t[0], &mut carry); + adc(&mut self.sigma[1], t[1], &mut carry); + adc(&mut self.sigma[2], t[2], &mut carry); + adc(&mut self.sigma[3], t[3], &mut carry); + adc(&mut self.sigma[4], t[4], &mut carry); + adc(&mut self.sigma[5], t[5], &mut carry); + adc(&mut self.sigma[6], t[6], &mut carry); + adc(&mut self.sigma[7], t[7], &mut carry); + } + + fn update_n(&mut self, len: u64) { + let mut carry = 0; + // note: `len` can not be bigger than block size, + // so `8*len` will never overflow + adc(&mut self.n[0], 8 * len, &mut carry); + adc(&mut self.n[1], 0, &mut carry); + adc(&mut self.n[2], 0, &mut carry); + adc(&mut self.n[3], 0, &mut carry); + adc(&mut self.n[4], 0, &mut carry); + adc(&mut self.n[5], 0, &mut carry); + adc(&mut self.n[6], 0, &mut carry); + adc(&mut self.n[7], 0, &mut carry); + } + + fn compress(&mut self, block: &GenBlock, msg_len: u64) { + let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; + self.g(&to_bytes(&self.n), block); + self.update_n(msg_len); + self.update_sigma(block); + } +} + +impl HashMarker for StreebogVarCore {} + +impl BlockSizeUser for StreebogVarCore { + type BlockSize = U64; +} + +impl BufferKindUser for StreebogVarCore { + type BufferKind = Eager; +} + +impl UpdateCore for StreebogVarCore { + #[inline] + fn update_blocks(&mut self, blocks: &[GenBlock]) { + for block in blocks { + self.compress(block, BLOCK_SIZE as u64); + } + } +} + +impl OutputSizeUser for StreebogVarCore { + type OutputSize = U64; +} + +impl VariableOutputCore for StreebogVarCore { + const TRUNC_SIDE: TruncSide = TruncSide::Right; + + #[inline] + fn new(output_size: usize) -> Result { + let h = match output_size { + 32 => [1; 64], + 64 => [0; 64], + _ => return Err(InvalidOutputSize), + }; + let (n, sigma) = Default::default(); + Ok(Self { h, n, sigma }) + } + + #[inline] + fn finalize_variable_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + let block = buffer.pad_with_zeros(); + block[pos] = 1; + self.compress(block, pos as u64); + self.g(&[0u8; 64], &to_bytes(&self.n)); + self.g(&[0u8; 64], &to_bytes(&self.sigma)); + out.copy_from_slice(&self.h); + } +} + +impl AlgorithmName for StreebogVarCore { + #[inline] + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Streebog") + } +} + +impl fmt::Debug for StreebogVarCore { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("StreebogVarCore { ... }") + } +} + +#[inline(always)] +fn adc(a: &mut u64, b: u64, carry: &mut u64) { + let ret = (*a as u128) + (b as u128) + (*carry as u128); + *a = ret as u64; + *carry = (ret >> 64) as u64; +} + +#[inline(always)] +fn to_bytes(b: &[u64; 8]) -> Block { + let mut t = [0; 64]; + for (chunk, v) in t.chunks_exact_mut(8).zip(b.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } + t +} + +#[inline(always)] +fn from_bytes(b: &Block) -> [u64; 8] { + let mut t = [0u64; 8]; + for (v, chunk) in t.iter_mut().zip(b.chunks_exact(8)) { + *v = u64::from_le_bytes(chunk.try_into().unwrap()); + } + t +} diff --git a/streebog/src/lib.rs b/streebog/src/lib.rs index 53fc7eb94..9b2fca404 100644 --- a/streebog/src/lib.rs +++ b/streebog/src/lib.rs @@ -2,34 +2,29 @@ //! in GOST R 34.11-2012. //! //! # Usage -//! Hasher functionality is expressed via traits defined in the [`digest`] -//! crate. -//! //! ```rust //! use streebog::{Digest, Streebog256, Streebog512}; //! use hex_literal::hex; //! -//! // create a hasher object, to use it do not forget to import `Digest` trait +//! // create Streebog256 hasher state //! let mut hasher = Streebog256::new(); //! // write input message -//! hasher.update(b"my"); -//! hasher.update(b" "); -//! hasher.update(b"message"); +//! hasher.update("The quick brown fox jumps over the lazy dog"); //! // read hash digest (it will consume hasher) //! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" -//! a47752ba9491bd1d52dd5dcea6d8c08e9b1ee70c42a2fc3e0d1a2852468c1329 +//! 3e7dea7f2384b6c5a3d0e24aaa29c05e89ddd762145030ec22c71a6db8b2c1f4 //! ")[..]); //! //! // same for Streebog512 //! let mut hasher = Streebog512::new(); -//! hasher.update(b"my message"); +//! hasher.update("The quick brown fox jumps over the lazy dog."); //! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" -//! c40cc26c37a683c74459820d884b766d9c96697a8d168c0272db8f4ecca2935b -//! 4164ede98fc9c8d2bafb1249b238676c81f5b97f98c393b99fdf2dc961391484 +//! fe0c42f267d921f940faa72bd9fcf84f9f1bd7e9d055e9816e4c2ace1ec83be8 +//! 2d2957cd59b86e123d8f5adee80b3ca08a017599a9fc1a14d940cf87c77df070 //! ")[..]); //! ``` //! @@ -40,33 +35,28 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/streebog/0.10.0" )] -#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #[cfg(feature = "std")] extern crate std; +use digest::{ + consts::{U32, U64}, + core_api::{CoreWrapper, CtVariableCoreWrapper}, +}; + mod consts; -mod streebog; +mod core_api; mod table; -use digest::consts::{U32, U64}; +pub use core_api::StreebogVarCore; pub use digest::{self, Digest}; -#[cfg(feature = "std")] -use digest::Update; - -/// Streebog-256 cryptographic hash function -pub type Streebog256 = streebog::Streebog; - -/// Streebog-512 cryptographic hash function -pub type Streebog512 = streebog::Streebog; - -opaque_debug::implement!(Streebog512); -opaque_debug::implement!(Streebog256); - -digest::impl_write!(Streebog512); -digest::impl_write!(Streebog256); +/// Streebog256 hasher. +pub type Streebog256 = CoreWrapper>; +/// Streebog512 hasher. +pub type Streebog512 = CoreWrapper>; diff --git a/streebog/src/streebog.rs b/streebog/src/streebog.rs deleted file mode 100644 index 9856d6621..000000000 --- a/streebog/src/streebog.rs +++ /dev/null @@ -1,185 +0,0 @@ -use block_buffer::{block_padding::ZeroPadding, BlockBuffer}; -use core::marker::PhantomData; -use digest::consts::U64; -use digest::generic_array::{ArrayLength, GenericArray}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; - -use crate::consts::{BLOCK_SIZE, C}; -use crate::table::SHUFFLED_LIN_TABLE; - -type Block = [u8; 64]; - -#[derive(Copy, Clone)] -struct StreebogState { - h: Block, - n: Block, - sigma: Block, -} - -#[inline(always)] -fn lps(h: &mut Block, n: &Block) { - for i in 0..64 { - h[i] ^= n[i]; - } - - let mut buf = [0u64; 8]; - - for i in 0..4 { - for j in 0..8 { - let b = h[2 * i + 8 * j] as usize; - buf[2 * i] ^= SHUFFLED_LIN_TABLE[j][b]; - let b = h[2 * i + 1 + 8 * j] as usize; - buf[2 * i + 1] ^= SHUFFLED_LIN_TABLE[j][b]; - } - } - - for (chunk, v) in h.chunks_exact_mut(8).zip(buf.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } -} - -impl StreebogState { - fn g(&mut self, n: &Block, m: &Block) { - let mut key = [0u8; 64]; - let mut block = [0u8; 64]; - - key.copy_from_slice(&self.h); - block.copy_from_slice(m); - - lps(&mut key, n); - - #[allow(clippy::needless_range_loop)] - for i in 0..12 { - lps(&mut block, &key); - lps(&mut key, &C[i]); - } - - for i in 0..64 { - self.h[i] ^= block[i] ^ key[i] ^ m[i]; - } - } - - fn update_sigma(&mut self, m: &Block) { - let mut carry = 0; - for (a, b) in self.sigma.iter_mut().zip(m.iter()) { - carry = (*a as u16) + (*b as u16) + (carry >> 8); - *a = (carry & 0xFF) as u8; - } - } - - fn update_n(&mut self, mut l: u8) { - let res = u16::from(self.n[0]) + (u16::from(l) << 3); - self.n[0] = (res & 0xff) as u8; - l = (res >> 8) as u8; - - for a in self.n.iter_mut().skip(1) { - let (res, over) = (*a).overflowing_add(l); - *a = res; - if over { - l = 1; - } else { - break; - } - } - } - - fn process_block(&mut self, block: &GenericArray, msg_len: u8) { - #[allow(unsafe_code)] - let block = unsafe { &*(block.as_ptr() as *const [u8; 64]) }; - let n = self.n; - self.g(&n, block); - self.update_n(msg_len); - self.update_sigma(block); - } -} - -#[derive(Clone)] -pub struct Streebog + Copy> { - buffer: BlockBuffer, - state: StreebogState, - // Phantom data to tie digest size to the struct - digest_size: PhantomData, -} - -impl Default for Streebog -where - N: ArrayLength + Copy, -{ - fn default() -> Self { - let h = match N::to_usize() { - 64 => [0u8; 64], - 32 => [1u8; 64], - _ => unreachable!(), - }; - Streebog { - buffer: Default::default(), - state: StreebogState { - h, - n: [0u8; 64], - sigma: [0u8; 64], - }, - digest_size: Default::default(), - } - } -} - -impl BlockInput for Streebog -where - N: ArrayLength + Copy, -{ - type BlockSize = U64; -} - -impl Update for Streebog -where - N: ArrayLength + Copy, -{ - fn update(&mut self, input: impl AsRef<[u8]>) { - let s = &mut self.state; - self.buffer - .input_block(input.as_ref(), |d| s.process_block(d, BLOCK_SIZE as u8)); - } -} - -impl FixedOutputDirty for Streebog -where - N: ArrayLength + Copy, -{ - type OutputSize = N; - - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - let mut self_state = self.state; - let pos = self.buffer.position(); - - let block = self - .buffer - .pad_with::() - .expect("we never use input_lazy"); - block[pos] = 1; - self_state.process_block(block, pos as u8); - - let n = self_state.n; - self_state.g(&[0u8; 64], &n); - let sigma = self_state.sigma; - self_state.g(&[0u8; 64], &sigma); - - let n = BLOCK_SIZE - Self::OutputSize::to_usize(); - out.copy_from_slice(&self_state.h[n..]) - } -} - -impl Reset for Streebog -where - N: ArrayLength + Copy, -{ - fn reset(&mut self) { - self.buffer.reset(); - self.state.h = match N::to_usize() { - 64 => [0u8; 64], - 32 => [1u8; 64], - _ => unreachable!(), - }; - self.state.n = [0; 64]; - self.state.sigma = [0; 64]; - } -} diff --git a/streebog/tests/data/streebog256.blb b/streebog/tests/data/streebog256.blb index af1df789ef59daac497304333fefd5c1b6483778..149e1ec17ffea81e5b7a0cff74bbb62b8e6dafe7 100644 GIT binary patch delta 132 zcmdnPwwsNKp>Cpq_(XXPMu&+W3QP?G6Ei)O9p+y8=QqJ&UhInc;OV&~tQ!uTI;Qa_ zZB~hF0Gmx{U4H#qZW`q1ITZJ@>c=* cRZI#@jSQ0)GFeUDz{EEBHj@KTP=;9n0L$wt)Bpeg delta 158 zcmdnZwug-)DJMTEsnXDXqJrW?U6F~pTuKUaMdjY#h~)0PwQN_;cCVl6u@?fFvNw7z z3Hsae^l5b{gU7@a4@QNFYZZaSc?Cv?i60%56zCpq_(XXPrUr(I9u7|9VQDgIsnN; zM&ro^jJ!bBG!TEHqTJ*vCM6(OiphcT0ED{;$dzMuU~HJ2$ZS7(J~K%7BW4Ex>DnQs diff --git a/streebog/tests/lib.rs b/streebog/tests/mod.rs similarity index 71% rename from streebog/tests/lib.rs rename to streebog/tests/mod.rs index 017fb32e5..aeddaefd1 100644 --- a/streebog/tests/lib.rs +++ b/streebog/tests/mod.rs @@ -1,20 +1,28 @@ -use digest::dev::digest_test; +use digest::dev::{feed_rand_16mib, fixed_reset_test}; use digest::new_test; -use streebog::{Streebog256, Streebog512}; +use hex_literal::hex; +use streebog::{Digest, Streebog256, Streebog512}; // Test vectors from: // https://github.com/gost-engine/engine/tree/master/etalon -new_test!(streebog256_main, "streebog256", Streebog256, digest_test); -new_test!(streebog512_main, "streebog512", Streebog512, digest_test); +new_test!( + streebog256_main, + "streebog256", + Streebog256, + fixed_reset_test, +); +new_test!( + streebog512_main, + "streebog512", + Streebog512, + fixed_reset_test, +); /// Test vectors from: /// https://github.com/gost-engine/engine/blob/master/test/01-digest.t #[test] #[rustfmt::skip] fn gost_engine_tests() { - use digest::Digest; - use hex_literal::hex; - let h256 = &mut streebog::Streebog256::new(); let h512 = &mut streebog::Streebog512::new(); @@ -40,7 +48,7 @@ fn gost_engine_tests() { ); for _ in 0..128 { - update(h256, h512, b"\x00\x01\x02\x15\x84\x67\x45\x31"); + update(h256, h512, &hex!("0001021584674531")); } check( h256, h512, @@ -81,3 +89,27 @@ fn gost_engine_tests() { "), ); } + +#[test] +fn streebog256_rand() { + let mut h = Streebog256::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("eb5783a2d3f1aa52136701c07c90272a45f017733d898cdfc02302ad2ac8ebed")[..], + ); +} + +#[test] +#[rustfmt::skip] +fn streebog512_rand() { + let mut h = Streebog512::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + d78479790925e257b1d65bec84cbe9bbd9bf0abcefb9f99aa065cc533187224f + 2bead756c96297dcd17728a838e3117a9123559be655175bf4cdac0ee11fba75 + ")[..], + ); +} diff --git a/tiger/CHANGELOG.md b/tiger/CHANGELOG.md index ed74940b2..5f690082b 100644 --- a/tiger/CHANGELOG.md +++ b/tiger/CHANGELOG.md @@ -5,5 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.2.0 (2021-12-07) +### Added +- `Tiger2` variant ([#217]) + +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.1.0 (2021-02-05) - Initial release diff --git a/tiger/Cargo.toml b/tiger/Cargo.toml index 144833559..3e3c7171d 100644 --- a/tiger/Cargo.toml +++ b/tiger/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "tiger" -version = "0.1.0" +version = "0.2.0" # Also update html_root_url in lib.rs when bumping this description = "Tiger hash function" -authors = ["Ulrik Mikaelsson ", "RustCrypto Developers"] +authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2018" @@ -12,12 +12,10 @@ keywords = ["crypto", "hash", "tiger", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -byteorder = { version = "1", default-features = false } +digest = "0.10" [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/tiger/LICENSE-MIT b/tiger/LICENSE-MIT index d967eab37..d62c85c68 100644 --- a/tiger/LICENSE-MIT +++ b/tiger/LICENSE-MIT @@ -1,3 +1,4 @@ +Copyright (c) 2021 RustCrypto Developers Copyright (c) 2020 Ulrik Mikaelsson Permission is hereby granted, free of charge, to any diff --git a/tiger/benches/lib.rs b/tiger/benches/lib.rs deleted file mode 100644 index ee01c2a4b..000000000 --- a/tiger/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(tiger::Tiger); diff --git a/tiger/benches/mod.rs b/tiger/benches/mod.rs new file mode 100644 index 000000000..c9c7dbc73 --- /dev/null +++ b/tiger/benches/mod.rs @@ -0,0 +1,22 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use test::Bencher; +use tiger::{Tiger, Tiger2}; + +bench_update!( + Tiger::default(); + tiger_10 10; + tiger_100 100; + tiger_1000 1000; + tiger_10000 10000; +); + +bench_update!( + Tiger2::default(); + tiger2_10 10; + tiger2_100 100; + tiger2_1000 1000; + tiger2_10000 10000; +); diff --git a/tiger/src/compress.rs b/tiger/src/compress.rs new file mode 100644 index 000000000..20f7c56fc --- /dev/null +++ b/tiger/src/compress.rs @@ -0,0 +1,72 @@ +use super::tables::{T1, T2, T3, T4}; +use super::State; +use core::convert::TryInto; +use digest::generic_array::{typenum::U64, GenericArray}; + +#[inline(always)] +fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { + *c ^= *x; + let c2: [u8; 8] = c.to_le_bytes(); + let a2 = T1[usize::from(c2[0])] + ^ T2[usize::from(c2[2])] + ^ T3[usize::from(c2[4])] + ^ T4[usize::from(c2[6])]; + let b2 = T4[usize::from(c2[1])] + ^ T3[usize::from(c2[3])] + ^ T2[usize::from(c2[5])] + ^ T1[usize::from(c2[7])]; + *a = a.wrapping_sub(a2); + *b = b.wrapping_add(b2).wrapping_mul(u64::from(mul)); +} + +#[inline(always)] +fn pass(a: &mut u64, b: &mut u64, c: &mut u64, x: &[u64; 8], mul: u8) { + round(a, b, c, &x[0], mul); + round(b, c, a, &x[1], mul); + round(c, a, b, &x[2], mul); + round(a, b, c, &x[3], mul); + round(b, c, a, &x[4], mul); + round(c, a, b, &x[5], mul); + round(a, b, c, &x[6], mul); + round(b, c, a, &x[7], mul); +} + +#[inline(always)] +fn key_schedule(x: &mut [u64; 8]) { + x[0] = x[0].wrapping_sub(x[7] ^ 0xA5A5_A5A5_A5A5_A5A5); + x[1] ^= x[0]; + x[2] = x[2].wrapping_add(x[1]); + x[3] = x[3].wrapping_sub(x[2] ^ ((!x[1]) << 19)); + x[4] ^= x[3]; + x[5] = x[5].wrapping_add(x[4]); + x[6] = x[6].wrapping_sub(x[5] ^ ((!x[4]) >> 23)); + x[7] ^= x[6]; + x[0] = x[0].wrapping_add(x[7]); + x[1] = x[1].wrapping_sub(x[0] ^ ((!x[7]) << 19)); + x[2] ^= x[1]; + x[3] = x[3].wrapping_add(x[2]); + x[4] = x[4].wrapping_sub(x[3] ^ ((!x[2]) >> 23)); + x[5] ^= x[4]; + x[6] = x[6].wrapping_add(x[5]); + x[7] = x[7].wrapping_sub(x[6] ^ 0x0123_4567_89AB_CDEF); +} + +pub(crate) fn compress(state: &mut State, blocks: &[GenericArray]) { + let mut block: [u64; 8] = Default::default(); + for raw_block in blocks { + for (o, chunk) in block.iter_mut().zip(raw_block.chunks_exact(8)) { + *o = u64::from_le_bytes(chunk.try_into().unwrap()); + } + let [mut a, mut b, mut c] = *state; + + pass(&mut a, &mut b, &mut c, &block, 5); + key_schedule(&mut block); + pass(&mut c, &mut a, &mut b, &block, 7); + key_schedule(&mut block); + pass(&mut b, &mut c, &mut a, &block, 9); + + state[0] ^= a; + state[1] = b.wrapping_sub(state[1]); + state[2] = c.wrapping_add(state[2]); + } +} diff --git a/tiger/src/lib.rs b/tiger/src/lib.rs index 9996735a2..8ef93ca50 100644 --- a/tiger/src/lib.rs +++ b/tiger/src/lib.rs @@ -1,1264 +1,211 @@ -//! The [Tiger][1] hash function, implemented through [Digest][2] +//! An implementation of the [Tiger][1] cryptographic hash algorithms. //! -//! [1]: http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html -//! [2]: https://crates.io/crates/digest +//! Tiger2 is a variant of the original Tiger with a small padding tweak. +//! +//! # Usage +//! +//! ```rust +//! use hex_literal::hex; +//! use tiger::{Tiger, Digest}; +//! +//! // create a Tiger object +//! let mut hasher = Tiger::new(); +//! +//! // process input message +//! hasher.update(b"hello world"); +//! +//! // acquire hash digest in the form of GenericArray, +//! // which in this case is equivalent to [u8; 24] +//! let result = hasher.finalize(); +//! assert_eq!(result[..], hex!("4c8fbddae0b6f25832af45e7c62811bb64ec3e43691e9cc3")); +//! ``` +//! +//! Also see [RustCrypto/hashes][2] readme. +//! +//! [1]: https://en.wikipedia.org/wiki/Tiger_(hash_function) +//! [2]: https://github.com/RustCrypto/hashes #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/tiger/0.2.0" )] #![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -pub use digest; - -use block_buffer::{ - generic_array::typenum::consts::U64 as BB_U64, generic_array::GenericArray as BB_GenericArray, - BlockBuffer, +pub use digest::{self, Digest}; + +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U24, U64}, + HashMarker, Output, }; -use byteorder::{ByteOrder, LE}; -use digest::generic_array::typenum::{U24, U64}; -use digest::generic_array::GenericArray; -type BlockBuffer512 = BlockBuffer; +mod compress; +mod tables; +use compress::compress; -const PADDING_BLOCK: [u8; 64] = [ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -]; - -const H0: [u64; 3] = [ +type State = [u64; 3]; +const S0: State = [ 0x0123_4567_89AB_CDEF, 0xFEDC_BA98_7654_3210, 0xF096_A5B4_C3B2_E187, ]; -/// The Tiger hasher +/// Core Tiger hasher state. #[derive(Clone)] -pub struct Tiger { - length_bytes: u64, - buffer: BlockBuffer512, - state: [u64; 3], +pub struct TigerCore { + block_len: u64, + state: State, } -impl Default for Tiger { - fn default() -> Self { - Tiger { - length_bytes: 0, - buffer: Default::default(), - state: H0, - } - } +impl HashMarker for TigerCore {} + +impl BlockSizeUser for TigerCore { + type BlockSize = U64; +} + +impl BufferKindUser for TigerCore { + type BufferKind = Eager; } -impl Tiger { +impl OutputSizeUser for TigerCore { + type OutputSize = U24; +} + +impl UpdateCore for TigerCore { #[inline] - fn fill_up_to(from: usize, to: usize, modulo: usize) -> usize { - let _from = from + 1; - let _to = to + modulo; - 1 + ((_to - _from) % modulo) + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u64; + compress(&mut self.state, blocks); } +} +impl FixedOutputCore for TigerCore { #[inline] - fn finalize(&mut self) -> [u64; 3] { - { - let self_state = &mut self.state; - let pad_size = Self::fill_up_to(self.buffer.position(), 64 - 8, 64); - self.buffer.input_block(&PADDING_BLOCK[..pad_size], |d| { - Self::compress(self_state, d) - }); - - let mut length: [u8; 8] = [0, 0, 0, 0, 0, 0, 0, 0]; - LE::write_u64(&mut length, (self.length_bytes << 3) as u64); - self.buffer - .input_block(&length, |d| Self::compress(self_state, d)); - - assert_eq!(self.buffer.position(), 0); + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64 as u64; + let pos = buffer.get_pos() as u64; + let bit_len = 8 * (pos + bs * self.block_len); + + buffer.digest_pad(1, &bit_len.to_le_bytes(), |b| { + compress(&mut self.state, from_ref(b)) + }); + for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); } - self.state } +} - fn consume(&mut self, input: &[u8]) { - // Unlike Sha1 and Sha2, the length value in Tiger is defined as - // the length of the message mod 2^64 - ie: integer overflow is OK. - self.length_bytes += input.len() as u64; - let self_state = &mut self.state; - self.buffer - .input_block(input, |d| Self::compress(self_state, d)); +impl Default for TigerCore { + fn default() -> Self { + Self { + block_len: 0, + state: S0, + } } +} - #[inline] - fn compress(state: &mut [u64; 3], input: &BB_GenericArray) { - let mut inputs: [u64; 8] = Default::default(); - LE::read_u64_into(input, &mut inputs); - let mut a = state[0]; - let mut b = state[1]; - let mut c = state[2]; - - Self::pass(&mut a, &mut b, &mut c, &inputs, 5); - Self::key_schedule(&mut inputs); - Self::pass(&mut c, &mut a, &mut b, &inputs, 7); - Self::key_schedule(&mut inputs); - Self::pass(&mut b, &mut c, &mut a, &inputs, 9); - - state[0] ^= a; - state[1] = b.wrapping_sub(state[1]); - state[2] = c.wrapping_add(state[2]); +impl Reset for TigerCore { + fn reset(&mut self) { + *self = Default::default(); } +} - #[inline] - fn pass(a: &mut u64, b: &mut u64, c: &mut u64, x: &[u64; 8], mul: u8) { - Self::round(a, b, c, &x[0], mul); - Self::round(b, c, a, &x[1], mul); - Self::round(c, a, b, &x[2], mul); - Self::round(a, b, c, &x[3], mul); - Self::round(b, c, a, &x[4], mul); - Self::round(c, a, b, &x[5], mul); - Self::round(a, b, c, &x[6], mul); - Self::round(b, c, a, &x[7], mul); +impl AlgorithmName for TigerCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Tiger") } +} - #[inline] - #[allow(clippy::trivially_copy_pass_by_ref)] - fn round(a: &mut u64, b: &mut u64, c: &mut u64, x: &u64, mul: u8) { - *c ^= *x; - let mut c_: [u8; 8] = Default::default(); - LE::write_u64(&mut c_, *c); - *a = a.wrapping_sub( - T1[c_[0] as usize] ^ T2[c_[2] as usize] ^ T3[c_[4] as usize] ^ T4[c_[6] as usize], - ); - *b = b.wrapping_add( - T4[c_[1] as usize] ^ T3[c_[3] as usize] ^ T2[c_[5] as usize] ^ T1[c_[7] as usize], - ); - *b = b.wrapping_mul(u64::from(mul)); +impl fmt::Debug for TigerCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("TigerCore { ... }") } +} - #[inline] - fn key_schedule(x: &mut [u64; 8]) { - x[0] = x[0].wrapping_sub(x[7] ^ 0xA5A5_A5A5_A5A5_A5A5); - x[1] ^= x[0]; - x[2] = x[2].wrapping_add(x[1]); - x[3] = x[3].wrapping_sub(x[2] ^ ((!x[1]) << 19)); - x[4] ^= x[3]; - x[5] = x[5].wrapping_add(x[4]); - x[6] = x[6].wrapping_sub(x[5] ^ ((!x[4]) >> 23)); - x[7] ^= x[6]; - x[0] = x[0].wrapping_add(x[7]); - x[1] = x[1].wrapping_sub(x[0] ^ ((!x[7]) << 19)); - x[2] ^= x[1]; - x[3] = x[3].wrapping_add(x[2]); - x[4] = x[4].wrapping_sub(x[3] ^ ((!x[2]) >> 23)); - x[5] ^= x[4]; - x[6] = x[6].wrapping_add(x[5]); - x[7] = x[7].wrapping_sub(x[6] ^ 0x0123_4567_89AB_CDEF); - } +/// Core Tiger2 hasher state. +#[derive(Clone)] +pub struct Tiger2Core { + block_len: u64, + state: State, } -impl digest::BlockInput for Tiger { +impl HashMarker for Tiger2Core {} + +impl BlockSizeUser for Tiger2Core { type BlockSize = U64; } -impl digest::Reset for Tiger { - fn reset(&mut self) { - self.buffer.reset(); - self.length_bytes = 0; - self.state = H0; - } +impl BufferKindUser for Tiger2Core { + type BufferKind = Eager; } -impl digest::Update for Tiger { - #[inline] +impl OutputSizeUser for Tiger2Core { + type OutputSize = U24; +} - fn update(&mut self, data: impl AsRef<[u8]>) { - self.consume(data.as_ref()); +impl UpdateCore for Tiger2Core { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + self.block_len += blocks.len() as u64; + compress(&mut self.state, blocks); } } -impl digest::FixedOutputDirty for Tiger { - type OutputSize = U24; - - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - LE::write_u64_into(&self.finalize(), &mut out.as_mut_slice()); +impl FixedOutputCore for Tiger2Core { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let bs = Self::BlockSize::U64 as u64; + let pos = buffer.get_pos() as u64; + let bit_len = 8 * (pos + bs * self.block_len); + + buffer.len64_padding_le(bit_len, |b| compress(&mut self.state, from_ref(b))); + for (chunk, v) in out.chunks_exact_mut(8).zip(self.state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } -// Conditionally compile the module `test` only when the test-suite is run. -#[cfg(test)] -mod test { - use super::Tiger; - use digest::Digest; - use hex_literal::hex; +impl Default for Tiger2Core { + fn default() -> Self { + Self { + block_len: 0, + state: [ + 0x0123_4567_89AB_CDEF, + 0xFEDC_BA98_7654_3210, + 0xF096_A5B4_C3B2_E187, + ], + } + } +} - #[test] - fn test_vectors() { - let examples = [ - ("", hex!("3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3")), - ("abc", hex!("2aab1484e8c158f2bfb8c5ff41b57a525129131c957b5f93")), - ("Tiger", hex!("dd00230799f5009fec6debc838bb6a27df2b9d6f110c7937")), - ( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", - hex!("f71c8583902afb879edfe610f82c0d4786a3a534504486b5"), - ), - ( - "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", - hex!("48ceeb6308b87d46e95d656112cdf18d97915f9765658957"), - ), - ( - "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham", - hex!("8a866829040a410c729ad23f5ada711603b3cdd357e4c15e"), - ), - ( - "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham, proceedings of Fast Software Encryption 3, Cambridge.", - hex!("ce55a6afd591f5ebac547ff84f89227f9331dab0b611c889"), - ), - ( - "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - hex!("0f7bf9a19b9c58f2b7610df7e84f0ac3a71c631e7b53f78e"), - ), - ( - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - hex!("08c8dcb467e4c7f910966c399fdc9b164be15b792d432224"), - ), - ]; +impl Reset for Tiger2Core { + #[inline] + fn reset(&mut self) { + *self = Default::default(); + } +} - for &(input, answer) in examples.iter() { - let result = Tiger::digest(input.as_bytes()); +impl AlgorithmName for Tiger2Core { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Tiger2") + } +} - assert_eq!(*result, answer); - } +impl fmt::Debug for Tiger2Core { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Tiger2Core { ... }") } } -static T1: [u64; 256] = [ - 0x02AA_B17C_F7E9_0C5E, /* 0 */ - 0xAC42_4B03_E243_A8EC, /* 1 */ - 0x72CD_5BE3_0DD5_FCD3, /* 2 */ - 0x6D01_9B93_F6F9_7F3A, /* 3 */ - 0xCD99_78FF_D21F_9193, /* 4 */ - 0x7573_A1C9_7080_29E2, /* 5 */ - 0xB164_326B_922A_83C3, /* 6 */ - 0x4688_3EEE_0491_5870, /* 7 */ - 0xEAAC_E305_7103_ECE6, /* 8 */ - 0xC541_69B8_08A3_535C, /* 9 */ - 0x4CE7_5491_8DDE_C47C, /* 10 */ - 0x0AA2_F4DF_DC0D_F40C, /* 11 */ - 0x10B7_6F18_A74D_BEFA, /* 12 */ - 0xC6CC_B623_5AD1_AB6A, /* 13 */ - 0x1372_6121_572F_E2FF, /* 14 */ - 0x1A48_8C6F_199D_921E, /* 15 */ - 0x4BC9_F9F4_DA00_07CA, /* 16 */ - 0x26F5_E6F6_E852_41C7, /* 17 */ - 0x8590_79DB_EA59_47B6, /* 18 */ - 0x4F18_85C5_C99E_8C92, /* 19 */ - 0xD78E_761E_A96F_864B, /* 20 */ - 0x8E36_428C_52B5_C17D, /* 21 */ - 0x69CF_6827_3730_63C1, /* 22 */ - 0xB607_C93D_9BB4_C56E, /* 23 */ - 0x7D82_0E76_0E76_B5EA, /* 24 */ - 0x645C_9CC6_F07F_DC42, /* 25 */ - 0xBF38_A078_2433_42E0, /* 26 */ - 0x5F6B_343C_9D2E_7D04, /* 27 */ - 0xF2C2_8AEB_600B_0EC6, /* 28 */ - 0x6C0E_D85F_7254_BCAC, /* 29 */ - 0x7159_2281_A4DB_4FE5, /* 30 */ - 0x1967_FA69_CE0F_ED9F, /* 31 */ - 0xFD52_93F8_B965_45DB, /* 32 */ - 0xC879_E9D7_F2A7_600B, /* 33 */ - 0x8602_4892_0193_194E, /* 34 */ - 0xA4F9_533B_2D9C_C0B3, /* 35 */ - 0x9053_836C_1595_7613, /* 36 */ - 0xDB6D_CF8A_FC35_7BF1, /* 37 */ - 0x18BE_EA7A_7A37_0F57, /* 38 */ - 0x0371_17CA_50B9_9066, /* 39 */ - 0x6AB3_0A97_7442_4A35, /* 40 */ - 0xF4E9_2F02_E325_249B, /* 41 */ - 0x7739_DB07_061C_CAE1, /* 42 */ - 0xD8F3_B49C_ECA4_2A05, /* 43 */ - 0xBD56_BE3F_5138_2F73, /* 44 */ - 0x45FA_ED58_43B0_BB28, /* 45 */ - 0x1C81_3D5C_11BF_1F83, /* 46 */ - 0x8AF0_E4B6_D75F_A169, /* 47 */ - 0x33EE_18A4_87AD_9999, /* 48 */ - 0x3C26_E8EA_B1C9_4410, /* 49 */ - 0xB510_102B_C0A8_22F9, /* 50 */ - 0x141E_EF31_0CE6_123B, /* 51 */ - 0xFC65_B900_59DD_B154, /* 52 */ - 0xE015_8640_C5E0_E607, /* 53 */ - 0x884E_0798_26C3_A3CF, /* 54 */ - 0x930D_0D95_23C5_35FD, /* 55 */ - 0x3563_8D75_4E9A_2B00, /* 56 */ - 0x4085_FCCF_4046_9DD5, /* 57 */ - 0xC4B1_7AD2_8BE2_3A4C, /* 58 */ - 0xCAB2_F0FC_6A3E_6A2E, /* 59 */ - 0x2860_971A_6B94_3FCD, /* 60 */ - 0x3DDE_6EE2_12E3_0446, /* 61 */ - 0x6222_F32A_E017_65AE, /* 62 */ - 0x5D55_0BB5_4783_08FE, /* 63 */ - 0xA9EF_A98D_A0ED_A22A, /* 64 */ - 0xC351_A716_86C4_0DA7, /* 65 */ - 0x1105_586D_9C86_7C84, /* 66 */ - 0xDCFF_EE85_FDA2_2853, /* 67 */ - 0xCCFB_D026_2C5E_EF76, /* 68 */ - 0xBAF2_94CB_8990_D201, /* 69 */ - 0xE694_64F5_2AFA_D975, /* 70 */ - 0x94B0_13AF_DF13_3E14, /* 71 */ - 0x06A7_D1A3_2823_C958, /* 72 */ - 0x6F95_FE51_30F6_1119, /* 73 */ - 0xD92A_B34E_462C_06C0, /* 74 */ - 0xED7B_DE33_887C_71D2, /* 75 */ - 0x7974_6D6E_6518_393E, /* 76 */ - 0x5BA4_1938_5D71_3329, /* 77 */ - 0x7C1B_A6B9_48A9_7564, /* 78 */ - 0x3198_7C19_7BFD_AC67, /* 79 */ - 0xDE6C_23C4_4B05_3D02, /* 80 */ - 0x581C_49FE_D002_D64D, /* 81 */ - 0xDD47_4D63_3826_1571, /* 82 */ - 0xAA45_46C3_E473_D062, /* 83 */ - 0x928F_CE34_9455_F860, /* 84 */ - 0x4816_1BBA_CAAB_94D9, /* 85 */ - 0x6391_2430_770E_6F68, /* 86 */ - 0x6EC8_A5E6_02C6_641C, /* 87 */ - 0x8728_2515_337D_DD2B, /* 88 */ - 0x2CDA_6B42_034B_701B, /* 89 */ - 0xB03D_37C1_81CB_096D, /* 90 */ - 0xE108_4382_66C7_1C6F, /* 91 */ - 0x2B31_80C7_EB51_B255, /* 92 */ - 0xDF92_B82F_96C0_8BBC, /* 93 */ - 0x5C68_C8C0_A632_F3BA, /* 94 */ - 0x5504_CC86_1C3D_0556, /* 95 */ - 0xABBF_A4E5_5FB2_6B8F, /* 96 */ - 0x4184_8B0A_B3BA_CEB4, /* 97 */ - 0xB334_A273_AA44_5D32, /* 98 */ - 0xBCA6_96F0_A85A_D881, /* 99 */ - 0x24F6_EC65_B528_D56C, /* 100 */ - 0x0CE1_512E_90F4_524A, /* 101 */ - 0x4E9D_D79D_5506_D35A, /* 102 */ - 0x2589_05FA_C6CE_9779, /* 103 */ - 0x2019_295B_3E10_9B33, /* 104 */ - 0xF8A9_478B_73A0_54CC, /* 105 */ - 0x2924_F2F9_3441_7EB0, /* 106 */ - 0x3993_357D_536D_1BC4, /* 107 */ - 0x38A8_1AC2_1DB6_FF8B, /* 108 */ - 0x47C4_FBF1_7D60_16BF, /* 109 */ - 0x1E0F_AADD_7667_E3F5, /* 110 */ - 0x7ABC_FF62_938B_EB96, /* 111 */ - 0xA78D_AD94_8FC1_79C9, /* 112 */ - 0x8F1F_98B7_2911_E50D, /* 113 */ - 0x61E4_8EAE_2712_1A91, /* 114 */ - 0x4D62_F7AD_3185_9808, /* 115 */ - 0xECEB_A345_EF5C_EAEB, /* 116 */ - 0xF5CE_B25E_BC96_84CE, /* 117 */ - 0xF633_E20C_B7F7_6221, /* 118 */ - 0xA32C_DF06_AB82_93E4, /* 119 */ - 0x985A_202C_A5EE_2CA4, /* 120 */ - 0xCF0B_8447_CC8A_8FB1, /* 121 */ - 0x9F76_5244_9798_59A3, /* 122 */ - 0xA8D5_16B1_A124_0017, /* 123 */ - 0x0BD7_BA3E_BB5D_C726, /* 124 */ - 0xE54B_CA55_B86A_DB39, /* 125 */ - 0x1D7A_3AFD_6C47_8063, /* 126 */ - 0x519E_C608_E766_9EDD, /* 127 */ - 0x0E57_15A2_D149_AA23, /* 128 */ - 0x177D_4571_848F_F194, /* 129 */ - 0xEEB5_5F32_4101_4C22, /* 130 */ - 0x0F5E_5CA1_3A6E_2EC2, /* 131 */ - 0x8029_927B_75F5_C361, /* 132 */ - 0xAD13_9FAB_C3D6_E436, /* 133 */ - 0x0D5D_F1A9_4CCF_402F, /* 134 */ - 0x3E8B_D948_BEA5_DFC8, /* 135 */ - 0xA5A0_D357_BD3F_F77E, /* 136 */ - 0xA2D1_2E25_1F74_F645, /* 137 */ - 0x66FD_9E52_5E81_A082, /* 138 */ - 0x2E0C_90CE_7F68_7A49, /* 139 */ - 0xC2E8_BCBE_BA97_3BC5, /* 140 */ - 0x0000_01BC_E509_745F, /* 141 */ - 0x4237_77BB_E6DA_B3D6, /* 142 */ - 0xD166_1C7E_AEF0_6EB5, /* 143 */ - 0xA178_1F35_4DAA_CFD8, /* 144 */ - 0x2D11_284A_2B16_AFFC, /* 145 */ - 0xF1FC_4F67_FA89_1D1F, /* 146 */ - 0x73EC_C25D_CB92_0ADA, /* 147 */ - 0xAE61_0C22_C2A1_2651, /* 148 */ - 0x96E0_A810_D356_B78A, /* 149 */ - 0x5A9A_381F_2FE7_870F, /* 150 */ - 0xD5AD_62ED_E94E_5530, /* 151 */ - 0xD225_E5E8_368D_1427, /* 152 */ - 0x6597_7B70_C7AF_4631, /* 153 */ - 0x99F8_89B2_DE39_D74F, /* 154 */ - 0x233F_30BF_54E1_D143, /* 155 */ - 0x9A96_75D3_D9A6_3C97, /* 156 */ - 0x5470_554F_F334_F9A8, /* 157 */ - 0x166A_CB74_4A4F_5688, /* 158 */ - 0x70C7_4CAA_B2E4_AEAD, /* 159 */ - 0xF0D0_9164_6F29_4D12, /* 160 */ - 0x57B8_2A89_6840_31D1, /* 161 */ - 0xEFD9_5A5A_61BE_0B6B, /* 162 */ - 0x2FBD_12E9_69F2_F29A, /* 163 */ - 0x9BD3_7013_FEFF_9FE8, /* 164 */ - 0x3F9B_0404_D608_5A06, /* 165 */ - 0x4940_C1F3_166C_FE15, /* 166 */ - 0x0954_2C4D_CDF3_DEFB, /* 167 */ - 0xB4C5_2183_85CD_5CE3, /* 168 */ - 0xC935_B7DC_4462_A641, /* 169 */ - 0x3417_F8A6_8ED3_B63F, /* 170 */ - 0xB809_5929_5B21_5B40, /* 171 */ - 0xF99C_DAEF_3B8C_8572, /* 172 */ - 0x018C_0614_F8FC_B95D, /* 173 */ - 0x1B14_ACCD_1A3A_CDF3, /* 174 */ - 0x84D4_71F2_00BB_732D, /* 175 */ - 0xC1A3_110E_95E8_DA16, /* 176 */ - 0x430A_7220_BF1A_82B8, /* 177 */ - 0xB77E_090D_39DF_210E, /* 178 */ - 0x5EF4_BD9F_3CD0_5E9D, /* 179 */ - 0x9D4F_F6DA_7E57_A444, /* 180 */ - 0xDA1D_60E1_83D4_A5F8, /* 181 */ - 0xB287_C384_1799_8E47, /* 182 */ - 0xFE3E_DC12_1BB3_1886, /* 183 */ - 0xC7FE_3CCC_980C_CBEF, /* 184 */ - 0xE46F_B590_189B_FD03, /* 185 */ - 0x3732_FD46_9A4C_57DC, /* 186 */ - 0x7EF7_00A0_7CF1_AD65, /* 187 */ - 0x59C6_4468_A31D_8859, /* 188 */ - 0x762F_B0B4_D45B_61F6, /* 189 */ - 0x155B_AED0_9904_7718, /* 190 */ - 0x6875_5E4C_3D50_BAA6, /* 191 */ - 0xE921_4E7F_22D8_B4DF, /* 192 */ - 0x2ADD_BF53_2EAC_95F4, /* 193 */ - 0x32AE_3909_B4BD_0109, /* 194 */ - 0x834D_F537_B08E_3450, /* 195 */ - 0xFA20_9DA8_4220_728D, /* 196 */ - 0x9E69_1D9B_9EFE_23F7, /* 197 */ - 0x0446_D288_C4AE_8D7F, /* 198 */ - 0x7B4C_C524_E169_785B, /* 199 */ - 0x21D8_7F01_35CA_1385, /* 200 */ - 0xCEBB_400F_137B_8AA5, /* 201 */ - 0x272E_2B66_5807_96BE, /* 202 */ - 0x3612_2641_25C2_B0DE, /* 203 */ - 0x0577_02BD_AD1E_FBB2, /* 204 */ - 0xD4BA_BB8E_ACF8_4BE9, /* 205 */ - 0x9158_3139_641B_C67B, /* 206 */ - 0x8BDC_2DE0_8036_E024, /* 207 */ - 0x603C_8156_F49F_68ED, /* 208 */ - 0xF7D2_36F7_DBEF_5111, /* 209 */ - 0x9727_C459_8AD2_1E80, /* 210 */ - 0xA08A_0896_670A_5FD7, /* 211 */ - 0xCB4A_8F43_09EB_A9CB, /* 212 */ - 0x81AF_564B_0F70_36A1, /* 213 */ - 0xC0B9_9AA7_7819_9ABD, /* 214 */ - 0x959F_1EC8_3FC8_E952, /* 215 */ - 0x8C50_5077_794A_81B9, /* 216 */ - 0x3ACA_AF8F_0563_38F0, /* 217 */ - 0x07B4_3F50_627A_6778, /* 218 */ - 0x4A44_AB49_F5EC_CC77, /* 219 */ - 0x3BC3_D6E4_B679_EE98, /* 220 */ - 0x9CC0_D4D1_CF14_108C, /* 221 */ - 0x4406_C00B_206B_C8A0, /* 222 */ - 0x82A1_8854_C8D7_2D89, /* 223 */ - 0x67E3_66B3_5C3C_432C, /* 224 */ - 0xB923_DD61_102B_37F2, /* 225 */ - 0x56AB_2779_D884_271D, /* 226 */ - 0xBE83_E1B0_FF15_25AF, /* 227 */ - 0xFB7C_65D4_217E_49A9, /* 228 */ - 0x6BDB_E0E7_6D48_E7D4, /* 229 */ - 0x08DF_8287_45D9_179E, /* 230 */ - 0x22EA_6A9A_DD53_BD34, /* 231 */ - 0xE36E_141C_5622_200A, /* 232 */ - 0x7F80_5D1B_8CB7_50EE, /* 233 */ - 0xAFE5_C7A5_9F58_E837, /* 234 */ - 0xE27F_996A_4FB1_C23C, /* 235 */ - 0xD386_7DFB_0775_F0D0, /* 236 */ - 0xD0E6_73DE_6E88_891A, /* 237 */ - 0x123A_EB9E_AFB8_6C25, /* 238 */ - 0x30F1_D5D5_C145_B895, /* 239 */ - 0xBB43_4A2D_EE72_69E7, /* 240 */ - 0x78CB_67EC_F931_FA38, /* 241 */ - 0xF33B_0372_323B_BF9C, /* 242 */ - 0x52D6_6336_FB27_9C74, /* 243 */ - 0x505F_33AC_0AFB_4EAA, /* 244 */ - 0xE8A5_CD99_A2CC_E187, /* 245 */ - 0x5349_7480_1E2D_30BB, /* 246 */ - 0x8D2D_5711_D587_6D90, /* 247 */ - 0x1F1A_4128_91BC_038E, /* 248 */ - 0xD6E2_E71D_82E5_6648, /* 249 */ - 0x7403_6C3A_4977_32B7, /* 250 */ - 0x89B6_7ED9_6361_F5AB, /* 251 */ - 0xFFED_95D8_F1EA_02A2, /* 252 */ - 0xE72B_3BD6_1464_D43D, /* 253 */ - 0xA630_0F17_0BDC_4820, /* 254 */ - 0xEBC1_8760_ED78_A77A, /* 255 */ -]; -static T2: [u64; 256] = [ - 0xE6A6_BE5A_05A1_2138, /* 256 */ - 0xB5A1_22A5_B4F8_7C98, /* 257 */ - 0x563C_6089_140B_6990, /* 258 */ - 0x4C46_CB2E_391F_5DD5, /* 259 */ - 0xD932_ADDB_C9B7_9434, /* 260 */ - 0x08EA_70E4_2015_AFF5, /* 261 */ - 0xD765_A667_3E47_8CF1, /* 262 */ - 0xC4FB_757E_AB27_8D99, /* 263 */ - 0xDF11_C686_2D6E_0692, /* 264 */ - 0xDDEB_84F1_0D7F_3B16, /* 265 */ - 0x6F2E_F604_A665_EA04, /* 266 */ - 0x4A8E_0F0F_F0E0_DFB3, /* 267 */ - 0xA5ED_EEF8_3DBC_BA51, /* 268 */ - 0xFC4F_0A2A_0EA4_371E, /* 269 */ - 0xE83E_1DA8_5CB3_8429, /* 270 */ - 0xDC8F_F882_BA1B_1CE2, /* 271 */ - 0xCD45_505E_8353_E80D, /* 272 */ - 0x18D1_9A00_D4DB_0717, /* 273 */ - 0x34A0_CFED_A5F3_8101, /* 274 */ - 0x0BE7_7E51_8887_CAF2, /* 275 */ - 0x1E34_1438_B3C4_5136, /* 276 */ - 0xE057_97F4_9089_CCF9, /* 277 */ - 0xFFD2_3F9D_F259_1D14, /* 278 */ - 0x543D_DA22_8595_C5CD, /* 279 */ - 0x661F_81FD_9905_2A33, /* 280 */ - 0x8736_E641_DB0F_7B76, /* 281 */ - 0x1522_7725_418E_5307, /* 282 */ - 0xE25F_7F46_162E_B2FA, /* 283 */ - 0x48A8_B212_6C13_D9FE, /* 284 */ - 0xAFDC_5417_92E7_6EEA, /* 285 */ - 0x03D9_12BF_C6D1_898F, /* 286 */ - 0x31B1_AAFA_1B83_F51B, /* 287 */ - 0xF1AC_2796_E42A_B7D9, /* 288 */ - 0x40A3_A7D7_FCD2_EBAC, /* 289 */ - 0x1056_136D_0AFB_BCC5, /* 290 */ - 0x7889_E1DD_9A6D_0C85, /* 291 */ - 0xD335_2578_2A79_74AA, /* 292 */ - 0xA7E2_5D09_078A_C09B, /* 293 */ - 0xBD41_38B3_EAC6_EDD0, /* 294 */ - 0x920A_BFBE_71EB_9E70, /* 295 */ - 0xA2A5_D0F5_4FC2_625C, /* 296 */ - 0xC054_E36B_0B12_90A3, /* 297 */ - 0xF6DD_59FF_62FE_932B, /* 298 */ - 0x3537_3545_11A8_AC7D, /* 299 */ - 0xCA84_5E91_72FA_DCD4, /* 300 */ - 0x84F8_2B60_329D_20DC, /* 301 */ - 0x79C6_2CE1_CD67_2F18, /* 302 */ - 0x8B09_A2AD_D124_642C, /* 303 */ - 0xD0C1_E96A_19D9_E726, /* 304 */ - 0x5A78_6A9B_4BA9_500C, /* 305 */ - 0x0E02_0336_634C_43F3, /* 306 */ - 0xC17B_474A_EB66_D822, /* 307 */ - 0x6A73_1AE3_EC9B_AAC2, /* 308 */ - 0x8226_667A_E084_0258, /* 309 */ - 0x67D4_5676_91CA_ECA5, /* 310 */ - 0x1D94_155C_4875_ADB5, /* 311 */ - 0x6D00_FD98_5B81_3FDF, /* 312 */ - 0x5128_6EFC_B774_CD06, /* 313 */ - 0x5E88_3447_1FA7_44AF, /* 314 */ - 0xF72C_A0AE_E761_AE2E, /* 315 */ - 0xBE40_E4CD_AEE8_E09A, /* 316 */ - 0xE997_0BBB_5118_F665, /* 317 */ - 0x726E_4BEB_33DF_1964, /* 318 */ - 0x703B_0007_2919_9762, /* 319 */ - 0x4631_D816_F5EF_30A7, /* 320 */ - 0xB880_B5B5_1504_A6BE, /* 321 */ - 0x6417_93C3_7ED8_4B6C, /* 322 */ - 0x7B21_ED77_F6E9_7D96, /* 323 */ - 0x7763_0631_2EF9_6B73, /* 324 */ - 0xAE52_8948_E86F_F3F4, /* 325 */ - 0x53DB_D7F2_86A3_F8F8, /* 326 */ - 0x16CA_DCE7_4CFC_1063, /* 327 */ - 0x005C_19BD_FA52_C6DD, /* 328 */ - 0x6886_8F5D_64D4_6AD3, /* 329 */ - 0x3A9D_512C_CF1E_186A, /* 330 */ - 0x367E_62C2_3856_60AE, /* 331 */ - 0xE359_E7EA_77DC_B1D7, /* 332 */ - 0x526C_0773_749A_BE6E, /* 333 */ - 0x735A_E5F9_D09F_734B, /* 334 */ - 0x493F_C7CC_8A55_8BA8, /* 335 */ - 0xB0B9_C153_3041_AB45, /* 336 */ - 0x3219_58BA_470A_59BD, /* 337 */ - 0x852D_B00B_5F46_C393, /* 338 */ - 0x9120_9B2B_D336_B0E5, /* 339 */ - 0x6E60_4F7D_659E_F19F, /* 340 */ - 0xB99A_8AE2_782C_CB24, /* 341 */ - 0xCCF5_2AB6_C814_C4C7, /* 342 */ - 0x4727_D9AF_BE11_727B, /* 343 */ - 0x7E95_0D0C_0121_B34D, /* 344 */ - 0x756F_4356_70AD_471F, /* 345 */ - 0xF5AD_D442_615A_6849, /* 346 */ - 0x4E87_E099_80B9_957A, /* 347 */ - 0x2ACF_A1DF_50AE_E355, /* 348 */ - 0xD898_263A_FD2F_D556, /* 349 */ - 0xC8F4_924D_D80C_8FD6, /* 350 */ - 0xCF99_CA3D_754A_173A, /* 351 */ - 0xFE47_7BAC_AF91_BF3C, /* 352 */ - 0xED53_71F6_D690_C12D, /* 353 */ - 0x831A_5C28_5E68_7094, /* 354 */ - 0xC5D3_C90A_3708_A0A4, /* 355 */ - 0x0F7F_9037_17D0_6580, /* 356 */ - 0x19F9_BB13_B8FD_F27F, /* 357 */ - 0xB1BD_6F1B_4D50_2843, /* 358 */ - 0x1C76_1BA3_8FFF_4012, /* 359 */ - 0x0D15_30C4_E2E2_1F3B, /* 360 */ - 0x8943_CE69_A737_2C8A, /* 361 */ - 0xE518_4E11_FEB5_CE66, /* 362 */ - 0x618B_DB80_BD73_6621, /* 363 */ - 0x7D29_BAD6_8B57_4D0B, /* 364 */ - 0x81BB_613E_25E6_FE5B, /* 365 */ - 0x071C_9C10_BC07_913F, /* 366 */ - 0xC7BE_EB79_09AC_2D97, /* 367 */ - 0xC3E5_8D35_3BC5_D757, /* 368 */ - 0xEB01_7892_F38F_61E8, /* 369 */ - 0xD4EF_FB9C_9B1C_C21A, /* 370 */ - 0x9972_7D26_F494_F7AB, /* 371 */ - 0xA3E0_63A2_956B_3E03, /* 372 */ - 0x9D4A_8B9A_4AA0_9C30, /* 373 */ - 0x3F6A_B7D5_0009_0FB4, /* 374 */ - 0x9CC0_F2A0_5726_8AC0, /* 375 */ - 0x3DEE_9D2D_EDBF_42D1, /* 376 */ - 0x330F_49C8_7960_A972, /* 377 */ - 0xC6B2_7202_8742_1B41, /* 378 */ - 0x0AC5_9EC0_7C00_369C, /* 379 */ - 0xEF4E_AC49_CB35_3425, /* 380 */ - 0xF450_244E_EF01_29D8, /* 381 */ - 0x8ACC_46E5_CAF4_DEB6, /* 382 */ - 0x2FFE_AB63_9892_63F7, /* 383 */ - 0x8F7C_B9FE_5D7A_4578, /* 384 */ - 0x5BD8_F764_4E63_4635, /* 385 */ - 0x427A_7315_BF2D_C900, /* 386 */ - 0x17D0_C4AA_2125_261C, /* 387 */ - 0x3992_486C_9351_8E50, /* 388 */ - 0xB4CB_FEE0_A2D7_D4C3, /* 389 */ - 0x7C75_D620_2C5D_DD8D, /* 390 */ - 0xDBC2_95D8_E35B_6C61, /* 391 */ - 0x60B3_69D3_0203_2B19, /* 392 */ - 0xCE42_685F_DCE4_4132, /* 393 */ - 0x06F3_DDB9_DDF6_5610, /* 394 */ - 0x8EA4_D21D_B5E1_48F0, /* 395 */ - 0x20B0_FCE6_2FCD_496F, /* 396 */ - 0x2C1B_9123_58B0_EE31, /* 397 */ - 0xB283_17B8_18F5_A308, /* 398 */ - 0xA89C_1E18_9CA6_D2CF, /* 399 */ - 0x0C6B_1857_6AAA_DBC8, /* 400 */ - 0xB65D_EAA9_1299_FAE3, /* 401 */ - 0xFB2B_794B_7F10_27E7, /* 402 */ - 0x04E4_317F_443B_5BEB, /* 403 */ - 0x4B85_2D32_5939_D0A6, /* 404 */ - 0xD5AE_6BEE_FB20_7FFC, /* 405 */ - 0x3096_82B2_81C7_D374, /* 406 */ - 0xBAE3_09A1_94C3_B475, /* 407 */ - 0x8CC3_F97B_13B4_9F05, /* 408 */ - 0x98A9_422F_F829_3967, /* 409 */ - 0x244B_16B0_1076_FF7C, /* 410 */ - 0xF8BF_571C_663D_67EE, /* 411 */ - 0x1F0D_6758_EEE3_0DA1, /* 412 */ - 0xC9B6_11D9_7ADE_B9B7, /* 413 */ - 0xB7AF_D588_7B6C_57A2, /* 414 */ - 0x6290_AE84_6B98_4FE1, /* 415 */ - 0x94DF_4CDE_ACC1_A5FD, /* 416 */ - 0x058A_5BD1_C548_3AFF, /* 417 */ - 0x6316_6CC1_42BA_3C37, /* 418 */ - 0x8DB8_526E_B2F7_6F40, /* 419 */ - 0xE108_8003_6F0D_6D4E, /* 420 */ - 0x9E05_23C9_971D_311D, /* 421 */ - 0x45EC_2824_CC7C_D691, /* 422 */ - 0x575B_8359_E623_82C9, /* 423 */ - 0xFA9E_400D_C488_9995, /* 424 */ - 0xD182_3ECB_4572_1568, /* 425 */ - 0xDAFD_983B_8206_082F, /* 426 */ - 0xAA7D_2908_2386_A8CB, /* 427 */ - 0x269F_CD44_03B8_7588, /* 428 */ - 0x1B91_F5F7_28BD_D1E0, /* 429 */ - 0xE466_9F39_0402_01F6, /* 430 */ - 0x7A1D_7C21_8CF0_4ADE, /* 431 */ - 0x6562_3C29_D79C_E5CE, /* 432 */ - 0x2368_4490_96C0_0BB1, /* 433 */ - 0xAB9B_F187_9DA5_03BA, /* 434 */ - 0xBC23_ECB1_A458_058E, /* 435 */ - 0x9A58_DF01_BB40_1ECC, /* 436 */ - 0xA070_E868_A85F_143D, /* 437 */ - 0x4FF1_8830_7DF2_239E, /* 438 */ - 0x14D5_65B4_1A64_1183, /* 439 */ - 0xEE13_3374_5270_1602, /* 440 */ - 0x950E_3DCF_3F28_5E09, /* 441 */ - 0x5993_0254_B9C8_0953, /* 442 */ - 0x3BF2_9940_8930_DA6D, /* 443 */ - 0xA955_943F_5369_1387, /* 444 */ - 0xA15E_DECA_A9CB_8784, /* 445 */ - 0x2914_2127_352B_E9A0, /* 446 */ - 0x76F0_371F_FF4E_7AFB, /* 447 */ - 0x0239_F450_274F_2228, /* 448 */ - 0xBB07_3AF0_1D5E_868B, /* 449 */ - 0xBFC8_0571_C10E_96C1, /* 450 */ - 0xD267_0885_6822_2E23, /* 451 */ - 0x9671_A3D4_8E80_B5B0, /* 452 */ - 0x55B5_D38A_E193_BB81, /* 453 */ - 0x693A_E2D0_A18B_04B8, /* 454 */ - 0x5C48_B4EC_ADD5_335F, /* 455 */ - 0xFD74_3B19_4916_A1CA, /* 456 */ - 0x2577_0181_34BE_98C4, /* 457 */ - 0xE779_87E8_3C54_A4AD, /* 458 */ - 0x28E1_1014_DA33_E1B9, /* 459 */ - 0x270C_C59E_226A_A213, /* 460 */ - 0x7149_5F75_6D1A_5F60, /* 461 */ - 0x9BE8_53FB_60AF_EF77, /* 462 */ - 0xADC7_86A7_F744_3DBF, /* 463 */ - 0x0904_4561_73B2_9A82, /* 464 */ - 0x58BC_7A66_C232_BD5E, /* 465 */ - 0xF306_558C_673A_C8B2, /* 466 */ - 0x41F6_39C6_B6C9_772A, /* 467 */ - 0x216D_EFE9_9FDA_35DA, /* 468 */ - 0x1164_0CC7_1C7B_E615, /* 469 */ - 0x93C4_3694_565C_5527, /* 470 */ - 0xEA03_8E62_4677_7839, /* 471 */ - 0xF9AB_F3CE_5A3E_2469, /* 472 */ - 0x741E_768D_0FD3_12D2, /* 473 */ - 0x0144_B883_CED6_52C6, /* 474 */ - 0xC20B_5A5B_A33F_8552, /* 475 */ - 0x1AE6_9633_C343_5A9D, /* 476 */ - 0x97A2_8CA4_088C_FDEC, /* 477 */ - 0x8824_A43C_1E96_F420, /* 478 */ - 0x3761_2FA6_6EEE_A746, /* 479 */ - 0x6B4C_B165_F9CF_0E5A, /* 480 */ - 0x43AA_1C06_A0AB_FB4A, /* 481 */ - 0x7F4D_C26F_F162_796B, /* 482 */ - 0x6CBA_CC8E_54ED_9B0F, /* 483 */ - 0xA6B7_FFEF_D2BB_253E, /* 484 */ - 0x2E25_BC95_B0A2_9D4F, /* 485 */ - 0x86D6_A58B_DEF1_388C, /* 486 */ - 0xDED7_4AC5_76B6_F054, /* 487 */ - 0x8030_BDBC_2B45_805D, /* 488 */ - 0x3C81_AF70_E94D_9289, /* 489 */ - 0x3EFF_6DDA_9E31_00DB, /* 490 */ - 0xB38D_C39F_DFCC_8847, /* 491 */ - 0x1238_8552_8D17_B87E, /* 492 */ - 0xF2DA_0ED2_40B1_B642, /* 493 */ - 0x44CE_FADC_D54B_F9A9, /* 494 */ - 0x1312_200E_433C_7EE6, /* 495 */ - 0x9FFC_C84F_3A78_C748, /* 496 */ - 0xF0CD_1F72_2485_76BB, /* 497 */ - 0xEC69_7405_3638_CFE4, /* 498 */ - 0x2BA7_B67C_0CEC_4E4C, /* 499 */ - 0xAC2F_4DF3_E5CE_32ED, /* 500 */ - 0xCB33_D143_26EA_4C11, /* 501 */ - 0xA4E9_044C_C77E_58BC, /* 502 */ - 0x5F51_3293_D934_FCEF, /* 503 */ - 0x5DC9_6455_06E5_5444, /* 504 */ - 0x50DE_418F_317D_E40A, /* 505 */ - 0x388C_B31A_69DD_E259, /* 506 */ - 0x2DB4_A834_5582_0A86, /* 507 */ - 0x9010_A91E_8471_1AE9, /* 508 */ - 0x4DF7_F0B7_B149_8371, /* 509 */ - 0xD62A_2EAB_C097_7179, /* 510 */ - 0x22FA_C097_AA8D_5C0E, /* 511 */ -]; -static T3: [u64; 256] = [ - 0xF49F_CC2F_F1DA_F39B, /* 512 */ - 0x487F_D5C6_6FF2_9281, /* 513 */ - 0xE8A3_0667_FCDC_A83F, /* 514 */ - 0x2C9B_4BE3_D2FC_CE63, /* 515 */ - 0xDA3F_F74B_93FB_BBC2, /* 516 */ - 0x2FA1_65D2_FE70_BA66, /* 517 */ - 0xA103_E279_970E_93D4, /* 518 */ - 0xBECD_EC77_B0E4_5E71, /* 519 */ - 0xCFB4_1E72_3985_E497, /* 520 */ - 0xB70A_AA02_5EF7_5017, /* 521 */ - 0xD423_09F0_3840_B8E0, /* 522 */ - 0x8EFC_1AD0_3589_8579, /* 523 */ - 0x96C6_920B_E2B2_ABC5, /* 524 */ - 0x66AF_4163_375A_9172, /* 525 */ - 0x2174_ABDC_CA71_27FB, /* 526 */ - 0xB33C_CEA6_4A72_FF41, /* 527 */ - 0xF04A_4933_0830_66A5, /* 528 */ - 0x8D97_0ACD_D728_9AF5, /* 529 */ - 0x8F96_E8E0_31C8_C25E, /* 530 */ - 0xF3FE_C022_7687_5D47, /* 531 */ - 0xEC7B_F310_0561_90DD, /* 532 */ - 0xF5AD_B0AE_BB0F_1491, /* 533 */ - 0x9B50_F885_0FD5_8892, /* 534 */ - 0x4975_4883_58B7_4DE8, /* 535 */ - 0xA335_4FF6_9153_1C61, /* 536 */ - 0x0702_BBE4_81D2_C6EE, /* 537 */ - 0x89FB_2405_7DED_ED98, /* 538 */ - 0xAC30_7513_8596_E902, /* 539 */ - 0x1D2D_3580_1727_72ED, /* 540 */ - 0xEB73_8FC2_8E6B_C30D, /* 541 */ - 0x5854_EF8F_6304_4326, /* 542 */ - 0x9E5C_5232_5ADD_3BBE, /* 543 */ - 0x90AA_53CF_325C_4623, /* 544 */ - 0xC1D2_4D51_349D_D067, /* 545 */ - 0x2051_CFEE_A69E_A624, /* 546 */ - 0x1322_0F0A_862E_7E4F, /* 547 */ - 0xCE39_3994_04E0_4864, /* 548 */ - 0xD9C4_2CA4_7086_FCB7, /* 549 */ - 0x685A_D223_8A03_E7CC, /* 550 */ - 0x0664_84B2_AB2F_F1DB, /* 551 */ - 0xFE9D_5D70_EFBF_79EC, /* 552 */ - 0x5B13_B9DD_9C48_1854, /* 553 */ - 0x15F0_D475_ED15_09AD, /* 554 */ - 0x0BEB_CD06_0EC7_9851, /* 555 */ - 0xD58C_6791_183A_B7F8, /* 556 */ - 0xD118_7C50_52F3_EEE4, /* 557 */ - 0xC95D_1192_E54E_82FF, /* 558 */ - 0x86EE_A14C_B9AC_6CA2, /* 559 */ - 0x3485_BEB1_5367_7D5D, /* 560 */ - 0xDD19_1D78_1F8C_492A, /* 561 */ - 0xF608_66BA_A784_EBF9, /* 562 */ - 0x518F_643B_A2D0_8C74, /* 563 */ - 0x8852_E956_E108_7C22, /* 564 */ - 0xA768_CB8D_C410_AE8D, /* 565 */ - 0x3804_7726_BFEC_8E1A, /* 566 */ - 0xA677_38B4_CD3B_45AA, /* 567 */ - 0xAD16_691C_EC0D_DE19, /* 568 */ - 0xC6D4_3193_8046_2E07, /* 569 */ - 0xC5A5_876D_0BA6_1938, /* 570 */ - 0x16B9_FA1F_A58F_D840, /* 571 */ - 0x188A_B117_3CA7_4F18, /* 572 */ - 0xABDA_2F98_C99C_021F, /* 573 */ - 0x3E05_80AB_134A_E816, /* 574 */ - 0x5F3B_05B7_7364_5ABB, /* 575 */ - 0x2501_A2BE_5575_F2F6, /* 576 */ - 0x1B2F_7400_4E7E_8BA9, /* 577 */ - 0x1CD7_5803_71E8_D953, /* 578 */ - 0x7F6E_D895_6276_4E30, /* 579 */ - 0xB159_26FF_596F_003D, /* 580 */ - 0x9F65_293D_A8C5_D6B9, /* 581 */ - 0x6ECE_F04D_D690_F84C, /* 582 */ - 0x4782_275F_FF33_AF88, /* 583 */ - 0xE414_3308_3F82_0801, /* 584 */ - 0xFD0D_FE40_9A1A_F9B5, /* 585 */ - 0x4325_A334_2CDB_396B, /* 586 */ - 0x8AE7_7E62_B301_B252, /* 587 */ - 0xC36F_9E9F_6655_615A, /* 588 */ - 0x8545_5A2D_92D3_2C09, /* 589 */ - 0xF2C7_DEA9_4947_7485, /* 590 */ - 0x63CF_B4C1_33A3_9EBA, /* 591 */ - 0x83B0_40CC_6EBC_5462, /* 592 */ - 0x3B94_54C8_FDB3_26B0, /* 593 */ - 0x56F5_6A9E_87FF_D78C, /* 594 */ - 0x2DC2_940D_99F4_2BC6, /* 595 */ - 0x98F7_DF09_6B09_6E2D, /* 596 */ - 0x19A6_E01E_3AD8_52BF, /* 597 */ - 0x42A9_9CCB_DBD4_B40B, /* 598 */ - 0xA599_98AF_45E9_C559, /* 599 */ - 0x3662_95E8_07D9_3186, /* 600 */ - 0x6B48_181B_FAA1_F773, /* 601 */ - 0x1FEC_57E2_157A_0A1D, /* 602 */ - 0x4667_446A_F620_1AD5, /* 603 */ - 0xE615_EBCA_CFB0_F075, /* 604 */ - 0xB8F3_1F4F_6829_0778, /* 605 */ - 0x2271_3ED6_CE22_D11E, /* 606 */ - 0x3057_C1A7_2EC3_C93B, /* 607 */ - 0xCB46_ACC3_7C3F_1F2F, /* 608 */ - 0xDBB8_93FD_02AA_F50E, /* 609 */ - 0x331F_D92E_600B_9FCF, /* 610 */ - 0xA498_F961_48EA_3AD6, /* 611 */ - 0xA8D8_426E_8B6A_83EA, /* 612 */ - 0xA089_B274_B773_5CDC, /* 613 */ - 0x87F6_B373_1E52_4A11, /* 614 */ - 0x1188_08E5_CBC9_6749, /* 615 */ - 0x9906_E4C7_B19B_D394, /* 616 */ - 0xAFED_7F7E_9B24_A20C, /* 617 */ - 0x6509_EADE_EB36_44A7, /* 618 */ - 0x6C1E_F1D3_E8EF_0EDE, /* 619 */ - 0xB9C9_7D43_E979_8FB4, /* 620 */ - 0xA2F2_D784_740C_28A3, /* 621 */ - 0x7B84_9647_6197_566F, /* 622 */ - 0x7A5B_E3E6_B65F_069D, /* 623 */ - 0xF963_30ED_78BE_6F10, /* 624 */ - 0xEEE6_0DE7_7A07_6A15, /* 625 */ - 0x2B4B_EE4A_A08B_9BD0, /* 626 */ - 0x6A56_A63E_C7B8_894E, /* 627 */ - 0x0212_1359_BA34_FEF4, /* 628 */ - 0x4CBF_99F8_2837_03FC, /* 629 */ - 0x3980_7135_0CAF_30C8, /* 630 */ - 0xD0A7_7A89_F017_687A, /* 631 */ - 0xF1C1_A9EB_9E42_3569, /* 632 */ - 0x8C79_7628_2DEE_8199, /* 633 */ - 0x5D17_37A5_DD1F_7ABD, /* 634 */ - 0x4F53_433C_09A9_FA80, /* 635 */ - 0xFA8B_0C53_DF7C_A1D9, /* 636 */ - 0x3FD9_DCBC_886C_CB77, /* 637 */ - 0xC040_917C_A91B_4720, /* 638 */ - 0x7DD0_0142_F9D1_DCDF, /* 639 */ - 0x8476_FC1D_4F38_7B58, /* 640 */ - 0x23F8_E7C5_F331_6503, /* 641 */ - 0x032A_2244_E7E3_7339, /* 642 */ - 0x5C87_A5D7_50F5_A74B, /* 643 */ - 0x082B_4CC4_3698_992E, /* 644 */ - 0xDF91_7BEC_B858_F63C, /* 645 */ - 0x3270_B8FC_5BF8_6DDA, /* 646 */ - 0x10AE_72BB_29B5_DD76, /* 647 */ - 0x576A_C94E_7700_362B, /* 648 */ - 0x1AD1_12DA_C61E_FB8F, /* 649 */ - 0x691B_C30E_C5FA_A427, /* 650 */ - 0xFF24_6311_CC32_7143, /* 651 */ - 0x3142_368E_30E5_3206, /* 652 */ - 0x7138_0E31_E02C_A396, /* 653 */ - 0x958D_5C96_0AAD_76F1, /* 654 */ - 0xF8D6_F430_C16D_A536, /* 655 */ - 0xC8FF_D13F_1BE7_E1D2, /* 656 */ - 0x7578_AE66_004D_DBE1, /* 657 */ - 0x0583_3F01_067B_E646, /* 658 */ - 0xBB34_B5AD_3BFE_586D, /* 659 */ - 0x095F_34C9_A12B_97F0, /* 660 */ - 0x247A_B645_25D6_0CA8, /* 661 */ - 0xDCDB_C6F3_0174_77D1, /* 662 */ - 0x4A2E_14D4_DECA_D24D, /* 663 */ - 0xBDB5_E6D9_BE0A_1EEB, /* 664 */ - 0x2A7E_70F7_7943_01AB, /* 665 */ - 0xDEF4_2D8A_2705_40FD, /* 666 */ - 0x0107_8EC0_A34C_22C1, /* 667 */ - 0xE5DE_511A_F4C1_6387, /* 668 */ - 0x7EBB_3A52_BD9A_330A, /* 669 */ - 0x7769_7857_AA7D_6435, /* 670 */ - 0x004E_8316_03AE_4C32, /* 671 */ - 0xE7A2_1020_AD78_E312, /* 672 */ - 0x9D41_A70C_6AB4_20F2, /* 673 */ - 0x28E0_6C18_EA11_41E6, /* 674 */ - 0xD2B2_8CBD_984F_6B28, /* 675 */ - 0x26B7_5F6C_446E_9D83, /* 676 */ - 0xBA47_568C_4D41_8D7F, /* 677 */ - 0xD80B_ADBF_E618_3D8E, /* 678 */ - 0x0E20_6D7F_5F16_6044, /* 679 */ - 0xE258_A439_11CB_CA3E, /* 680 */ - 0x723A_1746_B21D_C0BC, /* 681 */ - 0xC7CA_A854_F5D7_CDD3, /* 682 */ - 0x7CAC_3288_3D26_1D9C, /* 683 */ - 0x7690_C264_23BA_942C, /* 684 */ - 0x17E5_5524_4780_42B8, /* 685 */ - 0xE0BE_4776_56A2_389F, /* 686 */ - 0x4D28_9B5E_67AB_2DA0, /* 687 */ - 0x4486_2B9C_8FBB_FD31, /* 688 */ - 0xB47C_C804_9D14_1365, /* 689 */ - 0x822C_1B36_2B91_C793, /* 690 */ - 0x4EB1_4655_FB13_DFD8, /* 691 */ - 0x1ECB_BA07_14E2_A97B, /* 692 */ - 0x6143_459D_5CDE_5F14, /* 693 */ - 0x53A8_FBF1_D5F0_AC89, /* 694 */ - 0x97EA_04D8_1C5E_5B00, /* 695 */ - 0x6221_81A8_D4FD_B3F3, /* 696 */ - 0xE9BC_D341_572A_1208, /* 697 */ - 0x1411_2586_43CC_E58A, /* 698 */ - 0x9144_C5FE_A4C6_E0A4, /* 699 */ - 0x0D33_D065_65CF_620F, /* 700 */ - 0x54A4_8D48_9F21_9CA1, /* 701 */ - 0xC43E_5EAC_6D63_C821, /* 702 */ - 0xA972_8B3A_7277_0DAF, /* 703 */ - 0xD793_4E7B_20DF_87EF, /* 704 */ - 0xE355_03B6_1A3E_86E5, /* 705 */ - 0xCAE3_21FB_C819_D504, /* 706 */ - 0x129A_50B3_AC60_BFA6, /* 707 */ - 0xCD5E_68EA_7E9F_B6C3, /* 708 */ - 0xB01C_9019_9483_B1C7, /* 709 */ - 0x3DE9_3CD5_C295_376C, /* 710 */ - 0xAED5_2EDF_2AB9_AD13, /* 711 */ - 0x2E60_F512_C0A0_7884, /* 712 */ - 0xBC3D_86A3_E362_10C9, /* 713 */ - 0x3526_9D9B_1639_51CE, /* 714 */ - 0x0C7D_6E2A_D0CD_B5FA, /* 715 */ - 0x59E8_6297_D87F_5733, /* 716 */ - 0x298E_F221_898D_B0E7, /* 717 */ - 0x5500_0029_D1A5_AA7E, /* 718 */ - 0x8BC0_8AE1_B506_1B45, /* 719 */ - 0xC2C3_1C2B_6C92_703A, /* 720 */ - 0x94CC_596B_AF25_EF42, /* 721 */ - 0x0A1D_73DB_2254_0456, /* 722 */ - 0x04B6_A0F9_D9C4_179A, /* 723 */ - 0xEFFD_AFA2_AE3D_3C60, /* 724 */ - 0xF7C8_075B_B494_96C4, /* 725 */ - 0x9CC5_C714_1D1C_D4E3, /* 726 */ - 0x78BD_1638_218E_5534, /* 727 */ - 0xB2F1_1568_F850_246A, /* 728 */ - 0xEDFA_BCFA_9502_BC29, /* 729 */ - 0x796C_E5F2_DA23_051B, /* 730 */ - 0xAAE1_28B0_DC93_537C, /* 731 */ - 0x3A49_3DA0_EE4B_29AE, /* 732 */ - 0xB5DF_6B2C_4168_95D7, /* 733 */ - 0xFCAB_BD25_122D_7F37, /* 734 */ - 0x7081_0B58_105D_C4B1, /* 735 */ - 0xE10F_DD37_F788_2A90, /* 736 */ - 0x524D_CAB5_518A_3F5C, /* 737 */ - 0x3C9E_8587_8451_255B, /* 738 */ - 0x4029_8281_19BD_34E2, /* 739 */ - 0x74A0_5B6F_5D3C_ECCB, /* 740 */ - 0xB610_0215_42E1_3ECA, /* 741 */ - 0x0FF9_79D1_2F59_E2AC, /* 742 */ - 0x6037_DA27_E4F9_CC50, /* 743 */ - 0x5E92_975A_0DF1_847D, /* 744 */ - 0xD66D_E190_D3E6_23FE, /* 745 */ - 0x5032_D6B8_7B56_8048, /* 746 */ - 0x9A36_B7CE_8235_216E, /* 747 */ - 0x8027_2A7A_24F6_4B4A, /* 748 */ - 0x93EF_ED8B_8C69_16F7, /* 749 */ - 0x37DD_BFF4_4CCE_1555, /* 750 */ - 0x4B95_DB5D_4B99_BD25, /* 751 */ - 0x92D3_FDA1_6981_2FC0, /* 752 */ - 0xFB1A_4A9A_9066_0BB6, /* 753 */ - 0x730C_1969_46A4_B9B2, /* 754 */ - 0x81E2_89AA_7F49_DA68, /* 755 */ - 0x6466_9A0F_83B1_A05F, /* 756 */ - 0x27B3_FF7D_9644_F48B, /* 757 */ - 0xCC6B_615C_8DB6_75B3, /* 758 */ - 0x674F_20B9_BCEB_BE95, /* 759 */ - 0x6F31_2382_7565_5982, /* 760 */ - 0x5AE4_8871_3E45_CF05, /* 761 */ - 0xBF61_9F99_54C2_1157, /* 762 */ - 0xEABA_C460_40A8_EAE9, /* 763 */ - 0x454C_6FE9_F2C0_C1CD, /* 764 */ - 0x419C_F649_6412_691C, /* 765 */ - 0xD3DC_3BEF_265B_0F70, /* 766 */ - 0x6D0E_60F5_C357_8A9E, /* 767 */ -]; -static T4: [u64; 256] = [ - 0x5B0E_6085_2632_3C55, /* 768 */ - 0x1A46_C1A9_FA1B_59F5, /* 769 */ - 0xA9E2_45A1_7C4C_8FFA, /* 770 */ - 0x65CA_5159_DB29_55D7, /* 771 */ - 0x05DB_0A76_CE35_AFC2, /* 772 */ - 0x81EA_C77E_A911_3D45, /* 773 */ - 0x528E_F88A_B6AC_0A0D, /* 774 */ - 0xA09E_A253_597B_E3FF, /* 775 */ - 0x430D_DFB3_AC48_CD56, /* 776 */ - 0xC4B3_A67A_F45C_E46F, /* 777 */ - 0x4ECE_CFD8_FBE2_D05E, /* 778 */ - 0x3EF5_6F10_B399_35F0, /* 779 */ - 0x0B22_D682_9CD6_19C6, /* 780 */ - 0x17FD_460A_74DF_2069, /* 781 */ - 0x6CF8_CC8E_8510_ED40, /* 782 */ - 0xD6C8_24BF_3A6E_CAA7, /* 783 */ - 0x6124_3D58_1A81_7049, /* 784 */ - 0x048B_ACB6_BBC1_63A2, /* 785 */ - 0xD9A3_8AC2_7D44_CC32, /* 786 */ - 0x7FDD_FF5B_AAF4_10AB, /* 787 */ - 0xAD6D_495A_A804_824B, /* 788 */ - 0xE1A6_A74F_2D8C_9F94, /* 789 */ - 0xD4F7_8512_35DE_E8E3, /* 790 */ - 0xFD4B_7F88_6540_D893, /* 791 */ - 0x247C_2004_2AA4_BFDA, /* 792 */ - 0x096E_A1C5_17D1_327C, /* 793 */ - 0xD569_66B4_361A_6685, /* 794 */ - 0x277D_A5C3_1221_057D, /* 795 */ - 0x94D5_9893_A43A_CFF7, /* 796 */ - 0x64F0_C51C_CDC0_2281, /* 797 */ - 0x3D33_BCC4_FF61_89DB, /* 798 */ - 0xE005_CB18_4CE6_6AF1, /* 799 */ - 0xFF5C_CD1D_1DB9_9BEA, /* 800 */ - 0xB0B8_54A7_FE42_980F, /* 801 */ - 0x7BD4_6A6A_718D_4B9F, /* 802 */ - 0xD10F_A8CC_22A5_FD8C, /* 803 */ - 0xD314_8495_2BE4_BD31, /* 804 */ - 0xC7FA_975F_CB24_3847, /* 805 */ - 0x4886_ED1E_5846_C407, /* 806 */ - 0x28CD_DB79_1EB7_0B04, /* 807 */ - 0xC2B0_0BE2_F573_417F, /* 808 */ - 0x5C95_9045_2180_F877, /* 809 */ - 0x7A6B_DDFF_F370_EB00, /* 810 */ - 0xCE50_9E38_D6D9_D6A4, /* 811 */ - 0xEBEB_0F00_647F_A702, /* 812 */ - 0x1DCC_06CF_7660_6F06, /* 813 */ - 0xE4D9_F28B_A286_FF0A, /* 814 */ - 0xD85A_305D_C918_C262, /* 815 */ - 0x475B_1D87_3222_5F54, /* 816 */ - 0x2D4F_B516_68CC_B5FE, /* 817 */ - 0xA679_B9D9_D72B_BA20, /* 818 */ - 0x5384_1C0D_912D_43A5, /* 819 */ - 0x3B7E_AA48_BF12_A4E8, /* 820 */ - 0x781E_0E47_F22F_1DDF, /* 821 */ - 0xEFF2_0CE6_0AB5_0973, /* 822 */ - 0x20D2_61D1_9DFF_B742, /* 823 */ - 0x16A1_2B03_062A_2E39, /* 824 */ - 0x1960_EB22_3965_0495, /* 825 */ - 0x251C_16FE_D50E_B8B8, /* 826 */ - 0x9AC0_C330_F826_016E, /* 827 */ - 0xED15_2665_953E_7671, /* 828 */ - 0x02D6_3194_A636_9570, /* 829 */ - 0x5074_F083_94B1_C987, /* 830 */ - 0x70BA_598C_90B2_5CE1, /* 831 */ - 0x794A_1581_0B97_42F6, /* 832 */ - 0x0D59_25E9_FCAF_8C6C, /* 833 */ - 0x3067_716C_D868_744E, /* 834 */ - 0x910A_B077_E8D7_731B, /* 835 */ - 0x6A61_BBDB_5AC4_2F61, /* 836 */ - 0x9351_3EFB_F085_1567, /* 837 */ - 0xF494_724B_9E83_E9D5, /* 838 */ - 0xE887_E198_5C09_648D, /* 839 */ - 0x34B1_D3C6_7537_0CFD, /* 840 */ - 0xDC35_E433_BC0D_255D, /* 841 */ - 0xD0AA_B842_3413_1BE0, /* 842 */ - 0x0804_2A50_B48B_7EAF, /* 843 */ - 0x9997_C4EE_44A3_AB35, /* 844 */ - 0x829A_7B49_2017_99D0, /* 845 */ - 0x263B_8307_B7C5_4441, /* 846 */ - 0x752F_95F4_FD6A_6CA6, /* 847 */ - 0x9272_1740_2C08_C6E5, /* 848 */ - 0x2A8A_B754_A795_D9EE, /* 849 */ - 0xA442_F755_2F72_943D, /* 850 */ - 0x2C31_334E_1978_1208, /* 851 */ - 0x4FA9_8D7C_EAEE_6291, /* 852 */ - 0x55C3_862F_665D_B309, /* 853 */ - 0xBD06_1017_5D53_B1F3, /* 854 */ - 0x46FE_6CB8_4041_3F27, /* 855 */ - 0x3FE0_3792_DF0C_FA59, /* 856 */ - 0xCFE7_0037_2EB8_5E8F, /* 857 */ - 0xA7BE_29E7_ADBC_E118, /* 858 */ - 0xE544_EE5C_DE84_31DD, /* 859 */ - 0x8A78_1B1B_41F1_873E, /* 860 */ - 0xA5C9_4C78_A0D2_F0E7, /* 861 */ - 0x3941_2E28_77B6_0728, /* 862 */ - 0xA126_5EF3_AFC9_A62C, /* 863 */ - 0xBCC2_770C_6A25_06C5, /* 864 */ - 0x3AB6_6DD5_DCE1_CE12, /* 865 */ - 0xE654_99D0_4A67_5B37, /* 866 */ - 0x7D8F_5234_81BF_D216, /* 867 */ - 0x0F6F_64FC_EC15_F389, /* 868 */ - 0x74EF_BE61_8B5B_13C8, /* 869 */ - 0xACDC_82B7_1427_3E1D, /* 870 */ - 0xDD40_BFE0_0319_9D17, /* 871 */ - 0x37E9_9257_E7E0_61F8, /* 872 */ - 0xFA52_6269_0477_5AAA, /* 873 */ - 0x8BBB_F63A_463D_56F9, /* 874 */ - 0xF001_3F15_43A2_6E64, /* 875 */ - 0xA830_7E9F_879E_C898, /* 876 */ - 0xCC4C_27A4_1501_77CC, /* 877 */ - 0x1B43_2F2C_CA1D_3348, /* 878 */ - 0xDE1D_1F8F_9F6F_A013, /* 879 */ - 0x6066_02A0_47A7_DDD6, /* 880 */ - 0xD237_AB64_CC1C_B2C7, /* 881 */ - 0x9B93_8E72_25FC_D1D3, /* 882 */ - 0xEC4E_0370_8E0F_F476, /* 883 */ - 0xFEB2_FBDA_3D03_C12D, /* 884 */ - 0xAE0B_CED2_EE43_889A, /* 885 */ - 0x22CB_8923_EBFB_4F43, /* 886 */ - 0x6936_0D01_3CF7_396D, /* 887 */ - 0x855E_3602_D2D4_E022, /* 888 */ - 0x0738_05BA_D01F_784C, /* 889 */ - 0x33E1_7A13_3852_F546, /* 890 */ - 0xDF48_7405_8AC7_B638, /* 891 */ - 0xBA92_B29C_678A_A14A, /* 892 */ - 0x0CE8_9FC7_6CFA_ADCD, /* 893 */ - 0x5F9D_4E09_0833_9E34, /* 894 */ - 0xF1AF_E929_1F59_23B9, /* 895 */ - 0x6E34_80F6_0F4A_265F, /* 896 */ - 0xEEBF_3A2A_B29B_841C, /* 897 */ - 0xE219_38A8_8F91_B4AD, /* 898 */ - 0x57DF_EFF8_45C6_D3C3, /* 899 */ - 0x2F00_6B0B_F62C_AAF2, /* 900 */ - 0x62F4_79EF_6F75_EE78, /* 901 */ - 0x11A5_5AD4_1C89_16A9, /* 902 */ - 0xF229_D290_84FE_D453, /* 903 */ - 0x42F1_C27B_16B0_00E6, /* 904 */ - 0x2B1F_7674_9823_C074, /* 905 */ - 0x4B76_ECA3_C274_5360, /* 906 */ - 0x8C98_F463_B916_91BD, /* 907 */ - 0x14BC_C93C_F1AD_E66A, /* 908 */ - 0x8885_213E_6D45_8397, /* 909 */ - 0x8E17_7DF0_274D_4711, /* 910 */ - 0xB49B_73B5_503F_2951, /* 911 */ - 0x1016_8168_C3F9_6B6B, /* 912 */ - 0x0E3D_963B_63CA_B0AE, /* 913 */ - 0x8DFC_4B56_55A1_DB14, /* 914 */ - 0xF789_F135_6E14_DE5C, /* 915 */ - 0x683E_68AF_4E51_DAC1, /* 916 */ - 0xC9A8_4F9D_8D4B_0FD9, /* 917 */ - 0x3691_E03F_52A0_F9D1, /* 918 */ - 0x5ED8_6E46_E187_8E80, /* 919 */ - 0x3C71_1A0E_99D0_7150, /* 920 */ - 0x5A08_65B2_0C4E_9310, /* 921 */ - 0x56FB_FC1F_E4F0_682E, /* 922 */ - 0xEA8D_5DE3_105E_DF9B, /* 923 */ - 0x71AB_FDB1_2379_187A, /* 924 */ - 0x2EB9_9DE1_BEE7_7B9C, /* 925 */ - 0x21EC_C0EA_33CF_4523, /* 926 */ - 0x59A4_D752_1805_C7A1, /* 927 */ - 0x3896_F5EB_56AE_7C72, /* 928 */ - 0xAA63_8F3D_B18F_75DC, /* 929 */ - 0x9F39_358D_ABE9_808E, /* 930 */ - 0xB7DE_FA91_C00B_72AC, /* 931 */ - 0x6B55_41FD_6249_2D92, /* 932 */ - 0x6DC6_DEE8_F92E_4D5B, /* 933 */ - 0x353F_57AB_C4BE_EA7E, /* 934 */ - 0x7357_69D6_DA56_90CE, /* 935 */ - 0x0A23_4AA6_4239_1484, /* 936 */ - 0xF6F9_5080_28F8_0D9D, /* 937 */ - 0xB8E3_19A2_7AB3_F215, /* 938 */ - 0x31AD_9C11_5134_1A4D, /* 939 */ - 0x773C_22A5_7BEF_5805, /* 940 */ - 0x45C7_561A_0796_8633, /* 941 */ - 0xF913_DA9E_249D_BE36, /* 942 */ - 0xDA65_2D9B_78A6_4C68, /* 943 */ - 0x4C27_A97F_3BC3_34EF, /* 944 */ - 0x7662_1220_E66B_17F4, /* 945 */ - 0x9677_4389_9ACD_7D0B, /* 946 */ - 0xF3EE_5BCA_E0ED_6782, /* 947 */ - 0x409F_7536_00C8_79FC, /* 948 */ - 0x06D0_9A39_B592_6DB6, /* 949 */ - 0x6F83_AEB0_317A_C588, /* 950 */ - 0x01E6_CA4A_8638_1F21, /* 951 */ - 0x66FF_3462_D19F_3025, /* 952 */ - 0x7220_7C24_DDFD_3BFB, /* 953 */ - 0x4AF6_B6D3_E2EC_E2EB, /* 954 */ - 0x9C99_4DBE_C7EA_08DE, /* 955 */ - 0x49AC_E597_B09A_8BC4, /* 956 */ - 0xB38C_4766_CF07_97BA, /* 957 */ - 0x131B_9373_C57C_2A75, /* 958 */ - 0xB182_2CCE_6193_1E58, /* 959 */ - 0x9D75_55B9_09BA_1C0C, /* 960 */ - 0x127F_AFDD_937D_11D2, /* 961 */ - 0x29DA_3BAD_C66D_92E4, /* 962 */ - 0xA2C1_D571_54C2_ECBC, /* 963 */ - 0x58C5_134D_82F6_FE24, /* 964 */ - 0x1C3A_E351_5B62_274F, /* 965 */ - 0xE907_C82E_01CB_8126, /* 966 */ - 0xF8ED_0919_13E3_7FCB, /* 967 */ - 0x3249_D8F9_C800_46C9, /* 968 */ - 0x80CF_9BED_E388_FB63, /* 969 */ - 0x1881_539A_116C_F19E, /* 970 */ - 0x5103_F3F7_6BD5_2457, /* 971 */ - 0x15B7_E6F5_AE47_F7A8, /* 972 */ - 0xDBD7_C6DE_D47E_9CCF, /* 973 */ - 0x44E5_5C41_0228_BB1A, /* 974 */ - 0xB647_D425_5EDB_4E99, /* 975 */ - 0x5D11_882B_B8AA_FC30, /* 976 */ - 0xF509_8BBB_29D3_212A, /* 977 */ - 0x8FB5_EA14_E902_96B3, /* 978 */ - 0x677B_9421_57DD_025A, /* 979 */ - 0xFB58_E7C0_A390_ACB5, /* 980 */ - 0x89D3_674C_83BD_4A01, /* 981 */ - 0x9E2D_A4DF_4BF3_B93B, /* 982 */ - 0xFCC4_1E32_8CAB_4829, /* 983 */ - 0x03F3_8C96_BA58_2C52, /* 984 */ - 0xCAD1_BDBD_7FD8_5DB2, /* 985 */ - 0xBBB4_42C1_6082_AE83, /* 986 */ - 0xB95F_E86B_A5DA_9AB0, /* 987 */ - 0xB22E_0467_3771_A93F, /* 988 */ - 0x8453_58C9_4931_52D8, /* 989 */ - 0xBE2A_4886_97B4_541E, /* 990 */ - 0x95A2_DC2D_D38E_6966, /* 991 */ - 0xC02C_11AC_923C_852B, /* 992 */ - 0x2388_B199_0DF2_A87B, /* 993 */ - 0x7C80_08FA_1B4F_37BE, /* 994 */ - 0x1F70_D0C8_4D54_E503, /* 995 */ - 0x5490_ADEC_7ECE_57D4, /* 996 */ - 0x002B_3C27_D906_3A3A, /* 997 */ - 0x7EAE_A384_8030_A2BF, /* 998 */ - 0xC602_326D_ED20_03C0, /* 999 */ - 0x83A7_287D_69A9_4086, /* 1000 */ - 0xC57A_5FCB_30F5_7A8A, /* 1001 */ - 0xB568_44E4_79EB_E779, /* 1002 */ - 0xA373_B40F_05DC_BCE9, /* 1003 */ - 0xD71A_786E_8857_0EE2, /* 1004 */ - 0x879C_BACD_BDE8_F6A0, /* 1005 */ - 0x976A_D1BC_C164_A32F, /* 1006 */ - 0xAB21_E25E_9666_D78B, /* 1007 */ - 0x9010_63AA_E5E5_C33C, /* 1008 */ - 0x9818_B344_4869_8D90, /* 1009 */ - 0xE364_87AE_3E1E_8ABB, /* 1010 */ - 0xAFBD_F931_893B_DCB4, /* 1011 */ - 0x6345_A0DC_5FBB_D519, /* 1012 */ - 0x8628_FE26_9B94_65CA, /* 1013 */ - 0x1E5D_0160_3F9C_51EC, /* 1014 */ - 0x4DE4_4006_A150_49B7, /* 1015 */ - 0xBF6C_70E5_F776_CBB1, /* 1016 */ - 0x4112_18F2_EF55_2BED, /* 1017 */ - 0xCB0C_0708_705A_36A3, /* 1018 */ - 0xE74D_1475_4F98_6044, /* 1019 */ - 0xCD56_D943_0EA8_280E, /* 1020 */ - 0xC125_91D7_535F_5065, /* 1021 */ - 0xC832_23F1_720A_EF96, /* 1022 */ - 0xC3A0_396F_7363_A51F, /* 1023 */ -]; +/// Tiger hasher state. +pub type Tiger = CoreWrapper; +/// Tiger2 hasher state. +pub type Tiger2 = CoreWrapper; diff --git a/tiger/src/tables.rs b/tiger/src/tables.rs new file mode 100644 index 000000000..dc6e2c21e --- /dev/null +++ b/tiger/src/tables.rs @@ -0,0 +1,1035 @@ +pub(crate) static T1: [u64; 256] = [ + 0x02AA_B17C_F7E9_0C5E, + 0xAC42_4B03_E243_A8EC, + 0x72CD_5BE3_0DD5_FCD3, + 0x6D01_9B93_F6F9_7F3A, + 0xCD99_78FF_D21F_9193, + 0x7573_A1C9_7080_29E2, + 0xB164_326B_922A_83C3, + 0x4688_3EEE_0491_5870, + 0xEAAC_E305_7103_ECE6, + 0xC541_69B8_08A3_535C, + 0x4CE7_5491_8DDE_C47C, + 0x0AA2_F4DF_DC0D_F40C, + 0x10B7_6F18_A74D_BEFA, + 0xC6CC_B623_5AD1_AB6A, + 0x1372_6121_572F_E2FF, + 0x1A48_8C6F_199D_921E, + 0x4BC9_F9F4_DA00_07CA, + 0x26F5_E6F6_E852_41C7, + 0x8590_79DB_EA59_47B6, + 0x4F18_85C5_C99E_8C92, + 0xD78E_761E_A96F_864B, + 0x8E36_428C_52B5_C17D, + 0x69CF_6827_3730_63C1, + 0xB607_C93D_9BB4_C56E, + 0x7D82_0E76_0E76_B5EA, + 0x645C_9CC6_F07F_DC42, + 0xBF38_A078_2433_42E0, + 0x5F6B_343C_9D2E_7D04, + 0xF2C2_8AEB_600B_0EC6, + 0x6C0E_D85F_7254_BCAC, + 0x7159_2281_A4DB_4FE5, + 0x1967_FA69_CE0F_ED9F, + 0xFD52_93F8_B965_45DB, + 0xC879_E9D7_F2A7_600B, + 0x8602_4892_0193_194E, + 0xA4F9_533B_2D9C_C0B3, + 0x9053_836C_1595_7613, + 0xDB6D_CF8A_FC35_7BF1, + 0x18BE_EA7A_7A37_0F57, + 0x0371_17CA_50B9_9066, + 0x6AB3_0A97_7442_4A35, + 0xF4E9_2F02_E325_249B, + 0x7739_DB07_061C_CAE1, + 0xD8F3_B49C_ECA4_2A05, + 0xBD56_BE3F_5138_2F73, + 0x45FA_ED58_43B0_BB28, + 0x1C81_3D5C_11BF_1F83, + 0x8AF0_E4B6_D75F_A169, + 0x33EE_18A4_87AD_9999, + 0x3C26_E8EA_B1C9_4410, + 0xB510_102B_C0A8_22F9, + 0x141E_EF31_0CE6_123B, + 0xFC65_B900_59DD_B154, + 0xE015_8640_C5E0_E607, + 0x884E_0798_26C3_A3CF, + 0x930D_0D95_23C5_35FD, + 0x3563_8D75_4E9A_2B00, + 0x4085_FCCF_4046_9DD5, + 0xC4B1_7AD2_8BE2_3A4C, + 0xCAB2_F0FC_6A3E_6A2E, + 0x2860_971A_6B94_3FCD, + 0x3DDE_6EE2_12E3_0446, + 0x6222_F32A_E017_65AE, + 0x5D55_0BB5_4783_08FE, + 0xA9EF_A98D_A0ED_A22A, + 0xC351_A716_86C4_0DA7, + 0x1105_586D_9C86_7C84, + 0xDCFF_EE85_FDA2_2853, + 0xCCFB_D026_2C5E_EF76, + 0xBAF2_94CB_8990_D201, + 0xE694_64F5_2AFA_D975, + 0x94B0_13AF_DF13_3E14, + 0x06A7_D1A3_2823_C958, + 0x6F95_FE51_30F6_1119, + 0xD92A_B34E_462C_06C0, + 0xED7B_DE33_887C_71D2, + 0x7974_6D6E_6518_393E, + 0x5BA4_1938_5D71_3329, + 0x7C1B_A6B9_48A9_7564, + 0x3198_7C19_7BFD_AC67, + 0xDE6C_23C4_4B05_3D02, + 0x581C_49FE_D002_D64D, + 0xDD47_4D63_3826_1571, + 0xAA45_46C3_E473_D062, + 0x928F_CE34_9455_F860, + 0x4816_1BBA_CAAB_94D9, + 0x6391_2430_770E_6F68, + 0x6EC8_A5E6_02C6_641C, + 0x8728_2515_337D_DD2B, + 0x2CDA_6B42_034B_701B, + 0xB03D_37C1_81CB_096D, + 0xE108_4382_66C7_1C6F, + 0x2B31_80C7_EB51_B255, + 0xDF92_B82F_96C0_8BBC, + 0x5C68_C8C0_A632_F3BA, + 0x5504_CC86_1C3D_0556, + 0xABBF_A4E5_5FB2_6B8F, + 0x4184_8B0A_B3BA_CEB4, + 0xB334_A273_AA44_5D32, + 0xBCA6_96F0_A85A_D881, + 0x24F6_EC65_B528_D56C, + 0x0CE1_512E_90F4_524A, + 0x4E9D_D79D_5506_D35A, + 0x2589_05FA_C6CE_9779, + 0x2019_295B_3E10_9B33, + 0xF8A9_478B_73A0_54CC, + 0x2924_F2F9_3441_7EB0, + 0x3993_357D_536D_1BC4, + 0x38A8_1AC2_1DB6_FF8B, + 0x47C4_FBF1_7D60_16BF, + 0x1E0F_AADD_7667_E3F5, + 0x7ABC_FF62_938B_EB96, + 0xA78D_AD94_8FC1_79C9, + 0x8F1F_98B7_2911_E50D, + 0x61E4_8EAE_2712_1A91, + 0x4D62_F7AD_3185_9808, + 0xECEB_A345_EF5C_EAEB, + 0xF5CE_B25E_BC96_84CE, + 0xF633_E20C_B7F7_6221, + 0xA32C_DF06_AB82_93E4, + 0x985A_202C_A5EE_2CA4, + 0xCF0B_8447_CC8A_8FB1, + 0x9F76_5244_9798_59A3, + 0xA8D5_16B1_A124_0017, + 0x0BD7_BA3E_BB5D_C726, + 0xE54B_CA55_B86A_DB39, + 0x1D7A_3AFD_6C47_8063, + 0x519E_C608_E766_9EDD, + 0x0E57_15A2_D149_AA23, + 0x177D_4571_848F_F194, + 0xEEB5_5F32_4101_4C22, + 0x0F5E_5CA1_3A6E_2EC2, + 0x8029_927B_75F5_C361, + 0xAD13_9FAB_C3D6_E436, + 0x0D5D_F1A9_4CCF_402F, + 0x3E8B_D948_BEA5_DFC8, + 0xA5A0_D357_BD3F_F77E, + 0xA2D1_2E25_1F74_F645, + 0x66FD_9E52_5E81_A082, + 0x2E0C_90CE_7F68_7A49, + 0xC2E8_BCBE_BA97_3BC5, + 0x0000_01BC_E509_745F, + 0x4237_77BB_E6DA_B3D6, + 0xD166_1C7E_AEF0_6EB5, + 0xA178_1F35_4DAA_CFD8, + 0x2D11_284A_2B16_AFFC, + 0xF1FC_4F67_FA89_1D1F, + 0x73EC_C25D_CB92_0ADA, + 0xAE61_0C22_C2A1_2651, + 0x96E0_A810_D356_B78A, + 0x5A9A_381F_2FE7_870F, + 0xD5AD_62ED_E94E_5530, + 0xD225_E5E8_368D_1427, + 0x6597_7B70_C7AF_4631, + 0x99F8_89B2_DE39_D74F, + 0x233F_30BF_54E1_D143, + 0x9A96_75D3_D9A6_3C97, + 0x5470_554F_F334_F9A8, + 0x166A_CB74_4A4F_5688, + 0x70C7_4CAA_B2E4_AEAD, + 0xF0D0_9164_6F29_4D12, + 0x57B8_2A89_6840_31D1, + 0xEFD9_5A5A_61BE_0B6B, + 0x2FBD_12E9_69F2_F29A, + 0x9BD3_7013_FEFF_9FE8, + 0x3F9B_0404_D608_5A06, + 0x4940_C1F3_166C_FE15, + 0x0954_2C4D_CDF3_DEFB, + 0xB4C5_2183_85CD_5CE3, + 0xC935_B7DC_4462_A641, + 0x3417_F8A6_8ED3_B63F, + 0xB809_5929_5B21_5B40, + 0xF99C_DAEF_3B8C_8572, + 0x018C_0614_F8FC_B95D, + 0x1B14_ACCD_1A3A_CDF3, + 0x84D4_71F2_00BB_732D, + 0xC1A3_110E_95E8_DA16, + 0x430A_7220_BF1A_82B8, + 0xB77E_090D_39DF_210E, + 0x5EF4_BD9F_3CD0_5E9D, + 0x9D4F_F6DA_7E57_A444, + 0xDA1D_60E1_83D4_A5F8, + 0xB287_C384_1799_8E47, + 0xFE3E_DC12_1BB3_1886, + 0xC7FE_3CCC_980C_CBEF, + 0xE46F_B590_189B_FD03, + 0x3732_FD46_9A4C_57DC, + 0x7EF7_00A0_7CF1_AD65, + 0x59C6_4468_A31D_8859, + 0x762F_B0B4_D45B_61F6, + 0x155B_AED0_9904_7718, + 0x6875_5E4C_3D50_BAA6, + 0xE921_4E7F_22D8_B4DF, + 0x2ADD_BF53_2EAC_95F4, + 0x32AE_3909_B4BD_0109, + 0x834D_F537_B08E_3450, + 0xFA20_9DA8_4220_728D, + 0x9E69_1D9B_9EFE_23F7, + 0x0446_D288_C4AE_8D7F, + 0x7B4C_C524_E169_785B, + 0x21D8_7F01_35CA_1385, + 0xCEBB_400F_137B_8AA5, + 0x272E_2B66_5807_96BE, + 0x3612_2641_25C2_B0DE, + 0x0577_02BD_AD1E_FBB2, + 0xD4BA_BB8E_ACF8_4BE9, + 0x9158_3139_641B_C67B, + 0x8BDC_2DE0_8036_E024, + 0x603C_8156_F49F_68ED, + 0xF7D2_36F7_DBEF_5111, + 0x9727_C459_8AD2_1E80, + 0xA08A_0896_670A_5FD7, + 0xCB4A_8F43_09EB_A9CB, + 0x81AF_564B_0F70_36A1, + 0xC0B9_9AA7_7819_9ABD, + 0x959F_1EC8_3FC8_E952, + 0x8C50_5077_794A_81B9, + 0x3ACA_AF8F_0563_38F0, + 0x07B4_3F50_627A_6778, + 0x4A44_AB49_F5EC_CC77, + 0x3BC3_D6E4_B679_EE98, + 0x9CC0_D4D1_CF14_108C, + 0x4406_C00B_206B_C8A0, + 0x82A1_8854_C8D7_2D89, + 0x67E3_66B3_5C3C_432C, + 0xB923_DD61_102B_37F2, + 0x56AB_2779_D884_271D, + 0xBE83_E1B0_FF15_25AF, + 0xFB7C_65D4_217E_49A9, + 0x6BDB_E0E7_6D48_E7D4, + 0x08DF_8287_45D9_179E, + 0x22EA_6A9A_DD53_BD34, + 0xE36E_141C_5622_200A, + 0x7F80_5D1B_8CB7_50EE, + 0xAFE5_C7A5_9F58_E837, + 0xE27F_996A_4FB1_C23C, + 0xD386_7DFB_0775_F0D0, + 0xD0E6_73DE_6E88_891A, + 0x123A_EB9E_AFB8_6C25, + 0x30F1_D5D5_C145_B895, + 0xBB43_4A2D_EE72_69E7, + 0x78CB_67EC_F931_FA38, + 0xF33B_0372_323B_BF9C, + 0x52D6_6336_FB27_9C74, + 0x505F_33AC_0AFB_4EAA, + 0xE8A5_CD99_A2CC_E187, + 0x5349_7480_1E2D_30BB, + 0x8D2D_5711_D587_6D90, + 0x1F1A_4128_91BC_038E, + 0xD6E2_E71D_82E5_6648, + 0x7403_6C3A_4977_32B7, + 0x89B6_7ED9_6361_F5AB, + 0xFFED_95D8_F1EA_02A2, + 0xE72B_3BD6_1464_D43D, + 0xA630_0F17_0BDC_4820, + 0xEBC1_8760_ED78_A77A, +]; + +pub(crate) static T2: [u64; 256] = [ + 0xE6A6_BE5A_05A1_2138, + 0xB5A1_22A5_B4F8_7C98, + 0x563C_6089_140B_6990, + 0x4C46_CB2E_391F_5DD5, + 0xD932_ADDB_C9B7_9434, + 0x08EA_70E4_2015_AFF5, + 0xD765_A667_3E47_8CF1, + 0xC4FB_757E_AB27_8D99, + 0xDF11_C686_2D6E_0692, + 0xDDEB_84F1_0D7F_3B16, + 0x6F2E_F604_A665_EA04, + 0x4A8E_0F0F_F0E0_DFB3, + 0xA5ED_EEF8_3DBC_BA51, + 0xFC4F_0A2A_0EA4_371E, + 0xE83E_1DA8_5CB3_8429, + 0xDC8F_F882_BA1B_1CE2, + 0xCD45_505E_8353_E80D, + 0x18D1_9A00_D4DB_0717, + 0x34A0_CFED_A5F3_8101, + 0x0BE7_7E51_8887_CAF2, + 0x1E34_1438_B3C4_5136, + 0xE057_97F4_9089_CCF9, + 0xFFD2_3F9D_F259_1D14, + 0x543D_DA22_8595_C5CD, + 0x661F_81FD_9905_2A33, + 0x8736_E641_DB0F_7B76, + 0x1522_7725_418E_5307, + 0xE25F_7F46_162E_B2FA, + 0x48A8_B212_6C13_D9FE, + 0xAFDC_5417_92E7_6EEA, + 0x03D9_12BF_C6D1_898F, + 0x31B1_AAFA_1B83_F51B, + 0xF1AC_2796_E42A_B7D9, + 0x40A3_A7D7_FCD2_EBAC, + 0x1056_136D_0AFB_BCC5, + 0x7889_E1DD_9A6D_0C85, + 0xD335_2578_2A79_74AA, + 0xA7E2_5D09_078A_C09B, + 0xBD41_38B3_EAC6_EDD0, + 0x920A_BFBE_71EB_9E70, + 0xA2A5_D0F5_4FC2_625C, + 0xC054_E36B_0B12_90A3, + 0xF6DD_59FF_62FE_932B, + 0x3537_3545_11A8_AC7D, + 0xCA84_5E91_72FA_DCD4, + 0x84F8_2B60_329D_20DC, + 0x79C6_2CE1_CD67_2F18, + 0x8B09_A2AD_D124_642C, + 0xD0C1_E96A_19D9_E726, + 0x5A78_6A9B_4BA9_500C, + 0x0E02_0336_634C_43F3, + 0xC17B_474A_EB66_D822, + 0x6A73_1AE3_EC9B_AAC2, + 0x8226_667A_E084_0258, + 0x67D4_5676_91CA_ECA5, + 0x1D94_155C_4875_ADB5, + 0x6D00_FD98_5B81_3FDF, + 0x5128_6EFC_B774_CD06, + 0x5E88_3447_1FA7_44AF, + 0xF72C_A0AE_E761_AE2E, + 0xBE40_E4CD_AEE8_E09A, + 0xE997_0BBB_5118_F665, + 0x726E_4BEB_33DF_1964, + 0x703B_0007_2919_9762, + 0x4631_D816_F5EF_30A7, + 0xB880_B5B5_1504_A6BE, + 0x6417_93C3_7ED8_4B6C, + 0x7B21_ED77_F6E9_7D96, + 0x7763_0631_2EF9_6B73, + 0xAE52_8948_E86F_F3F4, + 0x53DB_D7F2_86A3_F8F8, + 0x16CA_DCE7_4CFC_1063, + 0x005C_19BD_FA52_C6DD, + 0x6886_8F5D_64D4_6AD3, + 0x3A9D_512C_CF1E_186A, + 0x367E_62C2_3856_60AE, + 0xE359_E7EA_77DC_B1D7, + 0x526C_0773_749A_BE6E, + 0x735A_E5F9_D09F_734B, + 0x493F_C7CC_8A55_8BA8, + 0xB0B9_C153_3041_AB45, + 0x3219_58BA_470A_59BD, + 0x852D_B00B_5F46_C393, + 0x9120_9B2B_D336_B0E5, + 0x6E60_4F7D_659E_F19F, + 0xB99A_8AE2_782C_CB24, + 0xCCF5_2AB6_C814_C4C7, + 0x4727_D9AF_BE11_727B, + 0x7E95_0D0C_0121_B34D, + 0x756F_4356_70AD_471F, + 0xF5AD_D442_615A_6849, + 0x4E87_E099_80B9_957A, + 0x2ACF_A1DF_50AE_E355, + 0xD898_263A_FD2F_D556, + 0xC8F4_924D_D80C_8FD6, + 0xCF99_CA3D_754A_173A, + 0xFE47_7BAC_AF91_BF3C, + 0xED53_71F6_D690_C12D, + 0x831A_5C28_5E68_7094, + 0xC5D3_C90A_3708_A0A4, + 0x0F7F_9037_17D0_6580, + 0x19F9_BB13_B8FD_F27F, + 0xB1BD_6F1B_4D50_2843, + 0x1C76_1BA3_8FFF_4012, + 0x0D15_30C4_E2E2_1F3B, + 0x8943_CE69_A737_2C8A, + 0xE518_4E11_FEB5_CE66, + 0x618B_DB80_BD73_6621, + 0x7D29_BAD6_8B57_4D0B, + 0x81BB_613E_25E6_FE5B, + 0x071C_9C10_BC07_913F, + 0xC7BE_EB79_09AC_2D97, + 0xC3E5_8D35_3BC5_D757, + 0xEB01_7892_F38F_61E8, + 0xD4EF_FB9C_9B1C_C21A, + 0x9972_7D26_F494_F7AB, + 0xA3E0_63A2_956B_3E03, + 0x9D4A_8B9A_4AA0_9C30, + 0x3F6A_B7D5_0009_0FB4, + 0x9CC0_F2A0_5726_8AC0, + 0x3DEE_9D2D_EDBF_42D1, + 0x330F_49C8_7960_A972, + 0xC6B2_7202_8742_1B41, + 0x0AC5_9EC0_7C00_369C, + 0xEF4E_AC49_CB35_3425, + 0xF450_244E_EF01_29D8, + 0x8ACC_46E5_CAF4_DEB6, + 0x2FFE_AB63_9892_63F7, + 0x8F7C_B9FE_5D7A_4578, + 0x5BD8_F764_4E63_4635, + 0x427A_7315_BF2D_C900, + 0x17D0_C4AA_2125_261C, + 0x3992_486C_9351_8E50, + 0xB4CB_FEE0_A2D7_D4C3, + 0x7C75_D620_2C5D_DD8D, + 0xDBC2_95D8_E35B_6C61, + 0x60B3_69D3_0203_2B19, + 0xCE42_685F_DCE4_4132, + 0x06F3_DDB9_DDF6_5610, + 0x8EA4_D21D_B5E1_48F0, + 0x20B0_FCE6_2FCD_496F, + 0x2C1B_9123_58B0_EE31, + 0xB283_17B8_18F5_A308, + 0xA89C_1E18_9CA6_D2CF, + 0x0C6B_1857_6AAA_DBC8, + 0xB65D_EAA9_1299_FAE3, + 0xFB2B_794B_7F10_27E7, + 0x04E4_317F_443B_5BEB, + 0x4B85_2D32_5939_D0A6, + 0xD5AE_6BEE_FB20_7FFC, + 0x3096_82B2_81C7_D374, + 0xBAE3_09A1_94C3_B475, + 0x8CC3_F97B_13B4_9F05, + 0x98A9_422F_F829_3967, + 0x244B_16B0_1076_FF7C, + 0xF8BF_571C_663D_67EE, + 0x1F0D_6758_EEE3_0DA1, + 0xC9B6_11D9_7ADE_B9B7, + 0xB7AF_D588_7B6C_57A2, + 0x6290_AE84_6B98_4FE1, + 0x94DF_4CDE_ACC1_A5FD, + 0x058A_5BD1_C548_3AFF, + 0x6316_6CC1_42BA_3C37, + 0x8DB8_526E_B2F7_6F40, + 0xE108_8003_6F0D_6D4E, + 0x9E05_23C9_971D_311D, + 0x45EC_2824_CC7C_D691, + 0x575B_8359_E623_82C9, + 0xFA9E_400D_C488_9995, + 0xD182_3ECB_4572_1568, + 0xDAFD_983B_8206_082F, + 0xAA7D_2908_2386_A8CB, + 0x269F_CD44_03B8_7588, + 0x1B91_F5F7_28BD_D1E0, + 0xE466_9F39_0402_01F6, + 0x7A1D_7C21_8CF0_4ADE, + 0x6562_3C29_D79C_E5CE, + 0x2368_4490_96C0_0BB1, + 0xAB9B_F187_9DA5_03BA, + 0xBC23_ECB1_A458_058E, + 0x9A58_DF01_BB40_1ECC, + 0xA070_E868_A85F_143D, + 0x4FF1_8830_7DF2_239E, + 0x14D5_65B4_1A64_1183, + 0xEE13_3374_5270_1602, + 0x950E_3DCF_3F28_5E09, + 0x5993_0254_B9C8_0953, + 0x3BF2_9940_8930_DA6D, + 0xA955_943F_5369_1387, + 0xA15E_DECA_A9CB_8784, + 0x2914_2127_352B_E9A0, + 0x76F0_371F_FF4E_7AFB, + 0x0239_F450_274F_2228, + 0xBB07_3AF0_1D5E_868B, + 0xBFC8_0571_C10E_96C1, + 0xD267_0885_6822_2E23, + 0x9671_A3D4_8E80_B5B0, + 0x55B5_D38A_E193_BB81, + 0x693A_E2D0_A18B_04B8, + 0x5C48_B4EC_ADD5_335F, + 0xFD74_3B19_4916_A1CA, + 0x2577_0181_34BE_98C4, + 0xE779_87E8_3C54_A4AD, + 0x28E1_1014_DA33_E1B9, + 0x270C_C59E_226A_A213, + 0x7149_5F75_6D1A_5F60, + 0x9BE8_53FB_60AF_EF77, + 0xADC7_86A7_F744_3DBF, + 0x0904_4561_73B2_9A82, + 0x58BC_7A66_C232_BD5E, + 0xF306_558C_673A_C8B2, + 0x41F6_39C6_B6C9_772A, + 0x216D_EFE9_9FDA_35DA, + 0x1164_0CC7_1C7B_E615, + 0x93C4_3694_565C_5527, + 0xEA03_8E62_4677_7839, + 0xF9AB_F3CE_5A3E_2469, + 0x741E_768D_0FD3_12D2, + 0x0144_B883_CED6_52C6, + 0xC20B_5A5B_A33F_8552, + 0x1AE6_9633_C343_5A9D, + 0x97A2_8CA4_088C_FDEC, + 0x8824_A43C_1E96_F420, + 0x3761_2FA6_6EEE_A746, + 0x6B4C_B165_F9CF_0E5A, + 0x43AA_1C06_A0AB_FB4A, + 0x7F4D_C26F_F162_796B, + 0x6CBA_CC8E_54ED_9B0F, + 0xA6B7_FFEF_D2BB_253E, + 0x2E25_BC95_B0A2_9D4F, + 0x86D6_A58B_DEF1_388C, + 0xDED7_4AC5_76B6_F054, + 0x8030_BDBC_2B45_805D, + 0x3C81_AF70_E94D_9289, + 0x3EFF_6DDA_9E31_00DB, + 0xB38D_C39F_DFCC_8847, + 0x1238_8552_8D17_B87E, + 0xF2DA_0ED2_40B1_B642, + 0x44CE_FADC_D54B_F9A9, + 0x1312_200E_433C_7EE6, + 0x9FFC_C84F_3A78_C748, + 0xF0CD_1F72_2485_76BB, + 0xEC69_7405_3638_CFE4, + 0x2BA7_B67C_0CEC_4E4C, + 0xAC2F_4DF3_E5CE_32ED, + 0xCB33_D143_26EA_4C11, + 0xA4E9_044C_C77E_58BC, + 0x5F51_3293_D934_FCEF, + 0x5DC9_6455_06E5_5444, + 0x50DE_418F_317D_E40A, + 0x388C_B31A_69DD_E259, + 0x2DB4_A834_5582_0A86, + 0x9010_A91E_8471_1AE9, + 0x4DF7_F0B7_B149_8371, + 0xD62A_2EAB_C097_7179, + 0x22FA_C097_AA8D_5C0E, +]; + +pub(crate) static T3: [u64; 256] = [ + 0xF49F_CC2F_F1DA_F39B, + 0x487F_D5C6_6FF2_9281, + 0xE8A3_0667_FCDC_A83F, + 0x2C9B_4BE3_D2FC_CE63, + 0xDA3F_F74B_93FB_BBC2, + 0x2FA1_65D2_FE70_BA66, + 0xA103_E279_970E_93D4, + 0xBECD_EC77_B0E4_5E71, + 0xCFB4_1E72_3985_E497, + 0xB70A_AA02_5EF7_5017, + 0xD423_09F0_3840_B8E0, + 0x8EFC_1AD0_3589_8579, + 0x96C6_920B_E2B2_ABC5, + 0x66AF_4163_375A_9172, + 0x2174_ABDC_CA71_27FB, + 0xB33C_CEA6_4A72_FF41, + 0xF04A_4933_0830_66A5, + 0x8D97_0ACD_D728_9AF5, + 0x8F96_E8E0_31C8_C25E, + 0xF3FE_C022_7687_5D47, + 0xEC7B_F310_0561_90DD, + 0xF5AD_B0AE_BB0F_1491, + 0x9B50_F885_0FD5_8892, + 0x4975_4883_58B7_4DE8, + 0xA335_4FF6_9153_1C61, + 0x0702_BBE4_81D2_C6EE, + 0x89FB_2405_7DED_ED98, + 0xAC30_7513_8596_E902, + 0x1D2D_3580_1727_72ED, + 0xEB73_8FC2_8E6B_C30D, + 0x5854_EF8F_6304_4326, + 0x9E5C_5232_5ADD_3BBE, + 0x90AA_53CF_325C_4623, + 0xC1D2_4D51_349D_D067, + 0x2051_CFEE_A69E_A624, + 0x1322_0F0A_862E_7E4F, + 0xCE39_3994_04E0_4864, + 0xD9C4_2CA4_7086_FCB7, + 0x685A_D223_8A03_E7CC, + 0x0664_84B2_AB2F_F1DB, + 0xFE9D_5D70_EFBF_79EC, + 0x5B13_B9DD_9C48_1854, + 0x15F0_D475_ED15_09AD, + 0x0BEB_CD06_0EC7_9851, + 0xD58C_6791_183A_B7F8, + 0xD118_7C50_52F3_EEE4, + 0xC95D_1192_E54E_82FF, + 0x86EE_A14C_B9AC_6CA2, + 0x3485_BEB1_5367_7D5D, + 0xDD19_1D78_1F8C_492A, + 0xF608_66BA_A784_EBF9, + 0x518F_643B_A2D0_8C74, + 0x8852_E956_E108_7C22, + 0xA768_CB8D_C410_AE8D, + 0x3804_7726_BFEC_8E1A, + 0xA677_38B4_CD3B_45AA, + 0xAD16_691C_EC0D_DE19, + 0xC6D4_3193_8046_2E07, + 0xC5A5_876D_0BA6_1938, + 0x16B9_FA1F_A58F_D840, + 0x188A_B117_3CA7_4F18, + 0xABDA_2F98_C99C_021F, + 0x3E05_80AB_134A_E816, + 0x5F3B_05B7_7364_5ABB, + 0x2501_A2BE_5575_F2F6, + 0x1B2F_7400_4E7E_8BA9, + 0x1CD7_5803_71E8_D953, + 0x7F6E_D895_6276_4E30, + 0xB159_26FF_596F_003D, + 0x9F65_293D_A8C5_D6B9, + 0x6ECE_F04D_D690_F84C, + 0x4782_275F_FF33_AF88, + 0xE414_3308_3F82_0801, + 0xFD0D_FE40_9A1A_F9B5, + 0x4325_A334_2CDB_396B, + 0x8AE7_7E62_B301_B252, + 0xC36F_9E9F_6655_615A, + 0x8545_5A2D_92D3_2C09, + 0xF2C7_DEA9_4947_7485, + 0x63CF_B4C1_33A3_9EBA, + 0x83B0_40CC_6EBC_5462, + 0x3B94_54C8_FDB3_26B0, + 0x56F5_6A9E_87FF_D78C, + 0x2DC2_940D_99F4_2BC6, + 0x98F7_DF09_6B09_6E2D, + 0x19A6_E01E_3AD8_52BF, + 0x42A9_9CCB_DBD4_B40B, + 0xA599_98AF_45E9_C559, + 0x3662_95E8_07D9_3186, + 0x6B48_181B_FAA1_F773, + 0x1FEC_57E2_157A_0A1D, + 0x4667_446A_F620_1AD5, + 0xE615_EBCA_CFB0_F075, + 0xB8F3_1F4F_6829_0778, + 0x2271_3ED6_CE22_D11E, + 0x3057_C1A7_2EC3_C93B, + 0xCB46_ACC3_7C3F_1F2F, + 0xDBB8_93FD_02AA_F50E, + 0x331F_D92E_600B_9FCF, + 0xA498_F961_48EA_3AD6, + 0xA8D8_426E_8B6A_83EA, + 0xA089_B274_B773_5CDC, + 0x87F6_B373_1E52_4A11, + 0x1188_08E5_CBC9_6749, + 0x9906_E4C7_B19B_D394, + 0xAFED_7F7E_9B24_A20C, + 0x6509_EADE_EB36_44A7, + 0x6C1E_F1D3_E8EF_0EDE, + 0xB9C9_7D43_E979_8FB4, + 0xA2F2_D784_740C_28A3, + 0x7B84_9647_6197_566F, + 0x7A5B_E3E6_B65F_069D, + 0xF963_30ED_78BE_6F10, + 0xEEE6_0DE7_7A07_6A15, + 0x2B4B_EE4A_A08B_9BD0, + 0x6A56_A63E_C7B8_894E, + 0x0212_1359_BA34_FEF4, + 0x4CBF_99F8_2837_03FC, + 0x3980_7135_0CAF_30C8, + 0xD0A7_7A89_F017_687A, + 0xF1C1_A9EB_9E42_3569, + 0x8C79_7628_2DEE_8199, + 0x5D17_37A5_DD1F_7ABD, + 0x4F53_433C_09A9_FA80, + 0xFA8B_0C53_DF7C_A1D9, + 0x3FD9_DCBC_886C_CB77, + 0xC040_917C_A91B_4720, + 0x7DD0_0142_F9D1_DCDF, + 0x8476_FC1D_4F38_7B58, + 0x23F8_E7C5_F331_6503, + 0x032A_2244_E7E3_7339, + 0x5C87_A5D7_50F5_A74B, + 0x082B_4CC4_3698_992E, + 0xDF91_7BEC_B858_F63C, + 0x3270_B8FC_5BF8_6DDA, + 0x10AE_72BB_29B5_DD76, + 0x576A_C94E_7700_362B, + 0x1AD1_12DA_C61E_FB8F, + 0x691B_C30E_C5FA_A427, + 0xFF24_6311_CC32_7143, + 0x3142_368E_30E5_3206, + 0x7138_0E31_E02C_A396, + 0x958D_5C96_0AAD_76F1, + 0xF8D6_F430_C16D_A536, + 0xC8FF_D13F_1BE7_E1D2, + 0x7578_AE66_004D_DBE1, + 0x0583_3F01_067B_E646, + 0xBB34_B5AD_3BFE_586D, + 0x095F_34C9_A12B_97F0, + 0x247A_B645_25D6_0CA8, + 0xDCDB_C6F3_0174_77D1, + 0x4A2E_14D4_DECA_D24D, + 0xBDB5_E6D9_BE0A_1EEB, + 0x2A7E_70F7_7943_01AB, + 0xDEF4_2D8A_2705_40FD, + 0x0107_8EC0_A34C_22C1, + 0xE5DE_511A_F4C1_6387, + 0x7EBB_3A52_BD9A_330A, + 0x7769_7857_AA7D_6435, + 0x004E_8316_03AE_4C32, + 0xE7A2_1020_AD78_E312, + 0x9D41_A70C_6AB4_20F2, + 0x28E0_6C18_EA11_41E6, + 0xD2B2_8CBD_984F_6B28, + 0x26B7_5F6C_446E_9D83, + 0xBA47_568C_4D41_8D7F, + 0xD80B_ADBF_E618_3D8E, + 0x0E20_6D7F_5F16_6044, + 0xE258_A439_11CB_CA3E, + 0x723A_1746_B21D_C0BC, + 0xC7CA_A854_F5D7_CDD3, + 0x7CAC_3288_3D26_1D9C, + 0x7690_C264_23BA_942C, + 0x17E5_5524_4780_42B8, + 0xE0BE_4776_56A2_389F, + 0x4D28_9B5E_67AB_2DA0, + 0x4486_2B9C_8FBB_FD31, + 0xB47C_C804_9D14_1365, + 0x822C_1B36_2B91_C793, + 0x4EB1_4655_FB13_DFD8, + 0x1ECB_BA07_14E2_A97B, + 0x6143_459D_5CDE_5F14, + 0x53A8_FBF1_D5F0_AC89, + 0x97EA_04D8_1C5E_5B00, + 0x6221_81A8_D4FD_B3F3, + 0xE9BC_D341_572A_1208, + 0x1411_2586_43CC_E58A, + 0x9144_C5FE_A4C6_E0A4, + 0x0D33_D065_65CF_620F, + 0x54A4_8D48_9F21_9CA1, + 0xC43E_5EAC_6D63_C821, + 0xA972_8B3A_7277_0DAF, + 0xD793_4E7B_20DF_87EF, + 0xE355_03B6_1A3E_86E5, + 0xCAE3_21FB_C819_D504, + 0x129A_50B3_AC60_BFA6, + 0xCD5E_68EA_7E9F_B6C3, + 0xB01C_9019_9483_B1C7, + 0x3DE9_3CD5_C295_376C, + 0xAED5_2EDF_2AB9_AD13, + 0x2E60_F512_C0A0_7884, + 0xBC3D_86A3_E362_10C9, + 0x3526_9D9B_1639_51CE, + 0x0C7D_6E2A_D0CD_B5FA, + 0x59E8_6297_D87F_5733, + 0x298E_F221_898D_B0E7, + 0x5500_0029_D1A5_AA7E, + 0x8BC0_8AE1_B506_1B45, + 0xC2C3_1C2B_6C92_703A, + 0x94CC_596B_AF25_EF42, + 0x0A1D_73DB_2254_0456, + 0x04B6_A0F9_D9C4_179A, + 0xEFFD_AFA2_AE3D_3C60, + 0xF7C8_075B_B494_96C4, + 0x9CC5_C714_1D1C_D4E3, + 0x78BD_1638_218E_5534, + 0xB2F1_1568_F850_246A, + 0xEDFA_BCFA_9502_BC29, + 0x796C_E5F2_DA23_051B, + 0xAAE1_28B0_DC93_537C, + 0x3A49_3DA0_EE4B_29AE, + 0xB5DF_6B2C_4168_95D7, + 0xFCAB_BD25_122D_7F37, + 0x7081_0B58_105D_C4B1, + 0xE10F_DD37_F788_2A90, + 0x524D_CAB5_518A_3F5C, + 0x3C9E_8587_8451_255B, + 0x4029_8281_19BD_34E2, + 0x74A0_5B6F_5D3C_ECCB, + 0xB610_0215_42E1_3ECA, + 0x0FF9_79D1_2F59_E2AC, + 0x6037_DA27_E4F9_CC50, + 0x5E92_975A_0DF1_847D, + 0xD66D_E190_D3E6_23FE, + 0x5032_D6B8_7B56_8048, + 0x9A36_B7CE_8235_216E, + 0x8027_2A7A_24F6_4B4A, + 0x93EF_ED8B_8C69_16F7, + 0x37DD_BFF4_4CCE_1555, + 0x4B95_DB5D_4B99_BD25, + 0x92D3_FDA1_6981_2FC0, + 0xFB1A_4A9A_9066_0BB6, + 0x730C_1969_46A4_B9B2, + 0x81E2_89AA_7F49_DA68, + 0x6466_9A0F_83B1_A05F, + 0x27B3_FF7D_9644_F48B, + 0xCC6B_615C_8DB6_75B3, + 0x674F_20B9_BCEB_BE95, + 0x6F31_2382_7565_5982, + 0x5AE4_8871_3E45_CF05, + 0xBF61_9F99_54C2_1157, + 0xEABA_C460_40A8_EAE9, + 0x454C_6FE9_F2C0_C1CD, + 0x419C_F649_6412_691C, + 0xD3DC_3BEF_265B_0F70, + 0x6D0E_60F5_C357_8A9E, +]; + +pub(crate) static T4: [u64; 256] = [ + 0x5B0E_6085_2632_3C55, + 0x1A46_C1A9_FA1B_59F5, + 0xA9E2_45A1_7C4C_8FFA, + 0x65CA_5159_DB29_55D7, + 0x05DB_0A76_CE35_AFC2, + 0x81EA_C77E_A911_3D45, + 0x528E_F88A_B6AC_0A0D, + 0xA09E_A253_597B_E3FF, + 0x430D_DFB3_AC48_CD56, + 0xC4B3_A67A_F45C_E46F, + 0x4ECE_CFD8_FBE2_D05E, + 0x3EF5_6F10_B399_35F0, + 0x0B22_D682_9CD6_19C6, + 0x17FD_460A_74DF_2069, + 0x6CF8_CC8E_8510_ED40, + 0xD6C8_24BF_3A6E_CAA7, + 0x6124_3D58_1A81_7049, + 0x048B_ACB6_BBC1_63A2, + 0xD9A3_8AC2_7D44_CC32, + 0x7FDD_FF5B_AAF4_10AB, + 0xAD6D_495A_A804_824B, + 0xE1A6_A74F_2D8C_9F94, + 0xD4F7_8512_35DE_E8E3, + 0xFD4B_7F88_6540_D893, + 0x247C_2004_2AA4_BFDA, + 0x096E_A1C5_17D1_327C, + 0xD569_66B4_361A_6685, + 0x277D_A5C3_1221_057D, + 0x94D5_9893_A43A_CFF7, + 0x64F0_C51C_CDC0_2281, + 0x3D33_BCC4_FF61_89DB, + 0xE005_CB18_4CE6_6AF1, + 0xFF5C_CD1D_1DB9_9BEA, + 0xB0B8_54A7_FE42_980F, + 0x7BD4_6A6A_718D_4B9F, + 0xD10F_A8CC_22A5_FD8C, + 0xD314_8495_2BE4_BD31, + 0xC7FA_975F_CB24_3847, + 0x4886_ED1E_5846_C407, + 0x28CD_DB79_1EB7_0B04, + 0xC2B0_0BE2_F573_417F, + 0x5C95_9045_2180_F877, + 0x7A6B_DDFF_F370_EB00, + 0xCE50_9E38_D6D9_D6A4, + 0xEBEB_0F00_647F_A702, + 0x1DCC_06CF_7660_6F06, + 0xE4D9_F28B_A286_FF0A, + 0xD85A_305D_C918_C262, + 0x475B_1D87_3222_5F54, + 0x2D4F_B516_68CC_B5FE, + 0xA679_B9D9_D72B_BA20, + 0x5384_1C0D_912D_43A5, + 0x3B7E_AA48_BF12_A4E8, + 0x781E_0E47_F22F_1DDF, + 0xEFF2_0CE6_0AB5_0973, + 0x20D2_61D1_9DFF_B742, + 0x16A1_2B03_062A_2E39, + 0x1960_EB22_3965_0495, + 0x251C_16FE_D50E_B8B8, + 0x9AC0_C330_F826_016E, + 0xED15_2665_953E_7671, + 0x02D6_3194_A636_9570, + 0x5074_F083_94B1_C987, + 0x70BA_598C_90B2_5CE1, + 0x794A_1581_0B97_42F6, + 0x0D59_25E9_FCAF_8C6C, + 0x3067_716C_D868_744E, + 0x910A_B077_E8D7_731B, + 0x6A61_BBDB_5AC4_2F61, + 0x9351_3EFB_F085_1567, + 0xF494_724B_9E83_E9D5, + 0xE887_E198_5C09_648D, + 0x34B1_D3C6_7537_0CFD, + 0xDC35_E433_BC0D_255D, + 0xD0AA_B842_3413_1BE0, + 0x0804_2A50_B48B_7EAF, + 0x9997_C4EE_44A3_AB35, + 0x829A_7B49_2017_99D0, + 0x263B_8307_B7C5_4441, + 0x752F_95F4_FD6A_6CA6, + 0x9272_1740_2C08_C6E5, + 0x2A8A_B754_A795_D9EE, + 0xA442_F755_2F72_943D, + 0x2C31_334E_1978_1208, + 0x4FA9_8D7C_EAEE_6291, + 0x55C3_862F_665D_B309, + 0xBD06_1017_5D53_B1F3, + 0x46FE_6CB8_4041_3F27, + 0x3FE0_3792_DF0C_FA59, + 0xCFE7_0037_2EB8_5E8F, + 0xA7BE_29E7_ADBC_E118, + 0xE544_EE5C_DE84_31DD, + 0x8A78_1B1B_41F1_873E, + 0xA5C9_4C78_A0D2_F0E7, + 0x3941_2E28_77B6_0728, + 0xA126_5EF3_AFC9_A62C, + 0xBCC2_770C_6A25_06C5, + 0x3AB6_6DD5_DCE1_CE12, + 0xE654_99D0_4A67_5B37, + 0x7D8F_5234_81BF_D216, + 0x0F6F_64FC_EC15_F389, + 0x74EF_BE61_8B5B_13C8, + 0xACDC_82B7_1427_3E1D, + 0xDD40_BFE0_0319_9D17, + 0x37E9_9257_E7E0_61F8, + 0xFA52_6269_0477_5AAA, + 0x8BBB_F63A_463D_56F9, + 0xF001_3F15_43A2_6E64, + 0xA830_7E9F_879E_C898, + 0xCC4C_27A4_1501_77CC, + 0x1B43_2F2C_CA1D_3348, + 0xDE1D_1F8F_9F6F_A013, + 0x6066_02A0_47A7_DDD6, + 0xD237_AB64_CC1C_B2C7, + 0x9B93_8E72_25FC_D1D3, + 0xEC4E_0370_8E0F_F476, + 0xFEB2_FBDA_3D03_C12D, + 0xAE0B_CED2_EE43_889A, + 0x22CB_8923_EBFB_4F43, + 0x6936_0D01_3CF7_396D, + 0x855E_3602_D2D4_E022, + 0x0738_05BA_D01F_784C, + 0x33E1_7A13_3852_F546, + 0xDF48_7405_8AC7_B638, + 0xBA92_B29C_678A_A14A, + 0x0CE8_9FC7_6CFA_ADCD, + 0x5F9D_4E09_0833_9E34, + 0xF1AF_E929_1F59_23B9, + 0x6E34_80F6_0F4A_265F, + 0xEEBF_3A2A_B29B_841C, + 0xE219_38A8_8F91_B4AD, + 0x57DF_EFF8_45C6_D3C3, + 0x2F00_6B0B_F62C_AAF2, + 0x62F4_79EF_6F75_EE78, + 0x11A5_5AD4_1C89_16A9, + 0xF229_D290_84FE_D453, + 0x42F1_C27B_16B0_00E6, + 0x2B1F_7674_9823_C074, + 0x4B76_ECA3_C274_5360, + 0x8C98_F463_B916_91BD, + 0x14BC_C93C_F1AD_E66A, + 0x8885_213E_6D45_8397, + 0x8E17_7DF0_274D_4711, + 0xB49B_73B5_503F_2951, + 0x1016_8168_C3F9_6B6B, + 0x0E3D_963B_63CA_B0AE, + 0x8DFC_4B56_55A1_DB14, + 0xF789_F135_6E14_DE5C, + 0x683E_68AF_4E51_DAC1, + 0xC9A8_4F9D_8D4B_0FD9, + 0x3691_E03F_52A0_F9D1, + 0x5ED8_6E46_E187_8E80, + 0x3C71_1A0E_99D0_7150, + 0x5A08_65B2_0C4E_9310, + 0x56FB_FC1F_E4F0_682E, + 0xEA8D_5DE3_105E_DF9B, + 0x71AB_FDB1_2379_187A, + 0x2EB9_9DE1_BEE7_7B9C, + 0x21EC_C0EA_33CF_4523, + 0x59A4_D752_1805_C7A1, + 0x3896_F5EB_56AE_7C72, + 0xAA63_8F3D_B18F_75DC, + 0x9F39_358D_ABE9_808E, + 0xB7DE_FA91_C00B_72AC, + 0x6B55_41FD_6249_2D92, + 0x6DC6_DEE8_F92E_4D5B, + 0x353F_57AB_C4BE_EA7E, + 0x7357_69D6_DA56_90CE, + 0x0A23_4AA6_4239_1484, + 0xF6F9_5080_28F8_0D9D, + 0xB8E3_19A2_7AB3_F215, + 0x31AD_9C11_5134_1A4D, + 0x773C_22A5_7BEF_5805, + 0x45C7_561A_0796_8633, + 0xF913_DA9E_249D_BE36, + 0xDA65_2D9B_78A6_4C68, + 0x4C27_A97F_3BC3_34EF, + 0x7662_1220_E66B_17F4, + 0x9677_4389_9ACD_7D0B, + 0xF3EE_5BCA_E0ED_6782, + 0x409F_7536_00C8_79FC, + 0x06D0_9A39_B592_6DB6, + 0x6F83_AEB0_317A_C588, + 0x01E6_CA4A_8638_1F21, + 0x66FF_3462_D19F_3025, + 0x7220_7C24_DDFD_3BFB, + 0x4AF6_B6D3_E2EC_E2EB, + 0x9C99_4DBE_C7EA_08DE, + 0x49AC_E597_B09A_8BC4, + 0xB38C_4766_CF07_97BA, + 0x131B_9373_C57C_2A75, + 0xB182_2CCE_6193_1E58, + 0x9D75_55B9_09BA_1C0C, + 0x127F_AFDD_937D_11D2, + 0x29DA_3BAD_C66D_92E4, + 0xA2C1_D571_54C2_ECBC, + 0x58C5_134D_82F6_FE24, + 0x1C3A_E351_5B62_274F, + 0xE907_C82E_01CB_8126, + 0xF8ED_0919_13E3_7FCB, + 0x3249_D8F9_C800_46C9, + 0x80CF_9BED_E388_FB63, + 0x1881_539A_116C_F19E, + 0x5103_F3F7_6BD5_2457, + 0x15B7_E6F5_AE47_F7A8, + 0xDBD7_C6DE_D47E_9CCF, + 0x44E5_5C41_0228_BB1A, + 0xB647_D425_5EDB_4E99, + 0x5D11_882B_B8AA_FC30, + 0xF509_8BBB_29D3_212A, + 0x8FB5_EA14_E902_96B3, + 0x677B_9421_57DD_025A, + 0xFB58_E7C0_A390_ACB5, + 0x89D3_674C_83BD_4A01, + 0x9E2D_A4DF_4BF3_B93B, + 0xFCC4_1E32_8CAB_4829, + 0x03F3_8C96_BA58_2C52, + 0xCAD1_BDBD_7FD8_5DB2, + 0xBBB4_42C1_6082_AE83, + 0xB95F_E86B_A5DA_9AB0, + 0xB22E_0467_3771_A93F, + 0x8453_58C9_4931_52D8, + 0xBE2A_4886_97B4_541E, + 0x95A2_DC2D_D38E_6966, + 0xC02C_11AC_923C_852B, + 0x2388_B199_0DF2_A87B, + 0x7C80_08FA_1B4F_37BE, + 0x1F70_D0C8_4D54_E503, + 0x5490_ADEC_7ECE_57D4, + 0x002B_3C27_D906_3A3A, + 0x7EAE_A384_8030_A2BF, + 0xC602_326D_ED20_03C0, + 0x83A7_287D_69A9_4086, + 0xC57A_5FCB_30F5_7A8A, + 0xB568_44E4_79EB_E779, + 0xA373_B40F_05DC_BCE9, + 0xD71A_786E_8857_0EE2, + 0x879C_BACD_BDE8_F6A0, + 0x976A_D1BC_C164_A32F, + 0xAB21_E25E_9666_D78B, + 0x9010_63AA_E5E5_C33C, + 0x9818_B344_4869_8D90, + 0xE364_87AE_3E1E_8ABB, + 0xAFBD_F931_893B_DCB4, + 0x6345_A0DC_5FBB_D519, + 0x8628_FE26_9B94_65CA, + 0x1E5D_0160_3F9C_51EC, + 0x4DE4_4006_A150_49B7, + 0xBF6C_70E5_F776_CBB1, + 0x4112_18F2_EF55_2BED, + 0xCB0C_0708_705A_36A3, + 0xE74D_1475_4F98_6044, + 0xCD56_D943_0EA8_280E, + 0xC125_91D7_535F_5065, + 0xC832_23F1_720A_EF96, + 0xC3A0_396F_7363_A51F, +]; diff --git a/tiger/tests/data/tiger.blb b/tiger/tests/data/tiger.blb new file mode 100644 index 0000000000000000000000000000000000000000..c936452a2736d1a2502d5ba28e0b0d479ae86e5a GIT binary patch literal 881 zcmZQzFff|DCYeY0gG&6Q-5bmD#KfxnB0P2P6@O++OiDJ;S}oG@;$Xz5{X35ScidVP z6sRdIGqpN?GFM1udTNouT?S?LnO_;^zsY@l!eV!p`hD%W`GP!^<_!#vPR=f_ZtfnQ zUfw>we*OW0LBS!RVc`*xQ9xr;Qq$5iGPAOCa`W;F3X6(MO3TVCDys|(jf_o9&CD$< zwRH`?%d|F6(E8mz@BTA^A3D75ZHt$h1h}+q#b>lFZnL!!h8uXCd!5X&qt@+ZY-*y= z*^j-`C&o`tP3;VCU;z6{L07?1!7Z`4M8Pk$T)`u;I77j$G%vX%Ge1v9A*oU!D8IN^ z!7(o-wWv5hPa!ccMZq;EQ^6@SBQe*Yt1Uy5h0BqrXx1hBs9S|%%$v_%4u5hmt|5<7 zqjeMtit>|FQ&TeY(u)=H(;zMk&QB{TPb^ARaLr3Dsw@DxQNdV8!8tKEsVFlgJyp-( zTpz@P@I6G1r#%&$N|L+o`!WV!0#?|qF71_KQ^PTbj&{^a;ifoVCG z^Y6?S^L`jzsq3ty5*Ct?s!&*(nVhYVRFq$yr;wIkp^#OYTL28nveY7l5}qGv82#J7ET^nHs@QtOA@tCx;$C?(pEWS}7{K6vvNF)p~SAs{nXEhyTs M%*$l*pBt|I00gWrO} fG=%e@uz`k^`unYt2CHfhzDe@`Zn5I#-pls^U?D`a literal 0 HcmV?d00001 diff --git a/tiger/tests/mod.rs b/tiger/tests/mod.rs new file mode 100644 index 000000000..09e78d6c3 --- /dev/null +++ b/tiger/tests/mod.rs @@ -0,0 +1,27 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use digest::new_test; +use hex_literal::hex; +use tiger::{Digest, Tiger, Tiger2}; + +new_test!(tiger, "tiger", tiger::Tiger, fixed_reset_test); +new_test!(tiger2, "tiger2", tiger::Tiger2, fixed_reset_test); + +#[test] +fn tiger_rand() { + let mut h = Tiger::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("d12f382ecf3250c14aca7726df15b999dfe99f905cf163d2")[..] + ); +} + +#[test] +fn tiger2_rand() { + let mut h = Tiger2::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!("1bb7a80144c97f831fdefb635477776dd6c164048ce5895d")[..] + ); +} diff --git a/whirlpool/CHANGELOG.md b/whirlpool/CHANGELOG.md index 2d3c97dfd..ce759f132 100644 --- a/whirlpool/CHANGELOG.md +++ b/whirlpool/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.0 (2021-12-07) +### Changed +- Update to `digest` v0.10 ([#217]) + +[#217]: https://github.com/RustCrypto/hashes/pull/217 + ## 0.9.0 (2020-06-12) ### Changed - Bump `opaque-debug` to v0.3.0 ([#168]) diff --git a/whirlpool/Cargo.toml b/whirlpool/Cargo.toml index 395ed8a3c..777785c4a 100644 --- a/whirlpool/Cargo.toml +++ b/whirlpool/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "whirlpool" -version = "0.9.0" +version = "0.10.0" # Also update html_root_url in lib.rs when bumping this description = "Whirlpool hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" @@ -12,13 +12,11 @@ keywords = ["crypto", "whirlpool", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.9" -block-buffer = { version = "0.9", features = ["block-padding"] } -opaque-debug = "0.3" -whirlpool-asm = { version = "0.5", optional = true } +digest = "0.10" +whirlpool-asm = { version = "0.6", optional = true} [dev-dependencies] -digest = { version = "0.9", features = ["dev"] } +digest = { version = "0.10", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/whirlpool/benches/lib.rs b/whirlpool/benches/lib.rs deleted file mode 100644 index 561d5f457..000000000 --- a/whirlpool/benches/lib.rs +++ /dev/null @@ -1,4 +0,0 @@ -#![no_std] -#![feature(test)] - -digest::bench!(whirlpool::Whirlpool); diff --git a/whirlpool/benches/mod.rs b/whirlpool/benches/mod.rs new file mode 100644 index 000000000..8fd3cc01c --- /dev/null +++ b/whirlpool/benches/mod.rs @@ -0,0 +1,14 @@ +#![feature(test)] +extern crate test; + +use digest::bench_update; +use test::Bencher; +use whirlpool::Whirlpool; + +bench_update!( + Whirlpool::default(); + whirlpool_10 10; + whirlpool_100 100; + whirlpool_1000 1000; + whirlpool_10000 10000; +); diff --git a/whirlpool/examples/whirlpool_sum.rs b/whirlpool/examples/whirlpool_sum.rs deleted file mode 100644 index fe2416b8f..000000000 --- a/whirlpool/examples/whirlpool_sum.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::env; -use std::fs; -use std::io::{self, Read}; -use whirlpool::{Digest, Whirlpool}; - -const BUFFER_SIZE: usize = 1024; - -/// Print digest result as hex string and name pair -fn print_result(sum: &[u8], name: &str) { - for byte in sum { - print!("{:02x}", byte); - } - println!("\t{}", name); -} - -/// Compute digest value for given `Reader` and print it -/// On any error simply return without doing anything -fn process(reader: &mut R, name: &str) { - let mut sh: D = Default::default(); - let mut buffer = [0u8; BUFFER_SIZE]; - loop { - let n = match reader.read(&mut buffer) { - Ok(n) => n, - Err(_) => return, - }; - sh.update(&buffer[..n]); - if n == 0 || n < BUFFER_SIZE { - break; - } - } - print_result(&sh.finalize(), name); -} - -fn main() { - let args = env::args(); - // Process files listed in command line arguments one by one - // If no files provided process input from stdin - if args.len() > 1 { - for path in args.skip(1) { - if let Ok(mut file) = fs::File::open(&path) { - process::(&mut file, &path); - } - } - } else { - process::(&mut io::stdin(), "-"); - } -} diff --git a/whirlpool/src/compress.rs b/whirlpool/src/compress.rs new file mode 100644 index 000000000..4f1664e30 --- /dev/null +++ b/whirlpool/src/compress.rs @@ -0,0 +1,60 @@ +use crate::BLOCK_SIZE; +use core::convert::TryInto; + +#[path = "consts.rs"] +mod consts; +use consts::*; + +fn compress_block(state: &mut [u64; 8], b: &[u8; BLOCK_SIZE]) { + let mut k = [0u64; 8]; + let mut block = [0u64; 8]; + let mut s = [0u64; 8]; + let mut l = [0u64; 8]; + + for (o, chunk) in block.iter_mut().zip(b.chunks_exact(8)) { + *o = u64::from_le_bytes(chunk.try_into().unwrap()); + } + k.copy_from_slice(state); + + for i in 0..8 { + s[i] = block[i] ^ k[i]; + } + + #[allow(clippy::needless_range_loop)] + for r in 0..R { + for i in 0..8 { + l[i] = C0[(k[(i) % 8] & 0xff) as usize] + ^ C1[((k[(7 + i) % 8] >> 8) & 0xff) as usize] + ^ C2[((k[(6 + i) % 8] >> 16) & 0xff) as usize] + ^ C3[((k[(5 + i) % 8] >> 24) & 0xff) as usize] + ^ C4[((k[(4 + i) % 8] >> 32) & 0xff) as usize] + ^ C5[((k[(3 + i) % 8] >> 40) & 0xff) as usize] + ^ C6[((k[(2 + i) % 8] >> 48) & 0xff) as usize] + ^ C7[((k[(1 + i) % 8] >> 56) & 0xff) as usize] + ^ if i == 0 { RC[r] } else { 0 }; + } + k = l; + for i in 0..8 { + l[i] = C0[(s[(i) % 8] & 0xff) as usize] + ^ C1[((s[(7 + i) % 8] >> 8) & 0xff) as usize] + ^ C2[((s[(6 + i) % 8] >> 16) & 0xff) as usize] + ^ C3[((s[(5 + i) % 8] >> 24) & 0xff) as usize] + ^ C4[((s[(4 + i) % 8] >> 32) & 0xff) as usize] + ^ C5[((s[(3 + i) % 8] >> 40) & 0xff) as usize] + ^ C6[((s[(2 + i) % 8] >> 48) & 0xff) as usize] + ^ C7[((s[(1 + i) % 8] >> 56) & 0xff) as usize] + ^ k[i]; + } + s = l; + } + + for i in 0..8 { + state[i] ^= s[i] ^ block[i]; + } +} + +pub(crate) fn compress(state: &mut [u64; 8], blocks: &[[u8; BLOCK_SIZE]]) { + for block in blocks { + compress_block(state, block); + } +} diff --git a/whirlpool/src/consts.rs b/whirlpool/src/consts.rs index aad56c63e..756437d21 100644 --- a/whirlpool/src/consts.rs +++ b/whirlpool/src/consts.rs @@ -1,2089 +1,2088 @@ #![allow(clippy::unreadable_literal)] -pub static R: usize = 10; +pub const R: usize = 10; -pub static RC: [u64; 11 /* R + 1 */] = [ - 0x0000000000000000, - 0x1823c6e887b8014f, - 0x36a6d2f5796f9152, - 0x60bc9b8ea30c7b35, - 0x1de0d7c22e4bfe57, - 0x157737e59ff04ada, - 0x58c9290ab1a06b85, - 0xbd5d10f4cb3e0567, - 0xe427418ba77d95d8, - 0xfbee7c66dd17479e, - 0xca2dbf07ad5a8333, +pub const RC: [u64; R] = [ + 0x4f01b887e8c62318, + 0x52916f79f5d2a636, + 0x357b0ca38e9bbc60, + 0x57fe4b2ec2d7e01d, + 0xda4af09fe5377715, + 0x856ba0b10a29c958, + 0x67053ecbf4105dbd, + 0xd8957da78b4127e4, + 0x9e4717dd667ceefb, + 0x33835aad07bf2dca, ]; -pub static C0: [u64; 256] = [ - 0x18186018c07830d8, - 0x23238c2305af4626, - 0xc6c63fc67ef991b8, - 0xe8e887e8136fcdfb, - 0x878726874ca113cb, - 0xb8b8dab8a9626d11, - 0x0101040108050209, - 0x4f4f214f426e9e0d, - 0x3636d836adee6c9b, - 0xa6a6a2a6590451ff, - 0xd2d26fd2debdb90c, - 0xf5f5f3f5fb06f70e, - 0x7979f979ef80f296, - 0x6f6fa16f5fcede30, - 0x91917e91fcef3f6d, - 0x52525552aa07a4f8, - 0x60609d6027fdc047, - 0xbcbccabc89766535, - 0x9b9b569baccd2b37, - 0x8e8e028e048c018a, - 0xa3a3b6a371155bd2, - 0x0c0c300c603c186c, - 0x7b7bf17bff8af684, - 0x3535d435b5e16a80, - 0x1d1d741de8693af5, - 0xe0e0a7e05347ddb3, - 0xd7d77bd7f6acb321, - 0xc2c22fc25eed999c, - 0x2e2eb82e6d965c43, - 0x4b4b314b627a9629, - 0xfefedffea321e15d, - 0x575741578216aed5, - 0x15155415a8412abd, - 0x7777c1779fb6eee8, - 0x3737dc37a5eb6e92, - 0xe5e5b3e57b56d79e, - 0x9f9f469f8cd92313, - 0xf0f0e7f0d317fd23, - 0x4a4a354a6a7f9420, - 0xdada4fda9e95a944, - 0x58587d58fa25b0a2, - 0xc9c903c906ca8fcf, - 0x2929a429558d527c, - 0x0a0a280a5022145a, - 0xb1b1feb1e14f7f50, - 0xa0a0baa0691a5dc9, - 0x6b6bb16b7fdad614, - 0x85852e855cab17d9, - 0xbdbdcebd8173673c, - 0x5d5d695dd234ba8f, - 0x1010401080502090, - 0xf4f4f7f4f303f507, - 0xcbcb0bcb16c08bdd, - 0x3e3ef83eedc67cd3, - 0x0505140528110a2d, - 0x676781671fe6ce78, - 0xe4e4b7e47353d597, - 0x27279c2725bb4e02, - 0x4141194132588273, - 0x8b8b168b2c9d0ba7, - 0xa7a7a6a7510153f6, - 0x7d7de97dcf94fab2, - 0x95956e95dcfb3749, - 0xd8d847d88e9fad56, - 0xfbfbcbfb8b30eb70, - 0xeeee9fee2371c1cd, - 0x7c7ced7cc791f8bb, - 0x6666856617e3cc71, - 0xdddd53dda68ea77b, - 0x17175c17b84b2eaf, - 0x4747014702468e45, - 0x9e9e429e84dc211a, - 0xcaca0fca1ec589d4, - 0x2d2db42d75995a58, - 0xbfbfc6bf9179632e, - 0x07071c07381b0e3f, - 0xadad8ead012347ac, - 0x5a5a755aea2fb4b0, - 0x838336836cb51bef, - 0x3333cc3385ff66b6, - 0x636391633ff2c65c, - 0x02020802100a0412, - 0xaaaa92aa39384993, - 0x7171d971afa8e2de, - 0xc8c807c80ecf8dc6, - 0x19196419c87d32d1, - 0x494939497270923b, - 0xd9d943d9869aaf5f, - 0xf2f2eff2c31df931, - 0xe3e3abe34b48dba8, - 0x5b5b715be22ab6b9, - 0x88881a8834920dbc, - 0x9a9a529aa4c8293e, - 0x262698262dbe4c0b, - 0x3232c8328dfa64bf, - 0xb0b0fab0e94a7d59, - 0xe9e983e91b6acff2, - 0x0f0f3c0f78331e77, - 0xd5d573d5e6a6b733, - 0x80803a8074ba1df4, - 0xbebec2be997c6127, - 0xcdcd13cd26de87eb, - 0x3434d034bde46889, - 0x48483d487a759032, - 0xffffdbffab24e354, - 0x7a7af57af78ff48d, - 0x90907a90f4ea3d64, - 0x5f5f615fc23ebe9d, - 0x202080201da0403d, - 0x6868bd6867d5d00f, - 0x1a1a681ad07234ca, - 0xaeae82ae192c41b7, - 0xb4b4eab4c95e757d, - 0x54544d549a19a8ce, - 0x93937693ece53b7f, - 0x222288220daa442f, - 0x64648d6407e9c863, - 0xf1f1e3f1db12ff2a, - 0x7373d173bfa2e6cc, - 0x12124812905a2482, - 0x40401d403a5d807a, - 0x0808200840281048, - 0xc3c32bc356e89b95, - 0xecec97ec337bc5df, - 0xdbdb4bdb9690ab4d, - 0xa1a1bea1611f5fc0, - 0x8d8d0e8d1c830791, - 0x3d3df43df5c97ac8, - 0x97976697ccf1335b, +pub const C0: [u64; 256] = [ + 0xd83078c018601818, + 0x2646af05238c2323, + 0xb891f97ec63fc6c6, + 0xfbcd6f13e887e8e8, + 0xcb13a14c87268787, + 0x116d62a9b8dab8b8, + 0x0902050801040101, + 0x0d9e6e424f214f4f, + 0x9b6ceead36d83636, + 0xff510459a6a2a6a6, + 0x0cb9bdded26fd2d2, + 0x0ef706fbf5f3f5f5, + 0x96f280ef79f97979, + 0x30dece5f6fa16f6f, + 0x6d3feffc917e9191, + 0xf8a407aa52555252, + 0x47c0fd27609d6060, + 0x35657689bccabcbc, + 0x372bcdac9b569b9b, + 0x8a018c048e028e8e, + 0xd25b1571a3b6a3a3, + 0x6c183c600c300c0c, + 0x84f68aff7bf17b7b, + 0x806ae1b535d43535, + 0xf53a69e81d741d1d, + 0xb3dd4753e0a7e0e0, + 0x21b3acf6d77bd7d7, + 0x9c99ed5ec22fc2c2, + 0x435c966d2eb82e2e, + 0x29967a624b314b4b, + 0x5de121a3fedffefe, + 0xd5ae168257415757, + 0xbd2a41a815541515, + 0xe8eeb69f77c17777, + 0x926eeba537dc3737, + 0x9ed7567be5b3e5e5, + 0x1323d98c9f469f9f, + 0x23fd17d3f0e7f0f0, + 0x20947f6a4a354a4a, + 0x44a9959eda4fdada, + 0xa2b025fa587d5858, + 0xcf8fca06c903c9c9, + 0x7c528d5529a42929, + 0x5a1422500a280a0a, + 0x507f4fe1b1feb1b1, + 0xc95d1a69a0baa0a0, + 0x14d6da7f6bb16b6b, + 0xd917ab5c852e8585, + 0x3c677381bdcebdbd, + 0x8fba34d25d695d5d, + 0x9020508010401010, + 0x07f503f3f4f7f4f4, + 0xdd8bc016cb0bcbcb, + 0xd37cc6ed3ef83e3e, + 0x2d0a112805140505, + 0x78cee61f67816767, + 0x97d55373e4b7e4e4, + 0x024ebb25279c2727, + 0x7382583241194141, + 0xa70b9d2c8b168b8b, + 0xf6530151a7a6a7a7, + 0xb2fa94cf7de97d7d, + 0x4937fbdc956e9595, + 0x56ad9f8ed847d8d8, + 0x70eb308bfbcbfbfb, + 0xcdc17123ee9feeee, + 0xbbf891c77ced7c7c, + 0x71cce31766856666, + 0x7ba78ea6dd53dddd, + 0xaf2e4bb8175c1717, + 0x458e460247014747, + 0x1a21dc849e429e9e, + 0xd489c51eca0fcaca, + 0x585a99752db42d2d, + 0x2e637991bfc6bfbf, + 0x3f0e1b38071c0707, + 0xac472301ad8eadad, + 0xb0b42fea5a755a5a, + 0xef1bb56c83368383, + 0xb666ff8533cc3333, + 0x5cc6f23f63916363, + 0x12040a1002080202, + 0x93493839aa92aaaa, + 0xdee2a8af71d97171, + 0xc68dcf0ec807c8c8, + 0xd1327dc819641919, + 0x3b92707249394949, + 0x5faf9a86d943d9d9, + 0x31f91dc3f2eff2f2, + 0xa8db484be3abe3e3, + 0xb9b62ae25b715b5b, + 0xbc0d9234881a8888, + 0x3e29c8a49a529a9a, + 0x0b4cbe2d26982626, + 0xbf64fa8d32c83232, + 0x597d4ae9b0fab0b0, + 0xf2cf6a1be983e9e9, + 0x771e33780f3c0f0f, + 0x33b7a6e6d573d5d5, + 0xf41dba74803a8080, + 0x27617c99bec2bebe, + 0xeb87de26cd13cdcd, + 0x8968e4bd34d03434, + 0x3290757a483d4848, + 0x54e324abffdbffff, + 0x8df48ff77af57a7a, + 0x643deaf4907a9090, + 0x9dbe3ec25f615f5f, + 0x3d40a01d20802020, + 0x0fd0d56768bd6868, + 0xca3472d01a681a1a, + 0xb7412c19ae82aeae, + 0x7d755ec9b4eab4b4, + 0xcea8199a544d5454, + 0x7f3be5ec93769393, + 0x2f44aa0d22882222, + 0x63c8e907648d6464, + 0x2aff12dbf1e3f1f1, + 0xcce6a2bf73d17373, + 0x82245a9012481212, + 0x7a805d3a401d4040, + 0x4810284008200808, + 0x959be856c32bc3c3, + 0xdfc57b33ec97ecec, + 0x4dab9096db4bdbdb, + 0xc05f1f61a1bea1a1, + 0x9107831c8d0e8d8d, + 0xc87ac9f53df43d3d, + 0x5b33f1cc97669797, 0x0000000000000000, - 0xcfcf1bcf36d483f9, - 0x2b2bac2b4587566e, - 0x7676c57697b3ece1, - 0x8282328264b019e6, - 0xd6d67fd6fea9b128, - 0x1b1b6c1bd87736c3, - 0xb5b5eeb5c15b7774, - 0xafaf86af112943be, - 0x6a6ab56a77dfd41d, - 0x50505d50ba0da0ea, - 0x45450945124c8a57, - 0xf3f3ebf3cb18fb38, - 0x3030c0309df060ad, - 0xefef9bef2b74c3c4, - 0x3f3ffc3fe5c37eda, - 0x55554955921caac7, - 0xa2a2b2a2791059db, - 0xeaea8fea0365c9e9, - 0x656589650fecca6a, - 0xbabad2bab9686903, - 0x2f2fbc2f65935e4a, - 0xc0c027c04ee79d8e, - 0xdede5fdebe81a160, - 0x1c1c701ce06c38fc, - 0xfdfdd3fdbb2ee746, - 0x4d4d294d52649a1f, - 0x92927292e4e03976, - 0x7575c9758fbceafa, - 0x06061806301e0c36, - 0x8a8a128a249809ae, - 0xb2b2f2b2f940794b, - 0xe6e6bfe66359d185, - 0x0e0e380e70361c7e, - 0x1f1f7c1ff8633ee7, - 0x6262956237f7c455, - 0xd4d477d4eea3b53a, - 0xa8a89aa829324d81, - 0x96966296c4f43152, - 0xf9f9c3f99b3aef62, - 0xc5c533c566f697a3, - 0x2525942535b14a10, - 0x59597959f220b2ab, - 0x84842a8454ae15d0, - 0x7272d572b7a7e4c5, - 0x3939e439d5dd72ec, - 0x4c4c2d4c5a619816, - 0x5e5e655eca3bbc94, - 0x7878fd78e785f09f, - 0x3838e038ddd870e5, - 0x8c8c0a8c14860598, - 0xd1d163d1c6b2bf17, - 0xa5a5aea5410b57e4, - 0xe2e2afe2434dd9a1, - 0x616199612ff8c24e, - 0xb3b3f6b3f1457b42, - 0x2121842115a54234, - 0x9c9c4a9c94d62508, - 0x1e1e781ef0663cee, - 0x4343114322528661, - 0xc7c73bc776fc93b1, - 0xfcfcd7fcb32be54f, - 0x0404100420140824, - 0x51515951b208a2e3, - 0x99995e99bcc72f25, - 0x6d6da96d4fc4da22, - 0x0d0d340d68391a65, - 0xfafacffa8335e979, - 0xdfdf5bdfb684a369, - 0x7e7ee57ed79bfca9, - 0x242490243db44819, - 0x3b3bec3bc5d776fe, - 0xabab96ab313d4b9a, - 0xcece1fce3ed181f0, - 0x1111441188552299, - 0x8f8f068f0c890383, - 0x4e4e254e4a6b9c04, - 0xb7b7e6b7d1517366, - 0xebeb8beb0b60cbe0, - 0x3c3cf03cfdcc78c1, - 0x81813e817cbf1ffd, - 0x94946a94d4fe3540, - 0xf7f7fbf7eb0cf31c, - 0xb9b9deb9a1676f18, - 0x13134c13985f268b, - 0x2c2cb02c7d9c5851, - 0xd3d36bd3d6b8bb05, - 0xe7e7bbe76b5cd38c, - 0x6e6ea56e57cbdc39, - 0xc4c437c46ef395aa, - 0x03030c03180f061b, - 0x565645568a13acdc, - 0x44440d441a49885e, - 0x7f7fe17fdf9efea0, - 0xa9a99ea921374f88, - 0x2a2aa82a4d825467, - 0xbbbbd6bbb16d6b0a, - 0xc1c123c146e29f87, - 0x53535153a202a6f1, - 0xdcdc57dcae8ba572, - 0x0b0b2c0b58271653, - 0x9d9d4e9d9cd32701, - 0x6c6cad6c47c1d82b, - 0x3131c43195f562a4, - 0x7474cd7487b9e8f3, - 0xf6f6fff6e309f115, - 0x464605460a438c4c, - 0xacac8aac092645a5, - 0x89891e893c970fb5, - 0x14145014a04428b4, - 0xe1e1a3e15b42dfba, - 0x16165816b04e2ca6, - 0x3a3ae83acdd274f7, - 0x6969b9696fd0d206, - 0x09092409482d1241, - 0x7070dd70a7ade0d7, - 0xb6b6e2b6d954716f, - 0xd0d067d0ceb7bd1e, - 0xeded93ed3b7ec7d6, - 0xcccc17cc2edb85e2, - 0x424215422a578468, - 0x98985a98b4c22d2c, - 0xa4a4aaa4490e55ed, - 0x2828a0285d885075, - 0x5c5c6d5cda31b886, - 0xf8f8c7f8933fed6b, - 0x8686228644a411c2, + 0xf983d436cf1bcfcf, + 0x6e5687452bac2b2b, + 0xe1ecb39776c57676, + 0xe619b06482328282, + 0x28b1a9fed67fd6d6, + 0xc33677d81b6c1b1b, + 0x74775bc1b5eeb5b5, + 0xbe432911af86afaf, + 0x1dd4df776ab56a6a, + 0xeaa00dba505d5050, + 0x578a4c1245094545, + 0x38fb18cbf3ebf3f3, + 0xad60f09d30c03030, + 0xc4c3742bef9befef, + 0xda7ec3e53ffc3f3f, + 0xc7aa1c9255495555, + 0xdb591079a2b2a2a2, + 0xe9c96503ea8feaea, + 0x6acaec0f65896565, + 0x036968b9bad2baba, + 0x4a5e93652fbc2f2f, + 0x8e9de74ec027c0c0, + 0x60a181bede5fdede, + 0xfc386ce01c701c1c, + 0x46e72ebbfdd3fdfd, + 0x1f9a64524d294d4d, + 0x7639e0e492729292, + 0xfaeabc8f75c97575, + 0x360c1e3006180606, + 0xae0998248a128a8a, + 0x4b7940f9b2f2b2b2, + 0x85d15963e6bfe6e6, + 0x7e1c36700e380e0e, + 0xe73e63f81f7c1f1f, + 0x55c4f73762956262, + 0x3ab5a3eed477d4d4, + 0x814d3229a89aa8a8, + 0x5231f4c496629696, + 0x62ef3a9bf9c3f9f9, + 0xa397f666c533c5c5, + 0x104ab13525942525, + 0xabb220f259795959, + 0xd015ae54842a8484, + 0xc5e4a7b772d57272, + 0xec72ddd539e43939, + 0x1698615a4c2d4c4c, + 0x94bc3bca5e655e5e, + 0x9ff085e778fd7878, + 0xe570d8dd38e03838, + 0x980586148c0a8c8c, + 0x17bfb2c6d163d1d1, + 0xe4570b41a5aea5a5, + 0xa1d94d43e2afe2e2, + 0x4ec2f82f61996161, + 0x427b45f1b3f6b3b3, + 0x3442a51521842121, + 0x0825d6949c4a9c9c, + 0xee3c66f01e781e1e, + 0x6186522243114343, + 0xb193fc76c73bc7c7, + 0x4fe52bb3fcd7fcfc, + 0x2408142004100404, + 0xe3a208b251595151, + 0x252fc7bc995e9999, + 0x22dac44f6da96d6d, + 0x651a39680d340d0d, + 0x79e93583facffafa, + 0x69a384b6df5bdfdf, + 0xa9fc9bd77ee57e7e, + 0x1948b43d24902424, + 0xfe76d7c53bec3b3b, + 0x9a4b3d31ab96abab, + 0xf081d13ece1fcece, + 0x9922558811441111, + 0x8303890c8f068f8f, + 0x049c6b4a4e254e4e, + 0x667351d1b7e6b7b7, + 0xe0cb600beb8bebeb, + 0xc178ccfd3cf03c3c, + 0xfd1fbf7c813e8181, + 0x4035fed4946a9494, + 0x1cf30cebf7fbf7f7, + 0x186f67a1b9deb9b9, + 0x8b265f98134c1313, + 0x51589c7d2cb02c2c, + 0x05bbb8d6d36bd3d3, + 0x8cd35c6be7bbe7e7, + 0x39dccb576ea56e6e, + 0xaa95f36ec437c4c4, + 0x1b060f18030c0303, + 0xdcac138a56455656, + 0x5e88491a440d4444, + 0xa0fe9edf7fe17f7f, + 0x884f3721a99ea9a9, + 0x6754824d2aa82a2a, + 0x0a6b6db1bbd6bbbb, + 0x879fe246c123c1c1, + 0xf1a602a253515353, + 0x72a58baedc57dcdc, + 0x531627580b2c0b0b, + 0x0127d39c9d4e9d9d, + 0x2bd8c1476cad6c6c, + 0xa462f59531c43131, + 0xf3e8b98774cd7474, + 0x15f109e3f6fff6f6, + 0x4c8c430a46054646, + 0xa5452609ac8aacac, + 0xb50f973c891e8989, + 0xb42844a014501414, + 0xbadf425be1a3e1e1, + 0xa62c4eb016581616, + 0xf774d2cd3ae83a3a, + 0x06d2d06f69b96969, + 0x41122d4809240909, + 0xd7e0ada770dd7070, + 0x6f7154d9b6e2b6b6, + 0x1ebdb7ced067d0d0, + 0xd6c77e3bed93eded, + 0xe285db2ecc17cccc, + 0x6884572a42154242, + 0x2c2dc2b4985a9898, + 0xed550e49a4aaa4a4, + 0x7550885d28a02828, + 0x86b831da5c6d5c5c, + 0x6bed3f93f8c7f8f8, + 0xc211a44486228686, ]; -pub static C1: [u64; 256] = [ - 0xd818186018c07830, - 0x2623238c2305af46, - 0xb8c6c63fc67ef991, - 0xfbe8e887e8136fcd, - 0xcb878726874ca113, - 0x11b8b8dab8a9626d, - 0x0901010401080502, - 0x0d4f4f214f426e9e, - 0x9b3636d836adee6c, - 0xffa6a6a2a6590451, - 0x0cd2d26fd2debdb9, - 0x0ef5f5f3f5fb06f7, - 0x967979f979ef80f2, - 0x306f6fa16f5fcede, - 0x6d91917e91fcef3f, - 0xf852525552aa07a4, - 0x4760609d6027fdc0, - 0x35bcbccabc897665, - 0x379b9b569baccd2b, - 0x8a8e8e028e048c01, - 0xd2a3a3b6a371155b, - 0x6c0c0c300c603c18, - 0x847b7bf17bff8af6, - 0x803535d435b5e16a, - 0xf51d1d741de8693a, - 0xb3e0e0a7e05347dd, - 0x21d7d77bd7f6acb3, - 0x9cc2c22fc25eed99, - 0x432e2eb82e6d965c, - 0x294b4b314b627a96, - 0x5dfefedffea321e1, - 0xd5575741578216ae, - 0xbd15155415a8412a, - 0xe87777c1779fb6ee, - 0x923737dc37a5eb6e, - 0x9ee5e5b3e57b56d7, - 0x139f9f469f8cd923, - 0x23f0f0e7f0d317fd, - 0x204a4a354a6a7f94, - 0x44dada4fda9e95a9, - 0xa258587d58fa25b0, - 0xcfc9c903c906ca8f, - 0x7c2929a429558d52, - 0x5a0a0a280a502214, - 0x50b1b1feb1e14f7f, - 0xc9a0a0baa0691a5d, - 0x146b6bb16b7fdad6, - 0xd985852e855cab17, - 0x3cbdbdcebd817367, - 0x8f5d5d695dd234ba, - 0x9010104010805020, - 0x07f4f4f7f4f303f5, - 0xddcbcb0bcb16c08b, - 0xd33e3ef83eedc67c, - 0x2d0505140528110a, - 0x78676781671fe6ce, - 0x97e4e4b7e47353d5, - 0x0227279c2725bb4e, - 0x7341411941325882, - 0xa78b8b168b2c9d0b, - 0xf6a7a7a6a7510153, - 0xb27d7de97dcf94fa, - 0x4995956e95dcfb37, - 0x56d8d847d88e9fad, - 0x70fbfbcbfb8b30eb, - 0xcdeeee9fee2371c1, - 0xbb7c7ced7cc791f8, - 0x716666856617e3cc, - 0x7bdddd53dda68ea7, - 0xaf17175c17b84b2e, - 0x454747014702468e, - 0x1a9e9e429e84dc21, - 0xd4caca0fca1ec589, - 0x582d2db42d75995a, - 0x2ebfbfc6bf917963, - 0x3f07071c07381b0e, - 0xacadad8ead012347, - 0xb05a5a755aea2fb4, - 0xef838336836cb51b, - 0xb63333cc3385ff66, - 0x5c636391633ff2c6, - 0x1202020802100a04, - 0x93aaaa92aa393849, - 0xde7171d971afa8e2, - 0xc6c8c807c80ecf8d, - 0xd119196419c87d32, - 0x3b49493949727092, - 0x5fd9d943d9869aaf, - 0x31f2f2eff2c31df9, - 0xa8e3e3abe34b48db, - 0xb95b5b715be22ab6, - 0xbc88881a8834920d, - 0x3e9a9a529aa4c829, - 0x0b262698262dbe4c, - 0xbf3232c8328dfa64, - 0x59b0b0fab0e94a7d, - 0xf2e9e983e91b6acf, - 0x770f0f3c0f78331e, - 0x33d5d573d5e6a6b7, - 0xf480803a8074ba1d, - 0x27bebec2be997c61, - 0xebcdcd13cd26de87, - 0x893434d034bde468, - 0x3248483d487a7590, - 0x54ffffdbffab24e3, - 0x8d7a7af57af78ff4, - 0x6490907a90f4ea3d, - 0x9d5f5f615fc23ebe, - 0x3d202080201da040, - 0x0f6868bd6867d5d0, - 0xca1a1a681ad07234, - 0xb7aeae82ae192c41, - 0x7db4b4eab4c95e75, - 0xce54544d549a19a8, - 0x7f93937693ece53b, - 0x2f222288220daa44, - 0x6364648d6407e9c8, - 0x2af1f1e3f1db12ff, - 0xcc7373d173bfa2e6, - 0x8212124812905a24, - 0x7a40401d403a5d80, - 0x4808082008402810, - 0x95c3c32bc356e89b, - 0xdfecec97ec337bc5, - 0x4ddbdb4bdb9690ab, - 0xc0a1a1bea1611f5f, - 0x918d8d0e8d1c8307, - 0xc83d3df43df5c97a, - 0x5b97976697ccf133, +pub const C1: [u64; 256] = [ + 0x3078c018601818d8, + 0x46af05238c232326, + 0x91f97ec63fc6c6b8, + 0xcd6f13e887e8e8fb, + 0x13a14c87268787cb, + 0x6d62a9b8dab8b811, + 0x0205080104010109, + 0x9e6e424f214f4f0d, + 0x6ceead36d836369b, + 0x510459a6a2a6a6ff, + 0xb9bdded26fd2d20c, + 0xf706fbf5f3f5f50e, + 0xf280ef79f9797996, + 0xdece5f6fa16f6f30, + 0x3feffc917e91916d, + 0xa407aa52555252f8, + 0xc0fd27609d606047, + 0x657689bccabcbc35, + 0x2bcdac9b569b9b37, + 0x018c048e028e8e8a, + 0x5b1571a3b6a3a3d2, + 0x183c600c300c0c6c, + 0xf68aff7bf17b7b84, + 0x6ae1b535d4353580, + 0x3a69e81d741d1df5, + 0xdd4753e0a7e0e0b3, + 0xb3acf6d77bd7d721, + 0x99ed5ec22fc2c29c, + 0x5c966d2eb82e2e43, + 0x967a624b314b4b29, + 0xe121a3fedffefe5d, + 0xae168257415757d5, + 0x2a41a815541515bd, + 0xeeb69f77c17777e8, + 0x6eeba537dc373792, + 0xd7567be5b3e5e59e, + 0x23d98c9f469f9f13, + 0xfd17d3f0e7f0f023, + 0x947f6a4a354a4a20, + 0xa9959eda4fdada44, + 0xb025fa587d5858a2, + 0x8fca06c903c9c9cf, + 0x528d5529a429297c, + 0x1422500a280a0a5a, + 0x7f4fe1b1feb1b150, + 0x5d1a69a0baa0a0c9, + 0xd6da7f6bb16b6b14, + 0x17ab5c852e8585d9, + 0x677381bdcebdbd3c, + 0xba34d25d695d5d8f, + 0x2050801040101090, + 0xf503f3f4f7f4f407, + 0x8bc016cb0bcbcbdd, + 0x7cc6ed3ef83e3ed3, + 0x0a1128051405052d, + 0xcee61f6781676778, + 0xd55373e4b7e4e497, + 0x4ebb25279c272702, + 0x8258324119414173, + 0x0b9d2c8b168b8ba7, + 0x530151a7a6a7a7f6, + 0xfa94cf7de97d7db2, + 0x37fbdc956e959549, + 0xad9f8ed847d8d856, + 0xeb308bfbcbfbfb70, + 0xc17123ee9feeeecd, + 0xf891c77ced7c7cbb, + 0xcce3176685666671, + 0xa78ea6dd53dddd7b, + 0x2e4bb8175c1717af, + 0x8e46024701474745, + 0x21dc849e429e9e1a, + 0x89c51eca0fcacad4, + 0x5a99752db42d2d58, + 0x637991bfc6bfbf2e, + 0x0e1b38071c07073f, + 0x472301ad8eadadac, + 0xb42fea5a755a5ab0, + 0x1bb56c83368383ef, + 0x66ff8533cc3333b6, + 0xc6f23f639163635c, + 0x040a100208020212, + 0x493839aa92aaaa93, + 0xe2a8af71d97171de, + 0x8dcf0ec807c8c8c6, + 0x327dc819641919d1, + 0x927072493949493b, + 0xaf9a86d943d9d95f, + 0xf91dc3f2eff2f231, + 0xdb484be3abe3e3a8, + 0xb62ae25b715b5bb9, + 0x0d9234881a8888bc, + 0x29c8a49a529a9a3e, + 0x4cbe2d269826260b, + 0x64fa8d32c83232bf, + 0x7d4ae9b0fab0b059, + 0xcf6a1be983e9e9f2, + 0x1e33780f3c0f0f77, + 0xb7a6e6d573d5d533, + 0x1dba74803a8080f4, + 0x617c99bec2bebe27, + 0x87de26cd13cdcdeb, + 0x68e4bd34d0343489, + 0x90757a483d484832, + 0xe324abffdbffff54, + 0xf48ff77af57a7a8d, + 0x3deaf4907a909064, + 0xbe3ec25f615f5f9d, + 0x40a01d208020203d, + 0xd0d56768bd68680f, + 0x3472d01a681a1aca, + 0x412c19ae82aeaeb7, + 0x755ec9b4eab4b47d, + 0xa8199a544d5454ce, + 0x3be5ec937693937f, + 0x44aa0d228822222f, + 0xc8e907648d646463, + 0xff12dbf1e3f1f12a, + 0xe6a2bf73d17373cc, + 0x245a901248121282, + 0x805d3a401d40407a, + 0x1028400820080848, + 0x9be856c32bc3c395, + 0xc57b33ec97ececdf, + 0xab9096db4bdbdb4d, + 0x5f1f61a1bea1a1c0, + 0x07831c8d0e8d8d91, + 0x7ac9f53df43d3dc8, + 0x33f1cc976697975b, 0x0000000000000000, - 0xf9cfcf1bcf36d483, - 0x6e2b2bac2b458756, - 0xe17676c57697b3ec, - 0xe68282328264b019, - 0x28d6d67fd6fea9b1, - 0xc31b1b6c1bd87736, - 0x74b5b5eeb5c15b77, - 0xbeafaf86af112943, - 0x1d6a6ab56a77dfd4, - 0xea50505d50ba0da0, - 0x5745450945124c8a, - 0x38f3f3ebf3cb18fb, - 0xad3030c0309df060, - 0xc4efef9bef2b74c3, - 0xda3f3ffc3fe5c37e, - 0xc755554955921caa, - 0xdba2a2b2a2791059, - 0xe9eaea8fea0365c9, - 0x6a656589650fecca, - 0x03babad2bab96869, - 0x4a2f2fbc2f65935e, - 0x8ec0c027c04ee79d, - 0x60dede5fdebe81a1, - 0xfc1c1c701ce06c38, - 0x46fdfdd3fdbb2ee7, - 0x1f4d4d294d52649a, - 0x7692927292e4e039, - 0xfa7575c9758fbcea, - 0x3606061806301e0c, - 0xae8a8a128a249809, - 0x4bb2b2f2b2f94079, - 0x85e6e6bfe66359d1, - 0x7e0e0e380e70361c, - 0xe71f1f7c1ff8633e, - 0x556262956237f7c4, - 0x3ad4d477d4eea3b5, - 0x81a8a89aa829324d, - 0x5296966296c4f431, - 0x62f9f9c3f99b3aef, - 0xa3c5c533c566f697, - 0x102525942535b14a, - 0xab59597959f220b2, - 0xd084842a8454ae15, - 0xc57272d572b7a7e4, - 0xec3939e439d5dd72, - 0x164c4c2d4c5a6198, - 0x945e5e655eca3bbc, - 0x9f7878fd78e785f0, - 0xe53838e038ddd870, - 0x988c8c0a8c148605, - 0x17d1d163d1c6b2bf, - 0xe4a5a5aea5410b57, - 0xa1e2e2afe2434dd9, - 0x4e616199612ff8c2, - 0x42b3b3f6b3f1457b, - 0x342121842115a542, - 0x089c9c4a9c94d625, - 0xee1e1e781ef0663c, - 0x6143431143225286, - 0xb1c7c73bc776fc93, - 0x4ffcfcd7fcb32be5, - 0x2404041004201408, - 0xe351515951b208a2, - 0x2599995e99bcc72f, - 0x226d6da96d4fc4da, - 0x650d0d340d68391a, - 0x79fafacffa8335e9, - 0x69dfdf5bdfb684a3, - 0xa97e7ee57ed79bfc, - 0x19242490243db448, - 0xfe3b3bec3bc5d776, - 0x9aabab96ab313d4b, - 0xf0cece1fce3ed181, - 0x9911114411885522, - 0x838f8f068f0c8903, - 0x044e4e254e4a6b9c, - 0x66b7b7e6b7d15173, - 0xe0ebeb8beb0b60cb, - 0xc13c3cf03cfdcc78, - 0xfd81813e817cbf1f, - 0x4094946a94d4fe35, - 0x1cf7f7fbf7eb0cf3, - 0x18b9b9deb9a1676f, - 0x8b13134c13985f26, - 0x512c2cb02c7d9c58, - 0x05d3d36bd3d6b8bb, - 0x8ce7e7bbe76b5cd3, - 0x396e6ea56e57cbdc, - 0xaac4c437c46ef395, - 0x1b03030c03180f06, - 0xdc565645568a13ac, - 0x5e44440d441a4988, - 0xa07f7fe17fdf9efe, - 0x88a9a99ea921374f, - 0x672a2aa82a4d8254, - 0x0abbbbd6bbb16d6b, - 0x87c1c123c146e29f, - 0xf153535153a202a6, - 0x72dcdc57dcae8ba5, - 0x530b0b2c0b582716, - 0x019d9d4e9d9cd327, - 0x2b6c6cad6c47c1d8, - 0xa43131c43195f562, - 0xf37474cd7487b9e8, - 0x15f6f6fff6e309f1, - 0x4c464605460a438c, - 0xa5acac8aac092645, - 0xb589891e893c970f, - 0xb414145014a04428, - 0xbae1e1a3e15b42df, - 0xa616165816b04e2c, - 0xf73a3ae83acdd274, - 0x066969b9696fd0d2, - 0x4109092409482d12, - 0xd77070dd70a7ade0, - 0x6fb6b6e2b6d95471, - 0x1ed0d067d0ceb7bd, - 0xd6eded93ed3b7ec7, - 0xe2cccc17cc2edb85, - 0x68424215422a5784, - 0x2c98985a98b4c22d, - 0xeda4a4aaa4490e55, - 0x752828a0285d8850, - 0x865c5c6d5cda31b8, - 0x6bf8f8c7f8933fed, - 0xc28686228644a411, + 0x83d436cf1bcfcff9, + 0x5687452bac2b2b6e, + 0xecb39776c57676e1, + 0x19b06482328282e6, + 0xb1a9fed67fd6d628, + 0x3677d81b6c1b1bc3, + 0x775bc1b5eeb5b574, + 0x432911af86afafbe, + 0xd4df776ab56a6a1d, + 0xa00dba505d5050ea, + 0x8a4c124509454557, + 0xfb18cbf3ebf3f338, + 0x60f09d30c03030ad, + 0xc3742bef9befefc4, + 0x7ec3e53ffc3f3fda, + 0xaa1c9255495555c7, + 0x591079a2b2a2a2db, + 0xc96503ea8feaeae9, + 0xcaec0f658965656a, + 0x6968b9bad2baba03, + 0x5e93652fbc2f2f4a, + 0x9de74ec027c0c08e, + 0xa181bede5fdede60, + 0x386ce01c701c1cfc, + 0xe72ebbfdd3fdfd46, + 0x9a64524d294d4d1f, + 0x39e0e49272929276, + 0xeabc8f75c97575fa, + 0x0c1e300618060636, + 0x0998248a128a8aae, + 0x7940f9b2f2b2b24b, + 0xd15963e6bfe6e685, + 0x1c36700e380e0e7e, + 0x3e63f81f7c1f1fe7, + 0xc4f7376295626255, + 0xb5a3eed477d4d43a, + 0x4d3229a89aa8a881, + 0x31f4c49662969652, + 0xef3a9bf9c3f9f962, + 0x97f666c533c5c5a3, + 0x4ab1352594252510, + 0xb220f259795959ab, + 0x15ae54842a8484d0, + 0xe4a7b772d57272c5, + 0x72ddd539e43939ec, + 0x98615a4c2d4c4c16, + 0xbc3bca5e655e5e94, + 0xf085e778fd78789f, + 0x70d8dd38e03838e5, + 0x0586148c0a8c8c98, + 0xbfb2c6d163d1d117, + 0x570b41a5aea5a5e4, + 0xd94d43e2afe2e2a1, + 0xc2f82f619961614e, + 0x7b45f1b3f6b3b342, + 0x42a5152184212134, + 0x25d6949c4a9c9c08, + 0x3c66f01e781e1eee, + 0x8652224311434361, + 0x93fc76c73bc7c7b1, + 0xe52bb3fcd7fcfc4f, + 0x0814200410040424, + 0xa208b251595151e3, + 0x2fc7bc995e999925, + 0xdac44f6da96d6d22, + 0x1a39680d340d0d65, + 0xe93583facffafa79, + 0xa384b6df5bdfdf69, + 0xfc9bd77ee57e7ea9, + 0x48b43d2490242419, + 0x76d7c53bec3b3bfe, + 0x4b3d31ab96abab9a, + 0x81d13ece1fcecef0, + 0x2255881144111199, + 0x03890c8f068f8f83, + 0x9c6b4a4e254e4e04, + 0x7351d1b7e6b7b766, + 0xcb600beb8bebebe0, + 0x78ccfd3cf03c3cc1, + 0x1fbf7c813e8181fd, + 0x35fed4946a949440, + 0xf30cebf7fbf7f71c, + 0x6f67a1b9deb9b918, + 0x265f98134c13138b, + 0x589c7d2cb02c2c51, + 0xbbb8d6d36bd3d305, + 0xd35c6be7bbe7e78c, + 0xdccb576ea56e6e39, + 0x95f36ec437c4c4aa, + 0x060f18030c03031b, + 0xac138a56455656dc, + 0x88491a440d44445e, + 0xfe9edf7fe17f7fa0, + 0x4f3721a99ea9a988, + 0x54824d2aa82a2a67, + 0x6b6db1bbd6bbbb0a, + 0x9fe246c123c1c187, + 0xa602a253515353f1, + 0xa58baedc57dcdc72, + 0x1627580b2c0b0b53, + 0x27d39c9d4e9d9d01, + 0xd8c1476cad6c6c2b, + 0x62f59531c43131a4, + 0xe8b98774cd7474f3, + 0xf109e3f6fff6f615, + 0x8c430a460546464c, + 0x452609ac8aacaca5, + 0x0f973c891e8989b5, + 0x2844a014501414b4, + 0xdf425be1a3e1e1ba, + 0x2c4eb016581616a6, + 0x74d2cd3ae83a3af7, + 0xd2d06f69b9696906, + 0x122d480924090941, + 0xe0ada770dd7070d7, + 0x7154d9b6e2b6b66f, + 0xbdb7ced067d0d01e, + 0xc77e3bed93ededd6, + 0x85db2ecc17cccce2, + 0x84572a4215424268, + 0x2dc2b4985a98982c, + 0x550e49a4aaa4a4ed, + 0x50885d28a0282875, + 0xb831da5c6d5c5c86, + 0xed3f93f8c7f8f86b, + 0x11a44486228686c2, ]; -pub static C2: [u64; 256] = [ - 0x30d818186018c078, - 0x462623238c2305af, - 0x91b8c6c63fc67ef9, - 0xcdfbe8e887e8136f, - 0x13cb878726874ca1, - 0x6d11b8b8dab8a962, - 0x0209010104010805, - 0x9e0d4f4f214f426e, - 0x6c9b3636d836adee, - 0x51ffa6a6a2a65904, - 0xb90cd2d26fd2debd, - 0xf70ef5f5f3f5fb06, - 0xf2967979f979ef80, - 0xde306f6fa16f5fce, - 0x3f6d91917e91fcef, - 0xa4f852525552aa07, - 0xc04760609d6027fd, - 0x6535bcbccabc8976, - 0x2b379b9b569baccd, - 0x018a8e8e028e048c, - 0x5bd2a3a3b6a37115, - 0x186c0c0c300c603c, - 0xf6847b7bf17bff8a, - 0x6a803535d435b5e1, - 0x3af51d1d741de869, - 0xddb3e0e0a7e05347, - 0xb321d7d77bd7f6ac, - 0x999cc2c22fc25eed, - 0x5c432e2eb82e6d96, - 0x96294b4b314b627a, - 0xe15dfefedffea321, - 0xaed5575741578216, - 0x2abd15155415a841, - 0xeee87777c1779fb6, - 0x6e923737dc37a5eb, - 0xd79ee5e5b3e57b56, - 0x23139f9f469f8cd9, - 0xfd23f0f0e7f0d317, - 0x94204a4a354a6a7f, - 0xa944dada4fda9e95, - 0xb0a258587d58fa25, - 0x8fcfc9c903c906ca, - 0x527c2929a429558d, - 0x145a0a0a280a5022, - 0x7f50b1b1feb1e14f, - 0x5dc9a0a0baa0691a, - 0xd6146b6bb16b7fda, - 0x17d985852e855cab, - 0x673cbdbdcebd8173, - 0xba8f5d5d695dd234, - 0x2090101040108050, - 0xf507f4f4f7f4f303, - 0x8bddcbcb0bcb16c0, - 0x7cd33e3ef83eedc6, - 0x0a2d050514052811, - 0xce78676781671fe6, - 0xd597e4e4b7e47353, - 0x4e0227279c2725bb, - 0x8273414119413258, - 0x0ba78b8b168b2c9d, - 0x53f6a7a7a6a75101, - 0xfab27d7de97dcf94, - 0x374995956e95dcfb, - 0xad56d8d847d88e9f, - 0xeb70fbfbcbfb8b30, - 0xc1cdeeee9fee2371, - 0xf8bb7c7ced7cc791, - 0xcc716666856617e3, - 0xa77bdddd53dda68e, - 0x2eaf17175c17b84b, - 0x8e45474701470246, - 0x211a9e9e429e84dc, - 0x89d4caca0fca1ec5, - 0x5a582d2db42d7599, - 0x632ebfbfc6bf9179, - 0x0e3f07071c07381b, - 0x47acadad8ead0123, - 0xb4b05a5a755aea2f, - 0x1bef838336836cb5, - 0x66b63333cc3385ff, - 0xc65c636391633ff2, - 0x041202020802100a, - 0x4993aaaa92aa3938, - 0xe2de7171d971afa8, - 0x8dc6c8c807c80ecf, - 0x32d119196419c87d, - 0x923b494939497270, - 0xaf5fd9d943d9869a, - 0xf931f2f2eff2c31d, - 0xdba8e3e3abe34b48, - 0xb6b95b5b715be22a, - 0x0dbc88881a883492, - 0x293e9a9a529aa4c8, - 0x4c0b262698262dbe, - 0x64bf3232c8328dfa, - 0x7d59b0b0fab0e94a, - 0xcff2e9e983e91b6a, - 0x1e770f0f3c0f7833, - 0xb733d5d573d5e6a6, - 0x1df480803a8074ba, - 0x6127bebec2be997c, - 0x87ebcdcd13cd26de, - 0x68893434d034bde4, - 0x903248483d487a75, - 0xe354ffffdbffab24, - 0xf48d7a7af57af78f, - 0x3d6490907a90f4ea, - 0xbe9d5f5f615fc23e, - 0x403d202080201da0, - 0xd00f6868bd6867d5, - 0x34ca1a1a681ad072, - 0x41b7aeae82ae192c, - 0x757db4b4eab4c95e, - 0xa8ce54544d549a19, - 0x3b7f93937693ece5, - 0x442f222288220daa, - 0xc86364648d6407e9, - 0xff2af1f1e3f1db12, - 0xe6cc7373d173bfa2, - 0x248212124812905a, - 0x807a40401d403a5d, - 0x1048080820084028, - 0x9b95c3c32bc356e8, - 0xc5dfecec97ec337b, - 0xab4ddbdb4bdb9690, - 0x5fc0a1a1bea1611f, - 0x07918d8d0e8d1c83, - 0x7ac83d3df43df5c9, - 0x335b97976697ccf1, +pub const C2: [u64; 256] = [ + 0x78c018601818d830, + 0xaf05238c23232646, + 0xf97ec63fc6c6b891, + 0x6f13e887e8e8fbcd, + 0xa14c87268787cb13, + 0x62a9b8dab8b8116d, + 0x0508010401010902, + 0x6e424f214f4f0d9e, + 0xeead36d836369b6c, + 0x0459a6a2a6a6ff51, + 0xbdded26fd2d20cb9, + 0x06fbf5f3f5f50ef7, + 0x80ef79f9797996f2, + 0xce5f6fa16f6f30de, + 0xeffc917e91916d3f, + 0x07aa52555252f8a4, + 0xfd27609d606047c0, + 0x7689bccabcbc3565, + 0xcdac9b569b9b372b, + 0x8c048e028e8e8a01, + 0x1571a3b6a3a3d25b, + 0x3c600c300c0c6c18, + 0x8aff7bf17b7b84f6, + 0xe1b535d43535806a, + 0x69e81d741d1df53a, + 0x4753e0a7e0e0b3dd, + 0xacf6d77bd7d721b3, + 0xed5ec22fc2c29c99, + 0x966d2eb82e2e435c, + 0x7a624b314b4b2996, + 0x21a3fedffefe5de1, + 0x168257415757d5ae, + 0x41a815541515bd2a, + 0xb69f77c17777e8ee, + 0xeba537dc3737926e, + 0x567be5b3e5e59ed7, + 0xd98c9f469f9f1323, + 0x17d3f0e7f0f023fd, + 0x7f6a4a354a4a2094, + 0x959eda4fdada44a9, + 0x25fa587d5858a2b0, + 0xca06c903c9c9cf8f, + 0x8d5529a429297c52, + 0x22500a280a0a5a14, + 0x4fe1b1feb1b1507f, + 0x1a69a0baa0a0c95d, + 0xda7f6bb16b6b14d6, + 0xab5c852e8585d917, + 0x7381bdcebdbd3c67, + 0x34d25d695d5d8fba, + 0x5080104010109020, + 0x03f3f4f7f4f407f5, + 0xc016cb0bcbcbdd8b, + 0xc6ed3ef83e3ed37c, + 0x1128051405052d0a, + 0xe61f6781676778ce, + 0x5373e4b7e4e497d5, + 0xbb25279c2727024e, + 0x5832411941417382, + 0x9d2c8b168b8ba70b, + 0x0151a7a6a7a7f653, + 0x94cf7de97d7db2fa, + 0xfbdc956e95954937, + 0x9f8ed847d8d856ad, + 0x308bfbcbfbfb70eb, + 0x7123ee9feeeecdc1, + 0x91c77ced7c7cbbf8, + 0xe3176685666671cc, + 0x8ea6dd53dddd7ba7, + 0x4bb8175c1717af2e, + 0x460247014747458e, + 0xdc849e429e9e1a21, + 0xc51eca0fcacad489, + 0x99752db42d2d585a, + 0x7991bfc6bfbf2e63, + 0x1b38071c07073f0e, + 0x2301ad8eadadac47, + 0x2fea5a755a5ab0b4, + 0xb56c83368383ef1b, + 0xff8533cc3333b666, + 0xf23f639163635cc6, + 0x0a10020802021204, + 0x3839aa92aaaa9349, + 0xa8af71d97171dee2, + 0xcf0ec807c8c8c68d, + 0x7dc819641919d132, + 0x7072493949493b92, + 0x9a86d943d9d95faf, + 0x1dc3f2eff2f231f9, + 0x484be3abe3e3a8db, + 0x2ae25b715b5bb9b6, + 0x9234881a8888bc0d, + 0xc8a49a529a9a3e29, + 0xbe2d269826260b4c, + 0xfa8d32c83232bf64, + 0x4ae9b0fab0b0597d, + 0x6a1be983e9e9f2cf, + 0x33780f3c0f0f771e, + 0xa6e6d573d5d533b7, + 0xba74803a8080f41d, + 0x7c99bec2bebe2761, + 0xde26cd13cdcdeb87, + 0xe4bd34d034348968, + 0x757a483d48483290, + 0x24abffdbffff54e3, + 0x8ff77af57a7a8df4, + 0xeaf4907a9090643d, + 0x3ec25f615f5f9dbe, + 0xa01d208020203d40, + 0xd56768bd68680fd0, + 0x72d01a681a1aca34, + 0x2c19ae82aeaeb741, + 0x5ec9b4eab4b47d75, + 0x199a544d5454cea8, + 0xe5ec937693937f3b, + 0xaa0d228822222f44, + 0xe907648d646463c8, + 0x12dbf1e3f1f12aff, + 0xa2bf73d17373cce6, + 0x5a90124812128224, + 0x5d3a401d40407a80, + 0x2840082008084810, + 0xe856c32bc3c3959b, + 0x7b33ec97ececdfc5, + 0x9096db4bdbdb4dab, + 0x1f61a1bea1a1c05f, + 0x831c8d0e8d8d9107, + 0xc9f53df43d3dc87a, + 0xf1cc976697975b33, 0x0000000000000000, - 0x83f9cfcf1bcf36d4, - 0x566e2b2bac2b4587, - 0xece17676c57697b3, - 0x19e68282328264b0, - 0xb128d6d67fd6fea9, - 0x36c31b1b6c1bd877, - 0x7774b5b5eeb5c15b, - 0x43beafaf86af1129, - 0xd41d6a6ab56a77df, - 0xa0ea50505d50ba0d, - 0x8a5745450945124c, - 0xfb38f3f3ebf3cb18, - 0x60ad3030c0309df0, - 0xc3c4efef9bef2b74, - 0x7eda3f3ffc3fe5c3, - 0xaac755554955921c, - 0x59dba2a2b2a27910, - 0xc9e9eaea8fea0365, - 0xca6a656589650fec, - 0x6903babad2bab968, - 0x5e4a2f2fbc2f6593, - 0x9d8ec0c027c04ee7, - 0xa160dede5fdebe81, - 0x38fc1c1c701ce06c, - 0xe746fdfdd3fdbb2e, - 0x9a1f4d4d294d5264, - 0x397692927292e4e0, - 0xeafa7575c9758fbc, - 0x0c3606061806301e, - 0x09ae8a8a128a2498, - 0x794bb2b2f2b2f940, - 0xd185e6e6bfe66359, - 0x1c7e0e0e380e7036, - 0x3ee71f1f7c1ff863, - 0xc4556262956237f7, - 0xb53ad4d477d4eea3, - 0x4d81a8a89aa82932, - 0x315296966296c4f4, - 0xef62f9f9c3f99b3a, - 0x97a3c5c533c566f6, - 0x4a102525942535b1, - 0xb2ab59597959f220, - 0x15d084842a8454ae, - 0xe4c57272d572b7a7, - 0x72ec3939e439d5dd, - 0x98164c4c2d4c5a61, - 0xbc945e5e655eca3b, - 0xf09f7878fd78e785, - 0x70e53838e038ddd8, - 0x05988c8c0a8c1486, - 0xbf17d1d163d1c6b2, - 0x57e4a5a5aea5410b, - 0xd9a1e2e2afe2434d, - 0xc24e616199612ff8, - 0x7b42b3b3f6b3f145, - 0x42342121842115a5, - 0x25089c9c4a9c94d6, - 0x3cee1e1e781ef066, - 0x8661434311432252, - 0x93b1c7c73bc776fc, - 0xe54ffcfcd7fcb32b, - 0x0824040410042014, - 0xa2e351515951b208, - 0x2f2599995e99bcc7, - 0xda226d6da96d4fc4, - 0x1a650d0d340d6839, - 0xe979fafacffa8335, - 0xa369dfdf5bdfb684, - 0xfca97e7ee57ed79b, - 0x4819242490243db4, - 0x76fe3b3bec3bc5d7, - 0x4b9aabab96ab313d, - 0x81f0cece1fce3ed1, - 0x2299111144118855, - 0x03838f8f068f0c89, - 0x9c044e4e254e4a6b, - 0x7366b7b7e6b7d151, - 0xcbe0ebeb8beb0b60, - 0x78c13c3cf03cfdcc, - 0x1ffd81813e817cbf, - 0x354094946a94d4fe, - 0xf31cf7f7fbf7eb0c, - 0x6f18b9b9deb9a167, - 0x268b13134c13985f, - 0x58512c2cb02c7d9c, - 0xbb05d3d36bd3d6b8, - 0xd38ce7e7bbe76b5c, - 0xdc396e6ea56e57cb, - 0x95aac4c437c46ef3, - 0x061b03030c03180f, - 0xacdc565645568a13, - 0x885e44440d441a49, - 0xfea07f7fe17fdf9e, - 0x4f88a9a99ea92137, - 0x54672a2aa82a4d82, - 0x6b0abbbbd6bbb16d, - 0x9f87c1c123c146e2, - 0xa6f153535153a202, - 0xa572dcdc57dcae8b, - 0x16530b0b2c0b5827, - 0x27019d9d4e9d9cd3, - 0xd82b6c6cad6c47c1, - 0x62a43131c43195f5, - 0xe8f37474cd7487b9, - 0xf115f6f6fff6e309, - 0x8c4c464605460a43, - 0x45a5acac8aac0926, - 0x0fb589891e893c97, - 0x28b414145014a044, - 0xdfbae1e1a3e15b42, - 0x2ca616165816b04e, - 0x74f73a3ae83acdd2, - 0xd2066969b9696fd0, - 0x124109092409482d, - 0xe0d77070dd70a7ad, - 0x716fb6b6e2b6d954, - 0xbd1ed0d067d0ceb7, - 0xc7d6eded93ed3b7e, - 0x85e2cccc17cc2edb, - 0x8468424215422a57, - 0x2d2c98985a98b4c2, - 0x55eda4a4aaa4490e, - 0x50752828a0285d88, - 0xb8865c5c6d5cda31, - 0xed6bf8f8c7f8933f, - 0x11c28686228644a4, + 0xd436cf1bcfcff983, + 0x87452bac2b2b6e56, + 0xb39776c57676e1ec, + 0xb06482328282e619, + 0xa9fed67fd6d628b1, + 0x77d81b6c1b1bc336, + 0x5bc1b5eeb5b57477, + 0x2911af86afafbe43, + 0xdf776ab56a6a1dd4, + 0x0dba505d5050eaa0, + 0x4c1245094545578a, + 0x18cbf3ebf3f338fb, + 0xf09d30c03030ad60, + 0x742bef9befefc4c3, + 0xc3e53ffc3f3fda7e, + 0x1c9255495555c7aa, + 0x1079a2b2a2a2db59, + 0x6503ea8feaeae9c9, + 0xec0f658965656aca, + 0x68b9bad2baba0369, + 0x93652fbc2f2f4a5e, + 0xe74ec027c0c08e9d, + 0x81bede5fdede60a1, + 0x6ce01c701c1cfc38, + 0x2ebbfdd3fdfd46e7, + 0x64524d294d4d1f9a, + 0xe0e4927292927639, + 0xbc8f75c97575faea, + 0x1e3006180606360c, + 0x98248a128a8aae09, + 0x40f9b2f2b2b24b79, + 0x5963e6bfe6e685d1, + 0x36700e380e0e7e1c, + 0x63f81f7c1f1fe73e, + 0xf7376295626255c4, + 0xa3eed477d4d43ab5, + 0x3229a89aa8a8814d, + 0xf4c4966296965231, + 0x3a9bf9c3f9f962ef, + 0xf666c533c5c5a397, + 0xb13525942525104a, + 0x20f259795959abb2, + 0xae54842a8484d015, + 0xa7b772d57272c5e4, + 0xddd539e43939ec72, + 0x615a4c2d4c4c1698, + 0x3bca5e655e5e94bc, + 0x85e778fd78789ff0, + 0xd8dd38e03838e570, + 0x86148c0a8c8c9805, + 0xb2c6d163d1d117bf, + 0x0b41a5aea5a5e457, + 0x4d43e2afe2e2a1d9, + 0xf82f619961614ec2, + 0x45f1b3f6b3b3427b, + 0xa515218421213442, + 0xd6949c4a9c9c0825, + 0x66f01e781e1eee3c, + 0x5222431143436186, + 0xfc76c73bc7c7b193, + 0x2bb3fcd7fcfc4fe5, + 0x1420041004042408, + 0x08b251595151e3a2, + 0xc7bc995e9999252f, + 0xc44f6da96d6d22da, + 0x39680d340d0d651a, + 0x3583facffafa79e9, + 0x84b6df5bdfdf69a3, + 0x9bd77ee57e7ea9fc, + 0xb43d249024241948, + 0xd7c53bec3b3bfe76, + 0x3d31ab96abab9a4b, + 0xd13ece1fcecef081, + 0x5588114411119922, + 0x890c8f068f8f8303, + 0x6b4a4e254e4e049c, + 0x51d1b7e6b7b76673, + 0x600beb8bebebe0cb, + 0xccfd3cf03c3cc178, + 0xbf7c813e8181fd1f, + 0xfed4946a94944035, + 0x0cebf7fbf7f71cf3, + 0x67a1b9deb9b9186f, + 0x5f98134c13138b26, + 0x9c7d2cb02c2c5158, + 0xb8d6d36bd3d305bb, + 0x5c6be7bbe7e78cd3, + 0xcb576ea56e6e39dc, + 0xf36ec437c4c4aa95, + 0x0f18030c03031b06, + 0x138a56455656dcac, + 0x491a440d44445e88, + 0x9edf7fe17f7fa0fe, + 0x3721a99ea9a9884f, + 0x824d2aa82a2a6754, + 0x6db1bbd6bbbb0a6b, + 0xe246c123c1c1879f, + 0x02a253515353f1a6, + 0x8baedc57dcdc72a5, + 0x27580b2c0b0b5316, + 0xd39c9d4e9d9d0127, + 0xc1476cad6c6c2bd8, + 0xf59531c43131a462, + 0xb98774cd7474f3e8, + 0x09e3f6fff6f615f1, + 0x430a460546464c8c, + 0x2609ac8aacaca545, + 0x973c891e8989b50f, + 0x44a014501414b428, + 0x425be1a3e1e1badf, + 0x4eb016581616a62c, + 0xd2cd3ae83a3af774, + 0xd06f69b9696906d2, + 0x2d48092409094112, + 0xada770dd7070d7e0, + 0x54d9b6e2b6b66f71, + 0xb7ced067d0d01ebd, + 0x7e3bed93ededd6c7, + 0xdb2ecc17cccce285, + 0x572a421542426884, + 0xc2b4985a98982c2d, + 0x0e49a4aaa4a4ed55, + 0x885d28a028287550, + 0x31da5c6d5c5c86b8, + 0x3f93f8c7f8f86bed, + 0xa44486228686c211, ]; -pub static C3: [u64; 256] = [ - 0x7830d818186018c0, - 0xaf462623238c2305, - 0xf991b8c6c63fc67e, - 0x6fcdfbe8e887e813, - 0xa113cb878726874c, - 0x626d11b8b8dab8a9, - 0x0502090101040108, - 0x6e9e0d4f4f214f42, - 0xee6c9b3636d836ad, - 0x0451ffa6a6a2a659, - 0xbdb90cd2d26fd2de, - 0x06f70ef5f5f3f5fb, - 0x80f2967979f979ef, - 0xcede306f6fa16f5f, - 0xef3f6d91917e91fc, - 0x07a4f852525552aa, - 0xfdc04760609d6027, - 0x766535bcbccabc89, - 0xcd2b379b9b569bac, - 0x8c018a8e8e028e04, - 0x155bd2a3a3b6a371, - 0x3c186c0c0c300c60, - 0x8af6847b7bf17bff, - 0xe16a803535d435b5, - 0x693af51d1d741de8, - 0x47ddb3e0e0a7e053, - 0xacb321d7d77bd7f6, - 0xed999cc2c22fc25e, - 0x965c432e2eb82e6d, - 0x7a96294b4b314b62, - 0x21e15dfefedffea3, - 0x16aed55757415782, - 0x412abd15155415a8, - 0xb6eee87777c1779f, - 0xeb6e923737dc37a5, - 0x56d79ee5e5b3e57b, - 0xd923139f9f469f8c, - 0x17fd23f0f0e7f0d3, - 0x7f94204a4a354a6a, - 0x95a944dada4fda9e, - 0x25b0a258587d58fa, - 0xca8fcfc9c903c906, - 0x8d527c2929a42955, - 0x22145a0a0a280a50, - 0x4f7f50b1b1feb1e1, - 0x1a5dc9a0a0baa069, - 0xdad6146b6bb16b7f, - 0xab17d985852e855c, - 0x73673cbdbdcebd81, - 0x34ba8f5d5d695dd2, - 0x5020901010401080, - 0x03f507f4f4f7f4f3, - 0xc08bddcbcb0bcb16, - 0xc67cd33e3ef83eed, - 0x110a2d0505140528, - 0xe6ce78676781671f, - 0x53d597e4e4b7e473, - 0xbb4e0227279c2725, - 0x5882734141194132, - 0x9d0ba78b8b168b2c, - 0x0153f6a7a7a6a751, - 0x94fab27d7de97dcf, - 0xfb374995956e95dc, - 0x9fad56d8d847d88e, - 0x30eb70fbfbcbfb8b, - 0x71c1cdeeee9fee23, - 0x91f8bb7c7ced7cc7, - 0xe3cc716666856617, - 0x8ea77bdddd53dda6, - 0x4b2eaf17175c17b8, - 0x468e454747014702, - 0xdc211a9e9e429e84, - 0xc589d4caca0fca1e, - 0x995a582d2db42d75, - 0x79632ebfbfc6bf91, - 0x1b0e3f07071c0738, - 0x2347acadad8ead01, - 0x2fb4b05a5a755aea, - 0xb51bef838336836c, - 0xff66b63333cc3385, - 0xf2c65c636391633f, - 0x0a04120202080210, - 0x384993aaaa92aa39, - 0xa8e2de7171d971af, - 0xcf8dc6c8c807c80e, - 0x7d32d119196419c8, - 0x70923b4949394972, - 0x9aaf5fd9d943d986, - 0x1df931f2f2eff2c3, - 0x48dba8e3e3abe34b, - 0x2ab6b95b5b715be2, - 0x920dbc88881a8834, - 0xc8293e9a9a529aa4, - 0xbe4c0b262698262d, - 0xfa64bf3232c8328d, - 0x4a7d59b0b0fab0e9, - 0x6acff2e9e983e91b, - 0x331e770f0f3c0f78, - 0xa6b733d5d573d5e6, - 0xba1df480803a8074, - 0x7c6127bebec2be99, - 0xde87ebcdcd13cd26, - 0xe468893434d034bd, - 0x75903248483d487a, - 0x24e354ffffdbffab, - 0x8ff48d7a7af57af7, - 0xea3d6490907a90f4, - 0x3ebe9d5f5f615fc2, - 0xa0403d202080201d, - 0xd5d00f6868bd6867, - 0x7234ca1a1a681ad0, - 0x2c41b7aeae82ae19, - 0x5e757db4b4eab4c9, - 0x19a8ce54544d549a, - 0xe53b7f93937693ec, - 0xaa442f222288220d, - 0xe9c86364648d6407, - 0x12ff2af1f1e3f1db, - 0xa2e6cc7373d173bf, - 0x5a24821212481290, - 0x5d807a40401d403a, - 0x2810480808200840, - 0xe89b95c3c32bc356, - 0x7bc5dfecec97ec33, - 0x90ab4ddbdb4bdb96, - 0x1f5fc0a1a1bea161, - 0x8307918d8d0e8d1c, - 0xc97ac83d3df43df5, - 0xf1335b97976697cc, +pub const C3: [u64; 256] = [ + 0xc018601818d83078, + 0x05238c23232646af, + 0x7ec63fc6c6b891f9, + 0x13e887e8e8fbcd6f, + 0x4c87268787cb13a1, + 0xa9b8dab8b8116d62, + 0x0801040101090205, + 0x424f214f4f0d9e6e, + 0xad36d836369b6cee, + 0x59a6a2a6a6ff5104, + 0xded26fd2d20cb9bd, + 0xfbf5f3f5f50ef706, + 0xef79f9797996f280, + 0x5f6fa16f6f30dece, + 0xfc917e91916d3fef, + 0xaa52555252f8a407, + 0x27609d606047c0fd, + 0x89bccabcbc356576, + 0xac9b569b9b372bcd, + 0x048e028e8e8a018c, + 0x71a3b6a3a3d25b15, + 0x600c300c0c6c183c, + 0xff7bf17b7b84f68a, + 0xb535d43535806ae1, + 0xe81d741d1df53a69, + 0x53e0a7e0e0b3dd47, + 0xf6d77bd7d721b3ac, + 0x5ec22fc2c29c99ed, + 0x6d2eb82e2e435c96, + 0x624b314b4b29967a, + 0xa3fedffefe5de121, + 0x8257415757d5ae16, + 0xa815541515bd2a41, + 0x9f77c17777e8eeb6, + 0xa537dc3737926eeb, + 0x7be5b3e5e59ed756, + 0x8c9f469f9f1323d9, + 0xd3f0e7f0f023fd17, + 0x6a4a354a4a20947f, + 0x9eda4fdada44a995, + 0xfa587d5858a2b025, + 0x06c903c9c9cf8fca, + 0x5529a429297c528d, + 0x500a280a0a5a1422, + 0xe1b1feb1b1507f4f, + 0x69a0baa0a0c95d1a, + 0x7f6bb16b6b14d6da, + 0x5c852e8585d917ab, + 0x81bdcebdbd3c6773, + 0xd25d695d5d8fba34, + 0x8010401010902050, + 0xf3f4f7f4f407f503, + 0x16cb0bcbcbdd8bc0, + 0xed3ef83e3ed37cc6, + 0x28051405052d0a11, + 0x1f6781676778cee6, + 0x73e4b7e4e497d553, + 0x25279c2727024ebb, + 0x3241194141738258, + 0x2c8b168b8ba70b9d, + 0x51a7a6a7a7f65301, + 0xcf7de97d7db2fa94, + 0xdc956e95954937fb, + 0x8ed847d8d856ad9f, + 0x8bfbcbfbfb70eb30, + 0x23ee9feeeecdc171, + 0xc77ced7c7cbbf891, + 0x176685666671cce3, + 0xa6dd53dddd7ba78e, + 0xb8175c1717af2e4b, + 0x0247014747458e46, + 0x849e429e9e1a21dc, + 0x1eca0fcacad489c5, + 0x752db42d2d585a99, + 0x91bfc6bfbf2e6379, + 0x38071c07073f0e1b, + 0x01ad8eadadac4723, + 0xea5a755a5ab0b42f, + 0x6c83368383ef1bb5, + 0x8533cc3333b666ff, + 0x3f639163635cc6f2, + 0x100208020212040a, + 0x39aa92aaaa934938, + 0xaf71d97171dee2a8, + 0x0ec807c8c8c68dcf, + 0xc819641919d1327d, + 0x72493949493b9270, + 0x86d943d9d95faf9a, + 0xc3f2eff2f231f91d, + 0x4be3abe3e3a8db48, + 0xe25b715b5bb9b62a, + 0x34881a8888bc0d92, + 0xa49a529a9a3e29c8, + 0x2d269826260b4cbe, + 0x8d32c83232bf64fa, + 0xe9b0fab0b0597d4a, + 0x1be983e9e9f2cf6a, + 0x780f3c0f0f771e33, + 0xe6d573d5d533b7a6, + 0x74803a8080f41dba, + 0x99bec2bebe27617c, + 0x26cd13cdcdeb87de, + 0xbd34d034348968e4, + 0x7a483d4848329075, + 0xabffdbffff54e324, + 0xf77af57a7a8df48f, + 0xf4907a9090643dea, + 0xc25f615f5f9dbe3e, + 0x1d208020203d40a0, + 0x6768bd68680fd0d5, + 0xd01a681a1aca3472, + 0x19ae82aeaeb7412c, + 0xc9b4eab4b47d755e, + 0x9a544d5454cea819, + 0xec937693937f3be5, + 0x0d228822222f44aa, + 0x07648d646463c8e9, + 0xdbf1e3f1f12aff12, + 0xbf73d17373cce6a2, + 0x901248121282245a, + 0x3a401d40407a805d, + 0x4008200808481028, + 0x56c32bc3c3959be8, + 0x33ec97ececdfc57b, + 0x96db4bdbdb4dab90, + 0x61a1bea1a1c05f1f, + 0x1c8d0e8d8d910783, + 0xf53df43d3dc87ac9, + 0xcc976697975b33f1, 0x0000000000000000, - 0xd483f9cfcf1bcf36, - 0x87566e2b2bac2b45, - 0xb3ece17676c57697, - 0xb019e68282328264, - 0xa9b128d6d67fd6fe, - 0x7736c31b1b6c1bd8, - 0x5b7774b5b5eeb5c1, - 0x2943beafaf86af11, - 0xdfd41d6a6ab56a77, - 0x0da0ea50505d50ba, - 0x4c8a574545094512, - 0x18fb38f3f3ebf3cb, - 0xf060ad3030c0309d, - 0x74c3c4efef9bef2b, - 0xc37eda3f3ffc3fe5, - 0x1caac75555495592, - 0x1059dba2a2b2a279, - 0x65c9e9eaea8fea03, - 0xecca6a656589650f, - 0x686903babad2bab9, - 0x935e4a2f2fbc2f65, - 0xe79d8ec0c027c04e, - 0x81a160dede5fdebe, - 0x6c38fc1c1c701ce0, - 0x2ee746fdfdd3fdbb, - 0x649a1f4d4d294d52, - 0xe0397692927292e4, - 0xbceafa7575c9758f, - 0x1e0c360606180630, - 0x9809ae8a8a128a24, - 0x40794bb2b2f2b2f9, - 0x59d185e6e6bfe663, - 0x361c7e0e0e380e70, - 0x633ee71f1f7c1ff8, - 0xf7c4556262956237, - 0xa3b53ad4d477d4ee, - 0x324d81a8a89aa829, - 0xf4315296966296c4, - 0x3aef62f9f9c3f99b, - 0xf697a3c5c533c566, - 0xb14a102525942535, - 0x20b2ab59597959f2, - 0xae15d084842a8454, - 0xa7e4c57272d572b7, - 0xdd72ec3939e439d5, - 0x6198164c4c2d4c5a, - 0x3bbc945e5e655eca, - 0x85f09f7878fd78e7, - 0xd870e53838e038dd, - 0x8605988c8c0a8c14, - 0xb2bf17d1d163d1c6, - 0x0b57e4a5a5aea541, - 0x4dd9a1e2e2afe243, - 0xf8c24e616199612f, - 0x457b42b3b3f6b3f1, - 0xa542342121842115, - 0xd625089c9c4a9c94, - 0x663cee1e1e781ef0, - 0x5286614343114322, - 0xfc93b1c7c73bc776, - 0x2be54ffcfcd7fcb3, - 0x1408240404100420, - 0x08a2e351515951b2, - 0xc72f2599995e99bc, - 0xc4da226d6da96d4f, - 0x391a650d0d340d68, - 0x35e979fafacffa83, - 0x84a369dfdf5bdfb6, - 0x9bfca97e7ee57ed7, - 0xb44819242490243d, - 0xd776fe3b3bec3bc5, - 0x3d4b9aabab96ab31, - 0xd181f0cece1fce3e, - 0x5522991111441188, - 0x8903838f8f068f0c, - 0x6b9c044e4e254e4a, - 0x517366b7b7e6b7d1, - 0x60cbe0ebeb8beb0b, - 0xcc78c13c3cf03cfd, - 0xbf1ffd81813e817c, - 0xfe354094946a94d4, - 0x0cf31cf7f7fbf7eb, - 0x676f18b9b9deb9a1, - 0x5f268b13134c1398, - 0x9c58512c2cb02c7d, - 0xb8bb05d3d36bd3d6, - 0x5cd38ce7e7bbe76b, - 0xcbdc396e6ea56e57, - 0xf395aac4c437c46e, - 0x0f061b03030c0318, - 0x13acdc565645568a, - 0x49885e44440d441a, - 0x9efea07f7fe17fdf, - 0x374f88a9a99ea921, - 0x8254672a2aa82a4d, - 0x6d6b0abbbbd6bbb1, - 0xe29f87c1c123c146, - 0x02a6f153535153a2, - 0x8ba572dcdc57dcae, - 0x2716530b0b2c0b58, - 0xd327019d9d4e9d9c, - 0xc1d82b6c6cad6c47, - 0xf562a43131c43195, - 0xb9e8f37474cd7487, - 0x09f115f6f6fff6e3, - 0x438c4c464605460a, - 0x2645a5acac8aac09, - 0x970fb589891e893c, - 0x4428b414145014a0, - 0x42dfbae1e1a3e15b, - 0x4e2ca616165816b0, - 0xd274f73a3ae83acd, - 0xd0d2066969b9696f, - 0x2d12410909240948, - 0xade0d77070dd70a7, - 0x54716fb6b6e2b6d9, - 0xb7bd1ed0d067d0ce, - 0x7ec7d6eded93ed3b, - 0xdb85e2cccc17cc2e, - 0x578468424215422a, - 0xc22d2c98985a98b4, - 0x0e55eda4a4aaa449, - 0x8850752828a0285d, - 0x31b8865c5c6d5cda, - 0x3fed6bf8f8c7f893, - 0xa411c28686228644, + 0x36cf1bcfcff983d4, + 0x452bac2b2b6e5687, + 0x9776c57676e1ecb3, + 0x6482328282e619b0, + 0xfed67fd6d628b1a9, + 0xd81b6c1b1bc33677, + 0xc1b5eeb5b574775b, + 0x11af86afafbe4329, + 0x776ab56a6a1dd4df, + 0xba505d5050eaa00d, + 0x1245094545578a4c, + 0xcbf3ebf3f338fb18, + 0x9d30c03030ad60f0, + 0x2bef9befefc4c374, + 0xe53ffc3f3fda7ec3, + 0x9255495555c7aa1c, + 0x79a2b2a2a2db5910, + 0x03ea8feaeae9c965, + 0x0f658965656acaec, + 0xb9bad2baba036968, + 0x652fbc2f2f4a5e93, + 0x4ec027c0c08e9de7, + 0xbede5fdede60a181, + 0xe01c701c1cfc386c, + 0xbbfdd3fdfd46e72e, + 0x524d294d4d1f9a64, + 0xe4927292927639e0, + 0x8f75c97575faeabc, + 0x3006180606360c1e, + 0x248a128a8aae0998, + 0xf9b2f2b2b24b7940, + 0x63e6bfe6e685d159, + 0x700e380e0e7e1c36, + 0xf81f7c1f1fe73e63, + 0x376295626255c4f7, + 0xeed477d4d43ab5a3, + 0x29a89aa8a8814d32, + 0xc4966296965231f4, + 0x9bf9c3f9f962ef3a, + 0x66c533c5c5a397f6, + 0x3525942525104ab1, + 0xf259795959abb220, + 0x54842a8484d015ae, + 0xb772d57272c5e4a7, + 0xd539e43939ec72dd, + 0x5a4c2d4c4c169861, + 0xca5e655e5e94bc3b, + 0xe778fd78789ff085, + 0xdd38e03838e570d8, + 0x148c0a8c8c980586, + 0xc6d163d1d117bfb2, + 0x41a5aea5a5e4570b, + 0x43e2afe2e2a1d94d, + 0x2f619961614ec2f8, + 0xf1b3f6b3b3427b45, + 0x15218421213442a5, + 0x949c4a9c9c0825d6, + 0xf01e781e1eee3c66, + 0x2243114343618652, + 0x76c73bc7c7b193fc, + 0xb3fcd7fcfc4fe52b, + 0x2004100404240814, + 0xb251595151e3a208, + 0xbc995e9999252fc7, + 0x4f6da96d6d22dac4, + 0x680d340d0d651a39, + 0x83facffafa79e935, + 0xb6df5bdfdf69a384, + 0xd77ee57e7ea9fc9b, + 0x3d249024241948b4, + 0xc53bec3b3bfe76d7, + 0x31ab96abab9a4b3d, + 0x3ece1fcecef081d1, + 0x8811441111992255, + 0x0c8f068f8f830389, + 0x4a4e254e4e049c6b, + 0xd1b7e6b7b7667351, + 0x0beb8bebebe0cb60, + 0xfd3cf03c3cc178cc, + 0x7c813e8181fd1fbf, + 0xd4946a94944035fe, + 0xebf7fbf7f71cf30c, + 0xa1b9deb9b9186f67, + 0x98134c13138b265f, + 0x7d2cb02c2c51589c, + 0xd6d36bd3d305bbb8, + 0x6be7bbe7e78cd35c, + 0x576ea56e6e39dccb, + 0x6ec437c4c4aa95f3, + 0x18030c03031b060f, + 0x8a56455656dcac13, + 0x1a440d44445e8849, + 0xdf7fe17f7fa0fe9e, + 0x21a99ea9a9884f37, + 0x4d2aa82a2a675482, + 0xb1bbd6bbbb0a6b6d, + 0x46c123c1c1879fe2, + 0xa253515353f1a602, + 0xaedc57dcdc72a58b, + 0x580b2c0b0b531627, + 0x9c9d4e9d9d0127d3, + 0x476cad6c6c2bd8c1, + 0x9531c43131a462f5, + 0x8774cd7474f3e8b9, + 0xe3f6fff6f615f109, + 0x0a460546464c8c43, + 0x09ac8aacaca54526, + 0x3c891e8989b50f97, + 0xa014501414b42844, + 0x5be1a3e1e1badf42, + 0xb016581616a62c4e, + 0xcd3ae83a3af774d2, + 0x6f69b9696906d2d0, + 0x480924090941122d, + 0xa770dd7070d7e0ad, + 0xd9b6e2b6b66f7154, + 0xced067d0d01ebdb7, + 0x3bed93ededd6c77e, + 0x2ecc17cccce285db, + 0x2a42154242688457, + 0xb4985a98982c2dc2, + 0x49a4aaa4a4ed550e, + 0x5d28a02828755088, + 0xda5c6d5c5c86b831, + 0x93f8c7f8f86bed3f, + 0x4486228686c211a4, ]; -pub static C4: [u64; 256] = [ - 0xc07830d818186018, - 0x05af462623238c23, - 0x7ef991b8c6c63fc6, - 0x136fcdfbe8e887e8, - 0x4ca113cb87872687, - 0xa9626d11b8b8dab8, - 0x0805020901010401, - 0x426e9e0d4f4f214f, - 0xadee6c9b3636d836, - 0x590451ffa6a6a2a6, - 0xdebdb90cd2d26fd2, - 0xfb06f70ef5f5f3f5, - 0xef80f2967979f979, - 0x5fcede306f6fa16f, - 0xfcef3f6d91917e91, - 0xaa07a4f852525552, - 0x27fdc04760609d60, - 0x89766535bcbccabc, - 0xaccd2b379b9b569b, - 0x048c018a8e8e028e, - 0x71155bd2a3a3b6a3, - 0x603c186c0c0c300c, - 0xff8af6847b7bf17b, - 0xb5e16a803535d435, - 0xe8693af51d1d741d, - 0x5347ddb3e0e0a7e0, - 0xf6acb321d7d77bd7, - 0x5eed999cc2c22fc2, - 0x6d965c432e2eb82e, - 0x627a96294b4b314b, - 0xa321e15dfefedffe, - 0x8216aed557574157, - 0xa8412abd15155415, - 0x9fb6eee87777c177, - 0xa5eb6e923737dc37, - 0x7b56d79ee5e5b3e5, - 0x8cd923139f9f469f, - 0xd317fd23f0f0e7f0, - 0x6a7f94204a4a354a, - 0x9e95a944dada4fda, - 0xfa25b0a258587d58, - 0x06ca8fcfc9c903c9, - 0x558d527c2929a429, - 0x5022145a0a0a280a, - 0xe14f7f50b1b1feb1, - 0x691a5dc9a0a0baa0, - 0x7fdad6146b6bb16b, - 0x5cab17d985852e85, - 0x8173673cbdbdcebd, - 0xd234ba8f5d5d695d, - 0x8050209010104010, - 0xf303f507f4f4f7f4, - 0x16c08bddcbcb0bcb, - 0xedc67cd33e3ef83e, - 0x28110a2d05051405, - 0x1fe6ce7867678167, - 0x7353d597e4e4b7e4, - 0x25bb4e0227279c27, - 0x3258827341411941, - 0x2c9d0ba78b8b168b, - 0x510153f6a7a7a6a7, - 0xcf94fab27d7de97d, - 0xdcfb374995956e95, - 0x8e9fad56d8d847d8, - 0x8b30eb70fbfbcbfb, - 0x2371c1cdeeee9fee, - 0xc791f8bb7c7ced7c, - 0x17e3cc7166668566, - 0xa68ea77bdddd53dd, - 0xb84b2eaf17175c17, - 0x02468e4547470147, - 0x84dc211a9e9e429e, - 0x1ec589d4caca0fca, - 0x75995a582d2db42d, - 0x9179632ebfbfc6bf, - 0x381b0e3f07071c07, - 0x012347acadad8ead, - 0xea2fb4b05a5a755a, - 0x6cb51bef83833683, - 0x85ff66b63333cc33, - 0x3ff2c65c63639163, - 0x100a041202020802, - 0x39384993aaaa92aa, - 0xafa8e2de7171d971, - 0x0ecf8dc6c8c807c8, - 0xc87d32d119196419, - 0x7270923b49493949, - 0x869aaf5fd9d943d9, - 0xc31df931f2f2eff2, - 0x4b48dba8e3e3abe3, - 0xe22ab6b95b5b715b, - 0x34920dbc88881a88, - 0xa4c8293e9a9a529a, - 0x2dbe4c0b26269826, - 0x8dfa64bf3232c832, - 0xe94a7d59b0b0fab0, - 0x1b6acff2e9e983e9, - 0x78331e770f0f3c0f, - 0xe6a6b733d5d573d5, - 0x74ba1df480803a80, - 0x997c6127bebec2be, - 0x26de87ebcdcd13cd, - 0xbde468893434d034, - 0x7a75903248483d48, - 0xab24e354ffffdbff, - 0xf78ff48d7a7af57a, - 0xf4ea3d6490907a90, - 0xc23ebe9d5f5f615f, - 0x1da0403d20208020, - 0x67d5d00f6868bd68, - 0xd07234ca1a1a681a, - 0x192c41b7aeae82ae, - 0xc95e757db4b4eab4, - 0x9a19a8ce54544d54, - 0xece53b7f93937693, - 0x0daa442f22228822, - 0x07e9c86364648d64, - 0xdb12ff2af1f1e3f1, - 0xbfa2e6cc7373d173, - 0x905a248212124812, - 0x3a5d807a40401d40, - 0x4028104808082008, - 0x56e89b95c3c32bc3, - 0x337bc5dfecec97ec, - 0x9690ab4ddbdb4bdb, - 0x611f5fc0a1a1bea1, - 0x1c8307918d8d0e8d, - 0xf5c97ac83d3df43d, - 0xccf1335b97976697, +pub const C4: [u64; 256] = [ + 0x18601818d83078c0, + 0x238c23232646af05, + 0xc63fc6c6b891f97e, + 0xe887e8e8fbcd6f13, + 0x87268787cb13a14c, + 0xb8dab8b8116d62a9, + 0x0104010109020508, + 0x4f214f4f0d9e6e42, + 0x36d836369b6ceead, + 0xa6a2a6a6ff510459, + 0xd26fd2d20cb9bdde, + 0xf5f3f5f50ef706fb, + 0x79f9797996f280ef, + 0x6fa16f6f30dece5f, + 0x917e91916d3feffc, + 0x52555252f8a407aa, + 0x609d606047c0fd27, + 0xbccabcbc35657689, + 0x9b569b9b372bcdac, + 0x8e028e8e8a018c04, + 0xa3b6a3a3d25b1571, + 0x0c300c0c6c183c60, + 0x7bf17b7b84f68aff, + 0x35d43535806ae1b5, + 0x1d741d1df53a69e8, + 0xe0a7e0e0b3dd4753, + 0xd77bd7d721b3acf6, + 0xc22fc2c29c99ed5e, + 0x2eb82e2e435c966d, + 0x4b314b4b29967a62, + 0xfedffefe5de121a3, + 0x57415757d5ae1682, + 0x15541515bd2a41a8, + 0x77c17777e8eeb69f, + 0x37dc3737926eeba5, + 0xe5b3e5e59ed7567b, + 0x9f469f9f1323d98c, + 0xf0e7f0f023fd17d3, + 0x4a354a4a20947f6a, + 0xda4fdada44a9959e, + 0x587d5858a2b025fa, + 0xc903c9c9cf8fca06, + 0x29a429297c528d55, + 0x0a280a0a5a142250, + 0xb1feb1b1507f4fe1, + 0xa0baa0a0c95d1a69, + 0x6bb16b6b14d6da7f, + 0x852e8585d917ab5c, + 0xbdcebdbd3c677381, + 0x5d695d5d8fba34d2, + 0x1040101090205080, + 0xf4f7f4f407f503f3, + 0xcb0bcbcbdd8bc016, + 0x3ef83e3ed37cc6ed, + 0x051405052d0a1128, + 0x6781676778cee61f, + 0xe4b7e4e497d55373, + 0x279c2727024ebb25, + 0x4119414173825832, + 0x8b168b8ba70b9d2c, + 0xa7a6a7a7f6530151, + 0x7de97d7db2fa94cf, + 0x956e95954937fbdc, + 0xd847d8d856ad9f8e, + 0xfbcbfbfb70eb308b, + 0xee9feeeecdc17123, + 0x7ced7c7cbbf891c7, + 0x6685666671cce317, + 0xdd53dddd7ba78ea6, + 0x175c1717af2e4bb8, + 0x47014747458e4602, + 0x9e429e9e1a21dc84, + 0xca0fcacad489c51e, + 0x2db42d2d585a9975, + 0xbfc6bfbf2e637991, + 0x071c07073f0e1b38, + 0xad8eadadac472301, + 0x5a755a5ab0b42fea, + 0x83368383ef1bb56c, + 0x33cc3333b666ff85, + 0x639163635cc6f23f, + 0x0208020212040a10, + 0xaa92aaaa93493839, + 0x71d97171dee2a8af, + 0xc807c8c8c68dcf0e, + 0x19641919d1327dc8, + 0x493949493b927072, + 0xd943d9d95faf9a86, + 0xf2eff2f231f91dc3, + 0xe3abe3e3a8db484b, + 0x5b715b5bb9b62ae2, + 0x881a8888bc0d9234, + 0x9a529a9a3e29c8a4, + 0x269826260b4cbe2d, + 0x32c83232bf64fa8d, + 0xb0fab0b0597d4ae9, + 0xe983e9e9f2cf6a1b, + 0x0f3c0f0f771e3378, + 0xd573d5d533b7a6e6, + 0x803a8080f41dba74, + 0xbec2bebe27617c99, + 0xcd13cdcdeb87de26, + 0x34d034348968e4bd, + 0x483d48483290757a, + 0xffdbffff54e324ab, + 0x7af57a7a8df48ff7, + 0x907a9090643deaf4, + 0x5f615f5f9dbe3ec2, + 0x208020203d40a01d, + 0x68bd68680fd0d567, + 0x1a681a1aca3472d0, + 0xae82aeaeb7412c19, + 0xb4eab4b47d755ec9, + 0x544d5454cea8199a, + 0x937693937f3be5ec, + 0x228822222f44aa0d, + 0x648d646463c8e907, + 0xf1e3f1f12aff12db, + 0x73d17373cce6a2bf, + 0x1248121282245a90, + 0x401d40407a805d3a, + 0x0820080848102840, + 0xc32bc3c3959be856, + 0xec97ececdfc57b33, + 0xdb4bdbdb4dab9096, + 0xa1bea1a1c05f1f61, + 0x8d0e8d8d9107831c, + 0x3df43d3dc87ac9f5, + 0x976697975b33f1cc, 0x0000000000000000, - 0x36d483f9cfcf1bcf, - 0x4587566e2b2bac2b, - 0x97b3ece17676c576, - 0x64b019e682823282, - 0xfea9b128d6d67fd6, - 0xd87736c31b1b6c1b, - 0xc15b7774b5b5eeb5, - 0x112943beafaf86af, - 0x77dfd41d6a6ab56a, - 0xba0da0ea50505d50, - 0x124c8a5745450945, - 0xcb18fb38f3f3ebf3, - 0x9df060ad3030c030, - 0x2b74c3c4efef9bef, - 0xe5c37eda3f3ffc3f, - 0x921caac755554955, - 0x791059dba2a2b2a2, - 0x0365c9e9eaea8fea, - 0x0fecca6a65658965, - 0xb9686903babad2ba, - 0x65935e4a2f2fbc2f, - 0x4ee79d8ec0c027c0, - 0xbe81a160dede5fde, - 0xe06c38fc1c1c701c, - 0xbb2ee746fdfdd3fd, - 0x52649a1f4d4d294d, - 0xe4e0397692927292, - 0x8fbceafa7575c975, - 0x301e0c3606061806, - 0x249809ae8a8a128a, - 0xf940794bb2b2f2b2, - 0x6359d185e6e6bfe6, - 0x70361c7e0e0e380e, - 0xf8633ee71f1f7c1f, - 0x37f7c45562629562, - 0xeea3b53ad4d477d4, - 0x29324d81a8a89aa8, - 0xc4f4315296966296, - 0x9b3aef62f9f9c3f9, - 0x66f697a3c5c533c5, - 0x35b14a1025259425, - 0xf220b2ab59597959, - 0x54ae15d084842a84, - 0xb7a7e4c57272d572, - 0xd5dd72ec3939e439, - 0x5a6198164c4c2d4c, - 0xca3bbc945e5e655e, - 0xe785f09f7878fd78, - 0xddd870e53838e038, - 0x148605988c8c0a8c, - 0xc6b2bf17d1d163d1, - 0x410b57e4a5a5aea5, - 0x434dd9a1e2e2afe2, - 0x2ff8c24e61619961, - 0xf1457b42b3b3f6b3, - 0x15a5423421218421, - 0x94d625089c9c4a9c, - 0xf0663cee1e1e781e, - 0x2252866143431143, - 0x76fc93b1c7c73bc7, - 0xb32be54ffcfcd7fc, - 0x2014082404041004, - 0xb208a2e351515951, - 0xbcc72f2599995e99, - 0x4fc4da226d6da96d, - 0x68391a650d0d340d, - 0x8335e979fafacffa, - 0xb684a369dfdf5bdf, - 0xd79bfca97e7ee57e, - 0x3db4481924249024, - 0xc5d776fe3b3bec3b, - 0x313d4b9aabab96ab, - 0x3ed181f0cece1fce, - 0x8855229911114411, - 0x0c8903838f8f068f, - 0x4a6b9c044e4e254e, - 0xd1517366b7b7e6b7, - 0x0b60cbe0ebeb8beb, - 0xfdcc78c13c3cf03c, - 0x7cbf1ffd81813e81, - 0xd4fe354094946a94, - 0xeb0cf31cf7f7fbf7, - 0xa1676f18b9b9deb9, - 0x985f268b13134c13, - 0x7d9c58512c2cb02c, - 0xd6b8bb05d3d36bd3, - 0x6b5cd38ce7e7bbe7, - 0x57cbdc396e6ea56e, - 0x6ef395aac4c437c4, - 0x180f061b03030c03, - 0x8a13acdc56564556, - 0x1a49885e44440d44, - 0xdf9efea07f7fe17f, - 0x21374f88a9a99ea9, - 0x4d8254672a2aa82a, - 0xb16d6b0abbbbd6bb, - 0x46e29f87c1c123c1, - 0xa202a6f153535153, - 0xae8ba572dcdc57dc, - 0x582716530b0b2c0b, - 0x9cd327019d9d4e9d, - 0x47c1d82b6c6cad6c, - 0x95f562a43131c431, - 0x87b9e8f37474cd74, - 0xe309f115f6f6fff6, - 0x0a438c4c46460546, - 0x092645a5acac8aac, - 0x3c970fb589891e89, - 0xa04428b414145014, - 0x5b42dfbae1e1a3e1, - 0xb04e2ca616165816, - 0xcdd274f73a3ae83a, - 0x6fd0d2066969b969, - 0x482d124109092409, - 0xa7ade0d77070dd70, - 0xd954716fb6b6e2b6, - 0xceb7bd1ed0d067d0, - 0x3b7ec7d6eded93ed, - 0x2edb85e2cccc17cc, - 0x2a57846842421542, - 0xb4c22d2c98985a98, - 0x490e55eda4a4aaa4, - 0x5d8850752828a028, - 0xda31b8865c5c6d5c, - 0x933fed6bf8f8c7f8, - 0x44a411c286862286, + 0xcf1bcfcff983d436, + 0x2bac2b2b6e568745, + 0x76c57676e1ecb397, + 0x82328282e619b064, + 0xd67fd6d628b1a9fe, + 0x1b6c1b1bc33677d8, + 0xb5eeb5b574775bc1, + 0xaf86afafbe432911, + 0x6ab56a6a1dd4df77, + 0x505d5050eaa00dba, + 0x45094545578a4c12, + 0xf3ebf3f338fb18cb, + 0x30c03030ad60f09d, + 0xef9befefc4c3742b, + 0x3ffc3f3fda7ec3e5, + 0x55495555c7aa1c92, + 0xa2b2a2a2db591079, + 0xea8feaeae9c96503, + 0x658965656acaec0f, + 0xbad2baba036968b9, + 0x2fbc2f2f4a5e9365, + 0xc027c0c08e9de74e, + 0xde5fdede60a181be, + 0x1c701c1cfc386ce0, + 0xfdd3fdfd46e72ebb, + 0x4d294d4d1f9a6452, + 0x927292927639e0e4, + 0x75c97575faeabc8f, + 0x06180606360c1e30, + 0x8a128a8aae099824, + 0xb2f2b2b24b7940f9, + 0xe6bfe6e685d15963, + 0x0e380e0e7e1c3670, + 0x1f7c1f1fe73e63f8, + 0x6295626255c4f737, + 0xd477d4d43ab5a3ee, + 0xa89aa8a8814d3229, + 0x966296965231f4c4, + 0xf9c3f9f962ef3a9b, + 0xc533c5c5a397f666, + 0x25942525104ab135, + 0x59795959abb220f2, + 0x842a8484d015ae54, + 0x72d57272c5e4a7b7, + 0x39e43939ec72ddd5, + 0x4c2d4c4c1698615a, + 0x5e655e5e94bc3bca, + 0x78fd78789ff085e7, + 0x38e03838e570d8dd, + 0x8c0a8c8c98058614, + 0xd163d1d117bfb2c6, + 0xa5aea5a5e4570b41, + 0xe2afe2e2a1d94d43, + 0x619961614ec2f82f, + 0xb3f6b3b3427b45f1, + 0x218421213442a515, + 0x9c4a9c9c0825d694, + 0x1e781e1eee3c66f0, + 0x4311434361865222, + 0xc73bc7c7b193fc76, + 0xfcd7fcfc4fe52bb3, + 0x0410040424081420, + 0x51595151e3a208b2, + 0x995e9999252fc7bc, + 0x6da96d6d22dac44f, + 0x0d340d0d651a3968, + 0xfacffafa79e93583, + 0xdf5bdfdf69a384b6, + 0x7ee57e7ea9fc9bd7, + 0x249024241948b43d, + 0x3bec3b3bfe76d7c5, + 0xab96abab9a4b3d31, + 0xce1fcecef081d13e, + 0x1144111199225588, + 0x8f068f8f8303890c, + 0x4e254e4e049c6b4a, + 0xb7e6b7b7667351d1, + 0xeb8bebebe0cb600b, + 0x3cf03c3cc178ccfd, + 0x813e8181fd1fbf7c, + 0x946a94944035fed4, + 0xf7fbf7f71cf30ceb, + 0xb9deb9b9186f67a1, + 0x134c13138b265f98, + 0x2cb02c2c51589c7d, + 0xd36bd3d305bbb8d6, + 0xe7bbe7e78cd35c6b, + 0x6ea56e6e39dccb57, + 0xc437c4c4aa95f36e, + 0x030c03031b060f18, + 0x56455656dcac138a, + 0x440d44445e88491a, + 0x7fe17f7fa0fe9edf, + 0xa99ea9a9884f3721, + 0x2aa82a2a6754824d, + 0xbbd6bbbb0a6b6db1, + 0xc123c1c1879fe246, + 0x53515353f1a602a2, + 0xdc57dcdc72a58bae, + 0x0b2c0b0b53162758, + 0x9d4e9d9d0127d39c, + 0x6cad6c6c2bd8c147, + 0x31c43131a462f595, + 0x74cd7474f3e8b987, + 0xf6fff6f615f109e3, + 0x460546464c8c430a, + 0xac8aacaca5452609, + 0x891e8989b50f973c, + 0x14501414b42844a0, + 0xe1a3e1e1badf425b, + 0x16581616a62c4eb0, + 0x3ae83a3af774d2cd, + 0x69b9696906d2d06f, + 0x0924090941122d48, + 0x70dd7070d7e0ada7, + 0xb6e2b6b66f7154d9, + 0xd067d0d01ebdb7ce, + 0xed93ededd6c77e3b, + 0xcc17cccce285db2e, + 0x421542426884572a, + 0x985a98982c2dc2b4, + 0xa4aaa4a4ed550e49, + 0x28a028287550885d, + 0x5c6d5c5c86b831da, + 0xf8c7f8f86bed3f93, + 0x86228686c211a444, ]; -pub static C5: [u64; 256] = [ - 0x18c07830d8181860, - 0x2305af462623238c, - 0xc67ef991b8c6c63f, - 0xe8136fcdfbe8e887, - 0x874ca113cb878726, - 0xb8a9626d11b8b8da, - 0x0108050209010104, - 0x4f426e9e0d4f4f21, - 0x36adee6c9b3636d8, - 0xa6590451ffa6a6a2, - 0xd2debdb90cd2d26f, - 0xf5fb06f70ef5f5f3, - 0x79ef80f2967979f9, - 0x6f5fcede306f6fa1, - 0x91fcef3f6d91917e, - 0x52aa07a4f8525255, - 0x6027fdc04760609d, - 0xbc89766535bcbcca, - 0x9baccd2b379b9b56, - 0x8e048c018a8e8e02, - 0xa371155bd2a3a3b6, - 0x0c603c186c0c0c30, - 0x7bff8af6847b7bf1, - 0x35b5e16a803535d4, - 0x1de8693af51d1d74, - 0xe05347ddb3e0e0a7, - 0xd7f6acb321d7d77b, - 0xc25eed999cc2c22f, - 0x2e6d965c432e2eb8, - 0x4b627a96294b4b31, - 0xfea321e15dfefedf, - 0x578216aed5575741, - 0x15a8412abd151554, - 0x779fb6eee87777c1, - 0x37a5eb6e923737dc, - 0xe57b56d79ee5e5b3, - 0x9f8cd923139f9f46, - 0xf0d317fd23f0f0e7, - 0x4a6a7f94204a4a35, - 0xda9e95a944dada4f, - 0x58fa25b0a258587d, - 0xc906ca8fcfc9c903, - 0x29558d527c2929a4, - 0x0a5022145a0a0a28, - 0xb1e14f7f50b1b1fe, - 0xa0691a5dc9a0a0ba, - 0x6b7fdad6146b6bb1, - 0x855cab17d985852e, - 0xbd8173673cbdbdce, - 0x5dd234ba8f5d5d69, - 0x1080502090101040, - 0xf4f303f507f4f4f7, - 0xcb16c08bddcbcb0b, - 0x3eedc67cd33e3ef8, - 0x0528110a2d050514, - 0x671fe6ce78676781, - 0xe47353d597e4e4b7, - 0x2725bb4e0227279c, - 0x4132588273414119, - 0x8b2c9d0ba78b8b16, - 0xa7510153f6a7a7a6, - 0x7dcf94fab27d7de9, - 0x95dcfb374995956e, - 0xd88e9fad56d8d847, - 0xfb8b30eb70fbfbcb, - 0xee2371c1cdeeee9f, - 0x7cc791f8bb7c7ced, - 0x6617e3cc71666685, - 0xdda68ea77bdddd53, - 0x17b84b2eaf17175c, - 0x4702468e45474701, - 0x9e84dc211a9e9e42, - 0xca1ec589d4caca0f, - 0x2d75995a582d2db4, - 0xbf9179632ebfbfc6, - 0x07381b0e3f07071c, - 0xad012347acadad8e, - 0x5aea2fb4b05a5a75, - 0x836cb51bef838336, - 0x3385ff66b63333cc, - 0x633ff2c65c636391, - 0x02100a0412020208, - 0xaa39384993aaaa92, - 0x71afa8e2de7171d9, - 0xc80ecf8dc6c8c807, - 0x19c87d32d1191964, - 0x497270923b494939, - 0xd9869aaf5fd9d943, - 0xf2c31df931f2f2ef, - 0xe34b48dba8e3e3ab, - 0x5be22ab6b95b5b71, - 0x8834920dbc88881a, - 0x9aa4c8293e9a9a52, - 0x262dbe4c0b262698, - 0x328dfa64bf3232c8, - 0xb0e94a7d59b0b0fa, - 0xe91b6acff2e9e983, - 0x0f78331e770f0f3c, - 0xd5e6a6b733d5d573, - 0x8074ba1df480803a, - 0xbe997c6127bebec2, - 0xcd26de87ebcdcd13, - 0x34bde468893434d0, - 0x487a75903248483d, - 0xffab24e354ffffdb, - 0x7af78ff48d7a7af5, - 0x90f4ea3d6490907a, - 0x5fc23ebe9d5f5f61, - 0x201da0403d202080, - 0x6867d5d00f6868bd, - 0x1ad07234ca1a1a68, - 0xae192c41b7aeae82, - 0xb4c95e757db4b4ea, - 0x549a19a8ce54544d, - 0x93ece53b7f939376, - 0x220daa442f222288, - 0x6407e9c86364648d, - 0xf1db12ff2af1f1e3, - 0x73bfa2e6cc7373d1, - 0x12905a2482121248, - 0x403a5d807a40401d, - 0x0840281048080820, - 0xc356e89b95c3c32b, - 0xec337bc5dfecec97, - 0xdb9690ab4ddbdb4b, - 0xa1611f5fc0a1a1be, - 0x8d1c8307918d8d0e, - 0x3df5c97ac83d3df4, - 0x97ccf1335b979766, +pub const C5: [u64; 256] = [ + 0x601818d83078c018, + 0x8c23232646af0523, + 0x3fc6c6b891f97ec6, + 0x87e8e8fbcd6f13e8, + 0x268787cb13a14c87, + 0xdab8b8116d62a9b8, + 0x0401010902050801, + 0x214f4f0d9e6e424f, + 0xd836369b6ceead36, + 0xa2a6a6ff510459a6, + 0x6fd2d20cb9bdded2, + 0xf3f5f50ef706fbf5, + 0xf9797996f280ef79, + 0xa16f6f30dece5f6f, + 0x7e91916d3feffc91, + 0x555252f8a407aa52, + 0x9d606047c0fd2760, + 0xcabcbc35657689bc, + 0x569b9b372bcdac9b, + 0x028e8e8a018c048e, + 0xb6a3a3d25b1571a3, + 0x300c0c6c183c600c, + 0xf17b7b84f68aff7b, + 0xd43535806ae1b535, + 0x741d1df53a69e81d, + 0xa7e0e0b3dd4753e0, + 0x7bd7d721b3acf6d7, + 0x2fc2c29c99ed5ec2, + 0xb82e2e435c966d2e, + 0x314b4b29967a624b, + 0xdffefe5de121a3fe, + 0x415757d5ae168257, + 0x541515bd2a41a815, + 0xc17777e8eeb69f77, + 0xdc3737926eeba537, + 0xb3e5e59ed7567be5, + 0x469f9f1323d98c9f, + 0xe7f0f023fd17d3f0, + 0x354a4a20947f6a4a, + 0x4fdada44a9959eda, + 0x7d5858a2b025fa58, + 0x03c9c9cf8fca06c9, + 0xa429297c528d5529, + 0x280a0a5a1422500a, + 0xfeb1b1507f4fe1b1, + 0xbaa0a0c95d1a69a0, + 0xb16b6b14d6da7f6b, + 0x2e8585d917ab5c85, + 0xcebdbd3c677381bd, + 0x695d5d8fba34d25d, + 0x4010109020508010, + 0xf7f4f407f503f3f4, + 0x0bcbcbdd8bc016cb, + 0xf83e3ed37cc6ed3e, + 0x1405052d0a112805, + 0x81676778cee61f67, + 0xb7e4e497d55373e4, + 0x9c2727024ebb2527, + 0x1941417382583241, + 0x168b8ba70b9d2c8b, + 0xa6a7a7f6530151a7, + 0xe97d7db2fa94cf7d, + 0x6e95954937fbdc95, + 0x47d8d856ad9f8ed8, + 0xcbfbfb70eb308bfb, + 0x9feeeecdc17123ee, + 0xed7c7cbbf891c77c, + 0x85666671cce31766, + 0x53dddd7ba78ea6dd, + 0x5c1717af2e4bb817, + 0x014747458e460247, + 0x429e9e1a21dc849e, + 0x0fcacad489c51eca, + 0xb42d2d585a99752d, + 0xc6bfbf2e637991bf, + 0x1c07073f0e1b3807, + 0x8eadadac472301ad, + 0x755a5ab0b42fea5a, + 0x368383ef1bb56c83, + 0xcc3333b666ff8533, + 0x9163635cc6f23f63, + 0x08020212040a1002, + 0x92aaaa93493839aa, + 0xd97171dee2a8af71, + 0x07c8c8c68dcf0ec8, + 0x641919d1327dc819, + 0x3949493b92707249, + 0x43d9d95faf9a86d9, + 0xeff2f231f91dc3f2, + 0xabe3e3a8db484be3, + 0x715b5bb9b62ae25b, + 0x1a8888bc0d923488, + 0x529a9a3e29c8a49a, + 0x9826260b4cbe2d26, + 0xc83232bf64fa8d32, + 0xfab0b0597d4ae9b0, + 0x83e9e9f2cf6a1be9, + 0x3c0f0f771e33780f, + 0x73d5d533b7a6e6d5, + 0x3a8080f41dba7480, + 0xc2bebe27617c99be, + 0x13cdcdeb87de26cd, + 0xd034348968e4bd34, + 0x3d48483290757a48, + 0xdbffff54e324abff, + 0xf57a7a8df48ff77a, + 0x7a9090643deaf490, + 0x615f5f9dbe3ec25f, + 0x8020203d40a01d20, + 0xbd68680fd0d56768, + 0x681a1aca3472d01a, + 0x82aeaeb7412c19ae, + 0xeab4b47d755ec9b4, + 0x4d5454cea8199a54, + 0x7693937f3be5ec93, + 0x8822222f44aa0d22, + 0x8d646463c8e90764, + 0xe3f1f12aff12dbf1, + 0xd17373cce6a2bf73, + 0x48121282245a9012, + 0x1d40407a805d3a40, + 0x2008084810284008, + 0x2bc3c3959be856c3, + 0x97ececdfc57b33ec, + 0x4bdbdb4dab9096db, + 0xbea1a1c05f1f61a1, + 0x0e8d8d9107831c8d, + 0xf43d3dc87ac9f53d, + 0x6697975b33f1cc97, 0x0000000000000000, - 0xcf36d483f9cfcf1b, - 0x2b4587566e2b2bac, - 0x7697b3ece17676c5, - 0x8264b019e6828232, - 0xd6fea9b128d6d67f, - 0x1bd87736c31b1b6c, - 0xb5c15b7774b5b5ee, - 0xaf112943beafaf86, - 0x6a77dfd41d6a6ab5, - 0x50ba0da0ea50505d, - 0x45124c8a57454509, - 0xf3cb18fb38f3f3eb, - 0x309df060ad3030c0, - 0xef2b74c3c4efef9b, - 0x3fe5c37eda3f3ffc, - 0x55921caac7555549, - 0xa2791059dba2a2b2, - 0xea0365c9e9eaea8f, - 0x650fecca6a656589, - 0xbab9686903babad2, - 0x2f65935e4a2f2fbc, - 0xc04ee79d8ec0c027, - 0xdebe81a160dede5f, - 0x1ce06c38fc1c1c70, - 0xfdbb2ee746fdfdd3, - 0x4d52649a1f4d4d29, - 0x92e4e03976929272, - 0x758fbceafa7575c9, - 0x06301e0c36060618, - 0x8a249809ae8a8a12, - 0xb2f940794bb2b2f2, - 0xe66359d185e6e6bf, - 0x0e70361c7e0e0e38, - 0x1ff8633ee71f1f7c, - 0x6237f7c455626295, - 0xd4eea3b53ad4d477, - 0xa829324d81a8a89a, - 0x96c4f43152969662, - 0xf99b3aef62f9f9c3, - 0xc566f697a3c5c533, - 0x2535b14a10252594, - 0x59f220b2ab595979, - 0x8454ae15d084842a, - 0x72b7a7e4c57272d5, - 0x39d5dd72ec3939e4, - 0x4c5a6198164c4c2d, - 0x5eca3bbc945e5e65, - 0x78e785f09f7878fd, - 0x38ddd870e53838e0, - 0x8c148605988c8c0a, - 0xd1c6b2bf17d1d163, - 0xa5410b57e4a5a5ae, - 0xe2434dd9a1e2e2af, - 0x612ff8c24e616199, - 0xb3f1457b42b3b3f6, - 0x2115a54234212184, - 0x9c94d625089c9c4a, - 0x1ef0663cee1e1e78, - 0x4322528661434311, - 0xc776fc93b1c7c73b, - 0xfcb32be54ffcfcd7, - 0x0420140824040410, - 0x51b208a2e3515159, - 0x99bcc72f2599995e, - 0x6d4fc4da226d6da9, - 0x0d68391a650d0d34, - 0xfa8335e979fafacf, - 0xdfb684a369dfdf5b, - 0x7ed79bfca97e7ee5, - 0x243db44819242490, - 0x3bc5d776fe3b3bec, - 0xab313d4b9aabab96, - 0xce3ed181f0cece1f, - 0x1188552299111144, - 0x8f0c8903838f8f06, - 0x4e4a6b9c044e4e25, - 0xb7d1517366b7b7e6, - 0xeb0b60cbe0ebeb8b, - 0x3cfdcc78c13c3cf0, - 0x817cbf1ffd81813e, - 0x94d4fe354094946a, - 0xf7eb0cf31cf7f7fb, - 0xb9a1676f18b9b9de, - 0x13985f268b13134c, - 0x2c7d9c58512c2cb0, - 0xd3d6b8bb05d3d36b, - 0xe76b5cd38ce7e7bb, - 0x6e57cbdc396e6ea5, - 0xc46ef395aac4c437, - 0x03180f061b03030c, - 0x568a13acdc565645, - 0x441a49885e44440d, - 0x7fdf9efea07f7fe1, - 0xa921374f88a9a99e, - 0x2a4d8254672a2aa8, - 0xbbb16d6b0abbbbd6, - 0xc146e29f87c1c123, - 0x53a202a6f1535351, - 0xdcae8ba572dcdc57, - 0x0b582716530b0b2c, - 0x9d9cd327019d9d4e, - 0x6c47c1d82b6c6cad, - 0x3195f562a43131c4, - 0x7487b9e8f37474cd, - 0xf6e309f115f6f6ff, - 0x460a438c4c464605, - 0xac092645a5acac8a, - 0x893c970fb589891e, - 0x14a04428b4141450, - 0xe15b42dfbae1e1a3, - 0x16b04e2ca6161658, - 0x3acdd274f73a3ae8, - 0x696fd0d2066969b9, - 0x09482d1241090924, - 0x70a7ade0d77070dd, - 0xb6d954716fb6b6e2, - 0xd0ceb7bd1ed0d067, - 0xed3b7ec7d6eded93, - 0xcc2edb85e2cccc17, - 0x422a578468424215, - 0x98b4c22d2c98985a, - 0xa4490e55eda4a4aa, - 0x285d8850752828a0, - 0x5cda31b8865c5c6d, - 0xf8933fed6bf8f8c7, - 0x8644a411c2868622, + 0x1bcfcff983d436cf, + 0xac2b2b6e5687452b, + 0xc57676e1ecb39776, + 0x328282e619b06482, + 0x7fd6d628b1a9fed6, + 0x6c1b1bc33677d81b, + 0xeeb5b574775bc1b5, + 0x86afafbe432911af, + 0xb56a6a1dd4df776a, + 0x5d5050eaa00dba50, + 0x094545578a4c1245, + 0xebf3f338fb18cbf3, + 0xc03030ad60f09d30, + 0x9befefc4c3742bef, + 0xfc3f3fda7ec3e53f, + 0x495555c7aa1c9255, + 0xb2a2a2db591079a2, + 0x8feaeae9c96503ea, + 0x8965656acaec0f65, + 0xd2baba036968b9ba, + 0xbc2f2f4a5e93652f, + 0x27c0c08e9de74ec0, + 0x5fdede60a181bede, + 0x701c1cfc386ce01c, + 0xd3fdfd46e72ebbfd, + 0x294d4d1f9a64524d, + 0x7292927639e0e492, + 0xc97575faeabc8f75, + 0x180606360c1e3006, + 0x128a8aae0998248a, + 0xf2b2b24b7940f9b2, + 0xbfe6e685d15963e6, + 0x380e0e7e1c36700e, + 0x7c1f1fe73e63f81f, + 0x95626255c4f73762, + 0x77d4d43ab5a3eed4, + 0x9aa8a8814d3229a8, + 0x6296965231f4c496, + 0xc3f9f962ef3a9bf9, + 0x33c5c5a397f666c5, + 0x942525104ab13525, + 0x795959abb220f259, + 0x2a8484d015ae5484, + 0xd57272c5e4a7b772, + 0xe43939ec72ddd539, + 0x2d4c4c1698615a4c, + 0x655e5e94bc3bca5e, + 0xfd78789ff085e778, + 0xe03838e570d8dd38, + 0x0a8c8c980586148c, + 0x63d1d117bfb2c6d1, + 0xaea5a5e4570b41a5, + 0xafe2e2a1d94d43e2, + 0x9961614ec2f82f61, + 0xf6b3b3427b45f1b3, + 0x8421213442a51521, + 0x4a9c9c0825d6949c, + 0x781e1eee3c66f01e, + 0x1143436186522243, + 0x3bc7c7b193fc76c7, + 0xd7fcfc4fe52bb3fc, + 0x1004042408142004, + 0x595151e3a208b251, + 0x5e9999252fc7bc99, + 0xa96d6d22dac44f6d, + 0x340d0d651a39680d, + 0xcffafa79e93583fa, + 0x5bdfdf69a384b6df, + 0xe57e7ea9fc9bd77e, + 0x9024241948b43d24, + 0xec3b3bfe76d7c53b, + 0x96abab9a4b3d31ab, + 0x1fcecef081d13ece, + 0x4411119922558811, + 0x068f8f8303890c8f, + 0x254e4e049c6b4a4e, + 0xe6b7b7667351d1b7, + 0x8bebebe0cb600beb, + 0xf03c3cc178ccfd3c, + 0x3e8181fd1fbf7c81, + 0x6a94944035fed494, + 0xfbf7f71cf30cebf7, + 0xdeb9b9186f67a1b9, + 0x4c13138b265f9813, + 0xb02c2c51589c7d2c, + 0x6bd3d305bbb8d6d3, + 0xbbe7e78cd35c6be7, + 0xa56e6e39dccb576e, + 0x37c4c4aa95f36ec4, + 0x0c03031b060f1803, + 0x455656dcac138a56, + 0x0d44445e88491a44, + 0xe17f7fa0fe9edf7f, + 0x9ea9a9884f3721a9, + 0xa82a2a6754824d2a, + 0xd6bbbb0a6b6db1bb, + 0x23c1c1879fe246c1, + 0x515353f1a602a253, + 0x57dcdc72a58baedc, + 0x2c0b0b531627580b, + 0x4e9d9d0127d39c9d, + 0xad6c6c2bd8c1476c, + 0xc43131a462f59531, + 0xcd7474f3e8b98774, + 0xfff6f615f109e3f6, + 0x0546464c8c430a46, + 0x8aacaca5452609ac, + 0x1e8989b50f973c89, + 0x501414b42844a014, + 0xa3e1e1badf425be1, + 0x581616a62c4eb016, + 0xe83a3af774d2cd3a, + 0xb9696906d2d06f69, + 0x24090941122d4809, + 0xdd7070d7e0ada770, + 0xe2b6b66f7154d9b6, + 0x67d0d01ebdb7ced0, + 0x93ededd6c77e3bed, + 0x17cccce285db2ecc, + 0x1542426884572a42, + 0x5a98982c2dc2b498, + 0xaaa4a4ed550e49a4, + 0xa028287550885d28, + 0x6d5c5c86b831da5c, + 0xc7f8f86bed3f93f8, + 0x228686c211a44486, ]; -pub static C6: [u64; 256] = [ - 0x6018c07830d81818, - 0x8c2305af46262323, - 0x3fc67ef991b8c6c6, - 0x87e8136fcdfbe8e8, - 0x26874ca113cb8787, - 0xdab8a9626d11b8b8, - 0x0401080502090101, - 0x214f426e9e0d4f4f, - 0xd836adee6c9b3636, - 0xa2a6590451ffa6a6, - 0x6fd2debdb90cd2d2, - 0xf3f5fb06f70ef5f5, - 0xf979ef80f2967979, - 0xa16f5fcede306f6f, - 0x7e91fcef3f6d9191, - 0x5552aa07a4f85252, - 0x9d6027fdc0476060, - 0xcabc89766535bcbc, - 0x569baccd2b379b9b, - 0x028e048c018a8e8e, - 0xb6a371155bd2a3a3, - 0x300c603c186c0c0c, - 0xf17bff8af6847b7b, - 0xd435b5e16a803535, - 0x741de8693af51d1d, - 0xa7e05347ddb3e0e0, - 0x7bd7f6acb321d7d7, - 0x2fc25eed999cc2c2, - 0xb82e6d965c432e2e, - 0x314b627a96294b4b, - 0xdffea321e15dfefe, - 0x41578216aed55757, - 0x5415a8412abd1515, - 0xc1779fb6eee87777, - 0xdc37a5eb6e923737, - 0xb3e57b56d79ee5e5, - 0x469f8cd923139f9f, - 0xe7f0d317fd23f0f0, - 0x354a6a7f94204a4a, - 0x4fda9e95a944dada, - 0x7d58fa25b0a25858, - 0x03c906ca8fcfc9c9, - 0xa429558d527c2929, - 0x280a5022145a0a0a, - 0xfeb1e14f7f50b1b1, - 0xbaa0691a5dc9a0a0, - 0xb16b7fdad6146b6b, - 0x2e855cab17d98585, - 0xcebd8173673cbdbd, - 0x695dd234ba8f5d5d, - 0x4010805020901010, - 0xf7f4f303f507f4f4, - 0x0bcb16c08bddcbcb, - 0xf83eedc67cd33e3e, - 0x140528110a2d0505, - 0x81671fe6ce786767, - 0xb7e47353d597e4e4, - 0x9c2725bb4e022727, - 0x1941325882734141, - 0x168b2c9d0ba78b8b, - 0xa6a7510153f6a7a7, - 0xe97dcf94fab27d7d, - 0x6e95dcfb37499595, - 0x47d88e9fad56d8d8, - 0xcbfb8b30eb70fbfb, - 0x9fee2371c1cdeeee, - 0xed7cc791f8bb7c7c, - 0x856617e3cc716666, - 0x53dda68ea77bdddd, - 0x5c17b84b2eaf1717, - 0x014702468e454747, - 0x429e84dc211a9e9e, - 0x0fca1ec589d4caca, - 0xb42d75995a582d2d, - 0xc6bf9179632ebfbf, - 0x1c07381b0e3f0707, - 0x8ead012347acadad, - 0x755aea2fb4b05a5a, - 0x36836cb51bef8383, - 0xcc3385ff66b63333, - 0x91633ff2c65c6363, - 0x0802100a04120202, - 0x92aa39384993aaaa, - 0xd971afa8e2de7171, - 0x07c80ecf8dc6c8c8, - 0x6419c87d32d11919, - 0x39497270923b4949, - 0x43d9869aaf5fd9d9, - 0xeff2c31df931f2f2, - 0xabe34b48dba8e3e3, - 0x715be22ab6b95b5b, - 0x1a8834920dbc8888, - 0x529aa4c8293e9a9a, - 0x98262dbe4c0b2626, - 0xc8328dfa64bf3232, - 0xfab0e94a7d59b0b0, - 0x83e91b6acff2e9e9, - 0x3c0f78331e770f0f, - 0x73d5e6a6b733d5d5, - 0x3a8074ba1df48080, - 0xc2be997c6127bebe, - 0x13cd26de87ebcdcd, - 0xd034bde468893434, - 0x3d487a7590324848, - 0xdbffab24e354ffff, - 0xf57af78ff48d7a7a, - 0x7a90f4ea3d649090, - 0x615fc23ebe9d5f5f, - 0x80201da0403d2020, - 0xbd6867d5d00f6868, - 0x681ad07234ca1a1a, - 0x82ae192c41b7aeae, - 0xeab4c95e757db4b4, - 0x4d549a19a8ce5454, - 0x7693ece53b7f9393, - 0x88220daa442f2222, - 0x8d6407e9c8636464, - 0xe3f1db12ff2af1f1, - 0xd173bfa2e6cc7373, - 0x4812905a24821212, - 0x1d403a5d807a4040, - 0x2008402810480808, - 0x2bc356e89b95c3c3, - 0x97ec337bc5dfecec, - 0x4bdb9690ab4ddbdb, - 0xbea1611f5fc0a1a1, - 0x0e8d1c8307918d8d, - 0xf43df5c97ac83d3d, - 0x6697ccf1335b9797, +pub const C6: [u64; 256] = [ + 0x1818d83078c01860, + 0x23232646af05238c, + 0xc6c6b891f97ec63f, + 0xe8e8fbcd6f13e887, + 0x8787cb13a14c8726, + 0xb8b8116d62a9b8da, + 0x0101090205080104, + 0x4f4f0d9e6e424f21, + 0x36369b6ceead36d8, + 0xa6a6ff510459a6a2, + 0xd2d20cb9bdded26f, + 0xf5f50ef706fbf5f3, + 0x797996f280ef79f9, + 0x6f6f30dece5f6fa1, + 0x91916d3feffc917e, + 0x5252f8a407aa5255, + 0x606047c0fd27609d, + 0xbcbc35657689bcca, + 0x9b9b372bcdac9b56, + 0x8e8e8a018c048e02, + 0xa3a3d25b1571a3b6, + 0x0c0c6c183c600c30, + 0x7b7b84f68aff7bf1, + 0x3535806ae1b535d4, + 0x1d1df53a69e81d74, + 0xe0e0b3dd4753e0a7, + 0xd7d721b3acf6d77b, + 0xc2c29c99ed5ec22f, + 0x2e2e435c966d2eb8, + 0x4b4b29967a624b31, + 0xfefe5de121a3fedf, + 0x5757d5ae16825741, + 0x1515bd2a41a81554, + 0x7777e8eeb69f77c1, + 0x3737926eeba537dc, + 0xe5e59ed7567be5b3, + 0x9f9f1323d98c9f46, + 0xf0f023fd17d3f0e7, + 0x4a4a20947f6a4a35, + 0xdada44a9959eda4f, + 0x5858a2b025fa587d, + 0xc9c9cf8fca06c903, + 0x29297c528d5529a4, + 0x0a0a5a1422500a28, + 0xb1b1507f4fe1b1fe, + 0xa0a0c95d1a69a0ba, + 0x6b6b14d6da7f6bb1, + 0x8585d917ab5c852e, + 0xbdbd3c677381bdce, + 0x5d5d8fba34d25d69, + 0x1010902050801040, + 0xf4f407f503f3f4f7, + 0xcbcbdd8bc016cb0b, + 0x3e3ed37cc6ed3ef8, + 0x05052d0a11280514, + 0x676778cee61f6781, + 0xe4e497d55373e4b7, + 0x2727024ebb25279c, + 0x4141738258324119, + 0x8b8ba70b9d2c8b16, + 0xa7a7f6530151a7a6, + 0x7d7db2fa94cf7de9, + 0x95954937fbdc956e, + 0xd8d856ad9f8ed847, + 0xfbfb70eb308bfbcb, + 0xeeeecdc17123ee9f, + 0x7c7cbbf891c77ced, + 0x666671cce3176685, + 0xdddd7ba78ea6dd53, + 0x1717af2e4bb8175c, + 0x4747458e46024701, + 0x9e9e1a21dc849e42, + 0xcacad489c51eca0f, + 0x2d2d585a99752db4, + 0xbfbf2e637991bfc6, + 0x07073f0e1b38071c, + 0xadadac472301ad8e, + 0x5a5ab0b42fea5a75, + 0x8383ef1bb56c8336, + 0x3333b666ff8533cc, + 0x63635cc6f23f6391, + 0x020212040a100208, + 0xaaaa93493839aa92, + 0x7171dee2a8af71d9, + 0xc8c8c68dcf0ec807, + 0x1919d1327dc81964, + 0x49493b9270724939, + 0xd9d95faf9a86d943, + 0xf2f231f91dc3f2ef, + 0xe3e3a8db484be3ab, + 0x5b5bb9b62ae25b71, + 0x8888bc0d9234881a, + 0x9a9a3e29c8a49a52, + 0x26260b4cbe2d2698, + 0x3232bf64fa8d32c8, + 0xb0b0597d4ae9b0fa, + 0xe9e9f2cf6a1be983, + 0x0f0f771e33780f3c, + 0xd5d533b7a6e6d573, + 0x8080f41dba74803a, + 0xbebe27617c99bec2, + 0xcdcdeb87de26cd13, + 0x34348968e4bd34d0, + 0x48483290757a483d, + 0xffff54e324abffdb, + 0x7a7a8df48ff77af5, + 0x9090643deaf4907a, + 0x5f5f9dbe3ec25f61, + 0x20203d40a01d2080, + 0x68680fd0d56768bd, + 0x1a1aca3472d01a68, + 0xaeaeb7412c19ae82, + 0xb4b47d755ec9b4ea, + 0x5454cea8199a544d, + 0x93937f3be5ec9376, + 0x22222f44aa0d2288, + 0x646463c8e907648d, + 0xf1f12aff12dbf1e3, + 0x7373cce6a2bf73d1, + 0x121282245a901248, + 0x40407a805d3a401d, + 0x0808481028400820, + 0xc3c3959be856c32b, + 0xececdfc57b33ec97, + 0xdbdb4dab9096db4b, + 0xa1a1c05f1f61a1be, + 0x8d8d9107831c8d0e, + 0x3d3dc87ac9f53df4, + 0x97975b33f1cc9766, 0x0000000000000000, - 0x1bcf36d483f9cfcf, - 0xac2b4587566e2b2b, - 0xc57697b3ece17676, - 0x328264b019e68282, - 0x7fd6fea9b128d6d6, - 0x6c1bd87736c31b1b, - 0xeeb5c15b7774b5b5, - 0x86af112943beafaf, - 0xb56a77dfd41d6a6a, - 0x5d50ba0da0ea5050, - 0x0945124c8a574545, - 0xebf3cb18fb38f3f3, - 0xc0309df060ad3030, - 0x9bef2b74c3c4efef, - 0xfc3fe5c37eda3f3f, - 0x4955921caac75555, - 0xb2a2791059dba2a2, - 0x8fea0365c9e9eaea, - 0x89650fecca6a6565, - 0xd2bab9686903baba, - 0xbc2f65935e4a2f2f, - 0x27c04ee79d8ec0c0, - 0x5fdebe81a160dede, - 0x701ce06c38fc1c1c, - 0xd3fdbb2ee746fdfd, - 0x294d52649a1f4d4d, - 0x7292e4e039769292, - 0xc9758fbceafa7575, - 0x1806301e0c360606, - 0x128a249809ae8a8a, - 0xf2b2f940794bb2b2, - 0xbfe66359d185e6e6, - 0x380e70361c7e0e0e, - 0x7c1ff8633ee71f1f, - 0x956237f7c4556262, - 0x77d4eea3b53ad4d4, - 0x9aa829324d81a8a8, - 0x6296c4f431529696, - 0xc3f99b3aef62f9f9, - 0x33c566f697a3c5c5, - 0x942535b14a102525, - 0x7959f220b2ab5959, - 0x2a8454ae15d08484, - 0xd572b7a7e4c57272, - 0xe439d5dd72ec3939, - 0x2d4c5a6198164c4c, - 0x655eca3bbc945e5e, - 0xfd78e785f09f7878, - 0xe038ddd870e53838, - 0x0a8c148605988c8c, - 0x63d1c6b2bf17d1d1, - 0xaea5410b57e4a5a5, - 0xafe2434dd9a1e2e2, - 0x99612ff8c24e6161, - 0xf6b3f1457b42b3b3, - 0x842115a542342121, - 0x4a9c94d625089c9c, - 0x781ef0663cee1e1e, - 0x1143225286614343, - 0x3bc776fc93b1c7c7, - 0xd7fcb32be54ffcfc, - 0x1004201408240404, - 0x5951b208a2e35151, - 0x5e99bcc72f259999, - 0xa96d4fc4da226d6d, - 0x340d68391a650d0d, - 0xcffa8335e979fafa, - 0x5bdfb684a369dfdf, - 0xe57ed79bfca97e7e, - 0x90243db448192424, - 0xec3bc5d776fe3b3b, - 0x96ab313d4b9aabab, - 0x1fce3ed181f0cece, - 0x4411885522991111, - 0x068f0c8903838f8f, - 0x254e4a6b9c044e4e, - 0xe6b7d1517366b7b7, - 0x8beb0b60cbe0ebeb, - 0xf03cfdcc78c13c3c, - 0x3e817cbf1ffd8181, - 0x6a94d4fe35409494, - 0xfbf7eb0cf31cf7f7, - 0xdeb9a1676f18b9b9, - 0x4c13985f268b1313, - 0xb02c7d9c58512c2c, - 0x6bd3d6b8bb05d3d3, - 0xbbe76b5cd38ce7e7, - 0xa56e57cbdc396e6e, - 0x37c46ef395aac4c4, - 0x0c03180f061b0303, - 0x45568a13acdc5656, - 0x0d441a49885e4444, - 0xe17fdf9efea07f7f, - 0x9ea921374f88a9a9, - 0xa82a4d8254672a2a, - 0xd6bbb16d6b0abbbb, - 0x23c146e29f87c1c1, - 0x5153a202a6f15353, - 0x57dcae8ba572dcdc, - 0x2c0b582716530b0b, - 0x4e9d9cd327019d9d, - 0xad6c47c1d82b6c6c, - 0xc43195f562a43131, - 0xcd7487b9e8f37474, - 0xfff6e309f115f6f6, - 0x05460a438c4c4646, - 0x8aac092645a5acac, - 0x1e893c970fb58989, - 0x5014a04428b41414, - 0xa3e15b42dfbae1e1, - 0x5816b04e2ca61616, - 0xe83acdd274f73a3a, - 0xb9696fd0d2066969, - 0x2409482d12410909, - 0xdd70a7ade0d77070, - 0xe2b6d954716fb6b6, - 0x67d0ceb7bd1ed0d0, - 0x93ed3b7ec7d6eded, - 0x17cc2edb85e2cccc, - 0x15422a5784684242, - 0x5a98b4c22d2c9898, - 0xaaa4490e55eda4a4, - 0xa0285d8850752828, - 0x6d5cda31b8865c5c, - 0xc7f8933fed6bf8f8, - 0x228644a411c28686, + 0xcfcff983d436cf1b, + 0x2b2b6e5687452bac, + 0x7676e1ecb39776c5, + 0x8282e619b0648232, + 0xd6d628b1a9fed67f, + 0x1b1bc33677d81b6c, + 0xb5b574775bc1b5ee, + 0xafafbe432911af86, + 0x6a6a1dd4df776ab5, + 0x5050eaa00dba505d, + 0x4545578a4c124509, + 0xf3f338fb18cbf3eb, + 0x3030ad60f09d30c0, + 0xefefc4c3742bef9b, + 0x3f3fda7ec3e53ffc, + 0x5555c7aa1c925549, + 0xa2a2db591079a2b2, + 0xeaeae9c96503ea8f, + 0x65656acaec0f6589, + 0xbaba036968b9bad2, + 0x2f2f4a5e93652fbc, + 0xc0c08e9de74ec027, + 0xdede60a181bede5f, + 0x1c1cfc386ce01c70, + 0xfdfd46e72ebbfdd3, + 0x4d4d1f9a64524d29, + 0x92927639e0e49272, + 0x7575faeabc8f75c9, + 0x0606360c1e300618, + 0x8a8aae0998248a12, + 0xb2b24b7940f9b2f2, + 0xe6e685d15963e6bf, + 0x0e0e7e1c36700e38, + 0x1f1fe73e63f81f7c, + 0x626255c4f7376295, + 0xd4d43ab5a3eed477, + 0xa8a8814d3229a89a, + 0x96965231f4c49662, + 0xf9f962ef3a9bf9c3, + 0xc5c5a397f666c533, + 0x2525104ab1352594, + 0x5959abb220f25979, + 0x8484d015ae54842a, + 0x7272c5e4a7b772d5, + 0x3939ec72ddd539e4, + 0x4c4c1698615a4c2d, + 0x5e5e94bc3bca5e65, + 0x78789ff085e778fd, + 0x3838e570d8dd38e0, + 0x8c8c980586148c0a, + 0xd1d117bfb2c6d163, + 0xa5a5e4570b41a5ae, + 0xe2e2a1d94d43e2af, + 0x61614ec2f82f6199, + 0xb3b3427b45f1b3f6, + 0x21213442a5152184, + 0x9c9c0825d6949c4a, + 0x1e1eee3c66f01e78, + 0x4343618652224311, + 0xc7c7b193fc76c73b, + 0xfcfc4fe52bb3fcd7, + 0x0404240814200410, + 0x5151e3a208b25159, + 0x9999252fc7bc995e, + 0x6d6d22dac44f6da9, + 0x0d0d651a39680d34, + 0xfafa79e93583facf, + 0xdfdf69a384b6df5b, + 0x7e7ea9fc9bd77ee5, + 0x24241948b43d2490, + 0x3b3bfe76d7c53bec, + 0xabab9a4b3d31ab96, + 0xcecef081d13ece1f, + 0x1111992255881144, + 0x8f8f8303890c8f06, + 0x4e4e049c6b4a4e25, + 0xb7b7667351d1b7e6, + 0xebebe0cb600beb8b, + 0x3c3cc178ccfd3cf0, + 0x8181fd1fbf7c813e, + 0x94944035fed4946a, + 0xf7f71cf30cebf7fb, + 0xb9b9186f67a1b9de, + 0x13138b265f98134c, + 0x2c2c51589c7d2cb0, + 0xd3d305bbb8d6d36b, + 0xe7e78cd35c6be7bb, + 0x6e6e39dccb576ea5, + 0xc4c4aa95f36ec437, + 0x03031b060f18030c, + 0x5656dcac138a5645, + 0x44445e88491a440d, + 0x7f7fa0fe9edf7fe1, + 0xa9a9884f3721a99e, + 0x2a2a6754824d2aa8, + 0xbbbb0a6b6db1bbd6, + 0xc1c1879fe246c123, + 0x5353f1a602a25351, + 0xdcdc72a58baedc57, + 0x0b0b531627580b2c, + 0x9d9d0127d39c9d4e, + 0x6c6c2bd8c1476cad, + 0x3131a462f59531c4, + 0x7474f3e8b98774cd, + 0xf6f615f109e3f6ff, + 0x46464c8c430a4605, + 0xacaca5452609ac8a, + 0x8989b50f973c891e, + 0x1414b42844a01450, + 0xe1e1badf425be1a3, + 0x1616a62c4eb01658, + 0x3a3af774d2cd3ae8, + 0x696906d2d06f69b9, + 0x090941122d480924, + 0x7070d7e0ada770dd, + 0xb6b66f7154d9b6e2, + 0xd0d01ebdb7ced067, + 0xededd6c77e3bed93, + 0xcccce285db2ecc17, + 0x42426884572a4215, + 0x98982c2dc2b4985a, + 0xa4a4ed550e49a4aa, + 0x28287550885d28a0, + 0x5c5c86b831da5c6d, + 0xf8f86bed3f93f8c7, + 0x8686c211a4448622, ]; -pub static C7: [u64; 256] = [ - 0x186018c07830d818, - 0x238c2305af462623, - 0xc63fc67ef991b8c6, - 0xe887e8136fcdfbe8, - 0x8726874ca113cb87, - 0xb8dab8a9626d11b8, - 0x0104010805020901, - 0x4f214f426e9e0d4f, - 0x36d836adee6c9b36, - 0xa6a2a6590451ffa6, - 0xd26fd2debdb90cd2, - 0xf5f3f5fb06f70ef5, - 0x79f979ef80f29679, - 0x6fa16f5fcede306f, - 0x917e91fcef3f6d91, - 0x525552aa07a4f852, - 0x609d6027fdc04760, - 0xbccabc89766535bc, - 0x9b569baccd2b379b, - 0x8e028e048c018a8e, - 0xa3b6a371155bd2a3, - 0x0c300c603c186c0c, - 0x7bf17bff8af6847b, - 0x35d435b5e16a8035, - 0x1d741de8693af51d, - 0xe0a7e05347ddb3e0, - 0xd77bd7f6acb321d7, - 0xc22fc25eed999cc2, - 0x2eb82e6d965c432e, - 0x4b314b627a96294b, - 0xfedffea321e15dfe, - 0x5741578216aed557, - 0x155415a8412abd15, - 0x77c1779fb6eee877, - 0x37dc37a5eb6e9237, - 0xe5b3e57b56d79ee5, - 0x9f469f8cd923139f, - 0xf0e7f0d317fd23f0, - 0x4a354a6a7f94204a, - 0xda4fda9e95a944da, - 0x587d58fa25b0a258, - 0xc903c906ca8fcfc9, - 0x29a429558d527c29, - 0x0a280a5022145a0a, - 0xb1feb1e14f7f50b1, - 0xa0baa0691a5dc9a0, - 0x6bb16b7fdad6146b, - 0x852e855cab17d985, - 0xbdcebd8173673cbd, - 0x5d695dd234ba8f5d, - 0x1040108050209010, - 0xf4f7f4f303f507f4, - 0xcb0bcb16c08bddcb, - 0x3ef83eedc67cd33e, - 0x05140528110a2d05, - 0x6781671fe6ce7867, - 0xe4b7e47353d597e4, - 0x279c2725bb4e0227, - 0x4119413258827341, - 0x8b168b2c9d0ba78b, - 0xa7a6a7510153f6a7, - 0x7de97dcf94fab27d, - 0x956e95dcfb374995, - 0xd847d88e9fad56d8, - 0xfbcbfb8b30eb70fb, - 0xee9fee2371c1cdee, - 0x7ced7cc791f8bb7c, - 0x66856617e3cc7166, - 0xdd53dda68ea77bdd, - 0x175c17b84b2eaf17, - 0x47014702468e4547, - 0x9e429e84dc211a9e, - 0xca0fca1ec589d4ca, - 0x2db42d75995a582d, - 0xbfc6bf9179632ebf, - 0x071c07381b0e3f07, - 0xad8ead012347acad, - 0x5a755aea2fb4b05a, - 0x8336836cb51bef83, - 0x33cc3385ff66b633, - 0x6391633ff2c65c63, - 0x020802100a041202, - 0xaa92aa39384993aa, - 0x71d971afa8e2de71, - 0xc807c80ecf8dc6c8, - 0x196419c87d32d119, - 0x4939497270923b49, - 0xd943d9869aaf5fd9, - 0xf2eff2c31df931f2, - 0xe3abe34b48dba8e3, - 0x5b715be22ab6b95b, - 0x881a8834920dbc88, - 0x9a529aa4c8293e9a, - 0x2698262dbe4c0b26, - 0x32c8328dfa64bf32, - 0xb0fab0e94a7d59b0, - 0xe983e91b6acff2e9, - 0x0f3c0f78331e770f, - 0xd573d5e6a6b733d5, - 0x803a8074ba1df480, - 0xbec2be997c6127be, - 0xcd13cd26de87ebcd, - 0x34d034bde4688934, - 0x483d487a75903248, - 0xffdbffab24e354ff, - 0x7af57af78ff48d7a, - 0x907a90f4ea3d6490, - 0x5f615fc23ebe9d5f, - 0x2080201da0403d20, - 0x68bd6867d5d00f68, - 0x1a681ad07234ca1a, - 0xae82ae192c41b7ae, - 0xb4eab4c95e757db4, - 0x544d549a19a8ce54, - 0x937693ece53b7f93, - 0x2288220daa442f22, - 0x648d6407e9c86364, - 0xf1e3f1db12ff2af1, - 0x73d173bfa2e6cc73, - 0x124812905a248212, - 0x401d403a5d807a40, - 0x0820084028104808, - 0xc32bc356e89b95c3, - 0xec97ec337bc5dfec, - 0xdb4bdb9690ab4ddb, - 0xa1bea1611f5fc0a1, - 0x8d0e8d1c8307918d, - 0x3df43df5c97ac83d, - 0x976697ccf1335b97, +pub const C7: [u64; 256] = [ + 0x18d83078c0186018, + 0x232646af05238c23, + 0xc6b891f97ec63fc6, + 0xe8fbcd6f13e887e8, + 0x87cb13a14c872687, + 0xb8116d62a9b8dab8, + 0x0109020508010401, + 0x4f0d9e6e424f214f, + 0x369b6ceead36d836, + 0xa6ff510459a6a2a6, + 0xd20cb9bdded26fd2, + 0xf50ef706fbf5f3f5, + 0x7996f280ef79f979, + 0x6f30dece5f6fa16f, + 0x916d3feffc917e91, + 0x52f8a407aa525552, + 0x6047c0fd27609d60, + 0xbc35657689bccabc, + 0x9b372bcdac9b569b, + 0x8e8a018c048e028e, + 0xa3d25b1571a3b6a3, + 0x0c6c183c600c300c, + 0x7b84f68aff7bf17b, + 0x35806ae1b535d435, + 0x1df53a69e81d741d, + 0xe0b3dd4753e0a7e0, + 0xd721b3acf6d77bd7, + 0xc29c99ed5ec22fc2, + 0x2e435c966d2eb82e, + 0x4b29967a624b314b, + 0xfe5de121a3fedffe, + 0x57d5ae1682574157, + 0x15bd2a41a8155415, + 0x77e8eeb69f77c177, + 0x37926eeba537dc37, + 0xe59ed7567be5b3e5, + 0x9f1323d98c9f469f, + 0xf023fd17d3f0e7f0, + 0x4a20947f6a4a354a, + 0xda44a9959eda4fda, + 0x58a2b025fa587d58, + 0xc9cf8fca06c903c9, + 0x297c528d5529a429, + 0x0a5a1422500a280a, + 0xb1507f4fe1b1feb1, + 0xa0c95d1a69a0baa0, + 0x6b14d6da7f6bb16b, + 0x85d917ab5c852e85, + 0xbd3c677381bdcebd, + 0x5d8fba34d25d695d, + 0x1090205080104010, + 0xf407f503f3f4f7f4, + 0xcbdd8bc016cb0bcb, + 0x3ed37cc6ed3ef83e, + 0x052d0a1128051405, + 0x6778cee61f678167, + 0xe497d55373e4b7e4, + 0x27024ebb25279c27, + 0x4173825832411941, + 0x8ba70b9d2c8b168b, + 0xa7f6530151a7a6a7, + 0x7db2fa94cf7de97d, + 0x954937fbdc956e95, + 0xd856ad9f8ed847d8, + 0xfb70eb308bfbcbfb, + 0xeecdc17123ee9fee, + 0x7cbbf891c77ced7c, + 0x6671cce317668566, + 0xdd7ba78ea6dd53dd, + 0x17af2e4bb8175c17, + 0x47458e4602470147, + 0x9e1a21dc849e429e, + 0xcad489c51eca0fca, + 0x2d585a99752db42d, + 0xbf2e637991bfc6bf, + 0x073f0e1b38071c07, + 0xadac472301ad8ead, + 0x5ab0b42fea5a755a, + 0x83ef1bb56c833683, + 0x33b666ff8533cc33, + 0x635cc6f23f639163, + 0x0212040a10020802, + 0xaa93493839aa92aa, + 0x71dee2a8af71d971, + 0xc8c68dcf0ec807c8, + 0x19d1327dc8196419, + 0x493b927072493949, + 0xd95faf9a86d943d9, + 0xf231f91dc3f2eff2, + 0xe3a8db484be3abe3, + 0x5bb9b62ae25b715b, + 0x88bc0d9234881a88, + 0x9a3e29c8a49a529a, + 0x260b4cbe2d269826, + 0x32bf64fa8d32c832, + 0xb0597d4ae9b0fab0, + 0xe9f2cf6a1be983e9, + 0x0f771e33780f3c0f, + 0xd533b7a6e6d573d5, + 0x80f41dba74803a80, + 0xbe27617c99bec2be, + 0xcdeb87de26cd13cd, + 0x348968e4bd34d034, + 0x483290757a483d48, + 0xff54e324abffdbff, + 0x7a8df48ff77af57a, + 0x90643deaf4907a90, + 0x5f9dbe3ec25f615f, + 0x203d40a01d208020, + 0x680fd0d56768bd68, + 0x1aca3472d01a681a, + 0xaeb7412c19ae82ae, + 0xb47d755ec9b4eab4, + 0x54cea8199a544d54, + 0x937f3be5ec937693, + 0x222f44aa0d228822, + 0x6463c8e907648d64, + 0xf12aff12dbf1e3f1, + 0x73cce6a2bf73d173, + 0x1282245a90124812, + 0x407a805d3a401d40, + 0x0848102840082008, + 0xc3959be856c32bc3, + 0xecdfc57b33ec97ec, + 0xdb4dab9096db4bdb, + 0xa1c05f1f61a1bea1, + 0x8d9107831c8d0e8d, + 0x3dc87ac9f53df43d, + 0x975b33f1cc976697, 0x0000000000000000, - 0xcf1bcf36d483f9cf, - 0x2bac2b4587566e2b, - 0x76c57697b3ece176, - 0x82328264b019e682, - 0xd67fd6fea9b128d6, - 0x1b6c1bd87736c31b, - 0xb5eeb5c15b7774b5, - 0xaf86af112943beaf, - 0x6ab56a77dfd41d6a, - 0x505d50ba0da0ea50, - 0x450945124c8a5745, - 0xf3ebf3cb18fb38f3, - 0x30c0309df060ad30, - 0xef9bef2b74c3c4ef, - 0x3ffc3fe5c37eda3f, - 0x554955921caac755, - 0xa2b2a2791059dba2, - 0xea8fea0365c9e9ea, - 0x6589650fecca6a65, - 0xbad2bab9686903ba, - 0x2fbc2f65935e4a2f, - 0xc027c04ee79d8ec0, - 0xde5fdebe81a160de, - 0x1c701ce06c38fc1c, - 0xfdd3fdbb2ee746fd, - 0x4d294d52649a1f4d, - 0x927292e4e0397692, - 0x75c9758fbceafa75, - 0x061806301e0c3606, - 0x8a128a249809ae8a, - 0xb2f2b2f940794bb2, - 0xe6bfe66359d185e6, - 0x0e380e70361c7e0e, - 0x1f7c1ff8633ee71f, - 0x62956237f7c45562, - 0xd477d4eea3b53ad4, - 0xa89aa829324d81a8, - 0x966296c4f4315296, - 0xf9c3f99b3aef62f9, - 0xc533c566f697a3c5, - 0x25942535b14a1025, - 0x597959f220b2ab59, - 0x842a8454ae15d084, - 0x72d572b7a7e4c572, - 0x39e439d5dd72ec39, - 0x4c2d4c5a6198164c, - 0x5e655eca3bbc945e, - 0x78fd78e785f09f78, - 0x38e038ddd870e538, - 0x8c0a8c148605988c, - 0xd163d1c6b2bf17d1, - 0xa5aea5410b57e4a5, - 0xe2afe2434dd9a1e2, - 0x6199612ff8c24e61, - 0xb3f6b3f1457b42b3, - 0x21842115a5423421, - 0x9c4a9c94d625089c, - 0x1e781ef0663cee1e, - 0x4311432252866143, - 0xc73bc776fc93b1c7, - 0xfcd7fcb32be54ffc, - 0x0410042014082404, - 0x515951b208a2e351, - 0x995e99bcc72f2599, - 0x6da96d4fc4da226d, - 0x0d340d68391a650d, - 0xfacffa8335e979fa, - 0xdf5bdfb684a369df, - 0x7ee57ed79bfca97e, - 0x2490243db4481924, - 0x3bec3bc5d776fe3b, - 0xab96ab313d4b9aab, - 0xce1fce3ed181f0ce, - 0x1144118855229911, - 0x8f068f0c8903838f, - 0x4e254e4a6b9c044e, - 0xb7e6b7d1517366b7, - 0xeb8beb0b60cbe0eb, - 0x3cf03cfdcc78c13c, - 0x813e817cbf1ffd81, - 0x946a94d4fe354094, - 0xf7fbf7eb0cf31cf7, - 0xb9deb9a1676f18b9, - 0x134c13985f268b13, - 0x2cb02c7d9c58512c, - 0xd36bd3d6b8bb05d3, - 0xe7bbe76b5cd38ce7, - 0x6ea56e57cbdc396e, - 0xc437c46ef395aac4, - 0x030c03180f061b03, - 0x5645568a13acdc56, - 0x440d441a49885e44, - 0x7fe17fdf9efea07f, - 0xa99ea921374f88a9, - 0x2aa82a4d8254672a, - 0xbbd6bbb16d6b0abb, - 0xc123c146e29f87c1, - 0x535153a202a6f153, - 0xdc57dcae8ba572dc, - 0x0b2c0b582716530b, - 0x9d4e9d9cd327019d, - 0x6cad6c47c1d82b6c, - 0x31c43195f562a431, - 0x74cd7487b9e8f374, - 0xf6fff6e309f115f6, - 0x4605460a438c4c46, - 0xac8aac092645a5ac, - 0x891e893c970fb589, - 0x145014a04428b414, - 0xe1a3e15b42dfbae1, - 0x165816b04e2ca616, - 0x3ae83acdd274f73a, - 0x69b9696fd0d20669, - 0x092409482d124109, - 0x70dd70a7ade0d770, - 0xb6e2b6d954716fb6, - 0xd067d0ceb7bd1ed0, - 0xed93ed3b7ec7d6ed, - 0xcc17cc2edb85e2cc, - 0x4215422a57846842, - 0x985a98b4c22d2c98, - 0xa4aaa4490e55eda4, - 0x28a0285d88507528, - 0x5c6d5cda31b8865c, - 0xf8c7f8933fed6bf8, - 0x86228644a411c286, + 0xcff983d436cf1bcf, + 0x2b6e5687452bac2b, + 0x76e1ecb39776c576, + 0x82e619b064823282, + 0xd628b1a9fed67fd6, + 0x1bc33677d81b6c1b, + 0xb574775bc1b5eeb5, + 0xafbe432911af86af, + 0x6a1dd4df776ab56a, + 0x50eaa00dba505d50, + 0x45578a4c12450945, + 0xf338fb18cbf3ebf3, + 0x30ad60f09d30c030, + 0xefc4c3742bef9bef, + 0x3fda7ec3e53ffc3f, + 0x55c7aa1c92554955, + 0xa2db591079a2b2a2, + 0xeae9c96503ea8fea, + 0x656acaec0f658965, + 0xba036968b9bad2ba, + 0x2f4a5e93652fbc2f, + 0xc08e9de74ec027c0, + 0xde60a181bede5fde, + 0x1cfc386ce01c701c, + 0xfd46e72ebbfdd3fd, + 0x4d1f9a64524d294d, + 0x927639e0e4927292, + 0x75faeabc8f75c975, + 0x06360c1e30061806, + 0x8aae0998248a128a, + 0xb24b7940f9b2f2b2, + 0xe685d15963e6bfe6, + 0x0e7e1c36700e380e, + 0x1fe73e63f81f7c1f, + 0x6255c4f737629562, + 0xd43ab5a3eed477d4, + 0xa8814d3229a89aa8, + 0x965231f4c4966296, + 0xf962ef3a9bf9c3f9, + 0xc5a397f666c533c5, + 0x25104ab135259425, + 0x59abb220f2597959, + 0x84d015ae54842a84, + 0x72c5e4a7b772d572, + 0x39ec72ddd539e439, + 0x4c1698615a4c2d4c, + 0x5e94bc3bca5e655e, + 0x789ff085e778fd78, + 0x38e570d8dd38e038, + 0x8c980586148c0a8c, + 0xd117bfb2c6d163d1, + 0xa5e4570b41a5aea5, + 0xe2a1d94d43e2afe2, + 0x614ec2f82f619961, + 0xb3427b45f1b3f6b3, + 0x213442a515218421, + 0x9c0825d6949c4a9c, + 0x1eee3c66f01e781e, + 0x4361865222431143, + 0xc7b193fc76c73bc7, + 0xfc4fe52bb3fcd7fc, + 0x0424081420041004, + 0x51e3a208b2515951, + 0x99252fc7bc995e99, + 0x6d22dac44f6da96d, + 0x0d651a39680d340d, + 0xfa79e93583facffa, + 0xdf69a384b6df5bdf, + 0x7ea9fc9bd77ee57e, + 0x241948b43d249024, + 0x3bfe76d7c53bec3b, + 0xab9a4b3d31ab96ab, + 0xcef081d13ece1fce, + 0x1199225588114411, + 0x8f8303890c8f068f, + 0x4e049c6b4a4e254e, + 0xb7667351d1b7e6b7, + 0xebe0cb600beb8beb, + 0x3cc178ccfd3cf03c, + 0x81fd1fbf7c813e81, + 0x944035fed4946a94, + 0xf71cf30cebf7fbf7, + 0xb9186f67a1b9deb9, + 0x138b265f98134c13, + 0x2c51589c7d2cb02c, + 0xd305bbb8d6d36bd3, + 0xe78cd35c6be7bbe7, + 0x6e39dccb576ea56e, + 0xc4aa95f36ec437c4, + 0x031b060f18030c03, + 0x56dcac138a564556, + 0x445e88491a440d44, + 0x7fa0fe9edf7fe17f, + 0xa9884f3721a99ea9, + 0x2a6754824d2aa82a, + 0xbb0a6b6db1bbd6bb, + 0xc1879fe246c123c1, + 0x53f1a602a2535153, + 0xdc72a58baedc57dc, + 0x0b531627580b2c0b, + 0x9d0127d39c9d4e9d, + 0x6c2bd8c1476cad6c, + 0x31a462f59531c431, + 0x74f3e8b98774cd74, + 0xf615f109e3f6fff6, + 0x464c8c430a460546, + 0xaca5452609ac8aac, + 0x89b50f973c891e89, + 0x14b42844a0145014, + 0xe1badf425be1a3e1, + 0x16a62c4eb0165816, + 0x3af774d2cd3ae83a, + 0x6906d2d06f69b969, + 0x0941122d48092409, + 0x70d7e0ada770dd70, + 0xb66f7154d9b6e2b6, + 0xd01ebdb7ced067d0, + 0xedd6c77e3bed93ed, + 0xcce285db2ecc17cc, + 0x426884572a421542, + 0x982c2dc2b4985a98, + 0xa4ed550e49a4aaa4, + 0x287550885d28a028, + 0x5c86b831da5c6d5c, + 0xf86bed3f93f8c7f8, + 0x86c211a444862286, ]; diff --git a/whirlpool/src/lib.rs b/whirlpool/src/lib.rs index e2e313f66..54197e8f2 100644 --- a/whirlpool/src/lib.rs +++ b/whirlpool/src/lib.rs @@ -37,163 +37,140 @@ #![no_std] #![doc( - html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg", - html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg" + html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", + html_root_url = "https://docs.rs/whirlpool/0.10.0" )] -#![deny(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] -#[cfg(feature = "std")] -extern crate std; - -#[cfg(feature = "asm")] -use whirlpool_asm as utils; +pub use digest::{self, Digest}; #[cfg(not(feature = "asm"))] -mod utils; - -#[cfg(not(feature = "asm"))] -mod consts; - -pub use digest::Digest; +mod compress; -use crate::utils::compress; +#[cfg(feature = "asm")] +use whirlpool_asm as compress; + +use compress::compress; + +use core::{fmt, slice::from_ref}; +use digest::{ + block_buffer::Eager, + core_api::{ + AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, + OutputSizeUser, Reset, UpdateCore, + }, + generic_array::typenum::{Unsigned, U64}, + HashMarker, Output, +}; + +/// Core Whirlpool hasher state. +#[derive(Clone)] +pub struct WhirlpoolCore { + bit_len: [u64; 4], + state: [u64; 8], +} -use block_buffer::{block_padding::Iso7816, BlockBuffer}; -use digest::{consts::U64, generic_array::GenericArray}; -use digest::{BlockInput, FixedOutputDirty, Reset, Update}; +impl HashMarker for WhirlpoolCore {} -type BlockSize = U64; +impl BlockSizeUser for WhirlpoolCore { + type BlockSize = U64; +} -/// Structure representing the state of a Whirlpool computation -#[derive(Clone)] -pub struct Whirlpool { - bit_length: [u8; 32], - buffer: BlockBuffer, - #[cfg(not(feature = "asm"))] - hash: [u64; 8], - #[cfg(feature = "asm")] - hash: [u8; 64], +impl BufferKindUser for WhirlpoolCore { + type BufferKind = Eager; } -impl Default for Whirlpool { - fn default() -> Self { - Self { - bit_length: [0u8; 32], - buffer: BlockBuffer::default(), - #[cfg(not(feature = "asm"))] - hash: [0u64; 8], - #[cfg(feature = "asm")] - hash: [0u8; 64], - } - } +impl OutputSizeUser for WhirlpoolCore { + type OutputSize = U64; } -fn convert(block: &GenericArray) -> &[u8; 64] { - #[allow(unsafe_code)] - unsafe { - &*(block.as_ptr() as *const [u8; 64]) +impl UpdateCore for WhirlpoolCore { + #[inline] + fn update_blocks(&mut self, blocks: &[Block]) { + let block_bits = 8 * BLOCK_SIZE as u64; + self.update_len(block_bits * (blocks.len() as u64)); + compress(&mut self.state, convert(blocks)); } } -impl Whirlpool { - #![cfg_attr( - feature = "cargo-clippy", - allow(clippy::identity_op, clippy::double_parens) - )] - fn update_len(&mut self, len: u64) { - let len_bits = [ - (len >> (56 + 5)) as u8, - ((len >> (48 + 5)) & 0xff) as u8, - ((len >> (40 + 5)) & 0xff) as u8, - ((len >> (32 + 5)) & 0xff) as u8, - ((len >> (24 + 5)) & 0xff) as u8, - ((len >> (16 + 5)) & 0xff) as u8, - ((len >> (8 + 5)) & 0xff) as u8, - ((len >> (0 + 5)) & 0xff) as u8, - ((len << 3) & 0xff) as u8, - ]; - - let mut carry = false; - for i in 0..32 { - let mut x = u16::from(self.bit_length[self.bit_length.len() - i - 1]); - - if i < len_bits.len() { - x += u16::from(len_bits[len_bits.len() - i - 1]); - } else if !carry { - break; - } - - if carry { - x += 1; - } - - carry = x > 0xff; - let pos = self.bit_length.len() - i - 1; - self.bit_length[pos] = (x & 0xff) as u8; - } - } +impl FixedOutputCore for WhirlpoolCore { + #[inline] + fn finalize_fixed_core(&mut self, buffer: &mut Buffer, out: &mut Output) { + let pos = buffer.get_pos(); + self.update_len(8 * pos as u64); - fn finalize_inner(&mut self) { - // padding - let hash = &mut self.hash; - let pos = self.buffer.position(); - let buf = self - .buffer - .pad_with::() - .expect("we never use input_lazy"); - - if pos + 1 > self.bit_length.len() { - compress(hash, convert(buf)); - buf[..=pos].iter_mut().for_each(|b| *b = 0); + let mut buf = [0u8; 4 * 8]; + for (chunk, v) in buf.chunks_exact_mut(8).zip(self.bit_len.iter()) { + chunk.copy_from_slice(&v.to_be_bytes()); } - buf[32..].copy_from_slice(&self.bit_length); - compress(hash, convert(buf)); + let mut state = self.state; + buffer.digest_pad(0x80, &buf, |block| { + compress(&mut state, convert(from_ref(block))) + }); + + for (chunk, v) in out.chunks_exact_mut(8).zip(state.iter()) { + chunk.copy_from_slice(&v.to_le_bytes()); + } } } -impl BlockInput for Whirlpool { - type BlockSize = BlockSize; +impl WhirlpoolCore { + fn update_len(&mut self, len: u64) { + let mut carry = 0; + adc(&mut self.bit_len[3], len, &mut carry); + adc(&mut self.bit_len[2], 0, &mut carry); + adc(&mut self.bit_len[1], 0, &mut carry); + adc(&mut self.bit_len[0], 0, &mut carry); + } } -impl Update for Whirlpool { - fn update(&mut self, input: impl AsRef<[u8]>) { - let input = input.as_ref(); - self.update_len(input.len() as u64); - let hash = &mut self.hash; - self.buffer - .input_block(input, |b| compress(hash, convert(b))); +impl Default for WhirlpoolCore { + #[inline] + fn default() -> Self { + Self { + bit_len: Default::default(), + state: [0u64; 8], + } } } -impl FixedOutputDirty for Whirlpool { - type OutputSize = U64; - - #[cfg(not(feature = "asm"))] - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - self.finalize_inner(); - for (chunk, v) in out.chunks_exact_mut(8).zip(self.hash.iter()) { - chunk.copy_from_slice(&v.to_be_bytes()); - } +impl Reset for WhirlpoolCore { + #[inline] + fn reset(&mut self) { + *self = Default::default(); } +} - #[cfg(feature = "asm")] - fn finalize_into_dirty(&mut self, out: &mut GenericArray) { - self.finalize_inner(); - out.copy_from_slice(&self.hash) +impl AlgorithmName for WhirlpoolCore { + fn write_alg_name(f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("Whirlpool") } } -impl Reset for Whirlpool { - fn reset(&mut self) { - self.bit_length = [0u8; 32]; - self.buffer.reset(); - for v in self.hash.iter_mut() { - *v = 0; - } +impl fmt::Debug for WhirlpoolCore { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("WhirlpoolCore { ... }") } } -opaque_debug::implement!(Whirlpool); -digest::impl_write!(Whirlpool); +/// Whirlpool hasher state. +pub type Whirlpool = CoreWrapper; + +#[inline(always)] +fn adc(a: &mut u64, b: u64, carry: &mut u64) { + let ret = (*a as u128) + (b as u128) + (*carry as u128); + *a = ret as u64; + *carry = (ret >> 64) as u64; +} + +const BLOCK_SIZE: usize = ::BlockSize::USIZE; + +#[inline(always)] +fn convert(blocks: &[Block]) -> &[[u8; BLOCK_SIZE]] { + // SAFETY: GenericArray and [u8; 64] have + // exactly the same memory layout + let p = blocks.as_ptr() as *const [u8; BLOCK_SIZE]; + unsafe { core::slice::from_raw_parts(p, blocks.len()) } +} diff --git a/whirlpool/src/utils.rs b/whirlpool/src/utils.rs deleted file mode 100644 index 53312ce7f..000000000 --- a/whirlpool/src/utils.rs +++ /dev/null @@ -1,50 +0,0 @@ -use crate::consts::*; -use core::convert::TryInto; - -pub fn compress(hash: &mut [u64; 8], buffer: &[u8; 64]) { - let mut k = [0u64; 8]; - let mut block = [0u64; 8]; - let mut state = [0u64; 8]; - let mut l = [0u64; 8]; - - for (o, chunk) in block.iter_mut().zip(buffer.chunks_exact(8)) { - *o = u64::from_be_bytes(chunk.try_into().unwrap()); - } - k.copy_from_slice(hash); - - for i in 0..8 { - state[i] = block[i] ^ k[i]; - } - - #[allow(clippy::needless_range_loop)] - for r in 1..=R { - for i in 0..8 { - l[i] = C0[(k[(i) % 8] >> 56) as usize] - ^ C1[((k[(7 + i) % 8] >> 48) & 0xff) as usize] - ^ C2[((k[(6 + i) % 8] >> 40) & 0xff) as usize] - ^ C3[((k[(5 + i) % 8] >> 32) & 0xff) as usize] - ^ C4[((k[(4 + i) % 8] >> 24) & 0xff) as usize] - ^ C5[((k[(3 + i) % 8] >> 16) & 0xff) as usize] - ^ C6[((k[(2 + i) % 8] >> 8) & 0xff) as usize] - ^ C7[((k[(1 + i) % 8]) & 0xff) as usize] - ^ if i == 0 { RC[r] } else { 0 }; - } - k = l; - for i in 0..8 { - l[i] = C0[(state[(i) % 8] >> 56) as usize] - ^ C1[((state[(7 + i) % 8] >> 48) & 0xff) as usize] - ^ C2[((state[(6 + i) % 8] >> 40) & 0xff) as usize] - ^ C3[((state[(5 + i) % 8] >> 32) & 0xff) as usize] - ^ C4[((state[(4 + i) % 8] >> 24) & 0xff) as usize] - ^ C5[((state[(3 + i) % 8] >> 16) & 0xff) as usize] - ^ C6[((state[(2 + i) % 8] >> 8) & 0xff) as usize] - ^ C7[((state[(1 + i) % 8]) & 0xff) as usize] - ^ k[i]; - } - state = l; - } - - for i in 0..8 { - hash[i] ^= state[i] ^ block[i]; - } -} diff --git a/whirlpool/tests/data/one_million_a.bin b/whirlpool/tests/data/one_million_a.bin deleted file mode 100644 index a3685d43c180c3b3038166c2227ec393ea5f89b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmV-G0KfkXnE+esSMT)-eDDQU4c}cU1%KFUAivfv?4a??>Pqz=!Bmj#+()l6yDMhH WPx-BkUee|HjTQ?e%H?TY~pf*?Nt diff --git a/whirlpool/tests/data/whirlpool.blb b/whirlpool/tests/data/whirlpool.blb index a82e549b5b106b36fddaf7d456b8d7445e7a15d8..4222b2787d0273459b64556c59b61f740c3a842f 100644 GIT binary patch delta 251 zcmbQny@;EIfuVt6BBuk75CaSV`5_LxA}}sk!2$<9F@yj}%UcH)ro;w@$p(xLY;1{1 z$v|c)ql2JKZfbFHVtT4VN@jX$aS2fLD5C?T$>bU)DJCFCk;#FvW^xjf9f-3K$f=ve ztT>sMSpd>pDVlyw7TYJZf+);n>v*&_Tm(RGN*uhUa{Nsbj-;f5d2Pya6ncEc*Ze diff --git a/whirlpool/tests/lib.rs b/whirlpool/tests/lib.rs deleted file mode 100644 index 286a50e6b..000000000 --- a/whirlpool/tests/lib.rs +++ /dev/null @@ -1,17 +0,0 @@ -#![no_std] - -use digest::dev::{digest_test, one_million_a}; -use digest::new_test; - -new_test!( - whirlpool_main, - "whirlpool", - whirlpool::Whirlpool, - digest_test -); - -#[test] -fn whirlpool_1million_a() { - let output = include_bytes!("data/one_million_a.bin"); - one_million_a::(output); -} diff --git a/whirlpool/tests/mod.rs b/whirlpool/tests/mod.rs new file mode 100644 index 000000000..491348ed0 --- /dev/null +++ b/whirlpool/tests/mod.rs @@ -0,0 +1,19 @@ +use digest::dev::{feed_rand_16mib, fixed_reset_test}; +use hex_literal::hex; +use whirlpool::{Digest, Whirlpool}; + +digest::new_test!(whirlpool_main, "whirlpool", Whirlpool, fixed_reset_test); + +#[test] +#[rustfmt::skip] +fn whirlpool_rand() { + let mut h = Whirlpool::new(); + feed_rand_16mib(&mut h); + assert_eq!( + h.finalize()[..], + hex!(" + 8db0acd78686f8160203b53bfb0c0c1ee2332b856732a311f7de8e4ea4c100cc + dd5267e8b63207e644c96d2ef5cfbb53f2519af1904c48fd2ecf937541998b11 + ")[..] + ); +} From 68e7adffdd8beb37698fa6403004006e48c01f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Wed, 8 Dec 2021 02:16:20 +0300 Subject: [PATCH 182/373] remove .gitattributes --- .gitattributes | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index c04f7ca8d..000000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.rs linguist-language=Rust From e1c22400c756b2c8e2880aa40b056e721cd682bb Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 8 Dec 2021 01:48:09 +0000 Subject: [PATCH 183/373] blake2: expand changelog (#331) --- blake2/CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index c85a8f023..d6678159a 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -8,6 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 and remove dependency on `crypto-mac` ([#217]) +- `Blake2b` and `Blake2s` renamed into `Blake2b512` and `Blake2s256` respectively. + New `Blake2b` and `Blake2s` are generic over output size. `VarBlake2b` and `VarBlake2s` + renamed into `Blake2bVar` and `Blake2sVar` respectively. ([#217]) + +### Removed +- `Blake2b` and `Blake2s` no longer support MAC functionality. ([#217]) + +### Added +- Separate `Blake2bMac` and `Blake2sMac` types generic over output size and `Blake2bMac512` + and `Blake2sMac256` type aliases around them. ([#217]) [#217]: https://github.com/RustCrypto/hashes/pull/217 From c58f88ac88d4718120a2cd05e0b96533041f2691 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 14 Dec 2021 20:24:16 +0100 Subject: [PATCH 184/373] README: Fix chained example wrt digest v0.10 (#336) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c7e0b85e6..48fab8675 100644 --- a/README.md +++ b/README.md @@ -97,14 +97,14 @@ println!("Result: {:x}", hash); In this example `hash` has type `GenericArray`, which is a generic alternative to `[u8; 32]` defined in the [`generic-array`] crate. -Alternatively, you can use chained approach, which is equivalent to the previous example: +Alternatively, you can use a chained approach, which is equivalent to the previous example: ```rust use sha2::{Sha256, Digest}; let hash = Sha256::new() - .chain(b"Hello world!") - .chain("String data") + .chain_update(b"Hello world!") + .chain_update("String data") .finalize(); println!("Result: {:x}", hash); ``` From 894f62f51cf40289eb3518c378db693d2ae7716c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Dec 2021 16:02:02 +0000 Subject: [PATCH 185/373] build(deps): bump digest from 0.10.0 to 0.10.1 (#337) --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 299f76dcf..eb237c490 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -48,18 +48,18 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567569e659735adb39ff2d4c20600f7cd78be5471f8c58ab162bce3c03fdbc5f" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" dependencies = [ "generic-array", ] [[package]] name = "digest" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8549e6bfdecd113b7e221fe60b433087f6957387a20f8118ebca9b12af19143d" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" dependencies = [ "blobby", "block-buffer", From cbd684927c2b1dbace19ccd04157f927a92c12c2 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 16 Dec 2021 00:24:48 +0100 Subject: [PATCH 186/373] Sha3 refactor unsafe (#338) --- sha3/src/lib.rs | 2 +- sha3/src/macros.rs | 10 ++-------- sha3/src/state.rs | 38 ++++++-------------------------------- 3 files changed, 9 insertions(+), 41 deletions(-) diff --git a/sha3/src/lib.rs b/sha3/src/lib.rs index b6dcee0b2..e584435cc 100644 --- a/sha3/src/lib.rs +++ b/sha3/src/lib.rs @@ -62,7 +62,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/sha3/0.10.0" )] -#![deny(unsafe_code)] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] pub use digest::{self, Digest}; diff --git a/sha3/src/macros.rs b/sha3/src/macros.rs index 1ec96367b..84d58329b 100644 --- a/sha3/src/macros.rs +++ b/sha3/src/macros.rs @@ -46,10 +46,7 @@ macro_rules! impl_sha3 { self.state.absorb_block(block); - let n = out.len(); - self.state.as_bytes(|state| { - out.copy_from_slice(&state[..n]); - }); + self.state.as_bytes(out); } } @@ -183,10 +180,7 @@ macro_rules! impl_shake { #[inline] fn read_block(&mut self) -> Block { let mut block = Block::::default(); - let n = block.len(); - self.state.as_bytes(|state| { - block.copy_from_slice(&state[..n]); - }); + self.state.as_bytes(&mut block); self.state.apply_f(); block } diff --git a/sha3/src/state.rs b/sha3/src/state.rs index a2494e76a..282515434 100644 --- a/sha3/src/state.rs +++ b/sha3/src/state.rs @@ -12,44 +12,18 @@ impl Sha3State { pub(crate) fn absorb_block(&mut self, block: &[u8]) { debug_assert_eq!(block.len() % 8, 0); - if cfg!(target_endian = "little") { - #[allow(unsafe_code)] - let state = unsafe { &mut *(self.state.as_mut_ptr() as *mut [u8; 8 * PLEN]) }; - for (d, i) in state.iter_mut().zip(block) { - *d ^= *i; - } - } else if cfg!(target_endian = "big") { - let n = block.len() / 8; - let mut buf = [0u64; 21]; - let buf = &mut buf[..n]; - for (o, chunk) in buf.iter_mut().zip(block.chunks_exact(8)) { - *o = u64::from_le_bytes(chunk.try_into().unwrap()); - } - for (d, i) in self.state[..n].iter_mut().zip(buf) { - *d ^= *i; - } + for (b, s) in block.chunks_exact(8).zip(self.state.iter_mut()) { + *s ^= u64::from_le_bytes(b.try_into().unwrap()); } keccak::f1600(&mut self.state); } #[inline(always)] - pub(crate) fn as_bytes(&self, f: F) { - let mut data_copy; - let data_ref: &[u8; 8 * PLEN] = if cfg!(target_endian = "little") { - #[allow(unsafe_code)] - unsafe { - &*(self.state.as_ptr() as *const [u8; 8 * PLEN]) - } - } else { - data_copy = [0u8; 8 * PLEN]; - - for (chunk, v) in data_copy.chunks_exact_mut(8).zip(self.state.iter()) { - chunk.copy_from_slice(&v.to_le_bytes()); - } - &data_copy - }; - f(data_ref); + pub(crate) fn as_bytes(&self, out: &mut [u8]) { + for (o, s) in out.chunks_mut(8).zip(self.state.iter()) { + o.copy_from_slice(&s.to_le_bytes()[..o.len()]); + } } #[inline(always)] From e479909e289d125ecc83c433acc88860f8ee9557 Mon Sep 17 00:00:00 2001 From: Alexander Wagner Date: Sun, 19 Dec 2021 20:24:06 +0100 Subject: [PATCH 187/373] Add cross tests (#339) --- .github/actions/cross-tests/action.yml | 35 ++++++++++ .github/workflows/sha1.yml | 90 ++++++++++++++++---------- .github/workflows/sha2.yml | 68 +++++++++++-------- .github/workflows/sha3.yml | 51 +++++++++++++-- 4 files changed, 178 insertions(+), 66 deletions(-) create mode 100644 .github/actions/cross-tests/action.yml diff --git a/.github/actions/cross-tests/action.yml b/.github/actions/cross-tests/action.yml new file mode 100644 index 000000000..0f81b0404 --- /dev/null +++ b/.github/actions/cross-tests/action.yml @@ -0,0 +1,35 @@ +name: "cross-tests" + +inputs: + rust: + required: true + package: + required: true + target: + required: true + features: + required: true + +runs: + using: "composite" + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ inputs.rust }} + target: ${{ inputs.target }} + override: true + - name: Install precompiled cross + run: | + export URL=$(curl -s https://api.github.com/repos/rust-embedded/cross/releases/latest | \ + jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') + wget -O /tmp/binaries.tar.gz $URL + tar -C /tmp -xzf /tmp/binaries.tar.gz + mv /tmp/cross ~/.cargo/bin + shell: bash + - run: | + cd ${{ inputs.package }} + cross test --target ${{ inputs.target }} --no-default-features \ + --features ${{ inputs.features }} + shell: bash diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 2b5960946..6efb8e4e7 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -3,6 +3,7 @@ name: sha1 on: pull_request: paths: + - ".github/workflows/sha1.yml" - "sha1/**" - "Cargo.*" push: @@ -13,17 +14,28 @@ defaults: working-directory: sha1 env: - CARGO_INCREMENTAL: 0 + MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" + CARGO_INCREMENTAL: 0 jobs: + set-msrv: + runs-on: ubuntu-latest + outputs: + msrv: ${{ steps.msrv.outputs.msrv }} + steps: + - uses: actions/checkout@v2 + - id: msrv + run: echo "::set-output name=msrv::$(echo $MSRV)" + # Builds for no_std platforms build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi @@ -40,6 +52,7 @@ jobs: # Linux tests linux: + needs: set-msrv strategy: matrix: include: @@ -47,7 +60,7 @@ jobs: # *** NOTE: Currently broken with `asm` feature enabled! See: # https://github.com/RustCrypto/hashes/issues/251 #- target: i686-unknown-linux-gnu - # rust: 1.41.0 # MSRV + # rust: ${{needs.set-msrv.outputs.msrv}} # deps: sudo apt update && sudo apt install gcc-multilib #- target: i686-unknown-linux-gnu # rust: stable @@ -55,13 +68,13 @@ jobs: # 64-bit Linux/x86_64 - target: x86_64-unknown-linux-gnu - rust: 1.41.0 # MSRV + rust: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-unknown-linux-gnu rust: stable runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -76,15 +89,16 @@ jobs: # macOS tests macos: + needs: set-msrv strategy: matrix: toolchain: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable runs-on: macos-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -98,19 +112,20 @@ jobs: # Windows tests windows: + needs: set-msrv strategy: matrix: include: # 64-bit Windows (GNU) # TODO(tarcieri): try re-enabling this when we bump MSRV #- target: x86_64-pc-windows-gnu - # toolchain: 1.41.0 # MSRV + # toolchain: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-pc-windows-gnu toolchain: stable runs-on: windows-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -121,28 +136,35 @@ jobs: - run: cargo test --target ${{ matrix.target }} # Cross-compiled tests - # *** NOTE: Currently broken with `asm` feature enabled! See: - # https://github.com/RustCrypto/hashes/issues/251 - # - # cross: - # strategy: - # matrix: - # include: - # # ARM64 - # - target: aarch64-unknown-linux-gnu - # rust: 1.41.0 # MSRV - # - target: aarch64-unknown-linux-gnu - # rust: stable - # - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v1 - # - uses: actions-rs/toolchain@v1 - # with: - # profile: minimal - # toolchain: ${{ matrix.rust }} - # target: ${{ matrix.target }} - # override: true - # - run: cargo install cross - # - run: cross test --target ${{ matrix.target }} - # - run: cross test --target ${{ matrix.target }} --features asm + cross: + needs: set-msrv + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - aarch64-unknown-linux-gnu + - mips-unknown-linux-gnu + features: + - default + # **** NOTE: Currently broken with `asm` feature enabled! See: + # https://github.com/RustCrypto/hashes/issues/251 + # include: + # - rust: stable + # target: aarch64-unknown-linux-gnu + # features: asm + + runs-on: ubuntu-latest + defaults: + run: + # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml + working-directory: . + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/cross-tests + with: + rust: ${{ matrix.rust }} + package: ${{ github.workflow }} + target: ${{ matrix.target }} + features: ${{ matrix.features }} diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index 6b2227292..b8b78796e 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -3,6 +3,7 @@ name: sha2 on: pull_request: paths: + - ".github/workflows/sha2.yml" - "sha2/**" - "Cargo.*" push: @@ -13,23 +14,34 @@ defaults: working-directory: sha2 env: - CARGO_INCREMENTAL: 0 + MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" + CARGO_INCREMENTAL: 0 jobs: + set-msrv: + runs-on: ubuntu-latest + outputs: + msrv: ${{ steps.msrv.outputs.msrv }} + steps: + - uses: actions/checkout@v2 + - id: msrv + run: echo "::set-output name=msrv::$(echo $MSRV)" + # Builds for no_std platforms build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -40,12 +52,13 @@ jobs: # Linux tests linux: + needs: set-msrv strategy: matrix: include: # 32-bit Linux/x86 - target: i686-unknown-linux-gnu - rust: 1.41.0 # MSRV + rust: ${{needs.set-msrv.outputs.msrv}} deps: sudo apt update && sudo apt install gcc-multilib - target: i686-unknown-linux-gnu rust: stable @@ -53,13 +66,13 @@ jobs: # 64-bit Linux/x86_64 - target: x86_64-unknown-linux-gnu - rust: 1.41.0 # MSRV + rust: ${{needs.set-msrv.outputs.msrv}} - target: x86_64-unknown-linux-gnu rust: stable runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -74,15 +87,16 @@ jobs: # macOS tests macos: + needs: set-msrv strategy: matrix: toolchain: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable runs-on: macos-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -95,6 +109,7 @@ jobs: # Windows tests windows: + needs: set-msrv strategy: matrix: include: @@ -107,7 +122,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -119,14 +134,21 @@ jobs: # Cross-compiled tests cross: + needs: set-msrv strategy: matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - aarch64-unknown-linux-gnu + - mips-unknown-linux-gnu + features: + - default include: - # ARM64 - #- target: aarch64-unknown-linux-gnu - # rust: 1.41.0 # MSRV - - target: aarch64-unknown-linux-gnu - rust: stable + - rust: stable + target: aarch64-unknown-linux-gnu + features: asm runs-on: ubuntu-latest defaults: @@ -134,18 +156,10 @@ jobs: # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml working-directory: . steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 + - uses: actions/checkout@v2 + - uses: ./.github/actions/cross-tests with: - profile: minimal - toolchain: ${{ matrix.rust }} + rust: ${{ matrix.rust }} + package: ${{ github.workflow }} target: ${{ matrix.target }} - override: true - - name: Install precompiled cross - run: | - export URL=$(curl -s https://api.github.com/repos/rust-embedded/cross/releases/latest | jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') - wget -O /tmp/binaries.tar.gz $URL - tar -C /tmp -xzf /tmp/binaries.tar.gz - mv /tmp/cross ~/.cargo/bin - - run: cross test --package sha2 --target ${{ matrix.target }} - - run: cross test --package sha2 --target ${{ matrix.target }} --features asm + features: ${{ matrix.features }} diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index 6e9c9dd1d..b90b5d953 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -3,6 +3,7 @@ name: sha3 on: pull_request: paths: + - ".github/workflows/sha3.yml" - "sha3/**" - "Cargo.*" push: @@ -13,22 +14,33 @@ defaults: working-directory: sha3 env: - CARGO_INCREMENTAL: 0 + MSRV: 1.41.0 RUSTFLAGS: "-Dwarnings" + CARGO_INCREMENTAL: 0 jobs: + set-msrv: + runs-on: ubuntu-latest + outputs: + msrv: ${{ steps.msrv.outputs.msrv }} + steps: + - uses: actions/checkout@v2 + - id: msrv + run: echo "::set-output name=msrv::$(echo $MSRV)" + build: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable target: - thumbv7em-none-eabi - wasm32-unknown-unknown steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -38,14 +50,15 @@ jobs: - run: cargo build --no-default-features --target ${{ matrix.target }} test: + needs: set-msrv runs-on: ubuntu-latest strategy: matrix: rust: - - 1.41.0 # MSRV + - ${{needs.set-msrv.outputs.msrv}} - stable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -55,3 +68,31 @@ jobs: - run: cargo test --no-default-features - run: cargo test - run: cargo test --all-features + + # Cross-compiled tests + cross: + needs: set-msrv + strategy: + matrix: + rust: + - ${{needs.set-msrv.outputs.msrv}} + - stable + target: + - aarch64-unknown-linux-gnu + - mips-unknown-linux-gnu + features: + - default + + runs-on: ubuntu-latest + defaults: + run: + # Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml + working-directory: . + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/cross-tests + with: + rust: ${{ matrix.rust }} + package: ${{ github.workflow }} + target: ${{ matrix.target }} + features: ${{ matrix.features }} From 162f73ecc6dbdcda34068fdcb34eb7bec3ce83ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Wed, 29 Dec 2021 01:42:10 +0300 Subject: [PATCH 188/373] tiger: fix v0.2.0 release date in changelog --- tiger/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiger/CHANGELOG.md b/tiger/CHANGELOG.md index 5f690082b..37b0cb683 100644 --- a/tiger/CHANGELOG.md +++ b/tiger/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.2.0 (2021-12-07) +## 0.2.0 (2021-12-28) ### Added - `Tiger2` variant ([#217]) From b505bbaad57b5a8663cf9231c232e152ae03427a Mon Sep 17 00:00:00 2001 From: Tom Milligan Date: Wed, 5 Jan 2022 18:19:20 +0000 Subject: [PATCH 189/373] blake2: fix reset feature and test in ci (#342) --- .github/workflows/blake2.yml | 17 +++++++++-------- blake2/CHANGELOG.md | 2 ++ blake2/src/macros.rs | 4 +++- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/blake2.yml b/.github/workflows/blake2.yml index 51f49050a..b0eb0eeae 100644 --- a/.github/workflows/blake2.yml +++ b/.github/workflows/blake2.yml @@ -45,14 +45,15 @@ jobs: - 1.41.0 # MSRV - stable steps: - - uses: actions/checkout@v1 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - - run: cargo test --no-default-features - - run: cargo test + - uses: actions/checkout@v1 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - run: cargo test --no-default-features + - run: cargo test + - run: cargo test --features reset simd: runs-on: ubuntu-latest steps: diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index d6678159a..3e36c9a58 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `Blake2b` and `Blake2s` renamed into `Blake2b512` and `Blake2s256` respectively. New `Blake2b` and `Blake2s` are generic over output size. `VarBlake2b` and `VarBlake2s` renamed into `Blake2bVar` and `Blake2sVar` respectively. ([#217]) +- Hasher reset functionality moved behind a new non-default feature, `reset`. + This must be enabled to use the methods `reset`, `finalize_reset` and `finalize_into_reset`. ### Removed - `Blake2b` and `Blake2s` no longer support MAC functionality. ([#217]) diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index 393c1fe1f..ece46e718 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -404,7 +404,9 @@ macro_rules! blake2_mac_impl { key_block, .. } = self; - core.finalize_variable_core(buffer, out); + let mut full_res = Default::default(); + core.finalize_variable_core(buffer, &mut full_res); + out.copy_from_slice(&full_res[..OutSize::USIZE]); core.reset(); *buffer = LazyBuffer::new(key_block); } From c478cbb4fce905362d7b3e4b5d079efb5b3bbbf8 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Wed, 5 Jan 2022 18:46:45 +0000 Subject: [PATCH 190/373] blake2: release v0.10.1 (#343) --- Cargo.lock | 18 +++++++++--------- blake2/CHANGELOG.md | 6 ++++++ blake2/Cargo.toml | 2 +- blake2/src/lib.rs | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eb237c490..8d96adb46 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.0" +version = "0.10.1" dependencies = [ "digest", "hex-literal", @@ -79,9 +79,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" dependencies = [ "typenum", "version_check", @@ -138,9 +138,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.109" +version = "0.2.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" +checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" [[package]] name = "md-5" @@ -279,15 +279,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "whirlpool" diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 3e36c9a58..4276105f2 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.1 (2022-01-05) +## Fixed +- Compilation error with enabled `reset` feature. ([#342]) + +[#342]: https://github.com/RustCrypto/hashes/pull/342 + ## 0.10.0 (2021-12-07) ### Changed - Update to `digest` v0.10 and remove dependency on `crypto-mac` ([#217]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 2757eff0f..99d589446 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blake2" # Also update html_root_url in lib.rs when bumping this -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index f4925b033..8a28109bc 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -72,7 +72,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/blake2/0.10.0" + html_root_url = "https://docs.rs/blake2/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] From 4c1d9dab614af86ba4f3f3f1e23d0444684e3e6b Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 6 Jan 2022 19:27:43 +0000 Subject: [PATCH 191/373] sha2: fix AVX backend (#345) --- Cargo.lock | 2 +- sha2/CHANGELOG.md | 15 +++++++++-- sha2/Cargo.toml | 2 +- sha2/src/lib.rs | 2 +- sha2/src/sha512/x86.rs | 61 +++++++++++++++++++++++------------------- 5 files changed, 49 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d96adb46..d15f22c8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -212,7 +212,7 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.0" +version = "0.10.1" dependencies = [ "cfg-if", "cpufeatures", diff --git a/sha2/CHANGELOG.md b/sha2/CHANGELOG.md index b59a388bd..1e52559e2 100644 --- a/sha2/CHANGELOG.md +++ b/sha2/CHANGELOG.md @@ -5,14 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.0 (2021-12-07) +## 0.10.1 (2022-01-06) +### Fixed +- Bug in the AVX2 backend ([#345]) + +## 0.10.0 (2021-12-07) [YANKED] ### Changed - Update to `digest` v0.10 ([#217]) - Rename `Sha512Trunc224` and `Sha512Trunc256` to `Sha512_224` and `Sha512_256` respectively. ([#217]) [#217]: https://github.com/RustCrypto/hashes/pull/217 -## 0.9.8 (2021-09-09) +## 0.9.9 (2022-01-06) +### Fixed +- Backport [#345] bug fix for the AVX2 backend ([#346]) + +[#345]: https://github.com/RustCrypto/hashes/pull/345 +[#346]: https://github.com/RustCrypto/hashes/pull/346 + +## 0.9.8 (2021-09-09) [YANKED] ### Fixed - Bug in the AVX2 backend ([#314]) diff --git a/sha2/Cargo.toml b/sha2/Cargo.toml index 5a9984032..8a0ed1613 100644 --- a/sha2/Cargo.toml +++ b/sha2/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sha2" -version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +version = "0.10.1" # Also update html_root_url in lib.rs when bumping this description = """ Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512. diff --git a/sha2/src/lib.rs b/sha2/src/lib.rs index 651bc6065..3bc09f2d3 100644 --- a/sha2/src/lib.rs +++ b/sha2/src/lib.rs @@ -48,7 +48,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha2/0.10.0" + html_root_url = "https://docs.rs/sha2/0.10.1" )] #![warn(missing_docs, rust_2018_idioms)] diff --git a/sha2/src/sha512/x86.rs b/sha2/src/sha512/x86.rs index 5f555c216..bb7904088 100644 --- a/sha2/src/sha512/x86.rs +++ b/sha2/src/sha512/x86.rs @@ -34,8 +34,8 @@ unsafe fn sha512_compress_x86_64_avx2(state: &mut [u64; 8], blocks: &[[u8; 128]] start_block += 1; } - let mut ms: MsgSchedule = Default::default(); - let mut t2: RoundStates = [0u64; SHA512_ROUNDS_NUM]; + let mut ms: MsgSchedule = [_mm_setzero_si128(); 8]; + let mut t2: RoundStates = [_mm_setzero_si128(); 40]; let mut x = [_mm256_setzero_si256(); 8]; for i in (start_block..blocks.len()).step_by(2) { @@ -56,7 +56,7 @@ unsafe fn sha512_compress_x86_64_avx2(state: &mut [u64; 8], blocks: &[[u8; 128]] #[inline(always)] unsafe fn sha512_compress_x86_64_avx(state: &mut [u64; 8], block: &[u8; 128]) { - let mut ms = Default::default(); + let mut ms = [_mm_setzero_si128(); 8]; let mut x = [_mm_setzero_si128(); 8]; // Reduced to single iteration @@ -82,7 +82,7 @@ unsafe fn load_data_avx(x: &mut [__m128i; 8], ms: &mut MsgSchedule, data: *const _mm_loadu_si128(&K64[2 * $i] as *const u64 as *const _), ); - _mm_store_si128(&mut ms[2 * $i] as *mut u64 as *mut _, y); + ms[$i] = y; )*}; } @@ -114,14 +114,8 @@ unsafe fn load_data_avx2( let t = _mm_loadu_si128(K64.as_ptr().add($i * 2) as *const u64 as *const _); let y = _mm256_add_epi64(x[$i], _mm256_set_m128i(t, t)); - _mm_store_si128( - &mut ms[2 * $i] as *mut u64 as *mut _, - _mm256_extracti128_si256(y, 0), - ); - _mm_store_si128( - &mut t2[2 * $i] as *mut u64 as *mut _, - _mm256_extracti128_si256(y, 1), - ); + ms[$i] = _mm256_extracti128_si256(y, 0); + t2[$i] = _mm256_extracti128_si256(y, 1); )*}; } @@ -137,10 +131,13 @@ unsafe fn rounds_0_63_avx(current_state: &mut State, x: &mut [__m128i; 8], ms: & let k64 = _mm_loadu_si128(&K64[k64_idx] as *const u64 as *const _); let y = sha512_update_x_avx(x, k64); - sha_round(current_state, ms[2 * j]); - sha_round(current_state, ms[2 * j + 1]); + { + let ms = cast_ms(ms); + sha_round(current_state, ms[2 * j]); + sha_round(current_state, ms[2 * j + 1]); + } - _mm_store_si128(&mut ms[2 * j] as *const u64 as *mut _, y); + ms[j] = y; k64_idx += 2; } } @@ -160,17 +157,14 @@ unsafe fn rounds_0_63_avx2( let t = _mm_loadu_si128(K64.as_ptr().add(k64x4_idx) as *const u64 as *const _); let y = sha512_update_x_avx2(x, _mm256_set_m128i(t, t)); - sha_round(current_state, ms[2 * j]); - sha_round(current_state, ms[2 * j + 1]); + { + let ms = cast_ms(ms); + sha_round(current_state, ms[2 * j]); + sha_round(current_state, ms[2 * j + 1]); + } - _mm_store_si128( - &mut ms[2 * j] as *mut u64 as *mut _, - _mm256_extracti128_si256(y, 0), - ); - _mm_store_si128( - &mut t2[(16 * i) + 2 * j] as *mut u64 as *mut _, - _mm256_extracti128_si256(y, 1), - ); + ms[j] = _mm256_extracti128_si256(y, 0); + t2[8 * i + j] = _mm256_extracti128_si256(y, 1); k64x4_idx += 2; } @@ -179,6 +173,7 @@ unsafe fn rounds_0_63_avx2( #[inline(always)] fn rounds_64_79(current_state: &mut State, ms: &MsgSchedule) { + let ms = cast_ms(ms); for i in 64..80 { sha_round(current_state, ms[i & 0xf]); } @@ -186,7 +181,7 @@ fn rounds_64_79(current_state: &mut State, ms: &MsgSchedule) { #[inline(always)] fn process_second_block(current_state: &mut State, t2: &RoundStates) { - for t2 in t2.iter() { + for t2 in cast_rs(t2).iter() { sha_round(current_state, *t2); } } @@ -341,9 +336,19 @@ fn_sha512_update_x!(sha512_update_x_avx2, __m256i, { XOR = _mm256_xor_si256, }); +#[inline(always)] +fn cast_ms(ms: &MsgSchedule) -> &[u64; SHA512_BLOCK_WORDS_NUM] { + unsafe { &*(ms as *const MsgSchedule as *const _) } +} + +#[inline(always)] +fn cast_rs(rs: &RoundStates) -> &[u64; SHA512_ROUNDS_NUM] { + unsafe { &*(rs as *const RoundStates as *const _) } +} + type State = [u64; SHA512_HASH_WORDS_NUM]; -type MsgSchedule = [u64; SHA512_BLOCK_WORDS_NUM]; -type RoundStates = [u64; SHA512_ROUNDS_NUM]; +type MsgSchedule = [__m128i; SHA512_BLOCK_WORDS_NUM / 2]; +type RoundStates = [__m128i; SHA512_ROUNDS_NUM / 2]; const SHA512_BLOCK_BYTE_LEN: usize = 128; const SHA512_ROUNDS_NUM: usize = 80; From 4e5ca4cc5523e8b044cdcdf1cd52e08d564ffc0f Mon Sep 17 00:00:00 2001 From: VersBinarii Date: Sun, 9 Jan 2022 03:49:54 +0100 Subject: [PATCH 192/373] Add required 'static lifetime bound (#347) --- blake2/src/macros.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index ece46e718..ef3e02997 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -358,7 +358,7 @@ macro_rules! blake2_mac_impl { impl OutputSizeUser for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArrayLength + IsLessOrEqual<$max_size> + 'static, LeEq: NonZero, { type OutputSize = OutSize; @@ -366,7 +366,7 @@ macro_rules! blake2_mac_impl { impl FixedOutput for $name where - OutSize: ArrayLength + IsLessOrEqual<$max_size>, + OutSize: ArrayLength + IsLessOrEqual<$max_size> + 'static, LeEq: NonZero, { #[inline] From b13d7726f3da6340cd628dd63001dc82ed34d455 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Sun, 9 Jan 2022 04:06:47 +0000 Subject: [PATCH 193/373] blake2: fix KeySize (#349) --- Cargo.lock | 2 +- blake2/CHANGELOG.md | 8 +++++++ blake2/Cargo.toml | 4 ++-- blake2/src/lib.rs | 2 +- blake2/src/macros.rs | 51 +++++++++++++++++++++++++------------------- 5 files changed, 41 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d15f22c8a..a447f4c4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "blake2" -version = "0.10.1" +version = "0.10.2" dependencies = [ "digest", "hex-literal", diff --git a/blake2/CHANGELOG.md b/blake2/CHANGELOG.md index 4276105f2..abd63a81b 100644 --- a/blake2/CHANGELOG.md +++ b/blake2/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.10.2 (2022-01-09) +## Fixed +- Rare compilation error by adding `'static` bound on `OutSize`. ([#347]) +- Values of `KeySize` associated type. ([#349]) + +[#347]: https://github.com/RustCrypto/hashes/pull/347 +[#349]: https://github.com/RustCrypto/hashes/pull/349 + ## 0.10.1 (2022-01-05) ## Fixed - Compilation error with enabled `reset` feature. ([#342]) diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index 99d589446..a49b7a54d 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "blake2" # Also update html_root_url in lib.rs when bumping this -version = "0.10.1" # Also update html_root_url in lib.rs when bumping this +name = "blake2" +version = "0.10.2" # Also update html_root_url in lib.rs when bumping this description = "BLAKE2 hash functions" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index 8a28109bc..e92bc5cea 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -72,7 +72,7 @@ #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/blake2/0.10.1" + html_root_url = "https://docs.rs/blake2/0.10.2" )] #![warn(missing_docs, rust_2018_idioms)] #![cfg_attr(feature = "simd", feature(platform_intrinsics, repr_simd))] diff --git a/blake2/src/macros.rs b/blake2/src/macros.rs index ef3e02997..3c1301c5c 100644 --- a/blake2/src/macros.rs +++ b/blake2/src/macros.rs @@ -265,7 +265,7 @@ macro_rules! blake2_mac_impl { core: $hash, buffer: LazyBuffer<<$hash as BlockSizeUser>::BlockSize>, #[cfg(feature = "reset")] - key_block: Block<$hash>, + key_block: Key, _out: PhantomData, } @@ -291,14 +291,17 @@ macro_rules! blake2_mac_impl { if kl > bs || salt.len() > qbs || persona.len() > qbs { return Err(InvalidLength); } - let mut key_block = Block::<$hash>::default(); - key_block[..kl].copy_from_slice(key); - let buffer = LazyBuffer::new(&key_block); + let mut padded_key = Block::<$hash>::default(); + padded_key[..kl].copy_from_slice(key); Ok(Self { core: <$hash>::new_with_params(salt, persona, key.len(), OutSize::USIZE), - buffer, + buffer: LazyBuffer::new(&padded_key), #[cfg(feature = "reset")] - key_block, + key_block: { + let mut t = Key::::default(); + t[..kl].copy_from_slice(key); + t + }, _out: PhantomData, }) } @@ -309,7 +312,7 @@ macro_rules! blake2_mac_impl { OutSize: ArrayLength + IsLessOrEqual<$max_size>, LeEq: NonZero, { - type KeySize = <$hash as BlockSizeUser>::BlockSize; + type KeySize = $max_size; } impl KeyInit for $name @@ -318,9 +321,12 @@ macro_rules! blake2_mac_impl { LeEq: NonZero, { fn new(key: &Key) -> Self { + let kl = key.len(); + let mut padded_key = Block::<$hash>::default(); + padded_key[..kl].copy_from_slice(key); Self { core: <$hash>::new_with_params(key, &[], key.len(), OutSize::USIZE), - buffer: LazyBuffer::new(key), + buffer: LazyBuffer::new(&padded_key), #[cfg(feature = "reset")] key_block: key.clone(), _out: PhantomData, @@ -329,16 +335,20 @@ macro_rules! blake2_mac_impl { fn new_from_slice(key: &[u8]) -> Result { let kl = key.len(); - if kl > <$hash as BlockSizeUser>::BlockSize::USIZE { + if kl > ::KeySize::USIZE { return Err(InvalidLength); } - let mut key_block = Block::<$hash>::default(); - key_block[..kl].copy_from_slice(key); + let mut padded_key = Block::<$hash>::default(); + padded_key[..kl].copy_from_slice(key); Ok(Self { core: <$hash>::new_with_params(&[], &[], key.len(), OutSize::USIZE), - buffer: LazyBuffer::new(&key_block), + buffer: LazyBuffer::new(&padded_key), #[cfg(feature = "reset")] - key_block, + key_block: { + let mut t = Key::::default(); + t[..kl].copy_from_slice(key); + t + }, _out: PhantomData, }) } @@ -386,7 +396,10 @@ macro_rules! blake2_mac_impl { { fn reset(&mut self) { self.core.reset(); - self.buffer = LazyBuffer::new(&self.key_block); + let kl = self.key_block.len(); + let mut padded_key = Block::<$hash>::default(); + padded_key[..kl].copy_from_slice(&self.key_block); + self.buffer = LazyBuffer::new(&padded_key); } } @@ -398,17 +411,11 @@ macro_rules! blake2_mac_impl { { #[inline] fn finalize_into_reset(&mut self, out: &mut Output) { - let Self { - core, - buffer, - key_block, - .. - } = self; + let Self { core, buffer, .. } = self; let mut full_res = Default::default(); core.finalize_variable_core(buffer, &mut full_res); out.copy_from_slice(&full_res[..OutSize::USIZE]); - core.reset(); - *buffer = LazyBuffer::new(key_block); + self.reset(); } } From 32029ac14632ba08618aaecef508cb5ffcfd42c4 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 17 Jan 2022 15:00:04 +0000 Subject: [PATCH 194/373] sha1: switch name from sha-1 to sha1 (#350) --- Cargo.lock | 2 +- README.md | 48 ++++++++++++++--------- sha1/CHANGELOG.md | 99 ++--------------------------------------------- sha1/Cargo.toml | 8 ++-- sha1/src/lib.rs | 9 ++++- 5 files changed, 45 insertions(+), 121 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a447f4c4c..67e37fead 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ dependencies = [ ] [[package]] -name = "sha-1" +name = "sha1" version = "0.10.0" dependencies = [ "cfg-if", diff --git a/README.md b/README.md index 48fab8675..f647bab9c 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [MD5] | [`md-5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -| [SHA-1] | [`sha-1`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/sha-1.svg)](https://crates.io/crates/sha-1) | [![Documentation](https://docs.rs/sha-1/badge.svg)](https://docs.rs/sha-1) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [SHA-3] (Keccak) | [`sha3`] | [![crates.io](https://img.shields.io/crates/v/sha3.svg)](https://crates.io/crates/sha3) | [![Documentation](https://docs.rs/sha3/badge.svg)](https://docs.rs/sha3) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [SHABAL] | [`shabal`] | [![crates.io](https://img.shields.io/crates/v/shabal.svg)](https://crates.io/crates/shabal) | [![Documentation](https://docs.rs/shabal/badge.svg)](https://docs.rs/shabal) | ![MSRV 1.41][msrv-1.41] | :green_heart: | @@ -31,7 +31,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [Tiger] | [`tiger`] | [![crates.io](https://img.shields.io/crates/v/tiger.svg)](https://crates.io/crates/tiger) | [![Documentation](https://docs.rs/tiger/badge.svg)](https://docs.rs/tiger) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [Whirlpool] | [`whirlpool`] | [![crates.io](https://img.shields.io/crates/v/whirlpool.svg)](https://crates.io/crates/whirlpool) | [![Documentation](https://docs.rs/whirlpool/badge.svg)](https://docs.rs/whirlpool) | ![MSRV 1.41][msrv-1.41] | :green_heart: | -NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. +NOTE: the [`blake3`] crate implements the `digest` traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team. [Security]: https://en.wikipedia.org/wiki/Hash_function_security_summary [:exclamation:]: #crate-names @@ -39,9 +39,13 @@ NOTE: the [BLAKE3 crate](https://github.com/BLAKE3-team/BLAKE3) implements the ` ### Crate Names Whenever possible crates are published under the the same name as the crate folder. -Owners of `md5` and `sha1` declined ([1](https://github.com/stainless-steel/md5/pull/2), [2](https://github.com/mitsuhiko/rust-sha1/issues/17)) to participate in this project. -Those crates do not implement the [`digest`] traits, so they are not interoperable with the RustCrypto ecosystem. -This is why crates marked by :exclamation: are published under `md-5` and `sha-1` names, but the libraries themselves are named as `md5` and `sha1`, i.e. inside `use` statements you should use `sha1`/`md5`, not `sha_1`/`md_5`. +Owners of `md5` [declined](https://github.com/stainless-steel/md5/pull/) to participate in this project. +This crate does not implement the [`digest`] traits, so it is not interoperable with the RustCrypto ecosystem. +This is why we publish our MD5 implementation as `md-5` and mark it with the :exclamation: mark. +Note that the library itselv is named as `md5`, i.e. inside `use` statements you should use `md5`, not `md_5`. + +The SHA-1 implementation was previosuly published as `sha-1`, but migrated to `sha1` since v0.10.0. +`sha-1` will continue to recieve v0.10.x patch updates, but will be deprecated after `sha1` v0.11 release. ### Security Level Legend @@ -92,12 +96,22 @@ hasher.update(data); hasher.update("String data"); // Note that calling `finalize()` consumes hasher let hash = hasher.finalize(); -println!("Result: {:x}", hash); +println!("Binary hash: {:?}", hash); ``` In this example `hash` has type `GenericArray`, which is a generic alternative to `[u8; 32]` defined in the [`generic-array`] crate. +If you need to serialize hash value into string, you can use crates like [`base16ct`] and [`base64ct`]: +```rust +use base64ct::{Base64, Encoding}; + +let base64_hash = Base64::encode_string(&hash); +println!("Base64-encoded hash: {}", hex_hash); -Alternatively, you can use a chained approach, which is equivalent to the previous example: +let hex_hash = base16ct::lower::encode_string(&hash); +println!("Hex-encoded hash: {}", hex_hash); +``` + +Instead of calling `update`, you also can use a chained approach: ```rust use sha2::{Sha256, Digest}; @@ -106,16 +120,14 @@ let hash = Sha256::new() .chain_update(b"Hello world!") .chain_update("String data") .finalize(); -println!("Result: {:x}", hash); ``` -If a complete message is available, then you also can use the convenience [`Digest::digest`] method: +If a complete message is available, then you can use the convenience [`Digest::digest`] method: ```rust use sha2::{Sha256, Digest}; let hash = Sha256::digest(b"my message"); -println!("Result: {:x}", hash); ``` ### Hashing `Read`able Objects @@ -130,9 +142,6 @@ let mut file = fs::File::open(&path)?; let mut hasher = Sha256::new(); let n = io::copy(&mut file, &mut hasher)?; let hash = hasher.finalize(); - -println!("Bytes processed: {}", n); -println!("Hash value: {:x}", hash); ``` ### Hash-based Message Authentication Code (HMAC) @@ -176,10 +185,10 @@ fn dyn_hash(hasher: &mut dyn DynDigest, data: &[u8]) -> Box<[u8]> { let mut sha256_hasher = Sha256::default(); let mut sha512_hasher = Sha512::default(); -let res1 = dyn_hash(&mut sha256_hasher, b"foo"); -let res2 = dyn_hash(&mut sha256_hasher, b"bar"); -let res3 = dyn_hash(&mut sha512_hasher, b"foo"); -let res4 = dyn_hash(&mut sha512_hasher, b"bar"); +let hash1 = dyn_hash(&mut sha256_hasher, b"foo"); +let hash2 = dyn_hash(&mut sha256_hasher, b"bar"); +let hash3 = dyn_hash(&mut sha512_hasher, b"foo"); +let hash4 = dyn_hash(&mut sha512_hasher, b"bar"); ``` ## License @@ -215,7 +224,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`md4`]: ./md4 [`md-5`]: ./md-5 [`ripemd`]: ./ripemd -[`sha-1`]: ./sha1 +[`sha1`]: ./sha1 [`sha2`]: ./sha2 [`sha3`]: ./sha3 [`shabal`]: ./shabal @@ -227,6 +236,9 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [//]: # (footnotes) [1]: https://en.wikipedia.org/wiki/Cryptographic_hash_function +[`blake3`]: https://github.com/BLAKE3-team/BLAKE3 +[`base16ct`]: https://docs.rs/base16ct +[`base64ct`]: https://docs.rs/base64ct [`digest`]: https://docs.rs/digest [`Digest`]: https://docs.rs/digest/0.10.0/digest/trait.Digest.html [`Digest::digest`]: https://docs.rs/digest/0.10.0/digest/trait.Digest.html#tymethod.digest diff --git a/sha1/CHANGELOG.md b/sha1/CHANGELOG.md index 3e99c8436..12e08dc6d 100644 --- a/sha1/CHANGELOG.md +++ b/sha1/CHANGELOG.md @@ -5,101 +5,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 0.10.0 (2021-12-07) +## 0.10.0 (2022-01-17) ### Changed -- Update to `digest` v0.10 ([#217]) +- The crate is transferred to the RustCrypto organization. New implementation is identical to the `sha-1 v0.10.0` crate and expressed in terms of traits from the `digest` crate. ([#350]) -[#217]: https://github.com/RustCrypto/hashes/pull/217 - -## 0.9.8 (2021-08-27) -### Changed -- Bump `cpufeatures` dependency to 0.2 ([#306]) - -[#306]: https://github.com/RustCrypto/hashes/pull/306 - -## 0.9.7 (2021-07-18) -### Changed -- Make `aarch64` CPU feature detection OS-independent ([#276]) -- Bump `sha1-asm` to v0.5; support ARMv8 Crypto Extensions on Apple targets ([#289]) - -[#276]: https://github.com/RustCrypto/hashes/pull/276 -[#289]: https://github.com/RustCrypto/hashes/pull/289 - -## 0.9.6 (2021-05-11) -### Changed -- Use `cpufeatures` to detect intrinsics support on `aarch64` targets ([#268]) - -[#268]: https://github.com/RustCrypto/hashes/pull/268 - -## 0.9.5 (2021-05-05) -### Changed -- Switch from `cpuid-bool` to `cpufeatures` ([#263]) - -[#263]: https://github.com/RustCrypto/hashes/pull/263 - -## 0.9.4 (2021-02-16) -### Added -- Expose compression function under the `compress` feature flag. ([#238]) - -[#238]: https://github.com/RustCrypto/hashes/pull/238 - -## 0.9.3 (2021-02-01) -### Changed -- Use SHA1 intrinsics when `asm` feature is enabled. ([#225]) - -[#225]: https://github.com/RustCrypto/hashes/pull/225 - -## 0.9.2 (2020-11-04) -### Added -- `force-soft` feature to enforce use of software implementation. ([#203]) - -### Changed -- `cfg-if` dependency updated to v1.0. ([#197]) - -[#197]: https://github.com/RustCrypto/hashes/pull/197 -[#203]: https://github.com/RustCrypto/hashes/pull/203 - -## 0.9.1 (2020-06-24) -### Added -- x86 hardware acceleration via SHA extension instrinsics. ([#167]) - -[#167]: https://github.com/RustCrypto/hashes/pull/167 - -## 0.9.0 (2020-06-09) -### Changed -- Update to `digest` v0.9 release; MSRV 1.41+ ([#155]) -- Use new `*Dirty` traits from the `digest` crate ([#153]) -- Bump `block-buffer` to v0.8 release ([#151]) -- Rename `*result*` to `finalize` ([#148]) -- Upgrade to Rust 2018 edition ([#132]) -- Use `libc` for `aarch64` consts ([#94]) -- Allow compile-time detection of crypto on `aarch64` ([#94]) - -[#155]: https://github.com/RustCrypto/hashes/pull/155 -[#153]: https://github.com/RustCrypto/hashes/pull/153 -[#151]: https://github.com/RustCrypto/hashes/pull/151 -[#148]: https://github.com/RustCrypto/hashes/pull/148 -[#132]: https://github.com/RustCrypto/hashes/pull/132 -[#94]: https://github.com/RustCrypto/hashes/pull/94 - -## 0.8.2 (2020-01-06) - -## 0.8.1 (2018-11-14) - -## 0.8.0 (2018-10-02) - -## 0.7.0 (2017-11-15) - -## 0.4.1 (2017-06-13) - -## 0.4.0 (2017-06-12) - -## 0.3.4 (2017-06-04) - -## 0.3.3 (2017-05-09) - -## 0.3.2 (2017-05-02) - -## 0.3.1 (2017-04-18) - -## 0.3.0 (2017-04-06) +[#350]: https://github.com/RustCrypto/hashes/pull/350 diff --git a/sha1/Cargo.toml b/sha1/Cargo.toml index 3c8c14624..0ed7c60f1 100644 --- a/sha1/Cargo.toml +++ b/sha1/Cargo.toml @@ -1,19 +1,17 @@ [package] -name = "sha-1" +name = "sha1" version = "0.10.0" # Also update html_root_url in lib.rs when bumping this +# on v0.10.x releases also release the sha-1 crate as well description = "SHA-1 hash function" authors = ["RustCrypto Developers"] license = "MIT OR Apache-2.0" readme = "README.md" edition = "2018" -documentation = "https://docs.rs/sha-1" +documentation = "https://docs.rs/sha1" repository = "https://github.com/RustCrypto/hashes" keywords = ["crypto", "sha1", "hash", "digest"] categories = ["cryptography", "no-std"] -[lib] -name = "sha1" - [dependencies] digest = "0.10" cfg-if = "1.0" diff --git a/sha1/src/lib.rs b/sha1/src/lib.rs index 134108e77..96b1c8a90 100644 --- a/sha1/src/lib.rs +++ b/sha1/src/lib.rs @@ -29,16 +29,23 @@ //! //! Also see [RustCrypto/hashes][3] readme. //! +//! # Note for users of `sha1 v0.6` +//! +//! This crate has been transferred to the RustCrypto organization and uses +//! implementation previously published as the `sha-1` crate. The previous +//! zero dependencies version is now published as the [`sha1_smoll`] crate. +//! //! [1]: https://en.wikipedia.org/wiki/SHA-1 //! [2]: https://sha-mbles.github.io/ //! [3]: https://github.com/RustCrypto/hashes +//! [`sha1_smoll`]: https://github.com/mitsuhiko/sha1-smol/ #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] #![doc( html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", - html_root_url = "https://docs.rs/sha-1/0.10.0" + html_root_url = "https://docs.rs/sha1/0.10.0" )] #![warn(missing_docs, rust_2018_idioms)] From 5c108dacf25d7abc328a99a41c67fdbebd881113 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Fri, 4 Feb 2022 23:28:25 +0000 Subject: [PATCH 195/373] Fix md5 link in readme (#358) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f647bab9c..9e481311b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Additionally all crates do not require the standard library (i.e. `no_std` capab | [KangarooTwelve] | [`k12`] | [![crates.io](https://img.shields.io/crates/v/k12.svg)](https://crates.io/crates/k12) | [![Documentation](https://docs.rs/k12/badge.svg)](https://docs.rs/k12) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [MD2] | [`md2`] | [![crates.io](https://img.shields.io/crates/v/md2.svg)](https://crates.io/crates/md2) | [![Documentation](https://docs.rs/md2/badge.svg)](https://docs.rs/md2) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [MD4] | [`md4`] | [![crates.io](https://img.shields.io/crates/v/md4.svg)](https://crates.io/crates/md4) | [![Documentation](https://docs.rs/md4/badge.svg)](https://docs.rs/md4) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | -| [MD5] | [`md-5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | +| [MD5] | [`md5`] [:exclamation:] | [![crates.io](https://img.shields.io/crates/v/md-5.svg)](https://crates.io/crates/md-5) | [![Documentation](https://docs.rs/md-5/badge.svg)](https://docs.rs/md-5) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [RIPEMD] | [`ripemd`] | [![crates.io](https://img.shields.io/crates/v/ripemd.svg)](https://crates.io/crates/ripemd) | [![Documentation](https://docs.rs/ripemd/badge.svg)](https://docs.rs/ripemd) | ![MSRV 1.41][msrv-1.41] | :green_heart: | | [SHA-1] | [`sha1`] | [![crates.io](https://img.shields.io/crates/v/sha1.svg)](https://crates.io/crates/sha1) | [![Documentation](https://docs.rs/sha1/badge.svg)](https://docs.rs/sha1) | ![MSRV 1.41][msrv-1.41] | :broken_heart: | | [SHA-2] | [`sha2`] | [![crates.io](https://img.shields.io/crates/v/sha2.svg)](https://crates.io/crates/sha2) | [![Documentation](https://docs.rs/sha2/badge.svg)](https://docs.rs/sha2) | ![MSRV 1.41][msrv-1.41] | :green_heart: | @@ -222,7 +222,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted [`k12`]: ./k12 [`md2`]: ./md2 [`md4`]: ./md4 -[`md-5`]: ./md-5 +[`md5`]: ./md5 [`ripemd`]: ./ripemd [`sha1`]: ./sha1 [`sha2`]: ./sha2 From 08c995c316b23066ea5f03f7a10859f865de412e Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Thu, 10 Feb 2022 07:43:03 +0000 Subject: [PATCH 196/373] Reduce amount of unsafe and use new imports (#351) --- .github/actions/cross-tests/action.yml | 11 +++++----- .github/workflows/sha1.yml | 3 +-- .github/workflows/sha2.yml | 3 +-- .github/workflows/sha3.yml | 3 +-- Cargo.lock | 17 +++++++-------- blake2/Cargo.toml | 4 ++-- blake2/src/lib.rs | 6 ++---- fsb/Cargo.toml | 4 ++-- fsb/src/lib.rs | 3 ++- fsb/src/macros.rs | 20 +++++------------- gost94/Cargo.toml | 4 ++-- gost94/src/gost94_core.rs | 10 ++++----- gost94/src/lib.rs | 1 + groestl/Cargo.toml | 4 ++-- groestl/src/compress1024.rs | 3 +-- groestl/src/compress512.rs | 3 +-- groestl/src/lib.rs | 16 ++++++++------ md2/src/lib.rs | 2 +- md4/Cargo.toml | 4 ++-- md4/src/lib.rs | 4 ++-- md5/Cargo.toml | 4 ++-- md5/src/lib.rs | 2 +- ripemd/Cargo.toml | 4 ++-- ripemd/src/c160.rs | 3 +-- ripemd/src/c256.rs | 3 +-- ripemd/src/c320.rs | 3 +-- ripemd/src/lib.rs | 8 +++---- sha1/Cargo.toml | 4 ++-- sha1/src/compress.rs | 3 +-- sha1/src/compress/x86.rs | 1 - sha1/src/lib.rs | 2 +- sha2/Cargo.toml | 4 ++-- sha2/src/core_api.rs | 2 +- sha2/src/sha256.rs | 2 +- sha2/src/sha512.rs | 2 +- shabal/Cargo.toml | 2 +- shabal/src/lib.rs | 2 +- sm3/Cargo.toml | 4 ++-- sm3/src/lib.rs | 4 ++-- streebog/Cargo.toml | 4 ++-- streebog/src/core_api.rs | 7 +++---- streebog/src/lib.rs | 1 + tiger/Cargo.toml | 4 ++-- tiger/src/compress.rs | 29 ++++++++++++-------------- tiger/src/lib.rs | 18 +++++++++------- whirlpool/Cargo.toml | 4 ++-- whirlpool/src/lib.rs | 6 +++--- 47 files changed, 120 insertions(+), 137 deletions(-) diff --git a/.github/actions/cross-tests/action.yml b/.github/actions/cross-tests/action.yml index 0f81b0404..cc63225db 100644 --- a/.github/actions/cross-tests/action.yml +++ b/.github/actions/cross-tests/action.yml @@ -22,14 +22,15 @@ runs: override: true - name: Install precompiled cross run: | - export URL=$(curl -s https://api.github.com/repos/rust-embedded/cross/releases/latest | \ + export URL=$(curl -s https://api.github.com/repos/cross-rs/cross/releases/latest | \ jq -r '.assets[] | select(.name | contains("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') wget -O /tmp/binaries.tar.gz $URL tar -C /tmp -xzf /tmp/binaries.tar.gz mv /tmp/cross ~/.cargo/bin shell: bash - - run: | - cd ${{ inputs.package }} - cross test --target ${{ inputs.target }} --no-default-features \ - --features ${{ inputs.features }} + - run: cross test + --package ${{ inputs.package }} + --target ${{ inputs.target }} + --no-default-features + --features ${{ inputs.features }} shell: bash diff --git a/.github/workflows/sha1.yml b/.github/workflows/sha1.yml index 6efb8e4e7..e2852cf0a 100644 --- a/.github/workflows/sha1.yml +++ b/.github/workflows/sha1.yml @@ -137,11 +137,10 @@ jobs: # Cross-compiled tests cross: - needs: set-msrv strategy: matrix: rust: - - ${{needs.set-msrv.outputs.msrv}} + - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/sha2.yml b/.github/workflows/sha2.yml index b8b78796e..5e727dcd9 100644 --- a/.github/workflows/sha2.yml +++ b/.github/workflows/sha2.yml @@ -134,11 +134,10 @@ jobs: # Cross-compiled tests cross: - needs: set-msrv strategy: matrix: rust: - - ${{needs.set-msrv.outputs.msrv}} + - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/.github/workflows/sha3.yml b/.github/workflows/sha3.yml index b90b5d953..ce17381c4 100644 --- a/.github/workflows/sha3.yml +++ b/.github/workflows/sha3.yml @@ -71,11 +71,10 @@ jobs: # Cross-compiled tests cross: - needs: set-msrv strategy: matrix: rust: - - ${{needs.set-msrv.outputs.msrv}} + - 1.51 # 1.41-1.50 `--features` can't be used inside virtual manifest - stable target: - aarch64-unknown-linux-gnu diff --git a/Cargo.lock b/Cargo.lock index 67e37fead..cad8d0443 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,9 +18,9 @@ checksum = "847495c209977a90e8aad588b959d0ca9f5dc228096d29a6bd3defd53f35eaec" [[package]] name = "block-buffer" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" dependencies = [ "generic-array", ] @@ -48,23 +48,22 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" +checksum = "a4600d695eb3f6ce1cd44e6e291adceb2cc3ab12f20a33777ecd0bf6eba34e06" dependencies = [ "generic-array", ] [[package]] name = "digest" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +checksum = "8cb780dce4f9a8f5c087362b3a4595936b2019e7c8b30f2c3e9a7e94e6ae9837" dependencies = [ "blobby", "block-buffer", "crypto-common", - "generic-array", "subtle", ] @@ -138,9 +137,9 @@ checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" [[package]] name = "libc" -version = "0.2.112" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" +checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" [[package]] name = "md-5" diff --git a/blake2/Cargo.toml b/blake2/Cargo.toml index a49b7a54d..d3ca3c28e 100644 --- a/blake2/Cargo.toml +++ b/blake2/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "blake2", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = { version = "0.10", features = ["mac"] } +digest = { version = "0.10.2", features = ["mac"] } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/blake2/src/lib.rs b/blake2/src/lib.rs index e92bc5cea..feebeb2a4 100644 --- a/blake2/src/lib.rs +++ b/blake2/src/lib.rs @@ -94,10 +94,8 @@ use digest::{ VariableOutputCore, }, crypto_common::{InvalidLength, Key, KeyInit, KeySizeUser}, - generic_array::{ - typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned}, - ArrayLength, GenericArray, - }, + generic_array::{ArrayLength, GenericArray}, + typenum::{IsLessOrEqual, LeEq, NonZero, Unsigned}, FixedOutput, HashMarker, InvalidOutputSize, MacMarker, Output, Update, }; #[cfg(feature = "reset")] diff --git a/fsb/Cargo.toml b/fsb/Cargo.toml index 96ffe6042..2f29bdea9 100644 --- a/fsb/Cargo.toml +++ b/fsb/Cargo.toml @@ -11,11 +11,11 @@ keywords = ["crypto", "fsb", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" whirlpool = { version = "0.10", path = "../whirlpool", default-features = false } [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/fsb/src/lib.rs b/fsb/src/lib.rs index 619f2df0d..292c32e69 100644 --- a/fsb/src/lib.rs +++ b/fsb/src/lib.rs @@ -43,6 +43,7 @@ html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/6ee8e381/logo.svg", html_root_url = "https://docs.rs/fsb/0.1.0" )] +#![forbid(unsafe_code)] #![warn(missing_docs, rust_2018_idioms)] #![allow(non_snake_case)] @@ -61,7 +62,7 @@ use digest::{ AlgorithmName, Block, BlockSizeUser, Buffer, BufferKindUser, CoreWrapper, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::{typenum::Unsigned, GenericArray}, + typenum::Unsigned, HashMarker, Output, }; diff --git a/fsb/src/macros.rs b/fsb/src/macros.rs index 620cb6d2b..8b1e31a8f 100644 --- a/fsb/src/macros.rs +++ b/fsb/src/macros.rs @@ -31,7 +31,7 @@ macro_rules! fsb_impl { fn update_blocks(&mut self, blocks: &[Block]) { self.blocks_len += blocks.len() as u64; for block in blocks { - Self::compress(&mut self.state, Self::convert(block)); + Self::compress(&mut self.state, block); } } } @@ -42,7 +42,7 @@ macro_rules! fsb_impl { let block_bytes = self.blocks_len * Self::BlockSize::U64; let bit_len = 8 * (block_bytes + buffer.get_pos() as u64); let mut h = self.state; - buffer.len64_padding_be(bit_len, |b| Self::compress(&mut h, Self::convert(b))); + buffer.len64_padding_be(bit_len, |b| Self::compress(&mut h, b)); let res = whirlpool::Whirlpool::digest(&h[..]); let n = out.len(); @@ -111,7 +111,7 @@ macro_rules! fsb_impl { /// $W_i = i \times (n / w) + IV_i + M_i \times 2^{r / w}. fn computing_w_indices( input_vector: &[u8; Self::SIZE_OUTPUT_COMPRESS], - message: &[u8; Self::SIZE_MSG_CHUNKS], + message: &Block, ) -> [u32; $w] { let mut wind: [u32; $w] = [0; $w]; let divided_message: [u8; $w] = Self::dividing_bits(message, ($s - $r) / $w); @@ -129,10 +129,7 @@ macro_rules! fsb_impl { /// This function servers the purpose presented in table 3, of breaking a bit array into /// batches of size not multiple of 8. Note that the IV will be broken always in size 8, which /// is quite convenient. Also, the only numbers we'll have to worry for are 5 and 6. - fn dividing_bits( - input_bits: &[u8; Self::SIZE_MSG_CHUNKS], - size_batches: usize, - ) -> [u8; $w] { + fn dividing_bits(input_bits: &Block, size_batches: usize) -> [u8; $w] { if size_batches != 5usize && size_batches != 6usize { panic!( "Expecting batches of size 5 or 6. Other values do not follow \ @@ -164,10 +161,7 @@ macro_rules! fsb_impl { } /// This function outputs r bits, which are used to chain to the next iteration. - fn compress( - hash: &mut [u8; Self::SIZE_OUTPUT_COMPRESS], - message_block: &[u8; Self::SIZE_MSG_CHUNKS], - ) { + fn compress(hash: &mut [u8; Self::SIZE_OUTPUT_COMPRESS], message_block: &Block) { let mut initial_vector = [0u8; Self::SIZE_OUTPUT_COMPRESS]; let w_indices = Self::computing_w_indices(hash, message_block); @@ -284,10 +278,6 @@ macro_rules! fsb_impl { } truncated } - - fn convert(block: &GenericArray) -> &[u8; Self::SIZE_MSG_CHUNKS] { - unsafe { &*(block.as_ptr() as *const [u8; Self::SIZE_MSG_CHUNKS]) } - } } }; } diff --git a/gost94/Cargo.toml b/gost94/Cargo.toml index 057e92a04..839478cc9 100644 --- a/gost94/Cargo.toml +++ b/gost94/Cargo.toml @@ -12,10 +12,10 @@ keywords = ["crypto", "gost94", "gost", "hash", "digest"] categories = ["cryptography", "no-std"] [dependencies] -digest = "0.10" +digest = "0.10.2" [dev-dependencies] -digest = { version = "0.10", features = ["dev"] } +digest = { version = "0.10.2", features = ["dev"] } hex-literal = "0.2" [features] diff --git a/gost94/src/gost94_core.rs b/gost94/src/gost94_core.rs index 569789a0b..825abf610 100644 --- a/gost94/src/gost94_core.rs +++ b/gost94/src/gost94_core.rs @@ -2,12 +2,11 @@ use core::{convert::TryInto, fmt}; use digest::{ block_buffer::Eager, - consts::U32, core_api::{ AlgorithmName, Block as TBlock, BlockSizeUser, Buffer, BufferKindUser, FixedOutputCore, OutputSizeUser, Reset, UpdateCore, }, - generic_array::{typenum::Unsigned, GenericArray}, + typenum::{Unsigned, U32}, HashMarker, Output, }; @@ -191,8 +190,7 @@ impl Gost94Core